UNPKG

ngx-extended-pdf-viewer

Version:

Embedding PDF files in your Angular application. Highly configurable viewer including the toolbar, sidebar, and all the features you're used to.

1 lines 774 kB
{"version":3,"file":"ngx-extended-pdf-viewer.mjs","sources":["../../../projects/ngx-extended-pdf-viewer/src/lib/events/find-result.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/options/pdf-default-options.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/options/verbosity-level.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/pdf-dummy-components/pdf-dummy-components.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/pdf-dummy-components/pdf-dummy-components.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/theme/pdf-dark-theme/colors-css.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/theme/pdf-dark-theme/pdf-dark-theme.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/theme/pdf-dark-theme/pdf-dark-theme.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/theme/pdf-light-theme/colors-css.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/theme/pdf-light-theme/pdf-light-theme.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/theme/pdf-light-theme/pdf-light-theme.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/dynamic-css/dynamic-css.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/dynamic-css/dynamic-css.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/ngx-extended-pdf-viewer-server.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/ngx-extended-pdf-viewer-server.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/pdf-dialog/pdf-document-properties-dialog/pdf-document-properties-dialog.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/pdf-dialog/pdf-document-properties-dialog/pdf-document-properties-dialog.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/pdf-dialog/pdf-error-message/pdf-error-message.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/pdf-dialog/pdf-error-message/pdf-error-message.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/pdf-dialog/pdf-password-dialog/pdf-password-dialog.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/pdf-dialog/pdf-password-dialog/pdf-password-dialog.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/pdf-dialog/pdf-prepare-printing-dialog/pdf-prepare-printing-dialog.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/pdf-dialog/pdf-prepare-printing-dialog/pdf-prepare-printing-dialog.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/pdf-notification-service.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/secondary-toolbar/pdf-secondary-toolbar/pdf-secondary-toolbar.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/secondary-toolbar/pdf-secondary-toolbar/pdf-secondary-toolbar.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/sidebar/pdf-sidebar/pdf-sidebar-content/pdf-sidebar-content.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/sidebar/pdf-sidebar/pdf-sidebar-content/pdf-sidebar-content.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/sidebar/pdf-sidebar/pdf-sidebar-toolbar/pdf-sidebar-toolbar.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/sidebar/pdf-sidebar/pdf-sidebar-toolbar/pdf-sidebar-toolbar.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/sidebar/pdf-sidebar/pdf-sidebar.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/sidebar/pdf-sidebar/pdf-sidebar.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/theme/acroform-dark-theme/pdf-acroform-dark-colors-css.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/theme/acroform-dark-theme/pdf-acroform-dark-theme.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/theme/acroform-default-theme/pdf-acroform-default-colors-css.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/theme/acroform-default-theme/pdf-acroform-default-theme.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/theme/pdf-original-theme/pdf-original.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/theme/pdf-original-theme/pdf-original.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-bookmark/pdf-bookmark.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-bookmark/pdf-bookmark.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-context-menu/pdf-context-menu.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-context-menu/pdf-context-menu.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-download/pdf-download.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-download/pdf-download.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-find-button/pdf-find-button.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-find-button/pdf-find-button.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-find-current-page-only/pdf-find-current-page-only.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-find-current-page-only/pdf-find-current-page-only.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-service.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-search-input-field/pdf-search-input-field.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-search-input-field/pdf-search-input-field.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-find-previous/pdf-find-previous.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-find-previous/pdf-find-previous.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-find-next/pdf-find-next.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-find-next/pdf-find-next.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-find-input-area/pdf-find-input-area.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-find-input-area/pdf-find-input-area.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-find-range/pdf-find-range.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-find-range/pdf-find-range.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-message-container/pdf-findbar-message-container.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-message-container/pdf-findbar-message-container.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-options-one-container/pdf-find-highlight-all/pdf-find-highlight-all.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-options-one-container/pdf-find-highlight-all/pdf-find-highlight-all.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-options-one-container/pdf-find-match-case/pdf-find-match-case.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-options-one-container/pdf-find-match-case/pdf-find-match-case.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-options-one-container/pdf-findbar-options-one-container.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-options-one-container/pdf-findbar-options-one-container.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-options-three-container/pdf-find-fuzzily/pdf-find-fuzzily.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-options-three-container/pdf-find-fuzzily/pdf-find-fuzzily.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-options-three-container/pdf-find-ignore-accents/pdf-find-ignore-accents.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-options-three-container/pdf-find-ignore-accents/pdf-find-ignore-accents.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-options-three-container/pdf-find-results-count/pdf-find-results-count.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-options-three-container/pdf-find-results-count/pdf-find-results-count.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-options-three-container/pdf-findbar-options-three-container.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-options-three-container/pdf-findbar-options-three-container.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-options-two-container/pdf-find-entire-phrase/pdf-find-entire-phrase.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-options-two-container/pdf-find-entire-phrase/pdf-find-entire-phrase.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-options-two-container/pdf-find-entire-word/pdf-find-entire-word.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-options-two-container/pdf-find-entire-word/pdf-find-entire-word.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-options-two-container/pdf-findbar-options-two-container.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar-options-two-container/pdf-findbar-options-two-container.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-findbar/pdf-findbar.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/options/pdf-cursor-tools.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-hand-tool/pdf-hand-tool.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-hand-tool/pdf-hand-tool.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-open-file/pdf-open-file.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-open-file/pdf-open-file.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-paging-area/pdf-first-page/pdf-first-page.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-paging-area/pdf-first-page/pdf-first-page.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-paging-area/pdf-last-page/pdf-last-page.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-paging-area/pdf-last-page/pdf-last-page.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-paging-area/pdf-next-page/pdf-next-page.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-paging-area/pdf-next-page/pdf-next-page.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-paging-area/pdf-page-number/pdf-page-number.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-paging-area/pdf-page-number/pdf-page-number.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-paging-area/pdf-previous-page/pdf-previous-page.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-paging-area/pdf-previous-page/pdf-previous-page.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-paging-area/pdf-paging-area.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-paging-area/pdf-paging-area.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-presentation-mode/pdf-presentation-mode.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-presentation-mode/pdf-presentation-mode.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-print/pdf-print.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-print/pdf-print.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-rotate-page/pdf-rotate-page.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-rotate-page/pdf-rotate-page.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-select-tool/pdf-select-tool.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-select-tool/pdf-select-tool.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-toggle-secondary-toolbar/pdf-toggle-secondary-toolbar.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-toggle-secondary-toolbar/pdf-toggle-secondary-toolbar.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-toggle-sidebar/pdf-toggle-sidebar.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-toggle-sidebar/pdf-toggle-sidebar.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-zoom-toolbar/pdf-zoom-out/pdf-zoom-out.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-zoom-toolbar/pdf-zoom-out/pdf-zoom-out.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-zoom-toolbar/pdf-zoom-in/pdf-zoom-in.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-zoom-toolbar/pdf-zoom-in/pdf-zoom-in.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-zoom-toolbar/pdf-zoom-dropdown/pdf-zoom-dropdown.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-zoom-toolbar/pdf-zoom-dropdown/pdf-zoom-dropdown.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-zoom-toolbar/pdf-zoom-toolbar.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-zoom-toolbar/pdf-zoom-toolbar.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-toolbar/pdf-toolbar.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/toolbar/pdf-toolbar/pdf-toolbar.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/translate.pipe.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/ngx-extended-pdf-viewer-common.module.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/ngx-extended-pdf-viewer-server.service.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/ngx-extended-pdf-viewer-server.module.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/options/pdf-viewer.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/pinch-on-mobile-support.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/unit-to-px.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/relative-coords-support.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/ngx-extended-pdf-viewer.service.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/ngx-extended-pdf-viewer.component.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/ngx-extended-pdf-viewer.component.html","../../../projects/ngx-extended-pdf-viewer/src/lib/options/ngx-console.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/ngx-extended-pdf-viewer.module.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/options/link-target.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/options/password-prompt.ts","../../../projects/ngx-extended-pdf-viewer/src/lib/pdf-document-properties-extractor.ts","../../../projects/ngx-extended-pdf-viewer/src/public_api.ts","../../../projects/ngx-extended-pdf-viewer/src/ngx-extended-pdf-viewer.ts"],"sourcesContent":["export enum FindState {\n  FOUND = 0,\n  NOT_FOUND = 1,\n  WRAPPED = 2,\n  PENDING = 3\n}\n\nexport interface FindResultMatchesCount {\n  current?: number;\n  total?: number;\n  matches?: Array<any>;\n  matchesLength?: Array<any>;\n  matchesColor?: Array<any>;\n\n}\n\nexport interface FindResult {\n  state: FindState;\n  previous: any;\n  matchesCount: FindResultMatchesCount;\n}\n","const _isIE11 = typeof window === 'undefined' ? false : !!(<any>window).MSInputMethodContext && !!(<any>document).documentMode;\nconst isEdge = typeof navigator === 'undefined' || /Edge\\/\\d./i.test(navigator.userAgent);\nconst needsES5 = typeof ReadableStream === 'undefined' || typeof Promise['allSettled'] === 'undefined';\n\nexport const pdfjsVersion = '2.15.671';\nexport const pdfjsBleedingEdgeVersion = '2.16.323';\nexport function getVersionSuffix(folder: string): string {\n  if (folder && folder.includes('bleeding-edge')) {\n    return pdfjsBleedingEdgeVersion;\n  }\n  return pdfjsVersion;\n}\n\nexport let pdfDefaultOptions = {\n  needsES5: _isIE11 || isEdge || needsES5,\n  cursorToolOnLoad: 0,\n  defaultUrl: '',\n  defaultZoomValue: undefined,\n  disableHistory: false,\n  disablePageLabels: false,\n  enablePrintAutoRotate: false,\n  enableWebGL: false,\n  eventBusDispatchToDOM: false,\n  externalLinkRel: 'noopener noreferrer nofollow',\n  externalLinkTarget: 0,\n  historyUpdateUrl: false,\n  ignoreDestinationZoom: false,\n  imageResourcesPath: './images/',\n  maxCanvasPixels: 16777216,\n  pdfBugEnabled: false,\n  rangeChunkSize: 65536,\n  removePageBorders: false,\n  renderer: 'canvas',\n  renderInteractiveForms: true, // renamed - until pdf.js 2.10\n  renderForms: true, // renamed - since pdf.js 2.11\n  enableXfa: true,\n  sidebarViewOnLoad: -1,\n  scrollModeOnLoad: -1,\n  spreadModeOnLoad: -1,\n  textLayerMode: 2,\n  useOnlyCssZoom: false,\n  viewOnLoad: 0,\n  cMapPacked: true,\n  cMapUrl: () => `./${pdfDefaultOptions.assetsFolder}/cmaps/`,\n  disableAutoFetch: false,\n  disableCreateObjectURL: false,\n  disableFontFace: false,\n  disableRange: false,\n  disableStream: false,\n  isEvalSupported: true,\n  maxImageSize: -1,\n  pdfBug: false,\n  postMessageTransfers: true,\n  verbosity: 1,\n  workerPort: null,\n  assetsFolder: 'assets',\n  sandboxBundleSrc: () =>\n    pdfDefaultOptions.needsES5\n      ? `./${pdfDefaultOptions.assetsFolder}/pdf.sandbox-${getVersionSuffix(pdfDefaultOptions.assetsFolder)}-es5.js`\n      : `./${pdfDefaultOptions.assetsFolder}/pdf.sandbox-${getVersionSuffix(pdfDefaultOptions.assetsFolder)}.js`,\n  workerSrc: () =>\n    pdfDefaultOptions.needsES5\n      ? `./${pdfDefaultOptions.assetsFolder}/pdf.worker-${getVersionSuffix(pdfDefaultOptions.assetsFolder)}-es5.js`\n      : `./${pdfDefaultOptions.assetsFolder}/pdf.worker-${getVersionSuffix(pdfDefaultOptions.assetsFolder)}.js`,\n  standardFontDataUrl: () => `../${pdfDefaultOptions.assetsFolder}/standard_fonts/`,\n\n  // options specific to ngx-extended-pdf-viewer (as opposed to being used by pdf.js)\n  doubleTapZoomFactor: 'page-width',\n  enableScripting: true,\n  defaultCacheSize: 50,\n  passwordPrompt: undefined,\n  annotationEditorEnabled: false,\n};\n\nif (typeof window !== 'undefined') {\n  if ((<any>window).pdfDefaultOptions) {\n    pdfDefaultOptions = (<any>window).pdfDefaultOptions;\n  } else {\n    (<any>window).pdfDefaultOptions = pdfDefaultOptions;\n  }\n}\n","export enum VerbosityLevel {\n  ERRORS = 0,\n  WARNINGS = 1,\n  INFOS = 5\n};\n","import { Component } from '@angular/core';\n\n/** List of all fields that can be customized */\nconst requiredIds = [\n  'toolbarViewer',\n  'numPages',\n  'pageNumber',\n  'scaleSelectContainer',\n  'customScaleOption',\n  'scaleSelect',\n  'scrollPage',\n  'previous',\n  'next',\n  'zoomIn',\n  'zoomOut',\n  'viewFind',\n  'openFile',\n  'print',\n  'presentationMode',\n  'download',\n  'viewBookmark',\n  'secondaryToolbar',\n  'secondaryToolbarToggle',\n  'secondaryToolbarButtonContainer',\n  'secondaryPresentationMode',\n  'secondaryOpenFile',\n  'secondaryPrint',\n  'secondaryDownload',\n  'secondaryViewBookmark',\n  'firstPage',\n  'lastPage',\n  'pageRotateCw',\n  'pageRotateCcw',\n  'cursorSelectTool',\n  'cursorHandTool',\n  'scrollVertical',\n  'scrollHorizontal',\n  'scrollWrapped',\n  'spreadNone',\n  'spreadOdd',\n  'spreadEven',\n  'documentProperties',\n  'contextFirstPage',\n  'contextLastPage',\n  'contextPageRotateCw',\n  'contextPageRotateCcw',\n  'currentOutlineItem',\n  'outerContainer',\n  'viewerContainer',\n  'sidebarToggle',\n  'viewThumbnail',\n  'viewOutline',\n  'viewAttachments',\n  'thumbnailView',\n  'outlineView',\n  'attachmentsView',\n  'outerContainer',\n  'sidebarResizer',\n  'outlineOptionsContainer',\n  'findbar',\n  'viewFind',\n  'findInput',\n  'findInputMultiline',\n  'findHighlightAll',\n  'findCurrentPage',\n  'findRange',\n  'findMatchCase',\n  'findMatchDiacritics',\n  'findEntireWord',\n  'findMultipleSearchTexts',\n  'findIgnoreAccents',\n  'findMsg',\n  'findResultsCount',\n  'findPrevious',\n  'findNext',\n  'findFuzzy',\n  'passwordOverlay',\n  'passwordText',\n  'password',\n  'passwordSubmit',\n  'passwordCancel',\n  'documentPropertiesOverlay',\n  'documentPropertiesClose',\n  'fileNameField',\n  'fileSizeField',\n  'titleField',\n  'authorField',\n  'subjectField',\n  'keywordsField',\n  'creationDateField',\n  'modificationDateField',\n  'creatorField',\n  'producerField',\n  'versionField',\n  'pageCountField',\n  'pageSizeField',\n  'linearizedField',\n  'errorWrapper',\n  'errorMessage',\n  'errorClose',\n  'errorMoreInfo',\n  'errorShowMore',\n  'errorShowLess',\n  'scaleSelectContainer',\n  'viewAttachments',\n  'viewLayers',\n  'viewThumbnail',\n  'viewOutline',\n  'editorModeButtons',\n  'editorNone',\n  'editorFreeText',\n];\n\n@Component({\n  selector: 'pdf-dummy-components',\n  templateUrl: './pdf-dummy-components.component.html',\n})\nexport class PdfDummyComponentsComponent {\n  private dummyComponentsContainer: Element;\n\n  public addMissingStandardWidgets(): void {\n    this.dummyComponentsContainer = document.getElementsByClassName('dummy-pdf-viewer-components')[0];\n    const container = this.dummyComponentsContainer as HTMLElement;\n    if (container) {\n      for (let i = 0; i < container.children.length; i++) {\n        const child = container.firstChild;\n        if (child) {\n          container.removeChild(child);\n        }\n      }\n    }\n\n    requiredIds.forEach((id) => {\n      if (this.needsDummyWidget(id)) {\n        const dummy = document.createElement('span');\n        dummy.id = id;\n        dummy.className = 'invisible dummy-component';\n        this.dummyComponentsContainer.appendChild(dummy);\n      }\n    });\n\n    if (this.needsDummyWidget('scaleSelect')) {\n      const dummy = document.createElement('select');\n      dummy.id = 'scaleSelect';\n      dummy.className = 'invisible dummy-component';\n      this.dummyComponentsContainer.appendChild(dummy);\n    }\n  }\n\n  private needsDummyWidget(id: string): boolean {\n    const widget = document.getElementById(id);\n    if (!widget) {\n      return true;\n    }\n    return false;\n  }\n}\n","<span class=\"invisible dummy-pdf-viewer-components\">\n</span>\n","export const css=`ngx-extended-pdf-viewer .textLayer{position:absolute;text-align:initial;left:0;top:0;right:0;bottom:0;overflow:hidden;opacity:.2;line-height:1;text-size-adjust:none;forced-color-adjust:none}ngx-extended-pdf-viewer .textLayer span,ngx-extended-pdf-viewer .textLayer br{color:rgba(0,0,0,0);position:absolute;white-space:pre;cursor:text;transform-origin:0% 0%}ngx-extended-pdf-viewer .textLayer span.markedContent{top:0;height:0}ngx-extended-pdf-viewer .textLayer .highlight{margin:-1px;padding:1px;background-color:var(rgb(180, 0, 170));border-radius:4px}ngx-extended-pdf-viewer .textLayer .highlight.appended{position:initial}ngx-extended-pdf-viewer .textLayer .highlight.begin{border-radius:4px 0 0 4px}ngx-extended-pdf-viewer .textLayer .highlight.end{border-radius:0 4px 4px 0}ngx-extended-pdf-viewer .textLayer .highlight.middle{border-radius:0}ngx-extended-pdf-viewer .textLayer .highlight.selected{background-color:#006400}ngx-extended-pdf-viewer .textLayer ::selection{background:blue}ngx-extended-pdf-viewer .textLayer br::selection{background:rgba(0,0,0,0)}ngx-extended-pdf-viewer .textLayer .endOfContent{display:block;position:absolute;left:0;top:100%;right:0;bottom:0;z-index:-1;cursor:default;user-select:none}ngx-extended-pdf-viewer .textLayer .endOfContent.active{top:0}ngx-extended-pdf-viewer *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}ngx-extended-pdf-viewer :root{--pdfViewer-padding-bottom: none;--page-margin: 1px auto -8px;--page-border: 9px solid transparent;--spreadHorizontalWrapped-margin-LR: -3.5px;--zoom-factor: 1}@media screen and (forced-colors: active){ngx-extended-pdf-viewer :root{--pdfViewer-padding-bottom: 9px;--page-margin: 9px auto 0;--page-border: none;--spreadHorizontalWrapped-margin-LR: 4.5px}}ngx-extended-pdf-viewer [data-main-rotation=\"90\"]{transform:rotate(90deg) translateY(-100%)}ngx-extended-pdf-viewer [data-main-rotation=\"180\"]{transform:rotate(180deg) translate(-100%, -100%)}ngx-extended-pdf-viewer [data-main-rotation=\"270\"]{transform:rotate(270deg) translateX(-100%)}ngx-extended-pdf-viewer .pdfViewer{padding-bottom:var(--pdfViewer-padding-bottom)}ngx-extended-pdf-viewer .pdfViewer .canvasWrapper{overflow:hidden}ngx-extended-pdf-viewer .pdfViewer .page{direction:ltr;width:816px;height:1056px;margin:1px auto -8px auto;position:relative;overflow:visible;border:9px solid rgba(0,0,0,0);background-clip:content-box;-o-border-image:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAA6UlEQVR4Xl2Pi2rEMAwE16fm1f7/r14v7w4rI0IzLAF7hLxNevBSEMEF5+OilNCsRd8ZMyn+a4NmsOT8WJw1lFbSYgGFzF2bLFoLjTClWjKKGRWpDYAGXUnZ4uhbBUzF3Oe/GG/ue2fn4GgsyXhNgysV2JnrhKEMg4fEZcALmiKbNhBBRFpSyDOj1G4QOVly6O1FV54ZZq8OVygrciDt6JazRgi1ljTPH0gbrPmHPXAbCiDd4GawIjip1TPh9tt2sz24qaCjr/jAb/GBFTbq9KZ7Ke/Cqt8nayUikZKsWZK7Fe6bg5dOUt8fZHWG2BHc+6EAAAAASUVORK5CYII=\") 9 9 repeat;border-image:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAA6UlEQVR4Xl2Pi2rEMAwE16fm1f7/r14v7w4rI0IzLAF7hLxNevBSEMEF5+OilNCsRd8ZMyn+a4NmsOT8WJw1lFbSYgGFzF2bLFoLjTClWjKKGRWpDYAGXUnZ4uhbBUzF3Oe/GG/ue2fn4GgsyXhNgysV2JnrhKEMg4fEZcALmiKbNhBBRFpSyDOj1G4QOVly6O1FV54ZZq8OVygrciDt6JazRgi1ljTPH0gbrPmHPXAbCiDd4GawIjip1TPh9tt2sz24qaCjr/jAb/GBFTbq9KZ7Ke/Cqt8nayUikZKsWZK7Fe6bg5dOUt8fZHWG2BHc+6EAAAAASUVORK5CYII=\") 9 9 repeat;background-color:#fff}ngx-extended-pdf-viewer .pdfViewer.removePageBorders .page{margin:0 auto 10px auto;border:none}ngx-extended-pdf-viewer .pdfViewer.singlePageView .page{margin:0}ngx-extended-pdf-viewer .html .pdfViewer.scrollHorizontal,ngx-extended-pdf-viewer .html .pdfViewer.scrollWrapped,ngx-extended-pdf-viewer .html .spread{margin-left:3.5px;margin-right:3.5px;text-align:center}ngx-extended-pdf-viewer .pdfViewer.scrollHorizontal,ngx-extended-pdf-viewer .spread{white-space:nowrap}ngx-extended-pdf-viewer .pdfViewer.removePageBorders,ngx-extended-pdf-viewer .pdfViewer.scrollHorizontal .spread,ngx-extended-pdf-viewer .pdfViewer.scrollWrapped .spread{margin-left:0;margin-right:0}ngx-extended-pdf-viewer .spread .page,ngx-extended-pdf-viewer .pdfViewer.scrollHorizontal .page,ngx-extended-pdf-viewer .pdfViewer.scrollWrapped .page,ngx-extended-pdf-viewer .pdfViewer.scrollHorizontal .spread,ngx-extended-pdf-viewer .pdfViewer.scrollWrapped .spread{display:inline-block;vertical-align:middle}ngx-extended-pdf-viewer .spread .page,ngx-extended-pdf-viewer .pdfViewer.scrollHorizontal .page,ngx-extended-pdf-viewer .pdfViewer.scrollWrapped .page{margin-left:-3.5px;margin-right:-3.5px}ngx-extended-pdf-viewer .pdfViewer.removePageBorders .spread .page,ngx-extended-pdf-viewer .pdfViewer.removePageBorders.scrollHorizontal .page,ngx-extended-pdf-viewer .pdfViewer.removePageBorders.scrollWrapped .page{margin-left:5px;margin-right:5px}ngx-extended-pdf-viewer .pdfViewer .page canvas{margin:0;display:block}ngx-extended-pdf-viewer .pdfViewer .page canvas[hidden]{display:none}ngx-extended-pdf-viewer .pdfViewer .page .loadingIcon{position:absolute;display:block;left:0;top:0;right:0;bottom:0;background:url(\"data:image/gif;base64,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\") center no-repeat}ngx-extended-pdf-viewer .pdfPresentationMode .pdfViewer{margin-left:0;margin-right:0}ngx-extended-pdf-viewer .pdfPresentationMode .pdfViewer .page,ngx-extended-pdf-viewer .pdfPresentationMode .pdfViewer .spread{display:block}ngx-extended-pdf-viewer .pdfPresentationMode .pdfViewer .page,ngx-extended-pdf-viewer .pdfPresentationMode .pdfViewer.removePageBorders .page{margin-left:auto;margin-right:auto}ngx-extended-pdf-viewer .pdfPresentationMode:-ms-fullscreen .pdfViewer .page{margin-bottom:100vh !important}ngx-extended-pdf-viewer .pdfPresentationMode:-webkit-full-screen .pdfViewer .page{margin-bottom:100vh;border:0}ngx-extended-pdf-viewer .pdfPresentationMode:-moz-full-screen .pdfViewer .page{margin-bottom:100vh;border:0}ngx-extended-pdf-viewer .pdfPresentationMode:fullscreen .pdfViewer .page{margin-bottom:100vh;border:0}ngx-extended-pdf-viewer .html .toolbar *,ngx-extended-pdf-viewer .html .treeItem *{padding:0;margin:0}ngx-extended-pdf-viewer .html{height:100%;width:100%;font-size:10px}ngx-extended-pdf-viewer .body{height:100%;width:100%}ngx-extended-pdf-viewer .body,ngx-extended-pdf-viewer .pdf-viewer input,ngx-extended-pdf-viewer .pdf-viewer button,ngx-extended-pdf-viewer .pdf-viewer select{font:message-box;outline:none;scrollbar-color:var(--scrollbar-color) var(--scrollbar-bg-color)}ngx-extended-pdf-viewer button{cursor:pointer}ngx-extended-pdf-viewer select{background-color:#474747 !important;color:#d9d9d9}ngx-extended-pdf-viewer .hidden{display:none !important}ngx-extended-pdf-viewer [hidden]{display:none !important}ngx-extended-pdf-viewer .pdfViewer.enablePermissions .textLayer span{-webkit-user-select:none !important;-moz-user-select:none !important;-ms-user-select:none !important;user-select:none !important;cursor:not-allowed}ngx-extended-pdf-viewer #viewerContainer.pdfPresentationMode:-ms-fullscreen{top:0 !important;overflow:hidden !important}ngx-extended-pdf-viewer #viewerContainer.pdfPresentationMode:-ms-fullscreen::-ms-backdrop{background-color:#000}ngx-extended-pdf-viewer #viewerContainer.pdfPresentationMode:-webkit-full-screen{top:0;border-top:2px solid rgba(0,0,0,0);background-color:#000;width:100%;height:100%;overflow:hidden;cursor:none;-webkit-user-select:none;user-select:none}ngx-extended-pdf-viewer #viewerContainer.pdfPresentationMode:-moz-full-screen{top:0;border-top:2px solid rgba(0,0,0,0);background-color:#000;width:100%;height:100%;overflow:hidden;cursor:none;-moz-user-select:none;user-select:none}ngx-extended-pdf-viewer #viewerContainer.pdfPresentationMode:-ms-fullscreen{top:0;border-top:2px solid rgba(0,0,0,0);background-color:#000;width:100%;height:100%;overflow:hidden;cursor:none;-ms-user-select:none;user-select:none}ngx-extended-pdf-viewer #viewerContainer.pdfPresentationMode:fullscreen{top:0;border-top:2px solid rgba(0,0,0,0);background-color:#000;width:100%;height:100%;overflow:hidden;cursor:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}ngx-extended-pdf-viewer .pdfPresentationMode:-webkit-full-screen a:not(.internalLink){display:none}ngx-extended-pdf-viewer .pdfPresentationMode:-moz-full-screen a:not(.internalLink){display:none}ngx-extended-pdf-viewer .pdfPresentationMode:-ms-fullscreen a:not(.internalLink){display:none}ngx-extended-pdf-viewer .pdfPresentationMode:fullscreen a:not(.internalLink){display:none}ngx-extended-pdf-viewer .pdfPresentationMode:-webkit-full-screen .textLayer span{cursor:none}ngx-extended-pdf-viewer .pdfPresentationMode:-moz-full-screen .textLayer span{cursor:none}ngx-extended-pdf-viewer .pdfPresentationMode:-ms-fullscreen .textLayer span{cursor:none}ngx-extended-pdf-viewer .pdfPresentationMode:fullscreen .textLayer span{cursor:none}ngx-extended-pdf-viewer .pdfPresentationMode.pdfPresentationModeControls>*,ngx-extended-pdf-viewer .pdfPresentationMode.pdfPresentationModeControls .textLayer span{cursor:default}ngx-extended-pdf-viewer #outerContainer{width:100%;height:100%;position:relative}ngx-extended-pdf-viewer #sidebarContainer{position:absolute;top:32px;bottom:0;width:200px;visibility:hidden;z-index:100;transition-duration:200ms;transition-timing-function:ease}html[dir=ltr] ngx-extended-pdf-viewer #sidebarContainer{transition-property:left;left:-200px;left:-200px}html[dir=rtl] ngx-extended-pdf-viewer #sidebarContainer{transition-property:right;right:-200px}ngx-extended-pdf-viewer .loadingInProgress #sidebarContainer{top:36px}ngx-extended-pdf-viewer #outerContainer.sidebarResizing #sidebarContainer{transition-duration:0s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}ngx-extended-pdf-viewer #outerContainer.sidebarMoving #sidebarContainer,ngx-extended-pdf-viewer #outerContainer.sidebarOpen #sidebarContainer{visibility:visible}html[dir=ltr] ngx-extended-pdf-viewer #outerContainer.sidebarOpen #sidebarContainer{left:0}html[dir=rtl] ngx-extended-pdf-viewer #outerContainer.sidebarOpen #sidebarContainer{right:0}ngx-extended-pdf-viewer #mainContainer{position:absolute;top:0;right:0;bottom:0;left:0;min-width:350px}ngx-extended-pdf-viewer #sidebarContent{top:32px;bottom:0;overflow:auto;-webkit-overflow-scrolling:touch;position:absolute;width:100%;background-color:rgba(0,0,0,.1)}html[dir=ltr] ngx-extended-pdf-viewer #sidebarContent{left:0}html[dir=rtl] ngx-extended-pdf-viewer #sidebarContent{right:0}ngx-extended-pdf-viewer #viewerContainer{overflow:auto;-webkit-overflow-scrolling:auto;position:absolute;top:32px;right:0;bottom:0;left:0;outline:none}ngx-extended-pdf-viewer #viewerContainer:not(.pdfPresentationMode){transition-duration:200ms;transition-timing-function:ease}ngx-extended-pdf-viewer #outerContainer.sidebarResizing #viewerContainer{transition-duration:0s}html[dir=ltr] ngx-extended-pdf-viewer #outerContainer.sidebarOpen #viewerContainer:not(.pdfPresentationMode){transition-property:left;left:200px}html[dir=rtl] ngx-extended-pdf-viewer #outerContainer.sidebarOpen #viewerContainer:not(.pdfPresentationMode){transition-property:right;right:200px}ngx-extended-pdf-viewer .toolbar{position:relative;left:0;right:0;z-index:9999;cursor:default;border:0;border-bottom:1px solid rgba(0,0,0,.5)}ngx-extended-pdf-viewer #toolbarContainer{width:100%}ngx-extended-pdf-viewer #toolbarSidebar{width:calc(100% - 10px);height:32px;background-color:#424242;color:#d9d9d9;border:none;padding-top:1px;padding-left:5px;padding-right:5px}html[dir=ltr] #toolbarSidebarRight .toolbarButton{margin-right:3px !important}html[dir=rtl] #toolbarSidebarRight .toolbarButton{margin-left:3px !important}html[dir=ltr] #sidebarToggle{margin-right:5px}html[dir=rtl] #sidebarToggle{margin-left:5px}ngx-extended-pdf-viewer #sidebarResizer{position:absolute;top:0;bottom:0;width:6px;z-index:200;cursor:ew-resize}html[dir=ltr] ngx-extended-pdf-viewer #sidebarResizer{right:-6px}html[dir=rtl] ngx-extended-pdf-viewer #sidebarResizer{left:-6px}ngx-extended-pdf-viewer #toolbarContainer,ngx-extended-pdf-viewer .findbar,ngx-extended-pdf-viewer .secondaryToolbar,ngx-extended-pdf-viewer .editorParamsToolbar{position:relative;min-height:32px;background-color:#474747}ngx-extended-pdf-viewer #toolbarViewer{min-height:32px}ngx-extended-pdf-viewer #loadingBar{position:relative;width:100%;height:4px;background-color:#333;border-bottom:1px solid #333}ngx-extended-pdf-viewer #loadingBar .progress{position:absolute;top:0;left:0;width:0%;height:100%;background-color:#ddd;overflow:hidden;transition:width 200ms}@-webkit-keyframes progressIndeterminate{0%{left:-142px}100%{left:0}}@keyframes progressIndeterminate{0%{left:-142px}100%{left:0}}ngx-extended-pdf-viewer #loadingBar .progress.indeterminate{background-color:#999;transition:none}ngx-extended-pdf-viewer #loadingBar .progress.indeterminate .glimmer{position:absolute;top:0;left:0;height:100%;width:calc(100% + 150px);background:repeating-linear-gradient(135deg, rgb(187, 187, 187) 0, rgb(153, 153, 153) 5px, rgb(153, 153, 153) 45px, rgb(221, 221, 221) 55px, rgb(221, 221, 221) 95px, rgb(187, 187, 187) 100px);-webkit-animation:progressIndeterminate 950ms linear infinite;animation:progressIndeterminate 950ms linear infinite}ngx-extended-pdf-viewer .findbar,ngx-extended-pdf-viewer .secondaryToolbar,ngx-extended-pdf-viewer .editorParamsToolbar{top:40px;position:absolute;z-index:10000;height:auto;min-width:16px;padding:0 6px 0 6px;margin:4px 2px 4px 2px;font-size:12px;line-height:14px;text-align:left;cursor:default}ngx-extended-pdf-viewer .findbar{min-width:300px}ngx-extended-pdf-viewer .findbar>div{height:32px}ngx-extended-pdf-viewer .findbar.wrapContainers>div{clear:both}ngx-extended-pdf-viewer .findbar.wrapContainers>div#findbarMessageContainer{height:auto}html[dir=ltr] ngx-extended-pdf-viewer .findbar{left:34px}html[dir=rtl] ngx-extended-pdf-viewer .findbar{right:34px}ngx-extended-pdf-viewer .findbar label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}ngx-extended-pdf-viewer #findInput{width:200px}ngx-extended-pdf-viewer #findInput::-webkit-input-placeholder{color:#d9d9d9}ngx-extended-pdf-viewer #findInput::-moz-placeholder{font-style:italic}ngx-extended-pdf-viewer #findInput:-ms-input-placeholder{font-style:italic}ngx-extended-pdf-viewer #findInput::-ms-input-placeholder{font-style:italic}ngx-extended-pdf-viewer #findInput::placeholder{font-style:italic}ngx-extended-pdf-viewer #findInput[data-status=pending]{background-image:url(\"data:image/png;base64,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\");background-repeat:no-repeat;background-position:right}html[dir=rtl] ngx-extended-pdf-viewer #findInput[data-status=pending]{background-position:left}#findInput[data-status=notFound]{background-color:#f66}html[dir=rtl] ngx-extended-pdf-viewer ngx-extended-pdf-viewer .secondaryToolbar,html[dir=rtl] ngx-extended-pdf-viewer ngx-extended-pdf-viewer .editorParamsToolbar{padding:6px;height:auto;z-index:3000}html[dir=ltr] ngx-extended-pdf-viewer .secondaryToolbar{right:4px}html[dir=rtl] ngx-extended-pdf-viewer .secondaryToolbar{left:4px}ngx-extended-pdf-viewer editorParamsToolbarContainer{width:220px;margin-bottom:-4px}ngx-extended-pdf-viewer .editorParamsToolbarContainer>.editorParamsSetter{min-height:26px;display:flex;align-items:center;justify-content:space-between;padding-inline:10px}ngx-extended-pdf-viewer .editorParamsToolbarContainer .editorParamsLabel{padding-inline-end:10px;flex:none;color:var(--main-color)}ngx-extended-pdf-viewer .editorParamsToolbarContainer .editorParamsColor{width:32px;height:32px;flex:none}ngx-extended-pdf-viewer .editorParamsToolbarContainer .editorParamsSlider{background-color:rgba(0,0,0,0);width:90px;flex:0 1 0}ngx-extended-pdf-viewer .editorParamsToolbarContainer .editorParamsSlider::-moz-range-progress{background-color:#000}ngx-extended-pdf-viewer .editorParamsToolbarContainer .editorParamsSlider::-webkit-slider-runnable-track,ngx-extended-pdf-viewer .editorParamsToolbarContainer .editorParamsSlider::-moz-range-track{background-color:#000}ngx-extended-pdf-viewer .editorParamsToolbarContainer .editorParamsSlider::-webkit-slider-thumb,ngx-extended-pdf-viewer .editorParamsToolbarContainer .editorParamsSlider::-moz-range-thumb{background-color:#fff}ngx-extended-pdf-viewer #secondaryToolbarButtonContainer{width:250px;max-height:400px;overflow-y:auto;-webkit-overflow-scrolling:touch}ngx-extended-pdf-viewer #secondaryToolbarButtonContainer.hiddenScrollModeButtons>.scrollModeButtons,ngx-extended-pdf-viewer #secondaryToolbarButtonContainer.hiddenSpreadModeButtons>.spreadModeButtons{display:none !important}ngx-extended-pdf-viewer #editorInkParamsToolbar{inset-inline-end:40px;background-color:var(--toolbar-bg-color)}ngx-extended-pdf-viewer #editorFreeTextParamsToolbar{inset-inline-end:68px;background-color:var(--toolbar-bg-color)}ngx-extended-pdf-viewer .doorHanger,ngx-extended-pdf-viewer .doorHangerRight{border:1px solid rgba(0,0,0,.5);border-radius:2px}ngx-extended-pdf-viewer .doorHanger:after,ngx-extended-pdf-viewer .doorHanger:before,ngx-extended-pdf-viewer .doorHangerRight:after,ngx-extended-pdf-viewer .doorHangerRight:before{bottom:100%;border:solid rgba(0,0,0,0);content:\" \";height:0;width:0;position:absolute;pointer-events:none}ngx-extended-pdf-viewer .doorHanger:after,ngx-extended-pdf-viewer .doorHangerRight:after{border-bottom-color:#474747;border-width:8px}ngx-extended-pdf-viewer .doorHanger:before,ngx-extended-pdf-viewer .doorHangerRight:before{border-bottom-color:rgba(0,0,0,.5);border-width:9px}html[dir=ltr] ngx-extended-pdf-viewer .doorHanger:after,html[dir=rtl] ngx-extended-pdf-viewer .doorHangerRight:after{left:13px;margin-left:-8px}html[dir=ltr] ngx-extended-pdf-viewer .doorHanger:before,html[dir=rtl] ngx-extended-pdf-viewer .doorHangerRight:before{left:13px;margin-left:-9px}html[dir=rtl] ngx-extended-pdf-viewer .doorHanger:after,html[dir=ltr] ngx-extended-pdf-viewer .doorHangerRight:after{right:13px;margin-right:-8px}html[dir=rtl] ngx-extended-pdf-viewer .doorHanger:before,html[dir=ltr] ngx-extended-pdf-viewer .doorHangerRight:before{right:13px;margin-right:-9px}ngx-extended-pdf-viewer #findResultsCount{background-color:#d9d9d9;color:#474747;text-align:center;padding:3px 4px}ngx-extended-pdf-viewer #findMsg{font-style:italic;color:#f66}ngx-extended-pdf-viewer #findMsg:empty{display:none}ngx-extended-pdf-viewer #toolbarViewerMiddle{position:absolute;left:50%;transform:translateX(-50%)}html[dir=ltr] ngx-extended-pdf-viewer #toolbarViewerLeft,html[dir=rtl] ngx-extended-pdf-viewer #toolbarViewerRight{float:left;margin-left:4px}html[dir=ltr] #toolbarSidebarLeft,html[dir=rtl] #toolbarSidebarRight{float:left}html[dir=ltr] ngx-extended-pdf-viewer #toolbarViewerRight,html[dir=rtl] ngx-extended-pdf-viewer #toolbarViewerLeft{float:right;margin-right:4px}html[dir=ltr] #toolbarSidebarRight,html[dir=rtl] #toolbarSidebarLeft{float:right}html[dir=ltr] ngx-extended-pdf-viewer #toolbarViewerLeft>*,html[dir=ltr] ngx-extended-pdf-viewer #toolbarViewerMiddle>*,html[dir=ltr] ngx-extended-pdf-viewer #toolbarViewerRight>*{position:relative;float:left}html[dir=ltr] #toolbarSidebarLeft *,html[dir=ltr] #toolbarSidebarRight *,html[dir=ltr] .findbar *{position:relative;float:left}html[dir=rtl] ngx-extended-pdf-viewer #toolbarViewerLeft>*,html[dir=rtl] ngx-extended-pdf-viewer #toolbarViewerMiddle>*,html[dir=rtl] ngx-extended-pdf-viewer #toolbarViewerRight>*,html[dir=rtl] ngx-extended-pdf-viewer .findbar *{position:relative;float:right}html[dir=rtl] #toolbarSidebarLeft *,html[dir=rtl] #toolbarSidebarRight *{position:relative;float:right}ngx-extended-pdf-viewer .toolbarButton,ngx-extended-pdf-viewer .secondaryToolbarButton,ngx-extended-pdf-viewer .dialogButton{border:0 none;background:none;width:32px;height:25px}ngx-extended-pdf-viewer .toolbarButton>span{display:inline-block;width:0;height:0;overflow:hidden}ngx-extended-pdf-viewer .toolbarButton[disabled],ngx-extended-pdf-viewer .secondaryToolbarButton[disabled],ngx-extended-pdf-viewer .dialogButton[disabled]{opacity:.5}ngx-extended-pdf-viewer .toolbarButton,ngx-extended-pdf-viewer .dropdownToolbarButton,ngx-extended-pdf-viewer .secondaryToolbarButton,ngx-extended-pdf-viewer .dialogButton{border:1px solid rgba(0,0,0,0);color:#d9d9d9}ngx-extended-pdf-viewer .toolbarButton,ngx-extended-pdf-viewer .secondaryToolbarButton,ngx-extended-pdf-viewer .dialogButton{min-width:16px;padding:2px 6px 0;border-radius:2px;font-size:12px;line-height:14px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}html[dir=ltr] ngx-extended-pdf-viewer .toolbarButton,html[dir=ltr] ngx-extended-pdf-viewer .dialogButton{margin:3px 2px 4px 0}html[dir=rtl] ngx-extended-pdf-viewer .toolbarButton,html[dir=rtl] ngx-extended-pdf-viewer .dialogButton{margin:3px 0 4px 2px}ngx-extended-pdf-viewer .dialogButton{background-color:rgba(0,0,0,.2);background-clip:padding-box;border:1px solid rgba(0,0,0,.4)}ngx-extended-pdf-viewer .dropdownToolbarButton{background-color:rgba(0,0,0,.2);border:1px solid rgba(0,0,0,.4)}ngx-extended-pdf-viewer .toolbarButton.toggled,ngx-extended-pdf-viewer .secondaryToolbarButton.toggled{background-color:rgba(0,0,0,.2);border-color:rgba(0,0,0,.4)}ngx-extended-pdf-viewer .dropdownToolbarButton>select{color:#d9d9d9;background-color:rgba(255,255,255,.8)}ngx-extended-pdf-viewer .dropdownToolbarButton>select>option{background:#474747}html[dir=ltr] ngx-extended-pdf-viewer .toolbarButton:first-child,html[dir=rtl] ngx-extended-pdf-viewer .toolbarButton:last-child{margin-left:4px}html[dir=ltr] ngx-extended-pdf-viewer .toolbarButton:last-child,html[dir=rtl] ngx-extended-pdf-viewer .toolbarButton:first-child{margin-right:4px}ngx-extended-pdf-viewer .toolbarButtonSpacer{width:30px;display:inline-block;height:1px}html[dir=ltr] ngx-extended-pdf-viewer #findPrevious{margin-left:3px}html[dir=ltr] ngx-extended-pdf-viewer #findNext{margin-right:3px}html[dir=rtl] ngx-extended-pdf-viewer #findPrevious{margin-right:3px}html[dir=rtl] ngx-extended-pdf-viewer #findNext{margin-left:3px}ngx-extended-pdf-viewer .toolbarButton::before,ngx-extended-pdf-viewer .secondaryToolbarButton::before{position:absolute;display:inline-block;top:4px;left:7px}html[dir=ltr] ngx-extended-pdf-viewer .secondaryToolbarButton::before{left:4px}html[dir=rtl] ngx-extended-pdf-viewer .secondaryToolbarButton::before{right:4px}ngx-extended-pdf-viewer .toolbarButton.bookmark,ngx-extended-pdf-viewer .secondaryToolbarButton.bookmark{box-sizing:border-box;outline:none;padding-top:4px;text-decoration:none}ngx-extended-pdf-viewer .secondaryToolbarButton.bookmark{padding-top:5px}ngx-extended-pdf-viewer .bookmark[href=\"#\"]{opacity:.5;pointer-events:none}ngx-extended-pdf-viewer .toolbarButton.pdfSidebarNotification::after{position:absolute;display:inline-block;top:1px;content:\"\";background-color:#70db55;height:9px;width:9px;border-radius:50%}html[dir=ltr] ngx-extended-pdf-viewer .toolbarButton.pdfSidebarNotification::after{left:17px}html[dir=rtl] ngx-extended-pdf-viewer .toolbarButton.pdfSidebarNotification::after{right:17px}ngx-extended-pdf-viewer .secondaryToolbarButton{position:relative;margin:0 0 4px 0;padding:3px 0 1px 0;height:auto;min-height:25px;width:200px;white-space:normal}html[dir=ltr] ngx-extended-pdf-viewer .secondaryToolbarButton{padding-left:24px;text-align:left}html[dir=rtl] ngx-extended-pdf-viewer .secondaryToolbarButton{padding-right:24px;text-align:right}html[dir=ltr] ngx-extended-pdf-viewer .secondaryToolbarButton.bookmark{padding-left:27px}html[dir=rtl] ngx-extended-pdf-viewer .secondaryToolbarButton.bookmark{padding-right:27px}html[dir=ltr] ngx-extended-pdf-viewer .secondaryToolbarButton>span{padding-right:4px}html[dir=rtl] ngx-extended-pdf-viewer .secondaryToolbarButton>span{padding-left:4px}ngx-extended-pdf-viewer .html .toolbarField{padding:3px 6px;margin:4px 0 4px 0;border-radius:2px;background-color:rgba(255,255,255,.8);background-clip:padding-box;border-width:1px;border-style:solid;border-color:rgba(0,0,0,.4);color:#4d4d4d;font-size:12px;line-height:14px;outline-style:none}ngx-extended-pdf-viewer .html .toolbarField::placeholder,ngx-extended-pdf-viewer .html .toolbarField:-ms-input-placeholder,ngx-extended-pdf-viewer .html .toolbarField::-ms-input-placeholder{color:#d9d9d9}ngx-extended-pdf-viewer .html .toolbarField[type=checkbox]{display:inline-block;margin:8px 0}ngx-extended-pdf-viewer .html .toolbarField.pageNumber{-moz-appearance:textfield;min-width:16px;text-align:right;width:40px}ngx-extended-pdf-viewer .html .toolbarField.pageNumber.visiblePageIsLoading{background-image:url(\"data:image/png;base64,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\");background-repeat:no-repeat;background-position:1px}ngx-extended-pdf-viewer .html .toolbarField.pageNumber::-webkit-inner-spin-button,ngx-extended-pdf-viewer .html .toolbarField.pageNumber::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}ngx-extended-pdf-viewer .html .toolbarLabel{min-width:16px;padding:3px 6px 3px 2px;margin:4px 2px 4px 0;border:1px solid rgba(0,0,0,0);border-radius:2px;color:#d9d9d9;font-size:12px;line-height:14px;text-align:left;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}ngx-extended-pdf-viewer .html #thumbnailView{position:absolute;width:calc(100% - 60px);top:0;bottom:0;padding:10px 30px 0;overflow:auto;-webkit-overflow-scrolling:touch}ngx-extended-pdf-viewer .html #thumbnailView>a:active{outline:0}ngx-extended-pdf-viewer .html .thumbnail{margin:0 10px 5px 10px}html[dir=ltr] ngx-extended-pdf-viewer .thumbnail{float:left}html[dir=rtl] ngx-extended-pdf-viewer .thumbnail{float:right}ngx-extended-pdf-viewer #thumbnailView>a:last-of-type>.thumbnail{margin-bottom:10px}ngx-extended-pdf-viewer #thumbnailView>a:last-of-type>.thumbnail:not([data-loaded]){margin-bottom:9px}ngx-extended-pdf-viewer .thumbnail:not([data-loaded]){border:1px dashed rgba(255,0,0,.5);margin:-1px 9px 4px 9px}ngx-extended-pdf-viewer .thumbnailImage{border:1px solid rgba(0,0,0,0);opacity:.8;z-index:1;background-color:#fff;background-clip:content-box}ngx-extended-pdf-viewer .thumbnailSelectionRing{border-radius:2px;padding:7px}ngx-extended-pdf-viewer .thumbnail.selected>.thumbnailSelectionRing>.thumbnailImage{opacity:1}ngx-extended-pdf-viewer .thumbnail.selected>.thumbnailSelectionRing{background-color:rgba(255,255,255,.4);background-clip:padding-box;color:#fff}ngx-extended-pdf-viewer #outlineView,ngx-extended-pdf-viewer #attachmentsView,ngx-extended-pdf-viewer #layersView{position:absolute;width:calc(100% - 8px);top:0;bottom:0;overflow:auto;-webkit-overflow-scrolling:touch;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}ngx-extended-pdf-viewer #outlineView{padding:4px 4px 0}ngx-extended-pdf-viewer #attachmentsView{padding:3px 4px 0}html[dir=ltr] ngx-extended-pdf-viewer .treeWithDeepNesting>.treeItem,html[dir=ltr] ngx-extended-pdf-viewer .treeItem>.treeItems{margin-left:20px}html[dir=rtl] ngx-extended-pdf-viewer .treeWithDeepNesting>.treeItem,html[dir=rtl] ngx-extended-pdf-viewer .treeItem>.treeItems{margin-right:20px}ngx-extended-pdf-viewer .treeItem>a{text-decoration:none;display:inline-block;min-width:95%;min-width:calc(100% - 4px);height:auto;margin-bottom:1px;border-radius:2px;color:#424242;font-size:13px;line-height:15px;user-select:none;white-space:normal;cursor:pointer}html[dir=ltr] ngx-extended-pdf-viewer .treeItem>a{padding:2px 0 5px 4px}html[dir=rtl] ngx-extended-pdf-viewer .treeItem>a{padding:2px 4px 5px 0}ngx-extended-pdf-viewer #layersView .treeItem>a *{cursor:pointer}ngx-extended-pdf-viewer #layersView .treeItem>a>label>input{float:inline-start;margin-top:1px}html[dir=ltr] ngx-extended-pdf-viewer #layersView .treeItem>a>label{padding-left:4px}html[dir=rtl] ngx-extended-pdf-viewer #layersView .treesItem>a>label{padding-right:4px}ngx-extended-pdf-viewer .treeItemToggler{position:relative;height:0;width:0}ngx-extended-pdf-viewer .treeItemToggler::before{content:url(\"data:image/svg+xml; utf8, <svg xmlns='http://www.w3.org/2000/svg' width='16' height='16'><path d='M10 13l4-7H6z'/></svg>\");display:inline-block;position:absolute;max-width:16px}ngx-extended-pdf-viewer .treeItemToggler.treeItemsHidden::before{content:url(\"data:image/svg+xml; utf8, <svg xmlns='http://www.w3.org/2000/svg' width='16' height='16'><path d='M13 9L6 5v8z'/></svg>\");max-width:16px}html[dir=rtl] ngx-extended-pdf-viewer .treeItemToggler.treeItemsHidden::before{transform:scaleX(-1)}ngx-extended-pdf-viewer .treeItemToggler.treeItemsHidden~.treeItems{display:none}html[dir=ltr] ngx-extended-pdf-viewer .treeItemToggler{float:left}html[dir=rtl] ngx-extended-pdf-viewer .treeItemToggler{float:right}html[dir=ltr] ngx-extended-pdf-viewer .treeItemToggler::before{right:4px}html[dir=rtl] ngx-extended-pdf-viewer .treeItemToggler::before{left:4px}ngx-extended-pdf-viewer .treeItemToggler:hover,ngx-extended-pdf-viewer .treeItemToggler:hover+a,ngx-extended-pdf-viewer .treeItemToggler:hover~.treeItems,ngx-extended-pdf-viewer .treeItem>a:hover{background-clip:padding-box;border-radius:2px}ngx-extended-pdf-viewer .treeItem.selected{background-clip:padding-box}ngx-extended-pdf-viewer ::-moz-selection{background:rgba(0,0,255,.3)}ngx-extended-pdf-viewer ::selection{background:rgba(0,0,255,.3)}ngx-extended-pdf-viewer #errorWrapper{background:none repeat scroll 0 0 #f66;color:#fff;left:0;position:absolute;right:0;z-index:5;padding:3px;font-size:.8em}ngx-extended-pdf-viewer .loadingInProgress #errorWrapper{top:37px}ngx-extended-pdf-viewer #errorMessageLeft{float:left}ngx-extended-pdf-viewer #errorMessageRight{float:right}ngx-extended-pdf-viewer #errorMoreInfo{background-color:#fff;color:#f66;padding:3px;margin:3px;width:98%}ngx-extended-pdf-viewer .dialogButton{width:auto;margin:3px 4px 2px !important;padding:2px 11px;color:#d9d9d9;background-color:#474747;border:#474747 !important}ngx-extended-pdf-viewer dialog{margin:auto;padding:15px;border-spacing:4px;color:#d9d9d9;font-size:12px;line-height:14px;background-color:#474747;border:1px solid rgba(0,0,0,.5);border-radius:4px;box-shadow:0 1px 4px rgba(0,0,0,.3)}ngx-extended-pdf-viewer dialog::backdrop{background-color:rgba(0,0,0,.2);user-select:none}ngx-extended-pdf-viewer dialog>.row{display:table-row}ngx-extended-pdf-viewer dialog>.row>*{display:table-cell}ngx-extended-pdf-viewer dialog .toolbarField{margin:5px 0}ngx-extended-pdf-viewer dialog .separator{display:block;margin:4px 0;height:1px;width:100%;background-color:rgba(0,0,0,.4)}ngx-extended-pdf-viewer dialog .buttonRow{text-align:center;vertical-align:middle}ngx-extended-pdf-viewer dialog :link{color:#fff}ngx-extended-pdf-viewer #passwordDialog{text-align:center}ngx-extended-pdf-viewer #passwordDialog .toolbarField{width:200px}ngx-extended-pdf-viewer #documentPropertiesDialog{text-align:left}ngx-extended-pdf-viewer #documentPropertiesDialog .row>*{min-width:100px;text-align:start}ngx-extended-pdf-viewer #documentPropertiesDialog .row>span{width:125px;word-wrap:break-word}ngx-extended-pdf-viewer #documentPropertiesDialog .row>p{max-width:225px;word-wrap:break-word}ngx-extended-pdf-viewer #documentPropertiesDialog .buttonRow{margin-top:10px}html[dir=ltr] ngx-extended-pdf-viewer #documentPropertiesDialog .row>*{text-align:left}html[dir=rtl] ngx-extended-pdf-viewer #documentPropertiesDialog .row>*{text-align:right}.fileInput{background:#fff;color:#000;margin-top:5px;visibility:hidden;position:fixed;right:0;top:0}ngx-extended-pdf-viewer #documentPropertiesDialog .row>span{width:125px;word-wrap:break-word}ngx-extended-pdf-viewer #documentPropertiesDialog .row>p{max-width:225px;word-wrap:break-word}ngx-extended-pdf-viewer #documentPropertiesDialog .buttonRow{margin-top:10px}ngx-extended-pdf-viewer .clearBoth{clear:both}ngx-extended-pdf-viewer .grab-to-pan-grab{cursor:url(\"data:image/cur;base64,AAACAAEAICAAAA8ADwAwAQAAFgAAACgAAAAgAAAAQAAAAAEAAQAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAB+AAAA/gAAAf8AAAP/AAAD/4AAB/+AAA7/gAAM/8AAAP7AAAG2wAABtkAAAzYAAAM2AAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////////////////////////////AP///wD///4A///8AH//+AB///gAP//wAD//4AA//+AAH//yAB///AAf//wAH//4AL//+AD///yB////z///////////////////////////////////////8=\"),move !important;cursor:-webkit-grab !important;cursor:grab !important}ngx-extended-pdf-viewer .grab-to-pan-grab *:not(input):not(textarea):not(button):not(select):not(:link){cursor:inherit !important}ngx-extended-pdf-viewer .grab-to-pan-grab:active,ngx-extended-pdf-viewer .grab-to-pan-grabbing{cursor:url(\"data:image/cur;base64,AAACAAEAICAAAA8ADwAwAQAAFgAAACgAAAAgAAAAQAAAAAEAAQAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAB+AAAA/gAAAf8AAAP/AAAD/4AAAP+AAAD/gAAB/oAAAbYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////////////////////////////AP///wD///4A///8AH//+AB///gAP//8AD///gA///wAP//8AH///kn/////////////////////////////////////////////////////////////////8=\"),move !important;cursor:-webkit-grabbing !important;cursor:grabbing !important;position:fixed;background:rgba(0,0,0,0);display:block;top:0;left:0;right:0;bottom:0;overflow:hidden;z-index:10}@page{margin:0}@media screen and (-webkit-min-device-pixel-ratio: 1.1),screen and (min-resolution: 1.1dppx){ngx-extended-pdf-viewer .toolbarButton::before{transform:scale(0.5);top:-5px}ngx-extended-pdf-viewer .secondaryToolbarButton::before{transform:scale(0.5);top:-4px}}html[dir=ltr] ngx-extended-pdf-viewer .toolbarButton::before,html[dir=rtl] ngx-extended-pdf-viewer .toolbarButton::before{left:-1px}html[dir=ltr] ngx-extended-pdf-viewer .secondaryToolbarButton::before{left:-2px}html[dir=rtl] ngx-extended-pdf-viewer .secondaryToolbarButton::before{left:186px}ngx-extended-pdf-viewer .toolbarField.pageNumber.visiblePageIsLoading,ngx-extended-pdf-viewer #findInput[data-status=pending]{background-image:url(\"data:image/png;base64,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\");background-size:16px 17px}ngx-extended-pdf-viewer .visibleLargeView,ngx-extended-pdf-viewer .visibleMediumView,ngx-extended-pdf-viewer .visibleSmallView{display:none}ngx-extended-pdf-viewer .html .unverified-signature-warning,ngx-extended-pdf-viewer .html .modified-background-warning{width:100%;background-color:#ff5353;font-size:12px;text-align:center;padding-top:5px;padding-bottom:5px}.treeItem.selected>a{font-weight:bold}ngx-extended-pdf-viewer .invisible{display:none !important}ngx-extended-pdf-viewer #outerContainer{clip-path:inset(0 0 0 0)}ngx-extended-pdf-viewer .textLayer .highlight.color0{background-color:rgba(180,0,170,.4)}ngx-extended-pdf-viewer .textLayer .highlight.color0.selected{background-color:#b400aa}ngx-extended-pdf-viewer .textLayer .highlight.color1{background-color:rgba(0,100,0,.4)}ngx-extended-pdf-viewer .textLayer .highlight.color1.selected{background-color:#006400}ngx-extended-pdf-viewer .textLayer .highlight.color2{background-color:rgba(0,0,255,.4)}ngx-extended-pdf-viewer .textLayer .highlight.color2.selected{background-color:blue}ngx-extended-pdf-viewer .textLayer .highlight.color3{background-color:rgba(255,0,0,.4)}ngx-extended-pdf-viewer .textLayer .highlight.color3.selected{background-color:red}ngx-extended-pdf-viewer .textLayer .highlight.color4{background-color:rgba(255,94,0,.4)}ngx-extended-pdf-viewer .textLayer .highlight.color4.selected{background-color:#ff5e00}html[dir=ltr] ngx-extended-pdf-viewer .dialogButton,html[dir=ltr] ngx-extended-pdf-viewer .toolbarButton{margin:3px 0 4px 0}html[dir=ltr] ngx-extended-pdf-viewer .toolbarButton:last-child,html[dir=rtl] ngx-extended-pdf-viewer .toolbarButton:first-child{margin-right:0;margin-left:0}html[dir=ltr] ngx-extended-pdf-viewer #secondaryToolbarToggle{margin-right:4px;margin-left:0}html[dir=rtl] ngx-extended-pdf-viewer #secondaryToolbarToggle{margin-right:0;margin-left:4px}ngx-extended-pdf-viewer .toolbarButton,ngx-extended-pdf-viewer .secondaryToolbarButton,ngx-extended-pdf-viewer .dialogButton{padding-left:0;padding-right:0}ngx-extended-pdf-viewer .offscreen{position:fixed !important;left:-9999px !important;display:block !important;width:3000px !important}ngx-extended-pdf-viewer .offscreen #sidebarContainer{top:1000px !important}ngx-extended-pdf-viewer .toolbarButton{margin-left:-1px !important;margin-right:-2px !important}ngx-extended-pdf-viewer #numPages{padding-right:0}ngx-extended-pdf-viewer .pdf-viewer-template,ngx-extended-pdf-viewer .pdf-viewer-template *{display:none}ngx-extended-pdf-viewer button:focus,ngx-extended-pdf-viewer a:focus,ngx-extended-pdf-viewer input:focus,ngx-extended-pdf-viewer select:focus{outline:none;border:1px solid blue}ngx-extended-pdf-viewer input[type=checkbox]:focus{outline:1px solid blue}ngx-extended-pdf-viewer .relative-coords #viewerContainer{overflow:hidden}ngx-extended-pdf-viewer .relative-coords #viewerContainer .pdfViewer.removePageBorders .spread .page{margin:0}ngx-extended-pdf-viewer .relative-coords #viewerContainer #viewer{display:inline-block;position:relative}ngx-extended-pdf-viewer .relative-coords #viewerContainer #viewer .spread{margin:0}ngx-extended-pdf-viewer .relative-coords #viewerContainer #viewer .spread .page{display:inline-block}ngx-extended-pdf-viewer .relative-coords #viewerContainer #viewer .page{margin:0;border:0}ngx-extended-pdf-viewer .relative-coords #viewerContainer #viewer .page.stf__item{display:block}.hidden-by-fullscreen{display:none !important}:root{--scrollbar-color: rgba(121, 121, 123, 1);--scrollbar-bg-color: rgba(35, 35, 39, 1)} #printContainer{display:none}@media print{#printContainer{position:static;display:block}body[data-pdfjsprinting],html{overflow-y:visible !important;margin:0;padding:0}body[data-pdfjsprinting]{background:rgba(0,0,0,0) none;height:100%;width:100%}body[data-pdfjsprinting]>*{display:none !important;outline:0;padding:0;margin:0}body[data-pdfjsprinting] #printContainer{display:block !important;height:100%;width:100%}body[data-pdfjsprinting] #printContainer img{max-width:100%;max-height:100%;direction:ltr;display:block !important}body[data-pdfjsprinting] #printContainer>.printedPage{page-break-after:always;page-break-inside:avoid;height:100%;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}body[data-pdfjsprinting] #printContainer>.xfaPrintedPage .xfaPage{position:absolute}body[data-pdfjsprinting] #printContainer>.xfaPrintedPage{page-break-after:always;page-break-inside:avoid;width:100%;height:100%;position:relative}body[data-pdfjsprinting] #printContainer>.printedPage canvas,body[data-pdfjsprinting] #printContainer>.printedPage img{max-width:100%;max-height:100%;direction:ltr;display:block}body[data-pdfjsprinting]{overflow-y:visible !important}html[data-pdfjsprinting].cdk-global-scrollblock{width:initial;position:initial}}`;","import { DOCUMENT } from '@angular/common';\nimport { Component, Inject, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { css } from './colors-css';\n\n@Component({\n  selector: 'pdf-dark-theme',\n  templateUrl: './pdf-dark-theme.component.html',\n  // styleUrls: ['./colors.scss', '../common/print.scss'],\n  // encapsulation: ViewEncapsulation.None,\n})\nexport class PdfDarkThemeComponent implements OnInit, OnDestroy {\n  constructor(private renderer: Renderer2, @Inject(DOCUMENT) private document: any) {}\n\n  public ngOnInit() {\n    this.injectStyle();\n  }\n\n  private injectStyle() {\n    const styles = this.document.createElement('STYLE') as HTMLStyleElement;\n    styles.id = 'pdf-theme-css';\n    styles.innerHTML = css;\n    this.renderer.appendChild(this.document.head, styles);\n  }\n\n  public ngOnDestroy() {\n    const styles = this.document.getElementById('pdf-theme-css') as HTMLElement;\n    if (styles && styles.parentElement) {\n      (styles.parentElement as any).removeChild(styles);\n    }\n  }\n}\n","","export const css=`ngx-extended-pdf-viewer .textLayer{position:absolute;text-align:initial;left:0;top:0;right:0;bottom:0;overflow:hidden;opacity:.2;line-height:1;text-size-adjust:none;forced-color-adjust:none}ngx-extended-pdf-viewer .textLayer span,ngx-extended-pdf-viewer .textLayer br{color:rgba(0,0,0,0);position:absolute;white-space:pre;cursor:text;transform-origin:0% 0%}ngx-extended-pdf-viewer .textLayer span.markedContent{top:0;height:0}ngx-extended-pdf-viewer .textLayer .highlight{margin:-1px;padding:1px;background-color:var(rgb(180, 0, 170));border-radius:4px}ngx-extended-pdf-viewer .textLayer .highlight.appended{position:initial}ngx-extended-pdf-viewer .textLayer .highlight.begin{border-radius:4px 0 0 4px}ngx-extended-pdf-viewer .textLayer .highlight.end{border-radius:0 4px 4px 0}ngx-extended-pdf-viewer .textLayer .highlight.middle{border-radius:0}ngx-extended-pdf-viewer .textLayer .highlight.selected{background-color:#006400}ngx-extended-pdf-viewer .textLayer ::selection{background:blue}ngx-extended-pdf-viewer .textLayer br::selection{background:rgba(0,0,0,0)}ngx-extended-pdf-viewer .textLayer .endOfContent{display:block;position:absolute;left:0;top:100%;right:0;bottom:0;z-index:-1;cursor:default;user-select:none}ngx-extended-pdf-viewer .textLayer .endOfContent.active{top:0}ngx-extended-pdf-viewer *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}ngx-extended-pdf-viewer :root{--pdfViewer-padding-bottom: none;--page-margin: 1px auto -8px;--page-border: 9px solid transparent;--spreadHorizontalWrapped-margin-LR: -3.5px;--zoom-factor: 1}@media screen and (forced-colors: active){ngx-extended-pdf-viewer :root{--pdfViewer-padding-bottom: 9px;--page-margin: 9px auto 0;--page-border: none;--spreadHorizontalWrapped-margin-LR: 4.5px}}ngx-extended-pdf-viewer [data-main-rotation=\"90\"]{transform:rotate(90deg) translateY(-100%)}ngx-extended-pdf-viewer [data-main-rotation=\"180\"]{transform:rotate(180deg) translate(-100%, -100%)}ngx-extended-pdf-viewer [data-main-rotation=\"270\"]{transform:rotate(270deg) translateX(-100%)}ngx-extended-pdf-viewer .pdfViewer{padding-bottom:var(--pdfViewer-padding-bottom)}ngx-extended-pdf-viewer .pdfViewer .canvasWrapper{overflow:hidden}ngx-extended-pdf-viewer .pdfViewer .page{direction:ltr;width:816px;height:1056px;margin:1px auto -8px auto;position:relative;overflow:visible;border:9px solid rgba(0,0,0,0);background-clip:content-box;-o-border-image:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAA6UlEQVR4Xl2Pi2rEMAwE16fm1f7/r14v7w4rI0IzLAF7hLxNevBSEMEF5+OilNCsRd8ZMyn+a4NmsOT8WJw1lFbSYgGFzF2bLFoLjTClWjKKGRWpDYAGXUnZ4uhbBUzF3Oe/GG/ue2fn4GgsyXhNgysV2JnrhKEMg4fEZcALmiKbNhBBRFpSyDOj1G4QOVly6O1FV54ZZq8OVygrciDt6JazRgi1ljTPH0gbrPmHPXAbCiDd4GawIjip1TPh9tt2sz24qaCjr/jAb/GBFTbq9KZ7Ke/Cqt8nayUikZKsWZK7Fe6bg5dOUt8fZHWG2BHc+6EAAAAASUVORK5CYII=\") 9 9 repeat;border-image:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAA6UlEQVR4Xl2Pi2rEMAwE16fm1f7/r14v7w4rI0IzLAF7hLxNevBSEMEF5+OilNCsRd8ZMyn+a4NmsOT8WJw1lFbSYgGFzF2bLFoLjTClWjKKGRWpDYAGXUnZ4uhbBUzF3Oe/GG/ue2fn4GgsyXhNgysV2JnrhKEMg4fEZcALmiKbNhBBRFpSyDOj1G4QOVly6O1FV54ZZq8OVygrciDt6JazRgi1ljTPH0gbrPmHPXAbCiDd4GawIjip1TPh9tt2sz24qaCjr/jAb/GBFTbq9KZ7Ke/Cqt8nayUikZKsWZK7Fe6bg5dOUt8fZHWG2BHc+6EAAAAASUVORK5CYII=\") 9 9 repeat;background-color:#fff}ngx-extended-pdf-viewer .pdfViewer.removePageBorders .page{margin:0 auto 10px auto;border:none}ngx-extended-pdf-viewer .pdfViewer.singlePageView .page{margin:0}ngx-extended-pdf-viewer .html .pdfViewer.scrollHorizontal,ngx-extended-pdf-viewer .html .pdfViewer.scrollWrapped,ngx-extended-pdf-viewer .html .spread{margin-left:3.5px;margin-right:3.5px;text-align:center}ngx-extended-pdf-viewer .pdfViewer.scrollHorizontal,ngx-extended-pdf-viewer .spread{white-space:nowrap}ngx-extended-pdf-viewer .pdfViewer.removePageBorders,ngx-extended-pdf-viewer .pdfViewer.scrollHorizontal .spread,ngx-extended-pdf-viewer .pdfViewer.scrollWrapped .spread{margin-left:0;margin-right:0}ngx-extended-pdf-viewer .spread .page,ngx-extended-pdf-viewer .pdfViewer.scrollHorizontal .page,ngx-extended-pdf-viewer .pdfViewer.scrollWrapped .page,ngx-extended-pdf-viewer .pdfViewer.scrollHorizontal .spread,ngx-extended-pdf-viewer .pdfViewer.scrollWrapped .spread{display:inline-block;vertical-align:middle}ngx-extended-pdf-viewer .spread .page,ngx-extended-pdf-viewer .pdfViewer.scrollHorizontal .page,ngx-extended-pdf-viewer .pdfViewer.scrollWrapped .page{margin-left:-3.5px;margin-right:-3.5px}ngx-extended-pdf-viewer .pdfViewer.removePageBorders .spread .page,ngx-extended-pdf-viewer .pdfViewer.removePageBorders.scrollHorizontal .page,ngx-extended-pdf-viewer .pdfViewer.removePageBorders.scrollWrapped .page{margin-left:5px;margin-right:5px}ngx-extended-pdf-viewer .pdfViewer .page canvas{margin:0;display:block}ngx-extended-pdf-viewer .pdfViewer .page canvas[hidden]{display:none}ngx-extended-pdf-viewer .pdfViewer .page .loadingIcon{position:absolute;display:block;left:0;top:0;right:0;bottom:0;background:url(\"data:image/gif;base64,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\") center no-repeat}ngx-extended-pdf-viewer .pdfPresentationMode .pdfViewer{margin-left:0;margin-right:0}ngx-extended-pdf-viewer .pdfPresentationMode .pdfViewer .page,ngx-extended-pdf-viewer .pdfPresentationMode .pdfViewer .spread{display:block}ngx-extended-pdf-viewer .pdfPresentationMode .pdfViewer .page,ngx-extended-pdf-viewer .pdfPresentationMode .pdfViewer.removePageBorders .page{margin-left:auto;margin-right:auto}ngx-extended-pdf-viewer .pdfPresentationMode:-ms-fullscreen .pdfViewer .page{margin-bottom:100vh !important}ngx-extended-pdf-viewer .pdfPresentationMode:-webkit-full-screen .pdfViewer .page{margin-bottom:100vh;border:0}ngx-extended-pdf-viewer .pdfPresentationMode:-moz-full-screen .pdfViewer .page{margin-bottom:100vh;border:0}ngx-extended-pdf-viewer .pdfPresentationMode:fullscreen .pdfViewer .page{margin-bottom:100vh;border:0}ngx-extended-pdf-viewer .html .toolbar *,ngx-extended-pdf-viewer .html .treeItem *{padding:0;margin:0}ngx-extended-pdf-viewer .html{height:100%;width:100%;font-size:10px}ngx-extended-pdf-viewer .body{height:100%;width:100%}ngx-extended-pdf-viewer .body,ngx-extended-pdf-viewer .pdf-viewer input,ngx-extended-pdf-viewer .pdf-viewer button,ngx-extended-pdf-viewer .pdf-viewer select{font:message-box;outline:none;scrollbar-color:var(--scrollbar-color) var(--scrollbar-bg-color)}ngx-extended-pdf-viewer button{cursor:pointer}ngx-extended-pdf-viewer select{background-color:#fff !important;color:#5a5a5a}ngx-extended-pdf-viewer .hidden{display:none !important}ngx-extended-pdf-viewer [hidden]{display:none !important}ngx-extended-pdf-viewer .pdfViewer.enablePermissions .textLayer span{-webkit-user-select:none !important;-moz-user-select:none !important;-ms-user-select:none !important;user-select:none !important;cursor:not-allowed}ngx-extended-pdf-viewer #viewerContainer.pdfPresentationMode:-ms-fullscreen{top:0 !important;overflow:hidden !important}ngx-extended-pdf-viewer #viewerContainer.pdfPresentationMode:-ms-fullscreen::-ms-backdrop{background-color:#f9f9f9}ngx-extended-pdf-viewer #viewerContainer.pdfPresentationMode:-webkit-full-screen{top:0;border-top:2px solid rgba(0,0,0,0);background-color:#f9f9f9;width:100%;height:100%;overflow:hidden;cursor:none;-webkit-user-select:none;user-select:none}ngx-extended-pdf-viewer #viewerContainer.pdfPresentationMode:-moz-full-screen{top:0;border-top:2px solid rgba(0,0,0,0);background-color:#f9f9f9;width:100%;height:100%;overflow:hidden;cursor:none;-moz-user-select:none;user-select:none}ngx-extended-pdf-viewer #viewerContainer.pdfPresentationMode:-ms-fullscreen{top:0;border-top:2px solid rgba(0,0,0,0);background-color:#f9f9f9;width:100%;height:100%;overflow:hidden;cursor:none;-ms-user-select:none;user-select:none}ngx-extended-pdf-viewer #viewerContainer.pdfPresentationMode:fullscreen{top:0;border-top:2px solid rgba(0,0,0,0);background-color:#f9f9f9;width:100%;height:100%;overflow:hidden;cursor:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}ngx-extended-pdf-viewer .pdfPresentationMode:-webkit-full-screen a:not(.internalLink){display:none}ngx-extended-pdf-viewer .pdfPresentationMode:-moz-full-screen a:not(.internalLink){display:none}ngx-extended-pdf-viewer .pdfPresentationMode:-ms-fullscreen a:not(.internalLink){display:none}ngx-extended-pdf-viewer .pdfPresentationMode:fullscreen a:not(.internalLink){display:none}ngx-extended-pdf-viewer .pdfPresentationMode:-webkit-full-screen .textLayer span{cursor:none}ngx-extended-pdf-viewer .pdfPresentationMode:-moz-full-screen .textLayer span{cursor:none}ngx-extended-pdf-viewer .pdfPresentationMode:-ms-fullscreen .textLayer span{cursor:none}ngx-extended-pdf-viewer .pdfPresentationMode:fullscreen .textLayer span{cursor:none}ngx-extended-pdf-viewer .pdfPresentationMode.pdfPresentationModeControls>*,ngx-extended-pdf-viewer .pdfPresentationMode.pdfPresentationModeControls .textLayer span{cursor:default}ngx-extended-pdf-viewer #outerContainer{width:100%;height:100%;position:relative}ngx-extended-pdf-viewer #sidebarContainer{position:absolute;top:32px;bottom:0;width:200px;visibility:hidden;z-index:100;transition-duration:200ms;transition-timing-function:ease}html[dir=ltr] ngx-extended-pdf-viewer #sidebarContainer{transition-property:left;left:-200px;left:-200px}html[dir=rtl] ngx-extended-pdf-viewer #sidebarContainer{transition-property:right;right:-200px}ngx-extended-pdf-viewer .loadingInProgress #sidebarContainer{top:36px}ngx-extended-pdf-viewer #outerContainer.sidebarResizing #sidebarContainer{transition-duration:0s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}ngx-extended-pdf-viewer #outerContainer.sidebarMoving #sidebarContainer,ngx-extended-pdf-viewer #outerContainer.sidebarOpen #sidebarContainer{visibility:visible}html[dir=ltr] ngx-extended-pdf-viewer #outerContainer.sidebarOpen #sidebarContainer{left:0}html[dir=rtl] ngx-extended-pdf-viewer #outerContainer.sidebarOpen #sidebarContainer{right:0}ngx-extended-pdf-viewer #mainContainer{position:absolute;top:0;right:0;bottom:0;left:0;min-width:350px}ngx-extended-pdf-viewer #sidebarContent{top:32px;bottom:0;overflow:auto;-webkit-overflow-scrolling:touch;position:absolute;width:100%;background-color:#f2f2f3}html[dir=ltr] ngx-extended-pdf-viewer #sidebarContent{left:0}html[dir=rtl] ngx-extended-pdf-viewer #sidebarContent{right:0}ngx-extended-pdf-viewer #viewerContainer{overflow:auto;-webkit-overflow-scrolling:auto;position:absolute;top:32px;right:0;bottom:0;left:0;outline:none}ngx-extended-pdf-viewer #viewerContainer:not(.pdfPresentationMode){transition-duration:200ms;transition-timing-function:ease}ngx-extended-pdf-viewer #outerContainer.sidebarResizing #viewerContainer{transition-duration:0s}html[dir=ltr] ngx-extended-pdf-viewer #outerContainer.sidebarOpen #viewerContainer:not(.pdfPresentationMode){transition-property:left;left:200px}html[dir=rtl] ngx-extended-pdf-viewer #outerContainer.sidebarOpen #viewerContainer:not(.pdfPresentationMode){transition-property:right;right:200px}ngx-extended-pdf-viewer .toolbar{position:relative;left:0;right:0;z-index:9999;cursor:default;border:0;border-bottom:1px solid #ddd}ngx-extended-pdf-viewer #toolbarContainer{width:100%}ngx-extended-pdf-viewer #toolbarSidebar{width:calc(100% - 10px);height:32px;background-color:#f2f2f3;color:#5a5a5a;border:none;padding-top:1px;padding-left:5px;padding-right:5px}html[dir=ltr] #toolbarSidebarRight .toolbarButton{margin-right:3px !important}html[dir=rtl] #toolbarSidebarRight .toolbarButton{margin-left:3px !important}html[dir=ltr] #sidebarToggle{margin-right:5px}html[dir=rtl] #sidebarToggle{margin-left:5px}ngx-extended-pdf-viewer #sidebarResizer{position:absolute;top:0;bottom:0;width:6px;z-index:200;cursor:ew-resize}html[dir=ltr] ngx-extended-pdf-viewer #sidebarResizer{right:-6px}html[dir=rtl] ngx-extended-pdf-viewer #sidebarResizer{left:-6px}ngx-extended-pdf-viewer #toolbarContainer,ngx-extended-pdf-viewer .findbar,ngx-extended-pdf-viewer .secondaryToolbar,ngx-extended-pdf-viewer .editorParamsToolbar{position:relative;min-height:32px;background-color:#f9f9f9}ngx-extended-pdf-viewer #toolbarViewer{min-height:32px}ngx-extended-pdf-viewer #loadingBar{position:relative;width:100%;height:4px;background-color:#333;border-bottom:1px solid #333}ngx-extended-pdf-viewer #loadingBar .progress{position:absolute;top:0;left:0;width:0%;height:100%;background-color:#ddd;overflow:hidden;transition:width 200ms}@-webkit-keyframes progressIndeterminate{0%{left:-142px}100%{left:0}}@keyframes progressIndeterminate{0%{left:-142px}100%{left:0}}ngx-extended-pdf-viewer #loadingBar .progress.indeterminate{background-color:#999;transition:none}ngx-extended-pdf-viewer #loadingBar .progress.indeterminate .glimmer{position:absolute;top:0;left:0;height:100%;width:calc(100% + 150px);background:repeating-linear-gradient(135deg, rgb(187, 187, 187) 0, rgb(153, 153, 153) 5px, rgb(153, 153, 153) 45px, rgb(221, 221, 221) 55px, rgb(221, 221, 221) 95px, rgb(187, 187, 187) 100px);-webkit-animation:progressIndeterminate 950ms linear infinite;animation:progressIndeterminate 950ms linear infinite}ngx-extended-pdf-viewer .findbar,ngx-extended-pdf-viewer .secondaryToolbar,ngx-extended-pdf-viewer .editorParamsToolbar{top:40px;position:absolute;z-index:10000;height:auto;min-width:16px;padding:0 6px 0 6px;margin:4px 2px 4px 2px;font-size:12px;line-height:14px;text-align:left;cursor:default}ngx-extended-pdf-viewer .findbar{min-width:300px}ngx-extended-pdf-viewer .findbar>div{height:32px}ngx-extended-pdf-viewer .findbar.wrapContainers>div{clear:both}ngx-extended-pdf-viewer .findbar.wrapContainers>div#findbarMessageContainer{height:auto}html[dir=ltr] ngx-extended-pdf-viewer .findbar{left:34px}html[dir=rtl] ngx-extended-pdf-viewer .findbar{right:34px}ngx-extended-pdf-viewer .findbar label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}ngx-extended-pdf-viewer #findInput{width:200px}ngx-extended-pdf-viewer #findInput::-webkit-input-placeholder{color:#bfbfbf}ngx-extended-pdf-viewer #findInput::-moz-placeholder{font-style:italic}ngx-extended-pdf-viewer #findInput:-ms-input-placeholder{font-style:italic}ngx-extended-pdf-viewer #findInput::-ms-input-placeholder{font-style:italic}ngx-extended-pdf-viewer #findInput::placeholder{font-style:italic}ngx-extended-pdf-viewer #findInput[data-status=pending]{background-image:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAARCAYAAADUryzEAAAACGFjVEwAAAAMAAAAAEy9LREAAAAaZmNUTAAAAAAAAAAQAAAAEQAAAAAAAAAAAGQD6AAAM7xH0AAAAixJREFUeNqFUk2IEmEYHowKBrpEoS1JsYc6eNA26NBiS0uwRK39uG1LtLQTjutBkpw9qIewTh0399ohEJFAMPbepQ7RDyjCCosHxQUzQdARd0Cd+Xpemg8GS3vg4X3eef+G732FcTDGjlv0R/CzxbcJ04CEe+B38Okf3ziA/mXGLjI2kmFnJzYol8trSPhqGMYX2FOwdQMNoE9rg4EEG0yn03P/mrwE3oB0dDqd99A/hsOhcqgdftI07ZuuD19RcaFQ2KAc6HPgLC8+xnRGRXkwlc1m5fpB/W0qlVpAeJ7o9/td+Xx+PRwO06BlagbK/E1smUwmMhoM3jGD5fr9/kt884AiyEHaU61Wl6hYVdVANBp9QLU8welyuXy7H3a3QqHQojABXq/3SjKZXHM4HDfhnhUIOtO30PWNrus7vV7vhTltEsSfrdYq/YXJO0Kz2YpBvCY2G4248B9UKpXHvMF+ZX9dMB9q2el03sUDPkLg5JQ7ObG9s+2z2+0+qqFaHvCAz0Cl2+3emtQAK16kySM2ekKHxYuPYI3PYSOlUklOJBLXoa/RNOtk+haPxxfoFv5aYyQSeSjL8ir01Xa77aeEWq02R49ErNUapIMUoxxJklYCgcCKdY0z5oWdxzY21Y4acLvdF6iIwSeNYpl8yqFc8IwwDlzbZaw1qCjKfbhH+WuTjsVifjQP5nK5S8IUzIiieJsfSbFYlEp7exv82MwYJk+HzaLnieMxK34DT9WZqdJAhVAAAAAaZmNUTAAAAAEAAAAQAAAAEQAAAAAAAAAAAGQD6AAAqM+tBAAAAitmZEFUAAAAAnjahVJBaBNBFF2iRVhQBA/ZFiXiQY+pVkSssaUIKtpIbKs9WM3qZiV4ahYkuZRQimC8FHJIrlJQD4HoPQfxkENBNhRbqCFkD2KgNrBuaAtJdsf3cQcWY+KHx7w///3/Z/6M8LcxxoY8/A3w3uMfEQYZBBPAWyD8x3c+g6+7sZjjOAZWuW+B8nr5JgRrtm2vYT3OHOcTFQBOABvA93q9Hv9X54vtdnsMVGo0Gq/pFPAXzF/mu1ar9bHT6WjYM/YP9suiKA6DB4AzPPkws9kK1leM2YvZbPbB1tbX5XQ6fRnhcUIul5vc/bn7oVQqvYBuGlCBGOCjGr5MJhM92NtbwsbLZrMZw94oIALciI/i+Dco2bIsJZFIzFEuF5wKBAK38/n800gkclXoY6FQ6BJONi9J0i24J90rdOdRdRGD09D9Ce/cx8TGzs59OoWLu8K3Wk0GeU6ogQv/sWq1+pAX2K5uLwjuoKb9fn8YAwwjcGzAPzm6ml0Nk5ZyKJcHzgGPANU0zev9CiA2RZou6z6mHJ58CIhRQP+iR5PJ5CT4Nerm7Ux7qVRqQtf1aM8zxuPxOVmWZ8GvYJAzJDAM4wINiWAYP4irFCMNaRVFmfU+4wggQXQar/HMMi0lGAyepSQGnzj9D/JJQ1pguOeOxWJxzGa2qmnaPbhDfNrEcbUZFFcLhcJ5YYCN4K/f4Z+kUqnIG5ubUf7Z3Bg6Dzafh4+76Ilx+w2UJZls1j53fgAAABpmY1RMAAAAAwAAABAAAAARAAAAAAAAAAAAZAPoAABFWX7tAAACLGZkQVQAAAAEeNqFU01oE1EQDvUPFqrHbIuCJ+sttV7E+lMkBPxpCjZtKahNJEYCUgPxkFxyMkaChUIOelL0HMhBYrwv9SKyidDDsiEs2MSkkLKsh4Smu89vwj5ZrBsHPt78fDOzb+at529hjB116Flgw2Ef94wSEKaBHHDVtj8ARVtfZszawrnkWqBSqVyhroPB4AXOcdM031soAP2UZVmfcX5VFGXtX53P9/v9KahivV5/Bvsl7FudTmeju7f3Zn+/9xC+LcMwPgqCMAE9BDzgyUeAJ0ACWM1kMvPSF+lpIpGYQXiWkM/nZ5s7zXflcnndstgn8H4ATeAE1RhLpVIrv3Q9Dsd6q9W6C980IABcBPL1er234OwwizUkSXpFuZxwRhTFm7nnuVW/33/JbUbZbPZ2rVZ7HQgEQjBP8yssADEM7HG73V7hnV1E+Lm7u0x8GwsetdG4xx2qotz3/EdUVf3DV1Tw7UHNe73eYKFQCCJwcsQ7Gd8sbAaJSzmUywNTtBaqquu6360AYjeIc8AO1ijHucZHFJC/yWFsZA76Nerm7Ey+dDp9XZblMHHtnLHhGuPx+FIkEqHJXu52u4tE0DRthoZE0LQW6TGKEYe40Wg05FzjJCCCdJa2YehG1OfznRt2gk06kodfSRziAhOH7lgqlS6azIwlk0l6TMf4tEnH1RZRPFYsFi+M2tIk3vod/kiq1Wrk+/Z2mD82ivHOruK8F/8XXGJD+Q37kpq30C76ogAAABpmY1RMAAAABQAAABAAAAARAAAAAAAAAAAAZAPoAACokwyXAAACO2ZkQVQAAAAGeNqFUl9oUmEUvxgLulSvulEQEfUUrhUUDTRbrILNRdv6w2p5h92y2UuKKEGUDxU9DSSix6H0JPjgiw/RSxG+jCvBkDEctxzhEEFFYer9/Pod88Yl0w78uL/vO79zzj3fOcLfxjnfY+Ay8NhwHhIGGQTHgGXg5O8zew7+mnir1ZrgjK3iPNE3QTQaHYNoubm7+wjCfcAzSgDs1zT2Ft8PiqJc+1flo8ARUEsmsyaBeyuVyrlcLvfkx/b203q9PoW71WKx+E4UxWHwSWDmT8/A/W6/0w+93svJZHJxfmGB2hgnBAKBM9ls9lUsFltijL+H7jNv8zS+eymHye/336hWy25Kks/nr+BuFBAB3YiP1mq1l9B81TTtSyqVekGxuuCwxWK5Gg6HbzkcjrNCHwsGg5PpdPqNzWa7juMhvYUZQGaMPSgUCjf1yn1MbLZaH9ucq4j5DnwSNre27lACwubGxl3hP9ZoNNB7ewf6nWazmRa6DzVtNpudkUjECcfBAXtyYCWy4rTb7bcphmJ1xwlgEZDL5fKlfgngu0gajWv3KKZnjMqa4sJDXQC3UTVjZboLhUJ2LJKLtN0YU2eMHo9nXpKkOfDzpVJplgSqqo7RAxNU9SdxmXykIa3b7Z4zjnEEsNA20jSq5arbarUe71TCmTiCO3+pbyww3NNjIpE4zTiTfT4fzXlInw5xtDaL5HI8Hj8lDLAR7PqUviSZTEb6tr7u0pet60PlwWYy8HFCj89gvwCt8Jigk+pFgAAAABpmY1RMAAAABwAAABAAAAARAAAAAAAAAAAAZAPoAABFBd9+AAACNmZkQVQAAAAIeNqFkt+LElEUxwdj2VDq1WkpiB52H4K0FUp2oTKCCtrtx5TbwxYOTDeFLQiFlO2hpIJefPEvKCVfBLFA3EcjiCVMEVaRhWVAKglEmQeHVcfpe8wJSbQDH+Z77jn33Ln3HO5f03XdNKJvAveIf4CbZkg4ASSw8MfXfNCPh7FFTdNe4OuYWCAWi1HSw46qikichfZqKAB9sNvtPoX/OpfLXZx08nFIPp/Pe6BZs9m0l0olsVKpMEVRlrD2XJblZxaLhYc+A879vRd4ABhY8W5sXE6n0+uCIJxEeJmQJOnU9pftJ5FIxK1p+iby3oL3YIZqmAKBgFtRWhIVqdVqV7BmB2ZgGGk7/uoRcuK9TieeSCQCtNdIOMbz/NVwOHzX5XKd5SYYY8yV2dradDgcN+AeNa5wHTB6vHq9vmacPMHMqrr/DvmfwGcQ53b39tapALFbrd7j/mPtdvuDrvcLyP8G/ZEbPtSK1WpdjUajqwgcnjIn8+Vy+Y3T6VyjPbTXCCyA+4C1Wq1Lkwr0ej16+Z/9fr+Kr3esjYV8wRMMBi9Qj8EhYyNpWguFQudVVf0K/Qt8B7ODNvp8vjuiKN6GXmo0GgIVw9As0gMTsvyDNKMY5WQymZfZbPbVaBvnAE/TSN1QWopks9nmB48LnzQ2D/7SmFhwZOyOqVTKoeka8/v9t+DOGN0hjasJKM6SyeRpborNmc3ma8aQFItFsbSz4zGGbRjDydPNNKKXibHYiP0GfOKZpyi1j88AAAAaZmNUTAAAAAkAAAAQAAAAEQAAAAAAAAAAAGQD6AAAqHbuIgAAAjdmZEFUAAAACnjahVNfaFJRGJf1D4R61YaNEbkRhcoaBAsiIegPbZflWhFreMnphD2phI3ywdfFCHyJqL3IHkTByeilJ4lAEmQq+DAGQ3GIL6LckAve3Xv6fXLvkMldH/w4v++c78853/cdw2lhjI0M8DmAGzrTExhcBzzApKp7CSqfZOx4BesN3QDxeHxKlmVfTxR5GF4iTgGIi70e7a2mUqlpvczjoOZCoeAmp3a77ShXyu5ypeImTnulUukt2YBPALc153PAipppdnVt7VEmk1lyuVy3cHyPQHx3Z2c5EAg8hc1rYJ3JLIL1PMUYCYVCi4LQ8VCQer3+GHsOwAhoQtzRaDTmYfNB7IqRjY1Nus1JUa+ZzeYn0Wj0ldPpvKtXI47jZr5tbfmsVuszqBbtCRxlpoI1m82XajY9Mf7tdj/KMvsCn69AxHBweLiktetgf/+N4T+Cgn5mTN6G/TZxg1qoWZPJNBeLxWhwrpwxJ2O5XO6dzWZbIB/VVxsStgx4O53OQ70AkiRtwua3oig/sC4MtXGvsOcOh8MPwO8Dlwcy35SZ/D2bzfoFQdiF/gf4BVzst9Hv97/geZ4izrRaLRcFq1arU1RggiiKUaYozWNJ+kk2iURiPZlMvh9s46g6YePUDaEjeOx2+0S/uNCJY78G/QhYJFvg6tAb0+n0HVzVGwwGn0O9oHWHeD6f/8QU1qgd1XxndWnUaDSeDEmxWOTpL2jDZrFY5tXM+jL4Lu0v6Jz15R+RjZkDa3+g7wAAABpmY1RMAAAACwAAABAAAAARAAAAAAAAAAAAZAPoAABF4D3LAAACLmZkQVQAAAAMeNqFU99r01AUDlMRAvpoa6k4LGwPPrRUUFAqKwjdxP2y/hhjk4R1mYX6lIL10UD/gFFY9zSE7r0U+m6fNqaUQKHINlgL3WixhoYOmy4kuZ4juRAsmQc+8p17v3NOTs4J868RQsYcfA4wP3LnYii4B0gAJm1fQNh8khBjHTWuCQqFQtg0zQ1d03gQXkeOCZBrus4jR41b5XGg3mq1yqGw1+uFavUaV6vXOeR4JssyhxrgdzGGBl8BrNuVZt+nUrFSqbQSj8fvw/UTBPJisbiagjvU0NYwFnOMpdPpN/2+msDDVqs1DWchAAughjzUaDRiqPl9fi5AzBLGUsEdr9c7I0nSUjQafcS4WCQSeZjNZpf9fv9zcP20hXnMih+s0+m8pZVdjP2pKGug/wj4ZBDCM8cnJyu0p+PDw1XmP9Zut0VCTAn0EnLG/lCzHo9nLpfL4eLcvGRPPOVyeS0QCCxijB1Ll4S8Awiqqj5zSzAcDkViki8mMTdBOzUyRrkqc5lMZgr4U8ANR+UABGVxvN1uNw/+LiTagefVv2NMJpOveZ5/BfyxoihxTNZsNsPw3Ad8HQwGaWJZ33Vd30HN9vbWh3w+n3KO0Wdv2DhOo6/2E8FgcAL8X5ZlnQmCEDYMA5PtAWKoBdwe6RG27QG8qiCK4ktwr4G4CzhFXqlUPhOLHBwd/VhmLjEfy7Iv6JJcXGjfNE3bo8t2y+dboJVdzdkX/RdG7hz2Bwqhl8Rp37vgAAAAGmZjVEwAAAANAAAAEAAAABEAAAAAAAAAAABkA+gAAKgqT7EAAAIiZmRBVAAAAA542oVSQWsaQRReLKWQQ6F40C4NKb30UCiSQwMNQoVC2kKyBZM0hWTjgrYVPRTrQVoSVOgv8O6h0nqrWOgf8NCcRGrxEJQoCFbsQdkYF8Wd6ftgh0hl7Qcf+8287723M/Okf8E5d8zoLaIyF7MBDHeIQeJda/0KhMYe59MQPLYFcrncqmmaryeGoZHxGjQKQBuTiQYNj13n2yTd5XI5AGO/3/dUa9VAtVYLQGOvUqkE4CG9ghyRfIUYsjptvolGN4rF4r7f779H4XUQulAoHEQpBo/lDYk7ccTj8V1dHwQRaLfbT2jPQ1wiCkB7ms3mBjy6rgdjsdgOcoVh2e12P02n03s+n29NsoHX632QTCb34KXlLXEEBVVxYd1u94XobIOl373eLvwWFal+drYvNuqnpwfSf9BoNA7JGwahJeuiNl0u11Ymk8HgXF8wJzey2ey2LMsKcqxcMSRcxV8MBoPHdgVGo9FL8hzTcWP09cw9Y6VcCSQSiUekv6DoZSJfxi9Td6XVan0gneYmP0Iu4o5wOLyjado26YdTNv3BGOsZhvGeDN+In+nZMIV54+IiCU8qdaylUqnD2WeUrQlTGeN/mMnqkUhklXH+izN2oqrq/fF4nKf4J+IavMSbc2fsdDpvydAplUofaXmV9E8qcgJNk/jOnE7zNM7PpAWQCc/FkAyHw+/6+flXMWxOp1MRnRfBMaPXwfnYJf4C0LWYznBNwdwAAAAaZmNUTAAAAA8AAAAQAAAAEQAAAAAAAAAAAGQD6AAARbycWAAAAihmZEFUAAAAEHjahVJBiBJhFF7MiBa8pi1F0WWpPSQdCjIPQrR1GCUs8zBLLmg7pYcQL3tKhN25LgxdwpssHScLL14kO4YYwhxkYEU8NNiqy7jsgPv//r23zL9IMvbgg+/973vvzbz3lv41xphrhocBkbmYg6HgFiAJWLX9NwibrzJGUqhxLFAqle5RSrcmlrUJwkvIsQByazLZRI4ap843gfoajUYChaPRyN/SWomWpiWQ41uz2UygBvgNzOHJFwApu5MgZTLr5XJZjEajaxAOIJCrqrqRgRhqbG2Kz8SVy+VipnmUxECv13sKb37AMoAbcn+n01lHjWmayWw2+xJzueC6z+d7VigU4qFQ6IHTjILB4P18Ph9HLbjX+C9EsCoOzDCMV7yzgy3/7vdjfDtnK9YPDkT+oLfbG0v/MV3Xz/VtHfT2oASv1xtWFAUP586CO/HsKXth1GIO5vLAe0AX8IcQ8tmpwPHR8RPQSISR13hYPPkywGBTZlgn1o96vZ4B/+PsxY0ZuwL+c1mWH2uahp//jlK2db7GarW6o6rlD263O3BKyLcpY7/G4/Hbs0KUycPhUGCUyrC+FOgfSpIUT6fTsdk1rtgX9mI6ZS1ySr6LongX/K9QYF8QhDXLOpHBLwBuoxZwde4fu90uXtfPSqWyDe5F4F8oY/vIi8ViEla9W6vVHi3a0gpMOMKPZDAYfOofHir82Dwej8A7LzLXDA/YmItx+ws7dpnWNX0cvAAAABpmY1RMAAAAEQAAABAAAAARAAAAAAAAAAAAZAPoAACpvStIAAACLWZkQVQAAAASeNqFU8+LEnEUFzOKgSDw4LRs9OOyQR2koECRtMtuB13EbTPYJYfG6uBSiRDSHsQO7qHDUtGpm7XHTCL8EyrIJMFg8GCsQuyAqePBdXT89nnLTAzJ2IMPfN68z3vv+/2+N7Z/jTFmN/EQsDwVszIIzgIisKD7dwk6X2BsHCeNZYF8Pn9R07R76mAgQHiEOBUgPlBVgThprDqfBuXL5XKMhJ1Ox12tVWPVWi1GnL5VKpUYacBPUY6RfAiI652C9xOJxWKxuBaJRM4j7CUQLxQK6wnESKNr48ab2FOp1KqidEUKNJvNJXxzAxxgGHF3o9FYJI2iKGIymbxBuYbgJM/z17PZbDQQCFyxWZjP57ucyWSipIU7r19h8glVfwOd0Wj0Ve9mZdwvWV41pnMw4qGqfmYTtgdnbzgcfrH9x+r1+ppRQKpL6zb9oYIejycqSdIzmveMPTm2/WI75HK5QpRzkGtamG/AD1VVX1kV6Ha710g7ZuPbfxuBHAWqwPe+orwvlUp3wDPAvKnzcSCQTqev0i5MjREz3sSGPXY4HN59df/1hLEP/X7/psbYE4g2ZFn2MU172G63aXQeQRBWRFFcMY9xDuAxhSUkfMQ13obD4QvgL5nGtvx+/7ler/cIfgI4Q1rgxNQd8YhRCN7tvNnZgHsY/DlOsUU8l8vdwr/xAKe9NGtKc06nc9lYklar9fTn7u6msWwcxwX1zjPNbuJewlTMZH8AHPeamRiFZiAAAAAaZmNUTAAAABMAAAAQAAAAEQAAAAAAAAAAAGQD6AAARCv4oQAAAjFmZEFUAAAAFHjahVJNaBNREA4lKi7kKIlFafFgEQ+JDYhUkhIRqmDiYZviobVZ2ETBUCEgTUAxJwlIS5eK1xxyCgRjKgjeq7f8EAhLDJKeLOSHhEB2SfbnOSP7IHRNHPjgmzffzLz3ZixnjRAyN8EDgMfmmNmo4BqABywZfgRh8CVC1DBqphbIZDLLmqY9G8syB8ILyLEAcnk85pCj5l+deVVVnwJ1FIvFEAp7vZ6rWquGqrVaCDmelcvlEGqAL+BNaPJFwCmgA/j+PBpdKxQKmyzL3oTwXQTyfD6/FYUYaPzGrcL0T+aOj3+813X9Fxy0RqPRJzhzARgANeSuZrO5hsmDwYCPxWJBzKWCqz6fj61UKh9SqZTfMsU8Hs/tZDL5xOFwPAT3Cn3CEUCEG9QVRflGO08x5rTV2qDT+TtiSZKOiE7K4JQkafjF8h9rNBqbtEC9Ud+yGB/ld7vdwVKp9AYCizP2xHZweBCw2+0BzMFcGggC8oToX5WR8npagX6/fw87q0TdxsWiyeeNf/jcbrc/ZrNZ+sZLk50B3kQisYq7YBpjOp1+KQjCC6vVujKUh281QoROp3MfBCjeODn5vYxJ3W6XBf0Kx3HrPM+vT45x3tiwO0Qjh/JQfuf1em9AoV3wd5xO53VIDhudF1ELuGx6I6zxA9j/PWFf2Ab3HIhfQZEd5PF4nIVYJJfL3Zo1pXmbzeanSyKKYlQUf0bosjEM84h2nmX0XXTEAHOM2h+8YZu0q2asIAAAABpmY1RMAAAAFQAAABAAAAARAAAAAAAAAAAAZAPoAACp4YrbAAACMWZkQVQAAAAWOMtjYEAD////Z0di+wGxPxKfiQEfACqIA+LHQJwL5aeBMJSt/v//n1QgrYTTgHv37iUDFTz69+/fXSAt/vfv33SoIezff/1KBLEXL15shM3m0D9//gQCmRJfvnzZB+Q/AWquv3T1UsKlq1cT3r9/bwDSfP78+QSQGiBbHu4SkOlAfAyIzwDx6q1bt+a9evVy7Zw5c5yB0tYgHBwcrL1+/frYnJwcd6AaX6irUmFhwgTUVAN0wR6gwMnv379PB4oZADEXkiNBbIP79++DDEj79OlTSlFRUShIL0yBrJmZWcDBgweby8vL3XGFka2trVlDQ0OEhISEJ5ArA/NCHxCvA+INP378mI5mMzrgev7qVRgsdsBR/Pb9+wn///5fCuQsBQbWBAYC4Pbt2zEwA27evhnLAA0oX1VV1aBdu3aBok0cTzrhnTB5gp+4uLgfSA9UL1jCDojb/v7/2wOMxlhcBnz48MEJZPOf/3/iQQkLppkViDtABty5c6esq6vPA8j2BGI+ZJtBllRWVtqD0gJGNLa0tMSXlZXFsrCwWAGjKB6YiPIfPnxoDAokEH7w4JkRSNPbt2+DgeqtEhMTQ1JSUkKQo1EKksJ+qAMDtODzh88Z+vr6amCbgMkZxAZqToXarABSC8SSGH7ctm2bBdD2nNLSUpBNrEiZibWioiIYKJe2Zs0aQ3yxJMXFxeUDSyQXLlxIBOUFWGKDykkSimrkPG8NjypMOTAAAMmmmt+QK3ABAAAAE3RFWHRTb2Z0d2FyZQBKYXBuZyByMTE5J+izYQAAAABJRU5ErkJggg==\");background-repeat:no-repeat;background-position:right}html[dir=rtl] ngx-extended-pdf-viewer #findInput[data-status=pending]{background-position:left}#findInput[data-status=notFound]{background-color:#f66}html[dir=rtl] ngx-extended-pdf-viewer ngx-extended-pdf-viewer .secondaryToolbar,html[dir=rtl] ngx-extended-pdf-viewer ngx-extended-pdf-viewer .editorParamsToolbar{padding:6px;height:auto;z-index:3000}html[dir=ltr] ngx-extended-pdf-viewer .secondaryToolbar{right:4px}html[dir=rtl] ngx-extended-pdf-viewer .secondaryToolbar{left:4px}ngx-extended-pdf-viewer editorParamsToolbarContainer{width:220px;margin-bottom:-4px}ngx-extended-pdf-viewer .editorParamsToolbarContainer>.editorParamsSetter{min-height:26px;display:flex;align-items:center;justify-content:space-between;padding-inline:10px}ngx-extended-pdf-viewer .editorParamsToolbarContainer .editorParamsLabel{padding-inline-end:10px;flex:none;color:var(--main-color)}ngx-extended-pdf-viewer .editorParamsToolbarContainer .editorParamsColor{width:32px;height:32px;flex:none}ngx-extended-pdf-viewer .editorParamsToolbarContainer .editorParamsSlider{background-color:rgba(0,0,0,0);width:90px;flex:0 1 0}ngx-extended-pdf-viewer .editorParamsToolbarContainer .editorParamsSlider::-moz-range-progress{background-color:#000}ngx-extended-pdf-viewer .editorParamsToolbarContainer .editorParamsSlider::-webkit-slider-runnable-track,ngx-extended-pdf-viewer .editorParamsToolbarContainer .editorParamsSlider::-moz-range-track{background-color:#000}ngx-extended-pdf-viewer .editorParamsToolbarContainer .editorParamsSlider::-webkit-slider-thumb,ngx-extended-pdf-viewer .editorParamsToolbarContainer .editorParamsSlider::-moz-range-thumb{background-color:#fff}ngx-extended-pdf-viewer #secondaryToolbarButtonContainer{width:250px;max-height:400px;overflow-y:auto;-webkit-overflow-scrolling:touch}ngx-extended-pdf-viewer #secondaryToolbarButtonContainer.hiddenScrollModeButtons>.scrollModeButtons,ngx-extended-pdf-viewer #secondaryToolbarButtonContainer.hiddenSpreadModeButtons>.spreadModeButtons{display:none !important}ngx-extended-pdf-viewer #editorInkParamsToolbar{inset-inline-end:40px;background-color:var(--toolbar-bg-color)}ngx-extended-pdf-viewer #editorFreeTextParamsToolbar{inset-inline-end:68px;background-color:var(--toolbar-bg-color)}ngx-extended-pdf-viewer .doorHanger,ngx-extended-pdf-viewer .doorHangerRight{border:1px solid rgba(0,0,0,.5);border-radius:2px}ngx-extended-pdf-viewer .doorHanger:after,ngx-extended-pdf-viewer .doorHanger:before,ngx-extended-pdf-viewer .doorHangerRight:after,ngx-extended-pdf-viewer .doorHangerRight:before{bottom:100%;border:solid rgba(0,0,0,0);content:\" \";height:0;width:0;position:absolute;pointer-events:none}ngx-extended-pdf-viewer .doorHanger:after,ngx-extended-pdf-viewer .doorHangerRight:after{border-bottom-color:#f9f9f9;border-width:8px}ngx-extended-pdf-viewer .doorHanger:before,ngx-extended-pdf-viewer .doorHangerRight:before{border-bottom-color:rgba(0,0,0,.5);border-width:9px}html[dir=ltr] ngx-extended-pdf-viewer .doorHanger:after,html[dir=rtl] ngx-extended-pdf-viewer .doorHangerRight:after{left:13px;margin-left:-8px}html[dir=ltr] ngx-extended-pdf-viewer .doorHanger:before,html[dir=rtl] ngx-extended-pdf-viewer .doorHangerRight:before{left:13px;margin-left:-9px}html[dir=rtl] ngx-extended-pdf-viewer .doorHanger:after,html[dir=ltr] ngx-extended-pdf-viewer .doorHangerRight:after{right:13px;margin-right:-8px}html[dir=rtl] ngx-extended-pdf-viewer .doorHanger:before,html[dir=ltr] ngx-extended-pdf-viewer .doorHangerRight:before{right:13px;margin-right:-9px}ngx-extended-pdf-viewer #findResultsCount{background-color:#5a5a5a;color:#f9f9f9;text-align:center;padding:3px 4px}ngx-extended-pdf-viewer #findMsg{font-style:italic;color:#f66}ngx-extended-pdf-viewer #findMsg:empty{display:none}ngx-extended-pdf-viewer #toolbarViewerMiddle{position:absolute;left:50%;transform:translateX(-50%)}html[dir=ltr] ngx-extended-pdf-viewer #toolbarViewerLeft,html[dir=rtl] ngx-extended-pdf-viewer #toolbarViewerRight{float:left;margin-left:4px}html[dir=ltr] #toolbarSidebarLeft,html[dir=rtl] #toolbarSidebarRight{float:left}html[dir=ltr] ngx-extended-pdf-viewer #toolbarViewerRight,html[dir=rtl] ngx-extended-pdf-viewer #toolbarViewerLeft{float:right;margin-right:4px}html[dir=ltr] #toolbarSidebarRight,html[dir=rtl] #toolbarSidebarLeft{float:right}html[dir=ltr] ngx-extended-pdf-viewer #toolbarViewerLeft>*,html[dir=ltr] ngx-extended-pdf-viewer #toolbarViewerMiddle>*,html[dir=ltr] ngx-extended-pdf-viewer #toolbarViewerRight>*{position:relative;float:left}html[dir=ltr] #toolbarSidebarLeft *,html[dir=ltr] #toolbarSidebarRight *,html[dir=ltr] .findbar *{position:relative;float:left}html[dir=rtl] ngx-extended-pdf-viewer #toolbarViewerLeft>*,html[dir=rtl] ngx-extended-pdf-viewer #toolbarViewerMiddle>*,html[dir=rtl] ngx-extended-pdf-viewer #toolbarViewerRight>*,html[dir=rtl] ngx-extended-pdf-viewer .findbar *{position:relative;float:right}html[dir=rtl] #toolbarSidebarLeft *,html[dir=rtl] #toolbarSidebarRight *{position:relative;float:right}ngx-extended-pdf-viewer .toolbarButton,ngx-extended-pdf-viewer .secondaryToolbarButton,ngx-extended-pdf-viewer .dialogButton{border:0 none;background:none;width:32px;height:25px}ngx-extended-pdf-viewer .toolbarButton>span{display:inline-block;width:0;height:0;overflow:hidden}ngx-extended-pdf-viewer .toolbarButton[disabled],ngx-extended-pdf-viewer .secondaryToolbarButton[disabled],ngx-extended-pdf-viewer .dialogButton[disabled]{opacity:.5}ngx-extended-pdf-viewer .toolbarButton,ngx-extended-pdf-viewer .dropdownToolbarButton,ngx-extended-pdf-viewer .secondaryToolbarButton,ngx-extended-pdf-viewer .dialogButton{border:1px solid rgba(0,0,0,0);color:#5a5a5a}ngx-extended-pdf-viewer .toolbarButton,ngx-extended-pdf-viewer .secondaryToolbarButton,ngx-extended-pdf-viewer .dialogButton{min-width:16px;padding:2px 6px 0;border-radius:2px;font-size:12px;line-height:14px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}html[dir=ltr] ngx-extended-pdf-viewer .toolbarButton,html[dir=ltr] ngx-extended-pdf-viewer .dialogButton{margin:3px 2px 4px 0}html[dir=rtl] ngx-extended-pdf-viewer .toolbarButton,html[dir=rtl] ngx-extended-pdf-viewer .dialogButton{margin:3px 0 4px 2px}ngx-extended-pdf-viewer .dialogButton{background-color:rgba(0,0,0,.2);background-clip:padding-box;border:1px solid rgba(0,0,0,.4)}ngx-extended-pdf-viewer .dropdownToolbarButton{background-color:rgba(0,0,0,.2);border:1px solid rgba(0,0,0,.4)}ngx-extended-pdf-viewer .toolbarButton.toggled,ngx-extended-pdf-viewer .secondaryToolbarButton.toggled{background-color:rgba(0,0,0,.2);border-color:rgba(0,0,0,.4)}ngx-extended-pdf-viewer .dropdownToolbarButton>select{color:#5a5a5a;background-color:#fff}ngx-extended-pdf-viewer .dropdownToolbarButton>select>option{background:#f9f9f9}html[dir=ltr] ngx-extended-pdf-viewer .toolbarButton:first-child,html[dir=rtl] ngx-extended-pdf-viewer .toolbarButton:last-child{margin-left:4px}html[dir=ltr] ngx-extended-pdf-viewer .toolbarButton:last-child,html[dir=rtl] ngx-extended-pdf-viewer .toolbarButton:first-child{margin-right:4px}ngx-extended-pdf-viewer .toolbarButtonSpacer{width:30px;display:inline-block;height:1px}html[dir=ltr] ngx-extended-pdf-viewer #findPrevious{margin-left:3px}html[dir=ltr] ngx-extended-pdf-viewer #findNext{margin-right:3px}html[dir=rtl] ngx-extended-pdf-viewer #findPrevious{margin-right:3px}html[dir=rtl] ngx-extended-pdf-viewer #findNext{margin-left:3px}ngx-extended-pdf-viewer .toolbarButton::before,ngx-extended-pdf-viewer .secondaryToolbarButton::before{position:absolute;display:inline-block;top:4px;left:7px}html[dir=ltr] ngx-extended-pdf-viewer .secondaryToolbarButton::before{left:4px}html[dir=rtl] ngx-extended-pdf-viewer .secondaryToolbarButton::before{right:4px}ngx-extended-pdf-viewer .toolbarButton.bookmark,ngx-extended-pdf-viewer .secondaryToolbarButton.bookmark{box-sizing:border-box;outline:none;padding-top:4px;text-decoration:none}ngx-extended-pdf-viewer .secondaryToolbarButton.bookmark{padding-top:5px}ngx-extended-pdf-viewer .bookmark[href=\"#\"]{opacity:.5;pointer-events:none}ngx-extended-pdf-viewer .toolbarButton.pdfSidebarNotification::after{position:absolute;display:inline-block;top:1px;content:\"\";background-color:#70db55;height:9px;width:9px;border-radius:50%}html[dir=ltr] ngx-extended-pdf-viewer .toolbarButton.pdfSidebarNotification::after{left:17px}html[dir=rtl] ngx-extended-pdf-viewer .toolbarButton.pdfSidebarNotification::after{right:17px}ngx-extended-pdf-viewer .secondaryToolbarButton{position:relative;margin:0 0 4px 0;padding:3px 0 1px 0;height:auto;min-height:25px;width:200px;white-space:normal}html[dir=ltr] ngx-extended-pdf-viewer .secondaryToolbarButton{padding-left:24px;text-align:left}html[dir=rtl] ngx-extended-pdf-viewer .secondaryToolbarButton{padding-right:24px;text-align:right}html[dir=ltr] ngx-extended-pdf-viewer .secondaryToolbarButton.bookmark{padding-left:27px}html[dir=rtl] ngx-extended-pdf-viewer .secondaryToolbarButton.bookmark{padding-right:27px}html[dir=ltr] ngx-extended-pdf-viewer .secondaryToolbarButton>span{padding-right:4px}html[dir=rtl] ngx-extended-pdf-viewer .secondaryToolbarButton>span{padding-left:4px}ngx-extended-pdf-viewer .html .toolbarField{padding:3px 6px;margin:4px 0 4px 0;border-radius:2px;background-color:#fff;background-clip:padding-box;border-width:1px;border-style:solid;border-color:rgba(0,0,0,.4);color:#5a5a5a;font-size:12px;line-height:14px;outline-style:none}ngx-extended-pdf-viewer .html .toolbarField::placeholder,ngx-extended-pdf-viewer .html .toolbarField:-ms-input-placeholder,ngx-extended-pdf-viewer .html .toolbarField::-ms-input-placeholder{color:#bfbfbf}ngx-extended-pdf-viewer .html .toolbarField[type=checkbox]{display:inline-block;margin:8px 0}ngx-extended-pdf-viewer .html .toolbarField.pageNumber{-moz-appearance:textfield;min-width:16px;text-align:right;width:40px}ngx-extended-pdf-viewer .html .toolbarField.pageNumber.visiblePageIsLoading{background-image:url(\"data:image/png;base64,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\");background-repeat:no-repeat;background-position:1px}ngx-extended-pdf-viewer .html .toolbarField.pageNumber::-webkit-inner-spin-button,ngx-extended-pdf-viewer .html .toolbarField.pageNumber::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}ngx-extended-pdf-viewer .html .toolbarLabel{min-width:16px;padding:3px 6px 3px 2px;margin:4px 2px 4px 0;border:1px solid rgba(0,0,0,0);border-radius:2px;color:#5a5a5a;font-size:12px;line-height:14px;text-align:left;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}ngx-extended-pdf-viewer .html #thumbnailView{position:absolute;width:calc(100% - 60px);top:0;bottom:0;padding:10px 30px 0;overflow:auto;-webkit-overflow-scrolling:touch}ngx-extended-pdf-viewer .html #thumbnailView>a:active{outline:0}ngx-extended-pdf-viewer .html .thumbnail{margin:0 10px 5px 10px}html[dir=ltr] ngx-extended-pdf-viewer .thumbnail{float:left}html[dir=rtl] ngx-extended-pdf-viewer .thumbnail{float:right}ngx-extended-pdf-viewer #thumbnailView>a:last-of-type>.thumbnail{margin-bottom:10px}ngx-extended-pdf-viewer #thumbnailView>a:last-of-type>.thumbnail:not([data-loaded]){margin-bottom:9px}ngx-extended-pdf-viewer .thumbnail:not([data-loaded]){border:1px dashed rgba(255,0,0,.5);margin:-1px 9px 4px 9px}ngx-extended-pdf-viewer .thumbnailImage{border:1px solid rgba(0,0,0,0);opacity:.8;z-index:1;background-color:#fff;background-clip:content-box}ngx-extended-pdf-viewer .thumbnailSelectionRing{border-radius:2px;padding:7px}ngx-extended-pdf-viewer .thumbnail.selected>.thumbnailSelectionRing>.thumbnailImage{opacity:1}ngx-extended-pdf-viewer .thumbnail.selected>.thumbnailSelectionRing{background-color:rgba(255,255,255,.4);background-clip:padding-box;color:#fff}ngx-extended-pdf-viewer #outlineView,ngx-extended-pdf-viewer #attachmentsView,ngx-extended-pdf-viewer #layersView{position:absolute;width:calc(100% - 8px);top:0;bottom:0;overflow:auto;-webkit-overflow-scrolling:touch;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}ngx-extended-pdf-viewer #outlineView{padding:4px 4px 0}ngx-extended-pdf-viewer #attachmentsView{padding:3px 4px 0}html[dir=ltr] ngx-extended-pdf-viewer .treeWithDeepNesting>.treeItem,html[dir=ltr] ngx-extended-pdf-viewer .treeItem>.treeItems{margin-left:20px}html[dir=rtl] ngx-extended-pdf-viewer .treeWithDeepNesting>.treeItem,html[dir=rtl] ngx-extended-pdf-viewer .treeItem>.treeItems{margin-right:20px}ngx-extended-pdf-viewer .treeItem>a{text-decoration:none;display:inline-block;min-width:95%;min-width:calc(100% - 4px);height:auto;margin-bottom:1px;border-radius:2px;color:#5a5a5a;font-size:13px;line-height:15px;user-select:none;white-space:normal;cursor:pointer}html[dir=ltr] ngx-extended-pdf-viewer .treeItem>a{padding:2px 0 5px 4px}html[dir=rtl] ngx-extended-pdf-viewer .treeItem>a{padding:2px 4px 5px 0}ngx-extended-pdf-viewer #layersView .treeItem>a *{cursor:pointer}ngx-extended-pdf-viewer #layersView .treeItem>a>label>input{float:inline-start;margin-top:1px}html[dir=ltr] ngx-extended-pdf-viewer #layersView .treeItem>a>label{padding-left:4px}html[dir=rtl] ngx-extended-pdf-viewer #layersView .treesItem>a>label{padding-right:4px}ngx-extended-pdf-viewer .treeItemToggler{position:relative;height:0;width:0}ngx-extended-pdf-viewer .treeItemToggler::before{content:url(\"data:image/svg+xml; utf8, <svg xmlns='http://www.w3.org/2000/svg' width='16' height='16'><path d='M10 13l4-7H6z'/></svg>\");display:inline-block;position:absolute;max-width:16px}ngx-extended-pdf-viewer .treeItemToggler.treeItemsHidden::before{content:url(\"data:image/svg+xml; utf8, <svg xmlns='http://www.w3.org/2000/svg' width='16' height='16'><path d='M13 9L6 5v8z'/></svg>\");max-width:16px}html[dir=rtl] ngx-extended-pdf-viewer .treeItemToggler.treeItemsHidden::before{transform:scaleX(-1)}ngx-extended-pdf-viewer .treeItemToggler.treeItemsHidden~.treeItems{display:none}html[dir=ltr] ngx-extended-pdf-viewer .treeItemToggler{float:left}html[dir=rtl] ngx-extended-pdf-viewer .treeItemToggler{float:right}html[dir=ltr] ngx-extended-pdf-viewer .treeItemToggler::before{right:4px}html[dir=rtl] ngx-extended-pdf-viewer .treeItemToggler::before{left:4px}ngx-extended-pdf-viewer .treeItemToggler:hover,ngx-extended-pdf-viewer .treeItemToggler:hover+a,ngx-extended-pdf-viewer .treeItemToggler:hover~.treeItems,ngx-extended-pdf-viewer .treeItem>a:hover{background-clip:padding-box;border-radius:2px}ngx-extended-pdf-viewer .treeItem.selected{background-clip:padding-box}ngx-extended-pdf-viewer ::-moz-selection{background:rgba(0,0,255,.3)}ngx-extended-pdf-viewer ::selection{background:rgba(0,0,255,.3)}ngx-extended-pdf-viewer #errorWrapper{background:none repeat scroll 0 0 #f66;color:#fff;left:0;position:absolute;right:0;z-index:5;padding:3px;font-size:.8em}ngx-extended-pdf-viewer .loadingInProgress #errorWrapper{top:37px}ngx-extended-pdf-viewer #errorMessageLeft{float:left}ngx-extended-pdf-viewer #errorMessageRight{float:right}ngx-extended-pdf-viewer #errorMoreInfo{background-color:#fff;color:#f66;padding:3px;margin:3px;width:98%}ngx-extended-pdf-viewer .dialogButton{width:auto;margin:3px 4px 2px !important;padding:2px 11px;color:#5a5a5a;background-color:#f9f9f9;border:#f9f9f9 !important}ngx-extended-pdf-viewer dialog{margin:auto;padding:15px;border-spacing:4px;color:#5a5a5a;font-size:12px;line-height:14px;background-color:#f9f9f9;border:1px solid rgba(0,0,0,.5);border-radius:4px;box-shadow:0 1px 4px rgba(0,0,0,.3)}ngx-extended-pdf-viewer dialog::backdrop{background-color:rgba(0,0,0,.2);user-select:none}ngx-extended-pdf-viewer dialog>.row{display:table-row}ngx-extended-pdf-viewer dialog>.row>*{display:table-cell}ngx-extended-pdf-viewer dialog .toolbarField{margin:5px 0}ngx-extended-pdf-viewer dialog .separator{display:block;margin:4px 0;height:1px;width:100%;background-color:rgba(0,0,0,.4)}ngx-extended-pdf-viewer dialog .buttonRow{text-align:center;vertical-align:middle}ngx-extended-pdf-viewer dialog :link{color:#fff}ngx-extended-pdf-viewer #passwordDialog{text-align:center}ngx-extended-pdf-viewer #passwordDialog .toolbarField{width:200px}ngx-extended-pdf-viewer #documentPropertiesDialog{text-align:left}ngx-extended-pdf-viewer #documentPropertiesDialog .row>*{min-width:100px;text-align:start}ngx-extended-pdf-viewer #documentPropertiesDialog .row>span{width:125px;word-wrap:break-word}ngx-extended-pdf-viewer #documentPropertiesDialog .row>p{max-width:225px;word-wrap:break-word}ngx-extended-pdf-viewer #documentPropertiesDialog .buttonRow{margin-top:10px}html[dir=ltr] ngx-extended-pdf-viewer #documentPropertiesDialog .row>*{text-align:left}html[dir=rtl] ngx-extended-pdf-viewer #documentPropertiesDialog .row>*{text-align:right}.fileInput{background:#fff;color:#f9f9f9;margin-top:5px;visibility:hidden;position:fixed;right:0;top:0}ngx-extended-pdf-viewer #documentPropertiesDialog .row>span{width:125px;word-wrap:break-word}ngx-extended-pdf-viewer #documentPropertiesDialog .row>p{max-width:225px;word-wrap:break-word}ngx-extended-pdf-viewer #documentPropertiesDialog .buttonRow{margin-top:10px}ngx-extended-pdf-viewer .clearBoth{clear:both}ngx-extended-pdf-viewer .grab-to-pan-grab{cursor:url(\"data:image/cur;base64,AAACAAEAICAAAA8ADwAwAQAAFgAAACgAAAAgAAAAQAAAAAEAAQAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAB+AAAA/gAAAf8AAAP/AAAD/4AAB/+AAA7/gAAM/8AAAP7AAAG2wAABtkAAAzYAAAM2AAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////////////////////////////AP///wD///4A///8AH//+AB///gAP//wAD//4AA//+AAH//yAB///AAf//wAH//4AL//+AD///yB////z///////////////////////////////////////8=\"),move !important;cursor:-webkit-grab !important;cursor:grab !important}ngx-extended-pdf-viewer .grab-to-pan-grab *:not(input):not(textarea):not(button):not(select):not(:link){cursor:inherit !important}ngx-extended-pdf-viewer .grab-to-pan-grab:active,ngx-extended-pdf-viewer .grab-to-pan-grabbing{cursor:url(\"data:image/cur;base64,AAACAAEAICAAAA8ADwAwAQAAFgAAACgAAAAgAAAAQAAAAAEAAQAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAB+AAAA/gAAAf8AAAP/AAAD/4AAAP+AAAD/gAAB/oAAAbYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////////////////////////////AP///wD///4A///8AH//+AB///gAP//8AD///gA///wAP//8AH///kn/////////////////////////////////////////////////////////////////8=\"),move !important;cursor:-webkit-grabbing !important;cursor:grabbing !important;position:fixed;background:rgba(0,0,0,0);display:block;top:0;left:0;right:0;bottom:0;overflow:hidden;z-index:10}@page{margin:0}@media screen and (-webkit-min-device-pixel-ratio: 1.1),screen and (min-resolution: 1.1dppx){ngx-extended-pdf-viewer .toolbarButton::before{transform:scale(0.5);top:-5px}ngx-extended-pdf-viewer .secondaryToolbarButton::before{transform:scale(0.5);top:-4px}}html[dir=ltr] ngx-extended-pdf-viewer .toolbarButton::before,html[dir=rtl] ngx-extended-pdf-viewer .toolbarButton::before{left:-1px}html[dir=ltr] ngx-extended-pdf-viewer .secondaryToolbarButton::before{left:-2px}html[dir=rtl] ngx-extended-pdf-viewer .secondaryToolbarButton::before{left:186px}ngx-extended-pdf-viewer .toolbarField.pageNumber.visiblePageIsLoading,ngx-extended-pdf-viewer #findInput[data-status=pending]{background-image:url(\"data:image/png;base64,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\");background-size:16px 17px}ngx-extended-pdf-viewer .visibleLargeView,ngx-extended-pdf-viewer .visibleMediumView,ngx-extended-pdf-viewer .visibleSmallView{display:none}ngx-extended-pdf-viewer .html .unverified-signature-warning,ngx-extended-pdf-viewer .html .modified-background-warning{width:100%;background-color:#ff5353;font-size:12px;text-align:center;padding-top:5px;padding-bottom:5px}.treeItem.selected>a{font-weight:bold}ngx-extended-pdf-viewer .invisible{display:none !important}ngx-extended-pdf-viewer #outerContainer{clip-path:inset(0 0 0 0)}ngx-extended-pdf-viewer .textLayer .highlight.color0{background-color:rgba(180,0,170,.4)}ngx-extended-pdf-viewer .textLayer .highlight.color0.selected{background-color:#b400aa}ngx-extended-pdf-viewer .textLayer .highlight.color1{background-color:rgba(0,100,0,.4)}ngx-extended-pdf-viewer .textLayer .highlight.color1.selected{background-color:#006400}ngx-extended-pdf-viewer .textLayer .highlight.color2{background-color:rgba(0,0,255,.4)}ngx-extended-pdf-viewer .textLayer .highlight.color2.selected{background-color:blue}ngx-extended-pdf-viewer .textLayer .highlight.color3{background-color:rgba(255,0,0,.4)}ngx-extended-pdf-viewer .textLayer .highlight.color3.selected{background-color:red}ngx-extended-pdf-viewer .textLayer .highlight.color4{background-color:rgba(255,94,0,.4)}ngx-extended-pdf-viewer .textLayer .highlight.color4.selected{background-color:#ff5e00}html[dir=ltr] ngx-extended-pdf-viewer .dialogButton,html[dir=ltr] ngx-extended-pdf-viewer .toolbarButton{margin:3px 0 4px 0}html[dir=ltr] ngx-extended-pdf-viewer .toolbarButton:last-child,html[dir=rtl] ngx-extended-pdf-viewer .toolbarButton:first-child{margin-right:0;margin-left:0}html[dir=ltr] ngx-extended-pdf-viewer #secondaryToolbarToggle{margin-right:4px;margin-left:0}html[dir=rtl] ngx-extended-pdf-viewer #secondaryToolbarToggle{margin-right:0;margin-left:4px}ngx-extended-pdf-viewer .toolbarButton,ngx-extended-pdf-viewer .secondaryToolbarButton,ngx-extended-pdf-viewer .dialogButton{padding-left:0;padding-right:0}ngx-extended-pdf-viewer .offscreen{position:fixed !important;left:-9999px !important;display:block !important;width:3000px !important}ngx-extended-pdf-viewer .offscreen #sidebarContainer{top:1000px !important}ngx-extended-pdf-viewer .toolbarButton{margin-left:-1px !important;margin-right:-2px !important}ngx-extended-pdf-viewer #numPages{padding-right:0}ngx-extended-pdf-viewer .pdf-viewer-template,ngx-extended-pdf-viewer .pdf-viewer-template *{display:none}ngx-extended-pdf-viewer button:focus,ngx-extended-pdf-viewer a:focus,ngx-extended-pdf-viewer input:focus,ngx-extended-pdf-viewer select:focus{outline:none;border:1px solid blue}ngx-extended-pdf-viewer input[type=checkbox]:focus{outline:1px solid blue}ngx-extended-pdf-viewer .relative-coords #viewerContainer{overflow:hidden}ngx-extended-pdf-viewer .relative-coords #viewerContainer .pdfViewer.removePageBorders .spread .page{margin:0}ngx-extended-pdf-viewer .relative-coords #viewerContainer #viewer{display:inline-block;position:relative}ngx-extended-pdf-viewer .relative-coords #viewerContainer #viewer .spread{margin:0}ngx-extended-pdf-viewer .relative-coords #viewerContainer #viewer .spread .page{display:inline-block}ngx-extended-pdf-viewer .relative-coords #viewerContainer #viewer .page{margin:0;border:0}ngx-extended-pdf-viewer .relative-coords #viewerContainer #viewer .page.stf__item{display:block}.hidden-by-fullscreen{display:none !important}:root{--scrollbar-color: auto;--scrollbar-bg-color: auto} #printContainer{display:none}@media print{#printContainer{position:static;display:block}body[data-pdfjsprinting],html{overflow-y:visible !important;margin:0;padding:0}body[data-pdfjsprinting]{background:rgba(0,0,0,0) none;height:100%;width:100%}body[data-pdfjsprinting]>*{display:none !important;outline:0;padding:0;margin:0}body[data-pdfjsprinting] #printContainer{display:block !important;height:100%;width:100%}body[data-pdfjsprinting] #printContainer img{max-width:100%;max-height:100%;direction:ltr;display:block !important}body[data-pdfjsprinting] #printContainer>.printedPage{page-break-after:always;page-break-inside:avoid;height:100%;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}body[data-pdfjsprinting] #printContainer>.xfaPrintedPage .xfaPage{position:absolute}body[data-pdfjsprinting] #printContainer>.xfaPrintedPage{page-break-after:always;page-break-inside:avoid;width:100%;height:100%;position:relative}body[data-pdfjsprinting] #printContainer>.printedPage canvas,body[data-pdfjsprinting] #printContainer>.printedPage img{max-width:100%;max-height:100%;direction:ltr;display:block}body[data-pdfjsprinting]{overflow-y:visible !important}html[data-pdfjsprinting].cdk-global-scrollblock{width:initial;position:initial}}`;","import { DOCUMENT } from '@angular/common';\nimport { Component, Inject, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { css } from './colors-css';\n\n@Component({\n  selector: 'pdf-light-theme',\n  templateUrl: './pdf-light-theme.component.html',\n  // styleUrls: ['./colors.scss', '../common/print.scss'],\n  // encapsulation: ViewEncapsulation.None,\n})\nexport class PdfLightThemeComponent implements OnInit, OnDestroy {\n  constructor(private renderer: Renderer2, @Inject(DOCUMENT) private document: any) {}\n\n  public ngOnInit() {\n    this.injectStyle();\n  }\n\n  private injectStyle() {\n    const styles = this.document.createElement('STYLE') as HTMLStyleElement;\n    styles.id = 'pdf-theme-css';\n    styles.innerHTML = css;\n    this.renderer.appendChild(this.document.head, styles);\n  }\n\n  public ngOnDestroy() {\n    const styles = this.document.getElementById('pdf-theme-css') as HTMLElement;\n    if (styles && styles.parentElement) {\n      (styles.parentElement as any).removeChild(styles);\n    }\n  }\n}\n","","import { DOCUMENT } from '@angular/common';\nimport { Component, Inject, Input, OnChanges, OnDestroy, OnInit, Renderer2 } from '@angular/core';\n\n@Component({\n  selector: 'pdf-dynamic-css',\n  templateUrl: './dynamic-css.component.html',\n  styleUrls: ['./dynamic-css.component.css']\n})\nexport class DynamicCssComponent implements OnInit, OnChanges, OnDestroy {\n  @Input()\n  public zoom = 1.0;\n\n  @Input()\n  public width = 100;\n\n  public xs = 490;\n\n  public sm = 560;\n\n  public md = 610;\n\n  public lg = 660;\n\n  public xl = 740;\n\n  public xxl = 830;\n\n  public get style(): string {\n    return `\n@media all and (max-width: ${this.xl}px) {\n  #toolbarViewerMiddle {\n    display: table;\n    margin: auto;\n    left: auto;\n    position: inherit;\n    transform: none;\n  }\n}\n\n@media all and (max-width: 840px) {\n  #sidebarContent {\n    background-color: rgba(0, 0, 0, 0.7);\n  }\n\n  html[dir='ltr'] #outerContainer.sidebarOpen #viewerContainer {\n    left: 0px !important;\n  }\n  html[dir='rtl'] #outerContainer.sidebarOpen #viewerContainer {\n    right: 0px !important;\n  }\n\n  #outerContainer .hiddenLargeView,\n  #outerContainer .hiddenMediumView {\n    display: inherit;\n  }\n  #outerContainer .visibleLargeView,\n  #outerContainer .visibleMediumView {\n    display: none;\n  }\n}\n\n@media all and (max-width: ${this.lg}px) {\n  .toolbarButtonSpacer {\n    width: 15px;\n  }\n\n  #outerContainer .hiddenLargeView {\n    display: none;\n  }\n  #outerContainer .visibleLargeView {\n    display: inherit;\n  }\n}\n\n@media all and (max-width: ${this.md}px) {\n  .toolbarButtonSpacer {\n    display: none;\n  }\n  #outerContainer .hiddenMediumView {\n    display: none;\n  }\n  #outerContainer .visibleMediumView {\n    display: inherit;\n  }\n}\n\n@media all and (max-width: ${this.sm}px) {\n  #outerContainer .hiddenSmallView,\n  #outerContainer .hiddenSmallView * {\n    display: none;\n  }\n  #outerContainer .visibleSmallView {\n    display: inherit;\n  }\n  .toolbarButtonSpacer {\n    width: 0;\n  }\n  html[dir='ltr'] .findbar {\n    left: 38px;\n  }\n  html[dir='rtl'] .findbar {\n    right: 38px;\n  }\n}\n\n@media all and (max-width: ${this.xs}px) {\n  #scaleSelectContainer {\n    display: none;\n  }\n}\n\n#outerContainer .visibleXLView,\n#outerContainer .visibleXXLView,\n#outerContainer .visibleTinyView {\n  display: none;\n}\n\n#outerContainer .hiddenXLView,\n#outerContainer .hiddenXXLView {\n  display: unset;\n}\n\n@media all and (max-width: ${this.xl}px) {\n  #outerContainer .hiddenXLView {\n    display: none;\n  }\n  #outerContainer .visibleXLView {\n    display: inherit;\n  }\n\n  #toolbarViewerMiddle {\n    -webkit-transform: translateX(-36%);\n    transform: translateX(-36%);\n    display: unset;\n    margin: unset;\n    left: 50%;\n    position: absolute;\n  }\n}\n\n@media all and (max-width: ${this.xxl}px) {\n  #outerContainer .hiddenXXLView {\n    display: none;\n  }\n  #outerContainer .visibleXXLView {\n    display: inherit;\n  }\n}\n\n@media all and (max-width: ${this.md}px) {\n  #toolbarViewerMiddle {\n    -webkit-transform: translateX(-26%);\n    transform: translateX(-26%);\n  }\n}\n\n@media all and (max-width: ${this.xs}px) {\n  #outerContainer .hiddenTinyView,\n  #outerContainer .hiddenTinyView * {\n    display: none;\n  }\n  #outerContainer .visibleTinyView {\n    display: inherit;\n  }\n}\n  `;\n}\n\n  constructor(private renderer: Renderer2, @Inject(DOCUMENT) private document: any) {}\n\n  ngOnInit() {\n    this.injectStyle();\n  }\n\n  ngOnChanges() {\n    const fullWith = this.document.body.clientWidth;\n    const partialViewScale = fullWith / this.width;\n    const scaleFactor = partialViewScale * (this.zoom ? this.zoom : 1);\n\n    this.xs = scaleFactor * 490;\n    this.sm = scaleFactor * 560;\n    this.md = scaleFactor * 610;\n    this.lg = scaleFactor * 660;\n    this.xl = scaleFactor * 740;\n    this.xxl = scaleFactor * 830;\n\n    const styles = this.document.getElementById('pdf-dynamic-css');\n    if (styles) {\n      styles.innerHTML = this.style;\n    }\n  }\n\n  private injectStyle() {\n    const styles = this.document.createElement('STYLE') as HTMLStyleElement;\n    styles.id = 'pdf-dynamic-css';\n    styles.innerHTML = this.style;\n    this.renderer.appendChild(this.document.head, styles);\n  }\n\n  public ngOnDestroy() {\n    const styles = this.document.getElementById('pdf-dynamic-css') as HTMLElement;\n    if (styles && styles.parentElement) {\n      (styles.parentElement as any).removeChild(styles);\n    }\n  }\n}\n","","import {\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  EventEmitter,\n  HostListener,\n  Input,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Output,\n  SimpleChanges,\n  TemplateRef,\n  ViewChild,\n} from '@angular/core';\nimport { FindResultMatchesCount, FindState } from './events/find-result';\nimport { PageRenderedEvent } from './events/page-rendered-event';\nimport { PagesLoadedEvent } from './events/pages-loaded-event';\nimport { PdfDownloadedEvent } from './events/pdf-downloaded-event';\nimport { PdfLoadedEvent } from './events/pdf-loaded-event';\nimport { PdfThumbnailDrawnEvent } from './events/pdf-thumbnail-drawn-event';\nimport { ProgressBarEvent } from './events/progress-bar-event';\nimport { TextLayerRenderedEvent } from './events/textlayer-rendered';\nimport { FormDataType } from './ngx-extended-pdf-viewer.component';\nimport { PdfBackground } from './options/pdf-background';\nimport { pdfDefaultOptions } from './options/pdf-default-options';\nimport { ScrollModeType } from './options/pdf-viewer';\nimport { VerbosityLevel } from './options/verbosity-level';\nimport { PdfDummyComponentsComponent } from './pdf-dummy-components/pdf-dummy-components.component';\nimport { PdfSecondaryToolbarComponent } from './secondary-toolbar/pdf-secondary-toolbar/pdf-secondary-toolbar.component';\nimport { PdfSidebarComponent } from './sidebar/pdf-sidebar/pdf-sidebar.component';\n\n@Component({\n  selector: 'ngx-extended-pdf-viewer',\n  templateUrl: './ngx-extended-pdf-viewer-server.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgxExtendedPdfViewerServerComponent implements OnInit, AfterViewInit, OnChanges, OnDestroy {\n  public static ngxExtendedPdfViewerInitialized = false;\n\n  /**\n   * The dummy components are inserted automatically when the user customizes the toolbar\n   * without adding every original toolbar item. Without the dummy components, the\n   * initialization code of pdf.js crashes because it assume that every standard widget is there.\n   */\n  @ViewChild(PdfDummyComponentsComponent)\n  public dummyComponents: PdfDummyComponentsComponent;\n\n  @ViewChild('root')\n  public root: ElementRef;\n\n  /* UI templates */\n  @Input()\n  public customFindbarInputArea: TemplateRef<any>;\n\n  @Input()\n  public customToolbar: TemplateRef<any>;\n\n  @Input()\n  public customFindbar: TemplateRef<any>;\n\n  @Input()\n  public customFindbarButtons: TemplateRef<any> | undefined = undefined;\n\n  @Input()\n  public customSecondaryToolbar: TemplateRef<any>;\n\n  @Input()\n  public customSidebar: TemplateRef<any>;\n\n  @Input()\n  public customThumbnail: TemplateRef<any>;\n\n  @Input()\n  public customFreeFloatingBar: TemplateRef<any>;\n\n  @Input()\n  public showFreeFloatingBar = true;\n\n  @Input()\n  public formData: FormDataType = {};\n\n  @Output()\n  public formDataChange = new EventEmitter<FormDataType>();\n\n  @Input()\n  public pageViewMode: 'single' | 'book' | 'multiple' | 'infinite-scroll' = 'multiple';\n\n  @Output()\n  public progress = new EventEmitter<ProgressBarEvent>();\n\n  @ViewChild('pdfSecondaryToolbarComponent')\n  private secondaryToolbarComponent: PdfSecondaryToolbarComponent;\n\n  @ViewChild('pdfsidebar')\n  private sidebarComponent: PdfSidebarComponent;\n\n  @Output()\n  public srcChange = new EventEmitter<string>();\n\n  @Input()\n  public scrollMode: ScrollModeType | undefined = undefined;\n\n  @Output()\n  public scrollModeChange = new EventEmitter<ScrollModeType>();\n\n  @Input()\n  public authorization: Object | undefined = undefined;\n\n  @Input()\n  public httpHeaders: Object | undefined = undefined;\n\n  @Input()\n  public contextMenuAllowed = true;\n\n  @Output()\n  public afterPrint = new EventEmitter<void>();\n\n  @Output()\n  public beforePrint = new EventEmitter<void>();\n\n  @Output()\n  public currentZoomFactor = new EventEmitter<number>();\n\n  @Input()\n  public enablePrint = true;\n\n  /**\n   * Number of milliseconds to wait between initializing the PDF viewer and loading the PDF file.\n   * Most users can let this parameter safely at it's default value of zero.\n   * Set this to 1000 or higher if you run into timing problems (typically caused by loading the locale files\n   * after the PDF files, so they are not available when the PDF viewer is initialized).\n   */\n  @Input()\n  public delayFirstView = 0;\n\n  /** store the timeout id so it can be canceled if user leaves the page before the PDF is shown */\n  private initTimeout: any;\n\n  /** How many log messages should be printed?\n   * Legal values: VerbosityLevel.INFOS (= 5), VerbosityLevel.WARNINGS (= 1), VerbosityLevel.ERRORS (= 0) */\n  @Input()\n  public logLevel = VerbosityLevel.WARNINGS;\n\n  @Input()\n  public enablePinchOnMobile = false;\n\n  /** Use the minified (minifiedJSLibraries=\"true\", which is the default) or the user-readable pdf.js library (minifiedJSLibraries=\"false\") */\n  @Input()\n  public minifiedJSLibraries = true;\n\n  public primaryMenuVisible = true;\n\n  /** option to increase (or reduce) print resolution. Default is 150 (dpi). Sensible values\n   * are 300, 600, and 1200. Note the increase memory consumption, which may even result in a browser crash. */\n  @Input()\n  public printResolution = null;\n\n  @Input()\n  public rotation: 0 | 90 | 180 | 270;\n\n  @Output()\n  public rotationChange = new EventEmitter<0 | 90 | 180 | 270>();\n\n  public hasSignature: boolean;\n\n  @Input()\n  public set src(url: string | ArrayBuffer | Blob | Uint8Array | { range: any }) {}\n\n  @Input()\n  public set base64Src(base64: string) {}\n\n  @Input()\n  public set height(h: string) {}\n\n  /**\n   * If this flag is true, this components adds a link to the locale assets. The pdf viewer\n   * sees this link and uses it to load the locale files automatically.\n   * @param useBrowserLocale boolean\n   */\n  @Input()\n  public useBrowserLocale = false;\n\n  @Input()\n  public backgroundColor = '#e8e8eb';\n\n  @Input()\n  public pdfBackground: PdfBackground = '#ffffff';\n\n  @Input()\n  public pdfBackgroundColorToReplace: string = '#ffffff';\n\n  /** Allows the user to define the name of the file after clicking \"download\" */\n  @Input()\n  public filenameForDownload = 'document.pdf';\n\n  /** Allows the user to disable the keyboard bindings completely */\n  @Input()\n  public ignoreKeyboard = false;\n\n  /** Allows the user to disable a list of key bindings. */\n  @Input()\n  public ignoreKeys: Array<string> = [];\n\n  /** Allows the user to enable a list of key bindings explicitly. If this property is set, every other key binding is ignored. */\n  @Input()\n  public acceptKeys: Array<string> = [];\n\n  /** Allows the user to put the viewer's svg images into an arbitrary folder */\n  @Input()\n  public imageResourcesPath = './' + pdfDefaultOptions.assetsFolder + '/images/';\n\n  /** Allows the user to put their locale folder into an arbitrary folder */\n  @Input()\n  public localeFolderPath = './' + pdfDefaultOptions.assetsFolder + '/locale';\n\n  /** Override the default locale. This must be the complete locale name, such as \"es-ES\". The string is allowed to be all lowercase.\n   */\n  @Input()\n  public language: string | undefined = undefined;\n\n  /** By default, listening to the URL is deactivated because often the anchor tag is used for the Angular router */\n  @Input()\n  public listenToURL = false;\n\n  /** Navigate to a certain \"named destination\" */\n  @Input()\n  public nameddest: string | undefined = undefined;\n\n  /** allows you to pass a password to read password-protected files */\n  @Input()\n  public password: string | undefined = undefined;\n\n  /** pdf.js can show signatures, but fails to verify them. So they are switched off by default.\n   * Set \"[showUnverifiedSignatures]\"=\"true\" to display e-signatures nonetheless.\n   */\n  @Input()\n  public showUnverifiedSignatures = false;\n\n  @Input()\n  public startTabindex: number | undefined;\n\n  public get showSidebarButton() {\n    return true;\n  }\n  @Input()\n  public set showSidebarButton(show: boolean) {}\n\n  @Input()\n  public sidebarVisible: boolean | undefined = undefined;\n\n  @Output()\n  public sidebarVisibleChange = new EventEmitter<boolean>();\n\n  @Input()\n  public showFindButton: boolean | undefined = undefined;\n\n  @Input()\n  public showFindHighlightAll = true;\n\n  @Input()\n  public showFindMatchCase = true;\n\n  @Input()\n  public showFindCurrentPageOnly = true;\n\n  @Input()\n  public showFindPageRange = true;\n\n  @Input()\n  public showFindEntireWord = true;\n\n  @Input()\n  public showFindEntirePhrase = true;\n\n  @Input()\n  public showFindIgnoreAccents = true;\n\n  @Input()\n  public showFindFuzzySearch = true;\n\n  @Input()\n  public showFindResultsCount = true;\n\n  @Input()\n  public showFindMessages = true;\n\n  @Input()\n  public showPagingButtons = true;\n  @Input()\n  public showZoomButtons = true;\n  @Input()\n  public showPresentationModeButton = false;\n  @Input()\n  public showOpenFileButton = true;\n  @Input()\n  public showPrintButton = true;\n  @Input()\n  public showDownloadButton = true;\n  @Input()\n  public showBookmarkButton = true;\n\n  @Input()\n  public theme: 'dark' | 'light' | 'custom' = 'light';\n\n  @Input()\n  public showToolbar = true;\n\n  @Input()\n  public showSecondaryToolbarButton = true;\n\n  /** Set by the event (secondaryMenuIsEmpty) */\n  public hideKebabMenuForSecondaryToolbar = false;\n\n  @Input()\n  public showRotateButton = true;\n  @Input()\n  public handTool = true;\n  @Output()\n  public handToolChange = new EventEmitter<boolean>();\n  @Input()\n  public showHandToolButton = false;\n  @Input()\n  public showScrollingButton = true;\n  @Input()\n  public showSpreadButton = true;\n  @Input()\n  public showPropertiesButton = true;\n  @Input()\n  public showBorders = true;\n\n  @Input()\n  public spread: 'off' | 'even' | 'odd';\n\n  @Output()\n  public spreadChange = new EventEmitter<'off' | 'even' | 'odd'>();\n\n  @Output()\n  public thumbnailDrawn = new EventEmitter<PdfThumbnailDrawnEvent>();\n\n  private _page: number | undefined = undefined;\n\n  public get page(): number | undefined {\n    return this._page;\n  }\n\n  @Input()\n  public set page(p: number | undefined) {} // NOSONAR\n\n  @Output()\n  public pageChange = new EventEmitter<number | undefined>();\n\n  @Input()\n  public pageLabel: string | undefined = undefined;\n\n  @Output()\n  public pageLabelChange = new EventEmitter<string | undefined>();\n\n  @Output()\n  public pagesLoaded = new EventEmitter<PagesLoadedEvent>();\n\n  @Output()\n  public pageRendered = new EventEmitter<PageRenderedEvent>();\n\n  @Output()\n  public pdfDownloaded = new EventEmitter<PdfDownloadedEvent>();\n\n  @Output()\n  public pdfLoaded = new EventEmitter<PdfLoadedEvent>();\n\n  @Output()\n  public pdfLoadingFailed = new EventEmitter<Error>();\n\n  @Input()\n  public textLayer: boolean | undefined = undefined;\n\n  @Output()\n  public textLayerRendered = new EventEmitter<TextLayerRenderedEvent>();\n\n  @Output()\n  public updateFindMatchesCount = new EventEmitter<FindResultMatchesCount>();\n\n  @Output()\n  public updateFindState = new EventEmitter<FindState>();\n\n  /** Legal values: undefined, 'auto', 'page-actual', 'page-fit', 'page-width', or '50' (or any other percentage) */\n  @Input()\n  public zoom: string | number | undefined = undefined;\n\n  @Output()\n  public zoomChange = new EventEmitter<string | number | undefined>();\n\n  @Input()\n  public zoomLevels = ['auto', 'page-actual', 'page-fit', 'page-width', 0.5, 1, 1.25, 1.5, 2, 3, 4];\n\n  @Input()\n  public maxZoom = 10;\n\n  @Input()\n  public minZoom = 0.1;\n\n  /** This attributes allows you to increase the size of the UI elements so you can use them on small mobile devices.\n   * This attribute is a string with a percent character at the end (e.g. \"150%\").\n   */\n  @Input() _mobileFriendlyZoom = '100%';\n\n  public mobileFriendlyZoomScale = 1;\n\n  public toolbarMarginTop = '0px';\n\n  public toolbarWidth = '100%';\n\n  public toolbarWidthInPixels = 100;\n\n  public secondaryToolbarTop: string | undefined = undefined;\n\n  // dirty IE11 hack - temporary solution\n  public findbarTop: string | undefined = undefined;\n\n  // dirty IE11 hack - temporary solution\n  public findbarLeft: string | undefined = undefined;\n\n  // Additional PDF Form Field Types #567: Used to store the exported values of radio and checkbox buttons\n  public buttonValues: any = {};\n\n  public get mobileFriendlyZoom() {\n    return this._mobileFriendlyZoom;\n  }\n  /**\n   * This attributes allows you to increase the size of the UI elements so you can use them on small mobile devices.\n   * This attribute is a string with a percent character at the end (e.g. \"150%\").\n   */\n  @Input()\n  public set mobileFriendlyZoom(zoom: string) {} // NOSONAR\n\n  @Input()\n  public wheelAction: 'scroll' | 'zoom' = 'scroll';\n\n  public get sidebarPositionTop(): string {\n    return '32px';\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {}\n\n  ngOnInit() {}\n\n  ngAfterViewInit() {}\n\n  public ngOnDestroy(): void {}\n\n  @HostListener('contextmenu')\n  public onContextMenu(): boolean {\n    return this.contextMenuAllowed;\n  }\n}\n","<link *ngIf=\"useBrowserLocale\" rel=\"resource\" type=\"application/l10n\" [attr.xhref]=\"localeFolderPath+'/locale.properties'\" origin=\"ngx-extended-pdf-viewer\" />\n<pdf-dark-theme *ngIf=\"theme==='dark'\"></pdf-dark-theme>\n<pdf-light-theme *ngIf=\"theme==='light'\"></pdf-light-theme>\n\n<pdf-dynamic-css [zoom]=\"mobileFriendlyZoomScale\" [width]=\"toolbarWidthInPixels\"></pdf-dynamic-css>\n<div class=\"zoom\" [style.height]=\"height\">\n  <div class=\"html\">\n    <div id=\"mainContainer\">\n      <pdf-dummy-components></pdf-dummy-components>\n    </div>\n  </div>\n</div>\n\n<ng-template #defaultFreeFloatingBar>\n\n</ng-template>\n","import { Component } from '@angular/core';\n\n@Component({\n  selector: 'pdf-document-properties-dialog',\n  templateUrl: './pdf-document-properties-dialog.component.html',\n})\nexport class PdfDocumentPropertiesDialogComponent {}\n","<dialog id=\"documentPropertiesDialog\">\n  <div class=\"row\">\n    <span id=\"fileNameLabel\" data-l10n-id=\"document_properties_file_name\">File name:</span>\n    <p id=\"fileNameField\" aria-labelledby=\"fileNameLabel\">-</p>\n  </div>\n  <div class=\"row\">\n    <span id=\"fileSizeLabel\" data-l10n-id=\"document_properties_file_size\">File size:</span>\n    <p id=\"fileSizeField\" aria-labelledby=\"fileSizeLabel\">-</p>\n  </div>\n  <div class=\"separator\"></div>\n  <div class=\"row\">\n    <span id=\"titleLabel\" data-l10n-id=\"document_properties_title\">Title:</span>\n    <p id=\"titleField\" aria-labelledby=\"titleLabel\">-</p>\n  </div>\n  <div class=\"row\">\n    <span id=\"authorLabel\" data-l10n-id=\"document_properties_author\">Author:</span>\n    <p id=\"authorField\" aria-labelledby=\"authorLabel\">-</p>\n  </div>\n  <div class=\"row\">\n    <span id=\"subjectLabel\" data-l10n-id=\"document_properties_subject\">Subject:</span>\n    <p id=\"subjectField\" aria-labelledby=\"subjectLabel\">-</p>\n  </div>\n  <div class=\"row\">\n    <span id=\"keywordsLabel\" data-l10n-id=\"document_properties_keywords\">Keywords:</span>\n    <p id=\"keywordsField\" aria-labelledby=\"keywordsLabel\">-</p>\n  </div>\n  <div class=\"row\">\n    <span id=\"creationDateLabel\" data-l10n-id=\"document_properties_creation_date\">Creation Date:</span>\n    <p id=\"creationDateField\" aria-labelledby=\"creationDateLabel\">-</p>\n  </div>\n  <div class=\"row\">\n    <span id=\"modificationDateLabel\" data-l10n-id=\"document_properties_modification_date\">Modification Date:</span>\n    <p id=\"modificationDateField\" aria-labelledby=\"modificationDateLabel\">-</p>\n  </div>\n  <div class=\"row\">\n    <span id=\"creatorLabel\" data-l10n-id=\"document_properties_creator\">Creator:</span>\n    <p id=\"creatorField\" aria-labelledby=\"creatorLabel\">-</p>\n  </div>\n  <div class=\"separator\"></div>\n  <div class=\"row\">\n    <span id=\"producerLabel\" data-l10n-id=\"document_properties_producer\">PDF Producer:</span>\n    <p id=\"producerField\" aria-labelledby=\"producerLabel\">-</p>\n  </div>\n  <div class=\"row\">\n    <span id=\"versionLabel\" data-l10n-id=\"document_properties_version\">PDF Version:</span>\n    <p id=\"versionField\" aria-labelledby=\"versionLabel\">-</p>\n  </div>\n  <div class=\"row\">\n    <span id=\"pageCountLabel\" data-l10n-id=\"document_properties_page_count\">Page Count:</span>\n    <p id=\"pageCountField\" aria-labelledby=\"pageCountLabel\">-</p>\n  </div>\n  <div class=\"row\">\n    <span id=\"pageSizeLabel\" data-l10n-id=\"document_properties_page_size\">Page Size:</span>\n    <p id=\"pageSizeField\" aria-labelledby=\"pageSizeLabel\">-</p>\n  </div>\n  <div class=\"separator\"></div>\n  <div class=\"row\">\n    <span id=\"linearizedLabel\" data-l10n-id=\"document_properties_linearized\">Fast Web View:</span>\n    <p id=\"linearizedField\" aria-labelledby=\"linearizedLabel\">-</p>\n  </div>\n  <div class=\"buttonRow\">\n    <button id=\"documentPropertiesClose\" class=\"dialogButton\"><span data-l10n-id=\"document_properties_close\">Close</span></button>\n  </div>\n</dialog>\n","import { Component } from '@angular/core';\n\n@Component({\n  selector: 'pdf-error-message',\n  templateUrl: './pdf-error-message.component.html',\n})\nexport class PdfErrorMessageComponent {}\n","<div id=\"errorWrapper\" hidden=\"true\">\n  <div id=\"errorMessageLeft\">\n    <span id=\"errorMessage\"></span>\n    <button type=\"button\" id=\"errorShowMore\" data-l10n-id=\"error_more_info\">More Information</button>\n    <button type=\"button\" id=\"errorShowLess\" data-l10n-id=\"error_less_info\" hidden=\"true\">Less Information</button>\n  </div>\n  <div id=\"errorMessageRight\">\n    <button type=\"button\" id=\"errorClose\" data-l10n-id=\"error_close\">Close</button>\n  </div>\n  <div class=\"clearBoth\"></div>\n  <textarea id=\"errorMoreInfo\" hidden=\"true\" readonly=\"readonly\"></textarea>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n  selector: 'pdf-password-dialog',\n  templateUrl: './pdf-password-dialog.component.html',\n})\nexport class PdfPasswordDialogComponent {}\n","<dialog id=\"passwordDialog\">\n  <div class=\"row\">\n    <label for=\"password\" id=\"passwordText\" data-l10n-id=\"password_label\">Enter the password to open this PDF file:</label>\n  </div>\n  <div class=\"row\">\n    <input type=\"password\" id=\"password\" class=\"toolbarField\" />\n  </div>\n  <div class=\"buttonRow\">\n    <button id=\"passwordCancel\" class=\"dialogButton\"><span data-l10n-id=\"password_cancel\">Cancel</span></button>\n    <button id=\"passwordSubmit\" class=\"dialogButton\"><span data-l10n-id=\"password_ok\">OK</span></button>\n  </div>\n</dialog>\n","import { Component } from '@angular/core';\n\n@Component({\n  selector: 'pdf-prepare-printing-dialog',\n  templateUrl: './pdf-prepare-printing-dialog.component.html',\n})\nexport class PdfPreparePrintingDialogComponent {}\n","<dialog id=\"printServiceDialog\" style=\"min-width: 200px\">\n  <div class=\"row\">\n    <span data-l10n-id=\"print_progress_message\">Preparing document for printing…</span>\n  </div>\n  <div class=\"row\">\n    <progress value=\"0\" max=\"100\"></progress>\n    <span data-l10n-id=\"print_progress_percent\" data-l10n-args='{ \"progress\": 0 }' class=\"relative-progress\">0%</span>\n  </div>\n  <div class=\"buttonRow\">\n    <button id=\"printCancel\" class=\"dialogButton\"><span data-l10n-id=\"print_progress_close\">Cancel</span></button>\n  </div>\n</dialog>\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { getVersionSuffix, pdfDefaultOptions } from './options/pdf-default-options';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class PDFNotificationService {\n  // this event is fired when the pdf.js library has been loaded and objects like PDFApplication are available\n  public onPDFJSInit = new Subject<void>();\n\n  public pdfjsVersion = getVersionSuffix(pdfDefaultOptions.assetsFolder);\n}\n","import {\n  AfterViewInit,\n  Component,\n  ElementRef,\n  EventEmitter,\n  HostListener,\n  Input,\n  OnChanges,\n  OnDestroy,\n  Output,\n  SimpleChanges,\n  TemplateRef,\n} from '@angular/core';\nimport { take } from 'rxjs/operators';\nimport { IPDFViewerApplication } from '../../options/pdf-viewer-application';\nimport { PDFNotificationService } from './../../pdf-notification-service';\n\n@Component({\n  selector: 'pdf-secondary-toolbar',\n  templateUrl: './pdf-secondary-toolbar.component.html',\n  styleUrls: ['./pdf-secondary-toolbar.component.css'],\n})\nexport class PdfSecondaryToolbarComponent implements OnChanges, AfterViewInit, OnDestroy {\n  @Input()\n  public customSecondaryToolbar: TemplateRef<any> | undefined;\n\n  @Input()\n  public secondaryToolbarTop;\n\n  @Input()\n  public mobileFriendlyZoomScale: number;\n\n  @Input()\n  public showPresentationModeButton = true;\n\n  @Input()\n  public showOpenFileButton = true;\n\n  @Input()\n  public showPrintButton = true;\n\n  @Input()\n  public showDownloadButton = true;\n\n  @Input()\n  public showBookmarkButton = true;\n\n  @Input()\n  public showPagingButtons = true;\n\n  @Input()\n  public showRotateButton = true;\n\n  @Input()\n  public showHandToolButton = true;\n\n  @Input()\n  public showScrollingButton = true;\n\n  @Input()\n  public showSpreadButton = true;\n\n  @Input()\n  public showPropertiesButton = true;\n\n  @Output()\n  public spreadChange = new EventEmitter<'off' | 'even' | 'odd'>();\n\n  @Output()\n  public secondaryMenuIsEmpty = new EventEmitter<boolean>();\n\n  public disablePreviousPage = true;\n\n  public disableNextPage = true;\n\n  private mutationObserver: MutationObserver | undefined;\n\n  constructor(private element: ElementRef, public notificationService: PDFNotificationService) {\n    this.notificationService.onPDFJSInit.pipe(take(1)).subscribe(() => {\n      this.onPdfJsInit();\n    });\n  }\n\n  public onPdfJsInit(): void {\n    const PDFViewerApplication: IPDFViewerApplication = (window as any).PDFViewerApplication;\n    PDFViewerApplication.eventBus.on('pagechanging', () => {\n      this.updateUIState();\n    });\n    PDFViewerApplication.eventBus.on('pagerendered', () => {\n      this.updateUIState();\n    });\n  }\n\n  public updateUIState(): void {\n    setTimeout(() => {\n      const PDFViewerApplication: IPDFViewerApplication = (window as any).PDFViewerApplication;\n      const currentPage = PDFViewerApplication.pdfViewer.currentPageNumber;\n      const previousButton = document.getElementById('previousPage') as HTMLButtonElement;\n      if (previousButton) {\n        this.disablePreviousPage = Number(currentPage) <= 1;\n        previousButton.disabled = this.disablePreviousPage;\n      }\n      const nextButton = document.getElementById('nextPage') as HTMLButtonElement;\n      if (nextButton) {\n        this.disableNextPage = currentPage === PDFViewerApplication.pagesCount;\n        nextButton.disabled = this.disableNextPage;\n      }\n    });\n  }\n\n  public onSpreadChange(newSpread: 'off' | 'odd' | 'even'): void {\n    this.spreadChange.emit(newSpread);\n  }\n\n  public ngOnChanges(changes: SimpleChanges): void {\n    setTimeout(() => this.checkVisibility());\n  }\n\n  @HostListener('window:resize')\n  public onResize() {\n    setTimeout(() => this.checkVisibility());\n  }\n\n  public ngAfterViewInit() {\n    const targetNode = this.element.nativeElement as HTMLElement;\n\n    const config = { attributes: true, childList: true, subtree: true };\n\n    this.mutationObserver = new MutationObserver((mutationList: MutationRecord[], observer) => {\n      for (const mutation of mutationList) {\n        if (mutation.type === 'attributes') {\n          if (mutation.attributeName === 'class') {\n            this.checkVisibility();\n          }\n        }\n      }\n    });\n\n    this.mutationObserver.observe(targetNode, config);\n  }\n\n  public ngOnDestroy(): void {\n    if (this.mutationObserver) {\n      this.mutationObserver.disconnect;\n      this.mutationObserver = undefined;\n    }\n  }\n\n  public checkVisibility(): void {\n    let visibleButtons = 0;\n    const e = this.element.nativeElement as HTMLElement;\n    const f = e.children.item(0);\n    if (f) {\n      const g = f.children.item(0);\n      if (g && g instanceof HTMLElement) {\n        visibleButtons = this.checkVisibilityRecursively(g);\n      }\n    }\n    this.secondaryMenuIsEmpty.emit(visibleButtons === 0);\n  }\n\n  private checkVisibilityRecursively(e: HTMLElement): number {\n    if (typeof window === 'undefined') {\n      return 0;\n    }\n    if (e.style.display === 'none') {\n      return 0;\n    }\n    if (e.classList.contains('hidden')) {\n      return 0;\n    }\n    if (e.classList.contains('invisible')) {\n      return 0;\n    }\n\n    const style = window.getComputedStyle(e);\n    if (style.display === 'none') {\n      return 0;\n    }\n\n    if (e instanceof HTMLButtonElement || e instanceof HTMLAnchorElement) {\n      return 1;\n    }\n    let count = 0;\n    const children = e.children;\n    if (children && children.length) {\n      for (let i = 0; i < children.length && count === 0; i++) {\n        const child = children.item(i);\n        if (child && child instanceof HTMLElement) {\n          count += this.checkVisibilityRecursively(child);\n        }\n      }\n    }\n    return count;\n  }\n\n  public previousPage(): void {\n    const PDFViewerApplication: IPDFViewerApplication = (window as any).PDFViewerApplication;\n    PDFViewerApplication.eventBus.dispatch('previouspage');\n  }\n\n  public nextPage(): void {\n    const PDFViewerApplication: IPDFViewerApplication = (window as any).PDFViewerApplication;\n    PDFViewerApplication.eventBus.dispatch('nextpage');\n  }\n}\n","<ng-container [ngTemplateOutlet]=\"customSecondaryToolbar ? customSecondaryToolbar : defaultSecondaryToolbar\"> </ng-container>\n\n<ng-template #defaultSecondaryToolbar>\n  <div\n    id=\"secondaryToolbar\"\n    class=\"secondaryToolbar hidden doorHangerRight\"\n    [style.top]=\"secondaryToolbarTop\"\n    [style.transform]=\"'scale(' + mobileFriendlyZoomScale + ')'\"\n    [style.transformOrigin]=\"'right top'\"\n  >\n    <div id=\"secondaryToolbarButtonContainer\">\n      <button\n        type=\"button\"\n        id=\"secondaryPresentationMode\"\n        [class.invisible]=\"!showPresentationModeButton\"\n        class=\"secondaryToolbarButton visibleLargeView\"\n        title=\"Switch to Presentation Mode\"\n        data-l10n-id=\"presentation_mode\"\n      >\n        <svg style=\"width:22px;height:22px\" viewBox=\"0 0 24 24\">\n          <path fill=\"currentColor\" d=\"M5,5H10V7H7V10H5V5M14,5H19V10H17V7H14V5M17,14H19V19H14V17H17V14M10,17V19H5V14H7V17H10Z\" />\n        </svg>\n        <span data-l10n-id=\"presentation_mode_label\">Presentation Mode</span>\n      </button>\n\n      <button\n        type=\"button\"\n        id=\"secondaryOpenFile\"\n        [class.invisible]=\"!showOpenFileButton\"\n        class=\"secondaryToolbarButton visibleMediumView\"\n        title=\"Open File\"\n        data-l10n-id=\"open_file\"\n      >\n        <svg style=\"width:22px;height:22px\" viewBox=\"0 0 24 24\">\n          <path fill=\"currentColor\" d=\"M14,2L20,8V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2H14M18,20V9H13V4H6V20H18M12,12L16,16H13.5V19H10.5V16H8L12,12Z\" />\n        </svg>\n        <span data-l10n-id=\"open_file_label\">Open</span>\n      </button>\n\n      <button\n        type=\"button\"\n        id=\"secondaryPrint\"\n        class=\"secondaryToolbarButton visibleSmallView\"\n        [class.invisible]=\"!showPrintButton\"\n        title=\"Print\"\n        data-l10n-id=\"print\"\n      >\n        <svg style=\"width:22px;height:22px\" viewBox=\"0 0 24 24\">\n          <path fill=\"currentColor\" d=\"M18,3H6V7H18M19,12A1,1 0 0,1 18,11A1,1 0 0,1 19,10A1,1 0 0,1 20,11A1,1 0 0,1 19,12M16,19H8V14H16M19,8H5A3,3 0 0,0 2,11V17H6V21H18V17H22V11A3,3 0 0,0 19,8Z\" />\n        </svg>\n        <span data-l10n-id=\"print_label\">Print</span>\n      </button>\n\n      <button\n        type=\"button\"\n        id=\"secondaryDownload\"\n        class=\"secondaryToolbarButton visibleSmallView\"\n        [class.invisible]=\"!showDownloadButton\"\n        title=\"Download\"\n        data-l10n-id=\"download\"\n      >\n        <svg style=\"width:22px;height:22px\" viewBox=\"0 0 24 24\">\n          <path fill=\"currentColor\" d=\"M14,2L20,8V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2H14M18,20V9H13V4H6V20H18M12,19L8,15H10.5V12H13.5V15H16L12,19Z\" />\n        </svg>\n        <span data-l10n-id=\"download_label\">Download</span>\n      </button>\n\n      <a\n        href=\"#\"\n        id=\"secondaryViewBookmark\"\n        class=\"secondaryToolbarButton bookmark visibleTinyView\"\n        [class.invisible]=\"!showBookmarkButton\"\n        title=\"Current view (copy or open in new window)\"\n        data-l10n-id=\"bookmark\"\n      >\n        <svg style=\"width:22px;height:22px\" viewBox=\"0 0 24 24\">\n          <path fill=\"currentColor\" d=\"M17,18L12,15.82L7,18V5H17M17,3H7A2,2 0 0,0 5,5V21L12,18L19,21V5C19,3.89 18.1,3 17,3Z\" />\n        </svg>\n        <span data-l10n-id=\"bookmark_label\">Current View</span>\n      </a>\n\n      <button\n        type=\"button\"\n        [class.invisible]=\"!showPagingButtons\"\n        id=\"firstPage\"\n        class=\"secondaryToolbarButton firstPage visibleLargeView\"\n        title=\"Go to First Page\"\n        data-l10n-id=\"first_page\"\n      >\n        <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\">\n          <path fill=\"currentColor\" d=\"M18.41,16.59L13.82,12L18.41,7.41L17,6L11,12L17,18L18.41,16.59M6,6H8V18H6V6Z\" />\n        </svg>\n        <span data-l10n-id=\"first_page_label\">Go to First Page</span>\n      </button>\n      <button\n        type=\"button\"\n        [class.invisible]=\"!showPagingButtons\"\n        id=\"previousPage\"\n        class=\"secondaryToolbarButton previousPage visibleTinyView\"\n        title=\"Go to Previous Page\"\n        data-l10n-id=\"previous\"\n        [disabled]=\"disablePreviousPage\"\n        (click)=\"previousPage()\"\n      >\n        <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\">\n          <path fill=\"currentColor\" d=\"M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z\" />\n        </svg>\n        <span data-l10n-id=\"previous_label\">Go to Previous Page</span>\n      </button>\n      <button\n        type=\"button\"\n        [class.invisible]=\"!showPagingButtons\"\n        [disabled]=\"disableNextPage\"\n        id=\"nextPage\"\n        class=\"secondaryToolbarButton nextPage visibleTinyView\"\n        title=\"Go to Next Page\"\n        data-l10n-id=\"next\"\n        (click)=\"nextPage()\"\n      >\n        <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\">\n          <path fill=\"currentColor\" d=\"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z\" />\n        </svg>\n        <span data-l10n-id=\"next_label\">Go to Next Page</span>\n      </button>\n      <button\n        type=\"button\"\n        [class.invisible]=\"!showPagingButtons\"\n        id=\"lastPage\"\n        class=\"secondaryToolbarButton lastPage visibleLargeView\"\n        title=\"Go to Last Page\"\n        data-l10n-id=\"last_page\"\n      >\n        <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\">\n          <path fill=\"currentColor\" d=\"M5.59,7.41L10.18,12L5.59,16.59L7,18L13,12L7,6L5.59,7.41M16,6H18V18H16V6Z\" />\n        </svg>\n        <span data-l10n-id=\"last_page_label\">Go to Last Page</span>\n      </button>\n\n      <button\n        type=\"button\"\n        [class.invisible]=\"!showRotateButton\"\n        id=\"pageRotateCw\"\n        class=\"secondaryToolbarButton rotateCw visibleXLView\"\n        title=\"Rotate Clockwise\"\n        data-l10n-id=\"page_rotate_cw\"\n      >\n        <svg style=\"width:22px;height:22px\" viewBox=\"0 0 24 24\">\n          <path fill=\"currentColor\" d=\"M12 3C7.03 3 3 7.03 3 12S7.03 21 12 21C14 21 15.92 20.34 17.5 19.14L16.06 17.7C14.87 18.54 13.45 19 12 19C8.13 19 5 15.87 5 12S8.13 5 12 5 19 8.13 19 12H16L20 16L24 12H21C21 7.03 16.97 3 12 3\" />\n        </svg>\n        <span data-l10n-id=\"page_rotate_cw_label\">Rotate Clockwise</span>\n      </button>\n      <button\n        type=\"button\"\n        [class.invisible]=\"!showRotateButton\"\n        id=\"pageRotateCcw\"\n        class=\"secondaryToolbarButton rotateCcw visibleXLView\"\n        title=\"Rotate Counterclockwise\"\n        data-l10n-id=\"page_rotate_ccw\"\n      >\n        <svg style=\"width:22px;height:22px\" viewBox=\"0 0 24 24\">\n          <path fill=\"currentColor\" d=\"M12 3C7.03 3 3 7.03 3 12H0L4 16L8 12H5C5 8.13 8.13 5 12 5S19 8.13 19 12 15.87 19 12 19C10.55 19 9.13 18.54 7.94 17.7L6.5 19.14C8.08 20.34 10 21 12 21C16.97 21 21 16.97 21 12S16.97 3 12 3\" />\n        </svg>\n        <span data-l10n-id=\"page_rotate_ccw_label\">Rotate Counterclockwise</span>\n      </button>\n\n      <button\n        type=\"button\"\n        [class.invisible]=\"!showHandToolButton\"\n        id=\"cursorSelectTool\"\n        class=\"secondaryToolbarButton toggled visibleXXLView\"\n        title=\"Enable Text Selection Tool\"\n        data-l10n-id=\"cursor_text_select_tool\"\n      >\n        <svg style=\"width:22px;height:22px\" viewBox=\"0 0 24 24\">\n          <path fill=\"currentColor\" d=\"M2 4C2 2.89 2.9 2 4 2H7V4H4V7H2V4M22 4V7H20V4H17V2H20C21.1 2 22 2.89 22 4M2 20V17H4V20H7V22H4C2.9 22 2 21.11 2 20M10 2H14V4H10V2M10 20H14V22H10V20M2 10H4V14H2V10M18.5 13C20.4 13 22 14.6 22 16.5C22 19.1 18.5 23 18.5 23C18.5 23 15 19.1 15 16.5C15 14.6 16.6 13 18.5 13M18.5 17.8C19.2 17.8 19.8 17.2 19.7 16.6C19.7 16 19.1 15.4 18.5 15.4C17.9 15.4 17.3 15.9 17.3 16.6C17.3 17.2 17.8 17.8 18.5 17.8M20 10H22V12.34C21.42 11.84 20.74 11.45 20 11.23V10Z\" />\n        </svg>\n        <span data-l10n-id=\"cursor_text_select_tool_label\">Text Selection Tool</span>\n      </button>\n      <button\n        type=\"button\"\n        [class.invisible]=\"!showHandToolButton\"\n        id=\"cursorHandTool\"\n        class=\"secondaryToolbarButton visibleXXLView\"\n        title=\"Enable Hand Tool\"\n        data-l10n-id=\"cursor_hand_tool\"\n      >\n        <svg style=\"width:22px;height:22px\" viewBox=\"0 0 24 24\">\n          <path fill=\"currentColor\" d=\"M13,6V11H18V7.75L22.25,12L18,16.25V13H13V18H16.25L12,22.25L7.75,18H11V13H6V16.25L1.75,12L6,7.75V11H11V6H7.75L12,1.75L16.25,6H13Z\" />\n        </svg>\n        <span data-l10n-id=\"cursor_hand_tool_label\">Hand Tool</span>\n      </button>\n\n      <button\n        type=\"button\"\n        [class.invisible]=\"!showScrollingButton\"\n        id=\"scrollPage\"\n        class=\"secondaryToolbarButton scrollPage\"\n        title=\"Use Page Scrolling\"\n        data-l10n-id=\"scroll_page\"\n      >\n      <svg style=\"width: 24px; height: 24px; margin-top: 3px\">\n        <path fill=\"currentColor\" d=\"M9.5 4c1 0 1.5.5 1.5 1.5v5c0 1-.5 1.5-1.5 1.5h-3c-1 0-1.5-.5-1.5-1.5v-5C5 4.5 5.5 4 6.5 4zM11 0v.5c0 1-.5 1.5-1.5 1.5h-3C5.5 2 5 1.5 5 .5V0h6zM11 16v-.5c0-1-.5-1.5-1.5-1.5h-3c-1 0-1.5.5-1.5 1.5v.5h6z\"/>\n      </svg>\n      <span data-l10n-id=\"scroll_page\">Page Scrolling</span>\n    </button>\n      <button\n        type=\"button\"\n        [class.invisible]=\"!showScrollingButton\"\n        id=\"scrollVertical\"\n        class=\"secondaryToolbarButton scrollVertical toggled\"\n        title=\"Use Vertical Scrolling\"\n        data-l10n-id=\"scroll_vertical\"\n      >\n        <svg style=\"width: 24px; height: 24px; margin-top: 3px\">\n          <path fill=\"currentColor\" d=\"M9.5 4c1 0 1.5.5 1.5 1.5v5c0 1-.5 1.5-1.5 1.5h-3c-1 0-1.5-.5-1.5-1.5v-5C5 4.5 5.5 4 6.5 4zM11 0v.5c0 1-.5 1.5-1.5 1.5h-3C5.5 2 5 1.5 5 .5V0h6zM11 16v-.5c0-1-.5-1.5-1.5-1.5h-3c-1 0-1.5.5-1.5 1.5v.5h6z\"/>\n        </svg>\n        <span data-l10n-id=\"scroll_vertical_label\">Vertical Scrolling</span>\n      </button>\n      <button\n        type=\"button\"\n        [class.invisible]=\"!showScrollingButton\"\n        id=\"scrollHorizontal\"\n        class=\"secondaryToolbarButton scrollHorizontal\"\n        title=\"Use Horizontal Scrolling\"\n        data-l10n-id=\"scroll_horizontal\"\n      >\n        <svg style=\"width: 24px; height: 24px; margin-top: 3px\">\n          <path fill=\"currentColor\" d=\"M0 4h1.5c1 0 1.5.5 1.5 1.5v5c0 1-.5 1.5-1.5 1.5H0zM9.5 4c1 0 1.5.5 1.5 1.5v5c0 1-.5 1.5-1.5 1.5h-3c-1 0-1.5-.5-1.5-1.5v-5C5 4.5 5.5 4 6.5 4zM16 4h-1.5c-1 0-1.5.5-1.5 1.5v5c0 1 .5 1.5 1.5 1.5H16z\"/>\n        </svg>\n        <span data-l10n-id=\"scroll_horizontal_label\">Horizontal Scrolling</span>\n      </button>\n      <button\n        type=\"button\"\n        [class.invisible]=\"!showScrollingButton\"\n        id=\"scrollWrapped\"\n        class=\"secondaryToolbarButton scrollWrapped\"\n        title=\"Use Wrapped Scrolling\"\n        data-l10n-id=\"scroll_wrapped\"\n      >\n        <svg style=\"width: 24px; height: 24px; margin-top: 3px\">\n          <path fill=\"currentColor\" d=\"M5.5 4c1 0 1.5.5 1.5 1.5v5c0 1-.5 1.5-1.5 1.5h-3c-1 0-1.5-.5-1.5-1.5v-5C1 4.5 1.5 4 2.5 4zM7 0v.5C7 1.5 6.5 2 5.5 2h-3C1.5 2 1 1.5 1 .5V0h6zM7 16v-.5c0-1-.5-1.5-1.5-1.5h-3c-1 0-1.5.5-1.5 1.5v.5h6zM13.5 4c1 0 1.5.5 1.5 1.5v5c0 1-.5 1.5-1.5 1.5h-3c-1 0-1.5-.5-1.5-1.5v-5c0-1 .5-1.5 1.5-1.5zM15 0v.5c0 1-.5 1.5-1.5 1.5h-3C9.5 2 9 1.5 9 .5V0h6zM15 16v-.507c0-1-.5-1.5-1.5-1.5h-3C9.5 14 9 14.5 9 15.5v.5h6z\"/>\n        </svg>\n        <span data-l10n-id=\"scroll_wrapped_label\">Wrapped Scrolling</span>\n      </button>\n\n      <button\n        type=\"button\"\n        [class.invisible]=\"!showSpreadButton\"\n        id=\"spreadNone\"\n        class=\"secondaryToolbarButton spreadNone toggled\"\n        title=\"Do not join page spreads\"\n        data-l10n-id=\"spread_none\"\n        (click)=\"onSpreadChange('off')\"\n      >\n        <svg height=\"16\" width=\"16\">\n          <path fill=\"currentColor\" d=\"M6 3c-1 0-1.5.5-1.5 1.5v7c0 1 .5 1.5 1.5 1.5h4c1 0 1.5-.5 1.5-1.5v-7c0-1-.5-1.5-1.5-1.5z\"/>\n        </svg>\n        <span data-l10n-id=\"spread_none_label\">No Spreads</span>\n      </button>\n      <button\n        type=\"button\"\n        [class.invisible]=\"!showSpreadButton\"\n        id=\"spreadOdd\"\n        class=\"secondaryToolbarButton spreadOdd\"\n        title=\"Join page spreads starting with odd-numbered pages\"\n        data-l10n-id=\"spread_odd\"\n        (click)=\"onSpreadChange('odd')\"\n      >\n        <svg style=\"width: 24px; height: 24px; margin-top: 3px\">\n          <path fill=\"currentColor\" d=\"M10.56 3.5C9.56 3.5 9 4 9 5v6.5c0 1 .5 1.5 1.5 1.5h4c1 0 1.5-.5 1.5-1.5V5c0-1-.5-1.5-1.5-1.5zm1.93 1.2c.8 0 1.4.2 1.8.64.5.4.7 1 .7 1.7 0 .5-.2 1-.5 1.44-.2.3-.6.6-1 .93l-.6.4c-.4.3-.6.4-.7.55-.1.1-.2.2-.3.4h3.2v1.27h-5c0-.5.1-1 .3-1.43.2-.49.7-1 1.5-1.54.7-.5 1.1-.8 1.3-1.02.3-.3.4-.7.4-1.05 0-.3-.1-.6-.3-.77-.2-.2-.4-.3-.7-.3-.4 0-.7.2-.9.5-.1.2-.1.5-.2.9h-1.4c0-.6.2-1.1.3-1.5.4-.7 1.1-1.1 2-1.1zM1.54 3.5C.54 3.5 0 4 0 5v6.5c0 1 .5 1.5 1.54 1.5h4c1 0 1.5-.5 1.5-1.5V5c0-1-.5-1.5-1.5-1.5zm1.8 1.125H4.5V12H3V6.9H1.3v-1c.5 0 .8 0 .97-.03.33-.07.53-.17.73-.37.1-.2.2-.3.25-.5.05-.2.05-.3.05-.3z\"/>\n        </svg>\n        <span data-l10n-id=\"spread_odd_label\">Odd Spreads</span>\n      </button>\n      <button\n        type=\"button\"\n        [class.invisible]=\"!showSpreadButton\"\n        id=\"spreadEven\"\n        class=\"secondaryToolbarButton spreadEven\"\n        title=\"Join page spreads starting with even-numbered pages\"\n        data-l10n-id=\"spread_even\"\n        (click)=\"onSpreadChange('even')\"\n      >\n        <svg style=\"width: 24px; height: 24px; margin-top: 3px\">\n          <path fill=\"currentColor\" d=\"M1.5 3.5C.5 3.5 0 4 0 5v6.5c0 1 .5 1.5 1.5 1.5h4c1 0 1.5-.5 1.5-1.5V5c0-1-.5-1.5-1.5-1.5zm2 1.2c.8 0 1.4.2 1.8.6.5.4.7 1 .7 1.7 0 .5-.2 1-.5 1.4-.2.3-.5.7-1 1l-.6.4c-.4.3-.6.4-.75.56-.15.14-.25.24-.35.44H6v1.3H1c0-.6.1-1.1.3-1.5.3-.6.7-1 1.5-1.6.7-.4 1.1-.8 1.28-1 .32-.3.42-.6.42-1 0-.3-.1-.6-.23-.8-.17-.2-.37-.3-.77-.3s-.7.1-.9.5c-.04.2-.1.5-.1.9H1.1c0-.6.1-1.1.3-1.5.4-.7 1.1-1.1 2.1-1.1zM10.54 3.54C9.5 3.54 9 4 9 5v6.5c0 1 .5 1.5 1.54 1.5h4c.96 0 1.46-.5 1.46-1.5V5c0-1-.5-1.46-1.5-1.46zm1.9.95c.7 0 1.3.2 1.7.5.4.4.6.8.6 1.4 0 .4-.1.8-.4 1.1-.2.2-.3.3-.5.4.1 0 .3.1.6.3.4.3.5.8.5 1.4 0 .6-.2 1.2-.6 1.6-.4.5-1.1.7-1.9.7-1 0-1.8-.3-2.2-1-.14-.29-.24-.69-.24-1.29h1.4c0 .3 0 .5.1.7.2.4.5.5 1 .5.3 0 .5-.1.7-.3.2-.2.3-.5.3-.8 0-.5-.2-.8-.6-.95-.2-.05-.5-.15-1-.15v-1c.5 0 .8-.1 1-.14.3-.1.5-.4.5-.9 0-.3-.1-.5-.2-.7-.2-.2-.4-.3-.7-.3-.3 0-.6.1-.75.3-.2.2-.2.5-.2.86h-1.34c0-.4.1-.7.19-1.1 0-.12.2-.32.4-.62.2-.2.4-.3.7-.4.3-.1.6-.1 1-.1z\"/>\n        </svg>\n        <span data-l10n-id=\"spread_even_label\">Even Spreads</span>\n      </button>\n\n      <button\n        type=\"button\"\n        [class.invisible]=\"!showPropertiesButton\"\n        id=\"documentProperties\"\n        class=\"secondaryToolbarButton documentProperties\"\n        title=\"Document Properties…\"\n        data-l10n-id=\"document_properties\"\n        aria-controls=\"documentPropertiesDialog\"\n      >\n        <svg style=\"width: 16px; height: 16px; margin-top: 3px\" viewBox=\"0 0 16 16\">\n          <path fill=\"currentColor\" d=\"M8 16a8 8 0 1 1 8-8 8.009 8.009 0 0 1-8 8zM8 2a6 6 0 1 0 6 6 6.006 6.006 0 0 0-6-6z\"/>\n          <path fill=\"currentColor\" d=\"M8 7a1 1 0 0 0-1 1v3a1 1 0 0 0 2 0V8a1 1 0 0 0-1-1z\"/>\n          <circle fill=\"currentColor\" cx=\"8\" cy=\"5\" r=\"1.188\"/>\n        </svg>\n        <span data-l10n-id=\"document_properties_label\">Document Properties…</span>\n      </button>\n    </div>\n  </div>\n</ng-template>\n","import { Component, Input, TemplateRef, ViewChild, ElementRef, OnDestroy, EventEmitter, Output } from '@angular/core';\nimport { PdfThumbnailDrawnEvent } from '../../../events/pdf-thumbnail-drawn-event';\n\ndeclare class PDFThumbnailView {\n  anchor: HTMLAnchorElement;\n  div: HTMLElement;\n  ring: HTMLElement;\n  canvasWidth: number;\n  canvasHeight: number;\n}\n\ndeclare class PDFLinkService {\n  public page: number;\n  public pagesCount: number;\n  public getAnchorUrl(targetUrl: string): string;\n}\n\nconst THUMBNAIL_CANVAS_BORDER_WIDTH = 1; // one pixel\n\n@Component({\n  selector: 'pdf-sidebar-content',\n  templateUrl: './pdf-sidebar-content.component.html',\n  styleUrls: ['./pdf-sidebar-content.component.css'],\n})\nexport class PdfSidebarContentComponent implements OnDestroy {\n  @Input()\n  public customThumbnail: TemplateRef<any> | undefined;\n\n  @Input()\n  public hideSidebarToolbar = false;\n\n  @Input()\n  public mobileFriendlyZoomScale = 1.0;\n\n  @ViewChild('thumbnailViewTemplate')\n  public thumbnailViewTemplate: ElementRef;\n\n  private linkService: PDFLinkService | undefined;\n\n  @Output()\n  public thumbnailDrawn = new EventEmitter<PdfThumbnailDrawnEvent>();\n\n  public get top(): string {\n    let top = 0;\n    if (!this.hideSidebarToolbar) {\n      top = 32 * this.mobileFriendlyZoomScale;\n      if (top === 32) {\n        top = 33; // prevent the border of the sidebar toolbar from being cut off\n      }\n    }\n    return `${top}px`;\n  }\n\n  constructor() {\n    if (typeof window !== 'undefined') {\n      (window as any).pdfThumbnailGeneratorReady = () => this.pdfThumbnailGeneratorReady();\n      (window as any).pdfThumbnailGenerator = (\n        pdfThumbnailView: PDFThumbnailView,\n        linkService: any,\n        id: number,\n        container: HTMLDivElement,\n        thumbPageTitlePromise: Promise<string>\n      ) => this.createThumbnail(pdfThumbnailView, linkService, id, container, thumbPageTitlePromise);\n    }\n  }\n\n  public ngOnDestroy(): void {\n    this.linkService = undefined;\n  }\n\n  public pdfThumbnailGeneratorReady(): boolean {\n    if (!this.thumbnailViewTemplate) {\n      return false;\n    }\n    const t = this.thumbnailViewTemplate.nativeElement as HTMLElement;\n    return !!t && !!t.innerHTML && t.innerHTML.length > 0;\n  }\n\n  private createThumbnail(\n    pdfThumbnailView: PDFThumbnailView,\n    linkService: PDFLinkService,\n    id: number,\n    container: HTMLDivElement,\n    thumbPageTitlePromise: Promise<string>\n  ) {\n    this.linkService = linkService;\n    const template = this.thumbnailViewTemplate;\n    // get the inner HTML without the attributes and classes added by Angular\n    const inner = template.nativeElement.innerHTML\n      .split(/_ng\\w+-\\w+-\\w+=\"\"/g)\n      .join('')\n      .split(/ng-\\w+-\\w+/g)\n      .join('')\n      .split(/<!--[\\s\\S]*?-->/g)\n      .join('');\n\n    const borderAdjustment = 2 * THUMBNAIL_CANVAS_BORDER_WIDTH;\n\n    const widthOfRing = `${pdfThumbnailView.canvasWidth + borderAdjustment}px`;\n    const heightOfRing = `${pdfThumbnailView.canvasHeight + borderAdjustment}px`;\n\n    const newHtml = inner.split('WIDTH_OF_RING').join(widthOfRing).split('HEIGHT_OF_RING').join(heightOfRing).split('PAGE_NUMBER').join(id);\n    const newElement = this.createElementFromHTML(newHtml);\n    newElement.classList.remove('pdf-viewer-template');\n\n    const anchor = newElement as HTMLAnchorElement;\n    anchor.href = linkService.getAnchorUrl(`#page=${id}`);\n    thumbPageTitlePromise.then((msg) => {\n      anchor.title = msg;\n    });\n    anchor.onclick = () => {\n      linkService.page = id;\n      return false;\n    };\n    pdfThumbnailView.anchor = anchor;\n\n    const ring = newElement.getElementsByClassName('image-container')[0] as HTMLElement;\n    pdfThumbnailView.ring = ring;\n    pdfThumbnailView.div = newElement.getElementsByClassName('thumbnail')[0] as HTMLElement;\n\n    container.appendChild(newElement);\n\n    const thumbnailDrawnEvent: PdfThumbnailDrawnEvent = {\n      thumbnail: newElement,\n      container: container,\n      pageId: id,\n    };\n    this.thumbnailDrawn.emit(thumbnailDrawnEvent);\n  }\n\n  private createElementFromHTML(htmlString): HTMLElement {\n    const div = document.createElement('div');\n    div.innerHTML = htmlString.trim();\n\n    // Change this to div.childNodes to support multiple top-level nodes\n    return div.firstChild as HTMLElement;\n  }\n\n  public onKeyDown(event: KeyboardEvent): void {\n    if (event.code === 'ArrowDown') {\n      if (this.linkService) {\n        if (event.ctrlKey || event.metaKey) {\n          this.linkService.page = this.linkService.pagesCount;\n        } else if (this.linkService.page < this.linkService.pagesCount) {\n          this.linkService.page = this.linkService.page + 1;\n        }\n        event.preventDefault();\n      }\n    } else if (event.code === 'ArrowUp') {\n      if (this.linkService) {\n        if (event.ctrlKey || event.metaKey) {\n          this.linkService.page = 1;\n        } else if (this.linkService.page > 1) {\n          this.linkService.page = this.linkService.page - 1;\n        }\n        event.preventDefault();\n      }\n    }\n  }\n}\n","<div id=\"sidebarContent\" [style.top]=\"top\">\n  <div #thumbnailViewTemplate>\n    <ng-content *ngTemplateOutlet=\"customThumbnail ? customThumbnail : defaultThumbnail\"></ng-content>\n  </div>\n  <div id=\"thumbnailView\" (keydown)=\"onKeyDown($event)\"></div>\n  <div id=\"outlineView\" class=\"hidden\"></div>\n  <div id=\"attachmentsView\" class=\"hidden\"></div>\n  <div id=\"layersView\" class=\"hidden\"></div>\n</div>\n\n<ng-template #defaultThumbnail>\n  <a class=\"pdf-viewer-template\">\n    <div class=\"thumbnail\" data-page-number=\"$page\">\n      <div class=\"thumbnailSelectionRing image-container\" style=\"width: WIDTH_OF_RING; height: HEIGHT_OF_RING\">\n        <!-- image is automatically inserted here -->\n        <!-- <img class=\"thumbnailImage\" style=\"width: 98px; height: 73px;\" /> -->\n      </div>\n    </div>\n  </a>\n</ng-template>\n","import { Component, Input } from '@angular/core';\n\n@Component({\n  selector: 'pdf-sidebar-toolbar',\n  templateUrl: './pdf-sidebar-toolbar.component.html',\n  styleUrls: ['./pdf-sidebar-toolbar.component.css']\n})\nexport class PdfSidebarToolbarComponent {\n\n  @Input()\n  public mobileFriendlyZoomScale = 1;\n\n  public get height(): string {\n    const h = 32 * this.mobileFriendlyZoomScale;\n    return `${h}px`;\n  }\n}\n","<div id=\"toolbarSidebar\" [style.height]=\"height\">\n  <div id=\"toolbarSidebarLeft\">\n    <button\n      type=\"button\"\n      id=\"viewThumbnail\"\n      class=\"toolbarButton toggled\"\n      title=\"Show Thumbnails\"\n      data-l10n-id=\"thumbs\"\n      [style.zoom]=\"mobileFriendlyZoomScale\"\n    >\n      <span data-l10n-id=\"thumbs_label\">Thumbnails</span>\n      <svg style=\"width: 20px; height: 20px\" viewBox=\"0 0 24 24\">\n        <path\n          fill=\"currentColor\"\n          d=\"M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M13.96,12.29L11.21,15.83L9.25,13.47L6.5,17H17.5L13.96,12.29Z\"\n        />\n      </svg>\n    </button>\n\n    <button\n      type=\"button\"\n      id=\"viewOutline\"\n      class=\"toolbarButton\"\n      title=\"Show Document Outline (double-click to expand/collapse all items)\"\n      data-l10n-id=\"document_outline\"\n      hidden=\"true\"\n      [style.zoom]=\"mobileFriendlyZoomScale\"\n    >\n      <span data-l10n-id=\"document_outline_label\">Document Outline</span>\n      <svg style=\"width: 20px; height: 20px\" viewBox=\"0 0 24 24\">\n        <path fill=\"currentColor\" d=\"M3,9H17V7H3V9M3,13H17V11H3V13M3,17H17V15H3V17M19,17H21V15H19V17M19,7V9H21V7H19M19,13H21V11H19V13Z\" />\n      </svg>\n    </button>\n\n    <button\n      type=\"button\"\n      id=\"viewAttachments\"\n      class=\"toolbarButton\"\n      title=\"Show Attachments\"\n      data-l10n-id=\"attachments\"\n      hidden=\"true\"\n      [style.zoom]=\"mobileFriendlyZoomScale\"\n    >\n      <span data-l10n-id=\"attachments_label\">Attachments</span>\n      <svg style=\"width: 20px; height: 20px\" viewBox=\"0 0 24 24\">\n        <path\n          fill=\"currentColor\"\n          d=\"M16.5,6V17.5A4,4 0 0,1 12.5,21.5A4,4 0 0,1 8.5,17.5V5A2.5,2.5 0 0,1 11,2.5A2.5,2.5 0 0,1 13.5,5V15.5A1,1 0 0,1 12.5,16.5A1,1 0 0,1 11.5,15.5V6H10V15.5A2.5,2.5 0 0,0 12.5,18A2.5,2.5 0 0,0 15,15.5V5A4,4 0 0,0 11,1A4,4 0 0,0 7,5V17.5A5.5,5.5 0 0,0 12.5,23A5.5,5.5 0 0,0 18,17.5V6H16.5Z\"\n        />\n      </svg>\n    </button>\n    <button\n      id=\"viewLayers\"\n      class=\"toolbarButton\"\n      title=\"Show Layers (double-click to reset all layers to the default state)\"\n      data-l10n-id=\"layers\"\n      hidden=\"true\"\n      [style.zoom]=\"mobileFriendlyZoomScale\"\n    >\n      <span data-l10n-id=\"layers_label\">Layers</span>\n      <svg style=\"width: 20px; height: 20px;margin-left:1px\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\" viewBox=\"0 0 4.233 4.233\">\n        <path\n          d=\"M.15 2.992c-.198.1-.2.266-.002.365l1.604.802a.93.93 0 00.729-.001l1.602-.801c.198-.1.197-.264 0-.364l-.695-.348c-1.306.595-2.542 0-2.542 0m-.264.53l.658-.329c.6.252 1.238.244 1.754 0l.659.329-1.536.768zM.15 1.935c-.198.1-.198.265 0 .364l1.604.802a.926.926 0 00.727 0l1.603-.802c.198-.099.198-.264 0-.363l-.694-.35c-1.14.56-2.546.001-2.546.001m-.264.53l.664-.332c.52.266 1.261.235 1.75.002l.659.33-1.537.768zM.15.877c-.198.099-.198.264 0 .363l1.604.802a.926.926 0 00.727 0l1.603-.802c.198-.099.198-.264 0-.363L2.481.075a.926.926 0 00-.727 0zm.43.182L2.117.29l1.538.769-1.538.768z\"\n        />\n      </svg>\n    </button>\n  </div>\n\n  <div id=\"toolbarSidebarRight\">\n    <div id=\"outlineOptionsContainer\" class=\"hidden\">\n      <div class=\"verticalToolbarSeparator\"></div>\n\n      <button\n        id=\"currentOutlineItem\"\n        class=\"toolbarButton\"\n        disabled=\"disabled\"\n        title=\"Find Current Outline Item\"\n        tabindex=\"6\"\n        data-l10n-id=\"current_outline_item\"\n        [style.zoom]=\"mobileFriendlyZoomScale\"\n        >\n        <span data-l10n-id=\"current_outline_item_label\">Current Outline Item</span>\n        <svg style=\"width: 20px; height: 20px\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\">\n          <path\n            d=\"m14 9h-6c-1.3 0-1.3 2 0 2h6c1.3 0 1.3-2 0-2zm-5.2-8h-3.8c-1.3 0-1.3 2 0 2h1.7zm-6.8 0c-1 0-1.3 1-0.7 1.7 0.7 0.6 1.7 0.3 1.7-0.7 0-0.5-0.4-1-1-1zm3 8c-1 0-1.3 1-0.7 1.7 0.6 0.6 1.7 0.2 1.7-0.7 0-0.5-0.4-1-1-1zm0.3-4h-0.3c-1.4 0-1.4 2 0 2h2.3zm-3.3 0c-0.9 0-1.4 1-0.7 1.7 0.7 0.6 1.7 0.2 1.7-0.7 0-0.6-0.5-1-1-1zm12 8h-9c-1.3 0-1.3 2 0 2h9c1.3 0 1.3-2 0-2zm-12 0c-1 0-1.3 1-0.7 1.7 0.7 0.6 1.7 0.2 1.7-0.712 0-0.5-0.4-1-1-1z\"\n          />\n          <path d=\"m7.37 4.838 3.93-3.911v2.138h3.629v3.546h-3.629v2.138l-3.93-3.911\" />\n        </svg>\n      </button>\n    </div>\n  </div>\n</div>\n","import { ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\nimport { PdfThumbnailDrawnEvent } from '../../events/pdf-thumbnail-drawn-event';\n\n@Component({\n  selector: 'pdf-sidebar',\n  templateUrl: './pdf-sidebar.component.html',\n  styleUrls: ['./pdf-sidebar.component.css'],\n})\nexport class PdfSidebarComponent {\n  @Input()\n  public sidebarPositionTop: string | undefined;\n\n  @Input()\n  public sidebarVisible = true;\n\n  @Input()\n  public mobileFriendlyZoomScale = 1;\n\n  @Input()\n  public showSidebarButton = true;\n\n  @Input()\n  public customSidebar: TemplateRef<any> | undefined;\n\n  @Input()\n  public customThumbnail: TemplateRef<any> | undefined;\n\n  @Output()\n  public thumbnailDrawn = new EventEmitter<PdfThumbnailDrawnEvent>();\n\n  public hideSidebarToolbar = true;\n\n  constructor(private elementRef: ElementRef, private ref: ChangeDetectorRef) {}\n\n  public showToolbarWhenNecessary(): void {\n    const element = this.elementRef.nativeElement as HTMLElement;\n    const buttons = element.querySelectorAll('button');\n    let visible = 0;\n    for (let index = 0; index < buttons.length; index++) {\n      const b = buttons.item(index);\n      if (!b.hidden) {\n        visible++;\n      }\n    }\n    this.hideSidebarToolbar = visible <= 1;\n    this.ref.markForCheck();\n  }\n}\n","<div>\n  <ng-content *ngTemplateOutlet=\"customSidebar ? customSidebar : defaultSidebar\"></ng-content>\n</div>\n\n<ng-template #defaultSidebar>\n  <div id=\"sidebarContainer\" [style.top]=\"sidebarPositionTop\">\n    <div id=\"additionalSidebarContainer\" [style.display]=\"hideSidebarToolbar ? 'none' : ''\">\n      <pdf-sidebar-toolbar [mobileFriendlyZoomScale]=\"mobileFriendlyZoomScale\"></pdf-sidebar-toolbar>\n    </div>\n    <pdf-sidebar-content\n      [customThumbnail]=\"customThumbnail\"\n      (thumbnailDrawn)=\"thumbnailDrawn.emit($event)\"\n      [hideSidebarToolbar]=\"hideSidebarToolbar\"\n      [mobileFriendlyZoomScale]=\"mobileFriendlyZoomScale\"\n    ></pdf-sidebar-content>\n    <div id=\"sidebarResizer\" class=\"hidden\"></div>\n  </div>\n</ng-template>\n","export const css=`:root{--form-anchor-hover-color: rgba(255, 255, 0, 1);--annotation-unfocused-field-background: unset;--form-widget-border-color: lightgrey;--form-widget-color: lightgrey;--form-widget-background-color: black;--form-check-color: lightgrey;--annotation-popup-background-color: rgba(255, 255, 153, 1);--annotation-popup-shadow-color: rgba(136, 136, 136, 1);--annotation-popup-border-top-color: lightgrey;--xfa-layer-highlight: rgba(239, 203, 237, 1);--xfa-unfocused-field-background: url(\"data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>\");--xfa-highlight-selected-background-color: rgba(203, 223, 203, 1);--xfa-selection-background-color: rgba(0, 0, 255, 1)} :root{--annotation-unfocused-field-background: url(\"data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>\")}@media(forced-colors: active){.annotationLayer .textWidgetAnnotation input:required,.annotationLayer .textWidgetAnnotation textarea:required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation.checkBox input:required,.annotationLayer .buttonWidgetAnnotation.radioButton input:required{outline:1.5px solid selectedItem}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;transform-origin:0 0}.annotationLayer .linkAnnotation>a,.annotationLayer .buttonWidgetAnnotation.pushButton>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer .buttonWidgetAnnotation.pushButton>canvas{width:100%;height:100%}.annotationLayer .linkAnnotation>a:hover,.annotationLayer .buttonWidgetAnnotation.pushButton>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%}.annotationLayer .textWidgetAnnotation input,.annotationLayer .textWidgetAnnotation textarea,.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation.checkBox input,.annotationLayer .buttonWidgetAnnotation.radioButton input{background-image:var(--annotation-unfocused-field-background);border:1px solid rgba(0,0,0,0);box-sizing:border-box;font:calc(9px*var(--scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .textWidgetAnnotation input:required,.annotationLayer .textWidgetAnnotation textarea:required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation.checkBox input:required,.annotationLayer .buttonWidgetAnnotation.radioButton input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation input[disabled],.annotationLayer .textWidgetAnnotation textarea[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation.checkBox input[disabled],.annotationLayer .buttonWidgetAnnotation.radioButton input[disabled]{background:none;border:1px solid rgba(0,0,0,0);cursor:not-allowed}.annotationLayer .textWidgetAnnotation input:hover,.annotationLayer .textWidgetAnnotation textarea:hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover,.annotationLayer .buttonWidgetAnnotation.radioButton input:hover{border:1px solid #000}.annotationLayer .textWidgetAnnotation input:focus,.annotationLayer .textWidgetAnnotation textarea:focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:1px solid rgba(0,0,0,0)}.annotationLayer .textWidgetAnnotation input :focus,.annotationLayer .textWidgetAnnotation textarea :focus,.annotationLayer .choiceWidgetAnnotation select :focus,.annotationLayer .buttonWidgetAnnotation.checkBox :focus,.annotationLayer .buttonWidgetAnnotation.radioButton :focus{background-image:none;background-color:rgba(0,0,0,0);outline:auto}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:\"\";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation.checkBox input,.annotationLayer .buttonWidgetAnnotation.radioButton input{appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px*var(--scale-factor));width:100%;min-width:calc(180px*var(--scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;z-index:200;max-width:calc(180px*var(--scale-factor));background-color:#ff9;box-shadow:0 calc(2px*var(--scale-factor)) calc(5px*var(--scale-factor)) #888;border-radius:calc(2px*var(--scale-factor));padding:calc(6px*var(--scale-factor));margin-left:calc(5px*var(--scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popup>*{font-size:calc(9px*var(--scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px*var(--scale-factor))}.annotationLayer .popupContent{border-top:1px solid #333;margin-top:calc(2px*var(--scale-factor));padding-top:calc(2px*var(--scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px*var(--scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%} .xfaLayer .highlight{margin:-1px;padding:1px;background-color:var(--xfa-layer-highlight);border-radius:4px}.xfaLayer .highlight.appended{position:initial}.xfaLayer .highlight.begin{border-radius:4px 0 0 4px}.xfaLayer .highlight.end{border-radius:0 4px 4px 0}.xfaLayer .highlight.middle{border-radius:0}.xfaLayer .highlight.selected{background-color:var(--xfa-highlight-selected-background-color)}.xfaLayer ::selection{background:var(--xfa-selection-background-color)}.xfaPage{overflow:hidden;position:relative}.xfaContentarea{position:absolute}.xfaPrintOnly{display:none}.xfaLayer{position:absolute;text-align:initial;top:0;left:0;transform-origin:0 0;line-height:1.2}.xfaLayer *{color:inherit;font:inherit;font-style:inherit;font-weight:inherit;font-kerning:inherit;letter-spacing:-0.01px;text-align:inherit;text-decoration:inherit;box-sizing:border-box;background-color:rgba(0,0,0,0);padding:0;margin:0;pointer-events:auto;line-height:inherit}.xfaLayer div{pointer-events:none}.xfaLayer svg{pointer-events:none}.xfaLayer svg *{pointer-events:none}.xfaLayer a{color:blue}.xfaRich li{margin-left:3em}.xfaFont{color:#000;font-weight:normal;font-kerning:none;font-size:10px;font-style:normal;letter-spacing:0;text-decoration:none;vertical-align:0}.xfaCaption{overflow:hidden;flex:0 0 auto}.xfaCaptionForCheckButton{overflow:hidden;flex:1 1 auto}.xfaLabel{height:100%;width:100%}.xfaLeft{display:flex;flex-direction:row;align-items:center}.xfaRight{display:flex;flex-direction:row-reverse;align-items:center}.xfaLeft>.xfaCaption,.xfaLeft>.xfaCaptionForCheckButton,.xfaRight>.xfaCaption,.xfaRight>.xfaCaptionForCheckButton{max-height:100%}.xfaTop{display:flex;flex-direction:column;align-items:flex-start}.xfaBottom{display:flex;flex-direction:column-reverse;align-items:flex-start}.xfaTop>.xfaCaption,.xfaTop>.xfaCaptionForCheckButton,.xfaBottom>.xfaCaption,.xfaBottom>.xfaCaptionForCheckButton{width:100%}.xfaBorder{background-color:rgba(0,0,0,0);position:absolute;pointer-events:none}.xfaWrapped{width:100%;height:100%}.xfaTextfield:focus,.xfaSelect:focus{background-image:none;background-color:rgba(0,0,0,0);outline:auto;outline-offset:-1px}.xfaCheckbox:focus,.xfaRadio:focus{outline:auto}.xfaTextfield,.xfaSelect{height:100%;width:100%;flex:1 1 auto;border:none;resize:none;background-image:var(--xfa-unfocused-field-background)}.xfaTop>.xfaTextfield,.xfaTop>.xfaSelect,.xfaBottom>.xfaTextfield,.xfaBottom>.xfaSelect{flex:0 1 auto}.xfaButton{cursor:pointer;width:100%;height:100%;border:none;text-align:center}.xfaLink{width:100%;height:100%;position:absolute;top:0;left:0}.xfaCheckbox,.xfaRadio{width:100%;height:100%;flex:0 0 auto;border:none}.xfaRich{white-space:pre-wrap;width:100%;height:100%}.xfaImage{object-position:left top;object-fit:contain;width:100%;height:100%}.xfaLrTb,.xfaRlTb,.xfaTb{display:flex;flex-direction:column;align-items:stretch}.xfaLr{display:flex;flex-direction:row;align-items:stretch}.xfaRl{display:flex;flex-direction:row-reverse;align-items:stretch}.xfaTb>div{justify-content:left}.xfaPosition{position:relative}.xfaArea{position:relative}.xfaValignMiddle{display:flex;align-items:center}.xfaTable{display:flex;flex-direction:column;align-items:stretch}.xfaTable .xfaRow{display:flex;flex-direction:row;align-items:stretch}.xfaTable .xfaRlRow{display:flex;flex-direction:row-reverse;align-items:stretch;flex:1}.xfaTable .xfaRlRow>div{flex:1}.xfaNonInteractive input,.xfaNonInteractive textarea,.xfaDisabled input,.xfaDisabled textarea,.xfaReadOnly input,.xfaReadOnly textarea{background:initial}@media print{.xfaTextfield,.xfaSelect{background:rgba(0,0,0,0)}.xfaSelect{appearance:none;text-indent:1px;text-overflow:\"\"}} :root{--focus-outline: solid 2px red;--hover-outline: dashed 2px blue;--freetext-line-height: 1.35;--freetext-padding: 2px;--editorInk-editing-cursor: url(images/toolbarButton-editorInk.svg) 0 16}@media(forced-colors: active){:root{--focus-outline: solid 3px ButtonText;--hover-outline: dashed 3px ButtonText}}[data-editor-rotation=\"90\"]{transform:rotate(90deg)}[data-editor-rotation=\"180\"]{transform:rotate(180deg)}[data-editor-rotation=\"270\"]{transform:rotate(270deg)}.annotationEditorLayer{background:transparent;position:absolute;top:0;left:0;font-size:calc(100px*var(--scale-factor));transform-origin:0 0}.annotationEditorLayer .selectedEditor{outline:var(--focus-outline);resize:none}.annotationEditorLayer .freeTextEditor{position:absolute;background:transparent;border-radius:3px;padding:calc(var(--freetext-padding)*var(--scale-factor));resize:none;width:auto;height:auto;z-index:1;transform-origin:0 0;touch-action:none}.annotationEditorLayer .freeTextEditor .internal{background:transparent;border:none;top:0;left:0;overflow:visible;white-space:nowrap;resize:none;font:10px sans-serif;line-height:var(--freetext-line-height)}.annotationEditorLayer .freeTextEditor .overlay{position:absolute;display:none;background:transparent;top:0;left:0;width:100%;height:100%}.annotationEditorLayer .freeTextEditor .overlay.enabled{display:block}.annotationEditorLayer .freeTextEditor .internal:empty::before{content:attr(default-content);color:gray}.annotationEditorLayer .freeTextEditor .internal:focus{outline:none}.annotationEditorLayer .inkEditor.disabled{resize:none}.annotationEditorLayer .inkEditor.disabled.selectedEditor{resize:horizontal}.annotationEditorLayer .freeTextEditor:hover:not(.selectedEditor),.annotationEditorLayer .inkEditor:hover:not(.selectedEditor){outline:var(--hover-outline)}.annotationEditorLayer .inkEditor{position:absolute;background:transparent;border-radius:3px;overflow:auto;width:100%;height:100%;z-index:1;transform-origin:0 0;cursor:auto}.annotationEditorLayer .inkEditor.editing{resize:none;cursor:var(--editorInk-editing-cursor),pointer}.annotationEditorLayer .inkEditor .inkEditorCanvas{position:absolute;top:0;left:0;width:100%;height:100%;touch-action:none}#editorNone::before{mask-image:var(--toolbarButton-editorNone-icon)}#editorFreeText::before{mask-image:var(--toolbarButton-editorFreeText-icon)}#editorInk::before{mask-image:var(--toolbarButton-editorInk-icon)}`;","import { DOCUMENT } from '@angular/common';\nimport { Component, Inject, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { css } from './pdf-acroform-dark-colors-css';\n\n@Component({\n  selector: 'pdf-acroform-dark-theme',\n  template: '',\n  styleUrls: [\n    //'./pdf-acroform-dark-colors.scss',\n    //'../common/annotation-layer-builder.scss',\n    //'../common/xfa_layer_builder.scss',\n    //'../common/annotation_editor_layer_builder.css',\n  ],\n  // encapsulation: ViewEncapsulation.None,\n})\nexport class PdfAcroformDarkThemeComponent implements OnInit, OnDestroy {\n  constructor(private renderer: Renderer2, @Inject(DOCUMENT) private document: any) {}\n\n  public ngOnInit() {\n    this.injectStyle();\n  }\n\n  private injectStyle() {\n    const styles = this.document.createElement('STYLE') as HTMLStyleElement;\n    styles.id = 'pdf-acroform-css';\n    styles.innerHTML = css;\n    this.renderer.appendChild(this.document.head, styles);\n  }\n\n  public ngOnDestroy() {\n    const styles = this.document.getElementById('pdf-acroform-css') as HTMLElement;\n    if (styles && styles.parentElement) {\n      (styles.parentElement as any).removeChild(styles);\n    }\n  }\n}\n","export const css=`:root{--form-anchor-hover-color: rgba(255, 255, 0, 1);--annotation-unfocused-field-background: url(\"data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>\");--form-widget-border-color: rgba(0, 0, 0, 1);--form-widget-color: inherit;--form-widget-background-color: inherit;--form-check-color: rgba(0, 0, 0, 1);--annotation-popup-background-color: rgba(255, 255, 153, 1);--annotation-popup-shadow-color: rgba(136, 136, 136, 1);--annotation-popup-border-top-color: rgba(51, 51, 51, 1);--xfa-layer-highlight: rgba(239, 203, 237, 1);--xfa-unfocused-field-background: url(\"data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>\");--xfa-highlight-selected-background-color: rgba(203, 223, 203, 1);--xfa-selection-background-color: rgba(0, 0, 255, 1)} :root{--annotation-unfocused-field-background: url(\"data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>\")}@media(forced-colors: active){.annotationLayer .textWidgetAnnotation input:required,.annotationLayer .textWidgetAnnotation textarea:required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation.checkBox input:required,.annotationLayer .buttonWidgetAnnotation.radioButton input:required{outline:1.5px solid selectedItem}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;transform-origin:0 0}.annotationLayer .linkAnnotation>a,.annotationLayer .buttonWidgetAnnotation.pushButton>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer .buttonWidgetAnnotation.pushButton>canvas{width:100%;height:100%}.annotationLayer .linkAnnotation>a:hover,.annotationLayer .buttonWidgetAnnotation.pushButton>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%}.annotationLayer .textWidgetAnnotation input,.annotationLayer .textWidgetAnnotation textarea,.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation.checkBox input,.annotationLayer .buttonWidgetAnnotation.radioButton input{background-image:var(--annotation-unfocused-field-background);border:1px solid rgba(0,0,0,0);box-sizing:border-box;font:calc(9px*var(--scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .textWidgetAnnotation input:required,.annotationLayer .textWidgetAnnotation textarea:required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation.checkBox input:required,.annotationLayer .buttonWidgetAnnotation.radioButton input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation input[disabled],.annotationLayer .textWidgetAnnotation textarea[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation.checkBox input[disabled],.annotationLayer .buttonWidgetAnnotation.radioButton input[disabled]{background:none;border:1px solid rgba(0,0,0,0);cursor:not-allowed}.annotationLayer .textWidgetAnnotation input:hover,.annotationLayer .textWidgetAnnotation textarea:hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover,.annotationLayer .buttonWidgetAnnotation.radioButton input:hover{border:1px solid #000}.annotationLayer .textWidgetAnnotation input:focus,.annotationLayer .textWidgetAnnotation textarea:focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:1px solid rgba(0,0,0,0)}.annotationLayer .textWidgetAnnotation input :focus,.annotationLayer .textWidgetAnnotation textarea :focus,.annotationLayer .choiceWidgetAnnotation select :focus,.annotationLayer .buttonWidgetAnnotation.checkBox :focus,.annotationLayer .buttonWidgetAnnotation.radioButton :focus{background-image:none;background-color:rgba(0,0,0,0);outline:auto}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:\"\";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation.checkBox input,.annotationLayer .buttonWidgetAnnotation.radioButton input{appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px*var(--scale-factor));width:100%;min-width:calc(180px*var(--scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;z-index:200;max-width:calc(180px*var(--scale-factor));background-color:#ff9;box-shadow:0 calc(2px*var(--scale-factor)) calc(5px*var(--scale-factor)) #888;border-radius:calc(2px*var(--scale-factor));padding:calc(6px*var(--scale-factor));margin-left:calc(5px*var(--scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popup>*{font-size:calc(9px*var(--scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px*var(--scale-factor))}.annotationLayer .popupContent{border-top:1px solid #333;margin-top:calc(2px*var(--scale-factor));padding-top:calc(2px*var(--scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px*var(--scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%} .xfaLayer .highlight{margin:-1px;padding:1px;background-color:var(--xfa-layer-highlight);border-radius:4px}.xfaLayer .highlight.appended{position:initial}.xfaLayer .highlight.begin{border-radius:4px 0 0 4px}.xfaLayer .highlight.end{border-radius:0 4px 4px 0}.xfaLayer .highlight.middle{border-radius:0}.xfaLayer .highlight.selected{background-color:var(--xfa-highlight-selected-background-color)}.xfaLayer ::selection{background:var(--xfa-selection-background-color)}.xfaPage{overflow:hidden;position:relative}.xfaContentarea{position:absolute}.xfaPrintOnly{display:none}.xfaLayer{position:absolute;text-align:initial;top:0;left:0;transform-origin:0 0;line-height:1.2}.xfaLayer *{color:inherit;font:inherit;font-style:inherit;font-weight:inherit;font-kerning:inherit;letter-spacing:-0.01px;text-align:inherit;text-decoration:inherit;box-sizing:border-box;background-color:rgba(0,0,0,0);padding:0;margin:0;pointer-events:auto;line-height:inherit}.xfaLayer div{pointer-events:none}.xfaLayer svg{pointer-events:none}.xfaLayer svg *{pointer-events:none}.xfaLayer a{color:blue}.xfaRich li{margin-left:3em}.xfaFont{color:#000;font-weight:normal;font-kerning:none;font-size:10px;font-style:normal;letter-spacing:0;text-decoration:none;vertical-align:0}.xfaCaption{overflow:hidden;flex:0 0 auto}.xfaCaptionForCheckButton{overflow:hidden;flex:1 1 auto}.xfaLabel{height:100%;width:100%}.xfaLeft{display:flex;flex-direction:row;align-items:center}.xfaRight{display:flex;flex-direction:row-reverse;align-items:center}.xfaLeft>.xfaCaption,.xfaLeft>.xfaCaptionForCheckButton,.xfaRight>.xfaCaption,.xfaRight>.xfaCaptionForCheckButton{max-height:100%}.xfaTop{display:flex;flex-direction:column;align-items:flex-start}.xfaBottom{display:flex;flex-direction:column-reverse;align-items:flex-start}.xfaTop>.xfaCaption,.xfaTop>.xfaCaptionForCheckButton,.xfaBottom>.xfaCaption,.xfaBottom>.xfaCaptionForCheckButton{width:100%}.xfaBorder{background-color:rgba(0,0,0,0);position:absolute;pointer-events:none}.xfaWrapped{width:100%;height:100%}.xfaTextfield:focus,.xfaSelect:focus{background-image:none;background-color:rgba(0,0,0,0);outline:auto;outline-offset:-1px}.xfaCheckbox:focus,.xfaRadio:focus{outline:auto}.xfaTextfield,.xfaSelect{height:100%;width:100%;flex:1 1 auto;border:none;resize:none;background-image:var(--xfa-unfocused-field-background)}.xfaTop>.xfaTextfield,.xfaTop>.xfaSelect,.xfaBottom>.xfaTextfield,.xfaBottom>.xfaSelect{flex:0 1 auto}.xfaButton{cursor:pointer;width:100%;height:100%;border:none;text-align:center}.xfaLink{width:100%;height:100%;position:absolute;top:0;left:0}.xfaCheckbox,.xfaRadio{width:100%;height:100%;flex:0 0 auto;border:none}.xfaRich{white-space:pre-wrap;width:100%;height:100%}.xfaImage{object-position:left top;object-fit:contain;width:100%;height:100%}.xfaLrTb,.xfaRlTb,.xfaTb{display:flex;flex-direction:column;align-items:stretch}.xfaLr{display:flex;flex-direction:row;align-items:stretch}.xfaRl{display:flex;flex-direction:row-reverse;align-items:stretch}.xfaTb>div{justify-content:left}.xfaPosition{position:relative}.xfaArea{position:relative}.xfaValignMiddle{display:flex;align-items:center}.xfaTable{display:flex;flex-direction:column;align-items:stretch}.xfaTable .xfaRow{display:flex;flex-direction:row;align-items:stretch}.xfaTable .xfaRlRow{display:flex;flex-direction:row-reverse;align-items:stretch;flex:1}.xfaTable .xfaRlRow>div{flex:1}.xfaNonInteractive input,.xfaNonInteractive textarea,.xfaDisabled input,.xfaDisabled textarea,.xfaReadOnly input,.xfaReadOnly textarea{background:initial}@media print{.xfaTextfield,.xfaSelect{background:rgba(0,0,0,0)}.xfaSelect{appearance:none;text-indent:1px;text-overflow:\"\"}} :root{--focus-outline: solid 2px red;--hover-outline: dashed 2px blue;--freetext-line-height: 1.35;--freetext-padding: 2px;--editorInk-editing-cursor: url(images/toolbarButton-editorInk.svg) 0 16}@media(forced-colors: active){:root{--focus-outline: solid 3px ButtonText;--hover-outline: dashed 3px ButtonText}}[data-editor-rotation=\"90\"]{transform:rotate(90deg)}[data-editor-rotation=\"180\"]{transform:rotate(180deg)}[data-editor-rotation=\"270\"]{transform:rotate(270deg)}.annotationEditorLayer{background:transparent;position:absolute;top:0;left:0;font-size:calc(100px*var(--scale-factor));transform-origin:0 0}.annotationEditorLayer .selectedEditor{outline:var(--focus-outline);resize:none}.annotationEditorLayer .freeTextEditor{position:absolute;background:transparent;border-radius:3px;padding:calc(var(--freetext-padding)*var(--scale-factor));resize:none;width:auto;height:auto;z-index:1;transform-origin:0 0;touch-action:none}.annotationEditorLayer .freeTextEditor .internal{background:transparent;border:none;top:0;left:0;overflow:visible;white-space:nowrap;resize:none;font:10px sans-serif;line-height:var(--freetext-line-height)}.annotationEditorLayer .freeTextEditor .overlay{position:absolute;display:none;background:transparent;top:0;left:0;width:100%;height:100%}.annotationEditorLayer .freeTextEditor .overlay.enabled{display:block}.annotationEditorLayer .freeTextEditor .internal:empty::before{content:attr(default-content);color:gray}.annotationEditorLayer .freeTextEditor .internal:focus{outline:none}.annotationEditorLayer .inkEditor.disabled{resize:none}.annotationEditorLayer .inkEditor.disabled.selectedEditor{resize:horizontal}.annotationEditorLayer .freeTextEditor:hover:not(.selectedEditor),.annotationEditorLayer .inkEditor:hover:not(.selectedEditor){outline:var(--hover-outline)}.annotationEditorLayer .inkEditor{position:absolute;background:transparent;border-radius:3px;overflow:auto;width:100%;height:100%;z-index:1;transform-origin:0 0;cursor:auto}.annotationEditorLayer .inkEditor.editing{resize:none;cursor:var(--editorInk-editing-cursor),pointer}.annotationEditorLayer .inkEditor .inkEditorCanvas{position:absolute;top:0;left:0;width:100%;height:100%;touch-action:none}#editorNone::before{mask-image:var(--toolbarButton-editorNone-icon)}#editorFreeText::before{mask-image:var(--toolbarButton-editorFreeText-icon)}#editorInk::before{mask-image:var(--toolbarButton-editorInk-icon)}`;","import { DOCUMENT } from '@angular/common';\nimport { Component, Inject, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { css } from './pdf-acroform-default-colors-css';\n\n@Component({\n  selector: 'pdf-acroform-default-theme',\n  template: '',\n  styleUrls: [\n    //    './pdf-acroform-default-colors.scss',\n    //    '../common/annotation-layer-builder.scss',\n    //    '../common/xfa_layer_builder.scss',\n    //    '../common/annotation_editor_layer_builder.css',\n  ],\n  //  encapsulation: ViewEncapsulation.None,\n})\nexport class PdfAcroformDefaultThemeComponent implements OnInit, OnDestroy {\n  constructor(private renderer: Renderer2, @Inject(DOCUMENT) private document: any) {}\n\n  public ngOnInit() {\n    this.injectStyle();\n  }\n\n  private injectStyle() {\n    const styles = this.document.createElement('STYLE') as HTMLStyleElement;\n    styles.id = 'pdf-acroform-css';\n    styles.innerHTML = css;\n    this.renderer.appendChild(this.document.head, styles);\n  }\n\n  public ngOnDestroy() {\n    const styles = this.document.getElementById('pdf-acroform-css') as HTMLElement;\n    if (styles && styles.parentElement) {\n      (styles.parentElement as any).removeChild(styles);\n    }\n  }\n}\n","import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n  selector: 'pdf-original-theme',\n  templateUrl: './pdf-original.component.html',\n  styleUrls: ['./viewer-with-images.css', './ngx-extended-pdf-viewer.component.css'],\n  encapsulation: ViewEncapsulation.None,\n})\nexport class PdfOriginalComponent {}\n","","import { Component, Input } from '@angular/core';\n\n@Component({\n  selector: 'pdf-bookmark',\n  templateUrl: './pdf-bookmark.component.html',\n  styleUrls: ['./pdf-bookmark.component.css']\n})\nexport class PdfBookmarkComponent {\n\n  @Input()\n  public showBookmarkButton = true;\n}\n","<a\n  href=\"#\"\n  [class.invisible]=\"!showBookmarkButton\"\n  id=\"viewBookmark\"\n  class=\"toolbarButton hiddenTinyView\"\n  title=\"Current view (copy or open in new window)\"\n  data-l10n-id=\"bookmark\"\n>\n  <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\">\n    <path fill=\"currentColor\" d=\"M17,18L12,15.82L7,18V5H17M17,3H7A2,2 0 0,0 5,5V21L12,18L19,21V5C19,3.89 18.1,3 17,3Z\" />\n  </svg>\n  <span data-l10n-id=\"bookmark_label\">Current View</span>\n</a>\n","import { Component } from '@angular/core';\n\n@Component({\n  selector: 'pdf-context-menu',\n  templateUrl: './pdf-context-menu.component.html',\n  styleUrls: ['./pdf-context-menu.component.css'],\n})\nexport class PdfContextMenuComponent {}\n","<!-- the context menu is deactivated because only Firefox supports it -->\n<div style=\"display:none\" type=\"context\" id=\"viewerContextMenu\">\n  <div style=\"display:none\" id=\"contextFirstPage\"></div>\n  <div style=\"display:none\" id=\"contextLastPage\"></div>\n  <div style=\"display:none\" id=\"contextPageRotateCw\"></div>\n  <div style=\"display:none\" id=\"contextPageRotateCcw\"></div>\n</div>\n","import { Component, Input } from '@angular/core';\n\n@Component({\n  selector: 'pdf-download',\n  templateUrl: './pdf-download.component.html',\n  styleUrls: ['./pdf-download.component.css'],\n})\nexport class PdfDownloadComponent {\n  @Input()\n  public showDownloadButton = true;\n}\n","<button\n  type=\"button\"\n  id=\"download\"\n  class=\"toolbarButton hiddenSmallView\"\n  [class.invisible]=\"!showDownloadButton\"\n  title=\"Download\"\n  data-l10n-id=\"download\"\n>\n  <svg style=\"width:20px;height:20px\" viewBox=\"0 0 24 24\">\n    <path fill=\"currentColor\" d=\"M14,2L20,8V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2H14M18,20V9H13V4H6V20H18M12,19L8,15H10.5V12H13.5V15H16L12,19Z\" />\n  </svg>\n  <span data-l10n-id=\"download_label\">Download</span>\n</button>\n","import { Component, Input } from '@angular/core';\n\n@Component({\n  selector: 'pdf-find-button',\n  templateUrl: './pdf-find-button.component.html',\n  styleUrls: ['./pdf-find-button.component.css'],\n})\nexport class PdfFindButtonComponent {\n  @Input()\n  public showFindButton: boolean | undefined = undefined;\n\n  @Input()\n  public textLayer: boolean | undefined = undefined;\n}\n","<button\n  type=\"button\"\n  [class.invisible]=\"!showFindButton || !textLayer\"\n  id=\"viewFind\"\n  class=\"toolbarButton\"\n  title=\"Find in Document\"\n  data-l10n-id=\"findbar\"\n>\n  <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\">\n    <path fill=\"currentColor\" d=\"M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z\" />\n  </svg>\n  <span data-l10n-id=\"findbar_label\">Find</span>\n</button>\n","import { Component } from '@angular/core';\n\n@Component({\n  selector: 'pdf-find-current-page-only',\n  templateUrl: './pdf-find-current-page-only.component.html',\n  styleUrls: ['./pdf-find-current-page-only.component.css'],\n})\nexport class PdfFindCurrentPageOnlyComponent {}\n","<input\n  type=\"checkbox\"\n  id=\"findCurrentPage\"\n  class=\"toolbarField\"\n/>\n<label\n  for=\"findCurrentPage\"\n  class=\"toolbarLabel\"\n  data-l10n-id=\"find_current_page\">\n  Current page only\n</label>\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class PdfFindbarService {\n  public individualWordsMode = true;\n\n  public multipleSearchTexts = false;\n}\n","import { Component } from '@angular/core';\nimport { PdfFindbarService } from './../pdf-findbar-service';\n\n@Component({\n  selector: 'pdf-search-input-field',\n  templateUrl: './pdf-search-input-field.component.html',\n  styleUrls: ['./pdf-search-input-field.component.css'],\n})\nexport class PdfSearchInputFieldComponent {\n  constructor(public pdfFindbarService: PdfFindbarService) {}\n}\n","<input [class.hidden]=\"!pdfFindbarService.individualWordsMode\"\n  autocomplete=\"off\"\n  id=\"findInput\"\n  class=\"toolbarField\"\n  title=\"Find\"\n  [placeholder]=\"'Find in document…'\"\n  data-l10n-id=\"find_input\"\n  name=\"search-input-field\"\n/>\n<textarea\n  [class.hidden]=\"pdfFindbarService.individualWordsMode\"\n  id=\"findInputMultiline\"\n  type=\"checkbox\"\n  class=\"toolbarField\"\n  placeholder=\"Multiple search terms. Each line is a search term.\"\n  data-l10n-id=\"find_input_line_by_line\"\n  lines=\"3\"\n></textarea>\n","import { Component } from '@angular/core';\n\n@Component({\n  selector: 'pdf-find-previous',\n  templateUrl: './pdf-find-previous.component.html',\n  styleUrls: ['./pdf-find-previous.component.css'],\n})\nexport class PdfFindPreviousComponent {}\n","<button type=\"button\"\n  id=\"findPrevious\"\n  class=\"toolbarButton\"\n  title=\"Find the previous occurrence of the phrase\"\n  data-l10n-id=\"find_previous\"\n  >\n  <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\">\n    <path fill=\"currentColor\" d=\"M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z\" />\n  </svg>\n  <span data-l10n-id=\"find_previous_label\">Previous</span>\n</button>\n","import { Component } from '@angular/core';\n\n@Component({\n  selector: 'pdf-find-next',\n  templateUrl: './pdf-find-next.component.html',\n  styleUrls: ['./pdf-find-next.component.css'],\n})\nexport class PdfFindNextComponent {}\n","<button type=\"button\"\n  id=\"findNext\"\n  class=\"toolbarButton\"\n  title=\"Find the next occurrence of the phrase\"\n  data-l10n-id=\"find_next\">\n  <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\">\n    <path fill=\"currentColor\" d=\"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z\" />\n  </svg>\n  <span data-l10n-id=\"find_next_label\">Next</span>\n</button>\n","import { Component, Input, TemplateRef } from '@angular/core';\n\n@Component({\n  selector: 'pdf-find-input-area',\n  templateUrl: './pdf-find-input-area.component.html',\n  styleUrls: ['./pdf-find-input-area.component.css'],\n})\nexport class PdfFindInputAreaComponent {\n  @Input()\n  public customFindbarInputArea: TemplateRef<any> | undefined;\n}\n","<div id=\"findbarInputContainer\" *ngIf=\"!customFindbarInputArea\">\n  <pdf-search-input-field></pdf-search-input-field>\n  <pdf-find-previous></pdf-find-previous>\n  <pdf-find-next></pdf-find-next>\n</div>\n\n<ng-container [ngTemplateOutlet]=\"customFindbarInputArea || null\"> </ng-container>\n","import { Component } from '@angular/core';\n\n@Component({\n  selector: 'pdf-find-range',\n  templateUrl: './pdf-find-range.component.html',\n  styleUrls: ['./pdf-find-range.component.css'],\n})\nexport class PdfFindRangeComponent {}\n","<input\n  autocomplete=\"off\"\n  id=\"findRange\"\n  class=\"toolbarField\"\n  title=\"pages to search\"\n  [placeholder]=\"'pages (e.g. 6-10)'\"\n  data-l10n-id=\"find_range\"\n  name=\"search-range-field\"\n/>\n","import { Component } from '@angular/core';\n\n@Component({\n  selector: 'pdf-findbar-message-container',\n  templateUrl: './pdf-findbar-message-container.component.html',\n  styleUrls: ['./pdf-findbar-message-container.component.css'],\n})\nexport class PdfFindbarMessageContainerComponent {}\n","<div id=\"findbarMessageContainer\">\n  <span id=\"findMsg\" class=\"toolbarLabel\"></span>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n  selector: 'pdf-find-highlight-all',\n  templateUrl: './pdf-find-highlight-all.component.html',\n  styleUrls: ['./pdf-find-highlight-all.component.css'],\n})\nexport class PdfFindHighlightAllComponent {}\n","<input\n  type=\"checkbox\"\n  id=\"findHighlightAll\"\n  class=\"toolbarField\"\n/>\n<label\n  for=\"findHighlightAll\"\n  class=\"toolbarLabel\"\n  data-l10n-id=\"find_highlight\">\n  Highlight all\n</label>\n","import { Component } from '@angular/core';\n\n@Component({\n  selector: 'pdf-find-match-case',\n  templateUrl: './pdf-find-match-case.component.html',\n  styleUrls: ['./pdf-find-match-case.component.css'],\n})\nexport class PdfFindMatchCaseComponent {}\n","<input\n  type=\"checkbox\"\n  id=\"findMatchCase\"\n  class=\"toolbarField\"\n/>\n<label\n  for=\"findMatchCase\"\n  class=\"toolbarLabel\"\n  data-l10n-id=\"find_match_case_label\">\n    Match case\n</label>\n","import { Component } from '@angular/core';\n\n@Component({\n  selector: 'pdf-findbar-options-one-container',\n  templateUrl: './pdf-findbar-options-one-container.component.html',\n  styleUrls: ['./pdf-findbar-options-one-container.component.css'],\n})\nexport class PdfFindbarOptionsOneContainerComponent {}\n","<div id=\"findbarOptionsOneContainer\">\n  <pdf-find-highlight-all></pdf-find-highlight-all>\n  <pdf-find-match-case></pdf-find-match-case>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n  selector: 'pdf-find-fuzzily',\n  templateUrl: './pdf-find-fuzzily.component.html',\n  styleUrls: ['./pdf-find-fuzzily.component.css'],\n})\nexport class PdfFindFuzzilyComponent {}\n","<input\n  type=\"checkbox\"\n  id=\"findFuzzy\"\n  class=\"toolbarField\"\n/>\n<label\n  for=\"findFuzzy\"\n  class=\"toolbarLabel\"\n  data-l10n-id=\"find_fuzzy\">\n    Fuzzy search\n</label>\n","import { Component } from '@angular/core';\n\n@Component({\n  selector: 'pdf-find-ignore-accents',\n  templateUrl: './pdf-find-ignore-accents.component.html',\n  styleUrls: ['./pdf-find-ignore-accents.component.css'],\n})\nexport class PdfFindIgnoreAccentsComponent {}\n","<input\n  type=\"checkbox\"\n  id=\"findIgnoreAccents\"\n  class=\"toolbarField\"\n/>\n<label\n  for=\"findIgnoreAccents\"\n  class=\"toolbarLabel\"\n  data-l10n-id=\"find_ignore_accents\">\n    Ignore accents and diacritics\n</label>\n","import { Component } from '@angular/core';\n\n@Component({\n  selector: 'pdf-find-results-count',\n  templateUrl: './pdf-find-results-count.component.html',\n  styleUrls: ['./pdf-find-results-count.component.css'],\n})\nexport class PdfFindResultsCountComponent {}\n","<span id=\"findResultsCount\" class=\"toolbarLabel hidden\"></span>\n","import { Component } from '@angular/core';\n\n@Component({\n  selector: 'pdf-findbar-options-three-container',\n  templateUrl: './pdf-findbar-options-three-container.component.html',\n  styleUrls: ['./pdf-findbar-options-three-container.component.css'],\n})\nexport class PdfFindbarOptionsThreeContainerComponent {}\n","<div id=\"findbarOptionsThreeContainer\">\n  <pdf-find-ignore-accents></pdf-find-ignore-accents>\n  <pdf-find-fuzzily></pdf-find-fuzzily>\n  <pdf-find-results-count></pdf-find-results-count>\n</div>\n","import { Component } from '@angular/core';\nimport { PdfFindbarService } from '../../pdf-findbar-service';\n\n@Component({\n  selector: 'pdf-find-entire-phrase',\n  templateUrl: './pdf-find-entire-phrase.component.html',\n  styleUrls: ['./pdf-find-entire-phrase.component.css'],\n})\nexport class PdfFindMultipleSearchTextsComponent {\n  constructor(public pdfFindbarService: PdfFindbarService) {}\n}\n","<input\n  type=\"checkbox\"\n  id=\"findMultipleSearchTexts\"\n  class=\"toolbarField\"\n  [(ngModel)]=\"pdfFindbarService.multipleSearchTexts\"\n/>\n\n<label\n  for=\"findMultipleSearchTexts\"\n  class=\"toolbarLabel\"\n  data-l10n-id=\"find_multiple_texts_label\">\n  multiple search texts\n</label>\n\n<input [class.hidden]=\"!pdfFindbarService.multipleSearchTexts\"\n  type=\"checkbox\"\n  id=\"individualWordsMode\"\n  class=\"toolbarField\"\n  [(ngModel)]=\"pdfFindbarService.individualWordsMode\"\n/>\n\n<label [class.hidden]=\"!pdfFindbarService.multipleSearchTexts\"\n  for=\"individualWordsMode\"\n  id=\"individualWordsModeLabel\"\n  class=\"toolbarLabel\"\n  data-l10n-id=\"find_individual_words_label\">\n  separated by word boundaries\n</label>\n","import { Component } from '@angular/core';\n\n@Component({\n  selector: 'pdf-find-entire-word',\n  templateUrl: './pdf-find-entire-word.component.html',\n  styleUrls: ['./pdf-find-entire-word.component.css'],\n})\nexport class PdfFindEntireWordComponent {}\n","<input\n  type=\"checkbox\"\n  id=\"findEntireWord\"\n  class=\"toolbarField\"\n/>\n<label\n  for=\"findEntireWord\"\n  class=\"toolbarLabel\"\n  data-l10n-id=\"find_entire_word_label\">\n  Whole words\n</label>\n","import { Component } from '@angular/core';\n\n@Component({\n  selector: 'pdf-findbar-options-two-container',\n  templateUrl: './pdf-findbar-options-two-container.component.html',\n  styleUrls: ['./pdf-findbar-options-two-container.component.css'],\n})\nexport class PdfFindbarOptionsTwoContainerComponent {}\n","<div id=\"findbarOptionsTwoContainer\">\n  <pdf-find-entire-word></pdf-find-entire-word>\n  <pdf-find-entire-phrase></pdf-find-entire-phrase>\n</div>\n","import { Component, Input, TemplateRef } from '@angular/core';\nimport { getVersionSuffix, pdfDefaultOptions } from '../../options/pdf-default-options';\n\n@Component({\n  selector: 'pdf-findbar',\n  templateUrl: './pdf-findbar.component.html',\n  styleUrls: ['./pdf-findbar.component.css']\n})\nexport class PdfFindbarComponent {\n  @Input()\n  public showFindButton = true;\n\n  @Input()\n  public mobileFriendlyZoomScale: number;\n\n  @Input()\n  public findbarLeft: string | undefined;\n\n  @Input()\n  public findbarTop: string | undefined;\n\n  /* UI templates */\n  @Input()\n  public customFindbarInputArea: TemplateRef<any> | undefined;\n\n  @Input()\n  public customFindbar: TemplateRef<any>;\n\n  @Input()\n  public customFindbarButtons: TemplateRef<any>  | undefined;\n\n  @Input()\n  public showFindHighlightAll = true;\n\n  @Input()\n  public showFindMatchCase = true;\n\n  @Input()\n  public showFindCurrentPageOnly = true;\n\n  @Input()\n  public showFindPageRange = true;\n\n  @Input()\n  public showFindEntireWord = true;\n\n  @Input()\n  public showFindEntirePhrase = true;\n\n  @Input()\n  public showFindIgnoreAccents = true;\n\n  @Input()\n  public showFindFuzzySearch = true;\n\n  @Input()\n  public showFindResultsCount = true;\n\n  @Input()\n  public showFindMessages = true;\n\n  public pdfJsVersion = getVersionSuffix(pdfDefaultOptions.assetsFolder);\n}\n","<ng-container [ngTemplateOutlet]=\"customFindbar ? customFindbar : defaultFindbar\">\n</ng-container>\n\n<ng-template #defaultFindbar>\n  <div\n    class=\"findbar hidden doorHanger\"\n    [class.invisible]=\"!showFindButton\"\n    id=\"findbar\"\n    [style.transform]=\"'scale(' + mobileFriendlyZoomScale + ')'\"\n    [style.transformOrigin]=\"'left center'\"\n    [style.left]=\"findbarLeft\"\n    [style.top]=\"findbarTop\"\n  >\n    <ng-container [ngTemplateOutlet]=\"customFindbarButtons ? customFindbarButtons : defaultFindbarButtons\"> </ng-container>\n    </div>\n</ng-template>\n\n<ng-template #defaultFindbarButtons>\n  <pdf-find-input-area [customFindbarInputArea]=\"customFindbarInputArea\"></pdf-find-input-area>\n  <pdf-find-highlight-all [class.hidden]=\"!showFindHighlightAll\"></pdf-find-highlight-all>\n  <pdf-find-match-case [class.hidden]=\"!showFindMatchCase\"></pdf-find-match-case>\n  <pdf-find-current-page-only [class.hidden]=\"!showFindCurrentPageOnly\"></pdf-find-current-page-only>\n  <pdf-find-range [class.hidden]=\"!showFindPageRange\"></pdf-find-range>\n  <pdf-find-entire-word [class.hidden]=\"!showFindEntireWord\"></pdf-find-entire-word>\n  <pdf-find-entire-phrase [class.hidden]=\"!showFindEntirePhrase\"></pdf-find-entire-phrase>\n  <pdf-find-ignore-accents [class.hidden]=\"!showFindIgnoreAccents\"></pdf-find-ignore-accents>\n  <pdf-find-fuzzily [class.hidden]=\"!showFindFuzzySearch\"></pdf-find-fuzzily>\n  <pdf-find-results-count [class.hidden]=\"!showFindResultsCount\"></pdf-find-results-count>\n  <pdf-findbar-message-container [class.hidden]=\"!showFindMessages\"></pdf-findbar-message-container>\n</ng-template>\n","export enum PdfCursorTools {\n  SELECT = 0,\n  HAND = 1,\n  ZOOM = 2\n}\n","import { PdfCursorTools } from './../../options/pdf-cursor-tools';\nimport { Component, Input } from '@angular/core';\nimport { IPDFViewerApplication } from '../../options/pdf-viewer-application';\nimport { PDFNotificationService } from '../../pdf-notification-service';\nimport { HandtoolChanged } from '../../events/handtool-changed';\n\n@Component({\n  selector: 'pdf-hand-tool',\n  templateUrl: './pdf-hand-tool.component.html',\n  styleUrls: ['./pdf-hand-tool.component.css']\n})\nexport class PdfHandToolComponent {\n  @Input()\n  public showHandToolButton = true;\n\n  public isSelected = false;\n\n  constructor(private notificationService: PDFNotificationService) {\n    const subscription = this.notificationService.onPDFJSInit.subscribe(() => {\n      this.onPdfJsInit();\n      subscription.unsubscribe();\n    });\n  }\n\n  private onPdfJsInit() {\n    const PDFViewerApplication: IPDFViewerApplication = (window as any).PDFViewerApplication;\n    PDFViewerApplication.eventBus.on('cursortoolchanged',\n      ({ tool }: HandtoolChanged) => (this.isSelected = tool === PdfCursorTools.HAND));\n  }\n\n  public onClick(): void {\n    const PDFViewerApplication: IPDFViewerApplication = (window as any).PDFViewerApplication;\n    PDFViewerApplication.eventBus.dispatch('switchcursortool', { tool: PdfCursorTools.HAND });\n  }\n}\n","<button\n  (click)=\"onClick()\"\n  type=\"button\"\n  [class.invisible]=\"!showHandToolButton\"\n  [class.toggled]=\"isSelected\"\n  id=\"primaryCursorHandTool\"\n  class=\"toolbarButton hiddenXXLView\"\n  title=\"Enable hand tool\"\n  data-l10n-id=\"cursor_hand_tool\">\n  <svg style=\"width:22px;height:22px\" viewBox=\"0 0 24 24\">\n    <path fill=\"currentColor\" d=\"M13,6V11H18V7.75L22.25,12L18,16.25V13H13V18H16.25L12,22.25L7.75,18H11V13H6V16.25L1.75,12L6,7.75V11H11V6H7.75L12,1.75L16.25,6H13Z\" />\n  </svg>\n  <span data-l10n-id=\"cursor_hand_tool_label\">Hand Tool</span>\n</button>\n","import { Component, Input } from '@angular/core';\n\n@Component({\n  selector: 'pdf-open-file',\n  templateUrl: './pdf-open-file.component.html',\n  styleUrls: ['./pdf-open-file.component.css']\n})\nexport class PdfOpenFileComponent  {\n  @Input()\n  public showOpenFileButton = true;\n}\n","<button type=\"button\"\n        [class.invisible]=\"!showOpenFileButton\"\n        id=\"openFile\"\n        class=\"toolbarButton hiddenMediumView\"\n        title=\"Open File\"\n        data-l10n-id=\"open_file\">\n  <svg style=\"width:24px;height:20px\" viewBox=\"0 0 24 24\">\n    <path fill=\"currentColor\" d=\"M14,2L20,8V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2H14M18,20V9H13V4H6V20H18M12,12L16,16H13.5V19H10.5V16H8L12,12Z\" />\n  </svg>\n  <span data-l10n-id=\"open_file_label\">Open</span>\n</button>\n","import { PDFNotificationService } from './../../../pdf-notification-service';\nimport { Component, ViewChild, ElementRef} from '@angular/core';\nimport { IPDFViewerApplication } from '../../../options/pdf-viewer-application';\nimport { UpdateUIStateEvent } from '../../../events/update-ui-state-event';\n\n@Component({\n  selector: 'pdf-first-page',\n  templateUrl: './pdf-first-page.component.html',\n  styleUrls: ['./pdf-first-page.component.css']\n})\nexport class PdfFirstPageComponent {\n  public disableFirstPage = true;\n\n  @ViewChild('button')\n  private button: ElementRef<HTMLButtonElement>;\n\n  constructor(private notificationService: PDFNotificationService) {\n    const subscription = this.notificationService.onPDFJSInit.subscribe(() => {\n      this.onPdfJsInit();\n      subscription.unsubscribe();\n    });\n  }\n\n  public firstPage(): void {\n    const PDFViewerApplication: IPDFViewerApplication = (window as any).PDFViewerApplication;\n    PDFViewerApplication.eventBus.dispatch('firstpage');\n  }\n\n  public onPdfJsInit(): void {\n    const PDFViewerApplication: IPDFViewerApplication = (window as any).PDFViewerApplication;\n    PDFViewerApplication.eventBus.on('updateuistate', (event) => this.updateUIState(event));\n  }\n\n  public updateUIState(event: UpdateUIStateEvent): void {\n    this.disableFirstPage = event.pageNumber <= 1;\n    this.button.nativeElement.disabled = this.disableFirstPage;\n  }\n}\n","<button type=\"button\"\n  class=\"toolbarButton hiddenLargeView\"\n  title=\"First page\"\n  id=\"primaryFirstPage\"\n  data-l10n-id=\"first_page\"\n  (click)=\"firstPage()\"\n  [disabled]=\"disableFirstPage\"\n  #button\n  >\n  <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\">\n    <path fill=\"currentColor\" d=\"M18.41,16.59L13.82,12L18.41,7.41L17,6L11,12L17,18L18.41,16.59M6,6H8V18H6V6Z\" />\n  </svg>\n  <span data-l10n-id=\"first_page_label\">First page</span>\n</button>\n","import { PDFNotificationService } from './../../../pdf-notification-service';\nimport { Component, ViewChild, ElementRef } from '@angular/core';\nimport { IPDFViewerApplication } from '../../../options/pdf-viewer-application';\nimport { UpdateUIStateEvent } from '../../../events/update-ui-state-event';\n\n@Component({\n  selector: 'pdf-last-page',\n  templateUrl: './pdf-last-page.component.html',\n  styleUrls: ['./pdf-last-page.component.css']\n})\nexport class PdfLastPageComponent {\n  public disableLastPage = true;\n\n  @ViewChild('button')\n  private button: ElementRef<HTMLButtonElement>;\n\n  constructor(private notificationService: PDFNotificationService) {\n    const subscription = this.notificationService.onPDFJSInit.subscribe(() => {\n      this.onPdfJsInit();\n      subscription.unsubscribe();\n    });\n  }\n\n  public firstPage(): void {\n    const PDFViewerApplication: IPDFViewerApplication = (window as any).PDFViewerApplication;\n    PDFViewerApplication.eventBus.dispatch('firstpage');\n  }\n\n  public onPdfJsInit(): void {\n    const PDFViewerApplication: IPDFViewerApplication = (window as any).PDFViewerApplication;\n    PDFViewerApplication.eventBus.on('updateuistate', event => this.updateUIState(event));\n  }\n\n  public updateUIState(event: UpdateUIStateEvent): void {\n    this.disableLastPage = event.pageNumber === event.pagesCount;\n    this.button.nativeElement.disabled = this.disableLastPage;\n  }\n\n  public lastPage(): void {\n    const PDFViewerApplication: IPDFViewerApplication = (window as any).PDFViewerApplication;\n    PDFViewerApplication.eventBus.dispatch('lastpage');\n  }\n}\n","<button type=\"button\"\n  class=\"toolbarButton hiddenLargeView\"\n  title=\"Last page\"\n  id=\"primaryLastPage\"\n  data-l10n-id=\"last_page\"\n  (click)=\"lastPage()\"\n  [disabled]=\"disableLastPage\"\n  #button\n  >\n  <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\">\n    <path fill=\"currentColor\" d=\"M5.59,7.41L10.18,12L5.59,16.59L7,18L13,12L7,6L5.59,7.41M16,6H18V18H16V6Z\" />\n  </svg>\n  <span data-l10n-id=\"last_page_label\">Last page</span>\n</button>\n","import { Component } from '@angular/core';\n\n@Component({\n  selector: 'pdf-next-page',\n  templateUrl: './pdf-next-page.component.html',\n  styleUrls: ['./pdf-next-page.component.css'],\n})\nexport class PdfNextPageComponent {}\n","<button type=\"button\"\n  class=\"toolbarButton\"\n  title=\"Next Page\"\n  id=\"next\"\n  data-l10n-id=\"next\"\n  >\n  <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\">\n    <path fill=\"currentColor\" d=\"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z\" />\n  </svg>\n  <span data-l10n-id=\"next_label\">Next</span>\n</button>\n","import { Component, Input } from '@angular/core';\n\n@Component({\n  selector: 'pdf-page-number',\n  templateUrl: './pdf-page-number.component.html',\n  styleUrls: ['./pdf-page-number.component.css'],\n})\nexport class PdfPageNumberComponent {\n  @Input()\n  public showPagingButtons = true;\n}\n","<input\n  [class.invisible]=\"!showPagingButtons\"\n  type=\"number\"\n  id=\"pageNumber\"\n  class=\"toolbarField pageNumber\"\n  title=\"Page\"\n  value=\"1\"\n  size=\"4\"\n  min=\"1\"\n  data-l10n-id=\"page\"\n/>\n<span [class.invisible]=\"!showPagingButtons\" id=\"numPages\" class=\"toolbarLabel hiddenXLView\"></span>\n","import { Component } from '@angular/core';\n\n@Component({\n  selector: 'pdf-previous-page',\n  templateUrl: './pdf-previous-page.component.html',\n  styleUrls: ['./pdf-previous-page.component.css'],\n})\nexport class PdfPreviousPageComponent {}\n","\n<button type=\"button\"\n  class=\"toolbarButton\"\n  title=\"Previous Page\"\n  id=\"previous\"\n  data-l10n-id=\"previous\"\n  >\n  <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\">\n    <path fill=\"currentColor\" d=\"M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z\" />\n  </svg>\n  <span data-l10n-id=\"previous_label\">Previous</span>\n</button>\n","import { Component, Input } from '@angular/core';\n\n@Component({\n  selector: 'pdf-paging-area',\n  templateUrl: './pdf-paging-area.component.html',\n  styleUrls: ['./pdf-paging-area.component.css']\n})\nexport class PdfPagingAreaComponent {\n\n  @Input()\n  public showPagingButtons = true;\n}\n","<div\n[class.invisible]=\"!showPagingButtons\"\nclass=\"paging-left hiddenTinyView\"\n>\n<pdf-first-page style=\"margin-right: -3px;\"></pdf-first-page>\n<pdf-previous-page style=\"margin-left: -3px;\"></pdf-previous-page>\n</div>\n<pdf-page-number [showPagingButtons]=\"showPagingButtons\"></pdf-page-number>\n<div\n[class.invisible]=\"!showPagingButtons\"\nclass=\"paging-right hiddenTinyView\"\n>\n<pdf-next-page style=\"margin-right: -3px;margin-left: -3px;\"></pdf-next-page>\n<pdf-last-page style=\"margin-left: -3px;\"></pdf-last-page>\n</div>\n","import { Component, Input } from '@angular/core';\n\n@Component({\n  selector: 'pdf-presentation-mode',\n  templateUrl: './pdf-presentation-mode.component.html',\n  styleUrls: ['./pdf-presentation-mode.component.css']\n})\nexport class PdfPresentationModeComponent  {\n  @Input()\n  public showPresentationModeButton = true;\n}\n","<button type=\"button\"\n        [class.invisible]=\"!showPresentationModeButton\"\n        id=\"presentationMode\"\n        class=\"toolbarButton hiddenLargeView\"\n        title=\"Switch to Presentation Mode\"\n        data-l10n-id=\"presentation_mode\">\n  <svg style=\"width:27px;height:27px\" viewBox=\"0 0 24 24\">\n    <path fill=\"currentColor\" d=\"M5,5H10V7H7V10H5V5M14,5H19V10H17V7H14V5M17,14H19V19H14V17H17V14M10,17V19H5V14H7V17H10Z\" />\n  </svg>\n  <span data-l10n-id=\"presentation_mode_label\">Presentation Mode</span>\n  </button>\n","import { Component, Input } from '@angular/core';\n\n@Component({\n  selector: 'pdf-print',\n  templateUrl: './pdf-print.component.html',\n  styleUrls: ['./pdf-print.component.css']\n})\nexport class PdfPrintComponent {\n  @Input()\n  public showPrintButton = true;\n}\n","<button type=\"button\"\n    [class.invisible]=\"!showPrintButton\"\n    id=\"print\"\n    class=\"toolbarButton hiddenSmallView\"\n    title=\"Print\"\n    data-l10n-id=\"print\"\n    >\n    <svg style=\"width:22px;height:22px\" viewBox=\"0 0 24 24\">\n        <path fill=\"currentColor\" d=\"M18,3H6V7H18M19,12A1,1 0 0,1 18,11A1,1 0 0,1 19,10A1,1 0 0,1 20,11A1,1 0 0,1 19,12M16,19H8V14H16M19,8H5A3,3 0 0,0 2,11V17H6V21H18V17H22V11A3,3 0 0,0 19,8Z\" />\n    </svg>\n    <span data-l10n-id=\"print_label\">Print</span>\n</button>\n","import { PDFNotificationService } from './../../pdf-notification-service';\nimport { Component, Input, ViewChild, ElementRef } from '@angular/core';\nimport { IPDFViewerApplication } from '../../options/pdf-viewer-application';\nimport { UpdateUIStateEvent } from '../../events/update-ui-state-event';\n\n@Component({\n  selector: 'pdf-rotate-page',\n  templateUrl: './pdf-rotate-page.component.html',\n  styleUrls: ['./pdf-rotate-page.component.css']\n})\nexport class PdfRotatePageComponent  {\n  @Input()\n  public showRotateButton = true;\n\n  public disableRotate = true;\n\n  @Input()\n  public clockwise = true;\n\n  @Input()\n  public counterClockwise = true;\n\n  @ViewChild('button1')\n  private button1: ElementRef<HTMLButtonElement>;\n\n  @ViewChild('button2')\n  private button2: ElementRef<HTMLButtonElement>;\n\n  constructor(private notificationService: PDFNotificationService) {\n    const subscription = this.notificationService.onPDFJSInit.subscribe(() => {\n      this.onPdfJsInit();\n      subscription.unsubscribe();\n    });\n  }\n\n  public rotateCW(): void {\n    const PDFViewerApplication: IPDFViewerApplication = (window as any).PDFViewerApplication;\n    PDFViewerApplication.eventBus.dispatch('rotatecw');\n  }\n\n  public rotateCCW(): void {\n    const PDFViewerApplication: IPDFViewerApplication = (window as any).PDFViewerApplication;\n    PDFViewerApplication.eventBus.dispatch('rotateccw');\n  }\n\n\n  public onPdfJsInit(): void {\n    const PDFViewerApplication: IPDFViewerApplication = (window as any).PDFViewerApplication;\n    PDFViewerApplication.eventBus.on('updateuistate', (event) => this.updateUIState(event));\n  }\n\n  public updateUIState(event: UpdateUIStateEvent): void {\n    this.disableRotate = event.pagesCount === 0;\n    if (this.button1) {\n      this.button1.nativeElement.disabled = this.disableRotate;\n    }\n    if (this.button2) {\n      this.button2.nativeElement.disabled = this.disableRotate;\n    }\n  }\n}\n","<button\n  *ngIf=\"clockwise\"\n  (click)=\"rotateCW()\"\n  type=\"button\"\n  [class.invisible]=\"!showRotateButton\"\n  id=\"primaryPageRotateCw\"\n  class=\"toolbarButton hiddenXLView rotateCw\"\n  title=\"Rotate Clockwise\"\n  data-l10n-id=\"page_rotate_cw\"\n  [disabled]=\"disableRotate\"\n  #button1>\n    <svg style=\"width:23px;height:23px\" viewBox=\"0 0 24 24\">\n      <path fill=\"currentColor\" d=\"M12 3C7.03 3 3 7.03 3 12S7.03 21 12 21C14 21 15.92 20.34 17.5 19.14L16.06 17.7C14.87 18.54 13.45 19 12 19C8.13 19 5 15.87 5 12S8.13 5 12 5 19 8.13 19 12H16L20 16L24 12H21C21 7.03 16.97 3 12 3\" />\n    </svg>\n</button>\n<button\n  *ngIf=\"counterClockwise\"\n  (click)=\"rotateCCW()\"\n  type=\"button\"\n  [class.invisible]=\"!showRotateButton\"\n  id=\"primaryPageRotateCcw\"\n  class=\"toolbarButton hiddenXLView rotateCcw\"\n  title=\"Rotate Counterclockwise\"\n  data-l10n-id=\"page_rotate_ccw\"\n  [disabled]=\"disableRotate\"\n  #button2>\n    <svg style=\"width:23px;height:23px\" viewBox=\"0 0 24 24\">\n      <path fill=\"currentColor\" d=\"M12 3C7.03 3 3 7.03 3 12H0L4 16L8 12H5C5 8.13 8.13 5 12 5S19 8.13 19 12 15.87 19 12 19C10.55 19 9.13 18.54 7.94 17.7L6.5 19.14C8.08 20.34 10 21 12 21C16.97 21 21 16.97 21 12S16.97 3 12 3\" />\n    </svg>\n</button>\n","import { PdfCursorTools } from './../../options/pdf-cursor-tools';\nimport { Component, Input } from '@angular/core';\nimport { IPDFViewerApplication } from '../../options/pdf-viewer-application';\nimport { PDFNotificationService } from '../../pdf-notification-service';\nimport { HandtoolChanged } from '../../events/handtool-changed';\n\n@Component({\n  selector: 'pdf-select-tool',\n  templateUrl: './pdf-select-tool.component.html',\n  styleUrls: ['./pdf-select-tool.component.css']\n})\nexport class PdfSelectToolComponent {\n  @Input()\n  public showSelectToolButton = true;\n\n  public isSelected = true;\n\n  constructor(private notificationService: PDFNotificationService) {\n    const subscription = this.notificationService.onPDFJSInit.subscribe(() => {\n      this.onPdfJsInit();\n      subscription.unsubscribe();\n    });\n  }\n\n  private onPdfJsInit() {\n    const PDFViewerApplication: IPDFViewerApplication = (window as any).PDFViewerApplication;\n    PDFViewerApplication.eventBus.on('cursortoolchanged',\n      ({ tool }: HandtoolChanged) => (this.isSelected = tool === PdfCursorTools.SELECT));\n  }\n\n  public onClick(): void {\n    const PDFViewerApplication: IPDFViewerApplication = (window as any).PDFViewerApplication;\n    PDFViewerApplication.eventBus.dispatch('switchcursortool', { tool: PdfCursorTools.SELECT });\n  }\n}\n","<button\n  (click)=\"onClick()\"\n  type=\"button\"\n  [class.invisible]=\"!showSelectToolButton\"\n  [class.toggled]=\"isSelected\"\n  id=\"primaryCursorSelectTool\"\n  class=\"toolbarButton hiddenXXLView\"\n  title=\"Enable text selection tool\"\n  data-l10n-id=\"cursor_text_select_tool\">\n  <svg style=\"width:22px;height:22px\" viewBox=\"0 0 24 24\">\n    <path fill=\"currentColor\" d=\"M2 4C2 2.89 2.9 2 4 2H7V4H4V7H2V4M22 4V7H20V4H17V2H20C21.1 2 22 2.89 22 4M2 20V17H4V20H7V22H4C2.9 22 2 21.11 2 20M10 2H14V4H10V2M10 20H14V22H10V20M2 10H4V14H2V10M18.5 13C20.4 13 22 14.6 22 16.5C22 19.1 18.5 23 18.5 23C18.5 23 15 19.1 15 16.5C15 14.6 16.6 13 18.5 13M18.5 17.8C19.2 17.8 19.8 17.2 19.7 16.6C19.7 16 19.1 15.4 18.5 15.4C17.9 15.4 17.3 15.9 17.3 16.6C17.3 17.2 17.8 17.8 18.5 17.8M20 10H22V12.34C21.42 11.84 20.74 11.45 20 11.23V10Z\" />\n  </svg>\n  <span data-l10n-id=\"cursor_text_select_tool_label\">Text selection tool</span>\n</button>\n","import { Component, Input } from '@angular/core';\n\n@Component({\n  selector: 'pdf-toggle-secondary-toolbar',\n  templateUrl: './pdf-toggle-secondary-toolbar.component.html',\n  styleUrls: ['./pdf-toggle-secondary-toolbar.component.css'],\n})\nexport class PdfToggleSecondaryToolbarComponent {\n  @Input()\n  public showSecondaryToolbarButton = true;\n}\n","<button\n  type=\"button\"\n  [class.invisible]=\"!showSecondaryToolbarButton\"\n  id=\"secondaryToolbarToggle\"\n  class=\"toolbarButton\"\n  title=\"Tools\"\n  data-l10n-id=\"tools\"\n>\n  <svg style=\"width:27px;height:27px\" viewBox=\"0 0 24 24\" onclick=\"event.preventDefault(); return false;\">\n    <path fill=\"currentColor\" d=\"M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z\" />\n  </svg>\n  <span data-l10n-id=\"tools_label\">Tools</span>\n</button>\n","import { Component, Input } from '@angular/core';\n\n@Component({\n  selector: 'pdf-toggle-sidebar',\n  templateUrl: './pdf-toggle-sidebar.component.html',\n  styleUrls: ['./pdf-toggle-sidebar.component.css'],\n})\nexport class PdfToggleSidebarComponent {\n  @Input()\n  public showSidebarButton = true;\n}\n","<button\n  type=\"button\"\n  [class.invisible]=\"!showSidebarButton\"\n  id=\"sidebarToggle\"\n  title=\"Toggle Sidebar\"\n  class=\"toolbarButton\"\n  data-l10n-id=\"toggle_sidebar\"\n>\n  <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\">\n    <path fill=\"currentColor\" d=\"M3,9H17V7H3V9M3,13H17V11H3V13M3,17H17V15H3V17M19,17H21V15H19V17M19,7V9H21V7H19M19,13H21V11H19V13Z\" />\n  </svg>\n  <span data-l10n-id=\"toggle_sidebar_label\">Toggle Sidebar</span>\n</button>\n","import { Component } from '@angular/core';\n\n@Component({\n  selector: 'pdf-zoom-out',\n  templateUrl: './pdf-zoom-out.component.html',\n  styleUrls: ['./pdf-zoom-out.component.css'],\n})\nexport class PdfZoomOutComponent {}\n","<button type=\"button\"\n  id=\"zoomOut\"\n  class=\"toolbarButton zoomOut\"\n  title=\"Zoom Out\"\n  data-l10n-id=\"zoom_out\">\n  <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\">\n    <path fill=\"currentColor\" d=\"M19,13H5V11H19V13Z\" />\n  </svg>\n  <span data-l10n-id=\"zoom_out_label\">Zoom Out</span>\n</button>\n","import { Component } from '@angular/core';\n\n@Component({\n  selector: 'pdf-zoom-in',\n  templateUrl: './pdf-zoom-in.component.html',\n  styleUrls: ['./pdf-zoom-in.component.css'],\n})\nexport class PdfZoomInComponent {}\n","<button type=\"button\"\n  id=\"zoomIn\"\n  class=\"toolbarButton zoomIn\"\n  title=\"Zoom In\"\n  data-l10n-id=\"zoom_in\">\n  <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\">\n    <path fill=\"currentColor\" d=\"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z\" />\n  </svg>\n  <span data-l10n-id=\"zoom_in_label\">Zoom In</span>\n</button>\n","import { Component, ElementRef, Input, ViewChild } from '@angular/core';\n\ninterface ZoomLevel {\n  id: string;\n  dataL10nId: string;\n  dataL10nArgs: string | undefined;\n  value: string;\n  displayValue: string;\n}\n@Component({\n  selector: 'pdf-zoom-dropdown',\n  templateUrl: './pdf-zoom-dropdown.component.html',\n  styleUrls: ['./pdf-zoom-dropdown.component.css'],\n})\nexport class PdfZoomDropdownComponent {\n  public _zoomLevels: Array<ZoomLevel> = [];\n  // ['auto', 'page-actual', 'page-fit', 'page-width', 0.5, 0.75, 1, 1.25, 1.5, 2, 3, 4];\n\n  @Input()\n  public set zoomLevels(levels: Array<string | number>) {\n    this._zoomLevels = levels.map((l) => this.valueToZoomLevel(l));\n  }\n\n  @ViewChild('sizeSelector') sizeSelector: any;\n\n  constructor(private element: ElementRef) {}\n\n  private valueToZoomLevel(value: string | number): ZoomLevel {\n    if (value.toString().endsWith('%')) {\n      value = value.toString().replace('%', '');\n      value = Number(value) / 100;\n    }\n    const numericalValue = Number(value);\n    if (!numericalValue) {\n      const v = String(value);\n      return {\n        id: this.snakeToCamel(value + 'Option'),\n        value: v,\n        dataL10nId: 'page_scale_' + v.replace('page-', ''),\n        dataL10nArgs: undefined,\n        displayValue: v,\n      };\n    }\n    const percentage = Math.round(numericalValue * 100);\n    return {\n      id: `scale_${percentage}`,\n      value: String(numericalValue),\n      dataL10nId: 'page_scale_percent',\n      dataL10nArgs: `{ \"scale\": ${percentage} }`,\n      displayValue: String(percentage) + '%',\n    };\n  }\n\n  private snakeToCamel(str: string) {\n    // idea found here: https://hisk.io/javascript-snake-to-camel/\n    return str.replace(/([-_][a-z])/g, (group) => group.toUpperCase().replace('-', '').replace('_', ''));\n  }\n}\n","<span id=\"scaleSelectContainer\">\n  <select\n    id=\"scaleSelect\"\n    title=\"Zoom\"\n    data-l10n-id=\"zoom\"\n    #sizeSelector\n  >\n    <option *ngFor=\"let level of _zoomLevels\"\n      [id]=\"level.id\"\n      [attr.value]=\"level.value\"\n      [attr.data-l10n-id]=\"level.dataL10nId\"\n      [attr.data-l10n-args]=\"level.dataL10nArgs\">\n      {{level.displayValue}}\n    </option>\n    <option\n    id=\"customScaleOption\"\n    title=\"\"\n    value=\"custom\"\n    disabled=\"disabled\"\n    hidden=\"true\"\n  ></option>\n\n  </select>\n</span>\n","import { Component, Input } from '@angular/core';\n\n@Component({\n  selector: 'pdf-zoom-toolbar',\n  templateUrl: './pdf-zoom-toolbar.component.html',\n  styleUrls: ['./pdf-zoom-toolbar.component.css'],\n})\nexport class PdfZoomToolbarComponent {\n  @Input()\n  public showZoomButtons = true;\n\n  @Input()\n  public zoomLevels = ['auto', 'page-actual', 'page-fit', 'page-width', 0.5, 0.75, 1, 1.25, 1.5, 2, 3, 4];\n}\n","<div [class.invisible]=\"!showZoomButtons\" id=\"toolbarViewerMiddle\">\n  <pdf-zoom-out></pdf-zoom-out>\n  <pdf-zoom-in></pdf-zoom-in>\n  <pdf-zoom-dropdown\n      style=\"width: unset; max-width: unset;padding-top:3px\" [zoomLevels]=\"zoomLevels\">\n  </pdf-zoom-dropdown>\n</div>\n","import { Component, ElementRef, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\n\n@Component({\n  selector: 'pdf-toolbar',\n  templateUrl: './pdf-toolbar.component.html',\n  styleUrls: ['./pdf-toolbar.component.css'],\n})\nexport class PdfToolbarComponent {\n  @Input()\n  public customToolbar: TemplateRef<any> | undefined;\n\n  @Input()\n  public mobileFriendlyZoomScale = 1;\n\n  @Input()\n  public primaryMenuVisible = true;\n\n  @Input()\n  public showBookmarkButton = true;\n\n  @Input()\n  public showDownloadButton = true;\n\n  @Input()\n  public showFindButton: boolean | undefined = undefined;\n\n  @Input()\n  public showHandToolButton = true;\n\n  @Input()\n  public showOpenFileButton = true;\n\n  @Input()\n  public showPrintButton = true;\n\n  @Input()\n  public showPagingButtons = true;\n\n  @Input()\n  public showPresentationModeButton = false;\n\n  @Input()\n  public showRotateButton = true;\n\n  @Input()\n  public showSecondaryToolbarButton = true;\n\n  @Input()\n  public showSidebarButton = true;\n\n  @Input()\n  public showZoomButtons = true;\n\n  @Input()\n  public textLayer: boolean | undefined = undefined;\n\n  @Input()\n  public toolbarMarginTop = '0px';\n\n  @Input()\n  public toolbarWidth = '100%';\n\n  @Input()\n  public zoomLevels = ['auto', 'page-actual', 'page-fit', 'page-width', 0.5, 0.75, 1, 1.25, 1.5, 2, 3, 4];\n\n  @Output()\n  public onToolbarLoaded = new EventEmitter<HTMLElement>();\n\n  constructor(elementRef: ElementRef) {\n    this.onToolbarLoaded.emit(elementRef.nativeElement.getElementsByClassName('toolbar')[0] as HTMLElement);\n  }\n}\n","<div class=\"toolbar\" [class.invisible]=\"!primaryMenuVisible\"\n  [style.transform]=\"'scale(' + mobileFriendlyZoomScale + ')'\" [style.transformOrigin]=\"'left center'\"\n  [style.width]=\"toolbarWidth\" [style.marginTop]=\"toolbarMarginTop\">\n  <div id=\"toolbarContainer\">\n    <ng-content *ngTemplateOutlet=\"customToolbar ? customToolbar : defaultToolbar\"></ng-content>\n    <div id=\"loadingBar\">\n      <div class=\"progress\">\n        <div class=\"glimmer\"></div>\n      </div>\n    </div>\n  </div>\n</div>\n\n<ng-template #defaultToolbar>\n  <div id=\"toolbarViewer\">\n    <div id=\"toolbarViewerLeft\">\n      <pdf-toggle-sidebar [showSidebarButton]=\"showSidebarButton\"></pdf-toggle-sidebar>\n      <pdf-find-button [showFindButton]=\"showFindButton\" [textLayer]=\"textLayer\"></pdf-find-button>\n      <pdf-paging-area [showPagingButtons]=\"showPagingButtons\"></pdf-paging-area>\n    </div>\n    <pdf-zoom-toolbar [showZoomButtons]=\"showZoomButtons\" [zoomLevels]=\"zoomLevels\"></pdf-zoom-toolbar>\n    <div id=\"toolbarViewerRight\">\n      <div id=\"editorModeButtons\" class=\"splitToolbarButton hidden\" role=\"radiogroup\">\n        <button id=\"editorNone\" class=\"toolbarButton\" title=\"Disable Annotation Editing\" role=\"radio\"\n          aria-checked=\"false\" data-l10n-id=\"editor_none\">\n          <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\">\n            <path fill=\"currentColor\" d=\"M12.07 5L9.24 7.83L19 17.59L17.58 19L7.82 9.25L5 12.07V5Z\" />\n          </svg>\n          <span data-l10n-id=\"editor_none_label\">Disable Editing</span>\n        </button>\n        <button id=\"editorFreeText\" class=\"toolbarButton\" title=\"Add FreeText Annotation\" role=\"radio\"\n          aria-checked=\"false\" data-l10n-id=\"editor_free_text\">\n          <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\">\n            <path fill=\"currentColor\"\n              d=\"M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z\" />\n          </svg>\n          <span data-l10n-id=\"editor_free_text_label\">FreeText Annotation</span>\n        </button>\n        <button id=\"editorInk\" class=\"toolbarButton\" title=\"Add Ink Annotation\" role=\"radio\" aria-checked=\"false\"\n          tabindex=\"33\" data-l10n-id=\"editor_ink\">\n          <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\"\n            xmlns:xlink=\"http://www.w3.org/1999/xlink\" enable-background=\"new 0 0 16 16\">\n            <g>\n              <g transform=\"scale(0.03125)\">\n                <path\n                  d=\"m455.1,137.9l-32.4,32.4-81-81.1 32.4-32.4c6.6-6.6 18.1-6.6 24.7,0l56.3,56.4c6.8,6.8 6.8,17.9 0,24.7zm-270.7,271l-81-81.1 209.4-209.7 81,81.1-209.4,209.7zm-99.7-42l60.6,60.7-84.4,23.8 23.8-84.5zm399.3-282.6l-56.3-56.4c-11-11-50.7-31.8-82.4,0l-285.3,285.5c-2.5,2.5-4.3,5.5-5.2,8.9l-43,153.1c-2,7.1 0.1,14.7 5.2,20 5.2,5.3 15.6,6.2 20,5.2l153-43.1c3.4-0.9 6.4-2.7 8.9-5.2l285.1-285.5c22.7-22.7 22.7-59.7 0-82.5z\" />\n              </g>\n            </g>\n          </svg>\n          <span data-l10n-id=\"editor_ink_label\">Ink Annotation</span>\n        </button>\n      </div>\n\n      <pdf-hand-tool [showHandToolButton]=\"showHandToolButton\"></pdf-hand-tool>\n      <pdf-select-tool [showSelectToolButton]=\"showHandToolButton\"></pdf-select-tool>\n      <pdf-rotate-page [showRotateButton]=\"showRotateButton\" [clockwise]=\"true\" [counterClockwise]=\"false\">\n      </pdf-rotate-page>\n      <pdf-rotate-page [showRotateButton]=\"showRotateButton\" [clockwise]=\"false\" [counterClockwise]=\"true\">\n      </pdf-rotate-page>\n      <pdf-presentation-mode [showPresentationModeButton]=\"showPresentationModeButton\"></pdf-presentation-mode>\n      <pdf-open-file [showOpenFileButton]=\"showOpenFileButton\"></pdf-open-file>\n      <pdf-print [showPrintButton]=\"showPrintButton\"></pdf-print>\n      <pdf-download [showDownloadButton]=\"showDownloadButton\"></pdf-download>\n      <pdf-bookmark [showBookmarkButton]=\"showBookmarkButton\"></pdf-bookmark>\n      <pdf-toggle-secondary-toolbar [showSecondaryToolbarButton]=\"showSecondaryToolbarButton\">\n      </pdf-toggle-secondary-toolbar>\n    </div>\n  </div>\n</ng-template>\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { IPDFViewerApplication } from './options/pdf-viewer-application';\n\n@Pipe({\n  name: 'translate'\n})\nexport class TranslatePipe implements PipeTransform {\n\n  transform(key: string, fallback: string): Promise<string> {\n    return this.translate(key, fallback);\n  }\n\n  public async translate(key: string, englishText: string): Promise<string> {\n    const PDFViewerApplication: IPDFViewerApplication = (window as any).PDFViewerApplication;\n\n    return PDFViewerApplication.l10n.get(key, null, englishText);\n  }\n}\n","// tslint:disable:max-line-length\nimport { CommonModule, Location } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { DynamicCssComponent } from './dynamic-css/dynamic-css.component';\nimport { PdfDocumentPropertiesDialogComponent } from './pdf-dialog/pdf-document-properties-dialog/pdf-document-properties-dialog.component';\nimport { PdfErrorMessageComponent } from './pdf-dialog/pdf-error-message/pdf-error-message.component';\nimport { PdfPasswordDialogComponent } from './pdf-dialog/pdf-password-dialog/pdf-password-dialog.component';\nimport { PdfPreparePrintingDialogComponent } from './pdf-dialog/pdf-prepare-printing-dialog/pdf-prepare-printing-dialog.component';\nimport { PdfDummyComponentsComponent } from './pdf-dummy-components/pdf-dummy-components.component';\nimport { PDFNotificationService } from './pdf-notification-service';\nimport { PdfSecondaryToolbarComponent } from './secondary-toolbar/pdf-secondary-toolbar/pdf-secondary-toolbar.component';\nimport { PdfSidebarContentComponent } from './sidebar/pdf-sidebar/pdf-sidebar-content/pdf-sidebar-content.component';\nimport { PdfSidebarToolbarComponent } from './sidebar/pdf-sidebar/pdf-sidebar-toolbar/pdf-sidebar-toolbar.component';\nimport { PdfSidebarComponent } from './sidebar/pdf-sidebar/pdf-sidebar.component';\nimport { PdfAcroformDarkThemeComponent } from './theme/acroform-dark-theme/pdf-acroform-dark-theme.component';\nimport { PdfAcroformDefaultThemeComponent } from './theme/acroform-default-theme/pdf-acroform-default-theme.component';\nimport { PdfDarkThemeComponent } from './theme/pdf-dark-theme/pdf-dark-theme.component';\nimport { PdfLightThemeComponent } from './theme/pdf-light-theme/pdf-light-theme.component';\nimport { PdfOriginalComponent } from './theme/pdf-original-theme/pdf-original.component';\nimport { PdfBookmarkComponent } from './toolbar/pdf-bookmark/pdf-bookmark.component';\nimport { PdfContextMenuComponent } from './toolbar/pdf-context-menu/pdf-context-menu.component';\nimport { PdfDownloadComponent } from './toolbar/pdf-download/pdf-download.component';\nimport { PdfFindButtonComponent } from './toolbar/pdf-find-button/pdf-find-button.component';\nimport { PdfFindCurrentPageOnlyComponent } from './toolbar/pdf-findbar/pdf-find-current-page-only/pdf-find-current-page-only.component';\nimport { PdfFindInputAreaComponent } from './toolbar/pdf-findbar/pdf-find-input-area/pdf-find-input-area.component';\nimport { PdfFindNextComponent } from './toolbar/pdf-findbar/pdf-find-next/pdf-find-next.component';\nimport { PdfFindPreviousComponent } from './toolbar/pdf-findbar/pdf-find-previous/pdf-find-previous.component';\nimport { PdfFindRangeComponent } from './toolbar/pdf-findbar/pdf-find-range/pdf-find-range.component';\nimport { PdfFindbarMessageContainerComponent } from './toolbar/pdf-findbar/pdf-findbar-message-container/pdf-findbar-message-container.component';\nimport { PdfFindHighlightAllComponent } from './toolbar/pdf-findbar/pdf-findbar-options-one-container/pdf-find-highlight-all/pdf-find-highlight-all.component';\nimport { PdfFindMatchCaseComponent } from './toolbar/pdf-findbar/pdf-findbar-options-one-container/pdf-find-match-case/pdf-find-match-case.component';\nimport { PdfFindbarOptionsOneContainerComponent } from './toolbar/pdf-findbar/pdf-findbar-options-one-container/pdf-findbar-options-one-container.component';\nimport { PdfFindFuzzilyComponent } from './toolbar/pdf-findbar/pdf-findbar-options-three-container/pdf-find-fuzzily/pdf-find-fuzzily.component';\nimport { PdfFindIgnoreAccentsComponent } from './toolbar/pdf-findbar/pdf-findbar-options-three-container/pdf-find-ignore-accents/pdf-find-ignore-accents.component';\nimport { PdfFindResultsCountComponent } from './toolbar/pdf-findbar/pdf-findbar-options-three-container/pdf-find-results-count/pdf-find-results-count.component';\nimport { PdfFindbarOptionsThreeContainerComponent } from './toolbar/pdf-findbar/pdf-findbar-options-three-container/pdf-findbar-options-three-container.component';\nimport { PdfFindMultipleSearchTextsComponent } from './toolbar/pdf-findbar/pdf-findbar-options-two-container/pdf-find-entire-phrase/pdf-find-entire-phrase.component';\nimport { PdfFindEntireWordComponent } from './toolbar/pdf-findbar/pdf-findbar-options-two-container/pdf-find-entire-word/pdf-find-entire-word.component';\nimport { PdfFindbarOptionsTwoContainerComponent } from './toolbar/pdf-findbar/pdf-findbar-options-two-container/pdf-findbar-options-two-container.component';\nimport { PdfFindbarComponent } from './toolbar/pdf-findbar/pdf-findbar.component';\nimport { PdfSearchInputFieldComponent } from './toolbar/pdf-findbar/pdf-search-input-field/pdf-search-input-field.component';\nimport { PdfHandToolComponent } from './toolbar/pdf-hand-tool/pdf-hand-tool.component';\nimport { PdfOpenFileComponent } from './toolbar/pdf-open-file/pdf-open-file.component';\nimport { PdfFirstPageComponent } from './toolbar/pdf-paging-area/pdf-first-page/pdf-first-page.component';\nimport { PdfLastPageComponent } from './toolbar/pdf-paging-area/pdf-last-page/pdf-last-page.component';\nimport { PdfNextPageComponent } from './toolbar/pdf-paging-area/pdf-next-page/pdf-next-page.component';\nimport { PdfPageNumberComponent } from './toolbar/pdf-paging-area/pdf-page-number/pdf-page-number.component';\nimport { PdfPagingAreaComponent } from './toolbar/pdf-paging-area/pdf-paging-area.component';\nimport { PdfPreviousPageComponent } from './toolbar/pdf-paging-area/pdf-previous-page/pdf-previous-page.component';\nimport { PdfPresentationModeComponent } from './toolbar/pdf-presentation-mode/pdf-presentation-mode.component';\nimport { PdfPrintComponent } from './toolbar/pdf-print/pdf-print.component';\nimport { PdfRotatePageComponent } from './toolbar/pdf-rotate-page/pdf-rotate-page.component';\nimport { PdfSelectToolComponent } from './toolbar/pdf-select-tool/pdf-select-tool.component';\nimport { PdfToggleSecondaryToolbarComponent } from './toolbar/pdf-toggle-secondary-toolbar/pdf-toggle-secondary-toolbar.component';\nimport { PdfToggleSidebarComponent } from './toolbar/pdf-toggle-sidebar/pdf-toggle-sidebar.component';\nimport { PdfToolbarComponent } from './toolbar/pdf-toolbar/pdf-toolbar.component';\nimport { PdfZoomDropdownComponent } from './toolbar/pdf-zoom-toolbar/pdf-zoom-dropdown/pdf-zoom-dropdown.component';\nimport { PdfZoomInComponent } from './toolbar/pdf-zoom-toolbar/pdf-zoom-in/pdf-zoom-in.component';\nimport { PdfZoomOutComponent } from './toolbar/pdf-zoom-toolbar/pdf-zoom-out/pdf-zoom-out.component';\nimport { PdfZoomToolbarComponent } from './toolbar/pdf-zoom-toolbar/pdf-zoom-toolbar.component';\nimport { TranslatePipe } from './translate.pipe';\n\n@NgModule({\n  imports: [CommonModule, FormsModule],\n  declarations: [\n    DynamicCssComponent,\n    PdfZoomDropdownComponent,\n    PdfContextMenuComponent,\n    PdfPresentationModeComponent,\n    PdfOpenFileComponent,\n    PdfPrintComponent,\n    PdfDownloadComponent,\n    PdfBookmarkComponent,\n    PdfZoomToolbarComponent,\n    PdfPagingAreaComponent,\n    PdfFindbarComponent,\n    PdfSidebarComponent,\n    PdfHandToolComponent,\n    PdfSelectToolComponent,\n    PdfSecondaryToolbarComponent,\n    PdfSearchInputFieldComponent,\n    PdfFindPreviousComponent,\n    PdfFindNextComponent,\n    PdfFindInputAreaComponent,\n    PdfFindbarOptionsTwoContainerComponent,\n    PdfFindbarOptionsOneContainerComponent,\n    PdfFindMatchCaseComponent,\n    PdfFindHighlightAllComponent,\n    PdfFindEntireWordComponent,\n    PdfFindFuzzilyComponent,\n    PdfFindMultipleSearchTextsComponent,\n    PdfFindIgnoreAccentsComponent,\n    PdfFindbarOptionsThreeContainerComponent,\n    PdfFindResultsCountComponent,\n    PdfFindbarMessageContainerComponent,\n    PdfFindRangeComponent,\n    PdfFindCurrentPageOnlyComponent,\n    PdfToolbarComponent,\n    PdfFindButtonComponent,\n    PdfToggleSidebarComponent,\n    PdfToggleSecondaryToolbarComponent,\n    PdfLastPageComponent,\n    PdfFirstPageComponent,\n    PdfNextPageComponent,\n    PdfPreviousPageComponent,\n    PdfPageNumberComponent,\n    PdfRotatePageComponent,\n    PdfZoomInComponent,\n    PdfZoomOutComponent,\n    PdfDummyComponentsComponent,\n    PdfSidebarContentComponent,\n    PdfSidebarToolbarComponent,\n    PdfOriginalComponent,\n    PdfDarkThemeComponent,\n    PdfLightThemeComponent,\n    TranslatePipe,\n    PdfAcroformDefaultThemeComponent,\n    PdfAcroformDarkThemeComponent,\n    PdfDocumentPropertiesDialogComponent,\n    PdfPasswordDialogComponent,\n    PdfPreparePrintingDialogComponent,\n    PdfErrorMessageComponent,\n  ],\n  providers: [PDFNotificationService, Location],\n  exports: [\n    PdfZoomDropdownComponent,\n    PdfContextMenuComponent,\n    PdfPresentationModeComponent,\n    PdfOpenFileComponent,\n    PdfPrintComponent,\n    PdfDownloadComponent,\n    PdfBookmarkComponent,\n    PdfZoomToolbarComponent,\n    PdfPagingAreaComponent,\n    PdfFindbarComponent,\n    PdfSidebarComponent,\n    PdfSidebarContentComponent,\n    PdfSidebarToolbarComponent,\n    PdfSecondaryToolbarComponent,\n    PdfSearchInputFieldComponent,\n    PdfFindPreviousComponent,\n    PdfFindNextComponent,\n    PdfFindInputAreaComponent,\n    PdfFindbarOptionsTwoContainerComponent,\n    PdfFindbarOptionsOneContainerComponent,\n    PdfFindMatchCaseComponent,\n    PdfFindHighlightAllComponent,\n    PdfFindEntireWordComponent,\n    PdfFindMultipleSearchTextsComponent,\n    PdfFindIgnoreAccentsComponent,\n    PdfFindbarOptionsThreeContainerComponent,\n    PdfFindResultsCountComponent,\n    PdfFindbarMessageContainerComponent,\n    PdfFindRangeComponent,\n    PdfFindCurrentPageOnlyComponent,\n    PdfHandToolComponent,\n    PdfRotatePageComponent,\n    PdfSelectToolComponent,\n    PdfToolbarComponent,\n    PdfFindButtonComponent,\n    PdfToggleSidebarComponent,\n    PdfToggleSecondaryToolbarComponent,\n    PdfLastPageComponent,\n    PdfFirstPageComponent,\n    PdfNextPageComponent,\n    PdfPreviousPageComponent,\n    PdfPageNumberComponent,\n    PdfZoomInComponent,\n    PdfZoomOutComponent,\n    PdfOriginalComponent,\n    PdfDarkThemeComponent,\n    PdfLightThemeComponent,\n    TranslatePipe,\n    DynamicCssComponent,\n    PdfDummyComponentsComponent,\n    PdfAcroformDefaultThemeComponent,\n    PdfAcroformDarkThemeComponent,\n    PdfDocumentPropertiesDialogComponent,\n    PdfPasswordDialogComponent,\n    PdfPreparePrintingDialogComponent,\n    PdfErrorMessageComponent,\n  ],\n})\nexport class NgxExtendedPdfViewerCommonModule {}\n","export interface FindOptions {\n  highlightAll?: boolean;\n  matchCase?: boolean;\n  wholeWords?: boolean;\n  ignoreAccents?: boolean;\n  findMultipleSearchTexts?: boolean;\n  fuzzySearch?: boolean;\n}\n\nexport interface PDFExportScaleFactor {\n  width?: number;\n  height?: number;\n  scale?: number;\n}\n\nexport class NgxExtendedPdfViewerService {\n  public findMultiple(text: Array<string>, options: FindOptions = {}): boolean {\n    return false;\n  }\n\n  public find(text: string, options: FindOptions = {}): boolean {\n    return false;\n  }\n\n  public findNext(): boolean {\n    return false;\n  }\n\n  public findPrevious(): boolean {\n    return false;\n  }\n\n  public print(printRange?: any) {\n    return false;\n  }\n\n  public removePrintRange() {}\n\n  public setPrintRange(printRange: any) {}\n\n  public filteredPageCount(pageCount: number, range: any): number {\n    return 0;\n  }\n\n  public isInPDFPrintRange(pageIndex: number, printRange: any) {}\n\n  public async getPageAsText(pageNumber: number): Promise<string> {\n    return '';\n  }\n\n  public async getCurrentDocumentAsBlob(): Promise<Blob> {\n    return new Blob([], { type: 'application/pdf' });\n  }\n\n  public async getFormData(): Promise<Array<Object>> {\n    return [];\n  }\n  public addPageToRenderQueue(pageIndex: number): boolean {\n    return false;\n  }\n\n  public isRenderQueueEmpty(): boolean {\n    return true;\n  }\n\n  public hasPageBeenRendered(pageIndex: number): boolean {\n    return false;\n  }\n\n  public numberOfPages(): number {\n    return 0;\n  }\n\n  public getCurrentlyVisiblePageNumbers(): Array<number> {\n    return [];\n  }\n}\n","import { CommonModule } from '@angular/common';\n// tslint:disable:max-line-length\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { NgxExtendedPdfViewerCommonModule } from './ngx-extended-pdf-viewer-common.module';\nimport { NgxExtendedPdfViewerServerComponent } from './ngx-extended-pdf-viewer-server.component';\nimport { NgxExtendedPdfViewerService } from './ngx-extended-pdf-viewer-server.service';\nimport { PdfDocumentPropertiesDialogComponent } from './pdf-dialog/pdf-document-properties-dialog/pdf-document-properties-dialog.component';\nimport { PdfErrorMessageComponent } from './pdf-dialog/pdf-error-message/pdf-error-message.component';\nimport { PdfPasswordDialogComponent } from './pdf-dialog/pdf-password-dialog/pdf-password-dialog.component';\nimport { PdfPreparePrintingDialogComponent } from './pdf-dialog/pdf-prepare-printing-dialog/pdf-prepare-printing-dialog.component';\nimport { PdfSecondaryToolbarComponent } from './secondary-toolbar/pdf-secondary-toolbar/pdf-secondary-toolbar.component';\nimport { PdfSidebarContentComponent } from './sidebar/pdf-sidebar/pdf-sidebar-content/pdf-sidebar-content.component';\nimport { PdfSidebarToolbarComponent } from './sidebar/pdf-sidebar/pdf-sidebar-toolbar/pdf-sidebar-toolbar.component';\nimport { PdfSidebarComponent } from './sidebar/pdf-sidebar/pdf-sidebar.component';\nimport { PdfAcroformDarkThemeComponent } from './theme/acroform-dark-theme/pdf-acroform-dark-theme.component';\nimport { PdfAcroformDefaultThemeComponent } from './theme/acroform-default-theme/pdf-acroform-default-theme.component';\nimport { PdfBookmarkComponent } from './toolbar/pdf-bookmark/pdf-bookmark.component';\nimport { PdfContextMenuComponent } from './toolbar/pdf-context-menu/pdf-context-menu.component';\nimport { PdfDownloadComponent } from './toolbar/pdf-download/pdf-download.component';\nimport { PdfFindButtonComponent } from './toolbar/pdf-find-button/pdf-find-button.component';\nimport { PdfFindInputAreaComponent } from './toolbar/pdf-findbar/pdf-find-input-area/pdf-find-input-area.component';\nimport { PdfFindNextComponent } from './toolbar/pdf-findbar/pdf-find-next/pdf-find-next.component';\nimport { PdfFindPreviousComponent } from './toolbar/pdf-findbar/pdf-find-previous/pdf-find-previous.component';\nimport { PdfFindbarMessageContainerComponent } from './toolbar/pdf-findbar/pdf-findbar-message-container/pdf-findbar-message-container.component';\nimport { PdfFindHighlightAllComponent } from './toolbar/pdf-findbar/pdf-findbar-options-one-container/pdf-find-highlight-all/pdf-find-highlight-all.component';\nimport { PdfFindMatchCaseComponent } from './toolbar/pdf-findbar/pdf-findbar-options-one-container/pdf-find-match-case/pdf-find-match-case.component';\nimport { PdfFindbarOptionsOneContainerComponent } from './toolbar/pdf-findbar/pdf-findbar-options-one-container/pdf-findbar-options-one-container.component';\nimport { PdfFindIgnoreAccentsComponent } from './toolbar/pdf-findbar/pdf-findbar-options-three-container/pdf-find-ignore-accents/pdf-find-ignore-accents.component';\nimport { PdfFindResultsCountComponent } from './toolbar/pdf-findbar/pdf-findbar-options-three-container/pdf-find-results-count/pdf-find-results-count.component';\nimport { PdfFindbarOptionsThreeContainerComponent } from './toolbar/pdf-findbar/pdf-findbar-options-three-container/pdf-findbar-options-three-container.component';\nimport { PdfFindMultipleSearchTextsComponent } from './toolbar/pdf-findbar/pdf-findbar-options-two-container/pdf-find-entire-phrase/pdf-find-entire-phrase.component';\nimport { PdfFindEntireWordComponent } from './toolbar/pdf-findbar/pdf-findbar-options-two-container/pdf-find-entire-word/pdf-find-entire-word.component';\nimport { PdfFindbarOptionsTwoContainerComponent } from './toolbar/pdf-findbar/pdf-findbar-options-two-container/pdf-findbar-options-two-container.component';\nimport { PdfFindbarComponent } from './toolbar/pdf-findbar/pdf-findbar.component';\nimport { PdfSearchInputFieldComponent } from './toolbar/pdf-findbar/pdf-search-input-field/pdf-search-input-field.component';\nimport { PdfHandToolComponent } from './toolbar/pdf-hand-tool/pdf-hand-tool.component';\nimport { PdfOpenFileComponent } from './toolbar/pdf-open-file/pdf-open-file.component';\nimport { PdfFirstPageComponent } from './toolbar/pdf-paging-area/pdf-first-page/pdf-first-page.component';\nimport { PdfLastPageComponent } from './toolbar/pdf-paging-area/pdf-last-page/pdf-last-page.component';\nimport { PdfNextPageComponent } from './toolbar/pdf-paging-area/pdf-next-page/pdf-next-page.component';\nimport { PdfPageNumberComponent } from './toolbar/pdf-paging-area/pdf-page-number/pdf-page-number.component';\nimport { PdfPagingAreaComponent } from './toolbar/pdf-paging-area/pdf-paging-area.component';\nimport { PdfPreviousPageComponent } from './toolbar/pdf-paging-area/pdf-previous-page/pdf-previous-page.component';\nimport { PdfPresentationModeComponent } from './toolbar/pdf-presentation-mode/pdf-presentation-mode.component';\nimport { PdfPrintComponent } from './toolbar/pdf-print/pdf-print.component';\nimport { PdfRotatePageComponent } from './toolbar/pdf-rotate-page/pdf-rotate-page.component';\nimport { PdfSelectToolComponent } from './toolbar/pdf-select-tool/pdf-select-tool.component';\nimport { PdfToggleSecondaryToolbarComponent } from './toolbar/pdf-toggle-secondary-toolbar/pdf-toggle-secondary-toolbar.component';\nimport { PdfToggleSidebarComponent } from './toolbar/pdf-toggle-sidebar/pdf-toggle-sidebar.component';\nimport { PdfToolbarComponent } from './toolbar/pdf-toolbar/pdf-toolbar.component';\nimport { PdfZoomDropdownComponent } from './toolbar/pdf-zoom-toolbar/pdf-zoom-dropdown/pdf-zoom-dropdown.component';\nimport { PdfZoomInComponent } from './toolbar/pdf-zoom-toolbar/pdf-zoom-in/pdf-zoom-in.component';\nimport { PdfZoomOutComponent } from './toolbar/pdf-zoom-toolbar/pdf-zoom-out/pdf-zoom-out.component';\nimport { PdfZoomToolbarComponent } from './toolbar/pdf-zoom-toolbar/pdf-zoom-toolbar.component';\n\n@NgModule({\n  imports: [NgxExtendedPdfViewerCommonModule, CommonModule, FormsModule],\n  declarations: [NgxExtendedPdfViewerServerComponent],\n  providers: [NgxExtendedPdfViewerService],\n  exports: [\n    PdfZoomDropdownComponent,\n    PdfContextMenuComponent,\n    PdfPresentationModeComponent,\n    PdfOpenFileComponent,\n    PdfPrintComponent,\n    PdfDownloadComponent,\n    PdfBookmarkComponent,\n    PdfZoomToolbarComponent,\n    PdfPagingAreaComponent,\n    PdfFindbarComponent,\n    PdfSidebarComponent,\n    PdfSidebarContentComponent,\n    PdfSidebarToolbarComponent,\n    PdfSecondaryToolbarComponent,\n    PdfSearchInputFieldComponent,\n    PdfFindPreviousComponent,\n    PdfFindNextComponent,\n    PdfFindInputAreaComponent,\n    PdfFindbarOptionsTwoContainerComponent,\n    PdfFindbarOptionsOneContainerComponent,\n    PdfFindMatchCaseComponent,\n    PdfFindHighlightAllComponent,\n    PdfFindEntireWordComponent,\n    PdfFindMultipleSearchTextsComponent,\n    PdfFindIgnoreAccentsComponent,\n    PdfFindbarOptionsThreeContainerComponent,\n    PdfFindResultsCountComponent,\n    PdfFindbarMessageContainerComponent,\n    PdfHandToolComponent,\n    PdfRotatePageComponent,\n    PdfSelectToolComponent,\n    PdfToolbarComponent,\n    PdfFindButtonComponent,\n    PdfToggleSidebarComponent,\n    PdfToggleSecondaryToolbarComponent,\n    PdfLastPageComponent,\n    PdfFirstPageComponent,\n    PdfNextPageComponent,\n    PdfPreviousPageComponent,\n    PdfPageNumberComponent,\n    PdfZoomInComponent,\n    PdfZoomOutComponent,\n    NgxExtendedPdfViewerServerComponent,\n    PdfAcroformDefaultThemeComponent,\n    PdfAcroformDarkThemeComponent,\n    PdfDocumentPropertiesDialogComponent,\n    PdfPasswordDialogComponent,\n    PdfPreparePrintingDialogComponent,\n    PdfErrorMessageComponent,\n  ],\n})\nexport class NgxExtendedPdfViewerServerModule {}\n","import { OptionalContentConfig } from './optional_content_config';\n\nexport enum ScrollModeType {\n  vertical = 0,\n  horizontal = 1,\n  wrapped = 2,\n  page = 3,\n}\n\nexport enum SpreadModeType {\n  UNKNOWN = -1,\n  NONE = 0, // Default value.\n  ODD = 1,\n  EVEN = 2,\n}\n\nexport type PageViewModeType = 'single' | 'book' | 'multiple' | 'infinite-scroll';\n\nexport interface ScrollModeChangedEvent {\n  mode: ScrollModeType;\n}\nexport interface IPDFRenderingQueue {\n  getHighestPriority(visiblePage: Array<any>, pages: Array<any>, scrolledDown: boolean, preRenderExtra: boolean);\n}\nexport interface IPDFViewer {\n  currentPageLabel: string | undefined;\n  currentPageNumber: number;\n  currentScaleValue: string | number;\n  pagesRotation: 0 | 90 | 180 | 270;\n  removePageBorders: boolean;\n  renderingQueue: IPDFRenderingQueue;\n  scrollMode: ScrollModeType;\n  spreadMode: 0 | 1 | 2;\n  _pages: Array<any>;\n  addPageToRenderQueue(pageIndex: number): boolean;\n  _getVisiblePages(): Array<any>;\n  optionalContentConfigPromise: Promise<OptionalContentConfig> | null;\n  _scrollPageIntoView({ pageDiv: HTMLElement, pageSpot: any, pageNumber: number }): void;\n}\n","import { NgZone } from '@angular/core';\nimport { IPDFViewerApplicationOptions } from './options/pdf-viewer-application-options';\n\nexport class PinchOnMobileSupport {\n  private viewer: any;\n  private startX = 0;\n  private startY = 0;\n  private initialPinchDistance = 0;\n  private pinchScale = 1;\n\n  private boundOnViewerTouchStart: any;\n  private boundOnViewerTouchMove: any;\n  private boundOnViewerTouchEnd: any;\n\n  constructor(private _zone: NgZone) {\n    this.boundOnViewerTouchStart = this.onViewerTouchStart.bind(this);\n    this.boundOnViewerTouchMove = this.onViewerTouchMove.bind(this);\n    this.boundOnViewerTouchEnd = this.onViewerTouchEnd.bind(this);\n\n    this.initializePinchZoom();\n  }\n\n  private isMobile() {\n    return ('ontouchstart' in window) || (navigator.maxTouchPoints > 0) || ((<any>navigator).msMaxTouchPoints > 0);\n  }\n\n  private onViewerTouchStart(event: TouchEvent): void {\n    this.initialPinchDistance = 0;\n\n    if (event.touches.length === 2) {\n      const container = document.getElementById('viewerContainer') as HTMLDivElement;\n      const rect = container.getBoundingClientRect();\n      if (event.touches[0].pageX >= rect.left && event.touches[0].pageX <= rect.right) {\n        if (event.touches[0].pageY >= (rect.top + window.scrollY) && event.touches[0].pageY <= (rect.bottom + window.scrollY)) {\n          if (event.touches[1].pageX >= rect.left && event.touches[1].pageX <= rect.right) {\n            if (event.touches[1].pageY >= (rect.top + window.scrollY) && event.touches[1].pageY <= (rect.bottom + window.scrollY)) {\n              this.startX = (event.touches[0].pageX + event.touches[1].pageX) / 2;\n              this.startY = (event.touches[0].pageY + event.touches[1].pageY) / 2;\n              this.initialPinchDistance = Math.hypot(event.touches[1].pageX - event.touches[0].pageX, event.touches[1].pageY - event.touches[0].pageY);\n\n              if (event.cancelable) {\n                event.preventDefault();\n              }\n              event.stopPropagation();\n            }\n          }\n        }\n      }\n    }\n  }\n\n  private onViewerTouchMove(event: TouchEvent): void {\n    const PDFViewerApplicationOptions: IPDFViewerApplicationOptions = (window as any).PDFViewerApplicationOptions;\n    const PDFViewerApplication: any = (window as any).PDFViewerApplication;\n\n    if (this.initialPinchDistance <= 0 || event.touches.length !== 2) {\n      return;\n    }\n\n    const pinchDistance = Math.hypot(event.touches[1].pageX - event.touches[0].pageX, event.touches[1].pageY - event.touches[0].pageY);\n    const container = document.getElementById('viewerContainer') as HTMLDivElement;\n    const originX = this.startX + container.scrollLeft;\n    const originY = this.startY + container.scrollTop;\n    this.pinchScale = pinchDistance / this.initialPinchDistance;\n    let minZoom = Number(PDFViewerApplicationOptions.get('minZoom'));\n    if (!minZoom) {\n      minZoom = 0.1;\n    }\n\n    const currentZoom = PDFViewerApplication.pdfViewer._currentScale;\n    if (currentZoom * this.pinchScale < minZoom) {\n      this.pinchScale = minZoom / currentZoom;\n    }\n    let maxZoom = Number(PDFViewerApplicationOptions.get('maxZoom'));\n    if (!maxZoom) {\n      maxZoom = 10;\n    }\n    if (currentZoom * this.pinchScale > maxZoom) {\n      this.pinchScale = maxZoom / currentZoom;\n    }\n    this.viewer.style.transform = `scale(${this.pinchScale})`;\n    this.viewer.style.transformOrigin = `${originX}px ${originY}px`;\n\n    if (event.cancelable) {\n      event.preventDefault();\n    }\n    event.stopPropagation();\n  }\n\n  private onViewerTouchEnd(event: TouchEvent): void {\n    const PDFViewerApplication: any = (window as any).PDFViewerApplication;\n    if (this.initialPinchDistance <= 0) {\n      return;\n    }\n    this.viewer.style.transform = `none`;\n    this.viewer.style.transformOrigin = `unset`;\n    PDFViewerApplication.pdfViewer.currentScale *= this.pinchScale;\n    const container = document.getElementById('viewerContainer') as HTMLDivElement;\n    const rect = container.getBoundingClientRect();\n    const dx = this.startX - rect.left;\n    const dy = this.startY - rect.top;\n    container.scrollLeft += dx * (this.pinchScale - 1);\n    container.scrollTop += dy * (this.pinchScale - 1);\n    this.resetPinchZoomParams();\n\n    if (event.cancelable) {\n      event.preventDefault();\n    }\n    event.stopPropagation();\n  }\n\n  private resetPinchZoomParams(): void {\n    this.startX = this.startY = this.initialPinchDistance = 0;\n    this.pinchScale = 1;\n  }\n\n  public initializePinchZoom(): void {\n    if (!this.isMobile()) {\n      return;\n    }\n    this.viewer = document.getElementById('viewer');\n    this._zone.runOutsideAngular(() => {\n      document.addEventListener('touchstart', this.boundOnViewerTouchStart);\n      document.addEventListener('touchmove', this.boundOnViewerTouchMove, { passive: false });\n      document.addEventListener('touchend', this.boundOnViewerTouchEnd);\n    });\n  }\n\n  public destroyPinchZoom(): void {\n    if (!this.isMobile()) {\n      return;\n    }\n    document.removeEventListener('touchstart', this.boundOnViewerTouchStart);\n    document.removeEventListener('touchmove', this.boundOnViewerTouchMove);\n    document.removeEventListener('touchend', this.boundOnViewerTouchEnd);\n  }\n}\n","export class UnitToPx {\n  // cache this.con, el for reused\n  private static con: HTMLDivElement | undefined = undefined;\n  private static el: HTMLDivElement | undefined = undefined;\n\n  // high sample will more accurate?\n  private static readonly sample = 100;\n\n  private static pxPerUnitCache: { [key: string]: number } = {};\n\n  private static initElements(): void {\n    if (!document) {\n      return;\n    }\n    if (!this.con || !this.el) {\n      this.con = document.createElement('div');\n      this.el = document.createElement('div');\n    }\n    this.con.style.position = 'absolute';\n    this.con.style.width = '0';\n    this.con.style.height = '0';\n    this.con.style.visibility = 'hidden';\n    this.con.style.overflow = 'hidden';\n    this.con.appendChild(this.el);\n  }\n\n  private static pxPerUnit(unit: string): number {\n    if (!this.pxPerUnitCache[unit]) {\n      if (!this.con || !this.el) {\n        this.initElements();\n      }\n      if (!this.con || !this.el) {\n        // dummy implementation for server-side rendering\n        return 1;\n      }\n      this.el.style.width = this.sample + unit;\n      document.body.appendChild(this.con);\n      const dimension = this.el.getBoundingClientRect();\n      this.con.parentNode!.removeChild(this.con);\n      this.pxPerUnitCache[unit] = dimension.width / this.sample;\n    }\n    return this.pxPerUnitCache[unit];\n  }\n\n  public static toPx(length): number {\n    const unitRe = /^\\s*([+-]?[\\d\\.]*)\\s*(.*)\\s*$/i; // NOSONAR\n    const match = unitRe.exec(length);\n    if (match != null && match.length > 2) {\n      const bare = match[1] === '';\n      const val = bare ? 1 : Number(match[1]);\n      const unit = match[2];\n      const valid = !isNaN(val) && unit;\n      if (valid) {\n        return unit === 'px' ? val : this.pxPerUnit(unit) * val;\n      }\n    }\n    throw new TypeError('Error parsing length');\n  }\n}\n","import { NgZone } from '@angular/core';\nimport { PagesLoadedEvent } from '../public_api';\nimport { NgxExtendedPdfViewerComponent } from './ngx-extended-pdf-viewer.component';\nimport { IPDFViewerApplicationOptions } from './options/pdf-viewer-application-options';\n\nexport class RelativeCoordsSupport {\n\n  private options: any = {\n    debug: false,\n    moveEnabled: true,\n    disableEventHandling: false,\n  };\n  private viewer: any;\n\n  private startX = 0;\n  private startY = 0;\n  private moveX = 0;\n  private moveY = 0;\n  private startLeft = 0;\n  private startTop = 0;\n\n  private state: \"idle\" | \"move\" | \"zoom\" = \"idle\";\n  private initialPinchDistance = 0;\n  private currentScale = 1.0;\n\n  private pointEnd: any = {\n\n  }\n\n  // private transformScale = -1;\n\n  private boundOnViewerTouchStart: any;\n  private boundOnViewerTouchMove: any;\n  private boundOnViewerTouchEnd: any;\n\n  private boundOnViewerMouseDown: any;\n  private boundOnViewerMouseMove: any;\n  private boundOnViewerMouseUp: any;\n  private boundOnViewerWheel: any;\n\n  private debug = {\n    enabled: false,\n    nf: new Intl.NumberFormat('en-US', { style: 'decimal', maximumFractionDigits: 2 }),\n    x: 0,\n    y: 0\n  }\n\n\n  constructor(private _zone: NgZone, private component: NgxExtendedPdfViewerComponent, options: any) {\n    options = options || {};\n    Object.keys(this.options).forEach(attribut => {\n      if (options[attribut] === undefined) options[attribut] = this.options[attribut];\n    });\n    this.options = options;\n\n\n    this.debug.enabled = this.options.debug;\n    if (this.debug.enabled) console.log(\"RelativeCoordsSupport.constructor\");\n    this.boundOnViewerTouchStart = this.onViewerTouchStart.bind(this);\n    this.boundOnViewerTouchMove = this.onViewerTouchMove.bind(this);\n    this.boundOnViewerTouchEnd = this.onViewerTouchEnd.bind(this);\n\n    this.boundOnViewerMouseDown = this.onViewerMouseDown.bind(this);\n    this.boundOnViewerMouseMove = this.onViewerMouseMove.bind(this);\n    this.boundOnViewerMouseUp = this.onViewerMouseUp.bind(this);\n\n    this.boundOnViewerWheel = this.onViewerWheel.bind(this);\n\n    this.initializeRelativeCoords();\n  }\n\n  private isMobile() {\n\n    return (navigator.maxTouchPoints > 0) || ((<any>navigator).msMaxTouchPoints > 0);  // ('ontouchstart' in window) || \n  }\n\n  private onViewerTouchStart(event: TouchEvent): void {\n    if (this.options.disableEventHandling) return;\n\n    this.initialPinchDistance = 0;\n\n    if (event.touches.length === 2) {\n      const container = document.getElementById('viewerContainer') as HTMLDivElement;\n      const rect = container.getBoundingClientRect();\n      if (event.touches[0].pageX >= rect.left && event.touches[0].pageX <= rect.right) {\n        if (event.touches[0].pageY >= (rect.top + window.scrollY) && event.touches[0].pageY <= (rect.bottom + window.scrollY)) {\n          if (event.touches[1].pageX >= rect.left && event.touches[1].pageX <= rect.right) {\n            if (event.touches[1].pageY >= (rect.top + window.scrollY) && event.touches[1].pageY <= (rect.bottom + window.scrollY)) {\n              this.startX = (event.touches[0].pageX + event.touches[1].pageX) / 2;\n              this.startY = (event.touches[0].pageY + event.touches[1].pageY) / 2;\n              this.initialPinchDistance = Math.hypot(event.touches[1].pageX - event.touches[0].pageX, event.touches[1].pageY - event.touches[0].pageY);\n\n              this.startLeft = parseFloat(getComputedStyle(this.viewer).left) || 0;\n              this.startTop = parseFloat(getComputedStyle(this.viewer).top) || 0;\n              this.state = \"zoom\";\n\n              if (event.cancelable) {\n                event.preventDefault();\n              }\n              event.stopPropagation();\n            }\n          }\n        }\n      }\n    }\n\n    if (event.touches.length === 1) {\n      let touch = event.touches[0]\n      if (this.options.moveEnabled && this.isInsideContainer([touch]) && this.state == \"idle\") {\n        const viewerContainer = document.getElementById('viewerContainer') as HTMLDivElement;\n        const rect = viewerContainer.getBoundingClientRect();\n\n        let pageX = touch.pageX - rect.left;\n        let pageY = touch.pageY - rect.top;\n\n        if (this.debug.enabled) this.debugPoint(pageX, pageY);\n\n        this.startX = pageX;\n        this.startY = pageY;\n\n        let left = parseFloat(getComputedStyle(this.viewer).left) || 0;\n        let top = parseFloat(getComputedStyle(this.viewer).top) || 0;\n\n\n\n        if (this.debug.enabled) {\n          console.log(\"TouchStart: \"\n            + this.debug.nf.format(pageX) + \" / \" + this.debug.nf.format(pageY)\n            + \", startX/Y: \" + this.debug.nf.format(this.startX) + \" / \" + this.debug.nf.format(this.startY)\n            + \", startLeft/Top: \" + this.debug.nf.format(this.startLeft) + \" -> \" + this.debug.nf.format(left) + \" / \" + this.debug.nf.format(this.startTop) + \" -> \" + this.debug.nf.format(top)\n            + \", state: \" + this.state,\n            \", dims: \", this.getDimensions(this.viewer)\n          );\n        }\n\n        this.startLeft = left;\n        this.startTop = top;\n        this.state = \"move\";\n\n        if (event.cancelable) {\n          event.preventDefault();\n        }\n        event.stopPropagation();\n\n      } else {\n        // console.log(\"TouchStart: isInside: \" +  this.isInsideContainer([ touch ]) + \", state: \" + this.state);\n      }\n\n\n    }\n  }\n\n\n\n\n  // private getCurrentPagesInView():number[] {\n  //   const PDFViewerApplication: any = (window as any).PDFViewerApplication;\n\n  //   let page = PDFViewerApplication.page;\n  //   let pageCount = PDFViewerApplication.pdfViewer._pages.length;\n\n  //   let spreadMode = PDFViewerApplication.pdfViewer.spreadMode as SpreadModeType;\n\n  //   let pages = [ page ];\n\n  //   if (page == 1) return pages;\n\n  //   let isSpread = spreadMode == SpreadModeType.EVEN || SpreadModeType.ODD;\n  //   // console.log(\"isSpread: \" + isSpread+ \", pages: \" + pages.join(\",\"));\n  //   if (!isSpread) return pages;\n\n  //   if (page % 2 == 1) {\n  //     page--;\n  //     pages = [ page ];\n  //   }\n  //   // if (page % 2 == 1)\n  //   let nextPage = page + 1;\n  //   if (nextPage <= pageCount) pages.push(nextPage);\n  //   // console.log(\"nextPage: \" + nextPage + \", pageCount: \" + pageCount+ \", pages: \" + pages.join(\",\"));\n  //   return  pages;\n  // }\n\n  private debugPoint(x: number, y: number, viewer: boolean = false) {\n    if (!this.options.debugPoint) return;\n    const viewerContainer = document.getElementById('viewerContainer') as HTMLDivElement;\n    let id = 'debug-point' + (viewer ? \"-viewer\" : \"\");\n\n    let point = document.getElementById(id);\n    let size = viewer ? 10 : 5;\n    if (!point) {\n      point = document.createElement(\"div\");\n      point.id = id;\n      point.style.position = \"absolute\";\n      point.style.width = size + \"px\";\n      point.style.height = size + \"px\";\n      point.style.borderRadius = \"100px\";\n\n      point.style.backgroundColor = viewer ? \"red\" : \"blue\";\n\n      if (!viewer) viewerContainer.appendChild(point);\n      else this.viewer.appendChild(point);\n    }\n\n\n\n\n    let dims = this.getDimensions(this.viewer);\n\n    if (viewer) {\n      // this.debug.xv = x;\n      // this.debug.yv = y;\n\n      // console.log(\"debugPoint.viewer: \" + this.debug.nf.format(x) + \" / \" + this.debug.nf.format(y) + \", | \" + this.debug.nf.format(x / dims.elem.width * 100) + \" % / \" + this.debug.nf.format(y / dims.elem.height * 100) + \" %, dims: \", dims.elem);\n\n\n      // let vts = this.getViewerTransformScale();\n      // if(vts != 1.0) {\n      //   x /= vts;\n      //   y /= vts;\n      //   console.log(\"debugPoint.viewer: \" + this.debug.nf.format(x) + \" / \" + this.debug.nf.format(y));\n      // }\n\n    } else {\n\n      this.debug.x = x;\n      this.debug.y = y;\n\n\n      // console.log(\"debugPoint.cont: \" + this.debug.nf.format(x) + \" / \" + this.debug.nf.format(y) + \" | \" + this.debug.nf.format(x / dims.parent.width * 100) + \" % /  \" + this.debug.nf.format(y / dims.parent.height * 100) + \" %, dims: \", dims.parent);\n\n    }\n\n\n    point.style.left = (x - (size / 2)) + \"px\";\n    point.style.top = (y - (size / 2)) + \"px\";\n\n\n  }\n\n  private onViewerTouchMove(event: TouchEvent): void {\n    if (this.options.disableEventHandling) return;\n\n    const PDFViewerApplicationOptions: IPDFViewerApplicationOptions = (window as any).PDFViewerApplicationOptions;\n    const PDFViewerApplication: any = (window as any).PDFViewerApplication;\n\n    const viewerContainer = document.getElementById('viewerContainer') as HTMLDivElement;\n    const rect = viewerContainer.getBoundingClientRect();\n    const vr = this.viewer.getBoundingClientRect();\n\n    if (this.initialPinchDistance <= 0 || event.touches.length !== 2) {\n\n\n      if (event.touches.length == 1 && this.state == \"move\") {\n        const touch = event.touches[0];\n\n\n        let pageX = touch.pageX - rect.left + viewerContainer.scrollLeft;\n        let pageY = touch.pageY - rect.top + viewerContainer.scrollTop;\n\n        if (this.debug.enabled) this.debugPoint(pageX, pageY);\n\n        let diffX = pageX - this.startX;\n        let diffY = pageY - this.startY;\n\n        let left = this.startLeft + diffX;\n        let top = this.startTop + diffY;\n\n        let constrain = this.constrain({ left: left, top: top });\n        left = constrain.left;\n        top = constrain.top;\n\n        if (this.debug.enabled) {\n          console.log(\"TouchMove: \"\n            + this.debug.nf.format(pageX) + \" / \" + this.debug.nf.format(pageY)\n            + \", startX/Y: \" + this.debug.nf.format(this.startX) + \" / \" + this.debug.nf.format(this.startY)\n            + \", diff: \" + this.debug.nf.format(diffX) + \" / \" + this.debug.nf.format(diffY)\n            + \", l/t: \" + this.debug.nf.format(left) + \" / \" + this.debug.nf.format(top)\n            + \", viewer.w/h: \" + this.debug.nf.format(vr.width) + \" / \" + this.debug.nf.format(vr.height)\n\n          );\n        }\n\n        this.viewer.style.left = left + \"px\";\n        this.viewer.style.top = top + \"px\";\n\n        if (event.cancelable) {\n          event.preventDefault();\n        }\n        event.stopPropagation();\n      }\n\n      return;\n    }\n\n    const pinchDistance = Math.hypot(event.touches[1].pageX - event.touches[0].pageX, event.touches[1].pageY - event.touches[0].pageY);\n    // const container = document.getElementById('viewerContainer') as HTMLDivElement;\n    // const containerRect = container.getBoundingClientRect();\n\n    let pageX = (event.touches[1].pageX + event.touches[0].pageX) / 2;\n    let pageY = (event.touches[1].pageY + event.touches[0].pageY) / 2;\n\n    this.moveX = pageX;\n    this.moveY = pageY;\n\n\n    let dims = this.getDimensions(this.viewer, { pageX: pageX, pageY: pageY })\n\n\n    // //const viewerRect = this.viewer.getBoundingClientRect();\n    // pageX -= rect.left;\n    // pageY -= rect.top;\n\n    // pageX -= vr.left;\n    // pageY -= vr.top;\n\n\n    // pageX = dims.scaled.width * dims.point.v.xp;\n    // pageY = dims.scaled.height * dims.point.v.yp;\n\n\n    // let originX = pageX; // + viewerContainer.scrollLeft; // this.startX + container.scrollLeft;\n    // let originY = pageY; // + viewerContainer.scrollTop ; //this.startY + container.scrollTop;\n\n    const originX = dims.scaled.width * dims.point.v.xp;\n    const originY = dims.scaled.height * dims.point.v.yp;\n\n\n    if (this.debug.enabled) this.debugPoint(this.moveX - rect.left, this.moveY - rect.top);\n\n    let prevScale = this.currentScale;\n    this.currentScale = pinchDistance / this.initialPinchDistance;\n    let minZoom = Number(PDFViewerApplicationOptions.get('minZoom'));\n    if (!minZoom) {\n      minZoom = 0.1;\n    }\n\n    const currentZoom = PDFViewerApplication.pdfViewer._currentScale;\n    if (currentZoom * this.currentScale < minZoom) {\n      this.currentScale = minZoom / currentZoom;\n    }\n    let maxZoom = Number(PDFViewerApplicationOptions.get('maxZoom'));\n    if (!maxZoom) {\n      maxZoom = 10;\n    }\n    if (currentZoom * this.currentScale > maxZoom) {\n      this.currentScale = maxZoom / currentZoom;\n    }\n\n\n\n\n    if (this.debug.enabled) {\n      console.log(\"TouchMove PINCH: \"\n        + \", startX/Y: \" + this.debug.nf.format(this.startX) + \" / \" + this.debug.nf.format(this.startY)\n        + \", moveX/Y: \" + + this.debug.nf.format(this.moveX) + \" / \" + this.debug.nf.format(this.moveY)\n        + \", rect.l/t: \" + this.debug.nf.format(rect.left) + \" / \" + this.debug.nf.format(rect.top)\n        + \", viewer.l/t: \" + this.debug.nf.format(vr.left) + \" / \" + this.debug.nf.format(vr.top)\n        // + \", viewerContainer.sl/st: \" + this.debug.nf.format(viewerContainer.scrollLeft) + \" / \" + this.debug.nf.format(viewerContainer.scrollTop)\n        + \", originX/Y: \" + this.debug.nf.format(originX) + \" / \" + this.debug.nf.format(originY)\n\n        + \", viewer.w/h: \" + this.debug.nf.format(vr.width) + \" / \" + this.debug.nf.format(vr.height)\n        + \", currentScale: \" + this.debug.nf.format(prevScale) + \" -> \" + this.debug.nf.format(this.currentScale)\n        + \", dims: \", dims\n\n\n      );\n    }\n\n\n    this.viewer.style.transform = `scale(${this.currentScale})`;\n    this.viewer.style.transformOrigin = `${originX}px ${originY}px`;\n\n    // this.transformScale = this.currentScale;\n\n\n\n    if (event.cancelable) {\n      event.preventDefault();\n    }\n    event.stopPropagation();\n  }\n\n  private onViewerTouchEnd(event: TouchEvent): void {\n    if (this.options.disableEventHandling) return;\n\n    if (this.debug.enabled) console.log(\"onViewerTouchEnd\"\n      + \", vts: \" + this.getViewerTransformScale(\"onViewerTouchEnd\")\n      + ', state: ' + this.state\n      + \", initialPinchDistance: \" + this.initialPinchDistance\n    );\n\n    const PDFViewerApplication: any = (window as any).PDFViewerApplication;\n\n\n    // let to = this.viewer.style.transformOrigin;\n\n    // this.viewer.style.transform = `none`;\n    // this.viewer.style.transformOrigin = `unset`;\n\n    let dimsStart = this.getDimensions(this.viewer);\n\n\n    let tl = event.changedTouches.length;\n    let pageX = this.moveX;\n    let pageY = this.moveY;\n\n    if (tl > 1) {\n      pageX = (event.changedTouches[1].pageX + event.changedTouches[0].pageX) / 2;\n      pageY = (event.changedTouches[1].pageY + event.changedTouches[0].pageY) / 2;\n\n    }\n    else {\n      if (this.debug.enabled) console.log(\"end.moveX/Y: \" + this.moveX + \" -> \" + pageX + \", moveY: \" + this.moveY + \" -> \" + pageY + \", tl: \" + tl);\n    }\n\n    // this.currentScale = 1;\n\n\n\n    let now = new Date().getTime();\n    if (this.pointEnd.time) {\n      let pe = this.pointEnd;\n\n      let diff = now - pe.time;\n      // console.log(\"pointEnd.diff: \" + diff);\n\n      if (pe.pageX == pageX && pe.pageY == pageY && diff < 300) {\n\n        let PDFViewerApplication: any = (window as any).PDFViewerApplication;\n        let currentScale = PDFViewerApplication.pdfViewer.currentScale;\n        let scaleFactor = 1.4;\n\n        let newScale = this.isZooming() ? (currentScale / scaleFactor) : (currentScale * scaleFactor);\n\n        // let newScale = currentScale * 1.2;\n        // if (this.debug.enabled) console.log(\"pointEnd.point mateches, new scale: \" + newScale);\n\n        if (this.initialPinchDistance <= 0 || this.state == \"move\") {\n          if (event.cancelable) {\n            event.preventDefault();\n          }\n          event.stopPropagation();\n        }\n\n        setTimeout(() => {\n\n          this.setViewerScale(newScale);\n          this.pointEnd = {};\n        }, 5);\n\n        return;\n      }\n\n    }\n\n    this.pointEnd = {\n      time: now,\n      pageX: pageX,\n      pageY: pageY\n    }\n\n\n    if (this.state == \"move\") {\n      this.resetPinchZoomParams();\n      return;\n    }\n\n    if (this.initialPinchDistance <= 0) {\n      this.resetPinchZoomParams();\n      return;\n    }\n\n\n    let currentScale = PDFViewerApplication.pdfViewer.currentScale;\n    let newScale = currentScale * this.currentScale;\n    // let scaleChange = 1 + (newScale - currentScale) / currentScale;\n\n\n    const container = document.getElementById('viewerContainer') as HTMLDivElement;\n    const rect = container.getBoundingClientRect();\n    const viewerRect = this.viewer.getBoundingClientRect();\n\n    let dims = this.getDimensions(this.viewer);\n\n\n    if (this.debug.enabled) this.debugPoint(pageX, pageY);\n\n\n\n    if (this.debug.enabled) {\n      console.log(\"TouchEnd: \"\n        + \", scale: \" + this.debug.nf.format(currentScale) + \" -> \" + this.debug.nf.format(newScale) + \", cs: \" + this.currentScale\n\n        + \", pageX/Y: \" + this.debug.nf.format(pageX) + \" / \" + this.debug.nf.format(pageY)\n        + \", startX/Y: \" + this.debug.nf.format(this.startX) + \" / \" + this.debug.nf.format(this.startY)\n        // + \", diff: \" + this.debug.nf.format(diffX) + \" / \" + this.debug.nf.format(diffY)\n        // + \", diffs: \" + this.debug.nf.format(diffXs) + \" / \" + this.debug.nf.format(diffYs)\n\n        // + \", l/t: \" + this.debug.nf.format(viewerRect.left) + \" -> \" +this.debug.nf.format(left) + \" / \" + this.debug.nf.format(viewerRect.top) + \" -> \" +this.debug.nf.format(top)\n        + \", viewer.w/h: \" + this.debug.nf.format(viewerRect.width) + \" / \" + this.debug.nf.format(viewerRect.height)\n        + \", dims: \", dims\n\n      );\n    }\n\n\n    this.setViewerScale(newScale, { resetTransform: true });\n\n\n    this.resetPinchZoomParams();\n\n    // }, 50);\n\n    if (event.cancelable) {\n      event.preventDefault();\n    }\n    event.stopPropagation();\n\n\n    // if (tl == 1) {\n    // let pageX = event.changedTouches[0].pageX;\n    // let pageY = event.changedTouches[0].pageY;\n\n\n\n    // }\n  }\n\n\n  private onViewerMouseDown(event: MouseEvent): void {\n    if (this.options.disableEventHandling) return;\n\n    let isInside = this.isInsideContainer([event])\n    if (!isInside) return;\n\n    if (!this.options.moveEnabled) return;\n\n    let dims = this.getDimensions(this.viewer, event);\n\n    // this.zoomToPoint(event, event.pageX, event.pageY);\n    if (this.debug.enabled) {\n      this.debugPoint(dims.point.c.x, dims.point.c.y);\n      this.debugPoint(dims.point.v.x, dims.point.v.x, true);\n    }\n\n\n    this.startX = dims.point.c.x;\n    this.startY = dims.point.c.y;\n\n    this.startLeft = parseFloat(getComputedStyle(this.viewer).left) || 0;\n    this.startTop = parseFloat(getComputedStyle(this.viewer).top) || 0\n\n    this.state = \"move\";\n\n    if (event.cancelable) {\n      event.preventDefault();\n    }\n    event.stopPropagation();\n\n  }\n  private onViewerMouseMove(event: MouseEvent): void {\n    if (this.options.disableEventHandling) return;\n\n    if (this.state != \"move\") {\n      // console.log(\"mousemove: state!=move: \" + this.state);\n      return;\n    }\n\n    let dims = this.getDimensions(this.viewer, event);\n\n\n    if (this.debug.enabled) this.debugPoint(dims.point.c.x, dims.point.c.y);\n\n    let diffX = dims.point.c.x - this.startX;\n    let diffY = dims.point.c.y - this.startY;\n\n    let left = this.startLeft + diffX;\n    let top = this.startTop + diffY;\n\n    let constrain = this.constrain({ left: left, top: top });\n    left = constrain.left;\n    top = constrain.top;\n\n\n    this.viewer.style.left = left + \"px\";\n    this.viewer.style.top = top + \"px\";\n\n\n    if (this.debug.enabled) {\n      console.log(\"mousemove: \"\n        + this.debug.nf.format(dims.point.c.x) + \" / \" + this.debug.nf.format(dims.point.c.y)\n        + \", diff: \" + this.debug.nf.format(diffX) + \" / \" + this.debug.nf.format(diffY)\n        + \", l/t: \" + this.debug.nf.format(left) + \" / \" + this.debug.nf.format(top)\n      );\n    }\n\n    if (event.cancelable) {\n      event.preventDefault();\n    }\n    event.stopPropagation();\n\n\n  }\n  private onViewerMouseUp(event: MouseEvent): void {\n    if (this.options.disableEventHandling) return;\n\n    let isInside = this.isInsideContainer([event]);\n    if (this.debug.enabled) console.log(\"mouseup: \" + this.debug.nf.format(event.pageX) + \" / \" + this.debug.nf.format(event.pageY) + \"; inside: \" + isInside);\n    // document.removeEventListener(\"mousemove\", event);\n\n    if (!isInside) return;\n\n    this.resetPinchZoomParams();\n\n    //TODO: kan ikke bruke preventDefault hvis vi skal kunne støtte dobbeltklikk\n\n    if (event.cancelable) {\n      event.preventDefault();\n    }\n    event.stopPropagation();\n\n    let pageX = event.pageX;\n    let pageY = event.pageY;\n    let now = new Date().getTime();\n    if (this.pointEnd.time) {\n      let pe = this.pointEnd;\n\n      let diff = now - pe.time;\n      // console.log(\"pointEnd.diff: \" + diff);\n\n      if (pe.pageX == pageX && pe.pageY == pageY && diff < 300) {\n\n        let PDFViewerApplication: any = (window as any).PDFViewerApplication;\n        let currentScale = PDFViewerApplication.pdfViewer.currentScale;\n        let scaleFactor = 1.4;\n\n        let newScale = this.isZooming() ? (currentScale / scaleFactor) : (currentScale * scaleFactor);\n        // if (this.debug.enabled) console.log(\"pointEnd.point mateches, isZ: \"+this.isZooming() +\", new scale: \" + currentScale + \" -> \" + newScale);\n\n        setTimeout(() => {\n\n          this.setViewerScale(newScale);\n          this.pointEnd = {};\n        }, 5);\n\n        return;\n      }\n\n    }\n\n    this.pointEnd = {\n      time: now,\n      pageX: pageX,\n      pageY: pageY\n    }\n\n\n\n    // console.log(\"updateing pointEnd: \", this.pointEnd);\n\n\n  }\n\n\n  private resetPinchZoomParams(): void {\n    this.startX = this.startY = this.moveX = this.moveY = this.startLeft = this.startTop = this.initialPinchDistance = 0;\n    this.currentScale = 1;\n    this.state = \"idle\";\n  }\n\n  private getBoxStyle(\n    elem: HTMLElement | SVGElement,\n    name: string,\n    style: CSSStyleDeclaration = window.getComputedStyle(elem)\n  ) {\n    const suffix = name === 'border' ? 'Width' : ''\n    return {\n      left: parseFloat(style[`${name}Left${suffix}`]) || 0,\n      right: parseFloat(style[`${name}Right${suffix}`]) || 0,\n      top: parseFloat(style[`${name}Top${suffix}`]) || 0,\n      bottom: parseFloat(style[`${name}Bottom${suffix}`]) || 0,\n    }\n  }\n\n\n  private getDimensions(elem: HTMLElement, point?: ({ pageX: number, pageY: number })) {\n    const parent = elem.parentNode as HTMLElement\n    const style = window.getComputedStyle(elem)\n    const parentStyle = window.getComputedStyle(parent)\n    const rectElem = elem.getBoundingClientRect()\n    const rectParent = parent.getBoundingClientRect()\n\n\n    const vts = this.getViewerTransformScale(\"getDimensions\");\n    const vto = this.getViewerTransformOrigin();\n\n    let res: any = {\n      elem: {\n        style,\n        width: rectElem.width,\n        height: rectElem.height,\n        top: rectElem.top,\n        bottom: rectElem.bottom,\n        left: rectElem.left,\n        right: rectElem.right,\n        margin: this.getBoxStyle(elem, 'margin', style),\n        border: this.getBoxStyle(elem, 'border', style)\n      },\n      rel: {\n        width: rectElem.width,\n        height: rectElem.height,\n        top: rectElem.top - rectParent.top,\n        left: rectElem.left - rectParent.left,\n        bottom: rectElem.bottom - rectParent.top,\n        right: rectElem.right - rectParent.left,\n      },\n\n      parent: {\n        style: parentStyle,\n        width: rectParent.width,\n        height: rectParent.height,\n        top: rectParent.top,\n        bottom: rectParent.bottom,\n        left: rectParent.left,\n        right: rectParent.right,\n        padding: this.getBoxStyle(parent, 'padding', parentStyle),\n        border: this.getBoxStyle(parent, 'border', parentStyle)\n      }\n    };\n\n    if (vts == 1.0) res.scaled = res.rel;\n    else {\n      let sw = res.rel.width / vts;\n      let sh = res.rel.height / vts;\n      let wd = res.rel.width - sw;  // 118\n      let hd = res.rel.height - sh;\n\n\n      res.scaled = {\n        vts: vts,\n        vto: vto,\n        width: sw,\n        height: sh,\n\n        left: res.rel.left + wd / 2,\n        right: res.rel.right - wd / 2,\n        top: res.rel.top + hd / 2,\n        bottom: res.rel.bottom - hd / 2,\n\n        wd: wd,\n        hd: hd,\n      }\n    }\n\n\n\n    let vx = point ? point.pageX - rectElem.left : rectElem.width / 2;\n    let vy = point ? point.pageY - rectElem.top : rectElem.height / 2;\n\n    let cx = point ? point.pageX - rectParent.left : vx + res.rel.left;\n    let cy = point ? point.pageY - rectParent.top : vy + res.rel.top;\n\n    let vxp = vx / rectElem.width;\n    let vyp = vy / rectElem.height;\n    let cxp = cx / rectParent.width;\n    let cyp = cy / rectParent.height;\n\n    res.point = {\n      src: point,\n      v: {\n        x: vx,\n        y: vy,\n        xp: vxp,\n        yp: vyp\n      },\n      c: {\n        x: cx,\n        y: cy,\n        xp: cxp,\n        yp: cyp\n      }\n    }\n\n\n\n\n    return res;\n  }\n\n\n\n  //   return res;\n  // }\n\n  private getDimDiff(start: any, end: any) {\n    // let se = start.elem;\n    // let ee = end.elem;\n    // let sp = start.parent;\n    // let ep = end.parent;\n\n    let input = {\n      elem: {\n        start: start.elem,\n        end: end.elem\n      },\n      parent: {\n        start: start.parent,\n        end: end.parent\n      },\n      rel: {\n        start: start.rel,\n        end: end.rel\n      },\n      scaled: {\n        start: start.scaled,\n        end: end.scaled\n      },\n    }\n\n    let res: any = {};\n    for (let type of [\"elem\", \"parent\", \"rel\", \"scaled\"]) {\n      let s = input[type].start;\n      let e = input[type].end;\n\n      res[type] = {};\n\n      for (let prop of [\"width\", \"height\", \"top\", \"bottom\", \"left\", \"right\"]) {\n        let sv = s[prop];\n        let ev = e[prop];\n        let diff = ev - sv;\n\n        res[type][prop + \"Label\"] = this.debug.nf.format(sv) + \" -> \" + this.debug.nf.format(ev) + \", diff: \" + this.debug.nf.format(diff) + \" (\" + this.debug.nf.format(diff / sv * 100.0) + \" %)\";\n        res[type][prop] = diff;\n      }\n    }\n\n    return res;\n\n\n  }\n\n\n  private constrain(p: ({ left: number, top: number })): ({ left: number, top: number }) {\n    const dims = this.getDimensions(this.viewer)\n\n    let isScaled = dims.scaled.vts !== undefined && dims.scaled.vts != 1.0;\n\n    let minX = p.left, maxX = p.left, minY = p.top, maxY = p.top;\n\n    if (dims.elem.width <= dims.parent.width) {\n      // inside\n      minX = 0;\n      maxX = (dims.parent.width - dims.elem.width)\n    } else {\n      // outside\n      minX = -(dims.elem.width - dims.parent.width);\n      maxX = 0;\n\n    }\n    if (dims.elem.height <= dims.parent.height) {\n      // inside\n      minY = 0;\n      maxY = (dims.parent.height - dims.elem.height);\n\n    } else {\n      // outside\n      minY = -(dims.elem.height - dims.parent.height);\n      maxY = 0;\n\n    }\n\n    if (isScaled) {\n      let vto = dims.scaled.vto;\n      let xp = vto ? vto.x / dims.scaled.width : 0.5;\n      let yp = vto ? vto.y / dims.scaled.height : 0.5;\n\n      minX += dims.scaled.wd * xp;\n      maxX += dims.scaled.wd * xp;\n\n      minY += dims.scaled.hd * yp;\n      maxY += dims.scaled.hd * yp;\n    }\n\n\n\n    let cLeft = Math.max(Math.min(p.left, maxX), minX)\n    let cTop = Math.max(Math.min(p.top, maxY), minY)\n\n    // if (this.debug.enabled) console.log(\"constrain, left:  \" + p.left + \" -> \" + cLeft + \" (\"+minX + \"-\"+maxX+\")\" + \", top: \" + p.top + \" -> \" + cTop + \" (\"+minY + \"-\"+maxY+\"), dims: \", dims);\n\n    return { left: cLeft, top: cTop };\n  }\n\n  private isInsideContainer(points: ({ pageX: number, pageY: number, target: any })[]) {\n    const viewerContainer = document.getElementById('viewerContainer') as HTMLDivElement;\n    const rect = viewerContainer.getBoundingClientRect();\n\n    if (points === undefined || points.length == 0) return false;\n\n    //TODO: Check event, is target.parent the viewerContainer? \n\n    // let allInside = true;\n    for (let point of points) {\n\n      let target = point.target;\n      if (target) {\n        let closest = target.closest(\"#viewerContainer\");\n        // console.log(\"closest: \", closest)\n        if (closest == undefined) {\n          return false;\n        }\n      }\n\n\n      let pageX = point.pageX; // + viewerContainer.scrollLeft;\n      let pageY = point.pageY; // + viewerContainer.scrollTop;\n\n\n      let inside = false;\n      if (pageX >= rect.left && pageX <= rect.right) {\n        if (pageY >= (rect.top + window.scrollY) && pageY <= (rect.bottom + window.scrollY)) {\n          inside = true;\n        }\n      }\n\n      // console.log(\"pageX/Y: \" + pageX + \" / \" + pageY + \", inside: \" + inside + \"; rect: \", rect, \", point: \", point);\n\n      if (!inside) return false;\n    }\n\n    return true;\n  }\n\n  private getViewerTransformScale(src: string) {\n    let tf = getComputedStyle(this.viewer).transform;\n\n    if (tf == \"none\" || tf.indexOf(\"(\") < 0) {\n      let vts = 1.0;\n\n      // if (this.transformScale > 0.0) {\n      //   vts = this.transformScale\n      // }\n\n      // if (this.debug.enabled) console.log(\"getViewerTransformScale, tf: \" + tf + \", indexOf (: \" + tf.indexOf(\"(\") + \", src: \" + src + \", vts: \" + vts);\n\n      return vts;\n    }\n\n    let isScale = tf.indexOf(\"scale\") >= 0;\n    let transformScale = parseFloat(\n      tf.substring(tf.indexOf(\"(\") + 1,\n        tf.indexOf(isScale ? \")\" : \",\"))\n    );\n    // if (this.debug.enabled) console.log(\"getViewerTransformScale, tf: \" + tf + \", indexOf (: \" + tf.indexOf(\"(\") + \", transformScale: \" + transformScale + \", src: \" + src);\n    return transformScale;\n  }\n\n  private getViewerTransformOrigin() {\n    let to = this.viewer.style.transformOrigin;\n    if (to == undefined || to == \"unset\") return undefined;\n\n    let parts = to.split(\" \");\n    if (parts.length != 2) return undefined;\n\n    return { x: parseFloat(parts[0]), y: parseFloat(parts[1]) };\n  }\n\n  public checkContraint(): boolean {\n    const dims = this.getDimensions(this.viewer);\n    let constrain: any = this.constrain({ left: dims.elem.left, top: dims.elem.top });\n    return constrain.left != dims.elem.left && constrain.top != dims.elem.top;\n  }\n\n  public updateViewerPosition(forceUpdate: boolean = false) {\n    let viewerContainer = document.getElementById('viewerContainer') as HTMLDivElement;\n    this.viewer = document.getElementById('viewer') as HTMLDivElement;\n\n    const dims = this.getDimensions(this.viewer);\n\n\n    let constrain: any = this.constrain({ left: dims.elem.left, top: dims.elem.top }); // ;\n    let transformScale = this.getViewerTransformScale(\"updateViewerPosition\");\n\n    // if (transformScale == 1.0)\n\n    if (this.debug.enabled) {\n      // console.log(\"updateViewerPosition\"\n      //   + \", updateLeft: \" + (dims.elem.width <= dims.parent.width) \n      //   + \", updateTop: \" + (dims.elem.height <= dims.parent.height)\n      //   + \", checkContraint: \" + this.checkContraint()\n      //   + \", transformScale: \" + transformScale \n      //   + \", dims: \", dims);\n\n    }\n    let point: ({ left: number | undefined, top: number | undefined }) = {\n      left: undefined,\n      top: undefined\n    }\n\n    if (forceUpdate || dims.elem.width <= dims.parent.width || (constrain && constrain.left != dims.elem.left)) {\n      let left = (dims.parent.width - (dims.elem.width / transformScale)) / 2;\n      // console.log(\"updateViewerPosition, left: \" + this.viewer.style.left  + \" -> \" + left);\n      // this.viewer.style.left = left + \"px\";\n      point.left = left;\n    }\n    if (forceUpdate || dims.elem.height <= dims.parent.height || (constrain && constrain.top != dims.elem.top)) {\n      let top = (dims.parent.height - (dims.elem.height / transformScale)) / 2;\n      // console.log(\"updateViewerPosition, top: \" + this.viewer.style.top  + \" -> \" + top);\n      // this.viewer.style.top = top + \"px\";\n      point.top = top;\n    }\n\n    if (point.left || point.top) {\n\n      this.viewer.style.left = point.left + \"px\";\n      this.viewer.style.top = point.top + \"px\";\n    }\n\n  }\n\n  private setViewerScale(newScale, options: any = {}) {\n    let vtsSource = getComputedStyle(this.viewer).transform;\n    if (this.debug.enabled) console.log(\"setViewerScale, newScale: \" + newScale + \", vtsSource: \" + vtsSource);\n\n    let origin = options.origin;\n    // let resetTransform = options.resetTransform === undefined || options.resetTransform === true; \n\n    let vts = this.getViewerTransformScale(\"setViewerScale\");\n\n\n    let dims = this.getDimensions(this.viewer);\n    // let dimsAfterTransformReset = dims; \n\n    let reset: any = { left: undefined, top: undefined };\n\n    if (vts != 1.0) { // resetTransform && \n\n      if (vtsSource != \"none\") {\n\n        reset.left = dims.rel.left;\n        reset.top = dims.rel.top;\n      }\n\n      this.viewer.style.transform = 'none';\n      this.viewer.style.transformOrigin = 'unset';\n\n      // this.transformScale = -1;\n      // dimsAfterTransformReset = this.getDimensions(this.viewer);\n\n    }\n\n    let PDFViewerApplication: any = (window as any).PDFViewerApplication;\n    let currentScale = PDFViewerApplication.pdfViewer.currentScale;\n\n    if (origin == undefined) {\n      origin = { x: dims.elem.width / 2, y: dims.elem.height / 2 };\n    }\n\n    let oxp = origin.x / dims.elem.width;\n    let oyp = origin.y / dims.elem.height;\n\n    if (this.debug.enabled) {\n      console.log(\"setViewerScale, currentScale: \" + this.debug.nf.format(currentScale) + \" -> \" + this.debug.nf.format(newScale) + \", vts: \" + this.debug.nf.format(vts) + \" (\" + vtsSource + \")\"\n        + \", origin: \" + this.debug.nf.format(origin.x) + \" (\" + this.debug.nf.format(oxp * 100) + \") / \" + this.debug.nf.format(origin.y) + \" (\" + this.debug.nf.format(oyp * 100) + \")\"\n        + \", debug.x/Y: \" + this.debug.nf.format(this.debug.x) + \" / \" + + this.debug.nf.format(this.debug.y)\n        + \", isZooming: \" + this.isZooming()\n        + \", dims: \", dims);\n    }\n\n    PDFViewerApplication.pdfViewer._setScale(newScale, true);\n\n    let dimsAfter = this.getDimensions(this.viewer);\n    let dimDiff = this.getDimDiff(dims, dimsAfter);\n\n    let dimsCorr: any = {\n      left: parseFloat(getComputedStyle(this.viewer).left) || 0,\n      top: parseFloat(getComputedStyle(this.viewer).top) || 0,\n    }\n    dimsCorr.leftDiff = - (dimDiff.elem.width * oxp);\n    dimsCorr.topDiff = - (dimDiff.elem.height * oyp);\n\n    dimsCorr.leftNext = dimsCorr.left + dimsCorr.leftDiff;\n    dimsCorr.topNext = dimsCorr.top + dimsCorr.topDiff;\n\n    if (reset.left) {\n      if (this.debug.enabled) {\n        console.log(\"dimsCorr.leftNext: \" + this.debug.nf.format(dimsCorr.leftNext) + \" -> \" + this.debug.nf.format(reset.left));\n        console.log(\"dimsCorr.topNext: \" + this.debug.nf.format(dimsCorr.topNext) + \" -> \" + this.debug.nf.format(reset.top));\n      }\n\n      dimsCorr.leftNext = reset.left;\n      dimsCorr.topNext = reset.top;\n\n    }\n\n    this.viewer.style.left = dimsCorr.leftNext + \"px\";\n    this.viewer.style.top = dimsCorr.topNext + \"px\";\n\n    if (this.debug.enabled) {\n      console.log(\"setViewerScale2, newCurrentScale: \" + this.debug.nf.format(PDFViewerApplication.pdfViewer.currentScale)\n        + \", isZooming: \" + this.isZooming()\n        + \", dimsAfter: \", dimsAfter,\n        \", dimDiff: \", dimDiff,\n        \", dimsCorr: \", dimsCorr\n      );\n    }\n\n  }\n\n  isZooming() {\n    let PDFViewerApplication: any = (window as any).PDFViewerApplication;\n    const PDFViewerApplicationOptions: IPDFViewerApplicationOptions = (window as any).PDFViewerApplicationOptions;\n\n    let currentScale = PDFViewerApplication.pdfViewer.currentScale;\n\n    let czf = Math.round(currentScale * 10000);\n\n    let minZoom = Math.round(Number(PDFViewerApplicationOptions.get('minZoom')) * 10000);\n    //  console.log(\"isZooming, czf: \"  + czf + \", minZoom: \" + minZoom + \"; isZ: \" + (czf > minZoom));\n    return czf > minZoom;\n  }\n\n  onViewerWheel(event: Event) {\n    if (this.options.disableEventHandling) return;\n    if (this.debug.enabled) console.log(\"onWheel: event: \", event);\n\n    setTimeout(() => {\n\n      this.updateViewerPosition();\n    }, 2)\n\n  };\n\n  public initializeRelativeCoords(): void {\n\n    let viewerContainer = document.getElementById('viewerContainer') as HTMLDivElement;\n    this.viewer = document.getElementById('viewer') as HTMLDivElement;\n\n    this.component.root.nativeElement.classList.add(\"relative-coords\");\n\n    let stfItemHack = document.createElement(\"div\");\n    stfItemHack.classList.add(\"stf__item\");\n    viewerContainer.appendChild(stfItemHack);\n\n\n    if (this.debug.enabled) console.log(\"initializeRelativeCoords: isMobile: \" + this.isMobile());\n\n    let onContainerScoll = (event: Event) => {\n      //console.log(\"onContainerScoll: l/t: \" + viewerContainer.scrollLeft + \" / \" + viewerContainer.scrollTop + \", event: \" , event);\n      if (viewerContainer.scrollLeft != 0 || viewerContainer.scrollTop != 0) viewerContainer.scroll({ left: 0, top: 0 })\n    }\n\n    viewerContainer.addEventListener('scroll', onContainerScoll);\n\n\n    this.component.pagesLoaded.subscribe(async (event: PagesLoadedEvent) => {\n      if (this.debug.enabled) console.log(\"initializeRelativeCoords: scrollTop: \", viewerContainer.scrollTop);\n      setTimeout(() => {\n        // console.log(\"pageChange: pages: \", this.getCurrentPagesInView())\n        this.updateViewerPosition(true);\n      }, 10);\n    });\n\n    this.component.pageChange.subscribe(async (event: any) => {\n      if (this.debug.enabled) console.log(\"pageChange: event: \", event, \", dims: \", this.getDimensions(this.viewer));\n      // console.log(\"pageChange: pages: \", this.getCurrentPagesInView())\n      setTimeout(() => {\n        // console.log(\"pageChange: pages: \", this.getCurrentPagesInView())\n        this.updateViewerPosition(true);\n      }, 10);\n\n    });\n    // this.component.zoomChange.subscribe(async (event: any) => {\n    //   console.log(\"zoomChange: event: \", event);\n    // });\n    this.component.currentZoomFactor.subscribe(async (event: any) => {\n      if (this.debug.enabled) console.log(\"currentZoomFactor: event: \", event);\n      // this.updateViewerPosition();\n    });\n\n    if (!this.isMobile()) {\n\n      // let onWheel = \n\n\n      this._zone.runOutsideAngular(() => {\n        // Panning support on desktop\n        document.addEventListener('mousedown', this.boundOnViewerMouseDown);\n        document.addEventListener('mousemove', this.boundOnViewerMouseMove, { passive: false });\n        document.addEventListener('mouseup', this.boundOnViewerMouseUp);\n\n        window.addEventListener(\"wheel\", this.boundOnViewerWheel, { passive: false });\n\n      });\n\n\n    } else {\n\n      this._zone.runOutsideAngular(() => {\n        document.addEventListener('touchstart', this.boundOnViewerTouchStart);\n        document.addEventListener('touchmove', this.boundOnViewerTouchMove, { passive: false });\n        document.addEventListener('touchend', this.boundOnViewerTouchEnd);\n\n      });\n\n\n    }\n\n\n\n\n    if (this.debug.enabled) {\n\n      let onKeyup = (event: KeyboardEvent) => {\n        console.log(\"onKeyup: event.key: \" + event.key);\n        let dims = this.getDimensions(this.viewer);\n        const PDFViewerApplication: any = (window as any).PDFViewerApplication;\n\n        if (event.key == \"q\") {\n\n\n\n          this.viewer.style.transform = `none`;\n          this.viewer.style.transformOrigin = `unset`;\n          this.currentScale = 1.0;\n\n          let dimsAfter = this.getDimensions(this.viewer);\n          console.log(\"dimsAfter: \", dimsAfter.scaled);\n          console.log(\"dimsDiff: \", this.getDimDiff(dims, dimsAfter).scaled);\n\n        } else if (event.key == \"w\") {\n          let originX = this.debug.x || dims.parent.width / 2;\n          let originY = this.debug.y || dims.parent.height / 2;\n          originX -= dims.elem.left - dims.parent.left;\n          originY -= dims.elem.top - dims.parent.top;\n          this.currentScale = 1.3;\n\n          console.log(\"originX/Y: \" + originX + \" / \" + originY + \", scale: \" + this.currentScale + \"; dims: \", dims);\n          console.log(\"originX/Y (%): \" + this.debug.nf.format(originX / dims.elem.width * 100) + \" / \" + this.debug.nf.format(originY / dims.elem.height * 100));\n\n\n          this.viewer.style.transform = `scale(${this.currentScale})`;\n          this.viewer.style.transformOrigin = `${originX}px ${originY}px`;\n\n          let dimsAfter = this.getDimensions(this.viewer);\n          console.log(\"dimsAfter: \", dimsAfter.elem);\n          console.log(\"dimsDiff: \", this.getDimDiff(dims, dimsAfter).elem);\n\n        } else if (event.key == \"e\") {\n\n          // this.viewer.style.transform = `none`;\n          // this.viewer.style.transformOrigin = `unset`;\n\n\n          let currentScale = PDFViewerApplication.pdfViewer.currentScale;\n          let newScale = currentScale * this.currentScale;\n\n          console.log(\"currentScale: \" + currentScale + \" -> \" + newScale + \", cs: \" + this.currentScale + \", dims: \", dims);\n\n\n          // PDFViewerApplication.pdfViewer._setScale(newScale, true);\n          this.setViewerScale(newScale, { resetTransform: true });\n\n          let dimsAfter = this.getDimensions(this.viewer);\n\n          console.log(\"dimsAfter: \", dimsAfter.elem);\n          console.log(\"dimsDiff: \", this.getDimDiff(dims, dimsAfter).elem);\n\n          // } else  if (event.key == \"r\") { // Rotate\n        } else if (event.key == \"s\") {\n          let originX = this.debug.x || dims.parent.width / 2;\n          let originY = this.debug.y || dims.parent.height / 2;\n          originX -= dims.elem.left - dims.parent.left;\n          originY -= dims.elem.top - dims.parent.top;\n\n          // reset pdfViewer.scale\n          let currentScale = PDFViewerApplication.pdfViewer.currentScale;\n          let prevScale = currentScale / this.currentScale;\n          // console.log(\"currentScale: \" + currentScale + \" -> \" + prevScale + \", originX/Y: \" + originX + \" / \" + originY);\n          console.log(\"originX/Y: \" + originX + \" / \" + originY + \", scale: \" + currentScale + \" -> \" + prevScale + \", t.cs: \" + this.currentScale + \"; dims: \", dims);\n          console.log(\"originX/Y (%): \" + (originX / dims.elem.width) + \" / \" + (originY / dims.elem.height));\n\n          // PDFViewerApplication.pdfViewer._setScale(prevScale, true);\n          if (currentScale != prevScale) this.setViewerScale(prevScale);\n\n\n          originX = this.debug.x || dims.parent.width / 2;\n          originY = this.debug.y || dims.parent.height / 2;\n          let dimsAfter = this.getDimensions(this.viewer);\n          originX -= dimsAfter.elem.left - dimsAfter.parent.left;\n          originY -= dimsAfter.elem.top - dimsAfter.parent.top;\n\n          console.log(\"originX/Y: \" + originX + \" / \" + originY + \", scale: \" + currentScale + \" -> \" + prevScale + \", t.cs: \" + this.currentScale + \"; dimsAfter: \", dimsAfter);\n          console.log(\"originX/Y (%): \" + (originX / dimsAfter.elem.width) + \" / \" + (originY / dimsAfter.elem.height));\n\n          this.viewer.style.transform = `scale(${this.currentScale})`;\n          this.viewer.style.transformOrigin = `${originX}px ${originY}px`;\n\n        } else if (event.key == \"t\") {\n\n          // bare PDF.js-zoom\n          let originX = this.debug.x || dims.parent.width / 2;\n          let originY = this.debug.y || dims.parent.height / 2;\n          originX -= dims.elem.left - dims.parent.left;\n          originY -= dims.elem.top - dims.parent.top;\n\n          if (this.currentScale == 1.0) this.currentScale = 1.3;\n\n          let currentScale = PDFViewerApplication.pdfViewer.currentScale;\n          let newScale = currentScale * this.currentScale;\n          this.setViewerScale(newScale, { origin: { x: originX, y: originY } });\n\n\n\n        } else if (event.key == \"y\") {\n\n          let originX = this.debug.x || dims.parent.width / 2;\n          let originY = this.debug.y || dims.parent.height / 2;\n          originX -= dims.elem.left - dims.parent.left;\n          originY -= dims.elem.top - dims.parent.top;\n\n          let currentScale = PDFViewerApplication.pdfViewer.currentScale;\n          let prevScale = currentScale / this.currentScale;\n\n          console.log(\"y, currentScale: \" + currentScale + \"; prevScale: \" + prevScale);\n          // PDFViewerApplication.pdfViewer._setScale(prevScale, true);\n          this.setViewerScale(prevScale, { origin: { x: originX, y: originY } });\n          // this.currentScale = 1.0;\n\n          // let dimsAfter = this.getDimensions(this.viewer);\n\n          // console.log(\"dimsAfter: \", dimsAfter.elem);\n          // console.log(\"dimsDiff: \", this.getDimDiff(dims, dimsAfter).elem);\n\n\n        } else if (event.key == \"u\") {\n          this.updateViewerPosition();\n\n        } else if (event.key == \"i\") {\n          let corrLeft = 200;\n          console.log(\"beforeCorr: \", this.getDimensions(this.viewer).elem);\n          console.log(\"this.viewer.style: \", this.viewer.style);\n          console.log(\"this.viewer.style.left: \" + this.viewer.style.left + \" -> \" + corrLeft);\n          this.viewer.style.left = corrLeft + \"px\";\n          console.log(\"afterCorr: \", this.getDimensions(this.viewer).elem);\n          console.log(\"this.viewer.style: \", this.viewer.style);\n\n        } else if (event.key == \"o\") {\n\n          let originX = this.debug.x || dims.parent.width / 2;\n          let originY = this.debug.y || dims.parent.height / 2;\n          originX -= dims.elem.left - dims.parent.left;\n          originY -= dims.elem.top - dims.parent.top;\n\n          console.log(\"originX/Y: \" + originX + \" / \" + originY + \", scale: \" + this.currentScale);\n\n          this.viewer.style.transform = `scale(${this.currentScale})`;\n          this.viewer.style.transformOrigin = `${originX}px ${originY}px`;\n\n        } else if (event.key == \"p\") {\n\n\n          console.log(\"dims: \", dims);\n          // let originX = this.debug.x || dims.parent.width / 2; \n          // let originY = this.debug.y || dims.parent.height / 2; \n\n\n          console.log(\"getViewerTransformScale: \", this.getViewerTransformScale(\"key == p\"));\n\n          this.viewer.style.transform = `none`;\n          this.viewer.style.transformOrigin = `unset`;\n\n          let dimsAfter = this.getDimensions(this.viewer);\n          console.log(\"dimsAfter: \", dimsAfter);\n          console.log(\"dimsDiff: \", this.getDimDiff(dims, dimsAfter));\n\n\n        } else if (event.key == \"f\") {\n\n\n        } else if (event.key == \"d\") {\n\n          console.log(\"dims: \", this.getDimensions(this.viewer));\n\n        } else if (event.key == \"z\") {\n\n        } else if (event.key == \"x\") {\n\n        }\n      };\n\n\n      window.addEventListener(\"keyup\", onKeyup);\n    }\n\n\n\n  }\n\n  public destroyRelativeCoords(): void {\n    if (!this.isMobile()) {\n      document.removeEventListener('mousedown', this.boundOnViewerMouseDown);\n      document.removeEventListener('mousemove', this.boundOnViewerMouseMove);\n      document.removeEventListener('mouseup', this.boundOnViewerMouseUp);\n\n      window.removeEventListener(\"wheel\", this.boundOnViewerWheel);\n\n      return;\n    }\n    document.removeEventListener('touchstart', this.boundOnViewerTouchStart);\n    document.removeEventListener('touchmove', this.boundOnViewerTouchMove);\n    document.removeEventListener('touchend', this.boundOnViewerTouchEnd);\n  }\n}\n","import { Subject } from 'rxjs';\nimport { NgxExtendedPdfViewerComponent } from './ngx-extended-pdf-viewer.component';\nimport { PdfLayer } from './options/optional_content_config';\nimport { PDFPrintRange } from './options/pdf-print-range';\nimport { IPDFViewerApplication } from './options/pdf-viewer-application';\n\nexport interface FindOptions {\n  highlightAll?: boolean;\n  matchCase?: boolean;\n  wholeWords?: boolean;\n  ignoreAccents?: boolean;\n  findMultipleSearchTexts?: boolean;\n  fuzzySearch?: boolean;\n  currentPage?: boolean; // search only in the current page\n  pageRange?: string; // page range definition, e.g. \"2\", \"2,3,4\", \"5-6\" or \"2,5-6,7\"\n}\n\ninterface DrawContext {\n  ctx: CanvasRenderingContext2D;\n  canvas: HTMLCanvasElement;\n}\n\nexport interface PDFExportScaleFactor {\n  width?: number;\n  height?: number;\n  scale?: number;\n}\n\nexport class NgxExtendedPdfViewerService {\n  public recalculateSize$ = new Subject<void>();\n\n  public findMultiple(text: Array<string>, options: FindOptions = {}): boolean {\n    options = {\n      ...options,\n      findMultipleSearchTexts: true,\n    };\n    const searchString = text.join('\\n') + '\\n';\n    return this.find(searchString, options);\n  }\n\n  public find(text: string, options: FindOptions = {}): boolean {\n    if (!NgxExtendedPdfViewerComponent.ngxExtendedPdfViewerInitialized) {\n      // tslint:disable-next-line:quotemark\n      console.error(\"The PDF viewer hasn't finished initializing. Please call find() later.\");\n      return false;\n    } else {\n      const highlightAllCheckbox = document.getElementById('findHighlightAll') as HTMLInputElement;\n      if (highlightAllCheckbox) {\n        highlightAllCheckbox.checked = options.highlightAll || false;\n      }\n      const findPageRange = document.getElementById('findRange') as HTMLInputElement;\n      if (findPageRange) {\n        findPageRange.value = options.pageRange || '';\n      }\n      const findCurrentPageCheckbox = document.getElementById('findCurrentPage') as HTMLInputElement;\n      if (findCurrentPageCheckbox) {\n        findCurrentPageCheckbox.checked = options.currentPage || false;\n      }\n\n      const matchCaseCheckbox = document.getElementById('findMatchCase') as HTMLInputElement;\n      if (matchCaseCheckbox) {\n        matchCaseCheckbox.checked = options.matchCase || false;\n      }\n      const entireWordCheckbox = document.getElementById('findEntireWord') as HTMLInputElement;\n      if (entireWordCheckbox) {\n        entireWordCheckbox.checked = options.wholeWords || false;\n      }\n      const findIgnoreAccentsCheckbox = document.getElementById('findIgnoreAccents') as HTMLInputElement;\n      if (findIgnoreAccentsCheckbox) {\n        findIgnoreAccentsCheckbox.checked = options.ignoreAccents || false;\n      }\n      const multipleSearchTerms = options.findMultipleSearchTexts || text.includes('\\n') || false;\n      const findMultipleSearchTextsCheckbox = document.getElementById('findMultipleSearchTexts') as HTMLInputElement;\n      if (findMultipleSearchTextsCheckbox) {\n        findMultipleSearchTextsCheckbox.checked = multipleSearchTerms;\n      }\n      const individualWordsModeCheckbox = document.getElementById('individualWordsMode') as HTMLInputElement;\n      if (individualWordsModeCheckbox) {\n        individualWordsModeCheckbox.checked = false;\n      }\n      const fuzzySearchCheckbox = document.getElementById('findFuzzy') as HTMLInputElement;\n      if (fuzzySearchCheckbox) {\n        fuzzySearchCheckbox.checked = options.fuzzySearch || false;\n      }\n      const inputField = multipleSearchTerms ? document.getElementById('findInputMultiline') : document.getElementById('findInput');\n      if (inputField) {\n        if (inputField instanceof HTMLTextAreaElement) {\n          inputField.value = text;\n\n          // todo dirty hack!\n          inputField.classList.remove('hidden');\n          (document.getElementById('findInput') as HTMLInputElement).classList.add('hidden');\n          (document.getElementById('individualWordsModeLabel') as HTMLInputElement).classList.remove('hidden');\n          (document.getElementById('individualWordsMode') as HTMLInputElement).classList.remove('hidden');\n          // end of the dirty hack\n        } else if (inputField instanceof HTMLInputElement) {\n          inputField.value = text;\n          // todo dirty hack!\n          inputField.classList.remove('hidden');\n          (document.getElementById('findInputMultiline') as HTMLInputElement).classList.add('hidden');\n          (document.getElementById('individualWordsModeLabel') as HTMLInputElement).classList.add('hidden');\n          (document.getElementById('individualWordsMode') as HTMLInputElement).classList.add('hidden');\n          // end of the dirty hack\n        }\n        inputField.dispatchEvent(new Event('input'));\n        return true;\n      } else {\n        // tslint:disable-next-line:quotemark\n        console.error(\"Unexpected error: the input field used to search isn't part of the DOM.\");\n        return false;\n      }\n    }\n  }\n\n  public findNext(): boolean {\n    if (!NgxExtendedPdfViewerComponent.ngxExtendedPdfViewerInitialized) {\n      // tslint:disable-next-line:quotemark\n      console.error(\"The PDF viewer hasn't finished initializing. Please call findNext() later.\");\n      return false;\n    } else {\n      const button = document.getElementById('findNext');\n      if (button) {\n        button.click();\n        return true;\n      }\n      return false;\n    }\n  }\n\n  public findPrevious(): boolean {\n    if (!NgxExtendedPdfViewerComponent.ngxExtendedPdfViewerInitialized) {\n      // tslint:disable-next-line:quotemark\n      console.error(\"The PDF viewer hasn't finished initializing. Please call findPrevious() later.\");\n      return false;\n    } else {\n      const button = document.getElementById('findPrevious');\n      if (button) {\n        button.click();\n        return true;\n      }\n      return false;\n    }\n  }\n\n  public print(printRange?: PDFPrintRange) {\n    const PDFViewerApplication: IPDFViewerApplication = (window as any).PDFViewerApplication;\n    const alreadyThere = !!window['isInPDFPrintRange'] && !printRange;\n    if (!alreadyThere) {\n      if (!printRange) {\n        printRange = {} as PDFPrintRange;\n      }\n      this.setPrintRange(printRange);\n    }\n    (window as any).printPDF();\n    if (!alreadyThere) {\n      PDFViewerApplication.eventBus.on('afterprint', () => {\n        this.removePrintRange();\n      });\n    }\n  }\n\n  public removePrintRange() {\n    window['isInPDFPrintRange'] = undefined;\n    window['filteredPageCount'] = undefined;\n  }\n\n  public setPrintRange(printRange: PDFPrintRange) {\n    const PDFViewerApplication: IPDFViewerApplication = (window as any).PDFViewerApplication;\n    window['isInPDFPrintRange'] = (page: number) => this.isInPDFPrintRange(page, printRange as PDFPrintRange);\n    window['filteredPageCount'] = this.filteredPageCount(PDFViewerApplication.pagesCount, printRange);\n  }\n\n  public filteredPageCount(pageCount: number, range: PDFPrintRange): number {\n    let result = 0;\n    for (let page = 1; page <= pageCount; page++) {\n      if (this.isInPDFPrintRange(page, range)) {\n        result++;\n      }\n    }\n    return result;\n  }\n\n  public isInPDFPrintRange(pageIndex: number, printRange: PDFPrintRange) {\n    const page = pageIndex + 1;\n    if (printRange.from) {\n      if (page < printRange.from) {\n        return false;\n      }\n    }\n    if (printRange.to) {\n      if (page > printRange.to) {\n        return false;\n      }\n    }\n    if (printRange.excluded) {\n      let e = printRange.excluded as Array<number>;\n      if (e.some((p) => p === page)) {\n        return false;\n      }\n    }\n    if (printRange.included) {\n      if (!printRange.included.some((p) => p === page)) {\n        return false;\n      }\n    }\n    return true;\n  }\n\n  public getPageAsText(pageNumber: number): Promise<string> {\n    const PDFViewerApplication: IPDFViewerApplication = (window as any).PDFViewerApplication;\n    const pdfDocument = PDFViewerApplication.pdfDocument;\n\n    const pagePromise: Promise<any> = pdfDocument.getPage(pageNumber);\n\n    const extractTextSnippets = (pdfPage) =>\n      new Promise<any>((resolve, reject) => {\n        const textSnippets = pdfPage.getTextContent();\n        resolve(textSnippets);\n      });\n    const combineTextSnippets = (textSnippets) =>\n      new Promise<string>((resolve, reject) => {\n        const text = this.convertTextInfoToText(textSnippets);\n        resolve(text);\n      });\n    return pagePromise.then(extractTextSnippets).then(combineTextSnippets);\n  }\n\n  private convertTextInfoToText(textInfo: any): string {\n    if (!textInfo) {\n      return '';\n    }\n    return textInfo.items.map((info) => info.str).join('');\n  }\n\n  public getPageAsImage(pageNumber: number, scale: PDFExportScaleFactor, background?: string, backgroundColorToReplace: string = '#FFFFFF'): Promise<any> {\n    const PDFViewerApplication: IPDFViewerApplication = (window as any).PDFViewerApplication;\n    const pdfDocument = PDFViewerApplication.pdfDocument;\n    const pagePromise: Promise<any> = pdfDocument.getPage(pageNumber);\n    const imagePromise = (pdfPage) =>\n      new Promise<any>((resolve, reject) => {\n        resolve(this.draw(pdfPage, scale, background, backgroundColorToReplace));\n      });\n\n    return pagePromise.then(imagePromise);\n  }\n\n  private draw(pdfPage: any, scale: PDFExportScaleFactor, background?: string, backgroundColorToReplace: string = '#FFFFFF'): Promise<HTMLCanvasElement> {\n    let zoomFactor = 1;\n    if (scale.scale) {\n      zoomFactor = scale.scale;\n    } else if (scale.width) {\n      zoomFactor = scale.width / pdfPage.getViewport({ scale: 1 }).width;\n    } else if (scale.height) {\n      zoomFactor = scale.height / pdfPage.getViewport({ scale: 1 }).height;\n    }\n    const viewport = pdfPage.getViewport({\n      scale: zoomFactor,\n    });\n    const { ctx, canvas } = this.getPageDrawContext(viewport.width, viewport.height);\n    const drawViewport = viewport.clone();\n\n    const renderContext = {\n      canvasContext: ctx,\n      viewport: drawViewport,\n      background,\n      backgroundColorToReplace,\n    };\n    const renderTask = pdfPage.render(renderContext);\n\n    const dataUrlPromise = () =>\n      new Promise<string>((resolve, reject) => {\n        resolve(canvas.toDataURL());\n      });\n\n    return renderTask.promise.then(dataUrlPromise);\n  }\n\n  private getPageDrawContext(width: number, height: number): DrawContext {\n    const canvas = document.createElement('canvas') as HTMLCanvasElement;\n    const ctx = canvas.getContext('2d', { alpha: true });\n    if (!ctx) {\n      // tslint:disable-next-line: quotemark\n      throw new Error(\"Couldn't create the 2d context\");\n    }\n\n    canvas.width = width;\n    canvas.height = height;\n    canvas.style.width = width + 'px';\n    canvas.style.height = height + 'px';\n\n    return { ctx, canvas };\n  }\n\n  public async getCurrentDocumentAsBlob(): Promise<Blob> {\n    const PDFViewerApplication: IPDFViewerApplication = (window as any).PDFViewerApplication;\n    const data = await PDFViewerApplication.pdfDocument.saveDocument(PDFViewerApplication.pdfDocument.annotationStorage);\n    return new Blob([data], { type: 'application/pdf' });\n  }\n\n  public async getFormData(currentFormValues = true): Promise<Array<Object>> {\n    const PDFViewerApplication: IPDFViewerApplication = (window as any).PDFViewerApplication;\n    const pdf /*: PDFDocumentProxy */ = PDFViewerApplication.pdfDocument;\n    // screen DPI / PDF DPI\n    const dpiRatio = 96 / 72;\n    const result: Array<Object> = [];\n    for (let i = 1; i <= pdf.numPages; i++) {\n      // track the current page\n      const currentPage /* : PDFPageProxy */ = await pdf.getPage(i);\n      const annotations = await currentPage.getAnnotations();\n\n      annotations\n        .filter((a) => a.subtype === 'Widget') // get the form field annotations only\n        .map((a) => ({ ...a })) // only expose copies of the annotations to avoid side-effects\n        .forEach((a) => {\n          // get the rectangle that represent the single field\n          // and resize it according to the current DPI\n          const fieldRect: Array<number> = currentPage.getViewport({ scale: dpiRatio }).convertToViewportRectangle(a.rect);\n\n          // add the corresponding input\n          if (currentFormValues && a.fieldName) {\n            try {\n              if (a.exportValue) {\n                const currentValue = PDFViewerApplication.pdfDocument.annotationStorage.getValue(a.id, a.fieldName + '/' + a.exportValue, '');\n                a.value = currentValue?.value;\n              } else if (a.radioButton) {\n                const currentValue = PDFViewerApplication.pdfDocument.annotationStorage.getValue(a.id, a.fieldName + '/' + a.fieldValue, '');\n                a.value = currentValue?.value;\n              } else {\n                const currentValue = PDFViewerApplication.pdfDocument.annotationStorage.getValue(a.id, a.fieldName, '');\n                a.value = currentValue?.value;\n              }\n            } catch (exception) {\n              // just ignore it\n            }\n          }\n          result.push({ fieldAnnotation: a, fieldRect, pageNumber: i });\n        });\n    }\n    return result;\n  }\n\n  /**\n   * Adds a page to the rendering queue\n   * @param {number} pageIndex Index of the page to render\n   * @returns {boolean} false, if the page has already been rendered\n   * or if it's out of range\n   */\n  public addPageToRenderQueue(pageIndex: number): boolean {\n    const PDFViewerApplication: IPDFViewerApplication = (window as any).PDFViewerApplication;\n    return PDFViewerApplication.pdfViewer.addPageToRenderQueue(pageIndex);\n  }\n\n  public isRenderQueueEmpty(): boolean {\n    const scrolledDown = true;\n    const renderExtra = false;\n    const PDFViewerApplication: IPDFViewerApplication = (window as any).PDFViewerApplication;\n    const nextPage = PDFViewerApplication.pdfViewer.renderingQueue.getHighestPriority(\n      PDFViewerApplication.pdfViewer._getVisiblePages(),\n      PDFViewerApplication.pdfViewer._pages,\n      scrolledDown,\n      renderExtra\n    );\n    return !nextPage;\n  }\n\n  public hasPageBeenRendered(pageIndex: number): boolean {\n    const PDFViewerApplication: IPDFViewerApplication = (window as any).PDFViewerApplication;\n    const pages = PDFViewerApplication.pdfViewer._pages;\n    if (pages.length > pageIndex && pageIndex >= 0) {\n      const pageView = pages[pageIndex];\n      const isLoading = pageView.div.querySelector('.loadingIcon');\n      return !isLoading;\n    }\n    return false;\n  }\n\n  public currentlyRenderedPages(): Array<number> {\n    const PDFViewerApplication: IPDFViewerApplication = (window as any).PDFViewerApplication;\n    const pages = PDFViewerApplication.pdfViewer._pages;\n    return pages.filter((page) => !page.div.querySelector('.loadingIcon')).map((page) => page.id);\n  }\n\n  public numberOfPages(): number {\n    const PDFViewerApplication: IPDFViewerApplication = (window as any).PDFViewerApplication;\n    const pages = PDFViewerApplication.pdfViewer._pages;\n    return pages.length;\n  }\n\n  public getCurrentlyVisiblePageNumbers(): Array<number> {\n    const app = (window as any).PDFViewerApplication as IPDFViewerApplication;\n    const pages = (app.pdfViewer._getVisiblePages() as any).views as Array<any>;\n    const pageNumbers = pages?.map((page) => page.id);\n    return pageNumbers;\n  }\n\n  public recalculateSize(): void {\n    this.recalculateSize$.next();\n  }\n\n  public async listLayers(): Promise<Array<PdfLayer> | undefined> {\n    const PDFViewerApplication: IPDFViewerApplication = (window as any).PDFViewerApplication;\n\n    const optionalContentConfig = await PDFViewerApplication.pdfViewer.optionalContentConfigPromise;\n    if (optionalContentConfig) {\n      const levelData = optionalContentConfig.getOrder();\n      console.log(levelData);\n      const layerIds = levelData.filter((groupId) => typeof groupId !== 'object');\n      return layerIds.map((layerId) => {\n        const config = optionalContentConfig.getGroup(layerId);\n        return {\n          layerId: layerId,\n          name: config.name,\n          visible: config.visible,\n        } as PdfLayer;\n      });\n    }\n    return undefined;\n  }\n\n  public async toggleLayer(layerId: string): Promise<void> {\n    const PDFViewerApplication: IPDFViewerApplication = (window as any).PDFViewerApplication;\n    const optionalContentConfig = await PDFViewerApplication.pdfViewer.optionalContentConfigPromise;\n    if (optionalContentConfig) {\n      let isVisible = optionalContentConfig.isVisible(layerId);\n      const checkbox = document.querySelector(`input[id='${layerId}']`);\n      if (checkbox) {\n        isVisible = (checkbox as HTMLInputElement).checked;\n        (checkbox as HTMLInputElement).checked = !isVisible;\n      }\n      optionalContentConfig.setVisibility(layerId, !isVisible);\n      PDFViewerApplication.eventBus.dispatch('optionalcontentconfig', {\n        source: this,\n        promise: Promise.resolve(optionalContentConfig),\n      });\n    }\n  }\n\n  public scrollPageIntoView(pageNumber: number, pageSpot?: { top?: number | string; left?: number | string }): void {\n    const PDFViewerApplication: IPDFViewerApplication = (window as any).PDFViewerApplication;\n    const viewer = PDFViewerApplication.pdfViewer as any;\n    viewer.scrollPagePosIntoView(pageNumber, pageSpot);\n  }\n}\n","import { isPlatformBrowser, Location, PlatformLocation } from '@angular/common';\nimport {\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  EventEmitter,\n  HostListener,\n  Inject,\n  Input,\n  NgZone,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Output,\n  PLATFORM_ID,\n  SimpleChanges,\n  TemplateRef,\n  ViewChild\n} from '@angular/core';\nimport { Annotation } from './Annotation';\nimport { PdfDocumentLoadedEvent } from './events/document-loaded-event';\nimport { FileInputChanged } from './events/file-input-changed';\nimport { FindResult, FindResultMatchesCount, FindState } from './events/find-result';\nimport { HandtoolChanged } from './events/handtool-changed';\nimport { PageNumberChange } from './events/page-number-change';\nimport { PageRenderEvent } from './events/page-render-event';\nimport { PageRenderedEvent } from './events/page-rendered-event';\nimport { PagesLoadedEvent } from './events/pages-loaded-event';\nimport { PagesRotationEvent } from './events/pages-rotation-event';\nimport { PdfDownloadedEvent } from './events/pdf-downloaded-event';\nimport { PdfLoadedEvent } from './events/pdf-loaded-event';\nimport { PdfLoadingStartsEvent } from './events/pdf-loading-starts-event';\nimport { PdfThumbnailDrawnEvent } from './events/pdf-thumbnail-drawn-event';\nimport { ProgressBarEvent } from './events/progress-bar-event';\nimport { ScaleChangingEvent } from './events/scale-changing-event';\nimport { SidebarviewChange } from './events/sidebarview-changed';\nimport { TextLayerRenderedEvent } from './events/textlayer-rendered';\nimport { NgxExtendedPdfViewerService } from './ngx-extended-pdf-viewer.service';\nimport { PdfBackground } from './options/pdf-background';\nimport { PdfCursorTools } from './options/pdf-cursor-tools';\nimport { getVersionSuffix, pdfDefaultOptions } from './options/pdf-default-options';\nimport { PageViewModeType, ScrollModeChangedEvent, ScrollModeType } from './options/pdf-viewer';\nimport { IPDFViewerApplication } from './options/pdf-viewer-application';\nimport { IPDFViewerApplicationOptions } from './options/pdf-viewer-application-options';\nimport { ServiceWorkerOptionsType } from './options/service-worker-options';\nimport { VerbosityLevel } from './options/verbosity-level';\nimport { PdfDummyComponentsComponent } from './pdf-dummy-components/pdf-dummy-components.component';\nimport { PDFNotificationService } from './pdf-notification-service';\nimport { PinchOnMobileSupport } from './pinch-on-mobile-support';\nimport { PdfSecondaryToolbarComponent } from './secondary-toolbar/pdf-secondary-toolbar/pdf-secondary-toolbar.component';\nimport { PdfSidebarComponent } from './sidebar/pdf-sidebar/pdf-sidebar.component';\nimport { UnitToPx } from './unit-to-px';\n\nimport { RelativeCoordsSupport } from './relative-coords-support';\n\ndeclare const ServiceWorkerOptions: ServiceWorkerOptionsType; // defined in viewer.js\ndeclare class ResizeObserver {\n  constructor(param: () => void);\n  public observe(div: HTMLElement);\n}\n\ninterface ElementAndPosition {\n  element: HTMLElement;\n  x: number;\n  y: number;\n}\n\nexport interface FormDataType {\n  [fieldName: string]: string | number | boolean | string[];\n}\n\n@Component({\n  selector: 'ngx-extended-pdf-viewer',\n  templateUrl: './ngx-extended-pdf-viewer.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgxExtendedPdfViewerComponent implements OnInit, AfterViewInit, OnChanges, OnDestroy {\n  public static ngxExtendedPdfViewerInitialized = false;\n  public ngxExtendedPdfViewerIncompletelyInitialized = true;\n\n  /**\n   * The dummy components are inserted automatically when the user customizes the toolbar\n   * without adding every original toolbar item. Without the dummy components, the\n   * initialization code of pdf.js crashes because it assume that every standard widget is there.\n   */\n  @ViewChild(PdfDummyComponentsComponent)\n  public dummyComponents: PdfDummyComponentsComponent;\n\n  @ViewChild('root')\n  public root: ElementRef;\n\n  private pinchOnMobileSupport: PinchOnMobileSupport | undefined;\n  public relativeCoordsSupport: RelativeCoordsSupport | undefined;\n\n  /* UI templates */\n  @Input()\n  public customFindbarInputArea: TemplateRef<any> | undefined;\n\n  @Input()\n  public customToolbar: TemplateRef<any> | undefined;\n\n  @Input()\n  public customFindbar: TemplateRef<any> | undefined;\n\n  @Input()\n  public customFindbarButtons: TemplateRef<any> | undefined;\n\n  @Input()\n  public customPdfViewer: TemplateRef<any> | undefined;\n\n  @Input()\n  public customSecondaryToolbar: TemplateRef<any> | undefined;\n\n  @Input()\n  public customSidebar: TemplateRef<any> | undefined;\n\n  @Input()\n  public customThumbnail: TemplateRef<any> | undefined;\n\n  @Input()\n  public customFreeFloatingBar: TemplateRef<any> | undefined;\n\n  @Input()\n  public showFreeFloatingBar = true;\n\n  @Input()\n  public enableDragAndDrop = true;\n\n  @Input()\n  public formData: FormDataType = {};\n\n  /** Maps the internal ids of the annotations of pdf.js to their field name */\n  private formIdToFieldName = {};\n  private formRadioButtonValueToId = {};\n\n  @Output()\n  public formDataChange = new EventEmitter<FormDataType>();\n\n  public _pageViewMode: PageViewModeType = 'multiple';\n\n  public baseHref: string;\n\n  public get pageViewMode(): PageViewModeType {\n    return this._pageViewMode;\n  }\n\n  @Input()\n  public set pageViewMode(viewMode: PageViewModeType) {\n    this._pageViewMode = viewMode;\n    if (viewMode === 'infinite-scroll') {\n      this.scrollMode = ScrollModeType.vertical;\n      this.spread = 'off';\n    } else if (viewMode !== 'multiple') {\n      this.scrollMode = ScrollModeType.vertical;\n    }\n    if (viewMode === 'single') {\n      // since pdf.js, our custom single-page-mode has been replaced by the standard scrollMode=\"page\"\n      this.scrollMode = ScrollModeType.page;\n      this._pageViewMode = 'multiple';\n    }\n    if (viewMode === 'book') {\n      this.showBorders = false;\n    }\n  }\n\n  @Output()\n  public progress = new EventEmitter<ProgressBarEvent>();\n\n  @ViewChild('pdfSecondaryToolbarComponent')\n  private secondaryToolbarComponent: PdfSecondaryToolbarComponent;\n\n  @ViewChild('pdfsidebar')\n  private sidebarComponent: PdfSidebarComponent;\n\n  /* regular attributes */\n\n  private _src: string | ArrayBuffer | Uint8Array | { range: any } | undefined;\n\n  @Output()\n  public srcChange = new EventEmitter<string>();\n\n  @Input()\n  public scrollMode: ScrollModeType | undefined = undefined;\n\n  @Output()\n  public scrollModeChange = new EventEmitter<ScrollModeType>();\n\n  @Input()\n  public authorization: Object | undefined = undefined;\n\n  @Input()\n  public httpHeaders: Object | undefined = undefined;\n\n  @Input()\n  public contextMenuAllowed = true;\n\n  @Output()\n  public afterPrint = new EventEmitter<void>();\n\n  @Output()\n  public beforePrint = new EventEmitter<void>();\n\n  @Output()\n  public currentZoomFactor = new EventEmitter<number>();\n\n  /** This field stores the previous zoom level if the page is enlarged with a double-tap or double-click */\n  private previousZoom: string | number | undefined;\n\n  @Input()\n  public enablePrint = true;\n\n  /**\n   * Number of milliseconds to wait between initializing the PDF viewer and loading the PDF file.\n   * Most users can let this parameter safely at it's default value of zero.\n   * Set this to 1000 or higher if you run into timing problems (typically caused by loading the locale files\n   * after the PDF files, so they are not available when the PDF viewer is initialized).\n   */\n  @Input()\n  public delayFirstView = 0;\n\n  /** store the timeout id so it can be canceled if user leaves the page before the PDF is shown */\n  private initTimeout: any;\n\n  /** How many log messages should be printed?\n   * Legal values: VerbosityLevel.INFOS (= 5), VerbosityLevel.WARNINGS (= 1), VerbosityLevel.ERRORS (= 0) */\n  @Input()\n  public logLevel = VerbosityLevel.WARNINGS;\n\n  @Input()\n  public enablePinchOnMobile = false;\n\n  @Input()\n  public enableRelativeCoords: boolean = false;\n  @Input()\n  public relativeCoordsOptions: Object = {};\n\n  /** Use the minified (minifiedJSLibraries=\"true\", which is the default) or the user-readable pdf.js library (minifiedJSLibraries=\"false\") */\n  @Input()\n  public minifiedJSLibraries = true;\n\n  public primaryMenuVisible = true;\n\n  /** option to increase (or reduce) print resolution. Default is 150 (dpi). Sensible values\n   * are 300, 600, and 1200. Note the increase memory consumption, which may even result in a browser crash. */\n  @Input()\n  public printResolution = null;\n\n  @Input()\n  public rotation: 0 | 90 | 180 | 270;\n\n  @Output()\n  public rotationChange = new EventEmitter<0 | 90 | 180 | 270>();\n\n  public hasSignature: boolean;\n\n  @Input()\n  public set src(url: string | ArrayBuffer | Blob | Uint8Array | URL | { range: any }) {\n    if (url instanceof Uint8Array) {\n      this._src = url.buffer;\n    } else if (url instanceof URL) {\n      this._src = url.toString();\n    } else if (typeof Blob !== 'undefined' && url instanceof Blob) {\n      // additional check introduced to support server side rendering\n      const reader = new FileReader();\n      reader.onloadend = () => {\n        setTimeout(() => {\n          this.src = new Uint8Array(reader.result as ArrayBuffer);\n          if (NgxExtendedPdfViewerComponent.ngxExtendedPdfViewerInitialized) {\n            if (this.ngxExtendedPdfViewerIncompletelyInitialized) {\n              this.openPDF();\n            } else {\n              (async () => await this.openPDF2())();\n            }\n            // else openPDF is called later, so we do nothing to prevent loading the PDF file twice\n          }\n        });\n      };\n      reader.readAsArrayBuffer(url);\n    } else if (typeof url === 'string') {\n      this._src = url;\n      if (url.length > 980) {\n        // minimal length of a base64 encoded PDF\n        if (url.length % 4 === 0) {\n          if (/^[a-zA-Z\\d\\/+]+={0,2}$/.test(url)) {\n            console.error('The URL looks like a base64 encoded string. If so, please use the attribute [base64Src] instead of [src]');\n          }\n        }\n      }\n    } else {\n      (this._src as any) = url;\n    }\n  }\n\n  @Input()\n  public set base64Src(base64: string | null | undefined) {\n    if (base64) {\n      const binary_string = window.atob(base64);\n      const len = binary_string.length;\n      const bytes = new Uint8Array(len);\n      for (let i = 0; i < len; i++) {\n        bytes[i] = binary_string.charCodeAt(i);\n      }\n      this.src = bytes.buffer;\n    } else {\n      this._src = undefined;\n    }\n  }\n\n  /**\n   * The combination of height, minHeight, and autoHeight ensures the PDF height of the PDF viewer is calculated correctly when the height is a percentage.\n   * By default, many CSS frameworks make a div with 100% have a height or zero pixels. checkHeigth() fixes this.\n   */\n  private autoHeight = false;\n\n  @Input()\n  public minHeight: string | undefined = undefined;\n\n  private _height = '100%';\n\n  @Input()\n  public set height(h: string) {\n    this.minHeight = undefined;\n    this.autoHeight = false;\n    if (h) {\n      this._height = h;\n    } else {\n      this.height = '100%';\n    }\n    setTimeout(() => {\n      this.checkHeight();\n    });\n  }\n\n  public get height() {\n    return this._height;\n  }\n\n  /**\n   * If this flag is true, this components adds a link to the locale assets. The pdf viewer\n   * sees this link and uses it to load the locale files automatically.\n   * @param useBrowserLocale boolean\n   */\n  @Input()\n  public useBrowserLocale = false;\n\n  @Input()\n  public forceUsingLegacyES5 = false;\n\n  @Input()\n  public backgroundColor = '#e8e8eb';\n\n  @Input()\n  public pdfBackground: PdfBackground = undefined;\n\n  @Input()\n  public pdfBackgroundColorToReplace: string | ((page: number, pageLabel: string) => string | undefined) | undefined = '#ffffff';\n\n  /** Allows the user to define the name of the file after clicking \"download\" */\n  @Input()\n  public filenameForDownload: string | undefined = undefined;\n\n  /** Allows the user to disable the keyboard bindings completely */\n  @Input()\n  public ignoreKeyboard = false;\n\n  /** Allows the user to disable a list of key bindings. */\n  @Input()\n  public ignoreKeys: Array<string> = [];\n\n  /** Allows the user to enable a list of key bindings explicitly. If this property is set, every other key binding is ignored. */\n  @Input()\n  public acceptKeys: Array<string> = [];\n\n  /** Allows the user to put the viewer's svg images into an arbitrary folder */\n  @Input()\n  public imageResourcesPath = './' + pdfDefaultOptions.assetsFolder + '/images/';\n\n  /** Allows the user to put their locale folder into an arbitrary folder */\n  @Input()\n  public localeFolderPath = './' + pdfDefaultOptions.assetsFolder + '/locale';\n\n  /** Override the default locale. This must be the complete locale name, such as \"es-ES\". The string is allowed to be all lowercase.\n   */\n  @Input()\n  public language: string | undefined = undefined;\n\n  /** By default, listening to the URL is deactivated because often the anchor tag is used for the Angular router */\n  @Input()\n  public listenToURL = false;\n\n  /** Navigate to a certain \"named destination\" */\n  @Input()\n  public nameddest: string | undefined = undefined;\n\n  /** allows you to pass a password to read password-protected files */\n  @Input()\n  public password: string | undefined = undefined;\n\n  public _showSidebarButton = true;\n\n  public viewerPositionTop = '32px';\n\n  /** pdf.js can show signatures, but fails to verify them. So they are switched off by default.\n   * Set \"[showUnverifiedSignatures]\"=\"true\" to display e-signatures nonetheless.\n   */\n  @Input()\n  public showUnverifiedSignatures = false;\n\n  @Input()\n  public startTabindex: number | undefined;\n\n  public get showSidebarButton() {\n    return this._showSidebarButton;\n  }\n  @Input()\n  public set showSidebarButton(show: boolean) {\n    this._showSidebarButton = show;\n    const isIE = /msie\\s|trident\\//i.test(window.navigator.userAgent);\n    let factor = 1;\n    if (isIE) {\n      factor = Number((this._mobileFriendlyZoom || '100').replace('%', '')) / 100;\n    }\n\n    if (this._showSidebarButton) {\n      this.findbarLeft = (68 * factor).toString() + 'px';\n    } else {\n      this.findbarLeft = '0px';\n    }\n  }\n\n  @Input()\n  public sidebarVisible: boolean | undefined = undefined;\n\n  @Output()\n  public sidebarVisibleChange = new EventEmitter<boolean>();\n\n  @Input()\n  public showFindButton: boolean | undefined = undefined;\n\n  @Input()\n  public showFindHighlightAll = true;\n\n  @Input()\n  public showFindMatchCase = true;\n\n  @Input()\n  public showFindCurrentPageOnly = true;\n\n  @Input()\n  public showFindPageRange = true;\n\n  @Input()\n  public showFindEntireWord = true;\n\n  @Input()\n  public showFindEntirePhrase = true;\n\n  @Input()\n  public showFindIgnoreAccents = true;\n\n  @Input()\n  public showFindFuzzySearch = true;\n\n  @Input()\n  public showFindResultsCount = true;\n\n  @Input()\n  public showFindMessages = true;\n\n  @Input()\n  public showPagingButtons = true;\n  @Input()\n  public showZoomButtons = true;\n  @Input()\n  public showPresentationModeButton = false;\n  @Input()\n  public showOpenFileButton = true;\n  @Input()\n  public showPrintButton = true;\n  @Input()\n  public showDownloadButton = true;\n  @Input()\n  public showBookmarkButton = true;\n\n  @Input()\n  public theme: 'dark' | 'light' | 'custom' | string = 'light';\n\n  @Input()\n  public formTheme: 'dark' | 'light' | 'custom' | string = 'light';\n\n  @Input()\n  public showToolbar = true;\n\n  @Input()\n  public showSecondaryToolbarButton = true;\n\n  /** Set by the event (secondaryMenuIsEmpty) */\n  public hideKebabMenuForSecondaryToolbar = false;\n\n  @Input()\n  public showRotateButton = true;\n  @Input()\n  public handTool = true;\n  @Output()\n  public handToolChange = new EventEmitter<boolean>();\n\n  @Input()\n  public showHandToolButton = false;\n\n  private _showScrollingButton = true;\n\n  public get showScrollingButton() {\n    if (this.pageViewMode === 'multiple') {\n      return this._showScrollingButton;\n    }\n    return false;\n  }\n\n  @Input()\n  public set showScrollingButton(val: any) {\n    this._showScrollingButton = val;\n  }\n\n  private _showSpreadButton = true;\n\n  public get showSpreadButton() {\n    if (this.pageViewMode !== 'infinite-scroll') {\n      return this._showSpreadButton;\n    }\n    return false;\n  }\n\n  @Input()\n  public set showSpreadButton(val: any) {\n    this._showSpreadButton = val;\n  }\n\n  @Input()\n  public showPropertiesButton = true;\n  @Input()\n  public showBorders = true;\n\n  @Input()\n  public spread: 'off' | 'even' | 'odd';\n\n  @Output()\n  public spreadChange = new EventEmitter<'off' | 'even' | 'odd'>();\n\n  @Output()\n  public thumbnailDrawn = new EventEmitter<PdfThumbnailDrawnEvent>();\n\n  private _page: number | undefined = undefined;\n\n  public get page(): number | undefined {\n    return this._page;\n  }\n\n  @Input()\n  public set page(p: number | undefined) {\n    if (p) {\n      // silently cope with strings\n      this._page = Number(p);\n    } else {\n      this._page = undefined;\n    }\n  }\n\n  @Output()\n  public pageChange = new EventEmitter<number | undefined>();\n\n  @Input()\n  public pageLabel: string | undefined = undefined;\n\n  @Output()\n  public pageLabelChange = new EventEmitter<string | undefined>();\n\n  @Output()\n  public pagesLoaded = new EventEmitter<PagesLoadedEvent>();\n\n  @Output()\n  public pageRender = new EventEmitter<PageRenderEvent>();\n\n  @Output()\n  public pageRendered = new EventEmitter<PageRenderedEvent>();\n\n  @Output()\n  public pdfDownloaded = new EventEmitter<PdfDownloadedEvent>();\n\n  @Output()\n  public pdfLoaded = new EventEmitter<PdfLoadedEvent>();\n\n  @Output()\n  public pdfLoadingStarts = new EventEmitter<PdfLoadingStartsEvent>();\n\n  @Output()\n  public pdfLoadingFailed = new EventEmitter<Error>();\n\n  @Input()\n  public textLayer: boolean | undefined = undefined;\n\n  @Output()\n  public textLayerRendered = new EventEmitter<TextLayerRenderedEvent>();\n\n  @Output()\n  public updateFindMatchesCount = new EventEmitter<FindResultMatchesCount>();\n\n  @Output()\n  public updateFindState = new EventEmitter<FindState>();\n\n  /** Legal values: undefined, 'auto', 'page-actual', 'page-fit', 'page-width', or '50' (or any other percentage) */\n  @Input()\n  public zoom: string | number | undefined = undefined;\n\n  @Output()\n  public zoomChange = new EventEmitter<string | number | undefined>();\n\n  @Input()\n  public zoomLevels = ['auto', 'page-actual', 'page-fit', 'page-width', 0.5, 1, 1.25, 1.5, 2, 3, 4];\n\n  @Input()\n  public maxZoom = 10;\n\n  @Input()\n  public minZoom = 0.1;\n\n  /** This attribute allows you to increase the size of the UI elements so you can use them on small mobile devices.\n   * This attribute is a string with a percent character at the end (e.g. \"150%\").\n   */\n  @Input() _mobileFriendlyZoom: string = '100%';\n\n  public mobileFriendlyZoomScale = 1;\n\n  @Input()\n  public wheelAction: 'scroll' | 'zoom' = 'scroll';\n\n  public toolbarMarginTop = '0px';\n\n  public toolbarWidth = '100%';\n\n  private toolbar: HTMLElement | undefined = undefined;\n  public onToolbarLoaded(toolbarElement: HTMLElement): void {\n    this.toolbar = toolbarElement;\n  }\n\n  public toolbarWidthInPixels = 100;\n\n  public secondaryToolbarTop: string | undefined = undefined;\n\n  public sidebarPositionTop: string | undefined = undefined;\n\n  // dirty IE11 hack - temporary solution\n  public findbarTop: string | undefined = undefined;\n\n  // dirty IE11 hack - temporary solution\n  public findbarLeft: string | undefined = undefined;\n\n  // Additional PDF Form Field Types #567: Used to store the exported values of radio and checkbox buttons\n  public buttonValues: any = {};\n\n  public get mobileFriendlyZoom() {\n    return this._mobileFriendlyZoom;\n  }\n\n  public get pdfJsVersion(): string {\n    return getVersionSuffix(pdfDefaultOptions.assetsFolder);\n  }\n\n  /**\n   * This attributes allows you to increase the size of the UI elements so you can use them on small mobile devices.\n   * This attribute is a string with a percent character at the end (e.g. \"150%\").\n   */\n  @Input()\n  public set mobileFriendlyZoom(zoom: string) {\n    // tslint:disable-next-line:triple-equals - the type conversion is intended\n    if (zoom == 'true') {\n      zoom = '150%';\n      // tslint:disable-next-line:triple-equals - the type conversion is intended\n    } else if (zoom == 'false' || zoom === undefined || zoom === null) {\n      zoom = '100%';\n    }\n    this._mobileFriendlyZoom = zoom;\n    let factor = 1;\n    if (!String(zoom).includes('%')) {\n      zoom = 100 * Number(zoom) + '%';\n    }\n    factor = Number((zoom || '100').replace('%', '')) / 100;\n    this.mobileFriendlyZoomScale = factor;\n    this.toolbarWidth = (100 / factor).toString() + '%';\n    this.toolbarMarginTop = (factor - 1) * 16 + 'px';\n\n    setTimeout(() => this.calcViewerPositionTop());\n  }\n\n  private shuttingDown = false;\n\n  public calcViewerPositionTop(): void {\n    if (this.toolbar === undefined) {\n      return;\n    }\n    let top = this.toolbar.getBoundingClientRect().height;\n    this.viewerPositionTop = top + 'px';\n\n    const factor = top / 33;\n\n    this.sidebarPositionTop = (33 + 33 * (factor - 1)).toString() + 'px';\n    this.secondaryToolbarTop = (33 + 38 * (factor - 1)).toString() + 'px';\n    this.findbarTop = (34 + 54 * (factor - 1)).toString() + 'px';\n\n    const findButton = document.getElementById('viewFind');\n    if (findButton) {\n      const containerPositionLeft = this.toolbar.getBoundingClientRect().left;\n      const findButtonPosition = findButton.getBoundingClientRect();\n      const left = findButtonPosition.left - containerPositionLeft;\n      this.findbarLeft = left + 'px';\n    } else if (this.showSidebarButton) {\n      this.findbarLeft = 34 + (32 * factor).toString() + 'px';\n    } else {\n      this.findbarLeft = '0px';\n    }\n  }\n\n  constructor(\n    private ngZone: NgZone,\n    @Inject(PLATFORM_ID) private platformId,\n    private notificationService: PDFNotificationService,\n    private location: Location,\n    private elementRef: ElementRef,\n    private platformLocation: PlatformLocation,\n    private cdr: ChangeDetectorRef,\n    private service: NgxExtendedPdfViewerService\n  ) {\n    this.baseHref = this.platformLocation.getBaseHrefFromDOM();\n    this.service.recalculateSize$.subscribe(() => this.onResize());\n  }\n\n  private iOSVersionRequiresES5(): boolean {\n    const match = navigator.appVersion.match(/OS (\\d+)_(\\d+)_?(\\d+)?/);\n    if (match !== undefined && match !== null) {\n      return parseInt(match[1], 10) < 14;\n    }\n\n    return false;\n  }\n\n  private async needsES5(): Promise<boolean> {\n    const isIE = !!(<any>window).MSInputMethodContext && !!(<any>document).documentMode;\n    const isEdge = /Edge\\/\\d./i.test(navigator.userAgent);\n    const isIOs13OrBelow = this.iOSVersionRequiresES5();\n    let needsES5 = typeof ReadableStream === 'undefined' || typeof Promise['allSettled'] === 'undefined';\n    if (needsES5 || isIE || isEdge || isIOs13OrBelow || this.forceUsingLegacyES5) {\n      return true;\n    }\n    return !(await this.supportsOptionalChaining());\n  }\n\n  private supportsOptionalChaining(): Promise<boolean> {\n    return new Promise((resolve) => {\n      const support = (<any>window).supportsOptionalChaining;\n      support !== undefined ? resolve(support) : resolve(this.addScriptOpChainingSupport());\n    });\n  }\n\n  private addScriptOpChainingSupport(): Promise<boolean> {\n    return new Promise((resolve) => {\n      const script = this.createScriptElement(pdfDefaultOptions.assetsFolder + '/op-chaining-support.js');\n      script.onload = () => {\n        script.remove();\n        resolve((<any>window).supportsOptionalChaining as boolean);\n      };\n      script.onerror = () => {\n        script.remove();\n        (<any>window).supportsOptionalChaining = false;\n        resolve(false);\n      };\n\n      document.body.appendChild(script);\n    });\n  }\n\n  private createScriptElement(sourcePath: string): HTMLScriptElement {\n    const script = document.createElement('script');\n    script.async = true;\n    script.type = 'text/javascript';\n    script.src = this.location.normalize(sourcePath);\n\n    return script;\n  }\n\n  private getPdfJsPath(artifact: 'pdf' | 'viewer', needsES5: boolean) {\n    const suffix = this.minifiedJSLibraries ? '.min.js' : '.js';\n    const assets = pdfDefaultOptions.assetsFolder;\n    const versionSuffix = getVersionSuffix(assets);\n    const artifactPath = `/${artifact}-`;\n    const es5 = needsES5 ? '-es5' : '';\n\n    return assets + artifactPath + versionSuffix + es5 + suffix;\n  }\n\n  private loadViewer(): void {\n    window['ngxZone'] = this.ngZone;\n    this.ngZone.runOutsideAngular(() => {\n      if (!window['pdfjs-dist/build/pdf']) {\n        setTimeout(() => this.loadViewer(), 25);\n      } else {\n        this.needsES5().then((needsES5) => {\n          const viewerPath = this.getPdfJsPath('viewer', needsES5);\n          const script = this.createScriptElement(viewerPath);\n          // script.onload = async () => await this.addFeatures(); // DEBUG CODE!!!\n          document.getElementsByTagName('head')[0].appendChild(script);\n        });\n      }\n    });\n  }\n\n  private addFeatures(): Promise<void> {\n    return new Promise((resolve) => {\n      const script = this.createScriptElement(pdfDefaultOptions.assetsFolder + '/additional-features.js');\n      script.onload = () => {\n        script.remove();\n      };\n      script.onerror = () => {\n        script.remove();\n        resolve();\n      };\n\n      document.body.appendChild(script);\n    });\n  }\n\n  ngOnInit() {\n    window['setNgxExtendedPdfViewerSource'] = (url: string) => {\n      this._src = url;\n      console.log(url);\n      this.srcChange.emit(url);\n    };\n\n    if (isPlatformBrowser(this.platformId)) {\n      const link = document.createElement('link');\n      link.href = this.localeFolderPath + '/locale.properties';\n      link.setAttribute('origin', 'ngx-extended-pdf-viewer');\n      link.rel = 'resource';\n      link.type = 'application/l10n';\n      const widget: HTMLElement = this.elementRef.nativeElement;\n      widget.appendChild(link);\n      (window as any).getFormValue = (key: string) => this.getFormValue(key);\n      (window as any).setFormValue = (key: string, value: string) => this.setFormValue(key, value);\n      (window as any).registerAcroformAnnotations = (sortedAnnotations) => this.registerAcroformAnnotations(sortedAnnotations);\n      (window as any).assignFormIdAndFieldName = (key: string, fieldName: string, radioButtonField?: string) =>\n        this.assignFormIdAndFieldName(key, fieldName, radioButtonField);\n\n      this.loadPdfJs();\n    }\n  }\n\n  private loadPdfJs() {\n    window['ngxZone'] = this.ngZone;\n    this.ngZone.runOutsideAngular(() => {\n      if (!window['pdfjs-dist/build/pdf']) {\n        this.needsES5().then((needsES5) => {\n          if (needsES5) {\n            if (!pdfDefaultOptions.needsES5) {\n              console.log(\n                \"If you see the error message \\\"expected expression, got '='\\\" above: you can safely ignore it as long as you know what you're doing. It means your browser is out-of-date. Please update your browser to benefit from the latest security updates and to enjoy a faster PDF viewer.\"\n              );\n            }\n            pdfDefaultOptions.needsES5 = true;\n            console.log('Using the ES5 version of the PDF viewer. Your PDF files show faster if you update your browser.');\n          }\n          window['ngxZone'] = this.ngZone;\n          if (this.minifiedJSLibraries) {\n            if (!pdfDefaultOptions.workerSrc().endsWith('.min.js')) {\n              const src = pdfDefaultOptions.workerSrc();\n              pdfDefaultOptions.workerSrc = () => src.replace('.js', '.min.js');\n            }\n          }\n          const pdfJsPath = this.getPdfJsPath('pdf', needsES5);\n          const script = this.createScriptElement(pdfJsPath);\n          document.getElementsByTagName('head')[0].appendChild(script);\n        });\n      }\n      if (!(window as any).webViewerLoad) {\n        this.loadViewer();\n      }\n    });\n  }\n\n  ngAfterViewInit() {\n    if (typeof window !== 'undefined') {\n      if (!this.shuttingDown) {\n        // hurried users sometimes reload the PDF before it has finished initializing\n        if ((window as any).webViewerLoad) {\n          this.ngZone.runOutsideAngular(() => this.doInitPDFViewer());\n        } else {\n          setTimeout(() => this.ngAfterViewInit(), 50);\n        }\n      }\n    }\n  }\n\n  private assignTabindexes() {\n    if (this.startTabindex) {\n      const r = this.root.nativeElement.cloneNode(true) as HTMLElement;\n      r.classList.add('offscreen');\n      this.showElementsRecursively(r);\n      document.body.appendChild(r);\n      const elements = this.collectElementPositions(r, this.root.nativeElement, []);\n      document.body.removeChild(r);\n      const sorted = elements.sort((a, b) => {\n        if (a.y - b.y > 15) {\n          return 1;\n        }\n        if (b.y - a.y > 15) {\n          return -1;\n        }\n        return a.x - b.x;\n      });\n      for (let i = 0; i < sorted.length; i++) {\n        sorted[i].element.tabIndex = this.startTabindex + i;\n      }\n    }\n  }\n\n  private showElementsRecursively(root: Element): void {\n    root.classList.remove('hidden');\n    root.classList.remove('invisible');\n    root.classList.remove('hiddenXXLView');\n    root.classList.remove('hiddenXLView');\n    root.classList.remove('hiddenLargeView');\n    root.classList.remove('hiddenMediumView');\n    root.classList.remove('hiddenSmallView');\n    root.classList.remove('hiddenTinyView');\n    root.classList.remove('visibleXXLView');\n    root.classList.remove('visibleXLView');\n    root.classList.remove('visibleLargeView');\n    root.classList.remove('visibleMediumView');\n    root.classList.remove('visibleSmallView');\n    root.classList.remove('visibleTinyView');\n\n    if (root instanceof HTMLButtonElement || root instanceof HTMLAnchorElement || root instanceof HTMLInputElement || root instanceof HTMLSelectElement) {\n      return;\n    } else if (root.childElementCount > 0) {\n      for (let i = 0; i < root.childElementCount; i++) {\n        const c = root.children.item(i);\n        if (c) {\n          this.showElementsRecursively(c);\n        }\n      }\n    }\n  }\n\n  private collectElementPositions(copy: Element, original: Element, elements: Array<ElementAndPosition>): Array<ElementAndPosition> {\n    if (copy instanceof HTMLButtonElement || copy instanceof HTMLAnchorElement || copy instanceof HTMLInputElement || copy instanceof HTMLSelectElement) {\n      const rect = copy.getBoundingClientRect();\n      const elementAndPos = {\n        element: original,\n        x: Math.round(rect.left),\n        y: Math.round(rect.top),\n      } as ElementAndPosition;\n      elements.push(elementAndPos);\n    } else if (copy.childElementCount > 0) {\n      for (let i = 0; i < copy.childElementCount; i++) {\n        const c = copy.children.item(i);\n        const o = original.children.item(i);\n        if (c && o) {\n          elements = this.collectElementPositions(c, o, elements);\n        }\n      }\n    }\n    return elements;\n  }\n\n  private doInitPDFViewer() {\n    if (typeof window === 'undefined') {\n      return;\n    }\n    const langLinks = document.querySelectorAll('link[type=\"application/l10n\"]');\n    const langCount = langLinks.length;\n\n    if (langCount === 0) {\n      const dict = document.querySelector('script[type=\"application/l10n\"]');\n      if (!dict) {\n        if (!this.useBrowserLocale) {\n          console.error(\n            // tslint:disable-next-line:quotemark\n            \"If you set the attribute 'useBrowserLocale' to false, you must provide the translations yourself in a script or link tag.\"\n          );\n          console.error('The easiest way to do this is to add them to the index.html.');\n        }\n      } else if (this.useBrowserLocale) {\n        console.error(\n          // tslint:disable-next-line:quotemark\n          \"Please set the attribute 'useBrowserLocale' to false if you provide the translations yourself in a script or link tag.\"\n        );\n      }\n    } else if (this.useBrowserLocale) {\n      const o = langLinks[0].attributes['origin'];\n      if (o && o.value !== 'ngx-extended-pdf-viewer') {\n        console.error(\n          // tslint:disable-next-line:quotemark\n          \"Please set the attribute 'useBrowserLocale' to false if you provide the translations yourself in a script or link tag.\"\n        );\n      }\n    }\n    const callback = () => {\n      document.removeEventListener('localized', callback);\n      this.initTimeout = setTimeout(() => {\n        if (!this.shuttingDown) {\n          // hurried users sometimes reload the PDF before it has finished initializing\n          this.calcViewerPositionTop();\n          this.afterLibraryInit();\n          this.openPDF();\n          this.assignTabindexes();\n        }\n      }, this.delayFirstView);\n    };\n\n    window.addEventListener('afterprint', () => {\n      this.afterPrint.emit();\n    });\n\n    window.addEventListener('beforeprint', () => {\n      this.beforePrint.emit();\n    });\n\n    document.addEventListener('localized', callback);\n\n    if (NgxExtendedPdfViewerComponent.ngxExtendedPdfViewerInitialized) {\n      // tslint:disable-next-line:quotemark\n      console.error(\"You're trying to open two instances of the PDF viewer. Most likely, this will result in errors.\");\n    }\n    const onLoaded = () => {\n      this.overrideDefaultSettings();\n      document.removeEventListener('webviewerloaded', onLoaded);\n      if (this.enablePinchOnMobile) {\n        this.pinchOnMobileSupport = new PinchOnMobileSupport(this.ngZone);\n      }\n      if (this.enableRelativeCoords) {\n        this.relativeCoordsSupport = new RelativeCoordsSupport(this.ngZone, this, this.relativeCoordsOptions);\n      }\n    };\n    document.addEventListener('webviewerloaded', onLoaded);\n\n    this.activateTextlayerIfNecessary(null);\n\n    setTimeout(() => {\n      if (!this.shuttingDown) {\n        // hurried users sometimes reload the PDF before it has finished initializing\n        // This initializes the webviewer, the file may be passed in to it to initialize the viewer with a pdf directly\n        this.onResize();\n        this.primaryMenuVisible = this.showToolbar;\n        const hideSecondaryMenu = this.hideKebabMenuForSecondaryToolbar && !this.showSecondaryToolbarButton;\n\n        if (hideSecondaryMenu) {\n          if (!this.isPrimaryMenuVisible()) {\n            this.primaryMenuVisible = false;\n          }\n        }\n        this.dummyComponents.addMissingStandardWidgets();\n        this.ngZone.runOutsideAngular(() => (<any>window).webViewerLoad());\n\n        const PDFViewerApplication: IPDFViewerApplication = (window as any).PDFViewerApplication;\n        PDFViewerApplication.appConfig.defaultUrl = ''; // IE bugfix\n        if (this.filenameForDownload) {\n          PDFViewerApplication.appConfig.filenameForDownload = this.filenameForDownload;\n        }\n        const PDFViewerApplicationOptions: IPDFViewerApplicationOptions = (window as any).PDFViewerApplicationOptions;\n\n        PDFViewerApplicationOptions.set('enableDragAndDrop', this.enableDragAndDrop);\n        let language = this.language === '' ? undefined : this.language;\n        if (!language) {\n          language = navigator.language;\n        }\n        PDFViewerApplicationOptions.set('locale', language);\n        PDFViewerApplicationOptions.set('imageResourcesPath', this.imageResourcesPath);\n        PDFViewerApplicationOptions.set('minZoom', this.minZoom);\n        PDFViewerApplicationOptions.set('maxZoom', this.maxZoom);\n        PDFViewerApplicationOptions.set('pageViewMode', this.pageViewMode);\n        PDFViewerApplicationOptions.set('verbosity', this.logLevel);\n        PDFViewerApplicationOptions.set('initialZoom', this.zoom);\n        PDFViewerApplicationOptions.set('pdfBackgroundColor', this.pdfBackground);\n        PDFViewerApplicationOptions.set('pdfBackgroundColorToReplace', this.pdfBackgroundColorToReplace);\n\n        PDFViewerApplication.isViewerEmbedded = true;\n        if (PDFViewerApplication.printKeyDownListener) {\n          window.addEventListener('keydown', PDFViewerApplication.printKeyDownListener, true);\n        }\n\n        const pc = document.getElementById('printContainer');\n        if (pc) {\n          document.getElementsByTagName('body')[0].appendChild(pc);\n        }\n      }\n    }, 0);\n  }\n\n  /** Notifies every widget that implements onLibraryInit() that the PDF viewer objects are available */\n  private afterLibraryInit() {\n    this.notificationService.onPDFJSInit.next();\n  }\n\n  public checkHeight(): void {\n    if (typeof document !== 'undefined') {\n      const container = document.getElementsByClassName('zoom')[0] as HTMLElement;\n      if (container) {\n        if (container.clientHeight === 0) {\n          if (!this.autoHeight) {\n            console.warn(\n              \"The height of the PDF viewer widget is zero pixels. Please check the height attribute. Is there a syntax error? Or are you using a percentage with a CSS framework that doesn't support this? The height is adjusted automatedly.\"\n            );\n            this.autoHeight = true;\n          }\n        }\n        if (this.autoHeight) {\n          const available = window.innerHeight;\n          const rect = container.getBoundingClientRect();\n          const top = rect.top;\n          let maximumHeight = available - top;\n          // take the margins and paddings of the parent containers into account\n          const padding = this.calculateBorderMarging(container);\n          maximumHeight -= padding;\n          const factor = Number(this._height.replace('%', ''));\n          maximumHeight = (maximumHeight * factor) / 100;\n          if (maximumHeight > 100) {\n            this.minHeight = `${maximumHeight}px`;\n          } else {\n            this.minHeight = '100px';\n          }\n          this.cdr.markForCheck();\n        }\n      }\n    }\n  }\n\n  private calculateBorderMarging(container: HTMLElement | null): number {\n    if (container) {\n      const computedStyle = window.getComputedStyle(container);\n\n      const padding = UnitToPx.toPx(computedStyle.paddingBottom);\n      const margin = UnitToPx.toPx(computedStyle.marginBottom);\n      if (container.style.zIndex) {\n        return padding + margin;\n      }\n      return padding + margin + this.calculateBorderMarging(container.parentElement);\n    }\n    return 0;\n  }\n\n  public onSpreadChange(newSpread: 'off' | 'even' | 'odd'): void {\n    this.spreadChange.emit(newSpread);\n  }\n\n  private activateTextlayerIfNecessary(options: any): void {\n    if (this.textLayer === undefined) {\n      if (!this.handTool) {\n        if (options) {\n          options.set('textLayerMode', pdfDefaultOptions.textLayerMode);\n        }\n        this.textLayer = true;\n        if (this.showFindButton === undefined) {\n          this.showFindButton = true;\n          setTimeout(() => {\n            // todo remove this hack:\n            const viewFind = document.getElementById('viewFind') as HTMLElement;\n            if (viewFind) {\n              viewFind.classList.remove('invisible');\n            }\n            const findbar = document.getElementById('findbar') as HTMLElement;\n            if (findbar) {\n              findbar.classList.remove('invisible');\n            }\n          });\n        }\n      } else {\n        if (options) {\n          options.set('textLayerMode', this.showHandToolButton ? pdfDefaultOptions.textLayerMode : 0);\n        }\n        if (!this.showHandToolButton) {\n          if (this.showFindButton || this.showFindButton === undefined) {\n            this.ngZone.run(() => {\n              this.showFindButton = false;\n            });\n            if (this.logLevel >= VerbosityLevel.WARNINGS) {\n              console.warn(\n                // tslint:disable-next-line:max-line-length\n                'Hiding the \"find\" button because the text layer of the PDF file is not rendered. Use [textLayer]=\"true\" to enable the find button.'\n              );\n            }\n          }\n          if (this.showHandToolButton) {\n            if (this.logLevel >= VerbosityLevel.WARNINGS) {\n              console.warn(\n                // tslint:disable-next-line:max-line-length\n                'Hiding the \"hand tool / selection mode\" menu because the text layer of the PDF file is not rendered. Use [textLayer]=\"true\" to enable the the menu items.'\n              );\n              this.showHandToolButton = false;\n            }\n          }\n        }\n      }\n    } else {\n      if (this.textLayer) {\n        // todo: is this a redundant check?\n        if (options) {\n          options.set('textLayerMode', pdfDefaultOptions.textLayerMode);\n        }\n        this.textLayer = true;\n        if (this.showFindButton === undefined) {\n          this.showFindButton = true;\n          setTimeout(() => {\n            // todo remove this hack:\n            const viewFind = document.getElementById('viewFind') as HTMLElement;\n            if (viewFind) {\n              viewFind.classList.remove('invisible');\n            }\n            const findbar = document.getElementById('findbar') as HTMLElement;\n            if (findbar) {\n              findbar.classList.remove('invisible');\n            }\n          });\n        }\n      } else {\n        // todo: is the else branch dead code?\n        if (options) {\n          options.set('textLayerMode', 0);\n        }\n        this.textLayer = false;\n        if (this.showFindButton) {\n          if (this.logLevel >= VerbosityLevel.WARNINGS) {\n            // tslint:disable-next-line:max-line-length\n            console.warn('Hiding the \"find\" button because the text layer of the PDF file is not rendered. Use [textLayer]=\"true\" to enable the find button.');\n            this.ngZone.run(() => {\n              this.showFindButton = false;\n            });\n          }\n        }\n        if (this.showHandToolButton) {\n          if (this.logLevel >= VerbosityLevel.WARNINGS) {\n            console.warn(\n              // tslint:disable-next-line:max-line-length\n              'Hiding the \"hand tool / selection mode\" menu because the text layer of the PDF file is not rendered. Use [textLayer]=\"true\" to enable the the menu items.'\n            );\n            this.showHandToolButton = false;\n          }\n        }\n      }\n    }\n  }\n\n  private async overrideDefaultSettings() {\n    const options = (window as any).PDFViewerApplicationOptions as IPDFViewerApplicationOptions;\n    // tslint:disable-next-line:forin\n    for (const key in pdfDefaultOptions) {\n      options.set(key, pdfDefaultOptions[key]);\n    }\n    options.set('disablePreferences', true);\n    await this.setZoom();\n\n    options.set('ignoreKeyboard', this.ignoreKeyboard);\n    options.set('ignoreKeys', this.ignoreKeys);\n    options.set('acceptKeys', this.acceptKeys);\n    options.set('wheelAction', this.wheelAction);\n    this.activateTextlayerIfNecessary(options);\n\n    if (this.scrollMode || this.scrollMode === ScrollModeType.vertical) {\n      options.set('scrollModeOnLoad', this.scrollMode);\n    }\n\n    const sidebarVisible = this.sidebarVisible;\n    const PDFViewerApplication: IPDFViewerApplication = (window as any).PDFViewerApplication;\n\n    if (sidebarVisible !== undefined) {\n      PDFViewerApplication.sidebarViewOnLoad = sidebarVisible ? 1 : 0;\n      if (PDFViewerApplication.appConfig) {\n        PDFViewerApplication.appConfig.sidebarViewOnLoad = sidebarVisible ? 1 : 0;\n      }\n      options.set('sidebarViewOnLoad', this.sidebarVisible ? 1 : 0);\n    }\n    if (this.spread === 'even') {\n      options.set('spreadModeOnLoad', 2);\n      if (PDFViewerApplication.pdfViewer) {\n        PDFViewerApplication.pdfViewer.spreadMode = 2;\n      }\n      this.onSpreadChange('even');\n    } else if (this.spread === 'odd') {\n      options.set('spreadModeOnLoad', 1);\n      if (PDFViewerApplication.pdfViewer) {\n        PDFViewerApplication.pdfViewer.spreadMode = 1;\n      }\n      this.onSpreadChange('odd');\n    } else {\n      options.set('spreadModeOnLoad', 0);\n      if (PDFViewerApplication.pdfViewer) {\n        PDFViewerApplication.pdfViewer.spreadMode = 0;\n      }\n      this.onSpreadChange('off');\n    }\n    if (this.printResolution) {\n      options.set('printResolution', this.printResolution);\n    }\n    if (this.showBorders === false) {\n      options.set('removePageBorders', !this.showBorders);\n    }\n  }\n\n  private openPDF() {\n    ServiceWorkerOptions.showUnverifiedSignatures = this.showUnverifiedSignatures;\n    const PDFViewerApplication: IPDFViewerApplication = (window as any).PDFViewerApplication;\n    PDFViewerApplication.enablePrint = this.enablePrint;\n    NgxExtendedPdfViewerComponent.ngxExtendedPdfViewerInitialized = true;\n    if (this._src) {\n      this.ngxExtendedPdfViewerIncompletelyInitialized = false;\n      if (!this.listenToURL) {\n        PDFViewerApplication.pdfLinkService.setHash = function () { };\n      }\n      this.initTimeout = null;\n      this.selectCursorTool();\n\n      PDFViewerApplication.eventBus.on('textlayerrendered', (x: TextLayerRenderedEvent) => {\n        this.textLayerRendered.emit(x);\n      });\n\n      PDFViewerApplication.eventBus.on('scrollmodechanged', (x: ScrollModeChangedEvent) => {\n        this.ngZone.run(() => this.scrollModeChange.emit(x.mode));\n      });\n      PDFViewerApplication.eventBus.on('progress', (x: ProgressBarEvent) => {\n        this.progress.emit(x);\n      });\n\n      PDFViewerApplication.eventBus.on('pagesloaded', async (x: PagesLoadedEvent) => {\n        this.pagesLoaded.emit(x);\n        this.removeScrollbarInInititeScrollMode();\n        if (this.rotation !== undefined && this.rotation !== null) {\n          const r = Number(this.rotation);\n          if (r === 0 || r === 90 || r === 180 || r === 270) {\n            PDFViewerApplication.pdfViewer.pagesRotation = r;\n          }\n        }\n        setTimeout(() => {\n          if (!this.shuttingDown) {\n            // hurried users sometimes reload the PDF before it has finished initializing\n            if (this.nameddest) {\n              PDFViewerApplication.pdfLinkService.goToDestination(this.nameddest);\n            } else if (this.page) {\n              PDFViewerApplication.page = Number(this.page);\n            } else if (this.pageLabel) {\n              PDFViewerApplication.pdfViewer.currentPageLabel = this.pageLabel;\n            }\n          }\n        });\n        await this.setZoom();\n      });\n      PDFViewerApplication.eventBus.on('pagerendered', (x: PageRenderedEvent) => {\n        this.ngZone.run(() => {\n          this.pageRendered.emit(x);\n          this.removeScrollbarInInititeScrollMode();\n        });\n      });\n      PDFViewerApplication.eventBus.on('pagerender', (x: PageRenderEvent) => {\n        this.ngZone.run(() => {\n          this.pageRender.emit(x);\n        });\n      });\n\n      PDFViewerApplication.eventBus.on('download', (x: PdfDownloadedEvent) => {\n        this.ngZone.run(() => {\n          this.pdfDownloaded.emit(x);\n        });\n      });\n      PDFViewerApplication.eventBus.on('scalechanging', (x: ScaleChangingEvent) => {\n        {\n          const scale = (this.root.nativeElement as HTMLElement).querySelector('#scaleSelect') as HTMLSelectElement | undefined;\n          let userZoomFactor = '';\n          if (scale) {\n            userZoomFactor = scale.value;\n          }\n        }\n\n        setTimeout(() => {\n          this.currentZoomFactor.emit(x.scale);\n          this.cdr.markForCheck();\n        });\n\n        const scale = (this.root.nativeElement as HTMLElement).querySelector('#scaleSelect') as HTMLSelectElement | undefined;\n        let userZoomFactor = this.zoom;\n        if (scale) {\n          userZoomFactor = scale.value;\n        }\n        if (userZoomFactor !== 'auto' && userZoomFactor !== 'page-fit' && userZoomFactor !== 'page-actual' && userZoomFactor !== 'page-width') {\n          const before = this.zoom as number;\n          const after = x.scale * 100;\n          // ignore rounding differences\n          if (Math.abs(before - after) > 0.000001) {\n            this.zoom = after;\n            this.zoomChange.emit(x.scale * 100);\n          }\n        } else if (this.zoom !== userZoomFactor) {\n          // called when the user selects one of the text values of the zoom select dropdown\n          this.zoomChange.emit(userZoomFactor);\n        }\n      });\n\n      PDFViewerApplication.eventBus.on('rotationchanging', (x: PagesRotationEvent) => {\n        this.ngZone.run(() => {\n          this.rotationChange.emit(x.pagesRotation);\n        });\n      });\n      PDFViewerApplication.eventBus.on('fileinputchange', (x: FileInputChanged) => {\n        this.ngZone.run(() => {\n          if (x.fileInput.files && x.fileInput.files.length >= 1) {\n            // drag and drop\n            this.srcChange.emit(x.fileInput.files[0].name);\n          } else {\n            // regular file open dialog\n            const path = x.fileInput?.value?.replace('C:\\\\fakepath\\\\', '');\n            this.srcChange.emit(path);\n          }\n        });\n      });\n      PDFViewerApplication.eventBus.on('cursortoolchanged', (x: HandtoolChanged) => {\n        this.ngZone.run(() => {\n          this.handToolChange.emit(x.tool === PdfCursorTools.HAND);\n        });\n      });\n\n      PDFViewerApplication.eventBus.on('sidebarviewchanged', (x: SidebarviewChange) => {\n        this.ngZone.run(() => {\n          this.sidebarVisibleChange.emit(x.view > 0);\n          if (this.sidebarComponent) {\n            this.sidebarComponent.showToolbarWhenNecessary();\n          }\n        });\n      });\n\n      PDFViewerApplication.eventBus.on('documentloaded', (pdfLoadedEvent: PdfDocumentLoadedEvent) => {\n        this.ngZone.run(() => {\n          this.loadComplete(pdfLoadedEvent.source.pdfDocument);\n        });\n      });\n\n      const hideSidebarToolbar = () => {\n        this.ngZone.run(() => {\n          if (this.sidebarComponent) {\n            this.sidebarComponent.showToolbarWhenNecessary();\n          }\n        });\n      };\n\n      PDFViewerApplication.eventBus.on('outlineloaded', hideSidebarToolbar);\n\n      PDFViewerApplication.eventBus.on('attachmentsloaded', hideSidebarToolbar);\n\n      PDFViewerApplication.eventBus.on('layersloaded', hideSidebarToolbar);\n\n      PDFViewerApplication.eventBus.on('updatefindcontrolstate', (x: FindResult) => {\n        if (x.state === FindState.NOT_FOUND) {\n          this.updateFindMatchesCount.emit({ current: 0, total: 0 });\n        } else if (x.matchesCount.total) {\n          x.matchesCount.matches = PDFViewerApplication.findController._pageMatches;\n          x.matchesCount.matchesLength = PDFViewerApplication.findController._pageMatchesLength;\n          x.matchesCount.matchesColor = PDFViewerApplication.findController._pageMatchesColor;\n          this.updateFindMatchesCount.emit(x.matchesCount);\n        }\n\n        if (this.updateFindState) {\n          this.updateFindState.emit(x.state);\n        }\n      });\n      PDFViewerApplication.eventBus.on('updatefindmatchescount', (x: FindResult) => {\n        x.matchesCount.matches = PDFViewerApplication.findController._pageMatches;\n        x.matchesCount.matchesLength = PDFViewerApplication.findController._pageMatchesLength;\n        x.matchesCount.matchesColor = PDFViewerApplication.findController._pageMatchesColor;\n        this.updateFindMatchesCount.emit(x.matchesCount);\n      });\n\n      PDFViewerApplication.eventBus.on('pagechanging', (x: PageNumberChange) => {\n        if (!this.shuttingDown) {\n          // hurried users sometimes reload the PDF before it has finished initializing\n          this.ngZone.run(() => {\n            const currentPage = PDFViewerApplication.pdfViewer.currentPageNumber;\n            const currentPageLabel = PDFViewerApplication.pdfViewer.currentPageLabel;\n\n            if (currentPage !== this.page) {\n              this.pageChange.emit(currentPage);\n            }\n            if (currentPageLabel !== this.pageLabel) {\n              this.pageLabelChange.emit(currentPageLabel);\n            }\n          });\n        }\n      });\n\n      setTimeout(async () => await this.checkHeight(), 100);\n      // open a file in the viewer\n      if (!!this._src) {\n        const options: any = {\n          password: this.password,\n          verbosity: this.logLevel,\n        };\n        if (this._src['range']) {\n          options.range = this._src['range'];\n        }\n        if (this.httpHeaders) {\n          options.httpHeaders = this.httpHeaders;\n        }\n        if (this.authorization) {\n          options.withCredentials = true;\n          if (options.httpHeaders) {\n            if (!options.httpHeaders.Authorization) {\n              options.httpHeaders.Authorization = this.authorization;\n            }\n          } else {\n            options.httpHeaders = {\n              Authorization: this.authorization,\n            };\n          }\n        }\n        options.baseHref = this.baseHref;\n        PDFViewerApplication.onError = (error: Error) => this.pdfLoadingFailed.emit(error);\n        this.ngZone.runOutsideAngular(async () => {\n          await PDFViewerApplication.open(this._src, options);\n          this.pdfLoadingStarts.emit({});\n          // await this.setZoom();\n          setTimeout(async () => await this.setZoom());\n        });\n      }\n      setTimeout(() => {\n        if (!this.shuttingDown) {\n          // hurried users sometimes reload the PDF before it has finished initializing\n          if (this.page) {\n            PDFViewerApplication.page = Number(this.page);\n          }\n        }\n      }, 100);\n    }\n  }\n\n  private removeScrollbarInInititeScrollMode(): void {\n    if (this.pageViewMode === 'infinite-scroll') {\n      setTimeout(() => {\n        if (this.pageViewMode === 'infinite-scroll') {\n          const viewer = document.getElementById('viewer');\n          if (viewer) {\n            const height = viewer.clientHeight + 17;\n            const zoom = document.getElementsByClassName('zoom')[0];\n            if (this.primaryMenuVisible) {\n              this.height = height + 35 + 'px';\n            } else {\n              if (height > 17) {\n                this.height = height + 'px';\n              }\n            }\n            if (zoom) {\n              (<HTMLElement>zoom).style.height = this.height;\n            }\n          }\n        }\n      });\n    }\n  }\n\n  public async openPDF2(): Promise<void> {\n    this.overrideDefaultSettings();\n    const PDFViewerApplication: IPDFViewerApplication = (window as any).PDFViewerApplication;\n\n    // #802 clear the form data; otherwise the \"download\" dialogs opens\n    PDFViewerApplication.pdfDocument?.annotationStorage?.resetModified();\n\n    await PDFViewerApplication.close();\n    this.formData = {};\n    this.formIdToFieldName = {};\n    this.formRadioButtonValueToId = {};\n\n    const options: any = {\n      password: this.password,\n      verbosity: this.logLevel,\n    };\n    if (this._src && this._src['range']) {\n      options.range = this._src['range'];\n    }\n    if (this.httpHeaders) {\n      options.httpHeaders = this.httpHeaders;\n    }\n    if (this.authorization) {\n      options.withCredentials = true;\n      if (options.httpHeaders) {\n        if (!options.httpHeaders.Authorization) {\n          options.httpHeaders.Authorization = this.authorization;\n        }\n      } else {\n        options.httpHeaders = {\n          Authorization: this.authorization,\n        };\n      }\n    }\n    options.baseHref = this.baseHref;\n    PDFViewerApplication.open(this._src, options).then(\n      () => {\n        this.pdfLoaded.emit({ pagesCount: PDFViewerApplication.pagesCount });\n      },\n      (error: Error) => this.pdfLoadingFailed.emit(error)\n    );\n  }\n\n  private selectCursorTool() {\n    const PDFViewerApplication: IPDFViewerApplication = (window as any).PDFViewerApplication;\n    PDFViewerApplication.eventBus.dispatch('switchcursortool', { tool: this.handTool ? 1 : 0 });\n  }\n\n  public async ngOnDestroy(): Promise<void> {\n    if (typeof window === 'undefined') {\n      return; // fast escape for server side rendering\n    }\n\n    (window as any).getFormValue = undefined;\n    (window as any).setFormValue = undefined;\n    (window as any).registerAcroformAnnotations = undefined;\n    const PDFViewerApplication: IPDFViewerApplication = (window as any).PDFViewerApplication;\n    this.shuttingDown = true;\n\n    NgxExtendedPdfViewerComponent.ngxExtendedPdfViewerInitialized = false;\n    if (this.initTimeout) {\n      clearTimeout(this.initTimeout);\n      this.initTimeout = undefined;\n    }\n    if (PDFViewerApplication) {\n      if (this.pinchOnMobileSupport) {\n        this.pinchOnMobileSupport.destroyPinchZoom();\n        this.pinchOnMobileSupport = undefined;\n      }\n      if (this.relativeCoordsSupport) {\n        this.relativeCoordsSupport.destroyRelativeCoords();\n        this.relativeCoordsSupport = undefined;\n      }\n\n      // #802 clear the form data; otherwise the \"download\" dialogs opens\n      PDFViewerApplication.pdfDocument?.annotationStorage?.resetModified();\n      this.formData = {};\n      this.formIdToFieldName = {};\n      this.formRadioButtonValueToId = {};\n\n      PDFViewerApplication._cleanup();\n\n      await PDFViewerApplication.close();\n      if (PDFViewerApplication.printKeyDownListener) {\n        removeEventListener('keydown', PDFViewerApplication.printKeyDownListener, true);\n      }\n      setTimeout(() => {\n        if (PDFViewerApplication._boundEvents) {\n          PDFViewerApplication.unbindWindowEvents();\n        }\n        const bus = PDFViewerApplication.eventBus;\n        if (bus) {\n          PDFViewerApplication.unbindEvents();\n          for (const key in bus._listeners) {\n            if (bus._listeners[key]) {\n              const list = bus._listeners[key];\n              // not sure if the for loop is necessary - but\n              // it might improve garbage collection if the \"listeners\"\n              // array is stored somewhere else\n              for (let i = 0; i < list.length; i++) {\n                list[i] = undefined;\n              }\n              bus._listeners[key] = undefined;\n            }\n          }\n        }\n        (PDFViewerApplication.eventBus as any) = null;\n      });\n    }\n\n    const body = document.getElementsByTagName('body');\n    if (body[0]) {\n      const topLevelElements = body[0].children;\n      for (let i = topLevelElements.length - 1; i >= 0; i--) {\n        const e = topLevelElements.item(i);\n        if (e && e.id === 'printContainer') {\n          body[0].removeChild(e);\n        } else if (e && e.id === 'fileInput') {\n          body[0].removeChild(e);\n        }\n      }\n    }\n  }\n\n  private isPrimaryMenuVisible(): boolean {\n    if (this.showToolbar) {\n      const visible =\n        this.showBookmarkButton ||\n        this.showDownloadButton ||\n        this.showFindButton ||\n        this.showOpenFileButton ||\n        this.showPagingButtons ||\n        this.showPresentationModeButton ||\n        this.showPrintButton ||\n        this.showPropertiesButton ||\n        this.showRotateButton ||\n        this.showHandToolButton ||\n        this.showScrollingButton ||\n        this.showSpreadButton ||\n        this.showSidebarButton ||\n        this.showZoomButtons;\n\n      if (visible) {\n        return true;\n      }\n    }\n    return false;\n  }\n\n  public async ngOnChanges(changes: SimpleChanges) {\n    if (typeof window === 'undefined') {\n      return; // server side rendering\n    }\n    const PDFViewerApplication: IPDFViewerApplication = (window as any).PDFViewerApplication;\n    const PDFViewerApplicationOptions: IPDFViewerApplicationOptions = (window as any).PDFViewerApplicationOptions;\n\n    if (NgxExtendedPdfViewerComponent.ngxExtendedPdfViewerInitialized) {\n      if ('src' in changes || 'base64Src' in changes) {\n        if (!!this._src) {\n          if (this.ngxExtendedPdfViewerIncompletelyInitialized) {\n            this.openPDF();\n          } else {\n            await this.openPDF2();\n          }\n        } else {\n          // #802 clear the form data; otherwise the \"download\" dialogs opens\n          PDFViewerApplication.pdfDocument?.annotationStorage?.resetModified();\n          this.formData = {};\n          this.formIdToFieldName = {};\n          this.formRadioButtonValueToId = {};\n\n          let inputField = PDFViewerApplication.appConfig?.openFileInput;\n          if (!inputField) {\n            inputField = document.querySelector('#fileInput') as HTMLInputElement;\n          }\n          if (inputField) {\n            inputField.value = '';\n          }\n\n          await PDFViewerApplication.close();\n        }\n      }\n      if ('enableDragAndDrop' in changes) {\n        PDFViewerApplicationOptions.set('enableDragAndDrop', this.enableDragAndDrop);\n      }\n\n      if ('zoom' in changes) {\n        (async () => await this.setZoom())();\n      }\n\n      if ('maxZoom' in changes) {\n        PDFViewerApplicationOptions.set('maxZoom', this.maxZoom);\n      }\n\n      if ('minZoom' in changes) {\n        PDFViewerApplicationOptions.set('minZoom', this.minZoom);\n      }\n\n      if ('handTool' in changes) {\n        this.selectCursorTool();\n      }\n      if ('page' in changes) {\n        if (this.page) {\n          // tslint:disable-next-line: triple-equals\n          if (this.page != PDFViewerApplication.page) {\n            PDFViewerApplication.page = this.page;\n          }\n        }\n      }\n      if ('pageLabel' in changes) {\n        if (this.pageLabel) {\n          if (this.pageLabel !== PDFViewerApplication.pdfViewer.currentPageLabel) {\n            PDFViewerApplication.pdfViewer.currentPageLabel = this.pageLabel;\n          }\n        }\n      }\n\n      if ('rotation' in changes) {\n        if (this.rotation) {\n          const r = Number(this.rotation);\n          if (r === 0 || r === 90 || r === 180 || r === 270) {\n            PDFViewerApplication.pdfViewer.pagesRotation = r;\n          }\n        } else {\n          PDFViewerApplication.pdfViewer.pagesRotation = 0;\n        }\n      }\n      if ('scrollMode' in changes) {\n        if (this.scrollMode || this.scrollMode === ScrollModeType.vertical) {\n          PDFViewerApplication.pdfViewer.scrollMode = this.scrollMode;\n        }\n      }\n      if ('sidebarVisible' in changes) {\n        if (this.sidebarVisible) {\n          PDFViewerApplication.pdfSidebar.open();\n        } else {\n          PDFViewerApplication.pdfSidebar.close();\n        }\n      }\n      if ('filenameForDownload' in changes) {\n        PDFViewerApplication.appConfig.filenameForDownload = this.filenameForDownload;\n      }\n      if ('nameddest' in changes) {\n        if (this.nameddest) {\n          PDFViewerApplication.pdfLinkService.goToDestination(this.nameddest);\n        }\n      }\n\n      if ('spread' in changes) {\n        if (this.spread === 'even') {\n          PDFViewerApplication.spreadModeOnLoad = 2;\n          PDFViewerApplication.pdfViewer.spreadMode = 2;\n          this.onSpreadChange('even');\n        } else if (this.spread === 'odd') {\n          PDFViewerApplication.spreadModeOnLoad = 1;\n          PDFViewerApplication.pdfViewer.spreadMode = 1;\n          this.onSpreadChange('odd');\n        } else {\n          PDFViewerApplication.spreadModeOnLoad = 0;\n          PDFViewerApplication.pdfViewer.spreadMode = 0;\n          this.onSpreadChange('off');\n        }\n      }\n\n      if ('enablePinchOnMobile' in changes) {\n        if (!changes['enablePinchOnMobile'].isFirstChange()) {\n          if (changes['enablePinchOnMobile'].currentValue !== changes['enablePinchOnMobile'].previousValue) {\n            if (this.enablePinchOnMobile) {\n              this.pinchOnMobileSupport = new PinchOnMobileSupport(this.ngZone);\n            } else {\n              if (this.pinchOnMobileSupport) {\n                this.pinchOnMobileSupport.destroyPinchZoom();\n                this.pinchOnMobileSupport = undefined;\n              }\n            }\n          }\n        }\n      }\n      if ('enableRelativeCoords' in changes) {\n        if (!changes['enableRelativeCoords'].isFirstChange()) {\n          if (changes['enableRelativeCoords'].currentValue !== changes['enableRelativeCoords'].previousValue) {\n            if (this.enableRelativeCoords) {\n              this.relativeCoordsSupport = new RelativeCoordsSupport(this.ngZone, this, this.relativeCoordsOptions);\n            } else {\n              if (this.relativeCoordsSupport) {\n                this.relativeCoordsSupport.destroyRelativeCoords();\n                this.relativeCoordsSupport = undefined;\n              }\n            }\n          }\n        }\n      }\n\n      if ('wheelAction' in changes) {\n        PDFViewerApplicationOptions.set('wheelAction', this.wheelAction);\n      }\n\n      this.primaryMenuVisible = this.showToolbar;\n      if (!this.showSecondaryToolbarButton || this.hideKebabMenuForSecondaryToolbar) {\n        if (!this.isPrimaryMenuVisible()) {\n          this.primaryMenuVisible = false;\n        }\n      }\n      setTimeout(() => this.calcViewerPositionTop());\n    } // end of if (NgxExtendedPdfViewerComponent.ngxExtendedPdfViewerInitialized)\n\n    if ('printResolution' in changes) {\n      const options = PDFViewerApplicationOptions;\n      if (options) {\n        options.set('printResolution', this.printResolution);\n      }\n    }\n    if ('ignoreKeyboard' in changes) {\n      const options = PDFViewerApplicationOptions;\n      if (options) {\n        this.overrideDefaultSettings();\n      }\n    }\n    if ('ignoreKeys' in changes) {\n      const options = PDFViewerApplicationOptions;\n      if (options) {\n        this.overrideDefaultSettings();\n      }\n    }\n    if ('acceptKeys' in changes) {\n      const options = PDFViewerApplicationOptions;\n      if (options) {\n        this.overrideDefaultSettings();\n      }\n    }\n    if ('showBorders' in changes) {\n      if (!changes['showBorders'].isFirstChange()) {\n        const options = PDFViewerApplicationOptions;\n        if (options) {\n          this.overrideDefaultSettings();\n          const viewer = document.getElementById('viewer') as HTMLElement;\n          if (this.showBorders) {\n            viewer.classList.remove('removePageBorders');\n          } else {\n            viewer.classList.add('removePageBorders');\n          }\n\n          if (PDFViewerApplication.pdfViewer) {\n            PDFViewerApplication.pdfViewer.removePageBorders = !this.showBorders;\n          }\n          const zoomEvent = {\n            source: viewer,\n            // tslint:disable-next-line:no-bitwise\n            scale: (Number(this.zoom) | 100) / 100,\n            presetValue: this.zoom,\n          } as ScaleChangingEvent;\n          PDFViewerApplication.eventBus.dispatch('scalechanging', zoomEvent);\n        }\n      }\n    }\n\n    if ('showUnverifiedSignatures' in changes) {\n      if (PDFViewerApplication && PDFViewerApplication.pdfDocument) {\n        PDFViewerApplication.pdfDocument._transport.messageHandler.send('showUnverifiedSignatures', this.showUnverifiedSignatures);\n      }\n    }\n\n    if ('formData' in changes) {\n      if (!changes['formData'].isFirstChange()) {\n        this.updateFormFields(this.formData, changes['formData'].previousValue);\n      }\n    }\n\n    if ('enablePrint' in changes) {\n      if (!changes['enablePrint'].isFirstChange()) {\n        PDFViewerApplication.enablePrint = this.enablePrint;\n      }\n    }\n    if (\n      ('customFindbar' in changes && !changes['customFindbar'].isFirstChange()) ||\n      ('customFindbarButtons' in changes && !changes['customFindbarButtons'].isFirstChange()) ||\n      ('customFindbarInputArea' in changes && !changes['customFindbarInputArea'].isFirstChange()) ||\n      ('customToolbar' in changes && !changes['customToolbar'].isFirstChange())\n    ) {\n      if (this.dummyComponents) {\n        this.dummyComponents.addMissingStandardWidgets();\n      }\n    }\n\n    if ('pdfBackgroundColor' in changes && !changes['pdfBackgroundColor '].isFirstChange()) {\n      PDFViewerApplicationOptions.set('pdfBackgroundColor', this.pdfBackground);\n    }\n    if ('pdfBackgroundColorToReplace' in changes && !changes['pdfBackgroundColorToReplace'].isFirstChange()) {\n      PDFViewerApplicationOptions.set('pdfBackgroundColorToReplace', this.pdfBackgroundColorToReplace);\n    }\n    if ('pageViewMode' in changes && !changes['pageViewMode'].isFirstChange()) {\n      this.removeScrollbarInInititeScrollMode();\n    }\n  }\n\n  private async setZoom() {\n    // sometimes ngOnChanges calls this method before the page is initialized,\n    // so let's check if this.root is already defined\n    if (this.root) {\n      const PDFViewerApplication: IPDFViewerApplication = (window as any).PDFViewerApplication;\n\n      let zoomAsNumber = this.zoom;\n      if (String(zoomAsNumber).endsWith('%')) {\n        zoomAsNumber = Number(String(zoomAsNumber).replace('%', '')) / 100;\n      } else if (!isNaN(Number(zoomAsNumber))) {\n        zoomAsNumber = Number(zoomAsNumber) / 100;\n      }\n      if (!zoomAsNumber) {\n        if (!PDFViewerApplication.store) {\n          // It's difficult to prevent calling this method to early, so we need this check.\n          // setZoom() is called later again, when the PDF document has been loaded and its\n          // fingerprint has been calculated.\n        } else {\n          const userSetting = await PDFViewerApplication.store.get('zoom');\n          if (userSetting) {\n            if (!isNaN(Number(userSetting))) {\n              zoomAsNumber = Number(userSetting) / 100;\n            } else {\n              zoomAsNumber = userSetting;\n            }\n          } else {\n            zoomAsNumber = 'auto';\n          }\n        }\n      }\n\n      if (PDFViewerApplication) {\n        const PDFViewerApplicationOptions: IPDFViewerApplicationOptions = (window as any).PDFViewerApplicationOptions;\n        PDFViewerApplicationOptions.set('defaultZoomValue', zoomAsNumber);\n      }\n\n      const scaleDropdownField = (this.root.nativeElement as HTMLElement).querySelector('#scaleSelect') as HTMLSelectElement | undefined;\n      if (scaleDropdownField) {\n        if (this.zoom === 'auto' || this.zoom === 'page-fit' || this.zoom === 'page-actual' || this.zoom === 'page-width') {\n          scaleDropdownField.value = this.zoom;\n        } else {\n          scaleDropdownField.value = 'custom';\n          if (scaleDropdownField.options) {\n            for (const option of scaleDropdownField.options as any) {\n              if (option.value === 'custom') {\n                option.textContent = `${Math.round(Number(zoomAsNumber) * 100_000) / 1000}%`;\n              }\n            }\n          }\n\n        }\n      }\n\n      if (PDFViewerApplication.pdfViewer) {\n        PDFViewerApplication.pdfViewer.currentScaleValue = zoomAsNumber || 'auto';\n      }\n    }\n  }\n\n  public onResize(): void {\n    const pdfViewer = document.getElementsByClassName('html');\n    if (pdfViewer && pdfViewer.length > 0) {\n      const container = document.getElementById('outerContainer');\n      if (container) {\n        const width = container.clientWidth;\n        this.toolbarWidthInPixels = width;\n        if (this.secondaryToolbarComponent) {\n          this.secondaryToolbarComponent.checkVisibility();\n        }\n      }\n      this.checkHeight();\n    }\n    try {\n      const observer = new ResizeObserver(() => this.removeScrollbarInInititeScrollMode());\n      const viewer = document.getElementById('viewer');\n      if (viewer) {\n        observer.observe(viewer);\n      }\n    } catch (exception) {\n      console.log('ResizeObserver is not supported by your browser');\n    }\n  }\n\n  @HostListener('contextmenu')\n  public onContextMenu(): boolean {\n    return this.contextMenuAllowed;\n  }\n\n  public onSecondaryMenuIsEmpty(hideKebabButton: boolean) {\n    this.hideKebabMenuForSecondaryToolbar = hideKebabButton;\n    if (hideKebabButton) {\n      if (!this.isPrimaryMenuVisible()) {\n        this.primaryMenuVisible = false;\n      }\n    }\n  }\n\n  public registerAcroformAnnotations(sortedAnnotations: Array<Annotation>): void {\n    let ids: { [key: string]: Annotation } = {};\n    let duplicates: { [key: string]: Annotation } = {};\n    for (let a of sortedAnnotations) {\n      if (a.fieldName) {\n        if (ids[a.fieldName]) {\n          duplicates[a.fieldName] = a;\n        }\n        ids[a.fieldName] = a;\n      }\n    }\n    for (let a of sortedAnnotations) {\n      if (a.fieldName && duplicates[a.fieldName]) {\n        this.formIdToFieldName[a.id] = a.fieldName;\n      }\n    }\n  }\n\n  public getFormValue(key: string): Object {\n    if (this.formData[key] === undefined) {\n      if (key.includes('/')) {\n        key = key.split('/')[0];\n      }\n    }\n    return { value: this.formData[key] };\n  }\n\n  public setFormValue(key: string, value: string): void {\n    if (!this.formData) {\n      this.formData = {};\n    }\n\n    if (this.formIdToFieldName[key]) {\n      // radiobuttons\n      this.formData[this.formIdToFieldName[key]] = value;\n    } else {\n      this.formData[key] = value;\n    }\n    this.ngZone.run(() => this.formDataChange.emit(this.formData));\n  }\n\n  public assignFormIdAndFieldName(key: string, fieldName: string | boolean, radioButtonField?: string): void {\n    this.formIdToFieldName[key] = fieldName;\n    if (radioButtonField) {\n      this.formRadioButtonValueToId[radioButtonField] = key;\n    }\n  }\n\n  public updateFormFields(formData: Object, previousFormData: Object) {\n    const PDFViewerApplication: IPDFViewerApplication = (window as any).PDFViewerApplication;\n\n    if (!PDFViewerApplication || !PDFViewerApplication.pdfDocument || !PDFViewerApplication.pdfDocument.annotationStorage) {\n      // ngOnChanges calls this method too early - so just ignore it\n      return;\n    }\n    const storage = PDFViewerApplication.pdfDocument.annotationStorage;\n\n    for (const key in formData) {\n      if (formData.hasOwnProperty(key)) {\n        if (formData[key] !== previousFormData[key]) {\n          const field = document.querySelector(\"input[name='\" + key + \"']\") as HTMLElement;\n          if (field instanceof HTMLInputElement) {\n            if (field.type === 'radio') {\n              storage.setValue(field.id, key, { value: formData[key] === field.value, emitMessage: false });\n              const fields = document.querySelectorAll(\"input[name='\" + key + \"']\");\n              const fieldIdToActivate = this.formRadioButtonValueToId[formData[key]];\n              fields.forEach((field: HTMLInputElement) => {\n                field.checked = field.id === fieldIdToActivate;\n              });\n            } else if (field.type === 'checkbox') {\n              storage.setValue(field.id, key, { value: formData[key], emitMessage: false });\n              field.checked = formData[key];\n            } else {\n              storage.setValue(field.id, key, { value: formData[key], emitMessage: false });\n              field.value = formData[key];\n            }\n          } else if (!field) {\n            const textarea = document.querySelector(\"textarea[name='\" + key + \"']\") as HTMLTextAreaElement;\n            if (textarea) {\n              storage.setValue(textarea.id, key, { value: formData[key], emitMessage: false });\n              textarea.value = formData[key];\n            } else {\n              const dropdown = document.querySelector(\"select[name='\" + key + \"']\") as HTMLSelectElement | null;\n              if (dropdown) {\n                storage.setValue(dropdown.id, key, { value: formData[key], emitMessage: false });\n                if (dropdown.multiple) {\n                  const options = this.formData[key] as string[];\n                  for (let i = 0; i < dropdown.options.length; i++) {\n                    dropdown.options[i].selected = options.indexOf(dropdown.options[i].value) >= 0;\n                  }\n                } else {\n                  dropdown.value = formData[key];\n                }\n              }\n            }\n          } else {\n            const fieldName = this.formIdToFieldName[key];\n          }\n        }\n      }\n    }\n\n    for (const key in previousFormData) {\n      if (previousFormData.hasOwnProperty(key)) {\n        if (!formData.hasOwnProperty(key)) {\n          const field = document.querySelector(\"input[name='\" + key + \"']\") as HTMLElement;\n          if (field instanceof HTMLInputElement) {\n            // this entry has been deleted\n            if (field.type === 'checkbox') {\n              storage.setValue(field.id, key, { value: false, emitMessage: false });\n              field.checked = false;\n            } else {\n              storage.setValue(field.id, key, { value: undefined, emitMessage: false });\n              field.value = '';\n            }\n          } else if (!field) {\n            const textarea = document.querySelector(\"textarea[name='\" + key + \"']\") as HTMLTextAreaElement;\n            if (textarea) {\n              storage.setValue(textarea.id, key, { value: undefined, emitMessage: false });\n              textarea.value = '';\n            }\n          }\n        }\n      }\n    }\n  }\n\n  public loadComplete(pdf: any /* PDFDocumentProxy */): void {\n    /** This method has been inspired by https://medium.com/factory-mind/angular-pdf-forms-fa72b15c3fbd. Thanks, Jonny Fox! */\n    this.hasSignature = false;\n\n    this.buttonValues = {};\n\n    for (let i = 1; i <= pdf.numPages; i++) {\n      // track the current page\n      pdf\n        .getPage(i)\n        .then((p) => {\n          // get the annotations of the current page\n          return p.getAnnotations();\n        })\n        .then((annotations) => {\n          // ugly cast due to missing typescript definitions\n          // please contribute to complete @types/pdfjs-dist\n\n          annotations\n            .filter((a) => a.subtype === 'Widget') // get the form field annotation only\n            .forEach((a) => {\n              // Additional PDF Form Field Types #567: Store the exportValue for the check boxes and buttonValue for radio buttons for quick reference\n              if (a.checkBox) this.buttonValues[a.id] = a.exportValue;\n              else if (a.radioButton) this.buttonValues[a.id] = a.buttonValue;\n\n              if (a.fieldType === 'Sig') {\n                this.ngZone.run(() => {\n                  this.hasSignature = true;\n                  setTimeout(() => {\n                    const viewerContainer = document.querySelector('#viewerContainer') as HTMLElement;\n                    viewerContainer.scrollBy(0, -32);\n                  });\n                });\n              }\n              /*\n              // get the rectangle that represent the single field\n              // and resize it according to the current DPI\n              const fieldRect = currentPage.getViewport(dpiRatio).convertToViewportRectangle(a.rect);\n\n              // add the corresponding input\n              this.addInput(a, fieldRect);\n              */\n            });\n        });\n    }\n    this.pdfLoaded.emit({ pagesCount: pdf.numPages } as PdfLoadedEvent);\n  }\n\n  public async zoomToPageWidth(event: MouseEvent): Promise<void> {\n    const PDFViewerApplication: IPDFViewerApplication = (window as any).PDFViewerApplication;\n    const desiredCenterY = event.clientY;\n    const previousScale = (PDFViewerApplication.pdfViewer as any).currentScale;\n    if (this.zoom !== pdfDefaultOptions.doubleTapZoomFactor && this.zoom + '%' !== pdfDefaultOptions.doubleTapZoomFactor) {\n      this.previousZoom = this.zoom;\n      this.zoom = pdfDefaultOptions.doubleTapZoomFactor; // by default: 'page-width';\n      await this.setZoom();\n    } else {\n      if (this.previousZoom) {\n        this.zoom = this.previousZoom;\n      } else {\n        this.zoom = 'page-width';\n      }\n      await this.setZoom();\n    }\n\n    const currentScale = (PDFViewerApplication.pdfViewer as any).currentScale;\n    const scaleCorrectionFactor = currentScale / previousScale - 1;\n    const rect = (PDFViewerApplication.pdfViewer as any).container.getBoundingClientRect();\n    const dy = desiredCenterY - rect.top;\n    (PDFViewerApplication.pdfViewer as any).container.scrollTop += dy * scaleCorrectionFactor;\n  }\n}\n","<link *ngIf=\"useBrowserLocale\" rel=\"resource\" type=\"application/l10n\" [attr.xhref]=\"localeFolderPath + '/locale.properties'\" origin=\"ngx-extended-pdf-viewer\" />\n<pdf-dark-theme *ngIf=\"theme === 'dark'\"></pdf-dark-theme>\n<pdf-light-theme *ngIf=\"theme === 'light'\"></pdf-light-theme>\n<pdf-acroform-dark-theme *ngIf=\"formTheme === 'dark'\"></pdf-acroform-dark-theme>\n<pdf-acroform-default-theme *ngIf=\"formTheme === 'light'\"></pdf-acroform-default-theme>\n\n<pdf-dynamic-css [zoom]=\"mobileFriendlyZoomScale\" [width]=\"toolbarWidthInPixels\"></pdf-dynamic-css>\n<ng-content *ngTemplateOutlet=\"customPdfViewer ? customPdfViewer : defaultPdfViewer\"></ng-content>\n\n<ng-template #defaultPdfViewer>\n  <div class=\"zoom\" [style.height]=\"minHeight ? minHeight : height\" #root>\n    <div class=\"html\">\n      <div class=\"loadingInProgress body\" [style.backgroundColor]=\"backgroundColor\">\n        <div id=\"outerContainer\" (window:resize)=\"onResize()\">\n          <div class=\"free-floating-bar\" *ngIf=\"showFreeFloatingBar\">\n            <ng-content *ngTemplateOutlet=\"customFreeFloatingBar ? customFreeFloatingBar : defaultFreeFloatingBar\"></ng-content>\n          </div>\n          <pdf-sidebar\n            #pdfsidebar\n            [sidebarPositionTop]=\"sidebarPositionTop\"\n            [sidebarVisible]=\"sidebarVisible || false\"\n            [showSidebarButton]=\"showSidebarButton\"\n            [customSidebar]=\"customSidebar\"\n            [customThumbnail]=\"customThumbnail\"\n            (thumbnailDrawn)=\"thumbnailDrawn.emit($event)\"\n            [mobileFriendlyZoomScale]=\"mobileFriendlyZoomScale\"\n          >\n          </pdf-sidebar>\n          <div id=\"mainContainer\">\n            <pdf-dummy-components></pdf-dummy-components>\n\n            <pdf-toolbar\n              [customToolbar]=\"customToolbar\"\n              [mobileFriendlyZoomScale]=\"mobileFriendlyZoomScale\"\n              [primaryMenuVisible]=\"primaryMenuVisible\"\n              [showBookmarkButton]=\"showBookmarkButton\"\n              [showDownloadButton]=\"showDownloadButton\"\n              [showFindButton]=\"showFindButton\"\n              [showHandToolButton]=\"showHandToolButton\"\n              [showOpenFileButton]=\"showOpenFileButton\"\n              [showPrintButton]=\"showPrintButton && enablePrint\"\n              [showPagingButtons]=\"showPagingButtons\"\n              [showPresentationModeButton]=\"showPresentationModeButton\"\n              [showRotateButton]=\"showRotateButton\"\n              [showSecondaryToolbarButton]=\"showSecondaryToolbarButton && !hideKebabMenuForSecondaryToolbar\"\n              [showSidebarButton]=\"showSidebarButton\"\n              [showZoomButtons]=\"showZoomButtons\"\n              [textLayer]=\"textLayer\"\n              [toolbarMarginTop]=\"toolbarMarginTop\"\n              [toolbarWidth]=\"toolbarWidth\"\n              (onToolbarLoaded)=\"(onToolbarLoaded)\"\n              [zoomLevels]=\"zoomLevels\"\n            ></pdf-toolbar>\n\n            <div class=\"editorParamsToolbar hidden doorHangerRight\" id=\"editorFreeTextParamsToolbar\">\n              <div class=\"editorParamsToolbarContainer\">\n                <div class=\"editorParamsSetter\">\n                  <label for=\"editorFreeTextColor\" class=\"editorParamsLabel\" data-l10n-id=\"editor_free_text_font_color\">Font Color</label>\n                  <input type=\"color\" id=\"editorFreeTextColor\" class=\"editorParamsColor\" tabindex=\"100\">\n                </div>\n                <div class=\"editorParamsSetter\">\n                  <label for=\"editorFreeTextFontSize\" class=\"editorParamsLabel\" data-l10n-id=\"editor_free_text_font_size\">Font Size</label>\n                  <input type=\"range\" id=\"editorFreeTextFontSize\" class=\"editorParamsSlider\" value=\"10\" min=\"5\" max=\"100\" step=\"1\" tabindex=\"101\">\n                </div>\n              </div>\n            </div>\n\n            <div class=\"editorParamsToolbar hidden doorHangerRight\" id=\"editorInkParamsToolbar\">\n              <div class=\"editorParamsToolbarContainer\">\n                <div class=\"editorParamsSetter\">\n                  <label for=\"editorInkColor\" class=\"editorParamsLabel\" data-l10n-id=\"editor_ink_line_color\">Line Color</label>\n                  <input type=\"color\" id=\"editorInkColor\" class=\"editorParamsColor\" tabindex=\"102\">\n                </div>\n                <div class=\"editorParamsSetter\">\n                  <label for=\"editorInkThickness\" class=\"editorParamsLabel\" data-l10n-id=\"editor_ink_line_thickness\">Line Thickness</label>\n                  <input type=\"range\" id=\"editorInkThickness\" class=\"editorParamsSlider\" value=\"1\" min=\"1\" max=\"20\" step=\"1\" tabindex=\"103\">\n                </div>\n              </div>\n            </div>\n\n            <pdf-secondary-toolbar\n              #pdfSecondaryToolbarComponent\n              [customSecondaryToolbar]=\"customSecondaryToolbar\"\n              [secondaryToolbarTop]=\"secondaryToolbarTop\"\n              [mobileFriendlyZoomScale]=\"mobileFriendlyZoomScale\"\n              [showPresentationModeButton]=\"showPresentationModeButton\"\n              [showOpenFileButton]=\"showOpenFileButton\"\n              [showPrintButton]=\"showPrintButton && enablePrint\"\n              [showDownloadButton]=\"showDownloadButton\"\n              [showBookmarkButton]=\"showBookmarkButton\"\n              [showPagingButtons]=\"showPagingButtons\"\n              [showRotateButton]=\"showRotateButton\"\n              [showHandToolButton]=\"showHandToolButton\"\n              [showScrollingButton]=\"showScrollingButton\"\n              [showSpreadButton]=\"showSpreadButton\"\n              [showPropertiesButton]=\"showPropertiesButton\"\n              (spreadChange)=\"onSpreadChange($event)\"\n              (secondaryMenuIsEmpty)=\"onSecondaryMenuIsEmpty($event)\"\n            >\n            </pdf-secondary-toolbar>\n\n            <pdf-findbar\n              [findbarLeft]=\"findbarLeft\"\n              [findbarTop]=\"findbarTop\"\n              [mobileFriendlyZoomScale]=\"mobileFriendlyZoomScale\"\n              [showFindButton]=\"showFindButton || false\"\n              [customFindbarInputArea]=\"customFindbarInputArea\"\n              [customFindbarButtons]=\"customFindbarButtons\"\n              [showFindCurrentPageOnly]=\"showFindCurrentPageOnly\"\n              [showFindEntirePhrase]=\"showFindEntirePhrase\"\n              [showFindEntireWord]=\"showFindEntireWord\"\n              [showFindFuzzySearch]=\"showFindFuzzySearch\"\n              [showFindHighlightAll]=\"showFindHighlightAll\"\n              [showFindIgnoreAccents]=\"showFindIgnoreAccents\"\n              [showFindMatchCase]=\"showFindMatchCase\"\n              [showFindMessages]=\"showFindMessages\"\n              [showFindPageRange]=\"showFindPageRange\"\n              [showFindResultsCount]=\"showFindResultsCount\"\n            >\n            </pdf-findbar>\n\n            <pdf-context-menu></pdf-context-menu>\n\n            <div id=\"viewerContainer\" [style.top]=\"viewerPositionTop\" [style.backgroundColor]=\"backgroundColor\" tabindex=\"0\">\n              <div class=\"unverified-signature-warning\" *ngIf=\"hasSignature && showUnverifiedSignatures\">\n                {{\n                  'unverified_signature_warning'\n                    | translate\n                      : \"This PDF file contains a digital signature. The PDF viewer can't verify if the signature is valid. Please download the file and open it in Acrobat Reader to verify the signature is valid.\"\n                    | async\n                }}\n              </div>\n              <div class=\"modified-background-warning\" *ngIf=\"pdfBackground\">\n                {{\n                  'modified_background_warning'\n                    | translate: 'This PDF is rendered with a custom background. It does not look the way its author intended it to look.'\n                    | async\n                }}\n              </div>\n              <div id=\"viewer\" class=\"pdfViewer\" (dblclick)=\"zoomToPageWidth($event)\"></div>\n            </div>\n            <pdf-error-message></pdf-error-message>\n          </div>\n          <!-- mainContainer -->\n\n          <div id=\"dialogContainer\">\n            <pdf-password-dialog></pdf-password-dialog>\n            <pdf-document-properties-dialog></pdf-document-properties-dialog>\n            <pdf-prepare-printing-dialog></pdf-prepare-printing-dialog>\n          </div>\n          <!-- dialogContainer -->\n        </div>\n        <!-- outerContainer -->\n        <input type=\"file\" id=\"fileInput\" class=\"hidden\" />\n        <div id=\"printContainer\"></div>\n      </div>\n    </div>\n  </div>\n</ng-template>\n\n<ng-template #defaultFreeFloatingBar> </ng-template>\n","Window['ngxConsoleFilter'] = (level: string, message: any): boolean => {\n  return true;\n}\nexport class NgxConsole {\n  public log(message: any): void {\n    if (Window['ngxConsoleFilter']('log', message)) {\n      console.log(message);\n    }\n  }\n  public error(message: any): void {\n    if (Window['ngxConsoleFilter']('error', message)) {\n      console.error(message);\n    }\n\n  }\n  public warn(message: any): void {\n    if (Window['ngxConsoleFilter']('warn', message)) {\n      console.warn(message);\n    }\n  }\n}\n\nWindow['ngxConsole'] = new NgxConsole();\n","// tslint:disable:max-line-length\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { NgxExtendedPdfViewerCommonModule } from './ngx-extended-pdf-viewer-common.module';\nimport { NgxExtendedPdfViewerComponent } from './ngx-extended-pdf-viewer.component';\nimport { NgxExtendedPdfViewerService } from './ngx-extended-pdf-viewer.service';\nimport { NgxConsole } from './options/ngx-console';\nimport { IPDFViewerApplicationOptions } from './options/pdf-viewer-application-options';\nimport { PdfDocumentPropertiesDialogComponent } from './pdf-dialog/pdf-document-properties-dialog/pdf-document-properties-dialog.component';\nimport { PdfErrorMessageComponent } from './pdf-dialog/pdf-error-message/pdf-error-message.component';\nimport { PdfPasswordDialogComponent } from './pdf-dialog/pdf-password-dialog/pdf-password-dialog.component';\nimport { PdfPreparePrintingDialogComponent } from './pdf-dialog/pdf-prepare-printing-dialog/pdf-prepare-printing-dialog.component';\nimport { PdfSecondaryToolbarComponent } from './secondary-toolbar/pdf-secondary-toolbar/pdf-secondary-toolbar.component';\nimport { PdfSidebarContentComponent } from './sidebar/pdf-sidebar/pdf-sidebar-content/pdf-sidebar-content.component';\nimport { PdfSidebarToolbarComponent } from './sidebar/pdf-sidebar/pdf-sidebar-toolbar/pdf-sidebar-toolbar.component';\nimport { PdfSidebarComponent } from './sidebar/pdf-sidebar/pdf-sidebar.component';\nimport { PdfAcroformDarkThemeComponent } from './theme/acroform-dark-theme/pdf-acroform-dark-theme.component';\nimport { PdfAcroformDefaultThemeComponent } from './theme/acroform-default-theme/pdf-acroform-default-theme.component';\nimport { PdfBookmarkComponent } from './toolbar/pdf-bookmark/pdf-bookmark.component';\nimport { PdfContextMenuComponent } from './toolbar/pdf-context-menu/pdf-context-menu.component';\nimport { PdfDownloadComponent } from './toolbar/pdf-download/pdf-download.component';\nimport { PdfFindButtonComponent } from './toolbar/pdf-find-button/pdf-find-button.component';\nimport { PdfFindCurrentPageOnlyComponent } from './toolbar/pdf-findbar/pdf-find-current-page-only/pdf-find-current-page-only.component';\nimport { PdfFindInputAreaComponent } from './toolbar/pdf-findbar/pdf-find-input-area/pdf-find-input-area.component';\nimport { PdfFindNextComponent } from './toolbar/pdf-findbar/pdf-find-next/pdf-find-next.component';\nimport { PdfFindPreviousComponent } from './toolbar/pdf-findbar/pdf-find-previous/pdf-find-previous.component';\nimport { PdfFindRangeComponent } from './toolbar/pdf-findbar/pdf-find-range/pdf-find-range.component';\nimport { PdfFindbarMessageContainerComponent } from './toolbar/pdf-findbar/pdf-findbar-message-container/pdf-findbar-message-container.component';\nimport { PdfFindHighlightAllComponent } from './toolbar/pdf-findbar/pdf-findbar-options-one-container/pdf-find-highlight-all/pdf-find-highlight-all.component';\nimport { PdfFindMatchCaseComponent } from './toolbar/pdf-findbar/pdf-findbar-options-one-container/pdf-find-match-case/pdf-find-match-case.component';\nimport { PdfFindbarOptionsOneContainerComponent } from './toolbar/pdf-findbar/pdf-findbar-options-one-container/pdf-findbar-options-one-container.component';\nimport { PdfFindIgnoreAccentsComponent } from './toolbar/pdf-findbar/pdf-findbar-options-three-container/pdf-find-ignore-accents/pdf-find-ignore-accents.component';\nimport { PdfFindResultsCountComponent } from './toolbar/pdf-findbar/pdf-findbar-options-three-container/pdf-find-results-count/pdf-find-results-count.component';\nimport { PdfFindbarOptionsThreeContainerComponent } from './toolbar/pdf-findbar/pdf-findbar-options-three-container/pdf-findbar-options-three-container.component';\nimport { PdfFindMultipleSearchTextsComponent } from './toolbar/pdf-findbar/pdf-findbar-options-two-container/pdf-find-entire-phrase/pdf-find-entire-phrase.component';\nimport { PdfFindEntireWordComponent } from './toolbar/pdf-findbar/pdf-findbar-options-two-container/pdf-find-entire-word/pdf-find-entire-word.component';\nimport { PdfFindbarOptionsTwoContainerComponent } from './toolbar/pdf-findbar/pdf-findbar-options-two-container/pdf-findbar-options-two-container.component';\nimport { PdfFindbarComponent } from './toolbar/pdf-findbar/pdf-findbar.component';\nimport { PdfSearchInputFieldComponent } from './toolbar/pdf-findbar/pdf-search-input-field/pdf-search-input-field.component';\nimport { PdfHandToolComponent } from './toolbar/pdf-hand-tool/pdf-hand-tool.component';\nimport { PdfOpenFileComponent } from './toolbar/pdf-open-file/pdf-open-file.component';\nimport { PdfFirstPageComponent } from './toolbar/pdf-paging-area/pdf-first-page/pdf-first-page.component';\nimport { PdfLastPageComponent } from './toolbar/pdf-paging-area/pdf-last-page/pdf-last-page.component';\nimport { PdfNextPageComponent } from './toolbar/pdf-paging-area/pdf-next-page/pdf-next-page.component';\nimport { PdfPageNumberComponent } from './toolbar/pdf-paging-area/pdf-page-number/pdf-page-number.component';\nimport { PdfPagingAreaComponent } from './toolbar/pdf-paging-area/pdf-paging-area.component';\nimport { PdfPreviousPageComponent } from './toolbar/pdf-paging-area/pdf-previous-page/pdf-previous-page.component';\nimport { PdfPresentationModeComponent } from './toolbar/pdf-presentation-mode/pdf-presentation-mode.component';\nimport { PdfPrintComponent } from './toolbar/pdf-print/pdf-print.component';\nimport { PdfRotatePageComponent } from './toolbar/pdf-rotate-page/pdf-rotate-page.component';\nimport { PdfSelectToolComponent } from './toolbar/pdf-select-tool/pdf-select-tool.component';\nimport { PdfToggleSecondaryToolbarComponent } from './toolbar/pdf-toggle-secondary-toolbar/pdf-toggle-secondary-toolbar.component';\nimport { PdfToggleSidebarComponent } from './toolbar/pdf-toggle-sidebar/pdf-toggle-sidebar.component';\nimport { PdfToolbarComponent } from './toolbar/pdf-toolbar/pdf-toolbar.component';\nimport { PdfZoomDropdownComponent } from './toolbar/pdf-zoom-toolbar/pdf-zoom-dropdown/pdf-zoom-dropdown.component';\nimport { PdfZoomInComponent } from './toolbar/pdf-zoom-toolbar/pdf-zoom-in/pdf-zoom-in.component';\nimport { PdfZoomOutComponent } from './toolbar/pdf-zoom-toolbar/pdf-zoom-out/pdf-zoom-out.component';\nimport { PdfZoomToolbarComponent } from './toolbar/pdf-zoom-toolbar/pdf-zoom-toolbar.component';\n\nif (new Date().getTime() === 0) {\n  new NgxConsole().log('');\n}\n\nif (!Promise['allSettled']) {\n  if (!!window['Zone'] && !window['__zone_symbol__Promise.allSettled']) {\n    console.error(\n      \"Please update zone.js to version 0.10.3 or higher. Otherwise, you'll run the slow ECMAScript 5 version even on modern browser that can run the fast ESMAScript 2015 version.\"\n    );\n  }\n}\n\nfunction isKeyIgnored(cmd: number, keycode: number | 'WHEEL'): boolean {\n  const PDFViewerApplicationOptions: IPDFViewerApplicationOptions = (window as any).PDFViewerApplicationOptions;\n\n  const ignoreKeys: Array<string> = PDFViewerApplicationOptions.get('ignoreKeys');\n  const acceptKeys: Array<string> = PDFViewerApplicationOptions.get('acceptKeys');\n  if (keycode === 'WHEEL') {\n    if (isKeyInList(ignoreKeys, cmd, 'WHEEL')) {\n      return true;\n    }\n    if (!!acceptKeys && acceptKeys.length > 0) {\n      return !isKeyInList(acceptKeys, cmd, 'WHEEL');\n    }\n\n    return false;\n  }\n\n  if (keycode === 16 || keycode === 17 || keycode === 18 || keycode === 224) {\n    // ignore solitary SHIFT, ALT, CMD, and CTRL because they only make sense as two-key-combinations\n    return true;\n  }\n  // cmd is a bit-array:\n  // 1 == CTRL\n  // 2 == ALT\n  // 4 == SHIFT\n  // 8 == META\n  const ignoreKeyboard = PDFViewerApplicationOptions.get('ignoreKeyboard');\n  if (!!ignoreKeyboard) {\n    return true;\n  }\n\n  if (!!ignoreKeys && ignoreKeys.length > 0) {\n    if (isKeyInList(ignoreKeys, cmd, keycode)) {\n      return true;\n    }\n  }\n\n  if (!!acceptKeys && acceptKeys.length > 0) {\n    return !isKeyInList(acceptKeys, cmd, keycode);\n  }\n  return false;\n}\n\nfunction isKeyInList(settings: Array<string>, cmd: number, keycode: number | 'WHEEL'): boolean {\n  if (!settings) {\n    return true;\n  }\n  return settings.some((keyDef) => isKey(keyDef, cmd, keycode));\n}\n\nfunction isKey(keyDef: string, cmd: number, keycode: number | 'WHEEL'): boolean {\n  let cmdDef = 0;\n  let key = 0;\n  keyDef = keyDef.toLowerCase();\n  // tslint:disable: no-bitwise\n  if (keyDef.includes('ctrl+')) {\n    cmdDef |= 1;\n    keyDef = keyDef.replace('ctrl+', '');\n  }\n  if (keyDef.includes('cmd+')) {\n    cmdDef |= 8;\n    keyDef = keyDef.replace('cmd+', '');\n  }\n  if (keyDef.includes('alt+')) {\n    cmdDef |= 2;\n    keyDef = keyDef.replace('alt+', '');\n  }\n  if (keyDef.includes('shift+')) {\n    cmdDef |= 4;\n    keyDef = keyDef.replace('shift+', '');\n  }\n  if (keyDef.includes('meta+')) {\n    cmdDef |= 8;\n    keyDef = keyDef.replace('meta+', '');\n  }\n\n  if (keyDef === 'up') {\n    key = 38;\n  } else if (keyDef === 'down') {\n    key = 40;\n  } else if (keyDef === '+' || keyDef === '\"+\"') {\n    key = 171;\n  } else if (keyDef === '-' || keyDef === '\"-\"') {\n    key = 173;\n  } else if (keyDef === 'esc') {\n    key = 27;\n  } else if (keyDef === 'enter') {\n    key = 13;\n  } else if (keyDef === 'space') {\n    key = 32;\n  } else if (keyDef === 'f4') {\n    key = 115;\n  } else if (keyDef === 'backspace') {\n    key = 8;\n  } else if (keyDef === 'home') {\n    key = 36;\n  } else if (keyDef === 'end') {\n    key = 35;\n  } else if (keyDef === 'left') {\n    key = 37;\n  } else if (keyDef === 'right') {\n    key = 39;\n  } else if (keyDef === 'pagedown') {\n    key = 34;\n  } else if (keyDef === 'pageup') {\n    key = 33;\n  } else {\n    key = keyDef.toUpperCase().charCodeAt(0);\n  }\n  if (keycode === 'WHEEL') {\n    return keyDef === 'wheel' && cmd === cmdDef;\n  }\n  return key === keycode && cmd === cmdDef;\n}\n\nif (typeof window !== 'undefined') {\n  (window as any).isKeyIgnored = isKeyIgnored;\n}\n\n@NgModule({\n  imports: [NgxExtendedPdfViewerCommonModule, CommonModule, FormsModule],\n  declarations: [NgxExtendedPdfViewerComponent],\n  providers: [NgxExtendedPdfViewerService],\n  exports: [\n    PdfZoomDropdownComponent,\n    PdfContextMenuComponent,\n    PdfPresentationModeComponent,\n    PdfOpenFileComponent,\n    PdfPrintComponent,\n    PdfDownloadComponent,\n    PdfBookmarkComponent,\n    PdfZoomToolbarComponent,\n    PdfPagingAreaComponent,\n    PdfFindbarComponent,\n    PdfSidebarComponent,\n    PdfSidebarContentComponent,\n    PdfSidebarToolbarComponent,\n    PdfSecondaryToolbarComponent,\n    PdfSearchInputFieldComponent,\n    PdfFindPreviousComponent,\n    PdfFindNextComponent,\n    PdfFindInputAreaComponent,\n    PdfFindbarOptionsTwoContainerComponent,\n    PdfFindbarOptionsOneContainerComponent,\n    PdfFindMatchCaseComponent,\n    PdfFindHighlightAllComponent,\n    PdfFindRangeComponent,\n    PdfFindCurrentPageOnlyComponent,\n    PdfFindEntireWordComponent,\n    PdfFindMultipleSearchTextsComponent,\n    PdfFindIgnoreAccentsComponent,\n    PdfFindbarOptionsThreeContainerComponent,\n    PdfFindResultsCountComponent,\n    PdfFindbarMessageContainerComponent,\n    PdfHandToolComponent,\n    PdfRotatePageComponent,\n    PdfSelectToolComponent,\n    PdfToolbarComponent,\n    PdfFindButtonComponent,\n    PdfToggleSidebarComponent,\n    PdfToggleSecondaryToolbarComponent,\n    PdfLastPageComponent,\n    PdfFirstPageComponent,\n    PdfNextPageComponent,\n    PdfPreviousPageComponent,\n    PdfPageNumberComponent,\n    PdfZoomInComponent,\n    PdfZoomOutComponent,\n    NgxExtendedPdfViewerComponent,\n    PdfAcroformDefaultThemeComponent,\n    PdfAcroformDarkThemeComponent,\n    PdfDocumentPropertiesDialogComponent,\n    PdfPasswordDialogComponent,\n    PdfPreparePrintingDialogComponent,\n    PdfErrorMessageComponent,\n  ],\n})\nexport class NgxExtendedPdfViewerModule {}\n","export const LinkTarget = {\n  NONE: 0,\n  SELF: 1,\n  BLANK: 2,\n  PARENT: 3,\n  TOP: 4\n};\n","export const NEED_PASSWORD = 1;\nexport const INCORRECT_PASSWORD = 2;\n\nexport interface PasswordPrompt {\n  /**\n   * Sets the callback function that, in turn, checks whether the password is correct.\n   * Close the password dialog before calling the callback function. If the password\n   * is wrong, it opens the password prompt dialog again.\n   *\n   * If you never call the callback, that's the same as clicking \"cancel\" on the password prompt.\n   * In other words, that's the way to go if you don't want to pass the password for some reason.\n   *\n   * @param updateCallback Function you can call to pass and verify the password\n   * @param reason Why is the password prompt requested?\n   * 1 = A password is required, but wasn't provided; 2 = the wrong password\n   * has been provided, so let's try again\n   */\n  setUpdateCallback(updateCallback: (password: string) => void, reason: 1 | 2);\n}\n","import { IPDFViewerApplication } from './options/pdf-viewer-application';\n\nexport interface PdfDocumentInfo {\n  author?: string;\n  creationDate?: Date;\n  creator?: string;\n\n  keywords?: string;\n  linearized?: boolean;\n  maybeFileSize?: string;\n  modificationDate?: Date;\n  pdfFormatVersion?: string;\n  producer?: string;\n  subject?: string;\n  title?: string;\n}\n\nexport class PdfDocumentPropertiesExtractor {\n  private pdfDateStringRegex = new RegExp(\n    '^D:' + // Prefix (required)\n      '(\\\\d{4})' + // Year (required)\n      '(\\\\d{2})?' + // Month (optional)\n      '(\\\\d{2})?' + // Day (optional)\n      '(\\\\d{2})?' + // Hour (optional)\n      '(\\\\d{2})?' + // Minute (optional)\n      '(\\\\d{2})?' + // Second (optional)\n      '([Z|+|-])?' + // Universal time relation (optional)\n      '(\\\\d{2})?' + // Offset hour (optional)\n      // tslint:disable-next-line: quotemark\n      \"'?\" + // Splitting apostrophe (optional)\n      '(\\\\d{2})?' + // Offset minute (optional)\n      // tslint:disable-next-line: quotemark\n      \"'?\" // Trailing apostrophe (optional)\n  );\n\n  public async getDocumentProperties(): Promise<any> {\n    const PDFViewerApplication: IPDFViewerApplication = (window as any)\n      .PDFViewerApplication;\n    const pdfDocument = PDFViewerApplication.pdfDocument;\n\n    const result: any = {};\n    return pdfDocument\n      .getMetadata()\n      .then(({ info, metadata, contentDispositionFilename }) => {\n        result.author = info.Author;\n        result.creationDate = this.toDateObject(\n          info.CreationDate\n        );\n        result.creator = info.Creator;\n        result.keywords = info.Keywords;\n        result.linearized = info.IsLinearized;\n        result.modificationDate = this.toDateObject(\n          info.ModDate\n        );\n        result.pdfFormatVersion = info.PDFFormatVersion;\n        result.producer = info.Producer;\n      result.subject = info.Subject;\n        result.title = info.Title;\n        if (contentDispositionFilename) {\n          result.fileName = contentDispositionFilename;\n        }\n        return pdfDocument.getDownloadInfo();\n      })\n      .then(({ length }) => {\n        result.maybeFileSize = length;\n        return result;\n      });\n  }\n\n  /** shamelessly copied from pdf.js */\n  private toDateObject(input: string | any): Date | null {\n    // if (!input ||  typeof input !== \"string\")) {\n    //  return null;\n    //  }\n\n    // Optional fields that don't satisfy the requirements from the regular\n    // expression (such as incorrect digit counts or numbers that are out of\n    // range) will fall back the defaults from the specification.\n    const matches = this.pdfDateStringRegex.exec(input);\n    if (!matches) {\n      return null;\n    }\n\n    // JavaScript's `Date` object expects the month to be between 0 and 11\n    // instead of 1 and 12, so we have to correct for that.\n    const year = parseInt(matches[1], 10);\n    let month = parseInt(matches[2], 10);\n    month = month >= 1 && month <= 12 ? month - 1 : 0;\n    let day = parseInt(matches[3], 10);\n    day = day >= 1 && day <= 31 ? day : 1;\n    let hour = parseInt(matches[4], 10);\n    hour = hour >= 0 && hour <= 23 ? hour : 0;\n    let minute = parseInt(matches[5], 10);\n    minute = minute >= 0 && minute <= 59 ? minute : 0;\n    let second = parseInt(matches[6], 10);\n    second = second >= 0 && second <= 59 ? second : 0;\n    const universalTimeRelation = matches[7] || 'Z';\n    let offsetHour = parseInt(matches[8], 10);\n    offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;\n    let offsetMinute = parseInt(matches[9], 10) || 0;\n    offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;\n\n    // Universal time relation 'Z' means that the local time is equal to the\n    // universal time, whereas the relations '+'/'-' indicate that the local\n    // time is later respectively earlier than the universal time. Every date\n    // is normalized to universal time.\n    if (universalTimeRelation === '-') {\n      hour += offsetHour;\n      minute += offsetMinute;\n    } else if (universalTimeRelation === '+') {\n      hour -= offsetHour;\n      minute -= offsetMinute;\n    }\n\n    return new Date(Date.UTC(year, month, day, hour, minute, second));\n  }\n}\n","/*\n * Public API Surface of ngx-extended-pdf-viewer\n */\n\nexport * from './lib/events/file-input-changed';\nexport * from './lib/events/find-result';\nexport * from './lib/events/invalid-pdf-exception';\nexport * from './lib/events/page-number-change';\nexport * from './lib/events/page-rendered-event';\nexport * from './lib/events/pages-loaded-event';\nexport * from './lib/events/pages-rotation-event';\nexport * from './lib/events/pdf-downloaded-event';\nexport * from './lib/events/pdf-loaded-event';\nexport * from './lib/events/pdf-loading-starts-event';\nexport * from './lib/events/pdf-thumbnail-drawn-event';\nexport * from './lib/events/progress-bar-event';\nexport * from './lib/events/scale-changing-event';\nexport * from './lib/events/sidebarview-changed';\nexport * from './lib/events/textlayer-rendered';\nexport * from './lib/ngx-extended-pdf-viewer-server.component';\nexport * from './lib/ngx-extended-pdf-viewer-server.module';\nexport * from './lib/ngx-extended-pdf-viewer.component';\nexport * from './lib/ngx-extended-pdf-viewer.module';\nexport * from './lib/ngx-extended-pdf-viewer.service';\nexport * from './lib/options/link-target';\nexport * from './lib/options/optional_content_config';\nexport * from './lib/options/password-prompt';\nexport * from './lib/options/pdf-background';\nexport * from './lib/options/pdf-default-options';\nexport * from './lib/options/pdf-print-range';\nexport * from './lib/options/pdf-viewer';\nexport * from './lib/options/pdf-viewer-app-config';\nexport * from './lib/options/pdf-viewer-application';\nexport * from './lib/options/verbosity-level';\nexport * from './lib/pdf-dialog/pdf-document-properties-dialog/pdf-document-properties-dialog.component';\nexport * from './lib/pdf-dialog/pdf-error-message/pdf-error-message.component';\n// export * from './lib/pdf-dialog/pdf-error-message/pdf-error-message.component';\nexport * from './lib/pdf-dialog/pdf-password-dialog/pdf-password-dialog.component';\nexport * from './lib/pdf-dialog/pdf-prepare-printing-dialog/pdf-prepare-printing-dialog.component';\nexport * from './lib/pdf-document-properties-extractor';\nexport * from './lib/pdf-notification-service';\nexport * from './lib/secondary-toolbar/pdf-secondary-toolbar/pdf-secondary-toolbar.component';\nexport * from './lib/sidebar/pdf-sidebar/pdf-sidebar-content/pdf-sidebar-content.component';\nexport * from './lib/sidebar/pdf-sidebar/pdf-sidebar-toolbar/pdf-sidebar-toolbar.component';\nexport * from './lib/sidebar/pdf-sidebar/pdf-sidebar.component';\nexport * from './lib/theme/acroform-dark-theme/pdf-acroform-dark-theme.component';\nexport * from './lib/theme/acroform-default-theme/pdf-acroform-default-theme.component';\nexport * from './lib/theme/pdf-dark-theme/pdf-dark-theme.component';\nexport * from './lib/theme/pdf-light-theme/pdf-light-theme.component';\nexport * from './lib/toolbar/pdf-bookmark/pdf-bookmark.component';\nexport * from './lib/toolbar/pdf-context-menu/pdf-context-menu.component';\nexport * from './lib/toolbar/pdf-download/pdf-download.component';\nexport * from './lib/toolbar/pdf-find-button/pdf-find-button.component';\nexport * from './lib/toolbar/pdf-findbar/pdf-find-current-page-only/pdf-find-current-page-only.component';\nexport * from './lib/toolbar/pdf-findbar/pdf-find-input-area/pdf-find-input-area.component';\nexport * from './lib/toolbar/pdf-findbar/pdf-find-next/pdf-find-next.component';\nexport * from './lib/toolbar/pdf-findbar/pdf-find-previous/pdf-find-previous.component';\nexport * from './lib/toolbar/pdf-findbar/pdf-find-range/pdf-find-range.component';\nexport * from './lib/toolbar/pdf-findbar/pdf-findbar-message-container/pdf-findbar-message-container.component';\nexport * from './lib/toolbar/pdf-findbar/pdf-findbar-options-one-container/pdf-find-highlight-all/pdf-find-highlight-all.component';\nexport * from './lib/toolbar/pdf-findbar/pdf-findbar-options-one-container/pdf-find-match-case/pdf-find-match-case.component';\nexport * from './lib/toolbar/pdf-findbar/pdf-findbar-options-one-container/pdf-findbar-options-one-container.component';\nexport * from './lib/toolbar/pdf-findbar/pdf-findbar-options-three-container/pdf-find-fuzzily/pdf-find-fuzzily.component';\nexport * from './lib/toolbar/pdf-findbar/pdf-findbar-options-three-container/pdf-find-ignore-accents/pdf-find-ignore-accents.component';\nexport * from './lib/toolbar/pdf-findbar/pdf-findbar-options-three-container/pdf-find-results-count/pdf-find-results-count.component';\nexport * from './lib/toolbar/pdf-findbar/pdf-findbar-options-three-container/pdf-findbar-options-three-container.component';\nexport * from './lib/toolbar/pdf-findbar/pdf-findbar-options-two-container/pdf-find-entire-phrase/pdf-find-entire-phrase.component';\nexport * from './lib/toolbar/pdf-findbar/pdf-findbar-options-two-container/pdf-find-entire-word/pdf-find-entire-word.component';\nexport * from './lib/toolbar/pdf-findbar/pdf-findbar-options-two-container/pdf-findbar-options-two-container.component';\nexport * from './lib/toolbar/pdf-findbar/pdf-findbar.component';\nexport * from './lib/toolbar/pdf-findbar/pdf-search-input-field/pdf-search-input-field.component';\nexport * from './lib/toolbar/pdf-hand-tool/pdf-hand-tool.component';\nexport * from './lib/toolbar/pdf-open-file/pdf-open-file.component';\nexport * from './lib/toolbar/pdf-paging-area/pdf-first-page/pdf-first-page.component';\nexport * from './lib/toolbar/pdf-paging-area/pdf-last-page/pdf-last-page.component';\nexport * from './lib/toolbar/pdf-paging-area/pdf-next-page/pdf-next-page.component';\nexport * from './lib/toolbar/pdf-paging-area/pdf-page-number/pdf-page-number.component';\nexport * from './lib/toolbar/pdf-paging-area/pdf-paging-area.component';\nexport * from './lib/toolbar/pdf-paging-area/pdf-previous-page/pdf-previous-page.component';\nexport * from './lib/toolbar/pdf-presentation-mode/pdf-presentation-mode.component';\nexport * from './lib/toolbar/pdf-print/pdf-print.component';\nexport * from './lib/toolbar/pdf-rotate-page/pdf-rotate-page.component';\nexport * from './lib/toolbar/pdf-select-tool/pdf-select-tool.component';\nexport * from './lib/toolbar/pdf-toggle-secondary-toolbar/pdf-toggle-secondary-toolbar.component';\nexport * from './lib/toolbar/pdf-toggle-sidebar/pdf-toggle-sidebar.component';\nexport * from './lib/toolbar/pdf-toolbar/pdf-toolbar.component';\nexport * from './lib/toolbar/pdf-zoom-toolbar/pdf-zoom-dropdown/pdf-zoom-dropdown.component';\nexport * from './lib/toolbar/pdf-zoom-toolbar/pdf-zoom-in/pdf-zoom-in.component';\nexport * from './lib/toolbar/pdf-zoom-toolbar/pdf-zoom-out/pdf-zoom-out.component';\nexport * from './lib/toolbar/pdf-zoom-toolbar/pdf-zoom-toolbar.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["css","i1.PdfDarkThemeComponent","i2.PdfLightThemeComponent","i3.DynamicCssComponent","i4.PdfDummyComponentsComponent","i5","i1.PDFNotificationService","i1","i1.PdfSidebarToolbarComponent","i2.PdfSidebarContentComponent","i3","i1.PdfFindbarService","i1.PdfSearchInputFieldComponent","i2.PdfFindPreviousComponent","i3.PdfFindNextComponent","i4","i1.PdfFindHighlightAllComponent","i2.PdfFindMatchCaseComponent","i1.PdfFindIgnoreAccentsComponent","i2.PdfFindFuzzilyComponent","i3.PdfFindResultsCountComponent","i2","i1.PdfFindEntireWordComponent","i2.PdfFindMultipleSearchTextsComponent","i1.PdfFindInputAreaComponent","i2.PdfFindHighlightAllComponent","i3.PdfFindMatchCaseComponent","i4.PdfFindCurrentPageOnlyComponent","i5.PdfFindRangeComponent","i6.PdfFindEntireWordComponent","i7.PdfFindMultipleSearchTextsComponent","i8.PdfFindIgnoreAccentsComponent","i9.PdfFindFuzzilyComponent","i10.PdfFindResultsCountComponent","i11.PdfFindbarMessageContainerComponent","i12","i1.PdfFirstPageComponent","i2.PdfPreviousPageComponent","i3.PdfPageNumberComponent","i4.PdfNextPageComponent","i5.PdfLastPageComponent","i1.PdfZoomOutComponent","i2.PdfZoomInComponent","i3.PdfZoomDropdownComponent","i1.PdfToggleSidebarComponent","i2.PdfFindButtonComponent","i3.PdfPagingAreaComponent","i4.PdfZoomToolbarComponent","i5.PdfHandToolComponent","i6.PdfSelectToolComponent","i7.PdfRotatePageComponent","i8.PdfPresentationModeComponent","i9.PdfOpenFileComponent","i10.PdfPrintComponent","i11.PdfDownloadComponent","i12.PdfBookmarkComponent","i13.PdfToggleSecondaryToolbarComponent","i14","NgxExtendedPdfViewerService","i3.NgxExtendedPdfViewerService","i4.PdfDarkThemeComponent","i5.PdfLightThemeComponent","i6.PdfAcroformDarkThemeComponent","i7.PdfAcroformDefaultThemeComponent","i8.DynamicCssComponent","i9.PdfSidebarComponent","i10.PdfDummyComponentsComponent","i11.PdfToolbarComponent","i12.PdfSecondaryToolbarComponent","i13.PdfFindbarComponent","i14.PdfContextMenuComponent","i15.PdfErrorMessageComponent","i16.PdfPasswordDialogComponent","i17.PdfDocumentPropertiesDialogComponent","i18.PdfPreparePrintingDialogComponent","i19.TranslatePipe"],"mappings":";;;;;;;;;;AAAY,IAAA,UAKX;AALD,CAAA,UAAY,SAAS,EAAA;IACnB,SAAA,CAAA,SAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAS,CAAA;IACT,SAAA,CAAA,SAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAa,CAAA;IACb,SAAA,CAAA,SAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAW,CAAA;IACX,SAAA,CAAA,SAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAW,CAAA;AACb,CAAC,EALW,SAAS,KAAT,SAAS,GAKpB,EAAA,CAAA,CAAA;;ACLD,MAAM,OAAO,GAAG,OAAO,MAAM,KAAK,WAAW,GAAG,KAAK,GAAG,CAAC,CAAO,MAAO,CAAC,oBAAoB,IAAI,CAAC,CAAO,QAAS,CAAC,YAAY,CAAC;AAC/H,MAAM,MAAM,GAAG,OAAO,SAAS,KAAK,WAAW,IAAI,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;AAC1F,MAAM,QAAQ,GAAG,OAAO,cAAc,KAAK,WAAW,IAAI,OAAO,OAAO,CAAC,YAAY,CAAC,KAAK,WAAW,CAAC;AAEhG,MAAM,YAAY,GAAG,WAAW;AAChC,MAAM,wBAAwB,GAAG,WAAW;AAC7C,SAAU,gBAAgB,CAAC,MAAc,EAAA;IAC7C,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;AAC9C,QAAA,OAAO,wBAAwB,CAAC;AACjC,KAAA;AACD,IAAA,OAAO,YAAY,CAAC;AACtB,CAAC;AAEU,IAAA,iBAAiB,GAAG;AAC7B,IAAA,QAAQ,EAAE,OAAO,IAAI,MAAM,IAAI,QAAQ;AACvC,IAAA,gBAAgB,EAAE,CAAC;AACnB,IAAA,UAAU,EAAE,EAAE;AACd,IAAA,gBAAgB,EAAE,SAAS;AAC3B,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,iBAAiB,EAAE,KAAK;AACxB,IAAA,qBAAqB,EAAE,KAAK;AAC5B,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,qBAAqB,EAAE,KAAK;AAC5B,IAAA,eAAe,EAAE,8BAA8B;AAC/C,IAAA,kBAAkB,EAAE,CAAC;AACrB,IAAA,gBAAgB,EAAE,KAAK;AACvB,IAAA,qBAAqB,EAAE,KAAK;AAC5B,IAAA,kBAAkB,EAAE,WAAW;AAC/B,IAAA,eAAe,EAAE,QAAQ;AACzB,IAAA,aAAa,EAAE,KAAK;AACpB,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,iBAAiB,EAAE,KAAK;AACxB,IAAA,QAAQ,EAAE,QAAQ;AAClB,IAAA,sBAAsB,EAAE,IAAI;AAC5B,IAAA,WAAW,EAAE,IAAI;AACjB,IAAA,SAAS,EAAE,IAAI;IACf,iBAAiB,EAAE,CAAC,CAAC;IACrB,gBAAgB,EAAE,CAAC,CAAC;IACpB,gBAAgB,EAAE,CAAC,CAAC;AACpB,IAAA,aAAa,EAAE,CAAC;AAChB,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,UAAU,EAAE,CAAC;AACb,IAAA,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE,MAAM,KAAK,iBAAiB,CAAC,YAAY,CAAS,OAAA,CAAA;AAC3D,IAAA,gBAAgB,EAAE,KAAK;AACvB,IAAA,sBAAsB,EAAE,KAAK;AAC7B,IAAA,eAAe,EAAE,KAAK;AACtB,IAAA,YAAY,EAAE,KAAK;AACnB,IAAA,aAAa,EAAE,KAAK;AACpB,IAAA,eAAe,EAAE,IAAI;IACrB,YAAY,EAAE,CAAC,CAAC;AAChB,IAAA,MAAM,EAAE,KAAK;AACb,IAAA,oBAAoB,EAAE,IAAI;AAC1B,IAAA,SAAS,EAAE,CAAC;AACZ,IAAA,UAAU,EAAE,IAAI;AAChB,IAAA,YAAY,EAAE,QAAQ;AACtB,IAAA,gBAAgB,EAAE,MAChB,iBAAiB,CAAC,QAAQ;AACxB,UAAE,CAAA,EAAA,EAAK,iBAAiB,CAAC,YAAY,CAAA,aAAA,EAAgB,gBAAgB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAS,OAAA,CAAA;AAC9G,UAAE,CAAA,EAAA,EAAK,iBAAiB,CAAC,YAAY,CAAA,aAAA,EAAgB,gBAAgB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAK,GAAA,CAAA;AAC9G,IAAA,SAAS,EAAE,MACT,iBAAiB,CAAC,QAAQ;AACxB,UAAE,CAAA,EAAA,EAAK,iBAAiB,CAAC,YAAY,CAAA,YAAA,EAAe,gBAAgB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAS,OAAA,CAAA;AAC7G,UAAE,CAAA,EAAA,EAAK,iBAAiB,CAAC,YAAY,CAAA,YAAA,EAAe,gBAAgB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAK,GAAA,CAAA;IAC7G,mBAAmB,EAAE,MAAM,MAAM,iBAAiB,CAAC,YAAY,CAAkB,gBAAA,CAAA;;AAGjF,IAAA,mBAAmB,EAAE,YAAY;AACjC,IAAA,eAAe,EAAE,IAAI;AACrB,IAAA,gBAAgB,EAAE,EAAE;AACpB,IAAA,cAAc,EAAE,SAAS;AACzB,IAAA,uBAAuB,EAAE,KAAK;EAC9B;AAEF,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;IACjC,IAAU,MAAO,CAAC,iBAAiB,EAAE;AACnC,QAAA,iBAAiB,GAAS,MAAO,CAAC,iBAAiB,CAAC;AACrD,KAAA;AAAM,SAAA;AACC,QAAA,MAAO,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;AACrD,KAAA;AACF;;AChFW,IAAA,eAIX;AAJD,CAAA,UAAY,cAAc,EAAA;IACxB,cAAA,CAAA,cAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAU,CAAA;IACV,cAAA,CAAA,cAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAY,CAAA;IACZ,cAAA,CAAA,cAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAS,CAAA;AACX,CAAC,EAJW,cAAc,KAAd,cAAc,GAIzB,EAAA,CAAA,CAAA,CAAA;AAAA;;ACFD;AACA,MAAM,WAAW,GAAG;IAClB,eAAe;IACf,UAAU;IACV,YAAY;IACZ,sBAAsB;IACtB,mBAAmB;IACnB,aAAa;IACb,YAAY;IACZ,UAAU;IACV,MAAM;IACN,QAAQ;IACR,SAAS;IACT,UAAU;IACV,UAAU;IACV,OAAO;IACP,kBAAkB;IAClB,UAAU;IACV,cAAc;IACd,kBAAkB;IAClB,wBAAwB;IACxB,iCAAiC;IACjC,2BAA2B;IAC3B,mBAAmB;IACnB,gBAAgB;IAChB,mBAAmB;IACnB,uBAAuB;IACvB,WAAW;IACX,UAAU;IACV,cAAc;IACd,eAAe;IACf,kBAAkB;IAClB,gBAAgB;IAChB,gBAAgB;IAChB,kBAAkB;IAClB,eAAe;IACf,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,oBAAoB;IACpB,kBAAkB;IAClB,iBAAiB;IACjB,qBAAqB;IACrB,sBAAsB;IACtB,oBAAoB;IACpB,gBAAgB;IAChB,iBAAiB;IACjB,eAAe;IACf,eAAe;IACf,aAAa;IACb,iBAAiB;IACjB,eAAe;IACf,aAAa;IACb,iBAAiB;IACjB,gBAAgB;IAChB,gBAAgB;IAChB,yBAAyB;IACzB,SAAS;IACT,UAAU;IACV,WAAW;IACX,oBAAoB;IACpB,kBAAkB;IAClB,iBAAiB;IACjB,WAAW;IACX,eAAe;IACf,qBAAqB;IACrB,gBAAgB;IAChB,yBAAyB;IACzB,mBAAmB;IACnB,SAAS;IACT,kBAAkB;IAClB,cAAc;IACd,UAAU;IACV,WAAW;IACX,iBAAiB;IACjB,cAAc;IACd,UAAU;IACV,gBAAgB;IAChB,gBAAgB;IAChB,2BAA2B;IAC3B,yBAAyB;IACzB,eAAe;IACf,eAAe;IACf,YAAY;IACZ,aAAa;IACb,cAAc;IACd,eAAe;IACf,mBAAmB;IACnB,uBAAuB;IACvB,cAAc;IACd,eAAe;IACf,cAAc;IACd,gBAAgB;IAChB,eAAe;IACf,iBAAiB;IACjB,cAAc;IACd,cAAc;IACd,YAAY;IACZ,eAAe;IACf,eAAe;IACf,eAAe;IACf,sBAAsB;IACtB,iBAAiB;IACjB,YAAY;IACZ,eAAe;IACf,aAAa;IACb,mBAAmB;IACnB,YAAY;IACZ,gBAAgB;CACjB,CAAC;MAMW,2BAA2B,CAAA;IAG/B,yBAAyB,GAAA;AAC9B,QAAA,IAAI,CAAC,wBAAwB,GAAG,QAAQ,CAAC,sBAAsB,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAAC;AAClG,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,wBAAuC,CAAC;AAC/D,QAAA,IAAI,SAAS,EAAE;AACb,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAClD,gBAAA,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC;AACnC,gBAAA,IAAI,KAAK,EAAE;AACT,oBAAA,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC9B,iBAAA;AACF,aAAA;AACF,SAAA;AAED,QAAA,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,KAAI;AACzB,YAAA,IAAI,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE;gBAC7B,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAC7C,gBAAA,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;AACd,gBAAA,KAAK,CAAC,SAAS,GAAG,2BAA2B,CAAC;AAC9C,gBAAA,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAClD,aAAA;AACH,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE;YACxC,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AAC/C,YAAA,KAAK,CAAC,EAAE,GAAG,aAAa,CAAC;AACzB,YAAA,KAAK,CAAC,SAAS,GAAG,2BAA2B,CAAC;AAC9C,YAAA,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAClD,SAAA;KACF;AAEO,IAAA,gBAAgB,CAAC,EAAU,EAAA;QACjC,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;KACd;;yHAtCU,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,4DCrHxC,mEAEA,EAAA,CAAA,CAAA;4FDmHa,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAJvC,SAAS;+BACE,sBAAsB,EAAA,QAAA,EAAA,mEAAA,EAAA,CAAA;;;AElH3B,MAAMA,KAAG,GAAC,qziFAAqziF;;MCUzziF,qBAAqB,CAAA;IAChC,WAAoB,CAAA,QAAmB,EAA4B,QAAa,EAAA;AAA5D,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;AAA4B,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAK;KAAI;IAE7E,QAAQ,GAAA;QACb,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;IAEO,WAAW,GAAA;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAqB,CAAC;AACxE,QAAA,MAAM,CAAC,EAAE,GAAG,eAAe,CAAC;AAC5B,QAAA,MAAM,CAAC,SAAS,GAAGA,KAAG,CAAC;AACvB,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KACvD;IAEM,WAAW,GAAA;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAgB,CAAC;AAC5E,QAAA,IAAI,MAAM,IAAI,MAAM,CAAC,aAAa,EAAE;AACjC,YAAA,MAAM,CAAC,aAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AACnD,SAAA;KACF;;AAnBU,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,2CACiB,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAD9C,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,sDCVlC,EAAA,EAAA,CAAA,CAAA;4FDUa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBANjC,SAAS;+BACE,gBAAgB,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;;8BAMgB,MAAM;+BAAC,QAAQ,CAAA;;;;AEXpD,MAAMA,KAAG,GAAC,kviFAAkviF;;MCUtviF,sBAAsB,CAAA;IACjC,WAAoB,CAAA,QAAmB,EAA4B,QAAa,EAAA;AAA5D,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;AAA4B,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAK;KAAI;IAE7E,QAAQ,GAAA;QACb,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;IAEO,WAAW,GAAA;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAqB,CAAC;AACxE,QAAA,MAAM,CAAC,EAAE,GAAG,eAAe,CAAC;AAC5B,QAAA,MAAM,CAAC,SAAS,GAAGA,KAAG,CAAC;AACvB,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KACvD;IAEM,WAAW,GAAA;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAgB,CAAC;AAC5E,QAAA,IAAI,MAAM,IAAI,MAAM,CAAC,aAAa,EAAE;AACjC,YAAA,MAAM,CAAC,aAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AACnD,SAAA;KACF;;AAnBU,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,2CACgB,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAD9C,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,uDCVnC,EAAA,EAAA,CAAA,CAAA;4FDUa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBANlC,SAAS;+BACE,iBAAiB,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;;8BAMe,MAAM;+BAAC,QAAQ,CAAA;;;;MEH9C,mBAAmB,CAAA;IAgK9B,WAAoB,CAAA,QAAmB,EAA4B,QAAa,EAAA;AAA5D,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;AAA4B,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAK;AA9JzE,QAAA,IAAI,CAAA,IAAA,GAAG,GAAG,CAAC;AAGX,QAAA,IAAK,CAAA,KAAA,GAAG,GAAG,CAAC;AAEZ,QAAA,IAAE,CAAA,EAAA,GAAG,GAAG,CAAC;AAET,QAAA,IAAE,CAAA,EAAA,GAAG,GAAG,CAAC;AAET,QAAA,IAAE,CAAA,EAAA,GAAG,GAAG,CAAC;AAET,QAAA,IAAE,CAAA,EAAA,GAAG,GAAG,CAAC;AAET,QAAA,IAAE,CAAA,EAAA,GAAG,GAAG,CAAC;AAET,QAAA,IAAG,CAAA,GAAA,GAAG,GAAG,CAAC;KA+ImE;AA7IpF,IAAA,IAAW,KAAK,GAAA;QACd,OAAO,CAAA;AACkB,2BAAA,EAAA,IAAI,CAAC,EAAE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCP,2BAAA,EAAA,IAAI,CAAC,EAAE,CAAA;;;;;;;;;;;;;AAaP,2BAAA,EAAA,IAAI,CAAC,EAAE,CAAA;;;;;;;;;;;;AAYP,2BAAA,EAAA,IAAI,CAAC,EAAE,CAAA;;;;;;;;;;;;;;;;;;;AAmBP,2BAAA,EAAA,IAAI,CAAC,EAAE,CAAA;;;;;;;;;;;;;;;;;AAiBP,2BAAA,EAAA,IAAI,CAAC,EAAE,CAAA;;;;;;;;;;;;;;;;;;AAkBP,2BAAA,EAAA,IAAI,CAAC,GAAG,CAAA;;;;;;;;;AASR,2BAAA,EAAA,IAAI,CAAC,EAAE,CAAA;;;;;;;AAOP,2BAAA,EAAA,IAAI,CAAC,EAAE,CAAA;;;;;;;;;GASjC,CAAC;KACH;IAIC,QAAQ,GAAA;QACN,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;IAED,WAAW,GAAA;QACT,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;AAChD,QAAA,MAAM,gBAAgB,GAAG,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;AAC/C,QAAA,MAAM,WAAW,GAAG,gBAAgB,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;AAEnE,QAAA,IAAI,CAAC,EAAE,GAAG,WAAW,GAAG,GAAG,CAAC;AAC5B,QAAA,IAAI,CAAC,EAAE,GAAG,WAAW,GAAG,GAAG,CAAC;AAC5B,QAAA,IAAI,CAAC,EAAE,GAAG,WAAW,GAAG,GAAG,CAAC;AAC5B,QAAA,IAAI,CAAC,EAAE,GAAG,WAAW,GAAG,GAAG,CAAC;AAC5B,QAAA,IAAI,CAAC,EAAE,GAAG,WAAW,GAAG,GAAG,CAAC;AAC5B,QAAA,IAAI,CAAC,GAAG,GAAG,WAAW,GAAG,GAAG,CAAC;QAE7B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;AAC/D,QAAA,IAAI,MAAM,EAAE;AACV,YAAA,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;AAC/B,SAAA;KACF;IAEO,WAAW,GAAA;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAqB,CAAC;AACxE,QAAA,MAAM,CAAC,EAAE,GAAG,iBAAiB,CAAC;AAC9B,QAAA,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;AAC9B,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KACvD;IAEM,WAAW,GAAA;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAgB,CAAC;AAC9E,QAAA,IAAI,MAAM,IAAI,MAAM,CAAC,aAAa,EAAE;AACjC,YAAA,MAAM,CAAC,aAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AACnD,SAAA;KACF;;AApMU,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,2CAgKmB,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAhK9C,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,sHCRhC,EAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDQa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,SAAS;+BACE,iBAAiB,EAAA,QAAA,EAAA,EAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;;8BAoKe,MAAM;+BAAC,QAAQ,CAAA;;yBA9JlD,IAAI,EAAA,CAAA;sBADV,KAAK;gBAIC,KAAK,EAAA,CAAA;sBADX,KAAK;;;ME0BK,mCAAmC,CAAA;AALhD,IAAA,WAAA,GAAA;AA8BS,QAAA,IAAoB,CAAA,oBAAA,GAAiC,SAAS,CAAC;AAe/D,QAAA,IAAmB,CAAA,mBAAA,GAAG,IAAI,CAAC;AAG3B,QAAA,IAAQ,CAAA,QAAA,GAAiB,EAAE,CAAC;AAG5B,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAgB,CAAC;AAGlD,QAAA,IAAY,CAAA,YAAA,GAAuD,UAAU,CAAC;AAG9E,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAoB,CAAC;AAShD,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAU,CAAC;AAGvC,QAAA,IAAU,CAAA,UAAA,GAA+B,SAAS,CAAC;AAGnD,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,YAAY,EAAkB,CAAC;AAGtD,QAAA,IAAa,CAAA,aAAA,GAAuB,SAAS,CAAC;AAG9C,QAAA,IAAW,CAAA,WAAA,GAAuB,SAAS,CAAC;AAG5C,QAAA,IAAkB,CAAA,kBAAA,GAAG,IAAI,CAAC;AAG1B,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAQ,CAAC;AAGtC,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAQ,CAAC;AAGvC,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,YAAY,EAAU,CAAC;AAG/C,QAAA,IAAW,CAAA,WAAA,GAAG,IAAI,CAAC;AAE1B;;;;;AAKG;AAEI,QAAA,IAAc,CAAA,cAAA,GAAG,CAAC,CAAC;AAK1B;AAC0G;AAEnG,QAAA,IAAA,CAAA,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC;AAGnC,QAAA,IAAmB,CAAA,mBAAA,GAAG,KAAK,CAAC;;AAI5B,QAAA,IAAmB,CAAA,mBAAA,GAAG,IAAI,CAAC;AAE3B,QAAA,IAAkB,CAAA,kBAAA,GAAG,IAAI,CAAC;AAEjC;AAC6G;AAEtG,QAAA,IAAe,CAAA,eAAA,GAAG,IAAI,CAAC;AAMvB,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAsB,CAAC;AAa/D;;;;AAIG;AAEI,QAAA,IAAgB,CAAA,gBAAA,GAAG,KAAK,CAAC;AAGzB,QAAA,IAAe,CAAA,eAAA,GAAG,SAAS,CAAC;AAG5B,QAAA,IAAa,CAAA,aAAA,GAAkB,SAAS,CAAC;AAGzC,QAAA,IAA2B,CAAA,2BAAA,GAAW,SAAS,CAAC;;AAIhD,QAAA,IAAmB,CAAA,mBAAA,GAAG,cAAc,CAAC;;AAIrC,QAAA,IAAc,CAAA,cAAA,GAAG,KAAK,CAAC;;AAIvB,QAAA,IAAU,CAAA,UAAA,GAAkB,EAAE,CAAC;;AAI/B,QAAA,IAAU,CAAA,UAAA,GAAkB,EAAE,CAAC;;QAI/B,IAAkB,CAAA,kBAAA,GAAG,IAAI,GAAG,iBAAiB,CAAC,YAAY,GAAG,UAAU,CAAC;;QAIxE,IAAgB,CAAA,gBAAA,GAAG,IAAI,GAAG,iBAAiB,CAAC,YAAY,GAAG,SAAS,CAAC;AAE5E;AACG;AAEI,QAAA,IAAQ,CAAA,QAAA,GAAuB,SAAS,CAAC;;AAIzC,QAAA,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;;AAIpB,QAAA,IAAS,CAAA,SAAA,GAAuB,SAAS,CAAC;;AAI1C,QAAA,IAAQ,CAAA,QAAA,GAAuB,SAAS,CAAC;AAEhD;;AAEG;AAEI,QAAA,IAAwB,CAAA,wBAAA,GAAG,KAAK,CAAC;AAYjC,QAAA,IAAc,CAAA,cAAA,GAAwB,SAAS,CAAC;AAGhD,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,YAAY,EAAW,CAAC;AAGnD,QAAA,IAAc,CAAA,cAAA,GAAwB,SAAS,CAAC;AAGhD,QAAA,IAAoB,CAAA,oBAAA,GAAG,IAAI,CAAC;AAG5B,QAAA,IAAiB,CAAA,iBAAA,GAAG,IAAI,CAAC;AAGzB,QAAA,IAAuB,CAAA,uBAAA,GAAG,IAAI,CAAC;AAG/B,QAAA,IAAiB,CAAA,iBAAA,GAAG,IAAI,CAAC;AAGzB,QAAA,IAAkB,CAAA,kBAAA,GAAG,IAAI,CAAC;AAG1B,QAAA,IAAoB,CAAA,oBAAA,GAAG,IAAI,CAAC;AAG5B,QAAA,IAAqB,CAAA,qBAAA,GAAG,IAAI,CAAC;AAG7B,QAAA,IAAmB,CAAA,mBAAA,GAAG,IAAI,CAAC;AAG3B,QAAA,IAAoB,CAAA,oBAAA,GAAG,IAAI,CAAC;AAG5B,QAAA,IAAgB,CAAA,gBAAA,GAAG,IAAI,CAAC;AAGxB,QAAA,IAAiB,CAAA,iBAAA,GAAG,IAAI,CAAC;AAEzB,QAAA,IAAe,CAAA,eAAA,GAAG,IAAI,CAAC;AAEvB,QAAA,IAA0B,CAAA,0BAAA,GAAG,KAAK,CAAC;AAEnC,QAAA,IAAkB,CAAA,kBAAA,GAAG,IAAI,CAAC;AAE1B,QAAA,IAAe,CAAA,eAAA,GAAG,IAAI,CAAC;AAEvB,QAAA,IAAkB,CAAA,kBAAA,GAAG,IAAI,CAAC;AAE1B,QAAA,IAAkB,CAAA,kBAAA,GAAG,IAAI,CAAC;AAG1B,QAAA,IAAK,CAAA,KAAA,GAAgC,OAAO,CAAC;AAG7C,QAAA,IAAW,CAAA,WAAA,GAAG,IAAI,CAAC;AAGnB,QAAA,IAA0B,CAAA,0BAAA,GAAG,IAAI,CAAC;;AAGlC,QAAA,IAAgC,CAAA,gCAAA,GAAG,KAAK,CAAC;AAGzC,QAAA,IAAgB,CAAA,gBAAA,GAAG,IAAI,CAAC;AAExB,QAAA,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAC;AAEhB,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAW,CAAC;AAE7C,QAAA,IAAkB,CAAA,kBAAA,GAAG,KAAK,CAAC;AAE3B,QAAA,IAAmB,CAAA,mBAAA,GAAG,IAAI,CAAC;AAE3B,QAAA,IAAgB,CAAA,gBAAA,GAAG,IAAI,CAAC;AAExB,QAAA,IAAoB,CAAA,oBAAA,GAAG,IAAI,CAAC;AAE5B,QAAA,IAAW,CAAA,WAAA,GAAG,IAAI,CAAC;AAMnB,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAA0B,CAAC;AAG1D,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAA0B,CAAC;AAE3D,QAAA,IAAK,CAAA,KAAA,GAAuB,SAAS,CAAC;AAUvC,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAsB,CAAC;AAGpD,QAAA,IAAS,CAAA,SAAA,GAAuB,SAAS,CAAC;AAG1C,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAsB,CAAC;AAGzD,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAoB,CAAC;AAGnD,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAqB,CAAC;AAGrD,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAsB,CAAC;AAGvD,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAkB,CAAC;AAG/C,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,YAAY,EAAS,CAAC;AAG7C,QAAA,IAAS,CAAA,SAAA,GAAwB,SAAS,CAAC;AAG3C,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,YAAY,EAA0B,CAAC;AAG/D,QAAA,IAAA,CAAA,sBAAsB,GAAG,IAAI,YAAY,EAA0B,CAAC;AAGpE,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAa,CAAC;;AAIhD,QAAA,IAAI,CAAA,IAAA,GAAgC,SAAS,CAAC;AAG9C,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAA+B,CAAC;QAG7D,IAAU,CAAA,UAAA,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAG3F,QAAA,IAAO,CAAA,OAAA,GAAG,EAAE,CAAC;AAGb,QAAA,IAAO,CAAA,OAAA,GAAG,GAAG,CAAC;AAErB;;AAEG;AACM,QAAA,IAAmB,CAAA,mBAAA,GAAG,MAAM,CAAC;AAE/B,QAAA,IAAuB,CAAA,uBAAA,GAAG,CAAC,CAAC;AAE5B,QAAA,IAAgB,CAAA,gBAAA,GAAG,KAAK,CAAC;AAEzB,QAAA,IAAY,CAAA,YAAA,GAAG,MAAM,CAAC;AAEtB,QAAA,IAAoB,CAAA,oBAAA,GAAG,GAAG,CAAC;AAE3B,QAAA,IAAmB,CAAA,mBAAA,GAAuB,SAAS,CAAC;;AAGpD,QAAA,IAAU,CAAA,UAAA,GAAuB,SAAS,CAAC;;AAG3C,QAAA,IAAW,CAAA,WAAA,GAAuB,SAAS,CAAC;;AAG5C,QAAA,IAAY,CAAA,YAAA,GAAQ,EAAE,CAAC;AAavB,QAAA,IAAW,CAAA,WAAA,GAAsB,QAAQ,CAAC;KAkBlD;AAhSC,IAAA,IACW,GAAG,CAAC,GAA8D,EAAA,GAAI;AAEjF,IAAA,IACW,SAAS,CAAC,MAAc,EAAA,GAAI;AAEvC,IAAA,IACW,MAAM,CAAC,CAAS,EAAA,GAAI;AAqE/B,IAAA,IAAW,iBAAiB,GAAA;AAC1B,QAAA,OAAO,IAAI,CAAC;KACb;AACD,IAAA,IACW,iBAAiB,CAAC,IAAa,EAAA,GAAI;AAgG9C,IAAA,IAAW,IAAI,GAAA;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;KACnB;AAED,IAAA,IACW,IAAI,CAAC,CAAqB,EAAG,GAAC;AA8EzC,IAAA,IAAW,kBAAkB,GAAA;QAC3B,OAAO,IAAI,CAAC,mBAAmB,CAAC;KACjC;AACD;;;AAGG;AACH,IAAA,IACW,kBAAkB,CAAC,IAAY,EAAG,GAAC;AAK9C,IAAA,IAAW,kBAAkB,GAAA;AAC3B,QAAA,OAAO,MAAM,CAAC;KACf;IAED,WAAW,CAAC,OAAsB,EAAA,GAAU;AAE5C,IAAA,QAAQ,MAAK;AAEb,IAAA,eAAe,MAAK;AAEb,IAAA,WAAW,MAAW;IAGtB,aAAa,GAAA;QAClB,OAAO,IAAI,CAAC,kBAAkB,CAAC;KAChC;;AA/Za,mCAA+B,CAAA,+BAAA,GAAG,KAAM,CAAA;iIAD3C,mCAAmC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;qHAAnC,mCAAmC,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,aAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,UAAA,EAAA,YAAA,EAAA,aAAA,EAAA,eAAA,EAAA,WAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,GAAA,EAAA,KAAA,EAAA,SAAA,EAAA,WAAA,EAAA,MAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,2BAAA,EAAA,6BAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,wBAAA,EAAA,0BAAA,EAAA,aAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,0BAAA,EAAA,4BAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,KAAA,EAAA,OAAA,EAAA,WAAA,EAAA,aAAA,EAAA,0BAAA,EAAA,4BAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,WAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,YAAA,EAAA,cAAA,EAAA,aAAA,EAAA,eAAA,EAAA,SAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAQnC,2BAA2B,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,MAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,MAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,2BAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,8BAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,YAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC9CxC,woBAgBA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,mBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,2BAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;4FDsBa,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAL/C,SAAS;+BACE,yBAAyB,EAAA,eAAA,EAElB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,woBAAA,EAAA,CAAA;8BAWxC,eAAe,EAAA,CAAA;sBADrB,SAAS;uBAAC,2BAA2B,CAAA;gBAI/B,IAAI,EAAA,CAAA;sBADV,SAAS;uBAAC,MAAM,CAAA;gBAKV,sBAAsB,EAAA,CAAA;sBAD5B,KAAK;gBAIC,aAAa,EAAA,CAAA;sBADnB,KAAK;gBAIC,aAAa,EAAA,CAAA;sBADnB,KAAK;gBAIC,oBAAoB,EAAA,CAAA;sBAD1B,KAAK;gBAIC,sBAAsB,EAAA,CAAA;sBAD5B,KAAK;gBAIC,aAAa,EAAA,CAAA;sBADnB,KAAK;gBAIC,eAAe,EAAA,CAAA;sBADrB,KAAK;gBAIC,qBAAqB,EAAA,CAAA;sBAD3B,KAAK;gBAIC,mBAAmB,EAAA,CAAA;sBADzB,KAAK;gBAIC,QAAQ,EAAA,CAAA;sBADd,KAAK;gBAIC,cAAc,EAAA,CAAA;sBADpB,MAAM;gBAIA,YAAY,EAAA,CAAA;sBADlB,KAAK;gBAIC,QAAQ,EAAA,CAAA;sBADd,MAAM;gBAIC,yBAAyB,EAAA,CAAA;sBADhC,SAAS;uBAAC,8BAA8B,CAAA;gBAIjC,gBAAgB,EAAA,CAAA;sBADvB,SAAS;uBAAC,YAAY,CAAA;gBAIhB,SAAS,EAAA,CAAA;sBADf,MAAM;gBAIA,UAAU,EAAA,CAAA;sBADhB,KAAK;gBAIC,gBAAgB,EAAA,CAAA;sBADtB,MAAM;gBAIA,aAAa,EAAA,CAAA;sBADnB,KAAK;gBAIC,WAAW,EAAA,CAAA;sBADjB,KAAK;gBAIC,kBAAkB,EAAA,CAAA;sBADxB,KAAK;gBAIC,UAAU,EAAA,CAAA;sBADhB,MAAM;gBAIA,WAAW,EAAA,CAAA;sBADjB,MAAM;gBAIA,iBAAiB,EAAA,CAAA;sBADvB,MAAM;gBAIA,WAAW,EAAA,CAAA;sBADjB,KAAK;gBAUC,cAAc,EAAA,CAAA;sBADpB,KAAK;gBASC,QAAQ,EAAA,CAAA;sBADd,KAAK;gBAIC,mBAAmB,EAAA,CAAA;sBADzB,KAAK;gBAKC,mBAAmB,EAAA,CAAA;sBADzB,KAAK;gBAQC,eAAe,EAAA,CAAA;sBADrB,KAAK;gBAIC,QAAQ,EAAA,CAAA;sBADd,KAAK;gBAIC,cAAc,EAAA,CAAA;sBADpB,MAAM;gBAMI,GAAG,EAAA,CAAA;sBADb,KAAK;gBAIK,SAAS,EAAA,CAAA;sBADnB,KAAK;gBAIK,MAAM,EAAA,CAAA;sBADhB,KAAK;gBASC,gBAAgB,EAAA,CAAA;sBADtB,KAAK;gBAIC,eAAe,EAAA,CAAA;sBADrB,KAAK;gBAIC,aAAa,EAAA,CAAA;sBADnB,KAAK;gBAIC,2BAA2B,EAAA,CAAA;sBADjC,KAAK;gBAKC,mBAAmB,EAAA,CAAA;sBADzB,KAAK;gBAKC,cAAc,EAAA,CAAA;sBADpB,KAAK;gBAKC,UAAU,EAAA,CAAA;sBADhB,KAAK;gBAKC,UAAU,EAAA,CAAA;sBADhB,KAAK;gBAKC,kBAAkB,EAAA,CAAA;sBADxB,KAAK;gBAKC,gBAAgB,EAAA,CAAA;sBADtB,KAAK;gBAMC,QAAQ,EAAA,CAAA;sBADd,KAAK;gBAKC,WAAW,EAAA,CAAA;sBADjB,KAAK;gBAKC,SAAS,EAAA,CAAA;sBADf,KAAK;gBAKC,QAAQ,EAAA,CAAA;sBADd,KAAK;gBAOC,wBAAwB,EAAA,CAAA;sBAD9B,KAAK;gBAIC,aAAa,EAAA,CAAA;sBADnB,KAAK;gBAOK,iBAAiB,EAAA,CAAA;sBAD3B,KAAK;gBAIC,cAAc,EAAA,CAAA;sBADpB,KAAK;gBAIC,oBAAoB,EAAA,CAAA;sBAD1B,MAAM;gBAIA,cAAc,EAAA,CAAA;sBADpB,KAAK;gBAIC,oBAAoB,EAAA,CAAA;sBAD1B,KAAK;gBAIC,iBAAiB,EAAA,CAAA;sBADvB,KAAK;gBAIC,uBAAuB,EAAA,CAAA;sBAD7B,KAAK;gBAIC,iBAAiB,EAAA,CAAA;sBADvB,KAAK;gBAIC,kBAAkB,EAAA,CAAA;sBADxB,KAAK;gBAIC,oBAAoB,EAAA,CAAA;sBAD1B,KAAK;gBAIC,qBAAqB,EAAA,CAAA;sBAD3B,KAAK;gBAIC,mBAAmB,EAAA,CAAA;sBADzB,KAAK;gBAIC,oBAAoB,EAAA,CAAA;sBAD1B,KAAK;gBAIC,gBAAgB,EAAA,CAAA;sBADtB,KAAK;gBAIC,iBAAiB,EAAA,CAAA;sBADvB,KAAK;gBAGC,eAAe,EAAA,CAAA;sBADrB,KAAK;gBAGC,0BAA0B,EAAA,CAAA;sBADhC,KAAK;gBAGC,kBAAkB,EAAA,CAAA;sBADxB,KAAK;gBAGC,eAAe,EAAA,CAAA;sBADrB,KAAK;gBAGC,kBAAkB,EAAA,CAAA;sBADxB,KAAK;gBAGC,kBAAkB,EAAA,CAAA;sBADxB,KAAK;gBAIC,KAAK,EAAA,CAAA;sBADX,KAAK;gBAIC,WAAW,EAAA,CAAA;sBADjB,KAAK;gBAIC,0BAA0B,EAAA,CAAA;sBADhC,KAAK;gBAOC,gBAAgB,EAAA,CAAA;sBADtB,KAAK;gBAGC,QAAQ,EAAA,CAAA;sBADd,KAAK;gBAGC,cAAc,EAAA,CAAA;sBADpB,MAAM;gBAGA,kBAAkB,EAAA,CAAA;sBADxB,KAAK;gBAGC,mBAAmB,EAAA,CAAA;sBADzB,KAAK;gBAGC,gBAAgB,EAAA,CAAA;sBADtB,KAAK;gBAGC,oBAAoB,EAAA,CAAA;sBAD1B,KAAK;gBAGC,WAAW,EAAA,CAAA;sBADjB,KAAK;gBAIC,MAAM,EAAA,CAAA;sBADZ,KAAK;gBAIC,YAAY,EAAA,CAAA;sBADlB,MAAM;gBAIA,cAAc,EAAA,CAAA;sBADpB,MAAM;gBAUI,IAAI,EAAA,CAAA;sBADd,KAAK;gBAIC,UAAU,EAAA,CAAA;sBADhB,MAAM;gBAIA,SAAS,EAAA,CAAA;sBADf,KAAK;gBAIC,eAAe,EAAA,CAAA;sBADrB,MAAM;gBAIA,WAAW,EAAA,CAAA;sBADjB,MAAM;gBAIA,YAAY,EAAA,CAAA;sBADlB,MAAM;gBAIA,aAAa,EAAA,CAAA;sBADnB,MAAM;gBAIA,SAAS,EAAA,CAAA;sBADf,MAAM;gBAIA,gBAAgB,EAAA,CAAA;sBADtB,MAAM;gBAIA,SAAS,EAAA,CAAA;sBADf,KAAK;gBAIC,iBAAiB,EAAA,CAAA;sBADvB,MAAM;gBAIA,sBAAsB,EAAA,CAAA;sBAD5B,MAAM;gBAIA,eAAe,EAAA,CAAA;sBADrB,MAAM;gBAKA,IAAI,EAAA,CAAA;sBADV,KAAK;gBAIC,UAAU,EAAA,CAAA;sBADhB,MAAM;gBAIA,UAAU,EAAA,CAAA;sBADhB,KAAK;gBAIC,OAAO,EAAA,CAAA;sBADb,KAAK;gBAIC,OAAO,EAAA,CAAA;sBADb,KAAK;gBAMG,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBA6BK,kBAAkB,EAAA,CAAA;sBAD5B,KAAK;gBAIC,WAAW,EAAA,CAAA;sBADjB,KAAK;gBAgBC,aAAa,EAAA,CAAA;sBADnB,YAAY;uBAAC,aAAa,CAAA;;;ME7bhB,oCAAoC,CAAA;;kIAApC,oCAAoC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApC,oCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oCAAoC,sECNjD,ilGAgEA,EAAA,CAAA,CAAA;4FD1Da,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBAJhD,SAAS;+BACE,gCAAgC,EAAA,QAAA,EAAA,ilGAAA,EAAA,CAAA;;;MEG/B,wBAAwB,CAAA;;sHAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,yDCNrC,+mBAYA,EAAA,CAAA,CAAA;4FDNa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAJpC,SAAS;+BACE,mBAAmB,EAAA,QAAA,EAAA,+mBAAA,EAAA,CAAA;;;MEGlB,0BAA0B,CAAA;;wHAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,2DCNvC,ykBAYA,EAAA,CAAA,CAAA;4FDNa,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAJtC,SAAS;+BACE,qBAAqB,EAAA,QAAA,EAAA,ykBAAA,EAAA,CAAA;;;MEGpB,iCAAiC,CAAA;;+HAAjC,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjC,iCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iCAAiC,mECN9C,gkBAYA,EAAA,CAAA,CAAA;4FDNa,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAJ7C,SAAS;+BACE,6BAA6B,EAAA,QAAA,EAAA,gkBAAA,EAAA,CAAA;;;MEI5B,sBAAsB,CAAA;AAHnC,IAAA,WAAA,GAAA;;AAKS,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,OAAO,EAAQ,CAAC;QAElC,IAAA,CAAA,YAAY,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;KACxE;;oHALY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,cAFrB,MAAM,EAAA,CAAA,CAAA;4FAEP,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;MCgBY,4BAA4B,CAAA;IAuDvC,WAAoB,CAAA,OAAmB,EAAS,mBAA2C,EAAA;AAAvE,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAY;AAAS,QAAA,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAwB;AA5CpF,QAAA,IAA0B,CAAA,0BAAA,GAAG,IAAI,CAAC;AAGlC,QAAA,IAAkB,CAAA,kBAAA,GAAG,IAAI,CAAC;AAG1B,QAAA,IAAe,CAAA,eAAA,GAAG,IAAI,CAAC;AAGvB,QAAA,IAAkB,CAAA,kBAAA,GAAG,IAAI,CAAC;AAG1B,QAAA,IAAkB,CAAA,kBAAA,GAAG,IAAI,CAAC;AAG1B,QAAA,IAAiB,CAAA,iBAAA,GAAG,IAAI,CAAC;AAGzB,QAAA,IAAgB,CAAA,gBAAA,GAAG,IAAI,CAAC;AAGxB,QAAA,IAAkB,CAAA,kBAAA,GAAG,IAAI,CAAC;AAG1B,QAAA,IAAmB,CAAA,mBAAA,GAAG,IAAI,CAAC;AAG3B,QAAA,IAAgB,CAAA,gBAAA,GAAG,IAAI,CAAC;AAGxB,QAAA,IAAoB,CAAA,oBAAA,GAAG,IAAI,CAAC;AAG5B,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAA0B,CAAC;AAG1D,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,YAAY,EAAW,CAAC;AAEnD,QAAA,IAAmB,CAAA,mBAAA,GAAG,IAAI,CAAC;AAE3B,QAAA,IAAe,CAAA,eAAA,GAAG,IAAI,CAAC;AAK5B,QAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;YAChE,IAAI,CAAC,WAAW,EAAE,CAAC;AACrB,SAAC,CAAC,CAAC;KACJ;IAEM,WAAW,GAAA;AAChB,QAAA,MAAM,oBAAoB,GAA2B,MAAc,CAAC,oBAAoB,CAAC;QACzF,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,cAAc,EAAE,MAAK;YACpD,IAAI,CAAC,aAAa,EAAE,CAAC;AACvB,SAAC,CAAC,CAAC;QACH,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,cAAc,EAAE,MAAK;YACpD,IAAI,CAAC,aAAa,EAAE,CAAC;AACvB,SAAC,CAAC,CAAC;KACJ;IAEM,aAAa,GAAA;QAClB,UAAU,CAAC,MAAK;AACd,YAAA,MAAM,oBAAoB,GAA2B,MAAc,CAAC,oBAAoB,CAAC;AACzF,YAAA,MAAM,WAAW,GAAG,oBAAoB,CAAC,SAAS,CAAC,iBAAiB,CAAC;YACrE,MAAM,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAsB,CAAC;AACpF,YAAA,IAAI,cAAc,EAAE;gBAClB,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACpD,gBAAA,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC;AACpD,aAAA;YACD,MAAM,UAAU,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAsB,CAAC;AAC5E,YAAA,IAAI,UAAU,EAAE;gBACd,IAAI,CAAC,eAAe,GAAG,WAAW,KAAK,oBAAoB,CAAC,UAAU,CAAC;AACvE,gBAAA,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC;AAC5C,aAAA;AACH,SAAC,CAAC,CAAC;KACJ;AAEM,IAAA,cAAc,CAAC,SAAiC,EAAA;AACrD,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KACnC;AAEM,IAAA,WAAW,CAAC,OAAsB,EAAA;QACvC,UAAU,CAAC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;KAC1C;IAGM,QAAQ,GAAA;QACb,UAAU,CAAC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;KAC1C;IAEM,eAAe,GAAA;AACpB,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAA4B,CAAC;AAE7D,QAAA,MAAM,MAAM,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAEpE,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,CAAC,YAA8B,EAAE,QAAQ,KAAI;AACxF,YAAA,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE;AACnC,gBAAA,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE;AAClC,oBAAA,IAAI,QAAQ,CAAC,aAAa,KAAK,OAAO,EAAE;wBACtC,IAAI,CAAC,eAAe,EAAE,CAAC;AACxB,qBAAA;AACF,iBAAA;AACF,aAAA;AACH,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;KACnD;IAEM,WAAW,GAAA;QAChB,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACzB,YAAA,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC;AACjC,YAAA,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;AACnC,SAAA;KACF;IAEM,eAAe,GAAA;QACpB,IAAI,cAAc,GAAG,CAAC,CAAC;AACvB,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,aAA4B,CAAC;QACpD,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC7B,QAAA,IAAI,CAAC,EAAE;YACL,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC7B,YAAA,IAAI,CAAC,IAAI,CAAC,YAAY,WAAW,EAAE;AACjC,gBAAA,cAAc,GAAG,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC;AACrD,aAAA;AACF,SAAA;QACD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,CAAC,CAAC;KACtD;AAEO,IAAA,0BAA0B,CAAC,CAAc,EAAA;AAC/C,QAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;AACjC,YAAA,OAAO,CAAC,CAAC;AACV,SAAA;AACD,QAAA,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,MAAM,EAAE;AAC9B,YAAA,OAAO,CAAC,CAAC;AACV,SAAA;QACD,IAAI,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;AAClC,YAAA,OAAO,CAAC,CAAC;AACV,SAAA;QACD,IAAI,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;AACrC,YAAA,OAAO,CAAC,CAAC;AACV,SAAA;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AACzC,QAAA,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,EAAE;AAC5B,YAAA,OAAO,CAAC,CAAC;AACV,SAAA;AAED,QAAA,IAAI,CAAC,YAAY,iBAAiB,IAAI,CAAC,YAAY,iBAAiB,EAAE;AACpE,YAAA,OAAO,CAAC,CAAC;AACV,SAAA;QACD,IAAI,KAAK,GAAG,CAAC,CAAC;AACd,QAAA,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;AAC5B,QAAA,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE;AAC/B,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE;gBACvD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC/B,gBAAA,IAAI,KAAK,IAAI,KAAK,YAAY,WAAW,EAAE;AACzC,oBAAA,KAAK,IAAI,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;AACjD,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;KACd;IAEM,YAAY,GAAA;AACjB,QAAA,MAAM,oBAAoB,GAA2B,MAAc,CAAC,oBAAoB,CAAC;AACzF,QAAA,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;KACxD;IAEM,QAAQ,GAAA;AACb,QAAA,MAAM,oBAAoB,GAA2B,MAAc,CAAC,oBAAoB,CAAC;AACzF,QAAA,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;KACpD;;0HAtLU,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,sBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,q1BCtBzC,8kfAmTA,EAAA,MAAA,EAAA,CAAA,gEAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FD7Ra,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBALxC,SAAS;+BACE,uBAAuB,EAAA,QAAA,EAAA,8kfAAA,EAAA,MAAA,EAAA,CAAA,gEAAA,CAAA,EAAA,CAAA;mIAM1B,sBAAsB,EAAA,CAAA;sBAD5B,KAAK;gBAIC,mBAAmB,EAAA,CAAA;sBADzB,KAAK;gBAIC,uBAAuB,EAAA,CAAA;sBAD7B,KAAK;gBAIC,0BAA0B,EAAA,CAAA;sBADhC,KAAK;gBAIC,kBAAkB,EAAA,CAAA;sBADxB,KAAK;gBAIC,eAAe,EAAA,CAAA;sBADrB,KAAK;gBAIC,kBAAkB,EAAA,CAAA;sBADxB,KAAK;gBAIC,kBAAkB,EAAA,CAAA;sBADxB,KAAK;gBAIC,iBAAiB,EAAA,CAAA;sBADvB,KAAK;gBAIC,gBAAgB,EAAA,CAAA;sBADtB,KAAK;gBAIC,kBAAkB,EAAA,CAAA;sBADxB,KAAK;gBAIC,mBAAmB,EAAA,CAAA;sBADzB,KAAK;gBAIC,gBAAgB,EAAA,CAAA;sBADtB,KAAK;gBAIC,oBAAoB,EAAA,CAAA;sBAD1B,KAAK;gBAIC,YAAY,EAAA,CAAA;sBADlB,MAAM;gBAIA,oBAAoB,EAAA,CAAA;sBAD1B,MAAM;gBAmDA,QAAQ,EAAA,CAAA;sBADd,YAAY;uBAAC,eAAe,CAAA;;;AErG/B,MAAM,6BAA6B,GAAG,CAAC,CAAC;MAO3B,0BAA0B,CAAA;AA6BrC,IAAA,WAAA,GAAA;AAxBO,QAAA,IAAkB,CAAA,kBAAA,GAAG,KAAK,CAAC;AAG3B,QAAA,IAAuB,CAAA,uBAAA,GAAG,GAAG,CAAC;AAQ9B,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAA0B,CAAC;AAcjE,QAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YAChC,MAAc,CAAC,0BAA0B,GAAG,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;AACpF,YAAA,MAAc,CAAC,qBAAqB,GAAG,CACtC,gBAAkC,EAClC,WAAgB,EAChB,EAAU,EACV,SAAyB,EACzB,qBAAsC,KACnC,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,WAAW,EAAE,EAAE,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC;AAChG,SAAA;KACF;AAtBD,IAAA,IAAW,GAAG,GAAA;QACZ,IAAI,GAAG,GAAG,CAAC,CAAC;AACZ,QAAA,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;AAC5B,YAAA,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,uBAAuB,CAAC;YACxC,IAAI,GAAG,KAAK,EAAE,EAAE;AACd,gBAAA,GAAG,GAAG,EAAE,CAAC;AACV,aAAA;AACF,SAAA;QACD,OAAO,CAAA,EAAG,GAAG,CAAA,EAAA,CAAI,CAAC;KACnB;IAeM,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;KAC9B;IAEM,0BAA0B,GAAA;AAC/B,QAAA,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;AAC/B,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;AACD,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,aAA4B,CAAC;AAClE,QAAA,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;KACvD;IAEO,eAAe,CACrB,gBAAkC,EAClC,WAA2B,EAC3B,EAAU,EACV,SAAyB,EACzB,qBAAsC,EAAA;AAEtC,QAAA,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;AAC/B,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC;;AAE5C,QAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,SAAS;aAC3C,KAAK,CAAC,oBAAoB,CAAC;aAC3B,IAAI,CAAC,EAAE,CAAC;aACR,KAAK,CAAC,aAAa,CAAC;aACpB,IAAI,CAAC,EAAE,CAAC;aACR,KAAK,CAAC,kBAAkB,CAAC;aACzB,IAAI,CAAC,EAAE,CAAC,CAAC;AAEZ,QAAA,MAAM,gBAAgB,GAAG,CAAC,GAAG,6BAA6B,CAAC;QAE3D,MAAM,WAAW,GAAG,CAAG,EAAA,gBAAgB,CAAC,WAAW,GAAG,gBAAgB,CAAA,EAAA,CAAI,CAAC;QAC3E,MAAM,YAAY,GAAG,CAAG,EAAA,gBAAgB,CAAC,YAAY,GAAG,gBAAgB,CAAA,EAAA,CAAI,CAAC;AAE7E,QAAA,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxI,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;AACvD,QAAA,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAEnD,MAAM,MAAM,GAAG,UAA+B,CAAC;QAC/C,MAAM,CAAC,IAAI,GAAG,WAAW,CAAC,YAAY,CAAC,CAAS,MAAA,EAAA,EAAE,CAAE,CAAA,CAAC,CAAC;AACtD,QAAA,qBAAqB,CAAC,IAAI,CAAC,CAAC,GAAG,KAAI;AACjC,YAAA,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;AACrB,SAAC,CAAC,CAAC;AACH,QAAA,MAAM,CAAC,OAAO,GAAG,MAAK;AACpB,YAAA,WAAW,CAAC,IAAI,GAAG,EAAE,CAAC;AACtB,YAAA,OAAO,KAAK,CAAC;AACf,SAAC,CAAC;AACF,QAAA,gBAAgB,CAAC,MAAM,GAAG,MAAM,CAAC;QAEjC,MAAM,IAAI,GAAG,UAAU,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAgB,CAAC;AACpF,QAAA,gBAAgB,CAAC,IAAI,GAAG,IAAI,CAAC;AAC7B,QAAA,gBAAgB,CAAC,GAAG,GAAG,UAAU,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAgB,CAAC;AAExF,QAAA,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AAElC,QAAA,MAAM,mBAAmB,GAA2B;AAClD,YAAA,SAAS,EAAE,UAAU;AACrB,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,MAAM,EAAE,EAAE;SACX,CAAC;AACF,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;KAC/C;AAEO,IAAA,qBAAqB,CAAC,UAAU,EAAA;QACtC,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAC1C,QAAA,GAAG,CAAC,SAAS,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;;QAGlC,OAAO,GAAG,CAAC,UAAyB,CAAC;KACtC;AAEM,IAAA,SAAS,CAAC,KAAoB,EAAA;AACnC,QAAA,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE;YAC9B,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,gBAAA,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE;oBAClC,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;AACrD,iBAAA;qBAAM,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE;AAC9D,oBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC;AACnD,iBAAA;gBACD,KAAK,CAAC,cAAc,EAAE,CAAC;AACxB,aAAA;AACF,SAAA;AAAM,aAAA,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;YACnC,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,gBAAA,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE;AAClC,oBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC;AAC3B,iBAAA;AAAM,qBAAA,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE;AACpC,oBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC;AACnD,iBAAA;gBACD,KAAK,CAAC,cAAc,EAAE,CAAC;AACxB,aAAA;AACF,SAAA;KACF;;wHAtIU,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,wXCxBvC,u2BAoBA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDIa,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBALtC,SAAS;+BACE,qBAAqB,EAAA,QAAA,EAAA,u2BAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;0EAMxB,eAAe,EAAA,CAAA;sBADrB,KAAK;gBAIC,kBAAkB,EAAA,CAAA;sBADxB,KAAK;gBAIC,uBAAuB,EAAA,CAAA;sBAD7B,KAAK;gBAIC,qBAAqB,EAAA,CAAA;sBAD3B,SAAS;uBAAC,uBAAuB,CAAA;gBAM3B,cAAc,EAAA,CAAA;sBADpB,MAAM;;;MEhCI,0BAA0B,CAAA;AALvC,IAAA,WAAA,GAAA;AAQS,QAAA,IAAuB,CAAA,uBAAA,GAAG,CAAC,CAAC;KAMpC;AAJC,IAAA,IAAW,MAAM,GAAA;AACf,QAAA,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,uBAAuB,CAAC;QAC5C,OAAO,CAAA,EAAG,CAAC,CAAA,EAAA,CAAI,CAAC;KACjB;;wHARU,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,2HCPvC,i5IA4FA,EAAA,MAAA,EAAA,CAAA,gKAAA,CAAA,EAAA,CAAA,CAAA;4FDrFa,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBALtC,SAAS;+BACE,qBAAqB,EAAA,QAAA,EAAA,i5IAAA,EAAA,MAAA,EAAA,CAAA,gKAAA,CAAA,EAAA,CAAA;8BAOxB,uBAAuB,EAAA,CAAA;sBAD7B,KAAK;;;MEDK,mBAAmB,CAAA;IAwB9B,WAAoB,CAAA,UAAsB,EAAU,GAAsB,EAAA;AAAtD,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAAU,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;AAnBnE,QAAA,IAAc,CAAA,cAAA,GAAG,IAAI,CAAC;AAGtB,QAAA,IAAuB,CAAA,uBAAA,GAAG,CAAC,CAAC;AAG5B,QAAA,IAAiB,CAAA,iBAAA,GAAG,IAAI,CAAC;AASzB,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAA0B,CAAC;AAE5D,QAAA,IAAkB,CAAA,kBAAA,GAAG,IAAI,CAAC;KAE6C;IAEvE,wBAAwB,GAAA;AAC7B,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAA4B,CAAC;QAC7D,MAAM,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,OAAO,GAAG,CAAC,CAAC;AAChB,QAAA,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACnD,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9B,YAAA,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE;AACb,gBAAA,OAAO,EAAE,CAAC;AACX,aAAA;AACF,SAAA;AACD,QAAA,IAAI,CAAC,kBAAkB,GAAG,OAAO,IAAI,CAAC,CAAC;AACvC,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;;iHAtCU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,0VCRhC,6wBAkBA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,0BAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,0BAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,oBAAA,EAAA,yBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDVa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,SAAS;+BACE,aAAa,EAAA,QAAA,EAAA,6wBAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;iIAMhB,kBAAkB,EAAA,CAAA;sBADxB,KAAK;gBAIC,cAAc,EAAA,CAAA;sBADpB,KAAK;gBAIC,uBAAuB,EAAA,CAAA;sBAD7B,KAAK;gBAIC,iBAAiB,EAAA,CAAA;sBADvB,KAAK;gBAIC,aAAa,EAAA,CAAA;sBADnB,KAAK;gBAIC,eAAe,EAAA,CAAA;sBADrB,KAAK;gBAIC,cAAc,EAAA,CAAA;sBADpB,MAAM;;;AE3BF,MAAMV,KAAG,GAAC,23ZAA23Z;;MCe/3Z,6BAA6B,CAAA;IACxC,WAAoB,CAAA,QAAmB,EAA4B,QAAa,EAAA;AAA5D,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;AAA4B,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAK;KAAI;IAE7E,QAAQ,GAAA;QACb,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;IAEO,WAAW,GAAA;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAqB,CAAC;AACxE,QAAA,MAAM,CAAC,EAAE,GAAG,kBAAkB,CAAC;AAC/B,QAAA,MAAM,CAAC,SAAS,GAAGA,KAAG,CAAC;AACvB,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KACvD;IAEM,WAAW,GAAA;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAgB,CAAC;AAC/E,QAAA,IAAI,MAAM,IAAI,MAAM,CAAC,aAAa,EAAE;AACjC,YAAA,MAAM,CAAC,aAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AACnD,SAAA;KACF;;AAnBU,6BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,2CACS,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAD9C,6BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,6BAA6B,+DAT9B,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;4FASD,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAXzC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,yBAAyB,YACzB,EAAE,EAAA,MAAA,EAAA,EAAA,EAAA,CAAA;;;8BAU8B,MAAM;+BAAC,QAAQ,CAAA;;;;AChBpD,MAAM,GAAG,GAAC,okaAAoka;;MCexka,gCAAgC,CAAA;IAC3C,WAAoB,CAAA,QAAmB,EAA4B,QAAa,EAAA;AAA5D,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;AAA4B,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAK;KAAI;IAE7E,QAAQ,GAAA;QACb,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;IAEO,WAAW,GAAA;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAqB,CAAC;AACxE,QAAA,MAAM,CAAC,EAAE,GAAG,kBAAkB,CAAC;AAC/B,QAAA,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC;AACvB,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KACvD;IAEM,WAAW,GAAA;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAgB,CAAC;AAC/E,QAAA,IAAI,MAAM,IAAI,MAAM,CAAC,aAAa,EAAE;AACjC,YAAA,MAAM,CAAC,aAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AACnD,SAAA;KACF;;AAnBU,gCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gCAAgC,2CACM,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAD9C,gCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gCAAgC,kEATjC,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;4FASD,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAX5C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,4BAA4B,YAC5B,EAAE,EAAA,MAAA,EAAA,EAAA,EAAA,CAAA;;;8BAU8B,MAAM;+BAAC,QAAQ,CAAA;;;;MCR9C,oBAAoB,CAAA;;kHAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,0DCRjC,EAAA,EAAA,MAAA,EAAA,CAAA,kvnGAAA,EAAA,q7DAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4FDQa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBANhC,SAAS;+BACE,oBAAoB,EAAA,aAAA,EAGf,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,EAAA,EAAA,MAAA,EAAA,CAAA,kvnGAAA,EAAA,q7DAAA,CAAA,EAAA,CAAA;;;MEC1B,oBAAoB,CAAA;AALjC,IAAA,WAAA,GAAA;AAQS,QAAA,IAAkB,CAAA,kBAAA,GAAG,IAAI,CAAC;KAClC;;kHAJY,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,0GCPjC,qeAaA,EAAA,MAAA,EAAA,CAAA,kHAAA,CAAA,EAAA,CAAA,CAAA;4FDNa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;+BACE,cAAc,EAAA,QAAA,EAAA,qeAAA,EAAA,MAAA,EAAA,CAAA,kHAAA,CAAA,EAAA,CAAA;8BAOjB,kBAAkB,EAAA,CAAA;sBADxB,KAAK;;;MEFK,uBAAuB,CAAA;;qHAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,wDCPpC,2ZAOA,EAAA,MAAA,EAAA,CAAA,yBAAA,CAAA,EAAA,CAAA,CAAA;4FDAa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;+BACE,kBAAkB,EAAA,QAAA,EAAA,2ZAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,CAAA,EAAA,CAAA;;;MEIjB,oBAAoB,CAAA;AALjC,IAAA,WAAA,GAAA;AAOS,QAAA,IAAkB,CAAA,kBAAA,GAAG,IAAI,CAAC;KAClC;;kHAHY,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,0GCPjC,mfAaA,EAAA,MAAA,EAAA,CAAA,iGAAA,CAAA,EAAA,CAAA,CAAA;4FDNa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;+BACE,cAAc,EAAA,QAAA,EAAA,mfAAA,EAAA,MAAA,EAAA,CAAA,iGAAA,CAAA,EAAA,CAAA;8BAMjB,kBAAkB,EAAA,CAAA;sBADxB,KAAK;;;MEDK,sBAAsB,CAAA;AALnC,IAAA,WAAA,GAAA;AAOS,QAAA,IAAc,CAAA,cAAA,GAAwB,SAAS,CAAC;AAGhD,QAAA,IAAS,CAAA,SAAA,GAAwB,SAAS,CAAC;KACnD;;oHANY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,6HCPnC,qnBAaA,EAAA,MAAA,EAAA,CAAA,8EAAA,CAAA,EAAA,CAAA,CAAA;4FDNa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;+BACE,iBAAiB,EAAA,QAAA,EAAA,qnBAAA,EAAA,MAAA,EAAA,CAAA,8EAAA,CAAA,EAAA,CAAA;8BAMpB,cAAc,EAAA,CAAA;sBADpB,KAAK;gBAIC,SAAS,EAAA,CAAA;sBADf,KAAK;;;MEJK,+BAA+B,CAAA;;6HAA/B,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA/B,+BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,+BAA+B,kECP5C,0NAWA,EAAA,MAAA,EAAA,CAAA,iCAAA,CAAA,EAAA,CAAA,CAAA;4FDJa,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAL3C,SAAS;+BACE,4BAA4B,EAAA,QAAA,EAAA,0NAAA,EAAA,MAAA,EAAA,CAAA,iCAAA,CAAA,EAAA,CAAA;;;MEE3B,iBAAiB,CAAA;AAH9B,IAAA,WAAA,GAAA;AAIS,QAAA,IAAmB,CAAA,mBAAA,GAAG,IAAI,CAAC;AAE3B,QAAA,IAAmB,CAAA,mBAAA,GAAG,KAAK,CAAC;KACpC;;+GAJY,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFhB,MAAM,EAAA,CAAA,CAAA;4FAEP,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;MCIY,4BAA4B,CAAA;AACvC,IAAA,WAAA,CAAmB,iBAAoC,EAAA;AAApC,QAAA,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;KAAI;;0HADhD,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAW,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,8DCRzC,8iBAkBA,EAAA,MAAA,EAAA,CAAA,8EAAA,CAAA,EAAA,CAAA,CAAA;4FDVa,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBALxC,SAAS;+BACE,wBAAwB,EAAA,QAAA,EAAA,8iBAAA,EAAA,MAAA,EAAA,CAAA,8EAAA,CAAA,EAAA,CAAA;;;MEGvB,wBAAwB,CAAA;;sHAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,yDCPrC,uaAWA,EAAA,MAAA,EAAA,CAAA,wFAAA,CAAA,EAAA,CAAA,CAAA;4FDJa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;+BACE,mBAAmB,EAAA,QAAA,EAAA,uaAAA,EAAA,MAAA,EAAA,CAAA,wFAAA,CAAA,EAAA,CAAA;;;MEIlB,oBAAoB,CAAA;;kHAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,qDCPjC,6YAUA,EAAA,MAAA,EAAA,CAAA,gHAAA,CAAA,EAAA,CAAA,CAAA;4FDHa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;+BACE,eAAe,EAAA,QAAA,EAAA,6YAAA,EAAA,MAAA,EAAA,CAAA,gHAAA,CAAA,EAAA,CAAA;;;MEId,yBAAyB,CAAA;;uHAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,yHCPtC,2SAOA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,4BAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,wBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDAa,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBALrC,SAAS;+BACE,qBAAqB,EAAA,QAAA,EAAA,2SAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;8BAMxB,sBAAsB,EAAA,CAAA;sBAD5B,KAAK;;;MEDK,qBAAqB,CAAA;;mHAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,sDCPlC,wNASA,EAAA,MAAA,EAAA,CAAA,iCAAA,CAAA,EAAA,CAAA,CAAA;4FDFa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;+BACE,gBAAgB,EAAA,QAAA,EAAA,wNAAA,EAAA,MAAA,EAAA,CAAA,iCAAA,CAAA,EAAA,CAAA;;;MEIf,mCAAmC,CAAA;;iIAAnC,mCAAmC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnC,mCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mCAAmC,qECPhD,uGAGA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDIa,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAL/C,SAAS;+BACE,+BAA+B,EAAA,QAAA,EAAA,uGAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;;MEI9B,4BAA4B,CAAA;;0HAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,8DCPzC,qNAWA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDJa,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBALxC,SAAS;+BACE,wBAAwB,EAAA,QAAA,EAAA,qNAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;;MEIvB,yBAAyB,CAAA;;uHAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,2DCPtC,qNAWA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDJa,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBALrC,SAAS;+BACE,qBAAqB,EAAA,QAAA,EAAA,qNAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;;MEIpB,sCAAsC,CAAA;;oIAAtC,sCAAsC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtC,sCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sCAAsC,yECPnD,uJAIA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,4BAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,yBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDGa,sCAAsC,EAAA,UAAA,EAAA,CAAA;kBALlD,SAAS;+BACE,mCAAmC,EAAA,QAAA,EAAA,uJAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;;MEIlC,uBAAuB,CAAA;;qHAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,wDCPpC,oMAWA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDJa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;+BACE,kBAAkB,EAAA,QAAA,EAAA,oMAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;;MEIjB,6BAA6B,CAAA;;2HAA7B,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA7B,6BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,6BAA6B,+DCP1C,8OAWA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDJa,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBALzC,SAAS;+BACE,yBAAyB,EAAA,QAAA,EAAA,8OAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;;MEIxB,4BAA4B,CAAA;;0HAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,8DCPzC,uEACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDMa,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBALxC,SAAS;+BACE,wBAAwB,EAAA,QAAA,EAAA,uEAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;;MEIvB,wCAAwC,CAAA;;sIAAxC,wCAAwC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxC,wCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wCAAwC,2ECPrD,0MAKA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,6BAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,4BAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDEa,wCAAwC,EAAA,UAAA,EAAA,CAAA;kBALpD,SAAS;+BACE,qCAAqC,EAAA,QAAA,EAAA,0MAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;;MEKpC,mCAAmC,CAAA;AAC9C,IAAA,WAAA,CAAmB,iBAAoC,EAAA;AAApC,QAAA,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;KAAI;;iIADhD,mCAAmC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAT,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnC,mCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mCAAmC,8DCRhD,0vBA4BA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAU,IAAA,CAAA,4BAAA,EAAA,QAAA,EAAA,uGAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDpBa,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAL/C,SAAS;+BACE,wBAAwB,EAAA,QAAA,EAAA,0vBAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;;MEGvB,0BAA0B,CAAA;;wHAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,4DCPvC,uNAWA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDJa,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBALtC,SAAS;+BACE,sBAAsB,EAAA,QAAA,EAAA,uNAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;;MEIrB,sCAAsC,CAAA;;oIAAtC,sCAAsC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtC,sCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sCAAsC,yECPnD,yJAIA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,0BAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,mCAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDGa,sCAAsC,EAAA,UAAA,EAAA,CAAA;kBALlD,SAAS;+BACE,mCAAmC,EAAA,QAAA,EAAA,yJAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;;MEKlC,mBAAmB,CAAA;AALhC,IAAA,WAAA,GAAA;AAOS,QAAA,IAAc,CAAA,cAAA,GAAG,IAAI,CAAC;AAsBtB,QAAA,IAAoB,CAAA,oBAAA,GAAG,IAAI,CAAC;AAG5B,QAAA,IAAiB,CAAA,iBAAA,GAAG,IAAI,CAAC;AAGzB,QAAA,IAAuB,CAAA,uBAAA,GAAG,IAAI,CAAC;AAG/B,QAAA,IAAiB,CAAA,iBAAA,GAAG,IAAI,CAAC;AAGzB,QAAA,IAAkB,CAAA,kBAAA,GAAG,IAAI,CAAC;AAG1B,QAAA,IAAoB,CAAA,oBAAA,GAAG,IAAI,CAAC;AAG5B,QAAA,IAAqB,CAAA,qBAAA,GAAG,IAAI,CAAC;AAG7B,QAAA,IAAmB,CAAA,mBAAA,GAAG,IAAI,CAAC;AAG3B,QAAA,IAAoB,CAAA,oBAAA,GAAG,IAAI,CAAC;AAG5B,QAAA,IAAgB,CAAA,gBAAA,GAAG,IAAI,CAAC;QAExB,IAAA,CAAA,YAAY,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;KACxE;;iHAtDY,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,qwBCRhC,+nDA8BA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,yBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,4BAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,yBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,+BAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,0BAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,mCAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,6BAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,4BAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,mCAAA,EAAA,QAAA,EAAA,+BAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDtBa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,SAAS;+BACE,aAAa,EAAA,QAAA,EAAA,+nDAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;8BAMhB,cAAc,EAAA,CAAA;sBADpB,KAAK;gBAIC,uBAAuB,EAAA,CAAA;sBAD7B,KAAK;gBAIC,WAAW,EAAA,CAAA;sBADjB,KAAK;gBAIC,UAAU,EAAA,CAAA;sBADhB,KAAK;gBAKC,sBAAsB,EAAA,CAAA;sBAD5B,KAAK;gBAIC,aAAa,EAAA,CAAA;sBADnB,KAAK;gBAIC,oBAAoB,EAAA,CAAA;sBAD1B,KAAK;gBAIC,oBAAoB,EAAA,CAAA;sBAD1B,KAAK;gBAIC,iBAAiB,EAAA,CAAA;sBADvB,KAAK;gBAIC,uBAAuB,EAAA,CAAA;sBAD7B,KAAK;gBAIC,iBAAiB,EAAA,CAAA;sBADvB,KAAK;gBAIC,kBAAkB,EAAA,CAAA;sBADxB,KAAK;gBAIC,oBAAoB,EAAA,CAAA;sBAD1B,KAAK;gBAIC,qBAAqB,EAAA,CAAA;sBAD3B,KAAK;gBAIC,mBAAmB,EAAA,CAAA;sBADzB,KAAK;gBAIC,oBAAoB,EAAA,CAAA;sBAD1B,KAAK;gBAIC,gBAAgB,EAAA,CAAA;sBADtB,KAAK;;;AE1DR,IAAY,cAIX,CAAA;AAJD,CAAA,UAAY,cAAc,EAAA;IACxB,cAAA,CAAA,cAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAU,CAAA;IACV,cAAA,CAAA,cAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ,CAAA;IACR,cAAA,CAAA,cAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ,CAAA;AACV,CAAC,EAJW,cAAc,KAAd,cAAc,GAIzB,EAAA,CAAA,CAAA;;MCOY,oBAAoB,CAAA;AAM/B,IAAA,WAAA,CAAoB,mBAA2C,EAAA;AAA3C,QAAA,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAwB;AAJxD,QAAA,IAAkB,CAAA,kBAAA,GAAG,IAAI,CAAC;AAE1B,QAAA,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;QAGxB,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,SAAS,CAAC,MAAK;YACvE,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,YAAY,CAAC,WAAW,EAAE,CAAC;AAC7B,SAAC,CAAC,CAAC;KACJ;IAEO,WAAW,GAAA;AACjB,QAAA,MAAM,oBAAoB,GAA2B,MAAc,CAAC,oBAAoB,CAAC;QACzF,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,mBAAmB,EAClD,CAAC,EAAE,IAAI,EAAmB,MAAM,IAAI,CAAC,UAAU,GAAG,IAAI,KAAK,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;KACpF;IAEM,OAAO,GAAA;AACZ,QAAA,MAAM,oBAAoB,GAA2B,MAAc,CAAC,oBAAoB,CAAC;AACzF,QAAA,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;KAC3F;;kHAtBU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA7B,sBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,2GCXjC,qlBAcA,EAAA,MAAA,EAAA,CAAA,uQAAA,CAAA,EAAA,CAAA,CAAA;4FDHa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;+BACE,eAAe,EAAA,QAAA,EAAA,qlBAAA,EAAA,MAAA,EAAA,CAAA,uQAAA,CAAA,EAAA,CAAA;0GAMlB,kBAAkB,EAAA,CAAA;sBADxB,KAAK;;;MELK,oBAAoB,CAAA;AALjC,IAAA,WAAA,GAAA;AAOS,QAAA,IAAkB,CAAA,kBAAA,GAAG,IAAI,CAAC;KAClC;;kHAHY,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,2GCPjC,4gBAWA,EAAA,MAAA,EAAA,CAAA,iGAAA,CAAA,EAAA,CAAA,CAAA;4FDJa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;+BACE,eAAe,EAAA,QAAA,EAAA,4gBAAA,EAAA,MAAA,EAAA,CAAA,iGAAA,CAAA,EAAA,CAAA;8BAMlB,kBAAkB,EAAA,CAAA;sBADxB,KAAK;;;MEEK,qBAAqB,CAAA;AAMhC,IAAA,WAAA,CAAoB,mBAA2C,EAAA;AAA3C,QAAA,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAwB;AALxD,QAAA,IAAgB,CAAA,gBAAA,GAAG,IAAI,CAAC;QAM7B,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,SAAS,CAAC,MAAK;YACvE,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,YAAY,CAAC,WAAW,EAAE,CAAC;AAC7B,SAAC,CAAC,CAAC;KACJ;IAEM,SAAS,GAAA;AACd,QAAA,MAAM,oBAAoB,GAA2B,MAAc,CAAC,oBAAoB,CAAC;AACzF,QAAA,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;KACrD;IAEM,WAAW,GAAA;AAChB,QAAA,MAAM,oBAAoB,GAA2B,MAAc,CAAC,oBAAoB,CAAC;AACzF,QAAA,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;KACzF;AAEM,IAAA,aAAa,CAAC,KAAyB,EAAA;QAC5C,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC;KAC5D;;mHA1BU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,sBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,wJCVlC,8eAcA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDJa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;+BACE,gBAAgB,EAAA,QAAA,EAAA,8eAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;0GAQlB,MAAM,EAAA,CAAA;sBADb,SAAS;uBAAC,QAAQ,CAAA;;;MEHR,oBAAoB,CAAA;AAM/B,IAAA,WAAA,CAAoB,mBAA2C,EAAA;AAA3C,QAAA,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAwB;AALxD,QAAA,IAAe,CAAA,eAAA,GAAG,IAAI,CAAC;QAM5B,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,SAAS,CAAC,MAAK;YACvE,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,YAAY,CAAC,WAAW,EAAE,CAAC;AAC7B,SAAC,CAAC,CAAC;KACJ;IAEM,SAAS,GAAA;AACd,QAAA,MAAM,oBAAoB,GAA2B,MAAc,CAAC,oBAAoB,CAAC;AACzF,QAAA,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;KACrD;IAEM,WAAW,GAAA;AAChB,QAAA,MAAM,oBAAoB,GAA2B,MAAc,CAAC,oBAAoB,CAAC;AACzF,QAAA,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;KACvF;AAEM,IAAA,aAAa,CAAC,KAAyB,EAAA;QAC5C,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC;KAC3D;IAEM,QAAQ,GAAA;AACb,QAAA,MAAM,oBAAoB,GAA2B,MAAc,CAAC,oBAAoB,CAAC;AACzF,QAAA,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;KACpD;;kHA/BU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,sBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,uJCVjC,oeAcA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDJa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;+BACE,eAAe,EAAA,QAAA,EAAA,oeAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;0GAQjB,MAAM,EAAA,CAAA;sBADb,SAAS;uBAAC,QAAQ,CAAA;;;MENR,oBAAoB,CAAA;;kHAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,qDCPjC,sWAWA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDJa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;+BACE,eAAe,EAAA,QAAA,EAAA,sWAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;;MEId,sBAAsB,CAAA;AALnC,IAAA,WAAA,GAAA;AAOS,QAAA,IAAiB,CAAA,iBAAA,GAAG,IAAI,CAAC;KACjC;;oHAHY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,2GCPnC,wUAYA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDLa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;+BACE,iBAAiB,EAAA,QAAA,EAAA,wUAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;8BAMpB,iBAAiB,EAAA,CAAA;sBADvB,KAAK;;;MEDK,wBAAwB,CAAA;;sHAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,yDCPrC,8XAYA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDLa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;+BACE,mBAAmB,EAAA,QAAA,EAAA,8XAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;;MEIlB,sBAAsB,CAAA;AALnC,IAAA,WAAA,GAAA;AAQS,QAAA,IAAiB,CAAA,iBAAA,GAAG,IAAI,CAAC;KACjC;;oHAJY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,2GCPnC,0iBAeA,EAAA,MAAA,EAAA,CAAA,kHAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA8B,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,wBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDRa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;+BACE,iBAAiB,EAAA,QAAA,EAAA,0iBAAA,EAAA,MAAA,EAAA,CAAA,kHAAA,CAAA,EAAA,CAAA;8BAOpB,iBAAiB,EAAA,CAAA;sBADvB,KAAK;;;MEFK,4BAA4B,CAAA;AALzC,IAAA,WAAA,GAAA;AAOS,QAAA,IAA0B,CAAA,0BAAA,GAAG,IAAI,CAAC;KAC1C;;0HAHY,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,mICPzC,uiBAWA,EAAA,MAAA,EAAA,CAAA,sHAAA,CAAA,EAAA,CAAA,CAAA;4FDJa,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBALxC,SAAS;+BACE,uBAAuB,EAAA,QAAA,EAAA,uiBAAA,EAAA,MAAA,EAAA,CAAA,sHAAA,CAAA,EAAA,CAAA;8BAM1B,0BAA0B,EAAA,CAAA;sBADhC,KAAK;;;MEDK,iBAAiB,CAAA;AAL9B,IAAA,WAAA,GAAA;AAOS,QAAA,IAAe,CAAA,eAAA,GAAG,IAAI,CAAC;KAC/B;;+GAHY,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,iGCP9B,qhBAYA,EAAA,MAAA,EAAA,CAAA,oGAAA,CAAA,EAAA,CAAA,CAAA;4FDLa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,SAAS;+BACE,WAAW,EAAA,QAAA,EAAA,qhBAAA,EAAA,MAAA,EAAA,CAAA,oGAAA,CAAA,EAAA,CAAA;8BAMd,eAAe,EAAA,CAAA;sBADrB,KAAK;;;MEEK,sBAAsB,CAAA;AAkBjC,IAAA,WAAA,CAAoB,mBAA2C,EAAA;AAA3C,QAAA,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAwB;AAhBxD,QAAA,IAAgB,CAAA,gBAAA,GAAG,IAAI,CAAC;AAExB,QAAA,IAAa,CAAA,aAAA,GAAG,IAAI,CAAC;AAGrB,QAAA,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC;AAGjB,QAAA,IAAgB,CAAA,gBAAA,GAAG,IAAI,CAAC;QAS7B,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,SAAS,CAAC,MAAK;YACvE,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,YAAY,CAAC,WAAW,EAAE,CAAC;AAC7B,SAAC,CAAC,CAAC;KACJ;IAEM,QAAQ,GAAA;AACb,QAAA,MAAM,oBAAoB,GAA2B,MAAc,CAAC,oBAAoB,CAAC;AACzF,QAAA,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;KACpD;IAEM,SAAS,GAAA;AACd,QAAA,MAAM,oBAAoB,GAA2B,MAAc,CAAC,oBAAoB,CAAC;AACzF,QAAA,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;KACrD;IAGM,WAAW,GAAA;AAChB,QAAA,MAAM,oBAAoB,GAA2B,MAAc,CAAC,oBAAoB,CAAC;AACzF,QAAA,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;KACzF;AAEM,IAAA,aAAa,CAAC,KAAyB,EAAA;QAC5C,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,UAAU,KAAK,CAAC,CAAC;QAC5C,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC;AAC1D,SAAA;QACD,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC;AAC1D,SAAA;KACF;;oHAjDU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAlC,sBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,gWCVnC,mwCA8BA,EAAA,MAAA,EAAA,CAAA,oGAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDpBa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;+BACE,iBAAiB,EAAA,QAAA,EAAA,mwCAAA,EAAA,MAAA,EAAA,CAAA,oGAAA,CAAA,EAAA,CAAA;0GAMpB,gBAAgB,EAAA,CAAA;sBADtB,KAAK;gBAMC,SAAS,EAAA,CAAA;sBADf,KAAK;gBAIC,gBAAgB,EAAA,CAAA;sBADtB,KAAK;gBAIE,OAAO,EAAA,CAAA;sBADd,SAAS;uBAAC,SAAS,CAAA;gBAIZ,OAAO,EAAA,CAAA;sBADd,SAAS;uBAAC,SAAS,CAAA;;;MEdT,sBAAsB,CAAA;AAMjC,IAAA,WAAA,CAAoB,mBAA2C,EAAA;AAA3C,QAAA,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAwB;AAJxD,QAAA,IAAoB,CAAA,oBAAA,GAAG,IAAI,CAAC;AAE5B,QAAA,IAAU,CAAA,UAAA,GAAG,IAAI,CAAC;QAGvB,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,SAAS,CAAC,MAAK;YACvE,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,YAAY,CAAC,WAAW,EAAE,CAAC;AAC7B,SAAC,CAAC,CAAC;KACJ;IAEO,WAAW,GAAA;AACjB,QAAA,MAAM,oBAAoB,GAA2B,MAAc,CAAC,oBAAoB,CAAC;QACzF,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,mBAAmB,EAClD,CAAC,EAAE,IAAI,EAAmB,MAAM,IAAI,CAAC,UAAU,GAAG,IAAI,KAAK,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;KACtF;IAEM,OAAO,GAAA;AACZ,QAAA,MAAM,oBAAoB,GAA2B,MAAc,CAAC,oBAAoB,CAAC;AACzF,QAAA,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;KAC7F;;oHAtBU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,sBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,iHCXnC,w7BAcA,EAAA,MAAA,EAAA,CAAA,yRAAA,CAAA,EAAA,CAAA,CAAA;4FDHa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;+BACE,iBAAiB,EAAA,QAAA,EAAA,w7BAAA,EAAA,MAAA,EAAA,CAAA,yRAAA,CAAA,EAAA,CAAA;0GAMpB,oBAAoB,EAAA,CAAA;sBAD1B,KAAK;;;MELK,kCAAkC,CAAA;AAL/C,IAAA,WAAA,GAAA;AAOS,QAAA,IAA0B,CAAA,0BAAA,GAAG,IAAI,CAAC;KAC1C;;gIAHY,kCAAkC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlC,kCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kCAAkC,0ICP/C,kdAaA,EAAA,MAAA,EAAA,CAAA,yGAAA,CAAA,EAAA,CAAA,CAAA;4FDNa,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAL9C,SAAS;+BACE,8BAA8B,EAAA,QAAA,EAAA,kdAAA,EAAA,MAAA,EAAA,CAAA,yGAAA,CAAA,EAAA,CAAA;8BAMjC,0BAA0B,EAAA,CAAA;sBADhC,KAAK;;;MEDK,yBAAyB,CAAA;AALtC,IAAA,WAAA,GAAA;AAOS,QAAA,IAAiB,CAAA,iBAAA,GAAG,IAAI,CAAC;KACjC;;uHAHY,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,8GCPtC,qeAaA,EAAA,MAAA,EAAA,CAAA,qJAAA,CAAA,EAAA,CAAA,CAAA;4FDNa,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBALrC,SAAS;+BACE,oBAAoB,EAAA,QAAA,EAAA,qeAAA,EAAA,MAAA,EAAA,CAAA,qJAAA,CAAA,EAAA,CAAA;8BAMvB,iBAAiB,EAAA,CAAA;sBADvB,KAAK;;;MEDK,mBAAmB,CAAA;;iHAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,oDCPhC,+UAUA,EAAA,MAAA,EAAA,CAAA,kEAAA,CAAA,EAAA,CAAA,CAAA;4FDHa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,SAAS;+BACE,cAAc,EAAA,QAAA,EAAA,+UAAA,EAAA,MAAA,EAAA,CAAA,kEAAA,CAAA,EAAA,CAAA;;;MEIb,kBAAkB,CAAA;;gHAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,mDCP/B,gWAUA,EAAA,MAAA,EAAA,CAAA,kEAAA,CAAA,EAAA,CAAA,CAAA;4FDHa,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,SAAS;+BACE,aAAa,EAAA,QAAA,EAAA,gWAAA,EAAA,MAAA,EAAA,CAAA,kEAAA,CAAA,EAAA,CAAA;;;MEWZ,wBAAwB,CAAA;AAWnC,IAAA,WAAA,CAAoB,OAAmB,EAAA;AAAnB,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAY;AAVhC,QAAA,IAAW,CAAA,WAAA,GAAqB,EAAE,CAAC;KAUC;;IAP3C,IACW,UAAU,CAAC,MAA8B,EAAA;AAClD,QAAA,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;KAChE;AAMO,IAAA,gBAAgB,CAAC,KAAsB,EAAA;QAC7C,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AAClC,YAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAC1C,YAAA,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;AAC7B,SAAA;AACD,QAAA,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,cAAc,EAAE;AACnB,YAAA,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YACxB,OAAO;gBACL,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,QAAQ,CAAC;AACvC,gBAAA,KAAK,EAAE,CAAC;gBACR,UAAU,EAAE,aAAa,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;AAClD,gBAAA,YAAY,EAAE,SAAS;AACvB,gBAAA,YAAY,EAAE,CAAC;aAChB,CAAC;AACH,SAAA;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC;QACpD,OAAO;YACL,EAAE,EAAE,CAAS,MAAA,EAAA,UAAU,CAAE,CAAA;AACzB,YAAA,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC;AAC7B,YAAA,UAAU,EAAE,oBAAoB;YAChC,YAAY,EAAE,CAAc,WAAA,EAAA,UAAU,CAAI,EAAA,CAAA;AAC1C,YAAA,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,GAAG;SACvC,CAAC;KACH;AAEO,IAAA,YAAY,CAAC,GAAW,EAAA;;AAE9B,QAAA,OAAO,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;KACtG;;sHA1CU,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,6MCdrC,ujBAwBA,EAAA,MAAA,EAAA,CAAA,2IAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAc,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDVa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;+BACE,mBAAmB,EAAA,QAAA,EAAA,ujBAAA,EAAA,MAAA,EAAA,CAAA,2IAAA,CAAA,EAAA,CAAA;iGASlB,UAAU,EAAA,CAAA;sBADpB,KAAK;gBAKqB,YAAY,EAAA,CAAA;sBAAtC,SAAS;uBAAC,cAAc,CAAA;;;MEhBd,uBAAuB,CAAA;AALpC,IAAA,WAAA,GAAA;AAOS,QAAA,IAAe,CAAA,eAAA,GAAG,IAAI,CAAC;AAGvB,QAAA,IAAU,CAAA,UAAA,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;KACzG;;qHANY,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,kICPpC,8RAOA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAoB,mBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,wBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDAa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;+BACE,kBAAkB,EAAA,QAAA,EAAA,8RAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;8BAMrB,eAAe,EAAA,CAAA;sBADrB,KAAK;gBAIC,UAAU,EAAA,CAAA;sBADhB,KAAK;;;MEJK,mBAAmB,CAAA;AA6D9B,IAAA,WAAA,CAAY,UAAsB,EAAA;AAxD3B,QAAA,IAAuB,CAAA,uBAAA,GAAG,CAAC,CAAC;AAG5B,QAAA,IAAkB,CAAA,kBAAA,GAAG,IAAI,CAAC;AAG1B,QAAA,IAAkB,CAAA,kBAAA,GAAG,IAAI,CAAC;AAG1B,QAAA,IAAkB,CAAA,kBAAA,GAAG,IAAI,CAAC;AAG1B,QAAA,IAAc,CAAA,cAAA,GAAwB,SAAS,CAAC;AAGhD,QAAA,IAAkB,CAAA,kBAAA,GAAG,IAAI,CAAC;AAG1B,QAAA,IAAkB,CAAA,kBAAA,GAAG,IAAI,CAAC;AAG1B,QAAA,IAAe,CAAA,eAAA,GAAG,IAAI,CAAC;AAGvB,QAAA,IAAiB,CAAA,iBAAA,GAAG,IAAI,CAAC;AAGzB,QAAA,IAA0B,CAAA,0BAAA,GAAG,KAAK,CAAC;AAGnC,QAAA,IAAgB,CAAA,gBAAA,GAAG,IAAI,CAAC;AAGxB,QAAA,IAA0B,CAAA,0BAAA,GAAG,IAAI,CAAC;AAGlC,QAAA,IAAiB,CAAA,iBAAA,GAAG,IAAI,CAAC;AAGzB,QAAA,IAAe,CAAA,eAAA,GAAG,IAAI,CAAC;AAGvB,QAAA,IAAS,CAAA,SAAA,GAAwB,SAAS,CAAC;AAG3C,QAAA,IAAgB,CAAA,gBAAA,GAAG,KAAK,CAAC;AAGzB,QAAA,IAAY,CAAA,YAAA,GAAG,MAAM,CAAC;AAGtB,QAAA,IAAU,CAAA,UAAA,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAGjG,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAe,CAAC;AAGvD,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAgB,CAAC,CAAC;KACzG;;iHA/DU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,g2BCPhC,uuIAqEA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,EAAA,WAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,4BAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,4BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,oBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,oBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,kCAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,4BAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FD9Da,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,SAAS;+BACE,aAAa,EAAA,QAAA,EAAA,uuIAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;iGAMhB,aAAa,EAAA,CAAA;sBADnB,KAAK;gBAIC,uBAAuB,EAAA,CAAA;sBAD7B,KAAK;gBAIC,kBAAkB,EAAA,CAAA;sBADxB,KAAK;gBAIC,kBAAkB,EAAA,CAAA;sBADxB,KAAK;gBAIC,kBAAkB,EAAA,CAAA;sBADxB,KAAK;gBAIC,cAAc,EAAA,CAAA;sBADpB,KAAK;gBAIC,kBAAkB,EAAA,CAAA;sBADxB,KAAK;gBAIC,kBAAkB,EAAA,CAAA;sBADxB,KAAK;gBAIC,eAAe,EAAA,CAAA;sBADrB,KAAK;gBAIC,iBAAiB,EAAA,CAAA;sBADvB,KAAK;gBAIC,0BAA0B,EAAA,CAAA;sBADhC,KAAK;gBAIC,gBAAgB,EAAA,CAAA;sBADtB,KAAK;gBAIC,0BAA0B,EAAA,CAAA;sBADhC,KAAK;gBAIC,iBAAiB,EAAA,CAAA;sBADvB,KAAK;gBAIC,eAAe,EAAA,CAAA;sBADrB,KAAK;gBAIC,SAAS,EAAA,CAAA;sBADf,KAAK;gBAIC,gBAAgB,EAAA,CAAA;sBADtB,KAAK;gBAIC,YAAY,EAAA,CAAA;sBADlB,KAAK;gBAIC,UAAU,EAAA,CAAA;sBADhB,KAAK;gBAIC,eAAe,EAAA,CAAA;sBADrB,MAAM;;;ME3DI,aAAa,CAAA;IAExB,SAAS,CAAC,GAAW,EAAE,QAAgB,EAAA;QACrC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;KACtC;IAEY,SAAS,CAAC,GAAW,EAAE,WAAmB,EAAA;;AACrD,YAAA,MAAM,oBAAoB,GAA2B,MAAc,CAAC,oBAAoB,CAAC;AAEzF,YAAA,OAAO,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;SAC9D,CAAA,CAAA;AAAA,KAAA;;2GAVU,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;yGAAb,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,CAAA;4FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,WAAW;iBAClB,CAAA;;;ACLD;MAwLa,gCAAgC,CAAA;;8HAAhC,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAhC,gCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gCAAgC,iBAtHzC,mBAAmB;QACnB,wBAAwB;QACxB,uBAAuB;QACvB,4BAA4B;QAC5B,oBAAoB;QACpB,iBAAiB;QACjB,oBAAoB;QACpB,oBAAoB;QACpB,uBAAuB;QACvB,sBAAsB;QACtB,mBAAmB;QACnB,mBAAmB;QACnB,oBAAoB;QACpB,sBAAsB;QACtB,4BAA4B;QAC5B,4BAA4B;QAC5B,wBAAwB;QACxB,oBAAoB;QACpB,yBAAyB;QACzB,sCAAsC;QACtC,sCAAsC;QACtC,yBAAyB;QACzB,4BAA4B;QAC5B,0BAA0B;QAC1B,uBAAuB;QACvB,mCAAmC;QACnC,6BAA6B;QAC7B,wCAAwC;QACxC,4BAA4B;QAC5B,mCAAmC;QACnC,qBAAqB;QACrB,+BAA+B;QAC/B,mBAAmB;QACnB,sBAAsB;QACtB,yBAAyB;QACzB,kCAAkC;QAClC,oBAAoB;QACpB,qBAAqB;QACrB,oBAAoB;QACpB,wBAAwB;QACxB,sBAAsB;QACtB,sBAAsB;QACtB,kBAAkB;QAClB,mBAAmB;QACnB,2BAA2B;QAC3B,0BAA0B;QAC1B,0BAA0B;QAC1B,oBAAoB;QACpB,qBAAqB;QACrB,sBAAsB;QACtB,aAAa;QACb,gCAAgC;QAChC,6BAA6B;QAC7B,oCAAoC;QACpC,0BAA0B;QAC1B,iCAAiC;AACjC,QAAA,wBAAwB,CA1DhB,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,WAAW,aA8DjC,wBAAwB;QACxB,uBAAuB;QACvB,4BAA4B;QAC5B,oBAAoB;QACpB,iBAAiB;QACjB,oBAAoB;QACpB,oBAAoB;QACpB,uBAAuB;QACvB,sBAAsB;QACtB,mBAAmB;QACnB,mBAAmB;QACnB,0BAA0B;QAC1B,0BAA0B;QAC1B,4BAA4B;QAC5B,4BAA4B;QAC5B,wBAAwB;QACxB,oBAAoB;QACpB,yBAAyB;QACzB,sCAAsC;QACtC,sCAAsC;QACtC,yBAAyB;QACzB,4BAA4B;QAC5B,0BAA0B;QAC1B,mCAAmC;QACnC,6BAA6B;QAC7B,wCAAwC;QACxC,4BAA4B;QAC5B,mCAAmC;QACnC,qBAAqB;QACrB,+BAA+B;QAC/B,oBAAoB;QACpB,sBAAsB;QACtB,sBAAsB;QACtB,mBAAmB;QACnB,sBAAsB;QACtB,yBAAyB;QACzB,kCAAkC;QAClC,oBAAoB;QACpB,qBAAqB;QACrB,oBAAoB;QACpB,wBAAwB;QACxB,sBAAsB;QACtB,kBAAkB;QAClB,mBAAmB;QACnB,oBAAoB;QACpB,qBAAqB;QACrB,sBAAsB;QACtB,aAAa;QACb,mBAAmB;QACnB,2BAA2B;QAC3B,gCAAgC;QAChC,6BAA6B;QAC7B,oCAAoC;QACpC,0BAA0B;QAC1B,iCAAiC;QACjC,wBAAwB,CAAA,EAAA,CAAA,CAAA;+HAGf,gCAAgC,EAAA,SAAA,EA5DhC,CAAC,sBAAsB,EAAE,QAAQ,CAAC,EAAA,OAAA,EAAA,CA5DpC,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA,EAAA,CAAA,CAAA;4FAwHzB,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAzH5C,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC;AACpC,oBAAA,YAAY,EAAE;wBACZ,mBAAmB;wBACnB,wBAAwB;wBACxB,uBAAuB;wBACvB,4BAA4B;wBAC5B,oBAAoB;wBACpB,iBAAiB;wBACjB,oBAAoB;wBACpB,oBAAoB;wBACpB,uBAAuB;wBACvB,sBAAsB;wBACtB,mBAAmB;wBACnB,mBAAmB;wBACnB,oBAAoB;wBACpB,sBAAsB;wBACtB,4BAA4B;wBAC5B,4BAA4B;wBAC5B,wBAAwB;wBACxB,oBAAoB;wBACpB,yBAAyB;wBACzB,sCAAsC;wBACtC,sCAAsC;wBACtC,yBAAyB;wBACzB,4BAA4B;wBAC5B,0BAA0B;wBAC1B,uBAAuB;wBACvB,mCAAmC;wBACnC,6BAA6B;wBAC7B,wCAAwC;wBACxC,4BAA4B;wBAC5B,mCAAmC;wBACnC,qBAAqB;wBACrB,+BAA+B;wBAC/B,mBAAmB;wBACnB,sBAAsB;wBACtB,yBAAyB;wBACzB,kCAAkC;wBAClC,oBAAoB;wBACpB,qBAAqB;wBACrB,oBAAoB;wBACpB,wBAAwB;wBACxB,sBAAsB;wBACtB,sBAAsB;wBACtB,kBAAkB;wBAClB,mBAAmB;wBACnB,2BAA2B;wBAC3B,0BAA0B;wBAC1B,0BAA0B;wBAC1B,oBAAoB;wBACpB,qBAAqB;wBACrB,sBAAsB;wBACtB,aAAa;wBACb,gCAAgC;wBAChC,6BAA6B;wBAC7B,oCAAoC;wBACpC,0BAA0B;wBAC1B,iCAAiC;wBACjC,wBAAwB;AACzB,qBAAA;AACD,oBAAA,SAAS,EAAE,CAAC,sBAAsB,EAAE,QAAQ,CAAC;AAC7C,oBAAA,OAAO,EAAE;wBACP,wBAAwB;wBACxB,uBAAuB;wBACvB,4BAA4B;wBAC5B,oBAAoB;wBACpB,iBAAiB;wBACjB,oBAAoB;wBACpB,oBAAoB;wBACpB,uBAAuB;wBACvB,sBAAsB;wBACtB,mBAAmB;wBACnB,mBAAmB;wBACnB,0BAA0B;wBAC1B,0BAA0B;wBAC1B,4BAA4B;wBAC5B,4BAA4B;wBAC5B,wBAAwB;wBACxB,oBAAoB;wBACpB,yBAAyB;wBACzB,sCAAsC;wBACtC,sCAAsC;wBACtC,yBAAyB;wBACzB,4BAA4B;wBAC5B,0BAA0B;wBAC1B,mCAAmC;wBACnC,6BAA6B;wBAC7B,wCAAwC;wBACxC,4BAA4B;wBAC5B,mCAAmC;wBACnC,qBAAqB;wBACrB,+BAA+B;wBAC/B,oBAAoB;wBACpB,sBAAsB;wBACtB,sBAAsB;wBACtB,mBAAmB;wBACnB,sBAAsB;wBACtB,yBAAyB;wBACzB,kCAAkC;wBAClC,oBAAoB;wBACpB,qBAAqB;wBACrB,oBAAoB;wBACpB,wBAAwB;wBACxB,sBAAsB;wBACtB,kBAAkB;wBAClB,mBAAmB;wBACnB,oBAAoB;wBACpB,qBAAqB;wBACrB,sBAAsB;wBACtB,aAAa;wBACb,mBAAmB;wBACnB,2BAA2B;wBAC3B,gCAAgC;wBAChC,6BAA6B;wBAC7B,oCAAoC;wBACpC,0BAA0B;wBAC1B,iCAAiC;wBACjC,wBAAwB;AACzB,qBAAA;iBACF,CAAA;;;MCxKYC,6BAA2B,CAAA;AAC/B,IAAA,YAAY,CAAC,IAAmB,EAAE,OAAA,GAAuB,EAAE,EAAA;AAChE,QAAA,OAAO,KAAK,CAAC;KACd;AAEM,IAAA,IAAI,CAAC,IAAY,EAAE,OAAA,GAAuB,EAAE,EAAA;AACjD,QAAA,OAAO,KAAK,CAAC;KACd;IAEM,QAAQ,GAAA;AACb,QAAA,OAAO,KAAK,CAAC;KACd;IAEM,YAAY,GAAA;AACjB,QAAA,OAAO,KAAK,CAAC;KACd;AAEM,IAAA,KAAK,CAAC,UAAgB,EAAA;AAC3B,QAAA,OAAO,KAAK,CAAC;KACd;AAEM,IAAA,gBAAgB,MAAK;IAErB,aAAa,CAAC,UAAe,EAAA,GAAI;IAEjC,iBAAiB,CAAC,SAAiB,EAAE,KAAU,EAAA;AACpD,QAAA,OAAO,CAAC,CAAC;KACV;AAEM,IAAA,iBAAiB,CAAC,SAAiB,EAAE,UAAe,KAAI;AAElD,IAAA,aAAa,CAAC,UAAkB,EAAA;;AAC3C,YAAA,OAAO,EAAE,CAAC;SACX,CAAA,CAAA;AAAA,KAAA;IAEY,wBAAwB,GAAA;;YACnC,OAAO,IAAI,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;SAClD,CAAA,CAAA;AAAA,KAAA;IAEY,WAAW,GAAA;;AACtB,YAAA,OAAO,EAAE,CAAC;SACX,CAAA,CAAA;AAAA,KAAA;AACM,IAAA,oBAAoB,CAAC,SAAiB,EAAA;AAC3C,QAAA,OAAO,KAAK,CAAC;KACd;IAEM,kBAAkB,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC;KACb;AAEM,IAAA,mBAAmB,CAAC,SAAiB,EAAA;AAC1C,QAAA,OAAO,KAAK,CAAC;KACd;IAEM,aAAa,GAAA;AAClB,QAAA,OAAO,CAAC,CAAC;KACV;IAEM,8BAA8B,GAAA;AACnC,QAAA,OAAO,EAAE,CAAC;KACX;AACF;;MCoCY,gCAAgC,CAAA;;8HAAhC,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+HAAhC,gCAAgC,EAAA,YAAA,EAAA,CAtD5B,mCAAmC,CADxC,EAAA,OAAA,EAAA,CAAA,gCAAgC,EAAE,YAAY,EAAE,WAAW,CAAA,EAAA,OAAA,EAAA,CAInE,wBAAwB;QACxB,uBAAuB;QACvB,4BAA4B;QAC5B,oBAAoB;QACpB,iBAAiB;QACjB,oBAAoB;QACpB,oBAAoB;QACpB,uBAAuB;QACvB,sBAAsB;QACtB,mBAAmB;QACnB,mBAAmB;QACnB,0BAA0B;QAC1B,0BAA0B;QAC1B,4BAA4B;QAC5B,4BAA4B;QAC5B,wBAAwB;QACxB,oBAAoB;QACpB,yBAAyB;QACzB,sCAAsC;QACtC,sCAAsC;QACtC,yBAAyB;QACzB,4BAA4B;QAC5B,0BAA0B;QAC1B,mCAAmC;QACnC,6BAA6B;QAC7B,wCAAwC;QACxC,4BAA4B;QAC5B,mCAAmC;QACnC,oBAAoB;QACpB,sBAAsB;QACtB,sBAAsB;QACtB,mBAAmB;QACnB,sBAAsB;QACtB,yBAAyB;QACzB,kCAAkC;QAClC,oBAAoB;QACpB,qBAAqB;QACrB,oBAAoB;QACpB,wBAAwB;QACxB,sBAAsB;QACtB,kBAAkB;QAClB,mBAAmB;QACnB,mCAAmC;QACnC,gCAAgC;QAChC,6BAA6B;QAC7B,oCAAoC;QACpC,0BAA0B;QAC1B,iCAAiC;QACjC,wBAAwB,CAAA,EAAA,CAAA,CAAA;+HAGf,gCAAgC,EAAA,SAAA,EArDhC,CAACA,6BAA2B,CAAC,EAAA,OAAA,EAAA,CAF/B,CAAC,gCAAgC,EAAE,YAAY,EAAE,WAAW,CAAC,CAAA,EAAA,CAAA,CAAA;4FAuD3D,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAxD5C,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,gCAAgC,EAAE,YAAY,EAAE,WAAW,CAAC;oBACtE,YAAY,EAAE,CAAC,mCAAmC,CAAC;oBACnD,SAAS,EAAE,CAACA,6BAA2B,CAAC;AACxC,oBAAA,OAAO,EAAE;wBACP,wBAAwB;wBACxB,uBAAuB;wBACvB,4BAA4B;wBAC5B,oBAAoB;wBACpB,iBAAiB;wBACjB,oBAAoB;wBACpB,oBAAoB;wBACpB,uBAAuB;wBACvB,sBAAsB;wBACtB,mBAAmB;wBACnB,mBAAmB;wBACnB,0BAA0B;wBAC1B,0BAA0B;wBAC1B,4BAA4B;wBAC5B,4BAA4B;wBAC5B,wBAAwB;wBACxB,oBAAoB;wBACpB,yBAAyB;wBACzB,sCAAsC;wBACtC,sCAAsC;wBACtC,yBAAyB;wBACzB,4BAA4B;wBAC5B,0BAA0B;wBAC1B,mCAAmC;wBACnC,6BAA6B;wBAC7B,wCAAwC;wBACxC,4BAA4B;wBAC5B,mCAAmC;wBACnC,oBAAoB;wBACpB,sBAAsB;wBACtB,sBAAsB;wBACtB,mBAAmB;wBACnB,sBAAsB;wBACtB,yBAAyB;wBACzB,kCAAkC;wBAClC,oBAAoB;wBACpB,qBAAqB;wBACrB,oBAAoB;wBACpB,wBAAwB;wBACxB,sBAAsB;wBACtB,kBAAkB;wBAClB,mBAAmB;wBACnB,mCAAmC;wBACnC,gCAAgC;wBAChC,6BAA6B;wBAC7B,oCAAoC;wBACpC,0BAA0B;wBAC1B,iCAAiC;wBACjC,wBAAwB;AACzB,qBAAA;iBACF,CAAA;;;AC7GW,IAAA,eAKX;AALD,CAAA,UAAY,cAAc,EAAA;IACxB,cAAA,CAAA,cAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAY,CAAA;IACZ,cAAA,CAAA,cAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAc,CAAA;IACd,cAAA,CAAA,cAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAW,CAAA;IACX,cAAA,CAAA,cAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ,CAAA;AACV,CAAC,EALW,cAAc,KAAd,cAAc,GAKzB,EAAA,CAAA,CAAA,CAAA;AAEW,IAAA,eAKX;AALD,CAAA,UAAY,cAAc,EAAA;IACxB,cAAA,CAAA,cAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,CAAA,GAAA,SAAY,CAAA;IACZ,cAAA,CAAA,cAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ,CAAA;IACR,cAAA,CAAA,cAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAO,CAAA;IACP,cAAA,CAAA,cAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ,CAAA;AACV,CAAC,EALW,cAAc,KAAd,cAAc,GAKzB,EAAA,CAAA,CAAA;;MCXY,oBAAoB,CAAA;AAW/B,IAAA,WAAA,CAAoB,KAAa,EAAA;AAAb,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAQ;AATzB,QAAA,IAAM,CAAA,MAAA,GAAG,CAAC,CAAC;AACX,QAAA,IAAM,CAAA,MAAA,GAAG,CAAC,CAAC;AACX,QAAA,IAAoB,CAAA,oBAAA,GAAG,CAAC,CAAC;AACzB,QAAA,IAAU,CAAA,UAAA,GAAG,CAAC,CAAC;QAOrB,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClE,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE9D,IAAI,CAAC,mBAAmB,EAAE,CAAC;KAC5B;IAEO,QAAQ,GAAA;QACd,OAAO,CAAC,cAAc,IAAI,MAAM,MAAM,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC,KAAW,SAAU,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;KAChH;AAEO,IAAA,kBAAkB,CAAC,KAAiB,EAAA;AAC1C,QAAA,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;AAE9B,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAmB,CAAC;AAC/E,YAAA,MAAM,IAAI,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAC;YAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE;AAC/E,gBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE;oBACrH,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE;AAC/E,wBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE;4BACrH,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;4BACpE,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;AACpE,4BAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;4BAEzI,IAAI,KAAK,CAAC,UAAU,EAAE;gCACpB,KAAK,CAAC,cAAc,EAAE,CAAC;AACxB,6BAAA;4BACD,KAAK,CAAC,eAAe,EAAE,CAAC;AACzB,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;KACF;AAEO,IAAA,iBAAiB,CAAC,KAAiB,EAAA;AACzC,QAAA,MAAM,2BAA2B,GAAkC,MAAc,CAAC,2BAA2B,CAAC;AAC9G,QAAA,MAAM,oBAAoB,GAAS,MAAc,CAAC,oBAAoB,CAAC;AAEvE,QAAA,IAAI,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YAChE,OAAO;AACR,SAAA;AAED,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACnI,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAmB,CAAC;QAC/E,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC;QAClD,IAAI,CAAC,UAAU,GAAG,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC;QAC5D,IAAI,OAAO,GAAG,MAAM,CAAC,2BAA2B,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,GAAG,CAAC;AACf,SAAA;AAED,QAAA,MAAM,WAAW,GAAG,oBAAoB,CAAC,SAAS,CAAC,aAAa,CAAC;AACjE,QAAA,IAAI,WAAW,GAAG,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE;AAC3C,YAAA,IAAI,CAAC,UAAU,GAAG,OAAO,GAAG,WAAW,CAAC;AACzC,SAAA;QACD,IAAI,OAAO,GAAG,MAAM,CAAC,2BAA2B,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,EAAE,CAAC;AACd,SAAA;AACD,QAAA,IAAI,WAAW,GAAG,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE;AAC3C,YAAA,IAAI,CAAC,UAAU,GAAG,OAAO,GAAG,WAAW,CAAC;AACzC,SAAA;AACD,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,CAAA,MAAA,EAAS,IAAI,CAAC,UAAU,CAAA,CAAA,CAAG,CAAC;AAC1D,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,CAAA,EAAG,OAAO,CAAA,GAAA,EAAM,OAAO,CAAA,EAAA,CAAI,CAAC;QAEhE,IAAI,KAAK,CAAC,UAAU,EAAE;YACpB,KAAK,CAAC,cAAc,EAAE,CAAC;AACxB,SAAA;QACD,KAAK,CAAC,eAAe,EAAE,CAAC;KACzB;AAEO,IAAA,gBAAgB,CAAC,KAAiB,EAAA;AACxC,QAAA,MAAM,oBAAoB,GAAS,MAAc,CAAC,oBAAoB,CAAC;AACvE,QAAA,IAAI,IAAI,CAAC,oBAAoB,IAAI,CAAC,EAAE;YAClC,OAAO;AACR,SAAA;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,OAAO,CAAC;QAC5C,oBAAoB,CAAC,SAAS,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,CAAC;QAC/D,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAmB,CAAC;AAC/E,QAAA,MAAM,IAAI,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAC;QAC/C,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;QACnC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC;AAClC,QAAA,SAAS,CAAC,UAAU,IAAI,EAAE,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;AACnD,QAAA,SAAS,CAAC,SAAS,IAAI,EAAE,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE5B,IAAI,KAAK,CAAC,UAAU,EAAE;YACpB,KAAK,CAAC,cAAc,EAAE,CAAC;AACxB,SAAA;QACD,KAAK,CAAC,eAAe,EAAE,CAAC;KACzB;IAEO,oBAAoB,GAAA;AAC1B,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;AAC1D,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;KACrB;IAEM,mBAAmB,GAAA;AACxB,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;YACpB,OAAO;AACR,SAAA;QACD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;AAChD,QAAA,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAK;YAChC,QAAQ,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;AACtE,YAAA,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,sBAAsB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YACxF,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;AACpE,SAAC,CAAC,CAAC;KACJ;IAEM,gBAAgB,GAAA;AACrB,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;YACpB,OAAO;AACR,SAAA;QACD,QAAQ,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACzE,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACvE,QAAQ,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;KACtE;AACF;;MCxIY,QAAQ,CAAA;AAUX,IAAA,OAAO,YAAY,GAAA;QACzB,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;AACR,SAAA;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;YACzB,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACzC,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACzC,SAAA;QACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;QACrC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC;QAC3B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;QACrC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACnC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KAC/B;IAEO,OAAO,SAAS,CAAC,IAAY,EAAA;AACnC,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;YAC9B,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;gBACzB,IAAI,CAAC,YAAY,EAAE,CAAC;AACrB,aAAA;YACD,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;;AAEzB,gBAAA,OAAO,CAAC,CAAC;AACV,aAAA;AACD,YAAA,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACzC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpC,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC;YAClD,IAAI,CAAC,GAAG,CAAC,UAAW,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3C,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;AAC3D,SAAA;AACD,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;KAClC;IAEM,OAAO,IAAI,CAAC,MAAM,EAAA;AACvB,QAAA,MAAM,MAAM,GAAG,gCAAgC,CAAC;QAChD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACrC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;AAC7B,YAAA,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,YAAA,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;AAClC,YAAA,IAAI,KAAK,EAAE;AACT,gBAAA,OAAO,IAAI,KAAK,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;AACzD,aAAA;AACF,SAAA;AACD,QAAA,MAAM,IAAI,SAAS,CAAC,sBAAsB,CAAC,CAAC;KAC7C;;AAxDD;AACe,QAAG,CAAA,GAAA,GAA+B,SAAS,CAAC;AAC5C,QAAE,CAAA,EAAA,GAA+B,SAAS,CAAC;AAE1D;AACwB,QAAM,CAAA,MAAA,GAAG,GAAG,CAAC;AAEtB,QAAc,CAAA,cAAA,GAA8B,EAAE;;MCHlD,qBAAqB,CAAA;AA2ChC,IAAA,WAAA,CAAoB,KAAa,EAAU,SAAwC,EAAE,OAAY,EAAA;AAA7E,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAQ;AAAU,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAA+B;QAzC3E,IAAA,CAAA,OAAO,GAAQ;AACrB,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,oBAAoB,EAAE,KAAK;SAC5B,CAAC;AAGM,QAAA,IAAM,CAAA,MAAA,GAAG,CAAC,CAAC;AACX,QAAA,IAAM,CAAA,MAAA,GAAG,CAAC,CAAC;AACX,QAAA,IAAK,CAAA,KAAA,GAAG,CAAC,CAAC;AACV,QAAA,IAAK,CAAA,KAAA,GAAG,CAAC,CAAC;AACV,QAAA,IAAS,CAAA,SAAA,GAAG,CAAC,CAAC;AACd,QAAA,IAAQ,CAAA,QAAA,GAAG,CAAC,CAAC;AAEb,QAAA,IAAK,CAAA,KAAA,GAA6B,MAAM,CAAC;AACzC,QAAA,IAAoB,CAAA,oBAAA,GAAG,CAAC,CAAC;AACzB,QAAA,IAAY,CAAA,YAAA,GAAG,GAAG,CAAC;AAEnB,QAAA,IAAQ,CAAA,QAAA,GAAQ,EAEvB,CAAA;QAaO,IAAA,CAAA,KAAK,GAAG;AACd,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,EAAE,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC,EAAE,CAAC;AAClF,YAAA,CAAC,EAAE,CAAC;AACJ,YAAA,CAAC,EAAE,CAAC;SACL,CAAA;AAIC,QAAA,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;AACxB,QAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAG;AAC3C,YAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,SAAS;gBAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAClF,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAGvB,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;AACxC,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO;AAAE,YAAA,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QACzE,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClE,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE9D,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChE,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE5D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAExD,IAAI,CAAC,wBAAwB,EAAE,CAAC;KACjC;IAEO,QAAQ,GAAA;AAEd,QAAA,OAAO,CAAC,SAAS,CAAC,cAAc,GAAG,CAAC,MAAY,SAAU,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;KAClF;AAEO,IAAA,kBAAkB,CAAC,KAAiB,EAAA;AAC1C,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,oBAAoB;YAAE,OAAO;AAE9C,QAAA,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;AAE9B,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAmB,CAAC;AAC/E,YAAA,MAAM,IAAI,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAC;YAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE;AAC/E,gBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE;oBACrH,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE;AAC/E,wBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE;4BACrH,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;4BACpE,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;AACpE,4BAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAEzI,4BAAA,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrE,4BAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACnE,4BAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;4BAEpB,IAAI,KAAK,CAAC,UAAU,EAAE;gCACpB,KAAK,CAAC,cAAc,EAAE,CAAC;AACxB,6BAAA;4BACD,KAAK,CAAC,eAAe,EAAE,CAAC;AACzB,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;AAED,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,IAAI,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;YAC5B,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,MAAM,EAAE;gBACvF,MAAM,eAAe,GAAG,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAmB,CAAC;AACrF,gBAAA,MAAM,IAAI,GAAG,eAAe,CAAC,qBAAqB,EAAE,CAAC;gBAErD,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;gBACpC,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC;AAEnC,gBAAA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO;AAAE,oBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAEtD,gBAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACpB,gBAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AAEpB,gBAAA,IAAI,IAAI,GAAG,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/D,gBAAA,IAAI,GAAG,GAAG,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAI7D,gBAAA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;oBACtB,OAAO,CAAC,GAAG,CAAC,cAAc;0BACtB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;0BACjE,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;0BAC9F,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC;AACnL,0BAAA,WAAW,GAAG,IAAI,CAAC,KAAK,EAC1B,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAC5C,CAAC;AACH,iBAAA;AAED,gBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AACtB,gBAAA,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;AACpB,gBAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;gBAEpB,IAAI,KAAK,CAAC,UAAU,EAAE;oBACpB,KAAK,CAAC,cAAc,EAAE,CAAC;AACxB,iBAAA;gBACD,KAAK,CAAC,eAAe,EAAE,CAAC;AAEzB,aAAA;AAAM,iBAAA;;AAEN,aAAA;AAGF,SAAA;KACF;;;;;;;;;;;;;;;;;;;;;AAgCO,IAAA,UAAU,CAAC,CAAS,EAAE,CAAS,EAAE,SAAkB,KAAK,EAAA;AAC9D,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;YAAE,OAAO;QACrC,MAAM,eAAe,GAAG,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAmB,CAAC;AACrF,QAAA,IAAI,EAAE,GAAG,aAAa,IAAI,MAAM,GAAG,SAAS,GAAG,EAAE,CAAC,CAAC;QAEnD,IAAI,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,IAAI,GAAG,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,KAAK,EAAE;AACV,YAAA,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACtC,YAAA,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;AACd,YAAA,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;YAClC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC;YAChC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;AACjC,YAAA,KAAK,CAAC,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC;AAEnC,YAAA,KAAK,CAAC,KAAK,CAAC,eAAe,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AAEtD,YAAA,IAAI,CAAC,MAAM;AAAE,gBAAA,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;;AAC3C,gBAAA,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACrC,SAAA;QAKD,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAE3C,QAAA,IAAI,MAAM,EAAE;;;;;;;;;;AAcX,SAAA;AAAM,aAAA;AAEL,YAAA,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;AACjB,YAAA,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;;AAKlB,SAAA;AAGD,QAAA,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;AAC3C,QAAA,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;KAG3C;AAEO,IAAA,iBAAiB,CAAC,KAAiB,EAAA;AACzC,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,oBAAoB;YAAE,OAAO;AAE9C,QAAA,MAAM,2BAA2B,GAAkC,MAAc,CAAC,2BAA2B,CAAC;AAC9G,QAAA,MAAM,oBAAoB,GAAS,MAAc,CAAC,oBAAoB,CAAC;QAEvE,MAAM,eAAe,GAAG,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAmB,CAAC;AACrF,QAAA,MAAM,IAAI,GAAG,eAAe,CAAC,qBAAqB,EAAE,CAAC;QACrD,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;AAE/C,QAAA,IAAI,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;AAGhE,YAAA,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,MAAM,EAAE;gBACrD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAG/B,gBAAA,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,UAAU,CAAC;AACjE,gBAAA,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,GAAG,eAAe,CAAC,SAAS,CAAC;AAE/D,gBAAA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO;AAAE,oBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAEtD,gBAAA,IAAI,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;AAChC,gBAAA,IAAI,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;AAEhC,gBAAA,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AAClC,gBAAA,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AAEhC,gBAAA,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;AACzD,gBAAA,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;AACtB,gBAAA,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC;AAEpB,gBAAA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;oBACtB,OAAO,CAAC,GAAG,CAAC,aAAa;0BACrB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;0BACjE,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;0BAC9F,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;0BAC9E,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC;AAC1E,0BAAA,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAE9F,CAAC;AACH,iBAAA;gBAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;gBACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;gBAEnC,IAAI,KAAK,CAAC,UAAU,EAAE;oBACpB,KAAK,CAAC,cAAc,EAAE,CAAC;AACxB,iBAAA;gBACD,KAAK,CAAC,eAAe,EAAE,CAAC;AACzB,aAAA;YAED,OAAO;AACR,SAAA;AAED,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;;;QAInI,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QAClE,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;AAElE,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAGnB,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;;;;;;;;;;AAkB1E,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AACpD,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAGrD,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO;AAAE,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;AAEvF,QAAA,IAAI,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC;QAC9D,IAAI,OAAO,GAAG,MAAM,CAAC,2BAA2B,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,GAAG,CAAC;AACf,SAAA;AAED,QAAA,MAAM,WAAW,GAAG,oBAAoB,CAAC,SAAS,CAAC,aAAa,CAAC;AACjE,QAAA,IAAI,WAAW,GAAG,IAAI,CAAC,YAAY,GAAG,OAAO,EAAE;AAC7C,YAAA,IAAI,CAAC,YAAY,GAAG,OAAO,GAAG,WAAW,CAAC;AAC3C,SAAA;QACD,IAAI,OAAO,GAAG,MAAM,CAAC,2BAA2B,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,EAAE,CAAC;AACd,SAAA;AACD,QAAA,IAAI,WAAW,GAAG,IAAI,CAAC,YAAY,GAAG,OAAO,EAAE;AAC7C,YAAA,IAAI,CAAC,YAAY,GAAG,OAAO,GAAG,WAAW,CAAC;AAC3C,SAAA;AAKD,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;YACtB,OAAO,CAAC,GAAG,CAAC,mBAAmB;kBAC3B,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;AAC9F,kBAAA,aAAa,GAAG,CAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;kBAC7F,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;kBACzF,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC;;kBAEvF,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;kBAEvF,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC;kBAC3F,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;kBACvG,UAAU,EAAE,IAAI,CAGnB,CAAC;AACH,SAAA;AAGD,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,CAAA,MAAA,EAAS,IAAI,CAAC,YAAY,CAAA,CAAA,CAAG,CAAC;AAC5D,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,CAAA,EAAG,OAAO,CAAA,GAAA,EAAM,OAAO,CAAA,EAAA,CAAI,CAAC;;QAMhE,IAAI,KAAK,CAAC,UAAU,EAAE;YACpB,KAAK,CAAC,cAAc,EAAE,CAAC;AACxB,SAAA;QACD,KAAK,CAAC,eAAe,EAAE,CAAC;KACzB;AAEO,IAAA,gBAAgB,CAAC,KAAiB,EAAA;AACxC,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,oBAAoB;YAAE,OAAO;AAE9C,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO;YAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;AAClD,kBAAA,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,CAAC;kBAC5D,WAAW,GAAG,IAAI,CAAC,KAAK;AACxB,kBAAA,0BAA0B,GAAG,IAAI,CAAC,oBAAoB,CACzD,CAAC;AAEF,QAAA,MAAM,oBAAoB,GAAS,MAAc,CAAC,oBAAoB,CAAC;;;;QAQvE,IAAI,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAGhD,QAAA,IAAI,EAAE,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC;AACrC,QAAA,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAEvB,IAAI,EAAE,GAAG,CAAC,EAAE;YACV,KAAK,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;YAC5E,KAAK,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;AAE7E,SAAA;AACI,aAAA;AACH,YAAA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO;gBAAE,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,WAAW,GAAG,IAAI,CAAC,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,EAAE,CAAC,CAAC;AAChJ,SAAA;;QAMD,IAAI,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;AAC/B,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;AACtB,YAAA,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;AAEvB,YAAA,IAAI,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;;AAGzB,YAAA,IAAI,EAAE,CAAC,KAAK,IAAI,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,GAAG,EAAE;AAExD,gBAAA,IAAI,oBAAoB,GAAS,MAAc,CAAC,oBAAoB,CAAC;AACrE,gBAAA,IAAI,YAAY,GAAG,oBAAoB,CAAC,SAAS,CAAC,YAAY,CAAC;gBAC/D,IAAI,WAAW,GAAG,GAAG,CAAC;gBAEtB,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,YAAY,GAAG,WAAW,KAAK,YAAY,GAAG,WAAW,CAAC,CAAC;;;gBAK9F,IAAI,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,MAAM,EAAE;oBAC1D,IAAI,KAAK,CAAC,UAAU,EAAE;wBACpB,KAAK,CAAC,cAAc,EAAE,CAAC;AACxB,qBAAA;oBACD,KAAK,CAAC,eAAe,EAAE,CAAC;AACzB,iBAAA;gBAED,UAAU,CAAC,MAAK;AAEd,oBAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;AAC9B,oBAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;iBACpB,EAAE,CAAC,CAAC,CAAC;gBAEN,OAAO;AACR,aAAA;AAEF,SAAA;QAED,IAAI,CAAC,QAAQ,GAAG;AACd,YAAA,IAAI,EAAE,GAAG;AACT,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,KAAK,EAAE,KAAK;SACb,CAAA;AAGD,QAAA,IAAI,IAAI,CAAC,KAAK,IAAI,MAAM,EAAE;YACxB,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,OAAO;AACR,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,oBAAoB,IAAI,CAAC,EAAE;YAClC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,OAAO;AACR,SAAA;AAGD,QAAA,IAAI,YAAY,GAAG,oBAAoB,CAAC,SAAS,CAAC,YAAY,CAAC;AAC/D,QAAA,IAAI,QAAQ,GAAG,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;;QAIhD,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAmB,CAAC;AAC/E,QAAA,MAAM,IAAI,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAC;QAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;QAEvD,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAG3C,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO;AAAE,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAItD,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;YACtB,OAAO,CAAC,GAAG,CAAC,YAAY;AACpB,kBAAA,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC,YAAY;kBAEzH,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;kBACjF,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;;;;kBAK9F,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;kBAC3G,UAAU,EAAE,IAAI,CAEnB,CAAC;AACH,SAAA;QAGD,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;QAGxD,IAAI,CAAC,oBAAoB,EAAE,CAAC;;QAI5B,IAAI,KAAK,CAAC,UAAU,EAAE;YACpB,KAAK,CAAC,cAAc,EAAE,CAAC;AACxB,SAAA;QACD,KAAK,CAAC,eAAe,EAAE,CAAC;;;;;KAUzB;AAGO,IAAA,iBAAiB,CAAC,KAAiB,EAAA;AACzC,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,oBAAoB;YAAE,OAAO;QAE9C,IAAI,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;AAC9C,QAAA,IAAI,CAAC,QAAQ;YAAE,OAAO;AAEtB,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;YAAE,OAAO;AAEtC,QAAA,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;;AAGlD,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;AACtB,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACvD,SAAA;QAGD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7B,QAAA,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrE,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;AAElE,QAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;QAEpB,IAAI,KAAK,CAAC,UAAU,EAAE;YACpB,KAAK,CAAC,cAAc,EAAE,CAAC;AACxB,SAAA;QACD,KAAK,CAAC,eAAe,EAAE,CAAC;KAEzB;AACO,IAAA,iBAAiB,CAAC,KAAiB,EAAA;AACzC,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,oBAAoB;YAAE,OAAO;AAE9C,QAAA,IAAI,IAAI,CAAC,KAAK,IAAI,MAAM,EAAE;;YAExB,OAAO;AACR,SAAA;AAED,QAAA,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAGlD,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO;AAAE,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAExE,QAAA,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AACzC,QAAA,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAEzC,QAAA,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AAClC,QAAA,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AAEhC,QAAA,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;AACzD,QAAA,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;AACtB,QAAA,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC;QAGpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;AAGnC,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;YACtB,OAAO,CAAC,GAAG,CAAC,aAAa;AACrB,kBAAA,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;kBACnF,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;kBAC9E,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAC7E,CAAC;AACH,SAAA;QAED,IAAI,KAAK,CAAC,UAAU,EAAE;YACpB,KAAK,CAAC,cAAc,EAAE,CAAC;AACxB,SAAA;QACD,KAAK,CAAC,eAAe,EAAE,CAAC;KAGzB;AACO,IAAA,eAAe,CAAC,KAAiB,EAAA;AACvC,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,oBAAoB;YAAE,OAAO;QAE9C,IAAI,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAC/C,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO;AAAE,YAAA,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,YAAY,GAAG,QAAQ,CAAC,CAAC;;AAG3J,QAAA,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEtB,IAAI,CAAC,oBAAoB,EAAE,CAAC;;QAI5B,IAAI,KAAK,CAAC,UAAU,EAAE;YACpB,KAAK,CAAC,cAAc,EAAE,CAAC;AACxB,SAAA;QACD,KAAK,CAAC,eAAe,EAAE,CAAC;AAExB,QAAA,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;AACxB,QAAA,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACxB,IAAI,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;AAC/B,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;AACtB,YAAA,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;AAEvB,YAAA,IAAI,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;;AAGzB,YAAA,IAAI,EAAE,CAAC,KAAK,IAAI,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,GAAG,EAAE;AAExD,gBAAA,IAAI,oBAAoB,GAAS,MAAc,CAAC,oBAAoB,CAAC;AACrE,gBAAA,IAAI,YAAY,GAAG,oBAAoB,CAAC,SAAS,CAAC,YAAY,CAAC;gBAC/D,IAAI,WAAW,GAAG,GAAG,CAAC;gBAEtB,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,YAAY,GAAG,WAAW,KAAK,YAAY,GAAG,WAAW,CAAC,CAAC;;gBAG9F,UAAU,CAAC,MAAK;AAEd,oBAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;AAC9B,oBAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;iBACpB,EAAE,CAAC,CAAC,CAAC;gBAEN,OAAO;AACR,aAAA;AAEF,SAAA;QAED,IAAI,CAAC,QAAQ,GAAG;AACd,YAAA,IAAI,EAAE,GAAG;AACT,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,KAAK,EAAE,KAAK;SACb,CAAA;;KAOF;IAGO,oBAAoB,GAAA;AAC1B,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;AACrH,QAAA,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;AACtB,QAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;KACrB;AAEO,IAAA,WAAW,CACjB,IAA8B,EAC9B,IAAY,EACZ,KAA6B,GAAA,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAA;AAE1D,QAAA,MAAM,MAAM,GAAG,IAAI,KAAK,QAAQ,GAAG,OAAO,GAAG,EAAE,CAAA;QAC/C,OAAO;AACL,YAAA,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA,EAAG,IAAI,CAAA,IAAA,EAAO,MAAM,CAAA,CAAE,CAAC,CAAC,IAAI,CAAC;AACpD,YAAA,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA,EAAG,IAAI,CAAA,KAAA,EAAQ,MAAM,CAAA,CAAE,CAAC,CAAC,IAAI,CAAC;AACtD,YAAA,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA,EAAG,IAAI,CAAA,GAAA,EAAM,MAAM,CAAA,CAAE,CAAC,CAAC,IAAI,CAAC;AAClD,YAAA,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA,EAAG,IAAI,CAAA,MAAA,EAAS,MAAM,CAAA,CAAE,CAAC,CAAC,IAAI,CAAC;SACzD,CAAA;KACF;IAGO,aAAa,CAAC,IAAiB,EAAE,KAA0C,EAAA;AACjF,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,UAAyB,CAAA;QAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;QAC3C,MAAM,WAAW,GAAG,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;AACnD,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAA;AAC7C,QAAA,MAAM,UAAU,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAA;QAGjD,MAAM,GAAG,GAAG,IAAI,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC;AAC1D,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;AAE5C,QAAA,IAAI,GAAG,GAAQ;AACb,YAAA,IAAI,EAAE;gBACJ,KAAK;gBACL,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,GAAG,EAAE,QAAQ,CAAC,GAAG;gBACjB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC;gBAC/C,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC;AAChD,aAAA;AACD,YAAA,GAAG,EAAE;gBACH,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;AACvB,gBAAA,GAAG,EAAE,QAAQ,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG;AAClC,gBAAA,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI;AACrC,gBAAA,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG;AACxC,gBAAA,KAAK,EAAE,QAAQ,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI;AACxC,aAAA;AAED,YAAA,MAAM,EAAE;AACN,gBAAA,KAAK,EAAE,WAAW;gBAClB,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,GAAG,EAAE,UAAU,CAAC,GAAG;gBACnB,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC;gBACzD,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC;AACxD,aAAA;SACF,CAAC;QAEF,IAAI,GAAG,IAAI,GAAG;AAAE,YAAA,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC;AAChC,aAAA;YACH,IAAI,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC;YAC7B,IAAI,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC;YAC9B,IAAI,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC;YAC5B,IAAI,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;YAG7B,GAAG,CAAC,MAAM,GAAG;AACX,gBAAA,GAAG,EAAE,GAAG;AACR,gBAAA,GAAG,EAAE,GAAG;AACR,gBAAA,KAAK,EAAE,EAAE;AACT,gBAAA,MAAM,EAAE,EAAE;gBAEV,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,CAAC;gBAC3B,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,GAAG,CAAC;gBAC7B,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC;gBACzB,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC;AAE/B,gBAAA,EAAE,EAAE,EAAE;AACN,gBAAA,EAAE,EAAE,EAAE;aACP,CAAA;AACF,SAAA;QAID,IAAI,EAAE,GAAG,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC;QAClE,IAAI,EAAE,GAAG,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAElE,IAAI,EAAE,GAAG,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;QACnE,IAAI,EAAE,GAAG,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;AAEjE,QAAA,IAAI,GAAG,GAAG,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC;AAC9B,QAAA,IAAI,GAAG,GAAG,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC;AAC/B,QAAA,IAAI,GAAG,GAAG,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC;AAChC,QAAA,IAAI,GAAG,GAAG,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC;QAEjC,GAAG,CAAC,KAAK,GAAG;AACV,YAAA,GAAG,EAAE,KAAK;AACV,YAAA,CAAC,EAAE;AACD,gBAAA,CAAC,EAAE,EAAE;AACL,gBAAA,CAAC,EAAE,EAAE;AACL,gBAAA,EAAE,EAAE,GAAG;AACP,gBAAA,EAAE,EAAE,GAAG;AACR,aAAA;AACD,YAAA,CAAC,EAAE;AACD,gBAAA,CAAC,EAAE,EAAE;AACL,gBAAA,CAAC,EAAE,EAAE;AACL,gBAAA,EAAE,EAAE,GAAG;AACP,gBAAA,EAAE,EAAE,GAAG;AACR,aAAA;SACF,CAAA;AAKD,QAAA,OAAO,GAAG,CAAC;KACZ;;;IAOO,UAAU,CAAC,KAAU,EAAE,GAAQ,EAAA;;;;;AAMrC,QAAA,IAAI,KAAK,GAAG;AACV,YAAA,IAAI,EAAE;gBACJ,KAAK,EAAE,KAAK,CAAC,IAAI;gBACjB,GAAG,EAAE,GAAG,CAAC,IAAI;AACd,aAAA;AACD,YAAA,MAAM,EAAE;gBACN,KAAK,EAAE,KAAK,CAAC,MAAM;gBACnB,GAAG,EAAE,GAAG,CAAC,MAAM;AAChB,aAAA;AACD,YAAA,GAAG,EAAE;gBACH,KAAK,EAAE,KAAK,CAAC,GAAG;gBAChB,GAAG,EAAE,GAAG,CAAC,GAAG;AACb,aAAA;AACD,YAAA,MAAM,EAAE;gBACN,KAAK,EAAE,KAAK,CAAC,MAAM;gBACnB,GAAG,EAAE,GAAG,CAAC,MAAM;AAChB,aAAA;SACF,CAAA;QAED,IAAI,GAAG,GAAQ,EAAE,CAAC;AAClB,QAAA,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE;YACpD,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;YAC1B,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;AAExB,YAAA,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AAEf,YAAA,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;AACtE,gBAAA,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;AACjB,gBAAA,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;AACjB,gBAAA,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;AAEnB,gBAAA,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;gBAC5L,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AACxB,aAAA;AACF,SAAA;AAED,QAAA,OAAO,GAAG,CAAC;KAGZ;AAGO,IAAA,SAAS,CAAC,CAAkC,EAAA;QAClD,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AAE5C,QAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC;QAEvE,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC;QAE7D,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;;YAExC,IAAI,GAAG,CAAC,CAAC;AACT,YAAA,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAC7C,SAAA;AAAM,aAAA;;AAEL,YAAA,IAAI,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9C,IAAI,GAAG,CAAC,CAAC;AAEV,SAAA;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;;YAE1C,IAAI,GAAG,CAAC,CAAC;AACT,YAAA,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAEhD,SAAA;AAAM,aAAA;;AAEL,YAAA,IAAI,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAChD,IAAI,GAAG,CAAC,CAAC;AAEV,SAAA;AAED,QAAA,IAAI,QAAQ,EAAE;AACZ,YAAA,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AAC1B,YAAA,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;AAC/C,YAAA,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC;YAEhD,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;YAC5B,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;YAE5B,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;YAC5B,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;AAC7B,SAAA;AAID,QAAA,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;AAClD,QAAA,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;;QAIhD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;KACnC;AAEO,IAAA,iBAAiB,CAAC,MAAyD,EAAA;QACjF,MAAM,eAAe,GAAG,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAmB,CAAC;AACrF,QAAA,MAAM,IAAI,GAAG,eAAe,CAAC,qBAAqB,EAAE,CAAC;QAErD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC;AAAE,YAAA,OAAO,KAAK,CAAC;;;AAK7D,QAAA,KAAK,IAAI,KAAK,IAAI,MAAM,EAAE;AAExB,YAAA,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;AAC1B,YAAA,IAAI,MAAM,EAAE;gBACV,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;;gBAEjD,IAAI,OAAO,IAAI,SAAS,EAAE;AACxB,oBAAA,OAAO,KAAK,CAAC;AACd,iBAAA;AACF,aAAA;AAGD,YAAA,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;AACxB,YAAA,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YAGxB,IAAI,MAAM,GAAG,KAAK,CAAC;YACnB,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE;gBAC7C,IAAI,KAAK,KAAK,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE;oBACnF,MAAM,GAAG,IAAI,CAAC;AACf,iBAAA;AACF,aAAA;;AAID,YAAA,IAAI,CAAC,MAAM;AAAE,gBAAA,OAAO,KAAK,CAAC;AAC3B,SAAA;AAED,QAAA,OAAO,IAAI,CAAC;KACb;AAEO,IAAA,uBAAuB,CAAC,GAAW,EAAA;QACzC,IAAI,EAAE,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC;AAEjD,QAAA,IAAI,EAAE,IAAI,MAAM,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACvC,IAAI,GAAG,GAAG,GAAG,CAAC;;;;;AAQd,YAAA,OAAO,GAAG,CAAC;AACZ,SAAA;QAED,IAAI,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACvC,QAAA,IAAI,cAAc,GAAG,UAAU,CAC7B,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAC9B,EAAE,CAAC,OAAO,CAAC,OAAO,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CACnC,CAAC;;AAEF,QAAA,OAAO,cAAc,CAAC;KACvB;IAEO,wBAAwB,GAAA;QAC9B,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC;AAC3C,QAAA,IAAI,EAAE,IAAI,SAAS,IAAI,EAAE,IAAI,OAAO;AAAE,YAAA,OAAO,SAAS,CAAC;QAEvD,IAAI,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC1B,QAAA,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;AAAE,YAAA,OAAO,SAAS,CAAC;QAExC,OAAO,EAAE,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7D;IAEM,cAAc,GAAA;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,SAAS,GAAQ,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;AAClF,QAAA,OAAO,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;KAC3E;IAEM,oBAAoB,CAAC,cAAuB,KAAK,EAAA;QACtD,IAAI,eAAe,GAAG,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAmB,CAAC;QACnF,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAmB,CAAC;QAElE,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAG7C,IAAI,SAAS,GAAQ,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAClF,IAAI,cAAc,GAAG,IAAI,CAAC,uBAAuB,CAAC,sBAAsB,CAAC,CAAC;;AAI1E,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;;;;;;;AAQvB,SAAA;AACD,QAAA,IAAI,KAAK,GAA4D;AACnE,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,GAAG,EAAE,SAAS;SACf,CAAA;QAED,IAAI,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC1G,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;;;AAGxE,YAAA,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;AACnB,SAAA;QACD,IAAI,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,SAAS,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAC1G,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;;;AAGzE,YAAA,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;AACjB,SAAA;AAED,QAAA,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,GAAG,EAAE;AAE3B,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;AAC3C,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;AAC1C,SAAA;KAEF;AAEO,IAAA,cAAc,CAAC,QAAQ,EAAE,OAAA,GAAe,EAAE,EAAA;QAChD,IAAI,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC;AACxD,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO;YAAE,OAAO,CAAC,GAAG,CAAC,4BAA4B,GAAG,QAAQ,GAAG,eAAe,GAAG,SAAS,CAAC,CAAC;AAE3G,QAAA,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;;QAG5B,IAAI,GAAG,GAAG,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;QAGzD,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;;QAG3C,IAAI,KAAK,GAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;AAErD,QAAA,IAAI,GAAG,IAAI,GAAG,EAAE;YAEd,IAAI,SAAS,IAAI,MAAM,EAAE;gBAEvB,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC3B,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AAC1B,aAAA;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,OAAO,CAAC;;;AAK7C,SAAA;AAED,QAAA,IAAI,oBAAoB,GAAS,MAAc,CAAC,oBAAoB,CAAC;AACrE,QAAA,IAAI,YAAY,GAAG,oBAAoB,CAAC,SAAS,CAAC,YAAY,CAAC;QAE/D,IAAI,MAAM,IAAI,SAAS,EAAE;YACvB,MAAM,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;AAC9D,SAAA;QAED,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QACrC,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;AAEtC,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;YACtB,OAAO,CAAC,GAAG,CAAC,gCAAgC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,GAAG;kBACxL,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG;AAC/K,kBAAA,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACnG,kBAAA,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE;kBAClC,UAAU,EAAE,IAAI,CAAC,CAAC;AACvB,SAAA;QAED,oBAAoB,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAEzD,IAAI,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAE/C,QAAA,IAAI,QAAQ,GAAQ;AAClB,YAAA,IAAI,EAAE,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AACzD,YAAA,GAAG,EAAE,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;SACxD,CAAA;AACD,QAAA,QAAQ,CAAC,QAAQ,GAAG,EAAG,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;AACjD,QAAA,QAAQ,CAAC,OAAO,GAAG,EAAG,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;QAEjD,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC;QACtD,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC;QAEnD,IAAI,KAAK,CAAC,IAAI,EAAE;AACd,YAAA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;AACtB,gBAAA,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AACzH,gBAAA,OAAO,CAAC,GAAG,CAAC,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AACvH,aAAA;AAED,YAAA,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;AAC/B,YAAA,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC;AAE9B,SAAA;AAED,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;AAClD,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;AAEhD,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;AACtB,YAAA,OAAO,CAAC,GAAG,CAAC,oCAAoC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,SAAS,CAAC,YAAY,CAAC;AAChH,kBAAA,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE;kBAClC,eAAe,EAAE,SAAS,EAC5B,aAAa,EAAE,OAAO,EACtB,cAAc,EAAE,QAAQ,CACzB,CAAC;AACH,SAAA;KAEF;IAED,SAAS,GAAA;AACP,QAAA,IAAI,oBAAoB,GAAS,MAAc,CAAC,oBAAoB,CAAC;AACrE,QAAA,MAAM,2BAA2B,GAAkC,MAAc,CAAC,2BAA2B,CAAC;AAE9G,QAAA,IAAI,YAAY,GAAG,oBAAoB,CAAC,SAAS,CAAC,YAAY,CAAC;QAE/D,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC;AAE3C,QAAA,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,2BAA2B,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;;QAErF,OAAO,GAAG,GAAG,OAAO,CAAC;KACtB;AAED,IAAA,aAAa,CAAC,KAAY,EAAA;AACxB,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,oBAAoB;YAAE,OAAO;AAC9C,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO;AAAE,YAAA,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QAE/D,UAAU,CAAC,MAAK;YAEd,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B,EAAE,CAAC,CAAC,CAAA;KAEN;;IAEM,wBAAwB,GAAA;QAE7B,IAAI,eAAe,GAAG,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAmB,CAAC;QACnF,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAmB,CAAC;AAElE,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAEnE,IAAI,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAChD,QAAA,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACvC,QAAA,eAAe,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;AAGzC,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO;YAAE,OAAO,CAAC,GAAG,CAAC,sCAAsC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;AAE9F,QAAA,IAAI,gBAAgB,GAAG,CAAC,KAAY,KAAI;;YAEtC,IAAI,eAAe,CAAC,UAAU,IAAI,CAAC,IAAI,eAAe,CAAC,SAAS,IAAI,CAAC;AAAE,gBAAA,eAAe,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;AACpH,SAAC,CAAA;AAED,QAAA,eAAe,CAAC,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QAG7D,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAO,KAAuB,KAAI,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;AACrE,YAAA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO;gBAAE,OAAO,CAAC,GAAG,CAAC,uCAAuC,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;YACxG,UAAU,CAAC,MAAK;;AAEd,gBAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;aACjC,EAAE,EAAE,CAAC,CAAC;SACR,CAAA,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAO,KAAU,KAAI,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;AACvD,YAAA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO;AAAE,gBAAA,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;;YAE/G,UAAU,CAAC,MAAK;;AAEd,gBAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;aACjC,EAAE,EAAE,CAAC,CAAC;SAER,CAAA,CAAC,CAAC;;;;QAIH,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAO,KAAU,KAAI,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;AAC9D,YAAA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO;AAAE,gBAAA,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;;SAE1E,CAAA,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;;AAKpB,YAAA,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAK;;gBAEhC,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;AACpE,gBAAA,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,sBAAsB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBACxF,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;AAEhE,gBAAA,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AAEhF,aAAC,CAAC,CAAC;AAGJ,SAAA;AAAM,aAAA;AAEL,YAAA,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAK;gBAChC,QAAQ,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;AACtE,gBAAA,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,sBAAsB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBACxF,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;AAEpE,aAAC,CAAC,CAAC;AAGJ,SAAA;AAKD,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;AAEtB,YAAA,IAAI,OAAO,GAAG,CAAC,KAAoB,KAAI;gBACrC,OAAO,CAAC,GAAG,CAAC,sBAAsB,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;gBAChD,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC3C,gBAAA,MAAM,oBAAoB,GAAS,MAAc,CAAC,oBAAoB,CAAC;AAEvE,gBAAA,IAAI,KAAK,CAAC,GAAG,IAAI,GAAG,EAAE;oBAIpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC;oBACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,OAAO,CAAC;AAC5C,oBAAA,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;oBAExB,IAAI,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAChD,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;AAC7C,oBAAA,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE,iBAAA;AAAM,qBAAA,IAAI,KAAK,CAAC,GAAG,IAAI,GAAG,EAAE;AAC3B,oBAAA,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;AACpD,oBAAA,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;AACrD,oBAAA,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AAC7C,oBAAA,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AAC3C,oBAAA,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;oBAExB,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,WAAW,GAAG,IAAI,CAAC,YAAY,GAAG,UAAU,EAAE,IAAI,CAAC,CAAC;oBAC5G,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC;AAGxJ,oBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,CAAA,MAAA,EAAS,IAAI,CAAC,YAAY,CAAA,CAAA,CAAG,CAAC;AAC5D,oBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,CAAA,EAAG,OAAO,CAAA,GAAA,EAAM,OAAO,CAAA,EAAA,CAAI,CAAC;oBAEhE,IAAI,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAChD,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;AAC3C,oBAAA,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC;AAElE,iBAAA;AAAM,qBAAA,IAAI,KAAK,CAAC,GAAG,IAAI,GAAG,EAAE;;;AAM3B,oBAAA,IAAI,YAAY,GAAG,oBAAoB,CAAC,SAAS,CAAC,YAAY,CAAC;AAC/D,oBAAA,IAAI,QAAQ,GAAG,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;oBAEhD,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC,YAAY,GAAG,UAAU,EAAE,IAAI,CAAC,CAAC;;oBAInH,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;oBAExD,IAAI,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAEhD,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;AAC3C,oBAAA,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC;;AAGlE,iBAAA;AAAM,qBAAA,IAAI,KAAK,CAAC,GAAG,IAAI,GAAG,EAAE;AAC3B,oBAAA,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;AACpD,oBAAA,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;AACrD,oBAAA,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AAC7C,oBAAA,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;;AAG3C,oBAAA,IAAI,YAAY,GAAG,oBAAoB,CAAC,SAAS,CAAC,YAAY,CAAC;AAC/D,oBAAA,IAAI,SAAS,GAAG,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;;AAEjD,oBAAA,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,WAAW,GAAG,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,IAAI,CAAC,YAAY,GAAG,UAAU,EAAE,IAAI,CAAC,CAAC;oBAC7J,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;;oBAGpG,IAAI,YAAY,IAAI,SAAS;AAAE,wBAAA,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AAG9D,oBAAA,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;AAChD,oBAAA,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;oBACjD,IAAI,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAChD,oBAAA,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;AACvD,oBAAA,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC;AAErD,oBAAA,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,WAAW,GAAG,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,IAAI,CAAC,YAAY,GAAG,eAAe,EAAE,SAAS,CAAC,CAAC;oBACvK,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAE9G,oBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,CAAA,MAAA,EAAS,IAAI,CAAC,YAAY,CAAA,CAAA,CAAG,CAAC;AAC5D,oBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,CAAA,EAAG,OAAO,CAAA,GAAA,EAAM,OAAO,CAAA,EAAA,CAAI,CAAC;AAEjE,iBAAA;AAAM,qBAAA,IAAI,KAAK,CAAC,GAAG,IAAI,GAAG,EAAE;;AAG3B,oBAAA,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;AACpD,oBAAA,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;AACrD,oBAAA,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AAC7C,oBAAA,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AAE3C,oBAAA,IAAI,IAAI,CAAC,YAAY,IAAI,GAAG;AAAE,wBAAA,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;AAEtD,oBAAA,IAAI,YAAY,GAAG,oBAAoB,CAAC,SAAS,CAAC,YAAY,CAAC;AAC/D,oBAAA,IAAI,QAAQ,GAAG,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;AAChD,oBAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;AAIvE,iBAAA;AAAM,qBAAA,IAAI,KAAK,CAAC,GAAG,IAAI,GAAG,EAAE;AAE3B,oBAAA,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;AACpD,oBAAA,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;AACrD,oBAAA,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AAC7C,oBAAA,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AAE3C,oBAAA,IAAI,YAAY,GAAG,oBAAoB,CAAC,SAAS,CAAC,YAAY,CAAC;AAC/D,oBAAA,IAAI,SAAS,GAAG,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;oBAEjD,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,YAAY,GAAG,eAAe,GAAG,SAAS,CAAC,CAAC;;AAE9E,oBAAA,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;;;;;AASxE,iBAAA;AAAM,qBAAA,IAAI,KAAK,CAAC,GAAG,IAAI,GAAG,EAAE;oBAC3B,IAAI,CAAC,oBAAoB,EAAE,CAAC;AAE7B,iBAAA;AAAM,qBAAA,IAAI,KAAK,CAAC,GAAG,IAAI,GAAG,EAAE;oBAC3B,IAAI,QAAQ,GAAG,GAAG,CAAC;AACnB,oBAAA,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;oBAClE,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACtD,oBAAA,OAAO,CAAC,GAAG,CAAC,0BAA0B,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC;oBACrF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,QAAQ,GAAG,IAAI,CAAC;AACzC,oBAAA,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;oBACjE,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAEvD,iBAAA;AAAM,qBAAA,IAAI,KAAK,CAAC,GAAG,IAAI,GAAG,EAAE;AAE3B,oBAAA,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;AACpD,oBAAA,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;AACrD,oBAAA,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AAC7C,oBAAA,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AAE3C,oBAAA,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;AAEzF,oBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,CAAA,MAAA,EAAS,IAAI,CAAC,YAAY,CAAA,CAAA,CAAG,CAAC;AAC5D,oBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,CAAA,EAAG,OAAO,CAAA,GAAA,EAAM,OAAO,CAAA,EAAA,CAAI,CAAC;AAEjE,iBAAA;AAAM,qBAAA,IAAI,KAAK,CAAC,GAAG,IAAI,GAAG,EAAE;AAG3B,oBAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;;;AAK5B,oBAAA,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC,CAAC;oBAEnF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC;oBACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,OAAO,CAAC;oBAE5C,IAAI,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAChD,oBAAA,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;AACtC,oBAAA,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;AAG7D,iBAAA;AAAM,qBAAA,IAAI,KAAK,CAAC,GAAG,IAAI,GAAG,EAAE;AAG5B,iBAAA;AAAM,qBAAA,IAAI,KAAK,CAAC,GAAG,IAAI,GAAG,EAAE;AAE3B,oBAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAExD,iBAAA;AAAM,qBAAA,IAAI,KAAK,CAAC,GAAG,IAAI,GAAG,EAAE;AAE5B,iBAAA;AAAM,qBAAA,IAAI,KAAK,CAAC,GAAG,IAAI,GAAG,EAAE;AAE5B,iBAAA;AACH,aAAC,CAAC;AAGF,YAAA,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC3C,SAAA;KAIF;IAEM,qBAAqB,GAAA;AAC1B,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;YACpB,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACvE,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACvE,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAEnE,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAE7D,OAAO;AACR,SAAA;QACD,QAAQ,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACzE,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACvE,QAAQ,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;KACtE;AACF;;MCz2CY,2BAA2B,CAAA;AAAxC,IAAA,WAAA,GAAA;AACS,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,OAAO,EAAQ,CAAC;KA6Z/C;AA3ZQ,IAAA,YAAY,CAAC,IAAmB,EAAE,OAAA,GAAuB,EAAE,EAAA;AAChE,QAAA,OAAO,mCACF,OAAO,CAAA,EAAA,EACV,uBAAuB,EAAE,IAAI,GAC9B,CAAC;QACF,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QAC5C,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;KACzC;AAEM,IAAA,IAAI,CAAC,IAAY,EAAE,OAAA,GAAuB,EAAE,EAAA;AACjD,QAAA,IAAI,CAAC,6BAA6B,CAAC,+BAA+B,EAAE;;AAElE,YAAA,OAAO,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAC;AACxF,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;AAAM,aAAA;YACL,MAAM,oBAAoB,GAAG,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAqB,CAAC;AAC7F,YAAA,IAAI,oBAAoB,EAAE;gBACxB,oBAAoB,CAAC,OAAO,GAAG,OAAO,CAAC,YAAY,IAAI,KAAK,CAAC;AAC9D,aAAA;YACD,MAAM,aAAa,GAAG,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAqB,CAAC;AAC/E,YAAA,IAAI,aAAa,EAAE;gBACjB,aAAa,CAAC,KAAK,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;AAC/C,aAAA;YACD,MAAM,uBAAuB,GAAG,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAqB,CAAC;AAC/F,YAAA,IAAI,uBAAuB,EAAE;gBAC3B,uBAAuB,CAAC,OAAO,GAAG,OAAO,CAAC,WAAW,IAAI,KAAK,CAAC;AAChE,aAAA;YAED,MAAM,iBAAiB,GAAG,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAqB,CAAC;AACvF,YAAA,IAAI,iBAAiB,EAAE;gBACrB,iBAAiB,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;AACxD,aAAA;YACD,MAAM,kBAAkB,GAAG,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAqB,CAAC;AACzF,YAAA,IAAI,kBAAkB,EAAE;gBACtB,kBAAkB,CAAC,OAAO,GAAG,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC;AAC1D,aAAA;YACD,MAAM,yBAAyB,GAAG,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAqB,CAAC;AACnG,YAAA,IAAI,yBAAyB,EAAE;gBAC7B,yBAAyB,CAAC,OAAO,GAAG,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC;AACpE,aAAA;AACD,YAAA,MAAM,mBAAmB,GAAG,OAAO,CAAC,uBAAuB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC;YAC5F,MAAM,+BAA+B,GAAG,QAAQ,CAAC,cAAc,CAAC,yBAAyB,CAAqB,CAAC;AAC/G,YAAA,IAAI,+BAA+B,EAAE;AACnC,gBAAA,+BAA+B,CAAC,OAAO,GAAG,mBAAmB,CAAC;AAC/D,aAAA;YACD,MAAM,2BAA2B,GAAG,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAqB,CAAC;AACvG,YAAA,IAAI,2BAA2B,EAAE;AAC/B,gBAAA,2BAA2B,CAAC,OAAO,GAAG,KAAK,CAAC;AAC7C,aAAA;YACD,MAAM,mBAAmB,GAAG,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAqB,CAAC;AACrF,YAAA,IAAI,mBAAmB,EAAE;gBACvB,mBAAmB,CAAC,OAAO,GAAG,OAAO,CAAC,WAAW,IAAI,KAAK,CAAC;AAC5D,aAAA;YACD,MAAM,UAAU,GAAG,mBAAmB,GAAG,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,GAAG,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;AAC9H,YAAA,IAAI,UAAU,EAAE;gBACd,IAAI,UAAU,YAAY,mBAAmB,EAAE;AAC7C,oBAAA,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC;;AAGxB,oBAAA,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACrC,oBAAA,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAsB,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAClF,oBAAA,QAAQ,CAAC,cAAc,CAAC,0BAA0B,CAAsB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACpG,oBAAA,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAsB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;;AAEjG,iBAAA;qBAAM,IAAI,UAAU,YAAY,gBAAgB,EAAE;AACjD,oBAAA,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC;;AAExB,oBAAA,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACrC,oBAAA,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAsB,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC3F,oBAAA,QAAQ,CAAC,cAAc,CAAC,0BAA0B,CAAsB,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACjG,oBAAA,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAsB,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;;AAE9F,iBAAA;gBACD,UAAU,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7C,gBAAA,OAAO,IAAI,CAAC;AACb,aAAA;AAAM,iBAAA;;AAEL,gBAAA,OAAO,CAAC,KAAK,CAAC,yEAAyE,CAAC,CAAC;AACzF,gBAAA,OAAO,KAAK,CAAC;AACd,aAAA;AACF,SAAA;KACF;IAEM,QAAQ,GAAA;AACb,QAAA,IAAI,CAAC,6BAA6B,CAAC,+BAA+B,EAAE;;AAElE,YAAA,OAAO,CAAC,KAAK,CAAC,4EAA4E,CAAC,CAAC;AAC5F,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;AAAM,aAAA;YACL,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;AACnD,YAAA,IAAI,MAAM,EAAE;gBACV,MAAM,CAAC,KAAK,EAAE,CAAC;AACf,gBAAA,OAAO,IAAI,CAAC;AACb,aAAA;AACD,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;KACF;IAEM,YAAY,GAAA;AACjB,QAAA,IAAI,CAAC,6BAA6B,CAAC,+BAA+B,EAAE;;AAElE,YAAA,OAAO,CAAC,KAAK,CAAC,gFAAgF,CAAC,CAAC;AAChG,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;AAAM,aAAA;YACL,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;AACvD,YAAA,IAAI,MAAM,EAAE;gBACV,MAAM,CAAC,KAAK,EAAE,CAAC;AACf,gBAAA,OAAO,IAAI,CAAC;AACb,aAAA;AACD,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;KACF;AAEM,IAAA,KAAK,CAAC,UAA0B,EAAA;AACrC,QAAA,MAAM,oBAAoB,GAA2B,MAAc,CAAC,oBAAoB,CAAC;QACzF,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC;QAClE,IAAI,CAAC,YAAY,EAAE;YACjB,IAAI,CAAC,UAAU,EAAE;gBACf,UAAU,GAAG,EAAmB,CAAC;AAClC,aAAA;AACD,YAAA,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;AAChC,SAAA;QACA,MAAc,CAAC,QAAQ,EAAE,CAAC;QAC3B,IAAI,CAAC,YAAY,EAAE;YACjB,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,YAAY,EAAE,MAAK;gBAClD,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAC1B,aAAC,CAAC,CAAC;AACJ,SAAA;KACF;IAEM,gBAAgB,GAAA;AACrB,QAAA,MAAM,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAC;AACxC,QAAA,MAAM,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAC;KACzC;AAEM,IAAA,aAAa,CAAC,UAAyB,EAAA;AAC5C,QAAA,MAAM,oBAAoB,GAA2B,MAAc,CAAC,oBAAoB,CAAC;AACzF,QAAA,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAY,KAAK,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,UAA2B,CAAC,CAAC;AAC1G,QAAA,MAAM,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;KACnG;IAEM,iBAAiB,CAAC,SAAiB,EAAE,KAAoB,EAAA;QAC9D,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,SAAS,EAAE,IAAI,EAAE,EAAE;YAC5C,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;AACvC,gBAAA,MAAM,EAAE,CAAC;AACV,aAAA;AACF,SAAA;AACD,QAAA,OAAO,MAAM,CAAC;KACf;IAEM,iBAAiB,CAAC,SAAiB,EAAE,UAAyB,EAAA;AACnE,QAAA,MAAM,IAAI,GAAG,SAAS,GAAG,CAAC,CAAC;QAC3B,IAAI,UAAU,CAAC,IAAI,EAAE;AACnB,YAAA,IAAI,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE;AAC1B,gBAAA,OAAO,KAAK,CAAC;AACd,aAAA;AACF,SAAA;QACD,IAAI,UAAU,CAAC,EAAE,EAAE;AACjB,YAAA,IAAI,IAAI,GAAG,UAAU,CAAC,EAAE,EAAE;AACxB,gBAAA,OAAO,KAAK,CAAC;AACd,aAAA;AACF,SAAA;QACD,IAAI,UAAU,CAAC,QAAQ,EAAE;AACvB,YAAA,IAAI,CAAC,GAAG,UAAU,CAAC,QAAyB,CAAC;AAC7C,YAAA,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,EAAE;AAC7B,gBAAA,OAAO,KAAK,CAAC;AACd,aAAA;AACF,SAAA;QACD,IAAI,UAAU,CAAC,QAAQ,EAAE;AACvB,YAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,EAAE;AAChD,gBAAA,OAAO,KAAK,CAAC;AACd,aAAA;AACF,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;AAEM,IAAA,aAAa,CAAC,UAAkB,EAAA;AACrC,QAAA,MAAM,oBAAoB,GAA2B,MAAc,CAAC,oBAAoB,CAAC;AACzF,QAAA,MAAM,WAAW,GAAG,oBAAoB,CAAC,WAAW,CAAC;QAErD,MAAM,WAAW,GAAiB,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAElE,QAAA,MAAM,mBAAmB,GAAG,CAAC,OAAO,KAClC,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,MAAM,KAAI;AACnC,YAAA,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;YAC9C,OAAO,CAAC,YAAY,CAAC,CAAC;AACxB,SAAC,CAAC,CAAC;AACL,QAAA,MAAM,mBAAmB,GAAG,CAAC,YAAY,KACvC,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,KAAI;YACtC,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;YACtD,OAAO,CAAC,IAAI,CAAC,CAAC;AAChB,SAAC,CAAC,CAAC;QACL,OAAO,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;KACxE;AAEO,IAAA,qBAAqB,CAAC,QAAa,EAAA;QACzC,IAAI,CAAC,QAAQ,EAAE;AACb,YAAA,OAAO,EAAE,CAAC;AACX,SAAA;QACD,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACxD;IAEM,cAAc,CAAC,UAAkB,EAAE,KAA2B,EAAE,UAAmB,EAAE,2BAAmC,SAAS,EAAA;AACtI,QAAA,MAAM,oBAAoB,GAA2B,MAAc,CAAC,oBAAoB,CAAC;AACzF,QAAA,MAAM,WAAW,GAAG,oBAAoB,CAAC,WAAW,CAAC;QACrD,MAAM,WAAW,GAAiB,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAClE,QAAA,MAAM,YAAY,GAAG,CAAC,OAAO,KAC3B,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,MAAM,KAAI;AACnC,YAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,wBAAwB,CAAC,CAAC,CAAC;AAC3E,SAAC,CAAC,CAAC;AAEL,QAAA,OAAO,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KACvC;IAEO,IAAI,CAAC,OAAY,EAAE,KAA2B,EAAE,UAAmB,EAAE,2BAAmC,SAAS,EAAA;QACvH,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,KAAK,CAAC,KAAK,EAAE;AACf,YAAA,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;AAC1B,SAAA;aAAM,IAAI,KAAK,CAAC,KAAK,EAAE;AACtB,YAAA,UAAU,GAAG,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;AACpE,SAAA;aAAM,IAAI,KAAK,CAAC,MAAM,EAAE;AACvB,YAAA,UAAU,GAAG,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;AACtE,SAAA;AACD,QAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC;AACnC,YAAA,KAAK,EAAE,UAAU;AAClB,SAAA,CAAC,CAAC;AACH,QAAA,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;AACjF,QAAA,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;AAEtC,QAAA,MAAM,aAAa,GAAG;AACpB,YAAA,aAAa,EAAE,GAAG;AAClB,YAAA,QAAQ,EAAE,YAAY;YACtB,UAAU;YACV,wBAAwB;SACzB,CAAC;QACF,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AAEjD,QAAA,MAAM,cAAc,GAAG,MACrB,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,KAAI;AACtC,YAAA,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;AAC9B,SAAC,CAAC,CAAC;QAEL,OAAO,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KAChD;IAEO,kBAAkB,CAAC,KAAa,EAAE,MAAc,EAAA;QACtD,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAsB,CAAC;AACrE,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,GAAG,EAAE;;AAER,YAAA,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;AACnD,SAAA;AAED,QAAA,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;AACrB,QAAA,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAEpC,QAAA,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;KACxB;IAEY,wBAAwB,GAAA;;AACnC,YAAA,MAAM,oBAAoB,GAA2B,MAAc,CAAC,oBAAoB,CAAC;AACzF,YAAA,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,WAAW,CAAC,YAAY,CAAC,oBAAoB,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;AACrH,YAAA,OAAO,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;SACtD,CAAA,CAAA;AAAA,KAAA;IAEY,WAAW,CAAC,iBAAiB,GAAG,IAAI,EAAA;;AAC/C,YAAA,MAAM,oBAAoB,GAA2B,MAAc,CAAC,oBAAoB,CAAC;AACzF,YAAA,MAAM,GAAG,2BAA2B,oBAAoB,CAAC,WAAW,CAAC;;AAErE,YAAA,MAAM,QAAQ,GAAG,EAAE,GAAG,EAAE,CAAC;YACzB,MAAM,MAAM,GAAkB,EAAE,CAAC;AACjC,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;;gBAEtC,MAAM,WAAW,wBAAwB,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC9D,gBAAA,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,cAAc,EAAE,CAAC;gBAEvD,WAAW;AACR,qBAAA,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC;qBACrC,GAAG,CAAC,CAAC,CAAC,MAAK,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,CAAC,CAAA,CAAG,CAAC;AACtB,qBAAA,OAAO,CAAC,CAAC,CAAC,KAAI;;;AAGb,oBAAA,MAAM,SAAS,GAAkB,WAAW,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;;AAGjH,oBAAA,IAAI,iBAAiB,IAAI,CAAC,CAAC,SAAS,EAAE;wBACpC,IAAI;4BACF,IAAI,CAAC,CAAC,WAAW,EAAE;gCACjB,MAAM,YAAY,GAAG,oBAAoB,CAAC,WAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAG,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gCAC9H,CAAC,CAAC,KAAK,GAAG,YAAY,KAAA,IAAA,IAAZ,YAAY,KAAZ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,YAAY,CAAE,KAAK,CAAC;AAC/B,6BAAA;iCAAM,IAAI,CAAC,CAAC,WAAW,EAAE;gCACxB,MAAM,YAAY,GAAG,oBAAoB,CAAC,WAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAG,GAAG,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;gCAC7H,CAAC,CAAC,KAAK,GAAG,YAAY,KAAA,IAAA,IAAZ,YAAY,KAAZ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,YAAY,CAAE,KAAK,CAAC;AAC/B,6BAAA;AAAM,iCAAA;gCACL,MAAM,YAAY,GAAG,oBAAoB,CAAC,WAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gCACxG,CAAC,CAAC,KAAK,GAAG,YAAY,KAAA,IAAA,IAAZ,YAAY,KAAZ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,YAAY,CAAE,KAAK,CAAC;AAC/B,6BAAA;AACF,yBAAA;AAAC,wBAAA,OAAO,SAAS,EAAE;;AAEnB,yBAAA;AACF,qBAAA;AACD,oBAAA,MAAM,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;AAChE,iBAAC,CAAC,CAAC;AACN,aAAA;AACD,YAAA,OAAO,MAAM,CAAC;SACf,CAAA,CAAA;AAAA,KAAA;AAED;;;;;AAKG;AACI,IAAA,oBAAoB,CAAC,SAAiB,EAAA;AAC3C,QAAA,MAAM,oBAAoB,GAA2B,MAAc,CAAC,oBAAoB,CAAC;QACzF,OAAO,oBAAoB,CAAC,SAAS,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;KACvE;IAEM,kBAAkB,GAAA;QACvB,MAAM,YAAY,GAAG,IAAI,CAAC;QAC1B,MAAM,WAAW,GAAG,KAAK,CAAC;AAC1B,QAAA,MAAM,oBAAoB,GAA2B,MAAc,CAAC,oBAAoB,CAAC;QACzF,MAAM,QAAQ,GAAG,oBAAoB,CAAC,SAAS,CAAC,cAAc,CAAC,kBAAkB,CAC/E,oBAAoB,CAAC,SAAS,CAAC,gBAAgB,EAAE,EACjD,oBAAoB,CAAC,SAAS,CAAC,MAAM,EACrC,YAAY,EACZ,WAAW,CACZ,CAAC;QACF,OAAO,CAAC,QAAQ,CAAC;KAClB;AAEM,IAAA,mBAAmB,CAAC,SAAiB,EAAA;AAC1C,QAAA,MAAM,oBAAoB,GAA2B,MAAc,CAAC,oBAAoB,CAAC;AACzF,QAAA,MAAM,KAAK,GAAG,oBAAoB,CAAC,SAAS,CAAC,MAAM,CAAC;QACpD,IAAI,KAAK,CAAC,MAAM,GAAG,SAAS,IAAI,SAAS,IAAI,CAAC,EAAE;AAC9C,YAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAClC,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;YAC7D,OAAO,CAAC,SAAS,CAAC;AACnB,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;KACd;IAEM,sBAAsB,GAAA;AAC3B,QAAA,MAAM,oBAAoB,GAA2B,MAAc,CAAC,oBAAoB,CAAC;AACzF,QAAA,MAAM,KAAK,GAAG,oBAAoB,CAAC,SAAS,CAAC,MAAM,CAAC;AACpD,QAAA,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;KAC/F;IAEM,aAAa,GAAA;AAClB,QAAA,MAAM,oBAAoB,GAA2B,MAAc,CAAC,oBAAoB,CAAC;AACzF,QAAA,MAAM,KAAK,GAAG,oBAAoB,CAAC,SAAS,CAAC,MAAM,CAAC;QACpD,OAAO,KAAK,CAAC,MAAM,CAAC;KACrB;IAEM,8BAA8B,GAAA;AACnC,QAAA,MAAM,GAAG,GAAI,MAAc,CAAC,oBAA6C,CAAC;QAC1E,MAAM,KAAK,GAAI,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAAU,CAAC,KAAmB,CAAC;AAC5E,QAAA,MAAM,WAAW,GAAG,KAAK,aAAL,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAL,KAAK,CAAE,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;AAClD,QAAA,OAAO,WAAW,CAAC;KACpB;IAEM,eAAe,GAAA;AACpB,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;KAC9B;IAEY,UAAU,GAAA;;AACrB,YAAA,MAAM,oBAAoB,GAA2B,MAAc,CAAC,oBAAoB,CAAC;YAEzF,MAAM,qBAAqB,GAAG,MAAM,oBAAoB,CAAC,SAAS,CAAC,4BAA4B,CAAC;AAChG,YAAA,IAAI,qBAAqB,EAAE;AACzB,gBAAA,MAAM,SAAS,GAAG,qBAAqB,CAAC,QAAQ,EAAE,CAAC;AACnD,gBAAA,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACvB,gBAAA,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,KAAK,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC;AAC5E,gBAAA,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,KAAI;oBAC9B,MAAM,MAAM,GAAG,qBAAqB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;oBACvD,OAAO;AACL,wBAAA,OAAO,EAAE,OAAO;wBAChB,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,OAAO,EAAE,MAAM,CAAC,OAAO;qBACZ,CAAC;AAChB,iBAAC,CAAC,CAAC;AACJ,aAAA;AACD,YAAA,OAAO,SAAS,CAAC;SAClB,CAAA,CAAA;AAAA,KAAA;AAEY,IAAA,WAAW,CAAC,OAAe,EAAA;;AACtC,YAAA,MAAM,oBAAoB,GAA2B,MAAc,CAAC,oBAAoB,CAAC;YACzF,MAAM,qBAAqB,GAAG,MAAM,oBAAoB,CAAC,SAAS,CAAC,4BAA4B,CAAC;AAChG,YAAA,IAAI,qBAAqB,EAAE;gBACzB,IAAI,SAAS,GAAG,qBAAqB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBACzD,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAa,UAAA,EAAA,OAAO,CAAI,EAAA,CAAA,CAAC,CAAC;AAClE,gBAAA,IAAI,QAAQ,EAAE;AACZ,oBAAA,SAAS,GAAI,QAA6B,CAAC,OAAO,CAAC;AAClD,oBAAA,QAA6B,CAAC,OAAO,GAAG,CAAC,SAAS,CAAC;AACrD,iBAAA;gBACD,qBAAqB,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;AACzD,gBAAA,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,CAAC,uBAAuB,EAAE;AAC9D,oBAAA,MAAM,EAAE,IAAI;AACZ,oBAAA,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC;AAChD,iBAAA,CAAC,CAAC;AACJ,aAAA;SACF,CAAA,CAAA;AAAA,KAAA;IAEM,kBAAkB,CAAC,UAAkB,EAAE,QAA4D,EAAA;AACxG,QAAA,MAAM,oBAAoB,GAA2B,MAAc,CAAC,oBAAoB,CAAC;AACzF,QAAA,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAgB,CAAC;AACrD,QAAA,MAAM,CAAC,qBAAqB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;KACpD;AACF;;MC5WY,6BAA6B,CAAA;AAqoBxC,IAAA,WAAA,CACU,MAAc,EACO,UAAU,EAC/B,mBAA2C,EAC3C,QAAkB,EAClB,UAAsB,EACtB,gBAAkC,EAClC,GAAsB,EACtB,OAAoC,EAAA;AAPpC,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;AACO,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAA;AAC/B,QAAA,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAwB;AAC3C,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;AAClB,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AACtB,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;AAClC,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;AACtB,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAA6B;AA3oBvC,QAAA,IAA2C,CAAA,2CAAA,GAAG,IAAI,CAAC;AA6CnD,QAAA,IAAmB,CAAA,mBAAA,GAAG,IAAI,CAAC;AAG3B,QAAA,IAAiB,CAAA,iBAAA,GAAG,IAAI,CAAC;AAGzB,QAAA,IAAQ,CAAA,QAAA,GAAiB,EAAE,CAAC;;AAG3B,QAAA,IAAiB,CAAA,iBAAA,GAAG,EAAE,CAAC;AACvB,QAAA,IAAwB,CAAA,wBAAA,GAAG,EAAE,CAAC;AAG/B,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAgB,CAAC;AAElD,QAAA,IAAa,CAAA,aAAA,GAAqB,UAAU,CAAC;AA4B7C,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAoB,CAAC;AAahD,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAU,CAAC;AAGvC,QAAA,IAAU,CAAA,UAAA,GAA+B,SAAS,CAAC;AAGnD,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,YAAY,EAAkB,CAAC;AAGtD,QAAA,IAAa,CAAA,aAAA,GAAuB,SAAS,CAAC;AAG9C,QAAA,IAAW,CAAA,WAAA,GAAuB,SAAS,CAAC;AAG5C,QAAA,IAAkB,CAAA,kBAAA,GAAG,IAAI,CAAC;AAG1B,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAQ,CAAC;AAGtC,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAQ,CAAC;AAGvC,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,YAAY,EAAU,CAAC;AAM/C,QAAA,IAAW,CAAA,WAAA,GAAG,IAAI,CAAC;AAE1B;;;;;AAKG;AAEI,QAAA,IAAc,CAAA,cAAA,GAAG,CAAC,CAAC;AAK1B;AAC0G;AAEnG,QAAA,IAAA,CAAA,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC;AAGnC,QAAA,IAAmB,CAAA,mBAAA,GAAG,KAAK,CAAC;AAG5B,QAAA,IAAoB,CAAA,oBAAA,GAAY,KAAK,CAAC;AAEtC,QAAA,IAAqB,CAAA,qBAAA,GAAW,EAAE,CAAC;;AAInC,QAAA,IAAmB,CAAA,mBAAA,GAAG,IAAI,CAAC;AAE3B,QAAA,IAAkB,CAAA,kBAAA,GAAG,IAAI,CAAC;AAEjC;AAC6G;AAEtG,QAAA,IAAe,CAAA,eAAA,GAAG,IAAI,CAAC;AAMvB,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAsB,CAAC;AAyD/D;;;AAGG;AACK,QAAA,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;AAGpB,QAAA,IAAS,CAAA,SAAA,GAAuB,SAAS,CAAC;AAEzC,QAAA,IAAO,CAAA,OAAA,GAAG,MAAM,CAAC;AAoBzB;;;;AAIG;AAEI,QAAA,IAAgB,CAAA,gBAAA,GAAG,KAAK,CAAC;AAGzB,QAAA,IAAmB,CAAA,mBAAA,GAAG,KAAK,CAAC;AAG5B,QAAA,IAAe,CAAA,eAAA,GAAG,SAAS,CAAC;AAG5B,QAAA,IAAa,CAAA,aAAA,GAAkB,SAAS,CAAC;AAGzC,QAAA,IAA2B,CAAA,2BAAA,GAAmF,SAAS,CAAC;;AAIxH,QAAA,IAAmB,CAAA,mBAAA,GAAuB,SAAS,CAAC;;AAIpD,QAAA,IAAc,CAAA,cAAA,GAAG,KAAK,CAAC;;AAIvB,QAAA,IAAU,CAAA,UAAA,GAAkB,EAAE,CAAC;;AAI/B,QAAA,IAAU,CAAA,UAAA,GAAkB,EAAE,CAAC;;QAI/B,IAAkB,CAAA,kBAAA,GAAG,IAAI,GAAG,iBAAiB,CAAC,YAAY,GAAG,UAAU,CAAC;;QAIxE,IAAgB,CAAA,gBAAA,GAAG,IAAI,GAAG,iBAAiB,CAAC,YAAY,GAAG,SAAS,CAAC;AAE5E;AACG;AAEI,QAAA,IAAQ,CAAA,QAAA,GAAuB,SAAS,CAAC;;AAIzC,QAAA,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;;AAIpB,QAAA,IAAS,CAAA,SAAA,GAAuB,SAAS,CAAC;;AAI1C,QAAA,IAAQ,CAAA,QAAA,GAAuB,SAAS,CAAC;AAEzC,QAAA,IAAkB,CAAA,kBAAA,GAAG,IAAI,CAAC;AAE1B,QAAA,IAAiB,CAAA,iBAAA,GAAG,MAAM,CAAC;AAElC;;AAEG;AAEI,QAAA,IAAwB,CAAA,wBAAA,GAAG,KAAK,CAAC;AAyBjC,QAAA,IAAc,CAAA,cAAA,GAAwB,SAAS,CAAC;AAGhD,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,YAAY,EAAW,CAAC;AAGnD,QAAA,IAAc,CAAA,cAAA,GAAwB,SAAS,CAAC;AAGhD,QAAA,IAAoB,CAAA,oBAAA,GAAG,IAAI,CAAC;AAG5B,QAAA,IAAiB,CAAA,iBAAA,GAAG,IAAI,CAAC;AAGzB,QAAA,IAAuB,CAAA,uBAAA,GAAG,IAAI,CAAC;AAG/B,QAAA,IAAiB,CAAA,iBAAA,GAAG,IAAI,CAAC;AAGzB,QAAA,IAAkB,CAAA,kBAAA,GAAG,IAAI,CAAC;AAG1B,QAAA,IAAoB,CAAA,oBAAA,GAAG,IAAI,CAAC;AAG5B,QAAA,IAAqB,CAAA,qBAAA,GAAG,IAAI,CAAC;AAG7B,QAAA,IAAmB,CAAA,mBAAA,GAAG,IAAI,CAAC;AAG3B,QAAA,IAAoB,CAAA,oBAAA,GAAG,IAAI,CAAC;AAG5B,QAAA,IAAgB,CAAA,gBAAA,GAAG,IAAI,CAAC;AAGxB,QAAA,IAAiB,CAAA,iBAAA,GAAG,IAAI,CAAC;AAEzB,QAAA,IAAe,CAAA,eAAA,GAAG,IAAI,CAAC;AAEvB,QAAA,IAA0B,CAAA,0BAAA,GAAG,KAAK,CAAC;AAEnC,QAAA,IAAkB,CAAA,kBAAA,GAAG,IAAI,CAAC;AAE1B,QAAA,IAAe,CAAA,eAAA,GAAG,IAAI,CAAC;AAEvB,QAAA,IAAkB,CAAA,kBAAA,GAAG,IAAI,CAAC;AAE1B,QAAA,IAAkB,CAAA,kBAAA,GAAG,IAAI,CAAC;AAG1B,QAAA,IAAK,CAAA,KAAA,GAAyC,OAAO,CAAC;AAGtD,QAAA,IAAS,CAAA,SAAA,GAAyC,OAAO,CAAC;AAG1D,QAAA,IAAW,CAAA,WAAA,GAAG,IAAI,CAAC;AAGnB,QAAA,IAA0B,CAAA,0BAAA,GAAG,IAAI,CAAC;;AAGlC,QAAA,IAAgC,CAAA,gCAAA,GAAG,KAAK,CAAC;AAGzC,QAAA,IAAgB,CAAA,gBAAA,GAAG,IAAI,CAAC;AAExB,QAAA,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAC;AAEhB,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAW,CAAC;AAG7C,QAAA,IAAkB,CAAA,kBAAA,GAAG,KAAK,CAAC;AAE1B,QAAA,IAAoB,CAAA,oBAAA,GAAG,IAAI,CAAC;AAc5B,QAAA,IAAiB,CAAA,iBAAA,GAAG,IAAI,CAAC;AAe1B,QAAA,IAAoB,CAAA,oBAAA,GAAG,IAAI,CAAC;AAE5B,QAAA,IAAW,CAAA,WAAA,GAAG,IAAI,CAAC;AAMnB,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAA0B,CAAC;AAG1D,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAA0B,CAAC;AAE3D,QAAA,IAAK,CAAA,KAAA,GAAuB,SAAS,CAAC;AAiBvC,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAsB,CAAC;AAGpD,QAAA,IAAS,CAAA,SAAA,GAAuB,SAAS,CAAC;AAG1C,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAsB,CAAC;AAGzD,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAoB,CAAC;AAGnD,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAmB,CAAC;AAGjD,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAqB,CAAC;AAGrD,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAsB,CAAC;AAGvD,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAkB,CAAC;AAG/C,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,YAAY,EAAyB,CAAC;AAG7D,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,YAAY,EAAS,CAAC;AAG7C,QAAA,IAAS,CAAA,SAAA,GAAwB,SAAS,CAAC;AAG3C,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,YAAY,EAA0B,CAAC;AAG/D,QAAA,IAAA,CAAA,sBAAsB,GAAG,IAAI,YAAY,EAA0B,CAAC;AAGpE,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAa,CAAC;;AAIhD,QAAA,IAAI,CAAA,IAAA,GAAgC,SAAS,CAAC;AAG9C,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAA+B,CAAC;QAG7D,IAAU,CAAA,UAAA,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAG3F,QAAA,IAAO,CAAA,OAAA,GAAG,EAAE,CAAC;AAGb,QAAA,IAAO,CAAA,OAAA,GAAG,GAAG,CAAC;AAErB;;AAEG;AACM,QAAA,IAAmB,CAAA,mBAAA,GAAW,MAAM,CAAC;AAEvC,QAAA,IAAuB,CAAA,uBAAA,GAAG,CAAC,CAAC;AAG5B,QAAA,IAAW,CAAA,WAAA,GAAsB,QAAQ,CAAC;AAE1C,QAAA,IAAgB,CAAA,gBAAA,GAAG,KAAK,CAAC;AAEzB,QAAA,IAAY,CAAA,YAAA,GAAG,MAAM,CAAC;AAErB,QAAA,IAAO,CAAA,OAAA,GAA4B,SAAS,CAAC;AAK9C,QAAA,IAAoB,CAAA,oBAAA,GAAG,GAAG,CAAC;AAE3B,QAAA,IAAmB,CAAA,mBAAA,GAAuB,SAAS,CAAC;AAEpD,QAAA,IAAkB,CAAA,kBAAA,GAAuB,SAAS,CAAC;;AAGnD,QAAA,IAAU,CAAA,UAAA,GAAuB,SAAS,CAAC;;AAG3C,QAAA,IAAW,CAAA,WAAA,GAAuB,SAAS,CAAC;;AAG5C,QAAA,IAAY,CAAA,YAAA,GAAQ,EAAE,CAAC;AAoCtB,QAAA,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;QAsC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;AAC3D,QAAA,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;KAChE;AA/kBD,IAAA,IAAW,YAAY,GAAA;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC;KAC3B;IAED,IACW,YAAY,CAAC,QAA0B,EAAA;AAChD,QAAA,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;QAC9B,IAAI,QAAQ,KAAK,iBAAiB,EAAE;AAClC,YAAA,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC,QAAQ,CAAC;AAC1C,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACrB,SAAA;aAAM,IAAI,QAAQ,KAAK,UAAU,EAAE;AAClC,YAAA,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC,QAAQ,CAAC;AAC3C,SAAA;QACD,IAAI,QAAQ,KAAK,QAAQ,EAAE;;AAEzB,YAAA,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC;AACtC,YAAA,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC;AACjC,SAAA;QACD,IAAI,QAAQ,KAAK,MAAM,EAAE;AACvB,YAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;AAC1B,SAAA;KACF;IA4FD,IACW,GAAG,CAAC,GAAoE,EAAA;QACjF,IAAI,GAAG,YAAY,UAAU,EAAE;AAC7B,YAAA,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC;AACxB,SAAA;aAAM,IAAI,GAAG,YAAY,GAAG,EAAE;AAC7B,YAAA,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;AAC5B,SAAA;aAAM,IAAI,OAAO,IAAI,KAAK,WAAW,IAAI,GAAG,YAAY,IAAI,EAAE;;AAE7D,YAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;AAChC,YAAA,MAAM,CAAC,SAAS,GAAG,MAAK;gBACtB,UAAU,CAAC,MAAK;oBACd,IAAI,CAAC,GAAG,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAqB,CAAC,CAAC;oBACxD,IAAI,6BAA6B,CAAC,+BAA+B,EAAE;wBACjE,IAAI,IAAI,CAAC,2CAA2C,EAAE;4BACpD,IAAI,CAAC,OAAO,EAAE,CAAC;AAChB,yBAAA;AAAM,6BAAA;AACL,4BAAA,CAAC,MAAY,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA,EAAA,OAAA,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAA,EAAA,CAAA,GAAG,CAAC;AACvC,yBAAA;;AAEF,qBAAA;AACH,iBAAC,CAAC,CAAC;AACL,aAAC,CAAC;AACF,YAAA,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;AAC/B,SAAA;AAAM,aAAA,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AAClC,YAAA,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;AAChB,YAAA,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE;;AAEpB,gBAAA,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE;AACxB,oBAAA,IAAI,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AACtC,wBAAA,OAAO,CAAC,KAAK,CAAC,0GAA0G,CAAC,CAAC;AAC3H,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;AAAM,aAAA;AACJ,YAAA,IAAI,CAAC,IAAY,GAAG,GAAG,CAAC;AAC1B,SAAA;KACF;IAED,IACW,SAAS,CAAC,MAAiC,EAAA;AACpD,QAAA,IAAI,MAAM,EAAE;YACV,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC1C,YAAA,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC;AACjC,YAAA,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;YAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;gBAC5B,KAAK,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACxC,aAAA;AACD,YAAA,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;AACzB,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;AACvB,SAAA;KACF;IAaD,IACW,MAAM,CAAC,CAAS,EAAA;AACzB,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;AAC3B,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AACxB,QAAA,IAAI,CAAC,EAAE;AACL,YAAA,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;AAClB,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AACtB,SAAA;QACD,UAAU,CAAC,MAAK;YACd,IAAI,CAAC,WAAW,EAAE,CAAC;AACrB,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,IAAW,MAAM,GAAA;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;KACrB;AA4ED,IAAA,IAAW,iBAAiB,GAAA;QAC1B,OAAO,IAAI,CAAC,kBAAkB,CAAC;KAChC;IACD,IACW,iBAAiB,CAAC,IAAa,EAAA;AACxC,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;AAC/B,QAAA,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,MAAM,GAAG,CAAC,CAAC;AACf,QAAA,IAAI,IAAI,EAAE;YACR,MAAM,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,mBAAmB,IAAI,KAAK,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC;AAC7E,SAAA;QAED,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC3B,YAAA,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;AACpD,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;AAC1B,SAAA;KACF;AAmFD,IAAA,IAAW,mBAAmB,GAAA;AAC5B,QAAA,IAAI,IAAI,CAAC,YAAY,KAAK,UAAU,EAAE;YACpC,OAAO,IAAI,CAAC,oBAAoB,CAAC;AAClC,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;KACd;IAED,IACW,mBAAmB,CAAC,GAAQ,EAAA;AACrC,QAAA,IAAI,CAAC,oBAAoB,GAAG,GAAG,CAAC;KACjC;AAID,IAAA,IAAW,gBAAgB,GAAA;AACzB,QAAA,IAAI,IAAI,CAAC,YAAY,KAAK,iBAAiB,EAAE;YAC3C,OAAO,IAAI,CAAC,iBAAiB,CAAC;AAC/B,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;KACd;IAED,IACW,gBAAgB,CAAC,GAAQ,EAAA;AAClC,QAAA,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;KAC9B;AAkBD,IAAA,IAAW,IAAI,GAAA;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;KACnB;IAED,IACW,IAAI,CAAC,CAAqB,EAAA;AACnC,QAAA,IAAI,CAAC,EAAE;;AAEL,YAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AACxB,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;AACxB,SAAA;KACF;AA2EM,IAAA,eAAe,CAAC,cAA2B,EAAA;AAChD,QAAA,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC;KAC/B;AAiBD,IAAA,IAAW,kBAAkB,GAAA;QAC3B,OAAO,IAAI,CAAC,mBAAmB,CAAC;KACjC;AAED,IAAA,IAAW,YAAY,GAAA;AACrB,QAAA,OAAO,gBAAgB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;KACzD;AAED;;;AAGG;IACH,IACW,kBAAkB,CAAC,IAAY,EAAA;;QAExC,IAAI,IAAI,IAAI,MAAM,EAAE;YAClB,IAAI,GAAG,MAAM,CAAC;;AAEf,SAAA;aAAM,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,EAAE;YACjE,IAAI,GAAG,MAAM,CAAC;AACf,SAAA;AACD,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC/B,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;AACjC,SAAA;AACD,QAAA,MAAM,GAAG,MAAM,CAAC,CAAC,IAAI,IAAI,KAAK,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC;AACxD,QAAA,IAAI,CAAC,uBAAuB,GAAG,MAAM,CAAC;AACtC,QAAA,IAAI,CAAC,YAAY,GAAG,CAAC,GAAG,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC;AACpD,QAAA,IAAI,CAAC,gBAAgB,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC;QAEjD,UAAU,CAAC,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;KAChD;IAIM,qBAAqB,GAAA;AAC1B,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;YAC9B,OAAO;AACR,SAAA;QACD,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC;AACtD,QAAA,IAAI,CAAC,iBAAiB,GAAG,GAAG,GAAG,IAAI,CAAC;AAEpC,QAAA,MAAM,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC;AAExB,QAAA,IAAI,CAAC,kBAAkB,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,MAAM,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;AACrE,QAAA,IAAI,CAAC,mBAAmB,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,MAAM,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;AACtE,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,MAAM,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAE7D,MAAM,UAAU,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;AACvD,QAAA,IAAI,UAAU,EAAE;YACd,MAAM,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC;AACxE,YAAA,MAAM,kBAAkB,GAAG,UAAU,CAAC,qBAAqB,EAAE,CAAC;AAC9D,YAAA,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,GAAG,qBAAqB,CAAC;AAC7D,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,IAAI,CAAC;AAChC,SAAA;aAAM,IAAI,IAAI,CAAC,iBAAiB,EAAE;AACjC,YAAA,IAAI,CAAC,WAAW,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;AACzD,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;AAC1B,SAAA;KACF;IAgBO,qBAAqB,GAAA;QAC3B,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;AACnE,QAAA,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;YACzC,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC;AACpC,SAAA;AAED,QAAA,OAAO,KAAK,CAAC;KACd;IAEa,QAAQ,GAAA;;AACpB,YAAA,MAAM,IAAI,GAAG,CAAC,CAAO,MAAO,CAAC,oBAAoB,IAAI,CAAC,CAAO,QAAS,CAAC,YAAY,CAAC;YACpF,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;AACtD,YAAA,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;AACpD,YAAA,IAAI,QAAQ,GAAG,OAAO,cAAc,KAAK,WAAW,IAAI,OAAO,OAAO,CAAC,YAAY,CAAC,KAAK,WAAW,CAAC;YACrG,IAAI,QAAQ,IAAI,IAAI,IAAI,MAAM,IAAI,cAAc,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC5E,gBAAA,OAAO,IAAI,CAAC;AACb,aAAA;YACD,OAAO,EAAE,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC;SACjD,CAAA,CAAA;AAAA,KAAA;IAEO,wBAAwB,GAAA;AAC9B,QAAA,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAI;AAC7B,YAAA,MAAM,OAAO,GAAS,MAAO,CAAC,wBAAwB,CAAC;AACvD,YAAA,OAAO,KAAK,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC;AACxF,SAAC,CAAC,CAAC;KACJ;IAEO,0BAA0B,GAAA;AAChC,QAAA,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAI;AAC7B,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,YAAY,GAAG,yBAAyB,CAAC,CAAC;AACpG,YAAA,MAAM,CAAC,MAAM,GAAG,MAAK;gBACnB,MAAM,CAAC,MAAM,EAAE,CAAC;AAChB,gBAAA,OAAO,CAAO,MAAO,CAAC,wBAAmC,CAAC,CAAC;AAC7D,aAAC,CAAC;AACF,YAAA,MAAM,CAAC,OAAO,GAAG,MAAK;gBACpB,MAAM,CAAC,MAAM,EAAE,CAAC;AACV,gBAAA,MAAO,CAAC,wBAAwB,GAAG,KAAK,CAAC;gBAC/C,OAAO,CAAC,KAAK,CAAC,CAAC;AACjB,aAAC,CAAC;AAEF,YAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AACpC,SAAC,CAAC,CAAC;KACJ;AAEO,IAAA,mBAAmB,CAAC,UAAkB,EAAA;QAC5C,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AAChD,QAAA,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;AACpB,QAAA,MAAM,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAChC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;AAEjD,QAAA,OAAO,MAAM,CAAC;KACf;IAEO,YAAY,CAAC,QAA0B,EAAE,QAAiB,EAAA;AAChE,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,GAAG,SAAS,GAAG,KAAK,CAAC;AAC5D,QAAA,MAAM,MAAM,GAAG,iBAAiB,CAAC,YAAY,CAAC;AAC9C,QAAA,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAC/C,QAAA,MAAM,YAAY,GAAG,CAAI,CAAA,EAAA,QAAQ,GAAG,CAAC;QACrC,MAAM,GAAG,GAAG,QAAQ,GAAG,MAAM,GAAG,EAAE,CAAC;QAEnC,OAAO,MAAM,GAAG,YAAY,GAAG,aAAa,GAAG,GAAG,GAAG,MAAM,CAAC;KAC7D;IAEO,UAAU,GAAA;AAChB,QAAA,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAChC,QAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAK;AACjC,YAAA,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE;gBACnC,UAAU,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;AACzC,aAAA;AAAM,iBAAA;gBACL,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAI;oBAChC,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBACzD,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;;AAEpD,oBAAA,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAC/D,iBAAC,CAAC,CAAC;AACJ,aAAA;AACH,SAAC,CAAC,CAAC;KACJ;IAEO,WAAW,GAAA;AACjB,QAAA,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAI;AAC7B,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,YAAY,GAAG,yBAAyB,CAAC,CAAC;AACpG,YAAA,MAAM,CAAC,MAAM,GAAG,MAAK;gBACnB,MAAM,CAAC,MAAM,EAAE,CAAC;AAClB,aAAC,CAAC;AACF,YAAA,MAAM,CAAC,OAAO,GAAG,MAAK;gBACpB,MAAM,CAAC,MAAM,EAAE,CAAC;AAChB,gBAAA,OAAO,EAAE,CAAC;AACZ,aAAC,CAAC;AAEF,YAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AACpC,SAAC,CAAC,CAAC;KACJ;IAED,QAAQ,GAAA;AACN,QAAA,MAAM,CAAC,+BAA+B,CAAC,GAAG,CAAC,GAAW,KAAI;AACxD,YAAA,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;AAChB,YAAA,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACjB,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B,SAAC,CAAC;AAEF,QAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACtC,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,gBAAgB,GAAG,oBAAoB,CAAC;AACzD,YAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAC;AACvD,YAAA,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC;AACtB,YAAA,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;AAC/B,YAAA,MAAM,MAAM,GAAgB,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;AAC1D,YAAA,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACxB,YAAA,MAAc,CAAC,YAAY,GAAG,CAAC,GAAW,KAAK,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;AACtE,YAAA,MAAc,CAAC,YAAY,GAAG,CAAC,GAAW,EAAE,KAAa,KAAK,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AAC5F,YAAA,MAAc,CAAC,2BAA2B,GAAG,CAAC,iBAAiB,KAAK,IAAI,CAAC,2BAA2B,CAAC,iBAAiB,CAAC,CAAC;YACxH,MAAc,CAAC,wBAAwB,GAAG,CAAC,GAAW,EAAE,SAAiB,EAAE,gBAAyB,KACnG,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAElE,IAAI,CAAC,SAAS,EAAE,CAAC;AAClB,SAAA;KACF;IAEO,SAAS,GAAA;AACf,QAAA,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAChC,QAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAK;AACjC,YAAA,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE;gBACnC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAI;AAChC,oBAAA,IAAI,QAAQ,EAAE;AACZ,wBAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE;AAC/B,4BAAA,OAAO,CAAC,GAAG,CACT,qRAAqR,CACtR,CAAC;AACH,yBAAA;AACD,wBAAA,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC;AAClC,wBAAA,OAAO,CAAC,GAAG,CAAC,iGAAiG,CAAC,CAAC;AAChH,qBAAA;AACD,oBAAA,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;oBAChC,IAAI,IAAI,CAAC,mBAAmB,EAAE;wBAC5B,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;AACtD,4BAAA,MAAM,GAAG,GAAG,iBAAiB,CAAC,SAAS,EAAE,CAAC;AAC1C,4BAAA,iBAAiB,CAAC,SAAS,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;AACnE,yBAAA;AACF,qBAAA;oBACD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;oBACrD,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;AACnD,oBAAA,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAC/D,iBAAC,CAAC,CAAC;AACJ,aAAA;AACD,YAAA,IAAI,CAAE,MAAc,CAAC,aAAa,EAAE;gBAClC,IAAI,CAAC,UAAU,EAAE,CAAC;AACnB,aAAA;AACH,SAAC,CAAC,CAAC;KACJ;IAED,eAAe,GAAA;AACb,QAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;AACjC,YAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;;gBAEtB,IAAK,MAAc,CAAC,aAAa,EAAE;AACjC,oBAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;AAC7D,iBAAA;AAAM,qBAAA;oBACL,UAAU,CAAC,MAAM,IAAI,CAAC,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC;AAC9C,iBAAA;AACF,aAAA;AACF,SAAA;KACF;IAEO,gBAAgB,GAAA;QACtB,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAgB,CAAC;AACjE,YAAA,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC7B,YAAA,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;AAChC,YAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AAC7B,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AAC9E,YAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;gBACpC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE;AAClB,oBAAA,OAAO,CAAC,CAAC;AACV,iBAAA;gBACD,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE;oBAClB,OAAO,CAAC,CAAC,CAAC;AACX,iBAAA;AACD,gBAAA,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACnB,aAAC,CAAC,CAAC;AACH,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACtC,gBAAA,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;AACrD,aAAA;AACF,SAAA;KACF;AAEO,IAAA,uBAAuB,CAAC,IAAa,EAAA;AAC3C,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAChC,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACnC,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;AACvC,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;AACtC,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;AACzC,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAC1C,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;AACzC,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;AACxC,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;AACxC,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;AACvC,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAC1C,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAC3C,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAC1C,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAEzC,QAAA,IAAI,IAAI,YAAY,iBAAiB,IAAI,IAAI,YAAY,iBAAiB,IAAI,IAAI,YAAY,gBAAgB,IAAI,IAAI,YAAY,iBAAiB,EAAE;YACnJ,OAAO;AACR,SAAA;AAAM,aAAA,IAAI,IAAI,CAAC,iBAAiB,GAAG,CAAC,EAAE;AACrC,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,EAAE,EAAE;gBAC/C,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAChC,gBAAA,IAAI,CAAC,EAAE;AACL,oBAAA,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;AACjC,iBAAA;AACF,aAAA;AACF,SAAA;KACF;AAEO,IAAA,uBAAuB,CAAC,IAAa,EAAE,QAAiB,EAAE,QAAmC,EAAA;AACnG,QAAA,IAAI,IAAI,YAAY,iBAAiB,IAAI,IAAI,YAAY,iBAAiB,IAAI,IAAI,YAAY,gBAAgB,IAAI,IAAI,YAAY,iBAAiB,EAAE;AACnJ,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;AAC1C,YAAA,MAAM,aAAa,GAAG;AACpB,gBAAA,OAAO,EAAE,QAAQ;gBACjB,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;gBACxB,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;aACF,CAAC;AACxB,YAAA,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAC9B,SAAA;AAAM,aAAA,IAAI,IAAI,CAAC,iBAAiB,GAAG,CAAC,EAAE;AACrC,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,EAAE,EAAE;gBAC/C,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChC,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACV,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;AACzD,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA,OAAO,QAAQ,CAAC;KACjB;IAEO,eAAe,GAAA;AACrB,QAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YACjC,OAAO;AACR,SAAA;QACD,MAAM,SAAS,GAAG,QAAQ,CAAC,gBAAgB,CAAC,+BAA+B,CAAC,CAAC;AAC7E,QAAA,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC;QAEnC,IAAI,SAAS,KAAK,CAAC,EAAE;YACnB,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC;YACvE,IAAI,CAAC,IAAI,EAAE;AACT,gBAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;AAC1B,oBAAA,OAAO,CAAC,KAAK;;AAEX,oBAAA,2HAA2H,CAC5H,CAAC;AACF,oBAAA,OAAO,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;AAC/E,iBAAA;AACF,aAAA;iBAAM,IAAI,IAAI,CAAC,gBAAgB,EAAE;AAChC,gBAAA,OAAO,CAAC,KAAK;;AAEX,gBAAA,wHAAwH,CACzH,CAAC;AACH,aAAA;AACF,SAAA;aAAM,IAAI,IAAI,CAAC,gBAAgB,EAAE;YAChC,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC5C,YAAA,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,yBAAyB,EAAE;AAC9C,gBAAA,OAAO,CAAC,KAAK;;AAEX,gBAAA,wHAAwH,CACzH,CAAC;AACH,aAAA;AACF,SAAA;QACD,MAAM,QAAQ,GAAG,MAAK;AACpB,YAAA,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AACpD,YAAA,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,MAAK;AACjC,gBAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;;oBAEtB,IAAI,CAAC,qBAAqB,EAAE,CAAC;oBAC7B,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACxB,IAAI,CAAC,OAAO,EAAE,CAAC;oBACf,IAAI,CAAC,gBAAgB,EAAE,CAAC;AACzB,iBAAA;AACH,aAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;AAC1B,SAAC,CAAC;AAEF,QAAA,MAAM,CAAC,gBAAgB,CAAC,YAAY,EAAE,MAAK;AACzC,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;AACzB,SAAC,CAAC,CAAC;AAEH,QAAA,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,MAAK;AAC1C,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;AAC1B,SAAC,CAAC,CAAC;AAEH,QAAA,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAEjD,IAAI,6BAA6B,CAAC,+BAA+B,EAAE;;AAEjE,YAAA,OAAO,CAAC,KAAK,CAAC,iGAAiG,CAAC,CAAC;AAClH,SAAA;QACD,MAAM,QAAQ,GAAG,MAAK;YACpB,IAAI,CAAC,uBAAuB,EAAE,CAAC;AAC/B,YAAA,QAAQ,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;YAC1D,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC5B,IAAI,CAAC,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACnE,aAAA;YACD,IAAI,IAAI,CAAC,oBAAoB,EAAE;AAC7B,gBAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;AACvG,aAAA;AACH,SAAC,CAAC;AACF,QAAA,QAAQ,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;AAEvD,QAAA,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC;QAExC,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;;;gBAGtB,IAAI,CAAC,QAAQ,EAAE,CAAC;AAChB,gBAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC;gBAC3C,MAAM,iBAAiB,GAAG,IAAI,CAAC,gCAAgC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC;AAEpG,gBAAA,IAAI,iBAAiB,EAAE;AACrB,oBAAA,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE;AAChC,wBAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;AACjC,qBAAA;AACF,iBAAA;AACD,gBAAA,IAAI,CAAC,eAAe,CAAC,yBAAyB,EAAE,CAAC;AACjD,gBAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAY,MAAO,CAAC,aAAa,EAAE,CAAC,CAAC;AAEnE,gBAAA,MAAM,oBAAoB,GAA2B,MAAc,CAAC,oBAAoB,CAAC;gBACzF,oBAAoB,CAAC,SAAS,CAAC,UAAU,GAAG,EAAE,CAAC;gBAC/C,IAAI,IAAI,CAAC,mBAAmB,EAAE;oBAC5B,oBAAoB,CAAC,SAAS,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;AAC/E,iBAAA;AACD,gBAAA,MAAM,2BAA2B,GAAkC,MAAc,CAAC,2BAA2B,CAAC;gBAE9G,2BAA2B,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAC7E,gBAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,KAAK,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAChE,IAAI,CAAC,QAAQ,EAAE;AACb,oBAAA,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;AAC/B,iBAAA;AACD,gBAAA,2BAA2B,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBACpD,2BAA2B,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAC/E,2BAA2B,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzD,2BAA2B,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzD,2BAA2B,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;gBACnE,2BAA2B,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC5D,2BAA2B,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1D,2BAA2B,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC1E,2BAA2B,CAAC,GAAG,CAAC,6BAA6B,EAAE,IAAI,CAAC,2BAA2B,CAAC,CAAC;AAEjG,gBAAA,oBAAoB,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAC7C,IAAI,oBAAoB,CAAC,oBAAoB,EAAE;oBAC7C,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,oBAAoB,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;AACrF,iBAAA;gBAED,MAAM,EAAE,GAAG,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;AACrD,gBAAA,IAAI,EAAE,EAAE;AACN,oBAAA,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;AAC1D,iBAAA;AACF,aAAA;SACF,EAAE,CAAC,CAAC,CAAC;KACP;;IAGO,gBAAgB,GAAA;AACtB,QAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;KAC7C;IAEM,WAAW,GAAA;AAChB,QAAA,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;YACnC,MAAM,SAAS,GAAG,QAAQ,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAgB,CAAC;AAC5E,YAAA,IAAI,SAAS,EAAE;AACb,gBAAA,IAAI,SAAS,CAAC,YAAY,KAAK,CAAC,EAAE;AAChC,oBAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AACpB,wBAAA,OAAO,CAAC,IAAI,CACV,mOAAmO,CACpO,CAAC;AACF,wBAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AACxB,qBAAA;AACF,iBAAA;gBACD,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,oBAAA,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC;AACrC,oBAAA,MAAM,IAAI,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAC;AAC/C,oBAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;AACrB,oBAAA,IAAI,aAAa,GAAG,SAAS,GAAG,GAAG,CAAC;;oBAEpC,MAAM,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;oBACvD,aAAa,IAAI,OAAO,CAAC;AACzB,oBAAA,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;oBACrD,aAAa,GAAG,CAAC,aAAa,GAAG,MAAM,IAAI,GAAG,CAAC;oBAC/C,IAAI,aAAa,GAAG,GAAG,EAAE;AACvB,wBAAA,IAAI,CAAC,SAAS,GAAG,CAAG,EAAA,aAAa,IAAI,CAAC;AACvC,qBAAA;AAAM,yBAAA;AACL,wBAAA,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;AAC1B,qBAAA;AACD,oBAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;AACzB,iBAAA;AACF,aAAA;AACF,SAAA;KACF;AAEO,IAAA,sBAAsB,CAAC,SAA6B,EAAA;AAC1D,QAAA,IAAI,SAAS,EAAE;YACb,MAAM,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAEzD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;YAC3D,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;AACzD,YAAA,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE;gBAC1B,OAAO,OAAO,GAAG,MAAM,CAAC;AACzB,aAAA;AACD,YAAA,OAAO,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;AAChF,SAAA;AACD,QAAA,OAAO,CAAC,CAAC;KACV;AAEM,IAAA,cAAc,CAAC,SAAiC,EAAA;AACrD,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KACnC;AAEO,IAAA,4BAA4B,CAAC,OAAY,EAAA;AAC/C,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;AAChC,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,gBAAA,IAAI,OAAO,EAAE;oBACX,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;AAC/D,iBAAA;AACD,gBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AACtB,gBAAA,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE;AACrC,oBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;oBAC3B,UAAU,CAAC,MAAK;;wBAEd,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAgB,CAAC;AACpE,wBAAA,IAAI,QAAQ,EAAE;AACZ,4BAAA,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACxC,yBAAA;wBACD,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAgB,CAAC;AAClE,wBAAA,IAAI,OAAO,EAAE;AACX,4BAAA,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACvC,yBAAA;AACH,qBAAC,CAAC,CAAC;AACJ,iBAAA;AACF,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,OAAO,EAAE;AACX,oBAAA,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;AAC7F,iBAAA;AACD,gBAAA,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;oBAC5B,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE;AAC5D,wBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACnB,4BAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;AAC9B,yBAAC,CAAC,CAAC;AACH,wBAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,cAAc,CAAC,QAAQ,EAAE;AAC5C,4BAAA,OAAO,CAAC,IAAI;;AAEV,4BAAA,oIAAoI,CACrI,CAAC;AACH,yBAAA;AACF,qBAAA;oBACD,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC3B,wBAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,cAAc,CAAC,QAAQ,EAAE;AAC5C,4BAAA,OAAO,CAAC,IAAI;;AAEV,4BAAA,2JAA2J,CAC5J,CAAC;AACF,4BAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;AACjC,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;AAAM,aAAA;YACL,IAAI,IAAI,CAAC,SAAS,EAAE;;AAElB,gBAAA,IAAI,OAAO,EAAE;oBACX,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;AAC/D,iBAAA;AACD,gBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AACtB,gBAAA,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE;AACrC,oBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;oBAC3B,UAAU,CAAC,MAAK;;wBAEd,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAgB,CAAC;AACpE,wBAAA,IAAI,QAAQ,EAAE;AACZ,4BAAA,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACxC,yBAAA;wBACD,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAgB,CAAC;AAClE,wBAAA,IAAI,OAAO,EAAE;AACX,4BAAA,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACvC,yBAAA;AACH,qBAAC,CAAC,CAAC;AACJ,iBAAA;AACF,aAAA;AAAM,iBAAA;;AAEL,gBAAA,IAAI,OAAO,EAAE;AACX,oBAAA,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;AACjC,iBAAA;AACD,gBAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,IAAI,IAAI,CAAC,cAAc,EAAE;AACvB,oBAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,cAAc,CAAC,QAAQ,EAAE;;AAE5C,wBAAA,OAAO,CAAC,IAAI,CAAC,oIAAoI,CAAC,CAAC;AACnJ,wBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACnB,4BAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;AAC9B,yBAAC,CAAC,CAAC;AACJ,qBAAA;AACF,iBAAA;gBACD,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC3B,oBAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,cAAc,CAAC,QAAQ,EAAE;AAC5C,wBAAA,OAAO,CAAC,IAAI;;AAEV,wBAAA,2JAA2J,CAC5J,CAAC;AACF,wBAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;AACjC,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;KACF;IAEa,uBAAuB,GAAA;;AACnC,YAAA,MAAM,OAAO,GAAI,MAAc,CAAC,2BAA2D,CAAC;;AAE5F,YAAA,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE;gBACnC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1C,aAAA;AACD,YAAA,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;AACxC,YAAA,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YAErB,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AAC7C,YAAA,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;YAE3C,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,KAAK,cAAc,CAAC,QAAQ,EAAE;gBAClE,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AAClD,aAAA;AAED,YAAA,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;AAC3C,YAAA,MAAM,oBAAoB,GAA2B,MAAc,CAAC,oBAAoB,CAAC;YAEzF,IAAI,cAAc,KAAK,SAAS,EAAE;AAChC,gBAAA,oBAAoB,CAAC,iBAAiB,GAAG,cAAc,GAAG,CAAC,GAAG,CAAC,CAAC;gBAChE,IAAI,oBAAoB,CAAC,SAAS,EAAE;AAClC,oBAAA,oBAAoB,CAAC,SAAS,CAAC,iBAAiB,GAAG,cAAc,GAAG,CAAC,GAAG,CAAC,CAAC;AAC3E,iBAAA;AACD,gBAAA,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,cAAc,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/D,aAAA;AACD,YAAA,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE;AAC1B,gBAAA,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;gBACnC,IAAI,oBAAoB,CAAC,SAAS,EAAE;AAClC,oBAAA,oBAAoB,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC;AAC/C,iBAAA;AACD,gBAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AAC7B,aAAA;AAAM,iBAAA,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE;AAChC,gBAAA,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;gBACnC,IAAI,oBAAoB,CAAC,SAAS,EAAE;AAClC,oBAAA,oBAAoB,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC;AAC/C,iBAAA;AACD,gBAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAC5B,aAAA;AAAM,iBAAA;AACL,gBAAA,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;gBACnC,IAAI,oBAAoB,CAAC,SAAS,EAAE;AAClC,oBAAA,oBAAoB,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC;AAC/C,iBAAA;AACD,gBAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAC5B,aAAA;YACD,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;AACtD,aAAA;AACD,YAAA,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,EAAE;gBAC9B,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACrD,aAAA;SACF,CAAA,CAAA;AAAA,KAAA;IAEO,OAAO,GAAA;AACb,QAAA,oBAAoB,CAAC,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,CAAC;AAC9E,QAAA,MAAM,oBAAoB,GAA2B,MAAc,CAAC,oBAAoB,CAAC;AACzF,QAAA,oBAAoB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;AACpD,QAAA,6BAA6B,CAAC,+BAA+B,GAAG,IAAI,CAAC;QACrE,IAAI,IAAI,CAAC,IAAI,EAAE;AACb,YAAA,IAAI,CAAC,2CAA2C,GAAG,KAAK,CAAC;AACzD,YAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AACrB,gBAAA,oBAAoB,CAAC,cAAc,CAAC,OAAO,GAAG,YAAA,GAAe,CAAC;AAC/D,aAAA;AACD,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAExB,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,CAAyB,KAAI;AAClF,gBAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjC,aAAC,CAAC,CAAC;YAEH,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,CAAyB,KAAI;AAClF,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5D,aAAC,CAAC,CAAC;YACH,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,CAAmB,KAAI;AACnE,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACxB,aAAC,CAAC,CAAC;YAEH,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,aAAa,EAAE,CAAO,CAAmB,KAAI,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;AAC5E,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACzB,IAAI,CAAC,kCAAkC,EAAE,CAAC;gBAC1C,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;oBACzD,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAChC,oBAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE;AACjD,wBAAA,oBAAoB,CAAC,SAAS,CAAC,aAAa,GAAG,CAAC,CAAC;AAClD,qBAAA;AACF,iBAAA;gBACD,UAAU,CAAC,MAAK;AACd,oBAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;;wBAEtB,IAAI,IAAI,CAAC,SAAS,EAAE;4BAClB,oBAAoB,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACrE,yBAAA;6BAAM,IAAI,IAAI,CAAC,IAAI,EAAE;4BACpB,oBAAoB,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/C,yBAAA;6BAAM,IAAI,IAAI,CAAC,SAAS,EAAE;4BACzB,oBAAoB,CAAC,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC;AAClE,yBAAA;AACF,qBAAA;AACH,iBAAC,CAAC,CAAC;AACH,gBAAA,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;aACtB,CAAA,CAAC,CAAC;YACH,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,CAAoB,KAAI;AACxE,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACnB,oBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC1B,IAAI,CAAC,kCAAkC,EAAE,CAAC;AAC5C,iBAAC,CAAC,CAAC;AACL,aAAC,CAAC,CAAC;YACH,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,CAAkB,KAAI;AACpE,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACnB,oBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC1B,iBAAC,CAAC,CAAC;AACL,aAAC,CAAC,CAAC;YAEH,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,CAAqB,KAAI;AACrE,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACnB,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC7B,iBAAC,CAAC,CAAC;AACL,aAAC,CAAC,CAAC;YACH,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,CAAqB,KAAI;AAC1E,gBAAA;AACE,oBAAA,MAAM,KAAK,GAAI,IAAI,CAAC,IAAI,CAAC,aAA6B,CAAC,aAAa,CAAC,cAAc,CAAkC,CAAC;oBACtH,IAAI,cAAc,GAAG,EAAE,CAAC;AACxB,oBAAA,IAAI,KAAK,EAAE;AACT,wBAAA,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC;AAC9B,qBAAA;AACF,iBAAA;gBAED,UAAU,CAAC,MAAK;oBACd,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACrC,oBAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;AAC1B,iBAAC,CAAC,CAAC;AAEH,gBAAA,MAAM,KAAK,GAAI,IAAI,CAAC,IAAI,CAAC,aAA6B,CAAC,aAAa,CAAC,cAAc,CAAkC,CAAC;AACtH,gBAAA,IAAI,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC;AAC/B,gBAAA,IAAI,KAAK,EAAE;AACT,oBAAA,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC;AAC9B,iBAAA;AACD,gBAAA,IAAI,cAAc,KAAK,MAAM,IAAI,cAAc,KAAK,UAAU,IAAI,cAAc,KAAK,aAAa,IAAI,cAAc,KAAK,YAAY,EAAE;AACrI,oBAAA,MAAM,MAAM,GAAG,IAAI,CAAC,IAAc,CAAC;AACnC,oBAAA,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC;;oBAE5B,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,QAAQ,EAAE;AACvC,wBAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;wBAClB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;AACrC,qBAAA;AACF,iBAAA;AAAM,qBAAA,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE;;AAEvC,oBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACtC,iBAAA;AACH,aAAC,CAAC,CAAC;YAEH,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,CAAqB,KAAI;AAC7E,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;oBACnB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;AAC5C,iBAAC,CAAC,CAAC;AACL,aAAC,CAAC,CAAC;YACH,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,CAAmB,KAAI;AAC1E,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;;AACnB,oBAAA,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;;AAEtD,wBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAChD,qBAAA;AAAM,yBAAA;;AAEL,wBAAA,MAAM,IAAI,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAC,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;AAC/D,wBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,qBAAA;AACH,iBAAC,CAAC,CAAC;AACL,aAAC,CAAC,CAAC;YACH,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,CAAkB,KAAI;AAC3E,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACnB,oBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,IAAI,CAAC,CAAC;AAC3D,iBAAC,CAAC,CAAC;AACL,aAAC,CAAC,CAAC;YAEH,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,CAAoB,KAAI;AAC9E,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;oBACnB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;oBAC3C,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACzB,wBAAA,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,EAAE,CAAC;AAClD,qBAAA;AACH,iBAAC,CAAC,CAAC;AACL,aAAC,CAAC,CAAC;YAEH,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,cAAsC,KAAI;AAC5F,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;oBACnB,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACvD,iBAAC,CAAC,CAAC;AACL,aAAC,CAAC,CAAC;YAEH,MAAM,kBAAkB,GAAG,MAAK;AAC9B,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;oBACnB,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACzB,wBAAA,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,EAAE,CAAC;AAClD,qBAAA;AACH,iBAAC,CAAC,CAAC;AACL,aAAC,CAAC;YAEF,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;YAEtE,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,CAAC;YAE1E,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;YAErE,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,wBAAwB,EAAE,CAAC,CAAa,KAAI;AAC3E,gBAAA,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,SAAS,EAAE;AACnC,oBAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;AAC5D,iBAAA;AAAM,qBAAA,IAAI,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE;oBAC/B,CAAC,CAAC,YAAY,CAAC,OAAO,GAAG,oBAAoB,CAAC,cAAc,CAAC,YAAY,CAAC;oBAC1E,CAAC,CAAC,YAAY,CAAC,aAAa,GAAG,oBAAoB,CAAC,cAAc,CAAC,kBAAkB,CAAC;oBACtF,CAAC,CAAC,YAAY,CAAC,YAAY,GAAG,oBAAoB,CAAC,cAAc,CAAC,iBAAiB,CAAC;oBACpF,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;AAClD,iBAAA;gBAED,IAAI,IAAI,CAAC,eAAe,EAAE;oBACxB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACpC,iBAAA;AACH,aAAC,CAAC,CAAC;YACH,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,wBAAwB,EAAE,CAAC,CAAa,KAAI;gBAC3E,CAAC,CAAC,YAAY,CAAC,OAAO,GAAG,oBAAoB,CAAC,cAAc,CAAC,YAAY,CAAC;gBAC1E,CAAC,CAAC,YAAY,CAAC,aAAa,GAAG,oBAAoB,CAAC,cAAc,CAAC,kBAAkB,CAAC;gBACtF,CAAC,CAAC,YAAY,CAAC,YAAY,GAAG,oBAAoB,CAAC,cAAc,CAAC,iBAAiB,CAAC;gBACpF,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;AACnD,aAAC,CAAC,CAAC;YAEH,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,CAAmB,KAAI;AACvE,gBAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;;AAEtB,oBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACnB,wBAAA,MAAM,WAAW,GAAG,oBAAoB,CAAC,SAAS,CAAC,iBAAiB,CAAC;AACrE,wBAAA,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,SAAS,CAAC,gBAAgB,CAAC;AAEzE,wBAAA,IAAI,WAAW,KAAK,IAAI,CAAC,IAAI,EAAE;AAC7B,4BAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACnC,yBAAA;AACD,wBAAA,IAAI,gBAAgB,KAAK,IAAI,CAAC,SAAS,EAAE;AACvC,4BAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAC7C,yBAAA;AACH,qBAAC,CAAC,CAAC;AACJ,iBAAA;AACH,aAAC,CAAC,CAAC;AAEH,YAAA,UAAU,CAAC,MAAW,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA,EAAC,OAAA,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA,EAAA,CAAA,EAAE,GAAG,CAAC,CAAC;;AAEtD,YAAA,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE;AACf,gBAAA,MAAM,OAAO,GAAQ;oBACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,SAAS,EAAE,IAAI,CAAC,QAAQ;iBACzB,CAAC;AACF,gBAAA,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;oBACtB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACpC,iBAAA;gBACD,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,oBAAA,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;AACxC,iBAAA;gBACD,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,oBAAA,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;oBAC/B,IAAI,OAAO,CAAC,WAAW,EAAE;AACvB,wBAAA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE;4BACtC,OAAO,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;AACxD,yBAAA;AACF,qBAAA;AAAM,yBAAA;wBACL,OAAO,CAAC,WAAW,GAAG;4BACpB,aAAa,EAAE,IAAI,CAAC,aAAa;yBAClC,CAAC;AACH,qBAAA;AACF,iBAAA;AACD,gBAAA,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;AACjC,gBAAA,oBAAoB,CAAC,OAAO,GAAG,CAAC,KAAY,KAAK,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACnF,gBAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAW,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;oBACvC,MAAM,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACpD,oBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;;AAE/B,oBAAA,UAAU,CAAC,MAAW,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA,EAAC,OAAA,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA,EAAA,CAAA,CAAC,CAAC;iBAC9C,CAAA,CAAC,CAAC;AACJ,aAAA;YACD,UAAU,CAAC,MAAK;AACd,gBAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;;oBAEtB,IAAI,IAAI,CAAC,IAAI,EAAE;wBACb,oBAAoB,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/C,qBAAA;AACF,iBAAA;aACF,EAAE,GAAG,CAAC,CAAC;AACT,SAAA;KACF;IAEO,kCAAkC,GAAA;AACxC,QAAA,IAAI,IAAI,CAAC,YAAY,KAAK,iBAAiB,EAAE;YAC3C,UAAU,CAAC,MAAK;AACd,gBAAA,IAAI,IAAI,CAAC,YAAY,KAAK,iBAAiB,EAAE;oBAC3C,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;AACjD,oBAAA,IAAI,MAAM,EAAE;AACV,wBAAA,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,GAAG,EAAE,CAAC;wBACxC,MAAM,IAAI,GAAG,QAAQ,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;wBACxD,IAAI,IAAI,CAAC,kBAAkB,EAAE;4BAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC;AAClC,yBAAA;AAAM,6BAAA;4BACL,IAAI,MAAM,GAAG,EAAE,EAAE;AACf,gCAAA,IAAI,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAC7B,6BAAA;AACF,yBAAA;AACD,wBAAA,IAAI,IAAI,EAAE;4BACM,IAAK,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AAChD,yBAAA;AACF,qBAAA;AACF,iBAAA;AACH,aAAC,CAAC,CAAC;AACJ,SAAA;KACF;IAEY,QAAQ,GAAA;;;YACnB,IAAI,CAAC,uBAAuB,EAAE,CAAC;AAC/B,YAAA,MAAM,oBAAoB,GAA2B,MAAc,CAAC,oBAAoB,CAAC;;YAGzF,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,oBAAoB,CAAC,WAAW,0CAAE,iBAAiB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,aAAa,EAAE,CAAC;AAErE,YAAA,MAAM,oBAAoB,CAAC,KAAK,EAAE,CAAC;AACnC,YAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;AACnB,YAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;AAC5B,YAAA,IAAI,CAAC,wBAAwB,GAAG,EAAE,CAAC;AAEnC,YAAA,MAAM,OAAO,GAAQ;gBACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,SAAS,EAAE,IAAI,CAAC,QAAQ;aACzB,CAAC;YACF,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;gBACnC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACpC,aAAA;YACD,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,gBAAA,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;AACxC,aAAA;YACD,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,gBAAA,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC/B,IAAI,OAAO,CAAC,WAAW,EAAE;AACvB,oBAAA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE;wBACtC,OAAO,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;AACxD,qBAAA;AACF,iBAAA;AAAM,qBAAA;oBACL,OAAO,CAAC,WAAW,GAAG;wBACpB,aAAa,EAAE,IAAI,CAAC,aAAa;qBAClC,CAAC;AACH,iBAAA;AACF,aAAA;AACD,YAAA,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;AACjC,YAAA,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAChD,MAAK;AACH,gBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,oBAAoB,CAAC,UAAU,EAAE,CAAC,CAAC;AACvE,aAAC,EACD,CAAC,KAAY,KAAK,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CACpD,CAAC;;AACH,KAAA;IAEO,gBAAgB,GAAA;AACtB,QAAA,MAAM,oBAAoB,GAA2B,MAAc,CAAC,oBAAoB,CAAC;QACzF,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;KAC7F;IAEY,WAAW,GAAA;;;AACtB,YAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;AACjC,gBAAA,OAAO;AACR,aAAA;AAEA,YAAA,MAAc,CAAC,YAAY,GAAG,SAAS,CAAC;AACxC,YAAA,MAAc,CAAC,YAAY,GAAG,SAAS,CAAC;AACxC,YAAA,MAAc,CAAC,2BAA2B,GAAG,SAAS,CAAC;AACxD,YAAA,MAAM,oBAAoB,GAA2B,MAAc,CAAC,oBAAoB,CAAC;AACzF,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AAEzB,YAAA,6BAA6B,CAAC,+BAA+B,GAAG,KAAK,CAAC;YACtE,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,gBAAA,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC/B,gBAAA,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;AAC9B,aAAA;AACD,YAAA,IAAI,oBAAoB,EAAE;gBACxB,IAAI,IAAI,CAAC,oBAAoB,EAAE;AAC7B,oBAAA,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,CAAC;AAC7C,oBAAA,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;AACvC,iBAAA;gBACD,IAAI,IAAI,CAAC,qBAAqB,EAAE;AAC9B,oBAAA,IAAI,CAAC,qBAAqB,CAAC,qBAAqB,EAAE,CAAC;AACnD,oBAAA,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAC;AACxC,iBAAA;;gBAGD,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,oBAAoB,CAAC,WAAW,0CAAE,iBAAiB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,aAAa,EAAE,CAAC;AACrE,gBAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;AACnB,gBAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;AAC5B,gBAAA,IAAI,CAAC,wBAAwB,GAAG,EAAE,CAAC;gBAEnC,oBAAoB,CAAC,QAAQ,EAAE,CAAC;AAEhC,gBAAA,MAAM,oBAAoB,CAAC,KAAK,EAAE,CAAC;gBACnC,IAAI,oBAAoB,CAAC,oBAAoB,EAAE;oBAC7C,mBAAmB,CAAC,SAAS,EAAE,oBAAoB,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;AACjF,iBAAA;gBACD,UAAU,CAAC,MAAK;oBACd,IAAI,oBAAoB,CAAC,YAAY,EAAE;wBACrC,oBAAoB,CAAC,kBAAkB,EAAE,CAAC;AAC3C,qBAAA;AACD,oBAAA,MAAM,GAAG,GAAG,oBAAoB,CAAC,QAAQ,CAAC;AAC1C,oBAAA,IAAI,GAAG,EAAE;wBACP,oBAAoB,CAAC,YAAY,EAAE,CAAC;AACpC,wBAAA,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE;AAChC,4BAAA,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;gCACvB,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;;;;AAIjC,gCAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACpC,oCAAA,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;AACrB,iCAAA;AACD,gCAAA,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;AACjC,6BAAA;AACF,yBAAA;AACF,qBAAA;AACA,oBAAA,oBAAoB,CAAC,QAAgB,GAAG,IAAI,CAAC;AAChD,iBAAC,CAAC,CAAC;AACJ,aAAA;YAED,MAAM,IAAI,GAAG,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;AACnD,YAAA,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE;gBACX,MAAM,gBAAgB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC1C,gBAAA,KAAK,IAAI,CAAC,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;oBACrD,MAAM,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACnC,oBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,gBAAgB,EAAE;wBAClC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AACxB,qBAAA;AAAM,yBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,WAAW,EAAE;wBACpC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AACxB,qBAAA;AACF,iBAAA;AACF,aAAA;;AACF,KAAA;IAEO,oBAAoB,GAAA;QAC1B,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,MAAM,OAAO,GACX,IAAI,CAAC,kBAAkB;AACvB,gBAAA,IAAI,CAAC,kBAAkB;AACvB,gBAAA,IAAI,CAAC,cAAc;AACnB,gBAAA,IAAI,CAAC,kBAAkB;AACvB,gBAAA,IAAI,CAAC,iBAAiB;AACtB,gBAAA,IAAI,CAAC,0BAA0B;AAC/B,gBAAA,IAAI,CAAC,eAAe;AACpB,gBAAA,IAAI,CAAC,oBAAoB;AACzB,gBAAA,IAAI,CAAC,gBAAgB;AACrB,gBAAA,IAAI,CAAC,kBAAkB;AACvB,gBAAA,IAAI,CAAC,mBAAmB;AACxB,gBAAA,IAAI,CAAC,gBAAgB;AACrB,gBAAA,IAAI,CAAC,iBAAiB;gBACtB,IAAI,CAAC,eAAe,CAAC;AAEvB,YAAA,IAAI,OAAO,EAAE;AACX,gBAAA,OAAO,IAAI,CAAC;AACb,aAAA;AACF,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;KACd;AAEY,IAAA,WAAW,CAAC,OAAsB,EAAA;;;AAC7C,YAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;AACjC,gBAAA,OAAO;AACR,aAAA;AACD,YAAA,MAAM,oBAAoB,GAA2B,MAAc,CAAC,oBAAoB,CAAC;AACzF,YAAA,MAAM,2BAA2B,GAAkC,MAAc,CAAC,2BAA2B,CAAC;YAE9G,IAAI,6BAA6B,CAAC,+BAA+B,EAAE;AACjE,gBAAA,IAAI,KAAK,IAAI,OAAO,IAAI,WAAW,IAAI,OAAO,EAAE;AAC9C,oBAAA,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE;wBACf,IAAI,IAAI,CAAC,2CAA2C,EAAE;4BACpD,IAAI,CAAC,OAAO,EAAE,CAAC;AAChB,yBAAA;AAAM,6BAAA;AACL,4BAAA,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;AACvB,yBAAA;AACF,qBAAA;AAAM,yBAAA;;wBAEL,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,oBAAoB,CAAC,WAAW,0CAAE,iBAAiB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,aAAa,EAAE,CAAC;AACrE,wBAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;AACnB,wBAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;AAC5B,wBAAA,IAAI,CAAC,wBAAwB,GAAG,EAAE,CAAC;wBAEnC,IAAI,UAAU,GAAG,CAAA,EAAA,GAAA,oBAAoB,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,aAAa,CAAC;wBAC/D,IAAI,CAAC,UAAU,EAAE;AACf,4BAAA,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAqB,CAAC;AACvE,yBAAA;AACD,wBAAA,IAAI,UAAU,EAAE;AACd,4BAAA,UAAU,CAAC,KAAK,GAAG,EAAE,CAAC;AACvB,yBAAA;AAED,wBAAA,MAAM,oBAAoB,CAAC,KAAK,EAAE,CAAC;AACpC,qBAAA;AACF,iBAAA;gBACD,IAAI,mBAAmB,IAAI,OAAO,EAAE;oBAClC,2BAA2B,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAC9E,iBAAA;gBAED,IAAI,MAAM,IAAI,OAAO,EAAE;AACrB,oBAAA,CAAC,MAAY,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA,EAAA,OAAA,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA,EAAA,CAAA,GAAG,CAAC;AACtC,iBAAA;gBAED,IAAI,SAAS,IAAI,OAAO,EAAE;oBACxB,2BAA2B,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;AAC1D,iBAAA;gBAED,IAAI,SAAS,IAAI,OAAO,EAAE;oBACxB,2BAA2B,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;AAC1D,iBAAA;gBAED,IAAI,UAAU,IAAI,OAAO,EAAE;oBACzB,IAAI,CAAC,gBAAgB,EAAE,CAAC;AACzB,iBAAA;gBACD,IAAI,MAAM,IAAI,OAAO,EAAE;oBACrB,IAAI,IAAI,CAAC,IAAI,EAAE;;AAEb,wBAAA,IAAI,IAAI,CAAC,IAAI,IAAI,oBAAoB,CAAC,IAAI,EAAE;AAC1C,4BAAA,oBAAoB,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;AACvC,yBAAA;AACF,qBAAA;AACF,iBAAA;gBACD,IAAI,WAAW,IAAI,OAAO,EAAE;oBAC1B,IAAI,IAAI,CAAC,SAAS,EAAE;wBAClB,IAAI,IAAI,CAAC,SAAS,KAAK,oBAAoB,CAAC,SAAS,CAAC,gBAAgB,EAAE;4BACtE,oBAAoB,CAAC,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC;AAClE,yBAAA;AACF,qBAAA;AACF,iBAAA;gBAED,IAAI,UAAU,IAAI,OAAO,EAAE;oBACzB,IAAI,IAAI,CAAC,QAAQ,EAAE;wBACjB,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAChC,wBAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE;AACjD,4BAAA,oBAAoB,CAAC,SAAS,CAAC,aAAa,GAAG,CAAC,CAAC;AAClD,yBAAA;AACF,qBAAA;AAAM,yBAAA;AACL,wBAAA,oBAAoB,CAAC,SAAS,CAAC,aAAa,GAAG,CAAC,CAAC;AAClD,qBAAA;AACF,iBAAA;gBACD,IAAI,YAAY,IAAI,OAAO,EAAE;oBAC3B,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,KAAK,cAAc,CAAC,QAAQ,EAAE;wBAClE,oBAAoB,CAAC,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AAC7D,qBAAA;AACF,iBAAA;gBACD,IAAI,gBAAgB,IAAI,OAAO,EAAE;oBAC/B,IAAI,IAAI,CAAC,cAAc,EAAE;AACvB,wBAAA,oBAAoB,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;AACxC,qBAAA;AAAM,yBAAA;AACL,wBAAA,oBAAoB,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;AACzC,qBAAA;AACF,iBAAA;gBACD,IAAI,qBAAqB,IAAI,OAAO,EAAE;oBACpC,oBAAoB,CAAC,SAAS,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;AAC/E,iBAAA;gBACD,IAAI,WAAW,IAAI,OAAO,EAAE;oBAC1B,IAAI,IAAI,CAAC,SAAS,EAAE;wBAClB,oBAAoB,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACrE,qBAAA;AACF,iBAAA;gBAED,IAAI,QAAQ,IAAI,OAAO,EAAE;AACvB,oBAAA,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE;AAC1B,wBAAA,oBAAoB,CAAC,gBAAgB,GAAG,CAAC,CAAC;AAC1C,wBAAA,oBAAoB,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC;AAC9C,wBAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AAC7B,qBAAA;AAAM,yBAAA,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE;AAChC,wBAAA,oBAAoB,CAAC,gBAAgB,GAAG,CAAC,CAAC;AAC1C,wBAAA,oBAAoB,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC;AAC9C,wBAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAC5B,qBAAA;AAAM,yBAAA;AACL,wBAAA,oBAAoB,CAAC,gBAAgB,GAAG,CAAC,CAAC;AAC1C,wBAAA,oBAAoB,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC;AAC9C,wBAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAC5B,qBAAA;AACF,iBAAA;gBAED,IAAI,qBAAqB,IAAI,OAAO,EAAE;oBACpC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,aAAa,EAAE,EAAE;AACnD,wBAAA,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAAC,YAAY,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC,aAAa,EAAE;4BAChG,IAAI,IAAI,CAAC,mBAAmB,EAAE;gCAC5B,IAAI,CAAC,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACnE,6BAAA;AAAM,iCAAA;gCACL,IAAI,IAAI,CAAC,oBAAoB,EAAE;AAC7B,oCAAA,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,CAAC;AAC7C,oCAAA,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;AACvC,iCAAA;AACF,6BAAA;AACF,yBAAA;AACF,qBAAA;AACF,iBAAA;gBACD,IAAI,sBAAsB,IAAI,OAAO,EAAE;oBACrC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,aAAa,EAAE,EAAE;AACpD,wBAAA,IAAI,OAAO,CAAC,sBAAsB,CAAC,CAAC,YAAY,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC,aAAa,EAAE;4BAClG,IAAI,IAAI,CAAC,oBAAoB,EAAE;AAC7B,gCAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;AACvG,6BAAA;AAAM,iCAAA;gCACL,IAAI,IAAI,CAAC,qBAAqB,EAAE;AAC9B,oCAAA,IAAI,CAAC,qBAAqB,CAAC,qBAAqB,EAAE,CAAC;AACnD,oCAAA,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAC;AACxC,iCAAA;AACF,6BAAA;AACF,yBAAA;AACF,qBAAA;AACF,iBAAA;gBAED,IAAI,aAAa,IAAI,OAAO,EAAE;oBAC5B,2BAA2B,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AAClE,iBAAA;AAED,gBAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC;gBAC3C,IAAI,CAAC,IAAI,CAAC,0BAA0B,IAAI,IAAI,CAAC,gCAAgC,EAAE;AAC7E,oBAAA,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE;AAChC,wBAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;AACjC,qBAAA;AACF,iBAAA;gBACD,UAAU,CAAC,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;AAChD,aAAA;YAED,IAAI,iBAAiB,IAAI,OAAO,EAAE;gBAChC,MAAM,OAAO,GAAG,2BAA2B,CAAC;AAC5C,gBAAA,IAAI,OAAO,EAAE;oBACX,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;AACtD,iBAAA;AACF,aAAA;YACD,IAAI,gBAAgB,IAAI,OAAO,EAAE;gBAC/B,MAAM,OAAO,GAAG,2BAA2B,CAAC;AAC5C,gBAAA,IAAI,OAAO,EAAE;oBACX,IAAI,CAAC,uBAAuB,EAAE,CAAC;AAChC,iBAAA;AACF,aAAA;YACD,IAAI,YAAY,IAAI,OAAO,EAAE;gBAC3B,MAAM,OAAO,GAAG,2BAA2B,CAAC;AAC5C,gBAAA,IAAI,OAAO,EAAE;oBACX,IAAI,CAAC,uBAAuB,EAAE,CAAC;AAChC,iBAAA;AACF,aAAA;YACD,IAAI,YAAY,IAAI,OAAO,EAAE;gBAC3B,MAAM,OAAO,GAAG,2BAA2B,CAAC;AAC5C,gBAAA,IAAI,OAAO,EAAE;oBACX,IAAI,CAAC,uBAAuB,EAAE,CAAC;AAChC,iBAAA;AACF,aAAA;YACD,IAAI,aAAa,IAAI,OAAO,EAAE;gBAC5B,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,aAAa,EAAE,EAAE;oBAC3C,MAAM,OAAO,GAAG,2BAA2B,CAAC;AAC5C,oBAAA,IAAI,OAAO,EAAE;wBACX,IAAI,CAAC,uBAAuB,EAAE,CAAC;wBAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAgB,CAAC;wBAChE,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,4BAAA,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAC9C,yBAAA;AAAM,6BAAA;AACL,4BAAA,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAC3C,yBAAA;wBAED,IAAI,oBAAoB,CAAC,SAAS,EAAE;4BAClC,oBAAoB,CAAC,SAAS,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;AACtE,yBAAA;AACD,wBAAA,MAAM,SAAS,GAAG;AAChB,4BAAA,MAAM,EAAE,MAAM;;AAEd,4BAAA,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG;4BACtC,WAAW,EAAE,IAAI,CAAC,IAAI;yBACD,CAAC;wBACxB,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;AACpE,qBAAA;AACF,iBAAA;AACF,aAAA;YAED,IAAI,0BAA0B,IAAI,OAAO,EAAE;AACzC,gBAAA,IAAI,oBAAoB,IAAI,oBAAoB,CAAC,WAAW,EAAE;AAC5D,oBAAA,oBAAoB,CAAC,WAAW,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,0BAA0B,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;AAC5H,iBAAA;AACF,aAAA;YAED,IAAI,UAAU,IAAI,OAAO,EAAE;gBACzB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,aAAa,EAAE,EAAE;AACxC,oBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,CAAC;AACzE,iBAAA;AACF,aAAA;YAED,IAAI,aAAa,IAAI,OAAO,EAAE;gBAC5B,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,aAAa,EAAE,EAAE;AAC3C,oBAAA,oBAAoB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;AACrD,iBAAA;AACF,aAAA;AACD,YAAA,IACE,CAAC,eAAe,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,aAAa,EAAE;AACxE,iBAAC,sBAAsB,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,aAAa,EAAE,CAAC;AACvF,iBAAC,wBAAwB,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,aAAa,EAAE,CAAC;AAC3F,iBAAC,eAAe,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,aAAa,EAAE,CAAC,EACzE;gBACA,IAAI,IAAI,CAAC,eAAe,EAAE;AACxB,oBAAA,IAAI,CAAC,eAAe,CAAC,yBAAyB,EAAE,CAAC;AAClD,iBAAA;AACF,aAAA;AAED,YAAA,IAAI,oBAAoB,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,aAAa,EAAE,EAAE;gBACtF,2BAA2B,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;AAC3E,aAAA;AACD,YAAA,IAAI,6BAA6B,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC,aAAa,EAAE,EAAE;gBACvG,2BAA2B,CAAC,GAAG,CAAC,6BAA6B,EAAE,IAAI,CAAC,2BAA2B,CAAC,CAAC;AAClG,aAAA;AACD,YAAA,IAAI,cAAc,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,aAAa,EAAE,EAAE;gBACzE,IAAI,CAAC,kCAAkC,EAAE,CAAC;AAC3C,aAAA;;AACF,KAAA;IAEa,OAAO,GAAA;;;;YAGnB,IAAI,IAAI,CAAC,IAAI,EAAE;AACb,gBAAA,MAAM,oBAAoB,GAA2B,MAAc,CAAC,oBAAoB,CAAC;AAEzF,gBAAA,IAAI,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC;gBAC7B,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AACtC,oBAAA,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC;AACpE,iBAAA;qBAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE;AACvC,oBAAA,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC;AAC3C,iBAAA;gBACD,IAAI,CAAC,YAAY,EAAE;AACjB,oBAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE;;;;AAIhC,qBAAA;AAAM,yBAAA;wBACL,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACjE,wBAAA,IAAI,WAAW,EAAE;4BACf,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE;AAC/B,gCAAA,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC;AAC1C,6BAAA;AAAM,iCAAA;gCACL,YAAY,GAAG,WAAW,CAAC;AAC5B,6BAAA;AACF,yBAAA;AAAM,6BAAA;4BACL,YAAY,GAAG,MAAM,CAAC;AACvB,yBAAA;AACF,qBAAA;AACF,iBAAA;AAED,gBAAA,IAAI,oBAAoB,EAAE;AACxB,oBAAA,MAAM,2BAA2B,GAAkC,MAAc,CAAC,2BAA2B,CAAC;AAC9G,oBAAA,2BAA2B,CAAC,GAAG,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;AACnE,iBAAA;AAED,gBAAA,MAAM,kBAAkB,GAAI,IAAI,CAAC,IAAI,CAAC,aAA6B,CAAC,aAAa,CAAC,cAAc,CAAkC,CAAC;AACnI,gBAAA,IAAI,kBAAkB,EAAE;oBACtB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE;AACjH,wBAAA,kBAAkB,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;AACtC,qBAAA;AAAM,yBAAA;AACL,wBAAA,kBAAkB,CAAC,KAAK,GAAG,QAAQ,CAAC;wBACpC,IAAI,kBAAkB,CAAC,OAAO,EAAE;AAC9B,4BAAA,KAAK,MAAM,MAAM,IAAI,kBAAkB,CAAC,OAAc,EAAE;AACtD,gCAAA,IAAI,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE;AAC7B,oCAAA,MAAM,CAAC,WAAW,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,MAAO,CAAC,GAAG,IAAI,GAAG,CAAC;AAC9E,iCAAA;AACF,6BAAA;AACF,yBAAA;AAEF,qBAAA;AACF,iBAAA;gBAED,IAAI,oBAAoB,CAAC,SAAS,EAAE;oBAClC,oBAAoB,CAAC,SAAS,CAAC,iBAAiB,GAAG,YAAY,IAAI,MAAM,CAAC;AAC3E,iBAAA;AACF,aAAA;SACF,CAAA,CAAA;AAAA,KAAA;IAEM,QAAQ,GAAA;QACb,MAAM,SAAS,GAAG,QAAQ,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;AAC1D,QAAA,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YACrC,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;AAC5D,YAAA,IAAI,SAAS,EAAE;AACb,gBAAA,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC;AACpC,gBAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBAClC,IAAI,IAAI,CAAC,yBAAyB,EAAE;AAClC,oBAAA,IAAI,CAAC,yBAAyB,CAAC,eAAe,EAAE,CAAC;AAClD,iBAAA;AACF,aAAA;YACD,IAAI,CAAC,WAAW,EAAE,CAAC;AACpB,SAAA;QACD,IAAI;AACF,YAAA,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,kCAAkC,EAAE,CAAC,CAAC;YACrF,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;AACjD,YAAA,IAAI,MAAM,EAAE;AACV,gBAAA,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAC1B,aAAA;AACF,SAAA;AAAC,QAAA,OAAO,SAAS,EAAE;AAClB,YAAA,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;AAChE,SAAA;KACF;IAGM,aAAa,GAAA;QAClB,OAAO,IAAI,CAAC,kBAAkB,CAAC;KAChC;AAEM,IAAA,sBAAsB,CAAC,eAAwB,EAAA;AACpD,QAAA,IAAI,CAAC,gCAAgC,GAAG,eAAe,CAAC;AACxD,QAAA,IAAI,eAAe,EAAE;AACnB,YAAA,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE;AAChC,gBAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;AACjC,aAAA;AACF,SAAA;KACF;AAEM,IAAA,2BAA2B,CAAC,iBAAoC,EAAA;QACrE,IAAI,GAAG,GAAkC,EAAE,CAAC;QAC5C,IAAI,UAAU,GAAkC,EAAE,CAAC;AACnD,QAAA,KAAK,IAAI,CAAC,IAAI,iBAAiB,EAAE;YAC/B,IAAI,CAAC,CAAC,SAAS,EAAE;AACf,gBAAA,IAAI,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;AACpB,oBAAA,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AAC7B,iBAAA;AACD,gBAAA,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AACtB,aAAA;AACF,SAAA;AACD,QAAA,KAAK,IAAI,CAAC,IAAI,iBAAiB,EAAE;YAC/B,IAAI,CAAC,CAAC,SAAS,IAAI,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;gBAC1C,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC;AAC5C,aAAA;AACF,SAAA;KACF;AAEM,IAAA,YAAY,CAAC,GAAW,EAAA;QAC7B,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;AACpC,YAAA,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACrB,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,aAAA;AACF,SAAA;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;KACtC;IAEM,YAAY,CAAC,GAAW,EAAE,KAAa,EAAA;AAC5C,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,YAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;AACpB,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE;;AAE/B,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;AACpD,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAC5B,SAAA;AACD,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;KAChE;AAEM,IAAA,wBAAwB,CAAC,GAAW,EAAE,SAA2B,EAAE,gBAAyB,EAAA;AACjG,QAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;AACxC,QAAA,IAAI,gBAAgB,EAAE;AACpB,YAAA,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,GAAG,GAAG,CAAC;AACvD,SAAA;KACF;IAEM,gBAAgB,CAAC,QAAgB,EAAE,gBAAwB,EAAA;AAChE,QAAA,MAAM,oBAAoB,GAA2B,MAAc,CAAC,oBAAoB,CAAC;AAEzF,QAAA,IAAI,CAAC,oBAAoB,IAAI,CAAC,oBAAoB,CAAC,WAAW,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,iBAAiB,EAAE;;YAErH,OAAO;AACR,SAAA;AACD,QAAA,MAAM,OAAO,GAAG,oBAAoB,CAAC,WAAW,CAAC,iBAAiB,CAAC;AAEnE,QAAA,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE;AAC1B,YAAA,IAAI,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;gBAChC,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,gBAAgB,CAAC,GAAG,CAAC,EAAE;AAC3C,oBAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,cAAc,GAAG,GAAG,GAAG,IAAI,CAAgB,CAAC;oBACjF,IAAI,KAAK,YAAY,gBAAgB,EAAE;AACrC,wBAAA,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;4BAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;AAC9F,4BAAA,MAAM,MAAM,GAAG,QAAQ,CAAC,gBAAgB,CAAC,cAAc,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;4BACtE,MAAM,iBAAiB,GAAG,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AACvE,4BAAA,MAAM,CAAC,OAAO,CAAC,CAAC,KAAuB,KAAI;gCACzC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE,KAAK,iBAAiB,CAAC;AACjD,6BAAC,CAAC,CAAC;AACJ,yBAAA;AAAM,6BAAA,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE;4BACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;AAC9E,4BAAA,KAAK,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC/B,yBAAA;AAAM,6BAAA;4BACL,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;AAC9E,4BAAA,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC7B,yBAAA;AACF,qBAAA;yBAAM,IAAI,CAAC,KAAK,EAAE;AACjB,wBAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,iBAAiB,GAAG,GAAG,GAAG,IAAI,CAAwB,CAAC;AAC/F,wBAAA,IAAI,QAAQ,EAAE;4BACZ,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;AACjF,4BAAA,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;AAChC,yBAAA;AAAM,6BAAA;AACL,4BAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,GAAG,GAAG,GAAG,IAAI,CAA6B,CAAC;AAClG,4BAAA,IAAI,QAAQ,EAAE;gCACZ,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;gCACjF,IAAI,QAAQ,CAAC,QAAQ,EAAE;oCACrB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAa,CAAC;AAC/C,oCAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wCAChD,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAChF,qCAAA;AACF,iCAAA;AAAM,qCAAA;AACL,oCAAA,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;AAChC,iCAAA;AACF,6BAAA;AACF,yBAAA;AACF,qBAAA;AAAM,yBAAA;wBACL,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;AAC/C,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;AAED,QAAA,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE;AAClC,YAAA,IAAI,gBAAgB,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;AACxC,gBAAA,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;AACjC,oBAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,cAAc,GAAG,GAAG,GAAG,IAAI,CAAgB,CAAC;oBACjF,IAAI,KAAK,YAAY,gBAAgB,EAAE;;AAErC,wBAAA,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE;AAC7B,4BAAA,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;AACtE,4BAAA,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;AACvB,yBAAA;AAAM,6BAAA;AACL,4BAAA,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;AAC1E,4BAAA,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;AAClB,yBAAA;AACF,qBAAA;yBAAM,IAAI,CAAC,KAAK,EAAE;AACjB,wBAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,iBAAiB,GAAG,GAAG,GAAG,IAAI,CAAwB,CAAC;AAC/F,wBAAA,IAAI,QAAQ,EAAE;AACZ,4BAAA,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;AAC7E,4BAAA,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;AACrB,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;KACF;IAEM,YAAY,CAAC,GAAQ,yBAAuB;;AAEjD,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;AAE1B,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;AAEvB,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;;YAEtC,GAAG;iBACA,OAAO,CAAC,CAAC,CAAC;AACV,iBAAA,IAAI,CAAC,CAAC,CAAC,KAAI;;AAEV,gBAAA,OAAO,CAAC,CAAC,cAAc,EAAE,CAAC;AAC5B,aAAC,CAAC;AACD,iBAAA,IAAI,CAAC,CAAC,WAAW,KAAI;;;gBAIpB,WAAW;AACR,qBAAA,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC;AACrC,qBAAA,OAAO,CAAC,CAAC,CAAC,KAAI;;oBAEb,IAAI,CAAC,CAAC,QAAQ;wBAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC;yBACnD,IAAI,CAAC,CAAC,WAAW;wBAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC;AAEhE,oBAAA,IAAI,CAAC,CAAC,SAAS,KAAK,KAAK,EAAE;AACzB,wBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACnB,4BAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;4BACzB,UAAU,CAAC,MAAK;gCACd,MAAM,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,kBAAkB,CAAgB,CAAC;gCAClF,eAAe,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACnC,6BAAC,CAAC,CAAC;AACL,yBAAC,CAAC,CAAC;AACJ,qBAAA;AACD;;;;;;;AAOE;AACJ,iBAAC,CAAC,CAAC;AACP,aAAC,CAAC,CAAC;AACN,SAAA;AACD,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,QAAQ,EAAoB,CAAC,CAAC;KACrE;AAEY,IAAA,eAAe,CAAC,KAAiB,EAAA;;AAC5C,YAAA,MAAM,oBAAoB,GAA2B,MAAc,CAAC,oBAAoB,CAAC;AACzF,YAAA,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC;AACrC,YAAA,MAAM,aAAa,GAAI,oBAAoB,CAAC,SAAiB,CAAC,YAAY,CAAC;AAC3E,YAAA,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,CAAC,mBAAmB,IAAI,IAAI,CAAC,IAAI,GAAG,GAAG,KAAK,iBAAiB,CAAC,mBAAmB,EAAE;AACpH,gBAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC;gBAC9B,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC,mBAAmB,CAAC;AAClD,gBAAA,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;AACtB,aAAA;AAAM,iBAAA;gBACL,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,oBAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;AAC/B,iBAAA;AAAM,qBAAA;AACL,oBAAA,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;AAC1B,iBAAA;AACD,gBAAA,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;AACtB,aAAA;AAED,YAAA,MAAM,YAAY,GAAI,oBAAoB,CAAC,SAAiB,CAAC,YAAY,CAAC;AAC1E,YAAA,MAAM,qBAAqB,GAAG,YAAY,GAAG,aAAa,GAAG,CAAC,CAAC;YAC/D,MAAM,IAAI,GAAI,oBAAoB,CAAC,SAAiB,CAAC,SAAS,CAAC,qBAAqB,EAAE,CAAC;AACvF,YAAA,MAAM,EAAE,GAAG,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC;YACpC,oBAAoB,CAAC,SAAiB,CAAC,SAAS,CAAC,SAAS,IAAI,EAAE,GAAG,qBAAqB,CAAC;SAC3F,CAAA,CAAA;AAAA,KAAA;;AA5nEa,6BAA+B,CAAA,+BAAA,GAAG,KAAM,CAAA;AAD3C,6BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,wCAuoB9B,WAAW,EAAA,EAAA,EAAA,KAAA,EAAApD,sBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAqD,2BAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;+GAvoBV,6BAA6B,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,aAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,UAAA,EAAA,YAAA,EAAA,aAAA,EAAA,eAAA,EAAA,WAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,GAAA,EAAA,KAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,MAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,2BAAA,EAAA,6BAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,wBAAA,EAAA,0BAAA,EAAA,aAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,0BAAA,EAAA,4BAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,0BAAA,EAAA,4BAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,WAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,cAAA,EAAA,aAAA,EAAA,eAAA,EAAA,SAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAS7B,2BAA2B,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,MAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,MAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,2BAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,8BAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,YAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvFxC,srRAiKA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,6BAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,gCAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,mBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,mBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,gBAAA,EAAA,yBAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,2BAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,mBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,yBAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,4BAAA,EAAA,kBAAA,EAAA,4BAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,4BAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,EAAA,qBAAA,EAAA,yBAAA,EAAA,4BAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,sBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,EAAA,sBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,mBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,yBAAA,EAAA,aAAA,EAAA,YAAA,EAAA,wBAAA,EAAA,eAAA,EAAA,sBAAA,EAAA,sBAAA,EAAA,mBAAA,EAAA,yBAAA,EAAA,mBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,uBAAA,EAAA,qBAAA,EAAA,sBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,wBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,0BAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,oCAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,iCAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,OAAA,EAAA,EAAA,CAAA,SAAA,EAAA,WAAA,EAAAC,aAAA,EAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;4FDnFa,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBALzC,SAAS;+BACE,yBAAyB,EAAA,eAAA,EAElB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,srRAAA,EAAA,CAAA;;;8BAyoB5C,MAAM;+BAAC,WAAW,CAAA;;yBA7nBd,eAAe,EAAA,CAAA;sBADrB,SAAS;uBAAC,2BAA2B,CAAA;gBAI/B,IAAI,EAAA,CAAA;sBADV,SAAS;uBAAC,MAAM,CAAA;gBAQV,sBAAsB,EAAA,CAAA;sBAD5B,KAAK;gBAIC,aAAa,EAAA,CAAA;sBADnB,KAAK;gBAIC,aAAa,EAAA,CAAA;sBADnB,KAAK;gBAIC,oBAAoB,EAAA,CAAA;sBAD1B,KAAK;gBAIC,eAAe,EAAA,CAAA;sBADrB,KAAK;gBAIC,sBAAsB,EAAA,CAAA;sBAD5B,KAAK;gBAIC,aAAa,EAAA,CAAA;sBADnB,KAAK;gBAIC,eAAe,EAAA,CAAA;sBADrB,KAAK;gBAIC,qBAAqB,EAAA,CAAA;sBAD3B,KAAK;gBAIC,mBAAmB,EAAA,CAAA;sBADzB,KAAK;gBAIC,iBAAiB,EAAA,CAAA;sBADvB,KAAK;gBAIC,QAAQ,EAAA,CAAA;sBADd,KAAK;gBAQC,cAAc,EAAA,CAAA;sBADpB,MAAM;gBAYI,YAAY,EAAA,CAAA;sBADtB,KAAK;gBAoBC,QAAQ,EAAA,CAAA;sBADd,MAAM;gBAIC,yBAAyB,EAAA,CAAA;sBADhC,SAAS;uBAAC,8BAA8B,CAAA;gBAIjC,gBAAgB,EAAA,CAAA;sBADvB,SAAS;uBAAC,YAAY,CAAA;gBAQhB,SAAS,EAAA,CAAA;sBADf,MAAM;gBAIA,UAAU,EAAA,CAAA;sBADhB,KAAK;gBAIC,gBAAgB,EAAA,CAAA;sBADtB,MAAM;gBAIA,aAAa,EAAA,CAAA;sBADnB,KAAK;gBAIC,WAAW,EAAA,CAAA;sBADjB,KAAK;gBAIC,kBAAkB,EAAA,CAAA;sBADxB,KAAK;gBAIC,UAAU,EAAA,CAAA;sBADhB,MAAM;gBAIA,WAAW,EAAA,CAAA;sBADjB,MAAM;gBAIA,iBAAiB,EAAA,CAAA;sBADvB,MAAM;gBAOA,WAAW,EAAA,CAAA;sBADjB,KAAK;gBAUC,cAAc,EAAA,CAAA;sBADpB,KAAK;gBASC,QAAQ,EAAA,CAAA;sBADd,KAAK;gBAIC,mBAAmB,EAAA,CAAA;sBADzB,KAAK;gBAIC,oBAAoB,EAAA,CAAA;sBAD1B,KAAK;gBAGC,qBAAqB,EAAA,CAAA;sBAD3B,KAAK;gBAKC,mBAAmB,EAAA,CAAA;sBADzB,KAAK;gBAQC,eAAe,EAAA,CAAA;sBADrB,KAAK;gBAIC,QAAQ,EAAA,CAAA;sBADd,KAAK;gBAIC,cAAc,EAAA,CAAA;sBADpB,MAAM;gBAMI,GAAG,EAAA,CAAA;sBADb,KAAK;gBAuCK,SAAS,EAAA,CAAA;sBADnB,KAAK;gBAsBC,SAAS,EAAA,CAAA;sBADf,KAAK;gBAMK,MAAM,EAAA,CAAA;sBADhB,KAAK;gBAwBC,gBAAgB,EAAA,CAAA;sBADtB,KAAK;gBAIC,mBAAmB,EAAA,CAAA;sBADzB,KAAK;gBAIC,eAAe,EAAA,CAAA;sBADrB,KAAK;gBAIC,aAAa,EAAA,CAAA;sBADnB,KAAK;gBAIC,2BAA2B,EAAA,CAAA;sBADjC,KAAK;gBAKC,mBAAmB,EAAA,CAAA;sBADzB,KAAK;gBAKC,cAAc,EAAA,CAAA;sBADpB,KAAK;gBAKC,UAAU,EAAA,CAAA;sBADhB,KAAK;gBAKC,UAAU,EAAA,CAAA;sBADhB,KAAK;gBAKC,kBAAkB,EAAA,CAAA;sBADxB,KAAK;gBAKC,gBAAgB,EAAA,CAAA;sBADtB,KAAK;gBAMC,QAAQ,EAAA,CAAA;sBADd,KAAK;gBAKC,WAAW,EAAA,CAAA;sBADjB,KAAK;gBAKC,SAAS,EAAA,CAAA;sBADf,KAAK;gBAKC,QAAQ,EAAA,CAAA;sBADd,KAAK;gBAWC,wBAAwB,EAAA,CAAA;sBAD9B,KAAK;gBAIC,aAAa,EAAA,CAAA;sBADnB,KAAK;gBAOK,iBAAiB,EAAA,CAAA;sBAD3B,KAAK;gBAiBC,cAAc,EAAA,CAAA;sBADpB,KAAK;gBAIC,oBAAoB,EAAA,CAAA;sBAD1B,MAAM;gBAIA,cAAc,EAAA,CAAA;sBADpB,KAAK;gBAIC,oBAAoB,EAAA,CAAA;sBAD1B,KAAK;gBAIC,iBAAiB,EAAA,CAAA;sBADvB,KAAK;gBAIC,uBAAuB,EAAA,CAAA;sBAD7B,KAAK;gBAIC,iBAAiB,EAAA,CAAA;sBADvB,KAAK;gBAIC,kBAAkB,EAAA,CAAA;sBADxB,KAAK;gBAIC,oBAAoB,EAAA,CAAA;sBAD1B,KAAK;gBAIC,qBAAqB,EAAA,CAAA;sBAD3B,KAAK;gBAIC,mBAAmB,EAAA,CAAA;sBADzB,KAAK;gBAIC,oBAAoB,EAAA,CAAA;sBAD1B,KAAK;gBAIC,gBAAgB,EAAA,CAAA;sBADtB,KAAK;gBAIC,iBAAiB,EAAA,CAAA;sBADvB,KAAK;gBAGC,eAAe,EAAA,CAAA;sBADrB,KAAK;gBAGC,0BAA0B,EAAA,CAAA;sBADhC,KAAK;gBAGC,kBAAkB,EAAA,CAAA;sBADxB,KAAK;gBAGC,eAAe,EAAA,CAAA;sBADrB,KAAK;gBAGC,kBAAkB,EAAA,CAAA;sBADxB,KAAK;gBAGC,kBAAkB,EAAA,CAAA;sBADxB,KAAK;gBAIC,KAAK,EAAA,CAAA;sBADX,KAAK;gBAIC,SAAS,EAAA,CAAA;sBADf,KAAK;gBAIC,WAAW,EAAA,CAAA;sBADjB,KAAK;gBAIC,0BAA0B,EAAA,CAAA;sBADhC,KAAK;gBAOC,gBAAgB,EAAA,CAAA;sBADtB,KAAK;gBAGC,QAAQ,EAAA,CAAA;sBADd,KAAK;gBAGC,cAAc,EAAA,CAAA;sBADpB,MAAM;gBAIA,kBAAkB,EAAA,CAAA;sBADxB,KAAK;gBAaK,mBAAmB,EAAA,CAAA;sBAD7B,KAAK;gBAeK,gBAAgB,EAAA,CAAA;sBAD1B,KAAK;gBAMC,oBAAoB,EAAA,CAAA;sBAD1B,KAAK;gBAGC,WAAW,EAAA,CAAA;sBADjB,KAAK;gBAIC,MAAM,EAAA,CAAA;sBADZ,KAAK;gBAIC,YAAY,EAAA,CAAA;sBADlB,MAAM;gBAIA,cAAc,EAAA,CAAA;sBADpB,MAAM;gBAUI,IAAI,EAAA,CAAA;sBADd,KAAK;gBAWC,UAAU,EAAA,CAAA;sBADhB,MAAM;gBAIA,SAAS,EAAA,CAAA;sBADf,KAAK;gBAIC,eAAe,EAAA,CAAA;sBADrB,MAAM;gBAIA,WAAW,EAAA,CAAA;sBADjB,MAAM;gBAIA,UAAU,EAAA,CAAA;sBADhB,MAAM;gBAIA,YAAY,EAAA,CAAA;sBADlB,MAAM;gBAIA,aAAa,EAAA,CAAA;sBADnB,MAAM;gBAIA,SAAS,EAAA,CAAA;sBADf,MAAM;gBAIA,gBAAgB,EAAA,CAAA;sBADtB,MAAM;gBAIA,gBAAgB,EAAA,CAAA;sBADtB,MAAM;gBAIA,SAAS,EAAA,CAAA;sBADf,KAAK;gBAIC,iBAAiB,EAAA,CAAA;sBADvB,MAAM;gBAIA,sBAAsB,EAAA,CAAA;sBAD5B,MAAM;gBAIA,eAAe,EAAA,CAAA;sBADrB,MAAM;gBAKA,IAAI,EAAA,CAAA;sBADV,KAAK;gBAIC,UAAU,EAAA,CAAA;sBADhB,MAAM;gBAIA,UAAU,EAAA,CAAA;sBADhB,KAAK;gBAIC,OAAO,EAAA,CAAA;sBADb,KAAK;gBAIC,OAAO,EAAA,CAAA;sBADb,KAAK;gBAMG,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBAKC,WAAW,EAAA,CAAA;sBADjB,KAAK;gBAwCK,kBAAkB,EAAA,CAAA;sBAD5B,KAAK;gBAw1CC,aAAa,EAAA,CAAA;sBADnB,YAAY;uBAAC,aAAa,CAAA;;;AEx/D7B,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAa,EAAE,OAAY,KAAa;AACpE,IAAA,OAAO,IAAI,CAAC;AACd,CAAC,CAAA;MACY,UAAU,CAAA;AACd,IAAA,GAAG,CAAC,OAAY,EAAA;QACrB,IAAI,MAAM,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE;AAC9C,YAAA,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACtB,SAAA;KACF;AACM,IAAA,KAAK,CAAC,OAAY,EAAA;QACvB,IAAI,MAAM,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE;AAChD,YAAA,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACxB,SAAA;KAEF;AACM,IAAA,IAAI,CAAC,OAAY,EAAA;QACtB,IAAI,MAAM,CAAC,kBAAkB,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;AAC/C,YAAA,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACvB,SAAA;KACF;AACF,CAAA;AAED,MAAM,CAAC,YAAY,CAAC,GAAG,IAAI,UAAU,EAAE;;ACtBvC;AA4DA,IAAI,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;AAC9B,IAAA,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC1B,CAAA;AAED,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;AAC1B,IAAA,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,mCAAmC,CAAC,EAAE;AACpE,QAAA,OAAO,CAAC,KAAK,CACX,8KAA8K,CAC/K,CAAC;AACH,KAAA;AACF,CAAA;AAED,SAAS,YAAY,CAAC,GAAW,EAAE,OAAyB,EAAA;AAC1D,IAAA,MAAM,2BAA2B,GAAkC,MAAc,CAAC,2BAA2B,CAAC;IAE9G,MAAM,UAAU,GAAkB,2BAA2B,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAChF,MAAM,UAAU,GAAkB,2BAA2B,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAChF,IAAI,OAAO,KAAK,OAAO,EAAE;QACvB,IAAI,WAAW,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE;AACzC,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;QACD,IAAI,CAAC,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YACzC,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;AAC/C,SAAA;AAED,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AAED,IAAA,IAAI,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,GAAG,EAAE;;AAEzE,QAAA,OAAO,IAAI,CAAC;AACb,KAAA;;;;;;IAMD,MAAM,cAAc,GAAG,2BAA2B,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACzE,IAAI,CAAC,CAAC,cAAc,EAAE;AACpB,QAAA,OAAO,IAAI,CAAC;AACb,KAAA;IAED,IAAI,CAAC,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;QACzC,IAAI,WAAW,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE;AACzC,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AACF,KAAA;IAED,IAAI,CAAC,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;QACzC,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;AAC/C,KAAA;AACD,IAAA,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,QAAuB,EAAE,GAAW,EAAE,OAAyB,EAAA;IAClF,IAAI,CAAC,QAAQ,EAAE;AACb,QAAA,OAAO,IAAI,CAAC;AACb,KAAA;AACD,IAAA,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,KAAK,CAAC,MAAc,EAAE,GAAW,EAAE,OAAyB,EAAA;IACnE,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,GAAG,GAAG,CAAC,CAAC;AACZ,IAAA,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;;AAE9B,IAAA,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;QAC5B,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AACtC,KAAA;AACD,IAAA,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAC3B,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACrC,KAAA;AACD,IAAA,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAC3B,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACrC,KAAA;AACD,IAAA,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAC7B,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AACvC,KAAA;AACD,IAAA,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;QAC5B,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AACtC,KAAA;IAED,IAAI,MAAM,KAAK,IAAI,EAAE;QACnB,GAAG,GAAG,EAAE,CAAC;AACV,KAAA;SAAM,IAAI,MAAM,KAAK,MAAM,EAAE;QAC5B,GAAG,GAAG,EAAE,CAAC;AACV,KAAA;AAAM,SAAA,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,KAAK,EAAE;QAC7C,GAAG,GAAG,GAAG,CAAC;AACX,KAAA;AAAM,SAAA,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,KAAK,EAAE;QAC7C,GAAG,GAAG,GAAG,CAAC;AACX,KAAA;SAAM,IAAI,MAAM,KAAK,KAAK,EAAE;QAC3B,GAAG,GAAG,EAAE,CAAC;AACV,KAAA;SAAM,IAAI,MAAM,KAAK,OAAO,EAAE;QAC7B,GAAG,GAAG,EAAE,CAAC;AACV,KAAA;SAAM,IAAI,MAAM,KAAK,OAAO,EAAE;QAC7B,GAAG,GAAG,EAAE,CAAC;AACV,KAAA;SAAM,IAAI,MAAM,KAAK,IAAI,EAAE;QAC1B,GAAG,GAAG,GAAG,CAAC;AACX,KAAA;SAAM,IAAI,MAAM,KAAK,WAAW,EAAE;QACjC,GAAG,GAAG,CAAC,CAAC;AACT,KAAA;SAAM,IAAI,MAAM,KAAK,MAAM,EAAE;QAC5B,GAAG,GAAG,EAAE,CAAC;AACV,KAAA;SAAM,IAAI,MAAM,KAAK,KAAK,EAAE;QAC3B,GAAG,GAAG,EAAE,CAAC;AACV,KAAA;SAAM,IAAI,MAAM,KAAK,MAAM,EAAE;QAC5B,GAAG,GAAG,EAAE,CAAC;AACV,KAAA;SAAM,IAAI,MAAM,KAAK,OAAO,EAAE;QAC7B,GAAG,GAAG,EAAE,CAAC;AACV,KAAA;SAAM,IAAI,MAAM,KAAK,UAAU,EAAE;QAChC,GAAG,GAAG,EAAE,CAAC;AACV,KAAA;SAAM,IAAI,MAAM,KAAK,QAAQ,EAAE;QAC9B,GAAG,GAAG,EAAE,CAAC;AACV,KAAA;AAAM,SAAA;QACL,GAAG,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAC1C,KAAA;IACD,IAAI,OAAO,KAAK,OAAO,EAAE;AACvB,QAAA,OAAO,MAAM,KAAK,OAAO,IAAI,GAAG,KAAK,MAAM,CAAC;AAC7C,KAAA;AACD,IAAA,OAAO,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,MAAM,CAAC;AAC3C,CAAC;AAED,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;AAChC,IAAA,MAAc,CAAC,YAAY,GAAG,YAAY,CAAC;AAC7C,CAAA;MA4DY,0BAA0B,CAAA;;wHAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;yHAA1B,0BAA0B,EAAA,YAAA,EAAA,CAxDtB,6BAA6B,CADlC,EAAA,OAAA,EAAA,CAAA,gCAAgC,EAAE,YAAY,EAAE,WAAW,CAAA,EAAA,OAAA,EAAA,CAInE,wBAAwB;QACxB,uBAAuB;QACvB,4BAA4B;QAC5B,oBAAoB;QACpB,iBAAiB;QACjB,oBAAoB;QACpB,oBAAoB;QACpB,uBAAuB;QACvB,sBAAsB;QACtB,mBAAmB;QACnB,mBAAmB;QACnB,0BAA0B;QAC1B,0BAA0B;QAC1B,4BAA4B;QAC5B,4BAA4B;QAC5B,wBAAwB;QACxB,oBAAoB;QACpB,yBAAyB;QACzB,sCAAsC;QACtC,sCAAsC;QACtC,yBAAyB;QACzB,4BAA4B;QAC5B,qBAAqB;QACrB,+BAA+B;QAC/B,0BAA0B;QAC1B,mCAAmC;QACnC,6BAA6B;QAC7B,wCAAwC;QACxC,4BAA4B;QAC5B,mCAAmC;QACnC,oBAAoB;QACpB,sBAAsB;QACtB,sBAAsB;QACtB,mBAAmB;QACnB,sBAAsB;QACtB,yBAAyB;QACzB,kCAAkC;QAClC,oBAAoB;QACpB,qBAAqB;QACrB,oBAAoB;QACpB,wBAAwB;QACxB,sBAAsB;QACtB,kBAAkB;QAClB,mBAAmB;QACnB,6BAA6B;QAC7B,gCAAgC;QAChC,6BAA6B;QAC7B,oCAAoC;QACpC,0BAA0B;QAC1B,iCAAiC;QACjC,wBAAwB,CAAA,EAAA,CAAA,CAAA;yHAGf,0BAA0B,EAAA,SAAA,EAvD1B,CAAC,2BAA2B,CAAC,EAAA,OAAA,EAAA,CAF/B,CAAC,gCAAgC,EAAE,YAAY,EAAE,WAAW,CAAC,CAAA,EAAA,CAAA,CAAA;4FAyD3D,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBA1DtC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,gCAAgC,EAAE,YAAY,EAAE,WAAW,CAAC;oBACtE,YAAY,EAAE,CAAC,6BAA6B,CAAC;oBAC7C,SAAS,EAAE,CAAC,2BAA2B,CAAC;AACxC,oBAAA,OAAO,EAAE;wBACP,wBAAwB;wBACxB,uBAAuB;wBACvB,4BAA4B;wBAC5B,oBAAoB;wBACpB,iBAAiB;wBACjB,oBAAoB;wBACpB,oBAAoB;wBACpB,uBAAuB;wBACvB,sBAAsB;wBACtB,mBAAmB;wBACnB,mBAAmB;wBACnB,0BAA0B;wBAC1B,0BAA0B;wBAC1B,4BAA4B;wBAC5B,4BAA4B;wBAC5B,wBAAwB;wBACxB,oBAAoB;wBACpB,yBAAyB;wBACzB,sCAAsC;wBACtC,sCAAsC;wBACtC,yBAAyB;wBACzB,4BAA4B;wBAC5B,qBAAqB;wBACrB,+BAA+B;wBAC/B,0BAA0B;wBAC1B,mCAAmC;wBACnC,6BAA6B;wBAC7B,wCAAwC;wBACxC,4BAA4B;wBAC5B,mCAAmC;wBACnC,oBAAoB;wBACpB,sBAAsB;wBACtB,sBAAsB;wBACtB,mBAAmB;wBACnB,sBAAsB;wBACtB,yBAAyB;wBACzB,kCAAkC;wBAClC,oBAAoB;wBACpB,qBAAqB;wBACrB,oBAAoB;wBACpB,wBAAwB;wBACxB,sBAAsB;wBACtB,kBAAkB;wBAClB,mBAAmB;wBACnB,6BAA6B;wBAC7B,gCAAgC;wBAChC,6BAA6B;wBAC7B,oCAAoC;wBACpC,0BAA0B;wBAC1B,iCAAiC;wBACjC,wBAAwB;AACzB,qBAAA;iBACF,CAAA;;;ACvPY,MAAA,UAAU,GAAG;AACxB,IAAA,IAAI,EAAE,CAAC;AACP,IAAA,IAAI,EAAE,CAAC;AACP,IAAA,KAAK,EAAE,CAAC;AACR,IAAA,MAAM,EAAE,CAAC;AACT,IAAA,GAAG,EAAE,CAAC;;;ACLD,MAAM,aAAa,GAAG,EAAE;AACxB,MAAM,kBAAkB,GAAG;;MCgBrB,8BAA8B,CAAA;AAA3C,IAAA,WAAA,GAAA;QACU,IAAA,CAAA,kBAAkB,GAAG,IAAI,MAAM,CACrC,KAAK;AACH,YAAA,UAAU;AACV,YAAA,WAAW;AACX,YAAA,WAAW;AACX,YAAA,WAAW;AACX,YAAA,WAAW;AACX,YAAA,WAAW;AACX,YAAA,YAAY;AACZ,YAAA,WAAW;;AAEX,YAAA,IAAI;AACJ,YAAA,WAAW;;AAEX,YAAA,IAAI;SACP,CAAC;KAmFH;IAjFc,qBAAqB,GAAA;;YAChC,MAAM,oBAAoB,GAA2B,MAAc;AAChE,iBAAA,oBAAoB,CAAC;AACxB,YAAA,MAAM,WAAW,GAAG,oBAAoB,CAAC,WAAW,CAAC;YAErD,MAAM,MAAM,GAAQ,EAAE,CAAC;AACvB,YAAA,OAAO,WAAW;AACf,iBAAA,WAAW,EAAE;iBACb,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,0BAA0B,EAAE,KAAI;AACvD,gBAAA,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC5B,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CACrC,IAAI,CAAC,YAAY,CAClB,CAAC;AACF,gBAAA,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;AAC9B,gBAAA,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;AAChC,gBAAA,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC;gBACtC,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,YAAY,CACzC,IAAI,CAAC,OAAO,CACb,CAAC;AACF,gBAAA,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;AAChD,gBAAA,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;AAClC,gBAAA,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;AAC5B,gBAAA,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AAC1B,gBAAA,IAAI,0BAA0B,EAAE;AAC9B,oBAAA,MAAM,CAAC,QAAQ,GAAG,0BAA0B,CAAC;AAC9C,iBAAA;AACD,gBAAA,OAAO,WAAW,CAAC,eAAe,EAAE,CAAC;AACvC,aAAC,CAAC;AACD,iBAAA,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,KAAI;AACnB,gBAAA,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC;AAC9B,gBAAA,OAAO,MAAM,CAAC;AAChB,aAAC,CAAC,CAAC;SACN,CAAA,CAAA;AAAA,KAAA;;AAGO,IAAA,YAAY,CAAC,KAAmB,EAAA;;;;;;;QAQtC,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,EAAE;AACZ,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;;;QAID,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACtC,IAAI,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACrC,QAAA,KAAK,GAAG,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;QAClD,IAAI,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACnC,QAAA,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;QACtC,IAAI,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACpC,QAAA,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC;QAC1C,IAAI,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACtC,QAAA,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,MAAM,IAAI,EAAE,GAAG,MAAM,GAAG,CAAC,CAAC;QAClD,IAAI,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACtC,QAAA,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,MAAM,IAAI,EAAE,GAAG,MAAM,GAAG,CAAC,CAAC;QAClD,MAAM,qBAAqB,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;QAChD,IAAI,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC1C,QAAA,UAAU,GAAG,UAAU,IAAI,CAAC,IAAI,UAAU,IAAI,EAAE,GAAG,UAAU,GAAG,CAAC,CAAC;AAClE,QAAA,IAAI,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;AACjD,QAAA,YAAY,GAAG,YAAY,IAAI,CAAC,IAAI,YAAY,IAAI,EAAE,GAAG,YAAY,GAAG,CAAC,CAAC;;;;;QAM1E,IAAI,qBAAqB,KAAK,GAAG,EAAE;YACjC,IAAI,IAAI,UAAU,CAAC;YACnB,MAAM,IAAI,YAAY,CAAC;AACxB,SAAA;aAAM,IAAI,qBAAqB,KAAK,GAAG,EAAE;YACxC,IAAI,IAAI,UAAU,CAAC;YACnB,MAAM,IAAI,YAAY,CAAC;AACxB,SAAA;QAED,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;KACnE;AACF;;ACpHD;;AAEG;;ACFH;;AAEG;;;;"}