From 77fdcd0b3484f2d071d3a3e41e44ad59d2e1c935 Mon Sep 17 00:00:00 2001 From: glosier Date: Mon, 28 Dec 2020 08:50:18 -0800 Subject: [PATCH] get that bundle --- bundles/redoc.lib.js | 8 ++++---- bundles/redoc.lib.js.map | 2 +- bundles/redoc.standalone.js | 4 ++-- bundles/redoc.standalone.js.map | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/bundles/redoc.lib.js b/bundles/redoc.lib.js index 85d54503..170019a5 100644 --- a/bundles/redoc.lib.js +++ b/bundles/redoc.lib.js @@ -7686,7 +7686,7 @@ var ErrorBoundary_ErrorBoundary = /** @class */ (function (_super) { external_react_["createElement"]("br", null), external_react_["createElement"]("small", null, " Commit: ", - "7d4eba52")); + "35783e91")); } return external_react_["Children"].only(this.props.children); }; @@ -11086,7 +11086,7 @@ var PropertyNameCell = styled_components(PropertyCell)(fields_layout_templateObj var kind = _a.kind; return kind !== 'field' ? 'font-style: italic' : ''; }, extensionsHook('PropertyNameCell')); -var PropertyDetailsCell = styled_components.td(fields_layout_templateObject_7 || (fields_layout_templateObject_7 = Object(external_tslib_["__makeTemplateObject"])(["\n border-bottom: none;\n padding: 10px 0;\n width: ", ";\n box-sizing: border-box;\n\n tr.expanded & {\n border-bottom: none;\n }\n\n ", "\n\n ", ";\n"], ["\n border-bottom: none;\n padding: 10px 0;\n width: ", ";\n box-sizing: border-box;\n\n tr.expanded & {\n border-bottom: none;\n }\n\n ", +var PropertyDetailsCell = styled_components.td(fields_layout_templateObject_7 || (fields_layout_templateObject_7 = Object(external_tslib_["__makeTemplateObject"])(["\n border-bottom: 1px solid #9fb4be;\n padding: 10px 0;\n width: ", ";\n box-sizing: border-box;\n\n tr.expanded & {\n border-bottom: none;\n }\n\n ", "\n\n ", ";\n"], ["\n border-bottom: 1px solid #9fb4be;\n padding: 10px 0;\n width: ", ";\n box-sizing: border-box;\n\n tr.expanded & {\n border-bottom: none;\n }\n\n ", "\n\n ", ";\n"])), function (props) { return props.theme.schema.defaultDetailsWidth; }, media.lessThan('small')(fields_layout_templateObject_6 || (fields_layout_templateObject_6 = Object(external_tslib_["__makeTemplateObject"])(["\n padding: 0 20px;\n border-bottom: none;\n border-left: 1px solid ", ";\n\n tr.last > & {\n border-left: none;\n }\n "], ["\n padding: 0 20px;\n border-bottom: none;\n border-left: 1px solid ", ";\n\n tr.last > & {\n border-left: none;\n }\n "])), function (props) { return props.theme.schema.linesColor; }), extensionsHook('PropertyDetailsCell')); var PropertyBullet = styled_components.span(fields_layout_templateObject_8 || (fields_layout_templateObject_8 = Object(external_tslib_["__makeTemplateObject"])(["\n color: ", ";\n font-family: ", ";\n margin-right: 10px;\n\n &::before {\n content: '';\n display: inline-block;\n vertical-align: middle;\n width: 10px;\n height: 1px;\n background: ", ";\n }\n\n &::after {\n content: '';\n display: inline-block;\n vertical-align: middle;\n width: 1px;\n background: ", ";\n height: 7px;\n }\n"], ["\n color: ", ";\n font-family: ", ";\n margin-right: 10px;\n\n &::before {\n content: '';\n display: inline-block;\n vertical-align: middle;\n width: 10px;\n height: 1px;\n background: ", ";\n }\n\n &::after {\n content: '';\n display: inline-block;\n vertical-align: middle;\n width: 1px;\n background: ", ";\n height: 7px;\n }\n"])), function (props) { return props.theme.schema.linesColor; }, function (props) { return props.theme.typography.code.fontFamily; }, function (props) { return props.theme.schema.linesColor; }, function (props) { return props.theme.schema.linesColor; }); var InnerPropertiesWrap = styled_components.div(fields_layout_templateObject_9 || (fields_layout_templateObject_9 = Object(external_tslib_["__makeTemplateObject"])(["\n padding: ", ";\n"], ["\n padding: ", @@ -12772,7 +12772,7 @@ var SecuritySchemes_SecurityDefs = /** @class */ (function (_super) { return _super !== null && _super.apply(this, arguments) || this; } SecurityDefs.prototype.render = function () { - return this.props.securitySchemes.schemes.map(function (scheme) { return external_react_["createElement"](Section, { id: scheme.sectionId, key: scheme.id }, + return this.props.securitySchemes.schemes.map(function (scheme) { return external_react_["createElement"](Section, { id: scheme.sectionId, key: scheme.id, className: 'auth' }, external_react_["createElement"](Row, null, external_react_["createElement"](MiddlePanel, null, external_react_["createElement"](H2, null, @@ -14028,7 +14028,7 @@ var RequestSamples_RequestSamples = /** @class */ (function (_super) { return hasSamples && external_react_["createElement"]("div", null, external_react_["createElement"](RightPanelHeader, null, " Request samples "), external_react_["createElement"](Tabs, { defaultIndex: 0 }, - external_react_["createElement"](external_react_tabs_["TabList"], { hidden: hideTabList }, samples.map(function (sample) { return external_react_["createElement"](external_react_tabs_["Tab"], { key: sample.lang + '_' + (sample.label || '') }, sample.label !== undefined ? sample.label : sample.lang); })), + external_react_["createElement"](external_react_tabs_["TabList"], { hidden: hideTabList }, samples.map(function (sample) { return external_react_["createElement"](external_react_tabs_["Tab"], { className: "exampleButton", key: sample.lang + '_' + (sample.label || '') }, sample.label !== undefined ? sample.label : sample.lang === 'Shell + Curl' ? sample.lang.slice(8) : sample.lang === 'Node + Native' ? sample.lang.slice(0, 4) : sample.lang === 'Go + Native' ? sample.lang.slice(0, 2) : sample.lang === 'Ruby + Native' ? sample.lang.slice(0, 4) : sample.lang === 'Python + Python3' ? sample.lang.slice(9) : sample.lang === 'Javascript + Jquery' ? sample.lang.slice(0, 10) : sample.lang); })), samples.map(function (sample) { return external_react_["createElement"](external_react_tabs_["TabPanel"], { key: sample.lang + '_' + (sample.label || '') }, isPayloadSample(sample) ? external_react_["createElement"]("div", null, external_react_["createElement"](PayloadSamples_PayloadSamples, { content: sample.requestBodyContent })) : external_react_["createElement"](SourceCode_SourceCodeWithCopy, { lang: sample.lang, source: sample.source })); }))) || null; }; diff --git a/bundles/redoc.lib.js.map b/bundles/redoc.lib.js.map index 66eea4c1..a8b7cbab 100644 --- a/bundles/redoc.lib.js.map +++ b/bundles/redoc.lib.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://Redoc/webpack/universalModuleDefinition","webpack://Redoc/webpack/bootstrap","webpack://Redoc/external \"react\"","webpack://Redoc/external \"tslib\"","webpack://Redoc/external \"polished\"","webpack://Redoc/external \"mobx-react\"","webpack://Redoc/external \"mobx\"","webpack://Redoc/external \"url\"","webpack://Redoc/external \"json-pointer\"","webpack://Redoc/external \"lunr\"","webpack://Redoc/external \"decko\"","webpack://Redoc/external \"react-tabs\"","webpack://Redoc/external \"prismjs\"","webpack://Redoc/(webpack)/buildin/global.js","webpack://Redoc/./node_modules/path-browserify/index.js","webpack://Redoc/external \"prop-types\"","webpack://Redoc/external \"marked\"","webpack://Redoc/./node_modules/process/browser.js","webpack://Redoc/external \"undefined\"","webpack://Redoc/./node_modules/reftools/lib/jptr.js","webpack://Redoc/./node_modules/reftools/lib/clone.js","webpack://Redoc/external \"eventemitter3\"","webpack://Redoc/external \"url-template\"","webpack://Redoc/./node_modules/reftools/lib/isref.js","webpack://Redoc/./node_modules/reftools/lib/recurse.js","webpack://Redoc/external \"mark.js\"","webpack://Redoc/external \"openapi-sampler\"","webpack://Redoc/external \"perfect-scrollbar\"","webpack://Redoc/./node_modules/perfect-scrollbar/css/perfect-scrollbar.css","webpack://Redoc/./node_modules/oas-kit-common/index.js","webpack://Redoc/./node_modules/buffer/index.js","webpack://Redoc/./node_modules/stream-http/lib/capability.js","webpack://Redoc/external \"inherits\"","webpack://Redoc/./node_modules/stream-http/lib/response.js","webpack://Redoc/external \"readable-stream\"","webpack://Redoc/./src/services/SearchWorker.worker.ts","webpack://Redoc/external \"slugify\"","webpack://Redoc/external \"styled-components\"","webpack://Redoc/external \"json-schema-ref-parser\"","webpack://Redoc/./node_modules/swagger2openapi/index.js","webpack://Redoc/./node_modules/memoize-one/dist/memoize-one.cjs.js","webpack://Redoc/external \"@redocly/react-dropdown-aria\"","webpack://Redoc/external \"dompurify\"","webpack://Redoc/external \"classnames\"","webpack://Redoc/external \"call-me-maybe\"","webpack://Redoc/./node_modules/oas-resolver/index.js","webpack://Redoc/./node_modules/reftools/lib/dereference.js","webpack://Redoc/external \"fast-safe-stringify\"","webpack://Redoc/./node_modules/oas-schema-walker/index.js","webpack://Redoc/./node_modules/swagger2openapi/lib/statusCodes.js","webpack://Redoc/./node_modules/stream-http/index.js","webpack://Redoc/./node_modules/stream-http/lib/request.js","webpack://Redoc/external \"base64-js\"","webpack://Redoc/external \"ieee754\"","webpack://Redoc/external \"isarray\"","webpack://Redoc/external \"to-arraybuffer\"","webpack://Redoc/external \"xtend\"","webpack://Redoc/external \"builtin-status-codes\"","webpack://Redoc/external \"prismjs/components/prism-bash.js\"","webpack://Redoc/external \"prismjs/components/prism-c.js\"","webpack://Redoc/external \"prismjs/components/prism-clike.js\"","webpack://Redoc/external \"prismjs/components/prism-coffeescript.js\"","webpack://Redoc/external \"prismjs/components/prism-cpp.js\"","webpack://Redoc/external \"prismjs/components/prism-csharp.js\"","webpack://Redoc/external \"prismjs/components/prism-go.js\"","webpack://Redoc/external \"prismjs/components/prism-http.js\"","webpack://Redoc/external \"prismjs/components/prism-java.js\"","webpack://Redoc/external \"prismjs/components/prism-lua.js\"","webpack://Redoc/external \"prismjs/components/prism-markup-templating.js\"","webpack://Redoc/external \"prismjs/components/prism-markup.js\"","webpack://Redoc/external \"prismjs/components/prism-objectivec.js\"","webpack://Redoc/external \"prismjs/components/prism-perl.js\"","webpack://Redoc/external \"prismjs/components/prism-php.js\"","webpack://Redoc/external \"prismjs/components/prism-python.js\"","webpack://Redoc/external \"prismjs/components/prism-ruby.js\"","webpack://Redoc/external \"prismjs/components/prism-scala.js\"","webpack://Redoc/external \"prismjs/components/prism-sql.js\"","webpack://Redoc/external \"prismjs/components/prism-swift.js\"","webpack://Redoc/./src/services/SearchWorker.worker.ts?2393","webpack://Redoc/./node_modules/workerize-loader/src/rpc-wrapper.js","webpack://Redoc/external \"core-js/es/promise\"","webpack://Redoc/./node_modules/css-loader/dist/runtime/api.js","webpack://Redoc/external \"stickyfill\"","webpack://Redoc/./src/theme.ts","webpack://Redoc/./src/utils/dom.ts","webpack://Redoc/./src/utils/helpers.ts","webpack://Redoc/./src/services/Labels.ts","webpack://Redoc/./src/services/RedocNormalizedOptions.ts","webpack://Redoc/./src/styled-components.ts","webpack://Redoc/./src/components/ErrorBoundary.tsx","webpack://Redoc/./src/components/Loading/Spinner.svg.tsx","webpack://Redoc/./src/components/Loading/Loading.tsx","webpack://Redoc/./src/components/OptionsProvider.ts","webpack://Redoc/./src/utils/loadAndBundleSpec.ts","webpack://Redoc/./src/utils/JsonPointer.ts","webpack://Redoc/./src/utils/openapi.ts","webpack://Redoc/./src/utils/highlight.ts","webpack://Redoc/./src/utils/decorators.ts","webpack://Redoc/./src/utils/debug.ts","webpack://Redoc/./src/utils/memoize.ts","webpack://Redoc/./src/utils/index.ts","webpack://Redoc/./src/services/HistoryService.ts","webpack://Redoc/./src/services/MarkerService.ts","webpack://Redoc/./src/services/MarkdownRenderer.ts","webpack://Redoc/./src/services/models/ApiInfo.ts","webpack://Redoc/./src/services/models/SecurityRequirement.ts","webpack://Redoc/./src/services/models/Callback.ts","webpack://Redoc/./src/services/models/Schema.ts","webpack://Redoc/./src/services/models/Example.ts","webpack://Redoc/./src/services/models/Field.ts","webpack://Redoc/./src/services/models/MediaType.ts","webpack://Redoc/./src/services/models/MediaContent.ts","webpack://Redoc/./src/services/models/RequestBody.ts","webpack://Redoc/./src/services/models/Response.ts","webpack://Redoc/./src/services/models/Operation.ts","webpack://Redoc/./src/services/models/Webhook.ts","webpack://Redoc/./src/services/models/SecuritySchemes.ts","webpack://Redoc/./src/services/OpenAPIParser.ts","webpack://Redoc/./src/services/SpecStore.ts","webpack://Redoc/./src/services/models/Group.model.ts","webpack://Redoc/./src/services/models/index.ts","webpack://Redoc/./src/services/MenuBuilder.ts","webpack://Redoc/./src/services/MenuStore.ts","webpack://Redoc/./src/services/ScrollService.ts","webpack://Redoc/./src/services/SearchStore.ts","webpack://Redoc/./src/common-elements/panels.ts","webpack://Redoc/./src/common-elements/headers.ts","webpack://Redoc/./src/components/StoreBuilder.ts","webpack://Redoc/./src/common-elements/linkify.tsx","webpack://Redoc/./src/common-elements/shelfs.tsx","webpack://Redoc/./src/common-elements/mixins.ts","webpack://Redoc/./src/common-elements/fields-layout.ts","webpack://Redoc/./src/common-elements/schema.ts","webpack://Redoc/./src/common-elements/dropdown.ts","webpack://Redoc/./src/common-elements/tabs.ts","webpack://Redoc/./src/common-elements/PrismDiv.tsx","webpack://Redoc/./src/common-elements/samples.tsx","webpack://Redoc/./src/common-elements/perfect-scrollbar.tsx","webpack://Redoc/./src/common-elements/index.ts","webpack://Redoc/./src/components/DropdownOrLabel/DropdownOrLabel.tsx","webpack://Redoc/./src/components/Markdown/styled.elements.tsx","webpack://Redoc/./src/components/Markdown/SanitizedMdBlock.tsx","webpack://Redoc/./src/components/Markdown/Markdown.tsx","webpack://Redoc/./src/common-elements/Tooltip.tsx","webpack://Redoc/./src/services/ClipboardService.ts","webpack://Redoc/./src/common-elements/CopyButtonWrapper.tsx","webpack://Redoc/./src/utils/jsonToHtml.ts","webpack://Redoc/./src/components/JsonViewer/style.ts","webpack://Redoc/./src/components/JsonViewer/JsonViewer.tsx","webpack://Redoc/./src/components/SourceCode/SourceCode.tsx","webpack://Redoc/./src/components/PayloadSamples/ExampleValue.tsx","webpack://Redoc/./src/components/PayloadSamples/exernalExampleHook.ts","webpack://Redoc/./src/components/PayloadSamples/Example.tsx","webpack://Redoc/./src/components/PayloadSamples/styled.elements.ts","webpack://Redoc/./src/components/PayloadSamples/MediaTypeSamples.tsx","webpack://Redoc/./src/common-elements/fields.ts","webpack://Redoc/./src/components/ExternalDocumentation/ExternalDocumentation.tsx","webpack://Redoc/./src/components/Fields/EnumValues.tsx","webpack://Redoc/./src/components/Fields/Extensions.tsx","webpack://Redoc/./src/components/Fields/FieldContstraints.tsx","webpack://Redoc/./src/components/Fields/FieldDetail.tsx","webpack://Redoc/./src/components/Fields/FieldDetails.tsx","webpack://Redoc/./src/components/Schema/ArraySchema.tsx","webpack://Redoc/./src/components/Fields/Field.tsx","webpack://Redoc/./src/components/Schema/DiscriminatorDropdown.tsx","webpack://Redoc/./src/components/Schema/ObjectSchema.tsx","webpack://Redoc/./src/components/Schema/OneOfSchema.tsx","webpack://Redoc/./src/components/Schema/Schema.tsx","webpack://Redoc/./src/components/Schema/index.ts","webpack://Redoc/./src/components/SchemaDefinition/SchemaDefinition.tsx","webpack://Redoc/./src/components/SecuritySchemes/SecuritySchemes.tsx","webpack://Redoc/./src/services/AppStore.ts","webpack://Redoc/./src/services/index.ts","webpack://Redoc/./src/components/ApiInfo/styled.elements.ts","webpack://Redoc/./src/components/ApiInfo/ApiInfo.tsx","webpack://Redoc/./src/components/ApiInfo/index.ts","webpack://Redoc/./src/components/ApiLogo/styled.elements.tsx","webpack://Redoc/./src/components/ApiLogo/ApiLogo.tsx","webpack://Redoc/./src/components/Markdown/AdvancedMarkdown.tsx","webpack://Redoc/./src/components/SideMenu/styled.elements.ts","webpack://Redoc/./src/components/Callbacks/CallbackTitle.tsx","webpack://Redoc/./src/components/Callbacks/styled.elements.ts","webpack://Redoc/./src/components/SelectOnClick/SelectOnClick.tsx","webpack://Redoc/./src/components/Endpoint/styled.elements.ts","webpack://Redoc/./src/components/Endpoint/Endpoint.tsx","webpack://Redoc/./src/components/Parameters/ParametersGroup.tsx","webpack://Redoc/./src/components/MediaTypeSwitch/MediaTypesSwitch.tsx","webpack://Redoc/./src/components/Parameters/Parameters.tsx","webpack://Redoc/./src/components/Responses/ResponseTitle.tsx","webpack://Redoc/./src/components/Responses/styled.elements.ts","webpack://Redoc/./src/components/Responses/ResponseHeaders.tsx","webpack://Redoc/./src/components/Responses/ResponseDetails.tsx","webpack://Redoc/./src/components/Responses/Response.tsx","webpack://Redoc/./src/components/Responses/ResponsesList.tsx","webpack://Redoc/./src/components/SecurityRequirement/SecurityRequirement.tsx","webpack://Redoc/./src/components/Callbacks/CallbackDetails.tsx","webpack://Redoc/./src/components/Callbacks/CallbackOperation.tsx","webpack://Redoc/./src/components/Callbacks/CallbacksList.tsx","webpack://Redoc/./src/components/Callbacks/index.ts","webpack://Redoc/./src/components/GenericChildrenSwitcher/GenericChildrenSwitcher.tsx","webpack://Redoc/./src/components/PayloadSamples/PayloadSamples.tsx","webpack://Redoc/./src/components/CallbackSamples/CallbackReqSamples.tsx","webpack://Redoc/./src/components/CallbackSamples/CallbackSamples.tsx","webpack://Redoc/./src/components/RequestSamples/RequestSamples.tsx","webpack://Redoc/./src/components/ResponseSamples/ResponseSamples.tsx","webpack://Redoc/./src/components/Operation/Operation.tsx","webpack://Redoc/./src/components/ContentItems/ContentItems.tsx","webpack://Redoc/./src/components/SideMenu/MenuItem.tsx","webpack://Redoc/./src/components/SideMenu/MenuItems.tsx","webpack://Redoc/./src/components/SideMenu/SideMenu.tsx","webpack://Redoc/./src/components/StickySidebar/ChevronSvg.tsx","webpack://Redoc/./src/components/StickySidebar/StickyResponsiveSidebar.tsx","webpack://Redoc/./src/components/Redoc/styled.elements.tsx","webpack://Redoc/./src/components/SearchBox/styled.elements.tsx","webpack://Redoc/./src/components/SearchBox/SearchBox.tsx","webpack://Redoc/./src/components/Redoc/Redoc.tsx","webpack://Redoc/./src/components/RedocStandalone.tsx","webpack://Redoc/./src/components/JsonViewer/index.tsx","webpack://Redoc/./src/components/SideMenu/index.ts","webpack://Redoc/./src/components/index.ts","webpack://Redoc/./src/index.ts"],"names":["addMethods","worker","methods","c","callbacks","addEventListener","e","d","data","type","id","f","error","Object","assign","Error","message","result","evt","document","createEvent","initEvent","method","params","dispatchEvent","forEach","Promise","a","b","postMessage"],"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,kC;;;;;;ACAA,kC;;;;;;ACAA,qC;;;;;;ACAA,uC;;;;;;ACAA,iC;;;;;;ACAA,gC;;;;;;ACAA,yC;;;;;;ACAA,iC;;;;;;ACAA,kC;;;;;;ACAA,uC;;;;;;ACAA,oC;;;;;;ACAA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;ACnBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,QAAQ;AACxC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,MAAM;AAChB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,oCAAoC,8BAA8B;AAClE;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,oBAAoB;AAC9B;AACA;;AAEA;AACA,UAAU,UAAU;AACpB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B,sBAAsB;AACrD;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;;;;;;;;AC7SA,uC;;;;;;ACAA,mC;;;;;;ACAA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qCAAqC;;AAErC;AACA;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;AACA,4BAA4B,UAAU;;;;;;;ACvLtC,2B;;;;;;;ACAa;AAEb;;;;EAIE;AACF,SAAS,QAAQ,CAAC,CAAC;IACf,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACvD,CAAC;AAED;;;;EAIE;AACF,SAAS,UAAU,CAAC,CAAC;IACjB,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAA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C5B,SAAS,EAAE,SAAS;IACpB,IAAI,EAAE,IAAI;IACV,uBAAuB,EAAE,uBAAuB;IAChD,eAAe,EAAE,eAAe;IAChC,WAAW,EAAE,WAAW;IACxB,QAAQ,EAAE,QAAQ;IAClB,WAAW,EAAE,WAAW;CAE3B,CAAC;;;;;;;;;ACvIF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEY;;AAEZ,aAAa,mBAAO,CAAC,EAAW;AAChC,cAAc,mBAAO,CAAC,EAAS;AAC/B,cAAc,mBAAO,CAAC,EAAS;;AAE/B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,mDAAmD;AACxE;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,UAAU;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,uCAAuC,SAAS;AAChD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gDAAgD,EAAE;AAClD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,eAAe;AACvC;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,wBAAwB,QAAQ;AAChC;AACA,qBAAqB,eAAe;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uDAAuD,OAAO;AAC9D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,uDAAuD,OAAO;AAC9D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qBAAqB,QAAQ;AAC7B;AACA;AACA,GAAG;AACH;AACA,eAAe,SAAS;AACxB;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,YAAY;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;AC5vDA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACxEA,qC;;;;;;ACAA,gFAAiB,mBAAO,CAAC,EAAc;AACvC,eAAe,mBAAO,CAAC,EAAU;AACjC,aAAa,mBAAO,CAAC,EAAiB;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA,MAAM;AACN,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,IAAI,aAAa;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,wCAAwC,eAAe,IAAI;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,oBAAoB;AACxC;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;AC/NA,4C;;;;;;;;;;;;;;;;;;;;ACA6B;AAE7B,IAAI;IACF,2BAA2B;IAC3B,mBAAO,CAAC,EAAoB,CAAC,CAAC,CAAC,qBAAqB;CAErD;AAAC,OAAO,CAAC,EAAE,EAAC,OAAO;CACnB;AACD,6BAA6B;AAG7B;IAAA;QACE,QAAG,GAAe,GAAG,CAAC;QACtB,SAAI,GAAG,IAAI,CAAC;QACZ,WAAM,GAAkB,MAAM,CAAC;QAC/B,SAAI,GAAG,IAAI,CAAC;QACZ,SAAI,GAAG,IAAI,CAAC;QACZ,YAAO,GAAG,OAAO,CAAC;QAClB,mBAAc,GAAG,cAAc,CAAC;IAClC,CAAC;IAAD,aAAC;AAAD,CAAC;;AAUD,IAAI,KAAK,GAAU,EAAE,CAAC;AACtB,8CAAc,CAAC,SAAS,GAAG,KAAK,CAAC;AACjC,IAAI,OAAqB,CAAC;AAC1B,IAAI,YAAqC,CAAC;AAC1C,IAAI,KAA0B,CAAC;AAE/B,SAAS,SAAS;IAChB,OAAO,GAAG,IAAI,4CAAY,EAAE,CAAC;IAC7B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACvB,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,4CAAY,EAAE,mDAAmB,EAAE,4CAAY,CAAC,CAAC;IACtE,KAAK,GAAG,IAAI,OAAO,CAAC,iBAAO;QACzB,YAAY,GAAG,OAAO,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,EAAE,CAAC;AAEZ,IAAM,UAAU,GAAG,cAAI,IAAI,UAAG,GAAG,4CAAY,CAAC,IAAI,0CAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,EAAlD,CAAkD,CAAC;AAEvE,SAAS,GAAG,CAAI,KAAa,EAAE,WAAmB,EAAE,IAAQ;IACjE,IAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjC,IAAM,IAAI,GAAG;QACX,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE;QAC1B,WAAW,EAAE,WAAW,CAAC,WAAW,EAAE;QACtC,GAAG;KACJ,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACpB,CAAC;AACM,SAAe,IAAI;;;YACxB,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;;;;CAC/B;AACM,SAAe,IAAI;;;;;;;wBAEtB,KAAK;;oBACG,qBAAM,KAAK;wBAFrB,uBAEE,QAAK,GAAE,CAAC,SAAW,CAAC,CAAC,MAAM,EAAE;6BAC7B;;;;CACH;AACM,SAAe,cAAc,CAAC,IAAY,EAAE,UAAkB;;;YACnE,IAAI;gBACF,aAAa,CAAC,IAAI,CAAC,CAAC;gBAEpB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;oBACrB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;iBAC7C;gBAED,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;aACxB;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,+BAA+B,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;aAC5D;;;;CACF;AACM,SAAe,IAAI,CAAC,KAAU;;;YACnC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YACpB,YAAY,CAAC,0CAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;;;;CAC5C;AACM,SAAe,OAAO;;;YAC3B,KAAK,GAAG,EAAE,CAAC;YACX,SAAS,EAAE,CAAC;;;;CACb;AACM,SAAe,MAAM,CAAgB,CAAS,EAAE,KAAS;IAAT,iCAAS;;;;;;oBAC9D,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;wBACzB,sBAAO,EAAE,EAAC;qBACX;oBAEoB,qBAAM,KAAK;;oBAA5B,aAAa,GAAG,CAAC,SAAW,CAAC,CAAC,KAAK,CAAC,WAAC;wBACvC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,cAAI;4BAC9C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gCAAE,OAAO;4BAC9B,IAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;4BAC7B,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;wBAClB,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC;oBAEF,IAAI,KAAK,GAAG,CAAC,EAAE;wBACb,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;qBAC/C;oBAED,sBAAO,aAAa,CAAC,GAAG,CAAC,aAAG,IAAI,QAAC;4BAC/B,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;4BACpB,KAAK,EAAE,GAAG,CAAC,KAAK;yBACjB,CAAC,EAH8B,CAG9B,CAAC,EAAC;;;;CACL;;;;;;;AC9GD,oC;;;;;;ACAA,8C;;;;;;ACAA,mD;;;;;;;ACAA,YAAY;AACC;;AAEb,IAAM,EAAE,GAAG,mBAAO,CAAC,EAAI,CAAC,CAAC;AACzB,IAAM,GAAG,GAAG,mBAAO,CAAC,CAAK,CAAC,CAAC;AAC3B,IAAM,OAAO,GAAG,mBAAO,CAAC,EAAM,CAAC,CAAC;AAEhC,IAAM,KAAK,GAAG,mBAAO,CAAC,EAAe,CAAC,CAAC;AACvC,IAAM,KAAK,GAAG,mBAAO,CAAC,EAAe,CAAC,CAAC;AACvC,IAAM,IAAI,GAAG,mBAAO,CAAC,EAAM,CAAC,CAAC;AAE7B,IAAM,IAAI,GAAG,mBAAO,CAAC,EAAsB,CAAC,CAAC;AAC7C,IAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC;AAClC,IAAM,KAAK,GAAG,mBAAO,CAAC,EAAuB,CAAC,CAAC,KAAK,CAAC;AACrD,IAAM,KAAK,GAAG,mBAAO,CAAC,EAAuB,CAAC,CAAC,KAAK,CAAC;AACrD,IAAM,MAAM,GAAG,mBAAO,CAAC,EAAuB,CAAC,CAAC,aAAa,CAAC;AAC9D,IAAM,OAAO,GAAG,mBAAO,CAAC,EAAyB,CAAC,CAAC,OAAO,CAAC;AAC3D,IAAM,QAAQ,GAAG,mBAAO,CAAC,EAAc,CAAC,CAAC;AACzC,IAAM,EAAE,GAAG,mBAAO,CAAC,EAAmB,CAAC,CAAC;AACxC,IAAM,MAAM,GAAG,mBAAO,CAAC,EAAgB,CAAC,CAAC;AAEzC,IAAM,WAAW,GAAG,mBAAO,CAAC,EAAsB,CAAC,CAAC,WAAW,CAAC;AAEhE,IAAM,UAAU,GAAG,mBAAO,CAAC,EAAgB,CAAC,CAAC,OAAO,CAAC;AAErD,qDAAqD;AAErD,IAAM,aAAa,GAAG,OAAO,CAAC;AAC9B,IAAI,cAAc,CAAC,CAAC,sBAAsB;AAE1C;IAAuB,oCAAK;IAC1B,kBAAY,OAAO;QAAnB,YACE,kBAAM,OAAO,CAAC,SAEf;QADC,KAAI,CAAC,IAAI,GAAG,UAAU,CAAC;;IACzB,CAAC;IACH,eAAC;AAAD,CAAC,CALsB,KAAK,GAK3B;AAED,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO;IAChC,IAAI,GAAG,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;IACtB,IAAI,OAAO,CAAC,OAAO,EAAE;QACjB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;KAC/B;SACI;QACD,MAAM,GAAG,CAAC;KACb;AACL,CAAC;AAED,SAAS,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO;IAC5C,IAAI,OAAO,CAAC,QAAQ,EAAE;QAClB,SAAS,CAAC,OAAO,CAAC,YAAY,IAAE,eAAe,CAAC,GAAG,OAAO,CAAC;KAC9D;SACI;QACD,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;KAChC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,MAAM,EAAC,MAAM,EAAC,OAAO;IACzC,IAAI,MAAM,CAAC,QAAQ;QAAE,OAAO,CAAC,OAAO,EAAE,CAAC;IACvC,IAAI,MAAM,CAAC,aAAa,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,EAAE;QAClE,MAAM,CAAC,aAAa,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC;KACjE;IACD,IAAI,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QAC7C,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3B,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;SACrB;aACI,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YAChC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAClC;;YACI,MAAM,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;KAC/C;IAED,IAAI,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QAC3C,IAAI,OAAO,CAAC,KAAK,EAAE;YACf,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC1B,OAAO,MAAM,CAAC,IAAI,CAAC;aACtB;iBACI;gBACD,IAAI,CAAC,MAAM,CAAC,KAAK;oBAAE,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gBACrC,KAAiB,UAAW,EAAX,WAAM,CAAC,IAAI,EAAX,cAAW,EAAX,IAAW,EAAE;oBAAzB,IAAI,IAAI;oBACT,IAAI,SAAS,GAAG,EAAE,CAAC;oBACnB,IAAI,IAAI,KAAK,MAAM,EAAE;wBACjB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;qBAC1B;yBACI;wBACD,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC;wBACtB,KAAiB,UAAsB,EAAtB,WAAM,CAAC,eAAe,EAAtB,cAAsB,EAAtB,IAAsB,EAAE;4BAApC,IAAI,IAAI;4BACT,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE;gCACpC,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;gCAC/B,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;6BACvB;yBACJ;qBACJ;oBACD,IAAI,SAAS,CAAC,IAAI,EAAE;wBAChB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;qBAChC;iBACJ;gBACD,OAAO,MAAM,CAAC,IAAI,CAAC;gBACnB,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC3B,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,kCAAkC;iBAC1D;qBACI,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC9B,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACnC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;wBACzC,WAAW,CAAC,4BAA4B,EAAC,MAAM,EAAC,OAAO,CAAC,CAAC;qBAC5D;oBACD,OAAO,MAAM,CAAC,KAAK,CAAC;iBACvB;aACJ;YACD,mBAAmB;YACnB,IAAI,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;gBACvE,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAChC;SACJ;aACI;YACD,UAAU,CAAC,8CAA8C,EAAE,OAAO,CAAC,CAAC;SACvE;KACJ;IAED,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE;QACvC,OAAO,MAAM,CAAC,IAAI,CAAC;QACnB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;KAC1B;IACD,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QAC9C,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;KACrB;IACD,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE;QACtC,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE;YAChC,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,WAAW,EAAE;gBACxC,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;aACxB;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SACzE;QACD,OAAO,MAAM,CAAC,QAAQ,CAAC;KAC1B;IAED,wEAAwE;IACxE,+CAA+C;IAC/C,2EAA2E;IAE3E,IAAI,MAAM,CAAC,GAAG,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,SAAS,KAAK,QAAQ,EAAE;QACxD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS;YAAE,OAAO,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;KAC1D;AACL,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAM,EAAC,MAAM;IAC3C,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE;QAC7D,IAAI,CAAC,MAAM,CAAC,QAAQ;YAAE,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;QAC3C,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QAC/D,OAAO,MAAM,CAAC,YAAY,CAAC,CAAC;KAC/B;IACD,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE;QACnB,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QACjC,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC;KAC5B;IACD,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE;QACnB,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QACjC,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC;KAC5B;IACD,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE;QACjB,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7B,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;KAC1B;IACD,IAAI,OAAO,MAAM,CAAC,YAAY,CAAC,KAAK,SAAS,EAAE;QAC3C,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;QACvC,OAAO,MAAM,CAAC,YAAY,CAAC,CAAC;KAC/B;IACD,IAAI,CAAC,OAAO,MAAM,CAAC,iBAAiB,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,iBAAiB,CAAC,CAAC,YAAY,KAAK,QAAQ,CAAC,EAAE;QACjH,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACjC,KAAK,IAAI,KAAK,IAAI,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE;YAC5C,IAAI,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACtD,IAAI,WAAW,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE;gBAC1C,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,gBAAgB,EAAC,uBAAuB,CAAC,CAAC;aACvG;SACJ;KACJ;AACL,CAAC;AAED,SAAS,WAAW,CAAC,MAAM,EAAC,OAAO;IAC/B,EAAE,CAAC,UAAU,CAAC,MAAM,EAAC,EAAE,EAAC,EAAE,EAAC,UAAS,MAAM,EAAC,MAAM,EAAC,KAAK;QACnD,wBAAwB,CAAC,MAAM,EAAC,MAAM,CAAC,CAAC;QACxC,cAAc,CAAC,MAAM,EAAC,MAAM,EAAC,OAAO,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAG;IAC7B,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAE,CAAC,EAAE;QACrB,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;KAC5C;SACI;QACD,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KAC5C;IACD,OAAO,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK;IAC9B,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;IACpC,IAAI,KAAK,CAAC,GAAG,EAAC,GAAG,CAAC,EAAE;QAChB,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;YACtC,QAAQ;SACX;aACI,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,YAAY,EAAE;YAChC,2BAA2B;YAC3B,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;YAChB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SAC9D;aACI,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,YAAY,EAAE;YAChC,kCAAkC;YAClC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;YAChB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SAC9D;aACI,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE;YAC5C,kEAAkE;YAClE,IAAI,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7D,IAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAErC,IAAI,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,0BAA0B;YACxF,IAAI,MAAM,EAAE;gBACR,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;aACpB;iBACI;gBACD,WAAW,CAAC,8BAA8B,GAAC,GAAG,CAAC,GAAG,CAAC,EAAC,GAAG,EAAC,OAAO,CAAC,CAAC;aACpE;YACD,GAAG,CAAC,GAAG,CAAC,GAAG,uBAAuB,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACvD;aACI,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;YAC3C,2CAA2C;YAC3C,GAAG,CAAC,GAAG,CAAC,GAAG,0BAA0B,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC;SAClG;aACI,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;YAC1C,2CAA2C;YAC3C,GAAG,CAAC,GAAG,CAAC,GAAG,yBAAyB,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC;SAChG;aACI,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YAC/B,sDAAsD;YACtD,IAAI,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACxD,IAAI,MAAM,KAAK,KAAK;gBAAE,WAAW,CAAC,wBAAwB,GAAC,GAAG,CAAC,GAAG,CAAC,EAAC,GAAG,EAAC,OAAO,CAAC;iBAC3E,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;gBAC/B,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;aACvC;iBACI;gBACD,yEAAyE;gBACzE,IAAI,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;gBACtB,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,sBAAsB,EAAC,EAAE,CAAC,CAAC;gBACnD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,wBAAwB,EAAC,EAAE,CAAC,CAAC;gBACrD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,yBAAyB,EAAC,EAAE,CAAC,CAAC;gBACtD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,sBAAsB,EAAC,EAAE,CAAC,CAAC;gBACnD,IAAI,IAAI,GAAG,SAAS,CAAC;gBACrB,IAAI,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBAChD,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,GAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBAC1D,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,GAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;wBAC5D,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;4BACxD,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;gCACrD,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,GAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEjF,oFAAoF;gBACpF,kFAAkF;gBAElF,IAAI,IAAI,KAAK,SAAS,EAAE;oBACpB,WAAW,CAAC,MAAM,EAAC,OAAO,CAAC,CAAC;iBAC/B;gBAED,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,EAAE;oBACnD,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAC,IAAI,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC;oBAC1C,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE;wBAC3F,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;qBAC5C;oBAED,IAAI,MAAM,GAAG,CAAC,CAAC;oBACf,IAAI,GAAG,CAAC,QAAQ,CAAC,EAAE;wBACf,MAAM,GAAG,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;wBAC7C,MAAM,GAAG,EAAE,CAAC;qBACf;oBAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAC,eAAe,GAAC,IAAI,GAAC,GAAG,GAAC,MAAM,GAAC,MAAM,CAAC,EAAE;wBACtE,MAAM,GAAG,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;qBAC3C;oBAED,IAAI,MAAM,GAAG,eAAe,GAAC,IAAI,GAAC,GAAG,GAAC,MAAM,GAAC,MAAM,CAAC;oBACpD,IAAI,SAAS,GAAG,EAAE,CAAC;oBAEnB,IAAI,IAAI,KAAK,UAAU,EAAE;wBACrB,MAAM,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;wBAC3B,SAAS,GAAG,QAAQ,CAAC;qBACxB;oBAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAC,MAAM,EAAC,MAAM,CAAC,CAAC;oBACzC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,GAAC,SAAS,CAAC;oBAC5C,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAC,SAAS,CAAC;iBAC/B;aACJ;SACJ;QAED,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC;QACrB,uEAAuE;QACvE,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7B,IAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YACxB,IAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,uFAAuF;YAC5I,IAAI,OAAO,CAAC,WAAW,KAAK,UAAU,EAAE;gBACpC,QAAQ;aACX;iBACI,IAAI,QAAQ,IAAI,CAAC,OAAO,CAAC,WAAW,KAAK,OAAO,CAAC,EAAE;gBACpD,OAAO,GAAG,CAAC,IAAI,CAAC;gBAChB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,CAAE,EAAC,CAAC;aAClE;iBACI,EAAE,gDAAgD;gBACnD,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;aAC/C;SACJ;KAEJ;IACD,IAAI,CAAC,GAAG,KAAK,YAAY,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE;QACzF,IAAI,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,uBAAuB,EAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjG,IAAI,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B;QAC5F,IAAI,MAAM,EAAE;YACR,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;SACpB;aACI;YACD,WAAW,CAAC,8BAA8B,GAAC,GAAG,CAAC,GAAG,CAAC,EAAC,GAAG,EAAC,OAAO,CAAC,CAAC;SACpE;QACD,GAAG,CAAC,GAAG,CAAC,GAAG,uBAAuB,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACvD;AACL,CAAC;AAED;;;EAGE;AACF,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO;IAChC,KAAK,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE;QAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAC,GAAG,EAAC,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;KACxD;AACL,CAAC;AAED,SAAS,eAAe,CAAC,cAAc;IACnC,KAAK,IAAI,CAAC,IAAI,cAAc,EAAE;QAC1B,KAAK,IAAI,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE;YAC7B,IAAI,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,CAAC,IAAI,KAAK,EAAE;gBACZ,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChD,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC/B;SACJ;KACJ;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAM,EAAE,OAAO;IAC1C,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;QACzB,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC;QACrB,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC;KAC3B;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE;QAC1B,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;QAC3B,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa;YAAE,QAAQ,GAAG,mBAAmB,CAAC;QAClE,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY;YAAE,QAAQ,GAAG,mBAAmB,CAAC;QACjE,IAAI,OAAO,MAAM,CAAC,gBAAgB,KAAK,WAAW;YAAE,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC;QAChI,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;YAAE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC;QACrG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QAClC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;QAClB,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;QAC9B,OAAO,MAAM,CAAC,IAAI,CAAC;QACnB,OAAO,MAAM,CAAC,gBAAgB,CAAC;QAC/B,OAAO,MAAM,CAAC,QAAQ,CAAC;QACvB,OAAO,MAAM,CAAC,MAAM,CAAC;QACrB,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE;YACpC,IAAI,OAAO,CAAC,KAAK,EAAE;gBACf,OAAO,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO,MAAM,CAAC,IAAI,CAAC;aACtB;iBACI;gBACD,UAAU,CAAC,kEAAkE,EAAE,OAAO,CAAC,CAAC;aAC3F;SACJ;KACJ;AACL,CAAC;AAED,SAAS,cAAc,CAAC,KAAK;IACzB,OAAO,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,aAAa,CAAC,MAAM,EAAE,OAAO;IAClC,IAAI,MAAM,CAAC,IAAI,EAAE;QACb,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,yBAAyB,CAAC,CAAC;KAChF;SACI;QACD,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAC/B,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;SACtB;QACD,IAAI,MAAM,CAAC,IAAI;YAAE,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QAClD,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;YAC/C,IAAI,MAAM,CAAC,KAAK,CAAC,gBAAgB,KAAK,MAAM,CAAC,gBAAgB,EAAE;gBAC3D,WAAW,CAAC,4CAA4C,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;aAC9E;YACD,OAAO,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC;SACxC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;YACzB,IAAI,MAAM,CAAC,gBAAgB,KAAK,KAAK,EAAE;gBACnC,WAAW,CAAC,yDAAyD,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,eAAe;aAC3G;iBACI,IAAI,MAAM,CAAC,gBAAgB,KAAK,OAAO,EAAE;gBAC1C,WAAW,CAAC,2DAA2D,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,eAAe;aAC7G;iBACI,IAAI,MAAM,CAAC,gBAAgB,KAAK,OAAO,EAAE;gBAC1C,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;aACzB;iBACI,IAAI,MAAM,CAAC,gBAAgB,KAAK,KAAK,EAAE;gBACxC,WAAW,CAAC,6CAA6C,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,eAAe;gBAC5F,MAAM,CAAC,oBAAoB,CAAC,GAAG,KAAK,CAAC;aACxC;iBACI,EAAE,QAAQ;gBACX,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC;aAC3B;YACD,OAAO,MAAM,CAAC,gBAAgB,CAAC;SAClC;aACI,IAAI,MAAM,CAAC,gBAAgB,EAAE;YAC9B,IAAI,OAAO,CAAC,KAAK,EAAE;gBACf,OAAO,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO,MAAM,CAAC,gBAAgB,CAAC;aAClC;iBACI;gBACD,UAAU,CAAC,sEAAsE,EAAE,OAAO,CAAC,CAAC;aAC/F;SACJ;QACD,OAAO,MAAM,CAAC,IAAI,CAAC;QACnB,KAAiB,UAA8B,EAA9B,WAAM,CAAC,uBAAuB,EAA9B,cAA8B,EAA9B,IAA8B,EAAE;YAA5C,IAAI,IAAI;YACT,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE;gBACrC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;gBACnC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;aACvB;SACJ;QACD,KAAiB,UAAsB,EAAtB,WAAM,CAAC,eAAe,EAAtB,cAAsB,EAAtB,IAAsB,EAAE;YAApC,IAAI,IAAI;YACT,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE;gBACrC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;gBACnC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;aACvB;SACJ;KACJ;AACL,CAAC;AAED,SAAS,WAAW,CAAC,KAAK,EAAE,OAAO;IAC/B,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE;QAC1C,IAAI,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACtD,KAAK,CAAC,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,0BAA0B,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;KAClG;IACD,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE;QAC3C,WAAW,CAAC,8BAA8B,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;KAC/D;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,EAAE,EAAC,OAAO;IACjC,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,KAAgB,UAAe,EAAf,WAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAf,cAAe,EAAf,IAAe,EAAE;QAA5B,IAAI,GAAG;QACR,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QACrB,IAAI,GAAG,KAAK,YAAY,EAAE;YACtB,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC;YACvB,IAAI,OAAO,CAAC,MAAM;gBAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;SAClD;KACJ;IACD,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC,uCAAuC;IAC/D,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO;IACtE,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,mBAAmB,GAAG,IAAI,CAAC;IAC/B,IAAI,YAAY,CAAC;IAEjB,IAAI,EAAE,IAAI,EAAE,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,KAAK,QAAQ,CAAC,EAAE;QACxD,IAAI,OAAO,CAAC,KAAK,EAAE;YACf,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,EAAE,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;SAC/B;aACI;YACD,OAAO,UAAU,CAAC,iDAAiD,EAAE,OAAO,CAAC,CAAC;SACjF;KACJ;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;QAAE,OAAO,OAAO,CAAC,QAAQ,CAAC;IAC9D,IAAI,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAEjG,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE;QACzD,0DAA0D;QAC1D,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC5B,IAAI,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC,CAAC;QACjF,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,IAAI,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,oDAAoD;QAErG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACxE,oFAAoF;YACpF,KAAK,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;YAC7B,KAAK,GAAG,IAAI,CAAC;SAChB;QAED,0FAA0F;QAC1F,oFAAoF;QAEpF,IAAI,KAAK,EAAE;YACP,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC;YACrB,IAAI,QAAQ,GAAG,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;gBACnC,WAAW,CAAC,8BAA8B,GAAG,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;aACrE;iBACI;gBACD,IAAI,QAAQ;oBAAE,KAAK,GAAG,QAAQ,CAAC,CAAC,qBAAqB;aACxD;SACJ;KACJ;IAED,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,oDAAoD;QAEzF,IAAI,OAAO,KAAK,CAAC,cAAc,CAAC,KAAK,SAAS,EAAE;YAC5C,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YACzC,OAAO,KAAK,CAAC,cAAc,CAAC,CAAC;SAChC;QAED,IAAI,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,WAAW,EAAE;YAC3C,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACnC,OAAO,KAAK,CAAC,WAAW,CAAC,CAAC;SAC7B;QAED,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACvC,IAAI,OAAO,CAAC,KAAK,EAAE;gBACf,OAAO,CAAC,OAAO,EAAE,CAAC;gBAClB,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC;aACzB;iBACI;gBACD,UAAU,CAAC,iEAAiE,EAAE,OAAO,CAAC,CAAC;aAC1F;SACJ;QACD,IAAI,KAAK,CAAC,IAAI,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;YACjE,4BAA4B;YAC5B,KAAK,CAAC,IAAI,GAAG,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC1D;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE;YACvB,KAAK,CAAC,oBAAoB,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;YACzC,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC;SAC7B;QACD,IAAI,KAAK,CAAC,WAAW,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE;YACtF,4BAA4B;YAC5B,KAAK,CAAC,WAAW,GAAG,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SACxE;QACD,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC,WAAW,CAAC;QAEzD,IAAI,qBAAmB,GAAG,KAAK,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,qBAAmB,EAAE;YAClD,qBAAmB,GAAG,KAAK,CAAC;SAC/B;QACD,IAAI,qBAAmB,EAAE;YACrB,IAAI,KAAK,CAAC,IAAI,IAAI,OAAO,EAAE;gBACvB,IAAI,OAAO,CAAC,KAAK,EAAE;oBACf,OAAO,CAAC,OAAO,EAAE,CAAC;oBAClB,OAAO,KAAK,CAAC,gBAAgB,CAAC;iBACjC;qBACI;oBACD,UAAU,CAAC,qEAAqE,EAAE,OAAO,CAAC,CAAC;iBAC9F;aACJ;YACD,IAAI,CAAC,qBAAmB,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,EAAE;gBACxF,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;gBACrB,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;aACzB;YACD,IAAI,CAAC,qBAAmB,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,EAAE;gBACvF,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC;aAC1B;YACD,IAAI,qBAAmB,KAAK,KAAK,EAAE;gBAC/B,IAAI,KAAK,CAAC,EAAE,KAAK,OAAO,EAAE;oBACtB,KAAK,CAAC,KAAK,GAAG,gBAAgB,CAAC;iBAClC;qBACI;oBACD,WAAW,CAAC,4EAA4E,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,eAAe;iBAC7H;aACJ;YACD,IAAI,qBAAmB,KAAK,OAAO,EAAE;gBACjC,IAAI,KAAK,CAAC,EAAE,KAAK,OAAO,EAAE;oBACtB,KAAK,CAAC,KAAK,GAAG,eAAe,CAAC;iBACjC;qBACI;oBACD,WAAW,CAAC,8EAA8E,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,eAAe;iBAC/H;aACJ;YACD,IAAI,qBAAmB,KAAK,OAAO,EAAE;gBACjC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;aACxB;YACD,IAAI,qBAAmB,KAAK,KAAK,EAAE;gBAC/B,WAAW,CAAC,6CAA6C,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,eAAe;gBAC3F,KAAK,CAAC,oBAAoB,CAAC,GAAG,KAAK,CAAC;aACvC;YACD,OAAO,KAAK,CAAC,gBAAgB,CAAC;SACjC;QAED,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,UAAU,CAAC,EAAE;YAC9F,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;gBAC7B,WAAW,CAAC,sCAAsC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;aACvE;iBACI;gBACD,IAAI,KAAK,CAAC,MAAM;oBAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,kBAAkB;gBACvD,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC;oBAAE,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;gBAC7E,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;gBAC/B,IAAI,KAAK,CAAC,KAAK,EAAE;oBACb,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;oBACjC,OAAO,KAAK,CAAC,KAAK,CAAC;oBACnB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,GAAG,EAAE,GAAG,EAAE,KAAK;wBACvD,IAAI,CAAC,GAAG,KAAK,kBAAkB,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,EAAE;4BAChE,IAAI,qBAAmB,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,qBAAmB,EAAE;gCACzD,WAAW,CAAC,4CAA4C,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;6BAC7E;4BACD,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe;yBACnC;wBACD,qDAAqD;wBACrD,iCAAiC;oBACrC,CAAC,CAAC,CAAC;iBACN;gBACD,KAAiB,UAA8B,EAA9B,WAAM,CAAC,uBAAuB,EAA9B,cAA8B,EAA9B,IAA8B,EAAE;oBAA5C,IAAI,IAAI;oBACT,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW;wBAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;oBACzE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;iBACtB;aACJ;SACJ;QAED,IAAI,KAAK,CAAC,MAAM,EAAE;YACd,WAAW,CAAC,KAAK,CAAC,MAAM,EAAC,OAAO,CAAC,CAAC;SACrC;QAED,IAAI,KAAK,CAAC,wBAAwB,CAAC,EAAE;YACjC,IAAI,KAAK,CAAC,EAAE,KAAK,OAAO,EAAE,EAAE,wCAAwC;gBAChE,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC3B,OAAO,KAAK,CAAC,wBAAwB,CAAC,CAAC;aAC1C;SACJ;KACJ;IAED,IAAI,KAAK,IAAI,KAAK,CAAC,EAAE,KAAK,UAAU,EAAE;QAClC,mCAAmC;QACnC,mBAAmB,GAAG,KAAK,CAAC;QAC5B,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;QACpB,IAAI,WAAW,GAAG,mCAAmC,CAAC;QACtD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,EAAE;YACrE,WAAW,GAAG,qBAAqB,CAAC;SACvC;QAED,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,MAAM,EAAE;YACd,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAClD,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE;gBACnB,MAAM,CAAC,YAAY,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC,CAAC;aACrG;SACJ;aACI;YACD,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC;YACxC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;YACnD,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;YACnD,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAC/D,IAAI,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;YAChD,IAAI,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACvE,IAAI,KAAK,CAAC,WAAW;gBAAE,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;YAC9D,IAAI,KAAK,CAAC,OAAO;gBAAE,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAClD,IAAI,KAAK,CAAC,IAAI;gBAAE,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YAEzC,KAAiB,UAA8B,EAA9B,WAAM,CAAC,uBAAuB,EAA9B,cAA8B,EAA9B,IAA8B,EAAE;gBAA5C,IAAI,IAAI;gBACT,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW;oBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;aACtE;YACD,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,EAAE;gBACzB,IAAI,CAAC,MAAM,CAAC,QAAQ;oBAAE,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;gBAC3C,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;aAC1B;YACD,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,WAAW;gBAAE,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YACzE,IAAI,MAAM,CAAC,UAAU;gBAAE,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;YAC5D,IAAI,KAAK,CAAC,KAAK;gBAAE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,4BAA4B;YACzE,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBAC3C,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;gBAC3B,IAAI,MAAM,CAAC,KAAK,CAAC,gBAAgB;oBAAE,OAAO,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC;aAC3E;YACD,IAAI,CAAC,YAAY,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,KAAK,MAAM,CAAC,EAAE;gBACvE,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;gBACvB,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC;aAC5B;YAED,uEAAuE;YACvE,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;SACjC;KACJ;SACI,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE;QACrC,yBAAyB;QACzB,IAAI,KAAK,CAAC,QAAQ;YAAE,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QACrD,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,GAAG,EAAE,CAAC;QAChD,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC;QACvD,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;QAClE,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC;QACpE,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;KACjC;IACD,IAAI,KAAK,IAAI,KAAK,CAAC,EAAE,KAAK,MAAM,EAAE;QAC9B,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;QACpB,IAAI,KAAK,CAAC,IAAI;YAAE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3I,IAAI,KAAK,CAAC,WAAW;YAAE,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QAC9D,IAAI,KAAK,CAAC,QAAQ;YAAE,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAErD,uEAAuE;QACvE,IAAI,EAAE,IAAI,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE;YACpC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;SACnC;QACD,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE;YACnC,MAAM,CAAC,YAAY,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC,CAAC;SACrG;aACI,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE;YACvG,MAAM,CAAC,YAAY,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC;SACrH;QAED,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YAClB,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,sBAAsB;SAC5D;QAED,KAAqB,UAAQ,EAAR,qBAAQ,EAAR,sBAAQ,EAAR,IAAQ,EAAE;YAA1B,IAAI,QAAQ;YACb,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YAC9B,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;YAC5D,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAC,OAAO,CAAC,CAAC;SACxD;QAED,yEAAyE;QACzE,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;KACjC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;QAChC,KAAK,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;QAC7B,2CAA2C;QAC3C,IAAI,EAAE,EAAE;YACJ,IAAI,EAAE,CAAC,WAAW,IAAI,mBAAmB,EAAE;gBACvC,EAAE,CAAC,WAAW,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC;gBAC1C,IAAI,IAAI,GAAG,EAAE,CAAC,WAAW,IAAI,KAAK,CAAC;gBAEnC,WAAW,CAAC,YAAY,GAAG,IAAI,GAAG,6BAA6B,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;aACjF;iBACI;gBACD,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE;oBAClB,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,iBAAiB,CAAC,EAAE,EAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;iBAC7E;gBACD,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,IAAI,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;uBACtE,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;oBAC1R,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,UAAU;wBAC3D,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBAC5I,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAE,EAAE,CAAC,CAAC;oBACxM,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE;wBACvE,OAAO,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;qBACxE;iBACJ;qBACI,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,IAAI,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,mCAAmC,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;uBAChP,MAAM,CAAC,OAAO,CAAC,mCAAmC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE;oBAC/L,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,MAAM,CAAC,UAAU;wBACzE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBACxK,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAE,EAAE,CAAC,CAAC;oBAClP,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE;wBACrF,OAAO,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;qBACtF;iBACJ;qBACI;oBACD,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;oBACvD,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE;wBAC/B,IAAI,EAAE,CAAC,WAAW,CAAC,MAAM,IAAI,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE;4BACrD,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,kBAAkB,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;yBAC1I;6BACI,IAAI,EAAE,CAAC,WAAW,EAAE;4BACrB,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;yBACrE;qBACJ;iBACJ;aACJ;SACJ;KACJ;IAED,UAAU;IACV,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE;QACjC,OAAO,KAAK,CAAC,IAAI,CAAC;QAClB,KAAiB,UAA8B,EAA9B,WAAM,CAAC,uBAAuB,EAA9B,cAA8B,EAA9B,IAA8B,EAAE;YAA5C,IAAI,IAAI;YACT,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;SACtB;QAED,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,QAAQ,KAAK,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,EAAE;YACjG,IAAI,OAAO,CAAC,KAAK,EAAE;gBACf,OAAO,CAAC,OAAO,EAAE,CAAC;gBAClB,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;aACzB;iBACI;gBACD,UAAU,CAAC,qDAAqD,GAAC,KAAK,CAAC,IAAI,GAAC,MAAM,GAAC,KAAK,GAAC,GAAG,EAAE,OAAO,CAAC,CAAC;aAC1G;SACJ;KACJ;IAED,OAAO,EAAE,CAAC;AACd,CAAC;AAED,SAAS,cAAc,CAAC,GAAG,EAAE,GAAG;IAC5B,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE;QAClB,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;YACpD,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;SACzB;KACJ;AACL,CAAC;AAED,SAAS,eAAe,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO;IACzD,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5B,IAAI,QAAQ,CAAC,IAAI,IAAI,CAAC,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE;QACtD,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE;YAC9C,sGAAsG;YACtG,WAAW,CAAC,+BAA+B,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SACnF;aACI;YACD,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;gBAC1C,QAAQ,CAAC,IAAI,GAAG,yBAAyB,GAAG,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;aAC9H;SACJ;KACJ;SACI;QACD,IAAI,CAAC,OAAO,QAAQ,CAAC,WAAW,KAAK,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,IAAI,CAAC;eAC7E,CAAC,CAAC,QAAQ,CAAC,WAAW,KAAK,EAAE,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE;YACrD,IAAI,OAAO,CAAC,KAAK,EAAE;gBACf,IAAI,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE;oBAC9D,OAAO,CAAC,OAAO,EAAE,CAAC;oBAClB,QAAQ,CAAC,WAAW,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;iBACxD;aACJ;iBACI;gBACD,UAAU,CAAC,+CAA+C,EAAE,OAAO,CAAC,CAAC;aACxE;SACJ;QACD,IAAI,OAAO,QAAQ,CAAC,MAAM,KAAK,WAAW,EAAE;YAExC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAC,OAAO,CAAC,CAAC;YAErC,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;gBACvH,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,yBAAyB,GAAG,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;aAC5I;YAED,IAAI,EAAE,IAAI,EAAE,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,KAAK,QAAQ,CAAC,EAAE;gBACxD,IAAI,OAAO,CAAC,KAAK,EAAE;oBACf,OAAO,CAAC,OAAO,EAAE,CAAC;oBAClB,EAAE,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;iBAC/B;qBACI;oBACD,OAAO,UAAU,CAAC,iDAAiD,EAAE,OAAO,CAAC,CAAC;iBACjF;aACJ;YACD,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAAE,OAAO,OAAO,CAAC,QAAQ,CAAC;YAElF,IAAI,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACjG,IAAI,CAAC,QAAQ,CAAC,MAAM;gBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,sBAAsB;YAElE,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;YACtB,KAAqB,UAAQ,EAAR,qBAAQ,EAAR,sBAAQ,EAAR,IAAQ,EAAE;gBAA1B,IAAI,QAAQ;gBACb,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;gBAChC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC3D,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;oBAClD,IAAI,OAAO,GAAG,EAAE,CAAC;oBACjB,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBAC5C,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC;oBACzC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC;oBACvD,OAAO,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;iBACtC;gBACD,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE;oBACnD,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;iBAC5E;aACJ;YACD,OAAO,QAAQ,CAAC,MAAM,CAAC;SAC1B;QACD,oDAAoD;QACpD,KAAK,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAE;YACpC,IAAI,CAAC,QAAQ,CAAC,OAAO;gBAAE,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;YAC7C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YACjE,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC;YACzC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,GAAG,EAAE,CAAC;YAClD,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SACpF;QACD,OAAO,QAAQ,CAAC,QAAQ,CAAC;QAEzB,IAAI,QAAQ,CAAC,OAAO,EAAE;YAClB,KAAK,IAAI,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;gBAC5B,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,aAAa,EAAE;oBACnC,IAAI,OAAO,CAAC,KAAK,EAAE;wBACf,OAAO,CAAC,OAAO,EAAE,CAAC;wBAClB,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;qBAC9B;yBACI;wBACD,UAAU,CAAC,iDAAiD,EAAE,OAAO,CAAC,CAAC;qBAC1E;iBACJ;qBACI;oBACD,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;iBAC/C;aACJ;SACJ;KACJ;AACL,CAAC;AAED,SAAS,YAAY,CAAC,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO;IAC9E,KAAK,IAAI,CAAC,IAAI,SAAS,EAAE;QACrB,IAAI,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QACxB,6BAA6B;QAC7B,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,EAAE;YACpE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7B,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;SAC1B;QACD,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,EAAE;YACxE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;YACjC,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC;SAC5B;QACD,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,QAAQ,CAAC,EAAE;YAChF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC;SAChC;QACD,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;YACnE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;YACjC,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC;SAC5B;QACD,KAAK,IAAI,MAAM,IAAI,IAAI,EAAE;YACrB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,gCAAgC,CAAC,EAAE;gBAC5F,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;gBAEtB,IAAI,EAAE,IAAI,EAAE,CAAC,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;oBACrD,IAAI,IAAI,CAAC,UAAU,EAAE;gDACR,KAAK;4BACV,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;gCAChC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gCAC5B,KAAK,GAAG,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;6BAChD;4BACD,IAAI,KAAK,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;gCAC5C,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;4BAC5D,CAAC,CAAC,CAAC;4BAEH,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,EAAE;gCAC3F,EAAE,GAAG,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;gCACpE,IAAI,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE;oCAC7C,OAAO,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;iCAC7B;6BACJ;;wBAdL,KAAkB,UAAe,EAAf,SAAI,CAAC,UAAU,EAAf,cAAe,EAAf,IAAe;4BAA5B,IAAI,KAAK;oCAAL,KAAK;yBAeb;qBACJ;oBACD,KAAkB,UAAa,EAAb,OAAE,CAAC,UAAU,EAAb,cAAa,EAAb,IAAa,EAAE;wBAA5B,IAAI,KAAK;wBACV,EAAE,GAAG,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;qBACtF;oBACD,IAAI,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE;wBAC7C,OAAO,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;qBAC7B;oBACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;wBAChB,IAAI,EAAE,CAAC,UAAU;4BAAE,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;qBAC3E;iBACJ;gBAED,IAAI,EAAE,IAAI,EAAE,CAAC,QAAQ;oBAAE,eAAe,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;gBAEpD,mFAAmF;gBAEnF,YAAY;gBACZ,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;oBACxB,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE;wBACf,IAAI,WAAW,GAAG,EAAE,CAAC;wBACrB,WAAW,CAAC,WAAW,GAAG,kBAAkB,CAAC;wBAC7C,EAAE,CAAC,SAAS,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;qBAC3C;oBACD,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE;wBACxB,IAAI,QAAQ,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;wBAC/B,eAAe,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;qBACtD;iBACJ;gBAED,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;oBAC7D,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC;oBAC7B,OAAO,EAAE,CAAC,WAAW,CAAC,CAAC;iBAC1B;qBAAM,IAAI,EAAE,IAAI,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE;oBAC9C,KAAmB,UAAU,EAAV,OAAE,CAAC,OAAO,EAAV,cAAU,EAAV,IAAU,EAAE;wBAA1B,IAAI,MAAM;wBACX,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;4BAC7D,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE;gCACb,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC;6BACnB;4BACD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gCAChC,KAAmB,UAAe,EAAf,YAAO,CAAC,OAAO,EAAf,cAAe,EAAf,IAAe,EAAE;oCAA/B,IAAI,MAAM;oCACX,IAAI,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;oCAC9B,IAAI,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;oCACzC,SAAS,CAAC,QAAQ,GAAG,MAAM,CAAC;oCAC5B,SAAS,CAAC,GAAG,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;oCACnC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iCAC9B;6BACJ;yBACJ;qBACJ;iBACJ;gBAED,IAAI,OAAO,CAAC,KAAK,EAAE;oBACf,EAAE,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC;oBACzC,EAAE,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC;iBAC5C;gBACD,IAAI,EAAE,EAAE;oBACJ,OAAO,EAAE,CAAC,QAAQ,CAAC;oBACnB,OAAO,EAAE,CAAC,QAAQ,CAAC;oBACnB,OAAO,EAAE,CAAC,OAAO,CAAC;oBAElB,IAAI,EAAE,CAAC,eAAe,CAAC,EAAE;wBACrB,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,EAAE;4BAC/B,IAAI,OAAO,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;4BACrC,IAAI,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;4BAC/B,IAAI,OAAO,CAAC,UAAU,EAAE;gCACpB,KAAK,IAAI,GAAC,IAAI,OAAO,CAAC,UAAU,EAAE;oCAC9B,IAAI,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,GAAC,CAAC,CAAC;oCAClC,KAAkB,UAA+C,EAA/C,MAAC,EAAE,CAAC,UAAU,IAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAE,EAAE,CAAC,EAA/C,cAA+C,EAA/C,IAA+C,EAAE;wCAA9D,IAAI,KAAK;wCACV,IAAI,KAAK,CAAC,IAAI,EAAE;4CACZ,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC;yCACzC;wCACD,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,GAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;4CACxC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;gDACjB,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;6CACvB;4CACD,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC;yCACtC;qCACJ;iCACJ;6BACJ;4BACD,IAAI,OAAO,CAAC,SAAS,EAAE;gCACnB,KAAK,IAAI,CAAC,IAAI,OAAO,CAAC,SAAS,EAAE;oCAC7B,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;wCAC9B,KAAK,IAAI,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;4CACxC,IAAI,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;4CAC5C,KAAK,IAAI,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;gDACpC,IAAI,EAAE,KAAK,CAAC,EAAE;oDACV,IAAI,MAAM,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oDACzC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;iDAC1B;6CACJ;yCACJ;qCACJ;oCACD,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;wCAC3B,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;wCAC9E,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;4CAC5C,KAAK,IAAI,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;gDACpC,IAAI,WAAW,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gDAC9C,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;oDACvB,WAAW,CAAC,QAAQ,GAAG,EAAE,CAAC;iDAC7B;gDACD,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,wBAAwB,GAAC,EAAE,EAAE,CAAC;6CACnE;yCACJ;qCACJ;iCAEJ;6BACJ;yBACJ;wBACD,OAAO,EAAE,CAAC,eAAe,CAAC,CAAC;qBAC9B;oBAED,IAAI,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;wBAAE,OAAO,EAAE,CAAC,UAAU,CAAC;oBACtE,IAAI,EAAE,CAAC,WAAW,EAAE;wBAChB,IAAI,oBAAoB,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;wBAC9H,IAAI,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,oBAAoB,IAAI,EAAE,CAAC,CAAC;wBACzF,OAAO,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;wBACpC,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;wBAC3C,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAChC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE;4BAC3B,IAAI,KAAK,GAAG,EAAE,CAAC;4BACf,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC;4BACpB,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC,WAAW,CAAC;4BAC5B,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;4BAChB,gBAAgB,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;yBACpC;wBACD,IAAI,GAAG,GAAG,IAAI,GAAC,aAAa,GAAC,GAAG,GAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAC,GAAG,GAAC,MAAM,GAAC,cAAc,CAAC;wBAChG,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;qBAC3C;iBACJ;aAEJ;SACJ;QACD,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;YACzB,KAAK,IAAI,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE;gBAC5B,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBAChC,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,gCAAgC;aACnG;YACD,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;gBAClD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;aAC5D;SACJ;KACJ;AACL,CAAC;AAED,SAAS,IAAI,CAAC,OAAO,EAAE,OAAO;IAE1B,IAAI,gBAAgB,GAAG,EAAE,CAAC;IAC1B,cAAc,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAEjC,IAAI,OAAO,CAAC,QAAQ;QAAE,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAExD,KAAK,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,eAAe,EAAE;QAC9C,IAAI,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,KAAK,EAAE;YACZ,IAAI,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;gBAC3C,UAAU,CAAC,0CAA0C,GAAG,KAAK,EAAE,OAAO,CAAC,CAAC;aAC3E;YACD,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAClF,OAAO,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;SAChD;QACD,qBAAqB,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;KAC7E;IAED,KAAK,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE;QACtC,IAAI,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,IAAI,KAAK,EAAE;YACZ,OAAO,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE;gBAC/C,aAAa;gBACb,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACpC;YACD,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC3E,OAAO,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SACxC;QACD,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,MAAM,CAAC;QAC3C,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,GAAC,MAAM,CAAC,EAAC,OAAO,CAAC;KAChE;IAED,mEAAmE;IACnE,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC;IACpB,OAAO,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;IAC/D,UAAU,CAAC,OAAO,EAAC,OAAO,CAAC,CAAC;IAE5B,KAAK,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,UAAU,EAAE;QACzC,IAAI,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,KAAK,EAAE;YACZ,IAAI,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;gBACtC,UAAU,CAAC,qCAAqC,GAAG,KAAK,EAAE,OAAO,CAAC,CAAC;aACtE;YACD,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACxE,OAAO,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;SAC3C;QACD,IAAI,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACjD,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;KACtE;IAED,KAAK,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE;QACxC,IAAI,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,KAAK,EAAE;YACZ,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;gBACrC,UAAU,CAAC,oCAAoC,GAAG,KAAK,EAAE,OAAO,CAAC,CAAC;aACrE;YACD,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACtE,OAAO,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;SAC1C;QACD,IAAI,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACnD,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACzD,IAAI,QAAQ,CAAC,OAAO,EAAE;YAClB,KAAK,IAAI,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;gBAC5B,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,aAAa,EAAE;oBACnC,IAAI,OAAO,CAAC,KAAK,EAAE;wBACf,OAAO,CAAC,OAAO,EAAE,CAAC;wBAClB,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;qBAC9B;yBACI;wBACD,UAAU,CAAC,iDAAiD,EAAE,OAAO,CAAC,CAAC;qBAC1E;iBACJ;qBACI;oBACD,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;iBAC/C;aACJ;SACJ;KACJ;IAED,KAAK,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,aAAa,EAAE,EAAE,iBAAiB;QAC/D,IAAI,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;QAChB,gBAAgB,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;KACpC;IAED,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;IACzE,IAAI,OAAO,CAAC,YAAY,CAAC,EAAE;QACvB,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;KACzF;IAED,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;QAChB,KAAK,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,UAAU,EAAE;YACzC,IAAI,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,KAAK,CAAC,cAAc,CAAC,EAAE;gBACvB,OAAO,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;aAC3C;SACJ;KACJ;IAED,IAAI,OAAO,CAAC,KAAK,EAAE;QACf,OAAO,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;QACnD,OAAO,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;KACtD;IACD,OAAO,OAAO,CAAC,QAAQ,CAAC;IACxB,OAAO,OAAO,CAAC,QAAQ,CAAC;IACxB,OAAO,OAAO,CAAC,OAAO,CAAC;IAEvB,IAAI,gBAAgB,GAAG,EAAE,CAAC;IAE1B,OAAO,CAAC,UAAU,CAAC,aAAa,GAAG,EAAE,CAAC,CAAC,iCAAiC;IAExE,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;QAC1B,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,IAAI,CAAC,IAAI,gBAAgB,EAAE;YAC5B,IAAI,KAAK,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvB,8BAA8B;gBAC9B,IAAI,MAAM,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;oBACb,KAAK,CAAC,IAAI,GAAG,aAAa,CAAC;oBAC3B,aAAa;oBACb,MAAM,GAAG,OAAO,EAAE,CAAC;iBACtB;gBACD,OAAO,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE;oBACvD,yFAAyF;oBACzF,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACpC;gBACD,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC;gBACjC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAClC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjE,KAAK,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE;oBACtB,IAAI,GAAG,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,IAAI,GAAG,6BAA6B,GAAG,KAAK,CAAC,IAAI,CAAC;oBACtD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,GAAG,CAAC,CAAC;iBACxC;aACJ;SACJ;KACJ;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QACxF,OAAO,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC;KACvC;IACD,IAAI,OAAO,CAAC,UAAU,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1F,OAAO,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC;KACxC;IACD,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QACtF,OAAO,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;KACtC;IACD,IAAI,OAAO,CAAC,UAAU,CAAC,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QAChG,OAAO,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC;KAC3C;IACD,IAAI,OAAO,CAAC,UAAU,CAAC,eAAe,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QACpG,OAAO,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC;KAC7C;IACD,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QACpF,OAAO,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;KACrC;IACD,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QACpF,OAAO,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;KACrC;IACD,IAAI,OAAO,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QACpE,OAAO,OAAO,CAAC,UAAU,CAAC;KAC7B;IAED,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,SAAS,uBAAuB,CAAC,MAAM;IACnC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC;QAAE,OAAO,MAAM,CAAC;IAC9E,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,KAAK,EAAE,MAAM;QACpD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;YACnB,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;SACzB;QACD,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IACtD,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM;IACrC,IAAI,CAAC,OAAO,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE;QAClE,IAAI,OAAO,CAAC,KAAK,EAAE;YACf,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;SAC7C;aACI;YACD,OAAO,MAAM,CAAC,IAAI,QAAQ,CAAC,sCAAsC,CAAC,CAAC,CAAC;SACvE;KACJ;IACD,IAAI,CAAC,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE;QACrE,OAAO,MAAM,CAAC,IAAI,QAAQ,CAAC,wBAAwB,CAAC,CAAC,CAAC;KACzD;IACD,IAAI,CAAC,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE;QAC9E,IAAI,OAAO,CAAC,KAAK,EAAE;YACf,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;SAC3B;aACI;YACD,OAAO,MAAM,CAAC,IAAI,QAAQ,CAAC,uCAAuC,CAAC,CAAC,CAAC;SACxE;KACJ;IACD,IAAI,CAAC,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,KAAK,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,EAAE;QAClF,IAAI,OAAO,CAAC,KAAK,EAAE;YACf,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;SAC7B;aACI;YACD,OAAO,MAAM,CAAC,IAAI,QAAQ,CAAC,yCAAyC,CAAC,CAAC,CAAC;SAC1E;KACJ;IACD,IAAI,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE;QAC1C,IAAI,OAAO,CAAC,KAAK,EAAE;YACf,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;SAC1D;aACI;YACD,OAAO,MAAM,CAAC,IAAI,QAAQ,CAAC,2CAA2C,CAAC,CAAC,CAAC;SAC5E;KACJ;IACD,IAAI,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;QAC1C,IAAI,OAAO,CAAC,KAAK,EAAE;YACf,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YAC3C,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;SAC5B;;YACI,OAAO,MAAM,CAAC,IAAI,QAAQ,CAAC,gDAAgD,CAAC,CAAC,CAAC;KACtF;IACD,IAAI,OAAO,OAAO,CAAC,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;QACpD,IAAI,OAAO,CAAC,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YACtC,IAAI,OAAO,CAAC,KAAK,EAAE;gBACf,OAAO,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO,CAAC,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;aACpC;iBACI;gBACD,OAAO,MAAM,CAAC,IAAI,QAAQ,CAAC,gDAAgD,CAAC,CAAC,CAAC;aACjF;SACJ;QACD,IAAI,GAAG,CAAC,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE;YAC3B,IAAI;gBACA,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;aAC9C;YACD,OAAO,EAAE,EAAE;gBACP,IAAI,OAAO,CAAC,KAAK,EAAE;oBACf,OAAO,CAAC,OAAO,EAAE,CAAC;oBAClB,OAAO,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;iBACtC;;oBACI,OAAO,MAAM,CAAC,IAAI,QAAQ,CAAC,+CAA+C,CAAC,CAAC,CAAC;aACrF;SACJ;KACJ;AACL,CAAC;AAED,SAAS,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM;IACtC,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,WAAW,EAAE;QACtC,IAAI,OAAO,CAAC,KAAK,EAAE;YACf,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;SACtB;aACI;YACD,OAAO,MAAM,CAAC,IAAI,QAAQ,CAAC,uCAAuC,CAAC,CAAC,CAAC;SACxE;KACJ;AACL,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAG,EAAE,OAAO;IACxC,IAAM,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;IAC3B,OAAO,CAAC,GAAG,EAAE,EAAC,iBAAiB,EAAC,IAAI,EAAC,EAAE,UAAU,GAAG,EAAE,GAAG,EAAE,KAAK;QAC5D,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,EAAE;YACvD,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;gBACpB,IAAI,OAAO,CAAC,OAAO,EAAE;oBACjB,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;iBAC9B;qBACI;oBACD,UAAU,CAAC,8BAA8B,GAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;iBAClE;aACJ;iBACI;gBACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;aACtB;SACJ;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ;IAC1C,OAAO,KAAK,CAAC,QAAQ,EAAE,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM;QACxD,IAAI,CAAC,OAAO;YAAE,OAAO,GAAG,EAAE,CAAC;QAC3B,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,IAAI;YAAE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC1D,OAAO,CAAC,SAAS,GAAG,EAAE,CAAC;QACvB,OAAO,CAAC,YAAY,GAAG,EAAE,CAAC;QAC1B,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,0BAA0B;QACtD,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;QAC5B,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;QACrB,OAAO,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;QAClC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;QAChC,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,OAAO,CAAC,KAAK;YAAE,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;QACvC,IAAI,OAAO,CAAC,MAAM;YAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;QAErE,sBAAsB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAEzC,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YAC9F,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;YAClC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAC1C,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAE3C,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,2CAA2C;iBAC5E,IAAI,CAAC;gBACF,IAAI,OAAO,CAAC,MAAM,EAAE;oBAChB,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;iBACnC;qBACI;oBACD,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;iBAC3B;YACL,CAAC,CAAC;iBACD,KAAK,CAAC,UAAS,EAAE;gBACd,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACjB,MAAM,CAAC,EAAE,CAAC,CAAC;YACf,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,6CAA6C;SACxD;QAED,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC,EAAE;YAClD,OAAO,MAAM,CAAC,IAAI,QAAQ,CAAC,uCAAuC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SAChI;QAED,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;QACnC,OAAO,CAAC,OAAO,GAAG,CAAC,OAAO,OAAO,CAAC,aAAa,KAAK,QAAQ,IAAI,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,SAAS;QAE1J,IAAI,OAAO,CAAC,MAAM,EAAE;YAChB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;gBACtB,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;aAC5B;YACD,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,IAAE,OAAO,CAAC,MAAM,CAAC;YAC5C,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC;YAC1B,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YACjC,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;YACtB,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,oCAAoC,CAAC;YAC5D,MAAM,CAAC,SAAS,CAAC,OAAO,GAAG,UAAU,CAAC;YACtC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACpC;QAED,wFAAwF;QACxF,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAClD,OAAO,OAAO,CAAC,OAAO,CAAC;QACvB,OAAO,CAAC,OAAO,EAAE,EAAE,EAAE,UAAS,GAAG,EAAE,GAAG,EAAE,KAAK;YACzC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAAE,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,mCAAmC;QACzK,CAAC,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,IAAI,EAAE;YACd,KAAc,UAAyD,EAAzD,MAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAzD,cAAyD,EAAzD,IAAyD,EAAE;gBAApE,IAAI,CAAC;gBACN,IAAI,MAAM,GAAG,EAAE,CAAC;gBAChB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACjG,uBAAuB,CAAC,MAAM,CAAC,CAAC;gBAChC,IAAI,CAAC,OAAO,CAAC,OAAO;oBAAE,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;gBAC3C,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAChC;SACJ;aACI,IAAI,OAAO,CAAC,QAAQ,EAAE;YACvB,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;YAC9B,uBAAuB,CAAC,MAAM,CAAC,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,OAAO;gBAAE,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;YAC3C,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAChC;QACD,OAAO,OAAO,CAAC,IAAI,CAAC;QACpB,OAAO,OAAO,CAAC,QAAQ,CAAC;QAExB,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE;YAC7D,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;YACvC,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC;SAC/B;QAED,sDAAsD;QAEtD,IAAI,OAAO,CAAC,yBAAyB,CAAC,EAAE;YACpC,IAAI,QAAQ,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;YAClD,IAAI,QAAM,GAAG,EAAE,CAAC;YAChB,QAAM,CAAC,GAAG,GAAG,QAAQ,CAAC,YAAY,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAChF,QAAM,CAAC,SAAS,GAAG,EAAE,CAAC;YACtB,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,UAAU,EAAE;gBACjC,IAAI,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACrC,IAAI,KAAK,CAAC,IAAI,EAAE;oBACZ,KAAK,GAAG,KAAK,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;iBACvD;gBACD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;oBACvB,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,WAAW;oBAClC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,cAAc;oBACjC,OAAO,KAAK,CAAC,EAAE,CAAC,CAAC,aAAa;oBAC9B,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,WAAW,EAAE;wBACtC,IAAI,KAAK,CAAC,IAAI,EAAE;4BACZ,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;yBACjC;6BACI;4BACD,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;yBACtB;qBACJ;oBACD,QAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;oBACrC,OAAO,KAAK,CAAC,IAAI,CAAC;iBACrB;aACJ;YACD,IAAI,CAAC,OAAO,CAAC,OAAO;gBAAE,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;YAC3C,IAAI,QAAQ,CAAC,eAAe,KAAK,KAAK,EAAE;gBACpC,oDAAoD;gBACpD,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,QAAM,CAAC,CAAC;aAChC;iBAAM;gBACH,yDAAyD;gBACzD,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,MAAM;oBAC3B,OAAO,CAAC,OAAO,CAAC,IAAI,CAChB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,KAAK,GAAG,QAAM,CAAC,GAAG,EAAE,CAAC,CAClE;gBACL,CAAC,CAAC,CAAC;aACN;YACD,OAAO,OAAO,CAAC,yBAAyB,CAAC,CAAC;SAC7C;QAED,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAEnC,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE;YACtC,OAAO,CAAC,QAAQ,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SACzC;QACD,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE;YACtC,OAAO,CAAC,QAAQ,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SACzC;QAED,OAAO,CAAC,UAAU,GAAG,EAAE,CAAC;QACxB,IAAI,OAAO,CAAC,aAAa,CAAC,EAAE;YACxB,OAAO,CAAC,UAAU,CAAC,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;YACtD,OAAO,OAAO,CAAC,aAAa,CAAC,CAAC;SACjC;QACD,OAAO,CAAC,UAAU,CAAC,QAAQ,GAAG,EAAE,CAAC;QACjC,OAAO,CAAC,UAAU,CAAC,OAAO,GAAG,EAAE,CAAC;QAChC,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE;YACpB,OAAO,CAAC,UAAU,CAAC,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;YAC9C,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC;SAC7B;QACD,OAAO,CAAC,UAAU,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;QACzD,OAAO,CAAC,UAAU,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;QACvD,OAAO,CAAC,UAAU,CAAC,aAAa,GAAG,EAAE,CAAC;QACtC,OAAO,CAAC,UAAU,CAAC,eAAe,GAAG,OAAO,CAAC,mBAAmB,IAAI,EAAE,CAAC;QACvE,OAAO,CAAC,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;QACvD,OAAO,OAAO,CAAC,WAAW,CAAC;QAC3B,OAAO,OAAO,CAAC,SAAS,CAAC;QACzB,OAAO,OAAO,CAAC,UAAU,CAAC;QAC1B,OAAO,OAAO,CAAC,mBAAmB,CAAC;QAEnC,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,2CAA2C;aAC5E,IAAI,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC/B,IAAI,OAAO,CAAC,MAAM,EAAE;gBAChB,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;aAC5B;iBACI;gBACD,OAAO,CAAC,OAAO,CAAC,CAAC;aACpB;QACL,CAAC,CAAC;aACD,KAAK,CAAC,UAAS,EAAE;YACd,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,MAAM,CAAC,EAAE,CAAC,CAAC;QACf,CAAC,CAAC,CAAC;IAEP,CAAC,CAAC,CAAC,CAAC;AACR,CAAC;AAED,SAAS,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ;IACtC,OAAO,KAAK,CAAC,QAAQ,EAAE,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM;QACxD,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,IAAI;YACA,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACtB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAC,IAAI,EAAC,CAAC,CAAC,CAAC;SAC7C;QACD,OAAO,EAAE,EAAE;YACP,KAAK,GAAG,EAAE,CAAC;YACX,IAAI;gBACA,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC9D,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;gBAC1B,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC;aACtB;YACD,OAAO,EAAE,EAAE;gBACP,KAAK,GAAG,EAAE,CAAC;aACd;SACJ;QACD,IAAI,GAAG,EAAE;YACL,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC;iBACvB,IAAI,CAAC,iBAAO,IAAI,cAAO,CAAC,OAAO,CAAC,EAAhB,CAAgB,CAAC;iBACjC,KAAK,CAAC,YAAE,IAAI,aAAM,CAAC,EAAE,CAAC,EAAV,CAAU,CAAC,CAAC;SAC5B;aACI;YACD,MAAM,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC;SAC1E;IACL,CAAC,CAAC,CAAC,CAAC;AACR,CAAC;AAED,SAAS,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ;IACtC,OAAO,KAAK,CAAC,QAAQ,EAAE,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM;QACxD,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACjB,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC;SACxB;QACD,IAAI,OAAO,CAAC,OAAO,EAAE;YACjB,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;SAC9B;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YAClB,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;SACvB;QACD,IAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,YAAY,EAAE,EAAC,KAAK,EAAC,OAAO,CAAC,KAAK,EAAC,CAAC,CAAC;QACpF,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG;YAC/C,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;gBAAE,MAAM,IAAI,QAAQ,CAAC,0BAAwB,GAAG,CAAC,MAAM,UAAK,GAAK,CAAC,CAAC;YACzF,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI;YAClB,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC;iBACxB,IAAI,CAAC,iBAAO,IAAI,cAAO,CAAC,OAAO,CAAC,EAAhB,CAAgB,CAAC;iBACjC,KAAK,CAAC,YAAE,IAAI,aAAM,CAAC,EAAE,CAAC,EAAV,CAAU,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,GAAG;YAClB,MAAM,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC,CAAC;AACR,CAAC;AAED,SAAS,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ;IAC5C,OAAO,KAAK,CAAC,QAAQ,EAAE,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM;QACxD,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,MAAM,EAAE,UAAU,GAAG,EAAE,CAAC;YAC9D,IAAI,GAAG,EAAE;gBACL,MAAM,CAAC,GAAG,CAAC,CAAC;aACf;iBACI;gBACD,OAAO,CAAC,UAAU,GAAG,QAAQ,CAAC;gBAC9B,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC;qBACrB,IAAI,CAAC,iBAAO,IAAI,cAAO,CAAC,OAAO,CAAC,EAAhB,CAAgB,CAAC;qBACjC,KAAK,CAAC,YAAE,IAAI,aAAM,CAAC,EAAE,CAAC,EAAV,CAAU,CAAC,CAAC;aAC5B;QACL,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC,CAAC;AACR,CAAC;AAED,SAAS,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ;IAC9C,OAAO,KAAK,CAAC,QAAQ,EAAE,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM;QACxD,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK;YAC/B,IAAI,IAAI,KAAK,CAAC;QAClB,CAAC,CAAC;aACD,EAAE,CAAC,KAAK,EAAE;YACP,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC;iBACxB,IAAI,CAAC,iBAAO,IAAI,cAAO,CAAC,OAAO,CAAC,EAAhB,CAAgB,CAAC;iBACjC,KAAK,CAAC,YAAE,IAAI,aAAM,CAAC,EAAE,CAAC,EAAV,CAAU,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC,CAAC;AACR,CAAC;AAED,MAAM,CAAC,OAAO,GAAG;IACb,QAAQ,EAAE,QAAQ;IAClB,aAAa,EAAE,aAAa;IAC5B,OAAO,EAAE,UAAU;IACnB,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE,UAAU;IACtB,WAAW,EAAE,WAAW;IACxB,aAAa,EAAE,aAAa;CAC/B,CAAC;;;;;;;;ACtnDW;;AAEb;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,6BAA6B,0BAA0B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrCA,yD;;;;;;ACAA,sC;;;;;;ACAA,uC;;;;;;ACAA,0C;;;;;;;ACAa;;AAEb,IAAM,EAAE,GAAG,mBAAO,CAAC,EAAI,CAAC,CAAC;AACzB,IAAM,IAAI,GAAG,mBAAO,CAAC,EAAM,CAAC,CAAC;AAC7B,IAAM,GAAG,GAAG,mBAAO,CAAC,CAAK,CAAC,CAAC;AAE3B,IAAM,KAAK,GAAG,mBAAO,CAAC,EAAe,CAAC,CAAC;AACvC,IAAM,IAAI,GAAG,mBAAO,CAAC,EAAM,CAAC,CAAC;AAE7B,IAAM,IAAI,GAAG,mBAAO,CAAC,EAAsB,CAAC,CAAC,IAAI,CAAC;AAClD,IAAM,OAAO,GAAG,mBAAO,CAAC,EAAyB,CAAC,CAAC,OAAO,CAAC;AAC3D,IAAM,KAAK,GAAG,mBAAO,CAAC,EAAuB,CAAC,CAAC,KAAK,CAAC;AACrD,IAAM,KAAK,GAAG,mBAAO,CAAC,EAA6B,CAAC,CAAC,WAAW,CAAC;AACjE,IAAM,KAAK,GAAG,mBAAO,CAAC,EAAuB,CAAC,CAAC,KAAK,CAAC;AACrD,IAAM,MAAM,GAAG,mBAAO,CAAC,EAAgB,CAAC,CAAC;AAEzC,SAAS,MAAM,CAAC,GAAG;IACf,8BAAY,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE;AAC9B,CAAC;AAED,SAAS,aAAa,CAAC,QAAQ,EAAE,QAAQ;IACrC,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM;QACxC,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,GAAG,EAAE,IAAI;YAC/C,IAAI,GAAG;gBACH,MAAM,CAAC,GAAG,CAAC,CAAC;;gBAEZ,OAAO,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO;IAEpE,IAAI,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,GAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEhE,IAAI,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC,mEAAmE;IAClF,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,OAAO,OAAO,EAAE;QACZ,OAAO,GAAG,CAAC,CAAC;QACZ,OAAO,CAAC,GAAG,EAAE,EAAC,iBAAiB,EAAC,IAAI,EAAC,EAAE,UAAU,GAAG,EAAE,GAAG,EAAE,KAAK;YAC5D,IAAI,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;gBACjB,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;oBAC1B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;wBAChC,IAAI,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBAC5C,IAAI,OAAO,CAAC,OAAO,GAAC,CAAC;4BAAE,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAC,qBAAqB,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBACxJ;;;;;0BAKE;wBACF,IAAI,MAAM,KAAK,KAAK,EAAE;4BAClB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,0CAA0C;4BACzE,IAAI,OAAO,CAAC,KAAK,EAAE;gCACf,IAAI,EAAE,GAAG,IAAI,KAAK,CAAC,kCAAkC,GAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gCAChE,IAAI,OAAO,CAAC,OAAO;oCAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;;oCAC1C,MAAK,CAAC,EAAE,CAAC,CAAC;6BAClB;yBACJ;6BACI;4BACD,OAAO,EAAE,CAAC;4BACV,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;4BAClC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAC,EAAE,CAAC,CAAC;yBACrD;qBACJ;yBACI;wBACD,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;4BACb,IAAI,MAAM,GAAG,CAAC,WAAW,GAAC,GAAG,GAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;4BACrE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;4BAC9E,IAAI,OAAO,CAAC,OAAO,GAAC,CAAC;gCAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAC,MAAM,CAAC,CAAC;4BAC7D,OAAO,EAAE,CAAC;yBACb;wBACD;;;;0BAIE;qBACL;iBACJ;qBACI,IAAI,OAAO,CAAC,QAAQ,EAAE;oBACvB,IAAI,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACnD,IAAI,OAAO,CAAC,OAAO,GAAC,CAAC;wBAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAC,4BAA4B,EAAC,GAAG,CAAC,GAAG,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACjI,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;oBACzB,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;iBACrB;qBACI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;oBACrB,IAAI,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACnD,IAAI,OAAO,CAAC,OAAO,GAAC,CAAC;wBAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAC,wBAAwB,EAAC,GAAG,CAAC,GAAG,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC7H,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,qDAAqD;oBAC/E,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;iBACrB;aACJ;QACL,CAAC,CAAC,CAAC;KACN;IAED,OAAO,CAAC,GAAG,EAAC,EAAE,EAAC,UAAS,GAAG,EAAC,GAAG,EAAC,KAAK;QACjC,IAAI,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;YACjB,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,WAAW;gBAAE,OAAO,GAAG,CAAC,MAAM,CAAC;SAC5D;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,OAAO,GAAC,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IACpE,OAAO,GAAG,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,IAAI,EAAE,OAAO;IAC7B,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAC7D,KAAmB,UAAe,EAAf,YAAO,CAAC,OAAO,EAAf,cAAe,EAAf,IAAe,EAAE;QAA/B,IAAI,MAAM;QACX,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KAChC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,YAAY,CAAC,KAAK,EAAE,MAAM;IAC/B,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IAC/C,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,SAAS,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ;IACrD,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3D,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,2BAA2B;IACjD,IAAI,CAAC,GAAG;QAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,4BAA4B;IAClD,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;QACzB,QAAQ,GAAG,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QACjC,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;KAC7B;IACD,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEtB,IAAI,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5B,IAAI,iBAAiB,GAAG,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;IAE9D,IAAI,MAAM,CAAC;IACX,IAAI,iBAAiB,KAAK,OAAO,EAAE;QAC/B,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;KAC1D;SACI;QACD,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;KACzD;IAED,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;QACvB,IAAI,OAAO,CAAC,OAAO;YAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC9D;;;UAGE;QACF,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3C,IAAI,IAAI,GAAG,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC;QACzC,IAAI,QAAQ,EAAE;YACV,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC5B,IAAI,IAAI,KAAK,KAAK,EAAE;gBAChB,IAAI,GAAG,EAAE,CAAC,CAAC,uCAAuC;gBAClD,IAAI,OAAO,CAAC,KAAK,EAAE;oBACf,IAAI,EAAE,GAAG,IAAI,KAAK,CAAC,gCAAgC,GAAC,MAAM,GAAC,QAAQ,CAAC,CAAC;oBACrE,IAAI,OAAO,CAAC,OAAO;wBAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;;wBAC1C,MAAK,CAAC,EAAE,CAAC,CAAC;iBAClB;aACJ;SACJ;QACD,IAAI,GAAG,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC7E,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACjC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACvC,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KAChC;IAED,IAAI,OAAO,CAAC,OAAO;QAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAE3D,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;QACzD,OAAO,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC;aACvE,IAAI,CAAC,UAAU,IAAI;YAChB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;YAC3B,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACjC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;YAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAChC,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;aACD,KAAK,CAAC,UAAS,EAAE;YACd,IAAI,OAAO,CAAC,OAAO;gBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtC,MAAK,CAAC,EAAE,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;KACV;SACI,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QAChE,IAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACvF,OAAO,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC;aACrC,IAAI,CAAC,UAAU,GAAG;YACf,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,0BAAwB,GAAG,CAAC,MAAM,UAAK,MAAQ,CAAC,CAAC;YACzF,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC,CAAC;aACD,IAAI,CAAC,UAAU,IAAI;YAChB,IAAI;gBACA,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,EAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtE,IAAI,GAAG,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC;gBACrC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;gBACpC,yFAAyF;gBACzF,IAAI,QAAQ,EAAE;oBACV,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;oBAC5B,IAAI,IAAI,KAAK,KAAK,EAAE;wBAChB,IAAI,GAAG,EAAE,CAAC,CAAC,0CAA0C;wBACrD,IAAI,OAAO,CAAC,KAAK,EAAE;4BACf,IAAI,EAAE,GAAG,IAAI,KAAK,CAAC,gCAAgC,GAAC,MAAM,GAAC,QAAQ,CAAC,CAAC;4BACrE,IAAI,OAAO,CAAC,OAAO;gCAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;;gCAC1C,MAAK,CAAC,EAAE,CAAC,CAAC;yBAClB;qBACJ;iBACJ;gBACD,IAAI,GAAG,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC7E,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;aACpC;YACD,OAAO,EAAE,EAAE;gBACP,IAAI,OAAO,CAAC,OAAO;oBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACtC,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK;oBAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;;oBAC3D,MAAK,CAAC,EAAE,CAAC,CAAC;aAClB;YACD,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAChC,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;aACD,KAAK,CAAC,UAAU,GAAG;YAChB,IAAI,OAAO,CAAC,OAAO;gBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YAC3B,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK;gBAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;;gBAC5D,MAAK,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;KACV;SACI;QACD,OAAO,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC;aACnD,IAAI,CAAC,UAAU,IAAI;YAChB,IAAI;gBACA,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,EAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtE,IAAI,GAAG,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC;gBACrC;;kBAEE;gBACF,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,QAAQ,EAAE;oBACV,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;oBAC5B,IAAI,IAAI,KAAK,KAAK,EAAE;wBAChB,IAAI,GAAG,EAAE,CAAC,CAAC,0CAA0C;wBACrD,IAAI,OAAO,CAAC,KAAK,EAAE;4BACf,IAAI,EAAE,GAAG,IAAI,KAAK,CAAC,8BAA8B,GAAC,MAAM,GAAC,QAAQ,CAAC,CAAC;4BACnE,IAAI,OAAO,CAAC,OAAO;gCAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;;gCAC1C,MAAK,CAAC,EAAE,CAAC,CAAC;yBAClB;qBACJ;iBACJ;gBACD,IAAI,GAAG,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC7E,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;aACpC;YACD,OAAO,EAAE,EAAE;gBACP,IAAI,OAAO,CAAC,OAAO;oBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACtC,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK;oBAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;;oBAC3D,MAAK,CAAC,EAAE,CAAC,CAAC;aAClB;YACD,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAChC,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;aACD,KAAK,CAAC,UAAS,GAAG;YACf,IAAI,OAAO,CAAC,OAAO;gBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvC,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK;gBAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;;gBAC5D,MAAK,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;KACV;AACL,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAO;IAC7B,OAAO,IAAI,OAAO,CAAC,UAAU,GAAG,EAAE,GAAG;QAEjC,SAAS,KAAK,CAAC,GAAG,EAAC,GAAG,EAAC,KAAK;YACxB,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAC,MAAM,CAAC,EAAE;gBACpC,IAAI,MAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACzB,IAAI,CAAC,MAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,cAAc;oBAEvC,IAAI,MAAM,GAAG,EAAE,CAAC;oBAEhB,IAAI,CAAC,IAAI,CAAC,MAAI,CAAC,EAAE;wBACb,IAAI,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAS,CAAC,EAAC,CAAC,EAAC,CAAC;4BACjD,OAAO,MAAI,CAAC,UAAU,CAAC,CAAC,GAAC,GAAG,CAAC,CAAC;wBAClC,CAAC,CAAC,CAAC;wBACH,IAAI,SAAS,EAAE;4BACX,IAAI,OAAO,CAAC,OAAO;gCAAE,OAAO,CAAC,IAAI,CAAC,8BAA8B,EAAC,SAAS,CAAC,CAAC;4BAC5E,MAAM,GAAG,GAAG,GAAC,CAAC,MAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAE,EAAE,CAAC,CAAC;4BAC3E,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;4BACtD,MAAI,GAAG,SAAS,CAAC;yBACpB;qBACJ;oBAED,IAAI,CAAC,IAAI,CAAC,MAAI,CAAC,EAAE;wBACb,IAAI,CAAC,MAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAC,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;qBAC7F;oBACD,IAAI,IAAI,CAAC,MAAI,CAAC,CAAC,QAAQ,EAAE;wBACrB,IAAI,OAAO,CAAC,WAAW,EAAE;4BACrB,wBAAwB;4BACxB,IAAI,MAAM,GAAG,IAAI,CAAC,MAAI,CAAC,CAAC,UAAU,CAAC;4BACnC,IAAI,OAAO,CAAC,OAAO,GAAC,CAAC;gCAAE,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,MAAI,EAAE,MAAM,CAAC,CAAC;4BACnE,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,MAAI,CAAC;4BAC1B,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,MAAM,GAAC,MAAM,CAAC,CAAC,gCAAgC;yBAClE;6BACI;4BACD,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gCAAgC;yBACtE;qBACJ;yBACI;wBACD,IAAI,CAAC,MAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAClC,IAAI,CAAC,MAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;qBAC1C;iBACJ;aACJ;QACL,CAAC;QAED,IAAI,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC;QAEhC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,GAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC1E,iEAAiE;YACjE,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;SACpB;QAED,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,EAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAC,EAAE,KAAK,CAAC,CAAC;QAC9F,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAC,EAAE,KAAK,CAAC,CAAC;QAC5F,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAC,iBAAiB,EAAE,IAAI,EAAC,EAAE,KAAK,CAAC,CAAC;QAE3D,GAAG,CAAC,IAAI,CAAC,CAAC;IACd,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAO;IAC7B,OAAO,IAAI,OAAO,CAAC,UAAU,GAAG,EAAE,GAAG;QAEjC,gBAAgB,CAAC,OAAO,CAAC;aACxB,IAAI,CAAC,UAAU,IAAI;oCACP,GAAG;gBAER,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;oBACrB,IAAI,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;oBACnC,IAAI,KAAK,GAAC,CAAC;wBAAE,KAAK,EAAE,CAAC;oBACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;wBACjC,OAAO,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,IAAI,EAAE,MAAM,EAAE,OAAO;4BACjF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;gCACrB,IAAI,QAAQ,GAAG,EAAE,CAAC;gCAClB,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;gCAC7B,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;gCACpB,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;gCAChC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;gCACxB,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;gCACzB,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gCACjC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;6BAC7B;4BAED,IAAI,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE;gCACtD,QAAQ,EAAE,EAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO;oCAC5C,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;4BAC/E,IAAI,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,WAAW;gCAC3D,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,EAAE;gCAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC;6BAC5C;4BACD,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;4BAEtB,oEAAoE;4BACpE,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;4BACvC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAS,CAAC,EAAC,CAAC;gCACjC,IAAM,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC;gCAChF,IAAM,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC;gCAChF,IAAI,KAAK,IAAI,CAAC,KAAK;oCAAE,OAAO,CAAC,CAAC,CAAC;gCAC/B,IAAI,KAAK,IAAI,CAAC,KAAK;oCAAE,OAAO,CAAC,CAAC,CAAC;gCAC/B,OAAO,CAAC,CAAC;4BACb,CAAC,CAAC,CAAC;4BAEH,KAAgB,UAAQ,EAAR,qBAAQ,EAAR,sBAAQ,EAAR,IAAQ,EAAE;gCAArB,IAAI,GAAG;gCACR,yEAAyE;gCACzE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAC,CAAC,CAAC,EAAE;oCAC7F,IAAI,OAAO,CAAC,OAAO,GAAC,CAAC;wCAAE,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;oCACxE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,GAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,GAAG,GAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,gCAAgC;iCAC1J;qCACI;oCACD,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE;wCACtB,IAAI,OAAO,CAAC,OAAO,GAAC,CAAC;4CAAE,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;qCACtE;yCACI;wCACD,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC;wCAC3B,IAAI,OAAO,CAAC,OAAO,GAAC,CAAC;4CAAE,OAAO,CAAC,IAAI,CAAC,mCAAmC,EAAE,GAAG,CAAC,CAAC;qCACjF;oCACD,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;oCACxB,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,gCAAgC;iCACtE;6BACJ;4BACD,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;gCACpE,oHAAoH;gCACpH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,OAAO,gBAAgB,CAAC,YAAY,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,0CAA0C;6BAChK;wBACL,CAAC,CAAC,CAAC;oBACP,CAAC,CAAC,CAAC;iBACN;;YA7DL,KAAK,IAAI,GAAG,IAAI,IAAI;wBAAX,GAAG;aA8DX;QACL,CAAC,CAAC;aACD,KAAK,CAAC,UAAS,EAAE;YACd,IAAI,OAAO,CAAC,OAAO;gBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtC,GAAG,CAAC,EAAE,CAAC,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,IAAI,MAAM,GAAG,EAAC,OAAO,EAAC,OAAO,EAAC,CAAC;QAC/B,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClE,GAAG,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,IAAM,MAAM,GAAG,eAAK;IAChB,YAAK,CAAC,MAAM,CAAC,UAAC,OAAO,EAAE,IAAI;QACvB,cAAO,CAAC,IAAI,CAAC,gBAAM,IAAI,WAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAhD,CAAgD,CAAC;IAAxE,CAAwE,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AADlG,CACkG,CAAC;AAEvG,SAAS,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClC,gBAAgB,CAAC,OAAO,CAAC;SACpB,IAAI,CAAC,UAAU,IAAI;QAChB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;aACf,IAAI,CAAC;YACF,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE;gBACzD,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;gBACpD,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;aACpB;iBAAM;gBACH,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACzB,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE;oBACzD,UAAU,CAAC;wBACP,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;oBAC3C,CAAC,EAAE,CAAC,CAAC,CAAC;iBACT;qBACI;oBACD,IAAI,OAAO,CAAC,OAAO,GAAC,CAAC;wBAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAC,+BAA+B,EAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC/G,IAAI,OAAO,CAAC,eAAe,EAAE;wBACzB,IAAI,OAAO,CAAC,OAAO,GAAC,CAAC;4BAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAC,+BAA+B,EAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBAC/G,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAC,OAAO,CAAC,QAAQ,EAAC,EAAC,OAAO,EAAC,OAAO,CAAC,OAAO,GAAC,CAAC,EAAC,CAAC,CAAC;wBACtF,IAAI,OAAO,CAAC,OAAO,GAAC,CAAC;4BAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAC,+BAA+B,EAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;qBAClH;oBACD,OAAO,CAAC,OAAO,CAAC,OAAO,EAAC,EAAE,EAAC,UAAS,GAAG,EAAC,GAAG,EAAC,KAAK;wBAC7C,IAAI,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;4BACjB,IAAI,CAAC,OAAO,CAAC,YAAY;gCAAE,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC;yBACnD;oBACL,CAAC,CAAC,CAAC;oBACH,GAAG,CAAC,OAAO,CAAC,CAAC;iBAChB;aACJ;QACL,CAAC,CAAC;aACD,KAAK,CAAC,UAAU,EAAE;YACf,IAAI,OAAO,CAAC,OAAO;gBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtC,GAAG,CAAC,EAAE,CAAC,CAAC;QACZ,CAAC,CAAC,CAAC;IACX,CAAC,CAAC;SACD,KAAK,CAAC,UAAS,EAAE;QACd,IAAI,OAAO,CAAC,OAAO;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtC,GAAG,CAAC,EAAE,CAAC,CAAC;IACZ,CAAC,CAAC,CAAC;AACX,CAAC;AAED,SAAS,YAAY,CAAC,OAAO;IACzB,IAAI,CAAC,OAAO,CAAC,KAAK;QAAE,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;IACvC,IAAI,CAAC,OAAO,CAAC,KAAK;QAAE,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;IAE1C,IAAI,OAAO,CAAC,MAAM,EAAE;QAChB,IAAI,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,EAAE,wBAAwB;YAC3E,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SACjD;KACJ;IAED,IAAI,CAAC,OAAO,CAAC,SAAS;QAAE,OAAO,CAAC,SAAS,GAAG,EAAE,CAAC;IAC/C,IAAI,CAAC,OAAO,CAAC,YAAY;QAAE,OAAO,CAAC,YAAY,GAAG,EAAE,CAAC;IACrD,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAC;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC;AACpC,CAAC;AAED,iDAAiD;AACjD,SAAS,eAAe,CAAC,OAAO;IAC5B,YAAY,CAAC,OAAO,CAAC,CAAC;IACtB,OAAO,IAAI,OAAO,CAAC,UAAU,GAAG,EAAE,GAAG;QACjC,IAAI,OAAO,CAAC,OAAO;YACf,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC;;YAEjC,GAAG,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,OAAO,CAAC,OAAO,EAAC,MAAM,EAAC,OAAO;IACnC,IAAI,CAAC,OAAO;QAAE,OAAO,GAAG,EAAE,CAAC;IAC3B,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;IAC1B,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;IACxB,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IACvB,YAAY,CAAC,OAAO,CAAC,CAAC;IACtB,OAAO,IAAI,OAAO,CAAC,UAAU,GAAG,EAAE,GAAG;QACjC,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC;IACrC,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,OAAO,GAAG;IACb,eAAe,EAAE,eAAe;IAChC,OAAO,EAAE,OAAO;CACnB,CAAC;;;;;;;;ACnfW;AAEb,IAAM,OAAO,GAAG,mBAAO,CAAC,EAAc,CAAC,CAAC,OAAO,CAAC;AAChD,IAAM,KAAK,GAAG,mBAAO,CAAC,EAAY,CAAC,CAAC,YAAY,CAAC;AACjD,IAAM,IAAI,GAAG,mBAAO,CAAC,EAAW,CAAC,CAAC,IAAI,CAAC;AACvC,IAAM,KAAK,GAAG,mBAAO,CAAC,EAAY,CAAC,CAAC,KAAK,CAAC;AAE1C,IAAI,SAAS,GAAG,UAAU,OAAO;IAC7B,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE;QAC5B,OAAO;YACH,IAAI,EAAE;gBACF,IAAI,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACjD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACtC,CAAC;SACJ;KACJ;SACI;QACD,OAAO;YACH,IAAI,EAAE;gBACF,KAAK;YACT,CAAC;SACJ;KACJ;AACL,CAAC;AAED;;;;;;EAME;AACF,SAAS,WAAW,CAAC,CAAC,EAAC,WAAW,EAAC,OAAO;IACtC,IAAI,CAAC,OAAO;QAAE,OAAO,GAAG,EAAE,CAAC;IAC3B,IAAI,CAAC,OAAO,CAAC,KAAK;QAAE,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;IACvC,IAAI,CAAC,OAAO,CAAC,KAAK;QAAE,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;IACvC,OAAO,CAAC,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC;IACvC,mEAAmE;IACnE,OAAO,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,SAAS,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IAC9B,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IAClE,8DAA8D;IAC9D,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC;IAE1C,IAAI,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAEhC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,OAAO,OAAO,GAAG,CAAC,EAAE;QAChB,OAAO,GAAG,CAAC,CAAC;QAChB,OAAO,CAAC,SAAS,EAAC,OAAO,CAAC,KAAK,EAAC,UAAS,GAAG,EAAC,GAAG,EAAC,KAAK;YAClD,IAAI,KAAK,CAAC,GAAG,EAAC,GAAG,CAAC,EAAE;gBAChB,IAAI,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY;gBACjC,OAAO,EAAE,CAAC;gBACV,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;oBACtB,IAAI,KAAK,GAAG,EAAE,CAAC;oBACf,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1C,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;oBACjB,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAC,IAAI,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAClD,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;oBACpB,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC1C,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE;wBACtB,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAC5C,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;qBACjC;oBACD,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE;wBACtB,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC;qBAChD;oBACD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;oBAC5B,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAC,KAAK,CAAC,GAAG,CAAC,EAAC,KAAK,CAAC,MAAM,EAAC,OAAO,CAAC,CAAC;oBACvG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC;wBAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;oBACpH,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;iBACzB;qBACI;oBACD,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAChC,IAAI,KAAK,CAAC,QAAQ,EAAE;wBAChB,mDAAmD;wBACnD,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAC,IAAI,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAClD,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;wBACtC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC;4BAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;qBACvH;yBACI,IAAI,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE;wBAC1B,6BAA6B;wBAC7B,MAAM,IAAI,KAAK,CAAC,qBAAmB,KAAK,CAAC,IAAM,CAAC,CAAC;qBACpD;yBACI;wBACD,+CAA+C;wBAC/C,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;wBAC9B,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBACzD,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE;4BACpC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC;yBAC3D;wBACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC;4BAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;qBAC3G;iBACJ;aACJ;QACL,CAAC,CAAC,CAAC;KACF;IACD,OAAO,SAAS,CAAC,IAAI,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,OAAO,GAAG;IACb,WAAW,EAAG,WAAW;CAC5B,CAAC;;;;;;;ACvGF,gD;;;;;;;ACAa;AAEb;;;EAGE;AAEF;;;;EAIE;AACF,SAAS,eAAe;IACpB,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;AACjG,CAAC;AAED;;;;;;EAME;AACF,SAAS,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ;IAE/C,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,WAAW;QAAE,KAAK,GAAG,eAAe,EAAE,CAAC;IAClE,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,MAAM,KAAK,WAAW,CAAC;QAAE,OAAO,MAAM,CAAC;IACxE,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE;QACpC,IAAI,IAAI,GAAG,EAAC,IAAI,EAAC,MAAM,CAAC,IAAI,EAAC,CAAC;QAC9B,IAAI,KAAK,CAAC,gBAAgB,IAAI,MAAM,CAAC,WAAW,EAAE;YAC9C,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;SACzC;QACD,QAAQ,CAAC,IAAI,EAAC,MAAM,EAAC,KAAK,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC,CAAC,wCAAwC;KACxD;IAED,IAAI,KAAK,CAAC,OAAO,EAAE;QACf,IAAI,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1E,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAC,MAAM,CAAC,CAAC;YAClD,OAAO,MAAM,CAAC,KAAK,CAAC;SACvB;QACD,IAAI,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1E,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAC,MAAM,CAAC,CAAC;YAClD,OAAO,MAAM,CAAC,KAAK,CAAC;SACvB;QACD,IAAI,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1E,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAC,MAAM,CAAC,CAAC;YAClD,OAAO,MAAM,CAAC,KAAK,CAAC;SACvB;KACJ;IAED,QAAQ,CAAC,MAAM,EAAC,MAAM,EAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;QACxB,OAAO,MAAM,CAAC;KACjB;IACD,MAAM;IACN,IAAI,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAC,IAAI,CAAC,CAAC;IACnF,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC;IAClB,KAAK,CAAC,KAAK,EAAE,CAAC;IAEd,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,WAAW,EAAE;QACrC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;QACzB,UAAU,CAAC,MAAM,CAAC,KAAK,EAAC,MAAM,EAAC,KAAK,EAAC,QAAQ,CAAC,CAAC;KAClD;IACD,IAAI,MAAM,CAAC,eAAe,EAAE;QACxB,IAAI,OAAO,MAAM,CAAC,eAAe,KAAK,QAAQ,EAAE;YAC5C,KAAK,CAAC,QAAQ,GAAG,iBAAiB,CAAC;YACnC,UAAU,CAAC,MAAM,CAAC,eAAe,EAAC,MAAM,EAAC,KAAK,EAAC,QAAQ,CAAC,CAAC;SAC5D;KACJ;IACD,IAAI,MAAM,CAAC,oBAAoB,EAAE;QAC7B,IAAI,OAAO,MAAM,CAAC,oBAAoB,KAAK,QAAQ,EAAE;YACjD,KAAK,CAAC,QAAQ,GAAG,sBAAsB,CAAC;YACxC,UAAU,CAAC,MAAM,CAAC,oBAAoB,EAAC,MAAM,EAAC,KAAK,EAAC,QAAQ,CAAC,CAAC;SACjE;KACJ;IACD,IAAI,MAAM,CAAC,UAAU,EAAE;QACnB,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,EAAE;YAChC,IAAI,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACxC,KAAK,CAAC,QAAQ,GAAG,aAAa,GAAC,IAAI,CAAC;YACpC,UAAU,CAAC,SAAS,EAAC,MAAM,EAAC,KAAK,EAAC,QAAQ,CAAC,CAAC;SAC/C;KACJ;IACD,IAAI,MAAM,CAAC,iBAAiB,EAAE;QAC1B,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,EAAE;YACvC,IAAI,SAAS,GAAG,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC/C,KAAK,CAAC,QAAQ,GAAG,oBAAoB,GAAC,IAAI,CAAC;YAC3C,UAAU,CAAC,SAAS,EAAC,MAAM,EAAC,KAAK,EAAC,QAAQ,CAAC,CAAC;SAC/C;KACJ;IACD,IAAI,MAAM,CAAC,KAAK,EAAE;QACd,KAAK,IAAI,KAAK,IAAI,MAAM,CAAC,KAAK,EAAE;YAC5B,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpC,KAAK,CAAC,QAAQ,GAAG,QAAQ,GAAC,KAAK,CAAC;YAChC,UAAU,CAAC,SAAS,EAAC,MAAM,EAAC,KAAK,EAAC,QAAQ,CAAC,CAAC;SAC/C;KACJ;IACD,IAAI,MAAM,CAAC,KAAK,EAAE;QACd,KAAK,IAAI,KAAK,IAAI,MAAM,CAAC,KAAK,EAAE;YAC5B,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpC,KAAK,CAAC,QAAQ,GAAG,QAAQ,GAAC,KAAK,CAAC;YAChC,UAAU,CAAC,SAAS,EAAC,MAAM,EAAC,KAAK,EAAC,QAAQ,CAAC,CAAC;SAC/C;KACJ;IACD,IAAI,MAAM,CAAC,KAAK,EAAE;QACd,KAAK,IAAI,KAAK,IAAI,MAAM,CAAC,KAAK,EAAE;YAC5B,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpC,KAAK,CAAC,QAAQ,GAAG,QAAQ,GAAC,KAAK,CAAC;YAChC,UAAU,CAAC,SAAS,EAAC,MAAM,EAAC,KAAK,EAAC,QAAQ,CAAC,CAAC;SAC/C;KACJ;IACD,IAAI,MAAM,CAAC,GAAG,EAAE;QACZ,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;QACvB,UAAU,CAAC,MAAM,CAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC,QAAQ,CAAC,CAAC;KAChD;IACD,KAAK,CAAC,KAAK,EAAE,CAAC;IACd,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,OAAO,GAAG;IACb,eAAe,EAAE,eAAe;IAChC,UAAU,EAAE,UAAU;CACzB,CAAC;;;;;;;;AC1HW;AAEb,IAAM,IAAI,GAAG,mBAAO,CAAC,EAAM,CAAC,CAAC;AAE7B,IAAM,IAAI,GAAG;IACT,SAAS,EAAE,kBAAkB;IAC7B,KAAK,EAAE,eAAe;IACtB,KAAK,EAAE,aAAa;IACpB,KAAK,EAAE,YAAY;IACnB,KAAK,EAAE,aAAa;IACpB,KAAK,EAAE,cAAc;IACrB,KAAK,EAAE,cAAc;IACrB,KAAK,EAAE,iBAAiB,CAAC,kBAAkB;CAC9C,CAAC;AAEF,MAAM,CAAC,OAAO,GAAG;IACb,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAC,IAAI,EAAC,IAAI,CAAC,YAAY,CAAC;CACxD,CAAC;;;;;;;ACjBF,kEAAoB,mBAAO,CAAC,EAAe;AAC3C,eAAe,mBAAO,CAAC,EAAgB;AACvC,aAAa,mBAAO,CAAC,EAAO;AAC5B,kBAAkB,mBAAO,CAAC,EAAsB;AAChD,UAAU,mBAAO,CAAC,CAAK;;AAEvB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;ACpFA,gFAAiB,mBAAO,CAAC,EAAc;AACvC,eAAe,mBAAO,CAAC,EAAU;AACjC,eAAe,mBAAO,CAAC,EAAY;AACnC,aAAa,mBAAO,CAAC,EAAiB;AACtC,oBAAoB,mBAAO,CAAC,EAAgB;;AAE5C;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,IAAI;AACJ,2CAA2C;AAC3C,IAAI;AACJ,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,GAAG;AACH;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA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","file":"redoc.lib.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Redoc\"] = factory();\n\telse\n\t\troot[\"Redoc\"] = factory();\n})(this, function() {\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 = 83);\n","module.exports = require(\"react\");","module.exports = require(\"tslib\");","module.exports = require(\"polished\");","module.exports = require(\"mobx-react\");","module.exports = require(\"mobx\");","module.exports = require(\"url\");","module.exports = require(\"json-pointer\");","module.exports = require(\"lunr\");","module.exports = require(\"decko\");","module.exports = require(\"react-tabs\");","module.exports = require(\"prismjs\");","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","// .dirname, .basename, and .extname methods are extracted from Node.js v8.11.1,\n// backported and transplited with Babel, with backwards-compat fixes\n\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes, empty elements, or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === '.') {\n parts.splice(i, 1);\n } else if (last === '..') {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (allowAboveRoot) {\n for (; up--; up) {\n parts.unshift('..');\n }\n }\n\n return parts;\n}\n\n// path.resolve([from ...], to)\n// posix version\nexports.resolve = function() {\n var resolvedPath = '',\n resolvedAbsolute = false;\n\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = (i >= 0) ? arguments[i] : process.cwd();\n\n // Skip empty and invalid entries\n if (typeof path !== 'string') {\n throw new TypeError('Arguments to path.resolve must be strings');\n } else if (!path) {\n continue;\n }\n\n resolvedPath = path + '/' + resolvedPath;\n resolvedAbsolute = path.charAt(0) === '/';\n }\n\n // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n\n // Normalize the path\n resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) {\n return !!p;\n }), !resolvedAbsolute).join('/');\n\n return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nexports.normalize = function(path) {\n var isAbsolute = exports.isAbsolute(path),\n trailingSlash = substr(path, -1) === '/';\n\n // Normalize the path\n path = normalizeArray(filter(path.split('/'), function(p) {\n return !!p;\n }), !isAbsolute).join('/');\n\n if (!path && !isAbsolute) {\n path = '.';\n }\n if (path && trailingSlash) {\n path += '/';\n }\n\n return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nexports.isAbsolute = function(path) {\n return path.charAt(0) === '/';\n};\n\n// posix version\nexports.join = function() {\n var paths = Array.prototype.slice.call(arguments, 0);\n return exports.normalize(filter(paths, function(p, index) {\n if (typeof p !== 'string') {\n throw new TypeError('Arguments to path.join must be strings');\n }\n return p;\n }).join('/'));\n};\n\n\n// path.relative(from, to)\n// posix version\nexports.relative = function(from, to) {\n from = exports.resolve(from).substr(1);\n to = exports.resolve(to).substr(1);\n\n function trim(arr) {\n var start = 0;\n for (; start < arr.length; start++) {\n if (arr[start] !== '') break;\n }\n\n var end = arr.length - 1;\n for (; end >= 0; end--) {\n if (arr[end] !== '') break;\n }\n\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n\n var fromParts = trim(from.split('/'));\n var toParts = trim(to.split('/'));\n\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push('..');\n }\n\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n return outputParts.join('/');\n};\n\nexports.sep = '/';\nexports.delimiter = ':';\n\nexports.dirname = function (path) {\n if (typeof path !== 'string') path = path + '';\n if (path.length === 0) return '.';\n var code = path.charCodeAt(0);\n var hasRoot = code === 47 /*/*/;\n var end = -1;\n var matchedSlash = true;\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n\n if (end === -1) return hasRoot ? '/' : '.';\n if (hasRoot && end === 1) {\n // return '//';\n // Backwards-compat fix:\n return '/';\n }\n return path.slice(0, end);\n};\n\nfunction basename(path) {\n if (typeof path !== 'string') path = path + '';\n\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n\n for (i = path.length - 1; i >= 0; --i) {\n if (path.charCodeAt(i) === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1) return '';\n return path.slice(start, end);\n}\n\n// Uses a mixed approach for backwards-compatibility, as ext behavior changed\n// in new Node.js versions, so only basename() above is backported here\nexports.basename = function (path, ext) {\n var f = basename(path);\n if (ext && f.substr(-1 * ext.length) === ext) {\n f = f.substr(0, f.length - ext.length);\n }\n return f;\n};\n\nexports.extname = function (path) {\n if (typeof path !== 'string') path = path + '';\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n for (var i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 || end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n return '';\n }\n return path.slice(startDot, end);\n};\n\nfunction filter (xs, f) {\n if (xs.filter) return xs.filter(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n if (f(xs[i], i, xs)) res.push(xs[i]);\n }\n return res;\n}\n\n// String.prototype.substr - negative index don't work in IE8\nvar substr = 'ab'.substr(-1) === 'b'\n ? function (str, start, len) { return str.substr(start, len) }\n : function (str, start, len) {\n if (start < 0) start = str.length + start;\n return str.substr(start, len);\n }\n;\n","module.exports = require(\"prop-types\");","module.exports = require(\"marked\");","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","module.exports = undefined;","'use strict';\n\n/**\n* escapes JSON Pointer using ~0 for ~ and ~1 for /\n* @param s the string to escape\n* @return the escaped string\n*/\nfunction jpescape(s) {\n return s.replace(/\\~/g, '~0').replace(/\\//g, '~1');\n}\n\n/**\n* unescapes JSON Pointer using ~0 for ~ and ~1 for /\n* @param s the string to unescape\n* @return the unescaped string\n*/\nfunction jpunescape(s) {\n return s.replace(/\\~1/g, '/').replace(/~0/g, '~');\n}\n\n// JSON Pointer specification: http://tools.ietf.org/html/rfc6901\n\n/**\n* from obj, return the property with a JSON Pointer prop, optionally setting it\n* to newValue\n* @param obj the object to point into\n* @param prop the JSON Pointer or JSON Reference\n* @param newValue optional value to set the property to\n* @return the found property, or false\n*/\nfunction jptr(obj, prop, newValue) {\n if (typeof obj === 'undefined') return false;\n if (!prop || typeof prop !== 'string' || (prop === '#')) return (typeof newValue !== 'undefined' ? newValue : obj);\n\n if (prop.indexOf('#')>=0) {\n let parts = prop.split('#');\n let uri = parts[0];\n if (uri) return false; // we do internal resolution only\n prop = parts[1];\n prop = decodeURIComponent(prop.slice(1).split('+').join(' '));\n }\n if (prop.startsWith('/')) prop = prop.slice(1);\n\n let components = prop.split('/');\n for (let i=0;i 0) ? components[i-1] : ''; // backtrack to indexed property name\n }\n\n if ((index != -1) || obj.hasOwnProperty(components[i])) {\n if (index >= 0) {\n if (setAndLast) {\n obj[index] = newValue;\n }\n obj = obj[index];\n }\n else if (index === -2) {\n if (setAndLast) {\n if (Array.isArray(obj)) {\n obj.push(newValue);\n }\n return newValue;\n }\n else return undefined;\n }\n else {\n if (setAndLast) {\n obj[components[i]] = newValue;\n }\n obj = obj[components[i]];\n }\n }\n else {\n if ((typeof newValue !== 'undefined') && (typeof obj === 'object') &&\n (!Array.isArray(obj))) {\n obj[components[i]] = (setAndLast ? newValue : ((components[i+1] === '0' || components[i+1] === '-') ? [] : {}));\n obj = obj[components[i]];\n }\n else return false;\n }\n }\n return obj;\n}\n\nmodule.exports = {\n jptr : jptr,\n jpescape : jpescape,\n jpunescape : jpunescape\n};\n","'use strict';\n\n/**\n* a collection of cloning functions\n*/\n\n/**\n* a no-op placeholder which returns the given object unchanged\n* useful for when a clone function needs to be passed but cloning is not\n* required\n* @param obj the input object\n* @return the input object, unchanged\n*/\nfunction nop(obj) {\n return obj;\n}\n\n/**\n* clones the given object using JSON.parse and JSON.stringify\n* @param obj the object to clone\n* @return the cloned object\n*/\nfunction clone(obj) {\n return JSON.parse(JSON.stringify(obj));\n}\n\n/**\n* clones the given object's properties shallowly, ignores properties from prototype\n* @param obj the object to clone\n* @return the cloned object\n*/\nfunction shallowClone(obj) {\n let result = {};\n for (let p in obj) {\n if (obj.hasOwnProperty(p)) {\n result[p] = obj[p];\n }\n }\n return result;\n}\n\n/**\n* clones the given object's properties deeply, ignores properties from prototype\n* @param obj the object to clone\n* @return the cloned object\n*/\nfunction deepClone(obj) {\n let result = Array.isArray(obj) ? [] : {};\n for (let p in obj) {\n if (obj.hasOwnProperty(p) || Array.isArray(obj)) {\n result[p] = (typeof obj[p] === 'object') ? deepClone(obj[p]) : obj[p];\n }\n }\n return result;\n}\n\n/**\n* clones the given object's properties shallowly, using Object.assign\n* @param obj the object to clone\n* @return the cloned object\n*/\nfunction fastClone(obj) {\n return Object.assign({},obj);\n}\n\n/**\n* Source: stackoverflow http://bit.ly/2A1Kha6\n*/\n\nfunction circularClone(obj, hash) {\n if (!hash) hash = new WeakMap();\n // Do not try to clone primitives or functions\n if (Object(obj) !== obj || obj instanceof Function) return obj;\n if (hash.has(obj)) return hash.get(obj); // Cyclic reference\n try { // Try to run constructor (without arguments, as we don't know them)\n var result = new obj.constructor();\n } catch(e) { // Constructor failed, create object without running the constructor\n result = Object.create(Object.getPrototypeOf(obj));\n }\n // Optional: support for some standard constructors (extend as desired)\n /*if (obj instanceof Map)\n Array.from(obj, ([key, val]) => result.set(circularClone(key, hash),\n circularClone(val, hash)) );\n else if (obj instanceof Set)\n Array.from(obj, (key) => result.add(circularClone(key, hash)) );\n */\n // Register in hash\n hash.set(obj, result);\n // Clone and assign enumerable own properties recursively\n return Object.assign(result, ...Object.keys(obj).map (\n key => ({ [key]: circularClone(obj[key], hash) }) ));\n}\n\nmodule.exports = {\n nop : nop,\n clone : clone,\n shallowClone : shallowClone,\n deepClone : deepClone,\n fastClone : fastClone,\n circularClone : circularClone\n};\n\n","module.exports = require(\"eventemitter3\");","module.exports = require(\"url-template\");","'use strict';\n\nfunction isRef(obj,key) {\n return ((key === '$ref') && (!!obj && typeof obj[key] === 'string'));\n}\n\nmodule.exports = {\n isRef: isRef\n};\n\n","'use strict';\n\nconst jpescape = require('./jptr.js').jpescape;\n\nfunction defaultState() {\n return {\n path: '#',\n depth: 0,\n pkey: '',\n parent: {},\n payload: {},\n seen: new WeakMap(),\n identity: false,\n identityDetection: false\n };\n}\n\n/**\n* recurses through the properties of an object, given an optional starting state\n* anything you pass in state.payload is passed to the callback each time\n* @param object the object to recurse through\n* @param state optional starting state, can be set to null or {}\n* @param callback the function which receives object,key,state on each property\n*/\nfunction recurse(object, state, callback) {\n if (!state) state = {depth:0};\n if (!state.depth) {\n state = Object.assign({},defaultState(),state);\n }\n if (typeof object !== 'object') return;\n let oPath = state.path;\n for (let key in object) {\n state.key = key;\n state.path = state.path + '/' + encodeURIComponent(jpescape(key));\n state.identityPath = state.seen.get(object[key]);\n state.identity = (typeof state.identityPath !== 'undefined');\n if (object.hasOwnProperty(key)) {\n callback(object, key, state);\n }\n if ((typeof object[key] === 'object') && (!state.identity)) {\n if (state.identityDetection && !Array.isArray(object[key]) && object[key] !== null) {\n state.seen.set(object[key],state.path);\n }\n let newState = {};\n newState.parent = object;\n newState.path = state.path;\n newState.depth = state.depth ? state.depth+1 : 1;\n newState.pkey = key;\n newState.payload = state.payload;\n newState.seen = state.seen;\n newState.identity = false;\n newState.identityDetection = state.identityDetection;\n recurse(object[key], newState, callback);\n }\n state.path = oPath;\n }\n}\n\nmodule.exports = {\n recurse : recurse\n};\n\n","module.exports = require(\"mark.js\");","module.exports = require(\"openapi-sampler\");","module.exports = require(\"perfect-scrollbar\");","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"/*\\n * Container style\\n */\\n.ps {\\n overflow: hidden !important;\\n overflow-anchor: none;\\n -ms-overflow-style: none;\\n touch-action: auto;\\n -ms-touch-action: auto;\\n}\\n\\n/*\\n * Scrollbar rail styles\\n */\\n.ps__rail-x {\\n display: none;\\n opacity: 0;\\n transition: background-color .2s linear, opacity .2s linear;\\n -webkit-transition: background-color .2s linear, opacity .2s linear;\\n height: 15px;\\n /* there must be 'bottom' or 'top' for ps__rail-x */\\n bottom: 0px;\\n /* please don't change 'position' */\\n position: absolute;\\n}\\n\\n.ps__rail-y {\\n display: none;\\n opacity: 0;\\n transition: background-color .2s linear, opacity .2s linear;\\n -webkit-transition: background-color .2s linear, opacity .2s linear;\\n width: 15px;\\n /* there must be 'right' or 'left' for ps__rail-y */\\n right: 0;\\n /* please don't change 'position' */\\n position: absolute;\\n}\\n\\n.ps--active-x > .ps__rail-x,\\n.ps--active-y > .ps__rail-y {\\n display: block;\\n background-color: transparent;\\n}\\n\\n.ps:hover > .ps__rail-x,\\n.ps:hover > .ps__rail-y,\\n.ps--focus > .ps__rail-x,\\n.ps--focus > .ps__rail-y,\\n.ps--scrolling-x > .ps__rail-x,\\n.ps--scrolling-y > .ps__rail-y {\\n opacity: 0.6;\\n}\\n\\n.ps .ps__rail-x:hover,\\n.ps .ps__rail-y:hover,\\n.ps .ps__rail-x:focus,\\n.ps .ps__rail-y:focus,\\n.ps .ps__rail-x.ps--clicking,\\n.ps .ps__rail-y.ps--clicking {\\n background-color: #eee;\\n opacity: 0.9;\\n}\\n\\n/*\\n * Scrollbar thumb styles\\n */\\n.ps__thumb-x {\\n background-color: #aaa;\\n border-radius: 6px;\\n transition: background-color .2s linear, height .2s ease-in-out;\\n -webkit-transition: background-color .2s linear, height .2s ease-in-out;\\n height: 6px;\\n /* there must be 'bottom' for ps__thumb-x */\\n bottom: 2px;\\n /* please don't change 'position' */\\n position: absolute;\\n}\\n\\n.ps__thumb-y {\\n background-color: #aaa;\\n border-radius: 6px;\\n transition: background-color .2s linear, width .2s ease-in-out;\\n -webkit-transition: background-color .2s linear, width .2s ease-in-out;\\n width: 6px;\\n /* there must be 'right' for ps__thumb-y */\\n right: 2px;\\n /* please don't change 'position' */\\n position: absolute;\\n}\\n\\n.ps__rail-x:hover > .ps__thumb-x,\\n.ps__rail-x:focus > .ps__thumb-x,\\n.ps__rail-x.ps--clicking .ps__thumb-x {\\n background-color: #999;\\n height: 11px;\\n}\\n\\n.ps__rail-y:hover > .ps__thumb-y,\\n.ps__rail-y:focus > .ps__thumb-y,\\n.ps__rail-y.ps--clicking .ps__thumb-y {\\n background-color: #999;\\n width: 11px;\\n}\\n\\n/* MS supports */\\n@supports (-ms-overflow-style: none) {\\n .ps {\\n overflow: auto !important;\\n }\\n}\\n\\n@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {\\n .ps {\\n overflow: auto !important;\\n }\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","'use strict';\n\nconst sjs = require('fast-safe-stringify');\n\nconst colour = process.env.NODE_DISABLE_COLORS ?\n { red: '', yellow: '', green: '', normal: '' } :\n { red: '\\x1b[31m', yellow: '\\x1b[33;1m', green: '\\x1b[32m', normal: '\\x1b[0m' };\n\nfunction uniqueOnly(value, index, self) {\n return self.indexOf(value) === index;\n}\n\nfunction hasDuplicates(array) {\n return (new Set(array)).size !== array.length;\n}\n\nfunction allSame(array) {\n return (new Set(array)).size <= 1;\n}\n\nfunction deepEquals(obj1, obj2) {\n function _equals(obj1, obj2) {\n return sjs.stringify(obj1) === sjs.stringify(Object.assign({}, obj1, obj2));\n }\n return _equals(obj1, obj2) && _equals(obj2, obj1);\n}\n\nfunction compressArray(arr) {\n let result = [];\n for (let candidate of arr) {\n let dupe = result.find(function(e,i,a){\n return deepEquals(e,candidate);\n });\n if (!dupe) result.push(candidate);\n }\n return result;\n}\n\nfunction distinctArray(arr) {\n return (arr.length === compressArray(arr).length);\n}\n\nfunction firstDupe(arr) {\n return arr.find(function(e,i,a){\n return arr.indexOf(e)\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","exports.fetch = isFunction(global.fetch) && isFunction(global.ReadableStream)\n\nexports.writableStream = isFunction(global.WritableStream)\n\nexports.abortController = isFunction(global.AbortController)\n\nexports.blobConstructor = false\ntry {\n\tnew Blob([new ArrayBuffer(1)])\n\texports.blobConstructor = true\n} catch (e) {}\n\n// The xhr request to example.com may violate some restrictive CSP configurations,\n// so if we're running in a browser that supports `fetch`, avoid calling getXHR()\n// and assume support for certain features below.\nvar xhr\nfunction getXHR () {\n\t// Cache the xhr value\n\tif (xhr !== undefined) return xhr\n\n\tif (global.XMLHttpRequest) {\n\t\txhr = new global.XMLHttpRequest()\n\t\t// If XDomainRequest is available (ie only, where xhr might not work\n\t\t// cross domain), use the page location. Otherwise use example.com\n\t\t// Note: this doesn't actually make an http request.\n\t\ttry {\n\t\t\txhr.open('GET', global.XDomainRequest ? '/' : 'https://example.com')\n\t\t} catch(e) {\n\t\t\txhr = null\n\t\t}\n\t} else {\n\t\t// Service workers don't have XHR\n\t\txhr = null\n\t}\n\treturn xhr\n}\n\nfunction checkTypeSupport (type) {\n\tvar xhr = getXHR()\n\tif (!xhr) return false\n\ttry {\n\t\txhr.responseType = type\n\t\treturn xhr.responseType === type\n\t} catch (e) {}\n\treturn false\n}\n\n// For some strange reason, Safari 7.0 reports typeof global.ArrayBuffer === 'object'.\n// Safari 7.1 appears to have fixed this bug.\nvar haveArrayBuffer = typeof global.ArrayBuffer !== 'undefined'\nvar haveSlice = haveArrayBuffer && isFunction(global.ArrayBuffer.prototype.slice)\n\n// If fetch is supported, then arraybuffer will be supported too. Skip calling\n// checkTypeSupport(), since that calls getXHR().\nexports.arraybuffer = exports.fetch || (haveArrayBuffer && checkTypeSupport('arraybuffer'))\n\n// These next two tests unavoidably show warnings in Chrome. Since fetch will always\n// be used if it's available, just return false for these to avoid the warnings.\nexports.msstream = !exports.fetch && haveSlice && checkTypeSupport('ms-stream')\nexports.mozchunkedarraybuffer = !exports.fetch && haveArrayBuffer &&\n\tcheckTypeSupport('moz-chunked-arraybuffer')\n\n// If fetch is supported, then overrideMimeType will be supported too. Skip calling\n// getXHR().\nexports.overrideMimeType = exports.fetch || (getXHR() ? isFunction(getXHR().overrideMimeType) : false)\n\nexports.vbArray = isFunction(global.VBArray)\n\nfunction isFunction (value) {\n\treturn typeof value === 'function'\n}\n\nxhr = null // Help gc\n","module.exports = require(\"inherits\");","var capability = require('./capability')\nvar inherits = require('inherits')\nvar stream = require('readable-stream')\n\nvar rStates = exports.readyStates = {\n\tUNSENT: 0,\n\tOPENED: 1,\n\tHEADERS_RECEIVED: 2,\n\tLOADING: 3,\n\tDONE: 4\n}\n\nvar IncomingMessage = exports.IncomingMessage = function (xhr, response, mode, fetchTimer) {\n\tvar self = this\n\tstream.Readable.call(self)\n\n\tself._mode = mode\n\tself.headers = {}\n\tself.rawHeaders = []\n\tself.trailers = {}\n\tself.rawTrailers = []\n\n\t// Fake the 'close' event, but only once 'end' fires\n\tself.on('end', function () {\n\t\t// The nextTick is necessary to prevent the 'request' module from causing an infinite loop\n\t\tprocess.nextTick(function () {\n\t\t\tself.emit('close')\n\t\t})\n\t})\n\n\tif (mode === 'fetch') {\n\t\tself._fetchResponse = response\n\n\t\tself.url = response.url\n\t\tself.statusCode = response.status\n\t\tself.statusMessage = response.statusText\n\t\t\n\t\tresponse.headers.forEach(function (header, key){\n\t\t\tself.headers[key.toLowerCase()] = header\n\t\t\tself.rawHeaders.push(key, header)\n\t\t})\n\n\t\tif (capability.writableStream) {\n\t\t\tvar writable = new WritableStream({\n\t\t\t\twrite: function (chunk) {\n\t\t\t\t\treturn new Promise(function (resolve, reject) {\n\t\t\t\t\t\tif (self._destroyed) {\n\t\t\t\t\t\t\treject()\n\t\t\t\t\t\t} else if(self.push(new Buffer(chunk))) {\n\t\t\t\t\t\t\tresolve()\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tself._resumeFetch = resolve\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tclose: function () {\n\t\t\t\t\tglobal.clearTimeout(fetchTimer)\n\t\t\t\t\tif (!self._destroyed)\n\t\t\t\t\t\tself.push(null)\n\t\t\t\t},\n\t\t\t\tabort: function (err) {\n\t\t\t\t\tif (!self._destroyed)\n\t\t\t\t\t\tself.emit('error', err)\n\t\t\t\t}\n\t\t\t})\n\n\t\t\ttry {\n\t\t\t\tresponse.body.pipeTo(writable).catch(function (err) {\n\t\t\t\t\tglobal.clearTimeout(fetchTimer)\n\t\t\t\t\tif (!self._destroyed)\n\t\t\t\t\t\tself.emit('error', err)\n\t\t\t\t})\n\t\t\t\treturn\n\t\t\t} catch (e) {} // pipeTo method isn't defined. Can't find a better way to feature test this\n\t\t}\n\t\t// fallback for when writableStream or pipeTo aren't available\n\t\tvar reader = response.body.getReader()\n\t\tfunction read () {\n\t\t\treader.read().then(function (result) {\n\t\t\t\tif (self._destroyed)\n\t\t\t\t\treturn\n\t\t\t\tif (result.done) {\n\t\t\t\t\tglobal.clearTimeout(fetchTimer)\n\t\t\t\t\tself.push(null)\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tself.push(new Buffer(result.value))\n\t\t\t\tread()\n\t\t\t}).catch(function (err) {\n\t\t\t\tglobal.clearTimeout(fetchTimer)\n\t\t\t\tif (!self._destroyed)\n\t\t\t\t\tself.emit('error', err)\n\t\t\t})\n\t\t}\n\t\tread()\n\t} else {\n\t\tself._xhr = xhr\n\t\tself._pos = 0\n\n\t\tself.url = xhr.responseURL\n\t\tself.statusCode = xhr.status\n\t\tself.statusMessage = xhr.statusText\n\t\tvar headers = xhr.getAllResponseHeaders().split(/\\r?\\n/)\n\t\theaders.forEach(function (header) {\n\t\t\tvar matches = header.match(/^([^:]+):\\s*(.*)/)\n\t\t\tif (matches) {\n\t\t\t\tvar key = matches[1].toLowerCase()\n\t\t\t\tif (key === 'set-cookie') {\n\t\t\t\t\tif (self.headers[key] === undefined) {\n\t\t\t\t\t\tself.headers[key] = []\n\t\t\t\t\t}\n\t\t\t\t\tself.headers[key].push(matches[2])\n\t\t\t\t} else if (self.headers[key] !== undefined) {\n\t\t\t\t\tself.headers[key] += ', ' + matches[2]\n\t\t\t\t} else {\n\t\t\t\t\tself.headers[key] = matches[2]\n\t\t\t\t}\n\t\t\t\tself.rawHeaders.push(matches[1], matches[2])\n\t\t\t}\n\t\t})\n\n\t\tself._charset = 'x-user-defined'\n\t\tif (!capability.overrideMimeType) {\n\t\t\tvar mimeType = self.rawHeaders['mime-type']\n\t\t\tif (mimeType) {\n\t\t\t\tvar charsetMatch = mimeType.match(/;\\s*charset=([^;])(;|$)/)\n\t\t\t\tif (charsetMatch) {\n\t\t\t\t\tself._charset = charsetMatch[1].toLowerCase()\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!self._charset)\n\t\t\t\tself._charset = 'utf-8' // best guess\n\t\t}\n\t}\n}\n\ninherits(IncomingMessage, stream.Readable)\n\nIncomingMessage.prototype._read = function () {\n\tvar self = this\n\n\tvar resolve = self._resumeFetch\n\tif (resolve) {\n\t\tself._resumeFetch = null\n\t\tresolve()\n\t}\n}\n\nIncomingMessage.prototype._onXHRProgress = function () {\n\tvar self = this\n\n\tvar xhr = self._xhr\n\n\tvar response = null\n\tswitch (self._mode) {\n\t\tcase 'text:vbarray': // For IE9\n\t\t\tif (xhr.readyState !== rStates.DONE)\n\t\t\t\tbreak\n\t\t\ttry {\n\t\t\t\t// This fails in IE8\n\t\t\t\tresponse = new global.VBArray(xhr.responseBody).toArray()\n\t\t\t} catch (e) {}\n\t\t\tif (response !== null) {\n\t\t\t\tself.push(new Buffer(response))\n\t\t\t\tbreak\n\t\t\t}\n\t\t\t// Falls through in IE8\t\n\t\tcase 'text':\n\t\t\ttry { // This will fail when readyState = 3 in IE9. Switch mode and wait for readyState = 4\n\t\t\t\tresponse = xhr.responseText\n\t\t\t} catch (e) {\n\t\t\t\tself._mode = 'text:vbarray'\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tif (response.length > self._pos) {\n\t\t\t\tvar newData = response.substr(self._pos)\n\t\t\t\tif (self._charset === 'x-user-defined') {\n\t\t\t\t\tvar buffer = new Buffer(newData.length)\n\t\t\t\t\tfor (var i = 0; i < newData.length; i++)\n\t\t\t\t\t\tbuffer[i] = newData.charCodeAt(i) & 0xff\n\n\t\t\t\t\tself.push(buffer)\n\t\t\t\t} else {\n\t\t\t\t\tself.push(newData, self._charset)\n\t\t\t\t}\n\t\t\t\tself._pos = response.length\n\t\t\t}\n\t\t\tbreak\n\t\tcase 'arraybuffer':\n\t\t\tif (xhr.readyState !== rStates.DONE || !xhr.response)\n\t\t\t\tbreak\n\t\t\tresponse = xhr.response\n\t\t\tself.push(new Buffer(new Uint8Array(response)))\n\t\t\tbreak\n\t\tcase 'moz-chunked-arraybuffer': // take whole\n\t\t\tresponse = xhr.response\n\t\t\tif (xhr.readyState !== rStates.LOADING || !response)\n\t\t\t\tbreak\n\t\t\tself.push(new Buffer(new Uint8Array(response)))\n\t\t\tbreak\n\t\tcase 'ms-stream':\n\t\t\tresponse = xhr.response\n\t\t\tif (xhr.readyState !== rStates.LOADING)\n\t\t\t\tbreak\n\t\t\tvar reader = new global.MSStreamReader()\n\t\t\treader.onprogress = function () {\n\t\t\t\tif (reader.result.byteLength > self._pos) {\n\t\t\t\t\tself.push(new Buffer(new Uint8Array(reader.result.slice(self._pos))))\n\t\t\t\t\tself._pos = reader.result.byteLength\n\t\t\t\t}\n\t\t\t}\n\t\t\treader.onload = function () {\n\t\t\t\tself.push(null)\n\t\t\t}\n\t\t\t// reader.onerror = ??? // TODO: this\n\t\t\treader.readAsArrayBuffer(response)\n\t\t\tbreak\n\t}\n\n\t// The ms-stream case handles end separately in reader.onload()\n\tif (self._xhr.readyState === rStates.DONE && self._mode !== 'ms-stream') {\n\t\tself.push(null)\n\t}\n}\n","module.exports = require(\"readable-stream\");","import * as lunr from 'lunr';\n\ntry {\n // tslint:disable-next-line\n require('core-js/es/promise'); // bundle into worker\n\n} catch (_) {// nope\n}\n/* just for better typings */\n\n\nexport default class Worker {\n add: typeof add = add;\n done = done;\n search: typeof search = search;\n toJS = toJS;\n load = load;\n dispose = dispose;\n fromExternalJS = fromExternalJS;\n}\nexport interface SearchDocument {\n title: string;\n description: string;\n id: string;\n}\nexport interface SearchResult {\n meta: T;\n score: number;\n}\nlet store: any[] = [];\nlunr.tokenizer.separator = /\\s+/;\nlet builder: lunr.Builder;\nlet resolveIndex: (v: lunr.Index) => void;\nlet index: Promise;\n\nfunction initEmpty() {\n builder = new lunr.Builder();\n builder.field('title');\n builder.field('description');\n builder.ref('ref');\n builder.pipeline.add(lunr.trimmer, lunr.stopWordFilter, lunr.stemmer);\n index = new Promise(resolve => {\n resolveIndex = resolve;\n });\n}\n\ninitEmpty();\n\nconst expandTerm = term => '*' + lunr.stemmer(new lunr.Token(term, {})) + '*';\n\nexport function add(title: string, description: string, meta?: T) {\n const ref = store.push(meta) - 1;\n const item = {\n title: title.toLowerCase(),\n description: description.toLowerCase(),\n ref\n };\n builder.add(item);\n}\nexport async function done() {\n resolveIndex(builder.build());\n}\nexport async function toJS() {\n return {\n store,\n index: (await index).toJSON()\n };\n}\nexport async function fromExternalJS(path: string, exportName: string) {\n try {\n importScripts(path);\n\n if (!self[exportName]) {\n throw new Error('Broken index file format');\n }\n\n load(self[exportName]);\n } catch (e) {\n console.error('Failed to load search index: ' + e.message);\n }\n}\nexport async function load(state: any) {\n store = state.store;\n resolveIndex(lunr.Index.load(state.index));\n}\nexport async function dispose() {\n store = [];\n initEmpty();\n}\nexport async function search(q: string, limit = 0): Promise>> {\n if (q.trim().length === 0) {\n return [];\n }\n\n let searchResults = (await index).query(t => {\n q.trim().toLowerCase().split(/\\s+/).forEach(term => {\n if (term.length === 1) return;\n const exp = expandTerm(term);\n t.term(exp, {});\n });\n });\n\n if (limit > 0) {\n searchResults = searchResults.slice(0, limit);\n }\n\n return searchResults.map(res => ({\n meta: store[res.ref],\n score: res.score\n }));\n}","module.exports = require(\"slugify\");","module.exports = require(\"styled-components\");","module.exports = require(\"json-schema-ref-parser\");","// @ts-check\n'use strict';\n\nconst fs = require('fs');\nconst url = require('url');\nconst pathlib = require('path');\n\nconst maybe = require('call-me-maybe');\nconst fetch = require('node-fetch-h2');\nconst yaml = require('yaml');\n\nconst jptr = require('reftools/lib/jptr.js');\nconst resolveInternal = jptr.jptr;\nconst isRef = require('reftools/lib/isref.js').isRef;\nconst clone = require('reftools/lib/clone.js').clone;\nconst cclone = require('reftools/lib/clone.js').circularClone;\nconst recurse = require('reftools/lib/recurse.js').recurse;\nconst resolver = require('oas-resolver');\nconst sw = require('oas-schema-walker');\nconst common = require('oas-kit-common');\n\nconst statusCodes = require('./lib/statusCodes.js').statusCodes;\n\nconst ourVersion = require('./package.json').version;\n\n// TODO handle specification-extensions with plugins?\n\nconst targetVersion = '3.0.0';\nlet componentNames; // initialised in main\n\nclass S2OError extends Error {\n constructor(message) {\n super(message);\n this.name = 'S2OError';\n }\n}\n\nfunction throwError(message, options) {\n let err = new S2OError(message);\n err.options = options;\n if (options.promise) {\n options.promise.reject(err);\n }\n else {\n throw err;\n }\n}\n\nfunction throwOrWarn(message, container, options) {\n if (options.warnOnly) {\n container[options.warnProperty||'x-s2o-warning'] = message;\n }\n else {\n throwError(message, options);\n }\n}\n\nfunction fixUpSubSchema(schema,parent,options) {\n if (schema.nullable) options.patches++;\n if (schema.discriminator && typeof schema.discriminator === 'string') {\n schema.discriminator = { propertyName: schema.discriminator };\n }\n if (schema.items && Array.isArray(schema.items)) {\n if (schema.items.length === 0) {\n schema.items = {};\n }\n else if (schema.items.length === 1) {\n schema.items = schema.items[0];\n }\n else schema.items = { anyOf: schema.items };\n }\n\n if (schema.type && Array.isArray(schema.type)) {\n if (options.patch) {\n options.patches++;\n if (schema.type.length === 0) {\n delete schema.type;\n }\n else {\n if (!schema.oneOf) schema.oneOf = [];\n for (let type of schema.type) {\n let newSchema = {};\n if (type === 'null') {\n schema.nullable = true;\n }\n else {\n newSchema.type = type;\n for (let prop of common.arrayProperties) {\n if (typeof schema.prop !== 'undefined') {\n newSchema[prop] = schema[prop];\n delete schema[prop];\n }\n }\n }\n if (newSchema.type) {\n schema.oneOf.push(newSchema);\n }\n }\n delete schema.type;\n if (schema.oneOf.length === 0) {\n delete schema.oneOf; // means was just null => nullable\n }\n else if (schema.oneOf.length < 2) {\n schema.type = schema.oneOf[0].type;\n if (Object.keys(schema.oneOf[0]).length > 1) {\n throwOrWarn('Lost properties from oneOf',schema,options);\n }\n delete schema.oneOf;\n }\n }\n // do not else this\n if (schema.type && Array.isArray(schema.type) && schema.type.length === 1) {\n schema.type = schema.type[0];\n }\n }\n else {\n throwError('(Patchable) schema type must not be an array', options);\n }\n }\n\n if (schema.type && schema.type === 'null') {\n delete schema.type;\n schema.nullable = true;\n }\n if ((schema.type === 'array') && (!schema.items)) {\n schema.items = {};\n }\n if (typeof schema.required === 'boolean') {\n if (schema.required && schema.name) {\n if (typeof parent.required === 'undefined') {\n parent.required = [];\n }\n if (Array.isArray(parent.required)) parent.required.push(schema.name);\n }\n delete schema.required;\n }\n\n // TODO if we have a nested properties (object inside an object) and the\n // *parent* type is not set, force it to object\n // TODO if default is set but type is not set, force type to typeof default\n\n if (schema.xml && typeof schema.xml.namespace === 'string') {\n if (!schema.xml.namespace) delete schema.xml.namespace;\n }\n}\n\nfunction fixUpSubSchemaExtensions(schema,parent) {\n if (schema[\"x-required\"] && Array.isArray(schema[\"x-required\"])) {\n if (!schema.required) schema.required = [];\n schema.required = schema.required.concat(schema[\"x-required\"]);\n delete schema[\"x-required\"];\n }\n if (schema[\"x-anyOf\"]) {\n schema.anyOf = schema[\"x-anyOf\"];\n delete schema[\"x-anyOf\"];\n }\n if (schema[\"x-oneOf\"]) {\n schema.oneOf = schema[\"x-oneOf\"];\n delete schema[\"x-oneOf\"];\n }\n if (schema[\"x-not\"]) {\n schema.not = schema[\"x-not\"];\n delete schema[\"x-not\"];\n }\n if (typeof schema[\"x-nullable\"] === 'boolean') {\n schema.nullable = schema[\"x-nullable\"];\n delete schema[\"x-nullable\"];\n }\n if ((typeof schema[\"x-discriminator\"] === 'object') && (typeof schema[\"x-discriminator\"].propertyName === 'string')) {\n schema.discriminator = schema[\"x-discriminator\"];\n delete schema[\"x-discriminator\"];\n for (let entry in schema.discriminator.mapping) {\n let schemaOrRef = schema.discriminator.mapping[entry];\n if (schemaOrRef.startsWith('#/definitions/')) {\n schema.discriminator.mapping[entry] = schemaOrRef.replace('#/definitions/','#/components/schemas/');\n }\n }\n }\n}\n\nfunction fixUpSchema(schema,options) {\n sw.walkSchema(schema,{},{},function(schema,parent,state){\n fixUpSubSchemaExtensions(schema,parent);\n fixUpSubSchema(schema,parent,options);\n });\n}\n\nfunction getMiroComponentName(ref) {\n if (ref.indexOf('#')>=0) {\n ref = ref.split('#')[1].split('/').pop();\n }\n else {\n ref = ref.split('/').pop().split('.')[0];\n }\n return encodeURIComponent(common.sanitise(ref));\n}\n\nfunction fixupRefs(obj, key, state) {\n let options = state.payload.options;\n if (isRef(obj,key)) {\n if (obj[key].startsWith('#/components/')) {\n // no-op\n }\n else if (obj[key] === '#/consumes') {\n // people are *so* creative\n delete obj[key];\n state.parent[state.pkey] = clone(options.openapi.consumes);\n }\n else if (obj[key] === '#/produces') {\n // and by creative, I mean devious\n delete obj[key];\n state.parent[state.pkey] = clone(options.openapi.produces);\n }\n else if (obj[key].startsWith('#/definitions/')) {\n //only the first part of a schema component name must be sanitised\n let keys = obj[key].replace('#/definitions/', '').split('/');\n const ref = jptr.jpunescape(keys[0]);\n\n let newKey = componentNames.schemas[decodeURIComponent(ref)]; // lookup, resolves a $ref\n if (newKey) {\n keys[0] = newKey;\n }\n else {\n throwOrWarn('Could not resolve reference '+obj[key],obj,options);\n }\n obj[key] = '#/components/schemas/' + keys.join('/');\n }\n else if (obj[key].startsWith('#/parameters/')) {\n // for extensions like Apigee's x-templates\n obj[key] = '#/components/parameters/' + common.sanitise(obj[key].replace('#/parameters/', ''));\n }\n else if (obj[key].startsWith('#/responses/')) {\n // for extensions like Apigee's x-templates\n obj[key] = '#/components/responses/' + common.sanitise(obj[key].replace('#/responses/', ''));\n }\n else if (obj[key].startsWith('#')) {\n // fixes up direct $refs or those created by resolvers\n let target = clone(jptr.jptr(options.openapi,obj[key]));\n if (target === false) throwOrWarn('direct $ref not found '+obj[key],obj,options)\n else if (options.refmap[obj[key]]) {\n obj[key] = options.refmap[obj[key]];\n }\n else {\n // we use a heuristic to determine what kind of thing is being referenced\n let oldRef = obj[key];\n oldRef = oldRef.replace('/properties/headers/','');\n oldRef = oldRef.replace('/properties/responses/','');\n oldRef = oldRef.replace('/properties/parameters/','');\n oldRef = oldRef.replace('/properties/schemas/','');\n let type = 'schemas';\n let schemaIndex = oldRef.lastIndexOf('/schema');\n type = (oldRef.indexOf('/headers/')>schemaIndex) ? 'headers' :\n ((oldRef.indexOf('/responses/')>schemaIndex) ? 'responses' :\n ((oldRef.indexOf('/example')>schemaIndex) ? 'examples' :\n ((oldRef.indexOf('/x-')>schemaIndex) ? 'extensions' :\n ((oldRef.indexOf('/parameters/')>schemaIndex) ? 'parameters' : 'schemas'))));\n\n // non-body/form parameters have not moved in the overall structure (like responses)\n // but extracting the requestBodies can cause the *number* of parameters to change\n\n if (type === 'schemas') {\n fixUpSchema(target,options);\n }\n\n if ((type !== 'responses') && (type !== 'extensions')) {\n let prefix = type.substr(0,type.length-1);\n if ((prefix === 'parameter') && target.name && (target.name === common.sanitise(target.name))) {\n prefix = encodeURIComponent(target.name);\n }\n\n let suffix = 1;\n if (obj['x-miro']) {\n prefix = getMiroComponentName(obj['x-miro']);\n suffix = '';\n }\n\n while (jptr.jptr(options.openapi,'#/components/'+type+'/'+prefix+suffix)) {\n suffix = (suffix === '' ? 2 : ++suffix);\n }\n\n let newRef = '#/components/'+type+'/'+prefix+suffix;\n let refSuffix = '';\n\n if (type === 'examples') {\n target = { value: target };\n refSuffix = '/value';\n }\n\n jptr.jptr(options.openapi,newRef,target);\n options.refmap[obj[key]] = newRef+refSuffix;\n obj[key] = newRef+refSuffix;\n }\n }\n }\n\n delete obj['x-miro'];\n // do this last - rework cases where $ref object has sibling properties\n if (Object.keys(obj).length > 1) {\n const tmpRef = obj[key];\n const inSchema = state.path.indexOf('/schema') >= 0; // not perfect, but in the absence of a reasonably-sized and complete OAS 2.0 parser...\n if (options.refSiblings === 'preserve') {\n // no-op\n }\n else if (inSchema && (options.refSiblings === 'allOf')) {\n delete obj.$ref;\n state.parent[state.pkey] = { allOf: [ { $ref: tmpRef }, obj ]};\n }\n else { // remove, or not 'preserve' and not in a schema\n state.parent[state.pkey] = { $ref: tmpRef };\n }\n }\n\n }\n if ((key === 'x-ms-odata') && (typeof obj[key] === 'string') && (obj[key].startsWith('#/'))) {\n let keys = obj[key].replace('#/definitions/', '').replace('#/components/schemas/','').split('/');\n let newKey = componentNames.schemas[decodeURIComponent(keys[0])]; // lookup, resolves a $ref\n if (newKey) {\n keys[0] = newKey;\n }\n else {\n throwOrWarn('Could not resolve reference '+obj[key],obj,options);\n }\n obj[key] = '#/components/schemas/' + keys.join('/');\n }\n}\n\n/*\n* This has to happen as a separate pass because multiple $refs may point\n* through elements of the same path\n*/\nfunction dedupeRefs(openapi, options) {\n for (let ref in options.refmap) {\n jptr.jptr(openapi,ref,{ $ref: options.refmap[ref] });\n }\n}\n\nfunction processSecurity(securityObject) {\n for (let s in securityObject) {\n for (let k in securityObject[s]) {\n let sname = common.sanitise(k);\n if (k != sname) {\n securityObject[s][sname] = securityObject[s][k];\n delete securityObject[s][k];\n }\n }\n }\n}\n\nfunction processSecurityScheme(scheme, options) {\n if (scheme.type === 'basic') {\n scheme.type = 'http';\n scheme.scheme = 'basic';\n }\n if (scheme.type === 'oauth2') {\n let flow = {};\n let flowName = scheme.flow;\n if (scheme.flow === 'application') flowName = 'clientCredentials';\n if (scheme.flow === 'accessCode') flowName = 'authorizationCode';\n if (typeof scheme.authorizationUrl !== 'undefined') flow.authorizationUrl = scheme.authorizationUrl.split('?')[0].trim() || '/';\n if (typeof scheme.tokenUrl === 'string') flow.tokenUrl = scheme.tokenUrl.split('?')[0].trim() || '/';\n flow.scopes = scheme.scopes || {};\n scheme.flows = {};\n scheme.flows[flowName] = flow;\n delete scheme.flow;\n delete scheme.authorizationUrl;\n delete scheme.tokenUrl;\n delete scheme.scopes;\n if (typeof scheme.name !== 'undefined') {\n if (options.patch) {\n options.patches++;\n delete scheme.name;\n }\n else {\n throwError('(Patchable) oauth2 securitySchemes should not have name property', options);\n }\n }\n }\n}\n\nfunction keepParameters(value) {\n return (value && !value[\"x-s2o-delete\"]);\n}\n\nfunction processHeader(header, options) {\n if (header.$ref) {\n header.$ref = header.$ref.replace('#/responses/', '#/components/responses/');\n }\n else {\n if (header.type && !header.schema) {\n header.schema = {};\n }\n if (header.type) header.schema.type = header.type;\n if (header.items && header.items.type !== 'array') {\n if (header.items.collectionFormat !== header.collectionFormat) {\n throwOrWarn('Nested collectionFormats are not supported', header, options);\n }\n delete header.items.collectionFormat;\n }\n if (header.type === 'array') {\n if (header.collectionFormat === 'ssv') {\n throwOrWarn('collectionFormat:ssv is no longer supported for headers', header, options); // not lossless\n }\n else if (header.collectionFormat === 'pipes') {\n throwOrWarn('collectionFormat:pipes is no longer supported for headers', header, options); // not lossless\n }\n else if (header.collectionFormat === 'multi') {\n header.explode = true;\n }\n else if (header.collectionFormat === 'tsv') {\n throwOrWarn('collectionFormat:tsv is no longer supported', header, options); // not lossless\n header[\"x-collectionFormat\"] = 'tsv';\n }\n else { // 'csv'\n header.style = 'simple';\n }\n delete header.collectionFormat;\n }\n else if (header.collectionFormat) {\n if (options.patch) {\n options.patches++;\n delete header.collectionFormat;\n }\n else {\n throwError('(Patchable) collectionFormat is only applicable to header.type array', options);\n }\n }\n delete header.type;\n for (let prop of common.parameterTypeProperties) {\n if (typeof header[prop] !== 'undefined') {\n header.schema[prop] = header[prop];\n delete header[prop];\n }\n }\n for (let prop of common.arrayProperties) {\n if (typeof header[prop] !== 'undefined') {\n header.schema[prop] = header[prop];\n delete header[prop];\n }\n }\n }\n}\n\nfunction fixParamRef(param, options) {\n if (param.$ref.indexOf('#/parameters/') >= 0) {\n let refComponents = param.$ref.split('#/parameters/');\n param.$ref = refComponents[0] + '#/components/parameters/' + common.sanitise(refComponents[1]);\n }\n if (param.$ref.indexOf('#/definitions/') >= 0) {\n throwOrWarn('Definition used as parameter', param, options);\n }\n}\n\nfunction attachRequestBody(op,options) {\n let newOp = {};\n for (let key of Object.keys(op)) {\n newOp[key] = op[key];\n if (key === 'parameters') {\n newOp.requestBody = {};\n if (options.rbname) newOp[options.rbname] = '';\n }\n }\n newOp.requestBody = {}; // just in case there are no parameters\n return newOp;\n}\n\n/**\n * @returns op, as it may have changed\n */\nfunction processParameter(param, op, path, method, index, openapi, options) {\n let result = {};\n let singularRequestBody = true;\n let originalType;\n\n if (op && op.consumes && (typeof op.consumes === 'string')) {\n if (options.patch) {\n options.patches++;\n op.consumes = [op.consumes];\n }\n else {\n return throwError('(Patchable) operation.consumes must be an array', options);\n }\n }\n if (!Array.isArray(openapi.consumes)) delete openapi.consumes;\n let consumes = ((op ? op.consumes : null) || (openapi.consumes || [])).filter(common.uniqueOnly);\n\n if (param && param.$ref && (typeof param.$ref === 'string')) {\n // if we still have a ref here, it must be an internal one\n fixParamRef(param, options);\n let ptr = decodeURIComponent(param.$ref.replace('#/components/parameters/', ''));\n let rbody = false;\n let target = openapi.components.parameters[ptr]; // resolves a $ref, must have been sanitised already\n\n if (((!target) || (target[\"x-s2o-delete\"])) && param.$ref.startsWith('#/')) {\n // if it's gone, chances are it's a requestBody component now unless spec was broken\n param[\"x-s2o-delete\"] = true;\n rbody = true;\n }\n\n // shared formData parameters from swagger or path level could be used in any combination.\n // we dereference all op.requestBody's then hash them and pull out common ones later\n\n if (rbody) {\n let ref = param.$ref;\n let newParam = resolveInternal(openapi, param.$ref);\n if (!newParam && ref.startsWith('#/')) {\n throwOrWarn('Could not resolve reference ' + ref, param, options);\n }\n else {\n if (newParam) param = newParam; // preserve reference\n }\n }\n }\n\n if (param && (param.name || param.in)) { // if it's a real parameter OR we've dereferenced it\n\n if (typeof param['x-deprecated'] === 'boolean') {\n param.deprecated = param['x-deprecated'];\n delete param['x-deprecated'];\n }\n\n if (typeof param['x-example'] !== 'undefined') {\n param.example = param['x-example'];\n delete param['x-example'];\n }\n\n if ((param.in != 'body') && (!param.type)) {\n if (options.patch) {\n options.patches++;\n param.type = 'string';\n }\n else {\n throwError('(Patchable) parameter.type is mandatory for non-body parameters', options);\n }\n }\n if (param.type && typeof param.type === 'object' && param.type.$ref) {\n // $ref anywhere sensibility\n param.type = resolveInternal(openapi, param.type.$ref);\n }\n if (param.type === 'file') {\n param['x-s2o-originalType'] = param.type;\n originalType = param.type;\n }\n if (param.description && typeof param.description === 'object' && param.description.$ref) {\n // $ref anywhere sensibility\n param.description = resolveInternal(openapi, param.description.$ref);\n }\n if (param.description === null) delete param.description;\n\n let oldCollectionFormat = param.collectionFormat;\n if ((param.type === 'array') && !oldCollectionFormat) {\n oldCollectionFormat = 'csv';\n }\n if (oldCollectionFormat) {\n if (param.type != 'array') {\n if (options.patch) {\n options.patches++;\n delete param.collectionFormat;\n }\n else {\n throwError('(Patchable) collectionFormat is only applicable to param.type array', options);\n }\n }\n if ((oldCollectionFormat === 'csv') && ((param.in === 'query') || (param.in === 'cookie'))) {\n param.style = 'form';\n param.explode = false;\n }\n if ((oldCollectionFormat === 'csv') && ((param.in === 'path') || (param.in === 'header'))) {\n param.style = 'simple';\n }\n if (oldCollectionFormat === 'ssv') {\n if (param.in === 'query') {\n param.style = 'spaceDelimited';\n }\n else {\n throwOrWarn('collectionFormat:ssv is no longer supported except for in:query parameters', param, options); // not lossless\n }\n }\n if (oldCollectionFormat === 'pipes') {\n if (param.in === 'query') {\n param.style = 'pipeDelimited';\n }\n else {\n throwOrWarn('collectionFormat:pipes is no longer supported except for in:query parameters', param, options); // not lossless\n }\n }\n if (oldCollectionFormat === 'multi') {\n param.explode = true;\n }\n if (oldCollectionFormat === 'tsv') {\n throwOrWarn('collectionFormat:tsv is no longer supported', param, options); // not lossless\n param[\"x-collectionFormat\"] = 'tsv';\n }\n delete param.collectionFormat;\n }\n\n if (param.type && (param.type != 'object') && (param.type != 'body') && (param.in != 'formData')) {\n if (param.items && param.schema) {\n throwOrWarn('parameter has array,items and schema', param, options);\n }\n else {\n if (param.schema) options.patches++; // already present\n if ((!param.schema) || (typeof param.schema !== 'object')) param.schema = {};\n param.schema.type = param.type;\n if (param.items) {\n param.schema.items = param.items;\n delete param.items;\n recurse(param.schema.items, null, function (obj, key, state) {\n if ((key === 'collectionFormat') && (typeof obj[key] === 'string')) {\n if (oldCollectionFormat && obj[key] !== oldCollectionFormat) {\n throwOrWarn('Nested collectionFormats are not supported', param, options);\n }\n delete obj[key]; // not lossless\n }\n // items in 2.0 was a subset of the JSON-Schema items\n // object, it gets fixed up below\n });\n }\n for (let prop of common.parameterTypeProperties) {\n if (typeof param[prop] !== 'undefined') param.schema[prop] = param[prop];\n delete param[prop];\n }\n }\n }\n\n if (param.schema) {\n fixUpSchema(param.schema,options);\n }\n\n if (param[\"x-ms-skip-url-encoding\"]) {\n if (param.in === 'query') { // might be in:path, not allowed in OAS3\n param.allowReserved = true;\n delete param[\"x-ms-skip-url-encoding\"];\n }\n }\n }\n\n if (param && param.in === 'formData') {\n // convert to requestBody component\n singularRequestBody = false;\n result.content = {};\n let contentType = 'application/x-www-form-urlencoded';\n if ((consumes.length) && (consumes.indexOf('multipart/form-data') >= 0)) {\n contentType = 'multipart/form-data';\n }\n\n result.content[contentType] = {};\n if (param.schema) {\n result.content[contentType].schema = param.schema;\n if (param.schema.$ref) {\n result['x-s2o-name'] = decodeURIComponent(param.schema.$ref.replace('#/components/schemas/', ''));\n }\n }\n else {\n result.content[contentType].schema = {};\n result.content[contentType].schema.type = 'object';\n result.content[contentType].schema.properties = {};\n result.content[contentType].schema.properties[param.name] = {};\n let schema = result.content[contentType].schema;\n let target = result.content[contentType].schema.properties[param.name];\n if (param.description) target.description = param.description;\n if (param.example) target.example = param.example;\n if (param.type) target.type = param.type;\n\n for (let prop of common.parameterTypeProperties) {\n if (typeof param[prop] !== 'undefined') target[prop] = param[prop];\n }\n if (param.required === true) {\n if (!schema.required) schema.required = [];\n schema.required.push(param.name);\n result.required = true;\n }\n if (typeof param.default !== 'undefined') target.default = param.default;\n if (target.properties) target.properties = param.properties;\n if (param.allOf) target.allOf = param.allOf; // new are anyOf, oneOf, not\n if ((param.type === 'array') && (param.items)) {\n target.items = param.items;\n if (target.items.collectionFormat) delete target.items.collectionFormat;\n }\n if ((originalType === 'file') || (param['x-s2o-originalType'] === 'file')) {\n target.type = 'string';\n target.format = 'binary';\n }\n\n // Copy any extensions on the form param to the target schema property.\n copyExtensions(param, target);\n }\n }\n else if (param && param.type === 'file') {\n // convert to requestBody\n if (param.required) result.required = param.required;\n result.content = {};\n result.content[\"application/octet-stream\"] = {};\n result.content[\"application/octet-stream\"].schema = {};\n result.content[\"application/octet-stream\"].schema.type = 'string';\n result.content[\"application/octet-stream\"].schema.format = 'binary';\n copyExtensions(param, result);\n }\n if (param && param.in === 'body') {\n result.content = {};\n if (param.name) result['x-s2o-name'] = (op && op.operationId ? common.sanitiseAll(op.operationId) : '') + ('_' + param.name).toCamelCase();\n if (param.description) result.description = param.description;\n if (param.required) result.required = param.required;\n\n // Set the \"request body name\" extension on the operation if requested.\n if (op && options.rbname && param.name) {\n op[options.rbname] = param.name;\n }\n if (param.schema && param.schema.$ref) {\n result['x-s2o-name'] = decodeURIComponent(param.schema.$ref.replace('#/components/schemas/', ''));\n }\n else if (param.schema && (param.schema.type === 'array') && param.schema.items && param.schema.items.$ref) {\n result['x-s2o-name'] = decodeURIComponent(param.schema.items.$ref.replace('#/components/schemas/', '')) + 'Array';\n }\n\n if (!consumes.length) {\n consumes.push('application/json'); // TODO verify default\n }\n\n for (let mimetype of consumes) {\n result.content[mimetype] = {};\n result.content[mimetype].schema = clone(param.schema || {});\n fixUpSchema(result.content[mimetype].schema,options);\n }\n\n // Copy any extensions from the original parameter to the new requestBody\n copyExtensions(param, result);\n }\n\n if (Object.keys(result).length > 0) {\n param[\"x-s2o-delete\"] = true;\n // work out where to attach the requestBody\n if (op) {\n if (op.requestBody && singularRequestBody) {\n op.requestBody[\"x-s2o-overloaded\"] = true;\n let opId = op.operationId || index;\n\n throwOrWarn('Operation ' + opId + ' has multiple requestBodies', op, options);\n }\n else {\n if (!op.requestBody) {\n op = path[method] = attachRequestBody(op,options); // make sure we have one\n }\n if ((op.requestBody.content && op.requestBody.content[\"multipart/form-data\"])\n && (op.requestBody.content[\"multipart/form-data\"].schema) && (op.requestBody.content[\"multipart/form-data\"].schema.properties) && (result.content[\"multipart/form-data\"]) && (result.content[\"multipart/form-data\"].schema) && (result.content[\"multipart/form-data\"].schema.properties)) {\n op.requestBody.content[\"multipart/form-data\"].schema.properties =\n Object.assign(op.requestBody.content[\"multipart/form-data\"].schema.properties, result.content[\"multipart/form-data\"].schema.properties);\n op.requestBody.content[\"multipart/form-data\"].schema.required = (op.requestBody.content[\"multipart/form-data\"].schema.required || []).concat(result.content[\"multipart/form-data\"].schema.required||[]);\n if (!op.requestBody.content[\"multipart/form-data\"].schema.required.length) {\n delete op.requestBody.content[\"multipart/form-data\"].schema.required;\n }\n }\n else if ((op.requestBody.content && op.requestBody.content[\"application/x-www-form-urlencoded\"] && op.requestBody.content[\"application/x-www-form-urlencoded\"].schema && op.requestBody.content[\"application/x-www-form-urlencoded\"].schema.properties)\n && result.content[\"application/x-www-form-urlencoded\"] && result.content[\"application/x-www-form-urlencoded\"].schema && result.content[\"application/x-www-form-urlencoded\"].schema.properties) {\n op.requestBody.content[\"application/x-www-form-urlencoded\"].schema.properties =\n Object.assign(op.requestBody.content[\"application/x-www-form-urlencoded\"].schema.properties, result.content[\"application/x-www-form-urlencoded\"].schema.properties);\n op.requestBody.content[\"application/x-www-form-urlencoded\"].schema.required = (op.requestBody.content[\"application/x-www-form-urlencoded\"].schema.required || []).concat(result.content[\"application/x-www-form-urlencoded\"].schema.required||[]);\n if (!op.requestBody.content[\"application/x-www-form-urlencoded\"].schema.required.length) {\n delete op.requestBody.content[\"application/x-www-form-urlencoded\"].schema.required;\n }\n }\n else {\n op.requestBody = Object.assign(op.requestBody, result);\n if (!op.requestBody['x-s2o-name']) {\n if (op.requestBody.schema && op.requestBody.schema.$ref) {\n op.requestBody['x-s2o-name'] = decodeURIComponent(op.requestBody.schema.$ref.replace('#/components/schemas/', '')).split('/').join('');\n }\n else if (op.operationId) {\n op.requestBody['x-s2o-name'] = common.sanitiseAll(op.operationId);\n }\n }\n }\n }\n }\n }\n\n // tidy up\n if (param && !param['x-s2o-delete']) {\n delete param.type;\n for (let prop of common.parameterTypeProperties) {\n delete param[prop];\n }\n\n if ((param.in === 'path') && ((typeof param.required === 'undefined') || (param.required !== true))) {\n if (options.patch) {\n options.patches++;\n param.required = true;\n }\n else {\n throwError('(Patchable) path parameters must be required:true ['+param.name+' in '+index+']', options);\n }\n }\n }\n\n return op;\n}\n\nfunction copyExtensions(src, tgt) {\n for (let prop in src) {\n if (prop.startsWith('x-') && !prop.startsWith('x-s2o')) {\n tgt[prop] = src[prop];\n }\n }\n}\n\nfunction processResponse(response, name, op, openapi, options) {\n if (!response) return false;\n if (response.$ref && (typeof response.$ref === 'string')) {\n if (response.$ref.indexOf('#/definitions/') >= 0) {\n //response.$ref = '#/components/schemas/'+common.sanitise(response.$ref.replace('#/definitions/',''));\n throwOrWarn('definition used as response: ' + response.$ref, response, options);\n }\n else {\n if (response.$ref.startsWith('#/responses/')) {\n response.$ref = '#/components/responses/' + common.sanitise(decodeURIComponent(response.$ref.replace('#/responses/', '')));\n }\n }\n }\n else {\n if ((typeof response.description === 'undefined') || (response.description === null)\n || ((response.description === '') && options.patch)) {\n if (options.patch) {\n if ((typeof response === 'object') && (!Array.isArray(response))) {\n options.patches++;\n response.description = (statusCodes[response] || '');\n }\n }\n else {\n throwError('(Patchable) response.description is mandatory', options);\n }\n }\n if (typeof response.schema !== 'undefined') {\n\n fixUpSchema(response.schema,options);\n\n if (response.schema.$ref && (typeof response.schema.$ref === 'string') && response.schema.$ref.startsWith('#/responses/')) {\n response.schema.$ref = '#/components/responses/' + common.sanitise(decodeURIComponent(response.schema.$ref.replace('#/responses/', '')));\n }\n\n if (op && op.produces && (typeof op.produces === 'string')) {\n if (options.patch) {\n options.patches++;\n op.produces = [op.produces];\n }\n else {\n return throwError('(Patchable) operation.produces must be an array', options);\n }\n }\n if (openapi.produces && !Array.isArray(openapi.produces)) delete openapi.produces;\n\n let produces = ((op ? op.produces : null) || (openapi.produces || [])).filter(common.uniqueOnly);\n if (!produces.length) produces.push('*/*'); // TODO verify default\n\n response.content = {};\n for (let mimetype of produces) {\n response.content[mimetype] = {};\n response.content[mimetype].schema = clone(response.schema);\n if (response.examples && response.examples[mimetype]) {\n let example = {};\n example.value = response.examples[mimetype];\n response.content[mimetype].examples = {};\n response.content[mimetype].examples.response = example;\n delete response.examples[mimetype];\n }\n if (response.content[mimetype].schema.type === 'file') {\n response.content[mimetype].schema = { type: 'string', format: 'binary' };\n }\n }\n delete response.schema;\n }\n // examples for content-types not listed in produces\n for (let mimetype in response.examples) {\n if (!response.content) response.content = {};\n if (!response.content[mimetype]) response.content[mimetype] = {};\n response.content[mimetype].examples = {};\n response.content[mimetype].examples.response = {};\n response.content[mimetype].examples.response.value = response.examples[mimetype];\n }\n delete response.examples;\n\n if (response.headers) {\n for (let h in response.headers) {\n if (h.toLowerCase() === 'status code') {\n if (options.patch) {\n options.patches++;\n delete response.headers[h];\n }\n else {\n throwError('(Patchable) \"Status Code\" is not a valid header', options);\n }\n }\n else {\n processHeader(response.headers[h], options);\n }\n }\n }\n }\n}\n\nfunction processPaths(container, containerName, options, requestBodyCache, openapi) {\n for (let p in container) {\n let path = container[p];\n // path.$ref is external only\n if (path && (path['x-trace']) && (typeof path['x-trace'] === 'object')) {\n path.trace = path['x-trace'];\n delete path['x-trace'];\n }\n if (path && (path['x-summary']) && (typeof path['x-summary'] === 'string')) {\n path.summary = path['x-summary'];\n delete path['x-summary'];\n }\n if (path && (path['x-description']) && (typeof path['x-description'] === 'string')) {\n path.description = path['x-description'];\n delete path['x-description'];\n }\n if (path && (path['x-servers']) && (Array.isArray(path['x-servers']))) {\n path.servers = path['x-servers'];\n delete path['x-servers'];\n }\n for (let method in path) {\n if ((common.httpMethods.indexOf(method) >= 0) || (method === 'x-amazon-apigateway-any-method')) {\n let op = path[method];\n\n if (op && op.parameters && Array.isArray(op.parameters)) {\n if (path.parameters) {\n for (let param of path.parameters) {\n if (typeof param.$ref === 'string') {\n fixParamRef(param, options);\n param = resolveInternal(openapi, param.$ref);\n }\n let match = op.parameters.find(function (e, i, a) {\n return ((e.name === param.name) && (e.in === param.in));\n });\n\n if (!match && ((param.in === 'formData') || (param.in === 'body') || (param.type === 'file'))) {\n op = processParameter(param, op, path, method, p, openapi, options);\n if (options.rbname && op[options.rbname] === '') {\n delete op[options.rbname];\n }\n }\n }\n }\n for (let param of op.parameters) {\n op = processParameter(param, op, path, method, method + ':' + p, openapi, options);\n }\n if (options.rbname && op[options.rbname] === '') {\n delete op[options.rbname];\n }\n if (!options.debug) {\n if (op.parameters) op.parameters = op.parameters.filter(keepParameters);\n }\n }\n\n if (op && op.security) processSecurity(op.security);\n\n //don't need to remove requestBody for non-supported ops as they \"SHALL be ignored\"\n\n // responses\n if (typeof op === 'object') {\n if (!op.responses) {\n let defaultResp = {};\n defaultResp.description = 'Default response';\n op.responses = { default: defaultResp };\n }\n for (let r in op.responses) {\n let response = op.responses[r];\n processResponse(response, r, op, openapi, options);\n }\n }\n\n if (op && (op['x-servers']) && (Array.isArray(op['x-servers']))) {\n op.servers = op['x-servers'];\n delete op['x-servers'];\n } else if (op && op.schemes && op.schemes.length) {\n for (let scheme of op.schemes) {\n if ((!openapi.schemes) || (openapi.schemes.indexOf(scheme) < 0)) {\n if (!op.servers) {\n op.servers = [];\n }\n if (Array.isArray(openapi.servers)) {\n for (let server of openapi.servers) {\n let newServer = clone(server);\n let serverUrl = url.parse(newServer.url);\n serverUrl.protocol = scheme;\n newServer.url = serverUrl.format();\n op.servers.push(newServer);\n }\n }\n }\n }\n }\n\n if (options.debug) {\n op[\"x-s2o-consumes\"] = op.consumes || [];\n op[\"x-s2o-produces\"] = op.produces || [];\n }\n if (op) {\n delete op.consumes;\n delete op.produces;\n delete op.schemes;\n\n if (op[\"x-ms-examples\"]) {\n for (let e in op[\"x-ms-examples\"]) {\n let example = op[\"x-ms-examples\"][e];\n let se = common.sanitiseAll(e);\n if (example.parameters) {\n for (let p in example.parameters) {\n let value = example.parameters[p];\n for (let param of (op.parameters||[]).concat(path.parameters||[])) {\n if (param.$ref) {\n param = jptr.jptr(openapi,param.$ref);\n }\n if ((param.name === p) && (!param.example)) {\n if (!param.examples) {\n param.examples = {};\n }\n param.examples[e] = {value: value};\n }\n }\n }\n }\n if (example.responses) {\n for (let r in example.responses) {\n if (example.responses[r].headers) {\n for (let h in example.responses[r].headers) {\n let value = example.responses[r].headers[h];\n for (let rh in op.responses[r].headers) {\n if (rh === h) {\n let header = op.responses[r].headers[rh];\n header.example = value;\n }\n }\n }\n }\n if (example.responses[r].body) {\n openapi.components.examples[se] = { value: clone(example.responses[r].body) };\n if (op.responses[r] && op.responses[r].content) {\n for (let ct in op.responses[r].content) {\n let contentType = op.responses[r].content[ct];\n if (!contentType.examples) {\n contentType.examples = {};\n }\n contentType.examples[e] = { $ref: '#/components/examples/'+se };\n }\n }\n }\n\n }\n }\n }\n delete op[\"x-ms-examples\"];\n }\n\n if (op.parameters && op.parameters.length === 0) delete op.parameters;\n if (op.requestBody) {\n let effectiveOperationId = op.operationId ? common.sanitiseAll(op.operationId) : common.sanitiseAll(method + p).toCamelCase();\n let rbName = common.sanitise(op.requestBody['x-s2o-name'] || effectiveOperationId || '');\n delete op.requestBody['x-s2o-name'];\n let rbStr = JSON.stringify(op.requestBody);\n let rbHash = common.hash(rbStr);\n if (!requestBodyCache[rbHash]) {\n let entry = {};\n entry.name = rbName;\n entry.body = op.requestBody;\n entry.refs = [];\n requestBodyCache[rbHash] = entry;\n }\n let ptr = '#/'+containerName+'/'+encodeURIComponent(jptr.jpescape(p))+'/'+method+'/requestBody';\n requestBodyCache[rbHash].refs.push(ptr);\n }\n }\n\n }\n }\n if (path && path.parameters) {\n for (let p2 in path.parameters) {\n let param = path.parameters[p2];\n processParameter(param, null, path, null, p, openapi, options); // index here is the path string\n }\n if (!options.debug && Array.isArray(path.parameters)) {\n path.parameters = path.parameters.filter(keepParameters);\n }\n }\n }\n}\n\nfunction main(openapi, options) {\n\n let requestBodyCache = {};\n componentNames = { schemas: {} };\n\n if (openapi.security) processSecurity(openapi.security);\n\n for (let s in openapi.components.securitySchemes) {\n let sname = common.sanitise(s);\n if (s != sname) {\n if (openapi.components.securitySchemes[sname]) {\n throwError('Duplicate sanitised securityScheme name ' + sname, options);\n }\n openapi.components.securitySchemes[sname] = openapi.components.securitySchemes[s];\n delete openapi.components.securitySchemes[s];\n }\n processSecurityScheme(openapi.components.securitySchemes[sname], options);\n }\n\n for (let s in openapi.components.schemas) {\n let sname = common.sanitiseAll(s);\n let suffix = '';\n if (s != sname) {\n while (openapi.components.schemas[sname + suffix]) {\n // @ts-ignore\n suffix = (suffix ? ++suffix : 2);\n }\n openapi.components.schemas[sname + suffix] = openapi.components.schemas[s];\n delete openapi.components.schemas[s];\n }\n componentNames.schemas[s] = sname + suffix;\n fixUpSchema(openapi.components.schemas[sname+suffix],options)\n }\n\n // fix all $refs to their new locations (and potentially new names)\n options.refmap = {};\n recurse(openapi, { payload: { options: options } }, fixupRefs);\n dedupeRefs(openapi,options);\n\n for (let p in openapi.components.parameters) {\n let sname = common.sanitise(p);\n if (p != sname) {\n if (openapi.components.parameters[sname]) {\n throwError('Duplicate sanitised parameter name ' + sname, options);\n }\n openapi.components.parameters[sname] = openapi.components.parameters[p];\n delete openapi.components.parameters[p];\n }\n let param = openapi.components.parameters[sname];\n processParameter(param, null, null, null, sname, openapi, options);\n }\n\n for (let r in openapi.components.responses) {\n let sname = common.sanitise(r);\n if (r != sname) {\n if (openapi.components.responses[sname]) {\n throwError('Duplicate sanitised response name ' + sname, options);\n }\n openapi.components.responses[sname] = openapi.components.responses[r];\n delete openapi.components.responses[r];\n }\n let response = openapi.components.responses[sname];\n processResponse(response, sname, null, openapi, options);\n if (response.headers) {\n for (let h in response.headers) {\n if (h.toLowerCase() === 'status code') {\n if (options.patch) {\n options.patches++;\n delete response.headers[h];\n }\n else {\n throwError('(Patchable) \"Status Code\" is not a valid header', options);\n }\n }\n else {\n processHeader(response.headers[h], options);\n }\n }\n }\n }\n\n for (let r in openapi.components.requestBodies) { // converted ones\n let rb = openapi.components.requestBodies[r];\n let rbStr = JSON.stringify(rb);\n let rbHash = common.hash(rbStr);\n let entry = {};\n entry.name = r;\n entry.body = rb;\n entry.refs = [];\n requestBodyCache[rbHash] = entry;\n }\n\n processPaths(openapi.paths, 'paths', options, requestBodyCache, openapi);\n if (openapi[\"x-ms-paths\"]) {\n processPaths(openapi[\"x-ms-paths\"], 'x-ms-paths', options, requestBodyCache, openapi);\n }\n\n if (!options.debug) {\n for (let p in openapi.components.parameters) {\n let param = openapi.components.parameters[p];\n if (param[\"x-s2o-delete\"]) {\n delete openapi.components.parameters[p];\n }\n }\n }\n\n if (options.debug) {\n openapi[\"x-s2o-consumes\"] = openapi.consumes || [];\n openapi[\"x-s2o-produces\"] = openapi.produces || [];\n }\n delete openapi.consumes;\n delete openapi.produces;\n delete openapi.schemes;\n\n let rbNamesGenerated = [];\n\n openapi.components.requestBodies = {}; // for now as we've dereffed them\n\n if (!options.resolveInternal) {\n let counter = 1;\n for (let e in requestBodyCache) {\n let entry = requestBodyCache[e];\n if (entry.refs.length > 1) {\n // create a shared requestBody\n let suffix = '';\n if (!entry.name) {\n entry.name = 'requestBody';\n // @ts-ignore\n suffix = counter++;\n }\n while (rbNamesGenerated.indexOf(entry.name + suffix) >= 0) {\n // @ts-ignore - this can happen if descriptions are not exactly the same (e.g. bitbucket)\n suffix = (suffix ? ++suffix : 2);\n }\n entry.name = entry.name + suffix;\n rbNamesGenerated.push(entry.name);\n openapi.components.requestBodies[entry.name] = clone(entry.body);\n for (let r in entry.refs) {\n let ref = {};\n ref.$ref = '#/components/requestBodies/' + entry.name;\n jptr.jptr(openapi,entry.refs[r],ref);\n }\n }\n }\n }\n\n if (openapi.components.responses && Object.keys(openapi.components.responses).length === 0) {\n delete openapi.components.responses;\n }\n if (openapi.components.parameters && Object.keys(openapi.components.parameters).length === 0) {\n delete openapi.components.parameters;\n }\n if (openapi.components.examples && Object.keys(openapi.components.examples).length === 0) {\n delete openapi.components.examples;\n }\n if (openapi.components.requestBodies && Object.keys(openapi.components.requestBodies).length === 0) {\n delete openapi.components.requestBodies;\n }\n if (openapi.components.securitySchemes && Object.keys(openapi.components.securitySchemes).length === 0) {\n delete openapi.components.securitySchemes;\n }\n if (openapi.components.headers && Object.keys(openapi.components.headers).length === 0) {\n delete openapi.components.headers;\n }\n if (openapi.components.schemas && Object.keys(openapi.components.schemas).length === 0) {\n delete openapi.components.schemas;\n }\n if (openapi.components && Object.keys(openapi.components).length === 0) {\n delete openapi.components;\n }\n\n return openapi;\n}\n\nfunction extractServerParameters(server) {\n if (!server || !server.url || (typeof server.url !== 'string')) return server;\n server.url = server.url.split('{{').join('{');\n server.url = server.url.split('}}').join('}');\n server.url.replace(/\\{(.+?)\\}/g, function (match, group1) { // TODO extend to :parameters (not port)?\n if (!server.variables) {\n server.variables = {};\n }\n server.variables[group1] = { default: 'unknown' };\n });\n return server;\n}\n\nfunction fixInfo(openapi, options, reject) {\n if ((typeof openapi.info === 'undefined') || (openapi.info === null)) {\n if (options.patch) {\n options.patches++;\n openapi.info = { version: '', title: '' };\n }\n else {\n return reject(new S2OError('(Patchable) info object is mandatory'));\n }\n }\n if ((typeof openapi.info !== 'object') || (Array.isArray(openapi.info))) {\n return reject(new S2OError('info must be an object'));\n }\n if ((typeof openapi.info.title === 'undefined') || (openapi.info.title === null)) {\n if (options.patch) {\n options.patches++;\n openapi.info.title = '';\n }\n else {\n return reject(new S2OError('(Patchable) info.title cannot be null'));\n }\n }\n if ((typeof openapi.info.version === 'undefined') || (openapi.info.version === null)) {\n if (options.patch) {\n options.patches++;\n openapi.info.version = '';\n }\n else {\n return reject(new S2OError('(Patchable) info.version cannot be null'));\n }\n }\n if (typeof openapi.info.version !== 'string') {\n if (options.patch) {\n options.patches++;\n openapi.info.version = openapi.info.version.toString();\n }\n else {\n return reject(new S2OError('(Patchable) info.version must be a string'));\n }\n }\n if (typeof openapi.info.logo !== 'undefined') {\n if (options.patch) {\n options.patches++;\n openapi.info['x-logo'] = openapi.info.logo;\n delete openapi.info.logo;\n }\n else return reject(new S2OError('(Patchable) info should not have logo property'));\n }\n if (typeof openapi.info.termsOfService !== 'undefined') {\n if (openapi.info.termsOfService === null) {\n if (options.patch) {\n options.patches++;\n openapi.info.termsOfService = '';\n }\n else {\n return reject(new S2OError('(Patchable) info.termsOfService cannot be null'));\n }\n }\n if (url.URL && options.whatwg) {\n try {\n url.URL.parse(openapi.info.termsOfService);\n }\n catch (ex) {\n if (options.patch) {\n options.patches++;\n delete openapi.info.termsOfService;\n }\n else return reject(new S2OError('(Patchable) info.termsOfService must be a URL'));\n }\n }\n }\n}\n\nfunction fixPaths(openapi, options, reject) {\n if (typeof openapi.paths === 'undefined') {\n if (options.patch) {\n options.patches++;\n openapi.paths = {};\n }\n else {\n return reject(new S2OError('(Patchable) paths object is mandatory'));\n }\n }\n}\n\nfunction detectObjectReferences(obj, options) {\n const seen = new WeakSet();\n recurse(obj, {identityDetection:true}, function (obj, key, state) {\n if ((typeof obj[key] === 'object') && (obj[key] !== null)) {\n if (seen.has(obj[key])) {\n if (options.anchors) {\n obj[key] = clone(obj[key]);\n }\n else {\n throwError('YAML anchor or merge key at '+state.path, options);\n }\n }\n else {\n seen.add(obj[key]);\n }\n }\n });\n}\n\nfunction convertObj(swagger, options, callback) {\n return maybe(callback, new Promise(function (resolve, reject) {\n if (!swagger) swagger = {};\n options.original = swagger;\n if (!options.text) options.text = yaml.stringify(swagger);\n options.externals = [];\n options.externalRefs = {};\n options.rewriteRefs = true; // avoids stack explosions\n options.preserveMiro = true;\n options.promise = {};\n options.promise.resolve = resolve;\n options.promise.reject = reject;\n options.patches = 0;\n if (!options.cache) options.cache = {};\n if (options.source) options.cache[options.source] = options.original;\n\n detectObjectReferences(swagger, options);\n\n if (swagger.openapi && (typeof swagger.openapi === 'string') && swagger.openapi.startsWith('3.')) {\n options.openapi = cclone(swagger);\n fixInfo(options.openapi, options, reject);\n fixPaths(options.openapi, options, reject);\n\n resolver.optionalResolve(options) // is a no-op if options.resolve is not set\n .then(function(){\n if (options.direct) {\n return resolve(options.openapi);\n }\n else {\n return resolve(options);\n }\n })\n .catch(function(ex){\n console.warn(ex);\n reject(ex);\n });\n return; // we should have resolved or rejected by now\n }\n\n if ((!swagger.swagger) || (swagger.swagger != \"2.0\")) {\n return reject(new S2OError('Unsupported swagger/OpenAPI version: ' + (swagger.openapi ? swagger.openapi : swagger.swagger)));\n }\n\n let openapi = options.openapi = {};\n openapi.openapi = (typeof options.targetVersion === 'string' && options.targetVersion.startsWith('3.')) ? options.targetVersion : targetVersion; // semver\n\n if (options.origin) {\n if (!openapi[\"x-origin\"]) {\n openapi[\"x-origin\"] = [];\n }\n let origin = {};\n origin.url = options.source||options.origin;\n origin.format = 'swagger';\n origin.version = swagger.swagger;\n origin.converter = {};\n origin.converter.url = 'https://github.com/mermade/oas-kit';\n origin.converter.version = ourVersion;\n openapi[\"x-origin\"].push(origin);\n }\n\n // we want the new and existing properties to appear in a sensible order. Not guaranteed\n openapi = Object.assign(openapi, cclone(swagger));\n delete openapi.swagger;\n recurse(openapi, {}, function(obj, key, state){\n if ((obj[key] === null) && (!key.startsWith('x-')) && key !== 'default' && (state.path.indexOf('/example') < 0)) delete obj[key]; // this saves *so* much grief later\n });\n\n if (swagger.host) {\n for (let s of (Array.isArray(swagger.schemes) ? swagger.schemes : [''])) {\n let server = {};\n server.url = (s ? s+':' : '') + '//' + swagger.host + (swagger.basePath ? swagger.basePath : '');\n extractServerParameters(server);\n if (!openapi.servers) openapi.servers = [];\n openapi.servers.push(server);\n }\n }\n else if (swagger.basePath) {\n let server = {};\n server.url = swagger.basePath;\n extractServerParameters(server);\n if (!openapi.servers) openapi.servers = [];\n openapi.servers.push(server);\n }\n delete openapi.host;\n delete openapi.basePath;\n\n if (openapi['x-servers'] && Array.isArray(openapi['x-servers'])) {\n openapi.servers = openapi['x-servers'];\n delete openapi['x-servers'];\n }\n\n // TODO APIMatic extensions (x-server-configuration) ?\n\n if (swagger['x-ms-parameterized-host']) {\n let xMsPHost = swagger['x-ms-parameterized-host'];\n let server = {};\n server.url = xMsPHost.hostTemplate + (swagger.basePath ? swagger.basePath : '');\n server.variables = {};\n for (let msp in xMsPHost.parameters) {\n let param = xMsPHost.parameters[msp];\n if (param.$ref) {\n param = clone(resolveInternal(openapi, param.$ref));\n }\n if (!msp.startsWith('x-')) {\n delete param.required; // all true\n delete param.type; // all strings\n delete param.in; // all 'host'\n if (typeof param.default === 'undefined') {\n if (param.enum) {\n param.default = param.enum[0];\n }\n else {\n param.default = '';\n }\n }\n server.variables[param.name] = param;\n delete param.name;\n }\n }\n if (!openapi.servers) openapi.servers = [];\n if (xMsPHost.useSchemePrefix === false) {\n // The server URL already includes a protocol scheme\n openapi.servers.push(server);\n } else {\n // Define this server once for each given protocol scheme\n swagger.schemes.forEach((scheme) => {\n openapi.servers.push(\n Object.assign({}, server, { url: scheme + '://' + server.url })\n )\n });\n }\n delete openapi['x-ms-parameterized-host'];\n }\n\n fixInfo(openapi, options, reject);\n fixPaths(openapi, options, reject);\n\n if (typeof openapi.consumes === 'string') {\n openapi.consumes = [openapi.consumes];\n }\n if (typeof openapi.produces === 'string') {\n openapi.produces = [openapi.produces];\n }\n\n openapi.components = {};\n if (openapi['x-callbacks']) {\n openapi.components.callbacks = openapi['x-callbacks'];\n delete openapi['x-callbacks'];\n }\n openapi.components.examples = {};\n openapi.components.headers = {};\n if (openapi['x-links']) {\n openapi.components.links = openapi['x-links'];\n delete openapi['x-links'];\n }\n openapi.components.parameters = openapi.parameters || {};\n openapi.components.responses = openapi.responses || {};\n openapi.components.requestBodies = {};\n openapi.components.securitySchemes = openapi.securityDefinitions || {};\n openapi.components.schemas = openapi.definitions || {};\n delete openapi.definitions;\n delete openapi.responses;\n delete openapi.parameters;\n delete openapi.securityDefinitions;\n\n resolver.optionalResolve(options) // is a no-op if options.resolve is not set\n .then(function(){\n main(options.openapi, options);\n if (options.direct) {\n resolve(options.openapi);\n }\n else {\n resolve(options);\n }\n })\n .catch(function(ex){\n console.warn(ex);\n reject(ex);\n });\n\n }));\n}\n\nfunction convertStr(str, options, callback) {\n return maybe(callback, new Promise(function (resolve, reject) {\n let obj = null;\n let error = null;\n try {\n obj = JSON.parse(str);\n options.text = JSON.stringify(obj,null,2);\n }\n catch (ex) {\n error = ex;\n try {\n obj = yaml.parse(str, { schema: 'core', prettyErrors: true });\n options.sourceYaml = true;\n options.text = str;\n }\n catch (ex) {\n error = ex;\n }\n }\n if (obj) {\n convertObj(obj, options)\n .then(options => resolve(options))\n .catch(ex => reject(ex));\n }\n else {\n reject(new S2OError(error ? error.message : 'Could not parse string'));\n }\n }));\n}\n\nfunction convertUrl(url, options, callback) {\n return maybe(callback, new Promise(function (resolve, reject) {\n options.origin = true;\n if (!options.source) {\n options.source = url;\n }\n if (options.verbose) {\n console.warn('GET ' + url);\n }\n if (!options.fetch) {\n options.fetch = fetch;\n }\n const fetchOptions = Object.assign({}, options.fetchOptions, {agent:options.agent});\n options.fetch(url, fetchOptions).then(function (res) {\n if (res.status !== 200) throw new S2OError(`Received status code ${res.status}: ${url}`);\n return res.text();\n }).then(function (body) {\n convertStr(body, options)\n .then(options => resolve(options))\n .catch(ex => reject(ex));\n }).catch(function (err) {\n reject(err);\n });\n }));\n}\n\nfunction convertFile(filename, options, callback) {\n return maybe(callback, new Promise(function (resolve, reject) {\n fs.readFile(filename, options.encoding || 'utf8', function (err, s) {\n if (err) {\n reject(err);\n }\n else {\n options.sourceFile = filename;\n convertStr(s, options)\n .then(options => resolve(options))\n .catch(ex => reject(ex));\n }\n });\n }));\n}\n\nfunction convertStream(readable, options, callback) {\n return maybe(callback, new Promise(function (resolve, reject) {\n let data = '';\n readable.on('data', function (chunk) {\n data += chunk;\n })\n .on('end', function () {\n convertStr(data, options)\n .then(options => resolve(options))\n .catch(ex => reject(ex));\n });\n }));\n}\n\nmodule.exports = {\n S2OError: S2OError,\n targetVersion: targetVersion,\n convert: convertObj,\n convertObj: convertObj,\n convertUrl: convertUrl,\n convertStr: convertStr,\n convertFile: convertFile,\n convertStream: convertStream\n};\n","'use strict';\n\nfunction areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n for (var i = 0; i < newInputs.length; i++) {\n if (newInputs[i] !== lastInputs[i]) {\n return false;\n }\n }\n return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n if (isEqual === void 0) { isEqual = areInputsEqual; }\n var lastThis;\n var lastArgs = [];\n var lastResult;\n var calledOnce = false;\n function memoized() {\n var newArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n newArgs[_i] = arguments[_i];\n }\n if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {\n return lastResult;\n }\n lastResult = resultFn.apply(this, newArgs);\n calledOnce = true;\n lastThis = this;\n lastArgs = newArgs;\n return lastResult;\n }\n return memoized;\n}\n\nmodule.exports = memoizeOne;\n","module.exports = require(\"@redocly/react-dropdown-aria\");","module.exports = require(\"dompurify\");","module.exports = require(\"classnames\");","module.exports = require(\"call-me-maybe\");","'use strict';\n\nconst fs = require('fs');\nconst path = require('path');\nconst url = require('url');\n\nconst fetch = require('node-fetch-h2');\nconst yaml = require('yaml');\n\nconst jptr = require('reftools/lib/jptr.js').jptr;\nconst recurse = require('reftools/lib/recurse.js').recurse;\nconst clone = require('reftools/lib/clone.js').clone;\nconst deRef = require('reftools/lib/dereference.js').dereference;\nconst isRef = require('reftools/lib/isref.js').isRef;\nconst common = require('oas-kit-common');\n\nfunction unique(arr) {\n return [... new Set(arr)];\n}\n\nfunction readFileAsync(filename, encoding) {\n return new Promise(function (resolve, reject) {\n fs.readFile(filename, encoding, function (err, data) {\n if (err)\n reject(err);\n else\n resolve(data);\n });\n });\n}\n\nfunction resolveAllFragment(obj, context, src, parentPath, base, options) {\n\n let attachPoint = options.externalRefs[src+parentPath].paths[0];\n\n let baseUrl = url.parse(base);\n let seen = {}; // seen is indexed by the $ref value and contains path replacements\n let changes = 1;\n while (changes) {\n changes = 0;\n recurse(obj, {identityDetection:true}, function (obj, key, state) {\n if (isRef(obj, key)) {\n if (obj[key].startsWith('#')) {\n if (!seen[obj[key]] && !obj.$fixed) {\n let target = clone(jptr(context, obj[key]));\n if (options.verbose>1) console.warn((target === false ? common.colour.red : common.colour.green)+'Fragment resolution', obj[key], common.colour.normal);\n /*\n ResolutionCase:A is where there is a local reference in an externally\n referenced document, and we have not seen it before. The reference\n is replaced by a copy of the data pointed to, which may be outside this fragment\n but within the context of the external document\n */\n if (target === false) {\n state.parent[state.pkey] = {}; /* case:A(2) where the resolution fails */\n if (options.fatal) {\n let ex = new Error('Fragment $ref resolution failed '+obj[key]);\n if (options.promise) options.promise.reject(ex)\n else throw(ex);\n }\n }\n else {\n changes++;\n state.parent[state.pkey] = target;\n seen[obj[key]] = state.path.replace('/%24ref','');\n }\n }\n else {\n if (!obj.$fixed) {\n let newRef = (attachPoint+'/'+seen[obj[key]]).split('/#/').join('/');\n state.parent[state.pkey] = { $ref: newRef, 'x-miro': obj[key], $fixed: true };\n if (options.verbose>1) console.warn('Replacing with',newRef);\n changes++;\n }\n /*\n ResolutionCase:B is where there is a local reference in an externally\n referenced document, and we have seen this reference before and resolved it.\n We create a new object containing the (immutable) $ref string\n */\n }\n }\n else if (baseUrl.protocol) {\n let newRef = url.resolve(base,obj[key]).toString();\n if (options.verbose>1) console.warn(common.colour.yellow+'Rewriting external url ref',obj[key],'as',newRef,common.colour.normal);\n obj['x-miro'] = obj[key];\n obj[key] = newRef;\n }\n else if (!obj['x-miro']) {\n let newRef = url.resolve(base,obj[key]).toString();\n if (options.verbose>1) console.warn(common.colour.yellow+'Rewriting external ref',obj[key],'as',newRef,common.colour.normal);\n obj['x-miro'] = obj[key]; // we use x-miro as a flag so we don't do this > once\n obj[key] = newRef;\n }\n }\n });\n }\n\n recurse(obj,{},function(obj,key,state){\n if (isRef(obj, key)) {\n if (typeof obj.$fixed !== 'undefined') delete obj.$fixed;\n }\n });\n\n if (options.verbose>1) console.warn('Finished fragment resolution');\n return obj;\n}\n\nfunction filterData(data, options) {\n if (!options.filters || !options.filters.length) return data;\n for (let filter of options.filters) {\n data = filter(data, options);\n }\n return data;\n}\n\nfunction testProtocol(input, backup) {\n if (input && input.length > 2) return input;\n if (backup && backup.length > 2) return backup;\n return 'file:';\n}\n\nfunction resolveExternal(root, pointer, options, callback) {\n var u = url.parse(options.source);\n var base = options.source.split('\\\\').join('/').split('/');\n let doc = base.pop(); // drop the actual filename\n if (!doc) base.pop(); // in case it ended with a /\n let fragment = '';\n let fnComponents = pointer.split('#');\n if (fnComponents.length > 1) {\n fragment = '#' + fnComponents[1];\n pointer = fnComponents[0];\n }\n base = base.join('/');\n\n let u2 = url.parse(pointer);\n let effectiveProtocol = testProtocol(u2.protocol, u.protocol);\n\n let target;\n if (effectiveProtocol === 'file:') {\n target = path.resolve(base ? base + '/' : '', pointer);\n }\n else {\n target = url.resolve(base ? base + '/' : '', pointer);\n }\n\n if (options.cache[target]) {\n if (options.verbose) console.warn('CACHED', target, fragment);\n /*\n resolutionSource:A this is where we have cached the externally-referenced document from a\n file, http or custom handler\n */\n let context = clone(options.cache[target]);\n let data = options.externalRef = context;\n if (fragment) {\n data = jptr(data, fragment);\n if (data === false) {\n data = {}; // case:A(2) where the resolution fails\n if (options.fatal) {\n let ex = new Error('Cached $ref resolution failed '+target+fragment);\n if (options.promise) options.promise.reject(ex)\n else throw(ex);\n }\n }\n }\n data = resolveAllFragment(data, context, pointer, fragment, target, options);\n data = filterData(data, options);\n callback(clone(data), target, options);\n return Promise.resolve(data);\n }\n\n if (options.verbose) console.warn('GET', target, fragment);\n\n if (options.handlers && options.handlers[effectiveProtocol]) {\n return options.handlers[effectiveProtocol](base, pointer, fragment, options)\n .then(function (data) {\n options.externalRef = data;\n data = filterData(data, options);\n options.cache[target] = data;\n callback(data, target, options);\n return data;\n })\n .catch(function(ex){\n if (options.verbose) console.warn(ex);\n throw(ex);\n });\n }\n else if (effectiveProtocol && effectiveProtocol.startsWith('http')) {\n const fetchOptions = Object.assign({}, options.fetchOptions, { agent: options.agent });\n return options.fetch(target, fetchOptions)\n .then(function (res) {\n if (res.status !== 200) throw new Error(`Received status code ${res.status}: ${target}`);\n return res.text();\n })\n .then(function (data) {\n try {\n let context = yaml.parse(data, { schema:'core', prettyErrors: true });\n data = options.externalRef = context;\n options.cache[target] = clone(data);\n /* resolutionSource:B, from the network, data is fresh, but we clone it into the cache */\n if (fragment) {\n data = jptr(data, fragment);\n if (data === false) {\n data = {}; /* case:B(2) where the resolution fails */\n if (options.fatal) {\n let ex = new Error('Remote $ref resolution failed '+target+fragment);\n if (options.promise) options.promise.reject(ex)\n else throw(ex);\n }\n }\n }\n data = resolveAllFragment(data, context, pointer, fragment, target, options);\n data = filterData(data, options);\n }\n catch (ex) {\n if (options.verbose) console.warn(ex);\n if (options.promise && options.fatal) options.promise.reject(ex)\n else throw(ex);\n }\n callback(data, target, options);\n return data;\n })\n .catch(function (err) {\n if (options.verbose) console.warn(err);\n options.cache[target] = {};\n if (options.promise && options.fatal) options.promise.reject(err)\n else throw(err);\n });\n }\n else {\n return readFileAsync(target, options.encoding || 'utf8')\n .then(function (data) {\n try {\n let context = yaml.parse(data, { schema:'core', prettyErrors: true });\n data = options.externalRef = context;\n /*\n resolutionSource:C from a file, data is fresh but we clone it into the cache\n */\n options.cache[target] = clone(data);\n if (fragment) {\n data = jptr(data, fragment);\n if (data === false) {\n data = {}; /* case:C(2) where the resolution fails */\n if (options.fatal) {\n let ex = new Error('File $ref resolution failed '+target+fragment);\n if (options.promise) options.promise.reject(ex)\n else throw(ex);\n }\n }\n }\n data = resolveAllFragment(data, context, pointer, fragment, target, options);\n data = filterData(data, options);\n }\n catch (ex) {\n if (options.verbose) console.warn(ex);\n if (options.promise && options.fatal) options.promise.reject(ex)\n else throw(ex);\n }\n callback(data, target, options);\n return data;\n })\n .catch(function(err){\n if (options.verbose) console.warn(err);\n if (options.promise && options.fatal) options.promise.reject(err)\n else throw(err);\n });\n }\n}\n\nfunction scanExternalRefs(options) {\n return new Promise(function (res, rej) {\n\n function inner(obj,key,state){\n if (obj[key] && isRef(obj[key],'$ref')) {\n let $ref = obj[key].$ref;\n if (!$ref.startsWith('#')) { // is external\n\n let $extra = '';\n\n if (!refs[$ref]) {\n let potential = Object.keys(refs).find(function(e,i,a){\n return $ref.startsWith(e+'/');\n });\n if (potential) {\n if (options.verbose) console.warn('Found potential subschema at',potential);\n $extra = '/'+($ref.split('#')[1]||'').replace(potential.split('#')[1]||'');\n $extra = $extra.split('/undefined').join(''); // FIXME\n $ref = potential;\n }\n }\n\n if (!refs[$ref]) {\n refs[$ref] = { resolved: false, paths: [], extras:{}, description: obj[key].description };\n }\n if (refs[$ref].resolved) {\n if (options.rewriteRefs) {\n // we've already seen it\n let newRef = refs[$ref].resolvedAt;\n if (options.verbose>1) console.warn('Rewriting ref', $ref, newRef);\n obj[key]['x-miro'] = $ref;\n obj[key].$ref = newRef+$extra; // resolutionCase:C (new string)\n }\n else {\n obj[key] = clone(refs[$ref].data); // resolutionCase:D (cloned:yes)\n }\n }\n else {\n refs[$ref].paths.push(state.path);\n refs[$ref].extras[state.path] = $extra;\n }\n }\n }\n }\n\n let refs = options.externalRefs;\n\n if ((options.resolver.depth>0) && (options.source === options.resolver.base)) {\n // we only need to do any of this when called directly on pass #1\n return res(refs);\n }\n\n recurse(options.openapi.definitions, {identityDetection: true, path: '#/definitions'}, inner);\n recurse(options.openapi.components, {identityDetection: true, path: '#/components'}, inner);\n recurse(options.openapi, {identityDetection: true}, inner);\n\n res(refs);\n });\n}\n\nfunction findExternalRefs(options) {\n return new Promise(function (res, rej) {\n\n scanExternalRefs(options)\n .then(function (refs) {\n for (let ref in refs) {\n\n if (!refs[ref].resolved) {\n let depth = options.resolver.depth;\n if (depth>0) depth++;\n options.resolver.actions[depth].push(function () {\n return resolveExternal(options.openapi, ref, options, function (data, source, options) {\n if (!refs[ref].resolved) {\n let external = {};\n external.context = refs[ref];\n external.$ref = ref;\n external.original = clone(data);\n external.updated = data;\n external.source = source;\n options.externals.push(external);\n refs[ref].resolved = true;\n }\n\n let localOptions = Object.assign({}, options, { source: '',\n resolver: {actions: options.resolver.actions,\n depth: options.resolver.actions.length-1, base: options.resolver.base } });\n if (options.patch && refs[ref].description && !data.description &&\n (typeof data === 'object')) {\n data.description = refs[ref].description;\n }\n refs[ref].data = data;\n\n // sorting $refs by length causes bugs (due to overlapping regions?)\n let pointers = unique(refs[ref].paths);\n pointers = pointers.sort(function(a,b){\n const aComp = (a.startsWith('#/components/') || a.startsWith('#/definitions/'));\n const bComp = (b.startsWith('#/components/') || b.startsWith('#/definitions/'));\n if (aComp && !bComp) return -1;\n if (bComp && !aComp) return +1;\n return 0;\n });\n\n for (let ptr of pointers) {\n // shared x-ms-examples $refs confuse the fixupRefs heuristic in index.js\n if (refs[ref].resolvedAt && (ptr !== refs[ref].resolvedAt) && (ptr.indexOf('x-ms-examples/')<0)) {\n if (options.verbose>1) console.warn('Creating pointer to data at', ptr);\n jptr(options.openapi, ptr, { $ref: refs[ref].resolvedAt+refs[ref].extras[ptr], 'x-miro': ref+refs[ref].extras[ptr] }); // resolutionCase:E (new object)\n }\n else {\n if (refs[ref].resolvedAt) {\n if (options.verbose>1) console.warn('Avoiding circular reference');\n }\n else {\n refs[ref].resolvedAt = ptr;\n if (options.verbose>1) console.warn('Creating initial clone of data at', ptr);\n }\n let cdata = clone(data);\n jptr(options.openapi, ptr, cdata); // resolutionCase:F (cloned:yes)\n }\n }\n if (options.resolver.actions[localOptions.resolver.depth].length === 0) {\n //options.resolver.actions[localOptions.resolver.depth].push(function () { return scanExternalRefs(localOptions) });\n options.resolver.actions[localOptions.resolver.depth].push(function () { return findExternalRefs(localOptions) }); // findExternalRefs calls scanExternalRefs\n }\n });\n });\n }\n }\n })\n .catch(function(ex){\n if (options.verbose) console.warn(ex);\n rej(ex);\n });\n\n let result = {options:options};\n result.actions = options.resolver.actions[options.resolver.depth];\n res(result);\n });\n}\n\nconst serial = funcs =>\n funcs.reduce((promise, func) =>\n promise.then(result => func().then(Array.prototype.concat.bind(result))), Promise.resolve([]));\n\nfunction loopReferences(options, res, rej) {\n options.resolver.actions.push([]);\n findExternalRefs(options)\n .then(function (data) {\n serial(data.actions)\n .then(function () {\n if (options.resolver.depth>=options.resolver.actions.length) {\n console.warn('Ran off the end of resolver actions');\n return res(true);\n } else {\n options.resolver.depth++;\n if (options.resolver.actions[options.resolver.depth].length) {\n setTimeout(function () {\n loopReferences(data.options, res, rej);\n }, 0);\n }\n else {\n if (options.verbose>1) console.warn(common.colour.yellow+'Finished external resolution!',common.colour.normal);\n if (options.resolveInternal) {\n if (options.verbose>1) console.warn(common.colour.yellow+'Starting internal resolution!',common.colour.normal);\n options.openapi = deRef(options.openapi,options.original,{verbose:options.verbose-1});\n if (options.verbose>1) console.warn(common.colour.yellow+'Finished internal resolution!',common.colour.normal);\n }\n recurse(options.openapi,{},function(obj,key,state){\n if (isRef(obj, key)) {\n if (!options.preserveMiro) delete obj['x-miro'];\n }\n });\n res(options);\n }\n }\n })\n .catch(function (ex) {\n if (options.verbose) console.warn(ex);\n rej(ex);\n });\n })\n .catch(function(ex){\n if (options.verbose) console.warn(ex);\n rej(ex);\n });\n}\n\nfunction setupOptions(options) {\n if (!options.cache) options.cache = {};\n if (!options.fetch) options.fetch = fetch;\n\n if (options.source) {\n let srcUrl = url.parse(options.source);\n if (!srcUrl.protocol || srcUrl.protocol.length <= 2) { // windows drive-letters\n options.source = path.resolve(options.source);\n }\n }\n\n if (!options.externals) options.externals = [];\n if (!options.externalRefs) options.externalRefs = {};\n options.rewriteRefs = true;\n options.resolver = {};\n options.resolver.depth = 0;\n options.resolver.base = options.source;\n options.resolver.actions = [[]];\n}\n\n/** compatibility function for swagger2openapi */\nfunction optionalResolve(options) {\n setupOptions(options);\n return new Promise(function (res, rej) {\n if (options.resolve)\n loopReferences(options, res, rej)\n else\n res(options);\n });\n}\n\nfunction resolve(openapi,source,options) {\n if (!options) options = {};\n options.openapi = openapi;\n options.source = source;\n options.resolve = true;\n setupOptions(options);\n return new Promise(function (res, rej) {\n loopReferences(options, res, rej)\n });\n}\n\nmodule.exports = {\n optionalResolve: optionalResolve,\n resolve: resolve\n};\n\n","'use strict';\n\nconst recurse = require('./recurse.js').recurse;\nconst clone = require('./clone.js').shallowClone;\nconst jptr = require('./jptr.js').jptr;\nconst isRef = require('./isref.js').isRef;\n\nvar getLogger = function (options) {\n if (options && options.verbose) {\n return {\n warn: function() {\n var args = Array.prototype.slice.call(arguments);\n console.warn.apply(console, args);\n }\n }\n }\n else {\n return {\n warn: function() {\n //nop\n }\n }\n }\n}\n\n/**\n* dereferences the given object\n* @param o the object to dereference\n* @definitions a source of definitions to reference\n* @options optional settings (used recursively)\n* @return the dereferenced object\n*/\nfunction dereference(o,definitions,options) {\n if (!options) options = {};\n if (!options.cache) options.cache = {};\n if (!options.state) options.state = {};\n options.state.identityDetection = true;\n // options.depth allows us to limit cloning to the first invocation\n options.depth = (options.depth ? options.depth+1 : 1);\n let obj = (options.depth > 1 ? o : clone(o));\n let container = { data: obj };\n let defs = (options.depth > 1 ? definitions : clone(definitions));\n // options.master is the top level object, regardless of depth\n if (!options.master) options.master = obj;\n\n let logger = getLogger(options);\n\n let changes = 1;\n while (changes > 0) {\n changes = 0;\n recurse(container,options.state,function(obj,key,state){\n if (isRef(obj,key)) {\n let $ref = obj[key]; // immutable\n changes++;\n if (!options.cache[$ref]) {\n let entry = {};\n entry.path = state.path.split('/$ref')[0];\n entry.key = $ref;\n logger.warn('Dereffing %s at %s',$ref,entry.path);\n entry.source = defs;\n entry.data = jptr(entry.source,entry.key);\n if (entry.data === false) {\n entry.data = jptr(options.master,entry.key);\n entry.source = options.master;\n }\n if (entry.data === false) {\n logger.warn('Missing $ref target',entry.key);\n }\n options.cache[$ref] = entry;\n entry.data = state.parent[state.pkey] = dereference(jptr(entry.source,entry.key),entry.source,options);\n if ((options.$ref) && (typeof state.parent[state.pkey] === 'object')) state.parent[state.pkey][options.$ref] = $ref;\n entry.resolved = true;\n }\n else {\n let entry = options.cache[$ref];\n if (entry.resolved) {\n // we have already seen and resolved this reference\n logger.warn('Patching %s for %s',$ref,entry.path);\n state.parent[state.pkey] = entry.data;\n if ((options.$ref) && (typeof state.parent[state.pkey] === 'object')) state.parent[state.pkey][options.$ref] = $ref;\n }\n else if ($ref === entry.path) {\n // reference to itself, throw\n throw new Error(`Tight circle at ${entry.path}`);\n }\n else {\n // we're dealing with a circular reference here\n logger.warn('Unresolved ref');\n state.parent[state.pkey] = jptr(entry.source,entry.path);\n if (state.parent[state.pkey] === false) {\n state.parent[state.pkey] = jptr(entry.source,entry.key);\n }\n if ((options.$ref) && (typeof state.parent[state.pkey] === 'object')) state.parent[options.$ref] = $ref;\n }\n }\n }\n });\n }\n return container.data;\n}\n\nmodule.exports = {\n dereference : dereference\n};\n\n","module.exports = require(\"fast-safe-stringify\");","'use strict';\n\n/**\n* functions to walk an OpenAPI schema object and traverse all subschemas\n* calling a callback function on each one\n*/\n\n/**\n* obtains the default starting state for the `state` object used\n* by walkSchema\n* @return the state object suitable for use in walkSchema\n*/\nfunction getDefaultState() {\n return { depth: 0, seen: new WeakMap(), top: true, combine: false, allowRefSiblings: false };\n}\n\n/**\n* begins the walk of a schema object\n* @param parent the parent schema, if any. Use empty object if none\n* @param state the initial starting state of the walker, usually obtained from `getDefaultState`. Use empty object to auto-initialise\n* @param callback a function taking a schema, parent and state to be called on this and all subschemas\n* @return the schema object\n*/\nfunction walkSchema(schema, parent, state, callback) {\n\n if (typeof state.depth === 'undefined') state = getDefaultState();\n if ((schema === null) || (typeof schema === 'undefined')) return schema;\n if (typeof schema.$ref !== 'undefined') {\n let temp = {$ref:schema.$ref};\n if (state.allowRefSiblings && schema.description) {\n temp.description = schema.description;\n }\n callback(temp,parent,state);\n return temp; // all other properties SHALL be ignored\n }\n\n if (state.combine) {\n if (schema.allOf && Array.isArray(schema.allOf) && schema.allOf.length === 1) {\n schema = Object.assign({},schema.allOf[0],schema);\n delete schema.allOf;\n }\n if (schema.anyOf && Array.isArray(schema.anyOf) && schema.anyOf.length === 1) {\n schema = Object.assign({},schema.anyOf[0],schema);\n delete schema.anyOf;\n }\n if (schema.oneOf && Array.isArray(schema.oneOf) && schema.oneOf.length === 1) {\n schema = Object.assign({},schema.oneOf[0],schema);\n delete schema.oneOf;\n }\n }\n\n callback(schema,parent,state);\n if (state.seen.has(schema)) {\n return schema;\n }\n //else\n if ((typeof schema === 'object') && (schema !== null)) state.seen.set(schema,true);\n state.top = false;\n state.depth++;\n\n if (typeof schema.items !== 'undefined') {\n state.property = 'items';\n walkSchema(schema.items,schema,state,callback);\n }\n if (schema.additionalItems) {\n if (typeof schema.additionalItems === 'object') {\n state.property = 'additionalItems';\n walkSchema(schema.additionalItems,schema,state,callback);\n }\n }\n if (schema.additionalProperties) {\n if (typeof schema.additionalProperties === 'object') {\n state.property = 'additionalProperties';\n walkSchema(schema.additionalProperties,schema,state,callback);\n }\n }\n if (schema.properties) {\n for (let prop in schema.properties) {\n let subSchema = schema.properties[prop];\n state.property = 'properties/'+prop;\n walkSchema(subSchema,schema,state,callback);\n }\n }\n if (schema.patternProperties) {\n for (let prop in schema.patternProperties) {\n let subSchema = schema.patternProperties[prop];\n state.property = 'patternProperties/'+prop;\n walkSchema(subSchema,schema,state,callback);\n }\n }\n if (schema.allOf) {\n for (let index in schema.allOf) {\n let subSchema = schema.allOf[index];\n state.property = 'allOf/'+index;\n walkSchema(subSchema,schema,state,callback);\n }\n }\n if (schema.anyOf) {\n for (let index in schema.anyOf) {\n let subSchema = schema.anyOf[index];\n state.property = 'anyOf/'+index;\n walkSchema(subSchema,schema,state,callback);\n }\n }\n if (schema.oneOf) {\n for (let index in schema.oneOf) {\n let subSchema = schema.oneOf[index];\n state.property = 'oneOf/'+index;\n walkSchema(subSchema,schema,state,callback);\n }\n }\n if (schema.not) {\n state.property = 'not';\n walkSchema(schema.not,schema,state,callback);\n }\n state.depth--;\n return schema;\n}\n\nmodule.exports = {\n getDefaultState: getDefaultState,\n walkSchema: walkSchema\n};\n\n","'use strict';\n\nconst http = require('http');\n\nconst ours = {\n \"default\": \"Default response\",\n \"1XX\": \"Informational\",\n \"103\": \"Early hints\", // not in Node < 10\n \"2XX\": \"Successful\",\n \"3XX\": \"Redirection\",\n \"4XX\": \"Client Error\",\n \"5XX\": \"Server Error\",\n \"7XX\": \"Developer Error\" // April fools RFC\n};\n\nmodule.exports = {\n statusCodes: Object.assign({},ours,http.STATUS_CODES)\n};\n\n","var ClientRequest = require('./lib/request')\nvar response = require('./lib/response')\nvar extend = require('xtend')\nvar statusCodes = require('builtin-status-codes')\nvar url = require('url')\n\nvar http = exports\n\nhttp.request = function (opts, cb) {\n\tif (typeof opts === 'string')\n\t\topts = url.parse(opts)\n\telse\n\t\topts = extend(opts)\n\n\t// Normally, the page is loaded from http or https, so not specifying a protocol\n\t// will result in a (valid) protocol-relative url. However, this won't work if\n\t// the protocol is something else, like 'file:'\n\tvar defaultProtocol = global.location.protocol.search(/^https?:$/) === -1 ? 'http:' : ''\n\n\tvar protocol = opts.protocol || defaultProtocol\n\tvar host = opts.hostname || opts.host\n\tvar port = opts.port\n\tvar path = opts.path || '/'\n\n\t// Necessary for IPv6 addresses\n\tif (host && host.indexOf(':') !== -1)\n\t\thost = '[' + host + ']'\n\n\t// This may be a relative url. The browser should always be able to interpret it correctly.\n\topts.url = (host ? (protocol + '//' + host) : '') + (port ? ':' + port : '') + path\n\topts.method = (opts.method || 'GET').toUpperCase()\n\topts.headers = opts.headers || {}\n\n\t// Also valid opts.auth, opts.mode\n\n\tvar req = new ClientRequest(opts)\n\tif (cb)\n\t\treq.on('response', cb)\n\treturn req\n}\n\nhttp.get = function get (opts, cb) {\n\tvar req = http.request(opts, cb)\n\treq.end()\n\treturn req\n}\n\nhttp.ClientRequest = ClientRequest\nhttp.IncomingMessage = response.IncomingMessage\n\nhttp.Agent = function () {}\nhttp.Agent.defaultMaxSockets = 4\n\nhttp.globalAgent = new http.Agent()\n\nhttp.STATUS_CODES = statusCodes\n\nhttp.METHODS = [\n\t'CHECKOUT',\n\t'CONNECT',\n\t'COPY',\n\t'DELETE',\n\t'GET',\n\t'HEAD',\n\t'LOCK',\n\t'M-SEARCH',\n\t'MERGE',\n\t'MKACTIVITY',\n\t'MKCOL',\n\t'MOVE',\n\t'NOTIFY',\n\t'OPTIONS',\n\t'PATCH',\n\t'POST',\n\t'PROPFIND',\n\t'PROPPATCH',\n\t'PURGE',\n\t'PUT',\n\t'REPORT',\n\t'SEARCH',\n\t'SUBSCRIBE',\n\t'TRACE',\n\t'UNLOCK',\n\t'UNSUBSCRIBE'\n]","var capability = require('./capability')\nvar inherits = require('inherits')\nvar response = require('./response')\nvar stream = require('readable-stream')\nvar toArrayBuffer = require('to-arraybuffer')\n\nvar IncomingMessage = response.IncomingMessage\nvar rStates = response.readyStates\n\nfunction decideMode (preferBinary, useFetch) {\n\tif (capability.fetch && useFetch) {\n\t\treturn 'fetch'\n\t} else if (capability.mozchunkedarraybuffer) {\n\t\treturn 'moz-chunked-arraybuffer'\n\t} else if (capability.msstream) {\n\t\treturn 'ms-stream'\n\t} else if (capability.arraybuffer && preferBinary) {\n\t\treturn 'arraybuffer'\n\t} else if (capability.vbArray && preferBinary) {\n\t\treturn 'text:vbarray'\n\t} else {\n\t\treturn 'text'\n\t}\n}\n\nvar ClientRequest = module.exports = function (opts) {\n\tvar self = this\n\tstream.Writable.call(self)\n\n\tself._opts = opts\n\tself._body = []\n\tself._headers = {}\n\tif (opts.auth)\n\t\tself.setHeader('Authorization', 'Basic ' + new Buffer(opts.auth).toString('base64'))\n\tObject.keys(opts.headers).forEach(function (name) {\n\t\tself.setHeader(name, opts.headers[name])\n\t})\n\n\tvar preferBinary\n\tvar useFetch = true\n\tif (opts.mode === 'disable-fetch' || ('requestTimeout' in opts && !capability.abortController)) {\n\t\t// If the use of XHR should be preferred. Not typically needed.\n\t\tuseFetch = false\n\t\tpreferBinary = true\n\t} else if (opts.mode === 'prefer-streaming') {\n\t\t// If streaming is a high priority but binary compatibility and\n\t\t// the accuracy of the 'content-type' header aren't\n\t\tpreferBinary = false\n\t} else if (opts.mode === 'allow-wrong-content-type') {\n\t\t// If streaming is more important than preserving the 'content-type' header\n\t\tpreferBinary = !capability.overrideMimeType\n\t} else if (!opts.mode || opts.mode === 'default' || opts.mode === 'prefer-fast') {\n\t\t// Use binary if text streaming may corrupt data or the content-type header, or for speed\n\t\tpreferBinary = true\n\t} else {\n\t\tthrow new Error('Invalid value for opts.mode')\n\t}\n\tself._mode = decideMode(preferBinary, useFetch)\n\tself._fetchTimer = null\n\n\tself.on('finish', function () {\n\t\tself._onFinish()\n\t})\n}\n\ninherits(ClientRequest, stream.Writable)\n\nClientRequest.prototype.setHeader = function (name, value) {\n\tvar self = this\n\tvar lowerName = name.toLowerCase()\n\t// This check is not necessary, but it prevents warnings from browsers about setting unsafe\n\t// headers. To be honest I'm not entirely sure hiding these warnings is a good thing, but\n\t// http-browserify did it, so I will too.\n\tif (unsafeHeaders.indexOf(lowerName) !== -1)\n\t\treturn\n\n\tself._headers[lowerName] = {\n\t\tname: name,\n\t\tvalue: value\n\t}\n}\n\nClientRequest.prototype.getHeader = function (name) {\n\tvar header = this._headers[name.toLowerCase()]\n\tif (header)\n\t\treturn header.value\n\treturn null\n}\n\nClientRequest.prototype.removeHeader = function (name) {\n\tvar self = this\n\tdelete self._headers[name.toLowerCase()]\n}\n\nClientRequest.prototype._onFinish = function () {\n\tvar self = this\n\n\tif (self._destroyed)\n\t\treturn\n\tvar opts = self._opts\n\n\tvar headersObj = self._headers\n\tvar body = null\n\tif (opts.method !== 'GET' && opts.method !== 'HEAD') {\n\t\tif (capability.arraybuffer) {\n\t\t\tbody = toArrayBuffer(Buffer.concat(self._body))\n\t\t} else if (capability.blobConstructor) {\n\t\t\tbody = new global.Blob(self._body.map(function (buffer) {\n\t\t\t\treturn toArrayBuffer(buffer)\n\t\t\t}), {\n\t\t\t\ttype: (headersObj['content-type'] || {}).value || ''\n\t\t\t})\n\t\t} else {\n\t\t\t// get utf8 string\n\t\t\tbody = Buffer.concat(self._body).toString()\n\t\t}\n\t}\n\n\t// create flattened list of headers\n\tvar headersList = []\n\tObject.keys(headersObj).forEach(function (keyName) {\n\t\tvar name = headersObj[keyName].name\n\t\tvar value = headersObj[keyName].value\n\t\tif (Array.isArray(value)) {\n\t\t\tvalue.forEach(function (v) {\n\t\t\t\theadersList.push([name, v])\n\t\t\t})\n\t\t} else {\n\t\t\theadersList.push([name, value])\n\t\t}\n\t})\n\n\tif (self._mode === 'fetch') {\n\t\tvar signal = null\n\t\tvar fetchTimer = null\n\t\tif (capability.abortController) {\n\t\t\tvar controller = new AbortController()\n\t\t\tsignal = controller.signal\n\t\t\tself._fetchAbortController = controller\n\n\t\t\tif ('requestTimeout' in opts && opts.requestTimeout !== 0) {\n\t\t\t\tself._fetchTimer = global.setTimeout(function () {\n\t\t\t\t\tself.emit('requestTimeout')\n\t\t\t\t\tif (self._fetchAbortController)\n\t\t\t\t\t\tself._fetchAbortController.abort()\n\t\t\t\t}, opts.requestTimeout)\n\t\t\t}\n\t\t}\n\n\t\tglobal.fetch(self._opts.url, {\n\t\t\tmethod: self._opts.method,\n\t\t\theaders: headersList,\n\t\t\tbody: body || undefined,\n\t\t\tmode: 'cors',\n\t\t\tcredentials: opts.withCredentials ? 'include' : 'same-origin',\n\t\t\tsignal: signal\n\t\t}).then(function (response) {\n\t\t\tself._fetchResponse = response\n\t\t\tself._connect()\n\t\t}, function (reason) {\n\t\t\tglobal.clearTimeout(self._fetchTimer)\n\t\t\tif (!self._destroyed)\n\t\t\t\tself.emit('error', reason)\n\t\t})\n\t} else {\n\t\tvar xhr = self._xhr = new global.XMLHttpRequest()\n\t\ttry {\n\t\t\txhr.open(self._opts.method, self._opts.url, true)\n\t\t} catch (err) {\n\t\t\tprocess.nextTick(function () {\n\t\t\t\tself.emit('error', err)\n\t\t\t})\n\t\t\treturn\n\t\t}\n\n\t\t// Can't set responseType on really old browsers\n\t\tif ('responseType' in xhr)\n\t\t\txhr.responseType = self._mode.split(':')[0]\n\n\t\tif ('withCredentials' in xhr)\n\t\t\txhr.withCredentials = !!opts.withCredentials\n\n\t\tif (self._mode === 'text' && 'overrideMimeType' in xhr)\n\t\t\txhr.overrideMimeType('text/plain; charset=x-user-defined')\n\n\t\tif ('requestTimeout' in opts) {\n\t\t\txhr.timeout = opts.requestTimeout\n\t\t\txhr.ontimeout = function () {\n\t\t\t\tself.emit('requestTimeout')\n\t\t\t}\n\t\t}\n\n\t\theadersList.forEach(function (header) {\n\t\t\txhr.setRequestHeader(header[0], header[1])\n\t\t})\n\n\t\tself._response = null\n\t\txhr.onreadystatechange = function () {\n\t\t\tswitch (xhr.readyState) {\n\t\t\t\tcase rStates.LOADING:\n\t\t\t\tcase rStates.DONE:\n\t\t\t\t\tself._onXHRProgress()\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\t// Necessary for streaming in Firefox, since xhr.response is ONLY defined\n\t\t// in onprogress, not in onreadystatechange with xhr.readyState = 3\n\t\tif (self._mode === 'moz-chunked-arraybuffer') {\n\t\t\txhr.onprogress = function () {\n\t\t\t\tself._onXHRProgress()\n\t\t\t}\n\t\t}\n\n\t\txhr.onerror = function () {\n\t\t\tif (self._destroyed)\n\t\t\t\treturn\n\t\t\tself.emit('error', new Error('XHR error'))\n\t\t}\n\n\t\ttry {\n\t\t\txhr.send(body)\n\t\t} catch (err) {\n\t\t\tprocess.nextTick(function () {\n\t\t\t\tself.emit('error', err)\n\t\t\t})\n\t\t\treturn\n\t\t}\n\t}\n}\n\n/**\n * Checks if xhr.status is readable and non-zero, indicating no error.\n * Even though the spec says it should be available in readyState 3,\n * accessing it throws an exception in IE8\n */\nfunction statusValid (xhr) {\n\ttry {\n\t\tvar status = xhr.status\n\t\treturn (status !== null && status !== 0)\n\t} catch (e) {\n\t\treturn false\n\t}\n}\n\nClientRequest.prototype._onXHRProgress = function () {\n\tvar self = this\n\n\tif (!statusValid(self._xhr) || self._destroyed)\n\t\treturn\n\n\tif (!self._response)\n\t\tself._connect()\n\n\tself._response._onXHRProgress()\n}\n\nClientRequest.prototype._connect = function () {\n\tvar self = this\n\n\tif (self._destroyed)\n\t\treturn\n\n\tself._response = new IncomingMessage(self._xhr, self._fetchResponse, self._mode, self._fetchTimer)\n\tself._response.on('error', function(err) {\n\t\tself.emit('error', err)\n\t})\n\n\tself.emit('response', self._response)\n}\n\nClientRequest.prototype._write = function (chunk, encoding, cb) {\n\tvar self = this\n\n\tself._body.push(chunk)\n\tcb()\n}\n\nClientRequest.prototype.abort = ClientRequest.prototype.destroy = function () {\n\tvar self = this\n\tself._destroyed = true\n\tglobal.clearTimeout(self._fetchTimer)\n\tif (self._response)\n\t\tself._response._destroyed = true\n\tif (self._xhr)\n\t\tself._xhr.abort()\n\telse if (self._fetchAbortController)\n\t\tself._fetchAbortController.abort()\n}\n\nClientRequest.prototype.end = function (data, encoding, cb) {\n\tvar self = this\n\tif (typeof data === 'function') {\n\t\tcb = data\n\t\tdata = undefined\n\t}\n\n\tstream.Writable.prototype.end.call(self, data, encoding, cb)\n}\n\nClientRequest.prototype.flushHeaders = function () {}\nClientRequest.prototype.setTimeout = function () {}\nClientRequest.prototype.setNoDelay = function () {}\nClientRequest.prototype.setSocketKeepAlive = function () {}\n\n// Taken from http://www.w3.org/TR/XMLHttpRequest/#the-setrequestheader%28%29-method\nvar unsafeHeaders = [\n\t'accept-charset',\n\t'accept-encoding',\n\t'access-control-request-headers',\n\t'access-control-request-method',\n\t'connection',\n\t'content-length',\n\t'cookie',\n\t'cookie2',\n\t'date',\n\t'dnt',\n\t'expect',\n\t'host',\n\t'keep-alive',\n\t'origin',\n\t'referer',\n\t'te',\n\t'trailer',\n\t'transfer-encoding',\n\t'upgrade',\n\t'via'\n]\n","module.exports = require(\"base64-js\");","module.exports = require(\"ieee754\");","module.exports = require(\"isarray\");","module.exports = require(\"to-arraybuffer\");","module.exports = require(\"xtend\");","module.exports = require(\"builtin-status-codes\");","module.exports = require(\"prismjs/components/prism-bash.js\");","module.exports = require(\"prismjs/components/prism-c.js\");","module.exports = require(\"prismjs/components/prism-clike.js\");","module.exports = require(\"prismjs/components/prism-coffeescript.js\");","module.exports = require(\"prismjs/components/prism-cpp.js\");","module.exports = require(\"prismjs/components/prism-csharp.js\");","module.exports = require(\"prismjs/components/prism-go.js\");","module.exports = require(\"prismjs/components/prism-http.js\");","module.exports = require(\"prismjs/components/prism-java.js\");","module.exports = require(\"prismjs/components/prism-lua.js\");","module.exports = require(\"prismjs/components/prism-markup-templating.js\");","module.exports = require(\"prismjs/components/prism-markup.js\");","module.exports = require(\"prismjs/components/prism-objectivec.js\");","module.exports = require(\"prismjs/components/prism-perl.js\");","module.exports = require(\"prismjs/components/prism-php.js\");","module.exports = require(\"prismjs/components/prism-python.js\");","module.exports = require(\"prismjs/components/prism-ruby.js\");","module.exports = require(\"prismjs/components/prism-scala.js\");","module.exports = require(\"prismjs/components/prism-sql.js\");","module.exports = require(\"prismjs/components/prism-swift.js\");","\n\t\t\t\tvar addMethods = require(\"../../node_modules/workerize-loader/dist/rpc-wrapper.js\")\n\t\t\t\tvar methods = [\"add\",\"done\",\"toJS\",\"fromExternalJS\",\"load\",\"dispose\",\"search\"]\n\t\t\t\tmodule.exports = function() {\n\t\t\t\t\tvar w = new Worker(URL.createObjectURL(new Blob([\"/*!\\n * ReDoc - OpenAPI/Swagger-generated API Reference Documentation\\n * -------------------------------------------------------------\\n * Version: \\\"2.0.0-rc.47\\\"\\n * Repo: https://github.com/Redocly/redoc\\n */\\n/******/ (function(modules) { // webpackBootstrap\\n/******/ \\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 = 100);\\n/******/ })\\n/************************************************************************/\\n/******/ ([\\n/* 0 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n/* WEBPACK VAR INJECTION */(function(global) {var check = function (it) {\\n return it && it.Math == Math && it;\\n};\\n\\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\\nmodule.exports =\\n // eslint-disable-next-line no-undef\\n check(typeof globalThis == 'object' && globalThis) ||\\n check(typeof window == 'object' && window) ||\\n check(typeof self == 'object' && self) ||\\n check(typeof global == 'object' && global) ||\\n // eslint-disable-next-line no-new-func\\n (function () { return this; })() || Function('return this')();\\n\\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(61)))\\n\\n/***/ }),\\n/* 1 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar global = __webpack_require__(0);\\nvar shared = __webpack_require__(40);\\nvar has = __webpack_require__(2);\\nvar uid = __webpack_require__(41);\\nvar NATIVE_SYMBOL = __webpack_require__(48);\\nvar USE_SYMBOL_AS_UID = __webpack_require__(77);\\n\\nvar WellKnownSymbolsStore = shared('wks');\\nvar Symbol = global.Symbol;\\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\\n\\nmodule.exports = function (name) {\\n if (!has(WellKnownSymbolsStore, name)) {\\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\\n } return WellKnownSymbolsStore[name];\\n};\\n\\n\\n/***/ }),\\n/* 2 */\\n/***/ (function(module, exports) {\\n\\nvar hasOwnProperty = {}.hasOwnProperty;\\n\\nmodule.exports = function (it, key) {\\n return hasOwnProperty.call(it, key);\\n};\\n\\n\\n/***/ }),\\n/* 3 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar isObject = __webpack_require__(7);\\n\\nmodule.exports = function (it) {\\n if (!isObject(it)) {\\n throw TypeError(String(it) + ' is not an object');\\n } return it;\\n};\\n\\n\\n/***/ }),\\n/* 4 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\\n * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.8\\n * Copyright (C) 2019 Oliver Nightingale\\n * @license MIT\\n */\\n\\n;(function(){\\n\\n/**\\n * A convenience function for configuring and constructing\\n * a new lunr Index.\\n *\\n * A lunr.Builder instance is created and the pipeline setup\\n * with a trimmer, stop word filter and stemmer.\\n *\\n * This builder object is yielded to the configuration function\\n * that is passed as a parameter, allowing the list of fields\\n * and other builder parameters to be customised.\\n *\\n * All documents _must_ be added within the passed config function.\\n *\\n * @example\\n * var idx = lunr(function () {\\n * this.field('title')\\n * this.field('body')\\n * this.ref('id')\\n *\\n * documents.forEach(function (doc) {\\n * this.add(doc)\\n * }, this)\\n * })\\n *\\n * @see {@link lunr.Builder}\\n * @see {@link lunr.Pipeline}\\n * @see {@link lunr.trimmer}\\n * @see {@link lunr.stopWordFilter}\\n * @see {@link lunr.stemmer}\\n * @namespace {function} lunr\\n */\\nvar lunr = function (config) {\\n var builder = new lunr.Builder\\n\\n builder.pipeline.add(\\n lunr.trimmer,\\n lunr.stopWordFilter,\\n lunr.stemmer\\n )\\n\\n builder.searchPipeline.add(\\n lunr.stemmer\\n )\\n\\n config.call(builder, builder)\\n return builder.build()\\n}\\n\\nlunr.version = \\\"2.3.8\\\"\\n/*!\\n * lunr.utils\\n * Copyright (C) 2019 Oliver Nightingale\\n */\\n\\n/**\\n * A namespace containing utils for the rest of the lunr library\\n * @namespace lunr.utils\\n */\\nlunr.utils = {}\\n\\n/**\\n * Print a warning message to the console.\\n *\\n * @param {String} message The message to be printed.\\n * @memberOf lunr.utils\\n * @function\\n */\\nlunr.utils.warn = (function (global) {\\n /* eslint-disable no-console */\\n return function (message) {\\n if (global.console && console.warn) {\\n console.warn(message)\\n }\\n }\\n /* eslint-enable no-console */\\n})(this)\\n\\n/**\\n * Convert an object to a string.\\n *\\n * In the case of `null` and `undefined` the function returns\\n * the empty string, in all other cases the result of calling\\n * `toString` on the passed object is returned.\\n *\\n * @param {Any} obj The object to convert to a string.\\n * @return {String} string representation of the passed object.\\n * @memberOf lunr.utils\\n */\\nlunr.utils.asString = function (obj) {\\n if (obj === void 0 || obj === null) {\\n return \\\"\\\"\\n } else {\\n return obj.toString()\\n }\\n}\\n\\n/**\\n * Clones an object.\\n *\\n * Will create a copy of an existing object such that any mutations\\n * on the copy cannot affect the original.\\n *\\n * Only shallow objects are supported, passing a nested object to this\\n * function will cause a TypeError.\\n *\\n * Objects with primitives, and arrays of primitives are supported.\\n *\\n * @param {Object} obj The object to clone.\\n * @return {Object} a clone of the passed object.\\n * @throws {TypeError} when a nested object is passed.\\n * @memberOf Utils\\n */\\nlunr.utils.clone = function (obj) {\\n if (obj === null || obj === undefined) {\\n return obj\\n }\\n\\n var clone = Object.create(null),\\n keys = Object.keys(obj)\\n\\n for (var i = 0; i < keys.length; i++) {\\n var key = keys[i],\\n val = obj[key]\\n\\n if (Array.isArray(val)) {\\n clone[key] = val.slice()\\n continue\\n }\\n\\n if (typeof val === 'string' ||\\n typeof val === 'number' ||\\n typeof val === 'boolean') {\\n clone[key] = val\\n continue\\n }\\n\\n throw new TypeError(\\\"clone is not deep and does not support nested objects\\\")\\n }\\n\\n return clone\\n}\\nlunr.FieldRef = function (docRef, fieldName, stringValue) {\\n this.docRef = docRef\\n this.fieldName = fieldName\\n this._stringValue = stringValue\\n}\\n\\nlunr.FieldRef.joiner = \\\"/\\\"\\n\\nlunr.FieldRef.fromString = function (s) {\\n var n = s.indexOf(lunr.FieldRef.joiner)\\n\\n if (n === -1) {\\n throw \\\"malformed field ref string\\\"\\n }\\n\\n var fieldRef = s.slice(0, n),\\n docRef = s.slice(n + 1)\\n\\n return new lunr.FieldRef (docRef, fieldRef, s)\\n}\\n\\nlunr.FieldRef.prototype.toString = function () {\\n if (this._stringValue == undefined) {\\n this._stringValue = this.fieldName + lunr.FieldRef.joiner + this.docRef\\n }\\n\\n return this._stringValue\\n}\\n/*!\\n * lunr.Set\\n * Copyright (C) 2019 Oliver Nightingale\\n */\\n\\n/**\\n * A lunr set.\\n *\\n * @constructor\\n */\\nlunr.Set = function (elements) {\\n this.elements = Object.create(null)\\n\\n if (elements) {\\n this.length = elements.length\\n\\n for (var i = 0; i < this.length; i++) {\\n this.elements[elements[i]] = true\\n }\\n } else {\\n this.length = 0\\n }\\n}\\n\\n/**\\n * A complete set that contains all elements.\\n *\\n * @static\\n * @readonly\\n * @type {lunr.Set}\\n */\\nlunr.Set.complete = {\\n intersect: function (other) {\\n return other\\n },\\n\\n union: function (other) {\\n return other\\n },\\n\\n contains: function () {\\n return true\\n }\\n}\\n\\n/**\\n * An empty set that contains no elements.\\n *\\n * @static\\n * @readonly\\n * @type {lunr.Set}\\n */\\nlunr.Set.empty = {\\n intersect: function () {\\n return this\\n },\\n\\n union: function (other) {\\n return other\\n },\\n\\n contains: function () {\\n return false\\n }\\n}\\n\\n/**\\n * Returns true if this set contains the specified object.\\n *\\n * @param {object} object - Object whose presence in this set is to be tested.\\n * @returns {boolean} - True if this set contains the specified object.\\n */\\nlunr.Set.prototype.contains = function (object) {\\n return !!this.elements[object]\\n}\\n\\n/**\\n * Returns a new set containing only the elements that are present in both\\n * this set and the specified set.\\n *\\n * @param {lunr.Set} other - set to intersect with this set.\\n * @returns {lunr.Set} a new set that is the intersection of this and the specified set.\\n */\\n\\nlunr.Set.prototype.intersect = function (other) {\\n var a, b, elements, intersection = []\\n\\n if (other === lunr.Set.complete) {\\n return this\\n }\\n\\n if (other === lunr.Set.empty) {\\n return other\\n }\\n\\n if (this.length < other.length) {\\n a = this\\n b = other\\n } else {\\n a = other\\n b = this\\n }\\n\\n elements = Object.keys(a.elements)\\n\\n for (var i = 0; i < elements.length; i++) {\\n var element = elements[i]\\n if (element in b.elements) {\\n intersection.push(element)\\n }\\n }\\n\\n return new lunr.Set (intersection)\\n}\\n\\n/**\\n * Returns a new set combining the elements of this and the specified set.\\n *\\n * @param {lunr.Set} other - set to union with this set.\\n * @return {lunr.Set} a new set that is the union of this and the specified set.\\n */\\n\\nlunr.Set.prototype.union = function (other) {\\n if (other === lunr.Set.complete) {\\n return lunr.Set.complete\\n }\\n\\n if (other === lunr.Set.empty) {\\n return this\\n }\\n\\n return new lunr.Set(Object.keys(this.elements).concat(Object.keys(other.elements)))\\n}\\n/**\\n * A function to calculate the inverse document frequency for\\n * a posting. This is shared between the builder and the index\\n *\\n * @private\\n * @param {object} posting - The posting for a given term\\n * @param {number} documentCount - The total number of documents.\\n */\\nlunr.idf = function (posting, documentCount) {\\n var documentsWithTerm = 0\\n\\n for (var fieldName in posting) {\\n if (fieldName == '_index') continue // Ignore the term index, its not a field\\n documentsWithTerm += Object.keys(posting[fieldName]).length\\n }\\n\\n var x = (documentCount - documentsWithTerm + 0.5) / (documentsWithTerm + 0.5)\\n\\n return Math.log(1 + Math.abs(x))\\n}\\n\\n/**\\n * A token wraps a string representation of a token\\n * as it is passed through the text processing pipeline.\\n *\\n * @constructor\\n * @param {string} [str=''] - The string token being wrapped.\\n * @param {object} [metadata={}] - Metadata associated with this token.\\n */\\nlunr.Token = function (str, metadata) {\\n this.str = str || \\\"\\\"\\n this.metadata = metadata || {}\\n}\\n\\n/**\\n * Returns the token string that is being wrapped by this object.\\n *\\n * @returns {string}\\n */\\nlunr.Token.prototype.toString = function () {\\n return this.str\\n}\\n\\n/**\\n * A token update function is used when updating or optionally\\n * when cloning a token.\\n *\\n * @callback lunr.Token~updateFunction\\n * @param {string} str - The string representation of the token.\\n * @param {Object} metadata - All metadata associated with this token.\\n */\\n\\n/**\\n * Applies the given function to the wrapped string token.\\n *\\n * @example\\n * token.update(function (str, metadata) {\\n * return str.toUpperCase()\\n * })\\n *\\n * @param {lunr.Token~updateFunction} fn - A function to apply to the token string.\\n * @returns {lunr.Token}\\n */\\nlunr.Token.prototype.update = function (fn) {\\n this.str = fn(this.str, this.metadata)\\n return this\\n}\\n\\n/**\\n * Creates a clone of this token. Optionally a function can be\\n * applied to the cloned token.\\n *\\n * @param {lunr.Token~updateFunction} [fn] - An optional function to apply to the cloned token.\\n * @returns {lunr.Token}\\n */\\nlunr.Token.prototype.clone = function (fn) {\\n fn = fn || function (s) { return s }\\n return new lunr.Token (fn(this.str, this.metadata), this.metadata)\\n}\\n/*!\\n * lunr.tokenizer\\n * Copyright (C) 2019 Oliver Nightingale\\n */\\n\\n/**\\n * A function for splitting a string into tokens ready to be inserted into\\n * the search index. Uses `lunr.tokenizer.separator` to split strings, change\\n * the value of this property to change how strings are split into tokens.\\n *\\n * This tokenizer will convert its parameter to a string by calling `toString` and\\n * then will split this string on the character in `lunr.tokenizer.separator`.\\n * Arrays will have their elements converted to strings and wrapped in a lunr.Token.\\n *\\n * Optional metadata can be passed to the tokenizer, this metadata will be cloned and\\n * added as metadata to every token that is created from the object to be tokenized.\\n *\\n * @static\\n * @param {?(string|object|object[])} obj - The object to convert into tokens\\n * @param {?object} metadata - Optional metadata to associate with every token\\n * @returns {lunr.Token[]}\\n * @see {@link lunr.Pipeline}\\n */\\nlunr.tokenizer = function (obj, metadata) {\\n if (obj == null || obj == undefined) {\\n return []\\n }\\n\\n if (Array.isArray(obj)) {\\n return obj.map(function (t) {\\n return new lunr.Token(\\n lunr.utils.asString(t).toLowerCase(),\\n lunr.utils.clone(metadata)\\n )\\n })\\n }\\n\\n var str = obj.toString().toLowerCase(),\\n len = str.length,\\n tokens = []\\n\\n for (var sliceEnd = 0, sliceStart = 0; sliceEnd <= len; sliceEnd++) {\\n var char = str.charAt(sliceEnd),\\n sliceLength = sliceEnd - sliceStart\\n\\n if ((char.match(lunr.tokenizer.separator) || sliceEnd == len)) {\\n\\n if (sliceLength > 0) {\\n var tokenMetadata = lunr.utils.clone(metadata) || {}\\n tokenMetadata[\\\"position\\\"] = [sliceStart, sliceLength]\\n tokenMetadata[\\\"index\\\"] = tokens.length\\n\\n tokens.push(\\n new lunr.Token (\\n str.slice(sliceStart, sliceEnd),\\n tokenMetadata\\n )\\n )\\n }\\n\\n sliceStart = sliceEnd + 1\\n }\\n\\n }\\n\\n return tokens\\n}\\n\\n/**\\n * The separator used to split a string into tokens. Override this property to change the behaviour of\\n * `lunr.tokenizer` behaviour when tokenizing strings. By default this splits on whitespace and hyphens.\\n *\\n * @static\\n * @see lunr.tokenizer\\n */\\nlunr.tokenizer.separator = /[\\\\s\\\\-]+/\\n/*!\\n * lunr.Pipeline\\n * Copyright (C) 2019 Oliver Nightingale\\n */\\n\\n/**\\n * lunr.Pipelines maintain an ordered list of functions to be applied to all\\n * tokens in documents entering the search index and queries being ran against\\n * the index.\\n *\\n * An instance of lunr.Index created with the lunr shortcut will contain a\\n * pipeline with a stop word filter and an English language stemmer. Extra\\n * functions can be added before or after either of these functions or these\\n * default functions can be removed.\\n *\\n * When run the pipeline will call each function in turn, passing a token, the\\n * index of that token in the original list of all tokens and finally a list of\\n * all the original tokens.\\n *\\n * The output of functions in the pipeline will be passed to the next function\\n * in the pipeline. To exclude a token from entering the index the function\\n * should return undefined, the rest of the pipeline will not be called with\\n * this token.\\n *\\n * For serialisation of pipelines to work, all functions used in an instance of\\n * a pipeline should be registered with lunr.Pipeline. Registered functions can\\n * then be loaded. If trying to load a serialised pipeline that uses functions\\n * that are not registered an error will be thrown.\\n *\\n * If not planning on serialising the pipeline then registering pipeline functions\\n * is not necessary.\\n *\\n * @constructor\\n */\\nlunr.Pipeline = function () {\\n this._stack = []\\n}\\n\\nlunr.Pipeline.registeredFunctions = Object.create(null)\\n\\n/**\\n * A pipeline function maps lunr.Token to lunr.Token. A lunr.Token contains the token\\n * string as well as all known metadata. A pipeline function can mutate the token string\\n * or mutate (or add) metadata for a given token.\\n *\\n * A pipeline function can indicate that the passed token should be discarded by returning\\n * null, undefined or an empty string. This token will not be passed to any downstream pipeline\\n * functions and will not be added to the index.\\n *\\n * Multiple tokens can be returned by returning an array of tokens. Each token will be passed\\n * to any downstream pipeline functions and all will returned tokens will be added to the index.\\n *\\n * Any number of pipeline functions may be chained together using a lunr.Pipeline.\\n *\\n * @interface lunr.PipelineFunction\\n * @param {lunr.Token} token - A token from the document being processed.\\n * @param {number} i - The index of this token in the complete list of tokens for this document/field.\\n * @param {lunr.Token[]} tokens - All tokens for this document/field.\\n * @returns {(?lunr.Token|lunr.Token[])}\\n */\\n\\n/**\\n * Register a function with the pipeline.\\n *\\n * Functions that are used in the pipeline should be registered if the pipeline\\n * needs to be serialised, or a serialised pipeline needs to be loaded.\\n *\\n * Registering a function does not add it to a pipeline, functions must still be\\n * added to instances of the pipeline for them to be used when running a pipeline.\\n *\\n * @param {lunr.PipelineFunction} fn - The function to check for.\\n * @param {String} label - The label to register this function with\\n */\\nlunr.Pipeline.registerFunction = function (fn, label) {\\n if (label in this.registeredFunctions) {\\n lunr.utils.warn('Overwriting existing registered function: ' + label)\\n }\\n\\n fn.label = label\\n lunr.Pipeline.registeredFunctions[fn.label] = fn\\n}\\n\\n/**\\n * Warns if the function is not registered as a Pipeline function.\\n *\\n * @param {lunr.PipelineFunction} fn - The function to check for.\\n * @private\\n */\\nlunr.Pipeline.warnIfFunctionNotRegistered = function (fn) {\\n var isRegistered = fn.label && (fn.label in this.registeredFunctions)\\n\\n if (!isRegistered) {\\n lunr.utils.warn('Function is not registered with pipeline. This may cause problems when serialising the index.\\\\n', fn)\\n }\\n}\\n\\n/**\\n * Loads a previously serialised pipeline.\\n *\\n * All functions to be loaded must already be registered with lunr.Pipeline.\\n * If any function from the serialised data has not been registered then an\\n * error will be thrown.\\n *\\n * @param {Object} serialised - The serialised pipeline to load.\\n * @returns {lunr.Pipeline}\\n */\\nlunr.Pipeline.load = function (serialised) {\\n var pipeline = new lunr.Pipeline\\n\\n serialised.forEach(function (fnName) {\\n var fn = lunr.Pipeline.registeredFunctions[fnName]\\n\\n if (fn) {\\n pipeline.add(fn)\\n } else {\\n throw new Error('Cannot load unregistered function: ' + fnName)\\n }\\n })\\n\\n return pipeline\\n}\\n\\n/**\\n * Adds new functions to the end of the pipeline.\\n *\\n * Logs a warning if the function has not been registered.\\n *\\n * @param {lunr.PipelineFunction[]} functions - Any number of functions to add to the pipeline.\\n */\\nlunr.Pipeline.prototype.add = function () {\\n var fns = Array.prototype.slice.call(arguments)\\n\\n fns.forEach(function (fn) {\\n lunr.Pipeline.warnIfFunctionNotRegistered(fn)\\n this._stack.push(fn)\\n }, this)\\n}\\n\\n/**\\n * Adds a single function after a function that already exists in the\\n * pipeline.\\n *\\n * Logs a warning if the function has not been registered.\\n *\\n * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline.\\n * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline.\\n */\\nlunr.Pipeline.prototype.after = function (existingFn, newFn) {\\n lunr.Pipeline.warnIfFunctionNotRegistered(newFn)\\n\\n var pos = this._stack.indexOf(existingFn)\\n if (pos == -1) {\\n throw new Error('Cannot find existingFn')\\n }\\n\\n pos = pos + 1\\n this._stack.splice(pos, 0, newFn)\\n}\\n\\n/**\\n * Adds a single function before a function that already exists in the\\n * pipeline.\\n *\\n * Logs a warning if the function has not been registered.\\n *\\n * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline.\\n * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline.\\n */\\nlunr.Pipeline.prototype.before = function (existingFn, newFn) {\\n lunr.Pipeline.warnIfFunctionNotRegistered(newFn)\\n\\n var pos = this._stack.indexOf(existingFn)\\n if (pos == -1) {\\n throw new Error('Cannot find existingFn')\\n }\\n\\n this._stack.splice(pos, 0, newFn)\\n}\\n\\n/**\\n * Removes a function from the pipeline.\\n *\\n * @param {lunr.PipelineFunction} fn The function to remove from the pipeline.\\n */\\nlunr.Pipeline.prototype.remove = function (fn) {\\n var pos = this._stack.indexOf(fn)\\n if (pos == -1) {\\n return\\n }\\n\\n this._stack.splice(pos, 1)\\n}\\n\\n/**\\n * Runs the current list of functions that make up the pipeline against the\\n * passed tokens.\\n *\\n * @param {Array} tokens The tokens to run through the pipeline.\\n * @returns {Array}\\n */\\nlunr.Pipeline.prototype.run = function (tokens) {\\n var stackLength = this._stack.length\\n\\n for (var i = 0; i < stackLength; i++) {\\n var fn = this._stack[i]\\n var memo = []\\n\\n for (var j = 0; j < tokens.length; j++) {\\n var result = fn(tokens[j], j, tokens)\\n\\n if (result === null || result === void 0 || result === '') continue\\n\\n if (Array.isArray(result)) {\\n for (var k = 0; k < result.length; k++) {\\n memo.push(result[k])\\n }\\n } else {\\n memo.push(result)\\n }\\n }\\n\\n tokens = memo\\n }\\n\\n return tokens\\n}\\n\\n/**\\n * Convenience method for passing a string through a pipeline and getting\\n * strings out. This method takes care of wrapping the passed string in a\\n * token and mapping the resulting tokens back to strings.\\n *\\n * @param {string} str - The string to pass through the pipeline.\\n * @param {?object} metadata - Optional metadata to associate with the token\\n * passed to the pipeline.\\n * @returns {string[]}\\n */\\nlunr.Pipeline.prototype.runString = function (str, metadata) {\\n var token = new lunr.Token (str, metadata)\\n\\n return this.run([token]).map(function (t) {\\n return t.toString()\\n })\\n}\\n\\n/**\\n * Resets the pipeline by removing any existing processors.\\n *\\n */\\nlunr.Pipeline.prototype.reset = function () {\\n this._stack = []\\n}\\n\\n/**\\n * Returns a representation of the pipeline ready for serialisation.\\n *\\n * Logs a warning if the function has not been registered.\\n *\\n * @returns {Array}\\n */\\nlunr.Pipeline.prototype.toJSON = function () {\\n return this._stack.map(function (fn) {\\n lunr.Pipeline.warnIfFunctionNotRegistered(fn)\\n\\n return fn.label\\n })\\n}\\n/*!\\n * lunr.Vector\\n * Copyright (C) 2019 Oliver Nightingale\\n */\\n\\n/**\\n * A vector is used to construct the vector space of documents and queries. These\\n * vectors support operations to determine the similarity between two documents or\\n * a document and a query.\\n *\\n * Normally no parameters are required for initializing a vector, but in the case of\\n * loading a previously dumped vector the raw elements can be provided to the constructor.\\n *\\n * For performance reasons vectors are implemented with a flat array, where an elements\\n * index is immediately followed by its value. E.g. [index, value, index, value]. This\\n * allows the underlying array to be as sparse as possible and still offer decent\\n * performance when being used for vector calculations.\\n *\\n * @constructor\\n * @param {Number[]} [elements] - The flat list of element index and element value pairs.\\n */\\nlunr.Vector = function (elements) {\\n this._magnitude = 0\\n this.elements = elements || []\\n}\\n\\n\\n/**\\n * Calculates the position within the vector to insert a given index.\\n *\\n * This is used internally by insert and upsert. If there are duplicate indexes then\\n * the position is returned as if the value for that index were to be updated, but it\\n * is the callers responsibility to check whether there is a duplicate at that index\\n *\\n * @param {Number} insertIdx - The index at which the element should be inserted.\\n * @returns {Number}\\n */\\nlunr.Vector.prototype.positionForIndex = function (index) {\\n // For an empty vector the tuple can be inserted at the beginning\\n if (this.elements.length == 0) {\\n return 0\\n }\\n\\n var start = 0,\\n end = this.elements.length / 2,\\n sliceLength = end - start,\\n pivotPoint = Math.floor(sliceLength / 2),\\n pivotIndex = this.elements[pivotPoint * 2]\\n\\n while (sliceLength > 1) {\\n if (pivotIndex < index) {\\n start = pivotPoint\\n }\\n\\n if (pivotIndex > index) {\\n end = pivotPoint\\n }\\n\\n if (pivotIndex == index) {\\n break\\n }\\n\\n sliceLength = end - start\\n pivotPoint = start + Math.floor(sliceLength / 2)\\n pivotIndex = this.elements[pivotPoint * 2]\\n }\\n\\n if (pivotIndex == index) {\\n return pivotPoint * 2\\n }\\n\\n if (pivotIndex > index) {\\n return pivotPoint * 2\\n }\\n\\n if (pivotIndex < index) {\\n return (pivotPoint + 1) * 2\\n }\\n}\\n\\n/**\\n * Inserts an element at an index within the vector.\\n *\\n * Does not allow duplicates, will throw an error if there is already an entry\\n * for this index.\\n *\\n * @param {Number} insertIdx - The index at which the element should be inserted.\\n * @param {Number} val - The value to be inserted into the vector.\\n */\\nlunr.Vector.prototype.insert = function (insertIdx, val) {\\n this.upsert(insertIdx, val, function () {\\n throw \\\"duplicate index\\\"\\n })\\n}\\n\\n/**\\n * Inserts or updates an existing index within the vector.\\n *\\n * @param {Number} insertIdx - The index at which the element should be inserted.\\n * @param {Number} val - The value to be inserted into the vector.\\n * @param {function} fn - A function that is called for updates, the existing value and the\\n * requested value are passed as arguments\\n */\\nlunr.Vector.prototype.upsert = function (insertIdx, val, fn) {\\n this._magnitude = 0\\n var position = this.positionForIndex(insertIdx)\\n\\n if (this.elements[position] == insertIdx) {\\n this.elements[position + 1] = fn(this.elements[position + 1], val)\\n } else {\\n this.elements.splice(position, 0, insertIdx, val)\\n }\\n}\\n\\n/**\\n * Calculates the magnitude of this vector.\\n *\\n * @returns {Number}\\n */\\nlunr.Vector.prototype.magnitude = function () {\\n if (this._magnitude) return this._magnitude\\n\\n var sumOfSquares = 0,\\n elementsLength = this.elements.length\\n\\n for (var i = 1; i < elementsLength; i += 2) {\\n var val = this.elements[i]\\n sumOfSquares += val * val\\n }\\n\\n return this._magnitude = Math.sqrt(sumOfSquares)\\n}\\n\\n/**\\n * Calculates the dot product of this vector and another vector.\\n *\\n * @param {lunr.Vector} otherVector - The vector to compute the dot product with.\\n * @returns {Number}\\n */\\nlunr.Vector.prototype.dot = function (otherVector) {\\n var dotProduct = 0,\\n a = this.elements, b = otherVector.elements,\\n aLen = a.length, bLen = b.length,\\n aVal = 0, bVal = 0,\\n i = 0, j = 0\\n\\n while (i < aLen && j < bLen) {\\n aVal = a[i], bVal = b[j]\\n if (aVal < bVal) {\\n i += 2\\n } else if (aVal > bVal) {\\n j += 2\\n } else if (aVal == bVal) {\\n dotProduct += a[i + 1] * b[j + 1]\\n i += 2\\n j += 2\\n }\\n }\\n\\n return dotProduct\\n}\\n\\n/**\\n * Calculates the similarity between this vector and another vector.\\n *\\n * @param {lunr.Vector} otherVector - The other vector to calculate the\\n * similarity with.\\n * @returns {Number}\\n */\\nlunr.Vector.prototype.similarity = function (otherVector) {\\n return this.dot(otherVector) / this.magnitude() || 0\\n}\\n\\n/**\\n * Converts the vector to an array of the elements within the vector.\\n *\\n * @returns {Number[]}\\n */\\nlunr.Vector.prototype.toArray = function () {\\n var output = new Array (this.elements.length / 2)\\n\\n for (var i = 1, j = 0; i < this.elements.length; i += 2, j++) {\\n output[j] = this.elements[i]\\n }\\n\\n return output\\n}\\n\\n/**\\n * A JSON serializable representation of the vector.\\n *\\n * @returns {Number[]}\\n */\\nlunr.Vector.prototype.toJSON = function () {\\n return this.elements\\n}\\n/* eslint-disable */\\n/*!\\n * lunr.stemmer\\n * Copyright (C) 2019 Oliver Nightingale\\n * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt\\n */\\n\\n/**\\n * lunr.stemmer is an english language stemmer, this is a JavaScript\\n * implementation of the PorterStemmer taken from http://tartarus.org/~martin\\n *\\n * @static\\n * @implements {lunr.PipelineFunction}\\n * @param {lunr.Token} token - The string to stem\\n * @returns {lunr.Token}\\n * @see {@link lunr.Pipeline}\\n * @function\\n */\\nlunr.stemmer = (function(){\\n var step2list = {\\n \\\"ational\\\" : \\\"ate\\\",\\n \\\"tional\\\" : \\\"tion\\\",\\n \\\"enci\\\" : \\\"ence\\\",\\n \\\"anci\\\" : \\\"ance\\\",\\n \\\"izer\\\" : \\\"ize\\\",\\n \\\"bli\\\" : \\\"ble\\\",\\n \\\"alli\\\" : \\\"al\\\",\\n \\\"entli\\\" : \\\"ent\\\",\\n \\\"eli\\\" : \\\"e\\\",\\n \\\"ousli\\\" : \\\"ous\\\",\\n \\\"ization\\\" : \\\"ize\\\",\\n \\\"ation\\\" : \\\"ate\\\",\\n \\\"ator\\\" : \\\"ate\\\",\\n \\\"alism\\\" : \\\"al\\\",\\n \\\"iveness\\\" : \\\"ive\\\",\\n \\\"fulness\\\" : \\\"ful\\\",\\n \\\"ousness\\\" : \\\"ous\\\",\\n \\\"aliti\\\" : \\\"al\\\",\\n \\\"iviti\\\" : \\\"ive\\\",\\n \\\"biliti\\\" : \\\"ble\\\",\\n \\\"logi\\\" : \\\"log\\\"\\n },\\n\\n step3list = {\\n \\\"icate\\\" : \\\"ic\\\",\\n \\\"ative\\\" : \\\"\\\",\\n \\\"alize\\\" : \\\"al\\\",\\n \\\"iciti\\\" : \\\"ic\\\",\\n \\\"ical\\\" : \\\"ic\\\",\\n \\\"ful\\\" : \\\"\\\",\\n \\\"ness\\\" : \\\"\\\"\\n },\\n\\n c = \\\"[^aeiou]\\\", // consonant\\n v = \\\"[aeiouy]\\\", // vowel\\n C = c + \\\"[^aeiouy]*\\\", // consonant sequence\\n V = v + \\\"[aeiou]*\\\", // vowel sequence\\n\\n mgr0 = \\\"^(\\\" + C + \\\")?\\\" + V + C, // [C]VC... is m>0\\n meq1 = \\\"^(\\\" + C + \\\")?\\\" + V + C + \\\"(\\\" + V + \\\")?$\\\", // [C]VC[V] is m=1\\n mgr1 = \\\"^(\\\" + C + \\\")?\\\" + V + C + V + C, // [C]VCVC... is m>1\\n s_v = \\\"^(\\\" + C + \\\")?\\\" + v; // vowel in stem\\n\\n var re_mgr0 = new RegExp(mgr0);\\n var re_mgr1 = new RegExp(mgr1);\\n var re_meq1 = new RegExp(meq1);\\n var re_s_v = new RegExp(s_v);\\n\\n var re_1a = /^(.+?)(ss|i)es$/;\\n var re2_1a = /^(.+?)([^s])s$/;\\n var re_1b = /^(.+?)eed$/;\\n var re2_1b = /^(.+?)(ed|ing)$/;\\n var re_1b_2 = /.$/;\\n var re2_1b_2 = /(at|bl|iz)$/;\\n var re3_1b_2 = new RegExp(\\\"([^aeiouylsz])\\\\\\\\1$\\\");\\n var re4_1b_2 = new RegExp(\\\"^\\\" + C + v + \\\"[^aeiouwxy]$\\\");\\n\\n var re_1c = /^(.+?[^aeiou])y$/;\\n var re_2 = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;\\n\\n var re_3 = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;\\n\\n var re_4 = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;\\n var re2_4 = /^(.+?)(s|t)(ion)$/;\\n\\n var re_5 = /^(.+?)e$/;\\n var re_5_1 = /ll$/;\\n var re3_5 = new RegExp(\\\"^\\\" + C + v + \\\"[^aeiouwxy]$\\\");\\n\\n var porterStemmer = function porterStemmer(w) {\\n var stem,\\n suffix,\\n firstch,\\n re,\\n re2,\\n re3,\\n re4;\\n\\n if (w.length < 3) { return w; }\\n\\n firstch = w.substr(0,1);\\n if (firstch == \\\"y\\\") {\\n w = firstch.toUpperCase() + w.substr(1);\\n }\\n\\n // Step 1a\\n re = re_1a\\n re2 = re2_1a;\\n\\n if (re.test(w)) { w = w.replace(re,\\\"$1$2\\\"); }\\n else if (re2.test(w)) { w = w.replace(re2,\\\"$1$2\\\"); }\\n\\n // Step 1b\\n re = re_1b;\\n re2 = re2_1b;\\n if (re.test(w)) {\\n var fp = re.exec(w);\\n re = re_mgr0;\\n if (re.test(fp[1])) {\\n re = re_1b_2;\\n w = w.replace(re,\\\"\\\");\\n }\\n } else if (re2.test(w)) {\\n var fp = re2.exec(w);\\n stem = fp[1];\\n re2 = re_s_v;\\n if (re2.test(stem)) {\\n w = stem;\\n re2 = re2_1b_2;\\n re3 = re3_1b_2;\\n re4 = re4_1b_2;\\n if (re2.test(w)) { w = w + \\\"e\\\"; }\\n else if (re3.test(w)) { re = re_1b_2; w = w.replace(re,\\\"\\\"); }\\n else if (re4.test(w)) { w = w + \\\"e\\\"; }\\n }\\n }\\n\\n // Step 1c - replace suffix y or Y by i if preceded by a non-vowel which is not the first letter of the word (so cry -> cri, by -> by, say -> say)\\n re = re_1c;\\n if (re.test(w)) {\\n var fp = re.exec(w);\\n stem = fp[1];\\n w = stem + \\\"i\\\";\\n }\\n\\n // Step 2\\n re = re_2;\\n if (re.test(w)) {\\n var fp = re.exec(w);\\n stem = fp[1];\\n suffix = fp[2];\\n re = re_mgr0;\\n if (re.test(stem)) {\\n w = stem + step2list[suffix];\\n }\\n }\\n\\n // Step 3\\n re = re_3;\\n if (re.test(w)) {\\n var fp = re.exec(w);\\n stem = fp[1];\\n suffix = fp[2];\\n re = re_mgr0;\\n if (re.test(stem)) {\\n w = stem + step3list[suffix];\\n }\\n }\\n\\n // Step 4\\n re = re_4;\\n re2 = re2_4;\\n if (re.test(w)) {\\n var fp = re.exec(w);\\n stem = fp[1];\\n re = re_mgr1;\\n if (re.test(stem)) {\\n w = stem;\\n }\\n } else if (re2.test(w)) {\\n var fp = re2.exec(w);\\n stem = fp[1] + fp[2];\\n re2 = re_mgr1;\\n if (re2.test(stem)) {\\n w = stem;\\n }\\n }\\n\\n // Step 5\\n re = re_5;\\n if (re.test(w)) {\\n var fp = re.exec(w);\\n stem = fp[1];\\n re = re_mgr1;\\n re2 = re_meq1;\\n re3 = re3_5;\\n if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) {\\n w = stem;\\n }\\n }\\n\\n re = re_5_1;\\n re2 = re_mgr1;\\n if (re.test(w) && re2.test(w)) {\\n re = re_1b_2;\\n w = w.replace(re,\\\"\\\");\\n }\\n\\n // and turn initial Y back to y\\n\\n if (firstch == \\\"y\\\") {\\n w = firstch.toLowerCase() + w.substr(1);\\n }\\n\\n return w;\\n };\\n\\n return function (token) {\\n return token.update(porterStemmer);\\n }\\n})();\\n\\nlunr.Pipeline.registerFunction(lunr.stemmer, 'stemmer')\\n/*!\\n * lunr.stopWordFilter\\n * Copyright (C) 2019 Oliver Nightingale\\n */\\n\\n/**\\n * lunr.generateStopWordFilter builds a stopWordFilter function from the provided\\n * list of stop words.\\n *\\n * The built in lunr.stopWordFilter is built using this generator and can be used\\n * to generate custom stopWordFilters for applications or non English languages.\\n *\\n * @function\\n * @param {Array} token The token to pass through the filter\\n * @returns {lunr.PipelineFunction}\\n * @see lunr.Pipeline\\n * @see lunr.stopWordFilter\\n */\\nlunr.generateStopWordFilter = function (stopWords) {\\n var words = stopWords.reduce(function (memo, stopWord) {\\n memo[stopWord] = stopWord\\n return memo\\n }, {})\\n\\n return function (token) {\\n if (token && words[token.toString()] !== token.toString()) return token\\n }\\n}\\n\\n/**\\n * lunr.stopWordFilter is an English language stop word list filter, any words\\n * contained in the list will not be passed through the filter.\\n *\\n * This is intended to be used in the Pipeline. If the token does not pass the\\n * filter then undefined will be returned.\\n *\\n * @function\\n * @implements {lunr.PipelineFunction}\\n * @params {lunr.Token} token - A token to check for being a stop word.\\n * @returns {lunr.Token}\\n * @see {@link lunr.Pipeline}\\n */\\nlunr.stopWordFilter = lunr.generateStopWordFilter([\\n 'a',\\n 'able',\\n 'about',\\n 'across',\\n 'after',\\n 'all',\\n 'almost',\\n 'also',\\n 'am',\\n 'among',\\n 'an',\\n 'and',\\n 'any',\\n 'are',\\n 'as',\\n 'at',\\n 'be',\\n 'because',\\n 'been',\\n 'but',\\n 'by',\\n 'can',\\n 'cannot',\\n 'could',\\n 'dear',\\n 'did',\\n 'do',\\n 'does',\\n 'either',\\n 'else',\\n 'ever',\\n 'every',\\n 'for',\\n 'from',\\n 'get',\\n 'got',\\n 'had',\\n 'has',\\n 'have',\\n 'he',\\n 'her',\\n 'hers',\\n 'him',\\n 'his',\\n 'how',\\n 'however',\\n 'i',\\n 'if',\\n 'in',\\n 'into',\\n 'is',\\n 'it',\\n 'its',\\n 'just',\\n 'least',\\n 'let',\\n 'like',\\n 'likely',\\n 'may',\\n 'me',\\n 'might',\\n 'most',\\n 'must',\\n 'my',\\n 'neither',\\n 'no',\\n 'nor',\\n 'not',\\n 'of',\\n 'off',\\n 'often',\\n 'on',\\n 'only',\\n 'or',\\n 'other',\\n 'our',\\n 'own',\\n 'rather',\\n 'said',\\n 'say',\\n 'says',\\n 'she',\\n 'should',\\n 'since',\\n 'so',\\n 'some',\\n 'than',\\n 'that',\\n 'the',\\n 'their',\\n 'them',\\n 'then',\\n 'there',\\n 'these',\\n 'they',\\n 'this',\\n 'tis',\\n 'to',\\n 'too',\\n 'twas',\\n 'us',\\n 'wants',\\n 'was',\\n 'we',\\n 'were',\\n 'what',\\n 'when',\\n 'where',\\n 'which',\\n 'while',\\n 'who',\\n 'whom',\\n 'why',\\n 'will',\\n 'with',\\n 'would',\\n 'yet',\\n 'you',\\n 'your'\\n])\\n\\nlunr.Pipeline.registerFunction(lunr.stopWordFilter, 'stopWordFilter')\\n/*!\\n * lunr.trimmer\\n * Copyright (C) 2019 Oliver Nightingale\\n */\\n\\n/**\\n * lunr.trimmer is a pipeline function for trimming non word\\n * characters from the beginning and end of tokens before they\\n * enter the index.\\n *\\n * This implementation may not work correctly for non latin\\n * characters and should either be removed or adapted for use\\n * with languages with non-latin characters.\\n *\\n * @static\\n * @implements {lunr.PipelineFunction}\\n * @param {lunr.Token} token The token to pass through the filter\\n * @returns {lunr.Token}\\n * @see lunr.Pipeline\\n */\\nlunr.trimmer = function (token) {\\n return token.update(function (s) {\\n return s.replace(/^\\\\W+/, '').replace(/\\\\W+$/, '')\\n })\\n}\\n\\nlunr.Pipeline.registerFunction(lunr.trimmer, 'trimmer')\\n/*!\\n * lunr.TokenSet\\n * Copyright (C) 2019 Oliver Nightingale\\n */\\n\\n/**\\n * A token set is used to store the unique list of all tokens\\n * within an index. Token sets are also used to represent an\\n * incoming query to the index, this query token set and index\\n * token set are then intersected to find which tokens to look\\n * up in the inverted index.\\n *\\n * A token set can hold multiple tokens, as in the case of the\\n * index token set, or it can hold a single token as in the\\n * case of a simple query token set.\\n *\\n * Additionally token sets are used to perform wildcard matching.\\n * Leading, contained and trailing wildcards are supported, and\\n * from this edit distance matching can also be provided.\\n *\\n * Token sets are implemented as a minimal finite state automata,\\n * where both common prefixes and suffixes are shared between tokens.\\n * This helps to reduce the space used for storing the token set.\\n *\\n * @constructor\\n */\\nlunr.TokenSet = function () {\\n this.final = false\\n this.edges = {}\\n this.id = lunr.TokenSet._nextId\\n lunr.TokenSet._nextId += 1\\n}\\n\\n/**\\n * Keeps track of the next, auto increment, identifier to assign\\n * to a new tokenSet.\\n *\\n * TokenSets require a unique identifier to be correctly minimised.\\n *\\n * @private\\n */\\nlunr.TokenSet._nextId = 1\\n\\n/**\\n * Creates a TokenSet instance from the given sorted array of words.\\n *\\n * @param {String[]} arr - A sorted array of strings to create the set from.\\n * @returns {lunr.TokenSet}\\n * @throws Will throw an error if the input array is not sorted.\\n */\\nlunr.TokenSet.fromArray = function (arr) {\\n var builder = new lunr.TokenSet.Builder\\n\\n for (var i = 0, len = arr.length; i < len; i++) {\\n builder.insert(arr[i])\\n }\\n\\n builder.finish()\\n return builder.root\\n}\\n\\n/**\\n * Creates a token set from a query clause.\\n *\\n * @private\\n * @param {Object} clause - A single clause from lunr.Query.\\n * @param {string} clause.term - The query clause term.\\n * @param {number} [clause.editDistance] - The optional edit distance for the term.\\n * @returns {lunr.TokenSet}\\n */\\nlunr.TokenSet.fromClause = function (clause) {\\n if ('editDistance' in clause) {\\n return lunr.TokenSet.fromFuzzyString(clause.term, clause.editDistance)\\n } else {\\n return lunr.TokenSet.fromString(clause.term)\\n }\\n}\\n\\n/**\\n * Creates a token set representing a single string with a specified\\n * edit distance.\\n *\\n * Insertions, deletions, substitutions and transpositions are each\\n * treated as an edit distance of 1.\\n *\\n * Increasing the allowed edit distance will have a dramatic impact\\n * on the performance of both creating and intersecting these TokenSets.\\n * It is advised to keep the edit distance less than 3.\\n *\\n * @param {string} str - The string to create the token set from.\\n * @param {number} editDistance - The allowed edit distance to match.\\n * @returns {lunr.Vector}\\n */\\nlunr.TokenSet.fromFuzzyString = function (str, editDistance) {\\n var root = new lunr.TokenSet\\n\\n var stack = [{\\n node: root,\\n editsRemaining: editDistance,\\n str: str\\n }]\\n\\n while (stack.length) {\\n var frame = stack.pop()\\n\\n // no edit\\n if (frame.str.length > 0) {\\n var char = frame.str.charAt(0),\\n noEditNode\\n\\n if (char in frame.node.edges) {\\n noEditNode = frame.node.edges[char]\\n } else {\\n noEditNode = new lunr.TokenSet\\n frame.node.edges[char] = noEditNode\\n }\\n\\n if (frame.str.length == 1) {\\n noEditNode.final = true\\n }\\n\\n stack.push({\\n node: noEditNode,\\n editsRemaining: frame.editsRemaining,\\n str: frame.str.slice(1)\\n })\\n }\\n\\n if (frame.editsRemaining == 0) {\\n continue\\n }\\n\\n // insertion\\n if (\\\"*\\\" in frame.node.edges) {\\n var insertionNode = frame.node.edges[\\\"*\\\"]\\n } else {\\n var insertionNode = new lunr.TokenSet\\n frame.node.edges[\\\"*\\\"] = insertionNode\\n }\\n\\n if (frame.str.length == 0) {\\n insertionNode.final = true\\n }\\n\\n stack.push({\\n node: insertionNode,\\n editsRemaining: frame.editsRemaining - 1,\\n str: frame.str\\n })\\n\\n // deletion\\n // can only do a deletion if we have enough edits remaining\\n // and if there are characters left to delete in the string\\n if (frame.str.length > 1) {\\n stack.push({\\n node: frame.node,\\n editsRemaining: frame.editsRemaining - 1,\\n str: frame.str.slice(1)\\n })\\n }\\n\\n // deletion\\n // just removing the last character from the str\\n if (frame.str.length == 1) {\\n frame.node.final = true\\n }\\n\\n // substitution\\n // can only do a substitution if we have enough edits remaining\\n // and if there are characters left to substitute\\n if (frame.str.length >= 1) {\\n if (\\\"*\\\" in frame.node.edges) {\\n var substitutionNode = frame.node.edges[\\\"*\\\"]\\n } else {\\n var substitutionNode = new lunr.TokenSet\\n frame.node.edges[\\\"*\\\"] = substitutionNode\\n }\\n\\n if (frame.str.length == 1) {\\n substitutionNode.final = true\\n }\\n\\n stack.push({\\n node: substitutionNode,\\n editsRemaining: frame.editsRemaining - 1,\\n str: frame.str.slice(1)\\n })\\n }\\n\\n // transposition\\n // can only do a transposition if there are edits remaining\\n // and there are enough characters to transpose\\n if (frame.str.length > 1) {\\n var charA = frame.str.charAt(0),\\n charB = frame.str.charAt(1),\\n transposeNode\\n\\n if (charB in frame.node.edges) {\\n transposeNode = frame.node.edges[charB]\\n } else {\\n transposeNode = new lunr.TokenSet\\n frame.node.edges[charB] = transposeNode\\n }\\n\\n if (frame.str.length == 1) {\\n transposeNode.final = true\\n }\\n\\n stack.push({\\n node: transposeNode,\\n editsRemaining: frame.editsRemaining - 1,\\n str: charA + frame.str.slice(2)\\n })\\n }\\n }\\n\\n return root\\n}\\n\\n/**\\n * Creates a TokenSet from a string.\\n *\\n * The string may contain one or more wildcard characters (*)\\n * that will allow wildcard matching when intersecting with\\n * another TokenSet.\\n *\\n * @param {string} str - The string to create a TokenSet from.\\n * @returns {lunr.TokenSet}\\n */\\nlunr.TokenSet.fromString = function (str) {\\n var node = new lunr.TokenSet,\\n root = node\\n\\n /*\\n * Iterates through all characters within the passed string\\n * appending a node for each character.\\n *\\n * When a wildcard character is found then a self\\n * referencing edge is introduced to continually match\\n * any number of any characters.\\n */\\n for (var i = 0, len = str.length; i < len; i++) {\\n var char = str[i],\\n final = (i == len - 1)\\n\\n if (char == \\\"*\\\") {\\n node.edges[char] = node\\n node.final = final\\n\\n } else {\\n var next = new lunr.TokenSet\\n next.final = final\\n\\n node.edges[char] = next\\n node = next\\n }\\n }\\n\\n return root\\n}\\n\\n/**\\n * Converts this TokenSet into an array of strings\\n * contained within the TokenSet.\\n *\\n * This is not intended to be used on a TokenSet that\\n * contains wildcards, in these cases the results are\\n * undefined and are likely to cause an infinite loop.\\n *\\n * @returns {string[]}\\n */\\nlunr.TokenSet.prototype.toArray = function () {\\n var words = []\\n\\n var stack = [{\\n prefix: \\\"\\\",\\n node: this\\n }]\\n\\n while (stack.length) {\\n var frame = stack.pop(),\\n edges = Object.keys(frame.node.edges),\\n len = edges.length\\n\\n if (frame.node.final) {\\n /* In Safari, at this point the prefix is sometimes corrupted, see:\\n * https://github.com/olivernn/lunr.js/issues/279 Calling any\\n * String.prototype method forces Safari to \\\"cast\\\" this string to what\\n * it's supposed to be, fixing the bug. */\\n frame.prefix.charAt(0)\\n words.push(frame.prefix)\\n }\\n\\n for (var i = 0; i < len; i++) {\\n var edge = edges[i]\\n\\n stack.push({\\n prefix: frame.prefix.concat(edge),\\n node: frame.node.edges[edge]\\n })\\n }\\n }\\n\\n return words\\n}\\n\\n/**\\n * Generates a string representation of a TokenSet.\\n *\\n * This is intended to allow TokenSets to be used as keys\\n * in objects, largely to aid the construction and minimisation\\n * of a TokenSet. As such it is not designed to be a human\\n * friendly representation of the TokenSet.\\n *\\n * @returns {string}\\n */\\nlunr.TokenSet.prototype.toString = function () {\\n // NOTE: Using Object.keys here as this.edges is very likely\\n // to enter 'hash-mode' with many keys being added\\n //\\n // avoiding a for-in loop here as it leads to the function\\n // being de-optimised (at least in V8). From some simple\\n // benchmarks the performance is comparable, but allowing\\n // V8 to optimize may mean easy performance wins in the future.\\n\\n if (this._str) {\\n return this._str\\n }\\n\\n var str = this.final ? '1' : '0',\\n labels = Object.keys(this.edges).sort(),\\n len = labels.length\\n\\n for (var i = 0; i < len; i++) {\\n var label = labels[i],\\n node = this.edges[label]\\n\\n str = str + label + node.id\\n }\\n\\n return str\\n}\\n\\n/**\\n * Returns a new TokenSet that is the intersection of\\n * this TokenSet and the passed TokenSet.\\n *\\n * This intersection will take into account any wildcards\\n * contained within the TokenSet.\\n *\\n * @param {lunr.TokenSet} b - An other TokenSet to intersect with.\\n * @returns {lunr.TokenSet}\\n */\\nlunr.TokenSet.prototype.intersect = function (b) {\\n var output = new lunr.TokenSet,\\n frame = undefined\\n\\n var stack = [{\\n qNode: b,\\n output: output,\\n node: this\\n }]\\n\\n while (stack.length) {\\n frame = stack.pop()\\n\\n // NOTE: As with the #toString method, we are using\\n // Object.keys and a for loop instead of a for-in loop\\n // as both of these objects enter 'hash' mode, causing\\n // the function to be de-optimised in V8\\n var qEdges = Object.keys(frame.qNode.edges),\\n qLen = qEdges.length,\\n nEdges = Object.keys(frame.node.edges),\\n nLen = nEdges.length\\n\\n for (var q = 0; q < qLen; q++) {\\n var qEdge = qEdges[q]\\n\\n for (var n = 0; n < nLen; n++) {\\n var nEdge = nEdges[n]\\n\\n if (nEdge == qEdge || qEdge == '*') {\\n var node = frame.node.edges[nEdge],\\n qNode = frame.qNode.edges[qEdge],\\n final = node.final && qNode.final,\\n next = undefined\\n\\n if (nEdge in frame.output.edges) {\\n // an edge already exists for this character\\n // no need to create a new node, just set the finality\\n // bit unless this node is already final\\n next = frame.output.edges[nEdge]\\n next.final = next.final || final\\n\\n } else {\\n // no edge exists yet, must create one\\n // set the finality bit and insert it\\n // into the output\\n next = new lunr.TokenSet\\n next.final = final\\n frame.output.edges[nEdge] = next\\n }\\n\\n stack.push({\\n qNode: qNode,\\n output: next,\\n node: node\\n })\\n }\\n }\\n }\\n }\\n\\n return output\\n}\\nlunr.TokenSet.Builder = function () {\\n this.previousWord = \\\"\\\"\\n this.root = new lunr.TokenSet\\n this.uncheckedNodes = []\\n this.minimizedNodes = {}\\n}\\n\\nlunr.TokenSet.Builder.prototype.insert = function (word) {\\n var node,\\n commonPrefix = 0\\n\\n if (word < this.previousWord) {\\n throw new Error (\\\"Out of order word insertion\\\")\\n }\\n\\n for (var i = 0; i < word.length && i < this.previousWord.length; i++) {\\n if (word[i] != this.previousWord[i]) break\\n commonPrefix++\\n }\\n\\n this.minimize(commonPrefix)\\n\\n if (this.uncheckedNodes.length == 0) {\\n node = this.root\\n } else {\\n node = this.uncheckedNodes[this.uncheckedNodes.length - 1].child\\n }\\n\\n for (var i = commonPrefix; i < word.length; i++) {\\n var nextNode = new lunr.TokenSet,\\n char = word[i]\\n\\n node.edges[char] = nextNode\\n\\n this.uncheckedNodes.push({\\n parent: node,\\n char: char,\\n child: nextNode\\n })\\n\\n node = nextNode\\n }\\n\\n node.final = true\\n this.previousWord = word\\n}\\n\\nlunr.TokenSet.Builder.prototype.finish = function () {\\n this.minimize(0)\\n}\\n\\nlunr.TokenSet.Builder.prototype.minimize = function (downTo) {\\n for (var i = this.uncheckedNodes.length - 1; i >= downTo; i--) {\\n var node = this.uncheckedNodes[i],\\n childKey = node.child.toString()\\n\\n if (childKey in this.minimizedNodes) {\\n node.parent.edges[node.char] = this.minimizedNodes[childKey]\\n } else {\\n // Cache the key for this node since\\n // we know it can't change anymore\\n node.child._str = childKey\\n\\n this.minimizedNodes[childKey] = node.child\\n }\\n\\n this.uncheckedNodes.pop()\\n }\\n}\\n/*!\\n * lunr.Index\\n * Copyright (C) 2019 Oliver Nightingale\\n */\\n\\n/**\\n * An index contains the built index of all documents and provides a query interface\\n * to the index.\\n *\\n * Usually instances of lunr.Index will not be created using this constructor, instead\\n * lunr.Builder should be used to construct new indexes, or lunr.Index.load should be\\n * used to load previously built and serialized indexes.\\n *\\n * @constructor\\n * @param {Object} attrs - The attributes of the built search index.\\n * @param {Object} attrs.invertedIndex - An index of term/field to document reference.\\n * @param {Object} attrs.fieldVectors - Field vectors\\n * @param {lunr.TokenSet} attrs.tokenSet - An set of all corpus tokens.\\n * @param {string[]} attrs.fields - The names of indexed document fields.\\n * @param {lunr.Pipeline} attrs.pipeline - The pipeline to use for search terms.\\n */\\nlunr.Index = function (attrs) {\\n this.invertedIndex = attrs.invertedIndex\\n this.fieldVectors = attrs.fieldVectors\\n this.tokenSet = attrs.tokenSet\\n this.fields = attrs.fields\\n this.pipeline = attrs.pipeline\\n}\\n\\n/**\\n * A result contains details of a document matching a search query.\\n * @typedef {Object} lunr.Index~Result\\n * @property {string} ref - The reference of the document this result represents.\\n * @property {number} score - A number between 0 and 1 representing how similar this document is to the query.\\n * @property {lunr.MatchData} matchData - Contains metadata about this match including which term(s) caused the match.\\n */\\n\\n/**\\n * Although lunr provides the ability to create queries using lunr.Query, it also provides a simple\\n * query language which itself is parsed into an instance of lunr.Query.\\n *\\n * For programmatically building queries it is advised to directly use lunr.Query, the query language\\n * is best used for human entered text rather than program generated text.\\n *\\n * At its simplest queries can just be a single term, e.g. `hello`, multiple terms are also supported\\n * and will be combined with OR, e.g `hello world` will match documents that contain either 'hello'\\n * or 'world', though those that contain both will rank higher in the results.\\n *\\n * Wildcards can be included in terms to match one or more unspecified characters, these wildcards can\\n * be inserted anywhere within the term, and more than one wildcard can exist in a single term. Adding\\n * wildcards will increase the number of documents that will be found but can also have a negative\\n * impact on query performance, especially with wildcards at the beginning of a term.\\n *\\n * Terms can be restricted to specific fields, e.g. `title:hello`, only documents with the term\\n * hello in the title field will match this query. Using a field not present in the index will lead\\n * to an error being thrown.\\n *\\n * Modifiers can also be added to terms, lunr supports edit distance and boost modifiers on terms. A term\\n * boost will make documents matching that term score higher, e.g. `foo^5`. Edit distance is also supported\\n * to provide fuzzy matching, e.g. 'hello~2' will match documents with hello with an edit distance of 2.\\n * Avoid large values for edit distance to improve query performance.\\n *\\n * Each term also supports a presence modifier. By default a term's presence in document is optional, however\\n * this can be changed to either required or prohibited. For a term's presence to be required in a document the\\n * term should be prefixed with a '+', e.g. `+foo bar` is a search for documents that must contain 'foo' and\\n * optionally contain 'bar'. Conversely a leading '-' sets the terms presence to prohibited, i.e. it must not\\n * appear in a document, e.g. `-foo bar` is a search for documents that do not contain 'foo' but may contain 'bar'.\\n *\\n * To escape special characters the backslash character '\\\\' can be used, this allows searches to include\\n * characters that would normally be considered modifiers, e.g. `foo\\\\~2` will search for a term \\\"foo~2\\\" instead\\n * of attempting to apply a boost of 2 to the search term \\\"foo\\\".\\n *\\n * @typedef {string} lunr.Index~QueryString\\n * @example Simple single term query\\n * hello\\n * @example Multiple term query\\n * hello world\\n * @example term scoped to a field\\n * title:hello\\n * @example term with a boost of 10\\n * hello^10\\n * @example term with an edit distance of 2\\n * hello~2\\n * @example terms with presence modifiers\\n * -foo +bar baz\\n */\\n\\n/**\\n * Performs a search against the index using lunr query syntax.\\n *\\n * Results will be returned sorted by their score, the most relevant results\\n * will be returned first. For details on how the score is calculated, please see\\n * the {@link https://lunrjs.com/guides/searching.html#scoring|guide}.\\n *\\n * For more programmatic querying use lunr.Index#query.\\n *\\n * @param {lunr.Index~QueryString} queryString - A string containing a lunr query.\\n * @throws {lunr.QueryParseError} If the passed query string cannot be parsed.\\n * @returns {lunr.Index~Result[]}\\n */\\nlunr.Index.prototype.search = function (queryString) {\\n return this.query(function (query) {\\n var parser = new lunr.QueryParser(queryString, query)\\n parser.parse()\\n })\\n}\\n\\n/**\\n * A query builder callback provides a query object to be used to express\\n * the query to perform on the index.\\n *\\n * @callback lunr.Index~queryBuilder\\n * @param {lunr.Query} query - The query object to build up.\\n * @this lunr.Query\\n */\\n\\n/**\\n * Performs a query against the index using the yielded lunr.Query object.\\n *\\n * If performing programmatic queries against the index, this method is preferred\\n * over lunr.Index#search so as to avoid the additional query parsing overhead.\\n *\\n * A query object is yielded to the supplied function which should be used to\\n * express the query to be run against the index.\\n *\\n * Note that although this function takes a callback parameter it is _not_ an\\n * asynchronous operation, the callback is just yielded a query object to be\\n * customized.\\n *\\n * @param {lunr.Index~queryBuilder} fn - A function that is used to build the query.\\n * @returns {lunr.Index~Result[]}\\n */\\nlunr.Index.prototype.query = function (fn) {\\n // for each query clause\\n // * process terms\\n // * expand terms from token set\\n // * find matching documents and metadata\\n // * get document vectors\\n // * score documents\\n\\n var query = new lunr.Query(this.fields),\\n matchingFields = Object.create(null),\\n queryVectors = Object.create(null),\\n termFieldCache = Object.create(null),\\n requiredMatches = Object.create(null),\\n prohibitedMatches = Object.create(null)\\n\\n /*\\n * To support field level boosts a query vector is created per\\n * field. An empty vector is eagerly created to support negated\\n * queries.\\n */\\n for (var i = 0; i < this.fields.length; i++) {\\n queryVectors[this.fields[i]] = new lunr.Vector\\n }\\n\\n fn.call(query, query)\\n\\n for (var i = 0; i < query.clauses.length; i++) {\\n /*\\n * Unless the pipeline has been disabled for this term, which is\\n * the case for terms with wildcards, we need to pass the clause\\n * term through the search pipeline. A pipeline returns an array\\n * of processed terms. Pipeline functions may expand the passed\\n * term, which means we may end up performing multiple index lookups\\n * for a single query term.\\n */\\n var clause = query.clauses[i],\\n terms = null,\\n clauseMatches = lunr.Set.complete\\n\\n if (clause.usePipeline) {\\n terms = this.pipeline.runString(clause.term, {\\n fields: clause.fields\\n })\\n } else {\\n terms = [clause.term]\\n }\\n\\n for (var m = 0; m < terms.length; m++) {\\n var term = terms[m]\\n\\n /*\\n * Each term returned from the pipeline needs to use the same query\\n * clause object, e.g. the same boost and or edit distance. The\\n * simplest way to do this is to re-use the clause object but mutate\\n * its term property.\\n */\\n clause.term = term\\n\\n /*\\n * From the term in the clause we create a token set which will then\\n * be used to intersect the indexes token set to get a list of terms\\n * to lookup in the inverted index\\n */\\n var termTokenSet = lunr.TokenSet.fromClause(clause),\\n expandedTerms = this.tokenSet.intersect(termTokenSet).toArray()\\n\\n /*\\n * If a term marked as required does not exist in the tokenSet it is\\n * impossible for the search to return any matches. We set all the field\\n * scoped required matches set to empty and stop examining any further\\n * clauses.\\n */\\n if (expandedTerms.length === 0 && clause.presence === lunr.Query.presence.REQUIRED) {\\n for (var k = 0; k < clause.fields.length; k++) {\\n var field = clause.fields[k]\\n requiredMatches[field] = lunr.Set.empty\\n }\\n\\n break\\n }\\n\\n for (var j = 0; j < expandedTerms.length; j++) {\\n /*\\n * For each term get the posting and termIndex, this is required for\\n * building the query vector.\\n */\\n var expandedTerm = expandedTerms[j],\\n posting = this.invertedIndex[expandedTerm],\\n termIndex = posting._index\\n\\n for (var k = 0; k < clause.fields.length; k++) {\\n /*\\n * For each field that this query term is scoped by (by default\\n * all fields are in scope) we need to get all the document refs\\n * that have this term in that field.\\n *\\n * The posting is the entry in the invertedIndex for the matching\\n * term from above.\\n */\\n var field = clause.fields[k],\\n fieldPosting = posting[field],\\n matchingDocumentRefs = Object.keys(fieldPosting),\\n termField = expandedTerm + \\\"/\\\" + field,\\n matchingDocumentsSet = new lunr.Set(matchingDocumentRefs)\\n\\n /*\\n * if the presence of this term is required ensure that the matching\\n * documents are added to the set of required matches for this clause.\\n *\\n */\\n if (clause.presence == lunr.Query.presence.REQUIRED) {\\n clauseMatches = clauseMatches.union(matchingDocumentsSet)\\n\\n if (requiredMatches[field] === undefined) {\\n requiredMatches[field] = lunr.Set.complete\\n }\\n }\\n\\n /*\\n * if the presence of this term is prohibited ensure that the matching\\n * documents are added to the set of prohibited matches for this field,\\n * creating that set if it does not yet exist.\\n */\\n if (clause.presence == lunr.Query.presence.PROHIBITED) {\\n if (prohibitedMatches[field] === undefined) {\\n prohibitedMatches[field] = lunr.Set.empty\\n }\\n\\n prohibitedMatches[field] = prohibitedMatches[field].union(matchingDocumentsSet)\\n\\n /*\\n * Prohibited matches should not be part of the query vector used for\\n * similarity scoring and no metadata should be extracted so we continue\\n * to the next field\\n */\\n continue\\n }\\n\\n /*\\n * The query field vector is populated using the termIndex found for\\n * the term and a unit value with the appropriate boost applied.\\n * Using upsert because there could already be an entry in the vector\\n * for the term we are working with. In that case we just add the scores\\n * together.\\n */\\n queryVectors[field].upsert(termIndex, clause.boost, function (a, b) { return a + b })\\n\\n /**\\n * If we've already seen this term, field combo then we've already collected\\n * the matching documents and metadata, no need to go through all that again\\n */\\n if (termFieldCache[termField]) {\\n continue\\n }\\n\\n for (var l = 0; l < matchingDocumentRefs.length; l++) {\\n /*\\n * All metadata for this term/field/document triple\\n * are then extracted and collected into an instance\\n * of lunr.MatchData ready to be returned in the query\\n * results\\n */\\n var matchingDocumentRef = matchingDocumentRefs[l],\\n matchingFieldRef = new lunr.FieldRef (matchingDocumentRef, field),\\n metadata = fieldPosting[matchingDocumentRef],\\n fieldMatch\\n\\n if ((fieldMatch = matchingFields[matchingFieldRef]) === undefined) {\\n matchingFields[matchingFieldRef] = new lunr.MatchData (expandedTerm, field, metadata)\\n } else {\\n fieldMatch.add(expandedTerm, field, metadata)\\n }\\n\\n }\\n\\n termFieldCache[termField] = true\\n }\\n }\\n }\\n\\n /**\\n * If the presence was required we need to update the requiredMatches field sets.\\n * We do this after all fields for the term have collected their matches because\\n * the clause terms presence is required in _any_ of the fields not _all_ of the\\n * fields.\\n */\\n if (clause.presence === lunr.Query.presence.REQUIRED) {\\n for (var k = 0; k < clause.fields.length; k++) {\\n var field = clause.fields[k]\\n requiredMatches[field] = requiredMatches[field].intersect(clauseMatches)\\n }\\n }\\n }\\n\\n /**\\n * Need to combine the field scoped required and prohibited\\n * matching documents into a global set of required and prohibited\\n * matches\\n */\\n var allRequiredMatches = lunr.Set.complete,\\n allProhibitedMatches = lunr.Set.empty\\n\\n for (var i = 0; i < this.fields.length; i++) {\\n var field = this.fields[i]\\n\\n if (requiredMatches[field]) {\\n allRequiredMatches = allRequiredMatches.intersect(requiredMatches[field])\\n }\\n\\n if (prohibitedMatches[field]) {\\n allProhibitedMatches = allProhibitedMatches.union(prohibitedMatches[field])\\n }\\n }\\n\\n var matchingFieldRefs = Object.keys(matchingFields),\\n results = [],\\n matches = Object.create(null)\\n\\n /*\\n * If the query is negated (contains only prohibited terms)\\n * we need to get _all_ fieldRefs currently existing in the\\n * index. This is only done when we know that the query is\\n * entirely prohibited terms to avoid any cost of getting all\\n * fieldRefs unnecessarily.\\n *\\n * Additionally, blank MatchData must be created to correctly\\n * populate the results.\\n */\\n if (query.isNegated()) {\\n matchingFieldRefs = Object.keys(this.fieldVectors)\\n\\n for (var i = 0; i < matchingFieldRefs.length; i++) {\\n var matchingFieldRef = matchingFieldRefs[i]\\n var fieldRef = lunr.FieldRef.fromString(matchingFieldRef)\\n matchingFields[matchingFieldRef] = new lunr.MatchData\\n }\\n }\\n\\n for (var i = 0; i < matchingFieldRefs.length; i++) {\\n /*\\n * Currently we have document fields that match the query, but we\\n * need to return documents. The matchData and scores are combined\\n * from multiple fields belonging to the same document.\\n *\\n * Scores are calculated by field, using the query vectors created\\n * above, and combined into a final document score using addition.\\n */\\n var fieldRef = lunr.FieldRef.fromString(matchingFieldRefs[i]),\\n docRef = fieldRef.docRef\\n\\n if (!allRequiredMatches.contains(docRef)) {\\n continue\\n }\\n\\n if (allProhibitedMatches.contains(docRef)) {\\n continue\\n }\\n\\n var fieldVector = this.fieldVectors[fieldRef],\\n score = queryVectors[fieldRef.fieldName].similarity(fieldVector),\\n docMatch\\n\\n if ((docMatch = matches[docRef]) !== undefined) {\\n docMatch.score += score\\n docMatch.matchData.combine(matchingFields[fieldRef])\\n } else {\\n var match = {\\n ref: docRef,\\n score: score,\\n matchData: matchingFields[fieldRef]\\n }\\n matches[docRef] = match\\n results.push(match)\\n }\\n }\\n\\n /*\\n * Sort the results objects by score, highest first.\\n */\\n return results.sort(function (a, b) {\\n return b.score - a.score\\n })\\n}\\n\\n/**\\n * Prepares the index for JSON serialization.\\n *\\n * The schema for this JSON blob will be described in a\\n * separate JSON schema file.\\n *\\n * @returns {Object}\\n */\\nlunr.Index.prototype.toJSON = function () {\\n var invertedIndex = Object.keys(this.invertedIndex)\\n .sort()\\n .map(function (term) {\\n return [term, this.invertedIndex[term]]\\n }, this)\\n\\n var fieldVectors = Object.keys(this.fieldVectors)\\n .map(function (ref) {\\n return [ref, this.fieldVectors[ref].toJSON()]\\n }, this)\\n\\n return {\\n version: lunr.version,\\n fields: this.fields,\\n fieldVectors: fieldVectors,\\n invertedIndex: invertedIndex,\\n pipeline: this.pipeline.toJSON()\\n }\\n}\\n\\n/**\\n * Loads a previously serialized lunr.Index\\n *\\n * @param {Object} serializedIndex - A previously serialized lunr.Index\\n * @returns {lunr.Index}\\n */\\nlunr.Index.load = function (serializedIndex) {\\n var attrs = {},\\n fieldVectors = {},\\n serializedVectors = serializedIndex.fieldVectors,\\n invertedIndex = Object.create(null),\\n serializedInvertedIndex = serializedIndex.invertedIndex,\\n tokenSetBuilder = new lunr.TokenSet.Builder,\\n pipeline = lunr.Pipeline.load(serializedIndex.pipeline)\\n\\n if (serializedIndex.version != lunr.version) {\\n lunr.utils.warn(\\\"Version mismatch when loading serialised index. Current version of lunr '\\\" + lunr.version + \\\"' does not match serialized index '\\\" + serializedIndex.version + \\\"'\\\")\\n }\\n\\n for (var i = 0; i < serializedVectors.length; i++) {\\n var tuple = serializedVectors[i],\\n ref = tuple[0],\\n elements = tuple[1]\\n\\n fieldVectors[ref] = new lunr.Vector(elements)\\n }\\n\\n for (var i = 0; i < serializedInvertedIndex.length; i++) {\\n var tuple = serializedInvertedIndex[i],\\n term = tuple[0],\\n posting = tuple[1]\\n\\n tokenSetBuilder.insert(term)\\n invertedIndex[term] = posting\\n }\\n\\n tokenSetBuilder.finish()\\n\\n attrs.fields = serializedIndex.fields\\n\\n attrs.fieldVectors = fieldVectors\\n attrs.invertedIndex = invertedIndex\\n attrs.tokenSet = tokenSetBuilder.root\\n attrs.pipeline = pipeline\\n\\n return new lunr.Index(attrs)\\n}\\n/*!\\n * lunr.Builder\\n * Copyright (C) 2019 Oliver Nightingale\\n */\\n\\n/**\\n * lunr.Builder performs indexing on a set of documents and\\n * returns instances of lunr.Index ready for querying.\\n *\\n * All configuration of the index is done via the builder, the\\n * fields to index, the document reference, the text processing\\n * pipeline and document scoring parameters are all set on the\\n * builder before indexing.\\n *\\n * @constructor\\n * @property {string} _ref - Internal reference to the document reference field.\\n * @property {string[]} _fields - Internal reference to the document fields to index.\\n * @property {object} invertedIndex - The inverted index maps terms to document fields.\\n * @property {object} documentTermFrequencies - Keeps track of document term frequencies.\\n * @property {object} documentLengths - Keeps track of the length of documents added to the index.\\n * @property {lunr.tokenizer} tokenizer - Function for splitting strings into tokens for indexing.\\n * @property {lunr.Pipeline} pipeline - The pipeline performs text processing on tokens before indexing.\\n * @property {lunr.Pipeline} searchPipeline - A pipeline for processing search terms before querying the index.\\n * @property {number} documentCount - Keeps track of the total number of documents indexed.\\n * @property {number} _b - A parameter to control field length normalization, setting this to 0 disabled normalization, 1 fully normalizes field lengths, the default value is 0.75.\\n * @property {number} _k1 - A parameter to control how quickly an increase in term frequency results in term frequency saturation, the default value is 1.2.\\n * @property {number} termIndex - A counter incremented for each unique term, used to identify a terms position in the vector space.\\n * @property {array} metadataWhitelist - A list of metadata keys that have been whitelisted for entry in the index.\\n */\\nlunr.Builder = function () {\\n this._ref = \\\"id\\\"\\n this._fields = Object.create(null)\\n this._documents = Object.create(null)\\n this.invertedIndex = Object.create(null)\\n this.fieldTermFrequencies = {}\\n this.fieldLengths = {}\\n this.tokenizer = lunr.tokenizer\\n this.pipeline = new lunr.Pipeline\\n this.searchPipeline = new lunr.Pipeline\\n this.documentCount = 0\\n this._b = 0.75\\n this._k1 = 1.2\\n this.termIndex = 0\\n this.metadataWhitelist = []\\n}\\n\\n/**\\n * Sets the document field used as the document reference. Every document must have this field.\\n * The type of this field in the document should be a string, if it is not a string it will be\\n * coerced into a string by calling toString.\\n *\\n * The default ref is 'id'.\\n *\\n * The ref should _not_ be changed during indexing, it should be set before any documents are\\n * added to the index. Changing it during indexing can lead to inconsistent results.\\n *\\n * @param {string} ref - The name of the reference field in the document.\\n */\\nlunr.Builder.prototype.ref = function (ref) {\\n this._ref = ref\\n}\\n\\n/**\\n * A function that is used to extract a field from a document.\\n *\\n * Lunr expects a field to be at the top level of a document, if however the field\\n * is deeply nested within a document an extractor function can be used to extract\\n * the right field for indexing.\\n *\\n * @callback fieldExtractor\\n * @param {object} doc - The document being added to the index.\\n * @returns {?(string|object|object[])} obj - The object that will be indexed for this field.\\n * @example Extracting a nested field\\n * function (doc) { return doc.nested.field }\\n */\\n\\n/**\\n * Adds a field to the list of document fields that will be indexed. Every document being\\n * indexed should have this field. Null values for this field in indexed documents will\\n * not cause errors but will limit the chance of that document being retrieved by searches.\\n *\\n * All fields should be added before adding documents to the index. Adding fields after\\n * a document has been indexed will have no effect on already indexed documents.\\n *\\n * Fields can be boosted at build time. This allows terms within that field to have more\\n * importance when ranking search results. Use a field boost to specify that matches within\\n * one field are more important than other fields.\\n *\\n * @param {string} fieldName - The name of a field to index in all documents.\\n * @param {object} attributes - Optional attributes associated with this field.\\n * @param {number} [attributes.boost=1] - Boost applied to all terms within this field.\\n * @param {fieldExtractor} [attributes.extractor] - Function to extract a field from a document.\\n * @throws {RangeError} fieldName cannot contain unsupported characters '/'\\n */\\nlunr.Builder.prototype.field = function (fieldName, attributes) {\\n if (/\\\\//.test(fieldName)) {\\n throw new RangeError (\\\"Field '\\\" + fieldName + \\\"' contains illegal character '/'\\\")\\n }\\n\\n this._fields[fieldName] = attributes || {}\\n}\\n\\n/**\\n * A parameter to tune the amount of field length normalisation that is applied when\\n * calculating relevance scores. A value of 0 will completely disable any normalisation\\n * and a value of 1 will fully normalise field lengths. The default is 0.75. Values of b\\n * will be clamped to the range 0 - 1.\\n *\\n * @param {number} number - The value to set for this tuning parameter.\\n */\\nlunr.Builder.prototype.b = function (number) {\\n if (number < 0) {\\n this._b = 0\\n } else if (number > 1) {\\n this._b = 1\\n } else {\\n this._b = number\\n }\\n}\\n\\n/**\\n * A parameter that controls the speed at which a rise in term frequency results in term\\n * frequency saturation. The default value is 1.2. Setting this to a higher value will give\\n * slower saturation levels, a lower value will result in quicker saturation.\\n *\\n * @param {number} number - The value to set for this tuning parameter.\\n */\\nlunr.Builder.prototype.k1 = function (number) {\\n this._k1 = number\\n}\\n\\n/**\\n * Adds a document to the index.\\n *\\n * Before adding fields to the index the index should have been fully setup, with the document\\n * ref and all fields to index already having been specified.\\n *\\n * The document must have a field name as specified by the ref (by default this is 'id') and\\n * it should have all fields defined for indexing, though null or undefined values will not\\n * cause errors.\\n *\\n * Entire documents can be boosted at build time. Applying a boost to a document indicates that\\n * this document should rank higher in search results than other documents.\\n *\\n * @param {object} doc - The document to add to the index.\\n * @param {object} attributes - Optional attributes associated with this document.\\n * @param {number} [attributes.boost=1] - Boost applied to all terms within this document.\\n */\\nlunr.Builder.prototype.add = function (doc, attributes) {\\n var docRef = doc[this._ref],\\n fields = Object.keys(this._fields)\\n\\n this._documents[docRef] = attributes || {}\\n this.documentCount += 1\\n\\n for (var i = 0; i < fields.length; i++) {\\n var fieldName = fields[i],\\n extractor = this._fields[fieldName].extractor,\\n field = extractor ? extractor(doc) : doc[fieldName],\\n tokens = this.tokenizer(field, {\\n fields: [fieldName]\\n }),\\n terms = this.pipeline.run(tokens),\\n fieldRef = new lunr.FieldRef (docRef, fieldName),\\n fieldTerms = Object.create(null)\\n\\n this.fieldTermFrequencies[fieldRef] = fieldTerms\\n this.fieldLengths[fieldRef] = 0\\n\\n // store the length of this field for this document\\n this.fieldLengths[fieldRef] += terms.length\\n\\n // calculate term frequencies for this field\\n for (var j = 0; j < terms.length; j++) {\\n var term = terms[j]\\n\\n if (fieldTerms[term] == undefined) {\\n fieldTerms[term] = 0\\n }\\n\\n fieldTerms[term] += 1\\n\\n // add to inverted index\\n // create an initial posting if one doesn't exist\\n if (this.invertedIndex[term] == undefined) {\\n var posting = Object.create(null)\\n posting[\\\"_index\\\"] = this.termIndex\\n this.termIndex += 1\\n\\n for (var k = 0; k < fields.length; k++) {\\n posting[fields[k]] = Object.create(null)\\n }\\n\\n this.invertedIndex[term] = posting\\n }\\n\\n // add an entry for this term/fieldName/docRef to the invertedIndex\\n if (this.invertedIndex[term][fieldName][docRef] == undefined) {\\n this.invertedIndex[term][fieldName][docRef] = Object.create(null)\\n }\\n\\n // store all whitelisted metadata about this token in the\\n // inverted index\\n for (var l = 0; l < this.metadataWhitelist.length; l++) {\\n var metadataKey = this.metadataWhitelist[l],\\n metadata = term.metadata[metadataKey]\\n\\n if (this.invertedIndex[term][fieldName][docRef][metadataKey] == undefined) {\\n this.invertedIndex[term][fieldName][docRef][metadataKey] = []\\n }\\n\\n this.invertedIndex[term][fieldName][docRef][metadataKey].push(metadata)\\n }\\n }\\n\\n }\\n}\\n\\n/**\\n * Calculates the average document length for this index\\n *\\n * @private\\n */\\nlunr.Builder.prototype.calculateAverageFieldLengths = function () {\\n\\n var fieldRefs = Object.keys(this.fieldLengths),\\n numberOfFields = fieldRefs.length,\\n accumulator = {},\\n documentsWithField = {}\\n\\n for (var i = 0; i < numberOfFields; i++) {\\n var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]),\\n field = fieldRef.fieldName\\n\\n documentsWithField[field] || (documentsWithField[field] = 0)\\n documentsWithField[field] += 1\\n\\n accumulator[field] || (accumulator[field] = 0)\\n accumulator[field] += this.fieldLengths[fieldRef]\\n }\\n\\n var fields = Object.keys(this._fields)\\n\\n for (var i = 0; i < fields.length; i++) {\\n var fieldName = fields[i]\\n accumulator[fieldName] = accumulator[fieldName] / documentsWithField[fieldName]\\n }\\n\\n this.averageFieldLength = accumulator\\n}\\n\\n/**\\n * Builds a vector space model of every document using lunr.Vector\\n *\\n * @private\\n */\\nlunr.Builder.prototype.createFieldVectors = function () {\\n var fieldVectors = {},\\n fieldRefs = Object.keys(this.fieldTermFrequencies),\\n fieldRefsLength = fieldRefs.length,\\n termIdfCache = Object.create(null)\\n\\n for (var i = 0; i < fieldRefsLength; i++) {\\n var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]),\\n fieldName = fieldRef.fieldName,\\n fieldLength = this.fieldLengths[fieldRef],\\n fieldVector = new lunr.Vector,\\n termFrequencies = this.fieldTermFrequencies[fieldRef],\\n terms = Object.keys(termFrequencies),\\n termsLength = terms.length\\n\\n\\n var fieldBoost = this._fields[fieldName].boost || 1,\\n docBoost = this._documents[fieldRef.docRef].boost || 1\\n\\n for (var j = 0; j < termsLength; j++) {\\n var term = terms[j],\\n tf = termFrequencies[term],\\n termIndex = this.invertedIndex[term]._index,\\n idf, score, scoreWithPrecision\\n\\n if (termIdfCache[term] === undefined) {\\n idf = lunr.idf(this.invertedIndex[term], this.documentCount)\\n termIdfCache[term] = idf\\n } else {\\n idf = termIdfCache[term]\\n }\\n\\n score = idf * ((this._k1 + 1) * tf) / (this._k1 * (1 - this._b + this._b * (fieldLength / this.averageFieldLength[fieldName])) + tf)\\n score *= fieldBoost\\n score *= docBoost\\n scoreWithPrecision = Math.round(score * 1000) / 1000\\n // Converts 1.23456789 to 1.234.\\n // Reducing the precision so that the vectors take up less\\n // space when serialised. Doing it now so that they behave\\n // the same before and after serialisation. Also, this is\\n // the fastest approach to reducing a number's precision in\\n // JavaScript.\\n\\n fieldVector.insert(termIndex, scoreWithPrecision)\\n }\\n\\n fieldVectors[fieldRef] = fieldVector\\n }\\n\\n this.fieldVectors = fieldVectors\\n}\\n\\n/**\\n * Creates a token set of all tokens in the index using lunr.TokenSet\\n *\\n * @private\\n */\\nlunr.Builder.prototype.createTokenSet = function () {\\n this.tokenSet = lunr.TokenSet.fromArray(\\n Object.keys(this.invertedIndex).sort()\\n )\\n}\\n\\n/**\\n * Builds the index, creating an instance of lunr.Index.\\n *\\n * This completes the indexing process and should only be called\\n * once all documents have been added to the index.\\n *\\n * @returns {lunr.Index}\\n */\\nlunr.Builder.prototype.build = function () {\\n this.calculateAverageFieldLengths()\\n this.createFieldVectors()\\n this.createTokenSet()\\n\\n return new lunr.Index({\\n invertedIndex: this.invertedIndex,\\n fieldVectors: this.fieldVectors,\\n tokenSet: this.tokenSet,\\n fields: Object.keys(this._fields),\\n pipeline: this.searchPipeline\\n })\\n}\\n\\n/**\\n * Applies a plugin to the index builder.\\n *\\n * A plugin is a function that is called with the index builder as its context.\\n * Plugins can be used to customise or extend the behaviour of the index\\n * in some way. A plugin is just a function, that encapsulated the custom\\n * behaviour that should be applied when building the index.\\n *\\n * The plugin function will be called with the index builder as its argument, additional\\n * arguments can also be passed when calling use. The function will be called\\n * with the index builder as its context.\\n *\\n * @param {Function} plugin The plugin to apply.\\n */\\nlunr.Builder.prototype.use = function (fn) {\\n var args = Array.prototype.slice.call(arguments, 1)\\n args.unshift(this)\\n fn.apply(this, args)\\n}\\n/**\\n * Contains and collects metadata about a matching document.\\n * A single instance of lunr.MatchData is returned as part of every\\n * lunr.Index~Result.\\n *\\n * @constructor\\n * @param {string} term - The term this match data is associated with\\n * @param {string} field - The field in which the term was found\\n * @param {object} metadata - The metadata recorded about this term in this field\\n * @property {object} metadata - A cloned collection of metadata associated with this document.\\n * @see {@link lunr.Index~Result}\\n */\\nlunr.MatchData = function (term, field, metadata) {\\n var clonedMetadata = Object.create(null),\\n metadataKeys = Object.keys(metadata || {})\\n\\n // Cloning the metadata to prevent the original\\n // being mutated during match data combination.\\n // Metadata is kept in an array within the inverted\\n // index so cloning the data can be done with\\n // Array#slice\\n for (var i = 0; i < metadataKeys.length; i++) {\\n var key = metadataKeys[i]\\n clonedMetadata[key] = metadata[key].slice()\\n }\\n\\n this.metadata = Object.create(null)\\n\\n if (term !== undefined) {\\n this.metadata[term] = Object.create(null)\\n this.metadata[term][field] = clonedMetadata\\n }\\n}\\n\\n/**\\n * An instance of lunr.MatchData will be created for every term that matches a\\n * document. However only one instance is required in a lunr.Index~Result. This\\n * method combines metadata from another instance of lunr.MatchData with this\\n * objects metadata.\\n *\\n * @param {lunr.MatchData} otherMatchData - Another instance of match data to merge with this one.\\n * @see {@link lunr.Index~Result}\\n */\\nlunr.MatchData.prototype.combine = function (otherMatchData) {\\n var terms = Object.keys(otherMatchData.metadata)\\n\\n for (var i = 0; i < terms.length; i++) {\\n var term = terms[i],\\n fields = Object.keys(otherMatchData.metadata[term])\\n\\n if (this.metadata[term] == undefined) {\\n this.metadata[term] = Object.create(null)\\n }\\n\\n for (var j = 0; j < fields.length; j++) {\\n var field = fields[j],\\n keys = Object.keys(otherMatchData.metadata[term][field])\\n\\n if (this.metadata[term][field] == undefined) {\\n this.metadata[term][field] = Object.create(null)\\n }\\n\\n for (var k = 0; k < keys.length; k++) {\\n var key = keys[k]\\n\\n if (this.metadata[term][field][key] == undefined) {\\n this.metadata[term][field][key] = otherMatchData.metadata[term][field][key]\\n } else {\\n this.metadata[term][field][key] = this.metadata[term][field][key].concat(otherMatchData.metadata[term][field][key])\\n }\\n\\n }\\n }\\n }\\n}\\n\\n/**\\n * Add metadata for a term/field pair to this instance of match data.\\n *\\n * @param {string} term - The term this match data is associated with\\n * @param {string} field - The field in which the term was found\\n * @param {object} metadata - The metadata recorded about this term in this field\\n */\\nlunr.MatchData.prototype.add = function (term, field, metadata) {\\n if (!(term in this.metadata)) {\\n this.metadata[term] = Object.create(null)\\n this.metadata[term][field] = metadata\\n return\\n }\\n\\n if (!(field in this.metadata[term])) {\\n this.metadata[term][field] = metadata\\n return\\n }\\n\\n var metadataKeys = Object.keys(metadata)\\n\\n for (var i = 0; i < metadataKeys.length; i++) {\\n var key = metadataKeys[i]\\n\\n if (key in this.metadata[term][field]) {\\n this.metadata[term][field][key] = this.metadata[term][field][key].concat(metadata[key])\\n } else {\\n this.metadata[term][field][key] = metadata[key]\\n }\\n }\\n}\\n/**\\n * A lunr.Query provides a programmatic way of defining queries to be performed\\n * against a {@link lunr.Index}.\\n *\\n * Prefer constructing a lunr.Query using the {@link lunr.Index#query} method\\n * so the query object is pre-initialized with the right index fields.\\n *\\n * @constructor\\n * @property {lunr.Query~Clause[]} clauses - An array of query clauses.\\n * @property {string[]} allFields - An array of all available fields in a lunr.Index.\\n */\\nlunr.Query = function (allFields) {\\n this.clauses = []\\n this.allFields = allFields\\n}\\n\\n/**\\n * Constants for indicating what kind of automatic wildcard insertion will be used when constructing a query clause.\\n *\\n * This allows wildcards to be added to the beginning and end of a term without having to manually do any string\\n * concatenation.\\n *\\n * The wildcard constants can be bitwise combined to select both leading and trailing wildcards.\\n *\\n * @constant\\n * @default\\n * @property {number} wildcard.NONE - The term will have no wildcards inserted, this is the default behaviour\\n * @property {number} wildcard.LEADING - Prepend the term with a wildcard, unless a leading wildcard already exists\\n * @property {number} wildcard.TRAILING - Append a wildcard to the term, unless a trailing wildcard already exists\\n * @see lunr.Query~Clause\\n * @see lunr.Query#clause\\n * @see lunr.Query#term\\n * @example query term with trailing wildcard\\n * query.term('foo', { wildcard: lunr.Query.wildcard.TRAILING })\\n * @example query term with leading and trailing wildcard\\n * query.term('foo', {\\n * wildcard: lunr.Query.wildcard.LEADING | lunr.Query.wildcard.TRAILING\\n * })\\n */\\n\\nlunr.Query.wildcard = new String (\\\"*\\\")\\nlunr.Query.wildcard.NONE = 0\\nlunr.Query.wildcard.LEADING = 1\\nlunr.Query.wildcard.TRAILING = 2\\n\\n/**\\n * Constants for indicating what kind of presence a term must have in matching documents.\\n *\\n * @constant\\n * @enum {number}\\n * @see lunr.Query~Clause\\n * @see lunr.Query#clause\\n * @see lunr.Query#term\\n * @example query term with required presence\\n * query.term('foo', { presence: lunr.Query.presence.REQUIRED })\\n */\\nlunr.Query.presence = {\\n /**\\n * Term's presence in a document is optional, this is the default value.\\n */\\n OPTIONAL: 1,\\n\\n /**\\n * Term's presence in a document is required, documents that do not contain\\n * this term will not be returned.\\n */\\n REQUIRED: 2,\\n\\n /**\\n * Term's presence in a document is prohibited, documents that do contain\\n * this term will not be returned.\\n */\\n PROHIBITED: 3\\n}\\n\\n/**\\n * A single clause in a {@link lunr.Query} contains a term and details on how to\\n * match that term against a {@link lunr.Index}.\\n *\\n * @typedef {Object} lunr.Query~Clause\\n * @property {string[]} fields - The fields in an index this clause should be matched against.\\n * @property {number} [boost=1] - Any boost that should be applied when matching this clause.\\n * @property {number} [editDistance] - Whether the term should have fuzzy matching applied, and how fuzzy the match should be.\\n * @property {boolean} [usePipeline] - Whether the term should be passed through the search pipeline.\\n * @property {number} [wildcard=lunr.Query.wildcard.NONE] - Whether the term should have wildcards appended or prepended.\\n * @property {number} [presence=lunr.Query.presence.OPTIONAL] - The terms presence in any matching documents.\\n */\\n\\n/**\\n * Adds a {@link lunr.Query~Clause} to this query.\\n *\\n * Unless the clause contains the fields to be matched all fields will be matched. In addition\\n * a default boost of 1 is applied to the clause.\\n *\\n * @param {lunr.Query~Clause} clause - The clause to add to this query.\\n * @see lunr.Query~Clause\\n * @returns {lunr.Query}\\n */\\nlunr.Query.prototype.clause = function (clause) {\\n if (!('fields' in clause)) {\\n clause.fields = this.allFields\\n }\\n\\n if (!('boost' in clause)) {\\n clause.boost = 1\\n }\\n\\n if (!('usePipeline' in clause)) {\\n clause.usePipeline = true\\n }\\n\\n if (!('wildcard' in clause)) {\\n clause.wildcard = lunr.Query.wildcard.NONE\\n }\\n\\n if ((clause.wildcard & lunr.Query.wildcard.LEADING) && (clause.term.charAt(0) != lunr.Query.wildcard)) {\\n clause.term = \\\"*\\\" + clause.term\\n }\\n\\n if ((clause.wildcard & lunr.Query.wildcard.TRAILING) && (clause.term.slice(-1) != lunr.Query.wildcard)) {\\n clause.term = \\\"\\\" + clause.term + \\\"*\\\"\\n }\\n\\n if (!('presence' in clause)) {\\n clause.presence = lunr.Query.presence.OPTIONAL\\n }\\n\\n this.clauses.push(clause)\\n\\n return this\\n}\\n\\n/**\\n * A negated query is one in which every clause has a presence of\\n * prohibited. These queries require some special processing to return\\n * the expected results.\\n *\\n * @returns boolean\\n */\\nlunr.Query.prototype.isNegated = function () {\\n for (var i = 0; i < this.clauses.length; i++) {\\n if (this.clauses[i].presence != lunr.Query.presence.PROHIBITED) {\\n return false\\n }\\n }\\n\\n return true\\n}\\n\\n/**\\n * Adds a term to the current query, under the covers this will create a {@link lunr.Query~Clause}\\n * to the list of clauses that make up this query.\\n *\\n * The term is used as is, i.e. no tokenization will be performed by this method. Instead conversion\\n * to a token or token-like string should be done before calling this method.\\n *\\n * The term will be converted to a string by calling `toString`. Multiple terms can be passed as an\\n * array, each term in the array will share the same options.\\n *\\n * @param {object|object[]} term - The term(s) to add to the query.\\n * @param {object} [options] - Any additional properties to add to the query clause.\\n * @returns {lunr.Query}\\n * @see lunr.Query#clause\\n * @see lunr.Query~Clause\\n * @example adding a single term to a query\\n * query.term(\\\"foo\\\")\\n * @example adding a single term to a query and specifying search fields, term boost and automatic trailing wildcard\\n * query.term(\\\"foo\\\", {\\n * fields: [\\\"title\\\"],\\n * boost: 10,\\n * wildcard: lunr.Query.wildcard.TRAILING\\n * })\\n * @example using lunr.tokenizer to convert a string to tokens before using them as terms\\n * query.term(lunr.tokenizer(\\\"foo bar\\\"))\\n */\\nlunr.Query.prototype.term = function (term, options) {\\n if (Array.isArray(term)) {\\n term.forEach(function (t) { this.term(t, lunr.utils.clone(options)) }, this)\\n return this\\n }\\n\\n var clause = options || {}\\n clause.term = term.toString()\\n\\n this.clause(clause)\\n\\n return this\\n}\\nlunr.QueryParseError = function (message, start, end) {\\n this.name = \\\"QueryParseError\\\"\\n this.message = message\\n this.start = start\\n this.end = end\\n}\\n\\nlunr.QueryParseError.prototype = new Error\\nlunr.QueryLexer = function (str) {\\n this.lexemes = []\\n this.str = str\\n this.length = str.length\\n this.pos = 0\\n this.start = 0\\n this.escapeCharPositions = []\\n}\\n\\nlunr.QueryLexer.prototype.run = function () {\\n var state = lunr.QueryLexer.lexText\\n\\n while (state) {\\n state = state(this)\\n }\\n}\\n\\nlunr.QueryLexer.prototype.sliceString = function () {\\n var subSlices = [],\\n sliceStart = this.start,\\n sliceEnd = this.pos\\n\\n for (var i = 0; i < this.escapeCharPositions.length; i++) {\\n sliceEnd = this.escapeCharPositions[i]\\n subSlices.push(this.str.slice(sliceStart, sliceEnd))\\n sliceStart = sliceEnd + 1\\n }\\n\\n subSlices.push(this.str.slice(sliceStart, this.pos))\\n this.escapeCharPositions.length = 0\\n\\n return subSlices.join('')\\n}\\n\\nlunr.QueryLexer.prototype.emit = function (type) {\\n this.lexemes.push({\\n type: type,\\n str: this.sliceString(),\\n start: this.start,\\n end: this.pos\\n })\\n\\n this.start = this.pos\\n}\\n\\nlunr.QueryLexer.prototype.escapeCharacter = function () {\\n this.escapeCharPositions.push(this.pos - 1)\\n this.pos += 1\\n}\\n\\nlunr.QueryLexer.prototype.next = function () {\\n if (this.pos >= this.length) {\\n return lunr.QueryLexer.EOS\\n }\\n\\n var char = this.str.charAt(this.pos)\\n this.pos += 1\\n return char\\n}\\n\\nlunr.QueryLexer.prototype.width = function () {\\n return this.pos - this.start\\n}\\n\\nlunr.QueryLexer.prototype.ignore = function () {\\n if (this.start == this.pos) {\\n this.pos += 1\\n }\\n\\n this.start = this.pos\\n}\\n\\nlunr.QueryLexer.prototype.backup = function () {\\n this.pos -= 1\\n}\\n\\nlunr.QueryLexer.prototype.acceptDigitRun = function () {\\n var char, charCode\\n\\n do {\\n char = this.next()\\n charCode = char.charCodeAt(0)\\n } while (charCode > 47 && charCode < 58)\\n\\n if (char != lunr.QueryLexer.EOS) {\\n this.backup()\\n }\\n}\\n\\nlunr.QueryLexer.prototype.more = function () {\\n return this.pos < this.length\\n}\\n\\nlunr.QueryLexer.EOS = 'EOS'\\nlunr.QueryLexer.FIELD = 'FIELD'\\nlunr.QueryLexer.TERM = 'TERM'\\nlunr.QueryLexer.EDIT_DISTANCE = 'EDIT_DISTANCE'\\nlunr.QueryLexer.BOOST = 'BOOST'\\nlunr.QueryLexer.PRESENCE = 'PRESENCE'\\n\\nlunr.QueryLexer.lexField = function (lexer) {\\n lexer.backup()\\n lexer.emit(lunr.QueryLexer.FIELD)\\n lexer.ignore()\\n return lunr.QueryLexer.lexText\\n}\\n\\nlunr.QueryLexer.lexTerm = function (lexer) {\\n if (lexer.width() > 1) {\\n lexer.backup()\\n lexer.emit(lunr.QueryLexer.TERM)\\n }\\n\\n lexer.ignore()\\n\\n if (lexer.more()) {\\n return lunr.QueryLexer.lexText\\n }\\n}\\n\\nlunr.QueryLexer.lexEditDistance = function (lexer) {\\n lexer.ignore()\\n lexer.acceptDigitRun()\\n lexer.emit(lunr.QueryLexer.EDIT_DISTANCE)\\n return lunr.QueryLexer.lexText\\n}\\n\\nlunr.QueryLexer.lexBoost = function (lexer) {\\n lexer.ignore()\\n lexer.acceptDigitRun()\\n lexer.emit(lunr.QueryLexer.BOOST)\\n return lunr.QueryLexer.lexText\\n}\\n\\nlunr.QueryLexer.lexEOS = function (lexer) {\\n if (lexer.width() > 0) {\\n lexer.emit(lunr.QueryLexer.TERM)\\n }\\n}\\n\\n// This matches the separator used when tokenising fields\\n// within a document. These should match otherwise it is\\n// not possible to search for some tokens within a document.\\n//\\n// It is possible for the user to change the separator on the\\n// tokenizer so it _might_ clash with any other of the special\\n// characters already used within the search string, e.g. :.\\n//\\n// This means that it is possible to change the separator in\\n// such a way that makes some words unsearchable using a search\\n// string.\\nlunr.QueryLexer.termSeparator = lunr.tokenizer.separator\\n\\nlunr.QueryLexer.lexText = function (lexer) {\\n while (true) {\\n var char = lexer.next()\\n\\n if (char == lunr.QueryLexer.EOS) {\\n return lunr.QueryLexer.lexEOS\\n }\\n\\n // Escape character is '\\\\'\\n if (char.charCodeAt(0) == 92) {\\n lexer.escapeCharacter()\\n continue\\n }\\n\\n if (char == \\\":\\\") {\\n return lunr.QueryLexer.lexField\\n }\\n\\n if (char == \\\"~\\\") {\\n lexer.backup()\\n if (lexer.width() > 0) {\\n lexer.emit(lunr.QueryLexer.TERM)\\n }\\n return lunr.QueryLexer.lexEditDistance\\n }\\n\\n if (char == \\\"^\\\") {\\n lexer.backup()\\n if (lexer.width() > 0) {\\n lexer.emit(lunr.QueryLexer.TERM)\\n }\\n return lunr.QueryLexer.lexBoost\\n }\\n\\n // \\\"+\\\" indicates term presence is required\\n // checking for length to ensure that only\\n // leading \\\"+\\\" are considered\\n if (char == \\\"+\\\" && lexer.width() === 1) {\\n lexer.emit(lunr.QueryLexer.PRESENCE)\\n return lunr.QueryLexer.lexText\\n }\\n\\n // \\\"-\\\" indicates term presence is prohibited\\n // checking for length to ensure that only\\n // leading \\\"-\\\" are considered\\n if (char == \\\"-\\\" && lexer.width() === 1) {\\n lexer.emit(lunr.QueryLexer.PRESENCE)\\n return lunr.QueryLexer.lexText\\n }\\n\\n if (char.match(lunr.QueryLexer.termSeparator)) {\\n return lunr.QueryLexer.lexTerm\\n }\\n }\\n}\\n\\nlunr.QueryParser = function (str, query) {\\n this.lexer = new lunr.QueryLexer (str)\\n this.query = query\\n this.currentClause = {}\\n this.lexemeIdx = 0\\n}\\n\\nlunr.QueryParser.prototype.parse = function () {\\n this.lexer.run()\\n this.lexemes = this.lexer.lexemes\\n\\n var state = lunr.QueryParser.parseClause\\n\\n while (state) {\\n state = state(this)\\n }\\n\\n return this.query\\n}\\n\\nlunr.QueryParser.prototype.peekLexeme = function () {\\n return this.lexemes[this.lexemeIdx]\\n}\\n\\nlunr.QueryParser.prototype.consumeLexeme = function () {\\n var lexeme = this.peekLexeme()\\n this.lexemeIdx += 1\\n return lexeme\\n}\\n\\nlunr.QueryParser.prototype.nextClause = function () {\\n var completedClause = this.currentClause\\n this.query.clause(completedClause)\\n this.currentClause = {}\\n}\\n\\nlunr.QueryParser.parseClause = function (parser) {\\n var lexeme = parser.peekLexeme()\\n\\n if (lexeme == undefined) {\\n return\\n }\\n\\n switch (lexeme.type) {\\n case lunr.QueryLexer.PRESENCE:\\n return lunr.QueryParser.parsePresence\\n case lunr.QueryLexer.FIELD:\\n return lunr.QueryParser.parseField\\n case lunr.QueryLexer.TERM:\\n return lunr.QueryParser.parseTerm\\n default:\\n var errorMessage = \\\"expected either a field or a term, found \\\" + lexeme.type\\n\\n if (lexeme.str.length >= 1) {\\n errorMessage += \\\" with value '\\\" + lexeme.str + \\\"'\\\"\\n }\\n\\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\\n }\\n}\\n\\nlunr.QueryParser.parsePresence = function (parser) {\\n var lexeme = parser.consumeLexeme()\\n\\n if (lexeme == undefined) {\\n return\\n }\\n\\n switch (lexeme.str) {\\n case \\\"-\\\":\\n parser.currentClause.presence = lunr.Query.presence.PROHIBITED\\n break\\n case \\\"+\\\":\\n parser.currentClause.presence = lunr.Query.presence.REQUIRED\\n break\\n default:\\n var errorMessage = \\\"unrecognised presence operator'\\\" + lexeme.str + \\\"'\\\"\\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\\n }\\n\\n var nextLexeme = parser.peekLexeme()\\n\\n if (nextLexeme == undefined) {\\n var errorMessage = \\\"expecting term or field, found nothing\\\"\\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\\n }\\n\\n switch (nextLexeme.type) {\\n case lunr.QueryLexer.FIELD:\\n return lunr.QueryParser.parseField\\n case lunr.QueryLexer.TERM:\\n return lunr.QueryParser.parseTerm\\n default:\\n var errorMessage = \\\"expecting term or field, found '\\\" + nextLexeme.type + \\\"'\\\"\\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\\n }\\n}\\n\\nlunr.QueryParser.parseField = function (parser) {\\n var lexeme = parser.consumeLexeme()\\n\\n if (lexeme == undefined) {\\n return\\n }\\n\\n if (parser.query.allFields.indexOf(lexeme.str) == -1) {\\n var possibleFields = parser.query.allFields.map(function (f) { return \\\"'\\\" + f + \\\"'\\\" }).join(', '),\\n errorMessage = \\\"unrecognised field '\\\" + lexeme.str + \\\"', possible fields: \\\" + possibleFields\\n\\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\\n }\\n\\n parser.currentClause.fields = [lexeme.str]\\n\\n var nextLexeme = parser.peekLexeme()\\n\\n if (nextLexeme == undefined) {\\n var errorMessage = \\\"expecting term, found nothing\\\"\\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\\n }\\n\\n switch (nextLexeme.type) {\\n case lunr.QueryLexer.TERM:\\n return lunr.QueryParser.parseTerm\\n default:\\n var errorMessage = \\\"expecting term, found '\\\" + nextLexeme.type + \\\"'\\\"\\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\\n }\\n}\\n\\nlunr.QueryParser.parseTerm = function (parser) {\\n var lexeme = parser.consumeLexeme()\\n\\n if (lexeme == undefined) {\\n return\\n }\\n\\n parser.currentClause.term = lexeme.str.toLowerCase()\\n\\n if (lexeme.str.indexOf(\\\"*\\\") != -1) {\\n parser.currentClause.usePipeline = false\\n }\\n\\n var nextLexeme = parser.peekLexeme()\\n\\n if (nextLexeme == undefined) {\\n parser.nextClause()\\n return\\n }\\n\\n switch (nextLexeme.type) {\\n case lunr.QueryLexer.TERM:\\n parser.nextClause()\\n return lunr.QueryParser.parseTerm\\n case lunr.QueryLexer.FIELD:\\n parser.nextClause()\\n return lunr.QueryParser.parseField\\n case lunr.QueryLexer.EDIT_DISTANCE:\\n return lunr.QueryParser.parseEditDistance\\n case lunr.QueryLexer.BOOST:\\n return lunr.QueryParser.parseBoost\\n case lunr.QueryLexer.PRESENCE:\\n parser.nextClause()\\n return lunr.QueryParser.parsePresence\\n default:\\n var errorMessage = \\\"Unexpected lexeme type '\\\" + nextLexeme.type + \\\"'\\\"\\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\\n }\\n}\\n\\nlunr.QueryParser.parseEditDistance = function (parser) {\\n var lexeme = parser.consumeLexeme()\\n\\n if (lexeme == undefined) {\\n return\\n }\\n\\n var editDistance = parseInt(lexeme.str, 10)\\n\\n if (isNaN(editDistance)) {\\n var errorMessage = \\\"edit distance must be numeric\\\"\\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\\n }\\n\\n parser.currentClause.editDistance = editDistance\\n\\n var nextLexeme = parser.peekLexeme()\\n\\n if (nextLexeme == undefined) {\\n parser.nextClause()\\n return\\n }\\n\\n switch (nextLexeme.type) {\\n case lunr.QueryLexer.TERM:\\n parser.nextClause()\\n return lunr.QueryParser.parseTerm\\n case lunr.QueryLexer.FIELD:\\n parser.nextClause()\\n return lunr.QueryParser.parseField\\n case lunr.QueryLexer.EDIT_DISTANCE:\\n return lunr.QueryParser.parseEditDistance\\n case lunr.QueryLexer.BOOST:\\n return lunr.QueryParser.parseBoost\\n case lunr.QueryLexer.PRESENCE:\\n parser.nextClause()\\n return lunr.QueryParser.parsePresence\\n default:\\n var errorMessage = \\\"Unexpected lexeme type '\\\" + nextLexeme.type + \\\"'\\\"\\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\\n }\\n}\\n\\nlunr.QueryParser.parseBoost = function (parser) {\\n var lexeme = parser.consumeLexeme()\\n\\n if (lexeme == undefined) {\\n return\\n }\\n\\n var boost = parseInt(lexeme.str, 10)\\n\\n if (isNaN(boost)) {\\n var errorMessage = \\\"boost must be numeric\\\"\\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\\n }\\n\\n parser.currentClause.boost = boost\\n\\n var nextLexeme = parser.peekLexeme()\\n\\n if (nextLexeme == undefined) {\\n parser.nextClause()\\n return\\n }\\n\\n switch (nextLexeme.type) {\\n case lunr.QueryLexer.TERM:\\n parser.nextClause()\\n return lunr.QueryParser.parseTerm\\n case lunr.QueryLexer.FIELD:\\n parser.nextClause()\\n return lunr.QueryParser.parseField\\n case lunr.QueryLexer.EDIT_DISTANCE:\\n return lunr.QueryParser.parseEditDistance\\n case lunr.QueryLexer.BOOST:\\n return lunr.QueryParser.parseBoost\\n case lunr.QueryLexer.PRESENCE:\\n parser.nextClause()\\n return lunr.QueryParser.parsePresence\\n default:\\n var errorMessage = \\\"Unexpected lexeme type '\\\" + nextLexeme.type + \\\"'\\\"\\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\\n }\\n}\\n\\n /**\\n * export the module via AMD, CommonJS or as a browser global\\n * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js\\n */\\n ;(function (root, factory) {\\n if (true) {\\n // AMD. Register as an anonymous module.\\n !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\\n\\t\\t\\t\\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\\n\\t\\t\\t\\t(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :\\n\\t\\t\\t\\t__WEBPACK_AMD_DEFINE_FACTORY__),\\n\\t\\t\\t\\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))\\n } else {}\\n }(this, function () {\\n /**\\n * Just return a value to define the module export.\\n * This example returns an object, but the module\\n * can return a function as the exported value.\\n */\\n return lunr\\n }))\\n})();\\n\\n\\n/***/ }),\\n/* 5 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = function (exec) {\\n try {\\n return !!exec();\\n } catch (error) {\\n return true;\\n }\\n};\\n\\n\\n/***/ }),\\n/* 6 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar DESCRIPTORS = __webpack_require__(10);\\nvar definePropertyModule = __webpack_require__(11);\\nvar createPropertyDescriptor = __webpack_require__(16);\\n\\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\\n} : function (object, key, value) {\\n object[key] = value;\\n return object;\\n};\\n\\n\\n/***/ }),\\n/* 7 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = function (it) {\\n return typeof it === 'object' ? it !== null : typeof it === 'function';\\n};\\n\\n\\n/***/ }),\\n/* 8 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar path = __webpack_require__(42);\\nvar global = __webpack_require__(0);\\n\\nvar aFunction = function (variable) {\\n return typeof variable == 'function' ? variable : undefined;\\n};\\n\\nmodule.exports = function (namespace, method) {\\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\\n};\\n\\n\\n/***/ }),\\n/* 9 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar global = __webpack_require__(0);\\nvar getOwnPropertyDescriptor = __webpack_require__(21).f;\\nvar createNonEnumerableProperty = __webpack_require__(6);\\nvar redefine = __webpack_require__(12);\\nvar setGlobal = __webpack_require__(25);\\nvar copyConstructorProperties = __webpack_require__(65);\\nvar isForced = __webpack_require__(45);\\n\\n/*\\n options.target - name of the target object\\n options.global - target is the global object\\n options.stat - export as static methods of target\\n options.proto - export as prototype methods of target\\n options.real - real prototype method for the `pure` version\\n options.forced - export even if the native feature is available\\n options.bind - bind methods to the target, required for the `pure` version\\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\\n options.sham - add a flag to not completely full polyfills\\n options.enumerable - export as enumerable property\\n options.noTargetGet - prevent calling a getter on target\\n*/\\nmodule.exports = function (options, source) {\\n var TARGET = options.target;\\n var GLOBAL = options.global;\\n var STATIC = options.stat;\\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\\n if (GLOBAL) {\\n target = global;\\n } else if (STATIC) {\\n target = global[TARGET] || setGlobal(TARGET, {});\\n } else {\\n target = (global[TARGET] || {}).prototype;\\n }\\n if (target) for (key in source) {\\n sourceProperty = source[key];\\n if (options.noTargetGet) {\\n descriptor = getOwnPropertyDescriptor(target, key);\\n targetProperty = descriptor && descriptor.value;\\n } else targetProperty = target[key];\\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\\n // contained in target\\n if (!FORCED && targetProperty !== undefined) {\\n if (typeof sourceProperty === typeof targetProperty) continue;\\n copyConstructorProperties(sourceProperty, targetProperty);\\n }\\n // add a flag to not completely full polyfills\\n if (options.sham || (targetProperty && targetProperty.sham)) {\\n createNonEnumerableProperty(sourceProperty, 'sham', true);\\n }\\n // extend global\\n redefine(target, key, sourceProperty, options);\\n }\\n};\\n\\n\\n/***/ }),\\n/* 10 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar fails = __webpack_require__(5);\\n\\n// Thank's IE8 for his funny defineProperty\\nmodule.exports = !fails(function () {\\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\\n});\\n\\n\\n/***/ }),\\n/* 11 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar DESCRIPTORS = __webpack_require__(10);\\nvar IE8_DOM_DEFINE = __webpack_require__(39);\\nvar anObject = __webpack_require__(3);\\nvar toPrimitive = __webpack_require__(38);\\n\\nvar nativeDefineProperty = Object.defineProperty;\\n\\n// `Object.defineProperty` method\\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\\n anObject(O);\\n P = toPrimitive(P, true);\\n anObject(Attributes);\\n if (IE8_DOM_DEFINE) try {\\n return nativeDefineProperty(O, P, Attributes);\\n } catch (error) { /* empty */ }\\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\\n if ('value' in Attributes) O[P] = Attributes.value;\\n return O;\\n};\\n\\n\\n/***/ }),\\n/* 12 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar global = __webpack_require__(0);\\nvar createNonEnumerableProperty = __webpack_require__(6);\\nvar has = __webpack_require__(2);\\nvar setGlobal = __webpack_require__(25);\\nvar inspectSource = __webpack_require__(26);\\nvar InternalStateModule = __webpack_require__(18);\\n\\nvar getInternalState = InternalStateModule.get;\\nvar enforceInternalState = InternalStateModule.enforce;\\nvar TEMPLATE = String(String).split('String');\\n\\n(module.exports = function (O, key, value, options) {\\n var unsafe = options ? !!options.unsafe : false;\\n var simple = options ? !!options.enumerable : false;\\n var noTargetGet = options ? !!options.noTargetGet : false;\\n var state;\\n if (typeof value == 'function') {\\n if (typeof key == 'string' && !has(value, 'name')) {\\n createNonEnumerableProperty(value, 'name', key);\\n }\\n state = enforceInternalState(value);\\n if (!state.source) {\\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\\n }\\n }\\n if (O === global) {\\n if (simple) O[key] = value;\\n else setGlobal(key, value);\\n return;\\n } else if (!unsafe) {\\n delete O[key];\\n } else if (!noTargetGet && O[key]) {\\n simple = true;\\n }\\n if (simple) O[key] = value;\\n else createNonEnumerableProperty(O, key, value);\\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\\n})(Function.prototype, 'toString', function toString() {\\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\\n});\\n\\n\\n/***/ }),\\n/* 13 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = function (it) {\\n if (typeof it != 'function') {\\n throw TypeError(String(it) + ' is not a function');\\n } return it;\\n};\\n\\n\\n/***/ }),\\n/* 14 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = false;\\n\\n\\n/***/ }),\\n/* 15 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = {};\\n\\n\\n/***/ }),\\n/* 16 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = function (bitmap, value) {\\n return {\\n enumerable: !(bitmap & 1),\\n configurable: !(bitmap & 2),\\n writable: !(bitmap & 4),\\n value: value\\n };\\n};\\n\\n\\n/***/ }),\\n/* 17 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n// toObject with fallback for non-array-like ES3 strings\\nvar IndexedObject = __webpack_require__(63);\\nvar requireObjectCoercible = __webpack_require__(23);\\n\\nmodule.exports = function (it) {\\n return IndexedObject(requireObjectCoercible(it));\\n};\\n\\n\\n/***/ }),\\n/* 18 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar NATIVE_WEAK_MAP = __webpack_require__(64);\\nvar global = __webpack_require__(0);\\nvar isObject = __webpack_require__(7);\\nvar createNonEnumerableProperty = __webpack_require__(6);\\nvar objectHas = __webpack_require__(2);\\nvar shared = __webpack_require__(27);\\nvar sharedKey = __webpack_require__(28);\\nvar hiddenKeys = __webpack_require__(29);\\n\\nvar WeakMap = global.WeakMap;\\nvar set, get, has;\\n\\nvar enforce = function (it) {\\n return has(it) ? get(it) : set(it, {});\\n};\\n\\nvar getterFor = function (TYPE) {\\n return function (it) {\\n var state;\\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\\n } return state;\\n };\\n};\\n\\nif (NATIVE_WEAK_MAP) {\\n var store = shared.state || (shared.state = new WeakMap());\\n var wmget = store.get;\\n var wmhas = store.has;\\n var wmset = store.set;\\n set = function (it, metadata) {\\n metadata.facade = it;\\n wmset.call(store, it, metadata);\\n return metadata;\\n };\\n get = function (it) {\\n return wmget.call(store, it) || {};\\n };\\n has = function (it) {\\n return wmhas.call(store, it);\\n };\\n} else {\\n var STATE = sharedKey('state');\\n hiddenKeys[STATE] = true;\\n set = function (it, metadata) {\\n metadata.facade = it;\\n createNonEnumerableProperty(it, STATE, metadata);\\n return metadata;\\n };\\n get = function (it) {\\n return objectHas(it, STATE) ? it[STATE] : {};\\n };\\n has = function (it) {\\n return objectHas(it, STATE);\\n };\\n}\\n\\nmodule.exports = {\\n set: set,\\n get: get,\\n has: has,\\n enforce: enforce,\\n getterFor: getterFor\\n};\\n\\n\\n/***/ }),\\n/* 19 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar anObject = __webpack_require__(3);\\nvar isArrayIteratorMethod = __webpack_require__(76);\\nvar toLength = __webpack_require__(44);\\nvar bind = __webpack_require__(49);\\nvar getIteratorMethod = __webpack_require__(78);\\nvar iteratorClose = __webpack_require__(79);\\n\\nvar Result = function (stopped, result) {\\n this.stopped = stopped;\\n this.result = result;\\n};\\n\\nmodule.exports = function (iterable, unboundFunction, options) {\\n var that = options && options.that;\\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\\n var INTERRUPTED = !!(options && options.INTERRUPTED);\\n var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED);\\n var iterator, iterFn, index, length, result, next, step;\\n\\n var stop = function (condition) {\\n if (iterator) iteratorClose(iterator);\\n return new Result(true, condition);\\n };\\n\\n var callFn = function (value) {\\n if (AS_ENTRIES) {\\n anObject(value);\\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\\n } return INTERRUPTED ? fn(value, stop) : fn(value);\\n };\\n\\n if (IS_ITERATOR) {\\n iterator = iterable;\\n } else {\\n iterFn = getIteratorMethod(iterable);\\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\\n // optimisation for array iterators\\n if (isArrayIteratorMethod(iterFn)) {\\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\\n result = callFn(iterable[index]);\\n if (result && result instanceof Result) return result;\\n } return new Result(false);\\n }\\n iterator = iterFn.call(iterable);\\n }\\n\\n next = iterator.next;\\n while (!(step = next.call(iterator)).done) {\\n try {\\n result = callFn(step.value);\\n } catch (error) {\\n iteratorClose(iterator);\\n throw error;\\n }\\n if (typeof result == 'object' && result && result instanceof Result) return result;\\n } return new Result(false);\\n};\\n\\n\\n/***/ }),\\n/* 20 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nvar aFunction = __webpack_require__(13);\\n\\nvar PromiseCapability = function (C) {\\n var resolve, reject;\\n this.promise = new C(function ($$resolve, $$reject) {\\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\\n resolve = $$resolve;\\n reject = $$reject;\\n });\\n this.resolve = aFunction(resolve);\\n this.reject = aFunction(reject);\\n};\\n\\n// 25.4.1.5 NewPromiseCapability(C)\\nmodule.exports.f = function (C) {\\n return new PromiseCapability(C);\\n};\\n\\n\\n/***/ }),\\n/* 21 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar DESCRIPTORS = __webpack_require__(10);\\nvar propertyIsEnumerableModule = __webpack_require__(62);\\nvar createPropertyDescriptor = __webpack_require__(16);\\nvar toIndexedObject = __webpack_require__(17);\\nvar toPrimitive = __webpack_require__(38);\\nvar has = __webpack_require__(2);\\nvar IE8_DOM_DEFINE = __webpack_require__(39);\\n\\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\\n\\n// `Object.getOwnPropertyDescriptor` method\\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\\n O = toIndexedObject(O);\\n P = toPrimitive(P, true);\\n if (IE8_DOM_DEFINE) try {\\n return nativeGetOwnPropertyDescriptor(O, P);\\n } catch (error) { /* empty */ }\\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\\n};\\n\\n\\n/***/ }),\\n/* 22 */\\n/***/ (function(module, exports) {\\n\\nvar toString = {}.toString;\\n\\nmodule.exports = function (it) {\\n return toString.call(it).slice(8, -1);\\n};\\n\\n\\n/***/ }),\\n/* 23 */\\n/***/ (function(module, exports) {\\n\\n// `RequireObjectCoercible` abstract operation\\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\\nmodule.exports = function (it) {\\n if (it == undefined) throw TypeError(\\\"Can't call method on \\\" + it);\\n return it;\\n};\\n\\n\\n/***/ }),\\n/* 24 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar global = __webpack_require__(0);\\nvar isObject = __webpack_require__(7);\\n\\nvar document = global.document;\\n// typeof document.createElement is 'object' in old IE\\nvar EXISTS = isObject(document) && isObject(document.createElement);\\n\\nmodule.exports = function (it) {\\n return EXISTS ? document.createElement(it) : {};\\n};\\n\\n\\n/***/ }),\\n/* 25 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar global = __webpack_require__(0);\\nvar createNonEnumerableProperty = __webpack_require__(6);\\n\\nmodule.exports = function (key, value) {\\n try {\\n createNonEnumerableProperty(global, key, value);\\n } catch (error) {\\n global[key] = value;\\n } return value;\\n};\\n\\n\\n/***/ }),\\n/* 26 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar store = __webpack_require__(27);\\n\\nvar functionToString = Function.toString;\\n\\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\\nif (typeof store.inspectSource != 'function') {\\n store.inspectSource = function (it) {\\n return functionToString.call(it);\\n };\\n}\\n\\nmodule.exports = store.inspectSource;\\n\\n\\n/***/ }),\\n/* 27 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar global = __webpack_require__(0);\\nvar setGlobal = __webpack_require__(25);\\n\\nvar SHARED = '__core-js_shared__';\\nvar store = global[SHARED] || setGlobal(SHARED, {});\\n\\nmodule.exports = store;\\n\\n\\n/***/ }),\\n/* 28 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar shared = __webpack_require__(40);\\nvar uid = __webpack_require__(41);\\n\\nvar keys = shared('keys');\\n\\nmodule.exports = function (key) {\\n return keys[key] || (keys[key] = uid(key));\\n};\\n\\n\\n/***/ }),\\n/* 29 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = {};\\n\\n\\n/***/ }),\\n/* 30 */\\n/***/ (function(module, exports) {\\n\\nvar ceil = Math.ceil;\\nvar floor = Math.floor;\\n\\n// `ToInteger` abstract operation\\n// https://tc39.github.io/ecma262/#sec-tointeger\\nmodule.exports = function (argument) {\\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\\n};\\n\\n\\n/***/ }),\\n/* 31 */\\n/***/ (function(module, exports) {\\n\\n// IE8- don't enum bug keys\\nmodule.exports = [\\n 'constructor',\\n 'hasOwnProperty',\\n 'isPrototypeOf',\\n 'propertyIsEnumerable',\\n 'toLocaleString',\\n 'toString',\\n 'valueOf'\\n];\\n\\n\\n/***/ }),\\n/* 32 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar has = __webpack_require__(2);\\nvar toObject = __webpack_require__(71);\\nvar sharedKey = __webpack_require__(28);\\nvar CORRECT_PROTOTYPE_GETTER = __webpack_require__(72);\\n\\nvar IE_PROTO = sharedKey('IE_PROTO');\\nvar ObjectPrototype = Object.prototype;\\n\\n// `Object.getPrototypeOf` method\\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\\n O = toObject(O);\\n if (has(O, IE_PROTO)) return O[IE_PROTO];\\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\\n return O.constructor.prototype;\\n } return O instanceof Object ? ObjectPrototype : null;\\n};\\n\\n\\n/***/ }),\\n/* 33 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar anObject = __webpack_require__(3);\\nvar defineProperties = __webpack_require__(74);\\nvar enumBugKeys = __webpack_require__(31);\\nvar hiddenKeys = __webpack_require__(29);\\nvar html = __webpack_require__(47);\\nvar documentCreateElement = __webpack_require__(24);\\nvar sharedKey = __webpack_require__(28);\\n\\nvar GT = '>';\\nvar LT = '<';\\nvar PROTOTYPE = 'prototype';\\nvar SCRIPT = 'script';\\nvar IE_PROTO = sharedKey('IE_PROTO');\\n\\nvar EmptyConstructor = function () { /* empty */ };\\n\\nvar scriptTag = function (content) {\\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\\n};\\n\\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\\n activeXDocument.write(scriptTag(''));\\n activeXDocument.close();\\n var temp = activeXDocument.parentWindow.Object;\\n activeXDocument = null; // avoid memory leak\\n return temp;\\n};\\n\\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\\nvar NullProtoObjectViaIFrame = function () {\\n // Thrash, waste and sodomy: IE GC bug\\n var iframe = documentCreateElement('iframe');\\n var JS = 'java' + SCRIPT + ':';\\n var iframeDocument;\\n iframe.style.display = 'none';\\n html.appendChild(iframe);\\n // https://github.com/zloirock/core-js/issues/475\\n iframe.src = String(JS);\\n iframeDocument = iframe.contentWindow.document;\\n iframeDocument.open();\\n iframeDocument.write(scriptTag('document.F=Object'));\\n iframeDocument.close();\\n return iframeDocument.F;\\n};\\n\\n// Check for document.domain and active x support\\n// No need to use active x approach when document.domain is not set\\n// see https://github.com/es-shims/es5-shim/issues/150\\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\\n// avoid IE GC bug\\nvar activeXDocument;\\nvar NullProtoObject = function () {\\n try {\\n /* global ActiveXObject */\\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\\n } catch (error) { /* ignore */ }\\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\\n var length = enumBugKeys.length;\\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\\n return NullProtoObject();\\n};\\n\\nhiddenKeys[IE_PROTO] = true;\\n\\n// `Object.create` method\\n// https://tc39.github.io/ecma262/#sec-object.create\\nmodule.exports = Object.create || function create(O, Properties) {\\n var result;\\n if (O !== null) {\\n EmptyConstructor[PROTOTYPE] = anObject(O);\\n result = new EmptyConstructor();\\n EmptyConstructor[PROTOTYPE] = null;\\n // add \\\"__proto__\\\" for Object.getPrototypeOf polyfill\\n result[IE_PROTO] = O;\\n } else result = NullProtoObject();\\n return Properties === undefined ? result : defineProperties(result, Properties);\\n};\\n\\n\\n/***/ }),\\n/* 34 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar wellKnownSymbol = __webpack_require__(1);\\n\\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\\nvar test = {};\\n\\ntest[TO_STRING_TAG] = 'z';\\n\\nmodule.exports = String(test) === '[object z]';\\n\\n\\n/***/ }),\\n/* 35 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar defineProperty = __webpack_require__(11).f;\\nvar has = __webpack_require__(2);\\nvar wellKnownSymbol = __webpack_require__(1);\\n\\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\\n\\nmodule.exports = function (it, TAG, STATIC) {\\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\\n }\\n};\\n\\n\\n/***/ }),\\n/* 36 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar classof = __webpack_require__(22);\\nvar global = __webpack_require__(0);\\n\\nmodule.exports = classof(global.process) == 'process';\\n\\n\\n/***/ }),\\n/* 37 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = function (exec) {\\n try {\\n return { error: false, value: exec() };\\n } catch (error) {\\n return { error: true, value: error };\\n }\\n};\\n\\n\\n/***/ }),\\n/* 38 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar isObject = __webpack_require__(7);\\n\\n// `ToPrimitive` abstract operation\\n// https://tc39.github.io/ecma262/#sec-toprimitive\\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\\n// and the second argument - flag - preferred type is a string\\nmodule.exports = function (input, PREFERRED_STRING) {\\n if (!isObject(input)) return input;\\n var fn, val;\\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\\n throw TypeError(\\\"Can't convert object to primitive value\\\");\\n};\\n\\n\\n/***/ }),\\n/* 39 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar DESCRIPTORS = __webpack_require__(10);\\nvar fails = __webpack_require__(5);\\nvar createElement = __webpack_require__(24);\\n\\n// Thank's IE8 for his funny defineProperty\\nmodule.exports = !DESCRIPTORS && !fails(function () {\\n return Object.defineProperty(createElement('div'), 'a', {\\n get: function () { return 7; }\\n }).a != 7;\\n});\\n\\n\\n/***/ }),\\n/* 40 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar IS_PURE = __webpack_require__(14);\\nvar store = __webpack_require__(27);\\n\\n(module.exports = function (key, value) {\\n return store[key] || (store[key] = value !== undefined ? value : {});\\n})('versions', []).push({\\n version: '3.8.1',\\n mode: IS_PURE ? 'pure' : 'global',\\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\\n});\\n\\n\\n/***/ }),\\n/* 41 */\\n/***/ (function(module, exports) {\\n\\nvar id = 0;\\nvar postfix = Math.random();\\n\\nmodule.exports = function (key) {\\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\\n};\\n\\n\\n/***/ }),\\n/* 42 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar global = __webpack_require__(0);\\n\\nmodule.exports = global;\\n\\n\\n/***/ }),\\n/* 43 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar has = __webpack_require__(2);\\nvar toIndexedObject = __webpack_require__(17);\\nvar indexOf = __webpack_require__(68).indexOf;\\nvar hiddenKeys = __webpack_require__(29);\\n\\nmodule.exports = function (object, names) {\\n var O = toIndexedObject(object);\\n var i = 0;\\n var result = [];\\n var key;\\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\\n // Don't enum bug & hidden keys\\n while (names.length > i) if (has(O, key = names[i++])) {\\n ~indexOf(result, key) || result.push(key);\\n }\\n return result;\\n};\\n\\n\\n/***/ }),\\n/* 44 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar toInteger = __webpack_require__(30);\\n\\nvar min = Math.min;\\n\\n// `ToLength` abstract operation\\n// https://tc39.github.io/ecma262/#sec-tolength\\nmodule.exports = function (argument) {\\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\\n};\\n\\n\\n/***/ }),\\n/* 45 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar fails = __webpack_require__(5);\\n\\nvar replacement = /#|\\\\.prototype\\\\./;\\n\\nvar isForced = function (feature, detection) {\\n var value = data[normalize(feature)];\\n return value == POLYFILL ? true\\n : value == NATIVE ? false\\n : typeof detection == 'function' ? fails(detection)\\n : !!detection;\\n};\\n\\nvar normalize = isForced.normalize = function (string) {\\n return String(string).replace(replacement, '.').toLowerCase();\\n};\\n\\nvar data = isForced.data = {};\\nvar NATIVE = isForced.NATIVE = 'N';\\nvar POLYFILL = isForced.POLYFILL = 'P';\\n\\nmodule.exports = isForced;\\n\\n\\n/***/ }),\\n/* 46 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar anObject = __webpack_require__(3);\\nvar aPossiblePrototype = __webpack_require__(73);\\n\\n// `Object.setPrototypeOf` method\\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\\n// Works with __proto__ only. Old v8 can't work with null proto objects.\\n/* eslint-disable no-proto */\\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\\n var CORRECT_SETTER = false;\\n var test = {};\\n var setter;\\n try {\\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\\n setter.call(test, []);\\n CORRECT_SETTER = test instanceof Array;\\n } catch (error) { /* empty */ }\\n return function setPrototypeOf(O, proto) {\\n anObject(O);\\n aPossiblePrototype(proto);\\n if (CORRECT_SETTER) setter.call(O, proto);\\n else O.__proto__ = proto;\\n return O;\\n };\\n}() : undefined);\\n\\n\\n/***/ }),\\n/* 47 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar getBuiltIn = __webpack_require__(8);\\n\\nmodule.exports = getBuiltIn('document', 'documentElement');\\n\\n\\n/***/ }),\\n/* 48 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar fails = __webpack_require__(5);\\n\\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\\n // Chrome 38 Symbol has incorrect toString conversion\\n // eslint-disable-next-line no-undef\\n return !String(Symbol());\\n});\\n\\n\\n/***/ }),\\n/* 49 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar aFunction = __webpack_require__(13);\\n\\n// optional / simple context binding\\nmodule.exports = function (fn, that, length) {\\n aFunction(fn);\\n if (that === undefined) return fn;\\n switch (length) {\\n case 0: return function () {\\n return fn.call(that);\\n };\\n case 1: return function (a) {\\n return fn.call(that, a);\\n };\\n case 2: return function (a, b) {\\n return fn.call(that, a, b);\\n };\\n case 3: return function (a, b, c) {\\n return fn.call(that, a, b, c);\\n };\\n }\\n return function (/* ...args */) {\\n return fn.apply(that, arguments);\\n };\\n};\\n\\n\\n/***/ }),\\n/* 50 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar TO_STRING_TAG_SUPPORT = __webpack_require__(34);\\nvar classofRaw = __webpack_require__(22);\\nvar wellKnownSymbol = __webpack_require__(1);\\n\\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\\n// ES3 wrong here\\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\\n\\n// fallback for IE11 Script Access Denied error\\nvar tryGet = function (it, key) {\\n try {\\n return it[key];\\n } catch (error) { /* empty */ }\\n};\\n\\n// getting tag from ES6+ `Object.prototype.toString`\\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\\n var O, tag, result;\\n return it === undefined ? 'Undefined' : it === null ? 'Null'\\n // @@toStringTag case\\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\\n // builtinTag case\\n : CORRECT_ARGUMENTS ? classofRaw(O)\\n // ES3 arguments fallback\\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\\n};\\n\\n\\n/***/ }),\\n/* 51 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar global = __webpack_require__(0);\\n\\nmodule.exports = global.Promise;\\n\\n\\n/***/ }),\\n/* 52 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar anObject = __webpack_require__(3);\\nvar aFunction = __webpack_require__(13);\\nvar wellKnownSymbol = __webpack_require__(1);\\n\\nvar SPECIES = wellKnownSymbol('species');\\n\\n// `SpeciesConstructor` abstract operation\\n// https://tc39.github.io/ecma262/#sec-speciesconstructor\\nmodule.exports = function (O, defaultConstructor) {\\n var C = anObject(O).constructor;\\n var S;\\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\\n};\\n\\n\\n/***/ }),\\n/* 53 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar global = __webpack_require__(0);\\nvar fails = __webpack_require__(5);\\nvar bind = __webpack_require__(49);\\nvar html = __webpack_require__(47);\\nvar createElement = __webpack_require__(24);\\nvar IS_IOS = __webpack_require__(54);\\nvar IS_NODE = __webpack_require__(36);\\n\\nvar location = global.location;\\nvar set = global.setImmediate;\\nvar clear = global.clearImmediate;\\nvar process = global.process;\\nvar MessageChannel = global.MessageChannel;\\nvar Dispatch = global.Dispatch;\\nvar counter = 0;\\nvar queue = {};\\nvar ONREADYSTATECHANGE = 'onreadystatechange';\\nvar defer, channel, port;\\n\\nvar run = function (id) {\\n // eslint-disable-next-line no-prototype-builtins\\n if (queue.hasOwnProperty(id)) {\\n var fn = queue[id];\\n delete queue[id];\\n fn();\\n }\\n};\\n\\nvar runner = function (id) {\\n return function () {\\n run(id);\\n };\\n};\\n\\nvar listener = function (event) {\\n run(event.data);\\n};\\n\\nvar post = function (id) {\\n // old engines have not location.origin\\n global.postMessage(id + '', location.protocol + '//' + location.host);\\n};\\n\\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\\nif (!set || !clear) {\\n set = function setImmediate(fn) {\\n var args = [];\\n var i = 1;\\n while (arguments.length > i) args.push(arguments[i++]);\\n queue[++counter] = function () {\\n // eslint-disable-next-line no-new-func\\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\\n };\\n defer(counter);\\n return counter;\\n };\\n clear = function clearImmediate(id) {\\n delete queue[id];\\n };\\n // Node.js 0.8-\\n if (IS_NODE) {\\n defer = function (id) {\\n process.nextTick(runner(id));\\n };\\n // Sphere (JS game engine) Dispatch API\\n } else if (Dispatch && Dispatch.now) {\\n defer = function (id) {\\n Dispatch.now(runner(id));\\n };\\n // Browsers with MessageChannel, includes WebWorkers\\n // except iOS - https://github.com/zloirock/core-js/issues/624\\n } else if (MessageChannel && !IS_IOS) {\\n channel = new MessageChannel();\\n port = channel.port2;\\n channel.port1.onmessage = listener;\\n defer = bind(port.postMessage, port, 1);\\n // Browsers with postMessage, skip WebWorkers\\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\\n } else if (\\n global.addEventListener &&\\n typeof postMessage == 'function' &&\\n !global.importScripts &&\\n location && location.protocol !== 'file:' &&\\n !fails(post)\\n ) {\\n defer = post;\\n global.addEventListener('message', listener, false);\\n // IE8-\\n } else if (ONREADYSTATECHANGE in createElement('script')) {\\n defer = function (id) {\\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\\n html.removeChild(this);\\n run(id);\\n };\\n };\\n // Rest old browsers\\n } else {\\n defer = function (id) {\\n setTimeout(runner(id), 0);\\n };\\n }\\n}\\n\\nmodule.exports = {\\n set: set,\\n clear: clear\\n};\\n\\n\\n/***/ }),\\n/* 54 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar userAgent = __webpack_require__(55);\\n\\nmodule.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);\\n\\n\\n/***/ }),\\n/* 55 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar getBuiltIn = __webpack_require__(8);\\n\\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\\n\\n\\n/***/ }),\\n/* 56 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar anObject = __webpack_require__(3);\\nvar isObject = __webpack_require__(7);\\nvar newPromiseCapability = __webpack_require__(20);\\n\\nmodule.exports = function (C, x) {\\n anObject(C);\\n if (isObject(x) && x.constructor === C) return x;\\n var promiseCapability = newPromiseCapability.f(C);\\n var resolve = promiseCapability.resolve;\\n resolve(x);\\n return promiseCapability.promise;\\n};\\n\\n\\n/***/ }),\\n/* 57 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nvar $ = __webpack_require__(9);\\nvar createIteratorConstructor = __webpack_require__(95);\\nvar getPrototypeOf = __webpack_require__(32);\\nvar setPrototypeOf = __webpack_require__(46);\\nvar setToStringTag = __webpack_require__(35);\\nvar createNonEnumerableProperty = __webpack_require__(6);\\nvar redefine = __webpack_require__(12);\\nvar wellKnownSymbol = __webpack_require__(1);\\nvar IS_PURE = __webpack_require__(14);\\nvar Iterators = __webpack_require__(15);\\nvar IteratorsCore = __webpack_require__(58);\\n\\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\\nvar ITERATOR = wellKnownSymbol('iterator');\\nvar KEYS = 'keys';\\nvar VALUES = 'values';\\nvar ENTRIES = 'entries';\\n\\nvar returnThis = function () { return this; };\\n\\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\\n createIteratorConstructor(IteratorConstructor, NAME, next);\\n\\n var getIterationMethod = function (KIND) {\\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\\n switch (KIND) {\\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\\n } return function () { return new IteratorConstructor(this); };\\n };\\n\\n var TO_STRING_TAG = NAME + ' Iterator';\\n var INCORRECT_VALUES_NAME = false;\\n var IterablePrototype = Iterable.prototype;\\n var nativeIterator = IterablePrototype[ITERATOR]\\n || IterablePrototype['@@iterator']\\n || DEFAULT && IterablePrototype[DEFAULT];\\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\\n var CurrentIteratorPrototype, methods, KEY;\\n\\n // fix native\\n if (anyNativeIterator) {\\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\\n if (setPrototypeOf) {\\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\\n }\\n }\\n // Set @@toStringTag to native iterators\\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\\n }\\n }\\n\\n // fix Array#{values, @@iterator}.name in V8 / FF\\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\\n INCORRECT_VALUES_NAME = true;\\n defaultIterator = function values() { return nativeIterator.call(this); };\\n }\\n\\n // define iterator\\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\\n }\\n Iterators[NAME] = defaultIterator;\\n\\n // export additional methods\\n if (DEFAULT) {\\n methods = {\\n values: getIterationMethod(VALUES),\\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\\n entries: getIterationMethod(ENTRIES)\\n };\\n if (FORCED) for (KEY in methods) {\\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\\n redefine(IterablePrototype, KEY, methods[KEY]);\\n }\\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\\n }\\n\\n return methods;\\n};\\n\\n\\n/***/ }),\\n/* 58 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nvar getPrototypeOf = __webpack_require__(32);\\nvar createNonEnumerableProperty = __webpack_require__(6);\\nvar has = __webpack_require__(2);\\nvar wellKnownSymbol = __webpack_require__(1);\\nvar IS_PURE = __webpack_require__(14);\\n\\nvar ITERATOR = wellKnownSymbol('iterator');\\nvar BUGGY_SAFARI_ITERATORS = false;\\n\\nvar returnThis = function () { return this; };\\n\\n// `%IteratorPrototype%` object\\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\\n\\nif ([].keys) {\\n arrayIterator = [].keys();\\n // Safari 8 has buggy iterators w/o `next`\\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\\n else {\\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\\n }\\n}\\n\\nif (IteratorPrototype == undefined) IteratorPrototype = {};\\n\\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\\n}\\n\\nmodule.exports = {\\n IteratorPrototype: IteratorPrototype,\\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\\n};\\n\\n\\n/***/ }),\\n/* 59 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n__webpack_require__(60);\\n__webpack_require__(80);\\n__webpack_require__(82);\\n__webpack_require__(90);\\n__webpack_require__(91);\\n__webpack_require__(92);\\n__webpack_require__(93);\\n__webpack_require__(96);\\nvar path = __webpack_require__(42);\\n\\nmodule.exports = path.Promise;\\n\\n\\n/***/ }),\\n/* 60 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nvar $ = __webpack_require__(9);\\nvar getPrototypeOf = __webpack_require__(32);\\nvar setPrototypeOf = __webpack_require__(46);\\nvar create = __webpack_require__(33);\\nvar createNonEnumerableProperty = __webpack_require__(6);\\nvar createPropertyDescriptor = __webpack_require__(16);\\nvar iterate = __webpack_require__(19);\\n\\nvar $AggregateError = function AggregateError(errors, message) {\\n var that = this;\\n if (!(that instanceof $AggregateError)) return new $AggregateError(errors, message);\\n if (setPrototypeOf) {\\n that = setPrototypeOf(new Error(undefined), getPrototypeOf(that));\\n }\\n if (message !== undefined) createNonEnumerableProperty(that, 'message', String(message));\\n var errorsArray = [];\\n iterate(errors, errorsArray.push, { that: errorsArray });\\n createNonEnumerableProperty(that, 'errors', errorsArray);\\n return that;\\n};\\n\\n$AggregateError.prototype = create(Error.prototype, {\\n constructor: createPropertyDescriptor(5, $AggregateError),\\n message: createPropertyDescriptor(5, ''),\\n name: createPropertyDescriptor(5, 'AggregateError')\\n});\\n\\n$({ global: true }, {\\n AggregateError: $AggregateError\\n});\\n\\n\\n/***/ }),\\n/* 61 */\\n/***/ (function(module, exports) {\\n\\nvar g;\\n\\n// This works in non-strict mode\\ng = (function() {\\n\\treturn this;\\n})();\\n\\ntry {\\n\\t// This works if eval is allowed (see CSP)\\n\\tg = g || new Function(\\\"return this\\\")();\\n} catch (e) {\\n\\t// This works if the window reference is available\\n\\tif (typeof window === \\\"object\\\") g = window;\\n}\\n\\n// g can still be undefined, but nothing to do about it...\\n// We return undefined, instead of nothing here, so it's\\n// easier to handle this case. if(!global) { ...}\\n\\nmodule.exports = g;\\n\\n\\n/***/ }),\\n/* 62 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\\n\\n// Nashorn ~ JDK8 bug\\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\\n\\n// `Object.prototype.propertyIsEnumerable` method implementation\\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\\n var descriptor = getOwnPropertyDescriptor(this, V);\\n return !!descriptor && descriptor.enumerable;\\n} : nativePropertyIsEnumerable;\\n\\n\\n/***/ }),\\n/* 63 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar fails = __webpack_require__(5);\\nvar classof = __webpack_require__(22);\\n\\nvar split = ''.split;\\n\\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\\nmodule.exports = fails(function () {\\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\\n // eslint-disable-next-line no-prototype-builtins\\n return !Object('z').propertyIsEnumerable(0);\\n}) ? function (it) {\\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\\n} : Object;\\n\\n\\n/***/ }),\\n/* 64 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar global = __webpack_require__(0);\\nvar inspectSource = __webpack_require__(26);\\n\\nvar WeakMap = global.WeakMap;\\n\\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\\n\\n\\n/***/ }),\\n/* 65 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar has = __webpack_require__(2);\\nvar ownKeys = __webpack_require__(66);\\nvar getOwnPropertyDescriptorModule = __webpack_require__(21);\\nvar definePropertyModule = __webpack_require__(11);\\n\\nmodule.exports = function (target, source) {\\n var keys = ownKeys(source);\\n var defineProperty = definePropertyModule.f;\\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\\n for (var i = 0; i < keys.length; i++) {\\n var key = keys[i];\\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\\n }\\n};\\n\\n\\n/***/ }),\\n/* 66 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar getBuiltIn = __webpack_require__(8);\\nvar getOwnPropertyNamesModule = __webpack_require__(67);\\nvar getOwnPropertySymbolsModule = __webpack_require__(70);\\nvar anObject = __webpack_require__(3);\\n\\n// all object keys, includes non-enumerable and symbols\\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\\n var keys = getOwnPropertyNamesModule.f(anObject(it));\\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\\n};\\n\\n\\n/***/ }),\\n/* 67 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar internalObjectKeys = __webpack_require__(43);\\nvar enumBugKeys = __webpack_require__(31);\\n\\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\\n\\n// `Object.getOwnPropertyNames` method\\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\\n return internalObjectKeys(O, hiddenKeys);\\n};\\n\\n\\n/***/ }),\\n/* 68 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar toIndexedObject = __webpack_require__(17);\\nvar toLength = __webpack_require__(44);\\nvar toAbsoluteIndex = __webpack_require__(69);\\n\\n// `Array.prototype.{ indexOf, includes }` methods implementation\\nvar createMethod = function (IS_INCLUDES) {\\n return function ($this, el, fromIndex) {\\n var O = toIndexedObject($this);\\n var length = toLength(O.length);\\n var index = toAbsoluteIndex(fromIndex, length);\\n var value;\\n // Array#includes uses SameValueZero equality algorithm\\n // eslint-disable-next-line no-self-compare\\n if (IS_INCLUDES && el != el) while (length > index) {\\n value = O[index++];\\n // eslint-disable-next-line no-self-compare\\n if (value != value) return true;\\n // Array#indexOf ignores holes, Array#includes - not\\n } else for (;length > index; index++) {\\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\\n } return !IS_INCLUDES && -1;\\n };\\n};\\n\\nmodule.exports = {\\n // `Array.prototype.includes` method\\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\\n includes: createMethod(true),\\n // `Array.prototype.indexOf` method\\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\\n indexOf: createMethod(false)\\n};\\n\\n\\n/***/ }),\\n/* 69 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar toInteger = __webpack_require__(30);\\n\\nvar max = Math.max;\\nvar min = Math.min;\\n\\n// Helper for a popular repeating case of the spec:\\n// Let integer be ? ToInteger(index).\\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\\nmodule.exports = function (index, length) {\\n var integer = toInteger(index);\\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\\n};\\n\\n\\n/***/ }),\\n/* 70 */\\n/***/ (function(module, exports) {\\n\\nexports.f = Object.getOwnPropertySymbols;\\n\\n\\n/***/ }),\\n/* 71 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar requireObjectCoercible = __webpack_require__(23);\\n\\n// `ToObject` abstract operation\\n// https://tc39.github.io/ecma262/#sec-toobject\\nmodule.exports = function (argument) {\\n return Object(requireObjectCoercible(argument));\\n};\\n\\n\\n/***/ }),\\n/* 72 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar fails = __webpack_require__(5);\\n\\nmodule.exports = !fails(function () {\\n function F() { /* empty */ }\\n F.prototype.constructor = null;\\n return Object.getPrototypeOf(new F()) !== F.prototype;\\n});\\n\\n\\n/***/ }),\\n/* 73 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar isObject = __webpack_require__(7);\\n\\nmodule.exports = function (it) {\\n if (!isObject(it) && it !== null) {\\n throw TypeError(\\\"Can't set \\\" + String(it) + ' as a prototype');\\n } return it;\\n};\\n\\n\\n/***/ }),\\n/* 74 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar DESCRIPTORS = __webpack_require__(10);\\nvar definePropertyModule = __webpack_require__(11);\\nvar anObject = __webpack_require__(3);\\nvar objectKeys = __webpack_require__(75);\\n\\n// `Object.defineProperties` method\\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\\n anObject(O);\\n var keys = objectKeys(Properties);\\n var length = keys.length;\\n var index = 0;\\n var key;\\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\\n return O;\\n};\\n\\n\\n/***/ }),\\n/* 75 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar internalObjectKeys = __webpack_require__(43);\\nvar enumBugKeys = __webpack_require__(31);\\n\\n// `Object.keys` method\\n// https://tc39.github.io/ecma262/#sec-object.keys\\nmodule.exports = Object.keys || function keys(O) {\\n return internalObjectKeys(O, enumBugKeys);\\n};\\n\\n\\n/***/ }),\\n/* 76 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar wellKnownSymbol = __webpack_require__(1);\\nvar Iterators = __webpack_require__(15);\\n\\nvar ITERATOR = wellKnownSymbol('iterator');\\nvar ArrayPrototype = Array.prototype;\\n\\n// check on default Array iterator\\nmodule.exports = function (it) {\\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\\n};\\n\\n\\n/***/ }),\\n/* 77 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar NATIVE_SYMBOL = __webpack_require__(48);\\n\\nmodule.exports = NATIVE_SYMBOL\\n // eslint-disable-next-line no-undef\\n && !Symbol.sham\\n // eslint-disable-next-line no-undef\\n && typeof Symbol.iterator == 'symbol';\\n\\n\\n/***/ }),\\n/* 78 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar classof = __webpack_require__(50);\\nvar Iterators = __webpack_require__(15);\\nvar wellKnownSymbol = __webpack_require__(1);\\n\\nvar ITERATOR = wellKnownSymbol('iterator');\\n\\nmodule.exports = function (it) {\\n if (it != undefined) return it[ITERATOR]\\n || it['@@iterator']\\n || Iterators[classof(it)];\\n};\\n\\n\\n/***/ }),\\n/* 79 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar anObject = __webpack_require__(3);\\n\\nmodule.exports = function (iterator) {\\n var returnMethod = iterator['return'];\\n if (returnMethod !== undefined) {\\n return anObject(returnMethod.call(iterator)).value;\\n }\\n};\\n\\n\\n/***/ }),\\n/* 80 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar TO_STRING_TAG_SUPPORT = __webpack_require__(34);\\nvar redefine = __webpack_require__(12);\\nvar toString = __webpack_require__(81);\\n\\n// `Object.prototype.toString` method\\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\\nif (!TO_STRING_TAG_SUPPORT) {\\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\\n}\\n\\n\\n/***/ }),\\n/* 81 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nvar TO_STRING_TAG_SUPPORT = __webpack_require__(34);\\nvar classof = __webpack_require__(50);\\n\\n// `Object.prototype.toString` method implementation\\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\\n return '[object ' + classof(this) + ']';\\n};\\n\\n\\n/***/ }),\\n/* 82 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nvar $ = __webpack_require__(9);\\nvar IS_PURE = __webpack_require__(14);\\nvar global = __webpack_require__(0);\\nvar getBuiltIn = __webpack_require__(8);\\nvar NativePromise = __webpack_require__(51);\\nvar redefine = __webpack_require__(12);\\nvar redefineAll = __webpack_require__(83);\\nvar setToStringTag = __webpack_require__(35);\\nvar setSpecies = __webpack_require__(84);\\nvar isObject = __webpack_require__(7);\\nvar aFunction = __webpack_require__(13);\\nvar anInstance = __webpack_require__(85);\\nvar inspectSource = __webpack_require__(26);\\nvar iterate = __webpack_require__(19);\\nvar checkCorrectnessOfIteration = __webpack_require__(86);\\nvar speciesConstructor = __webpack_require__(52);\\nvar task = __webpack_require__(53).set;\\nvar microtask = __webpack_require__(87);\\nvar promiseResolve = __webpack_require__(56);\\nvar hostReportErrors = __webpack_require__(88);\\nvar newPromiseCapabilityModule = __webpack_require__(20);\\nvar perform = __webpack_require__(37);\\nvar InternalStateModule = __webpack_require__(18);\\nvar isForced = __webpack_require__(45);\\nvar wellKnownSymbol = __webpack_require__(1);\\nvar IS_NODE = __webpack_require__(36);\\nvar V8_VERSION = __webpack_require__(89);\\n\\nvar SPECIES = wellKnownSymbol('species');\\nvar PROMISE = 'Promise';\\nvar getInternalState = InternalStateModule.get;\\nvar setInternalState = InternalStateModule.set;\\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\\nvar PromiseConstructor = NativePromise;\\nvar TypeError = global.TypeError;\\nvar document = global.document;\\nvar process = global.process;\\nvar $fetch = getBuiltIn('fetch');\\nvar newPromiseCapability = newPromiseCapabilityModule.f;\\nvar newGenericPromiseCapability = newPromiseCapability;\\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\\nvar NATIVE_REJECTION_EVENT = typeof PromiseRejectionEvent == 'function';\\nvar UNHANDLED_REJECTION = 'unhandledrejection';\\nvar REJECTION_HANDLED = 'rejectionhandled';\\nvar PENDING = 0;\\nvar FULFILLED = 1;\\nvar REJECTED = 2;\\nvar HANDLED = 1;\\nvar UNHANDLED = 2;\\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\\n\\nvar FORCED = isForced(PROMISE, function () {\\n var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\\n if (!GLOBAL_CORE_JS_PROMISE) {\\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\\n // We can't detect it synchronously, so just check versions\\n if (V8_VERSION === 66) return true;\\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\\n if (!IS_NODE && !NATIVE_REJECTION_EVENT) return true;\\n }\\n // We need Promise#finally in the pure version for preventing prototype pollution\\n if (IS_PURE && !PromiseConstructor.prototype['finally']) return true;\\n // We can't use @@species feature detection in V8 since it causes\\n // deoptimization and performance degradation\\n // https://github.com/zloirock/core-js/issues/679\\n if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false;\\n // Detect correctness of subclassing with @@species support\\n var promise = PromiseConstructor.resolve(1);\\n var FakePromise = function (exec) {\\n exec(function () { /* empty */ }, function () { /* empty */ });\\n };\\n var constructor = promise.constructor = {};\\n constructor[SPECIES] = FakePromise;\\n return !(promise.then(function () { /* empty */ }) instanceof FakePromise);\\n});\\n\\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\\n PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\\n});\\n\\n// helpers\\nvar isThenable = function (it) {\\n var then;\\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\\n};\\n\\nvar notify = function (state, isReject) {\\n if (state.notified) return;\\n state.notified = true;\\n var chain = state.reactions;\\n microtask(function () {\\n var value = state.value;\\n var ok = state.state == FULFILLED;\\n var index = 0;\\n // variable length - can't use forEach\\n while (chain.length > index) {\\n var reaction = chain[index++];\\n var handler = ok ? reaction.ok : reaction.fail;\\n var resolve = reaction.resolve;\\n var reject = reaction.reject;\\n var domain = reaction.domain;\\n var result, then, exited;\\n try {\\n if (handler) {\\n if (!ok) {\\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\\n state.rejection = HANDLED;\\n }\\n if (handler === true) result = value;\\n else {\\n if (domain) domain.enter();\\n result = handler(value); // can throw\\n if (domain) {\\n domain.exit();\\n exited = true;\\n }\\n }\\n if (result === reaction.promise) {\\n reject(TypeError('Promise-chain cycle'));\\n } else if (then = isThenable(result)) {\\n then.call(result, resolve, reject);\\n } else resolve(result);\\n } else reject(value);\\n } catch (error) {\\n if (domain && !exited) domain.exit();\\n reject(error);\\n }\\n }\\n state.reactions = [];\\n state.notified = false;\\n if (isReject && !state.rejection) onUnhandled(state);\\n });\\n};\\n\\nvar dispatchEvent = function (name, promise, reason) {\\n var event, handler;\\n if (DISPATCH_EVENT) {\\n event = document.createEvent('Event');\\n event.promise = promise;\\n event.reason = reason;\\n event.initEvent(name, false, true);\\n global.dispatchEvent(event);\\n } else event = { promise: promise, reason: reason };\\n if (!NATIVE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);\\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\\n};\\n\\nvar onUnhandled = function (state) {\\n task.call(global, function () {\\n var promise = state.facade;\\n var value = state.value;\\n var IS_UNHANDLED = isUnhandled(state);\\n var result;\\n if (IS_UNHANDLED) {\\n result = perform(function () {\\n if (IS_NODE) {\\n process.emit('unhandledRejection', value, promise);\\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\\n });\\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\\n if (result.error) throw result.value;\\n }\\n });\\n};\\n\\nvar isUnhandled = function (state) {\\n return state.rejection !== HANDLED && !state.parent;\\n};\\n\\nvar onHandleUnhandled = function (state) {\\n task.call(global, function () {\\n var promise = state.facade;\\n if (IS_NODE) {\\n process.emit('rejectionHandled', promise);\\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\\n });\\n};\\n\\nvar bind = function (fn, state, unwrap) {\\n return function (value) {\\n fn(state, value, unwrap);\\n };\\n};\\n\\nvar internalReject = function (state, value, unwrap) {\\n if (state.done) return;\\n state.done = true;\\n if (unwrap) state = unwrap;\\n state.value = value;\\n state.state = REJECTED;\\n notify(state, true);\\n};\\n\\nvar internalResolve = function (state, value, unwrap) {\\n if (state.done) return;\\n state.done = true;\\n if (unwrap) state = unwrap;\\n try {\\n if (state.facade === value) throw TypeError(\\\"Promise can't be resolved itself\\\");\\n var then = isThenable(value);\\n if (then) {\\n microtask(function () {\\n var wrapper = { done: false };\\n try {\\n then.call(value,\\n bind(internalResolve, wrapper, state),\\n bind(internalReject, wrapper, state)\\n );\\n } catch (error) {\\n internalReject(wrapper, error, state);\\n }\\n });\\n } else {\\n state.value = value;\\n state.state = FULFILLED;\\n notify(state, false);\\n }\\n } catch (error) {\\n internalReject({ done: false }, error, state);\\n }\\n};\\n\\n// constructor polyfill\\nif (FORCED) {\\n // 25.4.3.1 Promise(executor)\\n PromiseConstructor = function Promise(executor) {\\n anInstance(this, PromiseConstructor, PROMISE);\\n aFunction(executor);\\n Internal.call(this);\\n var state = getInternalState(this);\\n try {\\n executor(bind(internalResolve, state), bind(internalReject, state));\\n } catch (error) {\\n internalReject(state, error);\\n }\\n };\\n // eslint-disable-next-line no-unused-vars\\n Internal = function Promise(executor) {\\n setInternalState(this, {\\n type: PROMISE,\\n done: false,\\n notified: false,\\n parent: false,\\n reactions: [],\\n rejection: false,\\n state: PENDING,\\n value: undefined\\n });\\n };\\n Internal.prototype = redefineAll(PromiseConstructor.prototype, {\\n // `Promise.prototype.then` method\\n // https://tc39.github.io/ecma262/#sec-promise.prototype.then\\n then: function then(onFulfilled, onRejected) {\\n var state = getInternalPromiseState(this);\\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\\n reaction.fail = typeof onRejected == 'function' && onRejected;\\n reaction.domain = IS_NODE ? process.domain : undefined;\\n state.parent = true;\\n state.reactions.push(reaction);\\n if (state.state != PENDING) notify(state, false);\\n return reaction.promise;\\n },\\n // `Promise.prototype.catch` method\\n // https://tc39.github.io/ecma262/#sec-promise.prototype.catch\\n 'catch': function (onRejected) {\\n return this.then(undefined, onRejected);\\n }\\n });\\n OwnPromiseCapability = function () {\\n var promise = new Internal();\\n var state = getInternalState(promise);\\n this.promise = promise;\\n this.resolve = bind(internalResolve, state);\\n this.reject = bind(internalReject, state);\\n };\\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\\n return C === PromiseConstructor || C === PromiseWrapper\\n ? new OwnPromiseCapability(C)\\n : newGenericPromiseCapability(C);\\n };\\n\\n if (!IS_PURE && typeof NativePromise == 'function') {\\n nativeThen = NativePromise.prototype.then;\\n\\n // wrap native Promise#then for native async functions\\n redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {\\n var that = this;\\n return new PromiseConstructor(function (resolve, reject) {\\n nativeThen.call(that, resolve, reject);\\n }).then(onFulfilled, onRejected);\\n // https://github.com/zloirock/core-js/issues/640\\n }, { unsafe: true });\\n\\n // wrap fetch result\\n if (typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, {\\n // eslint-disable-next-line no-unused-vars\\n fetch: function fetch(input /* , init */) {\\n return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\\n }\\n });\\n }\\n}\\n\\n$({ global: true, wrap: true, forced: FORCED }, {\\n Promise: PromiseConstructor\\n});\\n\\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\\nsetSpecies(PROMISE);\\n\\nPromiseWrapper = getBuiltIn(PROMISE);\\n\\n// statics\\n$({ target: PROMISE, stat: true, forced: FORCED }, {\\n // `Promise.reject` method\\n // https://tc39.github.io/ecma262/#sec-promise.reject\\n reject: function reject(r) {\\n var capability = newPromiseCapability(this);\\n capability.reject.call(undefined, r);\\n return capability.promise;\\n }\\n});\\n\\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\\n // `Promise.resolve` method\\n // https://tc39.github.io/ecma262/#sec-promise.resolve\\n resolve: function resolve(x) {\\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\\n }\\n});\\n\\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\\n // `Promise.all` method\\n // https://tc39.github.io/ecma262/#sec-promise.all\\n all: function all(iterable) {\\n var C = this;\\n var capability = newPromiseCapability(C);\\n var resolve = capability.resolve;\\n var reject = capability.reject;\\n var result = perform(function () {\\n var $promiseResolve = aFunction(C.resolve);\\n var values = [];\\n var counter = 0;\\n var remaining = 1;\\n iterate(iterable, function (promise) {\\n var index = counter++;\\n var alreadyCalled = false;\\n values.push(undefined);\\n remaining++;\\n $promiseResolve.call(C, promise).then(function (value) {\\n if (alreadyCalled) return;\\n alreadyCalled = true;\\n values[index] = value;\\n --remaining || resolve(values);\\n }, reject);\\n });\\n --remaining || resolve(values);\\n });\\n if (result.error) reject(result.value);\\n return capability.promise;\\n },\\n // `Promise.race` method\\n // https://tc39.github.io/ecma262/#sec-promise.race\\n race: function race(iterable) {\\n var C = this;\\n var capability = newPromiseCapability(C);\\n var reject = capability.reject;\\n var result = perform(function () {\\n var $promiseResolve = aFunction(C.resolve);\\n iterate(iterable, function (promise) {\\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\\n });\\n });\\n if (result.error) reject(result.value);\\n return capability.promise;\\n }\\n});\\n\\n\\n/***/ }),\\n/* 83 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar redefine = __webpack_require__(12);\\n\\nmodule.exports = function (target, src, options) {\\n for (var key in src) redefine(target, key, src[key], options);\\n return target;\\n};\\n\\n\\n/***/ }),\\n/* 84 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nvar getBuiltIn = __webpack_require__(8);\\nvar definePropertyModule = __webpack_require__(11);\\nvar wellKnownSymbol = __webpack_require__(1);\\nvar DESCRIPTORS = __webpack_require__(10);\\n\\nvar SPECIES = wellKnownSymbol('species');\\n\\nmodule.exports = function (CONSTRUCTOR_NAME) {\\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\\n var defineProperty = definePropertyModule.f;\\n\\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\\n defineProperty(Constructor, SPECIES, {\\n configurable: true,\\n get: function () { return this; }\\n });\\n }\\n};\\n\\n\\n/***/ }),\\n/* 85 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = function (it, Constructor, name) {\\n if (!(it instanceof Constructor)) {\\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\\n } return it;\\n};\\n\\n\\n/***/ }),\\n/* 86 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar wellKnownSymbol = __webpack_require__(1);\\n\\nvar ITERATOR = wellKnownSymbol('iterator');\\nvar SAFE_CLOSING = false;\\n\\ntry {\\n var called = 0;\\n var iteratorWithReturn = {\\n next: function () {\\n return { done: !!called++ };\\n },\\n 'return': function () {\\n SAFE_CLOSING = true;\\n }\\n };\\n iteratorWithReturn[ITERATOR] = function () {\\n return this;\\n };\\n // eslint-disable-next-line no-throw-literal\\n Array.from(iteratorWithReturn, function () { throw 2; });\\n} catch (error) { /* empty */ }\\n\\nmodule.exports = function (exec, SKIP_CLOSING) {\\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\\n var ITERATION_SUPPORT = false;\\n try {\\n var object = {};\\n object[ITERATOR] = function () {\\n return {\\n next: function () {\\n return { done: ITERATION_SUPPORT = true };\\n }\\n };\\n };\\n exec(object);\\n } catch (error) { /* empty */ }\\n return ITERATION_SUPPORT;\\n};\\n\\n\\n/***/ }),\\n/* 87 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar global = __webpack_require__(0);\\nvar getOwnPropertyDescriptor = __webpack_require__(21).f;\\nvar macrotask = __webpack_require__(53).set;\\nvar IS_IOS = __webpack_require__(54);\\nvar IS_NODE = __webpack_require__(36);\\n\\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\\nvar document = global.document;\\nvar process = global.process;\\nvar Promise = global.Promise;\\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\\n\\nvar flush, head, last, notify, toggle, node, promise, then;\\n\\n// modern engines have queueMicrotask method\\nif (!queueMicrotask) {\\n flush = function () {\\n var parent, fn;\\n if (IS_NODE && (parent = process.domain)) parent.exit();\\n while (head) {\\n fn = head.fn;\\n head = head.next;\\n try {\\n fn();\\n } catch (error) {\\n if (head) notify();\\n else last = undefined;\\n throw error;\\n }\\n } last = undefined;\\n if (parent) parent.enter();\\n };\\n\\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\\n if (!IS_IOS && !IS_NODE && MutationObserver && document) {\\n toggle = true;\\n node = document.createTextNode('');\\n new MutationObserver(flush).observe(node, { characterData: true });\\n notify = function () {\\n node.data = toggle = !toggle;\\n };\\n // environments with maybe non-completely correct, but existent Promise\\n } else if (Promise && Promise.resolve) {\\n // Promise.resolve without an argument throws an error in LG WebOS 2\\n promise = Promise.resolve(undefined);\\n then = promise.then;\\n notify = function () {\\n then.call(promise, flush);\\n };\\n // Node.js without promises\\n } else if (IS_NODE) {\\n notify = function () {\\n process.nextTick(flush);\\n };\\n // for other environments - macrotask based on:\\n // - setImmediate\\n // - MessageChannel\\n // - window.postMessag\\n // - onreadystatechange\\n // - setTimeout\\n } else {\\n notify = function () {\\n // strange IE + webpack dev server bug - use .call(global)\\n macrotask.call(global, flush);\\n };\\n }\\n}\\n\\nmodule.exports = queueMicrotask || function (fn) {\\n var task = { fn: fn, next: undefined };\\n if (last) last.next = task;\\n if (!head) {\\n head = task;\\n notify();\\n } last = task;\\n};\\n\\n\\n/***/ }),\\n/* 88 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar global = __webpack_require__(0);\\n\\nmodule.exports = function (a, b) {\\n var console = global.console;\\n if (console && console.error) {\\n arguments.length === 1 ? console.error(a) : console.error(a, b);\\n }\\n};\\n\\n\\n/***/ }),\\n/* 89 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar global = __webpack_require__(0);\\nvar userAgent = __webpack_require__(55);\\n\\nvar process = global.process;\\nvar versions = process && process.versions;\\nvar v8 = versions && versions.v8;\\nvar match, version;\\n\\nif (v8) {\\n match = v8.split('.');\\n version = match[0] + match[1];\\n} else if (userAgent) {\\n match = userAgent.match(/Edge\\\\/(\\\\d+)/);\\n if (!match || match[1] >= 74) {\\n match = userAgent.match(/Chrome\\\\/(\\\\d+)/);\\n if (match) version = match[1];\\n }\\n}\\n\\nmodule.exports = version && +version;\\n\\n\\n/***/ }),\\n/* 90 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nvar $ = __webpack_require__(9);\\nvar aFunction = __webpack_require__(13);\\nvar newPromiseCapabilityModule = __webpack_require__(20);\\nvar perform = __webpack_require__(37);\\nvar iterate = __webpack_require__(19);\\n\\n// `Promise.allSettled` method\\n// https://github.com/tc39/proposal-promise-allSettled\\n$({ target: 'Promise', stat: true }, {\\n allSettled: function allSettled(iterable) {\\n var C = this;\\n var capability = newPromiseCapabilityModule.f(C);\\n var resolve = capability.resolve;\\n var reject = capability.reject;\\n var result = perform(function () {\\n var promiseResolve = aFunction(C.resolve);\\n var values = [];\\n var counter = 0;\\n var remaining = 1;\\n iterate(iterable, function (promise) {\\n var index = counter++;\\n var alreadyCalled = false;\\n values.push(undefined);\\n remaining++;\\n promiseResolve.call(C, promise).then(function (value) {\\n if (alreadyCalled) return;\\n alreadyCalled = true;\\n values[index] = { status: 'fulfilled', value: value };\\n --remaining || resolve(values);\\n }, function (error) {\\n if (alreadyCalled) return;\\n alreadyCalled = true;\\n values[index] = { status: 'rejected', reason: error };\\n --remaining || resolve(values);\\n });\\n });\\n --remaining || resolve(values);\\n });\\n if (result.error) reject(result.value);\\n return capability.promise;\\n }\\n});\\n\\n\\n/***/ }),\\n/* 91 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nvar $ = __webpack_require__(9);\\nvar aFunction = __webpack_require__(13);\\nvar getBuiltIn = __webpack_require__(8);\\nvar newPromiseCapabilityModule = __webpack_require__(20);\\nvar perform = __webpack_require__(37);\\nvar iterate = __webpack_require__(19);\\n\\nvar PROMISE_ANY_ERROR = 'No one promise resolved';\\n\\n// `Promise.any` method\\n// https://github.com/tc39/proposal-promise-any\\n$({ target: 'Promise', stat: true }, {\\n any: function any(iterable) {\\n var C = this;\\n var capability = newPromiseCapabilityModule.f(C);\\n var resolve = capability.resolve;\\n var reject = capability.reject;\\n var result = perform(function () {\\n var promiseResolve = aFunction(C.resolve);\\n var errors = [];\\n var counter = 0;\\n var remaining = 1;\\n var alreadyResolved = false;\\n iterate(iterable, function (promise) {\\n var index = counter++;\\n var alreadyRejected = false;\\n errors.push(undefined);\\n remaining++;\\n promiseResolve.call(C, promise).then(function (value) {\\n if (alreadyRejected || alreadyResolved) return;\\n alreadyResolved = true;\\n resolve(value);\\n }, function (error) {\\n if (alreadyRejected || alreadyResolved) return;\\n alreadyRejected = true;\\n errors[index] = error;\\n --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR));\\n });\\n });\\n --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR));\\n });\\n if (result.error) reject(result.value);\\n return capability.promise;\\n }\\n});\\n\\n\\n/***/ }),\\n/* 92 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nvar $ = __webpack_require__(9);\\nvar IS_PURE = __webpack_require__(14);\\nvar NativePromise = __webpack_require__(51);\\nvar fails = __webpack_require__(5);\\nvar getBuiltIn = __webpack_require__(8);\\nvar speciesConstructor = __webpack_require__(52);\\nvar promiseResolve = __webpack_require__(56);\\nvar redefine = __webpack_require__(12);\\n\\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\\nvar NON_GENERIC = !!NativePromise && fails(function () {\\n NativePromise.prototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\\n});\\n\\n// `Promise.prototype.finally` method\\n// https://tc39.github.io/ecma262/#sec-promise.prototype.finally\\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\\n 'finally': function (onFinally) {\\n var C = speciesConstructor(this, getBuiltIn('Promise'));\\n var isFunction = typeof onFinally == 'function';\\n return this.then(\\n isFunction ? function (x) {\\n return promiseResolve(C, onFinally()).then(function () { return x; });\\n } : onFinally,\\n isFunction ? function (e) {\\n return promiseResolve(C, onFinally()).then(function () { throw e; });\\n } : onFinally\\n );\\n }\\n});\\n\\n// patch native Promise.prototype for native async functions\\nif (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {\\n redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);\\n}\\n\\n\\n/***/ }),\\n/* 93 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nvar charAt = __webpack_require__(94).charAt;\\nvar InternalStateModule = __webpack_require__(18);\\nvar defineIterator = __webpack_require__(57);\\n\\nvar STRING_ITERATOR = 'String Iterator';\\nvar setInternalState = InternalStateModule.set;\\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\\n\\n// `String.prototype[@@iterator]` method\\n// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator\\ndefineIterator(String, 'String', function (iterated) {\\n setInternalState(this, {\\n type: STRING_ITERATOR,\\n string: String(iterated),\\n index: 0\\n });\\n// `%StringIteratorPrototype%.next` method\\n// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next\\n}, function next() {\\n var state = getInternalState(this);\\n var string = state.string;\\n var index = state.index;\\n var point;\\n if (index >= string.length) return { value: undefined, done: true };\\n point = charAt(string, index);\\n state.index += point.length;\\n return { value: point, done: false };\\n});\\n\\n\\n/***/ }),\\n/* 94 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar toInteger = __webpack_require__(30);\\nvar requireObjectCoercible = __webpack_require__(23);\\n\\n// `String.prototype.{ codePointAt, at }` methods implementation\\nvar createMethod = function (CONVERT_TO_STRING) {\\n return function ($this, pos) {\\n var S = String(requireObjectCoercible($this));\\n var position = toInteger(pos);\\n var size = S.length;\\n var first, second;\\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\\n first = S.charCodeAt(position);\\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\\n ? CONVERT_TO_STRING ? S.charAt(position) : first\\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\\n };\\n};\\n\\nmodule.exports = {\\n // `String.prototype.codePointAt` method\\n // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\\n codeAt: createMethod(false),\\n // `String.prototype.at` method\\n // https://github.com/mathiasbynens/String.prototype.at\\n charAt: createMethod(true)\\n};\\n\\n\\n/***/ }),\\n/* 95 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nvar IteratorPrototype = __webpack_require__(58).IteratorPrototype;\\nvar create = __webpack_require__(33);\\nvar createPropertyDescriptor = __webpack_require__(16);\\nvar setToStringTag = __webpack_require__(35);\\nvar Iterators = __webpack_require__(15);\\n\\nvar returnThis = function () { return this; };\\n\\nmodule.exports = function (IteratorConstructor, NAME, next) {\\n var TO_STRING_TAG = NAME + ' Iterator';\\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\\n Iterators[TO_STRING_TAG] = returnThis;\\n return IteratorConstructor;\\n};\\n\\n\\n/***/ }),\\n/* 96 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar global = __webpack_require__(0);\\nvar DOMIterables = __webpack_require__(97);\\nvar ArrayIteratorMethods = __webpack_require__(98);\\nvar createNonEnumerableProperty = __webpack_require__(6);\\nvar wellKnownSymbol = __webpack_require__(1);\\n\\nvar ITERATOR = wellKnownSymbol('iterator');\\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\\nvar ArrayValues = ArrayIteratorMethods.values;\\n\\nfor (var COLLECTION_NAME in DOMIterables) {\\n var Collection = global[COLLECTION_NAME];\\n var CollectionPrototype = Collection && Collection.prototype;\\n if (CollectionPrototype) {\\n // some Chrome versions have non-configurable methods on DOMTokenList\\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\\n } catch (error) {\\n CollectionPrototype[ITERATOR] = ArrayValues;\\n }\\n if (!CollectionPrototype[TO_STRING_TAG]) {\\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\\n }\\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\\n // some Chrome versions have non-configurable methods on DOMTokenList\\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\\n } catch (error) {\\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\\n }\\n }\\n }\\n}\\n\\n\\n/***/ }),\\n/* 97 */\\n/***/ (function(module, exports) {\\n\\n// iterable DOM collections\\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\\nmodule.exports = {\\n CSSRuleList: 0,\\n CSSStyleDeclaration: 0,\\n CSSValueList: 0,\\n ClientRectList: 0,\\n DOMRectList: 0,\\n DOMStringList: 0,\\n DOMTokenList: 1,\\n DataTransferItemList: 0,\\n FileList: 0,\\n HTMLAllCollection: 0,\\n HTMLCollection: 0,\\n HTMLFormElement: 0,\\n HTMLSelectElement: 0,\\n MediaList: 0,\\n MimeTypeArray: 0,\\n NamedNodeMap: 0,\\n NodeList: 1,\\n PaintRequestList: 0,\\n Plugin: 0,\\n PluginArray: 0,\\n SVGLengthList: 0,\\n SVGNumberList: 0,\\n SVGPathSegList: 0,\\n SVGPointList: 0,\\n SVGStringList: 0,\\n SVGTransformList: 0,\\n SourceBufferList: 0,\\n StyleSheetList: 0,\\n TextTrackCueList: 0,\\n TextTrackList: 0,\\n TouchList: 0\\n};\\n\\n\\n/***/ }),\\n/* 98 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nvar toIndexedObject = __webpack_require__(17);\\nvar addToUnscopables = __webpack_require__(99);\\nvar Iterators = __webpack_require__(15);\\nvar InternalStateModule = __webpack_require__(18);\\nvar defineIterator = __webpack_require__(57);\\n\\nvar ARRAY_ITERATOR = 'Array Iterator';\\nvar setInternalState = InternalStateModule.set;\\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\\n\\n// `Array.prototype.entries` method\\n// https://tc39.github.io/ecma262/#sec-array.prototype.entries\\n// `Array.prototype.keys` method\\n// https://tc39.github.io/ecma262/#sec-array.prototype.keys\\n// `Array.prototype.values` method\\n// https://tc39.github.io/ecma262/#sec-array.prototype.values\\n// `Array.prototype[@@iterator]` method\\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator\\n// `CreateArrayIterator` internal method\\n// https://tc39.github.io/ecma262/#sec-createarrayiterator\\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\\n setInternalState(this, {\\n type: ARRAY_ITERATOR,\\n target: toIndexedObject(iterated), // target\\n index: 0, // next index\\n kind: kind // kind\\n });\\n// `%ArrayIteratorPrototype%.next` method\\n// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next\\n}, function () {\\n var state = getInternalState(this);\\n var target = state.target;\\n var kind = state.kind;\\n var index = state.index++;\\n if (!target || index >= target.length) {\\n state.target = undefined;\\n return { value: undefined, done: true };\\n }\\n if (kind == 'keys') return { value: index, done: false };\\n if (kind == 'values') return { value: target[index], done: false };\\n return { value: [index, target[index]], done: false };\\n}, 'values');\\n\\n// argumentsList[@@iterator] is %ArrayProto_values%\\n// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject\\n// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject\\nIterators.Arguments = Iterators.Array;\\n\\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\\naddToUnscopables('keys');\\naddToUnscopables('values');\\naddToUnscopables('entries');\\n\\n\\n/***/ }),\\n/* 99 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar wellKnownSymbol = __webpack_require__(1);\\nvar create = __webpack_require__(33);\\nvar definePropertyModule = __webpack_require__(11);\\n\\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\\nvar ArrayPrototype = Array.prototype;\\n\\n// Array.prototype[@@unscopables]\\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\\n configurable: true,\\n value: create(null)\\n });\\n}\\n\\n// add a key to Array.prototype[@@unscopables]\\nmodule.exports = function (key) {\\n ArrayPrototype[UNSCOPABLES][key] = true;\\n};\\n\\n\\n/***/ }),\\n/* 100 */\\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n// ESM COMPAT FLAG\\n__webpack_require__.r(__webpack_exports__);\\n\\n// EXPORTS\\n__webpack_require__.d(__webpack_exports__, \\\"add\\\", function() { return /* binding */ add; });\\n__webpack_require__.d(__webpack_exports__, \\\"done\\\", function() { return /* binding */ done; });\\n__webpack_require__.d(__webpack_exports__, \\\"toJS\\\", function() { return /* binding */ toJS; });\\n__webpack_require__.d(__webpack_exports__, \\\"fromExternalJS\\\", function() { return /* binding */ fromExternalJS; });\\n__webpack_require__.d(__webpack_exports__, \\\"load\\\", function() { return /* binding */ load; });\\n__webpack_require__.d(__webpack_exports__, \\\"dispose\\\", function() { return /* binding */ dispose; });\\n__webpack_require__.d(__webpack_exports__, \\\"search\\\", function() { return /* binding */ search; });\\n\\n// CONCATENATED MODULE: ./node_modules/tslib/tslib.es6.js\\n/*! *****************************************************************************\\r\\nCopyright (c) Microsoft Corporation.\\r\\n\\r\\nPermission to use, copy, modify, and/or distribute this software for any\\r\\npurpose with or without fee is hereby granted.\\r\\n\\r\\nTHE SOFTWARE IS PROVIDED \\\"AS IS\\\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\\r\\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\\r\\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\\r\\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\\r\\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\\r\\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\\r\\nPERFORMANCE OF THIS SOFTWARE.\\r\\n***************************************************************************** */\\r\\n/* global Reflect, Promise */\\r\\n\\r\\nvar extendStatics = function(d, b) {\\r\\n extendStatics = Object.setPrototypeOf ||\\r\\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\\r\\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\\r\\n return extendStatics(d, b);\\r\\n};\\r\\n\\r\\nfunction __extends(d, b) {\\r\\n extendStatics(d, b);\\r\\n function __() { this.constructor = d; }\\r\\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\\r\\n}\\r\\n\\r\\nvar __assign = function() {\\r\\n __assign = Object.assign || function __assign(t) {\\r\\n for (var s, i = 1, n = arguments.length; i < n; i++) {\\r\\n s = arguments[i];\\r\\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\\r\\n }\\r\\n return t;\\r\\n }\\r\\n return __assign.apply(this, arguments);\\r\\n}\\r\\n\\r\\nfunction __rest(s, e) {\\r\\n var t = {};\\r\\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\\r\\n t[p] = s[p];\\r\\n if (s != null && typeof Object.getOwnPropertySymbols === \\\"function\\\")\\r\\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\\r\\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\\r\\n t[p[i]] = s[p[i]];\\r\\n }\\r\\n return t;\\r\\n}\\r\\n\\r\\nfunction __decorate(decorators, target, key, desc) {\\r\\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\\r\\n if (typeof Reflect === \\\"object\\\" && typeof Reflect.decorate === \\\"function\\\") r = Reflect.decorate(decorators, target, key, desc);\\r\\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\\r\\n return c > 3 && r && Object.defineProperty(target, key, r), r;\\r\\n}\\r\\n\\r\\nfunction __param(paramIndex, decorator) {\\r\\n return function (target, key) { decorator(target, key, paramIndex); }\\r\\n}\\r\\n\\r\\nfunction __metadata(metadataKey, metadataValue) {\\r\\n if (typeof Reflect === \\\"object\\\" && typeof Reflect.metadata === \\\"function\\\") return Reflect.metadata(metadataKey, metadataValue);\\r\\n}\\r\\n\\r\\nfunction __awaiter(thisArg, _arguments, P, generator) {\\r\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\r\\n return new (P || (P = Promise))(function (resolve, reject) {\\r\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\r\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\r\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\r\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\r\\n });\\r\\n}\\r\\n\\r\\nfunction __generator(thisArg, body) {\\r\\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\\r\\n return g = { next: verb(0), \\\"throw\\\": verb(1), \\\"return\\\": verb(2) }, typeof Symbol === \\\"function\\\" && (g[Symbol.iterator] = function() { return this; }), g;\\r\\n function verb(n) { return function (v) { return step([n, v]); }; }\\r\\n function step(op) {\\r\\n if (f) throw new TypeError(\\\"Generator is already executing.\\\");\\r\\n while (_) try {\\r\\n if (f = 1, y && (t = op[0] & 2 ? y[\\\"return\\\"] : op[0] ? y[\\\"throw\\\"] || ((t = y[\\\"return\\\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\\r\\n if (y = 0, t) op = [op[0] & 2, t.value];\\r\\n switch (op[0]) {\\r\\n case 0: case 1: t = op; break;\\r\\n case 4: _.label++; return { value: op[1], done: false };\\r\\n case 5: _.label++; y = op[1]; op = [0]; continue;\\r\\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\\r\\n default:\\r\\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\\r\\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\\r\\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\\r\\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\\r\\n if (t[2]) _.ops.pop();\\r\\n _.trys.pop(); continue;\\r\\n }\\r\\n op = body.call(thisArg, _);\\r\\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\\r\\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\\r\\n }\\r\\n}\\r\\n\\r\\nvar __createBinding = Object.create ? (function(o, m, k, k2) {\\r\\n if (k2 === undefined) k2 = k;\\r\\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\\r\\n}) : (function(o, m, k, k2) {\\r\\n if (k2 === undefined) k2 = k;\\r\\n o[k2] = m[k];\\r\\n});\\r\\n\\r\\nfunction __exportStar(m, exports) {\\r\\n for (var p in m) if (p !== \\\"default\\\" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);\\r\\n}\\r\\n\\r\\nfunction __values(o) {\\r\\n var s = typeof Symbol === \\\"function\\\" && Symbol.iterator, m = s && o[s], i = 0;\\r\\n if (m) return m.call(o);\\r\\n if (o && typeof o.length === \\\"number\\\") return {\\r\\n next: function () {\\r\\n if (o && i >= o.length) o = void 0;\\r\\n return { value: o && o[i++], done: !o };\\r\\n }\\r\\n };\\r\\n throw new TypeError(s ? \\\"Object is not iterable.\\\" : \\\"Symbol.iterator is not defined.\\\");\\r\\n}\\r\\n\\r\\nfunction __read(o, n) {\\r\\n var m = typeof Symbol === \\\"function\\\" && o[Symbol.iterator];\\r\\n if (!m) return o;\\r\\n var i = m.call(o), r, ar = [], e;\\r\\n try {\\r\\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\\r\\n }\\r\\n catch (error) { e = { error: error }; }\\r\\n finally {\\r\\n try {\\r\\n if (r && !r.done && (m = i[\\\"return\\\"])) m.call(i);\\r\\n }\\r\\n finally { if (e) throw e.error; }\\r\\n }\\r\\n return ar;\\r\\n}\\r\\n\\r\\nfunction __spread() {\\r\\n for (var ar = [], i = 0; i < arguments.length; i++)\\r\\n ar = ar.concat(__read(arguments[i]));\\r\\n return ar;\\r\\n}\\r\\n\\r\\nfunction __spreadArrays() {\\r\\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\\r\\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\\r\\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\\r\\n r[k] = a[j];\\r\\n return r;\\r\\n};\\r\\n\\r\\nfunction __await(v) {\\r\\n return this instanceof __await ? (this.v = v, this) : new __await(v);\\r\\n}\\r\\n\\r\\nfunction __asyncGenerator(thisArg, _arguments, generator) {\\r\\n if (!Symbol.asyncIterator) throw new TypeError(\\\"Symbol.asyncIterator is not defined.\\\");\\r\\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\\r\\n return i = {}, verb(\\\"next\\\"), verb(\\\"throw\\\"), verb(\\\"return\\\"), i[Symbol.asyncIterator] = function () { return this; }, i;\\r\\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\\r\\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\\r\\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\\r\\n function fulfill(value) { resume(\\\"next\\\", value); }\\r\\n function reject(value) { resume(\\\"throw\\\", value); }\\r\\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\\r\\n}\\r\\n\\r\\nfunction __asyncDelegator(o) {\\r\\n var i, p;\\r\\n return i = {}, verb(\\\"next\\\"), verb(\\\"throw\\\", function (e) { throw e; }), verb(\\\"return\\\"), i[Symbol.iterator] = function () { return this; }, i;\\r\\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \\\"return\\\" } : f ? f(v) : v; } : f; }\\r\\n}\\r\\n\\r\\nfunction __asyncValues(o) {\\r\\n if (!Symbol.asyncIterator) throw new TypeError(\\\"Symbol.asyncIterator is not defined.\\\");\\r\\n var m = o[Symbol.asyncIterator], i;\\r\\n return m ? m.call(o) : (o = typeof __values === \\\"function\\\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\\\"next\\\"), verb(\\\"throw\\\"), verb(\\\"return\\\"), i[Symbol.asyncIterator] = function () { return this; }, i);\\r\\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\\r\\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\\r\\n}\\r\\n\\r\\nfunction __makeTemplateObject(cooked, raw) {\\r\\n if (Object.defineProperty) { Object.defineProperty(cooked, \\\"raw\\\", { value: raw }); } else { cooked.raw = raw; }\\r\\n return cooked;\\r\\n};\\r\\n\\r\\nvar __setModuleDefault = Object.create ? (function(o, v) {\\r\\n Object.defineProperty(o, \\\"default\\\", { enumerable: true, value: v });\\r\\n}) : function(o, v) {\\r\\n o[\\\"default\\\"] = v;\\r\\n};\\r\\n\\r\\nfunction __importStar(mod) {\\r\\n if (mod && mod.__esModule) return mod;\\r\\n var result = {};\\r\\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\\r\\n __setModuleDefault(result, mod);\\r\\n return result;\\r\\n}\\r\\n\\r\\nfunction __importDefault(mod) {\\r\\n return (mod && mod.__esModule) ? mod : { default: mod };\\r\\n}\\r\\n\\r\\nfunction __classPrivateFieldGet(receiver, privateMap) {\\r\\n if (!privateMap.has(receiver)) {\\r\\n throw new TypeError(\\\"attempted to get private field on non-instance\\\");\\r\\n }\\r\\n return privateMap.get(receiver);\\r\\n}\\r\\n\\r\\nfunction __classPrivateFieldSet(receiver, privateMap, value) {\\r\\n if (!privateMap.has(receiver)) {\\r\\n throw new TypeError(\\\"attempted to set private field on non-instance\\\");\\r\\n }\\r\\n privateMap.set(receiver, value);\\r\\n return value;\\r\\n}\\r\\n\\n// EXTERNAL MODULE: ./node_modules/lunr/lunr.js\\nvar lunr = __webpack_require__(4);\\n\\n// CONCATENATED MODULE: ./node_modules/workerize-loader/dist/rpc-worker-loader.js!./node_modules/ts-loader??ref--4-0!./node_modules/babel-loader/lib??ref--4-1!./src/services/SearchWorker.worker.ts\\n\\n\\ntry {\\n // tslint:disable-next-line\\n __webpack_require__(59); // bundle into worker\\n}\\ncatch (_) { // nope\\n}\\n/* just for better typings */\\nvar Worker = /** @class */ (function () {\\n function Worker() {\\n this.add = add;\\n this.done = done;\\n this.search = search;\\n this.toJS = toJS;\\n this.load = load;\\n this.dispose = dispose;\\n this.fromExternalJS = fromExternalJS;\\n }\\n return Worker;\\n}());\\n/* harmony default export */ var SearchWorker_worker = __webpack_exports__[\\\"default\\\"] = (Worker);\\nvar store = [];\\nlunr[\\\"tokenizer\\\"].separator = /\\\\s+/;\\nvar builder;\\nvar resolveIndex;\\nvar index;\\nfunction initEmpty() {\\n builder = new lunr[\\\"Builder\\\"]();\\n builder.field('title');\\n builder.field('description');\\n builder.ref('ref');\\n builder.pipeline.add(lunr[\\\"trimmer\\\"], lunr[\\\"stopWordFilter\\\"], lunr[\\\"stemmer\\\"]);\\n index = new Promise(function (resolve) {\\n resolveIndex = resolve;\\n });\\n}\\ninitEmpty();\\nvar expandTerm = function (term) { return '*' + lunr[\\\"stemmer\\\"](new lunr[\\\"Token\\\"](term, {})) + '*'; };\\nfunction add(title, description, meta) {\\n var ref = store.push(meta) - 1;\\n var item = {\\n title: title.toLowerCase(),\\n description: description.toLowerCase(),\\n ref: ref\\n };\\n builder.add(item);\\n}\\nfunction done() {\\n return __awaiter(this, void 0, void 0, function () {\\n return __generator(this, function (_a) {\\n resolveIndex(builder.build());\\n return [2 /*return*/];\\n });\\n });\\n}\\nfunction toJS() {\\n return __awaiter(this, void 0, void 0, function () {\\n var _a;\\n return __generator(this, function (_b) {\\n switch (_b.label) {\\n case 0:\\n _a = {\\n store: store\\n };\\n return [4 /*yield*/, index];\\n case 1: return [2 /*return*/, (_a.index = (_b.sent()).toJSON(),\\n _a)];\\n }\\n });\\n });\\n}\\nfunction fromExternalJS(path, exportName) {\\n return __awaiter(this, void 0, void 0, function () {\\n return __generator(this, function (_a) {\\n try {\\n importScripts(path);\\n if (!self[exportName]) {\\n throw new Error('Broken index file format');\\n }\\n load(self[exportName]);\\n }\\n catch (e) {\\n console.error('Failed to load search index: ' + e.message);\\n }\\n return [2 /*return*/];\\n });\\n });\\n}\\nfunction load(state) {\\n return __awaiter(this, void 0, void 0, function () {\\n return __generator(this, function (_a) {\\n store = state.store;\\n resolveIndex(lunr[\\\"Index\\\"].load(state.index));\\n return [2 /*return*/];\\n });\\n });\\n}\\nfunction dispose() {\\n return __awaiter(this, void 0, void 0, function () {\\n return __generator(this, function (_a) {\\n store = [];\\n initEmpty();\\n return [2 /*return*/];\\n });\\n });\\n}\\nfunction search(q, limit) {\\n if (limit === void 0) { limit = 0; }\\n return __awaiter(this, void 0, void 0, function () {\\n var searchResults;\\n return __generator(this, function (_a) {\\n switch (_a.label) {\\n case 0:\\n if (q.trim().length === 0) {\\n return [2 /*return*/, []];\\n }\\n return [4 /*yield*/, index];\\n case 1:\\n searchResults = (_a.sent()).query(function (t) {\\n q.trim().toLowerCase().split(/\\\\s+/).forEach(function (term) {\\n if (term.length === 1)\\n return;\\n var exp = expandTerm(term);\\n t.term(exp, {});\\n });\\n });\\n if (limit > 0) {\\n searchResults = searchResults.slice(0, limit);\\n }\\n return [2 /*return*/, searchResults.map(function (res) { return ({\\n meta: store[res.ref],\\n score: res.score\\n }); })];\\n }\\n });\\n });\\n}\\n\\naddEventListener('message', function (e) {var _e$data = e.data,type = _e$data.type,method = _e$data.method,id = _e$data.id,params = _e$data.params,f,p;if (type === 'RPC' && method) {if (f = __webpack_exports__[method]) {p = Promise.resolve().then(function () {return f.apply(__webpack_exports__, params);});} else {p = Promise.reject('No such method');}p.then(function (result) {postMessage({type: 'RPC',id: id,result: result});}).catch(function (e) {var error = {message: e};if (e.stack) {error.message = e.message;error.stack = e.stack;error.name = e.name;}postMessage({type: 'RPC',id: id,error: error});});}});postMessage({type: 'RPC',method: 'ready'});\\n\\n/***/ })\\n/******/ ]);\\n//# sourceMappingURL=f707d7c16a4e44db1d02.worker.js.map\"])), { name: \"[hash].worker.js\" })\n\t\t\t\t\taddMethods(w, methods)\n\t\t\t\t\t\n\t\t\t\t\treturn w\n\t\t\t\t}\n\t\t\t","export default function addMethods(worker, methods) {\n\tlet c = 0;\n\tlet callbacks = {};\n\tworker.addEventListener('message', (e) => {\n\t\tlet d = e.data;\n\t\tif (d.type!=='RPC') return;\n\t\tif (d.id) {\n\t\t\tlet f = callbacks[d.id];\n\t\t\tif (f) {\n\t\t\t\tdelete callbacks[d.id];\n\t\t\t\tif (d.error) {\n\t\t\t\t\tf[1](Object.assign(Error(d.error.message), d.error));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tf[0](d.result);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tlet evt = document.createEvent('Event');\n\t\t\tevt.initEvent(d.method, false, false);\n\t\t\tevt.data = d.params;\n\t\t\tworker.dispatchEvent(evt);\n\t\t}\n\t});\n\tmethods.forEach( method => {\n\t\tworker[method] = (...params) => new Promise( (a, b) => {\n\t\t\tlet id = ++c;\n\t\t\tcallbacks[id] = [a, b];\n\t\t\tworker.postMessage({ type: 'RPC', id, method, params });\n\t\t});\n\t});\n}\n","module.exports = require(\"core-js/es/promise\");","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (useSourceMap) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item, useSourceMap);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join('');\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === 'string') {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, '']];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring\n\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (useSourceMap && typeof btoa === 'function') {\n var sourceMapping = toComment(cssMapping);\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || '').concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n }\n\n return [content].join('\\n');\n} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n return \"/*# \".concat(data, \" */\");\n}","module.exports = require(\"stickyfill\");","import { darken, desaturate, lighten, readableColor, transparentize } from 'polished';\nconst defaultTheme: ThemeInterface = {\n spacing: {\n unit: 5,\n sectionHorizontal: ({\n spacing\n }) => spacing.unit * 8,\n sectionVertical: ({\n spacing\n }) => spacing.unit * 8\n },\n breakpoints: {\n small: '50rem',\n medium: '75rem',\n large: '105rem'\n },\n colors: {\n tonalOffset: 0.2,\n primary: {\n main: '#32329f',\n light: ({\n colors\n }) => lighten(colors.tonalOffset, colors.primary.main),\n dark: ({\n colors\n }) => darken(colors.tonalOffset, colors.primary.main),\n contrastText: ({\n colors\n }) => readableColor(colors.primary.main)\n },\n success: {\n main: '#1d8127',\n light: ({\n colors\n }) => lighten(colors.tonalOffset * 2, colors.success.main),\n dark: ({\n colors\n }) => darken(colors.tonalOffset, colors.success.main),\n contrastText: ({\n colors\n }) => readableColor(colors.success.main)\n },\n warning: {\n main: '#ffa500',\n light: ({\n colors\n }) => lighten(colors.tonalOffset, colors.warning.main),\n dark: ({\n colors\n }) => darken(colors.tonalOffset, colors.warning.main),\n contrastText: '#ffffff'\n },\n error: {\n main: '#d41f1c',\n light: ({\n colors\n }) => lighten(colors.tonalOffset, colors.error.main),\n dark: ({\n colors\n }) => darken(colors.tonalOffset, colors.error.main),\n contrastText: ({\n colors\n }) => readableColor(colors.error.main)\n },\n gray: {\n 50: '#FAFAFA',\n 100: '#F5F5F5'\n },\n text: {\n primary: '#333333',\n secondary: ({\n colors\n }) => lighten(colors.tonalOffset, colors.text.primary)\n },\n border: {\n dark: 'rgba(0,0,0, 0.1)',\n light: '#ffffff'\n },\n responses: {\n success: {\n color: ({\n colors\n }) => colors.success.main,\n backgroundColor: ({\n colors\n }) => transparentize(0.93, colors.success.main),\n tabTextColor: ({\n colors\n }) => colors.responses.success.color\n },\n error: {\n color: ({\n colors\n }) => colors.error.main,\n backgroundColor: ({\n colors\n }) => transparentize(0.93, colors.error.main),\n tabTextColor: ({\n colors\n }) => colors.responses.error.color\n },\n redirect: {\n color: ({\n colors\n }) => colors.warning.main,\n backgroundColor: ({\n colors\n }) => transparentize(0.9, colors.responses.redirect.color),\n tabTextColor: ({\n colors\n }) => colors.responses.redirect.color\n },\n info: {\n color: '#87ceeb',\n backgroundColor: ({\n colors\n }) => transparentize(0.9, colors.responses.info.color),\n tabTextColor: ({\n colors\n }) => colors.responses.info.color\n }\n },\n http: {\n get: '#2F8132',\n post: '#186FAF',\n put: '#95507c',\n options: '#947014',\n patch: '#bf581d',\n delete: '#cc3333',\n basic: '#707070',\n link: '#07818F',\n head: '#A23DAD'\n }\n },\n schema: {\n linesColor: theme => lighten(theme.colors.tonalOffset, desaturate(theme.colors.tonalOffset, theme.colors.primary.main)),\n defaultDetailsWidth: '75%',\n typeNameColor: theme => theme.colors.text.secondary,\n typeTitleColor: theme => theme.schema.typeNameColor,\n requireLabelColor: theme => theme.colors.error.main,\n labelsTextSize: '0.9em',\n nestingSpacing: '1em',\n nestedBackground: '#fafafa',\n arrow: {\n size: '1.1em',\n color: theme => theme.colors.text.secondary\n }\n },\n typography: {\n fontSize: '14px',\n lineHeight: '1.5em',\n fontWeightRegular: '400',\n fontWeightBold: '600',\n fontWeightLight: '300',\n fontFamily: 'Roboto, sans-serif',\n smoothing: 'antialiased',\n optimizeSpeed: true,\n headings: {\n fontFamily: 'Montserrat, sans-serif',\n fontWeight: '400',\n lineHeight: '1.6em'\n },\n code: {\n fontSize: '13px',\n fontFamily: 'Courier, monospace',\n lineHeight: ({\n typography\n }) => typography.lineHeight,\n fontWeight: ({\n typography\n }) => typography.fontWeightRegular,\n color: '#e53935',\n backgroundColor: 'rgba(38, 50, 56, 0.05)',\n wrap: false\n },\n links: {\n color: ({\n colors\n }) => colors.primary.main,\n visited: ({\n typography\n }) => typography.links.color,\n hover: ({\n typography\n }) => lighten(0.2, typography.links.color)\n }\n },\n sidebar: {\n width: '260px',\n backgroundColor: '#fafafa',\n textColor: '#333333',\n activeTextColor: theme => theme.sidebar.textColor !== defaultTheme.sidebar!.textColor ? theme.sidebar.textColor : theme.colors.primary.main,\n groupItems: {\n textTransform: 'uppercase'\n },\n level1Items: {\n textTransform: 'none'\n },\n arrow: {\n size: '1.5em',\n color: theme => theme.sidebar.textColor\n }\n },\n logo: {\n maxHeight: ({\n sidebar\n }) => sidebar.width,\n maxWidth: ({\n sidebar\n }) => sidebar.width,\n gutter: '2px'\n },\n rightPanel: {\n backgroundColor: '#263238',\n width: '40%',\n textColor: '#ffffff'\n },\n codeBlock: {\n backgroundColor: ({\n rightPanel\n }) => darken(0.1, rightPanel.backgroundColor)\n }\n};\nexport default defaultTheme;\nexport function resolveTheme(theme: ThemeInterface): ResolvedThemeInterface {\n const resolvedValues = {};\n let counter = 0;\n\n const setProxy = (obj, path: string) => {\n Object.keys(obj).forEach(k => {\n const currentPath = (path ? path + '.' : '') + k;\n const val = obj[k];\n\n if (typeof val === 'function') {\n Object.defineProperty(obj, k, {\n get() {\n if (!resolvedValues[currentPath]) {\n counter++;\n\n if (counter > 1000) {\n throw new Error(`Theme probably contains circular dependency at ${currentPath}: ${val.toString()}`);\n }\n\n resolvedValues[currentPath] = val(theme);\n }\n\n return resolvedValues[currentPath];\n },\n\n enumerable: true\n });\n } else if (typeof val === 'object') {\n setProxy(val, currentPath);\n }\n });\n };\n\n setProxy(theme, '');\n return JSON.parse(JSON.stringify(theme));\n}\nexport interface ColorSetting {\n main: string;\n light: string;\n dark: string;\n contrastText: string;\n}\nexport interface HTTPResponseColos {\n color: string;\n backgroundColor: string;\n tabTextColor: string;\n}\nexport interface FontSettings {\n fontSize: string;\n fontWeight: string;\n fontFamily: string;\n lineHeight: string;\n color: string;\n}\nexport interface ResolvedThemeInterface {\n spacing: {\n unit: number;\n sectionHorizontal: number;\n sectionVertical: number;\n };\n breakpoints: {\n small: string;\n medium: string;\n large: string;\n };\n colors: {\n tonalOffset: number;\n primary: ColorSetting;\n success: ColorSetting;\n warning: ColorSetting;\n error: ColorSetting;\n gray: {\n 50: string;\n 100: string;\n };\n border: {\n light: string;\n dark: string;\n };\n text: {\n primary: string;\n secondary: string;\n };\n responses: {\n success: HTTPResponseColos;\n error: HTTPResponseColos;\n redirect: HTTPResponseColos;\n info: HTTPResponseColos;\n };\n http: {\n get: string;\n post: string;\n put: string;\n options: string;\n patch: string;\n delete: string;\n basic: string;\n link: string;\n head: string;\n };\n };\n schema: {\n linesColor: string;\n defaultDetailsWidth: string;\n typeNameColor: string;\n typeTitleColor: string;\n requireLabelColor: string;\n labelsTextSize: string;\n nestingSpacing: string;\n nestedBackground: string;\n arrow: {\n size: string;\n color: string;\n };\n };\n typography: {\n fontSize: string;\n lineHeight: string;\n fontWeightLight: string;\n fontWeightRegular: string;\n fontWeightBold: string;\n fontFamily: string;\n smoothing: string;\n optimizeSpeed: boolean;\n code: FontSettings & {\n backgroundColor: string;\n wrap: boolean;\n };\n headings: {\n fontFamily: string;\n fontWeight: string;\n lineHeight: string;\n };\n links: {\n color: string;\n visited: string;\n hover: string;\n };\n };\n sidebar: {\n width: string;\n backgroundColor: string;\n textColor: string;\n activeTextColor: string;\n groupItems: {\n textTransform: string;\n };\n level1Items: {\n textTransform: string;\n };\n arrow: {\n size: string;\n color: string;\n };\n };\n logo: {\n maxHeight: string;\n maxWidth: string;\n gutter: string;\n };\n rightPanel: {\n backgroundColor: string;\n textColor: string;\n width: string;\n };\n codeBlock: {\n backgroundColor: string;\n };\n extensionsHook?: (name: string, props: any) => string;\n}\nexport type primitive = string | number | boolean | undefined | null;\nexport type AdvancedThemeDeep = T extends primitive ? T | ((theme: ResolvedThemeInterface) => T) : AdvancedThemeObject;\nexport type AdvancedThemeObject = { [P in keyof T]?: AdvancedThemeDeep };\nexport type ThemeInterface = AdvancedThemeObject;","export const IS_BROWSER = typeof window !== 'undefined' && 'HTMLElement' in window;\nexport function querySelector(selector: string): Element | null {\n if (typeof document !== 'undefined') {\n return document.querySelector(selector);\n }\n\n return null;\n}\n/**\n * Drop everything inside <...> (i.e., tags/elements), and keep the text.\n * Unlike browser innerText, this removes newlines; it also doesn't handle\n * un-encoded `<` or `>` characters very well, so don't feed it malformed HTML\n */\n\nexport function html2Str(html: string): string {\n return html.split(/<[^>]+>/).map(chunk => {\n return chunk.trim();\n }).filter(trimmedChunk => {\n return trimmedChunk.length > 0;\n }).join(' ');\n} // scrollIntoViewIfNeeded polyfill\n\nif (typeof Element !== 'undefined' && !(Element as any).prototype.scrollIntoViewIfNeeded) {\n (Element as any).prototype.scrollIntoViewIfNeeded = function (centerIfNeeded) {\n centerIfNeeded = arguments.length === 0 ? true : !!centerIfNeeded;\n const parent = this.parentNode;\n const parentComputedStyle = window.getComputedStyle(parent, undefined);\n const parentBorderTopWidth = parseInt(parentComputedStyle.getPropertyValue('border-top-width'), 10);\n const parentBorderLeftWidth = parseInt(parentComputedStyle.getPropertyValue('border-left-width'), 10);\n const overTop = this.offsetTop - parent.offsetTop < parent.scrollTop;\n const overBottom = this.offsetTop - parent.offsetTop + this.clientHeight - parentBorderTopWidth > parent.scrollTop + parent.clientHeight;\n const overLeft = this.offsetLeft - parent.offsetLeft < parent.scrollLeft;\n const overRight = this.offsetLeft - parent.offsetLeft + this.clientWidth - parentBorderLeftWidth > parent.scrollLeft + parent.clientWidth;\n const alignWithTop = overTop && !overBottom;\n\n if ((overTop || overBottom) && centerIfNeeded) {\n parent.scrollTop = this.offsetTop - parent.offsetTop - parent.clientHeight / 2 - parentBorderTopWidth + this.clientHeight / 2;\n }\n\n if ((overLeft || overRight) && centerIfNeeded) {\n parent.scrollLeft = this.offsetLeft - parent.offsetLeft - parent.clientWidth / 2 - parentBorderLeftWidth + this.clientWidth / 2;\n }\n\n if ((overTop || overBottom || overLeft || overRight) && !centerIfNeeded) {\n this.scrollIntoView(alignWithTop);\n }\n };\n}","import slugify from 'slugify';\nimport { format, parse } from 'url';\n/**\n * Maps over array passing `isLast` bool to iterator as the second argument\n */\n\nexport function mapWithLast(array: T[], iteratee: (item: T, isLast: boolean) => P) {\n const res: P[] = [];\n\n for (let i = 0; i < array.length - 1; i++) {\n res.push(iteratee(array[i], false));\n }\n\n if (array.length !== 0) {\n res.push(iteratee(array[array.length - 1], true));\n }\n\n return res;\n}\n/**\n * Creates an object with the same keys as object and values generated by running each\n * own enumerable string keyed property of object thru iteratee.\n * The iteratee is invoked with three arguments: (value, key, object).\n *\n * @param object the object to iterate over\n * @param iteratee the function invoked per iteration.\n */\n\nexport function mapValues(object: Record, iteratee: (val: T, key: string, obj: Record) => P): Record {\n const res: {\n [key: string]: P;\n } = {};\n\n for (const key in object) {\n if (object.hasOwnProperty(key)) {\n res[key] = iteratee(object[key], key, object);\n }\n }\n\n return res;\n}\n/**\n * flattens collection using `prop` field as a children\n * @param collectionItems collection items\n * @param prop item property with child elements\n */\n\nexport function flattenByProp(collectionItems: T[], prop: P): T[] {\n const res: T[] = [];\n\n const iterate = (items: T[]) => {\n for (const item of items) {\n res.push(item);\n\n if (item[prop]) {\n iterate(((item[prop] as any) as T[]));\n }\n }\n };\n\n iterate(collectionItems);\n return res;\n}\nexport function stripTrailingSlash(path: string): string {\n if (path.endsWith('/')) {\n return path.substring(0, path.length - 1);\n }\n\n return path;\n}\nexport function isNumeric(n: any): n is number {\n return !isNaN(parseFloat(n)) && isFinite(n);\n}\nexport function appendToMdHeading(md: string, heading: string, content: string) {\n // if heading is already in md and append to the end of it\n const testRegex = new RegExp(`(^|\\\\n)#\\\\s?${heading}\\\\s*\\\\n`, 'i');\n const replaceRegex = new RegExp(`((\\\\n|^)#\\\\s*${heading}\\\\s*(\\\\n|$)(?:.|\\\\n)*?)(\\\\n#|$)`, 'i');\n\n if (testRegex.test(md)) {\n return md.replace(replaceRegex, `$1\\n\\n${content}\\n$4`);\n } else {\n // else append heading itself\n const br = md === '' || md.endsWith('\\n\\n') ? '' : md.endsWith('\\n') ? '\\n' : '\\n\\n';\n return `${md}${br}# ${heading}\\n\\n${content}`;\n }\n} // credits https://stackoverflow.com/a/46973278/1749888\n\nexport const mergeObjects = (target: any, ...sources: any[]): any => {\n if (!sources.length) {\n return target;\n }\n\n const source = sources.shift();\n\n if (source === undefined) {\n return target;\n }\n\n if (isMergebleObject(target) && isMergebleObject(source)) {\n Object.keys(source).forEach((key: string) => {\n if (isMergebleObject(source[key])) {\n if (!target[key]) {\n target[key] = {};\n }\n\n mergeObjects(target[key], source[key]);\n } else {\n target[key] = source[key];\n }\n });\n }\n\n return mergeObjects(target, ...sources);\n};\n\nconst isObject = (item: any): boolean => {\n return item !== null && typeof item === 'object';\n};\n\nconst isMergebleObject = (item): boolean => {\n return isObject(item) && !Array.isArray(item);\n};\n/**\n * slugify() returns empty string when failed to slugify.\n * so try to return minimum slugified-string with failed one which keeps original value\n * the regex codes are referenced with https://gist.github.com/mathewbyrne/1280286\n */\n\n\nexport function safeSlugify(value: string): string {\n return slugify(value) || value.toString().toLowerCase().replace(/\\s+/g, '-') // Replace spaces with -\n .replace(/&/g, '-and-') // Replace & with 'and'\n .replace(/\\--+/g, '-') // Replace multiple - with single -\n .replace(/^-+/, '') // Trim - from start of text\n .replace(/-+$/, ''); // Trim - from end of text\n}\nexport function isAbsoluteUrl(url: string) {\n return /(?:^[a-z][a-z0-9+.-]*:|\\/\\/)/i.test(url);\n}\n/**\n * simple resolve URL which doesn't break on strings with url fragments\n * e.g. resolveUrl('http://test.com:{port}', 'path') results in http://test.com:{port}/path\n */\n\nexport function resolveUrl(url: string, to: string) {\n let res;\n\n if (to.startsWith('//')) {\n const {\n protocol: specProtocol\n } = parse(url);\n res = `${specProtocol || 'https:'}${to}`;\n } else if (isAbsoluteUrl(to)) {\n res = to;\n } else if (!to.startsWith('/')) {\n res = stripTrailingSlash(url) + '/' + to;\n } else {\n const urlObj = parse(url);\n res = format({ ...urlObj,\n pathname: to\n });\n }\n\n return stripTrailingSlash(res);\n}\nexport function getBasePath(serverUrl: string): string {\n try {\n return parseURL(serverUrl).pathname;\n } catch (e) {\n // when using with redoc-cli serverUrl can be empty resulting in crash\n return serverUrl;\n }\n}\nexport function titleize(text: string) {\n return text.charAt(0).toUpperCase() + text.slice(1);\n}\nexport function removeQueryString(serverUrl: string): string {\n try {\n const url = parseURL(serverUrl);\n url.search = '';\n return url.toString();\n } catch (e) {\n // when using with redoc-cli serverUrl can be empty resulting in crash\n return serverUrl;\n }\n}\n\nfunction parseURL(url: string) {\n if (typeof URL === 'undefined') {\n // node\n return new (require('url').URL)(url);\n } else {\n return new URL(url);\n }\n}\n\nexport function unescapeHTMLChars(str: string): string {\n return str.replace(/&#(\\d+);/g, (_m, code) => String.fromCharCode(parseInt(code, 10))).replace(/&/g, '&');\n}","export interface LabelsConfig {\n enum: string;\n enumSingleValue: string;\n enumArray: string;\n default: string;\n deprecated: string;\n example: string;\n examples: string;\n nullable: string;\n recursive: string;\n arrayOf: string;\n webhook: string;\n}\nexport type LabelsConfigRaw = Partial;\nconst labels: LabelsConfig = {\n enum: 'Enum',\n enumSingleValue: 'Value',\n enumArray: 'Items',\n default: 'Default',\n deprecated: 'Deprecated',\n example: 'Example',\n examples: 'Examples',\n nullable: 'Nullable',\n recursive: 'Recursive',\n arrayOf: 'Array of ',\n webhook: 'Event'\n};\nexport function setRedocLabels(_labels?: LabelsConfigRaw) {\n Object.assign(labels, _labels);\n}\nexport function l(key: keyof LabelsConfig, idx?: number): string {\n const label = labels[key];\n\n if (idx !== undefined) {\n return label[idx];\n }\n\n return label;\n}","import defaultTheme, { ResolvedThemeInterface, resolveTheme, ThemeInterface } from '../theme';\nimport { querySelector } from '../utils/dom';\nimport { isNumeric, mergeObjects } from '../utils/helpers';\nimport { LabelsConfigRaw, setRedocLabels } from './Labels';\nimport { MDXComponentMeta } from './MarkdownRenderer';\nexport interface RedocRawOptions {\n theme?: ThemeInterface;\n scrollYOffset?: number | string | (() => number);\n hideHostname?: boolean | string;\n expandResponses?: string | 'all';\n requiredPropsFirst?: boolean | string;\n sortPropsAlphabetically?: boolean | string;\n sortEnumValuesAlphabetically?: boolean | string;\n noAutoAuth?: boolean | string;\n nativeScrollbars?: boolean | string;\n pathInMiddlePanel?: boolean | string;\n untrustedSpec?: boolean | string;\n hideLoading?: boolean | string;\n hideDownloadButton?: boolean | string;\n disableSearch?: boolean | string;\n onlyRequiredInSamples?: boolean | string;\n showExtensions?: boolean | string | string[];\n hideSingleRequestSampleTab?: boolean | string;\n menuToggle?: boolean | string;\n jsonSampleExpandLevel?: number | string | 'all';\n hideSchemaTitles?: boolean | string;\n simpleOneOfTypeLabel?: boolean | string;\n payloadSampleIdx?: number;\n expandSingleSchemaField?: boolean | string;\n unstable_ignoreMimeParameters?: boolean;\n allowedMdComponents?: Record;\n labels?: LabelsConfigRaw;\n enumSkipQuotes?: boolean | string;\n expandDefaultServerVariables?: boolean;\n maxDisplayedEnumValues?: number;\n ignoreNamedSchemas?: string[] | string;\n}\n\nfunction argValueToBoolean(val?: string | boolean, defaultValue?: boolean): boolean {\n if (val === undefined) {\n return defaultValue || false;\n }\n\n if (typeof val === 'string') {\n return val === 'false' ? false : true;\n }\n\n return val;\n}\n\nfunction argValueToNumber(value: number | string | undefined): number | undefined {\n if (typeof value === 'string') {\n return parseInt(value, 10);\n }\n\n if (typeof value === 'number') {\n return value;\n }\n}\n\nexport class RedocNormalizedOptions {\n static normalizeExpandResponses(value: RedocRawOptions['expandResponses']) {\n if (value === 'all') {\n return 'all';\n }\n\n if (typeof value === 'string') {\n const res = {};\n value.split(',').forEach(code => {\n res[code.trim()] = true;\n });\n return res;\n } else if (value !== undefined) {\n console.warn(`expandResponses must be a string but received value \"${value}\" of type ${typeof value}`);\n }\n\n return {};\n }\n\n static normalizeHideHostname(value: RedocRawOptions['hideHostname']): boolean {\n return !!value;\n }\n\n static normalizeScrollYOffset(value: RedocRawOptions['scrollYOffset']): () => number {\n // just number is not valid selector and leads to crash so checking if isNumeric here\n if (typeof value === 'string' && !isNumeric(value)) {\n const el = querySelector(value);\n\n if (!el) {\n console.warn('scrollYOffset value is a selector to non-existing element. Using offset 0 by default');\n }\n\n const bottom = el && el.getBoundingClientRect().bottom || 0;\n return () => bottom;\n } else if (typeof value === 'number' || isNumeric(value)) {\n return () => typeof value === 'number' ? value : parseFloat(value);\n } else if (typeof value === 'function') {\n return () => {\n const res = value();\n\n if (typeof res !== 'number') {\n console.warn(`scrollYOffset should return number but returned value \"${res}\" of type ${typeof res}`);\n }\n\n return res;\n };\n } else if (value !== undefined) {\n console.warn('Wrong value for scrollYOffset ReDoc option: should be string, number or function');\n }\n\n return () => 0;\n }\n\n static normalizeShowExtensions(value: RedocRawOptions['showExtensions']): string[] | boolean {\n if (typeof value === 'undefined') {\n return false;\n }\n\n if (value === '') {\n return true;\n }\n\n if (typeof value !== 'string') {\n return value;\n }\n\n switch (value) {\n case 'true':\n return true;\n\n case 'false':\n return false;\n\n default:\n return value.split(',').map(ext => ext.trim());\n }\n }\n\n static normalizePayloadSampleIdx(value: RedocRawOptions['payloadSampleIdx']): number {\n if (typeof value === 'number') {\n return Math.max(0, value); // always greater or equal than 0\n }\n\n if (typeof value === 'string') {\n return isFinite(value) ? parseInt(value, 10) : 0;\n }\n\n return 0;\n }\n\n private static normalizeJsonSampleExpandLevel(level?: number | string | 'all'): number {\n if (level === 'all') {\n return +Infinity;\n }\n\n if (!isNaN(Number(level))) {\n return Math.ceil(Number(level));\n }\n\n return 2;\n }\n\n theme: ResolvedThemeInterface;\n scrollYOffset: () => number;\n hideHostname: boolean;\n expandResponses: {\n [code: string]: boolean;\n } | 'all';\n requiredPropsFirst: boolean;\n sortPropsAlphabetically: boolean;\n sortEnumValuesAlphabetically: boolean;\n noAutoAuth: boolean;\n nativeScrollbars: boolean;\n pathInMiddlePanel: boolean;\n untrustedSpec: boolean;\n hideDownloadButton: boolean;\n disableSearch: boolean;\n onlyRequiredInSamples: boolean;\n showExtensions: boolean | string[];\n hideSingleRequestSampleTab: boolean;\n menuToggle: boolean;\n jsonSampleExpandLevel: number;\n enumSkipQuotes: boolean;\n hideSchemaTitles: boolean;\n simpleOneOfTypeLabel: boolean;\n payloadSampleIdx: number;\n expandSingleSchemaField: boolean;\n /* tslint:disable-next-line */\n\n unstable_ignoreMimeParameters: boolean;\n allowedMdComponents: Record;\n expandDefaultServerVariables: boolean;\n maxDisplayedEnumValues?: number;\n ignoreNamedSchemas: Set;\n\n constructor(raw: RedocRawOptions, defaults: RedocRawOptions = {}) {\n raw = { ...defaults,\n ...raw\n };\n const hook = raw.theme && raw.theme.extensionsHook; // migrate from old theme\n\n if ((raw.theme as any)?.menu && !raw.theme?.sidebar) {\n console.warn('Theme setting \"menu\" is deprecated. Rename to \"sidebar\"');\n raw.theme!.sidebar = (raw.theme as any).menu;\n }\n\n if ((raw.theme as any)?.codeSample && !raw.theme?.codeBlock) {\n console.warn('Theme setting \"codeSample\" is deprecated. Rename to \"codeBlock\"');\n raw.theme!.codeBlock = (raw.theme as any).codeSample;\n }\n\n this.theme = resolveTheme(mergeObjects(({} as any), defaultTheme, { ...raw.theme,\n extensionsHook: undefined\n }));\n this.theme.extensionsHook = (hook as any); // do not support dynamic labels changes. Labels should be configured before\n\n setRedocLabels(raw.labels);\n this.scrollYOffset = RedocNormalizedOptions.normalizeScrollYOffset(raw.scrollYOffset);\n this.hideHostname = RedocNormalizedOptions.normalizeHideHostname(raw.hideHostname);\n this.expandResponses = RedocNormalizedOptions.normalizeExpandResponses(raw.expandResponses);\n this.requiredPropsFirst = argValueToBoolean(raw.requiredPropsFirst);\n this.sortPropsAlphabetically = argValueToBoolean(raw.sortPropsAlphabetically);\n this.sortEnumValuesAlphabetically = argValueToBoolean(raw.sortEnumValuesAlphabetically);\n this.noAutoAuth = argValueToBoolean(raw.noAutoAuth);\n this.nativeScrollbars = argValueToBoolean(raw.nativeScrollbars);\n this.pathInMiddlePanel = argValueToBoolean(raw.pathInMiddlePanel);\n this.untrustedSpec = argValueToBoolean(raw.untrustedSpec);\n this.hideDownloadButton = argValueToBoolean(raw.hideDownloadButton);\n this.disableSearch = argValueToBoolean(raw.disableSearch);\n this.onlyRequiredInSamples = argValueToBoolean(raw.onlyRequiredInSamples);\n this.showExtensions = RedocNormalizedOptions.normalizeShowExtensions(raw.showExtensions);\n this.hideSingleRequestSampleTab = argValueToBoolean(raw.hideSingleRequestSampleTab);\n this.menuToggle = argValueToBoolean(raw.menuToggle, true);\n this.jsonSampleExpandLevel = RedocNormalizedOptions.normalizeJsonSampleExpandLevel(raw.jsonSampleExpandLevel);\n this.enumSkipQuotes = argValueToBoolean(raw.enumSkipQuotes);\n this.hideSchemaTitles = argValueToBoolean(raw.hideSchemaTitles);\n this.simpleOneOfTypeLabel = argValueToBoolean(raw.simpleOneOfTypeLabel);\n this.payloadSampleIdx = RedocNormalizedOptions.normalizePayloadSampleIdx(raw.payloadSampleIdx);\n this.expandSingleSchemaField = argValueToBoolean(raw.expandSingleSchemaField);\n this.unstable_ignoreMimeParameters = argValueToBoolean(raw.unstable_ignoreMimeParameters);\n this.allowedMdComponents = raw.allowedMdComponents || {};\n this.expandDefaultServerVariables = argValueToBoolean(raw.expandDefaultServerVariables);\n this.maxDisplayedEnumValues = argValueToNumber(raw.maxDisplayedEnumValues);\n const ignoreNamedSchemas = Array.isArray(raw.ignoreNamedSchemas) ? raw.ignoreNamedSchemas : raw.ignoreNamedSchemas?.split(',').map(s => s.trim());\n this.ignoreNamedSchemas = new Set(ignoreNamedSchemas);\n }\n\n}","import * as styledComponents from 'styled-components';\nimport { ResolvedThemeInterface } from './theme';\nexport { ResolvedThemeInterface };\nconst {\n default: styled,\n css,\n createGlobalStyle,\n keyframes,\n ThemeProvider\n} = (styledComponents as styledComponents.ThemedStyledComponentsModule);\nexport const media = {\n lessThan(breakpoint, print?: boolean, extra?: string) {\n return (...args) => css`\n @media ${print ? 'print, ' : ''} screen and (max-width: ${props => props.theme.breakpoints[breakpoint]})${extra || ''} {\n ${(css as any)(...args)};\n }\n `;\n },\n\n greaterThan(breakpoint) {\n return (...args) => css`\n @media (min-width: ${props => props.theme.breakpoints[breakpoint]}) {\n ${(css as any)(...args)};\n }\n `;\n },\n\n between(firstBreakpoint, secondBreakpoint) {\n return (...args) => css`\n @media (min-width: ${props => props.theme.breakpoints[firstBreakpoint]}) and (max-width: ${props => props.theme.breakpoints[secondBreakpoint]}) {\n ${(css as any)(...args)};\n }\n `;\n }\n\n};\nexport { css, createGlobalStyle, keyframes, ThemeProvider };\nexport default styled;\nexport function extensionsHook(styledName: string) {\n return props => {\n if (!props.theme.extensionsHook) {\n return;\n }\n\n return props.theme.extensionsHook(styledName, props);\n };\n}","import * as React from 'react';\nimport styled from '../styled-components';\nconst ErrorWrapper = styled.div`\n padding: 20px;\n color: red;\n`;\nexport class ErrorBoundary extends React.Component, {\n error?: Error;\n}> {\n constructor(props) {\n super(props);\n this.state = {\n error: undefined\n };\n }\n\n componentDidCatch(error) {\n this.setState({\n error\n });\n return false;\n }\n\n render() {\n if (this.state.error) {\n return \n

Something went wrong...

\n {this.state.error.message} \n

\n

\n Stack trace\n
{this.state.error.stack}
\n
\n

\n ReDoc Version: {__REDOC_VERSION__}
\n Commit: {__REDOC_REVISION__}\n
;\n }\n\n return React.Children.only(this.props.children);\n }\n\n}","import * as React from 'react';\nimport styled, { keyframes } from '../../styled-components';\n\nconst _Spinner = (props: {\n className?: string;\n color: string;\n}) => \n \n \n \n \n \n \n \n \n ;\n\nconst rotate = keyframes`\n 0% {\n transform: rotate(0deg); }\n 100% {\n transform: rotate(360deg);\n }\n`;\nexport const Spinner = styled(_Spinner)`\n animation: 2s ${rotate} linear infinite;\n width: 50px;\n height: 50px;\n content: '';\n display: inline-block;\n margin-left: -25px;\n\n path {\n fill: ${props => props.color};\n }\n`;","import * as React from 'react';\nimport styled from '../../styled-components';\nimport { Spinner } from './Spinner.svg';\nconst LoadingMessage = styled.div<{\n color: string;\n}>`\n font-family: helvetica, sans;\n width: 100%;\n text-align: center;\n font-size: 25px;\n margin: 30px 0 20px 0;\n color: ${props => props.color};\n`;\nexport interface LoadingProps {\n color: string;\n}\nexport class Loading extends React.PureComponent {\n render() {\n return
\n Loading ...\n \n
;\n }\n\n}","import * as React from 'react';\nimport { RedocNormalizedOptions } from '../services/RedocNormalizedOptions';\nexport const OptionsContext = React.createContext(new RedocNormalizedOptions({}));\nexport const OptionsProvider = OptionsContext.Provider;\nexport const OptionsConsumer = OptionsContext.Consumer;","import * as JsonSchemaRefParser from 'json-schema-ref-parser';\n/* tslint:disable-next-line:no-implicit-dependencies */\n\nimport { convertObj } from 'swagger2openapi';\nimport { OpenAPISpec } from '../types';\nexport async function loadAndBundleSpec(specUrlOrObject: object | string): Promise {\n const parser = new JsonSchemaRefParser();\n const spec = (await parser.bundle(specUrlOrObject, ({\n resolve: {\n http: {\n withCredentials: false\n }\n }\n } as object)) as any);\n\n if (spec.swagger !== undefined) {\n return convertSwagger2OpenAPI(spec);\n } else {\n return spec;\n }\n}\nexport function convertSwagger2OpenAPI(spec: any): Promise {\n console.warn('[ReDoc Compatibility mode]: Converting OpenAPI 2.0 to OpenAPI 3.0');\n return new Promise((resolve, reject) => convertObj(spec, {\n patch: true,\n warnOnly: true,\n text: '{}',\n anchors: true\n }, (err, res) => {\n // TODO: log any warnings\n if (err) {\n return reject(err);\n }\n\n resolve(res && (res.openapi as any));\n }));\n}","'use strict';\n\nimport * as JsonPointerLib from 'json-pointer';\nconst origParse = JsonPointerLib.parse;\n/**\n * Wrapper for JsonPointer. Provides common operations\n */\n\nexport class JsonPointer {\n /**\n * returns last JsonPointer token\n * if level > 1 returns levels last (second last/third last)\n * @example\n * // returns subpath\n * JsonPointerHelper.baseName('/path/0/subpath')\n * // returns foo\n * JsonPointerHelper.baseName('/path/foo/subpath', 2)\n */\n static baseName(pointer, level = 1) {\n const tokens = JsonPointer.parse(pointer);\n return tokens[tokens.length - level];\n }\n /**\n * returns dirname of pointer\n * if level > 1 returns corresponding dirname in the hierarchy\n * @example\n * // returns /path/0\n * JsonPointerHelper.dirName('/path/0/subpath')\n * // returns /path\n * JsonPointerHelper.dirName('/path/foo/subpath', 2)\n */\n\n\n static dirName(pointer, level = 1) {\n const tokens = JsonPointer.parse(pointer);\n return JsonPointerLib.compile(tokens.slice(0, tokens.length - level));\n }\n /**\n * returns relative path tokens\n * @example\n * // returns ['subpath']\n * JsonPointerHelper.relative('/path/0', '/path/0/subpath')\n * // returns ['foo', 'subpath']\n * JsonPointerHelper.relative('/path', '/path/foo/subpath')\n */\n\n\n static relative(from, to): string[] {\n const fromTokens = JsonPointer.parse(from);\n const toTokens = JsonPointer.parse(to);\n return toTokens.slice(fromTokens.length);\n }\n /**\n * overridden JsonPointer original parse to take care of prefixing '#' symbol\n * that is not valid JsonPointer\n */\n\n\n static parse(pointer) {\n let ptr = pointer;\n\n if (ptr.charAt(0) === '#') {\n ptr = ptr.substring(1);\n }\n\n return origParse(ptr);\n }\n /**\n * Creates a JSON pointer path, by joining one or more tokens to a base path.\n *\n * @param {string} base - The base path\n * @param {string|string[]} tokens - The token(s) to append (e.g. [\"name\", \"first\"])\n * @returns {string}\n */\n\n\n static join(base, tokens) {\n // TODO: optimize\n const baseTokens = JsonPointer.parse(base);\n const resTokens = baseTokens.concat(tokens);\n return JsonPointerLib.compile(resTokens);\n }\n\n static get(object: object, pointer: string) {\n return JsonPointerLib.get(object, pointer);\n }\n\n static compile(tokens: string[]) {\n return JsonPointerLib.compile(tokens);\n }\n\n static escape(pointer: string) {\n return JsonPointerLib.escape(pointer);\n }\n\n}\n(JsonPointerLib as any).parse = JsonPointer.parse;\nObject.assign(JsonPointer, JsonPointerLib);\nexport default JsonPointer;","import { dirname } from 'path';\nimport * as URLtemplate from 'url-template';\nimport { FieldModel } from '../services/models';\nimport { OpenAPIParser } from '../services/OpenAPIParser';\nimport { OpenAPIEncoding, OpenAPIMediaType, OpenAPIOperation, OpenAPIParameter, OpenAPIParameterStyle, OpenAPISchema, OpenAPIServer, Referenced } from '../types';\nimport { IS_BROWSER } from './dom';\nimport { isNumeric, removeQueryString, resolveUrl } from './helpers';\n\nfunction isWildcardStatusCode(statusCode: string | number): statusCode is string {\n return typeof statusCode === 'string' && /\\dxx/i.test(statusCode);\n}\n\nexport function isStatusCode(statusCode: string) {\n return statusCode === 'default' || isNumeric(statusCode) || isWildcardStatusCode(statusCode);\n}\nexport function getStatusCodeType(statusCode: string | number, defaultAsError = false): string {\n if (statusCode === 'default') {\n return defaultAsError ? 'error' : 'success';\n }\n\n let code = typeof statusCode === 'string' ? parseInt(statusCode, 10) : statusCode;\n\n if (isWildcardStatusCode(statusCode)) {\n code *= 100; // parseInt('2xx') parses to 2\n }\n\n if (code < 100 || code > 599) {\n throw new Error('invalid HTTP code');\n }\n\n let res = 'success';\n\n if (code >= 300 && code < 400) {\n res = 'redirect';\n } else if (code >= 400) {\n res = 'error';\n } else if (code < 200) {\n res = 'info';\n }\n\n return res;\n}\nconst operationNames = {\n get: true,\n post: true,\n put: true,\n head: true,\n patch: true,\n delete: true,\n options: true\n};\nexport function isOperationName(key: string): boolean {\n return key in operationNames;\n}\nexport function getOperationSummary(operation: OpenAPIOperation): string {\n return operation.summary || operation.operationId || operation.description && operation.description.substring(0, 50) || '';\n}\nconst schemaKeywordTypes = {\n multipleOf: 'number',\n maximum: 'number',\n exclusiveMaximum: 'number',\n minimum: 'number',\n exclusiveMinimum: 'number',\n maxLength: 'string',\n minLength: 'string',\n pattern: 'string',\n items: 'array',\n maxItems: 'array',\n minItems: 'array',\n uniqueItems: 'array',\n maxProperties: 'object',\n minProperties: 'object',\n required: 'object',\n additionalProperties: 'object',\n properties: 'object'\n};\nexport function detectType(schema: OpenAPISchema): string {\n if (schema.type !== undefined) {\n return schema.type;\n }\n\n const keywords = Object.keys(schemaKeywordTypes);\n\n for (const keyword of keywords) {\n const type = schemaKeywordTypes[keyword];\n\n if (schema[keyword] !== undefined) {\n return type;\n }\n }\n\n return 'any';\n}\nexport function isPrimitiveType(schema: OpenAPISchema, type: string | undefined = schema.type) {\n if (schema.oneOf !== undefined || schema.anyOf !== undefined) {\n return false;\n }\n\n if (type === 'object') {\n return schema.properties !== undefined ? Object.keys(schema.properties).length === 0 : schema.additionalProperties === undefined;\n }\n\n if (type === 'array') {\n if (schema.items === undefined) {\n return true;\n }\n\n return false;\n }\n\n return true;\n}\nexport function isJsonLike(contentType: string): boolean {\n return contentType.search(/json/i) !== -1;\n}\nexport function isFormUrlEncoded(contentType: string): boolean {\n return contentType === 'application/x-www-form-urlencoded';\n}\n\nfunction delimitedEncodeField(fieldVal: any, fieldName: string, delimiter: string): string {\n if (Array.isArray(fieldVal)) {\n return fieldVal.map(v => v.toString()).join(delimiter);\n } else if (typeof fieldVal === 'object') {\n return Object.keys(fieldVal).map(k => `${k}${delimiter}${fieldVal[k]}`).join(delimiter);\n } else {\n return fieldName + '=' + fieldVal.toString();\n }\n}\n\nfunction deepObjectEncodeField(fieldVal: any, fieldName: string): string {\n if (Array.isArray(fieldVal)) {\n console.warn('deepObject style cannot be used with array value:' + fieldVal.toString());\n return '';\n } else if (typeof fieldVal === 'object') {\n return Object.keys(fieldVal).map(k => `${fieldName}[${k}]=${fieldVal[k]}`).join('&');\n } else {\n console.warn('deepObject style cannot be used with non-object value:' + fieldVal.toString());\n return '';\n }\n}\n\nfunction serializeFormValue(name: string, explode: boolean, value: any) {\n // Use RFC6570 safe name ([a-zA-Z0-9_]) and replace with our name later\n // e.g. URI.template doesn't parse names with hyphen (-) which are valid query param names\n const safeName = '__redoc_param_name__';\n const suffix = explode ? '*' : '';\n const template = URLtemplate.parse(`{?${safeName}${suffix}}`);\n return template.expand({\n [safeName]: value\n }).substring(1).replace(/__redoc_param_name__/g, name);\n}\n/*\n * Should be used only for url-form-encoded body payloads\n * To be used for parameters should be extended with other style values\n */\n\n\nexport function urlFormEncodePayload(payload: object, encoding: {\n [field: string]: OpenAPIEncoding;\n} = {}) {\n if (Array.isArray(payload)) {\n throw new Error('Payload must have fields: ' + payload.toString());\n } else {\n return Object.keys(payload).map(fieldName => {\n const fieldVal = payload[fieldName];\n const {\n style = 'form',\n explode = true\n } = encoding[fieldName] || {};\n\n switch (style) {\n case 'form':\n return serializeFormValue(fieldName, explode, fieldVal);\n\n case 'spaceDelimited':\n return delimitedEncodeField(fieldVal, fieldName, '%20');\n\n case 'pipeDelimited':\n return delimitedEncodeField(fieldVal, fieldName, '|');\n\n case 'deepObject':\n return deepObjectEncodeField(fieldVal, fieldName);\n\n default:\n // TODO implement rest of styles for path parameters\n console.warn('Incorrect or unsupported encoding style: ' + style);\n return '';\n }\n }).join('&');\n }\n}\n\nfunction serializePathParameter(name: string, style: OpenAPIParameterStyle, explode: boolean, value: any): string {\n const suffix = explode ? '*' : '';\n let prefix = '';\n\n if (style === 'label') {\n prefix = '.';\n } else if (style === 'matrix') {\n prefix = ';';\n } // Use RFC6570 safe name ([a-zA-Z0-9_]) and replace with our name later\n // e.g. URI.template doesn't parse names with hyphen (-) which are valid query param names\n\n\n const safeName = '__redoc_param_name__';\n const template = URLtemplate.parse(`{${prefix}${safeName}${suffix}}`);\n return template.expand({\n [safeName]: value\n }).replace(/__redoc_param_name__/g, name);\n}\n\nfunction serializeQueryParameter(name: string, style: OpenAPIParameterStyle, explode: boolean, value: any): string {\n switch (style) {\n case 'form':\n return serializeFormValue(name, explode, value);\n\n case 'spaceDelimited':\n if (!Array.isArray(value)) {\n console.warn('The style spaceDelimited is only applicable to arrays');\n return '';\n }\n\n if (explode) {\n return serializeFormValue(name, explode, value);\n }\n\n return `${name}=${value.join('%20')}`;\n\n case 'pipeDelimited':\n if (!Array.isArray(value)) {\n console.warn('The style pipeDelimited is only applicable to arrays');\n return '';\n }\n\n if (explode) {\n return serializeFormValue(name, explode, value);\n }\n\n return `${name}=${value.join('|')}`;\n\n case 'deepObject':\n if (!explode || Array.isArray(value) || typeof value !== 'object') {\n console.warn('The style deepObject is only applicable for objects with explode=true');\n return '';\n }\n\n return deepObjectEncodeField(value, name);\n\n default:\n console.warn('Unexpected style for query: ' + style);\n return '';\n }\n}\n\nfunction serializeHeaderParameter(style: OpenAPIParameterStyle, explode: boolean, value: any): string {\n switch (style) {\n case 'simple':\n const suffix = explode ? '*' : ''; // name is not important here, so use RFC6570 safe name ([a-zA-Z0-9_])\n\n const name = '__redoc_param_name__';\n const template = URLtemplate.parse(`{${name}${suffix}}`);\n return decodeURIComponent(template.expand({\n [name]: value\n }));\n\n default:\n console.warn('Unexpected style for header: ' + style);\n return '';\n }\n}\n\nfunction serializeCookieParameter(name: string, style: OpenAPIParameterStyle, explode: boolean, value: any): string {\n switch (style) {\n case 'form':\n return serializeFormValue(name, explode, value);\n\n default:\n console.warn('Unexpected style for cookie: ' + style);\n return '';\n }\n}\n\nexport function serializeParameterValueWithMime(value: any, mime: string): string {\n if (isJsonLike(mime)) {\n return JSON.stringify(value);\n } else {\n console.warn(`Parameter serialization as ${mime} is not supported`);\n return '';\n }\n}\nexport function serializeParameterValue(parameter: OpenAPIParameter & {\n serializationMime?: string;\n}, value: any): string {\n const {\n name,\n style,\n explode = false,\n serializationMime\n } = parameter;\n\n if (serializationMime) {\n switch (parameter.in) {\n case 'path':\n case 'header':\n return serializeParameterValueWithMime(value, serializationMime);\n\n case 'cookie':\n case 'query':\n return `${name}=${serializeParameterValueWithMime(value, serializationMime)}`;\n\n default:\n console.warn('Unexpected parameter location: ' + parameter.in);\n return '';\n }\n }\n\n if (!style) {\n console.warn(`Missing style attribute or content for parameter ${name}`);\n return '';\n }\n\n switch (parameter.in) {\n case 'path':\n return serializePathParameter(name, style, explode, value);\n\n case 'query':\n return serializeQueryParameter(name, style, explode, value);\n\n case 'header':\n return serializeHeaderParameter(style, explode, value);\n\n case 'cookie':\n return serializeCookieParameter(name, style, explode, value);\n\n default:\n console.warn('Unexpected parameter location: ' + parameter.in);\n return '';\n }\n}\nexport function langFromMime(contentType: string): string {\n if (contentType.search(/xml/i) !== -1) {\n return 'xml';\n }\n\n return 'clike';\n}\nexport function isNamedDefinition(pointer?: string): boolean {\n return /^#\\/components\\/schemas\\/[^\\/]+$/.test(pointer || '');\n}\nexport function getDefinitionName(pointer?: string): string | undefined {\n if (!pointer) return undefined;\n const match = pointer.match(/^#\\/components\\/schemas\\/([^\\/]+)$/);\n return match === null ? undefined : match[1];\n}\n\nfunction humanizeMultipleOfConstraint(multipleOf: number | undefined): string | undefined {\n if (multipleOf === undefined) {\n return;\n }\n\n const strigifiedMultipleOf = multipleOf.toString(10);\n\n if (!/^0\\.0*1$/.test(strigifiedMultipleOf)) {\n return `multiple of ${strigifiedMultipleOf}`;\n }\n\n return `decimal places <= ${strigifiedMultipleOf.split('.')[1].length}`;\n}\n\nfunction humanizeRangeConstraint(description: string, min: number | undefined, max: number | undefined): string | undefined {\n let stringRange;\n\n if (min !== undefined && max !== undefined) {\n if (min === max) {\n stringRange = `${min} ${description}`;\n } else {\n stringRange = `[ ${min} .. ${max} ] ${description}`;\n }\n } else if (max !== undefined) {\n stringRange = `<= ${max} ${description}`;\n } else if (min !== undefined) {\n if (min === 1) {\n stringRange = 'non-empty';\n } else {\n stringRange = `>= ${min} ${description}`;\n }\n }\n\n return stringRange;\n}\n\nexport function humanizeConstraints(schema: OpenAPISchema): string[] {\n const res: string[] = [];\n const stringRange = humanizeRangeConstraint('characters', schema.minLength, schema.maxLength);\n\n if (stringRange !== undefined) {\n res.push(stringRange);\n }\n\n const arrayRange = humanizeRangeConstraint('items', schema.minItems, schema.maxItems);\n\n if (arrayRange !== undefined) {\n res.push(arrayRange);\n }\n\n const multipleOfConstraint = humanizeMultipleOfConstraint(schema.multipleOf);\n\n if (multipleOfConstraint !== undefined) {\n res.push(multipleOfConstraint);\n }\n\n let numberRange;\n\n if (schema.minimum !== undefined && schema.maximum !== undefined) {\n numberRange = schema.exclusiveMinimum ? '( ' : '[ ';\n numberRange += schema.minimum;\n numberRange += ' .. ';\n numberRange += schema.maximum;\n numberRange += schema.exclusiveMaximum ? ' )' : ' ]';\n } else if (schema.maximum !== undefined) {\n numberRange = schema.exclusiveMaximum ? '< ' : '<= ';\n numberRange += schema.maximum;\n } else if (schema.minimum !== undefined) {\n numberRange = schema.exclusiveMinimum ? '> ' : '>= ';\n numberRange += schema.minimum;\n }\n\n if (numberRange !== undefined) {\n res.push(numberRange);\n }\n\n if (schema.uniqueItems) {\n res.push('unique');\n }\n\n return res;\n}\nexport function sortByRequired(fields: FieldModel[], order: string[] = []) {\n const unrequiredFields: FieldModel[] = [];\n const orderedFields: FieldModel[] = [];\n const unorderedFields: FieldModel[] = [];\n fields.forEach(field => {\n if (field.required) {\n order.includes(field.name) ? orderedFields.push(field) : unorderedFields.push(field);\n } else {\n unrequiredFields.push(field);\n }\n });\n orderedFields.sort((a, b) => order.indexOf(a.name) - order.indexOf(b.name));\n return [...orderedFields, ...unorderedFields, ...unrequiredFields];\n}\nexport function sortByField(fields: FieldModel[], param: keyof Pick) {\n return [...fields].sort((a, b) => {\n return a[param].localeCompare(b[param]);\n });\n}\nexport function mergeParams(parser: OpenAPIParser, pathParams: Array> = [], operationParams: Array> = []): Array> {\n const operationParamNames = {};\n operationParams.forEach(param => {\n param = parser.shalowDeref(param);\n operationParamNames[param.name + '_' + param.in] = true;\n }); // filter out path params overridden by operation ones with the same name\n\n pathParams = pathParams.filter(param => {\n param = parser.shalowDeref(param);\n return !operationParamNames[param.name + '_' + param.in];\n });\n return pathParams.concat(operationParams);\n}\nexport function mergeSimilarMediaTypes(types: Record): Record {\n const mergedTypes = {};\n Object.keys(types).forEach(name => {\n const mime = types[name]; // ignore content type parameters (e.g. charset) and merge\n\n const normalizedMimeName = name.split(';')[0].trim();\n\n if (!mergedTypes[normalizedMimeName]) {\n mergedTypes[normalizedMimeName] = mime;\n return;\n }\n\n mergedTypes[normalizedMimeName] = { ...mergedTypes[normalizedMimeName],\n ...mime\n };\n });\n return mergedTypes;\n}\nexport function expandDefaultServerVariables(url: string, variables: object = {}) {\n return url.replace(/(?:{)([\\w-.]+)(?:})/g, (match, name) => variables[name] && variables[name].default || match);\n}\nexport function normalizeServers(specUrl: string | undefined, servers: OpenAPIServer[]): OpenAPIServer[] {\n const getHref = () => {\n if (!IS_BROWSER) {\n return '';\n }\n\n const href = window.location.href;\n return href.endsWith('.html') ? dirname(href) : href;\n };\n\n const baseUrl = specUrl === undefined ? removeQueryString(getHref()) : dirname(specUrl);\n\n if (servers.length === 0) {\n // Behaviour defined in OpenAPI spec: https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#openapi-object\n servers = [{\n url: '/'\n }];\n }\n\n function normalizeUrl(url: string): string {\n return resolveUrl(baseUrl, url);\n }\n\n return servers.map(server => {\n return { ...server,\n url: normalizeUrl(server.url),\n description: server.description || ''\n };\n });\n}\nexport const SECURITY_DEFINITIONS_COMPONENT_NAME = 'security-definitions';\nexport const SECURITY_DEFINITIONS_JSX_NAME = 'SecurityDefinitions';\nexport const SCHEMA_DEFINITION_JSX_NAME = 'SchemaDefinition';\nexport let SECURITY_SCHEMES_SECTION_PREFIX = 'section/Authentication/';\nexport function setSecuritySchemePrefix(prefix: string) {\n SECURITY_SCHEMES_SECTION_PREFIX = prefix;\n}\nexport const shortenHTTPVerb = verb => ({\n delete: 'del',\n options: 'opts'\n})[verb] || verb;\nexport function isRedocExtension(key: string): boolean {\n const redocExtensions = {\n 'x-circular-ref': true,\n 'x-code-samples': true,\n // deprecated\n 'x-codeSamples': true,\n 'x-displayName': true,\n 'x-examples': true,\n 'x-ignoredHeaderParameters': true,\n 'x-logo': true,\n 'x-nullable': true,\n 'x-servers': true,\n 'x-tagGroups': true,\n 'x-traitTag': true,\n 'x-additionalPropertiesName': true,\n 'x-explicitMappingOnly': true\n };\n return key in redocExtensions;\n}\nexport function extractExtensions(obj: object, showExtensions: string[] | true): Record {\n return Object.keys(obj).filter(key => {\n if (showExtensions === true) {\n return key.startsWith('x-') && !isRedocExtension(key);\n }\n\n return key.startsWith('x-') && showExtensions.indexOf(key) > -1;\n }).reduce((acc, key) => {\n acc[key] = obj[key];\n return acc;\n }, {});\n}\nexport function pluralizeType(displayType: string): string {\n return displayType.split(' or ').map(type => type.replace(/^(string|object|number|integer|array|boolean)s?( ?.*)/, '$1s$2')).join(' or ');\n}","import * as Prism from 'prismjs';\nimport 'prismjs/components/prism-bash.js';\nimport 'prismjs/components/prism-c.js';\nimport 'prismjs/components/prism-clike.js';\nimport 'prismjs/components/prism-coffeescript.js';\nimport 'prismjs/components/prism-cpp.js';\nimport 'prismjs/components/prism-csharp.js';\nimport 'prismjs/components/prism-go.js';\nimport 'prismjs/components/prism-http.js';\nimport 'prismjs/components/prism-java.js';\nimport 'prismjs/components/prism-lua.js';\nimport 'prismjs/components/prism-markup-templating.js'; // dep of php\n\nimport 'prismjs/components/prism-markup.js'; // xml\n\nimport 'prismjs/components/prism-objectivec.js';\nimport 'prismjs/components/prism-perl.js';\nimport 'prismjs/components/prism-php.js';\nimport 'prismjs/components/prism-python.js';\nimport 'prismjs/components/prism-ruby.js';\nimport 'prismjs/components/prism-scala.js';\nimport 'prismjs/components/prism-sql.js';\nimport 'prismjs/components/prism-swift.js';\nconst DEFAULT_LANG = 'clike';\nPrism.languages.insertBefore('javascript', 'string', ({\n 'property string': {\n pattern: /([{,]\\s*)\"(?:\\\\.|[^\\\\\"\\r\\n])*\"(?=\\s*:)/i,\n lookbehind: true\n }\n} as any), (undefined as any));\nPrism.languages.insertBefore('javascript', 'punctuation', {\n property: {\n pattern: /([{,]\\s*)[a-z]\\w*(?=\\s*:)/i,\n lookbehind: true\n }\n}, (undefined as any));\n/**\n * map language names to Prism.js names\n */\n\nexport function mapLang(lang: string): string {\n return {\n json: 'js',\n 'c++': 'cpp',\n 'c#': 'csharp',\n 'objective-c': 'objectivec',\n shell: 'bash',\n viml: 'vim'\n }[lang] || DEFAULT_LANG;\n}\n/**\n * Highlight source code string using Prism.js\n * @param source source code to highlight\n * @param lang highlight language\n * @return highlighted source code as **html string**\n */\n\nexport function highlight(source: string, lang: string = DEFAULT_LANG): string {\n lang = lang.toLowerCase();\n let grammar = Prism.languages[lang];\n\n if (!grammar) {\n grammar = Prism.languages[mapLang(lang)];\n }\n\n return Prism.highlight(source, grammar, lang);\n}","function throttle(func, wait) {\n let context;\n let args;\n let result;\n let timeout: any = null;\n let previous = 0;\n\n const later = () => {\n previous = new Date().getTime();\n timeout = null;\n result = func.apply(context, args);\n\n if (!timeout) {\n context = args = null;\n }\n };\n\n return function () {\n const now = new Date().getTime();\n const remaining = wait - (now - previous);\n context = this; // eslint-disable-next-line prefer-rest-params\n\n args = arguments;\n\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n\n previous = now;\n result = func.apply(context, args);\n\n if (!timeout) {\n context = args = null;\n }\n } else if (!timeout) {\n timeout = setTimeout(later, remaining);\n }\n\n return result;\n };\n}\n\nexport function Throttle(delay: number) {\n return (_, _2, desc: PropertyDescriptor) => {\n desc.value = throttle(desc.value, delay);\n };\n}","export function debugTime(label: string) {\n if (process.env.NODE_ENV !== 'production') {\n console.time(label);\n }\n}\nexport function debugTimeEnd(label: string) {\n if (process.env.NODE_ENV !== 'production') {\n console.timeEnd(label);\n }\n}","// source: https://github.com/andreypopp/memoize-decorator\nconst SENTINEL = {};\nexport function memoize(target: any, name: string, descriptor: TypedPropertyDescriptor) {\n if (typeof descriptor.value === 'function') {\n return ((_memoizeMethod(target, name, descriptor) as any) as TypedPropertyDescriptor);\n } else if (typeof descriptor.get === 'function') {\n return (_memoizeGetter(target, name, descriptor) as TypedPropertyDescriptor);\n } else {\n throw new Error('@memoize decorator can be applied to methods or getters, got ' + String(descriptor.value) + ' instead');\n }\n}\n\nfunction _memoizeGetter(target: any, name: string, descriptor: PropertyDescriptor) {\n const memoizedName = `_memoized_${name}`;\n const get = descriptor.get!;\n target[memoizedName] = SENTINEL;\n return { ...descriptor,\n\n get() {\n if (this[memoizedName] === SENTINEL) {\n this[memoizedName] = get.call(this);\n }\n\n return this[memoizedName];\n }\n\n };\n}\n\nfunction _memoizeMethod(target: any, name: string, descriptor: TypedPropertyDescriptor) {\n if (!descriptor.value || (descriptor.value as any).length > 0) {\n throw new Error('@memoize decorator can only be applied to methods of zero arguments');\n }\n\n const memoizedName = `_memoized_${name}`;\n const value = descriptor.value;\n target[memoizedName] = SENTINEL;\n return { ...descriptor,\n\n value() {\n if (this[memoizedName] === SENTINEL) {\n this[memoizedName] = (value as any).call(this);\n }\n\n return (this[memoizedName] as any);\n }\n\n };\n}","export * from './JsonPointer';\nexport * from './openapi';\nexport * from './helpers';\nexport * from './highlight';\nexport * from './loadAndBundleSpec';\nexport * from './dom';\nexport * from './decorators';\nexport * from './debug';\nexport * from './memoize';","import { bind, debounce } from 'decko';\nimport { EventEmitter } from 'eventemitter3';\nimport { IS_BROWSER } from '../utils/';\nconst EVENT = 'hashchange';\nexport class HistoryService {\n private _emiter;\n\n constructor() {\n this._emiter = new EventEmitter();\n this.bind();\n }\n\n get currentId(): string {\n return IS_BROWSER ? decodeURIComponent(window.location.hash.substring(1)) : '';\n }\n\n linkForId(id: string) {\n if (!id) {\n return '';\n }\n\n return '#' + id;\n }\n\n subscribe(cb): () => void {\n const emmiter = this._emiter.addListener(EVENT, cb);\n\n return () => emmiter.removeListener(EVENT, cb);\n }\n\n emit = () => {\n this._emiter.emit(EVENT, this.currentId);\n };\n\n bind() {\n if (IS_BROWSER) {\n window.addEventListener('hashchange', this.emit, false);\n }\n }\n\n dispose() {\n if (IS_BROWSER) {\n window.removeEventListener('hashchange', this.emit);\n }\n }\n\n @bind\n @debounce\n replace(id: string | null, rewriteHistory: boolean = false) {\n if (!IS_BROWSER) {\n return;\n }\n\n if (id == null || id === this.currentId) {\n return;\n }\n\n if (rewriteHistory) {\n window.history.replaceState(null, '', window.location.href.split('#')[0] + this.linkForId(id));\n return;\n }\n\n window.history.pushState(null, '', window.location.href.split('#')[0] + this.linkForId(id));\n this.emit();\n }\n\n}\nexport const history = new HistoryService();\n\nif (module.hot) {\n module.hot.dispose(() => {\n history.dispose();\n });\n}","import * as Mark from 'mark.js';\nexport class MarkerService {\n map: Map = new Map();\n private prevTerm: string = '';\n\n add(el: HTMLElement) {\n this.map.set(el, new Mark(el));\n }\n\n delete(el: Element) {\n this.map.delete(el);\n }\n\n addOnly(elements: Element[]) {\n this.map.forEach((inst, elem) => {\n if (elements.indexOf(elem) === -1) {\n inst.unmark();\n this.map.delete(elem);\n }\n });\n\n for (const el of elements) {\n if (!this.map.has(el)) {\n this.map.set(el, new Mark((el as HTMLElement)));\n }\n }\n }\n\n clearAll() {\n this.unmark();\n this.map.clear();\n }\n\n mark(term?: string) {\n if (!term && !this.prevTerm) {\n return;\n }\n\n this.map.forEach(val => {\n val.unmark();\n val.mark(term || this.prevTerm);\n });\n this.prevTerm = term || this.prevTerm;\n }\n\n unmark() {\n this.map.forEach(val => val.unmark());\n this.prevTerm = '';\n }\n\n}","import * as marked from 'marked';\nimport { highlight, safeSlugify, unescapeHTMLChars } from '../utils';\nimport { AppStore } from './AppStore';\nimport { RedocNormalizedOptions } from './RedocNormalizedOptions';\nconst renderer = new marked.Renderer();\nmarked.setOptions({\n renderer,\n highlight: (str, lang) => {\n return highlight(str, lang);\n }\n});\nexport const LEGACY_REGEXP = '^ {0,3}\\\\s*$'; // prettier-ignore\n\nexport const MDX_COMPONENT_REGEXP = '(?:^ {0,3}<({component})([\\\\s\\\\S]*?)>([\\\\s\\\\S]*?)' // with children\n+ '|^ {0,3}<({component})([\\\\s\\\\S]*?)(?:/>|\\\\n{2,}))'; // self-closing\n\nexport const COMPONENT_REGEXP = '(?:' + LEGACY_REGEXP + '|' + MDX_COMPONENT_REGEXP + ')';\nexport interface MDXComponentMeta {\n component: React.ComponentType;\n propsSelector: (store?: AppStore) => any;\n props?: object;\n}\nexport interface MarkdownHeading {\n id: string;\n name: string;\n level: number;\n items?: MarkdownHeading[];\n description?: string;\n}\nexport function buildComponentComment(name: string) {\n return ``;\n}\nexport class MarkdownRenderer {\n static containsComponent(rawText: string, componentName: string) {\n const compRegexp = new RegExp(COMPONENT_REGEXP.replace(/{component}/g, componentName), 'gmi');\n return compRegexp.test(rawText);\n }\n\n static getTextBeforeHading(md: string, heading: string): string {\n const headingLinePos = md.search(new RegExp(`^##?\\\\s+${heading}`, 'm'));\n\n if (headingLinePos > -1) {\n return md.substring(0, headingLinePos);\n }\n\n return md;\n }\n\n headings: MarkdownHeading[] = [];\n currentTopHeading: MarkdownHeading;\n private headingEnhanceRenderer: marked.Renderer;\n private originalHeadingRule: typeof marked.Renderer.prototype.heading;\n\n constructor(public options?: RedocNormalizedOptions) {\n this.headingEnhanceRenderer = new marked.Renderer();\n this.originalHeadingRule = this.headingEnhanceRenderer.heading.bind(this.headingEnhanceRenderer);\n this.headingEnhanceRenderer.heading = this.headingRule;\n }\n\n saveHeading(name: string, level: number, container: MarkdownHeading[] = this.headings, parentId?: string): MarkdownHeading {\n name = unescapeHTMLChars(name);\n const item = {\n id: parentId ? `${parentId}/${safeSlugify(name)}` : `section/${safeSlugify(name)}`,\n name,\n level,\n items: []\n };\n container.push(item);\n return item;\n }\n\n flattenHeadings(container?: MarkdownHeading[]): MarkdownHeading[] {\n if (container === undefined) {\n return [];\n }\n\n const res: MarkdownHeading[] = [];\n\n for (const heading of container) {\n res.push(heading);\n res.push(...this.flattenHeadings(heading.items));\n }\n\n return res;\n }\n\n attachHeadingsDescriptions(rawText: string) {\n const buildRegexp = (heading: MarkdownHeading) => {\n return new RegExp(`##?\\\\s+${heading.name.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&')}`);\n };\n\n const flatHeadings = this.flattenHeadings(this.headings);\n\n if (flatHeadings.length < 1) {\n return;\n }\n\n let prevHeading = flatHeadings[0];\n let prevRegexp = buildRegexp(prevHeading);\n let prevPos = rawText.search(prevRegexp);\n\n for (let i = 1; i < flatHeadings.length; i++) {\n const heading = flatHeadings[i];\n const regexp = buildRegexp(heading);\n const currentPos = rawText.substr(prevPos + 1).search(regexp) + prevPos + 1;\n prevHeading.description = rawText.substring(prevPos, currentPos).replace(prevRegexp, '').trim();\n prevHeading = heading;\n prevRegexp = regexp;\n prevPos = currentPos;\n }\n\n prevHeading.description = rawText.substring(prevPos).replace(prevRegexp, '').trim();\n }\n\n headingRule = (text: string, level: 1 | 2 | 3 | 4 | 5 | 6, raw: string, slugger: marked.Slugger) => {\n if (level === 1) {\n this.currentTopHeading = this.saveHeading(text, level);\n } else if (level === 2) {\n this.saveHeading(text, level, this.currentTopHeading && this.currentTopHeading.items, this.currentTopHeading && this.currentTopHeading.id);\n }\n\n return this.originalHeadingRule(text, level, raw, slugger);\n };\n\n renderMd(rawText: string, extractHeadings: boolean = false): string {\n const opts = extractHeadings ? {\n renderer: this.headingEnhanceRenderer\n } : undefined;\n const res = marked(rawText.toString(), opts);\n return res;\n }\n\n extractHeadings(rawText: string): MarkdownHeading[] {\n this.renderMd(rawText, true);\n this.attachHeadingsDescriptions(rawText);\n const res = this.headings;\n this.headings = [];\n return res;\n } // regexp-based 👎: remark is slow and too big so for now using marked + regexps soup\n\n\n renderMdWithComponents(rawText: string): Array {\n const components = this.options && this.options.allowedMdComponents;\n\n if (!components || Object.keys(components).length === 0) {\n return [this.renderMd(rawText)];\n }\n\n const names = Object.keys(components).join('|');\n const componentsRegexp = new RegExp(COMPONENT_REGEXP.replace(/{component}/g, names), 'mig');\n const htmlParts: string[] = [];\n const componentDefs: MDXComponentMeta[] = [];\n let match = componentsRegexp.exec(rawText);\n let lasxtIdx = 0;\n\n while (match) {\n htmlParts.push(rawText.substring(lasxtIdx, match.index));\n lasxtIdx = componentsRegexp.lastIndex;\n const compName = match[1] || match[2] || match[5];\n const componentMeta = components[compName];\n const props = match[3] || match[6];\n const children = match[4];\n\n if (componentMeta) {\n componentDefs.push({\n component: componentMeta.component,\n propsSelector: componentMeta.propsSelector,\n props: { ...parseProps(props),\n ...componentMeta.props,\n children\n }\n });\n }\n\n match = componentsRegexp.exec(rawText);\n }\n\n htmlParts.push(rawText.substring(lasxtIdx));\n const res: any[] = [];\n\n for (let i = 0; i < htmlParts.length; i++) {\n const htmlPart = htmlParts[i];\n\n if (htmlPart) {\n res.push(this.renderMd(htmlPart));\n }\n\n if (componentDefs[i]) {\n res.push(componentDefs[i]);\n }\n }\n\n return res;\n }\n\n}\n\nfunction parseProps(props: string): object {\n if (!props) {\n return {};\n }\n\n const regex = /([\\w-]+)\\s*=\\s*(?:{([^}]+?)}|\"([^\"]+?)\")/gim;\n const parsed = {};\n let match; // tslint:disable-next-line\n\n while ((match = regex.exec(props)) !== null) {\n if (match[3]) {\n // string prop match (in double quotes)\n parsed[match[1]] = match[3];\n } else if (match[2]) {\n // jsx prop match (in curly braces)\n let val;\n\n try {\n val = JSON.parse(match[2]);\n } catch (e) {\n /* noop */\n }\n\n parsed[match[1]] = val;\n }\n }\n\n return parsed;\n}","import { OpenAPIContact, OpenAPIInfo, OpenAPILicense } from '../../types';\nimport { IS_BROWSER } from '../../utils/';\nimport { OpenAPIParser } from '../OpenAPIParser';\nexport class ApiInfoModel implements OpenAPIInfo {\n title: string;\n version: string;\n description: string;\n termsOfService?: string;\n contact?: OpenAPIContact;\n license?: OpenAPILicense;\n downloadLink?: string;\n downloadFileName?: string;\n\n constructor(private parser: OpenAPIParser) {\n Object.assign(this, parser.spec.info);\n this.description = parser.spec.info.description || '';\n const firstHeadingLinePos = this.description.search(/^##?\\s+/m);\n\n if (firstHeadingLinePos > -1) {\n this.description = this.description.substring(0, firstHeadingLinePos);\n }\n\n this.downloadLink = this.getDownloadLink();\n this.downloadFileName = this.getDownloadFileName();\n }\n\n private getDownloadLink(): string | undefined {\n if (this.parser.specUrl) {\n return this.parser.specUrl;\n }\n\n if (IS_BROWSER && window.Blob && window.URL && window.URL.createObjectURL) {\n const blob = new Blob([JSON.stringify(this.parser.spec, null, 2)], {\n type: 'application/json'\n });\n return window.URL.createObjectURL(blob);\n }\n }\n\n private getDownloadFileName(): string | undefined {\n if (!this.parser.specUrl) {\n return 'swagger.json';\n }\n\n return undefined;\n }\n\n}","import { OpenAPISecurityRequirement, OpenAPISecurityScheme } from '../../types';\nimport { SECURITY_SCHEMES_SECTION_PREFIX } from '../../utils/openapi';\nimport { OpenAPIParser } from '../OpenAPIParser';\nexport interface SecurityScheme extends OpenAPISecurityScheme {\n id: string;\n sectionId: string;\n scopes: string[];\n}\nexport class SecurityRequirementModel {\n schemes: SecurityScheme[];\n\n constructor(requirement: OpenAPISecurityRequirement, parser: OpenAPIParser) {\n const schemes = parser.spec.components && parser.spec.components.securitySchemes || {};\n this.schemes = (Object.keys(requirement || {}).map(id => {\n const scheme = parser.deref(schemes[id]);\n const scopes = requirement[id] || [];\n\n if (!scheme) {\n console.warn(`Non existing security scheme referenced: ${id}. Skipping`);\n return undefined;\n }\n\n return { ...scheme,\n id,\n sectionId: SECURITY_SCHEMES_SECTION_PREFIX + id,\n scopes\n };\n }).filter(scheme => scheme !== undefined) as SecurityScheme[]);\n }\n\n}","import { action, observable, makeObservable } from 'mobx';\nimport { OpenAPICallback, Referenced } from '../../types';\nimport { isOperationName, JsonPointer } from '../../utils';\nimport { OpenAPIParser } from '../OpenAPIParser';\nimport { OperationModel } from './Operation';\nimport { RedocNormalizedOptions } from '../RedocNormalizedOptions';\nexport class CallbackModel {\n @observable\n expanded: boolean = false;\n name: string;\n operations: OperationModel[] = [];\n\n constructor(parser: OpenAPIParser, name: string, infoOrRef: Referenced, pointer: string, options: RedocNormalizedOptions) {\n makeObservable(this);\n this.name = name;\n const paths = parser.deref(infoOrRef);\n parser.exitRef(infoOrRef);\n\n for (const pathName of Object.keys(paths)) {\n const path = paths[pathName];\n const operations = Object.keys(path).filter(isOperationName);\n\n for (const operationName of operations) {\n const operationInfo = path[operationName];\n const operation = new OperationModel(parser, { ...operationInfo,\n pathName,\n pointer: JsonPointer.compile([pointer, name, pathName, operationName]),\n httpVerb: operationName,\n pathParameters: path.parameters || [],\n pathServers: path.servers\n }, undefined, options, true);\n this.operations.push(operation);\n }\n }\n }\n\n @action\n toggle() {\n this.expanded = !this.expanded;\n }\n\n}","import { action, observable, makeObservable } from 'mobx';\nimport { OpenAPIExternalDocumentation, OpenAPISchema, Referenced } from '../../types';\nimport { OpenAPIParser } from '../OpenAPIParser';\nimport { RedocNormalizedOptions } from '../RedocNormalizedOptions';\nimport { FieldModel } from './Field';\nimport { MergedOpenAPISchema } from '../';\nimport { detectType, extractExtensions, humanizeConstraints, isNamedDefinition, isPrimitiveType, JsonPointer, pluralizeType, sortByField, sortByRequired } from '../../utils/';\nimport { l } from '../Labels'; // TODO: refactor this model, maybe use getters instead of copying all the values\n\nexport class SchemaModel {\n pointer: string;\n type: string;\n displayType: string;\n typePrefix: string = '';\n title: string;\n description: string;\n externalDocs?: OpenAPIExternalDocumentation;\n isPrimitive: boolean;\n isCircular: boolean = false;\n format?: string;\n displayFormat?: string;\n nullable: boolean;\n deprecated: boolean;\n pattern?: string;\n example?: any;\n enum: any[];\n default?: any;\n readOnly: boolean;\n writeOnly: boolean;\n constraints: string[];\n fields?: FieldModel[];\n items?: SchemaModel;\n oneOf?: SchemaModel[];\n oneOfType: string;\n discriminatorProp: string;\n @observable\n activeOneOf: number = 0;\n rawSchema: OpenAPISchema;\n schema: MergedOpenAPISchema;\n extensions?: Record;\n /**\n * @param isChild if schema discriminator Child\n * When true forces dereferencing in allOfs even if circular\n */\n\n constructor(parser: OpenAPIParser, schemaOrRef: Referenced, pointer: string, private options: RedocNormalizedOptions, isChild: boolean = false) {\n makeObservable(this);\n this.pointer = schemaOrRef.$ref || pointer || '';\n this.rawSchema = parser.deref(schemaOrRef);\n this.schema = parser.mergeAllOf(this.rawSchema, this.pointer, isChild);\n this.init(parser, isChild);\n parser.exitRef(schemaOrRef);\n parser.exitParents(this.schema);\n\n if (options.showExtensions) {\n this.extensions = extractExtensions(this.schema, options.showExtensions);\n }\n }\n /**\n * Set specified alternative schema as active\n * @param idx oneOf index\n */\n\n\n @action\n activateOneOf(idx: number) {\n this.activeOneOf = idx;\n }\n\n init(parser: OpenAPIParser, isChild: boolean) {\n const schema = this.schema;\n this.isCircular = schema['x-circular-ref'];\n this.title = schema.title || isNamedDefinition(this.pointer) && JsonPointer.baseName(this.pointer) || '';\n this.description = schema.description || '';\n this.type = schema.type || detectType(schema);\n this.format = schema.format;\n this.nullable = !!schema.nullable;\n this.enum = schema.enum || [];\n this.example = schema.example;\n this.deprecated = !!schema.deprecated;\n this.pattern = schema.pattern;\n this.externalDocs = schema.externalDocs;\n this.constraints = humanizeConstraints(schema);\n this.displayType = this.type;\n this.displayFormat = this.format;\n this.isPrimitive = isPrimitiveType(schema, this.type);\n this.default = schema.default;\n this.readOnly = !!schema.readOnly;\n this.writeOnly = !!schema.writeOnly;\n\n if (this.isCircular) {\n return;\n }\n\n if (!isChild && getDiscriminator(schema) !== undefined) {\n this.initDiscriminator(schema, parser);\n return;\n } else if (isChild && Array.isArray(schema.oneOf) && schema.oneOf.find(s => s.$ref === this.pointer)) {\n // we hit allOf of the schema with the parent discriminator\n delete schema.oneOf;\n }\n\n if (schema.oneOf !== undefined) {\n this.initOneOf(schema.oneOf, parser);\n this.oneOfType = 'One of';\n\n if (schema.anyOf !== undefined) {\n console.warn(`oneOf and anyOf are not supported on the same level. Skipping anyOf at ${this.pointer}`);\n }\n\n return;\n }\n\n if (schema.anyOf !== undefined) {\n this.initOneOf(schema.anyOf, parser);\n this.oneOfType = 'Any of';\n return;\n }\n\n if (this.type === 'object') {\n this.fields = buildFields(parser, schema, this.pointer, this.options);\n } else if (this.type === 'array' && schema.items) {\n this.items = new SchemaModel(parser, schema.items, this.pointer + '/items', this.options);\n this.displayType = pluralizeType(this.items.displayType);\n this.displayFormat = this.items.format;\n this.typePrefix = this.items.typePrefix + l('arrayOf');\n this.title = this.title || this.items.title;\n this.isPrimitive = this.items.isPrimitive;\n\n if (this.example === undefined && this.items.example !== undefined) {\n this.example = [this.items.example];\n }\n\n if (this.items.isPrimitive) {\n this.enum = this.items.enum;\n }\n }\n\n if (this.enum.length && this.options.sortEnumValuesAlphabetically) {\n this.enum.sort();\n }\n }\n\n private initOneOf(oneOf: OpenAPISchema[], parser: OpenAPIParser) {\n this.oneOf = oneOf!.map((variant, idx) => {\n const derefVariant = parser.deref(variant);\n const merged = parser.mergeAllOf(derefVariant, this.pointer + '/oneOf/' + idx); // try to infer title\n\n const title = isNamedDefinition(variant.$ref) && !merged.title ? JsonPointer.baseName(variant.$ref) : merged.title;\n const schema = new SchemaModel(parser, ( // merge base schema into each of oneOf's subschemas\n { // variant may already have allOf so merge it to not get overwritten\n ...merged,\n title,\n allOf: [{ ...this.schema,\n oneOf: undefined,\n anyOf: undefined\n }]\n } as OpenAPISchema), this.pointer + '/oneOf/' + idx, this.options);\n parser.exitRef(variant); // each oneOf should be independent so exiting all the parent refs\n // otherwise it will cause false-positive recursive detection\n\n parser.exitParents(merged);\n return schema;\n });\n\n if (this.options.simpleOneOfTypeLabel) {\n const types = collectUniqueOneOfTypesDeep(this);\n this.displayType = types.join(' or ');\n } else {\n this.displayType = this.oneOf.map(schema => {\n let name = schema.typePrefix + (schema.title ? `${schema.title} (${schema.displayType})` : schema.displayType);\n\n if (name.indexOf(' or ') > -1) {\n name = `(${name})`;\n }\n\n return name;\n }).join(' or ');\n }\n }\n\n private initDiscriminator(schema: OpenAPISchema & {\n parentRefs?: string[];\n }, parser: OpenAPIParser) {\n const discriminator = getDiscriminator(schema)!;\n this.discriminatorProp = discriminator.propertyName;\n const implicitInversedMapping = parser.findDerived([...(schema.parentRefs || []), this.pointer]);\n\n if (schema.oneOf) {\n for (const variant of schema.oneOf) {\n if (variant.$ref === undefined) {\n continue;\n }\n\n const name = JsonPointer.baseName(variant.$ref);\n implicitInversedMapping[variant.$ref] = name;\n }\n }\n\n const mapping = discriminator.mapping || {}; // Defines if the mapping is exhaustive. This avoids having references\n // that overlap with the mapping entries\n\n let isLimitedToMapping = discriminator['x-explicitMappingOnly'] || false; // if there are no mappings, assume non-exhaustive\n\n if (Object.keys(mapping).length === 0) {\n isLimitedToMapping = false;\n }\n\n const explicitInversedMapping = {};\n\n for (const name in mapping) {\n const $ref = mapping[name];\n\n if (Array.isArray(explicitInversedMapping[$ref])) {\n explicitInversedMapping[$ref].push(name);\n } else {\n // overrides implicit mapping here\n explicitInversedMapping[$ref] = [name];\n }\n }\n\n const inversedMapping = isLimitedToMapping ? { ...explicitInversedMapping\n } : { ...implicitInversedMapping,\n ...explicitInversedMapping\n };\n let refs: Array<{\n $ref;\n name;\n }> = [];\n\n for (const $ref of Object.keys(inversedMapping)) {\n const names = inversedMapping[$ref];\n\n if (Array.isArray(names)) {\n for (const name of names) {\n refs.push({\n $ref,\n name\n });\n }\n } else {\n refs.push({\n $ref,\n name: names\n });\n }\n } // Make the listing respects the mapping\n // in case a mapping is defined, the user usually wants to have the order shown\n // as it was defined in the yaml. This will sort the names given the provided\n // mapping (if provided).\n // The logic is:\n // - If a name is among the mapping, promote it to first\n // - Names among the mapping are sorted by their order in the mapping\n // - Names outside the mapping are sorted alphabetically\n\n\n const names = Object.keys(mapping);\n\n if (names.length !== 0) {\n refs = refs.sort((left, right) => {\n const indexLeft = names.indexOf(left.name);\n const indexRight = names.indexOf(right.name);\n\n if (indexLeft < 0 && indexRight < 0) {\n // out of mapping, order by name\n return left.name.localeCompare(right.name);\n } else if (indexLeft < 0) {\n // the right is found, so mapping wins\n return 1;\n } else if (indexRight < 0) {\n // left wins as it's in mapping\n return -1;\n } else {\n return indexLeft - indexRight;\n }\n });\n }\n\n this.oneOf = refs.map(({\n $ref,\n name\n }) => {\n const innerSchema = new SchemaModel(parser, parser.byRef($ref)!, $ref, this.options, true);\n innerSchema.title = name;\n return innerSchema;\n });\n }\n\n}\n\nfunction buildFields(parser: OpenAPIParser, schema: OpenAPISchema, $ref: string, options: RedocNormalizedOptions): FieldModel[] {\n const props = schema.properties || {};\n const additionalProps = schema.additionalProperties;\n const defaults = schema.default || {};\n let fields = Object.keys(props || []).map(fieldName => {\n let field = props[fieldName];\n\n if (!field) {\n console.warn(`Field \"${fieldName}\" is invalid, skipping.\\n Field must be an object but got ${typeof field} at \"${$ref}\"`);\n field = {};\n }\n\n const required = schema.required === undefined ? false : schema.required.indexOf(fieldName) > -1;\n return new FieldModel(parser, {\n name: fieldName,\n required,\n schema: { ...field,\n default: field.default === undefined ? defaults[fieldName] : field.default\n }\n }, $ref + '/properties/' + fieldName, options);\n });\n\n if (options.sortPropsAlphabetically) {\n fields = sortByField(fields, 'name');\n }\n\n if (options.requiredPropsFirst) {\n // if not sort alphabetically sort in the order from required keyword\n fields = sortByRequired(fields, !options.sortPropsAlphabetically ? schema.required : undefined);\n }\n\n if (typeof additionalProps === 'object' || additionalProps === true) {\n fields.push(new FieldModel(parser, {\n name: (typeof additionalProps === 'object' ? additionalProps['x-additionalPropertiesName'] || 'property name' : 'property name').concat('*'),\n required: false,\n schema: additionalProps === true ? {} : additionalProps,\n kind: 'additionalProperties'\n }, $ref + '/additionalProperties', options));\n }\n\n return fields;\n}\n\nfunction getDiscriminator(schema: OpenAPISchema): OpenAPISchema['discriminator'] {\n return schema.discriminator || schema['x-discriminator'];\n}\n\nfunction collectUniqueOneOfTypesDeep(schema: SchemaModel) {\n const uniqueTypes = new Set();\n\n function crawl(schema: SchemaModel) {\n for (const oneOfType of schema.oneOf || []) {\n if (oneOfType.oneOf) {\n crawl(oneOfType);\n continue;\n }\n\n if (oneOfType.type) {\n uniqueTypes.add(oneOfType.type);\n }\n }\n }\n\n crawl(schema);\n return Array.from(uniqueTypes.values());\n}","import { resolve as urlResolve } from 'url';\nimport { OpenAPIEncoding, OpenAPIExample, Referenced } from '../../types';\nimport { isFormUrlEncoded, isJsonLike, urlFormEncodePayload } from '../../utils/openapi';\nimport { OpenAPIParser } from '../OpenAPIParser';\nconst externalExamplesCache: {\n [url: string]: Promise;\n} = {};\nexport class ExampleModel {\n value: any;\n summary?: string;\n description?: string;\n externalValueUrl?: string;\n\n constructor(parser: OpenAPIParser, infoOrRef: Referenced, public mime: string, encoding?: {\n [field: string]: OpenAPIEncoding;\n }) {\n const example = parser.deref(infoOrRef);\n this.value = example.value;\n this.summary = example.summary;\n this.description = example.description;\n\n if (example.externalValue) {\n this.externalValueUrl = urlResolve(parser.specUrl || '', example.externalValue);\n }\n\n parser.exitRef(infoOrRef);\n\n if (isFormUrlEncoded(mime) && this.value && typeof this.value === 'object') {\n this.value = urlFormEncodePayload(this.value, encoding);\n }\n }\n\n getExternalValue(mimeType: string): Promise {\n if (!this.externalValueUrl) {\n return Promise.resolve(undefined);\n }\n\n if (externalExamplesCache[this.externalValueUrl]) {\n return externalExamplesCache[this.externalValueUrl];\n }\n\n externalExamplesCache[this.externalValueUrl] = fetch(this.externalValueUrl).then(res => {\n return res.text().then(txt => {\n if (!res.ok) {\n return Promise.reject(new Error(txt));\n }\n\n if (isJsonLike(mimeType)) {\n try {\n return JSON.parse(txt);\n } catch (e) {\n return txt;\n }\n } else {\n return txt;\n }\n });\n });\n return externalExamplesCache[this.externalValueUrl];\n }\n\n}","import { action, observable, makeObservable } from 'mobx';\nimport { OpenAPIParameter, OpenAPIParameterLocation, OpenAPIParameterStyle, Referenced } from '../../types';\nimport { RedocNormalizedOptions } from '../RedocNormalizedOptions';\nimport { extractExtensions } from '../../utils/openapi';\nimport { OpenAPIParser } from '../OpenAPIParser';\nimport { SchemaModel } from './Schema';\nimport { ExampleModel } from './Example';\nimport { mapValues } from '../../utils/helpers';\nconst DEFAULT_SERIALIZATION: Record = {\n path: {\n style: 'simple',\n explode: false\n },\n query: {\n style: 'form',\n explode: true\n },\n header: {\n style: 'simple',\n explode: false\n },\n cookie: {\n style: 'form',\n explode: true\n }\n};\n/**\n * Field or Parameter model ready to be used by components\n */\n\nexport class FieldModel {\n @observable\n expanded: boolean | undefined = false;\n schema: SchemaModel;\n name: string;\n required: boolean;\n description: string;\n example?: string;\n examples?: Record;\n deprecated: boolean;\n in?: OpenAPIParameterLocation;\n kind: string;\n extensions?: Record;\n explode: boolean;\n style?: OpenAPIParameterStyle;\n serializationMime?: string;\n\n constructor(parser: OpenAPIParser, infoOrRef: Referenced & {\n name?: string;\n kind?: string;\n }, pointer: string, options: RedocNormalizedOptions) {\n makeObservable(this);\n const info = parser.deref(infoOrRef);\n this.kind = infoOrRef.kind || 'field';\n this.name = infoOrRef.name || info.name;\n this.in = info.in;\n this.required = !!info.required;\n let fieldSchema = info.schema;\n let serializationMime = '';\n\n if (!fieldSchema && info.in && info.content) {\n serializationMime = Object.keys(info.content)[0];\n fieldSchema = info.content[serializationMime] && info.content[serializationMime].schema;\n }\n\n this.schema = new SchemaModel(parser, fieldSchema || {}, pointer, options);\n this.description = info.description === undefined ? this.schema.description || '' : info.description;\n this.example = info.example || this.schema.example;\n\n if (info.examples !== undefined) {\n this.examples = mapValues(info.examples, example => new ExampleModel(parser, example, name, info.encoding));\n }\n\n if (serializationMime) {\n this.serializationMime = serializationMime;\n } else if (info.style) {\n this.style = info.style;\n } else if (this.in) {\n this.style = DEFAULT_SERIALIZATION[this.in]?.style ?? 'form'; // fallback to from in case \"in\" is invalid\n }\n\n if (info.explode === undefined && this.in) {\n this.explode = DEFAULT_SERIALIZATION[this.in]?.explode ?? true;\n } else {\n this.explode = !!info.explode;\n }\n\n this.deprecated = info.deprecated === undefined ? !!this.schema.deprecated : info.deprecated;\n parser.exitRef(infoOrRef);\n\n if (options.showExtensions) {\n this.extensions = extractExtensions(info, options.showExtensions);\n }\n }\n\n @action\n toggle() {\n this.expanded = !this.expanded;\n }\n\n}","import * as Sampler from 'openapi-sampler';\nimport { OpenAPIMediaType } from '../../types';\nimport { RedocNormalizedOptions } from '../RedocNormalizedOptions';\nimport { SchemaModel } from './Schema';\nimport { isJsonLike, mapValues } from '../../utils';\nimport { OpenAPIParser } from '../OpenAPIParser';\nimport { ExampleModel } from './Example';\nexport class MediaTypeModel {\n examples?: {\n [name: string]: ExampleModel;\n };\n schema?: SchemaModel;\n name: string;\n isRequestType: boolean;\n onlyRequiredInSamples: boolean;\n /**\n * @param isRequestType needed to know if skipe RO/RW fields in objects\n */\n\n constructor(parser: OpenAPIParser, name: string, isRequestType: boolean, info: OpenAPIMediaType, options: RedocNormalizedOptions) {\n this.name = name;\n this.isRequestType = isRequestType;\n this.schema = info.schema && new SchemaModel(parser, info.schema, '', options);\n this.onlyRequiredInSamples = options.onlyRequiredInSamples;\n\n if (info.examples !== undefined) {\n this.examples = mapValues(info.examples, example => new ExampleModel(parser, example, name, info.encoding));\n } else if (info.example !== undefined) {\n this.examples = {\n default: new ExampleModel(parser, {\n value: parser.shalowDeref(info.example)\n }, name, info.encoding)\n };\n } else if (isJsonLike(name)) {\n this.generateExample(parser, info);\n }\n }\n\n generateExample(parser: OpenAPIParser, info: OpenAPIMediaType) {\n const samplerOptions = {\n skipReadOnly: this.isRequestType,\n skipNonRequired: this.isRequestType && this.onlyRequiredInSamples,\n skipWriteOnly: !this.isRequestType,\n maxSampleDepth: 10\n };\n\n if (this.schema && this.schema.oneOf) {\n this.examples = {};\n\n for (const subSchema of this.schema.oneOf) {\n const sample = Sampler.sample(subSchema.rawSchema, samplerOptions, parser.spec);\n\n if (this.schema.discriminatorProp && typeof sample === 'object' && sample) {\n sample[this.schema.discriminatorProp] = subSchema.title;\n }\n\n this.examples[subSchema.title] = new ExampleModel(parser, {\n value: sample\n }, this.name, info.encoding);\n }\n } else if (this.schema) {\n this.examples = {\n default: new ExampleModel(parser, {\n value: Sampler.sample(info.schema, samplerOptions, parser.spec)\n }, this.name, info.encoding)\n };\n }\n }\n\n}","import { action, computed, observable, makeObservable } from 'mobx';\nimport { OpenAPIMediaType } from '../../types';\nimport { MediaTypeModel } from './MediaType';\nimport { mergeSimilarMediaTypes } from '../../utils';\nimport { OpenAPIParser } from '../OpenAPIParser';\nimport { RedocNormalizedOptions } from '../RedocNormalizedOptions';\n/**\n * MediaContent model ready to be sued by React components\n * Contains multiple MediaTypes and keeps track of the currently active one\n */\n\nexport class MediaContentModel {\n mediaTypes: MediaTypeModel[];\n @observable\n activeMimeIdx = 0;\n /**\n * @param isRequestType needed to know if skipe RO/RW fields in objects\n */\n\n constructor(parser: OpenAPIParser, info: Record, public isRequestType: boolean, options: RedocNormalizedOptions) {\n makeObservable(this);\n\n if (options.unstable_ignoreMimeParameters) {\n info = mergeSimilarMediaTypes(info);\n }\n\n this.mediaTypes = Object.keys(info).map(name => {\n const mime = info[name]; // reset deref cache just in case something is left there\n\n parser.resetVisited();\n return new MediaTypeModel(parser, name, isRequestType, mime, options);\n });\n }\n /**\n * Set active media type by index\n * @param idx media type index\n */\n\n\n @action\n activate(idx: number) {\n this.activeMimeIdx = idx;\n }\n\n @computed\n get active() {\n return this.mediaTypes[this.activeMimeIdx];\n }\n\n get hasSample(): boolean {\n return this.mediaTypes.filter(mime => !!mime.examples).length > 0;\n }\n\n}","import { OpenAPIRequestBody, Referenced } from '../../types';\nimport { OpenAPIParser } from '../OpenAPIParser';\nimport { RedocNormalizedOptions } from '../RedocNormalizedOptions';\nimport { MediaContentModel } from './MediaContent';\nexport class RequestBodyModel {\n description: string;\n required: boolean;\n content?: MediaContentModel;\n\n constructor(parser: OpenAPIParser, infoOrRef: Referenced, options: RedocNormalizedOptions) {\n const info = parser.deref(infoOrRef);\n this.description = info.description || '';\n this.required = !!info.required;\n parser.exitRef(infoOrRef);\n\n if (info.content !== undefined) {\n this.content = new MediaContentModel(parser, info.content, true, options);\n }\n }\n\n}","import { action, observable, makeObservable } from 'mobx';\nimport { OpenAPIResponse, Referenced } from '../../types';\nimport { getStatusCodeType } from '../../utils';\nimport { OpenAPIParser } from '../OpenAPIParser';\nimport { RedocNormalizedOptions } from '../RedocNormalizedOptions';\nimport { FieldModel } from './Field';\nimport { MediaContentModel } from './MediaContent';\nexport class ResponseModel {\n @observable\n expanded: boolean = false;\n content?: MediaContentModel;\n code: string;\n summary: string;\n description: string;\n type: string;\n headers: FieldModel[] = [];\n\n constructor(parser: OpenAPIParser, code: string, defaultAsError: boolean, infoOrRef: Referenced, options: RedocNormalizedOptions) {\n makeObservable(this);\n this.expanded = options.expandResponses === 'all' || options.expandResponses[code];\n const info = parser.deref(infoOrRef);\n parser.exitRef(infoOrRef);\n this.code = code;\n\n if (info.content !== undefined) {\n this.content = new MediaContentModel(parser, info.content, false, options);\n }\n\n if (info['x-summary'] !== undefined) {\n this.summary = info['x-summary'];\n this.description = info.description || '';\n } else {\n this.summary = info.description || '';\n this.description = '';\n }\n\n this.type = getStatusCodeType(code, defaultAsError);\n const headers = info.headers;\n\n if (headers !== undefined) {\n this.headers = Object.keys(headers).map(name => {\n const header = headers[name];\n return new FieldModel(parser, { ...header,\n name\n }, '', options);\n });\n }\n }\n\n @action\n toggle() {\n this.expanded = !this.expanded;\n }\n\n}","import { action, observable, makeObservable } from 'mobx';\nimport { IMenuItem } from '../MenuStore';\nimport { GroupModel } from './Group.model';\nimport { SecurityRequirementModel } from './SecurityRequirement';\nimport { OpenAPIExternalDocumentation, OpenAPIServer, OpenAPIXCodeSample } from '../../types';\nimport { extractExtensions, getOperationSummary, getStatusCodeType, isStatusCode, memoize, mergeParams, normalizeServers, sortByField, sortByRequired } from '../../utils';\nimport { ContentItemModel, ExtendedOpenAPIOperation } from '../MenuBuilder';\nimport { OpenAPIParser } from '../OpenAPIParser';\nimport { RedocNormalizedOptions } from '../RedocNormalizedOptions';\nimport { CallbackModel } from './Callback';\nimport { FieldModel } from './Field';\nimport { MediaContentModel } from './MediaContent';\nimport { RequestBodyModel } from './RequestBody';\nimport { ResponseModel } from './Response';\nexport interface XPayloadSample {\n lang: 'payload';\n label: string;\n requestBodyContent: MediaContentModel;\n source: string;\n}\nexport function isPayloadSample(sample: XPayloadSample | OpenAPIXCodeSample): sample is XPayloadSample {\n return sample.lang === 'payload' && (sample as any).requestBodyContent;\n}\nlet isCodeSamplesWarningPrinted = false;\n/**\n * Operation model ready to be used by components\n */\n\nexport class OperationModel implements IMenuItem {\n //#region IMenuItem fields\n id: string;\n absoluteIdx?: number;\n name: string;\n description?: string;\n type = ('operation' as const);\n parent?: GroupModel;\n externalDocs?: OpenAPIExternalDocumentation;\n items: ContentItemModel[] = [];\n depth: number;\n @observable\n ready?: boolean = true;\n @observable\n active: boolean = false;\n @observable\n expanded: boolean = false; //#endregion\n\n pointer: string;\n operationId?: string;\n httpVerb: string;\n deprecated: boolean;\n path: string;\n servers: OpenAPIServer[];\n security: SecurityRequirementModel[];\n extensions: Record;\n isCallback: boolean;\n isWebhook: boolean;\n\n constructor(private parser: OpenAPIParser, private operationSpec: ExtendedOpenAPIOperation, parent: GroupModel | undefined, private options: RedocNormalizedOptions, isCallback: boolean = false) {\n makeObservable(this);\n this.pointer = operationSpec.pointer;\n this.description = operationSpec.description;\n this.parent = parent;\n this.externalDocs = operationSpec.externalDocs;\n this.deprecated = !!operationSpec.deprecated;\n this.httpVerb = operationSpec.httpVerb;\n this.deprecated = !!operationSpec.deprecated;\n this.operationId = operationSpec.operationId;\n this.path = operationSpec.pathName;\n this.isCallback = isCallback;\n this.isWebhook = !!operationSpec.isWebhook;\n this.name = getOperationSummary(operationSpec);\n\n if (this.isCallback) {\n // NOTE: Callbacks by default should not inherit the specification's global `security` definition.\n // Can be defined individually per-callback in the specification. Defaults to none.\n this.security = (operationSpec.security || []).map(security => new SecurityRequirementModel(security, parser)); // TODO: update getting pathInfo for overriding servers on path level\n\n this.servers = normalizeServers('', operationSpec.servers || operationSpec.pathServers || []);\n } else {\n this.id = operationSpec.operationId !== undefined ? 'operation/' + operationSpec.operationId : parent !== undefined ? parent.id + this.pointer : this.pointer;\n this.security = (operationSpec.security || parser.spec.security || []).map(security => new SecurityRequirementModel(security, parser));\n this.servers = normalizeServers(parser.specUrl, operationSpec.servers || operationSpec.pathServers || parser.spec.servers || []);\n }\n\n if (options.showExtensions) {\n this.extensions = extractExtensions(operationSpec, options.showExtensions);\n }\n }\n /**\n * set operation as active (used by side menu)\n */\n\n\n @action\n activate() {\n this.active = true;\n }\n /**\n * set operation as inactive (used by side menu)\n */\n\n\n @action\n deactivate() {\n this.active = false;\n }\n /**\n * Toggle expansion in middle panel (for callbacks, which are operations)\n */\n\n\n @action\n toggle() {\n this.expanded = !this.expanded;\n }\n\n expand() {\n if (this.parent) {\n this.parent.expand();\n }\n }\n\n collapse() {\n /* do nothing */\n }\n\n @memoize\n get requestBody() {\n return this.operationSpec.requestBody && new RequestBodyModel(this.parser, this.operationSpec.requestBody, this.options);\n }\n\n @memoize\n get codeSamples() {\n let samples: Array = this.operationSpec['x-codeSamples'] || this.operationSpec['x-code-samples'] || [];\n\n if (this.operationSpec['x-code-samples'] && !isCodeSamplesWarningPrinted) {\n isCodeSamplesWarningPrinted = true;\n console.warn('\"x-code-samples\" is deprecated. Use \"x-codeSamples\" instead');\n }\n\n const requestBodyContent = this.requestBody && this.requestBody.content;\n\n if (requestBodyContent && requestBodyContent.hasSample) {\n const insertInx = Math.min(samples.length, this.options.payloadSampleIdx);\n samples = [...samples.slice(0, insertInx), {\n lang: 'payload',\n label: 'Payload',\n source: '',\n requestBodyContent\n }, ...samples.slice(insertInx)];\n }\n\n return samples;\n }\n\n @memoize\n get parameters() {\n const _parameters = mergeParams(this.parser, this.operationSpec.pathParameters, this.operationSpec.parameters // TODO: fix pointer\n ).map(paramOrRef => new FieldModel(this.parser, paramOrRef, this.pointer, this.options));\n\n if (this.options.sortPropsAlphabetically) {\n return sortByField(_parameters, 'name');\n }\n\n if (this.options.requiredPropsFirst) {\n return sortByRequired(_parameters);\n }\n\n return _parameters;\n }\n\n @memoize\n get responses() {\n let hasSuccessResponses = false;\n return Object.keys(this.operationSpec.responses || []).filter(code => {\n if (code === 'default') {\n return true;\n }\n\n if (getStatusCodeType(code) === 'success') {\n hasSuccessResponses = true;\n }\n\n return isStatusCode(code);\n }) // filter out other props (e.g. x-props)\n .map(code => {\n return new ResponseModel(this.parser, code, hasSuccessResponses, this.operationSpec.responses[code], this.options);\n });\n }\n\n @memoize\n get callbacks() {\n return Object.keys(this.operationSpec.callbacks || []).map(callbackEventName => {\n return new CallbackModel(this.parser, callbackEventName, this.operationSpec.callbacks![callbackEventName], this.pointer, this.options);\n });\n }\n\n}","import { OpenAPIPath, Referenced } from '../../types';\nimport { OpenAPIParser } from '../OpenAPIParser';\nimport { OperationModel } from './Operation';\nimport { isOperationName } from '../..';\nimport { RedocNormalizedOptions } from '../RedocNormalizedOptions';\nexport class WebhookModel {\n operations: OperationModel[] = [];\n\n constructor(parser: OpenAPIParser, options: RedocNormalizedOptions, infoOrRef?: Referenced) {\n const webhooks = parser.deref(infoOrRef || {});\n parser.exitRef(infoOrRef);\n\n for (const webhookName of Object.keys(webhooks)) {\n const webhook = webhooks[webhookName];\n const operations = Object.keys(webhook).filter(isOperationName);\n\n for (const operationName of operations) {\n const operationInfo = webhook[operationName];\n const operation = new OperationModel(parser, { ...operationInfo,\n httpVerb: operationName\n }, undefined, options, false);\n this.operations.push(operation);\n }\n }\n }\n\n}","import { OpenAPISecurityScheme, Referenced } from '../../types';\nimport { SECURITY_SCHEMES_SECTION_PREFIX } from '../../utils/openapi';\nimport { OpenAPIParser } from '../OpenAPIParser';\nexport class SecuritySchemeModel {\n id: string;\n sectionId: string;\n type: OpenAPISecurityScheme['type'];\n description: string;\n apiKey?: {\n name: string;\n in: OpenAPISecurityScheme['in'];\n };\n http?: {\n scheme: string;\n bearerFormat?: string;\n };\n flows: OpenAPISecurityScheme['flows'];\n openId?: {\n connectUrl: string;\n };\n\n constructor(parser: OpenAPIParser, id: string, scheme: Referenced) {\n const info = parser.deref(scheme);\n this.id = id;\n this.sectionId = SECURITY_SCHEMES_SECTION_PREFIX + id;\n this.type = info.type;\n this.description = info.description || '';\n\n if (info.type === 'apiKey') {\n this.apiKey = {\n name: info.name!,\n in: info.in\n };\n }\n\n if (info.type === 'http') {\n this.http = {\n scheme: info.scheme!,\n bearerFormat: info.bearerFormat\n };\n }\n\n if (info.type === 'openIdConnect') {\n this.openId = {\n connectUrl: info.openIdConnectUrl!\n };\n }\n\n if (info.type === 'oauth2' && info.flows) {\n this.flows = info.flows;\n }\n }\n\n}\nexport class SecuritySchemesModel {\n schemes: SecuritySchemeModel[];\n\n constructor(parser: OpenAPIParser) {\n const schemes = parser.spec.components && parser.spec.components.securitySchemes || {};\n this.schemes = Object.keys(schemes).map(name => new SecuritySchemeModel(parser, name, schemes[name]));\n }\n\n}","import { resolve as urlResolve } from 'url';\nimport { OpenAPIRef, OpenAPISchema, OpenAPISpec, Referenced } from '../types';\nimport { appendToMdHeading, IS_BROWSER } from '../utils/';\nimport { JsonPointer } from '../utils/JsonPointer';\nimport { getDefinitionName, isNamedDefinition, SECURITY_DEFINITIONS_COMPONENT_NAME, SECURITY_DEFINITIONS_JSX_NAME } from '../utils/openapi';\nimport { buildComponentComment, MarkdownRenderer } from './MarkdownRenderer';\nimport { RedocNormalizedOptions } from './RedocNormalizedOptions';\nexport type MergedOpenAPISchema = OpenAPISchema & {\n parentRefs?: string[];\n};\n/**\n * Helper class to keep track of visited references to avoid\n * endless recursion because of circular refs\n */\n\nclass RefCounter {\n _counter = {};\n\n reset(): void {\n this._counter = {};\n }\n\n visit(ref: string): void {\n this._counter[ref] = this._counter[ref] ? this._counter[ref] + 1 : 1;\n }\n\n exit(ref: string): void {\n this._counter[ref] = this._counter[ref] && this._counter[ref] - 1;\n }\n\n visited(ref: string): boolean {\n return !!this._counter[ref];\n }\n\n}\n/**\n * Loads and keeps spec. Provides raw spec operations\n */\n\n\nexport class OpenAPIParser {\n specUrl?: string;\n spec: OpenAPISpec;\n mergeRefs: Set;\n private _refCounter: RefCounter = new RefCounter();\n\n constructor(spec: OpenAPISpec, specUrl?: string, private options: RedocNormalizedOptions = new RedocNormalizedOptions({})) {\n this.validate(spec);\n this.preprocess(spec);\n this.spec = spec;\n this.mergeRefs = new Set();\n const href = IS_BROWSER ? window.location.href : '';\n\n if (typeof specUrl === 'string') {\n this.specUrl = urlResolve(href, specUrl);\n }\n }\n\n validate(spec: any) {\n if (spec.openapi === undefined) {\n throw new Error('Document must be valid OpenAPI 3.0.0 definition');\n }\n }\n\n preprocess(spec: OpenAPISpec) {\n if (!this.options.noAutoAuth && spec.info && spec.components && spec.components.securitySchemes) {\n // Automatically inject Authentication section with SecurityDefinitions component\n const description = spec.info.description || '';\n\n if (!MarkdownRenderer.containsComponent(description, SECURITY_DEFINITIONS_COMPONENT_NAME) && !MarkdownRenderer.containsComponent(description, SECURITY_DEFINITIONS_JSX_NAME)) {\n const comment = buildComponentComment(SECURITY_DEFINITIONS_COMPONENT_NAME);\n spec.info.description = appendToMdHeading(description, 'Authentication', comment);\n }\n }\n }\n /**\n * get spec part by JsonPointer ($ref)\n */\n\n\n byRef = (ref: string): T | undefined => {\n let res;\n\n if (!this.spec) {\n return;\n }\n\n if (ref.charAt(0) !== '#') {\n ref = '#' + ref;\n }\n\n ref = decodeURIComponent(ref);\n\n try {\n res = JsonPointer.get(this.spec, ref);\n } catch (e) {// do nothing\n }\n\n return res || {};\n };\n /**\n * checks if the object is OpenAPI reference (contains $ref property)\n */\n\n isRef(obj: any): obj is OpenAPIRef {\n if (!obj) {\n return false;\n }\n\n return obj.$ref !== undefined && obj.$ref !== null;\n }\n /**\n * resets visited endpoints. should be run after\n */\n\n\n resetVisited() {\n if (process.env.NODE_ENV !== 'production') {\n // check in dev mode\n for (const k in this._refCounter._counter) {\n if (this._refCounter._counter[k] > 0) {\n console.warn('Not exited reference: ' + k);\n }\n }\n }\n\n this._refCounter = new RefCounter();\n }\n\n exitRef(ref: Referenced) {\n if (!this.isRef(ref)) {\n return;\n }\n\n this._refCounter.exit(ref.$ref);\n }\n /**\n * Resolve given reference object or return as is if it is not a reference\n * @param obj object to dereference\n * @param forceCircular whether to dereference even if it is circular ref\n */\n\n\n deref(obj: OpenAPIRef | T, forceCircular = false): T {\n if (this.isRef(obj)) {\n const schemaName = getDefinitionName(obj.$ref);\n\n if (schemaName && this.options.ignoreNamedSchemas.has(schemaName)) {\n return ({\n type: 'object',\n title: schemaName\n } as T);\n }\n\n const resolved = this.byRef(obj.$ref)!;\n\n const visited = this._refCounter.visited(obj.$ref);\n\n this._refCounter.visit(obj.$ref);\n\n if (visited && !forceCircular) {\n // circular reference detected\n // tslint:disable-next-line\n return Object.assign({}, resolved, {\n 'x-circular-ref': true\n });\n } // deref again in case one more $ref is here\n\n\n if (this.isRef(resolved)) {\n const res = this.deref(resolved);\n this.exitRef(resolved);\n return res;\n }\n\n return resolved;\n }\n\n return obj;\n }\n\n shalowDeref(obj: OpenAPIRef | T): T {\n if (this.isRef(obj)) {\n return this.byRef(obj.$ref)!;\n }\n\n return obj;\n }\n /**\n * Merge allOf constraints.\n * @param schema schema with allOF\n * @param $ref pointer of the schema\n * @param forceCircular whether to dereference children even if it is a circular ref\n */\n\n\n mergeAllOf(schema: OpenAPISchema, $ref?: string, forceCircular: boolean = false, used$Refs = new Set()): MergedOpenAPISchema {\n if ($ref) {\n used$Refs.add($ref);\n }\n\n schema = this.hoistOneOfs(schema);\n\n if (schema.allOf === undefined) {\n return schema;\n }\n\n let receiver: MergedOpenAPISchema = { ...schema,\n allOf: undefined,\n parentRefs: [],\n title: schema.title || getDefinitionName($ref)\n }; // avoid mutating inner objects\n\n if (receiver.properties !== undefined && typeof receiver.properties === 'object') {\n receiver.properties = { ...receiver.properties\n };\n }\n\n if (receiver.items !== undefined && typeof receiver.items === 'object') {\n receiver.items = { ...receiver.items\n };\n }\n\n const allOfSchemas = (schema.allOf.map(subSchema => {\n if (subSchema && subSchema.$ref && used$Refs.has(subSchema.$ref)) {\n return undefined;\n }\n\n const resolved = this.deref(subSchema, forceCircular);\n const subRef = subSchema.$ref || undefined;\n const subMerged = this.mergeAllOf(resolved, subRef, forceCircular, used$Refs);\n receiver.parentRefs!.push(...(subMerged.parentRefs || []));\n return {\n $ref: subRef,\n schema: subMerged\n };\n }).filter(child => child !== undefined) as Array<{\n $ref: string | undefined;\n schema: MergedOpenAPISchema;\n }>);\n\n for (const {\n $ref: subSchemaRef,\n schema: subSchema\n } of allOfSchemas) {\n if (receiver.type !== subSchema.type && receiver.type !== undefined && subSchema.type !== undefined) {\n console.warn(`Incompatible types in allOf at \"${$ref}\": \"${receiver.type}\" and \"${subSchema.type}\"`);\n }\n\n if (subSchema.type !== undefined) {\n receiver.type = subSchema.type;\n }\n\n if (subSchema.properties !== undefined) {\n receiver.properties = receiver.properties || {};\n\n for (const prop in subSchema.properties) {\n if (!receiver.properties[prop]) {\n receiver.properties[prop] = subSchema.properties[prop];\n } else {\n // merge inner properties\n receiver.properties[prop] = this.mergeAllOf({\n allOf: [receiver.properties[prop], subSchema.properties[prop]]\n }, $ref + '/properties/' + prop);\n }\n }\n }\n\n if (subSchema.items !== undefined) {\n receiver.items = receiver.items || {}; // merge inner properties\n\n receiver.items = this.mergeAllOf({\n allOf: [receiver.items, subSchema.items]\n }, $ref + '/items');\n }\n\n if (subSchema.required !== undefined) {\n receiver.required = (receiver.required || []).concat(subSchema.required);\n } // merge rest of constraints\n // TODO: do more intelligent merge\n\n\n receiver = { ...subSchema,\n ...receiver\n };\n\n if (subSchemaRef) {\n receiver.parentRefs!.push(subSchemaRef);\n\n if (receiver.title === undefined && isNamedDefinition(subSchemaRef)) {// this is not so correct behaviour. commented out for now\n // ref: https://github.com/Redocly/redoc/issues/601\n // receiver.title = JsonPointer.baseName(subSchemaRef);\n }\n }\n }\n\n return receiver;\n }\n /**\n * Find all derived definitions among #/components/schemas from any of $refs\n * returns map of definition pointer to definition name\n * @param $refs array of references to find derived from\n */\n\n\n findDerived($refs: string[]): Record {\n const res: Record = {};\n const schemas = this.spec.components && this.spec.components.schemas || {};\n\n for (const defName in schemas) {\n const def = this.deref(schemas[defName]);\n\n if (def.allOf !== undefined && def.allOf.find(obj => obj.$ref !== undefined && $refs.indexOf(obj.$ref) > -1)) {\n res['#/components/schemas/' + defName] = [def['x-discriminator-value'] || defName];\n }\n }\n\n return res;\n }\n\n exitParents(shema: MergedOpenAPISchema) {\n for (const parent$ref of shema.parentRefs || []) {\n this.exitRef({\n $ref: parent$ref\n });\n }\n }\n\n private hoistOneOfs(schema: OpenAPISchema) {\n if (schema.allOf === undefined) {\n return schema;\n }\n\n const allOf = schema.allOf;\n\n for (let i = 0; i < allOf.length; i++) {\n const sub = allOf[i];\n\n if (Array.isArray(sub.oneOf)) {\n const beforeAllOf = allOf.slice(0, i);\n const afterAllOf = allOf.slice(i + 1);\n return {\n oneOf: sub.oneOf.map(part => {\n const merged = this.mergeAllOf({\n allOf: [...beforeAllOf, part, ...afterAllOf]\n }); // each oneOf should be independent so exiting all the parent refs\n // otherwise it will cause false-positive recursive detection\n\n this.exitParents(merged);\n return merged;\n })\n };\n }\n }\n\n return schema;\n }\n\n}","import { OpenAPIExternalDocumentation, OpenAPISpec } from '../types';\nimport { ContentItemModel, MenuBuilder } from './MenuBuilder';\nimport { ApiInfoModel } from './models/ApiInfo';\nimport { WebhookModel } from './models/Webhook';\nimport { SecuritySchemesModel } from './models/SecuritySchemes';\nimport { OpenAPIParser } from './OpenAPIParser';\nimport { RedocNormalizedOptions } from './RedocNormalizedOptions';\n/**\n * Store that contains all the specification related information in the form of tree\n */\n\nexport class SpecStore {\n parser: OpenAPIParser;\n info: ApiInfoModel;\n externalDocs?: OpenAPIExternalDocumentation;\n contentItems: ContentItemModel[];\n securitySchemes: SecuritySchemesModel;\n webhooks?: WebhookModel;\n\n constructor(spec: OpenAPISpec, specUrl: string | undefined, private options: RedocNormalizedOptions) {\n this.parser = new OpenAPIParser(spec, specUrl, options);\n this.info = new ApiInfoModel(this.parser);\n this.externalDocs = this.parser.spec.externalDocs;\n this.contentItems = MenuBuilder.buildStructure(this.parser, this.options);\n this.securitySchemes = new SecuritySchemesModel(this.parser);\n this.webhooks = new WebhookModel(this.parser, options, this.parser.spec['x-webhooks']);\n }\n\n}","import { action, observable, makeObservable } from 'mobx';\nimport { OpenAPIExternalDocumentation, OpenAPITag } from '../../types';\nimport { safeSlugify } from '../../utils';\nimport { MarkdownHeading, MarkdownRenderer } from '../MarkdownRenderer';\nimport { ContentItemModel } from '../MenuBuilder';\nimport { IMenuItem, MenuItemGroupType } from '../MenuStore';\n/**\n * Operations Group model ready to be used by components\n */\n\nexport class GroupModel implements IMenuItem {\n //#region IMenuItem fields\n id: string;\n absoluteIdx?: number;\n name: string;\n description?: string;\n type: MenuItemGroupType;\n items: ContentItemModel[] = [];\n parent?: GroupModel;\n externalDocs?: OpenAPIExternalDocumentation;\n @observable\n active: boolean = false;\n @observable\n expanded: boolean = false;\n depth: number;\n level: number; //#endregion\n\n constructor(type: MenuItemGroupType, tagOrGroup: OpenAPITag | MarkdownHeading, parent?: GroupModel) {\n makeObservable(this); // markdown headings already have ids calculated as they are needed for heading anchors\n\n this.id = (tagOrGroup as MarkdownHeading).id || type + '/' + safeSlugify(tagOrGroup.name);\n this.type = type;\n this.name = tagOrGroup['x-displayName'] || tagOrGroup.name;\n this.level = (tagOrGroup as MarkdownHeading).level || 1; // remove sections from markdown, same as in ApiInfo\n\n this.description = tagOrGroup.description || '';\n const items = (tagOrGroup as MarkdownHeading).items;\n\n if (items && items.length) {\n this.description = MarkdownRenderer.getTextBeforeHading(this.description, items[0].name);\n }\n\n this.parent = parent;\n this.externalDocs = (tagOrGroup as OpenAPITag).externalDocs; // groups are active (expanded) by default\n\n if (this.type === 'group') {\n this.expanded = true;\n }\n }\n\n @action\n activate() {\n this.active = true;\n }\n\n @action\n expand() {\n if (this.parent) {\n this.parent.expand();\n }\n\n this.expanded = true;\n }\n\n @action\n collapse() {\n // disallow collapsing groups\n if (this.type === 'group') {\n return;\n }\n\n this.expanded = false;\n }\n\n @action\n deactivate() {\n this.active = false;\n }\n\n}","export * from '../SpecStore';\nexport * from './Group.model';\nexport * from './Operation';\nexport * from './RequestBody';\nexport * from './Example';\nexport * from './MediaContent';\nexport * from './MediaType';\nexport * from './Response';\nexport * from './Schema';\nexport * from './Field';\nexport * from './ApiInfo';\nexport * from './SecuritySchemes';\nexport * from './Callback';","import { OpenAPIOperation, OpenAPIParameter, OpenAPISpec, OpenAPITag, Referenced, OpenAPIServer, OpenAPIPaths } from '../types';\nimport { isOperationName, SECURITY_DEFINITIONS_COMPONENT_NAME, setSecuritySchemePrefix, JsonPointer } from '../utils';\nimport { MarkdownRenderer } from './MarkdownRenderer';\nimport { GroupModel, OperationModel } from './models';\nimport { OpenAPIParser } from './OpenAPIParser';\nimport { RedocNormalizedOptions } from './RedocNormalizedOptions';\nexport type TagInfo = OpenAPITag & {\n operations: ExtendedOpenAPIOperation[];\n used?: boolean;\n};\nexport type ExtendedOpenAPIOperation = {\n pointer: string;\n pathName: string;\n httpVerb: string;\n pathParameters: Array>;\n pathServers: Array | undefined;\n isWebhook: boolean;\n} & OpenAPIOperation;\nexport type TagsInfoMap = Record;\nexport interface TagGroup {\n name: string;\n tags: string[];\n}\nexport const GROUP_DEPTH = 0;\nexport type ContentItemModel = GroupModel | OperationModel;\nexport class MenuBuilder {\n /**\n * Builds page content structure based on tags\n */\n static buildStructure(parser: OpenAPIParser, options: RedocNormalizedOptions): ContentItemModel[] {\n const spec = parser.spec;\n const items: ContentItemModel[] = [];\n const tagsMap = MenuBuilder.getTagsWithOperations(spec);\n items.push(...MenuBuilder.addMarkdownItems(spec.info.description || '', undefined, 1, options));\n\n if (spec['x-tagGroups'] && spec['x-tagGroups'].length > 0) {\n items.push(...MenuBuilder.getTagGroupsItems(parser, undefined, spec['x-tagGroups'], tagsMap, options));\n } else {\n items.push(...MenuBuilder.getTagsItems(parser, tagsMap, undefined, undefined, options));\n }\n\n return items;\n }\n /**\n * extracts items from markdown description\n * @param description - markdown source\n */\n\n\n static addMarkdownItems(description: string, parent: GroupModel | undefined, initialDepth: number, options: RedocNormalizedOptions): ContentItemModel[] {\n const renderer = new MarkdownRenderer(options);\n const headings = renderer.extractHeadings(description || '');\n\n if (headings.length && parent && parent.description) {\n parent.description = MarkdownRenderer.getTextBeforeHading(parent.description, headings[0].name);\n }\n\n const mapHeadingsDeep = (_parent, items, depth = 1) => items.map(heading => {\n const group = new GroupModel('section', heading, _parent);\n group.depth = depth;\n\n if (heading.items) {\n group.items = mapHeadingsDeep(group, heading.items, depth + 1);\n }\n\n if (MarkdownRenderer.containsComponent(group.description || '', SECURITY_DEFINITIONS_COMPONENT_NAME)) {\n setSecuritySchemePrefix(group.id + '/');\n }\n\n return group;\n });\n\n return mapHeadingsDeep(parent, headings, initialDepth);\n }\n /**\n * Returns array of OperationsGroup items for the tag groups (x-tagGroups vendor extension)\n * @param tags value of `x-tagGroups` vendor extension\n */\n\n\n static getTagGroupsItems(parser: OpenAPIParser, parent: GroupModel | undefined, groups: TagGroup[], tags: TagsInfoMap, options: RedocNormalizedOptions): GroupModel[] {\n const res: GroupModel[] = [];\n\n for (const group of groups) {\n const item = new GroupModel('group', group, parent);\n item.depth = GROUP_DEPTH;\n item.items = MenuBuilder.getTagsItems(parser, tags, item, group, options);\n res.push(item);\n } // TODO checkAllTagsUsedInGroups\n\n\n return res;\n }\n /**\n * Returns array of OperationsGroup items for the tags of the group or for all tags\n * @param tagsMap tags info returned from `getTagsWithOperations`\n * @param parent parent item\n * @param group group which this tag belongs to. if not provided gets all tags\n */\n\n\n static getTagsItems(parser: OpenAPIParser, tagsMap: TagsInfoMap, parent: GroupModel | undefined, group: TagGroup | undefined, options: RedocNormalizedOptions): ContentItemModel[] {\n let tagNames;\n\n if (group === undefined) {\n tagNames = Object.keys(tagsMap); // all tags\n } else {\n tagNames = group.tags;\n }\n\n const tags = tagNames.map(tagName => {\n if (!tagsMap[tagName]) {\n console.warn(`Non-existing tag \"${tagName}\" is added to the group \"${group!.name}\"`);\n return null;\n }\n\n tagsMap[tagName].used = true;\n return tagsMap[tagName];\n });\n const res: Array = [];\n\n for (const tag of tags) {\n if (!tag) {\n continue;\n }\n\n const item = new GroupModel('tag', tag, parent);\n item.depth = GROUP_DEPTH + 1; // don't put empty tag into content, instead put its operations\n\n if (tag.name === '') {\n const items = [...MenuBuilder.addMarkdownItems(tag.description || '', item, item.depth + 1, options), ...this.getOperationsItems(parser, undefined, tag, item.depth + 1, options)];\n res.push(...items);\n continue;\n }\n\n item.items = [...MenuBuilder.addMarkdownItems(tag.description || '', item, item.depth + 1, options), ...this.getOperationsItems(parser, item, tag, item.depth + 1, options)];\n res.push(item);\n }\n\n return res;\n }\n /**\n * Returns array of Operation items for the tag\n * @param parent parent OperationsGroup\n * @param tag tag info returned from `getTagsWithOperations`\n * @param depth items depth\n */\n\n\n static getOperationsItems(parser: OpenAPIParser, parent: GroupModel | undefined, tag: TagInfo, depth: number, options: RedocNormalizedOptions): OperationModel[] {\n if (tag.operations.length === 0) {\n return [];\n }\n\n const res: OperationModel[] = [];\n\n for (const operationInfo of tag.operations) {\n const operation = new OperationModel(parser, operationInfo, parent, options);\n operation.depth = depth;\n res.push(operation);\n }\n\n return res;\n }\n /**\n * collects tags and maps each tag to list of operations belonging to this tag\n */\n\n\n static getTagsWithOperations(spec: OpenAPISpec): TagsInfoMap {\n const tags: TagsInfoMap = {};\n\n for (const tag of spec.tags || []) {\n tags[tag.name] = { ...tag,\n operations: []\n };\n }\n\n getTags(spec.paths);\n\n if (spec['x-webhooks']) {\n getTags(spec['x-webhooks'], true);\n }\n\n function getTags(paths: OpenAPIPaths, isWebhook?: boolean) {\n for (const pathName of Object.keys(paths)) {\n const path = paths[pathName];\n const operations = Object.keys(path).filter(isOperationName);\n\n for (const operationName of operations) {\n const operationInfo = path[operationName];\n let operationTags = operationInfo.tags;\n\n if (!operationTags || !operationTags.length) {\n // empty tag\n operationTags = [''];\n }\n\n for (const tagName of operationTags) {\n let tag = tags[tagName];\n\n if (tag === undefined) {\n tag = {\n name: tagName,\n operations: []\n };\n tags[tagName] = tag;\n }\n\n if (tag['x-traitTag']) {\n continue;\n }\n\n tag.operations.push({ ...operationInfo,\n pathName,\n pointer: JsonPointer.compile(['paths', pathName, operationName]),\n httpVerb: operationName,\n pathParameters: path.parameters || [],\n pathServers: path.servers,\n isWebhook: !!isWebhook\n });\n }\n }\n }\n }\n\n return tags;\n }\n\n}","import { action, observable, makeObservable } from 'mobx';\nimport { querySelector } from '../utils/dom';\nimport { SpecStore } from './models';\nimport { history as historyInst, HistoryService } from './HistoryService';\nimport { ScrollService } from './ScrollService';\nimport { flattenByProp, SECURITY_SCHEMES_SECTION_PREFIX } from '../utils';\nimport { GROUP_DEPTH } from './MenuBuilder';\nexport type MenuItemGroupType = 'group' | 'tag' | 'section';\nexport type MenuItemType = MenuItemGroupType | 'operation';\n/** Generic interface for MenuItems */\n\nexport interface IMenuItem {\n id: string;\n absoluteIdx?: number;\n name: string;\n description?: string;\n depth: number;\n active: boolean;\n expanded: boolean;\n items: IMenuItem[];\n parent?: IMenuItem;\n deprecated?: boolean;\n type: MenuItemType;\n deactivate(): void;\n activate(): void;\n collapse(): void;\n expand(): void;\n}\nexport const SECTION_ATTR = 'data-section-id';\n/**\n * Stores all side-menu related information\n */\n\nexport class MenuStore {\n /**\n * Statically try update scroll position\n * Used before hydrating from server-side rendered html to scroll page faster\n */\n static updateOnHistory(id: string = historyInst.currentId, scroll: ScrollService) {\n if (!id) {\n return;\n }\n\n scroll.scrollIntoViewBySelector(`[${SECTION_ATTR}=\"${id}\"]`);\n }\n /**\n * active item absolute index (when flattened). -1 means nothing is selected\n */\n\n\n @observable\n activeItemIdx: number = -1;\n /**\n * whether sidebar with menu is opened or not\n */\n\n @observable\n sideBarOpened: boolean = false;\n items: IMenuItem[];\n flatItems: IMenuItem[];\n /**\n * cached flattened menu items to support absolute indexing\n */\n\n private _unsubscribe: () => void;\n private _hashUnsubscribe: () => void;\n /**\n *\n * @param spec [SpecStore](#SpecStore) which contains page content structure\n * @param scroll scroll service instance used by this menu\n */\n\n constructor(spec: SpecStore, public scroll: ScrollService, public history: HistoryService) {\n makeObservable(this);\n this.items = spec.contentItems;\n this.flatItems = flattenByProp(this.items || [], 'items');\n this.flatItems.forEach((item, idx) => item.absoluteIdx = idx);\n this.subscribe();\n }\n\n subscribe() {\n this._unsubscribe = this.scroll.subscribe(this.updateOnScroll);\n this._hashUnsubscribe = this.history.subscribe(this.updateOnHistory);\n }\n\n @action\n toggleSidebar() {\n this.sideBarOpened = this.sideBarOpened ? false : true;\n }\n\n @action\n closeSidebar() {\n this.sideBarOpened = false;\n }\n /**\n * update active items on scroll\n * @param isScrolledDown whether last scroll was downside\n */\n\n\n updateOnScroll = (isScrolledDown: boolean): void => {\n const step = isScrolledDown ? 1 : -1;\n let itemIdx = this.activeItemIdx;\n\n while (true) {\n if (itemIdx === -1 && !isScrolledDown) {\n break;\n }\n\n if (itemIdx >= this.flatItems.length - 1 && isScrolledDown) {\n break;\n }\n\n if (isScrolledDown) {\n const el = this.getElementAtOrFirstChild(itemIdx + 1);\n\n if (this.scroll.isElementBellow(el)) {\n break;\n }\n } else {\n const el = this.getElementAt(itemIdx);\n\n if (this.scroll.isElementAbove(el)) {\n break;\n }\n }\n\n itemIdx += step;\n }\n\n this.activate(this.flatItems[itemIdx], true, true);\n };\n /**\n * update active items on hash change\n * @param id current hash\n */\n\n updateOnHistory = (id: string = this.history.currentId) => {\n if (!id) {\n return;\n }\n\n let item: IMenuItem | undefined;\n item = this.flatItems.find(i => i.id === id);\n\n if (item) {\n this.activateAndScroll(item, false);\n } else {\n if (id.startsWith(SECURITY_SCHEMES_SECTION_PREFIX)) {\n item = this.flatItems.find(i => SECURITY_SCHEMES_SECTION_PREFIX.startsWith(i.id));\n this.activate(item);\n }\n\n this.scroll.scrollIntoViewBySelector(`[${SECTION_ATTR}=\"${id}\"]`);\n }\n };\n /**\n * get section/operation DOM Node related to the item or null if it doesn't exist\n * @param idx item absolute index\n */\n\n getElementAt(idx: number): Element | null {\n const item = this.flatItems[idx];\n return item && querySelector(`[${SECTION_ATTR}=\"${item.id}\"]`) || null;\n }\n /**\n * get section/operation DOM Node related to the item or if it is group item, returns first item of the group\n * @param idx item absolute index\n */\n\n\n getElementAtOrFirstChild(idx: number): Element | null {\n let item = this.flatItems[idx];\n\n if (item && item.type === 'group') {\n item = item.items[0];\n }\n\n return item && querySelector(`[${SECTION_ATTR}=\"${item.id}\"]`) || null;\n }\n /**\n * current active item\n */\n\n\n get activeItem(): IMenuItem {\n return this.flatItems[this.activeItemIdx] || undefined;\n }\n\n getItemById = (id: string) => {\n return this.flatItems.find(item => item.id === id);\n };\n /**\n * activate menu item\n * @param item item to activate\n * @param updateLocation [true] whether to update location\n * @param rewriteHistory [false] whether to rewrite browser history (do not create new entry)\n */\n\n @action\n activate(item: IMenuItem | undefined, updateLocation: boolean = true, rewriteHistory: boolean = false) {\n if ((this.activeItem && this.activeItem.id) === (item && item.id)) {\n return;\n }\n\n if (item && item.type === 'group') {\n return;\n }\n\n this.deactivate(this.activeItem);\n\n if (!item) {\n this.history.replace('', rewriteHistory);\n return;\n } // do not allow activating group items\n // TODO: control over options\n\n\n if (item.depth <= GROUP_DEPTH) {\n return;\n }\n\n this.activeItemIdx = item.absoluteIdx!;\n\n if (updateLocation) {\n this.history.replace(item.id, rewriteHistory);\n }\n\n item.activate();\n item.expand();\n }\n /**\n * makes item and all the parents not active\n * @param item item to deactivate\n */\n\n\n deactivate(item: IMenuItem | undefined) {\n if (item === undefined) {\n return;\n }\n\n item.deactivate();\n\n while (item !== undefined) {\n item.collapse();\n item = item.parent;\n }\n }\n /**\n * activate menu item and scroll to it\n * @see MenuStore.activate\n */\n\n\n @action.bound\n activateAndScroll(item: IMenuItem | undefined, updateLocation?: boolean, rewriteHistory?: boolean) {\n // item here can be a copy from search results so find corresponding item from menu\n const menuItem = item && this.getItemById(item.id) || item;\n this.activate(menuItem, updateLocation, rewriteHistory);\n this.scrollToActive();\n\n if (!menuItem || !menuItem.items.length) {\n this.closeSidebar();\n }\n }\n /**\n * scrolls to active section\n */\n\n\n scrollToActive(): void {\n this.scroll.scrollIntoView(this.getElementAt(this.activeItemIdx));\n }\n\n dispose() {\n this._unsubscribe();\n\n this._hashUnsubscribe();\n }\n\n}","import { bind } from 'decko';\nimport * as EventEmitter from 'eventemitter3';\nimport { IS_BROWSER, querySelector, Throttle } from '../utils';\nimport { RedocNormalizedOptions } from './RedocNormalizedOptions';\nconst EVENT = 'scroll';\nexport class ScrollService {\n private _scrollParent: Window | HTMLElement | undefined;\n private _emiter: EventEmitter;\n private _prevOffsetY = 0;\n\n constructor(private options: RedocNormalizedOptions) {\n this._scrollParent = IS_BROWSER ? window : undefined;\n this._emiter = new EventEmitter();\n this.bind();\n }\n\n bind() {\n this._prevOffsetY = this.scrollY();\n\n if (this._scrollParent) {\n this._scrollParent.addEventListener('scroll', this.handleScroll);\n }\n }\n\n dispose() {\n if (this._scrollParent) {\n this._scrollParent.removeEventListener('scroll', this.handleScroll);\n }\n\n this._emiter.removeAllListeners(EVENT);\n }\n\n scrollY(): number {\n if (typeof HTMLElement !== 'undefined' && this._scrollParent instanceof HTMLElement) {\n return this._scrollParent.scrollTop;\n } else if (this._scrollParent !== undefined) {\n return (this._scrollParent as Window).pageYOffset;\n } else {\n return 0;\n }\n }\n\n isElementBellow(el: Element | null) {\n if (el === null) {\n return;\n }\n\n return el.getBoundingClientRect().top > this.options.scrollYOffset();\n }\n\n isElementAbove(el: Element | null) {\n if (el === null) {\n return;\n }\n\n const top = el.getBoundingClientRect().top;\n return (top > 0 ? Math.floor(top) : Math.ceil(top)) <= this.options.scrollYOffset();\n }\n\n subscribe(cb): () => void {\n const emmiter = this._emiter.addListener(EVENT, cb);\n\n return () => emmiter.removeListener(EVENT, cb);\n }\n\n scrollIntoView(element: Element | null) {\n if (element === null) {\n return;\n }\n\n element.scrollIntoView();\n\n if (this._scrollParent && this._scrollParent.scrollBy) {\n // adding 1 account rounding errors in case scrollYOffset is float-number\n (this._scrollParent.scrollBy as any)(0, -this.options.scrollYOffset() + 1);\n }\n }\n\n scrollIntoViewBySelector(selector: string) {\n const element = querySelector(selector);\n this.scrollIntoView(element);\n }\n\n @bind\n @Throttle(100)\n handleScroll() {\n const scrollY = this.scrollY();\n const isScrolledDown = scrollY - this._prevOffsetY > 0;\n this._prevOffsetY = this.scrollY();\n\n this._emiter.emit(EVENT, isScrolledDown);\n }\n\n}","import { IS_BROWSER } from '../utils/';\nimport { IMenuItem } from './MenuStore';\nimport { OperationModel } from './models';\nimport Worker from './SearchWorker.worker';\n\nfunction getWorker() {\n let worker: new () => Worker;\n\n if (IS_BROWSER) {\n try {\n // tslint:disable-next-line\n worker = require('workerize-loader?inline&fallback=false!./SearchWorker.worker');\n } catch (e) {\n worker = require('./SearchWorker.worker').default;\n }\n } else {\n worker = require('./SearchWorker.worker').default;\n }\n\n return new worker();\n}\n\nexport class SearchStore {\n searchWorker = getWorker();\n\n indexItems(groups: Array) {\n const recurse = items => {\n items.forEach(group => {\n if (group.type !== 'group') {\n this.add(group.name, group.description || '', group.id);\n }\n\n recurse(group.items);\n });\n };\n\n recurse(groups);\n this.searchWorker.done();\n }\n\n add(title: string, body: string, meta?: T) {\n this.searchWorker.add(title, body, meta);\n }\n\n dispose() {\n (this.searchWorker as any).terminate();\n (this.searchWorker as any).dispose();\n }\n\n search(q: string) {\n return this.searchWorker.search(q);\n }\n\n async toJS() {\n return this.searchWorker.toJS();\n }\n\n load(state: any) {\n this.searchWorker.load(state);\n }\n\n fromExternalJS(path?: string, exportName?: string) {\n if (path && exportName) {\n this.searchWorker.fromExternalJS(path, exportName);\n }\n }\n\n}","import { SECTION_ATTR } from '../services/MenuStore';\nimport styled, { media } from '../styled-components';\nexport const MiddlePanel = styled.div<{\n compact?: boolean;\n}>`\n width: calc(100% - ${props => props.theme.rightPanel.width});\n padding: 0 ${props => props.theme.spacing.sectionHorizontal}px;\n\n ${({\n compact,\n theme\n}) => media.lessThan('medium', true)`\n width: 100%;\n padding: ${`${compact ? 0 : theme.spacing.sectionVertical}px ${theme.spacing.sectionHorizontal}px`};\n `};\n`;\nexport const Section = styled.div.attrs(props => ({\n [SECTION_ATTR]: props.id\n}))<{\n underlined?: boolean;\n}>`\n padding: ${props => props.theme.spacing.sectionVertical}px 0;\n\n &:last-child {\n min-height: calc(100vh + 1px);\n }\n\n & > &:last-child {\n min-height: initial;\n }\n\n ${media.lessThan('medium', true)`\n padding: 0;\n `}\n ${(props: any) => props.underlined && `\n position: relative;\n\n &:not(:last-of-type):after {\n position: absolute;\n bottom: 0;\n width: 100%;\n display: block;\n content: '';\n border-bottom: 1px solid rgba(0, 0, 0, 0.2);\n }\n ` || ''}\n`;\nexport const RightPanel = styled.div`\n width: ${props => props.theme.rightPanel.width};\n color: ${({\n theme\n}) => theme.rightPanel.textColor};\n background-color: ${props => props.theme.rightPanel.backgroundColor};\n padding: 0 ${props => props.theme.spacing.sectionHorizontal}px;\n\n ${media.lessThan('medium', true)`\n width: 100%;\n padding: ${props => `${props.theme.spacing.sectionVertical}px ${props.theme.spacing.sectionHorizontal}px`};\n `};\n`;\nexport const DarkRightPanel = styled(RightPanel)`\n background-color: ${props => props.theme.rightPanel.backgroundColor};\n`;\nexport const Row = styled.div`\n display: flex;\n width: 100%;\n padding: 0;\n\n ${media.lessThan('medium', true)`\n flex-direction: column;\n `};\n`;","import styled, { css, extensionsHook } from '../styled-components';\nconst headerFontSize = {\n 1: '1.85714em',\n 2: '1.57143em',\n 3: '1.27em'\n};\nexport const headerCommonMixin = level => css`\n font-family: ${({\n theme\n}) => theme.typography.headings.fontFamily};\n font-weight: ${({\n theme\n}) => theme.typography.headings.fontWeight};\n font-size: ${headerFontSize[level]};\n line-height: ${({\n theme\n}) => theme.typography.headings.lineHeight};\n`;\nexport const H1 = styled.h1`\n ${headerCommonMixin(1)};\n color: ${({\n theme\n}) => theme.colors.primary.main};\n\n ${extensionsHook('H1')};\n`;\nexport const H2 = styled.h2`\n ${headerCommonMixin(2)};\n color: black;\n\n ${extensionsHook('H2')};\n`;\nexport const H3 = styled.h2`\n ${headerCommonMixin(3)};\n color: black;\n\n ${extensionsHook('H3')};\n`;\nexport const RightPanelHeader = styled.h3`\n color: ${({\n theme\n}) => theme.rightPanel.textColor};\n\n ${extensionsHook('RightPanelHeader')};\n`;\nexport const UnderlinedHeader = styled.h5`\n border-bottom: 1px solid rgba(38, 50, 56, 0.3);\n margin: 1em 0 1em 0;\n color: rgba(38, 50, 56, 0.5);\n font-weight: normal;\n text-transform: uppercase;\n font-size: 0.929em;\n line-height: 20px;\n\n ${extensionsHook('UnderlinedHeader')};\n`;","import * as memoize from 'memoize-one/dist/memoize-one.cjs'; // fixme: https://github.com/alexreardon/memoize-one/issues/37\n\nimport { Component, createContext } from 'react';\nimport { AppStore } from '../services/';\nimport { RedocRawOptions } from '../services/RedocNormalizedOptions';\nimport { loadAndBundleSpec } from '../utils';\nexport interface StoreBuilderProps {\n specUrl?: string;\n spec?: object;\n store?: AppStore;\n options?: RedocRawOptions;\n onLoaded?: (e?: Error) => void;\n children: (props: {\n loading: boolean;\n store?: AppStore;\n }) => any;\n}\nexport interface StoreBuilderState {\n error?: Error;\n loading: boolean;\n resolvedSpec?: any;\n prevSpec?: any;\n prevSpecUrl?: string;\n}\nconst {\n Provider,\n Consumer\n} = createContext(undefined);\nexport { Provider as StoreProvider, Consumer as StoreConsumer };\nexport class StoreBuilder extends Component {\n static getDerivedStateFromProps(nextProps: StoreBuilderProps, prevState: StoreBuilderState) {\n if (nextProps.specUrl !== prevState.prevSpecUrl || nextProps.spec !== prevState.prevSpec) {\n return {\n loading: true,\n resolvedSpec: null,\n prevSpec: nextProps.spec,\n prevSpecUrl: nextProps.specUrl\n };\n }\n\n return null;\n }\n\n state: StoreBuilderState = {\n loading: true,\n resolvedSpec: null\n };\n\n @memoize\n makeStore(spec, specUrl, options) {\n if (!spec) {\n return undefined;\n }\n\n try {\n return new AppStore(spec, specUrl, options);\n } catch (e) {\n if (this.props.onLoaded) {\n this.props.onLoaded(e);\n }\n\n throw e;\n }\n }\n\n componentDidMount() {\n this.load();\n }\n\n componentDidUpdate() {\n if (this.state.resolvedSpec === null) {\n this.load();\n } else if (!this.state.loading && this.props.onLoaded) {\n // may run multiple time\n this.props.onLoaded();\n }\n }\n\n async load() {\n const {\n specUrl,\n spec\n } = this.props;\n\n try {\n const resolvedSpec = await loadAndBundleSpec(spec || specUrl!);\n this.setState({\n resolvedSpec,\n loading: false\n });\n } catch (e) {\n if (this.props.onLoaded) {\n this.props.onLoaded(e);\n }\n\n this.setState({\n error: e\n });\n }\n }\n\n render() {\n if (this.state.error) {\n throw this.state.error;\n }\n\n const {\n specUrl,\n options\n } = this.props;\n const {\n loading,\n resolvedSpec\n } = this.state;\n return this.props.children({\n loading,\n store: this.makeStore(resolvedSpec, specUrl, options)\n });\n }\n\n}","import * as React from 'react';\nimport { StoreConsumer } from '../components/StoreBuilder';\nimport styled, { css } from '../styled-components';\nimport { HistoryService } from '../services'; // tslint:disable-next-line\n\nexport const linkifyMixin = className => css`\n ${className} {\n cursor: pointer;\n margin-left: -20px;\n padding: 0;\n line-height: 1;\n width: 20px;\n display: inline-block;\n outline: 0;\n }\n ${className}:before {\n content: '';\n width: 15px;\n height: 15px;\n background-size: contain;\n background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMCIgeT0iMCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA1MTIgNTEyIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBmaWxsPSIjMDEwMTAxIiBkPSJNNDU5LjcgMjMzLjRsLTkwLjUgOTAuNWMtNTAgNTAtMTMxIDUwLTE4MSAwIC03LjktNy44LTE0LTE2LjctMTkuNC0yNS44bDQyLjEtNDIuMWMyLTIgNC41LTMuMiA2LjgtNC41IDIuOSA5LjkgOCAxOS4zIDE1LjggMjcuMiAyNSAyNSA2NS42IDI0LjkgOTAuNSAwbDkwLjUtOTAuNWMyNS0yNSAyNS02NS42IDAtOTAuNSAtMjQuOS0yNS02NS41LTI1LTkwLjUgMGwtMzIuMiAzMi4yYy0yNi4xLTEwLjItNTQuMi0xMi45LTgxLjYtOC45bDY4LjYtNjguNmM1MC01MCAxMzEtNTAgMTgxIDBDNTA5LjYgMTAyLjMgNTA5LjYgMTgzLjQgNDU5LjcgMjMzLjR6TTIyMC4zIDM4Mi4ybC0zMi4yIDMyLjJjLTI1IDI0LjktNjUuNiAyNC45LTkwLjUgMCAtMjUtMjUtMjUtNjUuNiAwLTkwLjVsOTAuNS05MC41YzI1LTI1IDY1LjUtMjUgOTAuNSAwIDcuOCA3LjggMTIuOSAxNy4yIDE1LjggMjcuMSAyLjQtMS40IDQuOC0yLjUgNi44LTQuNWw0Mi4xLTQyYy01LjQtOS4yLTExLjYtMTgtMTkuNC0yNS44IC01MC01MC0xMzEtNTAtMTgxIDBsLTkwLjUgOTAuNWMtNTAgNTAtNTAgMTMxIDAgMTgxIDUwIDUwIDEzMSA1MCAxODEgMGw2OC42LTY4LjZDMjc0LjYgMzk1LjEgMjQ2LjQgMzkyLjMgMjIwLjMgMzgyLjJ6Ii8+PC9zdmc+Cg==');\n opacity: 0.5;\n visibility: hidden;\n display: inline-block;\n vertical-align: middle;\n }\n\n h1:hover > ${className}::before, h2:hover > ${className}::before, ${className}:hover::before {\n visibility: visible;\n }\n`;\n\nconst isModifiedEvent = event => !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n\nexport class Link extends React.Component<{\n to: string;\n className?: string;\n children?: any;\n}> {\n navigate = (history: HistoryService, event) => {\n if (!event.defaultPrevented && // onClick prevented default\n event.button === 0 && // ignore everything but left clicks\n !isModifiedEvent(event) // ignore clicks with modifier keys\n ) {\n event.preventDefault();\n history.replace(this.props.to);\n }\n };\n\n render() {\n return \n {store => \n {this.props.children}\n }\n ;\n }\n\n}\nconst StyledShareLink = styled(Link)`\n ${linkifyMixin('&')};\n`;\nexport function ShareLink(props: {\n to: string;\n}) {\n return ;\n}","import * as React from 'react';\nimport styled from '../styled-components';\nconst directionMap = {\n left: '90deg',\n right: '-90deg',\n up: '-180deg',\n down: '0'\n};\n\nclass IntShelfIcon extends React.PureComponent<{\n className?: string;\n float?: 'left' | 'right';\n size?: string;\n color?: string;\n direction: 'left' | 'right' | 'up' | 'down';\n style?: React.CSSProperties;\n}> {\n render() {\n return \n \n ;\n }\n\n}\n\nexport const ShelfIcon = styled(IntShelfIcon)`\n height: ${props => props.size || '18px'};\n width: ${props => props.size || '18px'};\n vertical-align: middle;\n float: ${props => props.float || ''};\n transition: transform 0.2s ease-out;\n transform: rotateZ(${props => directionMap[props.direction || 'down']});\n\n polygon {\n fill: ${({\n color,\n theme\n}) => color && theme.colors.responses[color] && theme.colors.responses[color].color || color};\n }\n`;\nexport const Badge = styled.span<{\n type: string;\n}>`\n display: inline-block;\n padding: 2px 8px;\n margin: 0;\n background-color: ${props => props.theme.colors[props.type].main};\n color: ${props => props.theme.colors[props.type].contrastText};\n font-size: ${props => props.theme.typography.code.fontSize};\n vertical-align: middle;\n line-height: 1.6;\n border-radius: 4px;\n font-weight: ${({\n theme\n}) => theme.typography.fontWeightBold};\n font-size: 12px;\n + span[type] {\n margin-left: 4px;\n }\n`;","import { css } from '../styled-components';\nexport const deprecatedCss = css`\n text-decoration: line-through;\n color: #707070;\n`;","// import { transparentize } from 'polished';\nimport styled, { extensionsHook, media } from '../styled-components';\nimport { deprecatedCss } from './mixins';\nexport const PropertiesTableCaption = styled.caption`\n text-align: right;\n font-size: 0.9em;\n font-weight: normal;\n color: ${props => props.theme.colors.text.secondary};\n`;\nexport const PropertyCell = styled.td<{\n kind?: string;\n}>`\n border-left: 1px solid ${props => props.theme.schema.linesColor};\n box-sizing: border-box;\n position: relative;\n padding: 10px 10px 10px 0;\n\n ${media.lessThan('small')`\n display: block;\n overflow: hidden;\n `}\n\n tr:first-of-type > &,\n tr.last > & {\n border-left-width: 0;\n background-position: top left;\n background-repeat: no-repeat;\n background-size: 1px 100%;\n }\n\n tr:first-of-type > & {\n background-image: linear-gradient(\n to bottom,\n transparent 0%,\n transparent 22px,\n ${props => props.theme.schema.linesColor} 22px,\n ${props => props.theme.schema.linesColor} 100%\n );\n }\n\n tr.last > & {\n background-image: linear-gradient(\n to bottom,\n ${props => props.theme.schema.linesColor} 0%,\n ${props => props.theme.schema.linesColor} 22px,\n transparent 22px,\n transparent 100%\n );\n }\n\n tr.last + tr > & {\n border-left-color: transparent;\n }\n\n tr.last:first-child > & {\n background: none;\n border-left-color: transparent;\n }\n`;\nexport const PropertyCellWithInner = styled(PropertyCell)`\n padding: 0;\n`;\nexport const PropertyNameCell = styled(PropertyCell)`\n vertical-align: top;\n line-height: 20px;\n white-space: nowrap;\n font-size: 13px;\n font-family: ${props => props.theme.typography.code.fontFamily};\n\n &.deprecated {\n ${deprecatedCss};\n }\n\n ${({\n kind\n}) => kind !== 'field' ? 'font-style: italic' : ''};\n\n ${extensionsHook('PropertyNameCell')};\n`;\nexport const PropertyDetailsCell = styled.td`\n border-bottom: none;\n padding: 10px 0;\n width: ${props => props.theme.schema.defaultDetailsWidth};\n box-sizing: border-box;\n\n tr.expanded & {\n border-bottom: none;\n }\n\n ${media.lessThan('small')`\n padding: 0 20px;\n border-bottom: none;\n border-left: 1px solid ${props => props.theme.schema.linesColor};\n\n tr.last > & {\n border-left: none;\n }\n `}\n\n ${extensionsHook('PropertyDetailsCell')};\n`;\nexport const PropertyBullet = styled.span`\n color: ${props => props.theme.schema.linesColor};\n font-family: ${props => props.theme.typography.code.fontFamily};\n margin-right: 10px;\n\n &::before {\n content: '';\n display: inline-block;\n vertical-align: middle;\n width: 10px;\n height: 1px;\n background: ${props => props.theme.schema.linesColor};\n }\n\n &::after {\n content: '';\n display: inline-block;\n vertical-align: middle;\n width: 1px;\n background: ${props => props.theme.schema.linesColor};\n height: 7px;\n }\n`;\nexport const InnerPropertiesWrap = styled.div`\n padding: ${({\n theme\n}) => theme.schema.nestingSpacing};\n`;\nexport const PropertiesTable = styled.table`\n border-collapse: separate;\n border-radius: 3px;\n font-size: ${props => props.theme.typography.fontSize};\n\n border-spacing: 0;\n width: 100%;\n\n > tr {\n vertical-align: middle;\n }\n\n ${media.lessThan('small')`\n display: block;\n > tr, > tbody > tr {\n display: block;\n }\n `}\n\n ${media.lessThan('small', false, ' and (-ms-high-contrast:none)')`\n td {\n float: left;\n width: 100%;\n }\n `}\n\n &\n ${InnerPropertiesWrap},\n &\n ${InnerPropertiesWrap}\n ${InnerPropertiesWrap}\n ${InnerPropertiesWrap},\n &\n ${InnerPropertiesWrap}\n ${InnerPropertiesWrap}\n ${InnerPropertiesWrap}\n ${InnerPropertiesWrap}\n ${InnerPropertiesWrap} {\n margin: ${({\n theme\n}) => theme.schema.nestingSpacing};\n margin-right: 0;\n background: ${({\n theme\n}) => theme.schema.nestedBackground};\n }\n\n &\n ${InnerPropertiesWrap}\n ${InnerPropertiesWrap},\n &\n ${InnerPropertiesWrap}\n ${InnerPropertiesWrap}\n ${InnerPropertiesWrap}\n ${InnerPropertiesWrap},\n &\n ${InnerPropertiesWrap}\n ${InnerPropertiesWrap}\n ${InnerPropertiesWrap}\n ${InnerPropertiesWrap}\n ${InnerPropertiesWrap}\n ${InnerPropertiesWrap} {\n background: #ffffff;\n }\n`;","import styled from '../styled-components';\nimport { darken } from 'polished';\nexport const OneOfList = styled.div`\n margin: 0 0 3px 0;\n display: inline-block;\n`;\nexport const OneOfLabel = styled.span`\n font-size: 0.9em;\n margin-right: 10px;\n color: ${props => props.theme.colors.primary.main};\n font-family: ${props => props.theme.typography.headings.fontFamily};\n}\n`;\nexport const OneOfButton = styled.button<{\n active: boolean;\n}>`\n display: inline-block;\n margin-right: 10px;\n margin-bottom: 5px;\n font-size: 0.8em;\n cursor: pointer;\n border: 1px solid ${props => props.theme.colors.primary.main};\n padding: 2px 10px;\n line-height: 1.5em;\n outline: none;\n &:focus {\n box-shadow: 0 0 0 1px ${props => props.theme.colors.primary.main};\n }\n\n ${props => {\n if (props.active) {\n return `\n color: white;\n background-color: ${props.theme.colors.primary.main};\n &:focus {\n box-shadow: none;\n background-color: ${darken(0.15, props.theme.colors.primary.main)};\n }\n `;\n } else {\n return `\n color: ${props.theme.colors.primary.main};\n background-color: white;\n `;\n }\n}}\n`;\nexport const ArrayOpenningLabel = styled.div`\n font-size: 0.9em;\n font-family: ${props => props.theme.typography.code.fontFamily};\n &::after {\n content: ' [';\n }\n`;\nexport const ArrayClosingLabel = styled.div`\n font-size: 0.9em;\n font-family: ${props => props.theme.typography.code.fontFamily};\n &::after {\n content: ']';\n }\n`;","import Dropdown from '@redocly/react-dropdown-aria';\nimport styled from '../styled-components';\nexport interface DropdownOption {\n idx: number;\n value: string;\n}\nexport interface DropdownProps {\n options: DropdownOption[];\n value: string;\n onChange: (option: DropdownOption) => void;\n ariaLabel: string;\n}\nexport const StyledDropdown = styled(Dropdown)`\n && {\n box-sizing: border-box;\n min-width: 100px;\n outline: none;\n display: inline-block;\n border-radius: 2px;\n border: 1px solid rgba(38, 50, 56, 0.5);\n vertical-align: bottom;\n padding: 2px 0px 2px 6px;\n position: relative;\n width: auto;\n background: white;\n color: #263238;\n font-family: ${props => props.theme.typography.headings.fontFamily};\n font-size: 0.929em;\n line-height: 1.5em;\n cursor: pointer;\n transition: border 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;\n &:hover,\n &:focus-within {\n border: 1px solid ${props => props.theme.colors.primary.main};\n color: ${props => props.theme.colors.primary.main};\n box-shadow: 0px 0px 0px 1px ${props => props.theme.colors.primary.main};\n }\n .dropdown-selector {\n display: inline-flex;\n padding: 0;\n height: auto;\n padding-right: 20px;\n position: relative;\n margin-bottom: 5px;\n }\n .dropdown-selector-value {\n font-family: ${props => props.theme.typography.headings.fontFamily};\n position: relative;\n font-size: 0.929em;\n width: 100%;\n line-height: 1;\n vertical-align: middle;\n color: #263238;\n left: 0;\n transition: color 0.25s ease, text-shadow 0.25s ease;\n }\n .dropdown-arrow {\n position: absolute;\n right: 3px;\n top: 50%;\n transform: translateY(-50%);\n border-color: ${props => props.theme.colors.primary.main} transparent transparent;\n border-style: solid;\n border-width: 0.35em 0.35em 0;\n width: 0;\n svg {\n display: none;\n }\n }\n\n .dropdown-selector-content {\n position: absolute;\n margin-top: 2px;\n left: -2px;\n right: 0;\n\n z-index: 10;\n min-width: 100px;\n\n background: white;\n border: 1px solid rgba(38, 50, 56, 0.2);\n box-shadow: 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.08);\n\n max-height: 220px;\n overflow: auto;\n }\n\n .dropdown-option {\n font-size: 0.9em;\n color: #263238;\n cursor: pointer;\n padding: 0.4em;\n background-color: #ffffff;\n\n &[aria-selected='true'] {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:hover {\n background-color: rgba(38, 50, 56, 0.12);\n }\n }\n input {\n cursor: pointer;\n height: 1px;\n background-color: transparent;\n }\n }\n`;\nexport const SimpleDropdown = styled(StyledDropdown)`\n && {\n margin-left: 10px;\n text-transform: none;\n font-size: 0.969em;\n\n font-size: 1em;\n border: none;\n padding: 0 1.2em 0 0;\n background: transparent;\n\n &:hover,\n &:focus-within {\n border: none;\n box-shadow: none;\n .dropdown-selector-value {\n color: ${props => props.theme.colors.primary.main};\n text-shadow: 0px 0px 0px ${props => props.theme.colors.primary.main};\n }\n }\n }\n`;\nexport const MimeLabel = styled.span`\n margin-left: 10px;\n text-transform: none;\n font-size: 0.929em;\n color: black;\n`;","import { darken } from 'polished';\nimport { Tabs as ReactTabs } from 'react-tabs';\nimport styled from '../styled-components';\nexport { Tab, TabList, TabPanel } from 'react-tabs';\nexport const Tabs = styled(ReactTabs)`\n > ul {\n list-style: none;\n padding: 0;\n margin: 0;\n margin: 0 -5px;\n\n > li {\n padding: 5px 10px;\n display: inline-block;\n\n background-color: ${({\n theme\n}) => theme.codeBlock.backgroundColor};\n border-bottom: 1px solid rgba(0, 0, 0, 0.5);\n cursor: pointer;\n text-align: center;\n outline: none;\n color: ${({\n theme\n}) => darken(theme.colors.tonalOffset, theme.rightPanel.textColor)};\n margin: 0\n ${({\n theme\n}) => `${theme.spacing.unit}px ${theme.spacing.unit}px ${theme.spacing.unit}px`};\n border: 1px solid ${({\n theme\n}) => darken(0.05, theme.codeBlock.backgroundColor)};\n border-radius: 5px;\n min-width: 60px;\n font-size: 0.9em;\n font-weight: bold;\n\n &.react-tabs__tab--selected {\n color: ${props => props.theme.colors.text.primary};\n background: ${({\n theme\n}) => theme.rightPanel.textColor};\n &:focus {\n outline: auto;\n }\n }\n\n &:only-child {\n flex: none;\n min-width: 100px;\n }\n\n &.tab-success {\n color: ${props => props.theme.colors.responses.success.tabTextColor};\n }\n\n &.tab-redirect {\n color: ${props => props.theme.colors.responses.redirect.tabTextColor};\n }\n\n &.tab-info {\n color: ${props => props.theme.colors.responses.info.tabTextColor};\n }\n\n &.tab-error {\n color: ${props => props.theme.colors.responses.error.tabTextColor};\n }\n }\n }\n > .react-tabs__tab-panel {\n background: ${({\n theme\n}) => theme.codeBlock.backgroundColor};\n & > div,\n & > pre {\n padding: ${props => props.theme.spacing.unit * 4}px;\n margin: 0;\n }\n\n & > div > pre {\n padding: 0;\n }\n }\n`;\nexport const SmallTabs = styled(Tabs)`\n > ul {\n display: block;\n > li {\n padding: 2px 5px;\n min-width: auto;\n margin: 0 15px 0 0;\n font-size: 13px;\n font-weight: normal;\n border-bottom: 1px dashed;\n color: ${({\n theme\n}) => darken(theme.colors.tonalOffset, theme.rightPanel.textColor)};\n border-radius: 0;\n background: none;\n\n &:last-child {\n margin-right: 0;\n }\n\n &.react-tabs__tab--selected {\n color: ${({\n theme\n}) => theme.rightPanel.textColor};\n background: none;\n }\n }\n }\n > .react-tabs__tab-panel {\n & > div,\n & > pre {\n padding: ${props => props.theme.spacing.unit * 2}px 0;\n }\n }\n`;","import styled, { extensionsHook } from '../styled-components';\nexport const PrismDiv = styled.div`\n /**\n * Based on prism-dark.css\n */\n\n code[class*='language-'],\n pre[class*='language-'] {\n /* color: white;\n background: none; */\n text-shadow: 0 -0.1em 0.2em black;\n text-align: left;\n white-space: pre;\n word-spacing: normal;\n word-break: normal;\n word-wrap: normal;\n line-height: 1.5;\n\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n\n -webkit-hyphens: none;\n -moz-hyphens: none;\n -ms-hyphens: none;\n hyphens: none;\n }\n\n @media print {\n code[class*='language-'],\n pre[class*='language-'] {\n text-shadow: none;\n }\n }\n\n /* Code blocks */\n pre[class*='language-'] {\n padding: 1em;\n margin: 0.5em 0;\n overflow: auto;\n }\n\n .token.comment,\n .token.prolog,\n .token.doctype,\n .token.cdata {\n color: hsl(30, 20%, 50%);\n }\n\n .token.punctuation {\n opacity: 0.7;\n }\n\n .namespace {\n opacity: 0.7;\n }\n\n .token.property,\n .token.tag,\n .token.number,\n .token.constant,\n .token.symbol {\n color: #4a8bb3;\n }\n\n .token.boolean {\n color: #e64441;\n }\n\n .token.selector,\n .token.attr-name,\n .token.string,\n .token.char,\n .token.builtin,\n .token.inserted {\n color: #a0fbaa;\n & + a,\n & + a:visited {\n color: #4ed2ba;\n text-decoration: underline;\n }\n }\n\n .token.property.string {\n color: white;\n }\n\n .token.operator,\n .token.entity,\n .token.url,\n .token.variable {\n color: hsl(40, 90%, 60%);\n }\n\n .token.atrule,\n .token.attr-value,\n .token.keyword {\n color: hsl(350, 40%, 70%);\n }\n\n .token.regex,\n .token.important {\n color: #e90;\n }\n\n .token.important,\n .token.bold {\n font-weight: bold;\n }\n .token.italic {\n font-style: italic;\n }\n\n .token.entity {\n cursor: help;\n }\n\n .token.deleted {\n color: red;\n }\n\n ${extensionsHook('Prism')};\n`;","import styled from '../styled-components';\nimport { PrismDiv } from './PrismDiv';\nexport const SampleControls = styled.div`\n opacity: 0.7;\n transition: opacity 0.3s ease;\n text-align: right;\n &:focus-within {\n opacity: 1;\n }\n > button {\n background-color: transparent;\n border: 0;\n color: inherit;\n padding: 2px 10px;\n font-family: ${({\n theme\n}) => theme.typography.fontFamily};\n font-size: ${({\n theme\n}) => theme.typography.fontSize};\n line-height: ${({\n theme\n}) => theme.typography.lineHeight};\n cursor: pointer;\n outline: 0;\n\n :hover,\n :focus {\n background: rgba(255, 255, 255, 0.1);\n }\n }\n`;\nexport const SampleControlsWrap = styled.div`\n &:hover ${SampleControls} {\n opacity: 1;\n }\n`;\nexport const StyledPre = styled(PrismDiv.withComponent('pre'))`\n font-family: ${props => props.theme.typography.code.fontFamily};\n font-size: ${props => props.theme.typography.code.fontSize};\n overflow-x: auto;\n margin: 0;\n\n white-space: ${({\n theme\n}) => theme.typography.code.wrap ? 'pre-wrap' : 'pre'};\n`;","import * as React from 'react';\nimport PerfectScrollbarType, * as PerfectScrollbarNamespace from 'perfect-scrollbar';\nimport psStyles from 'perfect-scrollbar/css/perfect-scrollbar.css';\nimport { OptionsContext } from '../components/OptionsProvider';\nimport styled, { createGlobalStyle } from '../styled-components';\n/*\n * perfect scrollbar umd bundle uses exports assignment while module uses default export\n * so when bundled with webpack default export works but with jest it crashes\n * That's why the following ugly fix is required\n */\n\nconst PerfectScrollbarConstructor = PerfectScrollbarNamespace.default || ((PerfectScrollbarNamespace as any) as PerfectScrollbarType);\nconst PSStyling = createGlobalStyle`${psStyles && psStyles.toString()}`;\nconst StyledScrollWrapper = styled.div`\n position: relative;\n`;\nexport interface PerfectScrollbarProps {\n options?: PerfectScrollbarType.Options;\n className?: string;\n updateFn?: (fn) => void;\n}\nexport class PerfectScrollbar extends React.Component {\n private _container: HTMLElement;\n private inst: PerfectScrollbarType;\n\n componentDidMount() {\n const offset = this._container.parentElement && this._container.parentElement.scrollTop || 0;\n this.inst = new PerfectScrollbarConstructor(this._container, this.props.options || {});\n\n if (this._container.scrollTo) {\n this._container.scrollTo(0, offset);\n }\n }\n\n componentDidUpdate() {\n this.inst.update();\n }\n\n componentWillUnmount() {\n this.inst.destroy();\n }\n\n handleRef = ref => {\n this._container = ref;\n };\n\n render() {\n const {\n children,\n className,\n updateFn\n } = this.props;\n\n if (updateFn) {\n updateFn(this.componentDidUpdate.bind(this));\n }\n\n return <>\n \n \n {children}\n \n ;\n }\n\n}\nexport function PerfectScrollbarWrap(props: PerfectScrollbarProps & {\n children: JSX.Element[] | JSX.Element;\n}) {\n return \n {options => !options.nativeScrollbars ? {props.children} :
\n {props.children}\n
}\n
;\n}","export * from './panels';\nexport * from './headers';\nexport * from './linkify';\nexport * from './shelfs';\nexport * from './fields-layout';\nexport * from './schema';\nexport * from './dropdown';\nexport * from './mixins';\nexport * from './tabs';\nexport * from './samples';\nexport * from './perfect-scrollbar';","import * as React from 'react';\nimport { DropdownProps, MimeLabel, SimpleDropdown } from '../../common-elements/dropdown';\nexport interface DropdownOrLabelProps extends DropdownProps {\n Label?: React.ComponentClass;\n Dropdown?: React.ComponentClass;\n}\nexport function DropdownOrLabel(props: DropdownOrLabelProps): JSX.Element {\n const {\n Label = MimeLabel,\n Dropdown = SimpleDropdown\n } = props;\n\n if (props.options.length === 1) {\n return ;\n }\n\n return ;\n}","import { headerCommonMixin, linkifyMixin } from '../../common-elements';\nimport { PrismDiv } from '../../common-elements/PrismDiv';\nimport styled, { css, extensionsHook, ResolvedThemeInterface } from '../../styled-components';\nimport { StyledComponent } from 'styled-components';\nexport const linksCss = css`\n a {\n text-decoration: none;\n color: ${props => props.theme.typography.links.color};\n\n &:visited {\n color: ${props => props.theme.typography.links.visited};\n }\n\n &:hover {\n color: ${props => props.theme.typography.links.hover};\n }\n }\n`;\nexport const StyledMarkdownBlock = styled((PrismDiv as StyledComponent<'div', ResolvedThemeInterface, {\n compact?: boolean;\n inline?: boolean;\n}>))`\n\n font-family: ${props => props.theme.typography.fontFamily};\n font-weight: ${props => props.theme.typography.fontWeightRegular};\n line-height: ${props => props.theme.typography.lineHeight};\n\n p {\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n ${({\n compact\n}) => compact && `\n p:first-child {\n margin-top: 0;\n }\n p:last-child {\n margin-bottom: 0;\n }\n `}\n\n ${({\n inline\n}) => inline && ` p {\n display: inline-block;\n }`}\n\n h1 {\n ${headerCommonMixin(1)};\n color: ${props => props.theme.colors.primary.main};\n margin-top: 0;\n }\n\n h2 {\n ${headerCommonMixin(2)};\n color: ${props => props.theme.colors.text.primary};\n }\n\n code {\n color: ${({\n theme\n}) => theme.typography.code.color};\n background-color: ${({\n theme\n}) => theme.typography.code.backgroundColor};\n\n font-family: ${props => props.theme.typography.code.fontFamily};\n border-radius: 2px;\n border: 1px solid rgba(38, 50, 56, 0.1);\n padding: 0 ${({\n theme\n}) => theme.spacing.unit}px;\n font-size: ${props => props.theme.typography.code.fontSize};\n font-weight: ${({\n theme\n}) => theme.typography.code.fontWeight};\n\n word-break: break-word;\n }\n\n pre {\n font-family: ${props => props.theme.typography.code.fontFamily};\n white-space:${({\n theme\n}) => theme.typography.code.wrap ? 'pre-wrap' : 'pre'};\n background-color: ${({\n theme\n}) => theme.codeBlock.backgroundColor};\n color: white;\n padding: ${props => props.theme.spacing.unit * 4}px;\n overflow-x: auto;\n line-height: normal;\n border-radius: 0px\n border: 1px solid rgba(38, 50, 56, 0.1);\n\n code {\n background-color: transparent;\n color: white;\n padding: 0;\n\n &:before,\n &:after {\n content: none;\n }\n }\n }\n\n blockquote {\n margin: 0;\n margin-bottom: 1em;\n padding: 0 15px;\n color: #777;\n border-left: 4px solid #ddd;\n }\n\n img {\n max-width: 100%;\n box-sizing: content-box;\n }\n\n ul,\n ol {\n padding-left: 2em;\n margin: 0;\n margin-bottom: 1em;\n\n ul, ol {\n margin-bottom: 0;\n margin-top: 0;\n }\n }\n\n table {\n display: block;\n width: 100%;\n overflow: auto;\n word-break: normal;\n word-break: keep-all;\n border-collapse: collapse;\n border-spacing: 0;\n margin-top: 1.5em;\n margin-bottom: 1.5em;\n }\n\n table tr {\n background-color: #fff;\n border-top: 1px solid #ccc;\n\n &:nth-child(2n) {\n background-color: ${({\n theme\n}) => theme.schema.nestedBackground};\n }\n }\n\n table th,\n table td {\n padding: 6px 13px;\n border: 1px solid #ddd;\n }\n\n table th {\n text-align: left;\n font-weight: bold;\n }\n\n ${linkifyMixin('.share-link')};\n\n ${linksCss}\n\n ${extensionsHook('Markdown')};\n`;","import * as DOMPurify from 'dompurify';\nimport * as React from 'react';\nimport { OptionsConsumer } from '../OptionsProvider';\nimport { StylingMarkdownProps } from './Markdown';\nimport { StyledMarkdownBlock } from './styled.elements';\nconst StyledMarkdownSpan = StyledMarkdownBlock.withComponent('span');\n\nconst sanitize = (untrustedSpec, html) => untrustedSpec ? DOMPurify.sanitize(html) : html;\n\nexport function SanitizedMarkdownHTML(props: StylingMarkdownProps & {\n html: string;\n className?: string;\n 'data-role'?: string;\n}) {\n const Wrap = props.inline ? StyledMarkdownSpan : StyledMarkdownBlock;\n return \n {options => }\n ;\n}","import * as React from 'react';\nimport { MarkdownRenderer } from '../../services';\nimport { SanitizedMarkdownHTML } from './SanitizedMdBlock';\nexport interface StylingMarkdownProps {\n compact?: boolean;\n inline?: boolean;\n}\nexport interface BaseMarkdownProps {\n sanitize?: boolean;\n source: string;\n}\nexport type MarkdownProps = BaseMarkdownProps & StylingMarkdownProps & {\n source: string;\n className?: string;\n 'data-role'?: string;\n};\nexport class Markdown extends React.Component {\n render() {\n const {\n source,\n inline,\n compact,\n className,\n 'data-role': dataRole\n } = this.props;\n const renderer = new MarkdownRenderer();\n return ;\n }\n\n}","import * as React from 'react';\nimport styled from '../styled-components';\nconst Wrapper = styled.div`\n position: relative;\n`;\nconst Tip = styled.div`\n position: absolute;\n min-width: 80px;\n max-width: 500px;\n background: #fff;\n bottom: 100%;\n left: 50%;\n margin-bottom: 10px;\n transform: translateX(-50%);\n\n border-radius: 4px;\n padding: 0.3em 0.6em;\n text-align: center;\n box-shadow: 0px 0px 5px 0px rgba(204, 204, 204, 1);\n`;\nconst Content = styled.div`\n background: #fff;\n color: #000;\n display: inline;\n font-size: 0.85em;\n white-space: nowrap;\n`;\nconst Arrow = styled.div`\n position: absolute;\n width: 0;\n height: 0;\n bottom: -5px;\n left: 50%;\n margin-left: -5px;\n border-left: solid transparent 5px;\n border-right: solid transparent 5px;\n border-top: solid #fff 5px;\n`;\nconst Gap = styled.div`\n position: absolute;\n width: 100%;\n height: 20px;\n bottom: -20px;\n`;\nexport interface TooltipProps {\n open: boolean;\n title: string;\n}\nexport class Tooltip extends React.Component {\n render() {\n const {\n open,\n title,\n children\n } = this.props;\n return \n {children}\n {open && \n {title}\n \n \n }\n ;\n }\n\n}","const isSupported = typeof document !== 'undefined' && document.queryCommandSupported && document.queryCommandSupported('copy');\nexport class ClipboardService {\n static isSupported(): boolean {\n return isSupported;\n }\n\n static selectElement(element: any): void {\n let range;\n let selection;\n\n if ((document.body as any).createTextRange) {\n range = (document.body as any).createTextRange();\n range.moveToElementText(element);\n range.select();\n } else if (document.createRange && window.getSelection) {\n selection = window.getSelection();\n range = document.createRange();\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n }\n }\n\n static deselect(): void {\n if ((document as any).selection) {\n (document as any).selection.empty();\n } else if (window.getSelection) {\n const selection = window.getSelection();\n\n if (selection) {\n selection.removeAllRanges();\n }\n }\n }\n\n static copySelected(): boolean {\n let result;\n\n try {\n result = document.execCommand('copy');\n } catch (err) {\n result = false;\n }\n\n return result;\n }\n\n static copyElement(element: any): boolean {\n ClipboardService.selectElement(element);\n const res = ClipboardService.copySelected();\n\n if (res) {\n ClipboardService.deselect();\n }\n\n return res;\n }\n\n static copyCustom(text: string): boolean {\n const textArea = document.createElement('textarea');\n textArea.style.position = 'fixed';\n textArea.style.top = '0';\n textArea.style.left = '0'; // Ensure it has a small width and height. Setting to 1px / 1em\n // doesn't work as this gives a negative w/h on some browsers.\n\n textArea.style.width = '2em';\n textArea.style.height = '2em'; // We don't need padding, reducing the size if it does flash render.\n\n textArea.style.padding = '0'; // Clean up any borders.\n\n textArea.style.border = 'none';\n textArea.style.outline = 'none';\n textArea.style.boxShadow = 'none'; // Avoid flash of white box if rendered for any reason.\n\n textArea.style.background = 'transparent';\n textArea.value = text;\n document.body.appendChild(textArea);\n textArea.select();\n const res = ClipboardService.copySelected();\n document.body.removeChild(textArea);\n return res;\n }\n\n}","import * as React from 'react';\nimport { Tooltip } from '../common-elements/Tooltip';\nimport { ClipboardService } from '../services/ClipboardService';\nexport interface CopyButtonWrapperProps {\n data: any;\n children: (props: {\n renderCopyButton: () => React.ReactNode;\n }) => React.ReactNode;\n}\nexport class CopyButtonWrapper extends React.PureComponent {\n constructor(props) {\n super(props);\n this.state = {\n tooltipShown: false\n };\n }\n\n render() {\n return this.props.children({\n renderCopyButton: this.renderCopyButton\n });\n }\n\n copy = () => {\n const content = typeof this.props.data === 'string' ? this.props.data : JSON.stringify(this.props.data, null, 2);\n ClipboardService.copyCustom(content);\n this.showTooltip();\n };\n renderCopyButton = () => {\n return ;\n };\n\n showTooltip() {\n this.setState({\n tooltipShown: true\n });\n setTimeout(() => {\n this.setState({\n tooltipShown: false\n });\n }, 1500);\n }\n\n}","let level = 1;\nexport function jsonToHTML(json, maxExpandLevel) {\n level = 1;\n let output = '';\n output += '
';\n output += '';\n output += valueToHTML(json, maxExpandLevel);\n output += '';\n output += '
';\n return output;\n}\n\nfunction htmlEncode(t) {\n return t !== undefined ? t.toString().replace(/&/g, '&').replace(/\"/g, '"').replace(//g, '>') : '';\n}\n\nfunction stringifyStringLiteral(str: string) {\n return JSON.stringify(str).slice(1, -1);\n}\n\nfunction decorateWithSpan(value, className) {\n return '' + htmlEncode(value) + '';\n}\n\nfunction punctuation(val) {\n return '' + val + '';\n}\n\nfunction valueToHTML(value, maxExpandLevel: number) {\n const valueType = typeof value;\n let output = '';\n\n if (value === undefined || value === null) {\n output += decorateWithSpan('null', 'token keyword');\n } else if (value && value.constructor === Array) {\n level++;\n output += arrayToHTML(value, maxExpandLevel);\n level--;\n } else if (value && value.constructor === Date) {\n output += decorateWithSpan('\"' + value.toISOString() + '\"', 'token string');\n } else if (valueType === 'object') {\n level++;\n output += objectToHTML(value, maxExpandLevel);\n level--;\n } else if (valueType === 'number') {\n output += decorateWithSpan(value, 'token number');\n } else if (valueType === 'string') {\n if (/^(http|https):\\/\\/[^\\s]+$/.test(value)) {\n output += decorateWithSpan('\"', 'token string') + '' + htmlEncode(stringifyStringLiteral(value)) + '' + decorateWithSpan('\"', 'token string');\n } else {\n output += decorateWithSpan('\"' + stringifyStringLiteral(value) + '\"', 'token string');\n }\n } else if (valueType === 'boolean') {\n output += decorateWithSpan(value, 'token boolean');\n }\n\n return output;\n}\n\nfunction arrayToHTML(json, maxExpandLevel: number) {\n const collapsed = level > maxExpandLevel ? 'collapsed' : '';\n let output = `${punctuation('[')}
    `;\n let hasContents = false;\n const length = json.length;\n\n for (let i = 0; i < length; i++) {\n hasContents = true;\n output += '
  • ';\n output += valueToHTML(json[i], maxExpandLevel);\n\n if (i < length - 1) {\n output += ',';\n }\n\n output += '
  • ';\n }\n\n output += `
${punctuation(']')}`;\n\n if (!hasContents) {\n output = punctuation('[ ]');\n }\n\n return output;\n}\n\nfunction objectToHTML(json, maxExpandLevel: number) {\n const collapsed = level > maxExpandLevel ? 'collapsed' : '';\n const keys = Object.keys(json);\n const length = keys.length;\n let output = `${punctuation('{')}
    `;\n let hasContents = false;\n\n for (let i = 0; i < length; i++) {\n const key = keys[i];\n hasContents = true;\n output += '
  • ';\n output += '\"' + htmlEncode(key) + '\": ';\n output += valueToHTML(json[key], maxExpandLevel);\n\n if (i < length - 1) {\n output += punctuation(',');\n }\n\n output += '
  • ';\n }\n\n output += `
${punctuation('}')}`;\n\n if (!hasContents) {\n output = punctuation('{ }');\n }\n\n return output;\n}","import { css } from '../../styled-components';\nexport const jsonStyles = css`\n .redoc-json code > .collapser {\n display: none;\n pointer-events: none;\n }\n\n font-family: ${props => props.theme.typography.code.fontFamily};\n font-size: ${props => props.theme.typography.code.fontSize};\n\n white-space: ${({\n theme\n}) => theme.typography.code.wrap ? 'pre-wrap' : 'pre'};\n contain: content;\n overflow-x: auto;\n\n .callback-function {\n color: gray;\n }\n\n .collapser:after {\n content: '-';\n cursor: pointer;\n }\n\n .collapsed > .collapser:after {\n content: '+';\n cursor: pointer;\n }\n\n .ellipsis:after {\n content: ' … ';\n }\n\n .collapsible {\n margin-left: 2em;\n }\n\n .hoverable {\n padding-top: 1px;\n padding-bottom: 1px;\n padding-left: 2px;\n padding-right: 2px;\n border-radius: 2px;\n }\n\n .hovered {\n background-color: rgba(235, 238, 249, 1);\n }\n\n .collapser {\n background-color: transparent;\n border: 0;\n color: #fff;\n font-family: ${props => props.theme.typography.code.fontFamily};\n font-size: ${props => props.theme.typography.code.fontSize};\n padding-right: 6px;\n padding-left: 6px;\n padding-top: 0;\n padding-bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15px;\n height: 15px;\n position: absolute;\n top: 4px;\n left: -1.5em;\n cursor: default;\n user-select: none;\n -webkit-user-select: none;\n padding: 2px;\n &:focus {\n outline-color: #fff;\n outline-style: dotted;\n outline-width: 1px;\n }\n }\n\n ul {\n list-style-type: none;\n padding: 0px;\n margin: 0px 0px 0px 26px;\n }\n\n li {\n position: relative;\n display: block;\n }\n\n .hoverable {\n display: inline-block;\n }\n\n .selected {\n outline-style: solid;\n outline-width: 1px;\n outline-style: dotted;\n }\n\n .collapsed > .collapsible {\n display: none;\n }\n\n .ellipsis {\n display: none;\n }\n\n .collapsed > .ellipsis {\n display: inherit;\n }\n`;","import * as React from 'react';\nimport styled from '../../styled-components';\nimport { SampleControls } from '../../common-elements';\nimport { CopyButtonWrapper } from '../../common-elements/CopyButtonWrapper';\nimport { PrismDiv } from '../../common-elements/PrismDiv';\nimport { jsonToHTML } from '../../utils/jsonToHtml';\nimport { OptionsContext } from '../OptionsProvider';\nimport { jsonStyles } from './style';\nexport interface JsonProps {\n data: any;\n className?: string;\n}\nconst JsonViewerWrap = styled.div`\n &:hover > ${SampleControls} {\n opacity: 1;\n }\n`;\n\nclass Json extends React.PureComponent {\n node: HTMLDivElement;\n\n render() {\n return {this.renderInner};\n }\n\n renderInner = ({\n renderCopyButton\n }) => \n \n {renderCopyButton()}\n \n \n \n \n {options => this.node = node!} dangerouslySetInnerHTML={{\n __html: jsonToHTML(this.props.data, options.jsonSampleExpandLevel)\n }} />}\n \n ;\n expandAll = () => {\n const elements = this.node.getElementsByClassName('collapsible');\n\n for (const collapsed of Array.prototype.slice.call(elements)) {\n (collapsed.parentNode as Element)!.classList.remove('collapsed');\n }\n };\n collapseAll = () => {\n const elements = this.node.getElementsByClassName('collapsible'); // skip first item to avoid collapsing whole object/array\n\n const elementsArr = Array.prototype.slice.call(elements, 1);\n\n for (const expanded of elementsArr) {\n (expanded.parentNode as Element)!.classList.add('collapsed');\n }\n };\n collapseElement = (target: HTMLElement) => {\n let collapsed;\n\n if (target.className === 'collapser') {\n collapsed = target.parentElement!.getElementsByClassName('collapsible')[0];\n\n if (collapsed.parentElement.classList.contains('collapsed')) {\n collapsed.parentElement.classList.remove('collapsed');\n } else {\n collapsed.parentElement.classList.add('collapsed');\n }\n }\n };\n clickListener = (event: MouseEvent) => {\n this.collapseElement((event.target as HTMLElement));\n };\n focusListener = (event: KeyboardEvent) => {\n if (event.key === 'Enter') {\n this.collapseElement((event.target as HTMLElement));\n }\n };\n\n componentDidMount() {\n this.node!.addEventListener('click', this.clickListener);\n this.node!.addEventListener('focus', this.focusListener);\n }\n\n componentWillUnmount() {\n this.node!.removeEventListener('click', this.clickListener);\n this.node!.removeEventListener('focus', this.focusListener);\n }\n\n}\n\nexport const JsonViewer = styled(Json)`\n ${jsonStyles};\n`;","import * as React from 'react';\nimport { highlight } from '../../utils';\nimport { SampleControls, SampleControlsWrap, StyledPre } from '../../common-elements';\nimport { CopyButtonWrapper } from '../../common-elements/CopyButtonWrapper';\nexport interface SourceCodeProps {\n source: string;\n lang: string;\n}\nexport class SourceCode extends React.PureComponent {\n render() {\n const {\n source,\n lang\n } = this.props;\n return ;\n }\n\n}\nexport class SourceCodeWithCopy extends React.PureComponent {\n render() {\n return \n {({\n renderCopyButton\n }) => \n {renderCopyButton()}\n \n }\n ;\n }\n\n}","import * as React from 'react';\nimport { isJsonLike, langFromMime } from '../../utils/openapi';\nimport { JsonViewer } from '../JsonViewer/JsonViewer';\nimport { SourceCodeWithCopy } from '../SourceCode/SourceCode';\nexport interface ExampleValueProps {\n value: any;\n mimeType: string;\n}\nexport function ExampleValue({\n value,\n mimeType\n}: ExampleValueProps) {\n if (isJsonLike(mimeType)) {\n return ;\n } else {\n if (typeof value === 'object') {\n // just in case example was cached as json but used as non-json\n value = JSON.stringify(value, null, 2);\n }\n\n return ;\n }\n}","import { useEffect, useRef, useState } from 'react';\nimport { ExampleModel } from '../../services/models/Example';\nexport function useExternalExample(example: ExampleModel, mimeType: string) {\n const [, setIsLoading] = useState(true); // to trigger component reload\n\n const value = useRef(undefined);\n const prevRef = useRef(undefined);\n\n if (prevRef.current !== example) {\n value.current = undefined;\n }\n\n prevRef.current = example;\n useEffect(() => {\n const load = async () => {\n setIsLoading(true);\n\n try {\n value.current = await example.getExternalValue(mimeType);\n } catch (e) {\n value.current = e;\n }\n\n setIsLoading(false);\n };\n\n load();\n }, [example, mimeType]);\n return value.current;\n}","import * as React from 'react';\nimport { StyledPre } from '../../common-elements/samples';\nimport { ExampleModel } from '../../services/models';\nimport { ExampleValue } from './ExampleValue';\nimport { useExternalExample } from './exernalExampleHook';\nexport interface ExampleProps {\n example: ExampleModel;\n mimeType: string;\n}\nexport function Example({\n example,\n mimeType\n}: ExampleProps) {\n if (example.value === undefined && example.externalValueUrl) {\n return ;\n } else {\n return ;\n }\n}\nexport function ExternalExample({\n example,\n mimeType\n}: ExampleProps) {\n const value = useExternalExample(example, mimeType);\n\n if (value === undefined) {\n return Loading...;\n }\n\n if (value instanceof Error) {\n return \n Error loading external example:
\n \n {example.externalValueUrl}\n \n
;\n }\n\n return ;\n}","import { transparentize } from 'polished';\nimport styled from '../../styled-components';\nimport { StyledDropdown } from '../../common-elements';\nexport const MimeLabel = styled.div`\n padding: 0.9em;\n background-color: ${({\n theme\n}) => transparentize(0.6, theme.rightPanel.backgroundColor)};\n margin: 0 0 10px 0;\n display: block;\n font-family: ${({\n theme\n}) => theme.typography.headings.fontFamily};\n font-size: 0.929em;\n line-height: 1.5em;\n`;\nexport const DropdownLabel = styled.span`\n font-family: ${({\n theme\n}) => theme.typography.headings.fontFamily};\n font-size: 12px;\n position: absolute;\n z-index: 1;\n top: -11px;\n left: 12px;\n font-weight: ${({\n theme\n}) => theme.typography.fontWeightBold};\n color: ${({\n theme\n}) => transparentize(0.3, theme.rightPanel.textColor)};\n`;\nexport const DropdownWrapper = styled.div`\n position: relative;\n`;\nexport const InvertedSimpleDropdown = styled(StyledDropdown)`\n && {\n margin-left: 10px;\n text-transform: none;\n font-size: 0.929em;\n margin: 0 0 10px 0;\n display: block;\n background-color: ${({\n theme\n}) => transparentize(0.6, theme.rightPanel.backgroundColor)};\n font-size: 1em;\n border: none;\n padding: 0.9em 1.6em 0.9em 0.9em;\n box-shadow: none;\n &:hover,\n &:focus-within {\n border: none;\n box-shadow: none;\n }\n &:focus-within {\n background-color: ${({\n theme\n}) => transparentize(0.3, theme.rightPanel.backgroundColor)};\n }\n\n .dropdown-arrow {\n border-top-color: ${({\n theme\n}) => theme.rightPanel.textColor};\n }\n .dropdown-selector-value {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n color: ${({\n theme\n}) => theme.rightPanel.textColor};\n }\n\n .dropdown-selector-content {\n margin: 0;\n margin-top: 2px;\n .dropdown-option {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n }\n }\n }\n`;\nexport const NoSampleLabel = styled.div`\n font-family: ${props => props.theme.typography.code.fontFamily};\n font-size: 12px;\n color: #ee807f;\n`;","import * as React from 'react';\nimport styled from '../../styled-components';\nimport { DropdownProps } from '../../common-elements';\nimport { MediaTypeModel } from '../../services/models';\nimport { Markdown } from '../Markdown/Markdown';\nimport { Example } from './Example';\nimport { DropdownLabel, DropdownWrapper, NoSampleLabel } from './styled.elements';\nexport interface PayloadSamplesProps {\n mediaType: MediaTypeModel;\n renderDropdown: (props: DropdownProps) => JSX.Element;\n}\ninterface MediaTypeSamplesState {\n activeIdx: number;\n}\nexport class MediaTypeSamples extends React.Component {\n state = {\n activeIdx: 0\n };\n switchMedia = ({\n idx\n }) => {\n this.setState({\n activeIdx: idx\n });\n };\n\n render() {\n const {\n activeIdx\n } = this.state;\n const examples = this.props.mediaType.examples || {};\n const mimeType = this.props.mediaType.name;\n const noSample = No sample;\n const examplesNames = Object.keys(examples);\n\n if (examplesNames.length === 0) {\n return noSample;\n }\n\n if (examplesNames.length > 1) {\n const options = examplesNames.map((name, idx) => {\n return {\n value: examples[name].summary || name,\n idx\n };\n });\n const example = examples[examplesNames[activeIdx]];\n const description = example.description;\n return \n \n Example\n {this.props.renderDropdown({\n value: options[activeIdx].value,\n options,\n onChange: this.switchMedia,\n ariaLabel: 'Example'\n })}\n \n
\n {description && }\n \n
\n
;\n } else {\n const example = examples[examplesNames[0]];\n return \n {example.description && }\n \n ;\n }\n }\n\n}\nconst SamplesWrapper = styled.div`\n margin-top: 15px;\n`;","import { transparentize } from 'polished';\nimport styled, { extensionsHook } from '../styled-components';\nimport { PropertyNameCell } from './fields-layout';\nimport { ShelfIcon } from './shelfs';\nexport const ClickablePropertyNameCell = styled(PropertyNameCell)`\n button {\n background-color: transparent;\n border: 0;\n outline: 0;\n font-size: 13px;\n font-family: ${props => props.theme.typography.code.fontFamily};\n cursor: pointer;\n padding: 0;\n color: ${props => props.theme.colors.text.primary};\n &:focus {\n font-weight: ${({\n theme\n}) => theme.typography.fontWeightBold};\n }\n }\n ${ShelfIcon} {\n height: ${({\n theme\n}) => theme.schema.arrow.size};\n width: ${({\n theme\n}) => theme.schema.arrow.size};\n polygon {\n fill: ${({\n theme\n}) => theme.schema.arrow.color};\n }\n }\n`;\nexport const FieldLabel = styled.span`\n vertical-align: middle;\n font-size: ${({\n theme\n}) => theme.typography.code.fontSize};\n line-height: 20px;\n`;\nexport const TypePrefix = styled(FieldLabel)`\n color: ${props => transparentize(0.1, props.theme.schema.typeNameColor)};\n`;\nexport const TypeName = styled(FieldLabel)`\n color: ${props => props.theme.schema.typeNameColor};\n`;\nexport const TypeTitle = styled(FieldLabel)`\n color: ${props => props.theme.schema.typeTitleColor};\n word-break: break-word;\n`;\nexport const TypeFormat = TypeName;\nexport const RequiredLabel = styled(FieldLabel.withComponent('div'))`\n color: ${props => props.theme.schema.requireLabelColor};\n font-size: ${props => props.theme.schema.labelsTextSize};\n font-weight: normal;\n margin-left: 20px;\n line-height: 1;\n`;\nexport const RecursiveLabel = styled(FieldLabel)`\n color: ${({\n theme\n}) => theme.colors.warning.main};\n font-size: 13px;\n`;\nexport const NullableLabel = styled(FieldLabel)`\n color: #0e7c86;\n font-size: 13px;\n`;\nexport const PatternLabel = styled(FieldLabel)`\n color: #0e7c86;\n &::before,\n &::after {\n font-weight: bold;\n }\n`;\nexport const ExampleValue = styled(FieldLabel)`\n border-radius: 2px;\n ${({\n theme\n}) => `\n background-color: ${transparentize(0.95, theme.colors.text.primary)};\n color: ${transparentize(0.1, theme.colors.text.primary)};\n\n padding: 0 ${theme.spacing.unit}px;\n border: 1px solid ${transparentize(0.9, theme.colors.text.primary)};\n font-family: ${theme.typography.code.fontFamily};\n}`};\n & + & {\n margin-left: 0;\n }\n ${extensionsHook('ExampleValue')};\n`;\nexport const ExtensionValue = styled(ExampleValue)``;\nexport const ConstraintItem = styled(FieldLabel)`\n border-radius: 2px;\n ${({\n theme\n}) => `\n background-color: ${transparentize(0.95, theme.colors.primary.light)};\n color: ${transparentize(0.1, theme.colors.primary.main)};\n\n margin: 0 ${theme.spacing.unit}px;\n padding: 0 ${theme.spacing.unit}px;\n border: 1px solid ${transparentize(0.9, theme.colors.primary.main)};\n font-family: ${theme.typography.code.fontFamily};\n}`};\n & + & {\n margin-left: 0;\n }\n ${extensionsHook('ConstraintItem')};\n`;\nexport const ToggleButton = styled.button`\n background-color: transparent;\n border: 0;\n color: ${({\n theme\n}) => theme.colors.text.secondary};\n margin-left: ${({\n theme\n}) => theme.spacing.unit}px;\n border-radius: 2px;\n cursor: pointer;\n outline-color: ${({\n theme\n}) => theme.colors.text.secondary};\n font-size: 12px;\n`;","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport styled from '../../styled-components';\nimport { OpenAPIExternalDocumentation } from '../../types';\nimport { linksCss } from '../Markdown/styled.elements';\nconst LinkWrap = styled.div<{\n compact?: boolean;\n}>`\n ${linksCss};\n ${({\n compact\n}) => !compact ? 'margin: 1em 0' : ''}\n`;\n@observer\nexport class ExternalDocumentation extends React.Component<{\n externalDocs: OpenAPIExternalDocumentation;\n compact?: boolean;\n}> {\n render() {\n const {\n externalDocs\n } = this.props;\n\n if (!externalDocs || !externalDocs.url) {\n return null;\n }\n\n return \n {externalDocs.description || externalDocs.url}\n ;\n }\n\n}","import * as React from 'react';\nimport { ExampleValue, FieldLabel } from '../../common-elements/fields';\nimport { l } from '../../services/Labels';\nimport { OptionsContext } from '../OptionsProvider';\nimport styled from '../../styled-components';\nimport { RedocRawOptions } from '../../services/RedocNormalizedOptions';\nexport interface EnumValuesProps {\n values: string[];\n type: string;\n}\nexport interface EnumValuesState {\n collapsed: boolean;\n}\nexport class EnumValues extends React.PureComponent {\n state: EnumValuesState = {\n collapsed: true\n };\n static contextType = OptionsContext;\n\n private toggle() {\n this.setState({\n collapsed: !this.state.collapsed\n });\n }\n\n render() {\n const {\n values,\n type\n } = this.props;\n const {\n collapsed\n } = this.state; // TODO: provide context interface in more elegant way\n\n const {\n enumSkipQuotes,\n maxDisplayedEnumValues\n } = (this.context as RedocRawOptions);\n\n if (!values.length) {\n return null;\n }\n\n const displayedItems = this.state.collapsed && maxDisplayedEnumValues ? values.slice(0, maxDisplayedEnumValues) : values;\n const showToggleButton = maxDisplayedEnumValues ? values.length > maxDisplayedEnumValues : false;\n const toggleButtonText = maxDisplayedEnumValues ? collapsed ? `… ${values.length - maxDisplayedEnumValues} more` : 'Hide' : '';\n return
\n \n {type === 'array' ? l('enumArray') : ''}{' '}\n {values.length === 1 ? l('enumSingleValue') : l('enum')}:\n {' '}\n {displayedItems.map((value, idx) => {\n const exampleValue = enumSkipQuotes ? value : JSON.stringify(value);\n return \n {exampleValue}{' '}\n ;\n })}\n {showToggleButton ? {\n this.toggle();\n }}>\n {toggleButtonText}\n : null}\n
;\n }\n\n}\nconst ToggleButton = styled.span`\n color: ${props => props.theme.colors.primary.main};\n vertical-align: middle;\n font-size: 13px;\n line-height: 20px;\n padding: 0 5px;\n cursor: pointer;\n`;","import * as React from 'react';\nimport { ExtensionValue, FieldLabel } from '../../common-elements/fields';\nimport styled from '../../styled-components';\nimport { OptionsContext } from '../OptionsProvider';\nimport { StyledMarkdownBlock } from '../Markdown/styled.elements';\nconst Extension = styled(StyledMarkdownBlock)`\n margin: 2px 0;\n`;\nexport interface ExtensionsProps {\n extensions: {\n [k: string]: any;\n };\n}\nexport class Extensions extends React.PureComponent {\n render() {\n const exts = this.props.extensions;\n return \n {options => <>\n {options.showExtensions && Object.keys(exts).map(key => \n {key.substring(2)}: {' '}\n \n {typeof exts[key] === 'string' ? exts[key] : JSON.stringify(exts[key])}\n \n )}\n }\n ;\n }\n\n}","import * as React from 'react';\nimport { ConstraintItem } from '../../common-elements/fields';\nexport interface ConstraintsViewProps {\n constraints: string[];\n}\nexport class ConstraintsView extends React.PureComponent {\n render() {\n if (this.props.constraints.length === 0) {\n return null;\n }\n\n return \n {' '}\n {this.props.constraints.map(constraint => {constraint} )}\n ;\n }\n\n}","import * as React from 'react';\nimport { ExampleValue, FieldLabel } from '../../common-elements/fields';\nexport interface FieldDetailProps {\n value?: any;\n label: string;\n raw?: boolean;\n}\nexport class FieldDetail extends React.PureComponent {\n render() {\n if (this.props.value === undefined) {\n return null;\n }\n\n const value = this.props.raw ? this.props.value : JSON.stringify(this.props.value);\n return
\n {this.props.label} {value}\n
;\n }\n\n}","import * as React from 'react';\nimport { NullableLabel, PatternLabel, RecursiveLabel, TypeFormat, TypeName, TypePrefix, TypeTitle, ToggleButton, FieldLabel, ExampleValue } from '../../common-elements/fields';\nimport { serializeParameterValue } from '../../utils/openapi';\nimport { ExternalDocumentation } from '../ExternalDocumentation/ExternalDocumentation';\nimport { Markdown } from '../Markdown/Markdown';\nimport { EnumValues } from './EnumValues';\nimport { Extensions } from './Extensions';\nimport { FieldProps } from './Field';\nimport { ConstraintsView } from './FieldContstraints';\nimport { FieldDetail } from './FieldDetail';\nimport { Badge } from '../../common-elements/';\nimport { l } from '../../services/Labels';\nimport { OptionsContext } from '../OptionsProvider';\nimport { FieldModel } from '../../services/models/Field';\nimport styled from '../../styled-components';\nconst MAX_PATTERN_LENGTH = 45;\nexport class FieldDetails extends React.PureComponent {\n state = {\n patternShown: false\n };\n static contextType = OptionsContext;\n togglePattern = () => {\n this.setState({\n patternShown: !this.state.patternShown\n });\n };\n\n render() {\n const {\n showExamples,\n field,\n renderDiscriminatorSwitch\n } = this.props;\n const {\n patternShown\n } = this.state;\n const {\n enumSkipQuotes,\n hideSchemaTitles\n } = this.context;\n const {\n schema,\n description,\n example,\n deprecated,\n examples\n } = field;\n const rawDefault = !!enumSkipQuotes || field.in === 'header'; // having quotes around header field default values is confusing and inappropriate\n\n let renderedExamples: JSX.Element | null = null;\n\n if (showExamples && (example !== undefined || examples !== undefined)) {\n if (examples !== undefined) {\n renderedExamples = ;\n } else {\n const label = l('example') + ':';\n const raw = !!field.in;\n renderedExamples = ;\n }\n }\n\n return
\n
\n {schema.typePrefix}\n {schema.displayType}\n {schema.displayFormat && \n {' '}\n <\n {schema.displayFormat}\n >{' '}\n }\n {schema.title && !hideSchemaTitles && ({schema.title}) }\n \n {schema.nullable && {l('nullable')} }\n {schema.pattern && <>\n \n {patternShown || schema.pattern.length < MAX_PATTERN_LENGTH ? schema.pattern : `${schema.pattern.substr(0, MAX_PATTERN_LENGTH)}...`}\n \n {schema.pattern.length > MAX_PATTERN_LENGTH && \n {patternShown ? 'Hide pattern' : 'Show pattern'}\n }\n }\n {schema.isCircular && {l('recursive')} }\n
\n {deprecated &&
\n {l('deprecated')} \n
}\n \n {!renderDiscriminatorSwitch && }{' '}\n {renderedExamples}\n {}\n
\n \n
\n {schema.externalDocs && }\n {renderDiscriminatorSwitch && renderDiscriminatorSwitch(this.props) || null}\n
;\n }\n\n}\n\nfunction Examples({\n field\n}: {\n field: FieldModel;\n}) {\n if (!field.examples) {\n return null;\n }\n\n return <>\n {l('examples')}: \n \n {Object.values(field.examples).map((example, idx) => {\n return
  • \n {getSerializedValue(field, example.value)} - {example.summary || example.description}\n
  • ;\n })}\n
    \n ;\n}\n\nfunction getSerializedValue(field: FieldModel, example: any) {\n if (field.in) {\n // decode for better readability in examples: see https://github.com/Redocly/redoc/issues/1138\n return decodeURIComponent(serializeParameterValue(field, example));\n } else {\n return example;\n }\n}\n\nconst ExamplesList = styled.ul`\n margin-top: 1em;\n padding-left: 0;\n list-style-position: inside;\n`;","import * as React from 'react';\nimport { Schema, SchemaProps } from './Schema';\nimport { ArrayClosingLabel, ArrayOpenningLabel } from '../../common-elements';\nimport styled from '../../styled-components';\nimport { humanizeConstraints } from \"../../utils\";\nconst PaddedSchema = styled.div`\n padding-left: ${({\n theme\n}) => theme.spacing.unit * 2}px;\n`;\nexport class ArraySchema extends React.PureComponent {\n render() {\n const itemsSchema = this.props.schema.items!;\n\n const itemConstraintSchema = (min: number | undefined = undefined, max: number | undefined = undefined) => ({\n type: 'array',\n minItems: min,\n maxItems: max\n });\n\n const minMaxItems = humanizeConstraints(itemConstraintSchema(itemsSchema.schema.minItems, itemsSchema.schema.maxItems));\n return
    \n Array ({minMaxItems})\n \n \n \n \n
    ;\n }\n\n}","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { ClickablePropertyNameCell, RequiredLabel } from '../../common-elements/fields';\nimport { FieldDetails } from './FieldDetails';\nimport { InnerPropertiesWrap, PropertyBullet, PropertyCellWithInner, PropertyDetailsCell, PropertyNameCell } from '../../common-elements/fields-layout';\nimport { ShelfIcon } from '../../common-elements/';\nimport { FieldModel } from '../../services/models';\nimport { Schema, SchemaOptions } from '../Schema/Schema';\nexport interface FieldProps extends SchemaOptions {\n className?: string;\n isLast?: boolean;\n showExamples?: boolean;\n field: FieldModel;\n expandByDefault?: boolean;\n renderDiscriminatorSwitch?: (opts: FieldProps) => JSX.Element;\n}\n@observer\nexport class Field extends React.Component {\n toggle = () => {\n if (this.props.field.expanded === undefined && this.props.expandByDefault) {\n this.props.field.expanded = false;\n } else {\n this.props.field.toggle();\n }\n };\n handleKeyPress = e => {\n if (e.key === 'Enter') {\n e.preventDefault();\n this.toggle();\n }\n };\n\n render() {\n const {\n className,\n field,\n isLast,\n expandByDefault\n } = this.props;\n const {\n name,\n deprecated,\n required,\n kind\n } = field;\n const withSubSchema = !field.schema.isPrimitive && !field.schema.isCircular;\n const expanded = field.expanded === undefined ? expandByDefault : field.expanded;\n const paramName = withSubSchema ? \n \n \n {required && required }\n : \n \n {name}\n {required && required }\n ;\n return <>\n \n {paramName}\n \n \n \n \n {expanded && withSubSchema && \n \n \n \n \n \n }\n ;\n }\n\n}","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { DropdownOption, StyledDropdown } from '../../common-elements/dropdown';\nimport { SchemaModel } from '../../services/models';\n@observer\nexport class DiscriminatorDropdown extends React.Component<{\n parent: SchemaModel;\n enumValues: string[];\n}> {\n sortOptions(options: DropdownOption[], enumValues: string[]): void {\n if (enumValues.length === 0) {\n return;\n }\n\n const enumOrder = {};\n enumValues.forEach((enumItem, idx) => {\n enumOrder[enumItem] = idx;\n });\n options.sort((a, b) => {\n return enumOrder[a.value] > enumOrder[b.value] ? 1 : -1;\n });\n }\n\n render() {\n const {\n parent,\n enumValues\n } = this.props;\n\n if (parent.oneOf === undefined) {\n return null;\n }\n\n const options = parent.oneOf.map((subSchema, idx) => {\n return {\n value: subSchema.title,\n idx\n };\n });\n const activeValue = options[parent.activeOneOf].value;\n this.sortOptions(options, enumValues);\n return ;\n }\n\n changeActiveChild = (option: DropdownOption) => {\n this.props.parent.activateOneOf(option.idx);\n };\n}","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { SchemaModel } from '../../services/models';\nimport { PropertiesTable, PropertiesTableCaption } from '../../common-elements/fields-layout';\nimport { Field } from '../Fields/Field';\nimport { DiscriminatorDropdown } from './DiscriminatorDropdown';\nimport { SchemaProps } from './Schema';\nimport { mapWithLast } from '../../utils';\nimport { OptionsContext } from '../OptionsProvider';\nexport interface ObjectSchemaProps extends SchemaProps {\n discriminator?: {\n fieldName: string;\n parentSchema: SchemaModel;\n };\n}\n@observer\nexport class ObjectSchema extends React.Component {\n static contextType = OptionsContext;\n\n get parentSchema() {\n return this.props.discriminator!.parentSchema;\n }\n\n render() {\n const {\n schema: {\n fields = []\n },\n showTitle,\n discriminator\n } = this.props;\n const needFilter = this.props.skipReadOnly || this.props.skipWriteOnly;\n const filteredFields = needFilter ? fields.filter(item => {\n return !(this.props.skipReadOnly && item.schema.readOnly || this.props.skipWriteOnly && item.schema.writeOnly);\n }) : fields;\n const expandByDefault = this.context.expandSingleSchemaField && filteredFields.length === 1;\n return \n {showTitle && {this.props.schema.title}}\n \n {mapWithLast(filteredFields, (field, isLast) => {\n return ) || undefined} className={field.expanded ? 'expanded' : undefined} showExamples={false} skipReadOnly={this.props.skipReadOnly} skipWriteOnly={this.props.skipWriteOnly} showTitle={this.props.showTitle} />;\n })}\n \n ;\n }\n\n}","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { OneOfButton as StyledOneOfButton, OneOfLabel, OneOfList } from '../../common-elements/schema';\nimport { SchemaModel } from '../../services/models';\nimport { Schema, SchemaProps } from './Schema';\nexport interface OneOfButtonProps {\n subSchema: SchemaModel;\n idx: number;\n schema: SchemaModel;\n}\n@observer\nexport class OneOfButton extends React.Component {\n render() {\n const {\n idx,\n schema,\n subSchema\n } = this.props;\n return \n {subSchema.title || subSchema.typePrefix + subSchema.displayType}\n ;\n }\n\n activateOneOf = () => {\n this.props.schema.activateOneOf(this.props.idx);\n };\n}\n@observer\nexport class OneOfSchema extends React.Component {\n render() {\n const {\n schema: {\n oneOf\n },\n schema\n } = this.props;\n\n if (oneOf === undefined) {\n return null;\n }\n\n return
    \n {schema.oneOfType} \n \n {oneOf.map((subSchema, idx) => )}\n \n \n
    ;\n }\n\n}","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { RecursiveLabel, TypeName, TypeTitle } from '../../common-elements/fields';\nimport { FieldDetails } from '../Fields/FieldDetails';\nimport { FieldModel, SchemaModel } from '../../services/models';\nimport { ArraySchema } from './ArraySchema';\nimport { ObjectSchema } from './ObjectSchema';\nimport { OneOfSchema } from './OneOfSchema';\nimport { l } from '../../services/Labels';\nexport interface SchemaOptions {\n showTitle?: boolean;\n skipReadOnly?: boolean;\n skipWriteOnly?: boolean;\n}\nexport interface SchemaProps extends SchemaOptions {\n schema: SchemaModel;\n}\n@observer\nexport class Schema extends React.Component> {\n render() {\n const {\n schema\n } = this.props;\n\n if (!schema) {\n return Schema not provided ;\n }\n\n const {\n type,\n oneOf,\n discriminatorProp,\n isCircular\n } = schema;\n\n if (isCircular) {\n return
    \n {schema.displayType}\n {schema.title && {schema.title} }\n {l('recursive')} \n
    ;\n }\n\n if (discriminatorProp !== undefined) {\n if (!oneOf || !oneOf.length) {\n console.warn(`Looks like you are using discriminator wrong: you don't have any definition inherited from the ${schema.title}`);\n return null;\n }\n\n return ;\n }\n\n if (oneOf !== undefined) {\n return ;\n }\n\n switch (type) {\n case 'object':\n if (schema.fields?.length) {\n return ;\n }\n\n break;\n\n case 'array':\n return ;\n } // TODO: maybe adjust FieldDetails to accept schema\n\n\n const field = (({\n schema,\n name: '',\n required: false,\n description: schema.description,\n externalDocs: schema.externalDocs,\n deprecated: false,\n toggle: () => null,\n expanded: false\n } as any) as FieldModel); // cast needed for hot-loader to not fail\n\n return
    \n \n
    ;\n }\n\n}","export * from './Schema';\nexport * from './ObjectSchema';\nexport * from './OneOfSchema';\nexport * from './ArraySchema';\nexport * from './DiscriminatorDropdown';","import * as React from 'react';\nimport { DarkRightPanel, MiddlePanel, MimeLabel, Row, Section } from '../../common-elements';\nimport { MediaTypeModel, OpenAPIParser, RedocNormalizedOptions } from '../../services';\nimport styled from '../../styled-components';\nimport { OpenAPIMediaType } from '../../types';\nimport { DropdownOrLabel } from '../DropdownOrLabel/DropdownOrLabel';\nimport { MediaTypeSamples } from '../PayloadSamples/MediaTypeSamples';\nimport { InvertedSimpleDropdown } from '../PayloadSamples/styled.elements';\nimport { Schema } from '../Schema';\nexport interface ObjectDescriptionProps {\n schemaRef: string;\n exampleRef?: string;\n showReadOnly?: boolean;\n showWriteOnly?: boolean;\n parser: OpenAPIParser;\n options: RedocNormalizedOptions;\n}\nexport class SchemaDefinition extends React.PureComponent {\n private static getMediaType(schemaRef: string, exampleRef?: string): OpenAPIMediaType {\n if (!schemaRef) {\n return {};\n }\n\n const info: OpenAPIMediaType = {\n schema: {\n $ref: schemaRef\n }\n };\n\n if (exampleRef) {\n info.examples = {\n example: {\n $ref: exampleRef\n }\n };\n }\n\n return info;\n }\n\n private _mediaModel: MediaTypeModel;\n\n private get mediaModel() {\n const {\n parser,\n schemaRef,\n exampleRef,\n options\n } = this.props;\n\n if (!this._mediaModel) {\n this._mediaModel = new MediaTypeModel(parser, 'json', false, SchemaDefinition.getMediaType(schemaRef, exampleRef), options);\n }\n\n return this._mediaModel;\n }\n\n render() {\n const {\n showReadOnly = true,\n showWriteOnly = false\n } = this.props;\n return
    \n \n \n \n \n \n \n \n \n \n \n
    ;\n }\n\n private renderDropdown = props => {\n return ;\n };\n}\nconst MediaSamplesWrap = styled.div`\n background: ${({\n theme\n}) => theme.codeBlock.backgroundColor};\n & > div,\n & > pre {\n padding: ${props => props.theme.spacing.unit * 4}px;\n margin: 0;\n }\n\n & > div > pre {\n padding: 0;\n }\n`;","import * as React from 'react';\nimport { SecuritySchemesModel } from '../../services/models';\nimport { H2, MiddlePanel, Row, Section, ShareLink } from '../../common-elements';\nimport { OpenAPISecurityScheme } from '../../types';\nimport { titleize } from '../../utils/helpers';\nimport { Markdown } from '../Markdown/Markdown';\nimport { StyledMarkdownBlock } from '../Markdown/styled.elements';\nconst AUTH_TYPES = {\n oauth2: 'OAuth2',\n apiKey: 'API Key',\n http: 'HTTP',\n openIdConnect: 'OpenID Connect'\n};\nexport interface OAuthFlowProps {\n type: string;\n flow: OpenAPISecurityScheme['flows'][keyof OpenAPISecurityScheme['flows']];\n}\nexport class OAuthFlow extends React.PureComponent {\n render() {\n const {\n type,\n flow\n } = this.props;\n return \n {type} OAuth Flow \n \n {type === 'implicit' || type === 'authorizationCode' ?
    \n Authorization URL: \n {(flow as any).authorizationUrl}\n
    : null}\n {type === 'password' || type === 'clientCredentials' || type === 'authorizationCode' ?
    \n Token URL: \n {(flow as any).tokenUrl}\n
    : null}\n {flow!.refreshUrl &&
    \n Refresh URL: \n {flow!.refreshUrl}\n
    }\n
    \n Scopes: \n
    \n
      \n {Object.keys(flow!.scopes || {}).map(scope =>
    • \n {scope} - \n
    • )}\n
    \n \n ;\n }\n\n}\nexport interface SecurityDefsProps {\n securitySchemes: SecuritySchemesModel;\n}\nexport class SecurityDefs extends React.PureComponent {\n render() {\n return this.props.securitySchemes.schemes.map(scheme =>
    \n \n \n

    \n \n {scheme.id}\n

    \n \n \n \n \n \n \n \n \n {scheme.apiKey ? \n \n \n : scheme.http ? [\n \n \n , scheme.http.scheme === 'bearer' && scheme.http.bearerFormat && \n \n \n ] : scheme.openId ? \n \n \n : scheme.flows ? Object.keys(scheme.flows).map(type => ) : null}\n \n
    Security Scheme Type {AUTH_TYPES[scheme.type] || scheme.type}
    {titleize(scheme.apiKey.in || '')} parameter name: {scheme.apiKey.name}
    HTTP Authorization Scheme {scheme.http.scheme}
    Bearer format "{scheme.http.bearerFormat}"
    Connect URL \n \n {scheme.openId.connectUrl}\n \n
    \n
    \n
    \n
    \n
    );\n }\n\n}","import { Lambda, observe } from 'mobx';\nimport { OpenAPISpec } from '../types';\nimport { loadAndBundleSpec } from '../utils/loadAndBundleSpec';\nimport { history } from './HistoryService';\nimport { MarkerService } from './MarkerService';\nimport { MenuStore } from './MenuStore';\nimport { SpecStore } from './models';\nimport { RedocNormalizedOptions, RedocRawOptions } from './RedocNormalizedOptions';\nimport { ScrollService } from './ScrollService';\nimport { SearchStore } from './SearchStore';\nimport { SchemaDefinition } from '../components/SchemaDefinition/SchemaDefinition';\nimport { SecurityDefs } from '../components/SecuritySchemes/SecuritySchemes';\nimport { SCHEMA_DEFINITION_JSX_NAME, SECURITY_DEFINITIONS_COMPONENT_NAME, SECURITY_DEFINITIONS_JSX_NAME } from '../utils/openapi';\nimport { IS_BROWSER } from '../utils';\nexport interface StoreState {\n menu: {\n activeItemIdx: number;\n };\n spec: {\n url?: string;\n data: any;\n };\n searchIndex: any;\n options: RedocRawOptions;\n}\nexport async function createStore(spec: object, specUrl: string | undefined, options: RedocRawOptions = {}) {\n const resolvedSpec = await loadAndBundleSpec(spec || specUrl);\n return new AppStore(resolvedSpec, specUrl, options);\n}\nexport class AppStore {\n /**\n * deserialize store\n * **SUPER HACKY AND NOT OPTIMAL IMPLEMENTATION**\n */\n // TODO:\n static fromJS(state: StoreState): AppStore {\n const inst = new AppStore(state.spec.data, state.spec.url, state.options, false);\n inst.menu.activeItemIdx = state.menu.activeItemIdx || 0;\n inst.menu.activate(inst.menu.flatItems[inst.menu.activeItemIdx]);\n\n if (!inst.options.disableSearch) {\n inst.search!.load(state.searchIndex);\n }\n\n return inst;\n }\n\n menu: MenuStore;\n spec: SpecStore;\n rawOptions: RedocRawOptions;\n options: RedocNormalizedOptions;\n search?: SearchStore;\n marker = new MarkerService();\n private scroll: ScrollService;\n private disposer: Lambda | null = null;\n\n constructor(spec: OpenAPISpec, specUrl?: string, options: RedocRawOptions = {}, createSearchIndex: boolean = true) {\n this.rawOptions = options;\n this.options = new RedocNormalizedOptions(options, DEFAULT_OPTIONS);\n this.scroll = new ScrollService(this.options); // update position statically based on hash (in case of SSR)\n\n MenuStore.updateOnHistory(history.currentId, this.scroll);\n this.spec = new SpecStore(spec, specUrl, this.options);\n this.menu = new MenuStore(this.spec, this.scroll, history);\n\n if (!this.options.disableSearch) {\n this.search = new SearchStore();\n\n if (createSearchIndex) {\n this.search.indexItems(this.menu.items);\n }\n\n this.disposer = observe(this.menu, 'activeItemIdx', change => {\n this.updateMarkOnMenu((change.newValue as number));\n });\n }\n }\n\n onDidMount() {\n this.menu.updateOnHistory();\n this.updateMarkOnMenu(this.menu.activeItemIdx);\n }\n\n dispose() {\n this.scroll.dispose();\n this.menu.dispose();\n\n if (this.search) {\n this.search.dispose();\n }\n\n if (this.disposer != null) {\n this.disposer();\n }\n }\n /**\n * serializes store\n * **SUPER HACKY AND NOT OPTIMAL IMPLEMENTATION**\n */\n // TODO: improve\n\n\n async toJS(): Promise {\n return {\n menu: {\n activeItemIdx: this.menu.activeItemIdx\n },\n spec: {\n url: this.spec.parser.specUrl,\n data: this.spec.parser.spec\n },\n searchIndex: this.search ? await this.search.toJS() : undefined,\n options: this.rawOptions\n };\n }\n\n private updateMarkOnMenu(idx: number) {\n const start = Math.max(0, idx);\n const end = Math.min(this.menu.flatItems.length, start + 5);\n const elements: Element[] = [];\n\n for (let i = start; i < end; i++) {\n const elem = this.menu.getElementAt(i);\n\n if (!elem) {\n continue;\n }\n\n elements.push(elem);\n }\n\n if (idx === -1 && IS_BROWSER) {\n const $description = document.querySelector('[data-role=\"redoc-description\"]');\n if ($description) elements.push($description);\n }\n\n this.marker.addOnly(elements);\n this.marker.mark();\n }\n\n}\nconst DEFAULT_OPTIONS: RedocRawOptions = {\n allowedMdComponents: {\n [SECURITY_DEFINITIONS_COMPONENT_NAME]: {\n component: SecurityDefs,\n propsSelector: (store: AppStore) => ({\n securitySchemes: store.spec.securitySchemes\n })\n },\n [SECURITY_DEFINITIONS_JSX_NAME]: {\n component: SecurityDefs,\n propsSelector: (store: AppStore) => ({\n securitySchemes: store.spec.securitySchemes\n })\n },\n [SCHEMA_DEFINITION_JSX_NAME]: {\n component: SchemaDefinition,\n propsSelector: (store: AppStore) => ({\n parser: store.spec.parser,\n options: store.options\n })\n }\n }\n};","export * from './AppStore';\nexport * from './OpenAPIParser';\nexport * from './MarkdownRenderer';\nexport * from './MenuStore';\nexport * from './ScrollService';\nexport * from './SpecStore';\nexport * from './ClipboardService';\nexport * from './HistoryService';\nexport * from './models';\nexport * from './RedocNormalizedOptions';\nexport * from './MenuBuilder';\nexport * from './SearchStore';\nexport * from './MarkerService';","import { H1, MiddlePanel } from '../../common-elements';\nimport styled, { extensionsHook } from '../../styled-components';\nconst delimiterWidth = 15;\nexport const ApiInfoWrap = MiddlePanel;\nexport const ApiHeader = styled(H1)`\n margin-top: 0;\n margin-bottom: 0.5em;\n\n ${extensionsHook('ApiHeader')};\n`;\nexport const DownloadButton = styled.a`\n border: 1px solid ${props => props.theme.colors.primary.main};\n color: ${props => props.theme.colors.primary.main};\n font-weight: normal;\n margin-left: 0.5em;\n padding: 4px 8px 4px;\n display: inline-block;\n text-decoration: none;\n cursor: pointer;\n\n ${extensionsHook('DownloadButton')};\n`;\nexport const InfoSpan = styled.span`\n &::before {\n content: '|';\n display: inline-block;\n opacity: 0.5;\n width: ${delimiterWidth}px;\n text-align: center;\n }\n\n &:last-child::after {\n display: none;\n }\n`;\nexport const InfoSpanBoxWrap = styled.div`\n overflow: hidden;\n`;\nexport const InfoSpanBox = styled.div`\n display: flex;\n flex-wrap: wrap;\n // hide separator on new lines: idea from https://stackoverflow.com/a/31732902/1749888\n margin-left: -${delimiterWidth}px;\n`;","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { AppStore } from '../../services/AppStore';\nimport { MiddlePanel, Row, Section } from '../../common-elements/';\nimport { ExternalDocumentation } from '../ExternalDocumentation/ExternalDocumentation';\nimport { Markdown } from '../Markdown/Markdown';\nimport { StyledMarkdownBlock } from '../Markdown/styled.elements';\nimport { ApiHeader, DownloadButton, InfoSpan, InfoSpanBox, InfoSpanBoxWrap } from './styled.elements';\nexport interface ApiInfoProps {\n store: AppStore;\n}\n@observer\nexport class ApiInfo extends React.Component {\n handleDownloadClick = e => {\n if (!e.target.href) {\n e.target.href = this.props.store.spec.info.downloadLink;\n }\n };\n\n render() {\n const {\n store\n } = this.props;\n const {\n info,\n externalDocs\n } = store.spec;\n const hideDownloadButton = store.options.hideDownloadButton;\n const downloadFilename = info.downloadFileName;\n const downloadLink = info.downloadLink;\n const license = info.license && \n License: {info.license.name}\n || null;\n const website = info.contact && info.contact.url && \n URL: {info.contact.url}\n || null;\n const email = info.contact && info.contact.email && \n {info.contact.name || 'E-mail'}:{' '}\n {info.contact.email}\n || null;\n const terms = info.termsOfService && \n Terms of Service\n || null;\n const version = info.version && ({info.version}) || null;\n return
    \n \n \n \n {info.title} {version}\n \n {!hideDownloadButton &&

    \n Download OpenAPI specification:\n \n Download\n \n

    }\n \n {(info.license || info.contact || info.termsOfService) && \n \n {email} {website} {license} {terms}\n \n || null}\n \n \n {externalDocs && }\n
    \n
    \n
    ;\n }\n\n}","export { ApiInfo } from './ApiInfo';","import * as React from 'react';\nimport styled from '../../styled-components';\nexport const LogoImgEl = styled.img`\n max-height: ${props => props.theme.logo.maxHeight};\n max-width: ${props => props.theme.logo.maxWidth};\n padding: ${props => props.theme.logo.gutter};\n width: 100%;\n display: block;\n`;\nexport const LogoWrap = styled.div`\n text-align: center;\n`;\nconst Link = styled.a`\n display: inline-block;\n`;\nexport const LinkWrap = url => Component => {Component};","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { OpenAPIInfo } from '../../types';\nimport { LinkWrap, LogoImgEl, LogoWrap } from './styled.elements';\n@observer\nexport class ApiLogo extends React.Component<{\n info: OpenAPIInfo;\n}> {\n render() {\n const {\n info\n } = this.props;\n const logoInfo = info['x-logo'];\n\n if (!logoInfo || !logoInfo.url) {\n return null;\n }\n\n const logoHref = logoInfo.href || info.contact && info.contact.url; // Use the english word logo if no alt text is provided\n\n const altText = logoInfo.altText ? logoInfo.altText : 'logo';\n const logo = ;\n return \n {logoHref ? LinkWrap(logoHref)(logo) : logo}\n ;\n }\n\n}","import * as React from 'react';\nimport { AppStore, MarkdownRenderer, RedocNormalizedOptions } from '../../services';\nimport { BaseMarkdownProps } from './Markdown';\nimport { SanitizedMarkdownHTML } from './SanitizedMdBlock';\nimport { OptionsConsumer } from '../OptionsProvider';\nimport { StoreConsumer } from '../StoreBuilder';\nexport interface AdvancedMarkdownProps extends BaseMarkdownProps {\n htmlWrap?: (part: JSX.Element) => JSX.Element;\n}\nexport class AdvancedMarkdown extends React.Component {\n render() {\n return \n {options => {store => this.renderWithOptionsAndStore(options, store)}}\n ;\n }\n\n renderWithOptionsAndStore(options: RedocNormalizedOptions, store?: AppStore) {\n const {\n source,\n htmlWrap = i => i\n } = this.props;\n\n if (!store) {\n throw new Error('When using components in markdown, store prop must be provided');\n }\n\n const renderer = new MarkdownRenderer(options);\n const parts = renderer.renderMdWithComponents(source);\n\n if (!parts.length) {\n return null;\n }\n\n return parts.map((part, idx) => {\n if (typeof part === 'string') {\n return React.cloneElement(htmlWrap(), {\n key: idx\n });\n }\n\n return ;\n });\n }\n\n}","import * as classnames from 'classnames';\nimport { darken } from 'polished';\nimport { deprecatedCss, ShelfIcon } from '../../common-elements';\nimport styled, { css, ResolvedThemeInterface } from '../../styled-components';\nexport const OperationBadge = styled.span.attrs((props: {\n type: string;\n}) => ({\n className: `operation-type ${props.type}`\n}))<{\n type: string;\n}>`\n width: 9ex;\n display: inline-block;\n height: ${props => props.theme.typography.code.fontSize};\n line-height: ${props => props.theme.typography.code.fontSize};\n background-color: #333;\n border-radius: 3px;\n background-repeat: no-repeat;\n background-position: 6px 4px;\n font-size: 7px;\n font-family: Verdana, sans-serif; // web-safe\n color: white;\n text-transform: uppercase;\n text-align: center;\n font-weight: bold;\n vertical-align: middle;\n margin-right: 6px;\n margin-top: 2px;\n\n &.get {\n background-color: ${props => props.theme.colors.http.get};\n }\n\n &.post {\n background-color: ${props => props.theme.colors.http.post};\n }\n\n &.put {\n background-color: ${props => props.theme.colors.http.put};\n }\n\n &.options {\n background-color: ${props => props.theme.colors.http.options};\n }\n\n &.patch {\n background-color: ${props => props.theme.colors.http.patch};\n }\n\n &.delete {\n background-color: ${props => props.theme.colors.http.delete};\n }\n\n &.basic {\n background-color: ${props => props.theme.colors.http.basic};\n }\n\n &.link {\n background-color: ${props => props.theme.colors.http.link};\n }\n\n &.head {\n background-color: ${props => props.theme.colors.http.head};\n }\n\n &.hook {\n background-color: ${props => props.theme.colors.primary.main};\n }\n`;\n\nfunction menuItemActiveBg(depth, {\n theme\n}: {\n theme: ResolvedThemeInterface;\n}): string {\n if (depth > 1) {\n return darken(0.1, theme.sidebar.backgroundColor);\n } else if (depth === 1) {\n return darken(0.05, theme.sidebar.backgroundColor);\n } else {\n return '';\n }\n}\n\nexport const MenuItemUl = styled.ul<{\n expanded: boolean;\n}>`\n margin: 0;\n padding: 0;\n\n & & {\n font-size: 0.929em;\n }\n\n ${props => props.expanded ? '' : 'display: none;'};\n`;\nexport const MenuItemLi = styled.li<{\n depth: number;\n}>`\n list-style: none inside none;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: 0;\n ${props => props.depth === 0 ? 'margin-top: 15px' : ''};\n`;\nexport const menuItemDepth = {\n 0: css`\n opacity: 0.7;\n text-transform: ${({\n theme\n }) => theme.sidebar.groupItems.textTransform};\n font-size: 0.8em;\n padding-bottom: 0;\n cursor: default;\n color: ${props => props.theme.sidebar.textColor};\n `,\n 1: css`\n font-size: 0.929em;\n text-transform: ${({\n theme\n }) => theme.sidebar.level1Items.textTransform};\n &:hover {\n color: ${props => props.theme.sidebar.activeTextColor};\n }\n `,\n 2: css`\n color: ${props => props.theme.sidebar.textColor};\n `\n};\nexport interface MenuItemLabelType {\n depth: number;\n active: boolean;\n deprecated?: boolean;\n type?: string;\n}\nexport const MenuItemLabel = styled.label.attrs((props: MenuItemLabelType) => ({\n role: 'menuitem',\n className: classnames('-depth' + props.depth, {\n active: props.active\n })\n}))`\n cursor: pointer;\n color: ${props => props.active ? props.theme.sidebar.activeTextColor : props.theme.sidebar.textColor};\n margin: 0;\n padding: 12.5px ${props => props.theme.spacing.unit * 4}px;\n ${({\n depth,\n type,\n theme\n}) => type === 'section' && depth > 1 && 'padding-left: ' + theme.spacing.unit * 8 + 'px;' || ''}\n display: flex;\n justify-content: space-between;\n font-family: ${props => props.theme.typography.headings.fontFamily};\n ${props => menuItemDepth[props.depth]};\n background-color: ${props => props.active ? menuItemActiveBg(props.depth, props) : ''};\n\n ${props => props.deprecated && deprecatedCss || ''};\n\n &:hover {\n background-color: ${props => menuItemActiveBg(props.depth, props)};\n }\n\n ${ShelfIcon} {\n height: ${({\n theme\n}) => theme.sidebar.arrow.size};\n width: ${({\n theme\n}) => theme.sidebar.arrow.size};\n polygon {\n fill: ${({\n theme\n}) => theme.sidebar.arrow.color};\n }\n }\n`;\nexport const MenuItemTitle = styled.span<{\n width?: string;\n}>`\n display: inline-block;\n vertical-align: middle;\n width: ${props => props.width ? props.width : 'auto'};\n overflow: hidden;\n text-overflow: ellipsis;\n`;\nexport const RedocAttribution = styled.div`\n ${({\n theme\n}) => `\n font-size: 0.8em;\n margin-top: ${theme.spacing.unit * 2}px;\n padding: 0 ${theme.spacing.unit * 4}px;\n text-align: left;\n\n opacity: 0.7;\n\n a,\n a:visited,\n a:hover {\n color: ${theme.sidebar.textColor} !important;\n border-top: 1px solid ${darken(0.1, theme.sidebar.backgroundColor)};\n padding: ${theme.spacing.unit}px 0;\n display: block;\n }\n`};\n`;","import * as React from 'react';\nimport { darken } from 'polished';\nimport { ShelfIcon } from '../../common-elements';\nimport { OperationBadge } from '../SideMenu/styled.elements';\nimport { shortenHTTPVerb } from '../../utils/openapi';\nimport styled from '../../styled-components';\nimport { Badge } from '../../common-elements/';\nimport { l } from '../../services/Labels';\nexport interface CallbackTitleProps {\n name: string;\n opened?: boolean;\n httpVerb: string;\n deprecated?: boolean;\n className?: string;\n onClick?: () => void;\n}\nexport class CallbackTitle extends React.PureComponent {\n render() {\n const {\n name,\n opened,\n className,\n onClick,\n httpVerb,\n deprecated\n } = this.props;\n return \n {shortenHTTPVerb(httpVerb)}\n \n {name}\n {deprecated ? {l('deprecated')} : null}\n ;\n }\n\n}\nconst CallbackTitleWrapper = styled.button`\n border: 0;\n width: 100%;\n text-align: left;\n & > * {\n vertical-align: middle;\n }\n\n ${ShelfIcon} {\n polygon {\n fill: ${({\n theme\n}) => darken(theme.colors.tonalOffset, theme.colors.gray[100])};\n }\n }\n`;\nconst CallbackName = styled.span<{\n deprecated?: boolean;\n}>`\n text-decoration: ${props => props.deprecated ? 'line-through' : 'none'};\n margin-right: 8px;\n`;\nconst OperationBadgeStyled = styled(OperationBadge)`\n margin: 0px 5px 0px 0px;\n`;","import styled from '../../styled-components';\nimport { CallbackTitle } from './CallbackTitle';\nimport { darken } from 'polished';\nexport const StyledCallbackTitle = styled(CallbackTitle)`\n padding: 10px;\n border-radius: 2px;\n margin-bottom: 4px;\n line-height: 1.5em;\n background-color: ${({\n theme\n}) => theme.colors.gray[100]};\n cursor: pointer;\n outline-color: ${({\n theme\n}) => darken(theme.colors.tonalOffset, theme.colors.gray[100])};\n`;\nexport const CallbackDetailsWrap = styled.div`\n padding: 10px 25px;\n background-color: ${({\n theme\n}) => theme.colors.gray[50]};\n margin-bottom: 5px;\n margin-top: 5px;\n`;","import * as React from 'react';\nimport { ClipboardService } from '../../services';\nexport class SelectOnClick extends React.PureComponent {\n private child: HTMLDivElement | null;\n selectElement = () => {\n ClipboardService.selectElement(this.child);\n };\n\n render() {\n const {\n children\n } = this.props;\n return
    this.child = el} onClick={this.selectElement} onFocus={this.selectElement} tabIndex={0} role=\"button\">\n {children}\n
    ;\n }\n\n}","import styled from '../../styled-components';\nexport const OperationEndpointWrap = styled.div`\n cursor: pointer;\n position: relative;\n margin-bottom: 5px;\n`;\nexport const ServerRelativeURL = styled.span`\n font-family: ${props => props.theme.typography.code.fontFamily};\n margin-left: 10px;\n flex: 1;\n overflow-x: hidden;\n text-overflow: ellipsis;\n`;\nexport const EndpointInfo = styled.button<{\n expanded?: boolean;\n inverted?: boolean;\n}>`\n outline: 0;\n color: inherit;\n width: 100%;\n text-align: left;\n cursor: pointer;\n padding: 10px 30px 10px ${props => props.inverted ? '10px' : '20px'};\n border-radius: ${props => props.inverted ? '0' : '4px 4px 0 0'};\n background-color: ${props => props.inverted ? 'transparent' : props.theme.codeBlock.backgroundColor};\n display: flex;\n white-space: nowrap;\n align-items: center;\n border: ${props => props.inverted ? '0' : '1px solid transparent'};\n border-bottom: ${props => props.inverted ? '1px solid #ccc' : '0'};\n transition: border-color 0.25s ease;\n\n ${props => props.expanded && !props.inverted && `border-color: ${props.theme.colors.border.dark};` || ''}\n\n .${ServerRelativeURL} {\n color: ${props => props.inverted ? props.theme.colors.text.primary : '#ffffff'}\n }\n &:focus {\n box-shadow: inset 0 2px 2px rgba(0, 0, 0, 0.45), 0 2px 0 rgba(128, 128, 128, 0.25);\n }\n`;\nexport const HttpVerb = styled.span.attrs((props: {\n type: string;\n compact?: boolean;\n}) => ({\n className: `http-verb ${props.type}`\n}))<{\n type: string;\n compact?: boolean;\n}>`\n font-size: ${props => props.compact ? '0.8em' : '0.929em'};\n line-height: ${props => props.compact ? '18px' : '20px'};\n background-color: ${props => props.theme.colors.http[props.type] || '#999999'};\n color: #ffffff;\n padding: ${props => props.compact ? '2px 8px' : '3px 10px'};\n text-transform: uppercase;\n font-family: ${props => props.theme.typography.headings.fontFamily};\n margin: 0;\n`;\nexport const ServersOverlay = styled.div<{\n expanded: boolean;\n}>`\n position: absolute;\n width: 100%;\n z-index: 100;\n background: #fafafa;\n color: #263238;\n box-sizing: border-box;\n box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.33);\n overflow: hidden;\n border-bottom-left-radius: 4px;\n border-bottom-right-radius: 4px;\n transition: all 0.25s ease;\n visibility: hidden;\n ${props => props.expanded ? 'visibility: visible;' : 'transform: translateY(-50%) scaleY(0);'}\n`;\nexport const ServerItem = styled.div`\n padding: 10px;\n`;\nexport const ServerUrl = styled.div`\n padding: 5px;\n border: 1px solid #ccc;\n background: #fff;\n word-break: break-all;\n color: ${props => props.theme.colors.primary.main};\n > span {\n color: ${props => props.theme.colors.text.primary};\n }\n`;","import * as React from 'react';\nimport { ShelfIcon } from '../../common-elements';\nimport { OperationModel } from '../../services';\nimport { Markdown } from '../Markdown/Markdown';\nimport { OptionsContext } from '../OptionsProvider';\nimport { SelectOnClick } from '../SelectOnClick/SelectOnClick';\nimport { expandDefaultServerVariables, getBasePath } from '../../utils';\nimport { EndpointInfo, HttpVerb, OperationEndpointWrap, ServerItem, ServerRelativeURL, ServersOverlay, ServerUrl } from './styled.elements';\nexport interface EndpointProps {\n operation: OperationModel;\n hideHostname?: boolean;\n inverted?: boolean;\n compact?: boolean;\n}\nexport interface EndpointState {\n expanded: boolean;\n}\nexport class Endpoint extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n expanded: false\n };\n }\n\n toggle = () => {\n this.setState({\n expanded: !this.state.expanded\n });\n };\n\n render() {\n const {\n operation,\n inverted,\n hideHostname\n } = this.props;\n const {\n expanded\n } = this.state; // TODO: highlight server variables, e.g. https://{user}.test.com\n\n return \n {options => \n \n \n {operation.httpVerb}\n \n {operation.path}\n \n \n \n {operation.servers.map(server => {\n const normalizedUrl = options.expandDefaultServerVariables ? expandDefaultServerVariables(server.url, server.variables) : server.url;\n const basePath = getBasePath(normalizedUrl);\n return \n \n \n \n \n {hideHostname || options.hideHostname ? basePath === '/' ? '' : basePath : normalizedUrl}\n \n {operation.path}\n \n \n ;\n })}\n \n }\n ;\n }\n\n}","import * as React from 'react';\nimport { UnderlinedHeader } from '../../common-elements';\nimport { PropertiesTable } from '../../common-elements/fields-layout';\nimport { FieldModel } from '../../services/models';\nimport { Field } from '../Fields/Field';\nimport { mapWithLast } from '../../utils';\nexport interface ParametersGroupProps {\n place: string;\n parameters: FieldModel[];\n}\nexport class ParametersGroup extends React.PureComponent {\n render() {\n const {\n place,\n parameters\n } = this.props;\n\n if (!parameters || !parameters.length) {\n return null;\n }\n\n return
    \n {place} Parameters\n \n \n {mapWithLast(parameters, (field, isLast) => )}\n \n \n
    ;\n }\n\n}","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { DropdownProps } from '../../common-elements/dropdown';\nimport { MediaContentModel, MediaTypeModel, SchemaModel } from '../../services/models';\nimport { DropdownLabel, DropdownWrapper } from '../PayloadSamples/styled.elements';\nexport interface MediaTypeChildProps {\n schema: SchemaModel;\n mime?: string;\n}\nexport interface MediaTypesSwitchProps {\n content?: MediaContentModel;\n withLabel?: boolean;\n renderDropdown: (props: DropdownProps) => JSX.Element;\n children: (activeMime: MediaTypeModel) => JSX.Element;\n}\n@observer\nexport class MediaTypesSwitch extends React.Component {\n switchMedia = ({\n idx\n }) => {\n if (this.props.content) {\n this.props.content.activate(idx);\n }\n };\n\n render() {\n const {\n content\n } = this.props;\n\n if (!content || !content.mediaTypes || !content.mediaTypes.length) {\n return null;\n }\n\n const activeMimeIdx = content.activeMimeIdx;\n const options = content.mediaTypes.map((mime, idx) => {\n return {\n value: mime.name,\n idx\n };\n });\n\n const Wrapper = ({\n children\n }) => this.props.withLabel ? \n Content type\n {children}\n : children;\n\n return <>\n \n {this.props.renderDropdown({\n value: options[activeMimeIdx].value,\n options,\n onChange: this.switchMedia,\n ariaLabel: 'Content type'\n })}\n \n {this.props.children(content.active)}\n ;\n }\n\n}","import * as React from 'react';\nimport { DropdownOrLabel } from '../DropdownOrLabel/DropdownOrLabel';\nimport { ParametersGroup } from './ParametersGroup';\nimport { UnderlinedHeader } from '../../common-elements';\nimport { MediaContentModel } from '../../services';\nimport { FieldModel, RequestBodyModel } from '../../services/models';\nimport { MediaTypesSwitch } from '../MediaTypeSwitch/MediaTypesSwitch';\nimport { Schema } from '../Schema';\nimport { Markdown } from '../Markdown/Markdown';\n\nfunction safePush(obj, prop, item) {\n if (!obj[prop]) {\n obj[prop] = [];\n }\n\n obj[prop].push(item);\n}\n\nexport interface ParametersProps {\n parameters?: FieldModel[];\n body?: RequestBodyModel;\n}\nconst PARAM_PLACES = ['path', 'query', 'cookie', 'header'];\nexport class Parameters extends React.PureComponent {\n orderParams(params: FieldModel[]): Record {\n const res = {};\n params.forEach(param => {\n safePush(res, param.in, param);\n });\n return res;\n }\n\n render() {\n const {\n body,\n parameters = []\n } = this.props;\n\n if (body === undefined && parameters === undefined) {\n return null;\n }\n\n const paramsMap = this.orderParams(parameters);\n const paramsPlaces = parameters.length > 0 ? PARAM_PLACES : [];\n const bodyContent = body && body.content;\n const bodyDescription = body && body.description;\n return <>\n {paramsPlaces.map(place => )}\n {bodyContent && }\n ;\n }\n\n}\n\nfunction DropdownWithinHeader(props) {\n return \n Request Body schema: \n ;\n}\n\nexport function BodyContent(props: {\n content: MediaContentModel;\n description?: string;\n}): JSX.Element {\n const {\n content,\n description\n } = props;\n return \n {({\n schema\n }) => {\n return <>\n {description !== undefined && }\n \n ;\n }}\n ;\n}","import * as React from 'react';\nimport { Code } from './styled.elements';\nimport { ShelfIcon } from '../../common-elements';\nimport { Markdown } from '../Markdown/Markdown';\nexport interface ResponseTitleProps {\n code: string;\n title: string;\n type: string;\n empty?: boolean;\n opened?: boolean;\n className?: string;\n onClick?: () => void;\n}\nexport class ResponseTitle extends React.PureComponent {\n render() {\n const {\n title,\n type,\n empty,\n code,\n opened,\n className,\n onClick\n } = this.props;\n return ;\n }\n\n}","// import { transparentize } from 'polished';\nimport { UnderlinedHeader } from '../../common-elements';\nimport styled from '../../styled-components';\nimport { ResponseTitle } from './ResponseTitle';\nexport const StyledResponseTitle = styled(ResponseTitle)`\n display: block;\n border: 0;\n width: 100%;\n text-align: left;\n padding: 10px;\n border-radius: 2px;\n margin-bottom: 4px;\n line-height: 1.5em;\n background-color: #f2f2f2;\n cursor: pointer;\n\n color: ${props => props.theme.colors.responses[props.type].color};\n background-color: ${props => props.theme.colors.responses[props.type].backgroundColor};\n &:focus {\n outline: auto;\n outline-color: ${props => props.theme.colors.responses[props.type].color};\n }\n ${props => props.empty && `\ncursor: default;\n&::before {\n content: \"—\";\n font-weight: bold;\n width: 1.5em;\n text-align: center;\n display: inline-block;\n vertical-align: top;\n}\n&:focus {\n outline: 0;\n}\n` || ''};\n`;\nexport const ResponseDetailsWrap = styled.div`\n padding: 10px;\n`;\nexport const HeadersCaption = styled(UnderlinedHeader.withComponent('caption'))`\n text-align: left;\n margin-top: 1em;\n caption-side: top;\n`;\nexport const Code = styled.strong`\n vertical-align: top;\n`;","import * as React from 'react';\nimport { PropertiesTable } from '../../common-elements/fields-layout';\nimport { FieldModel } from '../../services/models';\nimport { mapWithLast } from '../../utils';\nimport { Field } from '../Fields/Field';\nimport { HeadersCaption } from './styled.elements';\nexport interface ResponseHeadersProps {\n headers?: FieldModel[];\n}\nexport class ResponseHeaders extends React.PureComponent {\n render() {\n const {\n headers\n } = this.props;\n\n if (headers === undefined || headers.length === 0) {\n return null;\n }\n\n return \n Response Headers \n \n {mapWithLast(headers, (header, isLast) => )}\n \n ;\n }\n\n}","import * as React from 'react';\nimport { ResponseModel } from '../../services/models';\nimport { UnderlinedHeader } from '../../common-elements';\nimport { DropdownOrLabel } from '../DropdownOrLabel/DropdownOrLabel';\nimport { MediaTypesSwitch } from '../MediaTypeSwitch/MediaTypesSwitch';\nimport { Schema } from '../Schema';\nimport { Markdown } from '../Markdown/Markdown';\nimport { ResponseHeaders } from './ResponseHeaders';\nexport class ResponseDetails extends React.PureComponent<{\n response: ResponseModel;\n}> {\n render() {\n const {\n description,\n headers,\n content\n } = this.props.response;\n return <>\n {description && }\n \n \n {({\n schema\n }) => {\n return ;\n }}\n \n ;\n }\n\n private renderDropdown = props => {\n return \n Response Schema: \n ;\n };\n}","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { ResponseModel } from '../../services/models';\nimport { ResponseDetails } from './ResponseDetails';\nimport { ResponseDetailsWrap, StyledResponseTitle } from './styled.elements';\n@observer\nexport class ResponseView extends React.Component<{\n response: ResponseModel;\n}> {\n toggle = () => {\n this.props.response.toggle();\n };\n\n render() {\n const {\n headers,\n type,\n summary,\n description,\n code,\n expanded,\n content\n } = this.props.response;\n const mimes = content === undefined ? [] : content.mediaTypes.filter(mime => mime.schema !== undefined);\n const empty = headers.length === 0 && mimes.length === 0 && !description;\n return
    \n \n {expanded && !empty && \n \n }\n
    ;\n }\n\n}","import * as React from 'react';\nimport { ResponseModel } from '../../services/models';\nimport styled from '../../styled-components';\nimport { ResponseView } from './Response';\nconst ResponsesHeader = styled.h3`\n font-size: 1.3em;\n padding: 0.2em 0;\n margin: 3em 0 1.1em;\n color: ${({\n theme\n}) => theme.colors.text.primary};\n font-weight: normal;\n`;\nexport interface ResponseListProps {\n responses: ResponseModel[];\n isCallback?: boolean;\n}\nexport class ResponsesList extends React.PureComponent {\n render() {\n const {\n responses,\n isCallback\n } = this.props;\n\n if (!responses || responses.length === 0) {\n return null;\n }\n\n return
    \n {isCallback ? 'Callback responses' : 'Responses'}\n {responses.map(response => {\n return ;\n })}\n
    ;\n }\n\n}","// import { transparentize } from 'polished';\nimport * as React from 'react';\nimport styled, { media } from '../../styled-components';\nimport { Link, UnderlinedHeader } from '../../common-elements/';\nimport { SecurityRequirementModel } from '../../services/models/SecurityRequirement';\nimport { linksCss } from '../Markdown/styled.elements';\nconst ScopeName = styled.code`\n font-size: ${props => props.theme.typography.code.fontSize};\n font-family: ${props => props.theme.typography.code.fontFamily};\n border: 1px solid ${({\n theme\n}) => theme.colors.border.dark};\n margin: 0 3px;\n padding: 0.2em;\n display: inline-block;\n line-height: 1;\n\n &:after {\n content: ',';\n }\n &:last-child:after {\n content: none;\n }\n`;\nconst SecurityRequirementAndWrap = styled.span`\n &:after {\n content: ' AND ';\n font-weight: bold;\n }\n\n &:last-child:after {\n content: none;\n }\n\n ${linksCss};\n`;\nconst SecurityRequirementOrWrap = styled.span`\n &:before {\n content: '( ';\n font-weight: bold;\n }\n &:after {\n content: ' ) OR ';\n font-weight: bold;\n }\n &:last-child:after {\n content: ' )';\n }\n\n &:only-child:before,\n &:only-child:after {\n content: none;\n }\n\n ${linksCss};\n`;\nexport interface SecurityRequirementProps {\n security: SecurityRequirementModel;\n}\nexport class SecurityRequirement extends React.PureComponent {\n render() {\n const security = this.props.security;\n return \n {security.schemes.map(scheme => {\n return \n {scheme.id}\n {scheme.scopes.length > 0 && ' ('}\n {scheme.scopes.map(scope => {scope})}\n {scheme.scopes.length > 0 && ') '}\n ;\n })}\n ;\n }\n\n}\nconst AuthHeaderColumn = styled.div`\n flex: 1 1 auto;\n`;\nconst SecuritiesColumn = styled.div`\n width: ${props => props.theme.schema.defaultDetailsWidth};\n ${media.lessThan('small')`\n margin-top: 10px;\n `}\n`;\nconst AuthHeader = styled(UnderlinedHeader)`\n display: inline-block;\n margin: 0;\n`;\nconst Wrap = styled.div`\n width: 100%;\n display: flex;\n margin: 1em 0;\n\n ${media.lessThan('small')`\n flex-direction: column;\n `}\n`;\nexport interface SecurityRequirementsProps {\n securities: SecurityRequirementModel[];\n}\nexport class SecurityRequirements extends React.PureComponent {\n render() {\n const securities = this.props.securities;\n\n if (!securities.length) {\n return null;\n }\n\n return \n \n Authorizations: \n \n \n {securities.map((security, idx) => )}\n \n ;\n }\n\n}","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { OperationModel } from '../../services/models';\nimport styled from '../../styled-components';\nimport { Endpoint } from '../Endpoint/Endpoint';\nimport { ExternalDocumentation } from '../ExternalDocumentation/ExternalDocumentation';\nimport { Extensions } from '../Fields/Extensions';\nimport { Markdown } from '../Markdown/Markdown';\nimport { Parameters } from '../Parameters/Parameters';\nimport { ResponsesList } from '../Responses/ResponsesList';\nimport { SecurityRequirements } from '../SecurityRequirement/SecurityRequirement';\nimport { CallbackDetailsWrap } from './styled.elements';\nexport interface CallbackDetailsProps {\n operation: OperationModel;\n}\n@observer\nexport class CallbackDetails extends React.Component {\n render() {\n const {\n operation\n } = this.props;\n const {\n description,\n externalDocs\n } = operation;\n const hasDescription = !!(description || externalDocs);\n return \n {hasDescription && \n {description !== undefined && }\n {externalDocs && }\n }\n \n \n \n \n \n ;\n }\n\n}\nconst Description = styled.div`\n margin-bottom: ${({\n theme\n}) => theme.spacing.unit * 3}px;\n`;","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { OperationModel } from '../../services/models';\nimport { StyledCallbackTitle } from './styled.elements';\nimport { CallbackDetails } from './CallbackDetails';\n@observer\nexport class CallbackOperation extends React.Component<{\n callbackOperation: OperationModel;\n}> {\n toggle = () => {\n this.props.callbackOperation.toggle();\n };\n\n render() {\n const {\n name,\n expanded,\n httpVerb,\n deprecated\n } = this.props.callbackOperation;\n return <>\n \n {expanded && }\n ;\n }\n\n}","import * as React from 'react';\nimport { CallbackModel } from '../../services/models';\nimport styled from '../../styled-components';\nimport { CallbackOperation } from './CallbackOperation';\nexport interface CallbacksListProps {\n callbacks: CallbackModel[];\n}\nexport class CallbacksList extends React.PureComponent {\n render() {\n const {\n callbacks\n } = this.props;\n\n if (!callbacks || callbacks.length === 0) {\n return null;\n }\n\n return
    \n Callbacks \n {callbacks.map(callback => {\n return callback.operations.map((operation, index) => {\n return ;\n });\n })}\n
    ;\n }\n\n}\nconst CallbacksHeader = styled.h3`\n font-size: 1.3em;\n padding: 0.2em 0;\n margin: 3em 0 1.1em;\n color: ${({\n theme\n}) => theme.colors.text.primary};\n font-weight: normal;\n`;","export * from './CallbackOperation';\nexport * from './CallbackTitle';\nexport * from './CallbacksList';","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { DropdownProps, DropdownOption } from '../../common-elements/dropdown';\nimport { DropdownLabel, DropdownWrapper } from '../PayloadSamples/styled.elements';\nexport interface GenericChildrenSwitcherProps {\n items?: T[];\n options: DropdownOption[];\n label?: string;\n renderDropdown: (props: DropdownProps) => JSX.Element;\n children: (activeItem: T) => JSX.Element;\n}\nexport interface GenericChildrenSwitcherState {\n activeItemIdx: number;\n}\n/**\n * TODO: Refactor this component:\n * Implement rendering dropdown/label directly in this component\n * Accept as a parameter mapper-function for building dropdown option labels\n */\n\n@observer\nexport class GenericChildrenSwitcher extends React.Component, GenericChildrenSwitcherState> {\n constructor(props) {\n super(props);\n this.state = {\n activeItemIdx: 0\n };\n }\n\n switchItem = ({\n idx\n }) => {\n if (this.props.items) {\n this.setState({\n activeItemIdx: idx\n });\n }\n };\n\n render() {\n const {\n items\n } = this.props;\n\n if (!items || !items.length) {\n return null;\n }\n\n const Wrapper = ({\n children\n }) => this.props.label ? \n {this.props.label}\n {children}\n : children;\n\n return <>\n \n {this.props.renderDropdown({\n value: this.props.options[this.state.activeItemIdx].value,\n options: this.props.options,\n onChange: this.switchItem,\n ariaLabel: this.props.label || 'Callback'\n })}\n \n\n {this.props.children(items[this.state.activeItemIdx])}\n ;\n }\n\n}","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { MediaTypeSamples } from './MediaTypeSamples';\nimport { MediaContentModel } from '../../services/models';\nimport { DropdownOrLabel } from '../DropdownOrLabel/DropdownOrLabel';\nimport { MediaTypesSwitch } from '../MediaTypeSwitch/MediaTypesSwitch';\nimport { InvertedSimpleDropdown, MimeLabel } from './styled.elements';\nexport interface PayloadSamplesProps {\n content: MediaContentModel;\n}\n@observer\nexport class PayloadSamples extends React.Component {\n render() {\n const mimeContent = this.props.content;\n\n if (mimeContent === undefined) {\n return null;\n }\n\n return \n {mediaType => }\n ;\n }\n\n private renderDropdown = props => {\n return ;\n };\n}","import * as React from 'react';\nimport styled from '../../styled-components';\nimport { DropdownProps } from '../../common-elements';\nimport { PayloadSamples } from '../PayloadSamples/PayloadSamples';\nimport { OperationModel } from '../../services/models';\nimport { XPayloadSample } from '../../services/models/Operation';\nimport { isPayloadSample } from '../../services';\nexport interface PayloadSampleProps {\n callback: OperationModel;\n renderDropdown: (props: DropdownProps) => JSX.Element;\n}\nexport class CallbackPayloadSample extends React.Component {\n render() {\n const payloadSample = (this.props.callback.codeSamples.find(sample => isPayloadSample(sample)) as XPayloadSample | undefined);\n\n if (!payloadSample) {\n return null;\n }\n\n return \n \n ;\n }\n\n}\nexport const PayloadSampleWrapper = styled.div`\n margin-top: 15px;\n`;","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport styled from '../../styled-components';\nimport { RightPanelHeader } from '../../common-elements';\nimport { RedocNormalizedOptions } from '../../services';\nimport { CallbackModel } from '../../services/models';\nimport { OptionsContext } from '../OptionsProvider';\nimport { GenericChildrenSwitcher } from '../GenericChildrenSwitcher/GenericChildrenSwitcher';\nimport { DropdownOrLabel } from '../DropdownOrLabel/DropdownOrLabel';\nimport { InvertedSimpleDropdown, MimeLabel } from '../PayloadSamples/styled.elements';\nimport { CallbackPayloadSample } from './CallbackReqSamples';\nexport interface CallbackSamplesProps {\n callbacks: CallbackModel[];\n}\n@observer\nexport class CallbackSamples extends React.Component {\n static contextType = OptionsContext;\n context: RedocNormalizedOptions;\n private renderDropdown = props => {\n return ;\n };\n\n render() {\n const {\n callbacks\n } = this.props;\n\n if (!callbacks || callbacks.length === 0) {\n return null;\n }\n\n const operations = callbacks.map(callback => callback.operations.map(operation => operation)).reduce((a, b) => a.concat(b), []);\n const hasSamples = operations.some(operation => operation.codeSamples.length > 0);\n\n if (!hasSamples) {\n return null;\n }\n\n const dropdownOptions = operations.map((callback, idx) => {\n return {\n value: `${callback.httpVerb.toUpperCase()}: ${callback.name}`,\n idx\n };\n });\n return
    \n Callback payload samples \n\n \n \n {callback => }\n \n \n
    ;\n }\n\n}\nexport const SamplesWrapper = styled.div`\n background: ${({\n theme\n}) => theme.codeBlock.backgroundColor};\n padding: ${props => props.theme.spacing.unit * 4}px;\n`;","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { isPayloadSample, OperationModel, RedocNormalizedOptions } from '../../services';\nimport { PayloadSamples } from '../PayloadSamples/PayloadSamples';\nimport { SourceCodeWithCopy } from '../SourceCode/SourceCode';\nimport { RightPanelHeader, Tab, TabList, TabPanel, Tabs } from '../../common-elements';\nimport { OptionsContext } from '../OptionsProvider';\nexport interface RequestSamplesProps {\n operation: OperationModel;\n}\n@observer\nexport class RequestSamples extends React.Component {\n static contextType = OptionsContext;\n context: RedocNormalizedOptions;\n operation: OperationModel;\n\n render() {\n const {\n operation\n } = this.props;\n const samples = operation.codeSamples;\n const hasSamples = samples.length > 0;\n const hideTabList = samples.length === 1 ? this.context.hideSingleRequestSampleTab : false;\n return hasSamples &&
    \n Request samples \n\n \n \n {samples.map(sample => \n {isPayloadSample(sample) ?
    \n \n
    : }\n
    )}\n
    \n
    || null;\n }\n\n}","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { OperationModel } from '../../services/models';\nimport { RightPanelHeader, Tab, TabList, TabPanel, Tabs } from '../../common-elements';\nimport { PayloadSamples } from '../PayloadSamples/PayloadSamples';\nexport interface ResponseSamplesProps {\n operation: OperationModel;\n}\n@observer\nexport class ResponseSamples extends React.Component {\n operation: OperationModel;\n\n render() {\n const {\n operation\n } = this.props;\n const responses = operation.responses.filter(response => {\n return response.content && response.content.hasSample;\n });\n return responses.length > 0 &&
    \n Response samples \n\n \n \n {responses.map(response => \n {response.code}\n )}\n \n {responses.map(response => \n
    \n \n
    \n
    )}\n
    \n
    || null;\n }\n\n}","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { Badge, DarkRightPanel, H2, MiddlePanel, Row } from '../../common-elements';\nimport { ShareLink } from '../../common-elements/linkify';\nimport { OperationModel } from '../../services/models';\nimport styled from '../../styled-components';\nimport { CallbacksList } from '../Callbacks';\nimport { CallbackSamples } from '../CallbackSamples/CallbackSamples';\nimport { Endpoint } from '../Endpoint/Endpoint';\nimport { ExternalDocumentation } from '../ExternalDocumentation/ExternalDocumentation';\nimport { Extensions } from '../Fields/Extensions';\nimport { Markdown } from '../Markdown/Markdown';\nimport { OptionsContext } from '../OptionsProvider';\nimport { Parameters } from '../Parameters/Parameters';\nimport { RequestSamples } from '../RequestSamples/RequestSamples';\nimport { ResponsesList } from '../Responses/ResponsesList';\nimport { ResponseSamples } from '../ResponseSamples/ResponseSamples';\nimport { SecurityRequirements } from '../SecurityRequirement/SecurityRequirement';\nconst OperationRow = styled(Row)`\n backface-visibility: hidden;\n contain: content;\n overflow: hidden;\n`;\nconst Description = styled.div`\n margin-bottom: ${({\n theme\n}) => theme.spacing.unit * 6}px;\n`;\nexport interface OperationProps {\n operation: OperationModel;\n}\n@observer\nexport class Operation extends React.Component {\n render() {\n const {\n operation\n } = this.props;\n const {\n name: summary,\n description,\n deprecated,\n externalDocs,\n isWebhook\n } = operation;\n const hasDescription = !!(description || externalDocs);\n return \n {options => \n \n

    \n \n {summary} {deprecated && Deprecated }\n {isWebhook && Webhook }\n

    \n {options.pathInMiddlePanel && !isWebhook && }\n {hasDescription && \n {description !== undefined && }\n {externalDocs && }\n }\n \n \n \n \n \n
    \n \n {!options.pathInMiddlePanel && !isWebhook && }\n \n \n \n \n
    }\n
    ;\n }\n\n}","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { ExternalDocumentation } from '../ExternalDocumentation/ExternalDocumentation';\nimport { AdvancedMarkdown } from '../Markdown/AdvancedMarkdown';\nimport { H1, H2, MiddlePanel, Row, Section, ShareLink } from '../../common-elements';\nimport { ContentItemModel } from '../../services/MenuBuilder';\nimport { GroupModel, OperationModel } from '../../services/models';\nimport { Operation } from '../Operation/Operation';\n@observer\nexport class ContentItems extends React.Component<{\n items: ContentItemModel[];\n}> {\n render() {\n const items = this.props.items;\n\n if (items.length === 0) {\n return null;\n }\n\n return items.map(item => {\n return ;\n });\n }\n\n}\nexport interface ContentItemProps {\n item: ContentItemModel;\n}\n@observer\nexport class ContentItem extends React.Component {\n render() {\n const item = this.props.item;\n let content;\n const {\n type\n } = item;\n\n switch (type) {\n case 'group':\n content = null;\n break;\n\n case 'tag':\n case 'section':\n content = ;\n break;\n\n case 'operation':\n content = ;\n break;\n\n default:\n content = ;\n }\n\n return <>\n {content &&
    \n {content}\n
    }\n {item.items && }\n ;\n }\n\n}\n\nconst middlePanelWrap = component => {component};\n\n@observer\nexport class SectionItem extends React.Component {\n render() {\n const {\n name,\n description,\n externalDocs,\n level\n } = (this.props.item as GroupModel);\n const Header = level === 2 ? H2 : H1;\n return <>\n \n \n
    \n \n {name}\n
    \n
    \n
    \n \n {externalDocs && \n \n \n \n }\n ;\n }\n\n}\n@observer\nexport class OperationItem extends React.Component<{\n item: OperationModel;\n}> {\n render() {\n return ;\n }\n\n}","// import { observe } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { ShelfIcon } from '../../common-elements/shelfs';\nimport { IMenuItem, OperationModel } from '../../services';\nimport { shortenHTTPVerb } from '../../utils/openapi';\nimport { MenuItems } from './MenuItems';\nimport { MenuItemLabel, MenuItemLi, MenuItemTitle, OperationBadge } from './styled.elements';\nimport { l } from '../../services/Labels';\nexport interface MenuItemProps {\n item: IMenuItem;\n onActivate?: (item: IMenuItem) => void;\n withoutChildren?: boolean;\n}\n@observer\nexport class MenuItem extends React.Component {\n ref = React.createRef();\n activate = (evt: React.MouseEvent) => {\n this.props.onActivate!(this.props.item);\n evt.stopPropagation();\n };\n\n componentDidMount() {\n this.scrollIntoViewIfActive();\n }\n\n componentDidUpdate() {\n this.scrollIntoViewIfActive();\n }\n\n scrollIntoViewIfActive() {\n if (this.props.item.active && this.ref.current) {\n this.ref.current.scrollIntoViewIfNeeded();\n }\n }\n\n render() {\n const {\n item,\n withoutChildren\n } = this.props;\n return \n {item.type === 'operation' ? : \n \n {item.name}\n {this.props.children}\n \n {item.depth > 0 && item.items.length > 0 && || null}\n }\n {!withoutChildren && item.items && item.items.length > 0 && }\n ;\n }\n\n}\nexport interface OperationMenuItemContentProps {\n item: OperationModel;\n}\n@observer\nexport class OperationMenuItemContent extends React.Component {\n ref = React.createRef();\n\n componentDidUpdate() {\n if (this.props.item.active && this.ref.current) {\n this.ref.current.scrollIntoViewIfNeeded();\n }\n }\n\n render() {\n const {\n item\n } = this.props;\n return \n {item.isWebhook ? {l('webhook')} : {shortenHTTPVerb(item.httpVerb)}}\n \n {item.name}\n {this.props.children}\n \n ;\n }\n\n}","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { IMenuItem } from '../../services';\nimport { MenuItem } from './MenuItem';\nimport { MenuItemUl } from './styled.elements';\nexport interface MenuItemsProps {\n items: IMenuItem[];\n expanded?: boolean;\n onActivate?: (item: IMenuItem) => void;\n style?: React.CSSProperties;\n root?: boolean;\n className?: string;\n}\n@observer\nexport class MenuItems extends React.Component {\n render() {\n const {\n items,\n root,\n className\n } = this.props;\n const expanded = this.props.expanded == null ? true : this.props.expanded;\n return \n {items.map((item, idx) => )}\n ;\n }\n\n}","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { IMenuItem, MenuStore } from '../../services/MenuStore';\nimport { OptionsContext } from '../OptionsProvider';\nimport { MenuItems } from './MenuItems';\nimport { PerfectScrollbarWrap } from '../../common-elements/perfect-scrollbar';\nimport { RedocAttribution } from './styled.elements';\n@observer\nexport class SideMenu extends React.Component<{\n menu: MenuStore;\n className?: string;\n}> {\n static contextType = OptionsContext;\n private _updateScroll?: () => void;\n\n render() {\n const store = this.props.menu;\n return \n \n \n \n Documentation Powered by ReDoc\n \n \n ;\n }\n\n activate = (item: IMenuItem) => {\n if (item && item.active && this.context.menuToggle) {\n return item.expanded ? item.collapse() : item.expand();\n }\n\n this.props.menu.activateAndScroll(item, true);\n setTimeout(() => {\n if (this._updateScroll) {\n this._updateScroll();\n }\n });\n };\n private saveScrollUpdate = upd => {\n this._updateScroll = upd;\n };\n}","import * as React from 'react';\nimport styled from '../../styled-components';\nexport const AnimatedChevronButton = ({\n open\n}: {\n open: boolean;\n}) => {\n const iconOffset = open ? 8 : -4;\n return \n \n \n ;\n}; // adapted from reactjs.org\n\nconst ChevronSvg = ({\n size = 10,\n className = '',\n style\n}) => \n \n \n \n ;\n\nconst ChevronContainer = styled.div`\n user-select: none;\n width: 20px;\n height: 20px;\n align-self: center;\n display: flex;\n flex-direction: column;\n color: ${props => props.theme.colors.primary.main};\n`;","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { MenuStore } from '../../services/MenuStore';\nimport { RedocNormalizedOptions, RedocRawOptions } from '../../services/RedocNormalizedOptions';\nimport styled, { media } from '../../styled-components';\nimport { IS_BROWSER } from '../../utils/index';\nimport { OptionsContext } from '../OptionsProvider';\nimport { AnimatedChevronButton } from './ChevronSvg';\nlet Stickyfill;\n\nif (IS_BROWSER) {\n Stickyfill = require('stickyfill');\n}\n\nexport interface StickySidebarProps {\n className?: string;\n scrollYOffset?: RedocRawOptions['scrollYOffset']; // passed directly or via context\n\n menu: MenuStore;\n}\nexport interface StickySidebarState {\n offsetTop?: string;\n}\nconst stickyfill = Stickyfill && Stickyfill();\nconst StyledStickySidebar = styled.div<{\n open?: boolean;\n}>`\n width: ${props => props.theme.sidebar.width};\n background-color: ${props => props.theme.sidebar.backgroundColor};\n overflow: hidden;\n display: flex;\n flex-direction: column;\n\n backface-visibility: hidden;\n /* contain: strict; TODO: breaks layout since Chrome 80*/\n\n height: 100vh;\n position: sticky;\n position: -webkit-sticky;\n top: 0;\n\n ${media.lessThan('small')`\n position: fixed;\n z-index: 20;\n width: 100%;\n background: ${({\n theme\n}) => theme.sidebar.backgroundColor};\n display: ${props => props.open ? 'flex' : 'none'};\n `};\n\n @media print {\n display: none;\n }\n`;\nconst FloatingButton = styled.div`\n outline: none;\n user-select: none;\n background-color: #f2f2f2;\n color: ${props => props.theme.colors.primary.main};\n display: none;\n cursor: pointer;\n position: fixed;\n right: 20px;\n z-index: 100;\n border-radius: 50%;\n box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);\n ${media.lessThan('small')`\n display: flex;\n `};\n\n bottom: 44px;\n\n width: 60px;\n height: 60px;\n padding: 0 20px;\n\n @media print {\n display: none;\n }\n`;\n@observer\nexport class StickyResponsiveSidebar extends React.Component {\n static contextType = OptionsContext;\n context!: React.ContextType;\n state: StickySidebarState = {\n offsetTop: '0px'\n };\n stickyElement: Element;\n\n componentDidMount() {\n if (stickyfill) {\n stickyfill.add(this.stickyElement);\n } // rerender when hydrating from SSR\n // see https://github.com/facebook/react/issues/8017#issuecomment-256351955\n\n\n this.setState({\n offsetTop: this.getScrollYOffset(this.context)\n });\n }\n\n componentWillUnmount() {\n if (stickyfill) {\n stickyfill.remove(this.stickyElement);\n }\n }\n\n getScrollYOffset(options: RedocNormalizedOptions) {\n let top;\n\n if (this.props.scrollYOffset !== undefined) {\n top = RedocNormalizedOptions.normalizeScrollYOffset(this.props.scrollYOffset)();\n } else {\n top = options.scrollYOffset();\n }\n\n return top + 'px';\n }\n\n render() {\n const open = this.props.menu.sideBarOpened;\n const top = this.state.offsetTop;\n return <>\n {\n this.stickyElement = (el as any);\n }}>\n {this.props.children}\n \n \n \n \n ;\n }\n\n private toggleNavMenu = () => {\n this.props.menu.toggleSidebar();\n };\n}","import styled, { media } from '../../styled-components';\nexport const RedocWrap = styled.div`\n ${({\n theme\n}) => `\n font-family: ${theme.typography.fontFamily};\n font-size: ${theme.typography.fontSize};\n font-weight: ${theme.typography.fontWeightRegular};\n line-height: ${theme.typography.lineHeight};\n color: ${theme.colors.text.primary};\n display: flex;\n position: relative;\n text-align: left;\n\n -webkit-font-smoothing: ${theme.typography.smoothing};\n font-smoothing: ${theme.typography.smoothing};\n ${theme.typography.optimizeSpeed && 'text-rendering: optimizeSpeed !important' || ''};\n\n tap-highlight-color: rgba(0, 0, 0, 0);\n text-size-adjust: 100%;\n\n * {\n box-sizing: border-box;\n -webkit-tap-highlight-color: rgba(255, 255, 255, 0);\n }\n`};\n`;\nexport const ApiContentWrap = styled.div`\n z-index: 1;\n position: relative;\n overflow: hidden;\n width: calc(100% - ${props => props.theme.sidebar.width});\n ${media.lessThan('small', true)`\n width: 100%;\n `};\n\n contain: layout;\n`;\nexport const BackgroundStub = styled.div`\n background: ${({\n theme\n}) => theme.rightPanel.backgroundColor};\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n width: ${({\n theme\n}) => {\n if (theme.rightPanel.width.endsWith('%')) {\n const percents = parseInt(theme.rightPanel.width, 10);\n return `calc((100% - ${theme.sidebar.width}) * ${percents / 100})`;\n } else {\n return theme.rightPanel.width;\n }\n}};\n ${media.lessThan('medium', true)`\n display: none;\n `};\n`;","import * as React from 'react';\nimport { darken, getLuminance, lighten } from 'polished';\nimport styled from '../../styled-components';\nimport { MenuItemLabel } from '../SideMenu/styled.elements';\nexport const SearchWrap = styled.div`\n padding: 5px 0;\n`;\nexport const SearchInput = styled.input.attrs(() => ({\n className: 'search-input'\n}))`\n width: calc(100% - ${props => props.theme.spacing.unit * 8}px);\n box-sizing: border-box;\n margin: 0 ${props => props.theme.spacing.unit * 4}px;\n padding: 5px ${props => props.theme.spacing.unit * 2}px 5px\n ${props => props.theme.spacing.unit * 4}px;\n border: 0;\n border-bottom: 1px solid\n ${({\n theme\n}) => (getLuminance(theme.sidebar.backgroundColor) > 0.5 ? darken : lighten)(0.1, theme.sidebar.backgroundColor)};\n font-family: ${({\n theme\n}) => theme.typography.fontFamily};\n font-weight: bold;\n font-size: 13px;\n color: ${props => props.theme.sidebar.textColor};\n background-color: transparent;\n outline: none;\n`;\nexport const SearchIcon = styled((props: {\n className?: string;\n}) => \n \n ).attrs({\n className: 'search-icon'\n})`\n position: absolute;\n left: ${props => props.theme.spacing.unit * 4}px;\n height: 1.8em;\n width: 0.9em;\n\n path {\n fill: ${props => props.theme.sidebar.textColor};\n }\n`;\nexport const SearchResultsBox = styled.div`\n padding: ${props => props.theme.spacing.unit}px 0;\n background-color: ${({\n theme\n}) => darken(0.05, theme.sidebar.backgroundColor)}};\n color: ${props => props.theme.sidebar.textColor};\n min-height: 150px;\n max-height: 250px;\n border-top: ${({\n theme\n}) => darken(0.1, theme.sidebar.backgroundColor)}};\n border-bottom: ${({\n theme\n}) => darken(0.1, theme.sidebar.backgroundColor)}};\n margin-top: 10px;\n line-height: 1.4;\n font-size: 0.9em;\n\n ${MenuItemLabel} {\n padding-top: 6px;\n padding-bottom: 6px;\n\n &:hover,\n &.active {\n background-color: ${({\n theme\n}) => darken(0.1, theme.sidebar.backgroundColor)};\n }\n\n > svg {\n display: none;\n }\n }\n`;\nexport const ClearIcon = styled.i`\n position: absolute;\n display: inline-block;\n width: ${props => props.theme.spacing.unit * 2}px;\n text-align: center;\n right: ${props => props.theme.spacing.unit * 4}px;\n line-height: 2em;\n vertical-align: middle;\n margin-right: 2px;\n cursor: pointer;\n font-style: normal;\n color: '#666';\n`;","import * as React from 'react';\nimport { IMenuItem } from '../../services/MenuStore';\nimport { SearchStore } from '../../services/SearchStore';\nimport { MenuItem } from '../SideMenu/MenuItem';\nimport { MarkerService } from '../../services/MarkerService';\nimport { SearchResult } from '../../services/SearchWorker.worker';\nimport { bind, debounce } from 'decko';\nimport { PerfectScrollbarWrap } from '../../common-elements/perfect-scrollbar';\nimport { ClearIcon, SearchIcon, SearchInput, SearchResultsBox, SearchWrap } from './styled.elements';\nexport interface SearchBoxProps {\n search: SearchStore;\n marker: MarkerService;\n getItemById: (id: string) => IMenuItem | undefined;\n onActivate: (item: IMenuItem) => void;\n className?: string;\n}\nexport interface SearchBoxState {\n results: SearchResult[];\n term: string;\n activeItemIdx: number;\n}\nexport class SearchBox extends React.PureComponent {\n activeItemRef: MenuItem | null = null;\n\n constructor(props) {\n super(props);\n this.state = {\n results: [],\n term: '',\n activeItemIdx: -1\n };\n }\n\n clearResults(term: string) {\n this.setState({\n results: [],\n term\n });\n this.props.marker.unmark();\n }\n\n clear = () => {\n this.setState({\n results: [],\n term: '',\n activeItemIdx: -1\n });\n this.props.marker.unmark();\n };\n handleKeyDown = (event: React.KeyboardEvent) => {\n if (event.keyCode === 27) {\n // ESQ\n this.clear();\n }\n\n if (event.keyCode === 40) {\n // Arrow down\n this.setState({\n activeItemIdx: Math.min(this.state.activeItemIdx + 1, this.state.results.length - 1)\n });\n event.preventDefault();\n }\n\n if (event.keyCode === 38) {\n // Arrow up\n this.setState({\n activeItemIdx: Math.max(0, this.state.activeItemIdx - 1)\n });\n event.preventDefault();\n }\n\n if (event.keyCode === 13) {\n // enter\n const activeResult = this.state.results[this.state.activeItemIdx];\n\n if (activeResult) {\n const item = this.props.getItemById(activeResult.meta);\n\n if (item) {\n this.props.onActivate(item);\n }\n }\n }\n };\n\n setResults(results: SearchResult[], term: string) {\n this.setState({\n results\n });\n this.props.marker.mark(term);\n }\n\n @bind\n @debounce(400)\n searchCallback(searchTerm: string) {\n this.props.search.search(searchTerm).then(res => {\n this.setResults(res, searchTerm);\n });\n }\n\n search = (event: React.ChangeEvent) => {\n const q = event.target.value;\n\n if (q.length < 3) {\n this.clearResults(q);\n return;\n }\n\n this.setState({\n term: q\n }, () => this.searchCallback(this.state.term));\n };\n\n render() {\n const {\n activeItemIdx\n } = this.state;\n const results = this.state.results.map(res => ({\n item: this.props.getItemById(res.meta)!,\n score: res.score\n }));\n results.sort((a, b) => b.score - a.score);\n return \n {this.state.term && ×}\n \n \n {results.length > 0 && \n \n {results.map((res, idx) => )}\n \n }\n ;\n }\n\n}","import * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { ThemeProvider } from '../../styled-components';\nimport { OptionsProvider } from '../OptionsProvider';\nimport { AppStore } from '../../services';\nimport { ApiInfo } from '../ApiInfo/';\nimport { ApiLogo } from '../ApiLogo/ApiLogo';\nimport { ContentItems } from '../ContentItems/ContentItems';\nimport { SideMenu } from '../SideMenu/SideMenu';\nimport { StickyResponsiveSidebar } from '../StickySidebar/StickyResponsiveSidebar';\nimport { ApiContentWrap, BackgroundStub, RedocWrap } from './styled.elements';\nimport { SearchBox } from '../SearchBox/SearchBox';\nimport { StoreProvider } from '../StoreBuilder';\nexport interface RedocProps {\n store: AppStore;\n}\nexport class Redoc extends React.Component {\n static propTypes = {\n store: PropTypes.instanceOf(AppStore).isRequired\n };\n\n componentDidMount() {\n this.props.store.onDidMount();\n }\n\n componentWillUnmount() {\n this.props.store.dispose();\n }\n\n render() {\n const {\n store: {\n spec,\n menu,\n options,\n search,\n marker\n }\n } = this.props;\n const store = this.props.store;\n return \n \n \n \n \n \n {!options.disableSearch && || null}\n \n \n \n \n \n \n \n \n \n \n ;\n }\n\n}","import * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { RedocNormalizedOptions, RedocRawOptions } from '../services/RedocNormalizedOptions';\nimport { ErrorBoundary } from './ErrorBoundary';\nimport { Loading } from './Loading/Loading';\nimport { Redoc } from './Redoc/Redoc';\nimport { StoreBuilder } from './StoreBuilder';\nexport interface RedocStandaloneProps {\n spec?: object;\n specUrl?: string;\n options?: RedocRawOptions;\n onLoaded?: (e?: Error) => any;\n}\nexport class RedocStandalone extends React.PureComponent {\n static propTypes = {\n spec: (props, _, componentName) => {\n if (!props.spec && !props.specUrl) {\n return new Error(`One of props 'spec' or 'specUrl' was not specified in '${componentName}'.`);\n }\n\n return null;\n },\n specUrl: (props, _, componentName) => {\n if (!props.spec && !props.specUrl) {\n return new Error(`One of props 'spec' or 'specUrl' was not specified in '${componentName}'.`);\n }\n\n return null;\n },\n options: PropTypes.any,\n onLoaded: PropTypes.any\n };\n\n render() {\n const {\n spec,\n specUrl,\n options = {},\n onLoaded\n } = this.props;\n const hideLoading = options.hideLoading !== undefined;\n const normalizedOpts = new RedocNormalizedOptions(options);\n return \n \n {({\n loading,\n store\n }) => !loading ? : hideLoading ? null : }\n \n ;\n }\n\n}","export * from './JsonViewer';","export * from './MenuItem';\nexport * from './MenuItems';\nexport * from './SideMenu';\nexport * from './styled.elements';","export * from './RedocStandalone';\nexport * from './Redoc/Redoc';\nexport * from './ApiInfo/ApiInfo';\nexport * from './ApiLogo/ApiLogo';\nexport * from './ContentItems/ContentItems';\nexport { ApiContentWrap, BackgroundStub, RedocWrap } from './Redoc/styled.elements';\nexport * from './Schema/';\nexport * from './SearchBox/SearchBox';\nexport * from './Operation/Operation';\nexport * from './Loading/Loading';\nexport * from './JsonViewer';\nexport * from './Markdown/Markdown';\nexport { StyledMarkdownBlock } from './Markdown/styled.elements';\nexport * from './SecuritySchemes/SecuritySchemes';\nexport * from './Responses/Response';\nexport * from './Responses/ResponseDetails';\nexport * from './Responses/ResponseHeaders';\nexport * from './Responses/ResponsesList';\nexport * from './Responses/ResponseTitle';\nexport * from './ResponseSamples/ResponseSamples';\nexport * from './PayloadSamples/PayloadSamples';\nexport * from './PayloadSamples/styled.elements';\nexport * from './MediaTypeSwitch/MediaTypesSwitch';\nexport * from './Parameters/Parameters';\nexport * from './PayloadSamples/Example';\nexport * from './DropdownOrLabel/DropdownOrLabel';\nexport * from './ErrorBoundary';\nexport * from './StoreBuilder';\nexport * from './OptionsProvider';\nexport * from './SideMenu/';\nexport * from './StickySidebar/StickyResponsiveSidebar';\nexport * from './SearchBox/SearchBox';\nexport * from './SchemaDefinition/SchemaDefinition';\nexport * from './SourceCode/SourceCode';","export * from './components';\nexport { MiddlePanel, Row, RightPanel, Section, StyledDropdown, SimpleDropdown, DropdownOption } from './common-elements/';\nexport { OpenAPIEncoding } from './types';\nexport * from './services';\nexport * from './utils';\nexport * from './styled-components';\nexport { default as styled } from './styled-components';"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://Redoc/webpack/universalModuleDefinition","webpack://Redoc/webpack/bootstrap","webpack://Redoc/external \"react\"","webpack://Redoc/external \"tslib\"","webpack://Redoc/external \"polished\"","webpack://Redoc/external \"mobx-react\"","webpack://Redoc/external \"mobx\"","webpack://Redoc/external \"url\"","webpack://Redoc/external \"json-pointer\"","webpack://Redoc/external \"lunr\"","webpack://Redoc/external \"decko\"","webpack://Redoc/external \"react-tabs\"","webpack://Redoc/external \"prismjs\"","webpack://Redoc/(webpack)/buildin/global.js","webpack://Redoc/./node_modules/path-browserify/index.js","webpack://Redoc/external \"prop-types\"","webpack://Redoc/external \"marked\"","webpack://Redoc/./node_modules/process/browser.js","webpack://Redoc/external \"undefined\"","webpack://Redoc/./node_modules/reftools/lib/jptr.js","webpack://Redoc/./node_modules/reftools/lib/clone.js","webpack://Redoc/external \"eventemitter3\"","webpack://Redoc/external \"url-template\"","webpack://Redoc/./node_modules/reftools/lib/isref.js","webpack://Redoc/./node_modules/reftools/lib/recurse.js","webpack://Redoc/external \"mark.js\"","webpack://Redoc/external \"openapi-sampler\"","webpack://Redoc/external \"perfect-scrollbar\"","webpack://Redoc/./node_modules/perfect-scrollbar/css/perfect-scrollbar.css","webpack://Redoc/./node_modules/oas-kit-common/index.js","webpack://Redoc/./node_modules/buffer/index.js","webpack://Redoc/./node_modules/stream-http/lib/capability.js","webpack://Redoc/external \"inherits\"","webpack://Redoc/./node_modules/stream-http/lib/response.js","webpack://Redoc/external \"readable-stream\"","webpack://Redoc/./src/services/SearchWorker.worker.ts","webpack://Redoc/external \"slugify\"","webpack://Redoc/external \"styled-components\"","webpack://Redoc/external \"json-schema-ref-parser\"","webpack://Redoc/./node_modules/swagger2openapi/index.js","webpack://Redoc/./node_modules/memoize-one/dist/memoize-one.cjs.js","webpack://Redoc/external \"@redocly/react-dropdown-aria\"","webpack://Redoc/external \"dompurify\"","webpack://Redoc/external \"classnames\"","webpack://Redoc/external \"call-me-maybe\"","webpack://Redoc/./node_modules/oas-resolver/index.js","webpack://Redoc/./node_modules/reftools/lib/dereference.js","webpack://Redoc/external \"fast-safe-stringify\"","webpack://Redoc/./node_modules/oas-schema-walker/index.js","webpack://Redoc/./node_modules/swagger2openapi/lib/statusCodes.js","webpack://Redoc/./node_modules/stream-http/index.js","webpack://Redoc/./node_modules/stream-http/lib/request.js","webpack://Redoc/external \"base64-js\"","webpack://Redoc/external \"ieee754\"","webpack://Redoc/external \"isarray\"","webpack://Redoc/external \"to-arraybuffer\"","webpack://Redoc/external \"xtend\"","webpack://Redoc/external \"builtin-status-codes\"","webpack://Redoc/external \"prismjs/components/prism-bash.js\"","webpack://Redoc/external \"prismjs/components/prism-c.js\"","webpack://Redoc/external \"prismjs/components/prism-clike.js\"","webpack://Redoc/external \"prismjs/components/prism-coffeescript.js\"","webpack://Redoc/external \"prismjs/components/prism-cpp.js\"","webpack://Redoc/external \"prismjs/components/prism-csharp.js\"","webpack://Redoc/external \"prismjs/components/prism-go.js\"","webpack://Redoc/external \"prismjs/components/prism-http.js\"","webpack://Redoc/external \"prismjs/components/prism-java.js\"","webpack://Redoc/external \"prismjs/components/prism-lua.js\"","webpack://Redoc/external \"prismjs/components/prism-markup-templating.js\"","webpack://Redoc/external \"prismjs/components/prism-markup.js\"","webpack://Redoc/external \"prismjs/components/prism-objectivec.js\"","webpack://Redoc/external \"prismjs/components/prism-perl.js\"","webpack://Redoc/external \"prismjs/components/prism-php.js\"","webpack://Redoc/external \"prismjs/components/prism-python.js\"","webpack://Redoc/external \"prismjs/components/prism-ruby.js\"","webpack://Redoc/external \"prismjs/components/prism-scala.js\"","webpack://Redoc/external \"prismjs/components/prism-sql.js\"","webpack://Redoc/external \"prismjs/components/prism-swift.js\"","webpack://Redoc/./src/services/SearchWorker.worker.ts?2393","webpack://Redoc/./node_modules/workerize-loader/src/rpc-wrapper.js","webpack://Redoc/external \"core-js/es/promise\"","webpack://Redoc/./node_modules/css-loader/dist/runtime/api.js","webpack://Redoc/external \"stickyfill\"","webpack://Redoc/./src/theme.ts","webpack://Redoc/./src/utils/dom.ts","webpack://Redoc/./src/utils/helpers.ts","webpack://Redoc/./src/services/Labels.ts","webpack://Redoc/./src/services/RedocNormalizedOptions.ts","webpack://Redoc/./src/styled-components.ts","webpack://Redoc/./src/components/ErrorBoundary.tsx","webpack://Redoc/./src/components/Loading/Spinner.svg.tsx","webpack://Redoc/./src/components/Loading/Loading.tsx","webpack://Redoc/./src/components/OptionsProvider.ts","webpack://Redoc/./src/utils/loadAndBundleSpec.ts","webpack://Redoc/./src/utils/JsonPointer.ts","webpack://Redoc/./src/utils/openapi.ts","webpack://Redoc/./src/utils/highlight.ts","webpack://Redoc/./src/utils/decorators.ts","webpack://Redoc/./src/utils/debug.ts","webpack://Redoc/./src/utils/memoize.ts","webpack://Redoc/./src/utils/index.ts","webpack://Redoc/./src/services/HistoryService.ts","webpack://Redoc/./src/services/MarkerService.ts","webpack://Redoc/./src/services/MarkdownRenderer.ts","webpack://Redoc/./src/services/models/ApiInfo.ts","webpack://Redoc/./src/services/models/SecurityRequirement.ts","webpack://Redoc/./src/services/models/Callback.ts","webpack://Redoc/./src/services/models/Schema.ts","webpack://Redoc/./src/services/models/Example.ts","webpack://Redoc/./src/services/models/Field.ts","webpack://Redoc/./src/services/models/MediaType.ts","webpack://Redoc/./src/services/models/MediaContent.ts","webpack://Redoc/./src/services/models/RequestBody.ts","webpack://Redoc/./src/services/models/Response.ts","webpack://Redoc/./src/services/models/Operation.ts","webpack://Redoc/./src/services/models/Webhook.ts","webpack://Redoc/./src/services/models/SecuritySchemes.ts","webpack://Redoc/./src/services/OpenAPIParser.ts","webpack://Redoc/./src/services/SpecStore.ts","webpack://Redoc/./src/services/models/Group.model.ts","webpack://Redoc/./src/services/models/index.ts","webpack://Redoc/./src/services/MenuBuilder.ts","webpack://Redoc/./src/services/MenuStore.ts","webpack://Redoc/./src/services/ScrollService.ts","webpack://Redoc/./src/services/SearchStore.ts","webpack://Redoc/./src/common-elements/panels.ts","webpack://Redoc/./src/common-elements/headers.ts","webpack://Redoc/./src/components/StoreBuilder.ts","webpack://Redoc/./src/common-elements/linkify.tsx","webpack://Redoc/./src/common-elements/shelfs.tsx","webpack://Redoc/./src/common-elements/mixins.ts","webpack://Redoc/./src/common-elements/fields-layout.ts","webpack://Redoc/./src/common-elements/schema.ts","webpack://Redoc/./src/common-elements/dropdown.ts","webpack://Redoc/./src/common-elements/tabs.ts","webpack://Redoc/./src/common-elements/PrismDiv.tsx","webpack://Redoc/./src/common-elements/samples.tsx","webpack://Redoc/./src/common-elements/perfect-scrollbar.tsx","webpack://Redoc/./src/common-elements/index.ts","webpack://Redoc/./src/components/DropdownOrLabel/DropdownOrLabel.tsx","webpack://Redoc/./src/components/Markdown/styled.elements.tsx","webpack://Redoc/./src/components/Markdown/SanitizedMdBlock.tsx","webpack://Redoc/./src/components/Markdown/Markdown.tsx","webpack://Redoc/./src/common-elements/Tooltip.tsx","webpack://Redoc/./src/services/ClipboardService.ts","webpack://Redoc/./src/common-elements/CopyButtonWrapper.tsx","webpack://Redoc/./src/utils/jsonToHtml.ts","webpack://Redoc/./src/components/JsonViewer/style.ts","webpack://Redoc/./src/components/JsonViewer/JsonViewer.tsx","webpack://Redoc/./src/components/SourceCode/SourceCode.tsx","webpack://Redoc/./src/components/PayloadSamples/ExampleValue.tsx","webpack://Redoc/./src/components/PayloadSamples/exernalExampleHook.ts","webpack://Redoc/./src/components/PayloadSamples/Example.tsx","webpack://Redoc/./src/components/PayloadSamples/styled.elements.ts","webpack://Redoc/./src/components/PayloadSamples/MediaTypeSamples.tsx","webpack://Redoc/./src/common-elements/fields.ts","webpack://Redoc/./src/components/ExternalDocumentation/ExternalDocumentation.tsx","webpack://Redoc/./src/components/Fields/EnumValues.tsx","webpack://Redoc/./src/components/Fields/Extensions.tsx","webpack://Redoc/./src/components/Fields/FieldContstraints.tsx","webpack://Redoc/./src/components/Fields/FieldDetail.tsx","webpack://Redoc/./src/components/Fields/FieldDetails.tsx","webpack://Redoc/./src/components/Schema/ArraySchema.tsx","webpack://Redoc/./src/components/Fields/Field.tsx","webpack://Redoc/./src/components/Schema/DiscriminatorDropdown.tsx","webpack://Redoc/./src/components/Schema/ObjectSchema.tsx","webpack://Redoc/./src/components/Schema/OneOfSchema.tsx","webpack://Redoc/./src/components/Schema/Schema.tsx","webpack://Redoc/./src/components/Schema/index.ts","webpack://Redoc/./src/components/SchemaDefinition/SchemaDefinition.tsx","webpack://Redoc/./src/components/SecuritySchemes/SecuritySchemes.tsx","webpack://Redoc/./src/services/AppStore.ts","webpack://Redoc/./src/services/index.ts","webpack://Redoc/./src/components/ApiInfo/styled.elements.ts","webpack://Redoc/./src/components/ApiInfo/ApiInfo.tsx","webpack://Redoc/./src/components/ApiInfo/index.ts","webpack://Redoc/./src/components/ApiLogo/styled.elements.tsx","webpack://Redoc/./src/components/ApiLogo/ApiLogo.tsx","webpack://Redoc/./src/components/Markdown/AdvancedMarkdown.tsx","webpack://Redoc/./src/components/SideMenu/styled.elements.ts","webpack://Redoc/./src/components/Callbacks/CallbackTitle.tsx","webpack://Redoc/./src/components/Callbacks/styled.elements.ts","webpack://Redoc/./src/components/SelectOnClick/SelectOnClick.tsx","webpack://Redoc/./src/components/Endpoint/styled.elements.ts","webpack://Redoc/./src/components/Endpoint/Endpoint.tsx","webpack://Redoc/./src/components/Parameters/ParametersGroup.tsx","webpack://Redoc/./src/components/MediaTypeSwitch/MediaTypesSwitch.tsx","webpack://Redoc/./src/components/Parameters/Parameters.tsx","webpack://Redoc/./src/components/Responses/ResponseTitle.tsx","webpack://Redoc/./src/components/Responses/styled.elements.ts","webpack://Redoc/./src/components/Responses/ResponseHeaders.tsx","webpack://Redoc/./src/components/Responses/ResponseDetails.tsx","webpack://Redoc/./src/components/Responses/Response.tsx","webpack://Redoc/./src/components/Responses/ResponsesList.tsx","webpack://Redoc/./src/components/SecurityRequirement/SecurityRequirement.tsx","webpack://Redoc/./src/components/Callbacks/CallbackDetails.tsx","webpack://Redoc/./src/components/Callbacks/CallbackOperation.tsx","webpack://Redoc/./src/components/Callbacks/CallbacksList.tsx","webpack://Redoc/./src/components/Callbacks/index.ts","webpack://Redoc/./src/components/GenericChildrenSwitcher/GenericChildrenSwitcher.tsx","webpack://Redoc/./src/components/PayloadSamples/PayloadSamples.tsx","webpack://Redoc/./src/components/CallbackSamples/CallbackReqSamples.tsx","webpack://Redoc/./src/components/CallbackSamples/CallbackSamples.tsx","webpack://Redoc/./src/components/RequestSamples/RequestSamples.tsx","webpack://Redoc/./src/components/ResponseSamples/ResponseSamples.tsx","webpack://Redoc/./src/components/Operation/Operation.tsx","webpack://Redoc/./src/components/ContentItems/ContentItems.tsx","webpack://Redoc/./src/components/SideMenu/MenuItem.tsx","webpack://Redoc/./src/components/SideMenu/MenuItems.tsx","webpack://Redoc/./src/components/SideMenu/SideMenu.tsx","webpack://Redoc/./src/components/StickySidebar/ChevronSvg.tsx","webpack://Redoc/./src/components/StickySidebar/StickyResponsiveSidebar.tsx","webpack://Redoc/./src/components/Redoc/styled.elements.tsx","webpack://Redoc/./src/components/SearchBox/styled.elements.tsx","webpack://Redoc/./src/components/SearchBox/SearchBox.tsx","webpack://Redoc/./src/components/Redoc/Redoc.tsx","webpack://Redoc/./src/components/RedocStandalone.tsx","webpack://Redoc/./src/components/JsonViewer/index.tsx","webpack://Redoc/./src/components/SideMenu/index.ts","webpack://Redoc/./src/components/index.ts","webpack://Redoc/./src/index.ts"],"names":["addMethods","worker","methods","c","callbacks","addEventListener","e","d","data","type","id","f","error","Object","assign","Error","message","result","evt","document","createEvent","initEvent","method","params","dispatchEvent","forEach","Promise","a","b","postMessage"],"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,kC;;;;;;ACAA,kC;;;;;;ACAA,qC;;;;;;ACAA,uC;;;;;;ACAA,iC;;;;;;ACAA,gC;;;;;;ACAA,yC;;;;;;ACAA,iC;;;;;;ACAA,kC;;;;;;ACAA,uC;;;;;;ACAA,oC;;;;;;ACAA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;ACnBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,QAAQ;AACxC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,MAAM;AAChB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,oCAAoC,8BAA8B;AAClE;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,oBAAoB;AAC9B;AACA;;AAEA;AACA,UAAU,UAAU;AACpB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B,sBAAsB;AACrD;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;;;;;;;;AC7SA,uC;;;;;;ACAA,mC;;;;;;ACAA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qCAAqC;;AAErC;AACA;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;AACA,4BAA4B,UAAU;;;;;;;ACvLtC,2B;;;;;;;ACAa;AAEb;;;;EAIE;AACF,SAAS,QAAQ,CAAC,CAAC;IACf,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACvD,CAAC;AAED;;;;EAIE;AACF,SAAS,UAAU,CAAC,CAAC;IACjB,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAA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C5B,SAAS,EAAE,SAAS;IACpB,IAAI,EAAE,IAAI;IACV,uBAAuB,EAAE,uBAAuB;IAChD,eAAe,EAAE,eAAe;IAChC,WAAW,EAAE,WAAW;IACxB,QAAQ,EAAE,QAAQ;IAClB,WAAW,EAAE,WAAW;CAE3B,CAAC;;;;;;;;;ACvIF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEY;;AAEZ,aAAa,mBAAO,CAAC,EAAW;AAChC,cAAc,mBAAO,CAAC,EAAS;AAC/B,cAAc,mBAAO,CAAC,EAAS;;AAE/B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,mDAAmD;AACxE;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,UAAU;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,uCAAuC,SAAS;AAChD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gDAAgD,EAAE;AAClD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,eAAe;AACvC;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,wBAAwB,QAAQ;AAChC;AACA,qBAAqB,eAAe;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uDAAuD,OAAO;AAC9D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,uDAAuD,OAAO;AAC9D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qBAAqB,QAAQ;AAC7B;AACA;AACA,GAAG;AACH;AACA,eAAe,SAAS;AACxB;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,YAAY;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;AC5vDA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACxEA,qC;;;;;;ACAA,gFAAiB,mBAAO,CAAC,EAAc;AACvC,eAAe,mBAAO,CAAC,EAAU;AACjC,aAAa,mBAAO,CAAC,EAAiB;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA,MAAM;AACN,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,IAAI,aAAa;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,wCAAwC,eAAe,IAAI;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,oBAAoB;AACxC;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;AC/NA,4C;;;;;;;;;;;;;;;;;;;;ACA6B;AAE7B,IAAI;IACF,2BAA2B;IAC3B,mBAAO,CAAC,EAAoB,CAAC,CAAC,CAAC,qBAAqB;CAErD;AAAC,OAAO,CAAC,EAAE,EAAC,OAAO;CACnB;AACD,6BAA6B;AAG7B;IAAA;QACE,QAAG,GAAe,GAAG,CAAC;QACtB,SAAI,GAAG,IAAI,CAAC;QACZ,WAAM,GAAkB,MAAM,CAAC;QAC/B,SAAI,GAAG,IAAI,CAAC;QACZ,SAAI,GAAG,IAAI,CAAC;QACZ,YAAO,GAAG,OAAO,CAAC;QAClB,mBAAc,GAAG,cAAc,CAAC;IAClC,CAAC;IAAD,aAAC;AAAD,CAAC;;AAUD,IAAI,KAAK,GAAU,EAAE,CAAC;AACtB,8CAAc,CAAC,SAAS,GAAG,KAAK,CAAC;AACjC,IAAI,OAAqB,CAAC;AAC1B,IAAI,YAAqC,CAAC;AAC1C,IAAI,KAA0B,CAAC;AAE/B,SAAS,SAAS;IAChB,OAAO,GAAG,IAAI,4CAAY,EAAE,CAAC;IAC7B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACvB,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,4CAAY,EAAE,mDAAmB,EAAE,4CAAY,CAAC,CAAC;IACtE,KAAK,GAAG,IAAI,OAAO,CAAC,iBAAO;QACzB,YAAY,GAAG,OAAO,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,EAAE,CAAC;AAEZ,IAAM,UAAU,GAAG,cAAI,IAAI,UAAG,GAAG,4CAAY,CAAC,IAAI,0CAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,EAAlD,CAAkD,CAAC;AAEvE,SAAS,GAAG,CAAI,KAAa,EAAE,WAAmB,EAAE,IAAQ;IACjE,IAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjC,IAAM,IAAI,GAAG;QACX,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE;QAC1B,WAAW,EAAE,WAAW,CAAC,WAAW,EAAE;QACtC,GAAG;KACJ,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACpB,CAAC;AACM,SAAe,IAAI;;;YACxB,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;;;;CAC/B;AACM,SAAe,IAAI;;;;;;;wBAEtB,KAAK;;oBACG,qBAAM,KAAK;wBAFrB,uBAEE,QAAK,GAAE,CAAC,SAAW,CAAC,CAAC,MAAM,EAAE;6BAC7B;;;;CACH;AACM,SAAe,cAAc,CAAC,IAAY,EAAE,UAAkB;;;YACnE,IAAI;gBACF,aAAa,CAAC,IAAI,CAAC,CAAC;gBAEpB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;oBACrB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;iBAC7C;gBAED,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;aACxB;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,+BAA+B,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;aAC5D;;;;CACF;AACM,SAAe,IAAI,CAAC,KAAU;;;YACnC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YACpB,YAAY,CAAC,0CAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;;;;CAC5C;AACM,SAAe,OAAO;;;YAC3B,KAAK,GAAG,EAAE,CAAC;YACX,SAAS,EAAE,CAAC;;;;CACb;AACM,SAAe,MAAM,CAAgB,CAAS,EAAE,KAAS;IAAT,iCAAS;;;;;;oBAC9D,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;wBACzB,sBAAO,EAAE,EAAC;qBACX;oBAEoB,qBAAM,KAAK;;oBAA5B,aAAa,GAAG,CAAC,SAAW,CAAC,CAAC,KAAK,CAAC,WAAC;wBACvC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,cAAI;4BAC9C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gCAAE,OAAO;4BAC9B,IAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;4BAC7B,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;wBAClB,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC;oBAEF,IAAI,KAAK,GAAG,CAAC,EAAE;wBACb,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;qBAC/C;oBAED,sBAAO,aAAa,CAAC,GAAG,CAAC,aAAG,IAAI,QAAC;4BAC/B,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;4BACpB,KAAK,EAAE,GAAG,CAAC,KAAK;yBACjB,CAAC,EAH8B,CAG9B,CAAC,EAAC;;;;CACL;;;;;;;AC9GD,oC;;;;;;ACAA,8C;;;;;;ACAA,mD;;;;;;;ACAA,YAAY;AACC;;AAEb,IAAM,EAAE,GAAG,mBAAO,CAAC,EAAI,CAAC,CAAC;AACzB,IAAM,GAAG,GAAG,mBAAO,CAAC,CAAK,CAAC,CAAC;AAC3B,IAAM,OAAO,GAAG,mBAAO,CAAC,EAAM,CAAC,CAAC;AAEhC,IAAM,KAAK,GAAG,mBAAO,CAAC,EAAe,CAAC,CAAC;AACvC,IAAM,KAAK,GAAG,mBAAO,CAAC,EAAe,CAAC,CAAC;AACvC,IAAM,IAAI,GAAG,mBAAO,CAAC,EAAM,CAAC,CAAC;AAE7B,IAAM,IAAI,GAAG,mBAAO,CAAC,EAAsB,CAAC,CAAC;AAC7C,IAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC;AAClC,IAAM,KAAK,GAAG,mBAAO,CAAC,EAAuB,CAAC,CAAC,KAAK,CAAC;AACrD,IAAM,KAAK,GAAG,mBAAO,CAAC,EAAuB,CAAC,CAAC,KAAK,CAAC;AACrD,IAAM,MAAM,GAAG,mBAAO,CAAC,EAAuB,CAAC,CAAC,aAAa,CAAC;AAC9D,IAAM,OAAO,GAAG,mBAAO,CAAC,EAAyB,CAAC,CAAC,OAAO,CAAC;AAC3D,IAAM,QAAQ,GAAG,mBAAO,CAAC,EAAc,CAAC,CAAC;AACzC,IAAM,EAAE,GAAG,mBAAO,CAAC,EAAmB,CAAC,CAAC;AACxC,IAAM,MAAM,GAAG,mBAAO,CAAC,EAAgB,CAAC,CAAC;AAEzC,IAAM,WAAW,GAAG,mBAAO,CAAC,EAAsB,CAAC,CAAC,WAAW,CAAC;AAEhE,IAAM,UAAU,GAAG,mBAAO,CAAC,EAAgB,CAAC,CAAC,OAAO,CAAC;AAErD,qDAAqD;AAErD,IAAM,aAAa,GAAG,OAAO,CAAC;AAC9B,IAAI,cAAc,CAAC,CAAC,sBAAsB;AAE1C;IAAuB,oCAAK;IAC1B,kBAAY,OAAO;QAAnB,YACE,kBAAM,OAAO,CAAC,SAEf;QADC,KAAI,CAAC,IAAI,GAAG,UAAU,CAAC;;IACzB,CAAC;IACH,eAAC;AAAD,CAAC,CALsB,KAAK,GAK3B;AAED,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO;IAChC,IAAI,GAAG,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;IACtB,IAAI,OAAO,CAAC,OAAO,EAAE;QACjB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;KAC/B;SACI;QACD,MAAM,GAAG,CAAC;KACb;AACL,CAAC;AAED,SAAS,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO;IAC5C,IAAI,OAAO,CAAC,QAAQ,EAAE;QAClB,SAAS,CAAC,OAAO,CAAC,YAAY,IAAE,eAAe,CAAC,GAAG,OAAO,CAAC;KAC9D;SACI;QACD,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;KAChC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,MAAM,EAAC,MAAM,EAAC,OAAO;IACzC,IAAI,MAAM,CAAC,QAAQ;QAAE,OAAO,CAAC,OAAO,EAAE,CAAC;IACvC,IAAI,MAAM,CAAC,aAAa,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,EAAE;QAClE,MAAM,CAAC,aAAa,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC;KACjE;IACD,IAAI,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QAC7C,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3B,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;SACrB;aACI,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YAChC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAClC;;YACI,MAAM,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;KAC/C;IAED,IAAI,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QAC3C,IAAI,OAAO,CAAC,KAAK,EAAE;YACf,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC1B,OAAO,MAAM,CAAC,IAAI,CAAC;aACtB;iBACI;gBACD,IAAI,CAAC,MAAM,CAAC,KAAK;oBAAE,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gBACrC,KAAiB,UAAW,EAAX,WAAM,CAAC,IAAI,EAAX,cAAW,EAAX,IAAW,EAAE;oBAAzB,IAAI,IAAI;oBACT,IAAI,SAAS,GAAG,EAAE,CAAC;oBACnB,IAAI,IAAI,KAAK,MAAM,EAAE;wBACjB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;qBAC1B;yBACI;wBACD,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC;wBACtB,KAAiB,UAAsB,EAAtB,WAAM,CAAC,eAAe,EAAtB,cAAsB,EAAtB,IAAsB,EAAE;4BAApC,IAAI,IAAI;4BACT,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE;gCACpC,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;gCAC/B,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;6BACvB;yBACJ;qBACJ;oBACD,IAAI,SAAS,CAAC,IAAI,EAAE;wBAChB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;qBAChC;iBACJ;gBACD,OAAO,MAAM,CAAC,IAAI,CAAC;gBACnB,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC3B,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,kCAAkC;iBAC1D;qBACI,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC9B,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACnC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;wBACzC,WAAW,CAAC,4BAA4B,EAAC,MAAM,EAAC,OAAO,CAAC,CAAC;qBAC5D;oBACD,OAAO,MAAM,CAAC,KAAK,CAAC;iBACvB;aACJ;YACD,mBAAmB;YACnB,IAAI,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;gBACvE,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAChC;SACJ;aACI;YACD,UAAU,CAAC,8CAA8C,EAAE,OAAO,CAAC,CAAC;SACvE;KACJ;IAED,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE;QACvC,OAAO,MAAM,CAAC,IAAI,CAAC;QACnB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;KAC1B;IACD,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QAC9C,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;KACrB;IACD,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE;QACtC,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE;YAChC,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,WAAW,EAAE;gBACxC,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;aACxB;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SACzE;QACD,OAAO,MAAM,CAAC,QAAQ,CAAC;KAC1B;IAED,wEAAwE;IACxE,+CAA+C;IAC/C,2EAA2E;IAE3E,IAAI,MAAM,CAAC,GAAG,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,SAAS,KAAK,QAAQ,EAAE;QACxD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS;YAAE,OAAO,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;KAC1D;AACL,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAM,EAAC,MAAM;IAC3C,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE;QAC7D,IAAI,CAAC,MAAM,CAAC,QAAQ;YAAE,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;QAC3C,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QAC/D,OAAO,MAAM,CAAC,YAAY,CAAC,CAAC;KAC/B;IACD,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE;QACnB,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QACjC,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC;KAC5B;IACD,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE;QACnB,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QACjC,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC;KAC5B;IACD,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE;QACjB,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7B,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;KAC1B;IACD,IAAI,OAAO,MAAM,CAAC,YAAY,CAAC,KAAK,SAAS,EAAE;QAC3C,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;QACvC,OAAO,MAAM,CAAC,YAAY,CAAC,CAAC;KAC/B;IACD,IAAI,CAAC,OAAO,MAAM,CAAC,iBAAiB,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,iBAAiB,CAAC,CAAC,YAAY,KAAK,QAAQ,CAAC,EAAE;QACjH,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACjC,KAAK,IAAI,KAAK,IAAI,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE;YAC5C,IAAI,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACtD,IAAI,WAAW,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE;gBAC1C,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,gBAAgB,EAAC,uBAAuB,CAAC,CAAC;aACvG;SACJ;KACJ;AACL,CAAC;AAED,SAAS,WAAW,CAAC,MAAM,EAAC,OAAO;IAC/B,EAAE,CAAC,UAAU,CAAC,MAAM,EAAC,EAAE,EAAC,EAAE,EAAC,UAAS,MAAM,EAAC,MAAM,EAAC,KAAK;QACnD,wBAAwB,CAAC,MAAM,EAAC,MAAM,CAAC,CAAC;QACxC,cAAc,CAAC,MAAM,EAAC,MAAM,EAAC,OAAO,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAG;IAC7B,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAE,CAAC,EAAE;QACrB,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;KAC5C;SACI;QACD,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KAC5C;IACD,OAAO,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK;IAC9B,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;IACpC,IAAI,KAAK,CAAC,GAAG,EAAC,GAAG,CAAC,EAAE;QAChB,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;YACtC,QAAQ;SACX;aACI,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,YAAY,EAAE;YAChC,2BAA2B;YAC3B,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;YAChB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SAC9D;aACI,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,YAAY,EAAE;YAChC,kCAAkC;YAClC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;YAChB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SAC9D;aACI,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE;YAC5C,kEAAkE;YAClE,IAAI,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7D,IAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAErC,IAAI,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,0BAA0B;YACxF,IAAI,MAAM,EAAE;gBACR,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;aACpB;iBACI;gBACD,WAAW,CAAC,8BAA8B,GAAC,GAAG,CAAC,GAAG,CAAC,EAAC,GAAG,EAAC,OAAO,CAAC,CAAC;aACpE;YACD,GAAG,CAAC,GAAG,CAAC,GAAG,uBAAuB,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACvD;aACI,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;YAC3C,2CAA2C;YAC3C,GAAG,CAAC,GAAG,CAAC,GAAG,0BAA0B,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC;SAClG;aACI,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;YAC1C,2CAA2C;YAC3C,GAAG,CAAC,GAAG,CAAC,GAAG,yBAAyB,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC;SAChG;aACI,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YAC/B,sDAAsD;YACtD,IAAI,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACxD,IAAI,MAAM,KAAK,KAAK;gBAAE,WAAW,CAAC,wBAAwB,GAAC,GAAG,CAAC,GAAG,CAAC,EAAC,GAAG,EAAC,OAAO,CAAC;iBAC3E,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;gBAC/B,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;aACvC;iBACI;gBACD,yEAAyE;gBACzE,IAAI,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;gBACtB,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,sBAAsB,EAAC,EAAE,CAAC,CAAC;gBACnD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,wBAAwB,EAAC,EAAE,CAAC,CAAC;gBACrD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,yBAAyB,EAAC,EAAE,CAAC,CAAC;gBACtD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,sBAAsB,EAAC,EAAE,CAAC,CAAC;gBACnD,IAAI,IAAI,GAAG,SAAS,CAAC;gBACrB,IAAI,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBAChD,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,GAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBAC1D,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,GAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;wBAC5D,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;4BACxD,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;gCACrD,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,GAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEjF,oFAAoF;gBACpF,kFAAkF;gBAElF,IAAI,IAAI,KAAK,SAAS,EAAE;oBACpB,WAAW,CAAC,MAAM,EAAC,OAAO,CAAC,CAAC;iBAC/B;gBAED,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,EAAE;oBACnD,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAC,IAAI,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC;oBAC1C,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE;wBAC3F,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;qBAC5C;oBAED,IAAI,MAAM,GAAG,CAAC,CAAC;oBACf,IAAI,GAAG,CAAC,QAAQ,CAAC,EAAE;wBACf,MAAM,GAAG,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;wBAC7C,MAAM,GAAG,EAAE,CAAC;qBACf;oBAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAC,eAAe,GAAC,IAAI,GAAC,GAAG,GAAC,MAAM,GAAC,MAAM,CAAC,EAAE;wBACtE,MAAM,GAAG,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;qBAC3C;oBAED,IAAI,MAAM,GAAG,eAAe,GAAC,IAAI,GAAC,GAAG,GAAC,MAAM,GAAC,MAAM,CAAC;oBACpD,IAAI,SAAS,GAAG,EAAE,CAAC;oBAEnB,IAAI,IAAI,KAAK,UAAU,EAAE;wBACrB,MAAM,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;wBAC3B,SAAS,GAAG,QAAQ,CAAC;qBACxB;oBAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAC,MAAM,EAAC,MAAM,CAAC,CAAC;oBACzC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,GAAC,SAAS,CAAC;oBAC5C,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAC,SAAS,CAAC;iBAC/B;aACJ;SACJ;QAED,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC;QACrB,uEAAuE;QACvE,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7B,IAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YACxB,IAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,uFAAuF;YAC5I,IAAI,OAAO,CAAC,WAAW,KAAK,UAAU,EAAE;gBACpC,QAAQ;aACX;iBACI,IAAI,QAAQ,IAAI,CAAC,OAAO,CAAC,WAAW,KAAK,OAAO,CAAC,EAAE;gBACpD,OAAO,GAAG,CAAC,IAAI,CAAC;gBAChB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,CAAE,EAAC,CAAC;aAClE;iBACI,EAAE,gDAAgD;gBACnD,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;aAC/C;SACJ;KAEJ;IACD,IAAI,CAAC,GAAG,KAAK,YAAY,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE;QACzF,IAAI,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,uBAAuB,EAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjG,IAAI,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B;QAC5F,IAAI,MAAM,EAAE;YACR,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;SACpB;aACI;YACD,WAAW,CAAC,8BAA8B,GAAC,GAAG,CAAC,GAAG,CAAC,EAAC,GAAG,EAAC,OAAO,CAAC,CAAC;SACpE;QACD,GAAG,CAAC,GAAG,CAAC,GAAG,uBAAuB,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACvD;AACL,CAAC;AAED;;;EAGE;AACF,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO;IAChC,KAAK,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE;QAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAC,GAAG,EAAC,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;KACxD;AACL,CAAC;AAED,SAAS,eAAe,CAAC,cAAc;IACnC,KAAK,IAAI,CAAC,IAAI,cAAc,EAAE;QAC1B,KAAK,IAAI,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE;YAC7B,IAAI,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,CAAC,IAAI,KAAK,EAAE;gBACZ,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChD,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC/B;SACJ;KACJ;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAM,EAAE,OAAO;IAC1C,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;QACzB,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC;QACrB,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC;KAC3B;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE;QAC1B,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;QAC3B,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa;YAAE,QAAQ,GAAG,mBAAmB,CAAC;QAClE,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY;YAAE,QAAQ,GAAG,mBAAmB,CAAC;QACjE,IAAI,OAAO,MAAM,CAAC,gBAAgB,KAAK,WAAW;YAAE,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC;QAChI,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;YAAE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC;QACrG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QAClC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;QAClB,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;QAC9B,OAAO,MAAM,CAAC,IAAI,CAAC;QACnB,OAAO,MAAM,CAAC,gBAAgB,CAAC;QAC/B,OAAO,MAAM,CAAC,QAAQ,CAAC;QACvB,OAAO,MAAM,CAAC,MAAM,CAAC;QACrB,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE;YACpC,IAAI,OAAO,CAAC,KAAK,EAAE;gBACf,OAAO,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO,MAAM,CAAC,IAAI,CAAC;aACtB;iBACI;gBACD,UAAU,CAAC,kEAAkE,EAAE,OAAO,CAAC,CAAC;aAC3F;SACJ;KACJ;AACL,CAAC;AAED,SAAS,cAAc,CAAC,KAAK;IACzB,OAAO,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,aAAa,CAAC,MAAM,EAAE,OAAO;IAClC,IAAI,MAAM,CAAC,IAAI,EAAE;QACb,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,yBAAyB,CAAC,CAAC;KAChF;SACI;QACD,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAC/B,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;SACtB;QACD,IAAI,MAAM,CAAC,IAAI;YAAE,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QAClD,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;YAC/C,IAAI,MAAM,CAAC,KAAK,CAAC,gBAAgB,KAAK,MAAM,CAAC,gBAAgB,EAAE;gBAC3D,WAAW,CAAC,4CAA4C,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;aAC9E;YACD,OAAO,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC;SACxC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;YACzB,IAAI,MAAM,CAAC,gBAAgB,KAAK,KAAK,EAAE;gBACnC,WAAW,CAAC,yDAAyD,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,eAAe;aAC3G;iBACI,IAAI,MAAM,CAAC,gBAAgB,KAAK,OAAO,EAAE;gBAC1C,WAAW,CAAC,2DAA2D,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,eAAe;aAC7G;iBACI,IAAI,MAAM,CAAC,gBAAgB,KAAK,OAAO,EAAE;gBAC1C,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;aACzB;iBACI,IAAI,MAAM,CAAC,gBAAgB,KAAK,KAAK,EAAE;gBACxC,WAAW,CAAC,6CAA6C,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,eAAe;gBAC5F,MAAM,CAAC,oBAAoB,CAAC,GAAG,KAAK,CAAC;aACxC;iBACI,EAAE,QAAQ;gBACX,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC;aAC3B;YACD,OAAO,MAAM,CAAC,gBAAgB,CAAC;SAClC;aACI,IAAI,MAAM,CAAC,gBAAgB,EAAE;YAC9B,IAAI,OAAO,CAAC,KAAK,EAAE;gBACf,OAAO,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO,MAAM,CAAC,gBAAgB,CAAC;aAClC;iBACI;gBACD,UAAU,CAAC,sEAAsE,EAAE,OAAO,CAAC,CAAC;aAC/F;SACJ;QACD,OAAO,MAAM,CAAC,IAAI,CAAC;QACnB,KAAiB,UAA8B,EAA9B,WAAM,CAAC,uBAAuB,EAA9B,cAA8B,EAA9B,IAA8B,EAAE;YAA5C,IAAI,IAAI;YACT,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE;gBACrC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;gBACnC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;aACvB;SACJ;QACD,KAAiB,UAAsB,EAAtB,WAAM,CAAC,eAAe,EAAtB,cAAsB,EAAtB,IAAsB,EAAE;YAApC,IAAI,IAAI;YACT,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE;gBACrC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;gBACnC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;aACvB;SACJ;KACJ;AACL,CAAC;AAED,SAAS,WAAW,CAAC,KAAK,EAAE,OAAO;IAC/B,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE;QAC1C,IAAI,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACtD,KAAK,CAAC,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,0BAA0B,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;KAClG;IACD,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE;QAC3C,WAAW,CAAC,8BAA8B,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;KAC/D;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,EAAE,EAAC,OAAO;IACjC,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,KAAgB,UAAe,EAAf,WAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAf,cAAe,EAAf,IAAe,EAAE;QAA5B,IAAI,GAAG;QACR,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QACrB,IAAI,GAAG,KAAK,YAAY,EAAE;YACtB,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC;YACvB,IAAI,OAAO,CAAC,MAAM;gBAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;SAClD;KACJ;IACD,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC,uCAAuC;IAC/D,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO;IACtE,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,mBAAmB,GAAG,IAAI,CAAC;IAC/B,IAAI,YAAY,CAAC;IAEjB,IAAI,EAAE,IAAI,EAAE,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,KAAK,QAAQ,CAAC,EAAE;QACxD,IAAI,OAAO,CAAC,KAAK,EAAE;YACf,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,EAAE,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;SAC/B;aACI;YACD,OAAO,UAAU,CAAC,iDAAiD,EAAE,OAAO,CAAC,CAAC;SACjF;KACJ;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;QAAE,OAAO,OAAO,CAAC,QAAQ,CAAC;IAC9D,IAAI,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAEjG,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE;QACzD,0DAA0D;QAC1D,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC5B,IAAI,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC,CAAC;QACjF,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,IAAI,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,oDAAoD;QAErG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACxE,oFAAoF;YACpF,KAAK,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;YAC7B,KAAK,GAAG,IAAI,CAAC;SAChB;QAED,0FAA0F;QAC1F,oFAAoF;QAEpF,IAAI,KAAK,EAAE;YACP,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC;YACrB,IAAI,QAAQ,GAAG,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;gBACnC,WAAW,CAAC,8BAA8B,GAAG,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;aACrE;iBACI;gBACD,IAAI,QAAQ;oBAAE,KAAK,GAAG,QAAQ,CAAC,CAAC,qBAAqB;aACxD;SACJ;KACJ;IAED,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,oDAAoD;QAEzF,IAAI,OAAO,KAAK,CAAC,cAAc,CAAC,KAAK,SAAS,EAAE;YAC5C,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;YACzC,OAAO,KAAK,CAAC,cAAc,CAAC,CAAC;SAChC;QAED,IAAI,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,WAAW,EAAE;YAC3C,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YACnC,OAAO,KAAK,CAAC,WAAW,CAAC,CAAC;SAC7B;QAED,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACvC,IAAI,OAAO,CAAC,KAAK,EAAE;gBACf,OAAO,CAAC,OAAO,EAAE,CAAC;gBAClB,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC;aACzB;iBACI;gBACD,UAAU,CAAC,iEAAiE,EAAE,OAAO,CAAC,CAAC;aAC1F;SACJ;QACD,IAAI,KAAK,CAAC,IAAI,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;YACjE,4BAA4B;YAC5B,KAAK,CAAC,IAAI,GAAG,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC1D;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE;YACvB,KAAK,CAAC,oBAAoB,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;YACzC,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC;SAC7B;QACD,IAAI,KAAK,CAAC,WAAW,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE;YACtF,4BAA4B;YAC5B,KAAK,CAAC,WAAW,GAAG,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SACxE;QACD,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC,WAAW,CAAC;QAEzD,IAAI,qBAAmB,GAAG,KAAK,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,qBAAmB,EAAE;YAClD,qBAAmB,GAAG,KAAK,CAAC;SAC/B;QACD,IAAI,qBAAmB,EAAE;YACrB,IAAI,KAAK,CAAC,IAAI,IAAI,OAAO,EAAE;gBACvB,IAAI,OAAO,CAAC,KAAK,EAAE;oBACf,OAAO,CAAC,OAAO,EAAE,CAAC;oBAClB,OAAO,KAAK,CAAC,gBAAgB,CAAC;iBACjC;qBACI;oBACD,UAAU,CAAC,qEAAqE,EAAE,OAAO,CAAC,CAAC;iBAC9F;aACJ;YACD,IAAI,CAAC,qBAAmB,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,EAAE;gBACxF,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;gBACrB,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;aACzB;YACD,IAAI,CAAC,qBAAmB,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,EAAE;gBACvF,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC;aAC1B;YACD,IAAI,qBAAmB,KAAK,KAAK,EAAE;gBAC/B,IAAI,KAAK,CAAC,EAAE,KAAK,OAAO,EAAE;oBACtB,KAAK,CAAC,KAAK,GAAG,gBAAgB,CAAC;iBAClC;qBACI;oBACD,WAAW,CAAC,4EAA4E,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,eAAe;iBAC7H;aACJ;YACD,IAAI,qBAAmB,KAAK,OAAO,EAAE;gBACjC,IAAI,KAAK,CAAC,EAAE,KAAK,OAAO,EAAE;oBACtB,KAAK,CAAC,KAAK,GAAG,eAAe,CAAC;iBACjC;qBACI;oBACD,WAAW,CAAC,8EAA8E,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,eAAe;iBAC/H;aACJ;YACD,IAAI,qBAAmB,KAAK,OAAO,EAAE;gBACjC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;aACxB;YACD,IAAI,qBAAmB,KAAK,KAAK,EAAE;gBAC/B,WAAW,CAAC,6CAA6C,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,eAAe;gBAC3F,KAAK,CAAC,oBAAoB,CAAC,GAAG,KAAK,CAAC;aACvC;YACD,OAAO,KAAK,CAAC,gBAAgB,CAAC;SACjC;QAED,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,UAAU,CAAC,EAAE;YAC9F,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;gBAC7B,WAAW,CAAC,sCAAsC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;aACvE;iBACI;gBACD,IAAI,KAAK,CAAC,MAAM;oBAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,kBAAkB;gBACvD,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC;oBAAE,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;gBAC7E,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;gBAC/B,IAAI,KAAK,CAAC,KAAK,EAAE;oBACb,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;oBACjC,OAAO,KAAK,CAAC,KAAK,CAAC;oBACnB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,GAAG,EAAE,GAAG,EAAE,KAAK;wBACvD,IAAI,CAAC,GAAG,KAAK,kBAAkB,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,EAAE;4BAChE,IAAI,qBAAmB,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,qBAAmB,EAAE;gCACzD,WAAW,CAAC,4CAA4C,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;6BAC7E;4BACD,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe;yBACnC;wBACD,qDAAqD;wBACrD,iCAAiC;oBACrC,CAAC,CAAC,CAAC;iBACN;gBACD,KAAiB,UAA8B,EAA9B,WAAM,CAAC,uBAAuB,EAA9B,cAA8B,EAA9B,IAA8B,EAAE;oBAA5C,IAAI,IAAI;oBACT,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW;wBAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;oBACzE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;iBACtB;aACJ;SACJ;QAED,IAAI,KAAK,CAAC,MAAM,EAAE;YACd,WAAW,CAAC,KAAK,CAAC,MAAM,EAAC,OAAO,CAAC,CAAC;SACrC;QAED,IAAI,KAAK,CAAC,wBAAwB,CAAC,EAAE;YACjC,IAAI,KAAK,CAAC,EAAE,KAAK,OAAO,EAAE,EAAE,wCAAwC;gBAChE,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC3B,OAAO,KAAK,CAAC,wBAAwB,CAAC,CAAC;aAC1C;SACJ;KACJ;IAED,IAAI,KAAK,IAAI,KAAK,CAAC,EAAE,KAAK,UAAU,EAAE;QAClC,mCAAmC;QACnC,mBAAmB,GAAG,KAAK,CAAC;QAC5B,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;QACpB,IAAI,WAAW,GAAG,mCAAmC,CAAC;QACtD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,EAAE;YACrE,WAAW,GAAG,qBAAqB,CAAC;SACvC;QAED,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,MAAM,EAAE;YACd,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAClD,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE;gBACnB,MAAM,CAAC,YAAY,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC,CAAC;aACrG;SACJ;aACI;YACD,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC;YACxC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;YACnD,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;YACnD,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAC/D,IAAI,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;YAChD,IAAI,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACvE,IAAI,KAAK,CAAC,WAAW;gBAAE,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;YAC9D,IAAI,KAAK,CAAC,OAAO;gBAAE,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAClD,IAAI,KAAK,CAAC,IAAI;gBAAE,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YAEzC,KAAiB,UAA8B,EAA9B,WAAM,CAAC,uBAAuB,EAA9B,cAA8B,EAA9B,IAA8B,EAAE;gBAA5C,IAAI,IAAI;gBACT,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW;oBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;aACtE;YACD,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,EAAE;gBACzB,IAAI,CAAC,MAAM,CAAC,QAAQ;oBAAE,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;gBAC3C,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;aAC1B;YACD,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,WAAW;gBAAE,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YACzE,IAAI,MAAM,CAAC,UAAU;gBAAE,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;YAC5D,IAAI,KAAK,CAAC,KAAK;gBAAE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,4BAA4B;YACzE,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBAC3C,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;gBAC3B,IAAI,MAAM,CAAC,KAAK,CAAC,gBAAgB;oBAAE,OAAO,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC;aAC3E;YACD,IAAI,CAAC,YAAY,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,KAAK,MAAM,CAAC,EAAE;gBACvE,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;gBACvB,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC;aAC5B;YAED,uEAAuE;YACvE,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;SACjC;KACJ;SACI,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE;QACrC,yBAAyB;QACzB,IAAI,KAAK,CAAC,QAAQ;YAAE,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QACrD,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,GAAG,EAAE,CAAC;QAChD,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC;QACvD,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;QAClE,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC;QACpE,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;KACjC;IACD,IAAI,KAAK,IAAI,KAAK,CAAC,EAAE,KAAK,MAAM,EAAE;QAC9B,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;QACpB,IAAI,KAAK,CAAC,IAAI;YAAE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3I,IAAI,KAAK,CAAC,WAAW;YAAE,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QAC9D,IAAI,KAAK,CAAC,QAAQ;YAAE,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAErD,uEAAuE;QACvE,IAAI,EAAE,IAAI,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE;YACpC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;SACnC;QACD,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE;YACnC,MAAM,CAAC,YAAY,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC,CAAC;SACrG;aACI,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE;YACvG,MAAM,CAAC,YAAY,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC;SACrH;QAED,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YAClB,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,sBAAsB;SAC5D;QAED,KAAqB,UAAQ,EAAR,qBAAQ,EAAR,sBAAQ,EAAR,IAAQ,EAAE;YAA1B,IAAI,QAAQ;YACb,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YAC9B,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;YAC5D,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAC,OAAO,CAAC,CAAC;SACxD;QAED,yEAAyE;QACzE,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;KACjC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;QAChC,KAAK,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;QAC7B,2CAA2C;QAC3C,IAAI,EAAE,EAAE;YACJ,IAAI,EAAE,CAAC,WAAW,IAAI,mBAAmB,EAAE;gBACvC,EAAE,CAAC,WAAW,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC;gBAC1C,IAAI,IAAI,GAAG,EAAE,CAAC,WAAW,IAAI,KAAK,CAAC;gBAEnC,WAAW,CAAC,YAAY,GAAG,IAAI,GAAG,6BAA6B,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;aACjF;iBACI;gBACD,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE;oBAClB,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,iBAAiB,CAAC,EAAE,EAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;iBAC7E;gBACD,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,IAAI,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;uBACtE,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;oBAC1R,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,UAAU;wBAC3D,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBAC5I,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAE,EAAE,CAAC,CAAC;oBACxM,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE;wBACvE,OAAO,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;qBACxE;iBACJ;qBACI,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,IAAI,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,mCAAmC,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;uBAChP,MAAM,CAAC,OAAO,CAAC,mCAAmC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE;oBAC/L,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,MAAM,CAAC,UAAU;wBACzE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBACxK,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAE,EAAE,CAAC,CAAC;oBAClP,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE;wBACrF,OAAO,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;qBACtF;iBACJ;qBACI;oBACD,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;oBACvD,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE;wBAC/B,IAAI,EAAE,CAAC,WAAW,CAAC,MAAM,IAAI,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE;4BACrD,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,kBAAkB,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;yBAC1I;6BACI,IAAI,EAAE,CAAC,WAAW,EAAE;4BACrB,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;yBACrE;qBACJ;iBACJ;aACJ;SACJ;KACJ;IAED,UAAU;IACV,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE;QACjC,OAAO,KAAK,CAAC,IAAI,CAAC;QAClB,KAAiB,UAA8B,EAA9B,WAAM,CAAC,uBAAuB,EAA9B,cAA8B,EAA9B,IAA8B,EAAE;YAA5C,IAAI,IAAI;YACT,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;SACtB;QAED,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,QAAQ,KAAK,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,EAAE;YACjG,IAAI,OAAO,CAAC,KAAK,EAAE;gBACf,OAAO,CAAC,OAAO,EAAE,CAAC;gBAClB,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;aACzB;iBACI;gBACD,UAAU,CAAC,qDAAqD,GAAC,KAAK,CAAC,IAAI,GAAC,MAAM,GAAC,KAAK,GAAC,GAAG,EAAE,OAAO,CAAC,CAAC;aAC1G;SACJ;KACJ;IAED,OAAO,EAAE,CAAC;AACd,CAAC;AAED,SAAS,cAAc,CAAC,GAAG,EAAE,GAAG;IAC5B,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE;QAClB,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;YACpD,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;SACzB;KACJ;AACL,CAAC;AAED,SAAS,eAAe,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO;IACzD,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5B,IAAI,QAAQ,CAAC,IAAI,IAAI,CAAC,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE;QACtD,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE;YAC9C,sGAAsG;YACtG,WAAW,CAAC,+BAA+B,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SACnF;aACI;YACD,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;gBAC1C,QAAQ,CAAC,IAAI,GAAG,yBAAyB,GAAG,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;aAC9H;SACJ;KACJ;SACI;QACD,IAAI,CAAC,OAAO,QAAQ,CAAC,WAAW,KAAK,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,IAAI,CAAC;eAC7E,CAAC,CAAC,QAAQ,CAAC,WAAW,KAAK,EAAE,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE;YACrD,IAAI,OAAO,CAAC,KAAK,EAAE;gBACf,IAAI,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE;oBAC9D,OAAO,CAAC,OAAO,EAAE,CAAC;oBAClB,QAAQ,CAAC,WAAW,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;iBACxD;aACJ;iBACI;gBACD,UAAU,CAAC,+CAA+C,EAAE,OAAO,CAAC,CAAC;aACxE;SACJ;QACD,IAAI,OAAO,QAAQ,CAAC,MAAM,KAAK,WAAW,EAAE;YAExC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAC,OAAO,CAAC,CAAC;YAErC,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;gBACvH,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,yBAAyB,GAAG,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;aAC5I;YAED,IAAI,EAAE,IAAI,EAAE,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,KAAK,QAAQ,CAAC,EAAE;gBACxD,IAAI,OAAO,CAAC,KAAK,EAAE;oBACf,OAAO,CAAC,OAAO,EAAE,CAAC;oBAClB,EAAE,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;iBAC/B;qBACI;oBACD,OAAO,UAAU,CAAC,iDAAiD,EAAE,OAAO,CAAC,CAAC;iBACjF;aACJ;YACD,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAAE,OAAO,OAAO,CAAC,QAAQ,CAAC;YAElF,IAAI,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACjG,IAAI,CAAC,QAAQ,CAAC,MAAM;gBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,sBAAsB;YAElE,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;YACtB,KAAqB,UAAQ,EAAR,qBAAQ,EAAR,sBAAQ,EAAR,IAAQ,EAAE;gBAA1B,IAAI,QAAQ;gBACb,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;gBAChC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC3D,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;oBAClD,IAAI,OAAO,GAAG,EAAE,CAAC;oBACjB,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBAC5C,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC;oBACzC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC;oBACvD,OAAO,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;iBACtC;gBACD,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE;oBACnD,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;iBAC5E;aACJ;YACD,OAAO,QAAQ,CAAC,MAAM,CAAC;SAC1B;QACD,oDAAoD;QACpD,KAAK,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAE;YACpC,IAAI,CAAC,QAAQ,CAAC,OAAO;gBAAE,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;YAC7C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YACjE,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC;YACzC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,GAAG,EAAE,CAAC;YAClD,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SACpF;QACD,OAAO,QAAQ,CAAC,QAAQ,CAAC;QAEzB,IAAI,QAAQ,CAAC,OAAO,EAAE;YAClB,KAAK,IAAI,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;gBAC5B,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,aAAa,EAAE;oBACnC,IAAI,OAAO,CAAC,KAAK,EAAE;wBACf,OAAO,CAAC,OAAO,EAAE,CAAC;wBAClB,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;qBAC9B;yBACI;wBACD,UAAU,CAAC,iDAAiD,EAAE,OAAO,CAAC,CAAC;qBAC1E;iBACJ;qBACI;oBACD,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;iBAC/C;aACJ;SACJ;KACJ;AACL,CAAC;AAED,SAAS,YAAY,CAAC,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO;IAC9E,KAAK,IAAI,CAAC,IAAI,SAAS,EAAE;QACrB,IAAI,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QACxB,6BAA6B;QAC7B,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,EAAE;YACpE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7B,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;SAC1B;QACD,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,EAAE;YACxE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;YACjC,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC;SAC5B;QACD,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,QAAQ,CAAC,EAAE;YAChF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC;SAChC;QACD,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;YACnE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;YACjC,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC;SAC5B;QACD,KAAK,IAAI,MAAM,IAAI,IAAI,EAAE;YACrB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,gCAAgC,CAAC,EAAE;gBAC5F,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;gBAEtB,IAAI,EAAE,IAAI,EAAE,CAAC,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;oBACrD,IAAI,IAAI,CAAC,UAAU,EAAE;gDACR,KAAK;4BACV,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;gCAChC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gCAC5B,KAAK,GAAG,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;6BAChD;4BACD,IAAI,KAAK,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;gCAC5C,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;4BAC5D,CAAC,CAAC,CAAC;4BAEH,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,EAAE;gCAC3F,EAAE,GAAG,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;gCACpE,IAAI,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE;oCAC7C,OAAO,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;iCAC7B;6BACJ;;wBAdL,KAAkB,UAAe,EAAf,SAAI,CAAC,UAAU,EAAf,cAAe,EAAf,IAAe;4BAA5B,IAAI,KAAK;oCAAL,KAAK;yBAeb;qBACJ;oBACD,KAAkB,UAAa,EAAb,OAAE,CAAC,UAAU,EAAb,cAAa,EAAb,IAAa,EAAE;wBAA5B,IAAI,KAAK;wBACV,EAAE,GAAG,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;qBACtF;oBACD,IAAI,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE;wBAC7C,OAAO,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;qBAC7B;oBACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;wBAChB,IAAI,EAAE,CAAC,UAAU;4BAAE,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;qBAC3E;iBACJ;gBAED,IAAI,EAAE,IAAI,EAAE,CAAC,QAAQ;oBAAE,eAAe,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;gBAEpD,mFAAmF;gBAEnF,YAAY;gBACZ,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;oBACxB,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE;wBACf,IAAI,WAAW,GAAG,EAAE,CAAC;wBACrB,WAAW,CAAC,WAAW,GAAG,kBAAkB,CAAC;wBAC7C,EAAE,CAAC,SAAS,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;qBAC3C;oBACD,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE;wBACxB,IAAI,QAAQ,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;wBAC/B,eAAe,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;qBACtD;iBACJ;gBAED,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;oBAC7D,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC;oBAC7B,OAAO,EAAE,CAAC,WAAW,CAAC,CAAC;iBAC1B;qBAAM,IAAI,EAAE,IAAI,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE;oBAC9C,KAAmB,UAAU,EAAV,OAAE,CAAC,OAAO,EAAV,cAAU,EAAV,IAAU,EAAE;wBAA1B,IAAI,MAAM;wBACX,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;4BAC7D,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE;gCACb,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC;6BACnB;4BACD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gCAChC,KAAmB,UAAe,EAAf,YAAO,CAAC,OAAO,EAAf,cAAe,EAAf,IAAe,EAAE;oCAA/B,IAAI,MAAM;oCACX,IAAI,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;oCAC9B,IAAI,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;oCACzC,SAAS,CAAC,QAAQ,GAAG,MAAM,CAAC;oCAC5B,SAAS,CAAC,GAAG,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;oCACnC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iCAC9B;6BACJ;yBACJ;qBACJ;iBACJ;gBAED,IAAI,OAAO,CAAC,KAAK,EAAE;oBACf,EAAE,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC;oBACzC,EAAE,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC;iBAC5C;gBACD,IAAI,EAAE,EAAE;oBACJ,OAAO,EAAE,CAAC,QAAQ,CAAC;oBACnB,OAAO,EAAE,CAAC,QAAQ,CAAC;oBACnB,OAAO,EAAE,CAAC,OAAO,CAAC;oBAElB,IAAI,EAAE,CAAC,eAAe,CAAC,EAAE;wBACrB,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,EAAE;4BAC/B,IAAI,OAAO,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;4BACrC,IAAI,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;4BAC/B,IAAI,OAAO,CAAC,UAAU,EAAE;gCACpB,KAAK,IAAI,GAAC,IAAI,OAAO,CAAC,UAAU,EAAE;oCAC9B,IAAI,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,GAAC,CAAC,CAAC;oCAClC,KAAkB,UAA+C,EAA/C,MAAC,EAAE,CAAC,UAAU,IAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAE,EAAE,CAAC,EAA/C,cAA+C,EAA/C,IAA+C,EAAE;wCAA9D,IAAI,KAAK;wCACV,IAAI,KAAK,CAAC,IAAI,EAAE;4CACZ,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC;yCACzC;wCACD,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,GAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;4CACxC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;gDACjB,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;6CACvB;4CACD,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC;yCACtC;qCACJ;iCACJ;6BACJ;4BACD,IAAI,OAAO,CAAC,SAAS,EAAE;gCACnB,KAAK,IAAI,CAAC,IAAI,OAAO,CAAC,SAAS,EAAE;oCAC7B,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;wCAC9B,KAAK,IAAI,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;4CACxC,IAAI,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;4CAC5C,KAAK,IAAI,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;gDACpC,IAAI,EAAE,KAAK,CAAC,EAAE;oDACV,IAAI,MAAM,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oDACzC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;iDAC1B;6CACJ;yCACJ;qCACJ;oCACD,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;wCAC3B,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;wCAC9E,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;4CAC5C,KAAK,IAAI,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;gDACpC,IAAI,WAAW,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gDAC9C,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;oDACvB,WAAW,CAAC,QAAQ,GAAG,EAAE,CAAC;iDAC7B;gDACD,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,wBAAwB,GAAC,EAAE,EAAE,CAAC;6CACnE;yCACJ;qCACJ;iCAEJ;6BACJ;yBACJ;wBACD,OAAO,EAAE,CAAC,eAAe,CAAC,CAAC;qBAC9B;oBAED,IAAI,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;wBAAE,OAAO,EAAE,CAAC,UAAU,CAAC;oBACtE,IAAI,EAAE,CAAC,WAAW,EAAE;wBAChB,IAAI,oBAAoB,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;wBAC9H,IAAI,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,oBAAoB,IAAI,EAAE,CAAC,CAAC;wBACzF,OAAO,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;wBACpC,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;wBAC3C,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAChC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE;4BAC3B,IAAI,KAAK,GAAG,EAAE,CAAC;4BACf,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC;4BACpB,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC,WAAW,CAAC;4BAC5B,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;4BAChB,gBAAgB,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;yBACpC;wBACD,IAAI,GAAG,GAAG,IAAI,GAAC,aAAa,GAAC,GAAG,GAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAC,GAAG,GAAC,MAAM,GAAC,cAAc,CAAC;wBAChG,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;qBAC3C;iBACJ;aAEJ;SACJ;QACD,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;YACzB,KAAK,IAAI,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE;gBAC5B,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBAChC,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,gCAAgC;aACnG;YACD,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;gBAClD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;aAC5D;SACJ;KACJ;AACL,CAAC;AAED,SAAS,IAAI,CAAC,OAAO,EAAE,OAAO;IAE1B,IAAI,gBAAgB,GAAG,EAAE,CAAC;IAC1B,cAAc,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAEjC,IAAI,OAAO,CAAC,QAAQ;QAAE,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAExD,KAAK,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,eAAe,EAAE;QAC9C,IAAI,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,KAAK,EAAE;YACZ,IAAI,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;gBAC3C,UAAU,CAAC,0CAA0C,GAAG,KAAK,EAAE,OAAO,CAAC,CAAC;aAC3E;YACD,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAClF,OAAO,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;SAChD;QACD,qBAAqB,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;KAC7E;IAED,KAAK,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE;QACtC,IAAI,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,IAAI,KAAK,EAAE;YACZ,OAAO,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE;gBAC/C,aAAa;gBACb,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACpC;YACD,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC3E,OAAO,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SACxC;QACD,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,MAAM,CAAC;QAC3C,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,GAAC,MAAM,CAAC,EAAC,OAAO,CAAC;KAChE;IAED,mEAAmE;IACnE,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC;IACpB,OAAO,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;IAC/D,UAAU,CAAC,OAAO,EAAC,OAAO,CAAC,CAAC;IAE5B,KAAK,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,UAAU,EAAE;QACzC,IAAI,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,KAAK,EAAE;YACZ,IAAI,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;gBACtC,UAAU,CAAC,qCAAqC,GAAG,KAAK,EAAE,OAAO,CAAC,CAAC;aACtE;YACD,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACxE,OAAO,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;SAC3C;QACD,IAAI,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACjD,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;KACtE;IAED,KAAK,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE;QACxC,IAAI,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,KAAK,EAAE;YACZ,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;gBACrC,UAAU,CAAC,oCAAoC,GAAG,KAAK,EAAE,OAAO,CAAC,CAAC;aACrE;YACD,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACtE,OAAO,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;SAC1C;QACD,IAAI,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACnD,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACzD,IAAI,QAAQ,CAAC,OAAO,EAAE;YAClB,KAAK,IAAI,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;gBAC5B,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,aAAa,EAAE;oBACnC,IAAI,OAAO,CAAC,KAAK,EAAE;wBACf,OAAO,CAAC,OAAO,EAAE,CAAC;wBAClB,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;qBAC9B;yBACI;wBACD,UAAU,CAAC,iDAAiD,EAAE,OAAO,CAAC,CAAC;qBAC1E;iBACJ;qBACI;oBACD,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;iBAC/C;aACJ;SACJ;KACJ;IAED,KAAK,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,aAAa,EAAE,EAAE,iBAAiB;QAC/D,IAAI,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;QAChB,gBAAgB,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;KACpC;IAED,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;IACzE,IAAI,OAAO,CAAC,YAAY,CAAC,EAAE;QACvB,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;KACzF;IAED,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;QAChB,KAAK,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,UAAU,EAAE;YACzC,IAAI,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,KAAK,CAAC,cAAc,CAAC,EAAE;gBACvB,OAAO,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;aAC3C;SACJ;KACJ;IAED,IAAI,OAAO,CAAC,KAAK,EAAE;QACf,OAAO,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;QACnD,OAAO,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;KACtD;IACD,OAAO,OAAO,CAAC,QAAQ,CAAC;IACxB,OAAO,OAAO,CAAC,QAAQ,CAAC;IACxB,OAAO,OAAO,CAAC,OAAO,CAAC;IAEvB,IAAI,gBAAgB,GAAG,EAAE,CAAC;IAE1B,OAAO,CAAC,UAAU,CAAC,aAAa,GAAG,EAAE,CAAC,CAAC,iCAAiC;IAExE,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;QAC1B,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,IAAI,CAAC,IAAI,gBAAgB,EAAE;YAC5B,IAAI,KAAK,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvB,8BAA8B;gBAC9B,IAAI,MAAM,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;oBACb,KAAK,CAAC,IAAI,GAAG,aAAa,CAAC;oBAC3B,aAAa;oBACb,MAAM,GAAG,OAAO,EAAE,CAAC;iBACtB;gBACD,OAAO,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE;oBACvD,yFAAyF;oBACzF,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACpC;gBACD,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC;gBACjC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAClC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjE,KAAK,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE;oBACtB,IAAI,GAAG,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,IAAI,GAAG,6BAA6B,GAAG,KAAK,CAAC,IAAI,CAAC;oBACtD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,GAAG,CAAC,CAAC;iBACxC;aACJ;SACJ;KACJ;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QACxF,OAAO,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC;KACvC;IACD,IAAI,OAAO,CAAC,UAAU,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1F,OAAO,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC;KACxC;IACD,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QACtF,OAAO,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;KACtC;IACD,IAAI,OAAO,CAAC,UAAU,CAAC,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QAChG,OAAO,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC;KAC3C;IACD,IAAI,OAAO,CAAC,UAAU,CAAC,eAAe,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QACpG,OAAO,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC;KAC7C;IACD,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QACpF,OAAO,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;KACrC;IACD,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QACpF,OAAO,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;KACrC;IACD,IAAI,OAAO,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QACpE,OAAO,OAAO,CAAC,UAAU,CAAC;KAC7B;IAED,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,SAAS,uBAAuB,CAAC,MAAM;IACnC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC;QAAE,OAAO,MAAM,CAAC;IAC9E,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,KAAK,EAAE,MAAM;QACpD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;YACnB,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;SACzB;QACD,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IACtD,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM;IACrC,IAAI,CAAC,OAAO,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE;QAClE,IAAI,OAAO,CAAC,KAAK,EAAE;YACf,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;SAC7C;aACI;YACD,OAAO,MAAM,CAAC,IAAI,QAAQ,CAAC,sCAAsC,CAAC,CAAC,CAAC;SACvE;KACJ;IACD,IAAI,CAAC,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE;QACrE,OAAO,MAAM,CAAC,IAAI,QAAQ,CAAC,wBAAwB,CAAC,CAAC,CAAC;KACzD;IACD,IAAI,CAAC,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE;QAC9E,IAAI,OAAO,CAAC,KAAK,EAAE;YACf,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;SAC3B;aACI;YACD,OAAO,MAAM,CAAC,IAAI,QAAQ,CAAC,uCAAuC,CAAC,CAAC,CAAC;SACxE;KACJ;IACD,IAAI,CAAC,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,KAAK,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,EAAE;QAClF,IAAI,OAAO,CAAC,KAAK,EAAE;YACf,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;SAC7B;aACI;YACD,OAAO,MAAM,CAAC,IAAI,QAAQ,CAAC,yCAAyC,CAAC,CAAC,CAAC;SAC1E;KACJ;IACD,IAAI,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE;QAC1C,IAAI,OAAO,CAAC,KAAK,EAAE;YACf,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;SAC1D;aACI;YACD,OAAO,MAAM,CAAC,IAAI,QAAQ,CAAC,2CAA2C,CAAC,CAAC,CAAC;SAC5E;KACJ;IACD,IAAI,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;QAC1C,IAAI,OAAO,CAAC,KAAK,EAAE;YACf,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YAC3C,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;SAC5B;;YACI,OAAO,MAAM,CAAC,IAAI,QAAQ,CAAC,gDAAgD,CAAC,CAAC,CAAC;KACtF;IACD,IAAI,OAAO,OAAO,CAAC,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;QACpD,IAAI,OAAO,CAAC,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YACtC,IAAI,OAAO,CAAC,KAAK,EAAE;gBACf,OAAO,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO,CAAC,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;aACpC;iBACI;gBACD,OAAO,MAAM,CAAC,IAAI,QAAQ,CAAC,gDAAgD,CAAC,CAAC,CAAC;aACjF;SACJ;QACD,IAAI,GAAG,CAAC,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE;YAC3B,IAAI;gBACA,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;aAC9C;YACD,OAAO,EAAE,EAAE;gBACP,IAAI,OAAO,CAAC,KAAK,EAAE;oBACf,OAAO,CAAC,OAAO,EAAE,CAAC;oBAClB,OAAO,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;iBACtC;;oBACI,OAAO,MAAM,CAAC,IAAI,QAAQ,CAAC,+CAA+C,CAAC,CAAC,CAAC;aACrF;SACJ;KACJ;AACL,CAAC;AAED,SAAS,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM;IACtC,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,WAAW,EAAE;QACtC,IAAI,OAAO,CAAC,KAAK,EAAE;YACf,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;SACtB;aACI;YACD,OAAO,MAAM,CAAC,IAAI,QAAQ,CAAC,uCAAuC,CAAC,CAAC,CAAC;SACxE;KACJ;AACL,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAG,EAAE,OAAO;IACxC,IAAM,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;IAC3B,OAAO,CAAC,GAAG,EAAE,EAAC,iBAAiB,EAAC,IAAI,EAAC,EAAE,UAAU,GAAG,EAAE,GAAG,EAAE,KAAK;QAC5D,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,EAAE;YACvD,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;gBACpB,IAAI,OAAO,CAAC,OAAO,EAAE;oBACjB,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;iBAC9B;qBACI;oBACD,UAAU,CAAC,8BAA8B,GAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;iBAClE;aACJ;iBACI;gBACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;aACtB;SACJ;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ;IAC1C,OAAO,KAAK,CAAC,QAAQ,EAAE,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM;QACxD,IAAI,CAAC,OAAO;YAAE,OAAO,GAAG,EAAE,CAAC;QAC3B,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,IAAI;YAAE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC1D,OAAO,CAAC,SAAS,GAAG,EAAE,CAAC;QACvB,OAAO,CAAC,YAAY,GAAG,EAAE,CAAC;QAC1B,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,0BAA0B;QACtD,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;QAC5B,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;QACrB,OAAO,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;QAClC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;QAChC,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,OAAO,CAAC,KAAK;YAAE,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;QACvC,IAAI,OAAO,CAAC,MAAM;YAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;QAErE,sBAAsB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAEzC,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YAC9F,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;YAClC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAC1C,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAE3C,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,2CAA2C;iBAC5E,IAAI,CAAC;gBACF,IAAI,OAAO,CAAC,MAAM,EAAE;oBAChB,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;iBACnC;qBACI;oBACD,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;iBAC3B;YACL,CAAC,CAAC;iBACD,KAAK,CAAC,UAAS,EAAE;gBACd,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACjB,MAAM,CAAC,EAAE,CAAC,CAAC;YACf,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,6CAA6C;SACxD;QAED,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC,EAAE;YAClD,OAAO,MAAM,CAAC,IAAI,QAAQ,CAAC,uCAAuC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SAChI;QAED,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;QACnC,OAAO,CAAC,OAAO,GAAG,CAAC,OAAO,OAAO,CAAC,aAAa,KAAK,QAAQ,IAAI,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,SAAS;QAE1J,IAAI,OAAO,CAAC,MAAM,EAAE;YAChB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;gBACtB,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;aAC5B;YACD,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,IAAE,OAAO,CAAC,MAAM,CAAC;YAC5C,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC;YAC1B,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YACjC,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;YACtB,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,oCAAoC,CAAC;YAC5D,MAAM,CAAC,SAAS,CAAC,OAAO,GAAG,UAAU,CAAC;YACtC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACpC;QAED,wFAAwF;QACxF,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAClD,OAAO,OAAO,CAAC,OAAO,CAAC;QACvB,OAAO,CAAC,OAAO,EAAE,EAAE,EAAE,UAAS,GAAG,EAAE,GAAG,EAAE,KAAK;YACzC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAAE,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,mCAAmC;QACzK,CAAC,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,IAAI,EAAE;YACd,KAAc,UAAyD,EAAzD,MAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAzD,cAAyD,EAAzD,IAAyD,EAAE;gBAApE,IAAI,CAAC;gBACN,IAAI,MAAM,GAAG,EAAE,CAAC;gBAChB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACjG,uBAAuB,CAAC,MAAM,CAAC,CAAC;gBAChC,IAAI,CAAC,OAAO,CAAC,OAAO;oBAAE,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;gBAC3C,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAChC;SACJ;aACI,IAAI,OAAO,CAAC,QAAQ,EAAE;YACvB,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;YAC9B,uBAAuB,CAAC,MAAM,CAAC,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,OAAO;gBAAE,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;YAC3C,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAChC;QACD,OAAO,OAAO,CAAC,IAAI,CAAC;QACpB,OAAO,OAAO,CAAC,QAAQ,CAAC;QAExB,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE;YAC7D,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;YACvC,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC;SAC/B;QAED,sDAAsD;QAEtD,IAAI,OAAO,CAAC,yBAAyB,CAAC,EAAE;YACpC,IAAI,QAAQ,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;YAClD,IAAI,QAAM,GAAG,EAAE,CAAC;YAChB,QAAM,CAAC,GAAG,GAAG,QAAQ,CAAC,YAAY,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAChF,QAAM,CAAC,SAAS,GAAG,EAAE,CAAC;YACtB,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,UAAU,EAAE;gBACjC,IAAI,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACrC,IAAI,KAAK,CAAC,IAAI,EAAE;oBACZ,KAAK,GAAG,KAAK,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;iBACvD;gBACD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;oBACvB,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,WAAW;oBAClC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,cAAc;oBACjC,OAAO,KAAK,CAAC,EAAE,CAAC,CAAC,aAAa;oBAC9B,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,WAAW,EAAE;wBACtC,IAAI,KAAK,CAAC,IAAI,EAAE;4BACZ,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;yBACjC;6BACI;4BACD,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;yBACtB;qBACJ;oBACD,QAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;oBACrC,OAAO,KAAK,CAAC,IAAI,CAAC;iBACrB;aACJ;YACD,IAAI,CAAC,OAAO,CAAC,OAAO;gBAAE,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;YAC3C,IAAI,QAAQ,CAAC,eAAe,KAAK,KAAK,EAAE;gBACpC,oDAAoD;gBACpD,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,QAAM,CAAC,CAAC;aAChC;iBAAM;gBACH,yDAAyD;gBACzD,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,MAAM;oBAC3B,OAAO,CAAC,OAAO,CAAC,IAAI,CAChB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,KAAK,GAAG,QAAM,CAAC,GAAG,EAAE,CAAC,CAClE;gBACL,CAAC,CAAC,CAAC;aACN;YACD,OAAO,OAAO,CAAC,yBAAyB,CAAC,CAAC;SAC7C;QAED,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAEnC,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE;YACtC,OAAO,CAAC,QAAQ,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SACzC;QACD,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE;YACtC,OAAO,CAAC,QAAQ,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SACzC;QAED,OAAO,CAAC,UAAU,GAAG,EAAE,CAAC;QACxB,IAAI,OAAO,CAAC,aAAa,CAAC,EAAE;YACxB,OAAO,CAAC,UAAU,CAAC,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;YACtD,OAAO,OAAO,CAAC,aAAa,CAAC,CAAC;SACjC;QACD,OAAO,CAAC,UAAU,CAAC,QAAQ,GAAG,EAAE,CAAC;QACjC,OAAO,CAAC,UAAU,CAAC,OAAO,GAAG,EAAE,CAAC;QAChC,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE;YACpB,OAAO,CAAC,UAAU,CAAC,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;YAC9C,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC;SAC7B;QACD,OAAO,CAAC,UAAU,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;QACzD,OAAO,CAAC,UAAU,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;QACvD,OAAO,CAAC,UAAU,CAAC,aAAa,GAAG,EAAE,CAAC;QACtC,OAAO,CAAC,UAAU,CAAC,eAAe,GAAG,OAAO,CAAC,mBAAmB,IAAI,EAAE,CAAC;QACvE,OAAO,CAAC,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;QACvD,OAAO,OAAO,CAAC,WAAW,CAAC;QAC3B,OAAO,OAAO,CAAC,SAAS,CAAC;QACzB,OAAO,OAAO,CAAC,UAAU,CAAC;QAC1B,OAAO,OAAO,CAAC,mBAAmB,CAAC;QAEnC,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,2CAA2C;aAC5E,IAAI,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC/B,IAAI,OAAO,CAAC,MAAM,EAAE;gBAChB,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;aAC5B;iBACI;gBACD,OAAO,CAAC,OAAO,CAAC,CAAC;aACpB;QACL,CAAC,CAAC;aACD,KAAK,CAAC,UAAS,EAAE;YACd,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,MAAM,CAAC,EAAE,CAAC,CAAC;QACf,CAAC,CAAC,CAAC;IAEP,CAAC,CAAC,CAAC,CAAC;AACR,CAAC;AAED,SAAS,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ;IACtC,OAAO,KAAK,CAAC,QAAQ,EAAE,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM;QACxD,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,IAAI;YACA,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACtB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAC,IAAI,EAAC,CAAC,CAAC,CAAC;SAC7C;QACD,OAAO,EAAE,EAAE;YACP,KAAK,GAAG,EAAE,CAAC;YACX,IAAI;gBACA,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC9D,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;gBAC1B,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC;aACtB;YACD,OAAO,EAAE,EAAE;gBACP,KAAK,GAAG,EAAE,CAAC;aACd;SACJ;QACD,IAAI,GAAG,EAAE;YACL,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC;iBACvB,IAAI,CAAC,iBAAO,IAAI,cAAO,CAAC,OAAO,CAAC,EAAhB,CAAgB,CAAC;iBACjC,KAAK,CAAC,YAAE,IAAI,aAAM,CAAC,EAAE,CAAC,EAAV,CAAU,CAAC,CAAC;SAC5B;aACI;YACD,MAAM,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC;SAC1E;IACL,CAAC,CAAC,CAAC,CAAC;AACR,CAAC;AAED,SAAS,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ;IACtC,OAAO,KAAK,CAAC,QAAQ,EAAE,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM;QACxD,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACjB,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC;SACxB;QACD,IAAI,OAAO,CAAC,OAAO,EAAE;YACjB,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;SAC9B;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YAClB,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;SACvB;QACD,IAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,YAAY,EAAE,EAAC,KAAK,EAAC,OAAO,CAAC,KAAK,EAAC,CAAC,CAAC;QACpF,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG;YAC/C,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;gBAAE,MAAM,IAAI,QAAQ,CAAC,0BAAwB,GAAG,CAAC,MAAM,UAAK,GAAK,CAAC,CAAC;YACzF,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI;YAClB,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC;iBACxB,IAAI,CAAC,iBAAO,IAAI,cAAO,CAAC,OAAO,CAAC,EAAhB,CAAgB,CAAC;iBACjC,KAAK,CAAC,YAAE,IAAI,aAAM,CAAC,EAAE,CAAC,EAAV,CAAU,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,GAAG;YAClB,MAAM,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC,CAAC;AACR,CAAC;AAED,SAAS,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ;IAC5C,OAAO,KAAK,CAAC,QAAQ,EAAE,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM;QACxD,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,MAAM,EAAE,UAAU,GAAG,EAAE,CAAC;YAC9D,IAAI,GAAG,EAAE;gBACL,MAAM,CAAC,GAAG,CAAC,CAAC;aACf;iBACI;gBACD,OAAO,CAAC,UAAU,GAAG,QAAQ,CAAC;gBAC9B,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC;qBACrB,IAAI,CAAC,iBAAO,IAAI,cAAO,CAAC,OAAO,CAAC,EAAhB,CAAgB,CAAC;qBACjC,KAAK,CAAC,YAAE,IAAI,aAAM,CAAC,EAAE,CAAC,EAAV,CAAU,CAAC,CAAC;aAC5B;QACL,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC,CAAC;AACR,CAAC;AAED,SAAS,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ;IAC9C,OAAO,KAAK,CAAC,QAAQ,EAAE,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM;QACxD,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK;YAC/B,IAAI,IAAI,KAAK,CAAC;QAClB,CAAC,CAAC;aACD,EAAE,CAAC,KAAK,EAAE;YACP,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC;iBACxB,IAAI,CAAC,iBAAO,IAAI,cAAO,CAAC,OAAO,CAAC,EAAhB,CAAgB,CAAC;iBACjC,KAAK,CAAC,YAAE,IAAI,aAAM,CAAC,EAAE,CAAC,EAAV,CAAU,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC,CAAC;AACR,CAAC;AAED,MAAM,CAAC,OAAO,GAAG;IACb,QAAQ,EAAE,QAAQ;IAClB,aAAa,EAAE,aAAa;IAC5B,OAAO,EAAE,UAAU;IACnB,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE,UAAU;IACtB,WAAW,EAAE,WAAW;IACxB,aAAa,EAAE,aAAa;CAC/B,CAAC;;;;;;;;ACtnDW;;AAEb;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,6BAA6B,0BAA0B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrCA,yD;;;;;;ACAA,sC;;;;;;ACAA,uC;;;;;;ACAA,0C;;;;;;;ACAa;;AAEb,IAAM,EAAE,GAAG,mBAAO,CAAC,EAAI,CAAC,CAAC;AACzB,IAAM,IAAI,GAAG,mBAAO,CAAC,EAAM,CAAC,CAAC;AAC7B,IAAM,GAAG,GAAG,mBAAO,CAAC,CAAK,CAAC,CAAC;AAE3B,IAAM,KAAK,GAAG,mBAAO,CAAC,EAAe,CAAC,CAAC;AACvC,IAAM,IAAI,GAAG,mBAAO,CAAC,EAAM,CAAC,CAAC;AAE7B,IAAM,IAAI,GAAG,mBAAO,CAAC,EAAsB,CAAC,CAAC,IAAI,CAAC;AAClD,IAAM,OAAO,GAAG,mBAAO,CAAC,EAAyB,CAAC,CAAC,OAAO,CAAC;AAC3D,IAAM,KAAK,GAAG,mBAAO,CAAC,EAAuB,CAAC,CAAC,KAAK,CAAC;AACrD,IAAM,KAAK,GAAG,mBAAO,CAAC,EAA6B,CAAC,CAAC,WAAW,CAAC;AACjE,IAAM,KAAK,GAAG,mBAAO,CAAC,EAAuB,CAAC,CAAC,KAAK,CAAC;AACrD,IAAM,MAAM,GAAG,mBAAO,CAAC,EAAgB,CAAC,CAAC;AAEzC,SAAS,MAAM,CAAC,GAAG;IACf,8BAAY,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE;AAC9B,CAAC;AAED,SAAS,aAAa,CAAC,QAAQ,EAAE,QAAQ;IACrC,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM;QACxC,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,GAAG,EAAE,IAAI;YAC/C,IAAI,GAAG;gBACH,MAAM,CAAC,GAAG,CAAC,CAAC;;gBAEZ,OAAO,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO;IAEpE,IAAI,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,GAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEhE,IAAI,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC,mEAAmE;IAClF,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,OAAO,OAAO,EAAE;QACZ,OAAO,GAAG,CAAC,CAAC;QACZ,OAAO,CAAC,GAAG,EAAE,EAAC,iBAAiB,EAAC,IAAI,EAAC,EAAE,UAAU,GAAG,EAAE,GAAG,EAAE,KAAK;YAC5D,IAAI,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;gBACjB,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;oBAC1B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;wBAChC,IAAI,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBAC5C,IAAI,OAAO,CAAC,OAAO,GAAC,CAAC;4BAAE,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAC,qBAAqB,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBACxJ;;;;;0BAKE;wBACF,IAAI,MAAM,KAAK,KAAK,EAAE;4BAClB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,0CAA0C;4BACzE,IAAI,OAAO,CAAC,KAAK,EAAE;gCACf,IAAI,EAAE,GAAG,IAAI,KAAK,CAAC,kCAAkC,GAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gCAChE,IAAI,OAAO,CAAC,OAAO;oCAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;;oCAC1C,MAAK,CAAC,EAAE,CAAC,CAAC;6BAClB;yBACJ;6BACI;4BACD,OAAO,EAAE,CAAC;4BACV,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;4BAClC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAC,EAAE,CAAC,CAAC;yBACrD;qBACJ;yBACI;wBACD,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;4BACb,IAAI,MAAM,GAAG,CAAC,WAAW,GAAC,GAAG,GAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;4BACrE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;4BAC9E,IAAI,OAAO,CAAC,OAAO,GAAC,CAAC;gCAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAC,MAAM,CAAC,CAAC;4BAC7D,OAAO,EAAE,CAAC;yBACb;wBACD;;;;0BAIE;qBACL;iBACJ;qBACI,IAAI,OAAO,CAAC,QAAQ,EAAE;oBACvB,IAAI,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACnD,IAAI,OAAO,CAAC,OAAO,GAAC,CAAC;wBAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAC,4BAA4B,EAAC,GAAG,CAAC,GAAG,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACjI,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;oBACzB,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;iBACrB;qBACI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;oBACrB,IAAI,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACnD,IAAI,OAAO,CAAC,OAAO,GAAC,CAAC;wBAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAC,wBAAwB,EAAC,GAAG,CAAC,GAAG,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC7H,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,qDAAqD;oBAC/E,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;iBACrB;aACJ;QACL,CAAC,CAAC,CAAC;KACN;IAED,OAAO,CAAC,GAAG,EAAC,EAAE,EAAC,UAAS,GAAG,EAAC,GAAG,EAAC,KAAK;QACjC,IAAI,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;YACjB,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,WAAW;gBAAE,OAAO,GAAG,CAAC,MAAM,CAAC;SAC5D;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,OAAO,GAAC,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IACpE,OAAO,GAAG,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,IAAI,EAAE,OAAO;IAC7B,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAC7D,KAAmB,UAAe,EAAf,YAAO,CAAC,OAAO,EAAf,cAAe,EAAf,IAAe,EAAE;QAA/B,IAAI,MAAM;QACX,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KAChC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,YAAY,CAAC,KAAK,EAAE,MAAM;IAC/B,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IAC/C,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,SAAS,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ;IACrD,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3D,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,2BAA2B;IACjD,IAAI,CAAC,GAAG;QAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,4BAA4B;IAClD,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;QACzB,QAAQ,GAAG,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QACjC,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;KAC7B;IACD,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEtB,IAAI,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5B,IAAI,iBAAiB,GAAG,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;IAE9D,IAAI,MAAM,CAAC;IACX,IAAI,iBAAiB,KAAK,OAAO,EAAE;QAC/B,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;KAC1D;SACI;QACD,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;KACzD;IAED,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;QACvB,IAAI,OAAO,CAAC,OAAO;YAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC9D;;;UAGE;QACF,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3C,IAAI,IAAI,GAAG,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC;QACzC,IAAI,QAAQ,EAAE;YACV,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC5B,IAAI,IAAI,KAAK,KAAK,EAAE;gBAChB,IAAI,GAAG,EAAE,CAAC,CAAC,uCAAuC;gBAClD,IAAI,OAAO,CAAC,KAAK,EAAE;oBACf,IAAI,EAAE,GAAG,IAAI,KAAK,CAAC,gCAAgC,GAAC,MAAM,GAAC,QAAQ,CAAC,CAAC;oBACrE,IAAI,OAAO,CAAC,OAAO;wBAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;;wBAC1C,MAAK,CAAC,EAAE,CAAC,CAAC;iBAClB;aACJ;SACJ;QACD,IAAI,GAAG,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC7E,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACjC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACvC,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KAChC;IAED,IAAI,OAAO,CAAC,OAAO;QAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAE3D,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;QACzD,OAAO,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC;aACvE,IAAI,CAAC,UAAU,IAAI;YAChB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;YAC3B,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACjC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;YAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAChC,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;aACD,KAAK,CAAC,UAAS,EAAE;YACd,IAAI,OAAO,CAAC,OAAO;gBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtC,MAAK,CAAC,EAAE,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;KACV;SACI,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QAChE,IAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACvF,OAAO,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC;aACrC,IAAI,CAAC,UAAU,GAAG;YACf,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,0BAAwB,GAAG,CAAC,MAAM,UAAK,MAAQ,CAAC,CAAC;YACzF,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC,CAAC;aACD,IAAI,CAAC,UAAU,IAAI;YAChB,IAAI;gBACA,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,EAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtE,IAAI,GAAG,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC;gBACrC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;gBACpC,yFAAyF;gBACzF,IAAI,QAAQ,EAAE;oBACV,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;oBAC5B,IAAI,IAAI,KAAK,KAAK,EAAE;wBAChB,IAAI,GAAG,EAAE,CAAC,CAAC,0CAA0C;wBACrD,IAAI,OAAO,CAAC,KAAK,EAAE;4BACf,IAAI,EAAE,GAAG,IAAI,KAAK,CAAC,gCAAgC,GAAC,MAAM,GAAC,QAAQ,CAAC,CAAC;4BACrE,IAAI,OAAO,CAAC,OAAO;gCAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;;gCAC1C,MAAK,CAAC,EAAE,CAAC,CAAC;yBAClB;qBACJ;iBACJ;gBACD,IAAI,GAAG,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC7E,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;aACpC;YACD,OAAO,EAAE,EAAE;gBACP,IAAI,OAAO,CAAC,OAAO;oBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACtC,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK;oBAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;;oBAC3D,MAAK,CAAC,EAAE,CAAC,CAAC;aAClB;YACD,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAChC,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;aACD,KAAK,CAAC,UAAU,GAAG;YAChB,IAAI,OAAO,CAAC,OAAO;gBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YAC3B,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK;gBAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;;gBAC5D,MAAK,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;KACV;SACI;QACD,OAAO,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC;aACnD,IAAI,CAAC,UAAU,IAAI;YAChB,IAAI;gBACA,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,EAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtE,IAAI,GAAG,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC;gBACrC;;kBAEE;gBACF,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,QAAQ,EAAE;oBACV,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;oBAC5B,IAAI,IAAI,KAAK,KAAK,EAAE;wBAChB,IAAI,GAAG,EAAE,CAAC,CAAC,0CAA0C;wBACrD,IAAI,OAAO,CAAC,KAAK,EAAE;4BACf,IAAI,EAAE,GAAG,IAAI,KAAK,CAAC,8BAA8B,GAAC,MAAM,GAAC,QAAQ,CAAC,CAAC;4BACnE,IAAI,OAAO,CAAC,OAAO;gCAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;;gCAC1C,MAAK,CAAC,EAAE,CAAC,CAAC;yBAClB;qBACJ;iBACJ;gBACD,IAAI,GAAG,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC7E,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;aACpC;YACD,OAAO,EAAE,EAAE;gBACP,IAAI,OAAO,CAAC,OAAO;oBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACtC,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK;oBAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;;oBAC3D,MAAK,CAAC,EAAE,CAAC,CAAC;aAClB;YACD,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAChC,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;aACD,KAAK,CAAC,UAAS,GAAG;YACf,IAAI,OAAO,CAAC,OAAO;gBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvC,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK;gBAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;;gBAC5D,MAAK,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;KACV;AACL,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAO;IAC7B,OAAO,IAAI,OAAO,CAAC,UAAU,GAAG,EAAE,GAAG;QAEjC,SAAS,KAAK,CAAC,GAAG,EAAC,GAAG,EAAC,KAAK;YACxB,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAC,MAAM,CAAC,EAAE;gBACpC,IAAI,MAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACzB,IAAI,CAAC,MAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,cAAc;oBAEvC,IAAI,MAAM,GAAG,EAAE,CAAC;oBAEhB,IAAI,CAAC,IAAI,CAAC,MAAI,CAAC,EAAE;wBACb,IAAI,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAS,CAAC,EAAC,CAAC,EAAC,CAAC;4BACjD,OAAO,MAAI,CAAC,UAAU,CAAC,CAAC,GAAC,GAAG,CAAC,CAAC;wBAClC,CAAC,CAAC,CAAC;wBACH,IAAI,SAAS,EAAE;4BACX,IAAI,OAAO,CAAC,OAAO;gCAAE,OAAO,CAAC,IAAI,CAAC,8BAA8B,EAAC,SAAS,CAAC,CAAC;4BAC5E,MAAM,GAAG,GAAG,GAAC,CAAC,MAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAE,EAAE,CAAC,CAAC;4BAC3E,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;4BACtD,MAAI,GAAG,SAAS,CAAC;yBACpB;qBACJ;oBAED,IAAI,CAAC,IAAI,CAAC,MAAI,CAAC,EAAE;wBACb,IAAI,CAAC,MAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAC,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;qBAC7F;oBACD,IAAI,IAAI,CAAC,MAAI,CAAC,CAAC,QAAQ,EAAE;wBACrB,IAAI,OAAO,CAAC,WAAW,EAAE;4BACrB,wBAAwB;4BACxB,IAAI,MAAM,GAAG,IAAI,CAAC,MAAI,CAAC,CAAC,UAAU,CAAC;4BACnC,IAAI,OAAO,CAAC,OAAO,GAAC,CAAC;gCAAE,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,MAAI,EAAE,MAAM,CAAC,CAAC;4BACnE,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,MAAI,CAAC;4BAC1B,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,MAAM,GAAC,MAAM,CAAC,CAAC,gCAAgC;yBAClE;6BACI;4BACD,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gCAAgC;yBACtE;qBACJ;yBACI;wBACD,IAAI,CAAC,MAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAClC,IAAI,CAAC,MAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;qBAC1C;iBACJ;aACJ;QACL,CAAC;QAED,IAAI,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC;QAEhC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,GAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC1E,iEAAiE;YACjE,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;SACpB;QAED,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,EAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAC,EAAE,KAAK,CAAC,CAAC;QAC9F,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAC,EAAE,KAAK,CAAC,CAAC;QAC5F,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAC,iBAAiB,EAAE,IAAI,EAAC,EAAE,KAAK,CAAC,CAAC;QAE3D,GAAG,CAAC,IAAI,CAAC,CAAC;IACd,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAO;IAC7B,OAAO,IAAI,OAAO,CAAC,UAAU,GAAG,EAAE,GAAG;QAEjC,gBAAgB,CAAC,OAAO,CAAC;aACxB,IAAI,CAAC,UAAU,IAAI;oCACP,GAAG;gBAER,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;oBACrB,IAAI,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;oBACnC,IAAI,KAAK,GAAC,CAAC;wBAAE,KAAK,EAAE,CAAC;oBACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;wBACjC,OAAO,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,IAAI,EAAE,MAAM,EAAE,OAAO;4BACjF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;gCACrB,IAAI,QAAQ,GAAG,EAAE,CAAC;gCAClB,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;gCAC7B,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;gCACpB,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;gCAChC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;gCACxB,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;gCACzB,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gCACjC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;6BAC7B;4BAED,IAAI,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE;gCACtD,QAAQ,EAAE,EAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO;oCAC5C,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;4BAC/E,IAAI,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,WAAW;gCAC3D,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,EAAE;gCAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC;6BAC5C;4BACD,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;4BAEtB,oEAAoE;4BACpE,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;4BACvC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAS,CAAC,EAAC,CAAC;gCACjC,IAAM,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC;gCAChF,IAAM,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC;gCAChF,IAAI,KAAK,IAAI,CAAC,KAAK;oCAAE,OAAO,CAAC,CAAC,CAAC;gCAC/B,IAAI,KAAK,IAAI,CAAC,KAAK;oCAAE,OAAO,CAAC,CAAC,CAAC;gCAC/B,OAAO,CAAC,CAAC;4BACb,CAAC,CAAC,CAAC;4BAEH,KAAgB,UAAQ,EAAR,qBAAQ,EAAR,sBAAQ,EAAR,IAAQ,EAAE;gCAArB,IAAI,GAAG;gCACR,yEAAyE;gCACzE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAC,CAAC,CAAC,EAAE;oCAC7F,IAAI,OAAO,CAAC,OAAO,GAAC,CAAC;wCAAE,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;oCACxE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,GAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,GAAG,GAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,gCAAgC;iCAC1J;qCACI;oCACD,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE;wCACtB,IAAI,OAAO,CAAC,OAAO,GAAC,CAAC;4CAAE,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;qCACtE;yCACI;wCACD,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC;wCAC3B,IAAI,OAAO,CAAC,OAAO,GAAC,CAAC;4CAAE,OAAO,CAAC,IAAI,CAAC,mCAAmC,EAAE,GAAG,CAAC,CAAC;qCACjF;oCACD,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;oCACxB,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,gCAAgC;iCACtE;6BACJ;4BACD,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;gCACpE,oHAAoH;gCACpH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,OAAO,gBAAgB,CAAC,YAAY,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,0CAA0C;6BAChK;wBACL,CAAC,CAAC,CAAC;oBACP,CAAC,CAAC,CAAC;iBACN;;YA7DL,KAAK,IAAI,GAAG,IAAI,IAAI;wBAAX,GAAG;aA8DX;QACL,CAAC,CAAC;aACD,KAAK,CAAC,UAAS,EAAE;YACd,IAAI,OAAO,CAAC,OAAO;gBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtC,GAAG,CAAC,EAAE,CAAC,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,IAAI,MAAM,GAAG,EAAC,OAAO,EAAC,OAAO,EAAC,CAAC;QAC/B,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClE,GAAG,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,IAAM,MAAM,GAAG,eAAK;IAChB,YAAK,CAAC,MAAM,CAAC,UAAC,OAAO,EAAE,IAAI;QACvB,cAAO,CAAC,IAAI,CAAC,gBAAM,IAAI,WAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAhD,CAAgD,CAAC;IAAxE,CAAwE,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AADlG,CACkG,CAAC;AAEvG,SAAS,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClC,gBAAgB,CAAC,OAAO,CAAC;SACpB,IAAI,CAAC,UAAU,IAAI;QAChB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;aACf,IAAI,CAAC;YACF,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE;gBACzD,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;gBACpD,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;aACpB;iBAAM;gBACH,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACzB,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE;oBACzD,UAAU,CAAC;wBACP,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;oBAC3C,CAAC,EAAE,CAAC,CAAC,CAAC;iBACT;qBACI;oBACD,IAAI,OAAO,CAAC,OAAO,GAAC,CAAC;wBAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAC,+BAA+B,EAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC/G,IAAI,OAAO,CAAC,eAAe,EAAE;wBACzB,IAAI,OAAO,CAAC,OAAO,GAAC,CAAC;4BAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAC,+BAA+B,EAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBAC/G,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAC,OAAO,CAAC,QAAQ,EAAC,EAAC,OAAO,EAAC,OAAO,CAAC,OAAO,GAAC,CAAC,EAAC,CAAC,CAAC;wBACtF,IAAI,OAAO,CAAC,OAAO,GAAC,CAAC;4BAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAC,+BAA+B,EAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;qBAClH;oBACD,OAAO,CAAC,OAAO,CAAC,OAAO,EAAC,EAAE,EAAC,UAAS,GAAG,EAAC,GAAG,EAAC,KAAK;wBAC7C,IAAI,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;4BACjB,IAAI,CAAC,OAAO,CAAC,YAAY;gCAAE,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC;yBACnD;oBACL,CAAC,CAAC,CAAC;oBACH,GAAG,CAAC,OAAO,CAAC,CAAC;iBAChB;aACJ;QACL,CAAC,CAAC;aACD,KAAK,CAAC,UAAU,EAAE;YACf,IAAI,OAAO,CAAC,OAAO;gBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtC,GAAG,CAAC,EAAE,CAAC,CAAC;QACZ,CAAC,CAAC,CAAC;IACX,CAAC,CAAC;SACD,KAAK,CAAC,UAAS,EAAE;QACd,IAAI,OAAO,CAAC,OAAO;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtC,GAAG,CAAC,EAAE,CAAC,CAAC;IACZ,CAAC,CAAC,CAAC;AACX,CAAC;AAED,SAAS,YAAY,CAAC,OAAO;IACzB,IAAI,CAAC,OAAO,CAAC,KAAK;QAAE,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;IACvC,IAAI,CAAC,OAAO,CAAC,KAAK;QAAE,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;IAE1C,IAAI,OAAO,CAAC,MAAM,EAAE;QAChB,IAAI,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,EAAE,wBAAwB;YAC3E,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SACjD;KACJ;IAED,IAAI,CAAC,OAAO,CAAC,SAAS;QAAE,OAAO,CAAC,SAAS,GAAG,EAAE,CAAC;IAC/C,IAAI,CAAC,OAAO,CAAC,YAAY;QAAE,OAAO,CAAC,YAAY,GAAG,EAAE,CAAC;IACrD,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAC;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC;AACpC,CAAC;AAED,iDAAiD;AACjD,SAAS,eAAe,CAAC,OAAO;IAC5B,YAAY,CAAC,OAAO,CAAC,CAAC;IACtB,OAAO,IAAI,OAAO,CAAC,UAAU,GAAG,EAAE,GAAG;QACjC,IAAI,OAAO,CAAC,OAAO;YACf,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC;;YAEjC,GAAG,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,OAAO,CAAC,OAAO,EAAC,MAAM,EAAC,OAAO;IACnC,IAAI,CAAC,OAAO;QAAE,OAAO,GAAG,EAAE,CAAC;IAC3B,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;IAC1B,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;IACxB,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IACvB,YAAY,CAAC,OAAO,CAAC,CAAC;IACtB,OAAO,IAAI,OAAO,CAAC,UAAU,GAAG,EAAE,GAAG;QACjC,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC;IACrC,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,OAAO,GAAG;IACb,eAAe,EAAE,eAAe;IAChC,OAAO,EAAE,OAAO;CACnB,CAAC;;;;;;;;ACnfW;AAEb,IAAM,OAAO,GAAG,mBAAO,CAAC,EAAc,CAAC,CAAC,OAAO,CAAC;AAChD,IAAM,KAAK,GAAG,mBAAO,CAAC,EAAY,CAAC,CAAC,YAAY,CAAC;AACjD,IAAM,IAAI,GAAG,mBAAO,CAAC,EAAW,CAAC,CAAC,IAAI,CAAC;AACvC,IAAM,KAAK,GAAG,mBAAO,CAAC,EAAY,CAAC,CAAC,KAAK,CAAC;AAE1C,IAAI,SAAS,GAAG,UAAU,OAAO;IAC7B,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE;QAC5B,OAAO;YACH,IAAI,EAAE;gBACF,IAAI,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACjD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACtC,CAAC;SACJ;KACJ;SACI;QACD,OAAO;YACH,IAAI,EAAE;gBACF,KAAK;YACT,CAAC;SACJ;KACJ;AACL,CAAC;AAED;;;;;;EAME;AACF,SAAS,WAAW,CAAC,CAAC,EAAC,WAAW,EAAC,OAAO;IACtC,IAAI,CAAC,OAAO;QAAE,OAAO,GAAG,EAAE,CAAC;IAC3B,IAAI,CAAC,OAAO,CAAC,KAAK;QAAE,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;IACvC,IAAI,CAAC,OAAO,CAAC,KAAK;QAAE,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;IACvC,OAAO,CAAC,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC;IACvC,mEAAmE;IACnE,OAAO,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,SAAS,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IAC9B,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IAClE,8DAA8D;IAC9D,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC;IAE1C,IAAI,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAEhC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,OAAO,OAAO,GAAG,CAAC,EAAE;QAChB,OAAO,GAAG,CAAC,CAAC;QAChB,OAAO,CAAC,SAAS,EAAC,OAAO,CAAC,KAAK,EAAC,UAAS,GAAG,EAAC,GAAG,EAAC,KAAK;YAClD,IAAI,KAAK,CAAC,GAAG,EAAC,GAAG,CAAC,EAAE;gBAChB,IAAI,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY;gBACjC,OAAO,EAAE,CAAC;gBACV,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;oBACtB,IAAI,KAAK,GAAG,EAAE,CAAC;oBACf,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1C,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;oBACjB,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAC,IAAI,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAClD,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;oBACpB,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC1C,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE;wBACtB,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAC5C,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;qBACjC;oBACD,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE;wBACtB,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC;qBAChD;oBACD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;oBAC5B,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAC,KAAK,CAAC,GAAG,CAAC,EAAC,KAAK,CAAC,MAAM,EAAC,OAAO,CAAC,CAAC;oBACvG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC;wBAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;oBACpH,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;iBACzB;qBACI;oBACD,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAChC,IAAI,KAAK,CAAC,QAAQ,EAAE;wBAChB,mDAAmD;wBACnD,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAC,IAAI,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAClD,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;wBACtC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC;4BAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;qBACvH;yBACI,IAAI,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE;wBAC1B,6BAA6B;wBAC7B,MAAM,IAAI,KAAK,CAAC,qBAAmB,KAAK,CAAC,IAAM,CAAC,CAAC;qBACpD;yBACI;wBACD,+CAA+C;wBAC/C,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;wBAC9B,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBACzD,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE;4BACpC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC;yBAC3D;wBACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC;4BAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;qBAC3G;iBACJ;aACJ;QACL,CAAC,CAAC,CAAC;KACF;IACD,OAAO,SAAS,CAAC,IAAI,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,OAAO,GAAG;IACb,WAAW,EAAG,WAAW;CAC5B,CAAC;;;;;;;ACvGF,gD;;;;;;;ACAa;AAEb;;;EAGE;AAEF;;;;EAIE;AACF,SAAS,eAAe;IACpB,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;AACjG,CAAC;AAED;;;;;;EAME;AACF,SAAS,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ;IAE/C,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,WAAW;QAAE,KAAK,GAAG,eAAe,EAAE,CAAC;IAClE,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,MAAM,KAAK,WAAW,CAAC;QAAE,OAAO,MAAM,CAAC;IACxE,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE;QACpC,IAAI,IAAI,GAAG,EAAC,IAAI,EAAC,MAAM,CAAC,IAAI,EAAC,CAAC;QAC9B,IAAI,KAAK,CAAC,gBAAgB,IAAI,MAAM,CAAC,WAAW,EAAE;YAC9C,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;SACzC;QACD,QAAQ,CAAC,IAAI,EAAC,MAAM,EAAC,KAAK,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC,CAAC,wCAAwC;KACxD;IAED,IAAI,KAAK,CAAC,OAAO,EAAE;QACf,IAAI,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1E,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAC,MAAM,CAAC,CAAC;YAClD,OAAO,MAAM,CAAC,KAAK,CAAC;SACvB;QACD,IAAI,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1E,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAC,MAAM,CAAC,CAAC;YAClD,OAAO,MAAM,CAAC,KAAK,CAAC;SACvB;QACD,IAAI,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1E,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAC,MAAM,CAAC,CAAC;YAClD,OAAO,MAAM,CAAC,KAAK,CAAC;SACvB;KACJ;IAED,QAAQ,CAAC,MAAM,EAAC,MAAM,EAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;QACxB,OAAO,MAAM,CAAC;KACjB;IACD,MAAM;IACN,IAAI,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAC,IAAI,CAAC,CAAC;IACnF,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC;IAClB,KAAK,CAAC,KAAK,EAAE,CAAC;IAEd,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,WAAW,EAAE;QACrC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;QACzB,UAAU,CAAC,MAAM,CAAC,KAAK,EAAC,MAAM,EAAC,KAAK,EAAC,QAAQ,CAAC,CAAC;KAClD;IACD,IAAI,MAAM,CAAC,eAAe,EAAE;QACxB,IAAI,OAAO,MAAM,CAAC,eAAe,KAAK,QAAQ,EAAE;YAC5C,KAAK,CAAC,QAAQ,GAAG,iBAAiB,CAAC;YACnC,UAAU,CAAC,MAAM,CAAC,eAAe,EAAC,MAAM,EAAC,KAAK,EAAC,QAAQ,CAAC,CAAC;SAC5D;KACJ;IACD,IAAI,MAAM,CAAC,oBAAoB,EAAE;QAC7B,IAAI,OAAO,MAAM,CAAC,oBAAoB,KAAK,QAAQ,EAAE;YACjD,KAAK,CAAC,QAAQ,GAAG,sBAAsB,CAAC;YACxC,UAAU,CAAC,MAAM,CAAC,oBAAoB,EAAC,MAAM,EAAC,KAAK,EAAC,QAAQ,CAAC,CAAC;SACjE;KACJ;IACD,IAAI,MAAM,CAAC,UAAU,EAAE;QACnB,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,EAAE;YAChC,IAAI,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACxC,KAAK,CAAC,QAAQ,GAAG,aAAa,GAAC,IAAI,CAAC;YACpC,UAAU,CAAC,SAAS,EAAC,MAAM,EAAC,KAAK,EAAC,QAAQ,CAAC,CAAC;SAC/C;KACJ;IACD,IAAI,MAAM,CAAC,iBAAiB,EAAE;QAC1B,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,iBAAiB,EAAE;YACvC,IAAI,SAAS,GAAG,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC/C,KAAK,CAAC,QAAQ,GAAG,oBAAoB,GAAC,IAAI,CAAC;YAC3C,UAAU,CAAC,SAAS,EAAC,MAAM,EAAC,KAAK,EAAC,QAAQ,CAAC,CAAC;SAC/C;KACJ;IACD,IAAI,MAAM,CAAC,KAAK,EAAE;QACd,KAAK,IAAI,KAAK,IAAI,MAAM,CAAC,KAAK,EAAE;YAC5B,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpC,KAAK,CAAC,QAAQ,GAAG,QAAQ,GAAC,KAAK,CAAC;YAChC,UAAU,CAAC,SAAS,EAAC,MAAM,EAAC,KAAK,EAAC,QAAQ,CAAC,CAAC;SAC/C;KACJ;IACD,IAAI,MAAM,CAAC,KAAK,EAAE;QACd,KAAK,IAAI,KAAK,IAAI,MAAM,CAAC,KAAK,EAAE;YAC5B,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpC,KAAK,CAAC,QAAQ,GAAG,QAAQ,GAAC,KAAK,CAAC;YAChC,UAAU,CAAC,SAAS,EAAC,MAAM,EAAC,KAAK,EAAC,QAAQ,CAAC,CAAC;SAC/C;KACJ;IACD,IAAI,MAAM,CAAC,KAAK,EAAE;QACd,KAAK,IAAI,KAAK,IAAI,MAAM,CAAC,KAAK,EAAE;YAC5B,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpC,KAAK,CAAC,QAAQ,GAAG,QAAQ,GAAC,KAAK,CAAC;YAChC,UAAU,CAAC,SAAS,EAAC,MAAM,EAAC,KAAK,EAAC,QAAQ,CAAC,CAAC;SAC/C;KACJ;IACD,IAAI,MAAM,CAAC,GAAG,EAAE;QACZ,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;QACvB,UAAU,CAAC,MAAM,CAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC,QAAQ,CAAC,CAAC;KAChD;IACD,KAAK,CAAC,KAAK,EAAE,CAAC;IACd,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,OAAO,GAAG;IACb,eAAe,EAAE,eAAe;IAChC,UAAU,EAAE,UAAU;CACzB,CAAC;;;;;;;;AC1HW;AAEb,IAAM,IAAI,GAAG,mBAAO,CAAC,EAAM,CAAC,CAAC;AAE7B,IAAM,IAAI,GAAG;IACT,SAAS,EAAE,kBAAkB;IAC7B,KAAK,EAAE,eAAe;IACtB,KAAK,EAAE,aAAa;IACpB,KAAK,EAAE,YAAY;IACnB,KAAK,EAAE,aAAa;IACpB,KAAK,EAAE,cAAc;IACrB,KAAK,EAAE,cAAc;IACrB,KAAK,EAAE,iBAAiB,CAAC,kBAAkB;CAC9C,CAAC;AAEF,MAAM,CAAC,OAAO,GAAG;IACb,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAC,IAAI,EAAC,IAAI,CAAC,YAAY,CAAC;CACxD,CAAC;;;;;;;ACjBF,kEAAoB,mBAAO,CAAC,EAAe;AAC3C,eAAe,mBAAO,CAAC,EAAgB;AACvC,aAAa,mBAAO,CAAC,EAAO;AAC5B,kBAAkB,mBAAO,CAAC,EAAsB;AAChD,UAAU,mBAAO,CAAC,CAAK;;AAEvB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;ACpFA,gFAAiB,mBAAO,CAAC,EAAc;AACvC,eAAe,mBAAO,CAAC,EAAU;AACjC,eAAe,mBAAO,CAAC,EAAY;AACnC,aAAa,mBAAO,CAAC,EAAiB;AACtC,oBAAoB,mBAAO,CAAC,EAAgB;;AAE5C;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,IAAI;AACJ,2CAA2C;AAC3C,IAAI;AACJ,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,GAAG;AACH;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,oCAAoC;;AAEpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtUA,sC;;;;;;ACAA,oC;;;;;;ACAA,oC;;;;;;ACAA,2C;;;;;;ACAA,kC;;;;;;ACAA,iD;;;;;;;;;;;;ACAA,6D;;;;;;ACAA,0D;;;;;;ACAA,8D;;;;;;ACAA,qE;;;;;;ACAA,4D;;;;;;ACAA,+D;;;;;;ACAA,2D;;;;;;ACAA,6D;;;;;;ACAA,6D;;;;;;ACAA,4D;;;;;;ACAA,0E;;;;;;ACAA,+D;;;;;;ACAA,mE;;;;;;ACAA,6D;;;;;;ACAA,4D;;;;;;ACAA,+D;;;;;;ACAA,6D;;;;;;ACAA,8D;;;;;;ACAA,4D;;;;;;ACAA,8D;;;;;;;ACCA,qBAAqB,mBAAO,CAAC,EAAyD;AACtF;AACA;AACA,8SAA8S,2FAA2F,mGAAmG,sGAAsG,2DAA2D,gBAAgB,2HAA2H,mFAAmF,iBAAiB,0JAA0J,oFAAoF,iGAAiG,cAAc,gIAAgI,uGAAuG,0IAA0I,0DAA0D,uDAAuD,gCAAgC,EAAE,gBAAgB,eAAe,8GAA8G,wEAAwE,qEAAqE,kBAAkB,EAAE,gBAAgB,6DAA6D,cAAc,EAAE,eAAe,6VAA6V,+DAA+D,yCAAyC,qGAAqG,4CAA4C,yCAAyC,qDAAqD,iCAAiC,EAAE,4HAA4H,mBAAmB,EAAE,kBAAkB,yBAAyB,eAAe,qJAAqJ,iGAAiG,0BAA0B,EAAE,gDAAgD,eAAe,GAAG,0DAA0D,6BAA6B,eAAe,+HAA+H,+DAA+D,GAAG,2FAA2F,6IAA6I,YAAY,4JAA4J,kDAAkD,2BAA2B,uCAAuC,IAAI,0YAA0Y,aAAa,EAAE,iCAAiC,gCAAgC,gDAAgD,oEAAoE,wCAAwC,uCAAuC,mCAAmC,oCAAoC,8CAA8C,kDAAkD,8CAA8C,6BAA6B,iGAAiG,sCAAsC,4CAA4C,yFAAyF,iFAAiF,KAAK,oCAAoC,IAAI,aAAa,+CAA+C,2BAA2B,gBAAgB,yCAAyC,wCAAwC,IAAI,aAAa,oEAAoE,0CAA0C,oCAAoC,wBAAwB,wDAAwD,KAAK,WAAW,IAAI,aAAa,oEAAoE,sEAAsE,mKAAmK,YAAY,+fAA+f,qHAAqH,8BAA8B,aAAa,gBAAgB,mBAAmB,WAAW,oBAAoB,WAAW,mBAAmB,WAAW,0BAA0B,WAAW,mBAAmB,iBAAiB,SAAS,0CAA0C,yPAAyP,wNAAwN,oEAAoE,OAAO,uHAAuH,kEAAkE,2CAA2C,oCAAoC,KAAK,qCAAqC,qPAAqP,IAAI,qDAAqD,OAAO,kHAAkH,yCAAyC,sBAAsB,OAAO,gCAAgC,GAAG,6VAA6V,OAAO,uCAAuC,OAAO,4CAA4C,UAAU,8FAA8F,4CAA4C,qBAAqB,0FAA0F,iBAAiB,OAAO,iFAAiF,uDAAuD,+GAA+G,+CAA+C,2FAA2F,qBAAqB,6DAA6D,4FAA4F,6EAA6E,gEAAgE,+CAA+C,yHAAyH,oDAAoD,yCAAyC,kFAAkF,iCAAiC,oJAAoJ,4DAA4D,0DAA0D,iBAAiB,OAAO,gDAAgD,KAAK,OAAO,0BAA0B,GAAG,gGAAgG,SAAS,4BAA4B,iCAAiC,uBAAuB,gCAAgC,uBAAuB,8BAA8B,sBAAsB,GAAG,6FAA6F,SAAS,yBAAyB,4BAA4B,sBAAsB,gCAAgC,uBAAuB,8BAA8B,uBAAuB,GAAG,oFAAoF,OAAO,2EAA2E,QAAQ,0GAA0G,qCAAqC,wIAAwI,SAAS,uDAAuD,SAAS,4HAA4H,iFAAiF,sBAAsB,qCAAqC,uBAAuB,uCAAuC,kCAAkC,OAAO,kCAAkC,6DAA6D,qBAAqB,OAAO,iEAAiE,yCAAyC,KAAK,2CAA2C,oGAAoG,SAAS,kDAAkD,SAAS,iHAAiH,sCAAsC,mCAAmC,qCAAqC,sBAAsB,4FAA4F,kKAAkK,OAAO,oDAAoD,OAAO,oGAAoG,mEAAmE,yJAAyJ,4HAA4H,wJAAwJ,OAAO,wDAAwD,OAAO,aAAa,sFAAsF,4DAA4D,GAAG,6FAA6F,OAAO,oDAAoD,sBAAsB,0JAA0J,OAAO,2DAA2D,OAAO,yLAAyL,qCAAqC,kBAAkB,0BAA0B,6DAA6D,WAAW,oDAAoD,4DAA4D,yHAAyH,0BAA0B,yEAAyE,WAAW,mDAAmD,6BAA6B,WAAW,yEAAyE,iwBAAiwB,0BAA0B,qDAAqD,QAAQ,0EAA0E,aAAa,WAAW,oBAAoB,kDAAkD,0CAA0C,oBAAoB,+BAA+B,mCAAmC,iIAAiI,MAAM,qIAAqI,iBAAiB,cAAc,2JAA2J,gCAAgC,8DAA8D,iRAAiR,0CAA0C,OAAO,sBAAsB,2sDAA2sD,uBAAuB,42BAA42B,WAAW,gEAAgE,OAAO,iGAAiG,aAAa,4DAA4D,2BAA2B,gZAAgZ,sBAAsB,6CAA6C,OAAO,+GAA+G,4CAA4C,gFAAgF,6EAA6E,4FAA4F,sBAAsB,+GAA+G,mGAAmG,kIAAkI,GAAG,6PAA6P,OAAO,6DAA6D,cAAc,mDAAmD,gFAAgF,yEAAyE,+BAA+B,OAAO,8EAA8E,KAAK,yBAAyB,2IAA2I,wBAAwB,8GAA8G,oFAAoF,kFAAkF,UAAU,6KAA6K,sBAAsB,0EAA0E,sBAAsB,sHAAsH,uHAAuH,oDAAoD,2DAA2D,8KAA8K,sBAAsB,0EAA0E,sBAAsB,uHAAuH,uHAAuH,oDAAoD,0CAA0C,kEAAkE,sBAAsB,oGAAoG,yDAAyD,iBAAiB,mCAAmC,wHAAwH,MAAM,8DAA8D,MAAM,wDAAwD,6DAA6D,iBAAiB,OAAO,uEAAuE,mBAAmB,OAAO,gKAAgK,yBAAyB,mBAAmB,OAAO,2CAA2C,SAAS,OAAO,oCAAoC,OAAO,0BAA0B,sBAAsB,0OAA0O,OAAO,4DAA4D,QAAQ,oGAAoG,SAAS,qEAAqE,+FAA+F,8BAA8B,IAAI,4HAA4H,uBAAuB,gKAAgK,MAAM,qDAAqD,0CAA0C,+EAA+E,IAAI,uyBAAuyB,SAAS,+GAA+G,4DAA4D,wWAAwW,OAAO,8EAA8E,OAAO,kEAAkE,yGAAyG,mBAAmB,+NAA+N,+BAA+B,iCAAiC,iCAAiC,+BAA+B,kCAAkC,oBAAoB,4IAA4I,gCAAgC,gCAAgC,+BAA+B,gCAAgC,+BAA+B,sCAAsC,GAAG,sLAAsL,OAAO,4EAA4E,OAAO,iHAAiH,6CAA6C,oCAAoC,IAAI,oFAAoF,OAAO,4EAA4E,OAAO,6DAA6D,SAAS,wLAAwL,2HAA2H,6EAA6E,OAAO,4DAA4D,GAAG,uEAAuE,OAAO,sDAAsD,4IAA4I,oBAAoB,UAAU,oEAAoE,yDAAyD,0FAA0F,YAAY,yEAAyE,OAAO,2DAA2D,uMAAuM,sDAAsD,qBAAqB,wBAAwB,qBAAqB,yBAAyB,4EAA4E,KAAK,0BAA0B,8FAA8F,YAAY,oFAAoF,OAAO,kEAAkE,2DAA2D,iGAAiG,SAAS,oDAAoD,iFAAiF,0BAA0B,eAAe,uCAAuC,sBAAsB,gFAAgF,SAAS,mDAAmD,2BAA2B,mWAAmW,sBAAsB,aAAa,WAAW,0CAA0C,WAAW,WAAW,oBAAoB,gDAAgD,qBAAqB,klBAAklB,sBAAsB,yLAAyL,gdAAgd,wEAAwE,mCAAmC,mCAAmC,iCAAiC,oCAAoC,kCAAkC,6BAA6B,mCAAmC,uBAAuB,iCAAiC,wDAAwD,gEAAgE,qCAAqC,0JAA0J,kEAAkE,uGAAuG,oCAAoC,4BAA4B,uBAAuB,6DAA6D,qDAAqD,6FAA6F,2BAA2B,UAAU,EAAE,gCAAgC,6BAA6B,gDAAgD,OAAO,qDAAqD,yBAAyB,4BAA4B,EAAE,6BAA6B,6BAA6B,EAAE,mCAAmC,mBAAmB,uBAAuB,4BAA4B,qBAAqB,6BAA6B,uBAAuB,iCAAiC,SAAS,OAAO,wBAAwB,6BAA6B,qBAAqB,qBAAqB,6BAA6B,mBAAmB,yBAAyB,yBAAyB,yBAAyB,4BAA4B,eAAe,EAAE,iCAAiC,cAAc,wBAAwB,EAAE,iCAAiC,eAAe,EAAE,SAAS,OAAO,2KAA2K,uBAAuB,4BAA4B,qBAAqB,yBAAyB,OAAO,iCAAiC,uBAAuB,4BAA4B,qBAAqB,uBAAuB,qBAAqB,4BAA4B,uCAAuC,SAAS,OAAO,iCAAiC,uBAAuB,4BAA4B,qBAAqB,uBAAuB,qBAAqB,4BAA4B,uCAAuC,SAAS,OAAO,iCAAiC,kBAAkB,uBAAuB,4BAA4B,qBAAqB,qBAAqB,4BAA4B,mBAAmB,SAAS,OAAO,wBAAwB,6BAA6B,6BAA6B,sBAAsB,6BAA6B,mBAAmB,SAAS,OAAO,iCAAiC,uBAAuB,4BAA4B,qBAAqB,qBAAqB,sBAAsB,oBAAoB,qEAAqE,mBAAmB,SAAS,OAAO,oBAAoB,oBAAoB,sCAAsC,qBAAqB,+BAA+B,OAAO,sEAAsE,gDAAgD,OAAO,iBAAiB,MAAM,+BAA+B,yCAAyC,KAAK,GAAG,IAAI,icAAic,MAAM,0DAA0D,sBAAsB,+GAA+G,4DAA4D,qDAAqD,IAAI,gCAAgC,kFAAkF,GAAG,4TAA4T,sBAAsB,cAAc,WAAW,+DAA+D,WAAW,WAAW,oBAAoB,uyDAAuyD,sBAAsB,aAAa,WAAW,0DAA0D,WAAW,+DAA+D,sCAAsC,6DAA6D,IAAI,uhCAAuhC,yCAAyC,oEAAoE,wTAAwT,SAAS,uEAAuE,cAAc,mHAAmH,kFAAkF,SAAS,OAAO,iCAAiC,gDAAgD,kFAAkF,OAAO,uDAAuD,OAAO,kDAAkD,OAAO,gFAAgF,cAAc,qDAAqD,mCAAmC,iFAAiF,OAAO,uDAAuD,GAAG,4aAA4a,OAAO,4DAA4D,OAAO,kEAAkE,YAAY,qEAAqE,oDAAoD,uEAAuE,6BAA6B,gFAAgF,sGAAsG,sDAAsD,OAAO,8FAA8F,sCAAsC,0CAA0C,sBAAsB,oHAAoH,QAAQ,wCAAwC,uBAAuB,0DAA0D,0DAA0D,OAAO,mGAAmG,oCAAoC,yCAAyC,oBAAoB,0GAA0G,uLAAuL,oBAAoB,wHAAwH,QAAQ,2GAA2G,sCAAsC,qLAAqL,wCAAwC,iEAAiE,OAAO,+GAA+G,sCAAsC,gDAAgD,sBAAsB,8HAA8H,QAAQ,+KAA+K,mJAAmJ,0DAA0D,OAAO,qGAAqG,sCAAsC,6CAA6C,sBAAsB,mIAAmI,QAAQ,KAAK,oBAAoB,oNAAoN,OAAO,2DAA2D,cAAc,kDAAkD,2WAA2W,SAAS,OAAO,oFAAoF,kEAAkE,OAAO,yHAAyH,KAAK,oBAAoB,2RAA2R,SAAS,sDAAsD,sCAAsC,wCAAwC,6BAA6B,yIAAyI,uVAAuV,uBAAuB,SAAS,OAAO,iDAAiD,2FAA2F,QAAQ,KAAK,qBAAqB,wTAAwT,OAAO,uDAAuD,4YAA4Y,2BAA2B,uIAAuI,SAAS,OAAO,sGAAsG,mBAAmB,4NAA4N,cAAc,wDAAwD,cAAc,yDAAyD,gFAAgF,yDAAyD,6BAA6B,ibAAib,UAAU,OAAO,sDAAsD,UAAU,OAAO,gFAAgF,kOAAkO,+RAA+R,OAAO,wQAAwQ,0BAA0B,2FAA2F,YAAY,SAAS,OAAO,KAAK,sBAAsB,uCAAuC,qHAAqH,GAAG,8DAA8D,0EAA0E,4DAA4D,qBAAqB,iDAAiD,OAAO,yEAAyE,6EAA6E,2BAA2B,OAAO,2EAA2E,gCAAgC,iBAAiB,OAAO,oIAAoI,sEAAsE,6BAA6B,sDAAsD,0DAA0D,uBAAuB,kEAAkE,gDAAgD,aAAa,OAAO,gIAAgI,2EAA2E,OAAO,mLAAmL,sCAAsC,GAAG,icAAic,OAAO,+DAA+D,OAAO,iFAAiF,4BAA4B,gDAAgD,cAAc,2DAA2D,SAAS,kEAAkE,cAAc,6FAA6F,2LAA2L,2FAA2F,OAAO,kCAAkC,OAAO,4EAA4E,OAAO,yGAAyG,eAAe,+lFAA+lF,OAAO,msBAAmsB,6DAA6D,+EAA+E,uBAAuB,8DAA8D,qBAAqB,4DAA4D,oBAAoB,6DAA6D,wCAAwC,oFAAoF,IAAI,gLAAgL,WAAW,moBAAmoB,wBAAwB,gEAAgE,oBAAoB,mDAAmD,8nBAA8nB,wBAAwB,OAAO,yDAAyD,gDAAgD,0BAA0B,OAAO,0hBAA0hB,sDAAsD,wCAAwC,QAAQ,OAAO,oCAAoC,uBAAuB,kBAAkB,OAAO,whCAAwhC,yBAAyB,0BAA0B,OAAO,sGAAsG,0BAA0B,yBAAyB,0BAA0B,OAAO,wTAAwT,0BAA0B,OAAO,04BAA04B,kIAAkI,yEAAyE,aAAa,kUAAkU,2DAA2D,wEAAwE,gXAAgX,ycAAyc,eAAe,6PAA6P,mCAAmC,6BAA6B,iCAAiC,OAAO,mkBAAmkB,oHAAoH,OAAO,4EAA4E,eAAe,yDAAyD,SAAS,OAAO,oWAAoW,uBAAuB,0BAA0B,OAAO,iIAAiI,OAAO,KAAK,oRAAoR,wBAAwB,OAAO,qEAAqE,wFAAwF,uCAAuC,0FAA0F,KAAK,8hBAA8hB,+EAA+E,8BAA8B,OAAO,wLAAwL,KAAK,qBAAqB,8BAA8B,OAAO,8gBAA8gB,uBAAuB,oDAAoD,uBAAuB,4MAA4M,kGAAkG,OAAO,qBAAqB,mGAAmG,iEAAiE,KAAK,gHAAgH,mCAAmC,IAAI,qKAAqK,OAAO,kDAAkD,gGAAgG,sDAAsD,yFAAyF,4DAA4D,qBAAqB,qKAAqK,GAAG,qEAAqE,OAAO,oEAAoE,WAAW,qDAAqD,kBAAkB,0BAA0B,6UAA6U,oMAAoM,qBAAqB,8BAA8B,OAAO,uJAAuJ,qBAAqB,oCAAoC,OAAO,+KAA+K,kQAAkQ,wcAAwc,OAAO,2EAA2E,SAAS,8EAA8E,OAAO,kFAAkF,OAAO,oFAAoF,OAAO,6FAA6F,eAAe,qFAAqF,cAAc,4FAA4F,cAAc,mGAAmG,OAAO,sFAAsF,OAAO,+KAA+K,OAAO,uJAAuJ,OAAO,+HAA+H,MAAM,kIAAkI,mLAAmL,0BAA0B,yOAAyO,keAAke,OAAO,2GAA2G,sBAAsB,mUAAmU,OAAO,4DAA4D,0BAA0B,qIAAqI,0BAA0B,4sBAA4sB,OAAO,wEAAwE,OAAO,0EAA0E,OAAO,kFAAkF,eAAe,oFAAoF,WAAW,4HAA4H,gCAAgC,gGAAgG,gDAAgD,GAAG,yUAAyU,OAAO,0GAA0G,qBAAqB,sBAAsB,uBAAuB,sBAAsB,OAAO,2BAA2B,GAAG,8RAA8R,OAAO,2GAA2G,wBAAwB,gmBAAgmB,OAAO,qDAAqD,OAAO,6EAA6E,OAAO,wIAAwI,0HAA0H,gDAAgD,mBAAmB,OAAO,gMAAgM,0CAA0C,qaAAqa,kBAAkB,OAAO,yEAAyE,uCAAuC,8KAA8K,iJAAiJ,mBAAmB,OAAO,+DAA+D,uDAAuD,oJAAoJ,oFAAoF,mHAAmH,mCAAmC,OAAO,iMAAiM,oFAAoF,4FAA4F,OAAO,OAAO,GAAG,4JAA4J,uHAAuH,gCAAgC,qBAAqB,oBAAoB,OAAO,0TAA0T,iEAAiE,mBAAmB,OAAO,yHAAyH,8CAA8C,4JAA4J,yBAAyB,sKAAsK,qBAAqB,OAAO,yeAAye,iBAAiB,OAAO,sNAAsN,iHAAiH,OAAO,2CAA2C,soBAAsoB,iDAAiD,yCAAyC,2JAA2J,gGAAgG,+MAA+M,WAAW,mDAAmD,0HAA0H,4LAA4L,IAAI,mkBAAmkB,SAAS,+EAA+E,wGAAwG,iMAAiM,OAAO,gEAAgE,OAAO,2DAA2D,OAAO,+EAA+E,OAAO,qFAAqF,wBAAwB,0DAA0D,8FAA8F,sPAAsP,yBAAyB,OAAO,qFAAqF,wEAAwE,qGAAqG,GAAG,8RAA8R,eAAe,mFAAmF,wBAAwB,qEAAqE,yEAAyE,kBAAkB,OAAO,sIAAsI,wDAAwD,uBAAuB,mBAAmB,OAAO,0JAA0J,mEAAmE,yBAAyB,iBAAiB,OAAO,0FAA0F,kGAAkG,OAAO,0IAA0I,WAAW,OAAO,KAAK,GAAG,+FAA+F,OAAO,gEAAgE,OAAO,2DAA2D,OAAO,uIAAuI,mCAAmC,2GAA2G,4CAA4C,4DAA4D,mEAAmE,yBAAyB,OAAO,+EAA+E,sGAAsG,OAAO,8DAA8D,KAAK,GAAG,sGAAsG,iBAAiB,sDAAsD,uBAAuB,oHAAoH,oBAAoB,qDAAqD,SAAS,wGAAwG,sDAAsD,2ZAA2Z,OAAO,wGAAwG,OAAO,8GAA8G,OAAO,sQAAsQ,yCAAyC,uGAAuG,iFAAiF,mRAAmR,OAAO,yKAAyK,yCAAyC,+BAA+B,sZAAsZ,kCAAkC,iBAAiB,sEAAsE,iBAAiB,oBAAoB,OAAO,kCAAkC,SAAS,uFAAuF,OAAO,wFAAwF,OAAO,yHAAyH,QAAQ,+FAA+F,OAAO,oHAAoH,OAAO,iHAAiH,wBAAwB,uLAAuL,kBAAkB,oFAAoF,WAAW,wDAAwD,gCAAgC,yCAAyC,iCAAiC,2BAA2B,uCAAuC,oCAAoC,oCAAoC,qDAAqD,8GAA8G,4CAA4C,+GAA+G,mDAAmD,oCAAoC,yDAAyD,mDAAmD,0PAA0P,mBAAmB,yBAAyB,OAAO,uEAAuE,2BAA2B,KAAK,oBAAoB,mFAAmF,wBAAwB,saAAsa,gBAAgB,qDAAqD,OAAO,iFAAiF,WAAW,iTAAiT,+FAA+F,wNAAwN,8BAA8B,iCAAiC,0CAA0C,6BAA6B,gCAAgC,8EAA8E,yDAAyD,wGAAwG,kFAAkF,yIAAyI,iDAAiD,4DAA4D,8BAA8B,GAAG,yDAAyD,uGAAuG,qCAAqC,OAAO,0IAA0I,mIAAmI,sDAAsD,uBAAuB,+FAA+F,+BAA+B,6DAA6D,mEAAmE,kDAAkD,kCAAkC,qCAAqC,6EAA6E,mDAAmD,mCAAmC,oDAAoD,iCAAiC,wBAAwB,8BAA8B,oDAAoD,oBAAoB,4DAA4D,gCAAgC,gEAAgE,+EAA+E,wBAAwB,GAAG,kDAAkD,oCAAoC,yQAAyQ,8GAA8G,gDAAgD,4BAA4B,+DAA+D,6CAA6C,yCAAyC,GAAG,wDAAwD,8HAA8H,iDAAiD,sHAAsH,+CAA+C,4BAA4B,2CAA2C,GAAG,+mBAA+mB,kBAAkB,uEAAuE,4CAA4C,wEAAwE,sDAAsD,4BAA4B,8CAA8C,4BAA4B,sDAAsD,mDAAmD,qDAAqD,4BAA4B,sDAAsD,mDAAmD,8CAA8C,0LAA0L,yFAAyF,4LAA4L,yFAAyF,wDAAwD,6CAA6C,KAAK,GAAG,8CAA8C,2FAA2F,yBAAyB,oDAAoD,4HAA4H,8BAA8B,0BAA0B,yDAAyD,0CAA0C,4DAA4D,6EAA6E,yDAAyD,6GAA6G,GAAG,sDAAsD,oEAAoE,iBAAiB,4BAA4B,gXAAgX,yEAAyE,sFAAsF,GAAG,wDAAwD,uEAAuE,iBAAiB,2BAA2B,2XAA2X,8EAA8E,qJAAqJ,gCAAgC,uVAAuV,GAAG,qDAAqD,uEAAuE,iBAAiB,6DAA6D,oEAAoE,2BAA2B,2MAA2M,8HAA8H,4IAA4I,gCAAgC,mQAAmQ,GAAG,oDAAoD,uEAAuE,iBAAiB,sGAAsG,mDAAmD,8EAA8E,0CAA0C,gCAAgC,spBAAspB,GAAG,4DAA4D,uEAAuE,iBAAiB,iFAAiF,4IAA4I,oIAAoI,0CAA0C,gCAAgC,spBAAspB,GAAG,qDAAqD,uEAAuE,iBAAiB,mEAAmE,oIAAoI,sHAAsH,0CAA0C,gCAAgC,spBAAspB,GAAG,uKAAuK,2BAA2B,iBAAiB,icAAic,QAAQ,KAAK,oBAAoB,6MAA6M,KAAK,IAAI,aAAa,+CAA+C,sCAAsC,SAAS,sBAAsB,KAAK,gBAAgB,kBAAkB,KAAK,IAAI,aAAa,oEAAoE,8CAA8C,qDAAqD,yDAAyD,kEAAkE,mFAAmF,GAAG,kCAAkC,wBAAwB,kBAAkB,IAAI,aAAa,+CAA+C,oCAAoC,2EAA2E,IAAI,aAAa,oEAAoE,uCAAuC,sCAAsC,yCAAyC,gEAAgE,IAAI,mDAAmD,iMAAiM,IAAI,aAAa,oEAAoE,wCAAwC,2DAA2D,2DAA2D,yCAAyC,0CAA0C,0DAA0D,yCAAyC,o4BAAo4B,gCAAgC,gCAAgC,8BAA8B,wEAAwE,iBAAiB,sBAAsB,KAAK,mBAAmB,qDAAqD,EAAE,KAAK,OAAO,oCAAoC,YAAY,KAAK,qCAAqC,mCAAmC,gCAAgC,2DAA2D,wDAAwD,OAAO,mCAAmC,4FAA4F,gFAAgF,sEAAsE,kEAAkE,OAAO,wHAAwH,kEAAkE,OAAO,2EAA2E,KAAK,IAAI,aAAa,qEAAqE,uCAAuC,sFAAsF,mCAAmC,MAAM,mBAAmB,UAAU,EAAE,EAAE,UAAU,GAAG,EAAE,aAAa,qEAAqE,8CAA8C,+CAA+C,wCAAwC,4CAA4C,qDAAqD,iMAAiM,gBAAgB,6BAA6B,yBAAyB,6BAA6B,oDAAoD,KAAK,gBAAgB,cAAc,+FAA+F,uDAAuD,aAAa,IAAI,aAAa,qEAAqE,wCAAwC,2DAA2D,mCAAmC,0CAA0C,8CAA8C,oDAAoD,mDAAmD,yDAAyD,gDAAgD,yDAAyD,oDAAoD,wDAAwD,8DAA8D,cAAc,qCAAqC,0DAA0D,wDAAwD,OAAO,0CAA0C,0BAA0B,wEAAwE,OAAO,KAAK,uBAAuB,iCAAiC,iCAAiC,aAAa,KAAK,oBAAoB,oBAAoB,KAAK,mCAAmC,oBAAoB,KAAK,+BAA+B,oDAAoD,oHAAoH,uDAAuD,6FAA6F,GAAG,EAAE,aAAa,gDAAgD,oCAAoC,kCAAkC,yDAAyD,KAAK,WAAW,IAAI,aAAa,gDAAgD,2BAA2B,aAAa,gDAAgD,wBAAwB,aAAa,gDAAgD,+CAA+C,YAAY,wHAAwH,IAAI,aAAa,qEAAqE,0GAA0G,uDAAuD,oCAAoC,qDAAqD,IAAI,aAAa,qEAAqE,kDAAkD,sCAAsC,wCAAwC,2DAA2D,yCAAyC,uCAAuC,0CAA0C,2CAA2C,iCAAiC,oBAAoB,iCAAiC,yCAAyC,EAAE,IAAI,qCAAqC,0BAA0B,gBAAgB,6DAA6D,wEAAwE,OAAO,cAAc,MAAM,IAAI,0BAA0B,+DAA+D,0BAA0B,0BAA0B,0BAA0B,mCAAmC,2BAA2B,sCAAsC,sBAAsB,MAAM,yBAAyB,yCAAyC,MAAM,yBAAyB,mCAAmC,MAAM,GAAG,OAAO,mCAAmC,6BAA6B,mCAAmC,2BAA2B,uDAAuD,sBAAsB,MAAM,yBAAyB,mDAAmD,MAAM,yBAAyB,kCAAkC,MAAM,GAAG,sBAAsB,wFAAwF,aAAa,qEAAqE,0CAA0C,sDAAsD,yCAAyC,qCAAqC,kDAAkD,8CAA8C,6CAA6C,2BAA2B,yBAAyB,IAAI,oEAAoE,uCAAuC,uDAAuD,yDAAyD,yDAAyD,uEAAuE,4DAA4D,uCAAuC,4CAA4C,yCAAyC,MAAM,qCAAqC,uBAAuB,wBAAwB,mFAAmF,OAAO,kDAAkD,MAAM,wBAAwB,0BAA0B,KAAK,OAAO,2CAA2C,iFAAiF,mFAAmF,2DAA2D,gBAAgB,WAAW,2CAA2C,gEAAgE,SAAS,0BAA0B,OAAO,uCAAuC,KAAK,2BAA2B,gDAAgD,WAAW,oCAAoC,OAAO,gBAAgB,gCAAgC,oBAAoB,OAAO,yFAAyF,KAAK,0BAA0B,IAAI,aAAa,qEAAqE,mBAAmB,4CAA4C,0CAA0C,wBAAwB,yDAAyD,oGAAoG,0BAA0B,wBAAwB,KAAK,EAAE,sCAAsC,oCAAoC,IAAI,0EAA0E,oCAAoC,IAAI,aAAa,qEAAqE,8CAA8C,2DAA2D,yDAAyD,gDAAgD,4CAA4C,mCAAmC,+CAA+C,yEAAyE,6NAA6N,2BAA2B,6BAA6B,6BAA6B,kDAAkD,KAAK,gBAAgB,cAAc,mGAAmG,IAAI,aAAa,gDAAgD,qBAAqB,UAAU,oCAAoC,0CAA0C,IAAI,aAAa,gDAAgD,mJAAmJ,yEAAyE,cAAc,IAAI,aAAa,qEAAqE,wCAAwC,wCAAwC,mCAAmC,8HAA8H,oCAAoC,oDAAoD,IAAI,aAAa,qEAAqE,wCAAwC,2DAA2D,4CAA4C,SAAS,sDAAsD,KAAK,gBAAgB,0BAA0B,KAAK,cAAc,IAAI,aAAa,qEAAqE,wCAAwC,6CAA6C,4HAA4H,yCAAyC,uCAAuC,MAAM,GAAG,yCAAyC,aAAa,qEAAqE,wCAAwC,0CAA0C,sCAAsC,oDAAoD,EAAE,2BAA2B,aAAa,qEAAqE,yCAAyC,oCAAoC,8BAA8B,qCAAqC,+CAA+C,IAAI,aAAa,gDAAgD,wBAAwB,aAAa,gDAAgD,yBAAyB,yBAAyB,+HAA+H,qFAAqF,IAAI,aAAa,gDAAgD,8LAA8L,aAAa,qEAAqE,qCAAqC,yCAAyC,0CAA0C,yDAAyD,yCAAyC,yCAAyC,uLAAuL,oBAAoB,6CAA6C,2EAA2E,qCAAqC,KAAK,qDAAqD,IAAI,aAAa,qEAAqE,0CAA0C,iDAAiD,4CAA4C,2CAA2C,qCAAqC,sDAAsD,0CAA0C,iBAAiB,eAAe,8BAA8B,wBAAwB,uCAAuC,wCAAwC,eAAe,wCAAwC,+DAA+D,IAAI,wJAAwJ,yCAAyC,4BAA4B,mDAAmD,2BAA2B,qCAAqC,IAAI,uIAAuI,2FAA2F,mCAAmC,uBAAuB,kCAAkC,6BAA6B,iFAAiF,mDAAmD,0BAA0B,yDAAyD,2BAA2B,4BAA4B,IAAI,2SAA2S,qCAAqC,SAAS,yGAAyG,KAAK,gBAAgB,eAAe,gHAAgH,oCAAoC,4EAA4E,6BAA6B,IAAI,gCAAgC,uJAAuJ,eAAe,qBAAqB,gDAAgD,sCAAsC,yCAAyC,wFAAwF,KAAK,iCAAiC,oFAAoF,IAAI,aAAa,qEAAqE,iDAAiD,uDAAuD,gBAAgB,8BAA8B,mDAAmD,aAAa,qEAAqE,mDAAmD,mCAAmC,+CAA+C,uDAAuD,iDAAiD,qEAAqE,yCAAyC,iCAAiC,EAAE,KAAK,IAAI,aAAa,qEAAqE,0CAA0C,sCAAsC,0DAA0D,aAAa,gDAAgD,sCAAsC,SAAS,cAAc,+BAA+B,KAAK,gBAAgB,cAAc,6BAA6B,KAAK,IAAI,aAAa,qEAAqE,0CAA0C,8RAA8R,uCAAuC,gBAAgB,sHAAsH,iGAAiG,uHAAuH,iEAAiE,IAAI,aAAa,qEAAqE,8CAA8C,qCAAqC,8CAA8C,sGAAsG,6DAA6D,wBAAwB,UAAU,EAAE,KAAK,SAAS,GAAG,EAAE,aAAa,qEAAqE,0CAA0C,sCAAsC,6CAA6C,uEAAuE,EAAE,GAAG,wBAAwB,mHAAmH,EAAE,aAAa,gDAAgD,eAAe,8BAA8B,qCAAqC,mGAAmG,IAAI,aAAa,qEAAqE,wCAAwC,4BAA4B,aAAa,qEAAqE,qCAAqC,gDAAgD,gDAAgD,2CAA2C,+CAA+C,oCAAoC,cAAc,oBAAoB,YAAY,4EAA4E,+FAA+F,gDAAgD,KAAK,kBAAkB,IAAI,aAAa,qEAAqE,4CAA4C,uBAAuB,6HAA6H,yEAAyE,uCAAuC,aAAa,qEAAqE,uCAAuC,0CAA0C,kDAAkD,yCAAyC,+IAA+I,IAAI,4DAA4D,kEAAkE,IAAI,kCAAkC,qCAAqC,yCAAyC,8BAA8B,aAAa,qEAAqE,0CAA0C,mDAAmD,0QAA0Q,gBAAgB,+BAA+B,kBAAkB,eAAe,SAAS,kFAAkF,4BAA4B,6CAA6C,KAAK,gBAAgB,cAAc,8CAA8C,kBAAkB,gCAAgC,gDAAgD,+BAA+B,eAAe,MAAM,GAAG,gBAAgB,aAAa,qEAAqE,4CAA4C,+DAA+D,aAAa,qEAAqE,uCAAuC,2EAA2E,8HAA8H,GAAG,EAAE,aAAa,qEAAqE,4CAA4C,wFAAwF,kBAAkB,sCAAsC,qBAAqB,kCAAkC,6BAA6B,QAAQ,mCAAmC,gCAAgC,QAAQ,sCAAsC,mCAAmC,QAAQ,yCAAyC,sCAAsC,QAAQ,KAAK,qCAAqC,uCAAuC,MAAM,IAAI,aAAa,qEAAqE,wDAAwD,2CAA2C,+CAA+C,uDAAuD,qEAAqE,kBAAkB,EAAE,mBAAmB,sFAAsF,SAAS,qBAAqB,KAAK,gBAAgB,cAAc,IAAI,+HAA+H,uBAAuB,8WAA8W,IAAI,aAAa,qEAAqE,wCAAwC,oCAAoC,aAAa,qEAAqE,0CAA0C,0CAA0C,+CAA+C,6CAA6C,8JAA8J,oCAAoC,UAAU,0GAA0G,IAAI,aAAa,qEAAqE,wCAAwC,qCAAqC,qCAAqC,qCAAqC,8CAA8C,uCAAuC,wCAAwC,mCAAmC,gCAAgC,oCAAoC,+BAA+B,6CAA6C,iCAAiC,kBAAkB,iBAAiB,gDAAgD,2BAA2B,6BAA6B,wFAAwF,yBAAyB,uBAAuB,WAAW,KAAK,IAAI,gCAAgC,wBAAwB,cAAc,MAAM,IAAI,qCAAqC,oBAAoB,IAAI,8BAA8B,qHAAqH,IAAI,+EAA+E,qCAAqC,oBAAoB,gBAAgB,6DAA6D,sCAAsC,4HAA4H,QAAQ,qBAAqB,qBAAqB,MAAM,yCAAyC,uBAAuB,MAAM,qCAAqC,6BAA6B,qCAAqC,QAAQ,gDAAgD,qCAAqC,6BAA6B,iCAAiC,QAAQ,+HAA+H,sCAAsC,qCAAqC,2BAA2B,yCAAyC,8CAA8C,oIAAoI,4LAA4L,mBAAmB,0DAA0D,gBAAgB,0DAA0D,6BAA6B,qFAAqF,iCAAiC,kBAAkB,UAAU,QAAQ,6BAA6B,OAAO,6BAA6B,kCAAkC,QAAQ,KAAK,GAAG,sBAAsB,iCAAiC,aAAa,qEAAqE,4CAA4C,wEAAwE,aAAa,qEAAqE,4CAA4C,gEAAgE,aAAa,qEAAqE,0CAA0C,wCAAwC,qDAAqD,sCAAsC,gBAAgB,qDAAqD,sDAAsD,4CAA4C,eAAe,qCAAqC,IAAI,aAAa,qEAAqE,mBAAmB,mCAAmC,0DAA0D,+CAA+C,+CAA+C,+CAA+C,2DAA2D,yCAAyC,+CAA+C,wCAAwC,0CAA0C,8CAA8C,4DAA4D,oEAAoE,6CAA6C,oBAAoB,wBAAwB,0BAA0B,kCAAkC,aAAa,GAAG,oGAAoG,+DAA+D,gDAAgD,sEAAsE,+FAA+F,qBAAqB,2CAA2C,4CAA4C,GAAG,+CAA+C,4CAA4C,GAAG,iDAAiD,4CAA4C,GAAG,OAAO,qBAAqB,sCAAsC,GAAG,MAAM,6CAA6C,sCAAsC,+CAA+C,2IAA2I,mGAAmG,2GAA2G,+CAA+C,+CAA+C,wFAAwF,oFAAoF,yFAAyF,+BAA+B,wEAAwE,WAAW,oEAAoE,wFAAwF,WAAW,SAAS,4HAA4H,2DAA2D,OAAO,KAAK,oBAAoB,mBAAmB,gGAAgG,mCAAmC,2CAA2C,kCAAkC,GAAG,KAAK,0GAA0G,gFAAgF,KAAK,sCAAsC,oDAAoD,iBAAiB,iKAAiK,wCAAwC,6FAA6F,yDAAyD,SAAS,OAAO,SAAS,qFAAqF,WAAW,KAAK,qBAAqB,IAAI,aAAa,qEAAqE,mBAAmB,iDAAiD,2DAA2D,mCAAmC,+CAA+C,wCAAwC,+CAA+C,qCAAqC,kCAAkC,aAAa,GAAG,gLAAgL,kBAAkB,8BAA8B,gHAAgH,UAAU,wFAAwF,wHAAwH,KAAK,GAAG,+DAA+D,yGAAyG,yEAAyE,GAAG,sBAAsB,+FAA+F,aAAa,qEAAqE,4BAA4B,0BAA0B,0BAA0B,0BAA0B,0BAA0B,0BAA0B,0BAA0B,0BAA0B,qCAAqC,kCAAkC,aAAa,qEAAqE,mBAAmB,mCAAmC,+CAA+C,+CAA+C,uCAAuC,2DAA2D,yDAAyD,wCAAwC,oEAAoE,oBAAoB,wFAAwF,yBAAyB,wEAAwE,KAAK,6FAA6F,yBAAyB,uCAAuC,oBAAoB,EAAE,6DAA6D,gBAAgB,IAAI,yDAAyD,qKAAqK,EAAE,OAAO,eAAe,GAAG,sCAAsC,EAAE,aAAa,gDAAgD,UAAU,uDAAuD,gBAAgB,GAAG,IAAI,SAAS,2FAA2F,GAAG,YAAY,uGAAuG,GAAG,sKAAsK,KAAK,uBAAuB,aAAa,qEAAqE,mBAAmB,uCAAuC,sBAAsB,iEAAiE,2GAA2G,OAAO,KAAK,gNAAgN,uDAAuD,iDAAiD,GAAG,8BAA8B,aAAa,qEAAqE,uCAAuC,wCAAwC,yBAAyB,8GAA8G,qLAAqL,GAAG,mBAAmB,qEAAqE,GAAG,UAAU,aAAa,qEAAqE,wCAAwC,8CAA8C,iCAAiC,iGAAiG,aAAa,qEAAqE,qCAAqC,wCAAwC,+DAA+D,qDAAqD,gDAAgD,+BAA+B,gDAAgD,oEAAoE,mBAAmB,iBAAiB,OAAO,wBAAwB,gGAAgG,KAAK,IAAI,aAAa,qEAAqE,4CAA4C,0DAA0D,4DAA4D,wCAAwC,wIAAwI,yDAAyD,8DAA8D,iFAAiF,IAAI,aAAa,qEAAqE,qDAAqD,4CAA4C,+DAA+D,0LAA0L,6CAA6C,IAAI,aAAa,qEAAqE,kDAAkD,yCAAyC,gDAAgD,yBAAyB,oBAAoB,qEAAqE,4CAA4C,qCAAqC,sCAAsC,qDAAqD,gBAAgB,yKAAyK,2BAA2B,2FAA2F,iEAAiE,YAAY,eAAe,WAAW,6FAA6F,OAAO,2BAA2B,MAAM,IAAI,sBAAsB,yRAAyR,aAAa,qEAAqE,4CAA4C,uBAAuB,qBAAqB,4JAA4J,sFAAsF,mCAAmC,yEAAyE,IAAI,aAAa,gDAAgD,6CAA6C,aAAa,qEAAqE,yDAAyD,6HAA6H,oDAAoD,IAAI,aAAa,qEAAqE,uCAAuC,yCAAyC,kBAAkB,cAAc,mCAAmC,0DAA0D,GAAG,EAAE,aAAa,qEAAqE,0CAA0C,oCAAoC,uCAAuC,uEAAuE,KAAK,WAAW,IAAI,aAAa,qEAAqE,8CAA8C,qDAAqD,wCAAwC,2CAA2C,4MAA4M,gBAAgB,sCAAsC,6BAA6B,kBAAkB,YAAY,2FAA2F,aAAa,IAAI,aAAa,qEAAqE,qDAAqD,4CAA4C,mIAAmI,8CAA8C,IAAI,aAAa,qEAAqE,iDAAiD,0CAA0C,+CAA+C,uCAAuC,wEAAwE,2FAA2F,IAAI,aAAa,qEAAqE,gDAAgD,+KAA+K,aAAa,qEAAqE,0CAA0C,0CAA0C,+CAA+C,+CAA+C,oCAAoC,qGAAqG,IAAI,aAAa,qEAAqE,0CAA0C,0CAA0C,0CAA0C,qCAAqC,yDAAyD,KAAK,IAAI,aAAa,qEAAqE,wDAAwD,yCAAyC,yCAAyC,0IAA0I,sDAAsD,eAAe,EAAE,GAAG,aAAa,qEAAqE,mBAAmB,wDAAwD,wCAAwC,uKAAuK,iCAAiC,4CAA4C,IAAI,aAAa,qEAAqE,mBAAmB,mCAAmC,wCAAwC,sCAAsC,0CAA0C,8CAA8C,yCAAyC,4CAA4C,+CAA+C,2CAA2C,wCAAwC,0CAA0C,2CAA2C,8CAA8C,wCAAwC,4DAA4D,mDAAmD,yCAAyC,0CAA0C,+CAA+C,iDAAiD,2DAA2D,wCAAwC,oDAAoD,yCAAyC,+CAA+C,wCAAwC,2CAA2C,6CAA6C,0BAA0B,iDAAiD,iDAAiD,uEAAuE,yCAAyC,mCAAmC,iCAAiC,+BAA+B,mCAAmC,0DAA0D,yDAAyD,oFAAoF,0EAA0E,iDAAiD,6CAA6C,kBAAkB,oBAAoB,mBAAmB,kBAAkB,oBAAoB,iEAAiE,gDAAgD,kGAAkG,kCAAkC,iQAAiQ,yJAAyJ,KAAK,8JAA8J,4PAA4P,+GAA+G,uCAAuC,wBAAwB,cAAc,eAAe,cAAc,EAAE,MAAM,+CAA+C,uCAAuC,uCAAuC,cAAc,0BAA0B,GAAG,EAAE,0FAA0F,2DAA2D,cAAc,EAAE,GAAG,EAAE,gDAAgD,aAAa,gFAAgF,IAAI,6CAA6C,+BAA+B,0BAA0B,gCAAgC,2BAA2B,8BAA8B,wCAAwC,oBAAoB,gFAAgF,sCAAsC,uDAAuD,uCAAuC,qCAAqC,qCAAqC,iCAAiC,aAAa,wBAAwB,sBAAsB,0EAA0E,wCAAwC,aAAa,iDAAiD,kBAAkB,yCAAyC,sCAAsC,wCAAwC,8BAA8B,8BAA8B,eAAe,aAAa,8CAA8C,uDAAuD,aAAa,sCAAsC,iDAAiD,aAAa,sBAAsB,WAAW,oBAAoB,SAAS,gBAAgB,+CAA+C,wBAAwB,SAAS,OAAO,2BAA2B,6BAA6B,2DAA2D,KAAK,EAAE,IAAI,0DAA0D,uBAAuB,yBAAyB,4CAA4C,8BAA8B,4BAA4B,yCAAyC,kCAAkC,KAAK,eAAe,oCAAoC,mFAAmF,mGAAmG,IAAI,wCAAwC,mCAAmC,iCAAiC,8BAA8B,4CAA4C,iBAAiB,yBAAyB,sCAAsC,wBAAwB,+DAA+D,WAAW,yDAAyD,SAAS,EAAE,qLAAqL,6CAA6C,OAAO,KAAK,EAAE,IAAI,wCAAwC,wDAAwD,IAAI,8CAA8C,mCAAmC,iCAAiC,oBAAoB,kDAAkD,OAAO,6DAA6D,KAAK,EAAE,IAAI,6CAA6C,6BAA6B,+BAA+B,MAAM,IAAI,0DAA0D,2BAA2B,sBAAsB,+BAA+B,wBAAwB,2BAA2B,wBAAwB,IAAI,2DAA2D,2BAA2B,sBAAsB,+BAA+B,SAAS,wFAAwF,mCAAmC,iBAAiB,+BAA+B,yBAAyB,eAAe,eAAe,gJAAgJ,WAAW,gBAAgB,kDAAkD,WAAW,SAAS,EAAE,OAAO,OAAO,4BAA4B,gCAAgC,6BAA6B,OAAO,KAAK,gBAAgB,sBAAsB,cAAc,gBAAgB,KAAK,IAAI,0CAA0C,sFAAsF,oDAAoD,0BAA0B,0BAA0B,yCAAyC,WAAW,4EAA4E,OAAO,gBAAgB,qCAAqC,OAAO,MAAM,yFAAyF,8BAA8B,6LAA6L,EAAE,MAAM,oEAAoE,+JAA+J,kDAAkD,0FAA0F,4EAA4E,sEAAsE,+DAA+D,4BAA4B,uCAAuC,yDAAyD,gCAAgC,OAAO,oJAAoJ,gDAAgD,OAAO,KAAK,EAAE,wCAAwC,mCAAmC,4CAA4C,6BAA6B,kDAAkD,gDAAgD,MAAM,wEAAwE,2IAA2I,MAAM,2DAA2D,gDAAgD,sJAAsJ,wBAAwB,kEAAkE,iDAAiD,SAAS,gCAAgC,8DAA8D,GAAG,eAAe,EAAE,sEAAsE,+CAA+C,GAAG,qGAAqG,qFAAqF,SAAS,OAAO,EAAE,KAAK,GAAG,OAAO,2CAA2C,GAAG,kCAAkC,EAAE,6DAA6D,sBAAsB,yCAAyC,mBAAmB,8CAA8C,GAAG,uHAAuH,kDAAkD,2CAA2C,gCAAgC,KAAK,GAAG,EAAE,OAAO,yDAAyD,GAAG,2HAA2H,+FAA+F,KAAK,GAAG,EAAE,OAAO,2DAA2D,GAAG,kHAAkH,mBAAmB,+CAA+C,uCAAuC,qCAAqC,wCAAwC,mDAAmD,wBAAwB,wBAAwB,0BAA0B,8CAA8C,gCAAgC,oCAAoC,iCAAiC,sBAAsB,kEAAkE,sCAAsC,iCAAiC,kCAAkC,2CAA2C,WAAW,UAAU,SAAS,EAAE,uCAAuC,OAAO,EAAE,6CAA6C,gCAAgC,KAAK,uHAAuH,mBAAmB,+CAA+C,qCAAqC,wCAAwC,mDAAmD,8CAA8C,4EAA4E,SAAS,EAAE,OAAO,EAAE,6CAA6C,gCAAgC,KAAK,GAAG,EAAE,aAAa,qEAAqE,2CAA2C,sDAAsD,kEAAkE,kBAAkB,IAAI,aAAa,qEAAqE,mBAAmB,4CAA4C,qDAAqD,+CAA+C,4CAA4C,6CAA6C,kDAAkD,mDAAmD,gDAAgD,gEAAgE,4CAA4C,qDAAqD,aAAa,EAAE,OAAO,EAAE,KAAK,IAAI,aAAa,gDAAgD,uDAAuD,uCAAuC,8EAA8E,KAAK,WAAW,IAAI,aAAa,qEAAqE,iDAAiD,+CAA+C,2BAA2B,SAAS,mBAAmB,8BAA8B,yBAAyB,gBAAgB,oBAAoB,OAAO,8BAA8B,4BAA4B,OAAO,MAAM,gDAAgD,kBAAkB,MAAM,gGAAgG,SAAS,EAAE,EAAE,GAAG,gBAAgB,cAAc,oDAAoD,qDAAqD,kCAAkC,SAAS,sBAAsB,sCAAsC,gBAAgB,6BAA6B,oBAAoB,kCAAkC,WAAW,UAAU,QAAQ,mBAAmB,KAAK,gBAAgB,cAAc,6BAA6B,IAAI,aAAa,qEAAqE,wCAAwC,2DAA2D,8CAA8C,uCAAuC,wCAAwC,oFAAoF,iCAAiC,+BAA+B,+BAA+B,yJAAyJ,kFAAkF,+DAA+D,wEAAwE,yBAAyB,qBAAqB,8DAA8D,oBAAoB,qBAAqB,yBAAyB,aAAa,eAAe,SAAS,gBAAgB,6BAA6B,gCAAgC,sBAAsB,SAAS,OAAO,kBAAkB,iCAAiC,MAAM,kKAAkK,oBAAoB,yCAAyC,iDAAiD,sBAAsB,EAAE,4BAA4B,qCAAqC,QAAQ,gFAAgF,uCAAuC,qHAAqH,0BAA0B,4BAA4B,kCAAkC,QAAQ,oCAAoC,oBAAoB,4BAA4B,gCAAgC,QAAQ,4KAA4K,OAAO,4BAA4B,wGAAwG,QAAQ,KAAK,GAAG,sDAAsD,gBAAgB,2BAA2B,+BAA+B,gBAAgB,kBAAkB,eAAe,KAAK,aAAa,IAAI,aAAa,qEAAqE,wCAAwC,sCAAsC,iCAAiC,mCAAmC,sEAAsE,KAAK,IAAI,aAAa,qEAAqE,wCAAwC,0CAA0C,iCAAiC,6CAA6C,mCAAmC,qBAAqB,aAAa,0BAA0B,kCAAkC,GAAG,sBAAsB,6CAA6C,mCAAmC,iDAAiD,oCAAoC,KAAK,GAAG,yCAAyC,aAAa,qEAAqE,mBAAmB,mCAAmC,0CAA0C,2DAA2D,wCAAwC,wCAAwC,+FAA+F,gCAAgC,GAAG,+CAA+C,mBAAmB,uDAAuD,uCAAuC,qCAAqC,wCAAwC,kDAAkD,wBAAwB,wBAAwB,0BAA0B,8CAA8C,gCAAgC,oCAAoC,iCAAiC,sBAAsB,iEAAiE,sCAAsC,iCAAiC,6BAA6B,qCAAqC,2CAA2C,WAAW,oBAAoB,sCAAsC,iCAAiC,6BAA6B,qCAAqC,2CAA2C,WAAW,EAAE,SAAS,EAAE,uCAAuC,OAAO,EAAE,6CAA6C,gCAAgC,KAAK,GAAG,EAAE,aAAa,qEAAqE,mBAAmB,mCAAmC,0CAA0C,0CAA0C,2DAA2D,wCAAwC,wCAAwC,sDAAsD,iFAAiF,gCAAgC,GAAG,iCAAiC,mBAAmB,uDAAuD,uCAAuC,qCAAqC,wCAAwC,kDAAkD,wBAAwB,wBAAwB,0BAA0B,oCAAoC,8CAA8C,gCAAgC,sCAAsC,iCAAiC,sBAAsB,iEAAiE,2DAA2D,mCAAmC,2BAA2B,WAAW,oBAAoB,2DAA2D,mCAAmC,kCAAkC,iGAAiG,WAAW,EAAE,SAAS,EAAE,6FAA6F,OAAO,EAAE,6CAA6C,gCAAgC,KAAK,GAAG,EAAE,aAAa,qEAAqE,mBAAmB,mCAAmC,wCAAwC,8CAA8C,qCAAqC,0CAA0C,mDAAmD,+CAA+C,yCAAyC,0HAA0H,6CAA6C,oBAAoB,cAAc,EAAE,eAAe,cAAc,EAAE,GAAG,EAAE,gHAAgH,kEAAkE,GAAG,qCAAqC,8DAA8D,sDAAsD,0DAA0D,kEAAkE,UAAU,EAAE,EAAE,SAAS,gDAAgD,kEAAkE,SAAS,EAAE,EAAE,SAAS,oBAAoB,KAAK,GAAG,EAAE,8JAA8J,6FAA6F,GAAG,aAAa,qEAAqE,mBAAmB,gDAAgD,oDAAoD,+CAA+C,4CAA4C,iDAAiD,wEAAwE,wKAAwK,4BAA4B,8EAA8E,EAAE,sHAAsH,mBAAmB,uCAAuC,8BAA8B,4BAA4B,cAAc,wCAAwC,gCAAgC,kCAAkC,gCAAgC,YAAY,6BAA6B,GAAG,EAAE,aAAa,qEAAqE,4CAA4C,uDAAuD,0BAA0B,kBAAkB,2EAA2E,kCAAkC,oDAAoD,oCAAoC,0BAA0B,wBAAwB,sFAAsF,qCAAqC,mUAAmU,MAAM,IAAI,sBAAsB,mRAAmR,aAAa,qEAAqE,mBAAmB,sEAAsE,uCAAuC,yDAAyD,+CAA+C,0CAA0C,kCAAkC,aAAa,GAAG,iEAAiE,2CAA2C,+DAA+D,0CAA0C,EAAE,oEAAoE,0CAA0C,+BAA+B,IAAI,aAAa,qEAAqE,wCAAwC,6CAA6C,qDAAqD,2DAA2D,+CAA+C,+CAA+C,qDAAqD,gDAAgD,+CAA+C,6CAA6C,iEAAiE,8BAA8B,yIAAyI,gFAAgF,OAAO,gBAAgB,oDAAoD,OAAO,gDAAgD,yFAAyF,OAAO,wFAAwF,sKAAsK,2GAA2G,SAAS,gBAAgB,+EAA+E,SAAS,OAAO,KAAK,GAAG,aAAa,gDAAgD,oIAAoI,kpBAAkpB,aAAa,qEAAqE,mBAAmB,kDAAkD,iDAAiD,0CAA0C,oDAAoD,+CAA+C,0CAA0C,iDAAiD,uEAAuE,wkBAAwkB,4BAA4B,wLAAwL,EAAE,oHAAoH,eAAe,uCAAuC,8BAA8B,0BAA0B,8BAA8B,4CAA4C,+BAA+B,cAAc,gCAAgC,KAAK,gCAAgC,6BAA6B,kCAAkC,qCAAqC,YAAY,8CAA8C,GAAG,YAAY,yOAAyO,mGAAmG,6BAA6B,8BAA8B,aAAa,qEAAqE,iDAAiD,uCAAuC,qDAAqD,qDAAqD,uCAAuC,4JAA4J,yDAAyD,uDAAuD,EAAE,GAAG,qFAAqF,4CAA4C,IAAI,aAAa,kFAAkF,mBAAmB,iEAAiE,gFAAgF,0BAA0B,EAAE,EAAE,mEAAmE,2BAA2B,EAAE,EAAE,mEAAmE,2BAA2B,EAAE,EAAE,6EAA6E,qCAAqC,EAAE,EAAE,mEAAmE,2BAA2B,EAAE,EAAE,sEAAsE,8BAA8B,EAAE,EAAE,qEAAqE,6BAA6B,EAAE,EAAE,49BAA49B,8DAA8D,gBAAgB,sCAAsC,iBAAiB,EAAE,iCAAiC,uDAAuD,GAAG,mCAAmC,MAAM,kCAAkC,4BAA4B,uBAAuB,sBAAsB,EAAE,6FAA6F,KAAK,mCAAmC,0DAA0D,oDAAoD,OAAO,OAAO,iCAAiC,6FAA6F,aAAa,qBAAqB,SAAS,+CAA+C,KAAK,+BAA+B,mBAAmB,oHAAoH,8IAA8I,cAAc,OAAO,qIAAqI,aAAa,iBAAiB,KAAK,4DAA4D,qIAAqI,2IAA2I,gDAAgD,QAAQ,kGAAkG,sEAAsE,KAAK,iDAAiD,uCAAuC,oCAAoC,EAAE,KAAK,yDAAyD,2IAA2I,KAAK,+DAA+D,+BAA+B,+DAA+D,gBAAgB,EAAE,EAAE,EAAE,oEAAoE,uCAAuC,MAAM,6BAA6B,EAAE,YAAY,WAAW,EAAE,EAAE,sCAAsC,MAAM,mCAAmC,EAAE,YAAY,WAAW,EAAE,EAAE,mCAAmC,qFAAqF,EAAE,kFAAkF,SAAS,EAAE,KAAK,6CAA6C,iBAAiB,6BAA6B,0BAA0B,aAAa,EAAE,qBAAqB,aAAa,oBAAoB,yDAAyD,sEAAsE,aAAa,EAAE,KAAK,0BAA0B,sBAAsB,qBAAqB,GAAG,EAAE,2BAA2B,4EAA4E,2BAA2B,mLAAmL,wDAAwD,gCAAgC,2CAA2C,OAAO,sCAAsC,SAAS,6BAA6B,sCAAsC,WAAW,UAAU,UAAU,6CAA6C,cAAc,UAAU,6IAA6I,OAAO,UAAU,EAAE,oFAAoF,iBAAiB,OAAO,EAAE,4DAA4D,gBAAgB,QAAQ,OAAO,EAAE,kDAAkD,gBAAgB,gBAAgB,OAAO,EAAE,8CAA8C,qCAAqC,UAAU,iBAAiB,2CAA2C,aAAa,YAAY,aAAa,OAAO,EAAE,UAAU,WAAW,EAAE,uCAAuC,SAAS,6CAA6C,SAAS,KAAK,sEAAsE,qCAAqC,sCAAsC,oCAAoC,aAAa,EAAE,EAAE,EAAE,KAAK,4BAA4B,qCAAqC,qBAAqB,KAAK,EAAE,2CAA2C,6GAA6G,KAAK,8BAA8B,wFAAwF,gCAAgC,yDAAyD,+BAA+B,mDAAmD,wBAAwB,gCAAgC,aAAa,UAAU,mGAAmG,KAAK,+BAA+B,qEAAqE,yBAAyB,yCAAyC,aAAa,uFAAuF,SAAS,uBAAuB,MAAM,gBAAgB,EAAE,iBAAiB,iBAAiB,mEAAmE,aAAa,qBAAqB,sBAAsB,EAAE,SAAS,kBAAkB,KAAK,6BAA6B,gCAAgC,sBAAsB,sDAAsD,kBAAkB,KAAK,mCAAmC,qDAAqD,QAAQ,+BAA+B,4CAA4C,QAAQ,iEAAiE,QAAQ,sCAAsC,iBAAiB,MAAM,6BAA6B,6EAA6E,KAAK,mEAAmE,iGAAiG,sEAAsE,qBAAqB,4FAA4F,aAAa,EAAE,IAAI,0BAA0B,gCAAgC,qCAAqC,0CAA0C,EAAE,EAAE,GAAG,EAAE,+BAA+B,MAAM,eAAe,EAAE,YAAY,oBAAoB,EAAE,EAAE,0BAA0B,oGAAoG,EAAE,iCAAiC,yBAAyB,EAAE,gCAAgC,0BAA0B,EAAE,+BAA+B,yDAAyD,EAAE,KAAK,sCAAsC,iBAAiB,qBAAqB,gDAAgD,SAAS,EAAE,uDAAuD,aAAa,EAAE,IAAI,6BAA6B,6BAA6B,oBAAoB,kDAAkD,gBAAgB,EAAE,KAAK,EAAE,KAAK,mCAAmC,iGAAiG,2CAA2C,iHAAiH,4FAA4F,aAAa,EAAE,KAAK,0BAA0B,8BAA8B,gDAAgD,uDAAuD,EAAE,EAAE,GAAG,EAAE,gDAAgD,sCAAsC,UAAU,oBAAoB,EAAE,EAAE,UAAU,EAAE,KAAK,oDAAoD,oCAAoC,yCAAyC,aAAa,EAAE,EAAE,OAAO,kBAAkB,EAAE,sBAAsB,MAAM,kEAAkE,+CAA+C,6BAA6B,EAAE,KAAK,oBAAoB,2BAA2B,MAAM,oCAAoC,8CAA8C,wBAAwB,oHAAoH,wCAAwC,sBAAsB,KAAK,uCAAuC,gDAAgD,gBAAgB,KAAK,+DAA+D,wCAAwC,oFAAoF,SAAS,wCAAwC,KAAK,sEAAsE,wCAAwC,oFAAoF,SAAS,wCAAwC,qBAAqB,KAAK,yFAAyF,mNAAmN,+DAA+D,yBAAyB,aAAa,WAAW,0EAA0E,yBAAyB,yBAAyB,2BAA2B,+BAA+B,2BAA2B,2BAA2B,iCAAiC,+CAA+C,OAAO,oBAAoB,GAAG,IAAI,qGAAqG,iBAAiB,yCAAyC,cAAc,mBAAmB,YAAY,wBAAwB,wCAAwC,6BAA6B,mCAAmC,yBAAyB,2FAA2F,8CAA8C,iCAAiC,OAAO,EAAE,GAAG,cAAc,oCAAoC,4DAA4D,SAAS,GAAG,0CAA0C,qCAAqC,kBAAkB,gHAAgH,wBAAwB,GAAG,mBAAmB,0DAA0D,kDAAkD,4CAA4C,oCAAoC,WAAW,EAAE,OAAO,EAAE,GAAG,mBAAmB,0DAA0D,iBAAiB,kDAAkD,iCAAiC,qDAAqD,8DAA8D,kDAAkD,gHAAgH,eAAe,WAAW,EAAE,OAAO,EAAE,GAAG,6CAA6C,0DAA0D,kDAAkD,mBAAmB,sCAAsC,0CAA0C,kEAAkE,mBAAmB,yCAAyC,eAAe,yBAAyB,6EAA6E,eAAe,oCAAoC,WAAW,EAAE,OAAO,EAAE,GAAG,wBAAwB,0DAA0D,kDAAkD,kCAAkC,8DAA8D,oCAAoC,WAAW,EAAE,OAAO,EAAE,GAAG,sBAAsB,0DAA0D,kDAAkD,yBAAyB,0BAA0B,oCAAoC,WAAW,EAAE,OAAO,EAAE,GAAG,6BAA6B,6BAA6B,WAAW,EAAE,0DAA0D,4BAA4B,kDAAkD,iCAAiC,2EAA2E,oDAAoD,uBAAuB,kDAAkD,+FAA+F,wFAAwF,6FAA6F,yDAAyD,4CAA4C,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,sCAAsC,wEAAwE,uBAAuB,8EAA8E,UAAU,4HAA4H,EAAE,EAAE,GAAG,eAAe,WAAW,EAAE,OAAO,EAAE,GAAG,8CAA8C,6GAA6G,+BAA+B,sCAAsC,wCAAwC,6CAA6C,GAAG,OAAO,sCAAsC,0BAA0B,aAAa,kCAAkC,GAAG,sBAAsB,aAAa,YAAY,cAAc,0BAA0B,sBAAsB,qBAAqB,aAAa,gCAAgC,GAAG,IAAI,EAAE,aAAa,4BAA4B,EAAE,WAAW,eAAe,gEAAgE,2BAA2B;AACn55M;;AAEA;AACA;;;;;;;ACRe,SAASA,UAAT,CAAoBC,MAApB,EAA4BC,OAA5B,EAAqC;AACnD,MAAIC,CAAC,GAAG,CAAR;AACA,MAAIC,SAAS,GAAG,EAAhB;AACAH,QAAM,CAACI,gBAAP,CAAwB,SAAxB,EAAmC,UAACC,CAAD,EAAO;AACzC,QAAIC,CAAC,GAAGD,CAAC,CAACE,IAAV;AACA,QAAID,CAAC,CAACE,IAAF,KAAS,KAAb,EAAoB;;AACpB,QAAIF,CAAC,CAACG,EAAN,EAAU;AACT,UAAIC,CAAC,GAAGP,SAAS,CAACG,CAAC,CAACG,EAAH,CAAjB;;AACA,UAAIC,CAAJ,EAAO;AACN,eAAOP,SAAS,CAACG,CAAC,CAACG,EAAH,CAAhB;;AACA,YAAIH,CAAC,CAACK,KAAN,EAAa;AACZD,WAAC,CAAC,CAAD,CAAD,CAAKE,MAAM,CAACC,MAAP,CAAcC,KAAK,CAACR,CAAC,CAACK,KAAF,CAAQI,OAAT,CAAnB,EAAsCT,CAAC,CAACK,KAAxC,CAAL;AACA,SAFD,MAGK;AACJD,WAAC,CAAC,CAAD,CAAD,CAAKJ,CAAC,CAACU,MAAP;AACA;AACD;AACD,KAXD,MAYK;AACJ,UAAIC,GAAG,GAAGC,QAAQ,CAACC,WAAT,CAAqB,OAArB,CAAV;AACAF,SAAG,CAACG,SAAJ,CAAcd,CAAC,CAACe,MAAhB,EAAwB,KAAxB,EAA+B,KAA/B;AACAJ,SAAG,CAACV,IAAJ,GAAWD,CAAC,CAACgB,MAAb;AACAtB,YAAM,CAACuB,aAAP,CAAqBN,GAArB;AACA;AACD,GArBD;AAsBAhB,SAAO,CAACuB,OAAR,CAAiB,UAAAH,MAAM,EAAI;AAC1BrB,UAAM,CAACqB,MAAD,CAAN,GAAiB;AAAA;AAAA,aAAe,IAAII,OAAJ,CAAa,UAACC,CAAD,EAAIC,CAAJ,EAAU;AACtD,YAAIlB,EAAE,GAAG,EAAEP,CAAX;AACAC,iBAAS,CAACM,EAAD,CAAT,GAAgB,CAACiB,CAAD,EAAIC,CAAJ,CAAhB;AACA3B,cAAM,CAAC4B,WAAP,CAAmB;AAAEpB,cAAI,EAAE,KAAR;AAAeC,YAAE,EAAFA,EAAf;AAAmBY,gBAAM,EAANA,MAAnB;AAA2BC,gBAAM;AAAjC,SAAnB;AACA,OAJ+B,CAAf;AAAA,KAAjB;AAKA,GAND;AAOA;;;;;;;;;AChCD,+C;;;;;;;ACAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA;;AAEA;AACA,4CAA4C,qBAAqB;AACjE;;AAEA;AACA,KAAK;AACL,IAAI;AACJ;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,qBAAqB,iBAAiB;AACtC;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,qBAAqB;AACzC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,8BAA8B;;AAE9B;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,CAAC;;;AAGD;AACA;AACA;AACA,qDAAqD,cAAc;AACnE;AACA,C;;;;;;AC7FA,uC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAsF;AACtF,IAAM,YAAY,GAAmB;IACnC,OAAO,EAAE;QACP,IAAI,EAAE,CAAC;QACP,iBAAiB,EAAE,UAAC,EAEnB;gBADC,OAAO;YACH,cAAO,CAAC,IAAI,GAAG,CAAC;QAAhB,CAAgB;QACtB,eAAe,EAAE,UAAC,EAEjB;gBADC,OAAO;YACH,cAAO,CAAC,IAAI,GAAG,CAAC;QAAhB,CAAgB;KACvB;IACD,WAAW,EAAE;QACX,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,OAAO;QACf,KAAK,EAAE,QAAQ;KAChB;IACD,MAAM,EAAE;QACN,WAAW,EAAE,GAAG;QAChB,OAAO,EAAE;YACP,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,UAAC,EAEP;oBADC,MAAM;gBACF,4CAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;YAAhD,CAAgD;YACtD,IAAI,EAAE,UAAC,EAEN;oBADC,MAAM;gBACF,2CAAM,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;YAA/C,CAA+C;YACrD,YAAY,EAAE,UAAC,EAEd;oBADC,MAAM;gBACF,kDAAa,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;YAAlC,CAAkC;SACzC;QACD,OAAO,EAAE;YACP,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,UAAC,EAEP;oBADC,MAAM;gBACF,4CAAO,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;YAApD,CAAoD;YAC1D,IAAI,EAAE,UAAC,EAEN;oBADC,MAAM;gBACF,2CAAM,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;YAA/C,CAA+C;YACrD,YAAY,EAAE,UAAC,EAEd;oBADC,MAAM;gBACF,kDAAa,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;YAAlC,CAAkC;SACzC;QACD,OAAO,EAAE;YACP,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,UAAC,EAEP;oBADC,MAAM;gBACF,4CAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;YAAhD,CAAgD;YACtD,IAAI,EAAE,UAAC,EAEN;oBADC,MAAM;gBACF,2CAAM,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;YAA/C,CAA+C;YACrD,YAAY,EAAE,SAAS;SACxB;QACD,KAAK,EAAE;YACL,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,UAAC,EAEP;oBADC,MAAM;gBACF,4CAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;YAA9C,CAA8C;YACpD,IAAI,EAAE,UAAC,EAEN;oBADC,MAAM;gBACF,2CAAM,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;YAA7C,CAA6C;YACnD,YAAY,EAAE,UAAC,EAEd;oBADC,MAAM;gBACF,kDAAa,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;YAAhC,CAAgC;SACvC;QACD,IAAI,EAAE;YACJ,EAAE,EAAE,SAAS;YACb,GAAG,EAAE,SAAS;SACf;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,SAAS;YAClB,SAAS,EAAE,UAAC,EAEX;oBADC,MAAM;gBACF,4CAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;YAAhD,CAAgD;SACvD;QACD,MAAM,EAAE;YACN,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE,SAAS;SACjB;QACD,SAAS,EAAE;YACT,OAAO,EAAE;gBACP,KAAK,EAAE,UAAC,EAEP;wBADC,MAAM;oBACF,aAAM,CAAC,OAAO,CAAC,IAAI;gBAAnB,CAAmB;gBACzB,eAAe,EAAE,UAAC,EAEjB;wBADC,MAAM;oBACF,mDAAc,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;gBAAzC,CAAyC;gBAC/C,YAAY,EAAE,UAAC,EAEd;wBADC,MAAM;oBACF,aAAM,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK;gBAA9B,CAA8B;aACrC;YACD,KAAK,EAAE;gBACL,KAAK,EAAE,UAAC,EAEP;wBADC,MAAM;oBACF,aAAM,CAAC,KAAK,CAAC,IAAI;gBAAjB,CAAiB;gBACvB,eAAe,EAAE,UAAC,EAEjB;wBADC,MAAM;oBACF,mDAAc,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAvC,CAAuC;gBAC7C,YAAY,EAAE,UAAC,EAEd;wBADC,MAAM;oBACF,aAAM,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK;gBAA5B,CAA4B;aACnC;YACD,QAAQ,EAAE;gBACR,KAAK,EAAE,UAAC,EAEP;wBADC,MAAM;oBACF,aAAM,CAAC,OAAO,CAAC,IAAI;gBAAnB,CAAmB;gBACzB,eAAe,EAAE,UAAC,EAEjB;wBADC,MAAM;oBACF,mDAAc,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAApD,CAAoD;gBAC1D,YAAY,EAAE,UAAC,EAEd;wBADC,MAAM;oBACF,aAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK;gBAA/B,CAA+B;aACtC;YACD,IAAI,EAAE;gBACJ,KAAK,EAAE,SAAS;gBAChB,eAAe,EAAE,UAAC,EAEjB;wBADC,MAAM;oBACF,mDAAc,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAhD,CAAgD;gBACtD,YAAY,EAAE,UAAC,EAEd;wBADC,MAAM;oBACF,aAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK;gBAA3B,CAA2B;aAClC;SACF;QACD,IAAI,EAAE;YACJ,GAAG,EAAE,SAAS;YACd,IAAI,EAAE,SAAS;YACf,GAAG,EAAE,SAAS;YACd,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;SAChB;KACF;IACD,MAAM,EAAE;QACN,UAAU,EAAE,eAAK,IAAI,4CAAO,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,wCAAU,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAlG,CAAkG;QACvH,mBAAmB,EAAE,KAAK;QAC1B,aAAa,EAAE,eAAK,IAAI,YAAK,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAA3B,CAA2B;QACnD,cAAc,EAAE,eAAK,IAAI,YAAK,CAAC,MAAM,CAAC,aAAa,EAA1B,CAA0B;QACnD,iBAAiB,EAAE,eAAK,IAAI,YAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAvB,CAAuB;QACnD,cAAc,EAAE,OAAO;QACvB,cAAc,EAAE,KAAK;QACrB,gBAAgB,EAAE,SAAS;QAC3B,KAAK,EAAE;YACL,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,eAAK,IAAI,YAAK,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAA3B,CAA2B;SAC5C;KACF;IACD,UAAU,EAAE;QACV,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,OAAO;QACnB,iBAAiB,EAAE,KAAK;QACxB,cAAc,EAAE,KAAK;QACrB,eAAe,EAAE,KAAK;QACtB,UAAU,EAAE,oBAAoB;QAChC,SAAS,EAAE,aAAa;QACxB,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE;YACR,UAAU,EAAE,wBAAwB;YACpC,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,OAAO;SACpB;QACD,IAAI,EAAE;YACJ,QAAQ,EAAE,MAAM;YAChB,UAAU,EAAE,oBAAoB;YAChC,UAAU,EAAE,UAAC,EAEZ;oBADC,UAAU;gBACN,iBAAU,CAAC,UAAU;YAArB,CAAqB;YAC3B,UAAU,EAAE,UAAC,EAEZ;oBADC,UAAU;gBACN,iBAAU,CAAC,iBAAiB;YAA5B,CAA4B;YAClC,KAAK,EAAE,SAAS;YAChB,eAAe,EAAE,wBAAwB;YACzC,IAAI,EAAE,KAAK;SACZ;QACD,KAAK,EAAE;YACL,KAAK,EAAE,UAAC,EAEP;oBADC,MAAM;gBACF,aAAM,CAAC,OAAO,CAAC,IAAI;YAAnB,CAAmB;YACzB,OAAO,EAAE,UAAC,EAET;oBADC,UAAU;gBACN,iBAAU,CAAC,KAAK,CAAC,KAAK;YAAtB,CAAsB;YAC5B,KAAK,EAAE,UAAC,EAEP;oBADC,UAAU;gBACN,4CAAO,CAAC,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;YAApC,CAAoC;SAC3C;KACF;IACD,OAAO,EAAE;QACP,KAAK,EAAE,OAAO;QACd,eAAe,EAAE,SAAS;QAC1B,SAAS,EAAE,SAAS;QACpB,eAAe,EAAE,eAAK,IAAI,YAAK,CAAC,OAAO,CAAC,SAAS,KAAK,YAAY,CAAC,OAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAjH,CAAiH;QAC3I,UAAU,EAAE;YACV,aAAa,EAAE,WAAW;SAC3B;QACD,WAAW,EAAE;YACX,aAAa,EAAE,MAAM;SACtB;QACD,KAAK,EAAE;YACL,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,eAAK,IAAI,YAAK,CAAC,OAAO,CAAC,SAAS,EAAvB,CAAuB;SACxC;KACF;IACD,IAAI,EAAE;QACJ,SAAS,EAAE,UAAC,EAEX;gBADC,OAAO;YACH,cAAO,CAAC,KAAK;QAAb,CAAa;QACnB,QAAQ,EAAE,UAAC,EAEV;gBADC,OAAO;YACH,cAAO,CAAC,KAAK;QAAb,CAAa;QACnB,MAAM,EAAE,KAAK;KACd;IACD,UAAU,EAAE;QACV,eAAe,EAAE,SAAS;QAC1B,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE,SAAS;KACrB;IACD,SAAS,EAAE;QACT,eAAe,EAAE,UAAC,EAEjB;gBADC,UAAU;YACN,2CAAM,CAAC,GAAG,EAAE,UAAU,CAAC,eAAe,CAAC;QAAvC,CAAuC;KAC9C;CACF,CAAC;AACa,0DAAY,EAAC;AACrB,SAAS,YAAY,CAAC,KAAqB;IAChD,IAAM,cAAc,GAAG,EAAE,CAAC;IAC1B,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,IAAM,QAAQ,GAAG,UAAC,GAAG,EAAE,IAAY;QACjC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,WAAC;YACxB,IAAM,WAAW,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YACjD,IAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YAEnB,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE;gBAC7B,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,EAAE;oBAC5B,GAAG;wBACD,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE;4BAChC,OAAO,EAAE,CAAC;4BAEV,IAAI,OAAO,GAAG,IAAI,EAAE;gCAClB,MAAM,IAAI,KAAK,CAAC,oDAAkD,WAAW,UAAK,GAAG,CAAC,QAAQ,EAAI,CAAC,CAAC;6BACrG;4BAED,cAAc,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;yBAC1C;wBAED,OAAO,cAAc,CAAC,WAAW,CAAC,CAAC;oBACrC,CAAC;oBAED,UAAU,EAAE,IAAI;iBACjB,CAAC,CAAC;aACJ;iBAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;gBAClC,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;aAC5B;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACpB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AAC3C,CAAC;;;ACnQM,IAAM,UAAU,GAAG,OAAO,MAAM,KAAK,WAAW,IAAI,aAAa,IAAI,MAAM,CAAC;AAC5E,SAAS,aAAa,CAAC,QAAgB;IAC5C,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;QACnC,OAAO,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;KACzC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AACD;;;;GAIG;AAEI,SAAS,QAAQ,CAAC,IAAY;IACnC,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,eAAK;QACpC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC,MAAM,CAAC,sBAAY;QACpB,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC,CAAC,kCAAkC;AAEpC,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,CAAE,OAAe,CAAC,SAAS,CAAC,sBAAsB,EAAE;IACvF,OAAe,CAAC,SAAS,CAAC,sBAAsB,GAAG,UAAU,cAAc;QAC1E,cAAc,GAAG,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;QAClE,IAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;QAC/B,IAAM,mBAAmB,GAAG,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACvE,IAAM,oBAAoB,GAAG,QAAQ,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC,CAAC;QACpG,IAAM,qBAAqB,GAAG,QAAQ,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,EAAE,EAAE,CAAC,CAAC;QACtG,IAAM,OAAO,GAAG,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QACrE,IAAM,UAAU,GAAG,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,GAAG,oBAAoB,GAAG,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC;QACzI,IAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACzE,IAAM,SAAS,GAAG,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,qBAAqB,GAAG,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;QAC1I,IAAM,YAAY,GAAG,OAAO,IAAI,CAAC,UAAU,CAAC;QAE5C,IAAI,CAAC,OAAO,IAAI,UAAU,CAAC,IAAI,cAAc,EAAE;YAC7C,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,YAAY,GAAG,CAAC,GAAG,oBAAoB,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;SAC/H;QAED,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,IAAI,cAAc,EAAE;YAC7C,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,WAAW,GAAG,CAAC,GAAG,qBAAqB,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;SACjI;QAED,IAAI,CAAC,OAAO,IAAI,UAAU,IAAI,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE;YACvE,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;SACnC;IACH,CAAC,CAAC;CACH;;;;;;;;;;;AC/C6B;AACM;AACpC;;GAEG;AAEI,SAAS,WAAW,CAAO,KAAU,EAAE,QAAyC;IACrF,IAAM,GAAG,GAAQ,EAAE,CAAC;IAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QACzC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;KACrC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QACtB,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;KACnD;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AACD;;;;;;;GAOG;AAEI,SAAS,SAAS,CAAO,MAAyB,EAAE,QAA4D;IACrH,IAAM,GAAG,GAEL,EAAE,CAAC;IAEP,KAAK,IAAM,GAAG,IAAI,MAAM,EAAE;QACxB,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;YAC9B,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;SAC/C;KACF;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AACD;;;;GAIG;AAEI,SAAS,aAAa,CAAsC,eAAoB,EAAE,IAAO;IAC9F,IAAM,GAAG,GAAQ,EAAE,CAAC;IAEpB,IAAM,OAAO,GAAG,UAAC,KAAU;QACzB,KAAmB,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK,EAAE;YAArB,IAAM,IAAI;YACb,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEf,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE;gBACd,OAAO,CAAG,IAAI,CAAC,IAAI,CAAiB,CAAC,CAAC;aACvC;SACF;IACH,CAAC,CAAC;IAEF,OAAO,CAAC,eAAe,CAAC,CAAC;IACzB,OAAO,GAAG,CAAC;AACb,CAAC;AACM,SAAS,kBAAkB,CAAC,IAAY;IAC7C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QACtB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KAC3C;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AACM,SAAS,SAAS,CAAC,CAAM;IAC9B,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC;AACM,SAAS,iBAAiB,CAAC,EAAU,EAAE,OAAe,EAAE,OAAe;IAC5E,2DAA2D;IAC3D,IAAM,SAAS,GAAG,IAAI,MAAM,CAAC,iBAAe,OAAO,YAAS,EAAE,GAAG,CAAC,CAAC;IACnE,IAAM,YAAY,GAAG,IAAI,MAAM,CAAC,kBAAgB,OAAO,oCAAiC,EAAE,GAAG,CAAC,CAAC;IAE/F,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;QACtB,OAAO,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,WAAS,OAAO,SAAM,CAAC,CAAC;KACzD;SAAM;QACL,6BAA6B;QAC7B,IAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;QACrF,OAAO,KAAG,EAAE,GAAG,EAAE,UAAK,OAAO,YAAO,OAAS,CAAC;KAC/C;AACH,CAAC,CAAC,uDAAuD;AAElD,IAAM,YAAY,GAAG,UAAC,MAAW;IAAE,iBAAiB;SAAjB,UAAiB,EAAjB,qBAAiB,EAAjB,IAAiB;QAAjB,gCAAiB;;IACzD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;QACnB,OAAO,MAAM,CAAC;KACf;IAED,IAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAE/B,IAAI,MAAM,KAAK,SAAS,EAAE;QACxB,OAAO,MAAM,CAAC;KACf;IAED,IAAI,gBAAgB,CAAC,MAAM,CAAC,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE;QACxD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAC,GAAW;YACtC,IAAI,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;gBACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;oBAChB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;iBAClB;gBAED,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;aACxC;iBAAM;gBACL,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;aAC3B;QACH,CAAC,CAAC,CAAC;KACJ;IAED,OAAO,YAAY,0DAAC,MAAM,GAAK,OAAO,GAAE;AAC1C,CAAC,CAAC;AAEF,IAAM,QAAQ,GAAG,UAAC,IAAS;IACzB,OAAO,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,CAAC;AACnD,CAAC,CAAC;AAEF,IAAM,gBAAgB,GAAG,UAAC,IAAI;IAC5B,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAChD,CAAC,CAAC;AACF;;;;GAIG;AAGI,SAAS,WAAW,CAAC,KAAa;IACvC,OAAO,0BAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,wBAAwB;SACpG,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,uBAAuB;SAC9C,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,mCAAmC;SACzD,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,4BAA4B;SAC/C,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,0BAA0B;AACjD,CAAC;AACM,SAAS,aAAa,CAAC,GAAW;IACvC,OAAO,+BAA+B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnD,CAAC;AACD;;;GAGG;AAEI,SAAS,UAAU,CAAC,GAAW,EAAE,EAAU;IAChD,IAAI,GAAG,CAAC;IAER,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QAErB,IAAU,YAAY,GACpB,8BAAK,CAAC,GAAG,CAAC,SADU,CACT;QACf,GAAG,GAAG,MAAG,YAAY,IAAI,QAAQ,IAAG,EAAI,CAAC;KAC1C;SAAM,IAAI,aAAa,CAAC,EAAE,CAAC,EAAE;QAC5B,GAAG,GAAG,EAAE,CAAC;KACV;SAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;QAC9B,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;KAC1C;SAAM;QACL,IAAM,MAAM,GAAG,8BAAK,CAAC,GAAG,CAAC,CAAC;QAC1B,GAAG,GAAG,+BAAM,CAAC,4EAAK,MAAM,KACtB,QAAQ,EAAE,EAAE,IACZ,CAAC;KACJ;IAED,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC;AACjC,CAAC;AACM,SAAS,WAAW,CAAC,SAAiB;IAC3C,IAAI;QACF,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC;KACrC;IAAC,OAAO,CAAC,EAAE;QACV,sEAAsE;QACtE,OAAO,SAAS,CAAC;KAClB;AACH,CAAC;AACM,SAAS,QAAQ,CAAC,IAAY;IACnC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AACM,SAAS,iBAAiB,CAAC,SAAiB;IACjD,IAAI;QACF,IAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;QAChC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;QAChB,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;KACvB;IAAC,OAAO,CAAC,EAAE;QACV,sEAAsE;QACtE,OAAO,SAAS,CAAC;KAClB;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,GAAW;IAC3B,IAAI,OAAO,GAAG,KAAK,WAAW,EAAE;QAC9B,OAAO;QACP,OAAO,IAAI,CAAC,mBAAO,CAAC,CAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;KACtC;SAAM;QACL,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;KACrB;AACH,CAAC;AAEM,SAAS,iBAAiB,CAAC,GAAW;IAC3C,OAAO,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,UAAC,EAAE,EAAE,IAAI,IAAK,aAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAvC,CAAuC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AAChH,CAAC;;;ACxLD,IAAM,MAAM,GAAiB;IAC3B,IAAI,EAAE,MAAM;IACZ,eAAe,EAAE,OAAO;IACxB,SAAS,EAAE,OAAO;IAClB,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,YAAY;IACxB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,WAAW;IACpB,OAAO,EAAE,OAAO;CACjB,CAAC;AACK,SAAS,cAAc,CAAC,OAAyB;IACtD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACjC,CAAC;AACM,SAAS,CAAC,CAAC,GAAuB,EAAE,GAAY;IACrD,IAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAE1B,IAAI,GAAG,KAAK,SAAS,EAAE;QACrB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;KACnB;IAED,OAAO,KAAK,CAAC;AACf,CAAC;;;;ACtC6F;AACjD;AACc;AACA;AAmC3D,SAAS,iBAAiB,CAAC,GAAsB,EAAE,YAAsB;IACvE,IAAI,GAAG,KAAK,SAAS,EAAE;QACrB,OAAO,YAAY,IAAI,KAAK,CAAC;KAC9B;IAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC3B,OAAO,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;KACvC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAkC;IAC1D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;KAC5B;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AAED;IAuIE,gCAAY,GAAoB,EAAE,QAA8B;QAA9B,wCAA8B;;QAC9D,GAAG,GAAG,4EAAK,QAAQ,GACd,GAAG,CACP,CAAC;QACF,IAAM,IAAI,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,yBAAyB;QAE7E,IAAI,OAAC,GAAG,CAAC,KAAa,0CAAE,IAAI,KAAI,QAAC,GAAG,CAAC,KAAK,0CAAE,OAAO,GAAE;YACnD,OAAO,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;YACxE,GAAG,CAAC,KAAM,CAAC,OAAO,GAAI,GAAG,CAAC,KAAa,CAAC,IAAI,CAAC;SAC9C;QAED,IAAI,OAAC,GAAG,CAAC,KAAa,0CAAE,UAAU,KAAI,QAAC,GAAG,CAAC,KAAK,0CAAE,SAAS,GAAE;YAC3D,OAAO,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;YAChF,GAAG,CAAC,KAAM,CAAC,SAAS,GAAI,GAAG,CAAC,KAAa,CAAC,UAAU,CAAC;SACtD;QAED,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,YAAY,CAAE,EAAU,EAAE,SAAY,EAAE,4EAAK,GAAG,CAAC,KAAK,KAC9E,cAAc,EAAE,SAAS,IACzB,CAAC,CAAC;QACJ,IAAI,CAAC,KAAK,CAAC,cAAc,GAAI,IAAY,CAAC,CAAC,4EAA4E;QAEvH,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,sBAAsB,CAAC,sBAAsB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACtF,IAAI,CAAC,YAAY,GAAG,sBAAsB,CAAC,qBAAqB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACnF,IAAI,CAAC,eAAe,GAAG,sBAAsB,CAAC,wBAAwB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC5F,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QACpE,IAAI,CAAC,uBAAuB,GAAG,iBAAiB,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QAC9E,IAAI,CAAC,4BAA4B,GAAG,iBAAiB,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QACxF,IAAI,CAAC,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,CAAC,gBAAgB,GAAG,iBAAiB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAChE,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAClE,IAAI,CAAC,aAAa,GAAG,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC1D,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QACpE,IAAI,CAAC,aAAa,GAAG,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC1D,IAAI,CAAC,qBAAqB,GAAG,iBAAiB,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QAC1E,IAAI,CAAC,cAAc,GAAG,sBAAsB,CAAC,uBAAuB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACzF,IAAI,CAAC,0BAA0B,GAAG,iBAAiB,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACpF,IAAI,CAAC,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,qBAAqB,GAAG,sBAAsB,CAAC,8BAA8B,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QAC9G,IAAI,CAAC,cAAc,GAAG,iBAAiB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC5D,IAAI,CAAC,gBAAgB,GAAG,iBAAiB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAChE,IAAI,CAAC,oBAAoB,GAAG,iBAAiB,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACxE,IAAI,CAAC,gBAAgB,GAAG,sBAAsB,CAAC,yBAAyB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC/F,IAAI,CAAC,uBAAuB,GAAG,iBAAiB,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QAC9E,IAAI,CAAC,6BAA6B,GAAG,iBAAiB,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC1F,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC,mBAAmB,IAAI,EAAE,CAAC;QACzD,IAAI,CAAC,4BAA4B,GAAG,iBAAiB,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QACxF,IAAI,CAAC,sBAAsB,GAAG,gBAAgB,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QAC3E,IAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,OAAC,GAAG,CAAC,kBAAkB,0CAAE,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,IAAI,EAAE,EAAR,CAAQ,CAAC,CAAC;QAClJ,IAAI,CAAC,kBAAkB,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACxD,CAAC;IAxLM,+CAAwB,GAA/B,UAAgC,KAAyC;QACvE,IAAI,KAAK,KAAK,KAAK,EAAE;YACnB,OAAO,KAAK,CAAC;SACd;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,IAAM,KAAG,GAAG,EAAE,CAAC;YACf,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,cAAI;gBAC3B,KAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;YAC1B,CAAC,CAAC,CAAC;YACH,OAAO,KAAG,CAAC;SACZ;aAAM,IAAI,KAAK,KAAK,SAAS,EAAE;YAC9B,OAAO,CAAC,IAAI,CAAC,2DAAwD,KAAK,mBAAa,OAAO,KAAO,CAAC,CAAC;SACxG;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAEM,4CAAqB,GAA5B,UAA6B,KAAsC;QACjE,OAAO,CAAC,CAAC,KAAK,CAAC;IACjB,CAAC;IAEM,6CAAsB,GAA7B,UAA8B,KAAuC;QACnE,qFAAqF;QACrF,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClD,IAAM,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;YAEhC,IAAI,CAAC,EAAE,EAAE;gBACP,OAAO,CAAC,IAAI,CAAC,sFAAsF,CAAC,CAAC;aACtG;YAED,IAAM,QAAM,GAAG,EAAE,IAAI,EAAE,CAAC,qBAAqB,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC;YAC5D,OAAO,cAAM,eAAM,EAAN,CAAM,CAAC;SACrB;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE;YACxD,OAAO,cAAM,cAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,EAArD,CAAqD,CAAC;SACpE;aAAM,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;YACtC,OAAO;gBACL,IAAM,GAAG,GAAG,KAAK,EAAE,CAAC;gBAEpB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;oBAC3B,OAAO,CAAC,IAAI,CAAC,6DAA0D,GAAG,mBAAa,OAAO,GAAK,CAAC,CAAC;iBACtG;gBAED,OAAO,GAAG,CAAC;YACb,CAAC,CAAC;SACH;aAAM,IAAI,KAAK,KAAK,SAAS,EAAE;YAC9B,OAAO,CAAC,IAAI,CAAC,kFAAkF,CAAC,CAAC;SAClG;QAED,OAAO,cAAM,QAAC,EAAD,CAAC,CAAC;IACjB,CAAC;IAEM,8CAAuB,GAA9B,UAA+B,KAAwC;QACrE,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;YAChC,OAAO,KAAK,CAAC;SACd;QAED,IAAI,KAAK,KAAK,EAAE,EAAE;YAChB,OAAO,IAAI,CAAC;SACb;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,OAAO,KAAK,CAAC;SACd;QAED,QAAQ,KAAK,EAAE;YACb,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC;YAEd,KAAK,OAAO;gBACV,OAAO,KAAK,CAAC;YAEf;gBACE,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,aAAG,IAAI,UAAG,CAAC,IAAI,EAAE,EAAV,CAAU,CAAC,CAAC;SAClD;IACH,CAAC;IAEM,gDAAyB,GAAhC,UAAiC,KAA0C;QACzE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,iCAAiC;SAC7D;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAClD;QAED,OAAO,CAAC,CAAC;IACX,CAAC;IAEc,qDAA8B,GAA7C,UAA8C,KAA+B;QAC3E,IAAI,KAAK,KAAK,KAAK,EAAE;YACnB,OAAO,CAAC,QAAQ,CAAC;SAClB;QAED,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;YACzB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;SACjC;QAED,OAAO,CAAC,CAAC;IACX,CAAC;IAuFH,6BAAC;AAAD,CAAC;;;;;;;;ACvPqD;AAGhD,0BAMD,2BAA0F,EALpF,MAAM,gCACf,GAAG,4BACH,iBAAiB,0CACjB,SAAS,kCACT,aAAa,oCACgF,CAAC;AACzF,IAAM,KAAK,GAAG;IACnB,QAAQ,EAAR,UAAS,UAAU,EAAE,KAAe,EAAE,KAAc;QAClD,OAAO;YAAC,cAAO;iBAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;gBAAP,yBAAO;;YAAK,UAAG,qMACZ,EAAsB,0BAA2B,EAA4C,GAAI,EAAW,cACjH,EAAqB,kBAE1B,KAHU,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAA2B,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,EAAnC,CAAmC,EAAI,KAAK,IAAI,EAAE,EAChH,GAAW,eAAI,IAAI;QAFN,CAInB,CAAC;IACJ,CAAC;IAED,WAAW,EAAX,UAAY,UAAU;QACpB,OAAO;YAAC,cAAO;iBAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;gBAAP,yBAAO;;YAAK,UAAG,6LACA,EAA4C,eAC7D,EAAqB,kBAE1B,KAHsB,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,EAAnC,CAAmC,EAC5D,GAAW,eAAI,IAAI;QAFN,CAInB,CAAC;IACJ,CAAC;IAED,OAAO,EAAP,UAAQ,eAAe,EAAE,gBAAgB;QACvC,OAAO;YAAC,cAAO;iBAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;gBAAP,yBAAO;;YAAK,UAAG,mNACA,EAAiD,oBAAqB,EAAkD,eACzI,EAAqB,kBAE1B,KAHsB,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,WAAW,CAAC,eAAe,CAAC,EAAxC,CAAwC,EAAqB,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAzC,CAAyC,EACxI,GAAW,eAAI,IAAI;QAFN,CAInB,CAAC;IACJ,CAAC;CAEF,CAAC;AAC0D;AAC7C,4DAAM,EAAC;AACf,SAAS,cAAc,CAAC,UAAkB;IAC/C,OAAO,eAAK;QACV,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE;YAC/B,OAAO;SACR;QAED,OAAO,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACvD,CAAC,CAAC;AACJ,CAAC;;;;;AC9C8B;AACW;AAC1C,IAAM,YAAY,GAAG,iBAAM,CAAC,GAAG,oMAG9B,KAAC;AACF;IAAmC,4DAEjC;IACA,uBAAY,KAAK;QAAjB,YACE,kBAAM,KAAK,CAAC,SAIb;QAHC,KAAI,CAAC,KAAK,GAAG;YACX,KAAK,EAAE,SAAS;SACjB,CAAC;;IACJ,CAAC;IAED,yCAAiB,GAAjB,UAAkB,KAAK;QACrB,IAAI,CAAC,QAAQ,CAAC;YACZ,KAAK;SACN,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IAED,8BAAM,GAAN;QACE,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YACpB,OAAO,iCAAC,YAAY;gBAChB,uEAAgC;gBAChC;;oBAAS,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO;wBAAU;gBAC3C;oBACE;wBACE,gEAA8B;wBAC9B,8CAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAO,CAC3B,CACR;gBACJ;;oBAAwB,aAAiB,CAAS;;gBAAC,4CAAM;gBACzD;;oBAAiB,UAAkB,CAAS,CAC/B,CAAC;SACnB;QAED,OAAO,2BAAc,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC;IAEH,oBAAC;AAAD,CAAC,CApCkC,4BAAe,GAoCjD;;;;;;AC1C8B;AAC6B;AAE5D,IAAM,QAAQ,GAAG,UAAC,KAGjB,IAAK,iDAAK,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,MAAM,EAAC,KAAK,EAAC,OAAO,EAAC,aAAa;IAC/F,2CAAM,CAAC,EAAC,uLAAuL,GAAG;IAClM,2CAAM,CAAC,EAAC,uLAAuL,GAAG;IAClM,2CAAM,CAAC,EAAC,uLAAuL,GAAG;IAClM,2CAAM,CAAC,EAAC,uLAAuL,GAAG;IAClM,2CAAM,CAAC,EAAC,0LAA0L,GAAG;IACrM,2CAAM,CAAC,EAAC,qLAAqL,GAAG;IAChM,2CAAM,CAAC,EAAC,uLAAuL,GAAG;IAClM,2CAAM,CAAC,EAAC,sLAAsL,GAAG,CAC7L,EATF,CASE,CAAC;AAET,IAAM,MAAM,GAAG,SAAS,4SAMvB,KAAC;AACK,IAAM,OAAO,GAAG,iBAAM,CAAC,QAAQ,CAAC,yTACrB,EAAM,6IAQZ,EAAoB,UAE/B,KAViB,MAAM,EAQZ,eAAK,IAAI,YAAK,CAAC,KAAK,EAAX,CAAW,CAE/B,CAAC;;;;;ACnC6B;AACc;AACL;AACxC,IAAM,cAAc,GAAG,iBAAM,CAAC,GAAG,wPAE/B,mIAMS,EAAoB,KAC9B,KADU,eAAK,IAAI,YAAK,CAAC,KAAK,EAAX,CAAW,CAC9B,CAAC;AAIF;IAA6B,sDAAiC;IAA9D;;IAUA,CAAC;IATC,wBAAM,GAAN;QACE,OAAO,0CAAK,KAAK,EAAE;gBACjB,SAAS,EAAE,QAAQ;aACpB;YACG,iCAAC,cAAc,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,kBAA8B;YACrE,iCAAC,OAAO,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAI,CAChC,CAAC;IACX,CAAC;IAEH,cAAC;AAAD,CAAC,CAV4B,gCAAmB,GAU/C;;;;;AC1B8B;AAC6C;AACrE,IAAM,cAAc,GAAG,gCAAmB,CAAC,IAAI,6CAAsB,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3E,IAAM,eAAe,GAAG,cAAc,CAAC,QAAQ,CAAC;AAChD,IAAM,eAAe,GAAG,cAAc,CAAC,QAAQ,CAAC;;;;;;;;;;;;;ACJO;AAC9D,uDAAuD;AAEV;AAEtC,SAAe,iBAAiB,CAAC,eAAgC;;;;;;oBAChE,MAAM,GAAG,IAAI,gCAAmB,EAAE,CAAC;oBAC3B,qBAAM,MAAM,CAAC,MAAM,CAAC,eAAe,EAAG;4BAClD,OAAO,EAAE;gCACP,IAAI,EAAE;oCACJ,eAAe,EAAE,KAAK;iCACvB;6BACF;yBACS,CAAC;;oBANP,IAAI,GAAI,SAMO;oBAErB,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;wBAC9B,sBAAO,sBAAsB,CAAC,IAAI,CAAC,EAAC;qBACrC;yBAAM;wBACL,sBAAO,IAAI,EAAC;qBACb;;;;;CACF;AACM,SAAS,sBAAsB,CAAC,IAAS;IAC9C,OAAO,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;IAClF,OAAO,IAAI,OAAO,CAAc,UAAC,OAAO,EAAE,MAAM,IAAK,4CAAU,CAAC,IAAI,EAAE;QACpE,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI;KACd,EAAE,UAAC,GAAG,EAAE,GAAG;QACV,yBAAyB;QACzB,IAAI,GAAG,EAAE;YACP,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;SACpB;QAED,OAAO,CAAC,GAAG,IAAK,GAAG,CAAC,OAAe,CAAC,CAAC;IACvC,CAAC,CAAC,EAZmD,CAYnD,CAAC,CAAC;AACN,CAAC;;;;;;;;;;;;ACpCY;AAEkC;AAC/C,IAAM,SAAS,GAAG,+BAAoB,CAAC;AACvC;;GAEG;AAEH;IAAA;IAuFA,CAAC;IAtFC;;;;;;;;OAQG;IACI,oBAAQ,GAAf,UAAgB,OAAO,EAAE,KAAS;QAAT,iCAAS;QAChC,IAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1C,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;IACvC,CAAC;IACD;;;;;;;;OAQG;IAGI,mBAAO,GAAd,UAAe,OAAO,EAAE,KAAS;QAAT,iCAAS;QAC/B,IAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1C,OAAO,iCAAsB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;IACxE,CAAC;IACD;;;;;;;OAOG;IAGI,oBAAQ,GAAf,UAAgB,IAAI,EAAE,EAAE;QACtB,IAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACvC,OAAO,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IACD;;;OAGG;IAGI,iBAAK,GAAZ,UAAa,OAAO;QAClB,IAAI,GAAG,GAAG,OAAO,CAAC;QAElB,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YACzB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;SACxB;QAED,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IACD;;;;;;OAMG;IAGI,gBAAI,GAAX,UAAY,IAAI,EAAE,MAAM;QACtB,iBAAiB;QACjB,IAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5C,OAAO,iCAAsB,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAEM,eAAG,GAAV,UAAW,MAAc,EAAE,OAAe;QACxC,OAAO,6BAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAEM,mBAAO,GAAd,UAAe,MAAgB;QAC7B,OAAO,iCAAsB,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAEM,kBAAM,GAAb,UAAc,OAAe;QAC3B,OAAO,gCAAqB,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAEH,kBAAC;AAAD,CAAC;;AACA,+BAA4B,GAAG,uBAAW,CAAC,KAAK,CAAC;AAClD,MAAM,CAAC,MAAM,CAAC,uBAAW,EAAE,sBAAc,CAAC,CAAC;AAC5B,6EAAW,EAAC;;;;;;;;;;AClGI;AACa;AAIT;AACkC;AAErE,SAAS,oBAAoB,CAAC,UAA2B;IACvD,OAAO,OAAO,UAAU,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACpE,CAAC;AAEM,SAAS,YAAY,CAAC,UAAkB;IAC7C,OAAO,UAAU,KAAK,SAAS,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,oBAAoB,CAAC,UAAU,CAAC,CAAC;AAC/F,CAAC;AACM,SAAS,iBAAiB,CAAC,UAA2B,EAAE,cAAsB;IAAtB,uDAAsB;IACnF,IAAI,UAAU,KAAK,SAAS,EAAE;QAC5B,OAAO,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;KAC7C;IAED,IAAI,IAAI,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IAElF,IAAI,oBAAoB,CAAC,UAAU,CAAC,EAAE;QACpC,IAAI,IAAI,GAAG,CAAC,CAAC,8BAA8B;KAC5C;IAED,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;KACtC;IAED,IAAI,GAAG,GAAG,SAAS,CAAC;IAEpB,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,EAAE;QAC7B,GAAG,GAAG,UAAU,CAAC;KAClB;SAAM,IAAI,IAAI,IAAI,GAAG,EAAE;QACtB,GAAG,GAAG,OAAO,CAAC;KACf;SAAM,IAAI,IAAI,GAAG,GAAG,EAAE;QACrB,GAAG,GAAG,MAAM,CAAC;KACd;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AACD,IAAM,cAAc,GAAG;IACrB,GAAG,EAAE,IAAI;IACT,IAAI,EAAE,IAAI;IACV,GAAG,EAAE,IAAI;IACT,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;IACZ,OAAO,EAAE,IAAI;CACd,CAAC;AACK,SAAS,eAAe,CAAC,GAAW;IACzC,OAAO,GAAG,IAAI,cAAc,CAAC;AAC/B,CAAC;AACM,SAAS,mBAAmB,CAAC,SAA2B;IAC7D,OAAO,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,cAAc,CAAC;AACzI,CAAC;AACD,IAAM,kBAAkB,GAAG;IACzB,UAAU,EAAE,QAAQ;IACpB,OAAO,EAAE,QAAQ;IACjB,gBAAgB,EAAE,QAAQ;IAC1B,OAAO,EAAE,QAAQ;IACjB,gBAAgB,EAAE,QAAQ;IAC1B,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,QAAQ;IACnB,OAAO,EAAE,QAAQ;IACjB,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,OAAO;IACjB,QAAQ,EAAE,OAAO;IACjB,WAAW,EAAE,OAAO;IACpB,aAAa,EAAE,QAAQ;IACvB,aAAa,EAAE,QAAQ;IACvB,QAAQ,EAAE,QAAQ;IAClB,oBAAoB,EAAE,QAAQ;IAC9B,UAAU,EAAE,QAAQ;CACrB,CAAC;AACK,SAAS,UAAU,CAAC,MAAqB;IAC9C,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE;QAC7B,OAAO,MAAM,CAAC,IAAI,CAAC;KACpB;IAED,IAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAEjD,KAAsB,UAAQ,EAAR,qBAAQ,EAAR,sBAAQ,EAAR,IAAQ,EAAE;QAA3B,IAAM,OAAO;QAChB,IAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAEzC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE;YACjC,OAAO,IAAI,CAAC;SACb;KACF;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AACM,SAAS,eAAe,CAAC,MAAqB,EAAE,IAAsC;IAAtC,8BAA2B,MAAM,CAAC,IAAI;IAC3F,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE;QAC5D,OAAO,KAAK,CAAC;KACd;IAED,IAAI,IAAI,KAAK,QAAQ,EAAE;QACrB,OAAO,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,oBAAoB,KAAK,SAAS,CAAC;KAClI;IAED,IAAI,IAAI,KAAK,OAAO,EAAE;QACpB,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE;YAC9B,OAAO,IAAI,CAAC;SACb;QAED,OAAO,KAAK,CAAC;KACd;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AACM,SAAS,UAAU,CAAC,WAAmB;IAC5C,OAAO,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5C,CAAC;AACM,SAAS,gBAAgB,CAAC,WAAmB;IAClD,OAAO,WAAW,KAAK,mCAAmC,CAAC;AAC7D,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAa,EAAE,SAAiB,EAAE,SAAiB;IAC/E,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAC3B,OAAO,QAAQ,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,QAAQ,EAAE,EAAZ,CAAY,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KACxD;SAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;QACvC,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,WAAC,IAAI,YAAG,CAAC,GAAG,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAG,EAAhC,CAAgC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KACzF;SAAM;QACL,OAAO,SAAS,GAAG,GAAG,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;KAC9C;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAa,EAAE,SAAiB;IAC7D,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAC3B,OAAO,CAAC,IAAI,CAAC,mDAAmD,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxF,OAAO,EAAE,CAAC;KACX;SAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;QACvC,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,WAAC,IAAI,OAAG,SAAS,SAAI,CAAC,UAAK,QAAQ,CAAC,CAAC,CAAG,EAAnC,CAAmC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACtF;SAAM;QACL,OAAO,CAAC,IAAI,CAAC,wDAAwD,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7F,OAAO,EAAE,CAAC;KACX;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY,EAAE,OAAgB,EAAE,KAAU;;IACpE,uEAAuE;IACvE,0FAA0F;IAC1F,IAAM,QAAQ,GAAG,sBAAsB,CAAC;IACxC,IAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAClC,IAAM,QAAQ,GAAG,+BAAiB,CAAC,OAAK,QAAQ,GAAG,MAAM,MAAG,CAAC,CAAC;IAC9D,OAAO,QAAQ,CAAC,MAAM;QACpB,GAAC,QAAQ,IAAG,KAAK;YACjB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;AACzD,CAAC;AACD;;;GAGG;AAGI,SAAS,oBAAoB,CAAC,OAAe,EAAE,QAEhD;IAFgD,wCAEhD;IACJ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;KACpE;SAAM;QACL,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,mBAAS;YACvC,IAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;YAC9B,SAGF,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,EAF3B,aAAc,EAAd,KAAK,mBAAG,MAAM,OACd,eAAc,EAAd,OAAO,mBAAG,IAAI,KACa,CAAC;YAE9B,QAAQ,KAAK,EAAE;gBACb,KAAK,MAAM;oBACT,OAAO,kBAAkB,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAE1D,KAAK,gBAAgB;oBACnB,OAAO,oBAAoB,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;gBAE1D,KAAK,eAAe;oBAClB,OAAO,oBAAoB,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;gBAExD,KAAK,YAAY;oBACf,OAAO,qBAAqB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;gBAEpD;oBACE,oDAAoD;oBACpD,OAAO,CAAC,IAAI,CAAC,2CAA2C,GAAG,KAAK,CAAC,CAAC;oBAClE,OAAO,EAAE,CAAC;aACb;QACH,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACd;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAY,EAAE,KAA4B,EAAE,OAAgB,EAAE,KAAU;;IACtG,IAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAClC,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAI,KAAK,KAAK,OAAO,EAAE;QACrB,MAAM,GAAG,GAAG,CAAC;KACd;SAAM,IAAI,KAAK,KAAK,QAAQ,EAAE;QAC7B,MAAM,GAAG,GAAG,CAAC;KACd,CAAC,uEAAuE;IACzE,0FAA0F;IAG1F,IAAM,QAAQ,GAAG,sBAAsB,CAAC;IACxC,IAAM,QAAQ,GAAG,+BAAiB,CAAC,MAAI,MAAM,GAAG,QAAQ,GAAG,MAAM,MAAG,CAAC,CAAC;IACtE,OAAO,QAAQ,CAAC,MAAM;QACpB,GAAC,QAAQ,IAAG,KAAK;YACjB,CAAC,OAAO,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAY,EAAE,KAA4B,EAAE,OAAgB,EAAE,KAAU;IACvG,QAAQ,KAAK,EAAE;QACb,KAAK,MAAM;YACT,OAAO,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAElD,KAAK,gBAAgB;YACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACzB,OAAO,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;gBACtE,OAAO,EAAE,CAAC;aACX;YAED,IAAI,OAAO,EAAE;gBACX,OAAO,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;aACjD;YAED,OAAU,IAAI,SAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAG,CAAC;QAExC,KAAK,eAAe;YAClB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACzB,OAAO,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;gBACrE,OAAO,EAAE,CAAC;aACX;YAED,IAAI,OAAO,EAAE;gBACX,OAAO,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;aACjD;YAED,OAAU,IAAI,SAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAG,CAAC;QAEtC,KAAK,YAAY;YACf,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBACjE,OAAO,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;gBACtF,OAAO,EAAE,CAAC;aACX;YAED,OAAO,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAE5C;YACE,OAAO,CAAC,IAAI,CAAC,8BAA8B,GAAG,KAAK,CAAC,CAAC;YACrD,OAAO,EAAE,CAAC;KACb;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,KAA4B,EAAE,OAAgB,EAAE,KAAU;;IAC1F,QAAQ,KAAK,EAAE;QACb,KAAK,QAAQ;YACX,IAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,sEAAsE;YAEzG,IAAM,MAAI,GAAG,sBAAsB,CAAC;YACpC,IAAM,QAAQ,GAAG,+BAAiB,CAAC,MAAI,MAAI,GAAG,MAAM,MAAG,CAAC,CAAC;YACzD,OAAO,kBAAkB,CAAC,QAAQ,CAAC,MAAM;gBACvC,GAAC,MAAI,IAAG,KAAK;oBACb,CAAC,CAAC;QAEN;YACE,OAAO,CAAC,IAAI,CAAC,+BAA+B,GAAG,KAAK,CAAC,CAAC;YACtD,OAAO,EAAE,CAAC;KACb;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAY,EAAE,KAA4B,EAAE,OAAgB,EAAE,KAAU;IACxG,QAAQ,KAAK,EAAE;QACb,KAAK,MAAM;YACT,OAAO,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAElD;YACE,OAAO,CAAC,IAAI,CAAC,+BAA+B,GAAG,KAAK,CAAC,CAAC;YACtD,OAAO,EAAE,CAAC;KACb;AACH,CAAC;AAEM,SAAS,+BAA+B,CAAC,KAAU,EAAE,IAAY;IACtE,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;KAC9B;SAAM;QACL,OAAO,CAAC,IAAI,CAAC,gCAA8B,IAAI,sBAAmB,CAAC,CAAC;QACpE,OAAO,EAAE,CAAC;KACX;AACH,CAAC;AACM,SAAS,uBAAuB,CAAC,SAEvC,EAAE,KAAU;IAET,QAAI,GAIF,SAAS,KAJP,EACJ,KAAK,GAGH,SAAS,MAHN,EACL,KAEE,SAAS,QAFI,EAAf,OAAO,mBAAG,KAAK,OACf,iBAAiB,GACf,SAAS,kBADM,CACL;IAEd,IAAI,iBAAiB,EAAE;QACrB,QAAQ,SAAS,CAAC,EAAE,EAAE;YACpB,KAAK,MAAM,CAAC;YACZ,KAAK,QAAQ;gBACX,OAAO,+BAA+B,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;YAEnE,KAAK,QAAQ,CAAC;YACd,KAAK,OAAO;gBACV,OAAU,IAAI,SAAI,+BAA+B,CAAC,KAAK,EAAE,iBAAiB,CAAG,CAAC;YAEhF;gBACE,OAAO,CAAC,IAAI,CAAC,iCAAiC,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;gBAC/D,OAAO,EAAE,CAAC;SACb;KACF;IAED,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,CAAC,IAAI,CAAC,sDAAoD,IAAM,CAAC,CAAC;QACzE,OAAO,EAAE,CAAC;KACX;IAED,QAAQ,SAAS,CAAC,EAAE,EAAE;QACpB,KAAK,MAAM;YACT,OAAO,sBAAsB,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAE7D,KAAK,OAAO;YACV,OAAO,uBAAuB,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAE9D,KAAK,QAAQ;YACX,OAAO,wBAAwB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAEzD,KAAK,QAAQ;YACX,OAAO,wBAAwB,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAE/D;YACE,OAAO,CAAC,IAAI,CAAC,iCAAiC,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;YAC/D,OAAO,EAAE,CAAC;KACb;AACH,CAAC;AACM,SAAS,YAAY,CAAC,WAAmB;IAC9C,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;QACrC,OAAO,KAAK,CAAC;KACd;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AACM,SAAS,iBAAiB,CAAC,OAAgB;IAChD,OAAO,kCAAkC,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;AAChE,CAAC;AACM,SAAS,iBAAiB,CAAC,OAAgB;IAChD,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,IAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAClE,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,4BAA4B,CAAC,UAA8B;IAClE,IAAI,UAAU,KAAK,SAAS,EAAE;QAC5B,OAAO;KACR;IAED,IAAM,oBAAoB,GAAG,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAErD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE;QAC1C,OAAO,iBAAe,oBAAsB,CAAC;KAC9C;IAED,OAAO,uBAAqB,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAQ,CAAC;AAC1E,CAAC;AAED,SAAS,uBAAuB,CAAC,WAAmB,EAAE,GAAuB,EAAE,GAAuB;IACpG,IAAI,WAAW,CAAC;IAEhB,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,EAAE;QAC1C,IAAI,GAAG,KAAK,GAAG,EAAE;YACf,WAAW,GAAM,GAAG,SAAI,WAAa,CAAC;SACvC;aAAM;YACL,WAAW,GAAG,OAAK,GAAG,YAAO,GAAG,WAAM,WAAa,CAAC;SACrD;KACF;SAAM,IAAI,GAAG,KAAK,SAAS,EAAE;QAC5B,WAAW,GAAG,QAAM,GAAG,SAAI,WAAa,CAAC;KAC1C;SAAM,IAAI,GAAG,KAAK,SAAS,EAAE;QAC5B,IAAI,GAAG,KAAK,CAAC,EAAE;YACb,WAAW,GAAG,WAAW,CAAC;SAC3B;aAAM;YACL,WAAW,GAAG,QAAM,GAAG,SAAI,WAAa,CAAC;SAC1C;KACF;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAEM,SAAS,mBAAmB,CAAC,MAAqB;IACvD,IAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAM,WAAW,GAAG,uBAAuB,CAAC,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAE9F,IAAI,WAAW,KAAK,SAAS,EAAE;QAC7B,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KACvB;IAED,IAAM,UAAU,GAAG,uBAAuB,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAEtF,IAAI,UAAU,KAAK,SAAS,EAAE;QAC5B,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACtB;IAED,IAAM,oBAAoB,GAAG,4BAA4B,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAE7E,IAAI,oBAAoB,KAAK,SAAS,EAAE;QACtC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;KAChC;IAED,IAAI,WAAW,CAAC;IAEhB,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE;QAChE,WAAW,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACpD,WAAW,IAAI,MAAM,CAAC,OAAO,CAAC;QAC9B,WAAW,IAAI,MAAM,CAAC;QACtB,WAAW,IAAI,MAAM,CAAC,OAAO,CAAC;QAC9B,WAAW,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;KACtD;SAAM,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE;QACvC,WAAW,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QACrD,WAAW,IAAI,MAAM,CAAC,OAAO,CAAC;KAC/B;SAAM,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE;QACvC,WAAW,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QACrD,WAAW,IAAI,MAAM,CAAC,OAAO,CAAC;KAC/B;IAED,IAAI,WAAW,KAAK,SAAS,EAAE;QAC7B,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KACvB;IAED,IAAI,MAAM,CAAC,WAAW,EAAE;QACtB,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACpB;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AACM,SAAS,cAAc,CAAC,MAAoB,EAAE,KAAoB;IAApB,kCAAoB;IACvE,IAAM,gBAAgB,GAAiB,EAAE,CAAC;IAC1C,IAAM,aAAa,GAAiB,EAAE,CAAC;IACvC,IAAM,eAAe,GAAiB,EAAE,CAAC;IACzC,MAAM,CAAC,OAAO,CAAC,eAAK;QAClB,IAAI,KAAK,CAAC,QAAQ,EAAE;YAClB,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACtF;aAAM;YACL,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC9B;IACH,CAAC,CAAC,CAAC;IACH,aAAa,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,YAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAA7C,CAA6C,CAAC,CAAC;IAC5E,OAAO,0CAAI,aAAa,EAAK,eAAe,EAAK,gBAAgB,EAAE;AACrE,CAAC;AACM,SAAS,WAAW,CAAC,MAAoB,EAAE,KAA8D;IAC9G,OAAO,0CAAI,MAAM,EAAE,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC;AACM,SAAS,WAAW,CAAC,MAAqB,EAAE,UAAoD,EAAE,eAAyD;IAA/G,4CAAoD;IAAE,sDAAyD;IAChK,IAAM,mBAAmB,GAAG,EAAE,CAAC;IAC/B,eAAe,CAAC,OAAO,CAAC,eAAK;QAC3B,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAClC,mBAAmB,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IAC1D,CAAC,CAAC,CAAC,CAAC,yEAAyE;IAE7E,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,eAAK;QAClC,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IACH,OAAO,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;AAC5C,CAAC;AACM,SAAS,sBAAsB,CAAC,KAAuC;IAC5E,IAAM,WAAW,GAAG,EAAE,CAAC;IACvB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,cAAI;QAC7B,IAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,0DAA0D;QAEpF,IAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAErD,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE;YACpC,WAAW,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC;YACvC,OAAO;SACR;QAED,WAAW,CAAC,kBAAkB,CAAC,GAAG,4EAAK,WAAW,CAAC,kBAAkB,CAAC,GACjE,IAAI,CACR,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,WAAW,CAAC;AACrB,CAAC;AACM,SAAS,4BAA4B,CAAC,GAAW,EAAE,SAAsB;IAAtB,0CAAsB;IAC9E,OAAO,GAAG,CAAC,OAAO,CAAC,sBAAsB,EAAE,UAAC,KAAK,EAAE,IAAI,IAAK,gBAAS,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,KAAK,EAAnD,CAAmD,CAAC,CAAC;AACnH,CAAC;AACM,SAAS,gBAAgB,CAAC,OAA2B,EAAE,OAAwB;IACpF,IAAM,OAAO,GAAG;QACd,IAAI,CAAC,UAAU,EAAE;YACf,OAAO,EAAE,CAAC;SACX;QAED,IAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAClC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,kCAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvD,CAAC,CAAC;IAEF,IAAM,OAAO,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,kCAAO,CAAC,OAAO,CAAC,CAAC;IAExF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACxB,+HAA+H;QAC/H,OAAO,GAAG,CAAC;gBACT,GAAG,EAAE,GAAG;aACT,CAAC,CAAC;KACJ;IAED,SAAS,YAAY,CAAC,GAAW;QAC/B,OAAO,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAM;QACvB,OAAO,4EAAK,MAAM,KAChB,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,EAC7B,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE,IACrC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AACM,IAAM,mCAAmC,GAAG,sBAAsB,CAAC;AACnE,IAAM,6BAA6B,GAAG,qBAAqB,CAAC;AAC5D,IAAM,0BAA0B,GAAG,kBAAkB,CAAC;AACtD,IAAI,+BAA+B,GAAG,yBAAyB,CAAC;AAChE,SAAS,uBAAuB,CAAC,MAAc;IACpD,+BAA+B,GAAG,MAAM,CAAC;AAC3C,CAAC;AACM,IAAM,eAAe,GAAG,cAAI,IAAI,QAAC;IACtC,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,MAAM;CAChB,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,EAHuB,CAGvB,CAAC;AACV,SAAS,gBAAgB,CAAC,GAAW;IAC1C,IAAM,eAAe,GAAG;QACtB,gBAAgB,EAAE,IAAI;QACtB,gBAAgB,EAAE,IAAI;QACtB,aAAa;QACb,eAAe,EAAE,IAAI;QACrB,eAAe,EAAE,IAAI;QACrB,YAAY,EAAE,IAAI;QAClB,2BAA2B,EAAE,IAAI;QACjC,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,IAAI;QAClB,WAAW,EAAE,IAAI;QACjB,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,IAAI;QAClB,4BAA4B,EAAE,IAAI;QAClC,uBAAuB,EAAE,IAAI;KAC9B,CAAC;IACF,OAAO,GAAG,IAAI,eAAe,CAAC;AAChC,CAAC;AACM,SAAS,iBAAiB,CAAC,GAAW,EAAE,cAA+B;IAC5E,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAG;QAChC,IAAI,cAAc,KAAK,IAAI,EAAE;YAC3B,OAAO,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;SACvD;QAED,OAAO,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG;QACjB,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACpB,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AACM,SAAS,aAAa,CAAC,WAAmB;IAC/C,OAAO,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,cAAI,IAAI,WAAI,CAAC,OAAO,CAAC,uDAAuD,EAAE,OAAO,CAAC,EAA9E,CAA8E,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5I,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpjBgC;AACS;AACH;AACI;AACO;AACT;AACG;AACJ;AACE;AACA;AACD;AACc,CAAC,aAAa;AAEzB,CAAC,MAAM;AAEH;AACN;AACD;AACG;AACF;AACC;AACF;AACE;AAC3C,IAAM,YAAY,GAAG,OAAO,CAAC;AAC7B,8BAAe,CAAC,YAAY,CAAC,YAAY,EAAE,QAAQ,EAAG;IACpD,iBAAiB,EAAE;QACjB,OAAO,EAAE,yCAAyC;QAClD,UAAU,EAAE,IAAI;KACjB;CACM,EAAG,SAAiB,CAAC,CAAC;AAC/B,8BAAe,CAAC,YAAY,CAAC,YAAY,EAAE,aAAa,EAAE;IACxD,QAAQ,EAAE;QACR,OAAO,EAAE,4BAA4B;QACrC,UAAU,EAAE,IAAI;KACjB;CACF,EAAG,SAAiB,CAAC,CAAC;AACvB;;GAEG;AAEI,SAAS,OAAO,CAAC,IAAY;IAClC,OAAO;QACL,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,QAAQ;QACd,aAAa,EAAE,YAAY;QAC3B,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,KAAK;KACZ,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC;AAC1B,CAAC;AACD;;;;;GAKG;AAEI,SAAS,SAAS,CAAC,MAAc,EAAE,IAA2B;IAA3B,0CAA2B;IACnE,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC1B,IAAI,OAAO,GAAG,8BAAe,CAAC,IAAI,CAAC,CAAC;IAEpC,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,GAAG,8BAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;KAC1C;IAED,OAAO,8BAAe,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AAChD,CAAC;;;AClED,SAAS,QAAQ,CAAC,IAAI,EAAE,IAAI;IAC1B,IAAI,OAAO,CAAC;IACZ,IAAI,IAAI,CAAC;IACT,IAAI,MAAM,CAAC;IACX,IAAI,OAAO,GAAQ,IAAI,CAAC;IACxB,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,IAAM,KAAK,GAAG;QACZ,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAChC,OAAO,GAAG,IAAI,CAAC;QACf,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEnC,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;SACvB;IACH,CAAC,CAAC;IAEF,OAAO;QACL,IAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACjC,IAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC;QAC1C,OAAO,GAAG,IAAI,CAAC,CAAC,8CAA8C;QAE9D,IAAI,GAAG,SAAS,CAAC;QAEjB,IAAI,SAAS,IAAI,CAAC,IAAI,SAAS,GAAG,IAAI,EAAE;YACtC,IAAI,OAAO,EAAE;gBACX,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,OAAO,GAAG,IAAI,CAAC;aAChB;YAED,QAAQ,GAAG,GAAG,CAAC;YACf,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAEnC,IAAI,CAAC,OAAO,EAAE;gBACZ,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;aACvB;SACF;aAAM,IAAI,CAAC,OAAO,EAAE;YACnB,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;SACxC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAEM,SAAS,QAAQ,CAAC,KAAa;IACpC,OAAO,UAAC,CAAC,EAAE,EAAE,EAAE,IAAwB;QACrC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC,CAAC;AACJ,CAAC;;;AChDM,SAAS,SAAS,CAAC,KAAa;IACrC,IAAI,KAAqC,EAAE,EAE1C;AACH,CAAC;AACM,SAAS,YAAY,CAAC,KAAa;IACxC,IAAI,KAAqC,EAAE,EAE1C;AACH,CAAC;;;;ACTD,0DAA0D;AAC1D,IAAM,QAAQ,GAAG,EAAE,CAAC;AACb,SAAS,OAAO,CAAI,MAAW,EAAE,IAAY,EAAE,UAAsC;IAC1F,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,UAAU,EAAE;QAC1C,OAAS,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,CAAwC,CAAC;KAC1F;SAAM,IAAI,OAAO,UAAU,CAAC,GAAG,KAAK,UAAU,EAAE;QAC/C,OAAQ,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,CAAgC,CAAC;KACjF;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,+DAA+D,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,CAAC;KAC1H;AACH,CAAC;AAED,SAAS,cAAc,CAAC,MAAW,EAAE,IAAY,EAAE,UAA8B;IAC/E,IAAM,YAAY,GAAG,eAAa,IAAM,CAAC;IACzC,IAAM,GAAG,GAAG,UAAU,CAAC,GAAI,CAAC;IAC5B,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC;IAChC,OAAO,4EAAK,UAAU,KAEpB,GAAG;YACD,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,QAAQ,EAAE;gBACnC,IAAI,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACrC;YAED,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5B,CAAC,IAED;AACJ,CAAC;AAED,SAAS,cAAc,CAAI,MAAW,EAAE,IAAY,EAAE,UAAsC;IAC1F,IAAI,CAAC,UAAU,CAAC,KAAK,IAAK,UAAU,CAAC,KAAa,CAAC,MAAM,GAAG,CAAC,EAAE;QAC7D,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;KACxF;IAED,IAAM,YAAY,GAAG,eAAa,IAAM,CAAC;IACzC,IAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;IAC/B,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC;IAChC,OAAO,4EAAK,UAAU,KAEpB,KAAK,EAAL;YACE,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,QAAQ,EAAE;gBACnC,IAAI,CAAC,YAAY,CAAC,GAAI,KAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAChD;YAED,OAAQ,IAAI,CAAC,YAAY,CAAS,CAAC;QACrC,CAAC,IAED;AACJ,CAAC;;;AChD6B;AACJ;AACA;AACE;AACQ;AACd;AACO;AACL;AACE;;;;ACRa;AACM;AACN;AACvC,IAAM,KAAK,GAAG,YAAY,CAAC;AAC3B;IAGE;QAAA,iBAGC;QAoBD,SAAI,GAAG;YACL,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,KAAI,CAAC,SAAS,CAAC,CAAC;QAC3C,CAAC,CAAC;QAxBA,IAAI,CAAC,OAAO,GAAG,IAAI,uCAAY,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,sBAAI,qCAAS;aAAb;YACE,OAAO,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,CAAC;;;OAAA;IAED,kCAAS,GAAT,UAAU,EAAU;QAClB,IAAI,CAAC,EAAE,EAAE;YACP,OAAO,EAAE,CAAC;SACX;QAED,OAAO,GAAG,GAAG,EAAE,CAAC;IAClB,CAAC;IAED,kCAAS,GAAT,UAAU,EAAE;QACV,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAEpD,OAAO,cAAM,cAAO,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,CAAC,EAAjC,CAAiC,CAAC;IACjD,CAAC;IAMD,6BAAI,GAAJ;QACE,IAAI,UAAU,EAAE;YACd,MAAM,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SACzD;IACH,CAAC;IAED,gCAAO,GAAP;QACE,IAAI,UAAU,EAAE;YACd,MAAM,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;SACrD;IACH,CAAC;IAID,gCAAO,GAAP,UAAQ,EAAiB,EAAE,cAA+B;QAA/B,uDAA+B;QACxD,IAAI,CAAC,UAAU,EAAE;YACf,OAAO;SACR;QAED,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,KAAK,IAAI,CAAC,SAAS,EAAE;YACvC,OAAO;SACR;QAED,IAAI,cAAc,EAAE;YAClB,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/F,OAAO;SACR;QAED,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5F,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAhBD;QAFC,uBAAI;QACJ,2BAAQ;iDAiBR;IAEH,qBAAC;CAAA;AA9D0B;AA+DpB,IAAM,sBAAO,GAAG,IAAI,6BAAc,EAAE,CAAC;AAE5C,IAAI,KAAU,EAAE,EAIf;;;;;;ACzE+B;AAChC;IAAA;QACE,QAAG,GAAuB,IAAI,GAAG,EAAE,CAAC;QAC5B,aAAQ,GAAW,EAAE,CAAC;IA+ChC,CAAC;IA7CC,2BAAG,GAAH,UAAI,EAAe;QACjB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,iBAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,8BAAM,GAAN,UAAO,EAAW;QAChB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC;IAED,+BAAO,GAAP,UAAQ,QAAmB;QAA3B,iBAaC;QAZC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAC,IAAI,EAAE,IAAI;YAC1B,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;gBACjC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACd,KAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aACvB;QACH,CAAC,CAAC,CAAC;QAEH,KAAiB,UAAQ,EAAR,qBAAQ,EAAR,sBAAQ,EAAR,IAAQ,EAAE;YAAtB,IAAM,EAAE;YACX,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBACrB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,iBAAI,CAAE,EAAkB,CAAC,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,gCAAQ,GAAR;QACE,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;IAED,4BAAI,GAAJ,UAAK,IAAa;QAAlB,iBAUC;QATC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC3B,OAAO;SACR;QAED,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,aAAG;YAClB,GAAG,CAAC,MAAM,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,KAAI,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC;IACxC,CAAC;IAED,8BAAM,GAAN;QACE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,aAAG,IAAI,UAAG,CAAC,MAAM,EAAE,EAAZ,CAAY,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;IAEH,oBAAC;AAAD,CAAC;;;;;;;;AClDgC;AACoC;AAGrE,IAAM,yBAAQ,GAAG,IAAI,4BAAe,EAAE,CAAC;AACvC,8BAAiB,CAAC;IAChB,QAAQ;IACR,SAAS,EAAE,UAAC,GAAG,EAAE,IAAI;QACnB,OAAO,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;CACF,CAAC,CAAC;AACI,IAAM,aAAa,GAAG,iEAAiE,CAAC,CAAC,kBAAkB;AAE3G,IAAM,oBAAoB,GAAG,yDAAyD,CAAC,gBAAgB;MAC5G,mDAAmD,CAAC,CAAC,eAAe;AAE/D,IAAM,gBAAgB,GAAG,KAAK,GAAG,aAAa,GAAG,GAAG,GAAG,oBAAoB,GAAG,GAAG,CAAC;AAalF,SAAS,qBAAqB,CAAC,IAAY;IAChD,OAAO,yBAAuB,IAAI,UAAO,CAAC;AAC5C,CAAC;AACD;IAqBE,0BAAmB,OAAgC;QAAnD,iBAIC;QAJkB,YAAO,GAAP,OAAO,CAAyB;QALnD,aAAQ,GAAsB,EAAE,CAAC;QAkEjC,gBAAW,GAAG,UAAC,IAAY,EAAE,KAA4B,EAAE,GAAW,EAAE,OAAuB;YAC7F,IAAI,KAAK,KAAK,CAAC,EAAE;gBACf,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aACxD;iBAAM,IAAI,KAAK,KAAK,CAAC,EAAE;gBACtB,KAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,KAAI,CAAC,iBAAiB,IAAI,KAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAI,CAAC,iBAAiB,IAAI,KAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;aAC5I;YAED,OAAO,KAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAC7D,CAAC,CAAC;QApEA,IAAI,CAAC,sBAAsB,GAAG,IAAI,4BAAe,EAAE,CAAC;QACpD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACjG,IAAI,CAAC,sBAAsB,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC;IACzD,CAAC;IAxBM,kCAAiB,GAAxB,UAAyB,OAAe,EAAE,aAAqB;QAC7D,IAAM,UAAU,GAAG,IAAI,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,cAAc,EAAE,aAAa,CAAC,EAAE,KAAK,CAAC,CAAC;QAC9F,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAEM,oCAAmB,GAA1B,UAA2B,EAAU,EAAE,OAAe;QACpD,IAAM,cAAc,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,aAAW,OAAS,EAAE,GAAG,CAAC,CAAC,CAAC;QAExE,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE;YACvB,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;SACxC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAaD,sCAAW,GAAX,UAAY,IAAY,EAAE,KAAa,EAAE,SAA4C,EAAE,QAAiB;QAA/D,wCAA+B,IAAI,CAAC,QAAQ;QACnF,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAM,IAAI,GAAG;YACX,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAI,QAAQ,SAAI,WAAW,CAAC,IAAI,CAAG,CAAC,CAAC,CAAC,aAAW,WAAW,CAAC,IAAI,CAAG;YAClF,IAAI;YACJ,KAAK;YACL,KAAK,EAAE,EAAE;SACV,CAAC;QACF,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0CAAe,GAAf,UAAgB,SAA6B;QAC3C,IAAI,SAAS,KAAK,SAAS,EAAE;YAC3B,OAAO,EAAE,CAAC;SACX;QAED,IAAM,GAAG,GAAsB,EAAE,CAAC;QAElC,KAAsB,UAAS,EAAT,uBAAS,EAAT,uBAAS,EAAT,IAAS,EAAE;YAA5B,IAAM,OAAO;YAChB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClB,GAAG,CAAC,IAAI,OAAR,GAAG,EAAS,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;SAClD;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED,qDAA0B,GAA1B,UAA2B,OAAe;QACxC,IAAM,WAAW,GAAG,UAAC,OAAwB;YAC3C,OAAO,IAAI,MAAM,CAAC,YAAU,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,MAAM,CAAG,CAAC,CAAC;QACxF,CAAC,CAAC;QAEF,IAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEzD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3B,OAAO;SACR;QAED,IAAI,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,UAAU,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5C,IAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAChC,IAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;YACpC,IAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;YAC5E,WAAW,CAAC,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAChG,WAAW,GAAG,OAAO,CAAC;YACtB,UAAU,GAAG,MAAM,CAAC;YACpB,OAAO,GAAG,UAAU,CAAC;SACtB;QAED,WAAW,CAAC,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACtF,CAAC;IAYD,mCAAQ,GAAR,UAAS,OAAe,EAAE,eAAgC;QAAhC,yDAAgC;QACxD,IAAM,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC;YAC7B,QAAQ,EAAE,IAAI,CAAC,sBAAsB;SACtC,CAAC,CAAC,CAAC,SAAS,CAAC;QACd,IAAM,GAAG,GAAG,gBAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;QAC7C,OAAO,GAAG,CAAC;IACb,CAAC;IAED,0CAAe,GAAf,UAAgB,OAAe;QAC7B,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;QACzC,IAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,OAAO,GAAG,CAAC;IACb,CAAC,EAAC,qFAAqF;IAGvF,iDAAsB,GAAtB,UAAuB,OAAe;QACpC,IAAM,UAAU,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC;QAEpE,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YACvD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;SACjC;QAED,IAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChD,IAAM,gBAAgB,GAAG,IAAI,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5F,IAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,IAAM,aAAa,GAAuB,EAAE,CAAC;QAC7C,IAAI,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,QAAQ,GAAG,CAAC,CAAC;QAEjB,OAAO,KAAK,EAAE;YACZ,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YACzD,QAAQ,GAAG,gBAAgB,CAAC,SAAS,CAAC;YACtC,IAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;YAClD,IAAM,aAAa,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC3C,IAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;YACnC,IAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAE1B,IAAI,aAAa,EAAE;gBACjB,aAAa,CAAC,IAAI,CAAC;oBACjB,SAAS,EAAE,aAAa,CAAC,SAAS;oBAClC,aAAa,EAAE,aAAa,CAAC,aAAa;oBAC1C,KAAK,EAAE,gHAAK,UAAU,CAAC,KAAK,CAAC,GACxB,aAAa,CAAC,KAAK,KACtB,QAAQ,aACT;iBACF,CAAC,CAAC;aACJ;YAED,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACxC;QAED,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5C,IAAM,GAAG,GAAU,EAAE,CAAC;QAEtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,IAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAE9B,IAAI,QAAQ,EAAE;gBACZ,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;aACnC;YAED,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE;gBACpB,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;aAC5B;SACF;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAEH,uBAAC;AAAD,CAAC;;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,EAAE,CAAC;KACX;IAED,IAAM,KAAK,GAAG,6CAA6C,CAAC;IAC5D,IAAM,MAAM,GAAG,EAAE,CAAC;IAClB,IAAI,KAAK,CAAC,CAAC,2BAA2B;IAEtC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,EAAE;QAC3C,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;YACZ,uCAAuC;YACvC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;SAC7B;aAAM,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;YACnB,mCAAmC;YACnC,IAAI,GAAG,UAAC;YAER,IAAI;gBACF,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aAC5B;YAAC,OAAO,CAAC,EAAE;gBACV,UAAU;aACX;YAED,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;SACxB;KACF;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;;;AChOyC;AAE1C;IAUE,sBAAoB,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;QACvC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;QACtD,IAAM,mBAAmB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAEhE,IAAI,mBAAmB,GAAG,CAAC,CAAC,EAAE;YAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC;SACvE;QAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAC3C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;IACrD,CAAC;IAEO,sCAAe,GAAvB;QACE,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YACvB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;SAC5B;QAED,IAAI,UAAU,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE;YACzE,IAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;gBACjE,IAAI,EAAE,kBAAkB;aACzB,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;SACzC;IACH,CAAC;IAEO,0CAAmB,GAA3B;QACE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YACxB,OAAO,cAAc,CAAC;SACvB;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEH,mBAAC;AAAD,CAAC;;;;;AC9CqE;AAOtE;IAGE,kCAAY,WAAuC,EAAE,MAAqB;QACxE,IAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,IAAI,EAAE,CAAC;QACvF,IAAI,CAAC,OAAO,GAAI,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,YAAE;YACnD,IAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;YACzC,IAAM,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;YAErC,IAAI,CAAC,MAAM,EAAE;gBACX,OAAO,CAAC,IAAI,CAAC,8CAA4C,EAAE,eAAY,CAAC,CAAC;gBACzE,OAAO,SAAS,CAAC;aAClB;YAED,OAAO,4EAAK,MAAM,KAChB,EAAE,MACF,SAAS,EAAE,+BAA+B,GAAG,EAAE,EAC/C,MAAM,YACN;QACJ,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAM,IAAI,aAAM,KAAK,SAAS,EAApB,CAAoB,CAAsB,CAAC;IACjE,CAAC;IAEH,+BAAC;AAAD,CAAC;;;;;AC9ByD;AAEC;AAEd;AAE7C;IAME,uBAAY,MAAqB,EAAE,IAAY,EAAE,SAAsC,EAAE,OAAe,EAAE,OAA+B;QAJzI,aAAQ,GAAY,KAAK,CAAC;QAE1B,eAAU,GAAqB,EAAE,CAAC;QAGhC,wCAAc,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAkB,SAAS,CAAC,CAAC;QACvD,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE1B,KAAuB,UAAkB,EAAlB,WAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAlB,cAAkB,EAAlB,IAAkB,EAAE;YAAtC,IAAM,QAAQ;YACjB,IAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC7B,IAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAE7D,KAA4B,UAAU,EAAV,yBAAU,EAAV,wBAAU,EAAV,IAAU,EAAE;gBAAnC,IAAM,aAAa;gBACtB,IAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC1C,IAAM,SAAS,GAAG,IAAI,wBAAc,CAAC,MAAM,EAAE,4EAAK,aAAa,KAC7D,QAAQ,YACR,OAAO,EAAE,uBAAW,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,EACtE,QAAQ,EAAE,aAAa,EACvB,cAAc,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE,EACrC,WAAW,EAAE,IAAI,CAAC,OAAO,KACxB,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC7B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aACjC;SACF;IACH,CAAC;IAGD,8BAAM,GAAN;QACE,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;IACjC,CAAC;IA/BD;QADC,4BAAU;mDACe;IA6B1B;QADC,wBAAM;+CAGN;IAEH,oBAAC;CAAA;AAnCyB;;;;ACNgC;AAIrB;AAE0I;AACjJ,CAAC,iFAAiF;AAEhH;IA+BE;;;OAGG;IAEH,qBAAY,MAAqB,EAAE,WAAsC,EAAE,OAAe,EAAU,OAA+B,EAAE,OAAwB;QAAxB,yCAAwB;QAAzD,YAAO,GAAP,OAAO,CAAwB;QAhCnI,eAAU,GAAW,EAAE,CAAC;QAKxB,eAAU,GAAY,KAAK,CAAC;QAkB5B,gBAAW,GAAW,CAAC,CAAC;QAUtB,wCAAc,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,IAAI,IAAI,OAAO,IAAI,EAAE,CAAC;QACjD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACvE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3B,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC5B,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhC,IAAI,OAAO,CAAC,cAAc,EAAE;YAC1B,IAAI,CAAC,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;SAC1E;IACH,CAAC;IACD;;;OAGG;IAIH,mCAAa,GAAb,UAAc,GAAW;QACvB,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;IACzB,CAAC;IAED,0BAAI,GAAJ,UAAK,MAAqB,EAAE,OAAgB;QAA5C,iBAwEC;QAvEC,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,uBAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACzG,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;QAEpC,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,OAAO;SACR;QAED,IAAI,CAAC,OAAO,IAAI,gBAAgB,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE;YACtD,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACvC,OAAO;SACR;aAAM,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,IAAI,KAAK,KAAI,CAAC,OAAO,EAAvB,CAAuB,CAAC,EAAE;YACpG,2DAA2D;YAC3D,OAAO,MAAM,CAAC,KAAK,CAAC;SACrB;QAED,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE;YAC9B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACrC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;YAE1B,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE;gBAC9B,OAAO,CAAC,IAAI,CAAC,4EAA0E,IAAI,CAAC,OAAS,CAAC,CAAC;aACxG;YAED,OAAO;SACR;QAED,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE;YAC9B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACrC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;YAC1B,OAAO;SACR;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC1B,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;SACvE;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,KAAK,EAAE;YAChD,IAAI,CAAC,KAAK,GAAG,IAAI,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,GAAG,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1F,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YACzD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YACvC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;YACvD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YAC5C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;YAE1C,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE;gBAClE,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aACrC;YAED,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;gBAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;aAC7B;SACF;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,4BAA4B,EAAE;YACjE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAClB;IACH,CAAC;IAEO,+BAAS,GAAjB,UAAkB,KAAsB,EAAE,MAAqB;QAA/D,iBAoCC;QAnCC,IAAI,CAAC,KAAK,GAAG,KAAM,CAAC,GAAG,CAAC,UAAC,OAAO,EAAE,GAAG;YACnC,IAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3C,IAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,KAAI,CAAC,OAAO,GAAG,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,qBAAqB;YAErG,IAAM,KAAK,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,uBAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YACnH,IAAM,MAAM,GAAG,IAAI,WAAW,CAAC,MAAM,EACrC,4EACK,MAAM,KACT,KAAK,SACL,KAAK,EAAE,CAAC,4EAAK,KAAI,CAAC,MAAM,KACtB,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,SAAS,IAChB,GACe,EAAE,KAAI,CAAC,OAAO,GAAG,SAAS,GAAG,GAAG,EAAE,KAAI,CAAC,OAAO,CAAC,CAAC;YACnE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,kEAAkE;YAC3F,6DAA6D;YAE7D,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE;YACrC,IAAM,KAAK,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACvC;aAAM;YACL,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAM;gBACtC,IAAI,IAAI,GAAG,MAAM,CAAC,UAAU,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAI,MAAM,CAAC,KAAK,UAAK,MAAM,CAAC,WAAW,MAAG,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBAE/G,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;oBAC7B,IAAI,GAAG,MAAI,IAAI,MAAG,CAAC;iBACpB;gBAED,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACjB;IACH,CAAC;IAEO,uCAAiB,GAAzB,UAA0B,MAEzB,EAAE,MAAqB;QAFxB,iBAyGC;QAtGC,IAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAE,CAAC;QAChD,IAAI,CAAC,iBAAiB,GAAG,aAAa,CAAC,YAAY,CAAC;QACpD,IAAM,uBAAuB,GAAG,MAAM,CAAC,WAAW,CAAC,0CAAI,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,GAAE,IAAI,CAAC,OAAO,GAAE,CAAC;QAEjG,IAAI,MAAM,CAAC,KAAK,EAAE;YAChB,KAAsB,UAAY,EAAZ,WAAM,CAAC,KAAK,EAAZ,cAAY,EAAZ,IAAY,EAAE;gBAA/B,IAAM,OAAO;gBAChB,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE;oBAC9B,SAAS;iBACV;gBAED,IAAM,MAAI,GAAG,uBAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChD,uBAAuB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,MAAI,CAAC;aAC9C;SACF;QAED,IAAM,OAAO,GAAG,aAAa,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,sEAAsE;QACnH,wCAAwC;QAExC,IAAI,kBAAkB,GAAG,aAAa,CAAC,uBAAuB,CAAC,IAAI,KAAK,CAAC,CAAC,kDAAkD;QAE5H,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YACrC,kBAAkB,GAAG,KAAK,CAAC;SAC5B;QAED,IAAM,uBAAuB,GAAG,EAAE,CAAC;QAEnC,KAAK,IAAM,MAAI,IAAI,OAAO,EAAE;YAC1B,IAAM,IAAI,GAAG,OAAO,CAAC,MAAI,CAAC,CAAC;YAE3B,IAAI,KAAK,CAAC,OAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,EAAE;gBAChD,uBAAuB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAI,CAAC,CAAC;aAC1C;iBAAM;gBACL,kCAAkC;gBAClC,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,MAAI,CAAC,CAAC;aACxC;SACF;QAED,IAAM,eAAe,GAAG,kBAAkB,CAAC,CAAC,CAAC,wCAAK,uBAAuB,EACvE,CAAC,CAAC,4EAAK,uBAAuB,GAC3B,uBAAuB,CAC3B,CAAC;QACF,IAAI,IAAI,GAGH,EAAE,CAAC;QAER,KAAmB,UAA4B,EAA5B,WAAM,CAAC,IAAI,CAAC,eAAe,CAAC,EAA5B,cAA4B,EAA5B,IAA4B,EAAE;YAA5C,IAAM,IAAI;YACb,IAAM,OAAK,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;YAEpC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAK,CAAC,EAAE;gBACxB,KAAmB,UAAK,EAAL,iBAAK,EAAL,mBAAK,EAAL,IAAK,EAAE;oBAArB,IAAM,MAAI;oBACb,IAAI,CAAC,IAAI,CAAC;wBACR,IAAI;wBACJ,IAAI;qBACL,CAAC,CAAC;iBACJ;aACF;iBAAM;gBACL,IAAI,CAAC,IAAI,CAAC;oBACR,IAAI;oBACJ,IAAI,EAAE,OAAK;iBACZ,CAAC,CAAC;aACJ;SACF,CAAC,wCAAwC;QAC1C,+EAA+E;QAC/E,6EAA6E;QAC7E,yBAAyB;QACzB,gBAAgB;QAChB,wDAAwD;QACxD,qEAAqE;QACrE,wDAAwD;QAGxD,IAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEnC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACtB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAC,IAAI,EAAE,KAAK;gBAC3B,IAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC3C,IAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAE7C,IAAI,SAAS,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,EAAE;oBACnC,gCAAgC;oBAChC,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBAC5C;qBAAM,IAAI,SAAS,GAAG,CAAC,EAAE;oBACxB,sCAAsC;oBACtC,OAAO,CAAC,CAAC;iBACV;qBAAM,IAAI,UAAU,GAAG,CAAC,EAAE;oBACzB,+BAA+B;oBAC/B,OAAO,CAAC,CAAC,CAAC;iBACX;qBAAM;oBACL,OAAO,SAAS,GAAG,UAAU,CAAC;iBAC/B;YACH,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,UAAC,EAGtB;gBAFC,IAAI,YACJ,IAAI;YAEJ,IAAM,WAAW,GAAG,IAAI,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAE,EAAE,IAAI,EAAE,KAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC3F,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC;YACzB,OAAO,WAAW,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;IA1PD;QADC,4BAAU;oDACa;IA6BxB;QADC,wBAAM;oDAGN;IA6NH,kBAAC;CAAA;AAvRuB;AAyRxB,SAAS,WAAW,CAAC,MAAqB,EAAE,MAAqB,EAAE,IAAY,EAAE,OAA+B;IAC9G,IAAM,KAAK,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;IACtC,IAAM,eAAe,GAAG,MAAM,CAAC,oBAAoB,CAAC;IACpD,IAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IACtC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAS;QACjD,IAAI,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;QAE7B,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,CAAC,IAAI,CAAC,aAAU,SAAS,mEAA6D,OAAO,KAAK,cAAQ,IAAI,OAAG,CAAC,CAAC;YAC1H,KAAK,GAAG,EAAE,CAAC;SACZ;QAED,IAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACjG,OAAO,IAAI,gBAAU,CAAC,MAAM,EAAE;YAC5B,IAAI,EAAE,SAAS;YACf,QAAQ;YACR,MAAM,EAAE,4EAAK,KAAK,KAChB,OAAO,EAAE,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAC3E;SACF,EAAE,IAAI,GAAG,cAAc,GAAG,SAAS,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,uBAAuB,EAAE;QACnC,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACtC;IAED,IAAI,OAAO,CAAC,kBAAkB,EAAE;QAC9B,qEAAqE;QACrE,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;KACjG;IAED,IAAI,OAAO,eAAe,KAAK,QAAQ,IAAI,eAAe,KAAK,IAAI,EAAE;QACnE,MAAM,CAAC,IAAI,CAAC,IAAI,gBAAU,CAAC,MAAM,EAAE;YACjC,IAAI,EAAE,CAAC,OAAO,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,4BAA4B,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;YAC5I,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe;YACvD,IAAI,EAAE,sBAAsB;SAC7B,EAAE,IAAI,GAAG,uBAAuB,EAAE,OAAO,CAAC,CAAC,CAAC;KAC9C;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAqB;IAC7C,OAAO,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,2BAA2B,CAAC,MAAmB;IACtD,IAAM,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;IAE9B,SAAS,KAAK,CAAC,MAAmB;QAChC,KAAwB,UAAkB,EAAlB,WAAM,CAAC,KAAK,IAAI,EAAE,EAAlB,cAAkB,EAAlB,IAAkB,EAAE;YAAvC,IAAM,SAAS;YAClB,IAAI,SAAS,CAAC,KAAK,EAAE;gBACnB,KAAK,CAAC,SAAS,CAAC,CAAC;gBACjB,SAAS;aACV;YAED,IAAI,SAAS,CAAC,IAAI,EAAE;gBAClB,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;aACjC;SACF;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,CAAC;IACd,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;AAC1C,CAAC;;;ACnW2C;AAE6C;AAEzF,IAAM,qBAAqB,GAEvB,EAAE,CAAC;AACP;IAME,sBAAY,MAAqB,EAAE,SAAqC,EAAS,IAAY,EAAE,QAE9F;QAFgF,SAAI,GAAJ,IAAI,CAAQ;QAG3F,IAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAEvC,IAAI,OAAO,CAAC,aAAa,EAAE;YACzB,IAAI,CAAC,gBAAgB,GAAG,gCAAU,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;SACjF;QAED,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE1B,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;YAC1E,IAAI,CAAC,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;SACzD;IACH,CAAC;IAED,uCAAgB,GAAhB,UAAiB,QAAgB;QAC/B,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC1B,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SACnC;QAED,IAAI,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;YAChD,OAAO,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;SACrD;QAED,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,aAAG;YAClF,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,aAAG;gBACxB,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;oBACX,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;iBACvC;gBAED,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE;oBACxB,IAAI;wBACF,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;qBACxB;oBAAC,OAAO,CAAC,EAAE;wBACV,OAAO,GAAG,CAAC;qBACZ;iBACF;qBAAM;oBACL,OAAO,GAAG,CAAC;iBACZ;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACtD,CAAC;IAEH,mBAAC;AAAD,CAAC;;;;;AC7DyD;AAGF;AAEjB;AACE;AACO;AAChD,IAAM,qBAAqB,GAGtB;IACH,IAAI,EAAE;QACJ,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,KAAK;KACf;IACD,KAAK,EAAE;QACL,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,IAAI;KACd;IACD,MAAM,EAAE;QACN,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,KAAK;KACf;IACD,MAAM,EAAE;QACN,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,IAAI;KACd;CACF,CAAC;AACF;;GAEG;AAEH;IAiBE,oBAAY,MAAqB,EAAE,SAGlC,EAAE,OAAe,EAAE,OAA+B;;QAlBnD,aAAQ,GAAwB,KAAK,CAAC;QAmBpC,wCAAc,CAAC,IAAI,CAAC,CAAC;QACrB,IAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAmB,SAAS,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,IAAI,OAAO,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;QACxC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAChC,IAAI,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;QAC9B,IAAI,iBAAiB,GAAG,EAAE,CAAC;QAE3B,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE;YAC3C,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC;SACzF;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,kBAAW,CAAC,MAAM,EAAE,WAAW,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC3E,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;QACrG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QAEnD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;YAC/B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,iBAAO,IAAI,WAAI,oBAAY,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAtD,CAAsD,CAAC,CAAC;SAC7G;QAED,IAAI,iBAAiB,EAAE;YACrB,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;SAC5C;aAAM,IAAI,IAAI,CAAC,KAAK,EAAE;YACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;SACzB;aAAM,IAAI,IAAI,CAAC,EAAE,EAAE;YAClB,IAAI,CAAC,KAAK,eAAG,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,0CAAE,KAAK,mCAAI,MAAM,CAAC,CAAC,2CAA2C;SAC1G;QAED,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,EAAE,EAAE;YACzC,IAAI,CAAC,OAAO,eAAG,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,0CAAE,OAAO,mCAAI,IAAI,CAAC;SAChE;aAAM;YACL,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;SAC/B;QAED,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QAC7F,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE1B,IAAI,OAAO,CAAC,cAAc,EAAE;YAC1B,IAAI,CAAC,UAAU,GAAG,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;SACnE;IACH,CAAC;IAGD,2BAAM,GAAN;QACE,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;IACjC,CAAC;IAlED;QADC,4BAAU;gDAC2B;IAgEtC;QADC,wBAAM;4CAGN;IAEH,iBAAC;CAAA;AAtEsB;;;;;;ACjCoB;AAGJ;AACa;AAEX;AACzC;IAQE;;OAEG;IAEH,wBAAY,MAAqB,EAAE,IAAY,EAAE,aAAsB,EAAE,IAAsB,EAAE,OAA+B;QAC9H,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,kBAAW,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QAC/E,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC;QAE3D,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;YAC/B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,iBAAO,IAAI,WAAI,oBAAY,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAtD,CAAsD,CAAC,CAAC;SAC7G;aAAM,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;YACrC,IAAI,CAAC,QAAQ,GAAG;gBACd,OAAO,EAAE,IAAI,oBAAY,CAAC,MAAM,EAAE;oBAChC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC;iBACxC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC;aACxB,CAAC;SACH;aAAM,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE;YAC3B,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;SACpC;IACH,CAAC;IAED,wCAAe,GAAf,UAAgB,MAAqB,EAAE,IAAsB;QAC3D,IAAM,cAAc,GAAG;YACrB,YAAY,EAAE,IAAI,CAAC,aAAa;YAChC,eAAe,EAAE,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,qBAAqB;YACjE,aAAa,EAAE,CAAC,IAAI,CAAC,aAAa;YAClC,cAAc,EAAE,EAAE;SACnB,CAAC;QAEF,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;YACpC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YAEnB,KAAwB,UAAiB,EAAjB,SAAI,CAAC,MAAM,CAAC,KAAK,EAAjB,cAAiB,EAAjB,IAAiB,EAAE;gBAAtC,IAAM,SAAS;gBAClB,IAAM,MAAM,GAAG,mCAAc,CAAC,SAAS,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;gBAEhF,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,EAAE;oBACzE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC;iBACzD;gBAED,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,oBAAY,CAAC,MAAM,EAAE;oBACxD,KAAK,EAAE,MAAM;iBACd,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC9B;SACF;aAAM,IAAI,IAAI,CAAC,MAAM,EAAE;YACtB,IAAI,CAAC,QAAQ,GAAG;gBACd,OAAO,EAAE,IAAI,oBAAY,CAAC,MAAM,EAAE;oBAChC,KAAK,EAAE,mCAAc,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC;iBAChE,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC;aAC7B,CAAC;SACH;IACH,CAAC;IAEH,qBAAC;AAAD,CAAC;;;;;ACrEmE;AAEvB;AACQ;AAGrD;;;GAGG;AAEH;IAIE;;OAEG;IAEH,2BAAY,MAAqB,EAAE,IAAsC,EAAS,aAAsB,EAAE,OAA+B;QAAvD,kBAAa,GAAb,aAAa,CAAS;QALxG,kBAAa,GAAG,CAAC,CAAC;QAMhB,wCAAc,CAAC,IAAI,CAAC,CAAC;QAErB,IAAI,OAAO,CAAC,6BAA6B,EAAE;YACzC,IAAI,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;SACrC;QAED,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,cAAI;YAC1C,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,yDAAyD;YAElF,MAAM,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,IAAI,wBAAc,CAAC,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACL,CAAC;IACD;;;OAGG;IAIH,oCAAQ,GAAR,UAAS,GAAW;QAClB,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;IAC3B,CAAC;IAGD,sBAAI,qCAAM;aAAV;YACE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7C,CAAC;;;OAAA;IAED,sBAAI,wCAAS;aAAb;YACE,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,cAAI,IAAI,QAAC,CAAC,IAAI,CAAC,QAAQ,EAAf,CAAe,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACpE,CAAC;;;OAAA;IArCD;QADC,4BAAU;4DACO;IA0BlB;QADC,wBAAM;qDAGN;IAGD;QADC,0BAAQ;mDAGR;IAMH,wBAAC;CAAA;AA1C6B;;;ACRqB;AACnD;IAKE,0BAAY,MAAqB,EAAE,SAAyC,EAAE,OAA+B;QAC3G,IAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE1B,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;YAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,8BAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;SAC3E;IACH,CAAC;IAEH,uBAAC;AAAD,CAAC;;;;;ACpByD;AAEV;AAGX;AACc;AACnD;IAUE,uBAAY,MAAqB,EAAE,IAAY,EAAE,cAAuB,EAAE,SAAsC,EAAE,OAA+B;QARjJ,aAAQ,GAAY,KAAK,CAAC;QAM1B,YAAO,GAAiB,EAAE,CAAC;QAGzB,wCAAc,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,eAAe,KAAK,KAAK,IAAI,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACnF,IAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;YAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,8BAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;SAC5E;QAED,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,SAAS,EAAE;YACnC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;YACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;SAC3C;aAAM;YACL,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;YACtC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;SACvB;QAED,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACpD,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAE7B,IAAI,OAAO,KAAK,SAAS,EAAE;YACzB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,cAAI;gBAC1C,IAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC7B,OAAO,IAAI,gBAAU,CAAC,MAAM,EAAE,4EAAK,MAAM,KACvC,IAAI,WACH,EAAE,EAAE,OAAO,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAGD,8BAAM,GAAN;QACE,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;IACjC,CAAC;IA3CD;QADC,4BAAU;mDACe;IAyC1B;QADC,wBAAM;+CAGN;IAEH,oBAAC;CAAA;AA/CyB;;;;ACPgC;AAGO;AAE0G;AAIhI;AACN;AAEY;AACN;AAOpC,SAAS,eAAe,CAAC,MAA2C;IACzE,OAAO,MAAM,CAAC,IAAI,KAAK,SAAS,IAAK,MAAc,CAAC,kBAAkB,CAAC;AACzE,CAAC;AACD,IAAI,2BAA2B,GAAG,KAAK,CAAC;AACxC;;GAEG;AAEH;IA6BE,wBAAoB,MAAqB,EAAU,aAAuC,EAAE,MAA8B,EAAU,OAA+B,EAAE,UAA2B;QAA3B,+CAA2B;QAA5K,WAAM,GAAN,MAAM,CAAe;QAAU,kBAAa,GAAb,aAAa,CAA0B;QAA0C,YAAO,GAAP,OAAO,CAAwB;QAvBnK,SAAI,GAAI,WAAqB,CAAC;QAG9B,UAAK,GAAuB,EAAE,CAAC;QAG/B,UAAK,GAAa,IAAI,CAAC;QAEvB,WAAM,GAAY,KAAK,CAAC;QAExB,aAAQ,GAAY,KAAK,CAAC,CAAC,YAAY;QAcrC,wCAAc,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC;QAC7C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC;QAC/C,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC;QAC7C,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC;QAC7C,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC;QAC3C,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC;QAE/C,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,kGAAkG;YAClG,mFAAmF;YACnF,IAAI,CAAC,QAAQ,GAAG,CAAC,aAAa,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,kBAAQ,IAAI,WAAI,4CAAwB,CAAC,QAAQ,EAAE,MAAM,CAAC,EAA9C,CAA8C,CAAC,CAAC,CAAC,qEAAqE;YAErL,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC,EAAE,EAAE,aAAa,CAAC,OAAO,IAAI,aAAa,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;SAC/F;aAAM;YACL,IAAI,CAAC,EAAE,GAAG,aAAa,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;YAC9J,IAAI,CAAC,QAAQ,GAAG,CAAC,aAAa,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,kBAAQ,IAAI,WAAI,4CAAwB,CAAC,QAAQ,EAAE,MAAM,CAAC,EAA9C,CAA8C,CAAC,CAAC;YACvI,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,OAAO,IAAI,aAAa,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;SAClI;QAED,IAAI,OAAO,CAAC,cAAc,EAAE;YAC1B,IAAI,CAAC,UAAU,GAAG,iBAAiB,CAAC,aAAa,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;SAC5E;IACH,CAAC;IACD;;OAEG;IAIH,iCAAQ,GAAR;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IACD;;OAEG;IAIH,mCAAU,GAAV;QACE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IACD;;OAEG;IAIH,+BAAM,GAAN;QACE,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;IACjC,CAAC;IAED,+BAAM,GAAN;QACE,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;SACtB;IACH,CAAC;IAED,iCAAQ,GAAR;QACE,gBAAgB;IAClB,CAAC;IAGD,sBAAI,uCAAW;aAAf;YACE,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,IAAI,4BAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3H,CAAC;;;OAAA;IAGD,sBAAI,uCAAW;aAAf;YACE,IAAI,OAAO,GAA+C,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;YAE5I,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,2BAA2B,EAAE;gBACxE,2BAA2B,GAAG,IAAI,CAAC;gBACnC,OAAO,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;aAC7E;YAED,IAAM,kBAAkB,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAExE,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,SAAS,EAAE;gBACtD,IAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;gBAC1E,OAAO,GAAG,0CAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,GAAE;wBACzC,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,SAAS;wBAChB,MAAM,EAAE,EAAE;wBACV,kBAAkB;qBACnB,GAAK,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;aACjC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;;;OAAA;IAGD,sBAAI,sCAAU;aAAd;YADA,iBAcC;YAZC,IAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,oBAAoB;aACjI,CAAC,GAAG,CAAC,oBAAU,IAAI,WAAI,gBAAU,CAAC,KAAI,CAAC,MAAM,EAAE,UAAU,EAAE,KAAI,CAAC,OAAO,EAAE,KAAI,CAAC,OAAO,CAAC,EAAnE,CAAmE,CAAC,CAAC;YAEzF,IAAI,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE;gBACxC,OAAO,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;aACzC;YAED,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE;gBACnC,OAAO,cAAc,CAAC,WAAW,CAAC,CAAC;aACpC;YAED,OAAO,WAAW,CAAC;QACrB,CAAC;;;OAAA;IAGD,sBAAI,qCAAS;aAAb;YADA,iBAiBC;YAfC,IAAI,mBAAmB,GAAG,KAAK,CAAC;YAChC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,cAAI;gBAChE,IAAI,IAAI,KAAK,SAAS,EAAE;oBACtB,OAAO,IAAI,CAAC;iBACb;gBAED,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE;oBACzC,mBAAmB,GAAG,IAAI,CAAC;iBAC5B;gBAED,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC,wCAAwC;iBAC1C,GAAG,CAAC,cAAI;gBACP,OAAO,IAAI,sBAAa,CAAC,KAAI,CAAC,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,KAAI,CAAC,OAAO,CAAC,CAAC;YACrH,CAAC,CAAC,CAAC;QACL,CAAC;;;OAAA;IAGD,sBAAI,qCAAS;aAAb;YADA,iBAKC;YAHC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,2BAAiB;gBAC1E,OAAO,IAAI,sBAAa,CAAC,KAAI,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAI,CAAC,aAAa,CAAC,SAAU,CAAC,iBAAiB,CAAC,EAAE,KAAI,CAAC,OAAO,EAAE,KAAI,CAAC,OAAO,CAAC,CAAC;YACzI,CAAC,CAAC,CAAC;QACL,CAAC;;;OAAA;IA3JD;QADC,4BAAU;iDACY;IAEvB;QADC,4BAAU;kDACa;IAExB;QADC,4BAAU;oDACe;IAkD1B;QADC,wBAAM;kDAGN;IAOD;QADC,wBAAM;oDAGN;IAOD;QADC,wBAAM;gDAGN;IAaD;QADC,OAAO;qDAGP;IAGD;QADC,OAAO;qDAsBP;IAGD;QADC,OAAO;oDAcP;IAGD;QADC,OAAO;mDAiBP;IAGD;QADC,OAAO;mDAKP;IAEH,qBAAC;CAAA;AAzK0B;;;;AC1BkB;AACL;AAExC;IAGE,sBAAY,MAAqB,EAAE,OAA+B,EAAE,SAAmC;QAFvG,eAAU,GAAqB,EAAE,CAAC;QAGhC,IAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAc,SAAS,IAAI,EAAE,CAAC,CAAC;QAC5D,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE1B,KAA0B,UAAqB,EAArB,WAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAArB,cAAqB,EAArB,IAAqB,EAAE;YAA5C,IAAM,WAAW;YACpB,IAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;YACtC,IAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAEhE,KAA4B,UAAU,EAAV,yBAAU,EAAV,wBAAU,EAAV,IAAU,EAAE;gBAAnC,IAAM,aAAa;gBACtB,IAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;gBAC7C,IAAM,SAAS,GAAG,IAAI,wBAAc,CAAC,MAAM,EAAE,4EAAK,aAAa,KAC7D,QAAQ,EAAE,aAAa,KACtB,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aACjC;SACF;IACH,CAAC;IAEH,mBAAC;AAAD,CAAC;;;;ACzBqE;AAEtE;IAkBE,6BAAY,MAAqB,EAAE,EAAU,EAAE,MAAyC;QACtF,IAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,SAAS,GAAG,+BAA+B,GAAG,EAAE,CAAC;QACtD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;QAE1C,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC1B,IAAI,CAAC,MAAM,GAAG;gBACZ,IAAI,EAAE,IAAI,CAAC,IAAK;gBAChB,EAAE,EAAE,IAAI,CAAC,EAAE;aACZ,CAAC;SACH;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;YACxB,IAAI,CAAC,IAAI,GAAG;gBACV,MAAM,EAAE,IAAI,CAAC,MAAO;gBACpB,YAAY,EAAE,IAAI,CAAC,YAAY;aAChC,CAAC;SACH;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE;YACjC,IAAI,CAAC,MAAM,GAAG;gBACZ,UAAU,EAAE,IAAI,CAAC,gBAAiB;aACnC,CAAC;SACH;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE;YACxC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;SACzB;IACH,CAAC;IAEH,0BAAC;AAAD,CAAC;;AACD;IAGE,8BAAY,MAAqB;QAC/B,IAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,IAAI,EAAE,CAAC;QACvF,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,cAAI,IAAI,WAAI,mCAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,EAApD,CAAoD,CAAC,CAAC;IACxG,CAAC;IAEH,2BAAC;AAAD,CAAC;;;;;AC9D2C;AAEc;AACP;AACyF;AAC/D;AACX;AAIlE;;;GAGG;AAEH;IAAA;QACE,aAAQ,GAAG,EAAE,CAAC;IAkBhB,CAAC;IAhBC,0BAAK,GAAL;QACE,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,0BAAK,GAAL,UAAM,GAAW;QACf,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,yBAAI,GAAJ,UAAK,GAAW;QACd,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpE,CAAC;IAED,4BAAO,GAAP,UAAQ,GAAW;QACjB,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAEH,iBAAC;AAAD,CAAC;AACD;;GAEG;AAGH;IAME,uBAAY,IAAiB,EAAE,OAAgB,EAAU,OAAgE;QAAzH,iBAUC;QAVwD,wCAAsC,6CAAsB,CAAC,EAAE,CAAC;QAAhE,YAAO,GAAP,OAAO,CAAyD;QAFjH,gBAAW,GAAe,IAAI,UAAU,EAAE,CAAC;QA+BnD;;WAEG;QAGH,UAAK,GAAG,UAAsB,GAAW;YACvC,IAAI,GAAG,CAAC;YAER,IAAI,CAAC,KAAI,CAAC,IAAI,EAAE;gBACd,OAAO;aACR;YAED,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;gBACzB,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;aACjB;YAED,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAE9B,IAAI;gBACF,GAAG,GAAG,uBAAW,CAAC,GAAG,CAAC,KAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aACvC;YAAC,OAAO,CAAC,EAAE,EAAC,aAAa;aACzB;YAED,OAAO,GAAG,IAAI,EAAE,CAAC;QACnB,CAAC,CAAC;QApDA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;QAC3B,IAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAEpD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC/B,IAAI,CAAC,OAAO,GAAG,gCAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SAC1C;IACH,CAAC;IAED,gCAAQ,GAAR,UAAS,IAAS;QAChB,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;YAC9B,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;SACpE;IACH,CAAC;IAED,kCAAU,GAAV,UAAW,IAAiB;QAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE;YAC/F,iFAAiF;YACjF,IAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;YAEhD,IAAI,CAAC,iCAAgB,CAAC,iBAAiB,CAAC,WAAW,EAAE,mCAAmC,CAAC,IAAI,CAAC,iCAAgB,CAAC,iBAAiB,CAAC,WAAW,EAAE,6BAA6B,CAAC,EAAE;gBAC5K,IAAM,OAAO,GAAG,qBAAqB,CAAC,mCAAmC,CAAC,CAAC;gBAC3E,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,iBAAiB,CAAC,WAAW,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;aACnF;SACF;IACH,CAAC;IA0BD;;OAEG;IAEH,6BAAK,GAAL,UAAM,GAAQ;QACZ,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,KAAK,CAAC;SACd;QAED,OAAO,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC;IACrD,CAAC;IACD;;OAEG;IAGH,oCAAY,GAAZ;QACE,IAAI,KAAqC,EAAE,UAO1C;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,UAAU,EAAE,CAAC;IACtC,CAAC;IAED,+BAAO,GAAP,UAAW,GAAkB;QAC3B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YACpB,OAAO;SACR;QAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IACD;;;;OAIG;IAGH,6BAAK,GAAL,UAAwB,GAAmB,EAAE,aAAqB;QAArB,qDAAqB;QAChE,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YACnB,IAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAE/C,IAAI,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;gBACjE,OAAQ;oBACN,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,UAAU;iBACZ,CAAC;aACT;YAED,IAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAI,GAAG,CAAC,IAAI,CAAE,CAAC;YAE1C,IAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAEnD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAEjC,IAAI,OAAO,IAAI,CAAC,aAAa,EAAE;gBAC7B,8BAA8B;gBAC9B,2BAA2B;gBAC3B,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE;oBACjC,gBAAgB,EAAE,IAAI;iBACvB,CAAC,CAAC;aACJ,CAAC,4CAA4C;YAG9C,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;gBACxB,IAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACjC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACvB,OAAO,GAAG,CAAC;aACZ;YAED,OAAO,QAAQ,CAAC;SACjB;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED,mCAAW,GAAX,UAA8B,GAAmB;QAC/C,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YACnB,OAAO,IAAI,CAAC,KAAK,CAAI,GAAG,CAAC,IAAI,CAAE,CAAC;SACjC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IACD;;;;;OAKG;IAGH,kCAAU,GAAV,UAAW,MAAqB,EAAE,IAAa,EAAE,aAA8B,EAAE,SAA6B;QAA9G,iBAqGC;QArGgD,qDAA8B;QAAE,4CAAgB,GAAG,EAAU;QAC5G,IAAI,IAAI,EAAE;YACR,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SACrB;QAED,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAElC,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE;YAC9B,OAAO,MAAM,CAAC;SACf;QAED,IAAI,QAAQ,+EAA6B,MAAM,KAC7C,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,EAAE,EACd,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,iBAAiB,CAAC,IAAI,CAAC,GAC/C,CAAC,CAAC,+BAA+B;QAElC,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,IAAI,OAAO,QAAQ,CAAC,UAAU,KAAK,QAAQ,EAAE;YAChF,QAAQ,CAAC,UAAU,GAAG,wCAAK,QAAQ,CAAC,UAAU,CAC7C,CAAC;SACH;QAED,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,EAAE;YACtE,QAAQ,CAAC,KAAK,GAAG,wCAAK,QAAQ,CAAC,KAAK,CACnC,CAAC;SACH;QAED,IAAM,YAAY,GAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAS;;YAC9C,IAAI,SAAS,IAAI,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;gBAChE,OAAO,SAAS,CAAC;aAClB;YAED,IAAM,QAAQ,GAAG,KAAI,CAAC,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YACtD,IAAM,MAAM,GAAG,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC;YAC3C,IAAM,SAAS,GAAG,KAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;YAC9E,cAAQ,CAAC,UAAW,EAAC,IAAI,WAAI,CAAC,SAAS,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE;YAC3D,OAAO;gBACL,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,SAAS;aAClB,CAAC;QACJ,CAAC,CAAC,CAAC,MAAM,CAAC,eAAK,IAAI,YAAK,KAAK,SAAS,EAAnB,CAAmB,CAGnC,CAAC;QAEJ,KAGK,UAAY,EAAZ,6BAAY,EAAZ,0BAAY,EAAZ,IAAY,EAAE;YAHR,2BAGV,EAFO,YAAY,YACV,SAAS;YAEjB,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE;gBACnG,OAAO,CAAC,IAAI,CAAC,sCAAmC,IAAI,cAAO,QAAQ,CAAC,IAAI,iBAAU,SAAS,CAAC,IAAI,OAAG,CAAC,CAAC;aACtG;YAED,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE;gBAChC,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;aAChC;YAED,IAAI,SAAS,CAAC,UAAU,KAAK,SAAS,EAAE;gBACtC,QAAQ,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC;gBAEhD,KAAK,IAAM,IAAI,IAAI,SAAS,CAAC,UAAU,EAAE;oBACvC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;wBAC9B,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;qBACxD;yBAAM;wBACL,yBAAyB;wBACzB,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;4BAC1C,KAAK,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;yBAC/D,EAAE,IAAI,GAAG,cAAc,GAAG,IAAI,CAAC,CAAC;qBAClC;iBACF;aACF;YAED,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS,EAAE;gBACjC,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,yBAAyB;gBAEhE,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;oBAC/B,KAAK,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC;iBACzC,EAAE,IAAI,GAAG,QAAQ,CAAC,CAAC;aACrB;YAED,IAAI,SAAS,CAAC,QAAQ,KAAK,SAAS,EAAE;gBACpC,QAAQ,CAAC,QAAQ,GAAG,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;aAC1E,CAAC,4BAA4B;YAC9B,kCAAkC;YAGlC,QAAQ,GAAG,4EAAK,SAAS,GACpB,QAAQ,CACZ,CAAC;YAEF,IAAI,YAAY,EAAE;gBAChB,QAAQ,CAAC,UAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAExC,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,IAAI,iBAAiB,CAAC,YAAY,CAAC,EAAE,EAAC,0DAA0D;oBAC9H,mDAAmD;oBACnD,uDAAuD;iBACxD;aACF;SACF;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD;;;;OAIG;IAGH,mCAAW,GAAX,UAAY,KAAe;QACzB,IAAM,GAAG,GAA6B,EAAE,CAAC;QACzC,IAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC;QAE3E,KAAK,IAAM,OAAO,IAAI,OAAO,EAAE;YAC7B,IAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YAEzC,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAtD,CAAsD,CAAC,EAAE;gBAC5G,GAAG,CAAC,uBAAuB,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,OAAO,CAAC,CAAC;aACpF;SACF;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED,mCAAW,GAAX,UAAY,KAA0B;QACpC,KAAyB,UAAsB,EAAtB,UAAK,CAAC,UAAU,IAAI,EAAE,EAAtB,cAAsB,EAAtB,IAAsB,EAAE;YAA5C,IAAM,UAAU;YACnB,IAAI,CAAC,OAAO,CAAC;gBACX,IAAI,EAAE,UAAU;aACjB,CAAC,CAAC;SACJ;IACH,CAAC;IAEO,mCAAW,GAAnB,UAAoB,MAAqB;QAAzC,iBA4BC;QA3BC,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE;YAC9B,OAAO,MAAM,CAAC;SACf;QAED,IAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;gCAElB,CAAC;YACR,IAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAErB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gBAC5B,IAAM,aAAW,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtC,IAAM,YAAU,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gCAC/B;wBACL,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAI;4BACvB,IAAM,MAAM,GAAG,KAAI,CAAC,UAAU,CAAC;gCAC7B,KAAK,EAAE,0CAAI,aAAW,GAAE,IAAI,GAAK,YAAU,CAAC;6BAC7C,CAAC,CAAC,CAAC,kEAAkE;4BACtE,6DAA6D;4BAE7D,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;4BACzB,OAAO,MAAM,CAAC;wBAChB,CAAC,CAAC;qBACH;aACF;;QAjBH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;kCAA5B,CAAC;;;SAkBT;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEH,oBAAC;AAAD,CAAC;;;;ACrW6D;AACd;AACA;AACgB;AAChB;AAEhD;;GAEG;AAEH;IAQE,mBAAY,IAAiB,EAAE,OAA2B,EAAU,OAA+B;QAA/B,YAAO,GAAP,OAAO,CAAwB;QACjG,IAAI,CAAC,MAAM,GAAG,IAAI,2BAAa,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,GAAG,IAAI,oBAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;QAClD,IAAI,CAAC,YAAY,GAAG,uBAAW,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1E,IAAI,CAAC,eAAe,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAY,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IACzF,CAAC;IAEH,gBAAC;AAAD,CAAC;;;;;AC5ByD;AAEhB;AAC8B;AAGxE;;GAEG;AAEH;IAiBE,oBAAY,IAAuB,EAAE,UAAwC,EAAE,MAAmB;QAVlG,UAAK,GAAuB,EAAE,CAAC;QAI/B,WAAM,GAAY,KAAK,CAAC;QAExB,aAAQ,GAAY,KAAK,CAAC;QAKxB,wCAAc,CAAC,IAAI,CAAC,CAAC,CAAC,uFAAuF;QAE7G,IAAI,CAAC,EAAE,GAAI,UAA8B,CAAC,EAAE,IAAI,IAAI,GAAG,GAAG,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1F,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC;QAC3D,IAAI,CAAC,KAAK,GAAI,UAA8B,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,oDAAoD;QAE7G,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,IAAI,EAAE,CAAC;QAChD,IAAM,KAAK,GAAI,UAA8B,CAAC,KAAK,CAAC;QAEpD,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;YACzB,IAAI,CAAC,WAAW,GAAG,iCAAgB,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAC1F;QAED,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,YAAY,GAAI,UAAyB,CAAC,YAAY,CAAC,CAAC,0CAA0C;QAEvG,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;YACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACtB;IACH,CAAC;IAGD,6BAAQ,GAAR;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IAGD,2BAAM,GAAN;QACE,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;SACtB;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAGD,6BAAQ,GAAR;QACE,6BAA6B;QAC7B,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;YACzB,OAAO;SACR;QAED,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAGD,+BAAU,GAAV;QACE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAxDD;QADC,4BAAU;8CACa;IAExB;QADC,4BAAU;gDACe;IA4B1B;QADC,wBAAM;8CAGN;IAGD;QADC,wBAAM;4CAON;IAGD;QADC,wBAAM;8CAQN;IAGD;QADC,wBAAM;gDAGN;IAEH,iBAAC;CAAA;AArEsB;;;ACVM;AACC;AACF;AACE;AACJ;AACK;AACH;AACD;AACF;AACD;AACE;AACQ;AACP;;;;ACX2F;AAChE;AACA;AAoB/C,IAAM,WAAW,GAAG,CAAC,CAAC;AAE7B;IAAA;IA4MA,CAAC;IA3MC;;OAEG;IACI,0BAAc,GAArB,UAAsB,MAAqB,EAAE,OAA+B;QAC1E,IAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACzB,IAAM,KAAK,GAAuB,EAAE,CAAC;QACrC,IAAM,OAAO,GAAG,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACxD,KAAK,CAAC,IAAI,OAAV,KAAK,EAAS,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE;QAEhG,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YACzD,KAAK,CAAC,IAAI,OAAV,KAAK,EAAS,WAAW,CAAC,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;SACxG;aAAM;YACL,KAAK,CAAC,IAAI,OAAV,KAAK,EAAS,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE;SACzF;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IACD;;;OAGG;IAGI,4BAAgB,GAAvB,UAAwB,WAAmB,EAAE,MAA8B,EAAE,YAAoB,EAAE,OAA+B;QAChI,IAAM,QAAQ,GAAG,IAAI,iCAAgB,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAM,QAAQ,GAAG,QAAQ,CAAC,eAAe,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QAE7D,IAAI,QAAQ,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,WAAW,EAAE;YACnD,MAAM,CAAC,WAAW,GAAG,iCAAgB,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SACjG;QAED,IAAM,eAAe,GAAG,UAAC,OAAO,EAAE,KAAK,EAAE,KAAS;YAAT,iCAAS;YAAK,YAAK,CAAC,GAAG,CAAC,iBAAO;gBACtE,IAAM,KAAK,GAAG,IAAI,sBAAU,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC1D,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;gBAEpB,IAAI,OAAO,CAAC,KAAK,EAAE;oBACjB,KAAK,CAAC,KAAK,GAAG,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;iBAChE;gBAED,IAAI,iCAAgB,CAAC,iBAAiB,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,EAAE,mCAAmC,CAAC,EAAE;oBACpG,uBAAuB,CAAC,KAAK,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;iBACzC;gBAED,OAAO,KAAK,CAAC;YACf,CAAC,CAAC;QAbqD,CAarD,CAAC;QAEH,OAAO,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IACzD,CAAC;IACD;;;OAGG;IAGI,6BAAiB,GAAxB,UAAyB,MAAqB,EAAE,MAA8B,EAAE,MAAkB,EAAE,IAAiB,EAAE,OAA+B;QACpJ,IAAM,GAAG,GAAiB,EAAE,CAAC;QAE7B,KAAoB,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM,EAAE;YAAvB,IAAM,KAAK;YACd,IAAM,IAAI,GAAG,IAAI,sBAAU,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YACpD,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC;YACzB,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAC1E,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAChB,CAAC,gCAAgC;QAGlC,OAAO,GAAG,CAAC;IACb,CAAC;IACD;;;;;OAKG;IAGI,wBAAY,GAAnB,UAAoB,MAAqB,EAAE,OAAoB,EAAE,MAA8B,EAAE,KAA2B,EAAE,OAA+B;QAC3J,IAAI,QAAQ,CAAC;QAEb,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW;SAC7C;aAAM;YACL,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;SACvB;QAED,IAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,iBAAO;YAC/B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBACrB,OAAO,CAAC,IAAI,CAAC,wBAAqB,OAAO,mCAA4B,KAAM,CAAC,IAAI,OAAG,CAAC,CAAC;gBACrF,OAAO,IAAI,CAAC;aACb;YAED,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;YAC7B,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QACH,IAAM,GAAG,GAAuC,EAAE,CAAC;QAEnD,KAAkB,UAAI,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI,EAAE;YAAnB,IAAM,GAAG;YACZ,IAAI,CAAC,GAAG,EAAE;gBACR,SAAS;aACV;YAED,IAAM,IAAI,GAAG,IAAI,sBAAU,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;YAChD,IAAI,CAAC,KAAK,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC,+DAA+D;YAE7F,IAAI,GAAG,CAAC,IAAI,KAAK,EAAE,EAAE;gBACnB,IAAM,KAAK,GAAG,0CAAI,WAAW,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,OAAO,CAAC,EAAK,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;gBACnL,GAAG,CAAC,IAAI,OAAR,GAAG,EAAS,KAAK,EAAE;gBACnB,SAAS;aACV;YAED,IAAI,CAAC,KAAK,GAAG,0CAAI,WAAW,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,OAAO,CAAC,EAAK,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YAC7K,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAChB;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IACD;;;;;OAKG;IAGI,8BAAkB,GAAzB,UAA0B,MAAqB,EAAE,MAA8B,EAAE,GAAY,EAAE,KAAa,EAAE,OAA+B;QAC3I,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/B,OAAO,EAAE,CAAC;SACX;QAED,IAAM,GAAG,GAAqB,EAAE,CAAC;QAEjC,KAA4B,UAAc,EAAd,QAAG,CAAC,UAAU,EAAd,cAAc,EAAd,IAAc,EAAE;YAAvC,IAAM,aAAa;YACtB,IAAM,SAAS,GAAG,IAAI,wBAAc,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAC7E,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC;YACxB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACrB;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IACD;;OAEG;IAGI,iCAAqB,GAA5B,UAA6B,IAAiB;QAC5C,IAAM,IAAI,GAAgB,EAAE,CAAC;QAE7B,KAAkB,UAAe,EAAf,SAAI,CAAC,IAAI,IAAI,EAAE,EAAf,cAAe,EAAf,IAAe,EAAE;YAA9B,IAAM,GAAG;YACZ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,4EAAK,GAAG,KACvB,UAAU,EAAE,EAAE,GACf,CAAC;SACH;QAED,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEpB,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE;YACtB,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,CAAC;SACnC;QAED,SAAS,OAAO,CAAC,KAAmB,EAAE,SAAmB;YACvD,KAAuB,UAAkB,EAAlB,WAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAlB,cAAkB,EAAlB,IAAkB,EAAE;gBAAtC,IAAM,QAAQ;gBACjB,IAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAC7B,IAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;gBAE7D,KAA4B,UAAU,EAAV,yBAAU,EAAV,wBAAU,EAAV,IAAU,EAAE;oBAAnC,IAAM,aAAa;oBACtB,IAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;oBAC1C,IAAI,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC;oBAEvC,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;wBAC3C,YAAY;wBACZ,aAAa,GAAG,CAAC,EAAE,CAAC,CAAC;qBACtB;oBAED,KAAsB,UAAa,EAAb,+BAAa,EAAb,2BAAa,EAAb,IAAa,EAAE;wBAAhC,IAAM,OAAO;wBAChB,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;wBAExB,IAAI,GAAG,KAAK,SAAS,EAAE;4BACrB,GAAG,GAAG;gCACJ,IAAI,EAAE,OAAO;gCACb,UAAU,EAAE,EAAE;6BACf,CAAC;4BACF,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC;yBACrB;wBAED,IAAI,GAAG,CAAC,YAAY,CAAC,EAAE;4BACrB,SAAS;yBACV;wBAED,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,4EAAK,aAAa,KACpC,QAAQ,YACR,OAAO,EAAE,uBAAW,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,EAChE,QAAQ,EAAE,aAAa,EACvB,cAAc,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE,EACrC,WAAW,EAAE,IAAI,CAAC,OAAO,EACzB,SAAS,EAAE,CAAC,CAAC,SAAS,IACtB,CAAC;qBACJ;iBACF;aACF;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEH,kBAAC;AAAD,CAAC;;;;;ACrOyD;AACb;AAE6B;AAEA;AAC9B;AAsBrC,IAAM,YAAY,GAAG,iBAAiB,CAAC;AAC9C;;GAEG;AAEH;IAiCE;;;;OAIG;IAEH,mBAAY,IAAe,EAAS,MAAqB,EAAS,OAAuB;QAAzF,iBAMC;QANmC,WAAM,GAAN,MAAM,CAAe;QAAS,YAAO,GAAP,OAAO,CAAgB;QA3BzF;;WAEG;QAIH,kBAAa,GAAW,CAAC,CAAC,CAAC;QAC3B;;WAEG;QAGH,kBAAa,GAAY,KAAK,CAAC;QAqC/B;;;WAGG;QAGH,mBAAc,GAAG,UAAC,cAAuB;YACvC,IAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI,OAAO,GAAG,KAAI,CAAC,aAAa,CAAC;YAEjC,OAAO,IAAI,EAAE;gBACX,IAAI,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE;oBACrC,MAAM;iBACP;gBAED,IAAI,OAAO,IAAI,KAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,EAAE;oBAC1D,MAAM;iBACP;gBAED,IAAI,cAAc,EAAE;oBAClB,IAAM,EAAE,GAAG,KAAI,CAAC,wBAAwB,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;oBAEtD,IAAI,KAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE;wBACnC,MAAM;qBACP;iBACF;qBAAM;oBACL,IAAM,EAAE,GAAG,KAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBAEtC,IAAI,KAAI,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE;wBAClC,MAAM;qBACP;iBACF;gBAED,OAAO,IAAI,IAAI,CAAC;aACjB;YAED,KAAI,CAAC,QAAQ,CAAC,KAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACrD,CAAC,CAAC;QACF;;;WAGG;QAEH,oBAAe,GAAG,UAAC,EAAmC;YAAnC,0BAAa,KAAI,CAAC,OAAO,CAAC,SAAS;YACpD,IAAI,CAAC,EAAE,EAAE;gBACP,OAAO;aACR;YAED,IAAI,IAA2B,CAAC;YAChC,IAAI,GAAG,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,KAAK,EAAE,EAAX,CAAW,CAAC,CAAC;YAE7C,IAAI,IAAI,EAAE;gBACR,KAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aACrC;iBAAM;gBACL,IAAI,EAAE,CAAC,UAAU,CAAC,+BAA+B,CAAC,EAAE;oBAClD,IAAI,GAAG,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAC,IAAI,sCAA+B,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAhD,CAAgD,CAAC,CAAC;oBAClF,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;iBACrB;gBAED,KAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,MAAI,YAAY,WAAK,EAAE,QAAI,CAAC,CAAC;aACnE;QACH,CAAC,CAAC;QAkCF,gBAAW,GAAG,UAAC,EAAU;YACvB,OAAO,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAI,IAAI,WAAI,CAAC,EAAE,KAAK,EAAE,EAAd,CAAc,CAAC,CAAC;QACrD,CAAC,CAAC;QAtHA,wCAAc,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAC,IAAI,EAAE,GAAG,IAAK,WAAI,CAAC,WAAW,GAAG,GAAG,EAAtB,CAAsB,CAAC,CAAC;QAC9D,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IA5CD;;;OAGG;IACI,yBAAe,GAAtB,UAAuB,EAAkC,EAAE,MAAqB;QAAzD,0BAAa,sBAAW,CAAC,SAAS;QACvD,IAAI,CAAC,EAAE,EAAE;YACP,OAAO;SACR;QAED,MAAM,CAAC,wBAAwB,CAAC,MAAI,YAAY,WAAK,EAAE,QAAI,CAAC,CAAC;IAC/D,CAAC;IAoCD,6BAAS,GAAT;QACE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC/D,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACvE,CAAC;IAGD,iCAAa,GAAb;QACE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACzD,CAAC;IAGD,gCAAY,GAAZ;QACE,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC7B,CAAC;IA+DD;;;OAGG;IAEH,gCAAY,GAAZ,UAAa,GAAW;QACtB,IAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACjC,OAAO,IAAI,IAAI,aAAa,CAAC,MAAI,YAAY,WAAK,IAAI,CAAC,EAAE,QAAI,CAAC,IAAI,IAAI,CAAC;IACzE,CAAC;IACD;;;OAGG;IAGH,4CAAwB,GAAxB,UAAyB,GAAW;QAClC,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAE/B,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;YACjC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACtB;QAED,OAAO,IAAI,IAAI,aAAa,CAAC,MAAI,YAAY,WAAK,IAAI,CAAC,EAAE,QAAI,CAAC,IAAI,IAAI,CAAC;IACzE,CAAC;IAMD,sBAAI,iCAAU;QALd;;WAEG;aAGH;YACE,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC;QACzD,CAAC;;;OAAA;IAKD;;;;;OAKG;IAGH,4BAAQ,GAAR,UAAS,IAA2B,EAAE,cAA8B,EAAE,cAA+B;QAA/D,sDAA8B;QAAE,uDAA+B;QACnG,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,EAAE;YACjE,OAAO;SACR;QAED,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;YACjC,OAAO;SACR;QAED,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEjC,IAAI,CAAC,IAAI,EAAE;YACT,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;YACzC,OAAO;SACR,CAAC,sCAAsC;QACxC,6BAA6B;QAG7B,IAAI,IAAI,CAAC,KAAK,IAAI,WAAW,EAAE;YAC7B,OAAO;SACR;QAED,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAY,CAAC;QAEvC,IAAI,cAAc,EAAE;YAClB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;SAC/C;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IACD;;;OAGG;IAGH,8BAAU,GAAV,UAAW,IAA2B;QACpC,IAAI,IAAI,KAAK,SAAS,EAAE;YACtB,OAAO;SACR;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;QAElB,OAAO,IAAI,KAAK,SAAS,EAAE;YACzB,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;SACpB;IACH,CAAC;IACD;;;OAGG;IAIH,qCAAiB,GAAjB,UAAkB,IAA2B,EAAE,cAAwB,EAAE,cAAwB;QAC/F,mFAAmF;QACnF,IAAM,QAAQ,GAAG,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;QAC3D,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;QACxD,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE;YACvC,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;IACH,CAAC;IACD;;OAEG;IAGH,kCAAc,GAAd;QACE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,2BAAO,GAAP;QACE,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IApOD;QADC,4BAAU;oDACgB;IAM3B;QADC,4BAAU;oDACoB;IA6B/B;QADC,wBAAM;kDAGN;IAGD;QADC,wBAAM;iDAGN;IA2GD;QADC,wBAAM;6CA+BN;IA0BD;QADC,wBAAM,CAAC,KAAK;sDAUZ;IAgBH,gBAAC;CAAA;AAxPqB;;;;ACjCO;AACiB;AACiB;AAE/D,IAAM,mBAAK,GAAG,QAAQ,CAAC;AACvB;IAKE,uBAAoB,OAA+B;QAA/B,YAAO,GAAP,OAAO,CAAwB;QAF3C,iBAAY,GAAG,CAAC,CAAC;QAGvB,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QACrD,IAAI,CAAC,OAAO,GAAG,IAAI,uBAAY,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,4BAAI,GAAJ;QACE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAEnC,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;SAClE;IACH,CAAC;IAED,+BAAO,GAAP;QACE,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;SACrE;QAED,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,mBAAK,CAAC,CAAC;IACzC,CAAC;IAED,+BAAO,GAAP;QACE,IAAI,OAAO,WAAW,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,YAAY,WAAW,EAAE;YACnF,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;SACrC;aAAM,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE;YAC3C,OAAQ,IAAI,CAAC,aAAwB,CAAC,WAAW,CAAC;SACnD;aAAM;YACL,OAAO,CAAC,CAAC;SACV;IACH,CAAC;IAED,uCAAe,GAAf,UAAgB,EAAkB;QAChC,IAAI,EAAE,KAAK,IAAI,EAAE;YACf,OAAO;SACR;QAED,OAAO,EAAE,CAAC,qBAAqB,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;IACvE,CAAC;IAED,sCAAc,GAAd,UAAe,EAAkB;QAC/B,IAAI,EAAE,KAAK,IAAI,EAAE;YACf,OAAO;SACR;QAED,IAAM,GAAG,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAC,GAAG,CAAC;QAC3C,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;IACtF,CAAC;IAED,iCAAS,GAAT,UAAU,EAAE;QACV,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,mBAAK,EAAE,EAAE,CAAC,CAAC;QAEpD,OAAO,cAAM,cAAO,CAAC,cAAc,CAAC,mBAAK,EAAE,EAAE,CAAC,EAAjC,CAAiC,CAAC;IACjD,CAAC;IAED,sCAAc,GAAd,UAAe,OAAuB;QACpC,IAAI,OAAO,KAAK,IAAI,EAAE;YACpB,OAAO;SACR;QAED,OAAO,CAAC,cAAc,EAAE,CAAC;QAEzB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;YACrD,yEAAyE;YACxE,IAAI,CAAC,aAAa,CAAC,QAAgB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC;SAC5E;IACH,CAAC;IAED,gDAAwB,GAAxB,UAAyB,QAAgB;QACvC,IAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAID,oCAAY,GAAZ;QACE,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAM,cAAc,GAAG,OAAO,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACvD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAEnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAK,EAAE,cAAc,CAAC,CAAC;IAC3C,CAAC;IAND;QAFC,uBAAI;QACJ,QAAQ,CAAC,GAAG,CAAC;qDAOb;IAEH,oBAAC;CAAA;AAxFyB;;;;ACLa;AAKvC,SAAS,SAAS;IAChB,IAAI,MAAwB,CAAC;IAE7B,IAAI,UAAU,EAAE;QACd,IAAI;YACF,2BAA2B;YAC3B,MAAM,GAAG,mBAAO,CAAC,EAA8D,CAAC,CAAC;SAClF;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,GAAG,mBAAO,CAAC,EAAuB,CAAC,CAAC,OAAO,CAAC;SACnD;KACF;SAAM;QACL,MAAM,GAAG,mBAAO,CAAC,EAAuB,CAAC,CAAC,OAAO,CAAC;KACnD;IAED,OAAO,IAAI,MAAM,EAAE,CAAC;AACtB,CAAC;AAED;IAAA;QACE,iBAAY,GAAG,SAAS,EAAE,CAAC;IA4C7B,CAAC;IA1CC,gCAAU,GAAV,UAAW,MAAyC;QAApD,iBAaC;QAZC,IAAM,OAAO,GAAG,eAAK;YACnB,KAAK,CAAC,OAAO,CAAC,eAAK;gBACjB,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;oBAC1B,KAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;iBACzD;gBAED,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,OAAO,CAAC,MAAM,CAAC,CAAC;QAChB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,yBAAG,GAAH,UAAI,KAAa,EAAE,IAAY,EAAE,IAAQ;QACvC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,6BAAO,GAAP;QACG,IAAI,CAAC,YAAoB,CAAC,SAAS,EAAE,CAAC;QACtC,IAAI,CAAC,YAAoB,CAAC,OAAO,EAAE,CAAC;IACvC,CAAC;IAED,4BAAM,GAAN,UAAO,CAAS;QACd,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAI,CAAC,CAAC,CAAC;IACxC,CAAC;IAEK,0BAAI,GAAV;;;gBACE,sBAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAAC;;;KACjC;IAED,0BAAI,GAAJ,UAAK,KAAU;QACb,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,oCAAc,GAAd,UAAe,IAAa,EAAE,UAAmB;QAC/C,IAAI,IAAI,IAAI,UAAU,EAAE;YACtB,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;SACpD;IACH,CAAC;IAEH,kBAAC;AAAD,CAAC;;;;;ACnEoD;AACA;AAC9C,IAAM,WAAW,GAAG,iBAAM,CAAC,GAAG,8KAEnC,yBACqB,EAAqC,mBAC7C,EAA8C,WAEzD;IAMD,KACF,KAVsB,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAA5B,CAA4B,EAC7C,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAArC,CAAqC,EAEzD,UAAC,EAGJ;QAFC,OAAO,eACP,KAAK;IACD,YAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,2LAErB,EAAuF,OACnG,KADY,CAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,YAAM,KAAK,CAAC,OAAO,CAAC,iBAAiB,OAAI;AAFhG,CAGH,CACF,CAAC;AACK,IAAM,OAAO,GAAG,iBAAM,CAAC,GAAG,CAAC,KAAK,CAAC,eAAK;;IAAI;QAC/C,GAAC,YAAY,IAAG,KAAK,CAAC,EAAE;WACxB;AAF+C,CAE/C,CAAC,8PAED,eACW,EAA4C,iIAUrD;IAED,MACC;IAWK,IACR,KAzBY,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,EAAnC,CAAmC,EAUrD,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,0JAE/B,MACC,UAAC,KAAU,IAAK,YAAK,CAAC,UAAU,IAAI,0OAWrC,IAAI,EAAE,EAXW,CAWX,CACR,CAAC;AACK,IAAM,UAAU,GAAG,iBAAM,CAAC,GAAG,2MACzB,EAAqC,cACrC;IAEqB,yBACV,EAA+C,kBACtD,EAA8C,WAEzD;IAGD,KACF,KAXU,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAA5B,CAA4B,EACrC,UAAC,EAEX;QADC,KAAK;IACD,YAAK,CAAC,UAAU,CAAC,SAAS;AAA1B,CAA0B,EACV,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,EAAtC,CAAsC,EACtD,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAArC,CAAqC,EAEzD,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,6KAEnB,EAA8F,OAC1G,KADY,eAAK,IAAI,OAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,WAAM,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,OAAI,EAArF,CAAqF,EAE5G,CAAC;AACK,IAAM,cAAc,GAAG,iBAAM,CAAC,UAAU,CAAC,qJAC1B,EAA+C,KACpE,KADqB,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,EAAtC,CAAsC,CACpE,CAAC;AACK,IAAM,GAAG,GAAG,iBAAM,CAAC,GAAG,uNAKzB;IAED,KACF,KAHG,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,oKAE/B,KACF,CAAC;;;;;ACvEiE;AACnE,IAAM,cAAc,GAAG;IACrB,CAAC,EAAE,WAAW;IACd,CAAC,EAAE,WAAW;IACd,CAAC,EAAE,QAAQ;CACZ,CAAC;AACK,IAAM,iBAAiB,GAAG,eAAK,IAAI,UAAG,2NAC5B;IAEyB,oBACzB;IAEyB,kBAC3B,EAAqB,oBACnB;IAEyB,KACzC,KAVgB,UAAC,EAEjB;QADC,KAAK;IACD,YAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU;AAApC,CAAoC,EACzB,UAAC,EAEjB;QADC,KAAK;IACD,YAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU;AAApC,CAAoC,EAC3B,cAAc,CAAC,KAAK,CAAC,EACnB,UAAC,EAEjB;QADC,KAAK;IACD,YAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU;AAApC,CAAoC,GAVA,CAWzC,CAAC;AACK,IAAM,EAAE,GAAG,iBAAM,CAAC,EAAE,4JACvB,EAAoB,cACb;IAEoB,SAE3B,EAAoB,KACvB,KANG,iBAAiB,CAAC,CAAC,CAAC,EACb,UAAC,EAEX;QADC,KAAK;IACD,YAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI;AAAzB,CAAyB,EAE3B,cAAc,CAAC,IAAI,CAAC,CACvB,CAAC;AACK,IAAM,EAAE,GAAG,iBAAM,CAAC,EAAE,6JACvB,EAAoB,0BAGpB,EAAoB,KACvB,KAJG,iBAAiB,CAAC,CAAC,CAAC,EAGpB,cAAc,CAAC,IAAI,CAAC,CACvB,CAAC;AACK,IAAM,EAAE,GAAG,iBAAM,CAAC,EAAE,6JACvB,EAAoB,0BAGpB,EAAoB,KACvB,KAJG,iBAAiB,CAAC,CAAC,CAAC,EAGpB,cAAc,CAAC,IAAI,CAAC,CACvB,CAAC;AACK,IAAM,gBAAgB,GAAG,iBAAM,CAAC,EAAE,0JAC9B;IAEqB,SAE5B,EAAkC,KACrC,KALU,UAAC,EAEX;QADC,KAAK;IACD,YAAK,CAAC,UAAU,CAAC,SAAS;AAA1B,CAA0B,EAE5B,cAAc,CAAC,kBAAkB,CAAC,CACrC,CAAC;AACK,IAAM,gBAAgB,GAAG,iBAAM,CAAC,EAAE,miBASrC,EAAkC,KACrC,KADG,cAAc,CAAC,kBAAkB,CAAC,CACrC,CAAC;;;;;;;;ACvD0D,CAAC,8DAA8D;AAE1E;AACT;AAEK;AAmBvC,qBAGF,wCAAa,CAAuB,SAAS,CAAC,EAFhD,QAAQ,4BACR,QAAQ,0BACwC,CAAC;AACa;AAChE;IAAkC,2DAA+C;IAAjF;QAAA,qEA2FC;QA7EC,WAAK,GAAsB;YACzB,OAAO,EAAE,IAAI;YACb,YAAY,EAAE,IAAI;SACnB,CAAC;;IA0EJ,CAAC;IA1FQ,qCAAwB,GAA/B,UAAgC,SAA4B,EAAE,SAA4B;QACxF,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,QAAQ,EAAE;YACxF,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,IAAI;gBAClB,QAAQ,EAAE,SAAS,CAAC,IAAI;gBACxB,WAAW,EAAE,SAAS,CAAC,OAAO;aAC/B,CAAC;SACH;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAQD,gCAAS,GAAT,UAAU,IAAI,EAAE,OAAO,EAAE,OAAO;QAC9B,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,SAAS,CAAC;SAClB;QAED,IAAI;YACF,OAAO,IAAI,iBAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7C;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;gBACvB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aACxB;YAED,MAAM,CAAC,CAAC;SACT;IACH,CAAC;IAED,wCAAiB,GAAjB;QACE,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,yCAAkB,GAAlB;QACE,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,IAAI,EAAE;YACpC,IAAI,CAAC,IAAI,EAAE,CAAC;SACb;aAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YACrD,wBAAwB;YACxB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;SACvB;IACH,CAAC;IAEK,2BAAI,GAAV;;;;;;wBACQ,KAGF,IAAI,CAAC,KAAK,EAFZ,OAAO,eACP,IAAI,WACS;;;;wBAGQ,qBAAM,iBAAiB,CAAC,IAAI,IAAI,OAAQ,CAAC;;wBAAxD,YAAY,GAAG,SAAyC;wBAC9D,IAAI,CAAC,QAAQ,CAAC;4BACZ,YAAY;4BACZ,OAAO,EAAE,KAAK;yBACf,CAAC,CAAC;;;;wBAEH,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;4BACvB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAC,CAAC,CAAC;yBACxB;wBAED,IAAI,CAAC,QAAQ,CAAC;4BACZ,KAAK,EAAE,GAAC;yBACT,CAAC,CAAC;;;;;;KAEN;IAED,6BAAM,GAAN;QACE,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YACpB,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;SACxB;QAEK,SAGF,IAAI,CAAC,KAAK,EAFZ,OAAO,eACP,OAAO,aACK,CAAC;QACT,SAGF,IAAI,CAAC,KAAK,EAFZ,OAAO,eACP,YAAY,kBACA,CAAC;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;YACzB,OAAO;YACP,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC;SACtD,CAAC,CAAC;IACL,CAAC;IArED;QADC,eAAO;iDAeP;IAyDH,mBAAC;CAAA,CA3FiC,4BAAS,GA2F1C;AA3FwB;;;;AC7BM;AAC4B;AACR;AAG5C,IAAM,YAAY,GAAG,mBAAS,IAAI,UAAG,ytDACxC,EAAS,iKAST,EAAS,81CAYE,EAAS,uBAAwB,EAAS,YAAa,EAAS,mDAG9E,KAxBG,SAAS,EAST,SAAS,EAYE,SAAS,EAAwB,SAAS,EAAa,SAAS,GAtBtC,CAyBxC,CAAC;AAEF,IAAM,eAAe,GAAG,eAAK,IAAI,QAAC,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,EAApE,CAAoE,CAAC;AAEtG;IAA0B,mDAIxB;IAJF;QAAA,qEAuBC;QAlBC,cAAQ,GAAG,UAAC,OAAuB,EAAE,KAAK;YACxC,IAAI,CAAC,KAAK,CAAC,gBAAgB,IAAI,4BAA4B;gBAC3D,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,oCAAoC;gBAC1D,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,mCAAmC;cACzD;gBACE,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,OAAO,CAAC,OAAO,CAAC,KAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aAChC;QACL,CAAC,CAAC;;IAUJ,CAAC;IARC,qBAAM,GAAN;QAAA,iBAMC;QALC,OAAO,iCAAC,QAAa,QAChB,eAAK,IAAI,+CAAG,SAAS,EAAE,KAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,KAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAI,EAAE,KAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IACnJ,KAAI,CAAC,KAAK,CAAC,QAAQ,CAClB,EAFI,CAEJ,CACQ,CAAC;IACrB,CAAC;IAEH,WAAC;AAAD,CAAC,CAvByB,4BAAe,GAuBxC;;AACD,IAAM,eAAe,GAAG,iBAAM,CAAC,YAAI,CAAC,iIAChC,EAAiB,KACpB,KADG,YAAY,CAAC,GAAG,CAAC,CACpB,CAAC;AACK,SAAS,SAAS,CAAC,KAEzB;IACC,OAAO,iCAAC,eAAe,IAAC,EAAE,EAAE,KAAK,CAAC,EAAE,GAAI,CAAC;AAC3C,CAAC;;;;;ACjE8B;AACW;AAC1C,IAAM,YAAY,GAAG;IACnB,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,QAAQ;IACf,EAAE,EAAE,SAAS;IACb,IAAI,EAAE,GAAG;CACV,CAAC;AAEF;IAA2B,2DAOzB;IAPF;;IAcA,CAAC;IANC,6BAAM,GAAN;QACE,OAAO,0CAAK,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAC,KAAK,EAAC,OAAO,EAAC,WAAW,EAAC,CAAC,EAAC,GAAG,EAAC,KAAK,EAAC,4BAA4B,EAAC,CAAC,EAAC,GAAG,iBAAa,MAAM;YACrK,8CAAS,MAAM,EAAC,oDAAoD,GAAG,CACnE,CAAC;IACX,CAAC;IAEH,mBAAC;AAAD,CAAC,CAd0B,gCAAmB,GAc7C;AAEM,IAAM,SAAS,GAAG,iBAAM,CAAC,mBAAY,CAAC,oTACjC,EAA6B,cAC9B,EAA6B,yCAE7B,EAA0B,kEAEd,EAAgD,+BAG3D;IAGgF,UAE3F,KAbW,eAAK,IAAI,YAAK,CAAC,IAAI,IAAI,MAAM,EAApB,CAAoB,EAC9B,eAAK,IAAI,YAAK,CAAC,IAAI,IAAI,MAAM,EAApB,CAAoB,EAE7B,eAAK,IAAI,YAAK,CAAC,KAAK,IAAI,EAAE,EAAjB,CAAiB,EAEd,eAAK,IAAI,mBAAY,CAAC,KAAK,CAAC,SAAS,IAAI,MAAM,CAAC,EAAvC,CAAuC,EAG3D,UAAC,EAGZ;QAFC,KAAK,aACL,KAAK;IACD,YAAK,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,KAAK;AAAtF,CAAsF,CAE3F,CAAC;AACK,IAAM,KAAK,GAAG,iBAAM,CAAC,IAAI,2YAE9B,qFAIoB,EAA4C,cACvD,EAAoD,kBAChD,EAA6C,2FAI3C;IAEoB,uEAKpC,KAbqB,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAnC,CAAmC,EACvD,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,YAAY,EAA3C,CAA2C,EAChD,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAApC,CAAoC,EAI3C,UAAC,EAEjB;QADC,KAAK;IACD,YAAK,CAAC,UAAU,CAAC,cAAc;AAA/B,CAA+B,CAKpC,CAAC;;;;;AC3DyC;AACpC,IAAM,aAAa,GAAG,GAAG,8NAG/B,KAAC;;;;;ACJF,6CAA6C;AACwB;AAC5B;AAClC,IAAM,sBAAsB,GAAG,iBAAM,CAAC,OAAO,iSAIzC,EAA0C,KACpD,KADU,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAjC,CAAiC,CACpD,CAAC;AACK,IAAM,YAAY,GAAG,iBAAM,CAAC,EAAE,g7BAEnC,6BACyB,EAAsC,yFAK7D;IAGD,mUAeK,EAAsC,gBACtC,EAAsC,yGAOtC,EAAsC,cACtC,EAAsC,0OAc7C,KA9C0B,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAA7B,CAA6B,EAK7D,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,8NAGxB,MAeK,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAA7B,CAA6B,EACtC,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAA7B,CAA6B,EAOtC,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAA7B,CAA6B,EACtC,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAA7B,CAA6B,CAc7C,CAAC;AACK,IAAM,qBAAqB,GAAG,iBAAM,CAAC,YAAY,CAAC,gKAExD,KAAC;AACK,IAAM,gBAAgB,GAAG,iBAAM,CAAC,YAAY,CAAC,qZAKnC,EAA+C,6BAG1D,EAAa,cAGf;IAE8C,SAE9C,EAAkC,KACrC,KAXgB,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAtC,CAAsC,EAG1D,aAAa,EAGf,UAAC,EAEJ;QADC,IAAI;IACA,WAAI,KAAK,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE;AAA5C,CAA4C,EAE9C,cAAc,CAAC,kBAAkB,CAAC,CACrC,CAAC;AACK,IAAM,mBAAmB,GAAG,iBAAM,CAAC,EAAE,iXAGjC,EAA+C,wFAOtD;IAQD,QAEC,EAAqC,KACxC,KAlBU,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,EAAtC,CAAsC,EAOtD,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,uVAGE,EAAsC,6DAKhE,KAL0B,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAA7B,CAA6B,GAO/D,cAAc,CAAC,qBAAqB,CAAC,CACxC,CAAC;AACK,IAAM,cAAc,GAAG,iBAAM,CAAC,IAAI,8fAC9B,EAAsC,oBAChC,EAA+C,4KAS9C,EAAsC,sIAQtC,EAAsC,4BAGvD,KArBU,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAA7B,CAA6B,EAChC,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAtC,CAAsC,EAS9C,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAA7B,CAA6B,EAQtC,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAA7B,CAA6B,CAGvD,CAAC;AACK,IAAM,mBAAmB,GAAG,iBAAM,CAAC,GAAG,+JAChC;IAEoB,KAChC,KAHY,UAAC,EAEb;QADC,KAAK;IACD,YAAK,CAAC,MAAM,CAAC,cAAc;AAA3B,CAA2B,CAChC,CAAC;AACK,IAAM,eAAe,GAAG,iBAAM,CAAC,KAAK,qsBAG5B,EAAwC,+FASnD;IAKD,QAEC;IAKD,eAGG,EAAmB,gBAEnB,EAAmB,QACnB,EAAmB,QACnB,EAAmB,gBAEnB,EAAmB,QACnB,EAAmB,QACnB,EAAmB,QACnB,EAAmB,QACnB,EAAmB,kBACX;IAEmB,2CAEf;IAEiB,qBAI7B,EAAmB,QACnB,EAAmB,gBAEnB,EAAmB,QACnB,EAAmB,QACnB,EAAmB,QACnB,EAAmB,gBAEnB,EAAmB,QACnB,EAAmB,QACnB,EAAmB,QACnB,EAAmB,QACnB,EAAmB,QACnB,EAAmB,qCAGxB,KA7Dc,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,EAA/B,CAA+B,EASnD,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,sQAKxB,MAEC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,+BAA+B,CAAC,8NAKhE,MAGG,mBAAmB,EAEnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EAEnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACX,UAAC,EAEd;QADC,KAAK;IACD,YAAK,CAAC,MAAM,CAAC,cAAc;AAA3B,CAA2B,EAEf,UAAC,EAElB;QADC,KAAK;IACD,YAAK,CAAC,MAAM,CAAC,gBAAgB;AAA7B,CAA6B,EAI7B,mBAAmB,EACnB,mBAAmB,EAEnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EAEnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,CAGxB,CAAC;;;;;ACjMwC;AACR;AAC3B,IAAM,SAAS,GAAG,iBAAM,CAAC,GAAG,oNAGlC,KAAC;AACK,IAAM,UAAU,GAAG,iBAAM,CAAC,IAAI,8PAG1B,EAAwC,oBAClC,EAAmD,QAEnE,KAHU,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAA/B,CAA+B,EAClC,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,EAA1C,CAA0C,CAEnE,CAAC;AACK,IAAM,kBAAW,GAAG,iBAAM,CAAC,MAAM,wXAEtC,yIAMoB,EAAwC,2GAKlC,EAAwC,cAGhE;IAgBH,IACA,KAzBqB,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAA/B,CAA+B,EAKlC,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAA/B,CAA+B,EAGhE,eAAK;IACP,IAAI,KAAK,CAAC,MAAM,EAAE;QAChB,OAAO,oDAEe,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,iFAG7B,oCAAM,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,uBAElE,CAAC;KACL;SAAM;QACL,OAAO,sBACM,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,gDAEzC,CAAC;KACL;AACH,CAAC,CACA,CAAC;AACK,IAAM,kBAAkB,GAAG,iBAAM,CAAC,GAAG,0OAE3B,EAA+C,4CAI/D,KAJgB,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAtC,CAAsC,CAI/D,CAAC;AACK,IAAM,iBAAiB,GAAG,iBAAM,CAAC,GAAG,yOAE1B,EAA+C,2CAI/D,KAJgB,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAtC,CAAsC,CAI/D,CAAC;;;;;;;;;AC5DkD;AACV;AAWnC,IAAM,cAAc,GAAG,iBAAM,CAAC,6BAAQ,CAAC,yqFAc3B,EAAmD,sNAO5C,EAAwC,kBACnD,EAAwC,uCACnB,EAAwC,uPAWvD,EAAmD,8XAelD,EAAwC,i/BA+C7D,KAlFkB,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,EAA1C,CAA0C,EAO5C,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAA/B,CAA+B,EACnD,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAA/B,CAA+B,EACnB,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAA/B,CAA+B,EAWvD,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,EAA1C,CAA0C,EAelD,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAA/B,CAA+B,CA+C7D,CAAC;AACK,IAAM,cAAc,GAAG,iBAAM,CAAC,cAAc,CAAC,ozBAgBnC,EAAwC,sCACtB,EAAwC,0BAI1E,KALgB,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAA/B,CAA+B,EACtB,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAA/B,CAA+B,CAI1E,CAAC;AACK,IAAM,SAAS,GAAG,iBAAM,CAAC,IAAI,sSAKnC,KAAC;;;;;;;;ACxIgC;AACa;AACL;AACU;AAC7C,IAAM,IAAI,GAAG,iBAAM,CAAC,4BAAS,CAAC,s6CAWX;IAEW,+IAKtB;IAEmD,8BAExD;IAEqE,6BACrD;IAEyB,iKAOlC,EAAwC,yBACnC;IAEU,+LAYf,EAA0D,uDAI1D,EAA2D,mDAI3D,EAAuD,oDAIvD,EAAwD,wEAKvD;IAEmB,iDAGpB,EAAqC,sFAQrD,KApEyB,UAAC,EAE1B;QADC,KAAK;IACD,YAAK,CAAC,SAAS,CAAC,eAAe;AAA/B,CAA+B,EAKtB,UAAC,EAEf;QADC,KAAK;IACD,2CAAM,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC;AAA5D,CAA4D,EAExD,UAAC,EAEV;QADC,KAAK;IACD,OAAG,KAAK,CAAC,OAAO,CAAC,IAAI,WAAM,KAAK,CAAC,OAAO,CAAC,IAAI,WAAM,KAAK,CAAC,OAAO,CAAC,IAAI,OAAI;AAAzE,CAAyE,EACrD,UAAC,EAE1B;QADC,KAAK;IACD,2CAAM,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC;AAA7C,CAA6C,EAOlC,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAA/B,CAA+B,EACnC,UAAC,EAEtB;QADC,KAAK;IACD,YAAK,CAAC,UAAU,CAAC,SAAS;AAA1B,CAA0B,EAYf,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,EAAjD,CAAiD,EAI1D,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAlD,CAAkD,EAI3D,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAA9C,CAA8C,EAIvD,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,EAA/C,CAA+C,EAKvD,UAAC,EAElB;QADC,KAAK;IACD,YAAK,CAAC,SAAS,CAAC,eAAe;AAA/B,CAA+B,EAGpB,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAA5B,CAA4B,CAQrD,CAAC;AACK,IAAM,SAAS,GAAG,iBAAM,CAAC,IAAI,CAAC,s2BAUtB;IAEmD,wKASjD;IAEe,+HAQf,EAAqC,qBAGrD,KAxBc,UAAC,EAEf;QADC,KAAK;IACD,2CAAM,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC;AAA5D,CAA4D,EASjD,UAAC,EAEjB;QADC,KAAK;IACD,YAAK,CAAC,UAAU,CAAC,SAAS;AAA1B,CAA0B,EAQf,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAA5B,CAA4B,CAGrD,CAAC;;;;;ACtH4D;AACvD,IAAM,QAAQ,GAAG,iBAAM,CAAC,GAAG,60HAwH9B,EAAuB,KAC1B,KADG,cAAc,CAAC,OAAO,CAAC,CAC1B,CAAC;;;;;AC1HwC;AACJ;AAC/B,IAAM,cAAc,GAAG,iBAAM,CAAC,GAAG,8wBAYrB;IAEc,oBAChB;IAEc,sBACZ;IAEc,kIAShC,KAjBkB,UAAC,EAEnB;QADC,KAAK;IACD,YAAK,CAAC,UAAU,CAAC,UAAU;AAA3B,CAA2B,EAChB,UAAC,EAEjB;QADC,KAAK;IACD,YAAK,CAAC,UAAU,CAAC,QAAQ;AAAzB,CAAyB,EACZ,UAAC,EAEnB;QADC,KAAK;IACD,YAAK,CAAC,UAAU,CAAC,UAAU;AAA3B,CAA2B,CAShC,CAAC;AACK,IAAM,kBAAkB,GAAG,iBAAM,CAAC,GAAG,wKAChC,EAAc,4BAGzB,KAHW,cAAc,CAGzB,CAAC;AACK,IAAM,SAAS,GAAG,iBAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,0OAC7C,EAA+C,kBACjD,EAA6C,yDAI3C;IAEoC,KACpD,KARgB,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAtC,CAAsC,EACjD,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAApC,CAAoC,EAI3C,UAAC,EAEjB;QADC,KAAK;IACD,YAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK;AAA/C,CAA+C,CACpD,CAAC;;;;;;;;;;;;;AC9C6B;AACsD;AAClB;AACJ;AACE;AACjE;;;;GAIG;AAEH,IAAM,2BAA2B,GAAG,oCAAiC,IAAM,2BAA0D,CAAC;AACtI,IAAM,SAAS,GAAG,iBAAiB,0IAAG,EAA+B,EAAE,KAAjC,2BAAQ,IAAI,2BAAQ,CAAC,QAAQ,EAAE,CAAE,CAAC;AACxE,IAAM,mBAAmB,GAAG,iBAAM,CAAC,GAAG,wLAErC,KAAC;AAMF;IAAsC,+DAAsC;IAA5E;QAAA,qEA4CC;QAvBC,eAAS,GAAG,aAAG;YACb,KAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACxB,CAAC,CAAC;;IAqBJ,CAAC;IAxCC,4CAAiB,GAAjB;QACE,IAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,IAAI,CAAC,CAAC;QAC7F,IAAI,CAAC,IAAI,GAAG,IAAI,2BAA2B,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAEvF,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE;YAC5B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;SACrC;IACH,CAAC;IAED,6CAAkB,GAAlB;QACE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IACrB,CAAC;IAED,+CAAoB,GAApB;QACE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC;IAMD,iCAAM,GAAN;QACQ,SAIF,IAAI,CAAC,KAAK,EAHZ,QAAQ,gBACR,SAAS,iBACT,QAAQ,cACI,CAAC;QAEf,IAAI,QAAQ,EAAE;YACZ,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SAC9C;QAED,OAAO;YACH,iCAAC,SAAS,OAAG;YACb,iCAAC,mBAAmB,IAAC,SAAS,EAAE,yBAAuB,SAAW,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,IACpF,QAAQ,CACW,CACrB,CAAC;IACR,CAAC;IAEH,uBAAC;AAAD,CAAC,CA5CqC,4BAAe,GA4CpD;;AACM,SAAS,oBAAoB,CAAC,KAEpC;IACC,OAAO,iCAAC,cAAc,CAAC,QAAQ,QAC1B,iBAAO,IAAI,QAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,iCAAC,kCAAgB,0CAAK,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAoB,CAAC,CAAC,CAAC,0CAAK,KAAK,EAAE;YACvH,QAAQ,EAAE,MAAM;YAChB,kBAAkB,EAAE,SAAS;YAC7B,eAAe,EAAE,0BAA0B;SAC5C,IACQ,KAAK,CAAC,QAAQ,CACX,EANE,CAMF,CACc,CAAC;AAC/B,CAAC;;;;AC9EwB;AACC;AACA;AACD;AACO;AACP;AACE;AACF;AACF;AACG;AACU;;;;ACVL;AAC2D;AAKnF,SAAS,eAAe,CAAC,KAA2B;IAEvD,SAEE,KAAK,MAFU,EAAjB,KAAK,mBAAG,SAAS,OACjB,KACE,KAAK,SADkB,EAAzB,QAAQ,mBAAG,cAAc,MACjB;IAEV,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QAC9B,OAAO,iCAAC,KAAK,QAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAS,CAAC;KAChD;IAED,OAAO,iCAAC,QAAQ,0CAAK,KAAK,IAAE,UAAU,EAAE,KAAK,IAAI,CAAC;AACpD,CAAC;;;;;;;ACjBuE;AACd;AACoC;AAEvF,IAAM,QAAQ,GAAG,GAAG,wUAGd,EAA2C,qCAGzC,EAA6C,0CAI7C,EAA2C,iBAGzD,KAVY,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAlC,CAAkC,EAGzC,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAApC,CAAoC,EAI7C,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAlC,CAAkC,CAGzD,CAAC;AACK,IAAM,mBAAmB,GAAG,iBAAM,CAAE,QAGxC,CAAC,4+DAEa,EAA0C,oBAC1C,EAAiD,oBACjD,EAA0C,2EAQvD;IASD,QAEC;IAIA,kBAGE,EAAoB,gBACb,EAAwC,4CAK/C,EAAoB,gBACb,EAAwC,iCAIxC;IAEoB,2BACT;IAEmB,wBAExB,EAA+C,2FAGjD;IAEO,sBACP,EAA6C,sBAC3C;IAEmB,qEAMnB,EAA+C,qBAChD;IAEmC,2BAC7B;IAEa,qCAEtB,EAAqC,kgCA4D1B;IAES,gLAe/B,EAA2B,SAE3B,EAAQ,QAER,EAA0B,KAC7B,KAvJgB,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,EAAjC,CAAiC,EAC1C,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAxC,CAAwC,EACjD,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,EAAjC,CAAiC,EAQvD,UAAC,EAEJ;QADC,OAAO;IACH,cAAO,IAAI,4GAOd;AAPG,CAOH,EAEC,UAAC,EAEJ;QADC,MAAM;IACF,aAAM,IAAI,uCAEZ;AAFE,CAEF,EAGE,iBAAiB,CAAC,CAAC,CAAC,EACb,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAA/B,CAA+B,EAK/C,iBAAiB,CAAC,CAAC,CAAC,EACb,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAA/B,CAA+B,EAIxC,UAAC,EAEb;QADC,KAAK;IACD,YAAK,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK;AAA3B,CAA2B,EACT,UAAC,EAExB;QADC,KAAK;IACD,YAAK,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe;AAArC,CAAqC,EAExB,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAtC,CAAsC,EAGjD,UAAC,EAEjB;QADC,KAAK;IACD,YAAK,CAAC,OAAO,CAAC,IAAI;AAAlB,CAAkB,EACP,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAApC,CAAoC,EAC3C,UAAC,EAEnB;QADC,KAAK;IACD,YAAK,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU;AAAhC,CAAgC,EAMnB,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAtC,CAAsC,EAChD,UAAC,EAElB;QADC,KAAK;IACD,YAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK;AAA/C,CAA+C,EAC7B,UAAC,EAExB;QADC,KAAK;IACD,YAAK,CAAC,SAAS,CAAC,eAAe;AAA/B,CAA+B,EAEtB,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAA5B,CAA4B,EA4D1B,UAAC,EAE1B;QADC,KAAK;IACD,YAAK,CAAC,MAAM,CAAC,gBAAgB;AAA7B,CAA6B,EAe/B,YAAY,CAAC,aAAa,CAAC,EAE3B,QAAQ,EAER,cAAc,CAAC,UAAU,CAAC,CAC7B,CAAC;;;;;AC9KqC;AACR;AACsB;AAEG;AACxD,IAAM,kBAAkB,GAAG,mBAAmB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAErE,IAAM,QAAQ,GAAG,UAAC,aAAa,EAAE,IAAI,IAAK,oBAAa,CAAC,CAAC,CAAC,+BAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAA/C,CAA+C,CAAC;AAEnF,SAAS,qBAAqB,CAAC,KAIrC;IACC,IAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,mBAAmB,CAAC;IACrE,OAAO,iCAAC,eAAe,QAClB,iBAAO,IAAI,wCAAC,IAAI,wCAAC,SAAS,EAAE,iBAAiB,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,uBAAuB,EAAE;YACnG,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC;SACpD,eAAa,KAAK,CAAC,WAAW,CAAC,IAAM,KAAK,EAAI,EAFjC,CAEiC,CAC7B,CAAC;AACvB,CAAC;;;;ACpB8B;AACmB;AACS;AAc3D;IAA8B,uDAA8B;IAA5D;;IAaA,CAAC;IAZC,yBAAM,GAAN;QACQ,SAMF,IAAI,CAAC,KAAK,EALZ,MAAM,cACN,MAAM,cACN,OAAO,eACP,SAAS,iBACI,QAAQ,kBACT,CAAC;QACf,IAAM,QAAQ,GAAG,IAAI,iCAAgB,EAAE,CAAC;QACxC,OAAO,iCAAC,qBAAqB,IAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,eAAa,QAAQ,GAAI,CAAC;IACjJ,CAAC;IAEH,eAAC;AAAD,CAAC,CAb6B,4BAAe,GAa5C;;;;;AC7B8B;AACW;AAC1C,IAAM,eAAO,GAAG,iBAAM,CAAC,GAAG,oKAEzB,KAAC;AACF,IAAM,GAAG,GAAG,iBAAM,CAAC,GAAG,8sBAcrB,KAAC;AACF,IAAM,OAAO,GAAG,iBAAM,CAAC,GAAG,oUAMzB,KAAC;AACF,IAAM,KAAK,GAAG,iBAAM,CAAC,GAAG,giBAUvB,KAAC;AACF,IAAM,GAAG,GAAG,iBAAM,CAAC,GAAG,0QAKrB,KAAC;AAKF;IAA6B,sDAA6B;IAA1D;;IAiBA,CAAC;IAhBC,wBAAM,GAAN;QACQ,SAIF,IAAI,CAAC,KAAK,EAHZ,IAAI,YACJ,KAAK,aACL,QAAQ,cACI,CAAC;QACf,OAAO,iCAAC,eAAO;YACV,QAAQ;YACR,IAAI,IAAI,iCAAC,GAAG;gBACT,iCAAC,OAAO,QAAE,KAAK,CAAW;gBAC1B,iCAAC,KAAK,OAAG;gBACT,iCAAC,GAAG,OAAG,CACH,CACA,CAAC;IACf,CAAC;IAEH,cAAC;AAAD,CAAC,CAjB4B,4BAAe,GAiB3C;;;;;ACjED,IAAM,WAAW,GAAG,OAAO,QAAQ,KAAK,WAAW,IAAI,QAAQ,CAAC,qBAAqB,IAAI,QAAQ,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAChI;IAAA;IAkFA,CAAC;IAjFQ,4BAAW,GAAlB;QACE,OAAO,WAAW,CAAC;IACrB,CAAC;IAEM,8BAAa,GAApB,UAAqB,OAAY;QAC/B,IAAI,KAAK,CAAC;QACV,IAAI,SAAS,CAAC;QAEd,IAAK,QAAQ,CAAC,IAAY,CAAC,eAAe,EAAE;YAC1C,KAAK,GAAI,QAAQ,CAAC,IAAY,CAAC,eAAe,EAAE,CAAC;YACjD,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACjC,KAAK,CAAC,MAAM,EAAE,CAAC;SAChB;aAAM,IAAI,QAAQ,CAAC,WAAW,IAAI,MAAM,CAAC,YAAY,EAAE;YACtD,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;YAClC,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC/B,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAClC,SAAS,CAAC,eAAe,EAAE,CAAC;YAC5B,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SAC3B;IACH,CAAC;IAEM,yBAAQ,GAAf;QACE,IAAK,QAAgB,CAAC,SAAS,EAAE;YAC9B,QAAgB,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;SACrC;aAAM,IAAI,MAAM,CAAC,YAAY,EAAE;YAC9B,IAAM,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;YAExC,IAAI,SAAS,EAAE;gBACb,SAAS,CAAC,eAAe,EAAE,CAAC;aAC7B;SACF;IACH,CAAC;IAEM,6BAAY,GAAnB;QACE,IAAI,MAAM,CAAC;QAEX,IAAI;YACF,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;SACvC;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,GAAG,KAAK,CAAC;SAChB;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,4BAAW,GAAlB,UAAmB,OAAY;QAC7B,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACxC,IAAM,GAAG,GAAG,gBAAgB,CAAC,YAAY,EAAE,CAAC;QAE5C,IAAI,GAAG,EAAE;YACP,gBAAgB,CAAC,QAAQ,EAAE,CAAC;SAC7B;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAEM,2BAAU,GAAjB,UAAkB,IAAY;QAC5B,IAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACpD,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;QAClC,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;QACzB,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,+DAA+D;QAC1F,8DAA8D;QAE9D,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QAC7B,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,oEAAoE;QAEnG,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,wBAAwB;QAEtD,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QAC/B,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAChC,QAAQ,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC,uDAAuD;QAE1F,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,aAAa,CAAC;QAC1C,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;QACtB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACpC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAClB,IAAM,GAAG,GAAG,gBAAgB,CAAC,YAAY,EAAE,CAAC;QAC5C,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,GAAG,CAAC;IACb,CAAC;IAEH,uBAAC;AAAD,CAAC;;;;;ACnF8B;AACsB;AACW;AAOhE;IAAuC,gEAErC;IACA,2BAAY,KAAK;QAAjB,YACE,kBAAM,KAAK,CAAC,SAIb;QAQD,UAAI,GAAG;YACL,IAAM,OAAO,GAAG,OAAO,KAAI,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACjH,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACrC,KAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC,CAAC;QACF,sBAAgB,GAAG;YACjB,OAAO,6CAAQ,OAAO,EAAE,KAAI,CAAC,IAAI;gBAC7B,iCAAC,eAAO,IAAC,KAAK,EAAE,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,+BAA+B,EAAE,IAAI,EAAE,KAAI,CAAC,KAAK,CAAC,YAAY,WAEhH,CACH,CAAC;QACd,CAAC,CAAC;QAtBA,KAAI,CAAC,KAAK,GAAG;YACX,YAAY,EAAE,KAAK;SACpB,CAAC;;IACJ,CAAC;IAED,kCAAM,GAAN;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;YACzB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;SACxC,CAAC,CAAC;IACL,CAAC;IAeD,uCAAW,GAAX;QAAA,iBASC;QARC,IAAI,CAAC,QAAQ,CAAC;YACZ,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;QACH,UAAU,CAAC;YACT,KAAI,CAAC,QAAQ,CAAC;gBACZ,YAAY,EAAE,KAAK;aACpB,CAAC,CAAC;QACL,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAEH,wBAAC;AAAD,CAAC,CAxCsC,gCAAmB,GAwCzD;;;;ACjDD,IAAI,gBAAK,GAAG,CAAC,CAAC;AACP,SAAS,UAAU,CAAC,IAAI,EAAE,cAAc;IAC7C,gBAAK,GAAG,CAAC,CAAC;IACV,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,IAAI,0BAA0B,CAAC;IACrC,MAAM,IAAI,QAAQ,CAAC;IACnB,MAAM,IAAI,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC5C,MAAM,IAAI,SAAS,CAAC;IACpB,MAAM,IAAI,QAAQ,CAAC;IACnB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,UAAU,CAAC,CAAC;IACnB,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACxI,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAW;IACzC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAK,EAAE,SAAS;IACxC,OAAO,eAAe,GAAG,SAAS,GAAG,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;AAC5E,CAAC;AAED,SAAS,WAAW,CAAC,GAAG;IACtB,OAAO,kCAAkC,GAAG,GAAG,GAAG,SAAS,CAAC;AAC9D,CAAC;AAED,SAAS,WAAW,CAAC,KAAK,EAAE,cAAsB;IAChD,IAAM,SAAS,GAAG,OAAO,KAAK,CAAC;IAC/B,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;QACzC,MAAM,IAAI,gBAAgB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;KACrD;SAAM,IAAI,KAAK,IAAI,KAAK,CAAC,WAAW,KAAK,KAAK,EAAE;QAC/C,gBAAK,EAAE,CAAC;QACR,MAAM,IAAI,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QAC7C,gBAAK,EAAE,CAAC;KACT;SAAM,IAAI,KAAK,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI,EAAE;QAC9C,MAAM,IAAI,gBAAgB,CAAC,GAAG,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,GAAG,EAAE,cAAc,CAAC,CAAC;KAC7E;SAAM,IAAI,SAAS,KAAK,QAAQ,EAAE;QACjC,gBAAK,EAAE,CAAC;QACR,MAAM,IAAI,YAAY,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QAC9C,gBAAK,EAAE,CAAC;KACT;SAAM,IAAI,SAAS,KAAK,QAAQ,EAAE;QACjC,MAAM,IAAI,gBAAgB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;KACnD;SAAM,IAAI,SAAS,KAAK,QAAQ,EAAE;QACjC,IAAI,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC3C,MAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,UAAU,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,GAAG,gBAAgB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;SACtL;aAAM;YACL,MAAM,IAAI,gBAAgB,CAAC,GAAG,GAAG,sBAAsB,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,cAAc,CAAC,CAAC;SACvF;KACF;SAAM,IAAI,SAAS,KAAK,SAAS,EAAE;QAClC,MAAM,IAAI,gBAAgB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;KACpD;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,WAAW,CAAC,IAAI,EAAE,cAAsB;IAC/C,IAAM,SAAS,GAAG,gBAAK,GAAG,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,IAAI,MAAM,GAAG,0CAAsC,WAAW,CAAC,GAAG,CAAC,qEAA8D,CAAC;IAClI,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;QAC/B,WAAW,GAAG,IAAI,CAAC;QACnB,MAAM,IAAI,4BAA4B,GAAG,SAAS,GAAG,IAAI,CAAC;QAC1D,MAAM,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;QAE/C,IAAI,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE;YAClB,MAAM,IAAI,GAAG,CAAC;SACf;QAED,MAAM,IAAI,aAAa,CAAC;KACzB;IAED,MAAM,IAAI,UAAQ,WAAW,CAAC,GAAG,CAAG,CAAC;IAErC,IAAI,CAAC,WAAW,EAAE;QAChB,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;KAC7B;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,YAAY,CAAC,IAAI,EAAE,cAAsB;IAChD,IAAM,SAAS,GAAG,gBAAK,GAAG,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,IAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,IAAI,MAAM,GAAG,0CAAsC,WAAW,CAAC,GAAG,CAAC,mEAA4D,CAAC;IAChI,IAAI,WAAW,GAAG,KAAK,CAAC;IAExB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;QAC/B,IAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,WAAW,GAAG,IAAI,CAAC;QACnB,MAAM,IAAI,4BAA4B,GAAG,SAAS,GAAG,IAAI,CAAC;QAC1D,MAAM,IAAI,uCAAuC,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;QACnF,MAAM,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC,CAAC;QAEjD,IAAI,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE;YAClB,MAAM,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;SAC5B;QAED,MAAM,IAAI,aAAa,CAAC;KACzB;IAED,MAAM,IAAI,UAAQ,WAAW,CAAC,GAAG,CAAG,CAAC;IAErC,IAAI,CAAC,WAAW,EAAE;QAChB,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;KAC7B;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;;;;AClH6C;AACvC,IAAM,UAAU,GAAG,GAAG,u9DAMZ,EAA+C,kBACjD,EAA6C,sBAE3C;IAEoC,8pBA0ClC,EAA+C,oBACjD,EAA6C,i7BAwD7D,KAxGgB,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAtC,CAAsC,EACjD,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAApC,CAAoC,EAE3C,UAAC,EAEjB;QADC,KAAK;IACD,YAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK;AAA/C,CAA+C,EA0ClC,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAtC,CAAsC,EACjD,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAApC,CAAoC,CAwD7D,CAAC;;;;;AC/G6B;AACc;AACU;AACqB;AAClB;AACN;AACA;AACf;AAKrC,IAAM,cAAc,GAAG,iBAAM,CAAC,GAAG,kLACnB,EAAc,4BAG3B,KAHa,cAAc,CAG3B,CAAC;AAEF;IAAmB,mDAA8B;IAAjD;QAAA,qEAsEC;QA/DC,iBAAW,GAAG,UAAC,EAEd;gBADC,gBAAgB;YACZ,wCAAC,cAAc;gBACjB,iCAAC,cAAc;oBACZ,gBAAgB,EAAE;oBACnB,6CAAQ,OAAO,EAAE,KAAI,CAAC,SAAS,mBAAuB;oBACtD,6CAAQ,OAAO,EAAE,KAAI,CAAC,WAAW,qBAAyB,CAC3C;gBACjB,iCAAC,cAAc,CAAC,QAAQ,QACrB,iBAAO,IAAI,wCAAC,QAAQ,IAAC,SAAS,EAAE,KAAI,CAAC,KAAK,CAAC,SAAS,EACvD,GAAG,EAAE,cAAI,IAAI,YAAI,CAAC,IAAI,GAAG,IAAK,EAAjB,CAAiB,EAAE,uBAAuB,EAAE;wBACvD,MAAM,EAAE,UAAU,CAAC,KAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,qBAAqB,CAAC;qBACnE,GAAI,EAHS,CAGT,CACqB,CACX;QAZb,CAYa,CAAC;QACpB,eAAS,GAAG;YACV,IAAM,QAAQ,GAAG,KAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC;YAEjE,KAAwB,UAAoC,EAApC,UAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAApC,cAAoC,EAApC,IAAoC,EAAE;gBAAzD,IAAM,SAAS;gBACjB,SAAS,CAAC,UAAuB,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;aAClE;QACH,CAAC,CAAC;QACF,iBAAW,GAAG;YACZ,IAAM,QAAQ,GAAG,KAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC,CAAC,yDAAyD;YAE3H,IAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YAE5D,KAAuB,UAAW,EAAX,2BAAW,EAAX,yBAAW,EAAX,IAAW,EAAE;gBAA/B,IAAM,QAAQ;gBAChB,QAAQ,CAAC,UAAuB,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;aAC9D;QACH,CAAC,CAAC;QACF,qBAAe,GAAG,UAAC,MAAmB;YACpC,IAAI,SAAS,CAAC;YAEd,IAAI,MAAM,CAAC,SAAS,KAAK,WAAW,EAAE;gBACpC,SAAS,GAAG,MAAM,CAAC,aAAc,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;gBAE3E,IAAI,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;oBAC3D,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;iBACvD;qBAAM;oBACL,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;iBACpD;aACF;QACH,CAAC,CAAC;QACF,mBAAa,GAAG,UAAC,KAAiB;YAChC,KAAI,CAAC,eAAe,CAAE,KAAK,CAAC,MAAsB,CAAC,CAAC;QACtD,CAAC,CAAC;QACF,mBAAa,GAAG,UAAC,KAAoB;YACnC,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE;gBACzB,KAAI,CAAC,eAAe,CAAE,KAAK,CAAC,MAAsB,CAAC,CAAC;aACrD;QACH,CAAC,CAAC;;IAYJ,CAAC;IAnEC,qBAAM,GAAN;QACE,OAAO,iCAAC,mCAAiB,IAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,IAAG,IAAI,CAAC,WAAW,CAAqB,CAAC;IAC1F,CAAC;IAuDD,gCAAiB,GAAjB;QACE,IAAI,CAAC,IAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,IAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAC3D,CAAC;IAED,mCAAoB,GAApB;QACE,IAAI,CAAC,IAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAC9D,CAAC;IAEH,WAAC;AAAD,CAAC,CAtEkB,gCAAmB,GAsErC;AAEM,IAAM,UAAU,GAAG,iBAAM,CAAC,eAAI,CAAC,uIAClC,EAAU,KACb,KADG,UAAU,CACb,CAAC;;;;;AC5F6B;AACS;AAC8C;AACV;AAK5E;IAAgC,yDAAoC;IAApE;;IAWA,CAAC;IAVC,2BAAM,GAAN;QACQ,SAGF,IAAI,CAAC,KAAK,EAFZ,MAAM,cACN,IAAI,UACQ,CAAC;QACf,OAAO,iCAAC,SAAS,IAAC,uBAAuB,EAAE;gBACzC,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC;aAChC,GAAI,CAAC;IACR,CAAC;IAEH,iBAAC;AAAD,CAAC,CAX+B,gCAAmB,GAWlD;;AACD;IAAwC,iEAAoC;IAA5E;;IAYA,CAAC;IAXC,mCAAM,GAAN;QAAA,iBASC;QARC,OAAO,iCAAC,mCAAiB,IAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,IAC5C,UAAC,EAEH;gBADC,gBAAgB;YACZ,wCAAC,kBAAkB;gBACnB,iCAAC,cAAc,QAAE,gBAAgB,EAAE,CAAkB;gBACrD,iCAAC,qBAAU,IAAC,IAAI,EAAE,KAAI,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAI,CAAC,KAAK,CAAC,MAAM,GAAI,CAC7C;QAHnB,CAGmB,CACL,CAAC;IACzB,CAAC;IAEH,yBAAC;AAAD,CAAC,CAZuC,gCAAmB,GAY1D;;;;AChC8B;AACgC;AACT;AACQ;AAKvD,SAAS,YAAY,CAAC,EAGT;QAFlB,KAAK,aACL,QAAQ;IAER,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE;QACxB,OAAO,iCAAC,UAAU,IAAC,IAAI,EAAE,KAAK,GAAI,CAAC;KACpC;SAAM;QACL,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,+DAA+D;YAC/D,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;SACxC;QAED,OAAO,iCAAC,6BAAkB,IAAC,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,GAAI,CAAC;KAC5E;AACH,CAAC;;;;ACtBmD;AAE7C,SAAS,kBAAkB,CAAC,OAAqB,EAAE,QAAgB;IAA1E,iBA2BC;IA1BO,SAAmB,mCAAQ,CAAC,IAAI,CAAC,EAA9B,YAAY,QAAkB,CAAC,CAAC,8BAA8B;IAEvE,IAAM,KAAK,GAAG,iCAAM,CAAM,SAAS,CAAC,CAAC;IACrC,IAAM,OAAO,GAAG,iCAAM,CAA2B,SAAS,CAAC,CAAC;IAE5D,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,EAAE;QAC/B,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC;KAC3B;IAED,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;IAC1B,oCAAS,CAAC;QACR,IAAM,IAAI,GAAG;;;;;wBACX,YAAY,CAAC,IAAI,CAAC,CAAC;;;;wBAGjB,UAAK;wBAAW,qBAAM,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC;;wBAAxD,GAAM,OAAO,GAAG,SAAwC,CAAC;;;;wBAEzD,KAAK,CAAC,OAAO,GAAG,GAAC,CAAC;;;wBAGpB,YAAY,CAAC,KAAK,CAAC,CAAC;;;;aACrB,CAAC;QAEF,IAAI,EAAE,CAAC;IACT,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IACxB,OAAO,KAAK,CAAC,OAAO,CAAC;AACvB,CAAC;;;AC7B8B;AAC2B;AAEZ;AACY;AAKnD,SAAS,OAAO,CAAC,EAGT;QAFb,OAAO,eACP,QAAQ;IAER,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,gBAAgB,EAAE;QAC3D,OAAO,iCAAC,eAAe,IAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAAC;KAClE;SAAM;QACL,OAAO,iCAAC,YAAY,IAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAAC;KACnE;AACH,CAAC;AACM,SAAS,eAAe,CAAC,EAGjB;QAFb,OAAO,eACP,QAAQ;IAER,IAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAEpD,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,OAAO,4DAAuB,CAAC;KAChC;IAED,IAAI,KAAK,YAAY,KAAK,EAAE;QAC1B,OAAO,iCAAC,SAAS;;YACmB,4CAAM;YACtC,wCAAG,SAAS,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC,gBAAgB,EAAE,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,qBAAqB,IACpG,OAAO,CAAC,gBAAgB,CACvB,CACM,CAAC;KAChB;IAED,OAAO,iCAAC,YAAY,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAAC;AAC5D,CAAC;;;;ACvCyC;AACG;AACU;AAChD,IAAM,yBAAS,GAAG,iBAAM,CAAC,GAAG,uWAEb;IAEqC,8DAG1C;IAEyB,mDAGzC,KAVqB,UAAC,EAEtB;QADC,KAAK;IACD,mDAAc,CAAC,GAAG,EAAE,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC;AAArD,CAAqD,EAG1C,UAAC,EAEjB;QADC,KAAK;IACD,YAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU;AAApC,CAAoC,CAGzC,CAAC;AACK,IAAM,aAAa,GAAG,iBAAM,CAAC,IAAI,uUACvB;IAEyB,4GAMzB;IAEoB,cAC1B;IAE0C,KACpD,KAdgB,UAAC,EAEjB;QADC,KAAK;IACD,YAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU;AAApC,CAAoC,EAMzB,UAAC,EAEjB;QADC,KAAK;IACD,YAAK,CAAC,UAAU,CAAC,cAAc;AAA/B,CAA+B,EAC1B,UAAC,EAEX;QADC,KAAK;IACD,mDAAc,CAAC,GAAG,EAAE,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC;AAA/C,CAA+C,CACpD,CAAC;AACK,IAAM,eAAe,GAAG,iBAAM,CAAC,GAAG,oLAExC,KAAC;AACK,IAAM,sBAAsB,GAAG,iBAAM,CAAC,cAAc,CAAC,+lCAOpC;IAEmC,kPAWjC;IAEiC,6DAIjC;IAEM,8IAMjB;IAEiB,oOAa/B,KA1CuB,UAAC,EAExB;QADC,KAAK;IACD,mDAAc,CAAC,GAAG,EAAE,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC;AAArD,CAAqD,EAWjC,UAAC,EAE1B;QADC,KAAK;IACD,mDAAc,CAAC,GAAG,EAAE,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC;AAArD,CAAqD,EAIjC,UAAC,EAE1B;QADC,KAAK;IACD,YAAK,CAAC,UAAU,CAAC,SAAS;AAA1B,CAA0B,EAMjB,UAAC,EAEf;QADC,KAAK;IACD,YAAK,CAAC,UAAU,CAAC,SAAS;AAA1B,CAA0B,CAa/B,CAAC;AACK,IAAM,aAAa,GAAG,iBAAM,CAAC,GAAG,kNACtB,EAA+C,4CAG/D,KAHgB,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAtC,CAAsC,CAG/D,CAAC;;;;;ACzF6B;AACc;AAGG;AACZ;AAC8C;AAQlF;IAAsC,+DAA2D;IAAjG;QAAA,qEA0DC;QAzDC,WAAK,GAAG;YACN,SAAS,EAAE,CAAC;SACb,CAAC;QACF,iBAAW,GAAG,UAAC,EAEd;gBADC,GAAG;YAEH,KAAI,CAAC,QAAQ,CAAC;gBACZ,SAAS,EAAE,GAAG;aACf,CAAC,CAAC;QACL,CAAC,CAAC;;IAgDJ,CAAC;IA9CC,iCAAM,GAAN;QAEI,aAAS,GACP,IAAI,CAAC,KAAK,UADH,CACI;QACf,IAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAC;QACrD,IAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;QAC3C,IAAM,QAAQ,GAAG,iCAAC,aAAa,oBAA0B,CAAC;QAC1D,IAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE5C,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,OAAO,QAAQ,CAAC;SACjB;QAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,IAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,GAAG;gBAC1C,OAAO;oBACL,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,IAAI;oBACrC,GAAG;iBACJ,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,IAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;YACnD,IAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;YACxC,OAAO,iCAAC,cAAc;gBAClB,iCAAC,eAAe;oBACd,iCAAC,aAAa,kBAAwB;oBACrC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;wBAC3B,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK;wBAC/B,OAAO;wBACP,QAAQ,EAAE,IAAI,CAAC,WAAW;wBAC1B,SAAS,EAAE,SAAS;qBACrB,CAAC,CACgB;gBAClB;oBACG,WAAW,IAAI,iCAAC,iBAAQ,IAAC,MAAM,EAAE,WAAW,GAAI;oBACjD,iCAAC,OAAO,IAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAC7C,CACS,CAAC;SACrB;aAAM;YACL,IAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,OAAO,iCAAC,cAAc;gBACjB,OAAO,CAAC,WAAW,IAAI,iCAAC,iBAAQ,IAAC,MAAM,EAAE,OAAO,CAAC,WAAW,GAAI;gBACjE,iCAAC,OAAO,IAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAClC,CAAC;SACrB;IACH,CAAC;IAEH,uBAAC;AAAD,CAAC,CA1DqC,4BAAe,GA0DpD;;AACD,IAAM,cAAc,GAAG,iBAAM,CAAC,GAAG,kLAEhC,KAAC;;;;;;;;AC3EwC;AACoB;AACX;AACd;AAC9B,IAAM,yBAAyB,GAAG,iBAAM,CAAC,gBAAgB,CAAC,sjBAM9C,EAA+C,uDAGrD,EAAwC,uCAEhC;IAEgB,mBAGjC,EAAS,kBACC;IAEe,gBAChB;IAEgB,gCAEf;IAEgB,iBAG7B,KAvBkB,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAtC,CAAsC,EAGrD,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAA/B,CAA+B,EAEhC,UAAC,EAErB;QADC,KAAK;IACD,YAAK,CAAC,UAAU,CAAC,cAAc;AAA/B,CAA+B,EAGjC,SAAS,EACC,UAAC,EAEd;QADC,KAAK;IACD,YAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI;AAAvB,CAAuB,EAChB,UAAC,EAEb;QADC,KAAK;IACD,YAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI;AAAvB,CAAuB,EAEf,UAAC,EAEd;QADC,KAAK;IACD,YAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK;AAAxB,CAAwB,CAG7B,CAAC;AACK,IAAM,UAAU,GAAG,iBAAM,CAAC,IAAI,iOAEtB;IAEqB,2BAEnC,KAJc,UAAC,EAEf;QADC,KAAK;IACD,YAAK,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ;AAA9B,CAA8B,CAEnC,CAAC;AACK,IAAM,UAAU,GAAG,iBAAM,CAAC,UAAU,CAAC,6IACjC,EAA8D,KACxE,KADU,eAAK,IAAI,mDAAc,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,EAArD,CAAqD,CACxE,CAAC;AACK,IAAM,QAAQ,GAAG,iBAAM,CAAC,UAAU,CAAC,6IAC/B,EAAyC,KACnD,KADU,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,EAAhC,CAAgC,CACnD,CAAC;AACK,IAAM,SAAS,GAAG,iBAAM,CAAC,UAAU,CAAC,wKAChC,EAA0C,gCAEpD,KAFU,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,EAAjC,CAAiC,CAEpD,CAAC;AACK,IAAM,UAAU,GAAG,QAAQ,CAAC;AAC5B,IAAM,aAAa,GAAG,iBAAM,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,kOACzD,EAA6C,kBACzC,EAA0C,sEAIxD,KALU,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,EAApC,CAAoC,EACzC,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,EAAjC,CAAiC,CAIxD,CAAC;AACK,IAAM,cAAc,GAAG,iBAAM,CAAC,UAAU,CAAC,iKACrC;IAEoB,yBAE9B,KAJU,UAAC,EAEX;QADC,KAAK;IACD,YAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI;AAAzB,CAAyB,CAE9B,CAAC;AACK,IAAM,aAAa,GAAG,iBAAM,CAAC,UAAU,CAAC,kMAG9C,KAAC;AACK,IAAM,YAAY,GAAG,iBAAM,CAAC,UAAU,CAAC,4QAM7C,KAAC;AACK,IAAM,mBAAY,GAAG,iBAAM,CAAC,UAAU,CAAC,6NAE1C;IASF,4CAIE,EAA8B,KACjC,KAdG,UAAC,EAEJ;QADC,KAAK;IACD,oCACkB,4CAAc,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,sBAC1D,4CAAc,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,4BAE1C,KAAK,CAAC,OAAO,CAAC,IAAI,mCACX,4CAAc,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,4BACnD,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,SACjD;AAPI,CAOJ,EAIE,cAAc,CAAC,cAAc,CAAC,CACjC,CAAC;AACK,IAAM,cAAc,GAAG,iBAAM,CAAC,mBAAY,CAAC,kHAAE,KAAC;AAC9C,IAAM,cAAc,GAAG,iBAAM,CAAC,UAAU,CAAC,6NAE5C;IAUF,4CAIE,EAAgC,KACnC,KAfG,UAAC,EAEJ;QADC,KAAK;IACD,oCACkB,4CAAc,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,sBAC3D,4CAAc,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,2BAE3C,KAAK,CAAC,OAAO,CAAC,IAAI,4BACjB,KAAK,CAAC,OAAO,CAAC,IAAI,mCACX,4CAAc,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,4BACnD,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,SACjD;AARI,CAQJ,EAIE,cAAc,CAAC,gBAAgB,CAAC,CACnC,CAAC;AACK,IAAM,YAAY,GAAG,iBAAM,CAAC,MAAM,gVAG9B;IAEsB,oBAChB;IAEO,mEAGL;IAEc,yBAEhC,KAZU,UAAC,EAEX;QADC,KAAK;IACD,YAAK,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS;AAA3B,CAA2B,EAChB,UAAC,EAEjB;QADC,KAAK;IACD,YAAK,CAAC,OAAO,CAAC,IAAI;AAAlB,CAAkB,EAGL,UAAC,EAEnB;QADC,KAAK;IACD,YAAK,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS;AAA3B,CAA2B,CAEhC,CAAC;;;;;AC/HoC;AACP;AACc;AAEU;AACvD,IAAM,QAAQ,GAAG,iBAAM,CAAC,GAAG,+JAEzB,MACE,EAAQ,OACR;IAEiC,IACpC,KAJG,QAAQ,EACR,UAAC,EAEJ;QADC,OAAO;IACH,QAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;AAA/B,CAA+B,CACpC,CAAC;AAEF;IAA2C,oEAGzC;IAHF;;IAkBA,CAAC;IAdC,sCAAM,GAAN;QAEI,gBAAY,GACV,IAAI,CAAC,KAAK,aADA,CACC;QAEf,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE;YACtC,OAAO,IAAI,CAAC;SACb;QAED,OAAO,iCAAC,QAAQ,IAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;YACxC,wCAAG,IAAI,EAAE,YAAY,CAAC,GAAG,IAAG,YAAY,CAAC,WAAW,IAAI,YAAY,CAAC,GAAG,CAAK,CACpE,CAAC;IAChB,CAAC;IAhBU,qBAAqB;QADjC,gCAAQ;OACI,qBAAqB,CAkBjC;IAAD,4BAAC;CAAA,CAlB0C,4BAAe,GAkBzD;AAlBiC;;;;;ACdH;AACyC;AAC9B;AACU;AACP;AAS7C;IAAgC,yDAAqD;IAArF;QAAA,qEAoDC;QAnDC,WAAK,GAAoB;YACvB,SAAS,EAAE,IAAI;SAChB,CAAC;;IAiDJ,CAAC;IA9CS,2BAAM,GAAd;QACE,IAAI,CAAC,QAAQ,CAAC;YACZ,SAAS,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS;SACjC,CAAC,CAAC;IACL,CAAC;IAED,2BAAM,GAAN;QAAA,iBAsCC;QArCO,SAGF,IAAI,CAAC,KAAK,EAFZ,MAAM,cACN,IAAI,UACQ,CAAC;QAEb,aAAS,GACP,IAAI,CAAC,KAAK,UADH,CACI,CAAC,sDAAsD;QAEhE,SAGD,IAAI,CAAC,OAA2B,EAFnC,cAAc,sBACd,sBAAsB,4BACa,CAAC;QAEtC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAClB,OAAO,IAAI,CAAC;SACb;QAED,IAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,sBAAsB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACzH,IAAM,gBAAgB,GAAG,sBAAsB,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,sBAAsB,CAAC,CAAC,CAAC,KAAK,CAAC;QACjG,IAAM,gBAAgB,GAAG,sBAAsB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAK,MAAM,CAAC,MAAM,GAAG,sBAAsB,WAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/H,OAAO;YACH,iCAAC,UAAU;gBACR,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;gBAAE,GAAG;gBAC3C,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC5C;YAAC,GAAG;YAChB,cAAc,CAAC,GAAG,CAAC,UAAC,KAAK,EAAE,GAAG;gBAC/B,IAAM,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBACpE,OAAO,iCAAC,2BAAc,IAAC,GAAG,EAAE,GAAG;oBACzB,iCAAC,mBAAY,QAAE,YAAY,CAAgB;oBAAC,GAAG,CAChC,CAAC;YACxB,CAAC,CAAC;YACC,gBAAgB,CAAC,CAAC,CAAC,iCAAC,uBAAY,IAAC,OAAO,EAAE;oBAC3C,KAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,CAAC,IACM,gBAAgB,CACJ,CAAC,CAAC,CAAC,IAAI,CACpB,CAAC;IACX,CAAC;IA9CM,sBAAW,GAAG,cAAc,CAAC;IAgDtC,iBAAC;CAAA,CApD+B,gCAAmB,GAoDlD;AApDsB;AAqDvB,IAAM,uBAAY,GAAG,iBAAM,CAAC,IAAI,iQACrB,EAAwC,iHAMlD,KANU,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAA/B,CAA+B,CAMlD,CAAC;;;;;ACzE6B;AAC2C;AAC7B;AACO;AACc;AAClE,IAAM,SAAS,GAAG,iBAAM,CAAC,mBAAmB,CAAC,gKAE5C,KAAC;AAMF;IAAgC,yDAAoC;IAApE;;IAeA,CAAC;IAdC,2BAAM,GAAN;QACE,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QACnC,OAAO,iCAAC,cAAc,CAAC,QAAQ,QAC1B,iBAAO,IAAI,2EACP,OAAO,CAAC,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,aAAG,IAAI,wCAAC,SAAS,IAAC,GAAG,EAAE,GAAG;YACrE,iCAAC,UAAU;;gBAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;qBAAgB;YAAC,GAAG;YAClD,iCAAC,cAAc,QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CACvD,CACP,EALwC,CAKxC,CAAC,CAChB,EAPO,CAOP,CACmB,CAAC;IAC/B,CAAC;IAEH,iBAAC;AAAD,CAAC,CAf+B,gCAAmB,GAelD;;;;;;AC5B8B;AAC+B;AAI9D;IAAqC,8DAAyC;IAA9E;;IAYA,CAAC;IAXC,gCAAM,GAAN;QACE,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;YACvC,OAAO,IAAI,CAAC;SACb;QAED,OAAO;YACF,GAAG;YACH,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,oBAAU,IAAI,wCAAC,cAAc,IAAC,GAAG,EAAE,UAAU;;gBAAI,UAAU;oBAAmB,EAAhE,CAAgE,CAAC,CACtG,CAAC;IACZ,CAAC;IAEH,sBAAC;AAAD,CAAC,CAZoC,gCAAmB,GAYvD;;;;;ACjB8B;AACyC;AAMxE;IAAiC,0DAAqC;IAAtE;;IAYA,CAAC;IAXC,4BAAM,GAAN;QACE,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE;YAClC,OAAO,IAAI,CAAC;SACb;QAED,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnF,OAAO;YACH,iCAAC,UAAU;;gBAAG,IAAI,CAAC,KAAK,CAAC,KAAK;oBAAe;;YAAC,iCAAC,mBAAY,QAAE,KAAK,CAAgB,CAC9E,CAAC;IACX,CAAC;IAEH,kBAAC;AAAD,CAAC,CAZgC,gCAAmB,GAYnD;;;;;ACnB8B;AACiJ;AAClH;AACyB;AACvC;AACN;AACA;AAEY;AACV;AACG;AACL;AACU;AAEP;AAC7C,IAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B;IAAkC,2DAEhC;IAFF;QAAA,qEAuFC;QApFC,WAAK,GAAG;YACN,YAAY,EAAE,KAAK;SACpB,CAAC;QAEF,mBAAa,GAAG;YACd,KAAI,CAAC,QAAQ,CAAC;gBACZ,YAAY,EAAE,CAAC,KAAI,CAAC,KAAK,CAAC,YAAY;aACvC,CAAC,CAAC;QACL,CAAC,CAAC;;IA4EJ,CAAC;IA1EC,6BAAM,GAAN;QACQ,SAIF,IAAI,CAAC,KAAK,EAHZ,YAAY,oBACZ,KAAK,aACL,yBAAyB,+BACb,CAAC;QAEb,gBAAY,GACV,IAAI,CAAC,KAAK,aADA,CACC;QACT,SAGF,IAAI,CAAC,OAAO,EAFd,cAAc,sBACd,gBAAgB,sBACF,CAAC;QAEf,UAAM,GAKJ,KAAK,OALD,EACN,WAAW,GAIT,KAAK,YAJI,EACX,OAAO,GAGL,KAAK,QAHA,EACP,UAAU,GAER,KAAK,WAFG,EACV,QAAQ,GACN,KAAK,SADC,CACA;QACV,IAAM,UAAU,GAAG,CAAC,CAAC,cAAc,IAAI,KAAK,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,kFAAkF;QAEhJ,IAAI,gBAAgB,GAAuB,IAAI,CAAC;QAEhD,IAAI,YAAY,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,CAAC,EAAE;YACrE,IAAI,QAAQ,KAAK,SAAS,EAAE;gBAC1B,gBAAgB,GAAG,iCAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,GAAI,CAAC;aAC/C;iBAAM;gBACL,IAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC;gBACjC,IAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvB,gBAAgB,GAAG,iCAAC,uBAAW,IAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,GAAI,CAAC;aAC7G;SACF;QAED,OAAO;YACH;gBACE,iCAAC,UAAU,QAAE,MAAM,CAAC,UAAU,CAAc;gBAC5C,iCAAC,QAAQ,QAAE,MAAM,CAAC,WAAW,CAAY;gBACxC,MAAM,CAAC,aAAa,IAAI,iCAAC,UAAU;oBAC/B,GAAG;;oBAEH,MAAM,CAAC,aAAa;;oBAChB,GAAG,CACG;gBACd,MAAM,CAAC,KAAK,IAAI,CAAC,gBAAgB,IAAI,iCAAC,SAAS;;oBAAI,MAAM,CAAC,KAAK;yBAAe;gBAC/E,iCAAC,iCAAe,IAAC,WAAW,EAAE,MAAM,CAAC,WAAW,GAAI;gBACnD,MAAM,CAAC,QAAQ,IAAI,iCAAC,aAAa;;oBAAG,CAAC,CAAC,UAAU,CAAC;wBAAkB;gBACnE,MAAM,CAAC,OAAO,IAAI;oBACf,iCAAC,YAAY,QACV,YAAY,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,kBAAkB,CAAC,QAAK,CACtH;oBACd,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,kBAAkB,IAAI,iCAAC,YAAY,IAAC,OAAO,EAAE,IAAI,CAAC,aAAa,IACnF,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAClC,CAChB;gBACJ,MAAM,CAAC,UAAU,IAAI,iCAAC,cAAc;;oBAAG,CAAC,CAAC,WAAW,CAAC;wBAAmB,CACrE;YACL,UAAU,IAAI;gBACX,iCAAC,KAAK,IAAC,IAAI,EAAC,SAAS;;oBAAG,CAAC,CAAC,YAAY,CAAC;wBAAU,CAC7C;YACR,iCAAC,uBAAW,IAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,GAAI;YACjF,CAAC,yBAAyB,IAAI,iCAAC,qBAAU,IAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,GAAI;YAAE,GAAG;YACzF,gBAAgB;YAChB,iCAAC,qBAAU,IAAC,UAAU,8EAAO,KAAK,CAAC,UAAU,GAC3C,MAAM,CAAC,UAAU,IACjB;YACH;gBACE,iCAAC,iBAAQ,IAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,GAAI,CAC5C;YACL,MAAM,CAAC,YAAY,IAAI,iCAAC,2CAAqB,IAAC,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,GAAI;YAClG,yBAAyB,IAAI,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CACvE,CAAC;IACX,CAAC;IA/EM,wBAAW,GAAG,cAAc,CAAC;IAiFtC,mBAAC;CAAA,CAvFiC,gCAAmB,GAuFpD;AAvFwB;AAyFzB,SAAS,QAAQ,CAAC,EAIjB;QAHC,KAAK;IAIL,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;QACnB,OAAO,IAAI,CAAC;KACb;IAED,OAAO;QACH,iCAAC,UAAU;;YAAG,CAAC,CAAC,UAAU,CAAC;iBAAgB;QAC3C,iCAAC,YAAY,QACV,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,UAAC,OAAO,EAAE,GAAG;YAChD,OAAO,yCAAI,GAAG,EAAE,GAAG;gBACb,iCAAC,mBAAY,QAAE,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAgB;;gBAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,CAC9G,CAAC;QACZ,CAAC,CAAC,CACa,CACd,CAAC;AACR,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAiB,EAAE,OAAY;IACzD,IAAI,KAAK,CAAC,EAAE,EAAE;QACZ,8FAA8F;QAC9F,OAAO,kBAAkB,CAAC,uBAAuB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;KACpE;SAAM;QACL,OAAO,OAAO,CAAC;KAChB;AACH,CAAC;AAED,IAAM,YAAY,GAAG,iBAAM,CAAC,EAAE,gRAI7B,KAAC;;;;;AC3I6B;AACgB;AAC+B;AACjC;AACK;AAClD,IAAM,YAAY,GAAG,iBAAM,CAAC,GAAG,uKACb;IAEU,OAC3B,KAHiB,UAAC,EAElB;QADC,KAAK;IACD,YAAK,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC;AAAtB,CAAsB,CAC3B,CAAC;AACF;IAAiC,0DAAgC;IAAjE;;IAoBA,CAAC;IAnBC,4BAAM,GAAN;QACE,IAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAM,CAAC;QAE7C,IAAM,oBAAoB,GAAG,UAAC,GAAmC,EAAE,GAAmC;YAAxE,qCAAmC;YAAE,qCAAmC;YAAK,QAAC;gBAC1G,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,GAAG;gBACb,QAAQ,EAAE,GAAG;aACd,CAAC;QAJyG,CAIzG,CAAC;QAEH,IAAM,WAAW,GAAG,mBAAmB,CAAC,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QACxH,OAAO;YACH,iCAAC,kBAAkB;;gBAAU,WAAW;oBAAuB;YAC/D,iCAAC,YAAY;gBACX,iCAAC,aAAM,0CAAK,IAAI,CAAC,KAAK,IAAE,MAAM,EAAE,WAAW,IAAI,CAClC;YACf,iCAAC,iBAAiB,OAAG,CACjB,CAAC;IACX,CAAC;IAEH,kBAAC;AAAD,CAAC,CApBgC,gCAAmB,GAoBnD;;;;;;AC9BqC;AACP;AACyD;AAC1C;AAC0G;AACrG;AAEM;AAUzD;IAA2B,oDAA2B;IAAtD;QAAA,qEA2DC;QA1DC,YAAM,GAAG;YACP,IAAI,KAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAI,CAAC,KAAK,CAAC,eAAe,EAAE;gBACzE,KAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;aACnC;iBAAM;gBACL,KAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;aAC3B;QACH,CAAC,CAAC;QACF,oBAAc,GAAG,WAAC;YAChB,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE;gBACrB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,KAAI,CAAC,MAAM,EAAE,CAAC;aACf;QACH,CAAC,CAAC;;IA8CJ,CAAC;IA5CC,sBAAM,GAAN;QACQ,SAKF,IAAI,CAAC,KAAK,EAJZ,SAAS,iBACT,KAAK,aACL,MAAM,cACN,eAAe,qBACH,CAAC;QAEb,QAAI,GAIF,KAAK,KAJH,EACJ,UAAU,GAGR,KAAK,WAHG,EACV,QAAQ,GAEN,KAAK,SAFC,EACR,IAAI,GACF,KAAK,KADH,CACI;QACV,IAAM,aAAa,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC;QAC5E,IAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;QACjF,IAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,iCAAC,yBAAyB,IAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI;YAC3H,iCAAC,cAAc,OAAG;YAClB,6CAAQ,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,cAAc,gBAAa,mBAAmB;gBAC3F,+CAAO,IAAI,CAAQ;gBACnB,iCAAC,SAAS,IAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,GAAI,CAC9C;YACR,QAAQ,IAAI,iCAAC,aAAa,qBAA2B,CAC5B,CAAC,CAAC,CAAC,iCAAC,gBAAgB,IAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI;YACxH,iCAAC,cAAc,OAAG;YAClB,+CAAO,IAAI,CAAQ;YAClB,QAAQ,IAAI,iCAAC,aAAa,qBAA2B,CACrC,CAAC;QACtB,OAAO;YACH,yCAAI,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS;gBACpD,SAAS;gBACV,iCAAC,mBAAmB;oBAClB,iCAAC,yBAAY,0CAAK,IAAI,CAAC,KAAK,EAAI,CACZ,CACnB;YACJ,QAAQ,IAAI,aAAa,IAAI,yCAAI,GAAG,EAAE,KAAK,CAAC,IAAI,GAAG,OAAO;gBACvD,iCAAC,qBAAqB,IAAC,OAAO,EAAE,CAAC;oBAC/B,iCAAC,mBAAmB;wBAClB,iCAAC,aAAM,IAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAI,CAC7H,CACA,CACrB,CACN,CAAC;IACR,CAAC;IAzDU,KAAK;QADjB,gCAAQ;OACI,KAAK,CA2DjB;IAAD,YAAC;CAAA,CA3D0B,4BAAe,GA2DzC;AA3DiB;;;;ACjBoB;AACP;AACiD;AAGhF;IAA2C,oEAGzC;IAHF;QAAA,qEA0CC;QAHC,uBAAiB,GAAG,UAAC,MAAsB;YACzC,KAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9C,CAAC,CAAC;;IACJ,CAAC;IAtCC,2CAAW,GAAX,UAAY,OAAyB,EAAE,UAAoB;QACzD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3B,OAAO;SACR;QAED,IAAM,SAAS,GAAG,EAAE,CAAC;QACrB,UAAU,CAAC,OAAO,CAAC,UAAC,QAAQ,EAAE,GAAG;YAC/B,SAAS,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC;YAChB,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sCAAM,GAAN;QACQ,SAGF,IAAI,CAAC,KAAK,EAFZ,MAAM,cACN,UAAU,gBACE,CAAC;QAEf,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE;YAC9B,OAAO,IAAI,CAAC;SACb;QAED,IAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,UAAC,SAAS,EAAE,GAAG;YAC9C,OAAO;gBACL,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,GAAG;aACJ,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,IAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC;QACtD,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACtC,OAAO,iCAAC,cAAc,IAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,iBAAiB,GAAI,CAAC;IACpG,CAAC;IArCU,qBAAqB;QADjC,gCAAQ;OACI,qBAAqB,CA0CjC;IAAD,4BAAC;CAAA,CA1C0C,4BAAe,GA0CzD;AA1CiC;;;;ACLI;AACP;AAE+D;AACtD;AACwB;AAEtB;AACU;AAQpD;IAAkC,2DAAkC;IAApE;;IA8BA,CAAC;IA3BC,sBAAI,sCAAY;aAAhB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,aAAc,CAAC,YAAY,CAAC;QAChD,CAAC;;;OAAA;IAED,6BAAM,GAAN;QAAA,iBAqBC;QApBO,SAMF,IAAI,CAAC,KAAK,EAJV,qBAAW,EAAX,MAAM,mBAAG,EAAE,OAEb,SAAS,iBACT,aAAa,mBACD,CAAC;QACf,IAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QACvE,IAAM,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,cAAI;YACpD,OAAO,CAAC,CAAC,KAAI,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,KAAI,CAAC,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACjH,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACZ,IAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAuB,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC;QAC5F,OAAO,iCAAC,eAAe;YAClB,SAAS,IAAI,iCAAC,sBAAsB,QAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAA0B;YACxF,gDACG,WAAW,CAAC,cAAc,EAAE,UAAC,KAAK,EAAE,MAAM;gBAC3C,OAAO,iCAAC,WAAK,IAAC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,yBAAyB,EAAE,aAAa,IAAI,aAAa,CAAC,SAAS,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,cAAM,wCAAC,2CAAqB,IAAC,MAAM,EAAE,KAAI,CAAC,YAAY,EAAE,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,GAAI,EAAnF,CAAmF,CAAC,IAAI,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,KAAI,CAAC,KAAK,CAAC,YAAY,EAAE,aAAa,EAAE,KAAI,CAAC,KAAK,CAAC,aAAa,EAAE,SAAS,EAAE,KAAI,CAAC,KAAK,CAAC,SAAS,GAAI,CAAC;YAC9d,CAAC,CAAC,CACM,CACQ,CAAC;IACvB,CAAC;IA3BM,wBAAW,GAAG,cAAc,CAAC;IADzB,YAAY;QADxB,gCAAQ;OACI,YAAY,CA8BxB;IAAD,mBAAC;CAAA,CA9BiC,4BAAe,GA8BhD;AA9BwB;;;;AChBa;AACP;AACwE;AAExD;AAO/C;IAAiC,0DAAiC;IAAlE;QAAA,qEAeC;QAHC,mBAAa,GAAG;YACd,KAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,KAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClD,CAAC,CAAC;;IACJ,CAAC;IAdC,4BAAM,GAAN;QACQ,SAIF,IAAI,CAAC,KAAK,EAHZ,GAAG,WACH,MAAM,cACN,SAAS,eACG,CAAC;QACf,OAAO,iCAAC,kBAAiB,IAAC,MAAM,EAAE,GAAG,KAAK,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,IACpF,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,WAAW,CAC9C,CAAC;IACzB,CAAC;IAVU,WAAW;QADvB,gCAAQ;OACI,WAAW,CAevB;IAAD,kBAAC;CAAA,CAfgC,4BAAe,GAe/C;AAfuB;AAiBxB;IAAiC,0DAA4B;IAA7D;;IAsBA,CAAC;IArBC,4BAAM,GAAN;QACQ,SAKF,IAAI,CAAC,KAAK,EAHV,KAAK,oBAEP,MAAM,YACM,CAAC;QAEf,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,OAAO,IAAI,CAAC;SACb;QAED,OAAO;YACH,iCAAC,UAAU;;gBAAG,MAAM,CAAC,SAAS;oBAAe;YAC7C,iCAAC,SAAS,QACP,KAAK,CAAC,GAAG,CAAC,UAAC,SAAS,EAAE,GAAG,IAAK,wCAAC,uBAAW,IAAC,GAAG,EAAE,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,GAAI,EAAvF,CAAuF,CAAC,CAC7G;YACZ,iCAAC,aAAM,0CAAK,IAAI,CAAC,KAAK,IAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CACzD,CAAC;IACX,CAAC;IApBU,WAAW;QADvB,gCAAQ;OACI,WAAW,CAsBvB;IAAD,kBAAC;CAAA,CAtBgC,4BAAe,GAsB/C;AAtBuB;;;;AC5Bc;AACP;AACoD;AAC7B;AAEV;AACE;AACF;AACF;AAU1C;IAA4B,qDAAqC;IAAjE;;IAwEA,CAAC;IAvEC,uBAAM,GAAN;;QAEI,UAAM,GACJ,IAAI,CAAC,KAAK,OADN,CACO;QAEf,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,qEAA8B,CAAC;SACvC;QAGC,QAAI,GAIF,MAAM,KAJJ,EACJ,KAAK,GAGH,MAAM,MAHH,EACL,iBAAiB,GAEf,MAAM,kBAFS,EACjB,UAAU,GACR,MAAM,WADE,CACD;QAEX,IAAI,UAAU,EAAE;YACd,OAAO;gBACH,iCAAC,QAAQ,QAAE,MAAM,CAAC,WAAW,CAAY;gBACxC,MAAM,CAAC,KAAK,IAAI,iCAAC,SAAS;;oBAAG,MAAM,CAAC,KAAK;wBAAc;gBACxD,iCAAC,cAAc;;oBAAG,CAAC,CAAC,WAAW,CAAC;wBAAmB,CAC/C,CAAC;SACV;QAED,IAAI,iBAAiB,KAAK,SAAS,EAAE;YACnC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;gBAC3B,OAAO,CAAC,IAAI,CAAC,oGAAkG,MAAM,CAAC,KAAO,CAAC,CAAC;gBAC/H,OAAO,IAAI,CAAC;aACb;YAED,OAAO,iCAAC,yBAAY,sHAAU,IAAI,CAAC,KAAK,KACtC,MAAM,EAAE,KAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OACjC,aAAa,EAAE;oBAChB,SAAS,EAAE,iBAAiB;oBAC5B,YAAY,EAAE,MAAM;iBACrB,IAAI,CAAC;SACP;QAED,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,OAAO,iCAAC,uBAAW,wCAAC,MAAM,EAAE,MAAM,IAAM,IAAI,CAAC,KAAK,EAAI,CAAC;SACxD;QAED,QAAQ,IAAI,EAAE;YACZ,KAAK,QAAQ;gBACX,UAAI,MAAM,CAAC,MAAM,0CAAE,MAAM,EAAE;oBACzB,OAAO,iCAAC,yBAAY,0CAAM,IAAI,CAAC,KAAa,EAAI,CAAC;iBAClD;gBAED,MAAM;YAER,KAAK,OAAO;gBACV,OAAO,iCAAC,uBAAW,0CAAM,IAAI,CAAC,KAAa,EAAI,CAAC;SACnD,CAAC,mDAAmD;QAGrD,IAAM,KAAK,GAAK;YACd,MAAM;YACN,IAAI,EAAE,EAAE;YACR,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,UAAU,EAAE,KAAK;YACjB,MAAM,EAAE,cAAM,WAAI,EAAJ,CAAI;YAClB,QAAQ,EAAE,KAAK;SACO,CAAC,CAAC,yCAAyC;QAEnE,OAAO;YACH,iCAAC,yBAAY,IAAC,KAAK,EAAE,KAAK,GAAI,CAC1B,CAAC;IACX,CAAC;IAtEU,MAAM;QADlB,gCAAQ;OACI,MAAM,CAwElB;IAAD,aAAC;CAAA,CAxE2B,4BAAe,GAwE1C;AAxEkB;;;AClBM;AACM;AACD;AACA;AACU;;;;ACJT;AAC8D;AACN;AAC1C;AAEwB;AACC;AACK;AACxC;AASnC;IAAsC,+DAA2C;IAAjF;QAAA,qEA8DC;QAHS,oBAAc,GAAG,eAAK;YAC5B,OAAO,iCAAC,eAAe,wCAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,sBAAsB,IAAM,KAAK,EAAI,CAAC;QAC5F,CAAC,CAAC;;IACJ,CAAC;IA7DgB,6BAAY,GAA3B,UAA4B,SAAiB,EAAE,UAAmB;QAChE,IAAI,CAAC,SAAS,EAAE;YACd,OAAO,EAAE,CAAC;SACX;QAED,IAAM,IAAI,GAAqB;YAC7B,MAAM,EAAE;gBACN,IAAI,EAAE,SAAS;aAChB;SACF,CAAC;QAEF,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,QAAQ,GAAG;gBACd,OAAO,EAAE;oBACP,IAAI,EAAE,UAAU;iBACjB;aACF,CAAC;SACH;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAID,sBAAY,wCAAU;aAAtB;YACQ,SAKF,IAAI,CAAC,KAAK,EAJZ,MAAM,cACN,SAAS,iBACT,UAAU,kBACV,OAAO,aACK,CAAC;YAEf,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACrB,IAAI,CAAC,WAAW,GAAG,IAAI,wBAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;aAC7H;YAED,OAAO,IAAI,CAAC,WAAW,CAAC;QAC1B,CAAC;;;OAAA;IAED,iCAAM,GAAN;QACQ,SAGF,IAAI,CAAC,KAAK,EAFZ,oBAAmB,EAAnB,YAAY,mBAAG,IAAI,OACnB,qBAAqB,EAArB,aAAa,mBAAG,KAAK,KACT,CAAC;QACf,OAAO,iCAAC,OAAO;YACX,iCAAC,GAAG;gBACF,iCAAC,WAAW;oBACV,iCAAC,aAAM,IAAC,aAAa,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAI,CAC1F;gBACd,iCAAC,cAAc;oBACb,iCAAC,gBAAgB;wBACf,iCAAC,iCAAgB,IAAC,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,GAAI,CACpE,CACJ,CACb,CACE,CAAC;IACf,CAAC;IAKH,uBAAC;AAAD,CAAC,CA9DqC,gCAAmB,GA8DxD;;AACD,IAAM,gBAAgB,GAAG,iBAAM,CAAC,GAAG,0RACnB;IAEqB,2CAGtB,EAAqC,uEAOnD,KAZe,UAAC,EAEhB;QADC,KAAK;IACD,YAAK,CAAC,SAAS,CAAC,eAAe;AAA/B,CAA+B,EAGtB,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAA5B,CAA4B,CAOnD,CAAC;;;;;AC7F6B;AAEkD;AAElC;AACC;AACkB;AAClE,IAAM,UAAU,GAAG;IACjB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,SAAS;IACjB,IAAI,EAAE,MAAM;IACZ,aAAa,EAAE,gBAAgB;CAChC,CAAC;AAKF;IAA+B,wDAAmC;IAAlE;;IAiCA,CAAC;IAhCC,0BAAM,GAAN;QACQ,SAGF,IAAI,CAAC,KAAK,EAFZ,IAAI,YACJ,IAAI,UACQ,CAAC;QACf,OAAO;YACH;;gBAAM,IAAI;+BAAkB;YAC5B;gBACG,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,mBAAmB,CAAC,CAAC,CAAC;oBACnD,wEAAqC;oBACnC,IAAY,CAAC,gBAAgB,CAC3B,CAAC,CAAC,CAAC,IAAI;gBACd,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,mBAAmB,IAAI,IAAI,KAAK,mBAAmB,CAAC,CAAC,CAAC;oBACnF,gEAA6B;oBAC3B,IAAY,CAAC,QAAQ,CACnB,CAAC,CAAC,CAAC,IAAI;gBACd,IAAK,CAAC,UAAU,IAAI;oBACjB,kEAA+B;oBAC9B,IAAK,CAAC,UAAU,CACb;gBACR;oBACE,6DAA0B,CACtB;gBACN,6CACG,MAAM,CAAC,IAAI,CAAC,IAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,eAAK,IAAI,gDAAI,GAAG,EAAE,KAAK;oBACxD,+CAAO,KAAK,CAAQ;;oBAAG,iCAAC,iBAAQ,IAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,GAAI,CACjF,EAFuC,CAEvC,CAAC,CACL,CACF,CACF,CAAC;IACV,CAAC;IAEH,gBAAC;AAAD,CAAC,CAjC8B,gCAAmB,GAiCjD;;AAID;IAAkC,2DAAsC;IAAxE;;IA0CA,CAAC;IAzCC,6BAAM,GAAN;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAM,IAAI,wCAAC,OAAO,IAAC,EAAE,EAAE,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAC,MAAM;YACnH,iCAAC,GAAG;gBACF,iCAAC,WAAW;oBACV,iCAAC,EAAE;wBACD,iCAAC,SAAS,IAAC,EAAE,EAAE,MAAM,CAAC,SAAS,GAAI;wBAClC,MAAM,CAAC,EAAE,CACP;oBACL,iCAAC,iBAAQ,IAAC,MAAM,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE,GAAI;oBAC9C,iCAAC,mBAAmB;wBAClB,4CAAO,SAAS,EAAC,kBAAkB;4BACjC;gCACE;oCACE,sEAA+B;oCAC/B;;wCAAM,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI;4CAAO,CAChD;gCACJ,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;oCACb;;wCAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC;2DAAsB;oCAC5D;;wCAAM,MAAM,CAAC,MAAM,CAAC,IAAI;4CAAO,CAC5B,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,yCAAI,GAAG,EAAC,QAAQ;wCACnC,2EAAoC;wCACpC;;4CAAM,MAAM,CAAC,IAAI,CAAC,MAAM;gDAAO,CAC5B,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,yCAAI,GAAG,EAAC,QAAQ;wCAClF,+DAAwB;wCACxB;;4CAAY,MAAM,CAAC,IAAI,CAAC,YAAY;kDAAa,CAC9C,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;oCAC3B,6DAAsB;oCACtB;wCACE,wCAAG,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,qBAAqB,EAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,IACxE,MAAM,CAAC,MAAM,CAAC,UAAU,CACvB,CACD,CACF,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,cAAI,IAAI,wCAAC,yBAAS,IAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAI,EAA9D,CAA8D,CAAC,CAAC,CAAC,CAAC,IAAI,CAC/H,CACF,CACY,CACV,CACV,CACE,EArC4C,CAqC5C,CAAC,CAAC;IAChB,CAAC;IAEH,mBAAC;AAAD,CAAC,CA1CiC,gCAAmB,GA0CpD;;;;;;AChGsC;AAEwB;AACpB;AACK;AACR;AACH;AAC8C;AACnC;AACJ;AACuC;AACN;AACqD;AAC5F;AAY/B,SAAe,WAAW,CAAC,IAAY,EAAE,OAA2B,EAAE,OAA6B;IAA7B,sCAA6B;;;;;wBACnF,qBAAM,iBAAiB,CAAC,IAAI,IAAI,OAAO,CAAC;;oBAAvD,YAAY,GAAG,SAAwC;oBAC7D,sBAAO,IAAI,iBAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,EAAC;;;;CACrD;AACD;IA2BE,kBAAY,IAAiB,EAAE,OAAgB,EAAE,OAA6B,EAAE,iBAAiC;QAAjH,iBAoBC;QApBgD,sCAA6B;QAAE,4DAAiC;QAJjH,WAAM,GAAG,IAAI,2BAAa,EAAE,CAAC;QAErB,aAAQ,GAAkB,IAAI,CAAC;QAGrC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,6CAAsB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM,GAAG,IAAI,2BAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,4DAA4D;QAE3G,mBAAS,CAAC,eAAe,CAAC,sBAAO,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,GAAG,IAAI,mBAAS,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,GAAG,IAAI,mBAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,sBAAO,CAAC,CAAC;QAE3D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;YAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,uBAAW,EAAE,CAAC;YAEhC,IAAI,iBAAiB,EAAE;gBACrB,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACzC;YAED,IAAI,CAAC,QAAQ,GAAG,iCAAO,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,gBAAM;gBACxD,KAAI,CAAC,gBAAgB,CAAE,MAAM,CAAC,QAAmB,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IA9CD;;;OAGG;IACH,QAAQ;IACD,eAAM,GAAb,UAAc,KAAiB;QAC7B,IAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACjF,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;QAEjE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;YAC/B,IAAI,CAAC,MAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;SACtC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAiCD,6BAAU,GAAV;QACE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;QAC5B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACjD,CAAC;IAED,0BAAO,GAAP;QACE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAEpB,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;SACvB;QAED,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE;YACzB,IAAI,CAAC,QAAQ,EAAE,CAAC;SACjB;IACH,CAAC;IACD;;;OAGG;IACH,gBAAgB;IAGV,uBAAI,GAAV;;;;;;;4BAEI,IAAI,EAAE;gCACJ,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa;6BACvC;4BACD,IAAI,EAAE;gCACJ,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO;gCAC7B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI;6BAC5B;;6BACY,IAAI,CAAC,MAAM,EAAX,wBAAW;wBAAG,qBAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;;wBAAxB,cAAwB;;;wBAAG,cAAS;;4BARjE,uBAQE,cAAW,KAAoD;4BAC/D,UAAO,GAAE,IAAI,CAAC,UAAU;iCACxB;;;;KACH;IAEO,mCAAgB,GAAxB,UAAyB,GAAW;QAClC,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC/B,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAC5D,IAAM,QAAQ,GAAc,EAAE,CAAC;QAE/B,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;YAChC,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAEvC,IAAI,CAAC,IAAI,EAAE;gBACT,SAAS;aACV;YAED,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACrB;QAED,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,UAAU,EAAE;YAC5B,IAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC;YAC/E,IAAI,YAAY;gBAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAC/C;QAED,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IAEH,eAAC;AAAD,CAAC;;AACD,IAAM,eAAe,GAAoB;IACvC,mBAAmB;QACjB,WAAC,mCAAmC,IAAG;YACrC,SAAS,EAAE,4BAAY;YACvB,aAAa,EAAE,UAAC,KAAe,IAAK,QAAC;gBACnC,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,eAAe;aAC5C,CAAC,EAFkC,CAElC;SACH;QACD,WAAC,6BAA6B,IAAG;YAC/B,SAAS,EAAE,4BAAY;YACvB,aAAa,EAAE,UAAC,KAAe,IAAK,QAAC;gBACnC,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,eAAe;aAC5C,CAAC,EAFkC,CAElC;SACH;QACD,WAAC,0BAA0B,IAAG;YAC5B,SAAS,EAAE,iCAAgB;YAC3B,aAAa,EAAE,UAAC,KAAe,IAAK,QAAC;gBACnC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM;gBACzB,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC,EAHkC,CAGlC;SACH;mBACF;CACF,CAAC;;;ACnKyB;AACK;AACG;AACP;AACI;AACJ;AACO;AACF;AACR;AACgB;AACX;AACA;AACE;;;;ACZwB;AACS;AACjE,IAAM,cAAc,GAAG,EAAE,CAAC;AACnB,IAAM,WAAW,GAAG,WAAW,CAAC;AAChC,IAAM,SAAS,GAAG,iBAAM,CAAC,EAAE,CAAC,2PAI/B,EAA2B,KAC9B,KADG,cAAc,CAAC,WAAW,CAAC,CAC9B,CAAC;AACK,IAAM,cAAc,GAAG,iBAAM,CAAC,CAAC,gXAChB,EAAwC,cACnD,EAAwC,yJAQ/C,EAAgC,KACnC,KAVqB,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAA/B,CAA+B,EACnD,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAA/B,CAA+B,EAQ/C,cAAc,CAAC,gBAAgB,CAAC,CACnC,CAAC;AACK,IAAM,QAAQ,GAAG,iBAAM,CAAC,IAAI,yaAKtB,EAAc,yFAO1B,KAPY,cAAc,CAO1B,CAAC;AACK,IAAM,eAAe,GAAG,iBAAM,CAAC,GAAG,gMAExC,KAAC;AACK,IAAM,WAAW,GAAG,iBAAM,CAAC,GAAG,+bAInB,EAAc,OAC/B,KADiB,cAAc,CAC/B,CAAC;;;;;AC3CoC;AACP;AAEoC;AACoB;AACvC;AACkB;AACoC;AAKtG;IAA6B,sDAA6B;IAA1D;QAAA,qEA0DC;QAzDC,yBAAmB,GAAG,WAAC;YACrB,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE;gBAClB,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,KAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;aACzD;QACH,CAAC,CAAC;;IAqDJ,CAAC;IAnDC,wBAAM,GAAN;QAEI,SAAK,GACH,IAAI,CAAC,KAAK,MADP,CACQ;QACT,SAGF,KAAK,CAAC,IAAI,EAFZ,IAAI,YACJ,YAAY,kBACA,CAAC;QACf,IAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC;QAC5D,IAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC/C,IAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACvC,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,iCAAC,QAAQ;;YAC1B,wCAAG,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,IAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAK,CAClD,IAAI,IAAI,CAAC;QACxB,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,iCAAC,QAAQ;;YAClD,wCAAG,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,IAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAK,CAC7C,IAAI,IAAI,CAAC;QACxB,IAAM,KAAK,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,iCAAC,QAAQ;YACtD,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,QAAQ;;YAAG,GAAG;YACpC,wCAAG,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,IAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAK,CACxD,IAAI,IAAI,CAAC;QACxB,IAAM,KAAK,GAAG,IAAI,CAAC,cAAc,IAAI,iCAAC,QAAQ;YACxC,wCAAG,IAAI,EAAE,IAAI,CAAC,cAAc,uBAAsB,CACzC,IAAI,IAAI,CAAC;QACxB,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI;;YAAQ,IAAI,CAAC,OAAO;gBAAS,IAAI,IAAI,CAAC;QACtE,OAAO,iCAAC,OAAO;YACX,iCAAC,GAAG;gBACF,iCAAC,WAAW,IAAC,SAAS,EAAC,UAAU;oBAC/B,iCAAC,SAAS;wBACP,IAAI,CAAC,KAAK;;wBAAG,OAAO,CACX;oBACX,CAAC,kBAAkB,IAAI;;wBAEpB,iCAAC,cAAc,IAAC,QAAQ,EAAE,gBAAgB,IAAI,IAAI,EAAE,MAAM,EAAC,QAAQ,EAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,mBAAmB,eAExG,CACf;oBACN,iCAAC,mBAAmB,QACjB,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,iCAAC,eAAe;wBACtE,iCAAC,WAAW;4BACT,KAAK;;4BAAG,OAAO;;4BAAG,OAAO;;4BAAG,KAAK,CACtB,CACE,IAAI,IAAI,CACR;oBACtB,iCAAC,iBAAQ,IAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,eAAY,mBAAmB,GAAG;oBAC9E,YAAY,IAAI,iCAAC,2CAAqB,IAAC,YAAY,EAAE,YAAY,GAAI,CAC1D,CACV,CACE,CAAC;IACf,CAAC;IAxDU,OAAO;QADnB,gCAAQ;OACI,OAAO,CA0DnB;IAAD,cAAC;CAAA,CA1D4B,4BAAe,GA0D3C;AA1DmB;;;ACZgB;;;;ACAL;AACc;AACtC,IAAM,SAAS,GAAG,iBAAM,CAAC,GAAG,kQACnB,EAAmC,kBACpC,EAAkC,gBACpC,EAAgC,wCAG5C,KALe,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAA1B,CAA0B,EACpC,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAzB,CAAyB,EACpC,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAvB,CAAuB,CAG5C,CAAC;AACK,IAAM,QAAQ,GAAG,iBAAM,CAAC,GAAG,oMAEjC,KAAC;AACF,IAAM,oBAAI,GAAG,iBAAM,CAAC,CAAC,0MAEpB,KAAC;AACK,IAAM,wBAAQ,GAAG,aAAG,IAAI,0BAAS,IAAI,wCAAC,oBAAI,IAAC,IAAI,EAAE,GAAG,IAAG,SAAS,CAAQ,EAAnC,CAAmC,EAAhD,CAAgD,CAAC;;;;;ACf1C;AACP;AAEmC;AAElE;IAA6B,sDAE3B;IAFF;;IAwBA,CAAC;IArBC,wBAAM,GAAN;QAEI,QAAI,GACF,IAAI,CAAC,KAAK,KADR,CACS;QACf,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEhC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;YAC9B,OAAO,IAAI,CAAC;SACb;QAED,IAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,uDAAuD;QAE3H,IAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QAC7D,IAAM,IAAI,GAAG,iCAAC,SAAS,IAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,GAAI,CAAC;QAC5D,OAAO,iCAAC,QAAQ,IAAC,KAAK,EAAE;gBACtB,eAAe,EAAE,QAAQ,CAAC,eAAe;aAC1C,IACI,QAAQ,CAAC,CAAC,CAAC,wBAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAClC,CAAC;IAChB,CAAC;IAtBU,OAAO;QADnB,gCAAQ;OACI,OAAO,CAwBnB;IAAD,cAAC;CAAA,CAxB4B,4BAAe,GAwB3C;AAxBmB;;;;ACLW;AACqD;AAEzB;AACN;AACL;AAIhD;IAAsC,+DAAsC;IAA5E;;IAqCA,CAAC;IApCC,iCAAM,GAAN;QAAA,iBAIC;QAHC,OAAO,iCAAC,eAAe,QAClB,iBAAO,IAAI,wCAAC,QAAa,QAAE,eAAK,IAAI,YAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,KAAK,CAAC,EAA9C,CAA8C,CAAiB,EAAxF,CAAwF,CACpF,CAAC;IACvB,CAAC;IAED,oDAAyB,GAAzB,UAA0B,OAA+B,EAAE,KAAgB;QACnE,SAGF,IAAI,CAAC,KAAK,EAFZ,MAAM,cACN,gBAAiB,EAAjB,QAAQ,mBAAG,WAAC,IAAI,QAAC,EAAD,CAAC,KACL,CAAC;QAEf,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;SACnF;QAED,IAAM,QAAQ,GAAG,IAAI,iCAAgB,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAM,KAAK,GAAG,QAAQ,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAEtD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACjB,OAAO,IAAI,CAAC;SACb;QAED,OAAO,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,GAAG;YACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC5B,OAAO,+BAAkB,CAAC,QAAQ,CAAC,iCAAC,qBAAqB,IAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,GAAI,CAAC,EAAE;oBACxG,GAAG,EAAE,GAAG;iBACT,CAAC,CAAC;aACJ;YAED,OAAO,iCAAC,IAAI,CAAC,SAAS,wCAAC,GAAG,EAAE,GAAG,gFAAW,IAAI,CAAC,KAAK,GAC/C,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GACzB,CAAC;QACR,CAAC,CAAC,CAAC;IACL,CAAC;IAEH,uBAAC;AAAD,CAAC,CArCqC,4BAAe,GAqCpD;;;;;;;;AC9CwC;AACP;AAC+B;AACa;AACvE,IAAM,cAAc,GAAG,iBAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAC,KAEhD,IAAK,QAAC;IACL,SAAS,EAAE,oBAAkB,KAAK,CAAC,IAAM;CAC1C,CAAC,EAFI,CAEJ,CAAC,kiCAED,uDAGU,EAA6C,oBACxC,EAA6C,iYAgBtC,EAAoC,8CAIpC,EAAqC,6CAIrC,EAAoC,iDAIpC,EAAwC,+CAIxC,EAAsC,gDAItC,EAAuC,+CAIvC,EAAsC,8CAItC,EAAqC,8CAIrC,EAAqC,8CAIrC,EAAwC,UAE/D,KAvDW,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAApC,CAAoC,EACxC,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAApC,CAAoC,EAgBtC,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAA3B,CAA2B,EAIpC,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAA5B,CAA4B,EAIrC,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAA3B,CAA2B,EAIpC,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAA/B,CAA+B,EAIxC,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAA7B,CAA6B,EAItC,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAA9B,CAA8B,EAIvC,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAA7B,CAA6B,EAItC,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAA5B,CAA4B,EAIrC,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAA5B,CAA4B,EAIrC,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAA/B,CAA+B,CAE/D,CAAC;AAEF,SAAS,gBAAgB,CAAC,KAAK,EAAE,EAIhC;QAHC,KAAK;IAIL,IAAI,KAAK,GAAG,CAAC,EAAE;QACb,OAAO,oCAAM,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;KACnD;SAAM,IAAI,KAAK,KAAK,CAAC,EAAE;QACtB,OAAO,oCAAM,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;KACpD;SAAM;QACL,OAAO,EAAE,CAAC;KACX;AACH,CAAC;AAEM,IAAM,UAAU,GAAG,iBAAM,CAAC,EAAE,qOAEjC,8EAQE,EAA+C,KAClD,KADG,eAAK,IAAI,YAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,EAAtC,CAAsC,CAClD,CAAC;AACK,IAAM,UAAU,GAAG,iBAAM,CAAC,EAAE,8PAEjC,uGAKE,EAAoD,KACvD,KADG,eAAK,IAAI,YAAK,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,EAA3C,CAA2C,CACvD,CAAC;AACK,IAAM,aAAa,GAAG;IAC3B,CAAC,EAAE,GAAG,sUAEc;QAEwB,qFAIjC,EAAsC,OAChD,KAPmB,UAAC,EAEpB;YADC,KAAK;QACD,YAAK,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa;IAAtC,CAAsC,EAIjC,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAA7B,CAA6B,CAChD;IACD,CAAC,EAAE,GAAG,qSAEc;QAEyB,iCAEhC,EAA4C,cAExD,KANmB,UAAC,EAEpB;YADC,KAAK;QACD,YAAK,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa;IAAvC,CAAuC,EAEhC,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,EAAnC,CAAmC,CAExD;IACD,CAAC,EAAE,GAAG,qKACK,EAAsC,OAChD,KADU,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAA7B,CAA6B,CAChD;CACF,CAAC;AAOK,IAAM,aAAa,GAAG,iBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,UAAC,KAAwB,IAAK,QAAC;IAC7E,IAAI,EAAE,UAAU;IAChB,SAAS,EAAE,oBAAU,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,EAAE;QAC5C,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAC;CACH,CAAC,EAL4E,CAK5E,CAAC,ieAAmB,iCAEX,EAA2F,qCAElF,EAAqC,SACrD;IAI4F,wEAG/E,EAAmD,OAChE,EAAmC,yBACjB,EAAiE,SAEnF,EAAgD,0CAG5B,EAA6C,cAGjE,EAAS,kBACC;IAEgB,gBACjB;IAEiB,gCAEhB;IAEiB,iBAG9B,KAjCU,eAAK,IAAI,YAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAlF,CAAkF,EAElF,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAA5B,CAA4B,EACrD,UAAC,EAIJ;QAHC,KAAK,aACL,IAAI,YACJ,KAAK;IACD,WAAI,KAAK,SAAS,IAAI,KAAK,GAAG,CAAC,IAAI,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,GAAG,KAAK,IAAI,EAAE;AAA1F,CAA0F,EAG/E,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,EAA1C,CAA0C,EAChE,eAAK,IAAI,oBAAa,CAAC,KAAK,CAAC,KAAK,CAAC,EAA1B,CAA0B,EACjB,eAAK,IAAI,YAAK,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAxD,CAAwD,EAEnF,eAAK,IAAI,YAAK,CAAC,UAAU,IAAI,aAAa,IAAI,EAAE,EAAvC,CAAuC,EAG5B,eAAK,IAAI,uBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,EAApC,CAAoC,EAGjE,SAAS,EACC,UAAC,EAEd;QADC,KAAK;IACD,YAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI;AAAxB,CAAwB,EACjB,UAAC,EAEb;QADC,KAAK;IACD,YAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI;AAAxB,CAAwB,EAEhB,UAAC,EAEd;QADC,KAAK;IACD,YAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK;AAAzB,CAAyB,CAG9B,CAAC;AACK,IAAM,aAAa,GAAG,iBAAM,CAAC,IAAI,wPAEtC,kEAGS,EAA2C,sDAGrD,KAHU,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAlC,CAAkC,CAGrD,CAAC;AACK,IAAM,gBAAgB,GAAG,iBAAM,CAAC,GAAG,iJACtC;IAkBH,KACA,KAnBG,UAAC,EAEJ;QADC,KAAK;IACD,iDAEU,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,0BACvB,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,mGAQxB,KAAK,CAAC,OAAO,CAAC,SAAS,gDACR,oCAAM,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,wBACvD,KAAK,CAAC,OAAO,CAAC,IAAI,sCAGhC;AAhBK,CAgBL,CACA,CAAC;;;;;AC7M6B;AACG;AACgB;AACW;AACP;AACT;AACE;AACL;AAS1C;IAAmC,4DAAuC;IAA1E;;IAkBA,CAAC;IAjBC,8BAAM,GAAN;QACQ,SAOF,IAAI,CAAC,KAAK,EANZ,IAAI,YACJ,MAAM,cACN,SAAS,iBACT,OAAO,eACP,QAAQ,gBACR,UAAU,gBACE,CAAC;QACf,OAAO,iCAAC,oBAAoB,IAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,IAAI,SAAS;YAC5E,iCAAC,oBAAoB,IAAC,IAAI,EAAE,QAAQ,IAAG,eAAe,CAAC,QAAQ,CAAC,CAAwB;YACxF,iCAAC,SAAS,IAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,GAAI;YACjF,iCAAC,YAAY,IAAC,UAAU,EAAE,UAAU,IAAG,IAAI,CAAgB;YAC1D,UAAU,CAAC,CAAC,CAAC,iCAAC,KAAK,IAAC,IAAI,EAAC,SAAS;;gBAAG,CAAC,CAAC,YAAY,CAAC;oBAAU,CAAC,CAAC,CAAC,IAAI,CACjD,CAAC;IAC5B,CAAC;IAEH,oBAAC;AAAD,CAAC,CAlBkC,gCAAmB,GAkBrD;;AACD,IAAM,oBAAoB,GAAG,iBAAM,CAAC,MAAM,gYAQtC,EAAS,iCAEC;IAEgD,iBAG7D,KAPG,SAAS,EAEC,UAAC,EAEd;QADC,KAAK;IACD,2CAAM,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAAxD,CAAwD,CAG7D,CAAC;AACF,IAAM,YAAY,GAAG,iBAAM,CAAC,IAAI,8KAE9B,uBACmB,EAAmD,2BAEvE,KAFoB,eAAK,IAAI,YAAK,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,EAA1C,CAA0C,CAEvE,CAAC;AACF,IAAM,oBAAoB,GAAG,iBAAM,CAAC,cAAc,CAAC,0LAElD,KAAC;;;;;AC3D2C;AACG;AACd;AAC3B,IAAM,mBAAmB,GAAG,iBAAM,CAAC,2BAAa,CAAC,maAKlC;IAEM,0CAET;IAE2C,KAC7D,KAPqB,UAAC,EAEtB;QADC,KAAK;IACD,YAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;AAAtB,CAAsB,EAET,UAAC,EAEnB;QADC,KAAK;IACD,2CAAM,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAAxD,CAAwD,CAC7D,CAAC;AACK,IAAM,mBAAmB,GAAG,iBAAM,CAAC,GAAG,kSAEvB;IAEK,gDAG1B,KALqB,UAAC,EAEtB;QADC,KAAK;IACD,YAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;AAArB,CAAqB,CAG1B,CAAC;;;;;ACvB6B;AACmB;AAClD;IAAmC,4DAAmB;IAAtD;QAAA,qEAeC;QAbC,mBAAa,GAAG;YACd,gBAAgB,CAAC,aAAa,CAAC,KAAI,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC,CAAC;;IAWJ,CAAC;IATC,8BAAM,GAAN;QAAA,iBAOC;QALG,YAAQ,GACN,IAAI,CAAC,KAAK,SADJ,CACK;QACf,OAAO,0CAAK,GAAG,EAAE,YAAE,IAAI,YAAI,CAAC,KAAK,GAAG,EAAE,EAAf,CAAe,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAC,QAAQ,IACvH,QAAQ,CACL,CAAC;IACX,CAAC;IAEH,oBAAC;AAAD,CAAC,CAfkC,gCAAmB,GAerD;;;;;ACjB4C;AACtC,IAAM,qBAAqB,GAAG,iBAAM,CAAC,GAAG,4RAI9C,KAAC;AACK,IAAM,iBAAiB,GAAG,iBAAM,CAAC,IAAI,kRAC3B,EAA+C,0FAK/D,KALgB,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAtC,CAAsC,CAK/D,CAAC;AACK,IAAM,YAAY,GAAG,iBAAM,CAAC,MAAM,8mBAGvC,yHAM0B,EAAyC,sBAClD,EAA6C,yBAC1C,EAA+E,iFAIzF,EAAuD,sBAChD,EAAgD,iDAG/D,EAAsG,SAErG,EAAiB,iBACT,EAAqE,oHAKjF,KAlB2B,eAAK,IAAI,YAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAhC,CAAgC,EAClD,eAAK,IAAI,YAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAApC,CAAoC,EAC1C,eAAK,IAAI,YAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,eAAe,EAAtE,CAAsE,EAIzF,eAAK,IAAI,YAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,uBAAuB,EAA9C,CAA8C,EAChD,eAAK,IAAI,YAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,EAAvC,CAAuC,EAG/D,eAAK,IAAI,YAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,mBAAiB,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,MAAG,IAAI,EAAE,EAA7F,CAA6F,EAErG,iBAAiB,EACT,eAAK,IAAI,YAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAA5D,CAA4D,CAKjF,CAAC;AACK,IAAM,QAAQ,GAAG,iBAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAC,KAG1C,IAAK,QAAC;IACL,SAAS,EAAE,eAAa,KAAK,CAAC,IAAM;CACrC,CAAC,EAFI,CAEJ,CAAC,gUAGD,iBACa,EAA4C,oBAC1C,EAAwC,yBACnC,EAAyD,mCAElE,EAA+C,kDAE3C,EAAmD,mBAEnE,KARc,eAAK,IAAI,YAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAnC,CAAmC,EAC1C,eAAK,IAAI,YAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAA/B,CAA+B,EACnC,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,SAAS,EAAhD,CAAgD,EAElE,eAAK,IAAI,YAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAtC,CAAsC,EAE3C,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,EAA1C,CAA0C,CAEnE,CAAC;AACK,IAAM,cAAc,GAAG,iBAAM,CAAC,GAAG,4dAEtC,sUAaE,EAA2F,IAC9F,KADG,eAAK,IAAI,YAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,wCAAwC,EAAlF,CAAkF,CAC9F,CAAC;AACK,IAAM,UAAU,GAAG,iBAAM,CAAC,GAAG,4LAEnC,KAAC;AACK,IAAM,SAAS,GAAG,iBAAM,CAAC,GAAG,0YAKxB,EAAwC,4BAEtC,EAAwC,UAEpD,KAJU,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAA/B,CAA+B,EAEtC,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAA/B,CAA+B,CAEpD,CAAC;;;;;ACxF6B;AACmB;AAEF;AACI;AACW;AACS;AACoE;AAU5I;IAA8B,uDAA6C;IACzE,kBAAY,KAAK;QAAjB,YACE,kBAAM,KAAK,CAAC,SAIb;QAED,YAAM,GAAG;YACP,KAAI,CAAC,QAAQ,CAAC;gBACZ,QAAQ,EAAE,CAAC,KAAI,CAAC,KAAK,CAAC,QAAQ;aAC/B,CAAC,CAAC;QACL,CAAC,CAAC;QATA,KAAI,CAAC,KAAK,GAAG;YACX,QAAQ,EAAE,KAAK;SAChB,CAAC;;IACJ,CAAC;IAQD,yBAAM,GAAN;QAAA,iBAwCC;QAvCO,SAIF,IAAI,CAAC,KAAK,EAHZ,SAAS,iBACT,QAAQ,gBACR,YAAY,kBACA,CAAC;QAEb,YAAQ,GACN,IAAI,CAAC,KAAK,SADJ,CACK,CAAC,iEAAiE;QAEjF,OAAO,iCAAC,cAAc,CAAC,QAAQ,QAC1B,iBAAO,IAAI,wCAAC,qBAAqB;YAC9B,iCAAC,YAAY,IAAC,OAAO,EAAE,KAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ;gBACxE,iCAAC,QAAQ,IAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAI,CAAC,KAAK,CAAC,OAAO,IAC5D,SAAS,CAAC,QAAQ,CACV;gBACX,iCAAC,iBAAiB,QAAE,SAAS,CAAC,IAAI,CAAqB;gBACvD,iCAAC,SAAS,IAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE;wBAC5H,WAAW,EAAE,OAAO;qBACrB,GAAI,CACY;YACf,iCAAC,cAAc,IAAC,QAAQ,EAAE,QAAQ,iBAAe,CAAC,QAAQ,IACvD,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAM;gBAC/B,IAAM,aAAa,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC,CAAC,4BAA4B,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;gBACrI,IAAM,QAAQ,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;gBAC5C,OAAO,iCAAC,UAAU,IAAC,GAAG,EAAE,aAAa;oBAC7B,iCAAC,iBAAQ,IAAC,MAAM,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,GAAI;oBAC7D,iCAAC,2BAAa;wBACZ,iCAAC,SAAS;4BACR,+CACG,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CACnF;4BACN,SAAS,CAAC,IAAI,CACL,CACE,CACL,CAAC;YACtB,CAAC,CAAC,CACiB,CACK,EA3Bd,CA2Bc,CACF,CAAC;IAC/B,CAAC;IAEH,eAAC;AAAD,CAAC,CAxD6B,4BAAe,GAwD5C;;;;;ACzE8B;AAC0B;AACa;AAE9B;AACE;AAK1C;IAAqC,8DAA8C;IAAnF;;IAqBA,CAAC;IApBC,gCAAM,GAAN;QACQ,SAGF,IAAI,CAAC,KAAK,EAFZ,KAAK,aACL,UAAU,gBACE,CAAC;QAEf,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;YACrC,OAAO,IAAI,CAAC;SACb;QAED,OAAO,0CAAK,GAAG,EAAE,KAAK;YAClB,iCAAC,gBAAgB;gBAAE,KAAK;8BAA+B;YACvD,iCAAC,eAAe;gBACd,gDACG,WAAW,CAAC,UAAU,EAAE,UAAC,KAAK,EAAE,MAAM,IAAK,wCAAC,WAAK,IAAC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,GAAI,EAA5E,CAA4E,CAAC,CACnH,CACQ,CACd,CAAC;IACX,CAAC;IAEH,sBAAC;AAAD,CAAC,CArBoC,gCAAmB,GAqBvD;;;;;AC/BqC;AACP;AAGoD;AAYnF;IAAsC,+DAAsC;IAA5E;QAAA,qEA8CC;QA7CC,iBAAW,GAAG,UAAC,EAEd;gBADC,GAAG;YAEH,IAAI,KAAI,CAAC,KAAK,CAAC,OAAO,EAAE;gBACtB,KAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;aAClC;QACH,CAAC,CAAC;;IAuCJ,CAAC;IArCC,iCAAM,GAAN;QAAA,iBAmCC;QAjCG,WAAO,GACL,IAAI,CAAC,KAAK,QADL,CACM;QAEf,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE;YACjE,OAAO,IAAI,CAAC;SACb;QAED,IAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC5C,IAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,GAAG;YAC/C,OAAO;gBACL,KAAK,EAAE,IAAI,CAAC,IAAI;gBAChB,GAAG;aACJ,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAM,OAAO,GAAG,UAAC,EAEhB;gBADC,QAAQ;YACJ,YAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,iCAAC,eAAe;gBACvC,iCAAC,aAAa,uBAA6B;gBAC1C,QAAQ,CACO,CAAC,CAAC,CAAC,QAAQ;QAH3B,CAG2B,CAAC;QAElC,OAAO;YACH,iCAAC,OAAO,QACL,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;gBAC3B,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,KAAK;gBACnC,OAAO;gBACP,QAAQ,EAAE,IAAI,CAAC,WAAW;gBAC1B,SAAS,EAAE,cAAc;aAC1B,CAAC,CACQ;YACT,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CACnC,CAAC;IACR,CAAC;IA5CU,gBAAgB;QAD5B,gCAAQ;OACI,gBAAgB,CA8C5B;IAAD,uBAAC;CAAA,CA9CqC,4BAAe,GA8CpD;AA9C4B;;;;AChBE;AACsC;AACjB;AACK;AAGc;AACpC;AACa;AAEhD,SAAS,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI;IAC/B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACd,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;KAChB;IAED,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC;AAMD,IAAM,YAAY,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC3D;IAAgC,yDAAoC;IAApE;;IA6BA,CAAC;IA5BC,gCAAW,GAAX,UAAY,MAAoB;QAC9B,IAAM,GAAG,GAAG,EAAE,CAAC;QACf,MAAM,CAAC,OAAO,CAAC,eAAK;YAClB,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC;IAED,2BAAM,GAAN;QACQ,SAGF,IAAI,CAAC,KAAK,EAFZ,IAAI,YACJ,kBAAe,EAAf,UAAU,mBAAG,EAAE,KACH,CAAC;QAEf,IAAI,IAAI,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,EAAE;YAClD,OAAO,IAAI,CAAC;SACb;QAED,IAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAM,YAAY,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,IAAM,WAAW,GAAG,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC;QACzC,IAAM,eAAe,GAAG,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC;QACjD,OAAO;YACF,YAAY,CAAC,GAAG,CAAC,eAAK,IAAI,wCAAC,+BAAe,IAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC,GAAI,EAA3E,CAA2E,CAAC;YACtG,WAAW,IAAI,iCAAC,WAAW,IAAC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,GAAI,CAClF,CAAC;IACR,CAAC;IAEH,iBAAC;AAAD,CAAC,CA7B+B,gCAAmB,GA6BlD;;AAED,SAAS,oBAAoB,CAAC,KAAK;IACjC,OAAO,iCAAC,gBAAgB,IAAC,GAAG,EAAC,QAAQ;;QACZ,iCAAC,eAAe,0CAAK,KAAK,EAAI,CAClC,CAAC;AACxB,CAAC;AAEM,SAAS,WAAW,CAAC,KAG3B;IAEG,WAAO,GAEL,KAAK,QAFA,EACP,WAAW,GACT,KAAK,YADI,CACH;IACV,OAAO,iCAAC,iCAAgB,IAAC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,oBAAoB,IAC1E,UAAC,EAEH;YADC,MAAM;QAEN,OAAO;YACA,WAAW,KAAK,SAAS,IAAI,iCAAC,iBAAQ,IAAC,MAAM,EAAE,WAAW,GAAI;YAC/D,iCAAC,aAAM,IAAC,YAAY,EAAE,IAAI,EAAE,GAAG,EAAC,QAAQ,EAAC,MAAM,EAAE,MAAM,GAAI,CAC1D,CAAC;IACV,CAAC,CACkB,CAAC;AACxB,CAAC;;;;AC9E8B;AACU;AACS;AACF;AAUhD;IAAmC,4DAAuC;IAA1E;;IAkBA,CAAC;IAjBC,8BAAM,GAAN;QACQ,SAQF,IAAI,CAAC,KAAK,EAPZ,KAAK,aACL,IAAI,YACJ,KAAK,aACL,IAAI,YACJ,MAAM,cACN,SAAS,iBACT,OAAO,aACK,CAAC;QACf,OAAO,6CAAQ,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,KAAK,IAAI,OAAO,IAAI,SAAS,mBAAiB,MAAM,EAAE,QAAQ,EAAE,KAAK;YAC/G,CAAC,KAAK,IAAI,iCAAC,SAAS,IAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,GAAI;YACzG,iCAAC,IAAI;gBAAE,IAAI;oBAAS;YACpB,iCAAC,iBAAQ,IAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,GAAI,CACjD,CAAC;IACd,CAAC;IAEH,oBAAC;AAAD,CAAC,CAlBkC,gCAAmB,GAkBrD;;;;;AC/BD,6CAA6C;AACY;AACZ;AACG;AACzC,IAAM,mBAAmB,GAAG,iBAAM,CAAC,2BAAa,CAAC,yrBAY7C,EAAuD,yBAC5C,EAAiE,yDAGlE,EAAuD,YAExE;IAaG,KACN,KApBU,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAA9C,CAA8C,EAC5C,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,eAAe,EAAxD,CAAwD,EAGlE,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAA9C,CAA8C,EAExE,eAAK,IAAI,YAAK,CAAC,KAAK,IAAI,2MAa3B,IAAI,EAAE,EAbM,CAaN,CACN,CAAC;AACK,IAAM,mBAAmB,GAAG,iBAAM,CAAC,GAAG,8LAE5C,KAAC;AACK,IAAM,cAAc,GAAG,iBAAM,CAAC,gBAAgB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,wRAI9E,KAAC;AACK,IAAM,IAAI,GAAG,iBAAM,CAAC,MAAM,0MAEhC,KAAC;;;;;AC/C6B;AACuC;AAE5B;AACF;AACW;AAInD;IAAqC,8DAAyC;IAA9E;;IAkBA,CAAC;IAjBC,gCAAM,GAAN;QAEI,WAAO,GACL,IAAI,CAAC,KAAK,QADL,CACM;QAEf,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YACjD,OAAO,IAAI,CAAC;SACb;QAED,OAAO,iCAAC,eAAe;YACnB,iCAAC,cAAc,6BAAoC;YACnD,gDACG,WAAW,CAAC,OAAO,EAAE,UAAC,MAAM,EAAE,MAAM,IAAK,wCAAC,WAAK,IAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,GAAI,EAA9E,CAA8E,CAAC,CACnH,CACQ,CAAC;IACvB,CAAC;IAEH,sBAAC;AAAD,CAAC,CAlBoC,gCAAmB,GAkBvD;;;;;AC3B8B;AAE0B;AACY;AACE;AACpC;AACa;AACI;AACpD;IAAqC,8DAEnC;IAFF;QAAA,qEA2BC;QALS,oBAAc,GAAG,eAAK;YAC5B,OAAO,iCAAC,gBAAgB,IAAC,GAAG,EAAC,QAAQ;;gBAChB,iCAAC,eAAe,0CAAK,KAAK,EAAI,CAC9B,CAAC;QACxB,CAAC,CAAC;;IACJ,CAAC;IAxBC,gCAAM,GAAN;QACQ,SAIF,IAAI,CAAC,KAAK,CAAC,QAAQ,EAHrB,WAAW,mBACX,OAAO,eACP,OAAO,aACc,CAAC;QACxB,OAAO;YACF,WAAW,IAAI,iCAAC,iBAAQ,IAAC,MAAM,EAAE,WAAW,GAAI;YACjD,iCAAC,+BAAe,IAAC,OAAO,EAAE,OAAO,GAAI;YACrC,iCAAC,iCAAgB,IAAC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,IACpE,UAAC,EAEH;oBADC,MAAM;gBAEN,OAAO,iCAAC,aAAM,IAAC,aAAa,EAAE,IAAI,EAAE,GAAG,EAAC,QAAQ,EAAC,MAAM,EAAE,MAAM,GAAI,CAAC;YACtE,CAAC,CACkB,CAClB,CAAC;IACR,CAAC;IAOH,sBAAC;AAAD,CAAC,CA3BoC,gCAAmB,GA2BvD;;;;;ACnCqC;AACP;AAEqB;AACyB;AAE7E;IAAkC,2DAEhC;IAFF;QAAA,qEA2BC;QAxBC,YAAM,GAAG;YACP,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC/B,CAAC,CAAC;;IAsBJ,CAAC;IApBC,6BAAM,GAAN;QACQ,SAQF,IAAI,CAAC,KAAK,CAAC,QAAQ,EAPrB,OAAO,eACP,IAAI,YACJ,OAAO,eACP,WAAW,mBACX,IAAI,YACJ,QAAQ,gBACR,OAAO,aACc,CAAC;QACxB,IAAM,KAAK,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,MAAM,KAAK,SAAS,EAAzB,CAAyB,CAAC,CAAC;QACxG,IAAM,KAAK,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;QACzE,OAAO;YACH,iCAAC,mBAAmB,IAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAI;YAC1H,QAAQ,IAAI,CAAC,KAAK,IAAI,iCAAC,mBAAmB;gBACvC,iCAAC,+BAAe,IAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAI,CAC9B,CACpB,CAAC;IACX,CAAC;IAzBU,YAAY;QADxB,gCAAQ;OACI,YAAY,CA2BxB;IAAD,mBAAC;CAAA,CA3BiC,4BAAe,GA2BhD;AA3BwB;;;;ACNM;AAEc;AACH;AAC1C,IAAM,eAAe,GAAG,iBAAM,CAAC,EAAE,uTAItB;IAEoB,6BAE9B,KAJU,UAAC,EAEX;QADC,KAAK;IACD,YAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO;AAAzB,CAAyB,CAE9B,CAAC;AAKF;IAAmC,4DAAsC;IAAzE;;IAmBA,CAAC;IAlBC,8BAAM,GAAN;QACQ,SAGF,IAAI,CAAC,KAAK,EAFZ,SAAS,iBACT,UAAU,gBACE,CAAC;QAEf,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YACxC,OAAO,IAAI,CAAC;SACb;QAED,OAAO;YACH,iCAAC,eAAe,QAAE,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,WAAW,CAAmB;YACnF,SAAS,CAAC,GAAG,CAAC,kBAAQ;gBACvB,OAAO,iCAAC,qBAAY,IAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAAC;YAClE,CAAC,CAAC,CACI,CAAC;IACX,CAAC;IAEH,oBAAC;AAAD,CAAC,CAnBkC,gCAAmB,GAmBrD;;;;;;ACpCD,6CAA6C;AACd;AACyB;AACQ;AAET;AACvD,IAAM,SAAS,GAAG,iBAAM,CAAC,IAAI,0YACd,EAA6C,oBAC3C,EAA+C,yBAC1C;IAEQ,+KAY7B,KAhBc,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAApC,CAAoC,EAC3C,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAtC,CAAsC,EAC1C,UAAC,EAEtB;QADC,KAAK;IACD,YAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI;AAAxB,CAAwB,CAY7B,CAAC;AACF,IAAM,0BAA0B,GAAG,iBAAM,CAAC,IAAI,qYAU1C,EAAQ,KACX,KADG,QAAQ,CACX,CAAC;AACF,IAAM,yBAAyB,GAAG,iBAAM,CAAC,IAAI,upBAkBzC,EAAQ,KACX,KADG,QAAQ,CACX,CAAC;AAIF;IAAyC,kEAA6C;IAAtF;;IAeA,CAAC;IAdC,oCAAM,GAAN;QACE,IAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QACrC,OAAO,iCAAC,yBAAyB,QAC5B,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAM;YAC5B,OAAO,iCAAC,0BAA0B,IAAC,GAAG,EAAE,MAAM,CAAC,EAAE;gBAC3C,iCAAC,YAAI,IAAC,EAAE,EAAE,MAAM,CAAC,SAAS,IAAG,MAAM,CAAC,EAAE,CAAQ;gBAC7C,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI;gBAChC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,eAAK,IAAI,wCAAC,SAAS,IAAC,GAAG,EAAE,KAAK,IAAG,KAAK,CAAa,EAA1C,CAA0C,CAAC;gBACtE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CACN,CAAC;QACpC,CAAC,CAAC,CAC0B,CAAC;IACjC,CAAC;IAEH,0BAAC;AAAD,CAAC,CAfwC,gCAAmB,GAe3D;;AACD,IAAM,gBAAgB,GAAG,iBAAM,CAAC,GAAG,oLAElC,KAAC;AACF,IAAM,gBAAgB,GAAG,iBAAM,CAAC,GAAG,+KACxB,EAA+C,OACtD;IAED,IACF,KAJU,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,EAAtC,CAAsC,EACtD,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,gMAExB,KACF,CAAC;AACF,IAAM,UAAU,GAAG,iBAAM,CAAC,gBAAgB,CAAC,8NAG1C,KAAC;AACF,IAAM,wBAAI,GAAG,iBAAM,CAAC,GAAG,oQAKnB;IAED,IACF,KAHG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,4MAExB,KACF,CAAC;AAIF;IAA0C,mEAA8C;IAAxF;;IAkBA,CAAC;IAjBC,qCAAM,GAAN;QACE,IAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAEzC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;YACtB,OAAO,IAAI,CAAC;SACb;QAED,OAAO,iCAAC,wBAAI;YACR,iCAAC,gBAAgB;gBACf,iCAAC,UAAU,2BAA8B,CACxB;YACnB,iCAAC,gBAAgB,QACd,UAAU,CAAC,GAAG,CAAC,UAAC,QAAQ,EAAE,GAAG,IAAK,wCAAC,uCAAmB,IAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAI,EAArD,CAAqD,CAAC,CACxE,CACd,CAAC;IACZ,CAAC;IAEH,2BAAC;AAAD,CAAC,CAlByC,gCAAmB,GAkB5D;;;;;;ACtHqC;AACP;AAEc;AACG;AACuC;AACrC;AACF;AACM;AACK;AACuB;AAC1B;AAKxD;IAAqC,8DAAqC;IAA1E;;IAuBA,CAAC;IAtBC,gCAAM,GAAN;QAEI,aAAS,GACP,IAAI,CAAC,KAAK,UADH,CACI;QAEb,eAAW,GAET,SAAS,YAFA,EACX,YAAY,GACV,SAAS,aADC,CACA;QACd,IAAM,cAAc,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,YAAY,CAAC,CAAC;QACvD,OAAO,iCAAC,mBAAmB;YACtB,cAAc,IAAI,iCAAC,WAAW;gBAC1B,WAAW,KAAK,SAAS,IAAI,iCAAC,iBAAQ,IAAC,MAAM,EAAE,WAAW,GAAI;gBAC9D,YAAY,IAAI,iCAAC,2CAAqB,IAAC,YAAY,EAAE,YAAY,GAAI,CAC1D;YAChB,iCAAC,iBAAQ,IAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,GAAI;YAC5E,iCAAC,qBAAU,IAAC,UAAU,EAAE,SAAS,CAAC,UAAU,GAAI;YAChD,iCAAC,wCAAoB,IAAC,UAAU,EAAE,SAAS,CAAC,QAAQ,GAAI;YACxD,iCAAC,qBAAU,IAAC,UAAU,EAAE,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC,WAAW,GAAI;YAC7E,iCAAC,2BAAa,IAAC,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,UAAU,GAAI,CAC/D,CAAC;IAC3B,CAAC;IArBU,eAAe;QAD3B,gCAAQ;OACI,eAAe,CAuB3B;IAAD,sBAAC;CAAA,CAvBoC,4BAAe,GAuBnD;AAvB2B;AAwB5B,IAAM,WAAW,GAAG,iBAAM,CAAC,GAAG,iLACX;IAES,OAC3B,KAHkB,UAAC,EAEnB;QADC,KAAK;IACD,YAAK,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC;AAAtB,CAAsB,CAC3B,CAAC;;;;;AC5CoC;AACP;AAEyB;AACJ;AAEpD;IAAuC,gEAErC;IAFF;QAAA,qEAoBC;QAjBC,YAAM,GAAG;YACP,KAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;QACxC,CAAC,CAAC;;IAeJ,CAAC;IAbC,kCAAM,GAAN;QACQ,SAKF,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAJ9B,IAAI,YACJ,QAAQ,gBACR,QAAQ,gBACR,UAAU,gBACoB,CAAC;QACjC,OAAO;YACH,iCAAC,mBAAmB,IAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,GAAI;YACtH,QAAQ,IAAI,iCAAC,+BAAe,IAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,GAAI,CACxE,CAAC;IACR,CAAC;IAlBU,iBAAiB;QAD7B,gCAAQ;OACI,iBAAiB,CAoB7B;IAAD,wBAAC;CAAA,CApBsC,4BAAe,GAoBrD;AApB6B;;;;ACNC;AAEc;AACW;AAIxD;IAAmC,4DAAuC;IAA1E;;IAoBA,CAAC;IAnBC,8BAAM,GAAN;QAEI,aAAS,GACP,IAAI,CAAC,KAAK,UADH,CACI;QAEf,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YACxC,OAAO,IAAI,CAAC;SACb;QAED,OAAO;YACH,iCAAC,eAAe,sBAA8B;YAC7C,SAAS,CAAC,GAAG,CAAC,kBAAQ;gBACvB,OAAO,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,UAAC,SAAS,EAAE,KAAK;oBAC9C,OAAO,iCAAC,mCAAiB,IAAC,GAAG,EAAK,QAAQ,CAAC,IAAI,SAAI,KAAO,EAAE,iBAAiB,EAAE,SAAS,GAAI,CAAC;gBAC/F,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CACI,CAAC;IACX,CAAC;IAEH,oBAAC;AAAD,CAAC,CApBkC,gCAAmB,GAoBrD;;AACD,IAAM,eAAe,GAAG,iBAAM,CAAC,EAAE,uTAItB;IAEoB,6BAE9B,KAJU,UAAC,EAEX;QADC,KAAK;IACD,YAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO;AAAzB,CAAyB,CAE9B,CAAC;;;;ACpCkC;AACJ;AACA;;;;ACFM;AACP;AAEoD;AAWnF;;;;GAIG;AAGH;IAAgD,sEAA8E;IAC5H,iCAAY,KAAK;QAAjB,YACE,kBAAM,KAAK,CAAC,SAIb;QAED,gBAAU,GAAG,UAAC,EAEb;gBADC,GAAG;YAEH,IAAI,KAAI,CAAC,KAAK,CAAC,KAAK,EAAE;gBACpB,KAAI,CAAC,QAAQ,CAAC;oBACZ,aAAa,EAAE,GAAG;iBACnB,CAAC,CAAC;aACJ;QACH,CAAC,CAAC;QAbA,KAAI,CAAC,KAAK,GAAG;YACX,aAAa,EAAE,CAAC;SACjB,CAAC;;IACJ,CAAC;IAYD,wCAAM,GAAN;QAAA,iBA4BC;QA1BG,SAAK,GACH,IAAI,CAAC,KAAK,MADP,CACQ;QAEf,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAC3B,OAAO,IAAI,CAAC;SACb;QAED,IAAM,OAAO,GAAG,UAAC,EAEhB;gBADC,QAAQ;YACJ,YAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,iCAAC,eAAe;gBACnC,iCAAC,aAAa,QAAE,KAAI,CAAC,KAAK,CAAC,KAAK,CAAiB;gBAChD,QAAQ,CACO,CAAC,CAAC,CAAC,QAAQ;QAH3B,CAG2B,CAAC;QAElC,OAAO;YACH,iCAAC,OAAO,QACL,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;gBAC3B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,KAAK;gBACzD,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;gBAC3B,QAAQ,EAAE,IAAI,CAAC,UAAU;gBACzB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,UAAU;aAC1C,CAAC,CACQ;YAET,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CACpD,CAAC;IACR,CAAC;IA9CU,uBAAuB;QADnC,gCAAQ;OACI,uBAAuB,CAgDnC;IAAD,8BAAC;CAAA,CAhD+C,4BAAe,GAgD9D;AAhDmC;;;;ACrBE;AACP;AACuB;AAEe;AACE;AACD;AAKtE;IAAoC,6DAAoC;IAAxE;QAAA,qEAgBC;QAHS,oBAAc,GAAG,eAAK;YAC5B,OAAO,iCAAC,eAAe,wCAAC,KAAK,EAAE,yBAAS,EAAE,QAAQ,EAAE,sBAAsB,IAAM,KAAK,EAAI,CAAC;QAC5F,CAAC,CAAC;;IACJ,CAAC;IAfC,+BAAM,GAAN;QAAA,iBAUC;QATC,IAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAEvC,IAAI,WAAW,KAAK,SAAS,EAAE;YAC7B,OAAO,IAAI,CAAC;SACb;QAED,OAAO,iCAAC,iCAAgB,IAAC,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,SAAS,EAAE,IAAI,IAC9F,mBAAS,IAAI,wCAAC,iCAAgB,IAAC,GAAG,EAAC,SAAS,EAAC,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,KAAI,CAAC,cAAc,GAAI,EAA7F,CAA6F,CAC1F,CAAC;IACxB,CAAC;IAXU,cAAc;QAD1B,gCAAQ;OACI,cAAc,CAgB1B;IAAD,qBAAC;CAAA,CAhBmC,4BAAe,GAgBlD;AAhB0B;;;;ACXI;AACc;AAEqB;AAGjB;AAKjD;IAA2C,oEAAmC;IAA9E;;IAaA,CAAC;IAZC,sCAAM,GAAN;QACE,IAAM,aAAa,GAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAM,IAAI,sBAAe,CAAC,MAAM,CAAC,EAAvB,CAAuB,CAAgC,CAAC;QAE9H,IAAI,CAAC,aAAa,EAAE;YAClB,OAAO,IAAI,CAAC;SACb;QAED,OAAO,iCAAC,oBAAoB;YACxB,iCAAC,6BAAc,IAAC,OAAO,EAAE,aAAa,CAAC,kBAAkB,GAAI,CACxC,CAAC;IAC5B,CAAC;IAEH,4BAAC;AAAD,CAAC,CAb0C,4BAAe,GAazD;;AACM,IAAM,oBAAoB,GAAG,iBAAM,CAAC,GAAG,sLAE7C,KAAC;;;;;AC3BoC;AACP;AACc;AACY;AAGL;AACyC;AACxB;AACiB;AACzB;AAK7D;IAAqC,8DAAqC;IAA1E;QAAA,qEAwCC;QArCS,oBAAc,GAAG,eAAK;YAC5B,OAAO,iCAAC,eAAe,wCAAC,KAAK,EAAE,yBAAS,EAAE,QAAQ,EAAE,sBAAsB,IAAM,KAAK,EAAI,CAAC;QAC5F,CAAC,CAAC;;IAmCJ,CAAC;IAjCC,gCAAM,GAAN;QAAA,iBA+BC;QA7BG,aAAS,GACP,IAAI,CAAC,KAAK,UADH,CACI;QAEf,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YACxC,OAAO,IAAI,CAAC;SACb;QAED,IAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,kBAAQ,IAAI,eAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,mBAAS,IAAI,gBAAS,EAAT,CAAS,CAAC,EAA/C,CAA+C,CAAC,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAX,CAAW,EAAE,EAAE,CAAC,CAAC;QAChI,IAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,mBAAS,IAAI,gBAAS,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAhC,CAAgC,CAAC,CAAC;QAElF,IAAI,CAAC,UAAU,EAAE;YACf,OAAO,IAAI,CAAC;SACb;QAED,IAAM,eAAe,GAAG,UAAU,CAAC,GAAG,CAAC,UAAC,QAAQ,EAAE,GAAG;YACnD,OAAO;gBACL,KAAK,EAAK,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,UAAK,QAAQ,CAAC,IAAM;gBAC7D,GAAG;aACJ,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO;YACH,iCAAC,gBAAgB,qCAA8C;YAE/D,iCAAC,8BAAc;gBACb,iCAAC,+CAAuB,IAAC,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,IACzH,kBAAQ,IAAI,wCAAC,wCAAqB,IAAC,GAAG,EAAC,uBAAuB,EAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAI,CAAC,cAAc,GAAI,EAA9G,CAA8G,CACnG,CACX,CACb,CAAC;IACX,CAAC;IArCM,2BAAW,GAAG,cAAc,CAAC;IADzB,eAAe;QAD3B,gCAAQ;OACI,eAAe,CAwC3B;IAAD,sBAAC;CAAA,CAxCoC,4BAAe,GAwCnD;AAxC2B;AAyCrB,IAAM,8BAAc,GAAG,iBAAM,CAAC,GAAG,6LACxB;IAEqB,gBACxB,EAAqC,OACjD,KAJe,UAAC,EAEhB;QADC,KAAK;IACD,YAAK,CAAC,SAAS,CAAC,eAAe;AAA/B,CAA+B,EACxB,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAA5B,CAA4B,CACjD,CAAC;;;;;AC7DoC;AACP;AAC0D;AACvB;AACJ;AACyB;AACnC;AAKpD;IAAoC,6DAAoC;IAAxE;;IA8BA,CAAC;IAzBC,+BAAM,GAAN;QAEI,aAAS,GACP,IAAI,CAAC,KAAK,UADH,CACI;QACf,IAAM,OAAO,GAAG,SAAS,CAAC,WAAW,CAAC;QACtC,IAAM,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QACtC,IAAM,WAAW,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3F,OAAO,UAAU,IAAI;YACf,iCAAC,gBAAgB,4BAAqC;YAEtD,iCAAC,IAAI,IAAC,YAAY,EAAE,CAAC;gBACnB,iCAAC,+BAAO,IAAC,MAAM,EAAE,WAAW,IACzB,OAAO,CAAC,GAAG,CAAC,gBAAM,IAAI,wCAAC,2BAAG,IAAC,SAAS,EAAC,eAAe,EAAC,GAAG,EAAE,MAAM,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,IAC9F,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAC7Z,EAFe,CAEf,CAAC,CACD;gBACT,OAAO,CAAC,GAAG,CAAC,gBAAM,IAAI,wCAAC,gCAAQ,IAAC,GAAG,EAAE,MAAM,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,IACzE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBACvB,iCAAC,6BAAc,IAAC,OAAO,EAAE,MAAM,CAAC,kBAAkB,GAAI,CAClD,CAAC,CAAC,CAAC,iCAAC,6BAAkB,IAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,GAAI,CAClE,EAJU,CAIV,CAAC,CACT,CACH,IAAI,IAAI,CAAC;IACrB,CAAC;IA3BM,0BAAW,GAAG,cAAc,CAAC;IADzB,cAAc;QAD1B,gCAAQ;OACI,cAAc,CA8B1B;IAAD,qBAAC;CAAA,CA9BmC,4BAAe,GA8BlD;AA9B0B;;;;ACXW;AACP;AAEwD;AACrB;AAKlE;IAAqC,8DAAqC;IAA1E;;IA4BA,CAAC;IAzBC,gCAAM,GAAN;QAEI,aAAS,GACP,IAAI,CAAC,KAAK,UADH,CACI;QACf,IAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAQ;YACnD,OAAO,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;QACxD,CAAC,CAAC,CAAC;QACH,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI;YACzB,iCAAC,gBAAgB,6BAAsC;YAEvD,iCAAC,IAAI,IAAC,YAAY,EAAE,CAAC;gBACnB,iCAAC,+BAAO,QACL,SAAS,CAAC,GAAG,CAAC,kBAAQ,IAAI,wCAAC,2BAAG,IAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,IAAI,IAChF,QAAQ,CAAC,IAAI,CACV,EAFmB,CAEnB,CAAC,CACD;gBACT,SAAS,CAAC,GAAG,CAAC,kBAAQ,IAAI,wCAAC,gCAAQ,IAAC,GAAG,EAAE,QAAQ,CAAC,IAAI;oBACnD;wBACE,iCAAC,6BAAc,IAAC,OAAO,EAAE,QAAQ,CAAC,OAAQ,GAAI,CAC1C,CACG,EAJc,CAId,CAAC,CACT,CACH,IAAI,IAAI,CAAC;IACrB,CAAC;IA1BU,eAAe;QAD3B,gCAAQ;OACI,eAAe,CA4B3B;IAAD,sBAAC;CAAA,CA5BoC,4BAAe,GA4BnD;AA5B2B;;;;ACTU;AACP;AACqD;AAC1B;AAEb;AACA;AACwB;AACrB;AACuC;AACrC;AACF;AACI;AACE;AACY;AACP;AACU;AACa;AAClF,IAAM,YAAY,GAAG,iBAAM,CAAC,GAAG,CAAC,8QAI/B,KAAC;AACF,IAAM,qBAAW,GAAG,iBAAM,CAAC,GAAG,qKACX;IAES,OAC3B,KAHkB,UAAC,EAEnB;QADC,KAAK;IACD,YAAK,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC;AAAtB,CAAsB,CAC3B,CAAC;AAKF;IAA+B,wDAA+B;IAA9D;;IA0CA,CAAC;IAzCC,0BAAM,GAAN;QAEI,aAAS,GACP,IAAI,CAAC,KAAK,UADH,CACI;QAEb,IAAM,OAAO,GAKX,SAAS,KALE,EACb,WAAW,GAIT,SAAS,YAJA,EACX,UAAU,GAGR,SAAS,WAHD,EACV,YAAY,GAEV,SAAS,aAFC,EACZ,SAAS,GACP,SAAS,UADF,CACG;QACd,IAAM,cAAc,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,YAAY,CAAC,CAAC;QACvD,OAAO,iCAAC,cAAc,CAAC,QAAQ,QAC1B,iBAAO,IAAI,wCAAC,YAAY;YACrB,iCAAC,WAAW;gBACV,iCAAC,EAAE;oBACD,iCAAC,SAAS,IAAC,EAAE,EAAE,SAAS,CAAC,EAAE,GAAI;oBAC9B,OAAO;;oBAAG,UAAU,IAAI,iCAAC,KAAK,IAAC,IAAI,EAAC,SAAS,mBAAqB;oBAClE,SAAS,IAAI,iCAAC,KAAK,IAAC,IAAI,EAAC,SAAS,gBAAkB,CAClD;gBACJ,OAAO,CAAC,iBAAiB,IAAI,CAAC,SAAS,IAAI,iCAAC,iBAAQ,IAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,GAAI;gBAC7F,cAAc,IAAI,iCAAC,qBAAW;oBAC1B,WAAW,KAAK,SAAS,IAAI,iCAAC,iBAAQ,IAAC,MAAM,EAAE,WAAW,GAAI;oBAC9D,YAAY,IAAI,iCAAC,2CAAqB,IAAC,YAAY,EAAE,YAAY,GAAI,CAC1D;gBAChB,iCAAC,qBAAU,IAAC,UAAU,EAAE,SAAS,CAAC,UAAU,GAAI;gBAChD,iCAAC,wCAAoB,IAAC,UAAU,EAAE,SAAS,CAAC,QAAQ,GAAI;gBACxD,iCAAC,qBAAU,IAAC,UAAU,EAAE,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC,WAAW,GAAI;gBAC7E,iCAAC,2BAAa,IAAC,SAAS,EAAE,SAAS,CAAC,SAAS,GAAI;gBACjD,iCAAC,2BAAa,IAAC,SAAS,EAAE,SAAS,CAAC,SAAS,GAAI,CACrC;YACd,iCAAC,cAAc;gBACZ,CAAC,OAAO,CAAC,iBAAiB,IAAI,CAAC,SAAS,IAAI,iCAAC,iBAAQ,IAAC,SAAS,EAAE,SAAS,GAAI;gBAC/E,iCAAC,6BAAc,IAAC,SAAS,EAAE,SAAS,GAAI;gBACxC,iCAAC,+BAAe,IAAC,SAAS,EAAE,SAAS,GAAI;gBACzC,iCAAC,+BAAe,IAAC,SAAS,EAAE,SAAS,CAAC,SAAS,GAAI,CACpC,CACJ,EAxBL,CAwBK,CACO,CAAC;IAC/B,CAAC;IAxCU,SAAS;QADrB,gCAAQ;OACI,SAAS,CA0CrB;IAAD,gBAAC;CAAA,CA1C8B,4BAAe,GA0C7C;AA1CqB;;;;;AChCgB;AACP;AACwD;AACvB;AACqB;AAGlC;AAEnD;IAAkC,2DAEhC;IAFF;;IAeA,CAAC;IAZC,6BAAM,GAAN;QACE,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAE/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACtB,OAAO,IAAI,CAAC;SACb;QAED,OAAO,KAAK,CAAC,GAAG,CAAC,cAAI;YACnB,OAAO,iCAAC,wBAAW,IAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,GAAI,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC;IAbU,YAAY;QADxB,gCAAQ;OACI,YAAY,CAexB;IAAD,mBAAC;CAAA,CAfiC,4BAAe,GAehD;AAfwB;AAoBzB;IAAiC,0DAAiC;IAAlE;;IAkCA,CAAC;IAjCC,4BAAM,GAAN;QACE,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAC7B,IAAI,OAAO,CAAC;QAEV,QAAI,GACF,IAAI,KADF,CACG;QAET,QAAQ,IAAI,EAAE;YACZ,KAAK,OAAO;gBACV,OAAO,GAAG,IAAI,CAAC;gBACf,MAAM;YAER,KAAK,KAAK,CAAC;YACX,KAAK,SAAS;gBACZ,OAAO,GAAG,iCAAC,wBAAW,0CAAK,IAAI,CAAC,KAAK,EAAI,CAAC;gBAC1C,MAAM;YAER,KAAK,WAAW;gBACd,OAAO,GAAG,iCAAC,0BAAa,IAAC,IAAI,EAAG,IAAY,GAAI,CAAC;gBACjD,MAAM;YAER;gBACE,OAAO,GAAG,iCAAC,wBAAW,0CAAK,IAAI,CAAC,KAAK,EAAI,CAAC;SAC7C;QAED,OAAO;YACF,OAAO,IAAI,iCAAC,OAAO,IAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,KAAK,WAAW,IAClE,OAAO,CACA;YACX,IAAI,CAAC,KAAK,IAAI,iCAAC,yBAAY,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAI,CACjD,CAAC;IACR,CAAC;IAhCU,WAAW;QADvB,gCAAQ;OACI,WAAW,CAkCvB;IAAD,kBAAC;CAAA,CAlCgC,4BAAe,GAkC/C;AAlCuB;AAoCxB,IAAM,eAAe,GAAG,mBAAS,IAAI,wCAAC,WAAW,IAAC,OAAO,EAAE,IAAI,IAAG,SAAS,CAAe,EAArD,CAAqD,CAAC;AAG3F;IAAiC,0DAAiC;IAAlE;;IA2BA,CAAC;IA1BC,4BAAM,GAAN;QACQ,SAKD,IAAI,CAAC,KAAK,CAAC,IAAmB,EAJjC,IAAI,YACJ,WAAW,mBACX,YAAY,oBACZ,KAAK,WAC4B,CAAC;QACpC,IAAM,MAAM,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,OAAO;YACH,iCAAC,GAAG;gBACF,iCAAC,WAAW,IAAC,OAAO,EAAE,KAAK;oBACzB,iCAAC,MAAM;wBACL,iCAAC,SAAS,IAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAI;wBACpC,IAAI,CACE,CACG,CACV;YACN,iCAAC,iCAAgB,IAAC,MAAM,EAAE,WAAW,IAAI,EAAE,EAAE,QAAQ,EAAE,eAAe,GAAI;YACzE,YAAY,IAAI,iCAAC,GAAG;gBACjB,iCAAC,WAAW;oBACV,iCAAC,2CAAqB,IAAC,YAAY,EAAE,YAAY,GAAI,CACzC,CACV,CACP,CAAC;IACR,CAAC;IAzBU,WAAW;QADvB,gCAAQ;OACI,WAAW,CA2BvB;IAAD,kBAAC;CAAA,CA3BgC,4BAAe,GA2B/C;AA3BuB;AA6BxB;IAAmC,4DAEjC;IAFF;;IAOA,CAAC;IAJC,8BAAM,GAAN;QACE,OAAO,iCAAC,mBAAS,IAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAI,CAAC;IACnD,CAAC;IALU,aAAa;QADzB,gCAAQ;OACI,aAAa,CAOzB;IAAD,oBAAC;CAAA,CAPkC,4BAAe,GAOjD;AAPyB;;;;ACjG1B,kCAAkC;AACI;AACP;AAC0B;AAEH;AACd;AACqD;AACnD;AAO1C;IAA8B,uDAA8B;IAA5D;QAAA,qEAsCC;QArCC,SAAG,GAAG,4BAAe,EAAoB,CAAC;QAC1C,cAAQ,GAAG,UAAC,GAAkC;YAC5C,KAAI,CAAC,KAAK,CAAC,UAAW,CAAC,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACxC,GAAG,CAAC,eAAe,EAAE,CAAC;QACxB,CAAC,CAAC;;IAiCJ,CAAC;IA/BC,oCAAiB,GAAjB;QACE,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAChC,CAAC;IAED,qCAAkB,GAAlB;QACE,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAChC,CAAC;IAED,yCAAsB,GAAtB;QACE,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;YAC9C,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC;SAC3C;IACH,CAAC;IAED,yBAAM,GAAN;QACQ,SAGF,IAAI,CAAC,KAAK,EAFZ,IAAI,YACJ,eAAe,qBACH,CAAC;QACf,OAAO,iCAAC,UAAU,IAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,kBAAgB,IAAI,CAAC,EAAE;YAC9E,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,iCAAC,iCAAwB,0CAAK,IAAI,CAAC,KAAK,IAAE,IAAI,EAAG,IAAuB,IAAI,CAAC,CAAC,CAAC,iCAAC,aAAa,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG;gBAC7L,iCAAC,aAAa,IAAC,KAAK,EAAE,IAAI,CAAC,IAAI;oBAC5B,IAAI,CAAC,IAAI;oBACT,IAAI,CAAC,KAAK,CAAC,QAAQ,CACN;gBACf,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,iCAAC,SAAS,IAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,GAAI,IAAI,IAAI,CAChH;YACjB,CAAC,eAAe,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,iCAAC,mBAAS,IAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAI,CAC7I,CAAC;IAClB,CAAC;IApCU,QAAQ;QADpB,gCAAQ;OACI,QAAQ,CAsCpB;IAAD,eAAC;CAAA,CAtC6B,4BAAe,GAsC5C;AAtCoB;AA2CrB;IAA8C,uEAA8C;IAA5F;QAAA,qEAsBC;QArBC,SAAG,GAAG,4BAAe,EAAoB,CAAC;;IAqB5C,CAAC;IAnBC,qDAAkB,GAAlB;QACE,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;YAC9C,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC;SAC3C;IACH,CAAC;IAED,yCAAM,GAAN;QAEI,QAAI,GACF,IAAI,CAAC,KAAK,KADR,CACS;QACf,OAAO,iCAAC,aAAa,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG;YACnG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,iCAAC,cAAc,IAAC,IAAI,EAAC,MAAM,IAAE,CAAC,CAAC,SAAS,CAAC,CAAkB,CAAC,CAAC,CAAC,iCAAC,cAAc,IAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,IAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAkB;YACtK,iCAAC,aAAa,IAAC,KAAK,EAAC,mBAAmB;gBACrC,IAAI,CAAC,IAAI;gBACT,IAAI,CAAC,KAAK,CAAC,QAAQ,CACN,CACF,CAAC;IACrB,CAAC;IApBU,wBAAwB;QADpC,gCAAQ;OACI,wBAAwB,CAsBpC;IAAD,+BAAC;CAAA,CAtB6C,4BAAe,GAsB5D;AAtBoC;;;;AC1DC;AACP;AAEO;AACS;AAU/C;IAA+B,wDAA+B;IAA9D;;IAeA,CAAC;IAdC,0BAAM,GAAN;QAAA,iBAYC;QAXO,SAIF,IAAI,CAAC,KAAK,EAHZ,KAAK,aACL,IAAI,YACJ,SAAS,eACG,CAAC;QACf,IAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC1E,OAAO,iCAAC,UAAU,wCAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,IAAM,IAAI,CAAC,CAAC,CAAC;YAC/F,IAAI,EAAE,YAAY;SACnB,CAAC,CAAC,CAAC,EAAE,GACD,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,GAAG,IAAK,wCAAC,iBAAQ,IAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,KAAI,CAAC,KAAK,CAAC,UAAU,GAAI,EAArE,CAAqE,CAAC,CACrF,CAAC;IAClB,CAAC;IAbU,SAAS;QADrB,gCAAQ;OACI,SAAS,CAerB;IAAD,gBAAC;CAAA,CAf8B,4BAAe,GAe7C;AAfqB;;;;ACdgB;AACP;AAEqB;AACZ;AACuC;AAC1B;AAErD;IAA8B,uDAG5B;IAHF;QAAA,qEAoCC;QAfC,cAAQ,GAAG,UAAC,IAAe;YACzB,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,KAAI,CAAC,OAAO,CAAC,UAAU,EAAE;gBAClD,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;aACxD;YAED,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC9C,UAAU,CAAC;gBACT,IAAI,KAAI,CAAC,aAAa,EAAE;oBACtB,KAAI,CAAC,aAAa,EAAE,CAAC;iBACtB;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QACM,sBAAgB,GAAG,aAAG;YAC5B,KAAI,CAAC,aAAa,GAAG,GAAG,CAAC;QAC3B,CAAC,CAAC;;IACJ,CAAC;IA7BC,yBAAM,GAAN;QACE,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAC9B,OAAO,iCAAC,oBAAoB,IAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE;gBACtG,gBAAgB,EAAE,KAAK;aACxB;YACG,iCAAC,mBAAS,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,GAAI;YACxE,iCAAC,gBAAgB;gBACf,wCAAG,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,qBAAqB,EAAC,IAAI,EAAC,kCAAkC,qCAEhF,CACa,CACE,CAAC;IAC5B,CAAC;IAfM,oBAAW,GAAG,cAAc,CAAC;IAJzB,QAAQ;QADpB,gCAAQ;OACI,QAAQ,CAoCpB;IAAD,eAAC;CAAA,CApC6B,4BAAe,GAoC5C;AApCoB;;;;ACRU;AACc;AACtC,IAAM,qBAAqB,GAAG,UAAC,EAIrC;QAHC,IAAI;IAIJ,IAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,OAAO,iCAAC,gBAAgB;QACpB,iCAAC,UAAU,IAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE;gBAC7B,SAAS,EAAE,oBAAkB,UAAU,uBAAoB;gBAC3D,UAAU,EAAE,qBAAqB;aAClC,GAAI;QACH,iCAAC,UAAU,IAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE;gBAC7B,SAAS,EAAE,qBAAkB,CAAC,GAAG,UAAU,SAAK;gBAChD,UAAU,EAAE,qBAAqB;aAClC,GAAI,CACc,CAAC;AACxB,CAAC,CAAC,CAAC,2BAA2B;AAE9B,IAAM,UAAU,GAAG,UAAC,EAInB;QAHC,YAAS,EAAT,IAAI,mBAAG,EAAE,OACT,iBAAc,EAAd,SAAS,mBAAG,EAAE,OACd,KAAK;IACD,iDAAK,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,EAAE,OAAO,EAAC,yBAAyB,EAAC,OAAO,EAAC,KAAK,EAAC,CAAC,EAAC,KAAK,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI;QAC1I,wCAAG,SAAS,EAAC,gCAAgC;YAC3C,2CAAM,CAAC,EAAE,oiBASN,EAAE,IAAI,EAAC,cAAc,GAAG,CACzB,CACA;AAbF,CAaE,CAAC;AAET,IAAM,gBAAgB,GAAG,iBAAM,CAAC,GAAG,2YAOxB,EAAwC,KAClD,KADU,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAA/B,CAA+B,CAClD,CAAC;;;;;AC/CoC;AACP;AAEiE;AACxC;AACT;AACK;AACC;AACrD,IAAI,UAAU,CAAC;AAEf,IAAI,UAAU,EAAE;IACd,UAAU,GAAG,mBAAO,CAAC,EAAY,CAAC,CAAC;CACpC;AAWD,IAAM,UAAU,GAAG,UAAU,IAAI,UAAU,EAAE,CAAC;AAC9C,IAAM,mBAAmB,GAAG,iBAAM,CAAC,GAAG,ueAEpC,aACS,EAAkC,yBACvB,EAA4C,2PAa9D;IAQD,kDAKF,KA3BU,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAzB,CAAyB,EACvB,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,EAAnC,CAAmC,EAa9D,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,uUAIT;IAEiB,kBACpB,EAAqC,OACjD,KAJe,UAAC,EAElB;QADC,KAAK;IACD,YAAK,CAAC,OAAO,CAAC,eAAe;AAA7B,CAA6B,EACpB,eAAK,IAAI,YAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAA5B,CAA4B,EAMnD,CAAC;AACF,IAAM,cAAc,GAAG,iBAAM,CAAC,GAAG,ylBAItB,EAAwC,qKAQ/C;IAED,4HAWF,KArBU,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAA/B,CAA+B,EAQ/C,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,kMAExB,KAWF,CAAC;AAEF;IAA6C,sEAAuD;IAApG;QAAA,qEA4DC;QAzDC,WAAK,GAAuB;YAC1B,SAAS,EAAE,KAAK;SACjB,CAAC;QAoDM,mBAAa,GAAG;YACtB,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QAClC,CAAC,CAAC;;IACJ,CAAC;IApDC,mDAAiB,GAAjB;QACE,IAAI,UAAU,EAAE;YACd,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACpC,CAAC,mCAAmC;QACrC,2EAA2E;QAG3E,IAAI,CAAC,QAAQ,CAAC;YACZ,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC;SAC/C,CAAC,CAAC;IACL,CAAC;IAED,sDAAoB,GAApB;QACE,IAAI,UAAU,EAAE;YACd,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACvC;IACH,CAAC;IAED,kDAAgB,GAAhB,UAAiB,OAA+B;QAC9C,IAAI,GAAG,CAAC;QAER,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS,EAAE;YAC1C,GAAG,GAAG,6CAAsB,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;SACjF;aAAM;YACL,GAAG,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;SAC/B;QAED,OAAO,GAAG,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,wCAAM,GAAN;QAAA,iBAiBC;QAhBC,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC;QAC3C,IAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QACjC,OAAO;YACH,iCAAC,mBAAmB,IAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE;oBACzE,GAAG;oBACH,MAAM,EAAE,kBAAgB,GAAG,MAAG;iBAC/B,EACD,GAAG,EAAE,YAAE;oBACL,KAAI,CAAC,aAAa,GAAI,EAAU,CAAC;gBACnC,CAAC,IACI,IAAI,CAAC,KAAK,CAAC,QAAQ,CACA;YACtB,iCAAC,cAAc,IAAC,OAAO,EAAE,IAAI,CAAC,aAAa;gBACzC,iCAAC,qBAAqB,IAAC,IAAI,EAAE,IAAI,GAAI,CACtB,CAChB,CAAC;IACR,CAAC;IAtDM,mCAAW,GAAG,cAAc,CAAC;IADzB,uBAAuB;QADnC,gCAAQ;OACI,uBAAuB,CA4DnC;IAAD,8BAAC;CAAA,CA5D4C,4BAAe,GA4D3D;AA5DmC;;;;;AClFoB;AACjD,IAAM,SAAS,GAAG,iBAAM,CAAC,GAAG,6JAC/B;IAuBH,KACA,KAxBG,UAAC,EAEJ;QADC,KAAK;IACD,6BACW,KAAK,CAAC,UAAU,CAAC,UAAU,wBAC7B,KAAK,CAAC,UAAU,CAAC,QAAQ,0BACvB,KAAK,CAAC,UAAU,CAAC,iBAAiB,0BAClC,KAAK,CAAC,UAAU,CAAC,UAAU,oBACjC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,qGAKR,KAAK,CAAC,UAAU,CAAC,SAAS,6BAClC,KAAK,CAAC,UAAU,CAAC,SAAS,cAC1C,KAAK,CAAC,UAAU,CAAC,aAAa,IAAI,0CAA0C,IAAI,EAAE,qLASrF;AArBK,CAqBL,CACA,CAAC;AACK,IAAM,cAAc,GAAG,iBAAM,CAAC,GAAG,yVAIjB,EAAkC,QACrD;IAED,2BAGF,KANsB,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAzB,CAAyB,EACrD,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,0LAE9B,KAGF,CAAC;AACK,IAAM,cAAc,GAAG,iBAAM,CAAC,GAAG,2QACxB;IAEsB,2EAK3B;IASV,OACG;IAED,KACF,KApBe,UAAC,EAEhB;QADC,KAAK;IACD,YAAK,CAAC,UAAU,CAAC,eAAe;AAAhC,CAAgC,EAK3B,UAAC,EAEX;QADC,KAAK;IAEL,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QACxC,IAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACtD,OAAO,kBAAgB,KAAK,CAAC,OAAO,CAAC,KAAK,YAAO,QAAQ,GAAG,GAAG,MAAG,CAAC;KACpE;SAAM;QACL,OAAO,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;KAC/B;AACH,CAAC,EACG,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,8LAE/B,KACF,CAAC;;;;;AC3D6B;AAC0B;AACZ;AACe;AACrD,IAAM,UAAU,GAAG,iBAAM,CAAC,GAAG,gMAEnC,KAAC;AACK,IAAM,WAAW,GAAG,iBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,cAAM,QAAC;IACnD,SAAS,EAAE,cAAc;CAC1B,CAAC,EAFkD,CAElD,CAAC,+dACoB,EAAqC,+CAE9C,EAAqC,sBAClC,EAAqC,cAChD,EAAqC,qDAGrC;IAE0G,oBAC/F;IAEgB,wDAGtB,EAAsC,yDAGhD,KAlBsB,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAA5B,CAA4B,EAE9C,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAA5B,CAA4B,EAClC,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAA5B,CAA4B,EAChD,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAA5B,CAA4B,EAGrC,UAAC,EAEN;QADC,KAAK;IACD,QAAC,0CAAY,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,4BAAM,CAAC,CAAC,CAAC,6BAAO,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC;AAA1G,CAA0G,EAC/F,UAAC,EAEjB;QADC,KAAK;IACD,YAAK,CAAC,UAAU,CAAC,UAAU;AAA3B,CAA2B,EAGtB,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAA7B,CAA6B,CAGhD,CAAC;AACK,IAAM,UAAU,GAAG,iBAAM,CAAC,UAAC,KAEjC,IAAK,iDAAK,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,EAAC,KAAK,EAAC,OAAO,EAAC,eAAe,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,4BAA4B,EAAC,CAAC,EAAC,KAAK;IAC3H,2CAAM,CAAC,EAAC,wWAAwW,GAAG,CAC/W,EAFF,CAEE,CAAC,CAAC,KAAK,CAAC;IACd,SAAS,EAAE,aAAa;CACzB,CAAC,sSAEQ,EAAqC,gEAKnC,EAAsC,UAEjD,KAPS,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAA5B,CAA4B,EAKnC,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAA7B,CAA6B,CAEjD,CAAC;AACK,IAAM,gBAAgB,GAAG,iBAAM,CAAC,GAAG,qjBAC7B,EAAiC,6BACxB;IAE2B,eACtC,EAAsC,+DAGjC;IAEgC,uBAC7B;IAE6B,yEAK5C,EAAa,+GAMS;IAEsB,6DAO/C,KAhCY,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAxB,CAAwB,EACxB,UAAC,EAEtB;QADC,KAAK;IACD,2CAAM,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC;AAA3C,CAA2C,EACtC,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAA7B,CAA6B,EAGjC,UAAC,EAEhB;QADC,KAAK;IACD,2CAAM,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC;AAA1C,CAA0C,EAC7B,UAAC,EAEnB;QADC,KAAK;IACD,2CAAM,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC;AAA1C,CAA0C,EAK5C,aAAa,EAMS,UAAC,EAE1B;QADC,KAAK;IACD,2CAAM,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC;AAA1C,CAA0C,CAO/C,CAAC;AACK,IAAM,SAAS,GAAG,iBAAM,CAAC,CAAC,mcAGtB,EAAqC,uCAErC,EAAqC,0IAO/C,KATU,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAA5B,CAA4B,EAErC,eAAK,IAAI,YAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAA5B,CAA4B,CAO/C,CAAC;;;;;AC3F6B;AAGiB;AAGT;AACwC;AACsB;AAarG;IAA+B,wDAAmD;IAGhF,mBAAY,KAAK;QAAjB,YACE,kBAAM,KAAK,CAAC,SAMb;QATD,mBAAa,GAAoB,IAAI,CAAC;QAmBtC,WAAK,GAAG;YACN,KAAI,CAAC,QAAQ,CAAC;gBACZ,OAAO,EAAE,EAAE;gBACX,IAAI,EAAE,EAAE;gBACR,aAAa,EAAE,CAAC,CAAC;aAClB,CAAC,CAAC;YACH,KAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC7B,CAAC,CAAC;QACF,mBAAa,GAAG,UAAC,KAA4C;YAC3D,IAAI,KAAK,CAAC,OAAO,KAAK,EAAE,EAAE;gBACxB,MAAM;gBACN,KAAI,CAAC,KAAK,EAAE,CAAC;aACd;YAED,IAAI,KAAK,CAAC,OAAO,KAAK,EAAE,EAAE;gBACxB,aAAa;gBACb,KAAI,CAAC,QAAQ,CAAC;oBACZ,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,KAAI,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,EAAE,KAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;iBACrF,CAAC,CAAC;gBACH,KAAK,CAAC,cAAc,EAAE,CAAC;aACxB;YAED,IAAI,KAAK,CAAC,OAAO,KAAK,EAAE,EAAE;gBACxB,WAAW;gBACX,KAAI,CAAC,QAAQ,CAAC;oBACZ,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAI,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC;iBACzD,CAAC,CAAC;gBACH,KAAK,CAAC,cAAc,EAAE,CAAC;aACxB;YAED,IAAI,KAAK,CAAC,OAAO,KAAK,EAAE,EAAE;gBACxB,QAAQ;gBACR,IAAM,YAAY,GAAG,KAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBAElE,IAAI,YAAY,EAAE;oBAChB,IAAM,IAAI,GAAG,KAAI,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;oBAEvD,IAAI,IAAI,EAAE;wBACR,KAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;qBAC7B;iBACF;aACF;QACH,CAAC,CAAC;QAiBF,YAAM,GAAG,UAAC,KAA0C;YAClD,IAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;YAE7B,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gBAChB,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBACrB,OAAO;aACR;YAED,KAAI,CAAC,QAAQ,CAAC;gBACZ,IAAI,EAAE,CAAC;aACR,EAAE,cAAM,YAAI,CAAC,cAAc,CAAC,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAApC,CAAoC,CAAC,CAAC;QACjD,CAAC,CAAC;QArFA,KAAI,CAAC,KAAK,GAAG;YACX,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,EAAE;YACR,aAAa,EAAE,CAAC,CAAC;SAClB,CAAC;;IACJ,CAAC;IAED,gCAAY,GAAZ,UAAa,IAAY;QACvB,IAAI,CAAC,QAAQ,CAAC;YACZ,OAAO,EAAE,EAAE;YACX,IAAI;SACL,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IAC7B,CAAC;IA8CD,8BAAU,GAAV,UAAW,OAAuB,EAAE,IAAY;QAC9C,IAAI,CAAC,QAAQ,CAAC;YACZ,OAAO;SACR,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAID,kCAAc,GAAd,UAAe,UAAkB;QAFjC,iBAMC;QAHC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,aAAG;YAC3C,KAAI,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IAeD,0BAAM,GAAN;QAAA,iBAyBC;QAvBG,iBAAa,GACX,IAAI,CAAC,KAAK,cADC,CACA;QACf,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,aAAG,IAAI,QAAC;YAC7C,IAAI,EAAE,KAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAE;YACvC,KAAK,EAAE,GAAG,CAAC,KAAK;SACjB,CAAC,EAH4C,CAG5C,CAAC,CAAC;QACJ,OAAO,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,EAAjB,CAAiB,CAAC,CAAC;QAC1C,OAAO,iCAAC,UAAU,IAAC,IAAI,EAAC,QAAQ;YAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,iCAAC,SAAS,IAAC,OAAO,EAAE,IAAI,CAAC,KAAK,aAAe;YACjE,iCAAC,UAAU,OAAG;YACd,iCAAC,WAAW,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,GAAI;YAChI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,iCAAC,oBAAoB,IAAC,OAAO,EAAE;oBACtD,gBAAgB,EAAE,KAAK;iBACxB;gBACK,iCAAC,gBAAgB,iBAAW,gBAAgB,IACzC,OAAO,CAAC,GAAG,CAAC,UAAC,GAAG,EAAE,GAAG,IAAK,wCAAC,iBAAQ,IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE;wBACrE,MAAM,EAAE;4BACN,KAAK,EAAE,GAAG,KAAK,aAAa;yBAC7B;qBACF,CAAC,EAAE,UAAU,EAAE,KAAI,CAAC,KAAK,CAAC,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,eAAY,eAAe,GAAG,EAJ7E,CAI6E,CAAC,CACxF,CACE,CACd,CAAC;IAClB,CAAC;IA5CD;QAFC,uBAAI;QACJ,mCAAQ,CAAC,GAAG,CAAC;mDAKb;IA0CH,gBAAC;CAAA,CAvH8B,gCAAmB,GAuHjD;AAvHqB;;;;ACrBkB;AACT;AACyB;AACH;AACX;AACJ;AACO;AACe;AACZ;AACmC;AACL;AAC3B;AACH;AAIhD;IAA2B,oDAA2B;IAAtD;;IA4CA,CAAC;IAvCC,iCAAiB,GAAjB;QACE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;IAChC,CAAC;IAED,oCAAoB,GAApB;QACE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,sBAAM,GAAN;QAEI,SAOE,IAAI,CAAC,KAAK,MADX,EALC,IAAI,YACJ,IAAI,YACJ,OAAO,eACP,MAAM,cACN,MAAM,YACP,CACY;QACf,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC/B,OAAO,iCAAC,aAAa,IAAC,KAAK,EAAE,OAAO,CAAC,KAAK;YACtC,iCAAC,QAAa,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;gBACpC,iCAAC,eAAe,IAAC,KAAK,EAAE,OAAO;oBAC7B,iCAAC,SAAS,IAAC,SAAS,EAAC,YAAY;wBAC/B,iCAAC,+CAAuB,IAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAC,cAAc;4BAC3D,iCAAC,eAAO,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI;4BAC3B,CAAC,OAAO,CAAC,aAAa,IAAI,iCAAC,mBAAS,IAAC,MAAM,EAAE,MAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,IAAI,CAAC,iBAAiB,GAAI,IAAI,IAAI;4BACpJ,iCAAC,iBAAQ,IAAC,IAAI,EAAE,IAAI,GAAI,CACA;wBAC1B,iCAAC,cAAc,IAAC,SAAS,EAAC,aAAa;4BACrC,iCAAC,eAAO,IAAC,KAAK,EAAE,KAAK,GAAI;4BACzB,iCAAC,yBAAY,IAAC,KAAK,EAAG,IAAI,CAAC,KAAa,GAAI,CAC7B;wBACjB,iCAAC,cAAc,OAAG,CACR,CACI,CACJ,CACF,CAAC;IACrB,CAAC;IAzCM,eAAS,GAAG;QACjB,KAAK,EAAE,kCAAoB,CAAC,iBAAQ,CAAC,CAAC,UAAU;KACjD,CAAC;IAyCJ,YAAC;CAAA,CA5C0B,4BAAe,GA4CzC;AA5CiB;;;;AChBsB;AACT;AAC8D;AAC7C;AACJ;AACN;AACQ;AAO9C;IAAqC,8DAAyC;IAA9E;;IAuCA,CAAC;IAnBC,gCAAM,GAAN;QACQ,SAKF,IAAI,CAAC,KAAK,EAJZ,IAAI,YACJ,OAAO,eACP,eAAY,EAAZ,OAAO,mBAAG,EAAE,OACZ,QAAQ,cACI,CAAC;QACf,IAAM,WAAW,GAAG,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC;QACtD,IAAM,cAAc,GAAG,IAAI,6CAAsB,CAAC,OAAO,CAAC,CAAC;QAC3D,OAAO,iCAAC,2BAAa;YACjB,iCAAC,yBAAY,IAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,IAC7E,UAAC,EAGH;oBAFC,OAAO,eACP,KAAK;gBACD,QAAC,OAAO,CAAC,CAAC,CAAC,iCAAC,WAAK,IAAC,KAAK,EAAE,KAAM,GAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,iCAAC,eAAO,IAAC,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,GAAI;YAAvH,CAAuH,CAC9G,CACD,CAAC;IACrB,CAAC;IApCM,yBAAS,GAAG;QACjB,IAAI,EAAE,UAAC,KAAK,EAAE,CAAC,EAAE,aAAa;YAC5B,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;gBACjC,OAAO,IAAI,KAAK,CAAC,4DAA0D,aAAa,OAAI,CAAC,CAAC;aAC/F;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,EAAE,UAAC,KAAK,EAAE,CAAC,EAAE,aAAa;YAC/B,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;gBACjC,OAAO,IAAI,KAAK,CAAC,4DAA0D,aAAa,OAAI,CAAC,CAAC;aAC/F;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,EAAE,2BAAa;QACtB,QAAQ,EAAE,2BAAa;KACxB,CAAC;IAqBJ,sBAAC;CAAA,CAvCoC,gCAAmB,GAuCvD;AAvC2B;;;ACbC;;;ACAF;AACC;AACD;AACO;;;ACHA;AACJ;AACI;AACA;AACU;AACwC;AAC1D;AACY;AACA;AACJ;AACL;AACO;AAC6B;AACf;AACb;AACO;AACA;AACF;AACA;AACQ;AACF;AACC;AACE;AACX;AACC;AACS;AAClB;AACD;AACG;AACN;AAC4B;AAClB;AACc;AACZ;;;ACjCX;AAC8F;AAEhG;AACH;AACY;AACoB","file":"redoc.lib.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Redoc\"] = factory();\n\telse\n\t\troot[\"Redoc\"] = factory();\n})(this, function() {\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 = 83);\n","module.exports = require(\"react\");","module.exports = require(\"tslib\");","module.exports = require(\"polished\");","module.exports = require(\"mobx-react\");","module.exports = require(\"mobx\");","module.exports = require(\"url\");","module.exports = require(\"json-pointer\");","module.exports = require(\"lunr\");","module.exports = require(\"decko\");","module.exports = require(\"react-tabs\");","module.exports = require(\"prismjs\");","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","// .dirname, .basename, and .extname methods are extracted from Node.js v8.11.1,\n// backported and transplited with Babel, with backwards-compat fixes\n\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes, empty elements, or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === '.') {\n parts.splice(i, 1);\n } else if (last === '..') {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (allowAboveRoot) {\n for (; up--; up) {\n parts.unshift('..');\n }\n }\n\n return parts;\n}\n\n// path.resolve([from ...], to)\n// posix version\nexports.resolve = function() {\n var resolvedPath = '',\n resolvedAbsolute = false;\n\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = (i >= 0) ? arguments[i] : process.cwd();\n\n // Skip empty and invalid entries\n if (typeof path !== 'string') {\n throw new TypeError('Arguments to path.resolve must be strings');\n } else if (!path) {\n continue;\n }\n\n resolvedPath = path + '/' + resolvedPath;\n resolvedAbsolute = path.charAt(0) === '/';\n }\n\n // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n\n // Normalize the path\n resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) {\n return !!p;\n }), !resolvedAbsolute).join('/');\n\n return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nexports.normalize = function(path) {\n var isAbsolute = exports.isAbsolute(path),\n trailingSlash = substr(path, -1) === '/';\n\n // Normalize the path\n path = normalizeArray(filter(path.split('/'), function(p) {\n return !!p;\n }), !isAbsolute).join('/');\n\n if (!path && !isAbsolute) {\n path = '.';\n }\n if (path && trailingSlash) {\n path += '/';\n }\n\n return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nexports.isAbsolute = function(path) {\n return path.charAt(0) === '/';\n};\n\n// posix version\nexports.join = function() {\n var paths = Array.prototype.slice.call(arguments, 0);\n return exports.normalize(filter(paths, function(p, index) {\n if (typeof p !== 'string') {\n throw new TypeError('Arguments to path.join must be strings');\n }\n return p;\n }).join('/'));\n};\n\n\n// path.relative(from, to)\n// posix version\nexports.relative = function(from, to) {\n from = exports.resolve(from).substr(1);\n to = exports.resolve(to).substr(1);\n\n function trim(arr) {\n var start = 0;\n for (; start < arr.length; start++) {\n if (arr[start] !== '') break;\n }\n\n var end = arr.length - 1;\n for (; end >= 0; end--) {\n if (arr[end] !== '') break;\n }\n\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n\n var fromParts = trim(from.split('/'));\n var toParts = trim(to.split('/'));\n\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push('..');\n }\n\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n return outputParts.join('/');\n};\n\nexports.sep = '/';\nexports.delimiter = ':';\n\nexports.dirname = function (path) {\n if (typeof path !== 'string') path = path + '';\n if (path.length === 0) return '.';\n var code = path.charCodeAt(0);\n var hasRoot = code === 47 /*/*/;\n var end = -1;\n var matchedSlash = true;\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n\n if (end === -1) return hasRoot ? '/' : '.';\n if (hasRoot && end === 1) {\n // return '//';\n // Backwards-compat fix:\n return '/';\n }\n return path.slice(0, end);\n};\n\nfunction basename(path) {\n if (typeof path !== 'string') path = path + '';\n\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n\n for (i = path.length - 1; i >= 0; --i) {\n if (path.charCodeAt(i) === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1) return '';\n return path.slice(start, end);\n}\n\n// Uses a mixed approach for backwards-compatibility, as ext behavior changed\n// in new Node.js versions, so only basename() above is backported here\nexports.basename = function (path, ext) {\n var f = basename(path);\n if (ext && f.substr(-1 * ext.length) === ext) {\n f = f.substr(0, f.length - ext.length);\n }\n return f;\n};\n\nexports.extname = function (path) {\n if (typeof path !== 'string') path = path + '';\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n for (var i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 || end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n return '';\n }\n return path.slice(startDot, end);\n};\n\nfunction filter (xs, f) {\n if (xs.filter) return xs.filter(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n if (f(xs[i], i, xs)) res.push(xs[i]);\n }\n return res;\n}\n\n// String.prototype.substr - negative index don't work in IE8\nvar substr = 'ab'.substr(-1) === 'b'\n ? function (str, start, len) { return str.substr(start, len) }\n : function (str, start, len) {\n if (start < 0) start = str.length + start;\n return str.substr(start, len);\n }\n;\n","module.exports = require(\"prop-types\");","module.exports = require(\"marked\");","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","module.exports = undefined;","'use strict';\n\n/**\n* escapes JSON Pointer using ~0 for ~ and ~1 for /\n* @param s the string to escape\n* @return the escaped string\n*/\nfunction jpescape(s) {\n return s.replace(/\\~/g, '~0').replace(/\\//g, '~1');\n}\n\n/**\n* unescapes JSON Pointer using ~0 for ~ and ~1 for /\n* @param s the string to unescape\n* @return the unescaped string\n*/\nfunction jpunescape(s) {\n return s.replace(/\\~1/g, '/').replace(/~0/g, '~');\n}\n\n// JSON Pointer specification: http://tools.ietf.org/html/rfc6901\n\n/**\n* from obj, return the property with a JSON Pointer prop, optionally setting it\n* to newValue\n* @param obj the object to point into\n* @param prop the JSON Pointer or JSON Reference\n* @param newValue optional value to set the property to\n* @return the found property, or false\n*/\nfunction jptr(obj, prop, newValue) {\n if (typeof obj === 'undefined') return false;\n if (!prop || typeof prop !== 'string' || (prop === '#')) return (typeof newValue !== 'undefined' ? newValue : obj);\n\n if (prop.indexOf('#')>=0) {\n let parts = prop.split('#');\n let uri = parts[0];\n if (uri) return false; // we do internal resolution only\n prop = parts[1];\n prop = decodeURIComponent(prop.slice(1).split('+').join(' '));\n }\n if (prop.startsWith('/')) prop = prop.slice(1);\n\n let components = prop.split('/');\n for (let i=0;i 0) ? components[i-1] : ''; // backtrack to indexed property name\n }\n\n if ((index != -1) || obj.hasOwnProperty(components[i])) {\n if (index >= 0) {\n if (setAndLast) {\n obj[index] = newValue;\n }\n obj = obj[index];\n }\n else if (index === -2) {\n if (setAndLast) {\n if (Array.isArray(obj)) {\n obj.push(newValue);\n }\n return newValue;\n }\n else return undefined;\n }\n else {\n if (setAndLast) {\n obj[components[i]] = newValue;\n }\n obj = obj[components[i]];\n }\n }\n else {\n if ((typeof newValue !== 'undefined') && (typeof obj === 'object') &&\n (!Array.isArray(obj))) {\n obj[components[i]] = (setAndLast ? newValue : ((components[i+1] === '0' || components[i+1] === '-') ? [] : {}));\n obj = obj[components[i]];\n }\n else return false;\n }\n }\n return obj;\n}\n\nmodule.exports = {\n jptr : jptr,\n jpescape : jpescape,\n jpunescape : jpunescape\n};\n","'use strict';\n\n/**\n* a collection of cloning functions\n*/\n\n/**\n* a no-op placeholder which returns the given object unchanged\n* useful for when a clone function needs to be passed but cloning is not\n* required\n* @param obj the input object\n* @return the input object, unchanged\n*/\nfunction nop(obj) {\n return obj;\n}\n\n/**\n* clones the given object using JSON.parse and JSON.stringify\n* @param obj the object to clone\n* @return the cloned object\n*/\nfunction clone(obj) {\n return JSON.parse(JSON.stringify(obj));\n}\n\n/**\n* clones the given object's properties shallowly, ignores properties from prototype\n* @param obj the object to clone\n* @return the cloned object\n*/\nfunction shallowClone(obj) {\n let result = {};\n for (let p in obj) {\n if (obj.hasOwnProperty(p)) {\n result[p] = obj[p];\n }\n }\n return result;\n}\n\n/**\n* clones the given object's properties deeply, ignores properties from prototype\n* @param obj the object to clone\n* @return the cloned object\n*/\nfunction deepClone(obj) {\n let result = Array.isArray(obj) ? [] : {};\n for (let p in obj) {\n if (obj.hasOwnProperty(p) || Array.isArray(obj)) {\n result[p] = (typeof obj[p] === 'object') ? deepClone(obj[p]) : obj[p];\n }\n }\n return result;\n}\n\n/**\n* clones the given object's properties shallowly, using Object.assign\n* @param obj the object to clone\n* @return the cloned object\n*/\nfunction fastClone(obj) {\n return Object.assign({},obj);\n}\n\n/**\n* Source: stackoverflow http://bit.ly/2A1Kha6\n*/\n\nfunction circularClone(obj, hash) {\n if (!hash) hash = new WeakMap();\n // Do not try to clone primitives or functions\n if (Object(obj) !== obj || obj instanceof Function) return obj;\n if (hash.has(obj)) return hash.get(obj); // Cyclic reference\n try { // Try to run constructor (without arguments, as we don't know them)\n var result = new obj.constructor();\n } catch(e) { // Constructor failed, create object without running the constructor\n result = Object.create(Object.getPrototypeOf(obj));\n }\n // Optional: support for some standard constructors (extend as desired)\n /*if (obj instanceof Map)\n Array.from(obj, ([key, val]) => result.set(circularClone(key, hash),\n circularClone(val, hash)) );\n else if (obj instanceof Set)\n Array.from(obj, (key) => result.add(circularClone(key, hash)) );\n */\n // Register in hash\n hash.set(obj, result);\n // Clone and assign enumerable own properties recursively\n return Object.assign(result, ...Object.keys(obj).map (\n key => ({ [key]: circularClone(obj[key], hash) }) ));\n}\n\nmodule.exports = {\n nop : nop,\n clone : clone,\n shallowClone : shallowClone,\n deepClone : deepClone,\n fastClone : fastClone,\n circularClone : circularClone\n};\n\n","module.exports = require(\"eventemitter3\");","module.exports = require(\"url-template\");","'use strict';\n\nfunction isRef(obj,key) {\n return ((key === '$ref') && (!!obj && typeof obj[key] === 'string'));\n}\n\nmodule.exports = {\n isRef: isRef\n};\n\n","'use strict';\n\nconst jpescape = require('./jptr.js').jpescape;\n\nfunction defaultState() {\n return {\n path: '#',\n depth: 0,\n pkey: '',\n parent: {},\n payload: {},\n seen: new WeakMap(),\n identity: false,\n identityDetection: false\n };\n}\n\n/**\n* recurses through the properties of an object, given an optional starting state\n* anything you pass in state.payload is passed to the callback each time\n* @param object the object to recurse through\n* @param state optional starting state, can be set to null or {}\n* @param callback the function which receives object,key,state on each property\n*/\nfunction recurse(object, state, callback) {\n if (!state) state = {depth:0};\n if (!state.depth) {\n state = Object.assign({},defaultState(),state);\n }\n if (typeof object !== 'object') return;\n let oPath = state.path;\n for (let key in object) {\n state.key = key;\n state.path = state.path + '/' + encodeURIComponent(jpescape(key));\n state.identityPath = state.seen.get(object[key]);\n state.identity = (typeof state.identityPath !== 'undefined');\n if (object.hasOwnProperty(key)) {\n callback(object, key, state);\n }\n if ((typeof object[key] === 'object') && (!state.identity)) {\n if (state.identityDetection && !Array.isArray(object[key]) && object[key] !== null) {\n state.seen.set(object[key],state.path);\n }\n let newState = {};\n newState.parent = object;\n newState.path = state.path;\n newState.depth = state.depth ? state.depth+1 : 1;\n newState.pkey = key;\n newState.payload = state.payload;\n newState.seen = state.seen;\n newState.identity = false;\n newState.identityDetection = state.identityDetection;\n recurse(object[key], newState, callback);\n }\n state.path = oPath;\n }\n}\n\nmodule.exports = {\n recurse : recurse\n};\n\n","module.exports = require(\"mark.js\");","module.exports = require(\"openapi-sampler\");","module.exports = require(\"perfect-scrollbar\");","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"/*\\n * Container style\\n */\\n.ps {\\n overflow: hidden !important;\\n overflow-anchor: none;\\n -ms-overflow-style: none;\\n touch-action: auto;\\n -ms-touch-action: auto;\\n}\\n\\n/*\\n * Scrollbar rail styles\\n */\\n.ps__rail-x {\\n display: none;\\n opacity: 0;\\n transition: background-color .2s linear, opacity .2s linear;\\n -webkit-transition: background-color .2s linear, opacity .2s linear;\\n height: 15px;\\n /* there must be 'bottom' or 'top' for ps__rail-x */\\n bottom: 0px;\\n /* please don't change 'position' */\\n position: absolute;\\n}\\n\\n.ps__rail-y {\\n display: none;\\n opacity: 0;\\n transition: background-color .2s linear, opacity .2s linear;\\n -webkit-transition: background-color .2s linear, opacity .2s linear;\\n width: 15px;\\n /* there must be 'right' or 'left' for ps__rail-y */\\n right: 0;\\n /* please don't change 'position' */\\n position: absolute;\\n}\\n\\n.ps--active-x > .ps__rail-x,\\n.ps--active-y > .ps__rail-y {\\n display: block;\\n background-color: transparent;\\n}\\n\\n.ps:hover > .ps__rail-x,\\n.ps:hover > .ps__rail-y,\\n.ps--focus > .ps__rail-x,\\n.ps--focus > .ps__rail-y,\\n.ps--scrolling-x > .ps__rail-x,\\n.ps--scrolling-y > .ps__rail-y {\\n opacity: 0.6;\\n}\\n\\n.ps .ps__rail-x:hover,\\n.ps .ps__rail-y:hover,\\n.ps .ps__rail-x:focus,\\n.ps .ps__rail-y:focus,\\n.ps .ps__rail-x.ps--clicking,\\n.ps .ps__rail-y.ps--clicking {\\n background-color: #eee;\\n opacity: 0.9;\\n}\\n\\n/*\\n * Scrollbar thumb styles\\n */\\n.ps__thumb-x {\\n background-color: #aaa;\\n border-radius: 6px;\\n transition: background-color .2s linear, height .2s ease-in-out;\\n -webkit-transition: background-color .2s linear, height .2s ease-in-out;\\n height: 6px;\\n /* there must be 'bottom' for ps__thumb-x */\\n bottom: 2px;\\n /* please don't change 'position' */\\n position: absolute;\\n}\\n\\n.ps__thumb-y {\\n background-color: #aaa;\\n border-radius: 6px;\\n transition: background-color .2s linear, width .2s ease-in-out;\\n -webkit-transition: background-color .2s linear, width .2s ease-in-out;\\n width: 6px;\\n /* there must be 'right' for ps__thumb-y */\\n right: 2px;\\n /* please don't change 'position' */\\n position: absolute;\\n}\\n\\n.ps__rail-x:hover > .ps__thumb-x,\\n.ps__rail-x:focus > .ps__thumb-x,\\n.ps__rail-x.ps--clicking .ps__thumb-x {\\n background-color: #999;\\n height: 11px;\\n}\\n\\n.ps__rail-y:hover > .ps__thumb-y,\\n.ps__rail-y:focus > .ps__thumb-y,\\n.ps__rail-y.ps--clicking .ps__thumb-y {\\n background-color: #999;\\n width: 11px;\\n}\\n\\n/* MS supports */\\n@supports (-ms-overflow-style: none) {\\n .ps {\\n overflow: auto !important;\\n }\\n}\\n\\n@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {\\n .ps {\\n overflow: auto !important;\\n }\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","'use strict';\n\nconst sjs = require('fast-safe-stringify');\n\nconst colour = process.env.NODE_DISABLE_COLORS ?\n { red: '', yellow: '', green: '', normal: '' } :\n { red: '\\x1b[31m', yellow: '\\x1b[33;1m', green: '\\x1b[32m', normal: '\\x1b[0m' };\n\nfunction uniqueOnly(value, index, self) {\n return self.indexOf(value) === index;\n}\n\nfunction hasDuplicates(array) {\n return (new Set(array)).size !== array.length;\n}\n\nfunction allSame(array) {\n return (new Set(array)).size <= 1;\n}\n\nfunction deepEquals(obj1, obj2) {\n function _equals(obj1, obj2) {\n return sjs.stringify(obj1) === sjs.stringify(Object.assign({}, obj1, obj2));\n }\n return _equals(obj1, obj2) && _equals(obj2, obj1);\n}\n\nfunction compressArray(arr) {\n let result = [];\n for (let candidate of arr) {\n let dupe = result.find(function(e,i,a){\n return deepEquals(e,candidate);\n });\n if (!dupe) result.push(candidate);\n }\n return result;\n}\n\nfunction distinctArray(arr) {\n return (arr.length === compressArray(arr).length);\n}\n\nfunction firstDupe(arr) {\n return arr.find(function(e,i,a){\n return arr.indexOf(e)\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","exports.fetch = isFunction(global.fetch) && isFunction(global.ReadableStream)\n\nexports.writableStream = isFunction(global.WritableStream)\n\nexports.abortController = isFunction(global.AbortController)\n\nexports.blobConstructor = false\ntry {\n\tnew Blob([new ArrayBuffer(1)])\n\texports.blobConstructor = true\n} catch (e) {}\n\n// The xhr request to example.com may violate some restrictive CSP configurations,\n// so if we're running in a browser that supports `fetch`, avoid calling getXHR()\n// and assume support for certain features below.\nvar xhr\nfunction getXHR () {\n\t// Cache the xhr value\n\tif (xhr !== undefined) return xhr\n\n\tif (global.XMLHttpRequest) {\n\t\txhr = new global.XMLHttpRequest()\n\t\t// If XDomainRequest is available (ie only, where xhr might not work\n\t\t// cross domain), use the page location. Otherwise use example.com\n\t\t// Note: this doesn't actually make an http request.\n\t\ttry {\n\t\t\txhr.open('GET', global.XDomainRequest ? '/' : 'https://example.com')\n\t\t} catch(e) {\n\t\t\txhr = null\n\t\t}\n\t} else {\n\t\t// Service workers don't have XHR\n\t\txhr = null\n\t}\n\treturn xhr\n}\n\nfunction checkTypeSupport (type) {\n\tvar xhr = getXHR()\n\tif (!xhr) return false\n\ttry {\n\t\txhr.responseType = type\n\t\treturn xhr.responseType === type\n\t} catch (e) {}\n\treturn false\n}\n\n// For some strange reason, Safari 7.0 reports typeof global.ArrayBuffer === 'object'.\n// Safari 7.1 appears to have fixed this bug.\nvar haveArrayBuffer = typeof global.ArrayBuffer !== 'undefined'\nvar haveSlice = haveArrayBuffer && isFunction(global.ArrayBuffer.prototype.slice)\n\n// If fetch is supported, then arraybuffer will be supported too. Skip calling\n// checkTypeSupport(), since that calls getXHR().\nexports.arraybuffer = exports.fetch || (haveArrayBuffer && checkTypeSupport('arraybuffer'))\n\n// These next two tests unavoidably show warnings in Chrome. Since fetch will always\n// be used if it's available, just return false for these to avoid the warnings.\nexports.msstream = !exports.fetch && haveSlice && checkTypeSupport('ms-stream')\nexports.mozchunkedarraybuffer = !exports.fetch && haveArrayBuffer &&\n\tcheckTypeSupport('moz-chunked-arraybuffer')\n\n// If fetch is supported, then overrideMimeType will be supported too. Skip calling\n// getXHR().\nexports.overrideMimeType = exports.fetch || (getXHR() ? isFunction(getXHR().overrideMimeType) : false)\n\nexports.vbArray = isFunction(global.VBArray)\n\nfunction isFunction (value) {\n\treturn typeof value === 'function'\n}\n\nxhr = null // Help gc\n","module.exports = require(\"inherits\");","var capability = require('./capability')\nvar inherits = require('inherits')\nvar stream = require('readable-stream')\n\nvar rStates = exports.readyStates = {\n\tUNSENT: 0,\n\tOPENED: 1,\n\tHEADERS_RECEIVED: 2,\n\tLOADING: 3,\n\tDONE: 4\n}\n\nvar IncomingMessage = exports.IncomingMessage = function (xhr, response, mode, fetchTimer) {\n\tvar self = this\n\tstream.Readable.call(self)\n\n\tself._mode = mode\n\tself.headers = {}\n\tself.rawHeaders = []\n\tself.trailers = {}\n\tself.rawTrailers = []\n\n\t// Fake the 'close' event, but only once 'end' fires\n\tself.on('end', function () {\n\t\t// The nextTick is necessary to prevent the 'request' module from causing an infinite loop\n\t\tprocess.nextTick(function () {\n\t\t\tself.emit('close')\n\t\t})\n\t})\n\n\tif (mode === 'fetch') {\n\t\tself._fetchResponse = response\n\n\t\tself.url = response.url\n\t\tself.statusCode = response.status\n\t\tself.statusMessage = response.statusText\n\t\t\n\t\tresponse.headers.forEach(function (header, key){\n\t\t\tself.headers[key.toLowerCase()] = header\n\t\t\tself.rawHeaders.push(key, header)\n\t\t})\n\n\t\tif (capability.writableStream) {\n\t\t\tvar writable = new WritableStream({\n\t\t\t\twrite: function (chunk) {\n\t\t\t\t\treturn new Promise(function (resolve, reject) {\n\t\t\t\t\t\tif (self._destroyed) {\n\t\t\t\t\t\t\treject()\n\t\t\t\t\t\t} else if(self.push(new Buffer(chunk))) {\n\t\t\t\t\t\t\tresolve()\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tself._resumeFetch = resolve\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tclose: function () {\n\t\t\t\t\tglobal.clearTimeout(fetchTimer)\n\t\t\t\t\tif (!self._destroyed)\n\t\t\t\t\t\tself.push(null)\n\t\t\t\t},\n\t\t\t\tabort: function (err) {\n\t\t\t\t\tif (!self._destroyed)\n\t\t\t\t\t\tself.emit('error', err)\n\t\t\t\t}\n\t\t\t})\n\n\t\t\ttry {\n\t\t\t\tresponse.body.pipeTo(writable).catch(function (err) {\n\t\t\t\t\tglobal.clearTimeout(fetchTimer)\n\t\t\t\t\tif (!self._destroyed)\n\t\t\t\t\t\tself.emit('error', err)\n\t\t\t\t})\n\t\t\t\treturn\n\t\t\t} catch (e) {} // pipeTo method isn't defined. Can't find a better way to feature test this\n\t\t}\n\t\t// fallback for when writableStream or pipeTo aren't available\n\t\tvar reader = response.body.getReader()\n\t\tfunction read () {\n\t\t\treader.read().then(function (result) {\n\t\t\t\tif (self._destroyed)\n\t\t\t\t\treturn\n\t\t\t\tif (result.done) {\n\t\t\t\t\tglobal.clearTimeout(fetchTimer)\n\t\t\t\t\tself.push(null)\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tself.push(new Buffer(result.value))\n\t\t\t\tread()\n\t\t\t}).catch(function (err) {\n\t\t\t\tglobal.clearTimeout(fetchTimer)\n\t\t\t\tif (!self._destroyed)\n\t\t\t\t\tself.emit('error', err)\n\t\t\t})\n\t\t}\n\t\tread()\n\t} else {\n\t\tself._xhr = xhr\n\t\tself._pos = 0\n\n\t\tself.url = xhr.responseURL\n\t\tself.statusCode = xhr.status\n\t\tself.statusMessage = xhr.statusText\n\t\tvar headers = xhr.getAllResponseHeaders().split(/\\r?\\n/)\n\t\theaders.forEach(function (header) {\n\t\t\tvar matches = header.match(/^([^:]+):\\s*(.*)/)\n\t\t\tif (matches) {\n\t\t\t\tvar key = matches[1].toLowerCase()\n\t\t\t\tif (key === 'set-cookie') {\n\t\t\t\t\tif (self.headers[key] === undefined) {\n\t\t\t\t\t\tself.headers[key] = []\n\t\t\t\t\t}\n\t\t\t\t\tself.headers[key].push(matches[2])\n\t\t\t\t} else if (self.headers[key] !== undefined) {\n\t\t\t\t\tself.headers[key] += ', ' + matches[2]\n\t\t\t\t} else {\n\t\t\t\t\tself.headers[key] = matches[2]\n\t\t\t\t}\n\t\t\t\tself.rawHeaders.push(matches[1], matches[2])\n\t\t\t}\n\t\t})\n\n\t\tself._charset = 'x-user-defined'\n\t\tif (!capability.overrideMimeType) {\n\t\t\tvar mimeType = self.rawHeaders['mime-type']\n\t\t\tif (mimeType) {\n\t\t\t\tvar charsetMatch = mimeType.match(/;\\s*charset=([^;])(;|$)/)\n\t\t\t\tif (charsetMatch) {\n\t\t\t\t\tself._charset = charsetMatch[1].toLowerCase()\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!self._charset)\n\t\t\t\tself._charset = 'utf-8' // best guess\n\t\t}\n\t}\n}\n\ninherits(IncomingMessage, stream.Readable)\n\nIncomingMessage.prototype._read = function () {\n\tvar self = this\n\n\tvar resolve = self._resumeFetch\n\tif (resolve) {\n\t\tself._resumeFetch = null\n\t\tresolve()\n\t}\n}\n\nIncomingMessage.prototype._onXHRProgress = function () {\n\tvar self = this\n\n\tvar xhr = self._xhr\n\n\tvar response = null\n\tswitch (self._mode) {\n\t\tcase 'text:vbarray': // For IE9\n\t\t\tif (xhr.readyState !== rStates.DONE)\n\t\t\t\tbreak\n\t\t\ttry {\n\t\t\t\t// This fails in IE8\n\t\t\t\tresponse = new global.VBArray(xhr.responseBody).toArray()\n\t\t\t} catch (e) {}\n\t\t\tif (response !== null) {\n\t\t\t\tself.push(new Buffer(response))\n\t\t\t\tbreak\n\t\t\t}\n\t\t\t// Falls through in IE8\t\n\t\tcase 'text':\n\t\t\ttry { // This will fail when readyState = 3 in IE9. Switch mode and wait for readyState = 4\n\t\t\t\tresponse = xhr.responseText\n\t\t\t} catch (e) {\n\t\t\t\tself._mode = 'text:vbarray'\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tif (response.length > self._pos) {\n\t\t\t\tvar newData = response.substr(self._pos)\n\t\t\t\tif (self._charset === 'x-user-defined') {\n\t\t\t\t\tvar buffer = new Buffer(newData.length)\n\t\t\t\t\tfor (var i = 0; i < newData.length; i++)\n\t\t\t\t\t\tbuffer[i] = newData.charCodeAt(i) & 0xff\n\n\t\t\t\t\tself.push(buffer)\n\t\t\t\t} else {\n\t\t\t\t\tself.push(newData, self._charset)\n\t\t\t\t}\n\t\t\t\tself._pos = response.length\n\t\t\t}\n\t\t\tbreak\n\t\tcase 'arraybuffer':\n\t\t\tif (xhr.readyState !== rStates.DONE || !xhr.response)\n\t\t\t\tbreak\n\t\t\tresponse = xhr.response\n\t\t\tself.push(new Buffer(new Uint8Array(response)))\n\t\t\tbreak\n\t\tcase 'moz-chunked-arraybuffer': // take whole\n\t\t\tresponse = xhr.response\n\t\t\tif (xhr.readyState !== rStates.LOADING || !response)\n\t\t\t\tbreak\n\t\t\tself.push(new Buffer(new Uint8Array(response)))\n\t\t\tbreak\n\t\tcase 'ms-stream':\n\t\t\tresponse = xhr.response\n\t\t\tif (xhr.readyState !== rStates.LOADING)\n\t\t\t\tbreak\n\t\t\tvar reader = new global.MSStreamReader()\n\t\t\treader.onprogress = function () {\n\t\t\t\tif (reader.result.byteLength > self._pos) {\n\t\t\t\t\tself.push(new Buffer(new Uint8Array(reader.result.slice(self._pos))))\n\t\t\t\t\tself._pos = reader.result.byteLength\n\t\t\t\t}\n\t\t\t}\n\t\t\treader.onload = function () {\n\t\t\t\tself.push(null)\n\t\t\t}\n\t\t\t// reader.onerror = ??? // TODO: this\n\t\t\treader.readAsArrayBuffer(response)\n\t\t\tbreak\n\t}\n\n\t// The ms-stream case handles end separately in reader.onload()\n\tif (self._xhr.readyState === rStates.DONE && self._mode !== 'ms-stream') {\n\t\tself.push(null)\n\t}\n}\n","module.exports = require(\"readable-stream\");","import * as lunr from 'lunr';\n\ntry {\n // tslint:disable-next-line\n require('core-js/es/promise'); // bundle into worker\n\n} catch (_) {// nope\n}\n/* just for better typings */\n\n\nexport default class Worker {\n add: typeof add = add;\n done = done;\n search: typeof search = search;\n toJS = toJS;\n load = load;\n dispose = dispose;\n fromExternalJS = fromExternalJS;\n}\nexport interface SearchDocument {\n title: string;\n description: string;\n id: string;\n}\nexport interface SearchResult {\n meta: T;\n score: number;\n}\nlet store: any[] = [];\nlunr.tokenizer.separator = /\\s+/;\nlet builder: lunr.Builder;\nlet resolveIndex: (v: lunr.Index) => void;\nlet index: Promise;\n\nfunction initEmpty() {\n builder = new lunr.Builder();\n builder.field('title');\n builder.field('description');\n builder.ref('ref');\n builder.pipeline.add(lunr.trimmer, lunr.stopWordFilter, lunr.stemmer);\n index = new Promise(resolve => {\n resolveIndex = resolve;\n });\n}\n\ninitEmpty();\n\nconst expandTerm = term => '*' + lunr.stemmer(new lunr.Token(term, {})) + '*';\n\nexport function add(title: string, description: string, meta?: T) {\n const ref = store.push(meta) - 1;\n const item = {\n title: title.toLowerCase(),\n description: description.toLowerCase(),\n ref\n };\n builder.add(item);\n}\nexport async function done() {\n resolveIndex(builder.build());\n}\nexport async function toJS() {\n return {\n store,\n index: (await index).toJSON()\n };\n}\nexport async function fromExternalJS(path: string, exportName: string) {\n try {\n importScripts(path);\n\n if (!self[exportName]) {\n throw new Error('Broken index file format');\n }\n\n load(self[exportName]);\n } catch (e) {\n console.error('Failed to load search index: ' + e.message);\n }\n}\nexport async function load(state: any) {\n store = state.store;\n resolveIndex(lunr.Index.load(state.index));\n}\nexport async function dispose() {\n store = [];\n initEmpty();\n}\nexport async function search(q: string, limit = 0): Promise>> {\n if (q.trim().length === 0) {\n return [];\n }\n\n let searchResults = (await index).query(t => {\n q.trim().toLowerCase().split(/\\s+/).forEach(term => {\n if (term.length === 1) return;\n const exp = expandTerm(term);\n t.term(exp, {});\n });\n });\n\n if (limit > 0) {\n searchResults = searchResults.slice(0, limit);\n }\n\n return searchResults.map(res => ({\n meta: store[res.ref],\n score: res.score\n }));\n}","module.exports = require(\"slugify\");","module.exports = require(\"styled-components\");","module.exports = require(\"json-schema-ref-parser\");","// @ts-check\n'use strict';\n\nconst fs = require('fs');\nconst url = require('url');\nconst pathlib = require('path');\n\nconst maybe = require('call-me-maybe');\nconst fetch = require('node-fetch-h2');\nconst yaml = require('yaml');\n\nconst jptr = require('reftools/lib/jptr.js');\nconst resolveInternal = jptr.jptr;\nconst isRef = require('reftools/lib/isref.js').isRef;\nconst clone = require('reftools/lib/clone.js').clone;\nconst cclone = require('reftools/lib/clone.js').circularClone;\nconst recurse = require('reftools/lib/recurse.js').recurse;\nconst resolver = require('oas-resolver');\nconst sw = require('oas-schema-walker');\nconst common = require('oas-kit-common');\n\nconst statusCodes = require('./lib/statusCodes.js').statusCodes;\n\nconst ourVersion = require('./package.json').version;\n\n// TODO handle specification-extensions with plugins?\n\nconst targetVersion = '3.0.0';\nlet componentNames; // initialised in main\n\nclass S2OError extends Error {\n constructor(message) {\n super(message);\n this.name = 'S2OError';\n }\n}\n\nfunction throwError(message, options) {\n let err = new S2OError(message);\n err.options = options;\n if (options.promise) {\n options.promise.reject(err);\n }\n else {\n throw err;\n }\n}\n\nfunction throwOrWarn(message, container, options) {\n if (options.warnOnly) {\n container[options.warnProperty||'x-s2o-warning'] = message;\n }\n else {\n throwError(message, options);\n }\n}\n\nfunction fixUpSubSchema(schema,parent,options) {\n if (schema.nullable) options.patches++;\n if (schema.discriminator && typeof schema.discriminator === 'string') {\n schema.discriminator = { propertyName: schema.discriminator };\n }\n if (schema.items && Array.isArray(schema.items)) {\n if (schema.items.length === 0) {\n schema.items = {};\n }\n else if (schema.items.length === 1) {\n schema.items = schema.items[0];\n }\n else schema.items = { anyOf: schema.items };\n }\n\n if (schema.type && Array.isArray(schema.type)) {\n if (options.patch) {\n options.patches++;\n if (schema.type.length === 0) {\n delete schema.type;\n }\n else {\n if (!schema.oneOf) schema.oneOf = [];\n for (let type of schema.type) {\n let newSchema = {};\n if (type === 'null') {\n schema.nullable = true;\n }\n else {\n newSchema.type = type;\n for (let prop of common.arrayProperties) {\n if (typeof schema.prop !== 'undefined') {\n newSchema[prop] = schema[prop];\n delete schema[prop];\n }\n }\n }\n if (newSchema.type) {\n schema.oneOf.push(newSchema);\n }\n }\n delete schema.type;\n if (schema.oneOf.length === 0) {\n delete schema.oneOf; // means was just null => nullable\n }\n else if (schema.oneOf.length < 2) {\n schema.type = schema.oneOf[0].type;\n if (Object.keys(schema.oneOf[0]).length > 1) {\n throwOrWarn('Lost properties from oneOf',schema,options);\n }\n delete schema.oneOf;\n }\n }\n // do not else this\n if (schema.type && Array.isArray(schema.type) && schema.type.length === 1) {\n schema.type = schema.type[0];\n }\n }\n else {\n throwError('(Patchable) schema type must not be an array', options);\n }\n }\n\n if (schema.type && schema.type === 'null') {\n delete schema.type;\n schema.nullable = true;\n }\n if ((schema.type === 'array') && (!schema.items)) {\n schema.items = {};\n }\n if (typeof schema.required === 'boolean') {\n if (schema.required && schema.name) {\n if (typeof parent.required === 'undefined') {\n parent.required = [];\n }\n if (Array.isArray(parent.required)) parent.required.push(schema.name);\n }\n delete schema.required;\n }\n\n // TODO if we have a nested properties (object inside an object) and the\n // *parent* type is not set, force it to object\n // TODO if default is set but type is not set, force type to typeof default\n\n if (schema.xml && typeof schema.xml.namespace === 'string') {\n if (!schema.xml.namespace) delete schema.xml.namespace;\n }\n}\n\nfunction fixUpSubSchemaExtensions(schema,parent) {\n if (schema[\"x-required\"] && Array.isArray(schema[\"x-required\"])) {\n if (!schema.required) schema.required = [];\n schema.required = schema.required.concat(schema[\"x-required\"]);\n delete schema[\"x-required\"];\n }\n if (schema[\"x-anyOf\"]) {\n schema.anyOf = schema[\"x-anyOf\"];\n delete schema[\"x-anyOf\"];\n }\n if (schema[\"x-oneOf\"]) {\n schema.oneOf = schema[\"x-oneOf\"];\n delete schema[\"x-oneOf\"];\n }\n if (schema[\"x-not\"]) {\n schema.not = schema[\"x-not\"];\n delete schema[\"x-not\"];\n }\n if (typeof schema[\"x-nullable\"] === 'boolean') {\n schema.nullable = schema[\"x-nullable\"];\n delete schema[\"x-nullable\"];\n }\n if ((typeof schema[\"x-discriminator\"] === 'object') && (typeof schema[\"x-discriminator\"].propertyName === 'string')) {\n schema.discriminator = schema[\"x-discriminator\"];\n delete schema[\"x-discriminator\"];\n for (let entry in schema.discriminator.mapping) {\n let schemaOrRef = schema.discriminator.mapping[entry];\n if (schemaOrRef.startsWith('#/definitions/')) {\n schema.discriminator.mapping[entry] = schemaOrRef.replace('#/definitions/','#/components/schemas/');\n }\n }\n }\n}\n\nfunction fixUpSchema(schema,options) {\n sw.walkSchema(schema,{},{},function(schema,parent,state){\n fixUpSubSchemaExtensions(schema,parent);\n fixUpSubSchema(schema,parent,options);\n });\n}\n\nfunction getMiroComponentName(ref) {\n if (ref.indexOf('#')>=0) {\n ref = ref.split('#')[1].split('/').pop();\n }\n else {\n ref = ref.split('/').pop().split('.')[0];\n }\n return encodeURIComponent(common.sanitise(ref));\n}\n\nfunction fixupRefs(obj, key, state) {\n let options = state.payload.options;\n if (isRef(obj,key)) {\n if (obj[key].startsWith('#/components/')) {\n // no-op\n }\n else if (obj[key] === '#/consumes') {\n // people are *so* creative\n delete obj[key];\n state.parent[state.pkey] = clone(options.openapi.consumes);\n }\n else if (obj[key] === '#/produces') {\n // and by creative, I mean devious\n delete obj[key];\n state.parent[state.pkey] = clone(options.openapi.produces);\n }\n else if (obj[key].startsWith('#/definitions/')) {\n //only the first part of a schema component name must be sanitised\n let keys = obj[key].replace('#/definitions/', '').split('/');\n const ref = jptr.jpunescape(keys[0]);\n\n let newKey = componentNames.schemas[decodeURIComponent(ref)]; // lookup, resolves a $ref\n if (newKey) {\n keys[0] = newKey;\n }\n else {\n throwOrWarn('Could not resolve reference '+obj[key],obj,options);\n }\n obj[key] = '#/components/schemas/' + keys.join('/');\n }\n else if (obj[key].startsWith('#/parameters/')) {\n // for extensions like Apigee's x-templates\n obj[key] = '#/components/parameters/' + common.sanitise(obj[key].replace('#/parameters/', ''));\n }\n else if (obj[key].startsWith('#/responses/')) {\n // for extensions like Apigee's x-templates\n obj[key] = '#/components/responses/' + common.sanitise(obj[key].replace('#/responses/', ''));\n }\n else if (obj[key].startsWith('#')) {\n // fixes up direct $refs or those created by resolvers\n let target = clone(jptr.jptr(options.openapi,obj[key]));\n if (target === false) throwOrWarn('direct $ref not found '+obj[key],obj,options)\n else if (options.refmap[obj[key]]) {\n obj[key] = options.refmap[obj[key]];\n }\n else {\n // we use a heuristic to determine what kind of thing is being referenced\n let oldRef = obj[key];\n oldRef = oldRef.replace('/properties/headers/','');\n oldRef = oldRef.replace('/properties/responses/','');\n oldRef = oldRef.replace('/properties/parameters/','');\n oldRef = oldRef.replace('/properties/schemas/','');\n let type = 'schemas';\n let schemaIndex = oldRef.lastIndexOf('/schema');\n type = (oldRef.indexOf('/headers/')>schemaIndex) ? 'headers' :\n ((oldRef.indexOf('/responses/')>schemaIndex) ? 'responses' :\n ((oldRef.indexOf('/example')>schemaIndex) ? 'examples' :\n ((oldRef.indexOf('/x-')>schemaIndex) ? 'extensions' :\n ((oldRef.indexOf('/parameters/')>schemaIndex) ? 'parameters' : 'schemas'))));\n\n // non-body/form parameters have not moved in the overall structure (like responses)\n // but extracting the requestBodies can cause the *number* of parameters to change\n\n if (type === 'schemas') {\n fixUpSchema(target,options);\n }\n\n if ((type !== 'responses') && (type !== 'extensions')) {\n let prefix = type.substr(0,type.length-1);\n if ((prefix === 'parameter') && target.name && (target.name === common.sanitise(target.name))) {\n prefix = encodeURIComponent(target.name);\n }\n\n let suffix = 1;\n if (obj['x-miro']) {\n prefix = getMiroComponentName(obj['x-miro']);\n suffix = '';\n }\n\n while (jptr.jptr(options.openapi,'#/components/'+type+'/'+prefix+suffix)) {\n suffix = (suffix === '' ? 2 : ++suffix);\n }\n\n let newRef = '#/components/'+type+'/'+prefix+suffix;\n let refSuffix = '';\n\n if (type === 'examples') {\n target = { value: target };\n refSuffix = '/value';\n }\n\n jptr.jptr(options.openapi,newRef,target);\n options.refmap[obj[key]] = newRef+refSuffix;\n obj[key] = newRef+refSuffix;\n }\n }\n }\n\n delete obj['x-miro'];\n // do this last - rework cases where $ref object has sibling properties\n if (Object.keys(obj).length > 1) {\n const tmpRef = obj[key];\n const inSchema = state.path.indexOf('/schema') >= 0; // not perfect, but in the absence of a reasonably-sized and complete OAS 2.0 parser...\n if (options.refSiblings === 'preserve') {\n // no-op\n }\n else if (inSchema && (options.refSiblings === 'allOf')) {\n delete obj.$ref;\n state.parent[state.pkey] = { allOf: [ { $ref: tmpRef }, obj ]};\n }\n else { // remove, or not 'preserve' and not in a schema\n state.parent[state.pkey] = { $ref: tmpRef };\n }\n }\n\n }\n if ((key === 'x-ms-odata') && (typeof obj[key] === 'string') && (obj[key].startsWith('#/'))) {\n let keys = obj[key].replace('#/definitions/', '').replace('#/components/schemas/','').split('/');\n let newKey = componentNames.schemas[decodeURIComponent(keys[0])]; // lookup, resolves a $ref\n if (newKey) {\n keys[0] = newKey;\n }\n else {\n throwOrWarn('Could not resolve reference '+obj[key],obj,options);\n }\n obj[key] = '#/components/schemas/' + keys.join('/');\n }\n}\n\n/*\n* This has to happen as a separate pass because multiple $refs may point\n* through elements of the same path\n*/\nfunction dedupeRefs(openapi, options) {\n for (let ref in options.refmap) {\n jptr.jptr(openapi,ref,{ $ref: options.refmap[ref] });\n }\n}\n\nfunction processSecurity(securityObject) {\n for (let s in securityObject) {\n for (let k in securityObject[s]) {\n let sname = common.sanitise(k);\n if (k != sname) {\n securityObject[s][sname] = securityObject[s][k];\n delete securityObject[s][k];\n }\n }\n }\n}\n\nfunction processSecurityScheme(scheme, options) {\n if (scheme.type === 'basic') {\n scheme.type = 'http';\n scheme.scheme = 'basic';\n }\n if (scheme.type === 'oauth2') {\n let flow = {};\n let flowName = scheme.flow;\n if (scheme.flow === 'application') flowName = 'clientCredentials';\n if (scheme.flow === 'accessCode') flowName = 'authorizationCode';\n if (typeof scheme.authorizationUrl !== 'undefined') flow.authorizationUrl = scheme.authorizationUrl.split('?')[0].trim() || '/';\n if (typeof scheme.tokenUrl === 'string') flow.tokenUrl = scheme.tokenUrl.split('?')[0].trim() || '/';\n flow.scopes = scheme.scopes || {};\n scheme.flows = {};\n scheme.flows[flowName] = flow;\n delete scheme.flow;\n delete scheme.authorizationUrl;\n delete scheme.tokenUrl;\n delete scheme.scopes;\n if (typeof scheme.name !== 'undefined') {\n if (options.patch) {\n options.patches++;\n delete scheme.name;\n }\n else {\n throwError('(Patchable) oauth2 securitySchemes should not have name property', options);\n }\n }\n }\n}\n\nfunction keepParameters(value) {\n return (value && !value[\"x-s2o-delete\"]);\n}\n\nfunction processHeader(header, options) {\n if (header.$ref) {\n header.$ref = header.$ref.replace('#/responses/', '#/components/responses/');\n }\n else {\n if (header.type && !header.schema) {\n header.schema = {};\n }\n if (header.type) header.schema.type = header.type;\n if (header.items && header.items.type !== 'array') {\n if (header.items.collectionFormat !== header.collectionFormat) {\n throwOrWarn('Nested collectionFormats are not supported', header, options);\n }\n delete header.items.collectionFormat;\n }\n if (header.type === 'array') {\n if (header.collectionFormat === 'ssv') {\n throwOrWarn('collectionFormat:ssv is no longer supported for headers', header, options); // not lossless\n }\n else if (header.collectionFormat === 'pipes') {\n throwOrWarn('collectionFormat:pipes is no longer supported for headers', header, options); // not lossless\n }\n else if (header.collectionFormat === 'multi') {\n header.explode = true;\n }\n else if (header.collectionFormat === 'tsv') {\n throwOrWarn('collectionFormat:tsv is no longer supported', header, options); // not lossless\n header[\"x-collectionFormat\"] = 'tsv';\n }\n else { // 'csv'\n header.style = 'simple';\n }\n delete header.collectionFormat;\n }\n else if (header.collectionFormat) {\n if (options.patch) {\n options.patches++;\n delete header.collectionFormat;\n }\n else {\n throwError('(Patchable) collectionFormat is only applicable to header.type array', options);\n }\n }\n delete header.type;\n for (let prop of common.parameterTypeProperties) {\n if (typeof header[prop] !== 'undefined') {\n header.schema[prop] = header[prop];\n delete header[prop];\n }\n }\n for (let prop of common.arrayProperties) {\n if (typeof header[prop] !== 'undefined') {\n header.schema[prop] = header[prop];\n delete header[prop];\n }\n }\n }\n}\n\nfunction fixParamRef(param, options) {\n if (param.$ref.indexOf('#/parameters/') >= 0) {\n let refComponents = param.$ref.split('#/parameters/');\n param.$ref = refComponents[0] + '#/components/parameters/' + common.sanitise(refComponents[1]);\n }\n if (param.$ref.indexOf('#/definitions/') >= 0) {\n throwOrWarn('Definition used as parameter', param, options);\n }\n}\n\nfunction attachRequestBody(op,options) {\n let newOp = {};\n for (let key of Object.keys(op)) {\n newOp[key] = op[key];\n if (key === 'parameters') {\n newOp.requestBody = {};\n if (options.rbname) newOp[options.rbname] = '';\n }\n }\n newOp.requestBody = {}; // just in case there are no parameters\n return newOp;\n}\n\n/**\n * @returns op, as it may have changed\n */\nfunction processParameter(param, op, path, method, index, openapi, options) {\n let result = {};\n let singularRequestBody = true;\n let originalType;\n\n if (op && op.consumes && (typeof op.consumes === 'string')) {\n if (options.patch) {\n options.patches++;\n op.consumes = [op.consumes];\n }\n else {\n return throwError('(Patchable) operation.consumes must be an array', options);\n }\n }\n if (!Array.isArray(openapi.consumes)) delete openapi.consumes;\n let consumes = ((op ? op.consumes : null) || (openapi.consumes || [])).filter(common.uniqueOnly);\n\n if (param && param.$ref && (typeof param.$ref === 'string')) {\n // if we still have a ref here, it must be an internal one\n fixParamRef(param, options);\n let ptr = decodeURIComponent(param.$ref.replace('#/components/parameters/', ''));\n let rbody = false;\n let target = openapi.components.parameters[ptr]; // resolves a $ref, must have been sanitised already\n\n if (((!target) || (target[\"x-s2o-delete\"])) && param.$ref.startsWith('#/')) {\n // if it's gone, chances are it's a requestBody component now unless spec was broken\n param[\"x-s2o-delete\"] = true;\n rbody = true;\n }\n\n // shared formData parameters from swagger or path level could be used in any combination.\n // we dereference all op.requestBody's then hash them and pull out common ones later\n\n if (rbody) {\n let ref = param.$ref;\n let newParam = resolveInternal(openapi, param.$ref);\n if (!newParam && ref.startsWith('#/')) {\n throwOrWarn('Could not resolve reference ' + ref, param, options);\n }\n else {\n if (newParam) param = newParam; // preserve reference\n }\n }\n }\n\n if (param && (param.name || param.in)) { // if it's a real parameter OR we've dereferenced it\n\n if (typeof param['x-deprecated'] === 'boolean') {\n param.deprecated = param['x-deprecated'];\n delete param['x-deprecated'];\n }\n\n if (typeof param['x-example'] !== 'undefined') {\n param.example = param['x-example'];\n delete param['x-example'];\n }\n\n if ((param.in != 'body') && (!param.type)) {\n if (options.patch) {\n options.patches++;\n param.type = 'string';\n }\n else {\n throwError('(Patchable) parameter.type is mandatory for non-body parameters', options);\n }\n }\n if (param.type && typeof param.type === 'object' && param.type.$ref) {\n // $ref anywhere sensibility\n param.type = resolveInternal(openapi, param.type.$ref);\n }\n if (param.type === 'file') {\n param['x-s2o-originalType'] = param.type;\n originalType = param.type;\n }\n if (param.description && typeof param.description === 'object' && param.description.$ref) {\n // $ref anywhere sensibility\n param.description = resolveInternal(openapi, param.description.$ref);\n }\n if (param.description === null) delete param.description;\n\n let oldCollectionFormat = param.collectionFormat;\n if ((param.type === 'array') && !oldCollectionFormat) {\n oldCollectionFormat = 'csv';\n }\n if (oldCollectionFormat) {\n if (param.type != 'array') {\n if (options.patch) {\n options.patches++;\n delete param.collectionFormat;\n }\n else {\n throwError('(Patchable) collectionFormat is only applicable to param.type array', options);\n }\n }\n if ((oldCollectionFormat === 'csv') && ((param.in === 'query') || (param.in === 'cookie'))) {\n param.style = 'form';\n param.explode = false;\n }\n if ((oldCollectionFormat === 'csv') && ((param.in === 'path') || (param.in === 'header'))) {\n param.style = 'simple';\n }\n if (oldCollectionFormat === 'ssv') {\n if (param.in === 'query') {\n param.style = 'spaceDelimited';\n }\n else {\n throwOrWarn('collectionFormat:ssv is no longer supported except for in:query parameters', param, options); // not lossless\n }\n }\n if (oldCollectionFormat === 'pipes') {\n if (param.in === 'query') {\n param.style = 'pipeDelimited';\n }\n else {\n throwOrWarn('collectionFormat:pipes is no longer supported except for in:query parameters', param, options); // not lossless\n }\n }\n if (oldCollectionFormat === 'multi') {\n param.explode = true;\n }\n if (oldCollectionFormat === 'tsv') {\n throwOrWarn('collectionFormat:tsv is no longer supported', param, options); // not lossless\n param[\"x-collectionFormat\"] = 'tsv';\n }\n delete param.collectionFormat;\n }\n\n if (param.type && (param.type != 'object') && (param.type != 'body') && (param.in != 'formData')) {\n if (param.items && param.schema) {\n throwOrWarn('parameter has array,items and schema', param, options);\n }\n else {\n if (param.schema) options.patches++; // already present\n if ((!param.schema) || (typeof param.schema !== 'object')) param.schema = {};\n param.schema.type = param.type;\n if (param.items) {\n param.schema.items = param.items;\n delete param.items;\n recurse(param.schema.items, null, function (obj, key, state) {\n if ((key === 'collectionFormat') && (typeof obj[key] === 'string')) {\n if (oldCollectionFormat && obj[key] !== oldCollectionFormat) {\n throwOrWarn('Nested collectionFormats are not supported', param, options);\n }\n delete obj[key]; // not lossless\n }\n // items in 2.0 was a subset of the JSON-Schema items\n // object, it gets fixed up below\n });\n }\n for (let prop of common.parameterTypeProperties) {\n if (typeof param[prop] !== 'undefined') param.schema[prop] = param[prop];\n delete param[prop];\n }\n }\n }\n\n if (param.schema) {\n fixUpSchema(param.schema,options);\n }\n\n if (param[\"x-ms-skip-url-encoding\"]) {\n if (param.in === 'query') { // might be in:path, not allowed in OAS3\n param.allowReserved = true;\n delete param[\"x-ms-skip-url-encoding\"];\n }\n }\n }\n\n if (param && param.in === 'formData') {\n // convert to requestBody component\n singularRequestBody = false;\n result.content = {};\n let contentType = 'application/x-www-form-urlencoded';\n if ((consumes.length) && (consumes.indexOf('multipart/form-data') >= 0)) {\n contentType = 'multipart/form-data';\n }\n\n result.content[contentType] = {};\n if (param.schema) {\n result.content[contentType].schema = param.schema;\n if (param.schema.$ref) {\n result['x-s2o-name'] = decodeURIComponent(param.schema.$ref.replace('#/components/schemas/', ''));\n }\n }\n else {\n result.content[contentType].schema = {};\n result.content[contentType].schema.type = 'object';\n result.content[contentType].schema.properties = {};\n result.content[contentType].schema.properties[param.name] = {};\n let schema = result.content[contentType].schema;\n let target = result.content[contentType].schema.properties[param.name];\n if (param.description) target.description = param.description;\n if (param.example) target.example = param.example;\n if (param.type) target.type = param.type;\n\n for (let prop of common.parameterTypeProperties) {\n if (typeof param[prop] !== 'undefined') target[prop] = param[prop];\n }\n if (param.required === true) {\n if (!schema.required) schema.required = [];\n schema.required.push(param.name);\n result.required = true;\n }\n if (typeof param.default !== 'undefined') target.default = param.default;\n if (target.properties) target.properties = param.properties;\n if (param.allOf) target.allOf = param.allOf; // new are anyOf, oneOf, not\n if ((param.type === 'array') && (param.items)) {\n target.items = param.items;\n if (target.items.collectionFormat) delete target.items.collectionFormat;\n }\n if ((originalType === 'file') || (param['x-s2o-originalType'] === 'file')) {\n target.type = 'string';\n target.format = 'binary';\n }\n\n // Copy any extensions on the form param to the target schema property.\n copyExtensions(param, target);\n }\n }\n else if (param && param.type === 'file') {\n // convert to requestBody\n if (param.required) result.required = param.required;\n result.content = {};\n result.content[\"application/octet-stream\"] = {};\n result.content[\"application/octet-stream\"].schema = {};\n result.content[\"application/octet-stream\"].schema.type = 'string';\n result.content[\"application/octet-stream\"].schema.format = 'binary';\n copyExtensions(param, result);\n }\n if (param && param.in === 'body') {\n result.content = {};\n if (param.name) result['x-s2o-name'] = (op && op.operationId ? common.sanitiseAll(op.operationId) : '') + ('_' + param.name).toCamelCase();\n if (param.description) result.description = param.description;\n if (param.required) result.required = param.required;\n\n // Set the \"request body name\" extension on the operation if requested.\n if (op && options.rbname && param.name) {\n op[options.rbname] = param.name;\n }\n if (param.schema && param.schema.$ref) {\n result['x-s2o-name'] = decodeURIComponent(param.schema.$ref.replace('#/components/schemas/', ''));\n }\n else if (param.schema && (param.schema.type === 'array') && param.schema.items && param.schema.items.$ref) {\n result['x-s2o-name'] = decodeURIComponent(param.schema.items.$ref.replace('#/components/schemas/', '')) + 'Array';\n }\n\n if (!consumes.length) {\n consumes.push('application/json'); // TODO verify default\n }\n\n for (let mimetype of consumes) {\n result.content[mimetype] = {};\n result.content[mimetype].schema = clone(param.schema || {});\n fixUpSchema(result.content[mimetype].schema,options);\n }\n\n // Copy any extensions from the original parameter to the new requestBody\n copyExtensions(param, result);\n }\n\n if (Object.keys(result).length > 0) {\n param[\"x-s2o-delete\"] = true;\n // work out where to attach the requestBody\n if (op) {\n if (op.requestBody && singularRequestBody) {\n op.requestBody[\"x-s2o-overloaded\"] = true;\n let opId = op.operationId || index;\n\n throwOrWarn('Operation ' + opId + ' has multiple requestBodies', op, options);\n }\n else {\n if (!op.requestBody) {\n op = path[method] = attachRequestBody(op,options); // make sure we have one\n }\n if ((op.requestBody.content && op.requestBody.content[\"multipart/form-data\"])\n && (op.requestBody.content[\"multipart/form-data\"].schema) && (op.requestBody.content[\"multipart/form-data\"].schema.properties) && (result.content[\"multipart/form-data\"]) && (result.content[\"multipart/form-data\"].schema) && (result.content[\"multipart/form-data\"].schema.properties)) {\n op.requestBody.content[\"multipart/form-data\"].schema.properties =\n Object.assign(op.requestBody.content[\"multipart/form-data\"].schema.properties, result.content[\"multipart/form-data\"].schema.properties);\n op.requestBody.content[\"multipart/form-data\"].schema.required = (op.requestBody.content[\"multipart/form-data\"].schema.required || []).concat(result.content[\"multipart/form-data\"].schema.required||[]);\n if (!op.requestBody.content[\"multipart/form-data\"].schema.required.length) {\n delete op.requestBody.content[\"multipart/form-data\"].schema.required;\n }\n }\n else if ((op.requestBody.content && op.requestBody.content[\"application/x-www-form-urlencoded\"] && op.requestBody.content[\"application/x-www-form-urlencoded\"].schema && op.requestBody.content[\"application/x-www-form-urlencoded\"].schema.properties)\n && result.content[\"application/x-www-form-urlencoded\"] && result.content[\"application/x-www-form-urlencoded\"].schema && result.content[\"application/x-www-form-urlencoded\"].schema.properties) {\n op.requestBody.content[\"application/x-www-form-urlencoded\"].schema.properties =\n Object.assign(op.requestBody.content[\"application/x-www-form-urlencoded\"].schema.properties, result.content[\"application/x-www-form-urlencoded\"].schema.properties);\n op.requestBody.content[\"application/x-www-form-urlencoded\"].schema.required = (op.requestBody.content[\"application/x-www-form-urlencoded\"].schema.required || []).concat(result.content[\"application/x-www-form-urlencoded\"].schema.required||[]);\n if (!op.requestBody.content[\"application/x-www-form-urlencoded\"].schema.required.length) {\n delete op.requestBody.content[\"application/x-www-form-urlencoded\"].schema.required;\n }\n }\n else {\n op.requestBody = Object.assign(op.requestBody, result);\n if (!op.requestBody['x-s2o-name']) {\n if (op.requestBody.schema && op.requestBody.schema.$ref) {\n op.requestBody['x-s2o-name'] = decodeURIComponent(op.requestBody.schema.$ref.replace('#/components/schemas/', '')).split('/').join('');\n }\n else if (op.operationId) {\n op.requestBody['x-s2o-name'] = common.sanitiseAll(op.operationId);\n }\n }\n }\n }\n }\n }\n\n // tidy up\n if (param && !param['x-s2o-delete']) {\n delete param.type;\n for (let prop of common.parameterTypeProperties) {\n delete param[prop];\n }\n\n if ((param.in === 'path') && ((typeof param.required === 'undefined') || (param.required !== true))) {\n if (options.patch) {\n options.patches++;\n param.required = true;\n }\n else {\n throwError('(Patchable) path parameters must be required:true ['+param.name+' in '+index+']', options);\n }\n }\n }\n\n return op;\n}\n\nfunction copyExtensions(src, tgt) {\n for (let prop in src) {\n if (prop.startsWith('x-') && !prop.startsWith('x-s2o')) {\n tgt[prop] = src[prop];\n }\n }\n}\n\nfunction processResponse(response, name, op, openapi, options) {\n if (!response) return false;\n if (response.$ref && (typeof response.$ref === 'string')) {\n if (response.$ref.indexOf('#/definitions/') >= 0) {\n //response.$ref = '#/components/schemas/'+common.sanitise(response.$ref.replace('#/definitions/',''));\n throwOrWarn('definition used as response: ' + response.$ref, response, options);\n }\n else {\n if (response.$ref.startsWith('#/responses/')) {\n response.$ref = '#/components/responses/' + common.sanitise(decodeURIComponent(response.$ref.replace('#/responses/', '')));\n }\n }\n }\n else {\n if ((typeof response.description === 'undefined') || (response.description === null)\n || ((response.description === '') && options.patch)) {\n if (options.patch) {\n if ((typeof response === 'object') && (!Array.isArray(response))) {\n options.patches++;\n response.description = (statusCodes[response] || '');\n }\n }\n else {\n throwError('(Patchable) response.description is mandatory', options);\n }\n }\n if (typeof response.schema !== 'undefined') {\n\n fixUpSchema(response.schema,options);\n\n if (response.schema.$ref && (typeof response.schema.$ref === 'string') && response.schema.$ref.startsWith('#/responses/')) {\n response.schema.$ref = '#/components/responses/' + common.sanitise(decodeURIComponent(response.schema.$ref.replace('#/responses/', '')));\n }\n\n if (op && op.produces && (typeof op.produces === 'string')) {\n if (options.patch) {\n options.patches++;\n op.produces = [op.produces];\n }\n else {\n return throwError('(Patchable) operation.produces must be an array', options);\n }\n }\n if (openapi.produces && !Array.isArray(openapi.produces)) delete openapi.produces;\n\n let produces = ((op ? op.produces : null) || (openapi.produces || [])).filter(common.uniqueOnly);\n if (!produces.length) produces.push('*/*'); // TODO verify default\n\n response.content = {};\n for (let mimetype of produces) {\n response.content[mimetype] = {};\n response.content[mimetype].schema = clone(response.schema);\n if (response.examples && response.examples[mimetype]) {\n let example = {};\n example.value = response.examples[mimetype];\n response.content[mimetype].examples = {};\n response.content[mimetype].examples.response = example;\n delete response.examples[mimetype];\n }\n if (response.content[mimetype].schema.type === 'file') {\n response.content[mimetype].schema = { type: 'string', format: 'binary' };\n }\n }\n delete response.schema;\n }\n // examples for content-types not listed in produces\n for (let mimetype in response.examples) {\n if (!response.content) response.content = {};\n if (!response.content[mimetype]) response.content[mimetype] = {};\n response.content[mimetype].examples = {};\n response.content[mimetype].examples.response = {};\n response.content[mimetype].examples.response.value = response.examples[mimetype];\n }\n delete response.examples;\n\n if (response.headers) {\n for (let h in response.headers) {\n if (h.toLowerCase() === 'status code') {\n if (options.patch) {\n options.patches++;\n delete response.headers[h];\n }\n else {\n throwError('(Patchable) \"Status Code\" is not a valid header', options);\n }\n }\n else {\n processHeader(response.headers[h], options);\n }\n }\n }\n }\n}\n\nfunction processPaths(container, containerName, options, requestBodyCache, openapi) {\n for (let p in container) {\n let path = container[p];\n // path.$ref is external only\n if (path && (path['x-trace']) && (typeof path['x-trace'] === 'object')) {\n path.trace = path['x-trace'];\n delete path['x-trace'];\n }\n if (path && (path['x-summary']) && (typeof path['x-summary'] === 'string')) {\n path.summary = path['x-summary'];\n delete path['x-summary'];\n }\n if (path && (path['x-description']) && (typeof path['x-description'] === 'string')) {\n path.description = path['x-description'];\n delete path['x-description'];\n }\n if (path && (path['x-servers']) && (Array.isArray(path['x-servers']))) {\n path.servers = path['x-servers'];\n delete path['x-servers'];\n }\n for (let method in path) {\n if ((common.httpMethods.indexOf(method) >= 0) || (method === 'x-amazon-apigateway-any-method')) {\n let op = path[method];\n\n if (op && op.parameters && Array.isArray(op.parameters)) {\n if (path.parameters) {\n for (let param of path.parameters) {\n if (typeof param.$ref === 'string') {\n fixParamRef(param, options);\n param = resolveInternal(openapi, param.$ref);\n }\n let match = op.parameters.find(function (e, i, a) {\n return ((e.name === param.name) && (e.in === param.in));\n });\n\n if (!match && ((param.in === 'formData') || (param.in === 'body') || (param.type === 'file'))) {\n op = processParameter(param, op, path, method, p, openapi, options);\n if (options.rbname && op[options.rbname] === '') {\n delete op[options.rbname];\n }\n }\n }\n }\n for (let param of op.parameters) {\n op = processParameter(param, op, path, method, method + ':' + p, openapi, options);\n }\n if (options.rbname && op[options.rbname] === '') {\n delete op[options.rbname];\n }\n if (!options.debug) {\n if (op.parameters) op.parameters = op.parameters.filter(keepParameters);\n }\n }\n\n if (op && op.security) processSecurity(op.security);\n\n //don't need to remove requestBody for non-supported ops as they \"SHALL be ignored\"\n\n // responses\n if (typeof op === 'object') {\n if (!op.responses) {\n let defaultResp = {};\n defaultResp.description = 'Default response';\n op.responses = { default: defaultResp };\n }\n for (let r in op.responses) {\n let response = op.responses[r];\n processResponse(response, r, op, openapi, options);\n }\n }\n\n if (op && (op['x-servers']) && (Array.isArray(op['x-servers']))) {\n op.servers = op['x-servers'];\n delete op['x-servers'];\n } else if (op && op.schemes && op.schemes.length) {\n for (let scheme of op.schemes) {\n if ((!openapi.schemes) || (openapi.schemes.indexOf(scheme) < 0)) {\n if (!op.servers) {\n op.servers = [];\n }\n if (Array.isArray(openapi.servers)) {\n for (let server of openapi.servers) {\n let newServer = clone(server);\n let serverUrl = url.parse(newServer.url);\n serverUrl.protocol = scheme;\n newServer.url = serverUrl.format();\n op.servers.push(newServer);\n }\n }\n }\n }\n }\n\n if (options.debug) {\n op[\"x-s2o-consumes\"] = op.consumes || [];\n op[\"x-s2o-produces\"] = op.produces || [];\n }\n if (op) {\n delete op.consumes;\n delete op.produces;\n delete op.schemes;\n\n if (op[\"x-ms-examples\"]) {\n for (let e in op[\"x-ms-examples\"]) {\n let example = op[\"x-ms-examples\"][e];\n let se = common.sanitiseAll(e);\n if (example.parameters) {\n for (let p in example.parameters) {\n let value = example.parameters[p];\n for (let param of (op.parameters||[]).concat(path.parameters||[])) {\n if (param.$ref) {\n param = jptr.jptr(openapi,param.$ref);\n }\n if ((param.name === p) && (!param.example)) {\n if (!param.examples) {\n param.examples = {};\n }\n param.examples[e] = {value: value};\n }\n }\n }\n }\n if (example.responses) {\n for (let r in example.responses) {\n if (example.responses[r].headers) {\n for (let h in example.responses[r].headers) {\n let value = example.responses[r].headers[h];\n for (let rh in op.responses[r].headers) {\n if (rh === h) {\n let header = op.responses[r].headers[rh];\n header.example = value;\n }\n }\n }\n }\n if (example.responses[r].body) {\n openapi.components.examples[se] = { value: clone(example.responses[r].body) };\n if (op.responses[r] && op.responses[r].content) {\n for (let ct in op.responses[r].content) {\n let contentType = op.responses[r].content[ct];\n if (!contentType.examples) {\n contentType.examples = {};\n }\n contentType.examples[e] = { $ref: '#/components/examples/'+se };\n }\n }\n }\n\n }\n }\n }\n delete op[\"x-ms-examples\"];\n }\n\n if (op.parameters && op.parameters.length === 0) delete op.parameters;\n if (op.requestBody) {\n let effectiveOperationId = op.operationId ? common.sanitiseAll(op.operationId) : common.sanitiseAll(method + p).toCamelCase();\n let rbName = common.sanitise(op.requestBody['x-s2o-name'] || effectiveOperationId || '');\n delete op.requestBody['x-s2o-name'];\n let rbStr = JSON.stringify(op.requestBody);\n let rbHash = common.hash(rbStr);\n if (!requestBodyCache[rbHash]) {\n let entry = {};\n entry.name = rbName;\n entry.body = op.requestBody;\n entry.refs = [];\n requestBodyCache[rbHash] = entry;\n }\n let ptr = '#/'+containerName+'/'+encodeURIComponent(jptr.jpescape(p))+'/'+method+'/requestBody';\n requestBodyCache[rbHash].refs.push(ptr);\n }\n }\n\n }\n }\n if (path && path.parameters) {\n for (let p2 in path.parameters) {\n let param = path.parameters[p2];\n processParameter(param, null, path, null, p, openapi, options); // index here is the path string\n }\n if (!options.debug && Array.isArray(path.parameters)) {\n path.parameters = path.parameters.filter(keepParameters);\n }\n }\n }\n}\n\nfunction main(openapi, options) {\n\n let requestBodyCache = {};\n componentNames = { schemas: {} };\n\n if (openapi.security) processSecurity(openapi.security);\n\n for (let s in openapi.components.securitySchemes) {\n let sname = common.sanitise(s);\n if (s != sname) {\n if (openapi.components.securitySchemes[sname]) {\n throwError('Duplicate sanitised securityScheme name ' + sname, options);\n }\n openapi.components.securitySchemes[sname] = openapi.components.securitySchemes[s];\n delete openapi.components.securitySchemes[s];\n }\n processSecurityScheme(openapi.components.securitySchemes[sname], options);\n }\n\n for (let s in openapi.components.schemas) {\n let sname = common.sanitiseAll(s);\n let suffix = '';\n if (s != sname) {\n while (openapi.components.schemas[sname + suffix]) {\n // @ts-ignore\n suffix = (suffix ? ++suffix : 2);\n }\n openapi.components.schemas[sname + suffix] = openapi.components.schemas[s];\n delete openapi.components.schemas[s];\n }\n componentNames.schemas[s] = sname + suffix;\n fixUpSchema(openapi.components.schemas[sname+suffix],options)\n }\n\n // fix all $refs to their new locations (and potentially new names)\n options.refmap = {};\n recurse(openapi, { payload: { options: options } }, fixupRefs);\n dedupeRefs(openapi,options);\n\n for (let p in openapi.components.parameters) {\n let sname = common.sanitise(p);\n if (p != sname) {\n if (openapi.components.parameters[sname]) {\n throwError('Duplicate sanitised parameter name ' + sname, options);\n }\n openapi.components.parameters[sname] = openapi.components.parameters[p];\n delete openapi.components.parameters[p];\n }\n let param = openapi.components.parameters[sname];\n processParameter(param, null, null, null, sname, openapi, options);\n }\n\n for (let r in openapi.components.responses) {\n let sname = common.sanitise(r);\n if (r != sname) {\n if (openapi.components.responses[sname]) {\n throwError('Duplicate sanitised response name ' + sname, options);\n }\n openapi.components.responses[sname] = openapi.components.responses[r];\n delete openapi.components.responses[r];\n }\n let response = openapi.components.responses[sname];\n processResponse(response, sname, null, openapi, options);\n if (response.headers) {\n for (let h in response.headers) {\n if (h.toLowerCase() === 'status code') {\n if (options.patch) {\n options.patches++;\n delete response.headers[h];\n }\n else {\n throwError('(Patchable) \"Status Code\" is not a valid header', options);\n }\n }\n else {\n processHeader(response.headers[h], options);\n }\n }\n }\n }\n\n for (let r in openapi.components.requestBodies) { // converted ones\n let rb = openapi.components.requestBodies[r];\n let rbStr = JSON.stringify(rb);\n let rbHash = common.hash(rbStr);\n let entry = {};\n entry.name = r;\n entry.body = rb;\n entry.refs = [];\n requestBodyCache[rbHash] = entry;\n }\n\n processPaths(openapi.paths, 'paths', options, requestBodyCache, openapi);\n if (openapi[\"x-ms-paths\"]) {\n processPaths(openapi[\"x-ms-paths\"], 'x-ms-paths', options, requestBodyCache, openapi);\n }\n\n if (!options.debug) {\n for (let p in openapi.components.parameters) {\n let param = openapi.components.parameters[p];\n if (param[\"x-s2o-delete\"]) {\n delete openapi.components.parameters[p];\n }\n }\n }\n\n if (options.debug) {\n openapi[\"x-s2o-consumes\"] = openapi.consumes || [];\n openapi[\"x-s2o-produces\"] = openapi.produces || [];\n }\n delete openapi.consumes;\n delete openapi.produces;\n delete openapi.schemes;\n\n let rbNamesGenerated = [];\n\n openapi.components.requestBodies = {}; // for now as we've dereffed them\n\n if (!options.resolveInternal) {\n let counter = 1;\n for (let e in requestBodyCache) {\n let entry = requestBodyCache[e];\n if (entry.refs.length > 1) {\n // create a shared requestBody\n let suffix = '';\n if (!entry.name) {\n entry.name = 'requestBody';\n // @ts-ignore\n suffix = counter++;\n }\n while (rbNamesGenerated.indexOf(entry.name + suffix) >= 0) {\n // @ts-ignore - this can happen if descriptions are not exactly the same (e.g. bitbucket)\n suffix = (suffix ? ++suffix : 2);\n }\n entry.name = entry.name + suffix;\n rbNamesGenerated.push(entry.name);\n openapi.components.requestBodies[entry.name] = clone(entry.body);\n for (let r in entry.refs) {\n let ref = {};\n ref.$ref = '#/components/requestBodies/' + entry.name;\n jptr.jptr(openapi,entry.refs[r],ref);\n }\n }\n }\n }\n\n if (openapi.components.responses && Object.keys(openapi.components.responses).length === 0) {\n delete openapi.components.responses;\n }\n if (openapi.components.parameters && Object.keys(openapi.components.parameters).length === 0) {\n delete openapi.components.parameters;\n }\n if (openapi.components.examples && Object.keys(openapi.components.examples).length === 0) {\n delete openapi.components.examples;\n }\n if (openapi.components.requestBodies && Object.keys(openapi.components.requestBodies).length === 0) {\n delete openapi.components.requestBodies;\n }\n if (openapi.components.securitySchemes && Object.keys(openapi.components.securitySchemes).length === 0) {\n delete openapi.components.securitySchemes;\n }\n if (openapi.components.headers && Object.keys(openapi.components.headers).length === 0) {\n delete openapi.components.headers;\n }\n if (openapi.components.schemas && Object.keys(openapi.components.schemas).length === 0) {\n delete openapi.components.schemas;\n }\n if (openapi.components && Object.keys(openapi.components).length === 0) {\n delete openapi.components;\n }\n\n return openapi;\n}\n\nfunction extractServerParameters(server) {\n if (!server || !server.url || (typeof server.url !== 'string')) return server;\n server.url = server.url.split('{{').join('{');\n server.url = server.url.split('}}').join('}');\n server.url.replace(/\\{(.+?)\\}/g, function (match, group1) { // TODO extend to :parameters (not port)?\n if (!server.variables) {\n server.variables = {};\n }\n server.variables[group1] = { default: 'unknown' };\n });\n return server;\n}\n\nfunction fixInfo(openapi, options, reject) {\n if ((typeof openapi.info === 'undefined') || (openapi.info === null)) {\n if (options.patch) {\n options.patches++;\n openapi.info = { version: '', title: '' };\n }\n else {\n return reject(new S2OError('(Patchable) info object is mandatory'));\n }\n }\n if ((typeof openapi.info !== 'object') || (Array.isArray(openapi.info))) {\n return reject(new S2OError('info must be an object'));\n }\n if ((typeof openapi.info.title === 'undefined') || (openapi.info.title === null)) {\n if (options.patch) {\n options.patches++;\n openapi.info.title = '';\n }\n else {\n return reject(new S2OError('(Patchable) info.title cannot be null'));\n }\n }\n if ((typeof openapi.info.version === 'undefined') || (openapi.info.version === null)) {\n if (options.patch) {\n options.patches++;\n openapi.info.version = '';\n }\n else {\n return reject(new S2OError('(Patchable) info.version cannot be null'));\n }\n }\n if (typeof openapi.info.version !== 'string') {\n if (options.patch) {\n options.patches++;\n openapi.info.version = openapi.info.version.toString();\n }\n else {\n return reject(new S2OError('(Patchable) info.version must be a string'));\n }\n }\n if (typeof openapi.info.logo !== 'undefined') {\n if (options.patch) {\n options.patches++;\n openapi.info['x-logo'] = openapi.info.logo;\n delete openapi.info.logo;\n }\n else return reject(new S2OError('(Patchable) info should not have logo property'));\n }\n if (typeof openapi.info.termsOfService !== 'undefined') {\n if (openapi.info.termsOfService === null) {\n if (options.patch) {\n options.patches++;\n openapi.info.termsOfService = '';\n }\n else {\n return reject(new S2OError('(Patchable) info.termsOfService cannot be null'));\n }\n }\n if (url.URL && options.whatwg) {\n try {\n url.URL.parse(openapi.info.termsOfService);\n }\n catch (ex) {\n if (options.patch) {\n options.patches++;\n delete openapi.info.termsOfService;\n }\n else return reject(new S2OError('(Patchable) info.termsOfService must be a URL'));\n }\n }\n }\n}\n\nfunction fixPaths(openapi, options, reject) {\n if (typeof openapi.paths === 'undefined') {\n if (options.patch) {\n options.patches++;\n openapi.paths = {};\n }\n else {\n return reject(new S2OError('(Patchable) paths object is mandatory'));\n }\n }\n}\n\nfunction detectObjectReferences(obj, options) {\n const seen = new WeakSet();\n recurse(obj, {identityDetection:true}, function (obj, key, state) {\n if ((typeof obj[key] === 'object') && (obj[key] !== null)) {\n if (seen.has(obj[key])) {\n if (options.anchors) {\n obj[key] = clone(obj[key]);\n }\n else {\n throwError('YAML anchor or merge key at '+state.path, options);\n }\n }\n else {\n seen.add(obj[key]);\n }\n }\n });\n}\n\nfunction convertObj(swagger, options, callback) {\n return maybe(callback, new Promise(function (resolve, reject) {\n if (!swagger) swagger = {};\n options.original = swagger;\n if (!options.text) options.text = yaml.stringify(swagger);\n options.externals = [];\n options.externalRefs = {};\n options.rewriteRefs = true; // avoids stack explosions\n options.preserveMiro = true;\n options.promise = {};\n options.promise.resolve = resolve;\n options.promise.reject = reject;\n options.patches = 0;\n if (!options.cache) options.cache = {};\n if (options.source) options.cache[options.source] = options.original;\n\n detectObjectReferences(swagger, options);\n\n if (swagger.openapi && (typeof swagger.openapi === 'string') && swagger.openapi.startsWith('3.')) {\n options.openapi = cclone(swagger);\n fixInfo(options.openapi, options, reject);\n fixPaths(options.openapi, options, reject);\n\n resolver.optionalResolve(options) // is a no-op if options.resolve is not set\n .then(function(){\n if (options.direct) {\n return resolve(options.openapi);\n }\n else {\n return resolve(options);\n }\n })\n .catch(function(ex){\n console.warn(ex);\n reject(ex);\n });\n return; // we should have resolved or rejected by now\n }\n\n if ((!swagger.swagger) || (swagger.swagger != \"2.0\")) {\n return reject(new S2OError('Unsupported swagger/OpenAPI version: ' + (swagger.openapi ? swagger.openapi : swagger.swagger)));\n }\n\n let openapi = options.openapi = {};\n openapi.openapi = (typeof options.targetVersion === 'string' && options.targetVersion.startsWith('3.')) ? options.targetVersion : targetVersion; // semver\n\n if (options.origin) {\n if (!openapi[\"x-origin\"]) {\n openapi[\"x-origin\"] = [];\n }\n let origin = {};\n origin.url = options.source||options.origin;\n origin.format = 'swagger';\n origin.version = swagger.swagger;\n origin.converter = {};\n origin.converter.url = 'https://github.com/mermade/oas-kit';\n origin.converter.version = ourVersion;\n openapi[\"x-origin\"].push(origin);\n }\n\n // we want the new and existing properties to appear in a sensible order. Not guaranteed\n openapi = Object.assign(openapi, cclone(swagger));\n delete openapi.swagger;\n recurse(openapi, {}, function(obj, key, state){\n if ((obj[key] === null) && (!key.startsWith('x-')) && key !== 'default' && (state.path.indexOf('/example') < 0)) delete obj[key]; // this saves *so* much grief later\n });\n\n if (swagger.host) {\n for (let s of (Array.isArray(swagger.schemes) ? swagger.schemes : [''])) {\n let server = {};\n server.url = (s ? s+':' : '') + '//' + swagger.host + (swagger.basePath ? swagger.basePath : '');\n extractServerParameters(server);\n if (!openapi.servers) openapi.servers = [];\n openapi.servers.push(server);\n }\n }\n else if (swagger.basePath) {\n let server = {};\n server.url = swagger.basePath;\n extractServerParameters(server);\n if (!openapi.servers) openapi.servers = [];\n openapi.servers.push(server);\n }\n delete openapi.host;\n delete openapi.basePath;\n\n if (openapi['x-servers'] && Array.isArray(openapi['x-servers'])) {\n openapi.servers = openapi['x-servers'];\n delete openapi['x-servers'];\n }\n\n // TODO APIMatic extensions (x-server-configuration) ?\n\n if (swagger['x-ms-parameterized-host']) {\n let xMsPHost = swagger['x-ms-parameterized-host'];\n let server = {};\n server.url = xMsPHost.hostTemplate + (swagger.basePath ? swagger.basePath : '');\n server.variables = {};\n for (let msp in xMsPHost.parameters) {\n let param = xMsPHost.parameters[msp];\n if (param.$ref) {\n param = clone(resolveInternal(openapi, param.$ref));\n }\n if (!msp.startsWith('x-')) {\n delete param.required; // all true\n delete param.type; // all strings\n delete param.in; // all 'host'\n if (typeof param.default === 'undefined') {\n if (param.enum) {\n param.default = param.enum[0];\n }\n else {\n param.default = '';\n }\n }\n server.variables[param.name] = param;\n delete param.name;\n }\n }\n if (!openapi.servers) openapi.servers = [];\n if (xMsPHost.useSchemePrefix === false) {\n // The server URL already includes a protocol scheme\n openapi.servers.push(server);\n } else {\n // Define this server once for each given protocol scheme\n swagger.schemes.forEach((scheme) => {\n openapi.servers.push(\n Object.assign({}, server, { url: scheme + '://' + server.url })\n )\n });\n }\n delete openapi['x-ms-parameterized-host'];\n }\n\n fixInfo(openapi, options, reject);\n fixPaths(openapi, options, reject);\n\n if (typeof openapi.consumes === 'string') {\n openapi.consumes = [openapi.consumes];\n }\n if (typeof openapi.produces === 'string') {\n openapi.produces = [openapi.produces];\n }\n\n openapi.components = {};\n if (openapi['x-callbacks']) {\n openapi.components.callbacks = openapi['x-callbacks'];\n delete openapi['x-callbacks'];\n }\n openapi.components.examples = {};\n openapi.components.headers = {};\n if (openapi['x-links']) {\n openapi.components.links = openapi['x-links'];\n delete openapi['x-links'];\n }\n openapi.components.parameters = openapi.parameters || {};\n openapi.components.responses = openapi.responses || {};\n openapi.components.requestBodies = {};\n openapi.components.securitySchemes = openapi.securityDefinitions || {};\n openapi.components.schemas = openapi.definitions || {};\n delete openapi.definitions;\n delete openapi.responses;\n delete openapi.parameters;\n delete openapi.securityDefinitions;\n\n resolver.optionalResolve(options) // is a no-op if options.resolve is not set\n .then(function(){\n main(options.openapi, options);\n if (options.direct) {\n resolve(options.openapi);\n }\n else {\n resolve(options);\n }\n })\n .catch(function(ex){\n console.warn(ex);\n reject(ex);\n });\n\n }));\n}\n\nfunction convertStr(str, options, callback) {\n return maybe(callback, new Promise(function (resolve, reject) {\n let obj = null;\n let error = null;\n try {\n obj = JSON.parse(str);\n options.text = JSON.stringify(obj,null,2);\n }\n catch (ex) {\n error = ex;\n try {\n obj = yaml.parse(str, { schema: 'core', prettyErrors: true });\n options.sourceYaml = true;\n options.text = str;\n }\n catch (ex) {\n error = ex;\n }\n }\n if (obj) {\n convertObj(obj, options)\n .then(options => resolve(options))\n .catch(ex => reject(ex));\n }\n else {\n reject(new S2OError(error ? error.message : 'Could not parse string'));\n }\n }));\n}\n\nfunction convertUrl(url, options, callback) {\n return maybe(callback, new Promise(function (resolve, reject) {\n options.origin = true;\n if (!options.source) {\n options.source = url;\n }\n if (options.verbose) {\n console.warn('GET ' + url);\n }\n if (!options.fetch) {\n options.fetch = fetch;\n }\n const fetchOptions = Object.assign({}, options.fetchOptions, {agent:options.agent});\n options.fetch(url, fetchOptions).then(function (res) {\n if (res.status !== 200) throw new S2OError(`Received status code ${res.status}: ${url}`);\n return res.text();\n }).then(function (body) {\n convertStr(body, options)\n .then(options => resolve(options))\n .catch(ex => reject(ex));\n }).catch(function (err) {\n reject(err);\n });\n }));\n}\n\nfunction convertFile(filename, options, callback) {\n return maybe(callback, new Promise(function (resolve, reject) {\n fs.readFile(filename, options.encoding || 'utf8', function (err, s) {\n if (err) {\n reject(err);\n }\n else {\n options.sourceFile = filename;\n convertStr(s, options)\n .then(options => resolve(options))\n .catch(ex => reject(ex));\n }\n });\n }));\n}\n\nfunction convertStream(readable, options, callback) {\n return maybe(callback, new Promise(function (resolve, reject) {\n let data = '';\n readable.on('data', function (chunk) {\n data += chunk;\n })\n .on('end', function () {\n convertStr(data, options)\n .then(options => resolve(options))\n .catch(ex => reject(ex));\n });\n }));\n}\n\nmodule.exports = {\n S2OError: S2OError,\n targetVersion: targetVersion,\n convert: convertObj,\n convertObj: convertObj,\n convertUrl: convertUrl,\n convertStr: convertStr,\n convertFile: convertFile,\n convertStream: convertStream\n};\n","'use strict';\n\nfunction areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n for (var i = 0; i < newInputs.length; i++) {\n if (newInputs[i] !== lastInputs[i]) {\n return false;\n }\n }\n return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n if (isEqual === void 0) { isEqual = areInputsEqual; }\n var lastThis;\n var lastArgs = [];\n var lastResult;\n var calledOnce = false;\n function memoized() {\n var newArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n newArgs[_i] = arguments[_i];\n }\n if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {\n return lastResult;\n }\n lastResult = resultFn.apply(this, newArgs);\n calledOnce = true;\n lastThis = this;\n lastArgs = newArgs;\n return lastResult;\n }\n return memoized;\n}\n\nmodule.exports = memoizeOne;\n","module.exports = require(\"@redocly/react-dropdown-aria\");","module.exports = require(\"dompurify\");","module.exports = require(\"classnames\");","module.exports = require(\"call-me-maybe\");","'use strict';\n\nconst fs = require('fs');\nconst path = require('path');\nconst url = require('url');\n\nconst fetch = require('node-fetch-h2');\nconst yaml = require('yaml');\n\nconst jptr = require('reftools/lib/jptr.js').jptr;\nconst recurse = require('reftools/lib/recurse.js').recurse;\nconst clone = require('reftools/lib/clone.js').clone;\nconst deRef = require('reftools/lib/dereference.js').dereference;\nconst isRef = require('reftools/lib/isref.js').isRef;\nconst common = require('oas-kit-common');\n\nfunction unique(arr) {\n return [... new Set(arr)];\n}\n\nfunction readFileAsync(filename, encoding) {\n return new Promise(function (resolve, reject) {\n fs.readFile(filename, encoding, function (err, data) {\n if (err)\n reject(err);\n else\n resolve(data);\n });\n });\n}\n\nfunction resolveAllFragment(obj, context, src, parentPath, base, options) {\n\n let attachPoint = options.externalRefs[src+parentPath].paths[0];\n\n let baseUrl = url.parse(base);\n let seen = {}; // seen is indexed by the $ref value and contains path replacements\n let changes = 1;\n while (changes) {\n changes = 0;\n recurse(obj, {identityDetection:true}, function (obj, key, state) {\n if (isRef(obj, key)) {\n if (obj[key].startsWith('#')) {\n if (!seen[obj[key]] && !obj.$fixed) {\n let target = clone(jptr(context, obj[key]));\n if (options.verbose>1) console.warn((target === false ? common.colour.red : common.colour.green)+'Fragment resolution', obj[key], common.colour.normal);\n /*\n ResolutionCase:A is where there is a local reference in an externally\n referenced document, and we have not seen it before. The reference\n is replaced by a copy of the data pointed to, which may be outside this fragment\n but within the context of the external document\n */\n if (target === false) {\n state.parent[state.pkey] = {}; /* case:A(2) where the resolution fails */\n if (options.fatal) {\n let ex = new Error('Fragment $ref resolution failed '+obj[key]);\n if (options.promise) options.promise.reject(ex)\n else throw(ex);\n }\n }\n else {\n changes++;\n state.parent[state.pkey] = target;\n seen[obj[key]] = state.path.replace('/%24ref','');\n }\n }\n else {\n if (!obj.$fixed) {\n let newRef = (attachPoint+'/'+seen[obj[key]]).split('/#/').join('/');\n state.parent[state.pkey] = { $ref: newRef, 'x-miro': obj[key], $fixed: true };\n if (options.verbose>1) console.warn('Replacing with',newRef);\n changes++;\n }\n /*\n ResolutionCase:B is where there is a local reference in an externally\n referenced document, and we have seen this reference before and resolved it.\n We create a new object containing the (immutable) $ref string\n */\n }\n }\n else if (baseUrl.protocol) {\n let newRef = url.resolve(base,obj[key]).toString();\n if (options.verbose>1) console.warn(common.colour.yellow+'Rewriting external url ref',obj[key],'as',newRef,common.colour.normal);\n obj['x-miro'] = obj[key];\n obj[key] = newRef;\n }\n else if (!obj['x-miro']) {\n let newRef = url.resolve(base,obj[key]).toString();\n if (options.verbose>1) console.warn(common.colour.yellow+'Rewriting external ref',obj[key],'as',newRef,common.colour.normal);\n obj['x-miro'] = obj[key]; // we use x-miro as a flag so we don't do this > once\n obj[key] = newRef;\n }\n }\n });\n }\n\n recurse(obj,{},function(obj,key,state){\n if (isRef(obj, key)) {\n if (typeof obj.$fixed !== 'undefined') delete obj.$fixed;\n }\n });\n\n if (options.verbose>1) console.warn('Finished fragment resolution');\n return obj;\n}\n\nfunction filterData(data, options) {\n if (!options.filters || !options.filters.length) return data;\n for (let filter of options.filters) {\n data = filter(data, options);\n }\n return data;\n}\n\nfunction testProtocol(input, backup) {\n if (input && input.length > 2) return input;\n if (backup && backup.length > 2) return backup;\n return 'file:';\n}\n\nfunction resolveExternal(root, pointer, options, callback) {\n var u = url.parse(options.source);\n var base = options.source.split('\\\\').join('/').split('/');\n let doc = base.pop(); // drop the actual filename\n if (!doc) base.pop(); // in case it ended with a /\n let fragment = '';\n let fnComponents = pointer.split('#');\n if (fnComponents.length > 1) {\n fragment = '#' + fnComponents[1];\n pointer = fnComponents[0];\n }\n base = base.join('/');\n\n let u2 = url.parse(pointer);\n let effectiveProtocol = testProtocol(u2.protocol, u.protocol);\n\n let target;\n if (effectiveProtocol === 'file:') {\n target = path.resolve(base ? base + '/' : '', pointer);\n }\n else {\n target = url.resolve(base ? base + '/' : '', pointer);\n }\n\n if (options.cache[target]) {\n if (options.verbose) console.warn('CACHED', target, fragment);\n /*\n resolutionSource:A this is where we have cached the externally-referenced document from a\n file, http or custom handler\n */\n let context = clone(options.cache[target]);\n let data = options.externalRef = context;\n if (fragment) {\n data = jptr(data, fragment);\n if (data === false) {\n data = {}; // case:A(2) where the resolution fails\n if (options.fatal) {\n let ex = new Error('Cached $ref resolution failed '+target+fragment);\n if (options.promise) options.promise.reject(ex)\n else throw(ex);\n }\n }\n }\n data = resolveAllFragment(data, context, pointer, fragment, target, options);\n data = filterData(data, options);\n callback(clone(data), target, options);\n return Promise.resolve(data);\n }\n\n if (options.verbose) console.warn('GET', target, fragment);\n\n if (options.handlers && options.handlers[effectiveProtocol]) {\n return options.handlers[effectiveProtocol](base, pointer, fragment, options)\n .then(function (data) {\n options.externalRef = data;\n data = filterData(data, options);\n options.cache[target] = data;\n callback(data, target, options);\n return data;\n })\n .catch(function(ex){\n if (options.verbose) console.warn(ex);\n throw(ex);\n });\n }\n else if (effectiveProtocol && effectiveProtocol.startsWith('http')) {\n const fetchOptions = Object.assign({}, options.fetchOptions, { agent: options.agent });\n return options.fetch(target, fetchOptions)\n .then(function (res) {\n if (res.status !== 200) throw new Error(`Received status code ${res.status}: ${target}`);\n return res.text();\n })\n .then(function (data) {\n try {\n let context = yaml.parse(data, { schema:'core', prettyErrors: true });\n data = options.externalRef = context;\n options.cache[target] = clone(data);\n /* resolutionSource:B, from the network, data is fresh, but we clone it into the cache */\n if (fragment) {\n data = jptr(data, fragment);\n if (data === false) {\n data = {}; /* case:B(2) where the resolution fails */\n if (options.fatal) {\n let ex = new Error('Remote $ref resolution failed '+target+fragment);\n if (options.promise) options.promise.reject(ex)\n else throw(ex);\n }\n }\n }\n data = resolveAllFragment(data, context, pointer, fragment, target, options);\n data = filterData(data, options);\n }\n catch (ex) {\n if (options.verbose) console.warn(ex);\n if (options.promise && options.fatal) options.promise.reject(ex)\n else throw(ex);\n }\n callback(data, target, options);\n return data;\n })\n .catch(function (err) {\n if (options.verbose) console.warn(err);\n options.cache[target] = {};\n if (options.promise && options.fatal) options.promise.reject(err)\n else throw(err);\n });\n }\n else {\n return readFileAsync(target, options.encoding || 'utf8')\n .then(function (data) {\n try {\n let context = yaml.parse(data, { schema:'core', prettyErrors: true });\n data = options.externalRef = context;\n /*\n resolutionSource:C from a file, data is fresh but we clone it into the cache\n */\n options.cache[target] = clone(data);\n if (fragment) {\n data = jptr(data, fragment);\n if (data === false) {\n data = {}; /* case:C(2) where the resolution fails */\n if (options.fatal) {\n let ex = new Error('File $ref resolution failed '+target+fragment);\n if (options.promise) options.promise.reject(ex)\n else throw(ex);\n }\n }\n }\n data = resolveAllFragment(data, context, pointer, fragment, target, options);\n data = filterData(data, options);\n }\n catch (ex) {\n if (options.verbose) console.warn(ex);\n if (options.promise && options.fatal) options.promise.reject(ex)\n else throw(ex);\n }\n callback(data, target, options);\n return data;\n })\n .catch(function(err){\n if (options.verbose) console.warn(err);\n if (options.promise && options.fatal) options.promise.reject(err)\n else throw(err);\n });\n }\n}\n\nfunction scanExternalRefs(options) {\n return new Promise(function (res, rej) {\n\n function inner(obj,key,state){\n if (obj[key] && isRef(obj[key],'$ref')) {\n let $ref = obj[key].$ref;\n if (!$ref.startsWith('#')) { // is external\n\n let $extra = '';\n\n if (!refs[$ref]) {\n let potential = Object.keys(refs).find(function(e,i,a){\n return $ref.startsWith(e+'/');\n });\n if (potential) {\n if (options.verbose) console.warn('Found potential subschema at',potential);\n $extra = '/'+($ref.split('#')[1]||'').replace(potential.split('#')[1]||'');\n $extra = $extra.split('/undefined').join(''); // FIXME\n $ref = potential;\n }\n }\n\n if (!refs[$ref]) {\n refs[$ref] = { resolved: false, paths: [], extras:{}, description: obj[key].description };\n }\n if (refs[$ref].resolved) {\n if (options.rewriteRefs) {\n // we've already seen it\n let newRef = refs[$ref].resolvedAt;\n if (options.verbose>1) console.warn('Rewriting ref', $ref, newRef);\n obj[key]['x-miro'] = $ref;\n obj[key].$ref = newRef+$extra; // resolutionCase:C (new string)\n }\n else {\n obj[key] = clone(refs[$ref].data); // resolutionCase:D (cloned:yes)\n }\n }\n else {\n refs[$ref].paths.push(state.path);\n refs[$ref].extras[state.path] = $extra;\n }\n }\n }\n }\n\n let refs = options.externalRefs;\n\n if ((options.resolver.depth>0) && (options.source === options.resolver.base)) {\n // we only need to do any of this when called directly on pass #1\n return res(refs);\n }\n\n recurse(options.openapi.definitions, {identityDetection: true, path: '#/definitions'}, inner);\n recurse(options.openapi.components, {identityDetection: true, path: '#/components'}, inner);\n recurse(options.openapi, {identityDetection: true}, inner);\n\n res(refs);\n });\n}\n\nfunction findExternalRefs(options) {\n return new Promise(function (res, rej) {\n\n scanExternalRefs(options)\n .then(function (refs) {\n for (let ref in refs) {\n\n if (!refs[ref].resolved) {\n let depth = options.resolver.depth;\n if (depth>0) depth++;\n options.resolver.actions[depth].push(function () {\n return resolveExternal(options.openapi, ref, options, function (data, source, options) {\n if (!refs[ref].resolved) {\n let external = {};\n external.context = refs[ref];\n external.$ref = ref;\n external.original = clone(data);\n external.updated = data;\n external.source = source;\n options.externals.push(external);\n refs[ref].resolved = true;\n }\n\n let localOptions = Object.assign({}, options, { source: '',\n resolver: {actions: options.resolver.actions,\n depth: options.resolver.actions.length-1, base: options.resolver.base } });\n if (options.patch && refs[ref].description && !data.description &&\n (typeof data === 'object')) {\n data.description = refs[ref].description;\n }\n refs[ref].data = data;\n\n // sorting $refs by length causes bugs (due to overlapping regions?)\n let pointers = unique(refs[ref].paths);\n pointers = pointers.sort(function(a,b){\n const aComp = (a.startsWith('#/components/') || a.startsWith('#/definitions/'));\n const bComp = (b.startsWith('#/components/') || b.startsWith('#/definitions/'));\n if (aComp && !bComp) return -1;\n if (bComp && !aComp) return +1;\n return 0;\n });\n\n for (let ptr of pointers) {\n // shared x-ms-examples $refs confuse the fixupRefs heuristic in index.js\n if (refs[ref].resolvedAt && (ptr !== refs[ref].resolvedAt) && (ptr.indexOf('x-ms-examples/')<0)) {\n if (options.verbose>1) console.warn('Creating pointer to data at', ptr);\n jptr(options.openapi, ptr, { $ref: refs[ref].resolvedAt+refs[ref].extras[ptr], 'x-miro': ref+refs[ref].extras[ptr] }); // resolutionCase:E (new object)\n }\n else {\n if (refs[ref].resolvedAt) {\n if (options.verbose>1) console.warn('Avoiding circular reference');\n }\n else {\n refs[ref].resolvedAt = ptr;\n if (options.verbose>1) console.warn('Creating initial clone of data at', ptr);\n }\n let cdata = clone(data);\n jptr(options.openapi, ptr, cdata); // resolutionCase:F (cloned:yes)\n }\n }\n if (options.resolver.actions[localOptions.resolver.depth].length === 0) {\n //options.resolver.actions[localOptions.resolver.depth].push(function () { return scanExternalRefs(localOptions) });\n options.resolver.actions[localOptions.resolver.depth].push(function () { return findExternalRefs(localOptions) }); // findExternalRefs calls scanExternalRefs\n }\n });\n });\n }\n }\n })\n .catch(function(ex){\n if (options.verbose) console.warn(ex);\n rej(ex);\n });\n\n let result = {options:options};\n result.actions = options.resolver.actions[options.resolver.depth];\n res(result);\n });\n}\n\nconst serial = funcs =>\n funcs.reduce((promise, func) =>\n promise.then(result => func().then(Array.prototype.concat.bind(result))), Promise.resolve([]));\n\nfunction loopReferences(options, res, rej) {\n options.resolver.actions.push([]);\n findExternalRefs(options)\n .then(function (data) {\n serial(data.actions)\n .then(function () {\n if (options.resolver.depth>=options.resolver.actions.length) {\n console.warn('Ran off the end of resolver actions');\n return res(true);\n } else {\n options.resolver.depth++;\n if (options.resolver.actions[options.resolver.depth].length) {\n setTimeout(function () {\n loopReferences(data.options, res, rej);\n }, 0);\n }\n else {\n if (options.verbose>1) console.warn(common.colour.yellow+'Finished external resolution!',common.colour.normal);\n if (options.resolveInternal) {\n if (options.verbose>1) console.warn(common.colour.yellow+'Starting internal resolution!',common.colour.normal);\n options.openapi = deRef(options.openapi,options.original,{verbose:options.verbose-1});\n if (options.verbose>1) console.warn(common.colour.yellow+'Finished internal resolution!',common.colour.normal);\n }\n recurse(options.openapi,{},function(obj,key,state){\n if (isRef(obj, key)) {\n if (!options.preserveMiro) delete obj['x-miro'];\n }\n });\n res(options);\n }\n }\n })\n .catch(function (ex) {\n if (options.verbose) console.warn(ex);\n rej(ex);\n });\n })\n .catch(function(ex){\n if (options.verbose) console.warn(ex);\n rej(ex);\n });\n}\n\nfunction setupOptions(options) {\n if (!options.cache) options.cache = {};\n if (!options.fetch) options.fetch = fetch;\n\n if (options.source) {\n let srcUrl = url.parse(options.source);\n if (!srcUrl.protocol || srcUrl.protocol.length <= 2) { // windows drive-letters\n options.source = path.resolve(options.source);\n }\n }\n\n if (!options.externals) options.externals = [];\n if (!options.externalRefs) options.externalRefs = {};\n options.rewriteRefs = true;\n options.resolver = {};\n options.resolver.depth = 0;\n options.resolver.base = options.source;\n options.resolver.actions = [[]];\n}\n\n/** compatibility function for swagger2openapi */\nfunction optionalResolve(options) {\n setupOptions(options);\n return new Promise(function (res, rej) {\n if (options.resolve)\n loopReferences(options, res, rej)\n else\n res(options);\n });\n}\n\nfunction resolve(openapi,source,options) {\n if (!options) options = {};\n options.openapi = openapi;\n options.source = source;\n options.resolve = true;\n setupOptions(options);\n return new Promise(function (res, rej) {\n loopReferences(options, res, rej)\n });\n}\n\nmodule.exports = {\n optionalResolve: optionalResolve,\n resolve: resolve\n};\n\n","'use strict';\n\nconst recurse = require('./recurse.js').recurse;\nconst clone = require('./clone.js').shallowClone;\nconst jptr = require('./jptr.js').jptr;\nconst isRef = require('./isref.js').isRef;\n\nvar getLogger = function (options) {\n if (options && options.verbose) {\n return {\n warn: function() {\n var args = Array.prototype.slice.call(arguments);\n console.warn.apply(console, args);\n }\n }\n }\n else {\n return {\n warn: function() {\n //nop\n }\n }\n }\n}\n\n/**\n* dereferences the given object\n* @param o the object to dereference\n* @definitions a source of definitions to reference\n* @options optional settings (used recursively)\n* @return the dereferenced object\n*/\nfunction dereference(o,definitions,options) {\n if (!options) options = {};\n if (!options.cache) options.cache = {};\n if (!options.state) options.state = {};\n options.state.identityDetection = true;\n // options.depth allows us to limit cloning to the first invocation\n options.depth = (options.depth ? options.depth+1 : 1);\n let obj = (options.depth > 1 ? o : clone(o));\n let container = { data: obj };\n let defs = (options.depth > 1 ? definitions : clone(definitions));\n // options.master is the top level object, regardless of depth\n if (!options.master) options.master = obj;\n\n let logger = getLogger(options);\n\n let changes = 1;\n while (changes > 0) {\n changes = 0;\n recurse(container,options.state,function(obj,key,state){\n if (isRef(obj,key)) {\n let $ref = obj[key]; // immutable\n changes++;\n if (!options.cache[$ref]) {\n let entry = {};\n entry.path = state.path.split('/$ref')[0];\n entry.key = $ref;\n logger.warn('Dereffing %s at %s',$ref,entry.path);\n entry.source = defs;\n entry.data = jptr(entry.source,entry.key);\n if (entry.data === false) {\n entry.data = jptr(options.master,entry.key);\n entry.source = options.master;\n }\n if (entry.data === false) {\n logger.warn('Missing $ref target',entry.key);\n }\n options.cache[$ref] = entry;\n entry.data = state.parent[state.pkey] = dereference(jptr(entry.source,entry.key),entry.source,options);\n if ((options.$ref) && (typeof state.parent[state.pkey] === 'object')) state.parent[state.pkey][options.$ref] = $ref;\n entry.resolved = true;\n }\n else {\n let entry = options.cache[$ref];\n if (entry.resolved) {\n // we have already seen and resolved this reference\n logger.warn('Patching %s for %s',$ref,entry.path);\n state.parent[state.pkey] = entry.data;\n if ((options.$ref) && (typeof state.parent[state.pkey] === 'object')) state.parent[state.pkey][options.$ref] = $ref;\n }\n else if ($ref === entry.path) {\n // reference to itself, throw\n throw new Error(`Tight circle at ${entry.path}`);\n }\n else {\n // we're dealing with a circular reference here\n logger.warn('Unresolved ref');\n state.parent[state.pkey] = jptr(entry.source,entry.path);\n if (state.parent[state.pkey] === false) {\n state.parent[state.pkey] = jptr(entry.source,entry.key);\n }\n if ((options.$ref) && (typeof state.parent[state.pkey] === 'object')) state.parent[options.$ref] = $ref;\n }\n }\n }\n });\n }\n return container.data;\n}\n\nmodule.exports = {\n dereference : dereference\n};\n\n","module.exports = require(\"fast-safe-stringify\");","'use strict';\n\n/**\n* functions to walk an OpenAPI schema object and traverse all subschemas\n* calling a callback function on each one\n*/\n\n/**\n* obtains the default starting state for the `state` object used\n* by walkSchema\n* @return the state object suitable for use in walkSchema\n*/\nfunction getDefaultState() {\n return { depth: 0, seen: new WeakMap(), top: true, combine: false, allowRefSiblings: false };\n}\n\n/**\n* begins the walk of a schema object\n* @param parent the parent schema, if any. Use empty object if none\n* @param state the initial starting state of the walker, usually obtained from `getDefaultState`. Use empty object to auto-initialise\n* @param callback a function taking a schema, parent and state to be called on this and all subschemas\n* @return the schema object\n*/\nfunction walkSchema(schema, parent, state, callback) {\n\n if (typeof state.depth === 'undefined') state = getDefaultState();\n if ((schema === null) || (typeof schema === 'undefined')) return schema;\n if (typeof schema.$ref !== 'undefined') {\n let temp = {$ref:schema.$ref};\n if (state.allowRefSiblings && schema.description) {\n temp.description = schema.description;\n }\n callback(temp,parent,state);\n return temp; // all other properties SHALL be ignored\n }\n\n if (state.combine) {\n if (schema.allOf && Array.isArray(schema.allOf) && schema.allOf.length === 1) {\n schema = Object.assign({},schema.allOf[0],schema);\n delete schema.allOf;\n }\n if (schema.anyOf && Array.isArray(schema.anyOf) && schema.anyOf.length === 1) {\n schema = Object.assign({},schema.anyOf[0],schema);\n delete schema.anyOf;\n }\n if (schema.oneOf && Array.isArray(schema.oneOf) && schema.oneOf.length === 1) {\n schema = Object.assign({},schema.oneOf[0],schema);\n delete schema.oneOf;\n }\n }\n\n callback(schema,parent,state);\n if (state.seen.has(schema)) {\n return schema;\n }\n //else\n if ((typeof schema === 'object') && (schema !== null)) state.seen.set(schema,true);\n state.top = false;\n state.depth++;\n\n if (typeof schema.items !== 'undefined') {\n state.property = 'items';\n walkSchema(schema.items,schema,state,callback);\n }\n if (schema.additionalItems) {\n if (typeof schema.additionalItems === 'object') {\n state.property = 'additionalItems';\n walkSchema(schema.additionalItems,schema,state,callback);\n }\n }\n if (schema.additionalProperties) {\n if (typeof schema.additionalProperties === 'object') {\n state.property = 'additionalProperties';\n walkSchema(schema.additionalProperties,schema,state,callback);\n }\n }\n if (schema.properties) {\n for (let prop in schema.properties) {\n let subSchema = schema.properties[prop];\n state.property = 'properties/'+prop;\n walkSchema(subSchema,schema,state,callback);\n }\n }\n if (schema.patternProperties) {\n for (let prop in schema.patternProperties) {\n let subSchema = schema.patternProperties[prop];\n state.property = 'patternProperties/'+prop;\n walkSchema(subSchema,schema,state,callback);\n }\n }\n if (schema.allOf) {\n for (let index in schema.allOf) {\n let subSchema = schema.allOf[index];\n state.property = 'allOf/'+index;\n walkSchema(subSchema,schema,state,callback);\n }\n }\n if (schema.anyOf) {\n for (let index in schema.anyOf) {\n let subSchema = schema.anyOf[index];\n state.property = 'anyOf/'+index;\n walkSchema(subSchema,schema,state,callback);\n }\n }\n if (schema.oneOf) {\n for (let index in schema.oneOf) {\n let subSchema = schema.oneOf[index];\n state.property = 'oneOf/'+index;\n walkSchema(subSchema,schema,state,callback);\n }\n }\n if (schema.not) {\n state.property = 'not';\n walkSchema(schema.not,schema,state,callback);\n }\n state.depth--;\n return schema;\n}\n\nmodule.exports = {\n getDefaultState: getDefaultState,\n walkSchema: walkSchema\n};\n\n","'use strict';\n\nconst http = require('http');\n\nconst ours = {\n \"default\": \"Default response\",\n \"1XX\": \"Informational\",\n \"103\": \"Early hints\", // not in Node < 10\n \"2XX\": \"Successful\",\n \"3XX\": \"Redirection\",\n \"4XX\": \"Client Error\",\n \"5XX\": \"Server Error\",\n \"7XX\": \"Developer Error\" // April fools RFC\n};\n\nmodule.exports = {\n statusCodes: Object.assign({},ours,http.STATUS_CODES)\n};\n\n","var ClientRequest = require('./lib/request')\nvar response = require('./lib/response')\nvar extend = require('xtend')\nvar statusCodes = require('builtin-status-codes')\nvar url = require('url')\n\nvar http = exports\n\nhttp.request = function (opts, cb) {\n\tif (typeof opts === 'string')\n\t\topts = url.parse(opts)\n\telse\n\t\topts = extend(opts)\n\n\t// Normally, the page is loaded from http or https, so not specifying a protocol\n\t// will result in a (valid) protocol-relative url. However, this won't work if\n\t// the protocol is something else, like 'file:'\n\tvar defaultProtocol = global.location.protocol.search(/^https?:$/) === -1 ? 'http:' : ''\n\n\tvar protocol = opts.protocol || defaultProtocol\n\tvar host = opts.hostname || opts.host\n\tvar port = opts.port\n\tvar path = opts.path || '/'\n\n\t// Necessary for IPv6 addresses\n\tif (host && host.indexOf(':') !== -1)\n\t\thost = '[' + host + ']'\n\n\t// This may be a relative url. The browser should always be able to interpret it correctly.\n\topts.url = (host ? (protocol + '//' + host) : '') + (port ? ':' + port : '') + path\n\topts.method = (opts.method || 'GET').toUpperCase()\n\topts.headers = opts.headers || {}\n\n\t// Also valid opts.auth, opts.mode\n\n\tvar req = new ClientRequest(opts)\n\tif (cb)\n\t\treq.on('response', cb)\n\treturn req\n}\n\nhttp.get = function get (opts, cb) {\n\tvar req = http.request(opts, cb)\n\treq.end()\n\treturn req\n}\n\nhttp.ClientRequest = ClientRequest\nhttp.IncomingMessage = response.IncomingMessage\n\nhttp.Agent = function () {}\nhttp.Agent.defaultMaxSockets = 4\n\nhttp.globalAgent = new http.Agent()\n\nhttp.STATUS_CODES = statusCodes\n\nhttp.METHODS = [\n\t'CHECKOUT',\n\t'CONNECT',\n\t'COPY',\n\t'DELETE',\n\t'GET',\n\t'HEAD',\n\t'LOCK',\n\t'M-SEARCH',\n\t'MERGE',\n\t'MKACTIVITY',\n\t'MKCOL',\n\t'MOVE',\n\t'NOTIFY',\n\t'OPTIONS',\n\t'PATCH',\n\t'POST',\n\t'PROPFIND',\n\t'PROPPATCH',\n\t'PURGE',\n\t'PUT',\n\t'REPORT',\n\t'SEARCH',\n\t'SUBSCRIBE',\n\t'TRACE',\n\t'UNLOCK',\n\t'UNSUBSCRIBE'\n]","var capability = require('./capability')\nvar inherits = require('inherits')\nvar response = require('./response')\nvar stream = require('readable-stream')\nvar toArrayBuffer = require('to-arraybuffer')\n\nvar IncomingMessage = response.IncomingMessage\nvar rStates = response.readyStates\n\nfunction decideMode (preferBinary, useFetch) {\n\tif (capability.fetch && useFetch) {\n\t\treturn 'fetch'\n\t} else if (capability.mozchunkedarraybuffer) {\n\t\treturn 'moz-chunked-arraybuffer'\n\t} else if (capability.msstream) {\n\t\treturn 'ms-stream'\n\t} else if (capability.arraybuffer && preferBinary) {\n\t\treturn 'arraybuffer'\n\t} else if (capability.vbArray && preferBinary) {\n\t\treturn 'text:vbarray'\n\t} else {\n\t\treturn 'text'\n\t}\n}\n\nvar ClientRequest = module.exports = function (opts) {\n\tvar self = this\n\tstream.Writable.call(self)\n\n\tself._opts = opts\n\tself._body = []\n\tself._headers = {}\n\tif (opts.auth)\n\t\tself.setHeader('Authorization', 'Basic ' + new Buffer(opts.auth).toString('base64'))\n\tObject.keys(opts.headers).forEach(function (name) {\n\t\tself.setHeader(name, opts.headers[name])\n\t})\n\n\tvar preferBinary\n\tvar useFetch = true\n\tif (opts.mode === 'disable-fetch' || ('requestTimeout' in opts && !capability.abortController)) {\n\t\t// If the use of XHR should be preferred. Not typically needed.\n\t\tuseFetch = false\n\t\tpreferBinary = true\n\t} else if (opts.mode === 'prefer-streaming') {\n\t\t// If streaming is a high priority but binary compatibility and\n\t\t// the accuracy of the 'content-type' header aren't\n\t\tpreferBinary = false\n\t} else if (opts.mode === 'allow-wrong-content-type') {\n\t\t// If streaming is more important than preserving the 'content-type' header\n\t\tpreferBinary = !capability.overrideMimeType\n\t} else if (!opts.mode || opts.mode === 'default' || opts.mode === 'prefer-fast') {\n\t\t// Use binary if text streaming may corrupt data or the content-type header, or for speed\n\t\tpreferBinary = true\n\t} else {\n\t\tthrow new Error('Invalid value for opts.mode')\n\t}\n\tself._mode = decideMode(preferBinary, useFetch)\n\tself._fetchTimer = null\n\n\tself.on('finish', function () {\n\t\tself._onFinish()\n\t})\n}\n\ninherits(ClientRequest, stream.Writable)\n\nClientRequest.prototype.setHeader = function (name, value) {\n\tvar self = this\n\tvar lowerName = name.toLowerCase()\n\t// This check is not necessary, but it prevents warnings from browsers about setting unsafe\n\t// headers. To be honest I'm not entirely sure hiding these warnings is a good thing, but\n\t// http-browserify did it, so I will too.\n\tif (unsafeHeaders.indexOf(lowerName) !== -1)\n\t\treturn\n\n\tself._headers[lowerName] = {\n\t\tname: name,\n\t\tvalue: value\n\t}\n}\n\nClientRequest.prototype.getHeader = function (name) {\n\tvar header = this._headers[name.toLowerCase()]\n\tif (header)\n\t\treturn header.value\n\treturn null\n}\n\nClientRequest.prototype.removeHeader = function (name) {\n\tvar self = this\n\tdelete self._headers[name.toLowerCase()]\n}\n\nClientRequest.prototype._onFinish = function () {\n\tvar self = this\n\n\tif (self._destroyed)\n\t\treturn\n\tvar opts = self._opts\n\n\tvar headersObj = self._headers\n\tvar body = null\n\tif (opts.method !== 'GET' && opts.method !== 'HEAD') {\n\t\tif (capability.arraybuffer) {\n\t\t\tbody = toArrayBuffer(Buffer.concat(self._body))\n\t\t} else if (capability.blobConstructor) {\n\t\t\tbody = new global.Blob(self._body.map(function (buffer) {\n\t\t\t\treturn toArrayBuffer(buffer)\n\t\t\t}), {\n\t\t\t\ttype: (headersObj['content-type'] || {}).value || ''\n\t\t\t})\n\t\t} else {\n\t\t\t// get utf8 string\n\t\t\tbody = Buffer.concat(self._body).toString()\n\t\t}\n\t}\n\n\t// create flattened list of headers\n\tvar headersList = []\n\tObject.keys(headersObj).forEach(function (keyName) {\n\t\tvar name = headersObj[keyName].name\n\t\tvar value = headersObj[keyName].value\n\t\tif (Array.isArray(value)) {\n\t\t\tvalue.forEach(function (v) {\n\t\t\t\theadersList.push([name, v])\n\t\t\t})\n\t\t} else {\n\t\t\theadersList.push([name, value])\n\t\t}\n\t})\n\n\tif (self._mode === 'fetch') {\n\t\tvar signal = null\n\t\tvar fetchTimer = null\n\t\tif (capability.abortController) {\n\t\t\tvar controller = new AbortController()\n\t\t\tsignal = controller.signal\n\t\t\tself._fetchAbortController = controller\n\n\t\t\tif ('requestTimeout' in opts && opts.requestTimeout !== 0) {\n\t\t\t\tself._fetchTimer = global.setTimeout(function () {\n\t\t\t\t\tself.emit('requestTimeout')\n\t\t\t\t\tif (self._fetchAbortController)\n\t\t\t\t\t\tself._fetchAbortController.abort()\n\t\t\t\t}, opts.requestTimeout)\n\t\t\t}\n\t\t}\n\n\t\tglobal.fetch(self._opts.url, {\n\t\t\tmethod: self._opts.method,\n\t\t\theaders: headersList,\n\t\t\tbody: body || undefined,\n\t\t\tmode: 'cors',\n\t\t\tcredentials: opts.withCredentials ? 'include' : 'same-origin',\n\t\t\tsignal: signal\n\t\t}).then(function (response) {\n\t\t\tself._fetchResponse = response\n\t\t\tself._connect()\n\t\t}, function (reason) {\n\t\t\tglobal.clearTimeout(self._fetchTimer)\n\t\t\tif (!self._destroyed)\n\t\t\t\tself.emit('error', reason)\n\t\t})\n\t} else {\n\t\tvar xhr = self._xhr = new global.XMLHttpRequest()\n\t\ttry {\n\t\t\txhr.open(self._opts.method, self._opts.url, true)\n\t\t} catch (err) {\n\t\t\tprocess.nextTick(function () {\n\t\t\t\tself.emit('error', err)\n\t\t\t})\n\t\t\treturn\n\t\t}\n\n\t\t// Can't set responseType on really old browsers\n\t\tif ('responseType' in xhr)\n\t\t\txhr.responseType = self._mode.split(':')[0]\n\n\t\tif ('withCredentials' in xhr)\n\t\t\txhr.withCredentials = !!opts.withCredentials\n\n\t\tif (self._mode === 'text' && 'overrideMimeType' in xhr)\n\t\t\txhr.overrideMimeType('text/plain; charset=x-user-defined')\n\n\t\tif ('requestTimeout' in opts) {\n\t\t\txhr.timeout = opts.requestTimeout\n\t\t\txhr.ontimeout = function () {\n\t\t\t\tself.emit('requestTimeout')\n\t\t\t}\n\t\t}\n\n\t\theadersList.forEach(function (header) {\n\t\t\txhr.setRequestHeader(header[0], header[1])\n\t\t})\n\n\t\tself._response = null\n\t\txhr.onreadystatechange = function () {\n\t\t\tswitch (xhr.readyState) {\n\t\t\t\tcase rStates.LOADING:\n\t\t\t\tcase rStates.DONE:\n\t\t\t\t\tself._onXHRProgress()\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\t// Necessary for streaming in Firefox, since xhr.response is ONLY defined\n\t\t// in onprogress, not in onreadystatechange with xhr.readyState = 3\n\t\tif (self._mode === 'moz-chunked-arraybuffer') {\n\t\t\txhr.onprogress = function () {\n\t\t\t\tself._onXHRProgress()\n\t\t\t}\n\t\t}\n\n\t\txhr.onerror = function () {\n\t\t\tif (self._destroyed)\n\t\t\t\treturn\n\t\t\tself.emit('error', new Error('XHR error'))\n\t\t}\n\n\t\ttry {\n\t\t\txhr.send(body)\n\t\t} catch (err) {\n\t\t\tprocess.nextTick(function () {\n\t\t\t\tself.emit('error', err)\n\t\t\t})\n\t\t\treturn\n\t\t}\n\t}\n}\n\n/**\n * Checks if xhr.status is readable and non-zero, indicating no error.\n * Even though the spec says it should be available in readyState 3,\n * accessing it throws an exception in IE8\n */\nfunction statusValid (xhr) {\n\ttry {\n\t\tvar status = xhr.status\n\t\treturn (status !== null && status !== 0)\n\t} catch (e) {\n\t\treturn false\n\t}\n}\n\nClientRequest.prototype._onXHRProgress = function () {\n\tvar self = this\n\n\tif (!statusValid(self._xhr) || self._destroyed)\n\t\treturn\n\n\tif (!self._response)\n\t\tself._connect()\n\n\tself._response._onXHRProgress()\n}\n\nClientRequest.prototype._connect = function () {\n\tvar self = this\n\n\tif (self._destroyed)\n\t\treturn\n\n\tself._response = new IncomingMessage(self._xhr, self._fetchResponse, self._mode, self._fetchTimer)\n\tself._response.on('error', function(err) {\n\t\tself.emit('error', err)\n\t})\n\n\tself.emit('response', self._response)\n}\n\nClientRequest.prototype._write = function (chunk, encoding, cb) {\n\tvar self = this\n\n\tself._body.push(chunk)\n\tcb()\n}\n\nClientRequest.prototype.abort = ClientRequest.prototype.destroy = function () {\n\tvar self = this\n\tself._destroyed = true\n\tglobal.clearTimeout(self._fetchTimer)\n\tif (self._response)\n\t\tself._response._destroyed = true\n\tif (self._xhr)\n\t\tself._xhr.abort()\n\telse if (self._fetchAbortController)\n\t\tself._fetchAbortController.abort()\n}\n\nClientRequest.prototype.end = function (data, encoding, cb) {\n\tvar self = this\n\tif (typeof data === 'function') {\n\t\tcb = data\n\t\tdata = undefined\n\t}\n\n\tstream.Writable.prototype.end.call(self, data, encoding, cb)\n}\n\nClientRequest.prototype.flushHeaders = function () {}\nClientRequest.prototype.setTimeout = function () {}\nClientRequest.prototype.setNoDelay = function () {}\nClientRequest.prototype.setSocketKeepAlive = function () {}\n\n// Taken from http://www.w3.org/TR/XMLHttpRequest/#the-setrequestheader%28%29-method\nvar unsafeHeaders = [\n\t'accept-charset',\n\t'accept-encoding',\n\t'access-control-request-headers',\n\t'access-control-request-method',\n\t'connection',\n\t'content-length',\n\t'cookie',\n\t'cookie2',\n\t'date',\n\t'dnt',\n\t'expect',\n\t'host',\n\t'keep-alive',\n\t'origin',\n\t'referer',\n\t'te',\n\t'trailer',\n\t'transfer-encoding',\n\t'upgrade',\n\t'via'\n]\n","module.exports = require(\"base64-js\");","module.exports = require(\"ieee754\");","module.exports = require(\"isarray\");","module.exports = require(\"to-arraybuffer\");","module.exports = require(\"xtend\");","module.exports = require(\"builtin-status-codes\");","module.exports = require(\"prismjs/components/prism-bash.js\");","module.exports = require(\"prismjs/components/prism-c.js\");","module.exports = require(\"prismjs/components/prism-clike.js\");","module.exports = require(\"prismjs/components/prism-coffeescript.js\");","module.exports = require(\"prismjs/components/prism-cpp.js\");","module.exports = require(\"prismjs/components/prism-csharp.js\");","module.exports = require(\"prismjs/components/prism-go.js\");","module.exports = require(\"prismjs/components/prism-http.js\");","module.exports = require(\"prismjs/components/prism-java.js\");","module.exports = require(\"prismjs/components/prism-lua.js\");","module.exports = require(\"prismjs/components/prism-markup-templating.js\");","module.exports = require(\"prismjs/components/prism-markup.js\");","module.exports = require(\"prismjs/components/prism-objectivec.js\");","module.exports = require(\"prismjs/components/prism-perl.js\");","module.exports = require(\"prismjs/components/prism-php.js\");","module.exports = require(\"prismjs/components/prism-python.js\");","module.exports = require(\"prismjs/components/prism-ruby.js\");","module.exports = require(\"prismjs/components/prism-scala.js\");","module.exports = require(\"prismjs/components/prism-sql.js\");","module.exports = require(\"prismjs/components/prism-swift.js\");","\n\t\t\t\tvar addMethods = require(\"../../node_modules/workerize-loader/dist/rpc-wrapper.js\")\n\t\t\t\tvar methods = [\"add\",\"done\",\"toJS\",\"fromExternalJS\",\"load\",\"dispose\",\"search\"]\n\t\t\t\tmodule.exports = function() {\n\t\t\t\t\tvar w = new Worker(URL.createObjectURL(new Blob([\"/*!\\n * ReDoc - OpenAPI/Swagger-generated API Reference Documentation\\n * -------------------------------------------------------------\\n * Version: \\\"2.0.0-rc.47\\\"\\n * Repo: https://github.com/Redocly/redoc\\n */\\n/******/ (function(modules) { // webpackBootstrap\\n/******/ \\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 = 100);\\n/******/ })\\n/************************************************************************/\\n/******/ ([\\n/* 0 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n/* WEBPACK VAR INJECTION */(function(global) {var check = function (it) {\\n return it && it.Math == Math && it;\\n};\\n\\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\\nmodule.exports =\\n // eslint-disable-next-line no-undef\\n check(typeof globalThis == 'object' && globalThis) ||\\n check(typeof window == 'object' && window) ||\\n check(typeof self == 'object' && self) ||\\n check(typeof global == 'object' && global) ||\\n // eslint-disable-next-line no-new-func\\n (function () { return this; })() || Function('return this')();\\n\\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(61)))\\n\\n/***/ }),\\n/* 1 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar global = __webpack_require__(0);\\nvar shared = __webpack_require__(40);\\nvar has = __webpack_require__(2);\\nvar uid = __webpack_require__(41);\\nvar NATIVE_SYMBOL = __webpack_require__(48);\\nvar USE_SYMBOL_AS_UID = __webpack_require__(77);\\n\\nvar WellKnownSymbolsStore = shared('wks');\\nvar Symbol = global.Symbol;\\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\\n\\nmodule.exports = function (name) {\\n if (!has(WellKnownSymbolsStore, name)) {\\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\\n } return WellKnownSymbolsStore[name];\\n};\\n\\n\\n/***/ }),\\n/* 2 */\\n/***/ (function(module, exports) {\\n\\nvar hasOwnProperty = {}.hasOwnProperty;\\n\\nmodule.exports = function (it, key) {\\n return hasOwnProperty.call(it, key);\\n};\\n\\n\\n/***/ }),\\n/* 3 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar isObject = __webpack_require__(7);\\n\\nmodule.exports = function (it) {\\n if (!isObject(it)) {\\n throw TypeError(String(it) + ' is not an object');\\n } return it;\\n};\\n\\n\\n/***/ }),\\n/* 4 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\\n * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.8\\n * Copyright (C) 2019 Oliver Nightingale\\n * @license MIT\\n */\\n\\n;(function(){\\n\\n/**\\n * A convenience function for configuring and constructing\\n * a new lunr Index.\\n *\\n * A lunr.Builder instance is created and the pipeline setup\\n * with a trimmer, stop word filter and stemmer.\\n *\\n * This builder object is yielded to the configuration function\\n * that is passed as a parameter, allowing the list of fields\\n * and other builder parameters to be customised.\\n *\\n * All documents _must_ be added within the passed config function.\\n *\\n * @example\\n * var idx = lunr(function () {\\n * this.field('title')\\n * this.field('body')\\n * this.ref('id')\\n *\\n * documents.forEach(function (doc) {\\n * this.add(doc)\\n * }, this)\\n * })\\n *\\n * @see {@link lunr.Builder}\\n * @see {@link lunr.Pipeline}\\n * @see {@link lunr.trimmer}\\n * @see {@link lunr.stopWordFilter}\\n * @see {@link lunr.stemmer}\\n * @namespace {function} lunr\\n */\\nvar lunr = function (config) {\\n var builder = new lunr.Builder\\n\\n builder.pipeline.add(\\n lunr.trimmer,\\n lunr.stopWordFilter,\\n lunr.stemmer\\n )\\n\\n builder.searchPipeline.add(\\n lunr.stemmer\\n )\\n\\n config.call(builder, builder)\\n return builder.build()\\n}\\n\\nlunr.version = \\\"2.3.8\\\"\\n/*!\\n * lunr.utils\\n * Copyright (C) 2019 Oliver Nightingale\\n */\\n\\n/**\\n * A namespace containing utils for the rest of the lunr library\\n * @namespace lunr.utils\\n */\\nlunr.utils = {}\\n\\n/**\\n * Print a warning message to the console.\\n *\\n * @param {String} message The message to be printed.\\n * @memberOf lunr.utils\\n * @function\\n */\\nlunr.utils.warn = (function (global) {\\n /* eslint-disable no-console */\\n return function (message) {\\n if (global.console && console.warn) {\\n console.warn(message)\\n }\\n }\\n /* eslint-enable no-console */\\n})(this)\\n\\n/**\\n * Convert an object to a string.\\n *\\n * In the case of `null` and `undefined` the function returns\\n * the empty string, in all other cases the result of calling\\n * `toString` on the passed object is returned.\\n *\\n * @param {Any} obj The object to convert to a string.\\n * @return {String} string representation of the passed object.\\n * @memberOf lunr.utils\\n */\\nlunr.utils.asString = function (obj) {\\n if (obj === void 0 || obj === null) {\\n return \\\"\\\"\\n } else {\\n return obj.toString()\\n }\\n}\\n\\n/**\\n * Clones an object.\\n *\\n * Will create a copy of an existing object such that any mutations\\n * on the copy cannot affect the original.\\n *\\n * Only shallow objects are supported, passing a nested object to this\\n * function will cause a TypeError.\\n *\\n * Objects with primitives, and arrays of primitives are supported.\\n *\\n * @param {Object} obj The object to clone.\\n * @return {Object} a clone of the passed object.\\n * @throws {TypeError} when a nested object is passed.\\n * @memberOf Utils\\n */\\nlunr.utils.clone = function (obj) {\\n if (obj === null || obj === undefined) {\\n return obj\\n }\\n\\n var clone = Object.create(null),\\n keys = Object.keys(obj)\\n\\n for (var i = 0; i < keys.length; i++) {\\n var key = keys[i],\\n val = obj[key]\\n\\n if (Array.isArray(val)) {\\n clone[key] = val.slice()\\n continue\\n }\\n\\n if (typeof val === 'string' ||\\n typeof val === 'number' ||\\n typeof val === 'boolean') {\\n clone[key] = val\\n continue\\n }\\n\\n throw new TypeError(\\\"clone is not deep and does not support nested objects\\\")\\n }\\n\\n return clone\\n}\\nlunr.FieldRef = function (docRef, fieldName, stringValue) {\\n this.docRef = docRef\\n this.fieldName = fieldName\\n this._stringValue = stringValue\\n}\\n\\nlunr.FieldRef.joiner = \\\"/\\\"\\n\\nlunr.FieldRef.fromString = function (s) {\\n var n = s.indexOf(lunr.FieldRef.joiner)\\n\\n if (n === -1) {\\n throw \\\"malformed field ref string\\\"\\n }\\n\\n var fieldRef = s.slice(0, n),\\n docRef = s.slice(n + 1)\\n\\n return new lunr.FieldRef (docRef, fieldRef, s)\\n}\\n\\nlunr.FieldRef.prototype.toString = function () {\\n if (this._stringValue == undefined) {\\n this._stringValue = this.fieldName + lunr.FieldRef.joiner + this.docRef\\n }\\n\\n return this._stringValue\\n}\\n/*!\\n * lunr.Set\\n * Copyright (C) 2019 Oliver Nightingale\\n */\\n\\n/**\\n * A lunr set.\\n *\\n * @constructor\\n */\\nlunr.Set = function (elements) {\\n this.elements = Object.create(null)\\n\\n if (elements) {\\n this.length = elements.length\\n\\n for (var i = 0; i < this.length; i++) {\\n this.elements[elements[i]] = true\\n }\\n } else {\\n this.length = 0\\n }\\n}\\n\\n/**\\n * A complete set that contains all elements.\\n *\\n * @static\\n * @readonly\\n * @type {lunr.Set}\\n */\\nlunr.Set.complete = {\\n intersect: function (other) {\\n return other\\n },\\n\\n union: function (other) {\\n return other\\n },\\n\\n contains: function () {\\n return true\\n }\\n}\\n\\n/**\\n * An empty set that contains no elements.\\n *\\n * @static\\n * @readonly\\n * @type {lunr.Set}\\n */\\nlunr.Set.empty = {\\n intersect: function () {\\n return this\\n },\\n\\n union: function (other) {\\n return other\\n },\\n\\n contains: function () {\\n return false\\n }\\n}\\n\\n/**\\n * Returns true if this set contains the specified object.\\n *\\n * @param {object} object - Object whose presence in this set is to be tested.\\n * @returns {boolean} - True if this set contains the specified object.\\n */\\nlunr.Set.prototype.contains = function (object) {\\n return !!this.elements[object]\\n}\\n\\n/**\\n * Returns a new set containing only the elements that are present in both\\n * this set and the specified set.\\n *\\n * @param {lunr.Set} other - set to intersect with this set.\\n * @returns {lunr.Set} a new set that is the intersection of this and the specified set.\\n */\\n\\nlunr.Set.prototype.intersect = function (other) {\\n var a, b, elements, intersection = []\\n\\n if (other === lunr.Set.complete) {\\n return this\\n }\\n\\n if (other === lunr.Set.empty) {\\n return other\\n }\\n\\n if (this.length < other.length) {\\n a = this\\n b = other\\n } else {\\n a = other\\n b = this\\n }\\n\\n elements = Object.keys(a.elements)\\n\\n for (var i = 0; i < elements.length; i++) {\\n var element = elements[i]\\n if (element in b.elements) {\\n intersection.push(element)\\n }\\n }\\n\\n return new lunr.Set (intersection)\\n}\\n\\n/**\\n * Returns a new set combining the elements of this and the specified set.\\n *\\n * @param {lunr.Set} other - set to union with this set.\\n * @return {lunr.Set} a new set that is the union of this and the specified set.\\n */\\n\\nlunr.Set.prototype.union = function (other) {\\n if (other === lunr.Set.complete) {\\n return lunr.Set.complete\\n }\\n\\n if (other === lunr.Set.empty) {\\n return this\\n }\\n\\n return new lunr.Set(Object.keys(this.elements).concat(Object.keys(other.elements)))\\n}\\n/**\\n * A function to calculate the inverse document frequency for\\n * a posting. This is shared between the builder and the index\\n *\\n * @private\\n * @param {object} posting - The posting for a given term\\n * @param {number} documentCount - The total number of documents.\\n */\\nlunr.idf = function (posting, documentCount) {\\n var documentsWithTerm = 0\\n\\n for (var fieldName in posting) {\\n if (fieldName == '_index') continue // Ignore the term index, its not a field\\n documentsWithTerm += Object.keys(posting[fieldName]).length\\n }\\n\\n var x = (documentCount - documentsWithTerm + 0.5) / (documentsWithTerm + 0.5)\\n\\n return Math.log(1 + Math.abs(x))\\n}\\n\\n/**\\n * A token wraps a string representation of a token\\n * as it is passed through the text processing pipeline.\\n *\\n * @constructor\\n * @param {string} [str=''] - The string token being wrapped.\\n * @param {object} [metadata={}] - Metadata associated with this token.\\n */\\nlunr.Token = function (str, metadata) {\\n this.str = str || \\\"\\\"\\n this.metadata = metadata || {}\\n}\\n\\n/**\\n * Returns the token string that is being wrapped by this object.\\n *\\n * @returns {string}\\n */\\nlunr.Token.prototype.toString = function () {\\n return this.str\\n}\\n\\n/**\\n * A token update function is used when updating or optionally\\n * when cloning a token.\\n *\\n * @callback lunr.Token~updateFunction\\n * @param {string} str - The string representation of the token.\\n * @param {Object} metadata - All metadata associated with this token.\\n */\\n\\n/**\\n * Applies the given function to the wrapped string token.\\n *\\n * @example\\n * token.update(function (str, metadata) {\\n * return str.toUpperCase()\\n * })\\n *\\n * @param {lunr.Token~updateFunction} fn - A function to apply to the token string.\\n * @returns {lunr.Token}\\n */\\nlunr.Token.prototype.update = function (fn) {\\n this.str = fn(this.str, this.metadata)\\n return this\\n}\\n\\n/**\\n * Creates a clone of this token. Optionally a function can be\\n * applied to the cloned token.\\n *\\n * @param {lunr.Token~updateFunction} [fn] - An optional function to apply to the cloned token.\\n * @returns {lunr.Token}\\n */\\nlunr.Token.prototype.clone = function (fn) {\\n fn = fn || function (s) { return s }\\n return new lunr.Token (fn(this.str, this.metadata), this.metadata)\\n}\\n/*!\\n * lunr.tokenizer\\n * Copyright (C) 2019 Oliver Nightingale\\n */\\n\\n/**\\n * A function for splitting a string into tokens ready to be inserted into\\n * the search index. Uses `lunr.tokenizer.separator` to split strings, change\\n * the value of this property to change how strings are split into tokens.\\n *\\n * This tokenizer will convert its parameter to a string by calling `toString` and\\n * then will split this string on the character in `lunr.tokenizer.separator`.\\n * Arrays will have their elements converted to strings and wrapped in a lunr.Token.\\n *\\n * Optional metadata can be passed to the tokenizer, this metadata will be cloned and\\n * added as metadata to every token that is created from the object to be tokenized.\\n *\\n * @static\\n * @param {?(string|object|object[])} obj - The object to convert into tokens\\n * @param {?object} metadata - Optional metadata to associate with every token\\n * @returns {lunr.Token[]}\\n * @see {@link lunr.Pipeline}\\n */\\nlunr.tokenizer = function (obj, metadata) {\\n if (obj == null || obj == undefined) {\\n return []\\n }\\n\\n if (Array.isArray(obj)) {\\n return obj.map(function (t) {\\n return new lunr.Token(\\n lunr.utils.asString(t).toLowerCase(),\\n lunr.utils.clone(metadata)\\n )\\n })\\n }\\n\\n var str = obj.toString().toLowerCase(),\\n len = str.length,\\n tokens = []\\n\\n for (var sliceEnd = 0, sliceStart = 0; sliceEnd <= len; sliceEnd++) {\\n var char = str.charAt(sliceEnd),\\n sliceLength = sliceEnd - sliceStart\\n\\n if ((char.match(lunr.tokenizer.separator) || sliceEnd == len)) {\\n\\n if (sliceLength > 0) {\\n var tokenMetadata = lunr.utils.clone(metadata) || {}\\n tokenMetadata[\\\"position\\\"] = [sliceStart, sliceLength]\\n tokenMetadata[\\\"index\\\"] = tokens.length\\n\\n tokens.push(\\n new lunr.Token (\\n str.slice(sliceStart, sliceEnd),\\n tokenMetadata\\n )\\n )\\n }\\n\\n sliceStart = sliceEnd + 1\\n }\\n\\n }\\n\\n return tokens\\n}\\n\\n/**\\n * The separator used to split a string into tokens. Override this property to change the behaviour of\\n * `lunr.tokenizer` behaviour when tokenizing strings. By default this splits on whitespace and hyphens.\\n *\\n * @static\\n * @see lunr.tokenizer\\n */\\nlunr.tokenizer.separator = /[\\\\s\\\\-]+/\\n/*!\\n * lunr.Pipeline\\n * Copyright (C) 2019 Oliver Nightingale\\n */\\n\\n/**\\n * lunr.Pipelines maintain an ordered list of functions to be applied to all\\n * tokens in documents entering the search index and queries being ran against\\n * the index.\\n *\\n * An instance of lunr.Index created with the lunr shortcut will contain a\\n * pipeline with a stop word filter and an English language stemmer. Extra\\n * functions can be added before or after either of these functions or these\\n * default functions can be removed.\\n *\\n * When run the pipeline will call each function in turn, passing a token, the\\n * index of that token in the original list of all tokens and finally a list of\\n * all the original tokens.\\n *\\n * The output of functions in the pipeline will be passed to the next function\\n * in the pipeline. To exclude a token from entering the index the function\\n * should return undefined, the rest of the pipeline will not be called with\\n * this token.\\n *\\n * For serialisation of pipelines to work, all functions used in an instance of\\n * a pipeline should be registered with lunr.Pipeline. Registered functions can\\n * then be loaded. If trying to load a serialised pipeline that uses functions\\n * that are not registered an error will be thrown.\\n *\\n * If not planning on serialising the pipeline then registering pipeline functions\\n * is not necessary.\\n *\\n * @constructor\\n */\\nlunr.Pipeline = function () {\\n this._stack = []\\n}\\n\\nlunr.Pipeline.registeredFunctions = Object.create(null)\\n\\n/**\\n * A pipeline function maps lunr.Token to lunr.Token. A lunr.Token contains the token\\n * string as well as all known metadata. A pipeline function can mutate the token string\\n * or mutate (or add) metadata for a given token.\\n *\\n * A pipeline function can indicate that the passed token should be discarded by returning\\n * null, undefined or an empty string. This token will not be passed to any downstream pipeline\\n * functions and will not be added to the index.\\n *\\n * Multiple tokens can be returned by returning an array of tokens. Each token will be passed\\n * to any downstream pipeline functions and all will returned tokens will be added to the index.\\n *\\n * Any number of pipeline functions may be chained together using a lunr.Pipeline.\\n *\\n * @interface lunr.PipelineFunction\\n * @param {lunr.Token} token - A token from the document being processed.\\n * @param {number} i - The index of this token in the complete list of tokens for this document/field.\\n * @param {lunr.Token[]} tokens - All tokens for this document/field.\\n * @returns {(?lunr.Token|lunr.Token[])}\\n */\\n\\n/**\\n * Register a function with the pipeline.\\n *\\n * Functions that are used in the pipeline should be registered if the pipeline\\n * needs to be serialised, or a serialised pipeline needs to be loaded.\\n *\\n * Registering a function does not add it to a pipeline, functions must still be\\n * added to instances of the pipeline for them to be used when running a pipeline.\\n *\\n * @param {lunr.PipelineFunction} fn - The function to check for.\\n * @param {String} label - The label to register this function with\\n */\\nlunr.Pipeline.registerFunction = function (fn, label) {\\n if (label in this.registeredFunctions) {\\n lunr.utils.warn('Overwriting existing registered function: ' + label)\\n }\\n\\n fn.label = label\\n lunr.Pipeline.registeredFunctions[fn.label] = fn\\n}\\n\\n/**\\n * Warns if the function is not registered as a Pipeline function.\\n *\\n * @param {lunr.PipelineFunction} fn - The function to check for.\\n * @private\\n */\\nlunr.Pipeline.warnIfFunctionNotRegistered = function (fn) {\\n var isRegistered = fn.label && (fn.label in this.registeredFunctions)\\n\\n if (!isRegistered) {\\n lunr.utils.warn('Function is not registered with pipeline. This may cause problems when serialising the index.\\\\n', fn)\\n }\\n}\\n\\n/**\\n * Loads a previously serialised pipeline.\\n *\\n * All functions to be loaded must already be registered with lunr.Pipeline.\\n * If any function from the serialised data has not been registered then an\\n * error will be thrown.\\n *\\n * @param {Object} serialised - The serialised pipeline to load.\\n * @returns {lunr.Pipeline}\\n */\\nlunr.Pipeline.load = function (serialised) {\\n var pipeline = new lunr.Pipeline\\n\\n serialised.forEach(function (fnName) {\\n var fn = lunr.Pipeline.registeredFunctions[fnName]\\n\\n if (fn) {\\n pipeline.add(fn)\\n } else {\\n throw new Error('Cannot load unregistered function: ' + fnName)\\n }\\n })\\n\\n return pipeline\\n}\\n\\n/**\\n * Adds new functions to the end of the pipeline.\\n *\\n * Logs a warning if the function has not been registered.\\n *\\n * @param {lunr.PipelineFunction[]} functions - Any number of functions to add to the pipeline.\\n */\\nlunr.Pipeline.prototype.add = function () {\\n var fns = Array.prototype.slice.call(arguments)\\n\\n fns.forEach(function (fn) {\\n lunr.Pipeline.warnIfFunctionNotRegistered(fn)\\n this._stack.push(fn)\\n }, this)\\n}\\n\\n/**\\n * Adds a single function after a function that already exists in the\\n * pipeline.\\n *\\n * Logs a warning if the function has not been registered.\\n *\\n * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline.\\n * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline.\\n */\\nlunr.Pipeline.prototype.after = function (existingFn, newFn) {\\n lunr.Pipeline.warnIfFunctionNotRegistered(newFn)\\n\\n var pos = this._stack.indexOf(existingFn)\\n if (pos == -1) {\\n throw new Error('Cannot find existingFn')\\n }\\n\\n pos = pos + 1\\n this._stack.splice(pos, 0, newFn)\\n}\\n\\n/**\\n * Adds a single function before a function that already exists in the\\n * pipeline.\\n *\\n * Logs a warning if the function has not been registered.\\n *\\n * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline.\\n * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline.\\n */\\nlunr.Pipeline.prototype.before = function (existingFn, newFn) {\\n lunr.Pipeline.warnIfFunctionNotRegistered(newFn)\\n\\n var pos = this._stack.indexOf(existingFn)\\n if (pos == -1) {\\n throw new Error('Cannot find existingFn')\\n }\\n\\n this._stack.splice(pos, 0, newFn)\\n}\\n\\n/**\\n * Removes a function from the pipeline.\\n *\\n * @param {lunr.PipelineFunction} fn The function to remove from the pipeline.\\n */\\nlunr.Pipeline.prototype.remove = function (fn) {\\n var pos = this._stack.indexOf(fn)\\n if (pos == -1) {\\n return\\n }\\n\\n this._stack.splice(pos, 1)\\n}\\n\\n/**\\n * Runs the current list of functions that make up the pipeline against the\\n * passed tokens.\\n *\\n * @param {Array} tokens The tokens to run through the pipeline.\\n * @returns {Array}\\n */\\nlunr.Pipeline.prototype.run = function (tokens) {\\n var stackLength = this._stack.length\\n\\n for (var i = 0; i < stackLength; i++) {\\n var fn = this._stack[i]\\n var memo = []\\n\\n for (var j = 0; j < tokens.length; j++) {\\n var result = fn(tokens[j], j, tokens)\\n\\n if (result === null || result === void 0 || result === '') continue\\n\\n if (Array.isArray(result)) {\\n for (var k = 0; k < result.length; k++) {\\n memo.push(result[k])\\n }\\n } else {\\n memo.push(result)\\n }\\n }\\n\\n tokens = memo\\n }\\n\\n return tokens\\n}\\n\\n/**\\n * Convenience method for passing a string through a pipeline and getting\\n * strings out. This method takes care of wrapping the passed string in a\\n * token and mapping the resulting tokens back to strings.\\n *\\n * @param {string} str - The string to pass through the pipeline.\\n * @param {?object} metadata - Optional metadata to associate with the token\\n * passed to the pipeline.\\n * @returns {string[]}\\n */\\nlunr.Pipeline.prototype.runString = function (str, metadata) {\\n var token = new lunr.Token (str, metadata)\\n\\n return this.run([token]).map(function (t) {\\n return t.toString()\\n })\\n}\\n\\n/**\\n * Resets the pipeline by removing any existing processors.\\n *\\n */\\nlunr.Pipeline.prototype.reset = function () {\\n this._stack = []\\n}\\n\\n/**\\n * Returns a representation of the pipeline ready for serialisation.\\n *\\n * Logs a warning if the function has not been registered.\\n *\\n * @returns {Array}\\n */\\nlunr.Pipeline.prototype.toJSON = function () {\\n return this._stack.map(function (fn) {\\n lunr.Pipeline.warnIfFunctionNotRegistered(fn)\\n\\n return fn.label\\n })\\n}\\n/*!\\n * lunr.Vector\\n * Copyright (C) 2019 Oliver Nightingale\\n */\\n\\n/**\\n * A vector is used to construct the vector space of documents and queries. These\\n * vectors support operations to determine the similarity between two documents or\\n * a document and a query.\\n *\\n * Normally no parameters are required for initializing a vector, but in the case of\\n * loading a previously dumped vector the raw elements can be provided to the constructor.\\n *\\n * For performance reasons vectors are implemented with a flat array, where an elements\\n * index is immediately followed by its value. E.g. [index, value, index, value]. This\\n * allows the underlying array to be as sparse as possible and still offer decent\\n * performance when being used for vector calculations.\\n *\\n * @constructor\\n * @param {Number[]} [elements] - The flat list of element index and element value pairs.\\n */\\nlunr.Vector = function (elements) {\\n this._magnitude = 0\\n this.elements = elements || []\\n}\\n\\n\\n/**\\n * Calculates the position within the vector to insert a given index.\\n *\\n * This is used internally by insert and upsert. If there are duplicate indexes then\\n * the position is returned as if the value for that index were to be updated, but it\\n * is the callers responsibility to check whether there is a duplicate at that index\\n *\\n * @param {Number} insertIdx - The index at which the element should be inserted.\\n * @returns {Number}\\n */\\nlunr.Vector.prototype.positionForIndex = function (index) {\\n // For an empty vector the tuple can be inserted at the beginning\\n if (this.elements.length == 0) {\\n return 0\\n }\\n\\n var start = 0,\\n end = this.elements.length / 2,\\n sliceLength = end - start,\\n pivotPoint = Math.floor(sliceLength / 2),\\n pivotIndex = this.elements[pivotPoint * 2]\\n\\n while (sliceLength > 1) {\\n if (pivotIndex < index) {\\n start = pivotPoint\\n }\\n\\n if (pivotIndex > index) {\\n end = pivotPoint\\n }\\n\\n if (pivotIndex == index) {\\n break\\n }\\n\\n sliceLength = end - start\\n pivotPoint = start + Math.floor(sliceLength / 2)\\n pivotIndex = this.elements[pivotPoint * 2]\\n }\\n\\n if (pivotIndex == index) {\\n return pivotPoint * 2\\n }\\n\\n if (pivotIndex > index) {\\n return pivotPoint * 2\\n }\\n\\n if (pivotIndex < index) {\\n return (pivotPoint + 1) * 2\\n }\\n}\\n\\n/**\\n * Inserts an element at an index within the vector.\\n *\\n * Does not allow duplicates, will throw an error if there is already an entry\\n * for this index.\\n *\\n * @param {Number} insertIdx - The index at which the element should be inserted.\\n * @param {Number} val - The value to be inserted into the vector.\\n */\\nlunr.Vector.prototype.insert = function (insertIdx, val) {\\n this.upsert(insertIdx, val, function () {\\n throw \\\"duplicate index\\\"\\n })\\n}\\n\\n/**\\n * Inserts or updates an existing index within the vector.\\n *\\n * @param {Number} insertIdx - The index at which the element should be inserted.\\n * @param {Number} val - The value to be inserted into the vector.\\n * @param {function} fn - A function that is called for updates, the existing value and the\\n * requested value are passed as arguments\\n */\\nlunr.Vector.prototype.upsert = function (insertIdx, val, fn) {\\n this._magnitude = 0\\n var position = this.positionForIndex(insertIdx)\\n\\n if (this.elements[position] == insertIdx) {\\n this.elements[position + 1] = fn(this.elements[position + 1], val)\\n } else {\\n this.elements.splice(position, 0, insertIdx, val)\\n }\\n}\\n\\n/**\\n * Calculates the magnitude of this vector.\\n *\\n * @returns {Number}\\n */\\nlunr.Vector.prototype.magnitude = function () {\\n if (this._magnitude) return this._magnitude\\n\\n var sumOfSquares = 0,\\n elementsLength = this.elements.length\\n\\n for (var i = 1; i < elementsLength; i += 2) {\\n var val = this.elements[i]\\n sumOfSquares += val * val\\n }\\n\\n return this._magnitude = Math.sqrt(sumOfSquares)\\n}\\n\\n/**\\n * Calculates the dot product of this vector and another vector.\\n *\\n * @param {lunr.Vector} otherVector - The vector to compute the dot product with.\\n * @returns {Number}\\n */\\nlunr.Vector.prototype.dot = function (otherVector) {\\n var dotProduct = 0,\\n a = this.elements, b = otherVector.elements,\\n aLen = a.length, bLen = b.length,\\n aVal = 0, bVal = 0,\\n i = 0, j = 0\\n\\n while (i < aLen && j < bLen) {\\n aVal = a[i], bVal = b[j]\\n if (aVal < bVal) {\\n i += 2\\n } else if (aVal > bVal) {\\n j += 2\\n } else if (aVal == bVal) {\\n dotProduct += a[i + 1] * b[j + 1]\\n i += 2\\n j += 2\\n }\\n }\\n\\n return dotProduct\\n}\\n\\n/**\\n * Calculates the similarity between this vector and another vector.\\n *\\n * @param {lunr.Vector} otherVector - The other vector to calculate the\\n * similarity with.\\n * @returns {Number}\\n */\\nlunr.Vector.prototype.similarity = function (otherVector) {\\n return this.dot(otherVector) / this.magnitude() || 0\\n}\\n\\n/**\\n * Converts the vector to an array of the elements within the vector.\\n *\\n * @returns {Number[]}\\n */\\nlunr.Vector.prototype.toArray = function () {\\n var output = new Array (this.elements.length / 2)\\n\\n for (var i = 1, j = 0; i < this.elements.length; i += 2, j++) {\\n output[j] = this.elements[i]\\n }\\n\\n return output\\n}\\n\\n/**\\n * A JSON serializable representation of the vector.\\n *\\n * @returns {Number[]}\\n */\\nlunr.Vector.prototype.toJSON = function () {\\n return this.elements\\n}\\n/* eslint-disable */\\n/*!\\n * lunr.stemmer\\n * Copyright (C) 2019 Oliver Nightingale\\n * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt\\n */\\n\\n/**\\n * lunr.stemmer is an english language stemmer, this is a JavaScript\\n * implementation of the PorterStemmer taken from http://tartarus.org/~martin\\n *\\n * @static\\n * @implements {lunr.PipelineFunction}\\n * @param {lunr.Token} token - The string to stem\\n * @returns {lunr.Token}\\n * @see {@link lunr.Pipeline}\\n * @function\\n */\\nlunr.stemmer = (function(){\\n var step2list = {\\n \\\"ational\\\" : \\\"ate\\\",\\n \\\"tional\\\" : \\\"tion\\\",\\n \\\"enci\\\" : \\\"ence\\\",\\n \\\"anci\\\" : \\\"ance\\\",\\n \\\"izer\\\" : \\\"ize\\\",\\n \\\"bli\\\" : \\\"ble\\\",\\n \\\"alli\\\" : \\\"al\\\",\\n \\\"entli\\\" : \\\"ent\\\",\\n \\\"eli\\\" : \\\"e\\\",\\n \\\"ousli\\\" : \\\"ous\\\",\\n \\\"ization\\\" : \\\"ize\\\",\\n \\\"ation\\\" : \\\"ate\\\",\\n \\\"ator\\\" : \\\"ate\\\",\\n \\\"alism\\\" : \\\"al\\\",\\n \\\"iveness\\\" : \\\"ive\\\",\\n \\\"fulness\\\" : \\\"ful\\\",\\n \\\"ousness\\\" : \\\"ous\\\",\\n \\\"aliti\\\" : \\\"al\\\",\\n \\\"iviti\\\" : \\\"ive\\\",\\n \\\"biliti\\\" : \\\"ble\\\",\\n \\\"logi\\\" : \\\"log\\\"\\n },\\n\\n step3list = {\\n \\\"icate\\\" : \\\"ic\\\",\\n \\\"ative\\\" : \\\"\\\",\\n \\\"alize\\\" : \\\"al\\\",\\n \\\"iciti\\\" : \\\"ic\\\",\\n \\\"ical\\\" : \\\"ic\\\",\\n \\\"ful\\\" : \\\"\\\",\\n \\\"ness\\\" : \\\"\\\"\\n },\\n\\n c = \\\"[^aeiou]\\\", // consonant\\n v = \\\"[aeiouy]\\\", // vowel\\n C = c + \\\"[^aeiouy]*\\\", // consonant sequence\\n V = v + \\\"[aeiou]*\\\", // vowel sequence\\n\\n mgr0 = \\\"^(\\\" + C + \\\")?\\\" + V + C, // [C]VC... is m>0\\n meq1 = \\\"^(\\\" + C + \\\")?\\\" + V + C + \\\"(\\\" + V + \\\")?$\\\", // [C]VC[V] is m=1\\n mgr1 = \\\"^(\\\" + C + \\\")?\\\" + V + C + V + C, // [C]VCVC... is m>1\\n s_v = \\\"^(\\\" + C + \\\")?\\\" + v; // vowel in stem\\n\\n var re_mgr0 = new RegExp(mgr0);\\n var re_mgr1 = new RegExp(mgr1);\\n var re_meq1 = new RegExp(meq1);\\n var re_s_v = new RegExp(s_v);\\n\\n var re_1a = /^(.+?)(ss|i)es$/;\\n var re2_1a = /^(.+?)([^s])s$/;\\n var re_1b = /^(.+?)eed$/;\\n var re2_1b = /^(.+?)(ed|ing)$/;\\n var re_1b_2 = /.$/;\\n var re2_1b_2 = /(at|bl|iz)$/;\\n var re3_1b_2 = new RegExp(\\\"([^aeiouylsz])\\\\\\\\1$\\\");\\n var re4_1b_2 = new RegExp(\\\"^\\\" + C + v + \\\"[^aeiouwxy]$\\\");\\n\\n var re_1c = /^(.+?[^aeiou])y$/;\\n var re_2 = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;\\n\\n var re_3 = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;\\n\\n var re_4 = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;\\n var re2_4 = /^(.+?)(s|t)(ion)$/;\\n\\n var re_5 = /^(.+?)e$/;\\n var re_5_1 = /ll$/;\\n var re3_5 = new RegExp(\\\"^\\\" + C + v + \\\"[^aeiouwxy]$\\\");\\n\\n var porterStemmer = function porterStemmer(w) {\\n var stem,\\n suffix,\\n firstch,\\n re,\\n re2,\\n re3,\\n re4;\\n\\n if (w.length < 3) { return w; }\\n\\n firstch = w.substr(0,1);\\n if (firstch == \\\"y\\\") {\\n w = firstch.toUpperCase() + w.substr(1);\\n }\\n\\n // Step 1a\\n re = re_1a\\n re2 = re2_1a;\\n\\n if (re.test(w)) { w = w.replace(re,\\\"$1$2\\\"); }\\n else if (re2.test(w)) { w = w.replace(re2,\\\"$1$2\\\"); }\\n\\n // Step 1b\\n re = re_1b;\\n re2 = re2_1b;\\n if (re.test(w)) {\\n var fp = re.exec(w);\\n re = re_mgr0;\\n if (re.test(fp[1])) {\\n re = re_1b_2;\\n w = w.replace(re,\\\"\\\");\\n }\\n } else if (re2.test(w)) {\\n var fp = re2.exec(w);\\n stem = fp[1];\\n re2 = re_s_v;\\n if (re2.test(stem)) {\\n w = stem;\\n re2 = re2_1b_2;\\n re3 = re3_1b_2;\\n re4 = re4_1b_2;\\n if (re2.test(w)) { w = w + \\\"e\\\"; }\\n else if (re3.test(w)) { re = re_1b_2; w = w.replace(re,\\\"\\\"); }\\n else if (re4.test(w)) { w = w + \\\"e\\\"; }\\n }\\n }\\n\\n // Step 1c - replace suffix y or Y by i if preceded by a non-vowel which is not the first letter of the word (so cry -> cri, by -> by, say -> say)\\n re = re_1c;\\n if (re.test(w)) {\\n var fp = re.exec(w);\\n stem = fp[1];\\n w = stem + \\\"i\\\";\\n }\\n\\n // Step 2\\n re = re_2;\\n if (re.test(w)) {\\n var fp = re.exec(w);\\n stem = fp[1];\\n suffix = fp[2];\\n re = re_mgr0;\\n if (re.test(stem)) {\\n w = stem + step2list[suffix];\\n }\\n }\\n\\n // Step 3\\n re = re_3;\\n if (re.test(w)) {\\n var fp = re.exec(w);\\n stem = fp[1];\\n suffix = fp[2];\\n re = re_mgr0;\\n if (re.test(stem)) {\\n w = stem + step3list[suffix];\\n }\\n }\\n\\n // Step 4\\n re = re_4;\\n re2 = re2_4;\\n if (re.test(w)) {\\n var fp = re.exec(w);\\n stem = fp[1];\\n re = re_mgr1;\\n if (re.test(stem)) {\\n w = stem;\\n }\\n } else if (re2.test(w)) {\\n var fp = re2.exec(w);\\n stem = fp[1] + fp[2];\\n re2 = re_mgr1;\\n if (re2.test(stem)) {\\n w = stem;\\n }\\n }\\n\\n // Step 5\\n re = re_5;\\n if (re.test(w)) {\\n var fp = re.exec(w);\\n stem = fp[1];\\n re = re_mgr1;\\n re2 = re_meq1;\\n re3 = re3_5;\\n if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) {\\n w = stem;\\n }\\n }\\n\\n re = re_5_1;\\n re2 = re_mgr1;\\n if (re.test(w) && re2.test(w)) {\\n re = re_1b_2;\\n w = w.replace(re,\\\"\\\");\\n }\\n\\n // and turn initial Y back to y\\n\\n if (firstch == \\\"y\\\") {\\n w = firstch.toLowerCase() + w.substr(1);\\n }\\n\\n return w;\\n };\\n\\n return function (token) {\\n return token.update(porterStemmer);\\n }\\n})();\\n\\nlunr.Pipeline.registerFunction(lunr.stemmer, 'stemmer')\\n/*!\\n * lunr.stopWordFilter\\n * Copyright (C) 2019 Oliver Nightingale\\n */\\n\\n/**\\n * lunr.generateStopWordFilter builds a stopWordFilter function from the provided\\n * list of stop words.\\n *\\n * The built in lunr.stopWordFilter is built using this generator and can be used\\n * to generate custom stopWordFilters for applications or non English languages.\\n *\\n * @function\\n * @param {Array} token The token to pass through the filter\\n * @returns {lunr.PipelineFunction}\\n * @see lunr.Pipeline\\n * @see lunr.stopWordFilter\\n */\\nlunr.generateStopWordFilter = function (stopWords) {\\n var words = stopWords.reduce(function (memo, stopWord) {\\n memo[stopWord] = stopWord\\n return memo\\n }, {})\\n\\n return function (token) {\\n if (token && words[token.toString()] !== token.toString()) return token\\n }\\n}\\n\\n/**\\n * lunr.stopWordFilter is an English language stop word list filter, any words\\n * contained in the list will not be passed through the filter.\\n *\\n * This is intended to be used in the Pipeline. If the token does not pass the\\n * filter then undefined will be returned.\\n *\\n * @function\\n * @implements {lunr.PipelineFunction}\\n * @params {lunr.Token} token - A token to check for being a stop word.\\n * @returns {lunr.Token}\\n * @see {@link lunr.Pipeline}\\n */\\nlunr.stopWordFilter = lunr.generateStopWordFilter([\\n 'a',\\n 'able',\\n 'about',\\n 'across',\\n 'after',\\n 'all',\\n 'almost',\\n 'also',\\n 'am',\\n 'among',\\n 'an',\\n 'and',\\n 'any',\\n 'are',\\n 'as',\\n 'at',\\n 'be',\\n 'because',\\n 'been',\\n 'but',\\n 'by',\\n 'can',\\n 'cannot',\\n 'could',\\n 'dear',\\n 'did',\\n 'do',\\n 'does',\\n 'either',\\n 'else',\\n 'ever',\\n 'every',\\n 'for',\\n 'from',\\n 'get',\\n 'got',\\n 'had',\\n 'has',\\n 'have',\\n 'he',\\n 'her',\\n 'hers',\\n 'him',\\n 'his',\\n 'how',\\n 'however',\\n 'i',\\n 'if',\\n 'in',\\n 'into',\\n 'is',\\n 'it',\\n 'its',\\n 'just',\\n 'least',\\n 'let',\\n 'like',\\n 'likely',\\n 'may',\\n 'me',\\n 'might',\\n 'most',\\n 'must',\\n 'my',\\n 'neither',\\n 'no',\\n 'nor',\\n 'not',\\n 'of',\\n 'off',\\n 'often',\\n 'on',\\n 'only',\\n 'or',\\n 'other',\\n 'our',\\n 'own',\\n 'rather',\\n 'said',\\n 'say',\\n 'says',\\n 'she',\\n 'should',\\n 'since',\\n 'so',\\n 'some',\\n 'than',\\n 'that',\\n 'the',\\n 'their',\\n 'them',\\n 'then',\\n 'there',\\n 'these',\\n 'they',\\n 'this',\\n 'tis',\\n 'to',\\n 'too',\\n 'twas',\\n 'us',\\n 'wants',\\n 'was',\\n 'we',\\n 'were',\\n 'what',\\n 'when',\\n 'where',\\n 'which',\\n 'while',\\n 'who',\\n 'whom',\\n 'why',\\n 'will',\\n 'with',\\n 'would',\\n 'yet',\\n 'you',\\n 'your'\\n])\\n\\nlunr.Pipeline.registerFunction(lunr.stopWordFilter, 'stopWordFilter')\\n/*!\\n * lunr.trimmer\\n * Copyright (C) 2019 Oliver Nightingale\\n */\\n\\n/**\\n * lunr.trimmer is a pipeline function for trimming non word\\n * characters from the beginning and end of tokens before they\\n * enter the index.\\n *\\n * This implementation may not work correctly for non latin\\n * characters and should either be removed or adapted for use\\n * with languages with non-latin characters.\\n *\\n * @static\\n * @implements {lunr.PipelineFunction}\\n * @param {lunr.Token} token The token to pass through the filter\\n * @returns {lunr.Token}\\n * @see lunr.Pipeline\\n */\\nlunr.trimmer = function (token) {\\n return token.update(function (s) {\\n return s.replace(/^\\\\W+/, '').replace(/\\\\W+$/, '')\\n })\\n}\\n\\nlunr.Pipeline.registerFunction(lunr.trimmer, 'trimmer')\\n/*!\\n * lunr.TokenSet\\n * Copyright (C) 2019 Oliver Nightingale\\n */\\n\\n/**\\n * A token set is used to store the unique list of all tokens\\n * within an index. Token sets are also used to represent an\\n * incoming query to the index, this query token set and index\\n * token set are then intersected to find which tokens to look\\n * up in the inverted index.\\n *\\n * A token set can hold multiple tokens, as in the case of the\\n * index token set, or it can hold a single token as in the\\n * case of a simple query token set.\\n *\\n * Additionally token sets are used to perform wildcard matching.\\n * Leading, contained and trailing wildcards are supported, and\\n * from this edit distance matching can also be provided.\\n *\\n * Token sets are implemented as a minimal finite state automata,\\n * where both common prefixes and suffixes are shared between tokens.\\n * This helps to reduce the space used for storing the token set.\\n *\\n * @constructor\\n */\\nlunr.TokenSet = function () {\\n this.final = false\\n this.edges = {}\\n this.id = lunr.TokenSet._nextId\\n lunr.TokenSet._nextId += 1\\n}\\n\\n/**\\n * Keeps track of the next, auto increment, identifier to assign\\n * to a new tokenSet.\\n *\\n * TokenSets require a unique identifier to be correctly minimised.\\n *\\n * @private\\n */\\nlunr.TokenSet._nextId = 1\\n\\n/**\\n * Creates a TokenSet instance from the given sorted array of words.\\n *\\n * @param {String[]} arr - A sorted array of strings to create the set from.\\n * @returns {lunr.TokenSet}\\n * @throws Will throw an error if the input array is not sorted.\\n */\\nlunr.TokenSet.fromArray = function (arr) {\\n var builder = new lunr.TokenSet.Builder\\n\\n for (var i = 0, len = arr.length; i < len; i++) {\\n builder.insert(arr[i])\\n }\\n\\n builder.finish()\\n return builder.root\\n}\\n\\n/**\\n * Creates a token set from a query clause.\\n *\\n * @private\\n * @param {Object} clause - A single clause from lunr.Query.\\n * @param {string} clause.term - The query clause term.\\n * @param {number} [clause.editDistance] - The optional edit distance for the term.\\n * @returns {lunr.TokenSet}\\n */\\nlunr.TokenSet.fromClause = function (clause) {\\n if ('editDistance' in clause) {\\n return lunr.TokenSet.fromFuzzyString(clause.term, clause.editDistance)\\n } else {\\n return lunr.TokenSet.fromString(clause.term)\\n }\\n}\\n\\n/**\\n * Creates a token set representing a single string with a specified\\n * edit distance.\\n *\\n * Insertions, deletions, substitutions and transpositions are each\\n * treated as an edit distance of 1.\\n *\\n * Increasing the allowed edit distance will have a dramatic impact\\n * on the performance of both creating and intersecting these TokenSets.\\n * It is advised to keep the edit distance less than 3.\\n *\\n * @param {string} str - The string to create the token set from.\\n * @param {number} editDistance - The allowed edit distance to match.\\n * @returns {lunr.Vector}\\n */\\nlunr.TokenSet.fromFuzzyString = function (str, editDistance) {\\n var root = new lunr.TokenSet\\n\\n var stack = [{\\n node: root,\\n editsRemaining: editDistance,\\n str: str\\n }]\\n\\n while (stack.length) {\\n var frame = stack.pop()\\n\\n // no edit\\n if (frame.str.length > 0) {\\n var char = frame.str.charAt(0),\\n noEditNode\\n\\n if (char in frame.node.edges) {\\n noEditNode = frame.node.edges[char]\\n } else {\\n noEditNode = new lunr.TokenSet\\n frame.node.edges[char] = noEditNode\\n }\\n\\n if (frame.str.length == 1) {\\n noEditNode.final = true\\n }\\n\\n stack.push({\\n node: noEditNode,\\n editsRemaining: frame.editsRemaining,\\n str: frame.str.slice(1)\\n })\\n }\\n\\n if (frame.editsRemaining == 0) {\\n continue\\n }\\n\\n // insertion\\n if (\\\"*\\\" in frame.node.edges) {\\n var insertionNode = frame.node.edges[\\\"*\\\"]\\n } else {\\n var insertionNode = new lunr.TokenSet\\n frame.node.edges[\\\"*\\\"] = insertionNode\\n }\\n\\n if (frame.str.length == 0) {\\n insertionNode.final = true\\n }\\n\\n stack.push({\\n node: insertionNode,\\n editsRemaining: frame.editsRemaining - 1,\\n str: frame.str\\n })\\n\\n // deletion\\n // can only do a deletion if we have enough edits remaining\\n // and if there are characters left to delete in the string\\n if (frame.str.length > 1) {\\n stack.push({\\n node: frame.node,\\n editsRemaining: frame.editsRemaining - 1,\\n str: frame.str.slice(1)\\n })\\n }\\n\\n // deletion\\n // just removing the last character from the str\\n if (frame.str.length == 1) {\\n frame.node.final = true\\n }\\n\\n // substitution\\n // can only do a substitution if we have enough edits remaining\\n // and if there are characters left to substitute\\n if (frame.str.length >= 1) {\\n if (\\\"*\\\" in frame.node.edges) {\\n var substitutionNode = frame.node.edges[\\\"*\\\"]\\n } else {\\n var substitutionNode = new lunr.TokenSet\\n frame.node.edges[\\\"*\\\"] = substitutionNode\\n }\\n\\n if (frame.str.length == 1) {\\n substitutionNode.final = true\\n }\\n\\n stack.push({\\n node: substitutionNode,\\n editsRemaining: frame.editsRemaining - 1,\\n str: frame.str.slice(1)\\n })\\n }\\n\\n // transposition\\n // can only do a transposition if there are edits remaining\\n // and there are enough characters to transpose\\n if (frame.str.length > 1) {\\n var charA = frame.str.charAt(0),\\n charB = frame.str.charAt(1),\\n transposeNode\\n\\n if (charB in frame.node.edges) {\\n transposeNode = frame.node.edges[charB]\\n } else {\\n transposeNode = new lunr.TokenSet\\n frame.node.edges[charB] = transposeNode\\n }\\n\\n if (frame.str.length == 1) {\\n transposeNode.final = true\\n }\\n\\n stack.push({\\n node: transposeNode,\\n editsRemaining: frame.editsRemaining - 1,\\n str: charA + frame.str.slice(2)\\n })\\n }\\n }\\n\\n return root\\n}\\n\\n/**\\n * Creates a TokenSet from a string.\\n *\\n * The string may contain one or more wildcard characters (*)\\n * that will allow wildcard matching when intersecting with\\n * another TokenSet.\\n *\\n * @param {string} str - The string to create a TokenSet from.\\n * @returns {lunr.TokenSet}\\n */\\nlunr.TokenSet.fromString = function (str) {\\n var node = new lunr.TokenSet,\\n root = node\\n\\n /*\\n * Iterates through all characters within the passed string\\n * appending a node for each character.\\n *\\n * When a wildcard character is found then a self\\n * referencing edge is introduced to continually match\\n * any number of any characters.\\n */\\n for (var i = 0, len = str.length; i < len; i++) {\\n var char = str[i],\\n final = (i == len - 1)\\n\\n if (char == \\\"*\\\") {\\n node.edges[char] = node\\n node.final = final\\n\\n } else {\\n var next = new lunr.TokenSet\\n next.final = final\\n\\n node.edges[char] = next\\n node = next\\n }\\n }\\n\\n return root\\n}\\n\\n/**\\n * Converts this TokenSet into an array of strings\\n * contained within the TokenSet.\\n *\\n * This is not intended to be used on a TokenSet that\\n * contains wildcards, in these cases the results are\\n * undefined and are likely to cause an infinite loop.\\n *\\n * @returns {string[]}\\n */\\nlunr.TokenSet.prototype.toArray = function () {\\n var words = []\\n\\n var stack = [{\\n prefix: \\\"\\\",\\n node: this\\n }]\\n\\n while (stack.length) {\\n var frame = stack.pop(),\\n edges = Object.keys(frame.node.edges),\\n len = edges.length\\n\\n if (frame.node.final) {\\n /* In Safari, at this point the prefix is sometimes corrupted, see:\\n * https://github.com/olivernn/lunr.js/issues/279 Calling any\\n * String.prototype method forces Safari to \\\"cast\\\" this string to what\\n * it's supposed to be, fixing the bug. */\\n frame.prefix.charAt(0)\\n words.push(frame.prefix)\\n }\\n\\n for (var i = 0; i < len; i++) {\\n var edge = edges[i]\\n\\n stack.push({\\n prefix: frame.prefix.concat(edge),\\n node: frame.node.edges[edge]\\n })\\n }\\n }\\n\\n return words\\n}\\n\\n/**\\n * Generates a string representation of a TokenSet.\\n *\\n * This is intended to allow TokenSets to be used as keys\\n * in objects, largely to aid the construction and minimisation\\n * of a TokenSet. As such it is not designed to be a human\\n * friendly representation of the TokenSet.\\n *\\n * @returns {string}\\n */\\nlunr.TokenSet.prototype.toString = function () {\\n // NOTE: Using Object.keys here as this.edges is very likely\\n // to enter 'hash-mode' with many keys being added\\n //\\n // avoiding a for-in loop here as it leads to the function\\n // being de-optimised (at least in V8). From some simple\\n // benchmarks the performance is comparable, but allowing\\n // V8 to optimize may mean easy performance wins in the future.\\n\\n if (this._str) {\\n return this._str\\n }\\n\\n var str = this.final ? '1' : '0',\\n labels = Object.keys(this.edges).sort(),\\n len = labels.length\\n\\n for (var i = 0; i < len; i++) {\\n var label = labels[i],\\n node = this.edges[label]\\n\\n str = str + label + node.id\\n }\\n\\n return str\\n}\\n\\n/**\\n * Returns a new TokenSet that is the intersection of\\n * this TokenSet and the passed TokenSet.\\n *\\n * This intersection will take into account any wildcards\\n * contained within the TokenSet.\\n *\\n * @param {lunr.TokenSet} b - An other TokenSet to intersect with.\\n * @returns {lunr.TokenSet}\\n */\\nlunr.TokenSet.prototype.intersect = function (b) {\\n var output = new lunr.TokenSet,\\n frame = undefined\\n\\n var stack = [{\\n qNode: b,\\n output: output,\\n node: this\\n }]\\n\\n while (stack.length) {\\n frame = stack.pop()\\n\\n // NOTE: As with the #toString method, we are using\\n // Object.keys and a for loop instead of a for-in loop\\n // as both of these objects enter 'hash' mode, causing\\n // the function to be de-optimised in V8\\n var qEdges = Object.keys(frame.qNode.edges),\\n qLen = qEdges.length,\\n nEdges = Object.keys(frame.node.edges),\\n nLen = nEdges.length\\n\\n for (var q = 0; q < qLen; q++) {\\n var qEdge = qEdges[q]\\n\\n for (var n = 0; n < nLen; n++) {\\n var nEdge = nEdges[n]\\n\\n if (nEdge == qEdge || qEdge == '*') {\\n var node = frame.node.edges[nEdge],\\n qNode = frame.qNode.edges[qEdge],\\n final = node.final && qNode.final,\\n next = undefined\\n\\n if (nEdge in frame.output.edges) {\\n // an edge already exists for this character\\n // no need to create a new node, just set the finality\\n // bit unless this node is already final\\n next = frame.output.edges[nEdge]\\n next.final = next.final || final\\n\\n } else {\\n // no edge exists yet, must create one\\n // set the finality bit and insert it\\n // into the output\\n next = new lunr.TokenSet\\n next.final = final\\n frame.output.edges[nEdge] = next\\n }\\n\\n stack.push({\\n qNode: qNode,\\n output: next,\\n node: node\\n })\\n }\\n }\\n }\\n }\\n\\n return output\\n}\\nlunr.TokenSet.Builder = function () {\\n this.previousWord = \\\"\\\"\\n this.root = new lunr.TokenSet\\n this.uncheckedNodes = []\\n this.minimizedNodes = {}\\n}\\n\\nlunr.TokenSet.Builder.prototype.insert = function (word) {\\n var node,\\n commonPrefix = 0\\n\\n if (word < this.previousWord) {\\n throw new Error (\\\"Out of order word insertion\\\")\\n }\\n\\n for (var i = 0; i < word.length && i < this.previousWord.length; i++) {\\n if (word[i] != this.previousWord[i]) break\\n commonPrefix++\\n }\\n\\n this.minimize(commonPrefix)\\n\\n if (this.uncheckedNodes.length == 0) {\\n node = this.root\\n } else {\\n node = this.uncheckedNodes[this.uncheckedNodes.length - 1].child\\n }\\n\\n for (var i = commonPrefix; i < word.length; i++) {\\n var nextNode = new lunr.TokenSet,\\n char = word[i]\\n\\n node.edges[char] = nextNode\\n\\n this.uncheckedNodes.push({\\n parent: node,\\n char: char,\\n child: nextNode\\n })\\n\\n node = nextNode\\n }\\n\\n node.final = true\\n this.previousWord = word\\n}\\n\\nlunr.TokenSet.Builder.prototype.finish = function () {\\n this.minimize(0)\\n}\\n\\nlunr.TokenSet.Builder.prototype.minimize = function (downTo) {\\n for (var i = this.uncheckedNodes.length - 1; i >= downTo; i--) {\\n var node = this.uncheckedNodes[i],\\n childKey = node.child.toString()\\n\\n if (childKey in this.minimizedNodes) {\\n node.parent.edges[node.char] = this.minimizedNodes[childKey]\\n } else {\\n // Cache the key for this node since\\n // we know it can't change anymore\\n node.child._str = childKey\\n\\n this.minimizedNodes[childKey] = node.child\\n }\\n\\n this.uncheckedNodes.pop()\\n }\\n}\\n/*!\\n * lunr.Index\\n * Copyright (C) 2019 Oliver Nightingale\\n */\\n\\n/**\\n * An index contains the built index of all documents and provides a query interface\\n * to the index.\\n *\\n * Usually instances of lunr.Index will not be created using this constructor, instead\\n * lunr.Builder should be used to construct new indexes, or lunr.Index.load should be\\n * used to load previously built and serialized indexes.\\n *\\n * @constructor\\n * @param {Object} attrs - The attributes of the built search index.\\n * @param {Object} attrs.invertedIndex - An index of term/field to document reference.\\n * @param {Object} attrs.fieldVectors - Field vectors\\n * @param {lunr.TokenSet} attrs.tokenSet - An set of all corpus tokens.\\n * @param {string[]} attrs.fields - The names of indexed document fields.\\n * @param {lunr.Pipeline} attrs.pipeline - The pipeline to use for search terms.\\n */\\nlunr.Index = function (attrs) {\\n this.invertedIndex = attrs.invertedIndex\\n this.fieldVectors = attrs.fieldVectors\\n this.tokenSet = attrs.tokenSet\\n this.fields = attrs.fields\\n this.pipeline = attrs.pipeline\\n}\\n\\n/**\\n * A result contains details of a document matching a search query.\\n * @typedef {Object} lunr.Index~Result\\n * @property {string} ref - The reference of the document this result represents.\\n * @property {number} score - A number between 0 and 1 representing how similar this document is to the query.\\n * @property {lunr.MatchData} matchData - Contains metadata about this match including which term(s) caused the match.\\n */\\n\\n/**\\n * Although lunr provides the ability to create queries using lunr.Query, it also provides a simple\\n * query language which itself is parsed into an instance of lunr.Query.\\n *\\n * For programmatically building queries it is advised to directly use lunr.Query, the query language\\n * is best used for human entered text rather than program generated text.\\n *\\n * At its simplest queries can just be a single term, e.g. `hello`, multiple terms are also supported\\n * and will be combined with OR, e.g `hello world` will match documents that contain either 'hello'\\n * or 'world', though those that contain both will rank higher in the results.\\n *\\n * Wildcards can be included in terms to match one or more unspecified characters, these wildcards can\\n * be inserted anywhere within the term, and more than one wildcard can exist in a single term. Adding\\n * wildcards will increase the number of documents that will be found but can also have a negative\\n * impact on query performance, especially with wildcards at the beginning of a term.\\n *\\n * Terms can be restricted to specific fields, e.g. `title:hello`, only documents with the term\\n * hello in the title field will match this query. Using a field not present in the index will lead\\n * to an error being thrown.\\n *\\n * Modifiers can also be added to terms, lunr supports edit distance and boost modifiers on terms. A term\\n * boost will make documents matching that term score higher, e.g. `foo^5`. Edit distance is also supported\\n * to provide fuzzy matching, e.g. 'hello~2' will match documents with hello with an edit distance of 2.\\n * Avoid large values for edit distance to improve query performance.\\n *\\n * Each term also supports a presence modifier. By default a term's presence in document is optional, however\\n * this can be changed to either required or prohibited. For a term's presence to be required in a document the\\n * term should be prefixed with a '+', e.g. `+foo bar` is a search for documents that must contain 'foo' and\\n * optionally contain 'bar'. Conversely a leading '-' sets the terms presence to prohibited, i.e. it must not\\n * appear in a document, e.g. `-foo bar` is a search for documents that do not contain 'foo' but may contain 'bar'.\\n *\\n * To escape special characters the backslash character '\\\\' can be used, this allows searches to include\\n * characters that would normally be considered modifiers, e.g. `foo\\\\~2` will search for a term \\\"foo~2\\\" instead\\n * of attempting to apply a boost of 2 to the search term \\\"foo\\\".\\n *\\n * @typedef {string} lunr.Index~QueryString\\n * @example Simple single term query\\n * hello\\n * @example Multiple term query\\n * hello world\\n * @example term scoped to a field\\n * title:hello\\n * @example term with a boost of 10\\n * hello^10\\n * @example term with an edit distance of 2\\n * hello~2\\n * @example terms with presence modifiers\\n * -foo +bar baz\\n */\\n\\n/**\\n * Performs a search against the index using lunr query syntax.\\n *\\n * Results will be returned sorted by their score, the most relevant results\\n * will be returned first. For details on how the score is calculated, please see\\n * the {@link https://lunrjs.com/guides/searching.html#scoring|guide}.\\n *\\n * For more programmatic querying use lunr.Index#query.\\n *\\n * @param {lunr.Index~QueryString} queryString - A string containing a lunr query.\\n * @throws {lunr.QueryParseError} If the passed query string cannot be parsed.\\n * @returns {lunr.Index~Result[]}\\n */\\nlunr.Index.prototype.search = function (queryString) {\\n return this.query(function (query) {\\n var parser = new lunr.QueryParser(queryString, query)\\n parser.parse()\\n })\\n}\\n\\n/**\\n * A query builder callback provides a query object to be used to express\\n * the query to perform on the index.\\n *\\n * @callback lunr.Index~queryBuilder\\n * @param {lunr.Query} query - The query object to build up.\\n * @this lunr.Query\\n */\\n\\n/**\\n * Performs a query against the index using the yielded lunr.Query object.\\n *\\n * If performing programmatic queries against the index, this method is preferred\\n * over lunr.Index#search so as to avoid the additional query parsing overhead.\\n *\\n * A query object is yielded to the supplied function which should be used to\\n * express the query to be run against the index.\\n *\\n * Note that although this function takes a callback parameter it is _not_ an\\n * asynchronous operation, the callback is just yielded a query object to be\\n * customized.\\n *\\n * @param {lunr.Index~queryBuilder} fn - A function that is used to build the query.\\n * @returns {lunr.Index~Result[]}\\n */\\nlunr.Index.prototype.query = function (fn) {\\n // for each query clause\\n // * process terms\\n // * expand terms from token set\\n // * find matching documents and metadata\\n // * get document vectors\\n // * score documents\\n\\n var query = new lunr.Query(this.fields),\\n matchingFields = Object.create(null),\\n queryVectors = Object.create(null),\\n termFieldCache = Object.create(null),\\n requiredMatches = Object.create(null),\\n prohibitedMatches = Object.create(null)\\n\\n /*\\n * To support field level boosts a query vector is created per\\n * field. An empty vector is eagerly created to support negated\\n * queries.\\n */\\n for (var i = 0; i < this.fields.length; i++) {\\n queryVectors[this.fields[i]] = new lunr.Vector\\n }\\n\\n fn.call(query, query)\\n\\n for (var i = 0; i < query.clauses.length; i++) {\\n /*\\n * Unless the pipeline has been disabled for this term, which is\\n * the case for terms with wildcards, we need to pass the clause\\n * term through the search pipeline. A pipeline returns an array\\n * of processed terms. Pipeline functions may expand the passed\\n * term, which means we may end up performing multiple index lookups\\n * for a single query term.\\n */\\n var clause = query.clauses[i],\\n terms = null,\\n clauseMatches = lunr.Set.complete\\n\\n if (clause.usePipeline) {\\n terms = this.pipeline.runString(clause.term, {\\n fields: clause.fields\\n })\\n } else {\\n terms = [clause.term]\\n }\\n\\n for (var m = 0; m < terms.length; m++) {\\n var term = terms[m]\\n\\n /*\\n * Each term returned from the pipeline needs to use the same query\\n * clause object, e.g. the same boost and or edit distance. The\\n * simplest way to do this is to re-use the clause object but mutate\\n * its term property.\\n */\\n clause.term = term\\n\\n /*\\n * From the term in the clause we create a token set which will then\\n * be used to intersect the indexes token set to get a list of terms\\n * to lookup in the inverted index\\n */\\n var termTokenSet = lunr.TokenSet.fromClause(clause),\\n expandedTerms = this.tokenSet.intersect(termTokenSet).toArray()\\n\\n /*\\n * If a term marked as required does not exist in the tokenSet it is\\n * impossible for the search to return any matches. We set all the field\\n * scoped required matches set to empty and stop examining any further\\n * clauses.\\n */\\n if (expandedTerms.length === 0 && clause.presence === lunr.Query.presence.REQUIRED) {\\n for (var k = 0; k < clause.fields.length; k++) {\\n var field = clause.fields[k]\\n requiredMatches[field] = lunr.Set.empty\\n }\\n\\n break\\n }\\n\\n for (var j = 0; j < expandedTerms.length; j++) {\\n /*\\n * For each term get the posting and termIndex, this is required for\\n * building the query vector.\\n */\\n var expandedTerm = expandedTerms[j],\\n posting = this.invertedIndex[expandedTerm],\\n termIndex = posting._index\\n\\n for (var k = 0; k < clause.fields.length; k++) {\\n /*\\n * For each field that this query term is scoped by (by default\\n * all fields are in scope) we need to get all the document refs\\n * that have this term in that field.\\n *\\n * The posting is the entry in the invertedIndex for the matching\\n * term from above.\\n */\\n var field = clause.fields[k],\\n fieldPosting = posting[field],\\n matchingDocumentRefs = Object.keys(fieldPosting),\\n termField = expandedTerm + \\\"/\\\" + field,\\n matchingDocumentsSet = new lunr.Set(matchingDocumentRefs)\\n\\n /*\\n * if the presence of this term is required ensure that the matching\\n * documents are added to the set of required matches for this clause.\\n *\\n */\\n if (clause.presence == lunr.Query.presence.REQUIRED) {\\n clauseMatches = clauseMatches.union(matchingDocumentsSet)\\n\\n if (requiredMatches[field] === undefined) {\\n requiredMatches[field] = lunr.Set.complete\\n }\\n }\\n\\n /*\\n * if the presence of this term is prohibited ensure that the matching\\n * documents are added to the set of prohibited matches for this field,\\n * creating that set if it does not yet exist.\\n */\\n if (clause.presence == lunr.Query.presence.PROHIBITED) {\\n if (prohibitedMatches[field] === undefined) {\\n prohibitedMatches[field] = lunr.Set.empty\\n }\\n\\n prohibitedMatches[field] = prohibitedMatches[field].union(matchingDocumentsSet)\\n\\n /*\\n * Prohibited matches should not be part of the query vector used for\\n * similarity scoring and no metadata should be extracted so we continue\\n * to the next field\\n */\\n continue\\n }\\n\\n /*\\n * The query field vector is populated using the termIndex found for\\n * the term and a unit value with the appropriate boost applied.\\n * Using upsert because there could already be an entry in the vector\\n * for the term we are working with. In that case we just add the scores\\n * together.\\n */\\n queryVectors[field].upsert(termIndex, clause.boost, function (a, b) { return a + b })\\n\\n /**\\n * If we've already seen this term, field combo then we've already collected\\n * the matching documents and metadata, no need to go through all that again\\n */\\n if (termFieldCache[termField]) {\\n continue\\n }\\n\\n for (var l = 0; l < matchingDocumentRefs.length; l++) {\\n /*\\n * All metadata for this term/field/document triple\\n * are then extracted and collected into an instance\\n * of lunr.MatchData ready to be returned in the query\\n * results\\n */\\n var matchingDocumentRef = matchingDocumentRefs[l],\\n matchingFieldRef = new lunr.FieldRef (matchingDocumentRef, field),\\n metadata = fieldPosting[matchingDocumentRef],\\n fieldMatch\\n\\n if ((fieldMatch = matchingFields[matchingFieldRef]) === undefined) {\\n matchingFields[matchingFieldRef] = new lunr.MatchData (expandedTerm, field, metadata)\\n } else {\\n fieldMatch.add(expandedTerm, field, metadata)\\n }\\n\\n }\\n\\n termFieldCache[termField] = true\\n }\\n }\\n }\\n\\n /**\\n * If the presence was required we need to update the requiredMatches field sets.\\n * We do this after all fields for the term have collected their matches because\\n * the clause terms presence is required in _any_ of the fields not _all_ of the\\n * fields.\\n */\\n if (clause.presence === lunr.Query.presence.REQUIRED) {\\n for (var k = 0; k < clause.fields.length; k++) {\\n var field = clause.fields[k]\\n requiredMatches[field] = requiredMatches[field].intersect(clauseMatches)\\n }\\n }\\n }\\n\\n /**\\n * Need to combine the field scoped required and prohibited\\n * matching documents into a global set of required and prohibited\\n * matches\\n */\\n var allRequiredMatches = lunr.Set.complete,\\n allProhibitedMatches = lunr.Set.empty\\n\\n for (var i = 0; i < this.fields.length; i++) {\\n var field = this.fields[i]\\n\\n if (requiredMatches[field]) {\\n allRequiredMatches = allRequiredMatches.intersect(requiredMatches[field])\\n }\\n\\n if (prohibitedMatches[field]) {\\n allProhibitedMatches = allProhibitedMatches.union(prohibitedMatches[field])\\n }\\n }\\n\\n var matchingFieldRefs = Object.keys(matchingFields),\\n results = [],\\n matches = Object.create(null)\\n\\n /*\\n * If the query is negated (contains only prohibited terms)\\n * we need to get _all_ fieldRefs currently existing in the\\n * index. This is only done when we know that the query is\\n * entirely prohibited terms to avoid any cost of getting all\\n * fieldRefs unnecessarily.\\n *\\n * Additionally, blank MatchData must be created to correctly\\n * populate the results.\\n */\\n if (query.isNegated()) {\\n matchingFieldRefs = Object.keys(this.fieldVectors)\\n\\n for (var i = 0; i < matchingFieldRefs.length; i++) {\\n var matchingFieldRef = matchingFieldRefs[i]\\n var fieldRef = lunr.FieldRef.fromString(matchingFieldRef)\\n matchingFields[matchingFieldRef] = new lunr.MatchData\\n }\\n }\\n\\n for (var i = 0; i < matchingFieldRefs.length; i++) {\\n /*\\n * Currently we have document fields that match the query, but we\\n * need to return documents. The matchData and scores are combined\\n * from multiple fields belonging to the same document.\\n *\\n * Scores are calculated by field, using the query vectors created\\n * above, and combined into a final document score using addition.\\n */\\n var fieldRef = lunr.FieldRef.fromString(matchingFieldRefs[i]),\\n docRef = fieldRef.docRef\\n\\n if (!allRequiredMatches.contains(docRef)) {\\n continue\\n }\\n\\n if (allProhibitedMatches.contains(docRef)) {\\n continue\\n }\\n\\n var fieldVector = this.fieldVectors[fieldRef],\\n score = queryVectors[fieldRef.fieldName].similarity(fieldVector),\\n docMatch\\n\\n if ((docMatch = matches[docRef]) !== undefined) {\\n docMatch.score += score\\n docMatch.matchData.combine(matchingFields[fieldRef])\\n } else {\\n var match = {\\n ref: docRef,\\n score: score,\\n matchData: matchingFields[fieldRef]\\n }\\n matches[docRef] = match\\n results.push(match)\\n }\\n }\\n\\n /*\\n * Sort the results objects by score, highest first.\\n */\\n return results.sort(function (a, b) {\\n return b.score - a.score\\n })\\n}\\n\\n/**\\n * Prepares the index for JSON serialization.\\n *\\n * The schema for this JSON blob will be described in a\\n * separate JSON schema file.\\n *\\n * @returns {Object}\\n */\\nlunr.Index.prototype.toJSON = function () {\\n var invertedIndex = Object.keys(this.invertedIndex)\\n .sort()\\n .map(function (term) {\\n return [term, this.invertedIndex[term]]\\n }, this)\\n\\n var fieldVectors = Object.keys(this.fieldVectors)\\n .map(function (ref) {\\n return [ref, this.fieldVectors[ref].toJSON()]\\n }, this)\\n\\n return {\\n version: lunr.version,\\n fields: this.fields,\\n fieldVectors: fieldVectors,\\n invertedIndex: invertedIndex,\\n pipeline: this.pipeline.toJSON()\\n }\\n}\\n\\n/**\\n * Loads a previously serialized lunr.Index\\n *\\n * @param {Object} serializedIndex - A previously serialized lunr.Index\\n * @returns {lunr.Index}\\n */\\nlunr.Index.load = function (serializedIndex) {\\n var attrs = {},\\n fieldVectors = {},\\n serializedVectors = serializedIndex.fieldVectors,\\n invertedIndex = Object.create(null),\\n serializedInvertedIndex = serializedIndex.invertedIndex,\\n tokenSetBuilder = new lunr.TokenSet.Builder,\\n pipeline = lunr.Pipeline.load(serializedIndex.pipeline)\\n\\n if (serializedIndex.version != lunr.version) {\\n lunr.utils.warn(\\\"Version mismatch when loading serialised index. Current version of lunr '\\\" + lunr.version + \\\"' does not match serialized index '\\\" + serializedIndex.version + \\\"'\\\")\\n }\\n\\n for (var i = 0; i < serializedVectors.length; i++) {\\n var tuple = serializedVectors[i],\\n ref = tuple[0],\\n elements = tuple[1]\\n\\n fieldVectors[ref] = new lunr.Vector(elements)\\n }\\n\\n for (var i = 0; i < serializedInvertedIndex.length; i++) {\\n var tuple = serializedInvertedIndex[i],\\n term = tuple[0],\\n posting = tuple[1]\\n\\n tokenSetBuilder.insert(term)\\n invertedIndex[term] = posting\\n }\\n\\n tokenSetBuilder.finish()\\n\\n attrs.fields = serializedIndex.fields\\n\\n attrs.fieldVectors = fieldVectors\\n attrs.invertedIndex = invertedIndex\\n attrs.tokenSet = tokenSetBuilder.root\\n attrs.pipeline = pipeline\\n\\n return new lunr.Index(attrs)\\n}\\n/*!\\n * lunr.Builder\\n * Copyright (C) 2019 Oliver Nightingale\\n */\\n\\n/**\\n * lunr.Builder performs indexing on a set of documents and\\n * returns instances of lunr.Index ready for querying.\\n *\\n * All configuration of the index is done via the builder, the\\n * fields to index, the document reference, the text processing\\n * pipeline and document scoring parameters are all set on the\\n * builder before indexing.\\n *\\n * @constructor\\n * @property {string} _ref - Internal reference to the document reference field.\\n * @property {string[]} _fields - Internal reference to the document fields to index.\\n * @property {object} invertedIndex - The inverted index maps terms to document fields.\\n * @property {object} documentTermFrequencies - Keeps track of document term frequencies.\\n * @property {object} documentLengths - Keeps track of the length of documents added to the index.\\n * @property {lunr.tokenizer} tokenizer - Function for splitting strings into tokens for indexing.\\n * @property {lunr.Pipeline} pipeline - The pipeline performs text processing on tokens before indexing.\\n * @property {lunr.Pipeline} searchPipeline - A pipeline for processing search terms before querying the index.\\n * @property {number} documentCount - Keeps track of the total number of documents indexed.\\n * @property {number} _b - A parameter to control field length normalization, setting this to 0 disabled normalization, 1 fully normalizes field lengths, the default value is 0.75.\\n * @property {number} _k1 - A parameter to control how quickly an increase in term frequency results in term frequency saturation, the default value is 1.2.\\n * @property {number} termIndex - A counter incremented for each unique term, used to identify a terms position in the vector space.\\n * @property {array} metadataWhitelist - A list of metadata keys that have been whitelisted for entry in the index.\\n */\\nlunr.Builder = function () {\\n this._ref = \\\"id\\\"\\n this._fields = Object.create(null)\\n this._documents = Object.create(null)\\n this.invertedIndex = Object.create(null)\\n this.fieldTermFrequencies = {}\\n this.fieldLengths = {}\\n this.tokenizer = lunr.tokenizer\\n this.pipeline = new lunr.Pipeline\\n this.searchPipeline = new lunr.Pipeline\\n this.documentCount = 0\\n this._b = 0.75\\n this._k1 = 1.2\\n this.termIndex = 0\\n this.metadataWhitelist = []\\n}\\n\\n/**\\n * Sets the document field used as the document reference. Every document must have this field.\\n * The type of this field in the document should be a string, if it is not a string it will be\\n * coerced into a string by calling toString.\\n *\\n * The default ref is 'id'.\\n *\\n * The ref should _not_ be changed during indexing, it should be set before any documents are\\n * added to the index. Changing it during indexing can lead to inconsistent results.\\n *\\n * @param {string} ref - The name of the reference field in the document.\\n */\\nlunr.Builder.prototype.ref = function (ref) {\\n this._ref = ref\\n}\\n\\n/**\\n * A function that is used to extract a field from a document.\\n *\\n * Lunr expects a field to be at the top level of a document, if however the field\\n * is deeply nested within a document an extractor function can be used to extract\\n * the right field for indexing.\\n *\\n * @callback fieldExtractor\\n * @param {object} doc - The document being added to the index.\\n * @returns {?(string|object|object[])} obj - The object that will be indexed for this field.\\n * @example Extracting a nested field\\n * function (doc) { return doc.nested.field }\\n */\\n\\n/**\\n * Adds a field to the list of document fields that will be indexed. Every document being\\n * indexed should have this field. Null values for this field in indexed documents will\\n * not cause errors but will limit the chance of that document being retrieved by searches.\\n *\\n * All fields should be added before adding documents to the index. Adding fields after\\n * a document has been indexed will have no effect on already indexed documents.\\n *\\n * Fields can be boosted at build time. This allows terms within that field to have more\\n * importance when ranking search results. Use a field boost to specify that matches within\\n * one field are more important than other fields.\\n *\\n * @param {string} fieldName - The name of a field to index in all documents.\\n * @param {object} attributes - Optional attributes associated with this field.\\n * @param {number} [attributes.boost=1] - Boost applied to all terms within this field.\\n * @param {fieldExtractor} [attributes.extractor] - Function to extract a field from a document.\\n * @throws {RangeError} fieldName cannot contain unsupported characters '/'\\n */\\nlunr.Builder.prototype.field = function (fieldName, attributes) {\\n if (/\\\\//.test(fieldName)) {\\n throw new RangeError (\\\"Field '\\\" + fieldName + \\\"' contains illegal character '/'\\\")\\n }\\n\\n this._fields[fieldName] = attributes || {}\\n}\\n\\n/**\\n * A parameter to tune the amount of field length normalisation that is applied when\\n * calculating relevance scores. A value of 0 will completely disable any normalisation\\n * and a value of 1 will fully normalise field lengths. The default is 0.75. Values of b\\n * will be clamped to the range 0 - 1.\\n *\\n * @param {number} number - The value to set for this tuning parameter.\\n */\\nlunr.Builder.prototype.b = function (number) {\\n if (number < 0) {\\n this._b = 0\\n } else if (number > 1) {\\n this._b = 1\\n } else {\\n this._b = number\\n }\\n}\\n\\n/**\\n * A parameter that controls the speed at which a rise in term frequency results in term\\n * frequency saturation. The default value is 1.2. Setting this to a higher value will give\\n * slower saturation levels, a lower value will result in quicker saturation.\\n *\\n * @param {number} number - The value to set for this tuning parameter.\\n */\\nlunr.Builder.prototype.k1 = function (number) {\\n this._k1 = number\\n}\\n\\n/**\\n * Adds a document to the index.\\n *\\n * Before adding fields to the index the index should have been fully setup, with the document\\n * ref and all fields to index already having been specified.\\n *\\n * The document must have a field name as specified by the ref (by default this is 'id') and\\n * it should have all fields defined for indexing, though null or undefined values will not\\n * cause errors.\\n *\\n * Entire documents can be boosted at build time. Applying a boost to a document indicates that\\n * this document should rank higher in search results than other documents.\\n *\\n * @param {object} doc - The document to add to the index.\\n * @param {object} attributes - Optional attributes associated with this document.\\n * @param {number} [attributes.boost=1] - Boost applied to all terms within this document.\\n */\\nlunr.Builder.prototype.add = function (doc, attributes) {\\n var docRef = doc[this._ref],\\n fields = Object.keys(this._fields)\\n\\n this._documents[docRef] = attributes || {}\\n this.documentCount += 1\\n\\n for (var i = 0; i < fields.length; i++) {\\n var fieldName = fields[i],\\n extractor = this._fields[fieldName].extractor,\\n field = extractor ? extractor(doc) : doc[fieldName],\\n tokens = this.tokenizer(field, {\\n fields: [fieldName]\\n }),\\n terms = this.pipeline.run(tokens),\\n fieldRef = new lunr.FieldRef (docRef, fieldName),\\n fieldTerms = Object.create(null)\\n\\n this.fieldTermFrequencies[fieldRef] = fieldTerms\\n this.fieldLengths[fieldRef] = 0\\n\\n // store the length of this field for this document\\n this.fieldLengths[fieldRef] += terms.length\\n\\n // calculate term frequencies for this field\\n for (var j = 0; j < terms.length; j++) {\\n var term = terms[j]\\n\\n if (fieldTerms[term] == undefined) {\\n fieldTerms[term] = 0\\n }\\n\\n fieldTerms[term] += 1\\n\\n // add to inverted index\\n // create an initial posting if one doesn't exist\\n if (this.invertedIndex[term] == undefined) {\\n var posting = Object.create(null)\\n posting[\\\"_index\\\"] = this.termIndex\\n this.termIndex += 1\\n\\n for (var k = 0; k < fields.length; k++) {\\n posting[fields[k]] = Object.create(null)\\n }\\n\\n this.invertedIndex[term] = posting\\n }\\n\\n // add an entry for this term/fieldName/docRef to the invertedIndex\\n if (this.invertedIndex[term][fieldName][docRef] == undefined) {\\n this.invertedIndex[term][fieldName][docRef] = Object.create(null)\\n }\\n\\n // store all whitelisted metadata about this token in the\\n // inverted index\\n for (var l = 0; l < this.metadataWhitelist.length; l++) {\\n var metadataKey = this.metadataWhitelist[l],\\n metadata = term.metadata[metadataKey]\\n\\n if (this.invertedIndex[term][fieldName][docRef][metadataKey] == undefined) {\\n this.invertedIndex[term][fieldName][docRef][metadataKey] = []\\n }\\n\\n this.invertedIndex[term][fieldName][docRef][metadataKey].push(metadata)\\n }\\n }\\n\\n }\\n}\\n\\n/**\\n * Calculates the average document length for this index\\n *\\n * @private\\n */\\nlunr.Builder.prototype.calculateAverageFieldLengths = function () {\\n\\n var fieldRefs = Object.keys(this.fieldLengths),\\n numberOfFields = fieldRefs.length,\\n accumulator = {},\\n documentsWithField = {}\\n\\n for (var i = 0; i < numberOfFields; i++) {\\n var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]),\\n field = fieldRef.fieldName\\n\\n documentsWithField[field] || (documentsWithField[field] = 0)\\n documentsWithField[field] += 1\\n\\n accumulator[field] || (accumulator[field] = 0)\\n accumulator[field] += this.fieldLengths[fieldRef]\\n }\\n\\n var fields = Object.keys(this._fields)\\n\\n for (var i = 0; i < fields.length; i++) {\\n var fieldName = fields[i]\\n accumulator[fieldName] = accumulator[fieldName] / documentsWithField[fieldName]\\n }\\n\\n this.averageFieldLength = accumulator\\n}\\n\\n/**\\n * Builds a vector space model of every document using lunr.Vector\\n *\\n * @private\\n */\\nlunr.Builder.prototype.createFieldVectors = function () {\\n var fieldVectors = {},\\n fieldRefs = Object.keys(this.fieldTermFrequencies),\\n fieldRefsLength = fieldRefs.length,\\n termIdfCache = Object.create(null)\\n\\n for (var i = 0; i < fieldRefsLength; i++) {\\n var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]),\\n fieldName = fieldRef.fieldName,\\n fieldLength = this.fieldLengths[fieldRef],\\n fieldVector = new lunr.Vector,\\n termFrequencies = this.fieldTermFrequencies[fieldRef],\\n terms = Object.keys(termFrequencies),\\n termsLength = terms.length\\n\\n\\n var fieldBoost = this._fields[fieldName].boost || 1,\\n docBoost = this._documents[fieldRef.docRef].boost || 1\\n\\n for (var j = 0; j < termsLength; j++) {\\n var term = terms[j],\\n tf = termFrequencies[term],\\n termIndex = this.invertedIndex[term]._index,\\n idf, score, scoreWithPrecision\\n\\n if (termIdfCache[term] === undefined) {\\n idf = lunr.idf(this.invertedIndex[term], this.documentCount)\\n termIdfCache[term] = idf\\n } else {\\n idf = termIdfCache[term]\\n }\\n\\n score = idf * ((this._k1 + 1) * tf) / (this._k1 * (1 - this._b + this._b * (fieldLength / this.averageFieldLength[fieldName])) + tf)\\n score *= fieldBoost\\n score *= docBoost\\n scoreWithPrecision = Math.round(score * 1000) / 1000\\n // Converts 1.23456789 to 1.234.\\n // Reducing the precision so that the vectors take up less\\n // space when serialised. Doing it now so that they behave\\n // the same before and after serialisation. Also, this is\\n // the fastest approach to reducing a number's precision in\\n // JavaScript.\\n\\n fieldVector.insert(termIndex, scoreWithPrecision)\\n }\\n\\n fieldVectors[fieldRef] = fieldVector\\n }\\n\\n this.fieldVectors = fieldVectors\\n}\\n\\n/**\\n * Creates a token set of all tokens in the index using lunr.TokenSet\\n *\\n * @private\\n */\\nlunr.Builder.prototype.createTokenSet = function () {\\n this.tokenSet = lunr.TokenSet.fromArray(\\n Object.keys(this.invertedIndex).sort()\\n )\\n}\\n\\n/**\\n * Builds the index, creating an instance of lunr.Index.\\n *\\n * This completes the indexing process and should only be called\\n * once all documents have been added to the index.\\n *\\n * @returns {lunr.Index}\\n */\\nlunr.Builder.prototype.build = function () {\\n this.calculateAverageFieldLengths()\\n this.createFieldVectors()\\n this.createTokenSet()\\n\\n return new lunr.Index({\\n invertedIndex: this.invertedIndex,\\n fieldVectors: this.fieldVectors,\\n tokenSet: this.tokenSet,\\n fields: Object.keys(this._fields),\\n pipeline: this.searchPipeline\\n })\\n}\\n\\n/**\\n * Applies a plugin to the index builder.\\n *\\n * A plugin is a function that is called with the index builder as its context.\\n * Plugins can be used to customise or extend the behaviour of the index\\n * in some way. A plugin is just a function, that encapsulated the custom\\n * behaviour that should be applied when building the index.\\n *\\n * The plugin function will be called with the index builder as its argument, additional\\n * arguments can also be passed when calling use. The function will be called\\n * with the index builder as its context.\\n *\\n * @param {Function} plugin The plugin to apply.\\n */\\nlunr.Builder.prototype.use = function (fn) {\\n var args = Array.prototype.slice.call(arguments, 1)\\n args.unshift(this)\\n fn.apply(this, args)\\n}\\n/**\\n * Contains and collects metadata about a matching document.\\n * A single instance of lunr.MatchData is returned as part of every\\n * lunr.Index~Result.\\n *\\n * @constructor\\n * @param {string} term - The term this match data is associated with\\n * @param {string} field - The field in which the term was found\\n * @param {object} metadata - The metadata recorded about this term in this field\\n * @property {object} metadata - A cloned collection of metadata associated with this document.\\n * @see {@link lunr.Index~Result}\\n */\\nlunr.MatchData = function (term, field, metadata) {\\n var clonedMetadata = Object.create(null),\\n metadataKeys = Object.keys(metadata || {})\\n\\n // Cloning the metadata to prevent the original\\n // being mutated during match data combination.\\n // Metadata is kept in an array within the inverted\\n // index so cloning the data can be done with\\n // Array#slice\\n for (var i = 0; i < metadataKeys.length; i++) {\\n var key = metadataKeys[i]\\n clonedMetadata[key] = metadata[key].slice()\\n }\\n\\n this.metadata = Object.create(null)\\n\\n if (term !== undefined) {\\n this.metadata[term] = Object.create(null)\\n this.metadata[term][field] = clonedMetadata\\n }\\n}\\n\\n/**\\n * An instance of lunr.MatchData will be created for every term that matches a\\n * document. However only one instance is required in a lunr.Index~Result. This\\n * method combines metadata from another instance of lunr.MatchData with this\\n * objects metadata.\\n *\\n * @param {lunr.MatchData} otherMatchData - Another instance of match data to merge with this one.\\n * @see {@link lunr.Index~Result}\\n */\\nlunr.MatchData.prototype.combine = function (otherMatchData) {\\n var terms = Object.keys(otherMatchData.metadata)\\n\\n for (var i = 0; i < terms.length; i++) {\\n var term = terms[i],\\n fields = Object.keys(otherMatchData.metadata[term])\\n\\n if (this.metadata[term] == undefined) {\\n this.metadata[term] = Object.create(null)\\n }\\n\\n for (var j = 0; j < fields.length; j++) {\\n var field = fields[j],\\n keys = Object.keys(otherMatchData.metadata[term][field])\\n\\n if (this.metadata[term][field] == undefined) {\\n this.metadata[term][field] = Object.create(null)\\n }\\n\\n for (var k = 0; k < keys.length; k++) {\\n var key = keys[k]\\n\\n if (this.metadata[term][field][key] == undefined) {\\n this.metadata[term][field][key] = otherMatchData.metadata[term][field][key]\\n } else {\\n this.metadata[term][field][key] = this.metadata[term][field][key].concat(otherMatchData.metadata[term][field][key])\\n }\\n\\n }\\n }\\n }\\n}\\n\\n/**\\n * Add metadata for a term/field pair to this instance of match data.\\n *\\n * @param {string} term - The term this match data is associated with\\n * @param {string} field - The field in which the term was found\\n * @param {object} metadata - The metadata recorded about this term in this field\\n */\\nlunr.MatchData.prototype.add = function (term, field, metadata) {\\n if (!(term in this.metadata)) {\\n this.metadata[term] = Object.create(null)\\n this.metadata[term][field] = metadata\\n return\\n }\\n\\n if (!(field in this.metadata[term])) {\\n this.metadata[term][field] = metadata\\n return\\n }\\n\\n var metadataKeys = Object.keys(metadata)\\n\\n for (var i = 0; i < metadataKeys.length; i++) {\\n var key = metadataKeys[i]\\n\\n if (key in this.metadata[term][field]) {\\n this.metadata[term][field][key] = this.metadata[term][field][key].concat(metadata[key])\\n } else {\\n this.metadata[term][field][key] = metadata[key]\\n }\\n }\\n}\\n/**\\n * A lunr.Query provides a programmatic way of defining queries to be performed\\n * against a {@link lunr.Index}.\\n *\\n * Prefer constructing a lunr.Query using the {@link lunr.Index#query} method\\n * so the query object is pre-initialized with the right index fields.\\n *\\n * @constructor\\n * @property {lunr.Query~Clause[]} clauses - An array of query clauses.\\n * @property {string[]} allFields - An array of all available fields in a lunr.Index.\\n */\\nlunr.Query = function (allFields) {\\n this.clauses = []\\n this.allFields = allFields\\n}\\n\\n/**\\n * Constants for indicating what kind of automatic wildcard insertion will be used when constructing a query clause.\\n *\\n * This allows wildcards to be added to the beginning and end of a term without having to manually do any string\\n * concatenation.\\n *\\n * The wildcard constants can be bitwise combined to select both leading and trailing wildcards.\\n *\\n * @constant\\n * @default\\n * @property {number} wildcard.NONE - The term will have no wildcards inserted, this is the default behaviour\\n * @property {number} wildcard.LEADING - Prepend the term with a wildcard, unless a leading wildcard already exists\\n * @property {number} wildcard.TRAILING - Append a wildcard to the term, unless a trailing wildcard already exists\\n * @see lunr.Query~Clause\\n * @see lunr.Query#clause\\n * @see lunr.Query#term\\n * @example query term with trailing wildcard\\n * query.term('foo', { wildcard: lunr.Query.wildcard.TRAILING })\\n * @example query term with leading and trailing wildcard\\n * query.term('foo', {\\n * wildcard: lunr.Query.wildcard.LEADING | lunr.Query.wildcard.TRAILING\\n * })\\n */\\n\\nlunr.Query.wildcard = new String (\\\"*\\\")\\nlunr.Query.wildcard.NONE = 0\\nlunr.Query.wildcard.LEADING = 1\\nlunr.Query.wildcard.TRAILING = 2\\n\\n/**\\n * Constants for indicating what kind of presence a term must have in matching documents.\\n *\\n * @constant\\n * @enum {number}\\n * @see lunr.Query~Clause\\n * @see lunr.Query#clause\\n * @see lunr.Query#term\\n * @example query term with required presence\\n * query.term('foo', { presence: lunr.Query.presence.REQUIRED })\\n */\\nlunr.Query.presence = {\\n /**\\n * Term's presence in a document is optional, this is the default value.\\n */\\n OPTIONAL: 1,\\n\\n /**\\n * Term's presence in a document is required, documents that do not contain\\n * this term will not be returned.\\n */\\n REQUIRED: 2,\\n\\n /**\\n * Term's presence in a document is prohibited, documents that do contain\\n * this term will not be returned.\\n */\\n PROHIBITED: 3\\n}\\n\\n/**\\n * A single clause in a {@link lunr.Query} contains a term and details on how to\\n * match that term against a {@link lunr.Index}.\\n *\\n * @typedef {Object} lunr.Query~Clause\\n * @property {string[]} fields - The fields in an index this clause should be matched against.\\n * @property {number} [boost=1] - Any boost that should be applied when matching this clause.\\n * @property {number} [editDistance] - Whether the term should have fuzzy matching applied, and how fuzzy the match should be.\\n * @property {boolean} [usePipeline] - Whether the term should be passed through the search pipeline.\\n * @property {number} [wildcard=lunr.Query.wildcard.NONE] - Whether the term should have wildcards appended or prepended.\\n * @property {number} [presence=lunr.Query.presence.OPTIONAL] - The terms presence in any matching documents.\\n */\\n\\n/**\\n * Adds a {@link lunr.Query~Clause} to this query.\\n *\\n * Unless the clause contains the fields to be matched all fields will be matched. In addition\\n * a default boost of 1 is applied to the clause.\\n *\\n * @param {lunr.Query~Clause} clause - The clause to add to this query.\\n * @see lunr.Query~Clause\\n * @returns {lunr.Query}\\n */\\nlunr.Query.prototype.clause = function (clause) {\\n if (!('fields' in clause)) {\\n clause.fields = this.allFields\\n }\\n\\n if (!('boost' in clause)) {\\n clause.boost = 1\\n }\\n\\n if (!('usePipeline' in clause)) {\\n clause.usePipeline = true\\n }\\n\\n if (!('wildcard' in clause)) {\\n clause.wildcard = lunr.Query.wildcard.NONE\\n }\\n\\n if ((clause.wildcard & lunr.Query.wildcard.LEADING) && (clause.term.charAt(0) != lunr.Query.wildcard)) {\\n clause.term = \\\"*\\\" + clause.term\\n }\\n\\n if ((clause.wildcard & lunr.Query.wildcard.TRAILING) && (clause.term.slice(-1) != lunr.Query.wildcard)) {\\n clause.term = \\\"\\\" + clause.term + \\\"*\\\"\\n }\\n\\n if (!('presence' in clause)) {\\n clause.presence = lunr.Query.presence.OPTIONAL\\n }\\n\\n this.clauses.push(clause)\\n\\n return this\\n}\\n\\n/**\\n * A negated query is one in which every clause has a presence of\\n * prohibited. These queries require some special processing to return\\n * the expected results.\\n *\\n * @returns boolean\\n */\\nlunr.Query.prototype.isNegated = function () {\\n for (var i = 0; i < this.clauses.length; i++) {\\n if (this.clauses[i].presence != lunr.Query.presence.PROHIBITED) {\\n return false\\n }\\n }\\n\\n return true\\n}\\n\\n/**\\n * Adds a term to the current query, under the covers this will create a {@link lunr.Query~Clause}\\n * to the list of clauses that make up this query.\\n *\\n * The term is used as is, i.e. no tokenization will be performed by this method. Instead conversion\\n * to a token or token-like string should be done before calling this method.\\n *\\n * The term will be converted to a string by calling `toString`. Multiple terms can be passed as an\\n * array, each term in the array will share the same options.\\n *\\n * @param {object|object[]} term - The term(s) to add to the query.\\n * @param {object} [options] - Any additional properties to add to the query clause.\\n * @returns {lunr.Query}\\n * @see lunr.Query#clause\\n * @see lunr.Query~Clause\\n * @example adding a single term to a query\\n * query.term(\\\"foo\\\")\\n * @example adding a single term to a query and specifying search fields, term boost and automatic trailing wildcard\\n * query.term(\\\"foo\\\", {\\n * fields: [\\\"title\\\"],\\n * boost: 10,\\n * wildcard: lunr.Query.wildcard.TRAILING\\n * })\\n * @example using lunr.tokenizer to convert a string to tokens before using them as terms\\n * query.term(lunr.tokenizer(\\\"foo bar\\\"))\\n */\\nlunr.Query.prototype.term = function (term, options) {\\n if (Array.isArray(term)) {\\n term.forEach(function (t) { this.term(t, lunr.utils.clone(options)) }, this)\\n return this\\n }\\n\\n var clause = options || {}\\n clause.term = term.toString()\\n\\n this.clause(clause)\\n\\n return this\\n}\\nlunr.QueryParseError = function (message, start, end) {\\n this.name = \\\"QueryParseError\\\"\\n this.message = message\\n this.start = start\\n this.end = end\\n}\\n\\nlunr.QueryParseError.prototype = new Error\\nlunr.QueryLexer = function (str) {\\n this.lexemes = []\\n this.str = str\\n this.length = str.length\\n this.pos = 0\\n this.start = 0\\n this.escapeCharPositions = []\\n}\\n\\nlunr.QueryLexer.prototype.run = function () {\\n var state = lunr.QueryLexer.lexText\\n\\n while (state) {\\n state = state(this)\\n }\\n}\\n\\nlunr.QueryLexer.prototype.sliceString = function () {\\n var subSlices = [],\\n sliceStart = this.start,\\n sliceEnd = this.pos\\n\\n for (var i = 0; i < this.escapeCharPositions.length; i++) {\\n sliceEnd = this.escapeCharPositions[i]\\n subSlices.push(this.str.slice(sliceStart, sliceEnd))\\n sliceStart = sliceEnd + 1\\n }\\n\\n subSlices.push(this.str.slice(sliceStart, this.pos))\\n this.escapeCharPositions.length = 0\\n\\n return subSlices.join('')\\n}\\n\\nlunr.QueryLexer.prototype.emit = function (type) {\\n this.lexemes.push({\\n type: type,\\n str: this.sliceString(),\\n start: this.start,\\n end: this.pos\\n })\\n\\n this.start = this.pos\\n}\\n\\nlunr.QueryLexer.prototype.escapeCharacter = function () {\\n this.escapeCharPositions.push(this.pos - 1)\\n this.pos += 1\\n}\\n\\nlunr.QueryLexer.prototype.next = function () {\\n if (this.pos >= this.length) {\\n return lunr.QueryLexer.EOS\\n }\\n\\n var char = this.str.charAt(this.pos)\\n this.pos += 1\\n return char\\n}\\n\\nlunr.QueryLexer.prototype.width = function () {\\n return this.pos - this.start\\n}\\n\\nlunr.QueryLexer.prototype.ignore = function () {\\n if (this.start == this.pos) {\\n this.pos += 1\\n }\\n\\n this.start = this.pos\\n}\\n\\nlunr.QueryLexer.prototype.backup = function () {\\n this.pos -= 1\\n}\\n\\nlunr.QueryLexer.prototype.acceptDigitRun = function () {\\n var char, charCode\\n\\n do {\\n char = this.next()\\n charCode = char.charCodeAt(0)\\n } while (charCode > 47 && charCode < 58)\\n\\n if (char != lunr.QueryLexer.EOS) {\\n this.backup()\\n }\\n}\\n\\nlunr.QueryLexer.prototype.more = function () {\\n return this.pos < this.length\\n}\\n\\nlunr.QueryLexer.EOS = 'EOS'\\nlunr.QueryLexer.FIELD = 'FIELD'\\nlunr.QueryLexer.TERM = 'TERM'\\nlunr.QueryLexer.EDIT_DISTANCE = 'EDIT_DISTANCE'\\nlunr.QueryLexer.BOOST = 'BOOST'\\nlunr.QueryLexer.PRESENCE = 'PRESENCE'\\n\\nlunr.QueryLexer.lexField = function (lexer) {\\n lexer.backup()\\n lexer.emit(lunr.QueryLexer.FIELD)\\n lexer.ignore()\\n return lunr.QueryLexer.lexText\\n}\\n\\nlunr.QueryLexer.lexTerm = function (lexer) {\\n if (lexer.width() > 1) {\\n lexer.backup()\\n lexer.emit(lunr.QueryLexer.TERM)\\n }\\n\\n lexer.ignore()\\n\\n if (lexer.more()) {\\n return lunr.QueryLexer.lexText\\n }\\n}\\n\\nlunr.QueryLexer.lexEditDistance = function (lexer) {\\n lexer.ignore()\\n lexer.acceptDigitRun()\\n lexer.emit(lunr.QueryLexer.EDIT_DISTANCE)\\n return lunr.QueryLexer.lexText\\n}\\n\\nlunr.QueryLexer.lexBoost = function (lexer) {\\n lexer.ignore()\\n lexer.acceptDigitRun()\\n lexer.emit(lunr.QueryLexer.BOOST)\\n return lunr.QueryLexer.lexText\\n}\\n\\nlunr.QueryLexer.lexEOS = function (lexer) {\\n if (lexer.width() > 0) {\\n lexer.emit(lunr.QueryLexer.TERM)\\n }\\n}\\n\\n// This matches the separator used when tokenising fields\\n// within a document. These should match otherwise it is\\n// not possible to search for some tokens within a document.\\n//\\n// It is possible for the user to change the separator on the\\n// tokenizer so it _might_ clash with any other of the special\\n// characters already used within the search string, e.g. :.\\n//\\n// This means that it is possible to change the separator in\\n// such a way that makes some words unsearchable using a search\\n// string.\\nlunr.QueryLexer.termSeparator = lunr.tokenizer.separator\\n\\nlunr.QueryLexer.lexText = function (lexer) {\\n while (true) {\\n var char = lexer.next()\\n\\n if (char == lunr.QueryLexer.EOS) {\\n return lunr.QueryLexer.lexEOS\\n }\\n\\n // Escape character is '\\\\'\\n if (char.charCodeAt(0) == 92) {\\n lexer.escapeCharacter()\\n continue\\n }\\n\\n if (char == \\\":\\\") {\\n return lunr.QueryLexer.lexField\\n }\\n\\n if (char == \\\"~\\\") {\\n lexer.backup()\\n if (lexer.width() > 0) {\\n lexer.emit(lunr.QueryLexer.TERM)\\n }\\n return lunr.QueryLexer.lexEditDistance\\n }\\n\\n if (char == \\\"^\\\") {\\n lexer.backup()\\n if (lexer.width() > 0) {\\n lexer.emit(lunr.QueryLexer.TERM)\\n }\\n return lunr.QueryLexer.lexBoost\\n }\\n\\n // \\\"+\\\" indicates term presence is required\\n // checking for length to ensure that only\\n // leading \\\"+\\\" are considered\\n if (char == \\\"+\\\" && lexer.width() === 1) {\\n lexer.emit(lunr.QueryLexer.PRESENCE)\\n return lunr.QueryLexer.lexText\\n }\\n\\n // \\\"-\\\" indicates term presence is prohibited\\n // checking for length to ensure that only\\n // leading \\\"-\\\" are considered\\n if (char == \\\"-\\\" && lexer.width() === 1) {\\n lexer.emit(lunr.QueryLexer.PRESENCE)\\n return lunr.QueryLexer.lexText\\n }\\n\\n if (char.match(lunr.QueryLexer.termSeparator)) {\\n return lunr.QueryLexer.lexTerm\\n }\\n }\\n}\\n\\nlunr.QueryParser = function (str, query) {\\n this.lexer = new lunr.QueryLexer (str)\\n this.query = query\\n this.currentClause = {}\\n this.lexemeIdx = 0\\n}\\n\\nlunr.QueryParser.prototype.parse = function () {\\n this.lexer.run()\\n this.lexemes = this.lexer.lexemes\\n\\n var state = lunr.QueryParser.parseClause\\n\\n while (state) {\\n state = state(this)\\n }\\n\\n return this.query\\n}\\n\\nlunr.QueryParser.prototype.peekLexeme = function () {\\n return this.lexemes[this.lexemeIdx]\\n}\\n\\nlunr.QueryParser.prototype.consumeLexeme = function () {\\n var lexeme = this.peekLexeme()\\n this.lexemeIdx += 1\\n return lexeme\\n}\\n\\nlunr.QueryParser.prototype.nextClause = function () {\\n var completedClause = this.currentClause\\n this.query.clause(completedClause)\\n this.currentClause = {}\\n}\\n\\nlunr.QueryParser.parseClause = function (parser) {\\n var lexeme = parser.peekLexeme()\\n\\n if (lexeme == undefined) {\\n return\\n }\\n\\n switch (lexeme.type) {\\n case lunr.QueryLexer.PRESENCE:\\n return lunr.QueryParser.parsePresence\\n case lunr.QueryLexer.FIELD:\\n return lunr.QueryParser.parseField\\n case lunr.QueryLexer.TERM:\\n return lunr.QueryParser.parseTerm\\n default:\\n var errorMessage = \\\"expected either a field or a term, found \\\" + lexeme.type\\n\\n if (lexeme.str.length >= 1) {\\n errorMessage += \\\" with value '\\\" + lexeme.str + \\\"'\\\"\\n }\\n\\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\\n }\\n}\\n\\nlunr.QueryParser.parsePresence = function (parser) {\\n var lexeme = parser.consumeLexeme()\\n\\n if (lexeme == undefined) {\\n return\\n }\\n\\n switch (lexeme.str) {\\n case \\\"-\\\":\\n parser.currentClause.presence = lunr.Query.presence.PROHIBITED\\n break\\n case \\\"+\\\":\\n parser.currentClause.presence = lunr.Query.presence.REQUIRED\\n break\\n default:\\n var errorMessage = \\\"unrecognised presence operator'\\\" + lexeme.str + \\\"'\\\"\\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\\n }\\n\\n var nextLexeme = parser.peekLexeme()\\n\\n if (nextLexeme == undefined) {\\n var errorMessage = \\\"expecting term or field, found nothing\\\"\\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\\n }\\n\\n switch (nextLexeme.type) {\\n case lunr.QueryLexer.FIELD:\\n return lunr.QueryParser.parseField\\n case lunr.QueryLexer.TERM:\\n return lunr.QueryParser.parseTerm\\n default:\\n var errorMessage = \\\"expecting term or field, found '\\\" + nextLexeme.type + \\\"'\\\"\\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\\n }\\n}\\n\\nlunr.QueryParser.parseField = function (parser) {\\n var lexeme = parser.consumeLexeme()\\n\\n if (lexeme == undefined) {\\n return\\n }\\n\\n if (parser.query.allFields.indexOf(lexeme.str) == -1) {\\n var possibleFields = parser.query.allFields.map(function (f) { return \\\"'\\\" + f + \\\"'\\\" }).join(', '),\\n errorMessage = \\\"unrecognised field '\\\" + lexeme.str + \\\"', possible fields: \\\" + possibleFields\\n\\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\\n }\\n\\n parser.currentClause.fields = [lexeme.str]\\n\\n var nextLexeme = parser.peekLexeme()\\n\\n if (nextLexeme == undefined) {\\n var errorMessage = \\\"expecting term, found nothing\\\"\\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\\n }\\n\\n switch (nextLexeme.type) {\\n case lunr.QueryLexer.TERM:\\n return lunr.QueryParser.parseTerm\\n default:\\n var errorMessage = \\\"expecting term, found '\\\" + nextLexeme.type + \\\"'\\\"\\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\\n }\\n}\\n\\nlunr.QueryParser.parseTerm = function (parser) {\\n var lexeme = parser.consumeLexeme()\\n\\n if (lexeme == undefined) {\\n return\\n }\\n\\n parser.currentClause.term = lexeme.str.toLowerCase()\\n\\n if (lexeme.str.indexOf(\\\"*\\\") != -1) {\\n parser.currentClause.usePipeline = false\\n }\\n\\n var nextLexeme = parser.peekLexeme()\\n\\n if (nextLexeme == undefined) {\\n parser.nextClause()\\n return\\n }\\n\\n switch (nextLexeme.type) {\\n case lunr.QueryLexer.TERM:\\n parser.nextClause()\\n return lunr.QueryParser.parseTerm\\n case lunr.QueryLexer.FIELD:\\n parser.nextClause()\\n return lunr.QueryParser.parseField\\n case lunr.QueryLexer.EDIT_DISTANCE:\\n return lunr.QueryParser.parseEditDistance\\n case lunr.QueryLexer.BOOST:\\n return lunr.QueryParser.parseBoost\\n case lunr.QueryLexer.PRESENCE:\\n parser.nextClause()\\n return lunr.QueryParser.parsePresence\\n default:\\n var errorMessage = \\\"Unexpected lexeme type '\\\" + nextLexeme.type + \\\"'\\\"\\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\\n }\\n}\\n\\nlunr.QueryParser.parseEditDistance = function (parser) {\\n var lexeme = parser.consumeLexeme()\\n\\n if (lexeme == undefined) {\\n return\\n }\\n\\n var editDistance = parseInt(lexeme.str, 10)\\n\\n if (isNaN(editDistance)) {\\n var errorMessage = \\\"edit distance must be numeric\\\"\\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\\n }\\n\\n parser.currentClause.editDistance = editDistance\\n\\n var nextLexeme = parser.peekLexeme()\\n\\n if (nextLexeme == undefined) {\\n parser.nextClause()\\n return\\n }\\n\\n switch (nextLexeme.type) {\\n case lunr.QueryLexer.TERM:\\n parser.nextClause()\\n return lunr.QueryParser.parseTerm\\n case lunr.QueryLexer.FIELD:\\n parser.nextClause()\\n return lunr.QueryParser.parseField\\n case lunr.QueryLexer.EDIT_DISTANCE:\\n return lunr.QueryParser.parseEditDistance\\n case lunr.QueryLexer.BOOST:\\n return lunr.QueryParser.parseBoost\\n case lunr.QueryLexer.PRESENCE:\\n parser.nextClause()\\n return lunr.QueryParser.parsePresence\\n default:\\n var errorMessage = \\\"Unexpected lexeme type '\\\" + nextLexeme.type + \\\"'\\\"\\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\\n }\\n}\\n\\nlunr.QueryParser.parseBoost = function (parser) {\\n var lexeme = parser.consumeLexeme()\\n\\n if (lexeme == undefined) {\\n return\\n }\\n\\n var boost = parseInt(lexeme.str, 10)\\n\\n if (isNaN(boost)) {\\n var errorMessage = \\\"boost must be numeric\\\"\\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\\n }\\n\\n parser.currentClause.boost = boost\\n\\n var nextLexeme = parser.peekLexeme()\\n\\n if (nextLexeme == undefined) {\\n parser.nextClause()\\n return\\n }\\n\\n switch (nextLexeme.type) {\\n case lunr.QueryLexer.TERM:\\n parser.nextClause()\\n return lunr.QueryParser.parseTerm\\n case lunr.QueryLexer.FIELD:\\n parser.nextClause()\\n return lunr.QueryParser.parseField\\n case lunr.QueryLexer.EDIT_DISTANCE:\\n return lunr.QueryParser.parseEditDistance\\n case lunr.QueryLexer.BOOST:\\n return lunr.QueryParser.parseBoost\\n case lunr.QueryLexer.PRESENCE:\\n parser.nextClause()\\n return lunr.QueryParser.parsePresence\\n default:\\n var errorMessage = \\\"Unexpected lexeme type '\\\" + nextLexeme.type + \\\"'\\\"\\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\\n }\\n}\\n\\n /**\\n * export the module via AMD, CommonJS or as a browser global\\n * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js\\n */\\n ;(function (root, factory) {\\n if (true) {\\n // AMD. Register as an anonymous module.\\n !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\\n\\t\\t\\t\\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\\n\\t\\t\\t\\t(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :\\n\\t\\t\\t\\t__WEBPACK_AMD_DEFINE_FACTORY__),\\n\\t\\t\\t\\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))\\n } else {}\\n }(this, function () {\\n /**\\n * Just return a value to define the module export.\\n * This example returns an object, but the module\\n * can return a function as the exported value.\\n */\\n return lunr\\n }))\\n})();\\n\\n\\n/***/ }),\\n/* 5 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = function (exec) {\\n try {\\n return !!exec();\\n } catch (error) {\\n return true;\\n }\\n};\\n\\n\\n/***/ }),\\n/* 6 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar DESCRIPTORS = __webpack_require__(10);\\nvar definePropertyModule = __webpack_require__(11);\\nvar createPropertyDescriptor = __webpack_require__(16);\\n\\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\\n} : function (object, key, value) {\\n object[key] = value;\\n return object;\\n};\\n\\n\\n/***/ }),\\n/* 7 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = function (it) {\\n return typeof it === 'object' ? it !== null : typeof it === 'function';\\n};\\n\\n\\n/***/ }),\\n/* 8 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar path = __webpack_require__(42);\\nvar global = __webpack_require__(0);\\n\\nvar aFunction = function (variable) {\\n return typeof variable == 'function' ? variable : undefined;\\n};\\n\\nmodule.exports = function (namespace, method) {\\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\\n};\\n\\n\\n/***/ }),\\n/* 9 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar global = __webpack_require__(0);\\nvar getOwnPropertyDescriptor = __webpack_require__(21).f;\\nvar createNonEnumerableProperty = __webpack_require__(6);\\nvar redefine = __webpack_require__(12);\\nvar setGlobal = __webpack_require__(25);\\nvar copyConstructorProperties = __webpack_require__(65);\\nvar isForced = __webpack_require__(45);\\n\\n/*\\n options.target - name of the target object\\n options.global - target is the global object\\n options.stat - export as static methods of target\\n options.proto - export as prototype methods of target\\n options.real - real prototype method for the `pure` version\\n options.forced - export even if the native feature is available\\n options.bind - bind methods to the target, required for the `pure` version\\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\\n options.sham - add a flag to not completely full polyfills\\n options.enumerable - export as enumerable property\\n options.noTargetGet - prevent calling a getter on target\\n*/\\nmodule.exports = function (options, source) {\\n var TARGET = options.target;\\n var GLOBAL = options.global;\\n var STATIC = options.stat;\\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\\n if (GLOBAL) {\\n target = global;\\n } else if (STATIC) {\\n target = global[TARGET] || setGlobal(TARGET, {});\\n } else {\\n target = (global[TARGET] || {}).prototype;\\n }\\n if (target) for (key in source) {\\n sourceProperty = source[key];\\n if (options.noTargetGet) {\\n descriptor = getOwnPropertyDescriptor(target, key);\\n targetProperty = descriptor && descriptor.value;\\n } else targetProperty = target[key];\\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\\n // contained in target\\n if (!FORCED && targetProperty !== undefined) {\\n if (typeof sourceProperty === typeof targetProperty) continue;\\n copyConstructorProperties(sourceProperty, targetProperty);\\n }\\n // add a flag to not completely full polyfills\\n if (options.sham || (targetProperty && targetProperty.sham)) {\\n createNonEnumerableProperty(sourceProperty, 'sham', true);\\n }\\n // extend global\\n redefine(target, key, sourceProperty, options);\\n }\\n};\\n\\n\\n/***/ }),\\n/* 10 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar fails = __webpack_require__(5);\\n\\n// Thank's IE8 for his funny defineProperty\\nmodule.exports = !fails(function () {\\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\\n});\\n\\n\\n/***/ }),\\n/* 11 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar DESCRIPTORS = __webpack_require__(10);\\nvar IE8_DOM_DEFINE = __webpack_require__(39);\\nvar anObject = __webpack_require__(3);\\nvar toPrimitive = __webpack_require__(38);\\n\\nvar nativeDefineProperty = Object.defineProperty;\\n\\n// `Object.defineProperty` method\\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\\n anObject(O);\\n P = toPrimitive(P, true);\\n anObject(Attributes);\\n if (IE8_DOM_DEFINE) try {\\n return nativeDefineProperty(O, P, Attributes);\\n } catch (error) { /* empty */ }\\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\\n if ('value' in Attributes) O[P] = Attributes.value;\\n return O;\\n};\\n\\n\\n/***/ }),\\n/* 12 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar global = __webpack_require__(0);\\nvar createNonEnumerableProperty = __webpack_require__(6);\\nvar has = __webpack_require__(2);\\nvar setGlobal = __webpack_require__(25);\\nvar inspectSource = __webpack_require__(26);\\nvar InternalStateModule = __webpack_require__(18);\\n\\nvar getInternalState = InternalStateModule.get;\\nvar enforceInternalState = InternalStateModule.enforce;\\nvar TEMPLATE = String(String).split('String');\\n\\n(module.exports = function (O, key, value, options) {\\n var unsafe = options ? !!options.unsafe : false;\\n var simple = options ? !!options.enumerable : false;\\n var noTargetGet = options ? !!options.noTargetGet : false;\\n var state;\\n if (typeof value == 'function') {\\n if (typeof key == 'string' && !has(value, 'name')) {\\n createNonEnumerableProperty(value, 'name', key);\\n }\\n state = enforceInternalState(value);\\n if (!state.source) {\\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\\n }\\n }\\n if (O === global) {\\n if (simple) O[key] = value;\\n else setGlobal(key, value);\\n return;\\n } else if (!unsafe) {\\n delete O[key];\\n } else if (!noTargetGet && O[key]) {\\n simple = true;\\n }\\n if (simple) O[key] = value;\\n else createNonEnumerableProperty(O, key, value);\\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\\n})(Function.prototype, 'toString', function toString() {\\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\\n});\\n\\n\\n/***/ }),\\n/* 13 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = function (it) {\\n if (typeof it != 'function') {\\n throw TypeError(String(it) + ' is not a function');\\n } return it;\\n};\\n\\n\\n/***/ }),\\n/* 14 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = false;\\n\\n\\n/***/ }),\\n/* 15 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = {};\\n\\n\\n/***/ }),\\n/* 16 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = function (bitmap, value) {\\n return {\\n enumerable: !(bitmap & 1),\\n configurable: !(bitmap & 2),\\n writable: !(bitmap & 4),\\n value: value\\n };\\n};\\n\\n\\n/***/ }),\\n/* 17 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n// toObject with fallback for non-array-like ES3 strings\\nvar IndexedObject = __webpack_require__(63);\\nvar requireObjectCoercible = __webpack_require__(23);\\n\\nmodule.exports = function (it) {\\n return IndexedObject(requireObjectCoercible(it));\\n};\\n\\n\\n/***/ }),\\n/* 18 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar NATIVE_WEAK_MAP = __webpack_require__(64);\\nvar global = __webpack_require__(0);\\nvar isObject = __webpack_require__(7);\\nvar createNonEnumerableProperty = __webpack_require__(6);\\nvar objectHas = __webpack_require__(2);\\nvar shared = __webpack_require__(27);\\nvar sharedKey = __webpack_require__(28);\\nvar hiddenKeys = __webpack_require__(29);\\n\\nvar WeakMap = global.WeakMap;\\nvar set, get, has;\\n\\nvar enforce = function (it) {\\n return has(it) ? get(it) : set(it, {});\\n};\\n\\nvar getterFor = function (TYPE) {\\n return function (it) {\\n var state;\\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\\n } return state;\\n };\\n};\\n\\nif (NATIVE_WEAK_MAP) {\\n var store = shared.state || (shared.state = new WeakMap());\\n var wmget = store.get;\\n var wmhas = store.has;\\n var wmset = store.set;\\n set = function (it, metadata) {\\n metadata.facade = it;\\n wmset.call(store, it, metadata);\\n return metadata;\\n };\\n get = function (it) {\\n return wmget.call(store, it) || {};\\n };\\n has = function (it) {\\n return wmhas.call(store, it);\\n };\\n} else {\\n var STATE = sharedKey('state');\\n hiddenKeys[STATE] = true;\\n set = function (it, metadata) {\\n metadata.facade = it;\\n createNonEnumerableProperty(it, STATE, metadata);\\n return metadata;\\n };\\n get = function (it) {\\n return objectHas(it, STATE) ? it[STATE] : {};\\n };\\n has = function (it) {\\n return objectHas(it, STATE);\\n };\\n}\\n\\nmodule.exports = {\\n set: set,\\n get: get,\\n has: has,\\n enforce: enforce,\\n getterFor: getterFor\\n};\\n\\n\\n/***/ }),\\n/* 19 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar anObject = __webpack_require__(3);\\nvar isArrayIteratorMethod = __webpack_require__(76);\\nvar toLength = __webpack_require__(44);\\nvar bind = __webpack_require__(49);\\nvar getIteratorMethod = __webpack_require__(78);\\nvar iteratorClose = __webpack_require__(79);\\n\\nvar Result = function (stopped, result) {\\n this.stopped = stopped;\\n this.result = result;\\n};\\n\\nmodule.exports = function (iterable, unboundFunction, options) {\\n var that = options && options.that;\\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\\n var INTERRUPTED = !!(options && options.INTERRUPTED);\\n var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED);\\n var iterator, iterFn, index, length, result, next, step;\\n\\n var stop = function (condition) {\\n if (iterator) iteratorClose(iterator);\\n return new Result(true, condition);\\n };\\n\\n var callFn = function (value) {\\n if (AS_ENTRIES) {\\n anObject(value);\\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\\n } return INTERRUPTED ? fn(value, stop) : fn(value);\\n };\\n\\n if (IS_ITERATOR) {\\n iterator = iterable;\\n } else {\\n iterFn = getIteratorMethod(iterable);\\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\\n // optimisation for array iterators\\n if (isArrayIteratorMethod(iterFn)) {\\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\\n result = callFn(iterable[index]);\\n if (result && result instanceof Result) return result;\\n } return new Result(false);\\n }\\n iterator = iterFn.call(iterable);\\n }\\n\\n next = iterator.next;\\n while (!(step = next.call(iterator)).done) {\\n try {\\n result = callFn(step.value);\\n } catch (error) {\\n iteratorClose(iterator);\\n throw error;\\n }\\n if (typeof result == 'object' && result && result instanceof Result) return result;\\n } return new Result(false);\\n};\\n\\n\\n/***/ }),\\n/* 20 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nvar aFunction = __webpack_require__(13);\\n\\nvar PromiseCapability = function (C) {\\n var resolve, reject;\\n this.promise = new C(function ($$resolve, $$reject) {\\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\\n resolve = $$resolve;\\n reject = $$reject;\\n });\\n this.resolve = aFunction(resolve);\\n this.reject = aFunction(reject);\\n};\\n\\n// 25.4.1.5 NewPromiseCapability(C)\\nmodule.exports.f = function (C) {\\n return new PromiseCapability(C);\\n};\\n\\n\\n/***/ }),\\n/* 21 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar DESCRIPTORS = __webpack_require__(10);\\nvar propertyIsEnumerableModule = __webpack_require__(62);\\nvar createPropertyDescriptor = __webpack_require__(16);\\nvar toIndexedObject = __webpack_require__(17);\\nvar toPrimitive = __webpack_require__(38);\\nvar has = __webpack_require__(2);\\nvar IE8_DOM_DEFINE = __webpack_require__(39);\\n\\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\\n\\n// `Object.getOwnPropertyDescriptor` method\\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\\n O = toIndexedObject(O);\\n P = toPrimitive(P, true);\\n if (IE8_DOM_DEFINE) try {\\n return nativeGetOwnPropertyDescriptor(O, P);\\n } catch (error) { /* empty */ }\\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\\n};\\n\\n\\n/***/ }),\\n/* 22 */\\n/***/ (function(module, exports) {\\n\\nvar toString = {}.toString;\\n\\nmodule.exports = function (it) {\\n return toString.call(it).slice(8, -1);\\n};\\n\\n\\n/***/ }),\\n/* 23 */\\n/***/ (function(module, exports) {\\n\\n// `RequireObjectCoercible` abstract operation\\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\\nmodule.exports = function (it) {\\n if (it == undefined) throw TypeError(\\\"Can't call method on \\\" + it);\\n return it;\\n};\\n\\n\\n/***/ }),\\n/* 24 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar global = __webpack_require__(0);\\nvar isObject = __webpack_require__(7);\\n\\nvar document = global.document;\\n// typeof document.createElement is 'object' in old IE\\nvar EXISTS = isObject(document) && isObject(document.createElement);\\n\\nmodule.exports = function (it) {\\n return EXISTS ? document.createElement(it) : {};\\n};\\n\\n\\n/***/ }),\\n/* 25 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar global = __webpack_require__(0);\\nvar createNonEnumerableProperty = __webpack_require__(6);\\n\\nmodule.exports = function (key, value) {\\n try {\\n createNonEnumerableProperty(global, key, value);\\n } catch (error) {\\n global[key] = value;\\n } return value;\\n};\\n\\n\\n/***/ }),\\n/* 26 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar store = __webpack_require__(27);\\n\\nvar functionToString = Function.toString;\\n\\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\\nif (typeof store.inspectSource != 'function') {\\n store.inspectSource = function (it) {\\n return functionToString.call(it);\\n };\\n}\\n\\nmodule.exports = store.inspectSource;\\n\\n\\n/***/ }),\\n/* 27 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar global = __webpack_require__(0);\\nvar setGlobal = __webpack_require__(25);\\n\\nvar SHARED = '__core-js_shared__';\\nvar store = global[SHARED] || setGlobal(SHARED, {});\\n\\nmodule.exports = store;\\n\\n\\n/***/ }),\\n/* 28 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar shared = __webpack_require__(40);\\nvar uid = __webpack_require__(41);\\n\\nvar keys = shared('keys');\\n\\nmodule.exports = function (key) {\\n return keys[key] || (keys[key] = uid(key));\\n};\\n\\n\\n/***/ }),\\n/* 29 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = {};\\n\\n\\n/***/ }),\\n/* 30 */\\n/***/ (function(module, exports) {\\n\\nvar ceil = Math.ceil;\\nvar floor = Math.floor;\\n\\n// `ToInteger` abstract operation\\n// https://tc39.github.io/ecma262/#sec-tointeger\\nmodule.exports = function (argument) {\\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\\n};\\n\\n\\n/***/ }),\\n/* 31 */\\n/***/ (function(module, exports) {\\n\\n// IE8- don't enum bug keys\\nmodule.exports = [\\n 'constructor',\\n 'hasOwnProperty',\\n 'isPrototypeOf',\\n 'propertyIsEnumerable',\\n 'toLocaleString',\\n 'toString',\\n 'valueOf'\\n];\\n\\n\\n/***/ }),\\n/* 32 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar has = __webpack_require__(2);\\nvar toObject = __webpack_require__(71);\\nvar sharedKey = __webpack_require__(28);\\nvar CORRECT_PROTOTYPE_GETTER = __webpack_require__(72);\\n\\nvar IE_PROTO = sharedKey('IE_PROTO');\\nvar ObjectPrototype = Object.prototype;\\n\\n// `Object.getPrototypeOf` method\\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\\n O = toObject(O);\\n if (has(O, IE_PROTO)) return O[IE_PROTO];\\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\\n return O.constructor.prototype;\\n } return O instanceof Object ? ObjectPrototype : null;\\n};\\n\\n\\n/***/ }),\\n/* 33 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar anObject = __webpack_require__(3);\\nvar defineProperties = __webpack_require__(74);\\nvar enumBugKeys = __webpack_require__(31);\\nvar hiddenKeys = __webpack_require__(29);\\nvar html = __webpack_require__(47);\\nvar documentCreateElement = __webpack_require__(24);\\nvar sharedKey = __webpack_require__(28);\\n\\nvar GT = '>';\\nvar LT = '<';\\nvar PROTOTYPE = 'prototype';\\nvar SCRIPT = 'script';\\nvar IE_PROTO = sharedKey('IE_PROTO');\\n\\nvar EmptyConstructor = function () { /* empty */ };\\n\\nvar scriptTag = function (content) {\\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\\n};\\n\\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\\n activeXDocument.write(scriptTag(''));\\n activeXDocument.close();\\n var temp = activeXDocument.parentWindow.Object;\\n activeXDocument = null; // avoid memory leak\\n return temp;\\n};\\n\\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\\nvar NullProtoObjectViaIFrame = function () {\\n // Thrash, waste and sodomy: IE GC bug\\n var iframe = documentCreateElement('iframe');\\n var JS = 'java' + SCRIPT + ':';\\n var iframeDocument;\\n iframe.style.display = 'none';\\n html.appendChild(iframe);\\n // https://github.com/zloirock/core-js/issues/475\\n iframe.src = String(JS);\\n iframeDocument = iframe.contentWindow.document;\\n iframeDocument.open();\\n iframeDocument.write(scriptTag('document.F=Object'));\\n iframeDocument.close();\\n return iframeDocument.F;\\n};\\n\\n// Check for document.domain and active x support\\n// No need to use active x approach when document.domain is not set\\n// see https://github.com/es-shims/es5-shim/issues/150\\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\\n// avoid IE GC bug\\nvar activeXDocument;\\nvar NullProtoObject = function () {\\n try {\\n /* global ActiveXObject */\\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\\n } catch (error) { /* ignore */ }\\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\\n var length = enumBugKeys.length;\\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\\n return NullProtoObject();\\n};\\n\\nhiddenKeys[IE_PROTO] = true;\\n\\n// `Object.create` method\\n// https://tc39.github.io/ecma262/#sec-object.create\\nmodule.exports = Object.create || function create(O, Properties) {\\n var result;\\n if (O !== null) {\\n EmptyConstructor[PROTOTYPE] = anObject(O);\\n result = new EmptyConstructor();\\n EmptyConstructor[PROTOTYPE] = null;\\n // add \\\"__proto__\\\" for Object.getPrototypeOf polyfill\\n result[IE_PROTO] = O;\\n } else result = NullProtoObject();\\n return Properties === undefined ? result : defineProperties(result, Properties);\\n};\\n\\n\\n/***/ }),\\n/* 34 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar wellKnownSymbol = __webpack_require__(1);\\n\\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\\nvar test = {};\\n\\ntest[TO_STRING_TAG] = 'z';\\n\\nmodule.exports = String(test) === '[object z]';\\n\\n\\n/***/ }),\\n/* 35 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar defineProperty = __webpack_require__(11).f;\\nvar has = __webpack_require__(2);\\nvar wellKnownSymbol = __webpack_require__(1);\\n\\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\\n\\nmodule.exports = function (it, TAG, STATIC) {\\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\\n }\\n};\\n\\n\\n/***/ }),\\n/* 36 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar classof = __webpack_require__(22);\\nvar global = __webpack_require__(0);\\n\\nmodule.exports = classof(global.process) == 'process';\\n\\n\\n/***/ }),\\n/* 37 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = function (exec) {\\n try {\\n return { error: false, value: exec() };\\n } catch (error) {\\n return { error: true, value: error };\\n }\\n};\\n\\n\\n/***/ }),\\n/* 38 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar isObject = __webpack_require__(7);\\n\\n// `ToPrimitive` abstract operation\\n// https://tc39.github.io/ecma262/#sec-toprimitive\\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\\n// and the second argument - flag - preferred type is a string\\nmodule.exports = function (input, PREFERRED_STRING) {\\n if (!isObject(input)) return input;\\n var fn, val;\\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\\n throw TypeError(\\\"Can't convert object to primitive value\\\");\\n};\\n\\n\\n/***/ }),\\n/* 39 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar DESCRIPTORS = __webpack_require__(10);\\nvar fails = __webpack_require__(5);\\nvar createElement = __webpack_require__(24);\\n\\n// Thank's IE8 for his funny defineProperty\\nmodule.exports = !DESCRIPTORS && !fails(function () {\\n return Object.defineProperty(createElement('div'), 'a', {\\n get: function () { return 7; }\\n }).a != 7;\\n});\\n\\n\\n/***/ }),\\n/* 40 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar IS_PURE = __webpack_require__(14);\\nvar store = __webpack_require__(27);\\n\\n(module.exports = function (key, value) {\\n return store[key] || (store[key] = value !== undefined ? value : {});\\n})('versions', []).push({\\n version: '3.8.1',\\n mode: IS_PURE ? 'pure' : 'global',\\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\\n});\\n\\n\\n/***/ }),\\n/* 41 */\\n/***/ (function(module, exports) {\\n\\nvar id = 0;\\nvar postfix = Math.random();\\n\\nmodule.exports = function (key) {\\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\\n};\\n\\n\\n/***/ }),\\n/* 42 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar global = __webpack_require__(0);\\n\\nmodule.exports = global;\\n\\n\\n/***/ }),\\n/* 43 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar has = __webpack_require__(2);\\nvar toIndexedObject = __webpack_require__(17);\\nvar indexOf = __webpack_require__(68).indexOf;\\nvar hiddenKeys = __webpack_require__(29);\\n\\nmodule.exports = function (object, names) {\\n var O = toIndexedObject(object);\\n var i = 0;\\n var result = [];\\n var key;\\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\\n // Don't enum bug & hidden keys\\n while (names.length > i) if (has(O, key = names[i++])) {\\n ~indexOf(result, key) || result.push(key);\\n }\\n return result;\\n};\\n\\n\\n/***/ }),\\n/* 44 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar toInteger = __webpack_require__(30);\\n\\nvar min = Math.min;\\n\\n// `ToLength` abstract operation\\n// https://tc39.github.io/ecma262/#sec-tolength\\nmodule.exports = function (argument) {\\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\\n};\\n\\n\\n/***/ }),\\n/* 45 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar fails = __webpack_require__(5);\\n\\nvar replacement = /#|\\\\.prototype\\\\./;\\n\\nvar isForced = function (feature, detection) {\\n var value = data[normalize(feature)];\\n return value == POLYFILL ? true\\n : value == NATIVE ? false\\n : typeof detection == 'function' ? fails(detection)\\n : !!detection;\\n};\\n\\nvar normalize = isForced.normalize = function (string) {\\n return String(string).replace(replacement, '.').toLowerCase();\\n};\\n\\nvar data = isForced.data = {};\\nvar NATIVE = isForced.NATIVE = 'N';\\nvar POLYFILL = isForced.POLYFILL = 'P';\\n\\nmodule.exports = isForced;\\n\\n\\n/***/ }),\\n/* 46 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar anObject = __webpack_require__(3);\\nvar aPossiblePrototype = __webpack_require__(73);\\n\\n// `Object.setPrototypeOf` method\\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\\n// Works with __proto__ only. Old v8 can't work with null proto objects.\\n/* eslint-disable no-proto */\\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\\n var CORRECT_SETTER = false;\\n var test = {};\\n var setter;\\n try {\\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\\n setter.call(test, []);\\n CORRECT_SETTER = test instanceof Array;\\n } catch (error) { /* empty */ }\\n return function setPrototypeOf(O, proto) {\\n anObject(O);\\n aPossiblePrototype(proto);\\n if (CORRECT_SETTER) setter.call(O, proto);\\n else O.__proto__ = proto;\\n return O;\\n };\\n}() : undefined);\\n\\n\\n/***/ }),\\n/* 47 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar getBuiltIn = __webpack_require__(8);\\n\\nmodule.exports = getBuiltIn('document', 'documentElement');\\n\\n\\n/***/ }),\\n/* 48 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar fails = __webpack_require__(5);\\n\\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\\n // Chrome 38 Symbol has incorrect toString conversion\\n // eslint-disable-next-line no-undef\\n return !String(Symbol());\\n});\\n\\n\\n/***/ }),\\n/* 49 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar aFunction = __webpack_require__(13);\\n\\n// optional / simple context binding\\nmodule.exports = function (fn, that, length) {\\n aFunction(fn);\\n if (that === undefined) return fn;\\n switch (length) {\\n case 0: return function () {\\n return fn.call(that);\\n };\\n case 1: return function (a) {\\n return fn.call(that, a);\\n };\\n case 2: return function (a, b) {\\n return fn.call(that, a, b);\\n };\\n case 3: return function (a, b, c) {\\n return fn.call(that, a, b, c);\\n };\\n }\\n return function (/* ...args */) {\\n return fn.apply(that, arguments);\\n };\\n};\\n\\n\\n/***/ }),\\n/* 50 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar TO_STRING_TAG_SUPPORT = __webpack_require__(34);\\nvar classofRaw = __webpack_require__(22);\\nvar wellKnownSymbol = __webpack_require__(1);\\n\\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\\n// ES3 wrong here\\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\\n\\n// fallback for IE11 Script Access Denied error\\nvar tryGet = function (it, key) {\\n try {\\n return it[key];\\n } catch (error) { /* empty */ }\\n};\\n\\n// getting tag from ES6+ `Object.prototype.toString`\\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\\n var O, tag, result;\\n return it === undefined ? 'Undefined' : it === null ? 'Null'\\n // @@toStringTag case\\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\\n // builtinTag case\\n : CORRECT_ARGUMENTS ? classofRaw(O)\\n // ES3 arguments fallback\\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\\n};\\n\\n\\n/***/ }),\\n/* 51 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar global = __webpack_require__(0);\\n\\nmodule.exports = global.Promise;\\n\\n\\n/***/ }),\\n/* 52 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar anObject = __webpack_require__(3);\\nvar aFunction = __webpack_require__(13);\\nvar wellKnownSymbol = __webpack_require__(1);\\n\\nvar SPECIES = wellKnownSymbol('species');\\n\\n// `SpeciesConstructor` abstract operation\\n// https://tc39.github.io/ecma262/#sec-speciesconstructor\\nmodule.exports = function (O, defaultConstructor) {\\n var C = anObject(O).constructor;\\n var S;\\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\\n};\\n\\n\\n/***/ }),\\n/* 53 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar global = __webpack_require__(0);\\nvar fails = __webpack_require__(5);\\nvar bind = __webpack_require__(49);\\nvar html = __webpack_require__(47);\\nvar createElement = __webpack_require__(24);\\nvar IS_IOS = __webpack_require__(54);\\nvar IS_NODE = __webpack_require__(36);\\n\\nvar location = global.location;\\nvar set = global.setImmediate;\\nvar clear = global.clearImmediate;\\nvar process = global.process;\\nvar MessageChannel = global.MessageChannel;\\nvar Dispatch = global.Dispatch;\\nvar counter = 0;\\nvar queue = {};\\nvar ONREADYSTATECHANGE = 'onreadystatechange';\\nvar defer, channel, port;\\n\\nvar run = function (id) {\\n // eslint-disable-next-line no-prototype-builtins\\n if (queue.hasOwnProperty(id)) {\\n var fn = queue[id];\\n delete queue[id];\\n fn();\\n }\\n};\\n\\nvar runner = function (id) {\\n return function () {\\n run(id);\\n };\\n};\\n\\nvar listener = function (event) {\\n run(event.data);\\n};\\n\\nvar post = function (id) {\\n // old engines have not location.origin\\n global.postMessage(id + '', location.protocol + '//' + location.host);\\n};\\n\\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\\nif (!set || !clear) {\\n set = function setImmediate(fn) {\\n var args = [];\\n var i = 1;\\n while (arguments.length > i) args.push(arguments[i++]);\\n queue[++counter] = function () {\\n // eslint-disable-next-line no-new-func\\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\\n };\\n defer(counter);\\n return counter;\\n };\\n clear = function clearImmediate(id) {\\n delete queue[id];\\n };\\n // Node.js 0.8-\\n if (IS_NODE) {\\n defer = function (id) {\\n process.nextTick(runner(id));\\n };\\n // Sphere (JS game engine) Dispatch API\\n } else if (Dispatch && Dispatch.now) {\\n defer = function (id) {\\n Dispatch.now(runner(id));\\n };\\n // Browsers with MessageChannel, includes WebWorkers\\n // except iOS - https://github.com/zloirock/core-js/issues/624\\n } else if (MessageChannel && !IS_IOS) {\\n channel = new MessageChannel();\\n port = channel.port2;\\n channel.port1.onmessage = listener;\\n defer = bind(port.postMessage, port, 1);\\n // Browsers with postMessage, skip WebWorkers\\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\\n } else if (\\n global.addEventListener &&\\n typeof postMessage == 'function' &&\\n !global.importScripts &&\\n location && location.protocol !== 'file:' &&\\n !fails(post)\\n ) {\\n defer = post;\\n global.addEventListener('message', listener, false);\\n // IE8-\\n } else if (ONREADYSTATECHANGE in createElement('script')) {\\n defer = function (id) {\\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\\n html.removeChild(this);\\n run(id);\\n };\\n };\\n // Rest old browsers\\n } else {\\n defer = function (id) {\\n setTimeout(runner(id), 0);\\n };\\n }\\n}\\n\\nmodule.exports = {\\n set: set,\\n clear: clear\\n};\\n\\n\\n/***/ }),\\n/* 54 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar userAgent = __webpack_require__(55);\\n\\nmodule.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);\\n\\n\\n/***/ }),\\n/* 55 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar getBuiltIn = __webpack_require__(8);\\n\\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\\n\\n\\n/***/ }),\\n/* 56 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar anObject = __webpack_require__(3);\\nvar isObject = __webpack_require__(7);\\nvar newPromiseCapability = __webpack_require__(20);\\n\\nmodule.exports = function (C, x) {\\n anObject(C);\\n if (isObject(x) && x.constructor === C) return x;\\n var promiseCapability = newPromiseCapability.f(C);\\n var resolve = promiseCapability.resolve;\\n resolve(x);\\n return promiseCapability.promise;\\n};\\n\\n\\n/***/ }),\\n/* 57 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nvar $ = __webpack_require__(9);\\nvar createIteratorConstructor = __webpack_require__(95);\\nvar getPrototypeOf = __webpack_require__(32);\\nvar setPrototypeOf = __webpack_require__(46);\\nvar setToStringTag = __webpack_require__(35);\\nvar createNonEnumerableProperty = __webpack_require__(6);\\nvar redefine = __webpack_require__(12);\\nvar wellKnownSymbol = __webpack_require__(1);\\nvar IS_PURE = __webpack_require__(14);\\nvar Iterators = __webpack_require__(15);\\nvar IteratorsCore = __webpack_require__(58);\\n\\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\\nvar ITERATOR = wellKnownSymbol('iterator');\\nvar KEYS = 'keys';\\nvar VALUES = 'values';\\nvar ENTRIES = 'entries';\\n\\nvar returnThis = function () { return this; };\\n\\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\\n createIteratorConstructor(IteratorConstructor, NAME, next);\\n\\n var getIterationMethod = function (KIND) {\\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\\n switch (KIND) {\\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\\n } return function () { return new IteratorConstructor(this); };\\n };\\n\\n var TO_STRING_TAG = NAME + ' Iterator';\\n var INCORRECT_VALUES_NAME = false;\\n var IterablePrototype = Iterable.prototype;\\n var nativeIterator = IterablePrototype[ITERATOR]\\n || IterablePrototype['@@iterator']\\n || DEFAULT && IterablePrototype[DEFAULT];\\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\\n var CurrentIteratorPrototype, methods, KEY;\\n\\n // fix native\\n if (anyNativeIterator) {\\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\\n if (setPrototypeOf) {\\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\\n }\\n }\\n // Set @@toStringTag to native iterators\\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\\n }\\n }\\n\\n // fix Array#{values, @@iterator}.name in V8 / FF\\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\\n INCORRECT_VALUES_NAME = true;\\n defaultIterator = function values() { return nativeIterator.call(this); };\\n }\\n\\n // define iterator\\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\\n }\\n Iterators[NAME] = defaultIterator;\\n\\n // export additional methods\\n if (DEFAULT) {\\n methods = {\\n values: getIterationMethod(VALUES),\\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\\n entries: getIterationMethod(ENTRIES)\\n };\\n if (FORCED) for (KEY in methods) {\\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\\n redefine(IterablePrototype, KEY, methods[KEY]);\\n }\\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\\n }\\n\\n return methods;\\n};\\n\\n\\n/***/ }),\\n/* 58 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nvar getPrototypeOf = __webpack_require__(32);\\nvar createNonEnumerableProperty = __webpack_require__(6);\\nvar has = __webpack_require__(2);\\nvar wellKnownSymbol = __webpack_require__(1);\\nvar IS_PURE = __webpack_require__(14);\\n\\nvar ITERATOR = wellKnownSymbol('iterator');\\nvar BUGGY_SAFARI_ITERATORS = false;\\n\\nvar returnThis = function () { return this; };\\n\\n// `%IteratorPrototype%` object\\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\\n\\nif ([].keys) {\\n arrayIterator = [].keys();\\n // Safari 8 has buggy iterators w/o `next`\\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\\n else {\\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\\n }\\n}\\n\\nif (IteratorPrototype == undefined) IteratorPrototype = {};\\n\\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\\n}\\n\\nmodule.exports = {\\n IteratorPrototype: IteratorPrototype,\\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\\n};\\n\\n\\n/***/ }),\\n/* 59 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n__webpack_require__(60);\\n__webpack_require__(80);\\n__webpack_require__(82);\\n__webpack_require__(90);\\n__webpack_require__(91);\\n__webpack_require__(92);\\n__webpack_require__(93);\\n__webpack_require__(96);\\nvar path = __webpack_require__(42);\\n\\nmodule.exports = path.Promise;\\n\\n\\n/***/ }),\\n/* 60 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nvar $ = __webpack_require__(9);\\nvar getPrototypeOf = __webpack_require__(32);\\nvar setPrototypeOf = __webpack_require__(46);\\nvar create = __webpack_require__(33);\\nvar createNonEnumerableProperty = __webpack_require__(6);\\nvar createPropertyDescriptor = __webpack_require__(16);\\nvar iterate = __webpack_require__(19);\\n\\nvar $AggregateError = function AggregateError(errors, message) {\\n var that = this;\\n if (!(that instanceof $AggregateError)) return new $AggregateError(errors, message);\\n if (setPrototypeOf) {\\n that = setPrototypeOf(new Error(undefined), getPrototypeOf(that));\\n }\\n if (message !== undefined) createNonEnumerableProperty(that, 'message', String(message));\\n var errorsArray = [];\\n iterate(errors, errorsArray.push, { that: errorsArray });\\n createNonEnumerableProperty(that, 'errors', errorsArray);\\n return that;\\n};\\n\\n$AggregateError.prototype = create(Error.prototype, {\\n constructor: createPropertyDescriptor(5, $AggregateError),\\n message: createPropertyDescriptor(5, ''),\\n name: createPropertyDescriptor(5, 'AggregateError')\\n});\\n\\n$({ global: true }, {\\n AggregateError: $AggregateError\\n});\\n\\n\\n/***/ }),\\n/* 61 */\\n/***/ (function(module, exports) {\\n\\nvar g;\\n\\n// This works in non-strict mode\\ng = (function() {\\n\\treturn this;\\n})();\\n\\ntry {\\n\\t// This works if eval is allowed (see CSP)\\n\\tg = g || new Function(\\\"return this\\\")();\\n} catch (e) {\\n\\t// This works if the window reference is available\\n\\tif (typeof window === \\\"object\\\") g = window;\\n}\\n\\n// g can still be undefined, but nothing to do about it...\\n// We return undefined, instead of nothing here, so it's\\n// easier to handle this case. if(!global) { ...}\\n\\nmodule.exports = g;\\n\\n\\n/***/ }),\\n/* 62 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\\n\\n// Nashorn ~ JDK8 bug\\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\\n\\n// `Object.prototype.propertyIsEnumerable` method implementation\\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\\n var descriptor = getOwnPropertyDescriptor(this, V);\\n return !!descriptor && descriptor.enumerable;\\n} : nativePropertyIsEnumerable;\\n\\n\\n/***/ }),\\n/* 63 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar fails = __webpack_require__(5);\\nvar classof = __webpack_require__(22);\\n\\nvar split = ''.split;\\n\\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\\nmodule.exports = fails(function () {\\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\\n // eslint-disable-next-line no-prototype-builtins\\n return !Object('z').propertyIsEnumerable(0);\\n}) ? function (it) {\\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\\n} : Object;\\n\\n\\n/***/ }),\\n/* 64 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar global = __webpack_require__(0);\\nvar inspectSource = __webpack_require__(26);\\n\\nvar WeakMap = global.WeakMap;\\n\\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\\n\\n\\n/***/ }),\\n/* 65 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar has = __webpack_require__(2);\\nvar ownKeys = __webpack_require__(66);\\nvar getOwnPropertyDescriptorModule = __webpack_require__(21);\\nvar definePropertyModule = __webpack_require__(11);\\n\\nmodule.exports = function (target, source) {\\n var keys = ownKeys(source);\\n var defineProperty = definePropertyModule.f;\\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\\n for (var i = 0; i < keys.length; i++) {\\n var key = keys[i];\\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\\n }\\n};\\n\\n\\n/***/ }),\\n/* 66 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar getBuiltIn = __webpack_require__(8);\\nvar getOwnPropertyNamesModule = __webpack_require__(67);\\nvar getOwnPropertySymbolsModule = __webpack_require__(70);\\nvar anObject = __webpack_require__(3);\\n\\n// all object keys, includes non-enumerable and symbols\\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\\n var keys = getOwnPropertyNamesModule.f(anObject(it));\\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\\n};\\n\\n\\n/***/ }),\\n/* 67 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar internalObjectKeys = __webpack_require__(43);\\nvar enumBugKeys = __webpack_require__(31);\\n\\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\\n\\n// `Object.getOwnPropertyNames` method\\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\\n return internalObjectKeys(O, hiddenKeys);\\n};\\n\\n\\n/***/ }),\\n/* 68 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar toIndexedObject = __webpack_require__(17);\\nvar toLength = __webpack_require__(44);\\nvar toAbsoluteIndex = __webpack_require__(69);\\n\\n// `Array.prototype.{ indexOf, includes }` methods implementation\\nvar createMethod = function (IS_INCLUDES) {\\n return function ($this, el, fromIndex) {\\n var O = toIndexedObject($this);\\n var length = toLength(O.length);\\n var index = toAbsoluteIndex(fromIndex, length);\\n var value;\\n // Array#includes uses SameValueZero equality algorithm\\n // eslint-disable-next-line no-self-compare\\n if (IS_INCLUDES && el != el) while (length > index) {\\n value = O[index++];\\n // eslint-disable-next-line no-self-compare\\n if (value != value) return true;\\n // Array#indexOf ignores holes, Array#includes - not\\n } else for (;length > index; index++) {\\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\\n } return !IS_INCLUDES && -1;\\n };\\n};\\n\\nmodule.exports = {\\n // `Array.prototype.includes` method\\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\\n includes: createMethod(true),\\n // `Array.prototype.indexOf` method\\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\\n indexOf: createMethod(false)\\n};\\n\\n\\n/***/ }),\\n/* 69 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar toInteger = __webpack_require__(30);\\n\\nvar max = Math.max;\\nvar min = Math.min;\\n\\n// Helper for a popular repeating case of the spec:\\n// Let integer be ? ToInteger(index).\\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\\nmodule.exports = function (index, length) {\\n var integer = toInteger(index);\\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\\n};\\n\\n\\n/***/ }),\\n/* 70 */\\n/***/ (function(module, exports) {\\n\\nexports.f = Object.getOwnPropertySymbols;\\n\\n\\n/***/ }),\\n/* 71 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar requireObjectCoercible = __webpack_require__(23);\\n\\n// `ToObject` abstract operation\\n// https://tc39.github.io/ecma262/#sec-toobject\\nmodule.exports = function (argument) {\\n return Object(requireObjectCoercible(argument));\\n};\\n\\n\\n/***/ }),\\n/* 72 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar fails = __webpack_require__(5);\\n\\nmodule.exports = !fails(function () {\\n function F() { /* empty */ }\\n F.prototype.constructor = null;\\n return Object.getPrototypeOf(new F()) !== F.prototype;\\n});\\n\\n\\n/***/ }),\\n/* 73 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar isObject = __webpack_require__(7);\\n\\nmodule.exports = function (it) {\\n if (!isObject(it) && it !== null) {\\n throw TypeError(\\\"Can't set \\\" + String(it) + ' as a prototype');\\n } return it;\\n};\\n\\n\\n/***/ }),\\n/* 74 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar DESCRIPTORS = __webpack_require__(10);\\nvar definePropertyModule = __webpack_require__(11);\\nvar anObject = __webpack_require__(3);\\nvar objectKeys = __webpack_require__(75);\\n\\n// `Object.defineProperties` method\\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\\n anObject(O);\\n var keys = objectKeys(Properties);\\n var length = keys.length;\\n var index = 0;\\n var key;\\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\\n return O;\\n};\\n\\n\\n/***/ }),\\n/* 75 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar internalObjectKeys = __webpack_require__(43);\\nvar enumBugKeys = __webpack_require__(31);\\n\\n// `Object.keys` method\\n// https://tc39.github.io/ecma262/#sec-object.keys\\nmodule.exports = Object.keys || function keys(O) {\\n return internalObjectKeys(O, enumBugKeys);\\n};\\n\\n\\n/***/ }),\\n/* 76 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar wellKnownSymbol = __webpack_require__(1);\\nvar Iterators = __webpack_require__(15);\\n\\nvar ITERATOR = wellKnownSymbol('iterator');\\nvar ArrayPrototype = Array.prototype;\\n\\n// check on default Array iterator\\nmodule.exports = function (it) {\\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\\n};\\n\\n\\n/***/ }),\\n/* 77 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar NATIVE_SYMBOL = __webpack_require__(48);\\n\\nmodule.exports = NATIVE_SYMBOL\\n // eslint-disable-next-line no-undef\\n && !Symbol.sham\\n // eslint-disable-next-line no-undef\\n && typeof Symbol.iterator == 'symbol';\\n\\n\\n/***/ }),\\n/* 78 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar classof = __webpack_require__(50);\\nvar Iterators = __webpack_require__(15);\\nvar wellKnownSymbol = __webpack_require__(1);\\n\\nvar ITERATOR = wellKnownSymbol('iterator');\\n\\nmodule.exports = function (it) {\\n if (it != undefined) return it[ITERATOR]\\n || it['@@iterator']\\n || Iterators[classof(it)];\\n};\\n\\n\\n/***/ }),\\n/* 79 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar anObject = __webpack_require__(3);\\n\\nmodule.exports = function (iterator) {\\n var returnMethod = iterator['return'];\\n if (returnMethod !== undefined) {\\n return anObject(returnMethod.call(iterator)).value;\\n }\\n};\\n\\n\\n/***/ }),\\n/* 80 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar TO_STRING_TAG_SUPPORT = __webpack_require__(34);\\nvar redefine = __webpack_require__(12);\\nvar toString = __webpack_require__(81);\\n\\n// `Object.prototype.toString` method\\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\\nif (!TO_STRING_TAG_SUPPORT) {\\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\\n}\\n\\n\\n/***/ }),\\n/* 81 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nvar TO_STRING_TAG_SUPPORT = __webpack_require__(34);\\nvar classof = __webpack_require__(50);\\n\\n// `Object.prototype.toString` method implementation\\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\\n return '[object ' + classof(this) + ']';\\n};\\n\\n\\n/***/ }),\\n/* 82 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nvar $ = __webpack_require__(9);\\nvar IS_PURE = __webpack_require__(14);\\nvar global = __webpack_require__(0);\\nvar getBuiltIn = __webpack_require__(8);\\nvar NativePromise = __webpack_require__(51);\\nvar redefine = __webpack_require__(12);\\nvar redefineAll = __webpack_require__(83);\\nvar setToStringTag = __webpack_require__(35);\\nvar setSpecies = __webpack_require__(84);\\nvar isObject = __webpack_require__(7);\\nvar aFunction = __webpack_require__(13);\\nvar anInstance = __webpack_require__(85);\\nvar inspectSource = __webpack_require__(26);\\nvar iterate = __webpack_require__(19);\\nvar checkCorrectnessOfIteration = __webpack_require__(86);\\nvar speciesConstructor = __webpack_require__(52);\\nvar task = __webpack_require__(53).set;\\nvar microtask = __webpack_require__(87);\\nvar promiseResolve = __webpack_require__(56);\\nvar hostReportErrors = __webpack_require__(88);\\nvar newPromiseCapabilityModule = __webpack_require__(20);\\nvar perform = __webpack_require__(37);\\nvar InternalStateModule = __webpack_require__(18);\\nvar isForced = __webpack_require__(45);\\nvar wellKnownSymbol = __webpack_require__(1);\\nvar IS_NODE = __webpack_require__(36);\\nvar V8_VERSION = __webpack_require__(89);\\n\\nvar SPECIES = wellKnownSymbol('species');\\nvar PROMISE = 'Promise';\\nvar getInternalState = InternalStateModule.get;\\nvar setInternalState = InternalStateModule.set;\\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\\nvar PromiseConstructor = NativePromise;\\nvar TypeError = global.TypeError;\\nvar document = global.document;\\nvar process = global.process;\\nvar $fetch = getBuiltIn('fetch');\\nvar newPromiseCapability = newPromiseCapabilityModule.f;\\nvar newGenericPromiseCapability = newPromiseCapability;\\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\\nvar NATIVE_REJECTION_EVENT = typeof PromiseRejectionEvent == 'function';\\nvar UNHANDLED_REJECTION = 'unhandledrejection';\\nvar REJECTION_HANDLED = 'rejectionhandled';\\nvar PENDING = 0;\\nvar FULFILLED = 1;\\nvar REJECTED = 2;\\nvar HANDLED = 1;\\nvar UNHANDLED = 2;\\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\\n\\nvar FORCED = isForced(PROMISE, function () {\\n var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\\n if (!GLOBAL_CORE_JS_PROMISE) {\\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\\n // We can't detect it synchronously, so just check versions\\n if (V8_VERSION === 66) return true;\\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\\n if (!IS_NODE && !NATIVE_REJECTION_EVENT) return true;\\n }\\n // We need Promise#finally in the pure version for preventing prototype pollution\\n if (IS_PURE && !PromiseConstructor.prototype['finally']) return true;\\n // We can't use @@species feature detection in V8 since it causes\\n // deoptimization and performance degradation\\n // https://github.com/zloirock/core-js/issues/679\\n if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false;\\n // Detect correctness of subclassing with @@species support\\n var promise = PromiseConstructor.resolve(1);\\n var FakePromise = function (exec) {\\n exec(function () { /* empty */ }, function () { /* empty */ });\\n };\\n var constructor = promise.constructor = {};\\n constructor[SPECIES] = FakePromise;\\n return !(promise.then(function () { /* empty */ }) instanceof FakePromise);\\n});\\n\\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\\n PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\\n});\\n\\n// helpers\\nvar isThenable = function (it) {\\n var then;\\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\\n};\\n\\nvar notify = function (state, isReject) {\\n if (state.notified) return;\\n state.notified = true;\\n var chain = state.reactions;\\n microtask(function () {\\n var value = state.value;\\n var ok = state.state == FULFILLED;\\n var index = 0;\\n // variable length - can't use forEach\\n while (chain.length > index) {\\n var reaction = chain[index++];\\n var handler = ok ? reaction.ok : reaction.fail;\\n var resolve = reaction.resolve;\\n var reject = reaction.reject;\\n var domain = reaction.domain;\\n var result, then, exited;\\n try {\\n if (handler) {\\n if (!ok) {\\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\\n state.rejection = HANDLED;\\n }\\n if (handler === true) result = value;\\n else {\\n if (domain) domain.enter();\\n result = handler(value); // can throw\\n if (domain) {\\n domain.exit();\\n exited = true;\\n }\\n }\\n if (result === reaction.promise) {\\n reject(TypeError('Promise-chain cycle'));\\n } else if (then = isThenable(result)) {\\n then.call(result, resolve, reject);\\n } else resolve(result);\\n } else reject(value);\\n } catch (error) {\\n if (domain && !exited) domain.exit();\\n reject(error);\\n }\\n }\\n state.reactions = [];\\n state.notified = false;\\n if (isReject && !state.rejection) onUnhandled(state);\\n });\\n};\\n\\nvar dispatchEvent = function (name, promise, reason) {\\n var event, handler;\\n if (DISPATCH_EVENT) {\\n event = document.createEvent('Event');\\n event.promise = promise;\\n event.reason = reason;\\n event.initEvent(name, false, true);\\n global.dispatchEvent(event);\\n } else event = { promise: promise, reason: reason };\\n if (!NATIVE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);\\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\\n};\\n\\nvar onUnhandled = function (state) {\\n task.call(global, function () {\\n var promise = state.facade;\\n var value = state.value;\\n var IS_UNHANDLED = isUnhandled(state);\\n var result;\\n if (IS_UNHANDLED) {\\n result = perform(function () {\\n if (IS_NODE) {\\n process.emit('unhandledRejection', value, promise);\\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\\n });\\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\\n if (result.error) throw result.value;\\n }\\n });\\n};\\n\\nvar isUnhandled = function (state) {\\n return state.rejection !== HANDLED && !state.parent;\\n};\\n\\nvar onHandleUnhandled = function (state) {\\n task.call(global, function () {\\n var promise = state.facade;\\n if (IS_NODE) {\\n process.emit('rejectionHandled', promise);\\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\\n });\\n};\\n\\nvar bind = function (fn, state, unwrap) {\\n return function (value) {\\n fn(state, value, unwrap);\\n };\\n};\\n\\nvar internalReject = function (state, value, unwrap) {\\n if (state.done) return;\\n state.done = true;\\n if (unwrap) state = unwrap;\\n state.value = value;\\n state.state = REJECTED;\\n notify(state, true);\\n};\\n\\nvar internalResolve = function (state, value, unwrap) {\\n if (state.done) return;\\n state.done = true;\\n if (unwrap) state = unwrap;\\n try {\\n if (state.facade === value) throw TypeError(\\\"Promise can't be resolved itself\\\");\\n var then = isThenable(value);\\n if (then) {\\n microtask(function () {\\n var wrapper = { done: false };\\n try {\\n then.call(value,\\n bind(internalResolve, wrapper, state),\\n bind(internalReject, wrapper, state)\\n );\\n } catch (error) {\\n internalReject(wrapper, error, state);\\n }\\n });\\n } else {\\n state.value = value;\\n state.state = FULFILLED;\\n notify(state, false);\\n }\\n } catch (error) {\\n internalReject({ done: false }, error, state);\\n }\\n};\\n\\n// constructor polyfill\\nif (FORCED) {\\n // 25.4.3.1 Promise(executor)\\n PromiseConstructor = function Promise(executor) {\\n anInstance(this, PromiseConstructor, PROMISE);\\n aFunction(executor);\\n Internal.call(this);\\n var state = getInternalState(this);\\n try {\\n executor(bind(internalResolve, state), bind(internalReject, state));\\n } catch (error) {\\n internalReject(state, error);\\n }\\n };\\n // eslint-disable-next-line no-unused-vars\\n Internal = function Promise(executor) {\\n setInternalState(this, {\\n type: PROMISE,\\n done: false,\\n notified: false,\\n parent: false,\\n reactions: [],\\n rejection: false,\\n state: PENDING,\\n value: undefined\\n });\\n };\\n Internal.prototype = redefineAll(PromiseConstructor.prototype, {\\n // `Promise.prototype.then` method\\n // https://tc39.github.io/ecma262/#sec-promise.prototype.then\\n then: function then(onFulfilled, onRejected) {\\n var state = getInternalPromiseState(this);\\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\\n reaction.fail = typeof onRejected == 'function' && onRejected;\\n reaction.domain = IS_NODE ? process.domain : undefined;\\n state.parent = true;\\n state.reactions.push(reaction);\\n if (state.state != PENDING) notify(state, false);\\n return reaction.promise;\\n },\\n // `Promise.prototype.catch` method\\n // https://tc39.github.io/ecma262/#sec-promise.prototype.catch\\n 'catch': function (onRejected) {\\n return this.then(undefined, onRejected);\\n }\\n });\\n OwnPromiseCapability = function () {\\n var promise = new Internal();\\n var state = getInternalState(promise);\\n this.promise = promise;\\n this.resolve = bind(internalResolve, state);\\n this.reject = bind(internalReject, state);\\n };\\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\\n return C === PromiseConstructor || C === PromiseWrapper\\n ? new OwnPromiseCapability(C)\\n : newGenericPromiseCapability(C);\\n };\\n\\n if (!IS_PURE && typeof NativePromise == 'function') {\\n nativeThen = NativePromise.prototype.then;\\n\\n // wrap native Promise#then for native async functions\\n redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {\\n var that = this;\\n return new PromiseConstructor(function (resolve, reject) {\\n nativeThen.call(that, resolve, reject);\\n }).then(onFulfilled, onRejected);\\n // https://github.com/zloirock/core-js/issues/640\\n }, { unsafe: true });\\n\\n // wrap fetch result\\n if (typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, {\\n // eslint-disable-next-line no-unused-vars\\n fetch: function fetch(input /* , init */) {\\n return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\\n }\\n });\\n }\\n}\\n\\n$({ global: true, wrap: true, forced: FORCED }, {\\n Promise: PromiseConstructor\\n});\\n\\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\\nsetSpecies(PROMISE);\\n\\nPromiseWrapper = getBuiltIn(PROMISE);\\n\\n// statics\\n$({ target: PROMISE, stat: true, forced: FORCED }, {\\n // `Promise.reject` method\\n // https://tc39.github.io/ecma262/#sec-promise.reject\\n reject: function reject(r) {\\n var capability = newPromiseCapability(this);\\n capability.reject.call(undefined, r);\\n return capability.promise;\\n }\\n});\\n\\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\\n // `Promise.resolve` method\\n // https://tc39.github.io/ecma262/#sec-promise.resolve\\n resolve: function resolve(x) {\\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\\n }\\n});\\n\\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\\n // `Promise.all` method\\n // https://tc39.github.io/ecma262/#sec-promise.all\\n all: function all(iterable) {\\n var C = this;\\n var capability = newPromiseCapability(C);\\n var resolve = capability.resolve;\\n var reject = capability.reject;\\n var result = perform(function () {\\n var $promiseResolve = aFunction(C.resolve);\\n var values = [];\\n var counter = 0;\\n var remaining = 1;\\n iterate(iterable, function (promise) {\\n var index = counter++;\\n var alreadyCalled = false;\\n values.push(undefined);\\n remaining++;\\n $promiseResolve.call(C, promise).then(function (value) {\\n if (alreadyCalled) return;\\n alreadyCalled = true;\\n values[index] = value;\\n --remaining || resolve(values);\\n }, reject);\\n });\\n --remaining || resolve(values);\\n });\\n if (result.error) reject(result.value);\\n return capability.promise;\\n },\\n // `Promise.race` method\\n // https://tc39.github.io/ecma262/#sec-promise.race\\n race: function race(iterable) {\\n var C = this;\\n var capability = newPromiseCapability(C);\\n var reject = capability.reject;\\n var result = perform(function () {\\n var $promiseResolve = aFunction(C.resolve);\\n iterate(iterable, function (promise) {\\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\\n });\\n });\\n if (result.error) reject(result.value);\\n return capability.promise;\\n }\\n});\\n\\n\\n/***/ }),\\n/* 83 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar redefine = __webpack_require__(12);\\n\\nmodule.exports = function (target, src, options) {\\n for (var key in src) redefine(target, key, src[key], options);\\n return target;\\n};\\n\\n\\n/***/ }),\\n/* 84 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nvar getBuiltIn = __webpack_require__(8);\\nvar definePropertyModule = __webpack_require__(11);\\nvar wellKnownSymbol = __webpack_require__(1);\\nvar DESCRIPTORS = __webpack_require__(10);\\n\\nvar SPECIES = wellKnownSymbol('species');\\n\\nmodule.exports = function (CONSTRUCTOR_NAME) {\\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\\n var defineProperty = definePropertyModule.f;\\n\\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\\n defineProperty(Constructor, SPECIES, {\\n configurable: true,\\n get: function () { return this; }\\n });\\n }\\n};\\n\\n\\n/***/ }),\\n/* 85 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = function (it, Constructor, name) {\\n if (!(it instanceof Constructor)) {\\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\\n } return it;\\n};\\n\\n\\n/***/ }),\\n/* 86 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar wellKnownSymbol = __webpack_require__(1);\\n\\nvar ITERATOR = wellKnownSymbol('iterator');\\nvar SAFE_CLOSING = false;\\n\\ntry {\\n var called = 0;\\n var iteratorWithReturn = {\\n next: function () {\\n return { done: !!called++ };\\n },\\n 'return': function () {\\n SAFE_CLOSING = true;\\n }\\n };\\n iteratorWithReturn[ITERATOR] = function () {\\n return this;\\n };\\n // eslint-disable-next-line no-throw-literal\\n Array.from(iteratorWithReturn, function () { throw 2; });\\n} catch (error) { /* empty */ }\\n\\nmodule.exports = function (exec, SKIP_CLOSING) {\\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\\n var ITERATION_SUPPORT = false;\\n try {\\n var object = {};\\n object[ITERATOR] = function () {\\n return {\\n next: function () {\\n return { done: ITERATION_SUPPORT = true };\\n }\\n };\\n };\\n exec(object);\\n } catch (error) { /* empty */ }\\n return ITERATION_SUPPORT;\\n};\\n\\n\\n/***/ }),\\n/* 87 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar global = __webpack_require__(0);\\nvar getOwnPropertyDescriptor = __webpack_require__(21).f;\\nvar macrotask = __webpack_require__(53).set;\\nvar IS_IOS = __webpack_require__(54);\\nvar IS_NODE = __webpack_require__(36);\\n\\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\\nvar document = global.document;\\nvar process = global.process;\\nvar Promise = global.Promise;\\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\\n\\nvar flush, head, last, notify, toggle, node, promise, then;\\n\\n// modern engines have queueMicrotask method\\nif (!queueMicrotask) {\\n flush = function () {\\n var parent, fn;\\n if (IS_NODE && (parent = process.domain)) parent.exit();\\n while (head) {\\n fn = head.fn;\\n head = head.next;\\n try {\\n fn();\\n } catch (error) {\\n if (head) notify();\\n else last = undefined;\\n throw error;\\n }\\n } last = undefined;\\n if (parent) parent.enter();\\n };\\n\\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\\n if (!IS_IOS && !IS_NODE && MutationObserver && document) {\\n toggle = true;\\n node = document.createTextNode('');\\n new MutationObserver(flush).observe(node, { characterData: true });\\n notify = function () {\\n node.data = toggle = !toggle;\\n };\\n // environments with maybe non-completely correct, but existent Promise\\n } else if (Promise && Promise.resolve) {\\n // Promise.resolve without an argument throws an error in LG WebOS 2\\n promise = Promise.resolve(undefined);\\n then = promise.then;\\n notify = function () {\\n then.call(promise, flush);\\n };\\n // Node.js without promises\\n } else if (IS_NODE) {\\n notify = function () {\\n process.nextTick(flush);\\n };\\n // for other environments - macrotask based on:\\n // - setImmediate\\n // - MessageChannel\\n // - window.postMessag\\n // - onreadystatechange\\n // - setTimeout\\n } else {\\n notify = function () {\\n // strange IE + webpack dev server bug - use .call(global)\\n macrotask.call(global, flush);\\n };\\n }\\n}\\n\\nmodule.exports = queueMicrotask || function (fn) {\\n var task = { fn: fn, next: undefined };\\n if (last) last.next = task;\\n if (!head) {\\n head = task;\\n notify();\\n } last = task;\\n};\\n\\n\\n/***/ }),\\n/* 88 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar global = __webpack_require__(0);\\n\\nmodule.exports = function (a, b) {\\n var console = global.console;\\n if (console && console.error) {\\n arguments.length === 1 ? console.error(a) : console.error(a, b);\\n }\\n};\\n\\n\\n/***/ }),\\n/* 89 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar global = __webpack_require__(0);\\nvar userAgent = __webpack_require__(55);\\n\\nvar process = global.process;\\nvar versions = process && process.versions;\\nvar v8 = versions && versions.v8;\\nvar match, version;\\n\\nif (v8) {\\n match = v8.split('.');\\n version = match[0] + match[1];\\n} else if (userAgent) {\\n match = userAgent.match(/Edge\\\\/(\\\\d+)/);\\n if (!match || match[1] >= 74) {\\n match = userAgent.match(/Chrome\\\\/(\\\\d+)/);\\n if (match) version = match[1];\\n }\\n}\\n\\nmodule.exports = version && +version;\\n\\n\\n/***/ }),\\n/* 90 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nvar $ = __webpack_require__(9);\\nvar aFunction = __webpack_require__(13);\\nvar newPromiseCapabilityModule = __webpack_require__(20);\\nvar perform = __webpack_require__(37);\\nvar iterate = __webpack_require__(19);\\n\\n// `Promise.allSettled` method\\n// https://github.com/tc39/proposal-promise-allSettled\\n$({ target: 'Promise', stat: true }, {\\n allSettled: function allSettled(iterable) {\\n var C = this;\\n var capability = newPromiseCapabilityModule.f(C);\\n var resolve = capability.resolve;\\n var reject = capability.reject;\\n var result = perform(function () {\\n var promiseResolve = aFunction(C.resolve);\\n var values = [];\\n var counter = 0;\\n var remaining = 1;\\n iterate(iterable, function (promise) {\\n var index = counter++;\\n var alreadyCalled = false;\\n values.push(undefined);\\n remaining++;\\n promiseResolve.call(C, promise).then(function (value) {\\n if (alreadyCalled) return;\\n alreadyCalled = true;\\n values[index] = { status: 'fulfilled', value: value };\\n --remaining || resolve(values);\\n }, function (error) {\\n if (alreadyCalled) return;\\n alreadyCalled = true;\\n values[index] = { status: 'rejected', reason: error };\\n --remaining || resolve(values);\\n });\\n });\\n --remaining || resolve(values);\\n });\\n if (result.error) reject(result.value);\\n return capability.promise;\\n }\\n});\\n\\n\\n/***/ }),\\n/* 91 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nvar $ = __webpack_require__(9);\\nvar aFunction = __webpack_require__(13);\\nvar getBuiltIn = __webpack_require__(8);\\nvar newPromiseCapabilityModule = __webpack_require__(20);\\nvar perform = __webpack_require__(37);\\nvar iterate = __webpack_require__(19);\\n\\nvar PROMISE_ANY_ERROR = 'No one promise resolved';\\n\\n// `Promise.any` method\\n// https://github.com/tc39/proposal-promise-any\\n$({ target: 'Promise', stat: true }, {\\n any: function any(iterable) {\\n var C = this;\\n var capability = newPromiseCapabilityModule.f(C);\\n var resolve = capability.resolve;\\n var reject = capability.reject;\\n var result = perform(function () {\\n var promiseResolve = aFunction(C.resolve);\\n var errors = [];\\n var counter = 0;\\n var remaining = 1;\\n var alreadyResolved = false;\\n iterate(iterable, function (promise) {\\n var index = counter++;\\n var alreadyRejected = false;\\n errors.push(undefined);\\n remaining++;\\n promiseResolve.call(C, promise).then(function (value) {\\n if (alreadyRejected || alreadyResolved) return;\\n alreadyResolved = true;\\n resolve(value);\\n }, function (error) {\\n if (alreadyRejected || alreadyResolved) return;\\n alreadyRejected = true;\\n errors[index] = error;\\n --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR));\\n });\\n });\\n --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR));\\n });\\n if (result.error) reject(result.value);\\n return capability.promise;\\n }\\n});\\n\\n\\n/***/ }),\\n/* 92 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nvar $ = __webpack_require__(9);\\nvar IS_PURE = __webpack_require__(14);\\nvar NativePromise = __webpack_require__(51);\\nvar fails = __webpack_require__(5);\\nvar getBuiltIn = __webpack_require__(8);\\nvar speciesConstructor = __webpack_require__(52);\\nvar promiseResolve = __webpack_require__(56);\\nvar redefine = __webpack_require__(12);\\n\\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\\nvar NON_GENERIC = !!NativePromise && fails(function () {\\n NativePromise.prototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\\n});\\n\\n// `Promise.prototype.finally` method\\n// https://tc39.github.io/ecma262/#sec-promise.prototype.finally\\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\\n 'finally': function (onFinally) {\\n var C = speciesConstructor(this, getBuiltIn('Promise'));\\n var isFunction = typeof onFinally == 'function';\\n return this.then(\\n isFunction ? function (x) {\\n return promiseResolve(C, onFinally()).then(function () { return x; });\\n } : onFinally,\\n isFunction ? function (e) {\\n return promiseResolve(C, onFinally()).then(function () { throw e; });\\n } : onFinally\\n );\\n }\\n});\\n\\n// patch native Promise.prototype for native async functions\\nif (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {\\n redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);\\n}\\n\\n\\n/***/ }),\\n/* 93 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nvar charAt = __webpack_require__(94).charAt;\\nvar InternalStateModule = __webpack_require__(18);\\nvar defineIterator = __webpack_require__(57);\\n\\nvar STRING_ITERATOR = 'String Iterator';\\nvar setInternalState = InternalStateModule.set;\\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\\n\\n// `String.prototype[@@iterator]` method\\n// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator\\ndefineIterator(String, 'String', function (iterated) {\\n setInternalState(this, {\\n type: STRING_ITERATOR,\\n string: String(iterated),\\n index: 0\\n });\\n// `%StringIteratorPrototype%.next` method\\n// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next\\n}, function next() {\\n var state = getInternalState(this);\\n var string = state.string;\\n var index = state.index;\\n var point;\\n if (index >= string.length) return { value: undefined, done: true };\\n point = charAt(string, index);\\n state.index += point.length;\\n return { value: point, done: false };\\n});\\n\\n\\n/***/ }),\\n/* 94 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar toInteger = __webpack_require__(30);\\nvar requireObjectCoercible = __webpack_require__(23);\\n\\n// `String.prototype.{ codePointAt, at }` methods implementation\\nvar createMethod = function (CONVERT_TO_STRING) {\\n return function ($this, pos) {\\n var S = String(requireObjectCoercible($this));\\n var position = toInteger(pos);\\n var size = S.length;\\n var first, second;\\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\\n first = S.charCodeAt(position);\\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\\n ? CONVERT_TO_STRING ? S.charAt(position) : first\\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\\n };\\n};\\n\\nmodule.exports = {\\n // `String.prototype.codePointAt` method\\n // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\\n codeAt: createMethod(false),\\n // `String.prototype.at` method\\n // https://github.com/mathiasbynens/String.prototype.at\\n charAt: createMethod(true)\\n};\\n\\n\\n/***/ }),\\n/* 95 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nvar IteratorPrototype = __webpack_require__(58).IteratorPrototype;\\nvar create = __webpack_require__(33);\\nvar createPropertyDescriptor = __webpack_require__(16);\\nvar setToStringTag = __webpack_require__(35);\\nvar Iterators = __webpack_require__(15);\\n\\nvar returnThis = function () { return this; };\\n\\nmodule.exports = function (IteratorConstructor, NAME, next) {\\n var TO_STRING_TAG = NAME + ' Iterator';\\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\\n Iterators[TO_STRING_TAG] = returnThis;\\n return IteratorConstructor;\\n};\\n\\n\\n/***/ }),\\n/* 96 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar global = __webpack_require__(0);\\nvar DOMIterables = __webpack_require__(97);\\nvar ArrayIteratorMethods = __webpack_require__(98);\\nvar createNonEnumerableProperty = __webpack_require__(6);\\nvar wellKnownSymbol = __webpack_require__(1);\\n\\nvar ITERATOR = wellKnownSymbol('iterator');\\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\\nvar ArrayValues = ArrayIteratorMethods.values;\\n\\nfor (var COLLECTION_NAME in DOMIterables) {\\n var Collection = global[COLLECTION_NAME];\\n var CollectionPrototype = Collection && Collection.prototype;\\n if (CollectionPrototype) {\\n // some Chrome versions have non-configurable methods on DOMTokenList\\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\\n } catch (error) {\\n CollectionPrototype[ITERATOR] = ArrayValues;\\n }\\n if (!CollectionPrototype[TO_STRING_TAG]) {\\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\\n }\\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\\n // some Chrome versions have non-configurable methods on DOMTokenList\\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\\n } catch (error) {\\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\\n }\\n }\\n }\\n}\\n\\n\\n/***/ }),\\n/* 97 */\\n/***/ (function(module, exports) {\\n\\n// iterable DOM collections\\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\\nmodule.exports = {\\n CSSRuleList: 0,\\n CSSStyleDeclaration: 0,\\n CSSValueList: 0,\\n ClientRectList: 0,\\n DOMRectList: 0,\\n DOMStringList: 0,\\n DOMTokenList: 1,\\n DataTransferItemList: 0,\\n FileList: 0,\\n HTMLAllCollection: 0,\\n HTMLCollection: 0,\\n HTMLFormElement: 0,\\n HTMLSelectElement: 0,\\n MediaList: 0,\\n MimeTypeArray: 0,\\n NamedNodeMap: 0,\\n NodeList: 1,\\n PaintRequestList: 0,\\n Plugin: 0,\\n PluginArray: 0,\\n SVGLengthList: 0,\\n SVGNumberList: 0,\\n SVGPathSegList: 0,\\n SVGPointList: 0,\\n SVGStringList: 0,\\n SVGTransformList: 0,\\n SourceBufferList: 0,\\n StyleSheetList: 0,\\n TextTrackCueList: 0,\\n TextTrackList: 0,\\n TouchList: 0\\n};\\n\\n\\n/***/ }),\\n/* 98 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nvar toIndexedObject = __webpack_require__(17);\\nvar addToUnscopables = __webpack_require__(99);\\nvar Iterators = __webpack_require__(15);\\nvar InternalStateModule = __webpack_require__(18);\\nvar defineIterator = __webpack_require__(57);\\n\\nvar ARRAY_ITERATOR = 'Array Iterator';\\nvar setInternalState = InternalStateModule.set;\\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\\n\\n// `Array.prototype.entries` method\\n// https://tc39.github.io/ecma262/#sec-array.prototype.entries\\n// `Array.prototype.keys` method\\n// https://tc39.github.io/ecma262/#sec-array.prototype.keys\\n// `Array.prototype.values` method\\n// https://tc39.github.io/ecma262/#sec-array.prototype.values\\n// `Array.prototype[@@iterator]` method\\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator\\n// `CreateArrayIterator` internal method\\n// https://tc39.github.io/ecma262/#sec-createarrayiterator\\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\\n setInternalState(this, {\\n type: ARRAY_ITERATOR,\\n target: toIndexedObject(iterated), // target\\n index: 0, // next index\\n kind: kind // kind\\n });\\n// `%ArrayIteratorPrototype%.next` method\\n// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next\\n}, function () {\\n var state = getInternalState(this);\\n var target = state.target;\\n var kind = state.kind;\\n var index = state.index++;\\n if (!target || index >= target.length) {\\n state.target = undefined;\\n return { value: undefined, done: true };\\n }\\n if (kind == 'keys') return { value: index, done: false };\\n if (kind == 'values') return { value: target[index], done: false };\\n return { value: [index, target[index]], done: false };\\n}, 'values');\\n\\n// argumentsList[@@iterator] is %ArrayProto_values%\\n// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject\\n// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject\\nIterators.Arguments = Iterators.Array;\\n\\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\\naddToUnscopables('keys');\\naddToUnscopables('values');\\naddToUnscopables('entries');\\n\\n\\n/***/ }),\\n/* 99 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar wellKnownSymbol = __webpack_require__(1);\\nvar create = __webpack_require__(33);\\nvar definePropertyModule = __webpack_require__(11);\\n\\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\\nvar ArrayPrototype = Array.prototype;\\n\\n// Array.prototype[@@unscopables]\\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\\n configurable: true,\\n value: create(null)\\n });\\n}\\n\\n// add a key to Array.prototype[@@unscopables]\\nmodule.exports = function (key) {\\n ArrayPrototype[UNSCOPABLES][key] = true;\\n};\\n\\n\\n/***/ }),\\n/* 100 */\\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n// ESM COMPAT FLAG\\n__webpack_require__.r(__webpack_exports__);\\n\\n// EXPORTS\\n__webpack_require__.d(__webpack_exports__, \\\"add\\\", function() { return /* binding */ add; });\\n__webpack_require__.d(__webpack_exports__, \\\"done\\\", function() { return /* binding */ done; });\\n__webpack_require__.d(__webpack_exports__, \\\"toJS\\\", function() { return /* binding */ toJS; });\\n__webpack_require__.d(__webpack_exports__, \\\"fromExternalJS\\\", function() { return /* binding */ fromExternalJS; });\\n__webpack_require__.d(__webpack_exports__, \\\"load\\\", function() { return /* binding */ load; });\\n__webpack_require__.d(__webpack_exports__, \\\"dispose\\\", function() { return /* binding */ dispose; });\\n__webpack_require__.d(__webpack_exports__, \\\"search\\\", function() { return /* binding */ search; });\\n\\n// CONCATENATED MODULE: ./node_modules/tslib/tslib.es6.js\\n/*! *****************************************************************************\\r\\nCopyright (c) Microsoft Corporation.\\r\\n\\r\\nPermission to use, copy, modify, and/or distribute this software for any\\r\\npurpose with or without fee is hereby granted.\\r\\n\\r\\nTHE SOFTWARE IS PROVIDED \\\"AS IS\\\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\\r\\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\\r\\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\\r\\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\\r\\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\\r\\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\\r\\nPERFORMANCE OF THIS SOFTWARE.\\r\\n***************************************************************************** */\\r\\n/* global Reflect, Promise */\\r\\n\\r\\nvar extendStatics = function(d, b) {\\r\\n extendStatics = Object.setPrototypeOf ||\\r\\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\\r\\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\\r\\n return extendStatics(d, b);\\r\\n};\\r\\n\\r\\nfunction __extends(d, b) {\\r\\n extendStatics(d, b);\\r\\n function __() { this.constructor = d; }\\r\\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\\r\\n}\\r\\n\\r\\nvar __assign = function() {\\r\\n __assign = Object.assign || function __assign(t) {\\r\\n for (var s, i = 1, n = arguments.length; i < n; i++) {\\r\\n s = arguments[i];\\r\\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\\r\\n }\\r\\n return t;\\r\\n }\\r\\n return __assign.apply(this, arguments);\\r\\n}\\r\\n\\r\\nfunction __rest(s, e) {\\r\\n var t = {};\\r\\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\\r\\n t[p] = s[p];\\r\\n if (s != null && typeof Object.getOwnPropertySymbols === \\\"function\\\")\\r\\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\\r\\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\\r\\n t[p[i]] = s[p[i]];\\r\\n }\\r\\n return t;\\r\\n}\\r\\n\\r\\nfunction __decorate(decorators, target, key, desc) {\\r\\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\\r\\n if (typeof Reflect === \\\"object\\\" && typeof Reflect.decorate === \\\"function\\\") r = Reflect.decorate(decorators, target, key, desc);\\r\\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\\r\\n return c > 3 && r && Object.defineProperty(target, key, r), r;\\r\\n}\\r\\n\\r\\nfunction __param(paramIndex, decorator) {\\r\\n return function (target, key) { decorator(target, key, paramIndex); }\\r\\n}\\r\\n\\r\\nfunction __metadata(metadataKey, metadataValue) {\\r\\n if (typeof Reflect === \\\"object\\\" && typeof Reflect.metadata === \\\"function\\\") return Reflect.metadata(metadataKey, metadataValue);\\r\\n}\\r\\n\\r\\nfunction __awaiter(thisArg, _arguments, P, generator) {\\r\\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\\r\\n return new (P || (P = Promise))(function (resolve, reject) {\\r\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\r\\n function rejected(value) { try { step(generator[\\\"throw\\\"](value)); } catch (e) { reject(e); } }\\r\\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\\r\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\r\\n });\\r\\n}\\r\\n\\r\\nfunction __generator(thisArg, body) {\\r\\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\\r\\n return g = { next: verb(0), \\\"throw\\\": verb(1), \\\"return\\\": verb(2) }, typeof Symbol === \\\"function\\\" && (g[Symbol.iterator] = function() { return this; }), g;\\r\\n function verb(n) { return function (v) { return step([n, v]); }; }\\r\\n function step(op) {\\r\\n if (f) throw new TypeError(\\\"Generator is already executing.\\\");\\r\\n while (_) try {\\r\\n if (f = 1, y && (t = op[0] & 2 ? y[\\\"return\\\"] : op[0] ? y[\\\"throw\\\"] || ((t = y[\\\"return\\\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\\r\\n if (y = 0, t) op = [op[0] & 2, t.value];\\r\\n switch (op[0]) {\\r\\n case 0: case 1: t = op; break;\\r\\n case 4: _.label++; return { value: op[1], done: false };\\r\\n case 5: _.label++; y = op[1]; op = [0]; continue;\\r\\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\\r\\n default:\\r\\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\\r\\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\\r\\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\\r\\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\\r\\n if (t[2]) _.ops.pop();\\r\\n _.trys.pop(); continue;\\r\\n }\\r\\n op = body.call(thisArg, _);\\r\\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\\r\\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\\r\\n }\\r\\n}\\r\\n\\r\\nvar __createBinding = Object.create ? (function(o, m, k, k2) {\\r\\n if (k2 === undefined) k2 = k;\\r\\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\\r\\n}) : (function(o, m, k, k2) {\\r\\n if (k2 === undefined) k2 = k;\\r\\n o[k2] = m[k];\\r\\n});\\r\\n\\r\\nfunction __exportStar(m, exports) {\\r\\n for (var p in m) if (p !== \\\"default\\\" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);\\r\\n}\\r\\n\\r\\nfunction __values(o) {\\r\\n var s = typeof Symbol === \\\"function\\\" && Symbol.iterator, m = s && o[s], i = 0;\\r\\n if (m) return m.call(o);\\r\\n if (o && typeof o.length === \\\"number\\\") return {\\r\\n next: function () {\\r\\n if (o && i >= o.length) o = void 0;\\r\\n return { value: o && o[i++], done: !o };\\r\\n }\\r\\n };\\r\\n throw new TypeError(s ? \\\"Object is not iterable.\\\" : \\\"Symbol.iterator is not defined.\\\");\\r\\n}\\r\\n\\r\\nfunction __read(o, n) {\\r\\n var m = typeof Symbol === \\\"function\\\" && o[Symbol.iterator];\\r\\n if (!m) return o;\\r\\n var i = m.call(o), r, ar = [], e;\\r\\n try {\\r\\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\\r\\n }\\r\\n catch (error) { e = { error: error }; }\\r\\n finally {\\r\\n try {\\r\\n if (r && !r.done && (m = i[\\\"return\\\"])) m.call(i);\\r\\n }\\r\\n finally { if (e) throw e.error; }\\r\\n }\\r\\n return ar;\\r\\n}\\r\\n\\r\\nfunction __spread() {\\r\\n for (var ar = [], i = 0; i < arguments.length; i++)\\r\\n ar = ar.concat(__read(arguments[i]));\\r\\n return ar;\\r\\n}\\r\\n\\r\\nfunction __spreadArrays() {\\r\\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\\r\\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\\r\\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\\r\\n r[k] = a[j];\\r\\n return r;\\r\\n};\\r\\n\\r\\nfunction __await(v) {\\r\\n return this instanceof __await ? (this.v = v, this) : new __await(v);\\r\\n}\\r\\n\\r\\nfunction __asyncGenerator(thisArg, _arguments, generator) {\\r\\n if (!Symbol.asyncIterator) throw new TypeError(\\\"Symbol.asyncIterator is not defined.\\\");\\r\\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\\r\\n return i = {}, verb(\\\"next\\\"), verb(\\\"throw\\\"), verb(\\\"return\\\"), i[Symbol.asyncIterator] = function () { return this; }, i;\\r\\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\\r\\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\\r\\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\\r\\n function fulfill(value) { resume(\\\"next\\\", value); }\\r\\n function reject(value) { resume(\\\"throw\\\", value); }\\r\\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\\r\\n}\\r\\n\\r\\nfunction __asyncDelegator(o) {\\r\\n var i, p;\\r\\n return i = {}, verb(\\\"next\\\"), verb(\\\"throw\\\", function (e) { throw e; }), verb(\\\"return\\\"), i[Symbol.iterator] = function () { return this; }, i;\\r\\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \\\"return\\\" } : f ? f(v) : v; } : f; }\\r\\n}\\r\\n\\r\\nfunction __asyncValues(o) {\\r\\n if (!Symbol.asyncIterator) throw new TypeError(\\\"Symbol.asyncIterator is not defined.\\\");\\r\\n var m = o[Symbol.asyncIterator], i;\\r\\n return m ? m.call(o) : (o = typeof __values === \\\"function\\\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\\\"next\\\"), verb(\\\"throw\\\"), verb(\\\"return\\\"), i[Symbol.asyncIterator] = function () { return this; }, i);\\r\\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\\r\\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\\r\\n}\\r\\n\\r\\nfunction __makeTemplateObject(cooked, raw) {\\r\\n if (Object.defineProperty) { Object.defineProperty(cooked, \\\"raw\\\", { value: raw }); } else { cooked.raw = raw; }\\r\\n return cooked;\\r\\n};\\r\\n\\r\\nvar __setModuleDefault = Object.create ? (function(o, v) {\\r\\n Object.defineProperty(o, \\\"default\\\", { enumerable: true, value: v });\\r\\n}) : function(o, v) {\\r\\n o[\\\"default\\\"] = v;\\r\\n};\\r\\n\\r\\nfunction __importStar(mod) {\\r\\n if (mod && mod.__esModule) return mod;\\r\\n var result = {};\\r\\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\\r\\n __setModuleDefault(result, mod);\\r\\n return result;\\r\\n}\\r\\n\\r\\nfunction __importDefault(mod) {\\r\\n return (mod && mod.__esModule) ? mod : { default: mod };\\r\\n}\\r\\n\\r\\nfunction __classPrivateFieldGet(receiver, privateMap) {\\r\\n if (!privateMap.has(receiver)) {\\r\\n throw new TypeError(\\\"attempted to get private field on non-instance\\\");\\r\\n }\\r\\n return privateMap.get(receiver);\\r\\n}\\r\\n\\r\\nfunction __classPrivateFieldSet(receiver, privateMap, value) {\\r\\n if (!privateMap.has(receiver)) {\\r\\n throw new TypeError(\\\"attempted to set private field on non-instance\\\");\\r\\n }\\r\\n privateMap.set(receiver, value);\\r\\n return value;\\r\\n}\\r\\n\\n// EXTERNAL MODULE: ./node_modules/lunr/lunr.js\\nvar lunr = __webpack_require__(4);\\n\\n// CONCATENATED MODULE: ./node_modules/workerize-loader/dist/rpc-worker-loader.js!./node_modules/ts-loader??ref--4-0!./node_modules/babel-loader/lib??ref--4-1!./src/services/SearchWorker.worker.ts\\n\\n\\ntry {\\n // tslint:disable-next-line\\n __webpack_require__(59); // bundle into worker\\n}\\ncatch (_) { // nope\\n}\\n/* just for better typings */\\nvar Worker = /** @class */ (function () {\\n function Worker() {\\n this.add = add;\\n this.done = done;\\n this.search = search;\\n this.toJS = toJS;\\n this.load = load;\\n this.dispose = dispose;\\n this.fromExternalJS = fromExternalJS;\\n }\\n return Worker;\\n}());\\n/* harmony default export */ var SearchWorker_worker = __webpack_exports__[\\\"default\\\"] = (Worker);\\nvar store = [];\\nlunr[\\\"tokenizer\\\"].separator = /\\\\s+/;\\nvar builder;\\nvar resolveIndex;\\nvar index;\\nfunction initEmpty() {\\n builder = new lunr[\\\"Builder\\\"]();\\n builder.field('title');\\n builder.field('description');\\n builder.ref('ref');\\n builder.pipeline.add(lunr[\\\"trimmer\\\"], lunr[\\\"stopWordFilter\\\"], lunr[\\\"stemmer\\\"]);\\n index = new Promise(function (resolve) {\\n resolveIndex = resolve;\\n });\\n}\\ninitEmpty();\\nvar expandTerm = function (term) { return '*' + lunr[\\\"stemmer\\\"](new lunr[\\\"Token\\\"](term, {})) + '*'; };\\nfunction add(title, description, meta) {\\n var ref = store.push(meta) - 1;\\n var item = {\\n title: title.toLowerCase(),\\n description: description.toLowerCase(),\\n ref: ref\\n };\\n builder.add(item);\\n}\\nfunction done() {\\n return __awaiter(this, void 0, void 0, function () {\\n return __generator(this, function (_a) {\\n resolveIndex(builder.build());\\n return [2 /*return*/];\\n });\\n });\\n}\\nfunction toJS() {\\n return __awaiter(this, void 0, void 0, function () {\\n var _a;\\n return __generator(this, function (_b) {\\n switch (_b.label) {\\n case 0:\\n _a = {\\n store: store\\n };\\n return [4 /*yield*/, index];\\n case 1: return [2 /*return*/, (_a.index = (_b.sent()).toJSON(),\\n _a)];\\n }\\n });\\n });\\n}\\nfunction fromExternalJS(path, exportName) {\\n return __awaiter(this, void 0, void 0, function () {\\n return __generator(this, function (_a) {\\n try {\\n importScripts(path);\\n if (!self[exportName]) {\\n throw new Error('Broken index file format');\\n }\\n load(self[exportName]);\\n }\\n catch (e) {\\n console.error('Failed to load search index: ' + e.message);\\n }\\n return [2 /*return*/];\\n });\\n });\\n}\\nfunction load(state) {\\n return __awaiter(this, void 0, void 0, function () {\\n return __generator(this, function (_a) {\\n store = state.store;\\n resolveIndex(lunr[\\\"Index\\\"].load(state.index));\\n return [2 /*return*/];\\n });\\n });\\n}\\nfunction dispose() {\\n return __awaiter(this, void 0, void 0, function () {\\n return __generator(this, function (_a) {\\n store = [];\\n initEmpty();\\n return [2 /*return*/];\\n });\\n });\\n}\\nfunction search(q, limit) {\\n if (limit === void 0) { limit = 0; }\\n return __awaiter(this, void 0, void 0, function () {\\n var searchResults;\\n return __generator(this, function (_a) {\\n switch (_a.label) {\\n case 0:\\n if (q.trim().length === 0) {\\n return [2 /*return*/, []];\\n }\\n return [4 /*yield*/, index];\\n case 1:\\n searchResults = (_a.sent()).query(function (t) {\\n q.trim().toLowerCase().split(/\\\\s+/).forEach(function (term) {\\n if (term.length === 1)\\n return;\\n var exp = expandTerm(term);\\n t.term(exp, {});\\n });\\n });\\n if (limit > 0) {\\n searchResults = searchResults.slice(0, limit);\\n }\\n return [2 /*return*/, searchResults.map(function (res) { return ({\\n meta: store[res.ref],\\n score: res.score\\n }); })];\\n }\\n });\\n });\\n}\\n\\naddEventListener('message', function (e) {var _e$data = e.data,type = _e$data.type,method = _e$data.method,id = _e$data.id,params = _e$data.params,f,p;if (type === 'RPC' && method) {if (f = __webpack_exports__[method]) {p = Promise.resolve().then(function () {return f.apply(__webpack_exports__, params);});} else {p = Promise.reject('No such method');}p.then(function (result) {postMessage({type: 'RPC',id: id,result: result});}).catch(function (e) {var error = {message: e};if (e.stack) {error.message = e.message;error.stack = e.stack;error.name = e.name;}postMessage({type: 'RPC',id: id,error: error});});}});postMessage({type: 'RPC',method: 'ready'});\\n\\n/***/ })\\n/******/ ]);\\n//# sourceMappingURL=f707d7c16a4e44db1d02.worker.js.map\"])), { name: \"[hash].worker.js\" })\n\t\t\t\t\taddMethods(w, methods)\n\t\t\t\t\t\n\t\t\t\t\treturn w\n\t\t\t\t}\n\t\t\t","export default function addMethods(worker, methods) {\n\tlet c = 0;\n\tlet callbacks = {};\n\tworker.addEventListener('message', (e) => {\n\t\tlet d = e.data;\n\t\tif (d.type!=='RPC') return;\n\t\tif (d.id) {\n\t\t\tlet f = callbacks[d.id];\n\t\t\tif (f) {\n\t\t\t\tdelete callbacks[d.id];\n\t\t\t\tif (d.error) {\n\t\t\t\t\tf[1](Object.assign(Error(d.error.message), d.error));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tf[0](d.result);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tlet evt = document.createEvent('Event');\n\t\t\tevt.initEvent(d.method, false, false);\n\t\t\tevt.data = d.params;\n\t\t\tworker.dispatchEvent(evt);\n\t\t}\n\t});\n\tmethods.forEach( method => {\n\t\tworker[method] = (...params) => new Promise( (a, b) => {\n\t\t\tlet id = ++c;\n\t\t\tcallbacks[id] = [a, b];\n\t\t\tworker.postMessage({ type: 'RPC', id, method, params });\n\t\t});\n\t});\n}\n","module.exports = require(\"core-js/es/promise\");","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (useSourceMap) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item, useSourceMap);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join('');\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === 'string') {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, '']];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring\n\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (useSourceMap && typeof btoa === 'function') {\n var sourceMapping = toComment(cssMapping);\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || '').concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n }\n\n return [content].join('\\n');\n} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n return \"/*# \".concat(data, \" */\");\n}","module.exports = require(\"stickyfill\");","import { darken, desaturate, lighten, readableColor, transparentize } from 'polished';\nconst defaultTheme: ThemeInterface = {\n spacing: {\n unit: 5,\n sectionHorizontal: ({\n spacing\n }) => spacing.unit * 8,\n sectionVertical: ({\n spacing\n }) => spacing.unit * 8\n },\n breakpoints: {\n small: '50rem',\n medium: '75rem',\n large: '105rem'\n },\n colors: {\n tonalOffset: 0.2,\n primary: {\n main: '#32329f',\n light: ({\n colors\n }) => lighten(colors.tonalOffset, colors.primary.main),\n dark: ({\n colors\n }) => darken(colors.tonalOffset, colors.primary.main),\n contrastText: ({\n colors\n }) => readableColor(colors.primary.main)\n },\n success: {\n main: '#1d8127',\n light: ({\n colors\n }) => lighten(colors.tonalOffset * 2, colors.success.main),\n dark: ({\n colors\n }) => darken(colors.tonalOffset, colors.success.main),\n contrastText: ({\n colors\n }) => readableColor(colors.success.main)\n },\n warning: {\n main: '#ffa500',\n light: ({\n colors\n }) => lighten(colors.tonalOffset, colors.warning.main),\n dark: ({\n colors\n }) => darken(colors.tonalOffset, colors.warning.main),\n contrastText: '#ffffff'\n },\n error: {\n main: '#d41f1c',\n light: ({\n colors\n }) => lighten(colors.tonalOffset, colors.error.main),\n dark: ({\n colors\n }) => darken(colors.tonalOffset, colors.error.main),\n contrastText: ({\n colors\n }) => readableColor(colors.error.main)\n },\n gray: {\n 50: '#FAFAFA',\n 100: '#F5F5F5'\n },\n text: {\n primary: '#333333',\n secondary: ({\n colors\n }) => lighten(colors.tonalOffset, colors.text.primary)\n },\n border: {\n dark: 'rgba(0,0,0, 0.1)',\n light: '#ffffff'\n },\n responses: {\n success: {\n color: ({\n colors\n }) => colors.success.main,\n backgroundColor: ({\n colors\n }) => transparentize(0.93, colors.success.main),\n tabTextColor: ({\n colors\n }) => colors.responses.success.color\n },\n error: {\n color: ({\n colors\n }) => colors.error.main,\n backgroundColor: ({\n colors\n }) => transparentize(0.93, colors.error.main),\n tabTextColor: ({\n colors\n }) => colors.responses.error.color\n },\n redirect: {\n color: ({\n colors\n }) => colors.warning.main,\n backgroundColor: ({\n colors\n }) => transparentize(0.9, colors.responses.redirect.color),\n tabTextColor: ({\n colors\n }) => colors.responses.redirect.color\n },\n info: {\n color: '#87ceeb',\n backgroundColor: ({\n colors\n }) => transparentize(0.9, colors.responses.info.color),\n tabTextColor: ({\n colors\n }) => colors.responses.info.color\n }\n },\n http: {\n get: '#2F8132',\n post: '#186FAF',\n put: '#95507c',\n options: '#947014',\n patch: '#bf581d',\n delete: '#cc3333',\n basic: '#707070',\n link: '#07818F',\n head: '#A23DAD'\n }\n },\n schema: {\n linesColor: theme => lighten(theme.colors.tonalOffset, desaturate(theme.colors.tonalOffset, theme.colors.primary.main)),\n defaultDetailsWidth: '75%',\n typeNameColor: theme => theme.colors.text.secondary,\n typeTitleColor: theme => theme.schema.typeNameColor,\n requireLabelColor: theme => theme.colors.error.main,\n labelsTextSize: '0.9em',\n nestingSpacing: '1em',\n nestedBackground: '#fafafa',\n arrow: {\n size: '1.1em',\n color: theme => theme.colors.text.secondary\n }\n },\n typography: {\n fontSize: '14px',\n lineHeight: '1.5em',\n fontWeightRegular: '400',\n fontWeightBold: '600',\n fontWeightLight: '300',\n fontFamily: 'Roboto, sans-serif',\n smoothing: 'antialiased',\n optimizeSpeed: true,\n headings: {\n fontFamily: 'Montserrat, sans-serif',\n fontWeight: '400',\n lineHeight: '1.6em'\n },\n code: {\n fontSize: '13px',\n fontFamily: 'Courier, monospace',\n lineHeight: ({\n typography\n }) => typography.lineHeight,\n fontWeight: ({\n typography\n }) => typography.fontWeightRegular,\n color: '#e53935',\n backgroundColor: 'rgba(38, 50, 56, 0.05)',\n wrap: false\n },\n links: {\n color: ({\n colors\n }) => colors.primary.main,\n visited: ({\n typography\n }) => typography.links.color,\n hover: ({\n typography\n }) => lighten(0.2, typography.links.color)\n }\n },\n sidebar: {\n width: '260px',\n backgroundColor: '#fafafa',\n textColor: '#333333',\n activeTextColor: theme => theme.sidebar.textColor !== defaultTheme.sidebar!.textColor ? theme.sidebar.textColor : theme.colors.primary.main,\n groupItems: {\n textTransform: 'uppercase'\n },\n level1Items: {\n textTransform: 'none'\n },\n arrow: {\n size: '1.5em',\n color: theme => theme.sidebar.textColor\n }\n },\n logo: {\n maxHeight: ({\n sidebar\n }) => sidebar.width,\n maxWidth: ({\n sidebar\n }) => sidebar.width,\n gutter: '2px'\n },\n rightPanel: {\n backgroundColor: '#263238',\n width: '40%',\n textColor: '#ffffff'\n },\n codeBlock: {\n backgroundColor: ({\n rightPanel\n }) => darken(0.1, rightPanel.backgroundColor)\n }\n};\nexport default defaultTheme;\nexport function resolveTheme(theme: ThemeInterface): ResolvedThemeInterface {\n const resolvedValues = {};\n let counter = 0;\n\n const setProxy = (obj, path: string) => {\n Object.keys(obj).forEach(k => {\n const currentPath = (path ? path + '.' : '') + k;\n const val = obj[k];\n\n if (typeof val === 'function') {\n Object.defineProperty(obj, k, {\n get() {\n if (!resolvedValues[currentPath]) {\n counter++;\n\n if (counter > 1000) {\n throw new Error(`Theme probably contains circular dependency at ${currentPath}: ${val.toString()}`);\n }\n\n resolvedValues[currentPath] = val(theme);\n }\n\n return resolvedValues[currentPath];\n },\n\n enumerable: true\n });\n } else if (typeof val === 'object') {\n setProxy(val, currentPath);\n }\n });\n };\n\n setProxy(theme, '');\n return JSON.parse(JSON.stringify(theme));\n}\nexport interface ColorSetting {\n main: string;\n light: string;\n dark: string;\n contrastText: string;\n}\nexport interface HTTPResponseColos {\n color: string;\n backgroundColor: string;\n tabTextColor: string;\n}\nexport interface FontSettings {\n fontSize: string;\n fontWeight: string;\n fontFamily: string;\n lineHeight: string;\n color: string;\n}\nexport interface ResolvedThemeInterface {\n spacing: {\n unit: number;\n sectionHorizontal: number;\n sectionVertical: number;\n };\n breakpoints: {\n small: string;\n medium: string;\n large: string;\n };\n colors: {\n tonalOffset: number;\n primary: ColorSetting;\n success: ColorSetting;\n warning: ColorSetting;\n error: ColorSetting;\n gray: {\n 50: string;\n 100: string;\n };\n border: {\n light: string;\n dark: string;\n };\n text: {\n primary: string;\n secondary: string;\n };\n responses: {\n success: HTTPResponseColos;\n error: HTTPResponseColos;\n redirect: HTTPResponseColos;\n info: HTTPResponseColos;\n };\n http: {\n get: string;\n post: string;\n put: string;\n options: string;\n patch: string;\n delete: string;\n basic: string;\n link: string;\n head: string;\n };\n };\n schema: {\n linesColor: string;\n defaultDetailsWidth: string;\n typeNameColor: string;\n typeTitleColor: string;\n requireLabelColor: string;\n labelsTextSize: string;\n nestingSpacing: string;\n nestedBackground: string;\n arrow: {\n size: string;\n color: string;\n };\n };\n typography: {\n fontSize: string;\n lineHeight: string;\n fontWeightLight: string;\n fontWeightRegular: string;\n fontWeightBold: string;\n fontFamily: string;\n smoothing: string;\n optimizeSpeed: boolean;\n code: FontSettings & {\n backgroundColor: string;\n wrap: boolean;\n };\n headings: {\n fontFamily: string;\n fontWeight: string;\n lineHeight: string;\n };\n links: {\n color: string;\n visited: string;\n hover: string;\n };\n };\n sidebar: {\n width: string;\n backgroundColor: string;\n textColor: string;\n activeTextColor: string;\n groupItems: {\n textTransform: string;\n };\n level1Items: {\n textTransform: string;\n };\n arrow: {\n size: string;\n color: string;\n };\n };\n logo: {\n maxHeight: string;\n maxWidth: string;\n gutter: string;\n };\n rightPanel: {\n backgroundColor: string;\n textColor: string;\n width: string;\n };\n codeBlock: {\n backgroundColor: string;\n };\n extensionsHook?: (name: string, props: any) => string;\n}\nexport type primitive = string | number | boolean | undefined | null;\nexport type AdvancedThemeDeep = T extends primitive ? T | ((theme: ResolvedThemeInterface) => T) : AdvancedThemeObject;\nexport type AdvancedThemeObject = { [P in keyof T]?: AdvancedThemeDeep };\nexport type ThemeInterface = AdvancedThemeObject;","export const IS_BROWSER = typeof window !== 'undefined' && 'HTMLElement' in window;\nexport function querySelector(selector: string): Element | null {\n if (typeof document !== 'undefined') {\n return document.querySelector(selector);\n }\n\n return null;\n}\n/**\n * Drop everything inside <...> (i.e., tags/elements), and keep the text.\n * Unlike browser innerText, this removes newlines; it also doesn't handle\n * un-encoded `<` or `>` characters very well, so don't feed it malformed HTML\n */\n\nexport function html2Str(html: string): string {\n return html.split(/<[^>]+>/).map(chunk => {\n return chunk.trim();\n }).filter(trimmedChunk => {\n return trimmedChunk.length > 0;\n }).join(' ');\n} // scrollIntoViewIfNeeded polyfill\n\nif (typeof Element !== 'undefined' && !(Element as any).prototype.scrollIntoViewIfNeeded) {\n (Element as any).prototype.scrollIntoViewIfNeeded = function (centerIfNeeded) {\n centerIfNeeded = arguments.length === 0 ? true : !!centerIfNeeded;\n const parent = this.parentNode;\n const parentComputedStyle = window.getComputedStyle(parent, undefined);\n const parentBorderTopWidth = parseInt(parentComputedStyle.getPropertyValue('border-top-width'), 10);\n const parentBorderLeftWidth = parseInt(parentComputedStyle.getPropertyValue('border-left-width'), 10);\n const overTop = this.offsetTop - parent.offsetTop < parent.scrollTop;\n const overBottom = this.offsetTop - parent.offsetTop + this.clientHeight - parentBorderTopWidth > parent.scrollTop + parent.clientHeight;\n const overLeft = this.offsetLeft - parent.offsetLeft < parent.scrollLeft;\n const overRight = this.offsetLeft - parent.offsetLeft + this.clientWidth - parentBorderLeftWidth > parent.scrollLeft + parent.clientWidth;\n const alignWithTop = overTop && !overBottom;\n\n if ((overTop || overBottom) && centerIfNeeded) {\n parent.scrollTop = this.offsetTop - parent.offsetTop - parent.clientHeight / 2 - parentBorderTopWidth + this.clientHeight / 2;\n }\n\n if ((overLeft || overRight) && centerIfNeeded) {\n parent.scrollLeft = this.offsetLeft - parent.offsetLeft - parent.clientWidth / 2 - parentBorderLeftWidth + this.clientWidth / 2;\n }\n\n if ((overTop || overBottom || overLeft || overRight) && !centerIfNeeded) {\n this.scrollIntoView(alignWithTop);\n }\n };\n}","import slugify from 'slugify';\nimport { format, parse } from 'url';\n/**\n * Maps over array passing `isLast` bool to iterator as the second argument\n */\n\nexport function mapWithLast(array: T[], iteratee: (item: T, isLast: boolean) => P) {\n const res: P[] = [];\n\n for (let i = 0; i < array.length - 1; i++) {\n res.push(iteratee(array[i], false));\n }\n\n if (array.length !== 0) {\n res.push(iteratee(array[array.length - 1], true));\n }\n\n return res;\n}\n/**\n * Creates an object with the same keys as object and values generated by running each\n * own enumerable string keyed property of object thru iteratee.\n * The iteratee is invoked with three arguments: (value, key, object).\n *\n * @param object the object to iterate over\n * @param iteratee the function invoked per iteration.\n */\n\nexport function mapValues(object: Record, iteratee: (val: T, key: string, obj: Record) => P): Record {\n const res: {\n [key: string]: P;\n } = {};\n\n for (const key in object) {\n if (object.hasOwnProperty(key)) {\n res[key] = iteratee(object[key], key, object);\n }\n }\n\n return res;\n}\n/**\n * flattens collection using `prop` field as a children\n * @param collectionItems collection items\n * @param prop item property with child elements\n */\n\nexport function flattenByProp(collectionItems: T[], prop: P): T[] {\n const res: T[] = [];\n\n const iterate = (items: T[]) => {\n for (const item of items) {\n res.push(item);\n\n if (item[prop]) {\n iterate(((item[prop] as any) as T[]));\n }\n }\n };\n\n iterate(collectionItems);\n return res;\n}\nexport function stripTrailingSlash(path: string): string {\n if (path.endsWith('/')) {\n return path.substring(0, path.length - 1);\n }\n\n return path;\n}\nexport function isNumeric(n: any): n is number {\n return !isNaN(parseFloat(n)) && isFinite(n);\n}\nexport function appendToMdHeading(md: string, heading: string, content: string) {\n // if heading is already in md and append to the end of it\n const testRegex = new RegExp(`(^|\\\\n)#\\\\s?${heading}\\\\s*\\\\n`, 'i');\n const replaceRegex = new RegExp(`((\\\\n|^)#\\\\s*${heading}\\\\s*(\\\\n|$)(?:.|\\\\n)*?)(\\\\n#|$)`, 'i');\n\n if (testRegex.test(md)) {\n return md.replace(replaceRegex, `$1\\n\\n${content}\\n$4`);\n } else {\n // else append heading itself\n const br = md === '' || md.endsWith('\\n\\n') ? '' : md.endsWith('\\n') ? '\\n' : '\\n\\n';\n return `${md}${br}# ${heading}\\n\\n${content}`;\n }\n} // credits https://stackoverflow.com/a/46973278/1749888\n\nexport const mergeObjects = (target: any, ...sources: any[]): any => {\n if (!sources.length) {\n return target;\n }\n\n const source = sources.shift();\n\n if (source === undefined) {\n return target;\n }\n\n if (isMergebleObject(target) && isMergebleObject(source)) {\n Object.keys(source).forEach((key: string) => {\n if (isMergebleObject(source[key])) {\n if (!target[key]) {\n target[key] = {};\n }\n\n mergeObjects(target[key], source[key]);\n } else {\n target[key] = source[key];\n }\n });\n }\n\n return mergeObjects(target, ...sources);\n};\n\nconst isObject = (item: any): boolean => {\n return item !== null && typeof item === 'object';\n};\n\nconst isMergebleObject = (item): boolean => {\n return isObject(item) && !Array.isArray(item);\n};\n/**\n * slugify() returns empty string when failed to slugify.\n * so try to return minimum slugified-string with failed one which keeps original value\n * the regex codes are referenced with https://gist.github.com/mathewbyrne/1280286\n */\n\n\nexport function safeSlugify(value: string): string {\n return slugify(value) || value.toString().toLowerCase().replace(/\\s+/g, '-') // Replace spaces with -\n .replace(/&/g, '-and-') // Replace & with 'and'\n .replace(/\\--+/g, '-') // Replace multiple - with single -\n .replace(/^-+/, '') // Trim - from start of text\n .replace(/-+$/, ''); // Trim - from end of text\n}\nexport function isAbsoluteUrl(url: string) {\n return /(?:^[a-z][a-z0-9+.-]*:|\\/\\/)/i.test(url);\n}\n/**\n * simple resolve URL which doesn't break on strings with url fragments\n * e.g. resolveUrl('http://test.com:{port}', 'path') results in http://test.com:{port}/path\n */\n\nexport function resolveUrl(url: string, to: string) {\n let res;\n\n if (to.startsWith('//')) {\n const {\n protocol: specProtocol\n } = parse(url);\n res = `${specProtocol || 'https:'}${to}`;\n } else if (isAbsoluteUrl(to)) {\n res = to;\n } else if (!to.startsWith('/')) {\n res = stripTrailingSlash(url) + '/' + to;\n } else {\n const urlObj = parse(url);\n res = format({ ...urlObj,\n pathname: to\n });\n }\n\n return stripTrailingSlash(res);\n}\nexport function getBasePath(serverUrl: string): string {\n try {\n return parseURL(serverUrl).pathname;\n } catch (e) {\n // when using with redoc-cli serverUrl can be empty resulting in crash\n return serverUrl;\n }\n}\nexport function titleize(text: string) {\n return text.charAt(0).toUpperCase() + text.slice(1);\n}\nexport function removeQueryString(serverUrl: string): string {\n try {\n const url = parseURL(serverUrl);\n url.search = '';\n return url.toString();\n } catch (e) {\n // when using with redoc-cli serverUrl can be empty resulting in crash\n return serverUrl;\n }\n}\n\nfunction parseURL(url: string) {\n if (typeof URL === 'undefined') {\n // node\n return new (require('url').URL)(url);\n } else {\n return new URL(url);\n }\n}\n\nexport function unescapeHTMLChars(str: string): string {\n return str.replace(/&#(\\d+);/g, (_m, code) => String.fromCharCode(parseInt(code, 10))).replace(/&/g, '&');\n}","export interface LabelsConfig {\n enum: string;\n enumSingleValue: string;\n enumArray: string;\n default: string;\n deprecated: string;\n example: string;\n examples: string;\n nullable: string;\n recursive: string;\n arrayOf: string;\n webhook: string;\n}\nexport type LabelsConfigRaw = Partial;\nconst labels: LabelsConfig = {\n enum: 'Enum',\n enumSingleValue: 'Value',\n enumArray: 'Items',\n default: 'Default',\n deprecated: 'Deprecated',\n example: 'Example',\n examples: 'Examples',\n nullable: 'Nullable',\n recursive: 'Recursive',\n arrayOf: 'Array of ',\n webhook: 'Event'\n};\nexport function setRedocLabels(_labels?: LabelsConfigRaw) {\n Object.assign(labels, _labels);\n}\nexport function l(key: keyof LabelsConfig, idx?: number): string {\n const label = labels[key];\n\n if (idx !== undefined) {\n return label[idx];\n }\n\n return label;\n}","import defaultTheme, { ResolvedThemeInterface, resolveTheme, ThemeInterface } from '../theme';\nimport { querySelector } from '../utils/dom';\nimport { isNumeric, mergeObjects } from '../utils/helpers';\nimport { LabelsConfigRaw, setRedocLabels } from './Labels';\nimport { MDXComponentMeta } from './MarkdownRenderer';\nexport interface RedocRawOptions {\n theme?: ThemeInterface;\n scrollYOffset?: number | string | (() => number);\n hideHostname?: boolean | string;\n expandResponses?: string | 'all';\n requiredPropsFirst?: boolean | string;\n sortPropsAlphabetically?: boolean | string;\n sortEnumValuesAlphabetically?: boolean | string;\n noAutoAuth?: boolean | string;\n nativeScrollbars?: boolean | string;\n pathInMiddlePanel?: boolean | string;\n untrustedSpec?: boolean | string;\n hideLoading?: boolean | string;\n hideDownloadButton?: boolean | string;\n disableSearch?: boolean | string;\n onlyRequiredInSamples?: boolean | string;\n showExtensions?: boolean | string | string[];\n hideSingleRequestSampleTab?: boolean | string;\n menuToggle?: boolean | string;\n jsonSampleExpandLevel?: number | string | 'all';\n hideSchemaTitles?: boolean | string;\n simpleOneOfTypeLabel?: boolean | string;\n payloadSampleIdx?: number;\n expandSingleSchemaField?: boolean | string;\n unstable_ignoreMimeParameters?: boolean;\n allowedMdComponents?: Record;\n labels?: LabelsConfigRaw;\n enumSkipQuotes?: boolean | string;\n expandDefaultServerVariables?: boolean;\n maxDisplayedEnumValues?: number;\n ignoreNamedSchemas?: string[] | string;\n}\n\nfunction argValueToBoolean(val?: string | boolean, defaultValue?: boolean): boolean {\n if (val === undefined) {\n return defaultValue || false;\n }\n\n if (typeof val === 'string') {\n return val === 'false' ? false : true;\n }\n\n return val;\n}\n\nfunction argValueToNumber(value: number | string | undefined): number | undefined {\n if (typeof value === 'string') {\n return parseInt(value, 10);\n }\n\n if (typeof value === 'number') {\n return value;\n }\n}\n\nexport class RedocNormalizedOptions {\n static normalizeExpandResponses(value: RedocRawOptions['expandResponses']) {\n if (value === 'all') {\n return 'all';\n }\n\n if (typeof value === 'string') {\n const res = {};\n value.split(',').forEach(code => {\n res[code.trim()] = true;\n });\n return res;\n } else if (value !== undefined) {\n console.warn(`expandResponses must be a string but received value \"${value}\" of type ${typeof value}`);\n }\n\n return {};\n }\n\n static normalizeHideHostname(value: RedocRawOptions['hideHostname']): boolean {\n return !!value;\n }\n\n static normalizeScrollYOffset(value: RedocRawOptions['scrollYOffset']): () => number {\n // just number is not valid selector and leads to crash so checking if isNumeric here\n if (typeof value === 'string' && !isNumeric(value)) {\n const el = querySelector(value);\n\n if (!el) {\n console.warn('scrollYOffset value is a selector to non-existing element. Using offset 0 by default');\n }\n\n const bottom = el && el.getBoundingClientRect().bottom || 0;\n return () => bottom;\n } else if (typeof value === 'number' || isNumeric(value)) {\n return () => typeof value === 'number' ? value : parseFloat(value);\n } else if (typeof value === 'function') {\n return () => {\n const res = value();\n\n if (typeof res !== 'number') {\n console.warn(`scrollYOffset should return number but returned value \"${res}\" of type ${typeof res}`);\n }\n\n return res;\n };\n } else if (value !== undefined) {\n console.warn('Wrong value for scrollYOffset ReDoc option: should be string, number or function');\n }\n\n return () => 0;\n }\n\n static normalizeShowExtensions(value: RedocRawOptions['showExtensions']): string[] | boolean {\n if (typeof value === 'undefined') {\n return false;\n }\n\n if (value === '') {\n return true;\n }\n\n if (typeof value !== 'string') {\n return value;\n }\n\n switch (value) {\n case 'true':\n return true;\n\n case 'false':\n return false;\n\n default:\n return value.split(',').map(ext => ext.trim());\n }\n }\n\n static normalizePayloadSampleIdx(value: RedocRawOptions['payloadSampleIdx']): number {\n if (typeof value === 'number') {\n return Math.max(0, value); // always greater or equal than 0\n }\n\n if (typeof value === 'string') {\n return isFinite(value) ? parseInt(value, 10) : 0;\n }\n\n return 0;\n }\n\n private static normalizeJsonSampleExpandLevel(level?: number | string | 'all'): number {\n if (level === 'all') {\n return +Infinity;\n }\n\n if (!isNaN(Number(level))) {\n return Math.ceil(Number(level));\n }\n\n return 2;\n }\n\n theme: ResolvedThemeInterface;\n scrollYOffset: () => number;\n hideHostname: boolean;\n expandResponses: {\n [code: string]: boolean;\n } | 'all';\n requiredPropsFirst: boolean;\n sortPropsAlphabetically: boolean;\n sortEnumValuesAlphabetically: boolean;\n noAutoAuth: boolean;\n nativeScrollbars: boolean;\n pathInMiddlePanel: boolean;\n untrustedSpec: boolean;\n hideDownloadButton: boolean;\n disableSearch: boolean;\n onlyRequiredInSamples: boolean;\n showExtensions: boolean | string[];\n hideSingleRequestSampleTab: boolean;\n menuToggle: boolean;\n jsonSampleExpandLevel: number;\n enumSkipQuotes: boolean;\n hideSchemaTitles: boolean;\n simpleOneOfTypeLabel: boolean;\n payloadSampleIdx: number;\n expandSingleSchemaField: boolean;\n /* tslint:disable-next-line */\n\n unstable_ignoreMimeParameters: boolean;\n allowedMdComponents: Record;\n expandDefaultServerVariables: boolean;\n maxDisplayedEnumValues?: number;\n ignoreNamedSchemas: Set;\n\n constructor(raw: RedocRawOptions, defaults: RedocRawOptions = {}) {\n raw = { ...defaults,\n ...raw\n };\n const hook = raw.theme && raw.theme.extensionsHook; // migrate from old theme\n\n if ((raw.theme as any)?.menu && !raw.theme?.sidebar) {\n console.warn('Theme setting \"menu\" is deprecated. Rename to \"sidebar\"');\n raw.theme!.sidebar = (raw.theme as any).menu;\n }\n\n if ((raw.theme as any)?.codeSample && !raw.theme?.codeBlock) {\n console.warn('Theme setting \"codeSample\" is deprecated. Rename to \"codeBlock\"');\n raw.theme!.codeBlock = (raw.theme as any).codeSample;\n }\n\n this.theme = resolveTheme(mergeObjects(({} as any), defaultTheme, { ...raw.theme,\n extensionsHook: undefined\n }));\n this.theme.extensionsHook = (hook as any); // do not support dynamic labels changes. Labels should be configured before\n\n setRedocLabels(raw.labels);\n this.scrollYOffset = RedocNormalizedOptions.normalizeScrollYOffset(raw.scrollYOffset);\n this.hideHostname = RedocNormalizedOptions.normalizeHideHostname(raw.hideHostname);\n this.expandResponses = RedocNormalizedOptions.normalizeExpandResponses(raw.expandResponses);\n this.requiredPropsFirst = argValueToBoolean(raw.requiredPropsFirst);\n this.sortPropsAlphabetically = argValueToBoolean(raw.sortPropsAlphabetically);\n this.sortEnumValuesAlphabetically = argValueToBoolean(raw.sortEnumValuesAlphabetically);\n this.noAutoAuth = argValueToBoolean(raw.noAutoAuth);\n this.nativeScrollbars = argValueToBoolean(raw.nativeScrollbars);\n this.pathInMiddlePanel = argValueToBoolean(raw.pathInMiddlePanel);\n this.untrustedSpec = argValueToBoolean(raw.untrustedSpec);\n this.hideDownloadButton = argValueToBoolean(raw.hideDownloadButton);\n this.disableSearch = argValueToBoolean(raw.disableSearch);\n this.onlyRequiredInSamples = argValueToBoolean(raw.onlyRequiredInSamples);\n this.showExtensions = RedocNormalizedOptions.normalizeShowExtensions(raw.showExtensions);\n this.hideSingleRequestSampleTab = argValueToBoolean(raw.hideSingleRequestSampleTab);\n this.menuToggle = argValueToBoolean(raw.menuToggle, true);\n this.jsonSampleExpandLevel = RedocNormalizedOptions.normalizeJsonSampleExpandLevel(raw.jsonSampleExpandLevel);\n this.enumSkipQuotes = argValueToBoolean(raw.enumSkipQuotes);\n this.hideSchemaTitles = argValueToBoolean(raw.hideSchemaTitles);\n this.simpleOneOfTypeLabel = argValueToBoolean(raw.simpleOneOfTypeLabel);\n this.payloadSampleIdx = RedocNormalizedOptions.normalizePayloadSampleIdx(raw.payloadSampleIdx);\n this.expandSingleSchemaField = argValueToBoolean(raw.expandSingleSchemaField);\n this.unstable_ignoreMimeParameters = argValueToBoolean(raw.unstable_ignoreMimeParameters);\n this.allowedMdComponents = raw.allowedMdComponents || {};\n this.expandDefaultServerVariables = argValueToBoolean(raw.expandDefaultServerVariables);\n this.maxDisplayedEnumValues = argValueToNumber(raw.maxDisplayedEnumValues);\n const ignoreNamedSchemas = Array.isArray(raw.ignoreNamedSchemas) ? raw.ignoreNamedSchemas : raw.ignoreNamedSchemas?.split(',').map(s => s.trim());\n this.ignoreNamedSchemas = new Set(ignoreNamedSchemas);\n }\n\n}","import * as styledComponents from 'styled-components';\nimport { ResolvedThemeInterface } from './theme';\nexport { ResolvedThemeInterface };\nconst {\n default: styled,\n css,\n createGlobalStyle,\n keyframes,\n ThemeProvider\n} = (styledComponents as styledComponents.ThemedStyledComponentsModule);\nexport const media = {\n lessThan(breakpoint, print?: boolean, extra?: string) {\n return (...args) => css`\n @media ${print ? 'print, ' : ''} screen and (max-width: ${props => props.theme.breakpoints[breakpoint]})${extra || ''} {\n ${(css as any)(...args)};\n }\n `;\n },\n\n greaterThan(breakpoint) {\n return (...args) => css`\n @media (min-width: ${props => props.theme.breakpoints[breakpoint]}) {\n ${(css as any)(...args)};\n }\n `;\n },\n\n between(firstBreakpoint, secondBreakpoint) {\n return (...args) => css`\n @media (min-width: ${props => props.theme.breakpoints[firstBreakpoint]}) and (max-width: ${props => props.theme.breakpoints[secondBreakpoint]}) {\n ${(css as any)(...args)};\n }\n `;\n }\n\n};\nexport { css, createGlobalStyle, keyframes, ThemeProvider };\nexport default styled;\nexport function extensionsHook(styledName: string) {\n return props => {\n if (!props.theme.extensionsHook) {\n return;\n }\n\n return props.theme.extensionsHook(styledName, props);\n };\n}","import * as React from 'react';\nimport styled from '../styled-components';\nconst ErrorWrapper = styled.div`\n padding: 20px;\n color: red;\n`;\nexport class ErrorBoundary extends React.Component, {\n error?: Error;\n}> {\n constructor(props) {\n super(props);\n this.state = {\n error: undefined\n };\n }\n\n componentDidCatch(error) {\n this.setState({\n error\n });\n return false;\n }\n\n render() {\n if (this.state.error) {\n return \n

    Something went wrong...

    \n {this.state.error.message} \n

    \n

    \n Stack trace\n
    {this.state.error.stack}
    \n
    \n

    \n ReDoc Version: {__REDOC_VERSION__}
    \n Commit: {__REDOC_REVISION__}\n
    ;\n }\n\n return React.Children.only(this.props.children);\n }\n\n}","import * as React from 'react';\nimport styled, { keyframes } from '../../styled-components';\n\nconst _Spinner = (props: {\n className?: string;\n color: string;\n}) => \n \n \n \n \n \n \n \n \n ;\n\nconst rotate = keyframes`\n 0% {\n transform: rotate(0deg); }\n 100% {\n transform: rotate(360deg);\n }\n`;\nexport const Spinner = styled(_Spinner)`\n animation: 2s ${rotate} linear infinite;\n width: 50px;\n height: 50px;\n content: '';\n display: inline-block;\n margin-left: -25px;\n\n path {\n fill: ${props => props.color};\n }\n`;","import * as React from 'react';\nimport styled from '../../styled-components';\nimport { Spinner } from './Spinner.svg';\nconst LoadingMessage = styled.div<{\n color: string;\n}>`\n font-family: helvetica, sans;\n width: 100%;\n text-align: center;\n font-size: 25px;\n margin: 30px 0 20px 0;\n color: ${props => props.color};\n`;\nexport interface LoadingProps {\n color: string;\n}\nexport class Loading extends React.PureComponent {\n render() {\n return
    \n Loading ...\n \n
    ;\n }\n\n}","import * as React from 'react';\nimport { RedocNormalizedOptions } from '../services/RedocNormalizedOptions';\nexport const OptionsContext = React.createContext(new RedocNormalizedOptions({}));\nexport const OptionsProvider = OptionsContext.Provider;\nexport const OptionsConsumer = OptionsContext.Consumer;","import * as JsonSchemaRefParser from 'json-schema-ref-parser';\n/* tslint:disable-next-line:no-implicit-dependencies */\n\nimport { convertObj } from 'swagger2openapi';\nimport { OpenAPISpec } from '../types';\nexport async function loadAndBundleSpec(specUrlOrObject: object | string): Promise {\n const parser = new JsonSchemaRefParser();\n const spec = (await parser.bundle(specUrlOrObject, ({\n resolve: {\n http: {\n withCredentials: false\n }\n }\n } as object)) as any);\n\n if (spec.swagger !== undefined) {\n return convertSwagger2OpenAPI(spec);\n } else {\n return spec;\n }\n}\nexport function convertSwagger2OpenAPI(spec: any): Promise {\n console.warn('[ReDoc Compatibility mode]: Converting OpenAPI 2.0 to OpenAPI 3.0');\n return new Promise((resolve, reject) => convertObj(spec, {\n patch: true,\n warnOnly: true,\n text: '{}',\n anchors: true\n }, (err, res) => {\n // TODO: log any warnings\n if (err) {\n return reject(err);\n }\n\n resolve(res && (res.openapi as any));\n }));\n}","'use strict';\n\nimport * as JsonPointerLib from 'json-pointer';\nconst origParse = JsonPointerLib.parse;\n/**\n * Wrapper for JsonPointer. Provides common operations\n */\n\nexport class JsonPointer {\n /**\n * returns last JsonPointer token\n * if level > 1 returns levels last (second last/third last)\n * @example\n * // returns subpath\n * JsonPointerHelper.baseName('/path/0/subpath')\n * // returns foo\n * JsonPointerHelper.baseName('/path/foo/subpath', 2)\n */\n static baseName(pointer, level = 1) {\n const tokens = JsonPointer.parse(pointer);\n return tokens[tokens.length - level];\n }\n /**\n * returns dirname of pointer\n * if level > 1 returns corresponding dirname in the hierarchy\n * @example\n * // returns /path/0\n * JsonPointerHelper.dirName('/path/0/subpath')\n * // returns /path\n * JsonPointerHelper.dirName('/path/foo/subpath', 2)\n */\n\n\n static dirName(pointer, level = 1) {\n const tokens = JsonPointer.parse(pointer);\n return JsonPointerLib.compile(tokens.slice(0, tokens.length - level));\n }\n /**\n * returns relative path tokens\n * @example\n * // returns ['subpath']\n * JsonPointerHelper.relative('/path/0', '/path/0/subpath')\n * // returns ['foo', 'subpath']\n * JsonPointerHelper.relative('/path', '/path/foo/subpath')\n */\n\n\n static relative(from, to): string[] {\n const fromTokens = JsonPointer.parse(from);\n const toTokens = JsonPointer.parse(to);\n return toTokens.slice(fromTokens.length);\n }\n /**\n * overridden JsonPointer original parse to take care of prefixing '#' symbol\n * that is not valid JsonPointer\n */\n\n\n static parse(pointer) {\n let ptr = pointer;\n\n if (ptr.charAt(0) === '#') {\n ptr = ptr.substring(1);\n }\n\n return origParse(ptr);\n }\n /**\n * Creates a JSON pointer path, by joining one or more tokens to a base path.\n *\n * @param {string} base - The base path\n * @param {string|string[]} tokens - The token(s) to append (e.g. [\"name\", \"first\"])\n * @returns {string}\n */\n\n\n static join(base, tokens) {\n // TODO: optimize\n const baseTokens = JsonPointer.parse(base);\n const resTokens = baseTokens.concat(tokens);\n return JsonPointerLib.compile(resTokens);\n }\n\n static get(object: object, pointer: string) {\n return JsonPointerLib.get(object, pointer);\n }\n\n static compile(tokens: string[]) {\n return JsonPointerLib.compile(tokens);\n }\n\n static escape(pointer: string) {\n return JsonPointerLib.escape(pointer);\n }\n\n}\n(JsonPointerLib as any).parse = JsonPointer.parse;\nObject.assign(JsonPointer, JsonPointerLib);\nexport default JsonPointer;","import { dirname } from 'path';\nimport * as URLtemplate from 'url-template';\nimport { FieldModel } from '../services/models';\nimport { OpenAPIParser } from '../services/OpenAPIParser';\nimport { OpenAPIEncoding, OpenAPIMediaType, OpenAPIOperation, OpenAPIParameter, OpenAPIParameterStyle, OpenAPISchema, OpenAPIServer, Referenced } from '../types';\nimport { IS_BROWSER } from './dom';\nimport { isNumeric, removeQueryString, resolveUrl } from './helpers';\n\nfunction isWildcardStatusCode(statusCode: string | number): statusCode is string {\n return typeof statusCode === 'string' && /\\dxx/i.test(statusCode);\n}\n\nexport function isStatusCode(statusCode: string) {\n return statusCode === 'default' || isNumeric(statusCode) || isWildcardStatusCode(statusCode);\n}\nexport function getStatusCodeType(statusCode: string | number, defaultAsError = false): string {\n if (statusCode === 'default') {\n return defaultAsError ? 'error' : 'success';\n }\n\n let code = typeof statusCode === 'string' ? parseInt(statusCode, 10) : statusCode;\n\n if (isWildcardStatusCode(statusCode)) {\n code *= 100; // parseInt('2xx') parses to 2\n }\n\n if (code < 100 || code > 599) {\n throw new Error('invalid HTTP code');\n }\n\n let res = 'success';\n\n if (code >= 300 && code < 400) {\n res = 'redirect';\n } else if (code >= 400) {\n res = 'error';\n } else if (code < 200) {\n res = 'info';\n }\n\n return res;\n}\nconst operationNames = {\n get: true,\n post: true,\n put: true,\n head: true,\n patch: true,\n delete: true,\n options: true\n};\nexport function isOperationName(key: string): boolean {\n return key in operationNames;\n}\nexport function getOperationSummary(operation: OpenAPIOperation): string {\n return operation.summary || operation.operationId || operation.description && operation.description.substring(0, 50) || '';\n}\nconst schemaKeywordTypes = {\n multipleOf: 'number',\n maximum: 'number',\n exclusiveMaximum: 'number',\n minimum: 'number',\n exclusiveMinimum: 'number',\n maxLength: 'string',\n minLength: 'string',\n pattern: 'string',\n items: 'array',\n maxItems: 'array',\n minItems: 'array',\n uniqueItems: 'array',\n maxProperties: 'object',\n minProperties: 'object',\n required: 'object',\n additionalProperties: 'object',\n properties: 'object'\n};\nexport function detectType(schema: OpenAPISchema): string {\n if (schema.type !== undefined) {\n return schema.type;\n }\n\n const keywords = Object.keys(schemaKeywordTypes);\n\n for (const keyword of keywords) {\n const type = schemaKeywordTypes[keyword];\n\n if (schema[keyword] !== undefined) {\n return type;\n }\n }\n\n return 'any';\n}\nexport function isPrimitiveType(schema: OpenAPISchema, type: string | undefined = schema.type) {\n if (schema.oneOf !== undefined || schema.anyOf !== undefined) {\n return false;\n }\n\n if (type === 'object') {\n return schema.properties !== undefined ? Object.keys(schema.properties).length === 0 : schema.additionalProperties === undefined;\n }\n\n if (type === 'array') {\n if (schema.items === undefined) {\n return true;\n }\n\n return false;\n }\n\n return true;\n}\nexport function isJsonLike(contentType: string): boolean {\n return contentType.search(/json/i) !== -1;\n}\nexport function isFormUrlEncoded(contentType: string): boolean {\n return contentType === 'application/x-www-form-urlencoded';\n}\n\nfunction delimitedEncodeField(fieldVal: any, fieldName: string, delimiter: string): string {\n if (Array.isArray(fieldVal)) {\n return fieldVal.map(v => v.toString()).join(delimiter);\n } else if (typeof fieldVal === 'object') {\n return Object.keys(fieldVal).map(k => `${k}${delimiter}${fieldVal[k]}`).join(delimiter);\n } else {\n return fieldName + '=' + fieldVal.toString();\n }\n}\n\nfunction deepObjectEncodeField(fieldVal: any, fieldName: string): string {\n if (Array.isArray(fieldVal)) {\n console.warn('deepObject style cannot be used with array value:' + fieldVal.toString());\n return '';\n } else if (typeof fieldVal === 'object') {\n return Object.keys(fieldVal).map(k => `${fieldName}[${k}]=${fieldVal[k]}`).join('&');\n } else {\n console.warn('deepObject style cannot be used with non-object value:' + fieldVal.toString());\n return '';\n }\n}\n\nfunction serializeFormValue(name: string, explode: boolean, value: any) {\n // Use RFC6570 safe name ([a-zA-Z0-9_]) and replace with our name later\n // e.g. URI.template doesn't parse names with hyphen (-) which are valid query param names\n const safeName = '__redoc_param_name__';\n const suffix = explode ? '*' : '';\n const template = URLtemplate.parse(`{?${safeName}${suffix}}`);\n return template.expand({\n [safeName]: value\n }).substring(1).replace(/__redoc_param_name__/g, name);\n}\n/*\n * Should be used only for url-form-encoded body payloads\n * To be used for parameters should be extended with other style values\n */\n\n\nexport function urlFormEncodePayload(payload: object, encoding: {\n [field: string]: OpenAPIEncoding;\n} = {}) {\n if (Array.isArray(payload)) {\n throw new Error('Payload must have fields: ' + payload.toString());\n } else {\n return Object.keys(payload).map(fieldName => {\n const fieldVal = payload[fieldName];\n const {\n style = 'form',\n explode = true\n } = encoding[fieldName] || {};\n\n switch (style) {\n case 'form':\n return serializeFormValue(fieldName, explode, fieldVal);\n\n case 'spaceDelimited':\n return delimitedEncodeField(fieldVal, fieldName, '%20');\n\n case 'pipeDelimited':\n return delimitedEncodeField(fieldVal, fieldName, '|');\n\n case 'deepObject':\n return deepObjectEncodeField(fieldVal, fieldName);\n\n default:\n // TODO implement rest of styles for path parameters\n console.warn('Incorrect or unsupported encoding style: ' + style);\n return '';\n }\n }).join('&');\n }\n}\n\nfunction serializePathParameter(name: string, style: OpenAPIParameterStyle, explode: boolean, value: any): string {\n const suffix = explode ? '*' : '';\n let prefix = '';\n\n if (style === 'label') {\n prefix = '.';\n } else if (style === 'matrix') {\n prefix = ';';\n } // Use RFC6570 safe name ([a-zA-Z0-9_]) and replace with our name later\n // e.g. URI.template doesn't parse names with hyphen (-) which are valid query param names\n\n\n const safeName = '__redoc_param_name__';\n const template = URLtemplate.parse(`{${prefix}${safeName}${suffix}}`);\n return template.expand({\n [safeName]: value\n }).replace(/__redoc_param_name__/g, name);\n}\n\nfunction serializeQueryParameter(name: string, style: OpenAPIParameterStyle, explode: boolean, value: any): string {\n switch (style) {\n case 'form':\n return serializeFormValue(name, explode, value);\n\n case 'spaceDelimited':\n if (!Array.isArray(value)) {\n console.warn('The style spaceDelimited is only applicable to arrays');\n return '';\n }\n\n if (explode) {\n return serializeFormValue(name, explode, value);\n }\n\n return `${name}=${value.join('%20')}`;\n\n case 'pipeDelimited':\n if (!Array.isArray(value)) {\n console.warn('The style pipeDelimited is only applicable to arrays');\n return '';\n }\n\n if (explode) {\n return serializeFormValue(name, explode, value);\n }\n\n return `${name}=${value.join('|')}`;\n\n case 'deepObject':\n if (!explode || Array.isArray(value) || typeof value !== 'object') {\n console.warn('The style deepObject is only applicable for objects with explode=true');\n return '';\n }\n\n return deepObjectEncodeField(value, name);\n\n default:\n console.warn('Unexpected style for query: ' + style);\n return '';\n }\n}\n\nfunction serializeHeaderParameter(style: OpenAPIParameterStyle, explode: boolean, value: any): string {\n switch (style) {\n case 'simple':\n const suffix = explode ? '*' : ''; // name is not important here, so use RFC6570 safe name ([a-zA-Z0-9_])\n\n const name = '__redoc_param_name__';\n const template = URLtemplate.parse(`{${name}${suffix}}`);\n return decodeURIComponent(template.expand({\n [name]: value\n }));\n\n default:\n console.warn('Unexpected style for header: ' + style);\n return '';\n }\n}\n\nfunction serializeCookieParameter(name: string, style: OpenAPIParameterStyle, explode: boolean, value: any): string {\n switch (style) {\n case 'form':\n return serializeFormValue(name, explode, value);\n\n default:\n console.warn('Unexpected style for cookie: ' + style);\n return '';\n }\n}\n\nexport function serializeParameterValueWithMime(value: any, mime: string): string {\n if (isJsonLike(mime)) {\n return JSON.stringify(value);\n } else {\n console.warn(`Parameter serialization as ${mime} is not supported`);\n return '';\n }\n}\nexport function serializeParameterValue(parameter: OpenAPIParameter & {\n serializationMime?: string;\n}, value: any): string {\n const {\n name,\n style,\n explode = false,\n serializationMime\n } = parameter;\n\n if (serializationMime) {\n switch (parameter.in) {\n case 'path':\n case 'header':\n return serializeParameterValueWithMime(value, serializationMime);\n\n case 'cookie':\n case 'query':\n return `${name}=${serializeParameterValueWithMime(value, serializationMime)}`;\n\n default:\n console.warn('Unexpected parameter location: ' + parameter.in);\n return '';\n }\n }\n\n if (!style) {\n console.warn(`Missing style attribute or content for parameter ${name}`);\n return '';\n }\n\n switch (parameter.in) {\n case 'path':\n return serializePathParameter(name, style, explode, value);\n\n case 'query':\n return serializeQueryParameter(name, style, explode, value);\n\n case 'header':\n return serializeHeaderParameter(style, explode, value);\n\n case 'cookie':\n return serializeCookieParameter(name, style, explode, value);\n\n default:\n console.warn('Unexpected parameter location: ' + parameter.in);\n return '';\n }\n}\nexport function langFromMime(contentType: string): string {\n if (contentType.search(/xml/i) !== -1) {\n return 'xml';\n }\n\n return 'clike';\n}\nexport function isNamedDefinition(pointer?: string): boolean {\n return /^#\\/components\\/schemas\\/[^\\/]+$/.test(pointer || '');\n}\nexport function getDefinitionName(pointer?: string): string | undefined {\n if (!pointer) return undefined;\n const match = pointer.match(/^#\\/components\\/schemas\\/([^\\/]+)$/);\n return match === null ? undefined : match[1];\n}\n\nfunction humanizeMultipleOfConstraint(multipleOf: number | undefined): string | undefined {\n if (multipleOf === undefined) {\n return;\n }\n\n const strigifiedMultipleOf = multipleOf.toString(10);\n\n if (!/^0\\.0*1$/.test(strigifiedMultipleOf)) {\n return `multiple of ${strigifiedMultipleOf}`;\n }\n\n return `decimal places <= ${strigifiedMultipleOf.split('.')[1].length}`;\n}\n\nfunction humanizeRangeConstraint(description: string, min: number | undefined, max: number | undefined): string | undefined {\n let stringRange;\n\n if (min !== undefined && max !== undefined) {\n if (min === max) {\n stringRange = `${min} ${description}`;\n } else {\n stringRange = `[ ${min} .. ${max} ] ${description}`;\n }\n } else if (max !== undefined) {\n stringRange = `<= ${max} ${description}`;\n } else if (min !== undefined) {\n if (min === 1) {\n stringRange = 'non-empty';\n } else {\n stringRange = `>= ${min} ${description}`;\n }\n }\n\n return stringRange;\n}\n\nexport function humanizeConstraints(schema: OpenAPISchema): string[] {\n const res: string[] = [];\n const stringRange = humanizeRangeConstraint('characters', schema.minLength, schema.maxLength);\n\n if (stringRange !== undefined) {\n res.push(stringRange);\n }\n\n const arrayRange = humanizeRangeConstraint('items', schema.minItems, schema.maxItems);\n\n if (arrayRange !== undefined) {\n res.push(arrayRange);\n }\n\n const multipleOfConstraint = humanizeMultipleOfConstraint(schema.multipleOf);\n\n if (multipleOfConstraint !== undefined) {\n res.push(multipleOfConstraint);\n }\n\n let numberRange;\n\n if (schema.minimum !== undefined && schema.maximum !== undefined) {\n numberRange = schema.exclusiveMinimum ? '( ' : '[ ';\n numberRange += schema.minimum;\n numberRange += ' .. ';\n numberRange += schema.maximum;\n numberRange += schema.exclusiveMaximum ? ' )' : ' ]';\n } else if (schema.maximum !== undefined) {\n numberRange = schema.exclusiveMaximum ? '< ' : '<= ';\n numberRange += schema.maximum;\n } else if (schema.minimum !== undefined) {\n numberRange = schema.exclusiveMinimum ? '> ' : '>= ';\n numberRange += schema.minimum;\n }\n\n if (numberRange !== undefined) {\n res.push(numberRange);\n }\n\n if (schema.uniqueItems) {\n res.push('unique');\n }\n\n return res;\n}\nexport function sortByRequired(fields: FieldModel[], order: string[] = []) {\n const unrequiredFields: FieldModel[] = [];\n const orderedFields: FieldModel[] = [];\n const unorderedFields: FieldModel[] = [];\n fields.forEach(field => {\n if (field.required) {\n order.includes(field.name) ? orderedFields.push(field) : unorderedFields.push(field);\n } else {\n unrequiredFields.push(field);\n }\n });\n orderedFields.sort((a, b) => order.indexOf(a.name) - order.indexOf(b.name));\n return [...orderedFields, ...unorderedFields, ...unrequiredFields];\n}\nexport function sortByField(fields: FieldModel[], param: keyof Pick) {\n return [...fields].sort((a, b) => {\n return a[param].localeCompare(b[param]);\n });\n}\nexport function mergeParams(parser: OpenAPIParser, pathParams: Array> = [], operationParams: Array> = []): Array> {\n const operationParamNames = {};\n operationParams.forEach(param => {\n param = parser.shalowDeref(param);\n operationParamNames[param.name + '_' + param.in] = true;\n }); // filter out path params overridden by operation ones with the same name\n\n pathParams = pathParams.filter(param => {\n param = parser.shalowDeref(param);\n return !operationParamNames[param.name + '_' + param.in];\n });\n return pathParams.concat(operationParams);\n}\nexport function mergeSimilarMediaTypes(types: Record): Record {\n const mergedTypes = {};\n Object.keys(types).forEach(name => {\n const mime = types[name]; // ignore content type parameters (e.g. charset) and merge\n\n const normalizedMimeName = name.split(';')[0].trim();\n\n if (!mergedTypes[normalizedMimeName]) {\n mergedTypes[normalizedMimeName] = mime;\n return;\n }\n\n mergedTypes[normalizedMimeName] = { ...mergedTypes[normalizedMimeName],\n ...mime\n };\n });\n return mergedTypes;\n}\nexport function expandDefaultServerVariables(url: string, variables: object = {}) {\n return url.replace(/(?:{)([\\w-.]+)(?:})/g, (match, name) => variables[name] && variables[name].default || match);\n}\nexport function normalizeServers(specUrl: string | undefined, servers: OpenAPIServer[]): OpenAPIServer[] {\n const getHref = () => {\n if (!IS_BROWSER) {\n return '';\n }\n\n const href = window.location.href;\n return href.endsWith('.html') ? dirname(href) : href;\n };\n\n const baseUrl = specUrl === undefined ? removeQueryString(getHref()) : dirname(specUrl);\n\n if (servers.length === 0) {\n // Behaviour defined in OpenAPI spec: https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#openapi-object\n servers = [{\n url: '/'\n }];\n }\n\n function normalizeUrl(url: string): string {\n return resolveUrl(baseUrl, url);\n }\n\n return servers.map(server => {\n return { ...server,\n url: normalizeUrl(server.url),\n description: server.description || ''\n };\n });\n}\nexport const SECURITY_DEFINITIONS_COMPONENT_NAME = 'security-definitions';\nexport const SECURITY_DEFINITIONS_JSX_NAME = 'SecurityDefinitions';\nexport const SCHEMA_DEFINITION_JSX_NAME = 'SchemaDefinition';\nexport let SECURITY_SCHEMES_SECTION_PREFIX = 'section/Authentication/';\nexport function setSecuritySchemePrefix(prefix: string) {\n SECURITY_SCHEMES_SECTION_PREFIX = prefix;\n}\nexport const shortenHTTPVerb = verb => ({\n delete: 'del',\n options: 'opts'\n})[verb] || verb;\nexport function isRedocExtension(key: string): boolean {\n const redocExtensions = {\n 'x-circular-ref': true,\n 'x-code-samples': true,\n // deprecated\n 'x-codeSamples': true,\n 'x-displayName': true,\n 'x-examples': true,\n 'x-ignoredHeaderParameters': true,\n 'x-logo': true,\n 'x-nullable': true,\n 'x-servers': true,\n 'x-tagGroups': true,\n 'x-traitTag': true,\n 'x-additionalPropertiesName': true,\n 'x-explicitMappingOnly': true\n };\n return key in redocExtensions;\n}\nexport function extractExtensions(obj: object, showExtensions: string[] | true): Record {\n return Object.keys(obj).filter(key => {\n if (showExtensions === true) {\n return key.startsWith('x-') && !isRedocExtension(key);\n }\n\n return key.startsWith('x-') && showExtensions.indexOf(key) > -1;\n }).reduce((acc, key) => {\n acc[key] = obj[key];\n return acc;\n }, {});\n}\nexport function pluralizeType(displayType: string): string {\n return displayType.split(' or ').map(type => type.replace(/^(string|object|number|integer|array|boolean)s?( ?.*)/, '$1s$2')).join(' or ');\n}","import * as Prism from 'prismjs';\nimport 'prismjs/components/prism-bash.js';\nimport 'prismjs/components/prism-c.js';\nimport 'prismjs/components/prism-clike.js';\nimport 'prismjs/components/prism-coffeescript.js';\nimport 'prismjs/components/prism-cpp.js';\nimport 'prismjs/components/prism-csharp.js';\nimport 'prismjs/components/prism-go.js';\nimport 'prismjs/components/prism-http.js';\nimport 'prismjs/components/prism-java.js';\nimport 'prismjs/components/prism-lua.js';\nimport 'prismjs/components/prism-markup-templating.js'; // dep of php\n\nimport 'prismjs/components/prism-markup.js'; // xml\n\nimport 'prismjs/components/prism-objectivec.js';\nimport 'prismjs/components/prism-perl.js';\nimport 'prismjs/components/prism-php.js';\nimport 'prismjs/components/prism-python.js';\nimport 'prismjs/components/prism-ruby.js';\nimport 'prismjs/components/prism-scala.js';\nimport 'prismjs/components/prism-sql.js';\nimport 'prismjs/components/prism-swift.js';\nconst DEFAULT_LANG = 'clike';\nPrism.languages.insertBefore('javascript', 'string', ({\n 'property string': {\n pattern: /([{,]\\s*)\"(?:\\\\.|[^\\\\\"\\r\\n])*\"(?=\\s*:)/i,\n lookbehind: true\n }\n} as any), (undefined as any));\nPrism.languages.insertBefore('javascript', 'punctuation', {\n property: {\n pattern: /([{,]\\s*)[a-z]\\w*(?=\\s*:)/i,\n lookbehind: true\n }\n}, (undefined as any));\n/**\n * map language names to Prism.js names\n */\n\nexport function mapLang(lang: string): string {\n return {\n json: 'js',\n 'c++': 'cpp',\n 'c#': 'csharp',\n 'objective-c': 'objectivec',\n shell: 'bash',\n viml: 'vim'\n }[lang] || DEFAULT_LANG;\n}\n/**\n * Highlight source code string using Prism.js\n * @param source source code to highlight\n * @param lang highlight language\n * @return highlighted source code as **html string**\n */\n\nexport function highlight(source: string, lang: string = DEFAULT_LANG): string {\n lang = lang.toLowerCase();\n let grammar = Prism.languages[lang];\n\n if (!grammar) {\n grammar = Prism.languages[mapLang(lang)];\n }\n\n return Prism.highlight(source, grammar, lang);\n}","function throttle(func, wait) {\n let context;\n let args;\n let result;\n let timeout: any = null;\n let previous = 0;\n\n const later = () => {\n previous = new Date().getTime();\n timeout = null;\n result = func.apply(context, args);\n\n if (!timeout) {\n context = args = null;\n }\n };\n\n return function () {\n const now = new Date().getTime();\n const remaining = wait - (now - previous);\n context = this; // eslint-disable-next-line prefer-rest-params\n\n args = arguments;\n\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n\n previous = now;\n result = func.apply(context, args);\n\n if (!timeout) {\n context = args = null;\n }\n } else if (!timeout) {\n timeout = setTimeout(later, remaining);\n }\n\n return result;\n };\n}\n\nexport function Throttle(delay: number) {\n return (_, _2, desc: PropertyDescriptor) => {\n desc.value = throttle(desc.value, delay);\n };\n}","export function debugTime(label: string) {\n if (process.env.NODE_ENV !== 'production') {\n console.time(label);\n }\n}\nexport function debugTimeEnd(label: string) {\n if (process.env.NODE_ENV !== 'production') {\n console.timeEnd(label);\n }\n}","// source: https://github.com/andreypopp/memoize-decorator\nconst SENTINEL = {};\nexport function memoize(target: any, name: string, descriptor: TypedPropertyDescriptor) {\n if (typeof descriptor.value === 'function') {\n return ((_memoizeMethod(target, name, descriptor) as any) as TypedPropertyDescriptor);\n } else if (typeof descriptor.get === 'function') {\n return (_memoizeGetter(target, name, descriptor) as TypedPropertyDescriptor);\n } else {\n throw new Error('@memoize decorator can be applied to methods or getters, got ' + String(descriptor.value) + ' instead');\n }\n}\n\nfunction _memoizeGetter(target: any, name: string, descriptor: PropertyDescriptor) {\n const memoizedName = `_memoized_${name}`;\n const get = descriptor.get!;\n target[memoizedName] = SENTINEL;\n return { ...descriptor,\n\n get() {\n if (this[memoizedName] === SENTINEL) {\n this[memoizedName] = get.call(this);\n }\n\n return this[memoizedName];\n }\n\n };\n}\n\nfunction _memoizeMethod(target: any, name: string, descriptor: TypedPropertyDescriptor) {\n if (!descriptor.value || (descriptor.value as any).length > 0) {\n throw new Error('@memoize decorator can only be applied to methods of zero arguments');\n }\n\n const memoizedName = `_memoized_${name}`;\n const value = descriptor.value;\n target[memoizedName] = SENTINEL;\n return { ...descriptor,\n\n value() {\n if (this[memoizedName] === SENTINEL) {\n this[memoizedName] = (value as any).call(this);\n }\n\n return (this[memoizedName] as any);\n }\n\n };\n}","export * from './JsonPointer';\nexport * from './openapi';\nexport * from './helpers';\nexport * from './highlight';\nexport * from './loadAndBundleSpec';\nexport * from './dom';\nexport * from './decorators';\nexport * from './debug';\nexport * from './memoize';","import { bind, debounce } from 'decko';\nimport { EventEmitter } from 'eventemitter3';\nimport { IS_BROWSER } from '../utils/';\nconst EVENT = 'hashchange';\nexport class HistoryService {\n private _emiter;\n\n constructor() {\n this._emiter = new EventEmitter();\n this.bind();\n }\n\n get currentId(): string {\n return IS_BROWSER ? decodeURIComponent(window.location.hash.substring(1)) : '';\n }\n\n linkForId(id: string) {\n if (!id) {\n return '';\n }\n\n return '#' + id;\n }\n\n subscribe(cb): () => void {\n const emmiter = this._emiter.addListener(EVENT, cb);\n\n return () => emmiter.removeListener(EVENT, cb);\n }\n\n emit = () => {\n this._emiter.emit(EVENT, this.currentId);\n };\n\n bind() {\n if (IS_BROWSER) {\n window.addEventListener('hashchange', this.emit, false);\n }\n }\n\n dispose() {\n if (IS_BROWSER) {\n window.removeEventListener('hashchange', this.emit);\n }\n }\n\n @bind\n @debounce\n replace(id: string | null, rewriteHistory: boolean = false) {\n if (!IS_BROWSER) {\n return;\n }\n\n if (id == null || id === this.currentId) {\n return;\n }\n\n if (rewriteHistory) {\n window.history.replaceState(null, '', window.location.href.split('#')[0] + this.linkForId(id));\n return;\n }\n\n window.history.pushState(null, '', window.location.href.split('#')[0] + this.linkForId(id));\n this.emit();\n }\n\n}\nexport const history = new HistoryService();\n\nif (module.hot) {\n module.hot.dispose(() => {\n history.dispose();\n });\n}","import * as Mark from 'mark.js';\nexport class MarkerService {\n map: Map = new Map();\n private prevTerm: string = '';\n\n add(el: HTMLElement) {\n this.map.set(el, new Mark(el));\n }\n\n delete(el: Element) {\n this.map.delete(el);\n }\n\n addOnly(elements: Element[]) {\n this.map.forEach((inst, elem) => {\n if (elements.indexOf(elem) === -1) {\n inst.unmark();\n this.map.delete(elem);\n }\n });\n\n for (const el of elements) {\n if (!this.map.has(el)) {\n this.map.set(el, new Mark((el as HTMLElement)));\n }\n }\n }\n\n clearAll() {\n this.unmark();\n this.map.clear();\n }\n\n mark(term?: string) {\n if (!term && !this.prevTerm) {\n return;\n }\n\n this.map.forEach(val => {\n val.unmark();\n val.mark(term || this.prevTerm);\n });\n this.prevTerm = term || this.prevTerm;\n }\n\n unmark() {\n this.map.forEach(val => val.unmark());\n this.prevTerm = '';\n }\n\n}","import * as marked from 'marked';\nimport { highlight, safeSlugify, unescapeHTMLChars } from '../utils';\nimport { AppStore } from './AppStore';\nimport { RedocNormalizedOptions } from './RedocNormalizedOptions';\nconst renderer = new marked.Renderer();\nmarked.setOptions({\n renderer,\n highlight: (str, lang) => {\n return highlight(str, lang);\n }\n});\nexport const LEGACY_REGEXP = '^ {0,3}\\\\s*$'; // prettier-ignore\n\nexport const MDX_COMPONENT_REGEXP = '(?:^ {0,3}<({component})([\\\\s\\\\S]*?)>([\\\\s\\\\S]*?)' // with children\n+ '|^ {0,3}<({component})([\\\\s\\\\S]*?)(?:/>|\\\\n{2,}))'; // self-closing\n\nexport const COMPONENT_REGEXP = '(?:' + LEGACY_REGEXP + '|' + MDX_COMPONENT_REGEXP + ')';\nexport interface MDXComponentMeta {\n component: React.ComponentType;\n propsSelector: (store?: AppStore) => any;\n props?: object;\n}\nexport interface MarkdownHeading {\n id: string;\n name: string;\n level: number;\n items?: MarkdownHeading[];\n description?: string;\n}\nexport function buildComponentComment(name: string) {\n return ``;\n}\nexport class MarkdownRenderer {\n static containsComponent(rawText: string, componentName: string) {\n const compRegexp = new RegExp(COMPONENT_REGEXP.replace(/{component}/g, componentName), 'gmi');\n return compRegexp.test(rawText);\n }\n\n static getTextBeforeHading(md: string, heading: string): string {\n const headingLinePos = md.search(new RegExp(`^##?\\\\s+${heading}`, 'm'));\n\n if (headingLinePos > -1) {\n return md.substring(0, headingLinePos);\n }\n\n return md;\n }\n\n headings: MarkdownHeading[] = [];\n currentTopHeading: MarkdownHeading;\n private headingEnhanceRenderer: marked.Renderer;\n private originalHeadingRule: typeof marked.Renderer.prototype.heading;\n\n constructor(public options?: RedocNormalizedOptions) {\n this.headingEnhanceRenderer = new marked.Renderer();\n this.originalHeadingRule = this.headingEnhanceRenderer.heading.bind(this.headingEnhanceRenderer);\n this.headingEnhanceRenderer.heading = this.headingRule;\n }\n\n saveHeading(name: string, level: number, container: MarkdownHeading[] = this.headings, parentId?: string): MarkdownHeading {\n name = unescapeHTMLChars(name);\n const item = {\n id: parentId ? `${parentId}/${safeSlugify(name)}` : `section/${safeSlugify(name)}`,\n name,\n level,\n items: []\n };\n container.push(item);\n return item;\n }\n\n flattenHeadings(container?: MarkdownHeading[]): MarkdownHeading[] {\n if (container === undefined) {\n return [];\n }\n\n const res: MarkdownHeading[] = [];\n\n for (const heading of container) {\n res.push(heading);\n res.push(...this.flattenHeadings(heading.items));\n }\n\n return res;\n }\n\n attachHeadingsDescriptions(rawText: string) {\n const buildRegexp = (heading: MarkdownHeading) => {\n return new RegExp(`##?\\\\s+${heading.name.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&')}`);\n };\n\n const flatHeadings = this.flattenHeadings(this.headings);\n\n if (flatHeadings.length < 1) {\n return;\n }\n\n let prevHeading = flatHeadings[0];\n let prevRegexp = buildRegexp(prevHeading);\n let prevPos = rawText.search(prevRegexp);\n\n for (let i = 1; i < flatHeadings.length; i++) {\n const heading = flatHeadings[i];\n const regexp = buildRegexp(heading);\n const currentPos = rawText.substr(prevPos + 1).search(regexp) + prevPos + 1;\n prevHeading.description = rawText.substring(prevPos, currentPos).replace(prevRegexp, '').trim();\n prevHeading = heading;\n prevRegexp = regexp;\n prevPos = currentPos;\n }\n\n prevHeading.description = rawText.substring(prevPos).replace(prevRegexp, '').trim();\n }\n\n headingRule = (text: string, level: 1 | 2 | 3 | 4 | 5 | 6, raw: string, slugger: marked.Slugger) => {\n if (level === 1) {\n this.currentTopHeading = this.saveHeading(text, level);\n } else if (level === 2) {\n this.saveHeading(text, level, this.currentTopHeading && this.currentTopHeading.items, this.currentTopHeading && this.currentTopHeading.id);\n }\n\n return this.originalHeadingRule(text, level, raw, slugger);\n };\n\n renderMd(rawText: string, extractHeadings: boolean = false): string {\n const opts = extractHeadings ? {\n renderer: this.headingEnhanceRenderer\n } : undefined;\n const res = marked(rawText.toString(), opts);\n return res;\n }\n\n extractHeadings(rawText: string): MarkdownHeading[] {\n this.renderMd(rawText, true);\n this.attachHeadingsDescriptions(rawText);\n const res = this.headings;\n this.headings = [];\n return res;\n } // regexp-based 👎: remark is slow and too big so for now using marked + regexps soup\n\n\n renderMdWithComponents(rawText: string): Array {\n const components = this.options && this.options.allowedMdComponents;\n\n if (!components || Object.keys(components).length === 0) {\n return [this.renderMd(rawText)];\n }\n\n const names = Object.keys(components).join('|');\n const componentsRegexp = new RegExp(COMPONENT_REGEXP.replace(/{component}/g, names), 'mig');\n const htmlParts: string[] = [];\n const componentDefs: MDXComponentMeta[] = [];\n let match = componentsRegexp.exec(rawText);\n let lasxtIdx = 0;\n\n while (match) {\n htmlParts.push(rawText.substring(lasxtIdx, match.index));\n lasxtIdx = componentsRegexp.lastIndex;\n const compName = match[1] || match[2] || match[5];\n const componentMeta = components[compName];\n const props = match[3] || match[6];\n const children = match[4];\n\n if (componentMeta) {\n componentDefs.push({\n component: componentMeta.component,\n propsSelector: componentMeta.propsSelector,\n props: { ...parseProps(props),\n ...componentMeta.props,\n children\n }\n });\n }\n\n match = componentsRegexp.exec(rawText);\n }\n\n htmlParts.push(rawText.substring(lasxtIdx));\n const res: any[] = [];\n\n for (let i = 0; i < htmlParts.length; i++) {\n const htmlPart = htmlParts[i];\n\n if (htmlPart) {\n res.push(this.renderMd(htmlPart));\n }\n\n if (componentDefs[i]) {\n res.push(componentDefs[i]);\n }\n }\n\n return res;\n }\n\n}\n\nfunction parseProps(props: string): object {\n if (!props) {\n return {};\n }\n\n const regex = /([\\w-]+)\\s*=\\s*(?:{([^}]+?)}|\"([^\"]+?)\")/gim;\n const parsed = {};\n let match; // tslint:disable-next-line\n\n while ((match = regex.exec(props)) !== null) {\n if (match[3]) {\n // string prop match (in double quotes)\n parsed[match[1]] = match[3];\n } else if (match[2]) {\n // jsx prop match (in curly braces)\n let val;\n\n try {\n val = JSON.parse(match[2]);\n } catch (e) {\n /* noop */\n }\n\n parsed[match[1]] = val;\n }\n }\n\n return parsed;\n}","import { OpenAPIContact, OpenAPIInfo, OpenAPILicense } from '../../types';\nimport { IS_BROWSER } from '../../utils/';\nimport { OpenAPIParser } from '../OpenAPIParser';\nexport class ApiInfoModel implements OpenAPIInfo {\n title: string;\n version: string;\n description: string;\n termsOfService?: string;\n contact?: OpenAPIContact;\n license?: OpenAPILicense;\n downloadLink?: string;\n downloadFileName?: string;\n\n constructor(private parser: OpenAPIParser) {\n Object.assign(this, parser.spec.info);\n this.description = parser.spec.info.description || '';\n const firstHeadingLinePos = this.description.search(/^##?\\s+/m);\n\n if (firstHeadingLinePos > -1) {\n this.description = this.description.substring(0, firstHeadingLinePos);\n }\n\n this.downloadLink = this.getDownloadLink();\n this.downloadFileName = this.getDownloadFileName();\n }\n\n private getDownloadLink(): string | undefined {\n if (this.parser.specUrl) {\n return this.parser.specUrl;\n }\n\n if (IS_BROWSER && window.Blob && window.URL && window.URL.createObjectURL) {\n const blob = new Blob([JSON.stringify(this.parser.spec, null, 2)], {\n type: 'application/json'\n });\n return window.URL.createObjectURL(blob);\n }\n }\n\n private getDownloadFileName(): string | undefined {\n if (!this.parser.specUrl) {\n return 'swagger.json';\n }\n\n return undefined;\n }\n\n}","import { OpenAPISecurityRequirement, OpenAPISecurityScheme } from '../../types';\nimport { SECURITY_SCHEMES_SECTION_PREFIX } from '../../utils/openapi';\nimport { OpenAPIParser } from '../OpenAPIParser';\nexport interface SecurityScheme extends OpenAPISecurityScheme {\n id: string;\n sectionId: string;\n scopes: string[];\n}\nexport class SecurityRequirementModel {\n schemes: SecurityScheme[];\n\n constructor(requirement: OpenAPISecurityRequirement, parser: OpenAPIParser) {\n const schemes = parser.spec.components && parser.spec.components.securitySchemes || {};\n this.schemes = (Object.keys(requirement || {}).map(id => {\n const scheme = parser.deref(schemes[id]);\n const scopes = requirement[id] || [];\n\n if (!scheme) {\n console.warn(`Non existing security scheme referenced: ${id}. Skipping`);\n return undefined;\n }\n\n return { ...scheme,\n id,\n sectionId: SECURITY_SCHEMES_SECTION_PREFIX + id,\n scopes\n };\n }).filter(scheme => scheme !== undefined) as SecurityScheme[]);\n }\n\n}","import { action, observable, makeObservable } from 'mobx';\nimport { OpenAPICallback, Referenced } from '../../types';\nimport { isOperationName, JsonPointer } from '../../utils';\nimport { OpenAPIParser } from '../OpenAPIParser';\nimport { OperationModel } from './Operation';\nimport { RedocNormalizedOptions } from '../RedocNormalizedOptions';\nexport class CallbackModel {\n @observable\n expanded: boolean = false;\n name: string;\n operations: OperationModel[] = [];\n\n constructor(parser: OpenAPIParser, name: string, infoOrRef: Referenced, pointer: string, options: RedocNormalizedOptions) {\n makeObservable(this);\n this.name = name;\n const paths = parser.deref(infoOrRef);\n parser.exitRef(infoOrRef);\n\n for (const pathName of Object.keys(paths)) {\n const path = paths[pathName];\n const operations = Object.keys(path).filter(isOperationName);\n\n for (const operationName of operations) {\n const operationInfo = path[operationName];\n const operation = new OperationModel(parser, { ...operationInfo,\n pathName,\n pointer: JsonPointer.compile([pointer, name, pathName, operationName]),\n httpVerb: operationName,\n pathParameters: path.parameters || [],\n pathServers: path.servers\n }, undefined, options, true);\n this.operations.push(operation);\n }\n }\n }\n\n @action\n toggle() {\n this.expanded = !this.expanded;\n }\n\n}","import { action, observable, makeObservable } from 'mobx';\nimport { OpenAPIExternalDocumentation, OpenAPISchema, Referenced } from '../../types';\nimport { OpenAPIParser } from '../OpenAPIParser';\nimport { RedocNormalizedOptions } from '../RedocNormalizedOptions';\nimport { FieldModel } from './Field';\nimport { MergedOpenAPISchema } from '../';\nimport { detectType, extractExtensions, humanizeConstraints, isNamedDefinition, isPrimitiveType, JsonPointer, pluralizeType, sortByField, sortByRequired } from '../../utils/';\nimport { l } from '../Labels'; // TODO: refactor this model, maybe use getters instead of copying all the values\n\nexport class SchemaModel {\n pointer: string;\n type: string;\n displayType: string;\n typePrefix: string = '';\n title: string;\n description: string;\n externalDocs?: OpenAPIExternalDocumentation;\n isPrimitive: boolean;\n isCircular: boolean = false;\n format?: string;\n displayFormat?: string;\n nullable: boolean;\n deprecated: boolean;\n pattern?: string;\n example?: any;\n enum: any[];\n default?: any;\n readOnly: boolean;\n writeOnly: boolean;\n constraints: string[];\n fields?: FieldModel[];\n items?: SchemaModel;\n oneOf?: SchemaModel[];\n oneOfType: string;\n discriminatorProp: string;\n @observable\n activeOneOf: number = 0;\n rawSchema: OpenAPISchema;\n schema: MergedOpenAPISchema;\n extensions?: Record;\n /**\n * @param isChild if schema discriminator Child\n * When true forces dereferencing in allOfs even if circular\n */\n\n constructor(parser: OpenAPIParser, schemaOrRef: Referenced, pointer: string, private options: RedocNormalizedOptions, isChild: boolean = false) {\n makeObservable(this);\n this.pointer = schemaOrRef.$ref || pointer || '';\n this.rawSchema = parser.deref(schemaOrRef);\n this.schema = parser.mergeAllOf(this.rawSchema, this.pointer, isChild);\n this.init(parser, isChild);\n parser.exitRef(schemaOrRef);\n parser.exitParents(this.schema);\n\n if (options.showExtensions) {\n this.extensions = extractExtensions(this.schema, options.showExtensions);\n }\n }\n /**\n * Set specified alternative schema as active\n * @param idx oneOf index\n */\n\n\n @action\n activateOneOf(idx: number) {\n this.activeOneOf = idx;\n }\n\n init(parser: OpenAPIParser, isChild: boolean) {\n const schema = this.schema;\n this.isCircular = schema['x-circular-ref'];\n this.title = schema.title || isNamedDefinition(this.pointer) && JsonPointer.baseName(this.pointer) || '';\n this.description = schema.description || '';\n this.type = schema.type || detectType(schema);\n this.format = schema.format;\n this.nullable = !!schema.nullable;\n this.enum = schema.enum || [];\n this.example = schema.example;\n this.deprecated = !!schema.deprecated;\n this.pattern = schema.pattern;\n this.externalDocs = schema.externalDocs;\n this.constraints = humanizeConstraints(schema);\n this.displayType = this.type;\n this.displayFormat = this.format;\n this.isPrimitive = isPrimitiveType(schema, this.type);\n this.default = schema.default;\n this.readOnly = !!schema.readOnly;\n this.writeOnly = !!schema.writeOnly;\n\n if (this.isCircular) {\n return;\n }\n\n if (!isChild && getDiscriminator(schema) !== undefined) {\n this.initDiscriminator(schema, parser);\n return;\n } else if (isChild && Array.isArray(schema.oneOf) && schema.oneOf.find(s => s.$ref === this.pointer)) {\n // we hit allOf of the schema with the parent discriminator\n delete schema.oneOf;\n }\n\n if (schema.oneOf !== undefined) {\n this.initOneOf(schema.oneOf, parser);\n this.oneOfType = 'One of';\n\n if (schema.anyOf !== undefined) {\n console.warn(`oneOf and anyOf are not supported on the same level. Skipping anyOf at ${this.pointer}`);\n }\n\n return;\n }\n\n if (schema.anyOf !== undefined) {\n this.initOneOf(schema.anyOf, parser);\n this.oneOfType = 'Any of';\n return;\n }\n\n if (this.type === 'object') {\n this.fields = buildFields(parser, schema, this.pointer, this.options);\n } else if (this.type === 'array' && schema.items) {\n this.items = new SchemaModel(parser, schema.items, this.pointer + '/items', this.options);\n this.displayType = pluralizeType(this.items.displayType);\n this.displayFormat = this.items.format;\n this.typePrefix = this.items.typePrefix + l('arrayOf');\n this.title = this.title || this.items.title;\n this.isPrimitive = this.items.isPrimitive;\n\n if (this.example === undefined && this.items.example !== undefined) {\n this.example = [this.items.example];\n }\n\n if (this.items.isPrimitive) {\n this.enum = this.items.enum;\n }\n }\n\n if (this.enum.length && this.options.sortEnumValuesAlphabetically) {\n this.enum.sort();\n }\n }\n\n private initOneOf(oneOf: OpenAPISchema[], parser: OpenAPIParser) {\n this.oneOf = oneOf!.map((variant, idx) => {\n const derefVariant = parser.deref(variant);\n const merged = parser.mergeAllOf(derefVariant, this.pointer + '/oneOf/' + idx); // try to infer title\n\n const title = isNamedDefinition(variant.$ref) && !merged.title ? JsonPointer.baseName(variant.$ref) : merged.title;\n const schema = new SchemaModel(parser, ( // merge base schema into each of oneOf's subschemas\n { // variant may already have allOf so merge it to not get overwritten\n ...merged,\n title,\n allOf: [{ ...this.schema,\n oneOf: undefined,\n anyOf: undefined\n }]\n } as OpenAPISchema), this.pointer + '/oneOf/' + idx, this.options);\n parser.exitRef(variant); // each oneOf should be independent so exiting all the parent refs\n // otherwise it will cause false-positive recursive detection\n\n parser.exitParents(merged);\n return schema;\n });\n\n if (this.options.simpleOneOfTypeLabel) {\n const types = collectUniqueOneOfTypesDeep(this);\n this.displayType = types.join(' or ');\n } else {\n this.displayType = this.oneOf.map(schema => {\n let name = schema.typePrefix + (schema.title ? `${schema.title} (${schema.displayType})` : schema.displayType);\n\n if (name.indexOf(' or ') > -1) {\n name = `(${name})`;\n }\n\n return name;\n }).join(' or ');\n }\n }\n\n private initDiscriminator(schema: OpenAPISchema & {\n parentRefs?: string[];\n }, parser: OpenAPIParser) {\n const discriminator = getDiscriminator(schema)!;\n this.discriminatorProp = discriminator.propertyName;\n const implicitInversedMapping = parser.findDerived([...(schema.parentRefs || []), this.pointer]);\n\n if (schema.oneOf) {\n for (const variant of schema.oneOf) {\n if (variant.$ref === undefined) {\n continue;\n }\n\n const name = JsonPointer.baseName(variant.$ref);\n implicitInversedMapping[variant.$ref] = name;\n }\n }\n\n const mapping = discriminator.mapping || {}; // Defines if the mapping is exhaustive. This avoids having references\n // that overlap with the mapping entries\n\n let isLimitedToMapping = discriminator['x-explicitMappingOnly'] || false; // if there are no mappings, assume non-exhaustive\n\n if (Object.keys(mapping).length === 0) {\n isLimitedToMapping = false;\n }\n\n const explicitInversedMapping = {};\n\n for (const name in mapping) {\n const $ref = mapping[name];\n\n if (Array.isArray(explicitInversedMapping[$ref])) {\n explicitInversedMapping[$ref].push(name);\n } else {\n // overrides implicit mapping here\n explicitInversedMapping[$ref] = [name];\n }\n }\n\n const inversedMapping = isLimitedToMapping ? { ...explicitInversedMapping\n } : { ...implicitInversedMapping,\n ...explicitInversedMapping\n };\n let refs: Array<{\n $ref;\n name;\n }> = [];\n\n for (const $ref of Object.keys(inversedMapping)) {\n const names = inversedMapping[$ref];\n\n if (Array.isArray(names)) {\n for (const name of names) {\n refs.push({\n $ref,\n name\n });\n }\n } else {\n refs.push({\n $ref,\n name: names\n });\n }\n } // Make the listing respects the mapping\n // in case a mapping is defined, the user usually wants to have the order shown\n // as it was defined in the yaml. This will sort the names given the provided\n // mapping (if provided).\n // The logic is:\n // - If a name is among the mapping, promote it to first\n // - Names among the mapping are sorted by their order in the mapping\n // - Names outside the mapping are sorted alphabetically\n\n\n const names = Object.keys(mapping);\n\n if (names.length !== 0) {\n refs = refs.sort((left, right) => {\n const indexLeft = names.indexOf(left.name);\n const indexRight = names.indexOf(right.name);\n\n if (indexLeft < 0 && indexRight < 0) {\n // out of mapping, order by name\n return left.name.localeCompare(right.name);\n } else if (indexLeft < 0) {\n // the right is found, so mapping wins\n return 1;\n } else if (indexRight < 0) {\n // left wins as it's in mapping\n return -1;\n } else {\n return indexLeft - indexRight;\n }\n });\n }\n\n this.oneOf = refs.map(({\n $ref,\n name\n }) => {\n const innerSchema = new SchemaModel(parser, parser.byRef($ref)!, $ref, this.options, true);\n innerSchema.title = name;\n return innerSchema;\n });\n }\n\n}\n\nfunction buildFields(parser: OpenAPIParser, schema: OpenAPISchema, $ref: string, options: RedocNormalizedOptions): FieldModel[] {\n const props = schema.properties || {};\n const additionalProps = schema.additionalProperties;\n const defaults = schema.default || {};\n let fields = Object.keys(props || []).map(fieldName => {\n let field = props[fieldName];\n\n if (!field) {\n console.warn(`Field \"${fieldName}\" is invalid, skipping.\\n Field must be an object but got ${typeof field} at \"${$ref}\"`);\n field = {};\n }\n\n const required = schema.required === undefined ? false : schema.required.indexOf(fieldName) > -1;\n return new FieldModel(parser, {\n name: fieldName,\n required,\n schema: { ...field,\n default: field.default === undefined ? defaults[fieldName] : field.default\n }\n }, $ref + '/properties/' + fieldName, options);\n });\n\n if (options.sortPropsAlphabetically) {\n fields = sortByField(fields, 'name');\n }\n\n if (options.requiredPropsFirst) {\n // if not sort alphabetically sort in the order from required keyword\n fields = sortByRequired(fields, !options.sortPropsAlphabetically ? schema.required : undefined);\n }\n\n if (typeof additionalProps === 'object' || additionalProps === true) {\n fields.push(new FieldModel(parser, {\n name: (typeof additionalProps === 'object' ? additionalProps['x-additionalPropertiesName'] || 'property name' : 'property name').concat('*'),\n required: false,\n schema: additionalProps === true ? {} : additionalProps,\n kind: 'additionalProperties'\n }, $ref + '/additionalProperties', options));\n }\n\n return fields;\n}\n\nfunction getDiscriminator(schema: OpenAPISchema): OpenAPISchema['discriminator'] {\n return schema.discriminator || schema['x-discriminator'];\n}\n\nfunction collectUniqueOneOfTypesDeep(schema: SchemaModel) {\n const uniqueTypes = new Set();\n\n function crawl(schema: SchemaModel) {\n for (const oneOfType of schema.oneOf || []) {\n if (oneOfType.oneOf) {\n crawl(oneOfType);\n continue;\n }\n\n if (oneOfType.type) {\n uniqueTypes.add(oneOfType.type);\n }\n }\n }\n\n crawl(schema);\n return Array.from(uniqueTypes.values());\n}","import { resolve as urlResolve } from 'url';\nimport { OpenAPIEncoding, OpenAPIExample, Referenced } from '../../types';\nimport { isFormUrlEncoded, isJsonLike, urlFormEncodePayload } from '../../utils/openapi';\nimport { OpenAPIParser } from '../OpenAPIParser';\nconst externalExamplesCache: {\n [url: string]: Promise;\n} = {};\nexport class ExampleModel {\n value: any;\n summary?: string;\n description?: string;\n externalValueUrl?: string;\n\n constructor(parser: OpenAPIParser, infoOrRef: Referenced, public mime: string, encoding?: {\n [field: string]: OpenAPIEncoding;\n }) {\n const example = parser.deref(infoOrRef);\n this.value = example.value;\n this.summary = example.summary;\n this.description = example.description;\n\n if (example.externalValue) {\n this.externalValueUrl = urlResolve(parser.specUrl || '', example.externalValue);\n }\n\n parser.exitRef(infoOrRef);\n\n if (isFormUrlEncoded(mime) && this.value && typeof this.value === 'object') {\n this.value = urlFormEncodePayload(this.value, encoding);\n }\n }\n\n getExternalValue(mimeType: string): Promise {\n if (!this.externalValueUrl) {\n return Promise.resolve(undefined);\n }\n\n if (externalExamplesCache[this.externalValueUrl]) {\n return externalExamplesCache[this.externalValueUrl];\n }\n\n externalExamplesCache[this.externalValueUrl] = fetch(this.externalValueUrl).then(res => {\n return res.text().then(txt => {\n if (!res.ok) {\n return Promise.reject(new Error(txt));\n }\n\n if (isJsonLike(mimeType)) {\n try {\n return JSON.parse(txt);\n } catch (e) {\n return txt;\n }\n } else {\n return txt;\n }\n });\n });\n return externalExamplesCache[this.externalValueUrl];\n }\n\n}","import { action, observable, makeObservable } from 'mobx';\nimport { OpenAPIParameter, OpenAPIParameterLocation, OpenAPIParameterStyle, Referenced } from '../../types';\nimport { RedocNormalizedOptions } from '../RedocNormalizedOptions';\nimport { extractExtensions } from '../../utils/openapi';\nimport { OpenAPIParser } from '../OpenAPIParser';\nimport { SchemaModel } from './Schema';\nimport { ExampleModel } from './Example';\nimport { mapValues } from '../../utils/helpers';\nconst DEFAULT_SERIALIZATION: Record = {\n path: {\n style: 'simple',\n explode: false\n },\n query: {\n style: 'form',\n explode: true\n },\n header: {\n style: 'simple',\n explode: false\n },\n cookie: {\n style: 'form',\n explode: true\n }\n};\n/**\n * Field or Parameter model ready to be used by components\n */\n\nexport class FieldModel {\n @observable\n expanded: boolean | undefined = false;\n schema: SchemaModel;\n name: string;\n required: boolean;\n description: string;\n example?: string;\n examples?: Record;\n deprecated: boolean;\n in?: OpenAPIParameterLocation;\n kind: string;\n extensions?: Record;\n explode: boolean;\n style?: OpenAPIParameterStyle;\n serializationMime?: string;\n\n constructor(parser: OpenAPIParser, infoOrRef: Referenced & {\n name?: string;\n kind?: string;\n }, pointer: string, options: RedocNormalizedOptions) {\n makeObservable(this);\n const info = parser.deref(infoOrRef);\n this.kind = infoOrRef.kind || 'field';\n this.name = infoOrRef.name || info.name;\n this.in = info.in;\n this.required = !!info.required;\n let fieldSchema = info.schema;\n let serializationMime = '';\n\n if (!fieldSchema && info.in && info.content) {\n serializationMime = Object.keys(info.content)[0];\n fieldSchema = info.content[serializationMime] && info.content[serializationMime].schema;\n }\n\n this.schema = new SchemaModel(parser, fieldSchema || {}, pointer, options);\n this.description = info.description === undefined ? this.schema.description || '' : info.description;\n this.example = info.example || this.schema.example;\n\n if (info.examples !== undefined) {\n this.examples = mapValues(info.examples, example => new ExampleModel(parser, example, name, info.encoding));\n }\n\n if (serializationMime) {\n this.serializationMime = serializationMime;\n } else if (info.style) {\n this.style = info.style;\n } else if (this.in) {\n this.style = DEFAULT_SERIALIZATION[this.in]?.style ?? 'form'; // fallback to from in case \"in\" is invalid\n }\n\n if (info.explode === undefined && this.in) {\n this.explode = DEFAULT_SERIALIZATION[this.in]?.explode ?? true;\n } else {\n this.explode = !!info.explode;\n }\n\n this.deprecated = info.deprecated === undefined ? !!this.schema.deprecated : info.deprecated;\n parser.exitRef(infoOrRef);\n\n if (options.showExtensions) {\n this.extensions = extractExtensions(info, options.showExtensions);\n }\n }\n\n @action\n toggle() {\n this.expanded = !this.expanded;\n }\n\n}","import * as Sampler from 'openapi-sampler';\nimport { OpenAPIMediaType } from '../../types';\nimport { RedocNormalizedOptions } from '../RedocNormalizedOptions';\nimport { SchemaModel } from './Schema';\nimport { isJsonLike, mapValues } from '../../utils';\nimport { OpenAPIParser } from '../OpenAPIParser';\nimport { ExampleModel } from './Example';\nexport class MediaTypeModel {\n examples?: {\n [name: string]: ExampleModel;\n };\n schema?: SchemaModel;\n name: string;\n isRequestType: boolean;\n onlyRequiredInSamples: boolean;\n /**\n * @param isRequestType needed to know if skipe RO/RW fields in objects\n */\n\n constructor(parser: OpenAPIParser, name: string, isRequestType: boolean, info: OpenAPIMediaType, options: RedocNormalizedOptions) {\n this.name = name;\n this.isRequestType = isRequestType;\n this.schema = info.schema && new SchemaModel(parser, info.schema, '', options);\n this.onlyRequiredInSamples = options.onlyRequiredInSamples;\n\n if (info.examples !== undefined) {\n this.examples = mapValues(info.examples, example => new ExampleModel(parser, example, name, info.encoding));\n } else if (info.example !== undefined) {\n this.examples = {\n default: new ExampleModel(parser, {\n value: parser.shalowDeref(info.example)\n }, name, info.encoding)\n };\n } else if (isJsonLike(name)) {\n this.generateExample(parser, info);\n }\n }\n\n generateExample(parser: OpenAPIParser, info: OpenAPIMediaType) {\n const samplerOptions = {\n skipReadOnly: this.isRequestType,\n skipNonRequired: this.isRequestType && this.onlyRequiredInSamples,\n skipWriteOnly: !this.isRequestType,\n maxSampleDepth: 10\n };\n\n if (this.schema && this.schema.oneOf) {\n this.examples = {};\n\n for (const subSchema of this.schema.oneOf) {\n const sample = Sampler.sample(subSchema.rawSchema, samplerOptions, parser.spec);\n\n if (this.schema.discriminatorProp && typeof sample === 'object' && sample) {\n sample[this.schema.discriminatorProp] = subSchema.title;\n }\n\n this.examples[subSchema.title] = new ExampleModel(parser, {\n value: sample\n }, this.name, info.encoding);\n }\n } else if (this.schema) {\n this.examples = {\n default: new ExampleModel(parser, {\n value: Sampler.sample(info.schema, samplerOptions, parser.spec)\n }, this.name, info.encoding)\n };\n }\n }\n\n}","import { action, computed, observable, makeObservable } from 'mobx';\nimport { OpenAPIMediaType } from '../../types';\nimport { MediaTypeModel } from './MediaType';\nimport { mergeSimilarMediaTypes } from '../../utils';\nimport { OpenAPIParser } from '../OpenAPIParser';\nimport { RedocNormalizedOptions } from '../RedocNormalizedOptions';\n/**\n * MediaContent model ready to be sued by React components\n * Contains multiple MediaTypes and keeps track of the currently active one\n */\n\nexport class MediaContentModel {\n mediaTypes: MediaTypeModel[];\n @observable\n activeMimeIdx = 0;\n /**\n * @param isRequestType needed to know if skipe RO/RW fields in objects\n */\n\n constructor(parser: OpenAPIParser, info: Record, public isRequestType: boolean, options: RedocNormalizedOptions) {\n makeObservable(this);\n\n if (options.unstable_ignoreMimeParameters) {\n info = mergeSimilarMediaTypes(info);\n }\n\n this.mediaTypes = Object.keys(info).map(name => {\n const mime = info[name]; // reset deref cache just in case something is left there\n\n parser.resetVisited();\n return new MediaTypeModel(parser, name, isRequestType, mime, options);\n });\n }\n /**\n * Set active media type by index\n * @param idx media type index\n */\n\n\n @action\n activate(idx: number) {\n this.activeMimeIdx = idx;\n }\n\n @computed\n get active() {\n return this.mediaTypes[this.activeMimeIdx];\n }\n\n get hasSample(): boolean {\n return this.mediaTypes.filter(mime => !!mime.examples).length > 0;\n }\n\n}","import { OpenAPIRequestBody, Referenced } from '../../types';\nimport { OpenAPIParser } from '../OpenAPIParser';\nimport { RedocNormalizedOptions } from '../RedocNormalizedOptions';\nimport { MediaContentModel } from './MediaContent';\nexport class RequestBodyModel {\n description: string;\n required: boolean;\n content?: MediaContentModel;\n\n constructor(parser: OpenAPIParser, infoOrRef: Referenced, options: RedocNormalizedOptions) {\n const info = parser.deref(infoOrRef);\n this.description = info.description || '';\n this.required = !!info.required;\n parser.exitRef(infoOrRef);\n\n if (info.content !== undefined) {\n this.content = new MediaContentModel(parser, info.content, true, options);\n }\n }\n\n}","import { action, observable, makeObservable } from 'mobx';\nimport { OpenAPIResponse, Referenced } from '../../types';\nimport { getStatusCodeType } from '../../utils';\nimport { OpenAPIParser } from '../OpenAPIParser';\nimport { RedocNormalizedOptions } from '../RedocNormalizedOptions';\nimport { FieldModel } from './Field';\nimport { MediaContentModel } from './MediaContent';\nexport class ResponseModel {\n @observable\n expanded: boolean = false;\n content?: MediaContentModel;\n code: string;\n summary: string;\n description: string;\n type: string;\n headers: FieldModel[] = [];\n\n constructor(parser: OpenAPIParser, code: string, defaultAsError: boolean, infoOrRef: Referenced, options: RedocNormalizedOptions) {\n makeObservable(this);\n this.expanded = options.expandResponses === 'all' || options.expandResponses[code];\n const info = parser.deref(infoOrRef);\n parser.exitRef(infoOrRef);\n this.code = code;\n\n if (info.content !== undefined) {\n this.content = new MediaContentModel(parser, info.content, false, options);\n }\n\n if (info['x-summary'] !== undefined) {\n this.summary = info['x-summary'];\n this.description = info.description || '';\n } else {\n this.summary = info.description || '';\n this.description = '';\n }\n\n this.type = getStatusCodeType(code, defaultAsError);\n const headers = info.headers;\n\n if (headers !== undefined) {\n this.headers = Object.keys(headers).map(name => {\n const header = headers[name];\n return new FieldModel(parser, { ...header,\n name\n }, '', options);\n });\n }\n }\n\n @action\n toggle() {\n this.expanded = !this.expanded;\n }\n\n}","import { action, observable, makeObservable } from 'mobx';\nimport { IMenuItem } from '../MenuStore';\nimport { GroupModel } from './Group.model';\nimport { SecurityRequirementModel } from './SecurityRequirement';\nimport { OpenAPIExternalDocumentation, OpenAPIServer, OpenAPIXCodeSample } from '../../types';\nimport { extractExtensions, getOperationSummary, getStatusCodeType, isStatusCode, memoize, mergeParams, normalizeServers, sortByField, sortByRequired } from '../../utils';\nimport { ContentItemModel, ExtendedOpenAPIOperation } from '../MenuBuilder';\nimport { OpenAPIParser } from '../OpenAPIParser';\nimport { RedocNormalizedOptions } from '../RedocNormalizedOptions';\nimport { CallbackModel } from './Callback';\nimport { FieldModel } from './Field';\nimport { MediaContentModel } from './MediaContent';\nimport { RequestBodyModel } from './RequestBody';\nimport { ResponseModel } from './Response';\nexport interface XPayloadSample {\n lang: 'payload';\n label: string;\n requestBodyContent: MediaContentModel;\n source: string;\n}\nexport function isPayloadSample(sample: XPayloadSample | OpenAPIXCodeSample): sample is XPayloadSample {\n return sample.lang === 'payload' && (sample as any).requestBodyContent;\n}\nlet isCodeSamplesWarningPrinted = false;\n/**\n * Operation model ready to be used by components\n */\n\nexport class OperationModel implements IMenuItem {\n //#region IMenuItem fields\n id: string;\n absoluteIdx?: number;\n name: string;\n description?: string;\n type = ('operation' as const);\n parent?: GroupModel;\n externalDocs?: OpenAPIExternalDocumentation;\n items: ContentItemModel[] = [];\n depth: number;\n @observable\n ready?: boolean = true;\n @observable\n active: boolean = false;\n @observable\n expanded: boolean = false; //#endregion\n\n pointer: string;\n operationId?: string;\n httpVerb: string;\n deprecated: boolean;\n path: string;\n servers: OpenAPIServer[];\n security: SecurityRequirementModel[];\n extensions: Record;\n isCallback: boolean;\n isWebhook: boolean;\n\n constructor(private parser: OpenAPIParser, private operationSpec: ExtendedOpenAPIOperation, parent: GroupModel | undefined, private options: RedocNormalizedOptions, isCallback: boolean = false) {\n makeObservable(this);\n this.pointer = operationSpec.pointer;\n this.description = operationSpec.description;\n this.parent = parent;\n this.externalDocs = operationSpec.externalDocs;\n this.deprecated = !!operationSpec.deprecated;\n this.httpVerb = operationSpec.httpVerb;\n this.deprecated = !!operationSpec.deprecated;\n this.operationId = operationSpec.operationId;\n this.path = operationSpec.pathName;\n this.isCallback = isCallback;\n this.isWebhook = !!operationSpec.isWebhook;\n this.name = getOperationSummary(operationSpec);\n\n if (this.isCallback) {\n // NOTE: Callbacks by default should not inherit the specification's global `security` definition.\n // Can be defined individually per-callback in the specification. Defaults to none.\n this.security = (operationSpec.security || []).map(security => new SecurityRequirementModel(security, parser)); // TODO: update getting pathInfo for overriding servers on path level\n\n this.servers = normalizeServers('', operationSpec.servers || operationSpec.pathServers || []);\n } else {\n this.id = operationSpec.operationId !== undefined ? 'operation/' + operationSpec.operationId : parent !== undefined ? parent.id + this.pointer : this.pointer;\n this.security = (operationSpec.security || parser.spec.security || []).map(security => new SecurityRequirementModel(security, parser));\n this.servers = normalizeServers(parser.specUrl, operationSpec.servers || operationSpec.pathServers || parser.spec.servers || []);\n }\n\n if (options.showExtensions) {\n this.extensions = extractExtensions(operationSpec, options.showExtensions);\n }\n }\n /**\n * set operation as active (used by side menu)\n */\n\n\n @action\n activate() {\n this.active = true;\n }\n /**\n * set operation as inactive (used by side menu)\n */\n\n\n @action\n deactivate() {\n this.active = false;\n }\n /**\n * Toggle expansion in middle panel (for callbacks, which are operations)\n */\n\n\n @action\n toggle() {\n this.expanded = !this.expanded;\n }\n\n expand() {\n if (this.parent) {\n this.parent.expand();\n }\n }\n\n collapse() {\n /* do nothing */\n }\n\n @memoize\n get requestBody() {\n return this.operationSpec.requestBody && new RequestBodyModel(this.parser, this.operationSpec.requestBody, this.options);\n }\n\n @memoize\n get codeSamples() {\n let samples: Array = this.operationSpec['x-codeSamples'] || this.operationSpec['x-code-samples'] || [];\n\n if (this.operationSpec['x-code-samples'] && !isCodeSamplesWarningPrinted) {\n isCodeSamplesWarningPrinted = true;\n console.warn('\"x-code-samples\" is deprecated. Use \"x-codeSamples\" instead');\n }\n\n const requestBodyContent = this.requestBody && this.requestBody.content;\n\n if (requestBodyContent && requestBodyContent.hasSample) {\n const insertInx = Math.min(samples.length, this.options.payloadSampleIdx);\n samples = [...samples.slice(0, insertInx), {\n lang: 'payload',\n label: 'Payload',\n source: '',\n requestBodyContent\n }, ...samples.slice(insertInx)];\n }\n\n return samples;\n }\n\n @memoize\n get parameters() {\n const _parameters = mergeParams(this.parser, this.operationSpec.pathParameters, this.operationSpec.parameters // TODO: fix pointer\n ).map(paramOrRef => new FieldModel(this.parser, paramOrRef, this.pointer, this.options));\n\n if (this.options.sortPropsAlphabetically) {\n return sortByField(_parameters, 'name');\n }\n\n if (this.options.requiredPropsFirst) {\n return sortByRequired(_parameters);\n }\n\n return _parameters;\n }\n\n @memoize\n get responses() {\n let hasSuccessResponses = false;\n return Object.keys(this.operationSpec.responses || []).filter(code => {\n if (code === 'default') {\n return true;\n }\n\n if (getStatusCodeType(code) === 'success') {\n hasSuccessResponses = true;\n }\n\n return isStatusCode(code);\n }) // filter out other props (e.g. x-props)\n .map(code => {\n return new ResponseModel(this.parser, code, hasSuccessResponses, this.operationSpec.responses[code], this.options);\n });\n }\n\n @memoize\n get callbacks() {\n return Object.keys(this.operationSpec.callbacks || []).map(callbackEventName => {\n return new CallbackModel(this.parser, callbackEventName, this.operationSpec.callbacks![callbackEventName], this.pointer, this.options);\n });\n }\n\n}","import { OpenAPIPath, Referenced } from '../../types';\nimport { OpenAPIParser } from '../OpenAPIParser';\nimport { OperationModel } from './Operation';\nimport { isOperationName } from '../..';\nimport { RedocNormalizedOptions } from '../RedocNormalizedOptions';\nexport class WebhookModel {\n operations: OperationModel[] = [];\n\n constructor(parser: OpenAPIParser, options: RedocNormalizedOptions, infoOrRef?: Referenced) {\n const webhooks = parser.deref(infoOrRef || {});\n parser.exitRef(infoOrRef);\n\n for (const webhookName of Object.keys(webhooks)) {\n const webhook = webhooks[webhookName];\n const operations = Object.keys(webhook).filter(isOperationName);\n\n for (const operationName of operations) {\n const operationInfo = webhook[operationName];\n const operation = new OperationModel(parser, { ...operationInfo,\n httpVerb: operationName\n }, undefined, options, false);\n this.operations.push(operation);\n }\n }\n }\n\n}","import { OpenAPISecurityScheme, Referenced } from '../../types';\nimport { SECURITY_SCHEMES_SECTION_PREFIX } from '../../utils/openapi';\nimport { OpenAPIParser } from '../OpenAPIParser';\nexport class SecuritySchemeModel {\n id: string;\n sectionId: string;\n type: OpenAPISecurityScheme['type'];\n description: string;\n apiKey?: {\n name: string;\n in: OpenAPISecurityScheme['in'];\n };\n http?: {\n scheme: string;\n bearerFormat?: string;\n };\n flows: OpenAPISecurityScheme['flows'];\n openId?: {\n connectUrl: string;\n };\n\n constructor(parser: OpenAPIParser, id: string, scheme: Referenced) {\n const info = parser.deref(scheme);\n this.id = id;\n this.sectionId = SECURITY_SCHEMES_SECTION_PREFIX + id;\n this.type = info.type;\n this.description = info.description || '';\n\n if (info.type === 'apiKey') {\n this.apiKey = {\n name: info.name!,\n in: info.in\n };\n }\n\n if (info.type === 'http') {\n this.http = {\n scheme: info.scheme!,\n bearerFormat: info.bearerFormat\n };\n }\n\n if (info.type === 'openIdConnect') {\n this.openId = {\n connectUrl: info.openIdConnectUrl!\n };\n }\n\n if (info.type === 'oauth2' && info.flows) {\n this.flows = info.flows;\n }\n }\n\n}\nexport class SecuritySchemesModel {\n schemes: SecuritySchemeModel[];\n\n constructor(parser: OpenAPIParser) {\n const schemes = parser.spec.components && parser.spec.components.securitySchemes || {};\n this.schemes = Object.keys(schemes).map(name => new SecuritySchemeModel(parser, name, schemes[name]));\n }\n\n}","import { resolve as urlResolve } from 'url';\nimport { OpenAPIRef, OpenAPISchema, OpenAPISpec, Referenced } from '../types';\nimport { appendToMdHeading, IS_BROWSER } from '../utils/';\nimport { JsonPointer } from '../utils/JsonPointer';\nimport { getDefinitionName, isNamedDefinition, SECURITY_DEFINITIONS_COMPONENT_NAME, SECURITY_DEFINITIONS_JSX_NAME } from '../utils/openapi';\nimport { buildComponentComment, MarkdownRenderer } from './MarkdownRenderer';\nimport { RedocNormalizedOptions } from './RedocNormalizedOptions';\nexport type MergedOpenAPISchema = OpenAPISchema & {\n parentRefs?: string[];\n};\n/**\n * Helper class to keep track of visited references to avoid\n * endless recursion because of circular refs\n */\n\nclass RefCounter {\n _counter = {};\n\n reset(): void {\n this._counter = {};\n }\n\n visit(ref: string): void {\n this._counter[ref] = this._counter[ref] ? this._counter[ref] + 1 : 1;\n }\n\n exit(ref: string): void {\n this._counter[ref] = this._counter[ref] && this._counter[ref] - 1;\n }\n\n visited(ref: string): boolean {\n return !!this._counter[ref];\n }\n\n}\n/**\n * Loads and keeps spec. Provides raw spec operations\n */\n\n\nexport class OpenAPIParser {\n specUrl?: string;\n spec: OpenAPISpec;\n mergeRefs: Set;\n private _refCounter: RefCounter = new RefCounter();\n\n constructor(spec: OpenAPISpec, specUrl?: string, private options: RedocNormalizedOptions = new RedocNormalizedOptions({})) {\n this.validate(spec);\n this.preprocess(spec);\n this.spec = spec;\n this.mergeRefs = new Set();\n const href = IS_BROWSER ? window.location.href : '';\n\n if (typeof specUrl === 'string') {\n this.specUrl = urlResolve(href, specUrl);\n }\n }\n\n validate(spec: any) {\n if (spec.openapi === undefined) {\n throw new Error('Document must be valid OpenAPI 3.0.0 definition');\n }\n }\n\n preprocess(spec: OpenAPISpec) {\n if (!this.options.noAutoAuth && spec.info && spec.components && spec.components.securitySchemes) {\n // Automatically inject Authentication section with SecurityDefinitions component\n const description = spec.info.description || '';\n\n if (!MarkdownRenderer.containsComponent(description, SECURITY_DEFINITIONS_COMPONENT_NAME) && !MarkdownRenderer.containsComponent(description, SECURITY_DEFINITIONS_JSX_NAME)) {\n const comment = buildComponentComment(SECURITY_DEFINITIONS_COMPONENT_NAME);\n spec.info.description = appendToMdHeading(description, 'Authentication', comment);\n }\n }\n }\n /**\n * get spec part by JsonPointer ($ref)\n */\n\n\n byRef = (ref: string): T | undefined => {\n let res;\n\n if (!this.spec) {\n return;\n }\n\n if (ref.charAt(0) !== '#') {\n ref = '#' + ref;\n }\n\n ref = decodeURIComponent(ref);\n\n try {\n res = JsonPointer.get(this.spec, ref);\n } catch (e) {// do nothing\n }\n\n return res || {};\n };\n /**\n * checks if the object is OpenAPI reference (contains $ref property)\n */\n\n isRef(obj: any): obj is OpenAPIRef {\n if (!obj) {\n return false;\n }\n\n return obj.$ref !== undefined && obj.$ref !== null;\n }\n /**\n * resets visited endpoints. should be run after\n */\n\n\n resetVisited() {\n if (process.env.NODE_ENV !== 'production') {\n // check in dev mode\n for (const k in this._refCounter._counter) {\n if (this._refCounter._counter[k] > 0) {\n console.warn('Not exited reference: ' + k);\n }\n }\n }\n\n this._refCounter = new RefCounter();\n }\n\n exitRef(ref: Referenced) {\n if (!this.isRef(ref)) {\n return;\n }\n\n this._refCounter.exit(ref.$ref);\n }\n /**\n * Resolve given reference object or return as is if it is not a reference\n * @param obj object to dereference\n * @param forceCircular whether to dereference even if it is circular ref\n */\n\n\n deref(obj: OpenAPIRef | T, forceCircular = false): T {\n if (this.isRef(obj)) {\n const schemaName = getDefinitionName(obj.$ref);\n\n if (schemaName && this.options.ignoreNamedSchemas.has(schemaName)) {\n return ({\n type: 'object',\n title: schemaName\n } as T);\n }\n\n const resolved = this.byRef(obj.$ref)!;\n\n const visited = this._refCounter.visited(obj.$ref);\n\n this._refCounter.visit(obj.$ref);\n\n if (visited && !forceCircular) {\n // circular reference detected\n // tslint:disable-next-line\n return Object.assign({}, resolved, {\n 'x-circular-ref': true\n });\n } // deref again in case one more $ref is here\n\n\n if (this.isRef(resolved)) {\n const res = this.deref(resolved);\n this.exitRef(resolved);\n return res;\n }\n\n return resolved;\n }\n\n return obj;\n }\n\n shalowDeref(obj: OpenAPIRef | T): T {\n if (this.isRef(obj)) {\n return this.byRef(obj.$ref)!;\n }\n\n return obj;\n }\n /**\n * Merge allOf constraints.\n * @param schema schema with allOF\n * @param $ref pointer of the schema\n * @param forceCircular whether to dereference children even if it is a circular ref\n */\n\n\n mergeAllOf(schema: OpenAPISchema, $ref?: string, forceCircular: boolean = false, used$Refs = new Set()): MergedOpenAPISchema {\n if ($ref) {\n used$Refs.add($ref);\n }\n\n schema = this.hoistOneOfs(schema);\n\n if (schema.allOf === undefined) {\n return schema;\n }\n\n let receiver: MergedOpenAPISchema = { ...schema,\n allOf: undefined,\n parentRefs: [],\n title: schema.title || getDefinitionName($ref)\n }; // avoid mutating inner objects\n\n if (receiver.properties !== undefined && typeof receiver.properties === 'object') {\n receiver.properties = { ...receiver.properties\n };\n }\n\n if (receiver.items !== undefined && typeof receiver.items === 'object') {\n receiver.items = { ...receiver.items\n };\n }\n\n const allOfSchemas = (schema.allOf.map(subSchema => {\n if (subSchema && subSchema.$ref && used$Refs.has(subSchema.$ref)) {\n return undefined;\n }\n\n const resolved = this.deref(subSchema, forceCircular);\n const subRef = subSchema.$ref || undefined;\n const subMerged = this.mergeAllOf(resolved, subRef, forceCircular, used$Refs);\n receiver.parentRefs!.push(...(subMerged.parentRefs || []));\n return {\n $ref: subRef,\n schema: subMerged\n };\n }).filter(child => child !== undefined) as Array<{\n $ref: string | undefined;\n schema: MergedOpenAPISchema;\n }>);\n\n for (const {\n $ref: subSchemaRef,\n schema: subSchema\n } of allOfSchemas) {\n if (receiver.type !== subSchema.type && receiver.type !== undefined && subSchema.type !== undefined) {\n console.warn(`Incompatible types in allOf at \"${$ref}\": \"${receiver.type}\" and \"${subSchema.type}\"`);\n }\n\n if (subSchema.type !== undefined) {\n receiver.type = subSchema.type;\n }\n\n if (subSchema.properties !== undefined) {\n receiver.properties = receiver.properties || {};\n\n for (const prop in subSchema.properties) {\n if (!receiver.properties[prop]) {\n receiver.properties[prop] = subSchema.properties[prop];\n } else {\n // merge inner properties\n receiver.properties[prop] = this.mergeAllOf({\n allOf: [receiver.properties[prop], subSchema.properties[prop]]\n }, $ref + '/properties/' + prop);\n }\n }\n }\n\n if (subSchema.items !== undefined) {\n receiver.items = receiver.items || {}; // merge inner properties\n\n receiver.items = this.mergeAllOf({\n allOf: [receiver.items, subSchema.items]\n }, $ref + '/items');\n }\n\n if (subSchema.required !== undefined) {\n receiver.required = (receiver.required || []).concat(subSchema.required);\n } // merge rest of constraints\n // TODO: do more intelligent merge\n\n\n receiver = { ...subSchema,\n ...receiver\n };\n\n if (subSchemaRef) {\n receiver.parentRefs!.push(subSchemaRef);\n\n if (receiver.title === undefined && isNamedDefinition(subSchemaRef)) {// this is not so correct behaviour. commented out for now\n // ref: https://github.com/Redocly/redoc/issues/601\n // receiver.title = JsonPointer.baseName(subSchemaRef);\n }\n }\n }\n\n return receiver;\n }\n /**\n * Find all derived definitions among #/components/schemas from any of $refs\n * returns map of definition pointer to definition name\n * @param $refs array of references to find derived from\n */\n\n\n findDerived($refs: string[]): Record {\n const res: Record = {};\n const schemas = this.spec.components && this.spec.components.schemas || {};\n\n for (const defName in schemas) {\n const def = this.deref(schemas[defName]);\n\n if (def.allOf !== undefined && def.allOf.find(obj => obj.$ref !== undefined && $refs.indexOf(obj.$ref) > -1)) {\n res['#/components/schemas/' + defName] = [def['x-discriminator-value'] || defName];\n }\n }\n\n return res;\n }\n\n exitParents(shema: MergedOpenAPISchema) {\n for (const parent$ref of shema.parentRefs || []) {\n this.exitRef({\n $ref: parent$ref\n });\n }\n }\n\n private hoistOneOfs(schema: OpenAPISchema) {\n if (schema.allOf === undefined) {\n return schema;\n }\n\n const allOf = schema.allOf;\n\n for (let i = 0; i < allOf.length; i++) {\n const sub = allOf[i];\n\n if (Array.isArray(sub.oneOf)) {\n const beforeAllOf = allOf.slice(0, i);\n const afterAllOf = allOf.slice(i + 1);\n return {\n oneOf: sub.oneOf.map(part => {\n const merged = this.mergeAllOf({\n allOf: [...beforeAllOf, part, ...afterAllOf]\n }); // each oneOf should be independent so exiting all the parent refs\n // otherwise it will cause false-positive recursive detection\n\n this.exitParents(merged);\n return merged;\n })\n };\n }\n }\n\n return schema;\n }\n\n}","import { OpenAPIExternalDocumentation, OpenAPISpec } from '../types';\nimport { ContentItemModel, MenuBuilder } from './MenuBuilder';\nimport { ApiInfoModel } from './models/ApiInfo';\nimport { WebhookModel } from './models/Webhook';\nimport { SecuritySchemesModel } from './models/SecuritySchemes';\nimport { OpenAPIParser } from './OpenAPIParser';\nimport { RedocNormalizedOptions } from './RedocNormalizedOptions';\n/**\n * Store that contains all the specification related information in the form of tree\n */\n\nexport class SpecStore {\n parser: OpenAPIParser;\n info: ApiInfoModel;\n externalDocs?: OpenAPIExternalDocumentation;\n contentItems: ContentItemModel[];\n securitySchemes: SecuritySchemesModel;\n webhooks?: WebhookModel;\n\n constructor(spec: OpenAPISpec, specUrl: string | undefined, private options: RedocNormalizedOptions) {\n this.parser = new OpenAPIParser(spec, specUrl, options);\n this.info = new ApiInfoModel(this.parser);\n this.externalDocs = this.parser.spec.externalDocs;\n this.contentItems = MenuBuilder.buildStructure(this.parser, this.options);\n this.securitySchemes = new SecuritySchemesModel(this.parser);\n this.webhooks = new WebhookModel(this.parser, options, this.parser.spec['x-webhooks']);\n }\n\n}","import { action, observable, makeObservable } from 'mobx';\nimport { OpenAPIExternalDocumentation, OpenAPITag } from '../../types';\nimport { safeSlugify } from '../../utils';\nimport { MarkdownHeading, MarkdownRenderer } from '../MarkdownRenderer';\nimport { ContentItemModel } from '../MenuBuilder';\nimport { IMenuItem, MenuItemGroupType } from '../MenuStore';\n/**\n * Operations Group model ready to be used by components\n */\n\nexport class GroupModel implements IMenuItem {\n //#region IMenuItem fields\n id: string;\n absoluteIdx?: number;\n name: string;\n description?: string;\n type: MenuItemGroupType;\n items: ContentItemModel[] = [];\n parent?: GroupModel;\n externalDocs?: OpenAPIExternalDocumentation;\n @observable\n active: boolean = false;\n @observable\n expanded: boolean = false;\n depth: number;\n level: number; //#endregion\n\n constructor(type: MenuItemGroupType, tagOrGroup: OpenAPITag | MarkdownHeading, parent?: GroupModel) {\n makeObservable(this); // markdown headings already have ids calculated as they are needed for heading anchors\n\n this.id = (tagOrGroup as MarkdownHeading).id || type + '/' + safeSlugify(tagOrGroup.name);\n this.type = type;\n this.name = tagOrGroup['x-displayName'] || tagOrGroup.name;\n this.level = (tagOrGroup as MarkdownHeading).level || 1; // remove sections from markdown, same as in ApiInfo\n\n this.description = tagOrGroup.description || '';\n const items = (tagOrGroup as MarkdownHeading).items;\n\n if (items && items.length) {\n this.description = MarkdownRenderer.getTextBeforeHading(this.description, items[0].name);\n }\n\n this.parent = parent;\n this.externalDocs = (tagOrGroup as OpenAPITag).externalDocs; // groups are active (expanded) by default\n\n if (this.type === 'group') {\n this.expanded = true;\n }\n }\n\n @action\n activate() {\n this.active = true;\n }\n\n @action\n expand() {\n if (this.parent) {\n this.parent.expand();\n }\n\n this.expanded = true;\n }\n\n @action\n collapse() {\n // disallow collapsing groups\n if (this.type === 'group') {\n return;\n }\n\n this.expanded = false;\n }\n\n @action\n deactivate() {\n this.active = false;\n }\n\n}","export * from '../SpecStore';\nexport * from './Group.model';\nexport * from './Operation';\nexport * from './RequestBody';\nexport * from './Example';\nexport * from './MediaContent';\nexport * from './MediaType';\nexport * from './Response';\nexport * from './Schema';\nexport * from './Field';\nexport * from './ApiInfo';\nexport * from './SecuritySchemes';\nexport * from './Callback';","import { OpenAPIOperation, OpenAPIParameter, OpenAPISpec, OpenAPITag, Referenced, OpenAPIServer, OpenAPIPaths } from '../types';\nimport { isOperationName, SECURITY_DEFINITIONS_COMPONENT_NAME, setSecuritySchemePrefix, JsonPointer } from '../utils';\nimport { MarkdownRenderer } from './MarkdownRenderer';\nimport { GroupModel, OperationModel } from './models';\nimport { OpenAPIParser } from './OpenAPIParser';\nimport { RedocNormalizedOptions } from './RedocNormalizedOptions';\nexport type TagInfo = OpenAPITag & {\n operations: ExtendedOpenAPIOperation[];\n used?: boolean;\n};\nexport type ExtendedOpenAPIOperation = {\n pointer: string;\n pathName: string;\n httpVerb: string;\n pathParameters: Array>;\n pathServers: Array | undefined;\n isWebhook: boolean;\n} & OpenAPIOperation;\nexport type TagsInfoMap = Record;\nexport interface TagGroup {\n name: string;\n tags: string[];\n}\nexport const GROUP_DEPTH = 0;\nexport type ContentItemModel = GroupModel | OperationModel;\nexport class MenuBuilder {\n /**\n * Builds page content structure based on tags\n */\n static buildStructure(parser: OpenAPIParser, options: RedocNormalizedOptions): ContentItemModel[] {\n const spec = parser.spec;\n const items: ContentItemModel[] = [];\n const tagsMap = MenuBuilder.getTagsWithOperations(spec);\n items.push(...MenuBuilder.addMarkdownItems(spec.info.description || '', undefined, 1, options));\n\n if (spec['x-tagGroups'] && spec['x-tagGroups'].length > 0) {\n items.push(...MenuBuilder.getTagGroupsItems(parser, undefined, spec['x-tagGroups'], tagsMap, options));\n } else {\n items.push(...MenuBuilder.getTagsItems(parser, tagsMap, undefined, undefined, options));\n }\n\n return items;\n }\n /**\n * extracts items from markdown description\n * @param description - markdown source\n */\n\n\n static addMarkdownItems(description: string, parent: GroupModel | undefined, initialDepth: number, options: RedocNormalizedOptions): ContentItemModel[] {\n const renderer = new MarkdownRenderer(options);\n const headings = renderer.extractHeadings(description || '');\n\n if (headings.length && parent && parent.description) {\n parent.description = MarkdownRenderer.getTextBeforeHading(parent.description, headings[0].name);\n }\n\n const mapHeadingsDeep = (_parent, items, depth = 1) => items.map(heading => {\n const group = new GroupModel('section', heading, _parent);\n group.depth = depth;\n\n if (heading.items) {\n group.items = mapHeadingsDeep(group, heading.items, depth + 1);\n }\n\n if (MarkdownRenderer.containsComponent(group.description || '', SECURITY_DEFINITIONS_COMPONENT_NAME)) {\n setSecuritySchemePrefix(group.id + '/');\n }\n\n return group;\n });\n\n return mapHeadingsDeep(parent, headings, initialDepth);\n }\n /**\n * Returns array of OperationsGroup items for the tag groups (x-tagGroups vendor extension)\n * @param tags value of `x-tagGroups` vendor extension\n */\n\n\n static getTagGroupsItems(parser: OpenAPIParser, parent: GroupModel | undefined, groups: TagGroup[], tags: TagsInfoMap, options: RedocNormalizedOptions): GroupModel[] {\n const res: GroupModel[] = [];\n\n for (const group of groups) {\n const item = new GroupModel('group', group, parent);\n item.depth = GROUP_DEPTH;\n item.items = MenuBuilder.getTagsItems(parser, tags, item, group, options);\n res.push(item);\n } // TODO checkAllTagsUsedInGroups\n\n\n return res;\n }\n /**\n * Returns array of OperationsGroup items for the tags of the group or for all tags\n * @param tagsMap tags info returned from `getTagsWithOperations`\n * @param parent parent item\n * @param group group which this tag belongs to. if not provided gets all tags\n */\n\n\n static getTagsItems(parser: OpenAPIParser, tagsMap: TagsInfoMap, parent: GroupModel | undefined, group: TagGroup | undefined, options: RedocNormalizedOptions): ContentItemModel[] {\n let tagNames;\n\n if (group === undefined) {\n tagNames = Object.keys(tagsMap); // all tags\n } else {\n tagNames = group.tags;\n }\n\n const tags = tagNames.map(tagName => {\n if (!tagsMap[tagName]) {\n console.warn(`Non-existing tag \"${tagName}\" is added to the group \"${group!.name}\"`);\n return null;\n }\n\n tagsMap[tagName].used = true;\n return tagsMap[tagName];\n });\n const res: Array = [];\n\n for (const tag of tags) {\n if (!tag) {\n continue;\n }\n\n const item = new GroupModel('tag', tag, parent);\n item.depth = GROUP_DEPTH + 1; // don't put empty tag into content, instead put its operations\n\n if (tag.name === '') {\n const items = [...MenuBuilder.addMarkdownItems(tag.description || '', item, item.depth + 1, options), ...this.getOperationsItems(parser, undefined, tag, item.depth + 1, options)];\n res.push(...items);\n continue;\n }\n\n item.items = [...MenuBuilder.addMarkdownItems(tag.description || '', item, item.depth + 1, options), ...this.getOperationsItems(parser, item, tag, item.depth + 1, options)];\n res.push(item);\n }\n\n return res;\n }\n /**\n * Returns array of Operation items for the tag\n * @param parent parent OperationsGroup\n * @param tag tag info returned from `getTagsWithOperations`\n * @param depth items depth\n */\n\n\n static getOperationsItems(parser: OpenAPIParser, parent: GroupModel | undefined, tag: TagInfo, depth: number, options: RedocNormalizedOptions): OperationModel[] {\n if (tag.operations.length === 0) {\n return [];\n }\n\n const res: OperationModel[] = [];\n\n for (const operationInfo of tag.operations) {\n const operation = new OperationModel(parser, operationInfo, parent, options);\n operation.depth = depth;\n res.push(operation);\n }\n\n return res;\n }\n /**\n * collects tags and maps each tag to list of operations belonging to this tag\n */\n\n\n static getTagsWithOperations(spec: OpenAPISpec): TagsInfoMap {\n const tags: TagsInfoMap = {};\n\n for (const tag of spec.tags || []) {\n tags[tag.name] = { ...tag,\n operations: []\n };\n }\n\n getTags(spec.paths);\n\n if (spec['x-webhooks']) {\n getTags(spec['x-webhooks'], true);\n }\n\n function getTags(paths: OpenAPIPaths, isWebhook?: boolean) {\n for (const pathName of Object.keys(paths)) {\n const path = paths[pathName];\n const operations = Object.keys(path).filter(isOperationName);\n\n for (const operationName of operations) {\n const operationInfo = path[operationName];\n let operationTags = operationInfo.tags;\n\n if (!operationTags || !operationTags.length) {\n // empty tag\n operationTags = [''];\n }\n\n for (const tagName of operationTags) {\n let tag = tags[tagName];\n\n if (tag === undefined) {\n tag = {\n name: tagName,\n operations: []\n };\n tags[tagName] = tag;\n }\n\n if (tag['x-traitTag']) {\n continue;\n }\n\n tag.operations.push({ ...operationInfo,\n pathName,\n pointer: JsonPointer.compile(['paths', pathName, operationName]),\n httpVerb: operationName,\n pathParameters: path.parameters || [],\n pathServers: path.servers,\n isWebhook: !!isWebhook\n });\n }\n }\n }\n }\n\n return tags;\n }\n\n}","import { action, observable, makeObservable } from 'mobx';\nimport { querySelector } from '../utils/dom';\nimport { SpecStore } from './models';\nimport { history as historyInst, HistoryService } from './HistoryService';\nimport { ScrollService } from './ScrollService';\nimport { flattenByProp, SECURITY_SCHEMES_SECTION_PREFIX } from '../utils';\nimport { GROUP_DEPTH } from './MenuBuilder';\nexport type MenuItemGroupType = 'group' | 'tag' | 'section';\nexport type MenuItemType = MenuItemGroupType | 'operation';\n/** Generic interface for MenuItems */\n\nexport interface IMenuItem {\n id: string;\n absoluteIdx?: number;\n name: string;\n description?: string;\n depth: number;\n active: boolean;\n expanded: boolean;\n items: IMenuItem[];\n parent?: IMenuItem;\n deprecated?: boolean;\n type: MenuItemType;\n deactivate(): void;\n activate(): void;\n collapse(): void;\n expand(): void;\n}\nexport const SECTION_ATTR = 'data-section-id';\n/**\n * Stores all side-menu related information\n */\n\nexport class MenuStore {\n /**\n * Statically try update scroll position\n * Used before hydrating from server-side rendered html to scroll page faster\n */\n static updateOnHistory(id: string = historyInst.currentId, scroll: ScrollService) {\n if (!id) {\n return;\n }\n\n scroll.scrollIntoViewBySelector(`[${SECTION_ATTR}=\"${id}\"]`);\n }\n /**\n * active item absolute index (when flattened). -1 means nothing is selected\n */\n\n\n @observable\n activeItemIdx: number = -1;\n /**\n * whether sidebar with menu is opened or not\n */\n\n @observable\n sideBarOpened: boolean = false;\n items: IMenuItem[];\n flatItems: IMenuItem[];\n /**\n * cached flattened menu items to support absolute indexing\n */\n\n private _unsubscribe: () => void;\n private _hashUnsubscribe: () => void;\n /**\n *\n * @param spec [SpecStore](#SpecStore) which contains page content structure\n * @param scroll scroll service instance used by this menu\n */\n\n constructor(spec: SpecStore, public scroll: ScrollService, public history: HistoryService) {\n makeObservable(this);\n this.items = spec.contentItems;\n this.flatItems = flattenByProp(this.items || [], 'items');\n this.flatItems.forEach((item, idx) => item.absoluteIdx = idx);\n this.subscribe();\n }\n\n subscribe() {\n this._unsubscribe = this.scroll.subscribe(this.updateOnScroll);\n this._hashUnsubscribe = this.history.subscribe(this.updateOnHistory);\n }\n\n @action\n toggleSidebar() {\n this.sideBarOpened = this.sideBarOpened ? false : true;\n }\n\n @action\n closeSidebar() {\n this.sideBarOpened = false;\n }\n /**\n * update active items on scroll\n * @param isScrolledDown whether last scroll was downside\n */\n\n\n updateOnScroll = (isScrolledDown: boolean): void => {\n const step = isScrolledDown ? 1 : -1;\n let itemIdx = this.activeItemIdx;\n\n while (true) {\n if (itemIdx === -1 && !isScrolledDown) {\n break;\n }\n\n if (itemIdx >= this.flatItems.length - 1 && isScrolledDown) {\n break;\n }\n\n if (isScrolledDown) {\n const el = this.getElementAtOrFirstChild(itemIdx + 1);\n\n if (this.scroll.isElementBellow(el)) {\n break;\n }\n } else {\n const el = this.getElementAt(itemIdx);\n\n if (this.scroll.isElementAbove(el)) {\n break;\n }\n }\n\n itemIdx += step;\n }\n\n this.activate(this.flatItems[itemIdx], true, true);\n };\n /**\n * update active items on hash change\n * @param id current hash\n */\n\n updateOnHistory = (id: string = this.history.currentId) => {\n if (!id) {\n return;\n }\n\n let item: IMenuItem | undefined;\n item = this.flatItems.find(i => i.id === id);\n\n if (item) {\n this.activateAndScroll(item, false);\n } else {\n if (id.startsWith(SECURITY_SCHEMES_SECTION_PREFIX)) {\n item = this.flatItems.find(i => SECURITY_SCHEMES_SECTION_PREFIX.startsWith(i.id));\n this.activate(item);\n }\n\n this.scroll.scrollIntoViewBySelector(`[${SECTION_ATTR}=\"${id}\"]`);\n }\n };\n /**\n * get section/operation DOM Node related to the item or null if it doesn't exist\n * @param idx item absolute index\n */\n\n getElementAt(idx: number): Element | null {\n const item = this.flatItems[idx];\n return item && querySelector(`[${SECTION_ATTR}=\"${item.id}\"]`) || null;\n }\n /**\n * get section/operation DOM Node related to the item or if it is group item, returns first item of the group\n * @param idx item absolute index\n */\n\n\n getElementAtOrFirstChild(idx: number): Element | null {\n let item = this.flatItems[idx];\n\n if (item && item.type === 'group') {\n item = item.items[0];\n }\n\n return item && querySelector(`[${SECTION_ATTR}=\"${item.id}\"]`) || null;\n }\n /**\n * current active item\n */\n\n\n get activeItem(): IMenuItem {\n return this.flatItems[this.activeItemIdx] || undefined;\n }\n\n getItemById = (id: string) => {\n return this.flatItems.find(item => item.id === id);\n };\n /**\n * activate menu item\n * @param item item to activate\n * @param updateLocation [true] whether to update location\n * @param rewriteHistory [false] whether to rewrite browser history (do not create new entry)\n */\n\n @action\n activate(item: IMenuItem | undefined, updateLocation: boolean = true, rewriteHistory: boolean = false) {\n if ((this.activeItem && this.activeItem.id) === (item && item.id)) {\n return;\n }\n\n if (item && item.type === 'group') {\n return;\n }\n\n this.deactivate(this.activeItem);\n\n if (!item) {\n this.history.replace('', rewriteHistory);\n return;\n } // do not allow activating group items\n // TODO: control over options\n\n\n if (item.depth <= GROUP_DEPTH) {\n return;\n }\n\n this.activeItemIdx = item.absoluteIdx!;\n\n if (updateLocation) {\n this.history.replace(item.id, rewriteHistory);\n }\n\n item.activate();\n item.expand();\n }\n /**\n * makes item and all the parents not active\n * @param item item to deactivate\n */\n\n\n deactivate(item: IMenuItem | undefined) {\n if (item === undefined) {\n return;\n }\n\n item.deactivate();\n\n while (item !== undefined) {\n item.collapse();\n item = item.parent;\n }\n }\n /**\n * activate menu item and scroll to it\n * @see MenuStore.activate\n */\n\n\n @action.bound\n activateAndScroll(item: IMenuItem | undefined, updateLocation?: boolean, rewriteHistory?: boolean) {\n // item here can be a copy from search results so find corresponding item from menu\n const menuItem = item && this.getItemById(item.id) || item;\n this.activate(menuItem, updateLocation, rewriteHistory);\n this.scrollToActive();\n\n if (!menuItem || !menuItem.items.length) {\n this.closeSidebar();\n }\n }\n /**\n * scrolls to active section\n */\n\n\n scrollToActive(): void {\n this.scroll.scrollIntoView(this.getElementAt(this.activeItemIdx));\n }\n\n dispose() {\n this._unsubscribe();\n\n this._hashUnsubscribe();\n }\n\n}","import { bind } from 'decko';\nimport * as EventEmitter from 'eventemitter3';\nimport { IS_BROWSER, querySelector, Throttle } from '../utils';\nimport { RedocNormalizedOptions } from './RedocNormalizedOptions';\nconst EVENT = 'scroll';\nexport class ScrollService {\n private _scrollParent: Window | HTMLElement | undefined;\n private _emiter: EventEmitter;\n private _prevOffsetY = 0;\n\n constructor(private options: RedocNormalizedOptions) {\n this._scrollParent = IS_BROWSER ? window : undefined;\n this._emiter = new EventEmitter();\n this.bind();\n }\n\n bind() {\n this._prevOffsetY = this.scrollY();\n\n if (this._scrollParent) {\n this._scrollParent.addEventListener('scroll', this.handleScroll);\n }\n }\n\n dispose() {\n if (this._scrollParent) {\n this._scrollParent.removeEventListener('scroll', this.handleScroll);\n }\n\n this._emiter.removeAllListeners(EVENT);\n }\n\n scrollY(): number {\n if (typeof HTMLElement !== 'undefined' && this._scrollParent instanceof HTMLElement) {\n return this._scrollParent.scrollTop;\n } else if (this._scrollParent !== undefined) {\n return (this._scrollParent as Window).pageYOffset;\n } else {\n return 0;\n }\n }\n\n isElementBellow(el: Element | null) {\n if (el === null) {\n return;\n }\n\n return el.getBoundingClientRect().top > this.options.scrollYOffset();\n }\n\n isElementAbove(el: Element | null) {\n if (el === null) {\n return;\n }\n\n const top = el.getBoundingClientRect().top;\n return (top > 0 ? Math.floor(top) : Math.ceil(top)) <= this.options.scrollYOffset();\n }\n\n subscribe(cb): () => void {\n const emmiter = this._emiter.addListener(EVENT, cb);\n\n return () => emmiter.removeListener(EVENT, cb);\n }\n\n scrollIntoView(element: Element | null) {\n if (element === null) {\n return;\n }\n\n element.scrollIntoView();\n\n if (this._scrollParent && this._scrollParent.scrollBy) {\n // adding 1 account rounding errors in case scrollYOffset is float-number\n (this._scrollParent.scrollBy as any)(0, -this.options.scrollYOffset() + 1);\n }\n }\n\n scrollIntoViewBySelector(selector: string) {\n const element = querySelector(selector);\n this.scrollIntoView(element);\n }\n\n @bind\n @Throttle(100)\n handleScroll() {\n const scrollY = this.scrollY();\n const isScrolledDown = scrollY - this._prevOffsetY > 0;\n this._prevOffsetY = this.scrollY();\n\n this._emiter.emit(EVENT, isScrolledDown);\n }\n\n}","import { IS_BROWSER } from '../utils/';\nimport { IMenuItem } from './MenuStore';\nimport { OperationModel } from './models';\nimport Worker from './SearchWorker.worker';\n\nfunction getWorker() {\n let worker: new () => Worker;\n\n if (IS_BROWSER) {\n try {\n // tslint:disable-next-line\n worker = require('workerize-loader?inline&fallback=false!./SearchWorker.worker');\n } catch (e) {\n worker = require('./SearchWorker.worker').default;\n }\n } else {\n worker = require('./SearchWorker.worker').default;\n }\n\n return new worker();\n}\n\nexport class SearchStore {\n searchWorker = getWorker();\n\n indexItems(groups: Array) {\n const recurse = items => {\n items.forEach(group => {\n if (group.type !== 'group') {\n this.add(group.name, group.description || '', group.id);\n }\n\n recurse(group.items);\n });\n };\n\n recurse(groups);\n this.searchWorker.done();\n }\n\n add(title: string, body: string, meta?: T) {\n this.searchWorker.add(title, body, meta);\n }\n\n dispose() {\n (this.searchWorker as any).terminate();\n (this.searchWorker as any).dispose();\n }\n\n search(q: string) {\n return this.searchWorker.search(q);\n }\n\n async toJS() {\n return this.searchWorker.toJS();\n }\n\n load(state: any) {\n this.searchWorker.load(state);\n }\n\n fromExternalJS(path?: string, exportName?: string) {\n if (path && exportName) {\n this.searchWorker.fromExternalJS(path, exportName);\n }\n }\n\n}","import { SECTION_ATTR } from '../services/MenuStore';\nimport styled, { media } from '../styled-components';\nexport const MiddlePanel = styled.div<{\n compact?: boolean;\n}>`\n width: calc(100% - ${props => props.theme.rightPanel.width});\n padding: 0 ${props => props.theme.spacing.sectionHorizontal}px;\n\n ${({\n compact,\n theme\n}) => media.lessThan('medium', true)`\n width: 100%;\n padding: ${`${compact ? 0 : theme.spacing.sectionVertical}px ${theme.spacing.sectionHorizontal}px`};\n `};\n`;\nexport const Section = styled.div.attrs(props => ({\n [SECTION_ATTR]: props.id\n}))<{\n underlined?: boolean;\n}>`\n padding: ${props => props.theme.spacing.sectionVertical}px 0;\n\n &:last-child {\n min-height: calc(100vh + 1px);\n }\n\n & > &:last-child {\n min-height: initial;\n }\n\n ${media.lessThan('medium', true)`\n padding: 0;\n `}\n ${(props: any) => props.underlined && `\n position: relative;\n\n &:not(:last-of-type):after {\n position: absolute;\n bottom: 0;\n width: 100%;\n display: block;\n content: '';\n border-bottom: 1px solid rgba(0, 0, 0, 0.2);\n }\n ` || ''}\n`;\nexport const RightPanel = styled.div`\n width: ${props => props.theme.rightPanel.width};\n color: ${({\n theme\n}) => theme.rightPanel.textColor};\n background-color: ${props => props.theme.rightPanel.backgroundColor};\n padding: 0 ${props => props.theme.spacing.sectionHorizontal}px;\n\n ${media.lessThan('medium', true)`\n width: 100%;\n padding: ${props => `${props.theme.spacing.sectionVertical}px ${props.theme.spacing.sectionHorizontal}px`};\n `};\n`;\nexport const DarkRightPanel = styled(RightPanel)`\n background-color: ${props => props.theme.rightPanel.backgroundColor};\n`;\nexport const Row = styled.div`\n display: flex;\n width: 100%;\n padding: 0;\n\n ${media.lessThan('medium', true)`\n flex-direction: column;\n `};\n`;","import styled, { css, extensionsHook } from '../styled-components';\nconst headerFontSize = {\n 1: '1.85714em',\n 2: '1.57143em',\n 3: '1.27em'\n};\nexport const headerCommonMixin = level => css`\n font-family: ${({\n theme\n}) => theme.typography.headings.fontFamily};\n font-weight: ${({\n theme\n}) => theme.typography.headings.fontWeight};\n font-size: ${headerFontSize[level]};\n line-height: ${({\n theme\n}) => theme.typography.headings.lineHeight};\n`;\nexport const H1 = styled.h1`\n ${headerCommonMixin(1)};\n color: ${({\n theme\n}) => theme.colors.primary.main};\n\n ${extensionsHook('H1')};\n`;\nexport const H2 = styled.h2`\n ${headerCommonMixin(2)};\n color: black;\n\n ${extensionsHook('H2')};\n`;\nexport const H3 = styled.h2`\n ${headerCommonMixin(3)};\n color: black;\n\n ${extensionsHook('H3')};\n`;\nexport const RightPanelHeader = styled.h3`\n color: ${({\n theme\n}) => theme.rightPanel.textColor};\n\n ${extensionsHook('RightPanelHeader')};\n`;\nexport const UnderlinedHeader = styled.h5`\n border-bottom: 1px solid rgba(38, 50, 56, 0.3);\n margin: 1em 0 1em 0;\n color: rgba(38, 50, 56, 0.5);\n font-weight: normal;\n text-transform: uppercase;\n font-size: 0.929em;\n line-height: 20px;\n\n ${extensionsHook('UnderlinedHeader')};\n`;","import * as memoize from 'memoize-one/dist/memoize-one.cjs'; // fixme: https://github.com/alexreardon/memoize-one/issues/37\n\nimport { Component, createContext } from 'react';\nimport { AppStore } from '../services/';\nimport { RedocRawOptions } from '../services/RedocNormalizedOptions';\nimport { loadAndBundleSpec } from '../utils';\nexport interface StoreBuilderProps {\n specUrl?: string;\n spec?: object;\n store?: AppStore;\n options?: RedocRawOptions;\n onLoaded?: (e?: Error) => void;\n children: (props: {\n loading: boolean;\n store?: AppStore;\n }) => any;\n}\nexport interface StoreBuilderState {\n error?: Error;\n loading: boolean;\n resolvedSpec?: any;\n prevSpec?: any;\n prevSpecUrl?: string;\n}\nconst {\n Provider,\n Consumer\n} = createContext(undefined);\nexport { Provider as StoreProvider, Consumer as StoreConsumer };\nexport class StoreBuilder extends Component {\n static getDerivedStateFromProps(nextProps: StoreBuilderProps, prevState: StoreBuilderState) {\n if (nextProps.specUrl !== prevState.prevSpecUrl || nextProps.spec !== prevState.prevSpec) {\n return {\n loading: true,\n resolvedSpec: null,\n prevSpec: nextProps.spec,\n prevSpecUrl: nextProps.specUrl\n };\n }\n\n return null;\n }\n\n state: StoreBuilderState = {\n loading: true,\n resolvedSpec: null\n };\n\n @memoize\n makeStore(spec, specUrl, options) {\n if (!spec) {\n return undefined;\n }\n\n try {\n return new AppStore(spec, specUrl, options);\n } catch (e) {\n if (this.props.onLoaded) {\n this.props.onLoaded(e);\n }\n\n throw e;\n }\n }\n\n componentDidMount() {\n this.load();\n }\n\n componentDidUpdate() {\n if (this.state.resolvedSpec === null) {\n this.load();\n } else if (!this.state.loading && this.props.onLoaded) {\n // may run multiple time\n this.props.onLoaded();\n }\n }\n\n async load() {\n const {\n specUrl,\n spec\n } = this.props;\n\n try {\n const resolvedSpec = await loadAndBundleSpec(spec || specUrl!);\n this.setState({\n resolvedSpec,\n loading: false\n });\n } catch (e) {\n if (this.props.onLoaded) {\n this.props.onLoaded(e);\n }\n\n this.setState({\n error: e\n });\n }\n }\n\n render() {\n if (this.state.error) {\n throw this.state.error;\n }\n\n const {\n specUrl,\n options\n } = this.props;\n const {\n loading,\n resolvedSpec\n } = this.state;\n return this.props.children({\n loading,\n store: this.makeStore(resolvedSpec, specUrl, options)\n });\n }\n\n}","import * as React from 'react';\nimport { StoreConsumer } from '../components/StoreBuilder';\nimport styled, { css } from '../styled-components';\nimport { HistoryService } from '../services'; // tslint:disable-next-line\n\nexport const linkifyMixin = className => css`\n ${className} {\n cursor: pointer;\n margin-left: -20px;\n padding: 0;\n line-height: 1;\n width: 20px;\n display: inline-block;\n outline: 0;\n }\n ${className}:before {\n content: '';\n width: 15px;\n height: 15px;\n background-size: contain;\n background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMCIgeT0iMCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA1MTIgNTEyIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBmaWxsPSIjMDEwMTAxIiBkPSJNNDU5LjcgMjMzLjRsLTkwLjUgOTAuNWMtNTAgNTAtMTMxIDUwLTE4MSAwIC03LjktNy44LTE0LTE2LjctMTkuNC0yNS44bDQyLjEtNDIuMWMyLTIgNC41LTMuMiA2LjgtNC41IDIuOSA5LjkgOCAxOS4zIDE1LjggMjcuMiAyNSAyNSA2NS42IDI0LjkgOTAuNSAwbDkwLjUtOTAuNWMyNS0yNSAyNS02NS42IDAtOTAuNSAtMjQuOS0yNS02NS41LTI1LTkwLjUgMGwtMzIuMiAzMi4yYy0yNi4xLTEwLjItNTQuMi0xMi45LTgxLjYtOC45bDY4LjYtNjguNmM1MC01MCAxMzEtNTAgMTgxIDBDNTA5LjYgMTAyLjMgNTA5LjYgMTgzLjQgNDU5LjcgMjMzLjR6TTIyMC4zIDM4Mi4ybC0zMi4yIDMyLjJjLTI1IDI0LjktNjUuNiAyNC45LTkwLjUgMCAtMjUtMjUtMjUtNjUuNiAwLTkwLjVsOTAuNS05MC41YzI1LTI1IDY1LjUtMjUgOTAuNSAwIDcuOCA3LjggMTIuOSAxNy4yIDE1LjggMjcuMSAyLjQtMS40IDQuOC0yLjUgNi44LTQuNWw0Mi4xLTQyYy01LjQtOS4yLTExLjYtMTgtMTkuNC0yNS44IC01MC01MC0xMzEtNTAtMTgxIDBsLTkwLjUgOTAuNWMtNTAgNTAtNTAgMTMxIDAgMTgxIDUwIDUwIDEzMSA1MCAxODEgMGw2OC42LTY4LjZDMjc0LjYgMzk1LjEgMjQ2LjQgMzkyLjMgMjIwLjMgMzgyLjJ6Ii8+PC9zdmc+Cg==');\n opacity: 0.5;\n visibility: hidden;\n display: inline-block;\n vertical-align: middle;\n }\n\n h1:hover > ${className}::before, h2:hover > ${className}::before, ${className}:hover::before {\n visibility: visible;\n }\n`;\n\nconst isModifiedEvent = event => !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n\nexport class Link extends React.Component<{\n to: string;\n className?: string;\n children?: any;\n}> {\n navigate = (history: HistoryService, event) => {\n if (!event.defaultPrevented && // onClick prevented default\n event.button === 0 && // ignore everything but left clicks\n !isModifiedEvent(event) // ignore clicks with modifier keys\n ) {\n event.preventDefault();\n history.replace(this.props.to);\n }\n };\n\n render() {\n return \n {store => \n {this.props.children}\n }\n ;\n }\n\n}\nconst StyledShareLink = styled(Link)`\n ${linkifyMixin('&')};\n`;\nexport function ShareLink(props: {\n to: string;\n}) {\n return ;\n}","import * as React from 'react';\nimport styled from '../styled-components';\nconst directionMap = {\n left: '90deg',\n right: '-90deg',\n up: '-180deg',\n down: '0'\n};\n\nclass IntShelfIcon extends React.PureComponent<{\n className?: string;\n float?: 'left' | 'right';\n size?: string;\n color?: string;\n direction: 'left' | 'right' | 'up' | 'down';\n style?: React.CSSProperties;\n}> {\n render() {\n return \n \n ;\n }\n\n}\n\nexport const ShelfIcon = styled(IntShelfIcon)`\n height: ${props => props.size || '18px'};\n width: ${props => props.size || '18px'};\n vertical-align: middle;\n float: ${props => props.float || ''};\n transition: transform 0.2s ease-out;\n transform: rotateZ(${props => directionMap[props.direction || 'down']});\n\n polygon {\n fill: ${({\n color,\n theme\n}) => color && theme.colors.responses[color] && theme.colors.responses[color].color || color};\n }\n`;\nexport const Badge = styled.span<{\n type: string;\n}>`\n display: inline-block;\n padding: 2px 8px;\n margin: 0;\n background-color: ${props => props.theme.colors[props.type].main};\n color: ${props => props.theme.colors[props.type].contrastText};\n font-size: ${props => props.theme.typography.code.fontSize};\n vertical-align: middle;\n line-height: 1.6;\n border-radius: 4px;\n font-weight: ${({\n theme\n}) => theme.typography.fontWeightBold};\n font-size: 12px;\n + span[type] {\n margin-left: 4px;\n }\n`;","import { css } from '../styled-components';\nexport const deprecatedCss = css`\n text-decoration: line-through;\n color: #707070;\n`;","// import { transparentize } from 'polished';\nimport styled, { extensionsHook, media } from '../styled-components';\nimport { deprecatedCss } from './mixins';\nexport const PropertiesTableCaption = styled.caption`\n text-align: right;\n font-size: 0.9em;\n font-weight: normal;\n color: ${props => props.theme.colors.text.secondary};\n`;\nexport const PropertyCell = styled.td<{\n kind?: string;\n}>`\n border-left: 1px solid ${props => props.theme.schema.linesColor};\n box-sizing: border-box;\n position: relative;\n padding: 10px 10px 10px 0;\n\n ${media.lessThan('small')`\n display: block;\n overflow: hidden;\n `}\n\n tr:first-of-type > &,\n tr.last > & {\n border-left-width: 0;\n background-position: top left;\n background-repeat: no-repeat;\n background-size: 1px 100%;\n }\n\n tr:first-of-type > & {\n background-image: linear-gradient(\n to bottom,\n transparent 0%,\n transparent 22px,\n ${props => props.theme.schema.linesColor} 22px,\n ${props => props.theme.schema.linesColor} 100%\n );\n }\n\n tr.last > & {\n background-image: linear-gradient(\n to bottom,\n ${props => props.theme.schema.linesColor} 0%,\n ${props => props.theme.schema.linesColor} 22px,\n transparent 22px,\n transparent 100%\n );\n }\n\n tr.last + tr > & {\n border-left-color: transparent;\n }\n\n tr.last:first-child > & {\n background: none;\n border-left-color: transparent;\n }\n`;\nexport const PropertyCellWithInner = styled(PropertyCell)`\n padding: 0;\n`;\nexport const PropertyNameCell = styled(PropertyCell)`\n vertical-align: top;\n line-height: 20px;\n white-space: nowrap;\n font-size: 13px;\n font-family: ${props => props.theme.typography.code.fontFamily};\n\n &.deprecated {\n ${deprecatedCss};\n }\n\n ${({\n kind\n}) => kind !== 'field' ? 'font-style: italic' : ''};\n\n ${extensionsHook('PropertyNameCell')};\n`;\nexport const PropertyDetailsCell = styled.td`\n border-bottom: 1px solid #9fb4be;\n padding: 10px 0;\n width: ${props => props.theme.schema.defaultDetailsWidth};\n box-sizing: border-box;\n\n tr.expanded & {\n border-bottom: none;\n }\n\n ${media.lessThan('small')`\n padding: 0 20px;\n border-bottom: none;\n border-left: 1px solid ${props => props.theme.schema.linesColor};\n\n tr.last > & {\n border-left: none;\n }\n `}\n\n ${extensionsHook('PropertyDetailsCell')};\n`;\nexport const PropertyBullet = styled.span`\n color: ${props => props.theme.schema.linesColor};\n font-family: ${props => props.theme.typography.code.fontFamily};\n margin-right: 10px;\n\n &::before {\n content: '';\n display: inline-block;\n vertical-align: middle;\n width: 10px;\n height: 1px;\n background: ${props => props.theme.schema.linesColor};\n }\n\n &::after {\n content: '';\n display: inline-block;\n vertical-align: middle;\n width: 1px;\n background: ${props => props.theme.schema.linesColor};\n height: 7px;\n }\n`;\nexport const InnerPropertiesWrap = styled.div`\n padding: ${({\n theme\n}) => theme.schema.nestingSpacing};\n`;\nexport const PropertiesTable = styled.table`\n border-collapse: separate;\n border-radius: 3px;\n font-size: ${props => props.theme.typography.fontSize};\n\n border-spacing: 0;\n width: 100%;\n\n > tr {\n vertical-align: middle;\n }\n\n ${media.lessThan('small')`\n display: block;\n > tr, > tbody > tr {\n display: block;\n }\n `}\n\n ${media.lessThan('small', false, ' and (-ms-high-contrast:none)')`\n td {\n float: left;\n width: 100%;\n }\n `}\n\n &\n ${InnerPropertiesWrap},\n &\n ${InnerPropertiesWrap}\n ${InnerPropertiesWrap}\n ${InnerPropertiesWrap},\n &\n ${InnerPropertiesWrap}\n ${InnerPropertiesWrap}\n ${InnerPropertiesWrap}\n ${InnerPropertiesWrap}\n ${InnerPropertiesWrap} {\n margin: ${({\n theme\n}) => theme.schema.nestingSpacing};\n margin-right: 0;\n background: ${({\n theme\n}) => theme.schema.nestedBackground};\n }\n\n &\n ${InnerPropertiesWrap}\n ${InnerPropertiesWrap},\n &\n ${InnerPropertiesWrap}\n ${InnerPropertiesWrap}\n ${InnerPropertiesWrap}\n ${InnerPropertiesWrap},\n &\n ${InnerPropertiesWrap}\n ${InnerPropertiesWrap}\n ${InnerPropertiesWrap}\n ${InnerPropertiesWrap}\n ${InnerPropertiesWrap}\n ${InnerPropertiesWrap} {\n background: #ffffff;\n }\n`;","import styled from '../styled-components';\nimport { darken } from 'polished';\nexport const OneOfList = styled.div`\n margin: 0 0 3px 0;\n display: inline-block;\n`;\nexport const OneOfLabel = styled.span`\n font-size: 0.9em;\n margin-right: 10px;\n color: ${props => props.theme.colors.primary.main};\n font-family: ${props => props.theme.typography.headings.fontFamily};\n}\n`;\nexport const OneOfButton = styled.button<{\n active: boolean;\n}>`\n display: inline-block;\n margin-right: 10px;\n margin-bottom: 5px;\n font-size: 0.8em;\n cursor: pointer;\n border: 1px solid ${props => props.theme.colors.primary.main};\n padding: 2px 10px;\n line-height: 1.5em;\n outline: none;\n &:focus {\n box-shadow: 0 0 0 1px ${props => props.theme.colors.primary.main};\n }\n\n ${props => {\n if (props.active) {\n return `\n color: white;\n background-color: ${props.theme.colors.primary.main};\n &:focus {\n box-shadow: none;\n background-color: ${darken(0.15, props.theme.colors.primary.main)};\n }\n `;\n } else {\n return `\n color: ${props.theme.colors.primary.main};\n background-color: white;\n `;\n }\n}}\n`;\nexport const ArrayOpenningLabel = styled.div`\n font-size: 0.9em;\n font-family: ${props => props.theme.typography.code.fontFamily};\n &::after {\n content: ' [';\n }\n`;\nexport const ArrayClosingLabel = styled.div`\n font-size: 0.9em;\n font-family: ${props => props.theme.typography.code.fontFamily};\n &::after {\n content: ']';\n }\n`;","import Dropdown from '@redocly/react-dropdown-aria';\nimport styled from '../styled-components';\nexport interface DropdownOption {\n idx: number;\n value: string;\n}\nexport interface DropdownProps {\n options: DropdownOption[];\n value: string;\n onChange: (option: DropdownOption) => void;\n ariaLabel: string;\n}\nexport const StyledDropdown = styled(Dropdown)`\n && {\n box-sizing: border-box;\n min-width: 100px;\n outline: none;\n display: inline-block;\n border-radius: 2px;\n border: 1px solid rgba(38, 50, 56, 0.5);\n vertical-align: bottom;\n padding: 2px 0px 2px 6px;\n position: relative;\n width: auto;\n background: white;\n color: #263238;\n font-family: ${props => props.theme.typography.headings.fontFamily};\n font-size: 0.929em;\n line-height: 1.5em;\n cursor: pointer;\n transition: border 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;\n &:hover,\n &:focus-within {\n border: 1px solid ${props => props.theme.colors.primary.main};\n color: ${props => props.theme.colors.primary.main};\n box-shadow: 0px 0px 0px 1px ${props => props.theme.colors.primary.main};\n }\n .dropdown-selector {\n display: inline-flex;\n padding: 0;\n height: auto;\n padding-right: 20px;\n position: relative;\n margin-bottom: 5px;\n }\n .dropdown-selector-value {\n font-family: ${props => props.theme.typography.headings.fontFamily};\n position: relative;\n font-size: 0.929em;\n width: 100%;\n line-height: 1;\n vertical-align: middle;\n color: #263238;\n left: 0;\n transition: color 0.25s ease, text-shadow 0.25s ease;\n }\n .dropdown-arrow {\n position: absolute;\n right: 3px;\n top: 50%;\n transform: translateY(-50%);\n border-color: ${props => props.theme.colors.primary.main} transparent transparent;\n border-style: solid;\n border-width: 0.35em 0.35em 0;\n width: 0;\n svg {\n display: none;\n }\n }\n\n .dropdown-selector-content {\n position: absolute;\n margin-top: 2px;\n left: -2px;\n right: 0;\n\n z-index: 10;\n min-width: 100px;\n\n background: white;\n border: 1px solid rgba(38, 50, 56, 0.2);\n box-shadow: 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.08);\n\n max-height: 220px;\n overflow: auto;\n }\n\n .dropdown-option {\n font-size: 0.9em;\n color: #263238;\n cursor: pointer;\n padding: 0.4em;\n background-color: #ffffff;\n\n &[aria-selected='true'] {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:hover {\n background-color: rgba(38, 50, 56, 0.12);\n }\n }\n input {\n cursor: pointer;\n height: 1px;\n background-color: transparent;\n }\n }\n`;\nexport const SimpleDropdown = styled(StyledDropdown)`\n && {\n margin-left: 10px;\n text-transform: none;\n font-size: 0.969em;\n\n font-size: 1em;\n border: none;\n padding: 0 1.2em 0 0;\n background: transparent;\n\n &:hover,\n &:focus-within {\n border: none;\n box-shadow: none;\n .dropdown-selector-value {\n color: ${props => props.theme.colors.primary.main};\n text-shadow: 0px 0px 0px ${props => props.theme.colors.primary.main};\n }\n }\n }\n`;\nexport const MimeLabel = styled.span`\n margin-left: 10px;\n text-transform: none;\n font-size: 0.929em;\n color: black;\n`;","import { darken } from 'polished';\nimport { Tabs as ReactTabs } from 'react-tabs';\nimport styled from '../styled-components';\nexport { Tab, TabList, TabPanel } from 'react-tabs';\nexport const Tabs = styled(ReactTabs)`\n > ul {\n list-style: none;\n padding: 0;\n margin: 0;\n margin: 0 -5px;\n\n > li {\n padding: 5px 10px;\n display: inline-block;\n\n background-color: ${({\n theme\n}) => theme.codeBlock.backgroundColor};\n border-bottom: 1px solid rgba(0, 0, 0, 0.5);\n cursor: pointer;\n text-align: center;\n outline: none;\n color: ${({\n theme\n}) => darken(theme.colors.tonalOffset, theme.rightPanel.textColor)};\n margin: 0\n ${({\n theme\n}) => `${theme.spacing.unit}px ${theme.spacing.unit}px ${theme.spacing.unit}px`};\n border: 1px solid ${({\n theme\n}) => darken(0.05, theme.codeBlock.backgroundColor)};\n border-radius: 5px;\n min-width: 60px;\n font-size: 0.9em;\n font-weight: bold;\n\n &.react-tabs__tab--selected {\n color: ${props => props.theme.colors.text.primary};\n background: ${({\n theme\n}) => theme.rightPanel.textColor};\n &:focus {\n outline: auto;\n }\n }\n\n &:only-child {\n flex: none;\n min-width: 100px;\n }\n\n &.tab-success {\n color: ${props => props.theme.colors.responses.success.tabTextColor};\n }\n\n &.tab-redirect {\n color: ${props => props.theme.colors.responses.redirect.tabTextColor};\n }\n\n &.tab-info {\n color: ${props => props.theme.colors.responses.info.tabTextColor};\n }\n\n &.tab-error {\n color: ${props => props.theme.colors.responses.error.tabTextColor};\n }\n }\n }\n > .react-tabs__tab-panel {\n background: ${({\n theme\n}) => theme.codeBlock.backgroundColor};\n & > div,\n & > pre {\n padding: ${props => props.theme.spacing.unit * 4}px;\n margin: 0;\n }\n\n & > div > pre {\n padding: 0;\n }\n }\n`;\nexport const SmallTabs = styled(Tabs)`\n > ul {\n display: block;\n > li {\n padding: 2px 5px;\n min-width: auto;\n margin: 0 15px 0 0;\n font-size: 13px;\n font-weight: normal;\n border-bottom: 1px dashed;\n color: ${({\n theme\n}) => darken(theme.colors.tonalOffset, theme.rightPanel.textColor)};\n border-radius: 0;\n background: none;\n\n &:last-child {\n margin-right: 0;\n }\n\n &.react-tabs__tab--selected {\n color: ${({\n theme\n}) => theme.rightPanel.textColor};\n background: none;\n }\n }\n }\n > .react-tabs__tab-panel {\n & > div,\n & > pre {\n padding: ${props => props.theme.spacing.unit * 2}px 0;\n }\n }\n`;","import styled, { extensionsHook } from '../styled-components';\nexport const PrismDiv = styled.div`\n /**\n * Based on prism-dark.css\n */\n\n code[class*='language-'],\n pre[class*='language-'] {\n /* color: white;\n background: none; */\n text-shadow: 0 -0.1em 0.2em black;\n text-align: left;\n white-space: pre;\n word-spacing: normal;\n word-break: normal;\n word-wrap: normal;\n line-height: 1.5;\n\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n\n -webkit-hyphens: none;\n -moz-hyphens: none;\n -ms-hyphens: none;\n hyphens: none;\n }\n\n @media print {\n code[class*='language-'],\n pre[class*='language-'] {\n text-shadow: none;\n }\n }\n\n /* Code blocks */\n pre[class*='language-'] {\n padding: 1em;\n margin: 0.5em 0;\n overflow: auto;\n }\n\n .token.comment,\n .token.prolog,\n .token.doctype,\n .token.cdata {\n color: hsl(30, 20%, 50%);\n }\n\n .token.punctuation {\n opacity: 0.7;\n }\n\n .namespace {\n opacity: 0.7;\n }\n\n .token.property,\n .token.tag,\n .token.number,\n .token.constant,\n .token.symbol {\n color: #4a8bb3;\n }\n\n .token.boolean {\n color: #e64441;\n }\n\n .token.selector,\n .token.attr-name,\n .token.string,\n .token.char,\n .token.builtin,\n .token.inserted {\n color: #a0fbaa;\n & + a,\n & + a:visited {\n color: #4ed2ba;\n text-decoration: underline;\n }\n }\n\n .token.property.string {\n color: white;\n }\n\n .token.operator,\n .token.entity,\n .token.url,\n .token.variable {\n color: hsl(40, 90%, 60%);\n }\n\n .token.atrule,\n .token.attr-value,\n .token.keyword {\n color: hsl(350, 40%, 70%);\n }\n\n .token.regex,\n .token.important {\n color: #e90;\n }\n\n .token.important,\n .token.bold {\n font-weight: bold;\n }\n .token.italic {\n font-style: italic;\n }\n\n .token.entity {\n cursor: help;\n }\n\n .token.deleted {\n color: red;\n }\n\n ${extensionsHook('Prism')};\n`;","import styled from '../styled-components';\nimport { PrismDiv } from './PrismDiv';\nexport const SampleControls = styled.div`\n opacity: 0.7;\n transition: opacity 0.3s ease;\n text-align: right;\n &:focus-within {\n opacity: 1;\n }\n > button {\n background-color: transparent;\n border: 0;\n color: inherit;\n padding: 2px 10px;\n font-family: ${({\n theme\n}) => theme.typography.fontFamily};\n font-size: ${({\n theme\n}) => theme.typography.fontSize};\n line-height: ${({\n theme\n}) => theme.typography.lineHeight};\n cursor: pointer;\n outline: 0;\n\n :hover,\n :focus {\n background: rgba(255, 255, 255, 0.1);\n }\n }\n`;\nexport const SampleControlsWrap = styled.div`\n &:hover ${SampleControls} {\n opacity: 1;\n }\n`;\nexport const StyledPre = styled(PrismDiv.withComponent('pre'))`\n font-family: ${props => props.theme.typography.code.fontFamily};\n font-size: ${props => props.theme.typography.code.fontSize};\n overflow-x: auto;\n margin: 0;\n\n white-space: ${({\n theme\n}) => theme.typography.code.wrap ? 'pre-wrap' : 'pre'};\n`;","import * as React from 'react';\nimport PerfectScrollbarType, * as PerfectScrollbarNamespace from 'perfect-scrollbar';\nimport psStyles from 'perfect-scrollbar/css/perfect-scrollbar.css';\nimport { OptionsContext } from '../components/OptionsProvider';\nimport styled, { createGlobalStyle } from '../styled-components';\n/*\n * perfect scrollbar umd bundle uses exports assignment while module uses default export\n * so when bundled with webpack default export works but with jest it crashes\n * That's why the following ugly fix is required\n */\n\nconst PerfectScrollbarConstructor = PerfectScrollbarNamespace.default || ((PerfectScrollbarNamespace as any) as PerfectScrollbarType);\nconst PSStyling = createGlobalStyle`${psStyles && psStyles.toString()}`;\nconst StyledScrollWrapper = styled.div`\n position: relative;\n`;\nexport interface PerfectScrollbarProps {\n options?: PerfectScrollbarType.Options;\n className?: string;\n updateFn?: (fn) => void;\n}\nexport class PerfectScrollbar extends React.Component {\n private _container: HTMLElement;\n private inst: PerfectScrollbarType;\n\n componentDidMount() {\n const offset = this._container.parentElement && this._container.parentElement.scrollTop || 0;\n this.inst = new PerfectScrollbarConstructor(this._container, this.props.options || {});\n\n if (this._container.scrollTo) {\n this._container.scrollTo(0, offset);\n }\n }\n\n componentDidUpdate() {\n this.inst.update();\n }\n\n componentWillUnmount() {\n this.inst.destroy();\n }\n\n handleRef = ref => {\n this._container = ref;\n };\n\n render() {\n const {\n children,\n className,\n updateFn\n } = this.props;\n\n if (updateFn) {\n updateFn(this.componentDidUpdate.bind(this));\n }\n\n return <>\n \n \n {children}\n \n ;\n }\n\n}\nexport function PerfectScrollbarWrap(props: PerfectScrollbarProps & {\n children: JSX.Element[] | JSX.Element;\n}) {\n return \n {options => !options.nativeScrollbars ? {props.children} :
    \n {props.children}\n
    }\n
    ;\n}","export * from './panels';\nexport * from './headers';\nexport * from './linkify';\nexport * from './shelfs';\nexport * from './fields-layout';\nexport * from './schema';\nexport * from './dropdown';\nexport * from './mixins';\nexport * from './tabs';\nexport * from './samples';\nexport * from './perfect-scrollbar';","import * as React from 'react';\nimport { DropdownProps, MimeLabel, SimpleDropdown } from '../../common-elements/dropdown';\nexport interface DropdownOrLabelProps extends DropdownProps {\n Label?: React.ComponentClass;\n Dropdown?: React.ComponentClass;\n}\nexport function DropdownOrLabel(props: DropdownOrLabelProps): JSX.Element {\n const {\n Label = MimeLabel,\n Dropdown = SimpleDropdown\n } = props;\n\n if (props.options.length === 1) {\n return ;\n }\n\n return ;\n}","import { headerCommonMixin, linkifyMixin } from '../../common-elements';\nimport { PrismDiv } from '../../common-elements/PrismDiv';\nimport styled, { css, extensionsHook, ResolvedThemeInterface } from '../../styled-components';\nimport { StyledComponent } from 'styled-components';\nexport const linksCss = css`\n a {\n text-decoration: none;\n color: ${props => props.theme.typography.links.color};\n\n &:visited {\n color: ${props => props.theme.typography.links.visited};\n }\n\n &:hover {\n color: ${props => props.theme.typography.links.hover};\n }\n }\n`;\nexport const StyledMarkdownBlock = styled((PrismDiv as StyledComponent<'div', ResolvedThemeInterface, {\n compact?: boolean;\n inline?: boolean;\n}>))`\n\n font-family: ${props => props.theme.typography.fontFamily};\n font-weight: ${props => props.theme.typography.fontWeightRegular};\n line-height: ${props => props.theme.typography.lineHeight};\n\n p {\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n ${({\n compact\n}) => compact && `\n p:first-child {\n margin-top: 0;\n }\n p:last-child {\n margin-bottom: 0;\n }\n `}\n\n ${({\n inline\n}) => inline && ` p {\n display: inline-block;\n }`}\n\n h1 {\n ${headerCommonMixin(1)};\n color: ${props => props.theme.colors.primary.main};\n margin-top: 0;\n }\n\n h2 {\n ${headerCommonMixin(2)};\n color: ${props => props.theme.colors.text.primary};\n }\n\n code {\n color: ${({\n theme\n}) => theme.typography.code.color};\n background-color: ${({\n theme\n}) => theme.typography.code.backgroundColor};\n\n font-family: ${props => props.theme.typography.code.fontFamily};\n border-radius: 2px;\n border: 1px solid rgba(38, 50, 56, 0.1);\n padding: 0 ${({\n theme\n}) => theme.spacing.unit}px;\n font-size: ${props => props.theme.typography.code.fontSize};\n font-weight: ${({\n theme\n}) => theme.typography.code.fontWeight};\n\n word-break: break-word;\n }\n\n pre {\n font-family: ${props => props.theme.typography.code.fontFamily};\n white-space:${({\n theme\n}) => theme.typography.code.wrap ? 'pre-wrap' : 'pre'};\n background-color: ${({\n theme\n}) => theme.codeBlock.backgroundColor};\n color: white;\n padding: ${props => props.theme.spacing.unit * 4}px;\n overflow-x: auto;\n line-height: normal;\n border-radius: 0px\n border: 1px solid rgba(38, 50, 56, 0.1);\n\n code {\n background-color: transparent;\n color: white;\n padding: 0;\n\n &:before,\n &:after {\n content: none;\n }\n }\n }\n\n blockquote {\n margin: 0;\n margin-bottom: 1em;\n padding: 0 15px;\n color: #777;\n border-left: 4px solid #ddd;\n }\n\n img {\n max-width: 100%;\n box-sizing: content-box;\n }\n\n ul,\n ol {\n padding-left: 2em;\n margin: 0;\n margin-bottom: 1em;\n\n ul, ol {\n margin-bottom: 0;\n margin-top: 0;\n }\n }\n\n table {\n display: block;\n width: 100%;\n overflow: auto;\n word-break: normal;\n word-break: keep-all;\n border-collapse: collapse;\n border-spacing: 0;\n margin-top: 1.5em;\n margin-bottom: 1.5em;\n }\n\n table tr {\n background-color: #fff;\n border-top: 1px solid #ccc;\n\n &:nth-child(2n) {\n background-color: ${({\n theme\n}) => theme.schema.nestedBackground};\n }\n }\n\n table th,\n table td {\n padding: 6px 13px;\n border: 1px solid #ddd;\n }\n\n table th {\n text-align: left;\n font-weight: bold;\n }\n\n ${linkifyMixin('.share-link')};\n\n ${linksCss}\n\n ${extensionsHook('Markdown')};\n`;","import * as DOMPurify from 'dompurify';\nimport * as React from 'react';\nimport { OptionsConsumer } from '../OptionsProvider';\nimport { StylingMarkdownProps } from './Markdown';\nimport { StyledMarkdownBlock } from './styled.elements';\nconst StyledMarkdownSpan = StyledMarkdownBlock.withComponent('span');\n\nconst sanitize = (untrustedSpec, html) => untrustedSpec ? DOMPurify.sanitize(html) : html;\n\nexport function SanitizedMarkdownHTML(props: StylingMarkdownProps & {\n html: string;\n className?: string;\n 'data-role'?: string;\n}) {\n const Wrap = props.inline ? StyledMarkdownSpan : StyledMarkdownBlock;\n return \n {options => }\n ;\n}","import * as React from 'react';\nimport { MarkdownRenderer } from '../../services';\nimport { SanitizedMarkdownHTML } from './SanitizedMdBlock';\nexport interface StylingMarkdownProps {\n compact?: boolean;\n inline?: boolean;\n}\nexport interface BaseMarkdownProps {\n sanitize?: boolean;\n source: string;\n}\nexport type MarkdownProps = BaseMarkdownProps & StylingMarkdownProps & {\n source: string;\n className?: string;\n 'data-role'?: string;\n};\nexport class Markdown extends React.Component {\n render() {\n const {\n source,\n inline,\n compact,\n className,\n 'data-role': dataRole\n } = this.props;\n const renderer = new MarkdownRenderer();\n return ;\n }\n\n}","import * as React from 'react';\nimport styled from '../styled-components';\nconst Wrapper = styled.div`\n position: relative;\n`;\nconst Tip = styled.div`\n position: absolute;\n min-width: 80px;\n max-width: 500px;\n background: #fff;\n bottom: 100%;\n left: 50%;\n margin-bottom: 10px;\n transform: translateX(-50%);\n\n border-radius: 4px;\n padding: 0.3em 0.6em;\n text-align: center;\n box-shadow: 0px 0px 5px 0px rgba(204, 204, 204, 1);\n`;\nconst Content = styled.div`\n background: #fff;\n color: #000;\n display: inline;\n font-size: 0.85em;\n white-space: nowrap;\n`;\nconst Arrow = styled.div`\n position: absolute;\n width: 0;\n height: 0;\n bottom: -5px;\n left: 50%;\n margin-left: -5px;\n border-left: solid transparent 5px;\n border-right: solid transparent 5px;\n border-top: solid #fff 5px;\n`;\nconst Gap = styled.div`\n position: absolute;\n width: 100%;\n height: 20px;\n bottom: -20px;\n`;\nexport interface TooltipProps {\n open: boolean;\n title: string;\n}\nexport class Tooltip extends React.Component {\n render() {\n const {\n open,\n title,\n children\n } = this.props;\n return \n {children}\n {open && \n {title}\n \n \n }\n ;\n }\n\n}","const isSupported = typeof document !== 'undefined' && document.queryCommandSupported && document.queryCommandSupported('copy');\nexport class ClipboardService {\n static isSupported(): boolean {\n return isSupported;\n }\n\n static selectElement(element: any): void {\n let range;\n let selection;\n\n if ((document.body as any).createTextRange) {\n range = (document.body as any).createTextRange();\n range.moveToElementText(element);\n range.select();\n } else if (document.createRange && window.getSelection) {\n selection = window.getSelection();\n range = document.createRange();\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n }\n }\n\n static deselect(): void {\n if ((document as any).selection) {\n (document as any).selection.empty();\n } else if (window.getSelection) {\n const selection = window.getSelection();\n\n if (selection) {\n selection.removeAllRanges();\n }\n }\n }\n\n static copySelected(): boolean {\n let result;\n\n try {\n result = document.execCommand('copy');\n } catch (err) {\n result = false;\n }\n\n return result;\n }\n\n static copyElement(element: any): boolean {\n ClipboardService.selectElement(element);\n const res = ClipboardService.copySelected();\n\n if (res) {\n ClipboardService.deselect();\n }\n\n return res;\n }\n\n static copyCustom(text: string): boolean {\n const textArea = document.createElement('textarea');\n textArea.style.position = 'fixed';\n textArea.style.top = '0';\n textArea.style.left = '0'; // Ensure it has a small width and height. Setting to 1px / 1em\n // doesn't work as this gives a negative w/h on some browsers.\n\n textArea.style.width = '2em';\n textArea.style.height = '2em'; // We don't need padding, reducing the size if it does flash render.\n\n textArea.style.padding = '0'; // Clean up any borders.\n\n textArea.style.border = 'none';\n textArea.style.outline = 'none';\n textArea.style.boxShadow = 'none'; // Avoid flash of white box if rendered for any reason.\n\n textArea.style.background = 'transparent';\n textArea.value = text;\n document.body.appendChild(textArea);\n textArea.select();\n const res = ClipboardService.copySelected();\n document.body.removeChild(textArea);\n return res;\n }\n\n}","import * as React from 'react';\nimport { Tooltip } from '../common-elements/Tooltip';\nimport { ClipboardService } from '../services/ClipboardService';\nexport interface CopyButtonWrapperProps {\n data: any;\n children: (props: {\n renderCopyButton: () => React.ReactNode;\n }) => React.ReactNode;\n}\nexport class CopyButtonWrapper extends React.PureComponent {\n constructor(props) {\n super(props);\n this.state = {\n tooltipShown: false\n };\n }\n\n render() {\n return this.props.children({\n renderCopyButton: this.renderCopyButton\n });\n }\n\n copy = () => {\n const content = typeof this.props.data === 'string' ? this.props.data : JSON.stringify(this.props.data, null, 2);\n ClipboardService.copyCustom(content);\n this.showTooltip();\n };\n renderCopyButton = () => {\n return ;\n };\n\n showTooltip() {\n this.setState({\n tooltipShown: true\n });\n setTimeout(() => {\n this.setState({\n tooltipShown: false\n });\n }, 1500);\n }\n\n}","let level = 1;\nexport function jsonToHTML(json, maxExpandLevel) {\n level = 1;\n let output = '';\n output += '
    ';\n output += '';\n output += valueToHTML(json, maxExpandLevel);\n output += '';\n output += '
    ';\n return output;\n}\n\nfunction htmlEncode(t) {\n return t !== undefined ? t.toString().replace(/&/g, '&').replace(/\"/g, '"').replace(//g, '>') : '';\n}\n\nfunction stringifyStringLiteral(str: string) {\n return JSON.stringify(str).slice(1, -1);\n}\n\nfunction decorateWithSpan(value, className) {\n return '' + htmlEncode(value) + '';\n}\n\nfunction punctuation(val) {\n return '' + val + '';\n}\n\nfunction valueToHTML(value, maxExpandLevel: number) {\n const valueType = typeof value;\n let output = '';\n\n if (value === undefined || value === null) {\n output += decorateWithSpan('null', 'token keyword');\n } else if (value && value.constructor === Array) {\n level++;\n output += arrayToHTML(value, maxExpandLevel);\n level--;\n } else if (value && value.constructor === Date) {\n output += decorateWithSpan('\"' + value.toISOString() + '\"', 'token string');\n } else if (valueType === 'object') {\n level++;\n output += objectToHTML(value, maxExpandLevel);\n level--;\n } else if (valueType === 'number') {\n output += decorateWithSpan(value, 'token number');\n } else if (valueType === 'string') {\n if (/^(http|https):\\/\\/[^\\s]+$/.test(value)) {\n output += decorateWithSpan('\"', 'token string') + '' + htmlEncode(stringifyStringLiteral(value)) + '' + decorateWithSpan('\"', 'token string');\n } else {\n output += decorateWithSpan('\"' + stringifyStringLiteral(value) + '\"', 'token string');\n }\n } else if (valueType === 'boolean') {\n output += decorateWithSpan(value, 'token boolean');\n }\n\n return output;\n}\n\nfunction arrayToHTML(json, maxExpandLevel: number) {\n const collapsed = level > maxExpandLevel ? 'collapsed' : '';\n let output = `${punctuation('[')}
      `;\n let hasContents = false;\n const length = json.length;\n\n for (let i = 0; i < length; i++) {\n hasContents = true;\n output += '
    • ';\n output += valueToHTML(json[i], maxExpandLevel);\n\n if (i < length - 1) {\n output += ',';\n }\n\n output += '
    • ';\n }\n\n output += `
    ${punctuation(']')}`;\n\n if (!hasContents) {\n output = punctuation('[ ]');\n }\n\n return output;\n}\n\nfunction objectToHTML(json, maxExpandLevel: number) {\n const collapsed = level > maxExpandLevel ? 'collapsed' : '';\n const keys = Object.keys(json);\n const length = keys.length;\n let output = `${punctuation('{')}
      `;\n let hasContents = false;\n\n for (let i = 0; i < length; i++) {\n const key = keys[i];\n hasContents = true;\n output += '
    • ';\n output += '\"' + htmlEncode(key) + '\": ';\n output += valueToHTML(json[key], maxExpandLevel);\n\n if (i < length - 1) {\n output += punctuation(',');\n }\n\n output += '
    • ';\n }\n\n output += `
    ${punctuation('}')}`;\n\n if (!hasContents) {\n output = punctuation('{ }');\n }\n\n return output;\n}","import { css } from '../../styled-components';\nexport const jsonStyles = css`\n .redoc-json code > .collapser {\n display: none;\n pointer-events: none;\n }\n\n font-family: ${props => props.theme.typography.code.fontFamily};\n font-size: ${props => props.theme.typography.code.fontSize};\n\n white-space: ${({\n theme\n}) => theme.typography.code.wrap ? 'pre-wrap' : 'pre'};\n contain: content;\n overflow-x: auto;\n\n .callback-function {\n color: gray;\n }\n\n .collapser:after {\n content: '-';\n cursor: pointer;\n }\n\n .collapsed > .collapser:after {\n content: '+';\n cursor: pointer;\n }\n\n .ellipsis:after {\n content: ' … ';\n }\n\n .collapsible {\n margin-left: 2em;\n }\n\n .hoverable {\n padding-top: 1px;\n padding-bottom: 1px;\n padding-left: 2px;\n padding-right: 2px;\n border-radius: 2px;\n }\n\n .hovered {\n background-color: rgba(235, 238, 249, 1);\n }\n\n .collapser {\n background-color: transparent;\n border: 0;\n color: #fff;\n font-family: ${props => props.theme.typography.code.fontFamily};\n font-size: ${props => props.theme.typography.code.fontSize};\n padding-right: 6px;\n padding-left: 6px;\n padding-top: 0;\n padding-bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15px;\n height: 15px;\n position: absolute;\n top: 4px;\n left: -1.5em;\n cursor: default;\n user-select: none;\n -webkit-user-select: none;\n padding: 2px;\n &:focus {\n outline-color: #fff;\n outline-style: dotted;\n outline-width: 1px;\n }\n }\n\n ul {\n list-style-type: none;\n padding: 0px;\n margin: 0px 0px 0px 26px;\n }\n\n li {\n position: relative;\n display: block;\n }\n\n .hoverable {\n display: inline-block;\n }\n\n .selected {\n outline-style: solid;\n outline-width: 1px;\n outline-style: dotted;\n }\n\n .collapsed > .collapsible {\n display: none;\n }\n\n .ellipsis {\n display: none;\n }\n\n .collapsed > .ellipsis {\n display: inherit;\n }\n`;","import * as React from 'react';\nimport styled from '../../styled-components';\nimport { SampleControls } from '../../common-elements';\nimport { CopyButtonWrapper } from '../../common-elements/CopyButtonWrapper';\nimport { PrismDiv } from '../../common-elements/PrismDiv';\nimport { jsonToHTML } from '../../utils/jsonToHtml';\nimport { OptionsContext } from '../OptionsProvider';\nimport { jsonStyles } from './style';\nexport interface JsonProps {\n data: any;\n className?: string;\n}\nconst JsonViewerWrap = styled.div`\n &:hover > ${SampleControls} {\n opacity: 1;\n }\n`;\n\nclass Json extends React.PureComponent {\n node: HTMLDivElement;\n\n render() {\n return {this.renderInner};\n }\n\n renderInner = ({\n renderCopyButton\n }) => \n \n {renderCopyButton()}\n \n \n \n \n {options => this.node = node!} dangerouslySetInnerHTML={{\n __html: jsonToHTML(this.props.data, options.jsonSampleExpandLevel)\n }} />}\n \n ;\n expandAll = () => {\n const elements = this.node.getElementsByClassName('collapsible');\n\n for (const collapsed of Array.prototype.slice.call(elements)) {\n (collapsed.parentNode as Element)!.classList.remove('collapsed');\n }\n };\n collapseAll = () => {\n const elements = this.node.getElementsByClassName('collapsible'); // skip first item to avoid collapsing whole object/array\n\n const elementsArr = Array.prototype.slice.call(elements, 1);\n\n for (const expanded of elementsArr) {\n (expanded.parentNode as Element)!.classList.add('collapsed');\n }\n };\n collapseElement = (target: HTMLElement) => {\n let collapsed;\n\n if (target.className === 'collapser') {\n collapsed = target.parentElement!.getElementsByClassName('collapsible')[0];\n\n if (collapsed.parentElement.classList.contains('collapsed')) {\n collapsed.parentElement.classList.remove('collapsed');\n } else {\n collapsed.parentElement.classList.add('collapsed');\n }\n }\n };\n clickListener = (event: MouseEvent) => {\n this.collapseElement((event.target as HTMLElement));\n };\n focusListener = (event: KeyboardEvent) => {\n if (event.key === 'Enter') {\n this.collapseElement((event.target as HTMLElement));\n }\n };\n\n componentDidMount() {\n this.node!.addEventListener('click', this.clickListener);\n this.node!.addEventListener('focus', this.focusListener);\n }\n\n componentWillUnmount() {\n this.node!.removeEventListener('click', this.clickListener);\n this.node!.removeEventListener('focus', this.focusListener);\n }\n\n}\n\nexport const JsonViewer = styled(Json)`\n ${jsonStyles};\n`;","import * as React from 'react';\nimport { highlight } from '../../utils';\nimport { SampleControls, SampleControlsWrap, StyledPre } from '../../common-elements';\nimport { CopyButtonWrapper } from '../../common-elements/CopyButtonWrapper';\nexport interface SourceCodeProps {\n source: string;\n lang: string;\n}\nexport class SourceCode extends React.PureComponent {\n render() {\n const {\n source,\n lang\n } = this.props;\n return ;\n }\n\n}\nexport class SourceCodeWithCopy extends React.PureComponent {\n render() {\n return \n {({\n renderCopyButton\n }) => \n {renderCopyButton()}\n \n }\n ;\n }\n\n}","import * as React from 'react';\nimport { isJsonLike, langFromMime } from '../../utils/openapi';\nimport { JsonViewer } from '../JsonViewer/JsonViewer';\nimport { SourceCodeWithCopy } from '../SourceCode/SourceCode';\nexport interface ExampleValueProps {\n value: any;\n mimeType: string;\n}\nexport function ExampleValue({\n value,\n mimeType\n}: ExampleValueProps) {\n if (isJsonLike(mimeType)) {\n return ;\n } else {\n if (typeof value === 'object') {\n // just in case example was cached as json but used as non-json\n value = JSON.stringify(value, null, 2);\n }\n\n return ;\n }\n}","import { useEffect, useRef, useState } from 'react';\nimport { ExampleModel } from '../../services/models/Example';\nexport function useExternalExample(example: ExampleModel, mimeType: string) {\n const [, setIsLoading] = useState(true); // to trigger component reload\n\n const value = useRef(undefined);\n const prevRef = useRef(undefined);\n\n if (prevRef.current !== example) {\n value.current = undefined;\n }\n\n prevRef.current = example;\n useEffect(() => {\n const load = async () => {\n setIsLoading(true);\n\n try {\n value.current = await example.getExternalValue(mimeType);\n } catch (e) {\n value.current = e;\n }\n\n setIsLoading(false);\n };\n\n load();\n }, [example, mimeType]);\n return value.current;\n}","import * as React from 'react';\nimport { StyledPre } from '../../common-elements/samples';\nimport { ExampleModel } from '../../services/models';\nimport { ExampleValue } from './ExampleValue';\nimport { useExternalExample } from './exernalExampleHook';\nexport interface ExampleProps {\n example: ExampleModel;\n mimeType: string;\n}\nexport function Example({\n example,\n mimeType\n}: ExampleProps) {\n if (example.value === undefined && example.externalValueUrl) {\n return ;\n } else {\n return ;\n }\n}\nexport function ExternalExample({\n example,\n mimeType\n}: ExampleProps) {\n const value = useExternalExample(example, mimeType);\n\n if (value === undefined) {\n return Loading...;\n }\n\n if (value instanceof Error) {\n return \n Error loading external example:
    \n \n {example.externalValueUrl}\n \n
    ;\n }\n\n return ;\n}","import { transparentize } from 'polished';\nimport styled from '../../styled-components';\nimport { StyledDropdown } from '../../common-elements';\nexport const MimeLabel = styled.div`\n padding: 0.9em;\n background-color: ${({\n theme\n}) => transparentize(0.6, theme.rightPanel.backgroundColor)};\n margin: 0 0 10px 0;\n display: block;\n font-family: ${({\n theme\n}) => theme.typography.headings.fontFamily};\n font-size: 0.929em;\n line-height: 1.5em;\n`;\nexport const DropdownLabel = styled.span`\n font-family: ${({\n theme\n}) => theme.typography.headings.fontFamily};\n font-size: 12px;\n position: absolute;\n z-index: 1;\n top: -11px;\n left: 12px;\n font-weight: ${({\n theme\n}) => theme.typography.fontWeightBold};\n color: ${({\n theme\n}) => transparentize(0.3, theme.rightPanel.textColor)};\n`;\nexport const DropdownWrapper = styled.div`\n position: relative;\n`;\nexport const InvertedSimpleDropdown = styled(StyledDropdown)`\n && {\n margin-left: 10px;\n text-transform: none;\n font-size: 0.929em;\n margin: 0 0 10px 0;\n display: block;\n background-color: ${({\n theme\n}) => transparentize(0.6, theme.rightPanel.backgroundColor)};\n font-size: 1em;\n border: none;\n padding: 0.9em 1.6em 0.9em 0.9em;\n box-shadow: none;\n &:hover,\n &:focus-within {\n border: none;\n box-shadow: none;\n }\n &:focus-within {\n background-color: ${({\n theme\n}) => transparentize(0.3, theme.rightPanel.backgroundColor)};\n }\n\n .dropdown-arrow {\n border-top-color: ${({\n theme\n}) => theme.rightPanel.textColor};\n }\n .dropdown-selector-value {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n color: ${({\n theme\n}) => theme.rightPanel.textColor};\n }\n\n .dropdown-selector-content {\n margin: 0;\n margin-top: 2px;\n .dropdown-option {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n }\n }\n }\n`;\nexport const NoSampleLabel = styled.div`\n font-family: ${props => props.theme.typography.code.fontFamily};\n font-size: 12px;\n color: #ee807f;\n`;","import * as React from 'react';\nimport styled from '../../styled-components';\nimport { DropdownProps } from '../../common-elements';\nimport { MediaTypeModel } from '../../services/models';\nimport { Markdown } from '../Markdown/Markdown';\nimport { Example } from './Example';\nimport { DropdownLabel, DropdownWrapper, NoSampleLabel } from './styled.elements';\nexport interface PayloadSamplesProps {\n mediaType: MediaTypeModel;\n renderDropdown: (props: DropdownProps) => JSX.Element;\n}\ninterface MediaTypeSamplesState {\n activeIdx: number;\n}\nexport class MediaTypeSamples extends React.Component {\n state = {\n activeIdx: 0\n };\n switchMedia = ({\n idx\n }) => {\n this.setState({\n activeIdx: idx\n });\n };\n\n render() {\n const {\n activeIdx\n } = this.state;\n const examples = this.props.mediaType.examples || {};\n const mimeType = this.props.mediaType.name;\n const noSample = No sample;\n const examplesNames = Object.keys(examples);\n\n if (examplesNames.length === 0) {\n return noSample;\n }\n\n if (examplesNames.length > 1) {\n const options = examplesNames.map((name, idx) => {\n return {\n value: examples[name].summary || name,\n idx\n };\n });\n const example = examples[examplesNames[activeIdx]];\n const description = example.description;\n return \n \n Example\n {this.props.renderDropdown({\n value: options[activeIdx].value,\n options,\n onChange: this.switchMedia,\n ariaLabel: 'Example'\n })}\n \n
    \n {description && }\n \n
    \n
    ;\n } else {\n const example = examples[examplesNames[0]];\n return \n {example.description && }\n \n ;\n }\n }\n\n}\nconst SamplesWrapper = styled.div`\n margin-top: 15px;\n`;","import { transparentize } from 'polished';\nimport styled, { extensionsHook } from '../styled-components';\nimport { PropertyNameCell } from './fields-layout';\nimport { ShelfIcon } from './shelfs';\nexport const ClickablePropertyNameCell = styled(PropertyNameCell)`\n button {\n background-color: transparent;\n border: 0;\n outline: 0;\n font-size: 13px;\n font-family: ${props => props.theme.typography.code.fontFamily};\n cursor: pointer;\n padding: 0;\n color: ${props => props.theme.colors.text.primary};\n &:focus {\n font-weight: ${({\n theme\n}) => theme.typography.fontWeightBold};\n }\n }\n ${ShelfIcon} {\n height: ${({\n theme\n}) => theme.schema.arrow.size};\n width: ${({\n theme\n}) => theme.schema.arrow.size};\n polygon {\n fill: ${({\n theme\n}) => theme.schema.arrow.color};\n }\n }\n`;\nexport const FieldLabel = styled.span`\n vertical-align: middle;\n font-size: ${({\n theme\n}) => theme.typography.code.fontSize};\n line-height: 20px;\n`;\nexport const TypePrefix = styled(FieldLabel)`\n color: ${props => transparentize(0.1, props.theme.schema.typeNameColor)};\n`;\nexport const TypeName = styled(FieldLabel)`\n color: ${props => props.theme.schema.typeNameColor};\n`;\nexport const TypeTitle = styled(FieldLabel)`\n color: ${props => props.theme.schema.typeTitleColor};\n word-break: break-word;\n`;\nexport const TypeFormat = TypeName;\nexport const RequiredLabel = styled(FieldLabel.withComponent('div'))`\n color: ${props => props.theme.schema.requireLabelColor};\n font-size: ${props => props.theme.schema.labelsTextSize};\n font-weight: normal;\n margin-left: 20px;\n line-height: 1;\n`;\nexport const RecursiveLabel = styled(FieldLabel)`\n color: ${({\n theme\n}) => theme.colors.warning.main};\n font-size: 13px;\n`;\nexport const NullableLabel = styled(FieldLabel)`\n color: #0e7c86;\n font-size: 13px;\n`;\nexport const PatternLabel = styled(FieldLabel)`\n color: #0e7c86;\n &::before,\n &::after {\n font-weight: bold;\n }\n`;\nexport const ExampleValue = styled(FieldLabel)`\n border-radius: 2px;\n ${({\n theme\n}) => `\n background-color: ${transparentize(0.95, theme.colors.text.primary)};\n color: ${transparentize(0.1, theme.colors.text.primary)};\n\n padding: 0 ${theme.spacing.unit}px;\n border: 1px solid ${transparentize(0.9, theme.colors.text.primary)};\n font-family: ${theme.typography.code.fontFamily};\n}`};\n & + & {\n margin-left: 0;\n }\n ${extensionsHook('ExampleValue')};\n`;\nexport const ExtensionValue = styled(ExampleValue)``;\nexport const ConstraintItem = styled(FieldLabel)`\n border-radius: 2px;\n ${({\n theme\n}) => `\n background-color: ${transparentize(0.95, theme.colors.primary.light)};\n color: ${transparentize(0.1, theme.colors.primary.main)};\n\n margin: 0 ${theme.spacing.unit}px;\n padding: 0 ${theme.spacing.unit}px;\n border: 1px solid ${transparentize(0.9, theme.colors.primary.main)};\n font-family: ${theme.typography.code.fontFamily};\n}`};\n & + & {\n margin-left: 0;\n }\n ${extensionsHook('ConstraintItem')};\n`;\nexport const ToggleButton = styled.button`\n background-color: transparent;\n border: 0;\n color: ${({\n theme\n}) => theme.colors.text.secondary};\n margin-left: ${({\n theme\n}) => theme.spacing.unit}px;\n border-radius: 2px;\n cursor: pointer;\n outline-color: ${({\n theme\n}) => theme.colors.text.secondary};\n font-size: 12px;\n`;","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport styled from '../../styled-components';\nimport { OpenAPIExternalDocumentation } from '../../types';\nimport { linksCss } from '../Markdown/styled.elements';\nconst LinkWrap = styled.div<{\n compact?: boolean;\n}>`\n ${linksCss};\n ${({\n compact\n}) => !compact ? 'margin: 1em 0' : ''}\n`;\n@observer\nexport class ExternalDocumentation extends React.Component<{\n externalDocs: OpenAPIExternalDocumentation;\n compact?: boolean;\n}> {\n render() {\n const {\n externalDocs\n } = this.props;\n\n if (!externalDocs || !externalDocs.url) {\n return null;\n }\n\n return \n {externalDocs.description || externalDocs.url}\n ;\n }\n\n}","import * as React from 'react';\nimport { ExampleValue, FieldLabel } from '../../common-elements/fields';\nimport { l } from '../../services/Labels';\nimport { OptionsContext } from '../OptionsProvider';\nimport styled from '../../styled-components';\nimport { RedocRawOptions } from '../../services/RedocNormalizedOptions';\nexport interface EnumValuesProps {\n values: string[];\n type: string;\n}\nexport interface EnumValuesState {\n collapsed: boolean;\n}\nexport class EnumValues extends React.PureComponent {\n state: EnumValuesState = {\n collapsed: true\n };\n static contextType = OptionsContext;\n\n private toggle() {\n this.setState({\n collapsed: !this.state.collapsed\n });\n }\n\n render() {\n const {\n values,\n type\n } = this.props;\n const {\n collapsed\n } = this.state; // TODO: provide context interface in more elegant way\n\n const {\n enumSkipQuotes,\n maxDisplayedEnumValues\n } = (this.context as RedocRawOptions);\n\n if (!values.length) {\n return null;\n }\n\n const displayedItems = this.state.collapsed && maxDisplayedEnumValues ? values.slice(0, maxDisplayedEnumValues) : values;\n const showToggleButton = maxDisplayedEnumValues ? values.length > maxDisplayedEnumValues : false;\n const toggleButtonText = maxDisplayedEnumValues ? collapsed ? `… ${values.length - maxDisplayedEnumValues} more` : 'Hide' : '';\n return
    \n \n {type === 'array' ? l('enumArray') : ''}{' '}\n {values.length === 1 ? l('enumSingleValue') : l('enum')}:\n {' '}\n {displayedItems.map((value, idx) => {\n const exampleValue = enumSkipQuotes ? value : JSON.stringify(value);\n return \n {exampleValue}{' '}\n ;\n })}\n {showToggleButton ? {\n this.toggle();\n }}>\n {toggleButtonText}\n : null}\n
    ;\n }\n\n}\nconst ToggleButton = styled.span`\n color: ${props => props.theme.colors.primary.main};\n vertical-align: middle;\n font-size: 13px;\n line-height: 20px;\n padding: 0 5px;\n cursor: pointer;\n`;","import * as React from 'react';\nimport { ExtensionValue, FieldLabel } from '../../common-elements/fields';\nimport styled from '../../styled-components';\nimport { OptionsContext } from '../OptionsProvider';\nimport { StyledMarkdownBlock } from '../Markdown/styled.elements';\nconst Extension = styled(StyledMarkdownBlock)`\n margin: 2px 0;\n`;\nexport interface ExtensionsProps {\n extensions: {\n [k: string]: any;\n };\n}\nexport class Extensions extends React.PureComponent {\n render() {\n const exts = this.props.extensions;\n return \n {options => <>\n {options.showExtensions && Object.keys(exts).map(key => \n {key.substring(2)}: {' '}\n \n {typeof exts[key] === 'string' ? exts[key] : JSON.stringify(exts[key])}\n \n )}\n }\n ;\n }\n\n}","import * as React from 'react';\nimport { ConstraintItem } from '../../common-elements/fields';\nexport interface ConstraintsViewProps {\n constraints: string[];\n}\nexport class ConstraintsView extends React.PureComponent {\n render() {\n if (this.props.constraints.length === 0) {\n return null;\n }\n\n return \n {' '}\n {this.props.constraints.map(constraint => {constraint} )}\n ;\n }\n\n}","import * as React from 'react';\nimport { ExampleValue, FieldLabel } from '../../common-elements/fields';\nexport interface FieldDetailProps {\n value?: any;\n label: string;\n raw?: boolean;\n}\nexport class FieldDetail extends React.PureComponent {\n render() {\n if (this.props.value === undefined) {\n return null;\n }\n\n const value = this.props.raw ? this.props.value : JSON.stringify(this.props.value);\n return
    \n {this.props.label} {value}\n
    ;\n }\n\n}","import * as React from 'react';\nimport { NullableLabel, PatternLabel, RecursiveLabel, TypeFormat, TypeName, TypePrefix, TypeTitle, ToggleButton, FieldLabel, ExampleValue } from '../../common-elements/fields';\nimport { serializeParameterValue } from '../../utils/openapi';\nimport { ExternalDocumentation } from '../ExternalDocumentation/ExternalDocumentation';\nimport { Markdown } from '../Markdown/Markdown';\nimport { EnumValues } from './EnumValues';\nimport { Extensions } from './Extensions';\nimport { FieldProps } from './Field';\nimport { ConstraintsView } from './FieldContstraints';\nimport { FieldDetail } from './FieldDetail';\nimport { Badge } from '../../common-elements/';\nimport { l } from '../../services/Labels';\nimport { OptionsContext } from '../OptionsProvider';\nimport { FieldModel } from '../../services/models/Field';\nimport styled from '../../styled-components';\nconst MAX_PATTERN_LENGTH = 45;\nexport class FieldDetails extends React.PureComponent {\n state = {\n patternShown: false\n };\n static contextType = OptionsContext;\n togglePattern = () => {\n this.setState({\n patternShown: !this.state.patternShown\n });\n };\n\n render() {\n const {\n showExamples,\n field,\n renderDiscriminatorSwitch\n } = this.props;\n const {\n patternShown\n } = this.state;\n const {\n enumSkipQuotes,\n hideSchemaTitles\n } = this.context;\n const {\n schema,\n description,\n example,\n deprecated,\n examples\n } = field;\n const rawDefault = !!enumSkipQuotes || field.in === 'header'; // having quotes around header field default values is confusing and inappropriate\n\n let renderedExamples: JSX.Element | null = null;\n\n if (showExamples && (example !== undefined || examples !== undefined)) {\n if (examples !== undefined) {\n renderedExamples = ;\n } else {\n const label = l('example') + ':';\n const raw = !!field.in;\n renderedExamples = ;\n }\n }\n\n return
    \n
    \n {schema.typePrefix}\n {schema.displayType}\n {schema.displayFormat && \n {' '}\n <\n {schema.displayFormat}\n >{' '}\n }\n {schema.title && !hideSchemaTitles && ({schema.title}) }\n \n {schema.nullable && {l('nullable')} }\n {schema.pattern && <>\n \n {patternShown || schema.pattern.length < MAX_PATTERN_LENGTH ? schema.pattern : `${schema.pattern.substr(0, MAX_PATTERN_LENGTH)}...`}\n \n {schema.pattern.length > MAX_PATTERN_LENGTH && \n {patternShown ? 'Hide pattern' : 'Show pattern'}\n }\n }\n {schema.isCircular && {l('recursive')} }\n
    \n {deprecated &&
    \n {l('deprecated')} \n
    }\n \n {!renderDiscriminatorSwitch && }{' '}\n {renderedExamples}\n {}\n
    \n \n
    \n {schema.externalDocs && }\n {renderDiscriminatorSwitch && renderDiscriminatorSwitch(this.props) || null}\n
    ;\n }\n\n}\n\nfunction Examples({\n field\n}: {\n field: FieldModel;\n}) {\n if (!field.examples) {\n return null;\n }\n\n return <>\n {l('examples')}: \n \n {Object.values(field.examples).map((example, idx) => {\n return
  • \n {getSerializedValue(field, example.value)} - {example.summary || example.description}\n
  • ;\n })}\n
    \n ;\n}\n\nfunction getSerializedValue(field: FieldModel, example: any) {\n if (field.in) {\n // decode for better readability in examples: see https://github.com/Redocly/redoc/issues/1138\n return decodeURIComponent(serializeParameterValue(field, example));\n } else {\n return example;\n }\n}\n\nconst ExamplesList = styled.ul`\n margin-top: 1em;\n padding-left: 0;\n list-style-position: inside;\n`;","import * as React from 'react';\nimport { Schema, SchemaProps } from './Schema';\nimport { ArrayClosingLabel, ArrayOpenningLabel } from '../../common-elements';\nimport styled from '../../styled-components';\nimport { humanizeConstraints } from \"../../utils\";\nconst PaddedSchema = styled.div`\n padding-left: ${({\n theme\n}) => theme.spacing.unit * 2}px;\n`;\nexport class ArraySchema extends React.PureComponent {\n render() {\n const itemsSchema = this.props.schema.items!;\n\n const itemConstraintSchema = (min: number | undefined = undefined, max: number | undefined = undefined) => ({\n type: 'array',\n minItems: min,\n maxItems: max\n });\n\n const minMaxItems = humanizeConstraints(itemConstraintSchema(itemsSchema.schema.minItems, itemsSchema.schema.maxItems));\n return
    \n Array ({minMaxItems})\n \n \n \n \n
    ;\n }\n\n}","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { ClickablePropertyNameCell, RequiredLabel } from '../../common-elements/fields';\nimport { FieldDetails } from './FieldDetails';\nimport { InnerPropertiesWrap, PropertyBullet, PropertyCellWithInner, PropertyDetailsCell, PropertyNameCell } from '../../common-elements/fields-layout';\nimport { ShelfIcon } from '../../common-elements/';\nimport { FieldModel } from '../../services/models';\nimport { Schema, SchemaOptions } from '../Schema/Schema';\nexport interface FieldProps extends SchemaOptions {\n className?: string;\n isLast?: boolean;\n showExamples?: boolean;\n field: FieldModel;\n expandByDefault?: boolean;\n renderDiscriminatorSwitch?: (opts: FieldProps) => JSX.Element;\n}\n@observer\nexport class Field extends React.Component {\n toggle = () => {\n if (this.props.field.expanded === undefined && this.props.expandByDefault) {\n this.props.field.expanded = false;\n } else {\n this.props.field.toggle();\n }\n };\n handleKeyPress = e => {\n if (e.key === 'Enter') {\n e.preventDefault();\n this.toggle();\n }\n };\n\n render() {\n const {\n className,\n field,\n isLast,\n expandByDefault\n } = this.props;\n const {\n name,\n deprecated,\n required,\n kind\n } = field;\n const withSubSchema = !field.schema.isPrimitive && !field.schema.isCircular;\n const expanded = field.expanded === undefined ? expandByDefault : field.expanded;\n const paramName = withSubSchema ? \n \n \n {required && required }\n : \n \n {name}\n {required && required }\n ;\n return <>\n \n {paramName}\n \n \n \n \n {expanded && withSubSchema && \n \n \n \n \n \n }\n ;\n }\n\n}","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { DropdownOption, StyledDropdown } from '../../common-elements/dropdown';\nimport { SchemaModel } from '../../services/models';\n@observer\nexport class DiscriminatorDropdown extends React.Component<{\n parent: SchemaModel;\n enumValues: string[];\n}> {\n sortOptions(options: DropdownOption[], enumValues: string[]): void {\n if (enumValues.length === 0) {\n return;\n }\n\n const enumOrder = {};\n enumValues.forEach((enumItem, idx) => {\n enumOrder[enumItem] = idx;\n });\n options.sort((a, b) => {\n return enumOrder[a.value] > enumOrder[b.value] ? 1 : -1;\n });\n }\n\n render() {\n const {\n parent,\n enumValues\n } = this.props;\n\n if (parent.oneOf === undefined) {\n return null;\n }\n\n const options = parent.oneOf.map((subSchema, idx) => {\n return {\n value: subSchema.title,\n idx\n };\n });\n const activeValue = options[parent.activeOneOf].value;\n this.sortOptions(options, enumValues);\n return ;\n }\n\n changeActiveChild = (option: DropdownOption) => {\n this.props.parent.activateOneOf(option.idx);\n };\n}","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { SchemaModel } from '../../services/models';\nimport { PropertiesTable, PropertiesTableCaption } from '../../common-elements/fields-layout';\nimport { Field } from '../Fields/Field';\nimport { DiscriminatorDropdown } from './DiscriminatorDropdown';\nimport { SchemaProps } from './Schema';\nimport { mapWithLast } from '../../utils';\nimport { OptionsContext } from '../OptionsProvider';\nexport interface ObjectSchemaProps extends SchemaProps {\n discriminator?: {\n fieldName: string;\n parentSchema: SchemaModel;\n };\n}\n@observer\nexport class ObjectSchema extends React.Component {\n static contextType = OptionsContext;\n\n get parentSchema() {\n return this.props.discriminator!.parentSchema;\n }\n\n render() {\n const {\n schema: {\n fields = []\n },\n showTitle,\n discriminator\n } = this.props;\n const needFilter = this.props.skipReadOnly || this.props.skipWriteOnly;\n const filteredFields = needFilter ? fields.filter(item => {\n return !(this.props.skipReadOnly && item.schema.readOnly || this.props.skipWriteOnly && item.schema.writeOnly);\n }) : fields;\n const expandByDefault = this.context.expandSingleSchemaField && filteredFields.length === 1;\n return \n {showTitle && {this.props.schema.title}}\n \n {mapWithLast(filteredFields, (field, isLast) => {\n return ) || undefined} className={field.expanded ? 'expanded' : undefined} showExamples={false} skipReadOnly={this.props.skipReadOnly} skipWriteOnly={this.props.skipWriteOnly} showTitle={this.props.showTitle} />;\n })}\n \n ;\n }\n\n}","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { OneOfButton as StyledOneOfButton, OneOfLabel, OneOfList } from '../../common-elements/schema';\nimport { SchemaModel } from '../../services/models';\nimport { Schema, SchemaProps } from './Schema';\nexport interface OneOfButtonProps {\n subSchema: SchemaModel;\n idx: number;\n schema: SchemaModel;\n}\n@observer\nexport class OneOfButton extends React.Component {\n render() {\n const {\n idx,\n schema,\n subSchema\n } = this.props;\n return \n {subSchema.title || subSchema.typePrefix + subSchema.displayType}\n ;\n }\n\n activateOneOf = () => {\n this.props.schema.activateOneOf(this.props.idx);\n };\n}\n@observer\nexport class OneOfSchema extends React.Component {\n render() {\n const {\n schema: {\n oneOf\n },\n schema\n } = this.props;\n\n if (oneOf === undefined) {\n return null;\n }\n\n return
    \n {schema.oneOfType} \n \n {oneOf.map((subSchema, idx) => )}\n \n \n
    ;\n }\n\n}","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { RecursiveLabel, TypeName, TypeTitle } from '../../common-elements/fields';\nimport { FieldDetails } from '../Fields/FieldDetails';\nimport { FieldModel, SchemaModel } from '../../services/models';\nimport { ArraySchema } from './ArraySchema';\nimport { ObjectSchema } from './ObjectSchema';\nimport { OneOfSchema } from './OneOfSchema';\nimport { l } from '../../services/Labels';\nexport interface SchemaOptions {\n showTitle?: boolean;\n skipReadOnly?: boolean;\n skipWriteOnly?: boolean;\n}\nexport interface SchemaProps extends SchemaOptions {\n schema: SchemaModel;\n}\n@observer\nexport class Schema extends React.Component> {\n render() {\n const {\n schema\n } = this.props;\n\n if (!schema) {\n return Schema not provided ;\n }\n\n const {\n type,\n oneOf,\n discriminatorProp,\n isCircular\n } = schema;\n\n if (isCircular) {\n return
    \n {schema.displayType}\n {schema.title && {schema.title} }\n {l('recursive')} \n
    ;\n }\n\n if (discriminatorProp !== undefined) {\n if (!oneOf || !oneOf.length) {\n console.warn(`Looks like you are using discriminator wrong: you don't have any definition inherited from the ${schema.title}`);\n return null;\n }\n\n return ;\n }\n\n if (oneOf !== undefined) {\n return ;\n }\n\n switch (type) {\n case 'object':\n if (schema.fields?.length) {\n return ;\n }\n\n break;\n\n case 'array':\n return ;\n } // TODO: maybe adjust FieldDetails to accept schema\n\n\n const field = (({\n schema,\n name: '',\n required: false,\n description: schema.description,\n externalDocs: schema.externalDocs,\n deprecated: false,\n toggle: () => null,\n expanded: false\n } as any) as FieldModel); // cast needed for hot-loader to not fail\n\n return
    \n \n
    ;\n }\n\n}","export * from './Schema';\nexport * from './ObjectSchema';\nexport * from './OneOfSchema';\nexport * from './ArraySchema';\nexport * from './DiscriminatorDropdown';","import * as React from 'react';\nimport { DarkRightPanel, MiddlePanel, MimeLabel, Row, Section } from '../../common-elements';\nimport { MediaTypeModel, OpenAPIParser, RedocNormalizedOptions } from '../../services';\nimport styled from '../../styled-components';\nimport { OpenAPIMediaType } from '../../types';\nimport { DropdownOrLabel } from '../DropdownOrLabel/DropdownOrLabel';\nimport { MediaTypeSamples } from '../PayloadSamples/MediaTypeSamples';\nimport { InvertedSimpleDropdown } from '../PayloadSamples/styled.elements';\nimport { Schema } from '../Schema';\nexport interface ObjectDescriptionProps {\n schemaRef: string;\n exampleRef?: string;\n showReadOnly?: boolean;\n showWriteOnly?: boolean;\n parser: OpenAPIParser;\n options: RedocNormalizedOptions;\n}\nexport class SchemaDefinition extends React.PureComponent {\n private static getMediaType(schemaRef: string, exampleRef?: string): OpenAPIMediaType {\n if (!schemaRef) {\n return {};\n }\n\n const info: OpenAPIMediaType = {\n schema: {\n $ref: schemaRef\n }\n };\n\n if (exampleRef) {\n info.examples = {\n example: {\n $ref: exampleRef\n }\n };\n }\n\n return info;\n }\n\n private _mediaModel: MediaTypeModel;\n\n private get mediaModel() {\n const {\n parser,\n schemaRef,\n exampleRef,\n options\n } = this.props;\n\n if (!this._mediaModel) {\n this._mediaModel = new MediaTypeModel(parser, 'json', false, SchemaDefinition.getMediaType(schemaRef, exampleRef), options);\n }\n\n return this._mediaModel;\n }\n\n render() {\n const {\n showReadOnly = true,\n showWriteOnly = false\n } = this.props;\n return
    \n \n \n \n \n \n \n \n \n \n \n
    ;\n }\n\n private renderDropdown = props => {\n return ;\n };\n}\nconst MediaSamplesWrap = styled.div`\n background: ${({\n theme\n}) => theme.codeBlock.backgroundColor};\n & > div,\n & > pre {\n padding: ${props => props.theme.spacing.unit * 4}px;\n margin: 0;\n }\n\n & > div > pre {\n padding: 0;\n }\n`;","import * as React from 'react';\nimport { SecuritySchemesModel } from '../../services/models';\nimport { H2, MiddlePanel, Row, Section, ShareLink } from '../../common-elements';\nimport { OpenAPISecurityScheme } from '../../types';\nimport { titleize } from '../../utils/helpers';\nimport { Markdown } from '../Markdown/Markdown';\nimport { StyledMarkdownBlock } from '../Markdown/styled.elements';\nconst AUTH_TYPES = {\n oauth2: 'OAuth2',\n apiKey: 'API Key',\n http: 'HTTP',\n openIdConnect: 'OpenID Connect'\n};\nexport interface OAuthFlowProps {\n type: string;\n flow: OpenAPISecurityScheme['flows'][keyof OpenAPISecurityScheme['flows']];\n}\nexport class OAuthFlow extends React.PureComponent {\n render() {\n const {\n type,\n flow\n } = this.props;\n return \n {type} OAuth Flow \n \n {type === 'implicit' || type === 'authorizationCode' ?
    \n Authorization URL: \n {(flow as any).authorizationUrl}\n
    : null}\n {type === 'password' || type === 'clientCredentials' || type === 'authorizationCode' ?
    \n Token URL: \n {(flow as any).tokenUrl}\n
    : null}\n {flow!.refreshUrl &&
    \n Refresh URL: \n {flow!.refreshUrl}\n
    }\n
    \n Scopes: \n
    \n
      \n {Object.keys(flow!.scopes || {}).map(scope =>
    • \n {scope} - \n
    • )}\n
    \n \n ;\n }\n\n}\nexport interface SecurityDefsProps {\n securitySchemes: SecuritySchemesModel;\n}\nexport class SecurityDefs extends React.PureComponent {\n render() {\n return this.props.securitySchemes.schemes.map(scheme =>
    \n \n \n

    \n \n {scheme.id}\n

    \n \n \n \n \n \n \n \n \n {scheme.apiKey ? \n \n \n : scheme.http ? [\n \n \n , scheme.http.scheme === 'bearer' && scheme.http.bearerFormat && \n \n \n ] : scheme.openId ? \n \n \n : scheme.flows ? Object.keys(scheme.flows).map(type => ) : null}\n \n
    Security Scheme Type {AUTH_TYPES[scheme.type] || scheme.type}
    {titleize(scheme.apiKey.in || '')} parameter name: {scheme.apiKey.name}
    HTTP Authorization Scheme {scheme.http.scheme}
    Bearer format "{scheme.http.bearerFormat}"
    Connect URL \n \n {scheme.openId.connectUrl}\n \n
    \n
    \n
    \n
    \n
    );\n }\n\n}","import { Lambda, observe } from 'mobx';\nimport { OpenAPISpec } from '../types';\nimport { loadAndBundleSpec } from '../utils/loadAndBundleSpec';\nimport { history } from './HistoryService';\nimport { MarkerService } from './MarkerService';\nimport { MenuStore } from './MenuStore';\nimport { SpecStore } from './models';\nimport { RedocNormalizedOptions, RedocRawOptions } from './RedocNormalizedOptions';\nimport { ScrollService } from './ScrollService';\nimport { SearchStore } from './SearchStore';\nimport { SchemaDefinition } from '../components/SchemaDefinition/SchemaDefinition';\nimport { SecurityDefs } from '../components/SecuritySchemes/SecuritySchemes';\nimport { SCHEMA_DEFINITION_JSX_NAME, SECURITY_DEFINITIONS_COMPONENT_NAME, SECURITY_DEFINITIONS_JSX_NAME } from '../utils/openapi';\nimport { IS_BROWSER } from '../utils';\nexport interface StoreState {\n menu: {\n activeItemIdx: number;\n };\n spec: {\n url?: string;\n data: any;\n };\n searchIndex: any;\n options: RedocRawOptions;\n}\nexport async function createStore(spec: object, specUrl: string | undefined, options: RedocRawOptions = {}) {\n const resolvedSpec = await loadAndBundleSpec(spec || specUrl);\n return new AppStore(resolvedSpec, specUrl, options);\n}\nexport class AppStore {\n /**\n * deserialize store\n * **SUPER HACKY AND NOT OPTIMAL IMPLEMENTATION**\n */\n // TODO:\n static fromJS(state: StoreState): AppStore {\n const inst = new AppStore(state.spec.data, state.spec.url, state.options, false);\n inst.menu.activeItemIdx = state.menu.activeItemIdx || 0;\n inst.menu.activate(inst.menu.flatItems[inst.menu.activeItemIdx]);\n\n if (!inst.options.disableSearch) {\n inst.search!.load(state.searchIndex);\n }\n\n return inst;\n }\n\n menu: MenuStore;\n spec: SpecStore;\n rawOptions: RedocRawOptions;\n options: RedocNormalizedOptions;\n search?: SearchStore;\n marker = new MarkerService();\n private scroll: ScrollService;\n private disposer: Lambda | null = null;\n\n constructor(spec: OpenAPISpec, specUrl?: string, options: RedocRawOptions = {}, createSearchIndex: boolean = true) {\n this.rawOptions = options;\n this.options = new RedocNormalizedOptions(options, DEFAULT_OPTIONS);\n this.scroll = new ScrollService(this.options); // update position statically based on hash (in case of SSR)\n\n MenuStore.updateOnHistory(history.currentId, this.scroll);\n this.spec = new SpecStore(spec, specUrl, this.options);\n this.menu = new MenuStore(this.spec, this.scroll, history);\n\n if (!this.options.disableSearch) {\n this.search = new SearchStore();\n\n if (createSearchIndex) {\n this.search.indexItems(this.menu.items);\n }\n\n this.disposer = observe(this.menu, 'activeItemIdx', change => {\n this.updateMarkOnMenu((change.newValue as number));\n });\n }\n }\n\n onDidMount() {\n this.menu.updateOnHistory();\n this.updateMarkOnMenu(this.menu.activeItemIdx);\n }\n\n dispose() {\n this.scroll.dispose();\n this.menu.dispose();\n\n if (this.search) {\n this.search.dispose();\n }\n\n if (this.disposer != null) {\n this.disposer();\n }\n }\n /**\n * serializes store\n * **SUPER HACKY AND NOT OPTIMAL IMPLEMENTATION**\n */\n // TODO: improve\n\n\n async toJS(): Promise {\n return {\n menu: {\n activeItemIdx: this.menu.activeItemIdx\n },\n spec: {\n url: this.spec.parser.specUrl,\n data: this.spec.parser.spec\n },\n searchIndex: this.search ? await this.search.toJS() : undefined,\n options: this.rawOptions\n };\n }\n\n private updateMarkOnMenu(idx: number) {\n const start = Math.max(0, idx);\n const end = Math.min(this.menu.flatItems.length, start + 5);\n const elements: Element[] = [];\n\n for (let i = start; i < end; i++) {\n const elem = this.menu.getElementAt(i);\n\n if (!elem) {\n continue;\n }\n\n elements.push(elem);\n }\n\n if (idx === -1 && IS_BROWSER) {\n const $description = document.querySelector('[data-role=\"redoc-description\"]');\n if ($description) elements.push($description);\n }\n\n this.marker.addOnly(elements);\n this.marker.mark();\n }\n\n}\nconst DEFAULT_OPTIONS: RedocRawOptions = {\n allowedMdComponents: {\n [SECURITY_DEFINITIONS_COMPONENT_NAME]: {\n component: SecurityDefs,\n propsSelector: (store: AppStore) => ({\n securitySchemes: store.spec.securitySchemes\n })\n },\n [SECURITY_DEFINITIONS_JSX_NAME]: {\n component: SecurityDefs,\n propsSelector: (store: AppStore) => ({\n securitySchemes: store.spec.securitySchemes\n })\n },\n [SCHEMA_DEFINITION_JSX_NAME]: {\n component: SchemaDefinition,\n propsSelector: (store: AppStore) => ({\n parser: store.spec.parser,\n options: store.options\n })\n }\n }\n};","export * from './AppStore';\nexport * from './OpenAPIParser';\nexport * from './MarkdownRenderer';\nexport * from './MenuStore';\nexport * from './ScrollService';\nexport * from './SpecStore';\nexport * from './ClipboardService';\nexport * from './HistoryService';\nexport * from './models';\nexport * from './RedocNormalizedOptions';\nexport * from './MenuBuilder';\nexport * from './SearchStore';\nexport * from './MarkerService';","import { H1, MiddlePanel } from '../../common-elements';\nimport styled, { extensionsHook } from '../../styled-components';\nconst delimiterWidth = 15;\nexport const ApiInfoWrap = MiddlePanel;\nexport const ApiHeader = styled(H1)`\n margin-top: 0;\n margin-bottom: 0.5em;\n\n ${extensionsHook('ApiHeader')};\n`;\nexport const DownloadButton = styled.a`\n border: 1px solid ${props => props.theme.colors.primary.main};\n color: ${props => props.theme.colors.primary.main};\n font-weight: normal;\n margin-left: 0.5em;\n padding: 4px 8px 4px;\n display: inline-block;\n text-decoration: none;\n cursor: pointer;\n\n ${extensionsHook('DownloadButton')};\n`;\nexport const InfoSpan = styled.span`\n &::before {\n content: '|';\n display: inline-block;\n opacity: 0.5;\n width: ${delimiterWidth}px;\n text-align: center;\n }\n\n &:last-child::after {\n display: none;\n }\n`;\nexport const InfoSpanBoxWrap = styled.div`\n overflow: hidden;\n`;\nexport const InfoSpanBox = styled.div`\n display: flex;\n flex-wrap: wrap;\n // hide separator on new lines: idea from https://stackoverflow.com/a/31732902/1749888\n margin-left: -${delimiterWidth}px;\n`;","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { AppStore } from '../../services/AppStore';\nimport { MiddlePanel, Row, Section } from '../../common-elements/';\nimport { ExternalDocumentation } from '../ExternalDocumentation/ExternalDocumentation';\nimport { Markdown } from '../Markdown/Markdown';\nimport { StyledMarkdownBlock } from '../Markdown/styled.elements';\nimport { ApiHeader, DownloadButton, InfoSpan, InfoSpanBox, InfoSpanBoxWrap } from './styled.elements';\nexport interface ApiInfoProps {\n store: AppStore;\n}\n@observer\nexport class ApiInfo extends React.Component {\n handleDownloadClick = e => {\n if (!e.target.href) {\n e.target.href = this.props.store.spec.info.downloadLink;\n }\n };\n\n render() {\n const {\n store\n } = this.props;\n const {\n info,\n externalDocs\n } = store.spec;\n const hideDownloadButton = store.options.hideDownloadButton;\n const downloadFilename = info.downloadFileName;\n const downloadLink = info.downloadLink;\n const license = info.license && \n License: {info.license.name}\n || null;\n const website = info.contact && info.contact.url && \n URL: {info.contact.url}\n || null;\n const email = info.contact && info.contact.email && \n {info.contact.name || 'E-mail'}:{' '}\n {info.contact.email}\n || null;\n const terms = info.termsOfService && \n Terms of Service\n || null;\n const version = info.version && ({info.version}) || null;\n return
    \n \n \n \n {info.title} {version}\n \n {!hideDownloadButton &&

    \n Download OpenAPI specification:\n \n Download\n \n

    }\n \n {(info.license || info.contact || info.termsOfService) && \n \n {email} {website} {license} {terms}\n \n || null}\n \n \n {externalDocs && }\n
    \n
    \n
    ;\n }\n\n}","export { ApiInfo } from './ApiInfo';","import * as React from 'react';\nimport styled from '../../styled-components';\nexport const LogoImgEl = styled.img`\n max-height: ${props => props.theme.logo.maxHeight};\n max-width: ${props => props.theme.logo.maxWidth};\n padding: ${props => props.theme.logo.gutter};\n width: 100%;\n display: block;\n`;\nexport const LogoWrap = styled.div`\n text-align: center;\n`;\nconst Link = styled.a`\n display: inline-block;\n`;\nexport const LinkWrap = url => Component => {Component};","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { OpenAPIInfo } from '../../types';\nimport { LinkWrap, LogoImgEl, LogoWrap } from './styled.elements';\n@observer\nexport class ApiLogo extends React.Component<{\n info: OpenAPIInfo;\n}> {\n render() {\n const {\n info\n } = this.props;\n const logoInfo = info['x-logo'];\n\n if (!logoInfo || !logoInfo.url) {\n return null;\n }\n\n const logoHref = logoInfo.href || info.contact && info.contact.url; // Use the english word logo if no alt text is provided\n\n const altText = logoInfo.altText ? logoInfo.altText : 'logo';\n const logo = ;\n return \n {logoHref ? LinkWrap(logoHref)(logo) : logo}\n ;\n }\n\n}","import * as React from 'react';\nimport { AppStore, MarkdownRenderer, RedocNormalizedOptions } from '../../services';\nimport { BaseMarkdownProps } from './Markdown';\nimport { SanitizedMarkdownHTML } from './SanitizedMdBlock';\nimport { OptionsConsumer } from '../OptionsProvider';\nimport { StoreConsumer } from '../StoreBuilder';\nexport interface AdvancedMarkdownProps extends BaseMarkdownProps {\n htmlWrap?: (part: JSX.Element) => JSX.Element;\n}\nexport class AdvancedMarkdown extends React.Component {\n render() {\n return \n {options => {store => this.renderWithOptionsAndStore(options, store)}}\n ;\n }\n\n renderWithOptionsAndStore(options: RedocNormalizedOptions, store?: AppStore) {\n const {\n source,\n htmlWrap = i => i\n } = this.props;\n\n if (!store) {\n throw new Error('When using components in markdown, store prop must be provided');\n }\n\n const renderer = new MarkdownRenderer(options);\n const parts = renderer.renderMdWithComponents(source);\n\n if (!parts.length) {\n return null;\n }\n\n return parts.map((part, idx) => {\n if (typeof part === 'string') {\n return React.cloneElement(htmlWrap(), {\n key: idx\n });\n }\n\n return ;\n });\n }\n\n}","import * as classnames from 'classnames';\nimport { darken } from 'polished';\nimport { deprecatedCss, ShelfIcon } from '../../common-elements';\nimport styled, { css, ResolvedThemeInterface } from '../../styled-components';\nexport const OperationBadge = styled.span.attrs((props: {\n type: string;\n}) => ({\n className: `operation-type ${props.type}`\n}))<{\n type: string;\n}>`\n width: 9ex;\n display: inline-block;\n height: ${props => props.theme.typography.code.fontSize};\n line-height: ${props => props.theme.typography.code.fontSize};\n background-color: #333;\n border-radius: 3px;\n background-repeat: no-repeat;\n background-position: 6px 4px;\n font-size: 7px;\n font-family: Verdana, sans-serif; // web-safe\n color: white;\n text-transform: uppercase;\n text-align: center;\n font-weight: bold;\n vertical-align: middle;\n margin-right: 6px;\n margin-top: 2px;\n\n &.get {\n background-color: ${props => props.theme.colors.http.get};\n }\n\n &.post {\n background-color: ${props => props.theme.colors.http.post};\n }\n\n &.put {\n background-color: ${props => props.theme.colors.http.put};\n }\n\n &.options {\n background-color: ${props => props.theme.colors.http.options};\n }\n\n &.patch {\n background-color: ${props => props.theme.colors.http.patch};\n }\n\n &.delete {\n background-color: ${props => props.theme.colors.http.delete};\n }\n\n &.basic {\n background-color: ${props => props.theme.colors.http.basic};\n }\n\n &.link {\n background-color: ${props => props.theme.colors.http.link};\n }\n\n &.head {\n background-color: ${props => props.theme.colors.http.head};\n }\n\n &.hook {\n background-color: ${props => props.theme.colors.primary.main};\n }\n`;\n\nfunction menuItemActiveBg(depth, {\n theme\n}: {\n theme: ResolvedThemeInterface;\n}): string {\n if (depth > 1) {\n return darken(0.1, theme.sidebar.backgroundColor);\n } else if (depth === 1) {\n return darken(0.05, theme.sidebar.backgroundColor);\n } else {\n return '';\n }\n}\n\nexport const MenuItemUl = styled.ul<{\n expanded: boolean;\n}>`\n margin: 0;\n padding: 0;\n\n & & {\n font-size: 0.929em;\n }\n\n ${props => props.expanded ? '' : 'display: none;'};\n`;\nexport const MenuItemLi = styled.li<{\n depth: number;\n}>`\n list-style: none inside none;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: 0;\n ${props => props.depth === 0 ? 'margin-top: 15px' : ''};\n`;\nexport const menuItemDepth = {\n 0: css`\n opacity: 0.7;\n text-transform: ${({\n theme\n }) => theme.sidebar.groupItems.textTransform};\n font-size: 0.8em;\n padding-bottom: 0;\n cursor: default;\n color: ${props => props.theme.sidebar.textColor};\n `,\n 1: css`\n font-size: 0.929em;\n text-transform: ${({\n theme\n }) => theme.sidebar.level1Items.textTransform};\n &:hover {\n color: ${props => props.theme.sidebar.activeTextColor};\n }\n `,\n 2: css`\n color: ${props => props.theme.sidebar.textColor};\n `\n};\nexport interface MenuItemLabelType {\n depth: number;\n active: boolean;\n deprecated?: boolean;\n type?: string;\n}\nexport const MenuItemLabel = styled.label.attrs((props: MenuItemLabelType) => ({\n role: 'menuitem',\n className: classnames('-depth' + props.depth, {\n active: props.active\n })\n}))`\n cursor: pointer;\n color: ${props => props.active ? props.theme.sidebar.activeTextColor : props.theme.sidebar.textColor};\n margin: 0;\n padding: 12.5px ${props => props.theme.spacing.unit * 4}px;\n ${({\n depth,\n type,\n theme\n}) => type === 'section' && depth > 1 && 'padding-left: ' + theme.spacing.unit * 8 + 'px;' || ''}\n display: flex;\n justify-content: space-between;\n font-family: ${props => props.theme.typography.headings.fontFamily};\n ${props => menuItemDepth[props.depth]};\n background-color: ${props => props.active ? menuItemActiveBg(props.depth, props) : ''};\n\n ${props => props.deprecated && deprecatedCss || ''};\n\n &:hover {\n background-color: ${props => menuItemActiveBg(props.depth, props)};\n }\n\n ${ShelfIcon} {\n height: ${({\n theme\n}) => theme.sidebar.arrow.size};\n width: ${({\n theme\n}) => theme.sidebar.arrow.size};\n polygon {\n fill: ${({\n theme\n}) => theme.sidebar.arrow.color};\n }\n }\n`;\nexport const MenuItemTitle = styled.span<{\n width?: string;\n}>`\n display: inline-block;\n vertical-align: middle;\n width: ${props => props.width ? props.width : 'auto'};\n overflow: hidden;\n text-overflow: ellipsis;\n`;\nexport const RedocAttribution = styled.div`\n ${({\n theme\n}) => `\n font-size: 0.8em;\n margin-top: ${theme.spacing.unit * 2}px;\n padding: 0 ${theme.spacing.unit * 4}px;\n text-align: left;\n\n opacity: 0.7;\n\n a,\n a:visited,\n a:hover {\n color: ${theme.sidebar.textColor} !important;\n border-top: 1px solid ${darken(0.1, theme.sidebar.backgroundColor)};\n padding: ${theme.spacing.unit}px 0;\n display: block;\n }\n`};\n`;","import * as React from 'react';\nimport { darken } from 'polished';\nimport { ShelfIcon } from '../../common-elements';\nimport { OperationBadge } from '../SideMenu/styled.elements';\nimport { shortenHTTPVerb } from '../../utils/openapi';\nimport styled from '../../styled-components';\nimport { Badge } from '../../common-elements/';\nimport { l } from '../../services/Labels';\nexport interface CallbackTitleProps {\n name: string;\n opened?: boolean;\n httpVerb: string;\n deprecated?: boolean;\n className?: string;\n onClick?: () => void;\n}\nexport class CallbackTitle extends React.PureComponent {\n render() {\n const {\n name,\n opened,\n className,\n onClick,\n httpVerb,\n deprecated\n } = this.props;\n return \n {shortenHTTPVerb(httpVerb)}\n \n {name}\n {deprecated ? {l('deprecated')} : null}\n ;\n }\n\n}\nconst CallbackTitleWrapper = styled.button`\n border: 0;\n width: 100%;\n text-align: left;\n & > * {\n vertical-align: middle;\n }\n\n ${ShelfIcon} {\n polygon {\n fill: ${({\n theme\n}) => darken(theme.colors.tonalOffset, theme.colors.gray[100])};\n }\n }\n`;\nconst CallbackName = styled.span<{\n deprecated?: boolean;\n}>`\n text-decoration: ${props => props.deprecated ? 'line-through' : 'none'};\n margin-right: 8px;\n`;\nconst OperationBadgeStyled = styled(OperationBadge)`\n margin: 0px 5px 0px 0px;\n`;","import styled from '../../styled-components';\nimport { CallbackTitle } from './CallbackTitle';\nimport { darken } from 'polished';\nexport const StyledCallbackTitle = styled(CallbackTitle)`\n padding: 10px;\n border-radius: 2px;\n margin-bottom: 4px;\n line-height: 1.5em;\n background-color: ${({\n theme\n}) => theme.colors.gray[100]};\n cursor: pointer;\n outline-color: ${({\n theme\n}) => darken(theme.colors.tonalOffset, theme.colors.gray[100])};\n`;\nexport const CallbackDetailsWrap = styled.div`\n padding: 10px 25px;\n background-color: ${({\n theme\n}) => theme.colors.gray[50]};\n margin-bottom: 5px;\n margin-top: 5px;\n`;","import * as React from 'react';\nimport { ClipboardService } from '../../services';\nexport class SelectOnClick extends React.PureComponent {\n private child: HTMLDivElement | null;\n selectElement = () => {\n ClipboardService.selectElement(this.child);\n };\n\n render() {\n const {\n children\n } = this.props;\n return
    this.child = el} onClick={this.selectElement} onFocus={this.selectElement} tabIndex={0} role=\"button\">\n {children}\n
    ;\n }\n\n}","import styled from '../../styled-components';\nexport const OperationEndpointWrap = styled.div`\n cursor: pointer;\n position: relative;\n margin-bottom: 5px;\n`;\nexport const ServerRelativeURL = styled.span`\n font-family: ${props => props.theme.typography.code.fontFamily};\n margin-left: 10px;\n flex: 1;\n overflow-x: hidden;\n text-overflow: ellipsis;\n`;\nexport const EndpointInfo = styled.button<{\n expanded?: boolean;\n inverted?: boolean;\n}>`\n outline: 0;\n color: inherit;\n width: 100%;\n text-align: left;\n cursor: pointer;\n padding: 10px 30px 10px ${props => props.inverted ? '10px' : '20px'};\n border-radius: ${props => props.inverted ? '0' : '4px 4px 0 0'};\n background-color: ${props => props.inverted ? 'transparent' : props.theme.codeBlock.backgroundColor};\n display: flex;\n white-space: nowrap;\n align-items: center;\n border: ${props => props.inverted ? '0' : '1px solid transparent'};\n border-bottom: ${props => props.inverted ? '1px solid #ccc' : '0'};\n transition: border-color 0.25s ease;\n\n ${props => props.expanded && !props.inverted && `border-color: ${props.theme.colors.border.dark};` || ''}\n\n .${ServerRelativeURL} {\n color: ${props => props.inverted ? props.theme.colors.text.primary : '#ffffff'}\n }\n &:focus {\n box-shadow: inset 0 2px 2px rgba(0, 0, 0, 0.45), 0 2px 0 rgba(128, 128, 128, 0.25);\n }\n`;\nexport const HttpVerb = styled.span.attrs((props: {\n type: string;\n compact?: boolean;\n}) => ({\n className: `http-verb ${props.type}`\n}))<{\n type: string;\n compact?: boolean;\n}>`\n font-size: ${props => props.compact ? '0.8em' : '0.929em'};\n line-height: ${props => props.compact ? '18px' : '20px'};\n background-color: ${props => props.theme.colors.http[props.type] || '#999999'};\n color: #ffffff;\n padding: ${props => props.compact ? '2px 8px' : '3px 10px'};\n text-transform: uppercase;\n font-family: ${props => props.theme.typography.headings.fontFamily};\n margin: 0;\n`;\nexport const ServersOverlay = styled.div<{\n expanded: boolean;\n}>`\n position: absolute;\n width: 100%;\n z-index: 100;\n background: #fafafa;\n color: #263238;\n box-sizing: border-box;\n box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.33);\n overflow: hidden;\n border-bottom-left-radius: 4px;\n border-bottom-right-radius: 4px;\n transition: all 0.25s ease;\n visibility: hidden;\n ${props => props.expanded ? 'visibility: visible;' : 'transform: translateY(-50%) scaleY(0);'}\n`;\nexport const ServerItem = styled.div`\n padding: 10px;\n`;\nexport const ServerUrl = styled.div`\n padding: 5px;\n border: 1px solid #ccc;\n background: #fff;\n word-break: break-all;\n color: ${props => props.theme.colors.primary.main};\n > span {\n color: ${props => props.theme.colors.text.primary};\n }\n`;","import * as React from 'react';\nimport { ShelfIcon } from '../../common-elements';\nimport { OperationModel } from '../../services';\nimport { Markdown } from '../Markdown/Markdown';\nimport { OptionsContext } from '../OptionsProvider';\nimport { SelectOnClick } from '../SelectOnClick/SelectOnClick';\nimport { expandDefaultServerVariables, getBasePath } from '../../utils';\nimport { EndpointInfo, HttpVerb, OperationEndpointWrap, ServerItem, ServerRelativeURL, ServersOverlay, ServerUrl } from './styled.elements';\nexport interface EndpointProps {\n operation: OperationModel;\n hideHostname?: boolean;\n inverted?: boolean;\n compact?: boolean;\n}\nexport interface EndpointState {\n expanded: boolean;\n}\nexport class Endpoint extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n expanded: false\n };\n }\n\n toggle = () => {\n this.setState({\n expanded: !this.state.expanded\n });\n };\n\n render() {\n const {\n operation,\n inverted,\n hideHostname\n } = this.props;\n const {\n expanded\n } = this.state; // TODO: highlight server variables, e.g. https://{user}.test.com\n\n return \n {options => \n \n \n {operation.httpVerb}\n \n {operation.path}\n \n \n \n {operation.servers.map(server => {\n const normalizedUrl = options.expandDefaultServerVariables ? expandDefaultServerVariables(server.url, server.variables) : server.url;\n const basePath = getBasePath(normalizedUrl);\n return \n \n \n \n \n {hideHostname || options.hideHostname ? basePath === '/' ? '' : basePath : normalizedUrl}\n \n {operation.path}\n \n \n ;\n })}\n \n }\n ;\n }\n\n}","import * as React from 'react';\nimport { UnderlinedHeader } from '../../common-elements';\nimport { PropertiesTable } from '../../common-elements/fields-layout';\nimport { FieldModel } from '../../services/models';\nimport { Field } from '../Fields/Field';\nimport { mapWithLast } from '../../utils';\nexport interface ParametersGroupProps {\n place: string;\n parameters: FieldModel[];\n}\nexport class ParametersGroup extends React.PureComponent {\n render() {\n const {\n place,\n parameters\n } = this.props;\n\n if (!parameters || !parameters.length) {\n return null;\n }\n\n return
    \n {place} Parameters\n \n \n {mapWithLast(parameters, (field, isLast) => )}\n \n \n
    ;\n }\n\n}","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { DropdownProps } from '../../common-elements/dropdown';\nimport { MediaContentModel, MediaTypeModel, SchemaModel } from '../../services/models';\nimport { DropdownLabel, DropdownWrapper } from '../PayloadSamples/styled.elements';\nexport interface MediaTypeChildProps {\n schema: SchemaModel;\n mime?: string;\n}\nexport interface MediaTypesSwitchProps {\n content?: MediaContentModel;\n withLabel?: boolean;\n renderDropdown: (props: DropdownProps) => JSX.Element;\n children: (activeMime: MediaTypeModel) => JSX.Element;\n}\n@observer\nexport class MediaTypesSwitch extends React.Component {\n switchMedia = ({\n idx\n }) => {\n if (this.props.content) {\n this.props.content.activate(idx);\n }\n };\n\n render() {\n const {\n content\n } = this.props;\n\n if (!content || !content.mediaTypes || !content.mediaTypes.length) {\n return null;\n }\n\n const activeMimeIdx = content.activeMimeIdx;\n const options = content.mediaTypes.map((mime, idx) => {\n return {\n value: mime.name,\n idx\n };\n });\n\n const Wrapper = ({\n children\n }) => this.props.withLabel ? \n Content type\n {children}\n : children;\n\n return <>\n \n {this.props.renderDropdown({\n value: options[activeMimeIdx].value,\n options,\n onChange: this.switchMedia,\n ariaLabel: 'Content type'\n })}\n \n {this.props.children(content.active)}\n ;\n }\n\n}","import * as React from 'react';\nimport { DropdownOrLabel } from '../DropdownOrLabel/DropdownOrLabel';\nimport { ParametersGroup } from './ParametersGroup';\nimport { UnderlinedHeader } from '../../common-elements';\nimport { MediaContentModel } from '../../services';\nimport { FieldModel, RequestBodyModel } from '../../services/models';\nimport { MediaTypesSwitch } from '../MediaTypeSwitch/MediaTypesSwitch';\nimport { Schema } from '../Schema';\nimport { Markdown } from '../Markdown/Markdown';\n\nfunction safePush(obj, prop, item) {\n if (!obj[prop]) {\n obj[prop] = [];\n }\n\n obj[prop].push(item);\n}\n\nexport interface ParametersProps {\n parameters?: FieldModel[];\n body?: RequestBodyModel;\n}\nconst PARAM_PLACES = ['path', 'query', 'cookie', 'header'];\nexport class Parameters extends React.PureComponent {\n orderParams(params: FieldModel[]): Record {\n const res = {};\n params.forEach(param => {\n safePush(res, param.in, param);\n });\n return res;\n }\n\n render() {\n const {\n body,\n parameters = []\n } = this.props;\n\n if (body === undefined && parameters === undefined) {\n return null;\n }\n\n const paramsMap = this.orderParams(parameters);\n const paramsPlaces = parameters.length > 0 ? PARAM_PLACES : [];\n const bodyContent = body && body.content;\n const bodyDescription = body && body.description;\n return <>\n {paramsPlaces.map(place => )}\n {bodyContent && }\n ;\n }\n\n}\n\nfunction DropdownWithinHeader(props) {\n return \n Request Body schema: \n ;\n}\n\nexport function BodyContent(props: {\n content: MediaContentModel;\n description?: string;\n}): JSX.Element {\n const {\n content,\n description\n } = props;\n return \n {({\n schema\n }) => {\n return <>\n {description !== undefined && }\n \n ;\n }}\n ;\n}","import * as React from 'react';\nimport { Code } from './styled.elements';\nimport { ShelfIcon } from '../../common-elements';\nimport { Markdown } from '../Markdown/Markdown';\nexport interface ResponseTitleProps {\n code: string;\n title: string;\n type: string;\n empty?: boolean;\n opened?: boolean;\n className?: string;\n onClick?: () => void;\n}\nexport class ResponseTitle extends React.PureComponent {\n render() {\n const {\n title,\n type,\n empty,\n code,\n opened,\n className,\n onClick\n } = this.props;\n return ;\n }\n\n}","// import { transparentize } from 'polished';\nimport { UnderlinedHeader } from '../../common-elements';\nimport styled from '../../styled-components';\nimport { ResponseTitle } from './ResponseTitle';\nexport const StyledResponseTitle = styled(ResponseTitle)`\n display: block;\n border: 0;\n width: 100%;\n text-align: left;\n padding: 10px;\n border-radius: 2px;\n margin-bottom: 4px;\n line-height: 1.5em;\n background-color: #f2f2f2;\n cursor: pointer;\n\n color: ${props => props.theme.colors.responses[props.type].color};\n background-color: ${props => props.theme.colors.responses[props.type].backgroundColor};\n &:focus {\n outline: auto;\n outline-color: ${props => props.theme.colors.responses[props.type].color};\n }\n ${props => props.empty && `\ncursor: default;\n&::before {\n content: \"—\";\n font-weight: bold;\n width: 1.5em;\n text-align: center;\n display: inline-block;\n vertical-align: top;\n}\n&:focus {\n outline: 0;\n}\n` || ''};\n`;\nexport const ResponseDetailsWrap = styled.div`\n padding: 10px;\n`;\nexport const HeadersCaption = styled(UnderlinedHeader.withComponent('caption'))`\n text-align: left;\n margin-top: 1em;\n caption-side: top;\n`;\nexport const Code = styled.strong`\n vertical-align: top;\n`;","import * as React from 'react';\nimport { PropertiesTable } from '../../common-elements/fields-layout';\nimport { FieldModel } from '../../services/models';\nimport { mapWithLast } from '../../utils';\nimport { Field } from '../Fields/Field';\nimport { HeadersCaption } from './styled.elements';\nexport interface ResponseHeadersProps {\n headers?: FieldModel[];\n}\nexport class ResponseHeaders extends React.PureComponent {\n render() {\n const {\n headers\n } = this.props;\n\n if (headers === undefined || headers.length === 0) {\n return null;\n }\n\n return \n Response Headers \n \n {mapWithLast(headers, (header, isLast) => )}\n \n ;\n }\n\n}","import * as React from 'react';\nimport { ResponseModel } from '../../services/models';\nimport { UnderlinedHeader } from '../../common-elements';\nimport { DropdownOrLabel } from '../DropdownOrLabel/DropdownOrLabel';\nimport { MediaTypesSwitch } from '../MediaTypeSwitch/MediaTypesSwitch';\nimport { Schema } from '../Schema';\nimport { Markdown } from '../Markdown/Markdown';\nimport { ResponseHeaders } from './ResponseHeaders';\nexport class ResponseDetails extends React.PureComponent<{\n response: ResponseModel;\n}> {\n render() {\n const {\n description,\n headers,\n content\n } = this.props.response;\n return <>\n {description && }\n \n \n {({\n schema\n }) => {\n return ;\n }}\n \n ;\n }\n\n private renderDropdown = props => {\n return \n Response Schema: \n ;\n };\n}","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { ResponseModel } from '../../services/models';\nimport { ResponseDetails } from './ResponseDetails';\nimport { ResponseDetailsWrap, StyledResponseTitle } from './styled.elements';\n@observer\nexport class ResponseView extends React.Component<{\n response: ResponseModel;\n}> {\n toggle = () => {\n this.props.response.toggle();\n };\n\n render() {\n const {\n headers,\n type,\n summary,\n description,\n code,\n expanded,\n content\n } = this.props.response;\n const mimes = content === undefined ? [] : content.mediaTypes.filter(mime => mime.schema !== undefined);\n const empty = headers.length === 0 && mimes.length === 0 && !description;\n return
    \n \n {expanded && !empty && \n \n }\n
    ;\n }\n\n}","import * as React from 'react';\nimport { ResponseModel } from '../../services/models';\nimport styled from '../../styled-components';\nimport { ResponseView } from './Response';\nconst ResponsesHeader = styled.h3`\n font-size: 1.3em;\n padding: 0.2em 0;\n margin: 3em 0 1.1em;\n color: ${({\n theme\n}) => theme.colors.text.primary};\n font-weight: normal;\n`;\nexport interface ResponseListProps {\n responses: ResponseModel[];\n isCallback?: boolean;\n}\nexport class ResponsesList extends React.PureComponent {\n render() {\n const {\n responses,\n isCallback\n } = this.props;\n\n if (!responses || responses.length === 0) {\n return null;\n }\n\n return
    \n {isCallback ? 'Callback responses' : 'Responses'}\n {responses.map(response => {\n return ;\n })}\n
    ;\n }\n\n}","// import { transparentize } from 'polished';\nimport * as React from 'react';\nimport styled, { media } from '../../styled-components';\nimport { Link, UnderlinedHeader } from '../../common-elements/';\nimport { SecurityRequirementModel } from '../../services/models/SecurityRequirement';\nimport { linksCss } from '../Markdown/styled.elements';\nconst ScopeName = styled.code`\n font-size: ${props => props.theme.typography.code.fontSize};\n font-family: ${props => props.theme.typography.code.fontFamily};\n border: 1px solid ${({\n theme\n}) => theme.colors.border.dark};\n margin: 0 3px;\n padding: 0.2em;\n display: inline-block;\n line-height: 1;\n\n &:after {\n content: ',';\n }\n &:last-child:after {\n content: none;\n }\n`;\nconst SecurityRequirementAndWrap = styled.span`\n &:after {\n content: ' AND ';\n font-weight: bold;\n }\n\n &:last-child:after {\n content: none;\n }\n\n ${linksCss};\n`;\nconst SecurityRequirementOrWrap = styled.span`\n &:before {\n content: '( ';\n font-weight: bold;\n }\n &:after {\n content: ' ) OR ';\n font-weight: bold;\n }\n &:last-child:after {\n content: ' )';\n }\n\n &:only-child:before,\n &:only-child:after {\n content: none;\n }\n\n ${linksCss};\n`;\nexport interface SecurityRequirementProps {\n security: SecurityRequirementModel;\n}\nexport class SecurityRequirement extends React.PureComponent {\n render() {\n const security = this.props.security;\n return \n {security.schemes.map(scheme => {\n return \n {scheme.id}\n {scheme.scopes.length > 0 && ' ('}\n {scheme.scopes.map(scope => {scope})}\n {scheme.scopes.length > 0 && ') '}\n ;\n })}\n ;\n }\n\n}\nconst AuthHeaderColumn = styled.div`\n flex: 1 1 auto;\n`;\nconst SecuritiesColumn = styled.div`\n width: ${props => props.theme.schema.defaultDetailsWidth};\n ${media.lessThan('small')`\n margin-top: 10px;\n `}\n`;\nconst AuthHeader = styled(UnderlinedHeader)`\n display: inline-block;\n margin: 0;\n`;\nconst Wrap = styled.div`\n width: 100%;\n display: flex;\n margin: 1em 0;\n\n ${media.lessThan('small')`\n flex-direction: column;\n `}\n`;\nexport interface SecurityRequirementsProps {\n securities: SecurityRequirementModel[];\n}\nexport class SecurityRequirements extends React.PureComponent {\n render() {\n const securities = this.props.securities;\n\n if (!securities.length) {\n return null;\n }\n\n return \n \n Authorizations: \n \n \n {securities.map((security, idx) => )}\n \n ;\n }\n\n}","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { OperationModel } from '../../services/models';\nimport styled from '../../styled-components';\nimport { Endpoint } from '../Endpoint/Endpoint';\nimport { ExternalDocumentation } from '../ExternalDocumentation/ExternalDocumentation';\nimport { Extensions } from '../Fields/Extensions';\nimport { Markdown } from '../Markdown/Markdown';\nimport { Parameters } from '../Parameters/Parameters';\nimport { ResponsesList } from '../Responses/ResponsesList';\nimport { SecurityRequirements } from '../SecurityRequirement/SecurityRequirement';\nimport { CallbackDetailsWrap } from './styled.elements';\nexport interface CallbackDetailsProps {\n operation: OperationModel;\n}\n@observer\nexport class CallbackDetails extends React.Component {\n render() {\n const {\n operation\n } = this.props;\n const {\n description,\n externalDocs\n } = operation;\n const hasDescription = !!(description || externalDocs);\n return \n {hasDescription && \n {description !== undefined && }\n {externalDocs && }\n }\n \n \n \n \n \n ;\n }\n\n}\nconst Description = styled.div`\n margin-bottom: ${({\n theme\n}) => theme.spacing.unit * 3}px;\n`;","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { OperationModel } from '../../services/models';\nimport { StyledCallbackTitle } from './styled.elements';\nimport { CallbackDetails } from './CallbackDetails';\n@observer\nexport class CallbackOperation extends React.Component<{\n callbackOperation: OperationModel;\n}> {\n toggle = () => {\n this.props.callbackOperation.toggle();\n };\n\n render() {\n const {\n name,\n expanded,\n httpVerb,\n deprecated\n } = this.props.callbackOperation;\n return <>\n \n {expanded && }\n ;\n }\n\n}","import * as React from 'react';\nimport { CallbackModel } from '../../services/models';\nimport styled from '../../styled-components';\nimport { CallbackOperation } from './CallbackOperation';\nexport interface CallbacksListProps {\n callbacks: CallbackModel[];\n}\nexport class CallbacksList extends React.PureComponent {\n render() {\n const {\n callbacks\n } = this.props;\n\n if (!callbacks || callbacks.length === 0) {\n return null;\n }\n\n return
    \n Callbacks \n {callbacks.map(callback => {\n return callback.operations.map((operation, index) => {\n return ;\n });\n })}\n
    ;\n }\n\n}\nconst CallbacksHeader = styled.h3`\n font-size: 1.3em;\n padding: 0.2em 0;\n margin: 3em 0 1.1em;\n color: ${({\n theme\n}) => theme.colors.text.primary};\n font-weight: normal;\n`;","export * from './CallbackOperation';\nexport * from './CallbackTitle';\nexport * from './CallbacksList';","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { DropdownProps, DropdownOption } from '../../common-elements/dropdown';\nimport { DropdownLabel, DropdownWrapper } from '../PayloadSamples/styled.elements';\nexport interface GenericChildrenSwitcherProps {\n items?: T[];\n options: DropdownOption[];\n label?: string;\n renderDropdown: (props: DropdownProps) => JSX.Element;\n children: (activeItem: T) => JSX.Element;\n}\nexport interface GenericChildrenSwitcherState {\n activeItemIdx: number;\n}\n/**\n * TODO: Refactor this component:\n * Implement rendering dropdown/label directly in this component\n * Accept as a parameter mapper-function for building dropdown option labels\n */\n\n@observer\nexport class GenericChildrenSwitcher extends React.Component, GenericChildrenSwitcherState> {\n constructor(props) {\n super(props);\n this.state = {\n activeItemIdx: 0\n };\n }\n\n switchItem = ({\n idx\n }) => {\n if (this.props.items) {\n this.setState({\n activeItemIdx: idx\n });\n }\n };\n\n render() {\n const {\n items\n } = this.props;\n\n if (!items || !items.length) {\n return null;\n }\n\n const Wrapper = ({\n children\n }) => this.props.label ? \n {this.props.label}\n {children}\n : children;\n\n return <>\n \n {this.props.renderDropdown({\n value: this.props.options[this.state.activeItemIdx].value,\n options: this.props.options,\n onChange: this.switchItem,\n ariaLabel: this.props.label || 'Callback'\n })}\n \n\n {this.props.children(items[this.state.activeItemIdx])}\n ;\n }\n\n}","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { MediaTypeSamples } from './MediaTypeSamples';\nimport { MediaContentModel } from '../../services/models';\nimport { DropdownOrLabel } from '../DropdownOrLabel/DropdownOrLabel';\nimport { MediaTypesSwitch } from '../MediaTypeSwitch/MediaTypesSwitch';\nimport { InvertedSimpleDropdown, MimeLabel } from './styled.elements';\nexport interface PayloadSamplesProps {\n content: MediaContentModel;\n}\n@observer\nexport class PayloadSamples extends React.Component {\n render() {\n const mimeContent = this.props.content;\n\n if (mimeContent === undefined) {\n return null;\n }\n\n return \n {mediaType => }\n ;\n }\n\n private renderDropdown = props => {\n return ;\n };\n}","import * as React from 'react';\nimport styled from '../../styled-components';\nimport { DropdownProps } from '../../common-elements';\nimport { PayloadSamples } from '../PayloadSamples/PayloadSamples';\nimport { OperationModel } from '../../services/models';\nimport { XPayloadSample } from '../../services/models/Operation';\nimport { isPayloadSample } from '../../services';\nexport interface PayloadSampleProps {\n callback: OperationModel;\n renderDropdown: (props: DropdownProps) => JSX.Element;\n}\nexport class CallbackPayloadSample extends React.Component {\n render() {\n const payloadSample = (this.props.callback.codeSamples.find(sample => isPayloadSample(sample)) as XPayloadSample | undefined);\n\n if (!payloadSample) {\n return null;\n }\n\n return \n \n ;\n }\n\n}\nexport const PayloadSampleWrapper = styled.div`\n margin-top: 15px;\n`;","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport styled from '../../styled-components';\nimport { RightPanelHeader } from '../../common-elements';\nimport { RedocNormalizedOptions } from '../../services';\nimport { CallbackModel } from '../../services/models';\nimport { OptionsContext } from '../OptionsProvider';\nimport { GenericChildrenSwitcher } from '../GenericChildrenSwitcher/GenericChildrenSwitcher';\nimport { DropdownOrLabel } from '../DropdownOrLabel/DropdownOrLabel';\nimport { InvertedSimpleDropdown, MimeLabel } from '../PayloadSamples/styled.elements';\nimport { CallbackPayloadSample } from './CallbackReqSamples';\nexport interface CallbackSamplesProps {\n callbacks: CallbackModel[];\n}\n@observer\nexport class CallbackSamples extends React.Component {\n static contextType = OptionsContext;\n context: RedocNormalizedOptions;\n private renderDropdown = props => {\n return ;\n };\n\n render() {\n const {\n callbacks\n } = this.props;\n\n if (!callbacks || callbacks.length === 0) {\n return null;\n }\n\n const operations = callbacks.map(callback => callback.operations.map(operation => operation)).reduce((a, b) => a.concat(b), []);\n const hasSamples = operations.some(operation => operation.codeSamples.length > 0);\n\n if (!hasSamples) {\n return null;\n }\n\n const dropdownOptions = operations.map((callback, idx) => {\n return {\n value: `${callback.httpVerb.toUpperCase()}: ${callback.name}`,\n idx\n };\n });\n return
    \n Callback payload samples \n\n \n \n {callback => }\n \n \n
    ;\n }\n\n}\nexport const SamplesWrapper = styled.div`\n background: ${({\n theme\n}) => theme.codeBlock.backgroundColor};\n padding: ${props => props.theme.spacing.unit * 4}px;\n`;","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { isPayloadSample, OperationModel, RedocNormalizedOptions } from '../../services';\nimport { PayloadSamples } from '../PayloadSamples/PayloadSamples';\nimport { SourceCodeWithCopy } from '../SourceCode/SourceCode';\nimport { RightPanelHeader, Tab, TabList, TabPanel, Tabs } from '../../common-elements';\nimport { OptionsContext } from '../OptionsProvider';\nexport interface RequestSamplesProps {\n operation: OperationModel;\n}\n@observer\nexport class RequestSamples extends React.Component {\n static contextType = OptionsContext;\n context: RedocNormalizedOptions;\n operation: OperationModel;\n\n render() {\n const {\n operation\n } = this.props;\n const samples = operation.codeSamples;\n const hasSamples = samples.length > 0;\n const hideTabList = samples.length === 1 ? this.context.hideSingleRequestSampleTab : false;\n return hasSamples &&
    \n Request samples \n\n \n \n {samples.map(sample => \n {isPayloadSample(sample) ?
    \n \n
    : }\n
    )}\n
    \n
    || null;\n }\n\n}","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { OperationModel } from '../../services/models';\nimport { RightPanelHeader, Tab, TabList, TabPanel, Tabs } from '../../common-elements';\nimport { PayloadSamples } from '../PayloadSamples/PayloadSamples';\nexport interface ResponseSamplesProps {\n operation: OperationModel;\n}\n@observer\nexport class ResponseSamples extends React.Component {\n operation: OperationModel;\n\n render() {\n const {\n operation\n } = this.props;\n const responses = operation.responses.filter(response => {\n return response.content && response.content.hasSample;\n });\n return responses.length > 0 &&
    \n Response samples \n\n \n \n {responses.map(response => \n {response.code}\n )}\n \n {responses.map(response => \n
    \n \n
    \n
    )}\n
    \n
    || null;\n }\n\n}","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { Badge, DarkRightPanel, H2, MiddlePanel, Row } from '../../common-elements';\nimport { ShareLink } from '../../common-elements/linkify';\nimport { OperationModel } from '../../services/models';\nimport styled from '../../styled-components';\nimport { CallbacksList } from '../Callbacks';\nimport { CallbackSamples } from '../CallbackSamples/CallbackSamples';\nimport { Endpoint } from '../Endpoint/Endpoint';\nimport { ExternalDocumentation } from '../ExternalDocumentation/ExternalDocumentation';\nimport { Extensions } from '../Fields/Extensions';\nimport { Markdown } from '../Markdown/Markdown';\nimport { OptionsContext } from '../OptionsProvider';\nimport { Parameters } from '../Parameters/Parameters';\nimport { RequestSamples } from '../RequestSamples/RequestSamples';\nimport { ResponsesList } from '../Responses/ResponsesList';\nimport { ResponseSamples } from '../ResponseSamples/ResponseSamples';\nimport { SecurityRequirements } from '../SecurityRequirement/SecurityRequirement';\nconst OperationRow = styled(Row)`\n backface-visibility: hidden;\n contain: content;\n overflow: hidden;\n`;\nconst Description = styled.div`\n margin-bottom: ${({\n theme\n}) => theme.spacing.unit * 6}px;\n`;\nexport interface OperationProps {\n operation: OperationModel;\n}\n@observer\nexport class Operation extends React.Component {\n render() {\n const {\n operation\n } = this.props;\n const {\n name: summary,\n description,\n deprecated,\n externalDocs,\n isWebhook\n } = operation;\n const hasDescription = !!(description || externalDocs);\n return \n {options => \n \n

    \n \n {summary} {deprecated && Deprecated }\n {isWebhook && Webhook }\n

    \n {options.pathInMiddlePanel && !isWebhook && }\n {hasDescription && \n {description !== undefined && }\n {externalDocs && }\n }\n \n \n \n \n \n
    \n \n {!options.pathInMiddlePanel && !isWebhook && }\n \n \n \n \n
    }\n
    ;\n }\n\n}","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { ExternalDocumentation } from '../ExternalDocumentation/ExternalDocumentation';\nimport { AdvancedMarkdown } from '../Markdown/AdvancedMarkdown';\nimport { H1, H2, MiddlePanel, Row, Section, ShareLink } from '../../common-elements';\nimport { ContentItemModel } from '../../services/MenuBuilder';\nimport { GroupModel, OperationModel } from '../../services/models';\nimport { Operation } from '../Operation/Operation';\n@observer\nexport class ContentItems extends React.Component<{\n items: ContentItemModel[];\n}> {\n render() {\n const items = this.props.items;\n\n if (items.length === 0) {\n return null;\n }\n\n return items.map(item => {\n return ;\n });\n }\n\n}\nexport interface ContentItemProps {\n item: ContentItemModel;\n}\n@observer\nexport class ContentItem extends React.Component {\n render() {\n const item = this.props.item;\n let content;\n const {\n type\n } = item;\n\n switch (type) {\n case 'group':\n content = null;\n break;\n\n case 'tag':\n case 'section':\n content = ;\n break;\n\n case 'operation':\n content = ;\n break;\n\n default:\n content = ;\n }\n\n return <>\n {content &&
    \n {content}\n
    }\n {item.items && }\n ;\n }\n\n}\n\nconst middlePanelWrap = component => {component};\n\n@observer\nexport class SectionItem extends React.Component {\n render() {\n const {\n name,\n description,\n externalDocs,\n level\n } = (this.props.item as GroupModel);\n const Header = level === 2 ? H2 : H1;\n return <>\n \n \n
    \n \n {name}\n
    \n
    \n
    \n \n {externalDocs && \n \n \n \n }\n ;\n }\n\n}\n@observer\nexport class OperationItem extends React.Component<{\n item: OperationModel;\n}> {\n render() {\n return ;\n }\n\n}","// import { observe } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { ShelfIcon } from '../../common-elements/shelfs';\nimport { IMenuItem, OperationModel } from '../../services';\nimport { shortenHTTPVerb } from '../../utils/openapi';\nimport { MenuItems } from './MenuItems';\nimport { MenuItemLabel, MenuItemLi, MenuItemTitle, OperationBadge } from './styled.elements';\nimport { l } from '../../services/Labels';\nexport interface MenuItemProps {\n item: IMenuItem;\n onActivate?: (item: IMenuItem) => void;\n withoutChildren?: boolean;\n}\n@observer\nexport class MenuItem extends React.Component {\n ref = React.createRef();\n activate = (evt: React.MouseEvent) => {\n this.props.onActivate!(this.props.item);\n evt.stopPropagation();\n };\n\n componentDidMount() {\n this.scrollIntoViewIfActive();\n }\n\n componentDidUpdate() {\n this.scrollIntoViewIfActive();\n }\n\n scrollIntoViewIfActive() {\n if (this.props.item.active && this.ref.current) {\n this.ref.current.scrollIntoViewIfNeeded();\n }\n }\n\n render() {\n const {\n item,\n withoutChildren\n } = this.props;\n return \n {item.type === 'operation' ? : \n \n {item.name}\n {this.props.children}\n \n {item.depth > 0 && item.items.length > 0 && || null}\n }\n {!withoutChildren && item.items && item.items.length > 0 && }\n ;\n }\n\n}\nexport interface OperationMenuItemContentProps {\n item: OperationModel;\n}\n@observer\nexport class OperationMenuItemContent extends React.Component {\n ref = React.createRef();\n\n componentDidUpdate() {\n if (this.props.item.active && this.ref.current) {\n this.ref.current.scrollIntoViewIfNeeded();\n }\n }\n\n render() {\n const {\n item\n } = this.props;\n return \n {item.isWebhook ? {l('webhook')} : {shortenHTTPVerb(item.httpVerb)}}\n \n {item.name}\n {this.props.children}\n \n ;\n }\n\n}","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { IMenuItem } from '../../services';\nimport { MenuItem } from './MenuItem';\nimport { MenuItemUl } from './styled.elements';\nexport interface MenuItemsProps {\n items: IMenuItem[];\n expanded?: boolean;\n onActivate?: (item: IMenuItem) => void;\n style?: React.CSSProperties;\n root?: boolean;\n className?: string;\n}\n@observer\nexport class MenuItems extends React.Component {\n render() {\n const {\n items,\n root,\n className\n } = this.props;\n const expanded = this.props.expanded == null ? true : this.props.expanded;\n return \n {items.map((item, idx) => )}\n ;\n }\n\n}","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { IMenuItem, MenuStore } from '../../services/MenuStore';\nimport { OptionsContext } from '../OptionsProvider';\nimport { MenuItems } from './MenuItems';\nimport { PerfectScrollbarWrap } from '../../common-elements/perfect-scrollbar';\nimport { RedocAttribution } from './styled.elements';\n@observer\nexport class SideMenu extends React.Component<{\n menu: MenuStore;\n className?: string;\n}> {\n static contextType = OptionsContext;\n private _updateScroll?: () => void;\n\n render() {\n const store = this.props.menu;\n return \n \n \n \n Documentation Powered by ReDoc\n \n \n ;\n }\n\n activate = (item: IMenuItem) => {\n if (item && item.active && this.context.menuToggle) {\n return item.expanded ? item.collapse() : item.expand();\n }\n\n this.props.menu.activateAndScroll(item, true);\n setTimeout(() => {\n if (this._updateScroll) {\n this._updateScroll();\n }\n });\n };\n private saveScrollUpdate = upd => {\n this._updateScroll = upd;\n };\n}","import * as React from 'react';\nimport styled from '../../styled-components';\nexport const AnimatedChevronButton = ({\n open\n}: {\n open: boolean;\n}) => {\n const iconOffset = open ? 8 : -4;\n return \n \n \n ;\n}; // adapted from reactjs.org\n\nconst ChevronSvg = ({\n size = 10,\n className = '',\n style\n}) => \n \n \n \n ;\n\nconst ChevronContainer = styled.div`\n user-select: none;\n width: 20px;\n height: 20px;\n align-self: center;\n display: flex;\n flex-direction: column;\n color: ${props => props.theme.colors.primary.main};\n`;","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { MenuStore } from '../../services/MenuStore';\nimport { RedocNormalizedOptions, RedocRawOptions } from '../../services/RedocNormalizedOptions';\nimport styled, { media } from '../../styled-components';\nimport { IS_BROWSER } from '../../utils/index';\nimport { OptionsContext } from '../OptionsProvider';\nimport { AnimatedChevronButton } from './ChevronSvg';\nlet Stickyfill;\n\nif (IS_BROWSER) {\n Stickyfill = require('stickyfill');\n}\n\nexport interface StickySidebarProps {\n className?: string;\n scrollYOffset?: RedocRawOptions['scrollYOffset']; // passed directly or via context\n\n menu: MenuStore;\n}\nexport interface StickySidebarState {\n offsetTop?: string;\n}\nconst stickyfill = Stickyfill && Stickyfill();\nconst StyledStickySidebar = styled.div<{\n open?: boolean;\n}>`\n width: ${props => props.theme.sidebar.width};\n background-color: ${props => props.theme.sidebar.backgroundColor};\n overflow: hidden;\n display: flex;\n flex-direction: column;\n\n backface-visibility: hidden;\n /* contain: strict; TODO: breaks layout since Chrome 80*/\n\n height: 100vh;\n position: sticky;\n position: -webkit-sticky;\n top: 0;\n\n ${media.lessThan('small')`\n position: fixed;\n z-index: 20;\n width: 100%;\n background: ${({\n theme\n}) => theme.sidebar.backgroundColor};\n display: ${props => props.open ? 'flex' : 'none'};\n `};\n\n @media print {\n display: none;\n }\n`;\nconst FloatingButton = styled.div`\n outline: none;\n user-select: none;\n background-color: #f2f2f2;\n color: ${props => props.theme.colors.primary.main};\n display: none;\n cursor: pointer;\n position: fixed;\n right: 20px;\n z-index: 100;\n border-radius: 50%;\n box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);\n ${media.lessThan('small')`\n display: flex;\n `};\n\n bottom: 44px;\n\n width: 60px;\n height: 60px;\n padding: 0 20px;\n\n @media print {\n display: none;\n }\n`;\n@observer\nexport class StickyResponsiveSidebar extends React.Component {\n static contextType = OptionsContext;\n context!: React.ContextType;\n state: StickySidebarState = {\n offsetTop: '0px'\n };\n stickyElement: Element;\n\n componentDidMount() {\n if (stickyfill) {\n stickyfill.add(this.stickyElement);\n } // rerender when hydrating from SSR\n // see https://github.com/facebook/react/issues/8017#issuecomment-256351955\n\n\n this.setState({\n offsetTop: this.getScrollYOffset(this.context)\n });\n }\n\n componentWillUnmount() {\n if (stickyfill) {\n stickyfill.remove(this.stickyElement);\n }\n }\n\n getScrollYOffset(options: RedocNormalizedOptions) {\n let top;\n\n if (this.props.scrollYOffset !== undefined) {\n top = RedocNormalizedOptions.normalizeScrollYOffset(this.props.scrollYOffset)();\n } else {\n top = options.scrollYOffset();\n }\n\n return top + 'px';\n }\n\n render() {\n const open = this.props.menu.sideBarOpened;\n const top = this.state.offsetTop;\n return <>\n {\n this.stickyElement = (el as any);\n }}>\n {this.props.children}\n \n \n \n \n ;\n }\n\n private toggleNavMenu = () => {\n this.props.menu.toggleSidebar();\n };\n}","import styled, { media } from '../../styled-components';\nexport const RedocWrap = styled.div`\n ${({\n theme\n}) => `\n font-family: ${theme.typography.fontFamily};\n font-size: ${theme.typography.fontSize};\n font-weight: ${theme.typography.fontWeightRegular};\n line-height: ${theme.typography.lineHeight};\n color: ${theme.colors.text.primary};\n display: flex;\n position: relative;\n text-align: left;\n\n -webkit-font-smoothing: ${theme.typography.smoothing};\n font-smoothing: ${theme.typography.smoothing};\n ${theme.typography.optimizeSpeed && 'text-rendering: optimizeSpeed !important' || ''};\n\n tap-highlight-color: rgba(0, 0, 0, 0);\n text-size-adjust: 100%;\n\n * {\n box-sizing: border-box;\n -webkit-tap-highlight-color: rgba(255, 255, 255, 0);\n }\n`};\n`;\nexport const ApiContentWrap = styled.div`\n z-index: 1;\n position: relative;\n overflow: hidden;\n width: calc(100% - ${props => props.theme.sidebar.width});\n ${media.lessThan('small', true)`\n width: 100%;\n `};\n\n contain: layout;\n`;\nexport const BackgroundStub = styled.div`\n background: ${({\n theme\n}) => theme.rightPanel.backgroundColor};\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n width: ${({\n theme\n}) => {\n if (theme.rightPanel.width.endsWith('%')) {\n const percents = parseInt(theme.rightPanel.width, 10);\n return `calc((100% - ${theme.sidebar.width}) * ${percents / 100})`;\n } else {\n return theme.rightPanel.width;\n }\n}};\n ${media.lessThan('medium', true)`\n display: none;\n `};\n`;","import * as React from 'react';\nimport { darken, getLuminance, lighten } from 'polished';\nimport styled from '../../styled-components';\nimport { MenuItemLabel } from '../SideMenu/styled.elements';\nexport const SearchWrap = styled.div`\n padding: 5px 0;\n`;\nexport const SearchInput = styled.input.attrs(() => ({\n className: 'search-input'\n}))`\n width: calc(100% - ${props => props.theme.spacing.unit * 8}px);\n box-sizing: border-box;\n margin: 0 ${props => props.theme.spacing.unit * 4}px;\n padding: 5px ${props => props.theme.spacing.unit * 2}px 5px\n ${props => props.theme.spacing.unit * 4}px;\n border: 0;\n border-bottom: 1px solid\n ${({\n theme\n}) => (getLuminance(theme.sidebar.backgroundColor) > 0.5 ? darken : lighten)(0.1, theme.sidebar.backgroundColor)};\n font-family: ${({\n theme\n}) => theme.typography.fontFamily};\n font-weight: bold;\n font-size: 13px;\n color: ${props => props.theme.sidebar.textColor};\n background-color: transparent;\n outline: none;\n`;\nexport const SearchIcon = styled((props: {\n className?: string;\n}) => \n \n ).attrs({\n className: 'search-icon'\n})`\n position: absolute;\n left: ${props => props.theme.spacing.unit * 4}px;\n height: 1.8em;\n width: 0.9em;\n\n path {\n fill: ${props => props.theme.sidebar.textColor};\n }\n`;\nexport const SearchResultsBox = styled.div`\n padding: ${props => props.theme.spacing.unit}px 0;\n background-color: ${({\n theme\n}) => darken(0.05, theme.sidebar.backgroundColor)}};\n color: ${props => props.theme.sidebar.textColor};\n min-height: 150px;\n max-height: 250px;\n border-top: ${({\n theme\n}) => darken(0.1, theme.sidebar.backgroundColor)}};\n border-bottom: ${({\n theme\n}) => darken(0.1, theme.sidebar.backgroundColor)}};\n margin-top: 10px;\n line-height: 1.4;\n font-size: 0.9em;\n\n ${MenuItemLabel} {\n padding-top: 6px;\n padding-bottom: 6px;\n\n &:hover,\n &.active {\n background-color: ${({\n theme\n}) => darken(0.1, theme.sidebar.backgroundColor)};\n }\n\n > svg {\n display: none;\n }\n }\n`;\nexport const ClearIcon = styled.i`\n position: absolute;\n display: inline-block;\n width: ${props => props.theme.spacing.unit * 2}px;\n text-align: center;\n right: ${props => props.theme.spacing.unit * 4}px;\n line-height: 2em;\n vertical-align: middle;\n margin-right: 2px;\n cursor: pointer;\n font-style: normal;\n color: '#666';\n`;","import * as React from 'react';\nimport { IMenuItem } from '../../services/MenuStore';\nimport { SearchStore } from '../../services/SearchStore';\nimport { MenuItem } from '../SideMenu/MenuItem';\nimport { MarkerService } from '../../services/MarkerService';\nimport { SearchResult } from '../../services/SearchWorker.worker';\nimport { bind, debounce } from 'decko';\nimport { PerfectScrollbarWrap } from '../../common-elements/perfect-scrollbar';\nimport { ClearIcon, SearchIcon, SearchInput, SearchResultsBox, SearchWrap } from './styled.elements';\nexport interface SearchBoxProps {\n search: SearchStore;\n marker: MarkerService;\n getItemById: (id: string) => IMenuItem | undefined;\n onActivate: (item: IMenuItem) => void;\n className?: string;\n}\nexport interface SearchBoxState {\n results: SearchResult[];\n term: string;\n activeItemIdx: number;\n}\nexport class SearchBox extends React.PureComponent {\n activeItemRef: MenuItem | null = null;\n\n constructor(props) {\n super(props);\n this.state = {\n results: [],\n term: '',\n activeItemIdx: -1\n };\n }\n\n clearResults(term: string) {\n this.setState({\n results: [],\n term\n });\n this.props.marker.unmark();\n }\n\n clear = () => {\n this.setState({\n results: [],\n term: '',\n activeItemIdx: -1\n });\n this.props.marker.unmark();\n };\n handleKeyDown = (event: React.KeyboardEvent) => {\n if (event.keyCode === 27) {\n // ESQ\n this.clear();\n }\n\n if (event.keyCode === 40) {\n // Arrow down\n this.setState({\n activeItemIdx: Math.min(this.state.activeItemIdx + 1, this.state.results.length - 1)\n });\n event.preventDefault();\n }\n\n if (event.keyCode === 38) {\n // Arrow up\n this.setState({\n activeItemIdx: Math.max(0, this.state.activeItemIdx - 1)\n });\n event.preventDefault();\n }\n\n if (event.keyCode === 13) {\n // enter\n const activeResult = this.state.results[this.state.activeItemIdx];\n\n if (activeResult) {\n const item = this.props.getItemById(activeResult.meta);\n\n if (item) {\n this.props.onActivate(item);\n }\n }\n }\n };\n\n setResults(results: SearchResult[], term: string) {\n this.setState({\n results\n });\n this.props.marker.mark(term);\n }\n\n @bind\n @debounce(400)\n searchCallback(searchTerm: string) {\n this.props.search.search(searchTerm).then(res => {\n this.setResults(res, searchTerm);\n });\n }\n\n search = (event: React.ChangeEvent) => {\n const q = event.target.value;\n\n if (q.length < 3) {\n this.clearResults(q);\n return;\n }\n\n this.setState({\n term: q\n }, () => this.searchCallback(this.state.term));\n };\n\n render() {\n const {\n activeItemIdx\n } = this.state;\n const results = this.state.results.map(res => ({\n item: this.props.getItemById(res.meta)!,\n score: res.score\n }));\n results.sort((a, b) => b.score - a.score);\n return \n {this.state.term && ×}\n \n \n {results.length > 0 && \n \n {results.map((res, idx) => )}\n \n }\n ;\n }\n\n}","import * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { ThemeProvider } from '../../styled-components';\nimport { OptionsProvider } from '../OptionsProvider';\nimport { AppStore } from '../../services';\nimport { ApiInfo } from '../ApiInfo/';\nimport { ApiLogo } from '../ApiLogo/ApiLogo';\nimport { ContentItems } from '../ContentItems/ContentItems';\nimport { SideMenu } from '../SideMenu/SideMenu';\nimport { StickyResponsiveSidebar } from '../StickySidebar/StickyResponsiveSidebar';\nimport { ApiContentWrap, BackgroundStub, RedocWrap } from './styled.elements';\nimport { SearchBox } from '../SearchBox/SearchBox';\nimport { StoreProvider } from '../StoreBuilder';\nexport interface RedocProps {\n store: AppStore;\n}\nexport class Redoc extends React.Component {\n static propTypes = {\n store: PropTypes.instanceOf(AppStore).isRequired\n };\n\n componentDidMount() {\n this.props.store.onDidMount();\n }\n\n componentWillUnmount() {\n this.props.store.dispose();\n }\n\n render() {\n const {\n store: {\n spec,\n menu,\n options,\n search,\n marker\n }\n } = this.props;\n const store = this.props.store;\n return \n \n \n \n \n \n {!options.disableSearch && || null}\n \n \n \n \n \n \n \n \n \n \n ;\n }\n\n}","import * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { RedocNormalizedOptions, RedocRawOptions } from '../services/RedocNormalizedOptions';\nimport { ErrorBoundary } from './ErrorBoundary';\nimport { Loading } from './Loading/Loading';\nimport { Redoc } from './Redoc/Redoc';\nimport { StoreBuilder } from './StoreBuilder';\nexport interface RedocStandaloneProps {\n spec?: object;\n specUrl?: string;\n options?: RedocRawOptions;\n onLoaded?: (e?: Error) => any;\n}\nexport class RedocStandalone extends React.PureComponent {\n static propTypes = {\n spec: (props, _, componentName) => {\n if (!props.spec && !props.specUrl) {\n return new Error(`One of props 'spec' or 'specUrl' was not specified in '${componentName}'.`);\n }\n\n return null;\n },\n specUrl: (props, _, componentName) => {\n if (!props.spec && !props.specUrl) {\n return new Error(`One of props 'spec' or 'specUrl' was not specified in '${componentName}'.`);\n }\n\n return null;\n },\n options: PropTypes.any,\n onLoaded: PropTypes.any\n };\n\n render() {\n const {\n spec,\n specUrl,\n options = {},\n onLoaded\n } = this.props;\n const hideLoading = options.hideLoading !== undefined;\n const normalizedOpts = new RedocNormalizedOptions(options);\n return \n \n {({\n loading,\n store\n }) => !loading ? : hideLoading ? null : }\n \n ;\n }\n\n}","export * from './JsonViewer';","export * from './MenuItem';\nexport * from './MenuItems';\nexport * from './SideMenu';\nexport * from './styled.elements';","export * from './RedocStandalone';\nexport * from './Redoc/Redoc';\nexport * from './ApiInfo/ApiInfo';\nexport * from './ApiLogo/ApiLogo';\nexport * from './ContentItems/ContentItems';\nexport { ApiContentWrap, BackgroundStub, RedocWrap } from './Redoc/styled.elements';\nexport * from './Schema/';\nexport * from './SearchBox/SearchBox';\nexport * from './Operation/Operation';\nexport * from './Loading/Loading';\nexport * from './JsonViewer';\nexport * from './Markdown/Markdown';\nexport { StyledMarkdownBlock } from './Markdown/styled.elements';\nexport * from './SecuritySchemes/SecuritySchemes';\nexport * from './Responses/Response';\nexport * from './Responses/ResponseDetails';\nexport * from './Responses/ResponseHeaders';\nexport * from './Responses/ResponsesList';\nexport * from './Responses/ResponseTitle';\nexport * from './ResponseSamples/ResponseSamples';\nexport * from './PayloadSamples/PayloadSamples';\nexport * from './PayloadSamples/styled.elements';\nexport * from './MediaTypeSwitch/MediaTypesSwitch';\nexport * from './Parameters/Parameters';\nexport * from './PayloadSamples/Example';\nexport * from './DropdownOrLabel/DropdownOrLabel';\nexport * from './ErrorBoundary';\nexport * from './StoreBuilder';\nexport * from './OptionsProvider';\nexport * from './SideMenu/';\nexport * from './StickySidebar/StickyResponsiveSidebar';\nexport * from './SearchBox/SearchBox';\nexport * from './SchemaDefinition/SchemaDefinition';\nexport * from './SourceCode/SourceCode';","export * from './components';\nexport { MiddlePanel, Row, RightPanel, Section, StyledDropdown, SimpleDropdown, DropdownOption } from './common-elements/';\nexport { OpenAPIEncoding } from './types';\nexport * from './services';\nexport * from './utils';\nexport * from './styled-components';\nexport { default as styled } from './styled-components';"],"sourceRoot":""} \ No newline at end of file diff --git a/bundles/redoc.standalone.js b/bundles/redoc.standalone.js index 9a13d797..a9400e21 100644 --- a/bundles/redoc.standalone.js +++ b/bundles/redoc.standalone.js @@ -85,11 +85,11 @@ e.exports=function(){"use strict";var e=Object.hasOwnProperty,t=Object.setProtot * * MIT License */ -e.exports=function(e,t){e||(e=document),t||(t=window);var n,r,o=[],i=!1,a=e.documentElement,s=function(){},l="hidden",c="visibilitychange";void 0!==e.webkitHidden&&(l="webkitHidden",c="webkitvisibilitychange"),t.getComputedStyle||d();for(var u=["","-webkit-","-moz-","-ms-"],f=document.createElement("div"),p=u.length-1;p>=0;p--){try{f.style.position=u[p]+"sticky"}catch(e){}""!=f.style.position&&d()}function d(){C=L=I=P=R=N=s}function h(e){return parseFloat(e)||0}function m(){n={top:t.pageYOffset,left:t.pageXOffset}}function g(){if(t.pageXOffset!=n.left)return m(),void I();t.pageYOffset!=n.top&&(m(),y())}function v(e){setTimeout((function(){t.pageYOffset!=n.top&&(n.top=t.pageYOffset,y())}),0)}function y(){for(var e=o.length-1;e>=0;e--)b(o[e])}function b(e){if(e.inited){var t=n.top<=e.limit.start?0:n.top>=e.limit.end?2:1;e.mode!=t&&function(e,t){var n=e.node.style;switch(t){case 0:n.position="absolute",n.left=e.offset.left+"px",n.right=e.offset.right+"px",n.top=e.offset.top+"px",n.bottom="auto",n.width="auto",n.marginLeft=0,n.marginRight=0,n.marginTop=0;break;case 1:n.position="fixed",n.left=e.box.left+"px",n.right=e.box.right+"px",n.top=e.css.top,n.bottom="auto",n.width="auto",n.marginLeft=0,n.marginRight=0,n.marginTop=0;break;case 2:n.position="absolute",n.left=e.offset.left+"px",n.right=e.offset.right+"px",n.top="auto",n.bottom=0,n.width="auto",n.marginLeft=0,n.marginRight=0}e.mode=t}(e,t)}}function x(e){isNaN(parseFloat(e.computed.top))||e.isCell||(e.inited=!0,e.clone||function(e){e.clone=document.createElement("div");var t=e.node.nextSibling||e.node,n=e.clone.style;n.height=e.height+"px",n.width=e.width+"px",n.marginTop=e.computed.marginTop,n.marginBottom=e.computed.marginBottom,n.marginLeft=e.computed.marginLeft,n.marginRight=e.computed.marginRight,n.padding=n.border=n.borderSpacing=0,n.fontSize="1em",n.position="static",n.cssFloat=e.computed.cssFloat,e.node.parentNode.insertBefore(e.clone,t)}(e),"absolute"!=e.parent.computed.position&&"relative"!=e.parent.computed.position&&(e.parent.node.style.position="relative"),b(e),e.parent.height=e.parent.node.offsetHeight,e.docOffsetTop=E(e.clone))}function w(e){var t=!0;e.clone&&function(e){e.clone.parentNode.removeChild(e.clone),e.clone=void 0}(e),function(e,t){for(key in t)t.hasOwnProperty(key)&&(e[key]=t[key])}(e.node.style,e.css);for(var n=o.length-1;n>=0;n--)if(o[n].node!==e.node&&o[n].parent.node===e.parent.node){t=!1;break}t&&(e.parent.node.style.position=e.parent.css.position),e.mode=-1}function _(){for(var e=o.length-1;e>=0;e--)x(o[e])}function k(){for(var e=o.length-1;e>=0;e--)w(o[e])}function O(e){var t=getComputedStyle(e),n=e.parentNode,r=getComputedStyle(n),o=e.style.position;e.style.position="relative";var i={top:t.top,marginTop:t.marginTop,marginBottom:t.marginBottom,marginLeft:t.marginLeft,marginRight:t.marginRight,cssFloat:t.cssFloat},s={top:h(t.top),marginBottom:h(t.marginBottom),paddingLeft:h(t.paddingLeft),paddingRight:h(t.paddingRight),borderLeftWidth:h(t.borderLeftWidth),borderRightWidth:h(t.borderRightWidth)};e.style.position=o;var l={position:e.style.position,top:e.style.top,bottom:e.style.bottom,left:e.style.left,right:e.style.right,width:e.style.width,marginTop:e.style.marginTop,marginLeft:e.style.marginLeft,marginRight:e.style.marginRight},c=S(e),u=S(n),f={node:n,css:{position:n.style.position},computed:{position:r.position},numeric:{borderLeftWidth:h(r.borderLeftWidth),borderRightWidth:h(r.borderRightWidth),borderTopWidth:h(r.borderTopWidth),borderBottomWidth:h(r.borderBottomWidth)}};return{node:e,box:{left:c.win.left,right:a.clientWidth-c.win.right},offset:{top:c.win.top-u.win.top-f.numeric.borderTopWidth,left:c.win.left-u.win.left-f.numeric.borderLeftWidth,right:-c.win.right+u.win.right-f.numeric.borderRightWidth},css:l,isCell:"table-cell"==t.display,computed:i,numeric:s,width:c.win.right-c.win.left,height:c.win.bottom-c.win.top,mode:-1,inited:!1,parent:f,limit:{start:c.doc.top-s.top,end:u.doc.top+n.offsetHeight-f.numeric.borderBottomWidth-e.offsetHeight-s.top-s.marginBottom}}}function E(e){for(var t=0;e;)t+=e.offsetTop,e=e.offsetParent;return t}function S(e){var n=e.getBoundingClientRect();return{doc:{top:n.top+t.pageYOffset,left:n.left+t.pageXOffset},win:n}}function T(){r=setInterval((function(){!function(){for(var e=o.length-1;e>=0;e--)if(o[e].inited){var t=Math.abs(E(o[e].clone)-o[e].docOffsetTop),n=Math.abs(o[e].parent.node.offsetHeight-o[e].parent.height);if(t>=2||n>=2)return!1}return!0}()&&I()}),500)}function j(){clearInterval(r)}function A(){i&&(document[l]?j():T())}function C(){i||(m(),_(),t.addEventListener("scroll",g),t.addEventListener("wheel",v),t.addEventListener("resize",I),t.addEventListener("orientationchange",I),e.addEventListener(c,A),T(),i=!0)}function I(){if(i){k();for(var e=o.length-1;e>=0;e--)o[e]=O(o[e].node);_()}}function P(){t.removeEventListener("scroll",g),t.removeEventListener("wheel",v),t.removeEventListener("resize",I),t.removeEventListener("orientationchange",I),e.removeEventListener(c,A),j(),i=!1}function R(){P(),k()}function N(){for(R();o.length;)o.pop()}function L(e){for(var t=o.length-1;t>=0;t--)if(o[t].node===e)return;var n=O(e);o.push(n),i?x(n):C()}return m(),{stickies:o,add:L,remove:function(e){for(var t=o.length-1;t>=0;t--)o[t].node===e&&(w(o[t]),o.splice(t,1))},init:C,rebuild:I,pause:P,stop:R,kill:N}}},function(e,t,n){"use strict";n.r(t),n.d(t,"Redoc",(function(){return dp})),n.d(t,"AppStore",(function(){return mc})),n.d(t,"version",(function(){return mp})),n.d(t,"revision",(function(){return gp})),n.d(t,"init",(function(){return yp})),n.d(t,"hydrate",(function(){return bp}));var r={};n.r(r),n.d(r,"default",(function(){return Hi}));var o=n(1),i=n(0),a=n.n(i),s=n(99),l=n(2),c=n(20);function u(){return(u=Object.assign||function(e){for(var t=1;t=0&&o<1?(s=i,l=a):o>=1&&o<2?(s=a,l=i):o>=2&&o<3?(l=i,c=a):o>=3&&o<4?(l=a,c=i):o>=4&&o<5?(s=a,c=i):o>=5&&o<6&&(s=i,c=a);var u=n-i/2;return r(s+u,l+u,c+u)}var x={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"639",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"};var w=/^#[a-fA-F0-9]{6}$/,_=/^#[a-fA-F0-9]{8}$/,k=/^#[a-fA-F0-9]{3}$/,O=/^#[a-fA-F0-9]{4}$/,E=/^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/i,S=/^rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*([-+]?[0-9]*[.]?[0-9]+)\s*\)$/i,T=/^hsl\(\s*(\d{0,3}[.]?[0-9]+)\s*,\s*(\d{1,3}[.]?[0-9]?)%\s*,\s*(\d{1,3}[.]?[0-9]?)%\s*\)$/i,j=/^hsla\(\s*(\d{0,3}[.]?[0-9]+)\s*,\s*(\d{1,3}[.]?[0-9]?)%\s*,\s*(\d{1,3}[.]?[0-9]?)%\s*,\s*([-+]?[0-9]*[.]?[0-9]+)\s*\)$/i;function A(e){if("string"!=typeof e)throw new g(3);var t=function(e){if("string"!=typeof e)return e;var t=e.toLowerCase();return x[t]?"#"+x[t]:e}(e);if(t.match(w))return{red:parseInt(""+t[1]+t[2],16),green:parseInt(""+t[3]+t[4],16),blue:parseInt(""+t[5]+t[6],16)};if(t.match(_)){var n=parseFloat((parseInt(""+t[7]+t[8],16)/255).toFixed(2));return{red:parseInt(""+t[1]+t[2],16),green:parseInt(""+t[3]+t[4],16),blue:parseInt(""+t[5]+t[6],16),alpha:n}}if(t.match(k))return{red:parseInt(""+t[1]+t[1],16),green:parseInt(""+t[2]+t[2],16),blue:parseInt(""+t[3]+t[3],16)};if(t.match(O)){var r=parseFloat((parseInt(""+t[4]+t[4],16)/255).toFixed(2));return{red:parseInt(""+t[1]+t[1],16),green:parseInt(""+t[2]+t[2],16),blue:parseInt(""+t[3]+t[3],16),alpha:r}}var o=E.exec(t);if(o)return{red:parseInt(""+o[1],10),green:parseInt(""+o[2],10),blue:parseInt(""+o[3],10)};var i=S.exec(t);if(i)return{red:parseInt(""+i[1],10),green:parseInt(""+i[2],10),blue:parseInt(""+i[3],10),alpha:parseFloat(""+i[4])};var a=T.exec(t);if(a){var s="rgb("+b(parseInt(""+a[1],10),parseInt(""+a[2],10)/100,parseInt(""+a[3],10)/100)+")",l=E.exec(s);if(!l)throw new g(4,t,s);return{red:parseInt(""+l[1],10),green:parseInt(""+l[2],10),blue:parseInt(""+l[3],10)}}var c=j.exec(t);if(c){var u="rgb("+b(parseInt(""+c[1],10),parseInt(""+c[2],10)/100,parseInt(""+c[3],10)/100)+")",f=E.exec(u);if(!f)throw new g(4,t,u);return{red:parseInt(""+f[1],10),green:parseInt(""+f[2],10),blue:parseInt(""+f[3],10),alpha:parseFloat(""+c[4])}}throw new g(5)}function C(e){return function(e){var t,n=e.red/255,r=e.green/255,o=e.blue/255,i=Math.max(n,r,o),a=Math.min(n,r,o),s=(i+a)/2;if(i===a)return void 0!==e.alpha?{hue:0,saturation:0,lightness:s,alpha:e.alpha}:{hue:0,saturation:0,lightness:s};var l=i-a,c=s>.5?l/(2-i-a):l/(i+a);switch(i){case n:t=(r-o)/l+(r=1?L(e,t,n):"rgba("+b(e,t,n)+","+r+")";if("object"==typeof e&&void 0===t&&void 0===n&&void 0===r)return e.alpha>=1?L(e.hue,e.saturation,e.lightness):"rgba("+b(e.hue,e.saturation,e.lightness)+","+e.alpha+")";throw new g(2)}function F(e,t,n){if("number"==typeof e&&"number"==typeof t&&"number"==typeof n)return I("#"+P(e)+P(t)+P(n));if("object"==typeof e&&void 0===t&&void 0===n)return I("#"+P(e.red)+P(e.green)+P(e.blue));throw new g(6)}function z(e,t,n,r){if("string"==typeof e&&"number"==typeof t){var o=A(e);return"rgba("+o.red+","+o.green+","+o.blue+","+t+")"}if("number"==typeof e&&"number"==typeof t&&"number"==typeof n&&"number"==typeof r)return r>=1?F(e,t,n):"rgba("+e+","+t+","+n+","+r+")";if("object"==typeof e&&void 0===t&&void 0===n&&void 0===r)return e.alpha>=1?F(e.red,e.green,e.blue):"rgba("+e.red+","+e.green+","+e.blue+","+e.alpha+")";throw new g(7)}function U(e){if("object"!=typeof e)throw new g(8);if(function(e){return"number"==typeof e.red&&"number"==typeof e.green&&"number"==typeof e.blue&&"number"==typeof e.alpha}(e))return z(e);if(function(e){return"number"==typeof e.red&&"number"==typeof e.green&&"number"==typeof e.blue&&("number"!=typeof e.alpha||void 0===e.alpha)}(e))return F(e);if(function(e){return"number"==typeof e.hue&&"number"==typeof e.saturation&&"number"==typeof e.lightness&&"number"==typeof e.alpha}(e))return D(e);if(function(e){return"number"==typeof e.hue&&"number"==typeof e.saturation&&"number"==typeof e.lightness&&("number"!=typeof e.alpha||void 0===e.alpha)}(e))return M(e);throw new g(8)}function B(e){return function e(t,n,r){return function(){var o=r.concat(Array.prototype.slice.call(arguments));return o.length>=n?t.apply(this,o):e(t,n,o)}}(e,e.length,[])}function $(e,t,n){return Math.max(e,Math.min(t,n))}function W(e,t){if("transparent"===t)return t;var n=C(t);return U(u({},n,{lightness:$(0,1,n.lightness-parseFloat(e))}))}var q=B(W);function H(e,t){if("transparent"===t)return t;var n=C(t);return U(u({},n,{saturation:$(0,1,n.saturation-parseFloat(e))}))}var V=B(H);function Y(e){if("transparent"===e)return 0;var t=A(e),n=Object.keys(t).map((function(e){var n=t[e]/255;return n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4)})),r=n[0],o=n[1],i=n[2];return parseFloat((.2126*r+.7152*o+.0722*i).toFixed(3))}function Q(e,t){var n=Y(e),r=Y(t);return parseFloat((n>r?(n+.05)/(r+.05):(r+.05)/(n+.05)).toFixed(2))}function G(e,t){if("transparent"===t)return t;var n=C(t);return U(u({},n,{lightness:$(0,1,n.lightness+parseFloat(e))}))}var X=B(G);function K(e,t,n,r){void 0===t&&(t="#000"),void 0===n&&(n="#fff"),void 0===r&&(r=!1);var o=Y(e)>.179,i=o?t:n;return!r||Q(e,i)>=4.5?i:o?"#000":"#fff"}function J(e,t){if("transparent"===t)return t;var n=A(t);return z(u({},n,{alpha:$(0,1,(100*("number"==typeof n.alpha?n.alpha:1)-100*parseFloat(e))/100)}))}var Z=B(J);var ee={spacing:{unit:5,sectionHorizontal:function(e){return 8*e.spacing.unit},sectionVertical:function(e){return 8*e.spacing.unit}},breakpoints:{small:"50rem",medium:"75rem",large:"105rem"},colors:{tonalOffset:.2,primary:{main:"#32329f",light:function(e){var t=e.colors;return X(t.tonalOffset,t.primary.main)},dark:function(e){var t=e.colors;return q(t.tonalOffset,t.primary.main)},contrastText:function(e){return K(e.colors.primary.main)}},success:{main:"#1d8127",light:function(e){var t=e.colors;return X(2*t.tonalOffset,t.success.main)},dark:function(e){var t=e.colors;return q(t.tonalOffset,t.success.main)},contrastText:function(e){return K(e.colors.success.main)}},warning:{main:"#ffa500",light:function(e){var t=e.colors;return X(t.tonalOffset,t.warning.main)},dark:function(e){var t=e.colors;return q(t.tonalOffset,t.warning.main)},contrastText:"#ffffff"},error:{main:"#d41f1c",light:function(e){var t=e.colors;return X(t.tonalOffset,t.error.main)},dark:function(e){var t=e.colors;return q(t.tonalOffset,t.error.main)},contrastText:function(e){return K(e.colors.error.main)}},gray:{50:"#FAFAFA",100:"#F5F5F5"},text:{primary:"#333333",secondary:function(e){var t=e.colors;return X(t.tonalOffset,t.text.primary)}},border:{dark:"rgba(0,0,0, 0.1)",light:"#ffffff"},responses:{success:{color:function(e){return e.colors.success.main},backgroundColor:function(e){var t=e.colors;return Z(.93,t.success.main)},tabTextColor:function(e){return e.colors.responses.success.color}},error:{color:function(e){return e.colors.error.main},backgroundColor:function(e){var t=e.colors;return Z(.93,t.error.main)},tabTextColor:function(e){return e.colors.responses.error.color}},redirect:{color:function(e){return e.colors.warning.main},backgroundColor:function(e){var t=e.colors;return Z(.9,t.responses.redirect.color)},tabTextColor:function(e){return e.colors.responses.redirect.color}},info:{color:"#87ceeb",backgroundColor:function(e){var t=e.colors;return Z(.9,t.responses.info.color)},tabTextColor:function(e){return e.colors.responses.info.color}}},http:{get:"#2F8132",post:"#186FAF",put:"#95507c",options:"#947014",patch:"#bf581d",delete:"#cc3333",basic:"#707070",link:"#07818F",head:"#A23DAD"}},schema:{linesColor:function(e){return X(e.colors.tonalOffset,V(e.colors.tonalOffset,e.colors.primary.main))},defaultDetailsWidth:"75%",typeNameColor:function(e){return e.colors.text.secondary},typeTitleColor:function(e){return e.schema.typeNameColor},requireLabelColor:function(e){return e.colors.error.main},labelsTextSize:"0.9em",nestingSpacing:"1em",nestedBackground:"#fafafa",arrow:{size:"1.1em",color:function(e){return e.colors.text.secondary}}},typography:{fontSize:"14px",lineHeight:"1.5em",fontWeightRegular:"400",fontWeightBold:"600",fontWeightLight:"300",fontFamily:"Roboto, sans-serif",smoothing:"antialiased",optimizeSpeed:!0,headings:{fontFamily:"Montserrat, sans-serif",fontWeight:"400",lineHeight:"1.6em"},code:{fontSize:"13px",fontFamily:"Courier, monospace",lineHeight:function(e){return e.typography.lineHeight},fontWeight:function(e){return e.typography.fontWeightRegular},color:"#e53935",backgroundColor:"rgba(38, 50, 56, 0.05)",wrap:!1},links:{color:function(e){return e.colors.primary.main},visited:function(e){return e.typography.links.color},hover:function(e){var t=e.typography;return X(.2,t.links.color)}}},sidebar:{width:"260px",backgroundColor:"#fafafa",textColor:"#333333",activeTextColor:function(e){return e.sidebar.textColor!==ee.sidebar.textColor?e.sidebar.textColor:e.colors.primary.main},groupItems:{textTransform:"uppercase"},level1Items:{textTransform:"none"},arrow:{size:"1.5em",color:function(e){return e.sidebar.textColor}}},logo:{maxHeight:function(e){return e.sidebar.width},maxWidth:function(e){return e.sidebar.width},gutter:"2px"},rightPanel:{backgroundColor:"#263238",width:"40%",textColor:"#ffffff"},codeBlock:{backgroundColor:function(e){var t=e.rightPanel;return q(.1,t.backgroundColor)}}},te=ee;var ne="undefined"!=typeof window&&"HTMLElement"in window;function re(e){return"undefined"!=typeof document?document.querySelector(e):null}"undefined"==typeof Element||Element.prototype.scrollIntoViewIfNeeded||(Element.prototype.scrollIntoViewIfNeeded=function(e){e=0===arguments.length||!!e;var t=this.parentNode,n=window.getComputedStyle(t,void 0),r=parseInt(n.getPropertyValue("border-top-width"),10),o=parseInt(n.getPropertyValue("border-left-width"),10),i=this.offsetTop-t.offsetTopt.scrollTop+t.clientHeight,s=this.offsetLeft-t.offsetLeftt.scrollLeft+t.clientWidth,c=i&&!a;(i||a)&&e&&(t.scrollTop=this.offsetTop-t.offsetTop-t.clientHeight/2-r+this.clientHeight/2),(s||l)&&e&&(t.scrollLeft=this.offsetLeft-t.offsetLeft-t.clientWidth/2-o+this.clientWidth/2),(i||a||s||l)&&!e&&this.scrollIntoView(c)});var oe=n(150),ie=n.n(oe),ae=n(10);function se(e,t){for(var n=[],r=0;r1e3)throw new Error("Theme probably contains circular dependency at "+r+": "+o.toString());u[r]=o(c)}return u[r]},enumerable:!0}):"object"==typeof o&&p(o,r)}))})(c,""),JSON.parse(JSON.stringify(c))),this.theme.extensionsHook=m,d=t.labels,Object.assign(me,d),this.scrollYOffset=e.normalizeScrollYOffset(t.scrollYOffset),this.hideHostname=e.normalizeHideHostname(t.hideHostname),this.expandResponses=e.normalizeExpandResponses(t.expandResponses),this.requiredPropsFirst=ve(t.requiredPropsFirst),this.sortPropsAlphabetically=ve(t.sortPropsAlphabetically),this.sortEnumValuesAlphabetically=ve(t.sortEnumValuesAlphabetically),this.noAutoAuth=ve(t.noAutoAuth),this.nativeScrollbars=ve(t.nativeScrollbars),this.pathInMiddlePanel=ve(t.pathInMiddlePanel),this.untrustedSpec=ve(t.untrustedSpec),this.hideDownloadButton=ve(t.hideDownloadButton),this.disableSearch=ve(t.disableSearch),this.onlyRequiredInSamples=ve(t.onlyRequiredInSamples),this.showExtensions=e.normalizeShowExtensions(t.showExtensions),this.hideSingleRequestSampleTab=ve(t.hideSingleRequestSampleTab),this.menuToggle=ve(t.menuToggle,!0),this.jsonSampleExpandLevel=e.normalizeJsonSampleExpandLevel(t.jsonSampleExpandLevel),this.enumSkipQuotes=ve(t.enumSkipQuotes),this.hideSchemaTitles=ve(t.hideSchemaTitles),this.simpleOneOfTypeLabel=ve(t.simpleOneOfTypeLabel),this.payloadSampleIdx=e.normalizePayloadSampleIdx(t.payloadSampleIdx),this.expandSingleSchemaField=ve(t.expandSingleSchemaField),this.unstable_ignoreMimeParameters=ve(t.unstable_ignoreMimeParameters),this.allowedMdComponents=t.allowedMdComponents||{},this.expandDefaultServerVariables=ve(t.expandDefaultServerVariables),this.maxDisplayedEnumValues="string"==typeof(h=t.maxDisplayedEnumValues)?parseInt(h,10):"number"==typeof h?h:void 0;var g=Array.isArray(t.ignoreNamedSchemas)?t.ignoreNamedSchemas:null===(l=t.ignoreNamedSchemas)||void 0===l?void 0:l.split(",").map((function(e){return e.trim()}));this.ignoreNamedSchemas=new Set(g)}return e.normalizeExpandResponses=function(e){if("all"===e)return"all";if("string"==typeof e){var t={};return e.split(",").forEach((function(e){t[e.trim()]=!0})),t}return void 0!==e&&console.warn('expandResponses must be a string but received value "'+e+'" of type '+typeof e),{}},e.normalizeHideHostname=function(e){return!!e},e.normalizeScrollYOffset=function(e){if("string"==typeof e&&!ue(e)){var t=re(e);t||console.warn("scrollYOffset value is a selector to non-existing element. Using offset 0 by default");var n=t&&t.getBoundingClientRect().bottom||0;return function(){return n}}return"number"==typeof e||ue(e)?function(){return"number"==typeof e?e:parseFloat(e)}:"function"==typeof e?function(){var t=e();return"number"!=typeof t&&console.warn('scrollYOffset should return number but returned value "'+t+'" of type '+typeof t),t}:(void 0!==e&&console.warn("Wrong value for scrollYOffset ReDoc option: should be string, number or function"),function(){return 0})},e.normalizeShowExtensions=function(e){if(void 0===e)return!1;if(""===e)return!0;if("string"!=typeof e)return e;switch(e){case"true":return!0;case"false":return!1;default:return e.split(",").map((function(e){return e.trim()}))}},e.normalizePayloadSampleIdx=function(e){return"number"==typeof e?Math.max(0,e):"string"==typeof e&&isFinite(e)?parseInt(e,10):0},e.normalizeJsonSampleExpandLevel=function(e){return"all"===e?1/0:isNaN(Number(e))?2:Math.ceil(Number(e))},e}(),xe=n(13),we=xe,_e=we.default,ke=we.css,Oe=we.createGlobalStyle,Ee=we.keyframes,Se=we.ThemeProvider,Te=function(e,t,n){return function(){for(var r=[],i=0;i599)throw new Error("invalid HTTP code");var r="success";return n>=300&&n<400?r="redirect":n>=400?r="error":n<200&&(r="info"),r}var rt={get:!0,post:!0,put:!0,head:!0,patch:!0,delete:!0,options:!0};function ot(e){return e in rt}var it={multipleOf:"number",maximum:"number",exclusiveMaximum:"number",minimum:"number",exclusiveMinimum:"number",maxLength:"string",minLength:"string",pattern:"string",items:"array",maxItems:"array",minItems:"array",uniqueItems:"array",maxProperties:"object",minProperties:"object",required:"object",additionalProperties:"object",properties:"object"};function at(e){return-1!==e.search(/json/i)}function st(e,t,n){return Array.isArray(e)?e.map((function(e){return e.toString()})).join(n):"object"==typeof e?Object.keys(e).map((function(t){return""+t+n+e[t]})).join(n):t+"="+e.toString()}function lt(e,t){return Array.isArray(e)?(console.warn("deepObject style cannot be used with array value:"+e.toString()),""):"object"==typeof e?Object.keys(e).map((function(n){return t+"["+n+"]="+e[n]})).join("&"):(console.warn("deepObject style cannot be used with non-object value:"+e.toString()),"")}function ct(e,t,n){var r,o=t?"*":"";return et.parse("{?__redoc_param_name__"+o+"}").expand((r={},r.__redoc_param_name__=n,r)).substring(1).replace(/__redoc_param_name__/g,e)}function ut(e,t){return at(t)?JSON.stringify(e):(console.warn("Parameter serialization as "+t+" is not supported"),"")}function ft(e,t){var n=e.name,r=e.style,o=e.explode,i=void 0!==o&&o,a=e.serializationMime;if(a)switch(e.in){case"path":case"header":return ut(t,a);case"cookie":case"query":return n+"="+ut(t,a);default:return console.warn("Unexpected parameter location: "+e.in),""}if(!r)return console.warn("Missing style attribute or content for parameter "+n),"";switch(e.in){case"path":return function(e,t,n,r){var o,i=n?"*":"",a="";return"label"===t?a=".":"matrix"===t&&(a=";"),et.parse("{"+a+"__redoc_param_name__"+i+"}").expand((o={},o.__redoc_param_name__=r,o)).replace(/__redoc_param_name__/g,e)}(n,r,i,t);case"query":return function(e,t,n,r){switch(t){case"form":return ct(e,n,r);case"spaceDelimited":return Array.isArray(r)?n?ct(e,n,r):e+"="+r.join("%20"):(console.warn("The style spaceDelimited is only applicable to arrays"),"");case"pipeDelimited":return Array.isArray(r)?n?ct(e,n,r):e+"="+r.join("|"):(console.warn("The style pipeDelimited is only applicable to arrays"),"");case"deepObject":return!n||Array.isArray(r)||"object"!=typeof r?(console.warn("The style deepObject is only applicable for objects with explode=true"),""):lt(r,e);default:return console.warn("Unexpected style for query: "+t),""}}(n,r,i,t);case"header":return function(e,t,n){var r;switch(e){case"simple":var o=t?"*":"",i="__redoc_param_name__",a=et.parse("{"+i+o+"}");return decodeURIComponent(a.expand(((r={})[i]=n,r)));default:return console.warn("Unexpected style for header: "+e),""}}(r,i,t);case"cookie":return function(e,t,n,r){switch(t){case"form":return ct(e,n,r);default:return console.warn("Unexpected style for cookie: "+t),""}}(n,r,i,t);default:return console.warn("Unexpected parameter location: "+e.in),""}}function pt(e){return/^#\/components\/schemas\/[^\/]+$/.test(e||"")}function dt(e){if(e){var t=e.match(/^#\/components\/schemas\/([^\/]+)$/);return null===t?void 0:t[1]}}function ht(e,t,n){var r;return void 0!==t&&void 0!==n?r=t===n?t+" "+e:"[ "+t+" .. "+n+" ] "+e:void 0!==n?r="<= "+n+" "+e:void 0!==t&&(r=1===t?"non-empty":">= "+t+" "+e),r}function mt(e){var t=[],n=ht("characters",e.minLength,e.maxLength);void 0!==n&&t.push(n);var r=ht("items",e.minItems,e.maxItems);void 0!==r&&t.push(r);var o,i=function(e){if(void 0!==e){var t=e.toString(10);return/^0\.0*1$/.test(t)?"decimal places <= "+t.split(".")[1].length:"multiple of "+t}}(e.multipleOf);return void 0!==i&&t.push(i),void 0!==e.minimum&&void 0!==e.maximum?(o=e.exclusiveMinimum?"( ":"[ ",o+=e.minimum,o+=" .. ",o+=e.maximum,o+=e.exclusiveMaximum?" )":" ]"):void 0!==e.maximum?(o=e.exclusiveMaximum?"< ":"<= ",o+=e.maximum):void 0!==e.minimum&&(o=e.exclusiveMinimum?"> ":">= ",o+=e.minimum),void 0!==o&&t.push(o),e.uniqueItems&&t.push("unique"),t}function gt(e,t){void 0===t&&(t=[]);var n=[],r=[],i=[];return e.forEach((function(e){e.required?t.includes(e.name)?r.push(e):i.push(e):n.push(e)})),r.sort((function(e,n){return t.indexOf(e.name)-t.indexOf(n.name)})),Object(o.__spreadArrays)(r,i,n)}function vt(e,t){return Object(o.__spreadArrays)(e).sort((function(e,n){return e[t].localeCompare(n[t])}))}function yt(e,t){var n=void 0===e?function(e){try{var t=he(e);return t.search="",t.toString()}catch(t){return e}}(function(){if(!ne)return"";var e=window.location.href;return e.endsWith(".html")?Object(Ze.dirname)(e):e}()):Object(Ze.dirname)(e);function r(e){return function(e,t){var n;if(t.startsWith("//"))n=""+(Object(ae.parse)(e).protocol||"https:")+t;else if(function(e){return/(?:^[a-z][a-z0-9+.-]*:|\/\/)/i.test(e)}(t))n=t;else if(t.startsWith("/")){var r=Object(ae.parse)(e);n=Object(ae.format)(Object(o.__assign)(Object(o.__assign)({},r),{pathname:t}))}else n=ce(e)+"/"+t;return ce(n)}(n,e)}return 0===t.length&&(t=[{url:"/"}]),t.map((function(e){return Object(o.__assign)(Object(o.__assign)({},e),{url:r(e.url),description:e.description||""})}))}var bt="section/Authentication/";var xt=function(e){return{delete:"del",options:"opts"}[e]||e};function wt(e,t){return Object.keys(e).filter((function(e){return!0===t?e.startsWith("x-")&&!function(e){return e in{"x-circular-ref":!0,"x-code-samples":!0,"x-codeSamples":!0,"x-displayName":!0,"x-examples":!0,"x-ignoredHeaderParameters":!0,"x-logo":!0,"x-nullable":!0,"x-servers":!0,"x-tagGroups":!0,"x-traitTag":!0,"x-additionalPropertiesName":!0,"x-explicitMappingOnly":!0}}(e):e.startsWith("x-")&&t.indexOf(e)>-1})).reduce((function(t,n){return t[n]=e[n],t}),{})}var _t=n(40);n(302),n(303),n(304),n(305),n(306),n(307),n(308),n(309),n(310),n(311),n(312),n(313),n(314),n(315),n(316),n(317),n(318),n(319),n(320),n(321);function kt(e,t){void 0===t&&(t="clike"),t=t.toLowerCase();var n=_t.languages[t];return n||(n=_t.languages[function(e){return{json:"js","c++":"cpp","c#":"csharp","objective-c":"objectivec",shell:"bash",viml:"vim"}[e]||"clike"}(t)]),_t.highlight(e,n,t)}function Ot(e){return function(t,n,r){var o,i,a,s,l,c,u,f;r.value=(o=r.value,i=e,c=null,u=0,f=function(){u=(new Date).getTime(),c=null,l=o.apply(a,s),c||(a=s=null)},function(){var e=(new Date).getTime(),t=i-(e-u);return a=this,s=arguments,t<=0||t>i?(c&&(clearTimeout(c),c=null),u=e,l=o.apply(a,s),c||(a=s=null)):c||(c=setTimeout(f,t)),l})}}function Et(e){0}function St(e){0}_t.languages.insertBefore("javascript","string",{"property string":{pattern:/([{,]\s*)"(?:\\.|[^\\"\r\n])*"(?=\s*:)/i,lookbehind:!0}},void 0),_t.languages.insertBefore("javascript","punctuation",{property:{pattern:/([{,]\s*)[a-z]\w*(?=\s*:)/i,lookbehind:!0}},void 0);var Tt={};function jt(e,t,n){if("function"==typeof n.value)return function(e,t,n){if(!n.value||n.value.length>0)throw new Error("@memoize decorator can only be applied to methods of zero arguments");var r="_memoized_"+t,i=n.value;return e[r]=Tt,Object(o.__assign)(Object(o.__assign)({},n),{value:function(){return this[r]===Tt&&(this[r]=i.call(this)),this[r]}})}(e,t,n);if("function"==typeof n.get)return function(e,t,n){var r="_memoized_"+t,i=n.get;return e[r]=Tt,Object(o.__assign)(Object(o.__assign)({},n),{get:function(){return this[r]===Tt&&(this[r]=i.call(this)),this[r]}})}(e,t,n);throw new Error("@memoize decorator can be applied to methods or getters, got "+String(n.value)+" instead")}var At="hashchange",Ct=new(function(){function e(){var e=this;this.emit=function(){e._emiter.emit(At,e.currentId)},this._emiter=new Qe.EventEmitter,this.bind()}return Object.defineProperty(e.prototype,"currentId",{get:function(){return ne?decodeURIComponent(window.location.hash.substring(1)):""},enumerable:!1,configurable:!0}),e.prototype.linkForId=function(e){return e?"#"+e:""},e.prototype.subscribe=function(e){var t=this._emiter.addListener(At,e);return function(){return t.removeListener(At,e)}},e.prototype.bind=function(){ne&&window.addEventListener("hashchange",this.emit,!1)},e.prototype.dispose=function(){ne&&window.removeEventListener("hashchange",this.emit)},e.prototype.replace=function(e,t){void 0===t&&(t=!1),ne&&null!=e&&e!==this.currentId&&(t?window.history.replaceState(null,"",window.location.href.split("#")[0]+this.linkForId(e)):(window.history.pushState(null,"",window.location.href.split("#")[0]+this.linkForId(e)),this.emit()))},Object(o.__decorate)([Ye.bind,Ye.debounce],e.prototype,"replace",null),e}());var It=n(101),Pt=function(){function e(){this.map=new Map,this.prevTerm=""}return e.prototype.add=function(e){this.map.set(e,new It(e))},e.prototype.delete=function(e){this.map.delete(e)},e.prototype.addOnly=function(e){var t=this;this.map.forEach((function(n,r){-1===e.indexOf(r)&&(n.unmark(),t.map.delete(r))}));for(var n=0,r=e;n-1?e.substring(0,n):e},e.prototype.saveHeading=function(e,t,n,r){void 0===n&&(n=this.headings),e=e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(parseInt(t,10))})).replace(/&/g,"&");var o={id:r?r+"/"+de(e):"section/"+de(e),name:e,level:t,items:[]};return n.push(o),o},e.prototype.flattenHeadings=function(e){if(void 0===e)return[];for(var t=[],n=0,r=e;n-1&&(this.description=this.description.substring(0,t)),this.downloadLink=this.getDownloadLink(),this.downloadFileName=this.getDownloadFileName()}return e.prototype.getDownloadLink=function(){if(this.parser.specUrl)return this.parser.specUrl;if(ne&&window.Blob&&window.URL&&window.URL.createObjectURL){var e=new Blob([JSON.stringify(this.parser.spec,null,2)],{type:"application/json"});return window.URL.createObjectURL(e)}},e.prototype.getDownloadFileName=function(){if(!this.parser.specUrl)return"swagger.json"},e}(),zt=function(e,t){var n=t.spec.components&&t.spec.components.securitySchemes||{};this.schemes=Object.keys(e||{}).map((function(r){var i=t.deref(n[r]),a=e[r]||[];if(i)return Object(o.__assign)(Object(o.__assign)({},i),{id:r,sectionId:bt+r,scopes:a});console.warn("Non existing security scheme referenced: "+r+". Skipping")})).filter((function(e){return void 0!==e}))},Ut=function(){function e(e,t,n,r,i){this.expanded=!1,this.operations=[],Object(l.n)(this),this.name=t;var a=e.deref(n);e.exitRef(n);for(var s=0,c=Object.keys(a);s-1;return new Vt(e,{name:a,required:c,schema:Object(o.__assign)(Object(o.__assign)({},l),{default:void 0===l.default?s[a]:l.default})},n+"/properties/"+a,r)}));r.sortPropsAlphabetically&&(l=vt(l,"name"));r.requiredPropsFirst&&(l=gt(l,r.sortPropsAlphabetically?void 0:t.required));"object"!=typeof a&&!0!==a||l.push(new Vt(e,{name:("object"==typeof a&&a["x-additionalPropertiesName"]||"property name").concat("*"),required:!1,schema:!0===a?{}:a,kind:"additionalProperties"},n+"/additionalProperties",r));return l}(t,i,this.pointer,this.options):"array"===this.type&&i.items&&(this.items=new e(t,i.items,this.pointer+"/items",this.options),this.displayType=this.items.displayType.split(" or ").map((function(e){return e.replace(/^(string|object|number|integer|array|boolean)s?( ?.*)/,"$1s$2")})).join(" or "),this.displayFormat=this.items.format,this.typePrefix=this.items.typePrefix+ge("arrayOf"),this.title=this.title||this.items.title,this.isPrimitive=this.items.isPrimitive,void 0===this.example&&void 0!==this.items.example&&(this.example=[this.items.example]),this.items.isPrimitive&&(this.enum=this.items.enum)),this.enum.length&&this.options.sortEnumValuesAlphabetically&&this.enum.sort()}else this.initDiscriminator(i,t)},e.prototype.initOneOf=function(t,n){var r,i,a=this;if(this.oneOf=t.map((function(t,r){var i=n.deref(t),s=n.mergeAllOf(i,a.pointer+"/oneOf/"+r),l=pt(t.$ref)&&!s.title?Je.baseName(t.$ref):s.title,c=new e(n,Object(o.__assign)(Object(o.__assign)({},s),{title:l,allOf:[Object(o.__assign)(Object(o.__assign)({},a.schema),{oneOf:void 0,anyOf:void 0})]}),a.pointer+"/oneOf/"+r,a.options);return n.exitRef(t),n.exitParents(s),c})),this.options.simpleOneOfTypeLabel){var s=(r=this,i=new Set,function e(t){for(var n=0,r=t.oneOf||[];n-1&&(t="("+t+")"),t})).join(" or ")},e.prototype.initDiscriminator=function(t,n){var r=this,i=$t(t);this.discriminatorProp=i.propertyName;var a=n.findDerived(Object(o.__spreadArrays)(t.parentRefs||[],[this.pointer]));if(t.oneOf)for(var s=0,l=t.oneOf;se.length?e.repeat(Math.trunc(t/e.length)+1).substring(0,t):e}function Gt(e){return{value:"object"===e?{}:"array"===e?[]:void 0}}function Xt(e,t){t&&e.pop()}function Kt(e,t,n,r,o){let i=nn(e,n,r);const a=[];for(let e of t){const{type:t,readOnly:s,writeOnly:l,value:c}=nn({type:i.type,...e},n,r,o);i.type&&t&&t!==i.type&&(console.warn("allOf: schemas with different types can't be merged"),i.type=t),i.type=i.type||t,i.readOnly=i.readOnly||s,i.writeOnly=i.writeOnly||l,null!=c&&a.push(c)}if("object"===i.type)return i.value=function e(...t){const n=e=>e&&"object"==typeof e;return t.reduce((t,r)=>(Object.keys(r).forEach(o=>{const i=t[o],a=r[o];n(i)&&n(a)?t[o]=e(i,a):t[o]=a}),t),Array.isArray(t[t.length-1])?[]:{})}(i.value||{},...a.filter(e=>"object"==typeof e)),i;{"array"===i.type&&(n.quiet||console.warn('OpenAPI Sampler: found allOf with "array" type. Result may be incorrect'));const e=a[a.length-1];return i.value=null!=e?e:i.value,i}}const Jt={multipleOf:"number",maximum:"number",exclusiveMaximum:"number",minimum:"number",exclusiveMinimum:"number",maxLength:"string",minLength:"string",pattern:"string",items:"array",maxItems:"array",minItems:"array",uniqueItems:"array",additionalItems:"array",maxProperties:"object",minProperties:"object",required:"object",additionalProperties:"object",properties:"object",patternProperties:"object",dependencies:"object"};function Zt(e){if(void 0!==e.type)return e.type;const t=Object.keys(Jt);for(var n=0;nt.maxSampleDepth)return Xt(tn,r),Gt(Zt(e));if(e.$ref){if(!n)throw new Error("Your schema contains $ref. You must provide full specification in the third parameter.");let o=decodeURIComponent(e.$ref);o.startsWith("#")&&(o=o.substring(1));const i=Xe.a.get(n,o);let a;if(!0!==en[o])en[o]=!0,a=nn(i,t,n,r),en[o]=!1;else{a=Gt(Zt(i))}return Xt(tn,r),a}if(void 0!==e.example)return Xt(tn,r),{value:e.example,readOnly:e.readOnly,writeOnly:e.writeOnly,type:e.type};if(void 0!==e.allOf)return Xt(tn,r),Kt({...e,allOf:void 0},e.allOf,t,n,r);if(e.oneOf&&e.oneOf.length)return e.anyOf&&(t.quiet||console.warn("oneOf and anyOf are not supported on the same level. Skipping anyOf")),Xt(tn,r),nn(e.oneOf[0],t,n,r);if(e.anyOf&&e.anyOf.length)return Xt(tn,r),nn(e.anyOf[0],t,n,r);let o=null,i=null;if(void 0!==e.default)o=e.default;else if(void 0!==e.const)o=e.const;else if(void 0!==e.enum&&e.enum.length)o=e.enum[0];else if(void 0!==e.examples&&e.examples.length)o=e.examples[0];else{i=e.type,i||(i=Zt(e));let a=ln[i];a&&(o=a(e,t,n,r))}return Xt(tn,r),{value:o,readOnly:e.readOnly,writeOnly:e.writeOnly,type:i}}function rn(e){let t;return e.maximum&&e.minimum?(t=e.exclusiveMinimum?Math.floor(e.minimum)+1:e.minimum,(e.exclusiveMaximum&&t>=e.maximum||!e.exclusiveMaximum&&t>e.maximum)&&(t=(e.maximum+e.minimum)/2),t):e.minimum?e.exclusiveMinimum?Math.floor(e.minimum)+1:e.minimum:e.maximum?e.exclusiveMaximum?e.maximum>0?0:Math.floor(e.maximum)-1:e.maximum>0?0:e.maximum:0}function on(e,t,n){let r=function(e,t,n){var r=e.getUTCFullYear()+"-"+Yt(e.getUTCMonth()+1)+"-"+Yt(e.getUTCDate());return t||(r+="T"+Yt(e.getUTCHours())+":"+Yt(e.getUTCMinutes())+":"+Yt(e.getUTCSeconds())+(n?"."+(e.getUTCMilliseconds()/1e3).toFixed(3).slice(2,5):"")+"Z"),r}(new Date("2019-08-24T14:15:22.123Z"),n,!1);return r.lengtht&&console.warn(`Using maxLength = ${t} is incorrect with format "date-time"`),r}function an(e,t){let n=Qt("string",e);return t&&n.length>t&&(n=n.substring(0,t)),n}const sn={email:function(){return"user@example.com"},password:function(e,t){let n="pa$$word";return e>n.length&&(n+="_",n+=Qt("qwerty!@#$%^123456",e-n.length).substring(0,e-n.length)),n},"date-time":function(e,t){return on(e,t)},date:function(e,t){return on(e,t,!0)},ipv4:function(){return"192.168.0.1"},ipv6:function(){return"2001:0db8:85a3:0000:0000:8a2e:0370:7334"},hostname:function(){return"example.com"},uri:function(){return"http://example.com"},uuid:function(e,t,n){return s=function(e){var t=0;if(0==e.length)return t;for(var n=0;n>>5)|0;return r=o^((i|=0)<<17|i>>>15),o=i+(a|=0)|0,i=a+e|0,((a=r+e|0)>>>0)/4294967296},"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{var t=16*l()%16|0;return("x"==e?t:3&t|8).toString(16)});var r,o,i,a,s,l},default:an};var ln={};const cn={skipReadOnly:!1,maxSampleDepth:15};function un(e,t,n){let r=Object.assign({},cn,t);return en={},tn=[],nn(e,r,n).value}function fn(e,t){ln[e]=t}fn("array",(function(e,t={},n,r){const o=r&&r.depth||1;let i=e.minItems||1;Array.isArray(e.items)&&(i=Math.max(i,e.items.length));let a=[];if(!e.items)return a;for(let r=0;r(e[t]=!0,e),{});Object.keys(e.properties).forEach(a=>{if(t.skipNonRequired&&!r.hasOwnProperty(a))return;const s=nn(e.properties[a],t,n,{propertyName:a,depth:i+1});t.skipReadOnly&&s.readOnly||t.skipWriteOnly&&s.writeOnly||(o[a]=s.value)})}return e&&"object"==typeof e.additionalProperties&&(o.property1=nn(e.additionalProperties,t,n,{depth:i+1}).value,o.property2=nn(e.additionalProperties,t,n,{depth:i+1}).value),o})),fn("string",(function(e,t,n,r){let o=e.format||"default",i=sn[o]||an,a=r&&r.propertyName;return i(0|e.minLength,e.maxLength,a)}));var pn=function(){function e(e,t,n,r,o){this.name=t,this.isRequestType=n,this.schema=r.schema&&new Bt(e,r.schema,"",o),this.onlyRequiredInSamples=o.onlyRequiredInSamples,void 0!==r.examples?this.examples=le(r.examples,(function(n){return new qt(e,n,t,r.encoding)})):void 0!==r.example?this.examples={default:new qt(e,{value:e.shalowDeref(r.example)},t,r.encoding)}:at(t)&&this.generateExample(e,r)}return e.prototype.generateExample=function(e,t){var n={skipReadOnly:this.isRequestType,skipNonRequired:this.isRequestType&&this.onlyRequiredInSamples,skipWriteOnly:!this.isRequestType,maxSampleDepth:10};if(this.schema&&this.schema.oneOf){this.examples={};for(var r=0,o=this.schema.oneOf;r0},enumerable:!1,configurable:!0}),Object(o.__decorate)([l.o],e.prototype,"activeMimeIdx",void 0),Object(o.__decorate)([l.f],e.prototype,"activate",null),Object(o.__decorate)([l.g],e.prototype,"active",null),e}(),hn=function(e,t,n){var r=e.deref(t);this.description=r.description||"",this.required=!!r.required,e.exitRef(t),void 0!==r.content&&(this.content=new dn(e,r.content,!0,n))},mn=function(){function e(e,t,n,r,i){this.expanded=!1,this.headers=[],Object(l.n)(this),this.expanded="all"===i.expandResponses||i.expandResponses[t];var a=e.deref(r);e.exitRef(r),this.code=t,void 0!==a.content&&(this.content=new dn(e,a.content,!1,i)),void 0!==a["x-summary"]?(this.summary=a["x-summary"],this.description=a.description||""):(this.summary=a.description||"",this.description=""),this.type=nt(t,n);var s=a.headers;void 0!==s&&(this.headers=Object.keys(s).map((function(t){var n=s[t];return new Vt(e,Object(o.__assign)(Object(o.__assign)({},n),{name:t}),"",i)})))}return e.prototype.toggle=function(){this.expanded=!this.expanded},Object(o.__decorate)([l.o],e.prototype,"expanded",void 0),Object(o.__decorate)([l.f],e.prototype,"toggle",null),e}();function gn(e){return"payload"===e.lang&&e.requestBodyContent}var vn,yn,bn,xn,wn,_n,kn,On,En,Sn,Tn,jn,An,Cn,In,Pn,Rn,Nn=!1,Ln=function(){function e(e,t,n,r,o){var i;void 0===o&&(o=!1),this.parser=e,this.operationSpec=t,this.options=r,this.type="operation",this.items=[],this.ready=!0,this.active=!1,this.expanded=!1,Object(l.n)(this),this.pointer=t.pointer,this.description=t.description,this.parent=n,this.externalDocs=t.externalDocs,this.deprecated=!!t.deprecated,this.httpVerb=t.httpVerb,this.deprecated=!!t.deprecated,this.operationId=t.operationId,this.path=t.pathName,this.isCallback=o,this.isWebhook=!!t.isWebhook,this.name=(i=t).summary||i.operationId||i.description&&i.description.substring(0,50)||"",this.isCallback?(this.security=(t.security||[]).map((function(t){return new zt(t,e)})),this.servers=yt("",t.servers||t.pathServers||[])):(this.id=void 0!==t.operationId?"operation/"+t.operationId:void 0!==n?n.id+this.pointer:this.pointer,this.security=(t.security||e.spec.security||[]).map((function(t){return new zt(t,e)})),this.servers=yt(e.specUrl,t.servers||t.pathServers||e.spec.servers||[])),r.showExtensions&&(this.extensions=wt(t,r.showExtensions))}return e.prototype.activate=function(){this.active=!0},e.prototype.deactivate=function(){this.active=!1},e.prototype.toggle=function(){this.expanded=!this.expanded},e.prototype.expand=function(){this.parent&&this.parent.expand()},e.prototype.collapse=function(){},Object.defineProperty(e.prototype,"requestBody",{get:function(){return this.operationSpec.requestBody&&new hn(this.parser,this.operationSpec.requestBody,this.options)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"codeSamples",{get:function(){var e=this.operationSpec["x-codeSamples"]||this.operationSpec["x-code-samples"]||[];this.operationSpec["x-code-samples"]&&!Nn&&(Nn=!0,console.warn('"x-code-samples" is deprecated. Use "x-codeSamples" instead'));var t=this.requestBody&&this.requestBody.content;if(t&&t.hasSample){var n=Math.min(e.length,this.options.payloadSampleIdx);e=Object(o.__spreadArrays)(e.slice(0,n),[{lang:"payload",label:"Payload",source:"",requestBodyContent:t}],e.slice(n))}return e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"parameters",{get:function(){var e=this,t=function(e,t,n){void 0===t&&(t=[]),void 0===n&&(n=[]);var r={};return n.forEach((function(t){t=e.shalowDeref(t),r[t.name+"_"+t.in]=!0})),(t=t.filter((function(t){return t=e.shalowDeref(t),!r[t.name+"_"+t.in]}))).concat(n)}(this.parser,this.operationSpec.pathParameters,this.operationSpec.parameters).map((function(t){return new Vt(e.parser,t,e.pointer,e.options)}));return this.options.sortPropsAlphabetically?vt(t,"name"):this.options.requiredPropsFirst?gt(t):t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"responses",{get:function(){var e=this,t=!1;return Object.keys(this.operationSpec.responses||[]).filter((function(e){return"default"===e||("success"===nt(e)&&(t=!0),"default"===(n=e)||ue(n)||tt(n));var n})).map((function(n){return new mn(e.parser,n,t,e.operationSpec.responses[n],e.options)}))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"callbacks",{get:function(){var e=this;return Object.keys(this.operationSpec.callbacks||[]).map((function(t){return new Ut(e.parser,t,e.operationSpec.callbacks[t],e.pointer,e.options)}))},enumerable:!1,configurable:!0}),Object(o.__decorate)([l.o],e.prototype,"ready",void 0),Object(o.__decorate)([l.o],e.prototype,"active",void 0),Object(o.__decorate)([l.o],e.prototype,"expanded",void 0),Object(o.__decorate)([l.f],e.prototype,"activate",null),Object(o.__decorate)([l.f],e.prototype,"deactivate",null),Object(o.__decorate)([l.f],e.prototype,"toggle",null),Object(o.__decorate)([jt],e.prototype,"requestBody",null),Object(o.__decorate)([jt],e.prototype,"codeSamples",null),Object(o.__decorate)([jt],e.prototype,"parameters",null),Object(o.__decorate)([jt],e.prototype,"responses",null),Object(o.__decorate)([jt],e.prototype,"callbacks",null),e}(),Mn=je.div(yn||(yn=Object(o.__makeTemplateObject)(["\n width: calc(100% - ",");\n padding: 0 ","px;\n\n ",";\n"],["\n width: calc(100% - ",");\n padding: 0 ","px;\n\n ",";\n"])),(function(e){return e.theme.rightPanel.width}),(function(e){return e.theme.spacing.sectionHorizontal}),(function(e){var t=e.compact,n=e.theme;return Te("medium",!0)(vn||(vn=Object(o.__makeTemplateObject)(["\n width: 100%;\n padding: ",";\n "],["\n width: 100%;\n padding: ",";\n "])),(t?0:n.spacing.sectionVertical)+"px "+n.spacing.sectionHorizontal+"px")})),Dn=je.div.attrs((function(e){var t;return(t={})[sa]=e.id,t}))(xn||(xn=Object(o.__makeTemplateObject)(["\n padding: ","px 0;\n\n &:last-child {\n min-height: calc(100vh + 1px);\n }\n\n & > &:last-child {\n min-height: initial;\n }\n\n ","\n ","\n"],["\n padding: ","px 0;\n\n &:last-child {\n min-height: calc(100vh + 1px);\n }\n\n & > &:last-child {\n min-height: initial;\n }\n\n ","\n ","\n"])),(function(e){return e.theme.spacing.sectionVertical}),Te("medium",!0)(bn||(bn=Object(o.__makeTemplateObject)(["\n padding: 0;\n "],["\n padding: 0;\n "]))),(function(e){return e.underlined?"\n position: relative;\n\n &:not(:last-of-type):after {\n position: absolute;\n bottom: 0;\n width: 100%;\n display: block;\n content: '';\n border-bottom: 1px solid rgba(0, 0, 0, 0.2);\n }\n ":""})),Fn=je.div(_n||(_n=Object(o.__makeTemplateObject)(["\n width: ",";\n color: ",";\n background-color: ",";\n padding: 0 ","px;\n\n ",";\n"],["\n width: ",";\n color: ",";\n background-color: ",";\n padding: 0 ","px;\n\n ",";\n"])),(function(e){return e.theme.rightPanel.width}),(function(e){return e.theme.rightPanel.textColor}),(function(e){return e.theme.rightPanel.backgroundColor}),(function(e){return e.theme.spacing.sectionHorizontal}),Te("medium",!0)(wn||(wn=Object(o.__makeTemplateObject)(["\n width: 100%;\n padding: ",";\n "],["\n width: 100%;\n padding: ",";\n "])),(function(e){return e.theme.spacing.sectionVertical+"px "+e.theme.spacing.sectionHorizontal+"px"}))),zn=je(Fn)(kn||(kn=Object(o.__makeTemplateObject)(["\n background-color: ",";\n"],["\n background-color: ",";\n"])),(function(e){return e.theme.rightPanel.backgroundColor})),Un=je.div(En||(En=Object(o.__makeTemplateObject)(["\n display: flex;\n width: 100%;\n padding: 0;\n\n ",";\n"],["\n display: flex;\n width: 100%;\n padding: 0;\n\n ",";\n"])),Te("medium",!0)(On||(On=Object(o.__makeTemplateObject)(["\n flex-direction: column;\n "],["\n flex-direction: column;\n "])))),Bn={1:"1.85714em",2:"1.57143em",3:"1.27em"},$n=function(e){return ke(Sn||(Sn=Object(o.__makeTemplateObject)(["\n font-family: ",";\n font-weight: ",";\n font-size: ",";\n line-height: ",";\n"],["\n font-family: ",";\n font-weight: ",";\n font-size: ",";\n line-height: ",";\n"])),(function(e){return e.theme.typography.headings.fontFamily}),(function(e){return e.theme.typography.headings.fontWeight}),Bn[e],(function(e){return e.theme.typography.headings.lineHeight}))},Wn=je.h1(Tn||(Tn=Object(o.__makeTemplateObject)(["\n ",";\n color: ",";\n\n ",";\n"],["\n ",";\n color: ",";\n\n ",";\n"])),$n(1),(function(e){return e.theme.colors.primary.main}),Ae("H1")),qn=je.h2(jn||(jn=Object(o.__makeTemplateObject)(["\n ",";\n color: black;\n\n ",";\n"],["\n ",";\n color: black;\n\n ",";\n"])),$n(2),Ae("H2")),Hn=(je.h2(An||(An=Object(o.__makeTemplateObject)(["\n ",";\n color: black;\n\n ",";\n"],["\n ",";\n color: black;\n\n ",";\n"])),$n(3),Ae("H3")),je.h3(Cn||(Cn=Object(o.__makeTemplateObject)(["\n color: ",";\n\n ",";\n"],["\n color: ",";\n\n ",";\n"])),(function(e){return e.theme.rightPanel.textColor}),Ae("RightPanelHeader"))),Vn=je.h5(In||(In=Object(o.__makeTemplateObject)(["\n border-bottom: 1px solid rgba(38, 50, 56, 0.3);\n margin: 1em 0 1em 0;\n color: rgba(38, 50, 56, 0.5);\n font-weight: normal;\n text-transform: uppercase;\n font-size: 0.929em;\n line-height: 20px;\n\n ",";\n"],["\n border-bottom: 1px solid rgba(38, 50, 56, 0.3);\n margin: 1em 0 1em 0;\n color: rgba(38, 50, 56, 0.5);\n font-weight: normal;\n text-transform: uppercase;\n font-size: 0.929em;\n line-height: 20px;\n\n ",";\n"])),Ae("UnderlinedHeader")),Yn=n(156),Qn=Object(i.createContext)(void 0),Gn=Qn.Provider,Xn=Qn.Consumer,Kn=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={loading:!0,resolvedSpec:null},t}return Object(o.__extends)(t,e),t.getDerivedStateFromProps=function(e,t){return e.specUrl!==t.prevSpecUrl||e.spec!==t.prevSpec?{loading:!0,resolvedSpec:null,prevSpec:e.spec,prevSpecUrl:e.specUrl}:null},t.prototype.makeStore=function(e,t,n){if(e)try{return new mc(e,t,n)}catch(e){throw this.props.onLoaded&&this.props.onLoaded(e),e}},t.prototype.componentDidMount=function(){this.load()},t.prototype.componentDidUpdate=function(){null===this.state.resolvedSpec?this.load():!this.state.loading&&this.props.onLoaded&&this.props.onLoaded()},t.prototype.load=function(){return Object(o.__awaiter)(this,void 0,void 0,(function(){var e,t,n,r,i;return Object(o.__generator)(this,(function(o){switch(o.label){case 0:e=this.props,t=e.specUrl,n=e.spec,o.label=1;case 1:return o.trys.push([1,3,,4]),[4,He(n||t)];case 2:return r=o.sent(),this.setState({resolvedSpec:r,loading:!1}),[3,4];case 3:return i=o.sent(),this.props.onLoaded&&this.props.onLoaded(i),this.setState({error:i}),[3,4];case 4:return[2]}}))}))},t.prototype.render=function(){if(this.state.error)throw this.state.error;var e=this.props,t=e.specUrl,n=e.options,r=this.state,o=r.loading,i=r.resolvedSpec;return this.props.children({loading:o,store:this.makeStore(i,t,n)})},Object(o.__decorate)([Yn],t.prototype,"makeStore",null),t}(i.Component),Jn=function(e){return ke(Pn||(Pn=Object(o.__makeTemplateObject)(["\n "," {\n cursor: pointer;\n margin-left: -20px;\n padding: 0;\n line-height: 1;\n width: 20px;\n display: inline-block;\n outline: 0;\n }\n ",":before {\n content: '';\n width: 15px;\n height: 15px;\n background-size: contain;\n background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMCIgeT0iMCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA1MTIgNTEyIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBmaWxsPSIjMDEwMTAxIiBkPSJNNDU5LjcgMjMzLjRsLTkwLjUgOTAuNWMtNTAgNTAtMTMxIDUwLTE4MSAwIC03LjktNy44LTE0LTE2LjctMTkuNC0yNS44bDQyLjEtNDIuMWMyLTIgNC41LTMuMiA2LjgtNC41IDIuOSA5LjkgOCAxOS4zIDE1LjggMjcuMiAyNSAyNSA2NS42IDI0LjkgOTAuNSAwbDkwLjUtOTAuNWMyNS0yNSAyNS02NS42IDAtOTAuNSAtMjQuOS0yNS02NS41LTI1LTkwLjUgMGwtMzIuMiAzMi4yYy0yNi4xLTEwLjItNTQuMi0xMi45LTgxLjYtOC45bDY4LjYtNjguNmM1MC01MCAxMzEtNTAgMTgxIDBDNTA5LjYgMTAyLjMgNTA5LjYgMTgzLjQgNDU5LjcgMjMzLjR6TTIyMC4zIDM4Mi4ybC0zMi4yIDMyLjJjLTI1IDI0LjktNjUuNiAyNC45LTkwLjUgMCAtMjUtMjUtMjUtNjUuNiAwLTkwLjVsOTAuNS05MC41YzI1LTI1IDY1LjUtMjUgOTAuNSAwIDcuOCA3LjggMTIuOSAxNy4yIDE1LjggMjcuMSAyLjQtMS40IDQuOC0yLjUgNi44LTQuNWw0Mi4xLTQyYy01LjQtOS4yLTExLjYtMTgtMTkuNC0yNS44IC01MC01MC0xMzEtNTAtMTgxIDBsLTkwLjUgOTAuNWMtNTAgNTAtNTAgMTMxIDAgMTgxIDUwIDUwIDEzMSA1MCAxODEgMGw2OC42LTY4LjZDMjc0LjYgMzk1LjEgMjQ2LjQgMzkyLjMgMjIwLjMgMzgyLjJ6Ii8+PC9zdmc+Cg==');\n opacity: 0.5;\n visibility: hidden;\n display: inline-block;\n vertical-align: middle;\n }\n\n h1:hover > ","::before, h2:hover > ","::before, ",":hover::before {\n visibility: visible;\n }\n"],["\n "," {\n cursor: pointer;\n margin-left: -20px;\n padding: 0;\n line-height: 1;\n width: 20px;\n display: inline-block;\n outline: 0;\n }\n ",":before {\n content: '';\n width: 15px;\n height: 15px;\n background-size: contain;\n background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMCIgeT0iMCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA1MTIgNTEyIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBmaWxsPSIjMDEwMTAxIiBkPSJNNDU5LjcgMjMzLjRsLTkwLjUgOTAuNWMtNTAgNTAtMTMxIDUwLTE4MSAwIC03LjktNy44LTE0LTE2LjctMTkuNC0yNS44bDQyLjEtNDIuMWMyLTIgNC41LTMuMiA2LjgtNC41IDIuOSA5LjkgOCAxOS4zIDE1LjggMjcuMiAyNSAyNSA2NS42IDI0LjkgOTAuNSAwbDkwLjUtOTAuNWMyNS0yNSAyNS02NS42IDAtOTAuNSAtMjQuOS0yNS02NS41LTI1LTkwLjUgMGwtMzIuMiAzMi4yYy0yNi4xLTEwLjItNTQuMi0xMi45LTgxLjYtOC45bDY4LjYtNjguNmM1MC01MCAxMzEtNTAgMTgxIDBDNTA5LjYgMTAyLjMgNTA5LjYgMTgzLjQgNDU5LjcgMjMzLjR6TTIyMC4zIDM4Mi4ybC0zMi4yIDMyLjJjLTI1IDI0LjktNjUuNiAyNC45LTkwLjUgMCAtMjUtMjUtMjUtNjUuNiAwLTkwLjVsOTAuNS05MC41YzI1LTI1IDY1LjUtMjUgOTAuNSAwIDcuOCA3LjggMTIuOSAxNy4yIDE1LjggMjcuMSAyLjQtMS40IDQuOC0yLjUgNi44LTQuNWw0Mi4xLTQyYy01LjQtOS4yLTExLjYtMTgtMTkuNC0yNS44IC01MC01MC0xMzEtNTAtMTgxIDBsLTkwLjUgOTAuNWMtNTAgNTAtNTAgMTMxIDAgMTgxIDUwIDUwIDEzMSA1MCAxODEgMGw2OC42LTY4LjZDMjc0LjYgMzk1LjEgMjQ2LjQgMzkyLjMgMjIwLjMgMzgyLjJ6Ii8+PC9zdmc+Cg==');\n opacity: 0.5;\n visibility: hidden;\n display: inline-block;\n vertical-align: middle;\n }\n\n h1:hover > ","::before, h2:hover > ","::before, ",":hover::before {\n visibility: visible;\n }\n"])),e,e,e,e,e)},Zn=function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)},er=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.navigate=function(e,n){n.defaultPrevented||0!==n.button||Zn(n)||(n.preventDefault(),e.replace(t.props.to))},t}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this;return i.createElement(Xn,null,(function(t){return i.createElement("a",{className:e.props.className,href:t.menu.history.linkForId(e.props.to),onClick:e.navigate.bind(e,t.menu.history)},e.props.children)}))},t}(i.Component),tr=je(er)(Rn||(Rn=Object(o.__makeTemplateObject)(["\n ",";\n"],["\n ",";\n"])),Jn("&"));function nr(e){return i.createElement(tr,{to:e.to})}var rr,or,ir,ar,sr,lr,cr,ur,fr,pr,dr,hr,mr,gr,vr,yr,br,xr,wr,_r,kr,Or,Er,Sr={left:"90deg",right:"-90deg",up:"-180deg",down:"0"},Tr=je(function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){return i.createElement("svg",{className:this.props.className,style:this.props.style,version:"1.1",viewBox:"0 0 24 24",x:"0",xmlns:"http://www.w3.org/2000/svg",y:"0","aria-hidden":"true"},i.createElement("polygon",{points:"17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "}))},t}(i.PureComponent))(rr||(rr=Object(o.__makeTemplateObject)(["\n height: ",";\n width: ",";\n vertical-align: middle;\n float: ",";\n transition: transform 0.2s ease-out;\n transform: rotateZ(",");\n\n polygon {\n fill: ",";\n }\n"],["\n height: ",";\n width: ",";\n vertical-align: middle;\n float: ",";\n transition: transform 0.2s ease-out;\n transform: rotateZ(",");\n\n polygon {\n fill: ",";\n }\n"])),(function(e){return e.size||"18px"}),(function(e){return e.size||"18px"}),(function(e){return e.float||""}),(function(e){return Sr[e.direction||"down"]}),(function(e){var t=e.color,n=e.theme;return t&&n.colors.responses[t]&&n.colors.responses[t].color||t})),jr=je.span(or||(or=Object(o.__makeTemplateObject)(["\n display: inline-block;\n padding: 2px 8px;\n margin: 0;\n background-color: ",";\n color: ",";\n font-size: ",";\n vertical-align: middle;\n line-height: 1.6;\n border-radius: 4px;\n font-weight: ",";\n font-size: 12px;\n + span[type] {\n margin-left: 4px;\n }\n"],["\n display: inline-block;\n padding: 2px 8px;\n margin: 0;\n background-color: ",";\n color: ",";\n font-size: ",";\n vertical-align: middle;\n line-height: 1.6;\n border-radius: 4px;\n font-weight: ",";\n font-size: 12px;\n + span[type] {\n margin-left: 4px;\n }\n"])),(function(e){return e.theme.colors[e.type].main}),(function(e){return e.theme.colors[e.type].contrastText}),(function(e){return e.theme.typography.code.fontSize}),(function(e){return e.theme.typography.fontWeightBold})),Ar=ke(ir||(ir=Object(o.__makeTemplateObject)(["\n text-decoration: line-through;\n color: #707070;\n"],["\n text-decoration: line-through;\n color: #707070;\n"]))),Cr=je.caption(ar||(ar=Object(o.__makeTemplateObject)(["\n text-align: right;\n font-size: 0.9em;\n font-weight: normal;\n color: ",";\n"],["\n text-align: right;\n font-size: 0.9em;\n font-weight: normal;\n color: ",";\n"])),(function(e){return e.theme.colors.text.secondary})),Ir=je.td(lr||(lr=Object(o.__makeTemplateObject)(["\n border-left: 1px solid ",";\n box-sizing: border-box;\n position: relative;\n padding: 10px 10px 10px 0;\n\n ","\n\n tr:first-of-type > &,\n tr.last > & {\n border-left-width: 0;\n background-position: top left;\n background-repeat: no-repeat;\n background-size: 1px 100%;\n }\n\n tr:first-of-type > & {\n background-image: linear-gradient(\n to bottom,\n transparent 0%,\n transparent 22px,\n "," 22px,\n "," 100%\n );\n }\n\n tr.last > & {\n background-image: linear-gradient(\n to bottom,\n "," 0%,\n "," 22px,\n transparent 22px,\n transparent 100%\n );\n }\n\n tr.last + tr > & {\n border-left-color: transparent;\n }\n\n tr.last:first-child > & {\n background: none;\n border-left-color: transparent;\n }\n"],["\n border-left: 1px solid ",";\n box-sizing: border-box;\n position: relative;\n padding: 10px 10px 10px 0;\n\n ","\n\n tr:first-of-type > &,\n tr.last > & {\n border-left-width: 0;\n background-position: top left;\n background-repeat: no-repeat;\n background-size: 1px 100%;\n }\n\n tr:first-of-type > & {\n background-image: linear-gradient(\n to bottom,\n transparent 0%,\n transparent 22px,\n "," 22px,\n "," 100%\n );\n }\n\n tr.last > & {\n background-image: linear-gradient(\n to bottom,\n "," 0%,\n "," 22px,\n transparent 22px,\n transparent 100%\n );\n }\n\n tr.last + tr > & {\n border-left-color: transparent;\n }\n\n tr.last:first-child > & {\n background: none;\n border-left-color: transparent;\n }\n"])),(function(e){return e.theme.schema.linesColor}),Te("small")(sr||(sr=Object(o.__makeTemplateObject)(["\n display: block;\n overflow: hidden;\n "],["\n display: block;\n overflow: hidden;\n "]))),(function(e){return e.theme.schema.linesColor}),(function(e){return e.theme.schema.linesColor}),(function(e){return e.theme.schema.linesColor}),(function(e){return e.theme.schema.linesColor})),Pr=je(Ir)(cr||(cr=Object(o.__makeTemplateObject)(["\n padding: 0;\n"],["\n padding: 0;\n"]))),Rr=je(Ir)(ur||(ur=Object(o.__makeTemplateObject)(["\n vertical-align: top;\n line-height: 20px;\n white-space: nowrap;\n font-size: 13px;\n font-family: ",";\n\n &.deprecated {\n ",";\n }\n\n ",";\n\n ",";\n"],["\n vertical-align: top;\n line-height: 20px;\n white-space: nowrap;\n font-size: 13px;\n font-family: ",";\n\n &.deprecated {\n ",";\n }\n\n ",";\n\n ",";\n"])),(function(e){return e.theme.typography.code.fontFamily}),Ar,(function(e){return"field"!==e.kind?"font-style: italic":""}),Ae("PropertyNameCell")),Nr=je.td(pr||(pr=Object(o.__makeTemplateObject)(["\n border-bottom: none;\n padding: 10px 0;\n width: ",";\n box-sizing: border-box;\n\n tr.expanded & {\n border-bottom: none;\n }\n\n ","\n\n ",";\n"],["\n border-bottom: none;\n padding: 10px 0;\n width: ",";\n box-sizing: border-box;\n\n tr.expanded & {\n border-bottom: none;\n }\n\n ","\n\n ",";\n"])),(function(e){return e.theme.schema.defaultDetailsWidth}),Te("small")(fr||(fr=Object(o.__makeTemplateObject)(["\n padding: 0 20px;\n border-bottom: none;\n border-left: 1px solid ",";\n\n tr.last > & {\n border-left: none;\n }\n "],["\n padding: 0 20px;\n border-bottom: none;\n border-left: 1px solid ",";\n\n tr.last > & {\n border-left: none;\n }\n "])),(function(e){return e.theme.schema.linesColor})),Ae("PropertyDetailsCell")),Lr=je.span(dr||(dr=Object(o.__makeTemplateObject)(["\n color: ",";\n font-family: ",";\n margin-right: 10px;\n\n &::before {\n content: '';\n display: inline-block;\n vertical-align: middle;\n width: 10px;\n height: 1px;\n background: ",";\n }\n\n &::after {\n content: '';\n display: inline-block;\n vertical-align: middle;\n width: 1px;\n background: ",";\n height: 7px;\n }\n"],["\n color: ",";\n font-family: ",";\n margin-right: 10px;\n\n &::before {\n content: '';\n display: inline-block;\n vertical-align: middle;\n width: 10px;\n height: 1px;\n background: ",";\n }\n\n &::after {\n content: '';\n display: inline-block;\n vertical-align: middle;\n width: 1px;\n background: ",";\n height: 7px;\n }\n"])),(function(e){return e.theme.schema.linesColor}),(function(e){return e.theme.typography.code.fontFamily}),(function(e){return e.theme.schema.linesColor}),(function(e){return e.theme.schema.linesColor})),Mr=je.div(hr||(hr=Object(o.__makeTemplateObject)(["\n padding: ",";\n"],["\n padding: ",";\n"])),(function(e){return e.theme.schema.nestingSpacing})),Dr=je.table(vr||(vr=Object(o.__makeTemplateObject)(["\n border-collapse: separate;\n border-radius: 3px;\n font-size: ",";\n\n border-spacing: 0;\n width: 100%;\n\n > tr {\n vertical-align: middle;\n }\n\n ","\n\n ","\n\n &\n ",",\n &\n ","\n ","\n ",",\n &\n ","\n ","\n ","\n ","\n "," {\n margin: ",";\n margin-right: 0;\n background: ",";\n }\n\n &\n ","\n ",",\n &\n ","\n ","\n ","\n ",",\n &\n ","\n ","\n ","\n ","\n ","\n "," {\n background: #ffffff;\n }\n"],["\n border-collapse: separate;\n border-radius: 3px;\n font-size: ",";\n\n border-spacing: 0;\n width: 100%;\n\n > tr {\n vertical-align: middle;\n }\n\n ","\n\n ","\n\n &\n ",",\n &\n ","\n ","\n ",",\n &\n ","\n ","\n ","\n ","\n "," {\n margin: ",";\n margin-right: 0;\n background: ",";\n }\n\n &\n ","\n ",",\n &\n ","\n ","\n ","\n ",",\n &\n ","\n ","\n ","\n ","\n ","\n "," {\n background: #ffffff;\n }\n"])),(function(e){return e.theme.typography.fontSize}),Te("small")(mr||(mr=Object(o.__makeTemplateObject)(["\n display: block;\n > tr, > tbody > tr {\n display: block;\n }\n "],["\n display: block;\n > tr, > tbody > tr {\n display: block;\n }\n "]))),Te("small",!1," and (-ms-high-contrast:none)")(gr||(gr=Object(o.__makeTemplateObject)(["\n td {\n float: left;\n width: 100%;\n }\n "],["\n td {\n float: left;\n width: 100%;\n }\n "]))),Mr,Mr,Mr,Mr,Mr,Mr,Mr,Mr,Mr,(function(e){return e.theme.schema.nestingSpacing}),(function(e){return e.theme.schema.nestedBackground}),Mr,Mr,Mr,Mr,Mr,Mr,Mr,Mr,Mr,Mr,Mr,Mr),Fr=je.div(yr||(yr=Object(o.__makeTemplateObject)(["\n margin: 0 0 3px 0;\n display: inline-block;\n"],["\n margin: 0 0 3px 0;\n display: inline-block;\n"]))),zr=je.span(br||(br=Object(o.__makeTemplateObject)(["\n font-size: 0.9em;\n margin-right: 10px;\n color: ",";\n font-family: ",";\n}\n"],["\n font-size: 0.9em;\n margin-right: 10px;\n color: ",";\n font-family: ",";\n}\n"])),(function(e){return e.theme.colors.primary.main}),(function(e){return e.theme.typography.headings.fontFamily})),Ur=je.button(xr||(xr=Object(o.__makeTemplateObject)(["\n display: inline-block;\n margin-right: 10px;\n margin-bottom: 5px;\n font-size: 0.8em;\n cursor: pointer;\n border: 1px solid ",";\n padding: 2px 10px;\n line-height: 1.5em;\n outline: none;\n &:focus {\n box-shadow: 0 0 0 1px ",";\n }\n\n ","\n"],["\n display: inline-block;\n margin-right: 10px;\n margin-bottom: 5px;\n font-size: 0.8em;\n cursor: pointer;\n border: 1px solid ",";\n padding: 2px 10px;\n line-height: 1.5em;\n outline: none;\n &:focus {\n box-shadow: 0 0 0 1px ",";\n }\n\n ","\n"])),(function(e){return e.theme.colors.primary.main}),(function(e){return e.theme.colors.primary.main}),(function(e){return e.active?"\n color: white;\n background-color: "+e.theme.colors.primary.main+";\n &:focus {\n box-shadow: none;\n background-color: "+q(.15,e.theme.colors.primary.main)+";\n }\n ":"\n color: "+e.theme.colors.primary.main+";\n background-color: white;\n "})),Br=je.div(wr||(wr=Object(o.__makeTemplateObject)(["\n font-size: 0.9em;\n font-family: ",";\n &::after {\n content: ' [';\n }\n"],["\n font-size: 0.9em;\n font-family: ",";\n &::after {\n content: ' [';\n }\n"])),(function(e){return e.theme.typography.code.fontFamily})),$r=je.div(_r||(_r=Object(o.__makeTemplateObject)(["\n font-size: 0.9em;\n font-family: ",";\n &::after {\n content: ']';\n }\n"],["\n font-size: 0.9em;\n font-family: ",";\n &::after {\n content: ']';\n }\n"])),(function(e){return e.theme.typography.code.fontFamily})),Wr=function(){return(Wr=Object.assign||function(e){for(var t,n=1,r=arguments.length;n=0&&n.push(s)}else a.value.toLowerCase().includes(r)&&n.push(a)}return n}(t,o):t}),[t,o]),l=Object(i.useCallback)((function(t,n){void 0===n&&(n=!0),a(t),n&&e(0)}),[e,a]);return{searchTerm:o,setSearchTerm:l,filteredOptions:s}}(h,n,r),E=O.searchTerm,S=O.setSearchTerm,T=O.filteredOptions,j=Object(i.useMemo)((function(){return T.reduce(eo,[])}),[T]),A=Object(i.useMemo)((function(){return j.map((function(e){return e.value})).indexOf(u)}),[j,u]),C=Object(i.useCallback)((function(e){void 0===e&&(e=!1),S("",!1),v(!1),e&&b.current&&b.current.focus()}),[b.current,S,v]),I=Object(i.useCallback)((function(){h(A>0?A:0),v(!0)}),[v,h,A]),P=Object(i.useCallback)((function(e,t){void 0===t&&(t=!1),e&&(o(e),S("",!1)),t&&C(!0)}),[o,C,S]);!function(e,t){var n=function(n){t.current&&!t.current.contains(n.target)&&e()};Object(i.useEffect)((function(){return document.addEventListener("mouseup",n,!1),document.addEventListener("touchend",n,!1),function(){document.removeEventListener("mouseup",n),document.removeEventListener("touchend",n)}}),[])}(C,y),function(e,t){Object(i.useEffect)((function(){if(t.current&&e>=0){var n=t.current.getElementsByClassName("dropdown-option"),r=n&&n.length?n[e]:null;if(r&&r.getBoundingClientRect){var o=r.getBoundingClientRect().height,i=t.current.getBoundingClientRect().height,a=t.current.scrollTop,s=r.offsetTop<=a;r.offsetTop>=a&&r.offsetTop+o<=a+i||(s?t.current.scrollTo({top:r.offsetTop}):t.current.scrollTo({top:r.offsetTop-i+o+8}))}}}),[e])}(d,x);var R=Object(i.useMemo)((function(){return{"aria-hidden":a,"aria-expanded":g,"aria-haspopup":"listbox","aria-activedescendant":t+"_list_"+d,"aria-controls":t+"_list","aria-label":l,"aria-labelledby":c,"aria-describedby":s}}),[a,g,t,d,l,c,s]);return{focusedIndex:d,setFocusedIndex:h,open:g,setOpen:v,searchTerm:E,setSearchTerm:S,dropdownFocused:_,setDropdownFocused:k,setValue:P,filteredOptions:T,openDropdown:I,closeDropdown:C,flattenedOptions:j,container:y,inputRef:b,listWrapper:x,ariaProps:R,ariaList:ko(j,A,t)}},Eo=0,So=function(e){var t,n=e.arrowRenderer,r=e.contentClassName,o=e.className,a=e.disabled,s=e.hideArrow,l=e.id,c=e.optionItemRenderer,u=e.pageKeyTraverseSize,f=e.placeholder,p=e.searchable,d=e.value,h=e.selectedValueClassName,m=Object(i.useMemo)((function(){return t||(e=Eo,Eo+=1,"react_dropdown_aria_"+e);var e}),[t=l]),g=Oo(e,m),v=g.open,y=g.dropdownFocused,b=g.focusedIndex,x=g.setFocusedIndex,w=g.setDropdownFocused,_=g.setValue,k=g.openDropdown,O=g.closeDropdown,E=g.searchTerm,S=g.setSearchTerm,T=g.filteredOptions,j=g.flattenedOptions,A=g.container,C=g.inputRef,I=g.listWrapper,P=g.ariaProps,R=g.ariaList,N=Object(i.useCallback)((function(){C.current&&C.current.focus()}),[C.current]),L=Object(i.useCallback)((function(){N(),a||v&&p||(v?O(!0):k())}),[v,a,p,O,k]),M=Object(i.useCallback)((function(e){switch(e){case Or.UP_ARROW:x((function(e){return 0===e?j.length-1:e-1}));break;case Or.DOWN_ARROW:x((function(e){return(e+1)%j.length}));break;case Or.PAGE_UP:x((function(e){return e-u<0&&0!==e?0:e-u<0?j.length-1:e-u}));break;case Or.PAGE_DOWN:x((function(e){return e===j.length-1?0:e+u>j.length-1?j.length-1:(e+u)%j.length}));break;case Or.ESCAPE:O(!0)}}),[x,j,u,O]),D=Object(i.useCallback)((function(e){var t=e.keyCode;-1!==qr.indexOf(t)?(e.preventDefault(),e.stopPropagation(),M(t)):t!==Or.ENTER&&(t!==Or.SPACE||p)||v?t!==Or.TAB||p?(t===Or.TAB||t===Or.ENTER)&&j.length>0&&b>=0&&v&&(e.stopPropagation(),e.preventDefault(),_(j[b],!0)):O():(e.preventDefault(),k())}),[j,_,b,v,M,k,p,O]),F=Object(i.useCallback)((function(e){S(e.target.value)}),[S]),z=Object(i.useCallback)((function(){return w(!0)}),[w]),U=Object(i.useCallback)((function(){return w(!1)}),[w]),B=Object(i.useMemo)((function(){if(s)return null;if(n)return Object(i.createElement)(co,{className:"dropdown-arrow"},n(v));var e=v&&p;return Object(i.createElement)(co,{className:"dropdown-arrow"},e&&Object(i.createElement)(xo,null),!e&&Object(i.createElement)(bo,null))}),[v,n,p,s]);return Object(i.createElement)(ro,{ref:A,onFocus:N,onClick:L,role:"button",width:e.width,height:e.height,disabled:a,open:v,dropdownFocused:y,className:no("dropdown",o)},Object(i.createElement)(oo,{className:"dropdown-selector",open:v,searchable:e.searchable},Object(i.createElement)(io,{className:"dropdown-selector-search"},Object(i.createElement)("input",Wr({id:m,ref:C,value:E,onChange:F,onKeyDown:D,onFocus:z,onBlur:U,readOnly:!v||!p,disabled:a,autoComplete:"off",role:"combobox"},P))),!d&&!E&&Object(i.createElement)(lo,{className:"dropdown-selector-placeholder",centerText:e.centerText},f),d&&!E&&Object(i.createElement)(so,{className:no("dropdown-selector-value",h),centerText:e.centerText,value:d,open:v},d),B),R,Object(i.createElement)(uo,{maxContentHeight:e.maxContentHeight,openUp:e.openUp,open:v,className:no("dropdown-selector-content",r),ref:I},Object(i.createElement)(wo,{selectedOption:d,options:T,focusedIndex:b,onOptionClicked:_,optionItemRenderer:c,empty:0===j.length})))};So.defaultProps={ariaDescribedBy:null,ariaLabel:null,ariaLabelledBy:null,arrowRenderer:void 0,centerText:!1,className:void 0,contentClassName:null,defaultOpen:!1,disabled:!1,height:null,hideArrow:!1,id:null,maxContentHeight:150,openUp:!1,optionItemRenderer:void 0,pageKeyTraverseSize:10,placeholder:"Select ...",searchable:!1,selectedValueClassName:null,style:{},value:void 0,width:null};var To,jo,Ao,Co=je(So)(To||(To=Object(o.__makeTemplateObject)(["\n && {\n box-sizing: border-box;\n min-width: 100px;\n outline: none;\n display: inline-block;\n border-radius: 2px;\n border: 1px solid rgba(38, 50, 56, 0.5);\n vertical-align: bottom;\n padding: 2px 0px 2px 6px;\n position: relative;\n width: auto;\n background: white;\n color: #263238;\n font-family: ",";\n font-size: 0.929em;\n line-height: 1.5em;\n cursor: pointer;\n transition: border 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;\n &:hover,\n &:focus-within {\n border: 1px solid ",";\n color: ",";\n box-shadow: 0px 0px 0px 1px ",";\n }\n .dropdown-selector {\n display: inline-flex;\n padding: 0;\n height: auto;\n padding-right: 20px;\n position: relative;\n margin-bottom: 5px;\n }\n .dropdown-selector-value {\n font-family: ",";\n position: relative;\n font-size: 0.929em;\n width: 100%;\n line-height: 1;\n vertical-align: middle;\n color: #263238;\n left: 0;\n transition: color 0.25s ease, text-shadow 0.25s ease;\n }\n .dropdown-arrow {\n position: absolute;\n right: 3px;\n top: 50%;\n transform: translateY(-50%);\n border-color: "," transparent transparent;\n border-style: solid;\n border-width: 0.35em 0.35em 0;\n width: 0;\n svg {\n display: none;\n }\n }\n\n .dropdown-selector-content {\n position: absolute;\n margin-top: 2px;\n left: -2px;\n right: 0;\n\n z-index: 10;\n min-width: 100px;\n\n background: white;\n border: 1px solid rgba(38, 50, 56, 0.2);\n box-shadow: 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.08);\n\n max-height: 220px;\n overflow: auto;\n }\n\n .dropdown-option {\n font-size: 0.9em;\n color: #263238;\n cursor: pointer;\n padding: 0.4em;\n background-color: #ffffff;\n\n &[aria-selected='true'] {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:hover {\n background-color: rgba(38, 50, 56, 0.12);\n }\n }\n input {\n cursor: pointer;\n height: 1px;\n background-color: transparent;\n }\n }\n"],["\n && {\n box-sizing: border-box;\n min-width: 100px;\n outline: none;\n display: inline-block;\n border-radius: 2px;\n border: 1px solid rgba(38, 50, 56, 0.5);\n vertical-align: bottom;\n padding: 2px 0px 2px 6px;\n position: relative;\n width: auto;\n background: white;\n color: #263238;\n font-family: ",";\n font-size: 0.929em;\n line-height: 1.5em;\n cursor: pointer;\n transition: border 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;\n &:hover,\n &:focus-within {\n border: 1px solid ",";\n color: ",";\n box-shadow: 0px 0px 0px 1px ",";\n }\n .dropdown-selector {\n display: inline-flex;\n padding: 0;\n height: auto;\n padding-right: 20px;\n position: relative;\n margin-bottom: 5px;\n }\n .dropdown-selector-value {\n font-family: ",";\n position: relative;\n font-size: 0.929em;\n width: 100%;\n line-height: 1;\n vertical-align: middle;\n color: #263238;\n left: 0;\n transition: color 0.25s ease, text-shadow 0.25s ease;\n }\n .dropdown-arrow {\n position: absolute;\n right: 3px;\n top: 50%;\n transform: translateY(-50%);\n border-color: "," transparent transparent;\n border-style: solid;\n border-width: 0.35em 0.35em 0;\n width: 0;\n svg {\n display: none;\n }\n }\n\n .dropdown-selector-content {\n position: absolute;\n margin-top: 2px;\n left: -2px;\n right: 0;\n\n z-index: 10;\n min-width: 100px;\n\n background: white;\n border: 1px solid rgba(38, 50, 56, 0.2);\n box-shadow: 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.08);\n\n max-height: 220px;\n overflow: auto;\n }\n\n .dropdown-option {\n font-size: 0.9em;\n color: #263238;\n cursor: pointer;\n padding: 0.4em;\n background-color: #ffffff;\n\n &[aria-selected='true'] {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:hover {\n background-color: rgba(38, 50, 56, 0.12);\n }\n }\n input {\n cursor: pointer;\n height: 1px;\n background-color: transparent;\n }\n }\n"])),(function(e){return e.theme.typography.headings.fontFamily}),(function(e){return e.theme.colors.primary.main}),(function(e){return e.theme.colors.primary.main}),(function(e){return e.theme.colors.primary.main}),(function(e){return e.theme.typography.headings.fontFamily}),(function(e){return e.theme.colors.primary.main})),Io=je(Co)(jo||(jo=Object(o.__makeTemplateObject)(["\n && {\n margin-left: 10px;\n text-transform: none;\n font-size: 0.969em;\n\n font-size: 1em;\n border: none;\n padding: 0 1.2em 0 0;\n background: transparent;\n\n &:hover,\n &:focus-within {\n border: none;\n box-shadow: none;\n .dropdown-selector-value {\n color: ",";\n text-shadow: 0px 0px 0px ",";\n }\n }\n }\n"],["\n && {\n margin-left: 10px;\n text-transform: none;\n font-size: 0.969em;\n\n font-size: 1em;\n border: none;\n padding: 0 1.2em 0 0;\n background: transparent;\n\n &:hover,\n &:focus-within {\n border: none;\n box-shadow: none;\n .dropdown-selector-value {\n color: ",";\n text-shadow: 0px 0px 0px ",";\n }\n }\n }\n"])),(function(e){return e.theme.colors.primary.main}),(function(e){return e.theme.colors.primary.main})),Po=je.span(Ao||(Ao=Object(o.__makeTemplateObject)(["\n margin-left: 10px;\n text-transform: none;\n font-size: 0.929em;\n color: black;\n"],["\n margin-left: 10px;\n text-transform: none;\n font-size: 0.929em;\n color: black;\n"])));function Ro(e){return function(t){return!!t.type&&t.type.tabsRole===e}}var No=Ro("Tab"),Lo=Ro("TabList"),Mo=Ro("TabPanel");function Do(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Fo(e){for(var t=1;t=this.getTabsCount())){var n=this.props;(0,n.onSelect)(e,n.selectedIndex,t)}},o.getNextTab=function(e){for(var t=this.getTabsCount(),n=e+1;ne;)if(!Ko(this.getTab(t)))return t;return e},o.getFirstTab=function(){for(var e=this.getTabsCount(),t=0;t=0||(o[n]=e[n]);return o}(t,["children","className","disabledTabClassName","domRef","focus","forceRenderTabPanel","onSelect","selectedIndex","selectedTabClassName","selectedTabPanelClassName"]));return a.a.createElement("div",Qo({},o,{className:qo(n),onClick:this.handleClick,onKeyDown:this.handleKeyDown,ref:function(t){e.node=t,r&&r(t)},"data-tabs":!0}),this.getChildren())},r}(i.Component);Jo.defaultProps={className:"react-tabs",focus:!1},Jo.propTypes={};var Zo=function(e){var t,n;function r(t){var n;return(n=e.call(this,t)||this).handleSelected=function(e,t,r){var o=n.props.onSelect,i=n.state.mode;if("function"!=typeof o||!1!==o(e,t,r)){var a={focus:"keydown"===r.type};1===i&&(a.selectedIndex=e),n.setState(a)}},n.state=r.copyPropsToState(n.props,{},t.defaultFocus),n}return n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,r.getDerivedStateFromProps=function(e,t){return r.copyPropsToState(e,t)},r.getModeFromProps=function(e){return null===e.selectedIndex?1:0},r.copyPropsToState=function(e,t,n){void 0===n&&(n=!1);var o={focus:n,mode:r.getModeFromProps(e)};if(1===o.mode){var i=Yo(e.children)-1,a=null;a=null!=t.selectedIndex?Math.min(t.selectedIndex,i):e.defaultIndex||0,o.selectedIndex=a}return o},r.prototype.render=function(){var e=this.props,t=e.children,n=(e.defaultIndex,e.defaultFocus,function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["children","defaultIndex","defaultFocus"])),r=this.state,o=r.focus,i=r.selectedIndex;return n.focus=o,n.onSelect=this.handleSelected,null!=i&&(n.selectedIndex=i),a.a.createElement(Jo,n,t)},r}(i.Component);function ei(){return(ei=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,["children","className"]);return a.a.createElement("ul",ei({},r,{className:qo(n),role:"tablist"}),t)},r}(i.Component);function ni(){return(ni=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(n,["children","className","disabled","disabledClassName","focus","id","panelId","selected","selectedClassName","tabIndex","tabRef"]);return a.a.createElement("li",ni({},h,{className:qo(o,(e={},e[f]=u,e[s]=i,e)),ref:function(e){t.node=e,d&&d(e)},role:"tab",id:l,"aria-selected":u?"true":"false","aria-disabled":i?"true":"false","aria-controls":c,tabIndex:p||(u?"0":null)}),r)},r}(i.Component);function oi(){return(oi=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(t,["children","className","forceRender","id","selected","selectedClassName","tabId"]);return a.a.createElement("div",oi({},u,{className:qo(r,(e={},e[l]=s,e)),role:"tabpanel",id:i,"aria-labelledby":c}),o||s?n:null)},r}(i.Component);ii.defaultProps={className:"react-tabs__tab-panel",forceRender:!1,selectedClassName:"react-tabs__tab-panel--selected"},ii.propTypes={},ii.tabsRole="TabPanel";var ai,si,li,ci,ui,fi,pi=je(Zo)(ai||(ai=Object(o.__makeTemplateObject)(["\n > ul {\n list-style: none;\n padding: 0;\n margin: 0;\n margin: 0 -5px;\n\n > li {\n padding: 5px 10px;\n display: inline-block;\n\n background-color: ",";\n border-bottom: 1px solid rgba(0, 0, 0, 0.5);\n cursor: pointer;\n text-align: center;\n outline: none;\n color: ",";\n margin: 0\n ",";\n border: 1px solid ",";\n border-radius: 5px;\n min-width: 60px;\n font-size: 0.9em;\n font-weight: bold;\n\n &.react-tabs__tab--selected {\n color: ",";\n background: ",";\n &:focus {\n outline: auto;\n }\n }\n\n &:only-child {\n flex: none;\n min-width: 100px;\n }\n\n &.tab-success {\n color: ",";\n }\n\n &.tab-redirect {\n color: ",";\n }\n\n &.tab-info {\n color: ",";\n }\n\n &.tab-error {\n color: ",";\n }\n }\n }\n > .react-tabs__tab-panel {\n background: ",";\n & > div,\n & > pre {\n padding: ","px;\n margin: 0;\n }\n\n & > div > pre {\n padding: 0;\n }\n }\n"],["\n > ul {\n list-style: none;\n padding: 0;\n margin: 0;\n margin: 0 -5px;\n\n > li {\n padding: 5px 10px;\n display: inline-block;\n\n background-color: ",";\n border-bottom: 1px solid rgba(0, 0, 0, 0.5);\n cursor: pointer;\n text-align: center;\n outline: none;\n color: ",";\n margin: 0\n ",";\n border: 1px solid ",";\n border-radius: 5px;\n min-width: 60px;\n font-size: 0.9em;\n font-weight: bold;\n\n &.react-tabs__tab--selected {\n color: ",";\n background: ",";\n &:focus {\n outline: auto;\n }\n }\n\n &:only-child {\n flex: none;\n min-width: 100px;\n }\n\n &.tab-success {\n color: ",";\n }\n\n &.tab-redirect {\n color: ",";\n }\n\n &.tab-info {\n color: ",";\n }\n\n &.tab-error {\n color: ",";\n }\n }\n }\n > .react-tabs__tab-panel {\n background: ",";\n & > div,\n & > pre {\n padding: ","px;\n margin: 0;\n }\n\n & > div > pre {\n padding: 0;\n }\n }\n"])),(function(e){return e.theme.codeBlock.backgroundColor}),(function(e){var t=e.theme;return q(t.colors.tonalOffset,t.rightPanel.textColor)}),(function(e){var t=e.theme;return t.spacing.unit+"px "+t.spacing.unit+"px "+t.spacing.unit+"px"}),(function(e){var t=e.theme;return q(.05,t.codeBlock.backgroundColor)}),(function(e){return e.theme.colors.text.primary}),(function(e){return e.theme.rightPanel.textColor}),(function(e){return e.theme.colors.responses.success.tabTextColor}),(function(e){return e.theme.colors.responses.redirect.tabTextColor}),(function(e){return e.theme.colors.responses.info.tabTextColor}),(function(e){return e.theme.colors.responses.error.tabTextColor}),(function(e){return e.theme.codeBlock.backgroundColor}),(function(e){return 4*e.theme.spacing.unit})),di=(je(pi)(si||(si=Object(o.__makeTemplateObject)(["\n > ul {\n display: block;\n > li {\n padding: 2px 5px;\n min-width: auto;\n margin: 0 15px 0 0;\n font-size: 13px;\n font-weight: normal;\n border-bottom: 1px dashed;\n color: ",";\n border-radius: 0;\n background: none;\n\n &:last-child {\n margin-right: 0;\n }\n\n &.react-tabs__tab--selected {\n color: ",";\n background: none;\n }\n }\n }\n > .react-tabs__tab-panel {\n & > div,\n & > pre {\n padding: ","px 0;\n }\n }\n"],["\n > ul {\n display: block;\n > li {\n padding: 2px 5px;\n min-width: auto;\n margin: 0 15px 0 0;\n font-size: 13px;\n font-weight: normal;\n border-bottom: 1px dashed;\n color: ",";\n border-radius: 0;\n background: none;\n\n &:last-child {\n margin-right: 0;\n }\n\n &.react-tabs__tab--selected {\n color: ",";\n background: none;\n }\n }\n }\n > .react-tabs__tab-panel {\n & > div,\n & > pre {\n padding: ","px 0;\n }\n }\n"])),(function(e){var t=e.theme;return q(t.colors.tonalOffset,t.rightPanel.textColor)}),(function(e){return e.theme.rightPanel.textColor}),(function(e){return 2*e.theme.spacing.unit})),je.div(li||(li=Object(o.__makeTemplateObject)(["\n /**\n * Based on prism-dark.css\n */\n\n code[class*='language-'],\n pre[class*='language-'] {\n /* color: white;\n background: none; */\n text-shadow: 0 -0.1em 0.2em black;\n text-align: left;\n white-space: pre;\n word-spacing: normal;\n word-break: normal;\n word-wrap: normal;\n line-height: 1.5;\n\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n\n -webkit-hyphens: none;\n -moz-hyphens: none;\n -ms-hyphens: none;\n hyphens: none;\n }\n\n @media print {\n code[class*='language-'],\n pre[class*='language-'] {\n text-shadow: none;\n }\n }\n\n /* Code blocks */\n pre[class*='language-'] {\n padding: 1em;\n margin: 0.5em 0;\n overflow: auto;\n }\n\n .token.comment,\n .token.prolog,\n .token.doctype,\n .token.cdata {\n color: hsl(30, 20%, 50%);\n }\n\n .token.punctuation {\n opacity: 0.7;\n }\n\n .namespace {\n opacity: 0.7;\n }\n\n .token.property,\n .token.tag,\n .token.number,\n .token.constant,\n .token.symbol {\n color: #4a8bb3;\n }\n\n .token.boolean {\n color: #e64441;\n }\n\n .token.selector,\n .token.attr-name,\n .token.string,\n .token.char,\n .token.builtin,\n .token.inserted {\n color: #a0fbaa;\n & + a,\n & + a:visited {\n color: #4ed2ba;\n text-decoration: underline;\n }\n }\n\n .token.property.string {\n color: white;\n }\n\n .token.operator,\n .token.entity,\n .token.url,\n .token.variable {\n color: hsl(40, 90%, 60%);\n }\n\n .token.atrule,\n .token.attr-value,\n .token.keyword {\n color: hsl(350, 40%, 70%);\n }\n\n .token.regex,\n .token.important {\n color: #e90;\n }\n\n .token.important,\n .token.bold {\n font-weight: bold;\n }\n .token.italic {\n font-style: italic;\n }\n\n .token.entity {\n cursor: help;\n }\n\n .token.deleted {\n color: red;\n }\n\n ",";\n"],["\n /**\n * Based on prism-dark.css\n */\n\n code[class*='language-'],\n pre[class*='language-'] {\n /* color: white;\n background: none; */\n text-shadow: 0 -0.1em 0.2em black;\n text-align: left;\n white-space: pre;\n word-spacing: normal;\n word-break: normal;\n word-wrap: normal;\n line-height: 1.5;\n\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n\n -webkit-hyphens: none;\n -moz-hyphens: none;\n -ms-hyphens: none;\n hyphens: none;\n }\n\n @media print {\n code[class*='language-'],\n pre[class*='language-'] {\n text-shadow: none;\n }\n }\n\n /* Code blocks */\n pre[class*='language-'] {\n padding: 1em;\n margin: 0.5em 0;\n overflow: auto;\n }\n\n .token.comment,\n .token.prolog,\n .token.doctype,\n .token.cdata {\n color: hsl(30, 20%, 50%);\n }\n\n .token.punctuation {\n opacity: 0.7;\n }\n\n .namespace {\n opacity: 0.7;\n }\n\n .token.property,\n .token.tag,\n .token.number,\n .token.constant,\n .token.symbol {\n color: #4a8bb3;\n }\n\n .token.boolean {\n color: #e64441;\n }\n\n .token.selector,\n .token.attr-name,\n .token.string,\n .token.char,\n .token.builtin,\n .token.inserted {\n color: #a0fbaa;\n & + a,\n & + a:visited {\n color: #4ed2ba;\n text-decoration: underline;\n }\n }\n\n .token.property.string {\n color: white;\n }\n\n .token.operator,\n .token.entity,\n .token.url,\n .token.variable {\n color: hsl(40, 90%, 60%);\n }\n\n .token.atrule,\n .token.attr-value,\n .token.keyword {\n color: hsl(350, 40%, 70%);\n }\n\n .token.regex,\n .token.important {\n color: #e90;\n }\n\n .token.important,\n .token.bold {\n font-weight: bold;\n }\n .token.italic {\n font-style: italic;\n }\n\n .token.entity {\n cursor: help;\n }\n\n .token.deleted {\n color: red;\n }\n\n ",";\n"])),Ae("Prism"))),hi=je.div(ci||(ci=Object(o.__makeTemplateObject)(["\n opacity: 0.7;\n transition: opacity 0.3s ease;\n text-align: right;\n &:focus-within {\n opacity: 1;\n }\n > button {\n background-color: transparent;\n border: 0;\n color: inherit;\n padding: 2px 10px;\n font-family: ",";\n font-size: ",";\n line-height: ",";\n cursor: pointer;\n outline: 0;\n\n :hover,\n :focus {\n background: rgba(255, 255, 255, 0.1);\n }\n }\n"],["\n opacity: 0.7;\n transition: opacity 0.3s ease;\n text-align: right;\n &:focus-within {\n opacity: 1;\n }\n > button {\n background-color: transparent;\n border: 0;\n color: inherit;\n padding: 2px 10px;\n font-family: ",";\n font-size: ",";\n line-height: ",";\n cursor: pointer;\n outline: 0;\n\n :hover,\n :focus {\n background: rgba(255, 255, 255, 0.1);\n }\n }\n"])),(function(e){return e.theme.typography.fontFamily}),(function(e){return e.theme.typography.fontSize}),(function(e){return e.theme.typography.lineHeight})),mi=je.div(ui||(ui=Object(o.__makeTemplateObject)(["\n &:hover "," {\n opacity: 1;\n }\n"],["\n &:hover "," {\n opacity: 1;\n }\n"])),hi),gi=je(di.withComponent("pre"))(fi||(fi=Object(o.__makeTemplateObject)(["\n font-family: ",";\n font-size: ",";\n overflow-x: auto;\n margin: 0;\n\n white-space: ",";\n"],["\n font-family: ",";\n font-size: ",";\n overflow-x: auto;\n margin: 0;\n\n white-space: ",";\n"])),(function(e){return e.theme.typography.code.fontFamily}),(function(e){return e.theme.typography.code.fontSize}),(function(e){return e.theme.typography.code.wrap?"pre-wrap":"pre"})); +e.exports=function(e,t){e||(e=document),t||(t=window);var n,r,o=[],i=!1,a=e.documentElement,s=function(){},l="hidden",c="visibilitychange";void 0!==e.webkitHidden&&(l="webkitHidden",c="webkitvisibilitychange"),t.getComputedStyle||d();for(var u=["","-webkit-","-moz-","-ms-"],f=document.createElement("div"),p=u.length-1;p>=0;p--){try{f.style.position=u[p]+"sticky"}catch(e){}""!=f.style.position&&d()}function d(){C=L=I=P=R=N=s}function h(e){return parseFloat(e)||0}function m(){n={top:t.pageYOffset,left:t.pageXOffset}}function g(){if(t.pageXOffset!=n.left)return m(),void I();t.pageYOffset!=n.top&&(m(),y())}function v(e){setTimeout((function(){t.pageYOffset!=n.top&&(n.top=t.pageYOffset,y())}),0)}function y(){for(var e=o.length-1;e>=0;e--)b(o[e])}function b(e){if(e.inited){var t=n.top<=e.limit.start?0:n.top>=e.limit.end?2:1;e.mode!=t&&function(e,t){var n=e.node.style;switch(t){case 0:n.position="absolute",n.left=e.offset.left+"px",n.right=e.offset.right+"px",n.top=e.offset.top+"px",n.bottom="auto",n.width="auto",n.marginLeft=0,n.marginRight=0,n.marginTop=0;break;case 1:n.position="fixed",n.left=e.box.left+"px",n.right=e.box.right+"px",n.top=e.css.top,n.bottom="auto",n.width="auto",n.marginLeft=0,n.marginRight=0,n.marginTop=0;break;case 2:n.position="absolute",n.left=e.offset.left+"px",n.right=e.offset.right+"px",n.top="auto",n.bottom=0,n.width="auto",n.marginLeft=0,n.marginRight=0}e.mode=t}(e,t)}}function x(e){isNaN(parseFloat(e.computed.top))||e.isCell||(e.inited=!0,e.clone||function(e){e.clone=document.createElement("div");var t=e.node.nextSibling||e.node,n=e.clone.style;n.height=e.height+"px",n.width=e.width+"px",n.marginTop=e.computed.marginTop,n.marginBottom=e.computed.marginBottom,n.marginLeft=e.computed.marginLeft,n.marginRight=e.computed.marginRight,n.padding=n.border=n.borderSpacing=0,n.fontSize="1em",n.position="static",n.cssFloat=e.computed.cssFloat,e.node.parentNode.insertBefore(e.clone,t)}(e),"absolute"!=e.parent.computed.position&&"relative"!=e.parent.computed.position&&(e.parent.node.style.position="relative"),b(e),e.parent.height=e.parent.node.offsetHeight,e.docOffsetTop=E(e.clone))}function w(e){var t=!0;e.clone&&function(e){e.clone.parentNode.removeChild(e.clone),e.clone=void 0}(e),function(e,t){for(key in t)t.hasOwnProperty(key)&&(e[key]=t[key])}(e.node.style,e.css);for(var n=o.length-1;n>=0;n--)if(o[n].node!==e.node&&o[n].parent.node===e.parent.node){t=!1;break}t&&(e.parent.node.style.position=e.parent.css.position),e.mode=-1}function _(){for(var e=o.length-1;e>=0;e--)x(o[e])}function k(){for(var e=o.length-1;e>=0;e--)w(o[e])}function O(e){var t=getComputedStyle(e),n=e.parentNode,r=getComputedStyle(n),o=e.style.position;e.style.position="relative";var i={top:t.top,marginTop:t.marginTop,marginBottom:t.marginBottom,marginLeft:t.marginLeft,marginRight:t.marginRight,cssFloat:t.cssFloat},s={top:h(t.top),marginBottom:h(t.marginBottom),paddingLeft:h(t.paddingLeft),paddingRight:h(t.paddingRight),borderLeftWidth:h(t.borderLeftWidth),borderRightWidth:h(t.borderRightWidth)};e.style.position=o;var l={position:e.style.position,top:e.style.top,bottom:e.style.bottom,left:e.style.left,right:e.style.right,width:e.style.width,marginTop:e.style.marginTop,marginLeft:e.style.marginLeft,marginRight:e.style.marginRight},c=S(e),u=S(n),f={node:n,css:{position:n.style.position},computed:{position:r.position},numeric:{borderLeftWidth:h(r.borderLeftWidth),borderRightWidth:h(r.borderRightWidth),borderTopWidth:h(r.borderTopWidth),borderBottomWidth:h(r.borderBottomWidth)}};return{node:e,box:{left:c.win.left,right:a.clientWidth-c.win.right},offset:{top:c.win.top-u.win.top-f.numeric.borderTopWidth,left:c.win.left-u.win.left-f.numeric.borderLeftWidth,right:-c.win.right+u.win.right-f.numeric.borderRightWidth},css:l,isCell:"table-cell"==t.display,computed:i,numeric:s,width:c.win.right-c.win.left,height:c.win.bottom-c.win.top,mode:-1,inited:!1,parent:f,limit:{start:c.doc.top-s.top,end:u.doc.top+n.offsetHeight-f.numeric.borderBottomWidth-e.offsetHeight-s.top-s.marginBottom}}}function E(e){for(var t=0;e;)t+=e.offsetTop,e=e.offsetParent;return t}function S(e){var n=e.getBoundingClientRect();return{doc:{top:n.top+t.pageYOffset,left:n.left+t.pageXOffset},win:n}}function T(){r=setInterval((function(){!function(){for(var e=o.length-1;e>=0;e--)if(o[e].inited){var t=Math.abs(E(o[e].clone)-o[e].docOffsetTop),n=Math.abs(o[e].parent.node.offsetHeight-o[e].parent.height);if(t>=2||n>=2)return!1}return!0}()&&I()}),500)}function j(){clearInterval(r)}function A(){i&&(document[l]?j():T())}function C(){i||(m(),_(),t.addEventListener("scroll",g),t.addEventListener("wheel",v),t.addEventListener("resize",I),t.addEventListener("orientationchange",I),e.addEventListener(c,A),T(),i=!0)}function I(){if(i){k();for(var e=o.length-1;e>=0;e--)o[e]=O(o[e].node);_()}}function P(){t.removeEventListener("scroll",g),t.removeEventListener("wheel",v),t.removeEventListener("resize",I),t.removeEventListener("orientationchange",I),e.removeEventListener(c,A),j(),i=!1}function R(){P(),k()}function N(){for(R();o.length;)o.pop()}function L(e){for(var t=o.length-1;t>=0;t--)if(o[t].node===e)return;var n=O(e);o.push(n),i?x(n):C()}return m(),{stickies:o,add:L,remove:function(e){for(var t=o.length-1;t>=0;t--)o[t].node===e&&(w(o[t]),o.splice(t,1))},init:C,rebuild:I,pause:P,stop:R,kill:N}}},function(e,t,n){"use strict";n.r(t),n.d(t,"Redoc",(function(){return dp})),n.d(t,"AppStore",(function(){return mc})),n.d(t,"version",(function(){return mp})),n.d(t,"revision",(function(){return gp})),n.d(t,"init",(function(){return yp})),n.d(t,"hydrate",(function(){return bp}));var r={};n.r(r),n.d(r,"default",(function(){return Hi}));var o=n(1),i=n(0),a=n.n(i),s=n(99),l=n(2),c=n(20);function u(){return(u=Object.assign||function(e){for(var t=1;t=0&&o<1?(s=i,l=a):o>=1&&o<2?(s=a,l=i):o>=2&&o<3?(l=i,c=a):o>=3&&o<4?(l=a,c=i):o>=4&&o<5?(s=a,c=i):o>=5&&o<6&&(s=i,c=a);var u=n-i/2;return r(s+u,l+u,c+u)}var x={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"639",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"};var w=/^#[a-fA-F0-9]{6}$/,_=/^#[a-fA-F0-9]{8}$/,k=/^#[a-fA-F0-9]{3}$/,O=/^#[a-fA-F0-9]{4}$/,E=/^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/i,S=/^rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*([-+]?[0-9]*[.]?[0-9]+)\s*\)$/i,T=/^hsl\(\s*(\d{0,3}[.]?[0-9]+)\s*,\s*(\d{1,3}[.]?[0-9]?)%\s*,\s*(\d{1,3}[.]?[0-9]?)%\s*\)$/i,j=/^hsla\(\s*(\d{0,3}[.]?[0-9]+)\s*,\s*(\d{1,3}[.]?[0-9]?)%\s*,\s*(\d{1,3}[.]?[0-9]?)%\s*,\s*([-+]?[0-9]*[.]?[0-9]+)\s*\)$/i;function A(e){if("string"!=typeof e)throw new g(3);var t=function(e){if("string"!=typeof e)return e;var t=e.toLowerCase();return x[t]?"#"+x[t]:e}(e);if(t.match(w))return{red:parseInt(""+t[1]+t[2],16),green:parseInt(""+t[3]+t[4],16),blue:parseInt(""+t[5]+t[6],16)};if(t.match(_)){var n=parseFloat((parseInt(""+t[7]+t[8],16)/255).toFixed(2));return{red:parseInt(""+t[1]+t[2],16),green:parseInt(""+t[3]+t[4],16),blue:parseInt(""+t[5]+t[6],16),alpha:n}}if(t.match(k))return{red:parseInt(""+t[1]+t[1],16),green:parseInt(""+t[2]+t[2],16),blue:parseInt(""+t[3]+t[3],16)};if(t.match(O)){var r=parseFloat((parseInt(""+t[4]+t[4],16)/255).toFixed(2));return{red:parseInt(""+t[1]+t[1],16),green:parseInt(""+t[2]+t[2],16),blue:parseInt(""+t[3]+t[3],16),alpha:r}}var o=E.exec(t);if(o)return{red:parseInt(""+o[1],10),green:parseInt(""+o[2],10),blue:parseInt(""+o[3],10)};var i=S.exec(t);if(i)return{red:parseInt(""+i[1],10),green:parseInt(""+i[2],10),blue:parseInt(""+i[3],10),alpha:parseFloat(""+i[4])};var a=T.exec(t);if(a){var s="rgb("+b(parseInt(""+a[1],10),parseInt(""+a[2],10)/100,parseInt(""+a[3],10)/100)+")",l=E.exec(s);if(!l)throw new g(4,t,s);return{red:parseInt(""+l[1],10),green:parseInt(""+l[2],10),blue:parseInt(""+l[3],10)}}var c=j.exec(t);if(c){var u="rgb("+b(parseInt(""+c[1],10),parseInt(""+c[2],10)/100,parseInt(""+c[3],10)/100)+")",f=E.exec(u);if(!f)throw new g(4,t,u);return{red:parseInt(""+f[1],10),green:parseInt(""+f[2],10),blue:parseInt(""+f[3],10),alpha:parseFloat(""+c[4])}}throw new g(5)}function C(e){return function(e){var t,n=e.red/255,r=e.green/255,o=e.blue/255,i=Math.max(n,r,o),a=Math.min(n,r,o),s=(i+a)/2;if(i===a)return void 0!==e.alpha?{hue:0,saturation:0,lightness:s,alpha:e.alpha}:{hue:0,saturation:0,lightness:s};var l=i-a,c=s>.5?l/(2-i-a):l/(i+a);switch(i){case n:t=(r-o)/l+(r=1?L(e,t,n):"rgba("+b(e,t,n)+","+r+")";if("object"==typeof e&&void 0===t&&void 0===n&&void 0===r)return e.alpha>=1?L(e.hue,e.saturation,e.lightness):"rgba("+b(e.hue,e.saturation,e.lightness)+","+e.alpha+")";throw new g(2)}function F(e,t,n){if("number"==typeof e&&"number"==typeof t&&"number"==typeof n)return I("#"+P(e)+P(t)+P(n));if("object"==typeof e&&void 0===t&&void 0===n)return I("#"+P(e.red)+P(e.green)+P(e.blue));throw new g(6)}function z(e,t,n,r){if("string"==typeof e&&"number"==typeof t){var o=A(e);return"rgba("+o.red+","+o.green+","+o.blue+","+t+")"}if("number"==typeof e&&"number"==typeof t&&"number"==typeof n&&"number"==typeof r)return r>=1?F(e,t,n):"rgba("+e+","+t+","+n+","+r+")";if("object"==typeof e&&void 0===t&&void 0===n&&void 0===r)return e.alpha>=1?F(e.red,e.green,e.blue):"rgba("+e.red+","+e.green+","+e.blue+","+e.alpha+")";throw new g(7)}function U(e){if("object"!=typeof e)throw new g(8);if(function(e){return"number"==typeof e.red&&"number"==typeof e.green&&"number"==typeof e.blue&&"number"==typeof e.alpha}(e))return z(e);if(function(e){return"number"==typeof e.red&&"number"==typeof e.green&&"number"==typeof e.blue&&("number"!=typeof e.alpha||void 0===e.alpha)}(e))return F(e);if(function(e){return"number"==typeof e.hue&&"number"==typeof e.saturation&&"number"==typeof e.lightness&&"number"==typeof e.alpha}(e))return D(e);if(function(e){return"number"==typeof e.hue&&"number"==typeof e.saturation&&"number"==typeof e.lightness&&("number"!=typeof e.alpha||void 0===e.alpha)}(e))return M(e);throw new g(8)}function B(e){return function e(t,n,r){return function(){var o=r.concat(Array.prototype.slice.call(arguments));return o.length>=n?t.apply(this,o):e(t,n,o)}}(e,e.length,[])}function $(e,t,n){return Math.max(e,Math.min(t,n))}function W(e,t){if("transparent"===t)return t;var n=C(t);return U(u({},n,{lightness:$(0,1,n.lightness-parseFloat(e))}))}var q=B(W);function H(e,t){if("transparent"===t)return t;var n=C(t);return U(u({},n,{saturation:$(0,1,n.saturation-parseFloat(e))}))}var V=B(H);function Y(e){if("transparent"===e)return 0;var t=A(e),n=Object.keys(t).map((function(e){var n=t[e]/255;return n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4)})),r=n[0],o=n[1],i=n[2];return parseFloat((.2126*r+.7152*o+.0722*i).toFixed(3))}function Q(e,t){var n=Y(e),r=Y(t);return parseFloat((n>r?(n+.05)/(r+.05):(r+.05)/(n+.05)).toFixed(2))}function G(e,t){if("transparent"===t)return t;var n=C(t);return U(u({},n,{lightness:$(0,1,n.lightness+parseFloat(e))}))}var X=B(G);function K(e,t,n,r){void 0===t&&(t="#000"),void 0===n&&(n="#fff"),void 0===r&&(r=!1);var o=Y(e)>.179,i=o?t:n;return!r||Q(e,i)>=4.5?i:o?"#000":"#fff"}function J(e,t){if("transparent"===t)return t;var n=A(t);return z(u({},n,{alpha:$(0,1,(100*("number"==typeof n.alpha?n.alpha:1)-100*parseFloat(e))/100)}))}var Z=B(J);var ee={spacing:{unit:5,sectionHorizontal:function(e){return 8*e.spacing.unit},sectionVertical:function(e){return 8*e.spacing.unit}},breakpoints:{small:"50rem",medium:"75rem",large:"105rem"},colors:{tonalOffset:.2,primary:{main:"#32329f",light:function(e){var t=e.colors;return X(t.tonalOffset,t.primary.main)},dark:function(e){var t=e.colors;return q(t.tonalOffset,t.primary.main)},contrastText:function(e){return K(e.colors.primary.main)}},success:{main:"#1d8127",light:function(e){var t=e.colors;return X(2*t.tonalOffset,t.success.main)},dark:function(e){var t=e.colors;return q(t.tonalOffset,t.success.main)},contrastText:function(e){return K(e.colors.success.main)}},warning:{main:"#ffa500",light:function(e){var t=e.colors;return X(t.tonalOffset,t.warning.main)},dark:function(e){var t=e.colors;return q(t.tonalOffset,t.warning.main)},contrastText:"#ffffff"},error:{main:"#d41f1c",light:function(e){var t=e.colors;return X(t.tonalOffset,t.error.main)},dark:function(e){var t=e.colors;return q(t.tonalOffset,t.error.main)},contrastText:function(e){return K(e.colors.error.main)}},gray:{50:"#FAFAFA",100:"#F5F5F5"},text:{primary:"#333333",secondary:function(e){var t=e.colors;return X(t.tonalOffset,t.text.primary)}},border:{dark:"rgba(0,0,0, 0.1)",light:"#ffffff"},responses:{success:{color:function(e){return e.colors.success.main},backgroundColor:function(e){var t=e.colors;return Z(.93,t.success.main)},tabTextColor:function(e){return e.colors.responses.success.color}},error:{color:function(e){return e.colors.error.main},backgroundColor:function(e){var t=e.colors;return Z(.93,t.error.main)},tabTextColor:function(e){return e.colors.responses.error.color}},redirect:{color:function(e){return e.colors.warning.main},backgroundColor:function(e){var t=e.colors;return Z(.9,t.responses.redirect.color)},tabTextColor:function(e){return e.colors.responses.redirect.color}},info:{color:"#87ceeb",backgroundColor:function(e){var t=e.colors;return Z(.9,t.responses.info.color)},tabTextColor:function(e){return e.colors.responses.info.color}}},http:{get:"#2F8132",post:"#186FAF",put:"#95507c",options:"#947014",patch:"#bf581d",delete:"#cc3333",basic:"#707070",link:"#07818F",head:"#A23DAD"}},schema:{linesColor:function(e){return X(e.colors.tonalOffset,V(e.colors.tonalOffset,e.colors.primary.main))},defaultDetailsWidth:"75%",typeNameColor:function(e){return e.colors.text.secondary},typeTitleColor:function(e){return e.schema.typeNameColor},requireLabelColor:function(e){return e.colors.error.main},labelsTextSize:"0.9em",nestingSpacing:"1em",nestedBackground:"#fafafa",arrow:{size:"1.1em",color:function(e){return e.colors.text.secondary}}},typography:{fontSize:"14px",lineHeight:"1.5em",fontWeightRegular:"400",fontWeightBold:"600",fontWeightLight:"300",fontFamily:"Roboto, sans-serif",smoothing:"antialiased",optimizeSpeed:!0,headings:{fontFamily:"Montserrat, sans-serif",fontWeight:"400",lineHeight:"1.6em"},code:{fontSize:"13px",fontFamily:"Courier, monospace",lineHeight:function(e){return e.typography.lineHeight},fontWeight:function(e){return e.typography.fontWeightRegular},color:"#e53935",backgroundColor:"rgba(38, 50, 56, 0.05)",wrap:!1},links:{color:function(e){return e.colors.primary.main},visited:function(e){return e.typography.links.color},hover:function(e){var t=e.typography;return X(.2,t.links.color)}}},sidebar:{width:"260px",backgroundColor:"#fafafa",textColor:"#333333",activeTextColor:function(e){return e.sidebar.textColor!==ee.sidebar.textColor?e.sidebar.textColor:e.colors.primary.main},groupItems:{textTransform:"uppercase"},level1Items:{textTransform:"none"},arrow:{size:"1.5em",color:function(e){return e.sidebar.textColor}}},logo:{maxHeight:function(e){return e.sidebar.width},maxWidth:function(e){return e.sidebar.width},gutter:"2px"},rightPanel:{backgroundColor:"#263238",width:"40%",textColor:"#ffffff"},codeBlock:{backgroundColor:function(e){var t=e.rightPanel;return q(.1,t.backgroundColor)}}},te=ee;var ne="undefined"!=typeof window&&"HTMLElement"in window;function re(e){return"undefined"!=typeof document?document.querySelector(e):null}"undefined"==typeof Element||Element.prototype.scrollIntoViewIfNeeded||(Element.prototype.scrollIntoViewIfNeeded=function(e){e=0===arguments.length||!!e;var t=this.parentNode,n=window.getComputedStyle(t,void 0),r=parseInt(n.getPropertyValue("border-top-width"),10),o=parseInt(n.getPropertyValue("border-left-width"),10),i=this.offsetTop-t.offsetTopt.scrollTop+t.clientHeight,s=this.offsetLeft-t.offsetLeftt.scrollLeft+t.clientWidth,c=i&&!a;(i||a)&&e&&(t.scrollTop=this.offsetTop-t.offsetTop-t.clientHeight/2-r+this.clientHeight/2),(s||l)&&e&&(t.scrollLeft=this.offsetLeft-t.offsetLeft-t.clientWidth/2-o+this.clientWidth/2),(i||a||s||l)&&!e&&this.scrollIntoView(c)});var oe=n(150),ie=n.n(oe),ae=n(10);function se(e,t){for(var n=[],r=0;r1e3)throw new Error("Theme probably contains circular dependency at "+r+": "+o.toString());u[r]=o(c)}return u[r]},enumerable:!0}):"object"==typeof o&&p(o,r)}))})(c,""),JSON.parse(JSON.stringify(c))),this.theme.extensionsHook=m,d=t.labels,Object.assign(me,d),this.scrollYOffset=e.normalizeScrollYOffset(t.scrollYOffset),this.hideHostname=e.normalizeHideHostname(t.hideHostname),this.expandResponses=e.normalizeExpandResponses(t.expandResponses),this.requiredPropsFirst=ve(t.requiredPropsFirst),this.sortPropsAlphabetically=ve(t.sortPropsAlphabetically),this.sortEnumValuesAlphabetically=ve(t.sortEnumValuesAlphabetically),this.noAutoAuth=ve(t.noAutoAuth),this.nativeScrollbars=ve(t.nativeScrollbars),this.pathInMiddlePanel=ve(t.pathInMiddlePanel),this.untrustedSpec=ve(t.untrustedSpec),this.hideDownloadButton=ve(t.hideDownloadButton),this.disableSearch=ve(t.disableSearch),this.onlyRequiredInSamples=ve(t.onlyRequiredInSamples),this.showExtensions=e.normalizeShowExtensions(t.showExtensions),this.hideSingleRequestSampleTab=ve(t.hideSingleRequestSampleTab),this.menuToggle=ve(t.menuToggle,!0),this.jsonSampleExpandLevel=e.normalizeJsonSampleExpandLevel(t.jsonSampleExpandLevel),this.enumSkipQuotes=ve(t.enumSkipQuotes),this.hideSchemaTitles=ve(t.hideSchemaTitles),this.simpleOneOfTypeLabel=ve(t.simpleOneOfTypeLabel),this.payloadSampleIdx=e.normalizePayloadSampleIdx(t.payloadSampleIdx),this.expandSingleSchemaField=ve(t.expandSingleSchemaField),this.unstable_ignoreMimeParameters=ve(t.unstable_ignoreMimeParameters),this.allowedMdComponents=t.allowedMdComponents||{},this.expandDefaultServerVariables=ve(t.expandDefaultServerVariables),this.maxDisplayedEnumValues="string"==typeof(h=t.maxDisplayedEnumValues)?parseInt(h,10):"number"==typeof h?h:void 0;var g=Array.isArray(t.ignoreNamedSchemas)?t.ignoreNamedSchemas:null===(l=t.ignoreNamedSchemas)||void 0===l?void 0:l.split(",").map((function(e){return e.trim()}));this.ignoreNamedSchemas=new Set(g)}return e.normalizeExpandResponses=function(e){if("all"===e)return"all";if("string"==typeof e){var t={};return e.split(",").forEach((function(e){t[e.trim()]=!0})),t}return void 0!==e&&console.warn('expandResponses must be a string but received value "'+e+'" of type '+typeof e),{}},e.normalizeHideHostname=function(e){return!!e},e.normalizeScrollYOffset=function(e){if("string"==typeof e&&!ue(e)){var t=re(e);t||console.warn("scrollYOffset value is a selector to non-existing element. Using offset 0 by default");var n=t&&t.getBoundingClientRect().bottom||0;return function(){return n}}return"number"==typeof e||ue(e)?function(){return"number"==typeof e?e:parseFloat(e)}:"function"==typeof e?function(){var t=e();return"number"!=typeof t&&console.warn('scrollYOffset should return number but returned value "'+t+'" of type '+typeof t),t}:(void 0!==e&&console.warn("Wrong value for scrollYOffset ReDoc option: should be string, number or function"),function(){return 0})},e.normalizeShowExtensions=function(e){if(void 0===e)return!1;if(""===e)return!0;if("string"!=typeof e)return e;switch(e){case"true":return!0;case"false":return!1;default:return e.split(",").map((function(e){return e.trim()}))}},e.normalizePayloadSampleIdx=function(e){return"number"==typeof e?Math.max(0,e):"string"==typeof e&&isFinite(e)?parseInt(e,10):0},e.normalizeJsonSampleExpandLevel=function(e){return"all"===e?1/0:isNaN(Number(e))?2:Math.ceil(Number(e))},e}(),xe=n(13),we=xe,_e=we.default,ke=we.css,Oe=we.createGlobalStyle,Ee=we.keyframes,Se=we.ThemeProvider,Te=function(e,t,n){return function(){for(var r=[],i=0;i599)throw new Error("invalid HTTP code");var r="success";return n>=300&&n<400?r="redirect":n>=400?r="error":n<200&&(r="info"),r}var rt={get:!0,post:!0,put:!0,head:!0,patch:!0,delete:!0,options:!0};function ot(e){return e in rt}var it={multipleOf:"number",maximum:"number",exclusiveMaximum:"number",minimum:"number",exclusiveMinimum:"number",maxLength:"string",minLength:"string",pattern:"string",items:"array",maxItems:"array",minItems:"array",uniqueItems:"array",maxProperties:"object",minProperties:"object",required:"object",additionalProperties:"object",properties:"object"};function at(e){return-1!==e.search(/json/i)}function st(e,t,n){return Array.isArray(e)?e.map((function(e){return e.toString()})).join(n):"object"==typeof e?Object.keys(e).map((function(t){return""+t+n+e[t]})).join(n):t+"="+e.toString()}function lt(e,t){return Array.isArray(e)?(console.warn("deepObject style cannot be used with array value:"+e.toString()),""):"object"==typeof e?Object.keys(e).map((function(n){return t+"["+n+"]="+e[n]})).join("&"):(console.warn("deepObject style cannot be used with non-object value:"+e.toString()),"")}function ct(e,t,n){var r,o=t?"*":"";return et.parse("{?__redoc_param_name__"+o+"}").expand((r={},r.__redoc_param_name__=n,r)).substring(1).replace(/__redoc_param_name__/g,e)}function ut(e,t){return at(t)?JSON.stringify(e):(console.warn("Parameter serialization as "+t+" is not supported"),"")}function ft(e,t){var n=e.name,r=e.style,o=e.explode,i=void 0!==o&&o,a=e.serializationMime;if(a)switch(e.in){case"path":case"header":return ut(t,a);case"cookie":case"query":return n+"="+ut(t,a);default:return console.warn("Unexpected parameter location: "+e.in),""}if(!r)return console.warn("Missing style attribute or content for parameter "+n),"";switch(e.in){case"path":return function(e,t,n,r){var o,i=n?"*":"",a="";return"label"===t?a=".":"matrix"===t&&(a=";"),et.parse("{"+a+"__redoc_param_name__"+i+"}").expand((o={},o.__redoc_param_name__=r,o)).replace(/__redoc_param_name__/g,e)}(n,r,i,t);case"query":return function(e,t,n,r){switch(t){case"form":return ct(e,n,r);case"spaceDelimited":return Array.isArray(r)?n?ct(e,n,r):e+"="+r.join("%20"):(console.warn("The style spaceDelimited is only applicable to arrays"),"");case"pipeDelimited":return Array.isArray(r)?n?ct(e,n,r):e+"="+r.join("|"):(console.warn("The style pipeDelimited is only applicable to arrays"),"");case"deepObject":return!n||Array.isArray(r)||"object"!=typeof r?(console.warn("The style deepObject is only applicable for objects with explode=true"),""):lt(r,e);default:return console.warn("Unexpected style for query: "+t),""}}(n,r,i,t);case"header":return function(e,t,n){var r;switch(e){case"simple":var o=t?"*":"",i="__redoc_param_name__",a=et.parse("{"+i+o+"}");return decodeURIComponent(a.expand(((r={})[i]=n,r)));default:return console.warn("Unexpected style for header: "+e),""}}(r,i,t);case"cookie":return function(e,t,n,r){switch(t){case"form":return ct(e,n,r);default:return console.warn("Unexpected style for cookie: "+t),""}}(n,r,i,t);default:return console.warn("Unexpected parameter location: "+e.in),""}}function pt(e){return/^#\/components\/schemas\/[^\/]+$/.test(e||"")}function dt(e){if(e){var t=e.match(/^#\/components\/schemas\/([^\/]+)$/);return null===t?void 0:t[1]}}function ht(e,t,n){var r;return void 0!==t&&void 0!==n?r=t===n?t+" "+e:"[ "+t+" .. "+n+" ] "+e:void 0!==n?r="<= "+n+" "+e:void 0!==t&&(r=1===t?"non-empty":">= "+t+" "+e),r}function mt(e){var t=[],n=ht("characters",e.minLength,e.maxLength);void 0!==n&&t.push(n);var r=ht("items",e.minItems,e.maxItems);void 0!==r&&t.push(r);var o,i=function(e){if(void 0!==e){var t=e.toString(10);return/^0\.0*1$/.test(t)?"decimal places <= "+t.split(".")[1].length:"multiple of "+t}}(e.multipleOf);return void 0!==i&&t.push(i),void 0!==e.minimum&&void 0!==e.maximum?(o=e.exclusiveMinimum?"( ":"[ ",o+=e.minimum,o+=" .. ",o+=e.maximum,o+=e.exclusiveMaximum?" )":" ]"):void 0!==e.maximum?(o=e.exclusiveMaximum?"< ":"<= ",o+=e.maximum):void 0!==e.minimum&&(o=e.exclusiveMinimum?"> ":">= ",o+=e.minimum),void 0!==o&&t.push(o),e.uniqueItems&&t.push("unique"),t}function gt(e,t){void 0===t&&(t=[]);var n=[],r=[],i=[];return e.forEach((function(e){e.required?t.includes(e.name)?r.push(e):i.push(e):n.push(e)})),r.sort((function(e,n){return t.indexOf(e.name)-t.indexOf(n.name)})),Object(o.__spreadArrays)(r,i,n)}function vt(e,t){return Object(o.__spreadArrays)(e).sort((function(e,n){return e[t].localeCompare(n[t])}))}function yt(e,t){var n=void 0===e?function(e){try{var t=he(e);return t.search="",t.toString()}catch(t){return e}}(function(){if(!ne)return"";var e=window.location.href;return e.endsWith(".html")?Object(Ze.dirname)(e):e}()):Object(Ze.dirname)(e);function r(e){return function(e,t){var n;if(t.startsWith("//"))n=""+(Object(ae.parse)(e).protocol||"https:")+t;else if(function(e){return/(?:^[a-z][a-z0-9+.-]*:|\/\/)/i.test(e)}(t))n=t;else if(t.startsWith("/")){var r=Object(ae.parse)(e);n=Object(ae.format)(Object(o.__assign)(Object(o.__assign)({},r),{pathname:t}))}else n=ce(e)+"/"+t;return ce(n)}(n,e)}return 0===t.length&&(t=[{url:"/"}]),t.map((function(e){return Object(o.__assign)(Object(o.__assign)({},e),{url:r(e.url),description:e.description||""})}))}var bt="section/Authentication/";var xt=function(e){return{delete:"del",options:"opts"}[e]||e};function wt(e,t){return Object.keys(e).filter((function(e){return!0===t?e.startsWith("x-")&&!function(e){return e in{"x-circular-ref":!0,"x-code-samples":!0,"x-codeSamples":!0,"x-displayName":!0,"x-examples":!0,"x-ignoredHeaderParameters":!0,"x-logo":!0,"x-nullable":!0,"x-servers":!0,"x-tagGroups":!0,"x-traitTag":!0,"x-additionalPropertiesName":!0,"x-explicitMappingOnly":!0}}(e):e.startsWith("x-")&&t.indexOf(e)>-1})).reduce((function(t,n){return t[n]=e[n],t}),{})}var _t=n(40);n(302),n(303),n(304),n(305),n(306),n(307),n(308),n(309),n(310),n(311),n(312),n(313),n(314),n(315),n(316),n(317),n(318),n(319),n(320),n(321);function kt(e,t){void 0===t&&(t="clike"),t=t.toLowerCase();var n=_t.languages[t];return n||(n=_t.languages[function(e){return{json:"js","c++":"cpp","c#":"csharp","objective-c":"objectivec",shell:"bash",viml:"vim"}[e]||"clike"}(t)]),_t.highlight(e,n,t)}function Ot(e){return function(t,n,r){var o,i,a,s,l,c,u,f;r.value=(o=r.value,i=e,c=null,u=0,f=function(){u=(new Date).getTime(),c=null,l=o.apply(a,s),c||(a=s=null)},function(){var e=(new Date).getTime(),t=i-(e-u);return a=this,s=arguments,t<=0||t>i?(c&&(clearTimeout(c),c=null),u=e,l=o.apply(a,s),c||(a=s=null)):c||(c=setTimeout(f,t)),l})}}function Et(e){0}function St(e){0}_t.languages.insertBefore("javascript","string",{"property string":{pattern:/([{,]\s*)"(?:\\.|[^\\"\r\n])*"(?=\s*:)/i,lookbehind:!0}},void 0),_t.languages.insertBefore("javascript","punctuation",{property:{pattern:/([{,]\s*)[a-z]\w*(?=\s*:)/i,lookbehind:!0}},void 0);var Tt={};function jt(e,t,n){if("function"==typeof n.value)return function(e,t,n){if(!n.value||n.value.length>0)throw new Error("@memoize decorator can only be applied to methods of zero arguments");var r="_memoized_"+t,i=n.value;return e[r]=Tt,Object(o.__assign)(Object(o.__assign)({},n),{value:function(){return this[r]===Tt&&(this[r]=i.call(this)),this[r]}})}(e,t,n);if("function"==typeof n.get)return function(e,t,n){var r="_memoized_"+t,i=n.get;return e[r]=Tt,Object(o.__assign)(Object(o.__assign)({},n),{get:function(){return this[r]===Tt&&(this[r]=i.call(this)),this[r]}})}(e,t,n);throw new Error("@memoize decorator can be applied to methods or getters, got "+String(n.value)+" instead")}var At="hashchange",Ct=new(function(){function e(){var e=this;this.emit=function(){e._emiter.emit(At,e.currentId)},this._emiter=new Qe.EventEmitter,this.bind()}return Object.defineProperty(e.prototype,"currentId",{get:function(){return ne?decodeURIComponent(window.location.hash.substring(1)):""},enumerable:!1,configurable:!0}),e.prototype.linkForId=function(e){return e?"#"+e:""},e.prototype.subscribe=function(e){var t=this._emiter.addListener(At,e);return function(){return t.removeListener(At,e)}},e.prototype.bind=function(){ne&&window.addEventListener("hashchange",this.emit,!1)},e.prototype.dispose=function(){ne&&window.removeEventListener("hashchange",this.emit)},e.prototype.replace=function(e,t){void 0===t&&(t=!1),ne&&null!=e&&e!==this.currentId&&(t?window.history.replaceState(null,"",window.location.href.split("#")[0]+this.linkForId(e)):(window.history.pushState(null,"",window.location.href.split("#")[0]+this.linkForId(e)),this.emit()))},Object(o.__decorate)([Ye.bind,Ye.debounce],e.prototype,"replace",null),e}());var It=n(101),Pt=function(){function e(){this.map=new Map,this.prevTerm=""}return e.prototype.add=function(e){this.map.set(e,new It(e))},e.prototype.delete=function(e){this.map.delete(e)},e.prototype.addOnly=function(e){var t=this;this.map.forEach((function(n,r){-1===e.indexOf(r)&&(n.unmark(),t.map.delete(r))}));for(var n=0,r=e;n-1?e.substring(0,n):e},e.prototype.saveHeading=function(e,t,n,r){void 0===n&&(n=this.headings),e=e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(parseInt(t,10))})).replace(/&/g,"&");var o={id:r?r+"/"+de(e):"section/"+de(e),name:e,level:t,items:[]};return n.push(o),o},e.prototype.flattenHeadings=function(e){if(void 0===e)return[];for(var t=[],n=0,r=e;n-1&&(this.description=this.description.substring(0,t)),this.downloadLink=this.getDownloadLink(),this.downloadFileName=this.getDownloadFileName()}return e.prototype.getDownloadLink=function(){if(this.parser.specUrl)return this.parser.specUrl;if(ne&&window.Blob&&window.URL&&window.URL.createObjectURL){var e=new Blob([JSON.stringify(this.parser.spec,null,2)],{type:"application/json"});return window.URL.createObjectURL(e)}},e.prototype.getDownloadFileName=function(){if(!this.parser.specUrl)return"swagger.json"},e}(),zt=function(e,t){var n=t.spec.components&&t.spec.components.securitySchemes||{};this.schemes=Object.keys(e||{}).map((function(r){var i=t.deref(n[r]),a=e[r]||[];if(i)return Object(o.__assign)(Object(o.__assign)({},i),{id:r,sectionId:bt+r,scopes:a});console.warn("Non existing security scheme referenced: "+r+". Skipping")})).filter((function(e){return void 0!==e}))},Ut=function(){function e(e,t,n,r,i){this.expanded=!1,this.operations=[],Object(l.n)(this),this.name=t;var a=e.deref(n);e.exitRef(n);for(var s=0,c=Object.keys(a);s-1;return new Vt(e,{name:a,required:c,schema:Object(o.__assign)(Object(o.__assign)({},l),{default:void 0===l.default?s[a]:l.default})},n+"/properties/"+a,r)}));r.sortPropsAlphabetically&&(l=vt(l,"name"));r.requiredPropsFirst&&(l=gt(l,r.sortPropsAlphabetically?void 0:t.required));"object"!=typeof a&&!0!==a||l.push(new Vt(e,{name:("object"==typeof a&&a["x-additionalPropertiesName"]||"property name").concat("*"),required:!1,schema:!0===a?{}:a,kind:"additionalProperties"},n+"/additionalProperties",r));return l}(t,i,this.pointer,this.options):"array"===this.type&&i.items&&(this.items=new e(t,i.items,this.pointer+"/items",this.options),this.displayType=this.items.displayType.split(" or ").map((function(e){return e.replace(/^(string|object|number|integer|array|boolean)s?( ?.*)/,"$1s$2")})).join(" or "),this.displayFormat=this.items.format,this.typePrefix=this.items.typePrefix+ge("arrayOf"),this.title=this.title||this.items.title,this.isPrimitive=this.items.isPrimitive,void 0===this.example&&void 0!==this.items.example&&(this.example=[this.items.example]),this.items.isPrimitive&&(this.enum=this.items.enum)),this.enum.length&&this.options.sortEnumValuesAlphabetically&&this.enum.sort()}else this.initDiscriminator(i,t)},e.prototype.initOneOf=function(t,n){var r,i,a=this;if(this.oneOf=t.map((function(t,r){var i=n.deref(t),s=n.mergeAllOf(i,a.pointer+"/oneOf/"+r),l=pt(t.$ref)&&!s.title?Je.baseName(t.$ref):s.title,c=new e(n,Object(o.__assign)(Object(o.__assign)({},s),{title:l,allOf:[Object(o.__assign)(Object(o.__assign)({},a.schema),{oneOf:void 0,anyOf:void 0})]}),a.pointer+"/oneOf/"+r,a.options);return n.exitRef(t),n.exitParents(s),c})),this.options.simpleOneOfTypeLabel){var s=(r=this,i=new Set,function e(t){for(var n=0,r=t.oneOf||[];n-1&&(t="("+t+")"),t})).join(" or ")},e.prototype.initDiscriminator=function(t,n){var r=this,i=$t(t);this.discriminatorProp=i.propertyName;var a=n.findDerived(Object(o.__spreadArrays)(t.parentRefs||[],[this.pointer]));if(t.oneOf)for(var s=0,l=t.oneOf;se.length?e.repeat(Math.trunc(t/e.length)+1).substring(0,t):e}function Gt(e){return{value:"object"===e?{}:"array"===e?[]:void 0}}function Xt(e,t){t&&e.pop()}function Kt(e,t,n,r,o){let i=nn(e,n,r);const a=[];for(let e of t){const{type:t,readOnly:s,writeOnly:l,value:c}=nn({type:i.type,...e},n,r,o);i.type&&t&&t!==i.type&&(console.warn("allOf: schemas with different types can't be merged"),i.type=t),i.type=i.type||t,i.readOnly=i.readOnly||s,i.writeOnly=i.writeOnly||l,null!=c&&a.push(c)}if("object"===i.type)return i.value=function e(...t){const n=e=>e&&"object"==typeof e;return t.reduce((t,r)=>(Object.keys(r).forEach(o=>{const i=t[o],a=r[o];n(i)&&n(a)?t[o]=e(i,a):t[o]=a}),t),Array.isArray(t[t.length-1])?[]:{})}(i.value||{},...a.filter(e=>"object"==typeof e)),i;{"array"===i.type&&(n.quiet||console.warn('OpenAPI Sampler: found allOf with "array" type. Result may be incorrect'));const e=a[a.length-1];return i.value=null!=e?e:i.value,i}}const Jt={multipleOf:"number",maximum:"number",exclusiveMaximum:"number",minimum:"number",exclusiveMinimum:"number",maxLength:"string",minLength:"string",pattern:"string",items:"array",maxItems:"array",minItems:"array",uniqueItems:"array",additionalItems:"array",maxProperties:"object",minProperties:"object",required:"object",additionalProperties:"object",properties:"object",patternProperties:"object",dependencies:"object"};function Zt(e){if(void 0!==e.type)return e.type;const t=Object.keys(Jt);for(var n=0;nt.maxSampleDepth)return Xt(tn,r),Gt(Zt(e));if(e.$ref){if(!n)throw new Error("Your schema contains $ref. You must provide full specification in the third parameter.");let o=decodeURIComponent(e.$ref);o.startsWith("#")&&(o=o.substring(1));const i=Xe.a.get(n,o);let a;if(!0!==en[o])en[o]=!0,a=nn(i,t,n,r),en[o]=!1;else{a=Gt(Zt(i))}return Xt(tn,r),a}if(void 0!==e.example)return Xt(tn,r),{value:e.example,readOnly:e.readOnly,writeOnly:e.writeOnly,type:e.type};if(void 0!==e.allOf)return Xt(tn,r),Kt({...e,allOf:void 0},e.allOf,t,n,r);if(e.oneOf&&e.oneOf.length)return e.anyOf&&(t.quiet||console.warn("oneOf and anyOf are not supported on the same level. Skipping anyOf")),Xt(tn,r),nn(e.oneOf[0],t,n,r);if(e.anyOf&&e.anyOf.length)return Xt(tn,r),nn(e.anyOf[0],t,n,r);let o=null,i=null;if(void 0!==e.default)o=e.default;else if(void 0!==e.const)o=e.const;else if(void 0!==e.enum&&e.enum.length)o=e.enum[0];else if(void 0!==e.examples&&e.examples.length)o=e.examples[0];else{i=e.type,i||(i=Zt(e));let a=ln[i];a&&(o=a(e,t,n,r))}return Xt(tn,r),{value:o,readOnly:e.readOnly,writeOnly:e.writeOnly,type:i}}function rn(e){let t;return e.maximum&&e.minimum?(t=e.exclusiveMinimum?Math.floor(e.minimum)+1:e.minimum,(e.exclusiveMaximum&&t>=e.maximum||!e.exclusiveMaximum&&t>e.maximum)&&(t=(e.maximum+e.minimum)/2),t):e.minimum?e.exclusiveMinimum?Math.floor(e.minimum)+1:e.minimum:e.maximum?e.exclusiveMaximum?e.maximum>0?0:Math.floor(e.maximum)-1:e.maximum>0?0:e.maximum:0}function on(e,t,n){let r=function(e,t,n){var r=e.getUTCFullYear()+"-"+Yt(e.getUTCMonth()+1)+"-"+Yt(e.getUTCDate());return t||(r+="T"+Yt(e.getUTCHours())+":"+Yt(e.getUTCMinutes())+":"+Yt(e.getUTCSeconds())+(n?"."+(e.getUTCMilliseconds()/1e3).toFixed(3).slice(2,5):"")+"Z"),r}(new Date("2019-08-24T14:15:22.123Z"),n,!1);return r.lengtht&&console.warn(`Using maxLength = ${t} is incorrect with format "date-time"`),r}function an(e,t){let n=Qt("string",e);return t&&n.length>t&&(n=n.substring(0,t)),n}const sn={email:function(){return"user@example.com"},password:function(e,t){let n="pa$$word";return e>n.length&&(n+="_",n+=Qt("qwerty!@#$%^123456",e-n.length).substring(0,e-n.length)),n},"date-time":function(e,t){return on(e,t)},date:function(e,t){return on(e,t,!0)},ipv4:function(){return"192.168.0.1"},ipv6:function(){return"2001:0db8:85a3:0000:0000:8a2e:0370:7334"},hostname:function(){return"example.com"},uri:function(){return"http://example.com"},uuid:function(e,t,n){return s=function(e){var t=0;if(0==e.length)return t;for(var n=0;n>>5)|0;return r=o^((i|=0)<<17|i>>>15),o=i+(a|=0)|0,i=a+e|0,((a=r+e|0)>>>0)/4294967296},"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{var t=16*l()%16|0;return("x"==e?t:3&t|8).toString(16)});var r,o,i,a,s,l},default:an};var ln={};const cn={skipReadOnly:!1,maxSampleDepth:15};function un(e,t,n){let r=Object.assign({},cn,t);return en={},tn=[],nn(e,r,n).value}function fn(e,t){ln[e]=t}fn("array",(function(e,t={},n,r){const o=r&&r.depth||1;let i=e.minItems||1;Array.isArray(e.items)&&(i=Math.max(i,e.items.length));let a=[];if(!e.items)return a;for(let r=0;r(e[t]=!0,e),{});Object.keys(e.properties).forEach(a=>{if(t.skipNonRequired&&!r.hasOwnProperty(a))return;const s=nn(e.properties[a],t,n,{propertyName:a,depth:i+1});t.skipReadOnly&&s.readOnly||t.skipWriteOnly&&s.writeOnly||(o[a]=s.value)})}return e&&"object"==typeof e.additionalProperties&&(o.property1=nn(e.additionalProperties,t,n,{depth:i+1}).value,o.property2=nn(e.additionalProperties,t,n,{depth:i+1}).value),o})),fn("string",(function(e,t,n,r){let o=e.format||"default",i=sn[o]||an,a=r&&r.propertyName;return i(0|e.minLength,e.maxLength,a)}));var pn=function(){function e(e,t,n,r,o){this.name=t,this.isRequestType=n,this.schema=r.schema&&new Bt(e,r.schema,"",o),this.onlyRequiredInSamples=o.onlyRequiredInSamples,void 0!==r.examples?this.examples=le(r.examples,(function(n){return new qt(e,n,t,r.encoding)})):void 0!==r.example?this.examples={default:new qt(e,{value:e.shalowDeref(r.example)},t,r.encoding)}:at(t)&&this.generateExample(e,r)}return e.prototype.generateExample=function(e,t){var n={skipReadOnly:this.isRequestType,skipNonRequired:this.isRequestType&&this.onlyRequiredInSamples,skipWriteOnly:!this.isRequestType,maxSampleDepth:10};if(this.schema&&this.schema.oneOf){this.examples={};for(var r=0,o=this.schema.oneOf;r0},enumerable:!1,configurable:!0}),Object(o.__decorate)([l.o],e.prototype,"activeMimeIdx",void 0),Object(o.__decorate)([l.f],e.prototype,"activate",null),Object(o.__decorate)([l.g],e.prototype,"active",null),e}(),hn=function(e,t,n){var r=e.deref(t);this.description=r.description||"",this.required=!!r.required,e.exitRef(t),void 0!==r.content&&(this.content=new dn(e,r.content,!0,n))},mn=function(){function e(e,t,n,r,i){this.expanded=!1,this.headers=[],Object(l.n)(this),this.expanded="all"===i.expandResponses||i.expandResponses[t];var a=e.deref(r);e.exitRef(r),this.code=t,void 0!==a.content&&(this.content=new dn(e,a.content,!1,i)),void 0!==a["x-summary"]?(this.summary=a["x-summary"],this.description=a.description||""):(this.summary=a.description||"",this.description=""),this.type=nt(t,n);var s=a.headers;void 0!==s&&(this.headers=Object.keys(s).map((function(t){var n=s[t];return new Vt(e,Object(o.__assign)(Object(o.__assign)({},n),{name:t}),"",i)})))}return e.prototype.toggle=function(){this.expanded=!this.expanded},Object(o.__decorate)([l.o],e.prototype,"expanded",void 0),Object(o.__decorate)([l.f],e.prototype,"toggle",null),e}();function gn(e){return"payload"===e.lang&&e.requestBodyContent}var vn,yn,bn,xn,wn,_n,kn,On,En,Sn,Tn,jn,An,Cn,In,Pn,Rn,Nn=!1,Ln=function(){function e(e,t,n,r,o){var i;void 0===o&&(o=!1),this.parser=e,this.operationSpec=t,this.options=r,this.type="operation",this.items=[],this.ready=!0,this.active=!1,this.expanded=!1,Object(l.n)(this),this.pointer=t.pointer,this.description=t.description,this.parent=n,this.externalDocs=t.externalDocs,this.deprecated=!!t.deprecated,this.httpVerb=t.httpVerb,this.deprecated=!!t.deprecated,this.operationId=t.operationId,this.path=t.pathName,this.isCallback=o,this.isWebhook=!!t.isWebhook,this.name=(i=t).summary||i.operationId||i.description&&i.description.substring(0,50)||"",this.isCallback?(this.security=(t.security||[]).map((function(t){return new zt(t,e)})),this.servers=yt("",t.servers||t.pathServers||[])):(this.id=void 0!==t.operationId?"operation/"+t.operationId:void 0!==n?n.id+this.pointer:this.pointer,this.security=(t.security||e.spec.security||[]).map((function(t){return new zt(t,e)})),this.servers=yt(e.specUrl,t.servers||t.pathServers||e.spec.servers||[])),r.showExtensions&&(this.extensions=wt(t,r.showExtensions))}return e.prototype.activate=function(){this.active=!0},e.prototype.deactivate=function(){this.active=!1},e.prototype.toggle=function(){this.expanded=!this.expanded},e.prototype.expand=function(){this.parent&&this.parent.expand()},e.prototype.collapse=function(){},Object.defineProperty(e.prototype,"requestBody",{get:function(){return this.operationSpec.requestBody&&new hn(this.parser,this.operationSpec.requestBody,this.options)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"codeSamples",{get:function(){var e=this.operationSpec["x-codeSamples"]||this.operationSpec["x-code-samples"]||[];this.operationSpec["x-code-samples"]&&!Nn&&(Nn=!0,console.warn('"x-code-samples" is deprecated. Use "x-codeSamples" instead'));var t=this.requestBody&&this.requestBody.content;if(t&&t.hasSample){var n=Math.min(e.length,this.options.payloadSampleIdx);e=Object(o.__spreadArrays)(e.slice(0,n),[{lang:"payload",label:"Payload",source:"",requestBodyContent:t}],e.slice(n))}return e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"parameters",{get:function(){var e=this,t=function(e,t,n){void 0===t&&(t=[]),void 0===n&&(n=[]);var r={};return n.forEach((function(t){t=e.shalowDeref(t),r[t.name+"_"+t.in]=!0})),(t=t.filter((function(t){return t=e.shalowDeref(t),!r[t.name+"_"+t.in]}))).concat(n)}(this.parser,this.operationSpec.pathParameters,this.operationSpec.parameters).map((function(t){return new Vt(e.parser,t,e.pointer,e.options)}));return this.options.sortPropsAlphabetically?vt(t,"name"):this.options.requiredPropsFirst?gt(t):t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"responses",{get:function(){var e=this,t=!1;return Object.keys(this.operationSpec.responses||[]).filter((function(e){return"default"===e||("success"===nt(e)&&(t=!0),"default"===(n=e)||ue(n)||tt(n));var n})).map((function(n){return new mn(e.parser,n,t,e.operationSpec.responses[n],e.options)}))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"callbacks",{get:function(){var e=this;return Object.keys(this.operationSpec.callbacks||[]).map((function(t){return new Ut(e.parser,t,e.operationSpec.callbacks[t],e.pointer,e.options)}))},enumerable:!1,configurable:!0}),Object(o.__decorate)([l.o],e.prototype,"ready",void 0),Object(o.__decorate)([l.o],e.prototype,"active",void 0),Object(o.__decorate)([l.o],e.prototype,"expanded",void 0),Object(o.__decorate)([l.f],e.prototype,"activate",null),Object(o.__decorate)([l.f],e.prototype,"deactivate",null),Object(o.__decorate)([l.f],e.prototype,"toggle",null),Object(o.__decorate)([jt],e.prototype,"requestBody",null),Object(o.__decorate)([jt],e.prototype,"codeSamples",null),Object(o.__decorate)([jt],e.prototype,"parameters",null),Object(o.__decorate)([jt],e.prototype,"responses",null),Object(o.__decorate)([jt],e.prototype,"callbacks",null),e}(),Mn=je.div(yn||(yn=Object(o.__makeTemplateObject)(["\n width: calc(100% - ",");\n padding: 0 ","px;\n\n ",";\n"],["\n width: calc(100% - ",");\n padding: 0 ","px;\n\n ",";\n"])),(function(e){return e.theme.rightPanel.width}),(function(e){return e.theme.spacing.sectionHorizontal}),(function(e){var t=e.compact,n=e.theme;return Te("medium",!0)(vn||(vn=Object(o.__makeTemplateObject)(["\n width: 100%;\n padding: ",";\n "],["\n width: 100%;\n padding: ",";\n "])),(t?0:n.spacing.sectionVertical)+"px "+n.spacing.sectionHorizontal+"px")})),Dn=je.div.attrs((function(e){var t;return(t={})[sa]=e.id,t}))(xn||(xn=Object(o.__makeTemplateObject)(["\n padding: ","px 0;\n\n &:last-child {\n min-height: calc(100vh + 1px);\n }\n\n & > &:last-child {\n min-height: initial;\n }\n\n ","\n ","\n"],["\n padding: ","px 0;\n\n &:last-child {\n min-height: calc(100vh + 1px);\n }\n\n & > &:last-child {\n min-height: initial;\n }\n\n ","\n ","\n"])),(function(e){return e.theme.spacing.sectionVertical}),Te("medium",!0)(bn||(bn=Object(o.__makeTemplateObject)(["\n padding: 0;\n "],["\n padding: 0;\n "]))),(function(e){return e.underlined?"\n position: relative;\n\n &:not(:last-of-type):after {\n position: absolute;\n bottom: 0;\n width: 100%;\n display: block;\n content: '';\n border-bottom: 1px solid rgba(0, 0, 0, 0.2);\n }\n ":""})),Fn=je.div(_n||(_n=Object(o.__makeTemplateObject)(["\n width: ",";\n color: ",";\n background-color: ",";\n padding: 0 ","px;\n\n ",";\n"],["\n width: ",";\n color: ",";\n background-color: ",";\n padding: 0 ","px;\n\n ",";\n"])),(function(e){return e.theme.rightPanel.width}),(function(e){return e.theme.rightPanel.textColor}),(function(e){return e.theme.rightPanel.backgroundColor}),(function(e){return e.theme.spacing.sectionHorizontal}),Te("medium",!0)(wn||(wn=Object(o.__makeTemplateObject)(["\n width: 100%;\n padding: ",";\n "],["\n width: 100%;\n padding: ",";\n "])),(function(e){return e.theme.spacing.sectionVertical+"px "+e.theme.spacing.sectionHorizontal+"px"}))),zn=je(Fn)(kn||(kn=Object(o.__makeTemplateObject)(["\n background-color: ",";\n"],["\n background-color: ",";\n"])),(function(e){return e.theme.rightPanel.backgroundColor})),Un=je.div(En||(En=Object(o.__makeTemplateObject)(["\n display: flex;\n width: 100%;\n padding: 0;\n\n ",";\n"],["\n display: flex;\n width: 100%;\n padding: 0;\n\n ",";\n"])),Te("medium",!0)(On||(On=Object(o.__makeTemplateObject)(["\n flex-direction: column;\n "],["\n flex-direction: column;\n "])))),Bn={1:"1.85714em",2:"1.57143em",3:"1.27em"},$n=function(e){return ke(Sn||(Sn=Object(o.__makeTemplateObject)(["\n font-family: ",";\n font-weight: ",";\n font-size: ",";\n line-height: ",";\n"],["\n font-family: ",";\n font-weight: ",";\n font-size: ",";\n line-height: ",";\n"])),(function(e){return e.theme.typography.headings.fontFamily}),(function(e){return e.theme.typography.headings.fontWeight}),Bn[e],(function(e){return e.theme.typography.headings.lineHeight}))},Wn=je.h1(Tn||(Tn=Object(o.__makeTemplateObject)(["\n ",";\n color: ",";\n\n ",";\n"],["\n ",";\n color: ",";\n\n ",";\n"])),$n(1),(function(e){return e.theme.colors.primary.main}),Ae("H1")),qn=je.h2(jn||(jn=Object(o.__makeTemplateObject)(["\n ",";\n color: black;\n\n ",";\n"],["\n ",";\n color: black;\n\n ",";\n"])),$n(2),Ae("H2")),Hn=(je.h2(An||(An=Object(o.__makeTemplateObject)(["\n ",";\n color: black;\n\n ",";\n"],["\n ",";\n color: black;\n\n ",";\n"])),$n(3),Ae("H3")),je.h3(Cn||(Cn=Object(o.__makeTemplateObject)(["\n color: ",";\n\n ",";\n"],["\n color: ",";\n\n ",";\n"])),(function(e){return e.theme.rightPanel.textColor}),Ae("RightPanelHeader"))),Vn=je.h5(In||(In=Object(o.__makeTemplateObject)(["\n border-bottom: 1px solid rgba(38, 50, 56, 0.3);\n margin: 1em 0 1em 0;\n color: rgba(38, 50, 56, 0.5);\n font-weight: normal;\n text-transform: uppercase;\n font-size: 0.929em;\n line-height: 20px;\n\n ",";\n"],["\n border-bottom: 1px solid rgba(38, 50, 56, 0.3);\n margin: 1em 0 1em 0;\n color: rgba(38, 50, 56, 0.5);\n font-weight: normal;\n text-transform: uppercase;\n font-size: 0.929em;\n line-height: 20px;\n\n ",";\n"])),Ae("UnderlinedHeader")),Yn=n(156),Qn=Object(i.createContext)(void 0),Gn=Qn.Provider,Xn=Qn.Consumer,Kn=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={loading:!0,resolvedSpec:null},t}return Object(o.__extends)(t,e),t.getDerivedStateFromProps=function(e,t){return e.specUrl!==t.prevSpecUrl||e.spec!==t.prevSpec?{loading:!0,resolvedSpec:null,prevSpec:e.spec,prevSpecUrl:e.specUrl}:null},t.prototype.makeStore=function(e,t,n){if(e)try{return new mc(e,t,n)}catch(e){throw this.props.onLoaded&&this.props.onLoaded(e),e}},t.prototype.componentDidMount=function(){this.load()},t.prototype.componentDidUpdate=function(){null===this.state.resolvedSpec?this.load():!this.state.loading&&this.props.onLoaded&&this.props.onLoaded()},t.prototype.load=function(){return Object(o.__awaiter)(this,void 0,void 0,(function(){var e,t,n,r,i;return Object(o.__generator)(this,(function(o){switch(o.label){case 0:e=this.props,t=e.specUrl,n=e.spec,o.label=1;case 1:return o.trys.push([1,3,,4]),[4,He(n||t)];case 2:return r=o.sent(),this.setState({resolvedSpec:r,loading:!1}),[3,4];case 3:return i=o.sent(),this.props.onLoaded&&this.props.onLoaded(i),this.setState({error:i}),[3,4];case 4:return[2]}}))}))},t.prototype.render=function(){if(this.state.error)throw this.state.error;var e=this.props,t=e.specUrl,n=e.options,r=this.state,o=r.loading,i=r.resolvedSpec;return this.props.children({loading:o,store:this.makeStore(i,t,n)})},Object(o.__decorate)([Yn],t.prototype,"makeStore",null),t}(i.Component),Jn=function(e){return ke(Pn||(Pn=Object(o.__makeTemplateObject)(["\n "," {\n cursor: pointer;\n margin-left: -20px;\n padding: 0;\n line-height: 1;\n width: 20px;\n display: inline-block;\n outline: 0;\n }\n ",":before {\n content: '';\n width: 15px;\n height: 15px;\n background-size: contain;\n background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMCIgeT0iMCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA1MTIgNTEyIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBmaWxsPSIjMDEwMTAxIiBkPSJNNDU5LjcgMjMzLjRsLTkwLjUgOTAuNWMtNTAgNTAtMTMxIDUwLTE4MSAwIC03LjktNy44LTE0LTE2LjctMTkuNC0yNS44bDQyLjEtNDIuMWMyLTIgNC41LTMuMiA2LjgtNC41IDIuOSA5LjkgOCAxOS4zIDE1LjggMjcuMiAyNSAyNSA2NS42IDI0LjkgOTAuNSAwbDkwLjUtOTAuNWMyNS0yNSAyNS02NS42IDAtOTAuNSAtMjQuOS0yNS02NS41LTI1LTkwLjUgMGwtMzIuMiAzMi4yYy0yNi4xLTEwLjItNTQuMi0xMi45LTgxLjYtOC45bDY4LjYtNjguNmM1MC01MCAxMzEtNTAgMTgxIDBDNTA5LjYgMTAyLjMgNTA5LjYgMTgzLjQgNDU5LjcgMjMzLjR6TTIyMC4zIDM4Mi4ybC0zMi4yIDMyLjJjLTI1IDI0LjktNjUuNiAyNC45LTkwLjUgMCAtMjUtMjUtMjUtNjUuNiAwLTkwLjVsOTAuNS05MC41YzI1LTI1IDY1LjUtMjUgOTAuNSAwIDcuOCA3LjggMTIuOSAxNy4yIDE1LjggMjcuMSAyLjQtMS40IDQuOC0yLjUgNi44LTQuNWw0Mi4xLTQyYy01LjQtOS4yLTExLjYtMTgtMTkuNC0yNS44IC01MC01MC0xMzEtNTAtMTgxIDBsLTkwLjUgOTAuNWMtNTAgNTAtNTAgMTMxIDAgMTgxIDUwIDUwIDEzMSA1MCAxODEgMGw2OC42LTY4LjZDMjc0LjYgMzk1LjEgMjQ2LjQgMzkyLjMgMjIwLjMgMzgyLjJ6Ii8+PC9zdmc+Cg==');\n opacity: 0.5;\n visibility: hidden;\n display: inline-block;\n vertical-align: middle;\n }\n\n h1:hover > ","::before, h2:hover > ","::before, ",":hover::before {\n visibility: visible;\n }\n"],["\n "," {\n cursor: pointer;\n margin-left: -20px;\n padding: 0;\n line-height: 1;\n width: 20px;\n display: inline-block;\n outline: 0;\n }\n ",":before {\n content: '';\n width: 15px;\n height: 15px;\n background-size: contain;\n background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMCIgeT0iMCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA1MTIgNTEyIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBmaWxsPSIjMDEwMTAxIiBkPSJNNDU5LjcgMjMzLjRsLTkwLjUgOTAuNWMtNTAgNTAtMTMxIDUwLTE4MSAwIC03LjktNy44LTE0LTE2LjctMTkuNC0yNS44bDQyLjEtNDIuMWMyLTIgNC41LTMuMiA2LjgtNC41IDIuOSA5LjkgOCAxOS4zIDE1LjggMjcuMiAyNSAyNSA2NS42IDI0LjkgOTAuNSAwbDkwLjUtOTAuNWMyNS0yNSAyNS02NS42IDAtOTAuNSAtMjQuOS0yNS02NS41LTI1LTkwLjUgMGwtMzIuMiAzMi4yYy0yNi4xLTEwLjItNTQuMi0xMi45LTgxLjYtOC45bDY4LjYtNjguNmM1MC01MCAxMzEtNTAgMTgxIDBDNTA5LjYgMTAyLjMgNTA5LjYgMTgzLjQgNDU5LjcgMjMzLjR6TTIyMC4zIDM4Mi4ybC0zMi4yIDMyLjJjLTI1IDI0LjktNjUuNiAyNC45LTkwLjUgMCAtMjUtMjUtMjUtNjUuNiAwLTkwLjVsOTAuNS05MC41YzI1LTI1IDY1LjUtMjUgOTAuNSAwIDcuOCA3LjggMTIuOSAxNy4yIDE1LjggMjcuMSAyLjQtMS40IDQuOC0yLjUgNi44LTQuNWw0Mi4xLTQyYy01LjQtOS4yLTExLjYtMTgtMTkuNC0yNS44IC01MC01MC0xMzEtNTAtMTgxIDBsLTkwLjUgOTAuNWMtNTAgNTAtNTAgMTMxIDAgMTgxIDUwIDUwIDEzMSA1MCAxODEgMGw2OC42LTY4LjZDMjc0LjYgMzk1LjEgMjQ2LjQgMzkyLjMgMjIwLjMgMzgyLjJ6Ii8+PC9zdmc+Cg==');\n opacity: 0.5;\n visibility: hidden;\n display: inline-block;\n vertical-align: middle;\n }\n\n h1:hover > ","::before, h2:hover > ","::before, ",":hover::before {\n visibility: visible;\n }\n"])),e,e,e,e,e)},Zn=function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)},er=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.navigate=function(e,n){n.defaultPrevented||0!==n.button||Zn(n)||(n.preventDefault(),e.replace(t.props.to))},t}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this;return i.createElement(Xn,null,(function(t){return i.createElement("a",{className:e.props.className,href:t.menu.history.linkForId(e.props.to),onClick:e.navigate.bind(e,t.menu.history)},e.props.children)}))},t}(i.Component),tr=je(er)(Rn||(Rn=Object(o.__makeTemplateObject)(["\n ",";\n"],["\n ",";\n"])),Jn("&"));function nr(e){return i.createElement(tr,{to:e.to})}var rr,or,ir,ar,sr,lr,cr,ur,fr,pr,dr,hr,mr,gr,vr,yr,br,xr,wr,_r,kr,Or,Er,Sr={left:"90deg",right:"-90deg",up:"-180deg",down:"0"},Tr=je(function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){return i.createElement("svg",{className:this.props.className,style:this.props.style,version:"1.1",viewBox:"0 0 24 24",x:"0",xmlns:"http://www.w3.org/2000/svg",y:"0","aria-hidden":"true"},i.createElement("polygon",{points:"17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "}))},t}(i.PureComponent))(rr||(rr=Object(o.__makeTemplateObject)(["\n height: ",";\n width: ",";\n vertical-align: middle;\n float: ",";\n transition: transform 0.2s ease-out;\n transform: rotateZ(",");\n\n polygon {\n fill: ",";\n }\n"],["\n height: ",";\n width: ",";\n vertical-align: middle;\n float: ",";\n transition: transform 0.2s ease-out;\n transform: rotateZ(",");\n\n polygon {\n fill: ",";\n }\n"])),(function(e){return e.size||"18px"}),(function(e){return e.size||"18px"}),(function(e){return e.float||""}),(function(e){return Sr[e.direction||"down"]}),(function(e){var t=e.color,n=e.theme;return t&&n.colors.responses[t]&&n.colors.responses[t].color||t})),jr=je.span(or||(or=Object(o.__makeTemplateObject)(["\n display: inline-block;\n padding: 2px 8px;\n margin: 0;\n background-color: ",";\n color: ",";\n font-size: ",";\n vertical-align: middle;\n line-height: 1.6;\n border-radius: 4px;\n font-weight: ",";\n font-size: 12px;\n + span[type] {\n margin-left: 4px;\n }\n"],["\n display: inline-block;\n padding: 2px 8px;\n margin: 0;\n background-color: ",";\n color: ",";\n font-size: ",";\n vertical-align: middle;\n line-height: 1.6;\n border-radius: 4px;\n font-weight: ",";\n font-size: 12px;\n + span[type] {\n margin-left: 4px;\n }\n"])),(function(e){return e.theme.colors[e.type].main}),(function(e){return e.theme.colors[e.type].contrastText}),(function(e){return e.theme.typography.code.fontSize}),(function(e){return e.theme.typography.fontWeightBold})),Ar=ke(ir||(ir=Object(o.__makeTemplateObject)(["\n text-decoration: line-through;\n color: #707070;\n"],["\n text-decoration: line-through;\n color: #707070;\n"]))),Cr=je.caption(ar||(ar=Object(o.__makeTemplateObject)(["\n text-align: right;\n font-size: 0.9em;\n font-weight: normal;\n color: ",";\n"],["\n text-align: right;\n font-size: 0.9em;\n font-weight: normal;\n color: ",";\n"])),(function(e){return e.theme.colors.text.secondary})),Ir=je.td(lr||(lr=Object(o.__makeTemplateObject)(["\n border-left: 1px solid ",";\n box-sizing: border-box;\n position: relative;\n padding: 10px 10px 10px 0;\n\n ","\n\n tr:first-of-type > &,\n tr.last > & {\n border-left-width: 0;\n background-position: top left;\n background-repeat: no-repeat;\n background-size: 1px 100%;\n }\n\n tr:first-of-type > & {\n background-image: linear-gradient(\n to bottom,\n transparent 0%,\n transparent 22px,\n "," 22px,\n "," 100%\n );\n }\n\n tr.last > & {\n background-image: linear-gradient(\n to bottom,\n "," 0%,\n "," 22px,\n transparent 22px,\n transparent 100%\n );\n }\n\n tr.last + tr > & {\n border-left-color: transparent;\n }\n\n tr.last:first-child > & {\n background: none;\n border-left-color: transparent;\n }\n"],["\n border-left: 1px solid ",";\n box-sizing: border-box;\n position: relative;\n padding: 10px 10px 10px 0;\n\n ","\n\n tr:first-of-type > &,\n tr.last > & {\n border-left-width: 0;\n background-position: top left;\n background-repeat: no-repeat;\n background-size: 1px 100%;\n }\n\n tr:first-of-type > & {\n background-image: linear-gradient(\n to bottom,\n transparent 0%,\n transparent 22px,\n "," 22px,\n "," 100%\n );\n }\n\n tr.last > & {\n background-image: linear-gradient(\n to bottom,\n "," 0%,\n "," 22px,\n transparent 22px,\n transparent 100%\n );\n }\n\n tr.last + tr > & {\n border-left-color: transparent;\n }\n\n tr.last:first-child > & {\n background: none;\n border-left-color: transparent;\n }\n"])),(function(e){return e.theme.schema.linesColor}),Te("small")(sr||(sr=Object(o.__makeTemplateObject)(["\n display: block;\n overflow: hidden;\n "],["\n display: block;\n overflow: hidden;\n "]))),(function(e){return e.theme.schema.linesColor}),(function(e){return e.theme.schema.linesColor}),(function(e){return e.theme.schema.linesColor}),(function(e){return e.theme.schema.linesColor})),Pr=je(Ir)(cr||(cr=Object(o.__makeTemplateObject)(["\n padding: 0;\n"],["\n padding: 0;\n"]))),Rr=je(Ir)(ur||(ur=Object(o.__makeTemplateObject)(["\n vertical-align: top;\n line-height: 20px;\n white-space: nowrap;\n font-size: 13px;\n font-family: ",";\n\n &.deprecated {\n ",";\n }\n\n ",";\n\n ",";\n"],["\n vertical-align: top;\n line-height: 20px;\n white-space: nowrap;\n font-size: 13px;\n font-family: ",";\n\n &.deprecated {\n ",";\n }\n\n ",";\n\n ",";\n"])),(function(e){return e.theme.typography.code.fontFamily}),Ar,(function(e){return"field"!==e.kind?"font-style: italic":""}),Ae("PropertyNameCell")),Nr=je.td(pr||(pr=Object(o.__makeTemplateObject)(["\n border-bottom: 1px solid #9fb4be;\n padding: 10px 0;\n width: ",";\n box-sizing: border-box;\n\n tr.expanded & {\n border-bottom: none;\n }\n\n ","\n\n ",";\n"],["\n border-bottom: 1px solid #9fb4be;\n padding: 10px 0;\n width: ",";\n box-sizing: border-box;\n\n tr.expanded & {\n border-bottom: none;\n }\n\n ","\n\n ",";\n"])),(function(e){return e.theme.schema.defaultDetailsWidth}),Te("small")(fr||(fr=Object(o.__makeTemplateObject)(["\n padding: 0 20px;\n border-bottom: none;\n border-left: 1px solid ",";\n\n tr.last > & {\n border-left: none;\n }\n "],["\n padding: 0 20px;\n border-bottom: none;\n border-left: 1px solid ",";\n\n tr.last > & {\n border-left: none;\n }\n "])),(function(e){return e.theme.schema.linesColor})),Ae("PropertyDetailsCell")),Lr=je.span(dr||(dr=Object(o.__makeTemplateObject)(["\n color: ",";\n font-family: ",";\n margin-right: 10px;\n\n &::before {\n content: '';\n display: inline-block;\n vertical-align: middle;\n width: 10px;\n height: 1px;\n background: ",";\n }\n\n &::after {\n content: '';\n display: inline-block;\n vertical-align: middle;\n width: 1px;\n background: ",";\n height: 7px;\n }\n"],["\n color: ",";\n font-family: ",";\n margin-right: 10px;\n\n &::before {\n content: '';\n display: inline-block;\n vertical-align: middle;\n width: 10px;\n height: 1px;\n background: ",";\n }\n\n &::after {\n content: '';\n display: inline-block;\n vertical-align: middle;\n width: 1px;\n background: ",";\n height: 7px;\n }\n"])),(function(e){return e.theme.schema.linesColor}),(function(e){return e.theme.typography.code.fontFamily}),(function(e){return e.theme.schema.linesColor}),(function(e){return e.theme.schema.linesColor})),Mr=je.div(hr||(hr=Object(o.__makeTemplateObject)(["\n padding: ",";\n"],["\n padding: ",";\n"])),(function(e){return e.theme.schema.nestingSpacing})),Dr=je.table(vr||(vr=Object(o.__makeTemplateObject)(["\n border-collapse: separate;\n border-radius: 3px;\n font-size: ",";\n\n border-spacing: 0;\n width: 100%;\n\n > tr {\n vertical-align: middle;\n }\n\n ","\n\n ","\n\n &\n ",",\n &\n ","\n ","\n ",",\n &\n ","\n ","\n ","\n ","\n "," {\n margin: ",";\n margin-right: 0;\n background: ",";\n }\n\n &\n ","\n ",",\n &\n ","\n ","\n ","\n ",",\n &\n ","\n ","\n ","\n ","\n ","\n "," {\n background: #ffffff;\n }\n"],["\n border-collapse: separate;\n border-radius: 3px;\n font-size: ",";\n\n border-spacing: 0;\n width: 100%;\n\n > tr {\n vertical-align: middle;\n }\n\n ","\n\n ","\n\n &\n ",",\n &\n ","\n ","\n ",",\n &\n ","\n ","\n ","\n ","\n "," {\n margin: ",";\n margin-right: 0;\n background: ",";\n }\n\n &\n ","\n ",",\n &\n ","\n ","\n ","\n ",",\n &\n ","\n ","\n ","\n ","\n ","\n "," {\n background: #ffffff;\n }\n"])),(function(e){return e.theme.typography.fontSize}),Te("small")(mr||(mr=Object(o.__makeTemplateObject)(["\n display: block;\n > tr, > tbody > tr {\n display: block;\n }\n "],["\n display: block;\n > tr, > tbody > tr {\n display: block;\n }\n "]))),Te("small",!1," and (-ms-high-contrast:none)")(gr||(gr=Object(o.__makeTemplateObject)(["\n td {\n float: left;\n width: 100%;\n }\n "],["\n td {\n float: left;\n width: 100%;\n }\n "]))),Mr,Mr,Mr,Mr,Mr,Mr,Mr,Mr,Mr,(function(e){return e.theme.schema.nestingSpacing}),(function(e){return e.theme.schema.nestedBackground}),Mr,Mr,Mr,Mr,Mr,Mr,Mr,Mr,Mr,Mr,Mr,Mr),Fr=je.div(yr||(yr=Object(o.__makeTemplateObject)(["\n margin: 0 0 3px 0;\n display: inline-block;\n"],["\n margin: 0 0 3px 0;\n display: inline-block;\n"]))),zr=je.span(br||(br=Object(o.__makeTemplateObject)(["\n font-size: 0.9em;\n margin-right: 10px;\n color: ",";\n font-family: ",";\n}\n"],["\n font-size: 0.9em;\n margin-right: 10px;\n color: ",";\n font-family: ",";\n}\n"])),(function(e){return e.theme.colors.primary.main}),(function(e){return e.theme.typography.headings.fontFamily})),Ur=je.button(xr||(xr=Object(o.__makeTemplateObject)(["\n display: inline-block;\n margin-right: 10px;\n margin-bottom: 5px;\n font-size: 0.8em;\n cursor: pointer;\n border: 1px solid ",";\n padding: 2px 10px;\n line-height: 1.5em;\n outline: none;\n &:focus {\n box-shadow: 0 0 0 1px ",";\n }\n\n ","\n"],["\n display: inline-block;\n margin-right: 10px;\n margin-bottom: 5px;\n font-size: 0.8em;\n cursor: pointer;\n border: 1px solid ",";\n padding: 2px 10px;\n line-height: 1.5em;\n outline: none;\n &:focus {\n box-shadow: 0 0 0 1px ",";\n }\n\n ","\n"])),(function(e){return e.theme.colors.primary.main}),(function(e){return e.theme.colors.primary.main}),(function(e){return e.active?"\n color: white;\n background-color: "+e.theme.colors.primary.main+";\n &:focus {\n box-shadow: none;\n background-color: "+q(.15,e.theme.colors.primary.main)+";\n }\n ":"\n color: "+e.theme.colors.primary.main+";\n background-color: white;\n "})),Br=je.div(wr||(wr=Object(o.__makeTemplateObject)(["\n font-size: 0.9em;\n font-family: ",";\n &::after {\n content: ' [';\n }\n"],["\n font-size: 0.9em;\n font-family: ",";\n &::after {\n content: ' [';\n }\n"])),(function(e){return e.theme.typography.code.fontFamily})),$r=je.div(_r||(_r=Object(o.__makeTemplateObject)(["\n font-size: 0.9em;\n font-family: ",";\n &::after {\n content: ']';\n }\n"],["\n font-size: 0.9em;\n font-family: ",";\n &::after {\n content: ']';\n }\n"])),(function(e){return e.theme.typography.code.fontFamily})),Wr=function(){return(Wr=Object.assign||function(e){for(var t,n=1,r=arguments.length;n=0&&n.push(s)}else a.value.toLowerCase().includes(r)&&n.push(a)}return n}(t,o):t}),[t,o]),l=Object(i.useCallback)((function(t,n){void 0===n&&(n=!0),a(t),n&&e(0)}),[e,a]);return{searchTerm:o,setSearchTerm:l,filteredOptions:s}}(h,n,r),E=O.searchTerm,S=O.setSearchTerm,T=O.filteredOptions,j=Object(i.useMemo)((function(){return T.reduce(eo,[])}),[T]),A=Object(i.useMemo)((function(){return j.map((function(e){return e.value})).indexOf(u)}),[j,u]),C=Object(i.useCallback)((function(e){void 0===e&&(e=!1),S("",!1),v(!1),e&&b.current&&b.current.focus()}),[b.current,S,v]),I=Object(i.useCallback)((function(){h(A>0?A:0),v(!0)}),[v,h,A]),P=Object(i.useCallback)((function(e,t){void 0===t&&(t=!1),e&&(o(e),S("",!1)),t&&C(!0)}),[o,C,S]);!function(e,t){var n=function(n){t.current&&!t.current.contains(n.target)&&e()};Object(i.useEffect)((function(){return document.addEventListener("mouseup",n,!1),document.addEventListener("touchend",n,!1),function(){document.removeEventListener("mouseup",n),document.removeEventListener("touchend",n)}}),[])}(C,y),function(e,t){Object(i.useEffect)((function(){if(t.current&&e>=0){var n=t.current.getElementsByClassName("dropdown-option"),r=n&&n.length?n[e]:null;if(r&&r.getBoundingClientRect){var o=r.getBoundingClientRect().height,i=t.current.getBoundingClientRect().height,a=t.current.scrollTop,s=r.offsetTop<=a;r.offsetTop>=a&&r.offsetTop+o<=a+i||(s?t.current.scrollTo({top:r.offsetTop}):t.current.scrollTo({top:r.offsetTop-i+o+8}))}}}),[e])}(d,x);var R=Object(i.useMemo)((function(){return{"aria-hidden":a,"aria-expanded":g,"aria-haspopup":"listbox","aria-activedescendant":t+"_list_"+d,"aria-controls":t+"_list","aria-label":l,"aria-labelledby":c,"aria-describedby":s}}),[a,g,t,d,l,c,s]);return{focusedIndex:d,setFocusedIndex:h,open:g,setOpen:v,searchTerm:E,setSearchTerm:S,dropdownFocused:_,setDropdownFocused:k,setValue:P,filteredOptions:T,openDropdown:I,closeDropdown:C,flattenedOptions:j,container:y,inputRef:b,listWrapper:x,ariaProps:R,ariaList:ko(j,A,t)}},Eo=0,So=function(e){var t,n=e.arrowRenderer,r=e.contentClassName,o=e.className,a=e.disabled,s=e.hideArrow,l=e.id,c=e.optionItemRenderer,u=e.pageKeyTraverseSize,f=e.placeholder,p=e.searchable,d=e.value,h=e.selectedValueClassName,m=Object(i.useMemo)((function(){return t||(e=Eo,Eo+=1,"react_dropdown_aria_"+e);var e}),[t=l]),g=Oo(e,m),v=g.open,y=g.dropdownFocused,b=g.focusedIndex,x=g.setFocusedIndex,w=g.setDropdownFocused,_=g.setValue,k=g.openDropdown,O=g.closeDropdown,E=g.searchTerm,S=g.setSearchTerm,T=g.filteredOptions,j=g.flattenedOptions,A=g.container,C=g.inputRef,I=g.listWrapper,P=g.ariaProps,R=g.ariaList,N=Object(i.useCallback)((function(){C.current&&C.current.focus()}),[C.current]),L=Object(i.useCallback)((function(){N(),a||v&&p||(v?O(!0):k())}),[v,a,p,O,k]),M=Object(i.useCallback)((function(e){switch(e){case Or.UP_ARROW:x((function(e){return 0===e?j.length-1:e-1}));break;case Or.DOWN_ARROW:x((function(e){return(e+1)%j.length}));break;case Or.PAGE_UP:x((function(e){return e-u<0&&0!==e?0:e-u<0?j.length-1:e-u}));break;case Or.PAGE_DOWN:x((function(e){return e===j.length-1?0:e+u>j.length-1?j.length-1:(e+u)%j.length}));break;case Or.ESCAPE:O(!0)}}),[x,j,u,O]),D=Object(i.useCallback)((function(e){var t=e.keyCode;-1!==qr.indexOf(t)?(e.preventDefault(),e.stopPropagation(),M(t)):t!==Or.ENTER&&(t!==Or.SPACE||p)||v?t!==Or.TAB||p?(t===Or.TAB||t===Or.ENTER)&&j.length>0&&b>=0&&v&&(e.stopPropagation(),e.preventDefault(),_(j[b],!0)):O():(e.preventDefault(),k())}),[j,_,b,v,M,k,p,O]),F=Object(i.useCallback)((function(e){S(e.target.value)}),[S]),z=Object(i.useCallback)((function(){return w(!0)}),[w]),U=Object(i.useCallback)((function(){return w(!1)}),[w]),B=Object(i.useMemo)((function(){if(s)return null;if(n)return Object(i.createElement)(co,{className:"dropdown-arrow"},n(v));var e=v&&p;return Object(i.createElement)(co,{className:"dropdown-arrow"},e&&Object(i.createElement)(xo,null),!e&&Object(i.createElement)(bo,null))}),[v,n,p,s]);return Object(i.createElement)(ro,{ref:A,onFocus:N,onClick:L,role:"button",width:e.width,height:e.height,disabled:a,open:v,dropdownFocused:y,className:no("dropdown",o)},Object(i.createElement)(oo,{className:"dropdown-selector",open:v,searchable:e.searchable},Object(i.createElement)(io,{className:"dropdown-selector-search"},Object(i.createElement)("input",Wr({id:m,ref:C,value:E,onChange:F,onKeyDown:D,onFocus:z,onBlur:U,readOnly:!v||!p,disabled:a,autoComplete:"off",role:"combobox"},P))),!d&&!E&&Object(i.createElement)(lo,{className:"dropdown-selector-placeholder",centerText:e.centerText},f),d&&!E&&Object(i.createElement)(so,{className:no("dropdown-selector-value",h),centerText:e.centerText,value:d,open:v},d),B),R,Object(i.createElement)(uo,{maxContentHeight:e.maxContentHeight,openUp:e.openUp,open:v,className:no("dropdown-selector-content",r),ref:I},Object(i.createElement)(wo,{selectedOption:d,options:T,focusedIndex:b,onOptionClicked:_,optionItemRenderer:c,empty:0===j.length})))};So.defaultProps={ariaDescribedBy:null,ariaLabel:null,ariaLabelledBy:null,arrowRenderer:void 0,centerText:!1,className:void 0,contentClassName:null,defaultOpen:!1,disabled:!1,height:null,hideArrow:!1,id:null,maxContentHeight:150,openUp:!1,optionItemRenderer:void 0,pageKeyTraverseSize:10,placeholder:"Select ...",searchable:!1,selectedValueClassName:null,style:{},value:void 0,width:null};var To,jo,Ao,Co=je(So)(To||(To=Object(o.__makeTemplateObject)(["\n && {\n box-sizing: border-box;\n min-width: 100px;\n outline: none;\n display: inline-block;\n border-radius: 2px;\n border: 1px solid rgba(38, 50, 56, 0.5);\n vertical-align: bottom;\n padding: 2px 0px 2px 6px;\n position: relative;\n width: auto;\n background: white;\n color: #263238;\n font-family: ",";\n font-size: 0.929em;\n line-height: 1.5em;\n cursor: pointer;\n transition: border 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;\n &:hover,\n &:focus-within {\n border: 1px solid ",";\n color: ",";\n box-shadow: 0px 0px 0px 1px ",";\n }\n .dropdown-selector {\n display: inline-flex;\n padding: 0;\n height: auto;\n padding-right: 20px;\n position: relative;\n margin-bottom: 5px;\n }\n .dropdown-selector-value {\n font-family: ",";\n position: relative;\n font-size: 0.929em;\n width: 100%;\n line-height: 1;\n vertical-align: middle;\n color: #263238;\n left: 0;\n transition: color 0.25s ease, text-shadow 0.25s ease;\n }\n .dropdown-arrow {\n position: absolute;\n right: 3px;\n top: 50%;\n transform: translateY(-50%);\n border-color: "," transparent transparent;\n border-style: solid;\n border-width: 0.35em 0.35em 0;\n width: 0;\n svg {\n display: none;\n }\n }\n\n .dropdown-selector-content {\n position: absolute;\n margin-top: 2px;\n left: -2px;\n right: 0;\n\n z-index: 10;\n min-width: 100px;\n\n background: white;\n border: 1px solid rgba(38, 50, 56, 0.2);\n box-shadow: 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.08);\n\n max-height: 220px;\n overflow: auto;\n }\n\n .dropdown-option {\n font-size: 0.9em;\n color: #263238;\n cursor: pointer;\n padding: 0.4em;\n background-color: #ffffff;\n\n &[aria-selected='true'] {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:hover {\n background-color: rgba(38, 50, 56, 0.12);\n }\n }\n input {\n cursor: pointer;\n height: 1px;\n background-color: transparent;\n }\n }\n"],["\n && {\n box-sizing: border-box;\n min-width: 100px;\n outline: none;\n display: inline-block;\n border-radius: 2px;\n border: 1px solid rgba(38, 50, 56, 0.5);\n vertical-align: bottom;\n padding: 2px 0px 2px 6px;\n position: relative;\n width: auto;\n background: white;\n color: #263238;\n font-family: ",";\n font-size: 0.929em;\n line-height: 1.5em;\n cursor: pointer;\n transition: border 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;\n &:hover,\n &:focus-within {\n border: 1px solid ",";\n color: ",";\n box-shadow: 0px 0px 0px 1px ",";\n }\n .dropdown-selector {\n display: inline-flex;\n padding: 0;\n height: auto;\n padding-right: 20px;\n position: relative;\n margin-bottom: 5px;\n }\n .dropdown-selector-value {\n font-family: ",";\n position: relative;\n font-size: 0.929em;\n width: 100%;\n line-height: 1;\n vertical-align: middle;\n color: #263238;\n left: 0;\n transition: color 0.25s ease, text-shadow 0.25s ease;\n }\n .dropdown-arrow {\n position: absolute;\n right: 3px;\n top: 50%;\n transform: translateY(-50%);\n border-color: "," transparent transparent;\n border-style: solid;\n border-width: 0.35em 0.35em 0;\n width: 0;\n svg {\n display: none;\n }\n }\n\n .dropdown-selector-content {\n position: absolute;\n margin-top: 2px;\n left: -2px;\n right: 0;\n\n z-index: 10;\n min-width: 100px;\n\n background: white;\n border: 1px solid rgba(38, 50, 56, 0.2);\n box-shadow: 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.08);\n\n max-height: 220px;\n overflow: auto;\n }\n\n .dropdown-option {\n font-size: 0.9em;\n color: #263238;\n cursor: pointer;\n padding: 0.4em;\n background-color: #ffffff;\n\n &[aria-selected='true'] {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n &:hover {\n background-color: rgba(38, 50, 56, 0.12);\n }\n }\n input {\n cursor: pointer;\n height: 1px;\n background-color: transparent;\n }\n }\n"])),(function(e){return e.theme.typography.headings.fontFamily}),(function(e){return e.theme.colors.primary.main}),(function(e){return e.theme.colors.primary.main}),(function(e){return e.theme.colors.primary.main}),(function(e){return e.theme.typography.headings.fontFamily}),(function(e){return e.theme.colors.primary.main})),Io=je(Co)(jo||(jo=Object(o.__makeTemplateObject)(["\n && {\n margin-left: 10px;\n text-transform: none;\n font-size: 0.969em;\n\n font-size: 1em;\n border: none;\n padding: 0 1.2em 0 0;\n background: transparent;\n\n &:hover,\n &:focus-within {\n border: none;\n box-shadow: none;\n .dropdown-selector-value {\n color: ",";\n text-shadow: 0px 0px 0px ",";\n }\n }\n }\n"],["\n && {\n margin-left: 10px;\n text-transform: none;\n font-size: 0.969em;\n\n font-size: 1em;\n border: none;\n padding: 0 1.2em 0 0;\n background: transparent;\n\n &:hover,\n &:focus-within {\n border: none;\n box-shadow: none;\n .dropdown-selector-value {\n color: ",";\n text-shadow: 0px 0px 0px ",";\n }\n }\n }\n"])),(function(e){return e.theme.colors.primary.main}),(function(e){return e.theme.colors.primary.main})),Po=je.span(Ao||(Ao=Object(o.__makeTemplateObject)(["\n margin-left: 10px;\n text-transform: none;\n font-size: 0.929em;\n color: black;\n"],["\n margin-left: 10px;\n text-transform: none;\n font-size: 0.929em;\n color: black;\n"])));function Ro(e){return function(t){return!!t.type&&t.type.tabsRole===e}}var No=Ro("Tab"),Lo=Ro("TabList"),Mo=Ro("TabPanel");function Do(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Fo(e){for(var t=1;t=this.getTabsCount())){var n=this.props;(0,n.onSelect)(e,n.selectedIndex,t)}},o.getNextTab=function(e){for(var t=this.getTabsCount(),n=e+1;ne;)if(!Ko(this.getTab(t)))return t;return e},o.getFirstTab=function(){for(var e=this.getTabsCount(),t=0;t=0||(o[n]=e[n]);return o}(t,["children","className","disabledTabClassName","domRef","focus","forceRenderTabPanel","onSelect","selectedIndex","selectedTabClassName","selectedTabPanelClassName"]));return a.a.createElement("div",Qo({},o,{className:qo(n),onClick:this.handleClick,onKeyDown:this.handleKeyDown,ref:function(t){e.node=t,r&&r(t)},"data-tabs":!0}),this.getChildren())},r}(i.Component);Jo.defaultProps={className:"react-tabs",focus:!1},Jo.propTypes={};var Zo=function(e){var t,n;function r(t){var n;return(n=e.call(this,t)||this).handleSelected=function(e,t,r){var o=n.props.onSelect,i=n.state.mode;if("function"!=typeof o||!1!==o(e,t,r)){var a={focus:"keydown"===r.type};1===i&&(a.selectedIndex=e),n.setState(a)}},n.state=r.copyPropsToState(n.props,{},t.defaultFocus),n}return n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,r.getDerivedStateFromProps=function(e,t){return r.copyPropsToState(e,t)},r.getModeFromProps=function(e){return null===e.selectedIndex?1:0},r.copyPropsToState=function(e,t,n){void 0===n&&(n=!1);var o={focus:n,mode:r.getModeFromProps(e)};if(1===o.mode){var i=Yo(e.children)-1,a=null;a=null!=t.selectedIndex?Math.min(t.selectedIndex,i):e.defaultIndex||0,o.selectedIndex=a}return o},r.prototype.render=function(){var e=this.props,t=e.children,n=(e.defaultIndex,e.defaultFocus,function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["children","defaultIndex","defaultFocus"])),r=this.state,o=r.focus,i=r.selectedIndex;return n.focus=o,n.onSelect=this.handleSelected,null!=i&&(n.selectedIndex=i),a.a.createElement(Jo,n,t)},r}(i.Component);function ei(){return(ei=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,["children","className"]);return a.a.createElement("ul",ei({},r,{className:qo(n),role:"tablist"}),t)},r}(i.Component);function ni(){return(ni=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(n,["children","className","disabled","disabledClassName","focus","id","panelId","selected","selectedClassName","tabIndex","tabRef"]);return a.a.createElement("li",ni({},h,{className:qo(o,(e={},e[f]=u,e[s]=i,e)),ref:function(e){t.node=e,d&&d(e)},role:"tab",id:l,"aria-selected":u?"true":"false","aria-disabled":i?"true":"false","aria-controls":c,tabIndex:p||(u?"0":null)}),r)},r}(i.Component);function oi(){return(oi=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(t,["children","className","forceRender","id","selected","selectedClassName","tabId"]);return a.a.createElement("div",oi({},u,{className:qo(r,(e={},e[l]=s,e)),role:"tabpanel",id:i,"aria-labelledby":c}),o||s?n:null)},r}(i.Component);ii.defaultProps={className:"react-tabs__tab-panel",forceRender:!1,selectedClassName:"react-tabs__tab-panel--selected"},ii.propTypes={},ii.tabsRole="TabPanel";var ai,si,li,ci,ui,fi,pi=je(Zo)(ai||(ai=Object(o.__makeTemplateObject)(["\n > ul {\n list-style: none;\n padding: 0;\n margin: 0;\n margin: 0 -5px;\n\n > li {\n padding: 5px 10px;\n display: inline-block;\n\n background-color: ",";\n border-bottom: 1px solid rgba(0, 0, 0, 0.5);\n cursor: pointer;\n text-align: center;\n outline: none;\n color: ",";\n margin: 0\n ",";\n border: 1px solid ",";\n border-radius: 5px;\n min-width: 60px;\n font-size: 0.9em;\n font-weight: bold;\n\n &.react-tabs__tab--selected {\n color: ",";\n background: ",";\n &:focus {\n outline: auto;\n }\n }\n\n &:only-child {\n flex: none;\n min-width: 100px;\n }\n\n &.tab-success {\n color: ",";\n }\n\n &.tab-redirect {\n color: ",";\n }\n\n &.tab-info {\n color: ",";\n }\n\n &.tab-error {\n color: ",";\n }\n }\n }\n > .react-tabs__tab-panel {\n background: ",";\n & > div,\n & > pre {\n padding: ","px;\n margin: 0;\n }\n\n & > div > pre {\n padding: 0;\n }\n }\n"],["\n > ul {\n list-style: none;\n padding: 0;\n margin: 0;\n margin: 0 -5px;\n\n > li {\n padding: 5px 10px;\n display: inline-block;\n\n background-color: ",";\n border-bottom: 1px solid rgba(0, 0, 0, 0.5);\n cursor: pointer;\n text-align: center;\n outline: none;\n color: ",";\n margin: 0\n ",";\n border: 1px solid ",";\n border-radius: 5px;\n min-width: 60px;\n font-size: 0.9em;\n font-weight: bold;\n\n &.react-tabs__tab--selected {\n color: ",";\n background: ",";\n &:focus {\n outline: auto;\n }\n }\n\n &:only-child {\n flex: none;\n min-width: 100px;\n }\n\n &.tab-success {\n color: ",";\n }\n\n &.tab-redirect {\n color: ",";\n }\n\n &.tab-info {\n color: ",";\n }\n\n &.tab-error {\n color: ",";\n }\n }\n }\n > .react-tabs__tab-panel {\n background: ",";\n & > div,\n & > pre {\n padding: ","px;\n margin: 0;\n }\n\n & > div > pre {\n padding: 0;\n }\n }\n"])),(function(e){return e.theme.codeBlock.backgroundColor}),(function(e){var t=e.theme;return q(t.colors.tonalOffset,t.rightPanel.textColor)}),(function(e){var t=e.theme;return t.spacing.unit+"px "+t.spacing.unit+"px "+t.spacing.unit+"px"}),(function(e){var t=e.theme;return q(.05,t.codeBlock.backgroundColor)}),(function(e){return e.theme.colors.text.primary}),(function(e){return e.theme.rightPanel.textColor}),(function(e){return e.theme.colors.responses.success.tabTextColor}),(function(e){return e.theme.colors.responses.redirect.tabTextColor}),(function(e){return e.theme.colors.responses.info.tabTextColor}),(function(e){return e.theme.colors.responses.error.tabTextColor}),(function(e){return e.theme.codeBlock.backgroundColor}),(function(e){return 4*e.theme.spacing.unit})),di=(je(pi)(si||(si=Object(o.__makeTemplateObject)(["\n > ul {\n display: block;\n > li {\n padding: 2px 5px;\n min-width: auto;\n margin: 0 15px 0 0;\n font-size: 13px;\n font-weight: normal;\n border-bottom: 1px dashed;\n color: ",";\n border-radius: 0;\n background: none;\n\n &:last-child {\n margin-right: 0;\n }\n\n &.react-tabs__tab--selected {\n color: ",";\n background: none;\n }\n }\n }\n > .react-tabs__tab-panel {\n & > div,\n & > pre {\n padding: ","px 0;\n }\n }\n"],["\n > ul {\n display: block;\n > li {\n padding: 2px 5px;\n min-width: auto;\n margin: 0 15px 0 0;\n font-size: 13px;\n font-weight: normal;\n border-bottom: 1px dashed;\n color: ",";\n border-radius: 0;\n background: none;\n\n &:last-child {\n margin-right: 0;\n }\n\n &.react-tabs__tab--selected {\n color: ",";\n background: none;\n }\n }\n }\n > .react-tabs__tab-panel {\n & > div,\n & > pre {\n padding: ","px 0;\n }\n }\n"])),(function(e){var t=e.theme;return q(t.colors.tonalOffset,t.rightPanel.textColor)}),(function(e){return e.theme.rightPanel.textColor}),(function(e){return 2*e.theme.spacing.unit})),je.div(li||(li=Object(o.__makeTemplateObject)(["\n /**\n * Based on prism-dark.css\n */\n\n code[class*='language-'],\n pre[class*='language-'] {\n /* color: white;\n background: none; */\n text-shadow: 0 -0.1em 0.2em black;\n text-align: left;\n white-space: pre;\n word-spacing: normal;\n word-break: normal;\n word-wrap: normal;\n line-height: 1.5;\n\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n\n -webkit-hyphens: none;\n -moz-hyphens: none;\n -ms-hyphens: none;\n hyphens: none;\n }\n\n @media print {\n code[class*='language-'],\n pre[class*='language-'] {\n text-shadow: none;\n }\n }\n\n /* Code blocks */\n pre[class*='language-'] {\n padding: 1em;\n margin: 0.5em 0;\n overflow: auto;\n }\n\n .token.comment,\n .token.prolog,\n .token.doctype,\n .token.cdata {\n color: hsl(30, 20%, 50%);\n }\n\n .token.punctuation {\n opacity: 0.7;\n }\n\n .namespace {\n opacity: 0.7;\n }\n\n .token.property,\n .token.tag,\n .token.number,\n .token.constant,\n .token.symbol {\n color: #4a8bb3;\n }\n\n .token.boolean {\n color: #e64441;\n }\n\n .token.selector,\n .token.attr-name,\n .token.string,\n .token.char,\n .token.builtin,\n .token.inserted {\n color: #a0fbaa;\n & + a,\n & + a:visited {\n color: #4ed2ba;\n text-decoration: underline;\n }\n }\n\n .token.property.string {\n color: white;\n }\n\n .token.operator,\n .token.entity,\n .token.url,\n .token.variable {\n color: hsl(40, 90%, 60%);\n }\n\n .token.atrule,\n .token.attr-value,\n .token.keyword {\n color: hsl(350, 40%, 70%);\n }\n\n .token.regex,\n .token.important {\n color: #e90;\n }\n\n .token.important,\n .token.bold {\n font-weight: bold;\n }\n .token.italic {\n font-style: italic;\n }\n\n .token.entity {\n cursor: help;\n }\n\n .token.deleted {\n color: red;\n }\n\n ",";\n"],["\n /**\n * Based on prism-dark.css\n */\n\n code[class*='language-'],\n pre[class*='language-'] {\n /* color: white;\n background: none; */\n text-shadow: 0 -0.1em 0.2em black;\n text-align: left;\n white-space: pre;\n word-spacing: normal;\n word-break: normal;\n word-wrap: normal;\n line-height: 1.5;\n\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n\n -webkit-hyphens: none;\n -moz-hyphens: none;\n -ms-hyphens: none;\n hyphens: none;\n }\n\n @media print {\n code[class*='language-'],\n pre[class*='language-'] {\n text-shadow: none;\n }\n }\n\n /* Code blocks */\n pre[class*='language-'] {\n padding: 1em;\n margin: 0.5em 0;\n overflow: auto;\n }\n\n .token.comment,\n .token.prolog,\n .token.doctype,\n .token.cdata {\n color: hsl(30, 20%, 50%);\n }\n\n .token.punctuation {\n opacity: 0.7;\n }\n\n .namespace {\n opacity: 0.7;\n }\n\n .token.property,\n .token.tag,\n .token.number,\n .token.constant,\n .token.symbol {\n color: #4a8bb3;\n }\n\n .token.boolean {\n color: #e64441;\n }\n\n .token.selector,\n .token.attr-name,\n .token.string,\n .token.char,\n .token.builtin,\n .token.inserted {\n color: #a0fbaa;\n & + a,\n & + a:visited {\n color: #4ed2ba;\n text-decoration: underline;\n }\n }\n\n .token.property.string {\n color: white;\n }\n\n .token.operator,\n .token.entity,\n .token.url,\n .token.variable {\n color: hsl(40, 90%, 60%);\n }\n\n .token.atrule,\n .token.attr-value,\n .token.keyword {\n color: hsl(350, 40%, 70%);\n }\n\n .token.regex,\n .token.important {\n color: #e90;\n }\n\n .token.important,\n .token.bold {\n font-weight: bold;\n }\n .token.italic {\n font-style: italic;\n }\n\n .token.entity {\n cursor: help;\n }\n\n .token.deleted {\n color: red;\n }\n\n ",";\n"])),Ae("Prism"))),hi=je.div(ci||(ci=Object(o.__makeTemplateObject)(["\n opacity: 0.7;\n transition: opacity 0.3s ease;\n text-align: right;\n &:focus-within {\n opacity: 1;\n }\n > button {\n background-color: transparent;\n border: 0;\n color: inherit;\n padding: 2px 10px;\n font-family: ",";\n font-size: ",";\n line-height: ",";\n cursor: pointer;\n outline: 0;\n\n :hover,\n :focus {\n background: rgba(255, 255, 255, 0.1);\n }\n }\n"],["\n opacity: 0.7;\n transition: opacity 0.3s ease;\n text-align: right;\n &:focus-within {\n opacity: 1;\n }\n > button {\n background-color: transparent;\n border: 0;\n color: inherit;\n padding: 2px 10px;\n font-family: ",";\n font-size: ",";\n line-height: ",";\n cursor: pointer;\n outline: 0;\n\n :hover,\n :focus {\n background: rgba(255, 255, 255, 0.1);\n }\n }\n"])),(function(e){return e.theme.typography.fontFamily}),(function(e){return e.theme.typography.fontSize}),(function(e){return e.theme.typography.lineHeight})),mi=je.div(ui||(ui=Object(o.__makeTemplateObject)(["\n &:hover "," {\n opacity: 1;\n }\n"],["\n &:hover "," {\n opacity: 1;\n }\n"])),hi),gi=je(di.withComponent("pre"))(fi||(fi=Object(o.__makeTemplateObject)(["\n font-family: ",";\n font-size: ",";\n overflow-x: auto;\n margin: 0;\n\n white-space: ",";\n"],["\n font-family: ",";\n font-size: ",";\n overflow-x: auto;\n margin: 0;\n\n white-space: ",";\n"])),(function(e){return e.theme.typography.code.fontFamily}),(function(e){return e.theme.typography.code.fontSize}),(function(e){return e.theme.typography.code.wrap?"pre-wrap":"pre"})); /*! * perfect-scrollbar v1.5.0 * Copyright 2020 Hyunje Jun, MDBootstrap and Contributors * Licensed under MIT */ -function vi(e){return getComputedStyle(e)}function yi(e,t){for(var n in t){var r=t[n];"number"==typeof r&&(r+="px"),e.style[n]=r}return e}function bi(e){var t=document.createElement("div");return t.className=e,t}var xi="undefined"!=typeof Element&&(Element.prototype.matches||Element.prototype.webkitMatchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector);function wi(e,t){if(!xi)throw new Error("No element matching method supported");return xi.call(e,t)}function _i(e){e.remove?e.remove():e.parentNode&&e.parentNode.removeChild(e)}function ki(e,t){return Array.prototype.filter.call(e.children,(function(e){return wi(e,t)}))}var Oi="ps",Ei="ps__rtl",Si={thumb:function(e){return"ps__thumb-"+e},rail:function(e){return"ps__rail-"+e},consuming:"ps__child--consume"},Ti={focus:"ps--focus",clicking:"ps--clicking",active:function(e){return"ps--active-"+e},scrolling:function(e){return"ps--scrolling-"+e}},ji={x:null,y:null};function Ai(e,t){var n=e.element.classList,r=Ti.scrolling(t);n.contains(r)?clearTimeout(ji[t]):n.add(r)}function Ci(e,t){ji[t]=setTimeout((function(){return e.isAlive&&e.element.classList.remove(Ti.scrolling(t))}),e.settings.scrollingThreshold)}var Ii=function(e){this.element=e,this.handlers={}},Pi={isEmpty:{configurable:!0}};Ii.prototype.bind=function(e,t){void 0===this.handlers[e]&&(this.handlers[e]=[]),this.handlers[e].push(t),this.element.addEventListener(e,t,!1)},Ii.prototype.unbind=function(e,t){var n=this;this.handlers[e]=this.handlers[e].filter((function(r){return!(!t||r===t)||(n.element.removeEventListener(e,r,!1),!1)}))},Ii.prototype.unbindAll=function(){for(var e in this.handlers)this.unbind(e)},Pi.isEmpty.get=function(){var e=this;return Object.keys(this.handlers).every((function(t){return 0===e.handlers[t].length}))},Object.defineProperties(Ii.prototype,Pi);var Ri=function(){this.eventElements=[]};function Ni(e){if("function"==typeof window.CustomEvent)return new CustomEvent(e);var t=document.createEvent("CustomEvent");return t.initCustomEvent(e,!1,!1,void 0),t}function Li(e,t,n,r,o){var i;if(void 0===r&&(r=!0),void 0===o&&(o=!1),"top"===t)i=["contentHeight","containerHeight","scrollTop","y","up","down"];else{if("left"!==t)throw new Error("A proper axis should be provided");i=["contentWidth","containerWidth","scrollLeft","x","left","right"]}!function(e,t,n,r,o){var i=n[0],a=n[1],s=n[2],l=n[3],c=n[4],u=n[5];void 0===r&&(r=!0);void 0===o&&(o=!1);var f=e.element;e.reach[l]=null,f[s]<1&&(e.reach[l]="start");f[s]>e[i]-e[a]-1&&(e.reach[l]="end");t&&(f.dispatchEvent(Ni("ps-scroll-"+l)),t<0?f.dispatchEvent(Ni("ps-scroll-"+c)):t>0&&f.dispatchEvent(Ni("ps-scroll-"+u)),r&&function(e,t){Ai(e,t),Ci(e,t)}(e,l));e.reach[l]&&(t||o)&&f.dispatchEvent(Ni("ps-"+l+"-reach-"+e.reach[l]))}(e,n,i,r,o)}function Mi(e){return parseInt(e,10)||0}Ri.prototype.eventElement=function(e){var t=this.eventElements.filter((function(t){return t.element===e}))[0];return t||(t=new Ii(e),this.eventElements.push(t)),t},Ri.prototype.bind=function(e,t,n){this.eventElement(e).bind(t,n)},Ri.prototype.unbind=function(e,t,n){var r=this.eventElement(e);r.unbind(t,n),r.isEmpty&&this.eventElements.splice(this.eventElements.indexOf(r),1)},Ri.prototype.unbindAll=function(){this.eventElements.forEach((function(e){return e.unbindAll()})),this.eventElements=[]},Ri.prototype.once=function(e,t,n){var r=this.eventElement(e),o=function(e){r.unbind(t,o),n(e)};r.bind(t,o)};var Di={isWebKit:"undefined"!=typeof document&&"WebkitAppearance"in document.documentElement.style,supportsTouch:"undefined"!=typeof window&&("ontouchstart"in window||"maxTouchPoints"in window.navigator&&window.navigator.maxTouchPoints>0||window.DocumentTouch&&document instanceof window.DocumentTouch),supportsIePointer:"undefined"!=typeof navigator&&navigator.msMaxTouchPoints,isChrome:"undefined"!=typeof navigator&&/Chrome/i.test(navigator&&navigator.userAgent)};function Fi(e){var t=e.element,n=Math.floor(t.scrollTop),r=t.getBoundingClientRect();e.containerWidth=Math.ceil(r.width),e.containerHeight=Math.ceil(r.height),e.contentWidth=t.scrollWidth,e.contentHeight=t.scrollHeight,t.contains(e.scrollbarXRail)||(ki(t,Si.rail("x")).forEach((function(e){return _i(e)})),t.appendChild(e.scrollbarXRail)),t.contains(e.scrollbarYRail)||(ki(t,Si.rail("y")).forEach((function(e){return _i(e)})),t.appendChild(e.scrollbarYRail)),!e.settings.suppressScrollX&&e.containerWidth+e.settings.scrollXMarginOffset=e.railXWidth-e.scrollbarXWidth&&(e.scrollbarXLeft=e.railXWidth-e.scrollbarXWidth),e.scrollbarYTop>=e.railYHeight-e.scrollbarYHeight&&(e.scrollbarYTop=e.railYHeight-e.scrollbarYHeight),function(e,t){var n={width:t.railXWidth},r=Math.floor(e.scrollTop);t.isRtl?n.left=t.negativeScrollAdjustment+e.scrollLeft+t.containerWidth-t.contentWidth:n.left=e.scrollLeft;t.isScrollbarXUsingBottom?n.bottom=t.scrollbarXBottom-r:n.top=t.scrollbarXTop+r;yi(t.scrollbarXRail,n);var o={top:r,height:t.railYHeight};t.isScrollbarYUsingRight?t.isRtl?o.right=t.contentWidth-(t.negativeScrollAdjustment+e.scrollLeft)-t.scrollbarYRight-t.scrollbarYOuterWidth-9:o.right=t.scrollbarYRight-e.scrollLeft:t.isRtl?o.left=t.negativeScrollAdjustment+e.scrollLeft+2*t.containerWidth-t.contentWidth-t.scrollbarYLeft-t.scrollbarYOuterWidth:o.left=t.scrollbarYLeft+e.scrollLeft;yi(t.scrollbarYRail,o),yi(t.scrollbarX,{left:t.scrollbarXLeft,width:t.scrollbarXWidth-t.railBorderXWidth}),yi(t.scrollbarY,{top:t.scrollbarYTop,height:t.scrollbarYHeight-t.railBorderYWidth})}(t,e),e.scrollbarXActive?t.classList.add(Ti.active("x")):(t.classList.remove(Ti.active("x")),e.scrollbarXWidth=0,e.scrollbarXLeft=0,t.scrollLeft=!0===e.isRtl?e.contentWidth:0),e.scrollbarYActive?t.classList.add(Ti.active("y")):(t.classList.remove(Ti.active("y")),e.scrollbarYHeight=0,e.scrollbarYTop=0,t.scrollTop=0)}function zi(e,t){return e.settings.minScrollbarLength&&(t=Math.max(t,e.settings.minScrollbarLength)),e.settings.maxScrollbarLength&&(t=Math.min(t,e.settings.maxScrollbarLength)),t}function Ui(e,t){var n=t[0],r=t[1],o=t[2],i=t[3],a=t[4],s=t[5],l=t[6],c=t[7],u=t[8],f=e.element,p=null,d=null,h=null;function m(t){t.touches&&t.touches[0]&&(t[o]=t.touches[0].pageY),f[l]=p+h*(t[o]-d),Ai(e,c),Fi(e),t.stopPropagation(),t.preventDefault()}function g(){Ci(e,c),e[u].classList.remove(Ti.clicking),e.event.unbind(e.ownerDocument,"mousemove",m)}function v(t,a){p=f[l],a&&t.touches&&(t[o]=t.touches[0].pageY),d=t[o],h=(e[r]-e[n])/(e[i]-e[s]),a?e.event.bind(e.ownerDocument,"touchmove",m):(e.event.bind(e.ownerDocument,"mousemove",m),e.event.once(e.ownerDocument,"mouseup",g),t.preventDefault()),e[u].classList.add(Ti.clicking),t.stopPropagation()}e.event.bind(e[a],"mousedown",(function(e){v(e)})),e.event.bind(e[a],"touchstart",(function(e){v(e,!0)}))}var Bi={"click-rail":function(e){e.element,e.event.bind(e.scrollbarY,"mousedown",(function(e){return e.stopPropagation()})),e.event.bind(e.scrollbarYRail,"mousedown",(function(t){var n=t.pageY-window.pageYOffset-e.scrollbarYRail.getBoundingClientRect().top>e.scrollbarYTop?1:-1;e.element.scrollTop+=n*e.containerHeight,Fi(e),t.stopPropagation()})),e.event.bind(e.scrollbarX,"mousedown",(function(e){return e.stopPropagation()})),e.event.bind(e.scrollbarXRail,"mousedown",(function(t){var n=t.pageX-window.pageXOffset-e.scrollbarXRail.getBoundingClientRect().left>e.scrollbarXLeft?1:-1;e.element.scrollLeft+=n*e.containerWidth,Fi(e),t.stopPropagation()}))},"drag-thumb":function(e){Ui(e,["containerWidth","contentWidth","pageX","railXWidth","scrollbarX","scrollbarXWidth","scrollLeft","x","scrollbarXRail"]),Ui(e,["containerHeight","contentHeight","pageY","railYHeight","scrollbarY","scrollbarYHeight","scrollTop","y","scrollbarYRail"])},keyboard:function(e){var t=e.element;e.event.bind(e.ownerDocument,"keydown",(function(n){if(!(n.isDefaultPrevented&&n.isDefaultPrevented()||n.defaultPrevented)&&(wi(t,":hover")||wi(e.scrollbarX,":focus")||wi(e.scrollbarY,":focus"))){var r,o=document.activeElement?document.activeElement:e.ownerDocument.activeElement;if(o){if("IFRAME"===o.tagName)o=o.contentDocument.activeElement;else for(;o.shadowRoot;)o=o.shadowRoot.activeElement;if(wi(r=o,"input,[contenteditable]")||wi(r,"select,[contenteditable]")||wi(r,"textarea,[contenteditable]")||wi(r,"button,[contenteditable]"))return}var i=0,a=0;switch(n.which){case 37:i=n.metaKey?-e.contentWidth:n.altKey?-e.containerWidth:-30;break;case 38:a=n.metaKey?e.contentHeight:n.altKey?e.containerHeight:30;break;case 39:i=n.metaKey?e.contentWidth:n.altKey?e.containerWidth:30;break;case 40:a=n.metaKey?-e.contentHeight:n.altKey?-e.containerHeight:-30;break;case 32:a=n.shiftKey?e.containerHeight:-e.containerHeight;break;case 33:a=e.containerHeight;break;case 34:a=-e.containerHeight;break;case 36:a=e.contentHeight;break;case 35:a=-e.contentHeight;break;default:return}e.settings.suppressScrollX&&0!==i||e.settings.suppressScrollY&&0!==a||(t.scrollTop-=a,t.scrollLeft+=i,Fi(e),function(n,r){var o=Math.floor(t.scrollTop);if(0===n){if(!e.scrollbarYActive)return!1;if(0===o&&r>0||o>=e.contentHeight-e.containerHeight&&r<0)return!e.settings.wheelPropagation}var i=t.scrollLeft;if(0===r){if(!e.scrollbarXActive)return!1;if(0===i&&n<0||i>=e.contentWidth-e.containerWidth&&n>0)return!e.settings.wheelPropagation}return!0}(i,a)&&n.preventDefault())}}))},wheel:function(e){var t=e.element;function n(n){var r=function(e){var t=e.deltaX,n=-1*e.deltaY;return void 0!==t&&void 0!==n||(t=-1*e.wheelDeltaX/6,n=e.wheelDeltaY/6),e.deltaMode&&1===e.deltaMode&&(t*=10,n*=10),t!=t&&n!=n&&(t=0,n=e.wheelDelta),e.shiftKey?[-n,-t]:[t,n]}(n),o=r[0],i=r[1];if(!function(e,n,r){if(!Di.isWebKit&&t.querySelector("select:focus"))return!0;if(!t.contains(e))return!1;for(var o=e;o&&o!==t;){if(o.classList.contains(Si.consuming))return!0;var i=vi(o);if(r&&i.overflowY.match(/(scroll|auto)/)){var a=o.scrollHeight-o.clientHeight;if(a>0&&(o.scrollTop>0&&r<0||o.scrollTop0))return!0}if(n&&i.overflowX.match(/(scroll|auto)/)){var s=o.scrollWidth-o.clientWidth;if(s>0&&(o.scrollLeft>0&&n<0||o.scrollLeft0))return!0}o=o.parentNode}return!1}(n.target,o,i)){var a=!1;e.settings.useBothWheelAxes?e.scrollbarYActive&&!e.scrollbarXActive?(i?t.scrollTop-=i*e.settings.wheelSpeed:t.scrollTop+=o*e.settings.wheelSpeed,a=!0):e.scrollbarXActive&&!e.scrollbarYActive&&(o?t.scrollLeft+=o*e.settings.wheelSpeed:t.scrollLeft-=i*e.settings.wheelSpeed,a=!0):(t.scrollTop-=i*e.settings.wheelSpeed,t.scrollLeft+=o*e.settings.wheelSpeed),Fi(e),(a=a||function(n,r){var o=Math.floor(t.scrollTop),i=0===t.scrollTop,a=o+t.offsetHeight===t.scrollHeight,s=0===t.scrollLeft,l=t.scrollLeft+t.offsetWidth===t.scrollWidth;return!(Math.abs(r)>Math.abs(n)?i||a:s||l)||!e.settings.wheelPropagation}(o,i))&&!n.ctrlKey&&(n.stopPropagation(),n.preventDefault())}}void 0!==window.onwheel?e.event.bind(t,"wheel",n):void 0!==window.onmousewheel&&e.event.bind(t,"mousewheel",n)},touch:function(e){if(Di.supportsTouch||Di.supportsIePointer){var t=e.element,n={},r=0,o={},i=null;Di.supportsTouch?(e.event.bind(t,"touchstart",c),e.event.bind(t,"touchmove",u),e.event.bind(t,"touchend",f)):Di.supportsIePointer&&(window.PointerEvent?(e.event.bind(t,"pointerdown",c),e.event.bind(t,"pointermove",u),e.event.bind(t,"pointerup",f)):window.MSPointerEvent&&(e.event.bind(t,"MSPointerDown",c),e.event.bind(t,"MSPointerMove",u),e.event.bind(t,"MSPointerUp",f)))}function a(n,r){t.scrollTop-=r,t.scrollLeft-=n,Fi(e)}function s(e){return e.targetTouches?e.targetTouches[0]:e}function l(e){return(!e.pointerType||"pen"!==e.pointerType||0!==e.buttons)&&(!(!e.targetTouches||1!==e.targetTouches.length)||!(!e.pointerType||"mouse"===e.pointerType||e.pointerType===e.MSPOINTER_TYPE_MOUSE))}function c(e){if(l(e)){var t=s(e);n.pageX=t.pageX,n.pageY=t.pageY,r=(new Date).getTime(),null!==i&&clearInterval(i)}}function u(i){if(l(i)){var c=s(i),u={pageX:c.pageX,pageY:c.pageY},f=u.pageX-n.pageX,p=u.pageY-n.pageY;if(function(e,n,r){if(!t.contains(e))return!1;for(var o=e;o&&o!==t;){if(o.classList.contains(Si.consuming))return!0;var i=vi(o);if(r&&i.overflowY.match(/(scroll|auto)/)){var a=o.scrollHeight-o.clientHeight;if(a>0&&(o.scrollTop>0&&r<0||o.scrollTop0))return!0}if(n&&i.overflowX.match(/(scroll|auto)/)){var s=o.scrollWidth-o.clientWidth;if(s>0&&(o.scrollLeft>0&&n<0||o.scrollLeft0))return!0}o=o.parentNode}return!1}(i.target,f,p))return;a(f,p),n=u;var d=(new Date).getTime(),h=d-r;h>0&&(o.x=f/h,o.y=p/h,r=d),function(n,r){var o=Math.floor(t.scrollTop),i=t.scrollLeft,a=Math.abs(n),s=Math.abs(r);if(s>a){if(r<0&&o===e.contentHeight-e.containerHeight||r>0&&0===o)return 0===window.scrollY&&r>0&&Di.isChrome}else if(a>s&&(n<0&&i===e.contentWidth-e.containerWidth||n>0&&0===i))return!0;return!0}(f,p)&&i.preventDefault()}}function f(){e.settings.swipeEasing&&(clearInterval(i),i=setInterval((function(){e.isInitialized?clearInterval(i):o.x||o.y?Math.abs(o.x)<.01&&Math.abs(o.y)<.01?clearInterval(i):(a(30*o.x,30*o.y),o.x*=.8,o.y*=.8):clearInterval(i)}),10))}}},$i=function(e,t){var n=this;if(void 0===t&&(t={}),"string"==typeof e&&(e=document.querySelector(e)),!e||!e.nodeName)throw new Error("no element is specified to initialize PerfectScrollbar");for(var r in this.element=e,e.classList.add(Oi),this.settings={handlers:["click-rail","drag-thumb","keyboard","wheel","touch"],maxScrollbarLength:null,minScrollbarLength:null,scrollingThreshold:1e3,scrollXMarginOffset:0,scrollYMarginOffset:0,suppressScrollX:!1,suppressScrollY:!1,swipeEasing:!0,useBothWheelAxes:!1,wheelPropagation:!0,wheelSpeed:1},t)this.settings[r]=t[r];this.containerWidth=null,this.containerHeight=null,this.contentWidth=null,this.contentHeight=null;var o,i,a=function(){return e.classList.add(Ti.focus)},s=function(){return e.classList.remove(Ti.focus)};this.isRtl="rtl"===vi(e).direction,!0===this.isRtl&&e.classList.add(Ei),this.isNegativeScroll=(i=e.scrollLeft,e.scrollLeft=-1,o=e.scrollLeft<0,e.scrollLeft=i,o),this.negativeScrollAdjustment=this.isNegativeScroll?e.scrollWidth-e.clientWidth:0,this.event=new Ri,this.ownerDocument=e.ownerDocument||document,this.scrollbarXRail=bi(Si.rail("x")),e.appendChild(this.scrollbarXRail),this.scrollbarX=bi(Si.thumb("x")),this.scrollbarXRail.appendChild(this.scrollbarX),this.scrollbarX.setAttribute("tabindex",0),this.event.bind(this.scrollbarX,"focus",a),this.event.bind(this.scrollbarX,"blur",s),this.scrollbarXActive=null,this.scrollbarXWidth=null,this.scrollbarXLeft=null;var l=vi(this.scrollbarXRail);this.scrollbarXBottom=parseInt(l.bottom,10),isNaN(this.scrollbarXBottom)?(this.isScrollbarXUsingBottom=!1,this.scrollbarXTop=Mi(l.top)):this.isScrollbarXUsingBottom=!0,this.railBorderXWidth=Mi(l.borderLeftWidth)+Mi(l.borderRightWidth),yi(this.scrollbarXRail,{display:"block"}),this.railXMarginWidth=Mi(l.marginLeft)+Mi(l.marginRight),yi(this.scrollbarXRail,{display:""}),this.railXWidth=null,this.railXRatio=null,this.scrollbarYRail=bi(Si.rail("y")),e.appendChild(this.scrollbarYRail),this.scrollbarY=bi(Si.thumb("y")),this.scrollbarYRail.appendChild(this.scrollbarY),this.scrollbarY.setAttribute("tabindex",0),this.event.bind(this.scrollbarY,"focus",a),this.event.bind(this.scrollbarY,"blur",s),this.scrollbarYActive=null,this.scrollbarYHeight=null,this.scrollbarYTop=null;var c=vi(this.scrollbarYRail);this.scrollbarYRight=parseInt(c.right,10),isNaN(this.scrollbarYRight)?(this.isScrollbarYUsingRight=!1,this.scrollbarYLeft=Mi(c.left)):this.isScrollbarYUsingRight=!0,this.scrollbarYOuterWidth=this.isRtl?function(e){var t=vi(e);return Mi(t.width)+Mi(t.paddingLeft)+Mi(t.paddingRight)+Mi(t.borderLeftWidth)+Mi(t.borderRightWidth)}(this.scrollbarY):null,this.railBorderYWidth=Mi(c.borderTopWidth)+Mi(c.borderBottomWidth),yi(this.scrollbarYRail,{display:"block"}),this.railYMarginHeight=Mi(c.marginTop)+Mi(c.marginBottom),yi(this.scrollbarYRail,{display:""}),this.railYHeight=null,this.railYRatio=null,this.reach={x:e.scrollLeft<=0?"start":e.scrollLeft>=this.contentWidth-this.containerWidth?"end":null,y:e.scrollTop<=0?"start":e.scrollTop>=this.contentHeight-this.containerHeight?"end":null},this.isAlive=!0,this.settings.handlers.forEach((function(e){return Bi[e](n)})),this.lastScrollTop=Math.floor(e.scrollTop),this.lastScrollLeft=e.scrollLeft,this.event.bind(this.element,"scroll",(function(e){return n.onScroll(e)})),Fi(this)};$i.prototype.update=function(){this.isAlive&&(this.negativeScrollAdjustment=this.isNegativeScroll?this.element.scrollWidth-this.element.clientWidth:0,yi(this.scrollbarXRail,{display:"block"}),yi(this.scrollbarYRail,{display:"block"}),this.railXMarginWidth=Mi(vi(this.scrollbarXRail).marginLeft)+Mi(vi(this.scrollbarXRail).marginRight),this.railYMarginHeight=Mi(vi(this.scrollbarYRail).marginTop)+Mi(vi(this.scrollbarYRail).marginBottom),yi(this.scrollbarXRail,{display:"none"}),yi(this.scrollbarYRail,{display:"none"}),Fi(this),Li(this,"top",0,!1,!0),Li(this,"left",0,!1,!0),yi(this.scrollbarXRail,{display:""}),yi(this.scrollbarYRail,{display:""}))},$i.prototype.onScroll=function(e){this.isAlive&&(Fi(this),Li(this,"top",this.element.scrollTop-this.lastScrollTop),Li(this,"left",this.element.scrollLeft-this.lastScrollLeft),this.lastScrollTop=Math.floor(this.element.scrollTop),this.lastScrollLeft=this.element.scrollLeft)},$i.prototype.destroy=function(){this.isAlive&&(this.event.unbindAll(),_i(this.scrollbarX),_i(this.scrollbarY),_i(this.scrollbarXRail),_i(this.scrollbarYRail),this.removePsClasses(),this.element=null,this.scrollbarX=null,this.scrollbarY=null,this.scrollbarXRail=null,this.scrollbarYRail=null,this.isAlive=!1)},$i.prototype.removePsClasses=function(){this.element.className=this.element.className.split(" ").filter((function(e){return!e.match(/^ps([-_].+|)$/)})).join(" ")};var Wi,qi,Hi=$i,Vi=n(102),Yi=n.n(Vi),Qi=Hi||r,Gi=Oe(Wi||(Wi=Object(o.__makeTemplateObject)(["",""],["",""])),Yi.a&&Yi.a.toString()),Xi=je.div(qi||(qi=Object(o.__makeTemplateObject)(["\n position: relative;\n"],["\n position: relative;\n"]))),Ki=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.handleRef=function(e){t._container=e},t}return Object(o.__extends)(t,e),t.prototype.componentDidMount=function(){var e=this._container.parentElement&&this._container.parentElement.scrollTop||0;this.inst=new Qi(this._container,this.props.options||{}),this._container.scrollTo&&this._container.scrollTo(0,e)},t.prototype.componentDidUpdate=function(){this.inst.update()},t.prototype.componentWillUnmount=function(){this.inst.destroy()},t.prototype.render=function(){var e=this.props,t=e.children,n=e.className,r=e.updateFn;return r&&r(this.componentDidUpdate.bind(this)),i.createElement(i.Fragment,null,i.createElement(Gi,null),i.createElement(Xi,{className:"scrollbar-container "+n,ref:this.handleRef},t))},t}(i.Component);function Ji(e){return i.createElement(Ue.Consumer,null,(function(t){return t.nativeScrollbars?i.createElement("div",{style:{overflow:"auto",overscrollBehavior:"contain",msOverflowStyle:"-ms-autohiding-scrollbar"}},e.children):i.createElement(Ki,Object(o.__assign)({},e),e.children)}))}var Zi=function(e,t,n){this.operations=[];var r=e.deref(n||{});e.exitRef(n);for(var i=0,a=Object.keys(r);i --\x3e"}("security-definitions");e.info.description=function(e,t,n){var r=new RegExp("(^|\\n)#\\s?"+t+"\\s*\\n","i"),o=new RegExp("((\\n|^)#\\s*"+t+"\\s*(\\n|$)(?:.|\\n)*?)(\\n#|$)","i");if(r.test(e))return e.replace(o,"$1\n\n"+n+"\n$4");var i=""===e||e.endsWith("\n\n")?"":e.endsWith("\n")?"\n":"\n\n";return""+e+i+"# "+t+"\n\n"+n}(t,"Authentication",n)}}},e.prototype.isRef=function(e){return!!e&&(void 0!==e.$ref&&null!==e.$ref)},e.prototype.resetVisited=function(){this._refCounter=new na},e.prototype.exitRef=function(e){this.isRef(e)&&this._refCounter.exit(e.$ref)},e.prototype.deref=function(e,t){if(void 0===t&&(t=!1),this.isRef(e)){var n=dt(e.$ref);if(n&&this.options.ignoreNamedSchemas.has(n))return{type:"object",title:n};var r=this.byRef(e.$ref),o=this._refCounter.visited(e.$ref);if(this._refCounter.visit(e.$ref),o&&!t)return Object.assign({},r,{"x-circular-ref":!0});if(this.isRef(r)){var i=this.deref(r);return this.exitRef(r),i}return r}return e},e.prototype.shalowDeref=function(e){return this.isRef(e)?this.byRef(e.$ref):e},e.prototype.mergeAllOf=function(e,t,n,r){var i=this;if(void 0===n&&(n=!1),void 0===r&&(r=new Set),t&&r.add(t),void 0===(e=this.hoistOneOfs(e)).allOf)return e;var a=Object(o.__assign)(Object(o.__assign)({},e),{allOf:void 0,parentRefs:[],title:e.title||dt(t)});void 0!==a.properties&&"object"==typeof a.properties&&(a.properties=Object(o.__assign)({},a.properties)),void 0!==a.items&&"object"==typeof a.items&&(a.items=Object(o.__assign)({},a.items));for(var s=0,l=e.allOf.map((function(e){var t;if(!(e&&e.$ref&&r.has(e.$ref))){var o=i.deref(e,n),s=e.$ref||void 0,l=i.mergeAllOf(o,s,n,r);return(t=a.parentRefs).push.apply(t,l.parentRefs||[]),{$ref:s,schema:l}}})).filter((function(e){return void 0!==e}));s-1}))&&(t["#/components/schemas/"+r]=[o["x-discriminator-value"]||r])}return t},e.prototype.exitParents=function(e){for(var t=0,n=e.parentRefs||[];t0?o.push.apply(o,e.getTagGroupsItems(t,void 0,r["x-tagGroups"],i,n)):o.push.apply(o,e.getTagsItems(t,i,void 0,void 0,n)),o},e.addMarkdownItems=function(e,t,n,r){var o=new Mt(r).extractHeadings(e||"");o.length&&t&&t.description&&(t.description=Mt.getTextBeforeHading(t.description,o[0].name));var i=function(e,t,n){return void 0===n&&(n=1),t.map((function(t){var r,o=new ia("section",t,e);return o.depth=n,t.items&&(o.items=i(o,t.items,n+1)),Mt.containsComponent(o.description||"","security-definitions")&&(r=o.id+"/",bt=r),o}))};return i(t,o,n)},e.getTagGroupsItems=function(t,n,r,o,i){for(var a=[],s=0,l=r;s=s.flatItems.length-1&&e);){if(e){var r=s.getElementAtOrFirstChild(n+1);if(s.scroll.isElementBellow(r))break}else{r=s.getElementAt(n);if(s.scroll.isElementAbove(r))break}n+=t}s.activate(s.flatItems[n],!0,!0)},this.updateOnHistory=function(e){var t;(void 0===e&&(e=s.history.currentId),e)&&((t=s.flatItems.find((function(t){return t.id===e})))?s.activateAndScroll(t,!1):(e.startsWith(bt)&&(t=s.flatItems.find((function(e){return bt.startsWith(e.id)})),s.activate(t)),s.scroll.scrollIntoViewBySelector("["+sa+'="'+e+'"]')))},this.getItemById=function(e){return s.flatItems.find((function(t){return t.id===e}))},Object(l.n)(this),this.items=e.contentItems,this.flatItems=(r=this.items||[],o="items",i=[],(a=function(e){for(var t=0,n=e;tthis.options.scrollYOffset()},e.prototype.isElementAbove=function(e){if(null!==e){var t=e.getBoundingClientRect().top;return(t>0?Math.floor(t):Math.ceil(t))<=this.options.scrollYOffset()}},e.prototype.subscribe=function(e){var t=this._emiter.addListener("scroll",e);return function(){return t.removeListener("scroll",e)}},e.prototype.scrollIntoView=function(e){null!==e&&(e.scrollIntoView(),this._scrollParent&&this._scrollParent.scrollBy&&this._scrollParent.scrollBy(0,1-this.options.scrollYOffset()))},e.prototype.scrollIntoViewBySelector=function(e){var t=re(e);this.scrollIntoView(t)},e.prototype.handleScroll=function(){var e=this.scrollY()-this._prevOffsetY>0;this._prevOffsetY=this.scrollY(),this._emiter.emit("scroll",e)},Object(o.__decorate)([Ye.bind,Ot(100)],e.prototype,"handleScroll",null),e}();var ua=function(){function e(){this.searchWorker=function(){var e;if(ne)try{e=n(323)}catch(t){e=n(149).default}else e=n(149).default;return new e}()}return e.prototype.indexItems=function(e){var t=this,n=function(e){e.forEach((function(e){"group"!==e.type&&t.add(e.name,e.description||"",e.id),n(e.items)}))};n(e),this.searchWorker.done()},e.prototype.add=function(e,t,n){this.searchWorker.add(e,t,n)},e.prototype.dispose=function(){this.searchWorker.terminate(),this.searchWorker.dispose()},e.prototype.search=function(e){return this.searchWorker.search(e)},e.prototype.toJS=function(){return Object(o.__awaiter)(this,void 0,void 0,(function(){return Object(o.__generator)(this,(function(e){return[2,this.searchWorker.toJS()]}))}))},e.prototype.load=function(e){this.searchWorker.load(e)},e.prototype.fromExternalJS=function(e,t){e&&t&&this.searchWorker.fromExternalJS(e,t)},e}();function fa(e){var t=e.Label,n=void 0===t?Po:t,r=e.Dropdown,a=void 0===r?Io:r;return 1===e.options.length?i.createElement(n,null,e.options[0].value):i.createElement(a,Object(o.__assign)({},e,{searchable:!1}))}var pa,da,ha=n(157),ma=ke(pa||(pa=Object(o.__makeTemplateObject)(["\n a {\n text-decoration: none;\n color: ",";\n\n &:visited {\n color: ",";\n }\n\n &:hover {\n color: ",";\n }\n }\n"],["\n a {\n text-decoration: none;\n color: ",";\n\n &:visited {\n color: ",";\n }\n\n &:hover {\n color: ",";\n }\n }\n"])),(function(e){return e.theme.typography.links.color}),(function(e){return e.theme.typography.links.visited}),(function(e){return e.theme.typography.links.hover})),ga=je(di)(da||(da=Object(o.__makeTemplateObject)(["\n\n font-family: ",";\n font-weight: ",";\n line-height: ",";\n\n p {\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n ","\n\n ","\n\n h1 {\n ",";\n color: ",";\n margin-top: 0;\n }\n\n h2 {\n ",";\n color: ",";\n }\n\n code {\n color: ",";\n background-color: ",";\n\n font-family: ",";\n border-radius: 2px;\n border: 1px solid rgba(38, 50, 56, 0.1);\n padding: 0 ","px;\n font-size: ",";\n font-weight: ",";\n\n word-break: break-word;\n }\n\n pre {\n font-family: ",";\n white-space:",";\n background-color: ",";\n color: white;\n padding: ","px;\n overflow-x: auto;\n line-height: normal;\n border-radius: 0px\n border: 1px solid rgba(38, 50, 56, 0.1);\n\n code {\n background-color: transparent;\n color: white;\n padding: 0;\n\n &:before,\n &:after {\n content: none;\n }\n }\n }\n\n blockquote {\n margin: 0;\n margin-bottom: 1em;\n padding: 0 15px;\n color: #777;\n border-left: 4px solid #ddd;\n }\n\n img {\n max-width: 100%;\n box-sizing: content-box;\n }\n\n ul,\n ol {\n padding-left: 2em;\n margin: 0;\n margin-bottom: 1em;\n\n ul, ol {\n margin-bottom: 0;\n margin-top: 0;\n }\n }\n\n table {\n display: block;\n width: 100%;\n overflow: auto;\n word-break: normal;\n word-break: keep-all;\n border-collapse: collapse;\n border-spacing: 0;\n margin-top: 1.5em;\n margin-bottom: 1.5em;\n }\n\n table tr {\n background-color: #fff;\n border-top: 1px solid #ccc;\n\n &:nth-child(2n) {\n background-color: ",";\n }\n }\n\n table th,\n table td {\n padding: 6px 13px;\n border: 1px solid #ddd;\n }\n\n table th {\n text-align: left;\n font-weight: bold;\n }\n\n ",";\n\n ","\n\n ",";\n"],["\n\n font-family: ",";\n font-weight: ",";\n line-height: ",";\n\n p {\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n ","\n\n ","\n\n h1 {\n ",";\n color: ",";\n margin-top: 0;\n }\n\n h2 {\n ",";\n color: ",";\n }\n\n code {\n color: ",";\n background-color: ",";\n\n font-family: ",";\n border-radius: 2px;\n border: 1px solid rgba(38, 50, 56, 0.1);\n padding: 0 ","px;\n font-size: ",";\n font-weight: ",";\n\n word-break: break-word;\n }\n\n pre {\n font-family: ",";\n white-space:",";\n background-color: ",";\n color: white;\n padding: ","px;\n overflow-x: auto;\n line-height: normal;\n border-radius: 0px\n border: 1px solid rgba(38, 50, 56, 0.1);\n\n code {\n background-color: transparent;\n color: white;\n padding: 0;\n\n &:before,\n &:after {\n content: none;\n }\n }\n }\n\n blockquote {\n margin: 0;\n margin-bottom: 1em;\n padding: 0 15px;\n color: #777;\n border-left: 4px solid #ddd;\n }\n\n img {\n max-width: 100%;\n box-sizing: content-box;\n }\n\n ul,\n ol {\n padding-left: 2em;\n margin: 0;\n margin-bottom: 1em;\n\n ul, ol {\n margin-bottom: 0;\n margin-top: 0;\n }\n }\n\n table {\n display: block;\n width: 100%;\n overflow: auto;\n word-break: normal;\n word-break: keep-all;\n border-collapse: collapse;\n border-spacing: 0;\n margin-top: 1.5em;\n margin-bottom: 1.5em;\n }\n\n table tr {\n background-color: #fff;\n border-top: 1px solid #ccc;\n\n &:nth-child(2n) {\n background-color: ",";\n }\n }\n\n table th,\n table td {\n padding: 6px 13px;\n border: 1px solid #ddd;\n }\n\n table th {\n text-align: left;\n font-weight: bold;\n }\n\n ",";\n\n ","\n\n ",";\n"])),(function(e){return e.theme.typography.fontFamily}),(function(e){return e.theme.typography.fontWeightRegular}),(function(e){return e.theme.typography.lineHeight}),(function(e){return e.compact&&"\n p:first-child {\n margin-top: 0;\n }\n p:last-child {\n margin-bottom: 0;\n }\n "}),(function(e){return e.inline&&" p {\n display: inline-block;\n }"}),$n(1),(function(e){return e.theme.colors.primary.main}),$n(2),(function(e){return e.theme.colors.text.primary}),(function(e){return e.theme.typography.code.color}),(function(e){return e.theme.typography.code.backgroundColor}),(function(e){return e.theme.typography.code.fontFamily}),(function(e){return e.theme.spacing.unit}),(function(e){return e.theme.typography.code.fontSize}),(function(e){return e.theme.typography.code.fontWeight}),(function(e){return e.theme.typography.code.fontFamily}),(function(e){return e.theme.typography.code.wrap?"pre-wrap":"pre"}),(function(e){return e.theme.codeBlock.backgroundColor}),(function(e){return 4*e.theme.spacing.unit}),(function(e){return e.theme.schema.nestedBackground}),Jn(".share-link"),ma,Ae("Markdown")),va=ga.withComponent("span");function ya(e){var t=e.inline?va:ga;return i.createElement($e,null,(function(n){return i.createElement(t,Object(o.__assign)({className:"redoc-markdown "+(e.className||""),dangerouslySetInnerHTML:{__html:(r=n.untrustedSpec,a=e.html,r?ha.sanitize(a):a)},"data-role":e["data-role"]},e));var r,a}))}var ba,xa,wa,_a,ka,Oa=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props,t=e.source,n=e.inline,r=e.compact,o=e.className,a=e["data-role"],s=new Mt;return i.createElement(ya,{html:s.renderMd(t),inline:n,compact:r,className:o,"data-role":a})},t}(i.Component),Ea=je.div(ba||(ba=Object(o.__makeTemplateObject)(["\n position: relative;\n"],["\n position: relative;\n"]))),Sa=je.div(xa||(xa=Object(o.__makeTemplateObject)(["\n position: absolute;\n min-width: 80px;\n max-width: 500px;\n background: #fff;\n bottom: 100%;\n left: 50%;\n margin-bottom: 10px;\n transform: translateX(-50%);\n\n border-radius: 4px;\n padding: 0.3em 0.6em;\n text-align: center;\n box-shadow: 0px 0px 5px 0px rgba(204, 204, 204, 1);\n"],["\n position: absolute;\n min-width: 80px;\n max-width: 500px;\n background: #fff;\n bottom: 100%;\n left: 50%;\n margin-bottom: 10px;\n transform: translateX(-50%);\n\n border-radius: 4px;\n padding: 0.3em 0.6em;\n text-align: center;\n box-shadow: 0px 0px 5px 0px rgba(204, 204, 204, 1);\n"]))),Ta=je.div(wa||(wa=Object(o.__makeTemplateObject)(["\n background: #fff;\n color: #000;\n display: inline;\n font-size: 0.85em;\n white-space: nowrap;\n"],["\n background: #fff;\n color: #000;\n display: inline;\n font-size: 0.85em;\n white-space: nowrap;\n"]))),ja=je.div(_a||(_a=Object(o.__makeTemplateObject)(["\n position: absolute;\n width: 0;\n height: 0;\n bottom: -5px;\n left: 50%;\n margin-left: -5px;\n border-left: solid transparent 5px;\n border-right: solid transparent 5px;\n border-top: solid #fff 5px;\n"],["\n position: absolute;\n width: 0;\n height: 0;\n bottom: -5px;\n left: 50%;\n margin-left: -5px;\n border-left: solid transparent 5px;\n border-right: solid transparent 5px;\n border-top: solid #fff 5px;\n"]))),Aa=je.div(ka||(ka=Object(o.__makeTemplateObject)(["\n position: absolute;\n width: 100%;\n height: 20px;\n bottom: -20px;\n"],["\n position: absolute;\n width: 100%;\n height: 20px;\n bottom: -20px;\n"]))),Ca=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props,t=e.open,n=e.title,r=e.children;return i.createElement(Ea,null,r,t&&i.createElement(Sa,null,i.createElement(Ta,null,n),i.createElement(ja,null),i.createElement(Aa,null)))},t}(i.Component),Ia="undefined"!=typeof document&&document.queryCommandSupported&&document.queryCommandSupported("copy"),Pa=function(){function e(){}return e.isSupported=function(){return Ia},e.selectElement=function(e){var t,n;document.body.createTextRange?((t=document.body.createTextRange()).moveToElementText(e),t.select()):document.createRange&&window.getSelection&&(n=window.getSelection(),(t=document.createRange()).selectNodeContents(e),n.removeAllRanges(),n.addRange(t))},e.deselect=function(){if(document.selection)document.selection.empty();else if(window.getSelection){var e=window.getSelection();e&&e.removeAllRanges()}},e.copySelected=function(){var e;try{e=document.execCommand("copy")}catch(t){e=!1}return e},e.copyElement=function(t){e.selectElement(t);var n=e.copySelected();return n&&e.deselect(),n},e.copyCustom=function(t){var n=document.createElement("textarea");n.style.position="fixed",n.style.top="0",n.style.left="0",n.style.width="2em",n.style.height="2em",n.style.padding="0",n.style.border="none",n.style.outline="none",n.style.boxShadow="none",n.style.background="transparent",n.value=t,document.body.appendChild(n),n.select();var r=e.copySelected();return document.body.removeChild(n),r},e}(),Ra=function(e){function t(t){var n=e.call(this,t)||this;return n.copy=function(){var e="string"==typeof n.props.data?n.props.data:JSON.stringify(n.props.data,null,2);Pa.copyCustom(e),n.showTooltip()},n.renderCopyButton=function(){return i.createElement("button",{onClick:n.copy},i.createElement(Ca,{title:Pa.isSupported()?"Copied":"Not supported in your browser",open:n.state.tooltipShown},"Copy"))},n.state={tooltipShown:!1},n}return Object(o.__extends)(t,e),t.prototype.render=function(){return this.props.children({renderCopyButton:this.renderCopyButton})},t.prototype.showTooltip=function(){var e=this;this.setState({tooltipShown:!0}),setTimeout((function(){e.setState({tooltipShown:!1})}),1500)},t}(i.PureComponent),Na=1;function La(e,t){Na=1;var n="";return n+='
    ',n+="",n+=Ua(e,t),n+="",n+="
    "}function Ma(e){return void 0!==e?e.toString().replace(/&/g,"&").replace(/"/g,""").replace(//g,">"):""}function Da(e){return JSON.stringify(e).slice(1,-1)}function Fa(e,t){return''+Ma(e)+""}function za(e){return''+e+""}function Ua(e,t){var n=typeof e,r="";return null==e?r+=Fa("null","token keyword"):e&&e.constructor===Array?(Na++,r+=function(e,t){for(var n=Na>t?"collapsed":"",r=''+za("[")+'
      ',o=!1,i=e.length,a=0;a
      ',r+=Ua(e[a],t),a";r+="
    "+za("]"),o||(r=za("[ ]"));return r}(e,t),Na--):e&&e.constructor===Date?r+=Fa('"'+e.toISOString()+'"',"token string"):"object"===n?(Na++,r+=function(e,t){for(var n=Na>t?"collapsed":"",r=Object.keys(e),o=r.length,i=''+za("{")+'
      ',a=!1,s=0;s
      ',i+='"'+Ma(l)+'": ',i+=Ua(e[l],t),s"}i+="
    "+za("}"),a||(i=za("{ }"));return i}(e,t),Na--):"number"===n?r+=Fa(e,"token number"):"string"===n?/^(http|https):\/\/[^\s]+$/.test(e)?r+=Fa('"',"token string")+''+Ma(Da(e))+""+Fa('"',"token string"):r+=Fa('"'+Da(e)+'"',"token string"):"boolean"===n&&(r+=Fa(e,"token boolean")),r}var Ba,$a,Wa,qa=ke(Ba||(Ba=Object(o.__makeTemplateObject)(["\n .redoc-json code > .collapser {\n display: none;\n pointer-events: none;\n }\n\n font-family: ",";\n font-size: ",";\n\n white-space: ",";\n contain: content;\n overflow-x: auto;\n\n .callback-function {\n color: gray;\n }\n\n .collapser:after {\n content: '-';\n cursor: pointer;\n }\n\n .collapsed > .collapser:after {\n content: '+';\n cursor: pointer;\n }\n\n .ellipsis:after {\n content: ' … ';\n }\n\n .collapsible {\n margin-left: 2em;\n }\n\n .hoverable {\n padding-top: 1px;\n padding-bottom: 1px;\n padding-left: 2px;\n padding-right: 2px;\n border-radius: 2px;\n }\n\n .hovered {\n background-color: rgba(235, 238, 249, 1);\n }\n\n .collapser {\n background-color: transparent;\n border: 0;\n color: #fff;\n font-family: ",";\n font-size: ",";\n padding-right: 6px;\n padding-left: 6px;\n padding-top: 0;\n padding-bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15px;\n height: 15px;\n position: absolute;\n top: 4px;\n left: -1.5em;\n cursor: default;\n user-select: none;\n -webkit-user-select: none;\n padding: 2px;\n &:focus {\n outline-color: #fff;\n outline-style: dotted;\n outline-width: 1px;\n }\n }\n\n ul {\n list-style-type: none;\n padding: 0px;\n margin: 0px 0px 0px 26px;\n }\n\n li {\n position: relative;\n display: block;\n }\n\n .hoverable {\n display: inline-block;\n }\n\n .selected {\n outline-style: solid;\n outline-width: 1px;\n outline-style: dotted;\n }\n\n .collapsed > .collapsible {\n display: none;\n }\n\n .ellipsis {\n display: none;\n }\n\n .collapsed > .ellipsis {\n display: inherit;\n }\n"],["\n .redoc-json code > .collapser {\n display: none;\n pointer-events: none;\n }\n\n font-family: ",";\n font-size: ",";\n\n white-space: ",";\n contain: content;\n overflow-x: auto;\n\n .callback-function {\n color: gray;\n }\n\n .collapser:after {\n content: '-';\n cursor: pointer;\n }\n\n .collapsed > .collapser:after {\n content: '+';\n cursor: pointer;\n }\n\n .ellipsis:after {\n content: ' … ';\n }\n\n .collapsible {\n margin-left: 2em;\n }\n\n .hoverable {\n padding-top: 1px;\n padding-bottom: 1px;\n padding-left: 2px;\n padding-right: 2px;\n border-radius: 2px;\n }\n\n .hovered {\n background-color: rgba(235, 238, 249, 1);\n }\n\n .collapser {\n background-color: transparent;\n border: 0;\n color: #fff;\n font-family: ",";\n font-size: ",";\n padding-right: 6px;\n padding-left: 6px;\n padding-top: 0;\n padding-bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15px;\n height: 15px;\n position: absolute;\n top: 4px;\n left: -1.5em;\n cursor: default;\n user-select: none;\n -webkit-user-select: none;\n padding: 2px;\n &:focus {\n outline-color: #fff;\n outline-style: dotted;\n outline-width: 1px;\n }\n }\n\n ul {\n list-style-type: none;\n padding: 0px;\n margin: 0px 0px 0px 26px;\n }\n\n li {\n position: relative;\n display: block;\n }\n\n .hoverable {\n display: inline-block;\n }\n\n .selected {\n outline-style: solid;\n outline-width: 1px;\n outline-style: dotted;\n }\n\n .collapsed > .collapsible {\n display: none;\n }\n\n .ellipsis {\n display: none;\n }\n\n .collapsed > .ellipsis {\n display: inherit;\n }\n"])),(function(e){return e.theme.typography.code.fontFamily}),(function(e){return e.theme.typography.code.fontSize}),(function(e){return e.theme.typography.code.wrap?"pre-wrap":"pre"}),(function(e){return e.theme.typography.code.fontFamily}),(function(e){return e.theme.typography.code.fontSize})),Ha=je.div($a||($a=Object(o.__makeTemplateObject)(["\n &:hover > "," {\n opacity: 1;\n }\n"],["\n &:hover > "," {\n opacity: 1;\n }\n"])),hi),Va=je(function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.renderInner=function(e){var n=e.renderCopyButton;return i.createElement(Ha,null,i.createElement(hi,null,n(),i.createElement("button",{onClick:t.expandAll}," Expand all "),i.createElement("button",{onClick:t.collapseAll}," Collapse all ")),i.createElement(Ue.Consumer,null,(function(e){return i.createElement(di,{className:t.props.className,ref:function(e){return t.node=e},dangerouslySetInnerHTML:{__html:La(t.props.data,e.jsonSampleExpandLevel)}})})))},t.expandAll=function(){for(var e=t.node.getElementsByClassName("collapsible"),n=0,r=Array.prototype.slice.call(e);n1){var a=o.map((function(e,n){return{value:t[e].summary||e,idx:n}})),s=(l=t[o[e]]).description;return i.createElement(us,null,i.createElement(as,null,i.createElement(is,null,"Example"),this.props.renderDropdown({value:a[e].value,options:a,onChange:this.switchMedia,ariaLabel:"Example"})),i.createElement("div",null,s&&i.createElement(Oa,{source:s}),i.createElement(Xa,{example:l,mimeType:n})))}var l=t[o[0]];return i.createElement(us,null,l.description&&i.createElement(Oa,{source:l.description}),i.createElement(Xa,{example:l,mimeType:n}))},t}(i.Component),us=je.div(rs||(rs=Object(o.__makeTemplateObject)(["\n margin-top: 15px;\n"],["\n margin-top: 15px;\n"]))),fs=!1;function ps(){return fs}function ds(e){return Object(l.j)(e)}var hs="undefined"==typeof FinalizationRegistry?void 0:FinalizationRegistry;function ms(e){return{reaction:e,mounted:!1,changedBeforeMount:!1,cleanAt:Date.now()+gs}}var gs=1e4;var vs=function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};var ys=hs?function(e){var t=new Map,n=1,r=new e((function(e){var n=t.get(e);n&&(n.reaction.dispose(),t.delete(e))}));return{addReactionToTrack:function(e,o,i){var a=n++;return r.register(i,a,e),e.current=ms(o),e.current.finalizationRegistryCleanupToken=a,t.set(a,e.current),e.current},recordReactionAsCommitted:function(e){r.unregister(e),e.current&&e.current.finalizationRegistryCleanupToken&&t.delete(e.current.finalizationRegistryCleanupToken)},forceCleanupTimerToRunNowForTests:function(){},resetCleanupScheduleForTests:function(){}}}(hs):function(){var e,t=new Set;function n(){void 0===e&&(e=setTimeout(r,1e4))}function r(){e=void 0;var r=Date.now();t.forEach((function(e){var n=e.current;n&&r>=n.cleanAt&&(n.reaction.dispose(),e.current=null,t.delete(e))})),t.size>0&&n()}return{addReactionToTrack:function(e,r,o){var i;return e.current=ms(r),i=e,t.add(i),n(),e.current},recordReactionAsCommitted:function(e){t.delete(e)},forceCleanupTimerToRunNowForTests:function(){e&&(clearTimeout(e),r())},resetCleanupScheduleForTests:function(){var n,r;if(t.size>0){try{for(var o=vs(t),i=o.next();!i.done;i=o.next()){var a=i.value,s=a.current;s&&(s.reaction.dispose(),a.current=null)}}catch(e){n={error:e}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}t.clear()}e&&(clearTimeout(e),e=void 0)}}}(),bs=ys.addReactionToTrack,xs=ys.recordReactionAsCommitted,ws=(ys.resetCleanupScheduleForTests,ys.forceCleanupTimerToRunNowForTests,function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a}),_s=[];var ks=function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a};function Os(e){return"observer"+e}var Es=function(){};function Ss(e,t){if(void 0===t&&(t="observed"),ps())return e();var n,r=ks(a.a.useState(new Es),1)[0],o=(n=ws(Object(i.useState)(0),2)[1],Object(i.useCallback)((function(){n((function(e){return e+1}))}),_s)),s=a.a.useRef(null);if(!s.current)var c=new l.b(Os(t),(function(){u.mounted?o():u.changedBeforeMount=!0})),u=bs(s,c,r);var f,p,d=s.current.reaction;if(a.a.useDebugValue(d,ds),a.a.useEffect((function(){return xs(s),s.current?(s.current.mounted=!0,s.current.changedBeforeMount&&(s.current.changedBeforeMount=!1,o())):(s.current={reaction:new l.b(Os(t),(function(){o()})),mounted:!0,changedBeforeMount:!1,cleanAt:1/0},o()),function(){s.current.reaction.dispose(),s.current=null}}),[]),d.track((function(){try{f=e()}catch(e){p=e}})),p)throw p;return f}function Ts(e){var t=e.children,n=e.render,r=t||n;return"function"!=typeof r?null:Ss(r)}Ts.displayName="Observer";var js=function(){return(js=Object.assign||function(e){for(var t,n=1,r=arguments.length;n2?r-2:0),i=2;i"}function Gs(e){var t=this;if(!0===ps())return e.call(this);Ms(this,Hs,!1),Ms(this,Vs,!1);var n=Qs(this),r=e.bind(this),o=!1,a=new l.b(n+".render()",(function(){if(!o&&(o=!0,!0!==t[qs])){var e=!0;try{Ms(t,Vs,!0),t[Hs]||i.Component.prototype.forceUpdate.call(t),e=!1}finally{Ms(t,Vs,!1),e&&a.dispose()}}}));function s(){o=!1;var e=void 0,t=void 0;if(a.track((function(){try{t=Object(l.c)(!1,r)}catch(t){e=t}})),e)throw e;return t}return a.reactComponent=this,s[$s]=a,this.render=s,s.call(this)}function Xs(e,t){return ps()&&console.warn("[mobx-react] It seems that a re-rendering of a React component is triggered while in static (server-side) mode. Please make sure components are rendered only once server-side."),this.state!==t||!Ns(this.props,e)}function Ks(e,t){var n=Rs("reactProp_"+t+"_valueHolder"),r=Rs("reactProp_"+t+"_atomHolder");function o(){return this[r]||Ms(this,r,Object(l.i)("reactive "+t)),this[r]}Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:function(){var e=!1;return l.e&&l.d&&(e=Object(l.e)(!0)),o.call(this).reportObserved(),l.e&&l.d&&Object(l.d)(e),this[n]},set:function(e){this[Vs]||Ns(this[n],e)?Ms(this,n,e):(Ms(this,n,e),Ms(this,Hs,!0),o.call(this).reportChanged(),Ms(this,Hs,!1))}})}var Js="function"==typeof Symbol&&Symbol.for,Zs=Js?Symbol.for("react.forward_ref"):"function"==typeof i.forwardRef&&Object(i.forwardRef)((function(e){return null})).$$typeof,el=Js?Symbol.for("react.memo"):"function"==typeof i.memo&&Object(i.memo)((function(e){return null})).$$typeof;function tl(e){if(!0===e.isMobxInjector&&console.warn("Mobx observer: You are trying to use 'observer' on a component that already has 'inject'. Please apply 'observer' before applying 'inject'"),el&&e.$$typeof===el)throw new Error("Mobx observer: You are trying to use 'observer' on a function component wrapped in either another observer or 'React.memo'. The observer already applies 'React.memo' for you.");if(Zs&&e.$$typeof===Zs){var t=e.render;if("function"!=typeof t)throw new Error("render property of ForwardRef was not a function");return Object(i.forwardRef)((function(){var e=arguments;return Object(i.createElement)(Ts,null,(function(){return t.apply(void 0,e)}))}))}return"function"!=typeof e||e.prototype&&e.prototype.render||e.isReactClass||Object.prototype.isPrototypeOf.call(i.Component,e)?Ys(e):As(e)}if(!i.Component)throw new Error("mobx-react requires React to be available");if(!l.o)throw new Error("mobx-react requires mobx to be available");var nl,rl,ol,il,al,sl,ll,cl,ul,fl,pl,dl,hl,ml,gl,vl,yl=je(Rr)(nl||(nl=Object(o.__makeTemplateObject)(["\n button {\n background-color: transparent;\n border: 0;\n outline: 0;\n font-size: 13px;\n font-family: ",";\n cursor: pointer;\n padding: 0;\n color: ",";\n &:focus {\n font-weight: ",";\n }\n }\n "," {\n height: ",";\n width: ",";\n polygon {\n fill: ",";\n }\n }\n"],["\n button {\n background-color: transparent;\n border: 0;\n outline: 0;\n font-size: 13px;\n font-family: ",";\n cursor: pointer;\n padding: 0;\n color: ",";\n &:focus {\n font-weight: ",";\n }\n }\n "," {\n height: ",";\n width: ",";\n polygon {\n fill: ",";\n }\n }\n"])),(function(e){return e.theme.typography.code.fontFamily}),(function(e){return e.theme.colors.text.primary}),(function(e){return e.theme.typography.fontWeightBold}),Tr,(function(e){return e.theme.schema.arrow.size}),(function(e){return e.theme.schema.arrow.size}),(function(e){return e.theme.schema.arrow.color})),bl=je.span(rl||(rl=Object(o.__makeTemplateObject)(["\n vertical-align: middle;\n font-size: ",";\n line-height: 20px;\n"],["\n vertical-align: middle;\n font-size: ",";\n line-height: 20px;\n"])),(function(e){return e.theme.typography.code.fontSize})),xl=je(bl)(ol||(ol=Object(o.__makeTemplateObject)(["\n color: ",";\n"],["\n color: ",";\n"])),(function(e){return Z(.1,e.theme.schema.typeNameColor)})),wl=je(bl)(il||(il=Object(o.__makeTemplateObject)(["\n color: ",";\n"],["\n color: ",";\n"])),(function(e){return e.theme.schema.typeNameColor})),_l=je(bl)(al||(al=Object(o.__makeTemplateObject)(["\n color: ",";\n word-break: break-word;\n"],["\n color: ",";\n word-break: break-word;\n"])),(function(e){return e.theme.schema.typeTitleColor})),kl=wl,Ol=je(bl.withComponent("div"))(sl||(sl=Object(o.__makeTemplateObject)(["\n color: ",";\n font-size: ",";\n font-weight: normal;\n margin-left: 20px;\n line-height: 1;\n"],["\n color: ",";\n font-size: ",";\n font-weight: normal;\n margin-left: 20px;\n line-height: 1;\n"])),(function(e){return e.theme.schema.requireLabelColor}),(function(e){return e.theme.schema.labelsTextSize})),El=je(bl)(ll||(ll=Object(o.__makeTemplateObject)(["\n color: ",";\n font-size: 13px;\n"],["\n color: ",";\n font-size: 13px;\n"])),(function(e){return e.theme.colors.warning.main})),Sl=je(bl)(cl||(cl=Object(o.__makeTemplateObject)(["\n color: #0e7c86;\n font-size: 13px;\n"],["\n color: #0e7c86;\n font-size: 13px;\n"]))),Tl=je(bl)(ul||(ul=Object(o.__makeTemplateObject)(["\n color: #0e7c86;\n &::before,\n &::after {\n font-weight: bold;\n }\n"],["\n color: #0e7c86;\n &::before,\n &::after {\n font-weight: bold;\n }\n"]))),jl=je(bl)(fl||(fl=Object(o.__makeTemplateObject)(["\n border-radius: 2px;\n ",";\n & + & {\n margin-left: 0;\n }\n ",";\n"],["\n border-radius: 2px;\n ",";\n & + & {\n margin-left: 0;\n }\n ",";\n"])),(function(e){var t=e.theme;return"\n background-color: "+Z(.95,t.colors.text.primary)+";\n color: "+Z(.1,t.colors.text.primary)+";\n\n padding: 0 "+t.spacing.unit+"px;\n border: 1px solid "+Z(.9,t.colors.text.primary)+";\n font-family: "+t.typography.code.fontFamily+";\n}"}),Ae("ExampleValue")),Al=je(jl)(pl||(pl=Object(o.__makeTemplateObject)([""],[""]))),Cl=je(bl)(dl||(dl=Object(o.__makeTemplateObject)(["\n border-radius: 2px;\n ",";\n & + & {\n margin-left: 0;\n }\n ",";\n"],["\n border-radius: 2px;\n ",";\n & + & {\n margin-left: 0;\n }\n ",";\n"])),(function(e){var t=e.theme;return"\n background-color: "+Z(.95,t.colors.primary.light)+";\n color: "+Z(.1,t.colors.primary.main)+";\n\n margin: 0 "+t.spacing.unit+"px;\n padding: 0 "+t.spacing.unit+"px;\n border: 1px solid "+Z(.9,t.colors.primary.main)+";\n font-family: "+t.typography.code.fontFamily+";\n}"}),Ae("ConstraintItem")),Il=je.button(hl||(hl=Object(o.__makeTemplateObject)(["\n background-color: transparent;\n border: 0;\n color: ",";\n margin-left: ","px;\n border-radius: 2px;\n cursor: pointer;\n outline-color: ",";\n font-size: 12px;\n"],["\n background-color: transparent;\n border: 0;\n color: ",";\n margin-left: ","px;\n border-radius: 2px;\n cursor: pointer;\n outline-color: ",";\n font-size: 12px;\n"])),(function(e){return e.theme.colors.text.secondary}),(function(e){return e.theme.spacing.unit}),(function(e){return e.theme.colors.text.secondary})),Pl=je.div(ml||(ml=Object(o.__makeTemplateObject)(["\n ",";\n ","\n"],["\n ",";\n ","\n"])),ma,(function(e){return e.compact?"":"margin: 1em 0"})),Rl=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props.externalDocs;return e&&e.url?i.createElement(Pl,{compact:this.props.compact},i.createElement("a",{href:e.url},e.description||e.url)):null},t=Object(o.__decorate)([tl],t)}(i.Component),Nl=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={collapsed:!0},t}return Object(o.__extends)(t,e),t.prototype.toggle=function(){this.setState({collapsed:!this.state.collapsed})},t.prototype.render=function(){var e=this,t=this.props,n=t.values,r=t.type,o=this.state.collapsed,a=this.context,s=a.enumSkipQuotes,l=a.maxDisplayedEnumValues;if(!n.length)return null;var c=this.state.collapsed&&l?n.slice(0,l):n,u=!!l&&n.length>l,f=l?o?"… "+(n.length-l)+" more":"Hide":"";return i.createElement("div",null,i.createElement(bl,null,"array"===r?ge("enumArray"):""," ",1===n.length?ge("enumSingleValue"):ge("enum"),":")," ",c.map((function(e,t){var n=s?e:JSON.stringify(e);return i.createElement(i.Fragment,{key:t},i.createElement(jl,null,n)," ")})),u?i.createElement(Ll,{onClick:function(){e.toggle()}},f):null)},t.contextType=Ue,t}(i.PureComponent),Ll=je.span(gl||(gl=Object(o.__makeTemplateObject)(["\n color: ",";\n vertical-align: middle;\n font-size: 13px;\n line-height: 20px;\n padding: 0 5px;\n cursor: pointer;\n"],["\n color: ",";\n vertical-align: middle;\n font-size: 13px;\n line-height: 20px;\n padding: 0 5px;\n cursor: pointer;\n"])),(function(e){return e.theme.colors.primary.main})),Ml=je(ga)(vl||(vl=Object(o.__makeTemplateObject)(["\n margin: 2px 0;\n"],["\n margin: 2px 0;\n"]))),Dl=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props.extensions;return i.createElement(Ue.Consumer,null,(function(t){return i.createElement(i.Fragment,null,t.showExtensions&&Object.keys(e).map((function(t){return i.createElement(Ml,{key:t},i.createElement(bl,null," ",t.substring(2),": ")," ",i.createElement(Al,null,"string"==typeof e[t]?e[t]:JSON.stringify(e[t])))})))}))},t}(i.PureComponent),Fl=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){return 0===this.props.constraints.length?null:i.createElement("span",null," ",this.props.constraints.map((function(e){return i.createElement(Cl,{key:e}," ",e," ")})))},t}(i.PureComponent),zl=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){if(void 0===this.props.value)return null;var e=this.props.raw?this.props.value:JSON.stringify(this.props.value);return i.createElement("div",null,i.createElement(bl,null," ",this.props.label," ")," ",i.createElement(jl,null,e))},t}(i.PureComponent),Ul=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={patternShown:!1},t.togglePattern=function(){t.setState({patternShown:!t.state.patternShown})},t}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props,t=e.showExamples,n=e.field,r=e.renderDiscriminatorSwitch,a=this.state.patternShown,s=this.context,l=s.enumSkipQuotes,c=s.hideSchemaTitles,u=n.schema,f=n.description,p=n.example,d=n.deprecated,h=n.examples,m=!!l||"header"===n.in,g=null;if(t&&(void 0!==p||void 0!==h))if(void 0!==h)g=i.createElement(Bl,{field:n});else{var v=ge("example")+":",y=!!n.in;g=i.createElement(zl,{label:v,value:$l(n,n.example),raw:y})}return i.createElement("div",null,i.createElement("div",null,i.createElement(xl,null,u.typePrefix),i.createElement(wl,null,u.displayType),u.displayFormat&&i.createElement(kl,null," ","<",u.displayFormat,">"," "),u.title&&!c&&i.createElement(_l,null," (",u.title,") "),i.createElement(Fl,{constraints:u.constraints}),u.nullable&&i.createElement(Sl,null," ",ge("nullable")," "),u.pattern&&i.createElement(i.Fragment,null,i.createElement(Tl,null,a||u.pattern.length<45?u.pattern:u.pattern.substr(0,45)+"..."),u.pattern.length>45&&i.createElement(Il,{onClick:this.togglePattern},a?"Hide pattern":"Show pattern")),u.isCircular&&i.createElement(El,null," ",ge("recursive")," ")),d&&i.createElement("div",null,i.createElement(jr,{type:"warning"}," ",ge("deprecated")," ")),i.createElement(zl,{raw:m,label:ge("default")+":",value:u.default}),!r&&i.createElement(Nl,{type:u.type,values:u.enum})," ",g,i.createElement(Dl,{extensions:Object(o.__assign)(Object(o.__assign)({},n.extensions),u.extensions)}),i.createElement("div",null,i.createElement(Oa,{compact:!0,source:f})),u.externalDocs&&i.createElement(Rl,{externalDocs:u.externalDocs,compact:!0}),r&&r(this.props)||null)},t.contextType=Ue,t}(i.PureComponent);function Bl(e){var t=e.field;return t.examples?i.createElement(i.Fragment,null,i.createElement(bl,null," ",ge("examples"),": "),i.createElement(Yl,null,Object.values(t.examples).map((function(e,n){return i.createElement("li",{key:n},i.createElement(jl,null,$l(t,e.value))," - ",e.summary||e.description)})))):null}function $l(e,t){return e.in?decodeURIComponent(ft(e,t)):t}var Wl,ql,Hl,Vl,Yl=je.ul(Wl||(Wl=Object(o.__makeTemplateObject)(["\n margin-top: 1em;\n padding-left: 0;\n list-style-position: inside;\n"],["\n margin-top: 1em;\n padding-left: 0;\n list-style-position: inside;\n"]))),Ql=je.div(ql||(ql=Object(o.__makeTemplateObject)(["\n padding-left: ","px;\n"],["\n padding-left: ","px;\n"])),(function(e){return 2*e.theme.spacing.unit})),Gl=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e,t,n=this.props.schema.items,r=mt((e=n.schema.minItems,t=n.schema.maxItems,void 0===e&&(e=void 0),void 0===t&&(t=void 0),{type:"array",minItems:e,maxItems:t}));return i.createElement("div",null,i.createElement(Br,null," Array (",r,")"),i.createElement(Ql,null,i.createElement(tc,Object(o.__assign)({},this.props,{schema:n}))),i.createElement($r,null))},t}(i.PureComponent),Xl=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.toggle=function(){void 0===t.props.field.expanded&&t.props.expandByDefault?t.props.field.expanded=!1:t.props.field.toggle()},t.handleKeyPress=function(e){"Enter"===e.key&&(e.preventDefault(),t.toggle())},t}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props,t=e.className,n=e.field,r=e.isLast,a=e.expandByDefault,s=n.name,l=n.deprecated,c=n.required,u=n.kind,f=!n.schema.isPrimitive&&!n.schema.isCircular,p=void 0===n.expanded?a:n.expanded,d=f?i.createElement(yl,{className:l?"deprecated":"",kind:u,title:s},i.createElement(Lr,null),i.createElement("button",{onClick:this.toggle,onKeyPress:this.handleKeyPress,"aria-label":"expand properties"},i.createElement("span",null,s),i.createElement(Tr,{direction:p?"down":"right"})),c&&i.createElement(Ol,null," required ")):i.createElement(Rr,{className:l?"deprecated":void 0,kind:u,title:s},i.createElement(Lr,null),i.createElement("span",null,s),c&&i.createElement(Ol,null," required "));return i.createElement(i.Fragment,null,i.createElement("tr",{className:r?"last "+t:t},d,i.createElement(Nr,null,i.createElement(Ul,Object(o.__assign)({},this.props)))),p&&f&&i.createElement("tr",{key:n.name+"inner"},i.createElement(Pr,{colSpan:2},i.createElement(Mr,null,i.createElement(tc,{schema:n.schema,skipReadOnly:this.props.skipReadOnly,skipWriteOnly:this.props.skipWriteOnly,showTitle:this.props.showTitle})))))},t=Object(o.__decorate)([tl],t)}(i.Component),Kl=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.changeActiveChild=function(e){t.props.parent.activateOneOf(e.idx)},t}return Object(o.__extends)(t,e),t.prototype.sortOptions=function(e,t){if(0!==t.length){var n={};t.forEach((function(e,t){n[e]=t})),e.sort((function(e,t){return n[e.value]>n[t.value]?1:-1}))}},t.prototype.render=function(){var e=this.props,t=e.parent,n=e.enumValues;if(void 0===t.oneOf)return null;var r=t.oneOf.map((function(e,t){return{value:e.title,idx:t}})),o=r[t.activeOneOf].value;return this.sortOptions(r,n),i.createElement(Co,{value:o,options:r,onChange:this.changeActiveChild})},t=Object(o.__decorate)([tl],t)}(i.Component),Jl=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),Object.defineProperty(t.prototype,"parentSchema",{get:function(){return this.props.discriminator.parentSchema},enumerable:!1,configurable:!0}),t.prototype.render=function(){var e=this,t=this.props,n=t.schema.fields,r=void 0===n?[]:n,o=t.showTitle,a=t.discriminator,s=this.props.skipReadOnly||this.props.skipWriteOnly?r.filter((function(t){return!(e.props.skipReadOnly&&t.schema.readOnly||e.props.skipWriteOnly&&t.schema.writeOnly)})):r,l=this.context.expandSingleSchemaField&&1===s.length;return i.createElement(Dr,null,o&&i.createElement(Cr,null,this.props.schema.title),i.createElement("tbody",null,se(s,(function(t,n){return i.createElement(Xl,{key:t.name,isLast:n,field:t,expandByDefault:l,renderDiscriminatorSwitch:a&&a.fieldName===t.name&&function(){return i.createElement(Kl,{parent:e.parentSchema,enumValues:t.schema.enum})}||void 0,className:t.expanded?"expanded":void 0,showExamples:!1,skipReadOnly:e.props.skipReadOnly,skipWriteOnly:e.props.skipWriteOnly,showTitle:e.props.showTitle})}))))},t.contextType=Ue,t=Object(o.__decorate)([tl],t)}(i.Component),Zl=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.activateOneOf=function(){t.props.schema.activateOneOf(t.props.idx)},t}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props,t=e.idx,n=e.schema,r=e.subSchema;return i.createElement(Ur,{active:t===n.activeOneOf,onClick:this.activateOneOf},r.title||r.typePrefix+r.displayType)},t=Object(o.__decorate)([tl],t)}(i.Component),ec=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props,t=e.schema.oneOf,n=e.schema;return void 0===t?null:i.createElement("div",null,i.createElement(zr,null," ",n.oneOfType," "),i.createElement(Fr,null,t.map((function(e,t){return i.createElement(Zl,{key:e.pointer,schema:n,subSchema:e,idx:t})}))),i.createElement(tc,Object(o.__assign)({},this.props,{schema:t[n.activeOneOf]})))},t=Object(o.__decorate)([tl],t)}(i.Component),tc=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e,t=this.props.schema;if(!t)return i.createElement("em",null," Schema not provided ");var n=t.type,r=t.oneOf,a=t.discriminatorProp;if(t.isCircular)return i.createElement("div",null,i.createElement(wl,null,t.displayType),t.title&&i.createElement(_l,null," ",t.title," "),i.createElement(El,null," ",ge("recursive")," "));if(void 0!==a)return r&&r.length?i.createElement(Jl,Object(o.__assign)({},Object(o.__assign)(Object(o.__assign)({},this.props),{schema:r[t.activeOneOf]}),{discriminator:{fieldName:a,parentSchema:t}})):(console.warn("Looks like you are using discriminator wrong: you don't have any definition inherited from the "+t.title),null);if(void 0!==r)return i.createElement(ec,Object(o.__assign)({schema:t},this.props));switch(n){case"object":if(null===(e=t.fields)||void 0===e?void 0:e.length)return i.createElement(Jl,Object(o.__assign)({},this.props));break;case"array":return i.createElement(Gl,Object(o.__assign)({},this.props))}var s={schema:t,name:"",required:!1,description:t.description,externalDocs:t.externalDocs,deprecated:!1,toggle:function(){return null},expanded:!1};return i.createElement("div",null,i.createElement(Ul,{field:s}))},t=Object(o.__decorate)([tl],t)}(i.Component),nc=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.renderDropdown=function(e){return i.createElement(fa,Object(o.__assign)({Label:Po,Dropdown:ss},e))},t}return Object(o.__extends)(t,e),t.getMediaType=function(e,t){if(!e)return{};var n={schema:{$ref:e}};return t&&(n.examples={example:{$ref:t}}),n},Object.defineProperty(t.prototype,"mediaModel",{get:function(){var e=this.props,n=e.parser,r=e.schemaRef,o=e.exampleRef,i=e.options;return this._mediaModel||(this._mediaModel=new pn(n,"json",!1,t.getMediaType(r,o),i)),this._mediaModel},enumerable:!1,configurable:!0}),t.prototype.render=function(){var e=this.props,t=e.showReadOnly,n=void 0===t||t,r=e.showWriteOnly,o=void 0!==r&&r;return i.createElement(Dn,null,i.createElement(Un,null,i.createElement(Mn,null,i.createElement(tc,{skipWriteOnly:!o,skipReadOnly:!n,schema:this.mediaModel.schema})),i.createElement(zn,null,i.createElement(rc,null,i.createElement(cs,{renderDropdown:this.renderDropdown,mediaType:this.mediaModel})))))},t}(i.PureComponent),rc=je.div(Hl||(Hl=Object(o.__makeTemplateObject)(["\n background: ",";\n & > div,\n & > pre {\n padding: ","px;\n margin: 0;\n }\n\n & > div > pre {\n padding: 0;\n }\n"],["\n background: ",";\n & > div,\n & > pre {\n padding: ","px;\n margin: 0;\n }\n\n & > div > pre {\n padding: 0;\n }\n"])),(function(e){return e.theme.codeBlock.backgroundColor}),(function(e){return 4*e.theme.spacing.unit})),oc={oauth2:"OAuth2",apiKey:"API Key",http:"HTTP",openIdConnect:"OpenID Connect"},ic=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props,t=e.type,n=e.flow;return i.createElement("tr",null,i.createElement("th",null," ",t," OAuth Flow "),i.createElement("td",null,"implicit"===t||"authorizationCode"===t?i.createElement("div",null,i.createElement("strong",null," Authorization URL: "),n.authorizationUrl):null,"password"===t||"clientCredentials"===t||"authorizationCode"===t?i.createElement("div",null,i.createElement("strong",null," Token URL: "),n.tokenUrl):null,n.refreshUrl&&i.createElement("div",null,i.createElement("strong",null," Refresh URL: "),n.refreshUrl),i.createElement("div",null,i.createElement("strong",null," Scopes: ")),i.createElement("ul",null,Object.keys(n.scopes||{}).map((function(e){return i.createElement("li",{key:e},i.createElement("code",null,e)," - ",i.createElement(Oa,{inline:!0,source:n.scopes[e]||""}))})))))},t}(i.PureComponent),ac=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){return this.props.securitySchemes.schemes.map((function(e){return i.createElement(Dn,{id:e.sectionId,key:e.id},i.createElement(Un,null,i.createElement(Mn,null,i.createElement(qn,null,i.createElement(nr,{to:e.sectionId}),e.id),i.createElement(Oa,{source:e.description||""}),i.createElement(ga,null,i.createElement("table",{className:"security-details"},i.createElement("tbody",null,i.createElement("tr",null,i.createElement("th",null," Security Scheme Type "),i.createElement("td",null," ",oc[e.type]||e.type," ")),e.apiKey?i.createElement("tr",null,i.createElement("th",null," ",(t=e.apiKey.in||"").charAt(0).toUpperCase()+t.slice(1)," parameter name:"),i.createElement("td",null," ",e.apiKey.name," ")):e.http?[i.createElement("tr",{key:"scheme"},i.createElement("th",null," HTTP Authorization Scheme "),i.createElement("td",null," ",e.http.scheme," ")),"bearer"===e.http.scheme&&e.http.bearerFormat&&i.createElement("tr",{key:"bearer"},i.createElement("th",null," Bearer format "),i.createElement("td",null,' "',e.http.bearerFormat,'" '))]:e.openId?i.createElement("tr",null,i.createElement("th",null," Connect URL "),i.createElement("td",null,i.createElement("a",{target:"_blank",rel:"noopener noreferrer",href:e.openId.connectUrl},e.openId.connectUrl))):e.flows?Object.keys(e.flows).map((function(t){return i.createElement(ic,{key:t,type:t,flow:e.flows[t]})})):null))))));var t}))},t}(i.PureComponent);var sc,lc,cc,uc,fc,pc,dc,hc,mc=function(){function e(e,t,n,r){var o=this;void 0===n&&(n={}),void 0===r&&(r=!0),this.marker=new Pt,this.disposer=null,this.rawOptions=n,this.options=new be(n,gc),this.scroll=new ca(this.options),la.updateOnHistory(Ct.currentId,this.scroll),this.spec=new oa(e,t,this.options),this.menu=new la(this.spec,this.scroll,Ct),this.options.disableSearch||(this.search=new ua,r&&this.search.indexItems(this.menu.items),this.disposer=Object(l.p)(this.menu,"activeItemIdx",(function(e){o.updateMarkOnMenu(e.newValue)})))}return e.fromJS=function(t){var n=new e(t.spec.data,t.spec.url,t.options,!1);return n.menu.activeItemIdx=t.menu.activeItemIdx||0,n.menu.activate(n.menu.flatItems[n.menu.activeItemIdx]),n.options.disableSearch||n.search.load(t.searchIndex),n},e.prototype.onDidMount=function(){this.menu.updateOnHistory(),this.updateMarkOnMenu(this.menu.activeItemIdx)},e.prototype.dispose=function(){this.scroll.dispose(),this.menu.dispose(),this.search&&this.search.dispose(),null!=this.disposer&&this.disposer()},e.prototype.toJS=function(){return Object(o.__awaiter)(this,void 0,void 0,(function(){var e,t;return Object(o.__generator)(this,(function(n){switch(n.label){case 0:return e={menu:{activeItemIdx:this.menu.activeItemIdx},spec:{url:this.spec.parser.specUrl,data:this.spec.parser.spec}},this.search?[4,this.search.toJS()]:[3,2];case 1:return t=n.sent(),[3,3];case 2:t=void 0,n.label=3;case 3:return[2,(e.searchIndex=t,e.options=this.rawOptions,e)]}}))}))},e.prototype.updateMarkOnMenu=function(e){for(var t=Math.max(0,e),n=Math.min(this.menu.flatItems.length,t+5),r=[],o=t;o1?q(.1,n.sidebar.backgroundColor):1===e?q(.05,n.sidebar.backgroundColor):""}var Ic,Pc,Rc,Nc,Lc,Mc,Dc,Fc,zc,Uc,Bc,$c,Wc,qc,Hc,Vc,Yc,Qc,Gc,Xc,Kc,Jc=je.ul(Pc||(Pc=Object(o.__makeTemplateObject)(["\n margin: 0;\n padding: 0;\n\n & & {\n font-size: 0.929em;\n }\n\n ",";\n"],["\n margin: 0;\n padding: 0;\n\n & & {\n font-size: 0.929em;\n }\n\n ",";\n"])),(function(e){return e.expanded?"":"display: none;"})),Zc=je.li(Rc||(Rc=Object(o.__makeTemplateObject)(["\n list-style: none inside none;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: 0;\n ",";\n"],["\n list-style: none inside none;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: 0;\n ",";\n"])),(function(e){return 0===e.depth?"margin-top: 15px":""})),eu={0:ke(Nc||(Nc=Object(o.__makeTemplateObject)(["\n opacity: 0.7;\n text-transform: ",";\n font-size: 0.8em;\n padding-bottom: 0;\n cursor: default;\n color: ",";\n "],["\n opacity: 0.7;\n text-transform: ",";\n font-size: 0.8em;\n padding-bottom: 0;\n cursor: default;\n color: ",";\n "])),(function(e){return e.theme.sidebar.groupItems.textTransform}),(function(e){return e.theme.sidebar.textColor})),1:ke(Lc||(Lc=Object(o.__makeTemplateObject)(["\n font-size: 0.929em;\n text-transform: ",";\n &:hover {\n color: ",";\n }\n "],["\n font-size: 0.929em;\n text-transform: ",";\n &:hover {\n color: ",";\n }\n "])),(function(e){return e.theme.sidebar.level1Items.textTransform}),(function(e){return e.theme.sidebar.activeTextColor})),2:ke(Mc||(Mc=Object(o.__makeTemplateObject)(["\n color: ",";\n "],["\n color: ",";\n "])),(function(e){return e.theme.sidebar.textColor}))},tu=je.label.attrs((function(e){return{role:"menuitem",className:jc("-depth"+e.depth,{active:e.active})}}))(Dc||(Dc=Object(o.__makeTemplateObject)(["\n cursor: pointer;\n color: ",";\n margin: 0;\n padding: 12.5px ","px;\n ","\n display: flex;\n justify-content: space-between;\n font-family: ",";\n ",";\n background-color: ",";\n\n ",";\n\n &:hover {\n background-color: ",";\n }\n\n "," {\n height: ",";\n width: ",";\n polygon {\n fill: ",";\n }\n }\n"],["\n cursor: pointer;\n color: ",";\n margin: 0;\n padding: 12.5px ","px;\n ","\n display: flex;\n justify-content: space-between;\n font-family: ",";\n ",";\n background-color: ",";\n\n ",";\n\n &:hover {\n background-color: ",";\n }\n\n "," {\n height: ",";\n width: ",";\n polygon {\n fill: ",";\n }\n }\n"])),(function(e){return e.active?e.theme.sidebar.activeTextColor:e.theme.sidebar.textColor}),(function(e){return 4*e.theme.spacing.unit}),(function(e){var t=e.depth,n=e.type,r=e.theme;return"section"===n&&t>1&&"padding-left: "+8*r.spacing.unit+"px;"||""}),(function(e){return e.theme.typography.headings.fontFamily}),(function(e){return eu[e.depth]}),(function(e){return e.active?Cc(e.depth,e):""}),(function(e){return e.deprecated&&Ar||""}),(function(e){return Cc(e.depth,e)}),Tr,(function(e){return e.theme.sidebar.arrow.size}),(function(e){return e.theme.sidebar.arrow.size}),(function(e){return e.theme.sidebar.arrow.color})),nu=je.span(Fc||(Fc=Object(o.__makeTemplateObject)(["\n display: inline-block;\n vertical-align: middle;\n width: ",";\n overflow: hidden;\n text-overflow: ellipsis;\n"],["\n display: inline-block;\n vertical-align: middle;\n width: ",";\n overflow: hidden;\n text-overflow: ellipsis;\n"])),(function(e){return e.width?e.width:"auto"})),ru=je.div(zc||(zc=Object(o.__makeTemplateObject)(["\n ",";\n"],["\n ",";\n"])),(function(e){var t=e.theme;return"\n font-size: 0.8em;\n margin-top: "+2*t.spacing.unit+"px;\n padding: 0 "+4*t.spacing.unit+"px;\n text-align: left;\n\n opacity: 0.7;\n\n a,\n a:visited,\n a:hover {\n color: "+t.sidebar.textColor+" !important;\n border-top: 1px solid "+q(.1,t.sidebar.backgroundColor)+";\n padding: "+t.spacing.unit+"px 0;\n display: block;\n }\n"})),ou=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props,t=e.name,n=e.opened,r=e.className,o=e.onClick,a=e.httpVerb,s=e.deprecated;return i.createElement(iu,{className:r,onClick:o||void 0},i.createElement(su,{type:a},xt(a)),i.createElement(Tr,{size:"1.5em",direction:n?"down":"right",float:"left"}),i.createElement(au,{deprecated:s},t),s?i.createElement(jr,{type:"warning"}," ",ge("deprecated")," "):null)},t}(i.PureComponent),iu=je.button(Uc||(Uc=Object(o.__makeTemplateObject)(["\n border: 0;\n width: 100%;\n text-align: left;\n & > * {\n vertical-align: middle;\n }\n\n "," {\n polygon {\n fill: ",";\n }\n }\n"],["\n border: 0;\n width: 100%;\n text-align: left;\n & > * {\n vertical-align: middle;\n }\n\n "," {\n polygon {\n fill: ",";\n }\n }\n"])),Tr,(function(e){var t=e.theme;return q(t.colors.tonalOffset,t.colors.gray[100])})),au=je.span(Bc||(Bc=Object(o.__makeTemplateObject)(["\n text-decoration: ",";\n margin-right: 8px;\n"],["\n text-decoration: ",";\n margin-right: 8px;\n"])),(function(e){return e.deprecated?"line-through":"none"})),su=je(Ac)($c||($c=Object(o.__makeTemplateObject)(["\n margin: 0px 5px 0px 0px;\n"],["\n margin: 0px 5px 0px 0px;\n"]))),lu=je(ou)(Wc||(Wc=Object(o.__makeTemplateObject)(["\n padding: 10px;\n border-radius: 2px;\n margin-bottom: 4px;\n line-height: 1.5em;\n background-color: ",";\n cursor: pointer;\n outline-color: ",";\n"],["\n padding: 10px;\n border-radius: 2px;\n margin-bottom: 4px;\n line-height: 1.5em;\n background-color: ",";\n cursor: pointer;\n outline-color: ",";\n"])),(function(e){return e.theme.colors.gray[100]}),(function(e){var t=e.theme;return q(t.colors.tonalOffset,t.colors.gray[100])})),cu=je.div(qc||(qc=Object(o.__makeTemplateObject)(["\n padding: 10px 25px;\n background-color: ",";\n margin-bottom: 5px;\n margin-top: 5px;\n"],["\n padding: 10px 25px;\n background-color: ",";\n margin-bottom: 5px;\n margin-top: 5px;\n"])),(function(e){return e.theme.colors.gray[50]})),uu=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.selectElement=function(){Pa.selectElement(t.child)},t}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this,t=this.props.children;return i.createElement("div",{ref:function(t){return e.child=t},onClick:this.selectElement,onFocus:this.selectElement,tabIndex:0,role:"button"},t)},t}(i.PureComponent),fu=je.div(Hc||(Hc=Object(o.__makeTemplateObject)(["\n cursor: pointer;\n position: relative;\n margin-bottom: 5px;\n"],["\n cursor: pointer;\n position: relative;\n margin-bottom: 5px;\n"]))),pu=je.span(Vc||(Vc=Object(o.__makeTemplateObject)(["\n font-family: ",";\n margin-left: 10px;\n flex: 1;\n overflow-x: hidden;\n text-overflow: ellipsis;\n"],["\n font-family: ",";\n margin-left: 10px;\n flex: 1;\n overflow-x: hidden;\n text-overflow: ellipsis;\n"])),(function(e){return e.theme.typography.code.fontFamily})),du=je.button(Yc||(Yc=Object(o.__makeTemplateObject)(["\n outline: 0;\n color: inherit;\n width: 100%;\n text-align: left;\n cursor: pointer;\n padding: 10px 30px 10px ",";\n border-radius: ",";\n background-color: ",";\n display: flex;\n white-space: nowrap;\n align-items: center;\n border: ",";\n border-bottom: ",";\n transition: border-color 0.25s ease;\n\n ","\n\n ."," {\n color: ","\n }\n &:focus {\n box-shadow: inset 0 2px 2px rgba(0, 0, 0, 0.45), 0 2px 0 rgba(128, 128, 128, 0.25);\n }\n"],["\n outline: 0;\n color: inherit;\n width: 100%;\n text-align: left;\n cursor: pointer;\n padding: 10px 30px 10px ",";\n border-radius: ",";\n background-color: ",";\n display: flex;\n white-space: nowrap;\n align-items: center;\n border: ",";\n border-bottom: ",";\n transition: border-color 0.25s ease;\n\n ","\n\n ."," {\n color: ","\n }\n &:focus {\n box-shadow: inset 0 2px 2px rgba(0, 0, 0, 0.45), 0 2px 0 rgba(128, 128, 128, 0.25);\n }\n"])),(function(e){return e.inverted?"10px":"20px"}),(function(e){return e.inverted?"0":"4px 4px 0 0"}),(function(e){return e.inverted?"transparent":e.theme.codeBlock.backgroundColor}),(function(e){return e.inverted?"0":"1px solid transparent"}),(function(e){return e.inverted?"1px solid #ccc":"0"}),(function(e){return e.expanded&&!e.inverted&&"border-color: "+e.theme.colors.border.dark+";"||""}),pu,(function(e){return e.inverted?e.theme.colors.text.primary:"#ffffff"})),hu=je.span.attrs((function(e){return{className:"http-verb "+e.type}}))(Qc||(Qc=Object(o.__makeTemplateObject)(["\n font-size: ",";\n line-height: ",";\n background-color: ",";\n color: #ffffff;\n padding: ",";\n text-transform: uppercase;\n font-family: ",";\n margin: 0;\n"],["\n font-size: ",";\n line-height: ",";\n background-color: ",";\n color: #ffffff;\n padding: ",";\n text-transform: uppercase;\n font-family: ",";\n margin: 0;\n"])),(function(e){return e.compact?"0.8em":"0.929em"}),(function(e){return e.compact?"18px":"20px"}),(function(e){return e.theme.colors.http[e.type]||"#999999"}),(function(e){return e.compact?"2px 8px":"3px 10px"}),(function(e){return e.theme.typography.headings.fontFamily})),mu=je.div(Gc||(Gc=Object(o.__makeTemplateObject)(["\n position: absolute;\n width: 100%;\n z-index: 100;\n background: #fafafa;\n color: #263238;\n box-sizing: border-box;\n box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.33);\n overflow: hidden;\n border-bottom-left-radius: 4px;\n border-bottom-right-radius: 4px;\n transition: all 0.25s ease;\n visibility: hidden;\n ","\n"],["\n position: absolute;\n width: 100%;\n z-index: 100;\n background: #fafafa;\n color: #263238;\n box-sizing: border-box;\n box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.33);\n overflow: hidden;\n border-bottom-left-radius: 4px;\n border-bottom-right-radius: 4px;\n transition: all 0.25s ease;\n visibility: hidden;\n ","\n"])),(function(e){return e.expanded?"visibility: visible;":"transform: translateY(-50%) scaleY(0);"})),gu=je.div(Xc||(Xc=Object(o.__makeTemplateObject)(["\n padding: 10px;\n"],["\n padding: 10px;\n"]))),vu=je.div(Kc||(Kc=Object(o.__makeTemplateObject)(["\n padding: 5px;\n border: 1px solid #ccc;\n background: #fff;\n word-break: break-all;\n color: ",";\n > span {\n color: ",";\n }\n"],["\n padding: 5px;\n border: 1px solid #ccc;\n background: #fff;\n word-break: break-all;\n color: ",";\n > span {\n color: ",";\n }\n"])),(function(e){return e.theme.colors.primary.main}),(function(e){return e.theme.colors.text.primary})),yu=function(e){function t(t){var n=e.call(this,t)||this;return n.toggle=function(){n.setState({expanded:!n.state.expanded})},n.state={expanded:!1},n}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this,t=this.props,n=t.operation,r=t.inverted,o=t.hideHostname,a=this.state.expanded;return i.createElement(Ue.Consumer,null,(function(t){return i.createElement(fu,null,i.createElement(du,{onClick:e.toggle,expanded:a,inverted:r},i.createElement(hu,{type:n.httpVerb,compact:e.props.compact},n.httpVerb),i.createElement(pu,null,n.path),i.createElement(Tr,{float:"right",color:r?"black":"white",size:"20px",direction:a?"up":"down",style:{marginRight:"-25px"}})),i.createElement(mu,{expanded:a,"aria-hidden":!a},n.servers.map((function(e){var r,a,s=t.expandDefaultServerVariables?(r=e.url,void 0===(a=e.variables)&&(a={}),r.replace(/(?:{)([\w-.]+)(?:})/g,(function(e,t){return a[t]&&a[t].default||e}))):e.url,l=function(e){try{return he(e).pathname}catch(t){return e}}(s);return i.createElement(gu,{key:s},i.createElement(Oa,{source:e.description||"",compact:!0}),i.createElement(uu,null,i.createElement(vu,null,i.createElement("span",null,o||t.hideHostname?"/"===l?"":l:s),n.path)))}))))}))},t}(i.Component),bu=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props,t=e.place,n=e.parameters;return n&&n.length?i.createElement("div",{key:t},i.createElement(Vn,null,t," Parameters"),i.createElement(Dr,null,i.createElement("tbody",null,se(n,(function(e,t){return i.createElement(Xl,{key:e.name,isLast:t,field:e,showExamples:!0})}))))):null},t}(i.PureComponent),xu=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.switchMedia=function(e){var n=e.idx;t.props.content&&t.props.content.activate(n)},t}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this,t=this.props.content;if(!t||!t.mediaTypes||!t.mediaTypes.length)return null;var n=t.activeMimeIdx,r=t.mediaTypes.map((function(e,t){return{value:e.name,idx:t}}));return i.createElement(i.Fragment,null,i.createElement((function(t){var n=t.children;return e.props.withLabel?i.createElement(as,null,i.createElement(is,null,"Content type"),n):n}),null,this.props.renderDropdown({value:r[n].value,options:r,onChange:this.switchMedia,ariaLabel:"Content type"})),this.props.children(t.active))},t=Object(o.__decorate)([tl],t)}(i.Component);var wu=["path","query","cookie","header"],_u=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.orderParams=function(e){var t={};return e.forEach((function(e){var n,r,o;n=t,r=e.in,o=e,n[r]||(n[r]=[]),n[r].push(o)})),t},t.prototype.render=function(){var e=this.props,t=e.body,n=e.parameters,r=void 0===n?[]:n;if(void 0===t&&void 0===r)return null;var o=this.orderParams(r),a=r.length>0?wu:[],s=t&&t.content,l=t&&t.description;return i.createElement(i.Fragment,null,a.map((function(e){return i.createElement(bu,{key:e,place:e,parameters:o[e]})})),s&&i.createElement(Ou,{content:s,description:l}))},t}(i.PureComponent);function ku(e){return i.createElement(Vn,{key:"header"},"Request Body schema: ",i.createElement(fa,Object(o.__assign)({},e)))}function Ou(e){var t=e.content,n=e.description;return i.createElement(xu,{content:t,renderDropdown:ku},(function(e){var t=e.schema;return i.createElement(i.Fragment,null,void 0!==n&&i.createElement(Oa,{source:n}),i.createElement(tc,{skipReadOnly:!0,key:"schema",schema:t}))}))}var Eu,Su,Tu,ju,Au,Cu,Iu,Pu,Ru,Nu,Lu,Mu,Du,Fu,zu,Uu,Bu,$u,Wu,qu,Hu,Vu,Yu=je(function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props,t=e.title,n=e.type,r=e.empty,o=e.code,a=e.opened,s=e.className,l=e.onClick;return i.createElement("button",{className:s,onClick:!r&&l||void 0,"aria-expanded":a,disabled:r},!r&&i.createElement(Tr,{size:"1.5em",color:n,direction:a?"down":"right",float:"left"}),i.createElement(Xu,null,o," "),i.createElement(Oa,{compact:!0,inline:!0,source:t}))},t}(i.PureComponent))(Eu||(Eu=Object(o.__makeTemplateObject)(["\n display: block;\n border: 0;\n width: 100%;\n text-align: left;\n padding: 10px;\n border-radius: 2px;\n margin-bottom: 4px;\n line-height: 1.5em;\n background-color: #f2f2f2;\n cursor: pointer;\n\n color: ",";\n background-color: ",";\n &:focus {\n outline: auto;\n outline-color: ",";\n }\n ",";\n"],["\n display: block;\n border: 0;\n width: 100%;\n text-align: left;\n padding: 10px;\n border-radius: 2px;\n margin-bottom: 4px;\n line-height: 1.5em;\n background-color: #f2f2f2;\n cursor: pointer;\n\n color: ",";\n background-color: ",";\n &:focus {\n outline: auto;\n outline-color: ",";\n }\n ",";\n"])),(function(e){return e.theme.colors.responses[e.type].color}),(function(e){return e.theme.colors.responses[e.type].backgroundColor}),(function(e){return e.theme.colors.responses[e.type].color}),(function(e){return e.empty?'\ncursor: default;\n&::before {\n content: "—";\n font-weight: bold;\n width: 1.5em;\n text-align: center;\n display: inline-block;\n vertical-align: top;\n}\n&:focus {\n outline: 0;\n}\n':""})),Qu=je.div(Su||(Su=Object(o.__makeTemplateObject)(["\n padding: 10px;\n"],["\n padding: 10px;\n"]))),Gu=je(Vn.withComponent("caption"))(Tu||(Tu=Object(o.__makeTemplateObject)(["\n text-align: left;\n margin-top: 1em;\n caption-side: top;\n"],["\n text-align: left;\n margin-top: 1em;\n caption-side: top;\n"]))),Xu=je.strong(ju||(ju=Object(o.__makeTemplateObject)(["\n vertical-align: top;\n"],["\n vertical-align: top;\n"]))),Ku=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props.headers;return void 0===e||0===e.length?null:i.createElement(Dr,null,i.createElement(Gu,null," Response Headers "),i.createElement("tbody",null,se(e,(function(e,t){return i.createElement(Xl,{isLast:t,key:e.name,field:e,showExamples:!0})}))))},t}(i.PureComponent),Ju=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.renderDropdown=function(e){return i.createElement(Vn,{key:"header"},"Response Schema: ",i.createElement(fa,Object(o.__assign)({},e)))},t}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props.response,t=e.description,n=e.headers,r=e.content;return i.createElement(i.Fragment,null,t&&i.createElement(Oa,{source:t}),i.createElement(Ku,{headers:n}),i.createElement(xu,{content:r,renderDropdown:this.renderDropdown},(function(e){var t=e.schema;return i.createElement(tc,{skipWriteOnly:!0,key:"schema",schema:t})})))},t}(i.PureComponent),Zu=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.toggle=function(){t.props.response.toggle()},t}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props.response,t=e.headers,n=e.type,r=e.summary,o=e.description,a=e.code,s=e.expanded,l=e.content,c=void 0===l?[]:l.mediaTypes.filter((function(e){return void 0!==e.schema})),u=0===t.length&&0===c.length&&!o;return i.createElement("div",null,i.createElement(Yu,{onClick:this.toggle,type:n,empty:u,title:r||"",code:a,opened:s}),s&&!u&&i.createElement(Qu,null,i.createElement(Ju,{response:this.props.response})))},t=Object(o.__decorate)([tl],t)}(i.Component),ef=je.h3(Au||(Au=Object(o.__makeTemplateObject)(["\n font-size: 1.3em;\n padding: 0.2em 0;\n margin: 3em 0 1.1em;\n color: ",";\n font-weight: normal;\n"],["\n font-size: 1.3em;\n padding: 0.2em 0;\n margin: 3em 0 1.1em;\n color: ",";\n font-weight: normal;\n"])),(function(e){return e.theme.colors.text.primary})),tf=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props,t=e.responses,n=e.isCallback;return t&&0!==t.length?i.createElement("div",null,i.createElement(ef,null,n?"Callback responses":"Responses"),t.map((function(e){return i.createElement(Zu,{key:e.code,response:e})}))):null},t}(i.PureComponent),nf=je.code(Cu||(Cu=Object(o.__makeTemplateObject)(["\n font-size: ",";\n font-family: ",";\n border: 1px solid ",";\n margin: 0 3px;\n padding: 0.2em;\n display: inline-block;\n line-height: 1;\n\n &:after {\n content: ',';\n }\n &:last-child:after {\n content: none;\n }\n"],["\n font-size: ",";\n font-family: ",";\n border: 1px solid ",";\n margin: 0 3px;\n padding: 0.2em;\n display: inline-block;\n line-height: 1;\n\n &:after {\n content: ',';\n }\n &:last-child:after {\n content: none;\n }\n"])),(function(e){return e.theme.typography.code.fontSize}),(function(e){return e.theme.typography.code.fontFamily}),(function(e){return e.theme.colors.border.dark})),rf=je.span(Iu||(Iu=Object(o.__makeTemplateObject)(["\n &:after {\n content: ' AND ';\n font-weight: bold;\n }\n\n &:last-child:after {\n content: none;\n }\n\n ",";\n"],["\n &:after {\n content: ' AND ';\n font-weight: bold;\n }\n\n &:last-child:after {\n content: none;\n }\n\n ",";\n"])),ma),of=je.span(Pu||(Pu=Object(o.__makeTemplateObject)(["\n &:before {\n content: '( ';\n font-weight: bold;\n }\n &:after {\n content: ' ) OR ';\n font-weight: bold;\n }\n &:last-child:after {\n content: ' )';\n }\n\n &:only-child:before,\n &:only-child:after {\n content: none;\n }\n\n ",";\n"],["\n &:before {\n content: '( ';\n font-weight: bold;\n }\n &:after {\n content: ' ) OR ';\n font-weight: bold;\n }\n &:last-child:after {\n content: ' )';\n }\n\n &:only-child:before,\n &:only-child:after {\n content: none;\n }\n\n ",";\n"])),ma),af=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props.security;return i.createElement(of,null,e.schemes.map((function(e){return i.createElement(rf,{key:e.id},i.createElement(er,{to:e.sectionId},e.id),e.scopes.length>0&&" (",e.scopes.map((function(e){return i.createElement(nf,{key:e},e)})),e.scopes.length>0&&") ")})))},t}(i.PureComponent),sf=je.div(Ru||(Ru=Object(o.__makeTemplateObject)(["\n flex: 1 1 auto;\n"],["\n flex: 1 1 auto;\n"]))),lf=je.div(Lu||(Lu=Object(o.__makeTemplateObject)(["\n width: ",";\n ","\n"],["\n width: ",";\n ","\n"])),(function(e){return e.theme.schema.defaultDetailsWidth}),Te("small")(Nu||(Nu=Object(o.__makeTemplateObject)(["\n margin-top: 10px;\n "],["\n margin-top: 10px;\n "])))),cf=je(Vn)(Mu||(Mu=Object(o.__makeTemplateObject)(["\n display: inline-block;\n margin: 0;\n"],["\n display: inline-block;\n margin: 0;\n"]))),uf=je.div(Fu||(Fu=Object(o.__makeTemplateObject)(["\n width: 100%;\n display: flex;\n margin: 1em 0;\n\n ","\n"],["\n width: 100%;\n display: flex;\n margin: 1em 0;\n\n ","\n"])),Te("small")(Du||(Du=Object(o.__makeTemplateObject)(["\n flex-direction: column;\n "],["\n flex-direction: column;\n "])))),ff=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props.securities;return e.length?i.createElement(uf,null,i.createElement(sf,null,i.createElement(cf,null,"Authorizations: ")),i.createElement(lf,null,e.map((function(e,t){return i.createElement(af,{key:t,security:e})})))):null},t}(i.PureComponent),pf=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props.operation,t=e.description,n=e.externalDocs,r=!(!t&&!n);return i.createElement(cu,null,r&&i.createElement(df,null,void 0!==t&&i.createElement(Oa,{source:t}),n&&i.createElement(Rl,{externalDocs:n})),i.createElement(yu,{operation:this.props.operation,inverted:!0,compact:!0}),i.createElement(Dl,{extensions:e.extensions}),i.createElement(ff,{securities:e.security}),i.createElement(_u,{parameters:e.parameters,body:e.requestBody}),i.createElement(tf,{responses:e.responses,isCallback:e.isCallback}))},t=Object(o.__decorate)([tl],t)}(i.Component),df=je.div(zu||(zu=Object(o.__makeTemplateObject)(["\n margin-bottom: ","px;\n"],["\n margin-bottom: ","px;\n"])),(function(e){return 3*e.theme.spacing.unit})),hf=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.toggle=function(){t.props.callbackOperation.toggle()},t}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props.callbackOperation,t=e.name,n=e.expanded,r=e.httpVerb,o=e.deprecated;return i.createElement(i.Fragment,null,i.createElement(lu,{onClick:this.toggle,name:t,opened:n,httpVerb:r,deprecated:o}),n&&i.createElement(pf,{operation:this.props.callbackOperation}))},t=Object(o.__decorate)([tl],t)}(i.Component),mf=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props.callbacks;return e&&0!==e.length?i.createElement("div",null,i.createElement(gf,null," Callbacks "),e.map((function(e){return e.operations.map((function(t,n){return i.createElement(hf,{key:e.name+"_"+n,callbackOperation:t})}))}))):null},t}(i.PureComponent),gf=je.h3(Uu||(Uu=Object(o.__makeTemplateObject)(["\n font-size: 1.3em;\n padding: 0.2em 0;\n margin: 3em 0 1.1em;\n color: ",";\n font-weight: normal;\n"],["\n font-size: 1.3em;\n padding: 0.2em 0;\n margin: 3em 0 1.1em;\n color: ",";\n font-weight: normal;\n"])),(function(e){return e.theme.colors.text.primary})),vf=function(e){function t(t){var n=e.call(this,t)||this;return n.switchItem=function(e){var t=e.idx;n.props.items&&n.setState({activeItemIdx:t})},n.state={activeItemIdx:0},n}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this,t=this.props.items;if(!t||!t.length)return null;return i.createElement(i.Fragment,null,i.createElement((function(t){var n=t.children;return e.props.label?i.createElement(as,null,i.createElement(is,null,e.props.label),n):n}),null,this.props.renderDropdown({value:this.props.options[this.state.activeItemIdx].value,options:this.props.options,onChange:this.switchItem,ariaLabel:this.props.label||"Callback"})),this.props.children(t[this.state.activeItemIdx]))},t=Object(o.__decorate)([tl],t)}(i.Component),yf=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.renderDropdown=function(e){return i.createElement(fa,Object(o.__assign)({Label:os,Dropdown:ss},e))},t}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this,t=this.props.content;return void 0===t?null:i.createElement(xu,{content:t,renderDropdown:this.renderDropdown,withLabel:!0},(function(t){return i.createElement(cs,{key:"samples",mediaType:t,renderDropdown:e.renderDropdown})}))},t=Object(o.__decorate)([tl],t)}(i.Component),bf=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props.callback.codeSamples.find((function(e){return gn(e)}));return e?i.createElement(xf,null,i.createElement(yf,{content:e.requestBodyContent})):null},t}(i.Component),xf=je.div(Bu||(Bu=Object(o.__makeTemplateObject)(["\n margin-top: 15px;\n"],["\n margin-top: 15px;\n"]))),wf=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.renderDropdown=function(e){return i.createElement(fa,Object(o.__assign)({Label:os,Dropdown:ss},e))},t}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this,t=this.props.callbacks;if(!t||0===t.length)return null;var n=t.map((function(e){return e.operations.map((function(e){return e}))})).reduce((function(e,t){return e.concat(t)}),[]);if(!n.some((function(e){return e.codeSamples.length>0})))return null;var r=n.map((function(e,t){return{value:e.httpVerb.toUpperCase()+": "+e.name,idx:t}}));return i.createElement("div",null,i.createElement(Hn,null," Callback payload samples "),i.createElement(_f,null,i.createElement(vf,{items:n,renderDropdown:this.renderDropdown,label:"Callback",options:r},(function(t){return i.createElement(bf,{key:"callbackPayloadSample",callback:t,renderDropdown:e.renderDropdown})}))))},t.contextType=Ue,t=Object(o.__decorate)([tl],t)}(i.Component),_f=je.div($u||($u=Object(o.__makeTemplateObject)(["\n background: ",";\n padding: ","px;\n"],["\n background: ",";\n padding: ","px;\n"])),(function(e){return e.theme.codeBlock.backgroundColor}),(function(e){return 4*e.theme.spacing.unit})),kf=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props.operation.codeSamples,t=e.length>0,n=1===e.length&&this.context.hideSingleRequestSampleTab;return t&&i.createElement("div",null,i.createElement(Hn,null," Request samples "),i.createElement(pi,{defaultIndex:0},i.createElement(ti,{hidden:n},e.map((function(e){return i.createElement(ri,{key:e.lang+"_"+(e.label||"")},void 0!==e.label?e.label:e.lang)}))),e.map((function(e){return i.createElement(ii,{key:e.lang+"_"+(e.label||"")},gn(e)?i.createElement("div",null,i.createElement(yf,{content:e.requestBodyContent})):i.createElement(Qa,{lang:e.lang,source:e.source}))}))))||null},t.contextType=Ue,t=Object(o.__decorate)([tl],t)}(i.Component),Of=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props.operation.responses.filter((function(e){return e.content&&e.content.hasSample}));return e.length>0&&i.createElement("div",null,i.createElement(Hn,null," Response samples "),i.createElement(pi,{defaultIndex:0},i.createElement(ti,null,e.map((function(e){return i.createElement(ri,{className:"tab-"+e.type,key:e.code},e.code)}))),e.map((function(e){return i.createElement(ii,{key:e.code},i.createElement("div",null,i.createElement(yf,{content:e.content})))}))))||null},t=Object(o.__decorate)([tl],t)}(i.Component),Ef=je(Un)(Wu||(Wu=Object(o.__makeTemplateObject)(["\n backface-visibility: hidden;\n contain: content;\n overflow: hidden;\n"],["\n backface-visibility: hidden;\n contain: content;\n overflow: hidden;\n"]))),Sf=je.div(qu||(qu=Object(o.__makeTemplateObject)(["\n margin-bottom: ","px;\n"],["\n margin-bottom: ","px;\n"])),(function(e){return 6*e.theme.spacing.unit})),Tf=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props.operation,t=e.name,n=e.description,r=e.deprecated,o=e.externalDocs,a=e.isWebhook,s=!(!n&&!o);return i.createElement(Ue.Consumer,null,(function(l){return i.createElement(Ef,null,i.createElement(Mn,null,i.createElement(qn,null,i.createElement(nr,{to:e.id}),t," ",r&&i.createElement(jr,{type:"warning"}," Deprecated "),a&&i.createElement(jr,{type:"primary"}," Webhook ")),l.pathInMiddlePanel&&!a&&i.createElement(yu,{operation:e,inverted:!0}),s&&i.createElement(Sf,null,void 0!==n&&i.createElement(Oa,{source:n}),o&&i.createElement(Rl,{externalDocs:o})),i.createElement(Dl,{extensions:e.extensions}),i.createElement(ff,{securities:e.security}),i.createElement(_u,{parameters:e.parameters,body:e.requestBody}),i.createElement(tf,{responses:e.responses}),i.createElement(mf,{callbacks:e.callbacks})),i.createElement(zn,null,!l.pathInMiddlePanel&&!a&&i.createElement(yu,{operation:e}),i.createElement(kf,{operation:e}),i.createElement(Of,{operation:e}),i.createElement(wf,{callbacks:e.callbacks})))}))},t=Object(o.__decorate)([tl],t)}(i.Component),jf=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props.items;return 0===e.length?null:e.map((function(e){return i.createElement(Af,{key:e.id,item:e})}))},t=Object(o.__decorate)([tl],t)}(i.Component),Af=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e,t=this.props.item;switch(t.type){case"group":e=null;break;case"tag":case"section":e=i.createElement(If,Object(o.__assign)({},this.props));break;case"operation":e=i.createElement(Pf,{item:t});break;default:e=i.createElement(If,Object(o.__assign)({},this.props))}return i.createElement(i.Fragment,null,e&&i.createElement(Dn,{id:t.id,underlined:"operation"===t.type},e),t.items&&i.createElement(jf,{items:t.items}))},t=Object(o.__decorate)([tl],t)}(i.Component),Cf=function(e){return i.createElement(Mn,{compact:!0},e)},If=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props.item,t=e.name,n=e.description,r=e.externalDocs,o=2===e.level?qn:Wn;return i.createElement(i.Fragment,null,i.createElement(Un,null,i.createElement(Mn,{compact:!1},i.createElement(o,null,i.createElement(nr,{to:this.props.item.id}),t))),i.createElement(Tc,{source:n||"",htmlWrap:Cf}),r&&i.createElement(Un,null,i.createElement(Mn,null,i.createElement(Rl,{externalDocs:r}))))},t=Object(o.__decorate)([tl],t)}(i.Component),Pf=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){return i.createElement(Tf,{operation:this.props.item})},t=Object(o.__decorate)([tl],t)}(i.Component),Rf=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.ref=i.createRef(),t.activate=function(e){t.props.onActivate(t.props.item),e.stopPropagation()},t}return Object(o.__extends)(t,e),t.prototype.componentDidMount=function(){this.scrollIntoViewIfActive()},t.prototype.componentDidUpdate=function(){this.scrollIntoViewIfActive()},t.prototype.scrollIntoViewIfActive=function(){this.props.item.active&&this.ref.current&&this.ref.current.scrollIntoViewIfNeeded()},t.prototype.render=function(){var e=this.props,t=e.item,n=e.withoutChildren;return i.createElement(Zc,{onClick:this.activate,depth:t.depth,"data-item-id":t.id},"operation"===t.type?i.createElement(Nf,Object(o.__assign)({},this.props,{item:t})):i.createElement(tu,{depth:t.depth,active:t.active,type:t.type,ref:this.ref},i.createElement(nu,{title:t.name},t.name,this.props.children),t.depth>0&&t.items.length>0&&i.createElement(Tr,{float:"right",direction:t.expanded?"down":"right"})||null),!n&&t.items&&t.items.length>0&&i.createElement(Lf,{expanded:t.expanded,items:t.items,onActivate:this.props.onActivate}))},t=Object(o.__decorate)([tl],t)}(i.Component),Nf=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.ref=i.createRef(),t}return Object(o.__extends)(t,e),t.prototype.componentDidUpdate=function(){this.props.item.active&&this.ref.current&&this.ref.current.scrollIntoViewIfNeeded()},t.prototype.render=function(){var e=this.props.item;return i.createElement(tu,{depth:e.depth,active:e.active,deprecated:e.deprecated,ref:this.ref},e.isWebhook?i.createElement(Ac,{type:"hook"},ge("webhook")):i.createElement(Ac,{type:e.httpVerb},xt(e.httpVerb)),i.createElement(nu,{width:"calc(100% - 38px)"},e.name,this.props.children))},t=Object(o.__decorate)([tl],t)}(i.Component),Lf=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this,t=this.props,n=t.items,r=t.root,a=t.className,s=null==this.props.expanded||this.props.expanded;return i.createElement(Jc,Object(o.__assign)({className:a,style:this.props.style,expanded:s},r?{role:"navigation"}:{}),n.map((function(t,n){return i.createElement(Rf,{key:n,item:t,onActivate:e.props.onActivate})})))},t=Object(o.__decorate)([tl],t)}(i.Component),Mf=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.activate=function(e){if(e&&e.active&&t.context.menuToggle)return e.expanded?e.collapse():e.expand();t.props.menu.activateAndScroll(e,!0),setTimeout((function(){t._updateScroll&&t._updateScroll()}))},t.saveScrollUpdate=function(e){t._updateScroll=e},t}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props.menu;return i.createElement(Ji,{updateFn:this.saveScrollUpdate,className:this.props.className,options:{wheelPropagation:!1}},i.createElement(Lf,{items:e.items,onActivate:this.activate,root:!0}),i.createElement(ru,null,i.createElement("a",{target:"_blank",rel:"noopener noreferrer",href:"https://github.com/Redocly/redoc"},"Documentation Powered by ReDoc")))},t.contextType=Ue,t=Object(o.__decorate)([tl],t)}(i.Component),Df=function(e){var t=e.open?8:-4;return i.createElement(zf,null,i.createElement(Ff,{size:15,style:{transform:"translate(2px, "+t+"px) rotate(180deg)",transition:"transform 0.2s ease"}}),i.createElement(Ff,{size:15,style:{transform:"translate(2px, "+(0-t)+"px)",transition:"transform 0.2s ease"}}))},Ff=function(e){var t=e.size,n=void 0===t?10:t,r=e.className,o=void 0===r?"":r,a=e.style;return i.createElement("svg",{className:o,style:a||{},viewBox:"0 0 926.23699 573.74994",version:"1.1",x:"0px",y:"0px",width:n,height:n},i.createElement("g",{transform:"translate(904.92214,-879.1482)"},i.createElement("path",{d:"\n m -673.67664,1221.6502 -231.2455,-231.24803 55.6165,\n -55.627 c 30.5891,-30.59485 56.1806,-55.627 56.8701,-55.627 0.6894,\n 0 79.8637,78.60862 175.9427,174.68583 l 174.6892,174.6858 174.6892,\n -174.6858 c 96.079,-96.07721 175.253196,-174.68583 175.942696,\n -174.68583 0.6895,0 26.281,25.03215 56.8701,\n 55.627 l 55.6165,55.627 -231.245496,231.24803 c -127.185,127.1864\n -231.5279,231.248 -231.873,231.248 -0.3451,0 -104.688,\n -104.0616 -231.873,-231.248 z\n ",fill:"currentColor"})))},zf=je.div(Hu||(Hu=Object(o.__makeTemplateObject)(["\n user-select: none;\n width: 20px;\n height: 20px;\n align-self: center;\n display: flex;\n flex-direction: column;\n color: ",";\n"],["\n user-select: none;\n width: 20px;\n height: 20px;\n align-self: center;\n display: flex;\n flex-direction: column;\n color: ",";\n"])),(function(e){return e.theme.colors.primary.main}));ne&&(Vu=n(325));var Uf,Bf,$f,Wf,qf,Hf,Vf,Yf,Qf,Gf,Xf,Kf,Jf,Zf,ep=Vu&&Vu(),tp=je.div(Bf||(Bf=Object(o.__makeTemplateObject)(["\n width: ",";\n background-color: ",";\n overflow: hidden;\n display: flex;\n flex-direction: column;\n\n backface-visibility: hidden;\n /* contain: strict; TODO: breaks layout since Chrome 80*/\n\n height: 100vh;\n position: sticky;\n position: -webkit-sticky;\n top: 0;\n\n ",";\n\n @media print {\n display: none;\n }\n"],["\n width: ",";\n background-color: ",";\n overflow: hidden;\n display: flex;\n flex-direction: column;\n\n backface-visibility: hidden;\n /* contain: strict; TODO: breaks layout since Chrome 80*/\n\n height: 100vh;\n position: sticky;\n position: -webkit-sticky;\n top: 0;\n\n ",";\n\n @media print {\n display: none;\n }\n"])),(function(e){return e.theme.sidebar.width}),(function(e){return e.theme.sidebar.backgroundColor}),Te("small")(Uf||(Uf=Object(o.__makeTemplateObject)(["\n position: fixed;\n z-index: 20;\n width: 100%;\n background: ",";\n display: ",";\n "],["\n position: fixed;\n z-index: 20;\n width: 100%;\n background: ",";\n display: ",";\n "])),(function(e){return e.theme.sidebar.backgroundColor}),(function(e){return e.open?"flex":"none"}))),np=je.div(Wf||(Wf=Object(o.__makeTemplateObject)(["\n outline: none;\n user-select: none;\n background-color: #f2f2f2;\n color: ",";\n display: none;\n cursor: pointer;\n position: fixed;\n right: 20px;\n z-index: 100;\n border-radius: 50%;\n box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);\n ",";\n\n bottom: 44px;\n\n width: 60px;\n height: 60px;\n padding: 0 20px;\n\n @media print {\n display: none;\n }\n"],["\n outline: none;\n user-select: none;\n background-color: #f2f2f2;\n color: ",";\n display: none;\n cursor: pointer;\n position: fixed;\n right: 20px;\n z-index: 100;\n border-radius: 50%;\n box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);\n ",";\n\n bottom: 44px;\n\n width: 60px;\n height: 60px;\n padding: 0 20px;\n\n @media print {\n display: none;\n }\n"])),(function(e){return e.theme.colors.primary.main}),Te("small")($f||($f=Object(o.__makeTemplateObject)(["\n display: flex;\n "],["\n display: flex;\n "])))),rp=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={offsetTop:"0px"},t.toggleNavMenu=function(){t.props.menu.toggleSidebar()},t}return Object(o.__extends)(t,e),t.prototype.componentDidMount=function(){ep&&ep.add(this.stickyElement),this.setState({offsetTop:this.getScrollYOffset(this.context)})},t.prototype.componentWillUnmount=function(){ep&&ep.remove(this.stickyElement)},t.prototype.getScrollYOffset=function(e){return(void 0!==this.props.scrollYOffset?be.normalizeScrollYOffset(this.props.scrollYOffset)():e.scrollYOffset())+"px"},t.prototype.render=function(){var e=this,t=this.props.menu.sideBarOpened,n=this.state.offsetTop;return i.createElement(i.Fragment,null,i.createElement(tp,{open:t,className:this.props.className,style:{top:n,height:"calc(100vh - "+n+")"},ref:function(t){e.stickyElement=t}},this.props.children),i.createElement(np,{onClick:this.toggleNavMenu},i.createElement(Df,{open:t})))},t.contextType=Ue,t=Object(o.__decorate)([tl],t)}(i.Component),op=je.div(qf||(qf=Object(o.__makeTemplateObject)(["\n ",";\n"],["\n ",";\n"])),(function(e){var t=e.theme;return"\n font-family: "+t.typography.fontFamily+";\n font-size: "+t.typography.fontSize+";\n font-weight: "+t.typography.fontWeightRegular+";\n line-height: "+t.typography.lineHeight+";\n color: "+t.colors.text.primary+";\n display: flex;\n position: relative;\n text-align: left;\n\n -webkit-font-smoothing: "+t.typography.smoothing+";\n font-smoothing: "+t.typography.smoothing+";\n "+(t.typography.optimizeSpeed?"text-rendering: optimizeSpeed !important":"")+";\n\n tap-highlight-color: rgba(0, 0, 0, 0);\n text-size-adjust: 100%;\n\n * {\n box-sizing: border-box;\n -webkit-tap-highlight-color: rgba(255, 255, 255, 0);\n }\n"})),ip=je.div(Vf||(Vf=Object(o.__makeTemplateObject)(["\n z-index: 1;\n position: relative;\n overflow: hidden;\n width: calc(100% - ",");\n ",";\n\n contain: layout;\n"],["\n z-index: 1;\n position: relative;\n overflow: hidden;\n width: calc(100% - ",");\n ",";\n\n contain: layout;\n"])),(function(e){return e.theme.sidebar.width}),Te("small",!0)(Hf||(Hf=Object(o.__makeTemplateObject)(["\n width: 100%;\n "],["\n width: 100%;\n "])))),ap=je.div(Qf||(Qf=Object(o.__makeTemplateObject)(["\n background: ",";\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n width: ",";\n ",";\n"],["\n background: ",";\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n width: ",";\n ",";\n"])),(function(e){return e.theme.rightPanel.backgroundColor}),(function(e){var t=e.theme;if(t.rightPanel.width.endsWith("%")){var n=parseInt(t.rightPanel.width,10);return"calc((100% - "+t.sidebar.width+") * "+n/100+")"}return t.rightPanel.width}),Te("medium",!0)(Yf||(Yf=Object(o.__makeTemplateObject)(["\n display: none;\n "],["\n display: none;\n "])))),sp=je.div(Gf||(Gf=Object(o.__makeTemplateObject)(["\n padding: 5px 0;\n"],["\n padding: 5px 0;\n"]))),lp=je.input.attrs((function(){return{className:"search-input"}}))(Xf||(Xf=Object(o.__makeTemplateObject)(["\n width: calc(100% - ","px);\n box-sizing: border-box;\n margin: 0 ","px;\n padding: 5px ","px 5px\n ","px;\n border: 0;\n border-bottom: 1px solid\n ",";\n font-family: ",";\n font-weight: bold;\n font-size: 13px;\n color: ",";\n background-color: transparent;\n outline: none;\n"],["\n width: calc(100% - ","px);\n box-sizing: border-box;\n margin: 0 ","px;\n padding: 5px ","px 5px\n ","px;\n border: 0;\n border-bottom: 1px solid\n ",";\n font-family: ",";\n font-weight: bold;\n font-size: 13px;\n color: ",";\n background-color: transparent;\n outline: none;\n"])),(function(e){return 8*e.theme.spacing.unit}),(function(e){return 4*e.theme.spacing.unit}),(function(e){return 2*e.theme.spacing.unit}),(function(e){return 4*e.theme.spacing.unit}),(function(e){var t=e.theme;return(Y(t.sidebar.backgroundColor)>.5?q:X)(.1,t.sidebar.backgroundColor)}),(function(e){return e.theme.typography.fontFamily}),(function(e){return e.theme.sidebar.textColor})),cp=je((function(e){return i.createElement("svg",{className:e.className,version:"1.1",viewBox:"0 0 1000 1000",x:"0px",xmlns:"http://www.w3.org/2000/svg",y:"0px"},i.createElement("path",{d:"M968.2,849.4L667.3,549c83.9-136.5,66.7-317.4-51.7-435.6C477.1-25,252.5-25,113.9,113.4c-138.5,138.3-138.5,362.6,0,501C219.2,730.1,413.2,743,547.6,666.5l301.9,301.4c43.6,43.6,76.9,14.9,104.2-12.4C981,928.3,1011.8,893,968.2,849.4z M524.5,522c-88.9,88.7-233,88.7-321.8,0c-88.9-88.7-88.9-232.6,0-321.3c88.9-88.7,233-88.7,321.8,0C613.4,289.4,613.4,433.3,524.5,522z"}))})).attrs({className:"search-icon"})(Kf||(Kf=Object(o.__makeTemplateObject)(["\n position: absolute;\n left: ","px;\n height: 1.8em;\n width: 0.9em;\n\n path {\n fill: ",";\n }\n"],["\n position: absolute;\n left: ","px;\n height: 1.8em;\n width: 0.9em;\n\n path {\n fill: ",";\n }\n"])),(function(e){return 4*e.theme.spacing.unit}),(function(e){return e.theme.sidebar.textColor})),up=je.div(Jf||(Jf=Object(o.__makeTemplateObject)(["\n padding: ","px 0;\n background-color: ","};\n color: ",";\n min-height: 150px;\n max-height: 250px;\n border-top: ","};\n border-bottom: ","};\n margin-top: 10px;\n line-height: 1.4;\n font-size: 0.9em;\n\n "," {\n padding-top: 6px;\n padding-bottom: 6px;\n\n &:hover,\n &.active {\n background-color: ",";\n }\n\n > svg {\n display: none;\n }\n }\n"],["\n padding: ","px 0;\n background-color: ","};\n color: ",";\n min-height: 150px;\n max-height: 250px;\n border-top: ","};\n border-bottom: ","};\n margin-top: 10px;\n line-height: 1.4;\n font-size: 0.9em;\n\n "," {\n padding-top: 6px;\n padding-bottom: 6px;\n\n &:hover,\n &.active {\n background-color: ",";\n }\n\n > svg {\n display: none;\n }\n }\n"])),(function(e){return e.theme.spacing.unit}),(function(e){var t=e.theme;return q(.05,t.sidebar.backgroundColor)}),(function(e){return e.theme.sidebar.textColor}),(function(e){var t=e.theme;return q(.1,t.sidebar.backgroundColor)}),(function(e){var t=e.theme;return q(.1,t.sidebar.backgroundColor)}),tu,(function(e){var t=e.theme;return q(.1,t.sidebar.backgroundColor)})),fp=je.i(Zf||(Zf=Object(o.__makeTemplateObject)(["\n position: absolute;\n display: inline-block;\n width: ","px;\n text-align: center;\n right: ","px;\n line-height: 2em;\n vertical-align: middle;\n margin-right: 2px;\n cursor: pointer;\n font-style: normal;\n color: '#666';\n"],["\n position: absolute;\n display: inline-block;\n width: ","px;\n text-align: center;\n right: ","px;\n line-height: 2em;\n vertical-align: middle;\n margin-right: 2px;\n cursor: pointer;\n font-style: normal;\n color: '#666';\n"])),(function(e){return 2*e.theme.spacing.unit}),(function(e){return 4*e.theme.spacing.unit})),pp=function(e){function t(t){var n=e.call(this,t)||this;return n.activeItemRef=null,n.clear=function(){n.setState({results:[],term:"",activeItemIdx:-1}),n.props.marker.unmark()},n.handleKeyDown=function(e){if(27===e.keyCode&&n.clear(),40===e.keyCode&&(n.setState({activeItemIdx:Math.min(n.state.activeItemIdx+1,n.state.results.length-1)}),e.preventDefault()),38===e.keyCode&&(n.setState({activeItemIdx:Math.max(0,n.state.activeItemIdx-1)}),e.preventDefault()),13===e.keyCode){var t=n.state.results[n.state.activeItemIdx];if(t){var r=n.props.getItemById(t.meta);r&&n.props.onActivate(r)}}},n.search=function(e){var t=e.target.value;t.length<3?n.clearResults(t):n.setState({term:t},(function(){return n.searchCallback(n.state.term)}))},n.state={results:[],term:"",activeItemIdx:-1},n}return Object(o.__extends)(t,e),t.prototype.clearResults=function(e){this.setState({results:[],term:e}),this.props.marker.unmark()},t.prototype.setResults=function(e,t){this.setState({results:e}),this.props.marker.mark(t)},t.prototype.searchCallback=function(e){var t=this;this.props.search.search(e).then((function(n){t.setResults(n,e)}))},t.prototype.render=function(){var e=this,t=this.state.activeItemIdx,n=this.state.results.map((function(t){return{item:e.props.getItemById(t.meta),score:t.score}}));return n.sort((function(e,t){return t.score-e.score})),i.createElement(sp,{role:"search"},this.state.term&&i.createElement(fp,{onClick:this.clear},"×"),i.createElement(cp,null),i.createElement(lp,{value:this.state.term,onKeyDown:this.handleKeyDown,placeholder:"Search...",type:"text",onChange:this.search}),n.length>0&&i.createElement(Ji,{options:{wheelPropagation:!1}},i.createElement(up,{"data-role":"search:results"},n.map((function(n,r){return i.createElement(Rf,{item:Object.create(n.item,{active:{value:r===t}}),onActivate:e.props.onActivate,withoutChildren:!0,key:n.item.id,"data-role":"search:result"})})))))},Object(o.__decorate)([Ye.bind,Object(Ye.debounce)(400)],t.prototype,"searchCallback",null),t}(i.PureComponent),dp=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.componentDidMount=function(){this.props.store.onDidMount()},t.prototype.componentWillUnmount=function(){this.props.store.dispose()},t.prototype.render=function(){var e=this.props.store,t=e.spec,n=e.menu,r=e.options,o=e.search,a=e.marker,s=this.props.store;return i.createElement(Se,{theme:r.theme},i.createElement(Gn,{value:this.props.store},i.createElement(Be,{value:r},i.createElement(op,{className:"redoc-wrap"},i.createElement(rp,{menu:n,className:"menu-content"},i.createElement(Sc,{info:t.info}),!r.disableSearch&&i.createElement(pp,{search:o,marker:a,getItemById:n.getItemById,onActivate:n.activateAndScroll})||null,i.createElement(Mf,{menu:n})),i.createElement(ip,{className:"api-content"},i.createElement(_c,{store:s}),i.createElement(jf,{items:n.items})),i.createElement(ap,null)))))},t.propTypes={store:c.instanceOf(mc).isRequired},t}(i.Component),hp=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props,t=e.spec,n=e.specUrl,r=e.options,o=void 0===r?{}:r,a=e.onLoaded,s=void 0!==o.hideLoading,l=new be(o);return i.createElement(Le,null,i.createElement(Kn,{spec:t,specUrl:n,options:o,onLoaded:a},(function(e){var t=e.loading,n=e.store;return t?s?null:i.createElement(ze,{color:l.theme.colors.primary.main}):i.createElement(dp,{store:n})})))},t.propTypes={spec:function(e,t,n){return e.spec||e.specUrl?null:new Error("One of props 'spec' or 'specUrl' was not specified in '"+n+"'.")},specUrl:function(e,t,n){return e.spec||e.specUrl?null:new Error("One of props 'spec' or 'specUrl' was not specified in '"+n+"'.")},options:c.any,onLoaded:c.any},t}(i.PureComponent);Object(l.h)({useProxies:"ifavailable"});var mp="2.0.0-rc.47",gp="7d4eba52";function vp(e){var t=function(e){for(var t={},n=e.attributes,r=0;r tag is not found on the page');var a,l;"string"==typeof e?a=e:"object"==typeof e&&(l=e),Object(s.render)(i.createElement(hp,{spec:l,onLoaded:r,specUrl:a,options:Object(o.__assign)(Object(o.__assign)({},t),vp(n))},["Loading..."]),n)}function bp(e,t,n){void 0===t&&(t=re("redoc")),Et();var r=mc.fromJS(e);St(),setTimeout((function(){Et(),Object(s.hydrate)(i.createElement(dp,{store:r}),t,n),St()}),0)}!function(){var e=re("redoc");if(e){var t=e.getAttribute("spec-url");t&&yp(t,{},e)}}()}])})); +function vi(e){return getComputedStyle(e)}function yi(e,t){for(var n in t){var r=t[n];"number"==typeof r&&(r+="px"),e.style[n]=r}return e}function bi(e){var t=document.createElement("div");return t.className=e,t}var xi="undefined"!=typeof Element&&(Element.prototype.matches||Element.prototype.webkitMatchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector);function wi(e,t){if(!xi)throw new Error("No element matching method supported");return xi.call(e,t)}function _i(e){e.remove?e.remove():e.parentNode&&e.parentNode.removeChild(e)}function ki(e,t){return Array.prototype.filter.call(e.children,(function(e){return wi(e,t)}))}var Oi="ps",Ei="ps__rtl",Si={thumb:function(e){return"ps__thumb-"+e},rail:function(e){return"ps__rail-"+e},consuming:"ps__child--consume"},Ti={focus:"ps--focus",clicking:"ps--clicking",active:function(e){return"ps--active-"+e},scrolling:function(e){return"ps--scrolling-"+e}},ji={x:null,y:null};function Ai(e,t){var n=e.element.classList,r=Ti.scrolling(t);n.contains(r)?clearTimeout(ji[t]):n.add(r)}function Ci(e,t){ji[t]=setTimeout((function(){return e.isAlive&&e.element.classList.remove(Ti.scrolling(t))}),e.settings.scrollingThreshold)}var Ii=function(e){this.element=e,this.handlers={}},Pi={isEmpty:{configurable:!0}};Ii.prototype.bind=function(e,t){void 0===this.handlers[e]&&(this.handlers[e]=[]),this.handlers[e].push(t),this.element.addEventListener(e,t,!1)},Ii.prototype.unbind=function(e,t){var n=this;this.handlers[e]=this.handlers[e].filter((function(r){return!(!t||r===t)||(n.element.removeEventListener(e,r,!1),!1)}))},Ii.prototype.unbindAll=function(){for(var e in this.handlers)this.unbind(e)},Pi.isEmpty.get=function(){var e=this;return Object.keys(this.handlers).every((function(t){return 0===e.handlers[t].length}))},Object.defineProperties(Ii.prototype,Pi);var Ri=function(){this.eventElements=[]};function Ni(e){if("function"==typeof window.CustomEvent)return new CustomEvent(e);var t=document.createEvent("CustomEvent");return t.initCustomEvent(e,!1,!1,void 0),t}function Li(e,t,n,r,o){var i;if(void 0===r&&(r=!0),void 0===o&&(o=!1),"top"===t)i=["contentHeight","containerHeight","scrollTop","y","up","down"];else{if("left"!==t)throw new Error("A proper axis should be provided");i=["contentWidth","containerWidth","scrollLeft","x","left","right"]}!function(e,t,n,r,o){var i=n[0],a=n[1],s=n[2],l=n[3],c=n[4],u=n[5];void 0===r&&(r=!0);void 0===o&&(o=!1);var f=e.element;e.reach[l]=null,f[s]<1&&(e.reach[l]="start");f[s]>e[i]-e[a]-1&&(e.reach[l]="end");t&&(f.dispatchEvent(Ni("ps-scroll-"+l)),t<0?f.dispatchEvent(Ni("ps-scroll-"+c)):t>0&&f.dispatchEvent(Ni("ps-scroll-"+u)),r&&function(e,t){Ai(e,t),Ci(e,t)}(e,l));e.reach[l]&&(t||o)&&f.dispatchEvent(Ni("ps-"+l+"-reach-"+e.reach[l]))}(e,n,i,r,o)}function Mi(e){return parseInt(e,10)||0}Ri.prototype.eventElement=function(e){var t=this.eventElements.filter((function(t){return t.element===e}))[0];return t||(t=new Ii(e),this.eventElements.push(t)),t},Ri.prototype.bind=function(e,t,n){this.eventElement(e).bind(t,n)},Ri.prototype.unbind=function(e,t,n){var r=this.eventElement(e);r.unbind(t,n),r.isEmpty&&this.eventElements.splice(this.eventElements.indexOf(r),1)},Ri.prototype.unbindAll=function(){this.eventElements.forEach((function(e){return e.unbindAll()})),this.eventElements=[]},Ri.prototype.once=function(e,t,n){var r=this.eventElement(e),o=function(e){r.unbind(t,o),n(e)};r.bind(t,o)};var Di={isWebKit:"undefined"!=typeof document&&"WebkitAppearance"in document.documentElement.style,supportsTouch:"undefined"!=typeof window&&("ontouchstart"in window||"maxTouchPoints"in window.navigator&&window.navigator.maxTouchPoints>0||window.DocumentTouch&&document instanceof window.DocumentTouch),supportsIePointer:"undefined"!=typeof navigator&&navigator.msMaxTouchPoints,isChrome:"undefined"!=typeof navigator&&/Chrome/i.test(navigator&&navigator.userAgent)};function Fi(e){var t=e.element,n=Math.floor(t.scrollTop),r=t.getBoundingClientRect();e.containerWidth=Math.ceil(r.width),e.containerHeight=Math.ceil(r.height),e.contentWidth=t.scrollWidth,e.contentHeight=t.scrollHeight,t.contains(e.scrollbarXRail)||(ki(t,Si.rail("x")).forEach((function(e){return _i(e)})),t.appendChild(e.scrollbarXRail)),t.contains(e.scrollbarYRail)||(ki(t,Si.rail("y")).forEach((function(e){return _i(e)})),t.appendChild(e.scrollbarYRail)),!e.settings.suppressScrollX&&e.containerWidth+e.settings.scrollXMarginOffset=e.railXWidth-e.scrollbarXWidth&&(e.scrollbarXLeft=e.railXWidth-e.scrollbarXWidth),e.scrollbarYTop>=e.railYHeight-e.scrollbarYHeight&&(e.scrollbarYTop=e.railYHeight-e.scrollbarYHeight),function(e,t){var n={width:t.railXWidth},r=Math.floor(e.scrollTop);t.isRtl?n.left=t.negativeScrollAdjustment+e.scrollLeft+t.containerWidth-t.contentWidth:n.left=e.scrollLeft;t.isScrollbarXUsingBottom?n.bottom=t.scrollbarXBottom-r:n.top=t.scrollbarXTop+r;yi(t.scrollbarXRail,n);var o={top:r,height:t.railYHeight};t.isScrollbarYUsingRight?t.isRtl?o.right=t.contentWidth-(t.negativeScrollAdjustment+e.scrollLeft)-t.scrollbarYRight-t.scrollbarYOuterWidth-9:o.right=t.scrollbarYRight-e.scrollLeft:t.isRtl?o.left=t.negativeScrollAdjustment+e.scrollLeft+2*t.containerWidth-t.contentWidth-t.scrollbarYLeft-t.scrollbarYOuterWidth:o.left=t.scrollbarYLeft+e.scrollLeft;yi(t.scrollbarYRail,o),yi(t.scrollbarX,{left:t.scrollbarXLeft,width:t.scrollbarXWidth-t.railBorderXWidth}),yi(t.scrollbarY,{top:t.scrollbarYTop,height:t.scrollbarYHeight-t.railBorderYWidth})}(t,e),e.scrollbarXActive?t.classList.add(Ti.active("x")):(t.classList.remove(Ti.active("x")),e.scrollbarXWidth=0,e.scrollbarXLeft=0,t.scrollLeft=!0===e.isRtl?e.contentWidth:0),e.scrollbarYActive?t.classList.add(Ti.active("y")):(t.classList.remove(Ti.active("y")),e.scrollbarYHeight=0,e.scrollbarYTop=0,t.scrollTop=0)}function zi(e,t){return e.settings.minScrollbarLength&&(t=Math.max(t,e.settings.minScrollbarLength)),e.settings.maxScrollbarLength&&(t=Math.min(t,e.settings.maxScrollbarLength)),t}function Ui(e,t){var n=t[0],r=t[1],o=t[2],i=t[3],a=t[4],s=t[5],l=t[6],c=t[7],u=t[8],f=e.element,p=null,d=null,h=null;function m(t){t.touches&&t.touches[0]&&(t[o]=t.touches[0].pageY),f[l]=p+h*(t[o]-d),Ai(e,c),Fi(e),t.stopPropagation(),t.preventDefault()}function g(){Ci(e,c),e[u].classList.remove(Ti.clicking),e.event.unbind(e.ownerDocument,"mousemove",m)}function v(t,a){p=f[l],a&&t.touches&&(t[o]=t.touches[0].pageY),d=t[o],h=(e[r]-e[n])/(e[i]-e[s]),a?e.event.bind(e.ownerDocument,"touchmove",m):(e.event.bind(e.ownerDocument,"mousemove",m),e.event.once(e.ownerDocument,"mouseup",g),t.preventDefault()),e[u].classList.add(Ti.clicking),t.stopPropagation()}e.event.bind(e[a],"mousedown",(function(e){v(e)})),e.event.bind(e[a],"touchstart",(function(e){v(e,!0)}))}var Bi={"click-rail":function(e){e.element,e.event.bind(e.scrollbarY,"mousedown",(function(e){return e.stopPropagation()})),e.event.bind(e.scrollbarYRail,"mousedown",(function(t){var n=t.pageY-window.pageYOffset-e.scrollbarYRail.getBoundingClientRect().top>e.scrollbarYTop?1:-1;e.element.scrollTop+=n*e.containerHeight,Fi(e),t.stopPropagation()})),e.event.bind(e.scrollbarX,"mousedown",(function(e){return e.stopPropagation()})),e.event.bind(e.scrollbarXRail,"mousedown",(function(t){var n=t.pageX-window.pageXOffset-e.scrollbarXRail.getBoundingClientRect().left>e.scrollbarXLeft?1:-1;e.element.scrollLeft+=n*e.containerWidth,Fi(e),t.stopPropagation()}))},"drag-thumb":function(e){Ui(e,["containerWidth","contentWidth","pageX","railXWidth","scrollbarX","scrollbarXWidth","scrollLeft","x","scrollbarXRail"]),Ui(e,["containerHeight","contentHeight","pageY","railYHeight","scrollbarY","scrollbarYHeight","scrollTop","y","scrollbarYRail"])},keyboard:function(e){var t=e.element;e.event.bind(e.ownerDocument,"keydown",(function(n){if(!(n.isDefaultPrevented&&n.isDefaultPrevented()||n.defaultPrevented)&&(wi(t,":hover")||wi(e.scrollbarX,":focus")||wi(e.scrollbarY,":focus"))){var r,o=document.activeElement?document.activeElement:e.ownerDocument.activeElement;if(o){if("IFRAME"===o.tagName)o=o.contentDocument.activeElement;else for(;o.shadowRoot;)o=o.shadowRoot.activeElement;if(wi(r=o,"input,[contenteditable]")||wi(r,"select,[contenteditable]")||wi(r,"textarea,[contenteditable]")||wi(r,"button,[contenteditable]"))return}var i=0,a=0;switch(n.which){case 37:i=n.metaKey?-e.contentWidth:n.altKey?-e.containerWidth:-30;break;case 38:a=n.metaKey?e.contentHeight:n.altKey?e.containerHeight:30;break;case 39:i=n.metaKey?e.contentWidth:n.altKey?e.containerWidth:30;break;case 40:a=n.metaKey?-e.contentHeight:n.altKey?-e.containerHeight:-30;break;case 32:a=n.shiftKey?e.containerHeight:-e.containerHeight;break;case 33:a=e.containerHeight;break;case 34:a=-e.containerHeight;break;case 36:a=e.contentHeight;break;case 35:a=-e.contentHeight;break;default:return}e.settings.suppressScrollX&&0!==i||e.settings.suppressScrollY&&0!==a||(t.scrollTop-=a,t.scrollLeft+=i,Fi(e),function(n,r){var o=Math.floor(t.scrollTop);if(0===n){if(!e.scrollbarYActive)return!1;if(0===o&&r>0||o>=e.contentHeight-e.containerHeight&&r<0)return!e.settings.wheelPropagation}var i=t.scrollLeft;if(0===r){if(!e.scrollbarXActive)return!1;if(0===i&&n<0||i>=e.contentWidth-e.containerWidth&&n>0)return!e.settings.wheelPropagation}return!0}(i,a)&&n.preventDefault())}}))},wheel:function(e){var t=e.element;function n(n){var r=function(e){var t=e.deltaX,n=-1*e.deltaY;return void 0!==t&&void 0!==n||(t=-1*e.wheelDeltaX/6,n=e.wheelDeltaY/6),e.deltaMode&&1===e.deltaMode&&(t*=10,n*=10),t!=t&&n!=n&&(t=0,n=e.wheelDelta),e.shiftKey?[-n,-t]:[t,n]}(n),o=r[0],i=r[1];if(!function(e,n,r){if(!Di.isWebKit&&t.querySelector("select:focus"))return!0;if(!t.contains(e))return!1;for(var o=e;o&&o!==t;){if(o.classList.contains(Si.consuming))return!0;var i=vi(o);if(r&&i.overflowY.match(/(scroll|auto)/)){var a=o.scrollHeight-o.clientHeight;if(a>0&&(o.scrollTop>0&&r<0||o.scrollTop0))return!0}if(n&&i.overflowX.match(/(scroll|auto)/)){var s=o.scrollWidth-o.clientWidth;if(s>0&&(o.scrollLeft>0&&n<0||o.scrollLeft0))return!0}o=o.parentNode}return!1}(n.target,o,i)){var a=!1;e.settings.useBothWheelAxes?e.scrollbarYActive&&!e.scrollbarXActive?(i?t.scrollTop-=i*e.settings.wheelSpeed:t.scrollTop+=o*e.settings.wheelSpeed,a=!0):e.scrollbarXActive&&!e.scrollbarYActive&&(o?t.scrollLeft+=o*e.settings.wheelSpeed:t.scrollLeft-=i*e.settings.wheelSpeed,a=!0):(t.scrollTop-=i*e.settings.wheelSpeed,t.scrollLeft+=o*e.settings.wheelSpeed),Fi(e),(a=a||function(n,r){var o=Math.floor(t.scrollTop),i=0===t.scrollTop,a=o+t.offsetHeight===t.scrollHeight,s=0===t.scrollLeft,l=t.scrollLeft+t.offsetWidth===t.scrollWidth;return!(Math.abs(r)>Math.abs(n)?i||a:s||l)||!e.settings.wheelPropagation}(o,i))&&!n.ctrlKey&&(n.stopPropagation(),n.preventDefault())}}void 0!==window.onwheel?e.event.bind(t,"wheel",n):void 0!==window.onmousewheel&&e.event.bind(t,"mousewheel",n)},touch:function(e){if(Di.supportsTouch||Di.supportsIePointer){var t=e.element,n={},r=0,o={},i=null;Di.supportsTouch?(e.event.bind(t,"touchstart",c),e.event.bind(t,"touchmove",u),e.event.bind(t,"touchend",f)):Di.supportsIePointer&&(window.PointerEvent?(e.event.bind(t,"pointerdown",c),e.event.bind(t,"pointermove",u),e.event.bind(t,"pointerup",f)):window.MSPointerEvent&&(e.event.bind(t,"MSPointerDown",c),e.event.bind(t,"MSPointerMove",u),e.event.bind(t,"MSPointerUp",f)))}function a(n,r){t.scrollTop-=r,t.scrollLeft-=n,Fi(e)}function s(e){return e.targetTouches?e.targetTouches[0]:e}function l(e){return(!e.pointerType||"pen"!==e.pointerType||0!==e.buttons)&&(!(!e.targetTouches||1!==e.targetTouches.length)||!(!e.pointerType||"mouse"===e.pointerType||e.pointerType===e.MSPOINTER_TYPE_MOUSE))}function c(e){if(l(e)){var t=s(e);n.pageX=t.pageX,n.pageY=t.pageY,r=(new Date).getTime(),null!==i&&clearInterval(i)}}function u(i){if(l(i)){var c=s(i),u={pageX:c.pageX,pageY:c.pageY},f=u.pageX-n.pageX,p=u.pageY-n.pageY;if(function(e,n,r){if(!t.contains(e))return!1;for(var o=e;o&&o!==t;){if(o.classList.contains(Si.consuming))return!0;var i=vi(o);if(r&&i.overflowY.match(/(scroll|auto)/)){var a=o.scrollHeight-o.clientHeight;if(a>0&&(o.scrollTop>0&&r<0||o.scrollTop0))return!0}if(n&&i.overflowX.match(/(scroll|auto)/)){var s=o.scrollWidth-o.clientWidth;if(s>0&&(o.scrollLeft>0&&n<0||o.scrollLeft0))return!0}o=o.parentNode}return!1}(i.target,f,p))return;a(f,p),n=u;var d=(new Date).getTime(),h=d-r;h>0&&(o.x=f/h,o.y=p/h,r=d),function(n,r){var o=Math.floor(t.scrollTop),i=t.scrollLeft,a=Math.abs(n),s=Math.abs(r);if(s>a){if(r<0&&o===e.contentHeight-e.containerHeight||r>0&&0===o)return 0===window.scrollY&&r>0&&Di.isChrome}else if(a>s&&(n<0&&i===e.contentWidth-e.containerWidth||n>0&&0===i))return!0;return!0}(f,p)&&i.preventDefault()}}function f(){e.settings.swipeEasing&&(clearInterval(i),i=setInterval((function(){e.isInitialized?clearInterval(i):o.x||o.y?Math.abs(o.x)<.01&&Math.abs(o.y)<.01?clearInterval(i):(a(30*o.x,30*o.y),o.x*=.8,o.y*=.8):clearInterval(i)}),10))}}},$i=function(e,t){var n=this;if(void 0===t&&(t={}),"string"==typeof e&&(e=document.querySelector(e)),!e||!e.nodeName)throw new Error("no element is specified to initialize PerfectScrollbar");for(var r in this.element=e,e.classList.add(Oi),this.settings={handlers:["click-rail","drag-thumb","keyboard","wheel","touch"],maxScrollbarLength:null,minScrollbarLength:null,scrollingThreshold:1e3,scrollXMarginOffset:0,scrollYMarginOffset:0,suppressScrollX:!1,suppressScrollY:!1,swipeEasing:!0,useBothWheelAxes:!1,wheelPropagation:!0,wheelSpeed:1},t)this.settings[r]=t[r];this.containerWidth=null,this.containerHeight=null,this.contentWidth=null,this.contentHeight=null;var o,i,a=function(){return e.classList.add(Ti.focus)},s=function(){return e.classList.remove(Ti.focus)};this.isRtl="rtl"===vi(e).direction,!0===this.isRtl&&e.classList.add(Ei),this.isNegativeScroll=(i=e.scrollLeft,e.scrollLeft=-1,o=e.scrollLeft<0,e.scrollLeft=i,o),this.negativeScrollAdjustment=this.isNegativeScroll?e.scrollWidth-e.clientWidth:0,this.event=new Ri,this.ownerDocument=e.ownerDocument||document,this.scrollbarXRail=bi(Si.rail("x")),e.appendChild(this.scrollbarXRail),this.scrollbarX=bi(Si.thumb("x")),this.scrollbarXRail.appendChild(this.scrollbarX),this.scrollbarX.setAttribute("tabindex",0),this.event.bind(this.scrollbarX,"focus",a),this.event.bind(this.scrollbarX,"blur",s),this.scrollbarXActive=null,this.scrollbarXWidth=null,this.scrollbarXLeft=null;var l=vi(this.scrollbarXRail);this.scrollbarXBottom=parseInt(l.bottom,10),isNaN(this.scrollbarXBottom)?(this.isScrollbarXUsingBottom=!1,this.scrollbarXTop=Mi(l.top)):this.isScrollbarXUsingBottom=!0,this.railBorderXWidth=Mi(l.borderLeftWidth)+Mi(l.borderRightWidth),yi(this.scrollbarXRail,{display:"block"}),this.railXMarginWidth=Mi(l.marginLeft)+Mi(l.marginRight),yi(this.scrollbarXRail,{display:""}),this.railXWidth=null,this.railXRatio=null,this.scrollbarYRail=bi(Si.rail("y")),e.appendChild(this.scrollbarYRail),this.scrollbarY=bi(Si.thumb("y")),this.scrollbarYRail.appendChild(this.scrollbarY),this.scrollbarY.setAttribute("tabindex",0),this.event.bind(this.scrollbarY,"focus",a),this.event.bind(this.scrollbarY,"blur",s),this.scrollbarYActive=null,this.scrollbarYHeight=null,this.scrollbarYTop=null;var c=vi(this.scrollbarYRail);this.scrollbarYRight=parseInt(c.right,10),isNaN(this.scrollbarYRight)?(this.isScrollbarYUsingRight=!1,this.scrollbarYLeft=Mi(c.left)):this.isScrollbarYUsingRight=!0,this.scrollbarYOuterWidth=this.isRtl?function(e){var t=vi(e);return Mi(t.width)+Mi(t.paddingLeft)+Mi(t.paddingRight)+Mi(t.borderLeftWidth)+Mi(t.borderRightWidth)}(this.scrollbarY):null,this.railBorderYWidth=Mi(c.borderTopWidth)+Mi(c.borderBottomWidth),yi(this.scrollbarYRail,{display:"block"}),this.railYMarginHeight=Mi(c.marginTop)+Mi(c.marginBottom),yi(this.scrollbarYRail,{display:""}),this.railYHeight=null,this.railYRatio=null,this.reach={x:e.scrollLeft<=0?"start":e.scrollLeft>=this.contentWidth-this.containerWidth?"end":null,y:e.scrollTop<=0?"start":e.scrollTop>=this.contentHeight-this.containerHeight?"end":null},this.isAlive=!0,this.settings.handlers.forEach((function(e){return Bi[e](n)})),this.lastScrollTop=Math.floor(e.scrollTop),this.lastScrollLeft=e.scrollLeft,this.event.bind(this.element,"scroll",(function(e){return n.onScroll(e)})),Fi(this)};$i.prototype.update=function(){this.isAlive&&(this.negativeScrollAdjustment=this.isNegativeScroll?this.element.scrollWidth-this.element.clientWidth:0,yi(this.scrollbarXRail,{display:"block"}),yi(this.scrollbarYRail,{display:"block"}),this.railXMarginWidth=Mi(vi(this.scrollbarXRail).marginLeft)+Mi(vi(this.scrollbarXRail).marginRight),this.railYMarginHeight=Mi(vi(this.scrollbarYRail).marginTop)+Mi(vi(this.scrollbarYRail).marginBottom),yi(this.scrollbarXRail,{display:"none"}),yi(this.scrollbarYRail,{display:"none"}),Fi(this),Li(this,"top",0,!1,!0),Li(this,"left",0,!1,!0),yi(this.scrollbarXRail,{display:""}),yi(this.scrollbarYRail,{display:""}))},$i.prototype.onScroll=function(e){this.isAlive&&(Fi(this),Li(this,"top",this.element.scrollTop-this.lastScrollTop),Li(this,"left",this.element.scrollLeft-this.lastScrollLeft),this.lastScrollTop=Math.floor(this.element.scrollTop),this.lastScrollLeft=this.element.scrollLeft)},$i.prototype.destroy=function(){this.isAlive&&(this.event.unbindAll(),_i(this.scrollbarX),_i(this.scrollbarY),_i(this.scrollbarXRail),_i(this.scrollbarYRail),this.removePsClasses(),this.element=null,this.scrollbarX=null,this.scrollbarY=null,this.scrollbarXRail=null,this.scrollbarYRail=null,this.isAlive=!1)},$i.prototype.removePsClasses=function(){this.element.className=this.element.className.split(" ").filter((function(e){return!e.match(/^ps([-_].+|)$/)})).join(" ")};var Wi,qi,Hi=$i,Vi=n(102),Yi=n.n(Vi),Qi=Hi||r,Gi=Oe(Wi||(Wi=Object(o.__makeTemplateObject)(["",""],["",""])),Yi.a&&Yi.a.toString()),Xi=je.div(qi||(qi=Object(o.__makeTemplateObject)(["\n position: relative;\n"],["\n position: relative;\n"]))),Ki=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.handleRef=function(e){t._container=e},t}return Object(o.__extends)(t,e),t.prototype.componentDidMount=function(){var e=this._container.parentElement&&this._container.parentElement.scrollTop||0;this.inst=new Qi(this._container,this.props.options||{}),this._container.scrollTo&&this._container.scrollTo(0,e)},t.prototype.componentDidUpdate=function(){this.inst.update()},t.prototype.componentWillUnmount=function(){this.inst.destroy()},t.prototype.render=function(){var e=this.props,t=e.children,n=e.className,r=e.updateFn;return r&&r(this.componentDidUpdate.bind(this)),i.createElement(i.Fragment,null,i.createElement(Gi,null),i.createElement(Xi,{className:"scrollbar-container "+n,ref:this.handleRef},t))},t}(i.Component);function Ji(e){return i.createElement(Ue.Consumer,null,(function(t){return t.nativeScrollbars?i.createElement("div",{style:{overflow:"auto",overscrollBehavior:"contain",msOverflowStyle:"-ms-autohiding-scrollbar"}},e.children):i.createElement(Ki,Object(o.__assign)({},e),e.children)}))}var Zi=function(e,t,n){this.operations=[];var r=e.deref(n||{});e.exitRef(n);for(var i=0,a=Object.keys(r);i --\x3e"}("security-definitions");e.info.description=function(e,t,n){var r=new RegExp("(^|\\n)#\\s?"+t+"\\s*\\n","i"),o=new RegExp("((\\n|^)#\\s*"+t+"\\s*(\\n|$)(?:.|\\n)*?)(\\n#|$)","i");if(r.test(e))return e.replace(o,"$1\n\n"+n+"\n$4");var i=""===e||e.endsWith("\n\n")?"":e.endsWith("\n")?"\n":"\n\n";return""+e+i+"# "+t+"\n\n"+n}(t,"Authentication",n)}}},e.prototype.isRef=function(e){return!!e&&(void 0!==e.$ref&&null!==e.$ref)},e.prototype.resetVisited=function(){this._refCounter=new na},e.prototype.exitRef=function(e){this.isRef(e)&&this._refCounter.exit(e.$ref)},e.prototype.deref=function(e,t){if(void 0===t&&(t=!1),this.isRef(e)){var n=dt(e.$ref);if(n&&this.options.ignoreNamedSchemas.has(n))return{type:"object",title:n};var r=this.byRef(e.$ref),o=this._refCounter.visited(e.$ref);if(this._refCounter.visit(e.$ref),o&&!t)return Object.assign({},r,{"x-circular-ref":!0});if(this.isRef(r)){var i=this.deref(r);return this.exitRef(r),i}return r}return e},e.prototype.shalowDeref=function(e){return this.isRef(e)?this.byRef(e.$ref):e},e.prototype.mergeAllOf=function(e,t,n,r){var i=this;if(void 0===n&&(n=!1),void 0===r&&(r=new Set),t&&r.add(t),void 0===(e=this.hoistOneOfs(e)).allOf)return e;var a=Object(o.__assign)(Object(o.__assign)({},e),{allOf:void 0,parentRefs:[],title:e.title||dt(t)});void 0!==a.properties&&"object"==typeof a.properties&&(a.properties=Object(o.__assign)({},a.properties)),void 0!==a.items&&"object"==typeof a.items&&(a.items=Object(o.__assign)({},a.items));for(var s=0,l=e.allOf.map((function(e){var t;if(!(e&&e.$ref&&r.has(e.$ref))){var o=i.deref(e,n),s=e.$ref||void 0,l=i.mergeAllOf(o,s,n,r);return(t=a.parentRefs).push.apply(t,l.parentRefs||[]),{$ref:s,schema:l}}})).filter((function(e){return void 0!==e}));s-1}))&&(t["#/components/schemas/"+r]=[o["x-discriminator-value"]||r])}return t},e.prototype.exitParents=function(e){for(var t=0,n=e.parentRefs||[];t0?o.push.apply(o,e.getTagGroupsItems(t,void 0,r["x-tagGroups"],i,n)):o.push.apply(o,e.getTagsItems(t,i,void 0,void 0,n)),o},e.addMarkdownItems=function(e,t,n,r){var o=new Mt(r).extractHeadings(e||"");o.length&&t&&t.description&&(t.description=Mt.getTextBeforeHading(t.description,o[0].name));var i=function(e,t,n){return void 0===n&&(n=1),t.map((function(t){var r,o=new ia("section",t,e);return o.depth=n,t.items&&(o.items=i(o,t.items,n+1)),Mt.containsComponent(o.description||"","security-definitions")&&(r=o.id+"/",bt=r),o}))};return i(t,o,n)},e.getTagGroupsItems=function(t,n,r,o,i){for(var a=[],s=0,l=r;s=s.flatItems.length-1&&e);){if(e){var r=s.getElementAtOrFirstChild(n+1);if(s.scroll.isElementBellow(r))break}else{r=s.getElementAt(n);if(s.scroll.isElementAbove(r))break}n+=t}s.activate(s.flatItems[n],!0,!0)},this.updateOnHistory=function(e){var t;(void 0===e&&(e=s.history.currentId),e)&&((t=s.flatItems.find((function(t){return t.id===e})))?s.activateAndScroll(t,!1):(e.startsWith(bt)&&(t=s.flatItems.find((function(e){return bt.startsWith(e.id)})),s.activate(t)),s.scroll.scrollIntoViewBySelector("["+sa+'="'+e+'"]')))},this.getItemById=function(e){return s.flatItems.find((function(t){return t.id===e}))},Object(l.n)(this),this.items=e.contentItems,this.flatItems=(r=this.items||[],o="items",i=[],(a=function(e){for(var t=0,n=e;tthis.options.scrollYOffset()},e.prototype.isElementAbove=function(e){if(null!==e){var t=e.getBoundingClientRect().top;return(t>0?Math.floor(t):Math.ceil(t))<=this.options.scrollYOffset()}},e.prototype.subscribe=function(e){var t=this._emiter.addListener("scroll",e);return function(){return t.removeListener("scroll",e)}},e.prototype.scrollIntoView=function(e){null!==e&&(e.scrollIntoView(),this._scrollParent&&this._scrollParent.scrollBy&&this._scrollParent.scrollBy(0,1-this.options.scrollYOffset()))},e.prototype.scrollIntoViewBySelector=function(e){var t=re(e);this.scrollIntoView(t)},e.prototype.handleScroll=function(){var e=this.scrollY()-this._prevOffsetY>0;this._prevOffsetY=this.scrollY(),this._emiter.emit("scroll",e)},Object(o.__decorate)([Ye.bind,Ot(100)],e.prototype,"handleScroll",null),e}();var ua=function(){function e(){this.searchWorker=function(){var e;if(ne)try{e=n(323)}catch(t){e=n(149).default}else e=n(149).default;return new e}()}return e.prototype.indexItems=function(e){var t=this,n=function(e){e.forEach((function(e){"group"!==e.type&&t.add(e.name,e.description||"",e.id),n(e.items)}))};n(e),this.searchWorker.done()},e.prototype.add=function(e,t,n){this.searchWorker.add(e,t,n)},e.prototype.dispose=function(){this.searchWorker.terminate(),this.searchWorker.dispose()},e.prototype.search=function(e){return this.searchWorker.search(e)},e.prototype.toJS=function(){return Object(o.__awaiter)(this,void 0,void 0,(function(){return Object(o.__generator)(this,(function(e){return[2,this.searchWorker.toJS()]}))}))},e.prototype.load=function(e){this.searchWorker.load(e)},e.prototype.fromExternalJS=function(e,t){e&&t&&this.searchWorker.fromExternalJS(e,t)},e}();function fa(e){var t=e.Label,n=void 0===t?Po:t,r=e.Dropdown,a=void 0===r?Io:r;return 1===e.options.length?i.createElement(n,null,e.options[0].value):i.createElement(a,Object(o.__assign)({},e,{searchable:!1}))}var pa,da,ha=n(157),ma=ke(pa||(pa=Object(o.__makeTemplateObject)(["\n a {\n text-decoration: none;\n color: ",";\n\n &:visited {\n color: ",";\n }\n\n &:hover {\n color: ",";\n }\n }\n"],["\n a {\n text-decoration: none;\n color: ",";\n\n &:visited {\n color: ",";\n }\n\n &:hover {\n color: ",";\n }\n }\n"])),(function(e){return e.theme.typography.links.color}),(function(e){return e.theme.typography.links.visited}),(function(e){return e.theme.typography.links.hover})),ga=je(di)(da||(da=Object(o.__makeTemplateObject)(["\n\n font-family: ",";\n font-weight: ",";\n line-height: ",";\n\n p {\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n ","\n\n ","\n\n h1 {\n ",";\n color: ",";\n margin-top: 0;\n }\n\n h2 {\n ",";\n color: ",";\n }\n\n code {\n color: ",";\n background-color: ",";\n\n font-family: ",";\n border-radius: 2px;\n border: 1px solid rgba(38, 50, 56, 0.1);\n padding: 0 ","px;\n font-size: ",";\n font-weight: ",";\n\n word-break: break-word;\n }\n\n pre {\n font-family: ",";\n white-space:",";\n background-color: ",";\n color: white;\n padding: ","px;\n overflow-x: auto;\n line-height: normal;\n border-radius: 0px\n border: 1px solid rgba(38, 50, 56, 0.1);\n\n code {\n background-color: transparent;\n color: white;\n padding: 0;\n\n &:before,\n &:after {\n content: none;\n }\n }\n }\n\n blockquote {\n margin: 0;\n margin-bottom: 1em;\n padding: 0 15px;\n color: #777;\n border-left: 4px solid #ddd;\n }\n\n img {\n max-width: 100%;\n box-sizing: content-box;\n }\n\n ul,\n ol {\n padding-left: 2em;\n margin: 0;\n margin-bottom: 1em;\n\n ul, ol {\n margin-bottom: 0;\n margin-top: 0;\n }\n }\n\n table {\n display: block;\n width: 100%;\n overflow: auto;\n word-break: normal;\n word-break: keep-all;\n border-collapse: collapse;\n border-spacing: 0;\n margin-top: 1.5em;\n margin-bottom: 1.5em;\n }\n\n table tr {\n background-color: #fff;\n border-top: 1px solid #ccc;\n\n &:nth-child(2n) {\n background-color: ",";\n }\n }\n\n table th,\n table td {\n padding: 6px 13px;\n border: 1px solid #ddd;\n }\n\n table th {\n text-align: left;\n font-weight: bold;\n }\n\n ",";\n\n ","\n\n ",";\n"],["\n\n font-family: ",";\n font-weight: ",";\n line-height: ",";\n\n p {\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n ","\n\n ","\n\n h1 {\n ",";\n color: ",";\n margin-top: 0;\n }\n\n h2 {\n ",";\n color: ",";\n }\n\n code {\n color: ",";\n background-color: ",";\n\n font-family: ",";\n border-radius: 2px;\n border: 1px solid rgba(38, 50, 56, 0.1);\n padding: 0 ","px;\n font-size: ",";\n font-weight: ",";\n\n word-break: break-word;\n }\n\n pre {\n font-family: ",";\n white-space:",";\n background-color: ",";\n color: white;\n padding: ","px;\n overflow-x: auto;\n line-height: normal;\n border-radius: 0px\n border: 1px solid rgba(38, 50, 56, 0.1);\n\n code {\n background-color: transparent;\n color: white;\n padding: 0;\n\n &:before,\n &:after {\n content: none;\n }\n }\n }\n\n blockquote {\n margin: 0;\n margin-bottom: 1em;\n padding: 0 15px;\n color: #777;\n border-left: 4px solid #ddd;\n }\n\n img {\n max-width: 100%;\n box-sizing: content-box;\n }\n\n ul,\n ol {\n padding-left: 2em;\n margin: 0;\n margin-bottom: 1em;\n\n ul, ol {\n margin-bottom: 0;\n margin-top: 0;\n }\n }\n\n table {\n display: block;\n width: 100%;\n overflow: auto;\n word-break: normal;\n word-break: keep-all;\n border-collapse: collapse;\n border-spacing: 0;\n margin-top: 1.5em;\n margin-bottom: 1.5em;\n }\n\n table tr {\n background-color: #fff;\n border-top: 1px solid #ccc;\n\n &:nth-child(2n) {\n background-color: ",";\n }\n }\n\n table th,\n table td {\n padding: 6px 13px;\n border: 1px solid #ddd;\n }\n\n table th {\n text-align: left;\n font-weight: bold;\n }\n\n ",";\n\n ","\n\n ",";\n"])),(function(e){return e.theme.typography.fontFamily}),(function(e){return e.theme.typography.fontWeightRegular}),(function(e){return e.theme.typography.lineHeight}),(function(e){return e.compact&&"\n p:first-child {\n margin-top: 0;\n }\n p:last-child {\n margin-bottom: 0;\n }\n "}),(function(e){return e.inline&&" p {\n display: inline-block;\n }"}),$n(1),(function(e){return e.theme.colors.primary.main}),$n(2),(function(e){return e.theme.colors.text.primary}),(function(e){return e.theme.typography.code.color}),(function(e){return e.theme.typography.code.backgroundColor}),(function(e){return e.theme.typography.code.fontFamily}),(function(e){return e.theme.spacing.unit}),(function(e){return e.theme.typography.code.fontSize}),(function(e){return e.theme.typography.code.fontWeight}),(function(e){return e.theme.typography.code.fontFamily}),(function(e){return e.theme.typography.code.wrap?"pre-wrap":"pre"}),(function(e){return e.theme.codeBlock.backgroundColor}),(function(e){return 4*e.theme.spacing.unit}),(function(e){return e.theme.schema.nestedBackground}),Jn(".share-link"),ma,Ae("Markdown")),va=ga.withComponent("span");function ya(e){var t=e.inline?va:ga;return i.createElement($e,null,(function(n){return i.createElement(t,Object(o.__assign)({className:"redoc-markdown "+(e.className||""),dangerouslySetInnerHTML:{__html:(r=n.untrustedSpec,a=e.html,r?ha.sanitize(a):a)},"data-role":e["data-role"]},e));var r,a}))}var ba,xa,wa,_a,ka,Oa=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props,t=e.source,n=e.inline,r=e.compact,o=e.className,a=e["data-role"],s=new Mt;return i.createElement(ya,{html:s.renderMd(t),inline:n,compact:r,className:o,"data-role":a})},t}(i.Component),Ea=je.div(ba||(ba=Object(o.__makeTemplateObject)(["\n position: relative;\n"],["\n position: relative;\n"]))),Sa=je.div(xa||(xa=Object(o.__makeTemplateObject)(["\n position: absolute;\n min-width: 80px;\n max-width: 500px;\n background: #fff;\n bottom: 100%;\n left: 50%;\n margin-bottom: 10px;\n transform: translateX(-50%);\n\n border-radius: 4px;\n padding: 0.3em 0.6em;\n text-align: center;\n box-shadow: 0px 0px 5px 0px rgba(204, 204, 204, 1);\n"],["\n position: absolute;\n min-width: 80px;\n max-width: 500px;\n background: #fff;\n bottom: 100%;\n left: 50%;\n margin-bottom: 10px;\n transform: translateX(-50%);\n\n border-radius: 4px;\n padding: 0.3em 0.6em;\n text-align: center;\n box-shadow: 0px 0px 5px 0px rgba(204, 204, 204, 1);\n"]))),Ta=je.div(wa||(wa=Object(o.__makeTemplateObject)(["\n background: #fff;\n color: #000;\n display: inline;\n font-size: 0.85em;\n white-space: nowrap;\n"],["\n background: #fff;\n color: #000;\n display: inline;\n font-size: 0.85em;\n white-space: nowrap;\n"]))),ja=je.div(_a||(_a=Object(o.__makeTemplateObject)(["\n position: absolute;\n width: 0;\n height: 0;\n bottom: -5px;\n left: 50%;\n margin-left: -5px;\n border-left: solid transparent 5px;\n border-right: solid transparent 5px;\n border-top: solid #fff 5px;\n"],["\n position: absolute;\n width: 0;\n height: 0;\n bottom: -5px;\n left: 50%;\n margin-left: -5px;\n border-left: solid transparent 5px;\n border-right: solid transparent 5px;\n border-top: solid #fff 5px;\n"]))),Aa=je.div(ka||(ka=Object(o.__makeTemplateObject)(["\n position: absolute;\n width: 100%;\n height: 20px;\n bottom: -20px;\n"],["\n position: absolute;\n width: 100%;\n height: 20px;\n bottom: -20px;\n"]))),Ca=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props,t=e.open,n=e.title,r=e.children;return i.createElement(Ea,null,r,t&&i.createElement(Sa,null,i.createElement(Ta,null,n),i.createElement(ja,null),i.createElement(Aa,null)))},t}(i.Component),Ia="undefined"!=typeof document&&document.queryCommandSupported&&document.queryCommandSupported("copy"),Pa=function(){function e(){}return e.isSupported=function(){return Ia},e.selectElement=function(e){var t,n;document.body.createTextRange?((t=document.body.createTextRange()).moveToElementText(e),t.select()):document.createRange&&window.getSelection&&(n=window.getSelection(),(t=document.createRange()).selectNodeContents(e),n.removeAllRanges(),n.addRange(t))},e.deselect=function(){if(document.selection)document.selection.empty();else if(window.getSelection){var e=window.getSelection();e&&e.removeAllRanges()}},e.copySelected=function(){var e;try{e=document.execCommand("copy")}catch(t){e=!1}return e},e.copyElement=function(t){e.selectElement(t);var n=e.copySelected();return n&&e.deselect(),n},e.copyCustom=function(t){var n=document.createElement("textarea");n.style.position="fixed",n.style.top="0",n.style.left="0",n.style.width="2em",n.style.height="2em",n.style.padding="0",n.style.border="none",n.style.outline="none",n.style.boxShadow="none",n.style.background="transparent",n.value=t,document.body.appendChild(n),n.select();var r=e.copySelected();return document.body.removeChild(n),r},e}(),Ra=function(e){function t(t){var n=e.call(this,t)||this;return n.copy=function(){var e="string"==typeof n.props.data?n.props.data:JSON.stringify(n.props.data,null,2);Pa.copyCustom(e),n.showTooltip()},n.renderCopyButton=function(){return i.createElement("button",{onClick:n.copy},i.createElement(Ca,{title:Pa.isSupported()?"Copied":"Not supported in your browser",open:n.state.tooltipShown},"Copy"))},n.state={tooltipShown:!1},n}return Object(o.__extends)(t,e),t.prototype.render=function(){return this.props.children({renderCopyButton:this.renderCopyButton})},t.prototype.showTooltip=function(){var e=this;this.setState({tooltipShown:!0}),setTimeout((function(){e.setState({tooltipShown:!1})}),1500)},t}(i.PureComponent),Na=1;function La(e,t){Na=1;var n="";return n+='
    ',n+="",n+=Ua(e,t),n+="",n+="
    "}function Ma(e){return void 0!==e?e.toString().replace(/&/g,"&").replace(/"/g,""").replace(//g,">"):""}function Da(e){return JSON.stringify(e).slice(1,-1)}function Fa(e,t){return''+Ma(e)+""}function za(e){return''+e+""}function Ua(e,t){var n=typeof e,r="";return null==e?r+=Fa("null","token keyword"):e&&e.constructor===Array?(Na++,r+=function(e,t){for(var n=Na>t?"collapsed":"",r=''+za("[")+'
      ',o=!1,i=e.length,a=0;a
      ',r+=Ua(e[a],t),a";r+="
    "+za("]"),o||(r=za("[ ]"));return r}(e,t),Na--):e&&e.constructor===Date?r+=Fa('"'+e.toISOString()+'"',"token string"):"object"===n?(Na++,r+=function(e,t){for(var n=Na>t?"collapsed":"",r=Object.keys(e),o=r.length,i=''+za("{")+'
      ',a=!1,s=0;s
      ',i+='"'+Ma(l)+'": ',i+=Ua(e[l],t),s"}i+="
    "+za("}"),a||(i=za("{ }"));return i}(e,t),Na--):"number"===n?r+=Fa(e,"token number"):"string"===n?/^(http|https):\/\/[^\s]+$/.test(e)?r+=Fa('"',"token string")+''+Ma(Da(e))+""+Fa('"',"token string"):r+=Fa('"'+Da(e)+'"',"token string"):"boolean"===n&&(r+=Fa(e,"token boolean")),r}var Ba,$a,Wa,qa=ke(Ba||(Ba=Object(o.__makeTemplateObject)(["\n .redoc-json code > .collapser {\n display: none;\n pointer-events: none;\n }\n\n font-family: ",";\n font-size: ",";\n\n white-space: ",";\n contain: content;\n overflow-x: auto;\n\n .callback-function {\n color: gray;\n }\n\n .collapser:after {\n content: '-';\n cursor: pointer;\n }\n\n .collapsed > .collapser:after {\n content: '+';\n cursor: pointer;\n }\n\n .ellipsis:after {\n content: ' … ';\n }\n\n .collapsible {\n margin-left: 2em;\n }\n\n .hoverable {\n padding-top: 1px;\n padding-bottom: 1px;\n padding-left: 2px;\n padding-right: 2px;\n border-radius: 2px;\n }\n\n .hovered {\n background-color: rgba(235, 238, 249, 1);\n }\n\n .collapser {\n background-color: transparent;\n border: 0;\n color: #fff;\n font-family: ",";\n font-size: ",";\n padding-right: 6px;\n padding-left: 6px;\n padding-top: 0;\n padding-bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15px;\n height: 15px;\n position: absolute;\n top: 4px;\n left: -1.5em;\n cursor: default;\n user-select: none;\n -webkit-user-select: none;\n padding: 2px;\n &:focus {\n outline-color: #fff;\n outline-style: dotted;\n outline-width: 1px;\n }\n }\n\n ul {\n list-style-type: none;\n padding: 0px;\n margin: 0px 0px 0px 26px;\n }\n\n li {\n position: relative;\n display: block;\n }\n\n .hoverable {\n display: inline-block;\n }\n\n .selected {\n outline-style: solid;\n outline-width: 1px;\n outline-style: dotted;\n }\n\n .collapsed > .collapsible {\n display: none;\n }\n\n .ellipsis {\n display: none;\n }\n\n .collapsed > .ellipsis {\n display: inherit;\n }\n"],["\n .redoc-json code > .collapser {\n display: none;\n pointer-events: none;\n }\n\n font-family: ",";\n font-size: ",";\n\n white-space: ",";\n contain: content;\n overflow-x: auto;\n\n .callback-function {\n color: gray;\n }\n\n .collapser:after {\n content: '-';\n cursor: pointer;\n }\n\n .collapsed > .collapser:after {\n content: '+';\n cursor: pointer;\n }\n\n .ellipsis:after {\n content: ' … ';\n }\n\n .collapsible {\n margin-left: 2em;\n }\n\n .hoverable {\n padding-top: 1px;\n padding-bottom: 1px;\n padding-left: 2px;\n padding-right: 2px;\n border-radius: 2px;\n }\n\n .hovered {\n background-color: rgba(235, 238, 249, 1);\n }\n\n .collapser {\n background-color: transparent;\n border: 0;\n color: #fff;\n font-family: ",";\n font-size: ",";\n padding-right: 6px;\n padding-left: 6px;\n padding-top: 0;\n padding-bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15px;\n height: 15px;\n position: absolute;\n top: 4px;\n left: -1.5em;\n cursor: default;\n user-select: none;\n -webkit-user-select: none;\n padding: 2px;\n &:focus {\n outline-color: #fff;\n outline-style: dotted;\n outline-width: 1px;\n }\n }\n\n ul {\n list-style-type: none;\n padding: 0px;\n margin: 0px 0px 0px 26px;\n }\n\n li {\n position: relative;\n display: block;\n }\n\n .hoverable {\n display: inline-block;\n }\n\n .selected {\n outline-style: solid;\n outline-width: 1px;\n outline-style: dotted;\n }\n\n .collapsed > .collapsible {\n display: none;\n }\n\n .ellipsis {\n display: none;\n }\n\n .collapsed > .ellipsis {\n display: inherit;\n }\n"])),(function(e){return e.theme.typography.code.fontFamily}),(function(e){return e.theme.typography.code.fontSize}),(function(e){return e.theme.typography.code.wrap?"pre-wrap":"pre"}),(function(e){return e.theme.typography.code.fontFamily}),(function(e){return e.theme.typography.code.fontSize})),Ha=je.div($a||($a=Object(o.__makeTemplateObject)(["\n &:hover > "," {\n opacity: 1;\n }\n"],["\n &:hover > "," {\n opacity: 1;\n }\n"])),hi),Va=je(function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.renderInner=function(e){var n=e.renderCopyButton;return i.createElement(Ha,null,i.createElement(hi,null,n(),i.createElement("button",{onClick:t.expandAll}," Expand all "),i.createElement("button",{onClick:t.collapseAll}," Collapse all ")),i.createElement(Ue.Consumer,null,(function(e){return i.createElement(di,{className:t.props.className,ref:function(e){return t.node=e},dangerouslySetInnerHTML:{__html:La(t.props.data,e.jsonSampleExpandLevel)}})})))},t.expandAll=function(){for(var e=t.node.getElementsByClassName("collapsible"),n=0,r=Array.prototype.slice.call(e);n1){var a=o.map((function(e,n){return{value:t[e].summary||e,idx:n}})),s=(l=t[o[e]]).description;return i.createElement(us,null,i.createElement(as,null,i.createElement(is,null,"Example"),this.props.renderDropdown({value:a[e].value,options:a,onChange:this.switchMedia,ariaLabel:"Example"})),i.createElement("div",null,s&&i.createElement(Oa,{source:s}),i.createElement(Xa,{example:l,mimeType:n})))}var l=t[o[0]];return i.createElement(us,null,l.description&&i.createElement(Oa,{source:l.description}),i.createElement(Xa,{example:l,mimeType:n}))},t}(i.Component),us=je.div(rs||(rs=Object(o.__makeTemplateObject)(["\n margin-top: 15px;\n"],["\n margin-top: 15px;\n"]))),fs=!1;function ps(){return fs}function ds(e){return Object(l.j)(e)}var hs="undefined"==typeof FinalizationRegistry?void 0:FinalizationRegistry;function ms(e){return{reaction:e,mounted:!1,changedBeforeMount:!1,cleanAt:Date.now()+gs}}var gs=1e4;var vs=function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};var ys=hs?function(e){var t=new Map,n=1,r=new e((function(e){var n=t.get(e);n&&(n.reaction.dispose(),t.delete(e))}));return{addReactionToTrack:function(e,o,i){var a=n++;return r.register(i,a,e),e.current=ms(o),e.current.finalizationRegistryCleanupToken=a,t.set(a,e.current),e.current},recordReactionAsCommitted:function(e){r.unregister(e),e.current&&e.current.finalizationRegistryCleanupToken&&t.delete(e.current.finalizationRegistryCleanupToken)},forceCleanupTimerToRunNowForTests:function(){},resetCleanupScheduleForTests:function(){}}}(hs):function(){var e,t=new Set;function n(){void 0===e&&(e=setTimeout(r,1e4))}function r(){e=void 0;var r=Date.now();t.forEach((function(e){var n=e.current;n&&r>=n.cleanAt&&(n.reaction.dispose(),e.current=null,t.delete(e))})),t.size>0&&n()}return{addReactionToTrack:function(e,r,o){var i;return e.current=ms(r),i=e,t.add(i),n(),e.current},recordReactionAsCommitted:function(e){t.delete(e)},forceCleanupTimerToRunNowForTests:function(){e&&(clearTimeout(e),r())},resetCleanupScheduleForTests:function(){var n,r;if(t.size>0){try{for(var o=vs(t),i=o.next();!i.done;i=o.next()){var a=i.value,s=a.current;s&&(s.reaction.dispose(),a.current=null)}}catch(e){n={error:e}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}t.clear()}e&&(clearTimeout(e),e=void 0)}}}(),bs=ys.addReactionToTrack,xs=ys.recordReactionAsCommitted,ws=(ys.resetCleanupScheduleForTests,ys.forceCleanupTimerToRunNowForTests,function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a}),_s=[];var ks=function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a};function Os(e){return"observer"+e}var Es=function(){};function Ss(e,t){if(void 0===t&&(t="observed"),ps())return e();var n,r=ks(a.a.useState(new Es),1)[0],o=(n=ws(Object(i.useState)(0),2)[1],Object(i.useCallback)((function(){n((function(e){return e+1}))}),_s)),s=a.a.useRef(null);if(!s.current)var c=new l.b(Os(t),(function(){u.mounted?o():u.changedBeforeMount=!0})),u=bs(s,c,r);var f,p,d=s.current.reaction;if(a.a.useDebugValue(d,ds),a.a.useEffect((function(){return xs(s),s.current?(s.current.mounted=!0,s.current.changedBeforeMount&&(s.current.changedBeforeMount=!1,o())):(s.current={reaction:new l.b(Os(t),(function(){o()})),mounted:!0,changedBeforeMount:!1,cleanAt:1/0},o()),function(){s.current.reaction.dispose(),s.current=null}}),[]),d.track((function(){try{f=e()}catch(e){p=e}})),p)throw p;return f}function Ts(e){var t=e.children,n=e.render,r=t||n;return"function"!=typeof r?null:Ss(r)}Ts.displayName="Observer";var js=function(){return(js=Object.assign||function(e){for(var t,n=1,r=arguments.length;n2?r-2:0),i=2;i"}function Gs(e){var t=this;if(!0===ps())return e.call(this);Ms(this,Hs,!1),Ms(this,Vs,!1);var n=Qs(this),r=e.bind(this),o=!1,a=new l.b(n+".render()",(function(){if(!o&&(o=!0,!0!==t[qs])){var e=!0;try{Ms(t,Vs,!0),t[Hs]||i.Component.prototype.forceUpdate.call(t),e=!1}finally{Ms(t,Vs,!1),e&&a.dispose()}}}));function s(){o=!1;var e=void 0,t=void 0;if(a.track((function(){try{t=Object(l.c)(!1,r)}catch(t){e=t}})),e)throw e;return t}return a.reactComponent=this,s[$s]=a,this.render=s,s.call(this)}function Xs(e,t){return ps()&&console.warn("[mobx-react] It seems that a re-rendering of a React component is triggered while in static (server-side) mode. Please make sure components are rendered only once server-side."),this.state!==t||!Ns(this.props,e)}function Ks(e,t){var n=Rs("reactProp_"+t+"_valueHolder"),r=Rs("reactProp_"+t+"_atomHolder");function o(){return this[r]||Ms(this,r,Object(l.i)("reactive "+t)),this[r]}Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:function(){var e=!1;return l.e&&l.d&&(e=Object(l.e)(!0)),o.call(this).reportObserved(),l.e&&l.d&&Object(l.d)(e),this[n]},set:function(e){this[Vs]||Ns(this[n],e)?Ms(this,n,e):(Ms(this,n,e),Ms(this,Hs,!0),o.call(this).reportChanged(),Ms(this,Hs,!1))}})}var Js="function"==typeof Symbol&&Symbol.for,Zs=Js?Symbol.for("react.forward_ref"):"function"==typeof i.forwardRef&&Object(i.forwardRef)((function(e){return null})).$$typeof,el=Js?Symbol.for("react.memo"):"function"==typeof i.memo&&Object(i.memo)((function(e){return null})).$$typeof;function tl(e){if(!0===e.isMobxInjector&&console.warn("Mobx observer: You are trying to use 'observer' on a component that already has 'inject'. Please apply 'observer' before applying 'inject'"),el&&e.$$typeof===el)throw new Error("Mobx observer: You are trying to use 'observer' on a function component wrapped in either another observer or 'React.memo'. The observer already applies 'React.memo' for you.");if(Zs&&e.$$typeof===Zs){var t=e.render;if("function"!=typeof t)throw new Error("render property of ForwardRef was not a function");return Object(i.forwardRef)((function(){var e=arguments;return Object(i.createElement)(Ts,null,(function(){return t.apply(void 0,e)}))}))}return"function"!=typeof e||e.prototype&&e.prototype.render||e.isReactClass||Object.prototype.isPrototypeOf.call(i.Component,e)?Ys(e):As(e)}if(!i.Component)throw new Error("mobx-react requires React to be available");if(!l.o)throw new Error("mobx-react requires mobx to be available");var nl,rl,ol,il,al,sl,ll,cl,ul,fl,pl,dl,hl,ml,gl,vl,yl=je(Rr)(nl||(nl=Object(o.__makeTemplateObject)(["\n button {\n background-color: transparent;\n border: 0;\n outline: 0;\n font-size: 13px;\n font-family: ",";\n cursor: pointer;\n padding: 0;\n color: ",";\n &:focus {\n font-weight: ",";\n }\n }\n "," {\n height: ",";\n width: ",";\n polygon {\n fill: ",";\n }\n }\n"],["\n button {\n background-color: transparent;\n border: 0;\n outline: 0;\n font-size: 13px;\n font-family: ",";\n cursor: pointer;\n padding: 0;\n color: ",";\n &:focus {\n font-weight: ",";\n }\n }\n "," {\n height: ",";\n width: ",";\n polygon {\n fill: ",";\n }\n }\n"])),(function(e){return e.theme.typography.code.fontFamily}),(function(e){return e.theme.colors.text.primary}),(function(e){return e.theme.typography.fontWeightBold}),Tr,(function(e){return e.theme.schema.arrow.size}),(function(e){return e.theme.schema.arrow.size}),(function(e){return e.theme.schema.arrow.color})),bl=je.span(rl||(rl=Object(o.__makeTemplateObject)(["\n vertical-align: middle;\n font-size: ",";\n line-height: 20px;\n"],["\n vertical-align: middle;\n font-size: ",";\n line-height: 20px;\n"])),(function(e){return e.theme.typography.code.fontSize})),xl=je(bl)(ol||(ol=Object(o.__makeTemplateObject)(["\n color: ",";\n"],["\n color: ",";\n"])),(function(e){return Z(.1,e.theme.schema.typeNameColor)})),wl=je(bl)(il||(il=Object(o.__makeTemplateObject)(["\n color: ",";\n"],["\n color: ",";\n"])),(function(e){return e.theme.schema.typeNameColor})),_l=je(bl)(al||(al=Object(o.__makeTemplateObject)(["\n color: ",";\n word-break: break-word;\n"],["\n color: ",";\n word-break: break-word;\n"])),(function(e){return e.theme.schema.typeTitleColor})),kl=wl,Ol=je(bl.withComponent("div"))(sl||(sl=Object(o.__makeTemplateObject)(["\n color: ",";\n font-size: ",";\n font-weight: normal;\n margin-left: 20px;\n line-height: 1;\n"],["\n color: ",";\n font-size: ",";\n font-weight: normal;\n margin-left: 20px;\n line-height: 1;\n"])),(function(e){return e.theme.schema.requireLabelColor}),(function(e){return e.theme.schema.labelsTextSize})),El=je(bl)(ll||(ll=Object(o.__makeTemplateObject)(["\n color: ",";\n font-size: 13px;\n"],["\n color: ",";\n font-size: 13px;\n"])),(function(e){return e.theme.colors.warning.main})),Sl=je(bl)(cl||(cl=Object(o.__makeTemplateObject)(["\n color: #0e7c86;\n font-size: 13px;\n"],["\n color: #0e7c86;\n font-size: 13px;\n"]))),Tl=je(bl)(ul||(ul=Object(o.__makeTemplateObject)(["\n color: #0e7c86;\n &::before,\n &::after {\n font-weight: bold;\n }\n"],["\n color: #0e7c86;\n &::before,\n &::after {\n font-weight: bold;\n }\n"]))),jl=je(bl)(fl||(fl=Object(o.__makeTemplateObject)(["\n border-radius: 2px;\n ",";\n & + & {\n margin-left: 0;\n }\n ",";\n"],["\n border-radius: 2px;\n ",";\n & + & {\n margin-left: 0;\n }\n ",";\n"])),(function(e){var t=e.theme;return"\n background-color: "+Z(.95,t.colors.text.primary)+";\n color: "+Z(.1,t.colors.text.primary)+";\n\n padding: 0 "+t.spacing.unit+"px;\n border: 1px solid "+Z(.9,t.colors.text.primary)+";\n font-family: "+t.typography.code.fontFamily+";\n}"}),Ae("ExampleValue")),Al=je(jl)(pl||(pl=Object(o.__makeTemplateObject)([""],[""]))),Cl=je(bl)(dl||(dl=Object(o.__makeTemplateObject)(["\n border-radius: 2px;\n ",";\n & + & {\n margin-left: 0;\n }\n ",";\n"],["\n border-radius: 2px;\n ",";\n & + & {\n margin-left: 0;\n }\n ",";\n"])),(function(e){var t=e.theme;return"\n background-color: "+Z(.95,t.colors.primary.light)+";\n color: "+Z(.1,t.colors.primary.main)+";\n\n margin: 0 "+t.spacing.unit+"px;\n padding: 0 "+t.spacing.unit+"px;\n border: 1px solid "+Z(.9,t.colors.primary.main)+";\n font-family: "+t.typography.code.fontFamily+";\n}"}),Ae("ConstraintItem")),Il=je.button(hl||(hl=Object(o.__makeTemplateObject)(["\n background-color: transparent;\n border: 0;\n color: ",";\n margin-left: ","px;\n border-radius: 2px;\n cursor: pointer;\n outline-color: ",";\n font-size: 12px;\n"],["\n background-color: transparent;\n border: 0;\n color: ",";\n margin-left: ","px;\n border-radius: 2px;\n cursor: pointer;\n outline-color: ",";\n font-size: 12px;\n"])),(function(e){return e.theme.colors.text.secondary}),(function(e){return e.theme.spacing.unit}),(function(e){return e.theme.colors.text.secondary})),Pl=je.div(ml||(ml=Object(o.__makeTemplateObject)(["\n ",";\n ","\n"],["\n ",";\n ","\n"])),ma,(function(e){return e.compact?"":"margin: 1em 0"})),Rl=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props.externalDocs;return e&&e.url?i.createElement(Pl,{compact:this.props.compact},i.createElement("a",{href:e.url},e.description||e.url)):null},t=Object(o.__decorate)([tl],t)}(i.Component),Nl=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={collapsed:!0},t}return Object(o.__extends)(t,e),t.prototype.toggle=function(){this.setState({collapsed:!this.state.collapsed})},t.prototype.render=function(){var e=this,t=this.props,n=t.values,r=t.type,o=this.state.collapsed,a=this.context,s=a.enumSkipQuotes,l=a.maxDisplayedEnumValues;if(!n.length)return null;var c=this.state.collapsed&&l?n.slice(0,l):n,u=!!l&&n.length>l,f=l?o?"… "+(n.length-l)+" more":"Hide":"";return i.createElement("div",null,i.createElement(bl,null,"array"===r?ge("enumArray"):""," ",1===n.length?ge("enumSingleValue"):ge("enum"),":")," ",c.map((function(e,t){var n=s?e:JSON.stringify(e);return i.createElement(i.Fragment,{key:t},i.createElement(jl,null,n)," ")})),u?i.createElement(Ll,{onClick:function(){e.toggle()}},f):null)},t.contextType=Ue,t}(i.PureComponent),Ll=je.span(gl||(gl=Object(o.__makeTemplateObject)(["\n color: ",";\n vertical-align: middle;\n font-size: 13px;\n line-height: 20px;\n padding: 0 5px;\n cursor: pointer;\n"],["\n color: ",";\n vertical-align: middle;\n font-size: 13px;\n line-height: 20px;\n padding: 0 5px;\n cursor: pointer;\n"])),(function(e){return e.theme.colors.primary.main})),Ml=je(ga)(vl||(vl=Object(o.__makeTemplateObject)(["\n margin: 2px 0;\n"],["\n margin: 2px 0;\n"]))),Dl=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props.extensions;return i.createElement(Ue.Consumer,null,(function(t){return i.createElement(i.Fragment,null,t.showExtensions&&Object.keys(e).map((function(t){return i.createElement(Ml,{key:t},i.createElement(bl,null," ",t.substring(2),": ")," ",i.createElement(Al,null,"string"==typeof e[t]?e[t]:JSON.stringify(e[t])))})))}))},t}(i.PureComponent),Fl=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){return 0===this.props.constraints.length?null:i.createElement("span",null," ",this.props.constraints.map((function(e){return i.createElement(Cl,{key:e}," ",e," ")})))},t}(i.PureComponent),zl=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){if(void 0===this.props.value)return null;var e=this.props.raw?this.props.value:JSON.stringify(this.props.value);return i.createElement("div",null,i.createElement(bl,null," ",this.props.label," ")," ",i.createElement(jl,null,e))},t}(i.PureComponent),Ul=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={patternShown:!1},t.togglePattern=function(){t.setState({patternShown:!t.state.patternShown})},t}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props,t=e.showExamples,n=e.field,r=e.renderDiscriminatorSwitch,a=this.state.patternShown,s=this.context,l=s.enumSkipQuotes,c=s.hideSchemaTitles,u=n.schema,f=n.description,p=n.example,d=n.deprecated,h=n.examples,m=!!l||"header"===n.in,g=null;if(t&&(void 0!==p||void 0!==h))if(void 0!==h)g=i.createElement(Bl,{field:n});else{var v=ge("example")+":",y=!!n.in;g=i.createElement(zl,{label:v,value:$l(n,n.example),raw:y})}return i.createElement("div",null,i.createElement("div",null,i.createElement(xl,null,u.typePrefix),i.createElement(wl,null,u.displayType),u.displayFormat&&i.createElement(kl,null," ","<",u.displayFormat,">"," "),u.title&&!c&&i.createElement(_l,null," (",u.title,") "),i.createElement(Fl,{constraints:u.constraints}),u.nullable&&i.createElement(Sl,null," ",ge("nullable")," "),u.pattern&&i.createElement(i.Fragment,null,i.createElement(Tl,null,a||u.pattern.length<45?u.pattern:u.pattern.substr(0,45)+"..."),u.pattern.length>45&&i.createElement(Il,{onClick:this.togglePattern},a?"Hide pattern":"Show pattern")),u.isCircular&&i.createElement(El,null," ",ge("recursive")," ")),d&&i.createElement("div",null,i.createElement(jr,{type:"warning"}," ",ge("deprecated")," ")),i.createElement(zl,{raw:m,label:ge("default")+":",value:u.default}),!r&&i.createElement(Nl,{type:u.type,values:u.enum})," ",g,i.createElement(Dl,{extensions:Object(o.__assign)(Object(o.__assign)({},n.extensions),u.extensions)}),i.createElement("div",null,i.createElement(Oa,{compact:!0,source:f})),u.externalDocs&&i.createElement(Rl,{externalDocs:u.externalDocs,compact:!0}),r&&r(this.props)||null)},t.contextType=Ue,t}(i.PureComponent);function Bl(e){var t=e.field;return t.examples?i.createElement(i.Fragment,null,i.createElement(bl,null," ",ge("examples"),": "),i.createElement(Yl,null,Object.values(t.examples).map((function(e,n){return i.createElement("li",{key:n},i.createElement(jl,null,$l(t,e.value))," - ",e.summary||e.description)})))):null}function $l(e,t){return e.in?decodeURIComponent(ft(e,t)):t}var Wl,ql,Hl,Vl,Yl=je.ul(Wl||(Wl=Object(o.__makeTemplateObject)(["\n margin-top: 1em;\n padding-left: 0;\n list-style-position: inside;\n"],["\n margin-top: 1em;\n padding-left: 0;\n list-style-position: inside;\n"]))),Ql=je.div(ql||(ql=Object(o.__makeTemplateObject)(["\n padding-left: ","px;\n"],["\n padding-left: ","px;\n"])),(function(e){return 2*e.theme.spacing.unit})),Gl=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e,t,n=this.props.schema.items,r=mt((e=n.schema.minItems,t=n.schema.maxItems,void 0===e&&(e=void 0),void 0===t&&(t=void 0),{type:"array",minItems:e,maxItems:t}));return i.createElement("div",null,i.createElement(Br,null," Array (",r,")"),i.createElement(Ql,null,i.createElement(tc,Object(o.__assign)({},this.props,{schema:n}))),i.createElement($r,null))},t}(i.PureComponent),Xl=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.toggle=function(){void 0===t.props.field.expanded&&t.props.expandByDefault?t.props.field.expanded=!1:t.props.field.toggle()},t.handleKeyPress=function(e){"Enter"===e.key&&(e.preventDefault(),t.toggle())},t}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props,t=e.className,n=e.field,r=e.isLast,a=e.expandByDefault,s=n.name,l=n.deprecated,c=n.required,u=n.kind,f=!n.schema.isPrimitive&&!n.schema.isCircular,p=void 0===n.expanded?a:n.expanded,d=f?i.createElement(yl,{className:l?"deprecated":"",kind:u,title:s},i.createElement(Lr,null),i.createElement("button",{onClick:this.toggle,onKeyPress:this.handleKeyPress,"aria-label":"expand properties"},i.createElement("span",null,s),i.createElement(Tr,{direction:p?"down":"right"})),c&&i.createElement(Ol,null," required ")):i.createElement(Rr,{className:l?"deprecated":void 0,kind:u,title:s},i.createElement(Lr,null),i.createElement("span",null,s),c&&i.createElement(Ol,null," required "));return i.createElement(i.Fragment,null,i.createElement("tr",{className:r?"last "+t:t},d,i.createElement(Nr,null,i.createElement(Ul,Object(o.__assign)({},this.props)))),p&&f&&i.createElement("tr",{key:n.name+"inner"},i.createElement(Pr,{colSpan:2},i.createElement(Mr,null,i.createElement(tc,{schema:n.schema,skipReadOnly:this.props.skipReadOnly,skipWriteOnly:this.props.skipWriteOnly,showTitle:this.props.showTitle})))))},t=Object(o.__decorate)([tl],t)}(i.Component),Kl=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.changeActiveChild=function(e){t.props.parent.activateOneOf(e.idx)},t}return Object(o.__extends)(t,e),t.prototype.sortOptions=function(e,t){if(0!==t.length){var n={};t.forEach((function(e,t){n[e]=t})),e.sort((function(e,t){return n[e.value]>n[t.value]?1:-1}))}},t.prototype.render=function(){var e=this.props,t=e.parent,n=e.enumValues;if(void 0===t.oneOf)return null;var r=t.oneOf.map((function(e,t){return{value:e.title,idx:t}})),o=r[t.activeOneOf].value;return this.sortOptions(r,n),i.createElement(Co,{value:o,options:r,onChange:this.changeActiveChild})},t=Object(o.__decorate)([tl],t)}(i.Component),Jl=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),Object.defineProperty(t.prototype,"parentSchema",{get:function(){return this.props.discriminator.parentSchema},enumerable:!1,configurable:!0}),t.prototype.render=function(){var e=this,t=this.props,n=t.schema.fields,r=void 0===n?[]:n,o=t.showTitle,a=t.discriminator,s=this.props.skipReadOnly||this.props.skipWriteOnly?r.filter((function(t){return!(e.props.skipReadOnly&&t.schema.readOnly||e.props.skipWriteOnly&&t.schema.writeOnly)})):r,l=this.context.expandSingleSchemaField&&1===s.length;return i.createElement(Dr,null,o&&i.createElement(Cr,null,this.props.schema.title),i.createElement("tbody",null,se(s,(function(t,n){return i.createElement(Xl,{key:t.name,isLast:n,field:t,expandByDefault:l,renderDiscriminatorSwitch:a&&a.fieldName===t.name&&function(){return i.createElement(Kl,{parent:e.parentSchema,enumValues:t.schema.enum})}||void 0,className:t.expanded?"expanded":void 0,showExamples:!1,skipReadOnly:e.props.skipReadOnly,skipWriteOnly:e.props.skipWriteOnly,showTitle:e.props.showTitle})}))))},t.contextType=Ue,t=Object(o.__decorate)([tl],t)}(i.Component),Zl=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.activateOneOf=function(){t.props.schema.activateOneOf(t.props.idx)},t}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props,t=e.idx,n=e.schema,r=e.subSchema;return i.createElement(Ur,{active:t===n.activeOneOf,onClick:this.activateOneOf},r.title||r.typePrefix+r.displayType)},t=Object(o.__decorate)([tl],t)}(i.Component),ec=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props,t=e.schema.oneOf,n=e.schema;return void 0===t?null:i.createElement("div",null,i.createElement(zr,null," ",n.oneOfType," "),i.createElement(Fr,null,t.map((function(e,t){return i.createElement(Zl,{key:e.pointer,schema:n,subSchema:e,idx:t})}))),i.createElement(tc,Object(o.__assign)({},this.props,{schema:t[n.activeOneOf]})))},t=Object(o.__decorate)([tl],t)}(i.Component),tc=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e,t=this.props.schema;if(!t)return i.createElement("em",null," Schema not provided ");var n=t.type,r=t.oneOf,a=t.discriminatorProp;if(t.isCircular)return i.createElement("div",null,i.createElement(wl,null,t.displayType),t.title&&i.createElement(_l,null," ",t.title," "),i.createElement(El,null," ",ge("recursive")," "));if(void 0!==a)return r&&r.length?i.createElement(Jl,Object(o.__assign)({},Object(o.__assign)(Object(o.__assign)({},this.props),{schema:r[t.activeOneOf]}),{discriminator:{fieldName:a,parentSchema:t}})):(console.warn("Looks like you are using discriminator wrong: you don't have any definition inherited from the "+t.title),null);if(void 0!==r)return i.createElement(ec,Object(o.__assign)({schema:t},this.props));switch(n){case"object":if(null===(e=t.fields)||void 0===e?void 0:e.length)return i.createElement(Jl,Object(o.__assign)({},this.props));break;case"array":return i.createElement(Gl,Object(o.__assign)({},this.props))}var s={schema:t,name:"",required:!1,description:t.description,externalDocs:t.externalDocs,deprecated:!1,toggle:function(){return null},expanded:!1};return i.createElement("div",null,i.createElement(Ul,{field:s}))},t=Object(o.__decorate)([tl],t)}(i.Component),nc=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.renderDropdown=function(e){return i.createElement(fa,Object(o.__assign)({Label:Po,Dropdown:ss},e))},t}return Object(o.__extends)(t,e),t.getMediaType=function(e,t){if(!e)return{};var n={schema:{$ref:e}};return t&&(n.examples={example:{$ref:t}}),n},Object.defineProperty(t.prototype,"mediaModel",{get:function(){var e=this.props,n=e.parser,r=e.schemaRef,o=e.exampleRef,i=e.options;return this._mediaModel||(this._mediaModel=new pn(n,"json",!1,t.getMediaType(r,o),i)),this._mediaModel},enumerable:!1,configurable:!0}),t.prototype.render=function(){var e=this.props,t=e.showReadOnly,n=void 0===t||t,r=e.showWriteOnly,o=void 0!==r&&r;return i.createElement(Dn,null,i.createElement(Un,null,i.createElement(Mn,null,i.createElement(tc,{skipWriteOnly:!o,skipReadOnly:!n,schema:this.mediaModel.schema})),i.createElement(zn,null,i.createElement(rc,null,i.createElement(cs,{renderDropdown:this.renderDropdown,mediaType:this.mediaModel})))))},t}(i.PureComponent),rc=je.div(Hl||(Hl=Object(o.__makeTemplateObject)(["\n background: ",";\n & > div,\n & > pre {\n padding: ","px;\n margin: 0;\n }\n\n & > div > pre {\n padding: 0;\n }\n"],["\n background: ",";\n & > div,\n & > pre {\n padding: ","px;\n margin: 0;\n }\n\n & > div > pre {\n padding: 0;\n }\n"])),(function(e){return e.theme.codeBlock.backgroundColor}),(function(e){return 4*e.theme.spacing.unit})),oc={oauth2:"OAuth2",apiKey:"API Key",http:"HTTP",openIdConnect:"OpenID Connect"},ic=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props,t=e.type,n=e.flow;return i.createElement("tr",null,i.createElement("th",null," ",t," OAuth Flow "),i.createElement("td",null,"implicit"===t||"authorizationCode"===t?i.createElement("div",null,i.createElement("strong",null," Authorization URL: "),n.authorizationUrl):null,"password"===t||"clientCredentials"===t||"authorizationCode"===t?i.createElement("div",null,i.createElement("strong",null," Token URL: "),n.tokenUrl):null,n.refreshUrl&&i.createElement("div",null,i.createElement("strong",null," Refresh URL: "),n.refreshUrl),i.createElement("div",null,i.createElement("strong",null," Scopes: ")),i.createElement("ul",null,Object.keys(n.scopes||{}).map((function(e){return i.createElement("li",{key:e},i.createElement("code",null,e)," - ",i.createElement(Oa,{inline:!0,source:n.scopes[e]||""}))})))))},t}(i.PureComponent),ac=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){return this.props.securitySchemes.schemes.map((function(e){return i.createElement(Dn,{id:e.sectionId,key:e.id,className:"auth"},i.createElement(Un,null,i.createElement(Mn,null,i.createElement(qn,null,i.createElement(nr,{to:e.sectionId}),e.id),i.createElement(Oa,{source:e.description||""}),i.createElement(ga,null,i.createElement("table",{className:"security-details"},i.createElement("tbody",null,i.createElement("tr",null,i.createElement("th",null," Security Scheme Type "),i.createElement("td",null," ",oc[e.type]||e.type," ")),e.apiKey?i.createElement("tr",null,i.createElement("th",null," ",(t=e.apiKey.in||"").charAt(0).toUpperCase()+t.slice(1)," parameter name:"),i.createElement("td",null," ",e.apiKey.name," ")):e.http?[i.createElement("tr",{key:"scheme"},i.createElement("th",null," HTTP Authorization Scheme "),i.createElement("td",null," ",e.http.scheme," ")),"bearer"===e.http.scheme&&e.http.bearerFormat&&i.createElement("tr",{key:"bearer"},i.createElement("th",null," Bearer format "),i.createElement("td",null,' "',e.http.bearerFormat,'" '))]:e.openId?i.createElement("tr",null,i.createElement("th",null," Connect URL "),i.createElement("td",null,i.createElement("a",{target:"_blank",rel:"noopener noreferrer",href:e.openId.connectUrl},e.openId.connectUrl))):e.flows?Object.keys(e.flows).map((function(t){return i.createElement(ic,{key:t,type:t,flow:e.flows[t]})})):null))))));var t}))},t}(i.PureComponent);var sc,lc,cc,uc,fc,pc,dc,hc,mc=function(){function e(e,t,n,r){var o=this;void 0===n&&(n={}),void 0===r&&(r=!0),this.marker=new Pt,this.disposer=null,this.rawOptions=n,this.options=new be(n,gc),this.scroll=new ca(this.options),la.updateOnHistory(Ct.currentId,this.scroll),this.spec=new oa(e,t,this.options),this.menu=new la(this.spec,this.scroll,Ct),this.options.disableSearch||(this.search=new ua,r&&this.search.indexItems(this.menu.items),this.disposer=Object(l.p)(this.menu,"activeItemIdx",(function(e){o.updateMarkOnMenu(e.newValue)})))}return e.fromJS=function(t){var n=new e(t.spec.data,t.spec.url,t.options,!1);return n.menu.activeItemIdx=t.menu.activeItemIdx||0,n.menu.activate(n.menu.flatItems[n.menu.activeItemIdx]),n.options.disableSearch||n.search.load(t.searchIndex),n},e.prototype.onDidMount=function(){this.menu.updateOnHistory(),this.updateMarkOnMenu(this.menu.activeItemIdx)},e.prototype.dispose=function(){this.scroll.dispose(),this.menu.dispose(),this.search&&this.search.dispose(),null!=this.disposer&&this.disposer()},e.prototype.toJS=function(){return Object(o.__awaiter)(this,void 0,void 0,(function(){var e,t;return Object(o.__generator)(this,(function(n){switch(n.label){case 0:return e={menu:{activeItemIdx:this.menu.activeItemIdx},spec:{url:this.spec.parser.specUrl,data:this.spec.parser.spec}},this.search?[4,this.search.toJS()]:[3,2];case 1:return t=n.sent(),[3,3];case 2:t=void 0,n.label=3;case 3:return[2,(e.searchIndex=t,e.options=this.rawOptions,e)]}}))}))},e.prototype.updateMarkOnMenu=function(e){for(var t=Math.max(0,e),n=Math.min(this.menu.flatItems.length,t+5),r=[],o=t;o1?q(.1,n.sidebar.backgroundColor):1===e?q(.05,n.sidebar.backgroundColor):""}var Ic,Pc,Rc,Nc,Lc,Mc,Dc,Fc,zc,Uc,Bc,$c,Wc,qc,Hc,Vc,Yc,Qc,Gc,Xc,Kc,Jc=je.ul(Pc||(Pc=Object(o.__makeTemplateObject)(["\n margin: 0;\n padding: 0;\n\n & & {\n font-size: 0.929em;\n }\n\n ",";\n"],["\n margin: 0;\n padding: 0;\n\n & & {\n font-size: 0.929em;\n }\n\n ",";\n"])),(function(e){return e.expanded?"":"display: none;"})),Zc=je.li(Rc||(Rc=Object(o.__makeTemplateObject)(["\n list-style: none inside none;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: 0;\n ",";\n"],["\n list-style: none inside none;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: 0;\n ",";\n"])),(function(e){return 0===e.depth?"margin-top: 15px":""})),eu={0:ke(Nc||(Nc=Object(o.__makeTemplateObject)(["\n opacity: 0.7;\n text-transform: ",";\n font-size: 0.8em;\n padding-bottom: 0;\n cursor: default;\n color: ",";\n "],["\n opacity: 0.7;\n text-transform: ",";\n font-size: 0.8em;\n padding-bottom: 0;\n cursor: default;\n color: ",";\n "])),(function(e){return e.theme.sidebar.groupItems.textTransform}),(function(e){return e.theme.sidebar.textColor})),1:ke(Lc||(Lc=Object(o.__makeTemplateObject)(["\n font-size: 0.929em;\n text-transform: ",";\n &:hover {\n color: ",";\n }\n "],["\n font-size: 0.929em;\n text-transform: ",";\n &:hover {\n color: ",";\n }\n "])),(function(e){return e.theme.sidebar.level1Items.textTransform}),(function(e){return e.theme.sidebar.activeTextColor})),2:ke(Mc||(Mc=Object(o.__makeTemplateObject)(["\n color: ",";\n "],["\n color: ",";\n "])),(function(e){return e.theme.sidebar.textColor}))},tu=je.label.attrs((function(e){return{role:"menuitem",className:jc("-depth"+e.depth,{active:e.active})}}))(Dc||(Dc=Object(o.__makeTemplateObject)(["\n cursor: pointer;\n color: ",";\n margin: 0;\n padding: 12.5px ","px;\n ","\n display: flex;\n justify-content: space-between;\n font-family: ",";\n ",";\n background-color: ",";\n\n ",";\n\n &:hover {\n background-color: ",";\n }\n\n "," {\n height: ",";\n width: ",";\n polygon {\n fill: ",";\n }\n }\n"],["\n cursor: pointer;\n color: ",";\n margin: 0;\n padding: 12.5px ","px;\n ","\n display: flex;\n justify-content: space-between;\n font-family: ",";\n ",";\n background-color: ",";\n\n ",";\n\n &:hover {\n background-color: ",";\n }\n\n "," {\n height: ",";\n width: ",";\n polygon {\n fill: ",";\n }\n }\n"])),(function(e){return e.active?e.theme.sidebar.activeTextColor:e.theme.sidebar.textColor}),(function(e){return 4*e.theme.spacing.unit}),(function(e){var t=e.depth,n=e.type,r=e.theme;return"section"===n&&t>1&&"padding-left: "+8*r.spacing.unit+"px;"||""}),(function(e){return e.theme.typography.headings.fontFamily}),(function(e){return eu[e.depth]}),(function(e){return e.active?Cc(e.depth,e):""}),(function(e){return e.deprecated&&Ar||""}),(function(e){return Cc(e.depth,e)}),Tr,(function(e){return e.theme.sidebar.arrow.size}),(function(e){return e.theme.sidebar.arrow.size}),(function(e){return e.theme.sidebar.arrow.color})),nu=je.span(Fc||(Fc=Object(o.__makeTemplateObject)(["\n display: inline-block;\n vertical-align: middle;\n width: ",";\n overflow: hidden;\n text-overflow: ellipsis;\n"],["\n display: inline-block;\n vertical-align: middle;\n width: ",";\n overflow: hidden;\n text-overflow: ellipsis;\n"])),(function(e){return e.width?e.width:"auto"})),ru=je.div(zc||(zc=Object(o.__makeTemplateObject)(["\n ",";\n"],["\n ",";\n"])),(function(e){var t=e.theme;return"\n font-size: 0.8em;\n margin-top: "+2*t.spacing.unit+"px;\n padding: 0 "+4*t.spacing.unit+"px;\n text-align: left;\n\n opacity: 0.7;\n\n a,\n a:visited,\n a:hover {\n color: "+t.sidebar.textColor+" !important;\n border-top: 1px solid "+q(.1,t.sidebar.backgroundColor)+";\n padding: "+t.spacing.unit+"px 0;\n display: block;\n }\n"})),ou=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props,t=e.name,n=e.opened,r=e.className,o=e.onClick,a=e.httpVerb,s=e.deprecated;return i.createElement(iu,{className:r,onClick:o||void 0},i.createElement(su,{type:a},xt(a)),i.createElement(Tr,{size:"1.5em",direction:n?"down":"right",float:"left"}),i.createElement(au,{deprecated:s},t),s?i.createElement(jr,{type:"warning"}," ",ge("deprecated")," "):null)},t}(i.PureComponent),iu=je.button(Uc||(Uc=Object(o.__makeTemplateObject)(["\n border: 0;\n width: 100%;\n text-align: left;\n & > * {\n vertical-align: middle;\n }\n\n "," {\n polygon {\n fill: ",";\n }\n }\n"],["\n border: 0;\n width: 100%;\n text-align: left;\n & > * {\n vertical-align: middle;\n }\n\n "," {\n polygon {\n fill: ",";\n }\n }\n"])),Tr,(function(e){var t=e.theme;return q(t.colors.tonalOffset,t.colors.gray[100])})),au=je.span(Bc||(Bc=Object(o.__makeTemplateObject)(["\n text-decoration: ",";\n margin-right: 8px;\n"],["\n text-decoration: ",";\n margin-right: 8px;\n"])),(function(e){return e.deprecated?"line-through":"none"})),su=je(Ac)($c||($c=Object(o.__makeTemplateObject)(["\n margin: 0px 5px 0px 0px;\n"],["\n margin: 0px 5px 0px 0px;\n"]))),lu=je(ou)(Wc||(Wc=Object(o.__makeTemplateObject)(["\n padding: 10px;\n border-radius: 2px;\n margin-bottom: 4px;\n line-height: 1.5em;\n background-color: ",";\n cursor: pointer;\n outline-color: ",";\n"],["\n padding: 10px;\n border-radius: 2px;\n margin-bottom: 4px;\n line-height: 1.5em;\n background-color: ",";\n cursor: pointer;\n outline-color: ",";\n"])),(function(e){return e.theme.colors.gray[100]}),(function(e){var t=e.theme;return q(t.colors.tonalOffset,t.colors.gray[100])})),cu=je.div(qc||(qc=Object(o.__makeTemplateObject)(["\n padding: 10px 25px;\n background-color: ",";\n margin-bottom: 5px;\n margin-top: 5px;\n"],["\n padding: 10px 25px;\n background-color: ",";\n margin-bottom: 5px;\n margin-top: 5px;\n"])),(function(e){return e.theme.colors.gray[50]})),uu=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.selectElement=function(){Pa.selectElement(t.child)},t}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this,t=this.props.children;return i.createElement("div",{ref:function(t){return e.child=t},onClick:this.selectElement,onFocus:this.selectElement,tabIndex:0,role:"button"},t)},t}(i.PureComponent),fu=je.div(Hc||(Hc=Object(o.__makeTemplateObject)(["\n cursor: pointer;\n position: relative;\n margin-bottom: 5px;\n"],["\n cursor: pointer;\n position: relative;\n margin-bottom: 5px;\n"]))),pu=je.span(Vc||(Vc=Object(o.__makeTemplateObject)(["\n font-family: ",";\n margin-left: 10px;\n flex: 1;\n overflow-x: hidden;\n text-overflow: ellipsis;\n"],["\n font-family: ",";\n margin-left: 10px;\n flex: 1;\n overflow-x: hidden;\n text-overflow: ellipsis;\n"])),(function(e){return e.theme.typography.code.fontFamily})),du=je.button(Yc||(Yc=Object(o.__makeTemplateObject)(["\n outline: 0;\n color: inherit;\n width: 100%;\n text-align: left;\n cursor: pointer;\n padding: 10px 30px 10px ",";\n border-radius: ",";\n background-color: ",";\n display: flex;\n white-space: nowrap;\n align-items: center;\n border: ",";\n border-bottom: ",";\n transition: border-color 0.25s ease;\n\n ","\n\n ."," {\n color: ","\n }\n &:focus {\n box-shadow: inset 0 2px 2px rgba(0, 0, 0, 0.45), 0 2px 0 rgba(128, 128, 128, 0.25);\n }\n"],["\n outline: 0;\n color: inherit;\n width: 100%;\n text-align: left;\n cursor: pointer;\n padding: 10px 30px 10px ",";\n border-radius: ",";\n background-color: ",";\n display: flex;\n white-space: nowrap;\n align-items: center;\n border: ",";\n border-bottom: ",";\n transition: border-color 0.25s ease;\n\n ","\n\n ."," {\n color: ","\n }\n &:focus {\n box-shadow: inset 0 2px 2px rgba(0, 0, 0, 0.45), 0 2px 0 rgba(128, 128, 128, 0.25);\n }\n"])),(function(e){return e.inverted?"10px":"20px"}),(function(e){return e.inverted?"0":"4px 4px 0 0"}),(function(e){return e.inverted?"transparent":e.theme.codeBlock.backgroundColor}),(function(e){return e.inverted?"0":"1px solid transparent"}),(function(e){return e.inverted?"1px solid #ccc":"0"}),(function(e){return e.expanded&&!e.inverted&&"border-color: "+e.theme.colors.border.dark+";"||""}),pu,(function(e){return e.inverted?e.theme.colors.text.primary:"#ffffff"})),hu=je.span.attrs((function(e){return{className:"http-verb "+e.type}}))(Qc||(Qc=Object(o.__makeTemplateObject)(["\n font-size: ",";\n line-height: ",";\n background-color: ",";\n color: #ffffff;\n padding: ",";\n text-transform: uppercase;\n font-family: ",";\n margin: 0;\n"],["\n font-size: ",";\n line-height: ",";\n background-color: ",";\n color: #ffffff;\n padding: ",";\n text-transform: uppercase;\n font-family: ",";\n margin: 0;\n"])),(function(e){return e.compact?"0.8em":"0.929em"}),(function(e){return e.compact?"18px":"20px"}),(function(e){return e.theme.colors.http[e.type]||"#999999"}),(function(e){return e.compact?"2px 8px":"3px 10px"}),(function(e){return e.theme.typography.headings.fontFamily})),mu=je.div(Gc||(Gc=Object(o.__makeTemplateObject)(["\n position: absolute;\n width: 100%;\n z-index: 100;\n background: #fafafa;\n color: #263238;\n box-sizing: border-box;\n box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.33);\n overflow: hidden;\n border-bottom-left-radius: 4px;\n border-bottom-right-radius: 4px;\n transition: all 0.25s ease;\n visibility: hidden;\n ","\n"],["\n position: absolute;\n width: 100%;\n z-index: 100;\n background: #fafafa;\n color: #263238;\n box-sizing: border-box;\n box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.33);\n overflow: hidden;\n border-bottom-left-radius: 4px;\n border-bottom-right-radius: 4px;\n transition: all 0.25s ease;\n visibility: hidden;\n ","\n"])),(function(e){return e.expanded?"visibility: visible;":"transform: translateY(-50%) scaleY(0);"})),gu=je.div(Xc||(Xc=Object(o.__makeTemplateObject)(["\n padding: 10px;\n"],["\n padding: 10px;\n"]))),vu=je.div(Kc||(Kc=Object(o.__makeTemplateObject)(["\n padding: 5px;\n border: 1px solid #ccc;\n background: #fff;\n word-break: break-all;\n color: ",";\n > span {\n color: ",";\n }\n"],["\n padding: 5px;\n border: 1px solid #ccc;\n background: #fff;\n word-break: break-all;\n color: ",";\n > span {\n color: ",";\n }\n"])),(function(e){return e.theme.colors.primary.main}),(function(e){return e.theme.colors.text.primary})),yu=function(e){function t(t){var n=e.call(this,t)||this;return n.toggle=function(){n.setState({expanded:!n.state.expanded})},n.state={expanded:!1},n}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this,t=this.props,n=t.operation,r=t.inverted,o=t.hideHostname,a=this.state.expanded;return i.createElement(Ue.Consumer,null,(function(t){return i.createElement(fu,null,i.createElement(du,{onClick:e.toggle,expanded:a,inverted:r},i.createElement(hu,{type:n.httpVerb,compact:e.props.compact},n.httpVerb),i.createElement(pu,null,n.path),i.createElement(Tr,{float:"right",color:r?"black":"white",size:"20px",direction:a?"up":"down",style:{marginRight:"-25px"}})),i.createElement(mu,{expanded:a,"aria-hidden":!a},n.servers.map((function(e){var r,a,s=t.expandDefaultServerVariables?(r=e.url,void 0===(a=e.variables)&&(a={}),r.replace(/(?:{)([\w-.]+)(?:})/g,(function(e,t){return a[t]&&a[t].default||e}))):e.url,l=function(e){try{return he(e).pathname}catch(t){return e}}(s);return i.createElement(gu,{key:s},i.createElement(Oa,{source:e.description||"",compact:!0}),i.createElement(uu,null,i.createElement(vu,null,i.createElement("span",null,o||t.hideHostname?"/"===l?"":l:s),n.path)))}))))}))},t}(i.Component),bu=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props,t=e.place,n=e.parameters;return n&&n.length?i.createElement("div",{key:t},i.createElement(Vn,null,t," Parameters"),i.createElement(Dr,null,i.createElement("tbody",null,se(n,(function(e,t){return i.createElement(Xl,{key:e.name,isLast:t,field:e,showExamples:!0})}))))):null},t}(i.PureComponent),xu=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.switchMedia=function(e){var n=e.idx;t.props.content&&t.props.content.activate(n)},t}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this,t=this.props.content;if(!t||!t.mediaTypes||!t.mediaTypes.length)return null;var n=t.activeMimeIdx,r=t.mediaTypes.map((function(e,t){return{value:e.name,idx:t}}));return i.createElement(i.Fragment,null,i.createElement((function(t){var n=t.children;return e.props.withLabel?i.createElement(as,null,i.createElement(is,null,"Content type"),n):n}),null,this.props.renderDropdown({value:r[n].value,options:r,onChange:this.switchMedia,ariaLabel:"Content type"})),this.props.children(t.active))},t=Object(o.__decorate)([tl],t)}(i.Component);var wu=["path","query","cookie","header"],_u=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.orderParams=function(e){var t={};return e.forEach((function(e){var n,r,o;n=t,r=e.in,o=e,n[r]||(n[r]=[]),n[r].push(o)})),t},t.prototype.render=function(){var e=this.props,t=e.body,n=e.parameters,r=void 0===n?[]:n;if(void 0===t&&void 0===r)return null;var o=this.orderParams(r),a=r.length>0?wu:[],s=t&&t.content,l=t&&t.description;return i.createElement(i.Fragment,null,a.map((function(e){return i.createElement(bu,{key:e,place:e,parameters:o[e]})})),s&&i.createElement(Ou,{content:s,description:l}))},t}(i.PureComponent);function ku(e){return i.createElement(Vn,{key:"header"},"Request Body schema: ",i.createElement(fa,Object(o.__assign)({},e)))}function Ou(e){var t=e.content,n=e.description;return i.createElement(xu,{content:t,renderDropdown:ku},(function(e){var t=e.schema;return i.createElement(i.Fragment,null,void 0!==n&&i.createElement(Oa,{source:n}),i.createElement(tc,{skipReadOnly:!0,key:"schema",schema:t}))}))}var Eu,Su,Tu,ju,Au,Cu,Iu,Pu,Ru,Nu,Lu,Mu,Du,Fu,zu,Uu,Bu,$u,Wu,qu,Hu,Vu,Yu=je(function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props,t=e.title,n=e.type,r=e.empty,o=e.code,a=e.opened,s=e.className,l=e.onClick;return i.createElement("button",{className:s,onClick:!r&&l||void 0,"aria-expanded":a,disabled:r},!r&&i.createElement(Tr,{size:"1.5em",color:n,direction:a?"down":"right",float:"left"}),i.createElement(Xu,null,o," "),i.createElement(Oa,{compact:!0,inline:!0,source:t}))},t}(i.PureComponent))(Eu||(Eu=Object(o.__makeTemplateObject)(["\n display: block;\n border: 0;\n width: 100%;\n text-align: left;\n padding: 10px;\n border-radius: 2px;\n margin-bottom: 4px;\n line-height: 1.5em;\n background-color: #f2f2f2;\n cursor: pointer;\n\n color: ",";\n background-color: ",";\n &:focus {\n outline: auto;\n outline-color: ",";\n }\n ",";\n"],["\n display: block;\n border: 0;\n width: 100%;\n text-align: left;\n padding: 10px;\n border-radius: 2px;\n margin-bottom: 4px;\n line-height: 1.5em;\n background-color: #f2f2f2;\n cursor: pointer;\n\n color: ",";\n background-color: ",";\n &:focus {\n outline: auto;\n outline-color: ",";\n }\n ",";\n"])),(function(e){return e.theme.colors.responses[e.type].color}),(function(e){return e.theme.colors.responses[e.type].backgroundColor}),(function(e){return e.theme.colors.responses[e.type].color}),(function(e){return e.empty?'\ncursor: default;\n&::before {\n content: "—";\n font-weight: bold;\n width: 1.5em;\n text-align: center;\n display: inline-block;\n vertical-align: top;\n}\n&:focus {\n outline: 0;\n}\n':""})),Qu=je.div(Su||(Su=Object(o.__makeTemplateObject)(["\n padding: 10px;\n"],["\n padding: 10px;\n"]))),Gu=je(Vn.withComponent("caption"))(Tu||(Tu=Object(o.__makeTemplateObject)(["\n text-align: left;\n margin-top: 1em;\n caption-side: top;\n"],["\n text-align: left;\n margin-top: 1em;\n caption-side: top;\n"]))),Xu=je.strong(ju||(ju=Object(o.__makeTemplateObject)(["\n vertical-align: top;\n"],["\n vertical-align: top;\n"]))),Ku=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props.headers;return void 0===e||0===e.length?null:i.createElement(Dr,null,i.createElement(Gu,null," Response Headers "),i.createElement("tbody",null,se(e,(function(e,t){return i.createElement(Xl,{isLast:t,key:e.name,field:e,showExamples:!0})}))))},t}(i.PureComponent),Ju=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.renderDropdown=function(e){return i.createElement(Vn,{key:"header"},"Response Schema: ",i.createElement(fa,Object(o.__assign)({},e)))},t}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props.response,t=e.description,n=e.headers,r=e.content;return i.createElement(i.Fragment,null,t&&i.createElement(Oa,{source:t}),i.createElement(Ku,{headers:n}),i.createElement(xu,{content:r,renderDropdown:this.renderDropdown},(function(e){var t=e.schema;return i.createElement(tc,{skipWriteOnly:!0,key:"schema",schema:t})})))},t}(i.PureComponent),Zu=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.toggle=function(){t.props.response.toggle()},t}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props.response,t=e.headers,n=e.type,r=e.summary,o=e.description,a=e.code,s=e.expanded,l=e.content,c=void 0===l?[]:l.mediaTypes.filter((function(e){return void 0!==e.schema})),u=0===t.length&&0===c.length&&!o;return i.createElement("div",null,i.createElement(Yu,{onClick:this.toggle,type:n,empty:u,title:r||"",code:a,opened:s}),s&&!u&&i.createElement(Qu,null,i.createElement(Ju,{response:this.props.response})))},t=Object(o.__decorate)([tl],t)}(i.Component),ef=je.h3(Au||(Au=Object(o.__makeTemplateObject)(["\n font-size: 1.3em;\n padding: 0.2em 0;\n margin: 3em 0 1.1em;\n color: ",";\n font-weight: normal;\n"],["\n font-size: 1.3em;\n padding: 0.2em 0;\n margin: 3em 0 1.1em;\n color: ",";\n font-weight: normal;\n"])),(function(e){return e.theme.colors.text.primary})),tf=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props,t=e.responses,n=e.isCallback;return t&&0!==t.length?i.createElement("div",null,i.createElement(ef,null,n?"Callback responses":"Responses"),t.map((function(e){return i.createElement(Zu,{key:e.code,response:e})}))):null},t}(i.PureComponent),nf=je.code(Cu||(Cu=Object(o.__makeTemplateObject)(["\n font-size: ",";\n font-family: ",";\n border: 1px solid ",";\n margin: 0 3px;\n padding: 0.2em;\n display: inline-block;\n line-height: 1;\n\n &:after {\n content: ',';\n }\n &:last-child:after {\n content: none;\n }\n"],["\n font-size: ",";\n font-family: ",";\n border: 1px solid ",";\n margin: 0 3px;\n padding: 0.2em;\n display: inline-block;\n line-height: 1;\n\n &:after {\n content: ',';\n }\n &:last-child:after {\n content: none;\n }\n"])),(function(e){return e.theme.typography.code.fontSize}),(function(e){return e.theme.typography.code.fontFamily}),(function(e){return e.theme.colors.border.dark})),rf=je.span(Iu||(Iu=Object(o.__makeTemplateObject)(["\n &:after {\n content: ' AND ';\n font-weight: bold;\n }\n\n &:last-child:after {\n content: none;\n }\n\n ",";\n"],["\n &:after {\n content: ' AND ';\n font-weight: bold;\n }\n\n &:last-child:after {\n content: none;\n }\n\n ",";\n"])),ma),of=je.span(Pu||(Pu=Object(o.__makeTemplateObject)(["\n &:before {\n content: '( ';\n font-weight: bold;\n }\n &:after {\n content: ' ) OR ';\n font-weight: bold;\n }\n &:last-child:after {\n content: ' )';\n }\n\n &:only-child:before,\n &:only-child:after {\n content: none;\n }\n\n ",";\n"],["\n &:before {\n content: '( ';\n font-weight: bold;\n }\n &:after {\n content: ' ) OR ';\n font-weight: bold;\n }\n &:last-child:after {\n content: ' )';\n }\n\n &:only-child:before,\n &:only-child:after {\n content: none;\n }\n\n ",";\n"])),ma),af=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props.security;return i.createElement(of,null,e.schemes.map((function(e){return i.createElement(rf,{key:e.id},i.createElement(er,{to:e.sectionId},e.id),e.scopes.length>0&&" (",e.scopes.map((function(e){return i.createElement(nf,{key:e},e)})),e.scopes.length>0&&") ")})))},t}(i.PureComponent),sf=je.div(Ru||(Ru=Object(o.__makeTemplateObject)(["\n flex: 1 1 auto;\n"],["\n flex: 1 1 auto;\n"]))),lf=je.div(Lu||(Lu=Object(o.__makeTemplateObject)(["\n width: ",";\n ","\n"],["\n width: ",";\n ","\n"])),(function(e){return e.theme.schema.defaultDetailsWidth}),Te("small")(Nu||(Nu=Object(o.__makeTemplateObject)(["\n margin-top: 10px;\n "],["\n margin-top: 10px;\n "])))),cf=je(Vn)(Mu||(Mu=Object(o.__makeTemplateObject)(["\n display: inline-block;\n margin: 0;\n"],["\n display: inline-block;\n margin: 0;\n"]))),uf=je.div(Fu||(Fu=Object(o.__makeTemplateObject)(["\n width: 100%;\n display: flex;\n margin: 1em 0;\n\n ","\n"],["\n width: 100%;\n display: flex;\n margin: 1em 0;\n\n ","\n"])),Te("small")(Du||(Du=Object(o.__makeTemplateObject)(["\n flex-direction: column;\n "],["\n flex-direction: column;\n "])))),ff=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props.securities;return e.length?i.createElement(uf,null,i.createElement(sf,null,i.createElement(cf,null,"Authorizations: ")),i.createElement(lf,null,e.map((function(e,t){return i.createElement(af,{key:t,security:e})})))):null},t}(i.PureComponent),pf=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props.operation,t=e.description,n=e.externalDocs,r=!(!t&&!n);return i.createElement(cu,null,r&&i.createElement(df,null,void 0!==t&&i.createElement(Oa,{source:t}),n&&i.createElement(Rl,{externalDocs:n})),i.createElement(yu,{operation:this.props.operation,inverted:!0,compact:!0}),i.createElement(Dl,{extensions:e.extensions}),i.createElement(ff,{securities:e.security}),i.createElement(_u,{parameters:e.parameters,body:e.requestBody}),i.createElement(tf,{responses:e.responses,isCallback:e.isCallback}))},t=Object(o.__decorate)([tl],t)}(i.Component),df=je.div(zu||(zu=Object(o.__makeTemplateObject)(["\n margin-bottom: ","px;\n"],["\n margin-bottom: ","px;\n"])),(function(e){return 3*e.theme.spacing.unit})),hf=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.toggle=function(){t.props.callbackOperation.toggle()},t}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props.callbackOperation,t=e.name,n=e.expanded,r=e.httpVerb,o=e.deprecated;return i.createElement(i.Fragment,null,i.createElement(lu,{onClick:this.toggle,name:t,opened:n,httpVerb:r,deprecated:o}),n&&i.createElement(pf,{operation:this.props.callbackOperation}))},t=Object(o.__decorate)([tl],t)}(i.Component),mf=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props.callbacks;return e&&0!==e.length?i.createElement("div",null,i.createElement(gf,null," Callbacks "),e.map((function(e){return e.operations.map((function(t,n){return i.createElement(hf,{key:e.name+"_"+n,callbackOperation:t})}))}))):null},t}(i.PureComponent),gf=je.h3(Uu||(Uu=Object(o.__makeTemplateObject)(["\n font-size: 1.3em;\n padding: 0.2em 0;\n margin: 3em 0 1.1em;\n color: ",";\n font-weight: normal;\n"],["\n font-size: 1.3em;\n padding: 0.2em 0;\n margin: 3em 0 1.1em;\n color: ",";\n font-weight: normal;\n"])),(function(e){return e.theme.colors.text.primary})),vf=function(e){function t(t){var n=e.call(this,t)||this;return n.switchItem=function(e){var t=e.idx;n.props.items&&n.setState({activeItemIdx:t})},n.state={activeItemIdx:0},n}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this,t=this.props.items;if(!t||!t.length)return null;return i.createElement(i.Fragment,null,i.createElement((function(t){var n=t.children;return e.props.label?i.createElement(as,null,i.createElement(is,null,e.props.label),n):n}),null,this.props.renderDropdown({value:this.props.options[this.state.activeItemIdx].value,options:this.props.options,onChange:this.switchItem,ariaLabel:this.props.label||"Callback"})),this.props.children(t[this.state.activeItemIdx]))},t=Object(o.__decorate)([tl],t)}(i.Component),yf=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.renderDropdown=function(e){return i.createElement(fa,Object(o.__assign)({Label:os,Dropdown:ss},e))},t}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this,t=this.props.content;return void 0===t?null:i.createElement(xu,{content:t,renderDropdown:this.renderDropdown,withLabel:!0},(function(t){return i.createElement(cs,{key:"samples",mediaType:t,renderDropdown:e.renderDropdown})}))},t=Object(o.__decorate)([tl],t)}(i.Component),bf=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props.callback.codeSamples.find((function(e){return gn(e)}));return e?i.createElement(xf,null,i.createElement(yf,{content:e.requestBodyContent})):null},t}(i.Component),xf=je.div(Bu||(Bu=Object(o.__makeTemplateObject)(["\n margin-top: 15px;\n"],["\n margin-top: 15px;\n"]))),wf=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.renderDropdown=function(e){return i.createElement(fa,Object(o.__assign)({Label:os,Dropdown:ss},e))},t}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this,t=this.props.callbacks;if(!t||0===t.length)return null;var n=t.map((function(e){return e.operations.map((function(e){return e}))})).reduce((function(e,t){return e.concat(t)}),[]);if(!n.some((function(e){return e.codeSamples.length>0})))return null;var r=n.map((function(e,t){return{value:e.httpVerb.toUpperCase()+": "+e.name,idx:t}}));return i.createElement("div",null,i.createElement(Hn,null," Callback payload samples "),i.createElement(_f,null,i.createElement(vf,{items:n,renderDropdown:this.renderDropdown,label:"Callback",options:r},(function(t){return i.createElement(bf,{key:"callbackPayloadSample",callback:t,renderDropdown:e.renderDropdown})}))))},t.contextType=Ue,t=Object(o.__decorate)([tl],t)}(i.Component),_f=je.div($u||($u=Object(o.__makeTemplateObject)(["\n background: ",";\n padding: ","px;\n"],["\n background: ",";\n padding: ","px;\n"])),(function(e){return e.theme.codeBlock.backgroundColor}),(function(e){return 4*e.theme.spacing.unit})),kf=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props.operation.codeSamples,t=e.length>0,n=1===e.length&&this.context.hideSingleRequestSampleTab;return t&&i.createElement("div",null,i.createElement(Hn,null," Request samples "),i.createElement(pi,{defaultIndex:0},i.createElement(ti,{hidden:n},e.map((function(e){return i.createElement(ri,{className:"exampleButton",key:e.lang+"_"+(e.label||"")},void 0!==e.label?e.label:"Shell + Curl"===e.lang?e.lang.slice(8):"Node + Native"===e.lang?e.lang.slice(0,4):"Go + Native"===e.lang?e.lang.slice(0,2):"Ruby + Native"===e.lang?e.lang.slice(0,4):"Python + Python3"===e.lang?e.lang.slice(9):"Javascript + Jquery"===e.lang?e.lang.slice(0,10):e.lang)}))),e.map((function(e){return i.createElement(ii,{key:e.lang+"_"+(e.label||"")},gn(e)?i.createElement("div",null,i.createElement(yf,{content:e.requestBodyContent})):i.createElement(Qa,{lang:e.lang,source:e.source}))}))))||null},t.contextType=Ue,t=Object(o.__decorate)([tl],t)}(i.Component),Of=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props.operation.responses.filter((function(e){return e.content&&e.content.hasSample}));return e.length>0&&i.createElement("div",null,i.createElement(Hn,null," Response samples "),i.createElement(pi,{defaultIndex:0},i.createElement(ti,null,e.map((function(e){return i.createElement(ri,{className:"tab-"+e.type,key:e.code},e.code)}))),e.map((function(e){return i.createElement(ii,{key:e.code},i.createElement("div",null,i.createElement(yf,{content:e.content})))}))))||null},t=Object(o.__decorate)([tl],t)}(i.Component),Ef=je(Un)(Wu||(Wu=Object(o.__makeTemplateObject)(["\n backface-visibility: hidden;\n contain: content;\n overflow: hidden;\n"],["\n backface-visibility: hidden;\n contain: content;\n overflow: hidden;\n"]))),Sf=je.div(qu||(qu=Object(o.__makeTemplateObject)(["\n margin-bottom: ","px;\n"],["\n margin-bottom: ","px;\n"])),(function(e){return 6*e.theme.spacing.unit})),Tf=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props.operation,t=e.name,n=e.description,r=e.deprecated,o=e.externalDocs,a=e.isWebhook,s=!(!n&&!o);return i.createElement(Ue.Consumer,null,(function(l){return i.createElement(Ef,null,i.createElement(Mn,null,i.createElement(qn,null,i.createElement(nr,{to:e.id}),t," ",r&&i.createElement(jr,{type:"warning"}," Deprecated "),a&&i.createElement(jr,{type:"primary"}," Webhook ")),l.pathInMiddlePanel&&!a&&i.createElement(yu,{operation:e,inverted:!0}),s&&i.createElement(Sf,null,void 0!==n&&i.createElement(Oa,{source:n}),o&&i.createElement(Rl,{externalDocs:o})),i.createElement(Dl,{extensions:e.extensions}),i.createElement(ff,{securities:e.security}),i.createElement(_u,{parameters:e.parameters,body:e.requestBody}),i.createElement(tf,{responses:e.responses}),i.createElement(mf,{callbacks:e.callbacks})),i.createElement(zn,null,!l.pathInMiddlePanel&&!a&&i.createElement(yu,{operation:e}),i.createElement(kf,{operation:e}),i.createElement(Of,{operation:e}),i.createElement(wf,{callbacks:e.callbacks})))}))},t=Object(o.__decorate)([tl],t)}(i.Component),jf=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props.items;return 0===e.length?null:e.map((function(e){return i.createElement(Af,{key:e.id,item:e})}))},t=Object(o.__decorate)([tl],t)}(i.Component),Af=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e,t=this.props.item;switch(t.type){case"group":e=null;break;case"tag":case"section":e=i.createElement(If,Object(o.__assign)({},this.props));break;case"operation":e=i.createElement(Pf,{item:t});break;default:e=i.createElement(If,Object(o.__assign)({},this.props))}return i.createElement(i.Fragment,null,e&&i.createElement(Dn,{id:t.id,underlined:"operation"===t.type},e),t.items&&i.createElement(jf,{items:t.items}))},t=Object(o.__decorate)([tl],t)}(i.Component),Cf=function(e){return i.createElement(Mn,{compact:!0},e)},If=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props.item,t=e.name,n=e.description,r=e.externalDocs,o=2===e.level?qn:Wn;return i.createElement(i.Fragment,null,i.createElement(Un,null,i.createElement(Mn,{compact:!1},i.createElement(o,null,i.createElement(nr,{to:this.props.item.id}),t))),i.createElement(Tc,{source:n||"",htmlWrap:Cf}),r&&i.createElement(Un,null,i.createElement(Mn,null,i.createElement(Rl,{externalDocs:r}))))},t=Object(o.__decorate)([tl],t)}(i.Component),Pf=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){return i.createElement(Tf,{operation:this.props.item})},t=Object(o.__decorate)([tl],t)}(i.Component),Rf=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.ref=i.createRef(),t.activate=function(e){t.props.onActivate(t.props.item),e.stopPropagation()},t}return Object(o.__extends)(t,e),t.prototype.componentDidMount=function(){this.scrollIntoViewIfActive()},t.prototype.componentDidUpdate=function(){this.scrollIntoViewIfActive()},t.prototype.scrollIntoViewIfActive=function(){this.props.item.active&&this.ref.current&&this.ref.current.scrollIntoViewIfNeeded()},t.prototype.render=function(){var e=this.props,t=e.item,n=e.withoutChildren;return i.createElement(Zc,{onClick:this.activate,depth:t.depth,"data-item-id":t.id},"operation"===t.type?i.createElement(Nf,Object(o.__assign)({},this.props,{item:t})):i.createElement(tu,{depth:t.depth,active:t.active,type:t.type,ref:this.ref},i.createElement(nu,{title:t.name},t.name,this.props.children),t.depth>0&&t.items.length>0&&i.createElement(Tr,{float:"right",direction:t.expanded?"down":"right"})||null),!n&&t.items&&t.items.length>0&&i.createElement(Lf,{expanded:t.expanded,items:t.items,onActivate:this.props.onActivate}))},t=Object(o.__decorate)([tl],t)}(i.Component),Nf=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.ref=i.createRef(),t}return Object(o.__extends)(t,e),t.prototype.componentDidUpdate=function(){this.props.item.active&&this.ref.current&&this.ref.current.scrollIntoViewIfNeeded()},t.prototype.render=function(){var e=this.props.item;return i.createElement(tu,{depth:e.depth,active:e.active,deprecated:e.deprecated,ref:this.ref},e.isWebhook?i.createElement(Ac,{type:"hook"},ge("webhook")):i.createElement(Ac,{type:e.httpVerb},xt(e.httpVerb)),i.createElement(nu,{width:"calc(100% - 38px)"},e.name,this.props.children))},t=Object(o.__decorate)([tl],t)}(i.Component),Lf=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this,t=this.props,n=t.items,r=t.root,a=t.className,s=null==this.props.expanded||this.props.expanded;return i.createElement(Jc,Object(o.__assign)({className:a,style:this.props.style,expanded:s},r?{role:"navigation"}:{}),n.map((function(t,n){return i.createElement(Rf,{key:n,item:t,onActivate:e.props.onActivate})})))},t=Object(o.__decorate)([tl],t)}(i.Component),Mf=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.activate=function(e){if(e&&e.active&&t.context.menuToggle)return e.expanded?e.collapse():e.expand();t.props.menu.activateAndScroll(e,!0),setTimeout((function(){t._updateScroll&&t._updateScroll()}))},t.saveScrollUpdate=function(e){t._updateScroll=e},t}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props.menu;return i.createElement(Ji,{updateFn:this.saveScrollUpdate,className:this.props.className,options:{wheelPropagation:!1}},i.createElement(Lf,{items:e.items,onActivate:this.activate,root:!0}),i.createElement(ru,null,i.createElement("a",{target:"_blank",rel:"noopener noreferrer",href:"https://github.com/Redocly/redoc"},"Documentation Powered by ReDoc")))},t.contextType=Ue,t=Object(o.__decorate)([tl],t)}(i.Component),Df=function(e){var t=e.open?8:-4;return i.createElement(zf,null,i.createElement(Ff,{size:15,style:{transform:"translate(2px, "+t+"px) rotate(180deg)",transition:"transform 0.2s ease"}}),i.createElement(Ff,{size:15,style:{transform:"translate(2px, "+(0-t)+"px)",transition:"transform 0.2s ease"}}))},Ff=function(e){var t=e.size,n=void 0===t?10:t,r=e.className,o=void 0===r?"":r,a=e.style;return i.createElement("svg",{className:o,style:a||{},viewBox:"0 0 926.23699 573.74994",version:"1.1",x:"0px",y:"0px",width:n,height:n},i.createElement("g",{transform:"translate(904.92214,-879.1482)"},i.createElement("path",{d:"\n m -673.67664,1221.6502 -231.2455,-231.24803 55.6165,\n -55.627 c 30.5891,-30.59485 56.1806,-55.627 56.8701,-55.627 0.6894,\n 0 79.8637,78.60862 175.9427,174.68583 l 174.6892,174.6858 174.6892,\n -174.6858 c 96.079,-96.07721 175.253196,-174.68583 175.942696,\n -174.68583 0.6895,0 26.281,25.03215 56.8701,\n 55.627 l 55.6165,55.627 -231.245496,231.24803 c -127.185,127.1864\n -231.5279,231.248 -231.873,231.248 -0.3451,0 -104.688,\n -104.0616 -231.873,-231.248 z\n ",fill:"currentColor"})))},zf=je.div(Hu||(Hu=Object(o.__makeTemplateObject)(["\n user-select: none;\n width: 20px;\n height: 20px;\n align-self: center;\n display: flex;\n flex-direction: column;\n color: ",";\n"],["\n user-select: none;\n width: 20px;\n height: 20px;\n align-self: center;\n display: flex;\n flex-direction: column;\n color: ",";\n"])),(function(e){return e.theme.colors.primary.main}));ne&&(Vu=n(325));var Uf,Bf,$f,Wf,qf,Hf,Vf,Yf,Qf,Gf,Xf,Kf,Jf,Zf,ep=Vu&&Vu(),tp=je.div(Bf||(Bf=Object(o.__makeTemplateObject)(["\n width: ",";\n background-color: ",";\n overflow: hidden;\n display: flex;\n flex-direction: column;\n\n backface-visibility: hidden;\n /* contain: strict; TODO: breaks layout since Chrome 80*/\n\n height: 100vh;\n position: sticky;\n position: -webkit-sticky;\n top: 0;\n\n ",";\n\n @media print {\n display: none;\n }\n"],["\n width: ",";\n background-color: ",";\n overflow: hidden;\n display: flex;\n flex-direction: column;\n\n backface-visibility: hidden;\n /* contain: strict; TODO: breaks layout since Chrome 80*/\n\n height: 100vh;\n position: sticky;\n position: -webkit-sticky;\n top: 0;\n\n ",";\n\n @media print {\n display: none;\n }\n"])),(function(e){return e.theme.sidebar.width}),(function(e){return e.theme.sidebar.backgroundColor}),Te("small")(Uf||(Uf=Object(o.__makeTemplateObject)(["\n position: fixed;\n z-index: 20;\n width: 100%;\n background: ",";\n display: ",";\n "],["\n position: fixed;\n z-index: 20;\n width: 100%;\n background: ",";\n display: ",";\n "])),(function(e){return e.theme.sidebar.backgroundColor}),(function(e){return e.open?"flex":"none"}))),np=je.div(Wf||(Wf=Object(o.__makeTemplateObject)(["\n outline: none;\n user-select: none;\n background-color: #f2f2f2;\n color: ",";\n display: none;\n cursor: pointer;\n position: fixed;\n right: 20px;\n z-index: 100;\n border-radius: 50%;\n box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);\n ",";\n\n bottom: 44px;\n\n width: 60px;\n height: 60px;\n padding: 0 20px;\n\n @media print {\n display: none;\n }\n"],["\n outline: none;\n user-select: none;\n background-color: #f2f2f2;\n color: ",";\n display: none;\n cursor: pointer;\n position: fixed;\n right: 20px;\n z-index: 100;\n border-radius: 50%;\n box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);\n ",";\n\n bottom: 44px;\n\n width: 60px;\n height: 60px;\n padding: 0 20px;\n\n @media print {\n display: none;\n }\n"])),(function(e){return e.theme.colors.primary.main}),Te("small")($f||($f=Object(o.__makeTemplateObject)(["\n display: flex;\n "],["\n display: flex;\n "])))),rp=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={offsetTop:"0px"},t.toggleNavMenu=function(){t.props.menu.toggleSidebar()},t}return Object(o.__extends)(t,e),t.prototype.componentDidMount=function(){ep&&ep.add(this.stickyElement),this.setState({offsetTop:this.getScrollYOffset(this.context)})},t.prototype.componentWillUnmount=function(){ep&&ep.remove(this.stickyElement)},t.prototype.getScrollYOffset=function(e){return(void 0!==this.props.scrollYOffset?be.normalizeScrollYOffset(this.props.scrollYOffset)():e.scrollYOffset())+"px"},t.prototype.render=function(){var e=this,t=this.props.menu.sideBarOpened,n=this.state.offsetTop;return i.createElement(i.Fragment,null,i.createElement(tp,{open:t,className:this.props.className,style:{top:n,height:"calc(100vh - "+n+")"},ref:function(t){e.stickyElement=t}},this.props.children),i.createElement(np,{onClick:this.toggleNavMenu},i.createElement(Df,{open:t})))},t.contextType=Ue,t=Object(o.__decorate)([tl],t)}(i.Component),op=je.div(qf||(qf=Object(o.__makeTemplateObject)(["\n ",";\n"],["\n ",";\n"])),(function(e){var t=e.theme;return"\n font-family: "+t.typography.fontFamily+";\n font-size: "+t.typography.fontSize+";\n font-weight: "+t.typography.fontWeightRegular+";\n line-height: "+t.typography.lineHeight+";\n color: "+t.colors.text.primary+";\n display: flex;\n position: relative;\n text-align: left;\n\n -webkit-font-smoothing: "+t.typography.smoothing+";\n font-smoothing: "+t.typography.smoothing+";\n "+(t.typography.optimizeSpeed?"text-rendering: optimizeSpeed !important":"")+";\n\n tap-highlight-color: rgba(0, 0, 0, 0);\n text-size-adjust: 100%;\n\n * {\n box-sizing: border-box;\n -webkit-tap-highlight-color: rgba(255, 255, 255, 0);\n }\n"})),ip=je.div(Vf||(Vf=Object(o.__makeTemplateObject)(["\n z-index: 1;\n position: relative;\n overflow: hidden;\n width: calc(100% - ",");\n ",";\n\n contain: layout;\n"],["\n z-index: 1;\n position: relative;\n overflow: hidden;\n width: calc(100% - ",");\n ",";\n\n contain: layout;\n"])),(function(e){return e.theme.sidebar.width}),Te("small",!0)(Hf||(Hf=Object(o.__makeTemplateObject)(["\n width: 100%;\n "],["\n width: 100%;\n "])))),ap=je.div(Qf||(Qf=Object(o.__makeTemplateObject)(["\n background: ",";\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n width: ",";\n ",";\n"],["\n background: ",";\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n width: ",";\n ",";\n"])),(function(e){return e.theme.rightPanel.backgroundColor}),(function(e){var t=e.theme;if(t.rightPanel.width.endsWith("%")){var n=parseInt(t.rightPanel.width,10);return"calc((100% - "+t.sidebar.width+") * "+n/100+")"}return t.rightPanel.width}),Te("medium",!0)(Yf||(Yf=Object(o.__makeTemplateObject)(["\n display: none;\n "],["\n display: none;\n "])))),sp=je.div(Gf||(Gf=Object(o.__makeTemplateObject)(["\n padding: 5px 0;\n"],["\n padding: 5px 0;\n"]))),lp=je.input.attrs((function(){return{className:"search-input"}}))(Xf||(Xf=Object(o.__makeTemplateObject)(["\n width: calc(100% - ","px);\n box-sizing: border-box;\n margin: 0 ","px;\n padding: 5px ","px 5px\n ","px;\n border: 0;\n border-bottom: 1px solid\n ",";\n font-family: ",";\n font-weight: bold;\n font-size: 13px;\n color: ",";\n background-color: transparent;\n outline: none;\n"],["\n width: calc(100% - ","px);\n box-sizing: border-box;\n margin: 0 ","px;\n padding: 5px ","px 5px\n ","px;\n border: 0;\n border-bottom: 1px solid\n ",";\n font-family: ",";\n font-weight: bold;\n font-size: 13px;\n color: ",";\n background-color: transparent;\n outline: none;\n"])),(function(e){return 8*e.theme.spacing.unit}),(function(e){return 4*e.theme.spacing.unit}),(function(e){return 2*e.theme.spacing.unit}),(function(e){return 4*e.theme.spacing.unit}),(function(e){var t=e.theme;return(Y(t.sidebar.backgroundColor)>.5?q:X)(.1,t.sidebar.backgroundColor)}),(function(e){return e.theme.typography.fontFamily}),(function(e){return e.theme.sidebar.textColor})),cp=je((function(e){return i.createElement("svg",{className:e.className,version:"1.1",viewBox:"0 0 1000 1000",x:"0px",xmlns:"http://www.w3.org/2000/svg",y:"0px"},i.createElement("path",{d:"M968.2,849.4L667.3,549c83.9-136.5,66.7-317.4-51.7-435.6C477.1-25,252.5-25,113.9,113.4c-138.5,138.3-138.5,362.6,0,501C219.2,730.1,413.2,743,547.6,666.5l301.9,301.4c43.6,43.6,76.9,14.9,104.2-12.4C981,928.3,1011.8,893,968.2,849.4z M524.5,522c-88.9,88.7-233,88.7-321.8,0c-88.9-88.7-88.9-232.6,0-321.3c88.9-88.7,233-88.7,321.8,0C613.4,289.4,613.4,433.3,524.5,522z"}))})).attrs({className:"search-icon"})(Kf||(Kf=Object(o.__makeTemplateObject)(["\n position: absolute;\n left: ","px;\n height: 1.8em;\n width: 0.9em;\n\n path {\n fill: ",";\n }\n"],["\n position: absolute;\n left: ","px;\n height: 1.8em;\n width: 0.9em;\n\n path {\n fill: ",";\n }\n"])),(function(e){return 4*e.theme.spacing.unit}),(function(e){return e.theme.sidebar.textColor})),up=je.div(Jf||(Jf=Object(o.__makeTemplateObject)(["\n padding: ","px 0;\n background-color: ","};\n color: ",";\n min-height: 150px;\n max-height: 250px;\n border-top: ","};\n border-bottom: ","};\n margin-top: 10px;\n line-height: 1.4;\n font-size: 0.9em;\n\n "," {\n padding-top: 6px;\n padding-bottom: 6px;\n\n &:hover,\n &.active {\n background-color: ",";\n }\n\n > svg {\n display: none;\n }\n }\n"],["\n padding: ","px 0;\n background-color: ","};\n color: ",";\n min-height: 150px;\n max-height: 250px;\n border-top: ","};\n border-bottom: ","};\n margin-top: 10px;\n line-height: 1.4;\n font-size: 0.9em;\n\n "," {\n padding-top: 6px;\n padding-bottom: 6px;\n\n &:hover,\n &.active {\n background-color: ",";\n }\n\n > svg {\n display: none;\n }\n }\n"])),(function(e){return e.theme.spacing.unit}),(function(e){var t=e.theme;return q(.05,t.sidebar.backgroundColor)}),(function(e){return e.theme.sidebar.textColor}),(function(e){var t=e.theme;return q(.1,t.sidebar.backgroundColor)}),(function(e){var t=e.theme;return q(.1,t.sidebar.backgroundColor)}),tu,(function(e){var t=e.theme;return q(.1,t.sidebar.backgroundColor)})),fp=je.i(Zf||(Zf=Object(o.__makeTemplateObject)(["\n position: absolute;\n display: inline-block;\n width: ","px;\n text-align: center;\n right: ","px;\n line-height: 2em;\n vertical-align: middle;\n margin-right: 2px;\n cursor: pointer;\n font-style: normal;\n color: '#666';\n"],["\n position: absolute;\n display: inline-block;\n width: ","px;\n text-align: center;\n right: ","px;\n line-height: 2em;\n vertical-align: middle;\n margin-right: 2px;\n cursor: pointer;\n font-style: normal;\n color: '#666';\n"])),(function(e){return 2*e.theme.spacing.unit}),(function(e){return 4*e.theme.spacing.unit})),pp=function(e){function t(t){var n=e.call(this,t)||this;return n.activeItemRef=null,n.clear=function(){n.setState({results:[],term:"",activeItemIdx:-1}),n.props.marker.unmark()},n.handleKeyDown=function(e){if(27===e.keyCode&&n.clear(),40===e.keyCode&&(n.setState({activeItemIdx:Math.min(n.state.activeItemIdx+1,n.state.results.length-1)}),e.preventDefault()),38===e.keyCode&&(n.setState({activeItemIdx:Math.max(0,n.state.activeItemIdx-1)}),e.preventDefault()),13===e.keyCode){var t=n.state.results[n.state.activeItemIdx];if(t){var r=n.props.getItemById(t.meta);r&&n.props.onActivate(r)}}},n.search=function(e){var t=e.target.value;t.length<3?n.clearResults(t):n.setState({term:t},(function(){return n.searchCallback(n.state.term)}))},n.state={results:[],term:"",activeItemIdx:-1},n}return Object(o.__extends)(t,e),t.prototype.clearResults=function(e){this.setState({results:[],term:e}),this.props.marker.unmark()},t.prototype.setResults=function(e,t){this.setState({results:e}),this.props.marker.mark(t)},t.prototype.searchCallback=function(e){var t=this;this.props.search.search(e).then((function(n){t.setResults(n,e)}))},t.prototype.render=function(){var e=this,t=this.state.activeItemIdx,n=this.state.results.map((function(t){return{item:e.props.getItemById(t.meta),score:t.score}}));return n.sort((function(e,t){return t.score-e.score})),i.createElement(sp,{role:"search"},this.state.term&&i.createElement(fp,{onClick:this.clear},"×"),i.createElement(cp,null),i.createElement(lp,{value:this.state.term,onKeyDown:this.handleKeyDown,placeholder:"Search...",type:"text",onChange:this.search}),n.length>0&&i.createElement(Ji,{options:{wheelPropagation:!1}},i.createElement(up,{"data-role":"search:results"},n.map((function(n,r){return i.createElement(Rf,{item:Object.create(n.item,{active:{value:r===t}}),onActivate:e.props.onActivate,withoutChildren:!0,key:n.item.id,"data-role":"search:result"})})))))},Object(o.__decorate)([Ye.bind,Object(Ye.debounce)(400)],t.prototype,"searchCallback",null),t}(i.PureComponent),dp=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.componentDidMount=function(){this.props.store.onDidMount()},t.prototype.componentWillUnmount=function(){this.props.store.dispose()},t.prototype.render=function(){var e=this.props.store,t=e.spec,n=e.menu,r=e.options,o=e.search,a=e.marker,s=this.props.store;return i.createElement(Se,{theme:r.theme},i.createElement(Gn,{value:this.props.store},i.createElement(Be,{value:r},i.createElement(op,{className:"redoc-wrap"},i.createElement(rp,{menu:n,className:"menu-content"},i.createElement(Sc,{info:t.info}),!r.disableSearch&&i.createElement(pp,{search:o,marker:a,getItemById:n.getItemById,onActivate:n.activateAndScroll})||null,i.createElement(Mf,{menu:n})),i.createElement(ip,{className:"api-content"},i.createElement(_c,{store:s}),i.createElement(jf,{items:n.items})),i.createElement(ap,null)))))},t.propTypes={store:c.instanceOf(mc).isRequired},t}(i.Component),hp=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(t,e),t.prototype.render=function(){var e=this.props,t=e.spec,n=e.specUrl,r=e.options,o=void 0===r?{}:r,a=e.onLoaded,s=void 0!==o.hideLoading,l=new be(o);return i.createElement(Le,null,i.createElement(Kn,{spec:t,specUrl:n,options:o,onLoaded:a},(function(e){var t=e.loading,n=e.store;return t?s?null:i.createElement(ze,{color:l.theme.colors.primary.main}):i.createElement(dp,{store:n})})))},t.propTypes={spec:function(e,t,n){return e.spec||e.specUrl?null:new Error("One of props 'spec' or 'specUrl' was not specified in '"+n+"'.")},specUrl:function(e,t,n){return e.spec||e.specUrl?null:new Error("One of props 'spec' or 'specUrl' was not specified in '"+n+"'.")},options:c.any,onLoaded:c.any},t}(i.PureComponent);Object(l.h)({useProxies:"ifavailable"});var mp="2.0.0-rc.47",gp="35783e91";function vp(e){var t=function(e){for(var t={},n=e.attributes,r=0;r tag is not found on the page');var a,l;"string"==typeof e?a=e:"object"==typeof e&&(l=e),Object(s.render)(i.createElement(hp,{spec:l,onLoaded:r,specUrl:a,options:Object(o.__assign)(Object(o.__assign)({},t),vp(n))},["Loading..."]),n)}function bp(e,t,n){void 0===t&&(t=re("redoc")),Et();var r=mc.fromJS(e);St(),setTimeout((function(){Et(),Object(s.hydrate)(i.createElement(dp,{store:r}),t,n),St()}),0)}!function(){var e=re("redoc");if(e){var t=e.getAttribute("spec-url");t&&yp(t,{},e)}}()}])})); //# sourceMappingURL=redoc.standalone.js.map \ No newline at end of file diff --git a/bundles/redoc.standalone.js.map b/bundles/redoc.standalone.js.map index 5b8f0cff..00a7dcc5 100644 --- a/bundles/redoc.standalone.js.map +++ b/bundles/redoc.standalone.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://Redoc/webpack/universalModuleDefinition","webpack://Redoc/webpack/bootstrap","webpack://Redoc/./node_modules/react/index.js","webpack://Redoc/./node_modules/tslib/tslib.es6.js","webpack://Redoc/./node_modules/mobx/src/errors.ts","webpack://Redoc/./node_modules/mobx/src/utils/global.ts","webpack://Redoc/./node_modules/mobx/src/utils/utils.ts","webpack://Redoc/./node_modules/mobx/src/api/decorators.ts","webpack://Redoc/./node_modules/mobx/src/core/atom.ts","webpack://Redoc/./node_modules/mobx/src/core/observable.ts","webpack://Redoc/./node_modules/mobx/src/api/become-observed.ts","webpack://Redoc/./node_modules/mobx/src/utils/comparer.ts","webpack://Redoc/./node_modules/mobx/src/types/modifiers.ts","webpack://Redoc/./node_modules/mobx/src/api/observable.ts","webpack://Redoc/./node_modules/mobx/src/api/extendobservable.ts","webpack://Redoc/./node_modules/mobx/src/types/dynamicobject.ts","webpack://Redoc/./node_modules/mobx/src/api/computed.ts","webpack://Redoc/./node_modules/mobx/src/core/action.ts","webpack://Redoc/./node_modules/mobx/src/types/observablevalue.ts","webpack://Redoc/./node_modules/mobx/src/core/computedvalue.ts","webpack://Redoc/./node_modules/mobx/src/core/derivation.ts","webpack://Redoc/./node_modules/mobx/src/core/globalstate.ts","webpack://Redoc/./node_modules/mobx/src/core/reaction.ts","webpack://Redoc/./node_modules/mobx/src/api/trace.ts","webpack://Redoc/./node_modules/mobx/src/api/action.ts","webpack://Redoc/./node_modules/mobx/src/api/autorun.ts","webpack://Redoc/./node_modules/mobx/src/api/configure.ts","webpack://Redoc/./node_modules/mobx/src/api/extras.ts","webpack://Redoc/./node_modules/mobx/src/api/flow.ts","webpack://Redoc/./node_modules/mobx/src/api/isobservable.ts","webpack://Redoc/./node_modules/mobx/src/api/observe.ts","webpack://Redoc/./node_modules/mobx/src/api/transaction.ts","webpack://Redoc/./node_modules/mobx/src/api/object-api.ts","webpack://Redoc/./node_modules/mobx/src/types/intercept-utils.ts","webpack://Redoc/./node_modules/mobx/src/types/listen-utils.ts","webpack://Redoc/./node_modules/mobx/src/api/makeObservable.ts","webpack://Redoc/./node_modules/mobx/src/types/observablearray.ts","webpack://Redoc/./node_modules/mobx/src/core/spy.ts","webpack://Redoc/./node_modules/mobx/src/types/observablemap.ts","webpack://Redoc/./node_modules/mobx/src/types/observableset.ts","webpack://Redoc/./node_modules/mobx/src/types/observableobject.ts","webpack://Redoc/./node_modules/mobx/src/types/legacyobservablearray.ts","webpack://Redoc/./node_modules/mobx/src/types/type-utils.ts","webpack://Redoc/./node_modules/mobx/src/utils/eq.ts","webpack://Redoc/./node_modules/mobx/src/utils/iterable.ts","webpack://Redoc/./node_modules/mobx/src/mobx.ts","webpack://Redoc/./node_modules/core-js/internals/global.js","webpack://Redoc/./node_modules/core-js/internals/well-known-symbol.js","webpack://Redoc/./node_modules/js-yaml/lib/js-yaml/type.js","webpack://Redoc/./node_modules/core-js/internals/export.js","webpack://Redoc/(webpack)/buildin/global.js","webpack://Redoc/./node_modules/core-js/internals/fails.js","webpack://Redoc/./node_modules/core-js/internals/is-object.js","webpack://Redoc/./node_modules/url/url.js","webpack://Redoc/./node_modules/core-js/internals/has.js","webpack://Redoc/./node_modules/core-js/internals/define-well-known-symbol.js","webpack://Redoc/./node_modules/styled-components/src/constants.js","webpack://Redoc/./node_modules/styled-components/src/sheet/Tag.js","webpack://Redoc/./node_modules/styled-components/src/sheet/Sheet.js","webpack://Redoc/./node_modules/styled-components/src/utils/isStaticRules.js","webpack://Redoc/./node_modules/styled-components/src/models/Keyframes.js","webpack://Redoc/./node_modules/styled-components/src/models/StyledComponent.js","webpack://Redoc/./node_modules/styled-components/src/models/GlobalStyle.js","webpack://Redoc/./node_modules/styled-components/src/models/ServerStyleSheet.js","webpack://Redoc/./node_modules/buffer/index.js","webpack://Redoc/./node_modules/core-js/internals/descriptors.js","webpack://Redoc/./node_modules/core-js/internals/object-define-property.js","webpack://Redoc/./node_modules/process/browser.js","webpack://Redoc/./node_modules/json-pointer/index.js","webpack://Redoc/./node_modules/core-js/internals/an-object.js","webpack://Redoc/./node_modules/prop-types/index.js","webpack://Redoc/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://Redoc/./node_modules/core-js/internals/redefine.js","webpack://Redoc/./node_modules/core-js/internals/is-pure.js","webpack://Redoc/./node_modules/core-js/internals/get-built-in.js","webpack://Redoc/./node_modules/core-js/internals/path.js","webpack://Redoc/./node_modules/core-js/internals/set-to-string-tag.js","webpack://Redoc/./node_modules/json-schema-ref-parser/lib/util/url.js","webpack://Redoc/./node_modules/decko/src/decko.js","webpack://Redoc/./node_modules/core-js/internals/to-indexed-object.js","webpack://Redoc/./node_modules/ono/lib/ono.js","webpack://Redoc/./node_modules/inherits/inherits_browser.js","webpack://Redoc/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://Redoc/./node_modules/core-js/internals/create-property-descriptor.js","webpack://Redoc/./node_modules/core-js/internals/internal-state.js","webpack://Redoc/./node_modules/core-js/internals/to-length.js","webpack://Redoc/./node_modules/core-js/internals/iterate.js","webpack://Redoc/./node_modules/core-js/internals/a-function.js","webpack://Redoc/./node_modules/js-yaml/lib/js-yaml/schema.js","webpack://Redoc/./node_modules/readable-stream/lib/_stream_duplex.js","webpack://Redoc/./node_modules/prismjs/prism.js","webpack://Redoc/./node_modules/core-js/internals/classof-raw.js","webpack://Redoc/./node_modules/core-js/internals/require-object-coercible.js","webpack://Redoc/./node_modules/core-js/internals/hidden-keys.js","webpack://Redoc/./node_modules/core-js/internals/to-object.js","webpack://Redoc/./node_modules/core-js/internals/object-create.js","webpack://Redoc/./node_modules/core-js/internals/iterators.js","webpack://Redoc/./node_modules/core-js/internals/function-bind-context.js","webpack://Redoc/./node_modules/js-yaml/lib/js-yaml/common.js","webpack://Redoc/./node_modules/core-util-is/lib/util.js","webpack://Redoc/./node_modules/path-browserify/index.js","webpack://Redoc/./node_modules/marked/lib/marked.js","webpack://Redoc/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://Redoc/./node_modules/core-js/internals/to-primitive.js","webpack://Redoc/./node_modules/core-js/internals/shared-key.js","webpack://Redoc/./node_modules/core-js/internals/uid.js","webpack://Redoc/./node_modules/core-js/internals/object-keys.js","webpack://Redoc/./node_modules/core-js/internals/new-promise-capability.js","webpack://Redoc/./node_modules/js-yaml/lib/js-yaml/exception.js","webpack://Redoc/./node_modules/js-yaml/lib/js-yaml/schema/default_safe.js","webpack://Redoc/./node_modules/process-nextick-args/index.js","webpack://Redoc/./node_modules/safe-buffer/index.js","webpack://Redoc/./node_modules/json-schema-ref-parser/lib/ref.js","webpack://Redoc/external \"null\"","webpack://Redoc/./node_modules/reftools/lib/jptr.js","webpack://Redoc/./node_modules/reftools/lib/clone.js","webpack://Redoc/./node_modules/react-is/index.js","webpack://Redoc/./node_modules/eventemitter3/index.js","webpack://Redoc/./node_modules/url-template/lib/url-template.js","webpack://Redoc/./node_modules/core-js/internals/indexed-object.js","webpack://Redoc/./node_modules/core-js/internals/document-create-element.js","webpack://Redoc/./node_modules/core-js/internals/set-global.js","webpack://Redoc/./node_modules/core-js/internals/inspect-source.js","webpack://Redoc/./node_modules/core-js/internals/shared-store.js","webpack://Redoc/./node_modules/core-js/internals/shared.js","webpack://Redoc/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://Redoc/./node_modules/core-js/internals/to-integer.js","webpack://Redoc/./node_modules/core-js/internals/enum-bug-keys.js","webpack://Redoc/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://Redoc/./node_modules/core-js/internals/is-forced.js","webpack://Redoc/./node_modules/core-js/internals/object-get-prototype-of.js","webpack://Redoc/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://Redoc/./node_modules/core-js/internals/native-symbol.js","webpack://Redoc/./node_modules/core-js/internals/to-string-tag-support.js","webpack://Redoc/./node_modules/core-js/modules/es.object.to-string.js","webpack://Redoc/./node_modules/core-js/internals/an-instance.js","webpack://Redoc/./node_modules/core-js/internals/engine-is-node.js","webpack://Redoc/./node_modules/core-js/internals/perform.js","webpack://Redoc/./node_modules/core-js/internals/engine-v8-version.js","webpack://Redoc/./node_modules/core-js/internals/define-iterator.js","webpack://Redoc/./node_modules/core-js/internals/is-array.js","webpack://Redoc/./node_modules/core-js/internals/entry-unbind.js","webpack://Redoc/./node_modules/js-yaml/lib/js-yaml/schema/failsafe.js","webpack://Redoc/./node_modules/js-yaml/lib/js-yaml/schema/default_full.js","webpack://Redoc/./node_modules/stream-http/index.js","webpack://Redoc/./node_modules/json-schema-ref-parser/lib/pointer.js","webpack://Redoc/./node_modules/reftools/lib/isref.js","webpack://Redoc/./node_modules/reftools/lib/recurse.js","webpack://Redoc/./node_modules/react-dom/index.js","webpack://Redoc/./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack://Redoc/./node_modules/mark.js/dist/mark.js","webpack://Redoc/./node_modules/perfect-scrollbar/css/perfect-scrollbar.css","webpack://Redoc/./node_modules/@emotion/memoize/dist/memoize.browser.esm.js","webpack://Redoc/./node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js","webpack://Redoc/./node_modules/core-js/internals/ie8-dom-define.js","webpack://Redoc/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://Redoc/./node_modules/core-js/internals/object-keys-internal.js","webpack://Redoc/./node_modules/core-js/internals/html.js","webpack://Redoc/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://Redoc/./node_modules/core-js/internals/classof.js","webpack://Redoc/./node_modules/core-js/internals/native-promise-constructor.js","webpack://Redoc/./node_modules/core-js/internals/redefine-all.js","webpack://Redoc/./node_modules/core-js/internals/set-species.js","webpack://Redoc/./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack://Redoc/./node_modules/core-js/internals/species-constructor.js","webpack://Redoc/./node_modules/core-js/internals/task.js","webpack://Redoc/./node_modules/core-js/internals/engine-is-ios.js","webpack://Redoc/./node_modules/core-js/internals/engine-user-agent.js","webpack://Redoc/./node_modules/core-js/internals/promise-resolve.js","webpack://Redoc/./node_modules/core-js/modules/es.string.iterator.js","webpack://Redoc/./node_modules/core-js/internals/iterators-core.js","webpack://Redoc/./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack://Redoc/./node_modules/core-js/internals/add-to-unscopables.js","webpack://Redoc/./node_modules/core-js/internals/array-iteration.js","webpack://Redoc/./node_modules/core-js/internals/array-species-create.js","webpack://Redoc/./node_modules/core-js/internals/not-a-regexp.js","webpack://Redoc/./node_modules/core-js/internals/correct-is-regexp-logic.js","webpack://Redoc/./node_modules/core-js/internals/internal-metadata.js","webpack://Redoc/./node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack://Redoc/./node_modules/object-assign/index.js","webpack://Redoc/./node_modules/isarray/index.js","webpack://Redoc/./node_modules/json-schema-ref-parser/lib/options.js","webpack://Redoc/./node_modules/json-schema-ref-parser/lib/util/yaml.js","webpack://Redoc/./node_modules/js-yaml/lib/js-yaml/schema/core.js","webpack://Redoc/./node_modules/js-yaml/lib/js-yaml/schema/json.js","webpack://Redoc/./node_modules/stream-http/lib/capability.js","webpack://Redoc/./node_modules/stream-http/lib/response.js","webpack://Redoc/./node_modules/readable-stream/readable-browser.js","webpack://Redoc/./node_modules/readable-stream/lib/_stream_readable.js","webpack://Redoc/./node_modules/events/events.js","webpack://Redoc/./node_modules/readable-stream/lib/internal/streams/stream-browser.js","webpack://Redoc/./node_modules/readable-stream/lib/internal/streams/destroy.js","webpack://Redoc/./node_modules/readable-stream/lib/_stream_writable.js","webpack://Redoc/./node_modules/string_decoder/lib/string_decoder.js","webpack://Redoc/./node_modules/readable-stream/lib/_stream_transform.js","webpack://Redoc/./node_modules/json-schema-ref-parser/lib/parse.js","webpack://Redoc/./node_modules/call-me-maybe/index.js","webpack://Redoc/./node_modules/oas-kit-common/index.js","webpack://Redoc/./node_modules/lodash/noop.js","webpack://Redoc/./node_modules/slugify/slugify.js","webpack://Redoc/./node_modules/shallowequal/index.js","webpack://Redoc/./node_modules/@emotion/stylis/dist/stylis.browser.esm.js","webpack://Redoc/./node_modules/@emotion/unitless/dist/unitless.browser.esm.js","webpack://Redoc/./node_modules/json-schema-ref-parser/lib/index.js","webpack://Redoc/./node_modules/swagger2openapi/index.js","webpack://Redoc/./node_modules/memoize-one/dist/memoize-one.cjs.js","webpack://Redoc/./node_modules/dompurify/src/utils.js","webpack://Redoc/./node_modules/dompurify/src/tags.js","webpack://Redoc/./node_modules/dompurify/src/attrs.js","webpack://Redoc/./node_modules/dompurify/src/regexp.js","webpack://Redoc/./node_modules/dompurify/src/purify.js","webpack://Redoc/./node_modules/classnames/index.js","webpack://Redoc/./src/polyfills.ts","webpack://Redoc/./node_modules/core-js/es/promise/index.js","webpack://Redoc/./node_modules/core-js/modules/es.aggregate-error.js","webpack://Redoc/./node_modules/core-js/internals/native-weak-map.js","webpack://Redoc/./node_modules/core-js/internals/own-keys.js","webpack://Redoc/./node_modules/core-js/internals/array-includes.js","webpack://Redoc/./node_modules/core-js/internals/to-absolute-index.js","webpack://Redoc/./node_modules/core-js/internals/correct-prototype-getter.js","webpack://Redoc/./node_modules/core-js/internals/a-possible-prototype.js","webpack://Redoc/./node_modules/core-js/internals/object-define-properties.js","webpack://Redoc/./node_modules/core-js/internals/is-array-iterator-method.js","webpack://Redoc/./node_modules/core-js/internals/get-iterator-method.js","webpack://Redoc/./node_modules/core-js/internals/iterator-close.js","webpack://Redoc/./node_modules/core-js/internals/object-to-string.js","webpack://Redoc/./node_modules/core-js/modules/es.promise.js","webpack://Redoc/./node_modules/core-js/internals/microtask.js","webpack://Redoc/./node_modules/core-js/internals/host-report-errors.js","webpack://Redoc/./node_modules/core-js/modules/es.promise.all-settled.js","webpack://Redoc/./node_modules/core-js/modules/es.promise.any.js","webpack://Redoc/./node_modules/core-js/modules/es.promise.finally.js","webpack://Redoc/./node_modules/core-js/internals/string-multibyte.js","webpack://Redoc/./node_modules/core-js/internals/create-iterator-constructor.js","webpack://Redoc/./node_modules/core-js/internals/dom-iterables.js","webpack://Redoc/./node_modules/core-js/modules/es.array.iterator.js","webpack://Redoc/./node_modules/core-js/es/array/find.js","webpack://Redoc/./node_modules/core-js/modules/es.array.find.js","webpack://Redoc/./node_modules/core-js/internals/array-method-uses-to-length.js","webpack://Redoc/./node_modules/core-js/es/object/assign.js","webpack://Redoc/./node_modules/core-js/modules/es.object.assign.js","webpack://Redoc/./node_modules/core-js/internals/object-assign.js","webpack://Redoc/./node_modules/core-js/es/object/entries.js","webpack://Redoc/./node_modules/core-js/modules/es.object.entries.js","webpack://Redoc/./node_modules/core-js/internals/object-to-array.js","webpack://Redoc/./node_modules/core-js/es/object/is.js","webpack://Redoc/./node_modules/core-js/modules/es.object.is.js","webpack://Redoc/./node_modules/core-js/internals/same-value.js","webpack://Redoc/./node_modules/core-js/es/string/ends-with.js","webpack://Redoc/./node_modules/core-js/modules/es.string.ends-with.js","webpack://Redoc/./node_modules/core-js/internals/is-regexp.js","webpack://Redoc/./node_modules/core-js/es/string/starts-with.js","webpack://Redoc/./node_modules/core-js/modules/es.string.starts-with.js","webpack://Redoc/./node_modules/core-js/es/map/index.js","webpack://Redoc/./node_modules/core-js/modules/es.map.js","webpack://Redoc/./node_modules/core-js/internals/collection.js","webpack://Redoc/./node_modules/core-js/internals/freezing.js","webpack://Redoc/./node_modules/core-js/internals/inherit-if-required.js","webpack://Redoc/./node_modules/core-js/internals/collection-strong.js","webpack://Redoc/./node_modules/core-js/es/symbol/index.js","webpack://Redoc/./node_modules/core-js/modules/es.array.concat.js","webpack://Redoc/./node_modules/core-js/internals/create-property.js","webpack://Redoc/./node_modules/core-js/internals/array-method-has-species-support.js","webpack://Redoc/./node_modules/core-js/modules/es.symbol.js","webpack://Redoc/./node_modules/core-js/internals/object-get-own-property-names-external.js","webpack://Redoc/./node_modules/core-js/modules/es.symbol.async-iterator.js","webpack://Redoc/./node_modules/core-js/modules/es.symbol.description.js","webpack://Redoc/./node_modules/core-js/modules/es.symbol.has-instance.js","webpack://Redoc/./node_modules/core-js/modules/es.symbol.is-concat-spreadable.js","webpack://Redoc/./node_modules/core-js/modules/es.symbol.iterator.js","webpack://Redoc/./node_modules/core-js/modules/es.symbol.match.js","webpack://Redoc/./node_modules/core-js/modules/es.symbol.match-all.js","webpack://Redoc/./node_modules/core-js/modules/es.symbol.replace.js","webpack://Redoc/./node_modules/core-js/modules/es.symbol.search.js","webpack://Redoc/./node_modules/core-js/modules/es.symbol.species.js","webpack://Redoc/./node_modules/core-js/modules/es.symbol.split.js","webpack://Redoc/./node_modules/core-js/modules/es.symbol.to-primitive.js","webpack://Redoc/./node_modules/core-js/modules/es.symbol.to-string-tag.js","webpack://Redoc/./node_modules/core-js/modules/es.symbol.unscopables.js","webpack://Redoc/./node_modules/core-js/modules/es.json.to-string-tag.js","webpack://Redoc/./node_modules/core-js/modules/es.math.to-string-tag.js","webpack://Redoc/./node_modules/core-js/modules/es.reflect.to-string-tag.js","webpack://Redoc/./node_modules/unfetch/polyfill/index.js","webpack://Redoc/./node_modules/url-polyfill/url-polyfill.js","webpack://Redoc/./node_modules/react/cjs/react.production.min.js","webpack://Redoc/./node_modules/react-dom/cjs/react-dom.production.min.js","webpack://Redoc/./node_modules/react-dom/node_modules/scheduler/index.js","webpack://Redoc/./node_modules/react-dom/node_modules/scheduler/cjs/scheduler.production.min.js","webpack://Redoc/./node_modules/prop-types/factoryWithThrowingShims.js","webpack://Redoc/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://Redoc/./node_modules/node-libs-browser/node_modules/punycode/punycode.js","webpack://Redoc/(webpack)/buildin/module.js","webpack://Redoc/./node_modules/url/util.js","webpack://Redoc/./node_modules/querystring-es3/index.js","webpack://Redoc/./node_modules/querystring-es3/decode.js","webpack://Redoc/./node_modules/querystring-es3/encode.js","webpack://Redoc/./node_modules/react-is/cjs/react-is.production.min.js","webpack://Redoc/./node_modules/base64-js/index.js","webpack://Redoc/./node_modules/ieee754/index.js","webpack://Redoc/./node_modules/json-schema-ref-parser/lib/parsers/json.js","webpack://Redoc/./node_modules/json-schema-ref-parser/lib/parsers/yaml.js","webpack://Redoc/./node_modules/js-yaml/index.js","webpack://Redoc/./node_modules/js-yaml/lib/js-yaml.js","webpack://Redoc/./node_modules/js-yaml/lib/js-yaml/loader.js","webpack://Redoc/./node_modules/js-yaml/lib/js-yaml/mark.js","webpack://Redoc/./node_modules/js-yaml/lib/js-yaml/type/str.js","webpack://Redoc/./node_modules/js-yaml/lib/js-yaml/type/seq.js","webpack://Redoc/./node_modules/js-yaml/lib/js-yaml/type/map.js","webpack://Redoc/./node_modules/js-yaml/lib/js-yaml/type/null.js","webpack://Redoc/./node_modules/js-yaml/lib/js-yaml/type/bool.js","webpack://Redoc/./node_modules/js-yaml/lib/js-yaml/type/int.js","webpack://Redoc/./node_modules/js-yaml/lib/js-yaml/type/float.js","webpack://Redoc/./node_modules/js-yaml/lib/js-yaml/type/timestamp.js","webpack://Redoc/./node_modules/js-yaml/lib/js-yaml/type/merge.js","webpack://Redoc/./node_modules/js-yaml/lib/js-yaml/type/binary.js","webpack://Redoc/./node_modules/js-yaml/lib/js-yaml/type/omap.js","webpack://Redoc/./node_modules/js-yaml/lib/js-yaml/type/pairs.js","webpack://Redoc/./node_modules/js-yaml/lib/js-yaml/type/set.js","webpack://Redoc/./node_modules/js-yaml/lib/js-yaml/type/js/undefined.js","webpack://Redoc/./node_modules/js-yaml/lib/js-yaml/type/js/regexp.js","webpack://Redoc/./node_modules/js-yaml/lib/js-yaml/type/js/function.js","webpack://Redoc/external \"esprima\"","webpack://Redoc/./node_modules/js-yaml/lib/js-yaml/dumper.js","webpack://Redoc/./node_modules/format-util/format.js","webpack://Redoc/./node_modules/json-schema-ref-parser/lib/parsers/text.js","webpack://Redoc/./node_modules/json-schema-ref-parser/lib/parsers/binary.js","webpack://Redoc/./node_modules/json-schema-ref-parser/lib/resolvers/file.js","webpack://Redoc/./node_modules/json-schema-ref-parser/lib/resolvers/http.js","webpack://Redoc/./node_modules/stream-http/lib/request.js","webpack://Redoc/./node_modules/readable-stream/lib/internal/streams/BufferList.js","webpack://Redoc/./node_modules/timers-browserify/main.js","webpack://Redoc/./node_modules/setimmediate/setImmediate.js","webpack://Redoc/./node_modules/util-deprecate/browser.js","webpack://Redoc/./node_modules/readable-stream/lib/_stream_passthrough.js","webpack://Redoc/./node_modules/to-arraybuffer/index.js","webpack://Redoc/./node_modules/xtend/immutable.js","webpack://Redoc/./node_modules/builtin-status-codes/browser.js","webpack://Redoc/./node_modules/https-browserify/index.js","webpack://Redoc/./node_modules/json-schema-ref-parser/lib/refs.js","webpack://Redoc/./node_modules/json-schema-ref-parser/lib/util/plugins.js","webpack://Redoc/./node_modules/json-schema-ref-parser/lib/normalize-args.js","webpack://Redoc/./node_modules/json-schema-ref-parser/lib/resolve-external.js","webpack://Redoc/./node_modules/json-schema-ref-parser/lib/bundle.js","webpack://Redoc/./node_modules/json-schema-ref-parser/lib/dereference.js","webpack://Redoc/./node_modules/oas-resolver/index.js","webpack://Redoc/./node_modules/reftools/lib/dereference.js","webpack://Redoc/./node_modules/fast-safe-stringify/index.js","webpack://Redoc/./node_modules/oas-schema-walker/index.js","webpack://Redoc/./node_modules/swagger2openapi/lib/statusCodes.js","webpack://Redoc/./node_modules/foreach/index.js","webpack://Redoc/./node_modules/prismjs/components/prism-bash.js","webpack://Redoc/./node_modules/prismjs/components/prism-c.js","webpack://Redoc/./node_modules/prismjs/components/prism-clike.js","webpack://Redoc/./node_modules/prismjs/components/prism-coffeescript.js","webpack://Redoc/./node_modules/prismjs/components/prism-cpp.js","webpack://Redoc/./node_modules/prismjs/components/prism-csharp.js","webpack://Redoc/./node_modules/prismjs/components/prism-go.js","webpack://Redoc/./node_modules/prismjs/components/prism-http.js","webpack://Redoc/./node_modules/prismjs/components/prism-java.js","webpack://Redoc/./node_modules/prismjs/components/prism-lua.js","webpack://Redoc/./node_modules/prismjs/components/prism-markup-templating.js","webpack://Redoc/./node_modules/prismjs/components/prism-markup.js","webpack://Redoc/./node_modules/prismjs/components/prism-objectivec.js","webpack://Redoc/./node_modules/prismjs/components/prism-perl.js","webpack://Redoc/./node_modules/prismjs/components/prism-php.js","webpack://Redoc/./node_modules/prismjs/components/prism-python.js","webpack://Redoc/./node_modules/prismjs/components/prism-ruby.js","webpack://Redoc/./node_modules/prismjs/components/prism-scala.js","webpack://Redoc/./node_modules/prismjs/components/prism-sql.js","webpack://Redoc/./node_modules/prismjs/components/prism-swift.js","webpack://Redoc/./node_modules/css-loader/dist/runtime/api.js","webpack://Redoc/./src/services/SearchWorker.worker.ts","webpack://Redoc/./node_modules/workerize-loader/src/rpc-wrapper.js","webpack://Redoc/./node_modules/stickyfill/index.js","webpack://Redoc/./node_modules/polished/node_modules/@babel/runtime/helpers/esm/extends.js","webpack://Redoc/./node_modules/polished/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://Redoc/./node_modules/polished/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://Redoc/./node_modules/polished/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://Redoc/./node_modules/polished/node_modules/@babel/runtime/helpers/esm/construct.js","webpack://Redoc/./node_modules/polished/node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://Redoc/./node_modules/polished/node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://Redoc/./node_modules/polished/dist/polished.esm.js","webpack://Redoc/./node_modules/polished/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://Redoc/./node_modules/polished/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://Redoc/./src/theme.ts","webpack://Redoc/./src/utils/dom.ts","webpack://Redoc/./src/utils/helpers.ts","webpack://Redoc/./src/services/Labels.ts","webpack://Redoc/./src/services/RedocNormalizedOptions.ts","webpack://Redoc/./src/styled-components.ts","webpack://Redoc/./src/components/ErrorBoundary.tsx","webpack://Redoc/./src/components/Loading/Spinner.svg.tsx","webpack://Redoc/./src/components/Loading/Loading.tsx","webpack://Redoc/./src/components/OptionsProvider.ts","webpack://Redoc/./src/utils/loadAndBundleSpec.ts","webpack://Redoc/./src/utils/JsonPointer.ts","webpack://Redoc/./src/utils/openapi.ts","webpack://Redoc/./src/utils/highlight.ts","webpack://Redoc/./src/utils/decorators.ts","webpack://Redoc/./src/utils/debug.ts","webpack://Redoc/./src/utils/memoize.ts","webpack://Redoc/./src/services/HistoryService.ts","webpack://Redoc/./src/services/MarkerService.ts","webpack://Redoc/./src/services/MarkdownRenderer.ts","webpack://Redoc/./src/services/models/ApiInfo.ts","webpack://Redoc/./src/services/models/SecurityRequirement.ts","webpack://Redoc/./src/services/models/Callback.ts","webpack://Redoc/./src/services/models/Schema.ts","webpack://Redoc/./src/services/models/Example.ts","webpack://Redoc/./src/services/models/Field.ts","webpack://Redoc/./node_modules/openapi-sampler/src/utils.js","webpack://Redoc/./node_modules/openapi-sampler/src/allOf.js","webpack://Redoc/./node_modules/openapi-sampler/src/infer.js","webpack://Redoc/./node_modules/openapi-sampler/src/traverse.js","webpack://Redoc/./node_modules/openapi-sampler/src/samplers/number.js","webpack://Redoc/./node_modules/openapi-sampler/src/samplers/string.js","webpack://Redoc/./node_modules/openapi-sampler/src/openapi-sampler.js","webpack://Redoc/./node_modules/openapi-sampler/src/samplers/array.js","webpack://Redoc/./node_modules/openapi-sampler/src/samplers/boolean.js","webpack://Redoc/./node_modules/openapi-sampler/src/samplers/object.js","webpack://Redoc/./src/services/models/MediaType.ts","webpack://Redoc/./src/services/models/MediaContent.ts","webpack://Redoc/./src/services/models/RequestBody.ts","webpack://Redoc/./src/services/models/Response.ts","webpack://Redoc/./src/services/models/Operation.ts","webpack://Redoc/./src/common-elements/panels.ts","webpack://Redoc/./src/common-elements/headers.ts","webpack://Redoc/./src/components/StoreBuilder.ts","webpack://Redoc/./src/common-elements/linkify.tsx","webpack://Redoc/./src/common-elements/shelfs.tsx","webpack://Redoc/./node_modules/@redocly/react-dropdown-aria/utils/constants.ts","webpack://Redoc/./src/common-elements/mixins.ts","webpack://Redoc/./src/common-elements/fields-layout.ts","webpack://Redoc/./src/common-elements/schema.ts","webpack://Redoc/./node_modules/node_modules/tslib/tslib.es6.js","webpack://Redoc/./node_modules/@redocly/react-dropdown-aria/utils/helper.ts","webpack://Redoc/./node_modules/@redocly/react-dropdown-aria/styles/index.ts","webpack://Redoc/./node_modules/@redocly/react-dropdown-aria/components/OptionItem.tsx","webpack://Redoc/./node_modules/@redocly/react-dropdown-aria/components/icons.tsx","webpack://Redoc/./node_modules/@redocly/react-dropdown-aria/components/DropdownContent.tsx","webpack://Redoc/./node_modules/@redocly/react-dropdown-aria/utils/dropdown-hooks.tsx","webpack://Redoc/./node_modules/@redocly/react-dropdown-aria/components/Dropdown.tsx","webpack://Redoc/./src/common-elements/dropdown.ts","webpack://Redoc/./node_modules/react-tabs/esm/helpers/elementTypes.js","webpack://Redoc/./node_modules/react-tabs/esm/helpers/childrenDeepMap.js","webpack://Redoc/./node_modules/clsx/dist/clsx.m.js","webpack://Redoc/./node_modules/react-tabs/esm/components/UncontrolledTabs.js","webpack://Redoc/./node_modules/react-tabs/esm/helpers/uuid.js","webpack://Redoc/./node_modules/react-tabs/esm/helpers/count.js","webpack://Redoc/./node_modules/react-tabs/esm/components/Tabs.js","webpack://Redoc/./node_modules/react-tabs/esm/components/TabList.js","webpack://Redoc/./node_modules/react-tabs/esm/components/Tab.js","webpack://Redoc/./node_modules/react-tabs/esm/components/TabPanel.js","webpack://Redoc/./src/common-elements/tabs.ts","webpack://Redoc/./src/common-elements/PrismDiv.tsx","webpack://Redoc/./src/common-elements/samples.tsx","webpack://Redoc/./node_modules/perfect-scrollbar/src/lib/css.js","webpack://Redoc/./node_modules/perfect-scrollbar/src/lib/dom.js","webpack://Redoc/./node_modules/perfect-scrollbar/src/lib/class-names.js","webpack://Redoc/./node_modules/perfect-scrollbar/src/lib/event-manager.js","webpack://Redoc/./node_modules/perfect-scrollbar/src/process-scroll-diff.js","webpack://Redoc/./node_modules/perfect-scrollbar/src/lib/util.js","webpack://Redoc/./node_modules/perfect-scrollbar/src/update-geometry.js","webpack://Redoc/./node_modules/perfect-scrollbar/src/handlers/drag-thumb.js","webpack://Redoc/./node_modules/perfect-scrollbar/src/index.js","webpack://Redoc/./node_modules/perfect-scrollbar/src/handlers/click-rail.js","webpack://Redoc/./node_modules/perfect-scrollbar/src/handlers/keyboard.js","webpack://Redoc/./node_modules/perfect-scrollbar/src/handlers/mouse-wheel.js","webpack://Redoc/./node_modules/perfect-scrollbar/src/handlers/touch.js","webpack://Redoc/./src/common-elements/perfect-scrollbar.tsx","webpack://Redoc/./src/services/models/Webhook.ts","webpack://Redoc/./src/services/models/SecuritySchemes.ts","webpack://Redoc/./src/services/OpenAPIParser.ts","webpack://Redoc/./src/services/SpecStore.ts","webpack://Redoc/./src/services/models/Group.model.ts","webpack://Redoc/./src/services/MenuBuilder.ts","webpack://Redoc/./src/services/MenuStore.ts","webpack://Redoc/./src/services/ScrollService.ts","webpack://Redoc/./src/services/SearchStore.ts","webpack://Redoc/./src/components/DropdownOrLabel/DropdownOrLabel.tsx","webpack://Redoc/./src/components/Markdown/styled.elements.tsx","webpack://Redoc/./src/components/Markdown/SanitizedMdBlock.tsx","webpack://Redoc/./src/components/Markdown/Markdown.tsx","webpack://Redoc/./src/common-elements/Tooltip.tsx","webpack://Redoc/./src/services/ClipboardService.ts","webpack://Redoc/./src/common-elements/CopyButtonWrapper.tsx","webpack://Redoc/./src/utils/jsonToHtml.ts","webpack://Redoc/./src/components/JsonViewer/style.ts","webpack://Redoc/./src/components/JsonViewer/JsonViewer.tsx","webpack://Redoc/./src/components/SourceCode/SourceCode.tsx","webpack://Redoc/./src/components/PayloadSamples/ExampleValue.tsx","webpack://Redoc/./src/components/PayloadSamples/Example.tsx","webpack://Redoc/./src/components/PayloadSamples/exernalExampleHook.ts","webpack://Redoc/./src/components/PayloadSamples/styled.elements.ts","webpack://Redoc/./src/components/PayloadSamples/MediaTypeSamples.tsx","webpack://Redoc/./node_modules/mobx-react-lite/src/staticRendering.ts","webpack://Redoc/./node_modules/mobx-react-lite/src/utils/printDebugValue.ts","webpack://Redoc/./node_modules/mobx-react-lite/src/utils/FinalizationRegistryWrapper.ts","webpack://Redoc/./node_modules/mobx-react-lite/src/utils/reactionCleanupTrackingCommon.ts","webpack://Redoc/./node_modules/mobx-react-lite/src/utils/reactionCleanupTracking.ts","webpack://Redoc/./node_modules/mobx-react-lite/src/utils/createReactionCleanupTrackingUsingFinalizationRegister.ts","webpack://Redoc/./node_modules/mobx-react-lite/src/utils/createTimerBasedReactionCleanupTracking.ts","webpack://Redoc/./node_modules/mobx-react-lite/src/utils/utils.ts","webpack://Redoc/./node_modules/mobx-react-lite/src/useObserver.ts","webpack://Redoc/./node_modules/mobx-react-lite/src/ObserverComponent.ts","webpack://Redoc/./node_modules/mobx-react-lite/src/observer.ts","webpack://Redoc/./node_modules/mobx-react/src/utils/utils.ts","webpack://Redoc/./node_modules/mobx-react/src/observerClass.ts","webpack://Redoc/./node_modules/mobx-react/src/observer.tsx","webpack://Redoc/./node_modules/mobx-react/src/index.ts","webpack://Redoc/./src/common-elements/fields.ts","webpack://Redoc/./src/components/ExternalDocumentation/ExternalDocumentation.tsx","webpack://Redoc/./src/components/Fields/EnumValues.tsx","webpack://Redoc/./src/components/Fields/Extensions.tsx","webpack://Redoc/./src/components/Fields/FieldContstraints.tsx","webpack://Redoc/./src/components/Fields/FieldDetail.tsx","webpack://Redoc/./src/components/Fields/FieldDetails.tsx","webpack://Redoc/./src/components/Schema/ArraySchema.tsx","webpack://Redoc/./src/components/Fields/Field.tsx","webpack://Redoc/./src/components/Schema/DiscriminatorDropdown.tsx","webpack://Redoc/./src/components/Schema/ObjectSchema.tsx","webpack://Redoc/./src/components/Schema/OneOfSchema.tsx","webpack://Redoc/./src/components/Schema/Schema.tsx","webpack://Redoc/./src/components/SchemaDefinition/SchemaDefinition.tsx","webpack://Redoc/./src/components/SecuritySchemes/SecuritySchemes.tsx","webpack://Redoc/./src/services/AppStore.ts","webpack://Redoc/./src/components/ApiInfo/styled.elements.ts","webpack://Redoc/./src/components/ApiInfo/ApiInfo.tsx","webpack://Redoc/./src/components/ApiLogo/styled.elements.tsx","webpack://Redoc/./src/components/ApiLogo/ApiLogo.tsx","webpack://Redoc/./src/components/Markdown/AdvancedMarkdown.tsx","webpack://Redoc/./src/components/SideMenu/styled.elements.ts","webpack://Redoc/./src/components/Callbacks/CallbackTitle.tsx","webpack://Redoc/./src/components/Callbacks/styled.elements.ts","webpack://Redoc/./src/components/SelectOnClick/SelectOnClick.tsx","webpack://Redoc/./src/components/Endpoint/styled.elements.ts","webpack://Redoc/./src/components/Endpoint/Endpoint.tsx","webpack://Redoc/./src/components/Parameters/ParametersGroup.tsx","webpack://Redoc/./src/components/MediaTypeSwitch/MediaTypesSwitch.tsx","webpack://Redoc/./src/components/Parameters/Parameters.tsx","webpack://Redoc/./src/components/Responses/ResponseTitle.tsx","webpack://Redoc/./src/components/StickySidebar/StickyResponsiveSidebar.tsx","webpack://Redoc/./src/components/Responses/styled.elements.ts","webpack://Redoc/./src/components/Responses/ResponseHeaders.tsx","webpack://Redoc/./src/components/Responses/ResponseDetails.tsx","webpack://Redoc/./src/components/Responses/Response.tsx","webpack://Redoc/./src/components/Responses/ResponsesList.tsx","webpack://Redoc/./src/components/SecurityRequirement/SecurityRequirement.tsx","webpack://Redoc/./src/components/Callbacks/CallbackDetails.tsx","webpack://Redoc/./src/components/Callbacks/CallbackOperation.tsx","webpack://Redoc/./src/components/Callbacks/CallbacksList.tsx","webpack://Redoc/./src/components/GenericChildrenSwitcher/GenericChildrenSwitcher.tsx","webpack://Redoc/./src/components/PayloadSamples/PayloadSamples.tsx","webpack://Redoc/./src/components/CallbackSamples/CallbackReqSamples.tsx","webpack://Redoc/./src/components/CallbackSamples/CallbackSamples.tsx","webpack://Redoc/./src/components/RequestSamples/RequestSamples.tsx","webpack://Redoc/./src/components/ResponseSamples/ResponseSamples.tsx","webpack://Redoc/./src/components/Operation/Operation.tsx","webpack://Redoc/./src/components/ContentItems/ContentItems.tsx","webpack://Redoc/./src/components/SideMenu/MenuItem.tsx","webpack://Redoc/./src/components/SideMenu/MenuItems.tsx","webpack://Redoc/./src/components/SideMenu/SideMenu.tsx","webpack://Redoc/./src/components/StickySidebar/ChevronSvg.tsx","webpack://Redoc/./src/components/Redoc/styled.elements.tsx","webpack://Redoc/./src/components/SearchBox/styled.elements.tsx","webpack://Redoc/./src/components/SearchBox/SearchBox.tsx","webpack://Redoc/./src/components/Redoc/Redoc.tsx","webpack://Redoc/./src/components/RedocStandalone.tsx","webpack://Redoc/./src/standalone.tsx"],"names":["root","factory","exports","module","require","e","define","amd","this","__WEBPACK_EXTERNAL_MODULE__63__","__WEBPACK_EXTERNAL_MODULE__269__","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","extendStatics","b","setPrototypeOf","__proto__","Array","__extends","__","constructor","__assign","assign","arguments","length","apply","__rest","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__decorate","decorators","target","desc","getOwnPropertyDescriptor","Reflect","decorate","__param","paramIndex","decorator","__metadata","metadataKey","metadataValue","metadata","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","iterator","v","op","TypeError","pop","push","__createBinding","k","k2","undefined","__exportStar","__values","__read","ar","error","__spread","concat","__spreadArrays","il","a","j","jl","__await","__asyncGenerator","asyncIterator","q","resume","fulfill","settle","shift","__asyncDelegator","__asyncValues","__makeTemplateObject","cooked","raw","__setModuleDefault","__importStar","mod","__importDefault","default","__classPrivateFieldGet","receiver","privateMap","has","__classPrivateFieldSet","set","die","args","Error","join","mockGlobal","getGlobal","window","global","self","getDescriptor","objectPrototype","EMPTY_ARRAY","freeze","EMPTY_OBJECT","hasProxy","Proxy","plainObjectString","toString","assertProxies","getNextId","globalState","mobxGuid","once","func","invoked","noop","isFunction","fn","isStringish","isObject","isPlainObject","proto","getPrototypeOf","isGenerator","obj","displayName","addHiddenProp","propName","writable","configurable","addHiddenFinalProp","createInstanceofPredicate","theClass","x","isES6Map","thing","Map","isES6Set","Set","hasGetOwnPropertySymbols","getPlainObjectKeys","keys","symbols","filter","ownKeys","getOwnPropertyNames","stringifyKey","String","toPrimitive","hasProp","prop","getOwnPropertyDescriptors","res","forEach","mobxDecoratorsSymbol","mobxAppliedDecoratorsSymbol","createDecorator","type","createDecoratorAndAnnotation","storeDecorator","annotationType_","arg_","map","$mobx","Atom","name_","isPendingUnobservation_","isBeingObserved_","observers_","diffValue_","lastAccessedBy_","lowestObserverState_","IDerivationState_","NOT_TRACKING_","onBOL","onBUOL","onBO","listener","onBUO","reportObserved","reportChanged","startBatch","observable","STALE_","dependenciesState_","UP_TO_DATE_","onBecomeStale_","propagateChanged","endBatch","isAtom","createAtom","onBecomeObservedHandler","onBecomeUnobservedHandler","arg3","atom","interceptHook","onBecomeUnobserved","comparer","identity","structural","deepEqual","is","shallow","deepEnhancer","isObservable","isArray","array","referenceEnhancer","newValue","defaultCreateObservableOptions","deep","defaultDecorator","proxy","asCreateObservableOptions","getEnhancerFromOption","options","getEnhancerFromAnnotation","annotationToEnhancer","isObservableObject","isObservableArray","isObservableMap","isObservableSet","oldValue","annotation","createObservable","arg2","box","ObservableValue","equals","initialValues","useProxies","createLegacyArray","createObservableArray","ObservableMap","ObservableSet","props","base","asObservableObject","properties","annotations","adm","descs","makeProperty","autoBind","extendObservable","objectProxyTraps","proxy_","createDynamicObservableObject","ref","struct","computed","arg1","opts","ComputedValue","currentActionId","nextActionId","isFunctionNameConfigurable","tmpNameDescriptor","createAction","actionName","autoAction","executeAction","isMobxAction","canRunAsDerivation","scope","runInfo","prevDerivation_","trackingDerivation","runAsAction","prevAllowStateChanges_","allowStateChanges","untrackedStart","allowStateChangesStart","prevAllowStateReads_","allowStateReadsStart","runAsAction_","notifySpy_","startTime_","actionId_","parentActionId_","_startAction","err","error_","suppressReactionErrors","allowStateChangesEnd","allowStateReadsEnd","untrackedEnd","_endAction","prev","enhancer","notifySpy","hasUnreportedChange_","interceptors_","changeListeners_","value_","dehancer","dehanceValue","prepareNewValue_","UNCHANGED","setNewValue_","checkIfStateModificationsAreAllowed","hasInterceptors","change","interceptChange","UPDATE","hasListeners","notifyListeners","intercept_","handler","registerInterceptor","observe_","fireImmediately","observableKind","debugObjectName","registerListener","toJSON","valueOf","TraceMode","observing_","newObserving_","runId_","unboundDepsCount_","mapid_","CaughtException","triggeredBy_","isComputing_","isRunningSetter_","derivation","setter_","isTracing_","NONE","scope_","equals_","requiresReaction_","keepAlive_","compareStructural","context","requiresReaction","keepAlive","POSSIBLY_STALE_","propagateMaybeChanged","inBatch","size","shouldCompute","prevTrackingContext","trackingContext","trackAndCompute","propagateChangeConfirmed","warnAboutUntrackedRead_","computeValue_","isCaughtException","cause","wasSuspended","changed","track","trackDerivedFunction","disableErrorBoundaries","suspend_","clearObserving","firstTime","prevValue","autorun","prevU","isComputedValue","prevAllowStateReads","prevUntracked","obs","changeDependenciesStateTo0","runId","prevTracking","prevObserving","observing","lowestNewObservingDerivationState","i0","dep","removeObserver","addObserver","bindDependencies","untracked","action","allowStateReads","MobXGlobals","version","pendingUnobservations","pendingReactions","isRunningReactions","enforceActions","spyListeners","globalReactionErrorHandlers","computedRequiresReaction","reactionRequiresObservable","observableRequiresReaction","verifyProxies","canMergeGlobalState","isolateCalled","__mobxInstanceCount","__mobxGlobals","setTimeout","node","add","queueForUnobservation","runReactions","list","Reaction","onInvalidate_","errorHandler_","requiresObservable_","isDisposed_","isScheduled_","isTrackPending_","isRunning_","schedule_","isScheduled","runReaction_","reportExceptionInDerivation_","prevReaction","message","console","dispose","getDisposer_","trace","enterBreakPoint","getAtomFromArgs","log","BREAK","LOG","reactionScheduler","runReactionsHelper","allReactions","iterations","splice","remainingReactions","isReaction","createActionFactory","isAction","view","reaction","scheduler","delay","reactionRunner","onError","requiresObservable","createSchedulerFromOptions","bound","run","hook","getAtom","cb","listenersKey","hookListeners","configure","isolateGlobalState","baseScheduler","ea","getDependencyTree","nodeToDependencyTree","dependencies","from","generatorId","FlowCancellationError","flow","rejector","ctx","gen","pendingPromise","promise","stepId","onFulfilled","ret","onRejected","cancel","cancelPromise","yieldedPromise","isMobXFlow","_isObservable","values_","observe","propOrCb","cbOrFire","getAdministration","observeObservableProperty","observeObservable","transaction","getAdm","has_","existingObservable","write_","addObservableProp_","defaultEnhancer_","parseInt","values","deleteProperty","remove_","keysAtom_","preventExtensions","interceptable","interceptors","idx","listenable","listeners","slice","makeAction","asAutoAction","getInferredAnnotation","defaultAnnotation","owner","descriptor","forceCopy","target_","originAnnotation","isFlow","addComputedProp_","makeObservable","current","unshift","applyDecorators","getDescriptorInChain","arrayTraps","getArrayLength_","isNaN","arrayExtensions","get_","setArrayLength_","set_","ObservableArrayAdministration","owned_","legacyMode_","atom_","enhancer_","lastKnownLength_","newV","oldV","dehanceValue_","dehanceValues_","index","added","addedCount","removed","removedCount","newLength","currentLength","newItems","spliceWithArray_","updateArrayLength_","oldLength","delta","reserveArrayBuffer","deleteCount","Math","max","min","lengthDelta","spliceItemsIntoValues_","notifyArraySplice_","oldItems","notifyArrayChildUpdate_","notify","warn","owned","clear","replace","spliceWithArray","items","reverse","sort","copy","remove","addArrayExtension","funcName","funcFactory","simpleFunc","dehancedValues","mapLikeFunc","callback","element","reduceLikeFunc","accumulator","currentValue","isObservableArrayAdministration","ObservableMapMarker","ADD","initialData","data_","hasMap_","merge","entry","newEntry","hasKey","updateValue_","addValue_","updateHasMapEntry_","makeIterable","entries","other","replacementMap","dataStructure","convertToMap","orderedData","keysReportChangedCalled","keyExisted","iter1","iter2","next1","next2","ObservableSetMarker","callbackFn","nextIndex","observableValues","ObservableObjectAdministration","pendingKeys_","keysValue_","isStaledKeysValue_","read_","instance","exists","observablePropertyConfigs","generateObservablePropConfig","notifyPropertyAddition_","propertyOwner","computedPropertyConfigs","generateComputedPropConfig","oldObservable","reportKeysChanged","getKeys_","defaultEnhancer","isObservableObjectAdministration","ctor","OBSERVABLE_ARRAY_BUFFER_SIZE","StubArray","LegacyObservableArray","arrays","createArrayBufferItem","createArrayEntryDescriptor","getDebugName","depth","eq","aStack","bStack","className","unwrap","areArrays","aCtor","bCtor","getSelf","__MOBX_DEVTOOLS_GLOBAL_HOOK__","injectMobx","spy","extras","it","check","globalThis","Function","shared","uid","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","YAMLException","TYPE_CONSTRUCTOR_OPTIONS","YAML_NODE_KINDS","tag","kind","construct","data","instanceOf","predicate","represent","defaultStyle","styleAliases","style","alias","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","source","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","noTargetGet","forced","sham","exec","punycode","util","Url","protocol","slashes","auth","host","port","hostname","hash","search","query","pathname","path","href","parse","urlParse","relative","resolveObject","format","isString","protocolPattern","portPattern","simplePathPattern","unwise","autoEscape","nonHostChars","hostEndingChars","hostnamePartPattern","hostnamePartStart","unsafeProtocol","hostlessProtocol","slashedProtocol","querystring","url","parseQueryString","slashesDenoteHost","u","queryIndex","splitter","uSplit","split","rest","trim","simplePath","substr","lowerProto","toLowerCase","match","atSign","hostEnd","hec","lastIndexOf","decodeURIComponent","parseHost","ipv6Hostname","hostparts","part","newpart","charCodeAt","validParts","notHost","bit","toASCII","h","ae","esc","encodeURIComponent","escape","qm","stringify","charAt","rel","tkeys","tk","tkey","rkeys","rk","rkey","relPath","isSourceAbs","isRelAbs","mustEndAbs","removeAllDots","srcPath","psychotic","isNullOrUndefined","authInHost","isNull","last","hasTrailingSlash","up","isAbsolute","wrappedWellKnownSymbolModule","NAME","nodes","insertRule","rules","names","id","flatten","React","base64","ieee754","kMaxLength","Buffer","TYPED_ARRAY_SUPPORT","createBuffer","that","RangeError","Uint8Array","arg","encodingOrOffset","allocUnsafe","ArrayBuffer","byteOffset","byteLength","fromArrayLike","fromArrayBuffer","string","encoding","isEncoding","actual","write","fromString","isBuffer","len","checked","buffer","val","fromObject","assertSize","isView","loweredCase","utf8ToBytes","base64ToBytes","slowToString","start","end","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","dir","arrayIndexOf","arr","indexSize","arrLength","valLength","read","buf","readUInt16BE","foundIndex","found","hexWrite","offset","Number","remaining","strLen","parsed","utf8Write","blitBuffer","asciiWrite","str","byteArray","asciiToBytes","latin1Write","base64Write","ucs2Write","units","hi","lo","utf16leToBytes","fromByteArray","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","codePoints","fromCharCode","decodeCodePointsArray","SlowBuffer","alloc","INSPECT_MAX_BYTES","foo","subarray","typedArraySupport","poolSize","_augment","species","fill","allocUnsafeSlow","_isBuffer","compare","pos","swap16","swap32","swap64","inspect","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","_arr","out","toHex","bytes","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","floor","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","code","INVALID_BASE64_RE","Infinity","leadSurrogate","toByteArray","stringtrim","base64clean","src","dst","fails","DESCRIPTORS","IE8_DOM_DEFINE","anObject","nativeDefineProperty","O","Attributes","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","defaultClearTimeout","runTimeout","fun","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","marker","runClearTimeout","Item","nextTick","title","browser","env","argv","versions","on","addListener","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","binding","cwd","chdir","umask","each","api","pointer","wrapped","refTokens","tok","nextTok","finalToken","parent","dict","descend","results","walk","cur","compile","unescape","substring","definePropertyModule","createPropertyDescriptor","inspectSource","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","state","unsafe","simple","aFunction","variable","namespace","method","TO_STRING_TAG","wellKnownSymbol","TAG","isWindows","test","platform","forwardSlashPattern","urlEncodePatterns","urlDecodePatterns","location","getProtocol","getExtension","lastDot","getHash","hashIndex","stripHash","isHttp","isFileSystemPath","fromFileSystemPath","encodeURI","toFileSystemPath","keepFileProtocol","decodeURI","isFileUrl","toUpperCase","EMPTY","HOP","fns","opt","cache","caseSensitive","timer","memoize","multiMethod","debounce","inner","deco","IndexedObject","requireObjectCoercible","protectedProperties","errorPrototypeProperties","Klass","params","formatArgs","formattedMessage","formatter","newError","extendError","extendToJSON","extend","targetError","sourceError","supportsLazyStack","hasLazyStack","stack","joinStacks","popStack","targetStack","lazyJoinStacks","extendStack","errorToJSON","errorToString","json","JSON","newStack","originalStack","lines","eval","EvalError","range","reference","ReferenceError","syntax","SyntaxError","uri","URIError","navigator","userAgent","superCtor","super_","TempCtor","propertyIsEnumerableModule","toIndexedObject","nativeGetOwnPropertyDescriptor","bitmap","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","WeakMap","store","wmget","wmhas","wmset","facade","STATE","getterFor","TYPE","toInteger","argument","isArrayIteratorMethod","toLength","getIteratorMethod","iteratorClose","Result","stopped","iterable","unboundFunction","iterFn","AS_ENTRIES","IS_ITERATOR","INTERRUPTED","stop","condition","callFn","common","Type","compileList","schema","exclude","include","includedSchema","currentType","previousType","previousIndex","Schema","definition","implicit","explicit","loadKind","compiledImplicit","compiledExplicit","compiledTypeMap","scalar","sequence","mapping","fallback","collectType","compileMap","DEFAULT","schemas","types","toArray","every","pna","objectKeys","Duplex","inherits","Readable","Writable","readable","allowHalfOpen","onend","_writableState","ended","onEndNT","highWaterMark","_readableState","destroyed","_destroy","Prism","_self","lang","uniqueId","manual","disableWorkerMessageHandler","encode","tokens","Token","content","objId","clone","deepClone","visited","getLanguage","parentElement","currentScript","document","scripts","getElementsByTagName","languages","redef","insertBefore","inside","before","insert","grammar","token","newToken","old","DFS","propertyType","plugins","highlightAll","async","highlightAllUnder","container","selector","hooks","elements","querySelectorAll","highlightElement","language","parentNode","nodeName","textContent","insertHighlightedCode","highlightedCode","innerHTML","Worker","worker","filename","onmessage","evt","postMessage","immediateClose","highlight","text","tokenize","tokenList","LinkedList","addAfter","head","matchGrammar","startNode","startPos","oneshot","patterns","pattern","lookbehind","greedy","lookbehindLength","flags","RegExp","currentNode","tail","removeCount","lastIndex","to","after","removeFrom","removeRange","all","callbacks","matchedStr","newNode","count","classes","attributes","aliases","addEventListener","close","script","highlightAutomaticallyCallback","hasAttribute","readyState","defer","requestAnimationFrame","WorkerGlobalScope","markup","tagName","includedCdataInside","def","xml","html","mathml","svg","css","addInlined","clike","javascript","js","querySelector","fileHighlight","Extensions","pre","getAttribute","extension","createElement","appendChild","xhr","XMLHttpRequest","open","onreadystatechange","status","responseText","setAttribute","statusText","send","activeXDocument","defineProperties","enumBugKeys","documentCreateElement","IE_PROTO","EmptyConstructor","scriptTag","LT","NullProtoObject","domain","ActiveXObject","iframeDocument","iframe","temp","parentWindow","NullProtoObjectViaActiveX","display","contentWindow","F","Properties","isNothing","subject","repeat","cycle","isNegativeZero","number","NEGATIVE_INFINITY","sourceKeys","objectToString","isBoolean","isNumber","isSymbol","isUndefined","isRegExp","re","isDate","isError","isPrimitive","normalizeArray","parts","allowAboveRoot","xs","resolvedPath","resolvedAbsolute","normalize","trailingSlash","paths","fromParts","toParts","samePartsLength","outputParts","sep","delimiter","dirname","hasRoot","matchedSlash","basename","extname","startDot","startPart","preDotState","block","newline","fences","hr","heading","blockquote","nptable","table","lheading","_paragraph","Lexer","links","marked","defaults","normal","pedantic","gfm","_label","_title","edit","getRegex","bullet","item","_tag","_comment","paragraph","lex","top","loose","cap","bull","listStart","listItems","space","isordered","istask","ischecked","lastToken","trimRight","codeBlockStyle","rtrim","header","splitCells","align","cells","ordered","smartLists","task","sanitize","sanitizer","inline","autolink","link","reflink","nolink","strong","em","br","del","InlineLexer","renderer","Renderer","breaks","TextRenderer","Parser","slugger","Slugger","seen","escapeTest","escapeReplace","ch","replacements","escapeTestNoEncode","escapeReplaceNoEncode","regex","cleanUrl","prot","originIndependentUrl","baseUrls","resolveUrl","_punctuation","_escapes","_scheme","_email","_attribute","_href","_extended_email","_backpedal","output","prevCapZero","inLink","inRawBlock","lastParenIndex","findClosingBracket","linkLen","outputLink","escapes","codespan","mangle","smartypants","image","random","infostring","escaped","langPrefix","quote","level","headerIds","headerPrefix","slug","xhtml","listitem","checkbox","tablerow","tablecell","baseUrl","inlineText","peek","parseText","row","cell","errMsg","silent","originalSlug","tableRow","curr","invert","suffLen","currChar","checkSanitizeDeprecation","pending","setOptions","getDefaults","parser","lexer","inlineLexer","nativePropertyIsEnumerable","NASHORN_BUG","1","V","input","PREFERRED_STRING","postfix","internalObjectKeys","PromiseCapability","C","$$resolve","$$reject","reason","mark","captureStackTrace","compact","copyProps","SafeBuffer","$Ref","Pointer","$refs","pathType","friendlyPath","is$Ref","$ref","isExternal$Ref","isAllowed$Ref","external","isExtended$Ref","dereference","resolvedValue","merged","jpunescape","jptr","startsWith","components","setAndLast","jpescape","nop","shallowClone","fastClone","circularClone","prefix","Events","EE","emitter","event","_events","_eventsCount","clearEvent","EventEmitter","eventNames","events","handlers","ee","listenerCount","a1","a2","a3","a4","a5","prefixed","UrlTemplate","encodeReserved","encodeUnreserved","encodeValue","operator","isDefined","isKeyOperator","getValues","modifier","tmp","template","operators","expand","expression","literal","separator","classof","EXISTS","functionToString","IS_PURE","copyright","ceil","replacement","feature","detection","POLYFILL","NATIVE","toObject","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","aPossiblePrototype","setter","CORRECT_SETTER","TO_STRING_TAG_SUPPORT","Constructor","v8","$","createIteratorConstructor","setToStringTag","Iterators","IteratorsCore","IteratorPrototype","BUGGY_SAFARI_ITERATORS","ITERATOR","returnThis","Iterable","IteratorConstructor","IS_SET","FORCED","CurrentIteratorPrototype","methods","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","CONSTRUCTOR","METHOD","response","statusCodes","http","request","defaultProtocol","headers","req","ClientRequest","IncomingMessage","Agent","defaultMaxSockets","globalAgent","STATUS_CODES","METHODS","ono","tildes","escapedSlash","escapedTilde","originalPath","circular","indirections","resolveIf$Ref","$refPath","resolved","_resolve","setValue","isRef","recurse","pkey","payload","identityDetection","oPath","identityPath","newState","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","render","Memo","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","_typeof","classCallCheck","createClass","protoProps","staticProps","_extends","DOMIterator","iframes","iframesTimeout","filteredCtx","NodeList","isPrototypeOf","isDescendant","contexts","contains","ifr","successFn","errorFn","doc","ifrWin","bl","_this","called","tout","isIframeBlank","removeEventListener","getIframeContents","observeIframeLoad","_this2","eachCalled","forEachIframe","waitForIframes","handled","_this3","checkEnd","matches","onIframeReady","con","whatToShow","createNodeIterator","contents","prevNode","compareDocumentPosition","Node","DOCUMENT_POSITION_PRECEDING","DOCUMENT_POSITION_FOLLOWING","itr","previousNode","nextNode","currIfr","ifrDict","compareNodeIframe","eCb","fCb","_this4","createInstanceOnIframe","forEachNode","eachCb","filterCb","doneCb","_getIteratorNode","_this5","createIterator","getIteratorNode","checkIframeFilter","ifrNode","handleOpenIframes","_this6","getContexts","ready","iterateThroughNodes","selectors","matchesSelector","msMatchesSelector","mozMatchesSelector","oMatchesSelector","webkitMatchesSelector","sel","Mark$1","Mark","ie","ua","msg","debug","wildcards","setupWildcardsRegExp","escapeStr","synonyms","createSynonymsRegExp","ignoreJoiners","ignorePunctuation","setupIgnoreJoinersRegExp","diacritics","createDiacriticsRegExp","createMergedBlanksRegExp","createJoinersRegExp","createWildcardsRegExp","createAccuracyRegExp","syn","sens","joinerPlaceholder","k1","processSynomyms","spaces","indx","original","nextChar","joiner","dct","acc","accuracy","ls","limiters","lsJoin","limiter","sv","kw","separateWordSearch","kwSplitted","parseFloat","noMatch","_callNoMatchOnInvalid","callNoMatchOnInvalidRanges","valid","isNumeric","originalLength","NodeFilter","SHOW_TEXT","matchesExclude","FILTER_REJECT","FILTER_ACCEPT","el","hEl","splitText","repl","replaceChild","sibl","startStr","endStr","wrapRangeInTextNode","previousSibling","ignoreGroups","endCb","matchIdx","getTextNodes","_this7","wrapRangeInMappedTextNode","ranges","_this8","counter","_checkWhitespaceRange","checkWhitespaceRanges","docFrag","createDocumentFragment","firstChild","removeChild","normalizeTextNode","nodeType","nextSibling","nodeValue","regexp","_this9","totalMatches","acrossElements","_this10","_getSeparatedKeywords","getSeparatedKeywords","kwArr","keywords","kwArrLen","createRegExp","term","rawRanges","_this11","checkRanges","wrapRangeFromIndex","_this12","SHOW_ELEMENT","unwrapMatches","matchesSel","_opt","markRegExp","markRanges","unmark","___CSS_LOADER_API_IMPORT___","reactPropsRegex","getOwnPropertyDescriptorModule","getBuiltIn","classofRaw","CORRECT_ARGUMENTS","tryGet","SPECIES","CONSTRUCTOR_NAME","SAFE_CLOSING","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","defaultConstructor","S","channel","IS_IOS","IS_NODE","setImmediate","clearImmediate","MessageChannel","Dispatch","runner","post","now","port2","port1","importScripts","newPromiseCapability","promiseCapability","defineIterator","setInternalState","iterated","point","PrototypeOfArrayIteratorPrototype","arrayIterator","DOMIterables","ArrayIteratorMethods","ArrayValues","COLLECTION_NAME","Collection","CollectionPrototype","METHOD_NAME","UNSCOPABLES","ArrayPrototype","arraySpeciesCreate","createMethod","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_OUT","NO_HOLES","$this","callbackfn","specificCreate","boundFunction","some","find","findIndex","filterOut","originalArray","MATCH","error1","error2","FREEZING","METADATA","isExtensible","setMetadata","objectID","weakData","meta","REQUIRED","fastKey","getWeakData","onFreeze","propIsEnumerable","test1","test2","test3","letter","shouldUseNative","jsonParser","yamlParser","textParser","binaryParser","fileResolver","httpResolver","$RefParserOptions","isMergeable","sourceSetting","targetSetting","Date","yaml","binary","file","reviver","safeLoad","replacer","indent","safeDump","writableStream","WritableStream","abortController","AbortController","blobConstructor","Blob","getXHR","XDomainRequest","checkTypeSupport","responseType","haveArrayBuffer","haveSlice","arraybuffer","fetch","msstream","mozchunkedarraybuffer","overrideMimeType","vbArray","VBArray","stream","rStates","readyStates","UNSENT","OPENED","HEADERS_RECEIVED","LOADING","DONE","fetchTimer","_mode","rawHeaders","trailers","rawTrailers","_fetchResponse","statusCode","statusMessage","capability","chunk","_destroyed","_resumeFetch","abort","pipeTo","catch","reader","getReader","_xhr","_pos","responseURL","getAllResponseHeaders","_charset","mimeType","charsetMatch","_read","_onXHRProgress","responseBody","newData","MSStreamReader","onprogress","onload","readAsArrayBuffer","Stream","Transform","PassThrough","ReadableState","EElistenerCount","OurUint8Array","debugUtil","debuglog","StringDecoder","BufferList","destroyImpl","kProxyEvents","isDuplex","objectMode","readableObjectMode","hwm","readableHwm","readableHighWaterMark","defaultHwm","pipes","pipesCount","flowing","endEmitted","reading","sync","needReadable","emittedReadable","readableListening","resumeScheduled","defaultEncoding","awaitDrain","readingMore","decoder","destroy","readableAddChunk","addToFront","skipChunkCheck","er","emitReadable","onEofChunk","chunkInvalid","_uint8ArrayToBuffer","addChunk","maybeReadMore","needMoreData","_undestroy","undestroy","isPaused","setEncoding","enc","howMuchToRead","computeNewHighWaterMark","emitReadable_","maybeReadMore_","nReadingNextTick","resume_","fromList","hasStrings","nb","copyFromBufferString","copyFromBuffer","fromListPartial","endReadable","endReadableNT","nOrig","doRead","pipe","dest","pipeOpts","endFn","stdout","stderr","unpipe","onunpipe","unpipeInfo","hasUnpiped","onclose","onfinish","ondrain","onerror","ondata","cleanedUp","needDrain","pipeOnDrain","increasedAwaitDrain","pause","dests","ev","wrap","paused","_fromList","ReflectOwnKeys","R","ReflectApply","NumberIsNaN","init","eventListener","errorListener","_maxListeners","defaultMaxListeners","checkListener","_getMaxListeners","_addListener","prepend","existing","warning","newListener","warned","w","onceWrapper","fired","wrapFn","_onceWrap","_listeners","evlistener","unwrapListeners","arrayClone","setMaxListeners","getMaxListeners","doError","position","originalListener","spliceOne","rawListeners","emitErrorNT","readableDestroyed","writableDestroyed","errorEmitted","ending","finished","CorkedRequest","finish","corkReq","pendingcb","corkedRequestsFree","onCorkedFinish","asyncWrite","WritableState","internalUtil","deprecate","realHasInstance","writableObjectMode","writableHwm","writableHighWaterMark","finalCalled","noDecode","decodeStrings","writing","corked","bufferProcessing","onwrite","writecb","writelen","onwriteStateUpdate","finishMaybe","onwriteError","needFinish","bufferedRequest","clearBuffer","afterWrite","lastBufferedRequest","prefinished","bufferedRequestCount","_write","writev","_writev","final","_final","doWrite","onwriteDrain","holder","allBuffers","isBuf","callFinal","need","prefinish","getBuffer","hasInstance","writeAfterEnd","validChunk","newChunk","decodeChunk","writeOrBuffer","cork","uncork","setDefaultEncoding","endWritable","nenc","retried","_normalizeEncoding","normalizeEncoding","utf16Text","utf16End","fillLast","utf8FillLast","base64Text","base64End","simpleWrite","simpleEnd","lastNeed","lastTotal","lastChar","utf8CheckByte","byte","utf8CheckExtraBytes","total","utf8CheckIncomplete","afterTransform","ts","_transformState","transforming","writechunk","rs","needTransform","writeencoding","transform","_transform","flush","_flush","err2","_add","resolvers","readFile","resolver","plugin","allParsers","filteredParsers","parsers","allowEmpty","parseFile","sjs","colour","NODE_DISABLE_COLORS","red","yellow","green","compressArray","candidate","obj1","obj2","_equals","deepEquals","toCamelCase","group1","sanitise","uniqueOnly","hasDuplicates","allSame","distinctArray","firstDupe","parameterTypeProperties","arrayProperties","httpMethods","sanitiseAll","charMap","locales","locale","reduce","lower","strict","customMap","objA","objB","compareContext","keysA","keysB","bHasOwnProperty","valueA","valueB","W","X","ia","Z","L","ja","ka","aa","G","ba","la","ma","na","oa","H","A","B","U","D","z","M","K","I","J","N","ca","da","fa","Y","E","ha","Q","use","T","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","fontWeight","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","WebkitLineClamp","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","$Refs","normalizeArgs","resolveExternal","bundle","maybe","$RefParser","YAML","Class","me","_root$Ref","componentNames","fs","resolveInternal","cclone","sw","ourVersion","throwError","S2OError","throwOrWarn","warnOnly","warnProperty","fixUpSchema","walkSchema","required","anyOf","oneOf","not","nullable","propertyName","discriminator","schemaOrRef","fixUpSubSchemaExtensions","patches","patch","newSchema","fixUpSubSchema","fixupRefs","openapi","consumes","produces","newKey","refmap","oldRef","schemaIndex","suffix","getMiroComponentName","newRef","refSuffix","tmpRef","inSchema","refSiblings","allOf","processSecurity","securityObject","sname","processSecurityScheme","scheme","flowName","authorizationUrl","tokenUrl","scopes","flows","keepParameters","processHeader","collectionFormat","explode","fixParamRef","param","refComponents","processParameter","originalType","singularRequestBody","ptr","rbody","parameters","newParam","in","deprecated","example","description","allowReserved","contentType","copyExtensions","operationId","rbname","mimetype","requestBody","newOp","attachRequestBody","tgt","processResponse","examples","processPaths","containerName","requestBodyCache","summary","servers","security","responses","defaultResp","schemes","server","newServer","serverUrl","se","rh","ct","effectiveOperationId","rbName","rbStr","rbHash","refs","p2","main","securitySchemes","dedupeRefs","requestBodies","rb","rbNamesGenerated","extractServerParameters","variables","fixInfo","info","logo","termsOfService","URL","whatwg","ex","fixPaths","convertObj","swagger","externals","externalRefs","rewriteRefs","preserveMiro","WeakSet","anchors","detectObjectReferences","optionalResolve","direct","targetVersion","origin","converter","basePath","xMsPHost","msp","hostTemplate","enum","useSchemePrefix","securityDefinitions","definitions","convertStr","prettyErrors","sourceYaml","convert","convertUrl","verbose","fetchOptions","agent","convertFile","sourceFile","convertStream","areInputsEqual","newInputs","lastInputs","resultFn","isEqual","lastThis","lastResult","lastArgs","calledOnce","newArgs","_i","isFrozen","seal","thisValue","Func","arrayForEach","unapply","arrayJoin","arrayPop","arrayPush","arraySlice","stringToLowerCase","stringMatch","stringReplace","stringIndexOf","stringTrim","regExpTest","regExpCreate","unconstruct","typeErrorCreate","addToSet","lcElement","newObject","svgFilters","mathMl","MUSTACHE_EXPR","ERB_EXPR","DATA_ATTR","ARIA_ATTR","IS_ALLOWED_URI","IS_SCRIPT_OR_DATA","ATTR_WHITESPACE","_createTrustedTypesPolicy","trustedTypes","createPolicy","policyName","createHTML","createDOMPurify","DOMPurify","VERSION","isSupported","originalDocument","removeTitle","DocumentFragment","HTMLTemplateElement","NamedNodeMap","MozNamedAttrMap","Text","Comment","DOMParser","ownerDocument","trustedTypesPolicy","emptyHTML","RETURN_TRUSTED_TYPE","implementation","importNode","createHTMLDocument","documentMode","EXPRESSIONS","ALLOWED_TAGS","DEFAULT_ALLOWED_TAGS","TAGS","ALLOWED_ATTR","DEFAULT_ALLOWED_ATTR","ATTRS","FORBID_TAGS","FORBID_ATTR","ALLOW_ARIA_ATTR","ALLOW_DATA_ATTR","ALLOW_UNKNOWN_PROTOCOLS","SAFE_FOR_JQUERY","SAFE_FOR_TEMPLATES","WHOLE_DOCUMENT","SET_CONFIG","FORCE_BODY","RETURN_DOM","RETURN_DOM_FRAGMENT","RETURN_DOM_IMPORT","SANITIZE_DOM","KEEP_CONTENT","IN_PLACE","USE_PROFILES","FORBID_CONTENTS","DATA_URI_TAGS","DEFAULT_DATA_URI_TAGS","URI_SAFE_ATTRIBUTES","DEFAULT_URI_SAFE_ATTRIBUTES","CONFIG","formElement","_parseConfig","cfg","ADD_URI_SAFE_ATTR","ADD_DATA_URI_TAGS","ALLOWED_URI_REGEXP","ADD_TAGS","ADD_ATTR","tbody","_forceRemove","outerHTML","_removeAttribute","attribute","getAttributeNode","removeAttribute","_initDocument","dirty","leadingWhitespace","dirtyPayload","parseFromString","documentElement","firstElementChild","createTextNode","childNodes","_createIterator","SHOW_COMMENT","_isClobbered","elm","namespaceURI","_isNode","_executeHook","entryPoint","_sanitizeElements","allowedTags","insertAdjacentHTML","htmlToInsert","cloneNode","_isValidAttribute","lcTag","lcName","_sanitizeAttributes","attr","idAttr","hookEvent","attrName","attrValue","keepAttr","allowedAttributes","forceKeepAttr","setAttributeNS","_sanitizeShadowDOM","fragment","shadowNode","shadowIterator","importedNode","oldNode","returnNode","toStaticHTML","nodeIterator","serializedHTML","setConfig","clearConfig","isValidAttribute","addHook","hookFunction","removeHook","removeHooks","removeAllHooks","hasOwn","classNames","argType","iterate","$AggregateError","errors","errorsArray","AggregateError","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","toAbsoluteIndex","IS_INCLUDES","fromIndex","integer","returnMethod","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","NativePromise","redefineAll","setSpecies","anInstance","checkCorrectnessOfIteration","speciesConstructor","microtask","promiseResolve","hostReportErrors","newPromiseCapabilityModule","perform","V8_VERSION","PROMISE","getInternalPromiseState","PromiseConstructor","$fetch","newGenericPromiseCapability","DISPATCH_EVENT","createEvent","dispatchEvent","NATIVE_REJECTION_EVENT","PromiseRejectionEvent","FakePromise","INCORRECT_ITERATION","isThenable","isReject","notified","chain","reactions","ok","exited","fail","rejection","onHandleUnhandled","enter","exit","onUnhandled","initEvent","isUnhandled","internalReject","internalResolve","wrapper","executor","$promiseResolve","alreadyCalled","race","toggle","macrotask","MutationObserver","WebKitMutationObserver","queueMicrotaskDescriptor","queueMicrotask","characterData","allSettled","any","alreadyResolved","alreadyRejected","real","onFinally","CONVERT_TO_STRING","first","second","codeAt","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","addToUnscopables","Arguments","entryUnbind","$find","arrayMethodUsesToLength","SKIPS_HOLES","USES_TO_LENGTH","thrower","ACCESSORS","argument0","argument1","nativeAssign","symbol","chr","argumentsLength","$entries","TO_ENTRIES","notARegExp","correctIsRegExpLogic","nativeEndsWith","endsWith","CORRECT_IS_REGEXP_LOGIC","searchString","endPosition","nativeStartsWith","collection","collectionStrong","InternalMetadataModule","inheritIfRequired","IS_WEAK","ADDER","NativeConstructor","NativePrototype","exported","fixMethod","nativeMethod","getConstructor","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","setStrong","Wrapper","NewTarget","NewTargetPrototype","internalStateGetterFor","previous","getEntry","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","createProperty","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","isConcatSpreadable","spreadable","propertyKey","Boolean","nativeObjectCreate","getOwnPropertyNamesExternal","defineWellKnownSymbol","$forEach","HIDDEN","TO_PRIMITIVE","$Symbol","$stringify","nativeGetOwnPropertyNames","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","$defineProperty","$defineProperties","$getOwnPropertySymbols","$propertyIsEnumerable","$getOwnPropertyDescriptor","$getOwnPropertyNames","IS_OBJECT_PROTOTYPE","keyFor","sym","useSetter","useSimple","$replacer","windowNames","getWindowNames","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","blob","withCredentials","credentials","setRequestHeader","iteratorSupported","checkIfIteratorIsSupported","serializeParam","deserializeParam","URLSearchParams","checkIfURLSearchParamsSupported","typeofSearchString","_fromString","append","_entries","delete","getAll","searchArray","polyfillURLSearchParams","searchParams","checkIfURLIsSupported","_URL","baseElement","anchorElement","inputElement","checkValidity","enableSearchUpdate","enableSearchParamsUpdate","methodName","attributeName","_anchorElement","linkURLWithAnchorAttribute","_updateSearchParams","expectedPort","addPortToOrigin","createObjectURL","revokeObjectURL","polyfillURL","getOrigin","setInterval","for","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","updater","isReactComponent","setState","forceUpdate","isPureReactComponent","__self","__source","children","$$typeof","_owner","keyPrefix","ReactCurrentDispatcher","ReactCurrentBatchConfig","suspense","ReactCurrentOwner","IsSomeRendererActing","Children","only","Component","Fragment","Profiler","PureComponent","StrictMode","Suspense","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","cloneElement","createContext","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","Provider","Consumer","_context","createFactory","createRef","forwardRef","isValidElement","lazy","_ctor","_status","_result","memo","useCallback","useContext","useDebugValue","useEffect","useImperativeHandle","useLayoutEffect","useMemo","useReducer","useRef","useState","currentTarget","pa","qa","ra","sa","extractEvents","eventTypes","ta","phasedRegistrationNames","registrationName","va","wa","xa","ya","za","Aa","Ba","Ca","stateNode","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","Pa","Qa","acceptsBooleans","attributeNamespace","mustUseProperty","sanitizeURL","Ua","Va","xlinkHref","Wa","Xa","Sa","Ta","Ra","Ya","Za","$a","ab","bb","db","eb","fb","gb","hb","ib","jb","kb","lb","mb","pb","qb","_debugOwner","_debugSource","fileName","lineNumber","return","sb","xb","_valueTracker","getValue","stopTracking","tb","yb","zb","defaultChecked","defaultValue","_wrapperState","initialChecked","Ab","initialValue","controlled","Bb","Cb","Db","Eb","activeElement","Gb","Fb","Hb","selected","defaultSelected","disabled","Ib","dangerouslySetInnerHTML","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","MSApp","execUnsafeLocalFunction","Rb","lastChild","Sb","Tb","animationend","animationiteration","animationstart","transitionend","Ub","Vb","Wb","animation","transition","Xb","Yb","Zb","$b","ac","bc","cc","dc","alternate","effectTag","ec","memoizedState","dehydrated","fc","hc","child","sibling","gc","ic","jc","kc","lc","_dispatchListeners","_dispatchInstances","isPropagationStopped","isPersistent","release","mc","nc","srcElement","correspondingUseElement","oc","pc","qc","topLevelType","nativeEvent","targetInst","ancestors","rc","eventSystemFlags","sc","containerInfo","tc","uc","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Kc","blockedOn","Lc","pointerId","Mc","Nc","Pc","unstable_runWithPriority","priority","hydrate","Qc","Rc","Sc","Tc","Uc","unstable_scheduleCallback","unstable_NormalPriority","Vc","Wc","Yc","Zc","$c","ad","bubbled","captured","eventPriority","bd","cd","dd","unstable_UserBlockingPriority","ed","fd","gd","hd","Oc","jd","gridArea","lineClamp","kd","ld","md","setProperty","nd","menuitem","area","col","embed","img","keygen","wbr","od","pd","qd","rd","sd","td","ud","vd","xd","HTMLIFrameElement","yd","contentEditable","Dd","Ed","Fd","autoFocus","Gd","__html","Hd","Id","Jd","Kd","Ld","Md","Nd","Od","Pd","Qd","Rd","Sd","Td","dispatchConfig","Ud","_targetInst","Vd","Wd","Xd","Yd","Zd","$d","be","ce","Interface","isDefaultPrevented","defaultPrevented","returnValue","eventPool","fe","destructor","de","getPooled","preventDefault","stopPropagation","cancelBubble","persist","eventPhase","bubbles","cancelable","timeStamp","isTrusted","ge","he","je","ke","le","ne","oe","beforeInput","compositionEnd","compositionStart","compositionUpdate","pe","qe","keyCode","detail","ve","which","te","ctrlKey","altKey","metaKey","char","ue","we","color","date","datetime","email","month","password","tel","time","week","xe","ye","ze","Ae","Be","Ce","De","Ee","Fe","Ge","detachEvent","He","Ie","attachEvent","Je","Ke","Le","Me","_isInputEventSupported","Ne","Oe","Alt","Control","Meta","Shift","Pe","getModifierState","Qe","Re","Se","Te","Ue","Ve","screenX","screenY","clientX","clientY","pageX","pageY","shiftKey","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","We","width","height","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Xe","mouseEnter","mouseLeave","pointerEnter","pointerLeave","Ye","defaultView","$e","af","bf","cf","df","select","ef","ff","gf","hf","jf","selectionStart","selectionEnd","anchorNode","getSelection","anchorOffset","focusNode","focusOffset","kf","onSelect","lf","animationName","elapsedTime","pseudoElement","mf","clipboardData","nf","of","charCode","pf","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","qf","8","9","12","13","16","17","18","19","20","27","32","33","34","35","36","37","38","39","40","45","46","112","113","114","115","116","117","118","119","120","121","122","123","144","145","224","rf","sf","dataTransfer","tf","touches","targetTouches","changedTouches","uf","vf","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","wf","SimpleEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin","yf","zf","Af","Bf","Cf","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Df","Ef","Ff","getChildContext","Gf","__reactInternalMemoizedMergedChildContext","Hf","If","Jf","Kf","unstable_cancelCallback","Lf","unstable_requestPaint","Mf","unstable_now","Nf","unstable_getCurrentPriorityLevel","Of","unstable_ImmediatePriority","Pf","Qf","Rf","unstable_LowPriority","Sf","unstable_IdlePriority","Tf","Uf","unstable_shouldYield","Vf","Wf","Xf","Yf","Zf","$f","ag","bg","cg","dg","eg","fg","gg","hg","ig","jg","kg","lg","mg","ng","og","pg","childExpirationTime","qg","firstContext","expirationTime","rg","sg","observedBits","responders","tg","ug","updateQueue","baseState","baseQueue","effects","vg","wg","suspenseConfig","xg","yg","zg","Ag","Bg","Cg","Dg","Eg","Fg","Jg","_reactInternalFiber","Gg","Hg","Ig","Kg","shouldComponentUpdate","Lg","Mg","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Ng","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","Og","Pg","_stringRef","Qg","Rg","lastEffect","nextEffect","firstEffect","Sg","Tg","elementType","Ug","Vg","Wg","Xg","Yg","Zg","$g","ah","bh","dh","eh","fh","gh","hh","memoizedProps","revealOrder","ih","responder","jh","kh","lh","mh","nh","oh","ph","qh","sh","th","uh","vh","wh","lastRenderedReducer","eagerReducer","eagerState","lastRenderedState","dispatch","xh","yh","zh","Ah","deps","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","readContext","useResponder","useDeferredValue","useTransition","Oh","Ph","Qh","Rh","Sh","Th","pendingProps","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","di","ei","fi","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","gi","pendingContext","ni","pi","qi","ii","retryTime","ji","unstable_avoidThisFallback","ki","li","isBackwards","rendering","renderingStartTime","tailExpiration","tailMode","mi","ri","si","wasMultiple","multiple","onClick","onclick","createElementNS","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","Ci","Fi","Ei","Gi","__reactInternalSnapshotBeforeUpdate","Hi","Ii","Ji","focus","Ki","Li","componentWillUnmount","Di","Mi","Ni","Oi","Pi","Qi","_reactRootContainer","Ri","Si","Ti","Ui","Vi","Wi","Xi","Yi","Zi","$i","componentDidCatch","aj","componentStack","Rj","bj","cj","dj","kj","lj","mj","nj","oj","qj","rj","sj","tj","uj","vj","wj","timeoutMs","xj","yj","zj","lastExpiredTime","Aj","firstPendingTime","lastPingedTime","nextKnownPendingLevel","callbackExpirationTime","callbackPriority","callbackNode","Bj","Cj","Dj","Ej","Fj","Gj","Hj","finishedWork","finishedExpirationTime","lastSuspendedTime","Ij","timeoutHandle","Jj","busyMinDurationMs","busyDelayMs","Kj","Mj","Nj","pingCache","Oj","ub","Pj","Xc","Qj","Sj","firstSuspendedTime","rangeCount","wb","activeElementDetached","focusedElem","selectionRange","Tj","wd","createRange","setStart","removeAllRanges","addRange","setEnd","left","scrollLeft","scrollTop","vb","Uj","Vj","Wj","hidden","ob","Xj","unstable_observedBits","Zj","pendingChildren","ak","bk","ck","dk","ek","fk","Jc","_internalRoot","gk","ik","hk","jk","kk","unmount","form","Lj","lk","findFiberByHostInstance","bundleType","rendererPackageName","isDisabled","supportsFiber","inject","onCommitFiberRoot","onCommitFiberUnmount","Yj","overrideHookState","overrideProps","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","createPortal","findDOMNode","flushSync","unmountComponentAtNode","unstable_batchedUpdates","unstable_createPortal","unstable_renderSubtreeIntoContainer","unstable_forceFrameRate","performance","cancelAnimationFrame","sortIndex","startTime","priorityLevel","unstable_Profiling","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_wrapCallback","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","componentName","propFullName","secret","getShim","isRequired","ReactPropTypes","bool","arrayOf","objectOf","oneOfType","shape","exact","checkPropTypes","PropTypes","freeGlobal","maxInt","regexPunycode","regexNonASCII","regexSeparators","stringFromCharCode","mapDomain","ucs2decode","extra","ucs2encode","digitToBasic","digit","flag","adapt","numPoints","baseMinusTMin","decode","basic","oldi","baseMinusT","inputLength","bias","handledCPCount","basicLength","handledCPCountPlusOne","qMinusT","webpackPolyfill","qs","maxKeys","kstr","vstr","stringifyPrimitive","ks","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","Lazy","Portal","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","b64","lens","getLens","validLen","placeHoldersLen","Arr","_byteLength","curByte","revLookup","uint8","extraBytes","len2","encodeChunk","lookup","num","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","rt","abs","LN2","canParse","loader","dumper","FAILSAFE_SCHEMA","JSON_SCHEMA","CORE_SCHEMA","DEFAULT_SAFE_SCHEMA","DEFAULT_FULL_SCHEMA","load","loadAll","safeLoadAll","dump","MINIMAL_SCHEMA","SAFE_SCHEMA","DEFAULT_SCHEMA","scan","compose","addConstructor","_hasOwnProperty","PATTERN_NON_PRINTABLE","PATTERN_NON_ASCII_LINE_BREAKS","PATTERN_FLOW_INDICATORS","PATTERN_TAG_HANDLE","PATTERN_TAG_URI","_class","is_EOL","is_WHITE_SPACE","is_WS_OR_EOL","is_FLOW_INDICATOR","fromHexCode","simpleEscapeSequence","charFromCodepoint","simpleEscapeCheck","simpleEscapeMap","State","onWarning","legacy","implicitTypes","typeMap","line","lineStart","lineIndent","documents","generateError","throwWarning","directiveHandlers","major","minor","checkLineBreaks","handle","tagMap","captureSegment","checkJson","_position","_length","_character","mergeMappings","destination","overridableKeys","quantity","storeMappingPair","keyTag","keyNode","valueNode","startLine","readLineBreak","skipSeparationSpace","allowComments","checkIndent","lineBreaks","testDocumentSeparator","writeFoldedLines","readBlockSequence","nodeIndent","_line","_anchor","anchor","detected","anchorMap","composeNode","readTagProperty","tagHandle","isVerbatim","isNamed","readAnchorProperty","parentIndent","nodeContext","allowToSeek","allowCompact","allowBlockStyles","allowBlockScalars","allowBlockCollections","typeIndex","typeQuantity","flowIndent","blockIndent","indentStatus","atNewLine","hasContent","following","atExplicitKey","readBlockMapping","terminator","isPair","isExplicitPair","isMapping","readNext","readFlowCollection","captureStart","folding","chomping","didReadContent","detectedIndent","textIndent","emptyLines","atMoreIndented","readBlockScalar","captureEnd","readSingleQuotedScalar","hexLength","hexResult","readDoubleQuotedScalar","readAlias","withinFlowCollection","hasPendingContent","_lineStart","_lineIndent","_kind","readPlainScalar","readDocument","directiveName","directiveArgs","documentStart","hasDirectives","loadDocuments","column","getSnippet","maxLength","snippet","where","canonical","lowercase","uppercase","camelcase","isOctCode","isDecCode","hasDigits","sign","digits","octal","decimal","hexadecimal","YAML_FLOAT_PATTERN","SCIENTIFIC_WITHOUT_DOT","POSITIVE_INFINITY","YAML_DATE_REGEXP","YAML_TIMESTAMP_REGEXP","year","day","hour","minute","fraction","UTC","setTime","getTime","toISOString","NodeBuffer","BASE64_MAP","bitlen","tailbits","bits","_toString","pair","pairKey","pairHasKey","modifiers","multiline","ignoreCase","esprima","ast","fmt","ptn","TEXT_REGEXP","BINARY_REGEXP","canRead","https","redirects","download","httpOptions","redirectTo","toArrayBuffer","preferBinary","_opts","_body","_headers","setHeader","useFetch","decideMode","_fetchTimer","_onFinish","lowerName","unsafeHeaders","getHeader","removeHeader","headersObj","headersList","keyName","signal","controller","_fetchAbortController","requestTimeout","_connect","ontimeout","_response","statusValid","flushHeaders","setNoDelay","setSocketKeepAlive","_classCallCheck","custom","Timeout","clearFn","_id","_clearFn","clearInterval","unref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","registerImmediate","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","attachTo","runIfPresent","postMessageIsAsynchronous","oldOnMessage","canUsePostMessage","config","localStorage","arrayCopy","validateParams","_$refs","getPaths","encoded","decoded","absPath","withoutHash","_get$Ref","getResult","MAX_SAFE_INTEGER","lastError","runNextPlugin","onSuccess","Options","crawl","promises","resolve$Ref","keyPath","pathFromRoot","inventory","inventory$Ref","keyPathFromRoot","$refParent","$refKey","extended","existingEntry","findInInventory","removeFromInventory","aDefinitionsIndex","bDefinitionsIndex","remap","deRef","resolveAllFragment","parentPath","attachPoint","changes","$fixed","fatal","filterData","filters","fnComponents","backup","u2","effectiveProtocol","externalRef","findExternalRefs","rej","$extra","potential","resolvedAt","scanExternalRefs","actions","updated","localOptions","pointers","aComp","bComp","cdata","loopReferences","funcs","setupOptions","srcUrl","defs","master","logger","getLogger","stable","deterministicStringify","stableStringify","replacerStack","spacer","decirc","propertyDescriptor","replaceGetterValues","compareFunction","deterministicDecirc","getDefaultState","combine","allowRefSiblings","additionalItems","additionalProperties","subSchema","patternProperties","envVars","insideString","bash","toBeCopied","shell","comment","interpolation","coffeescript","coffee","cpp","nested","depthLog2","keywordKinds","keywordsToPattern","words","typeDeclarationKeywords","nonTypeKeywords","nonContextualKeywords","generic","nestedRound","genericName","identifier","tupleElement","tuple","typeExpression","typeInside","character","regularString","verbatimString","csharp","regularStringOrCharacter","regularStringCharacterOrComment","roundExpression","attrTarget","formatString","mInterpolationRound","mInterpolation","sInterpolationRound","sInterpolation","createInterpolationInside","interpolationRound","dotnet","cs","go","langs","httpLanguages","suffixTypes","getSuffixPattern","java","function","lua","getPlaceholder","buildPlaceholders","placeholderPattern","replaceFilter","tokenStack","placeholder","tokenizePlaceholders","walkTokens","middle","objectivec","perl","keyword","php","punctuation","string_interpolation","python","py","ruby","scala","sql","swift","useSourceMap","cssMapping","btoa","sourceMapping","sourceMap","sourceURLs","sources","sourceRoot","cssWithMappingToString","mediaQuery","dedupe","alreadyImportedModules","addMethods","win","scroll","checkTimer","watchArray","initialized","hiddenPropertyName","visibilityChangeEventName","webkitHidden","getComputedStyle","seppuku","prefixes","rebuild","kill","parseNumeric","updateScrollPos","pageYOffset","pageXOffset","onScroll","recalcAllPos","onWheel","recalcElementPos","inited","currentMode","nodeStyle","right","bottom","marginLeft","marginRight","marginTop","switchElementMode","initElement","isCell","refElement","cloneStyle","marginBottom","padding","border","borderSpacing","fontSize","cssFloat","offsetHeight","docOffsetTop","getDocOffsetTop","deinitElement","deinitParent","killClone","targetObj","sourceObject","mergeObjects","initAll","deinitAll","getElementParams","computedStyle","parentComputedStyle","cachedPosition","numeric","paddingLeft","paddingRight","borderLeftWidth","borderRightWidth","nodeOffset","getElementOffset","parentOffset","borderTopWidth","borderBottomWidth","clientWidth","offsetTop","offsetParent","getBoundingClientRect","startFastCheckTimer","deltaTop","deltaHeight","fastCheck","stopFastCheckTimer","handlePageVisibilityChange","stickies","_getPrototypeOf","_setPrototypeOf","_isNativeReflectConstruct","Parent","_cache","_Error","subClass","superClass","PolishedError","_assertThisInitialized","colorToInt","round","convertToInt","blue","hslToRgb","hue","saturation","lightness","huePrime","chroma","secondComponent","lightnessModification","namedColorMap","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellowgreen","hexRegex","hexRgbaRegex","reducedHexRegex","reducedRgbaHexRegex","rgbRegex","rgbaRegex","hslRegex","hslaRegex","parseToRgb","normalizedColor","normalizedColorName","nameToHex","alpha","toFixed","_alpha","rgbMatched","rgbaMatched","hslMatched","rgbColorString","hslRgbMatched","hslaMatched","_rgbColorString","_hslRgbMatched","parseToHsl","rgbToHsl","reduceHexValue","numberToHex","hex","colorToHex","convertToHex","hslToHex","hsl","hsla","rgb","rgba","firstValue","secondValue","thirdValue","fourthValue","rgbValue","toColorString","isRgba","isRgb","isHsla","isHsl","curry","curried","combined","guard","lowerBoundary","upperBoundary","darken","amount","hslColor","curriedDarken","desaturate","curriedDesaturate","getLuminance","rgbColor","_Object$keys$map","getContrast","color1","color2","luminance1","luminance2","lighten","curriedLighten","readableColor","lightReturnColor","darkReturnColor","isLightColor","preferredReturnColor","transparentize","parsedColor","curriedTransparentize","defaultTheme","spacing","unit","sectionHorizontal","sectionVertical","breakpoints","small","medium","large","colors","tonalOffset","primary","light","dark","contrastText","success","50","100","secondary","backgroundColor","tabTextColor","redirect","put","linesColor","theme","defaultDetailsWidth","typeNameColor","typeTitleColor","requireLabelColor","labelsTextSize","nestingSpacing","nestedBackground","arrow","typography","fontWeightRegular","fontWeightBold","fontWeightLight","fontFamily","smoothing","optimizeSpeed","headings","hover","sidebar","textColor","activeTextColor","groupItems","textTransform","level1Items","maxHeight","maxWidth","gutter","rightPanel","codeBlock","IS_BROWSER","scrollIntoViewIfNeeded","centerIfNeeded","parentBorderTopWidth","getPropertyValue","parentBorderLeftWidth","overTop","overBottom","clientHeight","overLeft","offsetLeft","overRight","alignWithTop","scrollIntoView","mapWithLast","iteratee","mapValues","stripTrailingSlash","isMergebleObject","safeSlugify","parseURL","labels","enumSingleValue","enumArray","recursive","webhook","argValueToBoolean","resolvedValues","setProxy","_labels","extensionsHook","menu","codeSample","currentPath","scrollYOffset","RedocNormalizedOptions","normalizeScrollYOffset","hideHostname","normalizeHideHostname","expandResponses","normalizeExpandResponses","requiredPropsFirst","sortPropsAlphabetically","sortEnumValuesAlphabetically","noAutoAuth","nativeScrollbars","pathInMiddlePanel","untrustedSpec","hideDownloadButton","disableSearch","onlyRequiredInSamples","showExtensions","normalizeShowExtensions","hideSingleRequestSampleTab","menuToggle","jsonSampleExpandLevel","normalizeJsonSampleExpandLevel","enumSkipQuotes","hideSchemaTitles","simpleOneOfTypeLabel","payloadSampleIdx","normalizePayloadSampleIdx","expandSingleSchemaField","unstable_ignoreMimeParameters","allowedMdComponents","expandDefaultServerVariables","maxDisplayedEnumValues","ignoreNamedSchemas","styled","createGlobalStyle","keyframes","ThemeProvider","media","breakpoint","print","styledName","ErrorWrapper","div","rotate","Spinner","viewBox","LoadingMessage","textAlign","OptionsContext","OptionsProvider","OptionsConsumer","loadAndBundleSpec","specUrlOrObject","spec","convertSwagger2OpenAPI","origParse","baseName","JsonPointer","dirName","fromTokens","resTokens","isWildcardStatusCode","getStatusCodeType","defaultAsError","operationNames","isOperationName","schemaKeywordTypes","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","minLength","maxItems","minItems","uniqueItems","maxProperties","minProperties","isJsonLike","delimitedEncodeField","fieldVal","fieldName","deepObjectEncodeField","serializeFormValue","serializeParameterValueWithMime","mime","serializeParameterValue","parameter","serializationMime","serializePathParameter","serializeQueryParameter","serializeHeaderParameter","serializeCookieParameter","isNamedDefinition","getDefinitionName","humanizeRangeConstraint","stringRange","humanizeConstraints","arrayRange","numberRange","multipleOfConstraint","strigifiedMultipleOf","humanizeMultipleOfConstraint","sortByRequired","fields","unrequiredFields","orderedFields","unorderedFields","field","sortByField","localeCompare","normalizeServers","specUrl","removeQueryString","getHref","normalizeUrl","isAbsoluteUrl","urlObj","SECURITY_SCHEMES_SECTION_PREFIX","shortenHTTPVerb","extractExtensions","isRedocExtension","viml","mapLang","Throttle","_2","wait","later","debugTime","debugTimeEnd","SENTINEL","memoizedName","_memoizeMethod","_memoizeGetter","EVENT","_emiter","currentId","linkForId","subscribe","emmiter","rewriteHistory","history","replaceState","pushState","prevTerm","addOnly","inst","elem","clearAll","COMPONENT_REGEXP","headingRule","currentTopHeading","saveHeading","originalHeadingRule","headingEnhanceRenderer","containsComponent","rawText","getTextBeforeHading","headingLinePos","parentId","_m","flattenHeadings","attachHeadingsDescriptions","buildRegexp","flatHeadings","prevHeading","prevRegexp","prevPos","currentPos","renderMd","extractHeadings","renderMdWithComponents","componentsRegexp","htmlParts","componentDefs","lasxtIdx","componentMeta","propsSelector","parseProps","htmlPart","firstHeadingLinePos","downloadLink","getDownloadLink","downloadFileName","getDownloadFileName","requirement","deref","sectionId","infoOrRef","expanded","operations","exitRef","pathName","operationName","operationInfo","operation","httpVerb","pathParameters","pathServers","isChild","typePrefix","isCircular","activeOneOf","rawSchema","mergeAllOf","exitParents","extensions","activateOneOf","detectType","externalDocs","constraints","displayType","displayFormat","isPrimitiveType","readOnly","writeOnly","getDiscriminator","initOneOf","additionalProps","buildFields","SchemaModel","initDiscriminator","uniqueTypes","variant","derefVariant","discriminatorProp","implicitInversedMapping","findDerived","parentRefs","isLimitedToMapping","explicitInversedMapping","inversedMapping","indexLeft","indexRight","innerSchema","byRef","externalExamplesCache","externalValue","externalValueUrl","urlFormEncodePayload","getExternalValue","txt","DEFAULT_SERIALIZATION","cookie","fieldSchema","pad","ensureMinLength","sample","trunc","getResultForCircular","popSchemaStack","seenSchemasStack","allOfSample","into","traverse","subSamples","mergeDeep","objects","pVal","oVal","quiet","lastSample","inferType","$refCache","maxSampleDepth","referenced","const","sampler","_samplers","sampleNumber","commonDateTimeSample","omitTime","milliseconds","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","toRFCDateTime","defaultSample","stringFormats","_min","_max","hashCode","skipReadOnly","_registerSampler","arrayLength","itemSchema","itemNumber","requiredKeyDict","skipNonRequired","skipWriteOnly","property1","property2","isRequestType","shalowDeref","generateExample","samplerOptions","mergedTypes","activeMimeIdx","normalizedMimeName","mediaTypes","resetVisited","activate","isPayloadSample","requestBodyContent","isCodeSamplesWarningPrinted","operationSpec","isCallback","isWebhook","deactivate","collapse","samples","hasSample","insertInx","_parameters","pathParams","operationParams","operationParamNames","mergeParams","paramOrRef","hasSuccessResponses","callbackEventName","MiddlePanel","Section","attrs","SECTION_ATTR","underlined","RightPanel","DarkRightPanel","Row","headerFontSize","2","3","headerCommonMixin","H1","h1","H2","h2","RightPanelHeader","h3","UnderlinedHeader","h5","loading","resolvedSpec","nextProps","prevState","prevSpecUrl","prevSpec","makeStore","onLoaded","linkifyMixin","isModifiedEvent","navigate","StyledShareLink","ShareLink","StyleKeys","KEY_CODES","directionMap","down","ShelfIcon","xmlns","points","float","direction","Badge","span","deprecatedCss","PropertiesTableCaption","caption","PropertyCell","PropertyCellWithInner","PropertyNameCell","PropertyDetailsCell","PropertyBullet","InnerPropertiesWrap","PropertiesTable","OneOfList","OneOfLabel","ArrayOpenningLabel","ArrayClosingLabel","NAVIGATION_KEYS","ESCAPE","UP_ARROW","DOWN_ARROW","PAGE_UP","PAGE_DOWN","colours","isOptionGroup","option","groupOptions","arrayReducer","filterGroup","optionGroup","searchTerm","cx","DropdownWrapper","_a","dropdownFocused","borderRadius","cursor","flexDirection","&:hover","&:disabled","DropdownSelector","searchable","alignItems","boxSizing","outline","SelectorSearch","inputValueStyleBase","overflow","textOverflow","whiteSpace","SelectedValue","centerText","Placeholder","Arrow","OptionContainer","openUp","maxContentHeight","boxShadow","listStyleType","margin","overflowX","overflowY",".dropdown-selector-content--empty","justifyContent","&::-webkit-scrollbar","&::-webkit-scrollbar-track","background","&::-webkit-scrollbar-thumb","GroupContainer","GroupHeading","GroupDivider","borderBottom","paddingTop","OptionItemWrap","focused","lightest",".option-icon","React.memo","onOptionClicked","optionClass","itemRenderer","handleClick","React.createElement","iconClass","ariaLabel","StandardIcon","_b","dim","stroke","strokeLinecap","strokeLinejoin","Inbox","ChevronDown","Search","cy","x1","y1","x2","y2","DropdownContent","selectedOption","focusedIndex","optionItemRenderer","renderedOptions","optionItems","groupOption","OptionItem","listboxStyle","useAriaList","flattenedOptions","selectedIndex","mergedId","optionMarkup","role","useDropdownHooks","onChange","ariaDescribedBy","ariaLabelledBy","defaultOpen","setFocusedIndex","setOpen","inputRef","listWrapper","_c","setDropdownFocused","_d","setSearchTermState","filteredOptions","lowercaseTerm","options_1","filteredGroup","setSearchTerm","newSearchTerm","resetFocusedIndex","useSearch","closeDropdown","openDropdown","newOption","shouldClose","optionContainer","getElementsByClassName","focusedChild","optionHeight","listHeight","isAbove","scrollTo","ariaProps","aria-hidden","aria-expanded","aria-haspopup","aria-activedescendant","aria-controls","aria-label","aria-labelledby","aria-describedby","ariaList","idCount","Dropdown","idProp","arrowRenderer","contentClassName","hideArrow","pageKeyTraverseSize","selectedValueClassName","forwardFocus","onDropdownClick","onNavigation","handleInputKeyDown","ENTER","SPACE","TAB","handleTermChange","onFocus","onBlur","ArrowMarkup","showSearchIcon","onKeyDown","autoComplete","empty","StyledDropdown","SimpleDropdown","MimeLabel","makeTypeChecker","tabsRole","isTab","isTabList","isTabPanel","enumerableOnly","_objectSpread","_defineProperty","deepMap","isTabChild","deepForEach","toVal","mix","canUseActiveElement","tabCount","isNode","isTabNode","isTabDisabled","_Component","UncontrolledTabs","_len","_key","tabNodes","handleKeyDown","isTabFromContainer","useSelectedIndex","getNextTab","getPrevTab","getLastTab","getFirstTab","setSelected","_proto","getTabsCount","_this$props","getTab","getPanelsCount","panelCount","getChildren","_this$props2","disabledTabClassName","forceRenderTabPanel","selectedTabClassName","selectedTabPanelClassName","tabIds","panelIds","diff","listIndex","wasTabFocused","tab","tabRef","panelId","selectedClassName","disabledClassName","tabId","forceRender","nodeAncestor","_this$props3","domRef","excluded","_objectWithoutPropertiesLoose","Tabs","handleSelected","copyPropsToState","defaultFocus","getModeFromProps","maxTabIndex","defaultIndex","_this$state","TabList","Tab","checkFocus","_cx","tabIndex","DEFAULT_CLASS","TabPanel","PrismDiv","SampleControls","SampleControlsWrap","StyledPre","withComponent","let","elMatches","queryChildren","cls","thumb","rail","consuming","clicking","scrolling","scrollingClassTimeout","addScrollingClass","classList","removeScrollingClass","isAlive","settings","scrollingThreshold","EventElement","eventName","unbind","unbindAll","isEmpty","EventManager","eventElements","CustomEvent","initCustomEvent","axis","useScrollingClass","forceFireReachEvent","reach","contentHeight","containerHeight","setScrollingClassInstantly","processScrollDiff","toInt","eventElement","onceHandler","isWebKit","supportsTouch","maxTouchPoints","DocumentTouch","supportsIePointer","msMaxTouchPoints","isChrome","roundedScrollTop","rect","containerWidth","contentWidth","scrollWidth","scrollHeight","scrollbarXRail","DOM.queryChildren","DOM.remove","scrollbarYRail","suppressScrollX","scrollXMarginOffset","scrollbarXActive","railXWidth","railXMarginWidth","railXRatio","scrollbarXWidth","getThumbSize","scrollbarXLeft","negativeScrollAdjustment","suppressScrollY","scrollYMarginOffset","scrollbarYActive","railYHeight","railYMarginHeight","railYRatio","scrollbarYHeight","scrollbarYTop","xRailOffset","isRtl","isScrollbarXUsingBottom","scrollbarXBottom","scrollbarXTop","CSS.set","yRailOffset","isScrollbarYUsingRight","scrollbarYRight","scrollbarYOuterWidth","scrollbarYLeft","scrollbarX","railBorderXWidth","scrollbarY","railBorderYWidth","updateCss","thumbSize","minScrollbarLength","maxScrollbarLength","bindMouseScrollHandler","startingScrollTop","startingMousePageY","scrollBy","mouseMoveHandler","updateGeometry","mouseUpHandler","bindMoves","touchMode","DOM.matches","contentDocument","shadowRoot","wheelPropagation","shouldPreventDefault","mousewheelHandler","getDeltaFromEvent","CSS.get","maxScrollTop","maxScrollLeft","shouldBeConsumedByChild","shouldPrevent","useBothWheelAxes","wheelSpeed","isTop","isBottom","isLeft","isRight","offsetWidth","onwheel","onmousewheel","startOffset","speed","easingLoop","touchStart","touchMove","touchEnd","PointerEvent","MSPointerEvent","applyTouchMove","differenceX","differenceY","getTouch","shouldHandle","MSPOINTER_TYPE_MOUSE","touch","currentOffset","currentTime","timeGap","magnitudeX","magnitudeY","scrollY","swipeEasing","isInitialized","userSettings","originalScrollLeft","blur","isNegativeScroll","DOM.div","railXStyle","railYStyle","styles","handlerName","lastScrollTop","lastScrollLeft","update","removePsClasses","PerfectScrollbarConstructor","PSStyling","StyledScrollWrapper","handleRef","_container","updateFn","PerfectScrollbarWrap","overscrollBehavior","msOverflowStyle","webhooks","apiKey","bearerFormat","openId","connectUrl","openIdConnectUrl","_counter","reset","visit","_refCounter","RefCounter","validate","preprocess","mergeRefs","buildComponentComment","testRegex","replaceRegex","appendToMdHeading","forceCircular","schemaName","used$Refs","hoistOneOfs","subRef","subMerged","subSchemaRef","defName","shema","parent$ref","contentItems","buildStructure","SecuritySchemesModel","tagOrGroup","tagsMap","MenuBuilder","getTagsWithOperations","addMarkdownItems","getTagGroupsItems","getTagsItems","initialDepth","mapHeadingsDeep","_parent","group","groups","tags","used","GROUP_DEPTH","getOperationsItems","getTags","operationTags","collectionItems","activeItemIdx","sideBarOpened","updateOnScroll","isScrolledDown","itemIdx","flatItems","getElementAtOrFirstChild","isElementBellow","getElementAt","isElementAbove","updateOnHistory","activateAndScroll","scrollIntoViewBySelector","getItemById","absoluteIdx","_unsubscribe","_hashUnsubscribe","toggleSidebar","closeSidebar","updateLocation","activeItem","menuItem","scrollToActive","_prevOffsetY","_scrollParent","handleScroll","HTMLElement","searchWorker","getWorker","indexItems","terminate","toJS","fromExternalJS","exportName","DropdownOrLabel","Label","linksCss","StyledMarkdownBlock","StyledMarkdownSpan","SanitizedMarkdownHTML","Wrap","dataRole","Tip","Content","Gap","queryCommandSupported","selectElement","selection","createTextRange","moveToElementText","selectNodeContents","deselect","copySelected","execCommand","copyElement","ClipboardService","copyCustom","textArea","showTooltip","renderCopyButton","tooltipShown","jsonToHTML","maxExpandLevel","valueToHTML","htmlEncode","stringifyStringLiteral","decorateWithSpan","valueType","collapsed","hasContents","arrayToHTML","objectToHTML","jsonStyles","JsonViewerWrap","JsonViewer","renderInner","expandAll","collapseAll","collapseElement","clickListener","focusListener","ExampleValue","Example","ExternalExample","setIsLoading","prevRef","useExternalExample","DropdownLabel","InvertedSimpleDropdown","NoSampleLabel","activeIdx","switchMedia","mediaType","noSample","examplesNames","SamplesWrapper","renderDropdown","globalIsUsingStaticRendering","isUsingStaticRendering","printDebugValue","FinalizationRegistryLocal","FinalizationRegistry","createTrackingData","mounted","changedBeforeMount","cleanAt","CLEANUP_LEAKED_REACTIONS_AFTER_MILLIS","cleanupTokenToReactionTrackingMap","globalCleanupTokensCounter","registry","trackedReaction","addReactionToTrack","reactionTrackingRef","objectRetainedByReact","register","finalizationRegistryCleanupToken","recordReactionAsCommitted","reactionRef","unregister","forceCleanupTimerToRunNowForTests","resetCleanupScheduleForTests","createReactionCleanupTrackingUsingFinalizationRegister","reactionCleanupHandle","uncommittedReactionRefs","ensureCleanupTimerRunning","cleanUncommittedReactions","tracking","createTimerBasedReactionCleanupTracking","observerComponentNameFor","baseComponentName","useObserver","setTick","ObjectToBeRetainedByReact","tick","newReaction","exception","ObserverComponent","observer","baseComponent","memoComponent","realOptions","wrappedComponent","hoistBlackList","symbolId","createdSymbols","newSymbol","createSymbol","shallowEqual","setHiddenProp","mobxMixins","mobxPatchedDefinition","realMethod","locks","retVal","mx","wrapFunction","mixinMethod","methodMixins","getMixins","oldDefinition","originalMethod","newDefinition","createDefinition","wrappedFunc","mobxAdminProperty","mobxObserverProperty","mobxIsUnmounted","skipRenderKey","isForcingUpdateKey","makeClassComponentObserver","componentClass","getDisplayName","componentWillReact","observerSCU","makeObservableProp","baseRender","makeComponentReactive","comp","initialName","isRenderingPending","hasError","reactiveRender","_allowStateChanges","nextState","valueHolderKey","atomHolderKey","prevReadState","_allowStateReadsStart","_allowStateReadsEnd","hasSymbol","ReactForwardRefSymbol","ReactMemoSymbol","Observer","observerLite","ClickablePropertyNameCell","FieldLabel","TypePrefix","TypeName","TypeTitle","TypeFormat","RequiredLabel","RecursiveLabel","NullableLabel","PatternLabel","ExtensionValue","ConstraintItem","ToggleButton","LinkWrap","ExternalDocumentation","displayedItems","showToggleButton","toggleButtonText","exampleValue","Extension","exts","constraint","patternShown","togglePattern","showExamples","renderDiscriminatorSwitch","rawDefault","renderedExamples","Examples","getSerializedValue","ExamplesList","ul","PaddedSchema","itemsSchema","minMaxItems","expandByDefault","handleKeyPress","isLast","withSubSchema","paramName","onKeyPress","colSpan","showTitle","Field","changeActiveChild","sortOptions","enumValues","enumOrder","enumItem","activeValue","DiscriminatorDropdown","parentSchema","filteredFields","ObjectSchema","OneOfButton","OneOfSchema","getMediaType","schemaRef","exampleRef","_mediaModel","SchemaDefinition","showReadOnly","showWriteOnly","mediaModel","MediaSamplesWrap","AUTH_TYPES","oauth2","openIdConnect","refreshUrl","createSearchIndex","disposer","rawOptions","DEFAULT_OPTIONS","updateMarkOnMenu","fromJS","AppStore","searchIndex","onDidMount","$description","ApiHeader","DownloadButton","InfoSpan","InfoSpanBoxWrap","InfoSpanBox","handleDownloadClick","downloadFilename","license","website","contact","terms","ApiInfo","LogoImgEl","LogoWrap","logoInfo","logoHref","altText","alt","ApiLogo","renderWithOptionsAndStore","htmlWrap","OperationBadge","menuItemActiveBg","MenuItemUl","MenuItemLi","menuItemDepth","0","MenuItemLabel","classnames","MenuItemTitle","RedocAttribution","opened","CallbackTitleWrapper","OperationBadgeStyled","CallbackName","StyledCallbackTitle","CallbackDetailsWrap","OperationEndpointWrap","ServerRelativeURL","EndpointInfo","inverted","HttpVerb","ServersOverlay","ServerItem","ServerUrl","normalizedUrl","getBasePath","place","withLabel","MediaTypesSwitch","PARAM_PLACES","orderParams","paramsMap","paramsPlaces","bodyContent","bodyDescription","BodyContent","DropdownWithinHeader","Stickyfill","StyledResponseTitle","Code","ResponseDetailsWrap","HeadersCaption","mimes","ResponseView","ResponsesHeader","ScopeName","SecurityRequirementAndWrap","SecurityRequirementOrWrap","AuthHeaderColumn","SecuritiesColumn","AuthHeader","securities","hasDescription","Description","CallbackDetails","callbackOperation","CallbackOperation","CallbacksHeader","switchItem","GenericChildrenSwitcher","mimeContent","PayloadSamples","payloadSample","codeSamples","PayloadSampleWrapper","dropdownOptions","CallbackSamples","hasSamples","hideTabList","RequestSamples","ResponseSamples","OperationRow","Operation","ContentItems","ContentItem","middlePanelWrap","Header","SectionItem","OperationItem","onActivate","scrollIntoViewIfActive","withoutChildren","MenuItem","OperationMenuItemContent","MenuItems","_updateScroll","saveScrollUpdate","upd","SideMenu","AnimatedChevronButton","iconOffset","ChevronContainer","ChevronSvg","stickyfill","StyledStickySidebar","FloatingButton","toggleNavMenu","stickyElement","getScrollYOffset","StickyResponsiveSidebar","RedocWrap","ApiContentWrap","BackgroundStub","percents","SearchWrap","SearchInput","SearchIcon","SearchResultsBox","ClearIcon","activeItemRef","activeResult","clearResults","searchCallback","setResults","score","hideLoading","normalizedOpts","revision","parseOptionsFromElement","attrMap","elAttrs","attrib","attributesMap","$1","specOrSpecUrl","autoInit"],"mappings":"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AJ,qBAAIA,EAAJ,uBAAa6jB,EAAUviB,EAAMtB,IAI/B,SAAS+8E,EAASj9E,EAAKqH,GACxBzN,GAIFA,EAAeoG,EAAK,MAItB,IADA,IAAIrI,EAAI0P,EAAMhN,OACP1C,KAAK,CACV,IAAI0mB,EAAUhX,EAAM1P,GACpB,GAAuB,iBAAZ0mB,EAAsB,CAC/B,IAAM6+D,EAAYV,EAAkBn+D,GAChC6+D,IAAc7+D,IAEXy9D,EAASz0E,KACZA,EAAM1P,GAAKulF,GAGb7+D,EAAU6+D,GAIdl9E,EAAIqe,IAAW,EAGjB,OAAOre,EAIF,SAASomC,EAAMhtC,GACpB,IAAM+jF,EAAY,GAEd9jF,SACJ,IAAKA,KAAYD,EACXkB,EAAMf,EAAgBH,EAAQ,CAACC,MACjC8jF,EAAU9jF,GAAYD,EAAOC,IAIjC,OAAO8jF,EC9FF,IAAMlxC,EAAOprC,EAAO,CACzB,IACA,OACA,UACA,UACA,OACA,UACA,QACA,QACA,IACA,MACA,MACA,MACA,QACA,aACA,OACA,KACA,SACA,SACA,UACA,SACA,OACA,OACA,MACA,WACA,UACA,OACA,WACA,KACA,YACA,MACA,UACA,MACA,MACA,MACA,KACA,KACA,UACA,KACA,WACA,aACA,SACA,OACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,SACA,KACA,OACA,IACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,MACA,OACA,UACA,OACA,WACA,QACA,MACA,OACA,KACA,WACA,SACA,SACA,IACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,UACA,SACA,SACA,QACA,SACA,SACA,OACA,SACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,WACA,QACA,KACA,QACA,OACA,KACA,QACA,KACA,IACA,KACA,MACA,QACA,QAIWsrC,EAAMtrC,EAAO,CACxB,MACA,IACA,WACA,cACA,eACA,eACA,gBACA,mBACA,QACA,SACA,SACA,WACA,OACA,OACA,UACA,SACA,OACA,IACA,QACA,WACA,QACA,QACA,OACA,iBACA,SACA,OACA,WACA,QACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,QACA,SACA,SACA,OACA,WACA,QACA,OACA,QACA,QACA,OACA,UAGWu8E,EAAav8E,EAAO,CAC/B,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,iBACA,UACA,UACA,UACA,UACA,UACA,iBACA,UACA,cACA,eACA,WACA,eACA,qBACA,cACA,SACA,iBAGWw8E,EAASx8E,EAAO,CAC3B,OACA,WACA,SACA,UACA,QACA,SACA,KACA,aACA,gBACA,KACA,KACA,QACA,UACA,WACA,QACA,OACA,KACA,SACA,QACA,SACA,OACA,OACA,UACA,SACA,MACA,QACA,MACA,SACA,eAGWqoC,EAAOroC,EAAO,CAAC,UCnOforC,EAAOprC,EAAO,CACzB,SACA,SACA,QACA,MACA,iBACA,eACA,uBACA,WACA,aACA,UACA,SACA,UACA,cACA,cACA,UACA,OACA,QACA,QACA,QACA,OACA,UACA,WACA,eACA,SACA,cACA,WACA,WACA,UACA,MACA,WACA,0BACA,wBACA,WACA,YACA,UACA,eACA,OACA,MACA,UACA,SACA,SACA,OACA,OACA,WACA,KACA,YACA,YACA,QACA,OACA,QACA,OACA,OACA,UACA,OACA,MACA,MACA,YACA,QACA,SACA,MACA,YACA,WACA,QACA,OACA,UACA,aACA,SACA,OACA,UACA,UACA,cACA,cACA,SACA,UACA,UACA,aACA,WACA,MACA,WACA,MACA,WACA,OACA,OACA,UACA,aACA,QACA,WACA,QACA,OACA,QACA,OACA,UACA,QACA,MACA,SACA,OACA,QACA,UACA,WACA,QACA,YACA,OACA,SACA,SACA,QACA,QACA,UAGWsrC,EAAMtrC,EAAO,CACxB,gBACA,aACA,WACA,qBACA,SACA,gBACA,gBACA,UACA,gBACA,iBACA,QACA,OACA,KACA,QACA,OACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,KACA,KACA,IACA,KACA,KACA,kBACA,YACA,UACA,UACA,MACA,WACA,YACA,MACA,OACA,eACA,YACA,SACA,cACA,cACA,gBACA,cACA,YACA,mBACA,eACA,aACA,eACA,cACA,KACA,KACA,KACA,KACA,aACA,WACA,gBACA,oBACA,SACA,OACA,KACA,kBACA,KACA,MACA,IACA,KACA,KACA,KACA,KACA,UACA,YACA,aACA,WACA,OACA,eACA,iBACA,eACA,mBACA,iBACA,QACA,aACA,aACA,eACA,eACA,cACA,cACA,mBACA,YACA,MACA,OACA,QACA,SACA,OACA,MACA,OACA,aACA,SACA,WACA,UACA,QACA,SACA,cACA,SACA,WACA,cACA,OACA,aACA,sBACA,mBACA,eACA,SACA,gBACA,sBACA,iBACA,IACA,KACA,KACA,SACA,OACA,OACA,cACA,YACA,UACA,SACA,SACA,QACA,OACA,kBACA,mBACA,mBACA,eACA,cACA,eACA,cACA,aACA,eACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,SACA,eACA,QACA,eACA,WACA,UACA,UACA,YACA,cACA,kBACA,iBACA,aACA,OACA,KACA,KACA,UACA,SACA,UACA,aACA,UACA,aACA,gBACA,gBACA,QACA,eACA,OACA,eACA,mBACA,mBACA,IACA,KACA,KACA,QACA,IACA,KACA,KACA,IACA,eAGWw8E,EAASx8E,EAAO,CAC3B,SACA,cACA,QACA,WACA,QACA,eACA,cACA,aACA,aACA,QACA,MACA,UACA,eACA,WACA,QACA,QACA,SACA,OACA,KACA,UACA,SACA,gBACA,SACA,SACA,iBACA,YACA,WACA,cACA,UACA,UACA,gBACA,WACA,WACA,OACA,WACA,WACA,aACA,UACA,SACA,SACA,cACA,gBACA,uBACA,YACA,YACA,aACA,WACA,iBACA,iBACA,YACA,UACA,QACA,UAGWmrC,EAAMnrC,EAAO,CACxB,aACA,SACA,cACA,YACA,gBChWWy8E,EAAgBvB,EAAK,6BACrBwB,EAAWxB,EAAK,yBAChByB,EAAYzB,EAAK,8BACjB0B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","file":"redoc.standalone.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"null\"), (function webpackLoadOptionalExternalModule() { try { return require(\"esprima\"); } catch(e) {} }()));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"null\", \"esprima\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Redoc\"] = factory(require(\"null\"), (function webpackLoadOptionalExternalModule() { try { return require(\"esprima\"); } catch(e) {} }()));\n\telse\n\t\troot[\"Redoc\"] = factory(root[\"null\"], root[\"esprima\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE__63__, __WEBPACK_EXTERNAL_MODULE__269__) {\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 = 159);\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","const niceErrors = {\n 0: `Invalid value for configuration 'enforceActions', expected 'never', 'always' or 'observed'`,\n 1(prop) {\n return `Cannot decorate undefined property: '${prop.toString()}'`\n },\n 2(prop) {\n return `invalid decorator for '${prop.toString()}'`\n },\n 3(prop) {\n return `Cannot decorate '${prop.toString()}': action can only be used on properties with a function value.`\n },\n 4(prop) {\n return `Cannot decorate '${prop.toString()}': computed can only be used on getter properties.`\n },\n 5: \"'keys()' can only be used on observable objects, arrays, sets and maps\",\n 6: \"'values()' can only be used on observable objects, arrays, sets and maps\",\n 7: \"'entries()' can only be used on observable objects, arrays and maps\",\n 8: \"'set()' can only be used on observable objects, arrays and maps\",\n 9: \"'remove()' can only be used on observable objects, arrays and maps\",\n 10: \"'has()' can only be used on observable objects, arrays and maps\",\n 11: \"'get()' can only be used on observable objects, arrays and maps\",\n 12: `Invalid annotation`,\n 13: `Dynamic observable objects cannot be frozen`,\n 14: \"Intercept handlers should return nothing or a change object\",\n 15: `Observable arrays cannot be frozen`,\n 16: `Modification exception: the internal structure of an observable array was changed.`,\n 17(index, length) {\n return `[mobx.array] Index out of bounds, ${index} is larger than ${length}`\n },\n 18: \"mobx.map requires Map polyfill for the current browser. Check babel-polyfill or core-js/es6/map.js\",\n 19(other) {\n return \"Cannot initialize from classes that inherit from Map: \" + other.constructor.name\n },\n 20(other) {\n return \"Cannot initialize map from \" + other\n },\n 21(dataStructure) {\n return `Cannot convert to map from '${dataStructure}'`\n },\n 22: \"mobx.set requires Set polyfill for the current browser. Check babel-polyfill or core-js/es6/set.js\",\n 23: \"It is not possible to get index atoms from arrays\",\n 24(thing) {\n return \"Cannot obtain administration from \" + thing\n },\n 25(property, name) {\n return `the entry '${property}' does not exist in the observable map '${name}'`\n },\n 26: \"please specify a property\",\n 27(property, name) {\n return `no observable property '${property.toString()}' found on the observable object '${name}'`\n },\n 28(thing) {\n return \"Cannot obtain atom from \" + thing\n },\n 29: \"Expecting some object\",\n 30: \"invalid action stack. did you forget to finish an action?\",\n 31: \"missing option for computed: get\",\n 32(name, derivation) {\n return `Cycle detected in computation ${name}: ${derivation}`\n },\n 33(name) {\n return `The setter of computed value '${name}' is trying to update itself. Did you intend to update an _observable_ value, instead of the computed property?`\n },\n 34(name) {\n return `[ComputedValue '${name}'] It is not possible to assign a new value to a computed value.`\n },\n 35: \"There are multiple, different versions of MobX active. Make sure MobX is loaded only once or use `configure({ isolateGlobalState: true })`\",\n 36: \"isolateGlobalState should be called before MobX is running any reactions\",\n 37(method) {\n return `[mobx] \\`observableArray.${method}()\\` mutates the array in-place, which is not allowed inside a derivation. Use \\`array.slice().${method}()\\` instead`\n }\n} as const\n\nconst errors: typeof niceErrors = __DEV__ ? niceErrors : ({} as any)\n\nexport function die(error: string | keyof typeof errors, ...args: any[]): never {\n if (__DEV__) {\n let e: any = typeof error === \"string\" ? error : errors[error]\n if (typeof e === \"function\") e = e.apply(null, args as any)\n throw new Error(`[MobX] ${e}`)\n }\n throw new Error(\n typeof error === \"number\"\n ? `[MobX] minified error nr: ${error}${\n args.length ? \" \" + args.join(\",\") : \"\"\n }. Find the full error at: https://github.com/mobxjs/mobx/blob/mobx6/src/errors.ts`\n : `[MobX] ${error}`\n )\n}\n","declare const window: any\ndeclare const self: any\n\nconst mockGlobal = {}\n\nexport function getGlobal() {\n if (typeof window !== \"undefined\") {\n return window\n }\n if (typeof global !== \"undefined\") {\n return global\n }\n if (typeof self !== \"undefined\") {\n return self\n }\n return mockGlobal\n}\n","import { globalState, die } from \"../internal\"\n\n// We shorten anything used > 5 times\nexport const assign = Object.assign\nexport const getDescriptor = Object.getOwnPropertyDescriptor\nexport const defineProperty = Object.defineProperty\nexport const objectPrototype = Object.prototype\n\nexport const EMPTY_ARRAY = []\nObject.freeze(EMPTY_ARRAY)\n\nexport const EMPTY_OBJECT = {}\nObject.freeze(EMPTY_OBJECT)\n\nexport interface Lambda {\n (): void\n name?: string\n}\n\nconst hasProxy = typeof Proxy !== \"undefined\"\nconst plainObjectString = Object.toString()\n\nexport function assertProxies() {\n if (!hasProxy) {\n die(\n __DEV__\n ? \"`Proxy` objects are not available in the current environment. Please configure MobX to enable a fallback implementation.`\"\n : \"Proxy not available\"\n )\n }\n}\n\nexport function warnAboutProxyRequirement(msg: string) {\n if (__DEV__ && globalState.verifyProxies) {\n die(\n \"MobX is currently configured to be able to run in ES5 mode, but in ES5 MobX won't be able to \" +\n msg\n )\n }\n}\n\nexport function getNextId() {\n return ++globalState.mobxGuid\n}\n\n/**\n * Makes sure that the provided function is invoked at most once.\n */\nexport function once(func: Lambda): Lambda {\n let invoked = false\n return function () {\n if (invoked) return\n invoked = true\n return (func as any).apply(this, arguments)\n }\n}\n\nexport const noop = () => {}\n\nexport function isFunction(fn: any): fn is Function {\n return typeof fn === \"function\"\n}\n\nexport function isString(value: any): value is string {\n return typeof value === \"string\"\n}\n\nexport function isStringish(value: any): value is string | number | symbol {\n const t = typeof value\n switch (t) {\n case \"string\":\n case \"symbol\":\n case \"number\":\n return true\n }\n return false\n}\n\nexport function isObject(value: any): value is Object {\n return value !== null && typeof value === \"object\"\n}\n\nexport function isPlainObject(value) {\n if (!isObject(value)) return false\n const proto = Object.getPrototypeOf(value)\n if (proto == null) return true\n return proto.constructor?.toString() === plainObjectString\n}\n\n// https://stackoverflow.com/a/37865170\nexport function isGenerator(obj: any): boolean {\n const constructor = obj?.constructor\n if (!constructor) return false\n if (\"GeneratorFunction\" === constructor.name || \"GeneratorFunction\" === constructor.displayName)\n return true\n return false\n}\n\nexport function addHiddenProp(object: any, propName: PropertyKey, value: any) {\n defineProperty(object, propName, {\n enumerable: false,\n writable: true,\n configurable: true,\n value\n })\n}\n\nexport function addHiddenFinalProp(object: any, propName: PropertyKey, value: any) {\n defineProperty(object, propName, {\n enumerable: false,\n writable: false,\n configurable: true,\n value\n })\n}\n\nexport function assertPropertyConfigurable(object: any, prop: PropertyKey) {\n if (__DEV__) {\n const descriptor = getDescriptor(object, prop)\n if (descriptor?.configurable === false || descriptor?.writable === false)\n die(\n `Cannot make property '${stringifyKey(\n prop\n )}' observable, it is not configurable and writable in the target object`\n )\n }\n}\n\nexport function createInstanceofPredicate(\n name: string,\n theClass: new (...args: any[]) => T\n): (x: any) => x is T {\n const propName = \"isMobX\" + name\n theClass.prototype[propName] = true\n return function (x) {\n return isObject(x) && x[propName] === true\n } as any\n}\n\nexport function isES6Map(thing): boolean {\n return thing instanceof Map\n}\n\nexport function isES6Set(thing): thing is Set {\n return thing instanceof Set\n}\n\nconst hasGetOwnPropertySymbols = typeof Object.getOwnPropertySymbols !== \"undefined\"\n\n/**\n * Returns the following: own keys, prototype keys & own symbol keys, if they are enumerable.\n */\nexport function getPlainObjectKeys(object) {\n const keys = Object.keys(object)\n // Not supported in IE, so there are not going to be symbol props anyway...\n if (!hasGetOwnPropertySymbols) return keys\n const symbols = Object.getOwnPropertySymbols(object)\n if (!symbols.length) return keys\n return [...keys, ...symbols.filter(s => objectPrototype.propertyIsEnumerable.call(object, s))]\n}\n\n// From Immer utils\n// Returns all own keys, including non-enumerable and symbolic\nexport const ownKeys: (target: any) => PropertyKey[] =\n typeof Reflect !== \"undefined\" && Reflect.ownKeys\n ? Reflect.ownKeys\n : hasGetOwnPropertySymbols\n ? obj => Object.getOwnPropertyNames(obj).concat(Object.getOwnPropertySymbols(obj) as any)\n : /* istanbul ignore next */ Object.getOwnPropertyNames\n\nexport function stringifyKey(key: any): string {\n if (typeof key === \"string\") return key\n if (typeof key === \"symbol\") return key.toString()\n return new String(key).toString()\n}\n\nexport function toPrimitive(value) {\n return value === null ? null : typeof value === \"object\" ? \"\" + value : value\n}\n\nexport function hasProp(target: Object, prop: PropertyKey): boolean {\n return objectPrototype.hasOwnProperty.call(target, prop)\n}\n\n// From Immer utils\nexport const getOwnPropertyDescriptors =\n Object.getOwnPropertyDescriptors ||\n function getOwnPropertyDescriptors(target: any) {\n // Polyfill needed for Hermes and IE, see https://github.com/facebook/hermes/issues/274\n const res: any = {}\n // Note: without polyfill for ownKeys, symbols won't be picked up\n ownKeys(target).forEach(key => {\n res[key] = getDescriptor(target, key)\n })\n return res\n }\n","import {\n Annotation,\n addHiddenProp,\n AnnotationsMap,\n makeObservable,\n assign,\n getDescriptor,\n hasProp,\n objectPrototype\n} from \"../internal\"\n\nexport const mobxDecoratorsSymbol = Symbol(\"mobx-decorators\")\nconst mobxAppliedDecoratorsSymbol = Symbol(\"mobx-applied-decorators\")\n\nexport function createDecorator(\n type: Annotation[\"annotationType_\"]\n): Annotation & PropertyDecorator & ((arg: ArgType) => PropertyDecorator & Annotation) {\n return assign(\n function (target: any, property?: PropertyKey): any {\n if (property === undefined) {\n // @decorator(arg) member\n createDecoratorAndAnnotation(type, target)\n } else {\n // @decorator member\n storeDecorator(target, property!, type)\n }\n },\n {\n annotationType_: type\n }\n ) as any\n}\n\nexport function createDecoratorAndAnnotation(\n type: Annotation[\"annotationType_\"],\n arg_?: any\n): PropertyDecorator & Annotation {\n return assign(\n function (target, property) {\n storeDecorator(target, property, type, arg_)\n },\n {\n annotationType_: type,\n arg_\n }\n )\n}\n\nexport function storeDecorator(\n target: any,\n property: PropertyKey,\n type: Annotation[\"annotationType_\"],\n arg_?: any\n) {\n const desc = getDescriptor(target, mobxDecoratorsSymbol)\n let map: any\n if (desc) {\n map = desc.value\n } else {\n map = {}\n addHiddenProp(target, mobxDecoratorsSymbol, map)\n }\n map[property] = { annotationType_: type, arg_ } as Annotation\n}\n\nexport function applyDecorators(target: Object): boolean {\n if (target[mobxAppliedDecoratorsSymbol]) return true\n let current = target\n // optimization: this could be cached per prototype!\n // (then we can remove the weird short circuiting as well..)\n let annotations: AnnotationsMap[] = []\n while (current && current !== objectPrototype) {\n const desc = getDescriptor(current, mobxDecoratorsSymbol)\n if (desc) {\n if (!annotations.length) {\n for (let key in desc.value) {\n // second conditions is to recognize actions\n if (!hasProp(target, key) && !hasProp(current, key)) {\n // not all fields are defined yet, so we are in the makeObservable call of some super class,\n // short circuit, here, we will do this again in a later makeObservable call\n return true\n }\n }\n }\n annotations.unshift(desc.value)\n }\n current = Object.getPrototypeOf(current)\n }\n annotations.forEach(a => {\n makeObservable(target, a)\n })\n addHiddenProp(target, mobxAppliedDecoratorsSymbol, true)\n return annotations.length > 0\n}\n","import {\n IDerivationState_,\n IObservable,\n IDerivation,\n createInstanceofPredicate,\n endBatch,\n getNextId,\n noop,\n onBecomeObserved,\n onBecomeUnobserved,\n propagateChanged,\n reportObserved,\n startBatch,\n Lambda\n} from \"../internal\"\n\nexport const $mobx = Symbol(\"mobx administration\")\n\nexport interface IAtom extends IObservable {\n reportObserved()\n reportChanged()\n}\n\nexport class Atom implements IAtom {\n isPendingUnobservation_ = false // for effective unobserving. BaseAtom has true, for extra optimization, so its onBecomeUnobserved never gets called, because it's not needed\n isBeingObserved_ = false\n observers_ = new Set()\n\n diffValue_ = 0\n lastAccessedBy_ = 0\n lowestObserverState_ = IDerivationState_.NOT_TRACKING_\n /**\n * Create a new atom. For debugging purposes it is recommended to give it a name.\n * The onBecomeObserved and onBecomeUnobserved callbacks can be used for resource management.\n */\n constructor(public name_ = \"Atom@\" + getNextId()) {}\n\n // onBecomeObservedListeners\n public onBOL: Set | undefined\n // onBecomeUnobservedListeners\n public onBUOL: Set | undefined\n\n public onBO() {\n if (this.onBOL) {\n this.onBOL.forEach(listener => listener())\n }\n }\n\n public onBUO() {\n if (this.onBUOL) {\n this.onBUOL.forEach(listener => listener())\n }\n }\n\n /**\n * Invoke this method to notify mobx that your atom has been used somehow.\n * Returns true if there is currently a reactive context.\n */\n public reportObserved(): boolean {\n return reportObserved(this)\n }\n\n /**\n * Invoke this method _after_ this method has changed to signal mobx that all its observers should invalidate.\n */\n public reportChanged() {\n startBatch()\n propagateChanged(this)\n endBatch()\n }\n\n toString() {\n return this.name_\n }\n}\n\nexport const isAtom = createInstanceofPredicate(\"Atom\", Atom)\n\nexport function createAtom(\n name: string,\n onBecomeObservedHandler: () => void = noop,\n onBecomeUnobservedHandler: () => void = noop\n): IAtom {\n const atom = new Atom(name)\n // default `noop` listener will not initialize the hook Set\n if (onBecomeObservedHandler !== noop) {\n onBecomeObserved(atom, onBecomeObservedHandler)\n }\n\n if (onBecomeUnobservedHandler !== noop) {\n onBecomeUnobserved(atom, onBecomeUnobservedHandler)\n }\n return atom\n}\n","import {\n Lambda,\n ComputedValue,\n IDependencyTree,\n IDerivation,\n IDerivationState_,\n TraceMode,\n getDependencyTree,\n globalState,\n runReactions,\n checkIfStateReadsAreAllowed\n} from \"../internal\"\n\nexport interface IDepTreeNode {\n name_: string\n observing_?: IObservable[]\n}\n\nexport interface IObservable extends IDepTreeNode {\n diffValue_: number\n /**\n * Id of the derivation *run* that last accessed this observable.\n * If this id equals the *run* id of the current derivation,\n * the dependency is already established\n */\n lastAccessedBy_: number\n isBeingObserved_: boolean\n\n lowestObserverState_: IDerivationState_ // Used to avoid redundant propagations\n isPendingUnobservation_: boolean // Used to push itself to global.pendingUnobservations at most once per batch.\n\n observers_: Set\n\n onBUO(): void\n onBO(): void\n\n onBUOL: Set | undefined\n onBOL: Set | undefined\n}\n\nexport function hasObservers(observable: IObservable): boolean {\n return observable.observers_ && observable.observers_.size > 0\n}\n\nexport function getObservers(observable: IObservable): Set {\n return observable.observers_\n}\n\n// function invariantObservers(observable: IObservable) {\n// const list = observable.observers\n// const map = observable.observersIndexes\n// const l = list.length\n// for (let i = 0; i < l; i++) {\n// const id = list[i].__mapid\n// if (i) {\n// invariant(map[id] === i, \"INTERNAL ERROR maps derivation.__mapid to index in list\") // for performance\n// } else {\n// invariant(!(id in map), \"INTERNAL ERROR observer on index 0 shouldn't be held in map.\") // for performance\n// }\n// }\n// invariant(\n// list.length === 0 || Object.keys(map).length === list.length - 1,\n// \"INTERNAL ERROR there is no junk in map\"\n// )\n// }\nexport function addObserver(observable: IObservable, node: IDerivation) {\n // invariant(node.dependenciesState !== -1, \"INTERNAL ERROR, can add only dependenciesState !== -1\");\n // invariant(observable._observers.indexOf(node) === -1, \"INTERNAL ERROR add already added node\");\n // invariantObservers(observable);\n\n observable.observers_.add(node)\n if (observable.lowestObserverState_ > node.dependenciesState_)\n observable.lowestObserverState_ = node.dependenciesState_\n\n // invariantObservers(observable);\n // invariant(observable._observers.indexOf(node) !== -1, \"INTERNAL ERROR didn't add node\");\n}\n\nexport function removeObserver(observable: IObservable, node: IDerivation) {\n // invariant(globalState.inBatch > 0, \"INTERNAL ERROR, remove should be called only inside batch\");\n // invariant(observable._observers.indexOf(node) !== -1, \"INTERNAL ERROR remove already removed node\");\n // invariantObservers(observable);\n observable.observers_.delete(node)\n if (observable.observers_.size === 0) {\n // deleting last observer\n queueForUnobservation(observable)\n }\n // invariantObservers(observable);\n // invariant(observable._observers.indexOf(node) === -1, \"INTERNAL ERROR remove already removed node2\");\n}\n\nexport function queueForUnobservation(observable: IObservable) {\n if (observable.isPendingUnobservation_ === false) {\n // invariant(observable._observers.length === 0, \"INTERNAL ERROR, should only queue for unobservation unobserved observables\");\n observable.isPendingUnobservation_ = true\n globalState.pendingUnobservations.push(observable)\n }\n}\n\n/**\n * Batch starts a transaction, at least for purposes of memoizing ComputedValues when nothing else does.\n * During a batch `onBecomeUnobserved` will be called at most once per observable.\n * Avoids unnecessary recalculations.\n */\nexport function startBatch() {\n globalState.inBatch++\n}\n\nexport function endBatch() {\n if (--globalState.inBatch === 0) {\n runReactions()\n // the batch is actually about to finish, all unobserving should happen here.\n const list = globalState.pendingUnobservations\n for (let i = 0; i < list.length; i++) {\n const observable = list[i]\n observable.isPendingUnobservation_ = false\n if (observable.observers_.size === 0) {\n if (observable.isBeingObserved_) {\n // if this observable had reactive observers, trigger the hooks\n observable.isBeingObserved_ = false\n observable.onBUO()\n }\n if (observable instanceof ComputedValue) {\n // computed values are automatically teared down when the last observer leaves\n // this process happens recursively, this computed might be the last observabe of another, etc..\n observable.suspend_()\n }\n }\n }\n globalState.pendingUnobservations = []\n }\n}\n\nexport function reportObserved(observable: IObservable): boolean {\n checkIfStateReadsAreAllowed(observable)\n\n const derivation = globalState.trackingDerivation\n if (derivation !== null) {\n /**\n * Simple optimization, give each derivation run an unique id (runId)\n * Check if last time this observable was accessed the same runId is used\n * if this is the case, the relation is already known\n */\n if (derivation.runId_ !== observable.lastAccessedBy_) {\n observable.lastAccessedBy_ = derivation.runId_\n // Tried storing newObserving, or observing, or both as Set, but performance didn't come close...\n derivation.newObserving_![derivation.unboundDepsCount_++] = observable\n if (!observable.isBeingObserved_ && globalState.trackingContext) {\n observable.isBeingObserved_ = true\n observable.onBO()\n }\n }\n return true\n } else if (observable.observers_.size === 0 && globalState.inBatch > 0) {\n queueForUnobservation(observable)\n }\n\n return false\n}\n\n// function invariantLOS(observable: IObservable, msg: string) {\n// // it's expensive so better not run it in produciton. but temporarily helpful for testing\n// const min = getObservers(observable).reduce((a, b) => Math.min(a, b.dependenciesState), 2)\n// if (min >= observable.lowestObserverState) return // <- the only assumption about `lowestObserverState`\n// throw new Error(\n// \"lowestObserverState is wrong for \" +\n// msg +\n// \" because \" +\n// min +\n// \" < \" +\n// observable.lowestObserverState\n// )\n// }\n\n/**\n * NOTE: current propagation mechanism will in case of self reruning autoruns behave unexpectedly\n * It will propagate changes to observers from previous run\n * It's hard or maybe impossible (with reasonable perf) to get it right with current approach\n * Hopefully self reruning autoruns aren't a feature people should depend on\n * Also most basic use cases should be ok\n */\n\n// Called by Atom when its value changes\nexport function propagateChanged(observable: IObservable) {\n // invariantLOS(observable, \"changed start\");\n if (observable.lowestObserverState_ === IDerivationState_.STALE_) return\n observable.lowestObserverState_ = IDerivationState_.STALE_\n\n // Ideally we use for..of here, but the downcompiled version is really slow...\n observable.observers_.forEach(d => {\n if (d.dependenciesState_ === IDerivationState_.UP_TO_DATE_) {\n if (__DEV__ && d.isTracing_ !== TraceMode.NONE) {\n logTraceInfo(d, observable)\n }\n d.onBecomeStale_()\n }\n d.dependenciesState_ = IDerivationState_.STALE_\n })\n // invariantLOS(observable, \"changed end\");\n}\n\n// Called by ComputedValue when it recalculate and its value changed\nexport function propagateChangeConfirmed(observable: IObservable) {\n // invariantLOS(observable, \"confirmed start\");\n if (observable.lowestObserverState_ === IDerivationState_.STALE_) return\n observable.lowestObserverState_ = IDerivationState_.STALE_\n\n observable.observers_.forEach(d => {\n if (d.dependenciesState_ === IDerivationState_.POSSIBLY_STALE_)\n d.dependenciesState_ = IDerivationState_.STALE_\n else if (\n d.dependenciesState_ === IDerivationState_.UP_TO_DATE_ // this happens during computing of `d`, just keep lowestObserverState up to date.\n )\n observable.lowestObserverState_ = IDerivationState_.UP_TO_DATE_\n })\n // invariantLOS(observable, \"confirmed end\");\n}\n\n// Used by computed when its dependency changed, but we don't wan't to immediately recompute.\nexport function propagateMaybeChanged(observable: IObservable) {\n // invariantLOS(observable, \"maybe start\");\n if (observable.lowestObserverState_ !== IDerivationState_.UP_TO_DATE_) return\n observable.lowestObserverState_ = IDerivationState_.POSSIBLY_STALE_\n\n observable.observers_.forEach(d => {\n if (d.dependenciesState_ === IDerivationState_.UP_TO_DATE_) {\n d.dependenciesState_ = IDerivationState_.POSSIBLY_STALE_\n if (__DEV__ && d.isTracing_ !== TraceMode.NONE) {\n logTraceInfo(d, observable)\n }\n d.onBecomeStale_()\n }\n })\n // invariantLOS(observable, \"maybe end\");\n}\n\nfunction logTraceInfo(derivation: IDerivation, observable: IObservable) {\n console.log(\n `[mobx.trace] '${derivation.name_}' is invalidated due to a change in: '${observable.name_}'`\n )\n if (derivation.isTracing_ === TraceMode.BREAK) {\n const lines = []\n printDepTree(getDependencyTree(derivation), lines, 1)\n\n // prettier-ignore\n new Function(\n`debugger;\n/*\nTracing '${derivation.name_}'\n\nYou are entering this break point because derivation '${derivation.name_}' is being traced and '${observable.name_}' is now forcing it to update.\nJust follow the stacktrace you should now see in the devtools to see precisely what piece of your code is causing this update\nThe stackframe you are looking for is at least ~6-8 stack-frames up.\n\n${derivation instanceof ComputedValue ? derivation.derivation.toString().replace(/[*]\\//g, \"/\") : \"\"}\n\nThe dependencies for this derivation are:\n\n${lines.join(\"\\n\")}\n*/\n `)()\n }\n}\n\nfunction printDepTree(tree: IDependencyTree, lines: string[], depth: number) {\n if (lines.length >= 1000) {\n lines.push(\"(and many more)\")\n return\n }\n lines.push(`${new Array(depth).join(\"\\t\")}${tree.name}`) // MWE: not the fastest, but the easiest way :)\n if (tree.dependencies) tree.dependencies.forEach(child => printDepTree(child, lines, depth + 1))\n}\n","import {\n IComputedValue,\n IObservable,\n IObservableArray,\n Lambda,\n ObservableMap,\n getAtom,\n ObservableSet,\n isFunction,\n IObservableValue\n} from \"../internal\"\n\nconst ON_BECOME_OBSERVED = \"onBO\"\nconst ON_BECOME_UNOBSERVED = \"onBUO\"\n\nexport function onBecomeObserved(\n value:\n | IObservable\n | IComputedValue\n | IObservableArray\n | ObservableMap\n | ObservableSet\n | IObservableValue,\n listener: Lambda\n): Lambda\nexport function onBecomeObserved(\n value: ObservableMap | Object,\n property: K,\n listener: Lambda\n): Lambda\nexport function onBecomeObserved(thing, arg2, arg3?): Lambda {\n return interceptHook(ON_BECOME_OBSERVED, thing, arg2, arg3)\n}\n\nexport function onBecomeUnobserved(\n value:\n | IObservable\n | IComputedValue\n | IObservableArray\n | ObservableMap\n | ObservableSet\n | IObservableValue,\n listener: Lambda\n): Lambda\nexport function onBecomeUnobserved(\n value: ObservableMap | Object,\n property: K,\n listener: Lambda\n): Lambda\nexport function onBecomeUnobserved(thing, arg2, arg3?): Lambda {\n return interceptHook(ON_BECOME_UNOBSERVED, thing, arg2, arg3)\n}\n\nfunction interceptHook(hook: \"onBO\" | \"onBUO\", thing, arg2, arg3) {\n const atom: IObservable =\n typeof arg3 === \"function\" ? getAtom(thing, arg2) : (getAtom(thing) as any)\n const cb = isFunction(arg3) ? arg3 : arg2\n const listenersKey = `${hook}L` as \"onBOL\" | \"onBUOL\"\n\n if (atom[listenersKey]) {\n atom[listenersKey]!.add(cb)\n } else {\n atom[listenersKey] = new Set([cb])\n }\n\n return function () {\n const hookListeners = atom[listenersKey]\n if (hookListeners) {\n hookListeners.delete(cb)\n if (hookListeners.size === 0) {\n delete atom[listenersKey]\n }\n }\n }\n}\n","import { deepEqual } from \"../internal\"\n\nexport interface IEqualsComparer {\n (a: T, b: T): boolean\n}\n\nfunction identityComparer(a: any, b: any): boolean {\n return a === b\n}\n\nfunction structuralComparer(a: any, b: any): boolean {\n return deepEqual(a, b)\n}\n\nfunction shallowComparer(a: any, b: any): boolean {\n return deepEqual(a, b, 1)\n}\n\nfunction defaultComparer(a: any, b: any): boolean {\n return Object.is(a, b)\n}\n\nexport const comparer = {\n identity: identityComparer,\n structural: structuralComparer,\n default: defaultComparer,\n shallow: shallowComparer\n}\n","import {\n deepEqual,\n isES6Map,\n isES6Set,\n isObservable,\n isObservableArray,\n isObservableMap,\n isObservableSet,\n isObservableObject,\n isPlainObject,\n observable,\n die\n} from \"../internal\"\n\nexport interface IEnhancer {\n (newValue: T, oldValue: T | undefined, name: string): T\n}\n\nexport function deepEnhancer(v, _, name) {\n // it is an observable already, done\n if (isObservable(v)) return v\n\n // something that can be converted and mutated?\n if (Array.isArray(v)) return observable.array(v, { name })\n if (isPlainObject(v)) return observable.object(v, undefined, { name })\n if (isES6Map(v)) return observable.map(v, { name })\n if (isES6Set(v)) return observable.set(v, { name })\n\n return v\n}\n\nexport function shallowEnhancer(v, _, name): any {\n if (v === undefined || v === null) return v\n if (isObservableObject(v) || isObservableArray(v) || isObservableMap(v) || isObservableSet(v))\n return v\n if (Array.isArray(v)) return observable.array(v, { name, deep: false })\n if (isPlainObject(v)) return observable.object(v, undefined, { name, deep: false })\n if (isES6Map(v)) return observable.map(v, { name, deep: false })\n if (isES6Set(v)) return observable.set(v, { name, deep: false })\n\n if (__DEV__)\n die(\n \"The shallow modifier / decorator can only used in combination with arrays, objects, maps and sets\"\n )\n}\n\nexport function referenceEnhancer(newValue?) {\n // never turn into an observable\n return newValue\n}\n\nexport function refStructEnhancer(v, oldValue): any {\n if (__DEV__ && isObservable(v))\n die(`observable.struct should not be used with observable values`)\n if (deepEqual(v, oldValue)) return oldValue\n return v\n}\n","import {\n IEnhancer,\n IEqualsComparer,\n IObservableArray,\n IObservableMapInitialValues,\n IObservableSetInitialValues,\n IObservableValue,\n ObservableMap,\n ObservableSet,\n ObservableValue,\n createDynamicObservableObject,\n createObservableArray,\n deepEnhancer,\n extendObservable,\n isES6Map,\n isES6Set,\n isObservable,\n isPlainObject,\n referenceEnhancer,\n Annotation,\n shallowEnhancer,\n refStructEnhancer,\n AnnotationsMap,\n asObservableObject,\n storeDecorator,\n createDecorator,\n createLegacyArray,\n globalState,\n assign,\n die,\n isStringish\n} from \"../internal\"\n\nexport const OBSERVABLE = \"observable\"\nexport const OBSERVABLE_REF = \"observable.ref\"\nexport const OBSERVABLE_SHALLOW = \"observable.shallow\"\nexport const OBSERVABLE_STRUCT = \"observable.struct\"\n\nexport type CreateObservableOptions = {\n name?: string\n equals?: IEqualsComparer\n deep?: boolean\n defaultDecorator?: Annotation\n proxy?: boolean\n autoBind?: boolean\n}\n\n// Predefined bags of create observable options, to avoid allocating temporarily option objects\n// in the majority of cases\nexport const defaultCreateObservableOptions: CreateObservableOptions = {\n deep: true,\n name: undefined,\n defaultDecorator: undefined,\n proxy: true\n}\nObject.freeze(defaultCreateObservableOptions)\n\nexport function asCreateObservableOptions(thing: any): CreateObservableOptions {\n return thing || defaultCreateObservableOptions\n}\n\nexport function getEnhancerFromOption(options: CreateObservableOptions): IEnhancer {\n return options.deep === true\n ? deepEnhancer\n : options.deep === false\n ? referenceEnhancer\n : getEnhancerFromAnnotation(options.defaultDecorator)\n}\n\nconst annotationToEnhancer = {\n [OBSERVABLE]: deepEnhancer,\n [OBSERVABLE_REF]: referenceEnhancer,\n [OBSERVABLE_SHALLOW]: shallowEnhancer,\n [OBSERVABLE_STRUCT]: refStructEnhancer\n}\n\nexport function getEnhancerFromAnnotation(annotation?: Annotation): IEnhancer {\n return !annotation ? deepEnhancer : annotationToEnhancer[annotation.annotationType_] ?? die(12)\n}\n\n/**\n * Turns an object, array or function into a reactive structure.\n * @param v the value which should become observable.\n */\nfunction createObservable(v: any, arg2?: any, arg3?: any) {\n // @observable someProp;\n if (isStringish(arg2)) {\n storeDecorator(v, arg2, OBSERVABLE)\n return\n }\n\n // it is an observable already, done\n if (isObservable(v)) return v\n\n // something that can be converted and mutated?\n const res = isPlainObject(v)\n ? observable.object(v, arg2, arg3)\n : Array.isArray(v)\n ? observable.array(v, arg2)\n : isES6Map(v)\n ? observable.map(v, arg2)\n : isES6Set(v)\n ? observable.set(v, arg2)\n : v\n\n // this value could be converted to a new observable data structure, return it\n if (res !== v) return res\n return observable.box(v)\n}\ncreateObservable.annotationType_ = OBSERVABLE\n\nexport interface IObservableFactory extends Annotation, PropertyDecorator {\n (value: T[], options?: CreateObservableOptions): IObservableArray\n (value: Set, options?: CreateObservableOptions): ObservableSet\n (value: Map, options?: CreateObservableOptions): ObservableMap\n (\n value: T,\n decorators?: AnnotationsMap,\n options?: CreateObservableOptions\n ): T\n\n box: (value?: T, options?: CreateObservableOptions) => IObservableValue\n array: (initialValues?: T[], options?: CreateObservableOptions) => IObservableArray\n set: (\n initialValues?: IObservableSetInitialValues,\n options?: CreateObservableOptions\n ) => ObservableSet\n map: (\n initialValues?: IObservableMapInitialValues,\n options?: CreateObservableOptions\n ) => ObservableMap\n object: (\n props: T,\n decorators?: AnnotationsMap,\n options?: CreateObservableOptions\n ) => T\n\n /**\n * Decorator that creates an observable that only observes the references, but doesn't try to turn the assigned value into an observable.ts.\n */\n ref: Annotation & PropertyDecorator\n /**\n * Decorator that creates an observable converts its value (objects, maps or arrays) into a shallow observable structure\n */\n shallow: Annotation & PropertyDecorator\n deep: Annotation & PropertyDecorator\n struct: Annotation & PropertyDecorator\n}\n\nconst observableFactories: IObservableFactory = {\n box(value?: T, options?: CreateObservableOptions): IObservableValue {\n const o = asCreateObservableOptions(options)\n return new ObservableValue(value, getEnhancerFromOption(o), o.name, true, o.equals)\n },\n array(initialValues?: T[], options?: CreateObservableOptions): IObservableArray {\n const o = asCreateObservableOptions(options)\n return (globalState.useProxies === false || o.proxy === false\n ? createLegacyArray\n : createObservableArray)(initialValues, getEnhancerFromOption(o), o.name)\n },\n map(\n initialValues?: IObservableMapInitialValues,\n options?: CreateObservableOptions\n ): ObservableMap {\n const o = asCreateObservableOptions(options)\n return new ObservableMap(initialValues, getEnhancerFromOption(o), o.name)\n },\n set(\n initialValues?: IObservableSetInitialValues,\n options?: CreateObservableOptions\n ): ObservableSet {\n const o = asCreateObservableOptions(options)\n return new ObservableSet(initialValues, getEnhancerFromOption(o), o.name)\n },\n object(\n props: T,\n decorators?: AnnotationsMap,\n options?: CreateObservableOptions\n ): T {\n const o = asCreateObservableOptions(options)\n const base = {}\n asObservableObject(base, options?.name, getEnhancerFromOption(o))\n return extendObservable(\n globalState.useProxies === false || o.proxy === false\n ? base\n : createDynamicObservableObject(base),\n props,\n decorators,\n options\n )\n },\n ref: createDecorator(OBSERVABLE_REF),\n shallow: createDecorator(OBSERVABLE_SHALLOW),\n deep: createDecorator(OBSERVABLE),\n struct: createDecorator(OBSERVABLE_STRUCT)\n} as any\n\n// eslint-disable-next-line\nexport var observable: IObservableFactory = assign(createObservable, observableFactories)\n","import {\n CreateObservableOptions,\n isObservableMap,\n AnnotationsMap,\n makeProperty,\n startBatch,\n endBatch,\n asObservableObject,\n isPlainObject,\n asCreateObservableOptions,\n getEnhancerFromOption,\n isObservable,\n getPlainObjectKeys,\n die,\n getOwnPropertyDescriptors\n} from \"../internal\"\n\nexport function extendObservable(\n target: A,\n properties: B,\n annotations?: AnnotationsMap,\n options?: CreateObservableOptions\n): A & B {\n if (__DEV__) {\n if (arguments.length > 4) die(\"'extendObservable' expected 2-4 arguments\")\n if (typeof target !== \"object\")\n die(\"'extendObservable' expects an object as first argument\")\n if (isObservableMap(target))\n die(\"'extendObservable' should not be used on maps, use map.merge instead\")\n if (!isPlainObject(properties))\n die(`'extendObservabe' only accepts plain objects as second argument`)\n if (isObservable(properties) || isObservable(annotations))\n die(`Extending an object with another observable (object) is not supported`)\n }\n const o = asCreateObservableOptions(options)\n const adm = asObservableObject(target, o.name, getEnhancerFromOption(o))\n startBatch()\n try {\n const descs = getOwnPropertyDescriptors(properties)\n getPlainObjectKeys(descs).forEach(key => {\n makeProperty(\n adm,\n target,\n key,\n descs[key as any],\n !annotations ? true : key in annotations ? annotations[key] : true,\n true,\n !!options?.autoBind\n )\n })\n } finally {\n endBatch()\n }\n return target as any\n}\n","import {\n $mobx,\n Atom,\n IIsObservableObject,\n ObservableObjectAdministration,\n set,\n warnAboutProxyRequirement,\n assertProxies,\n die,\n isStringish\n} from \"../internal\"\nimport { globalState } from \"../core/globalstate\"\n\nfunction getAdm(target): ObservableObjectAdministration {\n return target[$mobx]\n}\n\n// Optimization: we don't need the intermediate objects and could have a completely custom administration for DynamicObjects,\n// and skip either the internal values map, or the base object with its property descriptors!\nconst objectProxyTraps: ProxyHandler = {\n has(target: IIsObservableObject, name: PropertyKey) {\n if (name === $mobx || name === \"constructor\") return true\n if (__DEV__ && globalState.trackingDerivation)\n warnAboutProxyRequirement(\n \"detect new properties using the 'in' operator. Use 'has' from 'mobx' instead.\"\n )\n const adm = getAdm(target)\n // MWE: should `in` operator be reactive? If not, below code path will be faster / more memory efficient\n // check performance stats!\n // if (adm.values.get(name as string)) return true\n if (isStringish(name)) return adm.has_(name)\n return (name as any) in target\n },\n get(target: IIsObservableObject, name: PropertyKey) {\n if (name === $mobx || name === \"constructor\") return target[name]\n const adm = getAdm(target)\n const observable = adm.values_.get(name)\n if (observable instanceof Atom) {\n const result = (observable as any).get()\n if (result === undefined) {\n // This fixes #1796, because deleting a prop that has an\n // undefined value won't retrigger a observer (no visible effect),\n // the autorun wouldn't subscribe to future key changes (see also next comment)\n adm.has_(name as any)\n }\n return result\n }\n // make sure we start listening to future keys\n // note that we only do this here for optimization\n if (isStringish(name)) adm.has_(name)\n return target[name]\n },\n set(target: IIsObservableObject, name: PropertyKey, value: any) {\n if (!isStringish(name)) return false\n if (__DEV__ && !getAdm(target).values_.has(name)) {\n warnAboutProxyRequirement(\n \"add a new observable property through direct assignment. Use 'set' from 'mobx' instead.\"\n )\n }\n set(target, name, value)\n return true\n },\n deleteProperty(target: IIsObservableObject, name: PropertyKey) {\n if (__DEV__)\n warnAboutProxyRequirement(\n \"delete properties from an observable object. Use 'remove' from 'mobx' instead.\"\n )\n if (!isStringish(name)) return false\n const adm = getAdm(target)\n adm.remove_(name)\n return true\n },\n ownKeys(target: IIsObservableObject) {\n if (__DEV__ && globalState.trackingDerivation)\n warnAboutProxyRequirement(\n \"iterate keys to detect added / removed properties. Use `keys` from 'mobx' instead.\"\n )\n const adm = getAdm(target)\n adm.keysAtom_.reportObserved()\n return Reflect.ownKeys(target)\n },\n preventExtensions(target) {\n die(13)\n }\n}\n\nexport function createDynamicObservableObject(base) {\n assertProxies()\n const proxy = new Proxy(base, objectProxyTraps)\n base[$mobx].proxy_ = proxy\n return proxy\n}\n","import {\n ComputedValue,\n IComputedValueOptions,\n Annotation,\n storeDecorator,\n createDecoratorAndAnnotation,\n isStringish,\n isPlainObject,\n isFunction,\n assign,\n die,\n IComputedValue\n} from \"../internal\"\n\nexport const COMPUTED = \"computed\"\nexport const COMPUTED_STRUCT = \"computed.struct\"\n\nexport interface IComputedFactory extends Annotation, PropertyDecorator {\n // @computed(opts)\n (options: IComputedValueOptions): Annotation & PropertyDecorator\n // computed(fn, opts)\n (func: () => T, options?: IComputedValueOptions): IComputedValue\n\n struct: Annotation & PropertyDecorator\n}\n\n/**\n * Decorator for class properties: @computed get value() { return expr; }.\n * For legacy purposes also invokable as ES5 observable created: `computed(() => expr)`;\n */\nexport const computed: IComputedFactory = function computed(arg1, arg2, arg3) {\n if (isStringish(arg2)) {\n // @computed\n return storeDecorator(arg1, arg2, COMPUTED)\n }\n if (isPlainObject(arg1)) {\n // @computed({ options })\n return createDecoratorAndAnnotation(COMPUTED, arg1)\n }\n\n // computed(expr, options?)\n if (__DEV__) {\n if (!isFunction(arg1)) die(\"First argument to `computed` should be an expression.\")\n if (isFunction(arg2))\n die(\n \"A setter as second argument is no longer supported, use `{set: fn }` option instead\"\n )\n }\n const opts: IComputedValueOptions = isPlainObject(arg2) ? arg2 : {}\n opts.get = arg1\n opts.name = opts.name || arg1.name || \"\" /* for generated name */\n\n return new ComputedValue(opts)\n} as any\ncomputed.annotationType_ = COMPUTED\n\ncomputed.struct = assign(\n function (target, property) {\n storeDecorator(target, property, COMPUTED_STRUCT)\n },\n {\n annotationType_: COMPUTED_STRUCT\n } as const\n)\n","import {\n IDerivation,\n endBatch,\n globalState,\n isSpyEnabled,\n spyReportEnd,\n spyReportStart,\n startBatch,\n untrackedEnd,\n untrackedStart,\n isFunction,\n allowStateReadsStart,\n allowStateReadsEnd,\n ACTION,\n EMPTY_ARRAY,\n die,\n getDescriptor\n} from \"../internal\"\n\n// we don't use globalState for these in order to avoid possible issues with multiple\n// mobx versions\nlet currentActionId = 0\nlet nextActionId = 1\nconst isFunctionNameConfigurable = getDescriptor(() => {}, \"name\")?.configurable ?? false\n\n// we can safely recycle this object\nconst tmpNameDescriptor: PropertyDescriptor = {\n value: \"action\",\n configurable: true,\n writable: false,\n enumerable: false\n}\n\nexport function createAction(\n actionName: string,\n fn: Function,\n autoAction: boolean = false,\n ref?: Object\n): Function {\n if (__DEV__) {\n if (!isFunction(fn)) die(\"`action` can only be invoked on functions\")\n if (typeof actionName !== \"string\" || !actionName)\n die(`actions should have valid names, got: '${actionName}'`)\n }\n function res() {\n return executeAction(actionName, autoAction, fn, ref || this, arguments)\n }\n res.isMobxAction = true\n if (isFunctionNameConfigurable) {\n tmpNameDescriptor.value = actionName\n Object.defineProperty(res, \"name\", tmpNameDescriptor)\n }\n return res\n}\n\nexport function executeAction(\n actionName: string,\n canRunAsDerivation: boolean,\n fn: Function,\n scope?: any,\n args?: IArguments\n) {\n const runInfo = _startAction(actionName, canRunAsDerivation, scope, args)\n try {\n return fn.apply(scope, args)\n } catch (err) {\n runInfo.error_ = err\n throw err\n } finally {\n _endAction(runInfo)\n }\n}\n\nexport interface IActionRunInfo {\n prevDerivation_: IDerivation | null\n prevAllowStateChanges_: boolean\n prevAllowStateReads_: boolean\n notifySpy_: boolean\n startTime_: number\n error_?: any\n parentActionId_: number\n actionId_: number\n runAsAction_?: boolean\n}\n\nexport function _startAction(\n actionName: string,\n canRunAsDerivation: boolean, // true for autoAction\n scope: any,\n args?: IArguments\n): IActionRunInfo {\n const notifySpy_ = __DEV__ && isSpyEnabled() && !!actionName\n let startTime_: number = 0\n if (__DEV__ && notifySpy_) {\n startTime_ = Date.now()\n const flattenedArgs = args ? Array.from(args) : EMPTY_ARRAY\n spyReportStart({\n type: ACTION,\n name: actionName,\n object: scope,\n arguments: flattenedArgs\n })\n }\n const prevDerivation_ = globalState.trackingDerivation\n const runAsAction = !canRunAsDerivation || !prevDerivation_\n startBatch()\n let prevAllowStateChanges_ = globalState.allowStateChanges // by default preserve previous allow\n if (runAsAction) {\n untrackedStart()\n prevAllowStateChanges_ = allowStateChangesStart(true)\n }\n const prevAllowStateReads_ = allowStateReadsStart(true)\n const runInfo = {\n runAsAction_: runAsAction,\n prevDerivation_,\n prevAllowStateChanges_,\n prevAllowStateReads_,\n notifySpy_,\n startTime_,\n actionId_: nextActionId++,\n parentActionId_: currentActionId\n }\n currentActionId = runInfo.actionId_\n return runInfo\n}\n\nexport function _endAction(runInfo: IActionRunInfo) {\n if (currentActionId !== runInfo.actionId_) {\n die(30)\n }\n currentActionId = runInfo.parentActionId_\n\n if (runInfo.error_ !== undefined) {\n globalState.suppressReactionErrors = true\n }\n allowStateChangesEnd(runInfo.prevAllowStateChanges_)\n allowStateReadsEnd(runInfo.prevAllowStateReads_)\n endBatch()\n if (runInfo.runAsAction_) untrackedEnd(runInfo.prevDerivation_)\n if (__DEV__ && runInfo.notifySpy_) {\n spyReportEnd({ time: Date.now() - runInfo.startTime_ })\n }\n globalState.suppressReactionErrors = false\n}\n\nexport function allowStateChanges(allowStateChanges: boolean, func: () => T): T {\n const prev = allowStateChangesStart(allowStateChanges)\n try {\n return func()\n } finally {\n allowStateChangesEnd(prev)\n }\n}\n\nexport function allowStateChangesStart(allowStateChanges: boolean) {\n const prev = globalState.allowStateChanges\n globalState.allowStateChanges = allowStateChanges\n return prev\n}\n\nexport function allowStateChangesEnd(prev: boolean) {\n globalState.allowStateChanges = prev\n}\n","import {\n Atom,\n IEnhancer,\n IInterceptable,\n IEqualsComparer,\n IInterceptor,\n IListenable,\n Lambda,\n checkIfStateModificationsAreAllowed,\n comparer,\n createInstanceofPredicate,\n getNextId,\n hasInterceptors,\n hasListeners,\n interceptChange,\n isSpyEnabled,\n notifyListeners,\n registerInterceptor,\n registerListener,\n spyReport,\n spyReportEnd,\n spyReportStart,\n toPrimitive,\n globalState,\n IUNCHANGED,\n UPDATE\n} from \"../internal\"\n\nexport interface IValueWillChange {\n object: IObservableValue\n type: \"update\"\n newValue: T\n}\n\nexport type IValueDidChange = {\n type: \"update\"\n observableKind: \"value\"\n object: IObservableValue\n debugObjectName: string\n newValue: unknown\n oldValue: unknown\n}\nexport type IBoxDidChange =\n | {\n type: \"create\"\n observableKind: \"value\"\n object: IObservableValue\n debugObjectName: string\n newValue: unknown\n }\n | IValueDidChange\n\nexport interface IObservableValue {\n get(): T\n set(value: T): void\n intercept_(handler: IInterceptor>): Lambda\n observe_(listener: (change: IValueDidChange) => void, fireImmediately?: boolean): Lambda\n}\n\nconst CREATE = \"create\"\n\nexport class ObservableValue\n extends Atom\n implements IObservableValue, IInterceptable>, IListenable {\n hasUnreportedChange_ = false\n interceptors_\n changeListeners_\n value_\n dehancer: any\n\n constructor(\n value: T,\n public enhancer: IEnhancer,\n public name_ = \"ObservableValue@\" + getNextId(),\n notifySpy = true,\n private equals: IEqualsComparer = comparer.default\n ) {\n super(name_)\n this.value_ = enhancer(value, undefined, name_)\n if (__DEV__ && notifySpy && isSpyEnabled()) {\n // only notify spy if this is a stand-alone observable\n spyReport({\n type: CREATE,\n object: this,\n observableKind: \"value\",\n debugObjectName: this.name_,\n newValue: \"\" + this.value_\n })\n }\n }\n\n private dehanceValue(value: T): T {\n if (this.dehancer !== undefined) return this.dehancer(value)\n return value\n }\n\n public set(newValue: T) {\n const oldValue = this.value_\n newValue = this.prepareNewValue_(newValue) as any\n if (newValue !== globalState.UNCHANGED) {\n const notifySpy = isSpyEnabled()\n if (__DEV__ && notifySpy) {\n spyReportStart({\n type: UPDATE,\n object: this,\n observableKind: \"value\",\n debugObjectName: this.name_,\n newValue,\n oldValue\n })\n }\n this.setNewValue_(newValue)\n if (__DEV__ && notifySpy) spyReportEnd()\n }\n }\n\n private prepareNewValue_(newValue): T | IUNCHANGED {\n checkIfStateModificationsAreAllowed(this)\n if (hasInterceptors(this)) {\n const change = interceptChange>(this, {\n object: this,\n type: UPDATE,\n newValue\n })\n if (!change) return globalState.UNCHANGED\n newValue = change.newValue\n }\n // apply modifier\n newValue = this.enhancer(newValue, this.value_, this.name_)\n return this.equals(this.value_, newValue) ? globalState.UNCHANGED : newValue\n }\n\n setNewValue_(newValue: T) {\n const oldValue = this.value_\n this.value_ = newValue\n this.reportChanged()\n if (hasListeners(this)) {\n notifyListeners(this, {\n type: UPDATE,\n object: this,\n newValue,\n oldValue\n })\n }\n }\n\n public get(): T {\n this.reportObserved()\n return this.dehanceValue(this.value_)\n }\n\n intercept_(handler: IInterceptor>): Lambda {\n return registerInterceptor(this, handler)\n }\n\n observe_(listener: (change: IValueDidChange) => void, fireImmediately?: boolean): Lambda {\n if (fireImmediately)\n listener({\n observableKind: \"value\",\n debugObjectName: this.name_,\n object: this,\n type: UPDATE,\n newValue: this.value_,\n oldValue: undefined\n })\n return registerListener(this, listener)\n }\n\n raw() {\n // used by MST ot get undehanced value\n return this.value_\n }\n\n toJSON() {\n return this.get()\n }\n\n toString() {\n return `${this.name_}[${this.value_}]`\n }\n\n valueOf(): T {\n return toPrimitive(this.get())\n }\n\n [Symbol.toPrimitive]() {\n return this.valueOf()\n }\n}\n\nexport const isObservableValue = createInstanceofPredicate(\"ObservableValue\", ObservableValue) as (\n x: any\n) => x is IObservableValue\n","import {\n CaughtException,\n IDerivation,\n IDerivationState_,\n IEqualsComparer,\n IObservable,\n Lambda,\n TraceMode,\n autorun,\n clearObserving,\n comparer,\n createAction,\n createInstanceofPredicate,\n endBatch,\n getNextId,\n globalState,\n isCaughtException,\n isSpyEnabled,\n propagateChangeConfirmed,\n propagateMaybeChanged,\n reportObserved,\n shouldCompute,\n spyReport,\n startBatch,\n toPrimitive,\n trackDerivedFunction,\n untrackedEnd,\n untrackedStart,\n UPDATE,\n die,\n allowStateChangesStart,\n allowStateChangesEnd\n} from \"../internal\"\n\nexport interface IComputedValue {\n get(): T\n set(value: T): void\n observe_(listener: (change: IComputedDidChange) => void, fireImmediately?: boolean): Lambda\n}\n\nexport interface IComputedValueOptions {\n get?: () => T\n set?: (value: T) => void\n name?: string\n equals?: IEqualsComparer\n context?: any\n requiresReaction?: boolean\n keepAlive?: boolean\n}\n\nexport type IComputedDidChange = {\n type: \"update\"\n observableKind: \"computed\"\n object: unknown\n debugObjectName: string\n newValue: T\n oldValue: T | undefined\n}\n\n/**\n * A node in the state dependency root that observes other nodes, and can be observed itself.\n *\n * ComputedValue will remember the result of the computation for the duration of the batch, or\n * while being observed.\n *\n * During this time it will recompute only when one of its direct dependencies changed,\n * but only when it is being accessed with `ComputedValue.get()`.\n *\n * Implementation description:\n * 1. First time it's being accessed it will compute and remember result\n * give back remembered result until 2. happens\n * 2. First time any deep dependency change, propagate POSSIBLY_STALE to all observers, wait for 3.\n * 3. When it's being accessed, recompute if any shallow dependency changed.\n * if result changed: propagate STALE to all observers, that were POSSIBLY_STALE from the last step.\n * go to step 2. either way\n *\n * If at any point it's outside batch and it isn't observed: reset everything and go to 1.\n */\nexport class ComputedValue implements IObservable, IComputedValue, IDerivation {\n dependenciesState_ = IDerivationState_.NOT_TRACKING_\n observing_: IObservable[] = [] // nodes we are looking at. Our value depends on these nodes\n newObserving_ = null // during tracking it's an array with new observed observers\n isBeingObserved_ = false\n isPendingUnobservation_: boolean = false\n observers_ = new Set()\n diffValue_ = 0\n runId_ = 0\n lastAccessedBy_ = 0\n lowestObserverState_ = IDerivationState_.UP_TO_DATE_\n unboundDepsCount_ = 0\n mapid_ = \"#\" + getNextId()\n protected value_: T | undefined | CaughtException = new CaughtException(null)\n name_: string\n triggeredBy_?: string\n isComputing_: boolean = false // to check for cycles\n isRunningSetter_: boolean = false\n derivation: () => T // N.B: unminified as it is used by MST\n setter_?: (value: T) => void\n isTracing_: TraceMode = TraceMode.NONE\n scope_: Object | undefined\n private equals_: IEqualsComparer\n private requiresReaction_: boolean\n keepAlive_: boolean\n\n /**\n * Create a new computed value based on a function expression.\n *\n * The `name` property is for debug purposes only.\n *\n * The `equals` property specifies the comparer function to use to determine if a newly produced\n * value differs from the previous value. Two comparers are provided in the library; `defaultComparer`\n * compares based on identity comparison (===), and `structuralComparer` deeply compares the structure.\n * Structural comparison can be convenient if you always produce a new aggregated object and\n * don't want to notify observers if it is structurally the same.\n * This is useful for working with vectors, mouse coordinates etc.\n */\n constructor(options: IComputedValueOptions) {\n if (!options.get) die(31)\n this.derivation = options.get!\n this.name_ = options.name || \"ComputedValue@\" + getNextId()\n if (options.set) this.setter_ = createAction(this.name_ + \"-setter\", options.set) as any\n this.equals_ =\n options.equals ||\n ((options as any).compareStructural || (options as any).struct\n ? comparer.structural\n : comparer.default)\n this.scope_ = options.context\n this.requiresReaction_ = !!options.requiresReaction\n this.keepAlive_ = !!options.keepAlive\n }\n\n onBecomeStale_() {\n propagateMaybeChanged(this)\n }\n\n public onBOL: Set | undefined\n public onBUOL: Set | undefined\n\n public onBO() {\n if (this.onBOL) {\n this.onBOL.forEach(listener => listener())\n }\n }\n\n public onBUO() {\n if (this.onBUOL) {\n this.onBUOL.forEach(listener => listener())\n }\n }\n\n /**\n * Returns the current value of this computed value.\n * Will evaluate its computation first if needed.\n */\n public get(): T {\n if (this.isComputing_) die(32, this.name_, this.derivation)\n if (\n globalState.inBatch === 0 &&\n // !globalState.trackingDerivatpion &&\n this.observers_.size === 0 &&\n !this.keepAlive_\n ) {\n if (shouldCompute(this)) {\n this.warnAboutUntrackedRead_()\n startBatch() // See perf test 'computed memoization'\n this.value_ = this.computeValue_(false)\n endBatch()\n }\n } else {\n reportObserved(this)\n if (shouldCompute(this)) {\n let prevTrackingContext = globalState.trackingContext\n if (this.keepAlive_ && !prevTrackingContext) globalState.trackingContext = this\n if (this.trackAndCompute()) propagateChangeConfirmed(this)\n globalState.trackingContext = prevTrackingContext\n }\n }\n const result = this.value_!\n\n if (isCaughtException(result)) throw result.cause\n return result\n }\n\n public set(value: T) {\n if (this.setter_) {\n if (this.isRunningSetter_) die(33, this.name_)\n this.isRunningSetter_ = true\n try {\n this.setter_.call(this.scope_, value)\n } finally {\n this.isRunningSetter_ = false\n }\n } else die(34, this.name_)\n }\n\n trackAndCompute(): boolean {\n // N.B: unminified as it is used by MST\n const oldValue = this.value_\n const wasSuspended =\n /* see #1208 */ this.dependenciesState_ === IDerivationState_.NOT_TRACKING_\n const newValue = this.computeValue_(true)\n\n if (__DEV__ && isSpyEnabled()) {\n spyReport({\n observableKind: \"computed\",\n debugObjectName: this.name_,\n object: this.scope_,\n type: \"update\",\n oldValue: this.value_,\n newValue\n } as IComputedDidChange)\n }\n\n const changed =\n wasSuspended ||\n isCaughtException(oldValue) ||\n isCaughtException(newValue) ||\n !this.equals_(oldValue, newValue)\n\n if (changed) {\n this.value_ = newValue\n }\n\n return changed\n }\n\n computeValue_(track: boolean) {\n this.isComputing_ = true\n // don't allow state changes during computation\n const prev = allowStateChangesStart(false)\n let res: T | CaughtException\n if (track) {\n res = trackDerivedFunction(this, this.derivation, this.scope_)\n } else {\n if (globalState.disableErrorBoundaries === true) {\n res = this.derivation.call(this.scope_)\n } else {\n try {\n res = this.derivation.call(this.scope_)\n } catch (e) {\n res = new CaughtException(e)\n }\n }\n }\n allowStateChangesEnd(prev)\n this.isComputing_ = false\n return res\n }\n\n suspend_() {\n if (!this.keepAlive_) {\n clearObserving(this)\n this.value_ = undefined // don't hold on to computed value!\n }\n }\n\n observe_(listener: (change: IComputedDidChange) => void, fireImmediately?: boolean): Lambda {\n let firstTime = true\n let prevValue: T | undefined = undefined\n return autorun(() => {\n // TODO: why is this in a different place than the spyReport() function? in all other observables it's called in the same place\n let newValue = this.get()\n if (!firstTime || fireImmediately) {\n const prevU = untrackedStart()\n listener({\n observableKind: \"computed\",\n debugObjectName: this.name_,\n type: UPDATE,\n object: this,\n newValue,\n oldValue: prevValue\n })\n untrackedEnd(prevU)\n }\n firstTime = false\n prevValue = newValue\n })\n }\n\n warnAboutUntrackedRead_() {\n if (!__DEV__) return\n if (this.requiresReaction_ === true) {\n die(`[mobx] Computed value ${this.name_} is read outside a reactive context`)\n }\n if (this.isTracing_ !== TraceMode.NONE) {\n console.log(\n `[mobx.trace] '${this.name_}' is being read outside a reactive context. Doing a full recompute`\n )\n }\n if (globalState.computedRequiresReaction) {\n console.warn(\n `[mobx] Computed value ${this.name_} is being read outside a reactive context. Doing a full recompute`\n )\n }\n }\n\n toString() {\n return `${this.name_}[${this.derivation.toString()}]`\n }\n\n valueOf(): T {\n return toPrimitive(this.get())\n }\n\n [Symbol.toPrimitive]() {\n return this.valueOf()\n }\n}\n\nexport const isComputedValue = createInstanceofPredicate(\"ComputedValue\", ComputedValue)\n","import {\n IAtom,\n IDepTreeNode,\n IObservable,\n addObserver,\n globalState,\n isComputedValue,\n removeObserver\n} from \"../internal\"\n\nexport enum IDerivationState_ {\n // before being run or (outside batch and not being observed)\n // at this point derivation is not holding any data about dependency tree\n NOT_TRACKING_ = -1,\n // no shallow dependency changed since last computation\n // won't recalculate derivation\n // this is what makes mobx fast\n UP_TO_DATE_ = 0,\n // some deep dependency changed, but don't know if shallow dependency changed\n // will require to check first if UP_TO_DATE or POSSIBLY_STALE\n // currently only ComputedValue will propagate POSSIBLY_STALE\n //\n // having this state is second big optimization:\n // don't have to recompute on every dependency change, but only when it's needed\n POSSIBLY_STALE_ = 1,\n // A shallow dependency has changed since last computation and the derivation\n // will need to recompute when it's needed next.\n STALE_ = 2\n}\n\nexport enum TraceMode {\n NONE,\n LOG,\n BREAK\n}\n\n/**\n * A derivation is everything that can be derived from the state (all the atoms) in a pure manner.\n * See https://medium.com/@mweststrate/becoming-fully-reactive-an-in-depth-explanation-of-mobservable-55995262a254#.xvbh6qd74\n */\nexport interface IDerivation extends IDepTreeNode {\n observing_: IObservable[]\n newObserving_: null | IObservable[]\n dependenciesState_: IDerivationState_\n /**\n * Id of the current run of a derivation. Each time the derivation is tracked\n * this number is increased by one. This number is globally unique\n */\n runId_: number\n /**\n * amount of dependencies used by the derivation in this run, which has not been bound yet.\n */\n unboundDepsCount_: number\n mapid_: string\n onBecomeStale_(): void\n isTracing_: TraceMode\n\n /**\n * warn if the derivation has no dependencies after creation/update\n */\n requiresObservable_?: boolean\n}\n\nexport class CaughtException {\n constructor(public cause: any) {\n // Empty\n }\n}\n\nexport function isCaughtException(e: any): e is CaughtException {\n return e instanceof CaughtException\n}\n\n/**\n * Finds out whether any dependency of the derivation has actually changed.\n * If dependenciesState is 1 then it will recalculate dependencies,\n * if any dependency changed it will propagate it by changing dependenciesState to 2.\n *\n * By iterating over the dependencies in the same order that they were reported and\n * stopping on the first change, all the recalculations are only called for ComputedValues\n * that will be tracked by derivation. That is because we assume that if the first x\n * dependencies of the derivation doesn't change then the derivation should run the same way\n * up until accessing x-th dependency.\n */\nexport function shouldCompute(derivation: IDerivation): boolean {\n switch (derivation.dependenciesState_) {\n case IDerivationState_.UP_TO_DATE_:\n return false\n case IDerivationState_.NOT_TRACKING_:\n case IDerivationState_.STALE_:\n return true\n case IDerivationState_.POSSIBLY_STALE_: {\n // state propagation can occur outside of action/reactive context #2195\n const prevAllowStateReads = allowStateReadsStart(true)\n const prevUntracked = untrackedStart() // no need for those computeds to be reported, they will be picked up in trackDerivedFunction.\n const obs = derivation.observing_,\n l = obs.length\n for (let i = 0; i < l; i++) {\n const obj = obs[i]\n if (isComputedValue(obj)) {\n if (globalState.disableErrorBoundaries) {\n obj.get()\n } else {\n try {\n obj.get()\n } catch (e) {\n // we are not interested in the value *or* exception at this moment, but if there is one, notify all\n untrackedEnd(prevUntracked)\n allowStateReadsEnd(prevAllowStateReads)\n return true\n }\n }\n // if ComputedValue `obj` actually changed it will be computed and propagated to its observers.\n // and `derivation` is an observer of `obj`\n // invariantShouldCompute(derivation)\n if ((derivation.dependenciesState_ as any) === IDerivationState_.STALE_) {\n untrackedEnd(prevUntracked)\n allowStateReadsEnd(prevAllowStateReads)\n return true\n }\n }\n }\n changeDependenciesStateTo0(derivation)\n untrackedEnd(prevUntracked)\n allowStateReadsEnd(prevAllowStateReads)\n return false\n }\n }\n}\n\nexport function isComputingDerivation() {\n return globalState.trackingDerivation !== null // filter out actions inside computations\n}\n\nexport function checkIfStateModificationsAreAllowed(atom: IAtom) {\n if (!__DEV__) {\n return\n }\n const hasObservers = atom.observers_.size > 0\n // Should not be possible to change observed state outside strict mode, except during initialization, see #563\n if (!globalState.allowStateChanges && (hasObservers || globalState.enforceActions === \"always\"))\n console.warn(\n \"[MobX] \" +\n (globalState.enforceActions\n ? \"Since strict-mode is enabled, changing (observed) observable values without using an action is not allowed. Tried to modify: \"\n : \"Side effects like changing state are not allowed at this point. Are you trying to modify state from, for example, a computed value or the render function of a React component? You can wrap side effects in 'runInAction' (or decorate functions with 'action') if needed. Tried to modify: \") +\n atom.name_\n )\n}\n\nexport function checkIfStateReadsAreAllowed(observable: IObservable) {\n if (__DEV__ && !globalState.allowStateReads && globalState.observableRequiresReaction) {\n console.warn(`[mobx] Observable ${observable.name_} being read outside a reactive context`)\n }\n}\n\n/**\n * Executes the provided function `f` and tracks which observables are being accessed.\n * The tracking information is stored on the `derivation` object and the derivation is registered\n * as observer of any of the accessed observables.\n */\nexport function trackDerivedFunction(derivation: IDerivation, f: () => T, context: any) {\n const prevAllowStateReads = allowStateReadsStart(true)\n // pre allocate array allocation + room for variation in deps\n // array will be trimmed by bindDependencies\n changeDependenciesStateTo0(derivation)\n derivation.newObserving_ = new Array(derivation.observing_.length + 100)\n derivation.unboundDepsCount_ = 0\n derivation.runId_ = ++globalState.runId\n const prevTracking = globalState.trackingDerivation\n globalState.trackingDerivation = derivation\n globalState.inBatch++\n let result\n if (globalState.disableErrorBoundaries === true) {\n result = f.call(context)\n } else {\n try {\n result = f.call(context)\n } catch (e) {\n result = new CaughtException(e)\n }\n }\n globalState.inBatch--\n globalState.trackingDerivation = prevTracking\n bindDependencies(derivation)\n\n warnAboutDerivationWithoutDependencies(derivation)\n allowStateReadsEnd(prevAllowStateReads)\n return result\n}\n\nfunction warnAboutDerivationWithoutDependencies(derivation: IDerivation) {\n if (!__DEV__) return\n\n if (derivation.observing_.length !== 0) return\n\n if (globalState.reactionRequiresObservable || derivation.requiresObservable_) {\n console.warn(\n `[mobx] Derivation ${derivation.name_} is created/updated without reading any observable value`\n )\n }\n}\n\n/**\n * diffs newObserving with observing.\n * update observing to be newObserving with unique observables\n * notify observers that become observed/unobserved\n */\nfunction bindDependencies(derivation: IDerivation) {\n // invariant(derivation.dependenciesState !== IDerivationState.NOT_TRACKING, \"INTERNAL ERROR bindDependencies expects derivation.dependenciesState !== -1\");\n const prevObserving = derivation.observing_\n const observing = (derivation.observing_ = derivation.newObserving_!)\n let lowestNewObservingDerivationState = IDerivationState_.UP_TO_DATE_\n\n // Go through all new observables and check diffValue: (this list can contain duplicates):\n // 0: first occurrence, change to 1 and keep it\n // 1: extra occurrence, drop it\n let i0 = 0,\n l = derivation.unboundDepsCount_\n for (let i = 0; i < l; i++) {\n const dep = observing[i]\n if (dep.diffValue_ === 0) {\n dep.diffValue_ = 1\n if (i0 !== i) observing[i0] = dep\n i0++\n }\n\n // Upcast is 'safe' here, because if dep is IObservable, `dependenciesState` will be undefined,\n // not hitting the condition\n if (((dep as any) as IDerivation).dependenciesState_ > lowestNewObservingDerivationState) {\n lowestNewObservingDerivationState = ((dep as any) as IDerivation).dependenciesState_\n }\n }\n observing.length = i0\n\n derivation.newObserving_ = null // newObserving shouldn't be needed outside tracking (statement moved down to work around FF bug, see #614)\n\n // Go through all old observables and check diffValue: (it is unique after last bindDependencies)\n // 0: it's not in new observables, unobserve it\n // 1: it keeps being observed, don't want to notify it. change to 0\n l = prevObserving.length\n while (l--) {\n const dep = prevObserving[l]\n if (dep.diffValue_ === 0) {\n removeObserver(dep, derivation)\n }\n dep.diffValue_ = 0\n }\n\n // Go through all new observables and check diffValue: (now it should be unique)\n // 0: it was set to 0 in last loop. don't need to do anything.\n // 1: it wasn't observed, let's observe it. set back to 0\n while (i0--) {\n const dep = observing[i0]\n if (dep.diffValue_ === 1) {\n dep.diffValue_ = 0\n addObserver(dep, derivation)\n }\n }\n\n // Some new observed derivations may become stale during this derivation computation\n // so they have had no chance to propagate staleness (#916)\n if (lowestNewObservingDerivationState !== IDerivationState_.UP_TO_DATE_) {\n derivation.dependenciesState_ = lowestNewObservingDerivationState\n derivation.onBecomeStale_()\n }\n}\n\nexport function clearObserving(derivation: IDerivation) {\n // invariant(globalState.inBatch > 0, \"INTERNAL ERROR clearObserving should be called only inside batch\");\n const obs = derivation.observing_\n derivation.observing_ = []\n let i = obs.length\n while (i--) removeObserver(obs[i], derivation)\n\n derivation.dependenciesState_ = IDerivationState_.NOT_TRACKING_\n}\n\nexport function untracked(action: () => T): T {\n const prev = untrackedStart()\n try {\n return action()\n } finally {\n untrackedEnd(prev)\n }\n}\n\nexport function untrackedStart(): IDerivation | null {\n const prev = globalState.trackingDerivation\n globalState.trackingDerivation = null\n return prev\n}\n\nexport function untrackedEnd(prev: IDerivation | null) {\n globalState.trackingDerivation = prev\n}\n\nexport function allowStateReadsStart(allowStateReads: boolean) {\n const prev = globalState.allowStateReads\n globalState.allowStateReads = allowStateReads\n return prev\n}\n\nexport function allowStateReadsEnd(prev: boolean) {\n globalState.allowStateReads = prev\n}\n\n/**\n * needed to keep `lowestObserverState` correct. when changing from (2 or 1) to 0\n *\n */\nexport function changeDependenciesStateTo0(derivation: IDerivation) {\n if (derivation.dependenciesState_ === IDerivationState_.UP_TO_DATE_) return\n derivation.dependenciesState_ = IDerivationState_.UP_TO_DATE_\n\n const obs = derivation.observing_\n let i = obs.length\n while (i--) obs[i].lowestObserverState_ = IDerivationState_.UP_TO_DATE_\n}\n","import { IDerivation, IObservable, Reaction, die, getGlobal } from \"../internal\"\nimport { ComputedValue } from \"./computedvalue\"\n\n/**\n * These values will persist if global state is reset\n */\nconst persistentKeys: (keyof MobXGlobals)[] = [\n \"mobxGuid\",\n \"spyListeners\",\n \"enforceActions\",\n \"computedRequiresReaction\",\n \"reactionRequiresObservable\",\n \"observableRequiresReaction\",\n \"allowStateReads\",\n \"disableErrorBoundaries\",\n \"runId\",\n \"UNCHANGED\",\n \"useProxies\"\n]\n\nexport type IUNCHANGED = {}\n\nexport class MobXGlobals {\n /**\n * MobXGlobals version.\n * MobX compatiblity with other versions loaded in memory as long as this version matches.\n * It indicates that the global state still stores similar information\n *\n * N.B: this version is unrelated to the package version of MobX, and is only the version of the\n * internal state storage of MobX, and can be the same across many different package versions\n */\n version = 6\n\n /**\n * globally unique token to signal unchanged\n */\n UNCHANGED: IUNCHANGED = {}\n\n /**\n * Currently running derivation\n */\n trackingDerivation: IDerivation | null = null\n\n /**\n * Currently running reaction. This determines if we currently have a reactive context.\n * (Tracking derivation is also set for temporal tracking of computed values inside actions,\n * but trackingReaction can only be set by a form of Reaction)\n */\n trackingContext: Reaction | ComputedValue | null = null\n\n /**\n * Each time a derivation is tracked, it is assigned a unique run-id\n */\n runId = 0\n\n /**\n * 'guid' for general purpose. Will be persisted amongst resets.\n */\n mobxGuid = 0\n\n /**\n * Are we in a batch block? (and how many of them)\n */\n inBatch: number = 0\n\n /**\n * Observables that don't have observers anymore, and are about to be\n * suspended, unless somebody else accesses it in the same batch\n *\n * @type {IObservable[]}\n */\n pendingUnobservations: IObservable[] = []\n\n /**\n * List of scheduled, not yet executed, reactions.\n */\n pendingReactions: Reaction[] = []\n\n /**\n * Are we currently processing reactions?\n */\n isRunningReactions = false\n\n /**\n * Is it allowed to change observables at this point?\n * In general, MobX doesn't allow that when running computations and React.render.\n * To ensure that those functions stay pure.\n */\n allowStateChanges = false\n\n /**\n * Is it allowed to read observables at this point?\n * Used to hold the state needed for `observableRequiresReaction`\n */\n allowStateReads = true\n\n /**\n * If strict mode is enabled, state changes are by default not allowed\n */\n enforceActions: boolean | \"always\" = true\n\n /**\n * Spy callbacks\n */\n spyListeners: { (change: any): void }[] = []\n\n /**\n * Globally attached error handlers that react specifically to errors in reactions\n */\n globalReactionErrorHandlers: ((error: any, derivation: IDerivation) => void)[] = []\n\n /**\n * Warn if computed values are accessed outside a reactive context\n */\n computedRequiresReaction = false\n\n /**\n * (Experimental)\n * Warn if you try to create to derivation / reactive context without accessing any observable.\n */\n reactionRequiresObservable = false\n\n /**\n * (Experimental)\n * Warn if observables are accessed outside a reactive context\n */\n observableRequiresReaction = false\n\n /*\n * Don't catch and rethrow exceptions. This is useful for inspecting the state of\n * the stack when an exception occurs while debugging.\n */\n disableErrorBoundaries = false\n\n /*\n * If true, we are already handling an exception in an action. Any errors in reactions should be suppressed, as\n * they are not the cause, see: https://github.com/mobxjs/mobx/issues/1836\n */\n suppressReactionErrors = false\n\n useProxies = true\n /*\n * print warnings about code that would fail if proxies weren't available\n */\n verifyProxies = false\n}\n\nlet canMergeGlobalState = true\nlet isolateCalled = false\n\nexport let globalState: MobXGlobals = (function () {\n let global = getGlobal()\n if (global.__mobxInstanceCount > 0 && !global.__mobxGlobals) canMergeGlobalState = false\n if (global.__mobxGlobals && global.__mobxGlobals.version !== new MobXGlobals().version)\n canMergeGlobalState = false\n\n if (!canMergeGlobalState) {\n setTimeout(() => {\n if (!isolateCalled) {\n die(35)\n }\n }, 1)\n return new MobXGlobals()\n } else if (global.__mobxGlobals) {\n global.__mobxInstanceCount += 1\n if (!global.__mobxGlobals.UNCHANGED) global.__mobxGlobals.UNCHANGED = {} // make merge backward compatible\n return global.__mobxGlobals\n } else {\n global.__mobxInstanceCount = 1\n return (global.__mobxGlobals = new MobXGlobals())\n }\n})()\n\nexport function isolateGlobalState() {\n if (\n globalState.pendingReactions.length ||\n globalState.inBatch ||\n globalState.isRunningReactions\n )\n die(36)\n isolateCalled = true\n if (canMergeGlobalState) {\n let global = getGlobal()\n if (--global.__mobxInstanceCount === 0) global.__mobxGlobals = undefined\n globalState = new MobXGlobals()\n }\n}\n\nexport function getGlobalState(): any {\n return globalState\n}\n\n/**\n * For testing purposes only; this will break the internal state of existing observables,\n * but can be used to get back at a stable state after throwing errors\n */\nexport function resetGlobalState() {\n const defaultGlobals = new MobXGlobals()\n for (let key in defaultGlobals)\n if (persistentKeys.indexOf(key as any) === -1) globalState[key] = defaultGlobals[key]\n globalState.allowStateChanges = !globalState.enforceActions\n}\n","import {\n $mobx,\n IDerivation,\n IDerivationState_,\n IObservable,\n Lambda,\n TraceMode,\n clearObserving,\n createInstanceofPredicate,\n endBatch,\n getNextId,\n globalState,\n isCaughtException,\n isSpyEnabled,\n shouldCompute,\n spyReport,\n spyReportEnd,\n spyReportStart,\n startBatch,\n trace,\n trackDerivedFunction\n} from \"../internal\"\n\n/**\n * Reactions are a special kind of derivations. Several things distinguishes them from normal reactive computations\n *\n * 1) They will always run, whether they are used by other computations or not.\n * This means that they are very suitable for triggering side effects like logging, updating the DOM and making network requests.\n * 2) They are not observable themselves\n * 3) They will always run after any 'normal' derivations\n * 4) They are allowed to change the state and thereby triggering themselves again, as long as they make sure the state propagates to a stable state in a reasonable amount of iterations.\n *\n * The state machine of a Reaction is as follows:\n *\n * 1) after creating, the reaction should be started by calling `runReaction` or by scheduling it (see also `autorun`)\n * 2) the `onInvalidate` handler should somehow result in a call to `this.track(someFunction)`\n * 3) all observables accessed in `someFunction` will be observed by this reaction.\n * 4) as soon as some of the dependencies has changed the Reaction will be rescheduled for another run (after the current mutation or transaction). `isScheduled` will yield true once a dependency is stale and during this period\n * 5) `onInvalidate` will be called, and we are back at step 1.\n *\n */\n\nexport interface IReactionPublic {\n dispose(): void\n trace(enterBreakPoint?: boolean): void\n}\n\nexport interface IReactionDisposer {\n (): void\n $mobx: Reaction\n}\n\nexport class Reaction implements IDerivation, IReactionPublic {\n observing_: IObservable[] = [] // nodes we are looking at. Our value depends on these nodes\n newObserving_: IObservable[] = []\n dependenciesState_ = IDerivationState_.NOT_TRACKING_\n diffValue_ = 0\n runId_ = 0\n unboundDepsCount_ = 0\n mapid_ = \"#\" + getNextId()\n isDisposed_ = false\n isScheduled_ = false\n isTrackPending_ = false\n isRunning_ = false\n isTracing_: TraceMode = TraceMode.NONE\n\n constructor(\n public name_: string = \"Reaction@\" + getNextId(),\n private onInvalidate_: () => void,\n private errorHandler_?: (error: any, derivation: IDerivation) => void,\n public requiresObservable_ = false\n ) {}\n\n onBecomeStale_() {\n this.schedule_()\n }\n\n schedule_() {\n if (!this.isScheduled_) {\n this.isScheduled_ = true\n globalState.pendingReactions.push(this)\n runReactions()\n }\n }\n\n isScheduled() {\n return this.isScheduled_\n }\n\n /**\n * internal, use schedule() if you intend to kick off a reaction\n */\n runReaction_() {\n if (!this.isDisposed_) {\n startBatch()\n this.isScheduled_ = false\n if (shouldCompute(this)) {\n this.isTrackPending_ = true\n\n try {\n this.onInvalidate_()\n if (__DEV__ && this.isTrackPending_ && isSpyEnabled()) {\n // onInvalidate didn't trigger track right away..\n spyReport({\n name: this.name_,\n type: \"scheduled-reaction\"\n })\n }\n } catch (e) {\n this.reportExceptionInDerivation_(e)\n }\n }\n endBatch()\n }\n }\n\n track(fn: () => void) {\n if (this.isDisposed_) {\n return\n // console.warn(\"Reaction already disposed\") // Note: Not a warning / error in mobx 4 either\n }\n startBatch()\n const notify = isSpyEnabled()\n let startTime\n if (__DEV__ && notify) {\n startTime = Date.now()\n spyReportStart({\n name: this.name_,\n type: \"reaction\"\n })\n }\n this.isRunning_ = true\n const prevReaction = globalState.trackingContext // reactions could create reactions...\n globalState.trackingContext = this\n const result = trackDerivedFunction(this, fn, undefined)\n globalState.trackingContext = prevReaction\n this.isRunning_ = false\n this.isTrackPending_ = false\n if (this.isDisposed_) {\n // disposed during last run. Clean up everything that was bound after the dispose call.\n clearObserving(this)\n }\n if (isCaughtException(result)) this.reportExceptionInDerivation_(result.cause)\n if (__DEV__ && notify) {\n spyReportEnd({\n time: Date.now() - startTime\n })\n }\n endBatch()\n }\n\n reportExceptionInDerivation_(error: any) {\n if (this.errorHandler_) {\n this.errorHandler_(error, this)\n return\n }\n\n if (globalState.disableErrorBoundaries) throw error\n\n const message = __DEV__\n ? `[mobx] Encountered an uncaught exception that was thrown by a reaction or observer component, in: '${this}'`\n : `[mobx] uncaught error in '${this}'`\n if (!globalState.suppressReactionErrors) {\n console.error(message, error)\n /** If debugging brought you here, please, read the above message :-). Tnx! */\n } else if (__DEV__) console.warn(`[mobx] (error in reaction '${this.name_}' suppressed, fix error of causing action below)`) // prettier-ignore\n\n if (__DEV__ && isSpyEnabled()) {\n spyReport({\n type: \"error\",\n name: this.name_,\n message,\n error: \"\" + error\n })\n }\n\n globalState.globalReactionErrorHandlers.forEach(f => f(error, this))\n }\n\n dispose() {\n if (!this.isDisposed_) {\n this.isDisposed_ = true\n if (!this.isRunning_) {\n // if disposed while running, clean up later. Maybe not optimal, but rare case\n startBatch()\n clearObserving(this)\n endBatch()\n }\n }\n }\n\n getDisposer_(): IReactionDisposer {\n const r = this.dispose.bind(this) as IReactionDisposer\n r[$mobx] = this\n return r\n }\n\n toString() {\n return `Reaction[${this.name_}]`\n }\n\n trace(enterBreakPoint: boolean = false) {\n trace(this, enterBreakPoint)\n }\n}\n\nexport function onReactionError(handler: (error: any, derivation: IDerivation) => void): Lambda {\n globalState.globalReactionErrorHandlers.push(handler)\n return () => {\n const idx = globalState.globalReactionErrorHandlers.indexOf(handler)\n if (idx >= 0) globalState.globalReactionErrorHandlers.splice(idx, 1)\n }\n}\n\n/**\n * Magic number alert!\n * Defines within how many times a reaction is allowed to re-trigger itself\n * until it is assumed that this is gonna be a never ending loop...\n */\nconst MAX_REACTION_ITERATIONS = 100\n\nlet reactionScheduler: (fn: () => void) => void = f => f()\n\nexport function runReactions() {\n // Trampolining, if runReactions are already running, new reactions will be picked up\n if (globalState.inBatch > 0 || globalState.isRunningReactions) return\n reactionScheduler(runReactionsHelper)\n}\n\nfunction runReactionsHelper() {\n globalState.isRunningReactions = true\n const allReactions = globalState.pendingReactions\n let iterations = 0\n\n // While running reactions, new reactions might be triggered.\n // Hence we work with two variables and check whether\n // we converge to no remaining reactions after a while.\n while (allReactions.length > 0) {\n if (++iterations === MAX_REACTION_ITERATIONS) {\n console.error(\n __DEV__\n ? `Reaction doesn't converge to a stable state after ${MAX_REACTION_ITERATIONS} iterations.` +\n ` Probably there is a cycle in the reactive function: ${allReactions[0]}`\n : `[mobx] cycle in reaction: ${allReactions[0]}`\n )\n allReactions.splice(0) // clear reactions\n }\n let remainingReactions = allReactions.splice(0)\n for (let i = 0, l = remainingReactions.length; i < l; i++)\n remainingReactions[i].runReaction_()\n }\n globalState.isRunningReactions = false\n}\n\nexport const isReaction = createInstanceofPredicate(\"Reaction\", Reaction)\n\nexport function setReactionScheduler(fn: (f: () => void) => void) {\n const baseScheduler = reactionScheduler\n reactionScheduler = f => fn(() => baseScheduler(f))\n}\n","import { TraceMode, die, getAtom, globalState } from \"../internal\"\n\nexport function trace(thing?: any, prop?: string, enterBreakPoint?: boolean): void\nexport function trace(thing?: any, enterBreakPoint?: boolean): void\nexport function trace(enterBreakPoint?: boolean): void\nexport function trace(...args: any[]): void {\n if (!__DEV__) die(`trace() is not available in production builds`)\n let enterBreakPoint = false\n if (typeof args[args.length - 1] === \"boolean\") enterBreakPoint = args.pop()\n const derivation = getAtomFromArgs(args)\n if (!derivation) {\n return die(\n `'trace(break?)' can only be used inside a tracked computed value or a Reaction. Consider passing in the computed value or reaction explicitly`\n )\n }\n if (derivation.isTracing_ === TraceMode.NONE) {\n console.log(`[mobx.trace] '${derivation.name_}' tracing enabled`)\n }\n derivation.isTracing_ = enterBreakPoint ? TraceMode.BREAK : TraceMode.LOG\n}\n\nfunction getAtomFromArgs(args): any {\n switch (args.length) {\n case 0:\n return globalState.trackingDerivation\n case 1:\n return getAtom(args[0])\n case 2:\n return getAtom(args[0], args[1])\n }\n}\n","import {\n createAction,\n executeAction,\n Annotation,\n createDecorator,\n createDecoratorAndAnnotation,\n storeDecorator,\n die,\n isFunction,\n isStringish\n} from \"../internal\"\n\nexport const ACTION = \"action\"\nexport const ACTION_BOUND = \"action.bound\"\nexport const AUTOACTION = \"autoAction\"\nexport const AUTOACTION_BOUND = \"autoAction.bound\"\n\nconst ACTION_UNNAMED = \"\"\n\nexport interface IActionFactory extends Annotation, PropertyDecorator {\n // nameless actions\n (fn: T): T\n // named actions\n (name: string, fn: T): T\n\n // named decorator\n (customName: string): PropertyDecorator & Annotation\n\n // (named?) decorator\n bound: IBoundActionFactory\n}\n\ninterface IBoundActionFactory extends Annotation, PropertyDecorator {\n (name: string): Annotation & PropertyDecorator\n}\n\nfunction createActionFactory(\n autoAction: boolean,\n annotation: Annotation[\"annotationType_\"]\n): IActionFactory {\n const res: IActionFactory = function action(arg1, arg2?): any {\n // action(fn() {})\n if (isFunction(arg1)) return createAction(arg1.name || ACTION_UNNAMED, arg1, autoAction)\n // action(\"name\", fn() {})\n if (isFunction(arg2)) return createAction(arg1, arg2, autoAction)\n // @action\n if (isStringish(arg2)) {\n return storeDecorator(arg1, arg2, annotation)\n }\n // Annation: action(\"name\") & @action(\"name\")\n if (isStringish(arg1)) {\n return createDecoratorAndAnnotation(annotation, arg1)\n }\n\n if (__DEV__) die(\"Invalid arguments for `action`\")\n } as any\n res.annotationType_ = annotation\n return res\n}\n\nexport const action: IActionFactory = createActionFactory(false, ACTION)\nexport const autoAction: IActionFactory = createActionFactory(true, AUTOACTION)\n\naction.bound = createDecorator(ACTION_BOUND)\nautoAction.bound = createDecorator(AUTOACTION_BOUND)\n\nexport function runInAction(fn: () => T): T {\n return executeAction(fn.name || ACTION_UNNAMED, false, fn, this, undefined)\n}\n\nexport function isAction(thing: any) {\n return isFunction(thing) && thing.isMobxAction === true\n}\n","import {\n EMPTY_OBJECT,\n IEqualsComparer,\n IReactionDisposer,\n IReactionPublic,\n Lambda,\n Reaction,\n action,\n comparer,\n getNextId,\n isAction,\n isFunction,\n isPlainObject,\n die,\n allowStateChanges\n} from \"../internal\"\n\nexport interface IAutorunOptions {\n delay?: number\n name?: string\n /**\n * Experimental.\n * Warns if the view doesn't track observables\n */\n requiresObservable?: boolean\n scheduler?: (callback: () => void) => any\n onError?: (error: any) => void\n}\n\n/**\n * Creates a named reactive view and keeps it alive, so that the view is always\n * updated if one of the dependencies changes, even when the view is not further used by something else.\n * @param view The reactive view\n * @returns disposer function, which can be used to stop the view from being updated in the future.\n */\nexport function autorun(\n view: (r: IReactionPublic) => any,\n opts: IAutorunOptions = EMPTY_OBJECT\n): IReactionDisposer {\n if (__DEV__) {\n if (!isFunction(view)) die(\"Autorun expects a function as first argument\")\n if (isAction(view)) die(\"Autorun does not accept actions since actions are untrackable\")\n }\n\n const name: string = (opts && opts.name) || (view as any).name || \"Autorun@\" + getNextId()\n const runSync = !opts.scheduler && !opts.delay\n let reaction: Reaction\n\n if (runSync) {\n // normal autorun\n reaction = new Reaction(\n name,\n function (this: Reaction) {\n this.track(reactionRunner)\n },\n opts.onError,\n opts.requiresObservable\n )\n } else {\n const scheduler = createSchedulerFromOptions(opts)\n // debounced autorun\n let isScheduled = false\n\n reaction = new Reaction(\n name,\n () => {\n if (!isScheduled) {\n isScheduled = true\n scheduler(() => {\n isScheduled = false\n if (!reaction.isDisposed_) reaction.track(reactionRunner)\n })\n }\n },\n opts.onError,\n opts.requiresObservable\n )\n }\n\n function reactionRunner() {\n view(reaction)\n }\n\n reaction.schedule_()\n return reaction.getDisposer_()\n}\n\nexport type IReactionOptions = IAutorunOptions & {\n fireImmediately?: boolean\n equals?: IEqualsComparer\n}\n\nconst run = (f: Lambda) => f()\n\nfunction createSchedulerFromOptions(opts: IReactionOptions) {\n return opts.scheduler\n ? opts.scheduler\n : opts.delay\n ? (f: Lambda) => setTimeout(f, opts.delay!)\n : run\n}\n\nexport function reaction(\n expression: (r: IReactionPublic) => T,\n effect: (arg: T, prev: T, r: IReactionPublic) => void,\n opts: IReactionOptions = EMPTY_OBJECT\n): IReactionDisposer {\n if (__DEV__) {\n if (!isFunction(expression) || !isFunction(effect))\n die(\"First and second argument to reaction should be functions\")\n if (!isPlainObject(opts)) die(\"Third argument of reactions should be an object\")\n }\n const name = opts.name || \"Reaction@\" + getNextId()\n const effectAction = action(\n name,\n opts.onError ? wrapErrorHandler(opts.onError, effect) : effect\n )\n const runSync = !opts.scheduler && !opts.delay\n const scheduler = createSchedulerFromOptions(opts)\n\n let firstTime = true\n let isScheduled = false\n let value: T\n let oldValue: T = undefined as any // only an issue with fireImmediately\n\n const equals = (opts as any).compareStructural\n ? comparer.structural\n : opts.equals || comparer.default\n\n const r = new Reaction(\n name,\n () => {\n if (firstTime || runSync) {\n reactionRunner()\n } else if (!isScheduled) {\n isScheduled = true\n scheduler!(reactionRunner)\n }\n },\n opts.onError,\n opts.requiresObservable\n )\n\n function reactionRunner() {\n isScheduled = false\n if (r.isDisposed_) return\n let changed: boolean = false\n r.track(() => {\n const nextValue = allowStateChanges(false, () => expression(r))\n changed = firstTime || !equals(value, nextValue)\n oldValue = value\n value = nextValue\n })\n if (firstTime && opts.fireImmediately!) effectAction(value, oldValue, r)\n else if (!firstTime && changed) effectAction(value, oldValue, r)\n firstTime = false\n }\n\n r.schedule_()\n return r.getDisposer_()\n}\n\nfunction wrapErrorHandler(errorHandler, baseFn) {\n return function () {\n try {\n return baseFn.apply(this, arguments)\n } catch (e) {\n errorHandler.call(this, e)\n }\n }\n}\n","import { globalState, isolateGlobalState, setReactionScheduler } from \"../internal\"\n\nconst NEVER = \"never\"\nconst ALWAYS = \"always\"\nconst OBSERVED = \"observed\"\n// const IF_AVAILABLE = \"ifavailable\"\n\nexport function configure(options: {\n enforceActions?: \"never\" | \"always\" | \"observed\"\n computedRequiresReaction?: boolean\n /**\n * Warn if you try to create to derivation / reactive context without accessing any observable.\n */\n reactionRequiresObservable?: boolean\n /**\n * Warn if observables are accessed outside a reactive context\n */\n observableRequiresReaction?: boolean\n isolateGlobalState?: boolean\n disableErrorBoundaries?: boolean\n reactionScheduler?: (f: () => void) => void\n useProxies?: \"always\" | \"never\" | \"ifavailable\"\n}): void {\n if (options.isolateGlobalState === true) {\n isolateGlobalState()\n }\n const { useProxies, enforceActions } = options\n if (useProxies !== undefined) {\n globalState.useProxies =\n useProxies === ALWAYS\n ? true\n : useProxies === NEVER\n ? false\n : typeof Proxy !== \"undefined\"\n }\n if (useProxies === \"ifavailable\") globalState.verifyProxies = true\n if (enforceActions !== undefined) {\n const ea = enforceActions === ALWAYS ? ALWAYS : enforceActions === OBSERVED\n globalState.enforceActions = ea\n globalState.allowStateChanges = ea === true || ea === ALWAYS ? false : true\n }\n ;[\n \"computedRequiresReaction\",\n \"reactionRequiresObservable\",\n \"observableRequiresReaction\",\n \"disableErrorBoundaries\"\n ].forEach(key => {\n if (key in options) globalState[key] = !!options[key]\n })\n globalState.allowStateReads = !globalState.observableRequiresReaction\n if (__DEV__ && globalState.disableErrorBoundaries === true) {\n console.warn(\n \"WARNING: Debug feature only. MobX will NOT recover from errors when `disableErrorBoundaries` is enabled.\"\n )\n }\n if (options.reactionScheduler) {\n setReactionScheduler(options.reactionScheduler)\n }\n}\n","import { IDepTreeNode, getAtom, getObservers, hasObservers } from \"../internal\"\n\nexport interface IDependencyTree {\n name: string\n dependencies?: IDependencyTree[]\n}\n\nexport interface IObserverTree {\n name: string\n observers?: IObserverTree[]\n}\n\nexport function getDependencyTree(thing: any, property?: string): IDependencyTree {\n return nodeToDependencyTree(getAtom(thing, property))\n}\n\nfunction nodeToDependencyTree(node: IDepTreeNode): IDependencyTree {\n const result: IDependencyTree = {\n name: node.name_\n }\n if (node.observing_ && node.observing_.length > 0)\n result.dependencies = unique(node.observing_).map(nodeToDependencyTree)\n return result\n}\n\nexport function getObserverTree(thing: any, property?: string): IObserverTree {\n return nodeToObserverTree(getAtom(thing, property))\n}\n\nfunction nodeToObserverTree(node: IDepTreeNode): IObserverTree {\n const result: IObserverTree = {\n name: node.name_\n }\n if (hasObservers(node as any))\n result.observers = Array.from(getObservers(node as any)).map(nodeToObserverTree)\n return result\n}\n\nfunction unique(list: T[]): T[] {\n return Array.from(new Set(list))\n}\n","import { action, noop, die, isFunction, Annotation, isStringish, storeDecorator } from \"../internal\"\n\nexport const FLOW = \"flow\"\n\nlet generatorId = 0\n\nexport function FlowCancellationError() {\n this.message = \"FLOW_CANCELLED\"\n}\nFlowCancellationError.prototype = Object.create(Error.prototype)\n\nexport function isFlowCancellationError(error: Error) {\n return error instanceof FlowCancellationError\n}\n\nexport type CancellablePromise = Promise & { cancel(): void }\n\ninterface Flow extends Annotation, PropertyDecorator {\n (\n generator: (...args: Args) => Generator | AsyncGenerator\n ): (...args: Args) => CancellablePromise\n}\n\nexport const flow: Flow = Object.assign(\n function flow(arg1, arg2?) {\n // @flow\n if (isStringish(arg2)) {\n return storeDecorator(arg1, arg2, \"flow\")\n }\n // flow(fn)\n if (__DEV__ && arguments.length !== 1)\n die(`Flow expects 1 argument and cannot be used as decorator`)\n const generator = arg1\n const name = generator.name || \"\"\n\n // Implementation based on https://github.com/tj/co/blob/master/index.js\n const res = function () {\n const ctx = this\n const args = arguments\n const runId = ++generatorId\n const gen = action(`${name} - runid: ${runId} - init`, generator).apply(ctx, args)\n let rejector: (error: any) => void\n let pendingPromise: CancellablePromise | undefined = undefined\n\n const promise = new Promise(function (resolve, reject) {\n let stepId = 0\n rejector = reject\n\n function onFulfilled(res: any) {\n pendingPromise = undefined\n let ret\n try {\n ret = action(\n `${name} - runid: ${runId} - yield ${stepId++}`,\n gen.next\n ).call(gen, res)\n } catch (e) {\n return reject(e)\n }\n\n next(ret)\n }\n\n function onRejected(err: any) {\n pendingPromise = undefined\n let ret\n try {\n ret = action(\n `${name} - runid: ${runId} - yield ${stepId++}`,\n gen.throw!\n ).call(gen, err)\n } catch (e) {\n return reject(e)\n }\n next(ret)\n }\n\n function next(ret: any) {\n if (isFunction(ret?.then)) {\n // an async iterator\n ret.then(next, reject)\n return\n }\n if (ret.done) return resolve(ret.value)\n pendingPromise = Promise.resolve(ret.value) as any\n return pendingPromise!.then(onFulfilled, onRejected)\n }\n\n onFulfilled(undefined) // kick off the process\n }) as any\n\n promise.cancel = action(`${name} - runid: ${runId} - cancel`, function () {\n try {\n if (pendingPromise) cancelPromise(pendingPromise)\n // Finally block can return (or yield) stuff..\n const res = gen.return!(undefined as any)\n // eat anything that promise would do, it's cancelled!\n const yieldedPromise = Promise.resolve(res.value)\n yieldedPromise.then(noop, noop)\n cancelPromise(yieldedPromise) // maybe it can be cancelled :)\n // reject our original promise\n rejector(new FlowCancellationError())\n } catch (e) {\n rejector(e) // there could be a throwing finally block\n }\n })\n return promise\n }\n res.isMobXFlow = true\n return res\n } as any,\n {\n annotationType_: \"flow\" as const\n }\n)\n\nfunction cancelPromise(promise) {\n if (isFunction(promise.cancel)) promise.cancel()\n}\n\nexport function flowResult(\n result: T\n): T extends Generator\n ? CancellablePromise\n : T extends CancellablePromise\n ? T\n : never {\n return result as any // just tricking TypeScript :)\n}\n\nexport function isFlow(fn: any): boolean {\n return fn?.isMobXFlow === true\n}\n","import {\n $mobx,\n isAtom,\n isComputedValue,\n isObservableArray,\n isObservableMap,\n isObservableObject,\n isReaction,\n die,\n isStringish\n} from \"../internal\"\n\nfunction _isObservable(value, property?: string): boolean {\n if (!value) return false\n if (property !== undefined) {\n if (__DEV__ && (isObservableMap(value) || isObservableArray(value)))\n return die(\n \"isObservable(object, propertyName) is not supported for arrays and maps. Use map.has or array.length instead.\"\n )\n if (isObservableObject(value)) {\n return value[$mobx].values_.has(property)\n }\n return false\n }\n // For first check, see #701\n return (\n isObservableObject(value) ||\n !!value[$mobx] ||\n isAtom(value) ||\n isReaction(value) ||\n isComputedValue(value)\n )\n}\n\nexport function isObservable(value: any): boolean {\n if (__DEV__ && arguments.length !== 1)\n die(\n `isObservable expects only 1 argument. Use isObservableProp to inspect the observability of a property`\n )\n return _isObservable(value)\n}\n\nexport function isObservableProp(value: any, propName: string): boolean {\n if (__DEV__ && !isStringish(propName)) return die(`expected a property name as second argument`)\n return _isObservable(value, propName)\n}\n","import {\n IArrayDidChange,\n IComputedValue,\n IMapDidChange,\n IObjectDidChange,\n IObservableArray,\n IObservableValue,\n IValueDidChange,\n Lambda,\n ObservableMap,\n getAdministration,\n ObservableSet,\n ISetDidChange,\n isFunction\n} from \"../internal\"\n\nexport function observe(\n value: IObservableValue | IComputedValue,\n listener: (change: IValueDidChange) => void,\n fireImmediately?: boolean\n): Lambda\nexport function observe(\n observableArray: IObservableArray,\n listener: (change: IArrayDidChange) => void,\n fireImmediately?: boolean\n): Lambda\nexport function observe(\n observableMap: ObservableSet,\n listener: (change: ISetDidChange) => void,\n fireImmediately?: boolean\n): Lambda\nexport function observe(\n observableMap: ObservableMap,\n listener: (change: IMapDidChange) => void,\n fireImmediately?: boolean\n): Lambda\nexport function observe(\n observableMap: ObservableMap,\n property: K,\n listener: (change: IValueDidChange) => void,\n fireImmediately?: boolean\n): Lambda\nexport function observe(\n object: Object,\n listener: (change: IObjectDidChange) => void,\n fireImmediately?: boolean\n): Lambda\nexport function observe(\n object: T,\n property: K,\n listener: (change: IValueDidChange) => void,\n fireImmediately?: boolean\n): Lambda\nexport function observe(thing, propOrCb?, cbOrFire?, fireImmediately?): Lambda {\n if (isFunction(cbOrFire))\n return observeObservableProperty(thing, propOrCb, cbOrFire, fireImmediately)\n else return observeObservable(thing, propOrCb, cbOrFire)\n}\n\nfunction observeObservable(thing, listener, fireImmediately: boolean) {\n return getAdministration(thing).observe_(listener, fireImmediately)\n}\n\nfunction observeObservableProperty(thing, property, listener, fireImmediately: boolean) {\n return getAdministration(thing, property).observe_(listener, fireImmediately)\n}\n","import { endBatch, startBatch } from \"../internal\"\n\n/**\n * During a transaction no views are updated until the end of the transaction.\n * The transaction will be run synchronously nonetheless.\n *\n * @param action a function that updates some reactive state\n * @returns any value that was returned by the 'action' parameter.\n */\nexport function transaction(action: () => T, thisArg = undefined): T {\n startBatch()\n try {\n return action.apply(thisArg)\n } finally {\n endBatch()\n }\n}\n","import {\n $mobx,\n IIsObservableObject,\n IObservableArray,\n ObservableMap,\n ObservableSet,\n ObservableObjectAdministration,\n endBatch,\n getAdministration,\n isObservableArray,\n isObservableMap,\n isObservableSet,\n isObservableObject,\n startBatch,\n die\n} from \"../internal\"\n\nexport function keys(map: ObservableMap): ReadonlyArray\nexport function keys(ar: IObservableArray): ReadonlyArray\nexport function keys(set: ObservableSet): ReadonlyArray\nexport function keys(obj: T): ReadonlyArray\nexport function keys(obj: any): any {\n if (isObservableObject(obj)) {\n return (((obj as any) as IIsObservableObject)[\n $mobx\n ] as ObservableObjectAdministration).getKeys_()\n }\n if (isObservableMap(obj) || isObservableSet(obj)) {\n return Array.from(obj.keys())\n }\n if (isObservableArray(obj)) {\n return obj.map((_, index) => index)\n }\n die(5)\n}\n\nexport function values(map: ObservableMap): ReadonlyArray\nexport function values(set: ObservableSet): ReadonlyArray\nexport function values(ar: IObservableArray): ReadonlyArray\nexport function values(obj: T): ReadonlyArray\nexport function values(obj: any): string[] {\n if (isObservableObject(obj)) {\n return keys(obj).map(key => obj[key])\n }\n if (isObservableMap(obj)) {\n return keys(obj).map(key => obj.get(key))\n }\n if (isObservableSet(obj)) {\n return Array.from(obj.values())\n }\n if (isObservableArray(obj)) {\n return obj.slice()\n }\n die(6)\n}\n\nexport function entries(map: ObservableMap): ReadonlyArray<[K, T]>\nexport function entries(set: ObservableSet): ReadonlyArray<[T, T]>\nexport function entries(ar: IObservableArray): ReadonlyArray<[number, T]>\nexport function entries(\n obj: T\n): ReadonlyArray<[string, T extends object ? T[keyof T] : any]>\nexport function entries(obj: any): any {\n if (isObservableObject(obj)) {\n return keys(obj).map(key => [key, obj[key]])\n }\n if (isObservableMap(obj)) {\n return keys(obj).map(key => [key, obj.get(key)])\n }\n if (isObservableSet(obj)) {\n return Array.from(obj.entries())\n }\n if (isObservableArray(obj)) {\n return obj.map((key, index) => [index, key])\n }\n die(7)\n}\n\nexport function set(obj: ObservableMap, values: { [key: string]: V })\nexport function set(obj: ObservableMap, key: K, value: V)\nexport function set(obj: ObservableSet, value: T)\nexport function set(obj: IObservableArray, index: number, value: T)\nexport function set(obj: T, values: { [key: string]: any })\nexport function set(obj: T, key: PropertyKey, value: any)\nexport function set(obj: any, key: any, value?: any): void {\n if (arguments.length === 2 && !isObservableSet(obj)) {\n startBatch()\n const values = key\n try {\n for (let key in values) set(obj, key, values[key])\n } finally {\n endBatch()\n }\n return\n }\n if (isObservableObject(obj)) {\n const adm: ObservableObjectAdministration = ((obj as any) as IIsObservableObject)[$mobx]\n const existingObservable = adm.values_.get(key)\n if (existingObservable) {\n adm.write_(key, value)\n } else {\n adm.addObservableProp_(key, value, adm.defaultEnhancer_)\n }\n } else if (isObservableMap(obj)) {\n obj.set(key, value)\n } else if (isObservableSet(obj)) {\n obj.add(key)\n } else if (isObservableArray(obj)) {\n if (typeof key !== \"number\") key = parseInt(key, 10)\n if (key < 0) die(`Invalid index: '${key}'`)\n startBatch()\n if (key >= obj.length) obj.length = key + 1\n obj[key] = value\n endBatch()\n } else die(8)\n}\n\nexport function remove(obj: ObservableMap, key: K)\nexport function remove(obj: ObservableSet, key: T)\nexport function remove(obj: IObservableArray, index: number)\nexport function remove(obj: T, key: string)\nexport function remove(obj: any, key: any): void {\n if (isObservableObject(obj)) {\n ;((obj as any) as IIsObservableObject)[$mobx].remove_(key)\n } else if (isObservableMap(obj)) {\n obj.delete(key)\n } else if (isObservableSet(obj)) {\n obj.delete(key)\n } else if (isObservableArray(obj)) {\n if (typeof key !== \"number\") key = parseInt(key, 10)\n obj.splice(key, 1)\n } else {\n die(9)\n }\n}\n\nexport function has(obj: ObservableMap, key: K): boolean\nexport function has(obj: ObservableSet, key: T): boolean\nexport function has(obj: IObservableArray, index: number): boolean\nexport function has(obj: T, key: string): boolean\nexport function has(obj: any, key: any): boolean {\n if (isObservableObject(obj)) {\n // return keys(obj).indexOf(key) >= 0\n return (getAdministration(obj) as ObservableObjectAdministration).has_(key)\n } else if (isObservableMap(obj)) {\n return obj.has(key)\n } else if (isObservableSet(obj)) {\n return obj.has(key)\n } else if (isObservableArray(obj)) {\n return key >= 0 && key < obj.length\n }\n die(10)\n}\n\nexport function get(obj: ObservableMap, key: K): V | undefined\nexport function get(obj: IObservableArray, index: number): T | undefined\nexport function get(obj: T, key: string): any\nexport function get(obj: any, key: any): any {\n if (!has(obj, key)) return undefined\n if (isObservableObject(obj)) {\n return obj[key]\n } else if (isObservableMap(obj)) {\n return obj.get(key)\n } else if (isObservableArray(obj)) {\n return obj[key]\n }\n die(11)\n}\n","import { Lambda, once, untrackedEnd, untrackedStart, die } from \"../internal\"\n\nexport type IInterceptor = (change: T) => T | null\n\nexport interface IInterceptable {\n interceptors_: IInterceptor[] | undefined\n}\n\nexport function hasInterceptors(interceptable: IInterceptable) {\n return interceptable.interceptors_ !== undefined && interceptable.interceptors_.length > 0\n}\n\nexport function registerInterceptor(\n interceptable: IInterceptable,\n handler: IInterceptor\n): Lambda {\n const interceptors = interceptable.interceptors_ || (interceptable.interceptors_ = [])\n interceptors.push(handler)\n return once(() => {\n const idx = interceptors.indexOf(handler)\n if (idx !== -1) interceptors.splice(idx, 1)\n })\n}\n\nexport function interceptChange(\n interceptable: IInterceptable,\n change: T | null\n): T | null {\n const prevU = untrackedStart()\n try {\n // Interceptor can modify the array, copy it to avoid concurrent modification, see #1950\n const interceptors = [...(interceptable.interceptors_ || [])]\n for (let i = 0, l = interceptors.length; i < l; i++) {\n change = interceptors[i](change)\n if (change && !(change as any).type) die(14)\n if (!change) break\n }\n return change\n } finally {\n untrackedEnd(prevU)\n }\n}\n","import { Lambda, once, untrackedEnd, untrackedStart } from \"../internal\"\n\nexport interface IListenable {\n changeListeners_: Function[] | undefined\n}\n\nexport function hasListeners(listenable: IListenable) {\n return listenable.changeListeners_ !== undefined && listenable.changeListeners_.length > 0\n}\n\nexport function registerListener(listenable: IListenable, handler: Function): Lambda {\n const listeners = listenable.changeListeners_ || (listenable.changeListeners_ = [])\n listeners.push(handler)\n return once(() => {\n const idx = listeners.indexOf(handler)\n if (idx !== -1) listeners.splice(idx, 1)\n })\n}\n\nexport function notifyListeners(listenable: IListenable, change: T) {\n const prevU = untrackedStart()\n let listeners = listenable.changeListeners_\n if (!listeners) return\n listeners = listeners.slice()\n for (let i = 0, l = listeners.length; i < l; i++) {\n listeners[i](change)\n }\n untrackedEnd(prevU)\n}\n","import {\n asObservableObject,\n addHiddenProp,\n action,\n autoAction,\n isAction,\n computed,\n observable,\n AnnotationsMap,\n Annotation,\n getEnhancerFromAnnotation,\n endBatch,\n startBatch,\n CreateObservableOptions,\n ObservableObjectAdministration,\n applyDecorators,\n isObservableProp,\n getDescriptor,\n isPlainObject,\n isObservableObject,\n isFunction,\n die,\n ACTION,\n ACTION_BOUND,\n AUTOACTION,\n AUTOACTION_BOUND,\n COMPUTED,\n COMPUTED_STRUCT,\n OBSERVABLE,\n OBSERVABLE_REF,\n OBSERVABLE_SHALLOW,\n OBSERVABLE_STRUCT,\n getOwnPropertyDescriptors,\n defineProperty,\n ownKeys,\n objectPrototype,\n hasProp,\n FLOW,\n flow,\n isGenerator,\n isFlow\n} from \"../internal\"\n\nconst CACHED_ANNOTATIONS = Symbol(\"mobx-cached-annotations\")\n\nfunction makeAction(target, key, name, fn, asAutoAction) {\n addHiddenProp(target, key, asAutoAction ? autoAction(name || key, fn) : action(name || key, fn))\n}\n\nfunction getInferredAnnotation(\n desc: PropertyDescriptor,\n defaultAnnotation: Annotation | undefined,\n autoBind: boolean\n): Annotation | boolean {\n if (desc.get) return computed\n if (desc.set) return false // ignore pure setters\n // if already wrapped in action, don't do that another time, but assume it is already set up properly\n if (isFunction(desc.value))\n return isGenerator(desc.value)\n ? flow\n : isAction(desc.value)\n ? false\n : autoBind\n ? autoAction.bound\n : autoAction\n // if (!desc.configurable || !desc.writable) return false\n return defaultAnnotation ?? observable.deep\n}\n\nfunction getDescriptorInChain(target: Object, prop: PropertyKey): [PropertyDescriptor, Object] {\n let current = target\n while (current && current !== objectPrototype) {\n // Optimization: cache meta data, especially for members from prototypes?\n const desc = getDescriptor(current, prop)\n if (desc) {\n return [desc, current]\n }\n current = Object.getPrototypeOf(current)\n }\n die(1, prop)\n}\n\nexport function makeProperty(\n adm: ObservableObjectAdministration,\n owner: Object,\n key: PropertyKey,\n descriptor: PropertyDescriptor,\n annotation: Annotation | boolean,\n forceCopy: boolean, // extend observable will copy even unannotated properties\n autoBind: boolean\n): void {\n const { target_: target } = adm\n const defaultAnnotation: Annotation | undefined = observable // ideally grap this from adm's defaultEnahncer instead!\n const originAnnotation = annotation\n if (annotation === true) {\n annotation = getInferredAnnotation(descriptor, defaultAnnotation, autoBind)\n }\n if (annotation === false) {\n if (forceCopy) {\n defineProperty(target, key, descriptor)\n }\n return\n }\n if (!annotation || annotation === true || !annotation.annotationType_) {\n return die(2, key)\n }\n const type = annotation.annotationType_\n switch (type) {\n case AUTOACTION:\n case ACTION: {\n const fn = descriptor.value\n if (!isFunction(fn)) die(3, key)\n if (owner !== target && !forceCopy) {\n if (!isAction(owner[key]))\n makeAction(owner, key, annotation.arg_, fn, type === AUTOACTION)\n } else {\n makeAction(target, key, annotation.arg_, fn, type === AUTOACTION)\n }\n break\n }\n case AUTOACTION_BOUND:\n case ACTION_BOUND: {\n const fn = descriptor.value\n if (!isFunction(fn)) die(3, key)\n makeAction(\n target,\n key,\n annotation.arg_,\n fn.bind(adm.proxy_ || target),\n type === AUTOACTION_BOUND\n )\n break\n }\n case FLOW: {\n if (owner !== target && !forceCopy) {\n if (!isFlow(owner[key])) addHiddenProp(owner, key, flow(descriptor.value!))\n } else {\n addHiddenProp(target, key, flow(descriptor.value))\n }\n break\n }\n case COMPUTED:\n case COMPUTED_STRUCT: {\n if (!descriptor.get) die(4, key)\n adm.addComputedProp_(target, key, {\n get: descriptor.get,\n set: descriptor.set,\n compareStructural: annotation.annotationType_ === COMPUTED_STRUCT,\n ...annotation.arg_\n })\n break\n }\n case OBSERVABLE:\n case OBSERVABLE_REF:\n case OBSERVABLE_SHALLOW:\n case OBSERVABLE_STRUCT: {\n if (__DEV__ && isObservableProp(target, key as any))\n die(\n `Cannot decorate '${key.toString()}': the property is already decorated as observable.`\n )\n if (__DEV__ && !(\"value\" in descriptor))\n die(\n `Cannot decorate '${key.toString()}': observable cannot be used on setter / getter properties.`\n )\n // if the originAnnotation was true, preferred the adm's default enhancer over the inferred one\n const enhancer =\n originAnnotation === true\n ? adm.defaultEnhancer_\n : getEnhancerFromAnnotation(annotation)\n adm.addObservableProp_(key, descriptor.value, enhancer)\n break\n }\n default:\n if (__DEV__)\n die(\n `invalid decorator '${\n annotation.annotationType_ ?? annotation\n }' for '${key.toString()}'`\n )\n }\n}\n\n// Hack based on https://github.com/Microsoft/TypeScript/issues/14829#issuecomment-322267089\n// We need this, because otherwise, AdditionalKeys is going to be inferred to be any\n// set of superfluous keys. But, we rather want to get a compile error unless AdditionalKeys is\n// _explicity_ passed as generic argument\n// Fixes: https://github.com/mobxjs/mobx/issues/2325#issuecomment-691070022\ntype NoInfer = [T][T extends any ? 0 : never]\n\nexport function makeObservable(\n target: T,\n annotations?: AnnotationsMap>,\n options?: CreateObservableOptions\n): T {\n const autoBind = !!options?.autoBind\n const adm = asObservableObject(\n target,\n options?.name,\n getEnhancerFromAnnotation(options?.defaultDecorator)\n )\n startBatch()\n try {\n if (!annotations) {\n const didDecorate = applyDecorators(target)\n if (__DEV__ && !didDecorate)\n die(\n `No annotations were passed to makeObservable, but no decorator members have been found either`\n )\n return target\n }\n const make = key => {\n let annotation = annotations[key]\n const [desc, owner] = getDescriptorInChain(target, key)\n makeProperty(adm, owner, key, desc, annotation, false, autoBind)\n }\n ownKeys(annotations).forEach(make)\n } finally {\n endBatch()\n }\n return target\n}\n\nexport function makeAutoObservable(\n target: T,\n overrides?: AnnotationsMap>,\n options?: CreateObservableOptions\n): T {\n const proto = Object.getPrototypeOf(target)\n const isPlain = proto == null || proto === objectPrototype\n if (__DEV__) {\n if (!isPlain && !isPlainObject(proto))\n die(`'makeAutoObservable' can only be used for classes that don't have a superclass`)\n if (isObservableObject(target))\n die(`makeAutoObservable can only be used on objects not already made observable`)\n }\n let annotations: AnnotationsMap\n if (!isPlain && hasProp(proto, CACHED_ANNOTATIONS)) {\n // shortcut, reuse inferred annotations for this type from the previous time\n annotations = proto[CACHED_ANNOTATIONS] as any\n } else {\n annotations = { ...overrides }\n extractAnnotationsFromObject(target, annotations, options)\n if (!isPlain) {\n extractAnnotationsFromProto(proto, annotations, options)\n addHiddenProp(proto, CACHED_ANNOTATIONS, annotations)\n }\n }\n makeObservable(target, annotations as any, options)\n return target\n}\n\nfunction extractAnnotationsFromObject(\n target,\n collector: AnnotationsMap,\n options: CreateObservableOptions | undefined\n) {\n const autoBind = !!options?.autoBind\n const defaultAnnotation: Annotation =\n options?.deep === undefined\n ? options?.defaultDecorator ?? observable.deep\n : options?.deep\n ? observable.deep\n : observable.ref\n Object.entries(getOwnPropertyDescriptors(target)).forEach(([key, descriptor]) => {\n if (key in collector || key === \"constructor\") return\n collector[key] = getInferredAnnotation(descriptor, defaultAnnotation, autoBind)\n })\n}\n\nfunction extractAnnotationsFromProto(\n proto: any,\n collector: AnnotationsMap,\n options?: CreateObservableOptions\n) {\n Object.entries(getOwnPropertyDescriptors(proto)).forEach(([key, prop]) => {\n if (key in collector || key === \"constructor\") return\n if (prop.get) {\n collector[key as any] = computed\n } else if (isFunction(prop.value)) {\n collector[key as any] = isGenerator(prop.value)\n ? flow\n : options?.autoBind\n ? autoAction.bound\n : autoAction\n }\n })\n}\n","import {\n $mobx,\n Atom,\n EMPTY_ARRAY,\n IAtom,\n IEnhancer,\n IInterceptable,\n IInterceptor,\n IListenable,\n Lambda,\n addHiddenFinalProp,\n checkIfStateModificationsAreAllowed,\n createInstanceofPredicate,\n getNextId,\n hasInterceptors,\n hasListeners,\n interceptChange,\n isObject,\n isSpyEnabled,\n notifyListeners,\n registerInterceptor,\n registerListener,\n spyReportEnd,\n spyReportStart,\n allowStateChangesStart,\n allowStateChangesEnd,\n assertProxies,\n reserveArrayBuffer,\n hasProp,\n die\n} from \"../internal\"\nimport { globalState } from \"../core/globalstate\"\n\nconst SPLICE = \"splice\"\nexport const UPDATE = \"update\"\nexport const MAX_SPLICE_SIZE = 10000 // See e.g. https://github.com/mobxjs/mobx/issues/859\n\nexport interface IObservableArray extends Array {\n spliceWithArray(index: number, deleteCount?: number, newItems?: T[]): T[]\n clear(): T[]\n replace(newItems: T[]): T[]\n remove(value: T): boolean\n toJSON(): T[]\n}\n\ninterface IArrayBaseChange {\n object: IObservableArray\n observableKind: \"array\"\n debugObjectName: string\n index: number\n}\n\nexport type IArrayDidChange = IArrayUpdate | IArraySplice\n\nexport interface IArrayUpdate extends IArrayBaseChange {\n type: \"update\"\n newValue: T\n oldValue: T\n}\n\nexport interface IArraySplice extends IArrayBaseChange {\n type: \"splice\"\n added: T[]\n addedCount: number\n removed: T[]\n removedCount: number\n}\n\nexport interface IArrayWillChange {\n object: IObservableArray\n index: number\n type: \"update\"\n newValue: T\n}\n\nexport interface IArrayWillSplice {\n object: IObservableArray\n index: number\n type: \"splice\"\n added: T[]\n removedCount: number\n}\n\nconst arrayTraps = {\n get(target, name) {\n const adm: ObservableArrayAdministration = target[$mobx]\n if (name === $mobx) return adm\n if (name === \"length\") return adm.getArrayLength_()\n if (typeof name === \"string\" && !isNaN(name as any)) {\n return adm.get_(parseInt(name))\n }\n if (hasProp(arrayExtensions, name)) {\n return arrayExtensions[name]\n }\n return target[name]\n },\n set(target, name, value): boolean {\n const adm: ObservableArrayAdministration = target[$mobx]\n if (name === \"length\") {\n adm.setArrayLength_(value)\n }\n if (typeof name === \"symbol\" || isNaN(name)) {\n target[name] = value\n } else {\n // numeric string\n adm.set_(parseInt(name), value)\n }\n return true\n },\n preventExtensions() {\n die(15)\n }\n}\n\nexport class ObservableArrayAdministration\n implements IInterceptable | IArrayWillSplice>, IListenable {\n atom_: IAtom\n readonly values_: any[] = [] // this is the prop that gets proxied, so can't replace it!\n interceptors_\n changeListeners_\n enhancer_: (newV: any, oldV: any | undefined) => any\n dehancer: any\n proxy_!: IObservableArray\n lastKnownLength_ = 0\n\n constructor(\n name,\n enhancer: IEnhancer,\n public owned_: boolean,\n public legacyMode_: boolean\n ) {\n this.atom_ = new Atom(name || \"ObservableArray@\" + getNextId())\n this.enhancer_ = (newV, oldV) => enhancer(newV, oldV, name + \"[..]\")\n }\n\n dehanceValue_(value: any): any {\n if (this.dehancer !== undefined) return this.dehancer(value)\n return value\n }\n\n dehanceValues_(values: any[]): any[] {\n if (this.dehancer !== undefined && values.length > 0)\n return values.map(this.dehancer) as any\n return values\n }\n\n intercept_(handler: IInterceptor | IArrayWillSplice>): Lambda {\n return registerInterceptor | IArrayWillSplice>(this, handler)\n }\n\n observe_(\n listener: (changeData: IArrayDidChange) => void,\n fireImmediately = false\n ): Lambda {\n if (fireImmediately) {\n listener(>{\n observableKind: \"array\",\n object: this.proxy_ as any,\n debugObjectName: this.atom_.name_,\n type: \"splice\",\n index: 0,\n added: this.values_.slice(),\n addedCount: this.values_.length,\n removed: [],\n removedCount: 0\n })\n }\n return registerListener(this, listener)\n }\n\n getArrayLength_(): number {\n this.atom_.reportObserved()\n return this.values_.length\n }\n\n setArrayLength_(newLength: number) {\n if (typeof newLength !== \"number\" || newLength < 0) die(\"Out of range: \" + newLength)\n let currentLength = this.values_.length\n if (newLength === currentLength) return\n else if (newLength > currentLength) {\n const newItems = new Array(newLength - currentLength)\n for (let i = 0; i < newLength - currentLength; i++) newItems[i] = undefined // No Array.fill everywhere...\n this.spliceWithArray_(currentLength, 0, newItems)\n } else this.spliceWithArray_(newLength, currentLength - newLength)\n }\n\n updateArrayLength_(oldLength: number, delta: number) {\n if (oldLength !== this.lastKnownLength_) die(16)\n this.lastKnownLength_ += delta\n if (this.legacyMode_ && delta > 0) reserveArrayBuffer(oldLength + delta + 1)\n }\n\n spliceWithArray_(index: number, deleteCount?: number, newItems?: any[]): any[] {\n checkIfStateModificationsAreAllowed(this.atom_)\n const length = this.values_.length\n\n if (index === undefined) index = 0\n else if (index > length) index = length\n else if (index < 0) index = Math.max(0, length + index)\n\n if (arguments.length === 1) deleteCount = length - index\n else if (deleteCount === undefined || deleteCount === null) deleteCount = 0\n else deleteCount = Math.max(0, Math.min(deleteCount, length - index))\n\n if (newItems === undefined) newItems = EMPTY_ARRAY\n\n if (hasInterceptors(this)) {\n const change = interceptChange>(this as any, {\n object: this.proxy_ as any,\n type: SPLICE,\n index,\n removedCount: deleteCount,\n added: newItems\n })\n if (!change) return EMPTY_ARRAY\n deleteCount = change.removedCount\n newItems = change.added\n }\n\n newItems =\n newItems.length === 0 ? newItems : newItems.map(v => this.enhancer_(v, undefined))\n if (this.legacyMode_ || __DEV__) {\n const lengthDelta = newItems.length - deleteCount\n this.updateArrayLength_(length, lengthDelta) // checks if internal array wasn't modified\n }\n const res = this.spliceItemsIntoValues_(index, deleteCount, newItems)\n\n if (deleteCount !== 0 || newItems.length !== 0)\n this.notifyArraySplice_(index, newItems, res)\n return this.dehanceValues_(res)\n }\n\n spliceItemsIntoValues_(index: number, deleteCount: number, newItems: any[]): any[] {\n if (newItems.length < MAX_SPLICE_SIZE) {\n return this.values_.splice(index, deleteCount, ...newItems)\n } else {\n const res = this.values_.slice(index, index + deleteCount)\n let oldItems = this.values_.slice(index + deleteCount)\n this.values_.length = index + newItems.length - deleteCount\n for (let i = 0; i < newItems.length; i++) this.values_[index + i] = newItems[i]\n for (let i = 0; i < oldItems.length; i++)\n this.values_[index + newItems.length + i] = oldItems[i]\n return res\n }\n }\n\n notifyArrayChildUpdate_(index: number, newValue: any, oldValue: any) {\n const notifySpy = !this.owned_ && isSpyEnabled()\n const notify = hasListeners(this)\n const change: IArrayDidChange | null =\n notify || notifySpy\n ? ({\n observableKind: \"array\",\n object: this.proxy_,\n type: UPDATE,\n debugObjectName: this.atom_.name_,\n index,\n newValue,\n oldValue\n } as const)\n : null\n\n // The reason why this is on right hand side here (and not above), is this way the uglifier will drop it, but it won't\n // cause any runtime overhead in development mode without NODE_ENV set, unless spying is enabled\n if (__DEV__ && notifySpy) spyReportStart(change!)\n this.atom_.reportChanged()\n if (notify) notifyListeners(this, change)\n if (__DEV__ && notifySpy) spyReportEnd()\n }\n\n notifyArraySplice_(index: number, added: any[], removed: any[]) {\n const notifySpy = !this.owned_ && isSpyEnabled()\n const notify = hasListeners(this)\n const change: IArraySplice | null =\n notify || notifySpy\n ? ({\n observableKind: \"array\",\n object: this.proxy_,\n debugObjectName: this.atom_.name_,\n type: SPLICE,\n index,\n removed,\n added,\n removedCount: removed.length,\n addedCount: added.length\n } as const)\n : null\n\n if (__DEV__ && notifySpy) spyReportStart(change!)\n this.atom_.reportChanged()\n // conform: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/observe\n if (notify) notifyListeners(this, change)\n if (__DEV__ && notifySpy) spyReportEnd()\n }\n\n get_(index: number): any | undefined {\n if (index < this.values_.length) {\n this.atom_.reportObserved()\n return this.dehanceValue_(this.values_[index])\n }\n console.warn(\n __DEV__\n ? `[mobx] Out of bounds read: ${index}`\n : `[mobx.array] Attempt to read an array index (${index}) that is out of bounds (${this.values_.length}). Please check length first. Out of bound indices will not be tracked by MobX`\n )\n }\n\n set_(index: number, newValue: any) {\n const values = this.values_\n if (index < values.length) {\n // update at index in range\n checkIfStateModificationsAreAllowed(this.atom_)\n const oldValue = values[index]\n if (hasInterceptors(this)) {\n const change = interceptChange>(this as any, {\n type: UPDATE,\n object: this.proxy_ as any, // since \"this\" is the real array we need to pass its proxy\n index,\n newValue\n })\n if (!change) return\n newValue = change.newValue\n }\n newValue = this.enhancer_(newValue, oldValue)\n const changed = newValue !== oldValue\n if (changed) {\n values[index] = newValue\n this.notifyArrayChildUpdate_(index, newValue, oldValue)\n }\n } else if (index === values.length) {\n // add a new item\n this.spliceWithArray_(index, 0, [newValue])\n } else {\n // out of bounds\n die(17, index, values.length)\n }\n }\n}\n\nexport function createObservableArray(\n initialValues: T[] | undefined,\n enhancer: IEnhancer,\n name = \"ObservableArray@\" + getNextId(),\n owned = false\n): IObservableArray {\n assertProxies()\n const adm = new ObservableArrayAdministration(name, enhancer, owned, false)\n addHiddenFinalProp(adm.values_, $mobx, adm)\n const proxy = new Proxy(adm.values_, arrayTraps) as any\n adm.proxy_ = proxy\n if (initialValues && initialValues.length) {\n const prev = allowStateChangesStart(true)\n adm.spliceWithArray_(0, 0, initialValues)\n allowStateChangesEnd(prev)\n }\n return proxy\n}\n\n// eslint-disable-next-line\nexport var arrayExtensions = {\n clear(): any[] {\n return this.splice(0)\n },\n\n replace(newItems: any[]) {\n const adm: ObservableArrayAdministration = this[$mobx]\n return adm.spliceWithArray_(0, adm.values_.length, newItems)\n },\n\n // Used by JSON.stringify\n toJSON(): any[] {\n return this.slice()\n },\n\n /*\n * functions that do alter the internal structure of the array, (based on lib.es6.d.ts)\n * since these functions alter the inner structure of the array, the have side effects.\n * Because the have side effects, they should not be used in computed function,\n * and for that reason the do not call dependencyState.notifyObserved\n */\n splice(index: number, deleteCount?: number, ...newItems: any[]): any[] {\n const adm: ObservableArrayAdministration = this[$mobx]\n switch (arguments.length) {\n case 0:\n return []\n case 1:\n return adm.spliceWithArray_(index)\n case 2:\n return adm.spliceWithArray_(index, deleteCount)\n }\n return adm.spliceWithArray_(index, deleteCount, newItems)\n },\n\n spliceWithArray(index: number, deleteCount?: number, newItems?: any[]): any[] {\n return (this[$mobx] as ObservableArrayAdministration).spliceWithArray_(\n index,\n deleteCount,\n newItems\n )\n },\n\n push(...items: any[]): number {\n const adm: ObservableArrayAdministration = this[$mobx]\n adm.spliceWithArray_(adm.values_.length, 0, items)\n return adm.values_.length\n },\n\n pop() {\n return this.splice(Math.max(this[$mobx].values_.length - 1, 0), 1)[0]\n },\n\n shift() {\n return this.splice(0, 1)[0]\n },\n\n unshift(...items: any[]): number {\n const adm: ObservableArrayAdministration = this[$mobx]\n adm.spliceWithArray_(0, 0, items)\n return adm.values_.length\n },\n\n reverse(): any[] {\n // reverse by default mutates in place before returning the result\n // which makes it both a 'derivation' and a 'mutation'.\n if (globalState.trackingDerivation) {\n die(37, \"reverse\")\n }\n this.replace(this.slice().reverse())\n return this\n },\n\n sort(): any[] {\n // sort by default mutates in place before returning the result\n // which goes against all good practices. Let's not change the array in place!\n if (globalState.trackingDerivation) {\n die(37, \"sort\")\n }\n const copy = this.slice()\n copy.sort.apply(copy, arguments)\n this.replace(copy)\n return this\n },\n\n remove(value: any): boolean {\n const adm: ObservableArrayAdministration = this[$mobx]\n const idx = adm.dehanceValues_(adm.values_).indexOf(value)\n if (idx > -1) {\n this.splice(idx, 1)\n return true\n }\n return false\n }\n}\n\n/**\n * Wrap function from prototype\n * Without this, everything works as well, but this works\n * faster as everything works on unproxied values\n */\naddArrayExtension(\"concat\", simpleFunc)\naddArrayExtension(\"flat\", simpleFunc)\naddArrayExtension(\"includes\", simpleFunc)\naddArrayExtension(\"indexOf\", simpleFunc)\naddArrayExtension(\"join\", simpleFunc)\naddArrayExtension(\"lastIndexOf\", simpleFunc)\naddArrayExtension(\"slice\", simpleFunc)\naddArrayExtension(\"toString\", simpleFunc)\naddArrayExtension(\"toLocaleString\", simpleFunc)\n// map\naddArrayExtension(\"every\", mapLikeFunc)\naddArrayExtension(\"filter\", mapLikeFunc)\naddArrayExtension(\"find\", mapLikeFunc)\naddArrayExtension(\"findIndex\", mapLikeFunc)\naddArrayExtension(\"flatMap\", mapLikeFunc)\naddArrayExtension(\"forEach\", mapLikeFunc)\naddArrayExtension(\"map\", mapLikeFunc)\naddArrayExtension(\"some\", mapLikeFunc)\n// reduce\naddArrayExtension(\"reduce\", reduceLikeFunc)\naddArrayExtension(\"reduceRight\", reduceLikeFunc)\n\nfunction addArrayExtension(funcName, funcFactory) {\n if (typeof Array.prototype[funcName] === \"function\") {\n arrayExtensions[funcName] = funcFactory(funcName)\n }\n}\n\n// Report and delegate to dehanced array\nfunction simpleFunc(funcName) {\n return function () {\n const adm: ObservableArrayAdministration = this[$mobx]\n adm.atom_.reportObserved()\n const dehancedValues = adm.dehanceValues_(adm.values_)\n return dehancedValues[funcName].apply(dehancedValues, arguments)\n }\n}\n\n// Make sure callbacks recieve correct array arg #2326\nfunction mapLikeFunc(funcName) {\n return function (callback, thisArg) {\n const adm: ObservableArrayAdministration = this[$mobx]\n adm.atom_.reportObserved()\n const dehancedValues = adm.dehanceValues_(adm.values_)\n return dehancedValues[funcName]((element, index) => {\n return callback.call(thisArg, element, index, this)\n })\n }\n}\n\n// Make sure callbacks recieve correct array arg #2326\nfunction reduceLikeFunc(funcName) {\n return function () {\n const adm: ObservableArrayAdministration = this[$mobx]\n adm.atom_.reportObserved()\n const dehancedValues = adm.dehanceValues_(adm.values_)\n // #2432 - reduce behavior depends on arguments.length\n const callback = arguments[0]\n arguments[0] = (accumulator, currentValue, index) => {\n return callback(accumulator, currentValue, index, this)\n }\n return dehancedValues[funcName].apply(dehancedValues, arguments)\n }\n}\n\nconst isObservableArrayAdministration = createInstanceofPredicate(\n \"ObservableArrayAdministration\",\n ObservableArrayAdministration\n)\n\nexport function isObservableArray(thing): thing is IObservableArray {\n return isObject(thing) && isObservableArrayAdministration(thing[$mobx])\n}\n","import { IComputedDidChange } from \"./computedvalue\"\nimport { IValueDidChange, IBoxDidChange } from \"./../types/observablevalue\"\nimport { IObjectDidChange } from \"./../types/observableobject\"\nimport { IArrayDidChange } from \"./../types/observablearray\"\nimport { Lambda, globalState, once, ISetDidChange, IMapDidChange } from \"../internal\"\n\nexport function isSpyEnabled() {\n return __DEV__ && !!globalState.spyListeners.length\n}\n\nexport type PureSpyEvent =\n | { type: \"action\"; name: string; object: unknown; arguments: unknown[] }\n | { type: \"scheduled-reaction\"; name: string }\n | { type: \"reaction\"; name: string }\n | { type: \"error\"; name: string; message: string; error: string }\n | IComputedDidChange\n | IObjectDidChange\n | IArrayDidChange\n | IMapDidChange\n | ISetDidChange\n | IValueDidChange\n | IBoxDidChange\n | { type: \"report-end\"; spyReportEnd: true; time?: number }\n\ntype SpyEvent = PureSpyEvent & { spyReportStart?: true }\n\nexport function spyReport(event: SpyEvent) {\n if (!__DEV__) return // dead code elimination can do the rest\n if (!globalState.spyListeners.length) return\n const listeners = globalState.spyListeners\n for (let i = 0, l = listeners.length; i < l; i++) listeners[i](event)\n}\n\nexport function spyReportStart(event: PureSpyEvent) {\n if (!__DEV__) return\n const change = { ...event, spyReportStart: true as const }\n spyReport(change)\n}\n\nconst END_EVENT: SpyEvent = { type: \"report-end\", spyReportEnd: true }\n\nexport function spyReportEnd(change?: { time?: number }) {\n if (!__DEV__) return\n if (change) spyReport({ ...change, type: \"report-end\", spyReportEnd: true })\n else spyReport(END_EVENT)\n}\n\nexport function spy(listener: (change: SpyEvent) => void): Lambda {\n if (!__DEV__) {\n console.warn(`[mobx.spy] Is a no-op in production builds`)\n return function () {}\n } else {\n globalState.spyListeners.push(listener)\n return once(() => {\n globalState.spyListeners = globalState.spyListeners.filter(l => l !== listener)\n })\n }\n}\n","import {\n $mobx,\n IEnhancer,\n IInterceptable,\n IInterceptor,\n IListenable,\n Lambda,\n ObservableValue,\n checkIfStateModificationsAreAllowed,\n createAtom,\n createInstanceofPredicate,\n deepEnhancer,\n getNextId,\n getPlainObjectKeys,\n hasInterceptors,\n hasListeners,\n interceptChange,\n isES6Map,\n isPlainObject,\n isSpyEnabled,\n makeIterable,\n notifyListeners,\n referenceEnhancer,\n registerInterceptor,\n registerListener,\n spyReportEnd,\n spyReportStart,\n stringifyKey,\n transaction,\n untracked,\n onBecomeUnobserved,\n globalState,\n die,\n isFunction,\n UPDATE,\n IAtom\n} from \"../internal\"\n\nexport interface IKeyValueMap {\n [key: string]: V\n}\n\nexport type IMapEntry = [K, V]\nexport type IMapEntries = IMapEntry[]\n\nexport type IMapDidChange = { observableKind: \"map\"; debugObjectName: string } & (\n | {\n object: ObservableMap\n name: K // actual the key or index, but this is based on the ancient .observe proposal for consistency\n type: \"update\"\n newValue: V\n oldValue: V\n }\n | {\n object: ObservableMap\n name: K\n type: \"add\"\n newValue: V\n }\n | {\n object: ObservableMap\n name: K\n type: \"delete\"\n oldValue: V\n }\n)\n\nexport interface IMapWillChange {\n object: ObservableMap\n type: \"update\" | \"add\" | \"delete\"\n name: K\n newValue?: V\n}\n\nconst ObservableMapMarker = {}\n\nexport const ADD = \"add\"\nexport const DELETE = \"delete\"\n\nexport type IObservableMapInitialValues =\n | IMapEntries\n | IKeyValueMap\n | Map\n\n// just extend Map? See also https://gist.github.com/nestharus/13b4d74f2ef4a2f4357dbd3fc23c1e54\n// But: https://github.com/mobxjs/mobx/issues/1556\nexport class ObservableMap\n implements Map, IInterceptable>, IListenable {\n [$mobx] = ObservableMapMarker\n data_: Map>\n hasMap_: Map> // hasMap, not hashMap >-).\n keysAtom_: IAtom\n interceptors_\n changeListeners_\n dehancer: any\n\n constructor(\n initialData?: IObservableMapInitialValues,\n public enhancer_: IEnhancer = deepEnhancer,\n public name_ = \"ObservableMap@\" + getNextId()\n ) {\n if (!isFunction(Map)) {\n die(18)\n }\n this.keysAtom_ = createAtom(`${this.name_}.keys()`)\n this.data_ = new Map()\n this.hasMap_ = new Map()\n this.merge(initialData)\n }\n\n private has_(key: K): boolean {\n return this.data_.has(key)\n }\n\n has(key: K): boolean {\n if (!globalState.trackingDerivation) return this.has_(key)\n\n let entry = this.hasMap_.get(key)\n if (!entry) {\n const newEntry = (entry = new ObservableValue(\n this.has_(key),\n referenceEnhancer,\n `${this.name_}.${stringifyKey(key)}?`,\n false\n ))\n this.hasMap_.set(key, newEntry)\n onBecomeUnobserved(newEntry, () => this.hasMap_.delete(key))\n }\n\n return entry.get()\n }\n\n set(key: K, value: V) {\n const hasKey = this.has_(key)\n if (hasInterceptors(this)) {\n const change = interceptChange>(this, {\n type: hasKey ? UPDATE : ADD,\n object: this,\n newValue: value,\n name: key\n })\n if (!change) return this\n value = change.newValue!\n }\n if (hasKey) {\n this.updateValue_(key, value)\n } else {\n this.addValue_(key, value)\n }\n return this\n }\n\n delete(key: K): boolean {\n checkIfStateModificationsAreAllowed(this.keysAtom_)\n if (hasInterceptors(this)) {\n const change = interceptChange>(this, {\n type: DELETE,\n object: this,\n name: key\n })\n if (!change) return false\n }\n if (this.has_(key)) {\n const notifySpy = isSpyEnabled()\n const notify = hasListeners(this)\n const change: IMapDidChange | null =\n notify || notifySpy\n ? {\n observableKind: \"map\",\n debugObjectName: this.name_,\n type: DELETE,\n object: this,\n oldValue: (this.data_.get(key)).value_,\n name: key\n }\n : null\n\n if (__DEV__ && notifySpy) spyReportStart(change!)\n transaction(() => {\n this.keysAtom_.reportChanged()\n this.updateHasMapEntry_(key, false)\n const observable = this.data_.get(key)!\n observable.setNewValue_(undefined as any)\n this.data_.delete(key)\n })\n if (notify) notifyListeners(this, change)\n if (__DEV__ && notifySpy) spyReportEnd()\n return true\n }\n return false\n }\n\n private updateHasMapEntry_(key: K, value: boolean) {\n let entry = this.hasMap_.get(key)\n if (entry) {\n entry.setNewValue_(value)\n }\n }\n\n private updateValue_(key: K, newValue: V | undefined) {\n const observable = this.data_.get(key)!\n newValue = (observable as any).prepareNewValue_(newValue) as V\n if (newValue !== globalState.UNCHANGED) {\n const notifySpy = isSpyEnabled()\n const notify = hasListeners(this)\n const change: IMapDidChange | null =\n notify || notifySpy\n ? {\n observableKind: \"map\",\n debugObjectName: this.name_,\n type: UPDATE,\n object: this,\n oldValue: (observable as any).value_,\n name: key,\n newValue\n }\n : null\n if (__DEV__ && notifySpy) spyReportStart(change!)\n observable.setNewValue_(newValue as V)\n if (notify) notifyListeners(this, change)\n if (__DEV__ && notifySpy) spyReportEnd()\n }\n }\n\n private addValue_(key: K, newValue: V) {\n checkIfStateModificationsAreAllowed(this.keysAtom_)\n transaction(() => {\n const observable = new ObservableValue(\n newValue,\n this.enhancer_,\n `${this.name_}.${stringifyKey(key)}`,\n false\n )\n this.data_.set(key, observable)\n newValue = (observable as any).value_ // value might have been changed\n this.updateHasMapEntry_(key, true)\n this.keysAtom_.reportChanged()\n })\n const notifySpy = isSpyEnabled()\n const notify = hasListeners(this)\n const change: IMapDidChange | null =\n notify || notifySpy\n ? {\n observableKind: \"map\",\n debugObjectName: this.name_,\n type: ADD,\n object: this,\n name: key,\n newValue\n }\n : null\n if (__DEV__ && notifySpy) spyReportStart(change!)\n if (notify) notifyListeners(this, change)\n if (__DEV__ && notifySpy) spyReportEnd()\n }\n\n get(key: K): V | undefined {\n if (this.has(key)) return this.dehanceValue_(this.data_.get(key)!.get())\n return this.dehanceValue_(undefined)\n }\n\n private dehanceValue_(value: X): X {\n if (this.dehancer !== undefined) {\n return this.dehancer(value)\n }\n return value\n }\n\n keys(): IterableIterator {\n this.keysAtom_.reportObserved()\n return this.data_.keys()\n }\n\n values(): IterableIterator {\n const self = this\n const keys = this.keys()\n return makeIterable({\n next() {\n const { done, value } = keys.next()\n return {\n done,\n value: done ? (undefined as any) : self.get(value)\n }\n }\n })\n }\n\n entries(): IterableIterator> {\n const self = this\n const keys = this.keys()\n return makeIterable({\n next() {\n const { done, value } = keys.next()\n return {\n done,\n value: done ? (undefined as any) : ([value, self.get(value)!] as [K, V])\n }\n }\n })\n }\n\n [Symbol.iterator]() {\n return this.entries()\n }\n\n forEach(callback: (value: V, key: K, object: Map) => void, thisArg?) {\n for (const [key, value] of this) callback.call(thisArg, value, key, this)\n }\n\n /** Merge another object into this object, returns this. */\n merge(other: ObservableMap | IKeyValueMap | any): ObservableMap {\n if (isObservableMap(other)) {\n other = new Map(other)\n }\n transaction(() => {\n if (isPlainObject(other))\n getPlainObjectKeys(other).forEach((key: any) =>\n this.set((key as any) as K, other[key])\n )\n else if (Array.isArray(other)) other.forEach(([key, value]) => this.set(key, value))\n else if (isES6Map(other)) {\n if (other.constructor !== Map) die(19, other)\n other.forEach((value, key) => this.set(key, value))\n } else if (other !== null && other !== undefined) die(20, other)\n })\n return this\n }\n\n clear() {\n transaction(() => {\n untracked(() => {\n for (const key of this.keys()) this.delete(key)\n })\n })\n }\n\n replace(values: ObservableMap | IKeyValueMap | any): ObservableMap {\n // Implementation requirements:\n // - respect ordering of replacement map\n // - allow interceptors to run and potentially prevent individual operations\n // - don't recreate observables that already exist in original map (so we don't destroy existing subscriptions)\n // - don't _keysAtom.reportChanged if the keys of resulting map are indentical (order matters!)\n // - note that result map may differ from replacement map due to the interceptors\n transaction(() => {\n // Convert to map so we can do quick key lookups\n const replacementMap = convertToMap(values)\n const orderedData = new Map()\n // Used for optimization\n let keysReportChangedCalled = false\n // Delete keys that don't exist in replacement map\n // if the key deletion is prevented by interceptor\n // add entry at the beginning of the result map\n for (const key of this.data_.keys()) {\n // Concurrently iterating/deleting keys\n // iterator should handle this correctly\n if (!replacementMap.has(key)) {\n const deleted = this.delete(key)\n // Was the key removed?\n if (deleted) {\n // _keysAtom.reportChanged() was already called\n keysReportChangedCalled = true\n } else {\n // Delete prevented by interceptor\n const value = this.data_.get(key)\n orderedData.set(key, value)\n }\n }\n }\n // Merge entries\n for (const [key, value] of replacementMap.entries()) {\n // We will want to know whether a new key is added\n const keyExisted = this.data_.has(key)\n // Add or update value\n this.set(key, value)\n // The addition could have been prevent by interceptor\n if (this.data_.has(key)) {\n // The update could have been prevented by interceptor\n // and also we want to preserve existing values\n // so use value from _data map (instead of replacement map)\n const value = this.data_.get(key)\n orderedData.set(key, value)\n // Was a new key added?\n if (!keyExisted) {\n // _keysAtom.reportChanged() was already called\n keysReportChangedCalled = true\n }\n }\n }\n // Check for possible key order change\n if (!keysReportChangedCalled) {\n if (this.data_.size !== orderedData.size) {\n // If size differs, keys are definitely modified\n this.keysAtom_.reportChanged()\n } else {\n const iter1 = this.data_.keys()\n const iter2 = orderedData.keys()\n let next1 = iter1.next()\n let next2 = iter2.next()\n while (!next1.done) {\n if (next1.value !== next2.value) {\n this.keysAtom_.reportChanged()\n break\n }\n next1 = iter1.next()\n next2 = iter2.next()\n }\n }\n }\n // Use correctly ordered map\n this.data_ = orderedData\n })\n return this\n }\n\n get size(): number {\n this.keysAtom_.reportObserved()\n return this.data_.size\n }\n\n toString(): string {\n return \"[object ObservableMap]\"\n }\n\n toJSON(): [K, V][] {\n return Array.from(this)\n }\n\n get [Symbol.toStringTag]() {\n return \"Map\"\n }\n\n /**\n * Observes this object. Triggers for the events 'add', 'update' and 'delete'.\n * See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/observe\n * for callback details\n */\n observe_(listener: (changes: IMapDidChange) => void, fireImmediately?: boolean): Lambda {\n if (__DEV__ && fireImmediately === true)\n die(\"`observe` doesn't support fireImmediately=true in combination with maps.\")\n return registerListener(this, listener)\n }\n\n intercept_(handler: IInterceptor>): Lambda {\n return registerInterceptor(this, handler)\n }\n}\n\n// eslint-disable-next-line\nexport var isObservableMap = createInstanceofPredicate(\"ObservableMap\", ObservableMap) as (\n thing: any\n) => thing is ObservableMap\n\nfunction convertToMap(dataStructure: any): Map {\n if (isES6Map(dataStructure) || isObservableMap(dataStructure)) {\n return dataStructure\n } else if (Array.isArray(dataStructure)) {\n return new Map(dataStructure)\n } else if (isPlainObject(dataStructure)) {\n const map = new Map()\n for (const key in dataStructure) {\n map.set(key, dataStructure[key])\n }\n return map\n } else {\n return die(21, dataStructure)\n }\n}\n","import {\n $mobx,\n createAtom,\n deepEnhancer,\n getNextId,\n IEnhancer,\n isSpyEnabled,\n hasListeners,\n IListenable,\n registerListener,\n Lambda,\n spyReportStart,\n notifyListeners,\n spyReportEnd,\n createInstanceofPredicate,\n hasInterceptors,\n interceptChange,\n IInterceptable,\n IInterceptor,\n registerInterceptor,\n checkIfStateModificationsAreAllowed,\n untracked,\n makeIterable,\n transaction,\n isES6Set,\n IAtom,\n DELETE,\n ADD,\n die,\n isFunction\n} from \"../internal\"\n\nconst ObservableSetMarker = {}\n\nexport type IObservableSetInitialValues = Set | readonly T[]\n\nexport type ISetDidChange =\n | {\n object: ObservableSet\n observableKind: \"set\"\n debugObjectName: string\n type: \"add\"\n newValue: T\n }\n | {\n object: ObservableSet\n observableKind: \"set\"\n debugObjectName: string\n type: \"delete\"\n oldValue: T\n }\n\nexport type ISetWillChange =\n | {\n type: \"delete\"\n object: ObservableSet\n oldValue: T\n }\n | {\n type: \"add\"\n object: ObservableSet\n newValue: T\n }\n\nexport class ObservableSet implements Set, IInterceptable, IListenable {\n [$mobx] = ObservableSetMarker\n private data_: Set = new Set()\n private atom_: IAtom\n changeListeners_\n interceptors_\n dehancer: any\n enhancer_: (newV: any, oldV: any | undefined) => any\n\n constructor(\n initialData?: IObservableSetInitialValues,\n enhancer: IEnhancer = deepEnhancer,\n public name_ = \"ObservableSet@\" + getNextId()\n ) {\n if (!isFunction(Set)) {\n die(22)\n }\n this.atom_ = createAtom(this.name_)\n this.enhancer_ = (newV, oldV) => enhancer(newV, oldV, name_)\n if (initialData) {\n this.replace(initialData)\n }\n }\n\n private dehanceValue_(value: X): X {\n if (this.dehancer !== undefined) {\n return this.dehancer(value)\n }\n return value\n }\n\n clear() {\n transaction(() => {\n untracked(() => {\n for (const value of this.data_.values()) this.delete(value)\n })\n })\n }\n\n forEach(callbackFn: (value: T, value2: T, set: Set) => void, thisArg?: any) {\n for (const value of this) {\n callbackFn.call(thisArg, value, value, this)\n }\n }\n\n get size() {\n this.atom_.reportObserved()\n return this.data_.size\n }\n\n add(value: T) {\n checkIfStateModificationsAreAllowed(this.atom_)\n if (hasInterceptors(this)) {\n const change = interceptChange>(this, {\n type: ADD,\n object: this,\n newValue: value\n })\n if (!change) return this\n // ideally, value = change.value would be done here, so that values can be\n // changed by interceptor. Same applies for other Set and Map api's.\n }\n if (!this.has(value)) {\n transaction(() => {\n this.data_.add(this.enhancer_(value, undefined))\n this.atom_.reportChanged()\n })\n const notifySpy = __DEV__ && isSpyEnabled()\n const notify = hasListeners(this)\n const change =\n notify || notifySpy\n ? >{\n observableKind: \"set\",\n debugObjectName: this.name_,\n type: ADD,\n object: this,\n newValue: value\n }\n : null\n if (notifySpy && __DEV__) spyReportStart(change!)\n if (notify) notifyListeners(this, change)\n if (notifySpy && __DEV__) spyReportEnd()\n }\n\n return this\n }\n\n delete(value: any) {\n if (hasInterceptors(this)) {\n const change = interceptChange>(this, {\n type: DELETE,\n object: this,\n oldValue: value\n })\n if (!change) return false\n }\n if (this.has(value)) {\n const notifySpy = __DEV__ && isSpyEnabled()\n const notify = hasListeners(this)\n const change =\n notify || notifySpy\n ? >{\n observableKind: \"set\",\n debugObjectName: this.name_,\n type: DELETE,\n object: this,\n oldValue: value\n }\n : null\n\n if (notifySpy && __DEV__) spyReportStart(change!)\n transaction(() => {\n this.atom_.reportChanged()\n this.data_.delete(value)\n })\n if (notify) notifyListeners(this, change)\n if (notifySpy && __DEV__) spyReportEnd()\n return true\n }\n return false\n }\n\n has(value: any) {\n this.atom_.reportObserved()\n return this.data_.has(this.dehanceValue_(value))\n }\n\n entries() {\n let nextIndex = 0\n const keys = Array.from(this.keys())\n const values = Array.from(this.values())\n return makeIterable<[T, T]>({\n next() {\n const index = nextIndex\n nextIndex += 1\n return index < values.length\n ? { value: [keys[index], values[index]], done: false }\n : { done: true }\n }\n } as any)\n }\n\n keys(): IterableIterator {\n return this.values()\n }\n\n values(): IterableIterator {\n this.atom_.reportObserved()\n const self = this\n let nextIndex = 0\n const observableValues = Array.from(this.data_.values())\n return makeIterable({\n next() {\n return nextIndex < observableValues.length\n ? { value: self.dehanceValue_(observableValues[nextIndex++]), done: false }\n : { done: true }\n }\n } as any)\n }\n\n replace(other: ObservableSet | IObservableSetInitialValues): ObservableSet {\n if (isObservableSet(other)) {\n other = new Set(other)\n }\n\n transaction(() => {\n if (Array.isArray(other)) {\n this.clear()\n other.forEach(value => this.add(value))\n } else if (isES6Set(other)) {\n this.clear()\n other.forEach(value => this.add(value))\n } else if (other !== null && other !== undefined) {\n die(\"Cannot initialize set from \" + other)\n }\n })\n\n return this\n }\n observe_(listener: (changes: ISetDidChange) => void, fireImmediately?: boolean): Lambda {\n // ... 'fireImmediately' could also be true?\n if (__DEV__ && fireImmediately === true)\n die(\"`observe` doesn't support fireImmediately=true in combination with sets.\")\n return registerListener(this, listener)\n }\n\n intercept_(handler: IInterceptor>): Lambda {\n return registerInterceptor(this, handler)\n }\n\n toJSON(): T[] {\n return Array.from(this)\n }\n\n toString(): string {\n return \"[object ObservableSet]\"\n }\n\n [Symbol.iterator]() {\n return this.values()\n }\n\n get [Symbol.toStringTag]() {\n return \"Set\"\n }\n}\n\n// eslint-disable-next-line\nexport var isObservableSet = createInstanceofPredicate(\"ObservableSet\", ObservableSet) as (\n thing: any\n) => thing is ObservableSet\n","import {\n $mobx,\n Atom,\n ComputedValue,\n IAtom,\n IComputedValueOptions,\n IEnhancer,\n IInterceptable,\n IListenable,\n Lambda,\n ObservableValue,\n addHiddenProp,\n assertPropertyConfigurable,\n createInstanceofPredicate,\n deepEnhancer,\n endBatch,\n getNextId,\n hasInterceptors,\n hasListeners,\n interceptChange,\n isObject,\n isPlainObject,\n isSpyEnabled,\n notifyListeners,\n referenceEnhancer,\n registerInterceptor,\n registerListener,\n spyReportEnd,\n spyReportStart,\n startBatch,\n stringifyKey,\n globalState,\n ADD,\n UPDATE,\n die,\n defineProperty,\n hasProp\n} from \"../internal\"\n\nexport type IObjectDidChange = {\n observableKind: \"object\"\n name: PropertyKey\n object: T\n debugObjectName: string\n} & (\n | {\n type: \"add\"\n newValue: any\n }\n | {\n type: \"update\"\n oldValue: any\n newValue: any\n }\n | {\n type: \"remove\"\n oldValue: any\n }\n)\n\nexport type IObjectWillChange =\n | {\n object: T\n type: \"update\" | \"add\"\n name: PropertyKey\n newValue: any\n }\n | {\n object: T\n type: \"remove\"\n name: PropertyKey\n }\n\nconst REMOVE = \"remove\"\n\nexport class ObservableObjectAdministration\n implements IInterceptable, IListenable {\n keysAtom_: IAtom\n changeListeners_\n interceptors_\n proxy_: any\n private pendingKeys_: undefined | Map>\n private keysValue_: PropertyKey[] = []\n private isStaledKeysValue_ = true\n\n constructor(\n public target_: any,\n public values_ = new Map | ComputedValue>(),\n public name_: string,\n public defaultEnhancer_: IEnhancer\n ) {\n this.keysAtom_ = new Atom(name_ + \".keys\")\n }\n\n read_(key: PropertyKey) {\n return this.values_.get(key)!.get()\n }\n\n write_(key: PropertyKey, newValue) {\n const instance = this.target_\n const observable = this.values_.get(key)\n if (observable instanceof ComputedValue) {\n observable.set(newValue)\n return\n }\n\n // intercept\n if (hasInterceptors(this)) {\n const change = interceptChange(this, {\n type: UPDATE,\n object: this.proxy_ || instance,\n name: key,\n newValue\n })\n if (!change) return\n newValue = (change as any).newValue\n }\n newValue = (observable as any).prepareNewValue_(newValue)\n\n // notify spy & observers\n if (newValue !== globalState.UNCHANGED) {\n const notify = hasListeners(this)\n const notifySpy = __DEV__ && isSpyEnabled()\n const change: IObjectDidChange | null =\n notify || notifySpy\n ? {\n type: UPDATE,\n observableKind: \"object\",\n debugObjectName: this.name_,\n object: this.proxy_ || instance,\n oldValue: (observable as any).value_,\n name: key,\n newValue\n }\n : null\n\n if (__DEV__ && notifySpy) spyReportStart(change!)\n ;(observable as ObservableValue).setNewValue_(newValue)\n if (notify) notifyListeners(this, change)\n if (__DEV__ && notifySpy) spyReportEnd()\n }\n }\n\n has_(key: PropertyKey) {\n const map = this.pendingKeys_ || (this.pendingKeys_ = new Map())\n let entry = map.get(key)\n if (entry) return entry.get()\n else {\n const exists = !!this.values_.get(key)\n // Possible optimization: Don't have a separate map for non existing keys,\n // but store them in the values map instead, using a special symbol to denote \"not existing\"\n entry = new ObservableValue(\n exists,\n referenceEnhancer,\n `${this.name_}.${stringifyKey(key)}?`,\n false\n )\n map.set(key, entry)\n return entry.get() // read to subscribe\n }\n }\n\n addObservableProp_(\n propName: PropertyKey,\n newValue,\n enhancer: IEnhancer = this.defaultEnhancer_\n ) {\n const { target_: target } = this\n if (__DEV__) assertPropertyConfigurable(target, propName)\n\n if (hasInterceptors(this)) {\n const change = interceptChange(this, {\n object: this.proxy_ || target,\n name: propName,\n type: ADD,\n newValue\n })\n if (!change) return\n newValue = (change as any).newValue\n }\n const observable = new ObservableValue(\n newValue,\n enhancer,\n `${this.name_}.${stringifyKey(propName)}`,\n false\n )\n this.values_.set(propName, observable)\n newValue = (observable as any).value_ // observableValue might have changed it\n\n defineProperty(target, propName, generateObservablePropConfig(propName))\n this.notifyPropertyAddition_(propName, newValue)\n }\n\n addComputedProp_(\n propertyOwner: any, // where is the property declared?\n propName: PropertyKey,\n options: IComputedValueOptions\n ) {\n const { target_: target } = this\n options.name = options.name || `${this.name_}.${stringifyKey(propName)}`\n options.context = this.proxy_ || target\n this.values_.set(propName, new ComputedValue(options))\n // Doesn't seem we need this condition:\n // if (propertyOwner === target || isPropertyConfigurable(propertyOwner, propName))\n defineProperty(propertyOwner, propName, generateComputedPropConfig(propName))\n }\n\n remove_(key: PropertyKey) {\n if (!this.values_.has(key)) return\n const { target_: target } = this\n if (hasInterceptors(this)) {\n const change = interceptChange(this, {\n object: this.proxy_ || target,\n name: key,\n type: REMOVE\n })\n if (!change) return\n }\n try {\n startBatch()\n const notify = hasListeners(this)\n const notifySpy = __DEV__ && isSpyEnabled()\n const oldObservable = this.values_.get(key)\n const oldValue = oldObservable && oldObservable.get()\n oldObservable && oldObservable.set(undefined)\n // notify key and keyset listeners\n this.reportKeysChanged()\n this.values_.delete(key)\n if (this.pendingKeys_) {\n const entry = this.pendingKeys_.get(key)\n if (entry) entry.set(false)\n }\n // delete the prop\n delete this.target_[key]\n const change: IObjectDidChange | null =\n notify || notifySpy\n ? ({\n type: REMOVE,\n observableKind: \"object\",\n object: this.proxy_ || target,\n debugObjectName: this.name_,\n oldValue: oldValue,\n name: key\n } as const)\n : null\n if (__DEV__ && notifySpy) spyReportStart(change!)\n if (notify) notifyListeners(this, change)\n if (__DEV__ && notifySpy) spyReportEnd()\n } finally {\n endBatch()\n }\n }\n\n /**\n * Observes this object. Triggers for the events 'add', 'update' and 'delete'.\n * See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/observe\n * for callback details\n */\n observe_(callback: (changes: IObjectDidChange) => void, fireImmediately?: boolean): Lambda {\n if (__DEV__ && fireImmediately === true)\n die(\"`observe` doesn't support the fire immediately property for observable objects.\")\n return registerListener(this, callback)\n }\n\n intercept_(handler): Lambda {\n return registerInterceptor(this, handler)\n }\n\n notifyPropertyAddition_(key: PropertyKey, newValue) {\n const notify = hasListeners(this)\n const notifySpy = __DEV__ && isSpyEnabled()\n const change: IObjectDidChange | null =\n notify || notifySpy\n ? ({\n type: ADD,\n observableKind: \"object\",\n debugObjectName: this.name_,\n object: this.proxy_ || this.target_,\n name: key,\n newValue\n } as const)\n : null\n\n if (__DEV__ && notifySpy) spyReportStart(change!)\n if (notify) notifyListeners(this, change)\n if (__DEV__ && notifySpy) spyReportEnd()\n if (this.pendingKeys_) {\n const entry = this.pendingKeys_.get(key)\n if (entry) entry.set(true)\n }\n this.reportKeysChanged()\n }\n\n getKeys_(): PropertyKey[] {\n this.keysAtom_.reportObserved()\n if (!this.isStaledKeysValue_) {\n return this.keysValue_\n }\n // return Reflect.ownKeys(this.values) as any\n this.keysValue_ = []\n for (const [key, value] of this.values_)\n if (value instanceof ObservableValue) this.keysValue_.push(key)\n if (__DEV__) Object.freeze(this.keysValue_)\n this.isStaledKeysValue_ = false\n return this.keysValue_\n }\n\n private reportKeysChanged() {\n this.isStaledKeysValue_ = true\n this.keysAtom_.reportChanged()\n }\n}\n\nexport interface IIsObservableObject {\n $mobx: ObservableObjectAdministration\n}\n\nexport function asObservableObject(\n target: any,\n name: PropertyKey = \"\",\n defaultEnhancer: IEnhancer = deepEnhancer\n): ObservableObjectAdministration {\n if (hasProp(target, $mobx)) return target[$mobx]\n\n if (__DEV__ && !Object.isExtensible(target))\n die(\"Cannot make the designated object observable; it is not extensible\")\n\n if (!name) {\n if (isPlainObject(target)) {\n name = \"ObservableObject@\" + getNextId()\n } else {\n name = (target.constructor.name || \"ObservableObject\") + \"@\" + getNextId()\n }\n }\n\n const adm = new ObservableObjectAdministration(\n target,\n new Map(),\n stringifyKey(name),\n defaultEnhancer\n )\n addHiddenProp(target, $mobx, adm)\n return adm\n}\n\nconst observablePropertyConfigs = Object.create(null)\nconst computedPropertyConfigs = Object.create(null)\n\nexport function generateObservablePropConfig(propName) {\n return (\n observablePropertyConfigs[propName] ||\n (observablePropertyConfigs[propName] = {\n configurable: true,\n enumerable: true,\n get() {\n return this[$mobx].read_(propName)\n },\n set(v) {\n this[$mobx].write_(propName, v)\n }\n })\n )\n}\n\nexport function generateComputedPropConfig(propName) {\n return (\n computedPropertyConfigs[propName] ||\n (computedPropertyConfigs[propName] = {\n configurable: true,\n enumerable: false,\n get() {\n return this[$mobx].read_(propName)\n },\n set(v) {\n this[$mobx].write_(propName, v)\n }\n })\n )\n}\n\nconst isObservableObjectAdministration = createInstanceofPredicate(\n \"ObservableObjectAdministration\",\n ObservableObjectAdministration\n)\n\nexport function isObservableObject(thing: any): boolean {\n if (isObject(thing)) {\n return isObservableObjectAdministration((thing as any)[$mobx])\n }\n return false\n}\n","import {\n getNextId,\n addHiddenFinalProp,\n allowStateChangesStart,\n allowStateChangesEnd,\n makeIterable,\n addHiddenProp,\n ObservableArrayAdministration,\n $mobx,\n arrayExtensions,\n IEnhancer,\n isObservableArray,\n IObservableArray,\n defineProperty\n} from \"../internal\"\n\n/**\n * This array buffer contains two lists of properties, so that all arrays\n * can recycle their property definitions, which significantly improves performance of creating\n * properties on the fly.\n */\nlet OBSERVABLE_ARRAY_BUFFER_SIZE = 0\n\n// Typescript workaround to make sure ObservableArray extends Array\nclass StubArray {}\nfunction inherit(ctor, proto) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(ctor.prototype, proto)\n } else if (ctor.prototype.__proto__ !== undefined) {\n ctor.prototype.__proto__ = proto\n } else {\n ctor.prototype = proto\n }\n}\ninherit(StubArray, Array.prototype)\n\n// Weex proto freeze protection was here,\n// but it is unclear why the hack is need as MobX never changed the prototype\n// anyway, so removed it in V6\n\nclass LegacyObservableArray extends StubArray {\n constructor(\n initialValues: T[] | undefined,\n enhancer: IEnhancer,\n name = \"ObservableArray@\" + getNextId(),\n owned = false\n ) {\n super()\n\n const adm = new ObservableArrayAdministration(name, enhancer, owned, true)\n adm.proxy_ = this as any\n addHiddenFinalProp(this, $mobx, adm)\n\n if (initialValues && initialValues.length) {\n const prev = allowStateChangesStart(true)\n // @ts-ignore\n this.spliceWithArray(0, 0, initialValues)\n allowStateChangesEnd(prev)\n }\n }\n\n concat(...arrays: T[][]): T[] {\n ;(this[$mobx] as ObservableArrayAdministration).atom_.reportObserved()\n return Array.prototype.concat.apply(\n (this as any).slice(),\n //@ts-ignore\n arrays.map(a => (isObservableArray(a) ? a.slice() : a))\n )\n }\n\n get length(): number {\n return (this[$mobx] as ObservableArrayAdministration).getArrayLength_()\n }\n\n set length(newLength: number) {\n ;(this[$mobx] as ObservableArrayAdministration).setArrayLength_(newLength)\n }\n\n get [Symbol.toStringTag]() {\n return \"Array\"\n }\n\n [Symbol.iterator]() {\n const self = this\n let nextIndex = 0\n return makeIterable({\n next() {\n // @ts-ignore\n return nextIndex < self.length\n ? { value: self[nextIndex++], done: false }\n : { done: true, value: undefined }\n }\n })\n }\n}\n\nObject.entries(arrayExtensions).forEach(([prop, fn]) => {\n if (prop !== \"concat\") addHiddenProp(LegacyObservableArray.prototype, prop, fn)\n})\n\nfunction createArrayEntryDescriptor(index: number) {\n return {\n enumerable: false,\n configurable: true,\n get: function () {\n return this[$mobx].get_(index)\n },\n set: function (value) {\n this[$mobx].set_(index, value)\n }\n }\n}\n\nfunction createArrayBufferItem(index: number) {\n defineProperty(LegacyObservableArray.prototype, \"\" + index, createArrayEntryDescriptor(index))\n}\n\nexport function reserveArrayBuffer(max: number) {\n if (max > OBSERVABLE_ARRAY_BUFFER_SIZE) {\n for (let index = OBSERVABLE_ARRAY_BUFFER_SIZE; index < max + 100; index++)\n createArrayBufferItem(index)\n OBSERVABLE_ARRAY_BUFFER_SIZE = max\n }\n}\n\nreserveArrayBuffer(1000)\n\nexport function createLegacyArray(\n initialValues: T[] | undefined,\n enhancer: IEnhancer,\n name?: string\n): IObservableArray {\n return new LegacyObservableArray(initialValues, enhancer, name) as any\n}\n","import {\n $mobx,\n IDepTreeNode,\n isAtom,\n isComputedValue,\n isObservableArray,\n isObservableMap,\n isObservableObject,\n isReaction,\n isObservableSet,\n die,\n isFunction\n} from \"../internal\"\n\nexport function getAtom(thing: any, property?: string): IDepTreeNode {\n if (typeof thing === \"object\" && thing !== null) {\n if (isObservableArray(thing)) {\n if (property !== undefined) die(23)\n return (thing as any)[$mobx].atom_\n }\n if (isObservableSet(thing)) {\n return (thing as any)[$mobx]\n }\n if (isObservableMap(thing)) {\n if (property === undefined) return thing.keysAtom_\n const observable = thing.data_.get(property) || thing.hasMap_.get(property)\n if (!observable) die(25, property, getDebugName(thing))\n return observable\n }\n if (property && !thing[$mobx]) thing[property] // See #1072\n if (isObservableObject(thing)) {\n if (!property) return die(26)\n const observable = (thing as any)[$mobx].values_.get(property)\n if (!observable) die(27, property, getDebugName(thing))\n return observable\n }\n if (isAtom(thing) || isComputedValue(thing) || isReaction(thing)) {\n return thing\n }\n } else if (isFunction(thing)) {\n if (isReaction(thing[$mobx])) {\n // disposer function\n return thing[$mobx]\n }\n }\n die(28)\n}\n\nexport function getAdministration(thing: any, property?: string) {\n if (!thing) die(29)\n if (property !== undefined) return getAdministration(getAtom(thing, property))\n if (isAtom(thing) || isComputedValue(thing) || isReaction(thing)) return thing\n if (isObservableMap(thing) || isObservableSet(thing)) return thing\n if (thing[$mobx]) return thing[$mobx]\n die(24, thing)\n}\n\nexport function getDebugName(thing: any, property?: string): string {\n let named\n if (property !== undefined) named = getAtom(thing, property)\n else if (isObservableObject(thing) || isObservableMap(thing) || isObservableSet(thing))\n named = getAdministration(thing)\n else named = getAtom(thing) // valid for arrays as well\n return named.name_\n}\n","import {\n isES6Map,\n isObservableArray,\n isObservableMap,\n isES6Set,\n isObservableSet,\n hasProp,\n isFunction,\n objectPrototype\n} from \"../internal\"\n\ndeclare const Symbol\nconst toString = objectPrototype.toString\n\nexport function deepEqual(a: any, b: any, depth: number = -1): boolean {\n return eq(a, b, depth)\n}\n\n// Copied from https://github.com/jashkenas/underscore/blob/5c237a7c682fb68fd5378203f0bf22dce1624854/underscore.js#L1186-L1289\n// Internal recursive comparison function for `isEqual`.\nfunction eq(a: any, b: any, depth: number, aStack?: any[], bStack?: any[]) {\n // Identical objects are equal. `0 === -0`, but they aren't identical.\n // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal).\n if (a === b) return a !== 0 || 1 / a === 1 / b\n // `null` or `undefined` only equal to itself (strict comparison).\n if (a == null || b == null) return false\n // `NaN`s are equivalent, but non-reflexive.\n if (a !== a) return b !== b\n // Exhaust primitive checks\n const type = typeof a\n if (!isFunction(type) && type !== \"object\" && typeof b != \"object\") return false\n\n // Compare `[[Class]]` names.\n const className = toString.call(a)\n if (className !== toString.call(b)) return false\n switch (className) {\n // Strings, numbers, regular expressions, dates, and booleans are compared by value.\n case \"[object RegExp]\":\n // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i')\n case \"[object String]\":\n // Primitives and their corresponding object wrappers are equivalent; thus, `\"5\"` is\n // equivalent to `new String(\"5\")`.\n return \"\" + a === \"\" + b\n case \"[object Number]\":\n // `NaN`s are equivalent, but non-reflexive.\n // Object(NaN) is equivalent to NaN.\n if (+a !== +a) return +b !== +b\n // An `egal` comparison is performed for other numeric values.\n return +a === 0 ? 1 / +a === 1 / b : +a === +b\n case \"[object Date]\":\n case \"[object Boolean]\":\n // Coerce dates and booleans to numeric primitive values. Dates are compared by their\n // millisecond representations. Note that invalid dates with millisecond representations\n // of `NaN` are not equivalent.\n return +a === +b\n case \"[object Symbol]\":\n return (\n typeof Symbol !== \"undefined\" && Symbol.valueOf.call(a) === Symbol.valueOf.call(b)\n )\n case \"[object Map]\":\n case \"[object Set]\":\n // Maps and Sets are unwrapped to arrays of entry-pairs, adding an incidental level.\n // Hide this extra level by increasing the depth.\n if (depth >= 0) {\n depth++\n }\n break\n }\n // Unwrap any wrapped objects.\n a = unwrap(a)\n b = unwrap(b)\n\n const areArrays = className === \"[object Array]\"\n if (!areArrays) {\n if (typeof a != \"object\" || typeof b != \"object\") return false\n\n // Objects with different constructors are not equivalent, but `Object`s or `Array`s\n // from different frames are.\n const aCtor = a.constructor,\n bCtor = b.constructor\n if (\n aCtor !== bCtor &&\n !(\n isFunction(aCtor) &&\n aCtor instanceof aCtor &&\n isFunction(bCtor) &&\n bCtor instanceof bCtor\n ) &&\n \"constructor\" in a &&\n \"constructor\" in b\n ) {\n return false\n }\n }\n\n if (depth === 0) {\n return false\n } else if (depth < 0) {\n depth = -1\n }\n\n // Assume equality for cyclic structures. The algorithm for detecting cyclic\n // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.\n\n // Initializing stack of traversed objects.\n // It's done here since we only need them for objects and arrays comparison.\n aStack = aStack || []\n bStack = bStack || []\n let length = aStack.length\n while (length--) {\n // Linear search. Performance is inversely proportional to the number of\n // unique nested structures.\n if (aStack[length] === a) return bStack[length] === b\n }\n\n // Add the first object to the stack of traversed objects.\n aStack.push(a)\n bStack.push(b)\n\n // Recursively compare objects and arrays.\n if (areArrays) {\n // Compare array lengths to determine if a deep comparison is necessary.\n length = a.length\n if (length !== b.length) return false\n // Deep compare the contents, ignoring non-numeric properties.\n while (length--) {\n if (!eq(a[length], b[length], depth - 1, aStack, bStack)) return false\n }\n } else {\n // Deep compare objects.\n const keys = Object.keys(a)\n let key\n length = keys.length\n // Ensure that both objects contain the same number of properties before comparing deep equality.\n if (Object.keys(b).length !== length) return false\n while (length--) {\n // Deep compare each member\n key = keys[length]\n if (!(hasProp(b, key) && eq(a[key], b[key], depth - 1, aStack, bStack))) return false\n }\n }\n // Remove the first object from the stack of traversed objects.\n aStack.pop()\n bStack.pop()\n return true\n}\n\nfunction unwrap(a: any) {\n if (isObservableArray(a)) return a.slice()\n if (isES6Map(a) || isObservableMap(a)) return Array.from(a.entries())\n if (isES6Set(a) || isObservableSet(a)) return Array.from(a.entries())\n return a\n}\n","export function makeIterable(iterator: Iterator): IterableIterator {\n iterator[Symbol.iterator] = getSelf\n return iterator as any\n}\n\nfunction getSelf() {\n return this\n}\n","/**\n * (c) Michel Weststrate 2015 - 2020\n * MIT Licensed\n *\n * Welcome to the mobx sources! To get an global overview of how MobX internally works,\n * this is a good place to start:\n * https://medium.com/@mweststrate/becoming-fully-reactive-an-in-depth-explanation-of-mobservable-55995262a254#.xvbh6qd74\n *\n * Source folders:\n * ===============\n *\n * - api/ Most of the public static methods exposed by the module can be found here.\n * - core/ Implementation of the MobX algorithm; atoms, derivations, reactions, dependency trees, optimizations. Cool stuff can be found here.\n * - types/ All the magic that is need to have observable objects, arrays and values is in this folder. Including the modifiers like `asFlat`.\n * - utils/ Utility stuff.\n *\n */\nimport { die } from \"./errors\"\nimport { getGlobal } from \"./utils/global\"\n;[\"Symbol\", \"Map\", \"Set\", \"Symbol\"].forEach(m => {\n let g = getGlobal()\n if (typeof g[m] === \"undefined\") {\n die(`MobX requires global '${m}' to be available or polyfilled`)\n }\n})\n\nimport { spy, getDebugName, $mobx } from \"./internal\"\n\nexport {\n IObservable,\n IDepTreeNode,\n Reaction,\n IReactionPublic,\n IReactionDisposer,\n untracked,\n IAtom,\n createAtom,\n spy,\n IComputedValue,\n IEqualsComparer,\n comparer,\n IEnhancer,\n IInterceptable,\n IInterceptor,\n IListenable,\n IObjectWillChange,\n IObjectDidChange,\n isObservableObject,\n IValueDidChange,\n IValueWillChange,\n IObservableValue,\n isObservableValue as isBoxedObservable,\n IObservableArray,\n IArrayWillChange,\n IArrayWillSplice,\n IArraySplice,\n IArrayUpdate,\n IArrayDidChange,\n isObservableArray,\n IKeyValueMap,\n ObservableMap,\n IMapEntries,\n IMapEntry,\n IMapWillChange,\n IMapDidChange,\n isObservableMap,\n IObservableMapInitialValues,\n ObservableSet,\n isObservableSet,\n ISetDidChange,\n ISetWillChange,\n IObservableSetInitialValues,\n transaction,\n observable,\n IObservableFactory,\n computed,\n isObservable,\n isObservableProp,\n isComputed,\n isComputedProp,\n extendObservable,\n observe,\n intercept,\n autorun,\n IAutorunOptions,\n reaction,\n IReactionOptions,\n when,\n IWhenOptions,\n action,\n isAction,\n runInAction,\n IActionFactory,\n keys,\n values,\n entries,\n set,\n remove,\n has,\n get,\n configure,\n onBecomeObserved,\n onBecomeUnobserved,\n flow,\n flowResult,\n FlowCancellationError,\n isFlowCancellationError,\n toJS,\n trace,\n IObserverTree,\n IDependencyTree,\n getDependencyTree,\n getObserverTree,\n resetGlobalState as _resetGlobalState,\n getGlobalState as _getGlobalState,\n getDebugName,\n getAtom,\n getAdministration as _getAdministration,\n allowStateChanges as _allowStateChanges,\n runInAction as _allowStateChangesInsideComputed, // This has become the default behavior in Mobx 6\n Lambda,\n $mobx,\n isComputingDerivation as _isComputingDerivation,\n onReactionError,\n interceptReads as _interceptReads,\n IComputedValueOptions,\n IActionRunInfo,\n _startAction,\n _endAction,\n allowStateReadsStart as _allowStateReadsStart,\n allowStateReadsEnd as _allowStateReadsEnd,\n makeObservable,\n makeAutoObservable,\n autoAction as _autoAction,\n AnnotationsMap,\n AnnotationMapEntry\n} from \"./internal\"\n\n// Devtools support\ndeclare const __MOBX_DEVTOOLS_GLOBAL_HOOK__: { injectMobx: (any) => void }\nif (typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__ === \"object\") {\n // See: https://github.com/andykog/mobx-devtools/\n __MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({\n spy,\n extras: {\n getDebugName\n },\n $mobx\n })\n}\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n (function () { return this; })() || Function('return this')();\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\n\nvar YAMLException = require('./exception');\n\nvar TYPE_CONSTRUCTOR_OPTIONS = [\n 'kind',\n 'resolve',\n 'construct',\n 'instanceOf',\n 'predicate',\n 'represent',\n 'defaultStyle',\n 'styleAliases'\n];\n\nvar YAML_NODE_KINDS = [\n 'scalar',\n 'sequence',\n 'mapping'\n];\n\nfunction compileStyleAliases(map) {\n var result = {};\n\n if (map !== null) {\n Object.keys(map).forEach(function (style) {\n map[style].forEach(function (alias) {\n result[String(alias)] = style;\n });\n });\n }\n\n return result;\n}\n\nfunction Type(tag, options) {\n options = options || {};\n\n Object.keys(options).forEach(function (name) {\n if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) {\n throw new YAMLException('Unknown option \"' + name + '\" is met in definition of \"' + tag + '\" YAML type.');\n }\n });\n\n // TODO: Add tag format check.\n this.tag = tag;\n this.kind = options['kind'] || null;\n this.resolve = options['resolve'] || function () { return true; };\n this.construct = options['construct'] || function (data) { return data; };\n this.instanceOf = options['instanceOf'] || null;\n this.predicate = options['predicate'] || null;\n this.represent = options['represent'] || null;\n this.defaultStyle = options['defaultStyle'] || null;\n this.styleAliases = compileStyleAliases(options['styleAliases'] || null);\n\n if (YAML_NODE_KINDS.indexOf(this.kind) === -1) {\n throw new YAMLException('Unknown kind \"' + this.kind + '\" is specified for \"' + tag + '\" YAML type.');\n }\n}\n\nmodule.exports = Type;\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar punycode = require('punycode');\nvar util = require('./util');\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\n\nexports.Url = Url;\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.host = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.query = null;\n this.pathname = null;\n this.path = null;\n this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n// define these here so at least they only have to be\n// compiled once on the first module load.\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,\n\n // RFC 2396: characters reserved for delimiting URLs.\n // We actually just auto-escape these.\n delims = ['<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = ['{', '}', '|', '\\\\', '^', '`'].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = ['\\''].concat(unwise),\n // Characters that are never ever allowed in a hostname.\n // Note that any invalid chars are also handled, but these\n // are the ones that are *expected* to be seen, so we fast-path\n // them.\n nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape),\n hostEndingChars = ['/', '?', '#'],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n unsafeProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that never have a hostname.\n hostlessProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n 'http': true,\n 'https': true,\n 'ftp': true,\n 'gopher': true,\n 'file': true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n },\n querystring = require('querystring');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n if (url && util.isObject(url) && url instanceof Url) return url;\n\n var u = new Url;\n u.parse(url, parseQueryString, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {\n if (!util.isString(url)) {\n throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n }\n\n // Copy chrome, IE, opera backslash-handling behavior.\n // Back slashes before the query string get converted to forward slashes\n // See: https://code.google.com/p/chromium/issues/detail?id=25916\n var queryIndex = url.indexOf('?'),\n splitter =\n (queryIndex !== -1 && queryIndex < url.indexOf('#')) ? '?' : '#',\n uSplit = url.split(splitter),\n slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, '/');\n url = uSplit.join(splitter);\n\n var rest = url;\n\n // trim before proceeding.\n // This is to support parse stuff like \" http://foo.com \\n\"\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.path = rest;\n this.href = rest;\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n if (parseQueryString) {\n this.query = querystring.parse(this.search.substr(1));\n } else {\n this.query = this.search.substr(1);\n }\n } else if (parseQueryString) {\n this.search = '';\n this.query = {};\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto;\n rest = rest.substr(proto.length);\n }\n\n // figure out if it's got a host\n // user@server is *always* interpreted as a hostname, and url\n // resolution will treat //foo/bar as host=foo,path=bar because that's\n // how the browser resolves relative URLs.\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)) {\n var slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] &&\n (slashes || (proto && !slashedProtocol[proto]))) {\n\n // there's a hostname.\n // the first instance of /, ?, ;, or # ends the host.\n //\n // If there is an @ in the hostname, then non-host chars *are* allowed\n // to the left of the last @ sign, unless some host-ending character\n // comes *before* the @-sign.\n // URLs are obnoxious.\n //\n // ex:\n // http://a@b@c/ => user:a@b host:c\n // http://a@b?@c => user:a host:c path:/?@c\n\n // v0.12 TODO(isaacs): This is not quite how Chrome does things.\n // Review our test case against browsers more comprehensively.\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (var i = 0; i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n\n // at this point, either we have an explicit point where the\n // auth portion cannot go past, or the last @ char is the decider.\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n // atSign must be in auth portion.\n // http://a@b/c@d => host:b auth:a path:/c@d\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n // Now we have a portion which is definitely the auth.\n // Pull that off.\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = decodeURIComponent(auth);\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (var i = 0; i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1)\n hostEnd = rest.length;\n\n this.host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost();\n\n // we've indicated that there is a hostname,\n // so even if it's empty, it has to be present.\n this.hostname = this.hostname || '';\n\n // if hostname begins with [ and ends with ]\n // assume that it's an IPv6 address.\n var ipv6Hostname = this.hostname[0] === '[' &&\n this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) continue;\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n // we replace non-ASCII char with a temporary placeholder\n // we need this to make sure size of hostname is not\n // broken by replacing non-ASCII by nothing\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = '/' + notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n } else {\n // hostnames are always lower case.\n this.hostname = this.hostname.toLowerCase();\n }\n\n if (!ipv6Hostname) {\n // IDNA Support: Returns a punycoded representation of \"domain\".\n // It only converts parts of the domain name that\n // have non-ASCII characters, i.e. it doesn't matter if\n // you call it with a domain that already is ASCII-only.\n this.hostname = punycode.toASCII(this.hostname);\n }\n\n var p = this.port ? ':' + this.port : '';\n var h = this.hostname || '';\n this.host = h + p;\n this.href += this.host;\n\n // strip [ and ] from the hostname\n // the host field still retains them, though\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n if (rest[0] !== '/') {\n rest = '/' + rest;\n }\n }\n }\n\n // now rest is set to the post-host stuff.\n // chop off any delim chars.\n if (!unsafeProtocol[lowerProto]) {\n\n // First, make 100% sure that any \"autoEscape\" chars get\n // escaped, even if encodeURIComponent doesn't think they\n // need to be.\n for (var i = 0, l = autoEscape.length; i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1)\n continue;\n var esc = encodeURIComponent(ae);\n if (esc === ae) {\n esc = escape(ae);\n }\n rest = rest.split(ae).join(esc);\n }\n }\n\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n this.query = rest.substr(qm + 1);\n if (parseQueryString) {\n this.query = querystring.parse(this.query);\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString) {\n // no query string, but parseQueryString still requested\n this.search = '';\n this.query = {};\n }\n if (rest) this.pathname = rest;\n if (slashedProtocol[lowerProto] &&\n this.hostname && !this.pathname) {\n this.pathname = '/';\n }\n\n //to support http.request\n if (this.pathname || this.search) {\n var p = this.pathname || '';\n var s = this.search || '';\n this.path = p + s;\n }\n\n // finally, reconstruct the href based on what has been validated.\n this.href = this.format();\n return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n // ensure it's an object, and not a string url.\n // If it's an obj, this is a no-op.\n // this way, you can call url_format() on strings\n // to clean up potentially wonky urls.\n if (util.isString(obj)) obj = urlParse(obj);\n if (!(obj instanceof Url)) return Url.prototype.format.call(obj);\n return obj.format();\n}\n\nUrl.prototype.format = function() {\n var auth = this.auth || '';\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, ':');\n auth += '@';\n }\n\n var protocol = this.protocol || '',\n pathname = this.pathname || '',\n hash = this.hash || '',\n host = false,\n query = '';\n\n if (this.host) {\n host = auth + this.host;\n } else if (this.hostname) {\n host = auth + (this.hostname.indexOf(':') === -1 ?\n this.hostname :\n '[' + this.hostname + ']');\n if (this.port) {\n host += ':' + this.port;\n }\n }\n\n if (this.query &&\n util.isObject(this.query) &&\n Object.keys(this.query).length) {\n query = querystring.stringify(this.query);\n }\n\n var search = this.search || (query && ('?' + query)) || '';\n\n if (protocol && protocol.substr(-1) !== ':') protocol += ':';\n\n // only the slashedProtocols get the //. Not mailto:, xmpp:, etc.\n // unless they had them to begin with.\n if (this.slashes ||\n (!protocol || slashedProtocol[protocol]) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname;\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash.charAt(0) !== '#') hash = '#' + hash;\n if (search && search.charAt(0) !== '?') search = '?' + search;\n\n pathname = pathname.replace(/[?#]/g, function(match) {\n return encodeURIComponent(match);\n });\n search = search.replace('#', '%23');\n\n return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function(relative) {\n return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n if (!source) return relative;\n return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function(relative) {\n if (util.isString(relative)) {\n var rel = new Url();\n rel.parse(relative, false, true);\n relative = rel;\n }\n\n var result = new Url();\n var tkeys = Object.keys(this);\n for (var tk = 0; tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n\n // hash is always overridden, no matter what.\n // even href=\"\" will remove it.\n result.hash = relative.hash;\n\n // if the relative url is empty, then there's nothing left to do here.\n if (relative.href === '') {\n result.href = result.format();\n return result;\n }\n\n // hrefs like //foo/bar always cut to the protocol.\n if (relative.slashes && !relative.protocol) {\n // take everything except the protocol from relative\n var rkeys = Object.keys(relative);\n for (var rk = 0; rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== 'protocol')\n result[rkey] = relative[rkey];\n }\n\n //urlParse appends trailing / to urls like http://www.example.com\n if (slashedProtocol[result.protocol] &&\n result.hostname && !result.pathname) {\n result.path = result.pathname = '/';\n }\n\n result.href = result.format();\n return result;\n }\n\n if (relative.protocol && relative.protocol !== result.protocol) {\n // if it's a known url protocol, then changing\n // the protocol does weird things\n // first, if it's not file:, then we MUST have a host,\n // and if there was a path\n // to begin with, then we MUST have a path.\n // if it is file:, then the host is dropped,\n // because that's known to be hostless.\n // anything else is assumed to be absolute.\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0; v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n result.href = result.format();\n return result;\n }\n\n result.protocol = relative.protocol;\n if (!relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || '').split('/');\n while (relPath.length && !(relative.host = relPath.shift()));\n if (!relative.host) relative.host = '';\n if (!relative.hostname) relative.hostname = '';\n if (relPath[0] !== '') relPath.unshift('');\n if (relPath.length < 2) relPath.unshift('');\n result.pathname = relPath.join('/');\n } else {\n result.pathname = relative.pathname;\n }\n result.search = relative.search;\n result.query = relative.query;\n result.host = relative.host || '';\n result.auth = relative.auth;\n result.hostname = relative.hostname || relative.host;\n result.port = relative.port;\n // to support http.request\n if (result.pathname || result.search) {\n var p = result.pathname || '';\n var s = result.search || '';\n result.path = p + s;\n }\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n }\n\n var isSourceAbs = (result.pathname && result.pathname.charAt(0) === '/'),\n isRelAbs = (\n relative.host ||\n relative.pathname && relative.pathname.charAt(0) === '/'\n ),\n mustEndAbs = (isRelAbs || isSourceAbs ||\n (result.host && relative.pathname)),\n removeAllDots = mustEndAbs,\n srcPath = result.pathname && result.pathname.split('/') || [],\n relPath = relative.pathname && relative.pathname.split('/') || [],\n psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n // if the url is a non-slashed url, then relative\n // links like ../.. should be able\n // to crawl up to the hostname, as well. This is strange.\n // result.protocol has already been set by now.\n // Later on, put the first path part into the host field.\n if (psychotic) {\n result.hostname = '';\n result.port = null;\n if (result.host) {\n if (srcPath[0] === '') srcPath[0] = result.host;\n else srcPath.unshift(result.host);\n }\n result.host = '';\n if (relative.protocol) {\n relative.hostname = null;\n relative.port = null;\n if (relative.host) {\n if (relPath[0] === '') relPath[0] = relative.host;\n else relPath.unshift(relative.host);\n }\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n }\n\n if (isRelAbs) {\n // it's absolute.\n result.host = (relative.host || relative.host === '') ?\n relative.host : result.host;\n result.hostname = (relative.hostname || relative.hostname === '') ?\n relative.hostname : result.hostname;\n result.search = relative.search;\n result.query = relative.query;\n srcPath = relPath;\n // fall through to the dot-handling below.\n } else if (relPath.length) {\n // it's relative\n // throw away the existing file, and take the new path instead.\n if (!srcPath) srcPath = [];\n srcPath.pop();\n srcPath = srcPath.concat(relPath);\n result.search = relative.search;\n result.query = relative.query;\n } else if (!util.isNullOrUndefined(relative.search)) {\n // just pull out the search.\n // like href='?foo'.\n // Put this after the other two cases because it simplifies the booleans\n if (psychotic) {\n result.hostname = result.host = srcPath.shift();\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n result.search = relative.search;\n result.query = relative.query;\n //to support http.request\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.href = result.format();\n return result;\n }\n\n if (!srcPath.length) {\n // no path at all. easy.\n // we've already handled the other stuff above.\n result.pathname = null;\n //to support http.request\n if (result.search) {\n result.path = '/' + result.search;\n } else {\n result.path = null;\n }\n result.href = result.format();\n return result;\n }\n\n // if a url ENDs in . or .., then it must get a trailing slash.\n // however, if it ends in anything else non-slashy,\n // then it must NOT get a trailing slash.\n var last = srcPath.slice(-1)[0];\n var hasTrailingSlash = (\n (result.host || relative.host || srcPath.length > 1) &&\n (last === '.' || last === '..') || last === '');\n\n // strip single dots, resolve double dots to parent dir\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = srcPath.length; i >= 0; i--) {\n last = srcPath[i];\n if (last === '.') {\n srcPath.splice(i, 1);\n } else if (last === '..') {\n srcPath.splice(i, 1);\n up++;\n } else if (up) {\n srcPath.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (!mustEndAbs && !removeAllDots) {\n for (; up--; up) {\n srcPath.unshift('..');\n }\n }\n\n if (mustEndAbs && srcPath[0] !== '' &&\n (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n srcPath.unshift('');\n }\n\n if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n srcPath.push('');\n }\n\n var isAbsolute = srcPath[0] === '' ||\n (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n // put the host back\n if (psychotic) {\n result.hostname = result.host = isAbsolute ? '' :\n srcPath.length ? srcPath.shift() : '';\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n\n mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n if (mustEndAbs && !isAbsolute) {\n srcPath.unshift('');\n }\n\n if (!srcPath.length) {\n result.pathname = null;\n result.path = null;\n } else {\n result.pathname = srcPath.join('/');\n }\n\n //to support request.http\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.auth = relative.auth || result.auth;\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n};\n\nUrl.prototype.parseHost = function() {\n var host = this.host;\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) this.hostname = host;\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var path = require('../internals/path');\nvar has = require('../internals/has');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","// @flow\n\ndeclare var SC_DISABLE_SPEEDY: ?boolean;\ndeclare var __VERSION__: string;\n\nexport const SC_ATTR: string =\n (typeof process !== 'undefined' && (process.env.REACT_APP_SC_ATTR || process.env.SC_ATTR)) ||\n 'data-styled';\n\nexport const SC_ATTR_ACTIVE = 'active';\nexport const SC_ATTR_VERSION = 'data-styled-version';\nexport const SC_VERSION = __VERSION__;\nexport const SPLITTER = '/*!sc*/\\n';\n\nexport const IS_BROWSER = typeof window !== 'undefined' && 'HTMLElement' in window;\n\nexport const DISABLE_SPEEDY =\n Boolean(typeof SC_DISABLE_SPEEDY === 'boolean'\n ? SC_DISABLE_SPEEDY\n : (typeof process !== 'undefined' && typeof process.env.REACT_APP_SC_DISABLE_SPEEDY !== 'undefined' && process.env.REACT_APP_SC_DISABLE_SPEEDY !== ''\n ? process.env.REACT_APP_SC_DISABLE_SPEEDY === 'false' ? false : process.env.REACT_APP_SC_DISABLE_SPEEDY\n : (typeof process !== 'undefined' && typeof process.env.SC_DISABLE_SPEEDY !== 'undefined' && process.env.SC_DISABLE_SPEEDY !== ''\n ? process.env.SC_DISABLE_SPEEDY === 'false' ? false : process.env.SC_DISABLE_SPEEDY\n : process.env.NODE_ENV !== 'production'\n )\n ));\n\n// Shared empty execution context when generating static styles\nexport const STATIC_EXECUTION_CONTEXT = {};\n","// @flow\n/* eslint-disable no-use-before-define */\n\nimport { makeStyleTag, getSheet } from './dom';\nimport type { SheetOptions, Tag } from './types';\n\n/** Create a CSSStyleSheet-like tag depending on the environment */\nexport const makeTag = ({ isServer, useCSSOMInjection, target }: SheetOptions): Tag => {\n if (isServer) {\n return new VirtualTag(target);\n } else if (useCSSOMInjection) {\n return new CSSOMTag(target);\n } else {\n return new TextTag(target);\n }\n};\n\nexport class CSSOMTag implements Tag {\n element: HTMLStyleElement;\n\n sheet: CSSStyleSheet;\n\n length: number;\n\n constructor(target?: HTMLElement) {\n const element = (this.element = makeStyleTag(target));\n\n // Avoid Edge bug where empty style elements don't create sheets\n element.appendChild(document.createTextNode(''));\n\n this.sheet = getSheet(element);\n this.length = 0;\n }\n\n insertRule(index: number, rule: string): boolean {\n try {\n this.sheet.insertRule(rule, index);\n this.length++;\n return true;\n } catch (_error) {\n return false;\n }\n }\n\n deleteRule(index: number): void {\n this.sheet.deleteRule(index);\n this.length--;\n }\n\n getRule(index: number): string {\n const rule = this.sheet.cssRules[index];\n // Avoid IE11 quirk where cssText is inaccessible on some invalid rules\n if (rule !== undefined && typeof rule.cssText === 'string') {\n return rule.cssText;\n } else {\n return '';\n }\n }\n}\n\n/** A Tag that emulates the CSSStyleSheet API but uses text nodes */\nexport class TextTag implements Tag {\n element: HTMLStyleElement;\n\n nodes: NodeList;\n\n length: number;\n\n constructor(target?: HTMLElement) {\n const element = (this.element = makeStyleTag(target));\n this.nodes = element.childNodes;\n this.length = 0;\n }\n\n insertRule(index: number, rule: string): boolean {\n if (index <= this.length && index >= 0) {\n const node = document.createTextNode(rule);\n const refNode = this.nodes[index];\n this.element.insertBefore(node, refNode || null);\n this.length++;\n return true;\n } else {\n return false;\n }\n }\n\n deleteRule(index: number): void {\n this.element.removeChild(this.nodes[index]);\n this.length--;\n }\n\n getRule(index: number): string {\n if (index < this.length) {\n return this.nodes[index].textContent;\n } else {\n return '';\n }\n }\n}\n\n/** A completely virtual (server-side) Tag that doesn't manipulate the DOM */\nexport class VirtualTag implements Tag {\n rules: string[];\n\n length: number;\n\n constructor(_target?: HTMLElement) {\n this.rules = [];\n this.length = 0;\n }\n\n insertRule(index: number, rule: string): boolean {\n if (index <= this.length) {\n this.rules.splice(index, 0, rule);\n this.length++;\n return true;\n } else {\n return false;\n }\n }\n\n deleteRule(index: number): void {\n this.rules.splice(index, 1);\n this.length--;\n }\n\n getRule(index: number): string {\n if (index < this.length) {\n return this.rules[index];\n } else {\n return '';\n }\n }\n}\n","// @flow\nimport { DISABLE_SPEEDY, IS_BROWSER } from '../constants';\nimport { EMPTY_OBJECT } from '../utils/empties';\nimport { makeGroupedTag } from './GroupedTag';\nimport { getGroupForId } from './GroupIDAllocator';\nimport { outputSheet, rehydrateSheet } from './Rehydration';\nimport { makeTag } from './Tag';\nimport type { GroupedTag, Sheet, SheetOptions } from './types';\n\nlet SHOULD_REHYDRATE = IS_BROWSER;\n\ntype SheetConstructorArgs = {\n isServer?: boolean,\n useCSSOMInjection?: boolean,\n target?: HTMLElement,\n};\n\ntype GlobalStylesAllocationMap = { [key: string]: number };\ntype NamesAllocationMap = Map>;\n\nconst defaultOptions: SheetOptions = {\n isServer: !IS_BROWSER,\n useCSSOMInjection: !DISABLE_SPEEDY,\n};\n\n/** Contains the main stylesheet logic for stringification and caching */\nexport default class StyleSheet implements Sheet {\n gs: GlobalStylesAllocationMap;\n\n names: NamesAllocationMap;\n\n options: SheetOptions;\n\n tag: void | GroupedTag;\n\n /** Register a group ID to give it an index */\n static registerId(id: string): number {\n return getGroupForId(id);\n }\n\n constructor(\n options: SheetConstructorArgs = EMPTY_OBJECT,\n globalStyles?: GlobalStylesAllocationMap = {},\n names?: NamesAllocationMap\n ) {\n this.options = {\n ...defaultOptions,\n ...options,\n };\n\n this.gs = globalStyles;\n this.names = new Map(names);\n\n // We rehydrate only once and use the sheet that is created first\n if (!this.options.isServer && IS_BROWSER && SHOULD_REHYDRATE) {\n SHOULD_REHYDRATE = false;\n rehydrateSheet(this);\n }\n }\n\n reconstructWithOptions(options: SheetConstructorArgs, withNames?: boolean = true) {\n return new StyleSheet(\n { ...this.options, ...options },\n this.gs,\n (withNames && this.names) || undefined\n );\n }\n\n allocateGSInstance(id: string) {\n return (this.gs[id] = (this.gs[id] || 0) + 1);\n }\n\n /** Lazily initialises a GroupedTag for when it's actually needed */\n getTag(): GroupedTag {\n return this.tag || (this.tag = makeGroupedTag(makeTag(this.options)));\n }\n\n /** Check whether a name is known for caching */\n hasNameForId(id: string, name: string): boolean {\n return this.names.has(id) && (this.names.get(id): any).has(name);\n }\n\n /** Mark a group's name as known for caching */\n registerName(id: string, name: string) {\n getGroupForId(id);\n\n if (!this.names.has(id)) {\n const groupNames = new Set();\n groupNames.add(name);\n this.names.set(id, groupNames);\n } else {\n (this.names.get(id): any).add(name);\n }\n }\n\n /** Insert new rules which also marks the name as known */\n insertRules(id: string, name: string, rules: string[]) {\n this.registerName(id, name);\n this.getTag().insertRules(getGroupForId(id), rules);\n }\n\n /** Clears all cached names for a given group ID */\n clearNames(id: string) {\n if (this.names.has(id)) {\n (this.names.get(id): any).clear();\n }\n }\n\n /** Clears all rules for a given group ID */\n clearRules(id: string) {\n this.getTag().clearGroup(getGroupForId(id));\n this.clearNames(id);\n }\n\n /** Clears the entire tag which deletes all rules but not its names */\n clearTag() {\n // NOTE: This does not clear the names, since it's only used during SSR\n // so that we can continuously output only new rules\n this.tag = undefined;\n }\n\n /** Outputs the current sheet as a CSS string with markers for SSR */\n toString(): string {\n return outputSheet(this);\n }\n}\n","// @flow\nimport isFunction from './isFunction';\nimport isStyledComponent from './isStyledComponent';\nimport type { RuleSet } from '../types';\n\nexport default function isStaticRules(rules: RuleSet): boolean {\n for (let i = 0; i < rules.length; i += 1) {\n const rule = rules[i];\n\n if (isFunction(rule) && !isStyledComponent(rule)) {\n // functions are allowed to be static if they're just being\n // used to get the classname of a nested styled component\n return false;\n }\n }\n\n return true;\n}\n","// @flow\nimport StyleSheet from '../sheet';\nimport { type Stringifier } from '../types';\nimport throwStyledError from '../utils/error';\nimport { masterStylis } from './StyleSheetManager';\n\nexport default class Keyframes {\n id: string;\n\n name: string;\n\n rules: string;\n\n constructor(name: string, rules: string) {\n this.name = name;\n this.id = `sc-keyframes-${name}`;\n this.rules = rules;\n }\n\n inject = (styleSheet: StyleSheet, stylisInstance: Stringifier = masterStylis) => {\n const resolvedName = this.name + stylisInstance.hash;\n\n if (!styleSheet.hasNameForId(this.id, resolvedName)) {\n styleSheet.insertRules(\n this.id,\n resolvedName,\n stylisInstance(this.rules, resolvedName, '@keyframes')\n );\n }\n };\n\n toString = () => {\n return throwStyledError(12, String(this.name));\n };\n\n getName(stylisInstance: Stringifier = masterStylis) {\n return this.name + stylisInstance.hash;\n }\n}\n","// @flow\nimport validAttr from '@emotion/is-prop-valid';\nimport hoist from 'hoist-non-react-statics';\nimport React, { createElement, type Ref, useContext, useDebugValue } from 'react';\nimport { SC_VERSION } from '../constants';\nimport type {\n Attrs,\n IStyledComponent,\n IStyledStatics,\n RuleSet,\n ShouldForwardProp,\n Target,\n} from '../types';\nimport { checkDynamicCreation } from '../utils/checkDynamicCreation';\nimport createWarnTooManyClasses from '../utils/createWarnTooManyClasses';\nimport determineTheme from '../utils/determineTheme';\nimport { EMPTY_ARRAY, EMPTY_OBJECT } from '../utils/empties';\nimport escape from '../utils/escape';\nimport generateComponentId from '../utils/generateComponentId';\nimport generateDisplayName from '../utils/generateDisplayName';\nimport getComponentName from '../utils/getComponentName';\nimport isFunction from '../utils/isFunction';\nimport isStyledComponent from '../utils/isStyledComponent';\nimport isTag from '../utils/isTag';\nimport joinStrings from '../utils/joinStrings';\nimport merge from '../utils/mixinDeep';\nimport ComponentStyle from './ComponentStyle';\nimport { useStyleSheet, useStylis } from './StyleSheetManager';\nimport { ThemeContext } from './ThemeProvider';\n\nconst identifiers = {};\n\n/* We depend on components having unique IDs */\nfunction generateId(displayName?: string, parentComponentId?: string) {\n const name = typeof displayName !== 'string' ? 'sc' : escape(displayName);\n // Ensure that no displayName can lead to duplicate componentIds\n identifiers[name] = (identifiers[name] || 0) + 1;\n\n const componentId = `${name}-${generateComponentId(\n // SC_VERSION gives us isolation between multiple runtimes on the page at once\n // this is improved further with use of the babel plugin \"namespace\" feature\n SC_VERSION + name + identifiers[name]\n )}`;\n\n return parentComponentId ? `${parentComponentId}-${componentId}` : componentId;\n}\n\nfunction useResolvedAttrs(theme: any = EMPTY_OBJECT, props: Config, attrs: Attrs) {\n // NOTE: can't memoize this\n // returns [context, resolvedAttrs]\n // where resolvedAttrs is only the things injected by the attrs themselves\n const context = { ...props, theme };\n const resolvedAttrs = {};\n\n attrs.forEach(attrDef => {\n let resolvedAttrDef = attrDef;\n let key;\n\n if (isFunction(resolvedAttrDef)) {\n resolvedAttrDef = resolvedAttrDef(context);\n }\n\n /* eslint-disable guard-for-in */\n for (key in resolvedAttrDef) {\n context[key] = resolvedAttrs[key] =\n key === 'className'\n ? joinStrings(resolvedAttrs[key], resolvedAttrDef[key])\n : resolvedAttrDef[key];\n }\n /* eslint-enable guard-for-in */\n });\n\n return [context, resolvedAttrs];\n}\n\nfunction useInjectedStyle(\n componentStyle: ComponentStyle,\n isStatic: boolean,\n resolvedAttrs: T,\n warnTooManyClasses?: $Call\n) {\n const styleSheet = useStyleSheet();\n const stylis = useStylis();\n\n const className = isStatic\n ? componentStyle.generateAndInjectStyles(EMPTY_OBJECT, styleSheet, stylis)\n : componentStyle.generateAndInjectStyles(resolvedAttrs, styleSheet, stylis);\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n if (process.env.NODE_ENV !== 'production') useDebugValue(className);\n\n if (process.env.NODE_ENV !== 'production' && !isStatic && warnTooManyClasses) {\n warnTooManyClasses(className);\n }\n\n return className;\n}\n\nfunction useStyledComponentImpl(\n forwardedComponent: IStyledComponent,\n props: Object,\n forwardedRef: Ref,\n isStatic: boolean\n) {\n const {\n attrs: componentAttrs,\n componentStyle,\n defaultProps,\n foldedComponentIds,\n shouldForwardProp,\n styledComponentId,\n target,\n } = forwardedComponent;\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n if (process.env.NODE_ENV !== 'production') useDebugValue(styledComponentId);\n\n // NOTE: the non-hooks version only subscribes to this when !componentStyle.isStatic,\n // but that'd be against the rules-of-hooks. We could be naughty and do it anyway as it\n // should be an immutable value, but behave for now.\n const theme = determineTheme(props, useContext(ThemeContext), defaultProps);\n\n const [context, attrs] = useResolvedAttrs(theme || EMPTY_OBJECT, props, componentAttrs);\n\n const generatedClassName = useInjectedStyle(\n componentStyle,\n isStatic,\n context,\n process.env.NODE_ENV !== 'production' ? forwardedComponent.warnTooManyClasses : undefined\n );\n\n const refToForward = forwardedRef;\n\n const elementToBeCreated: Target = attrs.$as || props.$as || attrs.as || props.as || target;\n\n const isTargetTag = isTag(elementToBeCreated);\n const computedProps = attrs !== props ? { ...props, ...attrs } : props;\n const propsForElement = {};\n\n // eslint-disable-next-line guard-for-in\n for (const key in computedProps) {\n if (key[0] === '$' || key === 'as') continue;\n else if (key === 'forwardedAs') {\n propsForElement.as = computedProps[key];\n } else if (\n shouldForwardProp ? shouldForwardProp(key, validAttr) : isTargetTag ? validAttr(key) : true\n ) {\n // Don't pass through non HTML tags through to HTML elements\n propsForElement[key] = computedProps[key];\n }\n }\n\n if (props.style && attrs.style !== props.style) {\n propsForElement.style = { ...props.style, ...attrs.style };\n }\n\n propsForElement.className = Array.prototype\n .concat(\n foldedComponentIds,\n styledComponentId,\n generatedClassName !== styledComponentId ? generatedClassName : null,\n props.className,\n attrs.className\n )\n .filter(Boolean)\n .join(' ');\n\n propsForElement.ref = refToForward;\n\n return createElement(elementToBeCreated, propsForElement);\n}\n\nexport default function createStyledComponent(\n target: $PropertyType,\n options: {\n attrs?: Attrs,\n componentId: string,\n displayName?: string,\n parentComponentId?: string,\n shouldForwardProp?: ShouldForwardProp,\n },\n rules: RuleSet\n) {\n const isTargetStyledComp = isStyledComponent(target);\n const isCompositeComponent = !isTag(target);\n\n const {\n attrs = EMPTY_ARRAY,\n componentId = generateId(options.displayName, options.parentComponentId),\n displayName = generateDisplayName(target),\n } = options;\n\n const styledComponentId =\n options.displayName && options.componentId\n ? `${escape(options.displayName)}-${options.componentId}`\n : options.componentId || componentId;\n\n // fold the underlying StyledComponent attrs up (implicit extend)\n const finalAttrs =\n isTargetStyledComp && ((target: any): IStyledComponent).attrs\n ? Array.prototype.concat(((target: any): IStyledComponent).attrs, attrs).filter(Boolean)\n : attrs;\n\n // eslint-disable-next-line prefer-destructuring\n let shouldForwardProp = options.shouldForwardProp;\n\n if (isTargetStyledComp && target.shouldForwardProp) {\n if (options.shouldForwardProp) {\n // compose nested shouldForwardProp calls\n shouldForwardProp = (prop, filterFn) =>\n ((((target: any): IStyledComponent).shouldForwardProp: any): ShouldForwardProp)(\n prop,\n filterFn\n ) && ((options.shouldForwardProp: any): ShouldForwardProp)(prop, filterFn);\n } else {\n // eslint-disable-next-line prefer-destructuring\n shouldForwardProp = ((target: any): IStyledComponent).shouldForwardProp;\n }\n }\n\n const componentStyle = new ComponentStyle(\n rules,\n styledComponentId,\n isTargetStyledComp ? ((target: Object).componentStyle: ComponentStyle) : undefined\n );\n\n // statically styled-components don't need to build an execution context object,\n // and shouldn't be increasing the number of class names\n const isStatic = componentStyle.isStatic && attrs.length === 0;\n\n /**\n * forwardRef creates a new interim component, which we'll take advantage of\n * instead of extending ParentComponent to create _another_ interim class\n */\n let WrappedStyledComponent: IStyledComponent;\n\n const forwardRef = (props, ref) =>\n // eslint-disable-next-line\n useStyledComponentImpl(WrappedStyledComponent, props, ref, isStatic);\n\n forwardRef.displayName = displayName;\n\n WrappedStyledComponent = ((React.forwardRef(forwardRef): any): IStyledComponent);\n WrappedStyledComponent.attrs = finalAttrs;\n WrappedStyledComponent.componentStyle = componentStyle;\n WrappedStyledComponent.displayName = displayName;\n WrappedStyledComponent.shouldForwardProp = shouldForwardProp;\n\n // this static is used to preserve the cascade of static classes for component selector\n // purposes; this is especially important with usage of the css prop\n WrappedStyledComponent.foldedComponentIds = isTargetStyledComp\n ? Array.prototype.concat(\n ((target: any): IStyledComponent).foldedComponentIds,\n ((target: any): IStyledComponent).styledComponentId\n )\n : EMPTY_ARRAY;\n\n WrappedStyledComponent.styledComponentId = styledComponentId;\n\n // fold the underlying StyledComponent target up since we folded the styles\n WrappedStyledComponent.target = isTargetStyledComp\n ? ((target: any): IStyledComponent).target\n : target;\n\n WrappedStyledComponent.withComponent = function withComponent(tag: Target) {\n const { componentId: previousComponentId, ...optionsToCopy } = options;\n\n const newComponentId =\n previousComponentId &&\n `${previousComponentId}-${isTag(tag) ? tag : escape(getComponentName(tag))}`;\n\n const newOptions = {\n ...optionsToCopy,\n attrs: finalAttrs,\n componentId: newComponentId,\n };\n\n return createStyledComponent(tag, newOptions, rules);\n };\n\n Object.defineProperty(WrappedStyledComponent, 'defaultProps', {\n get() {\n return this._foldedDefaultProps;\n },\n\n set(obj) {\n this._foldedDefaultProps = isTargetStyledComp\n ? merge({}, ((target: any): IStyledComponent).defaultProps, obj)\n : obj;\n },\n });\n\n if (process.env.NODE_ENV !== 'production') {\n checkDynamicCreation(displayName, styledComponentId);\n\n WrappedStyledComponent.warnTooManyClasses = createWarnTooManyClasses(\n displayName,\n styledComponentId\n );\n }\n\n WrappedStyledComponent.toString = () => `.${WrappedStyledComponent.styledComponentId}`;\n\n if (isCompositeComponent) {\n hoist<\n IStyledStatics,\n $PropertyType,\n { [key: $Keys]: true }\n >(WrappedStyledComponent, ((target: any): $PropertyType), {\n // all SC-specific things should not be hoisted\n attrs: true,\n componentStyle: true,\n displayName: true,\n foldedComponentIds: true,\n shouldForwardProp: true,\n styledComponentId: true,\n target: true,\n withComponent: true,\n });\n }\n\n return WrappedStyledComponent;\n}\n","// @flow\nimport StyleSheet from '../sheet';\nimport type { RuleSet, Stringifier } from '../types';\nimport flatten from '../utils/flatten';\nimport isStaticRules from '../utils/isStaticRules';\n\nexport default class GlobalStyle {\n componentId: string;\n\n isStatic: boolean;\n\n rules: RuleSet;\n\n constructor(rules: RuleSet, componentId: string) {\n this.rules = rules;\n this.componentId = componentId;\n this.isStatic = isStaticRules(rules);\n\n // pre-register the first instance to ensure global styles\n // load before component ones\n StyleSheet.registerId(this.componentId + 1);\n }\n\n createStyles(\n instance: number,\n executionContext: Object,\n styleSheet: StyleSheet,\n stylis: Stringifier\n ) {\n const flatCSS = flatten(this.rules, executionContext, styleSheet, stylis);\n const css = stylis(flatCSS.join(''), '');\n const id = this.componentId + instance;\n\n // NOTE: We use the id as a name as well, since these rules never change\n styleSheet.insertRules(id, id, css);\n }\n\n removeStyles(instance: number, styleSheet: StyleSheet) {\n styleSheet.clearRules(this.componentId + instance);\n }\n\n renderStyles(\n instance: number,\n executionContext: Object,\n styleSheet: StyleSheet,\n stylis: Stringifier\n ) {\n if (instance > 2) StyleSheet.registerId(this.componentId + instance);\n\n // NOTE: Remove old styles, then inject the new ones\n this.removeStyles(instance, styleSheet);\n this.createStyles(instance, executionContext, styleSheet, stylis);\n }\n}\n","// @flow\n/* eslint-disable no-underscore-dangle */\nimport React from 'react';\nimport { IS_BROWSER, SC_ATTR, SC_ATTR_VERSION, SC_VERSION } from '../constants';\nimport throwStyledError from '../utils/error';\nimport getNonce from '../utils/nonce';\nimport StyleSheet from '../sheet';\nimport StyleSheetManager from './StyleSheetManager';\n\ndeclare var __SERVER__: boolean;\n\nconst CLOSING_TAG_R = /^\\s*<\\/[a-z]/i;\n\nexport default class ServerStyleSheet {\n isStreaming: boolean;\n\n instance: StyleSheet;\n\n sealed: boolean;\n\n constructor() {\n this.instance = new StyleSheet({ isServer: true });\n this.sealed = false;\n }\n\n _emitSheetCSS = (): string => {\n const css = this.instance.toString();\n const nonce = getNonce();\n const attrs = [nonce && `nonce=\"${nonce}\"`, `${SC_ATTR}=\"true\"`, `${SC_ATTR_VERSION}=\"${SC_VERSION}\"`];\n const htmlAttr = attrs.filter(Boolean).join(' ');\n\n return ``;\n };\n\n collectStyles(children: any) {\n if (this.sealed) {\n return throwStyledError(2);\n }\n\n return {children};\n }\n\n getStyleTags = (): string => {\n if (this.sealed) {\n return throwStyledError(2);\n }\n\n return this._emitSheetCSS();\n };\n\n getStyleElement = () => {\n if (this.sealed) {\n return throwStyledError(2);\n }\n\n const props = {\n [SC_ATTR]: '',\n [SC_ATTR_VERSION]: SC_VERSION,\n dangerouslySetInnerHTML: {\n __html: this.instance.toString(),\n },\n };\n\n const nonce = getNonce();\n if (nonce) {\n (props: any).nonce = nonce;\n }\n\n // v4 returned an array for this fn, so we'll do the same for v5 for backward compat\n return [`;\n };\n\n collectStyles(children: any) {\n if (this.sealed) {\n return throwStyledError(2);\n }\n\n return {children};\n }\n\n getStyleTags = (): string => {\n if (this.sealed) {\n return throwStyledError(2);\n }\n\n return this._emitSheetCSS();\n };\n\n getStyleElement = () => {\n if (this.sealed) {\n return throwStyledError(2);\n }\n\n const props = {\n [SC_ATTR]: '',\n [SC_ATTR_VERSION]: SC_VERSION,\n dangerouslySetInnerHTML: {\n __html: this.instance.toString(),\n },\n };\n\n const nonce = getNonce();\n if (nonce) {\n (props: any).nonce = nonce;\n }\n\n // v4 returned an array for this fn, so we'll do the same for v5 for backward compat\n return [