diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000000000000000000000000000000000000..cfe63dacc02e9660d5950fa56f7b7020002b21a8
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,10 @@
+# http://editorconfig.org
+root = true
+
+[*.{json, yaml, yml}]
+end_of_line = lf
+indent_size = 2
+indent_style = space
+charset = utf-8
+trim_trailing_whitespace = true
+insert_final_newline = true
diff --git a/.gitignore b/.gitignore
index 7f25da7b29e92b52806880e4b9ac2ff98b94e59b..ccc3312f137c31086962c00ec64799a357f8e9c5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,5 @@
 .DS_Store
 ._*
+*.iml
 .idea/
+ui/config.js
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..c70fef1440d414087779886380d1564864be7120
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,67 @@
+stages:
+  - lint
+  - build
+  - upload
+  - release
+
+lint-job:
+  stage: lint
+  image:
+    name: $CI_REGISTRY/stoplight/spectral:latest
+    entrypoint: [ "" ]
+  script:
+    - spectral lint spec/*.yml
+
+build:
+  stage: build
+  image: $CI_REGISTRY/node:current-alpine
+  before_script:
+    - npm install -g @apidevtools/swagger-cli
+    - mkdir dist
+  script: swagger-cli bundle -t yaml -o dist/zustelldienst.yml spec/zustelldienst.yml
+  # find ./spec -type f -name "*.yml" -exec sh -c 'swagger-cli bundle -t yaml -o dist/$(basename {}) {}' \;
+  artifacts:
+    expose_as: 'Built API spec'
+    paths:
+      - dist/
+    expire_in: 30 days
+
+upload:
+  stage: upload
+  image: $CI_REGISTRY/alpine:latest
+  only:
+    refs:
+      - tags
+    variables:
+      - $CI_COMMIT_TAG
+  before_script:
+    - apk add rsync openssh-client
+    - eval $(ssh-agent -s)
+    - echo "$CI_DEPLOYMENT_PRIVATE_KEY" | tr -d '\r' | ssh-add -
+    - mkdir -p ~/.ssh
+    - chmod 700 ~/.ssh
+    - echo "$UBERSPACE_KNOWN_HOST" >> ~/.ssh/known_hosts
+  script:
+    - sed "s,REPLACEME,$CI_COMMIT_TAG/zustelldienst.yml,g" ui/config.js.template > ui/config.js
+    - rsync -rLvz --size-only --checksum -e "ssh -o CheckHostIP=no" --ipv4 --progress ./ui/. fitko@dorado.uberspace.de:html/
+    - rsync -rLvz --size-only --checksum -e "ssh -o CheckHostIP=no" --ipv4 --progress ./dist/. fitko@dorado.uberspace.de:html/$CI_COMMIT_TAG/
+
+#release-new-api-version:
+#  stage: release
+#  image: registry.gitlab.com/gitlab-org/release-cli:latest
+#  needs:
+#    - job: build
+#      artifacts: true
+#  only:
+#    refs:
+#      - master
+#      - tags
+#    variables:
+#      - $CI_COMMIT_TAG
+#  script:
+#    - release-cli -v
+#    - echo "Releasing new API version"
+#    - release-cli create --name "$CI_COMMIT_TAG" --description './CHANGELOG.md'
+#      --tag-name $CI_COMMIT_TAG
+#      --assets-link '{"name":"combined-$CI_COMMIT_TAG","url":"https://fitko.uber.space/$CI_COMMIT_TAG/zustelldienst.yml"}'
+
diff --git a/.spectral.yml b/.spectral.yml
index 57f5debabc2b2e67d6eca9a971712b5f1b4dbbcb..a85c40a59d996111a7596a0bc84be8b33854b914 100644
--- a/.spectral.yml
+++ b/.spectral.yml
@@ -1,5 +1,13 @@
 extends:
   - spectral:oas
-#  - https://italia.github.io/api-oas-checker/spectral.yml
-#  - https://italia.github.io/api-oas-checker/spectral-generic.yml
+  #  - https://italia.github.io/api-oas-checker/spectral.yml
+  - https://italia.github.io/api-oas-checker/spectral-generic.yml
   - https://italia.github.io/api-oas-checker/spectral-security.yml
+rules:
+  no-default-additionalProperties: hint
+  string-maxlength: hint
+  typed-enum: error
+  paths-status: warn
+  response-with-json-object: error
+  paths-status-return-problem: off
+  paths-status-problem-schema: off
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 0000000000000000000000000000000000000000..4174dd3eed5bcbdcd5004c59e3e674a3930ca5b6
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,582 @@
+# Changelog
+
+Das Format dieser Datei basiert auf [Keep a Changelog](https://keepachangelog.com/de).
+
+## [Unveröffentlicht] - ????-??-??
+
+> Diese Version beinhaltet **breaking changes**
+
+### Allgemein
+
+- Reduktion der Verarbeitung von personenbezogenen Daten
+- Daten eines Antrags müssen nun Ende-zu-Ende verschlüsselt übertragen werden
+- API-Endpunktstruktur hat sich verändert, um
+    - die Pfade einfacher und kürzer zu gestalten
+    - und nur Parameter zu erfassen, die auch benötigt werden
+- Hinzugefügt: Endpunkt `/status` zur Prüfung ob der Zustelldienst verfügbar ist.
+
+#### Destinations
+
+Der Aufbau & Umfang von Destination-Objekten hat sich geändert:
+
+- Das Attribut `publicOrganization` entfällt, weil
+    - nur Kontaktinformationen für den Fall von technischen Problemen erfasst und hierbei so wenig Informationen wie
+      möglich gespeichert werden sollen.
+    - Der Name der Organisation ist als Attribut für eine bessere Zuordnung zu `contactInformation` unter `legalName` gewandert.
+- Das Attribut `technicalContact` wird umbenannt zu `contactInformation` und inhaltlich wie im Beispiel unten geändert
+- Die Attribute `callback` und `callbackURI` wurden zusammengeführt,
+    - um die Struktur flacher zu gestalten,
+    - und weil neben `callbackURI` keine anderen Attribute angeordnet sind.
+- Im Attribut `schemas` entfällt das Attribut `encoding`,
+    - da ab Version 1 jede Kommunikation Ende-zu-Ende verschlüsselt sein muss.
+- Das Attribut `publicKey` wurde umbenannt zu `encryptionKid`. Weiterhin wurde ein Feld `keys` eingefügt.
+    - `encryptionKid`: Die KeyId des Schlüssels der zur Verschlüsselung der an einen Zustellpunkt gesendeten Daten
+      verwendet wird. Der Schlüssel ist abrufbar im Attribut `keys`.
+    - `keys`: Hier befinden sich die öffentlichen Schlüssel des Zustellpunktes.
+    - Der `signingKid` fehlt, da dieser an signierten Nachrichten mit angehängt wird und ebenso im Attribut `keys`
+      auffindbar ist.
+- Ein Schema besteht nun aus einer `schemaURI` und optional einem Feld `mimeType`.
+  - Wurde im Zuge der Vereinfachung so umgesetzt. URLs und URNs können in das Feld `schemaURI` eingetragen werden.
+
+```json
+{
+  "contactInformation": {
+    "legalName": "Max",
+    "address": "Mustermann",
+    "phone": "+49170123456789",
+    "email": "max@mustermann.not",
+    "unit": "Musterabteilung XYZ"
+  },
+  "schemas": [
+    {
+      "schemaURI": "urn:fitko:schema-x"
+    }
+  ],
+  "callback": "http://127.0.0.1:4010/voluptas",
+  "keys": {
+    "my-key-id": {
+      
+    }
+  },
+  "encryptionKid": "my-key-id"
+}
+```
+
+##### Get Destination
+
+- destinationId
+- schemas
+- encryptionKid
+- keys
+
+Das Attribut `contact` (vormals `technicalContact`) wird nicht mehr zurückgegeben, da dies schützenswerte Informationen
+sind.
+
+##### Update Destination
+
+- Attribut `destinationId` ist nicht länger aktualisierbar, da die Id vom Service und nicht vom Nutzer der API verwaltet
+  wird
+- Liefert jetzt bei erfolgreicher Aktualisierung die öffentlichen Attribute des Zustellpunktes zurück, anstatt vorher
+  nur `{ "result": "success" }`.
+
+##### Create Destination
+
+Liefert jetzt bei erfolgreichem Erstellen die öffentlichen Attribute des Zustellpunktes zurück, anstatt vorher nur
+die `destinationId`.
+
+#### Delete Destination
+
+Eigentlich müsste dieser Endpunkt gar keinen Body mitliefern. Damit nicht-konforme Middleware den Request trotzdem
+sauber routen kann, liefert er jetzt `{}` anstatt `{ "result": "success" }` zurück.
+
+### Application Transfer
+
+- Die Grundstruktur eines Antrags wurde angepasst, da der Großteil der Informationen nun verschlüsselt übertragen wird.
+- Einige Endpunkte und HTTP-Methoden wurden angepasst, um den Ablauf kürzer, einfacher, stabiler und sicherer zu
+  gestalten.
+- Metadaten eines Antrags: Alle Metadaten eines Antrags werden nun verschlüsselt im Attribut `encryptedMetadata` übertragen.
+
+#### Create Application
+
+- Beim Anlegen eines Antrags muss nun die Id der Destination (Zustellpunktes) mit angegeben werden, da sie nur bei der
+  Anlage des Antrags notwendig ist und nicht bei den weiteren Aufrufen.
+- Struktur um eine Application anzulegen ist nun nur noch `{ destinationId: …, announcedContentStructure: … }`, da sich die
+  Gesamtstruktur geändert hat. In `announcedContentStructure` wird angegeben ob Fachdaten für diesen Antrag hochgeladen
+  werden als auch eine Liste an UUIDs die für diesen Antrag hochgeladen werden. Die Erstellung der UUIDs ist dem Client
+  überlassen.
+
+#### Add Document to Application
+
+- Der Inhalt des Dokuments wird nun verschlüsselt, daher ist der Content-Type statt application/json nun
+  application/jose
+- Als Antwort müsste dieser Endpunkt gar keinen Body mitliefern. Damit nicht-konforme Middleware den Request trotzdem
+  sauber routet: liefert er jetzt `{}` statt `{"result": "success"}`
+
+#### Send Application
+
+- Send Application und Application Data hinzuzufügen ist nun in einem Endpunkt kombiniert, da kein Antrag ohne Fachdaten
+  übertragen werden können soll.
+- Der Aufruf des Endpunktes und die Übertragung der verschlüsselten Fachdaten markiert den Antrag dann auch als "final"
+  und löst die Übertragung an den Zustellpunkt aus.
+- Die Fachdaten sind nun verschlüsselt, wodurch der Content-Type nicht mehr application/json sonder application/jose ist
+- Der Response Status ist nicht mehr 200, sondern 202, da die Fachdaten akzeptiert wurden und der Antrag abgeschickt
+  wird.
+
+#### Status Endpunkte
+
+- Der `upload-status` entfällt, da alle Informationen verschlüssselt sind und nun nicht bekannt ist, wie viele Dokumente
+  eines Antrags bereits hochgeladen wurden.
+- Die Informationen zum Status eines Antrags und dessen Historie sind nun direkt im Antrag hinterlegt und werden mit zur
+  Verfügung gestellt, wodurch keine separaten Endpunkte mehr notwendig sind.
+
+### Application Retrieval
+
+Wie oben schon angesprochen hat sich die Struktur eines Antrags verändert, sodass ein Antrag bei der Abholung wie folgt
+beispielhaft aufgebaut ist:
+
+```json
+{
+  "destinationId": "879ee109-a690-4db8-ab32-424284184d7d",
+  "applicationId": "ce75a6b8-d72f-4b94-b09e-af6be35bc2ae",
+  "attachments": [
+    "879ee109-a690-4db8-ab32-424284184d7d",
+    "2046f9f1-dc89-4440-9c24-c76a8f40d668"
+  ],
+  "encryptedMetadata": "eyJlbmMiOiJBMjU2R0NNIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.nlXGAufYH36IABDy0En0LXEhGfC20IZSSchs27ADalHpRoTZKfXhc7hcMk8Y9V8yTP0jYbmrq6NtEg-QS2O5TQFD9Hluhpb631PBgKjPXHYX1Y6iUcR1sXxSUPjePi8F8PcZUZuUJLnhz6myyc9scdAq9BXG2cDJVgkfLI8eZdrqnrY24Hh32_7d5OKLFSpSDrBlqfyQuY8Wbs2h8Wy4Z4hwT1aWDO7b-SqJA181hUbNcF_rR4Mze3Fdtu-3uOIQYgLBBRmN1ZHDLk0EKNCI4B8MyDKLGPoM0ZomV5lVwVWjAMRI4CgQkIQ9rnm-Adof-GbegQL3yJSoNIWRWgzCnZBYZ638QgPllCMVW3WvEVvsgj0Hj16PbofqXTQ5S73LINfP6FZawfC0yMrYjSV_N2L0Lkp2KI3BkJcy-PcFhBnhwu2IsJGAlyDRCnXdVqig8m5yLHuSMQTpLW69LzPEskfsjhnNDR-CEBZpicjMfc-4CL6U7E7YoGc_99DzE5U5._JfqyKH23GiKsnDW.ZtMMjZ3GgcgHss8qbFRhrjl4L0kAfbco-oXICkk.VBHJ00FyDTYjOA_OYfiz5g",
+  "encryptedData": "eyJlbmMiOiJBMjU2R0NNIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.nlXGAufYH36IABDy0En0LXEhGfC20IZSSchs27ADalHpRoTZKfXhc7hcMk8Y9V8yTP0jYbmrq6NtEg-QS2O5TQFD9Hluhpb631PBgKjPXHYX1Y6iUcR1sXxSUPjePi8F8PcZUZuUJLnhz6myyc9scdAq9BXG2cDJVgkfLI8eZdrqnrY24Hh32_7d5OKLFSpSDrBlqfyQuY8Wbs2h8Wy4Z4hwT1aWDO7b-SqJA181hUbNcF_rR4Mze3Fdtu-3uOIQYgLBBRmN1ZHDLk0EKNCI4B8MyDKLGPoM0ZomV5lVwVWjAMRI4CgQkIQ9rnm-Adof-GbegQL3yJSoNIWRWgzCnZBYZ638QgPllCMVW3WvEVvsgj0Hj16PbofqXTQ5S73LINfP6FZawfC0yMrYjSV_N2L0Lkp2KI3BkJcy-PcFhBnhwu2IsJGAlyDRCnXdVqig8m5yLHuSMQTpLW69LzPEskfsjhnNDR-CEBZpicjMfc-4CL6U7E7YoGc_99DzE5U5._JfqyKH23GiKsnDW.ZtMMjZ3GgcgHss8qbFRhrjl4L0kAfbco-oXICkk.VBHJ00FyDTYjOA_OYfiz5g",
+  "currentStatus": "queued",
+  "statusHistory": [
+    {
+      "sourceState": "incomplete",
+      "targetState": "queued",
+      "timestamp": "2021-01-30T08:30:00Z"
+    }
+  ]
+}
+```
+
+Die Fachdaten und Metadaten sind verschlüsselt, die Struktur verändert und daher hat sich auch bei der Abholung eines
+Antrags der Prozess verändert bzw. reduziert, indem die Endpunkte für die Abholung der Fachdaten und Metadaten nun
+kombiniert sind.
+
+#### Dokument abholen
+
+Bei der Abholung werden nun als Antwort keine Binärdaten mehr zur Verfügung gestellt, sondern die verschlüsselten
+Inhalte.
+
+#### Bestätigung der Abholung
+
+- Als Antwort müsste dieser Endpunkt gar keinen Body mitliefern. Damit nicht-konforme Middleware den Request trotzdem
+  sauber routet liefert er jetzt `{}` (statt vorher `{"result": "success"}`).
+
+## [0.7.0]
+
+### Umgesetzte Change Requests
+
+#### #13 API Specification: Method of Acknowledge Application endpoint of Subscriber API should be PUT instead of POST
+
+Die Operationen "Send Application" und "Acknowledge Application" wurden auf PUT umgestellt.
+
+Bitte beachten Sie, dass die PUT-Operationen jetzt auf die Status-Resource wirken.
+
+#### #19 contentStructure.data.size entfernen
+
+Aufgrund verschiedener Codierungen kann die Größe der Fachdaten (JSON oder XML) in Bytes nicht einfach und verlässlich
+vorhergesagt werden. Daher wurde die Angabe der Größe der Fachdaten aus den Metadaten entfernt.
+
+#### #23 Pattern nicht referenzieren
+
+Im Dokument (document.json) wurde bei der Property `signature` als Pattern eine Referenz auf base64url.json gesetzt:
+
+```json
+    "signature": {
+"pattern": {
+"$ref": "../common/base64url.json#/pattern"
+},
+"type": "string",
+"description": "Sofern der Antragstellers dieses Dokument signiert hat, wird die Signatur hier base64url-encoded eingebettet"
+}
+```
+
+Dies führt beim Swagger-Codegen und dem OpenAPI-Generator zu Fehlern. Um die Codegenerierung zu erleichtern wurde das
+Pattern dorthin kopiert.
+
+```json
+    "signature": {
+"type": "string",
+"description": "Sofern der Antragstellers dieses Dokument signiert hat, wird die Signatur hier base64url-encoded eingebettet",
+"pattern": "^[a-zA-Z0-9-_=]+$"
+}
+```
+
+#### #24 Keine mehrfachen Typen
+
+Im Modell address-national.json wurde für die Hausnummer (houseNumber) die Typen `integer` und `string` definiert. Die
+Hausnummer sollte eigentlich vom Typ `integer` sein und Zusätze in den Hausnummerzusatz (houseNumberSuffix) kommen. Um
+etwas flexibler zu sein, wurde aber alternativ auch ein `string` für die Hausnummer zugelassen. In FIM wurde die
+Hausnummer auch als Text-Feld definiert (F00000016).
+
+```json
+    "houseNumber": {
+"type": [
+"string",
+"integer"
+],
+"description": "Hausnummer",
+"maxLength": 9,
+"pattern": "^[1-9][0-9]{0,3}(-[1-9][0-9]{0,3})?$",
+"minimum": 1
+}
+```
+
+Die Verwendung von mehr als einem Typen führt bei Codegeneratoren zu Problemen. Daher wird nur noch der Typ `string`
+verwendet.
+
+```json
+    "houseNumber": {
+"type": "string",
+"description": "Hausnummer",
+"maxLength": 9,
+"pattern": "^[1-9][0-9]{0,3}(-[1-9][0-9]{0,3})?$"
+}
+```
+
+#### #25 Rechtsgrundlage der Verwaltungsleistung
+
+Das Modell "Public Service Type" (public-service-type.json) wurde in "Verwaltungsleistung" umbenannt und hat ein
+zusätzliches Feld "Rechtsgrundlage" (legalBasis) erhalten.
+
+#### #33 Antragsdatum
+
+Unter `additionalReferenceInfo` wurde eine optionale Property `applicationDate` (Antragsdatum) hinzugefügt.
+
+#### #34 Status History und aktuellen Status verschieben
+
+Die Pfade für den aktuellen Status und die Statushistorie sind jetzt:
+
+- `/destinations/{destinationId}/applications/{applicationId}/status` - aktueller Status
+- `/destinations/{destinationId}/applications/{applicationId}/status/history` - Statushistorie
+
+#### #35 Info/Test Resource hinzufügen
+
+Es wurde in beiden APIs eine Resource `/info` hinzugefügt, die aktuell die API-Version ausgibt. Dies kann genutzt
+werden, um die Grundsätzliche Erreichbarkeit der API zu testen und um sicherzustellen, dass eine kompatible Version der
+API verwendet wird.
+
+#### #43 AuthentificationInfo um Liste von verifizierten Feldern ergänzen
+
+Die `authentificationInfo` wurde um ein Array `authenticatedFields` ergänzt, das die Felder aus der `identityInfo`
+auflistet, für die die Authentifkation gilt. Zusätzlich wurde `authentificationMethod` zu einem Enum umgewandelt.
+
+#### #45 Mime-Types
+
+Die Mime-Types in Application Schema wurden gemäß RFC abgebildet werden:
+
+- `application/json` statt `json`
+- `application/xml` statt `xml`
+
+#### #49 JSON Web Key Set durch JSON Web Key ersetzt
+
+Die Destination enthält nun einen JWK statt einem JWK Set.
+
+## [0.6.0]
+
+### Dokumentation
+
+- [Fehlercodes](../5_Status-_und_Fehlercodes.md) dokumentiert
+- [Erste Schritte](../1_Getting_Started.md) überarbeitet
+
+### Umgesetzte Change Requests
+
+#### #3 Sematic error of the OAS in editor.swagger.io
+
+Das Security Schema darf keine Leerzeichen enthalten und wurde deswegen von "OAuth 2.0" in "OAuth20" umbenannt.
+
+#### #4 academicTitle -> doctoralDegrees
+
+Alle Vorkommen von `academicTitle` wurden durch `doctoralDegrees` ersetzt.
+
+#### #5 telephone -> telephones
+
+Da Arrays mit einem Plural bezeichnet werden sollen wurde `telephone` durch `telephones` ersetzt.
+
+#### #7 Regex für Hausnummernzusatz ist falsch
+
+Das Pattern für den Hasnummernzusatz `^[\\p{L}0-9. ]*$` war inkorrekt da die Zeichenklassen `\p{L}` nicht zulässig ist.
+Es wurde daher zu `^[A-Za-z0-9. ]*$` korrigiert.
+
+#### #10 API Specification: senderId and subscriberId in URIs
+
+Die Sender- und Subscriber-ID muss nicht mehr über den Pfad mitgegeben werden sondern wird automatisch über das Token
+ermittelt. Damit entfallen die IDs als Pfadangabe.
+
+#### #11 API Specification: Missing nouns in Sender API URIs endpoints
+
+Die Pfade auf in der Sender API enthielten vor den IDs kein beschreibendes Nomen. Dies wurde korrigiert. Zum Beispiel:
+
+- vorher: `/{destinationId}/{applicationId}/data`
+- nachher: `/destinations/{destinationId}/applications/{applicationId}/data`
+
+#### #12 API Specification: Missing destinationId in Get Status endpoint of Sender
+
+Die Operation "Get Status" wies im Gegensatz zu den anderen Operationen keine vorangestellte Destination-ID auf.
+
+- vorher: `/{applicationId}/status`
+- nachher: `/destinations/{destinationId}/applications/{applicationId}/status`
+
+#### #16 Fachdaten optional
+
+Das Element `data` in der `contentStructure` war verpflichtend. Damit mussten Fachdaten übertragen werden. Das Element
+ist jetzt optional.
+
+## [0.5.0]
+
+### Übergreifende Änderungen
+
+#### Basis-URLs
+
+Die Basis-URLs werden ab sofort mit jeder neuen Version geändert, damit ein paralleler Betrieb mehrerer API-Versionen
+möglich ist. Die Basis-URLs für diese Version sind:
+
+- <https://sender.fiep-poc.de/beta5/>
+- <https://subscriber.fiep-poc.de/beta5/>
+
+#### CR-1: Diversen Modellen wurde der Discriminator `type` hinzugefügt
+
+- `models/application/applicant-contact-info.json`
+- `models/application/applicant-contact-info.json`
+- `models/application/applicant-person.json`
+- `models/application/applicant.json`
+- `models/common/address-international.json`
+- `models/common/address-national.json`
+- `models/common/address-postbox.json`
+- `models/common/individual.json`
+- `models/destination-no-id.json`
+
+#### CR-3: Source in Sender ändern
+
+In der Dokumentation werden die Begriffe "Source" und "Sender" synonym verwendet. Um die Dokumentation klarer zu machen,
+wurden alle Vorkommen von "Source" in "Sender" geändert.
+
+<!-- theme: warning -->
+> **Hinweis:** Dies wirkt sich auch auf die OAuth-Scopes aus. Der Scope `{senderId}:source:manage` wurde in `{senderId}:sender:manage` geändert.
+
+#### CR-5: Zusätzliche Properties verbieten
+
+- Wo möglich wurde `"additionalProperties": false` gesetzt um weitere Properties zu verbieten.
+- Bei den Metadaten und der Destination ohne ID musste `"additionalProperties": false` wieder entfernt werden da sonst
+  keine Ableitung mit `allOf` möglich ist.
+
+### Dokumentation
+
+- Release Notes mit aufgenommen
+- Dokumentation zu OAuth integriert
+- Token-URL eingetragen
+- Postman Collection & Environment integriert
+
+### Modelle
+
+#### Destination
+
+`models/destination-no-id.json`
+
+#### eID
+
+- eID-org-acting-person.json aufgelöst und in eID-natural-person.json integriert.
+
+#### Postfachadresse
+
+`models/common/address-national.json`
+`models/common/address-postbox.json`
+
+- Um ein doppeltes `oneOf` zu vermeiden wurde die Postfach Adresse aus der nationalen Adresse herausgelöst.
+
+#### Application Document
+
+`models/application/document.json`
+
+- Regex Pattern für SHA-256/512 Hash präzisiert: "`[0-9A-F]{64,128}`" -> "`^[A-Fa-f0-9]{64}([A-Fa-f0-9]{64})?$`"
+
+### Application Sender API
+
+#### Add Application Data
+
+- Im Erfolgsfall enthält der Body `{"result":"success"}`
+
+#### Add Application Document
+
+- Im Erfolgsfall enthält der Body `{"result":"success"}`
+
+### Application Subscriber API
+
+#### Update Destination
+
+- Im Erfolgsfall enthält der Body `{"result":"success"}`
+
+#### Delete Destination
+
+- Im Erfolgsfall enthält der Body `{"result":"success"}`
+
+#### Acknowledge Application
+
+- Bugfix: Property `final-delivery` auf Camelcase umgestellt.
+- Bugfix: Angaben von `finalDelivery` in Acknowledge Application ist verpflichtend.
+
+## [0.4.0]
+
+### Modelle
+
+- Alle Bezeichner auf CamelCase umgestellt.
+- Beispiele angepasst.
+
+#### Application Metadata
+
+`models/application/metadata-no-id.json`
+
+- `data/mimeType` entfernt, da redundant zu `data/schema/mimeType`
+
+### Application Sender API
+
+- Alle Bezeichner auf CamelCase umgestellt.
+- Beispiele angepasst.
+
+### Application Subscriber API
+
+- Alle Bezeichner auf CamelCase umgestellt.
+- Beispiele angepasst.
+
+## [0.3.0]
+
+### Modelle
+
+#### Application Metadata
+
+`models/application/metadata-no-id.json`
+
+- Property `data/size` ergänzt
+
+#### eID
+
+`models/common/eID-org-acting-person.json`
+
+- Property `artictic-name` in `artistic-name` umbenannt
+
+#### Internationale Adresse
+
+`models/common/address-international.json`
+
+- Property `lines`:
+    - Es müssen mindestens zwei Zeilen angegeben werden
+    - Maximallänge 35 Zeichen
+
+#### Nationale Adresse
+
+`models/common/address-national.json`
+
+- Alle Eigenschaften mit weiteren Einschränkungen mit Maximallänge oder Pattern versehen
+
+#### eID
+
+`models/common/eID-org-acting-person.json`
+
+- Property `academic-title` in `doctoral-degrees` umbenannt
+
+#### Phone
+
+`models/common/phone.json`
+
+- Property `number`: Formatbeschränkung gelockert
+- Property `type` entfernt
+- Property `description` hinzugefügt
+
+#### Phone Number
+
+`models/common/phonenr.json`
+
+- Unbenutztes Modell gelöscht
+
+## [0.2.0] - 2020-03-31
+
+### Modelle
+
+#### Antragsteller - Organisation
+
+`models/application/applicant-organization.json`
+
+- Property `role` entfernt
+- Property `org-validation/validated` entfernt
+- Property `legal-representatives` ist jetzt eine `$ref` auf `models/common/individual.json`
+
+#### Antragsteller - Natürliche Person
+
+`models/application/applicant-person.json`
+
+- Property `role` entfernt
+
+#### Application Schema
+
+Das Schema wurde umgebaut und enthält jetzt drei Angaben:
+
+- mime-type: ist entweder `json` oder `xml`
+- schema-source: Quelle für das Schema. Kann `fim` oder `none` sein. Bei `none` dürfen beliebige Datenstrukturen
+  übertragen werden.
+- schema-id: ID des Schemas, ist von der Schemaquelle (`schema-source`) abhängig.
+
+#### Person
+
+Die Person (Verzeichnis models/person/) wurde weitestgehend entfernt. Es gibt nur noch das Modell
+models/common/individual.json für eine natürliche Person.
+
+#### Phone
+
+`models/common/phone.json`
+
+- Properties `number` und `type` sind jetzt verpflichtend
+
+#### Destination
+
+Die Destination wurde in mehrere Modelle zerlegt, um dem Sender einen anderen Umfang zu zeigen als dem Subscriber.
+
+#### Statusübersicht
+
+`models/status-overview.json`
+
+- Umbenannt: `models/status.json` → `models/status-overview.json`
+- Enum Wert `sending` entfernt
+- Property `since` in `timestamp` umbenannt
+- Property `number` ergänzt
+
+#### Error Body
+
+`models/error-body.json`
+
+- Umbenannt: `models/error.json` → `models/error-body.json`
+- Enthält jetzt ein Array von Fehlern, statt nur einem.
+
+#### Neue Modelle
+
+- base64: `models/common/base64.json`
+- JSON Web Encryption (JWE): `models/common/jwe.json`
+- JSON Web Key (JWK): `models/common/jwk.json`
+
+### Application Sender API
+
+`reference/sender.json`
+
+- Vorkommen von "Transfer" in "Application" umbenannt
+    - Dadurch sind auch Operation-IDs geändert worden (siehe unten)
+- OAuth2 Scopes ergänzt
+- Operation "Get Status Entry" (get-application-status-entry) entfernt
+- Operation "Get Application Upload Status"
+    - Property `docs/doc-id` ergänzt
+- Operation "Create Application": ID in create-application geändert
+- Operation "Send Application" (früher "Commit Application"): ID in commit-application geändert
+
+### Application Subscriber API
+
+- OAuth2 Scopes ergänzt
+- Operation "Acknowledge Application" (früher "Commit Application"): ID in ack-application geändert
+
+### Dokumentation
+
+Die Dokumentation im Verzeichnis `docs` wurde erstellt.
diff --git a/README.md b/README.md
index 90e18f04c72ef04275b54c175c9c6e1809d9f8cf..21cdb4a3ec0e164dbff8aab6698679782752b080 100644
--- a/README.md
+++ b/README.md
@@ -3,11 +3,13 @@
 Für die Spezifikation der FIT-Connect-Schnittstellen gelten die folgenden Architekturregeln.
 
 ## OpenAPI
+
 - Wir verwenden OpenAPI 3.0
 - Die Spezifikation wird bis zur `beta7` als JSON und ab `beta8` als YAML geschreiben
 - Wir verwenden keine Versionsnummern in Dateinamen, da das Repo als Ganzes versioniert wird
 
 ## Verzeichnisse
+
 Das Projektverzeichnis ist wie folgt aufgebaut:
 
 - 📁`assets`
@@ -19,10 +21,16 @@ Das Projektverzeichnis ist wie folgt aufgebaut:
 - 📄`LICENSE`
 
 ## Bezeichner
+
 - Die Bezeichner werden camelCase geschreiben und beginnen mit einem Kleinbuchstaben
-- Eine ID (Identifikator) wird als `Id` (nicht `ID`) geschrieben
+- Eine ID (Identifikator) wird als `Id` nicht `ID` geschrieben
 
 ## Pfade
+
 Multiple Resoucen werden im Pfad durch eine Collection-Resource und einer nachfolgenden ID aufgenommen
 
-Beispiel: `/destinations/{destinationId}/applications/{applicationId}`
+Beispiel: `/applications/{applicationId}`
+
+## API-Version taggen
+
+    git tag -a v1.0.4 -m "API Version 1.0.4"
diff --git a/bundle.sh b/bundle.sh
new file mode 100755
index 0000000000000000000000000000000000000000..d7279daecaef3d5fb3c55773ab4023bb72d8848a
--- /dev/null
+++ b/bundle.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env sh
+
+YML_IN="spec/zustelldienst.yml"
+YML_OUT="spec/zustelldienst-bundled.yml"
+
+docker run --rm -v "$(pwd):/work" jeanberu/swagger-cli \
+  swagger-cli bundle -t yaml -o "/work/$YML_OUT" "/work/$YML_IN"
+
+# Fix: files in docker are created as root:root
+sudo chown "$USER:$USER" $YML_OUT
diff --git a/docs/Detailinformationen/Glossar.md b/docs/Detailinformationen/Glossar.md
index 3de05ad0d4a6357b2514378f1701c13569c366c6..81f04b2daf88585ac6fc98c6854f6eefe25bdb4e 100644
--- a/docs/Detailinformationen/Glossar.md
+++ b/docs/Detailinformationen/Glossar.md
@@ -1,7 +1,17 @@
 # Glossar
 
-...
+<dl>
+  <dt>Application</dt>
 
-**Noch in Arbeit**
+  <dd>Ein Antrag, der von einem Bürgerserviceportal o. ä. Onlinedienst an den Zustelldienst zur Zustellung übergeben wird</dd>
+  <dd>Der Antrag besteht hierbei aus Fachdaten bzw. Antragsdaten, optionalen Anhängen und allgemeinen Metadaten.</dd>
+  <dd>Ein Antrag und alle mit ihm verknüpften Informatioen werden verschlüsselt übertragen.</dd>
 
-...
\ No newline at end of file
+  <dt>Destination</dt>
+  <dd>Eine Destination (Zustellpunkt) ist ein adressierbares Ziel einer Antragsübermittlung, d.h. Zustellpunkte sind spezifische Endpunkte für die Zustellung eines Antrags in der zuständigen Fachanwendung oder virtuellen Poststelle.</dd>
+  <dd>Zustellpunkte bilden damit indirekt die fachliche Zuständigkeit in der zuständigen Stelle ab.</dd>
+
+  <dt>Document</dt>
+  <dd>Jegliche Art von Dokument, die als Anhang zu einem Antrag angehängt werden kann.</dd>
+
+</dl>
diff --git a/docs/Detailinformationen/Release_Notes.md b/docs/Detailinformationen/Release_Notes.md
deleted file mode 100644
index d1e3789ab2ed3ecbc2ef5ce1e1e5753ed93142b6..0000000000000000000000000000000000000000
--- a/docs/Detailinformationen/Release_Notes.md
+++ /dev/null
@@ -1,319 +0,0 @@
-# Release Notes
-
-## Version 0.7
-
-### Umgesetzte Change Requests
-
-#### #13 API Specification: Method of Acknowledge Application endpoint of Subscriber API should be PUT instead of POST
-Die Operationen "Send Application" und "Acknowledge Application" wurden auf PUT umgestellt.
-
-Bitte beachten Sie, dass die PUT-Operationen jetzt auf die Status-Resource wirken.
-
-#### #19 contentStructure.data.size entfernen
-Aufgrund verschiedener Codierungen kann die Größe der Fachdaten (JSON oder XML) in Bytes nicht einfach und verlässlich vorhergesagt werden. Daher wurde die Angabe der Größe der Fachdaten aus den Metadaten entfernt.
-
-#### #23 Pattern nicht referenzieren
-Im Dokument (document.json) wurde bei der Property "signature" als Pattern eine Referenz auf base64url.json gesetzt:
-```json
-    "signature": {
-      "pattern": {
-        "$ref": "../common/base64url.json#/pattern"
-      },
-      "type": "string",
-      "description": "Sofern der Antragstellers dieses Dokument signiert hat, wird die Signatur hier base64url-encoded eingebettet"
-    }
-```
-Dies führt beim Swagger-Codegen und dem OpenAPI-Generator zu Fehlern. Um die Codegenerierung zu erleichtern wurde das Pattern dorthin kopiert.
-```json
-    "signature": {
-      "type": "string",
-      "description": "Sofern der Antragstellers dieses Dokument signiert hat, wird die Signatur hier base64url-encoded eingebettet",
-      "pattern": "^[a-zA-Z0-9-_=]+$"
-    }
-```
-
-#### #24 Keine mehrfachen Typen
-Im Modell address-national.json wurde für die Hausnummer (houseNumber) die Typen `integer` und `string` definiert. Die Hausnummer sollte eigentlich vom Typ `integer` sein und Zusätze in den Hausnummerzusatz (houseNumberSuffix) kommen. Um etwas flexibler zu sein, wurde aber alternativ auch ein `string` für die Hausnummer zugelassen. In FIM wurde die Hausnummer auch als Text-Feld definiert (F00000016).
-```json
-    "houseNumber": {
-      "type": [
-        "string",
-        "integer"
-      ],
-      "description": "Hausnummer",
-      "maxLength": 9,
-      "pattern": "^[1-9][0-9]{0,3}(-[1-9][0-9]{0,3})?$",
-      "minimum": 1
-    }
-```
-Die Verwendung von mehr als einem Typen führt bei Codegeneratoren zu Problemen. Daher wird nur noch der Typ `string` verwendet.
-```json
-    "houseNumber": {
-      "type": "string",
-      "description": "Hausnummer",
-      "maxLength": 9,
-      "pattern": "^[1-9][0-9]{0,3}(-[1-9][0-9]{0,3})?$"
-    }
-```
-
-#### #25 Rechtsgrundlage der Verwaltungsleistung
-Das Modell "Public Service Type" (public-service-type.json) wurde in "Verwaltungsleistung" umbenannt und hat ein zusätzliches Feld "Rechtsgrundlage" (legalBasis) erhalten.
-
-#### #33 Antragsdatum
-Unter `additionalReferenceInfo` wurde eine optionale Property `applicationDate` (Antragsdatum) hinzugefügt.
-
-#### #34 Status History und aktuellen Status verschieben
-Die Pfade für den aktuellen Status und die Statushistorie sind jetzt:
-- `/destinations/{destinationId}/applications/{applicationId}/status` - aktueller Status
-- `/destinations/{destinationId}/applications/{applicationId}/status/history` - Statushistorie
-
-#### #35 Info/Test Resource hinzufügen
-Es wurde in beiden APIs eine Resource `/info` hinzugefügt, die aktuell die API-Version ausgibt. Dies kann genutzt werden, um die Grundsätzliche Erreichbarkeit der API zu testen und um sicherzustellen, dass eine kompatible Version der API verwendet wird.
-
-#### #43 AuthentificationInfo um Liste von verifizierten Feldern ergänzen
-Die `authentificationInfo` wurde um ein Array `authenticatedFields` ergänzt, das die Felder aus der `identityInfo`auflistet, für die die Authentifkation gilt. Zusätzlich wurde `authentificationMethod` zu einem Enum umgewandelt.
-
-#### #45 Mime-Types
-Die Mime-Types in Application Schema wurden gemäß RFC abgebildet werden:
-- `application/json` statt `json`
-- `application/xml` statt `xml`
-
-#### #49 JSON Web Key Set durch JSON Web Key ersetzt
-Die Destination enthält nun einen JWK statt einem JWK Set.
-
-
-
-## Version 0.6
-
-### Dokumentation
-- [Fehlercodes](../5_Status-_und_Fehlercodes.md) dokumentiert
-- [Erste Schritte](../1_Getting_Started.md) überarbeitet
-
-### Umgesetzte Change Requests
-
-#### #3 Sematic error of the OAS in editor.swagger.io
-Das Security Schema darf keine Leerzeichen enthalten und wurde deswegen von "OAuth 2.0" in "OAuth20" umbenannt.
-
-#### #4 academicTitle -> doctoralDegrees
-Alle Vorkommen von "academicTitle" wurden durch "doctoralDegrees" ersetzt.
-
-#### #5 telephone -> telephones
-Da Arrays mit einem Plural bezeichnet werden sollen wurde "telephone" durch "telephones" ersetzt.
-
-#### #7 Regex für Hausnummernzusatz ist falsch
-Das Pattern für den Hasnummernzusatz `^[\\p{L}0-9. ]*$` war inkorrekt da die Zeichenklassen `\p{L}` nicht zulässig ist. Es wurde daher zu `^[A-Za-z0-9. ]*$` korrigiert.
-
-#### #10 API Specification: senderId and subscriberId in URIs
-Die Sender- und Subscriber-ID muss nicht mehr über den Pfad mitgegeben werden sondern wird automatisch über das Token ermittelt. Damit entfallen die IDs als Pfadangabe.
-
-#### #11 API Specification: Missing nouns in Sender API URIs endpoints
-Die Pfade auf in der Sender API enthielten vor den IDs kein beschreibendes Nomen. Dies wurde korrigiert. Zum Beispiel:
-- vorher: `/{destinationId}/{applicationId}/data`
-- nachher: `/destinations/{destinationId}/applications/{applicationId}/data`
-
-#### #12 API Specification: Missing destinationId in Get Status endpoint of Sender 
-Die Operation "Get Status" wies im Gegensatz zu den anderen Operationen keine vorangestellte Destination-ID auf.
-- vorher: `/{applicationId}/status`
-- nachher: `/destinations/{destinationId}/applications/{applicationId}/status`
-
-#### #16 Fachdaten optional
-Das Element "data" in der "contentStructure" war verpflichtend. Damit mussten Fachdaten übertragen werden. Das Element ist jetzt optional.
-
-
-
-## Version 0.5
-
-### Übergreifende Änderungen
-
-#### Basis-URLs
-Die Basis-URLs werden ab sofort mit jeder neuen Version geändert, damit ein paralleler Betrieb mehrerer API-Versionen möglich ist.
-Die Basis-URLs für diese Version sind:
-- https://sender.fiep-poc.de/beta5/
-- https://subscriber.fiep-poc.de/beta5/
-
-#### CR-1: Diversen Modellen den Discriminator "type" hinzugefügt:
-- models/application/applicant-contact-info.json
-- models/application/applicant-contact-info.json
-- models/application/applicant-person.json
-- models/application/applicant.json
-- models/common/address-international.json
-- models/common/address-national.json
-- models/common/address-postbox.json
-- models/common/individual.json
-- models/destination-no-id.json
-
-#### CR-3: Source in Sender ändern
-In der Dokumentation werden die Begriffe "Source" und "Sender" synonym verwendet. Um die Dokumentation klarer zu machen, wurden alle Vorkommen von "Source" in "Sender" geändert.
-
-<!-- theme: warning -->
-> **Hinweis:** Dies wirkt sich auch auf die OAuth-Scopes aus. Der Scope `{senderId}:source:manage` wurde in `{senderId}:sender:manage` geändert.
-
-#### CR-5: Zusätzliche Properties verbieten
-- Wo möglich wurde `"additionalProperties": false` gesetzt um weitere Properties zu verbieten.
-- Bei den Metadaten und der Destination ohne ID musste `"additionalProperties": false` wieder entfernt werden da sonst keine Ableitung mit `allOf` möglich ist.
-
-### Dokumentation
-- Release Notes mit aufgenommen
-- Dokumentation zu OAuth integriert
-- Token-URL eingetragen
-- Postman Collection & Environment integriert
-
-### Modelle
-
-#### Destination
-models/destination-no-id.json
-
-#### eID
-- eID-org-acting-person.json aufgelöst und in eID-natural-person.json integriert.
-
-#### Postfachadresse
-models/common/address-national.json
-models/common/address-postbox.json
-- Um ein doppeltes `oneOf` zu vermeiden wurde die Postfach Adresse aus der nationalen Adresse herausgelöst.
-
-#### Application Document
-models/application/document.json
-- Regex Pattern für SHA-256/512 Hash präzisiert: "`[0-9A-F]{64,128}`" -> "`^[A-Fa-f0-9]{64}([A-Fa-f0-9]{64})?$`"
-
-### Application Sender API
-
-#### Add Application Data
-- Im Erfolgsfall enthält der Body `{"result":"success"}`
-
-#### Add Application Document
-- Im Erfolgsfall enthält der Body `{"result":"success"}`
-
-### Application Subscriber API
-
-#### Update Destination
-- Im Erfolgsfall enthält der Body `{"result":"success"}`
-
-#### Delete Destination
-- Im Erfolgsfall enthält der Body `{"result":"success"}`
-
-#### Acknowledge Application
-- Bugfix: Property `final-delivery` auf Camelcase umgestellt.
-- Bugfix: Angaben von `finalDelivery` in Acknowledge Application ist verpflichtend.
-
-
-
-## Version 0.4
-### Modelle
-- Alle Bezeichner auf CamelCase umgestellt.
-- Beispiele angepasst.
-
-#### Application Metadata
-models/application/metadata-no-id.json
-- data/mimeType entfernt, da redundant zu data/schema/mimeType
-
-### Application Sender API
-- Alle Bezeichner auf CamelCase umgestellt.
-- Beispiele angepasst.
-
-### Application Subscriber API
-- Alle Bezeichner auf CamelCase umgestellt.
-- Beispiele angepasst.
-
-
-
-## Version 0.3
-### Modelle
-
-#### Application Metadata
-models/application/metadata-no-id.json
-- Property "data/size" ergänzt
-
-#### eID
-models/common/eID-org-acting-person.json
-- Property "artictic-name" in "artistic-name" umbenannt
-
-#### Internationale Adresse
-models/common/address-international.json 
-- Property "lines":
-  - Es müssen mindestens zwei Zeilen angegeben werden
-  - Maximallänge 35 Zeichen
-
-#### Nationale Adresse
-models/common/address-national.json 
-- Alle Propertys mit weiteren Einschränkungen wir Maximallänge oder Pattern versehen
-
-#### eID
-models/common/eID-org-acting-person.json
-- Property "academic-title" in "doctoral-degrees" umbenannt
-
-#### Phone
-models/common/phone.json
-- Property "number": Formatbeschränkung gelockert
-- Property "type" entfernt
-- Property "description" hinzugefügt
-
-#### Phone Number
-models/common/phonenr.json
-- Unbenutztes Modell gelöscht
-
-
-
-## Version 0.2
-Veröffentlicht 2020-03-31
-
-### Modelle
-#### Antragsteller - Organisation
-models/application/applicant-organization.json
-- Property "role" entfernt
-- Property "org-validation/validated" entfernt
-- Property "legal-representatives" ist jetzt eine $ref auf models/common/individual.json
-
-#### Antragsteller - Natürliche Person
-models/application/applicant-person.json
-- Property "role" entfernt
-
-#### Application Schema
-Das Schema wurde umgebaut und enthält jetzt drei Angaben:
-- mime-type: ist entweder "json" oder "xml"
-- schema-source: Quelle für das Schema. Kann "fim" oder "none" sein. Bei "none" dürfen beliebige Datenstrukturen übertragen werden.
-- schema-id: ID des Schemas, ist von der Schema Quelle (schema-source) abhängig.
-
-#### Person
-Die Person (Verzeichnis models/person/) wurde weitestgehend entfernt. Es gibt nur noch das Modell models/common/individual.json für eine natürliche Person.
-
-#### Phone
-models/common/phone.json
-- Properties "number" und "type" sind jetzt verpflichtend
-
-#### Destination
-Die Destination wurde in mehrere Modelle zerlegt, um dem Sender einen anderen Umfang zu zeigen als dem Subscriber.
-
-#### Statusübersicht
-models/status-overview.json
-- Umbenannt: models/status.json → models/status-overview.json
-- Enum Wert "sending" entfernt
-- Property "since" in "timestamp" umbenannt
-- Property "number" ergänzt
-
-#### Error Body
-models/error-body.json
-- Umbenannt: models/error.json → models/error-body.json
-- Enthält jetzt ein Array von Fehlern, statt nur einem.
-
-#### Neue Modelle
-- base64: models/common/base64.json
-- JSON Web Encryption (JWE): models/common/jwe.json
-- JSON Web Key (JWK): models/common/jwk.json
-
-### Application Sender API
-reference/sender.json
-- Vorkommen von "Transfer" in "Application" umbenannt
-  - Dadurch sind auch  Operation-IDs geändert worden (siehe unten)
-- OAuth2 Scopes ergänzt
-- Operation "Get Status Entry" (get-application-status-entry) entfernt
-- Operation "Get Application Upload Status"
-  - Property "docs/doc-id" ergänzt
-- Operation "Create Application": ID in create-application geändert
-- Operation "Send Application" (früher "Commit Application"): ID in commit-application geändert
-
-### Application Subscriber API
-- OAuth2 Scopes ergänzt
-- Operation "Acknowledge Application" (früher "Commit Application"): ID in ack-application geändert
-
-### Dokumentation
-Die Dokumentation im Verzeichnis "docs" wurde erstellt.
diff --git a/metadata-schema/.gitkeep b/metadata-schema/.gitkeep
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/models/application/applicant-contact-info.json b/models/application/applicant-contact-info.json
deleted file mode 100644
index 22f710ccb72a100d6c4bfebb6cf91fc18e249f11..0000000000000000000000000000000000000000
--- a/models/application/applicant-contact-info.json
+++ /dev/null
@@ -1,85 +0,0 @@
-{
-  "type": "object",
-  "title": "Applicant Contact Info",
-  "description": "Kontaktdaten des Antragstellers",
-  "additionalProperties": false,
-  "x-examples": {
-    "example-1": {
-      "electronicAdresses": [
-        {
-          "channelType": "Service-Account-Mailbox",
-          "address": "3b0c9c8c-0801-45f0-a331-2abfc9db78d0"
-        }
-      ],
-      "physicalAdress": {
-        "street": "Kurzer Weg",
-        "houseNumber": "7",
-        "postalCode": "12345",
-        "city": "Ankh-Morpork"
-      },
-      "telephones": [
-        {
-          "number": "+49 89 32168-42",
-          "mobile": true,
-          "description": "work"
-        }
-      ]
-    }
-  },
-  "properties": {
-    "physicalAddress": {
-      "oneOf": [
-        {
-          "$ref": "../common/address-national.json"
-        },
-        {
-          "$ref": "../common/address-postbox.json"
-        },
-        {
-          "$ref": "../common/address-international.json"
-        }
-      ],
-      "description": "Physikalische (Post-)Adresse",
-      "discriminator": {
-        "propertyName": "type",
-        "mapping": {
-          "national": "../common/address-national.json",
-          "postbox": "../common/address-postbox.json",
-          "international": "../common/address-international.json"
-        }
-      }
-    },
-    "telephones": {
-      "type": "array",
-      "description": "Liste der Telefonnummern, außer Fax",
-      "items": {
-        "$ref": "../common/phone.json"
-      }
-    },
-    "electronicAddresses": {
-      "type": "array",
-      "description": "Elektronische Kontaktmöglkichkeiten, z.B. E-Mail",
-      "items": {
-        "type": "object",
-        "description": "",
-        "additionalProperties": false,
-        "properties": {
-          "channelType": {
-            "type": "string",
-            "enum": [
-              "Service-Account-Mailbox",
-              "De-Mail",
-              "E-Mail",
-              "Fax"
-            ],
-            "description": "Art der Kommunikationsmöglichkeit"
-          },
-          "address": {
-            "type": "string",
-            "description": "Kommunikationsadresse"
-          }
-        }
-      }
-    }
-  }
-}
\ No newline at end of file
diff --git a/models/application/applicant-organization.json b/models/application/applicant-organization.json
deleted file mode 100644
index 9f2e7b2d0e7f2e77ec327ff83a0a806089be962e..0000000000000000000000000000000000000000
--- a/models/application/applicant-organization.json
+++ /dev/null
@@ -1,113 +0,0 @@
-{
-  "type": "object",
-  "title": "Applicant Organisation",
-  "description": "Antragsteller in Form von einer Organisation, z.B. einem Unternehmen",
-  "additionalProperties": false,
-  "properties": {
-    "identifier": {
-      "type": "array",
-      "description": "IDs für diese Organisation",
-      "items": {
-        "$ref": "../common/identifier.json"
-      }
-    },
-    "contactInfo": {
-      "$ref": "./applicant-contact-info.json"
-    },
-    "actingPerson": {
-      "type": "array",
-      "description": "Im Namen der Organisation auftretende natürliche Personen, wie z.B. Geschäftsführer, Vorstände oder Prokuristen",
-      "items": {
-        "type": "object",
-        "additionalProperties": false,
-        "properties": {
-          "identityInfo": {
-            "$ref": "../common/natural-person.json"
-          },
-          "authentificationInfo": {
-            "$ref": "../common/authentification-info.json"
-          }
-        }
-      }
-    },
-    "organizationInfo": {
-      "type": "object",
-      "description": "Informationen über die Organisation",
-      "additionalProperties": false,
-      "properties": {
-        "legalName": {
-          "type": "string",
-          "description": "Name oder Bezeichnung - Der rechtliche Name einer Organisation. Der Name ist nicht zwingend eindeutig, um die Organisation zu identifizieren."
-        },
-        "organizationType": {
-          "type": "string",
-          "description": "Rechtsform der Organisation"
-        },
-        "registryCourt": {
-          "type": "string",
-          "description": "Registergericht"
-        },
-        "registryType": {
-          "type": "string",
-          "description": "Registerart - Die Registerart macht die Registernummer zur Identifizierung der Organisation innerhalb des Registergerichts eindeutig (z. B. HRA und HRB als Registerarten für das Handelsregister)."
-        },
-        "registryNumber": {
-          "type": "string",
-          "description": "Registernummer, z.B. vom Handelsregister"
-        },
-        "legalAddress": {
-          "oneOf": [
-            {
-              "$ref": "../common/address-national.json"
-            },
-            {
-              "$ref": "../common/address-postbox.json"
-            },
-            {
-              "$ref": "../common/address-international.json"
-            }
-          ],
-          "description": "Offizielle Adresse",
-          "discriminator": {
-            "propertyName": "type",
-            "mapping": {
-              "national": "../common/address-national.json",
-              "postbox": "../common/address-postbox.json",
-              "international": "../common/address-international.json"
-            }
-          }
-        },
-        "legalRepresentatives": {
-          "type": "array",
-          "description": "Namen der Mitglieder des Vertretungsorgans oder der gesetzlichen Vertreter",
-          "items": {
-            "$ref": "../common/individual.json"
-          }
-        }
-      }
-    },
-    "orgValidation": {
-      "type": "object",
-      "description": "Informationen, ob diese Organisation vom sendenden System identifiziert wurde",
-      "additionalProperties": false,
-      "properties": {
-        "method": {
-          "type": "string",
-          "description": "Identifizierungsmethode"
-        }
-      },
-      "required": [
-        "method"
-      ]
-    },
-    "type": {
-      "type": "string",
-      "enum": [
-        "organization"
-      ]
-    }
-  },
-  "required": [
-    "type"
-  ]
-}
diff --git a/models/application/applicant-person.json b/models/application/applicant-person.json
deleted file mode 100644
index 661678c2d6970382b6319ae0be2a6b7de322e0ba..0000000000000000000000000000000000000000
--- a/models/application/applicant-person.json
+++ /dev/null
@@ -1,77 +0,0 @@
-{
-  "type": "object",
-  "title": "Applicant Person",
-  "description": "Antragstellerdaten für eine natürliche Person",
-  "additionalProperties": false,
-  "properties": {
-    "identifier": {
-      "type": "array",
-      "description": "IDs der natürlichen Person",
-      "items": {
-        "$ref": "../common/identifier.json"
-      }
-    },
-    "authentificationInfo": {
-      "$ref": "../common/authentification-info.json"
-    },
-    "identityInfo": {
-      "$ref": "../common/natural-person.json"
-    },
-    "contactInfo": {
-      "$ref": "./applicant-contact-info.json"
-    },
-    "type": {
-      "type": "string",
-      "enum": [
-        "person"
-      ]
-    }
-  },
-  "required": [
-    "type"
-  ],
-  "x-examples": {
-    "example-1": {
-      "type": "person",
-      "authentificationInfo": {
-        "assuranceLevel": "high",
-        "authentificationMethod": "eID",
-        "timestamp": "2020-03-03T12:38:23Z"
-      },
-      "identityInfo": {
-        "dateOfBirth": "1970-09-13",
-        "gender": "m",
-        "givenName": "WERNER",
-        "familyName": "MUSTERMANN",
-        "placeOfResidence": {
-          "type": "national",
-          "street": "KURZER WEG 7",
-          "postalCode": "12345",
-          "city": "ANKH-MORPORK"
-        }
-      },
-      "contactInfo": {
-        "electronicAddresses": [
-          {
-            "channelType": "Service-Account-Mailbox",
-            "address": "3b0c9c8c-0801-45f0-a331-2abfc9db78d0"
-          }
-        ],
-        "physicalAddress": {
-          "type": "national",
-          "street": "Kurzer Weg",
-          "houseNumber": "7",
-          "postalCode": "12345",
-          "city": "Ankh-Morpork"
-        },
-        "telephones": [
-          {
-            "number": "+49 89 32168-42",
-            "mobile": true,
-            "description": "work"
-          }
-        ]
-      }
-    }
-  }
-}
diff --git a/models/application/applicant.json b/models/application/applicant.json
deleted file mode 100644
index 8a7b21172062a4e333f6fe2237ed427cfb9fd1f7..0000000000000000000000000000000000000000
--- a/models/application/applicant.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-  "title": "Applicant",
-  "description": "Ein Antragsteller, entweder eine Organisation oder eine natürliche Person",
-  "oneOf": [
-    {
-      "$ref": "./applicant-person.json"
-    },
-    {
-      "$ref": "./applicant-organization.json"
-    }
-  ],
-  "discriminator": {
-    "propertyName": "type",
-    "mapping": {
-      "person": "./applicant-person.json",
-      "organization": "./applicant-organization.json"
-    }
-  }
-}
\ No newline at end of file
diff --git a/models/application/document.json b/models/application/document.json
deleted file mode 100644
index f79c70c568602a469276a475a3841d95125879c9..0000000000000000000000000000000000000000
--- a/models/application/document.json
+++ /dev/null
@@ -1,92 +0,0 @@
-{
-  "type": "object",
-  "title": "Application Document",
-  "description": "Ein im Antrag (Application) enthaltenes Dokument (z.B. Antragsformular oder hochgeladene Anlage)",
-  "additionalProperties": false,
-  "x-examples": {
-    "example-1": {
-      "docId": "1",
-      "purpose": "form",
-      "size": 13046,
-      "mimeType": "application/pdf",
-      "filename": "test.pdf",
-      "description": "Das Antragsformular",
-      "lang": {
-        "lang": "de",
-        "region": "DE"
-      },
-      "hash": {
-        "algorithm": "SHA-256",
-        "digest": "bf37d894fdf9aeade63975ed648d49c3e8a7a773923597d2418915f54cd7c3b9"
-      }
-    }
-  },
-  "properties": {
-    "purpose": {
-      "type": "string",
-      "enum": [
-        "form",
-        "attachment",
-        "report"
-      ],
-      "description": "Zweck/Art des Dokuments\n- form: Antragsformular\n- attachment: Anlage (Upload)\n- report: Vom System erzeugte Unterlage"
-    },
-    "size": {
-      "type": "integer",
-      "description": "Größe des Dokuments in Bytes"
-    },
-    "filename": {
-      "type": "string",
-      "description": "Ursprünglicher Dateiname bei Erzeugung oder Upload"
-    },
-    "description": {
-      "type": "string",
-      "description": "Optionale Beschreibung des Dokuments"
-    },
-    "lang": {
-      "$ref": "../common/language.json"
-    },
-    "hash": {
-      "type": "object",
-      "description": "Prüfsumme über den Inhalt des Dokuments zur Absicherung auf dem Transportweg",
-      "additionalProperties": false,
-      "properties": {
-        "algorithm": {
-          "type": "string",
-          "description": "Verwendeter Algorithmus",
-          "enum": [
-            "SHA-256",
-            "SHA-512"
-          ]
-        },
-        "digest": {
-          "type": "string",
-          "description": "Prüfsumme, hexadezimal codiert",
-          "pattern": "^[A-Fa-f0-9]{64}([A-Fa-f0-9]{64})?$"
-        }
-      },
-      "required": [
-        "algorithm",
-        "digest"
-      ]
-    },
-    "signature": {
-      "type": "string",
-      "pattern": "^[a-zA-Z0-9-_=]+$",
-      "description": "Sofern der Antragstellers dieses Dokument signiert hat, wird die Signatur hier base64url-encoded eingebettet"
-    },
-    "mimeType": {
-      "$ref": "../common/mime-type.json"
-    },
-    "docId": {
-      "type": "string",
-      "pattern": "^[-_.A-Za-z0-9]+$",
-      "description": "ID des Dokuments. Diese muss nur innerhalb des Antrags (Application) eindeutig sein. Es wird daher empfohlen, die IDs fortlaufend (1, 2 etc.) zu vergeben."
-    }
-  },
-  "required": [
-    "purpose",
-    "size",
-    "mimeType"
-  ]
-}
\ No newline at end of file
diff --git a/models/application/payment-info.json b/models/application/payment-info.json
deleted file mode 100644
index a672941d3f50fddaf18f966984efe4b2110b691c..0000000000000000000000000000000000000000
--- a/models/application/payment-info.json
+++ /dev/null
@@ -1,56 +0,0 @@
-{
-  "type": "object",
-  "title": "Payment Info",
-  "description": "Informationen über eine im Antragsprozess erfolgte Bezahlung.",
-  "additionalProperties": false,
-  "properties": {
-    "reference": {
-      "type": "string",
-      "description": "Bezahlreferenz, z.B. ein Kassenzeichen"
-    },
-    "usage": {
-      "type": "string",
-      "description": "Verwendungszweck",
-      "maxLength": 27
-    },
-    "amount": {
-      "type": "number",
-      "minimum": 0.01,
-      "multipleOf": 0.01,
-      "description": "Geldbetrag"
-    },
-    "timestamp": {
-      "type": "string",
-      "description": "Zeitpunkt der Bezahlung",
-      "format": "date-time"
-    },
-    "status": {
-      "type": "string",
-      "description": "Status der Bezahlung",
-      "enum": [
-        "success",
-        "failed",
-        "open"
-      ]
-    },
-    "transaction": {
-      "type": "string",
-      "description": "Informationen zur Bezahltransaktion, z.B. eine Transaktions-ID"
-    }
-  },
-  "required": [
-    "usage",
-    "amount",
-    "status"
-  ],
-  "x-examples": {
-    "example-1": {
-      "reference": "TP/93/GDP",
-      "usage": "Gewerbeanmeldung",
-      "amount": 17.3,
-      "timestamp": "2020-03-03T12:38:23Z",
-      "status": "success",
-      "transaction": "1f77c5f9b759db9cdce59988b24974d465c7be5e462a6185485559ff6e2dea82"
-    }
-  }
-}
\ No newline at end of file
diff --git a/models/application/public-service-type.json b/models/application/public-service-type.json
deleted file mode 100644
index 56d98412cdcc8a433128551b45034c68d2359331..0000000000000000000000000000000000000000
--- a/models/application/public-service-type.json
+++ /dev/null
@@ -1,58 +0,0 @@
-{
-  "type": "object",
-  "title": "Verwaltungsleistung",
-  "description": "Beschreibung der Art der Verwaltungsleistung. Eine Verwaltungleistung sollte immer mit einer LeiKa-ID beschrieben werden. Ist für die gegebene Verwaltungsleistung keine LeiKa-ID vorhanden, kann die Verwaltungsleistung übergangsweise über die Angabe eines Schemas (`otherIdentifiers`) beschrieben werden.",
-  "additionalProperties": false,
-  "x-examples": {
-    "example-1": {
-      "name": "Gewerbeanmeldung",
-      "description": "Eine Gewerbeanmeldung ist immer dann notwendig, wenn Sie einen stehenden Gewerbebetrieb beginnen.",
-      "leikaId": "99050012104000",
-      "otherIdentifiers": [
-        {
-          "id": "8664844",
-          "schemeID": "service.niedersachsen.de",
-          "schemeName": "Serviceportal Niedersachsen"
-        },
-        {
-          "id": "354824",
-          "schemeID": "buerger.thueringen.de",
-          "schemeName": "Zuständigkeitsfinder Thüringen"
-        }
-      ]
-    },
-    "example-2": {
-      "name": "Gewerbeanmeldung",
-      "leikaId": "99050012104000"
-    }
-  },
-  "properties": {
-    "name": {
-      "type": "string",
-      "description": "Name/Bezeichnung der behördlichen Leistung"
-    },
-    "description": {
-      "type": "string",
-      "description": "(Kurz-)Beschreibung der behördlichen Leistung"
-    },
-    "otherIdentifiers": {
-      "type": "array",
-      "description": "Weitere Identifikatioren. Die ID wird in `content` abgelegt, zusätzlich sollten die Schema-Attribute zur Spezifikation des Gültigkeitsraumes verwendet werden.",
-      "items": {
-        "$ref": "../common/identifier.json"
-      }
-    },
-    "leikaId": {
-      "type": "string",
-      "pattern": "^[0-9]{2}([0-9]{3}){1,4}$",
-      "description": "ID aus dem Leistungskatalog (Leika)"
-    },
-    "legalBasis": {
-      "type": "string",
-      "description": "Rechtsgrundlage der Verwaltungsleistung. Dieses Feld dient zur Information für Verwaltungsmitarbeiter:innen und stellt insbesondere keine rechtsverbindliche Aussage dar."
-    }
-  },
-  "required": [
-    "name"
-  ]
-}
\ No newline at end of file
diff --git a/models/common/address-international.json b/models/common/address-international.json
deleted file mode 100644
index 9e2a9c3ebbae39c9fd9ae4b9fd9ae988229890f4..0000000000000000000000000000000000000000
--- a/models/common/address-international.json
+++ /dev/null
@@ -1,54 +0,0 @@
-{
-  "type": "object",
-  "title": "International Address",
-  "description": "Eine internationale Adresse, bestehend aus ein bis fünf Adresszeilen.",
-  "additionalProperties": false,
-  "x-examples": {
-    "example-1": {
-      "type": "international",
-      "lines": [
-        "760 United Nations Plaza",
-        "Manhattan, New York City, New York 10017"
-      ],
-      "country": "368"
-    },
-    "example-2": {
-      "type": "international",
-      "lines": [
-        "Threadneedle Street",
-        "London EC2R 8AH"
-      ],
-      "country": "168"
-    }
-  },
-  "properties": {
-    "lines": {
-      "type": "array",
-      "maxItems": 5,
-      "minItems": 2,
-      "description": "Anschriftzeile",
-      "items": {
-        "type": "string",
-        "maxLength": 35
-      }
-    },
-    "country": {
-      "type": "string",
-      "description": "Staat gemäß Codeliste [https://www.xrepository.de/details/urn:de:bund:destatis:bevoelkerungsstatistik:schluessel:staat](Codeliste Staat aus der Staats- und Gebietssystematik des Statistischen Bundesamtes)",
-      "minLength": 3,
-      "maxLength": 3,
-      "pattern": "^[0-9]{3}$"
-    },
-    "type": {
-      "type": "string",
-      "enum": [
-        "international"
-      ]
-    }
-  },
-  "required": [
-    "lines",
-    "country",
-    "type"
-  ]
-}
\ No newline at end of file
diff --git a/models/common/address-national.json b/models/common/address-national.json
deleted file mode 100644
index dda62cfa3ab7987baaa609cc6a1a8a5e966acfba..0000000000000000000000000000000000000000
--- a/models/common/address-national.json
+++ /dev/null
@@ -1,62 +0,0 @@
-{
-  "title": "National Address",
-  "description": "Eine nationale (deutsche) Adresse, bestehend aus Straße, Hausnummer, PLZ und Ort.",
-  "x-examples": {
-    "example-1": {
-      "type": "national",
-      "street": "Kurzer Weg",
-      "houseNumber": "7",
-      "postalCode": "12345",
-      "city": "Ankh-Morpork"
-    }
-  },
-  "type": "object",
-  "additionalProperties": false,
-  "properties": {
-    "street": {
-      "type": "string",
-      "description": "Straße",
-      "maxLength": 55
-    },
-    "houseNumber": {
-      "type": "string",
-      "description": "Hausnummer",
-      "maxLength": 9,
-      "pattern": "^[1-9][0-9]{0,3}(-[1-9][0-9]{0,3})?$"
-    },
-    "houseNumberSuffix": {
-      "type": "string",
-      "description": "Hausnummerzusatz",
-      "maxLength": 2,
-      "pattern": "^[A-Za-z0-9. ]*$"
-    },
-    "postalCode": {
-      "type": "string",
-      "description": "Postleitzahl",
-      "minLength": 5,
-      "maxLength": 5,
-      "pattern": "^([0]{1}[1-9]{1}|[1-9]{1}[0-9]{1})[0-9]{3}$"
-    },
-    "city": {
-      "type": "string",
-      "description": "Ort",
-      "maxLength": 50
-    },
-    "addressSupplement": {
-      "type": "string",
-      "description": "Adresszusatz"
-    },
-    "type": {
-      "type": "string",
-      "enum": [
-        "national"
-      ]
-    }
-  },
-  "required": [
-    "street",
-    "postalCode",
-    "city",
-    "type"
-  ]
-}
\ No newline at end of file
diff --git a/models/common/address-postbox.json b/models/common/address-postbox.json
deleted file mode 100644
index a2aee5ac854ac06428dc0433d1df4e8874a65113..0000000000000000000000000000000000000000
--- a/models/common/address-postbox.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{
-  "title": "Postfach Address",
-  "description": "Eine Adresse eines Postfachs.",
-  "x-examples": {
-    "example-1": {
-      "type": "postbox",
-      "postOfficeBox": "987",
-      "postalCode": "12345",
-      "city": "Ankh-Morpork"
-    }
-  },
-  "type": "object",
-  "additionalProperties": false,
-  "properties": {
-    "postOfficeBox": {
-      "type": "string",
-      "description": "Postfach"
-    },
-    "postalCode": {
-      "type": "string",
-      "description": "Postleitzahl",
-      "minLength": 5,
-      "maxLength": 5,
-      "pattern": "^([0]{1}[1-9]{1}|[1-9]{1}[0-9]{1})[0-9]{3}$"
-    },
-    "city": {
-      "type": "string",
-      "description": "Ort",
-      "maxLength": 50
-    },
-    "type": {
-      "type": "string",
-      "enum": [
-        "postbox"
-      ]
-    }
-  },
-  "required": [
-    "postalCode",
-    "city",
-    "type"
-  ]
-}
\ No newline at end of file
diff --git a/models/common/authentification-info.json b/models/common/authentification-info.json
deleted file mode 100644
index 8208b81a510b2e84da502264b318b4d113713d94..0000000000000000000000000000000000000000
--- a/models/common/authentification-info.json
+++ /dev/null
@@ -1,68 +0,0 @@
-{
-  "type": "object",
-  "title": "Authentifikation",
-  "additionalProperties": false,
-  "description": "Informationen über die Authentifikation der Person.",
-  "x-examples": {
-    "example-1": {
-      "assuranceLevel": "high",
-      "authentificationMethod": "eID",
-      "timestamp": "2020-03-03T12:38:23Z"
-    }
-  },
-  "properties": {
-    "assuranceLevel": {
-      "type": "string",
-      "enum": [
-        "low",
-        "substantial",
-        "high"
-      ],
-      "description": "Vertrauensniveau"
-    },
-    "authentificationMethod": {
-      "type": "string",
-      "description": "Methode der Authentifikation",
-      "enum": [
-        "Authega",
-        "De-Mail",
-        "eID",
-        "E-Mail"
-      ]
-    },
-    "authentificationToken": {
-      "type": "object"
-    },
-    "timestamp": {
-      "type": "string",
-      "format": "date-time",
-      "description": "Zeitstempel der Authentifikation"
-    },
-    "authenticatedFields": {
-      "type": "array",
-      "minItems": 0,
-      "uniqueItems": true,
-      "description": "Liste der authentifizierten Felder in `identityInfo`",
-      "items": {
-        "type": "string",
-        "enum": [
-          "placeOfBirth",
-          "dateOfBirth",
-          "gender",
-          "nationality",
-          "artisticName",
-          "doctoralDegrees",
-          "birthName",
-          "givenName",
-          "familyName",
-          "placeOfResidence"
-        ]
-      }
-    }
-  },
-  "required": [
-    "assuranceLevel",
-    "authentificationMethod",
-    "authenticatedFields"
-  ]
-}
\ No newline at end of file
diff --git a/models/common/base64.json b/models/common/base64.json
deleted file mode 100644
index 4492b15f3542eb957a3d786447bd1224ac38ba2f..0000000000000000000000000000000000000000
--- a/models/common/base64.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  "type": "string",
-  "title": "base64",
-  "pattern": "^[a-zA-Z0-9+/=]+$",
-  "description": "Base 64 Encoding (RFC 4648 section 4)"
-}
\ No newline at end of file
diff --git a/models/common/base64url.json b/models/common/base64url.json
deleted file mode 100644
index 56ea2aeb1aa49c3ba0503722e509120f18004cdc..0000000000000000000000000000000000000000
--- a/models/common/base64url.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-  "type": "string",
-  "title": "base64url",
-  "description": "Base 64 Encoding with URL and Filename Safe Alphabet (RFC 4648 section 5)",
-  "example": "SGVsbG8gV29ybGQhCg==",
-  "pattern": "^[a-zA-Z0-9-_=]+$",
-  "x-examples": {}
-}
\ No newline at end of file
diff --git a/models/common/fim-id.json b/models/common/fim-id.json
deleted file mode 100644
index fabe7f12079d8d64f2caf70c47fc25c9a9522bb0..0000000000000000000000000000000000000000
--- a/models/common/fim-id.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
-  "type": "object",
-  "title": "FIM ID",
-  "description": "ID eines FIM Elements, zusammengesetzt aus ID und Version.",
-  "additionalProperties": false,
-  "properties": {
-    "id": {
-      "type": "string",
-      "description": "ID des FIM Elements, z.B. \"S00000001\"",
-      "example": "S00000001",
-      "pattern": "^[DFGS]\\d{8}$"
-    },
-    "version": {
-      "type": "string",
-      "description": "Optionale Version des FIM Elements, z.B. \"1.0\"",
-      "example": "1.0",
-      "pattern": "^\\d+\\.\\d+$"
-    }
-  },
-  "required": [
-    "id"
-  ],
-  "x-examples": {
-    "example-1": {
-      "id": "S00000001",
-      "version": "1.0"
-    },
-    "example-2": {
-      "id": "F99000042"
-    }
-  }
-}
\ No newline at end of file
diff --git a/models/common/identifier.json b/models/common/identifier.json
deleted file mode 100644
index 977f430f30e3307738d319de041a57852102b98d..0000000000000000000000000000000000000000
--- a/models/common/identifier.json
+++ /dev/null
@@ -1,52 +0,0 @@
-{
-  "type": "object",
-  "title": "Identifier",
-  "description": "Identifiers are keys that are owned by either the sender, receiver or a third party. If the keys used are owned by either sender or receiver, no meta data has to be specified by means of attributes. The table below specifies the use of attributes for the identifier types when they are owned by a third party.",
-  "additionalProperties": false,
-  "properties": {
-    "id": {
-      "type": "string",
-      "description": "A character string to identify and distinguish uniquely, one instance of an object in an identification scheme from all other objects in the same scheme together with relevant supplementary information."
-    },
-    "schemeURI": {
-      "type": "string",
-      "format": "uri",
-      "description": "Link to the location of the list scheme"
-    },
-    "schemeDataURI": {
-      "type": "string",
-      "format": "uri",
-      "description": "Link to the location of the list"
-    },
-    "schemeVersionId": {
-      "type": "string",
-      "description": "Version of the scheme"
-    },
-    "schemeAgencyName": {
-      "type": "string",
-      "description": "Specifies the name of the ID issuer"
-    },
-    "schemeAgencyId": {
-      "type": "string",
-      "description": "Specifies the ID of the ID issuer"
-    },
-    "schemeName": {
-      "type": "string",
-      "description": "Name of the scheme"
-    },
-    "schemeId": {
-      "type": "string",
-      "description": "Identifices the ID type"
-    }
-  },
-  "required": [
-    "id"
-  ],
-  "x-examples": {
-    "example-1": {
-      "id": "8664844",
-      "schemeId": "service.niedersachsen.de",
-      "schemeName": "Serviceportal Niedersachsen"
-    }
-  }
-}
\ No newline at end of file
diff --git a/models/common/individual.json b/models/common/individual.json
deleted file mode 100644
index 0adc10bdcc0433d68604632f37389acaa16bc468..0000000000000000000000000000000000000000
--- a/models/common/individual.json
+++ /dev/null
@@ -1,103 +0,0 @@
-{
-  "type": "object",
-  "title": "Individual",
-  "description": "Natürliche Person",
-  "additionalProperties": false,
-  "x-examples": {
-    "example-1": {
-      "formOfAddress": "Herr",
-      "doctoralDegrees": "Dr.",
-      "firstName": "Kunibert",
-      "lastName": "Vonundzu",
-      "contact": {
-        "telephones": [
-          {
-            "number": "+49 89 32168-42",
-            "mobile": false,
-            "description": "work"
-          },
-          {
-            "number": "+49 123 456789",
-            "mobile": true,
-            "description": "work"
-          }
-        ],
-        "email": "kunibert.vonundzu@example.com"
-      }
-    }
-  },
-  "properties": {
-    "formOfAddress": {
-      "type": "string",
-      "description": "Anrede der Person wie \"Herr\" oder \"Frau\""
-    },
-    "doctoralDegrees": {
-      "type": "string",
-      "description": "Titel der Person wie \"Dr.\" oder \"Prof.\""
-    },
-    "firstName": {
-      "type": "string",
-      "description": "Vorname der Person"
-    },
-    "lastName": {
-      "type": "string",
-      "description": "Nachname der Person"
-    },
-    "address": {
-      "description": "Adresse als Alternative (Choice) von nationaler und internationaler Adresse.",
-      "oneOf": [
-        {
-          "$ref": "./address-national.json"
-        },
-        {
-          "$ref": "./address-postbox.json"
-        },
-        {
-          "$ref": "./address-international.json"
-        }
-      ],
-      "discriminator": {
-        "propertyName": "type",
-        "mapping": {
-          "national": "./address-national.json",
-          "postbox": "./address-postbox.json",
-          "international": "./address-international.json"
-        }
-      }
-    },
-    "identifiers": {
-      "type": "array",
-      "description": "Externe Identifikatoren der Person",
-      "items": {
-        "$ref": "../common/identifier.json"
-      }
-    },
-    "contact": {
-      "type": "object",
-      "description": "Kontaktmöglichkeiten einer Person (natürliche Person oder Organisation)",
-      "additionalProperties": false,
-      "properties": {
-        "telephones": {
-          "type": "array",
-          "description": "Liste der Telefonnummern, außer Fax",
-          "items": {
-            "$ref": "../common/phone.json"
-          }
-        },
-        "email": {
-          "type": "string",
-          "format": "email",
-          "description": "E-Mail-Adresse"
-        },
-        "www": {
-          "type": "string",
-          "format": "uri",
-          "description": "Webadresse"
-        },
-        "telefax": {
-          "$ref": "../common/phone.json#/properties/number"
-        }
-      }
-    }
-  }
-}
\ No newline at end of file
diff --git a/models/common/language.json b/models/common/language.json
deleted file mode 100644
index 8dc6076a1dadca5f02d2de99e6be325e2dfeec48..0000000000000000000000000000000000000000
--- a/models/common/language.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
-  "type": "object",
-  "title": "Language",
-  "description": "Angaben zur Sprache basierend auf dem IETF language tag. Es wird jedoch nur ein Subset unterstützt:\n- `lang`: Die Primary Language darf nur aus zwei oder drei Kleinbuchstaben bestehen (gemäß  ISO 639-1 (2002), ISO 639-2 (1998), ISO 639-3 (2007) oder ISO 639-5 (2008))\n- `region`: Die Region muss aus zwei Großbuchstaben bestehen (gemäß ISO 3166-1 alpha-2)\n- `variant`: Sprachvariante (gemäß IANA Registry), derzeit wird nur `simple` unterstützt.",
-  "additionalProperties": false,
-  "properties": {
-    "lang": {
-      "type": "string",
-      "description": "primary language based on a two-letter language code from ISO 639-1 (2002) or a three-letter code from ISO 639-2 (1998), ISO 639-3 (2007) or ISO 639-5 (2008)",
-      "minLength": 2,
-      "maxLength": 3,
-      "pattern": "[a-z]{2,3}"
-    },
-    "region": {
-      "type": "string",
-      "description": "region based on a two-letter country code from ISO 3166-1 alpha-2",
-      "minLength": 2,
-      "maxLength": 2,
-      "pattern": "[A-Z]{2}"
-    },
-    "variant": {
-      "type": "string",
-      "enum": [
-        "simple"
-      ],
-      "description": "Subset der IANA language variant subtags\n- `simple`: Simplified form"
-    }
-  },
-  "required": [
-    "lang"
-  ],
-  "x-examples": {
-    "example-1": {
-      "lang": "de"
-    },
-    "example-2": {
-      "lang": "en",
-      "region": "GB"
-    },
-    "example-3": {
-      "lang": "de",
-      "region": "DE",
-      "variant": "simple"
-    }
-  }
-}
\ No newline at end of file
diff --git a/models/common/mime-type.json b/models/common/mime-type.json
deleted file mode 100644
index ed7f80eb1320d985bae0e583dac281e163706c4f..0000000000000000000000000000000000000000
--- a/models/common/mime-type.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "type": "string",
-  "title": "MIME Type",
-  "description": "Internet Media Type gemäß RFC 2045, z.B. application/pdf.",
-  "example": "application/xml",
-  "pattern": "^[-\\w.]+/[-\\w.+]+$"
-}
\ No newline at end of file
diff --git a/models/common/natural-person.json b/models/common/natural-person.json
deleted file mode 100644
index 87b82d4936236ff725adc567734cbc0544a05dfc..0000000000000000000000000000000000000000
--- a/models/common/natural-person.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
-  "title": "Identity Information",
-  "description": "Informationen zu einer natürlichen Person. Wichtig: Wenn einzelne Felder für einen elektronischen Identitätsnachweis als Schriftform-Ersatz genutzt werden, MUSS geprüft werden, ob im Objekt `authentificationInfo` ein entsprechendes Authentifizierungslevel angegeben ist. Zusätzlich MUSS geprüft werden, ob die genutzten Felder im Object `authenticatedFields` enthalten sind.",
-  "type": "object",
-  "x-examples": {
-    "example-1": {
-      "dateOfBirth": "1970-09-13",
-      "gender": "m",
-      "givenName": "WERNER",
-      "familyName": "MUSTERMANN",
-      "placeOfResidence": {
-        "type": "national",
-        "street": "KURZER WEG 7",
-        "postalCode": "12345",
-        "city": "ANKH-MORPORK"
-      }
-    }
-  },
-  "properties": {
-    "placeOfBirth": {
-      "type": "string",
-      "description": "Geburtsort"
-    },
-    "dateOfBirth": {
-      "type": "string",
-      "format": "date",
-      "description": "Geburtsdatum"
-    },
-    "gender": {
-      "type": "string",
-      "enum": [
-        "m",
-        "w",
-        "x",
-        "d"
-      ],
-      "description": "Geschlecht (m=männlich, w=weiblich, x=keine Angabe, d=divers)"
-    },
-    "nationality": {
-      "type": "string",
-      "description": "Nationalität"
-    },
-    "artisticName": {
-      "type": "string",
-      "description": "Künstler- oder Ordensname"
-    },
-    "doctoralDegrees": {
-      "type": "string",
-      "description": "Akademischer Titel, z.B. \"Dr.\" oder \"Prof.\""
-    },
-    "birthName": {
-      "type": "string",
-      "description": "Geburtsname"
-    },
-    "givenName": {
-      "type": "string",
-      "description": "Vorname(n)"
-    },
-    "familyName": {
-      "type": "string",
-      "description": "Familienname"
-    },
-    "placeOfResidence": {
-      "$ref": "./address-national.json"
-    }
-  }
-}
diff --git a/models/common/phone.json b/models/common/phone.json
deleted file mode 100644
index a87b93968c9e7864dc9b6be34670723754597700..0000000000000000000000000000000000000000
--- a/models/common/phone.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
-  "type": "object",
-  "title": "Phone",
-  "description": "Telefonnumer mit Zusatzinformationen",
-  "additionalProperties": false,
-  "properties": {
-    "number": {
-      "type": "string",
-      "title": "Phone Number",
-      "description": "Telefonnummer gemäß ITU E.123. Es soll das internationalen Format, z.B. \"+49 89 32168-42\" verwendet werden.",
-      "example": "+49 89 32168-42",
-      "maxLength": 23
-    },
-    "mobile": {
-      "type": "boolean",
-      "description": "Zeigt an, ob es sich um eine Mobilfunknummer handelt."
-    },
-    "description": {
-      "type": "string",
-      "description": "Beschreibung der Art der Telefonnummer"
-    }
-  },
-  "required": [
-    "number"
-  ],
-  "x-examples": {
-    "example-1": {
-      "number": "+49 89 32618",
-      "mobile": false,
-      "description": "Rosis Nummer"
-    },
-    "example-2": {
-      "number": "(089) 32618",
-      "mobile": false,
-      "description": "Rosis Nummer"
-    }
-  }
-}
\ No newline at end of file
diff --git a/models/error-body.json b/models/error-body.json
deleted file mode 100644
index 8c566ad31a7b358d024c6bffeebb8c6c037c2173..0000000000000000000000000000000000000000
--- a/models/error-body.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
-  "type": "array",
-  "title": "Error Body",
-  "description": "Der Inhalt (Body) von HTTP Responses bei Fehlern.",
-  "minItems": 1,
-  "items": {
-    "type": "object",
-    "title": "Error",
-    "description": "Rückmeldung zu einer nicht erfolgreichen Operation",
-    "additionalProperties": false,
-    "properties": {
-      "code": {
-        "type": "integer",
-        "description": "Fehlercode"
-      },
-      "msg": {
-        "type": "string",
-        "description": "Fehlermeldung"
-      },
-      "ref": {
-        "type": "string",
-        "description": "Referenz auf die Stelle, an der der Fehler aufgetreten ist. Dies könnte z.B. eine Zeilennummer oder der Pfad eines JSON oder XML Elements sein."
-      }
-    },
-    "required": [
-      "code",
-      "msg"
-    ]
-  },
-  "x-examples": {
-    "example-1": [
-      {
-        "code": 400,
-        "msg": "Document with id 1 already exists for application : 0c508e3f-2353-4206-9a1e-34b2e864d5a8"
-      }
-    ]
-  }
-}
\ No newline at end of file
diff --git a/models/status-overview.json b/models/status-overview.json
deleted file mode 100644
index b66ff11b2e11c40d6705bcb8783390c89de2f00c..0000000000000000000000000000000000000000
--- a/models/status-overview.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
-  "type": "object",
-  "title": "Statusübersicht",
-  "description": "Status der Zustellung eines Antrags:\n- `incomplete`: Die Einlieferung von der Source hat begonnen\n- `queued`: Die Übertragung wurde vollständig eingeliefert und akzeptiert\n- `forwarded`: Die Übertragung an die direkt angebundene Destination wurde abgeschlossen\n- `delivered`: Die Übertragung hat den vorgesehen Endpunkt erreicht",
-  "additionalProperties": false,
-  "properties": {
-    "code": {
-      "type": "string",
-      "description": "Code für den Status (incomplete, queued, forwarded, delivered)",
-      "enum": [
-        "incomplete",
-        "queued",
-        "forwarded",
-        "delivered"
-      ]
-    },
-    "timestamp": {
-      "type": "string",
-      "format": "date-time",
-      "description": "Zeitpunkt, zu dem der Status sich geändert hat"
-    },
-    "number": {
-      "type": "integer",
-      "description": "Chonologische Nummierung der Statusmeldungen für einen Antrag.",
-      "minimum": 1
-    }
-  },
-  "required": [
-    "code",
-    "timestamp",
-    "number"
-  ],
-  "x-examples": {
-    "example-1": {
-      "code": "queued",
-      "timestamp": "2020-05-20T08:31:01+02:00",
-      "number": 2
-    }
-  }
-}
\ No newline at end of file
diff --git a/reference/3_callback.json b/reference/3_callback.json
deleted file mode 100644
index 717edac5c9d45e9abd934c29be36965161e7e122..0000000000000000000000000000000000000000
--- a/reference/3_callback.json
+++ /dev/null
@@ -1,113 +0,0 @@
-{
-  "openapi": "3.0.0",
-  "info": {
-    "title": "Notification Callback",
-    "version": "0.6",
-    "contact": {
-      "name": "FITKO",
-      "url": "https://www.fitko.de/"
-    },
-    "license": {
-      "name": "Creative Commons Attribution Share Alike 4.0 (CC BY-SA 4.0)",
-      "url": "https://creativecommons.org/licenses/by-sa/4.0/"
-    },
-    "description": "API Beschreibung der Callback API, die von Subscriber Clients zu implementieren ist, um Benachrichtigungen für vorliegende Antäge aktiv im Pushverfahren zu empfangen."
-  },
-  "servers": [
-    {
-      "url": "{callbackHost}"
-    }
-  ],
-  "paths": {
-    "/{callbackPath}": {
-      "parameters": [
-        {
-          "schema": {
-            "type": "string"
-          },
-          "name": "callbackPath",
-          "in": "path",
-          "required": true
-        }
-      ],
-      "post": {
-        "summary": "Callback",
-        "operationId": "callback",
-        "responses": {
-          "200": {
-            "description": "OK"
-          }
-        },
-        "description": "Beschreibt den Callback, mit dem der Zustelldienst den Subscriber benachrichtigt.",
-        "requestBody": {
-          "content": {
-            "application/json": {
-              "schema": {
-                "type": "object",
-                "additionalProperties": false,
-                "properties": {
-                  "destinationId": {
-                    "type": "string"
-                  },
-                  "applications": {
-                    "type": "array",
-                    "items": {
-                      "type": "object",
-                      "additionalProperties": false,
-                      "properties": {
-                        "applicationId": {
-                          "type": "string"
-                        }
-                      },
-                      "required": [
-                        "applicationId"
-                      ]
-                    }
-                  }
-                },
-                "required": [
-                  "destinationId",
-                  "applications"
-                ]
-              },
-              "examples": {
-                "example-1": {
-                  "value": {
-                    "destinationId": "821",
-                    "applications": [
-                      {
-                        "applicationId": "98472"
-                      }
-                    ]
-                  }
-                },
-                "example-2": {
-                  "value": {
-                    "destinationId": "123",
-                    "applications": [
-                      {
-                        "applicationId": "456"
-                      },
-                      {
-                        "applicationId": "789"
-                      }
-                    ]
-                  }
-                }
-              }
-            }
-          },
-          "description": "Information zu den wartenden Anträgen"
-        },
-        "tags": [
-          "callback"
-        ]
-      }
-    }
-  },
-  "tags": [
-    {
-      "name": "callback"
-    }
-  ]
-}
\ No newline at end of file
diff --git a/spec/endpoints/applications/index.yml b/spec/endpoints/applications/index.yml
new file mode 100644
index 0000000000000000000000000000000000000000..58e3e79e8b8852b50c9165c9e4fb298965b4c898
--- /dev/null
+++ b/spec/endpoints/applications/index.yml
@@ -0,0 +1,52 @@
+post:
+  operationId: create-application
+  summary: Antrag anlegen
+  description: Endpunkt zum Erstellen eines Antrags
+  tags:
+    - Application Transfer
+  security:
+    - OAuth20:
+        - 'destination:send'
+  requestBody:
+    required: true
+    content:
+      application/json:
+        schema:
+          $ref: '../../schemas/create-application.yml'
+        examples:
+          example-1:
+            $ref: '../../examples/create-application.yml'
+  responses:
+    '201':
+      description: Created
+      content:
+        application/json:
+          schema:
+            $ref: '../../schemas/application-created.yml'
+          examples:
+            example-1:
+              $ref: '../../examples/application-created.yml'
+    '400':
+      description: Bad Request
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
+    '401':
+      description: Unauthorized
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
+    '403':
+      description: Forbidden
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
+    '413':
+      description: Request Entity Too Large
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
diff --git a/spec/endpoints/applications/uuid.yml b/spec/endpoints/applications/uuid.yml
new file mode 100644
index 0000000000000000000000000000000000000000..c9bf8a42652bbef527df0fe5889378f5c531495a
--- /dev/null
+++ b/spec/endpoints/applications/uuid.yml
@@ -0,0 +1,165 @@
+parameters:
+  - $ref: '../../parameters/applicationId.yml'
+
+get:
+  operationId: get-application
+  summary: Antrag abrufen
+  tags:
+    - Application Retrieval
+  security:
+    - OAuth20:
+        - 'destination:manage'
+        - 'destination:subscribe'
+  responses:
+    '200':
+      description: OK
+      content:
+        application/json:
+          schema:
+            $ref: '../../schemas/application.yml'
+          examples:
+            example-1:
+              $ref: '../../examples/application.yml'
+    '400':
+      description: Bad Request
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
+    '401':
+      description: Unauthorized
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
+    '403':
+      description: Forbidden
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
+    '404':
+      description: Not Found
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
+
+post:
+  operationId: submit-application
+  summary: Antrag einreichen
+  tags:
+    - Application Transfer
+  security:
+    - OAuth20:
+        - 'destination:send'
+  requestBody:
+    required: true
+    content:
+      application/json:
+        schema:
+          $ref: '../../schemas/submit-application.yml'
+  responses:
+    '202':
+      description: Accepted
+      content:
+        application/json:
+          schema:
+            $ref: '../../schemas/application.yml'
+          examples:
+            example-1:
+              $ref: '../../examples/application.yml'
+    '400':
+      description: Bad Request
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
+    '401':
+      description: Unauthorized
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
+    '403':
+      description: Forbidden
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
+    '404':
+      description: Not Found
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
+    '413':
+      description: Request Entity Too Large
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
+    '415':
+      description: Unsupported Media Type (wrong content type sent)
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
+    '422':
+      description: Gesamtantrag unvollständig. Angekündigte Anlagen noch nicht hochgeladen.
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
+
+put:
+  operationId: acknowledge-application
+  summary: Abholung des Antrags bestätigen
+  tags:
+    - Application Retrieval
+  security:
+    - OAuth20:
+        - 'destination:subscribe'
+  requestBody:
+    required: true
+    content:
+      application/json:
+        schema:
+          $ref: '../../schemas/empty-body.yml'
+        examples:
+          example-1:
+            $ref: '../../examples/empty-body.yml'
+  responses:
+    '200':
+      description: OK
+      content:
+        application/json:
+          schema:
+            $ref: '../../schemas/empty-body.yml'
+          examples:
+            example-1:
+              $ref: '../../examples/empty-body.yml'
+    '400':
+      description: Bad Request
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
+    '401':
+      description: Unauthorized
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
+    '403':
+      description: Forbidden
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
+    '404':
+      description: Not Found
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
diff --git a/spec/endpoints/attachments/uuid.yml b/spec/endpoints/attachments/uuid.yml
new file mode 100644
index 0000000000000000000000000000000000000000..7040347b83b903f7446ae2b44c13daea4b6df487
--- /dev/null
+++ b/spec/endpoints/attachments/uuid.yml
@@ -0,0 +1,104 @@
+parameters:
+  - $ref: '../../parameters/applicationId.yml'
+  - $ref: '../../parameters/attachmentId.yml'
+
+get:
+  operationId: get-application-attachment
+  summary: Anhang abrufen
+  description: Ruft einen Anhang des Antrags ab.
+  tags:
+    - Application Retrieval
+  security:
+    - OAuth20:
+        - 'destination:manage'
+        - 'destination:subscribe'
+  responses:
+    '200':
+      description: OK
+      content:
+        application/jose:
+          schema:
+            $ref: '../../schemas/attachment.yml'
+          examples:
+            example-1:
+              $ref: '../../examples/encrypted-message.yml'
+    '400':
+      description: Bad Request
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
+    '401':
+      description: Unauthorized
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
+    '403':
+      description: Forbidden
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
+    '404':
+      description: Not Found
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
+
+put:
+  operationId: add-application-attachment
+  summary: Anhang hinzufügen
+  description: Upload des in announcedContentStructure angekündigten Anhangs als JSON Web Encryption unter der mitgeteilten UUID.
+  tags:
+    - Application Transfer
+  security:
+    - OAuth20:
+        - 'destination:send'
+  requestBody:
+    required: true
+    content:
+      application/jose:
+        schema:
+          $ref: '../../schemas/create-attachment.yml'
+        examples:
+          example-1:
+            $ref: '../../examples/encrypted-message.yml'
+  responses:
+    '201':
+      description: Anhang erfolgreich hinzugefügt
+      content:
+        application/json:
+          schema:
+            $ref: '../../schemas/empty-body.yml'
+    '400':
+      description: Bad Request
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
+    '401':
+      description: Unauthorized
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
+    '403':
+      description: Forbidden
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
+    '413':
+      description: Request Entity Too Large
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
+    '415':
+      description: Unsupported Media Type (wrong content type sent)
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
diff --git a/spec/endpoints/destinations/index.yml b/spec/endpoints/destinations/index.yml
new file mode 100644
index 0000000000000000000000000000000000000000..3b7977003f1f88dd8906b05f689511b5575880e1
--- /dev/null
+++ b/spec/endpoints/destinations/index.yml
@@ -0,0 +1,104 @@
+get:
+  operationId: get-my-destinations
+  summary: Selbst angelegte Zustellpunkte auflisten
+  description: Mit diesem Request können alle selbst angelegten Zustellpunkte sowie deren Konfigurationen abgerufen werden.
+  tags:
+    - Destination Management
+  security:
+    - OAuth20:
+        - 'destination:subscribe'
+        - 'destination:manage'
+  responses:
+    '200':
+      description: OK
+      headers:
+        Cache-Control:
+          $ref: '../../headers/cache-control-no-cache.yml'
+      content:
+        application/json:
+          schema:
+            $ref: '../../schemas/destination-list.yml'
+          examples:
+            example-1:
+              $ref: '../../examples/destination-list.yml'
+    '400':
+      description: Bad Request
+      content:
+        application/problem+json:
+          schema:
+            $ref: '../../schemas/error.yml'
+    '401':
+      description: Unauthorized
+      content:
+        application/problem+json:
+          schema:
+            $ref: '../../schemas/error.yml'
+    '403':
+      description: Forbidden
+      content:
+        application/problem+json:
+          schema:
+            $ref: '../../schemas/error.yml'
+
+post:
+  operationId: create-destination
+  summary: Zustellpunkt anlegen
+  description: Erstellung eines neuen Zustellpunktes mit Konfiguration zum Empfang von Anträgen
+  tags:
+    - Destination Management
+  security:
+    - OAuth20:
+        - 'destination:manage'
+  requestBody:
+    required: true
+    content:
+      application/json:
+        schema:
+          $ref: '../../schemas/create-destination.yml'
+        examples:
+          example-1:
+            $ref: '../../examples/create-destination.yml'
+  responses:
+    '201':
+      description: Created
+      headers:
+        Cache-Control:
+          $ref: '../../headers/cache-control-no-cache.yml'
+      content:
+        application/json:
+          schema:
+            $ref: '../../schemas/destination.yml'
+          examples:
+            example-1:
+              $ref: '../../examples/destination.yml'
+    '400':
+      description: Bad Request
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
+    '401':
+      description: Unauthorized
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
+    '403':
+      description: Forbidden
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
+  callbacks:
+    ApplicationSubmitted:
+      '{$request.body#/callback}':
+        post:
+          requestBody:
+            required: true
+            content:
+              application/json:
+                schema:
+                  $ref: '../../schemas/list-of-application-ids.yml'
+          responses:
+            '202':
+              description: Accepted
diff --git a/spec/endpoints/destinations/uuid.yml b/spec/endpoints/destinations/uuid.yml
new file mode 100644
index 0000000000000000000000000000000000000000..37af03f44b7ba1ed882f4585fa5f697b03309656
--- /dev/null
+++ b/spec/endpoints/destinations/uuid.yml
@@ -0,0 +1,140 @@
+parameters:
+  - $ref: '../../parameters/destinationId.yml'
+
+get:
+  operationId: get-destination-info
+  summary: Zustellpunkt abfragen
+  description: Ruft die öffentlich zugänglichen Informationen über einen Zustellpunkt ab.
+  tags:
+    - Destination Management
+  security:
+    - OAuth20:
+        - 'destination:subscribe'
+        - 'destination:send'
+  responses:
+    '200':
+      description: OK
+      headers:
+        Cache-Control:
+          $ref: '../../headers/cache-control-no-cache.yml'
+      content:
+        application/json:
+          schema:
+            $ref: '../../schemas/destination.yml'
+          examples:
+            example-1:
+              $ref: '../../examples/destination.yml'
+    '401':
+      description: Unauthorized
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
+    '403':
+      description: Forbidden
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
+    '404':
+      description: Not Found
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
+
+put:
+  operationId: update-destination
+  summary: Zustellpunkt aktualisieren
+  tags:
+    - Destination Management
+  security:
+    - OAuth20:
+        - 'destination:manage'
+  requestBody:
+    required: true
+    content:
+      application/json:
+        schema:
+          $ref: '../../schemas/update-destination.yml'
+        examples:
+          example-1:
+            $ref: '../../examples/update-destination.yml'
+  responses:
+    '200':
+      description: OK
+      headers:
+        Cache-Control:
+          $ref: '../../headers/cache-control-no-cache.yml'
+      content:
+        application/json:
+          schema:
+            $ref: '../../schemas/destination.yml'
+          examples:
+            example-1:
+              $ref: '../../examples/destination.yml'
+    '400':
+      description: Bad Request
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
+    '401':
+      description: Unauthorized
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
+    '403':
+      description: Forbidden
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
+    '404':
+      description: Not Found
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
+
+delete:
+  operationId: delete-destination
+  summary: Zustellpunkt löschen
+  description: Löscht einen Zustellpunkt.
+  tags:
+    - Destination Management
+  security:
+    - OAuth20:
+        - 'destination:manage'
+  responses:
+    '200':
+      description: Zustellpunkt erfolgreich gelöscht.
+      content:
+        application/json:
+          schema:
+            $ref: '../../schemas/empty-body.yml'
+    '400':
+      description: Bad Request
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
+    '401':
+      description: Unauthorized
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
+    '403':
+      description: Forbidden
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
+    '404':
+      description: Not Found
+      content:
+        application/problem+json:
+          schema:
+            $ref: ../../schemas/error.yml
diff --git a/spec/endpoints/info/get-info.yml b/spec/endpoints/info/get-info.yml
new file mode 100644
index 0000000000000000000000000000000000000000..c6e586486bae100ad73f81876d28ef767f6db269
--- /dev/null
+++ b/spec/endpoints/info/get-info.yml
@@ -0,0 +1,16 @@
+get:
+  operationId: get-info
+  summary: Rufe technische Serviceinformationen ab
+  description: Für Debugging oder Informationszwecke angebotener Endpunkt
+  tags:
+    - Technical
+  responses:
+    '200':
+      description: OK
+      content:
+        application/json:
+          schema:
+            $ref: '../../schemas/info.yml'
+          examples:
+            example-1:
+              $ref: '../../examples/info.yml'
diff --git a/spec/endpoints/status.yml b/spec/endpoints/status.yml
new file mode 100644
index 0000000000000000000000000000000000000000..d5a0576a3d7ab313a72add7b53ff9fbf4becf6a9
--- /dev/null
+++ b/spec/endpoints/status.yml
@@ -0,0 +1,15 @@
+get:
+  operationId: get-status
+  summary: Rufe Servicestatus ab
+  description: Nützlich für Monitoring und Debugging
+  tags:
+    - Technical
+  responses:
+    '200':
+      description: OK
+      content:
+        application/json:
+          schema:
+            $ref: '../schemas/status.yml'
+          example:
+            status: "UP"
diff --git a/spec/examples/application-created.yml b/spec/examples/application-created.yml
new file mode 100644
index 0000000000000000000000000000000000000000..c5539278327cb3980f04f490049a9325015547a7
--- /dev/null
+++ b/spec/examples/application-created.yml
@@ -0,0 +1,3 @@
+value:
+  destinationId: 879ee109-a690-4db8-ab32-424284184d7d
+  applicationId: ce75a6b8-d72f-4b94-b09e-af6be35bc2ae
\ No newline at end of file
diff --git a/spec/examples/application-state.yml b/spec/examples/application-state.yml
new file mode 100644
index 0000000000000000000000000000000000000000..a464e776abd61e5116bd3e773ce16437029d67e9
--- /dev/null
+++ b/spec/examples/application-state.yml
@@ -0,0 +1,2 @@
+value:
+  status: queued
diff --git a/spec/examples/application.yml b/spec/examples/application.yml
new file mode 100644
index 0000000000000000000000000000000000000000..31f0dde7fc7c32d7e3a3da841765d3e10d7b1af4
--- /dev/null
+++ b/spec/examples/application.yml
@@ -0,0 +1,18 @@
+value:
+  destinationId: 879ee109-a690-4db8-ab32-424284184d7d
+  applicationId: ce75a6b8-d72f-4b94-b09e-af6be35bc2ae
+  attachments:
+    - 879ee109-a690-4db8-ab32-424284184d7d
+    - 2046f9f1-dc89-4440-9c24-c76a8f40d668
+  encryptedMetadata: eyJlbmMiOiJBMjU2R0NNIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.nlXGAufYH36IABDy0En0LXEhGfC20IZSSchs27ADalHpRoTZKfXhc7hcMk8Y9V8yTP0jYbmrq6NtEg-QS2O5TQFD9Hluhpb631PBgKjPXHYX1Y6iUcR1sXxSUPjePi8F8PcZUZuUJLnhz6myyc9scdAq9BXG2cDJVgkfLI8eZdrqnrY24Hh32_7d5OKLFSpSDrBlqfyQuY8Wbs2h8Wy4Z4hwT1aWDO7b-SqJA181hUbNcF_rR4Mze3Fdtu-3uOIQYgLBBRmN1ZHDLk0EKNCI4B8MyDKLGPoM0ZomV5lVwVWjAMRI4CgQkIQ9rnm-Adof-GbegQL3yJSoNIWRWgzCnZBYZ638QgPllCMVW3WvEVvsgj0Hj16PbofqXTQ5S73LINfP6FZawfC0yMrYjSV_N2L0Lkp2KI3BkJcy-PcFhBnhwu2IsJGAlyDRCnXdVqig8m5yLHuSMQTpLW69LzPEskfsjhnNDR-CEBZpicjMfc-4CL6U7E7YoGc_99DzE5U5._JfqyKH23GiKsnDW.ZtMMjZ3GgcgHss8qbFRhrjl4L0kAfbco-oXICkk.VBHJ00FyDTYjOA_OYfiz5g
+  encryptedData: eyJlbmMiOiJBMjU2R0NNIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.nlXGAufYH36IABDy0En0LXEhGfC20IZSSchs27ADalHpRoTZKfXhc7hcMk8Y9V8yTP0jYbmrq6NtEg-QS2O5TQFD9Hluhpb631PBgKjPXHYX1Y6iUcR1sXxSUPjePi8F8PcZUZuUJLnhz6myyc9scdAq9BXG2cDJVgkfLI8eZdrqnrY24Hh32_7d5OKLFSpSDrBlqfyQuY8Wbs2h8Wy4Z4hwT1aWDO7b-SqJA181hUbNcF_rR4Mze3Fdtu-3uOIQYgLBBRmN1ZHDLk0EKNCI4B8MyDKLGPoM0ZomV5lVwVWjAMRI4CgQkIQ9rnm-Adof-GbegQL3yJSoNIWRWgzCnZBYZ638QgPllCMVW3WvEVvsgj0Hj16PbofqXTQ5S73LINfP6FZawfC0yMrYjSV_N2L0Lkp2KI3BkJcy-PcFhBnhwu2IsJGAlyDRCnXdVqig8m5yLHuSMQTpLW69LzPEskfsjhnNDR-CEBZpicjMfc-4CL6U7E7YoGc_99DzE5U5._JfqyKH23GiKsnDW.ZtMMjZ3GgcgHss8qbFRhrjl4L0kAfbco-oXICkk.VBHJ00FyDTYjOA_OYfiz5g
+  currentStatus: queued
+  statusHistory:
+    - sourceState: incomplete
+      targetState: queued
+      timestamp: '2021-01-30T08:30:00Z'
+  announcedContentStructure:
+    data: true
+    attachments:
+      - 879ee109-a690-4db8-ab32-424284184d7d
+      - 2046f9f1-dc89-4440-9c24-c76a8f40d668
diff --git a/spec/examples/create-application.yml b/spec/examples/create-application.yml
new file mode 100644
index 0000000000000000000000000000000000000000..b5c75938e6554c4c1613c55eaf21e74fccba9907
--- /dev/null
+++ b/spec/examples/create-application.yml
@@ -0,0 +1,7 @@
+value:
+  destinationId: 879ee109-a690-4db8-ab32-424284184d7d
+  announcedContentStructure:
+    data: true
+    attachments:
+      - 123ee109-a690-4db8-ab32-424284184d7d
+      - 456ee109-a690-4db8-ab32-424284184d7d
diff --git a/spec/examples/create-destination.yml b/spec/examples/create-destination.yml
new file mode 100644
index 0000000000000000000000000000000000000000..5cfbbb5957b596ac831a10dfea992d5e6d621660
--- /dev/null
+++ b/spec/examples/create-destination.yml
@@ -0,0 +1,15 @@
+value:
+  contactInformation:
+    legalName: Max
+    address: Musterstr. 31, 10000 Berlin, Deutschland
+    phone: "+49170123456789"
+    email: max@mustermann.not
+    unit: Department XYZ
+  schemas:
+    - schemaURI: urn:fitko:schema-x
+  callback: 'http://127.0.0.1:4010/voluptas'
+  encryptionKid: my-key-id-0xfff
+  publicKeys:
+    keys:
+      - kty: RSA
+        kid: my-key-id-0xfff
diff --git a/spec/examples/destination-list.yml b/spec/examples/destination-list.yml
new file mode 100644
index 0000000000000000000000000000000000000000..cbfc66622a5d011ae70988e78eb01f6489d90159
--- /dev/null
+++ b/spec/examples/destination-list.yml
@@ -0,0 +1,34 @@
+value:
+  destinations:
+    - destinationId: de735e92-8ced-4298-a021-5f4aa124cc47
+      schemas:
+        - schemaURI: urn:fitko:schema-x
+      encryptionKid: my-key-id-0xfff
+      publicKeys:
+        keys:
+          - kty: RSA
+            kid: my-key-id-0xfff
+      contactInformation:
+        legalName: Max
+        address: Musterstr. 31, 10000 Berlin, Deutschland
+        phone: "+49170123456789"
+        email: max@mustermann.not
+        unit: Department XYZ
+      callback: 'http://127.0.0.1:4010/voluptas'
+    - destinationId: 2f59b8c6-3206-4734-aa21-a7b2a4d92f7a
+      schemas:
+        - schemaURI: urn:fitko:schema-x
+        - schemaURI: urn:fitko:schema-y
+          mimeType: application/xml
+      encryptionKid: my-key-id-0xeee
+      publicKeys:
+        keys:
+          - kty: RSA
+            kid: my-key-id-0xeee
+      contactInformation:
+        legalName: Max
+        address: Musterstr. 31, 10000 Berlin, Deutschland
+        phone: "+49170123456789"
+        email: max@mustermann.not
+        unit: Department XYZ
+      callback: 'http://127.0.0.1:4010/voluptas'
diff --git a/spec/examples/destination.yml b/spec/examples/destination.yml
new file mode 100644
index 0000000000000000000000000000000000000000..a18d51730e02239e5eebab604c14c0f73137ad40
--- /dev/null
+++ b/spec/examples/destination.yml
@@ -0,0 +1,16 @@
+value:
+  destinationId: 7881dba9-4055-4854-8b6d-11ea5b7f3047
+  schemas:
+    - schemaURI: urn:fitko:schema-x
+  encryptionKid: my-key-id-0xfff
+  publicKeys:
+    keys:
+      - kty: RSA
+        kid: my-key-id-0xfff
+  contactInformation:
+    legalName: Max
+    address: Musterstr. 31, 10000 Berlin, Deutschland
+    phone: "+49170123456789"
+    email: max@mustermann.not
+    unit: Department XYZ
+  callback: 'http://127.0.0.1:4010/voluptas'
diff --git a/spec/examples/empty-body.yml b/spec/examples/empty-body.yml
new file mode 100644
index 0000000000000000000000000000000000000000..d983ddd44d6bd841f72d4f7c52f5aa9fa2d98c08
--- /dev/null
+++ b/spec/examples/empty-body.yml
@@ -0,0 +1 @@
+value: {}
diff --git a/spec/examples/encrypted-message.yml b/spec/examples/encrypted-message.yml
new file mode 100644
index 0000000000000000000000000000000000000000..47674fd8c66d20c85446375fc413b8791335cb33
--- /dev/null
+++ b/spec/examples/encrypted-message.yml
@@ -0,0 +1 @@
+value: eyJlbmMiOiJBMjU2R0NNIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.nlXGAufYH36IABDy0En0LXEhGfC20IZSSchs27ADalHpRoTZKfXhc7hcMk8Y9V8yTP0jYbmrq6NtEg-QS2O5TQFD9Hluhpb631PBgKjPXHYX1Y6iUcR1sXxSUPjePi8F8PcZUZuUJLnhz6myyc9scdAq9BXG2cDJVgkfLI8eZdrqnrY24Hh32_7d5OKLFSpSDrBlqfyQuY8Wbs2h8Wy4Z4hwT1aWDO7b-SqJA181hUbNcF_rR4Mze3Fdtu-3uOIQYgLBBRmN1ZHDLk0EKNCI4B8MyDKLGPoM0ZomV5lVwVWjAMRI4CgQkIQ9rnm-Adof-GbegQL3yJSoNIWRWgzCnZBYZ638QgPllCMVW3WvEVvsgj0Hj16PbofqXTQ5S73LINfP6FZawfC0yMrYjSV_N2L0Lkp2KI3BkJcy-PcFhBnhwu2IsJGAlyDRCnXdVqig8m5yLHuSMQTpLW69LzPEskfsjhnNDR-CEBZpicjMfc-4CL6U7E7YoGc_99DzE5U5._JfqyKH23GiKsnDW.ZtMMjZ3GgcgHss8qbFRhrjl4L0kAfbco-oXICkk.VBHJ00FyDTYjOA_OYfiz5g
\ No newline at end of file
diff --git a/spec/examples/info.yml b/spec/examples/info.yml
new file mode 100644
index 0000000000000000000000000000000000000000..7168064acb7ccd2190577ed244077a332601a042
--- /dev/null
+++ b/spec/examples/info.yml
@@ -0,0 +1,5 @@
+value:
+  version:
+    major: 1
+    minor: 0
+    patch: 1
diff --git a/spec/examples/update-destination.yml b/spec/examples/update-destination.yml
new file mode 100644
index 0000000000000000000000000000000000000000..5cfbbb5957b596ac831a10dfea992d5e6d621660
--- /dev/null
+++ b/spec/examples/update-destination.yml
@@ -0,0 +1,15 @@
+value:
+  contactInformation:
+    legalName: Max
+    address: Musterstr. 31, 10000 Berlin, Deutschland
+    phone: "+49170123456789"
+    email: max@mustermann.not
+    unit: Department XYZ
+  schemas:
+    - schemaURI: urn:fitko:schema-x
+  callback: 'http://127.0.0.1:4010/voluptas'
+  encryptionKid: my-key-id-0xfff
+  publicKeys:
+    keys:
+      - kty: RSA
+        kid: my-key-id-0xfff
diff --git a/spec/headers/cache-control-no-cache.yml b/spec/headers/cache-control-no-cache.yml
new file mode 100644
index 0000000000000000000000000000000000000000..76696fc6173437bc154f6f835beb2d9fdb7d3033
--- /dev/null
+++ b/spec/headers/cache-control-no-cache.yml
@@ -0,0 +1,7 @@
+required: true
+description: Zustellpunkte dürfen aufgrund ihrer Schlüssel nicht gecached werden
+schema:
+  type: string
+  default: no-cache
+  enum:
+    - 'no-cache'
diff --git a/spec/parameters/applicationId.yml b/spec/parameters/applicationId.yml
new file mode 100644
index 0000000000000000000000000000000000000000..26b9af62c57ad556f53a95817fd4e896ef9d48a8
--- /dev/null
+++ b/spec/parameters/applicationId.yml
@@ -0,0 +1,9 @@
+name: applicationId
+in: path
+required: true
+schema:
+  type: string
+  format: uuid
+  minLength: 32
+  maxLength: 36
+description: Die UUID des Antrags
\ No newline at end of file
diff --git a/spec/parameters/attachmentId.yml b/spec/parameters/attachmentId.yml
new file mode 100644
index 0000000000000000000000000000000000000000..760754da9b1599cdd764957883c74bf59dff2c18
--- /dev/null
+++ b/spec/parameters/attachmentId.yml
@@ -0,0 +1,9 @@
+name: attachmentId
+in: path
+required: true
+schema:
+  type: string
+  format: uuid
+  minLength: 32
+  maxLength: 36
+description: Die UUID des Anhangs. Wird vom Client erstellt, um auf diese z.B. in den Antragsfachdaten zu referenzieren.
diff --git a/spec/parameters/destinationId.yml b/spec/parameters/destinationId.yml
new file mode 100644
index 0000000000000000000000000000000000000000..bbf0bed8ecec4495ea5f942474565983ebb025ec
--- /dev/null
+++ b/spec/parameters/destinationId.yml
@@ -0,0 +1,9 @@
+name: destinationId
+in: path
+required: true
+schema:
+  type: string
+  format: uuid
+  minLength: 32
+  maxLength: 36
+description: Die UUID des Zustellpunktes
\ No newline at end of file
diff --git a/spec/schemas/announced-content-structure.yml b/spec/schemas/announced-content-structure.yml
new file mode 100644
index 0000000000000000000000000000000000000000..665e996d28d79e7a04e0cb121bdac1c275b4a14e
--- /dev/null
+++ b/spec/schemas/announced-content-structure.yml
@@ -0,0 +1,15 @@
+type: object
+required:
+  - data
+  - attachments
+properties:
+  data:
+    type: boolean
+  attachments:
+    type: array
+    minItems: 0
+    items:
+      type: string
+      format: uuid
+      minLength: 32
+      maxLength: 36
diff --git a/spec/schemas/application-created.yml b/spec/schemas/application-created.yml
new file mode 100644
index 0000000000000000000000000000000000000000..8d61ac0e8485dc350c3a150bb18a96642fb243a4
--- /dev/null
+++ b/spec/schemas/application-created.yml
@@ -0,0 +1,19 @@
+title: Erstellter Antrag
+description: Antwort bei Erzeugen eines Antrags für einen Zustellpunkt.
+type: object
+required:
+  - applicationId
+  - destinationId
+properties:
+  destinationId:
+    description: ID der Destination
+    type: string
+    format: uuid
+    minLength: 32
+    maxLength: 36
+  applicationId:
+    description: ID des Antrags
+    type: string
+    format: uuid
+    minLength: 32
+    maxLength: 36
diff --git a/spec/schemas/application-schema.yml b/spec/schemas/application-schema.yml
new file mode 100644
index 0000000000000000000000000000000000000000..d308999a95e07823e416b33ff4ae8152ac348240
--- /dev/null
+++ b/spec/schemas/application-schema.yml
@@ -0,0 +1,14 @@
+title: Fachdatenschema
+description: 'Referenz auf ein Schema, das die Struktur der Fachdaten eines Antrags beschreibt.'
+type: object
+required:
+  - schemaURI
+additionalProperties: false
+properties:
+  schemaURI:
+    type: string
+    format: uri
+    description: 'URI (URL oder URN) des Fachdaten-Schemas. Wird hier eine URL verwendet, sollte das Schema unter der angegebenen URL abrufbar sein. Eine Verfügbarkeit des Schemas unter der angegebenen URL darf jedoch nicht vorausgesetzt werden.'
+  mimeType:
+    type: string
+    description: Mimetype (z.B. application/json oder application/xml) des referenzierten Schemas (z.B. XSD- oder JSON-Schema).
diff --git a/spec/schemas/application-state.yml b/spec/schemas/application-state.yml
new file mode 100644
index 0000000000000000000000000000000000000000..64b8da09d54131a8f5dde7ed92d7b2bec9904fbd
--- /dev/null
+++ b/spec/schemas/application-state.yml
@@ -0,0 +1,13 @@
+title: Antragsstatus
+description: >
+  Beschreibt den Zustand eines Antrags:
+  - `incomplete`: Der Antrag wurde angelegt und die Fachdaten/Dokumente können hinterlegt werden.
+  - `queued`: Die Übertragung wurde vollständig eingeliefert, akzeptiert und sobald möglich weitergeleitet.
+  - `forwarded`: Die Ãœbertragung an die direkt angebundene Destination wurde abgeschlossen.
+  - `delivered`: Der Erhalt des Antrags und aller Unterlagen wurde vom vorgesehenen Endpunkt bestätigt.
+type: string
+enum:
+  - incomplete
+  - queued
+  - forwarded
+  - delivered
diff --git a/spec/schemas/application.yml b/spec/schemas/application.yml
new file mode 100644
index 0000000000000000000000000000000000000000..6a2d8cc0a689b1546a68087a60348efeda9d8ee2
--- /dev/null
+++ b/spec/schemas/application.yml
@@ -0,0 +1,45 @@
+title: Antrag
+description: Die Repräsentation eines Antrags
+type: object
+required:
+  - destinationId
+  - applicationId
+  - attachments
+  - currentStatus
+properties:
+  destinationId:
+    type: string
+    format: uuid
+    minLength: 32
+    maxLength: 36
+  applicationId:
+    description: ID des Antrags
+    type: string
+    format: uuid
+    minLength: 32
+    maxLength: 36
+  attachments:
+    type: array
+    items:
+      type: string
+      format: uuid
+      minLength: 32
+      maxLength: 36
+  currentStatus:
+    $ref: './application-state.yml'
+  encryptedMetadata:
+    title: JWE Encrypted Message
+    description: 'Content that is encrypted with JSON Web Encryption Compact Serialization, RFC 7516'
+    type: string
+    pattern: '^[a-zA-Z0-9-_=.]+$'
+  encryptedData:
+    title: JWE Encrypted Message
+    description: 'Content that is encrypted with JSON Web Encryption Compact Serialization, RFC 7516'
+    type: string
+    pattern: '^[a-zA-Z0-9-_=.]+$'
+  statusHistory:
+    type: array
+    items:
+      $ref: './state-transition.yml'
+  announcedContentStructure:
+    $ref: './announced-content-structure.yml'
diff --git a/spec/schemas/attachment.yml b/spec/schemas/attachment.yml
new file mode 100644
index 0000000000000000000000000000000000000000..7ebc7a2c359a85559f3d479ec0b7f52ba7e58f1e
--- /dev/null
+++ b/spec/schemas/attachment.yml
@@ -0,0 +1,4 @@
+title: Anhang
+description: Verschlüsselter Anhang im Format JSON Web Encryption (JWE) laut RFC7516
+type: string
+pattern: '^[a-zA-Z0-9-_=.]+$'
diff --git a/spec/schemas/contact-information.yml b/spec/schemas/contact-information.yml
new file mode 100644
index 0000000000000000000000000000000000000000..0b3a10c0f947ec058f43acc1d631e5de3f62a580
--- /dev/null
+++ b/spec/schemas/contact-information.yml
@@ -0,0 +1,25 @@
+title: Kontakt
+description: Angaben zum Ansprechpartner des Zustellpunktes
+type: object
+additionalProperties: false
+required:
+  - legalName
+  - address
+  - phone
+  - email
+properties:
+  legalName:
+    type: string
+    description: Juristischer Name der verantwortlichen Organisation
+  address:
+    type: string
+    description: Adresse der verantwortlichen Organisation
+  phone:
+    type: string
+    description: Telefonnummer der verantwortlichen Stelle
+  email:
+    type: string
+    description: Funktionspostfachadresse der verantwortlichen Stelle. Falls nicht vorhanden, kann auch eine personalisierte Adresse des Supportverantwortlichen eingetragen werden.
+  unit:
+    type: string
+    description: Verantwortliche Untereinheit (Abteilung, Referat, etc.) der Organisation. Kann zur Vereinfachung von Klärungsfragen angegeben werden.
diff --git a/spec/schemas/create-application.yml b/spec/schemas/create-application.yml
new file mode 100644
index 0000000000000000000000000000000000000000..7e141704fbe22dfbd559fdbf5e8b6cfa379a2370
--- /dev/null
+++ b/spec/schemas/create-application.yml
@@ -0,0 +1,15 @@
+title: Objekt zum Erzeugen eines Antrags
+description: 'Metadaten eines Antrags noch ohne ID, zum Anlegen eines neuen Antrags.'
+type: object
+additionalProperties: false
+required:
+  - destinationId
+  - announcedContentStructure
+properties:
+  destinationId:
+    type: string
+    format: uuid
+    minLength: 32
+    maxLength: 36
+  announcedContentStructure:
+    $ref: './announced-content-structure.yml'
diff --git a/spec/schemas/create-attachment.yml b/spec/schemas/create-attachment.yml
new file mode 100644
index 0000000000000000000000000000000000000000..43968d656f7e492b737581d46df9e2629c67b480
--- /dev/null
+++ b/spec/schemas/create-attachment.yml
@@ -0,0 +1,5 @@
+title: Objekt zum Erzeugen eines Dokuments
+description: 'Repräsentation eines Dokumentes, das mit einem Antrag verknüpft wird. JSON Web Encryption Compact Serialization, RFC 7516'
+type: string
+minLength: 1
+pattern: '^[a-zA-Z0-9-_=.]+$'
diff --git a/spec/schemas/create-destination.yml b/spec/schemas/create-destination.yml
new file mode 100644
index 0000000000000000000000000000000000000000..94a11dd98bade859967ba4b604ba49b8e068ff81
--- /dev/null
+++ b/spec/schemas/create-destination.yml
@@ -0,0 +1,32 @@
+title: Objekt zum Erzeugen eines Zustellpunkts
+description: 'Notwendige Struktur, um einen Zustellpunkt zu hinterlegen.'
+type: object
+additionalProperties: false
+required:
+  - contactInformation
+  - schemas
+  - callback
+  - encryptionKid
+  - publicKeys
+properties:
+  contactInformation:
+    $ref: './contact-information.yml'
+  schemas:
+    uniqueItems: true
+    minItems: 1
+    type: array
+    description: Auflistung aller unterstützten Antragsschemata des Zustellpunktes.
+    items:
+      $ref: './application-schema.yml'
+  callback:
+    type: string
+    minLength: 1
+    format: uri
+    description: 'Öffentlich erreichbare Callbackadresse, um Benachrichtigungen beim Vorliegen neuer Anträge zu empfangen.'
+  encryptionKid:
+    type: string
+    maxLength: 64
+    description: 'Öffentlicher Teil des Verschlüsselungsschlüssels der Destination. Ist im Attribut `publicKeys` abrufbar.'
+  # signingKid ist nicht nötig, da diese in einer signierten Nachricht enthalten ist.
+  publicKeys:
+    $ref: './jwks.yml'
diff --git a/spec/schemas/destination-list.yml b/spec/schemas/destination-list.yml
new file mode 100644
index 0000000000000000000000000000000000000000..421c20d7a1a0e34f0905da85f9502d0a61bb488a
--- /dev/null
+++ b/spec/schemas/destination-list.yml
@@ -0,0 +1,11 @@
+title: Liste selbst angelegter Zustellpunkte
+type: object
+required:
+  - destinations
+properties:
+  destinations:
+    type: array
+    minItems: 0
+    items:
+      $ref: './destination.yml'
+    description: Eine Auflistung aller selbst angelegten Zustellpunkte
diff --git a/spec/schemas/destination.yml b/spec/schemas/destination.yml
new file mode 100644
index 0000000000000000000000000000000000000000..085a425c57c42da6e992ab9981429eae583fffc0
--- /dev/null
+++ b/spec/schemas/destination.yml
@@ -0,0 +1,38 @@
+title: Zustellpunkt
+description: Repräsentation eines Zustellpunktes mit den öffentlich einsehbaren Attributen
+type: object
+required:
+  - destinationId
+  - schemas
+  - encryptionKid
+  - publicKeys
+  - contactInformation
+  - callback
+properties:
+  destinationId:
+    type: string
+    minLength: 32
+    format: uuid
+    maxLength: 36
+    description: Identifikator des Zustellpunktes
+  schemas:
+    uniqueItems: true
+    minItems: 1
+    type: array
+    description: Auflistung aller unterstützten Antragsschemata des Zustellpunktes.
+    items:
+      $ref: './application-schema.yml'
+  encryptionKid:
+    type: string
+    maxLength: 64
+    description: 'Öffentlicher Teil des Verschlüsselungsschlüssels der Destination. Ist im Attribut `publicKeys` abrufbar.'
+  # signingKid ist nicht nötig, da diese in einer signierten Nachricht enthalten ist.
+  publicKeys:
+    $ref: './jwks.yml'
+  contactInformation:
+    $ref: './contact-information.yml'
+  callback:
+    type: string
+    minLength: 1
+    format: uri
+    description: 'Öffentlich erreichbare Callbackadresse, um Benachrichtigungen beim Vorliegen neuer Anträge zu empfangen.'
diff --git a/spec/schemas/empty-body.yml b/spec/schemas/empty-body.yml
new file mode 100644
index 0000000000000000000000000000000000000000..e1531d5552bc5722fbf6f068514982f700a8af9f
--- /dev/null
+++ b/spec/schemas/empty-body.yml
@@ -0,0 +1,3 @@
+title: Leeres JSON-Objekt
+type: object
+additionalProperties: false
diff --git a/spec/schemas/error.yml b/spec/schemas/error.yml
new file mode 100644
index 0000000000000000000000000000000000000000..9dedc22a7126dce3e26c6756987100139bd7a691
--- /dev/null
+++ b/spec/schemas/error.yml
@@ -0,0 +1,21 @@
+title: Fehler
+type: object
+description: Der Inhalt von HTTP Responses bei Fehlern nach RFC7807.
+required:
+  - type
+  - title
+  - status
+properties:
+  type:
+    type: string
+  title:
+    type: string
+  status:
+    type: integer
+    minimum: 100
+    maximum: 599
+  detail:
+    type: string
+  instance:
+    type: string
+    format: uri
diff --git a/spec/schemas/info.yml b/spec/schemas/info.yml
new file mode 100644
index 0000000000000000000000000000000000000000..f66fad668403ee6b38e592a5d79564d00aceade1
--- /dev/null
+++ b/spec/schemas/info.yml
@@ -0,0 +1,7 @@
+title: Technisches Serviceinformationen
+type: object
+required:
+  - version
+properties:
+  version:
+    $ref: './version.yml'
diff --git a/spec/schemas/jwk.yml b/spec/schemas/jwk.yml
new file mode 100644
index 0000000000000000000000000000000000000000..d343fa448ab250bb7de9a541f2eddbfdba855963
--- /dev/null
+++ b/spec/schemas/jwk.yml
@@ -0,0 +1,55 @@
+title: JSON Web Key (JWK)
+type: object
+description: JSON Web Key - RFC 7517
+additionalProperties: false
+required:
+  - kty
+  - kid
+properties:
+  kty:
+    type: string
+    description: Key Type
+    enum:
+      - EC
+      - RSA
+      - oct
+      - OKP
+  use:
+    type: string
+    description: Public Key Use
+    enum:
+      - sig
+      - enc
+  key_ops:
+    type: array
+    description: Key Operations
+    items:
+      type: string
+      enum:
+        - sign
+        - verify
+        - encrypt
+        - decrypt
+        - wrapKey
+        - unwrapKey
+        - deriveKey
+        - deriveBits
+  alg:
+    type: string
+    description: Algorithm
+  kid:
+    description: Key ID
+    type: string
+  x5u:
+    type: string
+    description: X.509 URL
+    format: uri
+  x5c:
+    description: X.509 Certificate Chain
+    type: array
+    items:
+      type: string
+  x5t:
+    type: string
+  x5t#S256:
+    type: string
\ No newline at end of file
diff --git a/spec/schemas/jwks.yml b/spec/schemas/jwks.yml
new file mode 100644
index 0000000000000000000000000000000000000000..6ce9859fb66b0693b8b3f3349e9afdde2c24b451
--- /dev/null
+++ b/spec/schemas/jwks.yml
@@ -0,0 +1,12 @@
+title: JSON Web Key Set (JWKS)
+description: 'JWKS nach https://datatracker.ietf.org/doc/html/rfc7517#section-5'
+type: object
+required:
+  - keys
+properties:
+  keys:
+    type: array
+    uniqueItems: true
+    minItems: 1
+    items:
+      $ref: './jwk.yml'
diff --git a/spec/schemas/list-of-application-ids.yml b/spec/schemas/list-of-application-ids.yml
new file mode 100644
index 0000000000000000000000000000000000000000..214513c533308c2c4b5e76d6d784e73ab338b46c
--- /dev/null
+++ b/spec/schemas/list-of-application-ids.yml
@@ -0,0 +1,9 @@
+title: Liste abholbereiter Anträge
+description: 'Liste von Destination-IDs aller Anträge, die für den Zustellpunkt zur Abholung bereitstehen'
+type: array
+minItems: 1
+items:
+  type: string
+  format: uuid
+  minLength: 32
+  maxLength: 36
diff --git a/spec/schemas/state-transition.yml b/spec/schemas/state-transition.yml
new file mode 100644
index 0000000000000000000000000000000000000000..631b9f6dbb8c87892e522461317108d48e090a6b
--- /dev/null
+++ b/spec/schemas/state-transition.yml
@@ -0,0 +1,18 @@
+title: Statusübergang
+description: Stellt einen Statusübergang eines Antrags dar.
+type: object
+required:
+  - sourceState
+  - targetState
+  - timestamp
+additionalProperties: false
+properties:
+  sourceState:
+    $ref: './application-state.yml'
+  targetState:
+    $ref: './application-state.yml'
+  details:
+    type: string
+  timestamp:
+    type: string
+    format: date-time
\ No newline at end of file
diff --git a/spec/schemas/status.yml b/spec/schemas/status.yml
new file mode 100644
index 0000000000000000000000000000000000000000..5e967d4ed59b5313993cf5c465d07035e0482ba0
--- /dev/null
+++ b/spec/schemas/status.yml
@@ -0,0 +1,7 @@
+title: Servicestatus
+type: object
+required:
+  - status
+properties:
+  status:
+    type: string
diff --git a/spec/schemas/submit-application.yml b/spec/schemas/submit-application.yml
new file mode 100644
index 0000000000000000000000000000000000000000..6c45554adfc08a42873d6dec01c5d4d1560977ea
--- /dev/null
+++ b/spec/schemas/submit-application.yml
@@ -0,0 +1,14 @@
+title: Antrag absenden
+description: Datenstruktur für den Abschluss eines Antrags.
+type: object
+required:
+  - encryptedMetadata
+properties:
+  encryptedMetadata:
+    description: Verschlüsselte Antragsmetadaten im Format JSON Web Encryption (JWE) laut RFC7516
+    type: string
+    pattern: '^[a-zA-Z0-9-_=.]+$'
+  encryptedData:
+    description: Verschlüsselte Antragsdaten im Format JSON Web Encryption (JWE) laut RFC7516
+    type: string
+    pattern: '^[a-zA-Z0-9-_=.]+$'
diff --git a/spec/schemas/update-destination.yml b/spec/schemas/update-destination.yml
new file mode 100644
index 0000000000000000000000000000000000000000..194a6bd1699cce39d978705e6f982e9b0d4dc3e2
--- /dev/null
+++ b/spec/schemas/update-destination.yml
@@ -0,0 +1,32 @@
+title: Aktualisierung eines Zustellpunktes
+description: 'Struktur mit Attributen, die aktualisiert werden sollen.'
+type: object
+additionalProperties: false
+required:
+  - contactInformation
+  - schemas
+  - callback
+  - encryptionKid
+  - publicKeys
+properties:
+  contactInformation:
+    $ref: './contact-information.yml'
+  schemas:
+    uniqueItems: true
+    minItems: 1
+    type: array
+    description: Auflistung aller unterstützten Antragsschemata des Zustellpunktes.
+    items:
+      $ref: './application-schema.yml'
+  callback:
+    type: string
+    minLength: 1
+    format: uri
+    description: 'Öffentlich erreichbare Callbackadresse, um Benachrichtigungen beim Vorliegen neuer Anträge zu empfangen.'
+  encryptionKid:
+    type: string
+    maxLength: 64
+    description: 'Öffentlicher Teil des Verschlüsselungsschlüssels der Destination. Ist im Attribut `publicKeys` abrufbar.'
+  # signingKid ist nicht nötig, da diese in einer signierten Nachricht enthalten ist.
+  publicKeys:
+    $ref: './jwks.yml'
diff --git a/spec/schemas/version.yml b/spec/schemas/version.yml
new file mode 100644
index 0000000000000000000000000000000000000000..43079c289f5f9e5b6d0155c80db90df25685d7dd
--- /dev/null
+++ b/spec/schemas/version.yml
@@ -0,0 +1,13 @@
+title: Serviceversion
+type: object
+required:
+  - major
+  - minor
+  - patch
+properties:
+  major:
+    type: integer
+  minor:
+    type: integer
+  patch:
+    type: integer
diff --git a/spec/security/oauth2.yml b/spec/security/oauth2.yml
new file mode 100644
index 0000000000000000000000000000000000000000..7ddda96878e66e6f6e67851df6db186f7962cfc5
--- /dev/null
+++ b/spec/security/oauth2.yml
@@ -0,0 +1,9 @@
+description: Authentifizierungsmethode, um den Zugriff nach RFC8725 zu autorisieren
+type: oauth2
+flows:
+  clientCredentials:
+    tokenUrl: 'https://sender-test-token.fiep-poc.de/auth/realms/test/protocol/openid-connect/token'
+    scopes:
+      'destination:send': Erlaubt das Versenden von Anträgen an Zustellpunkte
+      'destination:manage': Erlaubt die Verwaltung der eigenen Zustellpunkte
+      'destination:susbcribe': Erlaubt die Abholung von Anträgen und Dokumenten (Anhängen)
diff --git a/spec/zustelldienst.yml b/spec/zustelldienst.yml
new file mode 100644
index 0000000000000000000000000000000000000000..f1d27079918174812ee3208ac47ab924763fae1c
--- /dev/null
+++ b/spec/zustelldienst.yml
@@ -0,0 +1,124 @@
+openapi: 3.0.0
+info:
+  version: '1.0.0-alpha'
+  title: Antragsmanagement API für Antragsverfahren und Berichtspflichten
+  description: Ãœbergreifende API Schnittstelle des Zustelldienstes.
+  contact:
+    name: FITKO
+    url: 'https://www.fitko.de/'
+  license:
+    url: 'https://creativecommons.org/licenses/by-sa/4.0/'
+    name: Creative Commons Attribution Share Alike 4.0 (CC BY-SA 4.0)
+  termsOfService: https://www.fitko.de/
+servers:
+  - url: 'https://sender-test.fiep-poc.de/beta8'
+    description: Testsystem
+tags:
+  - name: Destination Management
+  - name: Application Transfer
+  - name: Application Retrieval
+  - name: Technical
+paths:
+  /destinations:
+    $ref: './endpoints/destinations/index.yml'
+
+  /destinations/{destinationId}:
+    $ref: './endpoints/destinations/uuid.yml'
+
+  /applications:
+    $ref: './endpoints/applications/index.yml'
+
+  /applications/{applicationId}:
+    $ref: './endpoints/applications/uuid.yml'
+
+  /applications/{applicationId}/attachments/{attachmentId}:
+    $ref: './endpoints/attachments/uuid.yml'
+
+  /info:
+    $ref: './endpoints/info/get-info.yml'
+
+  /status:
+    $ref: './endpoints/status.yml'
+
+components:
+  securitySchemes:
+    OAuth20:
+      $ref: './security/oauth2.yml'
+
+  parameters:
+    applicationId:
+      $ref: './parameters/applicationId.yml'
+    destinationId:
+      $ref: './parameters/destinationId.yml'
+    attachmentId:
+      $ref: './parameters/attachmentId.yml'
+
+  schemas:
+    AnnouncedContentStructure:
+      $ref: './schemas/announced-content-structure.yml'
+    Application:
+      $ref: './schemas/application.yml'
+    ApplicationCreated:
+      $ref: './schemas/application-created.yml'
+    ApplicationSchema:
+      $ref: './schemas/application-schema.yml'
+    ApplicationState:
+      $ref: './schemas/application-state.yml'
+    Attachment:
+      $ref: './schemas/attachment.yml'
+    ContactInformation:
+      $ref: './schemas/contact-information.yml'
+    CreateApplication:
+      $ref: './schemas/create-application.yml'
+    CreateAttachment:
+      $ref: './schemas/create-attachment.yml'
+    CreateDestination:
+      $ref: './schemas/create-destination.yml'
+    Destination:
+      $ref: './schemas/destination.yml'
+    DestinationList:
+      $ref: './schemas/destination-list.yml'
+    EmptyBody:
+      $ref: './schemas/empty-body.yml'
+    Error:
+      $ref: './schemas/error.yml'
+    Info:
+      $ref: './schemas/info.yml'
+    JWK:
+      $ref: './schemas/jwk.yml'
+    JWKS:
+      $ref: './schemas/jwks.yml'
+    ListOfApplicationIds:
+      $ref: './schemas/list-of-application-ids.yml'
+    StateTransition:
+      $ref: './schemas/state-transition.yml'
+    Status:
+      $ref: './schemas/status.yml'
+    SubmitApplication:
+      $ref: './schemas/submit-application.yml'
+    UpdateDestination:
+      $ref: './schemas/update-destination.yml'
+    Version:
+      $ref: './schemas/version.yml'
+
+  examples:
+    Application:
+      $ref: './examples/application.yml'
+    ApplicationCreated:
+      $ref: './examples/application-created.yml'
+    ApplicationState:
+      $ref: './examples/application-state.yml'
+    CreateApplication:
+      $ref: './examples/create-application.yml'
+    CreateDestination:
+      $ref: './examples/create-destination.yml'
+    Destination:
+      $ref: './examples/destination.yml'
+    DestinationList:
+      $ref: './examples/destination-list.yml'
+    EmptyBody:
+      $ref: './examples/empty-body.yml'
+    EncryptedMessage:
+      $ref: './examples/encrypted-message.yml'
+    Info:
+      $ref: './examples/info.yml'
diff --git a/tag.sh b/tag.sh
new file mode 100755
index 0000000000000000000000000000000000000000..4b05a73d8f7fc98bf65eb0ced0331074035d2805
--- /dev/null
+++ b/tag.sh
@@ -0,0 +1,15 @@
+#!/usr/bin/env sh
+
+echo "Existing tags:"
+PAGER= git tag --list | sed 's/^/  /'
+
+TAG="$1"
+
+if [ -z "$TAG" ]; then
+    echo "Usage: $0 TAG"
+    echo "Example: $0 v1.0.1"
+    exit 1
+fi
+
+git tag -a "$TAG" -m "Release $TAG"
+echo "Done! Run 'git push --tags' to push tag $TAG"
diff --git a/ui/LICENSE.md b/ui/LICENSE.md
new file mode 100644
index 0000000000000000000000000000000000000000..f1733ebee882fb4302a36a7f64fc140906ff988c
--- /dev/null
+++ b/ui/LICENSE.md
@@ -0,0 +1,23 @@
+This license is for `rapidoc-min.js`:
+
+MIT License
+===========
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
\ No newline at end of file
diff --git a/ui/config.js.template b/ui/config.js.template
new file mode 100644
index 0000000000000000000000000000000000000000..ac658329dd0e4870d1bec218e70bc8ea23869b2a
--- /dev/null
+++ b/ui/config.js.template
@@ -0,0 +1,4 @@
+// Localhost: python -m http.server
+// sed 's,REPLACEME,https://example.com/spec.yml,g' ui/config.js.template > ui/config.js
+
+export const SPEC_URL = "REPLACEME";
diff --git a/ui/index.html b/ui/index.html
new file mode 100644
index 0000000000000000000000000000000000000000..ff526f68982cd2eda9bab4e9bd8f65177fee3b3f
--- /dev/null
+++ b/ui/index.html
@@ -0,0 +1,46 @@
+<!doctype html>
+<html>
+<head>
+    <meta charset="utf-8"> <!-- Important: rapi-doc uses utf8 charecters -->
+    <title>Zustelldienst - API-Referenz</title>
+    <script type="module" src="rapidoc-min.js"></script>
+    <script type="module">
+        import {SPEC_URL} from './config.js';
+
+        console.log('Spec: ' + SPEC_URL);
+        let docEl = document.getElementById("thedoc");
+        docEl.setAttribute("spec-url", SPEC_URL);
+    </script>
+</head>
+<body>
+<!--<rapi-doc spec-url = "poc/reference/0_xfall_deref_snippets.json" -->
+<rapi-doc id="thedoc"
+          render-style="focused"
+          show-info="true"
+          show-header="true"
+          show-components="true"
+          theme="light"
+          xprimary-color="#11171a"
+          header-color="#263238"
+          nav-bg-color="#263238"
+
+          info-description-headings-in-navbar="true">
+    <!-- content at the top -->
+
+    <!-- content at the bottom -->
+    <p slot="footer" style="background: #f1f1f1; padding: 24px 100px 12px 100px">
+        FITKO (Föderale IT-Kooperation) | Zum Gottschalkhof 3 | 60594 Frankfurt am Mail | E-Mail: poststelle@fitko.de |
+        https://www.fitko.de | Die FITKO ist eine Anstalt des öffentlichen Rechts. Sie wird vertreten durch die
+        Präsidentin Frau Dr. Annette Schmidt.
+    </p>
+
+    <!-- replace logo -->
+    <!--<p slot="logo"><img src="https://git.fitko.de/uploads/-/system/project/avatar/1/Connect.jpg?width=128" style="height: 1em; margin: 0.3em 0 0 1em; background: white; padding: 0.5em;" alt="Logo"></p>-->
+    <p slot="logo"></p>
+
+    <!-- header -->
+    <!--<p slot="header"></p>-->
+
+</rapi-doc>
+</body>
+</html>
diff --git a/ui/rapidoc-min.js b/ui/rapidoc-min.js
new file mode 100644
index 0000000000000000000000000000000000000000..3dcfda6f793ffa259ac455e0141367af571e9d3a
--- /dev/null
+++ b/ui/rapidoc-min.js
@@ -0,0 +1,4 @@
+/*! RapiDoc 9.0.0 | Author - Mrinmoy Majumdar | License information can be found in rapidoc-min.js.LICENSE.txt  */
+(()=>{var e,t,r={652:(e,t,r)=>{"use strict";const n=new WeakMap,o=e=>"function"==typeof e&&n.has(e),a="undefined"!=typeof window&&null!=window.customElements&&void 0!==window.customElements.polyfillWrapFlushCallback,i=(e,t,r=null)=>{for(;t!==r;){const r=t.nextSibling;e.removeChild(t),t=r}},s={},l={},c=`{{lit-${String(Math.random()).slice(2)}}}`,u=`\x3c!--${c}--\x3e`,p=new RegExp(`${c}|${u}`),d="$lit$";class h{constructor(e,t){this.parts=[],this.element=t;const r=[],n=[],o=document.createTreeWalker(t.content,133,null,!1);let a=0,i=-1,s=0;const{strings:l,values:{length:u}}=e;for(;s<u;){const e=o.nextNode();if(null!==e){if(i++,1===e.nodeType){if(e.hasAttributes()){const t=e.attributes,{length:r}=t;let n=0;for(let e=0;e<r;e++)f(t[e].name,d)&&n++;for(;n-- >0;){const t=l[s],r=y.exec(t)[2],n=r.toLowerCase()+d,o=e.getAttribute(n);e.removeAttribute(n);const a=o.split(p);this.parts.push({type:"attribute",index:i,name:r,strings:a}),s+=a.length-1}}"TEMPLATE"===e.tagName&&(n.push(e),o.currentNode=e.content)}else if(3===e.nodeType){const t=e.data;if(t.indexOf(c)>=0){const n=e.parentNode,o=t.split(p),a=o.length-1;for(let t=0;t<a;t++){let r,a=o[t];if(""===a)r=g();else{const e=y.exec(a);null!==e&&f(e[2],d)&&(a=a.slice(0,e.index)+e[1]+e[2].slice(0,-d.length)+e[3]),r=document.createTextNode(a)}n.insertBefore(r,e),this.parts.push({type:"node",index:++i})}""===o[a]?(n.insertBefore(g(),e),r.push(e)):e.data=o[a],s+=a}}else if(8===e.nodeType)if(e.data===c){const t=e.parentNode;null!==e.previousSibling&&i!==a||(i++,t.insertBefore(g(),e)),a=i,this.parts.push({type:"node",index:i}),null===e.nextSibling?e.data="":(r.push(e),i--),s++}else{let t=-1;for(;-1!==(t=e.data.indexOf(c,t+1));)this.parts.push({type:"node",index:-1}),s++}}else o.currentNode=n.pop()}for(const e of r)e.parentNode.removeChild(e)}}const f=(e,t)=>{const r=e.length-t.length;return r>=0&&e.slice(r)===t},m=e=>-1!==e.index,g=()=>document.createComment(""),y=/([ \x09\x0a\x0c\x0d])([^\0-\x1F\x7F-\x9F "'>=/]+)([ \x09\x0a\x0c\x0d]*=[ \x09\x0a\x0c\x0d]*(?:[^ \x09\x0a\x0c\x0d"'`<>=]*|"[^"]*|'[^']*))$/;class b{constructor(e,t,r){this.__parts=[],this.template=e,this.processor=t,this.options=r}update(e){let t=0;for(const r of this.__parts)void 0!==r&&r.setValue(e[t]),t++;for(const e of this.__parts)void 0!==e&&e.commit()}_clone(){const e=a?this.template.element.content.cloneNode(!0):document.importNode(this.template.element.content,!0),t=[],r=this.template.parts,n=document.createTreeWalker(e,133,null,!1);let o,i=0,s=0,l=n.nextNode();for(;i<r.length;)if(o=r[i],m(o)){for(;s<o.index;)s++,"TEMPLATE"===l.nodeName&&(t.push(l),n.currentNode=l.content),null===(l=n.nextNode())&&(n.currentNode=t.pop(),l=n.nextNode());if("node"===o.type){const e=this.processor.handleTextExpression(this.options);e.insertAfterNode(l.previousSibling),this.__parts.push(e)}else this.__parts.push(...this.processor.handleAttributeExpressions(l,o.name,o.strings,this.options));i++}else this.__parts.push(void 0),i++;return a&&(document.adoptNode(e),customElements.upgrade(e)),e}}const v=` ${c} `;class x{constructor(e,t,r,n){this.strings=e,this.values=t,this.type=r,this.processor=n}getHTML(){const e=this.strings.length-1;let t="",r=!1;for(let n=0;n<e;n++){const e=this.strings[n],o=e.lastIndexOf("\x3c!--");r=(o>-1||r)&&-1===e.indexOf("--\x3e",o+1);const a=y.exec(e);t+=null===a?e+(r?v:u):e.substr(0,a.index)+a[1]+a[2]+d+a[3]+c}return t+=this.strings[e],t}getTemplateElement(){const e=document.createElement("template");return e.innerHTML=this.getHTML(),e}}const w=e=>null===e||!("object"==typeof e||"function"==typeof e),k=e=>Array.isArray(e)||!(!e||!e[Symbol.iterator]);class A{constructor(e,t,r){this.dirty=!0,this.element=e,this.name=t,this.strings=r,this.parts=[];for(let e=0;e<r.length-1;e++)this.parts[e]=this._createPart()}_createPart(){return new $(this)}_getValue(){const e=this.strings,t=e.length-1;let r="";for(let n=0;n<t;n++){r+=e[n];const t=this.parts[n];if(void 0!==t){const e=t.value;if(w(e)||!k(e))r+="string"==typeof e?e:String(e);else for(const t of e)r+="string"==typeof t?t:String(t)}}return r+=e[t],r}commit(){this.dirty&&(this.dirty=!1,this.element.setAttribute(this.name,this._getValue()))}}class ${constructor(e){this.value=void 0,this.committer=e}setValue(e){e===s||w(e)&&e===this.value||(this.value=e,o(e)||(this.committer.dirty=!0))}commit(){for(;o(this.value);){const e=this.value;this.value=s,e(this)}this.value!==s&&this.committer.commit()}}class E{constructor(e){this.value=void 0,this.__pendingValue=void 0,this.options=e}appendInto(e){this.startNode=e.appendChild(g()),this.endNode=e.appendChild(g())}insertAfterNode(e){this.startNode=e,this.endNode=e.nextSibling}appendIntoPart(e){e.__insert(this.startNode=g()),e.__insert(this.endNode=g())}insertAfterPart(e){e.__insert(this.startNode=g()),this.endNode=e.endNode,e.endNode=this.startNode}setValue(e){this.__pendingValue=e}commit(){if(null===this.startNode.parentNode)return;for(;o(this.__pendingValue);){const e=this.__pendingValue;this.__pendingValue=s,e(this)}const e=this.__pendingValue;e!==s&&(w(e)?e!==this.value&&this.__commitText(e):e instanceof x?this.__commitTemplateResult(e):e instanceof Node?this.__commitNode(e):k(e)?this.__commitIterable(e):e===l?(this.value=l,this.clear()):this.__commitText(e))}__insert(e){this.endNode.parentNode.insertBefore(e,this.endNode)}__commitNode(e){this.value!==e&&(this.clear(),this.__insert(e),this.value=e)}__commitText(e){const t=this.startNode.nextSibling,r="string"==typeof(e=null==e?"":e)?e:String(e);t===this.endNode.previousSibling&&3===t.nodeType?t.data=r:this.__commitNode(document.createTextNode(r)),this.value=e}__commitTemplateResult(e){const t=this.options.templateFactory(e);if(this.value instanceof b&&this.value.template===t)this.value.update(e.values);else{const r=new b(t,e.processor,this.options),n=r._clone();r.update(e.values),this.__commitNode(n),this.value=r}}__commitIterable(e){Array.isArray(this.value)||(this.value=[],this.clear());const t=this.value;let r,n=0;for(const o of e)r=t[n],void 0===r&&(r=new E(this.options),t.push(r),0===n?r.appendIntoPart(this):r.insertAfterPart(t[n-1])),r.setValue(o),r.commit(),n++;n<t.length&&(t.length=n,this.clear(r&&r.endNode))}clear(e=this.startNode){i(this.startNode.parentNode,e.nextSibling,this.endNode)}}class S{constructor(e,t,r){if(this.value=void 0,this.__pendingValue=void 0,2!==r.length||""!==r[0]||""!==r[1])throw new Error("Boolean attributes can only contain a single expression");this.element=e,this.name=t,this.strings=r}setValue(e){this.__pendingValue=e}commit(){for(;o(this.__pendingValue);){const e=this.__pendingValue;this.__pendingValue=s,e(this)}if(this.__pendingValue===s)return;const e=!!this.__pendingValue;this.value!==e&&(e?this.element.setAttribute(this.name,""):this.element.removeAttribute(this.name),this.value=e),this.__pendingValue=s}}class D extends A{constructor(e,t,r){super(e,t,r),this.single=2===r.length&&""===r[0]&&""===r[1]}_createPart(){return new O(this)}_getValue(){return this.single?this.parts[0].value:super._getValue()}commit(){this.dirty&&(this.dirty=!1,this.element[this.name]=this._getValue())}}class O extends ${}let C=!1;(()=>{try{const e={get capture(){return C=!0,!1}};window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch(e){}})();class _{constructor(e,t,r){this.value=void 0,this.__pendingValue=void 0,this.element=e,this.eventName=t,this.eventContext=r,this.__boundHandleEvent=e=>this.handleEvent(e)}setValue(e){this.__pendingValue=e}commit(){for(;o(this.__pendingValue);){const e=this.__pendingValue;this.__pendingValue=s,e(this)}if(this.__pendingValue===s)return;const e=this.__pendingValue,t=this.value,r=null==e||null!=t&&(e.capture!==t.capture||e.once!==t.once||e.passive!==t.passive),n=null!=e&&(null==t||r);r&&this.element.removeEventListener(this.eventName,this.__boundHandleEvent,this.__options),n&&(this.__options=j(e),this.element.addEventListener(this.eventName,this.__boundHandleEvent,this.__options)),this.value=e,this.__pendingValue=s}handleEvent(e){"function"==typeof this.value?this.value.call(this.eventContext||this.element,e):this.value.handleEvent(e)}}const j=e=>e&&(C?{capture:e.capture,passive:e.passive,once:e.once}:e.capture);const T=new class{handleAttributeExpressions(e,t,r,n){const o=t[0];if("."===o){return new D(e,t.slice(1),r).parts}if("@"===o)return[new _(e,t.slice(1),n.eventContext)];if("?"===o)return[new S(e,t.slice(1),r)];return new A(e,t,r).parts}handleTextExpression(e){return new E(e)}};function F(e){let t=P.get(e.type);void 0===t&&(t={stringsArray:new WeakMap,keyString:new Map},P.set(e.type,t));let r=t.stringsArray.get(e.strings);if(void 0!==r)return r;const n=e.strings.join(c);return r=t.keyString.get(n),void 0===r&&(r=new h(e,e.getTemplateElement()),t.keyString.set(n,r)),t.stringsArray.set(e.strings,r),r}const P=new Map,B=new WeakMap;"undefined"!=typeof window&&(window.litHtmlVersions||(window.litHtmlVersions=[])).push("1.2.1");const I=(e,...t)=>new x(e,t,"html",T);window.JSCompiler_renameProperty=(e,t)=>e;const R={toAttribute(e,t){switch(t){case Boolean:return e?"":null;case Object:case Array:return null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){switch(t){case Boolean:return null!==e;case Number:return null===e?null:Number(e);case Object:case Array:return JSON.parse(e)}return e}},N=(e,t)=>t!==e&&(t==t||e==e),L={attribute:!0,type:String,converter:R,reflect:!1,hasChanged:N},q="finalized";class z extends HTMLElement{constructor(){super(),this.initialize()}static get observedAttributes(){this.finalize();const e=[];return this._classProperties.forEach(((t,r)=>{const n=this._attributeNameForProperty(r,t);void 0!==n&&(this._attributeToPropertyMap.set(n,r),e.push(n))})),e}static _ensureClassProperties(){if(!this.hasOwnProperty(JSCompiler_renameProperty("_classProperties",this))){this._classProperties=new Map;const e=Object.getPrototypeOf(this)._classProperties;void 0!==e&&e.forEach(((e,t)=>this._classProperties.set(t,e)))}}static createProperty(e,t=L){if(this._ensureClassProperties(),this._classProperties.set(e,t),t.noAccessor||this.prototype.hasOwnProperty(e))return;const r="symbol"==typeof e?Symbol():`__${e}`,n=this.getPropertyDescriptor(e,r,t);void 0!==n&&Object.defineProperty(this.prototype,e,n)}static getPropertyDescriptor(e,t,r){return{get(){return this[t]},set(n){const o=this[e];this[t]=n,this.requestUpdateInternal(e,o,r)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this._classProperties&&this._classProperties.get(e)||L}static finalize(){const e=Object.getPrototypeOf(this);if(e.hasOwnProperty(q)||e.finalize(),this.finalized=!0,this._ensureClassProperties(),this._attributeToPropertyMap=new Map,this.hasOwnProperty(JSCompiler_renameProperty("properties",this))){const e=this.properties,t=[...Object.getOwnPropertyNames(e),..."function"==typeof Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e):[]];for(const r of t)this.createProperty(r,e[r])}}static _attributeNameForProperty(e,t){const r=t.attribute;return!1===r?void 0:"string"==typeof r?r:"string"==typeof e?e.toLowerCase():void 0}static _valueHasChanged(e,t,r=N){return r(e,t)}static _propertyValueFromAttribute(e,t){const r=t.type,n=t.converter||R,o="function"==typeof n?n:n.fromAttribute;return o?o(e,r):e}static _propertyValueToAttribute(e,t){if(void 0===t.reflect)return;const r=t.type,n=t.converter;return(n&&n.toAttribute||R.toAttribute)(e,r)}initialize(){this._updateState=0,this._updatePromise=new Promise((e=>this._enableUpdatingResolver=e)),this._changedProperties=new Map,this._saveInstanceProperties(),this.requestUpdateInternal()}_saveInstanceProperties(){this.constructor._classProperties.forEach(((e,t)=>{if(this.hasOwnProperty(t)){const e=this[t];delete this[t],this._instanceProperties||(this._instanceProperties=new Map),this._instanceProperties.set(t,e)}}))}_applyInstanceProperties(){this._instanceProperties.forEach(((e,t)=>this[t]=e)),this._instanceProperties=void 0}connectedCallback(){this.enableUpdating()}enableUpdating(){void 0!==this._enableUpdatingResolver&&(this._enableUpdatingResolver(),this._enableUpdatingResolver=void 0)}disconnectedCallback(){}attributeChangedCallback(e,t,r){t!==r&&this._attributeToProperty(e,r)}_propertyToAttribute(e,t,r=L){const n=this.constructor,o=n._attributeNameForProperty(e,r);if(void 0!==o){const e=n._propertyValueToAttribute(t,r);if(void 0===e)return;this._updateState=8|this._updateState,null==e?this.removeAttribute(o):this.setAttribute(o,e),this._updateState=-9&this._updateState}}_attributeToProperty(e,t){if(8&this._updateState)return;const r=this.constructor,n=r._attributeToPropertyMap.get(e);if(void 0!==n){const e=r.getPropertyOptions(n);this._updateState=16|this._updateState,this[n]=r._propertyValueFromAttribute(t,e),this._updateState=-17&this._updateState}}requestUpdateInternal(e,t,r){let n=!0;if(void 0!==e){const o=this.constructor;r=r||o.getPropertyOptions(e),o._valueHasChanged(this[e],t,r.hasChanged)?(this._changedProperties.has(e)||this._changedProperties.set(e,t),!0!==r.reflect||16&this._updateState||(void 0===this._reflectingProperties&&(this._reflectingProperties=new Map),this._reflectingProperties.set(e,r))):n=!1}!this._hasRequestedUpdate&&n&&(this._updatePromise=this._enqueueUpdate())}requestUpdate(e,t){return this.requestUpdateInternal(e,t),this.updateComplete}async _enqueueUpdate(){this._updateState=4|this._updateState;try{await this._updatePromise}catch(e){}const e=this.performUpdate();return null!=e&&await e,!this._hasRequestedUpdate}get _hasRequestedUpdate(){return 4&this._updateState}get hasUpdated(){return 1&this._updateState}performUpdate(){if(!this._hasRequestedUpdate)return;this._instanceProperties&&this._applyInstanceProperties();let e=!1;const t=this._changedProperties;try{e=this.shouldUpdate(t),e?this.update(t):this._markUpdated()}catch(t){throw e=!1,this._markUpdated(),t}e&&(1&this._updateState||(this._updateState=1|this._updateState,this.firstUpdated(t)),this.updated(t))}_markUpdated(){this._changedProperties=new Map,this._updateState=-5&this._updateState}get updateComplete(){return this._getUpdateComplete()}_getUpdateComplete(){return this._updatePromise}shouldUpdate(e){return!0}update(e){void 0!==this._reflectingProperties&&this._reflectingProperties.size>0&&(this._reflectingProperties.forEach(((e,t)=>this._propertyToAttribute(t,this[t],e))),this._reflectingProperties=void 0),this._markUpdated()}updated(e){}firstUpdated(e){}}z.finalized=!0;const U=Element.prototype;U.msMatchesSelector||U.webkitMatchesSelector;const M=window.ShadowRoot&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,H=Symbol();class V{constructor(e,t){if(t!==H)throw new Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e}get styleSheet(){return void 0===this._styleSheet&&(M?(this._styleSheet=new CSSStyleSheet,this._styleSheet.replaceSync(this.cssText)):this._styleSheet=null),this._styleSheet}toString(){return this.cssText}}const W=e=>new V(String(e),H),Y=(e,...t)=>{const r=t.reduce(((t,r,n)=>t+(e=>{if(e instanceof V)return e.cssText;if("number"==typeof e)return e;throw new Error(`Value passed to 'css' function must be a 'css' function result: ${e}. Use 'unsafeCSS' to pass non-literal values, but\n            take care to ensure page security.`)})(r)+e[n+1]),e[0]);return new V(r,H)};(window.litElementVersions||(window.litElementVersions=[])).push("2.4.0");const K={};class G extends z{static getStyles(){return this.styles}static _getUniqueStyles(){if(this.hasOwnProperty(JSCompiler_renameProperty("_styles",this)))return;const e=this.getStyles();if(Array.isArray(e)){const t=(e,r)=>e.reduceRight(((e,r)=>Array.isArray(r)?t(r,e):(e.add(r),e)),r),r=t(e,new Set),n=[];r.forEach((e=>n.unshift(e))),this._styles=n}else this._styles=void 0===e?[]:[e];this._styles=this._styles.map((e=>{if(e instanceof CSSStyleSheet&&!M){const t=Array.prototype.slice.call(e.cssRules).reduce(((e,t)=>e+t.cssText),"");return W(t)}return e}))}initialize(){super.initialize(),this.constructor._getUniqueStyles(),this.renderRoot=this.createRenderRoot(),window.ShadowRoot&&this.renderRoot instanceof window.ShadowRoot&&this.adoptStyles()}createRenderRoot(){return this.attachShadow({mode:"open"})}adoptStyles(){const e=this.constructor._styles;0!==e.length&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow?M?this.renderRoot.adoptedStyleSheets=e.map((e=>e instanceof CSSStyleSheet?e:e.styleSheet)):this._needsShimAdoptedStyleSheets=!0:window.ShadyCSS.ScopingShim.prepareAdoptedCssText(e.map((e=>e.cssText)),this.localName))}connectedCallback(){super.connectedCallback(),this.hasUpdated&&void 0!==window.ShadyCSS&&window.ShadyCSS.styleElement(this)}update(e){const t=this.render();super.update(e),t!==K&&this.constructor.render(t,this.renderRoot,{scopeName:this.localName,eventContext:this}),this._needsShimAdoptedStyleSheets&&(this._needsShimAdoptedStyleSheets=!1,this.constructor._styles.forEach((e=>{const t=document.createElement("style");t.textContent=e.cssText,this.renderRoot.appendChild(t)})))}render(){return K}}G.finalized=!0,G.render=(e,t,r)=>{let n=B.get(t);void 0===n&&(i(t,t.firstChild),B.set(t,n=new E(Object.assign({templateFactory:F},r))),n.appendInto(t)),n.setValue(e),n.commit()};var J=r(84),Z=r.n(J),X=r(660),Q=r.n(X);r(251),r(358),r(46),r(503),r(277),r(874),r(366),r(57),r(16);const ee=Y`.hover-bg:hover{background:var(--bg3)}::selection{background:var(--selection-bg);color:var(--selection-fg)}.regular-font{font-family:var(--font-regular)}.mono-font{font-family:var(--font-mono)}.title{font-size:calc(var(--font-size-small) + 18px);font-weight:400}.sub-title{font-size:20px}.req-res-title{font-family:var(--font-regular);font-size:calc(var(--font-size-small) + 4px);font-weight:700;margin-bottom:8px}.tiny-title{font-size:calc(var(--font-size-small) + 1px);font-weight:700}.regular-font-size{font-size:var(--font-size-regular)}.small-font-size{font-size:var(--font-size-small)}.upper{text-transform:uppercase}.primary-text{color:var(--primary-color)}.bold-text{font-weight:700}.gray-text{color:var(--light-fg)}.red-text{color:var(--red)}.blue-text{color:var(--blue)}.multiline{overflow:scroll;max-height:var(--resp-area-height,300px);color:var(--fg3)}.method-fg.put{color:var(--orange)}.method-fg.post{color:var(--green)}.method-fg.get{color:var(--blue)}.method-fg.delete{color:var(--red)}.method-fg.head,.method-fg.options,.method-fg.patch{color:var(--yellow)}h1{font-family:var(--font-regular);font-size:28px;padding-top:10px;letter-spacing:normal;font-weight:400}h2{font-family:var(--font-regular);font-size:24px;padding-top:10px;letter-spacing:normal;font-weight:400}h3{font-family:var(--font-regular);font-size:18px;padding-top:10px;letter-spacing:normal;font-weight:400}h4{font-family:var(--font-regular);font-size:16px;padding-top:10px;letter-spacing:normal;font-weight:400}h5{font-family:var(--font-regular);font-size:14px;padding-top:10px;letter-spacing:normal;font-weight:400}h6{font-family:var(--font-regular);font-size:14px;padding-top:10px;letter-spacing:normal;font-weight:400}h1,h2,h3,h4,h5{margin-block-end:.2em}p{margin-block-start:.5em}a{color:var(--blue);cursor:pointer}a.inactive-link{color:var(--fg);text-decoration:none;cursor:text}code,pre{margin:0;font-family:var(--font-mono);font-size:calc(var(--font-size-mono) - 1px)}.m-markdown,.m-markdown-small{display:block}.m-markdown li,.m-markdown p,.m-markdown span{font-size:var(--font-size-regular);line-height:calc(var(--font-size-regular) + 8px)}.m-markdown-small li,.m-markdown-small p,.m-markdown-small span{font-size:var(--font-size-small);line-height:calc(var(--font-size-small) + 6px)}.m-markdown-small li{line-height:calc(var(--font-size-small) + 8px)}.m-markdown p:not(:first-child){margin-block-start:24px}.m-markdown-small p:not(:first-child){margin-block-start:12px}.m-markdown-small p:first-child{margin-block-start:0}.m-markdown p,.m-markdown-small p{margin-block-end:0}.m-markdown code span{font-size:var(--font-size-mono)}.m-markdown code,.m-markdown-small code{padding:1px 6px;border-radius:2px;color:var(--inline-code-fg);background-color:var(--bg3);font-size:calc(var(--font-size-mono));line-height:1.2}.m-markdown-small code{font-size:calc(var(--font-size-mono) - 1px)}.m-markdown pre,.m-markdown-small pre{white-space:pre-wrap;overflow-x:auto;line-height:normal;border-radius:2px;border:1px solid var(--code-border-color)}.m-markdown pre{padding:12px;background-color:var(--code-bg);color:var(--code-fg)}.m-markdown-small pre{margin-top:4px;padding:2px 4px;background-color:var(--bg3);color:var(--fg2)}.m-markdown pre code,.m-markdown-small pre code{border:none;padding:0}.m-markdown pre code{color:var(--code-fg);background-color:var(--code-bg);background-color:transparent}.m-markdown-small pre code{color:var(--fg2);background-color:var(--bg3)}.m-markdown ol,.m-markdown ul{padding-inline-start:30px}.m-markdown-small ol,.m-markdown-small ul{padding-inline-start:20px}.m-markdown a,.m-markdown-small a{color:var(--blue)}.m-markdown img,.m-markdown-small img{max-width:100%}.m-markdown table,.m-markdown-small table{border-spacing:0;margin:10px 0;border-collapse:separate;border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:calc(var(--font-size-small) + 1px);line-height:calc(var(--font-size-small) + 4px);max-width:100%}.m-markdown-small table{font-size:var(--font-size-small);line-height:calc(var(--font-size-small) + 2px);margin:8px 0}.m-markdown td,.m-markdown th,.m-markdown-small td,.m-markdown-small th{vertical-align:top;border-top:1px solid var(--border-color);line-height:calc(var(--font-size-small) + 4px)}.m-markdown tr:first-child th,.m-markdown-small tr:first-child th{border-top:0 none}.m-markdown td,.m-markdown th{padding:10px 12px}.m-markdown-small td,.m-markdown-small th{padding:8px 8px}.m-markdown th,.m-markdown-small th{font-weight:600;background-color:var(--bg2);vertical-align:middle}.m-markdown-small table code{font-size:calc(var(--font-size-mono) - 2px)}.m-markdown table code{font-size:calc(var(--font-size-mono) - 1px)}.m-markdown blockquote,.m-markdown-small blockquote{margin-inline-start:0;margin-inline-end:0;border-left:3px solid var(--border-color);padding:6px 0 6px 6px}`,te=Y`.m-btn{border-radius:var(--border-radius);font-weight:600;display:inline-block;padding:6px 16px;font-size:var(--font-size-small);outline:0;line-height:1;text-align:center;white-space:nowrap;border:2px solid var(--primary-color);background-color:transparent;transition:background-color .2s;user-select:none;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.m-btn.primary{background-color:var(--primary-color);color:var(--primary-color-invert)}.m-btn.thin-border{border-width:1px}.m-btn.large{padding:8px 14px}.m-btn.small{padding:5px 12px}.m-btn.tiny{padding:5px 6px}.m-btn.circle{border-radius:50%}.m-btn:hover{background-color:var(--primary-color);color:var(--primary-color-invert)}.m-btn.nav{border:2px solid var(--nav-accent-color)}.m-btn.nav:hover{background-color:var(--nav-accent-color)}.m-btn:disabled{background-color:var(--bg3);color:var(--fg3);border-color:var(--fg3);cursor:not-allowed;opacity:.4}.toolbar-btn{cursor:pointer;padding:4px;margin:0 2px;font-size:var(--font-size-small);min-width:50px;color:var(--primary-color-invert);border-radius:2px;border:none;background-color:var(--primary-color)}button,input,pre,select,textarea{color:var(--fg);outline:0;background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--border-radius)}button{font-family:var(--font-regular)}input[type=file],input[type=password],input[type=text],pre,select,textarea{font-family:var(--font-mono);font-weight:400;font-size:var(--font-size-small);transition:border .2s;padding:6px 5px}select{font-family:var(--font-regular);padding:5px 30px 5px 5px;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%3E%3Cpath%20d%3D%22M10.3%203.3L6%207.6%201.7%203.3A1%201%200%2000.3%204.7l5%205a1%201%200%20001.4%200l5-5a1%201%200%2010-1.4-1.4z%22%20fill%3D%22%23777777%22%2F%3E%3C%2Fsvg%3E");background-position:calc(100% - 5px) center;background-repeat:no-repeat;background-size:10px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}select:hover{border-color:var(--primary-color)}input[type=password]::placeholder,input[type=text]::placeholder,textarea::placeholder{color:var(--placeholder-color);opacity:1}input[type=password]:active,input[type=password]:focus,input[type=text]:active,input[type=text]:focus,select:focus,textarea:active,textarea:focus{border:1px solid var(--primary-color)}input[type=file]{font-family:var(--font-regular);padding:2px;cursor:pointer;border:1px solid var(--primary-color);min-height:calc(var(--font-size-small) + 18px)}input[type=file]::-webkit-file-upload-button{font-family:var(--font-regular);font-size:var(--font-size-small);outline:0;cursor:pointer;padding:3px 8px;border:1px solid var(--primary-color);background-color:var(--primary-color);color:var(--primary-color-invert);border-radius:var(--border-radius);-webkit-appearance:none}pre,textarea{scrollbar-width:thin;scrollbar-color:var(--border-color) var(--input-bg)}pre::-webkit-scrollbar,textarea::-webkit-scrollbar{width:8px;height:8px}pre::-webkit-scrollbar-track,textarea::-webkit-scrollbar-track{background:var(--input-bg)}pre::-webkit-scrollbar-thumb,textarea::-webkit-scrollbar-thumb{border-radius:2px;background-color:var(--border-color)}.link{font-size:var(--font-size-small);text-decoration:underline;color:var(--blue);font-family:var(--font-mono);margin-bottom:2px}input[type=checkbox]:focus{outline:0}input[type=checkbox]{appearance:none;display:inline-block;background-color:var(--light-bg);border:1px solid var(--light-bg);border-radius:9px;cursor:pointer;height:18px;position:relative;transition:border .25s .15s,box-shadow .25s .3s,padding .25s;min-width:36px;width:36px;vertical-align:top}input[type=checkbox]:after{position:absolute;background-color:var(--bg);border:1px solid var(--light-bg);border-radius:8px;content:'';top:0;left:0;right:16px;display:block;height:16px;transition:border .25s .15s,left .25s .1s,right .15s .175s}input[type=checkbox]:checked{box-shadow:inset 0 0 0 13px var(--green);border-color:var(--green)}input[type=checkbox]:checked:after{border:1px solid var(--green);left:16px;right:1px;transition:border .25s,left .15s .25s,right .25s .175s}`,re=Y`.col,.row{display:flex}.row{align-items:center;flex-direction:row}.col{align-items:stretch;flex-direction:column}`,ne=Y`.m-table{border-spacing:0;border-collapse:separate;border:1px solid var(--light-border-color);border-radius:var(--border-radius);margin:0;max-width:100%}.m-table tr:first-child td,.m-table tr:first-child th{border-top:0 none}.m-table td,.m-table th{font-size:var(--font-size-small);line-height:calc(var(--font-size-small) + 4px);padding:4px 5px 4px;vertical-align:top}.m-table.padded-12 td,.m-table.padded-12 th{padding:12px}.m-table td:not([align]),.m-table th:not([align]){text-align:left}.m-table th{color:var(--fg2);font-size:var(--font-size-small);line-height:calc(var(--font-size-small) + 18px);font-weight:600;letter-spacing:normal;background-color:var(--bg2);vertical-align:bottom;border-bottom:1px solid var(--light-border-color)}.m-table>tbody>tr>td,.m-table>tr>td{border-top:1px solid var(--light-border-color);text-overflow:ellipsis;overflow:hidden}.table-title{font-size:var(--font-size-small);font-weight:700;vertical-align:middle;margin:12px 0 4px 0}`,oe=Y`.only-large-screen{display:none}.endpoint-head .path{display:flex;font-family:var(--font-mono);font-size:var(--font-size-small);align-items:center;overflow-wrap:break-word;word-break:break-all}.endpoint-head .descr{font-size:var(--font-size-small);color:var(--light-fg);font-weight:400;align-items:center;overflow-wrap:break-word;word-break:break-all;display:none}.m-endpoint.expanded{margin-bottom:16px}.m-endpoint>.endpoint-head{border-width:1px 1px 1px 5px;border-style:solid;border-color:transparent;border-top-color:var(--light-border-color);display:flex;padding:6px 16px;align-items:center;cursor:pointer}.m-endpoint>.endpoint-head.put.expanded,.m-endpoint>.endpoint-head.put:hover{border-color:var(--orange);background-color:var(--light-orange)}.m-endpoint>.endpoint-head.post.expanded,.m-endpoint>.endpoint-head.post:hover{border-color:var(--green);background-color:var(--light-green)}.m-endpoint>.endpoint-head.get.expanded,.m-endpoint>.endpoint-head.get:hover{border-color:var(--blue);background-color:var(--light-blue)}.m-endpoint>.endpoint-head.delete.expanded,.m-endpoint>.endpoint-head.delete:hover{border-color:var(--red);background-color:var(--light-red)}.m-endpoint>.endpoint-head.head.expanded,.m-endpoint>.endpoint-head.head:hover,.m-endpoint>.endpoint-head.options.expanded,.m-endpoint>.endpoint-head.options:hover,.m-endpoint>.endpoint-head.patch.expanded,.m-endpoint>.endpoint-head.patch:hover{border-color:var(--yellow);background-color:var(--light-yellow)}.m-endpoint>.endpoint-head.deprecated.expanded,.m-endpoint>.endpoint-head.deprecated:hover{border-color:var(--border-color);filter:opacity(.6)}.m-endpoint .endpoint-body{flex-wrap:wrap;padding:16px 0 0 0;border-width:0 1px 1px 5px;border-style:solid;box-shadow:0 4px 3px -3px rgba(0,0,0,.15)}.m-endpoint .endpoint-body.delete{border-color:var(--red)}.m-endpoint .endpoint-body.put{border-color:var(--orange)}.m-endpoint .endpoint-body.post{border-color:var(--green)}.m-endpoint .endpoint-body.get{border-color:var(--blue)}.m-endpoint .endpoint-body.head,.m-endpoint .endpoint-body.options,.m-endpoint .endpoint-body.patch{border-color:var(--yellow)}.m-endpoint .endpoint-body.deprecated{border-color:var(--border-color);filter:opacity(.6)}.endpoint-head .deprecated{color:var(--light-fg);filter:opacity(.6)}.summary{padding:8px 8px}.summary .title{font-size:calc(var(--font-size-regular) + 2px);margin-bottom:6px;word-break:break-all}.method{padding:2px 5px;vertical-align:middle;font-size:var(--font-size-small);height:calc(var(--font-size-small) + 16px);line-height:calc(var(--font-size-small) + 8px);width:60px;border-radius:2px;display:inline-block;text-align:center;font-weight:700;text-transform:uppercase;margin-right:5px}.method.delete{border:2px solid var(--red)}.method.put{border:2px solid var(--orange)}.method.post{border:2px solid var(--green)}.method.get{border:2px solid var(--blue)}.method.get.deprecated{border:2px solid var(--border-color)}.method.head,.method.options,.method.patch{border:2px solid var(--yellow)}.req-resp-container{display:flex;margin-top:16px;align-items:stretch;flex-wrap:wrap;flex-direction:column;border-top:1px solid var(--light-border-color)}api-request.view-mode,api-response.view-mode{flex:1;min-height:100px;padding:16px 8px;overflow:hidden}api-request.view-mode{border-width:0 0 1px 0;border-style:dashed}.head api-request.view-mode,.options api-request.view-mode,.patch api-request.view-mode{border-color:var(--yellow)}.put api-request.view-mode{border-color:var(--orange)}.post api-request.view-mode{border-color:var(--green)}.get api-request.view-mode{border-color:var(--blue)}.delete api-request.view-mode{border-color:var(--red)}@media only screen and (min-width:1024px){.only-large-screen{display:block}.endpoint-head .path{font-size:var(--font-size-regular);min-width:400px}.endpoint-head .descr{display:flex}.descr .m-markdown-small,.endpoint-head .m-markdown-small{display:block}.req-resp-container{flex-direction:var(--layout,row)}api-response.view-mode{padding:16px}api-request.view-mode{border-width:0 1px 0 0;padding:16px}.summary{padding:8px 16px}}`,ae=Y`code[class*=language-],pre[class*=language-]{text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;tab-size:2;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-]{white-space:normal}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:var(--light-fg)}.token.punctuation{color:var(--fg)}.token.attr-name,.token.deleted,.token.namespace,.token.tag{color:var(--pink)}.token.function-name{color:var(--blue)}.token.boolean,.token.function,.token.number{color:var(--red)}.token.class-name,.token.constant,.token.property,.token.symbol{color:var(--code-property-color)}.token.atrule,.token.builtin,.token.important,.token.keyword,.token.selector{color:var(--code-keyword-color)}.token.attr-value,.token.char,.token.regex,.token.string,.token.variable{color:var(--green)}.token.entity,.token.operator,.token.url{color:var(--code-operator-color)}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}`,ie=Y`.tab-panel{border:none}.tab-buttons{height:30px;border-bottom:1px solid var(--light-border-color);align-items:stretch;overflow-y:hidden;overflow-x:auto;scrollbar-width:thin}.tab-buttons::-webkit-scrollbar{height:1px;background-color:var(--border-color)}.tab-btn{border:none;border-bottom:3px solid transparent;color:var(--light-fg);background-color:transparent;white-space:nowrap;cursor:pointer;outline:0;font-family:var(--font-regular);font-size:var(--font-size-small);margin-right:16px;padding:1px}.tab-btn.active{border-bottom:3px solid var(--primary-color);font-weight:700;color:var(--primary-color)}.tab-btn:hover{color:var(--primary-color)}.tab-content{margin:-1px 0 0 0;position:relative}`,se=Y`.nav-bar{width:0;height:100%;overflow:hidden;color:var(--nav-text-color);background-color:var(--nav-bg-color);background-blend-mode:multiply;line-height:calc(var(--font-size-small) + 4px);display:none;position:relative;flex-direction:column;flex-wrap:nowrap;word-break:break-word}.nav-scroll{overflow-x:hidden;overflow-y:auto;overflow-y:overlay;scrollbar-width:thin;scrollbar-color:var(--nav-hover-bg-color) transparent}.nav-bar-tag{display:flex;align-items:center;justify-content:space-between;flex-direction:row}.nav-bar.read .nav-bar-tag-icon{display:none}.nav-bar-tag-icon{color:var(--nav-text-color);font-size:20px;margin-right:-16px}.nav-bar-tag-icon:hover{color:var(--nav-hover-text-color)}.nav-bar.focused .nav-bar-tag-and-paths.collapsed .nav-bar-paths-under-tag{display:none}.nav-bar.focused .nav-bar-tag-and-paths.collapsed .nav-bar-tag-icon::after{content:'⌵';width:16px;height:16px;text-align:center;display:inline-block;transform:rotate(270deg)}.nav-bar.focused .nav-bar-tag-and-paths.expanded .nav-bar-tag-icon::after{content:'⌵';width:16px;height:16px;text-align:center;display:inline-block}.nav-scroll::-webkit-scrollbar{width:10px}.nav-scroll::-webkit-scrollbar-track{background:0 0}.nav-scroll::-webkit-scrollbar-thumb{background-color:var(--nav-hover-bg-color)}.nav-bar-tag{font-size:var(--font-size-regular);color:var(--nav-accent-color);border-left:4px solid transparent;font-weight:700;padding:15px 30px 15px 10px;text-transform:capitalize}.nav-bar-components,.nav-bar-h1,.nav-bar-h2,.nav-bar-info,.nav-bar-path,.nav-bar-tag{display:flex;cursor:pointer;border-left:4px solid transparent}.nav-bar-h1,.nav-bar-h2,.nav-bar-path{font-size:calc(var(--font-size-small) + 1px);padding:var(--nav-item-padding)}.nav-bar-path.small-font{font-size:var(--font-size-small)}.nav-bar-info{font-size:var(--font-size-regular);padding:16px 10px;font-weight:700}.nav-bar-section{display:flex;flex-direction:row;justify-content:space-between;font-size:var(--font-size-small);color:var(--nav-text-color);padding:15px 15px 5px 5px;filter:opacity(.5);font-weight:700;border-bottom:1px solid var(--nav-text-color)}.nav-bar-section:first-child{display:none}.nav-bar-h2{margin-left:12px}.nav-bar-h1.active,.nav-bar-h2.active,.nav-bar-info.active,.nav-bar-path.active,.nav-bar-tag.active{border-left:4px solid var(--nav-accent-color);color:var(--nav-hover-text-color)}.nav-bar-h1:hover,.nav-bar-h2:hover,.nav-bar-info:hover,.nav-bar-path:hover,.nav-bar-tag:hover{color:var(--nav-hover-text-color);background-color:var(--nav-hover-bg-color)}`,le=Y`#api-info{font-size:calc(var(--font-size-regular) - 1px);margin-top:8px margin-left: -15px}#api-info span:before{content:"|";display:inline-block;opacity:.5;width:15px;text-align:center}#api-info span:first-child:before{content:"";width:0}`,ce=Y``;const ue=new RegExp(/[\s#:?&={}]/,"g"),pe="_rapidoc_api_key";function de(e){return new Promise((t=>setTimeout(t,e)))}function he(e,t){const r=t.currentTarget,n=document.createElement("textarea");n.value=e,n.style.position="fixed",document.body.appendChild(n),n.focus(),n.select();try{document.execCommand("copy"),r.innerText="Copied",setTimeout((()=>{r.innerText="Copy"}),5e3)}catch(e){console.error("Unable to copy",e)}document.body.removeChild(n)}function fe(e,t){return`${t.method} ${t.path} ${t.summary||t.description||""} ${t.operationId||""}`.toLowerCase().includes(e.toLowerCase())}function me(e,t=new Set){return e?(Object.keys(e).forEach((r=>{var n;if(t.add(r),e[r].properties)me(e[r].properties,t);else if(null!==(n=e[r].items)&&void 0!==n&&n.properties){var o;me(null===(o=e[r].items)||void 0===o?void 0:o.properties,t)}})),t):t}var ge=r(764).Buffer;function ye(e){var t={exports:{}};return e(t,t.exports),t.exports}function be(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets option of @rollup/plugin-commonjs appropriately for this require call to behave properly.')}var ve,xe="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,we="object"==typeof self&&self&&self.Object===Object&&self,ke=xe||we||Function("return this")(),Ae=ke.Symbol,$e=Object.prototype,Ee=$e.hasOwnProperty,Se=$e.toString,De=Ae?Ae.toStringTag:void 0,Oe=Object.prototype.toString,Ce=Ae?Ae.toStringTag:void 0,_e=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Ce&&Ce in Object(e)?function(e){var t=Ee.call(e,De),r=e[De];try{e[De]=void 0;var n=!0}catch(e){}var o=Se.call(e);return n&&(t?e[De]=r:delete e[De]),o}(e):function(e){return Oe.call(e)}(e)},je=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},Te=function(e){if(!je(e))return!1;var t=_e(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t},Fe=ke["__core-js_shared__"],Pe=(ve=/[^.]+$/.exec(Fe&&Fe.keys&&Fe.keys.IE_PROTO||""))?"Symbol(src)_1."+ve:"",Be=Function.prototype.toString,Ie=function(e){if(null!=e){try{return Be.call(e)}catch(e){}try{return e+""}catch(e){}}return""},Re=/^\[object .+?Constructor\]$/,Ne=Function.prototype,Le=Object.prototype,qe=Ne.toString,ze=Le.hasOwnProperty,Ue=RegExp("^"+qe.call(ze).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Me=function(e){return!(!je(e)||function(e){return!!Pe&&Pe in e}(e))&&(Te(e)?Ue:Re).test(Ie(e))},He=function(e,t){var r=function(e,t){return null==e?void 0:e[t]}(e,t);return Me(r)?r:void 0},Ve=function(){try{var e=He(Object,"defineProperty");return e({},"",{}),e}catch(e){}}(),We=function(e,t,r){"__proto__"==t&&Ve?Ve(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r},Ye=function(e,t){return e===t||e!=e&&t!=t},Ke=Object.prototype.hasOwnProperty,Ge=function(e,t,r){var n=e[t];Ke.call(e,t)&&Ye(n,r)&&(void 0!==r||t in e)||We(e,t,r)},Je=function(e,t,r,n){var o=!r;r||(r={});for(var a=-1,i=t.length;++a<i;){var s=t[a],l=n?n(r[s],e[s],s,r,e):void 0;void 0===l&&(l=e[s]),o?We(r,s,l):Ge(r,s,l)}return r},Ze=function(e){return e},Xe=function(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)},Qe=Math.max,et=function(e,t,r){return t=Qe(void 0===t?e.length-1:t,0),function(){for(var n=arguments,o=-1,a=Qe(n.length-t,0),i=Array(a);++o<a;)i[o]=n[t+o];o=-1;for(var s=Array(t+1);++o<t;)s[o]=n[o];return s[t]=r(i),Xe(e,this,s)}},tt=function(e){return function(){return e}},rt=Ve?function(e,t){return Ve(e,"toString",{configurable:!0,enumerable:!1,value:tt(t),writable:!0})}:Ze,nt=Date.now,ot=function(e){var t=0,r=0;return function(){var n=nt(),o=16-(n-r);if(r=n,o>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}(rt),at=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991},it=function(e){return null!=e&&at(e.length)&&!Te(e)},st=/^(?:0|[1-9]\d*)$/,lt=function(e,t){var r=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==r||"symbol"!=r&&st.test(e))&&e>-1&&e%1==0&&e<t},ct=Object.prototype,ut=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||ct)},pt=function(e){return null!=e&&"object"==typeof e},dt=function(e){return pt(e)&&"[object Arguments]"==_e(e)},ht=Object.prototype,ft=ht.hasOwnProperty,mt=ht.propertyIsEnumerable,gt=dt(function(){return arguments}())?dt:function(e){return pt(e)&&ft.call(e,"callee")&&!mt.call(e,"callee")},yt=Array.isArray,bt=function(){return!1},vt=ye((function(e,t){var r=t&&!t.nodeType&&t,n=r&&e&&!e.nodeType&&e,o=n&&n.exports===r?ke.Buffer:void 0,a=(o?o.isBuffer:void 0)||bt;e.exports=a})),xt={};xt["[object Float32Array]"]=xt["[object Float64Array]"]=xt["[object Int8Array]"]=xt["[object Int16Array]"]=xt["[object Int32Array]"]=xt["[object Uint8Array]"]=xt["[object Uint8ClampedArray]"]=xt["[object Uint16Array]"]=xt["[object Uint32Array]"]=!0,xt["[object Arguments]"]=xt["[object Array]"]=xt["[object ArrayBuffer]"]=xt["[object Boolean]"]=xt["[object DataView]"]=xt["[object Date]"]=xt["[object Error]"]=xt["[object Function]"]=xt["[object Map]"]=xt["[object Number]"]=xt["[object Object]"]=xt["[object RegExp]"]=xt["[object Set]"]=xt["[object String]"]=xt["[object WeakMap]"]=!1;var wt=function(e){return function(t){return e(t)}},kt=ye((function(e,t){var r=t&&!t.nodeType&&t,n=r&&e&&!e.nodeType&&e,o=n&&n.exports===r&&xe.process,a=function(){try{return n&&n.require&&n.require("util").types||o&&o.binding&&o.binding("util")}catch(e){}}();e.exports=a})),At=kt&&kt.isTypedArray,$t=At?wt(At):function(e){return pt(e)&&at(e.length)&&!!xt[_e(e)]},Et=Object.prototype.hasOwnProperty,St=function(e,t){var r=yt(e),n=!r&&gt(e),o=!r&&!n&&vt(e),a=!r&&!n&&!o&&$t(e),i=r||n||o||a,s=i?function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}(e.length,String):[],l=s.length;for(var c in e)!t&&!Et.call(e,c)||i&&("length"==c||o&&("offset"==c||"parent"==c)||a&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||lt(c,l))||s.push(c);return s},Dt=function(e,t){return function(r){return e(t(r))}},Ot=Dt(Object.keys,Object),Ct=Object.prototype.hasOwnProperty,_t=function(e){if(!ut(e))return Ot(e);var t=[];for(var r in Object(e))Ct.call(e,r)&&"constructor"!=r&&t.push(r);return t},jt=function(e){return it(e)?St(e):_t(e)},Tt=Object.prototype.hasOwnProperty,Ft=function(e){return function(e,t){return ot(et(e,t,Ze),e+"")}((function(t,r){var n=-1,o=r.length,a=o>1?r[o-1]:void 0,i=o>2?r[2]:void 0;for(a=e.length>3&&"function"==typeof a?(o--,a):void 0,i&&function(e,t,r){if(!je(r))return!1;var n=typeof t;return!!("number"==n?it(r)&&lt(t,r.length):"string"==n&&t in r)&&Ye(r[t],e)}(r[0],r[1],i)&&(a=o<3?void 0:a,o=1),t=Object(t);++n<o;){var s=r[n];s&&e(t,s,n,a)}return t}))}((function(e,t){if(ut(t)||it(t))Je(t,jt(t),e);else for(var r in t)Tt.call(t,r)&&Ge(e,r,t[r])})),Pt=function(e){return"symbol"==typeof e||pt(e)&&"[object Symbol]"==_e(e)},Bt=Ae?Ae.prototype:void 0,It=Bt?Bt.toString:void 0,Rt=function e(t){if("string"==typeof t)return t;if(yt(t))return function(e,t){for(var r=-1,n=null==e?0:e.length,o=Array(n);++r<n;)o[r]=t(e[r],r,e);return o}(t,e)+"";if(Pt(t))return It?It.call(t):"";var r=t+"";return"0"==r&&1/t==-1/0?"-0":r},Nt=/\s/,Lt=/^\s+/,qt=function(e){return e?e.slice(0,function(e){for(var t=e.length;t--&&Nt.test(e.charAt(t)););return t}(e)+1).replace(Lt,""):e},zt=/^[-+]0x[0-9a-f]+$/i,Ut=/^0b[01]+$/i,Mt=/^0o[0-7]+$/i,Ht=parseInt,Vt=function(e){return e?1/0===(e=function(e){if("number"==typeof e)return e;if(Pt(e))return NaN;if(je(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=je(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=qt(e);var r=Ut.test(e);return r||Mt.test(e)?Ht(e.slice(2),r?2:8):zt.test(e)?NaN:+e}(e))||-1/0===e?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0},Wt=function(e){var t=Vt(e),r=t%1;return t==t?r?t-r:t:0},Yt=function(e){return null==e?"":Rt(e)},Kt=function(e,t,r){return e=Yt(e),r=null==r?0:function(e,t,r){return e==e&&(void 0!==r&&(e=e<=r?e:r),void 0!==t&&(e=e>=t?e:t)),e}(Wt(r),0,e.length),t=Rt(t),e.slice(r,r+t.length)==t},Gt=ye((function(e,t){!function(n){var o=t&&!t.nodeType&&t,a=e&&!e.nodeType&&e,i="object"==typeof r.g&&r.g;i.global!==i&&i.window!==i&&i.self!==i||(n=i);var s,l,c=2147483647,u=36,p=/^xn--/,d=/[^\x20-\x7E]/,h=/[\x2E\u3002\uFF0E\uFF61]/g,f={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},m=Math.floor,g=String.fromCharCode;function y(e){throw RangeError(f[e])}function b(e,t){for(var r=e.length,n=[];r--;)n[r]=t(e[r]);return n}function v(e,t){var r=e.split("@"),n="";return r.length>1&&(n=r[0]+"@",e=r[1]),n+b((e=e.replace(h,".")).split("."),t).join(".")}function x(e){for(var t,r,n=[],o=0,a=e.length;o<a;)(t=e.charCodeAt(o++))>=55296&&t<=56319&&o<a?56320==(64512&(r=e.charCodeAt(o++)))?n.push(((1023&t)<<10)+(1023&r)+65536):(n.push(t),o--):n.push(t);return n}function w(e){return b(e,(function(e){var t="";return e>65535&&(t+=g((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+g(e)})).join("")}function k(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function A(e,t,r){var n=0;for(e=r?m(e/700):e>>1,e+=m(e/t);e>455;n+=u)e=m(e/35);return m(n+36*e/(e+38))}function $(e){var t,r,n,o,a,i,s,l,p,d,h,f=[],g=e.length,b=0,v=128,x=72;for((r=e.lastIndexOf("-"))<0&&(r=0),n=0;n<r;++n)e.charCodeAt(n)>=128&&y("not-basic"),f.push(e.charCodeAt(n));for(o=r>0?r+1:0;o<g;){for(a=b,i=1,s=u;o>=g&&y("invalid-input"),((l=(h=e.charCodeAt(o++))-48<10?h-22:h-65<26?h-65:h-97<26?h-97:u)>=u||l>m((c-b)/i))&&y("overflow"),b+=l*i,!(l<(p=s<=x?1:s>=x+26?26:s-x));s+=u)i>m(c/(d=u-p))&&y("overflow"),i*=d;x=A(b-a,t=f.length+1,0==a),m(b/t)>c-v&&y("overflow"),v+=m(b/t),b%=t,f.splice(b++,0,v)}return w(f)}function E(e){var t,r,n,o,a,i,s,l,p,d,h,f,b,v,w,$=[];for(f=(e=x(e)).length,t=128,r=0,a=72,i=0;i<f;++i)(h=e[i])<128&&$.push(g(h));for(n=o=$.length,o&&$.push("-");n<f;){for(s=c,i=0;i<f;++i)(h=e[i])>=t&&h<s&&(s=h);for(s-t>m((c-r)/(b=n+1))&&y("overflow"),r+=(s-t)*b,t=s,i=0;i<f;++i)if((h=e[i])<t&&++r>c&&y("overflow"),h==t){for(l=r,p=u;!(l<(d=p<=a?1:p>=a+26?26:p-a));p+=u)w=l-d,v=u-d,$.push(g(k(d+w%v,0))),l=m(w/v);$.push(g(k(l,0))),a=A(r,b,n==o),r=0,++n}++r,++t}return $.join("")}if(s={version:"1.3.2",ucs2:{decode:x,encode:w},decode:$,encode:E,toASCII:function(e){return v(e,(function(e){return d.test(e)?"xn--"+E(e):e}))},toUnicode:function(e){return v(e,(function(e){return p.test(e)?$(e.slice(4).toLowerCase()):e}))}},o&&a)if(e.exports==o)a.exports=s;else for(l in s)s.hasOwnProperty(l)&&(o[l]=s[l]);else n.punycode=s}(this)})),Jt=function(e){return"string"==typeof e},Zt=function(e){return"object"==typeof e&&null!==e},Xt=function(e){return null===e};function Qt(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var er=function(e,t,r,n){t=t||"&",r=r||"=";var o={};if("string"!=typeof e||0===e.length)return o;var a=/\+/g;e=e.split(t);var i=1e3;n&&"number"==typeof n.maxKeys&&(i=n.maxKeys);var s=e.length;i>0&&s>i&&(s=i);for(var l=0;l<s;++l){var c,u,p,d,h=e[l].replace(a,"%20"),f=h.indexOf(r);f>=0?(c=h.substr(0,f),u=h.substr(f+1)):(c=h,u=""),p=decodeURIComponent(c),d=decodeURIComponent(u),Qt(o,p)?Array.isArray(o[p])?o[p].push(d):o[p]=[o[p],d]:o[p]=d}return o},tr=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}},rr=function(e,t,r,n){return t=t||"&",r=r||"=",null===e&&(e=void 0),"object"==typeof e?Object.keys(e).map((function(n){var o=encodeURIComponent(tr(n))+r;return Array.isArray(e[n])?e[n].map((function(e){return o+encodeURIComponent(tr(e))})).join(t):o+encodeURIComponent(tr(e[n]))})).join(t):n?encodeURIComponent(tr(n))+r+encodeURIComponent(tr(e)):""},nr=ye((function(e,t){t.decode=t.parse=er,t.encode=t.stringify=rr})),or=vr,ar=ir;function ir(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}var sr=/^([a-z0-9.+-]+:)/i,lr=/:[0-9]*$/,cr=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,ur=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),pr=["'"].concat(ur),dr=["%","/","?",";","#"].concat(pr),hr=["/","?","#"],fr=/^[+a-z0-9A-Z_-]{0,63}$/,mr=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,gr={javascript:!0,"javascript:":!0},yr={javascript:!0,"javascript:":!0},br={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};function vr(e,t,r){if(e&&Zt(e)&&e instanceof ir)return e;var n=new ir;return n.parse(e,t,r),n}ir.prototype.parse=function(e,t,r){if(!Jt(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var n=e.indexOf("?"),o=-1!==n&&n<e.indexOf("#")?"?":"#",a=e.split(o);a[0]=a[0].replace(/\\/g,"/");var i=e=a.join(o);if(i=i.trim(),!r&&1===e.split("#").length){var s=cr.exec(i);if(s)return this.path=i,this.href=i,this.pathname=s[1],s[2]?(this.search=s[2],this.query=t?nr.parse(this.search.substr(1)):this.search.substr(1)):t&&(this.search="",this.query={}),this}var l=sr.exec(i);if(l){var c=(l=l[0]).toLowerCase();this.protocol=c,i=i.substr(l.length)}if(r||l||i.match(/^\/\/[^@\/]+@[^@\/]+/)){var u="//"===i.substr(0,2);!u||l&&yr[l]||(i=i.substr(2),this.slashes=!0)}if(!yr[l]&&(u||l&&!br[l])){for(var p,d,h=-1,f=0;f<hr.length;f++)-1!==(m=i.indexOf(hr[f]))&&(-1===h||m<h)&&(h=m);for(-1!==(d=-1===h?i.lastIndexOf("@"):i.lastIndexOf("@",h))&&(p=i.slice(0,d),i=i.slice(d+1),this.auth=decodeURIComponent(p)),h=-1,f=0;f<dr.length;f++){var m;-1!==(m=i.indexOf(dr[f]))&&(-1===h||m<h)&&(h=m)}-1===h&&(h=i.length),this.host=i.slice(0,h),i=i.slice(h),this.parseHost(),this.hostname=this.hostname||"";var g="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!g)for(var y=this.hostname.split(/\./),b=(f=0,y.length);f<b;f++){var v=y[f];if(v&&!v.match(fr)){for(var x="",w=0,k=v.length;w<k;w++)v.charCodeAt(w)>127?x+="x":x+=v[w];if(!x.match(fr)){var A=y.slice(0,f),$=y.slice(f+1),E=v.match(mr);E&&(A.push(E[1]),$.unshift(E[2])),$.length&&(i="/"+$.join(".")+i),this.hostname=A.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),g||(this.hostname=Gt.toASCII(this.hostname));var S=this.port?":"+this.port:"",D=this.hostname||"";this.host=D+S,this.href+=this.host,g&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==i[0]&&(i="/"+i))}if(!gr[c])for(f=0,b=pr.length;f<b;f++){var O=pr[f];if(-1!==i.indexOf(O)){var C=encodeURIComponent(O);C===O&&(C=escape(O)),i=i.split(O).join(C)}}var _=i.indexOf("#");-1!==_&&(this.hash=i.substr(_),i=i.slice(0,_));var j=i.indexOf("?");if(-1!==j?(this.search=i.substr(j),this.query=i.substr(j+1),t&&(this.query=nr.parse(this.query)),i=i.slice(0,j)):t&&(this.search="",this.query={}),i&&(this.pathname=i),br[c]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){S=this.pathname||"";var T=this.search||"";this.path=S+T}return this.href=this.format(),this},ir.prototype.format=function(){var e=this.auth||"";e&&(e=(e=encodeURIComponent(e)).replace(/%3A/i,":"),e+="@");var t=this.protocol||"",r=this.pathname||"",n=this.hash||"",o=!1,a="";this.host?o=e+this.host:this.hostname&&(o=e+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(o+=":"+this.port)),this.query&&Zt(this.query)&&Object.keys(this.query).length&&(a=nr.stringify(this.query));var i=this.search||a&&"?"+a||"";return t&&":"!==t.substr(-1)&&(t+=":"),this.slashes||(!t||br[t])&&!1!==o?(o="//"+(o||""),r&&"/"!==r.charAt(0)&&(r="/"+r)):o||(o=""),n&&"#"!==n.charAt(0)&&(n="#"+n),i&&"?"!==i.charAt(0)&&(i="?"+i),t+o+(r=r.replace(/[?#]/g,(function(e){return encodeURIComponent(e)})))+(i=i.replace("#","%23"))+n},ir.prototype.resolve=function(e){return this.resolveObject(vr(e,!1,!0)).format()},ir.prototype.resolveObject=function(e){if(Jt(e)){var t=new ir;t.parse(e,!1,!0),e=t}for(var r=new ir,n=Object.keys(this),o=0;o<n.length;o++){var a=n[o];r[a]=this[a]}if(r.hash=e.hash,""===e.href)return r.href=r.format(),r;if(e.slashes&&!e.protocol){for(var i=Object.keys(e),s=0;s<i.length;s++){var l=i[s];"protocol"!==l&&(r[l]=e[l])}return br[r.protocol]&&r.hostname&&!r.pathname&&(r.path=r.pathname="/"),r.href=r.format(),r}if(e.protocol&&e.protocol!==r.protocol){if(!br[e.protocol]){for(var c=Object.keys(e),u=0;u<c.length;u++){var p=c[u];r[p]=e[p]}return r.href=r.format(),r}if(r.protocol=e.protocol,e.host||yr[e.protocol])r.pathname=e.pathname;else{for(var d=(e.pathname||"").split("/");d.length&&!(e.host=d.shift()););e.host||(e.host=""),e.hostname||(e.hostname=""),""!==d[0]&&d.unshift(""),d.length<2&&d.unshift(""),r.pathname=d.join("/")}if(r.search=e.search,r.query=e.query,r.host=e.host||"",r.auth=e.auth,r.hostname=e.hostname||e.host,r.port=e.port,r.pathname||r.search){var h=r.pathname||"",f=r.search||"";r.path=h+f}return r.slashes=r.slashes||e.slashes,r.href=r.format(),r}var m=r.pathname&&"/"===r.pathname.charAt(0),g=e.host||e.pathname&&"/"===e.pathname.charAt(0),y=g||m||r.host&&e.pathname,b=y,v=r.pathname&&r.pathname.split("/")||[],x=(d=e.pathname&&e.pathname.split("/")||[],r.protocol&&!br[r.protocol]);if(x&&(r.hostname="",r.port=null,r.host&&(""===v[0]?v[0]=r.host:v.unshift(r.host)),r.host="",e.protocol&&(e.hostname=null,e.port=null,e.host&&(""===d[0]?d[0]=e.host:d.unshift(e.host)),e.host=null),y=y&&(""===d[0]||""===v[0])),g)r.host=e.host||""===e.host?e.host:r.host,r.hostname=e.hostname||""===e.hostname?e.hostname:r.hostname,r.search=e.search,r.query=e.query,v=d;else if(d.length)v||(v=[]),v.pop(),v=v.concat(d),r.search=e.search,r.query=e.query;else if(!function(e){return null==e}(e.search))return x&&(r.hostname=r.host=v.shift(),(E=!!(r.host&&r.host.indexOf("@")>0)&&r.host.split("@"))&&(r.auth=E.shift(),r.host=r.hostname=E.shift())),r.search=e.search,r.query=e.query,Xt(r.pathname)&&Xt(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.href=r.format(),r;if(!v.length)return r.pathname=null,r.search?r.path="/"+r.search:r.path=null,r.href=r.format(),r;for(var w=v.slice(-1)[0],k=(r.host||e.host||v.length>1)&&("."===w||".."===w)||""===w,A=0,$=v.length;$>=0;$--)"."===(w=v[$])?v.splice($,1):".."===w?(v.splice($,1),A++):A&&(v.splice($,1),A--);if(!y&&!b)for(;A--;A)v.unshift("..");!y||""===v[0]||v[0]&&"/"===v[0].charAt(0)||v.unshift(""),k&&"/"!==v.join("/").substr(-1)&&v.push("");var E,S=""===v[0]||v[0]&&"/"===v[0].charAt(0);return x&&(r.hostname=r.host=S?"":v.length?v.shift():"",(E=!!(r.host&&r.host.indexOf("@")>0)&&r.host.split("@"))&&(r.auth=E.shift(),r.host=r.hostname=E.shift())),(y=y||r.host&&v.length)&&!S&&v.unshift(""),v.length?r.pathname=v.join("/"):(r.pathname=null,r.path=null),Xt(r.pathname)&&Xt(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.auth=e.auth||r.auth,r.slashes=r.slashes||e.slashes,r.href=r.format(),r},ir.prototype.parseHost=function(){var e=this.host,t=lr.exec(e);t&&(":"!==(t=t[0])&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)};var xr,wr={parse:or,resolve:function(e,t){return vr(e,!1,!0).resolve(t)},resolveObject:function(e,t){return e?vr(e,!1,!0).resolveObject(t):t},format:function(e){return Jt(e)&&(e=vr(e)),e instanceof ir?e.format():ir.prototype.format.call(e)},Url:ar};xr="undefined"!=typeof self?self:void 0,function(e){var t="URLSearchParams"in xr,r="Symbol"in xr&&"iterator"in Symbol,n="FileReader"in xr&&"Blob"in xr&&function(){try{return new Blob,!0}catch(e){return!1}}(),o="FormData"in xr,a="ArrayBuffer"in xr;if(a)var i=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],s=ArrayBuffer.isView||function(e){return e&&i.indexOf(Object.prototype.toString.call(e))>-1};function l(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(e))throw new TypeError("Invalid character in header field name");return e.toLowerCase()}function c(e){return"string"!=typeof e&&(e=String(e)),e}function u(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return r&&(t[Symbol.iterator]=function(){return t}),t}function p(e){this.map={},e instanceof p?e.forEach((function(e,t){this.append(t,e)}),this):Array.isArray(e)?e.forEach((function(e){this.append(e[0],e[1])}),this):e&&Object.getOwnPropertyNames(e).forEach((function(t){this.append(t,e[t])}),this)}function d(e){if(e.bodyUsed)return Promise.reject(new TypeError("Already read"));e.bodyUsed=!0}function h(e){return new Promise((function(t,r){e.onload=function(){t(e.result)},e.onerror=function(){r(e.error)}}))}function f(e){var t=new FileReader,r=h(t);return t.readAsArrayBuffer(e),r}function m(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function g(){return this.bodyUsed=!1,this._initBody=function(e){var r;this._bodyInit=e,e?"string"==typeof e?this._bodyText=e:n&&Blob.prototype.isPrototypeOf(e)?this._bodyBlob=e:o&&FormData.prototype.isPrototypeOf(e)?this._bodyFormData=e:t&&URLSearchParams.prototype.isPrototypeOf(e)?this._bodyText=e.toString():a&&n&&(r=e)&&DataView.prototype.isPrototypeOf(r)?(this._bodyArrayBuffer=m(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):a&&(ArrayBuffer.prototype.isPrototypeOf(e)||s(e))?this._bodyArrayBuffer=m(e):this._bodyText=e=Object.prototype.toString.call(e):this._bodyText="",this.headers.get("content-type")||("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):t&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},n&&(this.blob=function(){var e=d(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?d(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(f)}),this.text=function(){var e,t,r,n=d(this);if(n)return n;if(this._bodyBlob)return e=this._bodyBlob,r=h(t=new FileReader),t.readAsText(e),r;if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),r=new Array(t.length),n=0;n<t.length;n++)r[n]=String.fromCharCode(t[n]);return r.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},o&&(this.formData=function(){return this.text().then(v)}),this.json=function(){return this.text().then(JSON.parse)},this}p.prototype.append=function(e,t){e=l(e),t=c(t);var r=this.map[e];this.map[e]=r?r+", "+t:t},p.prototype.delete=function(e){delete this.map[l(e)]},p.prototype.get=function(e){return e=l(e),this.has(e)?this.map[e]:null},p.prototype.has=function(e){return this.map.hasOwnProperty(l(e))},p.prototype.set=function(e,t){this.map[l(e)]=c(t)},p.prototype.forEach=function(e,t){for(var r in this.map)this.map.hasOwnProperty(r)&&e.call(t,this.map[r],r,this)},p.prototype.keys=function(){var e=[];return this.forEach((function(t,r){e.push(r)})),u(e)},p.prototype.values=function(){var e=[];return this.forEach((function(t){e.push(t)})),u(e)},p.prototype.entries=function(){var e=[];return this.forEach((function(t,r){e.push([r,t])})),u(e)},r&&(p.prototype[Symbol.iterator]=p.prototype.entries);var y=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function b(e,t){var r,n,o=(t=t||{}).body;if(e instanceof b){if(e.bodyUsed)throw new TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new p(e.headers)),this.method=e.method,this.mode=e.mode,this.signal=e.signal,o||null==e._bodyInit||(o=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||"same-origin",!t.headers&&this.headers||(this.headers=new p(t.headers)),this.method=(n=(r=t.method||this.method||"GET").toUpperCase(),y.indexOf(n)>-1?n:r),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(o)}function v(e){var t=new FormData;return e.trim().split("&").forEach((function(e){if(e){var r=e.split("="),n=r.shift().replace(/\+/g," "),o=r.join("=").replace(/\+/g," ");t.append(decodeURIComponent(n),decodeURIComponent(o))}})),t}function x(e,t){t||(t={}),this.type="default",this.status=void 0===t.status?200:t.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in t?t.statusText:"OK",this.headers=new p(t.headers),this.url=t.url||"",this._initBody(e)}b.prototype.clone=function(){return new b(this,{body:this._bodyInit})},g.call(b.prototype),g.call(x.prototype),x.prototype.clone=function(){return new x(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new p(this.headers),url:this.url})},x.error=function(){var e=new x(null,{status:0,statusText:""});return e.type="error",e};var w=[301,302,303,307,308];x.redirect=function(e,t){if(-1===w.indexOf(t))throw new RangeError("Invalid status code");return new x(null,{status:t,headers:{location:e}})},e.DOMException=xr.DOMException;try{new e.DOMException}catch(t){e.DOMException=function(e,t){this.message=e,this.name=t;var r=Error(e);this.stack=r.stack},e.DOMException.prototype=Object.create(Error.prototype),e.DOMException.prototype.constructor=e.DOMException}function k(t,r){return new Promise((function(o,a){var i=new b(t,r);if(i.signal&&i.signal.aborted)return a(new e.DOMException("Aborted","AbortError"));var s=new XMLHttpRequest;function l(){s.abort()}s.onload=function(){var e,t,r={status:s.status,statusText:s.statusText,headers:(e=s.getAllResponseHeaders()||"",t=new p,e.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(e){var r=e.split(":"),n=r.shift().trim();if(n){var o=r.join(":").trim();t.append(n,o)}})),t)};r.url="responseURL"in s?s.responseURL:r.headers.get("X-Request-URL");var n="response"in s?s.response:s.responseText;o(new x(n,r))},s.onerror=function(){a(new TypeError("Network request failed"))},s.ontimeout=function(){a(new TypeError("Network request failed"))},s.onabort=function(){a(new e.DOMException("Aborted","AbortError"))},s.open(i.method,i.url,!0),"include"===i.credentials?s.withCredentials=!0:"omit"===i.credentials&&(s.withCredentials=!1),"responseType"in s&&n&&(s.responseType="blob"),i.headers.forEach((function(e,t){s.setRequestHeader(t,e)})),i.signal&&(i.signal.addEventListener("abort",l),s.onreadystatechange=function(){4===s.readyState&&i.signal.removeEventListener("abort",l)}),s.send(void 0===i._bodyInit?null:i._bodyInit)}))}k.polyfill=!0,xr.fetch||(xr.fetch=k,xr.Headers=p,xr.Request=b,xr.Response=x),e.Headers=p,e.Request=b,e.Response=x,e.fetch=k}({});var kr=String.prototype.replace,Ar=/%20/g,$r="RFC3986",Er={default:$r,formatters:{RFC1738:function(e){return kr.call(e,Ar,"+")},RFC3986:function(e){return String(e)}},RFC1738:"RFC1738",RFC3986:$r},Sr=Object.prototype.hasOwnProperty,Dr=Array.isArray,Or=function(){for(var e=[],t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e}(),Cr=function(e,t){for(var r=t&&t.plainObjects?Object.create(null):{},n=0;n<e.length;++n)void 0!==e[n]&&(r[n]=e[n]);return r},_r={arrayToObject:Cr,assign:function(e,t){return Object.keys(t).reduce((function(e,r){return e[r]=t[r],e}),e)},combine:function(e,t){return[].concat(e,t)},compact:function(e){for(var t=[{obj:{o:e},prop:"o"}],r=[],n=0;n<t.length;++n)for(var o=t[n],a=o.obj[o.prop],i=Object.keys(a),s=0;s<i.length;++s){var l=i[s],c=a[l];"object"==typeof c&&null!==c&&-1===r.indexOf(c)&&(t.push({obj:a,prop:l}),r.push(c))}return function(e){for(;e.length>1;){var t=e.pop(),r=t.obj[t.prop];if(Dr(r)){for(var n=[],o=0;o<r.length;++o)void 0!==r[o]&&n.push(r[o]);t.obj[t.prop]=n}}}(t),e},decode:function(e,t,r){var n=e.replace(/\+/g," ");if("iso-8859-1"===r)return n.replace(/%[0-9a-f]{2}/gi,unescape);try{return decodeURIComponent(n)}catch(e){return n}},encode:function(e,t,r,n,o){if(0===e.length)return e;var a=e;if("symbol"==typeof e?a=Symbol.prototype.toString.call(e):"string"!=typeof e&&(a=String(e)),"iso-8859-1"===r)return escape(a).replace(/%u[0-9a-f]{4}/gi,(function(e){return"%26%23"+parseInt(e.slice(2),16)+"%3B"}));for(var i="",s=0;s<a.length;++s){var l=a.charCodeAt(s);45===l||46===l||95===l||126===l||l>=48&&l<=57||l>=65&&l<=90||l>=97&&l<=122||o===Er.RFC1738&&(40===l||41===l)?i+=a.charAt(s):l<128?i+=Or[l]:l<2048?i+=Or[192|l>>6]+Or[128|63&l]:l<55296||l>=57344?i+=Or[224|l>>12]+Or[128|l>>6&63]+Or[128|63&l]:(s+=1,l=65536+((1023&l)<<10|1023&a.charCodeAt(s)),i+=Or[240|l>>18]+Or[128|l>>12&63]+Or[128|l>>6&63]+Or[128|63&l])}return i},isBuffer:function(e){return!(!e||"object"!=typeof e||!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e)))},isRegExp:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},maybeMap:function(e,t){if(Dr(e)){for(var r=[],n=0;n<e.length;n+=1)r.push(t(e[n]));return r}return t(e)},merge:function e(t,r,n){if(!r)return t;if("object"!=typeof r){if(Dr(t))t.push(r);else{if(!t||"object"!=typeof t)return[t,r];(n&&(n.plainObjects||n.allowPrototypes)||!Sr.call(Object.prototype,r))&&(t[r]=!0)}return t}if(!t||"object"!=typeof t)return[t].concat(r);var o=t;return Dr(t)&&!Dr(r)&&(o=Cr(t,n)),Dr(t)&&Dr(r)?(r.forEach((function(r,o){if(Sr.call(t,o)){var a=t[o];a&&"object"==typeof a&&r&&"object"==typeof r?t[o]=e(a,r,n):t.push(r)}else t[o]=r})),t):Object.keys(r).reduce((function(t,o){var a=r[o];return Sr.call(t,o)?t[o]=e(t[o],a,n):t[o]=a,t}),o)}},jr=Object.prototype.hasOwnProperty,Tr={brackets:function(e){return e+"[]"},comma:"comma",indices:function(e,t){return e+"["+t+"]"},repeat:function(e){return e}},Fr=Array.isArray,Pr=Array.prototype.push,Br=function(e,t){Pr.apply(e,Fr(t)?t:[t])},Ir=Date.prototype.toISOString,Rr=Er.default,Nr={addQueryPrefix:!1,allowDots:!1,charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encoder:_r.encode,encodeValuesOnly:!1,format:Rr,formatter:Er.formatters[Rr],indices:!1,serializeDate:function(e){return Ir.call(e)},skipNulls:!1,strictNullHandling:!1},Lr=function e(t,r,n,o,a,i,s,l,c,u,p,d,h,f){var m,g=t;if("function"==typeof s?g=s(r,g):g instanceof Date?g=u(g):"comma"===n&&Fr(g)&&(g=_r.maybeMap(g,(function(e){return e instanceof Date?u(e):e}))),null===g){if(o)return i&&!h?i(r,Nr.encoder,f,"key",p):r;g=""}if("string"==typeof(m=g)||"number"==typeof m||"boolean"==typeof m||"symbol"==typeof m||"bigint"==typeof m||_r.isBuffer(g))return i?[d(h?r:i(r,Nr.encoder,f,"key",p))+"="+d(i(g,Nr.encoder,f,"value",p))]:[d(r)+"="+d(String(g))];var y,b=[];if(void 0===g)return b;if("comma"===n&&Fr(g))y=[{value:g.length>0?g.join(",")||null:void 0}];else if(Fr(s))y=s;else{var v=Object.keys(g);y=l?v.sort(l):v}for(var x=0;x<y.length;++x){var w=y[x],k="object"==typeof w&&void 0!==w.value?w.value:g[w];if(!a||null!==k){var A=Fr(g)?"function"==typeof n?n(r,w):r:r+(c?"."+w:"["+w+"]");Br(b,e(k,A,n,o,a,i,s,l,c,u,p,d,h,f))}}return b},qr=Object.prototype.hasOwnProperty,zr=Array.isArray,Ur={allowDots:!1,allowPrototypes:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decoder:_r.decode,delimiter:"&",depth:5,ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},Mr=function(e){return e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(parseInt(t,10))}))},Hr=function(e,t){return e&&"string"==typeof e&&t.comma&&e.indexOf(",")>-1?e.split(","):e},Vr=function(e,t,r,n){if(e){var o=r.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,a=/(\[[^[\]]*])/g,i=r.depth>0&&/(\[[^[\]]*])/.exec(o),s=i?o.slice(0,i.index):o,l=[];if(s){if(!r.plainObjects&&qr.call(Object.prototype,s)&&!r.allowPrototypes)return;l.push(s)}for(var c=0;r.depth>0&&null!==(i=a.exec(o))&&c<r.depth;){if(c+=1,!r.plainObjects&&qr.call(Object.prototype,i[1].slice(1,-1))&&!r.allowPrototypes)return;l.push(i[1])}return i&&l.push("["+o.slice(i.index)+"]"),function(e,t,r,n){for(var o=n?t:Hr(t,r),a=e.length-1;a>=0;--a){var i,s=e[a];if("[]"===s&&r.parseArrays)i=[].concat(o);else{i=r.plainObjects?Object.create(null):{};var l="["===s.charAt(0)&&"]"===s.charAt(s.length-1)?s.slice(1,-1):s,c=parseInt(l,10);r.parseArrays||""!==l?!isNaN(c)&&s!==l&&String(c)===l&&c>=0&&r.parseArrays&&c<=r.arrayLimit?(i=[])[c]=o:i[l]=o:i={0:o}}o=i}return o}(l,t,r,n)}},Wr={formats:Er,parse:function(e,t){var r=function(e){if(!e)return Ur;if(null!==e.decoder&&void 0!==e.decoder&&"function"!=typeof e.decoder)throw new TypeError("Decoder has to be a function.");if(void 0!==e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var t=void 0===e.charset?Ur.charset:e.charset;return{allowDots:void 0===e.allowDots?Ur.allowDots:!!e.allowDots,allowPrototypes:"boolean"==typeof e.allowPrototypes?e.allowPrototypes:Ur.allowPrototypes,arrayLimit:"number"==typeof e.arrayLimit?e.arrayLimit:Ur.arrayLimit,charset:t,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:Ur.charsetSentinel,comma:"boolean"==typeof e.comma?e.comma:Ur.comma,decoder:"function"==typeof e.decoder?e.decoder:Ur.decoder,delimiter:"string"==typeof e.delimiter||_r.isRegExp(e.delimiter)?e.delimiter:Ur.delimiter,depth:"number"==typeof e.depth||!1===e.depth?+e.depth:Ur.depth,ignoreQueryPrefix:!0===e.ignoreQueryPrefix,interpretNumericEntities:"boolean"==typeof e.interpretNumericEntities?e.interpretNumericEntities:Ur.interpretNumericEntities,parameterLimit:"number"==typeof e.parameterLimit?e.parameterLimit:Ur.parameterLimit,parseArrays:!1!==e.parseArrays,plainObjects:"boolean"==typeof e.plainObjects?e.plainObjects:Ur.plainObjects,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:Ur.strictNullHandling}}(t);if(""===e||null==e)return r.plainObjects?Object.create(null):{};for(var n="string"==typeof e?function(e,t){var r,n={},o=t.ignoreQueryPrefix?e.replace(/^\?/,""):e,a=t.parameterLimit===1/0?void 0:t.parameterLimit,i=o.split(t.delimiter,a),s=-1,l=t.charset;if(t.charsetSentinel)for(r=0;r<i.length;++r)0===i[r].indexOf("utf8=")&&("utf8=%E2%9C%93"===i[r]?l="utf-8":"utf8=%26%2310003%3B"===i[r]&&(l="iso-8859-1"),s=r,r=i.length);for(r=0;r<i.length;++r)if(r!==s){var c,u,p=i[r],d=p.indexOf("]="),h=-1===d?p.indexOf("="):d+1;-1===h?(c=t.decoder(p,Ur.decoder,l,"key"),u=t.strictNullHandling?null:""):(c=t.decoder(p.slice(0,h),Ur.decoder,l,"key"),u=_r.maybeMap(Hr(p.slice(h+1),t),(function(e){return t.decoder(e,Ur.decoder,l,"value")}))),u&&t.interpretNumericEntities&&"iso-8859-1"===l&&(u=Mr(u)),p.indexOf("[]=")>-1&&(u=zr(u)?[u]:u),qr.call(n,c)?n[c]=_r.combine(n[c],u):n[c]=u}return n}(e,r):e,o=r.plainObjects?Object.create(null):{},a=Object.keys(n),i=0;i<a.length;++i){var s=a[i],l=Vr(s,n[s],r,"string"==typeof e);o=_r.merge(o,l,r)}return _r.compact(o)},stringify:function(e,t){var r,n=e,o=function(e){if(!e)return Nr;if(null!==e.encoder&&void 0!==e.encoder&&"function"!=typeof e.encoder)throw new TypeError("Encoder has to be a function.");var t=e.charset||Nr.charset;if(void 0!==e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var r=Er.default;if(void 0!==e.format){if(!jr.call(Er.formatters,e.format))throw new TypeError("Unknown format option provided.");r=e.format}var n=Er.formatters[r],o=Nr.filter;return("function"==typeof e.filter||Fr(e.filter))&&(o=e.filter),{addQueryPrefix:"boolean"==typeof e.addQueryPrefix?e.addQueryPrefix:Nr.addQueryPrefix,allowDots:void 0===e.allowDots?Nr.allowDots:!!e.allowDots,charset:t,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:Nr.charsetSentinel,delimiter:void 0===e.delimiter?Nr.delimiter:e.delimiter,encode:"boolean"==typeof e.encode?e.encode:Nr.encode,encoder:"function"==typeof e.encoder?e.encoder:Nr.encoder,encodeValuesOnly:"boolean"==typeof e.encodeValuesOnly?e.encodeValuesOnly:Nr.encodeValuesOnly,filter:o,format:r,formatter:n,serializeDate:"function"==typeof e.serializeDate?e.serializeDate:Nr.serializeDate,skipNulls:"boolean"==typeof e.skipNulls?e.skipNulls:Nr.skipNulls,sort:"function"==typeof e.sort?e.sort:null,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:Nr.strictNullHandling}}(t);"function"==typeof o.filter?n=(0,o.filter)("",n):Fr(o.filter)&&(r=o.filter);var a,i=[];if("object"!=typeof n||null===n)return"";a=t&&t.arrayFormat in Tr?t.arrayFormat:t&&"indices"in t?t.indices?"indices":"repeat":"indices";var s=Tr[a];r||(r=Object.keys(n)),o.sort&&r.sort(o.sort);for(var l=0;l<r.length;++l){var c=r[l];o.skipNulls&&null===n[c]||Br(i,Lr(n[c],c,s,o.strictNullHandling,o.skipNulls,o.encode?o.encoder:null,o.filter,o.sort,o.allowDots,o.serializeDate,o.format,o.formatter,o.encodeValuesOnly,o.charset))}var u=i.join(o.delimiter),p=!0===o.addQueryPrefix?"?":"";return o.charsetSentinel&&("iso-8859-1"===o.charset?p+="utf8=%26%2310003%3B&":p+="utf8=%E2%9C%93&"),u.length>0?p+u:""}};function Yr(e){return null==e}var Kr={isNothing:Yr,isObject:function(e){return"object"==typeof e&&null!==e},toArray:function(e){return Array.isArray(e)?e:Yr(e)?[]:[e]},repeat:function(e,t){var r,n="";for(r=0;r<t;r+=1)n+=e;return n},isNegativeZero:function(e){return 0===e&&Number.NEGATIVE_INFINITY===1/e},extend:function(e,t){var r,n,o,a;if(t)for(r=0,n=(a=Object.keys(t)).length;r<n;r+=1)e[o=a[r]]=t[o];return e}};function Gr(e,t){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=t,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||""}Gr.prototype=Object.create(Error.prototype),Gr.prototype.constructor=Gr,Gr.prototype.toString=function(e){var t=this.name+": ";return t+=this.reason||"(unknown reason)",!e&&this.mark&&(t+=" "+this.mark.toString()),t};var Jr=Gr;function Zr(e,t,r,n,o){this.name=e,this.buffer=t,this.position=r,this.line=n,this.column=o}Zr.prototype.getSnippet=function(e,t){var r,n,o,a,i;if(!this.buffer)return null;for(e=e||4,t=t||75,r="",n=this.position;n>0&&-1==="\0\r\n…\u2028\u2029".indexOf(this.buffer.charAt(n-1));)if(n-=1,this.position-n>t/2-1){r=" ... ",n+=5;break}for(o="",a=this.position;a<this.buffer.length&&-1==="\0\r\n…\u2028\u2029".indexOf(this.buffer.charAt(a));)if((a+=1)-this.position>t/2-1){o=" ... ",a-=5;break}return i=this.buffer.slice(n,a),Kr.repeat(" ",e)+r+i+o+"\n"+Kr.repeat(" ",e+this.position-n+r.length)+"^"},Zr.prototype.toString=function(e){var t,r="";return this.name&&(r+='in "'+this.name+'" '),r+="at line "+(this.line+1)+", column "+(this.column+1),e||(t=this.getSnippet())&&(r+=":\n"+t),r};var Xr=Zr,Qr=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],en=["scalar","sequence","mapping"],tn=function(e,t){var r,n;if(t=t||{},Object.keys(t).forEach((function(t){if(-1===Qr.indexOf(t))throw new Jr('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')})),this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.defaultStyle=t.defaultStyle||null,this.styleAliases=(r=t.styleAliases||null,n={},null!==r&&Object.keys(r).forEach((function(e){r[e].forEach((function(t){n[String(t)]=e}))})),n),-1===en.indexOf(this.kind))throw new Jr('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')};function rn(e,t,r){var n=[];return e.include.forEach((function(e){r=rn(e,t,r)})),e[t].forEach((function(e){r.forEach((function(t,r){t.tag===e.tag&&t.kind===e.kind&&n.push(r)})),r.push(e)})),r.filter((function(e,t){return-1===n.indexOf(t)}))}function nn(e){this.include=e.include||[],this.implicit=e.implicit||[],this.explicit=e.explicit||[],this.implicit.forEach((function(e){if(e.loadKind&&"scalar"!==e.loadKind)throw new Jr("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.")})),this.compiledImplicit=rn(this,"implicit",[]),this.compiledExplicit=rn(this,"explicit",[]),this.compiledTypeMap=function(){var e,t,r={scalar:{},sequence:{},mapping:{},fallback:{}};function n(e){r[e.kind][e.tag]=r.fallback[e.tag]=e}for(e=0,t=arguments.length;e<t;e+=1)arguments[e].forEach(n);return r}(this.compiledImplicit,this.compiledExplicit)}nn.DEFAULT=null,nn.create=function(){var e,t;switch(arguments.length){case 1:e=nn.DEFAULT,t=arguments[0];break;case 2:e=arguments[0],t=arguments[1];break;default:throw new Jr("Wrong number of arguments for Schema.create function")}if(e=Kr.toArray(e),t=Kr.toArray(t),!e.every((function(e){return e instanceof nn})))throw new Jr("Specified list of super schemas (or a single Schema object) contains a non-Schema object.");if(!t.every((function(e){return e instanceof tn})))throw new Jr("Specified list of YAML types (or a single Type object) contains a non-Type object.");return new nn({include:e,explicit:t})};var on=nn,an=new on({explicit:[new tn("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return null!==e?e:""}}),new tn("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return null!==e?e:[]}}),new tn("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return null!==e?e:{}}})]}),sn=new tn("tag:yaml.org,2002:null",{kind:"scalar",resolve:function(e){if(null===e)return!0;var t=e.length;return 1===t&&"~"===e||4===t&&("null"===e||"Null"===e||"NULL"===e)},construct:function(){return null},predicate:function(e){return null===e},represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"}),ln=new tn("tag:yaml.org,2002:bool",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t=e.length;return 4===t&&("true"===e||"True"===e||"TRUE"===e)||5===t&&("false"===e||"False"===e||"FALSE"===e)},construct:function(e){return"true"===e||"True"===e||"TRUE"===e},predicate:function(e){return"[object Boolean]"===Object.prototype.toString.call(e)},represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"});function cn(e){return 48<=e&&e<=55}function un(e){return 48<=e&&e<=57}var pn,dn=new tn("tag:yaml.org,2002:int",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,r,n=e.length,o=0,a=!1;if(!n)return!1;if("-"!==(t=e[o])&&"+"!==t||(t=e[++o]),"0"===t){if(o+1===n)return!0;if("b"===(t=e[++o])){for(o++;o<n;o++)if("_"!==(t=e[o])){if("0"!==t&&"1"!==t)return!1;a=!0}return a&&"_"!==t}if("x"===t){for(o++;o<n;o++)if("_"!==(t=e[o])){if(!(48<=(r=e.charCodeAt(o))&&r<=57||65<=r&&r<=70||97<=r&&r<=102))return!1;a=!0}return a&&"_"!==t}for(;o<n;o++)if("_"!==(t=e[o])){if(!cn(e.charCodeAt(o)))return!1;a=!0}return a&&"_"!==t}if("_"===t)return!1;for(;o<n;o++)if("_"!==(t=e[o])){if(":"===t)break;if(!un(e.charCodeAt(o)))return!1;a=!0}return!(!a||"_"===t)&&(":"!==t||/^(:[0-5]?[0-9])+$/.test(e.slice(o)))},construct:function(e){var t,r,n=e,o=1,a=[];return-1!==n.indexOf("_")&&(n=n.replace(/_/g,"")),"-"!==(t=n[0])&&"+"!==t||("-"===t&&(o=-1),t=(n=n.slice(1))[0]),"0"===n?0:"0"===t?"b"===n[1]?o*parseInt(n.slice(2),2):"x"===n[1]?o*parseInt(n,16):o*parseInt(n,8):-1!==n.indexOf(":")?(n.split(":").forEach((function(e){a.unshift(parseInt(e,10))})),n=0,r=1,a.forEach((function(e){n+=e*r,r*=60})),o*n):o*parseInt(n,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&e%1==0&&!Kr.isNegativeZero(e)},represent:{binary:function(e){return e>=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0"+e.toString(8):"-0"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),hn=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),fn=/^[-+]?[0-9]+e/,mn=new on({include:[an],implicit:[sn,ln,dn,new tn("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(e){return null!==e&&!(!hn.test(e)||"_"===e[e.length-1])},construct:function(e){var t,r,n,o;return r="-"===(t=e.replace(/_/g,"").toLowerCase())[0]?-1:1,o=[],"+-".indexOf(t[0])>=0&&(t=t.slice(1)),".inf"===t?1===r?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===t?NaN:t.indexOf(":")>=0?(t.split(":").forEach((function(e){o.unshift(parseFloat(e,10))})),t=0,n=1,o.forEach((function(e){t+=e*n,n*=60})),r*t):r*parseFloat(t,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!=0||Kr.isNegativeZero(e))},represent:function(e,t){var r;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Kr.isNegativeZero(e))return"-0.0";return r=e.toString(10),fn.test(r)?r.replace("e",".e"):r},defaultStyle:"lowercase"})]}),gn=new on({include:[mn]}),yn=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),bn=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$"),vn=new tn("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(e){return null!==e&&(null!==yn.exec(e)||null!==bn.exec(e))},construct:function(e){var t,r,n,o,a,i,s,l,c=0,u=null;if(null===(t=yn.exec(e))&&(t=bn.exec(e)),null===t)throw new Error("Date resolve error");if(r=+t[1],n=+t[2]-1,o=+t[3],!t[4])return new Date(Date.UTC(r,n,o));if(a=+t[4],i=+t[5],s=+t[6],t[7]){for(c=t[7].slice(0,3);c.length<3;)c+="0";c=+c}return t[9]&&(u=6e4*(60*+t[10]+ +(t[11]||0)),"-"===t[9]&&(u=-u)),l=new Date(Date.UTC(r,n,o,a,i,s,c)),u&&l.setTime(l.getTime()-u),l},instanceOf:Date,represent:function(e){return e.toISOString()}}),xn=new tn("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(e){return"<<"===e||null===e}});try{pn=be("buffer").Buffer}catch(e){}var wn,kn="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r",An=new tn("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,r,n=0,o=e.length,a=kn;for(r=0;r<o;r++)if(!((t=a.indexOf(e.charAt(r)))>64)){if(t<0)return!1;n+=6}return n%8==0},construct:function(e){var t,r,n=e.replace(/[\r\n=]/g,""),o=n.length,a=kn,i=0,s=[];for(t=0;t<o;t++)t%4==0&&t&&(s.push(i>>16&255),s.push(i>>8&255),s.push(255&i)),i=i<<6|a.indexOf(n.charAt(t));return 0==(r=o%4*6)?(s.push(i>>16&255),s.push(i>>8&255),s.push(255&i)):18===r?(s.push(i>>10&255),s.push(i>>2&255)):12===r&&s.push(i>>4&255),pn?pn.from?pn.from(s):new pn(s):s},predicate:function(e){return pn&&pn.isBuffer(e)},represent:function(e){var t,r,n="",o=0,a=e.length,i=kn;for(t=0;t<a;t++)t%3==0&&t&&(n+=i[o>>18&63],n+=i[o>>12&63],n+=i[o>>6&63],n+=i[63&o]),o=(o<<8)+e[t];return 0==(r=a%3)?(n+=i[o>>18&63],n+=i[o>>12&63],n+=i[o>>6&63],n+=i[63&o]):2===r?(n+=i[o>>10&63],n+=i[o>>4&63],n+=i[o<<2&63],n+=i[64]):1===r&&(n+=i[o>>2&63],n+=i[o<<4&63],n+=i[64],n+=i[64]),n}}),$n=Object.prototype.hasOwnProperty,En=Object.prototype.toString,Sn=new tn("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(e){if(null===e)return!0;var t,r,n,o,a,i=[],s=e;for(t=0,r=s.length;t<r;t+=1){if(n=s[t],a=!1,"[object Object]"!==En.call(n))return!1;for(o in n)if($n.call(n,o)){if(a)return!1;a=!0}if(!a)return!1;if(-1!==i.indexOf(o))return!1;i.push(o)}return!0},construct:function(e){return null!==e?e:[]}}),Dn=Object.prototype.toString,On=new tn("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:function(e){if(null===e)return!0;var t,r,n,o,a,i=e;for(a=new Array(i.length),t=0,r=i.length;t<r;t+=1){if(n=i[t],"[object Object]"!==Dn.call(n))return!1;if(1!==(o=Object.keys(n)).length)return!1;a[t]=[o[0],n[o[0]]]}return!0},construct:function(e){if(null===e)return[];var t,r,n,o,a,i=e;for(a=new Array(i.length),t=0,r=i.length;t<r;t+=1)n=i[t],o=Object.keys(n),a[t]=[o[0],n[o[0]]];return a}}),Cn=Object.prototype.hasOwnProperty,_n=new on({include:[gn],implicit:[vn,xn],explicit:[An,Sn,On,new tn("tag:yaml.org,2002:set",{kind:"mapping",resolve:function(e){if(null===e)return!0;var t,r=e;for(t in r)if(Cn.call(r,t)&&null!==r[t])return!1;return!0},construct:function(e){return null!==e?e:{}}})]}),jn=new tn("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:function(){return!0},construct:function(){},predicate:function(e){return void 0===e},represent:function(){return""}}),Tn=new tn("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:function(e){if(null===e)return!1;if(0===e.length)return!1;var t=e,r=/\/([gim]*)$/.exec(e),n="";if("/"===t[0]){if(r&&(n=r[1]),n.length>3)return!1;if("/"!==t[t.length-n.length-1])return!1}return!0},construct:function(e){var t=e,r=/\/([gim]*)$/.exec(e),n="";return"/"===t[0]&&(r&&(n=r[1]),t=t.slice(1,t.length-n.length-1)),new RegExp(t,n)},predicate:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},represent:function(e){var t="/"+e.source+"/";return e.global&&(t+="g"),e.multiline&&(t+="m"),e.ignoreCase&&(t+="i"),t}});try{wn=be("esprima")}catch(e){"undefined"!=typeof window&&(wn=window.esprima)}var Fn=new tn("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:function(e){if(null===e)return!1;try{var t="("+e+")",r=wn.parse(t,{range:!0});return"Program"===r.type&&1===r.body.length&&"ExpressionStatement"===r.body[0].type&&("ArrowFunctionExpression"===r.body[0].expression.type||"FunctionExpression"===r.body[0].expression.type)}catch(e){return!1}},construct:function(e){var t,r="("+e+")",n=wn.parse(r,{range:!0}),o=[];if("Program"!==n.type||1!==n.body.length||"ExpressionStatement"!==n.body[0].type||"ArrowFunctionExpression"!==n.body[0].expression.type&&"FunctionExpression"!==n.body[0].expression.type)throw new Error("Failed to resolve function");return n.body[0].expression.params.forEach((function(e){o.push(e.name)})),t=n.body[0].expression.body.range,"BlockStatement"===n.body[0].expression.body.type?new Function(o,r.slice(t[0]+1,t[1]-1)):new Function(o,"return "+r.slice(t[0],t[1]))},predicate:function(e){return"[object Function]"===Object.prototype.toString.call(e)},represent:function(e){return e.toString()}}),Pn=on.DEFAULT=new on({include:[_n],explicit:[jn,Tn,Fn]}),Bn=Object.prototype.hasOwnProperty,In=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Rn=/[\x85\u2028\u2029]/,Nn=/[,\[\]\{\}]/,Ln=/^(?:!|!!|![a-z\-]+!)$/i,qn=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function zn(e){return Object.prototype.toString.call(e)}function Un(e){return 10===e||13===e}function Mn(e){return 9===e||32===e}function Hn(e){return 9===e||32===e||10===e||13===e}function Vn(e){return 44===e||91===e||93===e||123===e||125===e}function Wn(e){var t;return 48<=e&&e<=57?e-48:97<=(t=32|e)&&t<=102?t-97+10:-1}function Yn(e){return 48===e?"\0":97===e?"":98===e?"\b":116===e||9===e?"\t":110===e?"\n":118===e?"\v":102===e?"\f":114===e?"\r":101===e?"":32===e?" ":34===e?'"':47===e?"/":92===e?"\\":78===e?"…":95===e?" ":76===e?"\u2028":80===e?"\u2029":""}function Kn(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(55296+(e-65536>>10),56320+(e-65536&1023))}for(var Gn=new Array(256),Jn=new Array(256),Zn=0;Zn<256;Zn++)Gn[Zn]=Yn(Zn)?1:0,Jn[Zn]=Yn(Zn);function Xn(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||Pn,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function Qn(e,t){return new Jr(t,new Xr(e.filename,e.input,e.position,e.line,e.position-e.lineStart))}function eo(e,t){throw Qn(e,t)}function to(e,t){e.onWarning&&e.onWarning.call(null,Qn(e,t))}var ro={YAML:function(e,t,r){var n,o,a;null!==e.version&&eo(e,"duplication of %YAML directive"),1!==r.length&&eo(e,"YAML directive accepts exactly one argument"),null===(n=/^([0-9]+)\.([0-9]+)$/.exec(r[0]))&&eo(e,"ill-formed argument of the YAML directive"),o=parseInt(n[1],10),a=parseInt(n[2],10),1!==o&&eo(e,"unacceptable YAML version of the document"),e.version=r[0],e.checkLineBreaks=a<2,1!==a&&2!==a&&to(e,"unsupported YAML version of the document")},TAG:function(e,t,r){var n,o;2!==r.length&&eo(e,"TAG directive accepts exactly two arguments"),n=r[0],o=r[1],Ln.test(n)||eo(e,"ill-formed tag handle (first argument) of the TAG directive"),Bn.call(e.tagMap,n)&&eo(e,'there is a previously declared suffix for "'+n+'" tag handle'),qn.test(o)||eo(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[n]=o}};function no(e,t,r,n){var o,a,i,s;if(t<r){if(s=e.input.slice(t,r),n)for(o=0,a=s.length;o<a;o+=1)9===(i=s.charCodeAt(o))||32<=i&&i<=1114111||eo(e,"expected valid JSON character");else In.test(s)&&eo(e,"the stream contains non-printable characters");e.result+=s}}function oo(e,t,r,n){var o,a,i,s;for(Kr.isObject(r)||eo(e,"cannot merge mappings; the provided source object is unacceptable"),i=0,s=(o=Object.keys(r)).length;i<s;i+=1)a=o[i],Bn.call(t,a)||(t[a]=r[a],n[a]=!0)}function ao(e,t,r,n,o,a,i,s){var l,c;if(Array.isArray(o))for(l=0,c=(o=Array.prototype.slice.call(o)).length;l<c;l+=1)Array.isArray(o[l])&&eo(e,"nested arrays are not supported inside keys"),"object"==typeof o&&"[object Object]"===zn(o[l])&&(o[l]="[object Object]");if("object"==typeof o&&"[object Object]"===zn(o)&&(o="[object Object]"),o=String(o),null===t&&(t={}),"tag:yaml.org,2002:merge"===n)if(Array.isArray(a))for(l=0,c=a.length;l<c;l+=1)oo(e,t,a[l],r);else oo(e,t,a,r);else e.json||Bn.call(r,o)||!Bn.call(t,o)||(e.line=i||e.line,e.position=s||e.position,eo(e,"duplicated mapping key")),t[o]=a,delete r[o];return t}function io(e){var t;10===(t=e.input.charCodeAt(e.position))?e.position++:13===t?(e.position++,10===e.input.charCodeAt(e.position)&&e.position++):eo(e,"a line break is expected"),e.line+=1,e.lineStart=e.position}function so(e,t,r){for(var n=0,o=e.input.charCodeAt(e.position);0!==o;){for(;Mn(o);)o=e.input.charCodeAt(++e.position);if(t&&35===o)do{o=e.input.charCodeAt(++e.position)}while(10!==o&&13!==o&&0!==o);if(!Un(o))break;for(io(e),o=e.input.charCodeAt(e.position),n++,e.lineIndent=0;32===o;)e.lineIndent++,o=e.input.charCodeAt(++e.position)}return-1!==r&&0!==n&&e.lineIndent<r&&to(e,"deficient indentation"),n}function lo(e){var t,r=e.position;return!(45!==(t=e.input.charCodeAt(r))&&46!==t||t!==e.input.charCodeAt(r+1)||t!==e.input.charCodeAt(r+2)||(r+=3,0!==(t=e.input.charCodeAt(r))&&!Hn(t)))}function co(e,t){1===t?e.result+=" ":t>1&&(e.result+=Kr.repeat("\n",t-1))}function uo(e,t){var r,n,o=e.tag,a=e.anchor,i=[],s=!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=i),n=e.input.charCodeAt(e.position);0!==n&&45===n&&Hn(e.input.charCodeAt(e.position+1));)if(s=!0,e.position++,so(e,!0,-1)&&e.lineIndent<=t)i.push(null),n=e.input.charCodeAt(e.position);else if(r=e.line,fo(e,t,3,!1,!0),i.push(e.result),so(e,!0,-1),n=e.input.charCodeAt(e.position),(e.line===r||e.lineIndent>t)&&0!==n)eo(e,"bad indentation of a sequence entry");else if(e.lineIndent<t)break;return!!s&&(e.tag=o,e.anchor=a,e.kind="sequence",e.result=i,!0)}function po(e){var t,r,n,o,a=!1,i=!1;if(33!==(o=e.input.charCodeAt(e.position)))return!1;if(null!==e.tag&&eo(e,"duplication of a tag property"),60===(o=e.input.charCodeAt(++e.position))?(a=!0,o=e.input.charCodeAt(++e.position)):33===o?(i=!0,r="!!",o=e.input.charCodeAt(++e.position)):r="!",t=e.position,a){do{o=e.input.charCodeAt(++e.position)}while(0!==o&&62!==o);e.position<e.length?(n=e.input.slice(t,e.position),o=e.input.charCodeAt(++e.position)):eo(e,"unexpected end of the stream within a verbatim tag")}else{for(;0!==o&&!Hn(o);)33===o&&(i?eo(e,"tag suffix cannot contain exclamation marks"):(r=e.input.slice(t-1,e.position+1),Ln.test(r)||eo(e,"named tag handle cannot contain such characters"),i=!0,t=e.position+1)),o=e.input.charCodeAt(++e.position);n=e.input.slice(t,e.position),Nn.test(n)&&eo(e,"tag suffix cannot contain flow indicator characters")}return n&&!qn.test(n)&&eo(e,"tag name cannot contain such characters: "+n),a?e.tag=n:Bn.call(e.tagMap,r)?e.tag=e.tagMap[r]+n:"!"===r?e.tag="!"+n:"!!"===r?e.tag="tag:yaml.org,2002:"+n:eo(e,'undeclared tag handle "'+r+'"'),!0}function ho(e){var t,r;if(38!==(r=e.input.charCodeAt(e.position)))return!1;for(null!==e.anchor&&eo(e,"duplication of an anchor property"),r=e.input.charCodeAt(++e.position),t=e.position;0!==r&&!Hn(r)&&!Vn(r);)r=e.input.charCodeAt(++e.position);return e.position===t&&eo(e,"name of an anchor node must contain at least one character"),e.anchor=e.input.slice(t,e.position),!0}function fo(e,t,r,n,o){var a,i,s,l,c,u,p,d,h=1,f=!1,m=!1;if(null!==e.listener&&e.listener("open",e),e.tag=null,e.anchor=null,e.kind=null,e.result=null,a=i=s=4===r||3===r,n&&so(e,!0,-1)&&(f=!0,e.lineIndent>t?h=1:e.lineIndent===t?h=0:e.lineIndent<t&&(h=-1)),1===h)for(;po(e)||ho(e);)so(e,!0,-1)?(f=!0,s=a,e.lineIndent>t?h=1:e.lineIndent===t?h=0:e.lineIndent<t&&(h=-1)):s=!1;if(s&&(s=f||o),1!==h&&4!==r||(p=1===r||2===r?t:t+1,d=e.position-e.lineStart,1===h?s&&(uo(e,d)||function(e,t,r){var n,o,a,i,s,l=e.tag,c=e.anchor,u={},p={},d=null,h=null,f=null,m=!1,g=!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=u),s=e.input.charCodeAt(e.position);0!==s;){if(n=e.input.charCodeAt(e.position+1),a=e.line,i=e.position,63!==s&&58!==s||!Hn(n)){if(!fo(e,r,2,!1,!0))break;if(e.line===a){for(s=e.input.charCodeAt(e.position);Mn(s);)s=e.input.charCodeAt(++e.position);if(58===s)Hn(s=e.input.charCodeAt(++e.position))||eo(e,"a whitespace character is expected after the key-value separator within a block mapping"),m&&(ao(e,u,p,d,h,null),d=h=f=null),g=!0,m=!1,o=!1,d=e.tag,h=e.result;else{if(!g)return e.tag=l,e.anchor=c,!0;eo(e,"can not read an implicit mapping pair; a colon is missed")}}else{if(!g)return e.tag=l,e.anchor=c,!0;eo(e,"can not read a block mapping entry; a multiline key may not be an implicit key")}}else 63===s?(m&&(ao(e,u,p,d,h,null),d=h=f=null),g=!0,m=!0,o=!0):m?(m=!1,o=!0):eo(e,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),e.position+=1,s=n;if((e.line===a||e.lineIndent>t)&&(fo(e,t,4,!0,o)&&(m?h=e.result:f=e.result),m||(ao(e,u,p,d,h,f,a,i),d=h=f=null),so(e,!0,-1),s=e.input.charCodeAt(e.position)),e.lineIndent>t&&0!==s)eo(e,"bad indentation of a mapping entry");else if(e.lineIndent<t)break}return m&&ao(e,u,p,d,h,null),g&&(e.tag=l,e.anchor=c,e.kind="mapping",e.result=u),g}(e,d,p))||function(e,t){var r,n,o,a,i,s,l,c,u,p,d=!0,h=e.tag,f=e.anchor,m={};if(91===(p=e.input.charCodeAt(e.position)))o=93,s=!1,n=[];else{if(123!==p)return!1;o=125,s=!0,n={}}for(null!==e.anchor&&(e.anchorMap[e.anchor]=n),p=e.input.charCodeAt(++e.position);0!==p;){if(so(e,!0,t),(p=e.input.charCodeAt(e.position))===o)return e.position++,e.tag=h,e.anchor=f,e.kind=s?"mapping":"sequence",e.result=n,!0;d||eo(e,"missed comma between flow collection entries"),u=null,a=i=!1,63===p&&Hn(e.input.charCodeAt(e.position+1))&&(a=i=!0,e.position++,so(e,!0,t)),r=e.line,fo(e,t,1,!1,!0),c=e.tag,l=e.result,so(e,!0,t),p=e.input.charCodeAt(e.position),!i&&e.line!==r||58!==p||(a=!0,p=e.input.charCodeAt(++e.position),so(e,!0,t),fo(e,t,1,!1,!0),u=e.result),s?ao(e,n,m,c,l,u):a?n.push(ao(e,null,m,c,l,u)):n.push(l),so(e,!0,t),44===(p=e.input.charCodeAt(e.position))?(d=!0,p=e.input.charCodeAt(++e.position)):d=!1}eo(e,"unexpected end of the stream within a flow collection")}(e,p)?m=!0:(i&&function(e,t){var r,n,o,a,i,s=1,l=!1,c=!1,u=t,p=0,d=!1;if(124===(a=e.input.charCodeAt(e.position)))n=!1;else{if(62!==a)return!1;n=!0}for(e.kind="scalar",e.result="";0!==a;)if(43===(a=e.input.charCodeAt(++e.position))||45===a)1===s?s=43===a?3:2:eo(e,"repeat of a chomping mode identifier");else{if(!((o=48<=(i=a)&&i<=57?i-48:-1)>=0))break;0===o?eo(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):c?eo(e,"repeat of an indentation width identifier"):(u=t+o-1,c=!0)}if(Mn(a)){do{a=e.input.charCodeAt(++e.position)}while(Mn(a));if(35===a)do{a=e.input.charCodeAt(++e.position)}while(!Un(a)&&0!==a)}for(;0!==a;){for(io(e),e.lineIndent=0,a=e.input.charCodeAt(e.position);(!c||e.lineIndent<u)&&32===a;)e.lineIndent++,a=e.input.charCodeAt(++e.position);if(!c&&e.lineIndent>u&&(u=e.lineIndent),Un(a))p++;else{if(e.lineIndent<u){3===s?e.result+=Kr.repeat("\n",l?1+p:p):1===s&&l&&(e.result+="\n");break}for(n?Mn(a)?(d=!0,e.result+=Kr.repeat("\n",l?1+p:p)):d?(d=!1,e.result+=Kr.repeat("\n",p+1)):0===p?l&&(e.result+=" "):e.result+=Kr.repeat("\n",p):e.result+=Kr.repeat("\n",l?1+p:p),l=!0,c=!0,p=0,r=e.position;!Un(a)&&0!==a;)a=e.input.charCodeAt(++e.position);no(e,r,e.position,!1)}}return!0}(e,p)||function(e,t){var r,n,o;if(39!==(r=e.input.charCodeAt(e.position)))return!1;for(e.kind="scalar",e.result="",e.position++,n=o=e.position;0!==(r=e.input.charCodeAt(e.position));)if(39===r){if(no(e,n,e.position,!0),39!==(r=e.input.charCodeAt(++e.position)))return!0;n=e.position,e.position++,o=e.position}else Un(r)?(no(e,n,o,!0),co(e,so(e,!1,t)),n=o=e.position):e.position===e.lineStart&&lo(e)?eo(e,"unexpected end of the document within a single quoted scalar"):(e.position++,o=e.position);eo(e,"unexpected end of the stream within a single quoted scalar")}(e,p)||function(e,t){var r,n,o,a,i,s,l;if(34!==(s=e.input.charCodeAt(e.position)))return!1;for(e.kind="scalar",e.result="",e.position++,r=n=e.position;0!==(s=e.input.charCodeAt(e.position));){if(34===s)return no(e,r,e.position,!0),e.position++,!0;if(92===s){if(no(e,r,e.position,!0),Un(s=e.input.charCodeAt(++e.position)))so(e,!1,t);else if(s<256&&Gn[s])e.result+=Jn[s],e.position++;else if((i=120===(l=s)?2:117===l?4:85===l?8:0)>0){for(o=i,a=0;o>0;o--)(i=Wn(s=e.input.charCodeAt(++e.position)))>=0?a=(a<<4)+i:eo(e,"expected hexadecimal character");e.result+=Kn(a),e.position++}else eo(e,"unknown escape sequence");r=n=e.position}else Un(s)?(no(e,r,n,!0),co(e,so(e,!1,t)),r=n=e.position):e.position===e.lineStart&&lo(e)?eo(e,"unexpected end of the document within a double quoted scalar"):(e.position++,n=e.position)}eo(e,"unexpected end of the stream within a double quoted scalar")}(e,p)?m=!0:function(e){var t,r,n;if(42!==(n=e.input.charCodeAt(e.position)))return!1;for(n=e.input.charCodeAt(++e.position),t=e.position;0!==n&&!Hn(n)&&!Vn(n);)n=e.input.charCodeAt(++e.position);return e.position===t&&eo(e,"name of an alias node must contain at least one character"),r=e.input.slice(t,e.position),Bn.call(e.anchorMap,r)||eo(e,'unidentified alias "'+r+'"'),e.result=e.anchorMap[r],so(e,!0,-1),!0}(e)?(m=!0,null===e.tag&&null===e.anchor||eo(e,"alias node should not have any properties")):function(e,t,r){var n,o,a,i,s,l,c,u,p=e.kind,d=e.result;if(Hn(u=e.input.charCodeAt(e.position))||Vn(u)||35===u||38===u||42===u||33===u||124===u||62===u||39===u||34===u||37===u||64===u||96===u)return!1;if((63===u||45===u)&&(Hn(n=e.input.charCodeAt(e.position+1))||r&&Vn(n)))return!1;for(e.kind="scalar",e.result="",o=a=e.position,i=!1;0!==u;){if(58===u){if(Hn(n=e.input.charCodeAt(e.position+1))||r&&Vn(n))break}else if(35===u){if(Hn(e.input.charCodeAt(e.position-1)))break}else{if(e.position===e.lineStart&&lo(e)||r&&Vn(u))break;if(Un(u)){if(s=e.line,l=e.lineStart,c=e.lineIndent,so(e,!1,-1),e.lineIndent>=t){i=!0,u=e.input.charCodeAt(e.position);continue}e.position=a,e.line=s,e.lineStart=l,e.lineIndent=c;break}}i&&(no(e,o,a,!1),co(e,e.line-s),o=a=e.position,i=!1),Mn(u)||(a=e.position+1),u=e.input.charCodeAt(++e.position)}return no(e,o,a,!1),!!e.result||(e.kind=p,e.result=d,!1)}(e,p,1===r)&&(m=!0,null===e.tag&&(e.tag="?")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===h&&(m=s&&uo(e,d))),null!==e.tag&&"!"!==e.tag)if("?"===e.tag){for(null!==e.result&&"scalar"!==e.kind&&eo(e,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+e.kind+'"'),l=0,c=e.implicitTypes.length;l<c;l+=1)if((u=e.implicitTypes[l]).resolve(e.result)){e.result=u.construct(e.result),e.tag=u.tag,null!==e.anchor&&(e.anchorMap[e.anchor]=e.result);break}}else Bn.call(e.typeMap[e.kind||"fallback"],e.tag)?(u=e.typeMap[e.kind||"fallback"][e.tag],null!==e.result&&u.kind!==e.kind&&eo(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+u.kind+'", not "'+e.kind+'"'),u.resolve(e.result)?(e.result=u.construct(e.result),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):eo(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")):eo(e,"unknown tag !<"+e.tag+">");return null!==e.listener&&e.listener("close",e),null!==e.tag||null!==e.anchor||m}function mo(e){var t,r,n,o,a=e.position,i=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap={},e.anchorMap={};0!==(o=e.input.charCodeAt(e.position))&&(so(e,!0,-1),o=e.input.charCodeAt(e.position),!(e.lineIndent>0||37!==o));){for(i=!0,o=e.input.charCodeAt(++e.position),t=e.position;0!==o&&!Hn(o);)o=e.input.charCodeAt(++e.position);for(n=[],(r=e.input.slice(t,e.position)).length<1&&eo(e,"directive name must not be less than one character in length");0!==o;){for(;Mn(o);)o=e.input.charCodeAt(++e.position);if(35===o){do{o=e.input.charCodeAt(++e.position)}while(0!==o&&!Un(o));break}if(Un(o))break;for(t=e.position;0!==o&&!Hn(o);)o=e.input.charCodeAt(++e.position);n.push(e.input.slice(t,e.position))}0!==o&&io(e),Bn.call(ro,r)?ro[r](e,r,n):to(e,'unknown document directive "'+r+'"')}so(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,so(e,!0,-1)):i&&eo(e,"directives end mark is expected"),fo(e,e.lineIndent-1,4,!1,!0),so(e,!0,-1),e.checkLineBreaks&&Rn.test(e.input.slice(a,e.position))&&to(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&lo(e)?46===e.input.charCodeAt(e.position)&&(e.position+=3,so(e,!0,-1)):e.position<e.length-1&&eo(e,"end of the stream or a document separator is expected")}function go(e,t){t=t||{},0!==(e=String(e)).length&&(10!==e.charCodeAt(e.length-1)&&13!==e.charCodeAt(e.length-1)&&(e+="\n"),65279===e.charCodeAt(0)&&(e=e.slice(1)));var r=new Xn(e,t),n=e.indexOf("\0");for(-1!==n&&(r.position=n,eo(r,"null byte is not allowed in input")),r.input+="\0";32===r.input.charCodeAt(r.position);)r.lineIndent+=1,r.position+=1;for(;r.position<r.length-1;)mo(r);return r.documents}function yo(e,t,r){null!==t&&"object"==typeof t&&void 0===r&&(r=t,t=null);var n=go(e,r);if("function"!=typeof t)return n;for(var o=0,a=n.length;o<a;o+=1)t(n[o])}function bo(e,t){var r=go(e,t);if(0!==r.length){if(1===r.length)return r[0];throw new Jr("expected a single document in the stream, but found more")}}var vo={loadAll:yo,load:bo,safeLoadAll:function(e,t,r){return"object"==typeof t&&null!==t&&void 0===r&&(r=t,t=null),yo(e,t,Kr.extend({schema:_n},r))},safeLoad:function(e,t){return bo(e,Kr.extend({schema:_n},t))}},xo=Object.prototype.toString,wo=Object.prototype.hasOwnProperty,ko={0:"\\0",7:"\\a",8:"\\b",9:"\\t",10:"\\n",11:"\\v",12:"\\f",13:"\\r",27:"\\e",34:'\\"',92:"\\\\",133:"\\N",160:"\\_",8232:"\\L",8233:"\\P"},Ao=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function $o(e){var t,r,n;if(t=e.toString(16).toUpperCase(),e<=255)r="x",n=2;else if(e<=65535)r="u",n=4;else{if(!(e<=4294967295))throw new Jr("code point within a string may not be greater than 0xFFFFFFFF");r="U",n=8}return"\\"+r+Kr.repeat("0",n-t.length)+t}function Eo(e){this.schema=e.schema||Pn,this.indent=Math.max(1,e.indent||2),this.noArrayIndent=e.noArrayIndent||!1,this.skipInvalid=e.skipInvalid||!1,this.flowLevel=Kr.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=function(e,t){var r,n,o,a,i,s,l;if(null===t)return{};for(r={},o=0,a=(n=Object.keys(t)).length;o<a;o+=1)i=n[o],s=String(t[i]),"!!"===i.slice(0,2)&&(i="tag:yaml.org,2002:"+i.slice(2)),(l=e.compiledTypeMap.fallback[i])&&wo.call(l.styleAliases,s)&&(s=l.styleAliases[s]),r[i]=s;return r}(this.schema,e.styles||null),this.sortKeys=e.sortKeys||!1,this.lineWidth=e.lineWidth||80,this.noRefs=e.noRefs||!1,this.noCompatMode=e.noCompatMode||!1,this.condenseFlow=e.condenseFlow||!1,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function So(e,t){for(var r,n=Kr.repeat(" ",t),o=0,a=-1,i="",s=e.length;o<s;)-1===(a=e.indexOf("\n",o))?(r=e.slice(o),o=s):(r=e.slice(o,a+1),o=a+1),r.length&&"\n"!==r&&(i+=n),i+=r;return i}function Do(e,t){return"\n"+Kr.repeat(" ",e.indent*t)}function Oo(e){return 32===e||9===e}function Co(e){return 32<=e&&e<=126||161<=e&&e<=55295&&8232!==e&&8233!==e||57344<=e&&e<=65533&&65279!==e||65536<=e&&e<=1114111}function _o(e,t){return Co(e)&&65279!==e&&44!==e&&91!==e&&93!==e&&123!==e&&125!==e&&58!==e&&(35!==e||t&&function(e){return Co(e)&&!Oo(e)&&65279!==e&&13!==e&&10!==e}(t))}function jo(e){return/^\n* /.test(e)}function To(e,t,r,n){e.dump=function(){if(0===t.length)return"''";if(!e.noCompatMode&&-1!==Ao.indexOf(t))return"'"+t+"'";var o=e.indent*Math.max(1,r),a=-1===e.lineWidth?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-o),i=n||e.flowLevel>-1&&r>=e.flowLevel;switch(function(e,t,r,n,o){var a,i,s,l,c=!1,u=!1,p=-1!==n,d=-1,h=Co(l=e.charCodeAt(0))&&65279!==l&&!Oo(l)&&45!==l&&63!==l&&58!==l&&44!==l&&91!==l&&93!==l&&123!==l&&125!==l&&35!==l&&38!==l&&42!==l&&33!==l&&124!==l&&61!==l&&62!==l&&39!==l&&34!==l&&37!==l&&64!==l&&96!==l&&!Oo(e.charCodeAt(e.length-1));if(t)for(a=0;a<e.length;a++){if(!Co(i=e.charCodeAt(a)))return 5;s=a>0?e.charCodeAt(a-1):null,h=h&&_o(i,s)}else{for(a=0;a<e.length;a++){if(10===(i=e.charCodeAt(a)))c=!0,p&&(u=u||a-d-1>n&&" "!==e[d+1],d=a);else if(!Co(i))return 5;s=a>0?e.charCodeAt(a-1):null,h=h&&_o(i,s)}u=u||p&&a-d-1>n&&" "!==e[d+1]}return c||u?r>9&&jo(e)?5:u?4:3:h&&!o(e)?1:2}(t,i,e.indent,a,(function(t){return function(e,t){var r,n;for(r=0,n=e.implicitTypes.length;r<n;r+=1)if(e.implicitTypes[r].resolve(t))return!0;return!1}(e,t)}))){case 1:return t;case 2:return"'"+t.replace(/'/g,"''")+"'";case 3:return"|"+Fo(t,e.indent)+Po(So(t,o));case 4:return">"+Fo(t,e.indent)+Po(So(function(e,t){for(var r,n,o,a=/(\n+)([^\n]*)/g,i=(o=-1!==(o=e.indexOf("\n"))?o:e.length,a.lastIndex=o,Bo(e.slice(0,o),t)),s="\n"===e[0]||" "===e[0];n=a.exec(e);){var l=n[1],c=n[2];r=" "===c[0],i+=l+(s||r||""===c?"":"\n")+Bo(c,t),s=r}return i}(t,a),o));case 5:return'"'+function(e){for(var t,r,n,o="",a=0;a<e.length;a++)(t=e.charCodeAt(a))>=55296&&t<=56319&&(r=e.charCodeAt(a+1))>=56320&&r<=57343?(o+=$o(1024*(t-55296)+r-56320+65536),a++):o+=!(n=ko[t])&&Co(t)?e[a]:n||$o(t);return o}(t)+'"';default:throw new Jr("impossible error: invalid scalar style")}}()}function Fo(e,t){var r=jo(e)?String(t):"",n="\n"===e[e.length-1];return r+(!n||"\n"!==e[e.length-2]&&"\n"!==e?n?"":"-":"+")+"\n"}function Po(e){return"\n"===e[e.length-1]?e.slice(0,-1):e}function Bo(e,t){if(""===e||" "===e[0])return e;for(var r,n,o=/ [^ ]/g,a=0,i=0,s=0,l="";r=o.exec(e);)(s=r.index)-a>t&&(n=i>a?i:s,l+="\n"+e.slice(a,n),a=n+1),i=s;return l+="\n",e.length-a>t&&i>a?l+=e.slice(a,i)+"\n"+e.slice(i+1):l+=e.slice(a),l.slice(1)}function Io(e,t,r){var n,o,a,i,s,l;for(a=0,i=(o=r?e.explicitTypes:e.implicitTypes).length;a<i;a+=1)if(((s=o[a]).instanceOf||s.predicate)&&(!s.instanceOf||"object"==typeof t&&t instanceof s.instanceOf)&&(!s.predicate||s.predicate(t))){if(e.tag=r?s.tag:"?",s.represent){if(l=e.styleMap[s.tag]||s.defaultStyle,"[object Function]"===xo.call(s.represent))n=s.represent(t,l);else{if(!wo.call(s.represent,l))throw new Jr("!<"+s.tag+'> tag resolver accepts not "'+l+'" style');n=s.represent[l](t,l)}e.dump=n}return!0}return!1}function Ro(e,t,r,n,o,a){e.tag=null,e.dump=r,Io(e,r,!1)||Io(e,r,!0);var i=xo.call(e.dump);n&&(n=e.flowLevel<0||e.flowLevel>t);var s,l,c="[object Object]"===i||"[object Array]"===i;if(c&&(l=-1!==(s=e.duplicates.indexOf(r))),(null!==e.tag&&"?"!==e.tag||l||2!==e.indent&&t>0)&&(o=!1),l&&e.usedDuplicates[s])e.dump="*ref_"+s;else{if(c&&l&&!e.usedDuplicates[s]&&(e.usedDuplicates[s]=!0),"[object Object]"===i)n&&0!==Object.keys(e.dump).length?(function(e,t,r,n){var o,a,i,s,l,c,u="",p=e.tag,d=Object.keys(r);if(!0===e.sortKeys)d.sort();else if("function"==typeof e.sortKeys)d.sort(e.sortKeys);else if(e.sortKeys)throw new Jr("sortKeys must be a boolean or a function");for(o=0,a=d.length;o<a;o+=1)c="",n&&0===o||(c+=Do(e,t)),s=r[i=d[o]],Ro(e,t+1,i,!0,!0,!0)&&((l=null!==e.tag&&"?"!==e.tag||e.dump&&e.dump.length>1024)&&(e.dump&&10===e.dump.charCodeAt(0)?c+="?":c+="? "),c+=e.dump,l&&(c+=Do(e,t)),Ro(e,t+1,s,!0,l)&&(e.dump&&10===e.dump.charCodeAt(0)?c+=":":c+=": ",u+=c+=e.dump));e.tag=p,e.dump=u||"{}"}(e,t,e.dump,o),l&&(e.dump="&ref_"+s+e.dump)):(function(e,t,r){var n,o,a,i,s,l="",c=e.tag,u=Object.keys(r);for(n=0,o=u.length;n<o;n+=1)s="",0!==n&&(s+=", "),e.condenseFlow&&(s+='"'),i=r[a=u[n]],Ro(e,t,a,!1,!1)&&(e.dump.length>1024&&(s+="? "),s+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),Ro(e,t,i,!1,!1)&&(l+=s+=e.dump));e.tag=c,e.dump="{"+l+"}"}(e,t,e.dump),l&&(e.dump="&ref_"+s+" "+e.dump));else if("[object Array]"===i){var u=e.noArrayIndent&&t>0?t-1:t;n&&0!==e.dump.length?(function(e,t,r,n){var o,a,i="",s=e.tag;for(o=0,a=r.length;o<a;o+=1)Ro(e,t+1,r[o],!0,!0)&&(n&&0===o||(i+=Do(e,t)),e.dump&&10===e.dump.charCodeAt(0)?i+="-":i+="- ",i+=e.dump);e.tag=s,e.dump=i||"[]"}(e,u,e.dump,o),l&&(e.dump="&ref_"+s+e.dump)):(function(e,t,r){var n,o,a="",i=e.tag;for(n=0,o=r.length;n<o;n+=1)Ro(e,t,r[n],!1,!1)&&(0!==n&&(a+=","+(e.condenseFlow?"":" ")),a+=e.dump);e.tag=i,e.dump="["+a+"]"}(e,u,e.dump),l&&(e.dump="&ref_"+s+" "+e.dump))}else{if("[object String]"!==i){if(e.skipInvalid)return!1;throw new Jr("unacceptable kind of an object to dump "+i)}"?"!==e.tag&&To(e,e.dump,t,a)}null!==e.tag&&"?"!==e.tag&&(e.dump="!<"+e.tag+"> "+e.dump)}return!0}function No(e,t){var r,n,o=[],a=[];for(Lo(e,o,a),r=0,n=a.length;r<n;r+=1)t.duplicates.push(o[a[r]]);t.usedDuplicates=new Array(n)}function Lo(e,t,r){var n,o,a;if(null!==e&&"object"==typeof e)if(-1!==(o=t.indexOf(e)))-1===r.indexOf(o)&&r.push(o);else if(t.push(e),Array.isArray(e))for(o=0,a=e.length;o<a;o+=1)Lo(e[o],t,r);else for(o=0,a=(n=Object.keys(e)).length;o<a;o+=1)Lo(e[n[o]],t,r)}function qo(e,t){var r=new Eo(t=t||{});return r.noRefs||No(e,r),Ro(r,0,e,!0,!0)?r.dump+"\n":""}var zo={dump:qo,safeDump:function(e,t){return qo(e,Kr.extend({schema:_n},t))}};function Uo(e){return function(){throw new Error("Function "+e+" is deprecated and cannot be used.")}}var Mo={Type:tn,Schema:on,FAILSAFE_SCHEMA:an,JSON_SCHEMA:mn,CORE_SCHEMA:gn,DEFAULT_SAFE_SCHEMA:_n,DEFAULT_FULL_SCHEMA:Pn,load:vo.load,loadAll:vo.loadAll,safeLoad:vo.safeLoad,safeLoadAll:vo.safeLoadAll,dump:zo.dump,safeDump:zo.safeDump,YAMLException:Jr,MINIMAL_SCHEMA:an,SAFE_SCHEMA:_n,DEFAULT_SCHEMA:Pn,scan:Uo("scan"),parse:Uo("parse"),compose:Uo("compose"),addConstructor:Uo("addConstructor")},Ho=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Vo=/^\w*$/,Wo=function(e,t){if(yt(e))return!1;var r=typeof e;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!Pt(e))||Vo.test(e)||!Ho.test(e)||null!=t&&e in Object(t)},Yo=He(Object,"create"),Ko=Object.prototype.hasOwnProperty,Go=Object.prototype.hasOwnProperty;function Jo(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}Jo.prototype.clear=function(){this.__data__=Yo?Yo(null):{},this.size=0},Jo.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},Jo.prototype.get=function(e){var t=this.__data__;if(Yo){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return Ko.call(t,e)?t[e]:void 0},Jo.prototype.has=function(e){var t=this.__data__;return Yo?void 0!==t[e]:Go.call(t,e)},Jo.prototype.set=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Yo&&void 0===t?"__lodash_hash_undefined__":t,this};var Zo=Jo,Xo=function(e,t){for(var r=e.length;r--;)if(Ye(e[r][0],t))return r;return-1},Qo=Array.prototype.splice;function ea(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}ea.prototype.clear=function(){this.__data__=[],this.size=0},ea.prototype.delete=function(e){var t=this.__data__,r=Xo(t,e);return!(r<0||(r==t.length-1?t.pop():Qo.call(t,r,1),--this.size,0))},ea.prototype.get=function(e){var t=this.__data__,r=Xo(t,e);return r<0?void 0:t[r][1]},ea.prototype.has=function(e){return Xo(this.__data__,e)>-1},ea.prototype.set=function(e,t){var r=this.__data__,n=Xo(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this};var ta=ea,ra=He(ke,"Map"),na=function(e,t){var r=e.__data__;return function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}(t)?r["string"==typeof t?"string":"hash"]:r.map};function oa(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}oa.prototype.clear=function(){this.size=0,this.__data__={hash:new Zo,map:new(ra||ta),string:new Zo}},oa.prototype.delete=function(e){var t=na(this,e).delete(e);return this.size-=t?1:0,t},oa.prototype.get=function(e){return na(this,e).get(e)},oa.prototype.has=function(e){return na(this,e).has(e)},oa.prototype.set=function(e,t){var r=na(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this};var aa=oa;function ia(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var r=function(){var n=arguments,o=t?t.apply(this,n):n[0],a=r.cache;if(a.has(o))return a.get(o);var i=e.apply(this,n);return r.cache=a.set(o,i)||a,i};return r.cache=new(ia.Cache||aa),r}ia.Cache=aa;for(var sa=ia,la=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ca=/\\(\\)?/g,ua=function(e){var t=sa((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(la,(function(e,r,n,o){t.push(n?o.replace(ca,"$1"):r||e)})),t}),(function(e){return 500===r.size&&r.clear(),e})),r=t.cache;return t}(),pa=function(e,t){return yt(e)?e:Wo(e,t)?[e]:ua(Yt(e))},da=function(e){if("string"==typeof e||Pt(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t},ha=function(e,t){for(var r=0,n=(t=pa(t,e)).length;null!=e&&r<n;)e=e[da(t[r++])];return r&&r==n?e:void 0},fa=function(e,t,r,n){if(!je(e))return e;for(var o=-1,a=(t=pa(t,e)).length,i=a-1,s=e;null!=s&&++o<a;){var l=da(t[o]),c=r;if("__proto__"===l||"constructor"===l||"prototype"===l)return e;if(o!=i){var u=s[l];void 0===(c=n?n(u,l,s):void 0)&&(c=je(u)?u:lt(t[o+1])?[]:{})}Ge(s,l,c),s=s[l]}return e},ma=function(e,t){return null!=e&&t in Object(e)},ga=function(e,t){return null!=e&&function(e,t,r){for(var n=-1,o=(t=pa(t,e)).length,a=!1;++n<o;){var i=da(t[n]);if(!(a=null!=e&&r(e,i)))break;e=e[i]}return a||++n!=o?a:!!(o=null==e?0:e.length)&&at(o)&&lt(i,o)&&(yt(e)||gt(e))}(e,t,ma)},ya=function(e,t){return function(e,t,r){for(var n=-1,o=t.length,a={};++n<o;){var i=t[n],s=ha(e,i);r(s,i)&&fa(a,pa(i,e),s)}return a}(e,t,(function(t,r){return ga(e,r)}))},ba=function(e,t){for(var r=-1,n=t.length,o=e.length;++r<n;)e[o+r]=t[r];return e},va=Ae?Ae.isConcatSpreadable:void 0,xa=function(e){return yt(e)||gt(e)||!!(va&&e&&e[va])},wa=function e(t,r,n,o,a){var i=-1,s=t.length;for(n||(n=xa),a||(a=[]);++i<s;){var l=t[i];r>0&&n(l)?r>1?e(l,r-1,n,o,a):ba(a,l):o||(a[a.length]=l)}return a},ka=function(e){return null!=e&&e.length?wa(e,1):[]},Aa=function(e){return ot(et(e,void 0,ka),e+"")}((function(e,t){return null==e?{}:ya(e,t)})),$a=[],Ea=[],Sa="undefined"!=typeof Uint8Array?Uint8Array:Array,Da="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Oa=0,Ca=Da.length;Oa<Ca;++Oa)$a[Oa]=Da[Oa],Ea[Da.charCodeAt(Oa)]=Oa;function _a(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function ja(e,t,r){for(var n,o,a=[],i=t;i<r;i+=3)n=(e[i]<<16&16711680)+(e[i+1]<<8&65280)+(255&e[i+2]),a.push($a[(o=n)>>18&63]+$a[o>>12&63]+$a[o>>6&63]+$a[63&o]);return a.join("")}Ea["-".charCodeAt(0)]=62,Ea["_".charCodeAt(0)]=63;var Ta=function(e){var t,r,n=_a(e),o=n[0],a=n[1],i=new Sa(function(e,t,r){return 3*(t+r)/4-r}(0,o,a)),s=0,l=a>0?o-4:o;for(r=0;r<l;r+=4)t=Ea[e.charCodeAt(r)]<<18|Ea[e.charCodeAt(r+1)]<<12|Ea[e.charCodeAt(r+2)]<<6|Ea[e.charCodeAt(r+3)],i[s++]=t>>16&255,i[s++]=t>>8&255,i[s++]=255&t;return 2===a&&(t=Ea[e.charCodeAt(r)]<<2|Ea[e.charCodeAt(r+1)]>>4,i[s++]=255&t),1===a&&(t=Ea[e.charCodeAt(r)]<<10|Ea[e.charCodeAt(r+1)]<<4|Ea[e.charCodeAt(r+2)]>>2,i[s++]=t>>8&255,i[s++]=255&t),i},Fa=function(e){for(var t,r=e.length,n=r%3,o=[],a=16383,i=0,s=r-n;i<s;i+=a)o.push(ja(e,i,i+a>s?s:i+a));return 1===n?(t=e[r-1],o.push($a[t>>2]+$a[t<<4&63]+"==")):2===n&&(t=(e[r-2]<<8)+e[r-1],o.push($a[t>>10]+$a[t>>4&63]+$a[t<<2&63]+"=")),o.join("")},Pa=function(e,t,r,n,o){var a,i,s=8*o-n-1,l=(1<<s)-1,c=l>>1,u=-7,p=r?o-1:0,d=r?-1:1,h=e[t+p];for(p+=d,a=h&(1<<-u)-1,h>>=-u,u+=s;u>0;a=256*a+e[t+p],p+=d,u-=8);for(i=a&(1<<-u)-1,a>>=-u,u+=n;u>0;i=256*i+e[t+p],p+=d,u-=8);if(0===a)a=1-c;else{if(a===l)return i?NaN:1/0*(h?-1:1);i+=Math.pow(2,n),a-=c}return(h?-1:1)*i*Math.pow(2,a-n)},Ba=function(e,t,r,n,o,a){var i,s,l,c=8*a-o-1,u=(1<<c)-1,p=u>>1,d=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,h=n?0:a-1,f=n?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,i=u):(i=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-i))<1&&(i--,l*=2),(t+=i+p>=1?d/l:d*Math.pow(2,1-p))*l>=2&&(i++,l/=2),i+p>=u?(s=0,i=u):i+p>=1?(s=(t*l-1)*Math.pow(2,o),i+=p):(s=t*Math.pow(2,p-1)*Math.pow(2,o),i=0));o>=8;e[r+h]=255&s,h+=f,s/=256,o-=8);for(i=i<<o|s,c+=o;c>0;e[r+h]=255&i,h+=f,i/=256,c-=8);e[r+h-f]|=128*m},Ia=ye((function(e,t){const r="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=a,t.SlowBuffer=function(e){return+e!=e&&(e=0),a.alloc(+e)},t.INSPECT_MAX_BYTES=50;const n=2147483647;function o(e){if(e>n)throw new RangeError('The value "'+e+'" is invalid for option "size"');const t=new Uint8Array(e);return Object.setPrototypeOf(t,a.prototype),t}function a(e,t,r){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return l(e)}return i(e,t,r)}function i(e,t,r){if("string"==typeof e)return function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!a.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const r=0|d(e,t);let n=o(r);const i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}(e,t);if(ArrayBuffer.isView(e))return function(e){if(W(e,Uint8Array)){const t=new Uint8Array(e);return u(t.buffer,t.byteOffset,t.byteLength)}return c(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(W(e,ArrayBuffer)||e&&W(e.buffer,ArrayBuffer))return u(e,t,r);if("undefined"!=typeof SharedArrayBuffer&&(W(e,SharedArrayBuffer)||e&&W(e.buffer,SharedArrayBuffer)))return u(e,t,r);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');const n=e.valueOf&&e.valueOf();if(null!=n&&n!==e)return a.from(n,t,r);const i=function(e){if(a.isBuffer(e)){const t=0|p(e.length),r=o(t);return 0===r.length||e.copy(r,0,0,t),r}return void 0!==e.length?"number"!=typeof e.length||Y(e.length)?o(0):c(e):"Buffer"===e.type&&Array.isArray(e.data)?c(e.data):void 0}(e);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return a.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function s(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function l(e){return s(e),o(e<0?0:0|p(e))}function c(e){const t=e.length<0?0:0|p(e.length),r=o(t);for(let n=0;n<t;n+=1)r[n]=255&e[n];return r}function u(e,t,r){if(t<0||e.byteLength<t)throw new RangeError('"offset" is outside of buffer bounds');if(e.byteLength<t+(r||0))throw new RangeError('"length" is outside of buffer bounds');let n;return n=void 0===t&&void 0===r?new Uint8Array(e):void 0===r?new Uint8Array(e,t):new Uint8Array(e,t,r),Object.setPrototypeOf(n,a.prototype),n}function p(e){if(e>=n)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+n.toString(16)+" bytes");return 0|e}function d(e,t){if(a.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||W(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);const r=e.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;let o=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return M(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return H(e).length;default:if(o)return n?-1:M(e).length;t=(""+t).toLowerCase(),o=!0}}function h(e,t,r){let n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return D(this,t,r);case"utf8":case"utf-8":return A(this,t,r);case"ascii":return E(this,t,r);case"latin1":case"binary":return S(this,t,r);case"base64":return k(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return O(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function f(e,t,r){const n=e[t];e[t]=e[r],e[r]=n}function m(e,t,r,n,o){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),Y(r=+r)&&(r=o?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(o)return-1;r=e.length-1}else if(r<0){if(!o)return-1;r=0}if("string"==typeof t&&(t=a.from(t,n)),a.isBuffer(t))return 0===t.length?-1:g(e,t,r,n,o);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):g(e,[t],r,n,o);throw new TypeError("val must be string, number or Buffer")}function g(e,t,r,n,o){let a,i=1,s=e.length,l=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;i=2,s/=2,l/=2,r/=2}function c(e,t){return 1===i?e[t]:e.readUInt16BE(t*i)}if(o){let n=-1;for(a=r;a<s;a++)if(c(e,a)===c(t,-1===n?0:a-n)){if(-1===n&&(n=a),a-n+1===l)return n*i}else-1!==n&&(a-=a-n),n=-1}else for(r+l>s&&(r=s-l),a=r;a>=0;a--){let r=!0;for(let n=0;n<l;n++)if(c(e,a+n)!==c(t,n)){r=!1;break}if(r)return a}return-1}function y(e,t,r,n){r=Number(r)||0;const o=e.length-r;n?(n=Number(n))>o&&(n=o):n=o;const a=t.length;let i;for(n>a/2&&(n=a/2),i=0;i<n;++i){const n=parseInt(t.substr(2*i,2),16);if(Y(n))return i;e[r+i]=n}return i}function b(e,t,r,n){return V(M(t,e.length-r),e,r,n)}function v(e,t,r,n){return V(function(e){const t=[];for(let r=0;r<e.length;++r)t.push(255&e.charCodeAt(r));return t}(t),e,r,n)}function x(e,t,r,n){return V(H(t),e,r,n)}function w(e,t,r,n){return V(function(e,t){let r,n,o;const a=[];for(let i=0;i<e.length&&!((t-=2)<0);++i)r=e.charCodeAt(i),n=r>>8,o=r%256,a.push(o),a.push(n);return a}(t,e.length-r),e,r,n)}function k(e,t,r){return 0===t&&r===e.length?Fa(e):Fa(e.slice(t,r))}function A(e,t,r){r=Math.min(e.length,r);const n=[];let o=t;for(;o<r;){const t=e[o];let a=null,i=t>239?4:t>223?3:t>191?2:1;if(o+i<=r){let r,n,s,l;switch(i){case 1:t<128&&(a=t);break;case 2:r=e[o+1],128==(192&r)&&(l=(31&t)<<6|63&r,l>127&&(a=l));break;case 3:r=e[o+1],n=e[o+2],128==(192&r)&&128==(192&n)&&(l=(15&t)<<12|(63&r)<<6|63&n,l>2047&&(l<55296||l>57343)&&(a=l));break;case 4:r=e[o+1],n=e[o+2],s=e[o+3],128==(192&r)&&128==(192&n)&&128==(192&s)&&(l=(15&t)<<18|(63&r)<<12|(63&n)<<6|63&s,l>65535&&l<1114112&&(a=l))}}null===a?(a=65533,i=1):a>65535&&(a-=65536,n.push(a>>>10&1023|55296),a=56320|1023&a),n.push(a),o+=i}return function(e){const t=e.length;if(t<=$)return String.fromCharCode.apply(String,e);let r="",n=0;for(;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=$));return r}(n)}t.kMaxLength=n,a.TYPED_ARRAY_SUPPORT=function(){try{const e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),42===e.foo()}catch(e){return!1}}(),a.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}}),a.poolSize=8192,a.from=function(e,t,r){return i(e,t,r)},Object.setPrototypeOf(a.prototype,Uint8Array.prototype),Object.setPrototypeOf(a,Uint8Array),a.alloc=function(e,t,r){return function(e,t,r){return s(e),e<=0?o(e):void 0!==t?"string"==typeof r?o(e).fill(t,r):o(e).fill(t):o(e)}(e,t,r)},a.allocUnsafe=function(e){return l(e)},a.allocUnsafeSlow=function(e){return l(e)},a.isBuffer=function(e){return null!=e&&!0===e._isBuffer&&e!==a.prototype},a.compare=function(e,t){if(W(e,Uint8Array)&&(e=a.from(e,e.offset,e.byteLength)),W(t,Uint8Array)&&(t=a.from(t,t.offset,t.byteLength)),!a.isBuffer(e)||!a.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;let r=e.length,n=t.length;for(let o=0,a=Math.min(r,n);o<a;++o)if(e[o]!==t[o]){r=e[o],n=t[o];break}return r<n?-1:n<r?1:0},a.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},a.concat=function(e,t){if(!Array.isArray(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return a.alloc(0);let r;if(void 0===t)for(t=0,r=0;r<e.length;++r)t+=e[r].length;const n=a.allocUnsafe(t);let o=0;for(r=0;r<e.length;++r){let t=e[r];if(W(t,Uint8Array))o+t.length>n.length?(a.isBuffer(t)||(t=a.from(t)),t.copy(n,o)):Uint8Array.prototype.set.call(n,t,o);else{if(!a.isBuffer(t))throw new TypeError('"list" argument must be an Array of Buffers');t.copy(n,o)}o+=t.length}return n},a.byteLength=d,a.prototype._isBuffer=!0,a.prototype.swap16=function(){const e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;t<e;t+=2)f(this,t,t+1);return this},a.prototype.swap32=function(){const e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let t=0;t<e;t+=4)f(this,t,t+3),f(this,t+1,t+2);return this},a.prototype.swap64=function(){const e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let t=0;t<e;t+=8)f(this,t,t+7),f(this,t+1,t+6),f(this,t+2,t+5),f(this,t+3,t+4);return this},a.prototype.toString=function(){const e=this.length;return 0===e?"":0===arguments.length?A(this,0,e):h.apply(this,arguments)},a.prototype.toLocaleString=a.prototype.toString,a.prototype.equals=function(e){if(!a.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===a.compare(this,e)},a.prototype.inspect=function(){let e="";const r=t.INSPECT_MAX_BYTES;return e=this.toString("hex",0,r).replace(/(.{2})/g,"$1 ").trim(),this.length>r&&(e+=" ... "),"<Buffer "+e+">"},r&&(a.prototype[r]=a.prototype.inspect),a.prototype.compare=function(e,t,r,n,o){if(W(e,Uint8Array)&&(e=a.from(e,e.offset,e.byteLength)),!a.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===o&&(o=this.length),t<0||r>e.length||n<0||o>this.length)throw new RangeError("out of range index");if(n>=o&&t>=r)return 0;if(n>=o)return-1;if(t>=r)return 1;if(this===e)return 0;let i=(o>>>=0)-(n>>>=0),s=(r>>>=0)-(t>>>=0);const l=Math.min(i,s),c=this.slice(n,o),u=e.slice(t,r);for(let e=0;e<l;++e)if(c[e]!==u[e]){i=c[e],s=u[e];break}return i<s?-1:s<i?1:0},a.prototype.includes=function(e,t,r){return-1!==this.indexOf(e,t,r)},a.prototype.indexOf=function(e,t,r){return m(this,e,t,r,!0)},a.prototype.lastIndexOf=function(e,t,r){return m(this,e,t,r,!1)},a.prototype.write=function(e,t,r,n){if(void 0===t)n="utf8",r=this.length,t=0;else if(void 0===r&&"string"==typeof t)n=t,r=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t>>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}const o=this.length-t;if((void 0===r||r>o)&&(r=o),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let a=!1;for(;;)switch(n){case"hex":return y(this,e,t,r);case"utf8":case"utf-8":return b(this,e,t,r);case"ascii":case"latin1":case"binary":return v(this,e,t,r);case"base64":return x(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return w(this,e,t,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const $=4096;function E(e,t,r){let n="";r=Math.min(e.length,r);for(let o=t;o<r;++o)n+=String.fromCharCode(127&e[o]);return n}function S(e,t,r){let n="";r=Math.min(e.length,r);for(let o=t;o<r;++o)n+=String.fromCharCode(e[o]);return n}function D(e,t,r){const n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);let o="";for(let n=t;n<r;++n)o+=K[e[n]];return o}function O(e,t,r){const n=e.slice(t,r);let o="";for(let e=0;e<n.length-1;e+=2)o+=String.fromCharCode(n[e]+256*n[e+1]);return o}function C(e,t,r){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>r)throw new RangeError("Trying to access beyond buffer length")}function _(e,t,r,n,o,i){if(!a.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>o||t<i)throw new RangeError('"value" argument is out of bounds');if(r+n>e.length)throw new RangeError("Index out of range")}function j(e,t,r,n,o){L(t,n,o,e,r,7);let a=Number(t&BigInt(4294967295));e[r++]=a,a>>=8,e[r++]=a,a>>=8,e[r++]=a,a>>=8,e[r++]=a;let i=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=i,i>>=8,e[r++]=i,i>>=8,e[r++]=i,i>>=8,e[r++]=i,r}function T(e,t,r,n,o){L(t,n,o,e,r,7);let a=Number(t&BigInt(4294967295));e[r+7]=a,a>>=8,e[r+6]=a,a>>=8,e[r+5]=a,a>>=8,e[r+4]=a;let i=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=i,i>>=8,e[r+2]=i,i>>=8,e[r+1]=i,i>>=8,e[r]=i,r+8}function F(e,t,r,n,o,a){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function P(e,t,r,n,o){return t=+t,r>>>=0,o||F(e,0,r,4),Ba(e,t,r,n,23,4),r+4}function B(e,t,r,n,o){return t=+t,r>>>=0,o||F(e,0,r,8),Ba(e,t,r,n,52,8),r+8}a.prototype.slice=function(e,t){const r=this.length;(e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e);const n=this.subarray(e,t);return Object.setPrototypeOf(n,a.prototype),n},a.prototype.readUintLE=a.prototype.readUIntLE=function(e,t,r){e>>>=0,t>>>=0,r||C(e,t,this.length);let n=this[e],o=1,a=0;for(;++a<t&&(o*=256);)n+=this[e+a]*o;return n},a.prototype.readUintBE=a.prototype.readUIntBE=function(e,t,r){e>>>=0,t>>>=0,r||C(e,t,this.length);let n=this[e+--t],o=1;for(;t>0&&(o*=256);)n+=this[e+--t]*o;return n},a.prototype.readUint8=a.prototype.readUInt8=function(e,t){return e>>>=0,t||C(e,1,this.length),this[e]},a.prototype.readUint16LE=a.prototype.readUInt16LE=function(e,t){return e>>>=0,t||C(e,2,this.length),this[e]|this[e+1]<<8},a.prototype.readUint16BE=a.prototype.readUInt16BE=function(e,t){return e>>>=0,t||C(e,2,this.length),this[e]<<8|this[e+1]},a.prototype.readUint32LE=a.prototype.readUInt32LE=function(e,t){return e>>>=0,t||C(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},a.prototype.readUint32BE=a.prototype.readUInt32BE=function(e,t){return e>>>=0,t||C(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},a.prototype.readBigUInt64LE=G((function(e){q(e>>>=0,"offset");const t=this[e],r=this[e+7];void 0!==t&&void 0!==r||z(e,this.length-8);const n=t+256*this[++e]+65536*this[++e]+this[++e]*2**24,o=this[++e]+256*this[++e]+65536*this[++e]+r*2**24;return BigInt(n)+(BigInt(o)<<BigInt(32))})),a.prototype.readBigUInt64BE=G((function(e){q(e>>>=0,"offset");const t=this[e],r=this[e+7];void 0!==t&&void 0!==r||z(e,this.length-8);const n=t*2**24+65536*this[++e]+256*this[++e]+this[++e],o=this[++e]*2**24+65536*this[++e]+256*this[++e]+r;return(BigInt(n)<<BigInt(32))+BigInt(o)})),a.prototype.readIntLE=function(e,t,r){e>>>=0,t>>>=0,r||C(e,t,this.length);let n=this[e],o=1,a=0;for(;++a<t&&(o*=256);)n+=this[e+a]*o;return o*=128,n>=o&&(n-=Math.pow(2,8*t)),n},a.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||C(e,t,this.length);let n=t,o=1,a=this[e+--n];for(;n>0&&(o*=256);)a+=this[e+--n]*o;return o*=128,a>=o&&(a-=Math.pow(2,8*t)),a},a.prototype.readInt8=function(e,t){return e>>>=0,t||C(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},a.prototype.readInt16LE=function(e,t){e>>>=0,t||C(e,2,this.length);const r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},a.prototype.readInt16BE=function(e,t){e>>>=0,t||C(e,2,this.length);const r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},a.prototype.readInt32LE=function(e,t){return e>>>=0,t||C(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},a.prototype.readInt32BE=function(e,t){return e>>>=0,t||C(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},a.prototype.readBigInt64LE=G((function(e){q(e>>>=0,"offset");const t=this[e],r=this[e+7];void 0!==t&&void 0!==r||z(e,this.length-8);const n=this[e+4]+256*this[e+5]+65536*this[e+6]+(r<<24);return(BigInt(n)<<BigInt(32))+BigInt(t+256*this[++e]+65536*this[++e]+this[++e]*2**24)})),a.prototype.readBigInt64BE=G((function(e){q(e>>>=0,"offset");const t=this[e],r=this[e+7];void 0!==t&&void 0!==r||z(e,this.length-8);const n=(t<<24)+65536*this[++e]+256*this[++e]+this[++e];return(BigInt(n)<<BigInt(32))+BigInt(this[++e]*2**24+65536*this[++e]+256*this[++e]+r)})),a.prototype.readFloatLE=function(e,t){return e>>>=0,t||C(e,4,this.length),Pa(this,e,!0,23,4)},a.prototype.readFloatBE=function(e,t){return e>>>=0,t||C(e,4,this.length),Pa(this,e,!1,23,4)},a.prototype.readDoubleLE=function(e,t){return e>>>=0,t||C(e,8,this.length),Pa(this,e,!0,52,8)},a.prototype.readDoubleBE=function(e,t){return e>>>=0,t||C(e,8,this.length),Pa(this,e,!1,52,8)},a.prototype.writeUintLE=a.prototype.writeUIntLE=function(e,t,r,n){e=+e,t>>>=0,r>>>=0,n||_(this,e,t,r,Math.pow(2,8*r)-1,0);let o=1,a=0;for(this[t]=255&e;++a<r&&(o*=256);)this[t+a]=e/o&255;return t+r},a.prototype.writeUintBE=a.prototype.writeUIntBE=function(e,t,r,n){e=+e,t>>>=0,r>>>=0,n||_(this,e,t,r,Math.pow(2,8*r)-1,0);let o=r-1,a=1;for(this[t+o]=255&e;--o>=0&&(a*=256);)this[t+o]=e/a&255;return t+r},a.prototype.writeUint8=a.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||_(this,e,t,1,255,0),this[t]=255&e,t+1},a.prototype.writeUint16LE=a.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||_(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},a.prototype.writeUint16BE=a.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||_(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},a.prototype.writeUint32LE=a.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||_(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},a.prototype.writeUint32BE=a.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||_(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},a.prototype.writeBigUInt64LE=G((function(e,t=0){return j(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),a.prototype.writeBigUInt64BE=G((function(e,t=0){return T(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),a.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t>>>=0,!n){const n=Math.pow(2,8*r-1);_(this,e,t,r,n-1,-n)}let o=0,a=1,i=0;for(this[t]=255&e;++o<r&&(a*=256);)e<0&&0===i&&0!==this[t+o-1]&&(i=1),this[t+o]=(e/a>>0)-i&255;return t+r},a.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t>>>=0,!n){const n=Math.pow(2,8*r-1);_(this,e,t,r,n-1,-n)}let o=r-1,a=1,i=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)e<0&&0===i&&0!==this[t+o+1]&&(i=1),this[t+o]=(e/a>>0)-i&255;return t+r},a.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||_(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},a.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||_(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},a.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||_(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},a.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||_(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},a.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||_(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},a.prototype.writeBigInt64LE=G((function(e,t=0){return j(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),a.prototype.writeBigInt64BE=G((function(e,t=0){return T(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),a.prototype.writeFloatLE=function(e,t,r){return P(this,e,t,!0,r)},a.prototype.writeFloatBE=function(e,t,r){return P(this,e,t,!1,r)},a.prototype.writeDoubleLE=function(e,t,r){return B(this,e,t,!0,r)},a.prototype.writeDoubleBE=function(e,t,r){return B(this,e,t,!1,r)},a.prototype.copy=function(e,t,r,n){if(!a.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t<n-r&&(n=e.length-t+r);const o=n-r;return this===e&&"function"==typeof Uint8Array.prototype.copyWithin?this.copyWithin(t,r,n):Uint8Array.prototype.set.call(e,this.subarray(r,n),t),o},a.prototype.fill=function(e,t,r,n){if("string"==typeof e){if("string"==typeof t?(n=t,t=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!a.isEncoding(n))throw new TypeError("Unknown encoding: "+n);if(1===e.length){const t=e.charCodeAt(0);("utf8"===n&&t<128||"latin1"===n)&&(e=t)}}else"number"==typeof e?e&=255:"boolean"==typeof e&&(e=Number(e));if(t<0||this.length<t||this.length<r)throw new RangeError("Out of range index");if(r<=t)return this;let o;if(t>>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(o=t;o<r;++o)this[o]=e;else{const i=a.isBuffer(e)?e:a.from(e,n),s=i.length;if(0===s)throw new TypeError('The value "'+e+'" is invalid for argument "value"');for(o=0;o<r-t;++o)this[o+t]=i[o%s]}return this};const I={};function R(e,t,r){I[e]=class extends r{constructor(){super(),Object.defineProperty(this,"message",{value:t.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${e}]`,this.stack,delete this.name}get code(){return e}set code(e){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:e,writable:!0})}toString(){return`${this.name} [${e}]: ${this.message}`}}}function N(e){let t="",r=e.length;const n="-"===e[0]?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function L(e,t,r,n,o,a){if(e>r||e<t){const n="bigint"==typeof t?"n":"";let o;throw o=a>3?0===t||t===BigInt(0)?`>= 0${n} and < 2${n} ** ${8*(a+1)}${n}`:`>= -(2${n} ** ${8*(a+1)-1}${n}) and < 2 ** ${8*(a+1)-1}${n}`:`>= ${t}${n} and <= ${r}${n}`,new I.ERR_OUT_OF_RANGE("value",o,e)}!function(e,t,r){q(t,"offset"),void 0!==e[t]&&void 0!==e[t+r]||z(t,e.length-(r+1))}(n,o,a)}function q(e,t){if("number"!=typeof e)throw new I.ERR_INVALID_ARG_TYPE(t,"number",e)}function z(e,t,r){if(Math.floor(e)!==e)throw q(e,r),new I.ERR_OUT_OF_RANGE(r||"offset","an integer",e);if(t<0)throw new I.ERR_BUFFER_OUT_OF_BOUNDS;throw new I.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}R("ERR_BUFFER_OUT_OF_BOUNDS",(function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),R("ERR_INVALID_ARG_TYPE",(function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`}),TypeError),R("ERR_OUT_OF_RANGE",(function(e,t,r){let n=`The value of "${e}" is out of range.`,o=r;return Number.isInteger(r)&&Math.abs(r)>2**32?o=N(String(r)):"bigint"==typeof r&&(o=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(o=N(o)),o+="n"),n+=` It must be ${t}. Received ${o}`,n}),RangeError);const U=/[^+/0-9A-Za-z-_]/g;function M(e,t){let r;t=t||1/0;const n=e.length;let o=null;const a=[];for(let i=0;i<n;++i){if(r=e.charCodeAt(i),r>55295&&r<57344){if(!o){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(i+1===n){(t-=3)>-1&&a.push(239,191,189);continue}o=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),o=r;continue}r=65536+(o-55296<<10|r-56320)}else o&&(t-=3)>-1&&a.push(239,191,189);if(o=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function H(e){return Ta(function(e){if((e=(e=e.split("=")[0]).trim().replace(U,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function V(e,t,r,n){let o;for(o=0;o<n&&!(o+r>=t.length||o>=e.length);++o)t[o+r]=e[o];return o}function W(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function Y(e){return e!=e}const K=function(){const e="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){const n=16*r;for(let o=0;o<16;++o)t[n+o]=e[r]+e[o]}return t}();function G(e){return"undefined"==typeof BigInt?J:e}function J(){throw new Error("BigInt not supported")}})),Ra=window.FormData,Na=ye((function(e,t){t.__esModule=!0,t.default=t.patch=void 0;var r=o(Te),n=o(Ra);function o(e){return e&&e.__esModule?e:{default:e}}const a=e=>{const t=(e,t)=>({name:e,value:t});return(0,r.default)(e.prototype.set)||(0,r.default)(e.prototype.get)||(0,r.default)(e.prototype.getAll)||(0,r.default)(e.prototype.has)?e:class extends e{constructor(e){super(e),this.entryList=[]}append(e,r,n){return this.entryList.push(t(e,r)),super.append(e,r,n)}set(e,r){const n=t(e,r);this.entryList=this.entryList.filter((t=>t.name!==e)),this.entryList.push(n)}get(e){const t=this.entryList.find((t=>t.name===e));return void 0===t?null:t}getAll(e){return this.entryList.filter((t=>t.name===e)).map((e=>e.value))}has(e){return this.entryList.some((t=>t.name===e))}}};t.patch=a;var i=a(n.default);t.default=i})),La=za;const{Buffer:qa}=Ia;function za(e,{escape:t}={},r){return"number"==typeof e&&(e=e.toString()),"string"==typeof e&&e.length&&t?r?JSON.parse(e):[...e].map((e=>(e=>/^[a-z0-9\-._~]+$/i.test(e))(e)||(e=>":/?#[]@!$&'()*+,;=".indexOf(e)>-1)(e)&&"unsafe"===t?e:(qa.from(e).toJSON().data||[]).map((e=>`0${e.toString(16).toUpperCase()}`.slice(-2))).map((e=>`%${e}`)).join(""))).join(""):e}var Ua=Object.defineProperty({encodeDisallowedCharacters:La,default:function(e){const{value:t}=e;return Array.isArray(t)?function({key:e,value:t,style:r,explode:n,escape:o}){const a=e=>za(e,{escape:o});if("simple"===r)return t.map((e=>a(e))).join(",");if("label"===r)return`.${t.map((e=>a(e))).join(".")}`;if("matrix"===r)return t.map((e=>a(e))).reduce(((t,r)=>!t||n?`${t||""};${e}=${r}`:`${t},${r}`),"");if("form"===r){const r=n?`&${e}=`:",";return t.map((e=>a(e))).join(r)}if("spaceDelimited"===r){const r=n?`${e}=`:"";return t.map((e=>a(e))).join(` ${r}`)}if("pipeDelimited"===r){const r=n?`${e}=`:"";return t.map((e=>a(e))).join(`|${r}`)}}(e):"object"==typeof t?function({key:e,value:t,style:r,explode:n,escape:o}){const a=e=>za(e,{escape:o}),i=Object.keys(t);return"simple"===r?i.reduce(((e,r)=>{const o=a(t[r]);return`${e?`${e},`:""}${r}${n?"=":","}${o}`}),""):"label"===r?i.reduce(((e,r)=>{const o=a(t[r]);return`${e?`${e}.`:"."}${r}${n?"=":"."}${o}`}),""):"matrix"===r&&n?i.reduce(((e,r)=>`${e?`${e};`:";"}${r}=${a(t[r])}`),""):"matrix"===r?i.reduce(((r,n)=>{const o=a(t[n]);return`${r?`${r},`:`;${e}=`}${n},${o}`}),""):"form"===r?i.reduce(((e,r)=>{const o=a(t[r]);return`${e?`${e}${n?"&":","}`:""}${r}${n?"=":","}${o}`}),""):void 0}(e):function({key:e,value:t,style:r,escape:n}){const o=e=>za(e,{escape:n});return"simple"===r?o(t):"label"===r?`.${o(t)}`:"matrix"===r?`;${e}=${o(t)}`:"form"===r||"deepObject"===r?o(t):void 0}(e)}},"__esModule",{value:!0}),Ma=ye((function(e,t){t.__esModule=!0,t.default=async function(e,t={}){"object"==typeof e&&(e=(t=e).url),t.headers=t.headers||{},l.mergeInQueryOrForm(t),t.headers&&Object.keys(t.headers).forEach((e=>{const r=t.headers[e];"string"==typeof r&&(t.headers[e]=r.replace(/\n+/g," "))})),t.requestInterceptor&&(t=await t.requestInterceptor(t)||t);const r=t.headers["content-type"]||t.headers["Content-Type"];let n;/multipart\/form-data/i.test(r)&&(delete t.headers["content-type"],delete t.headers["Content-Type"]);try{n=await(t.userFetch||fetch)(t.url,t),n=await l.serializeRes(n,e,t),t.responseInterceptor&&(n=await t.responseInterceptor(n)||n)}catch(e){if(!n)throw e;const t=new Error(n.statusText);throw t.status=n.status,t.statusCode=n.status,t.responseError=e,t}if(!n.ok){const e=new Error(n.statusText);throw e.status=n.status,e.statusCode=n.status,e.response=n,e}return n},t.serializeRes=u,t.serializeHeaders=p,t.isFile=d,t.encodeFormOrQuery=b,t.mergeInQueryOrForm=v,t.makeHttp=function(e,t,r){return r=r||(e=>e),t=t||(e=>e),n=>("string"==typeof n&&(n={url:n}),l.mergeInQueryOrForm(n),n=t(n),r(e(n)))},t.shouldDownloadAsText=t.self=void 0;var r=s(Wr),n=s(Mo),o=s(Aa),a=s(Te),i=s(Na);function s(e){return e&&e.__esModule?e:{default:e}}const l={serializeRes:u,mergeInQueryOrForm:v};t.self=l;const c=(e="")=>/(json|xml|yaml|text)\b/.test(e);function u(e,t,{loadSpec:r=!1}={}){const o={ok:e.ok,url:e.url||t,status:e.status,statusText:e.statusText,headers:p(e.headers)},a=o.headers["content-type"],i=r||c(a);return(i?e.text:e.blob||e.buffer).call(e).then((e=>{if(o.text=e,o.data=e,i)try{const t=function(e,t){return t&&(0===t.indexOf("application/json")||t.indexOf("+json")>0)?JSON.parse(e):n.default.safeLoad(e)}(e,a);o.body=t,o.obj=t}catch(e){o.parseError=e}return o}))}function p(e={}){return(0,a.default)(e.entries)?Array.from(e.entries()).reduce(((e,[t,r])=>(e[t]=function(e){return e.includes(", ")?e.split(", "):e}(r),e)),{}):{}}function d(e,t){return t||"undefined"==typeof navigator||(t=navigator),t&&"ReactNative"===t.product?!(!e||"object"!=typeof e||"string"!=typeof e.uri):"undefined"!=typeof File&&e instanceof File||"undefined"!=typeof Blob&&e instanceof Blob||void 0!==Ia.Buffer&&e instanceof Ia.Buffer||null!==e&&"object"==typeof e&&"function"==typeof e.pipe}function h(e,t){return Array.isArray(e)&&e.some((e=>d(e,t)))}t.shouldDownloadAsText=c;const f={form:",",spaceDelimited:"%20",pipeDelimited:"|"},m={csv:",",ssv:"%20",tsv:"%09",pipes:"|"};function g(e,t,r=!1){const{collectionFormat:n,allowEmptyValue:a,serializationOption:i,encoding:s}=t,l="object"!=typeof t||Array.isArray(t)?t:t.value,c=r?e=>e.toString():e=>encodeURIComponent(e),u=c(e);return void 0===l&&a?[[u,""]]:d(l)||h(l)?[[u,l]]:i?y(e,l,r,i):s?[typeof s.style,typeof s.explode,typeof s.allowReserved].some((e=>"undefined"!==e))?y(e,l,r,(0,o.default)(s,["style","explode","allowReserved"])):s.contentType?"application/json"===s.contentType?[[u,c("string"==typeof l?l:JSON.stringify(l))]]:[[u,c(l.toString())]]:"object"!=typeof l?[[u,c(l)]]:Array.isArray(l)&&l.every((e=>"object"!=typeof e))?[[u,l.map(c).join(",")]]:[[u,c(JSON.stringify(l))]]:"object"!=typeof l?[[u,c(l)]]:Array.isArray(l)?"multi"===n?[[u,l.map(c)]]:[[u,l.map(c).join(m[n||"csv"])]]:[[u,""]]}function y(e,t,r,n){const o=n.style||"form",a=void 0===n.explode?"form"===o:n.explode,i=!r&&(n&&n.allowReserved?"unsafe":"reserved"),s=e=>(0,Ua.encodeDisallowedCharacters)(e,{escape:i}),l=r?e=>e:e=>(0,Ua.encodeDisallowedCharacters)(e,{escape:i});return"object"!=typeof t?[[l(e),s(t)]]:Array.isArray(t)?a?[[l(e),t.map(s)]]:[[l(e),t.map(s).join(f[o])]]:"deepObject"===o?Object.keys(t).map((r=>[l(`${e}[${r}]`),s(t[r])])):a?Object.keys(t).map((e=>[l(e),s(t[e])])):[[l(e),Object.keys(t).map((e=>[`${l(e)},${s(t[e])}`])).join(",")]]}function b(e){const t=Object.keys(e).reduce(((t,r)=>{for(const[n,o]of g(r,e[r]))t[n]=o;return t}),{});return r.default.stringify(t,{encode:!1,indices:!1})||""}function v(e={}){const{url:t="",query:n,form:o}=e;if(o){const t=Object.keys(o).some((e=>{const{value:t}=o[e];return d(t)||h(t)})),r=e.headers["content-type"]||e.headers["Content-Type"];t||/multipart\/form-data/i.test(r)?e.body=(a=e.form,Object.entries(a).reduce(((e,[t,r])=>{for(const[n,o]of g(t,r,!0))if(Array.isArray(o))for(const t of o)e.append(n,t);else e.append(n,o);return e}),new i.default)):e.body=b(o),delete e.form}var a;if(n){const[o,a]=t.split("?");let i="";if(a){const e=r.default.parse(a);Object.keys(n).forEach((t=>delete e[t])),i=r.default.stringify(e,{encode:!0})}const s=((...e)=>{const t=e.filter((e=>e)).join("&");return t?`?${t}`:""})(i,b(n));e.url=o+s,delete e.query}return e}}));function Ha(e){var t=this.__data__=new ta(e);this.size=t.size}Ha.prototype.clear=function(){this.__data__=new ta,this.size=0},Ha.prototype.delete=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r},Ha.prototype.get=function(e){return this.__data__.get(e)},Ha.prototype.has=function(e){return this.__data__.has(e)},Ha.prototype.set=function(e,t){var r=this.__data__;if(r instanceof ta){var n=r.__data__;if(!ra||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new aa(n)}return r.set(e,t),this.size=r.size,this};var Va=Ha;function Wa(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new aa;++t<r;)this.add(e[t])}Wa.prototype.add=Wa.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},Wa.prototype.has=function(e){return this.__data__.has(e)};var Ya=Wa,Ka=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1},Ga=function(e,t){return e.has(t)},Ja=function(e,t,r,n,o,a){var i=1&r,s=e.length,l=t.length;if(s!=l&&!(i&&l>s))return!1;var c=a.get(e),u=a.get(t);if(c&&u)return c==t&&u==e;var p=-1,d=!0,h=2&r?new Ya:void 0;for(a.set(e,t),a.set(t,e);++p<s;){var f=e[p],m=t[p];if(n)var g=i?n(m,f,p,t,e,a):n(f,m,p,e,t,a);if(void 0!==g){if(g)continue;d=!1;break}if(h){if(!Ka(t,(function(e,t){if(!Ga(h,t)&&(f===e||o(f,e,r,n,a)))return h.push(t)}))){d=!1;break}}else if(f!==m&&!o(f,m,r,n,a)){d=!1;break}}return a.delete(e),a.delete(t),d},Za=ke.Uint8Array,Xa=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e,n){r[++t]=[n,e]})),r},Qa=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r},ei=Ae?Ae.prototype:void 0,ti=ei?ei.valueOf:void 0,ri=function(e,t,r){var n=t(e);return yt(e)?n:ba(n,r(e))},ni=function(){return[]},oi=Object.prototype.propertyIsEnumerable,ai=Object.getOwnPropertySymbols,ii=ai?function(e){return null==e?[]:(e=Object(e),function(e,t){for(var r=-1,n=null==e?0:e.length,o=0,a=[];++r<n;){var i=e[r];t(i,r,e)&&(a[o++]=i)}return a}(ai(e),(function(t){return oi.call(e,t)})))}:ni,si=function(e){return ri(e,jt,ii)},li=Object.prototype.hasOwnProperty,ci=He(ke,"DataView"),ui=He(ke,"Promise"),pi=He(ke,"Set"),di=He(ke,"WeakMap"),hi=Ie(ci),fi=Ie(ra),mi=Ie(ui),gi=Ie(pi),yi=Ie(di),bi=_e;(ci&&"[object DataView]"!=bi(new ci(new ArrayBuffer(1)))||ra&&"[object Map]"!=bi(new ra)||ui&&"[object Promise]"!=bi(ui.resolve())||pi&&"[object Set]"!=bi(new pi)||di&&"[object WeakMap]"!=bi(new di))&&(bi=function(e){var t=_e(e),r="[object Object]"==t?e.constructor:void 0,n=r?Ie(r):"";if(n)switch(n){case hi:return"[object DataView]";case fi:return"[object Map]";case mi:return"[object Promise]";case gi:return"[object Set]";case yi:return"[object WeakMap]"}return t});var vi,xi=bi,wi=Object.prototype.hasOwnProperty,ki=function(e,t,r,n,o,a){var i=yt(e),s=yt(t),l=i?"[object Array]":xi(e),c=s?"[object Array]":xi(t),u="[object Object]"==(l="[object Arguments]"==l?"[object Object]":l),p="[object Object]"==(c="[object Arguments]"==c?"[object Object]":c),d=l==c;if(d&&vt(e)){if(!vt(t))return!1;i=!0,u=!1}if(d&&!u)return a||(a=new Va),i||$t(e)?Ja(e,t,r,n,o,a):function(e,t,r,n,o,a,i){switch(r){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!a(new Za(e),new Za(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return Ye(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var s=Xa;case"[object Set]":var l=1&n;if(s||(s=Qa),e.size!=t.size&&!l)return!1;var c=i.get(e);if(c)return c==t;n|=2,i.set(e,t);var u=Ja(s(e),s(t),n,o,a,i);return i.delete(e),u;case"[object Symbol]":if(ti)return ti.call(e)==ti.call(t)}return!1}(e,t,l,r,n,o,a);if(!(1&r)){var h=u&&wi.call(e,"__wrapped__"),f=p&&wi.call(t,"__wrapped__");if(h||f){var m=h?e.value():e,g=f?t.value():t;return a||(a=new Va),o(m,g,r,n,a)}}return!!d&&(a||(a=new Va),function(e,t,r,n,o,a){var i=1&r,s=si(e),l=s.length;if(l!=si(t).length&&!i)return!1;for(var c=l;c--;){var u=s[c];if(!(i?u in t:li.call(t,u)))return!1}var p=a.get(e),d=a.get(t);if(p&&d)return p==t&&d==e;var h=!0;a.set(e,t),a.set(t,e);for(var f=i;++c<l;){var m=e[u=s[c]],g=t[u];if(n)var y=i?n(g,m,u,t,e,a):n(m,g,u,e,t,a);if(!(void 0===y?m===g||o(m,g,r,n,a):y)){h=!1;break}f||(f="constructor"==u)}if(h&&!f){var b=e.constructor,v=t.constructor;b==v||!("constructor"in e)||!("constructor"in t)||"function"==typeof b&&b instanceof b&&"function"==typeof v&&v instanceof v||(h=!1)}return a.delete(e),a.delete(t),h}(e,t,r,n,o,a))},Ai=function e(t,r,n,o,a){return t===r||(null==t||null==r||!pt(t)&&!pt(r)?t!=t&&r!=r:ki(t,r,n,o,e,a))},$i=function(e){return e==e&&!je(e)},Ei=function(e,t){return function(r){return null!=r&&r[e]===t&&(void 0!==t||e in Object(r))}},Si=function(e){var t=function(e){for(var t=jt(e),r=t.length;r--;){var n=t[r],o=e[n];t[r]=[n,o,$i(o)]}return t}(e);return 1==t.length&&t[0][2]?Ei(t[0][0],t[0][1]):function(r){return r===e||function(e,t,r,n){var o=r.length,a=o,i=!n;if(null==e)return!a;for(e=Object(e);o--;){var s=r[o];if(i&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++o<a;){var l=(s=r[o])[0],c=e[l],u=s[1];if(i&&s[2]){if(void 0===c&&!(l in e))return!1}else{var p=new Va;if(n)var d=n(c,u,l,e,t,p);if(!(void 0===d?Ai(u,c,3,n,p):d))return!1}}return!0}(r,e,t)}},Di=function(e,t,r){var n=null==e?void 0:ha(e,t);return void 0===n?r:n},Oi=function(e){return Wo(e)?function(e){return function(t){return null==t?void 0:t[e]}}(da(e)):function(e){return function(t){return ha(t,e)}}(e)},Ci=function(e){return"function"==typeof e?e:null==e?Ze:"object"==typeof e?yt(e)?function(e,t){return Wo(e)&&$i(t)?Ei(da(e),t):function(r){var n=Di(r,e);return void 0===n&&n===t?ga(r,e):Ai(t,n,3)}}(e[0],e[1]):Si(e):Oi(e)},_i=Math.max,ji=function(e){return function(t,r,n){var o=Object(t);if(!it(t)){var a=Ci(r);t=jt(t),r=function(e){return a(o[e],e,o)}}var i=e(t,r,n);return i>-1?o[a?t[i]:i]:void 0}}((function(e,t,r){var n=null==e?0:e.length;if(!n)return-1;var o=null==r?0:Wt(r);return o<0&&(o=_i(n+o,0)),function(e,t,r,n){for(var o=e.length,a=r+(n?1:-1);n?a--:++a<o;)if(t(e[a],a,e))return a;return-1}(e,Ci(t),o)})),Ti=function(){},Fi=(vi=function(e,t){return(vi=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}vi(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),Pi=Object.prototype.hasOwnProperty;function Bi(e,t){return Pi.call(e,t)}function Ii(e){if(Array.isArray(e)){for(var t=new Array(e.length),r=0;r<t.length;r++)t[r]=""+r;return t}if(Object.keys)return Object.keys(e);for(var n in t=[],e)Bi(e,n)&&t.push(n);return t}function Ri(e){switch(typeof e){case"object":return JSON.parse(JSON.stringify(e));case"undefined":return null;default:return e}}function Ni(e){for(var t,r=0,n=e.length;r<n;){if(!((t=e.charCodeAt(r))>=48&&t<=57))return!1;r++}return!0}function Li(e){return-1===e.indexOf("/")&&-1===e.indexOf("~")?e:e.replace(/~/g,"~0").replace(/\//g,"~1")}function qi(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function zi(e){if(void 0===e)return!0;if(e)if(Array.isArray(e)){for(var t=0,r=e.length;t<r;t++)if(zi(e[t]))return!0}else if("object"==typeof e){var n=Ii(e),o=n.length;for(t=0;t<o;t++)if(zi(e[n[t]]))return!0}return!1}function Ui(e,t){var r=[e];for(var n in t){var o="object"==typeof t[n]?JSON.stringify(t[n],null,2):t[n];void 0!==o&&r.push(n+": "+o)}return r.join("\n")}var Mi=function(e){function t(t,r,n,o,a){var i=this.constructor,s=e.call(this,Ui(t,{name:r,index:n,operation:o,tree:a}))||this;return s.name=r,s.index=n,s.operation=o,s.tree=a,Object.setPrototypeOf(s,i.prototype),s.message=Ui(t,{name:r,index:n,operation:o,tree:a}),s}return Fi(t,e),t}(Error),Hi=Mi,Vi=Ri,Wi={add:function(e,t,r){return e[t]=this.value,{newDocument:r}},remove:function(e,t,r){var n=e[t];return delete e[t],{newDocument:r,removed:n}},replace:function(e,t,r){var n=e[t];return e[t]=this.value,{newDocument:r,removed:n}},move:function(e,t,r){var n=Ki(r,this.path);n&&(n=Ri(n));var o=Gi(r,{op:"remove",path:this.from}).removed;return Gi(r,{op:"add",path:this.path,value:o}),{newDocument:r,removed:n}},copy:function(e,t,r){var n=Ki(r,this.from);return Gi(r,{op:"add",path:this.path,value:Ri(n)}),{newDocument:r}},test:function(e,t,r){return{newDocument:r,test:es(e[t],this.value)}},_get:function(e,t,r){return this.value=e[t],{newDocument:r}}},Yi={add:function(e,t,r){return Ni(t)?e.splice(t,0,this.value):e[t]=this.value,{newDocument:r,index:t}},remove:function(e,t,r){return{newDocument:r,removed:e.splice(t,1)[0]}},replace:function(e,t,r){var n=e[t];return e[t]=this.value,{newDocument:r,removed:n}},move:Wi.move,copy:Wi.copy,test:Wi.test,_get:Wi._get};function Ki(e,t){if(""==t)return e;var r={op:"_get",path:t};return Gi(e,r),r.value}function Gi(e,t,r,n,o,a){if(void 0===r&&(r=!1),void 0===n&&(n=!0),void 0===o&&(o=!0),void 0===a&&(a=0),r&&("function"==typeof r?r(t,0,e,t.path):Xi(t,0)),""===t.path){var i={newDocument:e};if("add"===t.op)return i.newDocument=t.value,i;if("replace"===t.op)return i.newDocument=t.value,i.removed=e,i;if("move"===t.op||"copy"===t.op)return i.newDocument=Ki(e,t.from),"move"===t.op&&(i.removed=e),i;if("test"===t.op){if(i.test=es(e,t.value),!1===i.test)throw new Hi("Test operation failed","TEST_OPERATION_FAILED",a,t,e);return i.newDocument=e,i}if("remove"===t.op)return i.removed=e,i.newDocument=null,i;if("_get"===t.op)return t.value=e,i;if(r)throw new Hi("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",a,t,e);return i}n||(e=Ri(e));var s=(t.path||"").split("/"),l=e,c=1,u=s.length,p=void 0,d=void 0,h=void 0;for(h="function"==typeof r?r:Xi;;){if(d=s[c],o&&"__proto__"==d)throw new TypeError("JSON-Patch: modifying `__proto__` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README");if(r&&void 0===p&&(void 0===l[d]?p=s.slice(0,c).join("/"):c==u-1&&(p=t.path),void 0!==p&&h(t,0,e,p)),c++,Array.isArray(l)){if("-"===d)d=l.length;else{if(r&&!Ni(d))throw new Hi("Expected an unsigned base-10 integer value, making the new referenced value the array element with the zero-based index","OPERATION_PATH_ILLEGAL_ARRAY_INDEX",a,t,e);Ni(d)&&(d=~~d)}if(c>=u){if(r&&"add"===t.op&&d>l.length)throw new Hi("The specified index MUST NOT be greater than the number of elements in the array","OPERATION_VALUE_OUT_OF_BOUNDS",a,t,e);if(!1===(i=Yi[t.op].call(t,l,d,e)).test)throw new Hi("Test operation failed","TEST_OPERATION_FAILED",a,t,e);return i}}else if(d&&-1!=d.indexOf("~")&&(d=qi(d)),c>=u){if(!1===(i=Wi[t.op].call(t,l,d,e)).test)throw new Hi("Test operation failed","TEST_OPERATION_FAILED",a,t,e);return i}l=l[d]}}function Ji(e,t,r,n,o){if(void 0===n&&(n=!0),void 0===o&&(o=!0),r&&!Array.isArray(t))throw new Hi("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");n||(e=Ri(e));for(var a=new Array(t.length),i=0,s=t.length;i<s;i++)a[i]=Gi(e,t[i],r,!0,o,i),e=a[i].newDocument;return a.newDocument=e,a}function Zi(e,t,r){var n=Gi(e,t);if(!1===n.test)throw new Hi("Test operation failed","TEST_OPERATION_FAILED",r,t,e);return n.newDocument}function Xi(e,t,r,n){if("object"!=typeof e||null===e||Array.isArray(e))throw new Hi("Operation is not an object","OPERATION_NOT_AN_OBJECT",t,e,r);if(!Wi[e.op])throw new Hi("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",t,e,r);if("string"!=typeof e.path)throw new Hi("Operation `path` property is not a string","OPERATION_PATH_INVALID",t,e,r);if(0!==e.path.indexOf("/")&&e.path.length>0)throw new Hi('Operation `path` property must start with "/"',"OPERATION_PATH_INVALID",t,e,r);if(("move"===e.op||"copy"===e.op)&&"string"!=typeof e.from)throw new Hi("Operation `from` property is not present (applicable in `move` and `copy` operations)","OPERATION_FROM_REQUIRED",t,e,r);if(("add"===e.op||"replace"===e.op||"test"===e.op)&&void 0===e.value)throw new Hi("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_REQUIRED",t,e,r);if(("add"===e.op||"replace"===e.op||"test"===e.op)&&zi(e.value))throw new Hi("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED",t,e,r);if(r)if("add"==e.op){var o=e.path.split("/").length,a=n.split("/").length;if(o!==a+1&&o!==a)throw new Hi("Cannot perform an `add` operation at the desired path","OPERATION_PATH_CANNOT_ADD",t,e,r)}else if("replace"===e.op||"remove"===e.op||"_get"===e.op){if(e.path!==n)throw new Hi("Cannot perform the operation at a path that does not exist","OPERATION_PATH_UNRESOLVABLE",t,e,r)}else if("move"===e.op||"copy"===e.op){var i=Qi([{op:"_get",path:e.from,value:void 0}],r);if(i&&"OPERATION_PATH_UNRESOLVABLE"===i.name)throw new Hi("Cannot perform the operation from a path that does not exist","OPERATION_FROM_UNRESOLVABLE",t,e,r)}}function Qi(e,t,r){try{if(!Array.isArray(e))throw new Hi("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");if(t)Ji(Ri(t),Ri(e),r||!0);else{r=r||Xi;for(var n=0;n<e.length;n++)r(e[n],n,t,void 0)}}catch(e){if(e instanceof Hi)return e;throw e}}function es(e,t){if(e===t)return!0;if(e&&t&&"object"==typeof e&&"object"==typeof t){var r,n,o,a=Array.isArray(e),i=Array.isArray(t);if(a&&i){if((n=e.length)!=t.length)return!1;for(r=n;0!=r--;)if(!es(e[r],t[r]))return!1;return!0}if(a!=i)return!1;var s=Object.keys(e);if((n=s.length)!==Object.keys(t).length)return!1;for(r=n;0!=r--;)if(!t.hasOwnProperty(s[r]))return!1;for(r=n;0!=r--;)if(!es(e[o=s[r]],t[o]))return!1;return!0}return e!=e&&t!=t}var ts=Object.freeze({__proto__:null,[Symbol.toStringTag]:"Module",JsonPatchError:Hi,deepClone:Vi,getValueByPointer:Ki,applyOperation:Gi,applyPatch:Ji,applyReducer:Zi,validator:Xi,validate:Qi,_areEquals:es}),rs=new WeakMap,ns=function(e){this.observers=new Map,this.obj=e},os=function(e,t){this.callback=e,this.observer=t};function as(e,t){t.unobserve()}function is(e,t){var r,n=function(e){return rs.get(e)}(e);if(n){var o=function(e,t){return e.observers.get(t)}(n,t);r=o&&o.observer}else n=new ns(e),rs.set(e,n);if(r)return r;if(r={},n.value=Ri(e),t){r.callback=t,r.next=null;var a=function(){ss(r)},i=function(){clearTimeout(r.next),r.next=setTimeout(a)};"undefined"!=typeof window&&(window.addEventListener("mouseup",i),window.addEventListener("keyup",i),window.addEventListener("mousedown",i),window.addEventListener("keydown",i),window.addEventListener("change",i))}return r.patches=[],r.object=e,r.unobserve=function(){ss(r),clearTimeout(r.next),function(e,t){e.observers.delete(t.callback)}(n,r),"undefined"!=typeof window&&(window.removeEventListener("mouseup",i),window.removeEventListener("keyup",i),window.removeEventListener("mousedown",i),window.removeEventListener("keydown",i),window.removeEventListener("change",i))},n.observers.set(t,new os(t,r)),r}function ss(e,t){void 0===t&&(t=!1);var r=rs.get(e.object);ls(r.value,e.object,e.patches,"",t),e.patches.length&&Ji(r.value,e.patches);var n=e.patches;return n.length>0&&(e.patches=[],e.callback&&e.callback(n)),n}function ls(e,t,r,n,o){if(t!==e){"function"==typeof t.toJSON&&(t=t.toJSON());for(var a=Ii(t),i=Ii(e),s=!1,l=i.length-1;l>=0;l--){var c=e[p=i[l]];if(!Bi(t,p)||void 0===t[p]&&void 0!==c&&!1===Array.isArray(t))Array.isArray(e)===Array.isArray(t)?(o&&r.push({op:"test",path:n+"/"+Li(p),value:Ri(c)}),r.push({op:"remove",path:n+"/"+Li(p)}),s=!0):(o&&r.push({op:"test",path:n,value:e}),r.push({op:"replace",path:n,value:t}));else{var u=t[p];"object"==typeof c&&null!=c&&"object"==typeof u&&null!=u?ls(c,u,r,n+"/"+Li(p),o):c!==u&&(o&&r.push({op:"test",path:n+"/"+Li(p),value:Ri(c)}),r.push({op:"replace",path:n+"/"+Li(p),value:Ri(u)}))}}if(s||a.length!=i.length)for(l=0;l<a.length;l++){var p;Bi(e,p=a[l])||void 0===t[p]||r.push({op:"add",path:n+"/"+Li(p),value:Ri(t[p])})}}}function cs(e,t,r){void 0===r&&(r=!1);var n=[];return ls(e,t,n,"",r),n}var us=Object.freeze({__proto__:null,[Symbol.toStringTag]:"Module",unobserve:as,observe:is,generate:ss,compare:cs}),ps=Object.assign({},ts,us,{JsonPatchError:Mi,deepClone:Ri,escapePathComponent:Li,unescapePathComponent:qi}),ds=Object.freeze({__proto__:null,[Symbol.toStringTag]:"Module",default:ps,JsonPatchError:Mi,deepClone:Ri,escapePathComponent:Li,unescapePathComponent:qi,getValueByPointer:Ki,applyOperation:Gi,applyPatch:Ji,applyReducer:Zi,validator:Xi,validate:Qi,_areEquals:es,unobserve:as,observe:is,generate:ss,compare:cs}),hs=ye((function(e){function t(e){return e instanceof ge||e instanceof Date||e instanceof RegExp}function r(e){if(e instanceof ge){var t=ge.alloc?ge.alloc(e.length):new ge(e.length);return e.copy(t),t}if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp)return new RegExp(e);throw new Error("Unexpected situation")}function n(e){var o=[];return e.forEach((function(e,i){"object"==typeof e&&null!==e?Array.isArray(e)?o[i]=n(e):t(e)?o[i]=r(e):o[i]=a({},e):o[i]=e})),o}function o(e,t){return"__proto__"===t?void 0:e[t]}var a=e.exports=function(){if(arguments.length<1||"object"!=typeof arguments[0])return!1;if(arguments.length<2)return arguments[0];var e,i,s=arguments[0],l=Array.prototype.slice.call(arguments,1);return l.forEach((function(l){"object"!=typeof l||null===l||Array.isArray(l)||Object.keys(l).forEach((function(c){return i=o(s,c),(e=o(l,c))===s?void 0:"object"!=typeof e||null===e?void(s[c]=e):Array.isArray(e)?void(s[c]=n(e)):t(e)?void(s[c]=r(e)):"object"!=typeof i||null===i||Array.isArray(i)?void(s[c]=a({},e)):void(s[c]=a(i,e))}))})),s}})),fs=Object.prototype.hasOwnProperty,ms=function(e){if(!je(e))return function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}(e);var t=ut(e),r=[];for(var n in e)("constructor"!=n||!t&&fs.call(e,n))&&r.push(n);return r},gs=function(e){return it(e)?St(e,!0):ms(e)},ys=ye((function(e,t){var r=t&&!t.nodeType&&t,n=r&&e&&!e.nodeType&&e,o=n&&n.exports===r?ke.Buffer:void 0,a=o?o.allocUnsafe:void 0;e.exports=function(e,t){if(t)return e.slice();var r=e.length,n=a?a(r):new e.constructor(r);return e.copy(n),n}})),bs=Dt(Object.getPrototypeOf,Object),vs=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)ba(t,ii(e)),e=bs(e);return t}:ni,xs=function(e){return ri(e,gs,vs)},ws=Object.prototype.hasOwnProperty,ks=function(e){var t=new e.constructor(e.byteLength);return new Za(t).set(new Za(e)),t},As=/\w*$/,$s=Ae?Ae.prototype:void 0,Es=$s?$s.valueOf:void 0,Ss=function(e,t,r){var n=e.constructor;switch(t){case"[object ArrayBuffer]":return ks(e);case"[object Boolean]":case"[object Date]":return new n(+e);case"[object DataView]":return function(e,t){var r=t?ks(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}(e,r);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return function(e,t){var r=t?ks(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}(e,r);case"[object Map]":return new n;case"[object Number]":case"[object String]":return new n(e);case"[object RegExp]":return function(e){var t=new e.constructor(e.source,As.exec(e));return t.lastIndex=e.lastIndex,t}(e);case"[object Set]":return new n;case"[object Symbol]":return function(e){return Es?Object(Es.call(e)):{}}(e)}},Ds=Object.create,Os=function(){function e(){}return function(t){if(!je(t))return{};if(Ds)return Ds(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}(),Cs=kt&&kt.isMap,_s=Cs?wt(Cs):function(e){return pt(e)&&"[object Map]"==xi(e)},js=kt&&kt.isSet,Ts=js?wt(js):function(e){return pt(e)&&"[object Set]"==xi(e)},Fs={};Fs["[object Arguments]"]=Fs["[object Array]"]=Fs["[object ArrayBuffer]"]=Fs["[object DataView]"]=Fs["[object Boolean]"]=Fs["[object Date]"]=Fs["[object Float32Array]"]=Fs["[object Float64Array]"]=Fs["[object Int8Array]"]=Fs["[object Int16Array]"]=Fs["[object Int32Array]"]=Fs["[object Map]"]=Fs["[object Number]"]=Fs["[object Object]"]=Fs["[object RegExp]"]=Fs["[object Set]"]=Fs["[object String]"]=Fs["[object Symbol]"]=Fs["[object Uint8Array]"]=Fs["[object Uint8ClampedArray]"]=Fs["[object Uint16Array]"]=Fs["[object Uint32Array]"]=!0,Fs["[object Error]"]=Fs["[object Function]"]=Fs["[object WeakMap]"]=!1;var Ps=function e(t,r,n,o,a,i){var s,l=1&r,c=2&r,u=4&r;if(n&&(s=a?n(t,o,a,i):n(t)),void 0!==s)return s;if(!je(t))return t;var p=yt(t);if(p){if(s=function(e){var t=e.length,r=new e.constructor(t);return t&&"string"==typeof e[0]&&ws.call(e,"index")&&(r.index=e.index,r.input=e.input),r}(t),!l)return function(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}(t,s)}else{var d=xi(t),h="[object Function]"==d||"[object GeneratorFunction]"==d;if(vt(t))return ys(t,l);if("[object Object]"==d||"[object Arguments]"==d||h&&!a){if(s=c||h?{}:function(e){return"function"!=typeof e.constructor||ut(e)?{}:Os(bs(e))}(t),!l)return c?function(e,t){return Je(e,vs(e),t)}(t,function(e,t){return e&&Je(t,gs(t),e)}(s,t)):function(e,t){return Je(e,ii(e),t)}(t,function(e,t){return e&&Je(t,jt(t),e)}(s,t))}else{if(!Fs[d])return a?t:{};s=Ss(t,d,l)}}i||(i=new Va);var f=i.get(t);if(f)return f;i.set(t,s),Ts(t)?t.forEach((function(o){s.add(e(o,r,n,o,t,i))})):_s(t)&&t.forEach((function(o,a){s.set(a,e(o,r,n,a,t,i))}));var m=p?void 0:(u?c?xs:si:c?gs:jt)(t);return function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););}(m||t,(function(o,a){m&&(o=t[a=o]),Ge(s,a,e(o,r,n,a,t,i))})),s},Bs=function(e){return Ps(e,5)},Is=function(e){if(e.__esModule)return e;var t=Object.defineProperty({},"__esModule",{value:!0});return Object.keys(e).forEach((function(r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})})),t}(ds),Rs=ye((function(e,t){t.__esModule=!0,t.default=void 0;var r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=n?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(r,o,a):r[o]=e[o]}return r.default=e,t&&t.set(e,r),r}(Is),n=a(hs),o=a(Bs);function a(e){return e&&e.__esModule?e:{default:e}}function i(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?s(Object(r),!0).forEach((function(t){c(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var u={add:function(e,t){return{op:"add",path:e,value:t}},replace:d,remove:function(e){return{op:"remove",path:e}},merge:function(e,t){return{type:"mutation",op:"merge",path:e,value:t}},mergeDeep:function(e,t){return{type:"mutation",op:"mergeDeep",path:e,value:t}},context:function(e,t){return{type:"context",path:e,value:t}},getIn:function(e,t){return t.reduce(((e,t)=>void 0!==t&&e?e[t]:e),e)},applyPatch:function(e,t,a){if(a=a||{},"merge"===(t=l(l({},t),{},{path:t.path&&p(t.path)})).op){const n=E(e,t.path);Object.assign(n,t.value),r.applyPatch(e,[d(t.path,n)])}else if("mergeDeep"===t.op){const r=E(e,t.path);for(const e in t.value){const a=t.value[e],i=Array.isArray(a);if(i){const t=r[e]||[];r[e]=t.concat(a)}else if(v(a)&&!i){let t=l({},r[e]);for(const e in a){if(Object.prototype.hasOwnProperty.call(t,e)){t=(0,n.default)((0,o.default)(t),a);break}Object.assign(t,{[e]:a[e]})}r[e]=t}else r[e]=a}}else if("add"===t.op&&""===t.path&&v(t.value)){const n=Object.keys(t.value).reduce(((e,r)=>(e.push({op:"add",path:`/${p(r)}`,value:t.value[r]}),e)),[]);r.applyPatch(e,n)}else if("replace"===t.op&&""===t.path){let{value:r}=t;a.allowMetaPatches&&t.meta&&A(t)&&(Array.isArray(t.value)||v(t.value))&&(r=l(l({},r),t.meta)),e=r}else if(r.applyPatch(e,[t]),a.allowMetaPatches&&t.meta&&A(t)&&(Array.isArray(t.value)||v(t.value))){const n=l(l({},E(e,t.path)),t.meta);r.applyPatch(e,[d(t.path,n)])}return e},parentPathMatch:function(e,t){if(!Array.isArray(t))return!1;for(let r=0,n=t.length;r<n;r+=1)if(t[r]!==e[r])return!1;return!0},flatten:y,fullyNormalizeArray:function(e){return b(y(g(e)))},normalizeArray:g,isPromise:function(e){return v(e)&&x(e.then)},forEachNew:function(e,t){try{return h(e,m,t)}catch(e){return e}},forEachNewPrimitive:function(e,t){try{return h(e,f,t)}catch(e){return e}},isJsonPatch:w,isContextPatch:function(e){return $(e)&&"context"===e.type},isPatch:$,isMutation:k,isAdditiveMutation:A,isGenerator:function(e){return"[object GeneratorFunction]"===Object.prototype.toString.call(e)},isFunction:x,isObject:v,isError:function(e){return e instanceof Error}};function p(e){return Array.isArray(e)?e.length<1?"":`/${e.map((e=>(e+"").replace(/~/g,"~0").replace(/\//g,"~1"))).join("/")}`:e}function d(e,t,r){return{op:"replace",path:e,value:t,meta:r}}function h(e,t,r){return b(y(e.filter(A).map((e=>t(e.value,r,e.path)))||[]))}function f(e,t,r){return r=r||[],Array.isArray(e)?e.map(((e,n)=>f(e,t,r.concat(n)))):v(e)?Object.keys(e).map((n=>f(e[n],t,r.concat(n)))):t(e,r[r.length-1],r)}function m(e,t,r){let n=[];if((r=r||[]).length>0){const o=t(e,r[r.length-1],r);o&&(n=n.concat(o))}if(Array.isArray(e)){const o=e.map(((e,n)=>m(e,t,r.concat(n))));o&&(n=n.concat(o))}else if(v(e)){const o=Object.keys(e).map((n=>m(e[n],t,r.concat(n))));o&&(n=n.concat(o))}return n=y(n),n}function g(e){return Array.isArray(e)?e:[e]}function y(e){return[].concat(...e.map((e=>Array.isArray(e)?y(e):e)))}function b(e){return e.filter((e=>void 0!==e))}function v(e){return e&&"object"==typeof e}function x(e){return e&&"function"==typeof e}function w(e){if($(e)){const{op:t}=e;return"add"===t||"remove"===t||"replace"===t}return!1}function k(e){return w(e)||$(e)&&"mutation"===e.type}function A(e){return k(e)&&("add"===e.op||"replace"===e.op||"merge"===e.op||"mergeDeep"===e.op)}function $(e){return e&&"object"==typeof e}function E(e,t){try{return r.getValueByPointer(e,t)}catch(e){return console.error(e),{}}}t.default=u})),Ns=ye((function(e,t){var r=function(e){function t(){this.fetch=!1,this.DOMException=e.DOMException}return t.prototype=e,new t}("undefined"!=typeof self?self:this);!function(e){!function(t){var r="URLSearchParams"in e,n="Symbol"in e&&"iterator"in Symbol,o="FileReader"in e&&"Blob"in e&&function(){try{return new Blob,!0}catch(e){return!1}}(),a="FormData"in e,i="ArrayBuffer"in e;if(i)var s=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],l=ArrayBuffer.isView||function(e){return e&&s.indexOf(Object.prototype.toString.call(e))>-1};function c(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(e))throw new TypeError("Invalid character in header field name");return e.toLowerCase()}function u(e){return"string"!=typeof e&&(e=String(e)),e}function p(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return n&&(t[Symbol.iterator]=function(){return t}),t}function d(e){this.map={},e instanceof d?e.forEach((function(e,t){this.append(t,e)}),this):Array.isArray(e)?e.forEach((function(e){this.append(e[0],e[1])}),this):e&&Object.getOwnPropertyNames(e).forEach((function(t){this.append(t,e[t])}),this)}function h(e){if(e.bodyUsed)return Promise.reject(new TypeError("Already read"));e.bodyUsed=!0}function f(e){return new Promise((function(t,r){e.onload=function(){t(e.result)},e.onerror=function(){r(e.error)}}))}function m(e){var t=new FileReader,r=f(t);return t.readAsArrayBuffer(e),r}function g(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function y(){return this.bodyUsed=!1,this._initBody=function(e){var t;this._bodyInit=e,e?"string"==typeof e?this._bodyText=e:o&&Blob.prototype.isPrototypeOf(e)?this._bodyBlob=e:a&&FormData.prototype.isPrototypeOf(e)?this._bodyFormData=e:r&&URLSearchParams.prototype.isPrototypeOf(e)?this._bodyText=e.toString():i&&o&&(t=e)&&DataView.prototype.isPrototypeOf(t)?(this._bodyArrayBuffer=g(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):i&&(ArrayBuffer.prototype.isPrototypeOf(e)||l(e))?this._bodyArrayBuffer=g(e):this._bodyText=e=Object.prototype.toString.call(e):this._bodyText="",this.headers.get("content-type")||("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):r&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},o&&(this.blob=function(){var e=h(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?h(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(m)}),this.text=function(){var e,t,r,n=h(this);if(n)return n;if(this._bodyBlob)return e=this._bodyBlob,r=f(t=new FileReader),t.readAsText(e),r;if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),r=new Array(t.length),n=0;n<t.length;n++)r[n]=String.fromCharCode(t[n]);return r.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},a&&(this.formData=function(){return this.text().then(x)}),this.json=function(){return this.text().then(JSON.parse)},this}d.prototype.append=function(e,t){e=c(e),t=u(t);var r=this.map[e];this.map[e]=r?r+", "+t:t},d.prototype.delete=function(e){delete this.map[c(e)]},d.prototype.get=function(e){return e=c(e),this.has(e)?this.map[e]:null},d.prototype.has=function(e){return this.map.hasOwnProperty(c(e))},d.prototype.set=function(e,t){this.map[c(e)]=u(t)},d.prototype.forEach=function(e,t){for(var r in this.map)this.map.hasOwnProperty(r)&&e.call(t,this.map[r],r,this)},d.prototype.keys=function(){var e=[];return this.forEach((function(t,r){e.push(r)})),p(e)},d.prototype.values=function(){var e=[];return this.forEach((function(t){e.push(t)})),p(e)},d.prototype.entries=function(){var e=[];return this.forEach((function(t,r){e.push([r,t])})),p(e)},n&&(d.prototype[Symbol.iterator]=d.prototype.entries);var b=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function v(e,t){var r,n,o=(t=t||{}).body;if(e instanceof v){if(e.bodyUsed)throw new TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new d(e.headers)),this.method=e.method,this.mode=e.mode,this.signal=e.signal,o||null==e._bodyInit||(o=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||"same-origin",!t.headers&&this.headers||(this.headers=new d(t.headers)),this.method=(n=(r=t.method||this.method||"GET").toUpperCase(),b.indexOf(n)>-1?n:r),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(o)}function x(e){var t=new FormData;return e.trim().split("&").forEach((function(e){if(e){var r=e.split("="),n=r.shift().replace(/\+/g," "),o=r.join("=").replace(/\+/g," ");t.append(decodeURIComponent(n),decodeURIComponent(o))}})),t}function w(e,t){t||(t={}),this.type="default",this.status=void 0===t.status?200:t.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in t?t.statusText:"OK",this.headers=new d(t.headers),this.url=t.url||"",this._initBody(e)}v.prototype.clone=function(){return new v(this,{body:this._bodyInit})},y.call(v.prototype),y.call(w.prototype),w.prototype.clone=function(){return new w(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new d(this.headers),url:this.url})},w.error=function(){var e=new w(null,{status:0,statusText:""});return e.type="error",e};var k=[301,302,303,307,308];w.redirect=function(e,t){if(-1===k.indexOf(t))throw new RangeError("Invalid status code");return new w(null,{status:t,headers:{location:e}})},t.DOMException=e.DOMException;try{new t.DOMException}catch(e){t.DOMException=function(e,t){this.message=e,this.name=t;var r=Error(e);this.stack=r.stack},t.DOMException.prototype=Object.create(Error.prototype),t.DOMException.prototype.constructor=t.DOMException}function A(e,r){return new Promise((function(n,a){var i=new v(e,r);if(i.signal&&i.signal.aborted)return a(new t.DOMException("Aborted","AbortError"));var s=new XMLHttpRequest;function l(){s.abort()}s.onload=function(){var e,t,r={status:s.status,statusText:s.statusText,headers:(e=s.getAllResponseHeaders()||"",t=new d,e.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(e){var r=e.split(":"),n=r.shift().trim();if(n){var o=r.join(":").trim();t.append(n,o)}})),t)};r.url="responseURL"in s?s.responseURL:r.headers.get("X-Request-URL");var o="response"in s?s.response:s.responseText;n(new w(o,r))},s.onerror=function(){a(new TypeError("Network request failed"))},s.ontimeout=function(){a(new TypeError("Network request failed"))},s.onabort=function(){a(new t.DOMException("Aborted","AbortError"))},s.open(i.method,i.url,!0),"include"===i.credentials?s.withCredentials=!0:"omit"===i.credentials&&(s.withCredentials=!1),"responseType"in s&&o&&(s.responseType="blob"),i.headers.forEach((function(e,t){s.setRequestHeader(t,e)})),i.signal&&(i.signal.addEventListener("abort",l),s.onreadystatechange=function(){4===s.readyState&&i.signal.removeEventListener("abort",l)}),s.send(void 0===i._bodyInit?null:i._bodyInit)}))}A.polyfill=!0,e.fetch||(e.fetch=A,e.Headers=d,e.Request=v,e.Response=w),t.Headers=d,t.Request=v,t.Response=w,t.fetch=A}({})}(r),delete r.fetch.polyfill,(t=r.fetch).default=r.fetch,t.fetch=r.fetch,t.Headers=r.Headers,t.Request=r.Request,t.Response=r.Response,e.exports=t})),Ls=ye((function(e,t){var r=t,n=Ia.Buffer;function o(e,t){try{return decodeURIComponent(e)}catch(n){return r.unescapeBuffer(e,t).toString()}}r.unescapeBuffer=function(e,t){for(var r,o,a,i=new n(e.length),s=0,l=0,c=0;l<=e.length;l++){var u=l<e.length?e.charCodeAt(l):NaN;switch(s){case 0:switch(u){case 37:r=0,o=0,s=1;break;case 43:t&&(u=32);default:i[c++]=u}break;case 1:if(a=u,u>=48&&u<=57)r=u-48;else if(u>=65&&u<=70)r=u-65+10;else{if(!(u>=97&&u<=102)){i[c++]=37,i[c++]=u,s=0;break}r=u-97+10}s=2;break;case 2:if(s=0,u>=48&&u<=57)o=u-48;else if(u>=65&&u<=70)o=u-65+10;else{if(!(u>=97&&u<=102)){i[c++]=37,i[c++]=a,i[c++]=u;break}o=u-97+10}i[c++]=16*r+o}}return i.slice(0,c-1)},r.unescape=o;for(var a=new Array(256),i=0;i<256;++i)a[i]="%"+((i<16?"0":"")+i.toString(16)).toUpperCase();r.escape=function(e){"string"!=typeof e&&(e+="");for(var t="",r=0,n=0;n<e.length;++n){var o=e.charCodeAt(n);if(!(33===o||45===o||46===o||95===o||126===o||o>=39&&o<=42||o>=48&&o<=57||o>=65&&o<=90||o>=97&&o<=122))if(n-r>0&&(t+=e.slice(r,n)),o<128)r=n+1,t+=a[o];else if(o<2048)r=n+1,t+=a[192|o>>6]+a[128|63&o];else if(o<55296||o>=57344)r=n+1,t+=a[224|o>>12]+a[128|o>>6&63]+a[128|63&o];else{var i;if(!(++n<e.length))throw new URIError("URI malformed");i=1023&e.charCodeAt(n),r=n+1,t+=a[240|(o=65536+((1023&o)<<10|i))>>18]+a[128|o>>12&63]+a[128|o>>6&63]+a[128|63&o]}}return 0===r?e:r<e.length?t+e.slice(r):t};var s=function(e){return"string"==typeof e?e:"number"==typeof e&&isFinite(e)?""+e:"boolean"==typeof e?e?"true":"false":""};function l(e,t){try{return t(e)}catch(t){return r.unescape(e,!0)}}r.stringify=r.encode=function(e,t,n,o){t=t||"&",n=n||"=";var a=r.escape;if(o&&"function"==typeof o.encodeURIComponent&&(a=o.encodeURIComponent),null!==e&&"object"==typeof e){for(var i=Object.keys(e),l=i.length,c=l-1,u="",p=0;p<l;++p){var d=i[p],h=e[d],f=a(s(d))+n;if(Array.isArray(h)){for(var m=h.length,g=m-1,y=0;y<m;++y)u+=f+a(s(h[y])),y<g&&(u+=t);m&&p<c&&(u+=t)}else u+=f+a(s(h)),p<c&&(u+=t)}return u}return""},r.parse=r.decode=function(e,t,n,a){t=t||"&",n=n||"=";var i={};if("string"!=typeof e||0===e.length)return i;"string"!=typeof t&&(t+="");var s=n.length,c=t.length,u=1e3;a&&"number"==typeof a.maxKeys&&(u=a.maxKeys);var p=1/0;u>0&&(p=u);var d=r.unescape;a&&"function"==typeof a.decodeURIComponent&&(d=a.decodeURIComponent);for(var h=d!==o,f=[],m=0,g=0,y=0,b="",v="",x=h,w=h,k=0,A=0;A<e.length;++A){var $=e.charCodeAt(A);if($!==t.charCodeAt(g)){if(g=0,w||(37===$?k=1:k>0&&($>=48&&$<=57||$>=65&&$<=70||$>=97&&$<=102)?3==++k&&(w=!0):k=0),y<s){if($===n.charCodeAt(y)){++y===s&&(m<(S=A-y+1)&&(b+=e.slice(m,S)),k=0,m=A+1);continue}y=0,x||(37===$?k=1:k>0&&($>=48&&$<=57||$>=65&&$<=70||$>=97&&$<=102)?3==++k&&(x=!0):k=0)}43===$&&(y<s?(A-m>0&&(b+=e.slice(m,A)),b+="%20",x=!0):(A-m>0&&(v+=e.slice(m,A)),v+="%20",w=!0),m=A+1)}else if(++g===c){var E,S=A-g+1;if(y<s?m<S&&(b+=e.slice(m,S)):m<S&&(v+=e.slice(m,S)),x&&(b=l(b,d)),w&&(v=l(v,d)),-1===f.indexOf(b)?(i[b]=v,f[f.length]=b):(E=i[b])instanceof Array?E[E.length]=v:i[b]=[E,v],0==--p)break;x=w=h,k=0,b=v="",m=A+1,g=y=0}}return p>0&&(m<e.length||y>0)&&(m<e.length&&(y<s?b+=e.slice(m):g<c&&(v+=e.slice(m))),x&&(b=l(b,d)),w&&(v=l(v,d)),-1===f.indexOf(b)?(i[b]=v,f[f.length]=b):(E=i[b])instanceof Array?E[E.length]=v:i[b]=[E,v]),i}})),qs=Object.defineProperty({default:function(e,t){function r(...e){Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,[this.message]=e,t&&t.apply(this,e)}return r.prototype=new Error,r.prototype.name=e,r.prototype.constructor=r,r}},"__esModule",{value:!0}),zs=Js,Us=Vs(ye((function(e){var t=e.exports=function(e){return new r(e)};function r(e){this.value=e}function n(e,t,r){var n=[],i=[],u=!0;return function e(p){var d=r?o(p):p,h={},f=!0,m={node:d,node_:p,path:[].concat(n),parent:i[i.length-1],parents:i,key:n.slice(-1)[0],isRoot:0===n.length,level:n.length,circular:null,update:function(e,t){m.isRoot||(m.parent.node[m.key]=e),m.node=e,t&&(f=!1)},delete:function(e){delete m.parent.node[m.key],e&&(f=!1)},remove:function(e){s(m.parent.node)?m.parent.node.splice(m.key,1):delete m.parent.node[m.key],e&&(f=!1)},keys:null,before:function(e){h.before=e},after:function(e){h.after=e},pre:function(e){h.pre=e},post:function(e){h.post=e},stop:function(){u=!1},block:function(){f=!1}};if(!u)return m;function g(){if("object"==typeof m.node&&null!==m.node){m.keys&&m.node_===m.node||(m.keys=a(m.node)),m.isLeaf=0==m.keys.length;for(var e=0;e<i.length;e++)if(i[e].node_===p){m.circular=i[e];break}}else m.isLeaf=!0,m.keys=null;m.notLeaf=!m.isLeaf,m.notRoot=!m.isRoot}g();var y=t.call(m,m.node);return void 0!==y&&m.update&&m.update(y),h.before&&h.before.call(m,m.node),f?("object"!=typeof m.node||null===m.node||m.circular||(i.push(m),g(),l(m.keys,(function(t,o){n.push(t),h.pre&&h.pre.call(m,m.node[t],t);var a=e(m.node[t]);r&&c.call(m.node,t)&&(m.node[t]=a.node),a.isLast=o==m.keys.length-1,a.isFirst=0==o,h.post&&h.post.call(m,a),n.pop()})),i.pop()),h.after&&h.after.call(m,m.node),m):m}(e).node}function o(e){if("object"==typeof e&&null!==e){var t;if(s(e))t=[];else if("[object Date]"===i(e))t=new Date(e.getTime?e.getTime():e);else if(function(e){return"[object RegExp]"===i(e)}(e))t=new RegExp(e);else if(function(e){return"[object Error]"===i(e)}(e))t={message:e.message};else if(function(e){return"[object Boolean]"===i(e)}(e))t=new Boolean(e);else if(function(e){return"[object Number]"===i(e)}(e))t=new Number(e);else if(function(e){return"[object String]"===i(e)}(e))t=new String(e);else if(Object.create&&Object.getPrototypeOf)t=Object.create(Object.getPrototypeOf(e));else if(e.constructor===Object)t={};else{var r=e.constructor&&e.constructor.prototype||e.__proto__||{},n=function(){};n.prototype=r,t=new n}return l(a(e),(function(r){t[r]=e[r]})),t}return e}r.prototype.get=function(e){for(var t=this.value,r=0;r<e.length;r++){var n=e[r];if(!t||!c.call(t,n)){t=void 0;break}t=t[n]}return t},r.prototype.has=function(e){for(var t=this.value,r=0;r<e.length;r++){var n=e[r];if(!t||!c.call(t,n))return!1;t=t[n]}return!0},r.prototype.set=function(e,t){for(var r=this.value,n=0;n<e.length-1;n++){var o=e[n];c.call(r,o)||(r[o]={}),r=r[o]}return r[e[n]]=t,t},r.prototype.map=function(e){return n(this.value,e,!0)},r.prototype.forEach=function(e){return this.value=n(this.value,e,!1),this.value},r.prototype.reduce=function(e,t){var r=1===arguments.length,n=r?this.value:t;return this.forEach((function(t){this.isRoot&&r||(n=e.call(this,n,t))})),n},r.prototype.paths=function(){var e=[];return this.forEach((function(t){e.push(this.path)})),e},r.prototype.nodes=function(){var e=[];return this.forEach((function(t){e.push(this.node)})),e},r.prototype.clone=function(){var e=[],t=[];return function r(n){for(var i=0;i<e.length;i++)if(e[i]===n)return t[i];if("object"==typeof n&&null!==n){var s=o(n);return e.push(n),t.push(s),l(a(n),(function(e){s[e]=r(n[e])})),e.pop(),t.pop(),s}return n}(this.value)};var a=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};function i(e){return Object.prototype.toString.call(e)}var s=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},l=function(e,t){if(e.forEach)return e.forEach(t);for(var r=0;r<e.length;r++)t(e[r],r,e)};l(a(r.prototype),(function(e){t[e]=function(t){var n=[].slice.call(arguments,1),o=new r(t);return o[e].apply(o,n)}}));var c=Object.hasOwnProperty||function(e,t){return t in e}}))),Ms=Vs(wr),Hs=Vs((function(e){return"string"==typeof e||!yt(e)&&pt(e)&&"[object String]"==_e(e)}));function Vs(e){return e&&e.__esModule?e:{default:e}}const Ws=["properties"],Ys=["properties"],Ks=["definitions","parameters","responses","securityDefinitions","components/schemas","components/responses","components/parameters","components/securitySchemes"],Gs=["schema/example","items/example"];function Js(e,t){const[r,n]=e.split("#"),o=Ms.default.resolve(r||"",t||"");return n?`${o}#${n}`:o}var Zs=Object.defineProperty({isFreelyNamed:function(e){const t=e[e.length-1],r=e[e.length-2],n=e.join("/");return Ws.indexOf(t)>-1&&-1===Ys.indexOf(r)||Ks.indexOf(n)>-1||Gs.some((e=>n.indexOf(e)>-1))},generateAbsoluteRefPatches:function(e,t,{specmap:r,getBaseUrlForNodePath:n=(e=>r.getContext([...t,...e]).baseDoc),targetKeys:o=["$ref","$$ref"]}={}){const a=[];return(0,Us.default)(e).forEach((function(){if(o.includes(this.key)&&(0,Hs.default)(this.node)){const e=this.path,o=t.concat(this.path),i=Js(this.node,n(e));a.push(r.replace(o,i))}})),a},absolutifyPointer:zs},"__esModule",{value:!0}),Xs=ye((function(e,t){t.__esModule=!0,t.ACCEPT_HEADER_VALUE_FOR_DOCUMENTS=void 0,t.ACCEPT_HEADER_VALUE_FOR_DOCUMENTS="application/json, application/yaml"})),Qs=ye((function(e,t){t.__esModule=!0,t.default=void 0;var r=s(Mo),n=s(Ls),o=s(wr),a=s(Rs),i=s(qs);function s(e){return e&&e.__esModule?e:{default:e}}const l=new RegExp("^([a-z]+://|//)","i"),c=(0,i.default)("JSONRefError",(function(e,t,r){this.originalError=r,Object.assign(this,t||{})})),u={},p=new WeakMap,d=[e=>"paths"===e[0]&&"responses"===e[3]&&"examples"===e[5],e=>"paths"===e[0]&&"responses"===e[3]&&"content"===e[5]&&"example"===e[7],e=>"paths"===e[0]&&"responses"===e[3]&&"content"===e[5]&&"examples"===e[7]&&"value"===e[9],e=>"paths"===e[0]&&"requestBody"===e[3]&&"content"===e[4]&&"example"===e[6],e=>"paths"===e[0]&&"requestBody"===e[3]&&"content"===e[4]&&"examples"===e[6]&&"value"===e[8],e=>"paths"===e[0]&&"parameters"===e[2]&&"example"===e[4],e=>"paths"===e[0]&&"parameters"===e[3]&&"example"===e[5],e=>"paths"===e[0]&&"parameters"===e[2]&&"examples"===e[4]&&"value"===e[6],e=>"paths"===e[0]&&"parameters"===e[3]&&"examples"===e[5]&&"value"===e[7],e=>"paths"===e[0]&&"parameters"===e[2]&&"content"===e[4]&&"example"===e[6],e=>"paths"===e[0]&&"parameters"===e[2]&&"content"===e[4]&&"examples"===e[6]&&"value"===e[8],e=>"paths"===e[0]&&"parameters"===e[3]&&"content"===e[4]&&"example"===e[7],e=>"paths"===e[0]&&"parameters"===e[3]&&"content"===e[5]&&"examples"===e[7]&&"value"===e[9]],h={key:"$ref",plugin:(e,t,r,n)=>{const o=n.getInstance(),i=r.slice(0,-1);if((0,Zs.isFreelyNamed)(i)||(s=i,d.some((e=>e(s)))))return;var s;const{baseDoc:l}=n.getContext(r);if("string"!=typeof e)return new c("$ref: must be a string (JSON-Ref)",{$ref:e,baseDoc:l,fullPath:r});const u=b(e),h=u[0],f=u[1]||"";let m,x,w;try{m=l||h?g(h,l):null}catch(t){return y(t,{pointer:f,$ref:e,basePath:m,fullPath:r})}if(function(e,t,r,n){let o=p.get(n);o||(o={},p.set(n,o));const a=function(e){return 0===e.length?"":`/${e.map($).join("/")}`}(r),i=`${t||"<specmap-base>"}#${e}`,s=a.replace(/allOf\/\d+\/?/g,"");if(t==n.contextTree.get([]).baseDoc&&E(s,e))return!0;let l="";if(r.some((e=>(l=`${l}/${$(e)}`,o[l]&&o[l].some((e=>E(e,i)||E(i,e)))))))return!0;o[s]=(o[s]||[]).concat(i)}(f,m,i,n)&&!o.useCircularStructures){const t=(0,Zs.absolutifyPointer)(e,m);return e===t?null:a.default.replace(r,t)}if(null==m?(w=k(f),x=n.get(w),void 0===x&&(x=new c(`Could not resolve reference: ${e}`,{pointer:f,$ref:e,baseDoc:l,fullPath:r}))):(x=v(m,f),x=null!=x.__value?x.__value:x.catch((t=>{throw y(t,{pointer:f,$ref:e,baseDoc:l,fullPath:r})}))),x instanceof Error)return[a.default.remove(r),x];const A=(0,Zs.absolutifyPointer)(e,m),S=a.default.replace(i,x,{$$ref:A});if(m&&m!==l)return[S,a.default.context(i,{baseDoc:m})];try{if(!function(e,t){const r=[e];return t.path.reduce(((e,t)=>(r.push(e[t]),e[t])),e),function e(t){return a.default.isObject(t)&&(r.indexOf(t)>=0||Object.keys(t).some((r=>e(t[r]))))}(t.value)}(n.state,S)||o.useCircularStructures)return S}catch(e){return null}}},f=Object.assign(h,{docCache:u,absoluteify:g,clearCache:function(e){void 0!==e?delete u[e]:Object.keys(u).forEach((e=>{delete u[e]}))},JSONRefError:c,wrapError:y,getDoc:x,split:b,extractFromDoc:v,fetchJSON:function(e){return(0,Ns.fetch)(e,{headers:{Accept:Xs.ACCEPT_HEADER_VALUE_FOR_DOCUMENTS},loadSpec:!0}).then((e=>e.text())).then((e=>r.default.safeLoad(e)))},extract:w,jsonPointerToArray:k,unescapeJsonPointerToken:A});var m=f;function g(e,t){if(!l.test(e)){if(!t)throw new c(`Tried to resolve a relative URL, without having a basePath. path: '${e}' basePath: '${t}'`);return o.default.resolve(t,e)}return e}function y(e,t){let r;return r=e&&e.response&&e.response.body?`${e.response.body.code} ${e.response.body.message}`:e.message,new c(`Could not resolve reference: ${r}`,t,e)}function b(e){return(e+"").split("#")}function v(e,t){const r=u[e];if(r&&!a.default.isPromise(r))try{const e=w(t,r);return Object.assign(Promise.resolve(e),{__value:e})}catch(e){return Promise.reject(e)}return x(e).then((e=>w(t,e)))}function x(e){const t=u[e];return t?a.default.isPromise(t)?t:Promise.resolve(t):(u[e]=f.fetchJSON(e).then((t=>(u[e]=t,t))),u[e])}function w(e,t){const r=k(e);if(r.length<1)return t;const n=a.default.getIn(t,r);if(void 0===n)throw new c(`Could not resolve pointer: ${e} does not exist in document`,{pointer:e});return n}function k(e){if("string"!=typeof e)throw new TypeError("Expected a string, got a "+typeof e);return"/"===e[0]&&(e=e.substr(1)),""===e?[]:e.split("/").map(A)}function A(e){return"string"!=typeof e?e:n.default.unescape(e.replace(/~1/g,"/").replace(/~0/g,"~"))}function $(e){return n.default.escape(e.replace(/~/g,"~0").replace(/\//g,"~1"))}function E(e,t){if(!(r=t)||"/"===r||"#"===r)return!0;var r;const n=e.charAt(t.length),o=t.slice(-1);return 0===e.indexOf(t)&&(!n||"/"===n||"#"===n)&&"#"!==o}t.default=m})),el=Object.prototype.hasOwnProperty,tl=function(e){if(null==e)return!0;if(it(e)&&(yt(e)||"string"==typeof e||"function"==typeof e.splice||vt(e)||$t(e)||gt(e)))return!e.length;var t=xi(e);if("[object Map]"==t||"[object Set]"==t)return!e.size;if(ut(e))return!_t(e).length;for(var r in e)if(el.call(e,r))return!1;return!0},rl=ye((function(e,t){t.__esModule=!0,t.default=void 0;var r,n=(r=tl)&&r.__esModule?r:{default:r};function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var i={key:"allOf",plugin:(e,t,r,i,s)=>{if(s.meta&&s.meta.$$ref)return;const l=r.slice(0,-1);if((0,Zs.isFreelyNamed)(l))return;if(!Array.isArray(e)){const e=new TypeError("allOf must be an array");return e.fullPath=r,e}let c=!1,u=s.value;if(l.forEach((e=>{u&&(u=u[e])})),u=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({},u),(0,n.default)(u))return;delete u.allOf;const p=[];return p.push(i.replace(l,{})),e.forEach(((e,t)=>{if(!i.isObject(e)){if(c)return null;c=!0;const e=new TypeError("Elements in allOf must be objects");return e.fullPath=r,p.push(e)}p.push(i.mergeDeep(l,e));const n=r.slice(0,-1),o=(0,Zs.generateAbsoluteRefPatches)(e,n,{getBaseUrlForNodePath:e=>i.getContext([...r,t,...e]).baseDoc,specmap:i});p.push(...o)})),p.push(i.mergeDeep(l,u)),u.$$ref||p.push(i.remove([].concat(l,"$$ref"))),p}};t.default=i})),nl=ye((function(e,t){t.__esModule=!0,t.default=void 0;var r,n=(r=Rs)&&r.__esModule?r:{default:r};function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var i={key:"parameters",plugin:(e,t,r,i)=>{if(Array.isArray(e)&&e.length){const t=Object.assign([],e),s=r.slice(0,-1),l=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({},n.default.getIn(i.spec,s));return e.forEach(((e,n)=>{try{t[n].default=i.parameterMacro(l,e)}catch(e){const t=new Error(e);return t.fullPath=r,t}})),n.default.replace(r,t)}return n.default.replace(r,e)}};t.default=i})),ol=ye((function(e,t){t.__esModule=!0,t.default=void 0;var r,n=(r=Rs)&&r.__esModule?r:{default:r};function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var i={key:"properties",plugin:(e,t,r,i)=>{const s=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({},e);for(const t in e)try{s[t].default=i.modelPropertyMacro(s[t])}catch(e){const t=new Error(e);return t.fullPath=r,t}return n.default.replace(r,s)}};t.default=i})),al=ye((function(e,t){function r(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function n(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){return i({children:{}},e,t)}function i(e,t,r){return e.value=t||{},e.protoValue=r?n(n({},r.protoValue),e.value):e.value,Object.keys(e.children).forEach((t=>{const r=e.children[t];e.children[t]=i(r,r.value,e)})),e}t.__esModule=!0,t.default=void 0,t.default=class{constructor(e){this.root=a(e||{})}set(e,t){const r=this.getParent(e,!0);if(!r)return void i(this.root,t,null);const n=e[e.length-1],{children:o}=r;o[n]?i(o[n],t,r):o[n]=a(t,r)}get(e){if((e=e||[]).length<1)return this.root.value;let t,r,n=this.root;for(let o=0;o<e.length&&(r=e[o],t=n.children,t[r]);o+=1)n=t[r];return n&&n.protoValue}getParent(e,t){return!e||e.length<1?null:e.length<2?this.root:e.slice(0,-1).reduce(((e,r)=>{if(!e)return e;const{children:n}=e;return!n[r]&&t&&(n[r]=a(null,e)),n[r]}),this.root)}}})),il=ye((function(e,t){t.__esModule=!0,t.default=function(e){return new f(e).dispatch()},t.plugins=t.SpecMap=void 0;var r=u(ji),n=u(Ti),o=u(Rs),a=u(Qs),i=u(rl),s=u(nl),l=u(ol),c=u(al);function u(e){return e&&e.__esModule?e:{default:e}}function p(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function d(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?p(Object(r),!0).forEach((function(t){h(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):p(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function h(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class f{static getPluginName(e){return e.pluginName}static getPatchesOfType(e,t){return e.filter(t)}constructor(e){Object.assign(this,{spec:"",debugLevel:"info",plugins:[],pluginHistory:{},errors:[],mutations:[],promisedPatches:[],state:{},patches:[],context:{},contextTree:new c.default,showDebug:!1,allPatches:[],pluginProp:"specMap",libMethods:Object.assign(Object.create(this),o.default,{getInstance:()=>this}),allowMetaPatches:!1},e),this.get=this._get.bind(this),this.getContext=this._getContext.bind(this),this.hasRun=this._hasRun.bind(this),this.wrappedPlugins=this.plugins.map(this.wrapPlugin.bind(this)).filter(o.default.isFunction),this.patches.push(o.default.add([],this.spec)),this.patches.push(o.default.context([],this.context)),this.updatePatches(this.patches)}debug(e,...t){this.debugLevel===e&&console.log(...t)}verbose(e,...t){"verbose"===this.debugLevel&&console.log(`[${e}]   `,...t)}wrapPlugin(e,t){const{pathDiscriminator:r}=this;let n,a=null;return e[this.pluginProp]?(a=e,n=e[this.pluginProp]):o.default.isFunction(e)?n=e:o.default.isObject(e)&&(n=function(e){const t=(e,t)=>!Array.isArray(e)||e.every(((e,r)=>e===t[r]));return function*(n,a){const i={};for(const e of n.filter(o.default.isAdditiveMutation))yield*s(e.value,e.path,e);function*s(n,l,c){if(o.default.isObject(n)){const u=l.length-1,p=l[u],d=l.indexOf("properties"),h="properties"===p&&u===d,f=a.allowMetaPatches&&i[n.$$ref];for(const u of Object.keys(n)){const p=n[u],d=l.concat(u),m=o.default.isObject(p),g=n.$$ref;if(f||m&&(a.allowMetaPatches&&g&&(i[g]=!0),yield*s(p,d,c)),!h&&u===e.key){const n=t(r,l);r&&!n||(yield e.plugin(p,u,d,a,c))}}}else e.key===l[l.length-1]&&(yield e.plugin(n,e.key,l,a))}}}(e)),Object.assign(n.bind(a),{pluginName:e.name||t,isGenerator:o.default.isGenerator(n)})}nextPlugin(){return(0,r.default)(this.wrappedPlugins,(e=>this.getMutationsForPlugin(e).length>0))}nextPromisedPatch(){if(this.promisedPatches.length>0)return Promise.race(this.promisedPatches.map((e=>e.value)))}getPluginHistory(e){const t=this.constructor.getPluginName(e);return this.pluginHistory[t]||[]}getPluginRunCount(e){return this.getPluginHistory(e).length}getPluginHistoryTip(e){const t=this.getPluginHistory(e);return t&&t[t.length-1]||{}}getPluginMutationIndex(e){const t=this.getPluginHistoryTip(e).mutationIndex;return"number"!=typeof t?-1:t}updatePluginHistory(e,t){const r=this.constructor.getPluginName(e);this.pluginHistory[r]=this.pluginHistory[r]||[],this.pluginHistory[r].push(t)}updatePatches(e){o.default.normalizeArray(e).forEach((e=>{if(e instanceof Error)this.errors.push(e);else try{if(!o.default.isObject(e))return void this.debug("updatePatches","Got a non-object patch",e);if(this.showDebug&&this.allPatches.push(e),o.default.isPromise(e.value))return this.promisedPatches.push(e),void this.promisedPatchThen(e);if(o.default.isContextPatch(e))return void this.setContext(e.path,e.value);if(o.default.isMutation(e))return void this.updateMutations(e)}catch(e){console.error(e),this.errors.push(e)}}))}updateMutations(e){"object"==typeof e.value&&!Array.isArray(e.value)&&this.allowMetaPatches&&(e.value=d({},e.value));const t=o.default.applyPatch(this.state,e,{allowMetaPatches:this.allowMetaPatches});t&&(this.mutations.push(e),this.state=t)}removePromisedPatch(e){const t=this.promisedPatches.indexOf(e);t<0?this.debug("Tried to remove a promisedPatch that isn't there!"):this.promisedPatches.splice(t,1)}promisedPatchThen(e){return e.value=e.value.then((t=>{const r=d(d({},e),{},{value:t});this.removePromisedPatch(e),this.updatePatches(r)})).catch((t=>{this.removePromisedPatch(e),this.updatePatches(t)})),e.value}getMutations(e,t){return e=e||0,"number"!=typeof t&&(t=this.mutations.length),this.mutations.slice(e,t)}getCurrentMutations(){return this.getMutationsForPlugin(this.getCurrentPlugin())}getMutationsForPlugin(e){const t=this.getPluginMutationIndex(e);return this.getMutations(t+1)}getCurrentPlugin(){return this.currentPlugin}getLib(){return this.libMethods}_get(e){return o.default.getIn(this.state,e)}_getContext(e){return this.contextTree.get(e)}setContext(e,t){return this.contextTree.set(e,t)}_hasRun(e){return this.getPluginRunCount(this.getCurrentPlugin())>(e||0)}dispatch(){const e=this,t=this.nextPlugin();if(!t){const e=this.nextPromisedPatch();if(e)return e.then((()=>this.dispatch())).catch((()=>this.dispatch()));const t={spec:this.state,errors:this.errors};return this.showDebug&&(t.patches=this.allPatches),Promise.resolve(t)}if(e.pluginCount=e.pluginCount||{},e.pluginCount[t]=(e.pluginCount[t]||0)+1,e.pluginCount[t]>100)return Promise.resolve({spec:e.state,errors:e.errors.concat(new Error("We've reached a hard limit of 100 plugin runs"))});if(t!==this.currentPlugin&&this.promisedPatches.length){const e=this.promisedPatches.map((e=>e.value));return Promise.all(e.map((e=>e.then(n.default,n.default)))).then((()=>this.dispatch()))}return function(){e.currentPlugin=t;const n=e.getCurrentMutations(),o=e.mutations.length-1;try{if(t.isGenerator)for(const o of t(n,e.getLib()))r(o);else r(t(n,e.getLib()))}catch(e){console.error(e),r([Object.assign(Object.create(e),{plugin:t})])}finally{e.updatePluginHistory(t,{mutationIndex:o})}return e.dispatch()}();function r(r){r&&(r=o.default.fullyNormalizeArray(r),e.updatePatches(r,t))}}}t.SpecMap=f;const m={refs:a.default,allOf:i.default,parameters:s.default,properties:l.default};t.plugins=m})),sl=yl,ll=bl,cl=vl,ul=xl,pl=wl,dl=fl(je),hl=fl(Kt);function fl(e){return e&&e.__esModule?e:{default:e}}const ml=e=>String.prototype.toLowerCase.call(e),gl=e=>e.replace(/[^\w]/gi,"_");function yl(e,t,r="",{v2OperationIdCompatibilityMode:n}={}){return e&&"object"==typeof e?(e.operationId||"").replace(/\s/g,"").length?gl(e.operationId):bl(t,r,{v2OperationIdCompatibilityMode:n}):null}function bl(e,t,{v2OperationIdCompatibilityMode:r}={}){if(r){let r=`${t.toLowerCase()}_${e}`.replace(/[\s!@#$%^&*()_+=[{\]};:<>|./?,\\'""-]/g,"_");return r=r||`${e.substring(1)}_${t}`,r.replace(/((_){2,})/g,"_").replace(/^(_)*/g,"").replace(/([_])*$/g,"")}return`${ml(t)}${gl(e)}`}function vl(e,t){return`${ml(t)}-${e}`}function xl(e,t){return wl(e,t,!0)||null}function wl(e,t,r){if(!e||"object"!=typeof e||!e.paths||"object"!=typeof e.paths)return null;const{paths:n}=e;for(const o in n)for(const a in n[o]){if("PARAMETERS"===a.toUpperCase())continue;const i=n[o][a];if(!i||"object"!=typeof i)continue;const s={spec:e,pathName:o,method:a.toUpperCase(),operation:i},l=t(s);if(r&&l)return s}}var kl,Al=Object.defineProperty({isOAS3:function(e){const t=e.openapi;return!!t&&(0,hl.default)(t,"3")},isSwagger2:function(e){const t=e.swagger;return!!t&&(0,hl.default)(t,"2")},opId:sl,idFromPathMethod:ll,legacyIdFromPathMethod:cl,getOperationRaw:function(e,t){return e&&e.paths?xl(e,(({pathName:e,method:r,operation:n})=>{if(!n||"object"!=typeof n)return!1;const o=n.operationId;return[yl(n,e,r),vl(e,r),o].some((e=>e&&e===t))})):null},findOperation:ul,eachOperation:pl,normalizeSwagger:function(e){const{spec:t}=e,{paths:r}=t,n={};if(!r||t.$$normalized)return e;for(const e in r){const o=r[e];if(!(0,dl.default)(o))continue;const a=o.parameters;for(const r in o){const i=o[r];if(!(0,dl.default)(i))continue;const s=yl(i,e,r);if(s){n[s]?n[s].push(i):n[s]=[i];const e=n[s];if(e.length>1)e.forEach(((e,t)=>{e.__originalOperationId=e.__originalOperationId||e.operationId,e.operationId=`${s}${t+1}`}));else if(void 0!==i.operationId){const t=e[0];t.__originalOperationId=t.__originalOperationId||i.operationId,t.operationId=s}}if("parameters"!==r){const e=[],r={};for(const n in t)"produces"!==n&&"consumes"!==n&&"security"!==n||(r[n]=t[n],e.push(r));if(a&&(r.parameters=a,e.push(r)),e.length)for(const t of e)for(const e in t)if(i[e]){if("parameters"===e)for(const r of t[e])i[e].some((e=>e.name&&e.name===r.name||e.$ref&&e.$ref===r.$ref||e.$$ref&&e.$$ref===r.$$ref||e===r))||i[e].push(r)}else i[e]=t[e]}}}return t.$$normalized=!0,e}},"__esModule",{value:!0}),$l=Ol,El=(kl=Ma)&&kl.__esModule?kl:{default:kl},Sl=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=Dl();if(t&&t.has(e))return t.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=n?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(r,o,a):r[o]=e[o]}return r.default=e,t&&t.set(e,r),r}(il);function Dl(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return Dl=function(){return e},e}function Ol(e,t={}){const{requestInterceptor:r,responseInterceptor:n}=t,o=e.withCredentials?"include":"same-origin";return t=>e({url:t,loadSpec:!0,requestInterceptor:r,responseInterceptor:n,headers:{Accept:Xs.ACCEPT_HEADER_VALUE_FOR_DOCUMENTS},credentials:o}).then((e=>e.body))}var Cl=Object.defineProperty({makeFetchJSON:$l,clearCache:function(){Sl.plugins.refs.clearCache()},default:function(e){const{fetch:t,spec:r,url:n,mode:o,allowMetaPatches:a=!0,pathDiscriminator:i,modelPropertyMacro:s,parameterMacro:l,requestInterceptor:c,responseInterceptor:u,skipNormalization:p,useCircularStructures:d}=e;let{http:h,baseDoc:f}=e;return f=f||n,h=t||h||El.default,r?m(r):Ol(h,{requestInterceptor:c,responseInterceptor:u})(f).then(m);function m(e){f&&(Sl.plugins.refs.docCache[f]=e),Sl.plugins.refs.fetchJSON=Ol(h,{requestInterceptor:c,responseInterceptor:u});const t=[Sl.plugins.refs];return"function"==typeof l&&t.push(Sl.plugins.parameters),"function"==typeof s&&t.push(Sl.plugins.properties),"strict"!==o&&t.push(Sl.plugins.allOf),(0,Sl.default)({spec:e,context:{baseDoc:f},plugins:t,allowMetaPatches:a,pathDiscriminator:i,parameterMacro:l,modelPropertyMacro:s,useCircularStructures:d}).then(p?async e=>e:Al.normalizeSwagger)}}},"__esModule",{value:!0}),_l=Tl(Di),jl=Tl(Cl);function Tl(e){return e&&e.__esModule?e:{default:e}}function Fl(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Pl(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Fl(Object(r),!0).forEach((function(t){Bl(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Fl(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Bl(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Il=Object.defineProperty({default:async function(e,t,r={}){const{returnEntireTree:n,baseDoc:o,requestInterceptor:a,responseInterceptor:i,parameterMacro:s,modelPropertyMacro:l,useCircularStructures:c}=r,u={pathDiscriminator:t,baseDoc:o,requestInterceptor:a,responseInterceptor:i,parameterMacro:s,modelPropertyMacro:l,useCircularStructures:c},{spec:p}=(0,Al.normalizeSwagger)({spec:e}),d=await(0,jl.default)(Pl(Pl({},u),{},{spec:p,allowMetaPatches:!0,skipNormalization:!0}));return!n&&Array.isArray(t)&&t.length&&(d.spec=(0,_l.default)(d.spec,t)||null),d}},"__esModule",{value:!0}),Rl=ye((function(e,t){t.__esModule=!0,t.makeExecute=l,t.makeApisTagOperationsOperationExecute=function(e={}){const t=s.makeExecute(e),r=s.mapTagOperations({v2OperationIdCompatibilityMode:e.v2OperationIdCompatibilityMode,spec:e.spec,cb:t}),n={};for(const e in r){n[e]={operations:{}};for(const t in r[e])n[e].operations[t]={execute:r[e][t]}}return{apis:n}},t.makeApisTagOperation=function(e={}){const t=s.makeExecute(e);return{apis:s.mapTagOperations({v2OperationIdCompatibilityMode:e.v2OperationIdCompatibilityMode,spec:e.spec,cb:t})}},t.mapTagOperations=c,t.self=void 0;var r=function(e){return e&&e.__esModule?e:{default:e}}(Aa);function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?n(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const i=()=>null,s={mapTagOperations:c,makeExecute:l};function l(e={}){return({pathName:t,method:n,operationId:a})=>(i,s={})=>e.execute(o(o({spec:e.spec},(0,r.default)(e,"requestInterceptor","responseInterceptor","userFetch")),{},{pathName:t,method:n,parameters:i,operationId:a},s))}function c({spec:e,cb:t=i,defaultTag:r="default",v2OperationIdCompatibilityMode:n}){const o={},a={};return(0,Al.eachOperation)(e,(({pathName:i,method:s,operation:l})=>{var c;(l.tags?(c=l.tags,Array.isArray(c)?c:[c]):[r]).forEach((r=>{if("string"!=typeof r)return;a[r]=a[r]||{};const c=a[r],u=(0,Al.opId)(l,i,s,{v2OperationIdCompatibilityMode:n}),p=t({spec:e,pathName:i,method:s,operation:l,operationId:u});if(o[u])o[u]+=1,c[`${u}${o[u]}`]=p;else if(void 0!==c[u]){const e=o[u]||1;o[u]=e+1,c[`${u}${o[u]}`]=p;const t=c[u];delete c[u],c[`${u}${e}`]=t}else c[u]=p}))})),a}t.self=s})),Nl=Function.prototype,Ll=Object.prototype,ql=Nl.toString,zl=Ll.hasOwnProperty,Ul=ql.call(Object),Ml=function(e){if(!pt(e)||"[object Object]"!=_e(e))return!1;var t=bs(e);if(null===t)return!0;var r=zl.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&ql.call(r)==Ul},Hl=decodeURIComponent,Vl=encodeURIComponent,Wl=/; */,Yl=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function Kl(e,t){try{return t(e)}catch(t){return e}}var Gl={parse:function(e,t){if("string"!=typeof e)throw new TypeError("argument str must be a string");for(var r={},n=t||{},o=e.split(Wl),a=n.decode||Hl,i=0;i<o.length;i++){var s=o[i],l=s.indexOf("=");if(!(l<0)){var c=s.substr(0,l).trim(),u=s.substr(++l,s.length).trim();'"'==u[0]&&(u=u.slice(1,-1)),null==r[c]&&(r[c]=Kl(u,a))}}return r},serialize:function(e,t,r){var n=r||{},o=n.encode||Vl;if("function"!=typeof o)throw new TypeError("option encode is invalid");if(!Yl.test(e))throw new TypeError("argument name is invalid");var a=o(t);if(a&&!Yl.test(a))throw new TypeError("argument val is invalid");var i=e+"="+a;if(null!=n.maxAge){var s=n.maxAge-0;if(isNaN(s)||!isFinite(s))throw new TypeError("option maxAge is invalid");i+="; Max-Age="+Math.floor(s)}if(n.domain){if(!Yl.test(n.domain))throw new TypeError("option domain is invalid");i+="; Domain="+n.domain}if(n.path){if(!Yl.test(n.path))throw new TypeError("option path is invalid");i+="; Path="+n.path}if(n.expires){if("function"!=typeof n.expires.toUTCString)throw new TypeError("option expires is invalid");i+="; Expires="+n.expires.toUTCString()}if(n.httpOnly&&(i+="; HttpOnly"),n.secure&&(i+="; Secure"),n.sameSite)switch("string"==typeof n.sameSite?n.sameSite.toLowerCase():n.sameSite){case!0:i+="; SameSite=Strict";break;case"lax":i+="; SameSite=Lax";break;case"strict":i+="; SameSite=Strict";break;case"none":i+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return i}},Jl=ye((function(e,t){t.__esModule=!0,t.default=void 0;var r={body:function({req:e,value:t}){e.body=t},header:function({req:e,parameter:t,value:r}){e.headers=e.headers||{},void 0!==r&&(e.headers[t.name]=r)},query:function({req:e,value:t,parameter:r}){if(e.query=e.query||{},!1===t&&"boolean"===r.type&&(t="false"),0===t&&["number","integer"].indexOf(r.type)>-1&&(t="0"),t)e.query[r.name]={collectionFormat:r.collectionFormat,value:t};else if(r.allowEmptyValue&&void 0!==t){const t=r.name;e.query[t]=e.query[t]||{},e.query[t].allowEmptyValue=!0}},path:function({req:e,value:t,parameter:r}){e.url=e.url.split(`{${r.name}}`).join(encodeURIComponent(t))},formData:function({req:e,value:t,parameter:r}){(t||r.allowEmptyValue)&&(e.form=e.form||{},e.form[r.name]={value:t,allowEmptyValue:r.allowEmptyValue,collectionFormat:r.collectionFormat})}};t.default=r})),Zl=Object.defineProperty({default:function(e,t){return t.includes("application/json")?"string"==typeof e?e:JSON.stringify(e):e.toString()}},"__esModule",{value:!0}),Xl=rc(Aa),Ql=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=tc();if(t&&t.has(e))return t.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=n?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(r,o,a):r[o]=e[o]}return r.default=e,t&&t.set(e,r),r}(Ua),ec=rc(Zl);function tc(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return tc=function(){return e},e}function rc(e){return e&&e.__esModule?e:{default:e}}const nc=["accept","authorization","content-type"];var oc=Object.defineProperty({path:function({req:e,value:t,parameter:r}){const{name:n,style:o,explode:a,content:i}=r;if(i){const r=Object.keys(i)[0];return void(e.url=e.url.split(`{${n}}`).join((0,Ql.encodeDisallowedCharacters)((0,ec.default)(t,r),{escape:!0})))}const s=(0,Ql.default)({key:r.name,value:t,style:o||"simple",explode:a||!1,escape:!0});e.url=e.url.split(`{${n}}`).join(s)},query:function({req:e,value:t,parameter:r}){if(e.query=e.query||{},r.content){const n=Object.keys(r.content)[0];e.query[r.name]=(0,ec.default)(t,n)}else if(!1===t&&(t="false"),0===t&&(t="0"),t)e.query[r.name]={value:t,serializationOption:(0,Xl.default)(r,["style","explode","allowReserved"])};else if(r.allowEmptyValue&&void 0!==t){const t=r.name;e.query[t]=e.query[t]||{},e.query[t].allowEmptyValue=!0}},header:function({req:e,parameter:t,value:r}){if(e.headers=e.headers||{},!(nc.indexOf(t.name.toLowerCase())>-1))if(t.content){const n=Object.keys(t.content)[0];e.headers[t.name]=(0,ec.default)(r,n)}else void 0!==r&&(e.headers[t.name]=(0,Ql.default)({key:t.name,value:r,style:t.style||"simple",explode:void 0!==t.explode&&t.explode,escape:!1}))},cookie:function({req:e,parameter:t,value:r}){e.headers=e.headers||{};const n=typeof r;if(t.content){const n=Object.keys(t.content)[0];e.headers.Cookie=`${t.name}=${(0,ec.default)(r,n)}`}else if("undefined"!==n){const o="object"===n&&!Array.isArray(r)&&t.explode?"":`${t.name}=`;e.headers.Cookie=o+(0,Ql.default)({key:t.name,value:r,escape:!1,style:t.style||"form",explode:void 0!==t.explode&&t.explode})}}},"__esModule",{value:!0}),ac=ye((function(e){e.exports=function(e){return(e instanceof ge?e:ge.from(e.toString(),"binary")).toString("base64")}})),ic=pc,sc=uc(Ft),lc=uc(Di),cc=uc(ac);function uc(e){return e&&e.__esModule?e:{default:e}}function pc({request:e,securities:t={},operation:r={},spec:n}){const o=(0,sc.default)({},e),{authorized:a={}}=t,i=r.security||n.security||[],s=a&&!!Object.keys(a).length,l=(0,lc.default)(n,["components","securitySchemes"])||{};return o.headers=o.headers||{},o.query=o.query||{},Object.keys(t).length&&s&&i&&(!Array.isArray(r.security)||r.security.length)?(i.forEach((e=>{Object.keys(e).forEach((e=>{const t=a[e],r=l[e];if(!t)return;const n=t.value||t,{type:i}=r;if(t)if("apiKey"===i)"query"===r.in&&(o.query[r.name]=n),"header"===r.in&&(o.headers[r.name]=n),"cookie"===r.in&&(o.cookies[r.name]=n);else if("http"===i){if(/^basic$/i.test(r.scheme)){const e=n.username||"",t=n.password||"",r=(0,cc.default)(`${e}:${t}`);o.headers.Authorization=`Basic ${r}`}/^bearer$/i.test(r.scheme)&&(o.headers.Authorization=`Bearer ${n}`)}else if("oauth2"===i||"openIdConnect"===i){const e=t.token||{},n=e[r["x-tokenName"]||"access_token"];let a=e.token_type;a&&"bearer"!==a.toLowerCase()||(a="Bearer"),o.headers.Authorization=`${a} ${n}`}}))})),o):e}var dc=Object.defineProperty({default:function(e,t){const{operation:r,requestBody:n,securities:o,spec:a,attachContentTypeForEmptyPayload:i}=e;let{requestContentType:s}=e;t=pc({request:t,securities:o,operation:r,spec:a});const l=r.requestBody||{},c=Object.keys(l.content||{}),u=s&&c.indexOf(s)>-1;if(n||i){if(s&&u)t.headers["Content-Type"]=s;else if(!s){const e=c[0];e&&(t.headers["Content-Type"]=e,s=e)}}else s&&u&&(t.headers["Content-Type"]=s);if(n)if(s){if(c.indexOf(s)>-1)if("application/x-www-form-urlencoded"===s||"multipart/form-data"===s)if("object"==typeof n){const e=(l.content[s]||{}).encoding||{};t.form={},Object.keys(n).forEach((r=>{t.form[r]={value:n[r],encoding:e[r]||{}}}))}else t.form=n;else t.body=n}else t.body=n;return t},applySecurities:ic},"__esModule",{value:!0}),hc=yc,fc=gc(ac),mc=gc(Ft);function gc(e){return e&&e.__esModule?e:{default:e}}function yc({request:e,securities:t={},operation:r={},spec:n}){const o=(0,mc.default)({},e),{authorized:a={},specSecurity:i=[]}=t,s=r.security||i,l=a&&!!Object.keys(a).length,c=n.securityDefinitions;return o.headers=o.headers||{},o.query=o.query||{},Object.keys(t).length&&l&&s&&(!Array.isArray(r.security)||r.security.length)?(s.forEach((e=>{Object.keys(e).forEach((e=>{const t=a[e];if(!t)return;const{token:r}=t,n=t.value||t,i=c[e],{type:s}=i,l=i["x-tokenName"]||"access_token",u=r&&r[l];let p=r&&r.token_type;if(t)if("apiKey"===s){const e="query"===i.in?"query":"headers";o[e]=o[e]||{},o[e][i.name]=n}else if("basic"===s)if(n.header)o.headers.authorization=n.header;else{const e=n.username||"",t=n.password||"";n.base64=(0,fc.default)(`${e}:${t}`),o.headers.authorization=`Basic ${n.base64}`}else"oauth2"===s&&u&&(p=p&&"bearer"!==p.toLowerCase()?p:"Bearer",o.headers.authorization=`${p} ${u}`)}))})),o):e}var bc=Object.defineProperty({default:function(e,t){const{spec:r,operation:n,securities:o,requestContentType:a,attachContentTypeForEmptyPayload:i}=e;if((t=yc({request:t,securities:o,operation:n,spec:r})).body||t.form||i)a?t.headers["Content-Type"]=a:Array.isArray(n.consumes)?[t.headers["Content-Type"]]=n.consumes:Array.isArray(r.consumes)?[t.headers["Content-Type"]]=r.consumes:n.parameters&&n.parameters.filter((e=>"file"===e.type)).length?t.headers["Content-Type"]="multipart/form-data":n.parameters&&n.parameters.filter((e=>"formData"===e.in)).length&&(t.headers["Content-Type"]="application/x-www-form-urlencoded");else if(a){const e=n.parameters&&n.parameters.filter((e=>"body"===e.in)).length>0,r=n.parameters&&n.parameters.filter((e=>"formData"===e.in)).length>0;(e||r)&&(t.headers["Content-Type"]=a)}return t},applySecurities:hc},"__esModule",{value:!0}),vc=ye((function(e,t){t.__esModule=!0,t.execute=function(e){let{http:t,fetch:r,spec:a,operationId:i,pathName:l,method:c,parameters:u,securities:p}=e,d=function(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}(e,["http","fetch","spec","operationId","pathName","method","parameters","securities"]);const h=t||r||s.default;l&&c&&!i&&(i=(0,Al.legacyIdFromPathMethod)(l,c));const f=w.buildRequest(y({spec:a,operationId:i,parameters:u,securities:p,http:h},d));return f.body&&((0,n.default)(f.body)||(0,o.default)(f.body))&&(f.body=JSON.stringify(f.body)),h(f)},t.buildRequest=k,t.baseUrl=$,t.self=void 0;var r=m(Di),n=m(Ml),o=m(yt),a=m(wr),i=m(Gl),s=f(Ma),l=m(qs),c=m(Jl),u=f(oc),p=m(dc),d=m(bc);function h(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return h=function(){return e},e}function f(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=h();if(t&&t.has(e))return t.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=n?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(r,o,a):r[o]=e[o]}return r.default=e,t&&t.set(e,r),r}function m(e){return e&&e.__esModule?e:{default:e}}function g(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function y(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?g(Object(r),!0).forEach((function(t){b(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):g(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function b(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const v=e=>Array.isArray(e)?e:[],x=(0,l.default)("OperationNotFoundError",(function(e,t,r){this.originalError=r,Object.assign(this,t||{})})),w={buildRequest:k};function k(e){const{spec:t,operationId:r,responseContentType:n,scheme:o,requestInterceptor:a,responseInterceptor:l,contextUrl:h,userFetch:f,server:m,serverVariables:g,http:b}=e;let{parameters:w,parameterBuilders:k}=e;const A=(0,Al.isOAS3)(t);k||(k=A?u:c.default);let E={url:"",credentials:b&&b.withCredentials?"include":"same-origin",headers:{},cookies:{}};a&&(E.requestInterceptor=a),l&&(E.responseInterceptor=l),f&&(E.userFetch=f);const S=(0,Al.getOperationRaw)(t,r);if(!S)throw new x(`Operation ${r} not found`);const{operation:D={},method:O,pathName:C}=S;if(E.url+=$({spec:t,scheme:o,contextUrl:h,server:m,serverVariables:g,pathName:C,method:O}),!r)return delete E.cookies,E;E.url+=C,E.method=`${O}`.toUpperCase(),w=w||{};const _=t.paths[C]||{};n&&(E.headers.accept=n);const j=(e=>{const t={};e.forEach((e=>{t[e.in]||(t[e.in]={}),t[e.in][e.name]=e}));const r=[];return Object.keys(t).forEach((e=>{Object.keys(t[e]).forEach((n=>{r.push(t[e][n])}))})),r})([].concat(v(D.parameters)).concat(v(_.parameters)));j.forEach((e=>{const r=k[e.in];let n;if("body"===e.in&&e.schema&&e.schema.properties&&(n=w),n=e&&e.name&&w[e.name],void 0===n?n=e&&e.name&&w[`${e.in}.${e.name}`]:((e,t)=>t.filter((t=>t.name===e)))(e.name,j).length>1&&console.warn(`Parameter '${e.name}' is ambiguous because the defined spec has more than one parameter with the name: '${e.name}' and the passed-in parameter values did not define an 'in' value.`),null!==n){if(void 0!==e.default&&void 0===n&&(n=e.default),void 0===n&&e.required&&!e.allowEmptyValue)throw new Error(`Required parameter ${e.name} is not provided`);if(A&&e.schema&&"object"===e.schema.type&&"string"==typeof n)try{n=JSON.parse(n)}catch(e){throw new Error("Could not parse object parameter value string as JSON")}r&&r({req:E,parameter:e,value:n,operation:D,spec:t})}}));const T=y(y({},e),{},{operation:D});if(E=A?(0,p.default)(T,E):(0,d.default)(T,E),E.cookies&&Object.keys(E.cookies).length){const e=Object.keys(E.cookies).reduce(((e,t)=>{const r=E.cookies[t];return e+(e?"&":"")+i.default.serialize(t,r)}),"");E.headers.Cookie=e}return E.cookies&&delete E.cookies,(0,s.mergeInQueryOrForm)(E),E}t.self=w;const A=e=>e?e.replace(/\W/g,""):null;function $(e){return(0,Al.isOAS3)(e.spec)?function({spec:e,pathName:t,method:n,server:o,contextUrl:i,serverVariables:s={}}){const l=(0,r.default)(e,["paths",t,(n||"").toLowerCase(),"servers"])||(0,r.default)(e,["paths",t,"servers"])||(0,r.default)(e,["servers"]);let c="",u=null;if(o&&l&&l.length){const e=l.map((e=>e.url));e.indexOf(o)>-1&&(c=o,u=l[e.indexOf(o)])}return!c&&l&&l.length&&(c=l[0].url,[u]=l),c.indexOf("{")>-1&&function(e){const t=[],r=/{([^}]+)}/g;let n;for(;n=r.exec(e);)t.push(n[1]);return t}(c).forEach((e=>{if(u.variables&&u.variables[e]){const t=u.variables[e],r=s[e]||t.default,n=new RegExp(`{${e}}`,"g");c=c.replace(n,r)}})),function(e="",t=""){const r=e&&t?a.default.parse(a.default.resolve(t,e)):a.default.parse(e),n=a.default.parse(t),o=A(r.protocol)||A(n.protocol)||"",i=r.host||n.host,s=r.pathname||"";let l;return l=o&&i?`${o}://${i+s}`:s,"/"===l[l.length-1]?l.slice(0,-1):l}(c,i)}(e):function({spec:e,scheme:t,contextUrl:r=""}){const n=a.default.parse(r),o=Array.isArray(e.schemes)?e.schemes[0]:null,i=t||o||A(n.protocol)||"http",s=e.host||n.host||"",l=e.basePath||"";let c;return c=i&&s?`${i}://${s+l}`:l,"/"===c[c.length-1]?c.slice(0,-1):c}(e)}})),xc=function(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}(ye((function(e,t){t.__esModule=!0,t.default=t.helpers=void 0;var r=u(Ft),n=u(Kt),o=u(wr),a=c(Ma),i=c(Cl),s=u(Il);function l(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return l=function(){return e},e}function c(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=l();if(t&&t.has(e))return t.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=n?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(r,o,a):r[o]=e[o]}return r.default=e,t&&t.set(e,r),r}function u(e){return e&&e.__esModule?e:{default:e}}function p(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function d(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?p(Object(r),!0).forEach((function(t){h(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):p(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function h(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function f(e,t={}){if("string"==typeof e?t.url=e:t=e,!(this instanceof f))return new f(t);(0,r.default)(this,t);const n=this.resolve().then((()=>(this.disableInterfaces||(0,r.default)(this,f.makeApisTagOperation(this)),this)));return n.client=this,n}f.http=a.default,f.makeHttp=a.makeHttp.bind(null,f.http),f.resolve=i.default,f.resolveSubtree=s.default,f.execute=vc.execute,f.serializeRes=a.serializeRes,f.serializeHeaders=a.serializeHeaders,f.clearCache=i.clearCache,f.makeApisTagOperation=Rl.makeApisTagOperation,f.buildRequest=vc.buildRequest,f.helpers={opId:Al.opId},f.getBaseUrl=vc.baseUrl,f.prototype={http:a.default,execute(e){return this.applyDefaults(),f.execute(d({spec:this.spec,http:this.http,securities:{authorized:this.authorizations},contextUrl:"string"==typeof this.url?this.url:void 0,requestInterceptor:this.requestInterceptor||null,responseInterceptor:this.responseInterceptor||null},e))},resolve(e={}){return f.resolve(d({spec:this.spec,url:this.url,http:this.http||this.fetch,allowMetaPatches:this.allowMetaPatches,useCircularStructures:this.useCircularStructures,requestInterceptor:this.requestInterceptor||null,responseInterceptor:this.responseInterceptor||null},e)).then((e=>(this.originalSpec=this.spec,this.spec=e.spec,this.errors=e.errors,this)))}},f.prototype.applyDefaults=function(){const{spec:e}=this,t=this.url;if(t&&(0,n.default)(t,"http")){const r=o.default.parse(t);e.host||(e.host=r.host),e.schemes||(e.schemes=[r.protocol.replace(":","")]),e.basePath||(e.basePath="/")}};const{helpers:m}=f;t.helpers=m;var g=f;t.default=g})));function wc(e){const t=(e=e.replace("[]","Array")).split("/");return t[0]=t[0].replace(/[^A-Za-z0-9_\-\.]+|\s+/gm,"_"),t.join("/")}var kc={parameterTypeProperties:["format","minimum","maximum","exclusiveMinimum","exclusiveMaximum","minLength","maxLength","multipleOf","minItems","maxItems","uniqueItems","minProperties","maxProperties","additionalProperties","pattern","enum","default"],arrayProperties:["items","minItems","maxItems","uniqueItems"],httpMethods:["get","post","put","delete","patch","head","options","trace"],uniqueOnly:function(e,t,r){return r.indexOf(e)===t},createHash:function(e){let t,r=0;if(0===e.length)return r;for(let n=0;n<e.length;n++)t=e.charCodeAt(n),r=(r<<5)-r+t,r|=0;return r},sanitise:wc,sanitiseAll:function(e){return wc(e.split("/").join("_"))},camelize:function(e){return e.toLowerCase().replace(/[-_ \/\.](.)/g,((e,t)=>t.toUpperCase()))},clone:function(e){return JSON.parse(JSON.stringify(e))},circularClone:function e(t,r){if(r||(r=new WeakMap),Object(t)!==t||t instanceof Function)return t;if(r.has(t))return r.get(t);let n;try{n=new t.constructor}catch(e){n=Object.create(Object.getPrototypeOf(t))}return r.set(t,n),Object.assign(n,...Object.keys(t).map((n=>({[n]:e(t[n],r)}))))}};function Ac(){return{depth:0,seen:new WeakMap,top:!0,combine:!1,allowRefSiblings:!1}}var $c=function e(t,r,n,o){if(void 0===n.depth&&(n=Ac()),null==t)return t;if(n.combine&&(t.allOf&&Array.isArray(t.allOf)&&1===t.allOf.length&&delete(t={...t.allOf[0],...t}).allOf,t.anyOf&&Array.isArray(t.anyOf)&&1===t.anyOf.length&&delete(t={...t.anyOf[0],...t}).anyOf,t.oneOf&&Array.isArray(t.oneOf)&&1===t.oneOf.length&&delete(t={...t.oneOf[0],...t}).oneOf),o(t,r,n),n.seen.has(t))return t;if("object"==typeof t&&null!==t&&n.seen.set(t,!0),n.top=!1,n.depth++,void 0!==t.items&&(n.property="items",e(t.items,t,n,o)),t.additionalItems&&"object"==typeof t.additionalItems&&(n.property="additionalItems",e(t.additionalItems,t,n,o)),t.additionalProperties&&"object"==typeof t.additionalProperties&&(n.property="additionalProperties",e(t.additionalProperties,t,n,o)),t.properties)for(const r in t.properties){const a=t.properties[r];n.property=`properties/${r}`,e(a,t,n,o)}if(t.patternProperties)for(const r in t.patternProperties){const a=t.patternProperties[r];n.property=`patternProperties/${r}`,e(a,t,n,o)}if(t.allOf)for(const r in t.allOf){const a=t.allOf[r];n.property=`allOf/${r}`,e(a,t,n,o)}if(t.anyOf)for(const r in t.anyOf){const a=t.anyOf[r];n.property=`anyOf/${r}`,e(a,t,n,o)}if(t.oneOf)for(const r in t.oneOf){const a=t.oneOf[r];n.property=`oneOf/${r}`,e(a,t,n,o)}return t.not&&(n.property="not",e(t.not,t,n,o)),n.depth--,t};function Ec(e,t,r){if(t||(t={depth:0}),t.depth||(t={path:"#",depth:0,pkey:"",parent:{},payload:{},seen:new WeakMap,identity:!1,identityDetection:!1,...t}),"object"!=typeof e)return;const n=t.path;for(const o in e){if(t.key=o,t.path=`${t.path}/${encodeURIComponent(o)}`,t.identityPath=t.seen.get(e[o]),t.identity=void 0!==t.identityPath,e.hasOwnProperty(o)&&r(e,o,t),"object"==typeof e[o]&&!t.identity){t.identityDetection&&!Array.isArray(e[o])&&null!==e[o]&&t.seen.set(e[o],t.path);const n={};n.parent=e,n.path=t.path,n.depth=t.depth?t.depth+1:1,n.pkey=o,n.payload=t.payload,n.seen=t.seen,n.identity=!1,n.identityDetection=t.identityDetection,Ec(e[o],n,r)}t.path=n}}let Sc;function Dc(e,t){for(const r in e)r.startsWith("x-")&&!r.startsWith("x-s2o")&&(t[r]=e[r])}function Oc(e,t){$c(e,{},{},((e,r)=>{!function(e){if(e["x-required"]&&Array.isArray(e["x-required"])&&(e.required||(e.required=[]),e.required=e.required.concat(e["x-required"]),delete e["x-required"]),e["x-anyOf"]&&(e.anyOf=e["x-anyOf"],delete e["x-anyOf"]),e["x-oneOf"]&&(e.oneOf=e["x-oneOf"],delete e["x-oneOf"]),e["x-not"]&&(e.not=e["x-not"],delete e["x-not"]),"boolean"==typeof e["x-nullable"]&&(e.nullable=e["x-nullable"],delete e["x-nullable"]),"object"==typeof e["x-discriminator"]&&"string"==typeof e["x-discriminator"].propertyName){e.discriminator=e["x-discriminator"],delete e["x-discriminator"];for(const t in e.discriminator.mapping){const r=e.discriminator.mapping[t];r.startsWith("#/definitions/")&&(e.discriminator.mapping[t]=r.replace("#/definitions/","#/components/schemas/"))}}}(e),function(e,t,r){if(e.nullable&&r.patches++,e.discriminator&&"string"==typeof e.discriminator&&(e.discriminator={propertyName:e.discriminator}),e.items&&Array.isArray(e.items)&&(0===e.items.length?e.items={}:1===e.items.length?e.items=e.items[0]:e.items={anyOf:e.items}),e.type&&Array.isArray(e.type)){if(r.patches++,r.warnings.push("(Patchable) schema type must not be an array"),0===e.type.length)delete e.type;else{e.oneOf||(e.oneOf=[]);for(const t of e.type){const r={};if("null"===t)e.nullable=!0;else{r.type=t;for(const t of kc.arrayProperties)void 0!==e.prop&&(r[t]=e[t],delete e[t])}r.type&&e.oneOf.push(r)}delete e.type,0===e.oneOf.length?delete e.oneOf:e.oneOf.length<2&&(e.type=e.oneOf[0].type,Object.keys(e.oneOf[0]).length>1&&(r.patches++,r.warnings.push("Lost properties from oneOf")),delete e.oneOf)}e.type&&Array.isArray(e.type)&&1===e.type.length&&(e.type=e.type[0])}e.type&&"null"===e.type&&(delete e.type,e.nullable=!0),"array"!==e.type||e.items||(e.items={}),"file"===e.type&&(e.type="string",e.format="binary"),"boolean"==typeof e.required&&(e.required&&e.name&&(void 0===t.required&&(t.required=[]),Array.isArray(t.required)&&t.required.push(e.name)),delete e.required),e.xml&&"string"==typeof e.xml.namespace&&(e.xml.namespace||delete e.xml.namespace),e.allowEmptyValue&&(delete e.allowEmptyValue,r.patches++,r.warnings.push("(Patchable): deleted schema.allowEmptyValue"))}(e,r,t)}))}function Cc(e){for(const t in e)for(const r in e[t]){const n=kc.sanitise(r);r!==n&&(e[t][n]=e[t][r],delete e[t][r])}}function _c(e,t){if("basic"===e.type&&(e.type="http",e.scheme="basic"),"oauth2"===e.type){const r={};let n=e.flow;"application"===e.flow&&(n="clientCredentials"),"accessCode"===e.flow&&(n="authorizationCode"),"string"==typeof e.authorizationUrl&&(r.authorizationUrl=e.authorizationUrl.split("?")[0].trim()||"/"),"string"==typeof e.tokenUrl&&(r.tokenUrl=e.tokenUrl.split("?")[0].trim()||"/"),r.scopes=e.scopes||{},e.flows={},e.flows[n]=r,delete e.flow,delete e.authorizationUrl,delete e.tokenUrl,delete e.scopes,e.name&&(delete e.name,t.patches++,t.warnings.push("(Patchable) oauth2 securitySchemes should not have name property"))}}function jc(e){return e&&!e["x-s2o-delete"]}function Tc(e,t){if(e.type&&!e.schema&&(e.schema={}),e.type&&(e.schema.type=e.type),e.items&&"array"!==e.items.type){if(e.items.collectionFormat!==e.collectionFormat)return t.errCount++,void t.errors.push({message:"Nested collectionFormats are not supported",pointer:"/.../responses/header"});delete e.items.collectionFormat}"array"===e.type?("ssv"===e.collectionFormat?(t.patches++,t.warnings.push("collectionFormat:ssv is no longer supported for headers")):"pipes"===e.collectionFormat?(t.patches++,t.warnings.push("collectionFormat:pipes is no longer supported for headers")):"multi"===e.collectionFormat?e.explode=!0:"tsv"===e.collectionFormat?(e["x-collectionFormat"]="tsv",t.patches++,t.warnings.push("collectionFormat:tsv is no longer supported")):e.style="simple",delete e.collectionFormat):e.collectionFormat&&(delete e.collectionFormat,t.patches++,t.warnings.push("(Patchable) collectionFormat is only applicable to header.type array")),delete e.type;for(const t of kc.parameterTypeProperties)void 0!==e[t]&&(e.schema[t]=e[t],delete e[t]);for(const t of kc.arrayProperties)void 0!==e[t]&&(e.schema[t]=e[t],delete e[t])}function Fc(e,t,r,n,o,a,i){const s={};let l,c=!0;t&&t.consumes&&"string"==typeof t.consumes&&(t.consumes=[t.consumes],i.patches++,i.warnings.push("(Patchable) operation.consumes must be an array")),Array.isArray(a.consumes)||delete a.consumes;const u=((t?t.consumes:null)||a.consumes||[]).filter(kc.uniqueOnly);if(e&&(e.name||e.in)){"boolean"==typeof e["x-deprecated"]&&(e.deprecated=e["x-deprecated"],delete e["x-deprecated"]),void 0!==e["x-example"]&&(e.example=e["x-example"],delete e["x-example"]),"body"===e.in||e.type||(e.type="string",i.patches++,i.warnings.push("(Patchable) parameter.type is mandatory for non-body parameters")),"file"===e.type&&(e["x-s2o-originalType"]=e.type,l=e.type),null===e.description&&delete e.description;let t=e.collectionFormat;if("array"!==e.type||t||(t="csv"),t&&("array"!==e.type&&(delete e.collectionFormat,i.patches++,i.warnings.push("(Patchable) collectionFormat is only applicable to param.type array")),"csv"!==t||"query"!==e.in&&"cookie"!==e.in||(e.style="form",e.explode=!1),"csv"!==t||"path"!==e.in&&"header"!==e.in||(e.style="simple"),"ssv"===t&&("query"===e.in?e.style="spaceDelimited":i.warnings.push(`${e.name} collectionFormat:ssv is no longer supported except for in:query parameters`)),"pipes"===t&&("query"===e.in?e.style="pipeDelimited":i.warnings.push(`${e.name} collectionFormat:pipes is no longer supported except for in:query parameters`)),"multi"===t&&(e.explode=!0),"tsv"===t&&(i.warnings.push("collectionFormat:tsv is no longer supported"),e["x-collectionFormat"]="tsv"),delete e.collectionFormat),e.type&&"body"!==e.type&&"formData"!==e.in)if(e.items&&e.schema)i.warnings.push(`${e.name} parameter has array,items and schema`);else{e.schema&&i.patches++,e.schema&&"object"==typeof e.schema||(e.schema={}),e.schema.type=e.type,e.items&&(e.schema.items=e.items,delete e.items,Ec(e.schema.items,null,((r,n)=>{"collectionFormat"===n&&"string"==typeof r[n]&&(t&&r[n]!==t&&i.warnings.push(`${e.name} Nested collectionFormats are not supported`),delete r[n])})));for(const t of kc.parameterTypeProperties)void 0!==e[t]&&(e.schema[t]=e[t]),delete e[t]}e.schema&&Oc(e.schema,i),e["x-ms-skip-url-encoding"]&&"query"===e.in&&(e.allowReserved=!0,delete e["x-ms-skip-url-encoding"])}if(e&&"formData"===e.in){c=!1,s.content={};let t="application/x-www-form-urlencoded";if(u.length&&u.indexOf("multipart/form-data")>=0&&(t="multipart/form-data"),s.content[t]={},e.schema)s.content[t].schema=e.schema;else{s.content[t].schema={},s.content[t].schema.type="object",s.content[t].schema.properties={},s.content[t].schema.properties[e.name]={};const r=s.content[t].schema,n=s.content[t].schema.properties[e.name];e.description&&(n.description=e.description),e.example&&(n.example=e.example),e.type&&(n.type=e.type);for(const t of kc.parameterTypeProperties)void 0!==e[t]&&(n[t]=e[t]);!0===e.required&&(r.required||(r.required=[]),r.required.push(e.name),s.required=!0),void 0!==e.default&&(n.default=e.default),n.properties&&(n.properties=e.properties),e.allOf&&(n.allOf=e.allOf),"array"===e.type&&e.items&&(n.items=e.items,n.items.collectionFormat&&delete n.items.collectionFormat),"file"!==l&&"file"!==e["x-s2o-originalType"]||(n.type="string",n.format="binary"),Dc(e,n)}}else e&&"file"===e.type&&(e.required&&(s.required=e.required),s.content={},s.content["application/octet-stream"]={},s.content["application/octet-stream"].schema={},s.content["application/octet-stream"].schema.type="string",s.content["application/octet-stream"].schema.format="binary",Dc(e,s));if(e&&"body"===e.in){s.content={},e.name&&(s["x-s2o-name"]=(t&&t.operationId?kc.sanitiseAll(t.operationId):"")+kc.camelize(`_${e.name}`)),e.description&&(s.description=e.description),e.required&&(s.required=e.required),u.length||u.push("application/json");for(const t of u)s.content[t]={},s.content[t].schema=kc.clone(e.schema||{}),Oc(s.content[t].schema,i);Dc(e,s)}if(Object.keys(s).length>0&&(e["x-s2o-delete"]=!0,t))if(t.requestBody&&c){t.requestBody["x-s2o-overloaded"]=!0;const e=t.operationId||o;i.warnings.push(`Operation ${e} has multiple requestBodies`)}else t.requestBody||(t=function(e,t){const r={};for(const n of Object.keys(e))r[n]=e[n],"parameters"===n&&(r.requestBody={},t.rbname&&(r[t.rbname]=""));return r.requestBody={},r}(t,i),r[n]=t),t.requestBody.content&&t.requestBody.content["multipart/form-data"]&&t.requestBody.content["multipart/form-data"].schema&&t.requestBody.content["multipart/form-data"].schema.properties&&s.content["multipart/form-data"]&&s.content["multipart/form-data"].schema&&s.content["multipart/form-data"].schema.properties?(t.requestBody.content["multipart/form-data"].schema.properties=Object.assign(t.requestBody.content["multipart/form-data"].schema.properties,s.content["multipart/form-data"].schema.properties),t.requestBody.content["multipart/form-data"].schema.required=(t.requestBody.content["multipart/form-data"].schema.required||[]).concat(s.content["multipart/form-data"].schema.required||[]),t.requestBody.content["multipart/form-data"].schema.required.length||delete t.requestBody.content["multipart/form-data"].schema.required):t.requestBody.content&&t.requestBody.content["application/x-www-form-urlencoded"]&&t.requestBody.content["application/x-www-form-urlencoded"].schema&&t.requestBody.content["application/x-www-form-urlencoded"].schema.properties&&s.content["application/x-www-form-urlencoded"]&&s.content["application/x-www-form-urlencoded"].schema&&s.content["application/x-www-form-urlencoded"].schema.properties?(t.requestBody.content["application/x-www-form-urlencoded"].schema.properties=Object.assign(t.requestBody.content["application/x-www-form-urlencoded"].schema.properties,s.content["application/x-www-form-urlencoded"].schema.properties),t.requestBody.content["application/x-www-form-urlencoded"].schema.required=(t.requestBody.content["application/x-www-form-urlencoded"].schema.required||[]).concat(s.content["application/x-www-form-urlencoded"].schema.required||[]),t.requestBody.content["application/x-www-form-urlencoded"].schema.required.length||delete t.requestBody.content["application/x-www-form-urlencoded"].schema.required):(t.requestBody=Object.assign(t.requestBody,s),t.requestBody["x-s2o-name"]||t.operationId&&(t.requestBody["x-s2o-name"]=kc.sanitiseAll(t.operationId)));if(e&&!e["x-s2o-delete"]){delete e.type;for(const t of kc.parameterTypeProperties)delete e[t];"path"!==e.in||void 0!==e.required&&!0===e.required||(e.required=!0,i.patches++,i.warnings.push(`(Patchable) path parameters must be required:true [${e.name} in ${o}]`))}return t}function Pc(e,t,r,n,o){if(!e)return!1;if(e.description||"object"!=typeof e||Array.isArray(e)||(o.patches++,o.warnings.push("(Patchable) response.description is mandatory")),void 0!==e.schema){Oc(e.schema,o),r&&r.produces&&"string"==typeof r.produces&&(r.produces=[r.produces],o.patches++,o.warnings.push("(Patchable) operation.produces must be an array")),n.produces&&!Array.isArray(n.produces)&&delete n.produces;const t=((r?r.produces:null)||n.produces||[]).filter(kc.uniqueOnly);t.length||t.push("*/*"),e.content={};for(const r of t){if(e.content[r]={},e.content[r].schema=kc.clone(e.schema),e.examples&&e.examples[r]){const t={};t.value=e.examples[r],e.content[r].examples={},e.content[r].examples.response=t,delete e.examples[r]}"file"===e.content[r].schema.type&&(e.content[r].schema={type:"string",format:"binary"})}delete e.schema}for(const t in e.examples)e.content||(e.content={}),e.content[t]||(e.content[t]={}),e.content[t].examples={},e.content[t].examples.response={},e.content[t].examples.response.value=e.examples[t];if(delete e.examples,e.headers)for(const t in e.headers)"status code"===t.toLowerCase()?(delete e.headers[t],o.patches++,o.warnings.push('(Patchable) "Status Code" is not a valid header')):Tc(e.headers[t],o)}function Bc(e,t,r,n,o){for(const a in e){const i=e[a];i&&i["x-trace"]&&"object"==typeof i["x-trace"]&&(i.trace=i["x-trace"],delete i["x-trace"]),i&&i["x-summary"]&&"string"==typeof i["x-summary"]&&(i.summary=i["x-summary"],delete i["x-summary"]),i&&i["x-description"]&&"string"==typeof i["x-description"]&&(i.description=i["x-description"],delete i["x-description"]),i&&i["x-servers"]&&Array.isArray(i["x-servers"])&&(i.servers=i["x-servers"],delete i["x-servers"]);for(const e in i)if(kc.httpMethods.indexOf(e)>=0||"x-amazon-apigateway-any-method"===e){let s=i[e];if(s&&s.parameters&&Array.isArray(s.parameters)){if(i.parameters)for(const t of i.parameters)s.parameters.find((e=>e.name===t.name&&e.in===t.in))||"formData"!==t.in&&"body"!==t.in&&"file"!==t.type||(s=Fc(t,s,i,e,a,o,r));for(const t of s.parameters)s=Fc(t,s,i,e,`${e}: ${a}`,o,r);s.parameters&&(s.parameters=s.parameters.filter(jc))}if(s&&s.security&&Cc(s.security),"object"==typeof s){if(!s.responses){const e={description:"Default response"};s.responses={default:e}}for(const e in s.responses)Pc(s.responses[e],0,s,o,r)}if(s&&s["x-servers"]&&Array.isArray(s["x-servers"]))s.servers=s["x-servers"],delete s["x-servers"];else if(s&&s.schemes&&s.schemes.length)for(const e of s.schemes)if((!o.schemes||o.schemes.indexOf(e)<0)&&(s.servers||(s.servers=[]),Array.isArray(o.servers)))for(const e of o.servers){const t=kc.clone(e);s.servers.push(t)}if(s){if(delete s.consumes,delete s.produces,delete s.schemes,s["x-ms-examples"]){for(const e in s["x-ms-examples"]){const t=s["x-ms-examples"][e],r=kc.sanitiseAll(e);if(t.parameters)for(const r in t.parameters){const n=t.parameters[r];for(const t of(s.parameters||[]).concat(i.parameters||[]))t.name!==r||t.example||(t.examples||(t.examples={}),t.examples[e]={value:n})}if(t.responses)for(const n in t.responses){if(t.responses[n].headers)for(const e in t.responses[n].headers){const r=t.responses[n].headers[e];for(const t in s.responses[n].headers)t===e&&(s.responses[n].headers[t].example=r)}if(t.responses[n].body&&(o.components.examples[r]={value:kc.clone(t.responses[n].body)},s.responses[n]&&s.responses[n].content))for(const t in s.responses[n].content){const o=s.responses[n].content[t];o.examples||(o.examples={}),o.examples[e]={$ref:`#/components/examples/${r}`}}}}delete s["x-ms-examples"]}if(s.parameters&&0===s.parameters.length&&delete s.parameters,s.requestBody){const r=s.operationId?kc.sanitiseAll(s.operationId):kc.camelize(kc.sanitiseAll(e+a)),o=kc.sanitise(s.requestBody["x-s2o-name"]||r||"");delete s.requestBody["x-s2o-name"];const i=JSON.stringify(s.requestBody),l=kc.createHash(i);if(!n[l]){const e={};e.name=o,e.body=s.requestBody,e.refs=[],n[l]=e}const c=`#/${t}/${encodeURIComponent(a)}/${e}/requestBody`;n[l].refs.push(c)}}}if(i&&i.parameters){for(const e in i.parameters)Fc(i.parameters[e],null,i,null,a,o,r);Array.isArray(i.parameters)&&(i.parameters=i.parameters.filter(jc))}}}function Ic(e){return e&&e.url&&"string"==typeof e.url?(e.url=e.url.split("{{").join("{"),e.url=e.url.split("}}").join("}"),e.url.replace(/\{(.+?)\}/g,((t,r)=>{e.variables||(e.variables={}),e.variables[r]={default:"unknown"}})),e):e}function Rc(e,t){var r,n;void 0!==e.info&&null!==e.info||(e.info={version:"",title:""},t.patches++,t.warnings.push("(Patchable) info object is mandatory")),("object"!=typeof e.info||Array.isArray(e.info))&&(t.errCount++,t.errors.push({message:"info must be an object",pointer:"/info"})),void 0===(null==(r=e.info)?void 0:r.title)&&(t.patches++,e.info.title="",t.warnings.push({message:"(Patchable) info.title cannot be null",pointer:"/info/title",patchable:!0})),void 0===(null==(n=e.info)?void 0:n.version)?(t.patches++,e.info.version="",t.warnings.push("(Patchable) info.version cannot be null")):"string"!=typeof e.info.version&&(t.patches++,e.info.version=e.info.version.toString(),t.warnings.push("(Patchable) info.version must be a string"))}function Nc(e,t){e.paths||(t.patches++,e.paths={},t.warnings.push("(Patchable) paths object is mandatory"))}function Lc(e={}){const t={original:e,openapi:{},patches:0,warnings:[],errCount:0,errors:[]};if(e.openapi&&"string"==typeof e.openapi&&e.openapi.startsWith("3."))return t.openapi=kc.circularClone(e),Rc(t.openapi,t),Nc(t.openapi,t),t;if("2.0"!==e.swagger)return t.errCount++,t.errors.push({message:`Unsupported swagger/OpenAPI version: ${e.openapi?e.openapi:e.swagger}`,pointer:"/swagger"}),t;if(t.openapi=kc.circularClone(e),t.openapi.openapi="3.0.0",delete t.openapi.swagger,Ec(t.openapi,{},((e,t,r)=>{null===e[t]&&!t.startsWith("x-")&&"default"!==t&&r.path.indexOf("/example")<0&&delete e[t]})),e.host)(e.schemes||[]).forEach((r=>{const n={},o=(e.basePath||"").replace(/\/$/,"");n.url=`${r?`${r}:`:""}//${e.host}${o}`,Ic(n),t.openapi.servers||(t.openapi.servers=[]),t.openapi.servers.push(n)}));else if(e.basePath){const r={};r.url=e.basePath,Ic(r),t.openapi.servers||(t.openapi.servers=[]),t.openapi.servers.push(r)}if(delete t.openapi.host,delete t.openapi.basePath,e["x-ms-parameterized-host"]){const r=e["x-ms-parameterized-host"],n={};n.url=r.hostTemplate+(e.basePath?e.basePath:""),n.variables={};const o=n.url.match(/\{\w+\}/g);for(const e in r.parameters){const t=r.parameters[e];e.startsWith("x-")||(delete t.required,delete t.type,delete t.in,void 0===t.default&&(t.enum?t.default=t.enum[0]:t.default="none"),t.name||(t.name=o[e].replace("{","").replace("}","")),n.variables[t.name]=t,delete t.name)}t.openapi.servers||(t.openapi.servers=[]),!1===r.useSchemePrefix?t.openapi.servers.push(n):e.schemes.forEach((e=>{t.openapi.servers.push({...n,url:`${e}://${n.url}`})})),delete t.openapi["x-ms-parameterized-host"]}return Rc(t.openapi,t),Nc(t.openapi,t),"string"==typeof t.openapi.consumes&&(t.openapi.consumes=[t.openapi.consumes]),"string"==typeof t.openapi.produces&&(t.openapi.produces=[t.openapi.produces]),t.openapi.components={},t.openapi["x-callbacks"]&&(t.openapi.components.callbacks=t.openapi["x-callbacks"],delete t.openapi["x-callbacks"]),t.openapi.components.examples={},t.openapi.components.headers={},t.openapi["x-links"]&&(t.openapi.components.links=t.openapi["x-links"],delete t.openapi["x-links"]),t.openapi.components.parameters=t.openapi.parameters||{},t.openapi.components.responses=t.openapi.responses||{},t.openapi.components.requestBodies={},t.openapi.components.securitySchemes=t.openapi.securityDefinitions||{},t.openapi.components.schemas=t.openapi.definitions||{},delete t.openapi.definitions,delete t.openapi.responses,delete t.openapi.parameters,delete t.openapi.securityDefinitions,function(e){const t=e.openapi,r={};Sc={schemas:{}},t.security&&Cc(t.security);for(const r in t.components.securitySchemes){const n=kc.sanitise(r);if(r!==n){if(t.components.securitySchemes[n])return e.errCount++,e.errors.push({message:`Duplicate sanitised securityScheme name ${n}`,pointer:`/components/securitySchemes/${n}`}),e;t.components.securitySchemes[n]=t.components.securitySchemes[r],delete t.components.securitySchemes[r]}_c(t.components.securitySchemes[n],e)}for(const r in t.components.schemas){const n=kc.sanitiseAll(r);let o="";if(r!==n){for(;t.components.schemas[n+o];)o=o?++o:2;t.components.schemas[n+o]=t.components.schemas[r],delete t.components.schemas[r]}Sc.schemas[r]=n+o,Oc(t.components.schemas[`${n}${o}`],e)}for(const r in t.components.parameters){const n=kc.sanitise(r);if(r!==n){if(t.components.parameters[n])return e.errCount++,e.errors.push({message:`Duplicate sanitised parameter name ${n}`,pointer:`/components/parameters/${n}`}),e;t.components.parameters[n]=t.components.parameters[r],delete t.components.parameters[r]}Fc(t.components.parameters[n],null,null,null,n,t,e)}for(const r in t.components.responses){const n=kc.sanitise(r);if(r!==n){if(t.components.responses[n])return e.errCount++,e.errors.push({message:`Duplicate sanitised response name ${n}`,pointer:`/components/responses/${n}`}),e;t.components.responses[n]=t.components.responses[r],delete t.components.responses[r]}const o=t.components.responses[n];if(Pc(o,0,null,t,e),o.headers)for(const t in o.headers)"status code"===t.toLowerCase()?(delete o.headers[t],e.patches++,e.warnings.push('(Patchable) "Status Code" is not a valid header')):Tc(o.headers[t],e)}for(const e in t.components.requestBodies){const n=t.components.requestBodies[e],o=JSON.stringify(n),a=kc.createHash(o),i={};i.name=e,i.body=n,i.refs=[],r[a]=i}Bc(t.paths,"paths",e,r,t),t["x-ms-paths"]&&Bc(t["x-ms-paths"],"x-ms-paths",e,r,t);for(const e in t.components.parameters)t.components.parameters[e]["x-s2o-delete"]&&delete t.components.parameters[e];return delete t.consumes,delete t.produces,delete t.schemes,t.components.requestBodies={},t.components.responses&&0===Object.keys(t.components.responses).length&&delete t.components.responses,t.components.parameters&&0===Object.keys(t.components.parameters).length&&delete t.components.parameters,t.components.examples&&0===Object.keys(t.components.examples).length&&delete t.components.examples,t.components.requestBodies&&0===Object.keys(t.components.requestBodies).length&&delete t.components.requestBodies,t.components.securitySchemes&&0===Object.keys(t.components.securitySchemes).length&&delete t.components.securitySchemes,t.components.headers&&0===Object.keys(t.components.headers).length&&delete t.components.headers,t.components.schemas&&0===Object.keys(t.components.schemas).length&&delete t.components.schemas,t.components&&0===Object.keys(t.components).length&&delete t.components,e}(t)}const qc={convertObj:Lc,resolve:function(e){return new Promise((async t=>{var r,n,o;try{const a=await xc.resolve(e);if((null==(r=a.errors)?void 0:r.length)>0)t(a);else{a.spec.openapi&&(a.resolvedSpec=a.spec,t(a));const e=Lc(a.spec);(null==(n=e.errors)?void 0:n.length)>0&&(Array.isArray(a.errors)?a.errors.concat(a.errors):a.errors=e.errors),(null==(o=e.warnings)?void 0:o.length)>0&&(a.warnings=e.warnings),a.resolvedSpec=a.spec,a.spec=e.openapi,t(a)}}catch(e){t(e)}}))}};async function zc(e,t=!1,r=!1,n="",o="",a="",i="",s=""){var l;let c;try{let t;t="string"==typeof e?await qc.resolve({url:e}):await qc.resolve({spec:e}),c=t.spec,this.dispatchEvent(new CustomEvent("before-render",{detail:{spec:c}}))}catch(e){console.info("RapiDoc: %c There was an issue while parsing the spec %o ","color:orangered",e)}const u=function(e,t=!1,r=!1,n){const o=["get","put","post","delete","patch","head","options"],a=e.tags&&Array.isArray(e.tags)?e.tags.map((e=>({show:!0,elementId:`tag--${e.name.replace(ue,"-")}`,name:e.name,description:e.description||"",headers:e.description?Uc(e.description):[],paths:[],expanded:!1!==e["x-tag-expanded"]}))):[],i=e.paths||{};if(e.webhooks)for(const[t,r]of Object.entries(e.webhooks))r._type="webhook",i[t]=r;for(const r in i){const n=i[r].parameters,s={servers:i[r].servers||[],parameters:i[r].parameters||[]},l="webhook"===i[r]._type;o.forEach((o=>{if(i[r][o]){const i=e.paths[r][o],c=i.tags||[];if(0===c.length)if(t){const e=r.replace(/^\/+|\/+$/g,""),t=e.indexOf("/");-1===t?c.push(e):c.push(e.substr(0,t))}else c.push("General ⦂");c.forEach((t=>{let c,u;var p,d;(e.tags&&(u=e.tags.find((e=>e.name.toLowerCase()===t.toLowerCase()))),c=a.find((e=>e.name===t)),c)||(c={show:!0,elementId:`tag--${t.replace(ue,"-")}`,name:t,description:(null===(p=u)||void 0===p?void 0:p.description)||"",headers:null!==(d=u)&&void 0!==d&&d.description?Uc(u.description):[],paths:[],expanded:!u||!1!==u["x-tag-expanded"]},a.push(c));let h=(i.summary||i.description||`${o.toUpperCase()} ${r}`).trim();h.length>100&&(h=h.split(/[.|!|?]\s|[\r?\n]/)[0]);let f=[];f=n?i.parameters?n.filter((e=>{if(!i.parameters.some((t=>e.name===t.name&&e.in===t.in)))return e})).concat(i.parameters):n.slice(0):i.parameters?i.parameters.slice(0):[],c.paths.push({show:!0,expanded:!1,isWebhook:l,expandedAtLeastOnce:!1,summary:i.summary||"",description:i.description||"",shortSummary:h,method:o,path:r,operationId:i.operationId,elementId:`${o}-${r.replace(ue,"-")}`,servers:i.servers?s.servers.concat(i.servers):s.servers,parameters:f,requestBody:i.requestBody,responses:i.responses,callbacks:i.callbacks,deprecated:i.deprecated,security:i.security,xCodeSamples:i["x-codeSamples"]||i["x-code-samples"]||""})}))}}))}const s=a.filter((e=>e.paths&&e.paths.length>0));return s.forEach((e=>{"method"===n?e.paths.sort(((e,t)=>o.indexOf(e.method).toString().localeCompare(o.indexOf(t.method)))):"summary"===n?e.paths.sort(((e,t)=>e.shortSummary.localeCompare(t.shortSummary))):e.paths.sort(((e,t)=>e.path.localeCompare(t.path))),e.firstPathId=e.paths[0].elementId})),r?s.sort(((e,t)=>e.name.localeCompare(t.name))):s}(c,t,r,n),p=function(e){if(!e.components)return[];const t=[];for(const r in e.components){const n=[];for(const t in e.components[r]){const o={show:!0,id:`${r.toLowerCase()}-${t.toLowerCase()}`.replace(ue,"-"),name:t,component:e.components[r][t]};n.push(o)}let o=r,a=r;switch(r){case"schemas":a="Schemas",o="Schemas allows the definition of input and output data types. These types can be objects, but also primitives and arrays.";break;case"responses":a="Responses",o="Describes responses from an API Operation, including design-time, static links to operations based on the response.";break;case"parameters":a="Parameters",o="Describes operation parameters. A unique parameter is defined by a combination of a name and location.";break;case"examples":a="Examples",o="List of Examples for operations, can be requests, responses and objects examples.";break;case"requestBodies":a="Request Bodies",o="Describes common request bodies that are used across the API operations.";break;case"headers":a="Headers",o='Headers follows the structure of the Parameters but they are explicitly in "header"';break;case"securitySchemes":a="Security Schemes",o="Defines a security scheme that can be used by the operations. Supported schemes are HTTP authentication, an API key (either as a header, a cookie parameter or as a query parameter), OAuth2's common flows(implicit, password, client credentials and authorization code) as defined in RFC6749, and OpenID Connect Discovery.";break;case"links":a="Links",o="Links represent a possible design-time link for a response. The presence of a link does not guarantee the caller's ability to successfully invoke it, rather it provides a known relationship and traversal mechanism between responses and other operations.";break;case"callbacks":a="Callbacks",o="A map of possible out-of band callbacks related to the parent operation. Each value in the map is a Path Item Object that describes a set of requests that may be initiated by the API provider and the expected responses. The key value used to identify the path item object is an expression, evaluated at runtime, that identifies a URL to use for the callback operation.";break;default:a=r,o=r}const i={show:!0,name:a,description:o,subComponents:n};t.push(i)}return t||[]}(c),d=null!==(l=c.info)&&void 0!==l&&l.description?Uc(c.info.description):[],h=[];c.components&&c.components.securitySchemes&&Object.entries(c.components.securitySchemes).forEach((e=>{const t={apiKeyId:e[0],...e[1]};t.value="",t.finalKeyValue="","apiKey"===e[1].type||"http"===e[1].type?(t.in=e[1].in||"header",t.name=e[1].name||"Authorization",t.user="",t.password=""):"oauth2"===e[1].type&&(t.in="header",t.name="Authorization",t.clientId="",t.clientSecret=""),h.push(t)})),o&&a&&i&&h.push({apiKeyId:pe,description:"api-key provided in rapidoc element attributes",type:"apiKey",oAuthFlow:"",name:o,in:a,value:i,finalKeyValue:i}),h.forEach((e=>{"http"===e.type?e.typeDisplay="basic"===e.scheme?"HTTP Basic":"HTTP Bearer":"apiKey"===e.type?e.typeDisplay=`API Key (${e.name})`:"oauth2"===e.type?e.typeDisplay=`OAuth (${e.apiKeyId})`:e.typeDisplay=e.type}));let f=[];c.servers&&Array.isArray(c.servers)?(c.servers.forEach((e=>{let t=e.url.trim();t.startsWith("http")||t.startsWith("//")||t.startsWith("{")||window.location.origin.startsWith("http")&&(e.url=window.location.origin+e.url,t=e.url),e.variables&&Object.entries(e.variables).forEach((e=>{const r=new RegExp(`{${e[0]}}`,"g");t=t.replace(r,e[1].default||""),e[1].value=e[1].default||""})),e.computedUrl=t})),s&&c.servers.push({url:s,computedUrl:s})):s?c.servers=[{url:s,computedUrl:s}]:window.location.origin.startsWith("http")?c.servers=[{url:window.location.origin,computedUrl:window.location.origin}]:c.servers=[{url:"http://localhost",computedUrl:"http://localhost"}],f=c.servers;return{info:c.info,infoDescriptionHeaders:d,tags:u,components:p,externalDocs:c.externalDocs,securitySchemes:h,servers:f}}function Uc(e){return Z().lexer(e).filter((e=>"heading"===e.type&&e.depth<=2))||[]}const Mc=new WeakMap,Hc=(e=>(...t)=>{const r=e(...t);return n.set(r,!0),r})((e=>t=>{if(!(t instanceof E))throw new Error("unsafeHTML can only be used in text bindings");const r=Mc.get(t);if(void 0!==r&&w(e)&&e===r.value&&t.value===r.fragment)return;const n=document.createElement("template");n.innerHTML=e;const o=document.importNode(n.content,!0);t.setValue(o),Mc.set(t,{value:e,fragment:o})}));function Vc(e,t){let r="";const n=this.resolvedSpec.securitySchemes.find((t=>t.apiKeyId===e));if(n){const e=t.target.closest("tr");if(n.type&&n.scheme&&"http"===n.type&&"basic"===n.scheme.toLowerCase()){const t=e.querySelector(".api-key-user").value.trim(),n=e.querySelector(".api-key-password").value.trim();t&&n&&(r=`Basic ${btoa(`${t}:${n}`)}`)}else r=e.querySelector(".api-key-input").value.trim(),r&&n.scheme&&"bearer"===n.scheme.toLowerCase()&&(r=`Bearer ${r}`);n.finalKeyValue=r}this.requestUpdate()}function Wc(){this.resolvedSpec.securitySchemes.forEach((e=>{e.user="",e.password="",e.value="",e.finalKeyValue=""})),this.requestUpdate()}function Yc(e,t="Bearer",r){this.resolvedSpec.securitySchemes.find((t=>t.apiKeyId===e)).finalKeyValue=`${"bearer"===t.toLowerCase()?"Bearer":"mac"===t.toLowerCase()?"MAC":t} ${r}`,this.requestUpdate()}async function Kc(e,t,r,n,o,a,i="header",s,l,c=null){const u=l?l.querySelector(".oauth-resp-display"):void 0,p=new URLSearchParams,d=new Headers;p.append("grant_type",o),"client_credentials"!==o&&p.append("redirect_uri",n),a&&(p.append("code",a),p.append("code_verifier","731DB1C3F7EA533B85E29492D26AA-1234567890-1234567890")),"header"===i?d.set("Authorization",`Basic ${btoa(`${t}:${r}`)}`):(p.append("client_id",t),p.append("client_secret",r)),c&&p.append("scope",c);try{const t=await fetch(e,{method:"POST",headers:d,body:p}),r=await t.json();if(!t.ok)return u&&(u.innerHTML=`<span style="color:var(--red)">${r.error_description||r.error_description||"Unable to get access token"}</span>`),!1;if(r.token_type&&r.access_token)return Yc.call(this,s,r.token_type,r.access_token),u&&(u.innerHTML='<span style="color:var(--green)">Access Token Received</span>'),!0}catch(e){return u&&(u.innerHTML='<span style="color:var(--red)">Failed to get access token</span>'),!1}}async function Gc(e,t,r,n,o,a,i,s,l,c){sessionStorage.removeItem("winMessageEventActive"),t.close(),e.data.fake||(e.data||console.warn("RapiDoc: Received no data with authorization message"),e.data.error&&console.warn("RapiDoc: Error while receiving data"),e.data&&("code"===e.data.responseType?Kc.call(this,r,n,o,a,i,e.data.code,s,l,c):"token"===e.data.responseType&&Yc.call(this,l,e.data.token_type,e.data.access_token)))}async function Jc(e,t,r,n,o){const a=o.target.closest(".oauth-flow"),i=a.querySelector(".oauth-client-id")?a.querySelector(".oauth-client-id").value.trim():"",s=a.querySelector(".oauth-client-secret")?a.querySelector(".oauth-client-secret").value.trim():"",l=a.querySelector(".oauth-send-client-secret-in")?a.querySelector(".oauth-send-client-secret-in").value.trim():"header",c=[...a.querySelectorAll(".scope-checkbox:checked")],u=a.querySelector(`#${e}-pkce`),p=`${Math.random().toString(36)}random`.slice(2,9),d=new URL(`${window.location.origin}${window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))}/${this.oauthReceiver}`);let h,f="",m="";if([...a.parentNode.querySelectorAll(".oauth-resp-display")].forEach((e=>{e.innerHTML=""})),"authorizationCode"===t||"implicit"===t){const o=new URL(r);"authorizationCode"===t?(f="authorization_code",m="code"):"implicit"===t&&(m="token");const g=new URLSearchParams(o.search),y=c.map((e=>e.value)).join(" ");y&&g.set("scope",y),g.set("client_id",i),g.set("redirect_uri",d.toString()),g.set("response_type",m),g.set("state",p),u&&u.checked&&(g.set("code_challenge","4FatVDBJKPAo4JgLLaaQFMUcQPn5CrPRvLlaob9PTYc"),g.set("code_challenge_method","S256")),g.set("show_dialog",!0),o.search=g.toString(),"true"===sessionStorage.getItem("winMessageEventActive")&&window.postMessage({fake:!0},this),setTimeout((()=>{h=window.open(o.toString()),h?(sessionStorage.setItem("winMessageEventActive","true"),window.addEventListener("message",(t=>Gc.call(this,t,h,n,i,s,d.toString(),f,l,e,a)),{once:!0})):console.error(`RapiDoc: Unable to open ${o.toString()} in a new window`)}),10)}else if("clientCredentials"===t){f="client_credentials";const t=c.map((e=>e.value)).join(" ");Kc.call(this,n,i,s,d.toString(),f,"",l,e,a,t)}}function Zc(e,t,r,n,o){let a=o.authorizationUrl,i=o.tokenUrl,s=o.refreshUrl;const l=e=>e.indexOf("://")>0||0===e.indexOf("//");let c;return s&&!l(s)&&(s=`${this.selectedServer.computedUrl}/${s.replace(/^\//,"")}`),i&&!l(i)&&(i=`${this.selectedServer.computedUrl}/${i.replace(/^\//,"")}`),a&&!l(a)&&(a=`${this.selectedServer.computedUrl}/${a.replace(/^\//,"")}`),c="authorizationCode"===e?"Authorization Code Flow":"clientCredentials"===e?"Client Credentials Flow":"implicit"===e?"Implicit Flow":"password"===e?"Password Flow":e,I` <div class="oauth-flow" style="padding:12px 0;margin-bottom:12px"> <div class="tiny-title upper" style="margin-bottom:8px">${c}</div> ${a?I`<div style="margin-bottom:5px"><span style="width:75px;display:inline-block">Auth URL</span> <span class="mono-font"> ${a} </span></div>`:""} ${i?I`<div style="margin-bottom:5px"><span style="width:75px;display:inline-block">Token URL</span> <span class="mono-font">${i}</span></div>`:""} ${s?I`<div style="margin-bottom:5px"><span style="width:75px;display:inline-block">Refresh URL</span> <span class="mono-font">${s}</span></div>`:""} ${"authorizationCode"===e||"clientCredentials"===e||"implicit"===e||"password"===e?I` ${o.scopes?I` <span> Scopes </span> <div class="oauth-scopes" part="section-auth-scopes" style="width:100%;display:flex;flex-direction:column;flex-wrap:wrap;margin:0 0 10px 24px"> ${Object.entries(o.scopes).map(((t,r)=>I` <div class="m-checkbox" style="display:inline-flex;align-items:center"> <input type="checkbox" part="checkbox checkbox-auth-scope" class="scope-checkbox" id="${n}${e}${r}" value="${t[0]}"> <label for="${n}${e}${r}" style="margin-left:5px;cursor:pointer"> <span class="mono-font">${t[0]}</span> ${t[0]!==t[1]?` - ${t[1]||""}`:""} </label> </div> `))} </div> `:""} <div> ${"authorizationCode"===e?I` <div style="margin:16px 0 4px"> <input type="checkbox" part="checkbox checkbox-auth-scope" id="${n}-pkce" checked="checked"> <label for="${n}-pkce" style="margin:0 16px 0 4px;line-height:24px;cursor:pointer"> Send Proof Key for Code Exchange (PKCE) </label> </div> `:""} <input type="text" part="textbox textbox-auth-client-id" value="${t||""}" placeholder="client-id" spellcheck="false" class="oauth-client-id"> ${"authorizationCode"===e||"clientCredentials"===e||"password"===e?I` <input type="password" part="textbox textbox-auth-client-secret" value="${r||""}" placeholder="client-secret" spellcheck="false" class="oauth-client-secret" style="margin:0 5px"> ${"authorizationCode"===e||"clientCredentials"===e?I` <select style="margin-right:5px" class="oauth-send-client-secret-in"> <option value="header" selected="selected"> Authorization Header </option> <option value="request-body"> Request Body </option> </select>`:""} `:I`<div style="width:5px"></div>`} ${"authorizationCode"===e||"clientCredentials"===e||"implicit"===e?I` <button class="m-btn thin-border" part="btn btn-outline" @click="${t=>{Jc.call(this,n,e,a,i,t)}}"> GET TOKEN </button>`:""} </div> ${"password"===e?I` <div style="display:flex;max-height:28px;margin-top:2px"> <input type="text" value="" placeholder="username" spellcheck="false" class="api-key-user" part="textbox textbox-username"> <input type="password" value="" placeholder="password" spellcheck="false" class="api-key-password" style="margin:0 5px" part="textbox textbox-password"> </div>`:""} <div class="oauth-resp-display red-text small-font-size"></div> `:""} </div> `}function Xc(){var e;if(!this.resolvedSpec)return"";const t=null===(e=this.resolvedSpec.securitySchemes)||void 0===e?void 0:e.filter((e=>e.finalKeyValue));return t?I` <section id="auth" part="section-auth" style="margin-top:24px;margin-bottom:24px" class="observe-me ${"read focused".includes(this.renderStyle)?"section-gap--read-mode":"section-gap "}"> <div class="sub-title regular-font"> AUTHENTICATION </div> <div class="small-font-size" style="display:flex;align-items:center;min-height:30px"> ${t.length>0?I` <div class="blue-text"> ${t.length} API key applied </div> <div style="flex:1"></div> <button class="m-btn thin-border" part="btn btn-outline" @click="${()=>{Wc.call(this)}}">CLEAR ALL API KEYS</button>`:I`<div class="red-text">No API key applied</div>`} </div> ${this.resolvedSpec.securitySchemes&&this.resolvedSpec.securitySchemes.length>0?I` <table class="m-table padded-12" style="width:100%"> ${this.resolvedSpec.securitySchemes.map((e=>I` <tr> <td style="max-width:500px;overflow-wrap:break-word"> <div style="line-height:28px;margin-bottom:5px"> <span style="font-weight:700;font-size:var(--font-size-regular)">${e.typeDisplay}</span> ${e.finalKeyValue?I` <span class="blue-text"> ${e.finalKeyValue?"Key Applied":""} </span> <button class="m-btn thin-border small" part="btn btn-outline" @click="${()=>{e.finalKeyValue="",this.requestUpdate()}}">REMOVE</button> `:""} </div> ${e.description?I` <div class="m-markdown"> ${Hc(Z()(e.description||""))} </div>`:""} ${"apikey"===e.type.toLowerCase()||"http"===e.type.toLowerCase()&&"bearer"===e.scheme.toLowerCase()?I` <div style="margin-bottom:5px"> ${"apikey"===e.type.toLowerCase()?I`Send <code>${e.name}</code> in <code>${e.in}</code> with the given value`:I`Send <code>Authorization</code> in <code>header</code> containing the word <code>Bearer</code> followed by a space and a Token String.`} </div> <div style="max-height:28px"> ${"cookie"!==e.in?I` <input type="text" value="${e.value}" class="api-key-input" placeholder="api-token" spellcheck="false"> <button class="m-btn thin-border" style="margin-left:5px" part="btn btn-outline" @click="${t=>{Vc.call(this,e.apiKeyId,t)}}"> ${e.finalKeyValue?"UPDATE":"SET"} </button>`:""} </div>`:""} ${"http"===e.type.toLowerCase()&&"basic"===e.scheme.toLowerCase()?I` <div style="margin-bottom:5px"> Send <code>Authorization</code> in <code>header</code> containing the word <code>Basic</code> followed by a space and a base64 encoded string of <code>username:password</code>. </div> <div> <input type="text" value="${e.user}" placeholder="username" spellcheck="false" class="api-key-user" style="width:100px"> <input type="password" value="${e.password}" placeholder="password" spellcheck="false" class="api-key-password" style="width:100px;margin:0 5px"> <button class="m-btn thin-border" @click="${t=>{Vc.call(this,e.apiKeyId,t)}}" part="btn btn-outline"> ${e.finalKeyValue?"UPDATE":"SET"} </button> </div>`:""} </td> </tr> ${"oauth2"===e.type.toLowerCase()?I` <tr> <td style="border:none;padding-left:48px"> ${Object.keys(e.flows).map((t=>Zc.call(this,t,e["x-client-id"],e["x-client-secret"],e.apiKeyId,e.flows[t])))} </td> </tr> `:""} `))} </table>`:""} <slot name="auth"></slot> </section> `:void 0}function Qc(e){if(this.resolvedSpec.securitySchemes&&e){const t=[];return e.forEach((e=>{const r=[],n=[];let o="";Object.keys(e).forEach((t=>{const a=this.resolvedSpec.securitySchemes.find((e=>e.apiKeyId===t));!o&&Array.isArray(e[t])&&(o=e[t].join(", ")),a&&(n.push(a.typeDisplay),r.push(a))})),t.push({pathScopes:o,securityTypes:n.length>1?`${n[0]} + ${n.length-1} more`:n[0],securityDefs:r})})),I`<div style="position:absolute;top:3px;right:2px;font-size:var(--font-size-small);line-height:1.5"> <div style="position:relative;display:flex;min-width:350px;max-width:700px;justify-content:flex-end"> <svg width="16" height="24"> <g> <path style="fill:var(--fg3)" d="m13.8,8.5l0,-2.6l0,0c0,-3.2 -2.6,-5.8 -5.8,-5.8s-5.8,2.6 -5.8,5.8l0,0l0,2.6l-2.1,0l0,11.2l16,0l0,-11.2l-2.1,0l-0,0l0,0l0,0l-0,0zm-9.8,-2.6c0,0 0,0 0,0c0,-2.2 1.8,-4 4,-4c2.2,0 4,1.8 4,4c0,0 0,0 0,0l0,2.6l-8.03,0l0,-2.6l0,0l0,0z"/> </g> </svg> ${t.map(((e,t)=>I` ${e.securityTypes?I` ${0!==t?I`<div style="padding:3px 4px"> OR </div>`:""} <div class="tooltip"> <div style="padding:2px 4px;white-space:nowrap;text-overflow:ellipsis;max-width:150px;overflow:hidden"> <a part="anchor anchor-operation-security" href="#auth"> ${e.securityTypes} </a> </div> <div class="tooltip-text" style="position:absolute;color:var(--fg);top:26px;right:0;border:1px solid var(--border-color);padding:2px 4px;display:block"> ${e.securityDefs.length>1?I`<div>Requires <b>all</b> of the following </div>`:""} <div style="padding-left:8px"> ${e.securityDefs.map(((t,r)=>I` ${"oauth2"===t.type?I` <div> ${e.securityDefs.length>1?I`<b>${r+1}.</b> &nbsp;`:"Needs"} OAuth Token <span style="font-family:var(--font-mono);color:var(--primary-color)">${t.apiKeyId}</span> in <b>Authorization header</b> ${""!==e.pathScopes?I` <div> <b>Required scopes:</b> <br> <div style="margin-left:8px"> ${e.pathScopes.split(",").map(((e,t)=>I`${0===t?"":"┃"}<span>${e}</span>`))} </div> </div>`:""} </div>`:"http"===t.type?I` <div> ${e.securityDefs.length>1?I`<b>${r+1}.</b> &nbsp;`:I`Requires`} ${"basic"===t.scheme?"Base 64 encoded username:password":"Bearer Token"} in <b>Authorization header</b> </div>`:I` <div> ${e.securityDefs.length>1?I`<b>${r+1}.</b> &nbsp;`:I`Requires`} Token in <b>${t.name} ${t.in}</b> </div>`} `))} </div> </div> </div> `:""} `))} </div> </div>`}return""}function eu(e){return I` <section class="table-title" style="margin-top:24px">CODE SAMPLES <div class="tab-panel col" @click="${e=>{if(!e.target.classList.contains("tab-btn"))return;const t=e.target.dataset.tab,r=[...e.currentTarget.querySelectorAll(".tab-btn")],n=[...e.currentTarget.querySelectorAll(".tab-content")];r.forEach((e=>e.classList[e.dataset.tab===t?"add":"remove"]("active"))),n.forEach((e=>{e.style.display=e.dataset.tab===t?"block":"none"}))}}"> <div class="tab-buttons row" style="width:100"> ${e.map(((e,t)=>I`<button class="tab-btn ${0===t?"active":""}" data-tab="${e.lang}${t}"> ${e.label||e.lang} </button>`))} </div> ${e.map(((e,t)=>{var r,n,o;return I` <div class="tab-content m-markdown" style="display:${0===t?"block":"none"}" data-tab="${e.lang}${t}"> <button class="toolbar-btn" style="position:absolute;top:12px;right:8px" @click="${t=>{he(e.source,t)}}"> Copy </button> <pre><code class="language">${Q().languages[null===(r=e.lang)||void 0===r?void 0:r.toLowerCase()]?Hc(Q().highlight(e.source,Q().languages[null===(n=e.lang)||void 0===n?void 0:n.toLowerCase()],null===(o=e.lang)||void 0===o?void 0:o.toLowerCase())):e.source}</code></pre> </div>`}))} </div></section>`}function tu(e){return I` <div class="req-res-title" style="margin-top:12px">CALLBACKS</div> ${Object.entries(e).map((e=>I` <div class="tiny-title" style="padding:12px;border:1px solid var(--light-border-color)"> ${e[0]} ${Object.entries(e[1]).map((e=>I` <div class="mono-font small-font-size" style="display:flex;margin-left:16px"> <div> ${Object.entries(e[1]).map((t=>{var r,n,o;return I` <div> <div style="margin-top:12px"> <div class="method method-fg ${t[0]}" style="width:70px;border:none;margin:0;padding:0;line-height:20px;vertical-align:baseline;text-align:left"> <span style="font-size:20px"> &#x2944; </span> ${t[0]} </div> <span style="line-height:20px;vertical-align:baseline">${e[0]} </span> </div> <div class="expanded-req-resp-container"> <api-request class="${this.renderStyle}-mode callback" style="width:100%" callback="true" method="${t[0]||""}" , path="${e[0]||""}" .parameters="${(null===(r=t[1])||void 0===r?void 0:r.parameters)||""}" .request_body="${(null===(n=t[1])||void 0===n?void 0:n.requestBody)||""}" fill-request-fields-with-example="${this.fillRequestFieldsWithExample}" allow-try="false" render-style="${this.renderStyle}" schema-style="${this.schemaStyle}" active-schema-tab="${this.defaultSchemaTab}" schema-expand-level="${this.schemaExpandLevel}" schema-description-expanded="${this.schemaDescriptionExpanded}" allow-schema-description-expand-toggle="${this.allowSchemaDescriptionExpandToggle}" , schema-hide-read-only="${this.schemaHideReadOnly}" fetch-credentials="${this.fetchCredentials}" exportparts="btn btn-fill btn-outline btn-try"> </api-request> <api-response style="width:100%" class="${this.renderStyle}-mode" callback="true" .responses="${null===(o=t[1])||void 0===o?void 0:o.responses}" render-style="${this.renderStyle}" schema-style="${this.schemaStyle}" active-schema-tab="${this.defaultSchemaTab}" schema-expand-level="${this.schemaExpandLevel}" schema-description-expanded="${this.schemaDescriptionExpanded}" allow-schema-description-expand-toggle="${this.allowSchemaDescriptionExpandToggle}" exportparts="btn--resp btn-fill--resp btn-outline--resp"> </api-response> </div> </div> `}))} </div> </div> `))} </div> `))} `}const ru=Y`.border-top{border-top:1px solid var(--border-color)}.border{border:1px solid var(--border-color);border-radius:var(--border-radius)}.light-border{border:1px solid var(--light-border-color);border-radius:var(--border-radius)}.pad-8-16{padding:8px 16px}.pad-top-8{padding-top:8px}.mar-top-8{margin-top:8px}`;function nu(e){if(!e)return;let t="",r="";if(e.$ref){const r=e.$ref.lastIndexOf("/");t=`{recursive: ${e.$ref.substring(r+1)}} `}else e.type?(t=Array.isArray(e.type)?e.type.join("┃"):e.type,(e.format||e.enum)&&(t=t.replace("string",e.enum?"enum":e.format)),e.nullable&&(t+="┃null")):t="{missing-type-info}";const n={type:t,format:e.format||"",pattern:e.pattern&&!e.enum?e.pattern:"",readOrWriteOnly:e.readOnly?"🆁":e.writeOnly?"🆆":"",deprecated:e.deprecated?"❌":"",examples:e.examples||e.example,default:e.default||"",description:e.description||"",constrain:"",allowedValues:"",arrayType:"",html:""};if("{recursive}"===n.type?n.description=e.$ref.substring(e.$ref.lastIndexOf("/")+1):"{missing-type-info}"===n.type&&(n.description=n.description||""),n.allowedValues=Array.isArray(e.enum)?e.enum.join("┃"):"","array"===t&&e.items){var o,a,i;const t=null===(o=e.items)||void 0===o?void 0:o.type,r=void 0!==(null===(a=e.items)||void 0===a?void 0:a.default)?e.items.default:"";n.arrayType=`${e.type} of ${Array.isArray(t)?t.join(""):t}`,n.default=r,n.allowedValues=Array.isArray(null===(i=e.items)||void 0===i?void 0:i.enum)?e.items.enum.join("┃"):""}return t.match(/integer|number/g)&&(void 0===e.minimum&&void 0===e.exclusiveMinimum||(r+=void 0!==e.minimum?`Min ${e.minimum}`:`More than ${e.exclusiveMinimum}`),void 0===e.maximum&&void 0===e.exclusiveMaximum||(r+=void 0!==e.maximum?`${r?"┃":""}Max ${e.maximum}`:`${r?"┃":""}Less than ${e.exclusiveMaximum}`),void 0!==e.multipleOf&&(r+=`${r?"┃":""} multiple of ${e.multipleOf}`)),t.match(/string/g)&&(void 0!==e.minLength&&void 0!==e.maxLength?r+=`${r?"┃":""}${e.minLength} to ${e.maxLength} chars`:void 0!==e.minLength?r+=`${r?"┃":""}Min ${e.minLength} chars`:void 0!==e.maxLength&&(r+=`Max ${r?"┃":""}${e.maxLength} chars`)),n.constrain=r,n.html=`${n.type}~|~${n.readOrWriteOnly}~|~${n.constrain}~|~${n.default}~|~${n.allowedValues}~|~${n.pattern}~|~${n.description}~|~${e.title||""}~|~${n.deprecated?"deprecated":""}`,n}function ou(e,t="string"){let r,n;if(e){if(e.constructor===Object){const t=Object.values(e);r=t.length>0?"boolean"==typeof t[0].value||"number"==typeof t[0].value?t[0].value.toString():t[0].value:"",n=Object.values(e).map((e=>({value:"boolean"==typeof e.value||"number"==typeof e.value?e.value.toString():e.value,description:e.description||e.summary||e.value})))}else Array.isArray(e)||(e=e?[e]:[]),e.length>0&&("array"===t?(r=e[0],n=e.map((e=>({value:e,description:Array.isArray(e)?e.join(" , "):e})))):(r=e[0].toString(),n=e.map((e=>({value:e.toString(),description:e})))));return{exampleVal:r,exampleList:n}}return{exampleVal:"",exampleList:[]}}function au(e){const t=e.examples?e.examples[0]:e.example?e.example:void 0;if(""===t)return"";if(null===t)return null;if(0===t)return 0;if(t)return t;if(0===Object.keys(e).length)return null;if(e.$ref)return e.$ref;const r=Array.isArray(e.type)?e.type[0]:e.type;if(!r)return"?";if(r.match(/^integer|^number/g)){const t=Number.isNaN(Number(e.multipleOf))?void 0:Number(e.multipleOf),n=Number.isNaN(Number(e.maximum))?void 0:Number(e.maximum),o=Number.isNaN(Number(e.minimum))?Number.isNaN(Number(e.exclusiveMinimum))?n||0:Number(e.exclusiveMinimum)+(r.startsWith("integer")?1:.001):Number(e.minimum);return t?t>=o?t:o%t==0?o:Math.ceil(o/t)*t:o}if(r.match(/^boolean/g))return!1;if(r.match(/^null/g))return null;if(r.match(/^string/g)){if(e.enum)return e.enum[0];if(e.pattern)return e.pattern;if(!e.format){const t=Number.isNaN(e.minLength)?void 0:Number(e.minLength),r=Number.isNaN(e.maxLength)?void 0:Number(e.maxLength),n=t||(r>6?6:r||void 0);return n?"A".repeat(n):"string"}switch(e.format.toLowerCase()){case"url":case"uri":return"http://example.com";case"date":return new Date(0).toISOString().split("T")[0];case"time":return new Date(0).toISOString().split("T")[1];case"date-time":return new Date(0).toISOString();case"duration":return"P3Y6M4DT12H30M5S";case"email":case"idn-email":return"user@example.com";case"hostname":case"idn-hostname":return"www.example.com";case"ipv4":return"198.51.100.42";case"ipv6":return"2001:0db8:5b96:0000:0000:426f:8e17:642a";default:return e.format}}return"?"}function iu(e,t=1){const r="  ".repeat(t);let n="";if(1===t&&"object"!=typeof e)return`\n${r}${e.toString()}`;for(const o in e)n=Array.isArray(e[o])||"object"==typeof e[o]?`${n}\n${r}<${o}> ${iu(e[o],t+1)}\n${r}</${o}>`:`${n}\n${r}<${o}> ${e[o].toString()} </${o}>`;return n}function su(e,t){"object"==typeof t&&null!==t&&(e.title&&(t["::TITLE"]=e.title),e.description&&(t["::DESCRIPTION"]=e.description))}function lu(e){if("object"==typeof e&&null!==e){delete e["::TITLE"],delete e["::DESCRIPTION"];for(const t in e)lu(e[t])}}function cu(e,t,r){for(const n in t)t[n][r]=e}function uu(e,t,r){let n=0;const o={};for(const a in e){for(const i in r)if(o[`example-${n}`]={...e[a]},o[`example-${n}`][t]=r[i],n++,n>=10)break;if(n>=10)break}return o}function pu(e,t={}){let r={};if(e){if(e.allOf){const n={};if(1===e.allOf.length&&!e.allOf[0].properties&&!e.allOf[0].items){if(e.allOf[0].$ref)return"{  }";if(e.allOf[0].readOnly&&t.includeReadOnly){return au(e.allOf[0])}return}e.allOf.forEach((e=>{if("object"===e.type||e.properties||e.allOf||e.anyOf||e.oneOf){const r=pu(e,t);Object.assign(n,r)}else if("array"===e.type||e.items){const r=[pu(e,t)];Object.assign(n,r)}else{if(!e.type)return"";{const t=`prop${Object.keys(n).length}`;n[t]=au(e)}}})),r=n}else if(e.oneOf){if(e.oneOf.length>0){let n=0;for(const o in e.oneOf){const a=pu(e.oneOf[o],t);for(const t in a)r[`example-${n}`]=a[t],su(e.oneOf[o],r[`example-${n}`]),n++}}}else if(e.anyOf){let n;if("object"===e.type||e.properties){n={"example-0":{}};for(const r in e.properties){if(e.example){n=e;break}e.properties[r].deprecated&&!t.includeDeprecated||(e.properties[r].readOnly&&!t.includeReadOnly||e.properties[r].writeOnly&&!t.includeWriteOnly||(n=uu(n,r,pu(e.properties[r],t))))}}let o=0;for(const a in e.anyOf){const i=pu(e.anyOf[a],t);for(const t in i){if(void 0!==n)for(const e in n)r[`example-${o}`]={...n[e],...i[t]};else r[`example-${o}`]=i[t];su(e.anyOf[a],r[`example-${o}`]),o++}}}else if("object"===e.type||e.properties)if(r["example-0"]={},su(e,r["example-0"]),e.example)r["example-0"]=e.example;else for(const a in e.properties){var n,o;if(!e.properties[a].deprecated||t.includeDeprecated)if(!e.properties[a].readOnly||t.includeReadOnly)if(!e.properties[a].writeOnly||t.includeWriteOnly)if("array"===e.properties[a].type||e.properties[a].items)if(e.properties[a].example)cu(e.properties[a].example,r,a);else if(null!==(n=e.properties[a])&&void 0!==n&&null!==(o=n.items)&&void 0!==o&&o.example)cu([e.properties[a].items.example],r,a);else{const n=pu(e.properties[a].items,t),o=[];for(const e in n)o[e]=[n[e]];r=uu(r,a,o)}else r=uu(r,a,pu(e.properties[a],t))}else{if("array"!==e.type&&!e.items)return{"example-0":au(e)};var a;if(e.example)r["example-0"]=e.example;else if(null!==(a=e.items)&&void 0!==a&&a.example)r["example-0"]=[e.items.example];else{const n=pu(e.items,t);let o=0;for(const t in n)r[`example-${o}`]=[n[t]],su(e.items,r[`example-${o}`]),o++}}return r}}function du(e,t,r=0,n=""){if(e){if(e.allOf){const n={};if(1===e.allOf.length&&!e.allOf[0].properties&&!e.allOf[0].items){return`${nu(e.allOf[0]).html}`}e.allOf.map(((e,t)=>{if("object"===e.type||e.properties||e.allOf||e.anyOf||e.oneOf){const o=(e.anyOf||e.oneOf)&&t>0?t:"",a=du(e,{},r+1,o);Object.assign(n,a)}else if("array"===e.type||e.items){const t=du(e,{},r+1);Object.assign(n,t)}else{if(!e.type)return"";{const t=`prop${Object.keys(n).length}`,r=nu(e);n[t]=`${r.html}`}}})),t=n}else if(e.anyOf||e.oneOf){if(t["::description"]=e.description||"","object"===e.type||e.properties){t["::description"]=e.description||"",t["::type"]="object";for(const n in e.properties)e.required&&e.required.includes(n)?t[`${n}*`]=du(e.properties[n],{},r+1):t[n]=du(e.properties[n],{},r+1)}const o={},a=e.anyOf?"anyOf":"oneOf";e[a].forEach(((e,t)=>{if("object"===e.type||e.properties||e.allOf||e.anyOf||e.oneOf){const r=du(e,{});o[`::OPTION~${t+1}${e.title?`~${e.title}`:""}`]=r,o["::type"]="xxx-of-option"}else if("array"===e.type||e.items){const r=du(e,{});o[`::OPTION~${t+1}${e.title?`~${e.title}`:""}`]=r,o["::type"]="xxx-of-array"}else{const r=`::OPTION~${t+1}${e.title?`~${e.title}`:""}`;o[r]=`${nu(e).html}`,o["::type"]="xxx-of-option"}})),t[e.anyOf?`::ANY~OF ${n}`:`::ONE~OF ${n}`]=o,t["::type"]="xxx-of"}else if(Array.isArray(e.type)){const n=JSON.parse(JSON.stringify(e)),i=[],s=[];let l;var o;if(n.type.forEach((e=>{var t,r;e.match(/integer|number|string|null|boolean/g)?i.push(e):"array"===e&&"string"==typeof(null===(t=n.items)||void 0===t?void 0:t.type)&&null!==(r=n.items)&&void 0!==r&&r.type.match(/integer|number|string|null|boolean/g)?"string"===n.items.type&&n.items.format?i.push(`[${n.items.format}]`):i.push(`[${n.items.type}]`):s.push(e)})),i.length>0)if(n.type=i.join("┃"),l=nu(n),0===s.length)return`${(null===(o=l)||void 0===o?void 0:o.html)||""}`;if(s.length>0){var a;t["::type"]="xxx-of";const o={"::type":"xxx-of-option"};s.forEach(((t,a)=>{if("null"===t)o[`::OPTION~${a+1}`]="NULL~|~~|~~|~~|~~|~~|~~|~~|~";else if("integer, number, string, boolean,".includes(`${t},`)){n.type=Array.isArray(t)?t.join("┃"):t;const e=nu(n);o[`::OPTION~${a+1}`]=e.html}else if("object"===t){const t={"::description":e.description||"","::type":"object","::deprecated":e.deprecated||!1};for(const n in e.properties)e.required&&e.required.includes(n)?t[`${n}*`]=du(e.properties[n],{},r+1):t[n]=du(e.properties[n],{},r+1);o[`::OPTION~${a+1}`]=t}else"array"===t&&(o[`::OPTION~${a+1}`]={"::description":e.description||"","::type":"array","::props":du(e.items,{},r+1)})})),o[`::OPTION~${s.length+1}`]=(null===(a=l)||void 0===a?void 0:a.html)||"",t["::ONE~OF"]=o}}else if("object"===e.type||e.properties){t["::description"]=e.description||"",t["::type"]="object",t["::deprecated"]=e.deprecated||!1;for(const n in e.properties)e.required&&e.required.includes(n)?t[`${n}*`]=du(e.properties[n],{},r+1):t[n]=du(e.properties[n],{},r+1);e.additionalProperties&&(t["<any-key>"]=du(e.additionalProperties,{}))}else{if("array"!==e.type&&!e.items){const t=nu(e);return null!=t&&t.html?`${t.html}`:""}var i;t["::description"]=e.description?e.description:null!==(i=e.items)&&void 0!==i&&i.description?`array&lt;${e.items.description}&gt;`:"",t["::type"]="array",t["::props"]=du(e.items,{},r+1)}return t}}function hu(e="",t="",r,n,o=!0,a=!0,i){const s=[];if(e)for(const t in e){let r="",o="json";if(n.toLowerCase().includes("json")){if("text"===i)r="string"==typeof e[t].value?e[t].value:JSON.stringify(e[t].value,void 0,2),o="text";else if(r=e[t].value,"string"==typeof e[t].value)try{const n=e[t].value.replace(/([\w]+)(:)/g,'"$1"$2').replace(/'/g,'"');r=JSON.parse(n),o="json"}catch(n){o="text",r=e[t].value}}else r=e[t].value,o="text";s.push({exampleId:t,exampleSummary:e[t].summary||t,exampleDescription:e[t].description||"",exampleType:n,exampleValue:r,exampleFormat:o})}else if(t){let e="",r="json";if(n.toLowerCase().includes("json")){if("text"===i)e="string"==typeof t?t:JSON.stringify(t,void 0,2),r="text";else if("object"==typeof t)e=t,r="json";else if("string"==typeof t)try{e=JSON.parse(t),r="json"}catch(n){r="text",e=t}}else e=t,r="text";s.push({exampleId:"Example",exampleSummary:"",exampleDescription:"",exampleType:n,exampleValue:e,exampleFormat:r})}if(0===s.length)if(r)if(r.example)s.push({exampleId:"Example",exampleSummary:"",exampleDescription:"",exampleType:n,exampleValue:r.example,exampleFormat:n.toLowerCase().includes("json")&&"object"==typeof r.example?"json":"text"});else if(n.toLowerCase().includes("json")||n.toLowerCase().includes("text")||n.toLowerCase().includes("*/*")||n.toLowerCase().includes("xml")){let e="",t="",l="",c="";n.toLowerCase().includes("xml")?(e=r.xml&&r.xml.name?`<${r.xml.name}>`:"<root>",t=r.xml&&r.xml.name?`</${r.xml.name}>`:"</root>",l="text"):l=i;const u=pu(r,{includeReadOnly:o,includeWriteOnly:a,deprecated:!0});let p=0;for(const r in u){if(!u[r])continue;const o=u[r]["::TITLE"]||"Example "+ ++p,a=u[r]["::DESCRIPTION"]||"";lu(u[r]),c=n.toLowerCase().includes("xml")?`${e}${iu(u[r])}\n${t}`:"text"===i?JSON.stringify(u[r],null,2):u[r],s.push({exampleId:r,exampleSummary:o,exampleDescription:a,exampleType:n,exampleFormat:l,exampleValue:c})}}else s.push({exampleId:"Example",exampleSummary:"",exampleDescription:"",exampleType:n,exampleValue:"",exampleFormat:"text"});else s.push({exampleId:"Example",exampleSummary:"",exampleDescription:"",exampleType:n,exampleValue:"",exampleFormat:"text"});return s}customElements.define("json-tree",class extends G{static get properties(){return{data:{type:Object},renderStyle:{type:String,attribute:"render-style"}}}static get styles(){return[ee,ru,te,Y`:host{display:flex}.json-tree{font-family:var(--font-mono);font-size:var(--font-size-small);display:inline-block;overflow:hidden;word-break:break-all;flex:1;line-height:calc(var(--font-size-small) + 6px)}.open-bracket{display:inline-block;padding:0 20px 0 0;cursor:pointer;border:1px solid transparent;border-radius:3px}.open-bracket:hover{color:var(--primary-color);background-color:var(--hover-color);border:1px solid var(--border-color)}.inside-bracket{padding-left:12px;border-left:1px dotted var(--border-color)}.open-bracket.collapsed+.inside-bracket,.open-bracket.collapsed+.inside-bracket+.close-bracket{display:none}.string{color:var(--green)}.number{color:var(--blue)}.null{color:var(--red)}.boolean{color:var(--purple)}.object{color:var(--fg)}.toolbar{position:absolute;top:5px;right:6px;display:flex;padding:2px;align-items:center}`,ce]}render(){return I` <div class="json-tree"> <div class="toolbar"> <button class="toolbar-btn" part="btn btn-fill" @click="${e=>{he(JSON.stringify(this.data,null,2),e)}}"> Copy </button> </div> ${this.generateTree(this.data,!0)} </div> `}generateTree(e,t=!1){if(null===e)return I`<div class="null" style="display:inline">null</div>`;if("object"==typeof e&&e instanceof Date==!1){const r=Array.isArray(e)?"array":"pure_object";return 0===Object.keys(e).length?I`${Array.isArray(e)?"[ ],":"{ },"}`:I` <div class="open-bracket expanded ${"array"===r?"array":"object"}" @click="${this.toggleExpand}"> ${"array"===r?"[":"{"}</div> <div class="inside-bracket"> ${Object.keys(e).map(((t,n,o)=>I` <div class="item"> ${"pure_object"===r?I`${t}:`:""} ${this.generateTree(e[t],n===o.length-1)} </div>`))} </div> <div class="close-bracket">${"array"===r?"]":"}"}${t?"":","}</div> `}return"string"==typeof e||e instanceof Date?I`<span class="${typeof e}">"${e}"</span>${t?"":","}`:I`<span class="${typeof e}">${e}</span>${t?"":","}`}toggleExpand(e){const t=e.target;t.classList.contains("expanded")?(t.classList.replace("expanded","collapsed"),e.target.innerHTML=e.target.classList.contains("array")?"[...]":"{...}"):(t.classList.replace("collapsed","expanded"),e.target.innerHTML=e.target.classList.contains("array")?"[":"{")}});const fu=Y`*,:after,:before{box-sizing:border-box}.tr{display:flex;flex:none;width:100%;box-sizing:content-box;border-bottom:1px dotted transparent}.td{display:block;flex:0 0 auto}.key{font-family:var(--font-mono);white-space:normal;word-break:break-all}.collapsed-descr .key{overflow:hidden}.key-descr{font-family:var(--font-regular);color:var(--light-fg);flex-shrink:1;text-overflow:ellipsis;overflow:hidden;display:none}.expanded-descr .key-descr{max-height:auto;overflow:hidden;display:none}.collapsed-descr .tr{max-height:20px}.tr.xxx-of{border-top:1px dotted var(--primary-color)}.xxx-of-key{font-size:calc(var(--font-size-small) - 2px);font-weight:700;background-color:var(--primary-color);color:var(--primary-color-invert);border-radius:2px;line-height:calc(var(--font-size-small) + 6px);padding:0 5px;margin-bottom:1px;display:inline-block}.xxx-of-descr{font-family:var(--font-regular);color:var(--primary-color);font-size:calc(var(--font-size-small) - 1px);margin-left:2px}.bina,.byte,.date,.emai,.host,.ipv4,.pass,.stri,.string,.uri,.url,.uuid{color:var(--green)}.deci .blue,.doub,.floa,.int3,.int6,.inte,.numb,.number{color:var(--blue)}.null{color:var(--red)}.bool,.boolean{color:var(--orange)}.enum{color:var(--purple)}.recu{color:var(--brown)}.toolbar{display:flex;width:100%;padding:2px 0;color:var(--primary-color)}.toolbar-item{cursor:pointer;padding:5px 0;margin:0 2px}.schema-root-type{cursor:auto;color:var(--fg2);font-weight:700;text-transform:uppercase}.schema-root-type.xxx-of{display:none}.toolbar-item:first-of-type{margin:0 2px 0 0}@media only screen and (min-width:500px){.key-descr{display:block}.expanded-descr .key-descr{display:block}}`;customElements.define("schema-tree",class extends G{static get properties(){return{data:{type:Object},schemaExpandLevel:{type:Number,attribute:"schema-expand-level"},schemaDescriptionExpanded:{type:String,attribute:"schema-description-expanded"},allowSchemaDescriptionExpandToggle:{type:String,attribute:"allow-schema-description-expand-toggle"},schemaHideReadOnly:{type:String,attribute:"schema-hide-read-only"},schemaHideWriteOnly:{type:String,attribute:"schema-hide-write-only"}}}connectedCallback(){super.connectedCallback(),(!this.schemaExpandLevel||this.schemaExpandLevel<1)&&(this.schemaExpandLevel=99999),this.schemaDescriptionExpanded&&"true false".includes(this.schemaDescriptionExpanded)||(this.schemaDescriptionExpanded="false"),this.schemaHideReadOnly&&"true false".includes(this.schemaHideReadOnly)||(this.schemaHideReadOnly="true"),this.schemaHideWriteOnly&&"true false".includes(this.schemaHideWriteOnly)||(this.schemaHideWriteOnly="true")}static get styles(){return[ee,fu,ru,Y`.tree{font-size:var(--font-size-small);text-align:left;line-height:calc(var(--font-size-small) + 6px)}.tree .tr:hover{background-color:var(--hover-color)}.collapsed-descr .tr{max-height:calc(var(--font-size-small) + 8px)}.collapsed-descr .m-markdown-small p{line-height:calc(var(--font-size-small) + 6px)}.tree .key{max-width:300px}.key.deprecated .key-label{text-decoration:line-through}.open-bracket{display:inline-block;padding:0 20px 0 0;cursor:pointer;border:1px solid transparent;border-radius:3px}.open-bracket:hover{color:var(--primary-color);background-color:var(--hover-color);border:1px solid var(--border-color)}.close-bracket{display:inline-block;font-family:var(--font-mono)}.tr.collapsed+.inside-bracket,.tr.collapsed+.inside-bracket+.close-bracket{display:none}.inside-bracket.array,.inside-bracket.object{border-left:1px dotted var(--border-color)}.inside-bracket.xxx-of{padding:5px 0;border-style:dotted;border-width:0 0 1px 0;border-color:var(--primary-color)}`,ce]}render(){var e,t,r;return I` <div class="tree ${"true"===this.schemaDescriptionExpanded?"expanded-descr":"collapsed-descr"}"> <div class="toolbar"> <div class="toolbar-item schema-root-type ${(null===(e=this.data)||void 0===e?void 0:e["::type"])||""}"> ${(null===(t=this.data)||void 0===t?void 0:t["::type"])||""} </div> ${"true"===this.allowSchemaDescriptionExpandToggle?I` <div style="flex:1"></div> <div class="toolbar-item" @click="${()=>{this.schemaDescriptionExpanded="true"===this.schemaDescriptionExpanded?"false":"true"}}"> ${"true"===this.schemaDescriptionExpanded?"Single line description":"Multiline description"} </div> `:""} </div> ${null!==(r=this.data)&&void 0!==r&&r["::description"]?I`<span class="m-markdown"> ${Hc(Z()(this.data["::description"]||""))}</span>`:""} ${this.data?I` ${this.generateTree("array"===this.data["::type"]?this.data["::props"]:this.data,this.data["::type"])}`:I`<span class="mono-font" style="color:var(--red)"> Schema not found </span>`} </div> `}generateTree(e,t="object",r="",n="",o=0,a=0){var i;if(!e)return I`<div class="null" style="display:inline">null</div>`;if(0===Object.keys(e).length)return I`<span class="key object">${r}:{ }</span>`;let s="",l="";if(r.startsWith("::ONE~OF")||r.startsWith("::ANY~OF"))s=r.replace("::","").replace("~"," ");else if(r.startsWith("::OPTION")){const e=r.split("~");s=e[1],l=e[2]}else s=r;const c=400-12*a;let u="",p="";const d=null!==(i=e["::type"])&&void 0!==i&&i.startsWith("xxx-of")?o:o+1,h="xxx-of-option"===t||"xxx-of-option"===e["::type"]||r.startsWith("::OPTION")?a:a+1;var f;if("object"===e["::type"]?"array"===t?(u=o<this.schemaExpandLevel?I`<span class="open-bracket array-of-object" @click="${this.toggleObjectExpand}">[{</span>`:I`<span class="open-bracket array-of-object" @click="${this.toggleObjectExpand}">[{...}]</span>`,p="}]"):(u=o<this.schemaExpandLevel?I`<span class="open-bracket object" @click="${this.toggleObjectExpand}">{</span>`:I`<span class="open-bracket object" @click="${this.toggleObjectExpand}">{...}</span>`,p="}"):"array"===e["::type"]&&("array"===t?(u=o<this.schemaExpandLevel?I`<span class="open-bracket array-of-array" @click="${this.toggleObjectExpand}">[[</span>`:I`<span class="open-bracket array-of-array" @click="${this.toggleObjectExpand}">[[...]]</span>`,p="]]"):(u=o<this.schemaExpandLevel?I`<span class="open-bracket array" @click="${this.toggleObjectExpand}">[</span>`:I`<span class="open-bracket array" @click="${this.toggleObjectExpand}">[...]</span>`,p="]")),"object"==typeof e)return I` <div class="tr ${o<this.schemaExpandLevel||null!==(f=e["::type"])&&void 0!==f&&f.startsWith("xxx-of")?"expanded":"collapsed"} ${e["::type"]||"no-type-info"}"> <div class="td key ${e["::deprecated"]?"deprecated":""}" style="min-width:${c}px"> ${"xxx-of-option"===e["::type"]||"xxx-of-array"===e["::type"]||r.startsWith("::OPTION")?I`<span class="key-label xxx-of-key">${s}</span><span class="xxx-of-descr">${l}</span>`:s.endsWith("*")?I`<span class="key-label">${s.substring(0,s.length-1)}</span><span style="color:var(--red)">*</span>`:"::props"===s||"::ARRAY~OF"===s?"":o>0?I`<span class="key-label">${s}:</span>`:""} ${"xxx-of"===e["::type"]&&"array"===t?I`<span style="color:var(--primary-color)">ARRAY</span>`:""} ${u} </div> <div class="td key-descr m-markdown-small">${Hc(Z()(n||""))}</div> </div> <div class="inside-bracket ${e["::type"]||"no-type-info"}" style="padding-left:${"xxx-of-option"===e["::type"]||"xxx-of-array"===e["::type"]?0:12}px"> ${Array.isArray(e)&&e[0]?I`${this.generateTree(e[0],"xxx-of-option","::ARRAY~OF","",d,h)}`:I` ${Object.keys(e).map((t=>I` ${["::description","::type","::props","::deprecated"].includes(t)?"array"===e[t]["::type"]||"object"===e[t]["::type"]?I`${this.generateTree("array"===e[t]["::type"]?e[t]["::props"]:e[t],e[t]["::type"],t,e[t]["::description"],d,h)}`:"":I`${this.generateTree("array"===e[t]["::type"]?e[t]["::props"]:e[t],e[t]["::type"],t,e[t]["::description"],d,h)}`} `))} `} </div> ${e["::type"]&&e["::type"].includes("xxx-of")?"":I`<div class="close-bracket"> ${p} </div>`} `;const[m,g,y,b,v,x,w,,k]=e.split("~|~");if("🆁"===g&&"true"===this.schemaHideReadOnly)return;if("🆆"===g&&"true"===this.schemaHideWriteOnly)return;const A=m.replace(/┃.*/g,"").replace(/[^a-zA-Z0-9+]/g,"").substring(0,4).toLowerCase();return I` <div class="tr primitive"> <div class="td key ${k}" style="min-width:${c}px"> ${s.endsWith("*")?I`<span class="key-label">${s.substring(0,s.length-1)}</span><span style="color:var(--red)">*</span>:`:r.startsWith("::OPTION")?I`<span class="key-label xxx-of-key">${s}</span><span class="xxx-of-descr">${l}</span>`:o>0?I`<span class="key-label">${s}:</span>`:""} <span class="${A}"> ${"array"===t?`[${m}]`:`${m}`} ${g} </span> </div> <div class="td key-descr"> ${"array"===t?n:""} ${y?I`<div style="display:inline-block;line-break:anywhere;margin-right:8px"><span class="bold-text">Constraints: </span>${y}</div>`:""} ${b?I`<div style="display:inline-block;line-break:anywhere;margin-right:8px"><span class="bold-text">Default: </span>${b}</div>`:""} ${v?I`<div style="display:inline-block;line-break:anywhere;margin-right:8px"><span class="bold-text">Allowed: </span>${v}</div>`:""} ${x?I`<div style="display:inline-block;line-break:anywhere;margin-right:8px"><span class="bold-text">Pattern: </span>${x}</div>`:""} ${w?I`<span class="m-markdown-small">${Hc(Z()(w))}</span>`:""} </div> </div> `}toggleObjectExpand(e){const t=e.target.closest(".tr");t.classList.contains("expanded")?(t.classList.replace("expanded","collapsed"),e.target.innerHTML=e.target.classList.contains("array-of-object")?"[{...}]":e.target.classList.contains("array-of-array")?"[[...]]":e.target.classList.contains("array")?"[...]":"{...}"):(t.classList.replace("collapsed","expanded"),e.target.innerHTML=e.target.classList.contains("array-of-object")?"[{":e.target.classList.contains("array-of-array")?"[[":e.target.classList.contains("object")?"{":"[")}});customElements.define("tag-input",class extends G{render(){let e="";return Array.isArray(this.value)&&(e=I`${this.value.filter((e=>""!==e.trim())).map((e=>I`<span class="tag">${e}</span>`))}`),I` <div class="tags" tabindex="0"> ${e} <input type="text" class="editor" @paste="${e=>this.afterPaste(e)}" @keydown="${this.afterKeyDown}" placeholder="${this.placeholder||""}"> </div> `}static get properties(){return{placeholder:{type:String},value:{type:Array,attribute:"value"}}}attributeChangedCallback(e,t,r){"value"===e&&r&&t!==r&&(this.value=r.split(",").filter((e=>""!==e.trim()))),super.attributeChangedCallback(e,t,r)}afterPaste(e){const t=(e.clipboardData||window.clipboardData).getData("Text");this.value=t?t.split(",").filter((e=>""!==e.trim())):"",e.preventDefault()}afterKeyDown(e){13===e.keyCode?(e.stopPropagation(),e.preventDefault(),e.target.value&&(Array.isArray(this.value)?this.value=[...this.value,e.target.value]:this.value=[e.target.value],e.target.value="")):8===e.keyCode&&0===e.target.value.length&&Array.isArray(this.value)&&this.value.length>0&&(this.value.splice(-1),this.value=[...this.value])}static get styles(){return[Y`.tags{display:flex;flex-wrap:wrap;outline:0;padding:0;border-radius:var(--border-radius);border:1px solid var(--border-color);cursor:text;overflow:hidden;background:var(--input-bg)}.editor,.tag{padding:3px;margin:2px}.tag{border:1px solid var(--border-color);background-color:var(--bg3);color:var(--fg3);border-radius:var(--border-radius);word-break:break-all;font-size:var(--font-size-small)}.tag:hover~#cursor{display:block}.editor{flex:1;border:1px solid transparent;color:var(--fg);min-width:60px;outline:0;line-height:inherit;font-family:inherit;background:0 0;font-size:calc(var(--font-size-small) + 1px)}.editor::placeholder{color:var(--placeholder-color);opacity:1}`]}});customElements.define("api-request",class extends G{constructor(){super(),this.responseMessage="",this.responseStatus="success",this.responseHeaders="",this.responseText="",this.responseUrl="",this.curlSyntax="",this.activeResponseTab="response",this.selectedRequestBodyType="",this.selectedRequestBodyExample=""}static get properties(){return{serverUrl:{type:String,attribute:"server-url"},servers:{type:Array},method:{type:String},path:{type:String},parameters:{type:Array},request_body:{type:Object},api_keys:{type:Array},parser:{type:Object},accept:{type:String},callback:{type:String},responseMessage:{type:String,attribute:!1},responseText:{type:String,attribute:!1},responseHeaders:{type:String,attribute:!1},responseStatus:{type:String,attribute:!1},responseUrl:{type:String,attribute:!1},fillRequestFieldsWithExample:{type:String,attribute:"fill-request-fields-with-example"},allowTry:{type:String,attribute:"allow-try"},renderStyle:{type:String,attribute:"render-style"},schemaStyle:{type:String,attribute:"schema-style"},activeSchemaTab:{type:String,attribute:"active-schema-tab"},schemaExpandLevel:{type:Number,attribute:"schema-expand-level"},schemaDescriptionExpanded:{type:String,attribute:"schema-description-expanded"},allowSchemaDescriptionExpandToggle:{type:String,attribute:"allow-schema-description-expand-toggle"},schemaHideReadOnly:{type:String,attribute:"schema-hide-read-only"},fetchCredentials:{type:String,attribute:"fetch-credentials"},activeResponseTab:{type:String},selectedRequestBodyType:{type:String,attribute:"selected-request-body-type"},selectedRequestBodyExample:{type:String,attribute:"selected-request-body-example"}}}static get styles(){return[ne,te,ee,re,ru,ie,ae,Y`*,:after,:before{box-sizing:border-box}.read-mode{margin-top:24px}.param-name,.param-type{margin:1px 0;text-align:right;line-height:var(--font-size-small)}.param-name{color:var(--fg);font-family:var(--font-mono)}.param-type{color:var(--light-fg);font-family:var(--font-regular)}.param-constraint{min-width:100px}.param-constraint:empty{display:none}.top-gap{margin-top:24px}.textarea{min-height:220px;padding:5px;resize:vertical}.example:first-child{margin-top:-9px}.response-message{font-weight:700;text-overflow:ellipsis}.response-message.error{color:var(--red)}.response-message.success{color:var(--blue)}.file-input-container{align-items:flex-end}.file-input-container .input-set:first-child .file-input-remove-btn{visibility:hidden}.file-input-remove-btn{font-size:16px;color:var(--red);outline:0;border:none;background:0 0;cursor:pointer}.v-tab-btn{font-size:var(--smal-font-size);height:24px;border:none;background:0 0;opacity:.3;cursor:pointer;padding:4px 8px}.v-tab-btn.active{font-weight:700;background:var(--bg);opacity:1}@media only screen and (min-width:768px){.textarea{padding:8px}}@media only screen and (max-width:470px){.hide-in-small-screen{display:none}}`,ce]}render(){return I` <div class="col regular-font request-panel ${"read focused".includes(this.renderStyle)||"true"===this.callback?"read-mode":"view-mode"}"> <div class="${"true"===this.callback?"tiny-title":"req-res-title"}"> ${"true"===this.callback?"CALLBACK REQUEST":"REQUEST"} </div> <div> ${this.inputParametersTemplate("path")} ${this.inputParametersTemplate("query")} ${this.requestBodyTemplate()} ${this.inputParametersTemplate("header")} ${this.inputParametersTemplate("cookie")} ${"false"===this.allowTry?"":I`${this.apiCallTemplate()}`} </div> </div> `}updated(e){if("focused"===this.renderStyle)if(1===e.size&&e.has("activeSchemaTab"));else{[...this.shadowRoot.querySelectorAll('textarea[data-ptype="form-data"]')].forEach((e=>{const t=this.shadowRoot.querySelector(`textarea[data-pname='hidden-${e.dataset.pname}']`);t&&(e.value=t.value)}))}}exampleListTemplate(e,t,r=[]){return I` ${r.length>0?I`<span style="font-weight:700">Example: </span> ${r.map(((r,n)=>{var o;return I` ${0===n?"":"┃"} ${"array"===t?"[":""} <a part="anchor anchor-param-example" class="${"true"===this.allowTry?"":"inactive-link"}" data-example-type="${"array"===t?t:"string"}" data-example="${r.value&&Array.isArray(r.value)?null===(o=r.value)||void 0===o?void 0:o.join("~|~"):r.value||""}" @click="${t=>{const r=t.target.closest("table").querySelector(`[data-pname="${e}"]`);r&&("array"===t.target.dataset.exampleType?r.value=t.target.dataset.example.split("~|~"):r.value=t.target.dataset.example)}}">${r.description||r.summary||r.value}</a> ${"array"===t?"] ":""} `}))} `:""}`}inputParametersTemplate(e){const t=this.parameters?this.parameters.filter((t=>t.in===e)):[];if(0===t.length)return"";let r="";"path"===e?r="PATH PARAMETERS":"query"===e?r="QUERY-STRING PARAMETERS":"header"===e?r="REQUEST HEADERS":"cookie"===e&&(r="COOKIES");const n=[];for(const r of t){if(!r.schema)continue;const t=nu(r.schema);if(!t)continue;let o="form",a=!0;"query"===e&&(r.style&&"form spaceDelimited pipeDelimited".includes(r.style)&&(o=r.style),"boolean"==typeof r.explode&&(a=r.explode));const i=ou(r.examples||r.example||t.examples||t.example,t.type),s="read focused".includes(this.renderStyle)?"200px":"160px";n.push(I` <tr> <td rowspan="${"true"===this.allowTry?"1":"2"}" style="width:${s};min-width:100px"> <div class="param-name"> ${r.required?I`<span style="color:var(--red)">*</span>`:""}${r.name} </div> <div class="param-type"> ${"array"===t.type?`${t.arrayType}`:`${t.format?t.format:t.type}`} </div> </td> ${"true"===this.allowTry?I` <td style="min-width:100px"> ${"array"===t.type?I` <tag-input class="request-param" style="width:100%" data-ptype="${e}" data-pname="${r.name}" data-example="${Array.isArray(i.exampleVal)?i.exampleVal.join("~|~"):i.exampleVal}" data-param-serialize-style="${o}" data-param-serialize-explode="${a}" data-array="true" placeholder="add-multiple &#x21a9;" .value="${Array.isArray(i.exampleVal),i.exampleVal}"> </tag-input>`:"object"===t.type?I` <textarea class="textarea request-param" part="textarea textarea-param" data-ptype="${e}-object" data-pname="${r.name}" data-example="${i.exampleVal}" data-param-serialize-style="${o}" data-param-serialize-explode="${a}" spellcheck="false" style="resize:vertical;width:100%;height:${"read focused".includes(this.renderStyle)?"180px":"120px"}">${"true"===this.fillRequestFieldsWithExample?i.exampleVal:""}</textarea>`:I` <input type="${"password"===t.format?"password":"text"}" spellcheck="false" style="width:100%" class="request-param" part="textbox textbox-param" data-ptype="${e}" data-pname="${r.name}" data-example="${Array.isArray(i.exampleVal)?i.exampleVal.join("~|~"):i.exampleVal}" data-array="false" .value="${"true"===this.fillRequestFieldsWithExample?i.exampleVal:""}">`} </td>`:""} <td colspan="${"true"===this.allowTry?"1":"2"}"> ${t.default||t.constrain||t.allowedValues||t.pattern?I` <div class="param-constraint"> ${t.default?I`<span style="font-weight:700">Default: </span>${t.default}<br>`:""} ${t.pattern?I`<span style="font-weight:700">Pattern: </span>${t.pattern}<br>`:""} ${t.constrain?I`${t.constrain}<br>`:""} ${t.allowedValues&&t.allowedValues.split("┃").map(((e,n)=>I` ${n>0?"┃":I`<span style="font-weight:700">Allowed: </span>`} ${I` <a part="anchor anchor-param-constraint" class="${"true"===this.allowTry?"":"inactive-link"}" data-type="${"array"===t.type?t.type:"string"}" data-enum="${e.trim()}" @click="${e=>{const t=e.target.closest("table").querySelector(`[data-pname="${r.name}"]`);t&&("array"===e.target.dataset.type?t.value=[e.target.dataset.enum]:t.value=e.target.dataset.enum)}}">${e}</a>`}`))} </div>`:""} </td> </tr> <tr> ${"true"===this.allowTry?I`<td style="border:none"> </td>`:""} <td colspan="2" style="border:none;margin-top:0;padding:0 5px 8px 5px"> <span class="m-markdown-small">${Hc(Z()(r.description||""))}</span> ${this.exampleListTemplate.call(this,r.name,t.type,i.exampleList)} </td> </tr> `)}return I` <div class="table-title top-gap">${r}</div> <div style="display:block;overflow-x:auto;max-width:100%"> <table class="m-table" style="width:100%;word-break:break-word"> ${n} </table> </div>`}resetRequestBodySelection(){this.selectedRequestBodyType="",this.selectedRequestBodyExample="",this.clearResponseData()}onSelectExample(e){this.selectedRequestBodyExample=e.target.value;const t=e.target;window.setTimeout((e=>{const t=e.closest(".example-panel").querySelector(".request-body-param");e.closest(".example-panel").querySelector(".request-body-param-user-input").value=t.innerText}),0,t)}onMimeTypeChange(e){this.selectedRequestBodyType=e.target.value;const t=e.target;this.selectedRequestBodyExample="",window.setTimeout((e=>{const t=e.closest(".request-body-container").querySelector(".request-body-param");if(t){e.closest(".request-body-container").querySelector(".request-body-param-user-input").value=t.innerText}}),0,t)}requestBodyTemplate(){if(!this.request_body)return"";if(0===Object.keys(this.request_body).length)return"";let e="",t="",r="",n="",o="";const a=[],i=this.request_body.content;for(const e in i)a.push({mimeType:e,schema:i[e].schema,example:i[e].example,examples:i[e].examples}),this.selectedRequestBodyType||(this.selectedRequestBodyType=e);return e=1===a.length?"":I` <select style="min-width:100px;max-width:100%;margin-bottom:-1px" @change="${e=>this.onMimeTypeChange(e)}"> ${a.map((e=>I` <option value="${e.mimeType}" ?selected="${e.mimeType===this.selectedRequestBodyType}"> ${e.mimeType} </option> `))} </select> `,a.forEach((e=>{let a,i=[];if(this.selectedRequestBodyType.includes("json")||this.selectedRequestBodyType.includes("xml")||this.selectedRequestBodyType.includes("text"))e.mimeType===this.selectedRequestBodyType&&(i=hu(e.examples,e.example,e.schema,e.mimeType,!1,!0,"text"),this.selectedRequestBodyExample||(this.selectedRequestBodyExample=i.length>0?i[0].exampleId:""),o=I` ${o} <div class="example-panel border-top pad-top-8"> ${1===i.length?"":I` <select style="min-width:100px;max-width:100%;margin-bottom:-1px" @change="${e=>this.onSelectExample(e)}"> ${i.map((e=>I`<option value="${e.exampleId}" ?selected="${e.exampleId===this.selectedRequestBodyExample}"> ${e.exampleSummary.length>80?e.exampleId:e.exampleSummary?e.exampleSummary:e.exampleId} </option>`))} </select> `} ${i.filter((e=>e.exampleId===this.selectedRequestBodyExample)).map((t=>I` <div class="example ${t.exampleId===this.selectedRequestBodyExample?"example-selected":""}" data-example="${t.exampleId}"> ${t.exampleSummary&&t.exampleSummary.length>80?I`<div style="padding:4px 0"> ${t.exampleSummary} </div>`:""} ${t.exampleDescription?I`<div class="m-markdown-small" style="padding:4px 0"> ${Hc(Z()(t.exampleDescription||""))} </div>`:""} <pre class="textarea is-hidden request-body-param ${e.mimeType.substring(e.mimeType.indexOf("/")+1)}" spellcheck="false" data-ptype="${e.mimeType}" style="width:100%;resize:vertical;display:none">${"text"===t.exampleFormat?t.exampleValue:JSON.stringify(t.exampleValue,null,2)}</pre> <textarea class="textarea request-body-param-user-input" part="textarea textarea-param" spellcheck="false" data-ptype="${e.mimeType}" data-example="${"text"===t.exampleFormat?t.exampleValue:JSON.stringify(t.exampleValue,null,2)}" data-example-format="${t.exampleFormat}" style="width:100%;resize:vertical">${"true"===this.fillRequestFieldsWithExample?"text"===t.exampleFormat?t.exampleValue:JSON.stringify(t.exampleValue,null,2):""}</textarea> </div> `))} </div> `);else if(this.selectedRequestBodyType.includes("form-urlencoded")||this.selectedRequestBodyType.includes("form-data")){if(e.mimeType===this.selectedRequestBodyType){const t=hu(e.examples,e.example,e.schema,e.mimeType,!1,!0,"text");e.schema&&(r=this.formDataTemplate(e.schema,e.mimeType,t[0]?t[0].exampleValue:""))}}else RegExp("^audio/|^image/|^video/|^font/|tar$|zip$|7z$|rtf$|msword$|excel$|/pdf$|/octet-stream$").test(this.selectedRequestBodyType)&&e.mimeType===this.selectedRequestBodyType&&(t=I` <div class="small-font-size bold-text row"> <input type="file" part="file-input" style="max-width:100%" class="request-body-param-file" data-ptype="${e.mimeType}" spellcheck="false"> </div> `);(e.mimeType.includes("json")||e.mimeType.includes("xml")||e.mimeType.includes("text"))&&(a=du(e.schema,{}),"table"===this.schemaStyle?n=I` ${n} <schema-table class="${e.mimeType.substring(e.mimeType.indexOf("/")+1)}" style="display:${this.selectedRequestBodyType===e.mimeType?"block":"none"}" .data="${a}" schema-expand-level="${this.schemaExpandLevel}" schema-description-expanded="${this.schemaDescriptionExpanded}" allow-schema-description-expand-toggle="${this.allowSchemaDescriptionExpandToggle}" , schema-hide-read-only="${this.schemaHideReadOnly.includes(this.method)}" schema-hide-write-only="false"> </schema-table> `:"tree"===this.schemaStyle&&(n=I` ${n} <schema-tree class="${e.mimeType.substring(e.mimeType.indexOf("/")+1)}" style="display:${this.selectedRequestBodyType===e.mimeType?"block":"none"}" .data="${a}" schema-expand-level="${this.schemaExpandLevel}" schema-description-expanded="${this.schemaDescriptionExpanded}" allow-schema-description-expand-toggle="${this.allowSchemaDescriptionExpandToggle}" , schema-hide-read-only="${this.schemaHideReadOnly.includes(this.method)}" schema-hide-write-only="false"> </schema-tree> `))})),I` <div class="request-body-container" data-selected-request-body-type="${this.selectedRequestBodyType}"> <div class="table-title top-gap row"> REQUEST BODY ${this.request_body.required?I`<span class="mono-font" style="color:var(--red)">*</span>`:""} <span style="font-weight:400;margin-left:5px"> ${this.selectedRequestBodyType}</span> <span style="flex:1"></span> ${e} </div> ${this.request_body.description?I`<div class="m-markdown" style="margin-bottom:12px">${Hc(Z()(this.request_body.description))}</div>`:""} ${this.selectedRequestBodyType.includes("json")||this.selectedRequestBodyType.includes("xml")||this.selectedRequestBodyType.includes("text")?I` <div class="tab-panel col" style="border-width:0 0 1px 0"> <div class="tab-buttons row" @click="${e=>{"button"===e.target.tagName.toLowerCase()&&(this.activeSchemaTab=e.target.dataset.tab)}}"> <button class="tab-btn ${"schema"===this.activeSchemaTab?"active":""}" data-tab="schema">SCHEMA</button> <button class="tab-btn ${"example"===this.activeSchemaTab?"active":""}" data-tab="example">EXAMPLE </button> </div> ${I`<div class="tab-content col" style="display:${"schema"===this.activeSchemaTab?"block":"none"}"> ${n}</div>`} ${I`<div class="tab-content col" style="display:${"schema"===this.activeSchemaTab?"none":"block"}"> ${o}</div>`} </div>`:I` ${t} ${r}`} </div> `}formDataParamAsObjectTemplate(e,t,r){var n;const o=du(t,{}),a=hu(t.examples,t.example,t,"json",!1,!0,"text");return I` <div class="tab-panel row" style="min-height:220px;border-left:6px solid var(--light-border-color);align-items:stretch"> <div style="width:24px;background-color:var(--light-border-color)"> <div class="row" style="flex-direction:row-reverse;width:160px;height:24px;transform:rotate(270deg) translateX(-160px);transform-origin:top left;display:block" @click="${e=>{if(e.target.classList.contains("v-tab-btn")){const t=e.target.dataset.tab;if(t){const r=e.target.closest(".tab-panel"),n=r.querySelector(`.v-tab-btn[data-tab="${t}"]`),o=[...r.querySelectorAll(`.v-tab-btn:not([data-tab="${t}"])`)],a=r.querySelector(`.tab-content[data-tab="${t}"]`),i=[...r.querySelectorAll(`.tab-content:not([data-tab="${t}"])`)];n.classList.add("active"),a.style.display="block",o.forEach((e=>{e.classList.remove("active")})),i.forEach((e=>{e.style.display="none"}))}}"button"===e.target.tagName.toLowerCase()&&(this.activeSchemaTab=e.target.dataset.tab)}}"> <button class="v-tab-btn ${"schema"===this.activeSchemaTab?"active":""}" data-tab="schema">SCHEMA</button> <button class="v-tab-btn ${"example"===this.activeSchemaTab?"active":""}" data-tab="example">EXAMPLE</button> </div> </div> ${I` <div class="tab-content col" data-tab="schema" style="display:${"schema"===this.activeSchemaTab?"block":"none"};padding-left:5px;width:100%"> <schema-tree .data="${o}" schema-expand-level="${this.schemaExpandLevel}" schema-description-expanded="${this.schemaDescriptionExpanded}" allow-schema-description-expand-toggle="${this.allowSchemaDescriptionExpandToggle}" ,> </schema-tree> </div>`} ${I` <div class="tab-content col" data-tab="example" style="display:${"example"===this.activeSchemaTab?"block":"none"};padding-left:5px;width:100%"> <textarea class="textarea" part="textarea textarea-param" style="width:100%;border:none;resize:vertical" data-array="false" data-ptype="${r.includes("form-urlencode")?"form-urlencode":"form-data"}" data-pname="${e}" data-example="${(null===(n=a[0])||void 0===n?void 0:n.exampleValue)||""}" spellcheck="false">${"true"===this.fillRequestFieldsWithExample?a[0].exampleValue:""}</textarea> <textarea data-pname="hidden-${e}" data-ptype="${r.includes("form-urlencode")?"hidden-form-urlencode":"hidden-form-data"}" class="is-hidden" style="display:none">${a[0].exampleValue}</textarea> </div>`} </div> `}formDataTemplate(e,t,r=""){const n=[];if(e.properties){for(const r in e.properties){var o;const a=e.properties[r],i=a.examples||a.example||"",s=a.type,l=nu(a),c="read focused".includes(this.renderStyle)?"200px":"160px",u=ou(l.examples||l.example,l.type);n.push(I` <tr> <td style="width:${c};min-width:100px"> <div class="param-name"> ${a.required?I`<span style="color:var(--red)">*</span>${r}`:I`${r}`} </div> <div class="param-type">${l.type}</div> </td> <td style="${"object"===s?"width:100%; padding:0;":"true"===this.allowTry?"":"display:none;"} min-width:100px" colspan="${"object"===s?2:1}"> ${"array"===s?"binary"===(null===(o=a.items)||void 0===o?void 0:o.format)?I` <div class="file-input-container col" style="align-items:flex-end" @click="${e=>this.onAddRemoveFileInput(e,r,t)}"> <div class="input-set row"> <input type="file" part="file-input" style="width:100%" data-pname="${r}" data-ptype="${t.includes("form-urlencode")?"form-urlencode":"form-data"}" data-array="false" data-file-array="true"> <button class="file-input-remove-btn"> &#x2715; </button> </div> <button class="m-btn primary file-input-add-btn" part="btn btn-fill" style="margin:2px 25px 0 0;padding:2px 6px">ADD</button> </div> `:I` <tag-input style="width:100%" data-ptype="${t.includes("form-urlencode")?"form-urlencode":"form-data"}" data-pname="${r}" data-example="${Array.isArray(i)?i.join("~|~"):i}" data-array="true" placeholder="add-multiple &#x21a9;" .value="${Array.isArray(i)?Array.isArray(i[0])?i[0]:[i[0]]:[i]}"> </tag-input> `:I` ${"object"===s?this.formDataParamAsObjectTemplate.call(this,r,a,t):I` ${"true"===this.allowTry?I`<input .value="${"true"===this.fillRequestFieldsWithExample?Array.isArray(i)?i[0]:i:""}" spellcheck="false" type="${"binary"===a.format?"file":"password"===a.format?"password":"text"}" part="textbox textbox-param" style="width:100%" data-ptype="${t.includes("form-urlencode")?"form-urlencode":"form-data"}" data-pname="${r}" data-example="${Array.isArray(i)?i[0]:i}" data-array="false">`:""} `}`} </td> ${"object"===s?"":I` <td> ${l.default||l.constrain||l.allowedValues||l.pattern?I` <div class="param-constraint"> ${l.default?I`<span style="font-weight:700">Default: </span>${l.default}<br>`:""} ${l.pattern?I`<span style="font-weight:700">Pattern: </span>${l.pattern}<br>`:""} ${l.constrain?I`${l.constrain}<br>`:""} ${l.allowedValues&&l.allowedValues.split("┃").map(((e,t)=>I` ${t>0?"┃":I`<span style="font-weight:700">Allowed: </span>`} ${I` <a part="anchor anchor-param-constraint" class="${"true"===this.allowTry?"":"inactive-link"}" data-type="${"array"===l.type?l.type:"string"}" data-enum="${e.trim()}" @click="${e=>{const t=e.target.closest("table").querySelector(`[data-pname="${r}"]`);t&&("array"===e.target.dataset.type?t.value=[e.target.dataset.enum]:t.value=e.target.dataset.enum)}}"> ${e} </a>`}`))} </div>`:""} </td>`} </tr> ${"object"===s?"":I` <tr> <td style="border:none"> </td> <td colspan="2" style="border:none;margin-top:0;padding:0 5px 8px 5px"> <span class="m-markdown-small">${Hc(Z()(a.description||""))}</span> ${this.exampleListTemplate.call(this,r,l.type,u.exampleList)} </td> </tr> `}`)}return I` <table style="width:100%" class="m-table"> ${n} </table> `}return I` <textarea class="textarea dynamic-form-param ${t}" part="textarea textarea-param" spellcheck="false" data-pname="dynamic-form" data-ptype="${t}" style="width:100%">${r}</textarea> ${e.description?I`<span class="m-markdown-small">${Hc(Z()(e.description))}</span>`:""} `}apiResponseTabTemplate(){const e=this.responseHeaders.includes("json")?"json":this.responseHeaders.includes("html")||this.responseHeaders.includes("xml")?"html":"";return I` <div class="row" style="font-size:var(--font-size-small);margin:5px 0"> <div class="response-message ${this.responseStatus}">Response Status: ${this.responseMessage}</div> <div style="flex:1"></div> <button class="m-btn" part="btn btn-outline" @click="${this.clearResponseData}">CLEAR RESPONSE</button> </div> <div class="tab-panel col" style="border-width:0 0 1px 0"> <div id="tab_buttons" class="tab-buttons row" @click="${e=>{!1!==e.target.classList.contains("tab-btn")&&(this.activeResponseTab=e.target.dataset.tab)}}"> <button class="tab-btn ${"response"===this.activeResponseTab?"active":""}" data-tab="response"> RESPONSE</button> <button class="tab-btn ${"headers"===this.activeResponseTab?"active":""}" data-tab="headers"> RESPONSE HEADERS</button> <button class="tab-btn ${"curl"===this.activeResponseTab?"active":""}" data-tab="curl">CURL</button> </div> ${this.responseIsBlob?I` <div class="tab-content col" style="flex:1;display:${"response"===this.activeResponseTab?"flex":"none"}"> <button class="m-btn thin-border mar-top-8" style="width:135px" @click="${this.downloadResponseBlob}" part="btn btn-outline">DOWNLOAD</button> ${"view"===this.responseBlobType?I`<button class="m-btn thin-border mar-top-8" style="width:135px" @click="${this.viewResponseBlob}" part="btn btn-outline">VIEW (NEW TAB)</button>`:""} </div>`:I` <div class="tab-content col m-markdown" style="flex:1;display:${"response"===this.activeResponseTab?"flex":"none"}"> <button class="toolbar-btn" style="position:absolute;top:12px;right:8px" @click="${e=>{he(this.responseText,e)}}" part="btn btn-fill"> Copy </button> <pre style="white-space:pre;max-height:400px;overflow:auto">${e?I`<code>${Hc(Q().highlight(this.responseText,Q().languages[e],e))}</code>`:`${this.responseText}`}
+              </pre> </div>`} <div class="tab-content col m-markdown" style="flex:1;display:${"headers"===this.activeResponseTab?"flex":"none"}"> <button class="toolbar-btn" style="position:absolute;top:12px;right:8px" @click="${e=>{he(this.responseHeaders,e)}}" part="btn btn-fill"> Copy </button> <pre style="white-space:pre"><code>${Hc(Q().highlight(this.responseHeaders,Q().languages.css,"css"))}</code></pre> </div> <div class="tab-content col m-markdown" style="flex:1;display:${"curl"===this.activeResponseTab?"flex":"none"}"> <button class="toolbar-btn" style="position:absolute;top:12px;right:8px" @click="${e=>{he(this.curlSyntax.replace(/\\$/,""),e)}}" part="btn btn-fill"> Copy </button> <pre style="white-space:pre"><code>${Hc(Q().highlight(this.curlSyntax.trim().replace(/\\$/,""),Q().languages.shell,"shell"))}</code></pre> </div> </div>`}apiCallTemplate(){var e;let t="";this.servers&&this.servers.length>0&&(t=I` <select style="min-width:100px" @change="${e=>{this.serverUrl=e.target.value}}"> ${this.servers.map((e=>I`<option value="${e.url}"> ${e.url} - ${e.description} </option>`))} </select> `);const r=I` <div style="display:flex;flex-direction:column"> ${t} ${this.serverUrl?I` <div style="display:flex;align-items:baseline"> <div style="font-weight:700;padding-right:5px">API Server</div> <span class="gray-text"> ${this.serverUrl} </span> </div> `:""} </div> `;return I` <div style="display:flex;align-items:flex-end;margin:16px 0;font-size:var(--font-size-small)"> <div class="hide-in-small-screen" style="flex-direction:column;margin:0;width:calc(100% - 60px)"> <div style="display:flex;flex-direction:row;align-items:center;overflow:hidden"> ${r} </div> <div style="display:flex"> <div style="font-weight:700;padding-right:5px">Authentication</div> ${this.api_keys.length>0?I`<div style="color:var(--blue);overflow:hidden"> ${1===this.api_keys.length?`${null===(e=this.api_keys[0])||void 0===e?void 0:e.typeDisplay} in ${this.api_keys[0].in}`:`${this.api_keys.length} API keys applied`} </div>`:I`<div style="color:var(--red)">No API key applied</div>`} </div> </div> ${this.parameters.length>0||this.request_body?I` <button class="m-btn thin-border" part="btn btn-outline" style="margin-right:5px" @click="${this.onFillRequestData}" title="Fills with example data (if provided)"> FILL EXAMPLE </button> <button class="m-btn thin-border" part="btn btn-outline" style="margin-right:5px" @click="${this.onClearRequestData}"> CLEAR </button>`:""} <button class="m-btn primary thin-border" part="btn btn-fill btn-try" @click="${this.onTryClick}">TRY</button> </div> ${""===this.responseMessage?"":this.apiResponseTabTemplate()} `}async onFillRequestData(e){[...e.target.closest(".request-panel").querySelectorAll("input, tag-input, textarea:not(.is-hidden)")].forEach((e=>{e.dataset.example&&("TAG-INPUT"===e.tagName.toUpperCase()?e.value=e.dataset.example.split("~|~"):e.value=e.dataset.example)}))}async onClearRequestData(e){[...e.target.closest(".request-panel").querySelectorAll("input, tag-input, textarea:not(.is-hidden)")].forEach((e=>{e.value=""}))}async onTryClick(e){var t;const r=e.target;let n,o,a="",i="",s="",l="";const c=null===(t=this.closest(".expanded-req-resp-container, .req-resp-container"))||void 0===t?void 0:t.getElementsByTagName("api-response")[0],u=null==c?void 0:c.selectedMimeType,p=e.target.closest(".request-panel"),d=[...p.querySelectorAll("[data-ptype='path']")],h=[...p.querySelectorAll("[data-ptype='query']")],f=[...p.querySelectorAll("[data-ptype='query-object']")],m=[...p.querySelectorAll("[data-ptype='header']")],g=p.querySelector(".request-body-container");n=this.path;const y={method:this.method.toUpperCase(),headers:{}};if(d.map((e=>{n=n.replace(`{${e.dataset.pname}}`,encodeURIComponent(e.value))})),h.length>0){const e=new URLSearchParams;h.forEach((t=>{if("false"===t.dataset.array)""!==t.value&&e.append(t.dataset.pname,t.value);else{const r=t.dataset.paramSerializeStyle,n=t.dataset.paramSerializeExplode;let o=t.value&&Array.isArray(t.value)?t.value:[];o=Array.isArray(o)?o.filter((e=>""!==e)):[],o.length>0&&("spaceDelimited"===r?e.append(t.dataset.pname,o.join(" ").replace(/^\s|\s$/g,"")):"pipeDelimited"===r?e.append(t.dataset.pname,o.join("|").replace(/^\||\|$/g,"")):"true"===n?o.forEach((r=>{e.append(t.dataset.pname,r)})):e.append(t.dataset.pname,o.join(",").replace(/^,|,$/g,"")))}})),n=`${n}${e.toString()?"?":""}${e.toString()}`}if(f.length>0){const e=new URLSearchParams;f.map((t=>{try{let r={};const o=t.dataset.paramSerializeStyle,a=t.dataset.paramSerializeExplode;r=Object.assign(r,JSON.parse(t.value.replace(/\s+/g," ")));for(const t in r)"object"==typeof r[t]?Array.isArray(r[t])&&("spaceDelimited"===o?e.append(t,r[t].join(" ")):"pipeDelimited"===o?e.append(t,r[t].join("|")):"true"===a?r[t].forEach((r=>{e.append(t,r)})):e.append(t,r[t])):e.append(t,r[t]);n=`${n}${e.toString()?"?":""}${e.toString()}`}catch(e){console.log("RapiDoc: unable to parse %s into object",t.value)}}))}if(this.api_keys.filter((e=>"query"===e.in)).forEach((e=>{n=`${n}${n.includes("?")?"&":"?"}${e.name}=${encodeURIComponent(e.finalKeyValue)}`})),n=`${this.serverUrl.replace(/\/$/,"")}${n}`,!1===n.startsWith("http")){o=new URL(n,window.location.href).href}else o=n;if(a=`curl -X ${this.method.toUpperCase()} "${o}" \\\n`,u?(y.headers.Accept=u,i+=` -H "Accept: ${u}" \\\n`):this.accept&&(y.headers.Accept=this.accept,i+=` -H "Accept: ${this.accept}" \\\n`),this.api_keys.filter((e=>"header"===e.in)).forEach((e=>{y.headers[e.name]=e.finalKeyValue,i+=` -H "${e.name}: ${e.finalKeyValue}" \\\n`})),m.map((e=>{e.value&&(y.headers[e.dataset.pname]=e.value,i+=` -H "${e.dataset.pname}: ${e.value}" \\\n`)})),g){const e=g.dataset.selectedRequestBodyType;if(e.includes("form-urlencoded")){const e=p.querySelector("[data-ptype='dynamic-form']");if(e){const t=e.value,r=new URLSearchParams;let n,o=!0;if(t)try{n=JSON.parse(t)}catch(e){o=!1,console.warn("RapiDoc: Invalid JSON provided",e)}else o=!1;if(o){for(const e in n)r.append(e,JSON.stringify(n[e]));y.body=r,s=` -d ${r.toString()} \\\n`}}else{const e=[...p.querySelectorAll("[data-ptype='form-urlencode']")],t=new URLSearchParams;e.filter((e=>"file"!==e.type)).forEach((e=>{if("false"===e.dataset.array)e.value&&t.append(e.dataset.pname,e.value);else{const r=e.value&&Array.isArray(e.value)?e.value.join(","):"";t.append(e.dataset.pname,r)}})),y.body=t,s=` -d ${t.toString()} \\\n`}}else if(e.includes("form-data")){const e=new FormData;[...p.querySelectorAll("[data-ptype='form-data']")].forEach((t=>{"false"===t.dataset.array?"file"===t.type&&t.files[0]?(e.append(t.dataset.pname,t.files[0],t.files[0].name),l+=` -F "${t.dataset.pname}=@${t.files[0].name}" \\\n`):t.value&&(e.append(t.dataset.pname,t.value),l+=` -F "${t.dataset.pname}=${t.value}" \\\n`):t.value&&Array.isArray(t.value)&&(t.value.forEach((e=>{l=`${l} -F "${t.dataset.pname}[]=${e}" \\\n`})),e.append(t.dataset.pname,t.value.join(",")))})),y.body=e}else if(RegExp("^audio/|^image/|^video/|^font/|tar$|zip$|7z$|rtf$|msword$|excel$|/pdf$|/octet-stream$").test(e)){const e=p.querySelector(".request-body-param-file");null!=e&&e.files[0]&&(y.body=e.files[0],s=` --data-binary @${e.files[0].name} \\\n`)}else if(e.includes("json")||e.includes("xml")||e.includes("text")){const e=p.querySelector(".request-body-param-user-input");if(null!=e&&e.value){y.body=e.value;try{s=` -d '${JSON.stringify(JSON.parse(e.value))}' \\\n`}catch(t){s=` -d '${e.value.replace(/(\r\n|\n|\r)/gm,"")}' \\\n`}}}e.includes("form-data")||(y.headers["Content-Type"]=e),i+=` -H "Content-Type: ${e}" \\\n`}this.responseUrl="",this.responseHeaders=[],this.curlSyntax="",this.responseStatus="success",this.responseIsBlob=!1,this.respContentDisposition="",this.responseBlobUrl&&(URL.revokeObjectURL(this.responseBlobUrl),this.responseBlobUrl=""),this.curlSyntax=`${a}${i}${s}${l}`,this.fetchCredentials&&(y.credentials=this.fetchCredentials);const b=new Request(n,y);let v,x;this.dispatchEvent(new CustomEvent("before-try",{bubbles:!0,composed:!0,detail:{request:b}}));try{let e,t,n;r.disabled=!0,v=await fetch(b),x=v.clone(),r.disabled=!1,this.responseMessage=v.statusText?`${v.statusText}:${v.status}`:v.status,this.responseUrl=v.url;const o={};v.headers.forEach(((e,t)=>{o[t]=e,this.responseHeaders=`${this.responseHeaders}${t}: ${e}\n`}));const a=v.headers.get("content-type");if(0===(await v.clone().text()).length)this.responseText="";else if(a){if(a.includes("json"))if(/charset=[^"']+/.test(a)){const e=a.split("charset=")[1],r=await v.arrayBuffer();try{n=new TextDecoder(e).decode(r)}catch{n=new TextDecoder("utf-8").decode(r)}try{t=JSON.parse(n),this.responseText=JSON.stringify(t,null,2)}catch{this.responseText=n}}else t=await v.json(),this.responseText=JSON.stringify(t,null,2);else RegExp("^font/|tar$|zip$|7z$|rtf$|msword$|excel$|/pdf$|/octet-stream$").test(a)?(this.responseIsBlob=!0,this.responseBlobType="download"):RegExp("^audio|^image|^video").test(a)?(this.responseIsBlob=!0,this.responseBlobType="view"):(n=await v.text(),a.includes("xml")&&(this.responseText=function(e){const t=(new DOMParser).parseFromString(e,"text/xml"),r=(new DOMParser).parseFromString(['<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform">\n      <xsl:strip-space elements="*"/>\n        <xsl:template match="para[content-style][not(text())]">\n          <xsl:value-of select="normalize-space(.)"/>\n        </xsl:template>\n        <xsl:template match="node()|@*">\n          <xsl:copy><xsl:apply-templates select="node()|@*"/></xsl:copy>\n        </xsl:template>\n        <xsl:output indent="yes"/>\n      </xsl:stylesheet>'].join("\n"),"application/xml"),n=new XSLTProcessor;n.importStylesheet(r);const o=n.transformToDocument(t);return(new XMLSerializer).serializeToString(o)}(n)),this.responseText=n);if(this.responseIsBlob){const t=v.headers.get("content-disposition");this.respContentDisposition=t?t.split("filename=")[1]:"filename",e=await v.blob(),this.responseBlobUrl=URL.createObjectURL(e)}}else n=await v.text(),this.responseText=n;this.dispatchEvent(new CustomEvent("after-try",{bubbles:!0,composed:!0,detail:{request:b,response:x,responseHeaders:o,responseBody:t||n||e,responseStatus:x.ok}}))}catch(e){r.disabled=!1,this.responseMessage=`${e.message} (CORS or Network Issue)`,document.dispatchEvent(new CustomEvent("after-try",{bubbles:!0,composed:!0,detail:{err:e,request:b,response:x,responseStatus:x.ok}}))}}onAddRemoveFileInput(e,t,r){if("button"!==e.target.tagName.toLowerCase())return;if(e.target.classList.contains("file-input-remove-btn")){return void e.target.closest(".input-set").remove()}const n=e.target.closest(".file-input-container"),o=document.createElement("div");o.setAttribute("class","input-set row");const a=document.createElement("input");a.type="file",a.style="width:200px; margin-top:2px;",a.setAttribute("data-pname",t),a.setAttribute("data-ptype",r.includes("form-urlencode")?"form-urlencode":"form-data"),a.setAttribute("data-array","false"),a.setAttribute("data-file-array","true");const i=document.createElement("button");i.setAttribute("class","file-input-remove-btn"),i.innerHTML="&#x2715;",o.appendChild(a),o.appendChild(i),n.insertBefore(o,e.target)}downloadResponseBlob(){if(this.responseBlobUrl){const e=document.createElement("a");document.body.appendChild(e),e.style="display: none",e.href=this.responseBlobUrl,e.download=this.respContentDisposition,e.click(),e.remove()}}viewResponseBlob(){if(this.responseBlobUrl){const e=document.createElement("a");document.body.appendChild(e),e.style="display: none",e.href=this.responseBlobUrl,e.target="_blank",e.click(),e.remove()}}clearResponseData(){this.responseUrl="",this.responseHeaders="",this.responseText="",this.responseStatus="success",this.responseMessage="",this.responseIsBlob=!1,this.responseBlobType="",this.respContentDisposition="",this.responseBlobUrl&&(URL.revokeObjectURL(this.responseBlobUrl),this.responseBlobUrl="")}disconnectedCallback(){this.responseBlobUrl&&(URL.revokeObjectURL(this.responseBlobUrl),this.responseBlobUrl=""),super.disconnectedCallback()}});customElements.define("schema-table",class extends G{static get properties(){return{schemaExpandLevel:{type:Number,attribute:"schema-expand-level"},schemaDescriptionExpanded:{type:String,attribute:"schema-description-expanded"},allowSchemaDescriptionExpandToggle:{type:String,attribute:"allow-schema-description-expand-toggle"},schemaHideReadOnly:{type:String,attribute:"schema-hide-read-only"},schemaHideWriteOnly:{type:String,attribute:"schema-hide-write-only"},data:{type:Object}}}connectedCallback(){super.connectedCallback(),(!this.schemaExpandLevel||this.schemaExpandLevel<1)&&(this.schemaExpandLevel=99999),this.schemaDescriptionExpanded&&"true false".includes(this.schemaDescriptionExpanded)||(this.schemaDescriptionExpanded="false"),this.schemaHideReadOnly&&"true false".includes(this.schemaHideReadOnly)||(this.schemaHideReadOnly="true"),this.schemaHideWriteOnly&&"true false".includes(this.schemaHideWriteOnly)||(this.schemaHideWriteOnly="true")}static get styles(){return[ee,fu,Y`.table{font-size:var(--font-size-small);text-align:left;line-height:calc(var(--font-size-small) + 6px)}.table .tr{width:calc(100% - 5px);padding:0 0 0 5px;border-bottom:1px dotted var(--light-border-color)}.table .td{padding:4px 0}.table .key{width:240px}.key.deprecated .key-label{text-decoration:line-through}.table .key-type{white-space:normal;width:150px}.collapsed-descr .tr{max-height:calc(var(--font-size-small) + var(--font-size-small) + 4px)}.obj-toggle{padding:0 2px;border-radius:2px;border:1px solid transparent;display:inline-block;margin-left:-16px;color:var(--primary-color);cursor:pointer;font-size:calc(var(--font-size-small) + 4px);font-family:var(--font-mono);background-clip:border-box}.obj-toggle:hover{border-color:var(--primary-color)}.tr.expanded+.object-body{display:block}.tr.collapsed+.object-body{display:none}`,ce]}render(){var e,t,r;return I` <div class="table ${"true"===this.schemaDescriptionExpanded?"expanded-descr":"collapsed-descr"}"> <div class="toolbar"> <div class="toolbar-item schema-root-type ${(null===(e=this.data)||void 0===e?void 0:e["::type"])||""}"> ${(null===(t=this.data)||void 0===t?void 0:t["::type"])||""} </div> ${"true"===this.allowSchemaDescriptionExpandToggle?I` <div style="flex:1"></div> <div class="toolbar-item" @click="${()=>{this.schemaDescriptionExpanded="true"===this.schemaDescriptionExpanded?"false":"true"}}"> ${"true"===this.schemaDescriptionExpanded?"Single line description":"Multiline description"} </div> `:""} </div> ${null!==(r=this.data)&&void 0!==r&&r["::description"]?I`<span class="m-markdown"> ${Hc(Z()(this.data["::description"]||""))}</span>`:""} <div style="border:1px solid var(--light-border-color)"> <div style="display:flex;background-color:var(--bg2);padding:8px 4px;border-bottom:1px solid var(--light-border-color)"> <div class="key" style="font-family:var(--font-regular);font-weight:700;color:var(--fg)"> Field </div> <div class="key-type" style="font-family:var(--font-regular);font-weight:700;color:var(--fg)"> Type </div> <div class="key-descr" style="font-family:var(--font-regular);font-weight:700;color:var(--fg)"> Description </div> </div> ${this.data?I` ${this.generateTree("array"===this.data["::type"]?this.data["::props"]:this.data,this.data["::type"])}`:""} </div> </div> `}generateTree(e,t="object",r="",n="",o=0,a=0){var i,s;const l=null!==(i=e["::type"])&&void 0!==i&&i.startsWith("xxx-of")?o:o+1,c="xxx-of-option"===t||"xxx-of-option"===e["::type"]||r.startsWith("::OPTION")?a:a+1,u=16*c;if(!e)return I`<div class="null" style="display:inline">null</div>`;if(0===Object.keys(e).length)return I`<span class="td key object" style="padding-left:${u}px">${r}</span>`;let p="",d="",h=!1;if(r.startsWith("::ONE~OF")||r.startsWith("::ANY~OF"))p=r.replace("::","").replace("~"," "),h=!0;else if(r.startsWith("::OPTION")){const e=r.split("~");p=e[1],d=e[2]}else p=r;let f="";if("object"===e["::type"]?f="array"===t?"array":"object":"array"===e["::type"]&&(f="array"===t?"array of array":"array"),"object"==typeof e)return I` ${l>=0&&r?I` <div class="tr ${l<=this.schemaExpandLevel?"expanded":"collapsed"} ${e["::type"]}" data-obj="${p}"> <div class="td key ${e["::deprecated"]?"deprecated":""}" style="padding-left:${u}px"> ${p||d?I` <span class="obj-toggle ${l<this.schemaExpandLevel?"expanded":"collapsed"}" data-obj="${p}" @click="${e=>this.toggleObjectExpand(e,p)}"> ${o<this.schemaExpandLevel?"-":"+"} </span>`:""} ${"xxx-of-option"===e["::type"]||"xxx-of-array"===e["::type"]||r.startsWith("::OPTION")?I`<span class="xxx-of-key" style="margin-left:-6px">${p}</span><span class="${h?"xxx-of-key":"xxx-of-descr"}">${d}</span>`:p.endsWith("*")?I`<span class="key-label" style="display:inline-block;margin-left:-6px"> ${p.substring(0,p.length-1)}</span><span style="color:var(--red)">*</span>`:I`<span class="key-label" style="display:inline-block;margin-left:-6px">${"::props"===p?"":p}</span>`} ${"xxx-of"===e["::type"]&&"array"===t?I`<span style="color:var(--primary-color)">ARRAY</span>`:""} </div> <div class="td key-type">${(e["::type"]||"").includes("xxx-of")?"":f}</div> <div class="td key-descr m-markdown-small" style="line-height:1.7">${Hc(Z()(n||""))}</div> </div>`:I` ${"array"===e["::type"]&&"array"===t?I`<div class="tr"> <div class="td"> ${t} </div> </div>`:""} `} <div class="object-body"> ${Array.isArray(e)&&e[0]?I`${this.generateTree(e[0],"xxx-of-option","::ARRAY~OF","",l,c)}`:I` ${Object.keys(e).map((t=>I` ${["::description","::type","::props","::deprecated"].includes(t)?"array"===e[t]["::type"]||"object"===e[t]["::type"]?I`${this.generateTree("array"===e[t]["::type"]?e[t]["::props"]:e[t],e[t]["::type"],t,e[t]["::description"],l,c)}`:"":I`${this.generateTree("array"===e[t]["::type"]?e[t]["::props"]:e[t],e[t]["::type"],t,e[t]["::description"],l,c)}`} `))} `} <div> </div></div>`;const[m,g,y,b,v,x,w,k,A]=e.split("~|~");if("🆁"===g&&"true"===this.schemaHideReadOnly)return;if("🆆"===g&&"true"===this.schemaHideWriteOnly)return;const $=m.replace(/┃.*/g,"").replace(/[^a-zA-Z0-9+]/g,"").substring(0,4).toLowerCase();return I` <div class="tr primitive"> <div class="td key ${A}" style="padding-left:${u}px"> ${null!==(s=p)&&void 0!==s&&s.endsWith("*")?I`<span class="key-label">${p.substring(0,p.length-1)}</span><span style="color:var(--red)">*</span>`:r.startsWith("::OPTION")?I`<span class="xxx-of-key">${p}</span><span class="xxx-of-descr">${d}</span>`:I`${p?I`<span class="key-label"> ${p}</span>`:I`<span class="xxx-of-descr">${k}</span>`}`} </div> <div class="td key-type ${$}"> ${"array"===t?`[${m}]`:m} <span style="font-family:var(--font-mono)">${g} </span> </div> <div class="td key-descr"> ${"array"===t?n:""} ${y?I`<div style="display:inline-block;line-break:anywhere;margin-right:8px"> <span class="bold-text">Constraints: </span> ${y}</div>`:""} ${b?I`<div style="display:inline-block;line-break:anywhere;margin-right:8px"> <span class="bold-text">Default: </span>${b}</div>`:""} ${v?I`<div style="display:inline-block;line-break:anywhere;margin-right:8px"> <span class="bold-text">Allowed: </span>${v}</div>`:""} ${x?I`<div style="display:inline-block;line-break:anywhere;margin-right:8px"> <span class="bold-text">Pattern: </span>${x}</div>`:""} ${w?I`<span class="m-markdown-small">${Hc(Z()(w))}</span>`:""} </div> </div> `}toggleObjectExpand(e){const t=e.target.closest(".tr");t.classList.contains("expanded")?(t.classList.add("collapsed"),t.classList.remove("expanded"),e.target.innerText="+"):(t.classList.remove("collapsed"),t.classList.add("expanded"),e.target.innerText="-")}});function mu(e){const t=new(Z().Renderer);return t.heading=(t,r,n,o)=>`<h${r} class="observe-me" id="${e}--${o.slug(n)}">${t}</h${r}>`,t}function gu(e,t=""){var r,n;const o=new Set;for(const t in e.responses)for(const r in null===(a=e.responses[t])||void 0===a?void 0:a.content){var a;o.add(r.trim())}const i=[...o].join(", "),s=this.resolvedSpec.securitySchemes.filter((t=>{var r;return t.finalKeyValue&&(null===(r=e.security)||void 0===r?void 0:r.some((e=>t.apiKeyId in e)))}))||[],l=this.resolvedSpec.securitySchemes.find((e=>e.apiKeyId===pe&&"-"!==e.value));l&&s.push(l);const c=e.xCodeSamples?eu.call(this,e.xCodeSamples):"";return I` ${"read"===this.renderStyle?I`<div class="divider" part="operation-divider"></div>`:""} <div class="expanded-endpoint-body observe-me ${e.method} ${e.deprecated?"deprecated":""}" part="section-operation ${e.elementId}" id="${e.elementId}"> ${"focused"===this.renderStyle&&"General ⦂"!==t?I`<h3 class="upper" style="font-weight:700"> ${t} </h3>`:""} ${e.deprecated?I`<div class="bold-text red-text"> DEPRECATED </div>`:""} ${I` <h2> ${e.shortSummary||`${e.method.toUpperCase()} ${e.path}`}</h2> ${e.isWebhook?I`<span style="color:var(--primary-color);font-weight:700;font-size:var(--font-size-regular)"> WEBHOOK </span>`:I` <div class='mono-font part="section-operation-url" regular-font-size' style="padding:8px 0;color:var(--fg3)"> <span part="label-operation-method" class="regular-font upper method-fg bold-text ${e.method}">${e.method}</span> <span part="label-operation-path">${e.path}</span> </div> `} <slot name="${e.elementId}"></slot>`} ${e.description?I`<div class="m-markdown"> ${Hc(Z()(e.description))}</div>`:""} ${Qc.call(this,e.security)} ${c} <div class="expanded-req-resp-container"> <api-request class="${this.renderStyle}-mode" style="width:100%" method="${e.method}" path="${e.path}" .parameters="${e.parameters}" .request_body="${e.requestBody}" .api_keys="${s}" .servers="${e.servers}" server-url="${(null===(r=e.servers)||void 0===r||null===(n=r[0])||void 0===n?void 0:n.url)||this.selectedServer.computedUrl}" fill-request-fields-with-example="${this.fillRequestFieldsWithExample}" allow-try="${this.allowTry}" accept="${i}" render-style="${this.renderStyle}" schema-style="${this.schemaStyle}" active-schema-tab="${this.defaultSchemaTab}" schema-expand-level="${this.schemaExpandLevel}" schema-description-expanded="${this.schemaDescriptionExpanded}" allow-schema-description-expand-toggle="${this.allowSchemaDescriptionExpandToggle}" schema-hide-read-only="${this.schemaHideReadOnly}" fetch-credentials="${this.fetchCredentials}" exportparts="btn btn-fill btn-outline btn-try"> </api-request> ${e.callbacks?tu.call(this,e.callbacks):""} <api-response class="${this.renderStyle}-mode" style="width:100%" .responses="${e.responses}" render-style="${this.renderStyle}" schema-style="${this.schemaStyle}" active-schema-tab="${this.defaultSchemaTab}" schema-expand-level="${this.schemaExpandLevel}" schema-description-expanded="${this.schemaDescriptionExpanded}" allow-schema-description-expand-toggle="${this.allowSchemaDescriptionExpandToggle}" schema-hide-write-only="${this.schemaHideWriteOnly}" selected-status="${Object.keys(e.responses||{})[0]||""}" exportparts="btn--resp btn-fill--resp btn-outline--resp"> </api-response> </div> </div> `}function yu(){return this.resolvedSpec?I` ${this.resolvedSpec.tags.map((e=>I` <section id="${e.elementId}" part="section-tag" class="regular-font section-gap--read-mode observe-me" style="border-top:1px solid var(--primary-color)"> <div class="title tag" part="label-tag-title">${e.name}</div> <slot name="${e.elementId}"></slot> <div class="regular-font-size"> ${Hc(`\n          <div class="m-markdown regular-font">\n          ${Z()(e.description||"","true"===this.infoDescriptionHeadingsInNavBar?{renderer:mu(e.elementId)}:void 0)}\n        </div>`)} </div> </section> <section class="regular-font section-gap--read-mode" part="section-operations-in-tag"> ${e.paths.map((e=>gu.call(this,e,"BBB")))} </section> `))} `:""}function bu(e){return I` <div class="divider"></div> <div class="expanded-endpoint-body observe-me ${e.name}" id="cmp--${e.id}"> ${I` <h1> ${e.name} </h1> ${e.component?I` <div class="mono-font regular-font-size" style="padding:8px 0;color:var(--fg2)"> <json-tree class="border tree" render-style="${this.renderStyle}" .data="${e.component}"> </json-tree> </div>`:""} `} </div> `}function vu(){return this.resolvedSpec?I` ${this.resolvedSpec.components.map((e=>I` <div id="cmp--${e.name.toLowerCase()}" class="regular-font section-gap--read-mode observe-me" style="border-top:1px solid var(--primary-color)"> <div class="title tag">${e.name}</div> <div class="regular-font-size"> ${Hc(`<div class='m-markdown regular-font'>${Z()(e.description?e.description:"")}</div>`)} </div> </div> <div class="regular-font section-gap--read-mode"> ${e.subComponents.map((e=>bu.call(this,e)))} </div> `))} `:""}function xu(){const e=new(Z().Renderer);return e.heading=(e,t,r,n)=>`<h${t} class="observe-me" id="overview--${n.slug(r)}">${e}</h${t}>`,e}function wu(){var e,t,r;return I` <section id="overview" part="section-overview" class="observe-me ${"view"===this.renderStyle?"section-gap":"section-gap--read-mode"}"> ${null!==(e=this.resolvedSpec)&&void 0!==e&&e.info?I` <div id="api-title" part="label-overview-title" style="font-size:32px"> ${this.resolvedSpec.info.title} ${this.resolvedSpec.info.version?I` <span style="font-size:var(--font-size-small);font-weight:700"> ${this.resolvedSpec.info.version} </span>`:""} </div> <div id="api-info" style="font-size:calc(var(--font-size-regular) - 1px);margin-top:8px"> ${null!==(t=this.resolvedSpec.info.contact)&&void 0!==t&&t.email?I`<span>${this.resolvedSpec.info.contact.name||"Email"}: <a href="mailto:${this.resolvedSpec.info.contact.email}" part="anchor anchor-overview">${this.resolvedSpec.info.contact.email}</a> </span>`:""} ${null!==(r=this.resolvedSpec.info.contact)&&void 0!==r&&r.url?I`<span>URL: <a href="${this.resolvedSpec.info.contact.url}" part="anchor anchor-overview">${this.resolvedSpec.info.contact.url}</a></span>`:""} ${this.resolvedSpec.info.license?I`<span>License: ${this.resolvedSpec.info.license.url?I`<a href="${this.resolvedSpec.info.license.url}" part="anchor anchor-overview">${this.resolvedSpec.info.license.name}</a>`:this.resolvedSpec.info.license.name} </span>`:""} ${this.resolvedSpec.info.termsOfService?I`<span><a href="${this.resolvedSpec.info.termsOfService}" part="anchor anchor-overview">Terms of Service</a></span>`:""} </div> <slot name="overview"></slot> <div id="api-description"> ${this.resolvedSpec.info.description?I`${Hc(`\n                <div class="m-markdown regular-font">\n                ${Z()(this.resolvedSpec.info.description,"true"===this.infoDescriptionHeadingsInNavBar?{renderer:xu()}:void 0)}\n              </div>`)}`:""} </div> `:""} </section> `}function ku(e,t){e&&e.target.checked&&(this.selectedServer=t,this.requestUpdate())}function Au(e,t){const r=[...e.currentTarget.closest("table").querySelectorAll("input, select")];let n=t.url;r.forEach((e=>{const t=new RegExp(`{${e.dataset.var}}`,"g");n=n.replace(t,e.value)})),t.computedUrl=n,this.requestUpdate()}function $u(){return this.selectedServer&&this.selectedServer.variables?I` <div class="table-title"> SERVER VARIABLES</div> <table class="m-table"> ${Object.entries(this.selectedServer.variables).map((e=>I` <tr> <td style="vertical-align:middle">${e[0]}</td> <td> ${e[1].enum?I` <select data-var="${e[0]}" @input="${e=>{Au.call(this,e,this.selectedServer)}}"> ${Object.entries(e[1].enum).map((t=>e[1].default===t[1]?I` <option selected="selected" label="${t[1]}" value="${t[1]}">`:I` <option label="${t[1]}" value="${t[1]}">`))} </select>`:I` <input type="text" part="textbox textbox-server-var" spellcheck="false" data-var="${e[0]}" value="${e[1].default}" @input="${e=>{Au.call(this,e,this.selectedServer)}}">`} </td> </tr> ${e[1].description?I`<tr><td colspan="2" style="border:none"><span class="m-markdown-small"> ${Hc(Z()(e[1].description))} </span></td></tr>`:""} `))} </table> `:""}function Eu(){var e,t,r;return this.resolvedSpec?I` <section id="servers" part="section-servers" style="margin-top:24px;margin-bottom:24px" class="regular-font observe-me ${"read focused".includes(this.renderStyle)?"section-gap--read-mode":"section-gap"}"> <div class="sub-title">API SERVER</div> <div class="mono-font" style="margin:12px 0;font-size:calc(var(--font-size-small) + 1px)"> ${0===(null===(e=this.resolvedSpec.servers)||void 0===e?void 0:e.length)?"":I` ${null===(t=this.resolvedSpec)||void 0===t?void 0:t.servers.map(((e,t)=>I` <input type="radio" name="api_server" id="srvr-opt-${t}" value="${e.url}" @change="${t=>{ku.call(this,t,e)}}" .checked="${this.selectedServer.url===e.url}" style="margin:4px 0;cursor:pointer"> <label style="cursor:pointer" for="srvr-opt-${t}"> ${e.url} ${e.description?I`- <span class="regular-font">${e.description} </span>`:""} </label> <br> `))} `} <div class="table-title primary-text" part="label-selected-server"> SELECTED: ${null===(r=this.selectedServer)||void 0===r?void 0:r.computedUrl}</div> </div> <slot name="servers"></slot> ${$u.call(this)} </section>`:""}function Su(e,t="toggle"){const r=null==e?void 0:e.closest(".nav-bar-tag-and-paths");if(r){const e=r.classList.contains("expanded");!e||"toggle"!==t&&"collapse"!==t?e||"toggle"!==t&&"expand"!==t||r.classList.replace("collapsed","expanded"):r.classList.replace("expanded","collapsed")}}function Du(e){Su(e.target,"toggle")}function Ou(e,t="expand-all"){!function(e,t="expand-all"){const r=[...e.querySelectorAll(".nav-bar-tag-and-paths")];"expand-all"===t?r.map((e=>{e.classList.replace("collapsed","expanded")})):r.map((e=>{e.classList.replace("expanded","collapsed")}))}(e.target.closest(".nav-scroll"),t)}function Cu(){return I` <nav class="nav-bar ${this.renderStyle}" part="section-navbar"> <div style="padding:16px 30px 0 16px"> <slot name="nav-logo" class="logo"></slot> </div> ${"false"===this.allowSearch&&"false"===this.allowAdvancedSearch?"":I` <div style="display:flex;flex-direction:row;justify-content:center;align-items:center;padding:24px;${"false"===this.allowAdvancedSearch?"border-bottom: 1px solid var(--nav-hover-bg-color)":""}"> ${"false"===this.allowSearch?"":I` <div style="display:flex;flex:1;line-height:22px"> <input id="nav-bar-search" part="textbox textbox-nav-filter" style="width:100%;padding-right:20px;color:var(--nav-hover-text-color);border-color:var(--nav-accent-color);background-color:var(--nav-hover-bg-color)" type="text" placeholder="Filter" @change="${this.onSearchChange}" spellcheck="false"> <div style="margin:6px 5px 0 -24px;font-size:var(--font-size-regular);cursor:pointer">&#x21a9;</div> </div> ${this.matchPaths?I` <div @click="${this.onClearSearch}" style="margin-left:5px;cursor:pointer;align-self:center;color:var(--nav-text-color)" class="small-font-size primary-text bold-text"> CLEAR </div>`:""} `} ${"false"===this.allowAdvancedSearch||this.matchPaths?"":I` <button class="m-btn primary" part="btn btn-fill btn-search" style="margin-left:5px" @click="${this.onShowSearchModalClicked}"> Search </button> `} </div> `} ${I`<nav class="nav-scroll"> ${"false"!==this.showInfo&&this.resolvedSpec.info?I` ${"true"===this.infoDescriptionHeadingsInNavBar?I` ${this.resolvedSpec.infoDescriptionHeaders.length>0?I`<div class="nav-bar-info" id="link-overview" data-content-id="overview" @click="${e=>this.scrollToEventTarget(e,!1)}"> Overview </div>`:""} <div class="overview-headers"> ${this.resolvedSpec.infoDescriptionHeaders.map((e=>I` <div class="nav-bar-h${e.depth}" id="link-overview--${(new(Z().Slugger)).slug(e.text)}" data-content-id="overview--${(new(Z().Slugger)).slug(e.text)}" @click="${e=>this.scrollToEventTarget(e,!1)}"> ${e.text} </div>`))} </div> ${this.resolvedSpec.infoDescriptionHeaders.length>0?I`<hr style="border-top:1px solid var(--nav-hover-bg-color);border-width:1px 0 0 0;margin:15px 0 0 0">`:""} `:I`<div class="nav-bar-info" id="link-overview" data-content-id="overview" @click="${e=>this.scrollToEventTarget(e,!1)}"> Overview </div>`} `:""} ${"false"===this.allowServerSelection?"":I`<div class="nav-bar-info" id="link-servers" data-content-id="servers" @click="${e=>this.scrollToEventTarget(e,!1)}"> API Servers </div>`} ${"false"!==this.allowAuthentication&&this.resolvedSpec.securitySchemes?I`<div class="nav-bar-info" id="link-auth" data-content-id="auth" @click="${e=>this.scrollToEventTarget(e,!1)}"> Authentication </div>`:""} <div id="link-paths" class="nav-bar-section"> <div style="font-size:16px;display:flex;margin-left:10px"> ${"focused"===this.renderStyle?I` <div @click="${e=>{Ou.call(this,e,"expand-all")}}" title="Expand all" style="transform:rotate(90deg);cursor:pointer;margin-right:10px">▸</div> <div @click="${e=>{Ou.call(this,e,"collapse-all")}}" title="Collapse all" style="transform:rotate(270deg);cursor:pointer">▸</div>`:""} </div> <div class="nav-bar-section-title"> OPERATIONS </div> </div> ${this.resolvedSpec.tags.filter((e=>e.paths.filter((e=>fe(this.matchPaths,e))).length)).map((e=>I` <div class="nav-bar-tag-and-paths ${e.expanded?"expanded":"collapsed"}"> ${"General ⦂"===e.name?I`<hr style="border:none;border-top:1px dotted var(--nav-text-color);opacity:.4;margin-top:-1px">`:I` <div class="nav-bar-tag" id="link-${e.elementId}" data-content-id="${e.elementId}" data-first-path-id="${e.firstPathId}" @click="${e=>{"focused"===this.renderStyle&&"expand-collapse"===this.onNavTagClick?Du.call(this,e):this.scrollToEventTarget(e,!1)}}"> <div>${e.name}</div> <div class="nav-bar-tag-icon" @click="${e=>{"focused"===this.renderStyle&&"show-description"===this.onNavTagClick&&Du.call(this,e)}}"> </div> </div> `} ${"true"===this.infoDescriptionHeadingsInNavBar?I` ${"focused"===this.renderStyle&&"expand-collapse"===this.onNavTagClick?"":I` <div class="tag-headers"> ${e.headers.map((t=>I` <div class="nav-bar-h${t.depth}" id="link-${e.elementId}--${(new(Z().Slugger)).slug(t.text)}" data-content-id="${e.elementId}--${(new(Z().Slugger)).slug(t.text)}" @click="${e=>this.scrollToEventTarget(e,!1)}"> ${t.text}</div>`))} </div>`}`:""} <div class="nav-bar-paths-under-tag"> ${e.paths.filter((e=>!this.matchPaths||fe(this.matchPaths,e))).map((e=>I` <div class="nav-bar-path ${"true"===this.usePathInNavBar?"small-font":""}" data-content-id="${e.elementId}" id="link-${e.elementId}" @click="${e=>{this.scrollToEventTarget(e,!1)}}"> <span style="${e.deprecated?"filter:opacity(0.5)":""}"> ${e.isWebhook?I`<span style="font-weight:700;margin-right:8px;font-size:calc(var(--font-size-small) - 2px)">WEBHOOK</span>`:""} ${"true"===this.usePathInNavBar?I`<span class="mono-font">${e.method.toUpperCase()} ${e.path}</span>`:e.summary||e.shortSummary} </span> </div>`))} </div> </div> `))} ${this.resolvedSpec.components&&"true"===this.showComponents?I` <div id="link-components" class="nav-bar-section"> <div></div> <div class="nav-bar-section-title">COMPONENTS</div> </div> ${this.resolvedSpec.components.map((e=>e.subComponents.length?I` <div class="nav-bar-tag" data-content-id="cmp--${e.name.toLowerCase()}" id="link-cmp--${e.name.toLowerCase()}" @click="${e=>this.scrollToEventTarget(e,!1)}"> ${e.name} </div> ${e.subComponents.map((e=>I` <div class="nav-bar-path" data-content-id="cmp--${e.id}" id="link-cmp--${e.id}" @click="${e=>this.scrollToEventTarget(e,!1)}"> <span> ${e.name} </span> </div>`))}`:""))}`:""} </nav>`} </nav> `}function _u(e){const t=new(Z().Renderer);return t.heading=(t,r,n,o)=>`<h${r} class="observe-me" id="${e}--${o.slug(n)}">${t}</h${r}>`,t}function ju(e){return I` <div class="regular-font section-gap--focused-mode" part="section-operations-in-tag"> ${e} </div>`}function Tu(){var e;if("true"===this.showInfo)return ju(wu.call(this));const t=this.resolvedSpec.tags[0],r=null===(e=this.resolvedSpec.tags[0])||void 0===e?void 0:e.paths[0];return ju(t&&r?gu.call(this,r,t.name):"")}function Fu(e){return I` <h1 id="${e.elementId}">${e.name}</h1> ${"show-description"===this.onNavTagClick&&e.description?I` <div class="m-markdown"> ${Hc(`\n            <div class="m-markdown regular-font">\n              ${Z()(e.description||"","true"===this.infoDescriptionHeadingsInNavBar?{renderer:_u(e.elementId)}:void 0)}\n            </div>`)} </div>`:""} `}function Pu(){if(!this.focusedElementId||!this.resolvedSpec)return;const e=this.focusedElementId;let t,r=null,n=null,o=0;if(e.startsWith("overview")&&"true"===this.showInfo)t=wu.call(this);else if("auth"===e&&"true"===this.allowAuthentication)t=Xc.call(this);else if("servers"===e&&"true"===this.allowServerSelection)t=Eu.call(this);else if(e.startsWith("cmp--")&&"true"===this.showComponents)t=vu.call(this);else if(e.startsWith("tag--")){const r=e.indexOf("--",4)>0?e.substring(0,e.indexOf("--",5)):e;n=this.resolvedSpec.tags.find((e=>e.elementId===r)),t=n?ju.call(this,Fu.call(this,n)):Tu.call(this)}else{for(o=0;o<this.resolvedSpec.tags.length&&(n=this.resolvedSpec.tags[o],r=this.resolvedSpec.tags[o].paths.find((t=>`${t.elementId}`===e)),!r);o+=1);if(r){Su(this.shadowRoot.getElementById(`link-${e}`),"expand"),t=ju.call(this,gu.call(this,r,n.name))}else t=Tu.call(this)}return t}function Bu(e){if(e.expanded)e.expanded=!1,window.history.replaceState(null,null,`${window.location.href.split("#")[0]}`);else{e.expanded=!0;const t=`#${e.elementId}`;window.location.hash!==t&&window.history.replaceState(null,null,`${window.location.href.split("#")[0]}${t}`)}this.requestUpdate()}function Iu(e,t="expand-all"){const r=[...e.querySelectorAll(".section-tag")];"expand-all"===t?r.map((e=>{e.classList.replace("collapsed","expanded")})):r.map((e=>{e.classList.replace("expanded","collapsed")}))}function Ru(e,t="expand-all"){Iu.call(this,e.target.closest(".operations-root"),t)}function Nu(e){return I` <summary @click="${t=>{Bu.call(this,e,t)}}" class="endpoint-head ${e.method} ${e.deprecated?"deprecated":""} ${e.expanded?"expanded":"collapsed"}"> <div class="method ${e.method} ${e.deprecated?"deprecated":""}"> ${e.method} </div> <div class="path ${e.deprecated?"deprecated":""}"> ${e.path} ${e.isWebhook?I`<span style="font-family:var(--font-regular);font-size:var(--);font-size:var(--font-size-small);color:var(--primary-color);margin-left:16px"> Webhook</span>`:""} </div> ${e.deprecated?I` <span style="font-size:var(--font-size-small);text-transform:uppercase;font-weight:700;color:var(--red);margin:2px 0 0 5px"> deprecated </span>`:""} <div class="only-large-screen" style="min-width:60px;flex:1"></div> <div class="descr">${e.summary||e.shortSummary} </div> </summary> `}function Lu(e){const t=new Set;for(const n in e.responses)for(const o in null===(r=e.responses[n])||void 0===r?void 0:r.content){var r;t.add(o.trim())}const n=[...t].join(", "),o=this.resolvedSpec.securitySchemes.filter((t=>{var r;return t.finalKeyValue&&(null===(r=e.security)||void 0===r?void 0:r.some((e=>t.apiKeyId in e)))}))||[],a=this.resolvedSpec.securitySchemes.find((e=>e.apiKeyId===pe&&"-"!==e.value));a&&o.push(a);const i=e.xCodeSamples?eu(e.xCodeSamples):"";return I` <div class="endpoint-body ${e.method} ${e.deprecated?"deprecated":""}"> <slot name="${e.elementId}"></slot> <div class="summary"> ${e.summary?I`<div class="title">${e.summary}<div></div></div>`:e.shortSummary!==e.description?I`<div class="title">${e.shortSummary}</div>`:""} ${e.description?I`<div class="m-markdown"> ${Hc(Z()(e.description))}</div>`:""} ${Qc.call(this,e.security)} ${i} </div> <div class="req-resp-container"> <api-request class="${this.renderStyle}-mode" style="width:100%" method="${e.method}" , path="${e.path}" .parameters="${e.parameters}" .request_body="${e.requestBody}" .api_keys="${o}" .servers="${e.servers}" server-url="${e.servers&&e.servers.length>0?e.servers[0].url:this.selectedServer.computedUrl}" active-schema-tab="${this.defaultSchemaTab}" fill-request-fields-with-example="${this.fillRequestFieldsWithExample}" allow-try="${this.allowTry}" accept="${n}" render-style="${this.renderStyle}" schema-style="${this.schemaStyle}" schema-expand-level="${this.schemaExpandLevel}" schema-description-expanded="${this.schemaDescriptionExpanded}" allow-schema-description-expand-toggle="${this.allowSchemaDescriptionExpandToggle}" schema-hide-read-only="${this.schemaHideReadOnly}" fetch-credentials="${this.fetchCredentials}" exportparts="btn btn-fill btn-outline btn-try"> ${e.callbacks?tu.call(this,e.callbacks):""} </api-request> <api-response class="${this.renderStyle}-mode" style="width:100%" .responses="${e.responses}" active-schema-tab="${this.defaultSchemaTab}" render-style="${this.renderStyle}" schema-style="${this.schemaStyle}" schema-expand-level="${this.schemaExpandLevel}" schema-description-expanded="${this.schemaDescriptionExpanded}" allow-schema-description-expand-toggle="${this.allowSchemaDescriptionExpandToggle}" schema-hide-write-only="${this.schemaHideWriteOnly}" selected-status="${Object.keys(e.responses||{})[0]||""}" exportparts="btn--resp btn-fill--resp btn-outline--resp"> </api-response> </div> </div>`}function qu(){return this.resolvedSpec?I` <div style="display:flex;justify-content:flex-end"> <span @click="${e=>Ru(e,"expand-all")}" style="color:var(--primary-color);cursor:pointer"> Expand all </span> &nbsp;|&nbsp; <span @click="${e=>Ru(e,"collapse-all")}" style="color:var(--primary-color);cursor:pointer"> Collapse all </span> &nbsp; sections </div> ${this.resolvedSpec.tags.map((e=>I` <div class="regular-font section-gap section-tag ${e.expanded?"expanded":"collapsed"}"> <div class="section-tag-header" @click="${()=>{e.expanded=!e.expanded,this.requestUpdate()}}"> <div id="${e.elementId}" class="sub-title tag" style="color:var(--primary-color)">${e.name}</div> </div> <div class="section-tag-body"> <slot name="${e.elementId}"></slot> <div class="regular-font regular-font-size m-markdown" style="padding-bottom:12px"> ${Hc(Z()(e.description||""))} </div> ${e.paths.filter((e=>!this.matchPaths||fe(this.matchPaths,e))).map((e=>I` <section id="${e.elementId}" class="m-endpoint regular-font ${e.method} ${e.expanded?"expanded":"collapsed"}"> ${Nu.call(this,e)} ${e.expanded?Lu.call(this,e):""} </section>`))} </div> </div> `))}`:""}function zu(){return I` <header class="row header regular-font" part="section-header" style="padding:8px 4px 8px 4px;min-height:48px"> <div class="only-large-screen-flex" style="align-items:center"> <slot name="logo" class="logo" part="section-logo"> ${e="height:36px;width:36px;margin-left:5px",I` <div style="${e}"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="1 0 511 512"> <path d="M351 411a202 202 0 01-350 0 203 203 0 01333-24 203 203 0 0117 24zm0 0" fill="#adc165"/> <path d="M334 387a202 202 0 01-216-69 202 202 0 01216 69zm78 32H85a8 8 0 01-8-8 8 8 0 018-8h327a8 8 0 017 8 8 8 0 01-7 8zm0 0" fill="#99aa52"/> <path d="M374 338l-5 30a202 202 0 01-248-248 203 203 0 01253 218zm0 0" fill="#ffc73b"/> <path d="M374 338a202 202 0 01-100-197 203 203 0 01100 197zm38 81l-6-2-231-231a8 8 0 0111-11l231 230a8 8 0 01-5 14zm0 0" fill="#efb025"/> <path d="M311 175c0 75 40 140 101 175a202 202 0 000-350 202 202 0 00-101 175zm0 0" fill="#ff903e"/> <path d="M412 419a8 8 0 01-8-8V85a8 8 0 0115 0v326a8 8 0 01-7 8zm0 0" fill="#e87425"/> </svg> </div> `} </slot> <div class="header-title" part="label-header-title">${this.headingText}</div> </div> <div style="margin:0 8px;display:flex;flex:1"> ${"false"===this.allowSpecUrlLoad?"":I` <input id="spec-url" type="text" style="font-size:var(--font-size-small)" class="header-input mono-font" part="textbox textbox-spec-url" placeholder="Spec URL" value="${this.specUrl||""}" @change="${this.onSepcUrlChange}" spellcheck="false"> <div style="margin:6px 5px 0 -24px;font-size:var(--font-size-regular);cursor:pointer">&#x21a9;</div> `} ${"false"===this.allowSpecFileLoad?"":I` <input id="spec-file" part="file-input" type="file" style="display:none" value="${this.specFile||""}" @change="${this.onSepcFileChange}" spellcheck="false"> <button class="m-btn primary only-large-screen" style="margin-left:10px" part="btn btn-fill" @click="${this.onFileLoadClick}"> LOCAL JSON FILE </button> `} <slot name="header"></slot> ${"false"===this.allowSearch||"read focused".includes(this.renderStyle)?"":I` <input id="search" class="header-input" type="text" part="textbox textbox-header-filter" placeholder="Filter" @change="${this.onSearchChange}" style="max-width:130px;margin-left:10px" spellcheck="false"> <div style="margin:6px 5px 0 -24px;font-size:var(--font-size-regular);cursor:pointer">&#x21a9;</div> `} ${"false"===this.allowSearch||"false"===this.allowAdvancedSearch||"read focused".includes(this.renderStyle)?"":I` <button class="m-btn primary only-large-screen" part="btn btn-fill btn-search" style="margin-left:10px" @click="${this.onShowSearchModalClicked}"> Search </button> `} </div> </header>`;var e}customElements.define("api-response",class extends G{constructor(){super(),this.selectedStatus="",this.headersForEachRespStatus={},this.mimeResponsesForEachStatus={},this.activeSchemaTab="schema"}static get properties(){return{callback:{type:String},responses:{type:Object},parser:{type:Object},schemaStyle:{type:String,attribute:"schema-style"},renderStyle:{type:String,attribute:"render-style"},selectedStatus:{type:String,attribute:"selected-status"},selectedMimeType:{type:String,attribute:"selected-mime-type"},activeSchemaTab:{type:String,attribute:"active-schema-tab"},schemaExpandLevel:{type:Number,attribute:"schema-expand-level"},schemaDescriptionExpanded:{type:String,attribute:"schema-description-expanded"},allowSchemaDescriptionExpandToggle:{type:String,attribute:"allow-schema-description-expand-toggle"},schemaHideWriteOnly:{type:String,attribute:"schema-hide-write-only"}}}static get styles(){return[ee,re,ie,ne,te,ru,Y`.resp-head{vertical-align:middle;padding:16px 0 8px}.resp-head.divider{border-top:1px solid var(--border-color);margin-top:10px}.resp-status{font-weight:700;font-size:calc(var(--font-size-small) + 1px)}.resp-descr{font-size:calc(var(--font-size-small) + 1px);color:var(--light-fg)}.top-gap{margin-top:16px}.example-panel{font-size:var(--font-size-small);margin:0}.focused-mode,.read-mode{padding-top:24px;margin-top:12px;border-top:1px dashed var(--border-color)}`,ce]}render(){return I` <div class="col regular-font response-panel ${this.renderStyle}-mode"> <div class="${"true"===this.callback?"tiny-title":"req-res-title"}"> ${"true"===this.callback?"CALLBACK RESPONSE":"RESPONSE"} </div> <div> ${this.responseTemplate()} <div> </div> </div></div>`}resetSelection(){this.selectedStatus="",this.selectedMimeType=""}responseTemplate(){if(!this.responses)return"";for(const n in this.responses){this.selectedStatus||(this.selectedStatus=n);const o={};for(const r in null===(e=this.responses[n])||void 0===e?void 0:e.content){var e,t;const a=this.responses[n].content[r];this.selectedMimeType||(this.selectedMimeType=r);const i=du(a.schema,{}),s=hu(a.examples,a.example,a.schema,r,!0,!1,r.includes("json")?"json":"text");o[r]={description:this.responses[n].description,examples:s,selectedExample:(null===(t=s[0])||void 0===t?void 0:t.exampleId)||"",schemaTree:i}}const a=[];for(const e in null===(r=this.responses[n])||void 0===r?void 0:r.headers){var r;a.push({name:e,...this.responses[n].headers[e]})}this.headersForEachRespStatus[n]=a,this.mimeResponsesForEachStatus[n]=o}return I` ${Object.keys(this.responses).length>1?I`<div class="row" style="flex-wrap:wrap"> ${Object.keys(this.responses).map((e=>I` ${"$$ref"===e?"":I` <button @click="${()=>{this.selectedStatus=e,this.responses[e].content&&Object.keys(this.responses[e].content)[0]?this.selectedMimeType=Object.keys(this.responses[e].content)[0]:this.selectedMimeType=void 0}}" class="m-btn small ${this.selectedStatus===e?"primary":""}" part="btn--resp ${this.selectedStatus===e?"btn-fill--resp":"btn-outline--resp"} btn-response-status" style="margin:8px 4px 0 0"> ${e} </button>`}`))}</div>`:I`<span>${Object.keys(this.responses)[0]}</span>`}  ${Object.keys(this.responses).map((e=>{var t,r;return I` <div style="display:${e===this.selectedStatus?"block":"none"}"> <div class="top-gap"> <span class="resp-descr m-markdown">${Hc(Z()((null===(t=this.responses[e])||void 0===t?void 0:t.description)||""))}</span> ${this.headersForEachRespStatus[e]&&(null===(r=this.headersForEachRespStatus[e])||void 0===r?void 0:r.length)>0?I`${this.responseHeaderListTemplate(this.headersForEachRespStatus[e])}`:""} </div> ${0===Object.keys(this.mimeResponsesForEachStatus[e]).length?"":I` <div class="tab-panel col"> <div class="tab-buttons row" @click="${e=>{"button"===e.target.tagName.toLowerCase()&&(this.activeSchemaTab=e.target.dataset.tab)}}"> <button class="tab-btn ${"schema"===this.activeSchemaTab?"active":""}" data-tab="schema">SCHEMA</button> <button class="tab-btn ${"example"===this.activeSchemaTab?"active":""}" data-tab="example">EXAMPLE </button> <div style="flex:1"></div> ${1===Object.keys(this.mimeResponsesForEachStatus[e]).length?I`<span class="small-font-size gray-text" style="align-self:center;margin-top:8px"> ${Object.keys(this.mimeResponsesForEachStatus[e])[0]} </span>`:I`${this.mimeTypeDropdownTemplate(Object.keys(this.mimeResponsesForEachStatus[e]))}`} </div> ${"example"===this.activeSchemaTab?I`<div class="tab-content col" style="flex:1"> ${this.mimeExampleTemplate(this.mimeResponsesForEachStatus[e][this.selectedMimeType])} </div>`:I`<div class="tab-content col" style="flex:1"> ${this.mimeSchemaTemplate(this.mimeResponsesForEachStatus[e][this.selectedMimeType])} </div>`} </div> `}</div>`}))} `}responseHeaderListTemplate(e){return I` <div style="padding:16px 0 8px 0" class="resp-headers small-font-size bold-text">RESPONSE HEADERS</div> <table style="border-collapse:collapse;margin-bottom:16px;border:1px solid var(--border-color);border-radius:var(--border-radius)" class="small-font-size mono-font"> ${e.map((e=>I` <tr> <td style="padding:8px;vertical-align:baseline;min-width:120px;border-top:1px solid var(--light-border-color);text-overflow:ellipsis"> ${e.name||""} </td> <td style="padding:4px;vertical-align:baseline;padding:0 5px;border-top:1px solid var(--light-border-color);text-overflow:ellipsis"> ${e.schema.type||""} </td> <td style="padding:8px;vertical-align:baseline;border-top:1px solid var(--light-border-color);text-overflow:ellipsis"> <div class="m-markdown-small regular-font">${Hc(Z()(e.description||""))}</div> </td> <td style="padding:8px;vertical-align:baseline;border-top:1px solid var(--light-border-color);text-overflow:ellipsis"> ${e.schema.example||""} </td> </tr> `))} </table>`}mimeTypeDropdownTemplate(e){return I` <select @change="${e=>{this.selectedMimeType=e.target.value}}" style="margin-bottom:-1px;z-index:1"> ${e.map((e=>I`<option value="${e}" ?selected="${e===this.selectedMimeType}"> ${e} </option>`))} </select>`}onSelectExample(e){[...e.target.closest(".example-panel").querySelectorAll(".example")].forEach((t=>{t.style.display=t.dataset.example===e.target.value?"block":"none"}))}mimeExampleTemplate(e){return e?I` ${1===e.examples.length?I` ${"json"===e.examples[0].exampleFormat?I` <json-tree render-style="${this.renderStyle}" .data="${e.examples[0].exampleValue}" class="example-panel ${"read"===this.renderStyle?"border pad-8-16":"border-top pad-top-8"}"></json-tree>`:I` <pre class="example-panel ${"read"===this.renderStyle?"border pad-8-16":"border-top pad-top-8"}">${e.examples[0].exampleValue}</pre> `}`:I` <span class="example-panel ${"read"===this.renderStyle?"border pad-8-16":"border-top pad-top-8"}"> <select style="min-width:100px;max-width:100%" @change="${e=>this.onSelectExample(e)}"> ${e.examples.map((t=>I`<option value="${t.exampleId}" ?selected="${t.exampleId===e.selectedExample}"> ${t.exampleSummary.length>80?t.exampleId:t.exampleSummary} </option>`))} </select> ${e.examples.map((t=>I` <div class="example" data-example="${t.exampleId}" style="display:${t.exampleId===e.selectedExample?"block":"none"}"> ${t.exampleSummary&&t.exampleSummary.length>80?I`<div style="padding:4px 0"> ${t.exampleSummary} </div>`:""} ${t.exampleDescription?I`<div class="m-markdown-small" style="padding:4px 0"> ${Hc(Z()(t.exampleDescription||""))} </div>`:""} ${"json"===t.exampleFormat?I` <json-tree render-style="${this.renderStyle}" .data="${t.exampleValue}"></json-tree>`:I`<pre>${t.exampleValue}</pre>`} </div> `))} </span> `} `:I` <pre style="color:var(--red)" class="${"read"===this.renderStyle?"read example-panel border pad-8-16":"example-panel border-top"}"> No example provided </pre> `}mimeSchemaTemplate(e){return e?I` ${"table"===this.schemaStyle?I` <schema-table render-style="${this.renderStyle}" .data="${e.schemaTree}" schema-expand-level="${this.schemaExpandLevel}" schema-description-expanded="${this.schemaDescriptionExpanded}" allow-schema-description-expand-toggle="${this.allowSchemaDescriptionExpandToggle}" , schema-hide-read-only="false" schema-hide-write-only="${this.schemaHideWriteOnly}">  </schema-table>`:I` <schema-tree render-style="${this.renderStyle}" .data="${e.schemaTree}" schema-expand-level="${this.schemaExpandLevel}" schema-description-expanded="${this.schemaDescriptionExpanded}" allow-schema-description-expand-toggle="${this.allowSchemaDescriptionExpandToggle}" , schema-hide-read-only="false" schema-hide-write-only="${this.schemaHideWriteOnly}"> </schema-tree>`}`:I` <pre style="color:var(--red)" class="${"read"===this.renderStyle?"border pad-8-16":"border-top"}"> Schema not found</pre> `}});const Uu=Y`*,:after,:before{box-sizing:border-box}.dialog-box-overlay{background-color:var(--overlay-bg);position:fixed;left:0;top:0;width:100vw;height:100vh;overflow:hidden;z-index:var(--dialog-z-index)}.dialog-box{position:fixed;top:100px;left:50%;transform:translate(-50%,0);display:flex;flex-direction:column;width:70vw;background-color:var(--bg2);color:var(--fg2);border-radius:4px;max-height:500px;overflow:hidden;border:1px solid var(--border-color);box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22)}.dialog-box-header{position:sticky;top:0;align-self:stretch;display:flex;align-items:center;padding:0 16px;min-height:60px;max-height:60px;border-bottom:1px solid var(--light-border-color);overflow:hidden}.dialog-box-header button{font-size:1.5rem;font-weight:700;line-height:1;color:var(--fg);border:none;outline:0;background-color:transparent;cursor:pointer;border:1px solid transparent;border-radius:50%;margin-right:-8px}.dialog-box-header button:hover{border-color:var(--primary-color)}.dialog-box-content{padding:16px;display:block;overflow:auto;height:100%}.dialog-box-title{flex-grow:1;font-size:24px}`;function Mu(){var e;return document.addEventListener("close",(()=>{this.showAdvancedSearchDialog=!1})),document.addEventListener("open",this.onOpenSearchDialog),I` <dialog-box heading="Advanced Search" show="${!!this.showAdvancedSearchDialog}"> <span class="advanced-search-options"> <input style="width:100%;padding-right:20px" type="text" part="textbox textbox-search-dialog" placeholder="search text..." spellcheck="false" @keyup="${e=>this.onAdvancedSearch(e,400)}"> <div style="display:flex;margin:8px 0 24px"> <div> <input style="cursor:pointer" type="checkbox" part="checkbox checkbox-search-dialog" id="search-api-path" checked="checked" @change="${e=>this.onAdvancedSearch(e,0)}"> <label for="search-api-path" style="cursor:pointer"> API Path </label> </div> <div style="margin-left:16px"> <input style="cursor:pointer" type="checkbox" part="checkbox checkbox-search-dialog" id="search-api-descr" checked="checked" @change="${e=>this.onAdvancedSearch(e,0)}"> <label style="cursor:pointer" for="search-api-descr"> API Description </label> </div> <div style="margin-left:16px"> <input style="cursor:pointer" type="checkbox" part="checkbox checkbox-search-dialog" id="search-api-params" @change="${e=>this.onAdvancedSearch(e,0)}"> <label style="cursor:pointer" for="search-api-params"> API Parameters </label> </div> <div style="margin-left:16px"> <input style="cursor:pointer" type="checkbox" part="checkbox checkbox-search-dialog" id="search-api-request-body" @change="${e=>this.onAdvancedSearch(e,0)}"> <label style="cursor:pointer" for="search-api-request-body"> Request Body Parameters </label> </div> <div style="margin-left:16px"> <input style="cursor:pointer" type="checkbox" part="checkbox checkbox-search-dialog" id="search-api-resp-descr" @change="${e=>this.onAdvancedSearch(e,0)}"> <label style="cursor:pointer" for="search-api-resp-descr"> Response Description </label> </div> </div> </span> ${null===(e=this.advancedSearchMatches)||void 0===e?void 0:e.map((e=>I` <div class="mono-font small-font-size hover-bg" style="padding:5px;cursor:pointer;border-bottom:1px solid var(--light-border-color);${e.deprecated?"filter:opacity(0.5);":""}" data-content-id="${e.elementId}" tabindex="0" @click="${e=>{this.matchPaths="",this.showAdvancedSearchDialog=!1,this.requestUpdate(),this.scrollToEventTarget(e,!0)}}"> <span class="upper bold-text method-fg ${e.method}">${e.method}</span> <span>${e.path}</span> <span class="regular-font gray-text">${e.summary}</span> </div> `))} </dialog-box> `}customElements.define("dialog-box",class extends G{static get properties(){return{heading:{type:String,attribute:"heading"},show:{type:String,attribute:"show"}}}static get styles(){return[Uu]}connectedCallback(){super.connectedCallback(),document.addEventListener("keydown",(e=>{"Escape"===e.code&&this.onClose()}))}attributeChangedCallback(e,t,r){t!==r&&("heading"===e&&(this.heading=r),"show"===e&&(this.show=r,"true"===r&&document.dispatchEvent(new CustomEvent("open",{bubbles:!0,composed:!0,detail:this})))),super.attributeChangedCallback(e,t,r)}render(){return I` ${"true"===this.show?I` <div class="dialog-box-overlay"> <div class="dialog-box"> <header class="dialog-box-header"> <span class="dialog-box-title">${this.heading}</span> <button type="button" @click="${this.onClose}">&times;</button> </header> <div class="dialog-box-content"> <slot></slot> </div> </div> </div>`:""}`}onClose(){document.dispatchEvent(new CustomEvent("close",{bubbles:!0,composed:!0}))}});const Hu={color:{inputReverseFg:"#fff",inputReverseBg:"#333",headerBg:"#444",getRgb(e){if(0===e.indexOf("#")&&(e=e.slice(1,7)),3!==e.length&&4!==e.length||(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]),6!==e.length)throw new Error("Invalid HEX color.");return{r:parseInt(e.slice(0,2),16),g:parseInt(e.slice(2,4),16),b:parseInt(e.slice(4,6),16)}},luminanace(e){const t=this.getRgb(e);return.299*t.r+.587*t.g+.114*t.b},invert(e){return this.luminanace(e)>135?"#000":"#fff"},opacity(e,t){const r=this.getRgb(e);return`rgba(${r.r}, ${r.g}, ${r.b}, ${t})`},brightness(e,t){const r=this.getRgb(e);return r.r+=t,r.g+=t,r.b+=t,r.r>255?r.r=255:r.r<0&&(r.r=0),r.g>255?r.g=255:r.g<0&&(r.g=0),r.b>255?r.b=255:r.b<0&&(r.b=0),`#${r.r.toString(16).padStart(2,"0")}${r.g.toString(16).padStart(2,"0")}${r.b.toString(16).padStart(2,"0")}`},hasGoodContrast(e,t){return this.luminanace(e)-this.luminanace(t)}}};function Vu(e){return/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3}|[A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/i.test(e)}function Wu(e,t={}){let r={};const n=t.primaryColor?t.primaryColor:"dark"===e?"#f76b39":"#ff591e",o=Hu.color.invert(n),a=Hu.color.opacity(n,"0.8");if("dark"===e){const e=t.bg1?t.bg1:"#333",i=t.fg1?t.fg1:"#bbb",s=t.bg2?t.bg2:Hu.color.brightness(e,5),l=t.bg3?t.bg3:Hu.color.brightness(e,17),c=t.bg3?t.bg3:Hu.color.brightness(e,35),u=t.fg2?t.fg2:Hu.color.brightness(i,-15),p=t.fg3?t.fg3:Hu.color.brightness(i,-20),d=t.fg3?t.fg3:Hu.color.brightness(i,-65),h=t.inlineCodeFg?t.inlineCodeFg:"#aaa",f="#bbb",m="#eee",g=t.headerColor?t.headerColor:Hu.color.brightness(e,10),y=t.navBgColor?t.navBgColor:Hu.color.brightness(e,10);r={bg1:e,bg2:s,bg3:l,lightBg:c,fg1:i,fg2:u,fg3:p,lightFg:d,inlineCodeFg:h,primaryColor:n,primaryColorTrans:a,primaryColorInvert:o,selectionBg:f,selectionFg:m,overlayBg:"rgba(80, 80, 80, 0.4)",navBgColor:y,navTextColor:t.navTextColor?t.navTextColor:Hu.color.opacity(Hu.color.invert(y),"0.65"),navHoverBgColor:t.navHoverBgColor?t.navHoverBgColor:Hu.color.brightness(y,-15),navHoverTextColor:t.navHoverTextColor?t.navHoverTextColor:Hu.color.invert(y),navAccentColor:t.navAccentColor?t.navAccentColor:Hu.color.brightness(n,25),headerColor:g,headerColorInvert:Hu.color.invert(g),headerColorDarker:Hu.color.brightness(g,-20),headerColorBorder:Hu.color.brightness(g,10),borderColor:t.borderColor||Hu.color.brightness(e,20),lightBorderColor:t.lightBorderColor||Hu.color.brightness(e,15),codeBorderColor:t.codeBorderColor||Hu.color.brightness(e,30),inputBg:t.inputBg||Hu.color.brightness(e,-5),placeHolder:t.placeHolder||Hu.color.opacity(i,"0.3"),hoverColor:t.hoverColor||Hu.color.brightness(e,-10),red:t.red?t.red:"#F06560",lightRed:t.lightRed?t.lightRed:Hu.color.brightness(e,-10),pink:t.pink?t.pink:"#ffb2b2",lightPink:t.lightPink||Hu.color.brightness(e,-10),green:t.green||"#7ec699",lightGreen:t.lightGreen||Hu.color.brightness(e,-10),blue:t.blue||"#71b7ff",lightBlue:t.lightBlue||Hu.color.brightness(e,-10),orange:t.orange?t.orange:"#f08d49",lightOrange:t.lightOrange||Hu.color.brightness(e,-10),yellow:t.yellow||"#827717",lightYellow:t.lightYellow||Hu.color.brightness(e,-10),purple:t.purple||"#786FF1",brown:t.brown||"#D4AC0D",codeBg:t.codeBg||Hu.color.opacity(Hu.color.brightness(e,-15),.7),codeFg:t.codeFg||"#aaa",codePropertyColor:t.codePropertyColor||"#f8c555",codeKeywordColor:t.codeKeywordColor||"#cc99cd",codeOperatorColor:t.codeOperatorColor||"#67cdcc"}}else{const e=t.bg1?t.bg1:"#ffffff",i=t.fg1?t.fg1:"#444444",s=t.bg2?t.bg2:Hu.color.brightness(e,-5),l=t.bg3?t.bg3:Hu.color.brightness(e,-15),c=t.bg3?t.bg3:Hu.color.brightness(e,-45),u=t.fg2?t.fg2:Hu.color.brightness(i,17),p=t.fg3?t.fg3:Hu.color.brightness(i,30),d=t.fg3?t.fg3:Hu.color.brightness(i,70),h=t.inlineCodeFg?t.inlineCodeFg:"brown",f="#444",m="#eee",g=t.headerColor?t.headerColor:Hu.color.brightness(e,-180),y=t.navBgColor?t.navBgColor:Hu.color.brightness(e,-180);r={bg1:e,bg2:s,bg3:l,lightBg:c,fg1:i,fg2:u,fg3:p,lightFg:d,inlineCodeFg:h,primaryColor:n,primaryColorTrans:a,primaryColorInvert:o,selectionBg:f,selectionFg:m,overlayBg:"rgba(0, 0, 0, 0.4)",navBgColor:y,navTextColor:t.navTextColor?t.navTextColor:Hu.color.opacity(Hu.color.invert(y),"0.65"),navHoverBgColor:t.navHoverBgColor?t.navHoverBgColor:Hu.color.brightness(y,-15),navHoverTextColor:t.navHoverTextColor?t.navHoverTextColor:Hu.color.invert(y),navAccentColor:t.navAccentColor?t.navAccentColor:Hu.color.brightness(n,25),headerColor:g,headerColorInvert:Hu.color.invert(g),headerColorDarker:Hu.color.brightness(g,-20),headerColorBorder:Hu.color.brightness(g,10),borderColor:t.borderColor||Hu.color.brightness(e,-38),lightBorderColor:t.lightBorderColor||Hu.color.brightness(e,-23),codeBorderColor:t.codeBorderColor||"transparent",inputBg:t.inputBg||Hu.color.brightness(e,10),placeHolder:t.placeHolder||Hu.color.brightness(d,20),hoverColor:t.hoverColor||Hu.color.brightness(e,-5),red:t.red||"#F06560",lightRed:t.lightRed||"#fff0f0",pink:t.pink?t.pink:"#990055",lightPink:t.lightPink?t.lightPink:"#ffb2b2",green:t.green||"#690",lightGreen:t.lightGreen||"#fbfff0",blue:t.blue||"#47AFE8",lightBlue:t.lightBlue||"#eff8fd",orange:t.orange||"#FF9900",lightOrange:t.lightOrange||"#fff5e6",yellow:t.yellow||"#827717",lightYellow:t.lightYellow||"#fff5cc",purple:t.purple||"#786FF1",brown:t.brown||"#D4AC0D",codeBg:t.codeBg||Hu.color.opacity(Hu.color.brightness(e,-15),.7),codeFg:t.codeFg||"#666",codePropertyColor:t.codePropertyColor||"#905",codeKeywordColor:t.codeKeywordColor||"#07a",codeOperatorColor:t.codeOperatorColor||"#9a6e3a"}}return I` <style>*,:after,:before{box-sizing:border-box}:host{--border-radius:2px;--layout:${this.layout||"row"};--font-mono:${this.monoFont||'Monaco, "Andale Mono", "Roboto Mono", Consolas, monospace'};--font-regular:${this.regularFont||'"Open Sans", Avenir, "Segoe UI", Arial, sans-serif'};--nav-item-padding:${"relaxed"===this.navItemSpacing?"10px":"compact"===this.navItemSpacing?"5px 10px":"7px 10px"};--resp-area-height:${this.responseAreaHeight};--font-size-small:${"default"===this.fontSize?"12px":"large"===this.fontSize?"13px":"14px"};--font-size-mono:${"default"===this.fontSize?"13px":"large"===this.fontSize?"14px":"15px"};--font-size-regular:${"default"===this.fontSize?"14px":"large"===this.fontSize?"15px":"16px"};--dialog-z-index:1000;--bg:${r.bg1};--bg2:${r.bg2};--bg3:${r.bg3};--light-bg:${r.lightBg};--fg:${r.fg1};--fg2:${r.fg2};--fg3:${r.fg3};--light-fg:${r.lightFg};--selection-bg:${r.selectionBg};--selection-fg:${r.selectionFg};--overlay-bg:${r.overlayBg};--border-color:${r.borderColor};--light-border-color:${r.lightBorderColor};--code-border-color:${r.codeBorderColor};--input-bg:${r.inputBg};--placeholder-color:${r.placeHolder};--hover-color:${r.hoverColor};--red:${r.red};--light-red:${r.lightRed};--pink:${r.pink};--light-pink:${r.lightPink};--green:${r.green};--light-green:${r.lightGreen};--blue:${r.blue};--light-blue:${r.lightBlue};--orange:${r.orange};--light-orange:${r.lightOrange};--yellow:${r.yellow};--light-yellow:${r.lightYellow};--purple:${r.purple};--brown:${r.brown};--header-bg:${r.headerColor};--header-fg:${r.headerColorInvert};--header-color-darker:${r.headerColorDarker};--header-color-border:${r.headerColorBorder};--nav-bg-color:${r.navBgColor};--nav-text-color:${r.navTextColor};--nav-hover-bg-color:${r.navHoverBgColor};--nav-hover-text-color:${r.navHoverTextColor};--nav-accent-color:${r.navAccentColor};--primary-color:${r.primaryColor};--primary-color-invert:${r.primaryColorInvert};--primary-color-trans:${r.primaryColorTrans};--code-bg:${r.codeBg};--code-fg:${r.codeFg};--inline-code-fg:${r.inlineCodeFg};--code-property-color:${r.codePropertyColor};--code-keyword-color:${r.codeKeywordColor};--code-operator-color:${r.codeOperatorColor}}</style>`}function Yu(){if(!this.resolvedSpec)return"";const e={bg1:Vu(this.bgColor)?this.bgColor:"",fg1:Vu(this.textColor)?this.textColor:"",headerColor:Vu(this.headerColor)?this.headerColor:"",primaryColor:Vu(this.primaryColor)?this.primaryColor:"",navBgColor:Vu(this.navBgColor)?this.navBgColor:"",navTextColor:Vu(this.navTextColor)?this.navTextColor:"",navHoverBgColor:Vu(this.navHoverBgColor)?this.navHoverBgColor:"",navHoverTextColor:Vu(this.navHoverTextColor)?this.navHoverTextColor:"",navAccentColor:Vu(this.navAccentColor)?this.navAccentColor:""};return I` ${"dark"===this.theme?Wu.call(this,"dark",e):Wu.call(this,"light",e)} ${"false"===this.showHeader?"":zu.call(this)} ${"false"===this.allowAdvancedSearch?"":Mu.call(this)} <div id="the-main-body" class="body"> ${"read"!==this.renderStyle&&"focused"!==this.renderStyle||"true"!==this.showSideNav||!this.resolvedSpec?"":Cu.call(this)} <main class="main-content regular-font" part="section-main-content"> <slot></slot> <div class="main-content-inner--${this.renderStyle}-mode"> ${!0===this.loading?I`<div class="loader"></div>`:I` ${!0===this.loadFailed?I`<div style="text-align:center;margin:16px"> Unable to load the Spec</div>`:I` <div class="operations-root" @click="${e=>{this.handleHref(e)}}"> ${"focused"===this.renderStyle?I`${Pu.call(this)}`:I` ${"true"===this.showInfo?wu.call(this):""} ${"true"===this.allowServerSelection?Eu.call(this):""} ${"true"===this.allowAuthentication?Xc.call(this):""} ${"read"===this.renderStyle?yu.call(this):qu.call(this)} `} </div> `}`} </div> <slot name="footer"></slot> </main> </div> `}class Ku extends G{constructor(){super();const e={root:this.getRootNode().host,rootMargin:"-50px 0px -50px 0px",threshold:0};this.isIntersectionObserverActive=!0,this.intersectionObserver=new IntersectionObserver((e=>{this.onIntersect(e)}),e)}static get properties(){return{headingText:{type:String,attribute:"heading-text"},gotoPath:{type:String,attribute:"goto-path"},specUrl:{type:String,attribute:"spec-url"},sortTags:{type:String,attribute:"sort-tags"},generateMissingTags:{type:String,attribute:"generate-missing-tags"},sortEndpointsBy:{type:String,attribute:"sort-endpoints-by"},specFile:{type:String,attribute:!1},layout:{type:String},renderStyle:{type:String,attribute:"render-style"},defaultSchemaTab:{type:String,attribute:"default-schema-tab"},responseAreaHeight:{type:String,attribute:"response-area-height"},fillRequestFieldsWithExample:{type:String,attribute:"fill-request-fields-with-example"},onNavTagClick:{type:String,attribute:"on-nav-tag-click"},schemaStyle:{type:String,attribute:"schema-style"},schemaExpandLevel:{type:Number,attribute:"schema-expand-level"},schemaDescriptionExpanded:{type:String,attribute:"schema-description-expanded"},schemaHideReadOnly:{type:String,attribute:"schema-hide-read-only"},schemaHideWriteOnly:{type:String,attribute:"schema-hide-write-only"},apiKeyName:{type:String,attribute:"api-key-name"},apiKeyLocation:{type:String,attribute:"api-key-location"},apiKeyValue:{type:String,attribute:"api-key-value"},defaultApiServerUrl:{type:String,attribute:"default-api-server"},serverUrl:{type:String,attribute:"server-url"},oauthReceiver:{type:String,attribute:"oauth-receiver"},showHeader:{type:String,attribute:"show-header"},showSideNav:{type:String,attribute:"show-side-nav"},showInfo:{type:String,attribute:"show-info"},allowAuthentication:{type:String,attribute:"allow-authentication"},allowTry:{type:String,attribute:"allow-try"},allowSpecUrlLoad:{type:String,attribute:"allow-spec-url-load"},allowSpecFileLoad:{type:String,attribute:"allow-spec-file-load"},allowSearch:{type:String,attribute:"allow-search"},allowAdvancedSearch:{type:String,attribute:"allow-advanced-search"},allowServerSelection:{type:String,attribute:"allow-server-selection"},allowSchemaDescriptionExpandToggle:{type:String,attribute:"allow-schema-description-expand-toggle"},showComponents:{type:String,attribute:"show-components"},theme:{type:String},bgColor:{type:String,attribute:"bg-color"},textColor:{type:String,attribute:"text-color"},headerColor:{type:String,attribute:"header-color"},primaryColor:{type:String,attribute:"primary-color"},fontSize:{type:String,attribute:"font-size"},regularFont:{type:String,attribute:"regular-font"},monoFont:{type:String,attribute:"mono-font"},loadFonts:{type:String,attribute:"load-fonts"},navBgColor:{type:String,attribute:"nav-bg-color"},navTextColor:{type:String,attribute:"nav-text-color"},navHoverBgColor:{type:String,attribute:"nav-hover-bg-color"},navHoverTextColor:{type:String,attribute:"nav-hover-text-color"},navAccentColor:{type:String,attribute:"nav-accent-color"},navItemSpacing:{type:String,attribute:"nav-item-spacing"},usePathInNavBar:{type:String,attribute:"use-path-in-nav-bar"},infoDescriptionHeadingsInNavBar:{type:String,attribute:"info-description-headings-in-navbar"},fetchCredentials:{type:String,attribute:"fetch-credentials"},matchPaths:{type:String,attribute:"match-paths"},loading:{type:Boolean},focusedElementId:{type:String},showAdvancedSearchDialog:{type:Boolean},advancedSearchMatches:{type:Object}}}static get styles(){return[ee,te,re,ne,oe,ae,ie,se,le,Y`:host{display:flex;flex-direction:column;min-width:360px;width:100%;height:100%;margin:0;padding:0;overflow:hidden;letter-spacing:normal;color:var(--fg);background-color:var(--bg);font-family:var(--font-regular)}.body{display:flex;height:100%;width:100%;overflow:hidden}.main-content{margin:0;padding:0;display:block;flex:1;height:100%;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}.main-content-inner--view-mode{padding:0 8px}.main-content::-webkit-scrollbar{width:8px;height:8px}.main-content::-webkit-scrollbar-track{background:0 0}.main-content::-webkit-scrollbar-thumb{background-color:var(--border-color)}.section-gap.section-tag{border-bottom:1px solid var(--border-color)}.section-gap,.section-gap--focused-mode,.section-gap--read-mode{padding:0 4px}.section-tag-header{position:relative;cursor:n-resize;padding:12px 0}.collapsed .section-tag-header:hover{cursor:s-resize}.section-tag-header:hover{background-image:linear-gradient(to right,rgba(0,0,0,0),var(--border-color),rgba(0,0,0,0))}.section-tag-header:hover::after{position:absolute;margin-left:-24px;font-size:20px;top:calc(50% - 14px);color:var(--primary-color);content:'⬆'}.collapsed .section-tag-header::after{position:absolute;margin-left:-24px;font-size:20px;top:calc(50% - 14px);color:var(--border-color);content:'⬇'}.collapsed .section-tag-header:hover::after{color:var(--primary-color)}.collapsed .section-tag-body{display:none}.logo{height:36px;width:36px;margin-left:5px}.only-large-screen,.only-large-screen-flex{display:none}.header-title{font-size:calc(var(--font-size-regular) + 8px);padding:0 8px}.tag.title{text-transform:uppercase}.header{background-color:var(--header-bg);color:var(--header-fg);width:100%}input.header-input{background:var(--header-color-darker);color:var(--header-fg);border:1px solid var(--header-color-border);flex:1;padding-right:24px;border-radius:3px}input.header-input::placeholder{opacity:.4}.loader{margin:16px auto 16px auto;border:4px solid var(--bg3);border-radius:50%;border-top:4px solid var(--primary-color);width:36px;height:36px;animation:spin 2s linear infinite}.expanded-endpoint-body{position:relative;padding:6px 0}.expanded-endpoint-body.deprecated{filter:opacity(.6)}.divider{border-top:2px solid var(--border-color);margin:24px 0;width:100%}.tooltip{cursor:pointer;border:1px solid var(--border-color);border-left-width:4px;margin-left:2px}.tooltip a{color:var(--fg2);text-decoration:none}.tooltip-text{color:var(--fg2);max-width:400px;position:absolute;z-index:1;background-color:var(--bg2);visibility:hidden;overflow-wrap:break-word}.tooltip:hover{color:var(--primary-color);border-color:var(--primary-color)}.tooltip:hover a:hover{color:var(--primary-color)}.tooltip:hover .tooltip-text{visibility:visible}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@media only screen and (min-width:768px){.nav-bar{width:260px;display:flex}.only-large-screen{display:block}.only-large-screen-flex{display:flex}.section-gap{padding:0 0 0 24px}.section-gap--focused-mode{padding:24px 8px}.section-gap--read-mode{padding:24px 8px}.endpoint-body{position:relative;padding:36px 0 48px 0}}@media only screen and (min-width:1024px){.nav-bar{width:${W("default"===this.fontSize?"300px":"large"===this.fontSize?"315px":"330px")};display:flex}.section-gap--focused-mode{padding:12px 80px 12px 80px}.section-gap--read-mode{padding:24px 80px 12px 80px}}`,ce]}connectedCallback(){super.connectedCallback();const e=this.parentElement;if(e&&(0===e.offsetWidth&&""===e.style.width&&(e.style.width="100vw"),0===e.offsetHeight&&""===e.style.height&&(e.style.height="100vh"),"BODY"===e.tagName&&(e.style.marginTop||(e.style.marginTop="0"),e.style.marginRight||(e.style.marginRight="0"),e.style.marginBottom||(e.style.marginBottom="0"),e.style.marginLeft||(e.style.marginLeft="0"))),"false"!==this.loadFonts){const e={family:"Open Sans",style:"normal",weight:"300",unicodeRange:"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD"},t=new FontFace("Open Sans","url(https://fonts.gstatic.com/s/opensans/v18/mem5YaGs126MiZpBA-UN_r8OUuhpKKSTjw.woff2) format('woff2')",e);e.weight="600";const r=new FontFace("Open Sans","url(https://fonts.gstatic.com/s/opensans/v18/mem5YaGs126MiZpBA-UNirkOUuhpKKSTjw.woff2) format('woff2')",e);t.load().then((e=>{document.fonts.add(e)})),r.load().then((e=>{document.fonts.add(e)}))}this.renderStyle&&"read, view, focused,".includes(`${this.renderStyle},`)||(this.renderStyle="read"),this.schemaStyle&&"tree, table,".includes(`${this.schemaStyle},`)||(this.schemaStyle="tree"),this.theme&&"light, dark,".includes(`${this.theme},`)||(this.theme=window.matchMedia&&window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"),this.defaultSchemaTab&&"example, schema, model,".includes(`${this.defaultSchemaTab},`)?"model"===this.defaultSchemaTab&&(this.defaultSchemaTab="schema"):this.defaultSchemaTab="schema",(!this.schemaExpandLevel||this.schemaExpandLevel<1)&&(this.schemaExpandLevel=99999),this.schemaDescriptionExpanded&&"true, false,".includes(`${this.schemaDescriptionExpanded},`)||(this.schemaDescriptionExpanded="false");const t=["post","put","patch"];this.schemaHideReadOnly?"never"!==this.schemaHideReadOnly&&(this.schemaHideReadOnly=t.filter((e=>this.schemaHideReadOnly.includes(e))),0===this.schemaHideReadOnly.length&&(this.schemaHideReadOnly=t)):this.schemaHideReadOnly=t,this.schemaHideReadOnly+=["get","head","delete","options"],this.schemaHideWriteOnly="never"!==this.schemaHideWriteOnly,this.fillRequestFieldsWithExample&&"true, false,".includes(`${this.fillRequestFieldsWithExample},`)||(this.fillRequestFieldsWithExample="true"),this.onNavTagClick&&"expand-collapse, show-description,".includes(`${this.onNavTagClick},`)||(this.onNavTagClick="expand-collapse"),this.responseAreaHeight||(this.responseAreaHeight="300px"),this.allowSearch&&"true, false,".includes(`${this.allowSearch},`)||(this.allowSearch="true"),this.allowAdvancedSearch&&"true, false,".includes(`${this.allowAdvancedSearch},`)||(this.allowAdvancedSearch="true"),this.allowTry&&"true, false,".includes(`${this.allowTry},`)||(this.allowTry="true"),this.apiKeyValue||(this.apiKeyValue="-"),this.apiKeyLocation||(this.apiKeyLocation="header"),this.apiKeyName||(this.apiKeyName=""),this.oauthReceiver||(this.oauthReceiver="oauth-receiver.html"),this.sortTags&&"true, false,".includes(`${this.sortTags},`)||(this.sortTags="false"),this.generateMissingTags&&"true, false,".includes(`${this.generateMissingTags},`)||(this.generateMissingTags="false"),this.sortEndpointsBy&&"method, path, summary,".includes(`${this.sortEndpointsBy},`)||(this.sortEndpointsBy="path"),this.navItemSpacing&&"compact, relaxed, default,".includes(`${this.navItemSpacing},`)||(this.navItemSpacing="default"),this.usePathInNavBar&&"true, false,".includes(`${this.usePathInNavBar},`)||(this.usePathInNavBar="false"),this.fontSize&&"default, large, largest,".includes(`${this.fontSize},`)||(this.fontSize="default"),this.showInfo&&"true, false,".includes(`${this.showInfo},`)||(this.showInfo="true"),this.allowServerSelection&&"true, false,".includes(`${this.allowServerSelection},`)||(this.allowServerSelection="true"),this.allowAuthentication&&"true, false,".includes(`${this.allowAuthentication},`)||(this.allowAuthentication="true"),this.allowSchemaDescriptionExpandToggle&&"true, false,".includes(`${this.allowSchemaDescriptionExpandToggle},`)||(this.allowSchemaDescriptionExpandToggle="true"),this.showSideNav&&"true false".includes(this.showSideNav)||(this.showSideNav="true"),this.showComponents&&"true false".includes(this.showComponents)||(this.showComponents="false"),this.infoDescriptionHeadingsInNavBar&&"true, false,".includes(`${this.infoDescriptionHeadingsInNavBar},`)||(this.infoDescriptionHeadingsInNavBar="false"),this.fetchCredentials&&"omit, same-origin, include,".includes(`${this.fetchCredentials},`)||(this.fetchCredentials=""),this.showAdvancedSearchDialog||(this.showAdvancedSearchDialog=!1),Z().setOptions({highlight:(e,t)=>Q().languages[t]?Q().highlight(e,Q().languages[t],t):e}),window.addEventListener("hashchange",(()=>{this.scrollTo(window.location.hash.substring(1))}),!0)}disconnectedCallback(){this.intersectionObserver&&this.intersectionObserver.disconnect(),super.disconnectedCallback()}infoDescriptionHeadingRenderer(){const e=new(Z().Renderer);return e.heading=(e,t,r,n)=>`<h${t} class="observe-me" id="${n.slug(r)}">${e}</h${t}>`,e}render(){return Yu.call(this)}observeExpandedContent(){this.shadowRoot.querySelectorAll(".observe-me").forEach((e=>{this.intersectionObserver.observe(e)}))}attributeChangedCallback(e,t,r){if("spec-url"===e&&t!==r&&window.setTimeout((async()=>{await this.loadSpec(r),this.gotoPath&&!window.location.hash&&this.scrollTo(this.gotoPath)}),0),"render-style"===e&&("read"===r?window.setTimeout((()=>{this.observeExpandedContent()}),100):this.intersectionObserver.disconnect()),"api-key-name"===e||"api-key-location"===e||"api-key-value"===e){let t=!1,n="",o="",a="";if("api-key-name"===e?this.getAttribute("api-key-location")&&this.getAttribute("api-key-value")&&(n=r,o=this.getAttribute("api-key-location"),a=this.getAttribute("api-key-value"),t=!0):"api-key-location"===e?this.getAttribute("api-key-name")&&this.getAttribute("api-key-value")&&(o=r,n=this.getAttribute("api-key-name"),a=this.getAttribute("api-key-value"),t=!0):"api-key-value"===e&&this.getAttribute("api-key-name")&&this.getAttribute("api-key-location")&&(a=r,o=this.getAttribute("api-key-location"),n=this.getAttribute("api-key-name"),t=!0),t&&this.resolvedSpec){const e=this.resolvedSpec.securitySchemes.find((e=>e.apiKeyId===pe));e?(e.name=n,e.in=o,e.value=a,e.finalKeyValue=a):this.resolvedSpec.securitySchemes.push({apiKeyId:pe,description:"api-key provided in rapidoc element attributes",type:"apiKey",name:n,in:o,value:a,finalKeyValue:a}),this.requestUpdate()}}super.attributeChangedCallback(e,t,r)}onSepcUrlChange(){this.setAttribute("spec-url",this.shadowRoot.getElementById("spec-url").value)}onSepcFileChange(e){this.setAttribute("spec-file",this.shadowRoot.getElementById("spec-file").value);const t=e.target.files[0],r=new FileReader;r.onload=()=>{try{const e=JSON.parse(r.result);this.loadSpec(e),this.shadowRoot.getElementById("spec-url").value=""}catch(e){console.error("RapiDoc: Unable to read or parse json")}},r.readAsText(t)}onFileLoadClick(){this.shadowRoot.getElementById("spec-file").click()}onSearchChange(e){this.matchPaths=e.target.value,this.resolvedSpec.tags.forEach((e=>e.paths.filter((t=>{this.matchPaths&&fe(this.matchPaths,t)&&(e.expanded=!0)})))),this.requestUpdate()}onClearSearch(){this.shadowRoot.getElementById("nav-bar-search").value="",this.matchPaths=""}onShowSearchModalClicked(){this.showAdvancedSearchDialog=!0}async onOpenSearchDialog(e){const t=e.detail.querySelector("input");await de(0),t&&t.focus()}async loadSpec(e){if(e){this.matchPaths="";try{this.resolvedSpec=null,this.loading=!0,this.loadFailed=!1;const t=await zc.call(this,e,"true"===this.generateMissingTags,"true"===this.sortTags,this.getAttribute("sort-endpoints-by"),this.getAttribute("api-key-name"),this.getAttribute("api-key-location"),this.getAttribute("api-key-value"),this.getAttribute("server-url"));this.loading=!1,null==t&&console.error("Unable to resolve the API spec. "),this.afterSpecParsedAndValidated(t)}catch(e){this.loading=!1,this.loadFailed=!0,this.resolvedSpec=null,console.error(`RapiDoc: Unable to resolve the API spec..  ${e.message}`)}}}async afterSpecParsedAndValidated(e){var t;this.resolvedSpec=e,this.defaultApiServerUrl&&(this.defaultApiServerUrl===this.serverUrl?this.selectedServer={url:this.serverUrl,computedUrl:this.serverUrl}:this.resolvedSpec.servers&&(this.selectedServer=this.resolvedSpec.servers.find((e=>e.url===this.defaultApiServerUrl)))),this.selectedServer||this.resolvedSpec.servers&&(this.selectedServer=this.resolvedSpec.servers[0]),this.requestUpdate();const r=new CustomEvent("spec-loaded",{detail:e});this.dispatchEvent(r),this.intersectionObserver.disconnect(),"read"===this.renderStyle&&(await de(100),this.observeExpandedContent());const n=null===(t=window.location.hash)||void 0===t?void 0:t.substring(1);if(n)"view"===this.renderStyle?this.expandAndGotoOperation(n,!0,!0):"focused"===this.renderStyle&&this.scrollTo(n);else if("focused"===this.renderStyle){var o;const e=this.showInfo?"overview":null===(o=this.resolvedSpec.tags[0])||void 0===o?void 0:o.paths[0];this.scrollTo(e)}}expandAndGotoOperation(e,t=!0){if(!this.resolvedSpec)return;let r=!0;const n=-1===e.indexOf("#")?e:e.substring(1);if(n.startsWith("overview")||"servers"===n||"auth"===n)r=!1;else for(let t=0;t<(null===(o=this.resolvedSpec.tags)||void 0===o?void 0:o.length);t++){var o,a;const n=this.resolvedSpec.tags[t],i=null===(a=n.paths)||void 0===a?void 0:a.find((t=>t.elementId===e));i&&(i.expanded&&n.expanded?r=!1:(i.expanded=!0,n.expanded=!0))}t&&(r&&this.requestUpdate(),window.setTimeout((()=>{const e=this.shadowRoot.getElementById(n);e&&(e.scrollIntoView({behavior:"auto",block:"start"}),window.history.replaceState(null,null,`#${n}`))}),r?150:0))}isValidTopId(e){return e.startsWith("overview")||"servers"===e||"auth"===e}isValidPathId(e){var t,r,n,o;return!("overview"!==e||!this.showInfo)||(!("servers"!==e||!this.allowServerSelection)||(!("auth"!==e||!this.allowAuthentication)||(e.startsWith("tag--")?null===(n=this.resolvedSpec)||void 0===n||null===(o=n.tags)||void 0===o?void 0:o.find((t=>t.elementId===e)):null===(t=this.resolvedSpec)||void 0===t||null===(r=t.tags)||void 0===r?void 0:r.find((t=>t.paths.find((t=>t.elementId===e)))))))}onIntersect(e){!1!==this.isIntersectionObserverActive&&e.forEach((e=>{if(e.isIntersecting&&e.intersectionRatio>0){const t=this.shadowRoot.querySelector(".nav-bar-tag.active, .nav-bar-path.active, .nav-bar-info.active, .nav-bar-h1.active, .nav-bar-h2.active"),r=this.shadowRoot.getElementById(`link-${e.target.id}`);r&&(window.history.replaceState(null,null,`${window.location.href.split("#")[0]}#${e.target.id}`),r.scrollIntoView({behavior:"auto",block:"center"}),r.classList.add("active")),t&&t.classList.remove("active")}}))}handleHref(e){if("a"===e.target.tagName.toLowerCase()&&e.target.getAttribute("href").startsWith("#")){const t=this.shadowRoot.getElementById(e.target.getAttribute("href").replace("#",""));t&&t.scrollIntoView({behavior:"auto",block:"start"})}}async scrollToEventTarget(e,t=!0){const r=e.currentTarget;r.dataset.contentId&&(this.isIntersectionObserverActive=!1,this.scrollTo(r.dataset.contentId,!0,t),setTimeout((()=>{this.isIntersectionObserverActive=!0}),300))}async scrollTo(e,t=!0,r=!0){if("focused"===this.renderStyle&&(this.focusedElementId=e,await de(0)),"view"===this.renderStyle)this.expandAndGotoOperation(e,t,!0);else{let t=!1;const n=this.shadowRoot.getElementById(e);if(n?(t=!0,("read"===this.renderStyle||e.startsWith("overview")||e.startsWith("tag--"))&&n.scrollIntoView({behavior:"auto",block:"start"})):t=!1,t){if("focused"===this.renderStyle){const e=this.shadowRoot.querySelector("api-request");e&&e.resetRequestBodySelection();const t=this.shadowRoot.querySelector("api-response");t&&t.resetSelection()}window.history.replaceState(null,null,`#${e}`);const t=this.shadowRoot.getElementById(`link-${e}`);if(t){r&&t.scrollIntoView({behavior:"auto",block:"center"}),await de(0);const e=this.shadowRoot.querySelector(".nav-bar-tag.active, .nav-bar-path.active, .nav-bar-info.active, .nav-bar-h1.active, .nav-bar-h2.active");e&&e.classList.remove("active"),t.classList.add("active")}}}}onAdvancedSearch(e,t){const r=e.target;clearTimeout(this.timeoutId),this.timeoutId=setTimeout((()=>{let e;e="text"===r.type?r:r.closest(".advanced-search-options").querySelector("input[type=text]");const t=[...r.closest(".advanced-search-options").querySelectorAll("input:checked")].map((e=>e.id));this.advancedSearchMatches=function(e,t,r=[]){if(!e.trim()||0===r.length)return;const n=[];return t.forEach((t=>{t.paths.forEach((t=>{let o="";var a;if(r.includes("search-api-path")&&(o=t.path),r.includes("search-api-descr")&&(o=`${o} ${t.summary||t.description||""}`),r.includes("search-api-params")&&(o=`${o} ${(null===(a=t.parameters)||void 0===a?void 0:a.map((e=>e.name)).join(" "))||""}`),r.includes("search-api-request-body")&&t.requestBody){let e=new Set;for(const r in null===(i=t.requestBody)||void 0===i?void 0:i.content){var i,s,l;null!==(s=t.requestBody.content[r].schema)&&void 0!==s&&s.properties&&(e=me(null===(l=t.requestBody.content[r].schema)||void 0===l?void 0:l.properties)),o=`${o} ${[...e].join(" ")}`}}r.includes("search-api-resp-descr")&&(o=`${o} ${Object.values(t.responses).map((e=>e.description||"")).join(" ")}`),o.toLowerCase().includes(e.trim().toLowerCase())&&n.push({elementId:t.elementId,method:t.method,path:t.path,summary:t.summary||t.description||"",deprecated:t.deprecated})}))})),n}(e.value,this.resolvedSpec.tags,t)}),t)}}customElements.define("rapi-doc",Ku);class Gu extends HTMLElement{connectedCallback(){this.receiveAuthParms(),window.addEventListener("storage",(e=>this.receiveStorage(e)),!0)}receiveAuthParms(){let e={};if(document.location.search){const t=new URLSearchParams(document.location.search);e={code:t.get("code"),error:t.get("error"),state:t.get("state"),responseType:"code"}}else if(window.location.hash){e={token_type:this.parseQueryString(window.location.hash.substring(1),"token_type"),access_token:this.parseQueryString(window.location.hash.substring(1),"access_token"),responseType:"token"}}window.opener?window.opener.postMessage(e,this.target):sessionStorage.setItem("rapidoc-oauth-data",JSON.stringify(e))}relayAuthParams(e){if(window.parent&&"rapidoc-oauth-data"===e.key){const t=JSON.parse(e.newValue);window.parent.postMessage(t,this.target)}}parseQueryString(e,t){const r=e.split("&");for(let e=0;e<r.length;e++){const n=r[e].split("=");if(decodeURIComponent(n[0])===t)return decodeURIComponent(n[1])}}}customElements.define("oauth-receiver",Gu)},742:(e,t)=>{"use strict";t.byteLength=function(e){var t=l(e),r=t[0],n=t[1];return 3*(r+n)/4-n},t.toByteArray=function(e){var t,r,a=l(e),i=a[0],s=a[1],c=new o(function(e,t,r){return 3*(t+r)/4-r}(0,i,s)),u=0,p=s>0?i-4:i;for(r=0;r<p;r+=4)t=n[e.charCodeAt(r)]<<18|n[e.charCodeAt(r+1)]<<12|n[e.charCodeAt(r+2)]<<6|n[e.charCodeAt(r+3)],c[u++]=t>>16&255,c[u++]=t>>8&255,c[u++]=255&t;2===s&&(t=n[e.charCodeAt(r)]<<2|n[e.charCodeAt(r+1)]>>4,c[u++]=255&t);1===s&&(t=n[e.charCodeAt(r)]<<10|n[e.charCodeAt(r+1)]<<4|n[e.charCodeAt(r+2)]>>2,c[u++]=t>>8&255,c[u++]=255&t);return c},t.fromByteArray=function(e){for(var t,n=e.length,o=n%3,a=[],i=16383,s=0,l=n-o;s<l;s+=i)a.push(c(e,s,s+i>l?l:s+i));1===o?(t=e[n-1],a.push(r[t>>2]+r[t<<4&63]+"==")):2===o&&(t=(e[n-2]<<8)+e[n-1],a.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"="));return a.join("")};for(var r=[],n=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i=0,s=a.length;i<s;++i)r[i]=a[i],n[a.charCodeAt(i)]=i;function l(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function c(e,t,n){for(var o,a,i=[],s=t;s<n;s+=3)o=(e[s]<<16&16711680)+(e[s+1]<<8&65280)+(255&e[s+2]),i.push(r[(a=o)>>18&63]+r[a>>12&63]+r[a>>6&63]+r[63&a]);return i.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},764:(e,t,r)=>{"use strict";var n=r(742),o=r(645),a=r(826);function i(){return l.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(e,t){if(i()<t)throw new RangeError("Invalid typed array length");return l.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=l.prototype:(null===e&&(e=new l(t)),e.length=t),e}function l(e,t,r){if(!(l.TYPED_ARRAY_SUPPORT||this instanceof l))return new l(e,t,r);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return p(this,e)}return c(this,e,t,r)}function c(e,t,r,n){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,r,n){if(t.byteLength,r<0||t.byteLength<r)throw new RangeError("'offset' is out of bounds");if(t.byteLength<r+(n||0))throw new RangeError("'length' is out of bounds");t=void 0===r&&void 0===n?new Uint8Array(t):void 0===n?new Uint8Array(t,r):new Uint8Array(t,r,n);l.TYPED_ARRAY_SUPPORT?(e=t).__proto__=l.prototype:e=d(e,t);return e}(e,t,r,n):"string"==typeof t?function(e,t,r){"string"==typeof r&&""!==r||(r="utf8");if(!l.isEncoding(r))throw new TypeError('"encoding" must be a valid string encoding');var n=0|f(t,r),o=(e=s(e,n)).write(t,r);o!==n&&(e=e.slice(0,o));return e}(e,t,r):function(e,t){if(l.isBuffer(t)){var r=0|h(t.length);return 0===(e=s(e,r)).length||t.copy(e,0,0,r),e}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||(n=t.length)!=n?s(e,0):d(e,t);if("Buffer"===t.type&&a(t.data))return d(e,t.data)}var n;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function u(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function p(e,t){if(u(t),e=s(e,t<0?0:0|h(t)),!l.TYPED_ARRAY_SUPPORT)for(var r=0;r<t;++r)e[r]=0;return e}function d(e,t){var r=t.length<0?0:0|h(t.length);e=s(e,r);for(var n=0;n<r;n+=1)e[n]=255&t[n];return e}function h(e){if(e>=i())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i().toString(16)+" bytes");return 0|e}function f(e,t){if(l.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return z(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return U(e).length;default:if(n)return z(e).length;t=(""+t).toLowerCase(),n=!0}}function m(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return _(this,t,r);case"utf8":case"utf-8":return S(this,t,r);case"ascii":return O(this,t,r);case"latin1":case"binary":return C(this,t,r);case"base64":return E(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return j(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function g(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function y(e,t,r,n,o){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=o?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(o)return-1;r=e.length-1}else if(r<0){if(!o)return-1;r=0}if("string"==typeof t&&(t=l.from(t,n)),l.isBuffer(t))return 0===t.length?-1:b(e,t,r,n,o);if("number"==typeof t)return t&=255,l.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):b(e,[t],r,n,o);throw new TypeError("val must be string, number or Buffer")}function b(e,t,r,n,o){var a,i=1,s=e.length,l=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;i=2,s/=2,l/=2,r/=2}function c(e,t){return 1===i?e[t]:e.readUInt16BE(t*i)}if(o){var u=-1;for(a=r;a<s;a++)if(c(e,a)===c(t,-1===u?0:a-u)){if(-1===u&&(u=a),a-u+1===l)return u*i}else-1!==u&&(a-=a-u),u=-1}else for(r+l>s&&(r=s-l),a=r;a>=0;a--){for(var p=!0,d=0;d<l;d++)if(c(e,a+d)!==c(t,d)){p=!1;break}if(p)return a}return-1}function v(e,t,r,n){r=Number(r)||0;var o=e.length-r;n?(n=Number(n))>o&&(n=o):n=o;var a=t.length;if(a%2!=0)throw new TypeError("Invalid hex string");n>a/2&&(n=a/2);for(var i=0;i<n;++i){var s=parseInt(t.substr(2*i,2),16);if(isNaN(s))return i;e[r+i]=s}return i}function x(e,t,r,n){return M(z(t,e.length-r),e,r,n)}function w(e,t,r,n){return M(function(e){for(var t=[],r=0;r<e.length;++r)t.push(255&e.charCodeAt(r));return t}(t),e,r,n)}function k(e,t,r,n){return w(e,t,r,n)}function A(e,t,r,n){return M(U(t),e,r,n)}function $(e,t,r,n){return M(function(e,t){for(var r,n,o,a=[],i=0;i<e.length&&!((t-=2)<0);++i)n=(r=e.charCodeAt(i))>>8,o=r%256,a.push(o),a.push(n);return a}(t,e.length-r),e,r,n)}function E(e,t,r){return 0===t&&r===e.length?n.fromByteArray(e):n.fromByteArray(e.slice(t,r))}function S(e,t,r){r=Math.min(e.length,r);for(var n=[],o=t;o<r;){var a,i,s,l,c=e[o],u=null,p=c>239?4:c>223?3:c>191?2:1;if(o+p<=r)switch(p){case 1:c<128&&(u=c);break;case 2:128==(192&(a=e[o+1]))&&(l=(31&c)<<6|63&a)>127&&(u=l);break;case 3:a=e[o+1],i=e[o+2],128==(192&a)&&128==(192&i)&&(l=(15&c)<<12|(63&a)<<6|63&i)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:a=e[o+1],i=e[o+2],s=e[o+3],128==(192&a)&&128==(192&i)&&128==(192&s)&&(l=(15&c)<<18|(63&a)<<12|(63&i)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,p=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),o+=p}return function(e){var t=e.length;if(t<=D)return String.fromCharCode.apply(String,e);var r="",n=0;for(;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=D));return r}(n)}t.Buffer=l,t.SlowBuffer=function(e){+e!=e&&(e=0);return l.alloc(+e)},t.INSPECT_MAX_BYTES=50,l.TYPED_ARRAY_SUPPORT=void 0!==r.g.TYPED_ARRAY_SUPPORT?r.g.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),t.kMaxLength=i(),l.poolSize=8192,l._augment=function(e){return e.__proto__=l.prototype,e},l.from=function(e,t,r){return c(null,e,t,r)},l.TYPED_ARRAY_SUPPORT&&(l.prototype.__proto__=Uint8Array.prototype,l.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&l[Symbol.species]===l&&Object.defineProperty(l,Symbol.species,{value:null,configurable:!0})),l.alloc=function(e,t,r){return function(e,t,r,n){return u(t),t<=0?s(e,t):void 0!==r?"string"==typeof n?s(e,t).fill(r,n):s(e,t).fill(r):s(e,t)}(null,e,t,r)},l.allocUnsafe=function(e){return p(null,e)},l.allocUnsafeSlow=function(e){return p(null,e)},l.isBuffer=function(e){return!(null==e||!e._isBuffer)},l.compare=function(e,t){if(!l.isBuffer(e)||!l.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var r=e.length,n=t.length,o=0,a=Math.min(r,n);o<a;++o)if(e[o]!==t[o]){r=e[o],n=t[o];break}return r<n?-1:n<r?1:0},l.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},l.concat=function(e,t){if(!a(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return l.alloc(0);var r;if(void 0===t)for(t=0,r=0;r<e.length;++r)t+=e[r].length;var n=l.allocUnsafe(t),o=0;for(r=0;r<e.length;++r){var i=e[r];if(!l.isBuffer(i))throw new TypeError('"list" argument must be an Array of Buffers');i.copy(n,o),o+=i.length}return n},l.byteLength=f,l.prototype._isBuffer=!0,l.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)g(this,t,t+1);return this},l.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)g(this,t,t+3),g(this,t+1,t+2);return this},l.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)g(this,t,t+7),g(this,t+1,t+6),g(this,t+2,t+5),g(this,t+3,t+4);return this},l.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?S(this,0,e):m.apply(this,arguments)},l.prototype.equals=function(e){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===l.compare(this,e)},l.prototype.inspect=function(){var e="",r=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(e+=" ... ")),"<Buffer "+e+">"},l.prototype.compare=function(e,t,r,n,o){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===o&&(o=this.length),t<0||r>e.length||n<0||o>this.length)throw new RangeError("out of range index");if(n>=o&&t>=r)return 0;if(n>=o)return-1;if(t>=r)return 1;if(this===e)return 0;for(var a=(o>>>=0)-(n>>>=0),i=(r>>>=0)-(t>>>=0),s=Math.min(a,i),c=this.slice(n,o),u=e.slice(t,r),p=0;p<s;++p)if(c[p]!==u[p]){a=c[p],i=u[p];break}return a<i?-1:i<a?1:0},l.prototype.includes=function(e,t,r){return-1!==this.indexOf(e,t,r)},l.prototype.indexOf=function(e,t,r){return y(this,e,t,r,!0)},l.prototype.lastIndexOf=function(e,t,r){return y(this,e,t,r,!1)},l.prototype.write=function(e,t,r,n){if(void 0===t)n="utf8",r=this.length,t=0;else if(void 0===r&&"string"==typeof t)n=t,r=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(r)?(r|=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var o=this.length-t;if((void 0===r||r>o)&&(r=o),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return v(this,e,t,r);case"utf8":case"utf-8":return x(this,e,t,r);case"ascii":return w(this,e,t,r);case"latin1":case"binary":return k(this,e,t,r);case"base64":return A(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return $(this,e,t,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var D=4096;function O(e,t,r){var n="";r=Math.min(e.length,r);for(var o=t;o<r;++o)n+=String.fromCharCode(127&e[o]);return n}function C(e,t,r){var n="";r=Math.min(e.length,r);for(var o=t;o<r;++o)n+=String.fromCharCode(e[o]);return n}function _(e,t,r){var n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);for(var o="",a=t;a<r;++a)o+=q(e[a]);return o}function j(e,t,r){for(var n=e.slice(t,r),o="",a=0;a<n.length;a+=2)o+=String.fromCharCode(n[a]+256*n[a+1]);return o}function T(e,t,r){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>r)throw new RangeError("Trying to access beyond buffer length")}function F(e,t,r,n,o,a){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>o||t<a)throw new RangeError('"value" argument is out of bounds');if(r+n>e.length)throw new RangeError("Index out of range")}function P(e,t,r,n){t<0&&(t=65535+t+1);for(var o=0,a=Math.min(e.length-r,2);o<a;++o)e[r+o]=(t&255<<8*(n?o:1-o))>>>8*(n?o:1-o)}function B(e,t,r,n){t<0&&(t=4294967295+t+1);for(var o=0,a=Math.min(e.length-r,4);o<a;++o)e[r+o]=t>>>8*(n?o:3-o)&255}function I(e,t,r,n,o,a){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function R(e,t,r,n,a){return a||I(e,0,r,4),o.write(e,t,r,n,23,4),r+4}function N(e,t,r,n,a){return a||I(e,0,r,8),o.write(e,t,r,n,52,8),r+8}l.prototype.slice=function(e,t){var r,n=this.length;if((e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t<e&&(t=e),l.TYPED_ARRAY_SUPPORT)(r=this.subarray(e,t)).__proto__=l.prototype;else{var o=t-e;r=new l(o,void 0);for(var a=0;a<o;++a)r[a]=this[a+e]}return r},l.prototype.readUIntLE=function(e,t,r){e|=0,t|=0,r||T(e,t,this.length);for(var n=this[e],o=1,a=0;++a<t&&(o*=256);)n+=this[e+a]*o;return n},l.prototype.readUIntBE=function(e,t,r){e|=0,t|=0,r||T(e,t,this.length);for(var n=this[e+--t],o=1;t>0&&(o*=256);)n+=this[e+--t]*o;return n},l.prototype.readUInt8=function(e,t){return t||T(e,1,this.length),this[e]},l.prototype.readUInt16LE=function(e,t){return t||T(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUInt16BE=function(e,t){return t||T(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUInt32LE=function(e,t){return t||T(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUInt32BE=function(e,t){return t||T(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||T(e,t,this.length);for(var n=this[e],o=1,a=0;++a<t&&(o*=256);)n+=this[e+a]*o;return n>=(o*=128)&&(n-=Math.pow(2,8*t)),n},l.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||T(e,t,this.length);for(var n=t,o=1,a=this[e+--n];n>0&&(o*=256);)a+=this[e+--n]*o;return a>=(o*=128)&&(a-=Math.pow(2,8*t)),a},l.prototype.readInt8=function(e,t){return t||T(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){t||T(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},l.prototype.readInt16BE=function(e,t){t||T(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},l.prototype.readInt32LE=function(e,t){return t||T(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return t||T(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readFloatLE=function(e,t){return t||T(e,4,this.length),o.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return t||T(e,4,this.length),o.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return t||T(e,8,this.length),o.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return t||T(e,8,this.length),o.read(this,e,!1,52,8)},l.prototype.writeUIntLE=function(e,t,r,n){(e=+e,t|=0,r|=0,n)||F(this,e,t,r,Math.pow(2,8*r)-1,0);var o=1,a=0;for(this[t]=255&e;++a<r&&(o*=256);)this[t+a]=e/o&255;return t+r},l.prototype.writeUIntBE=function(e,t,r,n){(e=+e,t|=0,r|=0,n)||F(this,e,t,r,Math.pow(2,8*r)-1,0);var o=r-1,a=1;for(this[t+o]=255&e;--o>=0&&(a*=256);)this[t+o]=e/a&255;return t+r},l.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||F(this,e,t,1,255,0),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},l.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||F(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):P(this,e,t,!0),t+2},l.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||F(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):P(this,e,t,!1),t+2},l.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||F(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):B(this,e,t,!0),t+4},l.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||F(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):B(this,e,t,!1),t+4},l.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var o=Math.pow(2,8*r-1);F(this,e,t,r,o-1,-o)}var a=0,i=1,s=0;for(this[t]=255&e;++a<r&&(i*=256);)e<0&&0===s&&0!==this[t+a-1]&&(s=1),this[t+a]=(e/i>>0)-s&255;return t+r},l.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t|=0,!n){var o=Math.pow(2,8*r-1);F(this,e,t,r,o-1,-o)}var a=r-1,i=1,s=0;for(this[t+a]=255&e;--a>=0&&(i*=256);)e<0&&0===s&&0!==this[t+a+1]&&(s=1),this[t+a]=(e/i>>0)-s&255;return t+r},l.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||F(this,e,t,1,127,-128),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||F(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):P(this,e,t,!0),t+2},l.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||F(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):P(this,e,t,!1),t+2},l.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||F(this,e,t,4,2147483647,-2147483648),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):B(this,e,t,!0),t+4},l.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||F(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):B(this,e,t,!1),t+4},l.prototype.writeFloatLE=function(e,t,r){return R(this,e,t,!0,r)},l.prototype.writeFloatBE=function(e,t,r){return R(this,e,t,!1,r)},l.prototype.writeDoubleLE=function(e,t,r){return N(this,e,t,!0,r)},l.prototype.writeDoubleBE=function(e,t,r){return N(this,e,t,!1,r)},l.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t<n-r&&(n=e.length-t+r);var o,a=n-r;if(this===e&&r<t&&t<n)for(o=a-1;o>=0;--o)e[o+t]=this[o+r];else if(a<1e3||!l.TYPED_ARRAY_SUPPORT)for(o=0;o<a;++o)e[o+t]=this[o+r];else Uint8Array.prototype.set.call(e,this.subarray(r,r+a),t);return a},l.prototype.fill=function(e,t,r,n){if("string"==typeof e){if("string"==typeof t?(n=t,t=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),1===e.length){var o=e.charCodeAt(0);o<256&&(e=o)}if(void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!l.isEncoding(n))throw new TypeError("Unknown encoding: "+n)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<r)throw new RangeError("Out of range index");if(r<=t)return this;var a;if(t>>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(a=t;a<r;++a)this[a]=e;else{var i=l.isBuffer(e)?e:z(new l(e,n).toString()),s=i.length;for(a=0;a<r-t;++a)this[a+t]=i[a%s]}return this};var L=/[^+\/0-9A-Za-z-_]/g;function q(e){return e<16?"0"+e.toString(16):e.toString(16)}function z(e,t){var r;t=t||1/0;for(var n=e.length,o=null,a=[],i=0;i<n;++i){if((r=e.charCodeAt(i))>55295&&r<57344){if(!o){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(i+1===n){(t-=3)>-1&&a.push(239,191,189);continue}o=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),o=r;continue}r=65536+(o-55296<<10|r-56320)}else o&&(t-=3)>-1&&a.push(239,191,189);if(o=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function U(e){return n.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(L,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function M(e,t,r,n){for(var o=0;o<n&&!(o+r>=t.length||o>=e.length);++o)t[o+r]=e[o];return o}},645:(e,t)=>{t.read=function(e,t,r,n,o){var a,i,s=8*o-n-1,l=(1<<s)-1,c=l>>1,u=-7,p=r?o-1:0,d=r?-1:1,h=e[t+p];for(p+=d,a=h&(1<<-u)-1,h>>=-u,u+=s;u>0;a=256*a+e[t+p],p+=d,u-=8);for(i=a&(1<<-u)-1,a>>=-u,u+=n;u>0;i=256*i+e[t+p],p+=d,u-=8);if(0===a)a=1-c;else{if(a===l)return i?NaN:1/0*(h?-1:1);i+=Math.pow(2,n),a-=c}return(h?-1:1)*i*Math.pow(2,a-n)},t.write=function(e,t,r,n,o,a){var i,s,l,c=8*a-o-1,u=(1<<c)-1,p=u>>1,d=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,h=n?0:a-1,f=n?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,i=u):(i=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-i))<1&&(i--,l*=2),(t+=i+p>=1?d/l:d*Math.pow(2,1-p))*l>=2&&(i++,l/=2),i+p>=u?(s=0,i=u):i+p>=1?(s=(t*l-1)*Math.pow(2,o),i+=p):(s=t*Math.pow(2,p-1)*Math.pow(2,o),i=0));o>=8;e[r+h]=255&s,h+=f,s/=256,o-=8);for(i=i<<o|s,c+=o;c>0;e[r+h]=255&i,h+=f,i/=256,c-=8);e[r+h-f]|=128*m}},826:e=>{var t={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==t.call(e)}},84:function(e){e.exports=function(){"use strict";function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function t(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}function r(e,t){if(e){if("string"==typeof e)return n(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}}function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function o(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=r(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var o=0;return function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function a(e){var t={exports:{}};return e(t,t.exports),t.exports}var i=a((function(e){function t(){return{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}function r(t){e.exports.defaults=t}e.exports={defaults:t(),getDefaults:t,changeDefaults:r}})),s=/[&<>"']/,l=/[&<>"']/g,c=/[<>"']|&(?!#?\w+;)/,u=/[<>"']|&(?!#?\w+;)/g,p={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},d=function(e){return p[e]};function h(e,t){if(t){if(s.test(e))return e.replace(l,d)}else if(c.test(e))return e.replace(u,d);return e}var f=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function m(e){return e.replace(f,(function(e,t){return"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""}))}var g=/(^|[^\[])\^/g;function y(e,t){e=e.source||e,t=t||"";var r={replace:function(t,n){return n=(n=n.source||n).replace(g,"$1"),e=e.replace(t,n),r},getRegex:function(){return new RegExp(e,t)}};return r}var b=/[^\w:]/g,v=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function x(e,t,r){if(e){var n;try{n=decodeURIComponent(m(r)).replace(b,"").toLowerCase()}catch(e){return null}if(0===n.indexOf("javascript:")||0===n.indexOf("vbscript:")||0===n.indexOf("data:"))return null}t&&!v.test(r)&&(r=E(t,r));try{r=encodeURI(r).replace(/%25/g,"%")}catch(e){return null}return r}var w={},k=/^[^:]+:\/*[^/]*$/,A=/^([^:]+:)[\s\S]*$/,$=/^([^:]+:\/*[^/]*)[\s\S]*$/;function E(e,t){w[" "+e]||(k.test(e)?w[" "+e]=e+"/":w[" "+e]=O(e,"/",!0));var r=-1===(e=w[" "+e]).indexOf(":");return"//"===t.substring(0,2)?r?t:e.replace(A,"$1")+t:"/"===t.charAt(0)?r?t:e.replace($,"$1")+t:e+t}function S(e){for(var t,r,n=1;n<arguments.length;n++)for(r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}function D(e,t){var r=e.replace(/\|/g,(function(e,t,r){for(var n=!1,o=t;--o>=0&&"\\"===r[o];)n=!n;return n?"|":" |"})).split(/ \|/),n=0;if(r.length>t)r.splice(t);else for(;r.length<t;)r.push("");for(;n<r.length;n++)r[n]=r[n].trim().replace(/\\\|/g,"|");return r}function O(e,t,r){var n=e.length;if(0===n)return"";for(var o=0;o<n;){var a=e.charAt(n-o-1);if(a!==t||r){if(a===t||!r)break;o++}else o++}return e.substr(0,n-o)}function C(e,t){if(-1===e.indexOf(t[1]))return-1;for(var r=e.length,n=0,o=0;o<r;o++)if("\\"===e[o])o++;else if(e[o]===t[0])n++;else if(e[o]===t[1]&&--n<0)return o;return-1}function _(e){e&&e.sanitize&&!e.silent&&console.warn("marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options")}function j(e,t){if(t<1)return"";for(var r="";t>1;)1&t&&(r+=e),t>>=1,e+=e;return r+e}var T={escape:h,unescape:m,edit:y,cleanUrl:x,resolveUrl:E,noopTest:{exec:function(){}},merge:S,splitCells:D,rtrim:O,findClosingBracket:C,checkSanitizeDeprecation:_,repeatString:j},F=i.defaults,P=T.rtrim,B=T.splitCells,I=T.escape,R=T.findClosingBracket;function N(e,t,r){var n=t.href,o=t.title?I(t.title):null,a=e[1].replace(/\\([\[\]])/g,"$1");return"!"!==e[0].charAt(0)?{type:"link",raw:r,href:n,title:o,text:a}:{type:"image",raw:r,href:n,title:o,text:I(a)}}function L(e,t){var r=e.match(/^(\s+)(?:```)/);if(null===r)return t;var n=r[1];return t.split("\n").map((function(e){var t=e.match(/^\s+/);return null===t?e:t[0].length>=n.length?e.slice(n.length):e})).join("\n")}var q=function(){function e(e){this.options=e||F}var t=e.prototype;return t.space=function(e){var t=this.rules.block.newline.exec(e);if(t)return t[0].length>1?{type:"space",raw:t[0]}:{raw:"\n"}},t.code=function(e){var t=this.rules.block.code.exec(e);if(t){var r=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?r:P(r,"\n")}}},t.fences=function(e){var t=this.rules.block.fences.exec(e);if(t){var r=t[0],n=L(r,t[3]||"");return{type:"code",raw:r,lang:t[2]?t[2].trim():t[2],text:n}}},t.heading=function(e){var t=this.rules.block.heading.exec(e);if(t){var r=t[2].trim();if(/#$/.test(r)){var n=P(r,"#");this.options.pedantic?r=n.trim():n&&!/ $/.test(n)||(r=n.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:r}}},t.nptable=function(e){var t=this.rules.block.nptable.exec(e);if(t){var r={type:"table",header:B(t[1].replace(/^ *| *\| *$/g,"")),align:t[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:t[3]?t[3].replace(/\n$/,"").split("\n"):[],raw:t[0]};if(r.header.length===r.align.length){var n,o=r.align.length;for(n=0;n<o;n++)/^ *-+: *$/.test(r.align[n])?r.align[n]="right":/^ *:-+: *$/.test(r.align[n])?r.align[n]="center":/^ *:-+ *$/.test(r.align[n])?r.align[n]="left":r.align[n]=null;for(o=r.cells.length,n=0;n<o;n++)r.cells[n]=B(r.cells[n],r.header.length);return r}}},t.hr=function(e){var t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:t[0]}},t.blockquote=function(e){var t=this.rules.block.blockquote.exec(e);if(t){var r=t[0].replace(/^ *> ?/gm,"");return{type:"blockquote",raw:t[0],text:r}}},t.list=function(e){var t=this.rules.block.list.exec(e);if(t){var r,n,o,a,i,s,l,c,u,p=t[0],d=t[2],h=d.length>1,f={type:"list",raw:p,ordered:h,start:h?+d.slice(0,-1):"",loose:!1,items:[]},m=t[0].match(this.rules.block.item),g=!1,y=m.length;o=this.rules.block.listItemStart.exec(m[0]);for(var b=0;b<y;b++){if(p=r=m[b],this.options.pedantic||(u=r.match(new RegExp("\\n\\s*\\n {0,"+(o[0].length-1)+"}\\S")))&&(i=r.length-u.index+m.slice(b+1).join("\n").length,f.raw=f.raw.substring(0,f.raw.length-i),p=r=r.substring(0,u.index),y=b+1),b!==y-1){if(a=this.rules.block.listItemStart.exec(m[b+1]),this.options.pedantic?a[1].length>o[1].length:a[1].length>=o[0].length||a[1].length>3){m.splice(b,2,m[b]+(!this.options.pedantic&&a[1].length<o[0].length&&!m[b].match(/\n$/)?"":"\n")+m[b+1]),b--,y--;continue}(!this.options.pedantic||this.options.smartLists?a[2][a[2].length-1]!==d[d.length-1]:h===(1===a[2].length))&&(i=m.slice(b+1).join("\n").length,f.raw=f.raw.substring(0,f.raw.length-i),b=y-1),o=a}n=r.length,~(r=r.replace(/^ *([*+-]|\d+[.)]) ?/,"")).indexOf("\n ")&&(n-=r.length,r=this.options.pedantic?r.replace(/^ {1,4}/gm,""):r.replace(new RegExp("^ {1,"+n+"}","gm"),"")),r=P(r,"\n"),b!==y-1&&(p+="\n"),s=g||/\n\n(?!\s*$)/.test(p),b!==y-1&&(g="\n\n"===p.slice(-2),s||(s=g)),s&&(f.loose=!0),this.options.gfm&&(c=void 0,(l=/^\[[ xX]\] /.test(r))&&(c=" "!==r[1],r=r.replace(/^\[[ xX]\] +/,""))),f.items.push({type:"list_item",raw:p,task:l,checked:c,loose:s,text:r})}return f}},t.html=function(e){var t=this.rules.block.html.exec(e);if(t)return{type:this.options.sanitize?"paragraph":"html",raw:t[0],pre:!this.options.sanitizer&&("pre"===t[1]||"script"===t[1]||"style"===t[1]),text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(t[0]):I(t[0]):t[0]}},t.def=function(e){var t=this.rules.block.def.exec(e);if(t)return t[3]&&(t[3]=t[3].substring(1,t[3].length-1)),{tag:t[1].toLowerCase().replace(/\s+/g," "),raw:t[0],href:t[2],title:t[3]}},t.table=function(e){var t=this.rules.block.table.exec(e);if(t){var r={type:"table",header:B(t[1].replace(/^ *| *\| *$/g,"")),align:t[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:t[3]?t[3].replace(/\n$/,"").split("\n"):[]};if(r.header.length===r.align.length){r.raw=t[0];var n,o=r.align.length;for(n=0;n<o;n++)/^ *-+: *$/.test(r.align[n])?r.align[n]="right":/^ *:-+: *$/.test(r.align[n])?r.align[n]="center":/^ *:-+ *$/.test(r.align[n])?r.align[n]="left":r.align[n]=null;for(o=r.cells.length,n=0;n<o;n++)r.cells[n]=B(r.cells[n].replace(/^ *\| *| *\| *$/g,""),r.header.length);return r}}},t.lheading=function(e){var t=this.rules.block.lheading.exec(e);if(t)return{type:"heading",raw:t[0],depth:"="===t[2].charAt(0)?1:2,text:t[1]}},t.paragraph=function(e){var t=this.rules.block.paragraph.exec(e);if(t)return{type:"paragraph",raw:t[0],text:"\n"===t[1].charAt(t[1].length-1)?t[1].slice(0,-1):t[1]}},t.text=function(e){var t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0]}},t.escape=function(e){var t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:I(t[1])}},t.tag=function(e,t,r){var n=this.rules.inline.tag.exec(e);if(n)return!t&&/^<a /i.test(n[0])?t=!0:t&&/^<\/a>/i.test(n[0])&&(t=!1),!r&&/^<(pre|code|kbd|script)(\s|>)/i.test(n[0])?r=!0:r&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(n[0])&&(r=!1),{type:this.options.sanitize?"text":"html",raw:n[0],inLink:t,inRawBlock:r,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(n[0]):I(n[0]):n[0]}},t.link=function(e){var t=this.rules.inline.link.exec(e);if(t){var r=t[2].trim();if(!this.options.pedantic&&/^</.test(r)){if(!/>$/.test(r))return;var n=P(r.slice(0,-1),"\\");if((r.length-n.length)%2==0)return}else{var o=R(t[2],"()");if(o>-1){var a=(0===t[0].indexOf("!")?5:4)+t[1].length+o;t[2]=t[2].substring(0,o),t[0]=t[0].substring(0,a).trim(),t[3]=""}}var i=t[2],s="";if(this.options.pedantic){var l=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(i);l&&(i=l[1],s=l[3])}else s=t[3]?t[3].slice(1,-1):"";return i=i.trim(),/^</.test(i)&&(i=this.options.pedantic&&!/>$/.test(r)?i.slice(1):i.slice(1,-1)),N(t,{href:i?i.replace(this.rules.inline._escapes,"$1"):i,title:s?s.replace(this.rules.inline._escapes,"$1"):s},t[0])}},t.reflink=function(e,t){var r;if((r=this.rules.inline.reflink.exec(e))||(r=this.rules.inline.nolink.exec(e))){var n=(r[2]||r[1]).replace(/\s+/g," ");if(!(n=t[n.toLowerCase()])||!n.href){var o=r[0].charAt(0);return{type:"text",raw:o,text:o}}return N(r,n,r[0])}},t.emStrong=function(e,t,r){void 0===r&&(r="");var n=this.rules.inline.emStrong.lDelim.exec(e);if(n&&(!n[3]||!r.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var o=n[1]||n[2]||"";if(!o||o&&(""===r||this.rules.inline.punctuation.exec(r))){var a,i,s=n[0].length-1,l=s,c=0,u="*"===n[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(u.lastIndex=0,t=t.slice(-1*e.length+s);null!=(n=u.exec(t));)if(a=n[1]||n[2]||n[3]||n[4]||n[5]||n[6])if(i=a.length,n[3]||n[4])l+=i;else if(!((n[5]||n[6])&&s%3)||(s+i)%3){if(!((l-=i)>0)){if(l+c-i<=0&&!t.slice(u.lastIndex).match(u)&&(i=Math.min(i,i+l+c)),Math.min(s,i)%2)return{type:"em",raw:e.slice(0,s+n.index+i+1),text:e.slice(1,s+n.index+i)};if(Math.min(s,i)%2==0)return{type:"strong",raw:e.slice(0,s+n.index+i+1),text:e.slice(2,s+n.index+i-1)}}}else c+=i}}},t.codespan=function(e){var t=this.rules.inline.code.exec(e);if(t){var r=t[2].replace(/\n/g," "),n=/[^ ]/.test(r),o=/^ /.test(r)&&/ $/.test(r);return n&&o&&(r=r.substring(1,r.length-1)),r=I(r,!0),{type:"codespan",raw:t[0],text:r}}},t.br=function(e){var t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}},t.del=function(e){var t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2]}},t.autolink=function(e,t){var r,n,o=this.rules.inline.autolink.exec(e);if(o)return n="@"===o[2]?"mailto:"+(r=I(this.options.mangle?t(o[1]):o[1])):r=I(o[1]),{type:"link",raw:o[0],text:r,href:n,tokens:[{type:"text",raw:r,text:r}]}},t.url=function(e,t){var r;if(r=this.rules.inline.url.exec(e)){var n,o;if("@"===r[2])o="mailto:"+(n=I(this.options.mangle?t(r[0]):r[0]));else{var a;do{a=r[0],r[0]=this.rules.inline._backpedal.exec(r[0])[0]}while(a!==r[0]);n=I(r[0]),o="www."===r[1]?"http://"+n:n}return{type:"link",raw:r[0],text:n,href:o,tokens:[{type:"text",raw:n,text:n}]}}},t.inlineText=function(e,t,r){var n,o=this.rules.inline.text.exec(e);if(o)return n=t?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(o[0]):I(o[0]):o[0]:I(this.options.smartypants?r(o[0]):o[0]),{type:"text",raw:o[0],text:n}},e}(),z=T.noopTest,U=T.edit,M=T.merge,H={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:\\n{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)|</(?!script|pre|style)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$))",def:/^ {0,3}\[(label)\]: *\n? *<?([^\s>]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:z,table:z,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};H.def=U(H.def).replace("label",H._label).replace("title",H._title).getRegex(),H.bullet=/(?:[*+-]|\d{1,9}[.)])/,H.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,H.item=U(H.item,"gm").replace(/bull/g,H.bullet).getRegex(),H.listItemStart=U(/^( *)(bull) */).replace("bull",H.bullet).getRegex(),H.list=U(H.list).replace(/bull/g,H.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+H.def.source+")").getRegex(),H._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",H._comment=/<!--(?!-?>)[\s\S]*?(?:-->|$)/,H.html=U(H.html,"i").replace("comment",H._comment).replace("tag",H._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),H.paragraph=U(H._paragraph).replace("hr",H.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)").replace("tag",H._tag).getRegex(),H.blockquote=U(H.blockquote).replace("paragraph",H.paragraph).getRegex(),H.normal=M({},H),H.gfm=M({},H.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),H.gfm.nptable=U(H.gfm.nptable).replace("hr",H.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)").replace("tag",H._tag).getRegex(),H.gfm.table=U(H.gfm.table).replace("hr",H.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)").replace("tag",H._tag).getRegex(),H.pedantic=M({},H.normal,{html:U("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",H._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:z,paragraph:U(H.normal._paragraph).replace("hr",H.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",H.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var V={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:z,tag:"^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/\_\_[^_]*?\*[^_]*?\_\_|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/\*\*[^*]*?\_[^*]*?\*\*|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:z,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,punctuation:/^([\spunctuation])/,_punctuation:"!\"#$%&'()+\\-.,/:;<=>?@\\[\\]`^{|}~"};V.punctuation=U(V.punctuation).replace(/punctuation/g,V._punctuation).getRegex(),V.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,V.escapedEmSt=/\\\*|\\_/g,V._comment=U(H._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),V.emStrong.lDelim=U(V.emStrong.lDelim).replace(/punct/g,V._punctuation).getRegex(),V.emStrong.rDelimAst=U(V.emStrong.rDelimAst,"g").replace(/punct/g,V._punctuation).getRegex(),V.emStrong.rDelimUnd=U(V.emStrong.rDelimUnd,"g").replace(/punct/g,V._punctuation).getRegex(),V._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,V._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,V._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,V.autolink=U(V.autolink).replace("scheme",V._scheme).replace("email",V._email).getRegex(),V._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,V.tag=U(V.tag).replace("comment",V._comment).replace("attribute",V._attribute).getRegex(),V._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,V._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,V._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,V.link=U(V.link).replace("label",V._label).replace("href",V._href).replace("title",V._title).getRegex(),V.reflink=U(V.reflink).replace("label",V._label).getRegex(),V.reflinkSearch=U(V.reflinkSearch,"g").replace("reflink",V.reflink).replace("nolink",V.nolink).getRegex(),V.normal=M({},V),V.pedantic=M({},V.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:U(/^!?\[(label)\]\((.*?)\)/).replace("label",V._label).getRegex(),reflink:U(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",V._label).getRegex()}),V.gfm=M({},V.normal,{escape:U(V.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@))|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@))/}),V.gfm.url=U(V.gfm.url,"i").replace("email",V.gfm._extended_email).getRegex(),V.breaks=M({},V.gfm,{br:U(V.br).replace("{2,}","*").getRegex(),text:U(V.gfm.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()});var W={block:H,inline:V},Y=i.defaults,K=W.block,G=W.inline,J=T.repeatString;function Z(e){return e.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…")}function X(e){var t,r,n="",o=e.length;for(t=0;t<o;t++)r=e.charCodeAt(t),Math.random()>.5&&(r="x"+r.toString(16)),n+="&#"+r+";";return n}var Q=function(){function e(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||Y,this.options.tokenizer=this.options.tokenizer||new q,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;var t={block:K.normal,inline:G.normal};this.options.pedantic?(t.block=K.pedantic,t.inline=G.pedantic):this.options.gfm&&(t.block=K.gfm,this.options.breaks?t.inline=G.breaks:t.inline=G.gfm),this.tokenizer.rules=t}e.lex=function(t,r){return new e(r).lex(t)},e.lexInline=function(t,r){return new e(r).inlineTokens(t)};var r=e.prototype;return r.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g,"    "),this.blockTokens(e,this.tokens,!0),this.inline(this.tokens),this.tokens},r.blockTokens=function(e,t,r){var n,o,a,i;for(void 0===t&&(t=[]),void 0===r&&(r=!0),this.options.pedantic&&(e=e.replace(/^ +$/gm,""));e;)if(n=this.tokenizer.space(e))e=e.substring(n.raw.length),n.type&&t.push(n);else if(n=this.tokenizer.code(e))e=e.substring(n.raw.length),(i=t[t.length-1])&&"paragraph"===i.type?(i.raw+="\n"+n.raw,i.text+="\n"+n.text):t.push(n);else if(n=this.tokenizer.fences(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.heading(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.nptable(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.hr(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.blockquote(e))e=e.substring(n.raw.length),n.tokens=this.blockTokens(n.text,[],r),t.push(n);else if(n=this.tokenizer.list(e)){for(e=e.substring(n.raw.length),a=n.items.length,o=0;o<a;o++)n.items[o].tokens=this.blockTokens(n.items[o].text,[],!1);t.push(n)}else if(n=this.tokenizer.html(e))e=e.substring(n.raw.length),t.push(n);else if(r&&(n=this.tokenizer.def(e)))e=e.substring(n.raw.length),this.tokens.links[n.tag]||(this.tokens.links[n.tag]={href:n.href,title:n.title});else if(n=this.tokenizer.table(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.lheading(e))e=e.substring(n.raw.length),t.push(n);else if(r&&(n=this.tokenizer.paragraph(e)))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.text(e))e=e.substring(n.raw.length),(i=t[t.length-1])&&"text"===i.type?(i.raw+="\n"+n.raw,i.text+="\n"+n.text):t.push(n);else if(e){var s="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(s);break}throw new Error(s)}return t},r.inline=function(e){var t,r,n,o,a,i,s=e.length;for(t=0;t<s;t++)switch((i=e[t]).type){case"paragraph":case"text":case"heading":i.tokens=[],this.inlineTokens(i.text,i.tokens);break;case"table":for(i.tokens={header:[],cells:[]},o=i.header.length,r=0;r<o;r++)i.tokens.header[r]=[],this.inlineTokens(i.header[r],i.tokens.header[r]);for(o=i.cells.length,r=0;r<o;r++)for(a=i.cells[r],i.tokens.cells[r]=[],n=0;n<a.length;n++)i.tokens.cells[r][n]=[],this.inlineTokens(a[n],i.tokens.cells[r][n]);break;case"blockquote":this.inline(i.tokens);break;case"list":for(o=i.items.length,r=0;r<o;r++)this.inline(i.items[r].tokens)}return e},r.inlineTokens=function(e,t,r,n){var o,a;void 0===t&&(t=[]),void 0===r&&(r=!1),void 0===n&&(n=!1);var i,s,l,c=e;if(this.tokens.links){var u=Object.keys(this.tokens.links);if(u.length>0)for(;null!=(i=this.tokenizer.rules.inline.reflinkSearch.exec(c));)u.includes(i[0].slice(i[0].lastIndexOf("[")+1,-1))&&(c=c.slice(0,i.index)+"["+J("a",i[0].length-2)+"]"+c.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(i=this.tokenizer.rules.inline.blockSkip.exec(c));)c=c.slice(0,i.index)+"["+J("a",i[0].length-2)+"]"+c.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(i=this.tokenizer.rules.inline.escapedEmSt.exec(c));)c=c.slice(0,i.index)+"++"+c.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;e;)if(s||(l=""),s=!1,o=this.tokenizer.escape(e))e=e.substring(o.raw.length),t.push(o);else if(o=this.tokenizer.tag(e,r,n)){e=e.substring(o.raw.length),r=o.inLink,n=o.inRawBlock;var p=t[t.length-1];p&&"text"===o.type&&"text"===p.type?(p.raw+=o.raw,p.text+=o.text):t.push(o)}else if(o=this.tokenizer.link(e))e=e.substring(o.raw.length),"link"===o.type&&(o.tokens=this.inlineTokens(o.text,[],!0,n)),t.push(o);else if(o=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(o.raw.length);var d=t[t.length-1];"link"===o.type?(o.tokens=this.inlineTokens(o.text,[],!0,n),t.push(o)):d&&"text"===o.type&&"text"===d.type?(d.raw+=o.raw,d.text+=o.text):t.push(o)}else if(o=this.tokenizer.emStrong(e,c,l))e=e.substring(o.raw.length),o.tokens=this.inlineTokens(o.text,[],r,n),t.push(o);else if(o=this.tokenizer.codespan(e))e=e.substring(o.raw.length),t.push(o);else if(o=this.tokenizer.br(e))e=e.substring(o.raw.length),t.push(o);else if(o=this.tokenizer.del(e))e=e.substring(o.raw.length),o.tokens=this.inlineTokens(o.text,[],r,n),t.push(o);else if(o=this.tokenizer.autolink(e,X))e=e.substring(o.raw.length),t.push(o);else if(r||!(o=this.tokenizer.url(e,X))){if(o=this.tokenizer.inlineText(e,n,Z))e=e.substring(o.raw.length),"_"!==o.raw.slice(-1)&&(l=o.raw.slice(-1)),s=!0,(a=t[t.length-1])&&"text"===a.type?(a.raw+=o.raw,a.text+=o.text):t.push(o);else if(e){var h="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(h);break}throw new Error(h)}}else e=e.substring(o.raw.length),t.push(o);return t},t(e,null,[{key:"rules",get:function(){return{block:K,inline:G}}}]),e}(),ee=i.defaults,te=T.cleanUrl,re=T.escape,ne=function(){function e(e){this.options=e||ee}var t=e.prototype;return t.code=function(e,t,r){var n=(t||"").match(/\S*/)[0];if(this.options.highlight){var o=this.options.highlight(e,n);null!=o&&o!==e&&(r=!0,e=o)}return e=e.replace(/\n$/,"")+"\n",n?'<pre><code class="'+this.options.langPrefix+re(n,!0)+'">'+(r?e:re(e,!0))+"</code></pre>\n":"<pre><code>"+(r?e:re(e,!0))+"</code></pre>\n"},t.blockquote=function(e){return"<blockquote>\n"+e+"</blockquote>\n"},t.html=function(e){return e},t.heading=function(e,t,r,n){return this.options.headerIds?"<h"+t+' id="'+this.options.headerPrefix+n.slug(r)+'">'+e+"</h"+t+">\n":"<h"+t+">"+e+"</h"+t+">\n"},t.hr=function(){return this.options.xhtml?"<hr/>\n":"<hr>\n"},t.list=function(e,t,r){var n=t?"ol":"ul";return"<"+n+(t&&1!==r?' start="'+r+'"':"")+">\n"+e+"</"+n+">\n"},t.listitem=function(e){return"<li>"+e+"</li>\n"},t.checkbox=function(e){return"<input "+(e?'checked="" ':"")+'disabled="" type="checkbox"'+(this.options.xhtml?" /":"")+"> "},t.paragraph=function(e){return"<p>"+e+"</p>\n"},t.table=function(e,t){return t&&(t="<tbody>"+t+"</tbody>"),"<table>\n<thead>\n"+e+"</thead>\n"+t+"</table>\n"},t.tablerow=function(e){return"<tr>\n"+e+"</tr>\n"},t.tablecell=function(e,t){var r=t.header?"th":"td";return(t.align?"<"+r+' align="'+t.align+'">':"<"+r+">")+e+"</"+r+">\n"},t.strong=function(e){return"<strong>"+e+"</strong>"},t.em=function(e){return"<em>"+e+"</em>"},t.codespan=function(e){return"<code>"+e+"</code>"},t.br=function(){return this.options.xhtml?"<br/>":"<br>"},t.del=function(e){return"<del>"+e+"</del>"},t.link=function(e,t,r){if(null===(e=te(this.options.sanitize,this.options.baseUrl,e)))return r;var n='<a href="'+re(e)+'"';return t&&(n+=' title="'+t+'"'),n+=">"+r+"</a>"},t.image=function(e,t,r){if(null===(e=te(this.options.sanitize,this.options.baseUrl,e)))return r;var n='<img src="'+e+'" alt="'+r+'"';return t&&(n+=' title="'+t+'"'),n+=this.options.xhtml?"/>":">"},t.text=function(e){return e},e}(),oe=function(){function e(){}var t=e.prototype;return t.strong=function(e){return e},t.em=function(e){return e},t.codespan=function(e){return e},t.del=function(e){return e},t.html=function(e){return e},t.text=function(e){return e},t.link=function(e,t,r){return""+r},t.image=function(e,t,r){return""+r},t.br=function(){return""},e}(),ae=function(){function e(){this.seen={}}var t=e.prototype;return t.serialize=function(e){return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},t.getNextSafeSlug=function(e,t){var r=e,n=0;if(this.seen.hasOwnProperty(r)){n=this.seen[e];do{r=e+"-"+ ++n}while(this.seen.hasOwnProperty(r))}return t||(this.seen[e]=n,this.seen[r]=0),r},t.slug=function(e,t){void 0===t&&(t={});var r=this.serialize(e);return this.getNextSafeSlug(r,t.dryrun)},e}(),ie=i.defaults,se=T.unescape,le=function(){function e(e){this.options=e||ie,this.options.renderer=this.options.renderer||new ne,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new oe,this.slugger=new ae}e.parse=function(t,r){return new e(r).parse(t)},e.parseInline=function(t,r){return new e(r).parseInline(t)};var t=e.prototype;return t.parse=function(e,t){void 0===t&&(t=!0);var r,n,o,a,i,s,l,c,u,p,d,h,f,m,g,y,b,v,x="",w=e.length;for(r=0;r<w;r++)switch((p=e[r]).type){case"space":continue;case"hr":x+=this.renderer.hr();continue;case"heading":x+=this.renderer.heading(this.parseInline(p.tokens),p.depth,se(this.parseInline(p.tokens,this.textRenderer)),this.slugger);continue;case"code":x+=this.renderer.code(p.text,p.lang,p.escaped);continue;case"table":for(c="",l="",a=p.header.length,n=0;n<a;n++)l+=this.renderer.tablecell(this.parseInline(p.tokens.header[n]),{header:!0,align:p.align[n]});for(c+=this.renderer.tablerow(l),u="",a=p.cells.length,n=0;n<a;n++){for(l="",i=(s=p.tokens.cells[n]).length,o=0;o<i;o++)l+=this.renderer.tablecell(this.parseInline(s[o]),{header:!1,align:p.align[o]});u+=this.renderer.tablerow(l)}x+=this.renderer.table(c,u);continue;case"blockquote":u=this.parse(p.tokens),x+=this.renderer.blockquote(u);continue;case"list":for(d=p.ordered,h=p.start,f=p.loose,a=p.items.length,u="",n=0;n<a;n++)y=(g=p.items[n]).checked,b=g.task,m="",g.task&&(v=this.renderer.checkbox(y),f?g.tokens.length>0&&"text"===g.tokens[0].type?(g.tokens[0].text=v+" "+g.tokens[0].text,g.tokens[0].tokens&&g.tokens[0].tokens.length>0&&"text"===g.tokens[0].tokens[0].type&&(g.tokens[0].tokens[0].text=v+" "+g.tokens[0].tokens[0].text)):g.tokens.unshift({type:"text",text:v}):m+=v),m+=this.parse(g.tokens,f),u+=this.renderer.listitem(m,b,y);x+=this.renderer.list(u,d,h);continue;case"html":x+=this.renderer.html(p.text);continue;case"paragraph":x+=this.renderer.paragraph(this.parseInline(p.tokens));continue;case"text":for(u=p.tokens?this.parseInline(p.tokens):p.text;r+1<w&&"text"===e[r+1].type;)u+="\n"+((p=e[++r]).tokens?this.parseInline(p.tokens):p.text);x+=t?this.renderer.paragraph(u):u;continue;default:var k='Token with "'+p.type+'" type was not found.';if(this.options.silent)return void console.error(k);throw new Error(k)}return x},t.parseInline=function(e,t){t=t||this.renderer;var r,n,o="",a=e.length;for(r=0;r<a;r++)switch((n=e[r]).type){case"escape":o+=t.text(n.text);break;case"html":o+=t.html(n.text);break;case"link":o+=t.link(n.href,n.title,this.parseInline(n.tokens,t));break;case"image":o+=t.image(n.href,n.title,n.text);break;case"strong":o+=t.strong(this.parseInline(n.tokens,t));break;case"em":o+=t.em(this.parseInline(n.tokens,t));break;case"codespan":o+=t.codespan(n.text);break;case"br":o+=t.br();break;case"del":o+=t.del(this.parseInline(n.tokens,t));break;case"text":o+=t.text(n.text);break;default:var i='Token with "'+n.type+'" type was not found.';if(this.options.silent)return void console.error(i);throw new Error(i)}return o},e}(),ce=T.merge,ue=T.checkSanitizeDeprecation,pe=T.escape,de=i.getDefaults,he=i.changeDefaults,fe=i.defaults;function me(e,t,r){if(null==e)throw new Error("marked(): input parameter is undefined or null");if("string"!=typeof e)throw new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected");if("function"==typeof t&&(r=t,t=null),t=ce({},me.defaults,t||{}),ue(t),r){var n,o=t.highlight;try{n=Q.lex(e,t)}catch(e){return r(e)}var a=function(e){var a;if(!e)try{a=le.parse(n,t)}catch(t){e=t}return t.highlight=o,e?r(e):r(null,a)};if(!o||o.length<3)return a();if(delete t.highlight,!n.length)return a();var i=0;return me.walkTokens(n,(function(e){"code"===e.type&&(i++,setTimeout((function(){o(e.text,e.lang,(function(t,r){if(t)return a(t);null!=r&&r!==e.text&&(e.text=r,e.escaped=!0),0==--i&&a()}))}),0))})),void(0===i&&a())}try{var s=Q.lex(e,t);return t.walkTokens&&me.walkTokens(s,t.walkTokens),le.parse(s,t)}catch(e){if(e.message+="\nPlease report this to https://github.com/markedjs/marked.",t.silent)return"<p>An error occurred:</p><pre>"+pe(e.message+"",!0)+"</pre>";throw e}}return me.options=me.setOptions=function(e){return ce(me.defaults,e),he(me.defaults),me},me.getDefaults=de,me.defaults=fe,me.use=function(e){var t=ce({},e);if(e.renderer&&function(){var r=me.defaults.renderer||new ne,n=function(t){var n=r[t];r[t]=function(){for(var o=arguments.length,a=new Array(o),i=0;i<o;i++)a[i]=arguments[i];var s=e.renderer[t].apply(r,a);return!1===s&&(s=n.apply(r,a)),s}};for(var o in e.renderer)n(o);t.renderer=r}(),e.tokenizer&&function(){var r=me.defaults.tokenizer||new q,n=function(t){var n=r[t];r[t]=function(){for(var o=arguments.length,a=new Array(o),i=0;i<o;i++)a[i]=arguments[i];var s=e.tokenizer[t].apply(r,a);return!1===s&&(s=n.apply(r,a)),s}};for(var o in e.tokenizer)n(o);t.tokenizer=r}(),e.walkTokens){var r=me.defaults.walkTokens;t.walkTokens=function(t){e.walkTokens(t),r&&r(t)}}me.setOptions(t)},me.walkTokens=function(e,t){for(var r,n=o(e);!(r=n()).done;){var a=r.value;switch(t(a),a.type){case"table":for(var i,s=o(a.tokens.header);!(i=s()).done;){var l=i.value;me.walkTokens(l,t)}for(var c,u=o(a.tokens.cells);!(c=u()).done;)for(var p,d=o(c.value);!(p=d()).done;){var h=p.value;me.walkTokens(h,t)}break;case"list":me.walkTokens(a.items,t);break;default:a.tokens&&me.walkTokens(a.tokens,t)}}},me.parseInline=function(e,t){if(null==e)throw new Error("marked.parseInline(): input parameter is undefined or null");if("string"!=typeof e)throw new Error("marked.parseInline(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected");t=ce({},me.defaults,t||{}),ue(t);try{var r=Q.lexInline(e,t);return t.walkTokens&&me.walkTokens(r,t.walkTokens),le.parseInline(r,t)}catch(e){if(e.message+="\nPlease report this to https://github.com/markedjs/marked.",t.silent)return"<p>An error occurred:</p><pre>"+pe(e.message+"",!0)+"</pre>";throw e}},me.Parser=le,me.parser=le.parse,me.Renderer=ne,me.TextRenderer=oe,me.Lexer=Q,me.lexer=Q.lex,me.Tokenizer=q,me.Slugger=ae,me.parse=me,me}()},874:()=>{!function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",r={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},n={bash:r,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--?|-=|\+\+?|\+=|!=?|~|\*\*?|\*=|\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\^=?|\|\|?|\|=|\?|:/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|x[0-9a-fA-F]{1,2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)\w+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b\w+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+?)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:n},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:r}},{pattern:/(^|[^\\](?:\\\\)*)(["'])(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|(?!\2)[^\\`$])*\2/,lookbehind:!0,greedy:!0,inside:n}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:n.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|aptitude|apt-cache|apt-get|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:if|then|else|elif|fi|for|while|in|case|esac|function|select|do|done|until)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|break|cd|continue|eval|exec|exit|export|getopts|hash|pwd|readonly|return|shift|test|times|trap|umask|unset|alias|bind|builtin|caller|command|declare|echo|enable|help|let|local|logout|mapfile|printf|read|readarray|source|type|typeset|ulimit|unalias|set|shopt)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:true|false)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|==?|!=?|=~|<<[<-]?|[&\d]?>>|\d?[<>]&?|&[>&]?|\|[&|]?|<=?|>=?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},r.inside=e.languages.bash;for(var o=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],a=n.variable[1].inside,i=0;i<o.length;i++)a[o[i]]=e.languages.bash[o[i]];e.languages.shell=e.languages.bash}(Prism)},16:()=>{!function(e){function t(e,t){return e.replace(/<<(\d+)>>/g,(function(e,r){return"(?:"+t[+r]+")"}))}function r(e,r,n){return RegExp(t(e,r),n||"")}function n(e,t){for(var r=0;r<t;r++)e=e.replace(/<<self>>/g,(function(){return"(?:"+e+")"}));return e.replace(/<<self>>/g,"[^\\s\\S]")}var o="bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void",a="class enum interface struct",i="add alias and ascending async await by descending from get global group into join let nameof not notnull on or orderby partial remove select set unmanaged value when where",s="abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield";function l(e){return"\\b(?:"+e.trim().replace(/ /g,"|")+")\\b"}var c=l(a),u=RegExp(l(o+" "+a+" "+i+" "+s)),p=l(a+" "+i+" "+s),d=l(o+" "+a+" "+s),h=n(/<(?:[^<>;=+\-*/%&|^]|<<self>>)*>/.source,2),f=n(/\((?:[^()]|<<self>>)*\)/.source,2),m=/@?\b[A-Za-z_]\w*\b/.source,g=t(/<<0>>(?:\s*<<1>>)?/.source,[m,h]),y=t(/(?!<<0>>)<<1>>(?:\s*\.\s*<<1>>)*/.source,[p,g]),b=/\[\s*(?:,\s*)*\]/.source,v=t(/<<0>>(?:\s*(?:\?\s*)?<<1>>)*(?:\s*\?)?/.source,[y,b]),x=t(/[^,()<>[\];=+\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source,[h,f,b]),w=t(/\(<<0>>+(?:,<<0>>+)+\)/.source,[x]),k=t(/(?:<<0>>|<<1>>)(?:\s*(?:\?\s*)?<<2>>)*(?:\s*\?)?/.source,[w,y,b]),A={keyword:u,punctuation:/[<>()?,.:[\]]/},$=/'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'/.source,E=/"(?:\\.|[^\\"\r\n])*"/.source,S=/@"(?:""|\\[\s\S]|[^\\"])*"(?!")/.source;e.languages.csharp=e.languages.extend("clike",{string:[{pattern:r(/(^|[^$\\])<<0>>/.source,[S]),lookbehind:!0,greedy:!0},{pattern:r(/(^|[^@$\\])<<0>>/.source,[E]),lookbehind:!0,greedy:!0},{pattern:RegExp($),greedy:!0,alias:"character"}],"class-name":[{pattern:r(/(\busing\s+static\s+)<<0>>(?=\s*;)/.source,[y]),lookbehind:!0,inside:A},{pattern:r(/(\busing\s+<<0>>\s*=\s*)<<1>>(?=\s*;)/.source,[m,k]),lookbehind:!0,inside:A},{pattern:r(/(\busing\s+)<<0>>(?=\s*=)/.source,[m]),lookbehind:!0},{pattern:r(/(\b<<0>>\s+)<<1>>/.source,[c,g]),lookbehind:!0,inside:A},{pattern:r(/(\bcatch\s*\(\s*)<<0>>/.source,[y]),lookbehind:!0,inside:A},{pattern:r(/(\bwhere\s+)<<0>>/.source,[m]),lookbehind:!0},{pattern:r(/(\b(?:is(?:\s+not)?|as)\s+)<<0>>/.source,[v]),lookbehind:!0,inside:A},{pattern:r(/\b<<0>>(?=\s+(?!<<1>>)<<2>>(?:\s*[=,;:{)\]]|\s+(?:in|when)\b))/.source,[k,d,m]),inside:A}],keyword:u,number:/(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:ul|lu|[dflmu])?\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/}),e.languages.insertBefore("csharp","number",{range:{pattern:/\.\./,alias:"operator"}}),e.languages.insertBefore("csharp","punctuation",{"named-parameter":{pattern:r(/([(,]\s*)<<0>>(?=\s*:)/.source,[m]),lookbehind:!0,alias:"punctuation"}}),e.languages.insertBefore("csharp","class-name",{namespace:{pattern:r(/(\b(?:namespace|using)\s+)<<0>>(?:\s*\.\s*<<0>>)*(?=\s*[;{])/.source,[m]),lookbehind:!0,inside:{punctuation:/\./}},"type-expression":{pattern:r(/(\b(?:default|typeof|sizeof)\s*\(\s*(?!\s))(?:[^()\s]|\s(?!\s)|<<0>>)*(?=\s*\))/.source,[f]),lookbehind:!0,alias:"class-name",inside:A},"return-type":{pattern:r(/<<0>>(?=\s+(?:<<1>>\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/.source,[k,y]),inside:A,alias:"class-name"},"constructor-invocation":{pattern:r(/(\bnew\s+)<<0>>(?=\s*[[({])/.source,[k]),lookbehind:!0,inside:A,alias:"class-name"},"generic-method":{pattern:r(/<<0>>\s*<<1>>(?=\s*\()/.source,[m,h]),inside:{function:r(/^<<0>>/.source,[m]),generic:{pattern:RegExp(h),alias:"class-name",inside:A}}},"type-list":{pattern:r(/\b((?:<<0>>\s+<<1>>|where\s+<<2>>)\s*:\s*)(?:<<3>>|<<4>>)(?:\s*,\s*(?:<<3>>|<<4>>))*(?=\s*(?:where|[{;]|=>|$))/.source,[c,g,m,k,u.source]),lookbehind:!0,inside:{keyword:u,"class-name":{pattern:RegExp(k),greedy:!0,inside:A},punctuation:/,/}},preprocessor:{pattern:/(^\s*)#.*/m,lookbehind:!0,alias:"property",inside:{directive:{pattern:/(\s*#)\b(?:define|elif|else|endif|endregion|error|if|line|pragma|region|undef|warning)\b/,lookbehind:!0,alias:"keyword"}}}});var D=E+"|"+$,O=t(/\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>/.source,[D]),C=n(t(/[^"'/()]|<<0>>|\(<<self>>*\)/.source,[O]),2),_=/\b(?:assembly|event|field|method|module|param|property|return|type)\b/.source,j=t(/<<0>>(?:\s*\(<<1>>*\))?/.source,[y,C]);e.languages.insertBefore("csharp","class-name",{attribute:{pattern:r(/((?:^|[^\s\w>)?])\s*\[\s*)(?:<<0>>\s*:\s*)?<<1>>(?:\s*,\s*<<1>>)*(?=\s*\])/.source,[_,j]),lookbehind:!0,greedy:!0,inside:{target:{pattern:r(/^<<0>>(?=\s*:)/.source,[_]),alias:"keyword"},"attribute-arguments":{pattern:r(/\(<<0>>*\)/.source,[C]),inside:e.languages.csharp},"class-name":{pattern:RegExp(y),inside:{punctuation:/\./}},punctuation:/[:,]/}}});var T=/:[^}\r\n]+/.source,F=n(t(/[^"'/()]|<<0>>|\(<<self>>*\)/.source,[O]),2),P=t(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[F,T]),B=n(t(/[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>|\(<<self>>*\)/.source,[D]),2),I=t(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[B,T]);function R(t,n){return{interpolation:{pattern:r(/((?:^|[^{])(?:\{\{)*)<<0>>/.source,[t]),lookbehind:!0,inside:{"format-string":{pattern:r(/(^\{(?:(?![}:])<<0>>)*)<<1>>(?=\}$)/.source,[n,T]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:"language-csharp",inside:e.languages.csharp}}},string:/[\s\S]+/}}e.languages.insertBefore("csharp","string",{"interpolation-string":[{pattern:r(/(^|[^\\])(?:\$@|@\$)"(?:""|\\[\s\S]|\{\{|<<0>>|[^\\{"])*"/.source,[P]),lookbehind:!0,greedy:!0,inside:R(P,F)},{pattern:r(/(^|[^@\\])\$"(?:\\.|\{\{|<<0>>|[^\\"{])*"/.source,[I]),lookbehind:!0,greedy:!0,inside:R(I,B)}]})}(Prism),Prism.languages.dotnet=Prism.languages.cs=Prism.languages.csharp},251:()=>{!function(e){var t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:RegExp("[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),string:{pattern:t,greedy:!0},property:/(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,important:/!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var r=e.languages.markup;r&&(r.tag.addInlined("style","css"),e.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/(^|["'\s])style\s*=\s*(?:"[^"]*"|'[^']*')/i,lookbehind:!0,inside:{"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{style:{pattern:/(["'])[\s\S]+(?=["']$)/,lookbehind:!0,alias:"language-css",inside:e.languages.css},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},"attr-name":/^style/i}}},r.tag))}(Prism)},46:()=>{Prism.languages.go=Prism.languages.extend("clike",{string:{pattern:/(["'`])(?:\\[\s\S]|(?!\1)[^\\])*\1/,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|iota|nil|true|false)\b/,number:/(?:\b0x[a-f\d]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[-+]?\d+)?)i?/i,operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:bool|byte|complex(?:64|128)|error|float(?:32|64)|rune|string|u?int(?:8|16|32|64)?|uintptr|append|cap|close|complex|copy|delete|imag|len|make|new|panic|print(?:ln)?|real|recover)\b/}),delete Prism.languages.go["class-name"]},57:()=>{!function(e){e.languages.http={"request-line":{pattern:/^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\s(?:https?:\/\/|\/)\S+\sHTTP\/[0-9.]+/m,inside:{property:/^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\b/,"attr-name":/:\w+/}},"response-status":{pattern:/^HTTP\/1.[01] \d.*/m,inside:{property:{pattern:/(^HTTP\/1.[01] )\d.*/i,lookbehind:!0}}},"header-name":{pattern:/^[\w-]+:(?=.)/m,alias:"keyword"}};var t,r=e.languages,n={"application/javascript":r.javascript,"application/json":r.json||r.javascript,"application/xml":r.xml,"text/xml":r.xml,"text/html":r.html,"text/css":r.css},o={"application/json":!0,"application/xml":!0};function a(e){var t=e.replace(/^[a-z]+\//,"");return"(?:"+e+"|"+("\\w+/(?:[\\w.-]+\\+)+"+t+"(?![+\\w.-])")+")"}for(var i in n)if(n[i]){t=t||{};var s=o[i]?a(i):i;t[i.replace(/\//g,"-")]={pattern:RegExp("(content-type:\\s*"+s+".*)(?:\\r?\\n|\\r){2}[\\s\\S]*","i"),lookbehind:!0,inside:n[i]}}t&&e.languages.insertBefore("http","header-name",t)}(Prism)},503:()=>{!function(e){var t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,r=/(^|[^\w.])(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source,n={pattern:RegExp(r+/[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend("clike",{"class-name":[n,{pattern:RegExp(r+/[A-Z]\w*(?=\s+\w+\s*[;,=())])/.source),lookbehind:!0,inside:n.inside}],keyword:t,function:[e.languages.clike.function,{pattern:/(\:\:\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0}}),e.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"}}),e.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<[\w\s,.&?]*>)*>)*>)*>/,inside:{"class-name":n,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}},namespace:{pattern:RegExp(/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)(?!<keyword>)[a-z]\w*(?:\.[a-z]\w*)*\.?/.source.replace(/<keyword>/g,(function(){return t.source}))),lookbehind:!0,inside:{punctuation:/\./}}})}(Prism)},277:()=>{Prism.languages.json={property:{pattern:/"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,greedy:!0},string:{pattern:/"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:true|false)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},Prism.languages.webmanifest=Prism.languages.json},366:()=>{Prism.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},"string-interpolation":{pattern:/(?:f|rf|fr)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:{{)*){(?!{)(?:[^{}]|{(?!{)(?:[^{}]|{(?!{)(?:[^{}])+})+})+}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|rb|br)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|rb|br)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^\s*)@\w+(?:\.\w+)*/im,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:True|False|None)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},Prism.languages.python["string-interpolation"].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python},358:()=>{!function(e){var t=/[*&][^\s[\]{},]+/,r=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,n="(?:"+r.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+r.source+")?)",o=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),a=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function i(e,t){t=(t||"").replace(/m/g,"")+"m";var r=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|]|}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,(function(){return n})).replace(/<<value>>/g,(function(){return e}));return RegExp(r,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,(function(){return n}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,(function(){return n})).replace(/<<key>>/g,(function(){return"(?:"+o+"|"+a+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:i(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:i(/true|false/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:i(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:i(a),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.?\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:r,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(Prism)},660:(e,t,r)=>{var n=function(e){var t=/\blang(?:uage)?-([\w-]+)\b/i,r=0,n={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function e(t){return t instanceof o?new o(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++r}),e.__id},clone:function e(t,r){var o,a;switch(r=r||{},n.util.type(t)){case"Object":if(a=n.util.objId(t),r[a])return r[a];for(var i in o={},r[a]=o,t)t.hasOwnProperty(i)&&(o[i]=e(t[i],r));return o;case"Array":return a=n.util.objId(t),r[a]?r[a]:(o=[],r[a]=o,t.forEach((function(t,n){o[n]=e(t,r)})),o);default:return t}},getLanguage:function(e){for(;e&&!t.test(e.className);)e=e.parentElement;return e?(e.className.match(t)||[,"none"])[1].toLowerCase():"none"},currentScript:function(){if("undefined"==typeof document)return null;if("currentScript"in document)return document.currentScript;try{throw new Error}catch(n){var e=(/at [^(\r\n]*\((.*):.+:.+\)$/i.exec(n.stack)||[])[1];if(e){var t=document.getElementsByTagName("script");for(var r in t)if(t[r].src==e)return t[r]}return null}},isActive:function(e,t,r){for(var n="no-"+t;e;){var o=e.classList;if(o.contains(t))return!0;if(o.contains(n))return!1;e=e.parentElement}return!!r}},languages:{extend:function(e,t){var r=n.util.clone(n.languages[e]);for(var o in t)r[o]=t[o];return r},insertBefore:function(e,t,r,o){var a=(o=o||n.languages)[e],i={};for(var s in a)if(a.hasOwnProperty(s)){if(s==t)for(var l in r)r.hasOwnProperty(l)&&(i[l]=r[l]);r.hasOwnProperty(s)||(i[s]=a[s])}var c=o[e];return o[e]=i,n.languages.DFS(n.languages,(function(t,r){r===c&&t!=e&&(this[t]=i)})),i},DFS:function e(t,r,o,a){a=a||{};var i=n.util.objId;for(var s in t)if(t.hasOwnProperty(s)){r.call(t,s,t[s],o||s);var l=t[s],c=n.util.type(l);"Object"!==c||a[i(l)]?"Array"!==c||a[i(l)]||(a[i(l)]=!0,e(l,r,s,a)):(a[i(l)]=!0,e(l,r,null,a))}}},plugins:{},highlightAll:function(e,t){n.highlightAllUnder(document,e,t)},highlightAllUnder:function(e,t,r){var o={callback:r,container:e,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};n.hooks.run("before-highlightall",o),o.elements=Array.prototype.slice.apply(o.container.querySelectorAll(o.selector)),n.hooks.run("before-all-elements-highlight",o);for(var a,i=0;a=o.elements[i++];)n.highlightElement(a,!0===t,o.callback)},highlightElement:function(r,o,a){var i=n.util.getLanguage(r),s=n.languages[i];r.className=r.className.replace(t,"").replace(/\s+/g," ")+" language-"+i;var l=r.parentElement;l&&"pre"===l.nodeName.toLowerCase()&&(l.className=l.className.replace(t,"").replace(/\s+/g," ")+" language-"+i);var c={element:r,language:i,grammar:s,code:r.textContent};function u(e){c.highlightedCode=e,n.hooks.run("before-insert",c),c.element.innerHTML=c.highlightedCode,n.hooks.run("after-highlight",c),n.hooks.run("complete",c),a&&a.call(c.element)}if(n.hooks.run("before-sanity-check",c),!c.code)return n.hooks.run("complete",c),void(a&&a.call(c.element));if(n.hooks.run("before-highlight",c),c.grammar)if(o&&e.Worker){var p=new Worker(n.filename);p.onmessage=function(e){u(e.data)},p.postMessage(JSON.stringify({language:c.language,code:c.code,immediateClose:!0}))}else u(n.highlight(c.code,c.grammar,c.language));else u(n.util.encode(c.code))},highlight:function(e,t,r){var a={code:e,grammar:t,language:r};return n.hooks.run("before-tokenize",a),a.tokens=n.tokenize(a.code,a.grammar),n.hooks.run("after-tokenize",a),o.stringify(n.util.encode(a.tokens),a.language)},tokenize:function(e,t){var r=t.rest;if(r){for(var n in r)t[n]=r[n];delete t.rest}var o=new s;return l(o,o.head,e),i(e,o,t,o.head,0),function(e){var t=[],r=e.head.next;for(;r!==e.tail;)t.push(r.value),r=r.next;return t}(o)},hooks:{all:{},add:function(e,t){var r=n.hooks.all;r[e]=r[e]||[],r[e].push(t)},run:function(e,t){var r=n.hooks.all[e];if(r&&r.length)for(var o,a=0;o=r[a++];)o(t)}},Token:o};function o(e,t,r,n){this.type=e,this.content=t,this.alias=r,this.length=0|(n||"").length}function a(e,t,r,n){e.lastIndex=t;var o=e.exec(r);if(o&&n&&o[1]){var a=o[1].length;o.index+=a,o[0]=o[0].slice(a)}return o}function i(e,t,r,s,u,p){for(var d in r)if(r.hasOwnProperty(d)&&r[d]){var h=r[d];h=Array.isArray(h)?h:[h];for(var f=0;f<h.length;++f){if(p&&p.cause==d+","+f)return;var m=h[f],g=m.inside,y=!!m.lookbehind,b=!!m.greedy,v=m.alias;if(b&&!m.pattern.global){var x=m.pattern.toString().match(/[imsuy]*$/)[0];m.pattern=RegExp(m.pattern.source,x+"g")}for(var w=m.pattern||m,k=s.next,A=u;k!==t.tail&&!(p&&A>=p.reach);A+=k.value.length,k=k.next){var $=k.value;if(t.length>e.length)return;if(!($ instanceof o)){var E,S=1;if(b){if(!(E=a(w,A,e,y)))break;var D=E.index,O=E.index+E[0].length,C=A;for(C+=k.value.length;D>=C;)C+=(k=k.next).value.length;if(A=C-=k.value.length,k.value instanceof o)continue;for(var _=k;_!==t.tail&&(C<O||"string"==typeof _.value);_=_.next)S++,C+=_.value.length;S--,$=e.slice(A,C),E.index-=A}else if(!(E=a(w,0,$,y)))continue;D=E.index;var j=E[0],T=$.slice(0,D),F=$.slice(D+j.length),P=A+$.length;p&&P>p.reach&&(p.reach=P);var B=k.prev;T&&(B=l(t,B,T),A+=T.length),c(t,B,S),k=l(t,B,new o(d,g?n.tokenize(j,g):j,v,j)),F&&l(t,k,F),S>1&&i(e,t,r,k.prev,A,{cause:d+","+f,reach:P})}}}}}function s(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function l(e,t,r){var n=t.next,o={value:r,prev:t,next:n};return t.next=o,n.prev=o,e.length++,o}function c(e,t,r){for(var n=t.next,o=0;o<r&&n!==e.tail;o++)n=n.next;t.next=n,n.prev=t,e.length-=o}if(e.Prism=n,o.stringify=function e(t,r){if("string"==typeof t)return t;if(Array.isArray(t)){var o="";return t.forEach((function(t){o+=e(t,r)})),o}var a={type:t.type,content:e(t.content,r),tag:"span",classes:["token",t.type],attributes:{},language:r},i=t.alias;i&&(Array.isArray(i)?Array.prototype.push.apply(a.classes,i):a.classes.push(i)),n.hooks.run("wrap",a);var s="";for(var l in a.attributes)s+=" "+l+'="'+(a.attributes[l]||"").replace(/"/g,"&quot;")+'"';return"<"+a.tag+' class="'+a.classes.join(" ")+'"'+s+">"+a.content+"</"+a.tag+">"},!e.document)return e.addEventListener?(n.disableWorkerMessageHandler||e.addEventListener("message",(function(t){var r=JSON.parse(t.data),o=r.language,a=r.code,i=r.immediateClose;e.postMessage(n.highlight(a,n.languages[o],o)),i&&e.close()}),!1),n):n;var u=n.util.currentScript();function p(){n.manual||n.highlightAll()}if(u&&(n.filename=u.src,u.hasAttribute("data-manual")&&(n.manual=!0)),!n.manual){var d=document.readyState;"loading"===d||"interactive"===d&&u&&u.defer?document.addEventListener("DOMContentLoaded",p):window.requestAnimationFrame?window.requestAnimationFrame(p):window.setTimeout(p,16)}return n}("undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{});e.exports&&(e.exports=n),void 0!==r.g&&(r.g.Prism=n),n.languages.markup={comment:/<!--[\s\S]*?-->/,prolog:/<\?[\s\S]+?\?>/,doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/,name:/[^\s<>'"]+/}},cdata:/<!\[CDATA\[[\s\S]*?]]>/i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},n.languages.markup.tag.inside["attr-value"].inside.entity=n.languages.markup.entity,n.languages.markup.doctype.inside["internal-subset"].inside=n.languages.markup,n.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&amp;/,"&"))})),Object.defineProperty(n.languages.markup.tag,"addInlined",{value:function(e,t){var r={};r["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:n.languages[t]},r.cdata=/^<!\[CDATA\[|\]\]>$/i;var o={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:r}};o["language-"+t]={pattern:/[\s\S]+/,inside:n.languages[t]};var a={};a[e]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:o},n.languages.insertBefore("markup","cdata",a)}}),n.languages.html=n.languages.markup,n.languages.mathml=n.languages.markup,n.languages.svg=n.languages.markup,n.languages.xml=n.languages.extend("markup",{}),n.languages.ssml=n.languages.xml,n.languages.atom=n.languages.xml,n.languages.rss=n.languages.xml,function(e){var t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:RegExp("[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),string:{pattern:t,greedy:!0},property:/(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,important:/!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var r=e.languages.markup;r&&(r.tag.addInlined("style","css"),e.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/(^|["'\s])style\s*=\s*(?:"[^"]*"|'[^']*')/i,lookbehind:!0,inside:{"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{style:{pattern:/(["'])[\s\S]+(?=["']$)/,lookbehind:!0,alias:"language-css",inside:e.languages.css},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},"attr-name":/^style/i}}},r.tag))}(n),n.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|interface|extends|implements|trait|instanceof|new)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},n.languages.javascript=n.languages.extend("clike",{"class-name":[n.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)(?:catch|finally)\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|(?:get|set)(?=\s*[\[$\w\xA0-\uFFFF])|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),n.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,n.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:n.languages.regex},"regex-flags":/[a-z]+$/,"regex-delimiter":/^\/|\/$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:n.languages.javascript},{pattern:/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,inside:n.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:n.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:n.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),n.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\${|}$/,alias:"punctuation"},rest:n.languages.javascript}},string:/[\s\S]+/}}}),n.languages.markup&&n.languages.markup.tag.addInlined("script","javascript"),n.languages.js=n.languages.javascript,function(){if("undefined"!=typeof self&&self.Prism&&self.document){Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector);var e=window.Prism,t={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"},r="data-src-status",n="loading",o="loaded",a='pre[data-src]:not([data-src-status="loaded"]):not([data-src-status="loading"])',i=/\blang(?:uage)?-([\w-]+)\b/i;e.hooks.add("before-highlightall",(function(e){e.selector+=", "+a})),e.hooks.add("before-sanity-check",(function(i){var s=i.element;if(s.matches(a)){i.code="",s.setAttribute(r,n);var c=s.appendChild(document.createElement("CODE"));c.textContent="Loading…";var u=s.getAttribute("data-src"),p=i.language;if("none"===p){var d=(/\.(\w+)$/.exec(u)||[,"none"])[1];p=t[d]||d}l(c,p),l(s,p);var h=e.plugins.autoloader;h&&h.loadLanguages(p);var f=new XMLHttpRequest;f.open("GET",u,!0),f.onreadystatechange=function(){var t,n;4==f.readyState&&(f.status<400&&f.responseText?(s.setAttribute(r,o),c.textContent=f.responseText,e.highlightElement(c)):(s.setAttribute(r,"failed"),f.status>=400?c.textContent=(t=f.status,n=f.statusText,"✖ Error "+t+" while fetching file: "+n):c.textContent="✖ Error: File does not exist or is empty"))},f.send(null)}})),e.plugins.fileHighlight={highlight:function(t){for(var r,n=(t||document).querySelectorAll(a),o=0;r=n[o++];)e.highlightElement(r)}};var s=!1;e.fileHighlight=function(){s||(console.warn("Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead."),s=!0),e.plugins.fileHighlight.highlight.apply(this,arguments)}}function l(e,t){var r=e.className;r=r.replace(i," ")+" language-"+t,e.className=r.replace(/\s+/g," ").trim()}}()}},n={};function o(e){var t=n[e];if(void 0!==t){if(void 0!==t.error)throw t.error;return t.exports}var a=n[e]={exports:{}};try{var i={id:e,module:a,factory:r[e],require:o};o.i.forEach((function(e){e(i)})),a=i.module,i.factory.call(a.exports,a,a.exports,i.require)}catch(e){throw a.error=e,e}return a.exports}o.m=r,o.c=n,o.i=[],o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o.hu=e=>e+"."+o.h()+".hot-update.js",o.hmrF=()=>"main."+o.h()+".hot-update.json",o.h=()=>"bc26c7823f8a4a97df6d",o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="rapidoc:",o.l=(r,n,a,i)=>{if(e[r])e[r].push(n);else{var s,l;if(void 0!==a)for(var c=document.getElementsByTagName("script"),u=0;u<c.length;u++){var p=c[u];if(p.getAttribute("src")==r||p.getAttribute("data-webpack")==t+a){s=p;break}}s||(l=!0,(s=document.createElement("script")).charset="utf-8",s.timeout=120,o.nc&&s.setAttribute("nonce",o.nc),s.setAttribute("data-webpack",t+a),s.src=r),e[r]=[n];var d=(t,n)=>{s.onerror=s.onload=null,clearTimeout(h);var o=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),o&&o.forEach((e=>e(n))),t)return t(n)},h=setTimeout(d.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=d.bind(null,s.onerror),s.onload=d.bind(null,s.onload),l&&document.head.appendChild(s)}},(()=>{var e,t,r,n,a={},i=o.c,s=[],l=[],c="idle";function u(e){c=e;for(var t=0;t<l.length;t++)l[t].call(null,e)}function p(e){if(0===t.length)return e();var r=t;return t=[],Promise.all(r).then((function(){return p(e)}))}function d(e){if("idle"!==c)throw new Error("check() is only allowed in idle status");return u("check"),o.hmrM().then((function(n){if(!n)return u(m()?"ready":"idle"),null;u("prepare");var a=[];return t=[],r=[],Promise.all(Object.keys(o.hmrC).reduce((function(e,t){return o.hmrC[t](n.c,n.r,n.m,e,r,a),e}),[])).then((function(){return p((function(){return e?f(e):(u("ready"),a)}))}))}))}function h(e){return"ready"!==c?Promise.resolve().then((function(){throw new Error("apply() is only allowed in ready status")})):f(e)}function f(e){e=e||{},m();var t=r.map((function(t){return t(e)}));r=void 0;var o,a=t.map((function(e){return e.error})).filter(Boolean);if(a.length>0)return u("abort"),Promise.resolve().then((function(){throw a[0]}));u("dispose"),t.forEach((function(e){e.dispose&&e.dispose()})),u("apply");var i=function(e){o||(o=e)},s=[];return t.forEach((function(e){if(e.apply){var t=e.apply(i);if(t)for(var r=0;r<t.length;r++)s.push(t[r])}})),o?(u("fail"),Promise.resolve().then((function(){throw o}))):n?f(e).then((function(e){return s.forEach((function(t){e.indexOf(t)<0&&e.push(t)})),e})):(u("idle"),Promise.resolve(s))}function m(){if(n)return r||(r=[]),Object.keys(o.hmrI).forEach((function(e){n.forEach((function(t){o.hmrI[e](t,r)}))})),n=void 0,!0}o.hmrD=a,o.i.push((function(f){var m,g,y,b=f.module,v=function(r,n){var o=i[n];if(!o)return r;var a=function(t){if(o.hot.active){if(i[t]){var a=i[t].parents;-1===a.indexOf(n)&&a.push(n)}else s=[n],e=t;-1===o.children.indexOf(t)&&o.children.push(t)}else console.warn("[HMR] unexpected require("+t+") from disposed module "+n),s=[];return r(t)},l=function(e){return{configurable:!0,enumerable:!0,get:function(){return r[e]},set:function(t){r[e]=t}}};for(var d in r)Object.prototype.hasOwnProperty.call(r,d)&&"e"!==d&&Object.defineProperty(a,d,l(d));return a.e=function(e){return function(e){switch(c){case"ready":return u("prepare"),t.push(e),p((function(){u("ready")})),e;case"prepare":return t.push(e),e;default:return e}}(r.e(e))},a}(f.require,f.id);b.hot=(m=f.id,g=b,y={_acceptedDependencies:{},_acceptedErrorHandlers:{},_declinedDependencies:{},_selfAccepted:!1,_selfDeclined:!1,_selfInvalidated:!1,_disposeHandlers:[],_main:e!==m,_requireSelf:function(){s=g.parents.slice(),e=m,o(m)},active:!0,accept:function(e,t,r){if(void 0===e)y._selfAccepted=!0;else if("function"==typeof e)y._selfAccepted=e;else if("object"==typeof e&&null!==e)for(var n=0;n<e.length;n++)y._acceptedDependencies[e[n]]=t||function(){},y._acceptedErrorHandlers[e[n]]=r;else y._acceptedDependencies[e]=t||function(){},y._acceptedErrorHandlers[e]=r},decline:function(e){if(void 0===e)y._selfDeclined=!0;else if("object"==typeof e&&null!==e)for(var t=0;t<e.length;t++)y._declinedDependencies[e[t]]=!0;else y._declinedDependencies[e]=!0},dispose:function(e){y._disposeHandlers.push(e)},addDisposeHandler:function(e){y._disposeHandlers.push(e)},removeDisposeHandler:function(e){var t=y._disposeHandlers.indexOf(e);t>=0&&y._disposeHandlers.splice(t,1)},invalidate:function(){switch(this._selfInvalidated=!0,c){case"idle":r=[],Object.keys(o.hmrI).forEach((function(e){o.hmrI[e](m,r)})),u("ready");break;case"ready":Object.keys(o.hmrI).forEach((function(e){o.hmrI[e](m,r)}));break;case"prepare":case"check":case"dispose":case"apply":(n=n||[]).push(m)}},check:d,apply:h,status:function(e){if(!e)return c;l.push(e)},addStatusHandler:function(e){l.push(e)},removeStatusHandler:function(e){var t=l.indexOf(e);t>=0&&l.splice(t,1)},data:a[m]},e=void 0,y),b.parents=s,b.children=[],s=[],f.require=v})),o.hmrC={},o.hmrI={}})(),o.p="",(()=>{var e,t,r,n,a={179:0},i={};function s(e){return new Promise(((t,r)=>{i[e]=t;var n=o.p+o.hu(e),a=new Error;o.l(n,(t=>{if(i[e]){i[e]=void 0;var n=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;a.message="Loading hot update chunk "+e+" failed.\n("+n+": "+o+")",a.name="ChunkLoadError",a.type=n,a.request=o,r(a)}}))}))}function l(i){function s(e){for(var t=[e],r={},n=t.map((function(e){return{chain:[e],id:e}}));n.length>0;){var a=n.pop(),i=a.id,s=a.chain,c=o.c[i];if(c&&(!c.hot._selfAccepted||c.hot._selfInvalidated)){if(c.hot._selfDeclined)return{type:"self-declined",chain:s,moduleId:i};if(c.hot._main)return{type:"unaccepted",chain:s,moduleId:i};for(var u=0;u<c.parents.length;u++){var p=c.parents[u],d=o.c[p];if(d){if(d.hot._declinedDependencies[i])return{type:"declined",chain:s.concat([p]),moduleId:i,parentId:p};-1===t.indexOf(p)&&(d.hot._acceptedDependencies[i]?(r[p]||(r[p]=[]),l(r[p],[i])):(delete r[p],t.push(p),n.push({chain:s.concat([p]),id:p})))}}}}return{type:"accepted",moduleId:e,outdatedModules:t,outdatedDependencies:r}}function l(e,t){for(var r=0;r<t.length;r++){var n=t[r];-1===e.indexOf(n)&&e.push(n)}}o.f&&delete o.f.jsonpHmr,e=void 0;var c={},u=[],p={},d=function(e){console.warn("[HMR] unexpected require("+e.id+") to disposed module")};for(var h in t)if(o.o(t,h)){var f,m=t[h],g=!1,y=!1,b=!1,v="";switch((f=m?s(h):{type:"disposed",moduleId:h}).chain&&(v="\nUpdate propagation: "+f.chain.join(" -> ")),f.type){case"self-declined":i.onDeclined&&i.onDeclined(f),i.ignoreDeclined||(g=new Error("Aborted because of self decline: "+f.moduleId+v));break;case"declined":i.onDeclined&&i.onDeclined(f),i.ignoreDeclined||(g=new Error("Aborted because of declined dependency: "+f.moduleId+" in "+f.parentId+v));break;case"unaccepted":i.onUnaccepted&&i.onUnaccepted(f),i.ignoreUnaccepted||(g=new Error("Aborted because "+h+" is not accepted"+v));break;case"accepted":i.onAccepted&&i.onAccepted(f),y=!0;break;case"disposed":i.onDisposed&&i.onDisposed(f),b=!0;break;default:throw new Error("Unexception type "+f.type)}if(g)return{error:g};if(y)for(h in p[h]=m,l(u,f.outdatedModules),f.outdatedDependencies)o.o(f.outdatedDependencies,h)&&(c[h]||(c[h]=[]),l(c[h],f.outdatedDependencies[h]));b&&(l(u,[f.moduleId]),p[h]=d)}t=void 0;for(var x,w=[],k=0;k<u.length;k++){var A=u[k],$=o.c[A];$&&$.hot._selfAccepted&&p[A]!==d&&!$.hot._selfInvalidated&&w.push({module:A,require:$.hot._requireSelf,errorHandler:$.hot._selfAccepted})}return{dispose:function(){var e;r.forEach((function(e){delete a[e]})),r=void 0;for(var t,n=u.slice();n.length>0;){var i=n.pop(),s=o.c[i];if(s){var l={},p=s.hot._disposeHandlers;for(k=0;k<p.length;k++)p[k].call(null,l);for(o.hmrD[i]=l,s.hot.active=!1,delete o.c[i],delete c[i],k=0;k<s.children.length;k++){var d=o.c[s.children[k]];d&&((e=d.parents.indexOf(i))>=0&&d.parents.splice(e,1))}}}for(var h in c)if(o.o(c,h)&&(s=o.c[h]))for(x=c[h],k=0;k<x.length;k++)t=x[k],(e=s.children.indexOf(t))>=0&&s.children.splice(e,1)},apply:function(e){for(var t in p)o.o(p,t)&&(o.m[t]=p[t]);for(var r=0;r<n.length;r++)n[r](o);for(var a in c)if(o.o(c,a)){var s=o.c[a];if(s){x=c[a];for(var l=[],d=[],h=[],f=0;f<x.length;f++){var m=x[f],g=s.hot._acceptedDependencies[m],y=s.hot._acceptedErrorHandlers[m];if(g){if(-1!==l.indexOf(g))continue;l.push(g),d.push(y),h.push(m)}}for(var b=0;b<l.length;b++)try{l[b].call(null,x)}catch(t){if("function"==typeof d[b])try{d[b](t,{moduleId:a,dependencyId:h[b]})}catch(r){i.onErrored&&i.onErrored({type:"accept-error-handler-errored",moduleId:a,dependencyId:h[b],error:r,originalError:t}),i.ignoreErrored||(e(r),e(t))}else i.onErrored&&i.onErrored({type:"accept-errored",moduleId:a,dependencyId:h[b],error:t}),i.ignoreErrored||e(t)}}}for(var v=0;v<w.length;v++){var k=w[v],A=k.module;try{k.require(A)}catch(t){if("function"==typeof k.errorHandler)try{k.errorHandler(t,{moduleId:A,module:o.c[A]})}catch(r){i.onErrored&&i.onErrored({type:"self-accept-error-handler-errored",moduleId:A,error:r,originalError:t}),i.ignoreErrored||(e(r),e(t))}else i.onErrored&&i.onErrored({type:"self-accept-errored",moduleId:A,error:t}),i.ignoreErrored||e(t)}}return u}}}self.webpackHotUpdaterapidoc=(e,r,a)=>{for(var s in r)o.o(r,s)&&(t[s]=r[s]);a&&n.push(a),i[e]&&(i[e](),i[e]=void 0)},o.hmrI.jsonp=function(e,a){t||(t={},n=[],r=[],a.push(l)),o.o(t,e)||(t[e]=o.m[e])},o.hmrC.jsonp=function(i,c,u,p,d,h){d.push(l),e={},r=c,t=u.reduce((function(e,t){return e[t]=!1,e}),{}),n=[],i.forEach((function(t){o.o(a,t)&&void 0!==a[t]&&(p.push(s(t)),e[t]=!0)})),o.f&&(o.f.jsonpHmr=function(t,r){e&&!o.o(e,t)&&o.o(a,t)&&void 0!==a[t]&&(r.push(s(t)),e[t]=!0)})},o.hmrM=()=>{if("undefined"==typeof fetch)throw new Error("No browser support: need fetch API");return fetch(o.p+o.hmrF()).then((e=>{if(404!==e.status){if(!e.ok)throw new Error("Failed to fetch update manifest "+e.statusText);return e.json()}}))}})();o(652)})();
+//# sourceMappingURL=rapidoc-min.js.map
\ No newline at end of file
diff --git a/validate.sh b/validate.sh
new file mode 100755
index 0000000000000000000000000000000000000000..38a3cb2588651246995a0b0a962b0183cc739459
--- /dev/null
+++ b/validate.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env sh
+
+./bundle.sh
+
+YML_IN="spec/zustelldienst-bundled.yml"
+
+docker run --rm -v "$(pwd):/work" jeanberu/swagger-cli \
+  swagger-cli validate "/work/$YML_IN" 
+