diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/404.html b/404.html new file mode 100644 index 00000000..3ffee070 --- /dev/null +++ b/404.html @@ -0,0 +1,16 @@ + + + + + +Page Not Found | Beacon Docs + + + + +
+
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

+ + + + \ No newline at end of file diff --git a/CNAME b/CNAME new file mode 100644 index 00000000..2eb918ee --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +docs.walletbeacon.io \ No newline at end of file diff --git a/FAQ/index.html b/FAQ/index.html new file mode 100644 index 00000000..342e80b5 --- /dev/null +++ b/FAQ/index.html @@ -0,0 +1,16 @@ + + + + + +FAQ | Beacon Docs + + + + +
+
Skip to main content
+ + + + \ No newline at end of file diff --git a/advanced/custom-block-explorer/index.html b/advanced/custom-block-explorer/index.html new file mode 100644 index 00000000..163987cd --- /dev/null +++ b/advanced/custom-block-explorer/index.html @@ -0,0 +1,16 @@ + + + + + +Custom Block Explorer | Beacon Docs + + + + +
+
Skip to main content

Custom Block Explorer

import {
BlockExplorer,
DAppClient,
NetworkType,
Network,
} from "@airgap/beacon-sdk";

class TzStatsBlockExplorer extends BlockExplorer {
constructor(
public readonly rpcUrls: { [key in NetworkType]: string } = {
[NetworkType.MAINNET]: "https://tzstats.com/",
[NetworkType.GHOSTNET]: "https://ghost.tzstats.com/",
[NetworkType.MONDAYNET]: "https://monday.tzstats.com/",
[NetworkType.DAILYNET]: "https://daily.tzstats.com/",
[NetworkType.DELPHINET]: "https://delphi.tzstats.com/",
[NetworkType.EDONET]: "https://edo.tzstats.com/",
[NetworkType.FLORENCENET]: "https://florence.tzstats.com/",
[NetworkType.GRANADANET]: "https://granada.tzstats.com/",
[NetworkType.HANGZHOUNET]: "https://hangzhounet.tzstats.com/",
[NetworkType.ITHACANET]: "https://ithaca.tzstats.com/",
[NetworkType.JAKARTANET]: "https://jakara.tzstats.com/",
[NetworkType.KATHMANDUNET]: "https://kathmandu.tzstats.com/",
[NetworkType.LIMANET]: "https://lima.tzstats.com/",
[NetworkType.MUMBAINET]: "https://mumbai.tzstats.com/",
[NetworkType.NAIROBINET]: "https://nairobi.tzstats.com/",
[NetworkType.OXFORDNET]: "https://oxford.tzstats.com/",
[NetworkType.CUSTOM]: "https://custom.tzstats.com/",
},
) {
super(rpcUrls);
}

public async getAddressLink(
address: string,
network: Network,
): Promise<string> {
const blockExplorer = await this.getLinkForNetwork(network);

return `${blockExplorer}/${address}`;
}
public async getTransactionLink(
transactionId: string,
network: Network,
): Promise<string> {
const blockExplorer = await this.getLinkForNetwork(network);

return `${blockExplorer}/${transactionId}`;
}
}

const dAppClient = new DAppClient({
name: "Beacon Docs",
blockExplorer: new TzStatsBlockExplorer(),
});
+ + + + \ No newline at end of file diff --git a/advanced/debug-wallet/index.html b/advanced/debug-wallet/index.html new file mode 100644 index 00000000..a7220f16 --- /dev/null +++ b/advanced/debug-wallet/index.html @@ -0,0 +1,16 @@ + + + + + +Debug Wallet | Beacon Docs + + + + +
+
Skip to main content

Debug Wallet

caution

This wallet is intended for developers to debug their dApps.

A common issue with dApps is that users report that a certain functionality doesn't work for them. It is often cumbersome to reproduce this in a development environment because the dev team doesn't have access to the account. The Debug Wallet can help debug those cases.

Beacon Debug Wallet

Watch-only Accounts

With the "watch-only" feature in the Debug Wallet it is possible to connect to any dApp using any tz account. The dApp can then be viewed from the eyes of that user and operations can be debugged with ease.

Beacon Accounts

It is possible to pair any Beacon-compatible wallet to the Debug Wallet. If you do that, the Debug Wallet acts as a "relay" between the dApp and the actual wallet. Requests and responses will be relayed, but the details can be inspected.

+ + + + \ No newline at end of file diff --git a/advanced/different-node/index.html b/advanced/different-node/index.html new file mode 100644 index 00000000..3c7cf234 --- /dev/null +++ b/advanced/different-node/index.html @@ -0,0 +1,108 @@ + + + + + +Different Beacon Node | Beacon Docs + + + + +
+
Skip to main content

Different Beacon Node

You can configure the dApp or Wallet to connect to a different beacon node. +Make sure the servers you use are whitelisted in the beacon network and federation is working correctly.

Live Editor
Loading...
tip

The beacon-sdk deterministically chooses one of the nodes in the array. Changing the array of nodes will most likely lead to users losing their connection.

+ + + + \ No newline at end of file diff --git a/advanced/flows/connection/index.html b/advanced/flows/connection/index.html new file mode 100644 index 00000000..0879d60b --- /dev/null +++ b/advanced/flows/connection/index.html @@ -0,0 +1,27 @@ + + + + + +Connection | Beacon Docs + + + + +
+
Skip to main content

Connection

+graph LR + Z[dApp] --> Y{Extension installed?} + subgraph Beacon SDK + Y -- No --> B[Wallet/P2P] + end + subgraph Extension + X -- Yes --> E[Wallet/P2P] + X -- No --> D[Ledger / Mnemonic] + Y -- Yes --> X{Wallet Paired?} + end +
+ + + + \ No newline at end of file diff --git a/advanced/flows/extension-communication/index.html b/advanced/flows/extension-communication/index.html new file mode 100644 index 00000000..72ddf4a9 --- /dev/null +++ b/advanced/flows/extension-communication/index.html @@ -0,0 +1,42 @@ + + + + + +Extension Communication | Beacon Docs + + + + +
+
Skip to main content

Extension Communication

+ sequenceDiagram + rect rgba(0, 0, 255, .2) + Note over dApp,Peer: Only for Extensions<br />Extensions have 200ms to respond + dApp->>Peer: Ping + Peer->>dApp: Pong + end + rect rgba(0, 0, 255, .2) + Note over dApp,Peer: dApp sends publicKey to Peer + dApp->>Peer: PairingRequest + Note over dApp,Peer: Peer stores the dApp publicKey <br/> Encrypts own publicKey with dApp publicKey <br/> Send back encrypted publicKey + Peer->>dApp: PairingResponse + end +
+ sequenceDiagram + rect rgba(0, 0, 255, .2) + Note over dApp,Peer 1: Permission Request is a broadcast to all peers + dApp->>Peer 1: PermissionRequest (Broadcast) + dApp->>Peer 2: PermissionRequest (Broadcast) + Peer 1->>dApp: PermissionResponse + end + rect rgba(0, 0, 255, .2) + Note over dApp,Peer 1: Operation Request is targeted to one peer + dApp->>Peer 1: OperationRequest (specific to peer) + Peer 1->>dApp: OperationResponse + end +
+ + + + \ No newline at end of file diff --git a/advanced/flows/ledger-extension/index.html b/advanced/flows/ledger-extension/index.html new file mode 100644 index 00000000..9a22ce2f --- /dev/null +++ b/advanced/flows/ledger-extension/index.html @@ -0,0 +1,55 @@ + + + + + +Ledger | Beacon Docs + + + + +
+
Skip to main content

Ledger

Init

+sequenceDiagram + Popup->>Background: User Prompt (Pair Ledger) + Background->>Ledger: Share Account + Ledger->>Background: Account + Background->>Popup: Return Account +

Permission Request

+sequenceDiagram dApp->>Background: Request + Background->>Popup: Permission Prompt + Popup->>Popup: User Confirmation + Popup->>Background: Permission Response + Background->>dApp: Response +

Operation Request

+sequenceDiagram + dApp->>Background: Request + Background->>Popup: Operation Request + Popup->>Background: Confirm + Background->>Background: Forge Operation + Background->>Ledger: Operation Request + Ledger->>Ledger: User confirmation + Ledger->>Background: Signed Operation + Background->>Background: Broadcast + Background->>dApp: Response +

Signing Request

+sequenceDiagram dApp->>Background: Request + Background->>Popup: Sign Request + Popup->>Background: Confirm + Background->>Ledger: Sign Request + Ledger->>Ledger: User confirmation + Ledger->>Background: Signed Operation + Background->>dApp: Response +

Broadcast Request

+sequenceDiagram + dApp->>Background: Request + Background->>Popup: Broascast Request + Popup->>Popup: User confirmation + Popup->>Background: Broascast Response + Background->>Background: Broadcast + Background->>dApp: Response +
+ + + + \ No newline at end of file diff --git a/advanced/flows/local-mnemonic/index.html b/advanced/flows/local-mnemonic/index.html new file mode 100644 index 00000000..794ef7fd --- /dev/null +++ b/advanced/flows/local-mnemonic/index.html @@ -0,0 +1,65 @@ + + + + + +Local Mnemonic | Beacon Docs + + + + +
+
Skip to main content

Local Mnemonic

Init

+sequenceDiagram + Popup->>Popup: User Prompt (Add/Generate Mnemonic?) + Popup->>Background: Save Mnemonic + alt generate + Popup->>Background: New / Save mnemonic + Background->>Background: Generate new Mnemonic + end + Background->>Popup: Return Mnemonic +

Permission Request

+sequenceDiagram + dApp->>Background: Request + Background->>Popup: Permission Request + Popup->>Popup: User confirmation + Popup->>Background: Permission Response + Background->>dApp: Response +

Operation Request

+sequenceDiagram + dApp->>Background: Request + Background->>Background: Fetch operation data + opt no threshold + Note left of Background: Everything except<br/>simple spend has<br/>to be approved + Background->>Popup: Operation Request + Popup->>Popup: User confirmation + Popup->>Background: Operation Response + end + Background->>Background: Forge Operation + Background->>Background: Sign Operation + Background->>Background: Broadcast + Background->>dApp: Response +

Signing Request

+sequenceDiagram + dApp->>Background: Request + opt no threshold + Note left of Background: Everything except<br/>simple spend has<br/>to be approved + Background->>Popup: Signing Request + Popup->>Popup: User confirmation + Popup->>Background: Signing Response + end + Background->>Background: Sign Operation + Background->>dApp: Response +
danger

Thresholds could be abused to sign contract calls. Wallets must reject request with parameters.

Broadcast Request

+sequenceDiagram + dApp->>Background: Request + Background->>Popup: Broascast Request + Popup->>Popup: User confirmation + Popup->>Background: Broascast Response + Background->>Background: Broadcast + Background->>dApp: Response +
+ + + + \ No newline at end of file diff --git a/advanced/flows/p2p-direct/index.html b/advanced/flows/p2p-direct/index.html new file mode 100644 index 00000000..21159565 --- /dev/null +++ b/advanced/flows/p2p-direct/index.html @@ -0,0 +1,50 @@ + + + + + +P2P Direct | Beacon Docs + + + + +
+
Skip to main content

P2P Direct

Init

+sequenceDiagram + dApp->>Wallet: Show QR Code (publicKey exchange) + Wallet->>Wallet: User scans QR code + Wallet->>dApp: Send own publicKey to dApp, connection established +

Permission Request

+sequenceDiagram + dApp->>Wallet: User Prompt (Do you want to pair?) + Wallet->>Wallet: Grant permissions + Wallet->>dApp: Return Address & Permissions +

Operation Request

+sequenceDiagram + dApp->>Wallet: Request + opt no threshold + Wallet->>Wallet: User confirmation + end + Wallet->>Wallet: Forge Operation + Wallet->>Wallet: Sign + Wallet->>Wallet: Broadcast + Wallet->>dApp: Response +

Signing Request

+sequenceDiagram + dApp->>Wallet: Request + opt no threshold + Wallet->>Wallet: User confirmation + end + Wallet->>Wallet: Sign + Wallet->>dApp: Response +
danger

Thresholds could be abused to sign contract calls. Wallets must reject request with parameters.

Broadcast Request

+sequenceDiagram + dApp->>Wallet: Request + Wallet->>Wallet: User confirmation + Wallet->>Wallet: Broadcast + Wallet->>dApp: Response +
+ + + + \ No newline at end of file diff --git a/advanced/flows/p2p-extension/index.html b/advanced/flows/p2p-extension/index.html new file mode 100644 index 00000000..0f9c7e49 --- /dev/null +++ b/advanced/flows/p2p-extension/index.html @@ -0,0 +1,71 @@ + + + + + +P2P Extension | Beacon Docs + + + + +
+
Skip to main content

P2P Extension

Init

+sequenceDiagram + Popup->>Background: Get QR Data + Background->>Background: Start listening for new connections + Background->>Popup: Return QR Data + Popup->>Wallet: Show QR Code (publicKey exchange) + Wallet->>Wallet: User scans QR code + Wallet->>Background: Send own publicKey to dApp, connection established + Background->>Popup: Successful connection +
+sequenceDiagram + Popup->>Background: Get QR Data + Background->>Background: Start listening for new connections + Background->>Popup: Return QR Data + Popup->>Wallet: Show QR Code (publicKey exchange) + Wallet->>Wallet: User scans QR code + Wallet->>Background: Send own publicKey to dApp, connection established + Background->>Popup: Successful connection +

Permission Request

+sequenceDiagram + dApp->>Background: Request + Background->>Wallet: Permission Prompt + Wallet->>Wallet: User Confirmation + Wallet->>Background: Permission Response + Background->>dApp: Response +

Operation Request

+sequenceDiagram + dApp->>Background: Request + Background->>Wallet: Operation Request + opt no threshold + Wallet->>Wallet: User confirmation + end + Wallet->>Wallet: Forge Operation + Wallet->>Wallet: Sign + Wallet->>Wallet: Broadcast + Wallet->>Background: Operation Response + Background->>dApp: Response +

Signing Request

+sequenceDiagram + dApp->>Background: Request + Background->>Wallet: Sign Request + opt no threshold + Wallet->>Wallet: User confirmation + end + Wallet->>Wallet: Sign + Wallet->>Background: Sign Response + Background->>dApp: Response +

Broadcast Request

+sequenceDiagram + dApp->>Background: Request + Background->>Wallet: Signing Request + Wallet->>Wallet: User confirmation + Wallet->>Background: Signing Response + Background->>Background: Broadcast + Background->>dApp: Response +
+ + + + \ No newline at end of file diff --git a/advanced/push-notification/index.html b/advanced/push-notification/index.html new file mode 100644 index 00000000..5f3b7828 --- /dev/null +++ b/advanced/push-notification/index.html @@ -0,0 +1,29 @@ + + + + + +Push Notification | Beacon Docs + + + + +
+
Skip to main content

Push Notification

danger

Push Notifications are in beta. There is no wallet that supports it at the moment.

+sequenceDiagram + rect rgba(0, 0, 255, .2) + Note over dApp,Peer: Only for Extensions<br />Extensions have 200ms to respond + dApp->>Peer: Ping + Peer->>dApp: Pong + end + rect rgba(0, 0, 255, .2) + Note over dApp,Peer: dApp sends publicKey to Peer + dApp->>Peer: PairingRequest + Note over dApp,Peer: Peer stores the dApp publicKey <br/> Encrypts own publicKey with dApp publicKey <br/> Send back encrypted publicKey + Peer->>dApp: PairingResponse + end +

+ + + + \ No newline at end of file diff --git a/advanced/sdk-info/index.html b/advanced/sdk-info/index.html new file mode 100644 index 00000000..131d8ac2 --- /dev/null +++ b/advanced/sdk-info/index.html @@ -0,0 +1,271 @@ + + + + + +Client Info | Beacon Docs + + + + +
+
Skip to main content

Client Info

Live Editor
Loading...
Live Editor
Loading...
Live Editor
Loading...
+ + + + \ No newline at end of file diff --git a/advanced/ui-elements/index.html b/advanced/ui-elements/index.html new file mode 100644 index 00000000..f37f04ea --- /dev/null +++ b/advanced/ui-elements/index.html @@ -0,0 +1,464 @@ + + + + + +UI Elements | Beacon Docs + + + + +
+
Skip to main content

UI Elements

caution

We strongly recommend keeping the default UI Elements. +Consistent UI helps users to interact with different dApps more easily.

The default UI elements have been designed with all wallets and user setups in mind. +It handles a lot of cases that are not obvious at first glance. If you really must overwrite the default UI.

Custom UI Guidelines

  1. When the user wants to connect to a wallet, a selection of wallets must be shown. +The selection depends on the device the user is using and should display different options on different devices.

On desktop there is only one view with some wallets and the QR code.

https://mydapp.com
Beacon Pairing
  1. Every message sent by the dApp should trigger a persistent element on screen, indicating that a request is in progress.
https://mydapp.com
Beacon Loading
  • If no message has been received for a certain amount of time (eg. 5 seconds), the UI should indicate that there are potential connection issues. +The dApp should NOT do any automatic action at this point, because some delays are normal, especially when working with wallets that communicate +over the P2P network.
  • In the UI element that is shown, the user SHOULD have the option to reset his connection, meaning to disconnect a wallet. This will abort the whole +flow. The user can start the action again, which will now trigger a new "pairing" alert because the previous connection was reset.
https://mydapp.com
Beacon Loading Open
  1. Once the Wallet receives the request, it will immediately send back an Acknowledgement Message. +When this message is received in the dApp, the dApp knows that the connection is still valid and the user can handle the request. +The persistent UI element that is shown on screen should now be updated, indicating that we are waiting for user input on the wallet.
https://mydapp.com
Beacon Awaiting
  1. When the response is received, the persistent element can be removed again and the successful (or error) response can be displayed to the user and the application flow can be continued.

Overwriting Default UI elements

You can overwrite all of the default UI elements by doing the following.

Live Editor
Loading...

You can also add your own logic to specific events and still keep the original behaviour.

The same can be achieved without overwriting the default event handler by subscribing to an event. This method is preferred, if possible.

Live Editor
Loading...

The closing of the pairing alert can not be listened to by default. The reason for this is the delay in the P2P connections. +It is possible that a user scans the pairing QR code with his wallet and then closes the alert while waiting for the connection to be established. +If the dApp interprets the "closing" of the alert as an abort, and a few seconds later the connection is established successfully, the behaviour could be unexpected.

If you still want to be notified of the closing of the pairing window, you can do it in the following way, while keeping the default behaviour.

Live Editor
Loading...
+ + + + \ No newline at end of file diff --git a/assets/css/styles.6e8c13e7.css b/assets/css/styles.6e8c13e7.css new file mode 100644 index 00000000..659b5965 --- /dev/null +++ b/assets/css/styles.6e8c13e7.css @@ -0,0 +1 @@ +.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}pre,table{overflow:auto}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,.hash-link{-webkit-user-select:none}.button,code{vertical-align:middle}.button--outline.button--active,.button--outline:active,.button--outline:hover,:root{--ifm-button-color:var(--ifm-font-color-base-inverse)}.menu__link:hover,a{transition:color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navbar--dark,:root{--ifm-navbar-link-hover-color:var(--ifm-color-primary)}.menu,.navbar-sidebar{overflow-x:hidden}:root,html[data-theme=dark]{--ifm-color-emphasis-500:var(--ifm-color-gray-500)}.toggleButton_gllP,html{-webkit-tap-highlight-color:transparent}.avatar__photo,.card,.text--truncate,body>div{overflow:hidden}.clean-list,.containsTaskList_mC6p,.details_lb9f>summary,.dropdown__menu,.menu__list{list-style:none}:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:#0000;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:0.4rem;--ifm-hover-overlay:#0000000d;--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-size-base:100%;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:200ms;--ifm-transition-slow:400ms;--ifm-transition-timing-default:cubic-bezier(0.08,0.52,0.52,1);--ifm-global-shadow-lw:0 1px 2px 0 #0000001a;--ifm-global-shadow-md:0 5px 40px #0003;--ifm-global-shadow-tl:0 12px 28px 0 #0003,0 2px 4px 0 #0000001a;--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:0.1rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:0.875rem;--ifm-h6-font-size:0.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:0.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:0.75rem;--ifm-table-background:#0000;--ifm-table-stripe-background:#00000008;--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*0.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:0.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:0.8rem;--ifm-breadcrumb-padding-vertical:0.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url('data:image/svg+xml;utf8,');--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:0.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:0.5rem;--ifm-toc-padding-horizontal:0.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:0.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:0.75rem;--ifm-menu-link-padding-vertical:0.375rem;--ifm-menu-link-sublist-icon:url('data:image/svg+xml;utf8,');--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:0.75rem;--ifm-navbar-item-padding-vertical:0.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*0.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url('data:image/svg+xml;utf8,');--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:0.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:0.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem;--docusaurus-progress-bar-color:var(--ifm-color-primary);--ifm-color-primary:#3880ff;--ifm-color-primary-dark:#1e6af1;--ifm-color-primary-darker:#2972f5;--ifm-color-primary-darkest:#216ef7;--ifm-color-primary-light:#4d8af5;--ifm-color-primary-lighter:#558ef3;--ifm-color-primary-lightest:#5c93f3;--ifm-code-font-size:95%;--docusaurus-highlighted-code-line-bg:#dedfe1;--ifm-color-dark:#35415b;--docusaurus-announcement-bar-height:auto;--docusaurus-tag-list-border:var(--ifm-color-emphasis-300);--docusaurus-collapse-button-bg:#0000;--docusaurus-collapse-button-bg-hover:#0000001a;--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px}.badge--danger,.badge--info,.badge--primary,.badge--secondary,.badge--success,.badge--warning{--ifm-badge-border-color:var(--ifm-badge-background-color)}.button--link,.button--outline{--ifm-button-background-color:#0000}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%;background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base) var(--ifm-font-family-base);text-rendering:optimizelegibility}iframe{border:0;color-scheme:auto}.container{margin:0 auto;max-width:var(--ifm-container-width)}.container--fluid{max-width:inherit}.row{display:flex;flex-wrap:wrap;margin:0 calc(var(--ifm-spacing-horizontal)*-1)}.margin-bottom--none,.margin-vert--none,.markdown>:last-child{margin-bottom:0!important}.margin-top--none,.margin-vert--none,.tabItem_LNqP{margin-top:0!important}.row--no-gutters{margin-left:0;margin-right:0}.margin-horiz--none,.margin-right--none{margin-right:0!important}.row--no-gutters>.col{padding-left:0;padding-right:0}.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.menuExternalLink_NmtK,.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;flex:1 0;margin-left:0;max-width:var(--ifm-col-width)}.padding-bottom--none,.padding-vert--none{padding-bottom:0!important}.padding-top--none,.padding-vert--none{padding-top:0!important}.padding-horiz--none,.padding-left--none{padding-left:0!important}.padding-horiz--none,.padding-right--none{padding-right:0!important}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:8.33333%}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:16.66667%}.col--offset-2{margin-left:16.66667%}.col--3{--ifm-col-width:25%}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:33.33333%}.col--offset-4{margin-left:33.33333%}.col--5{--ifm-col-width:41.66667%}.col--offset-5{margin-left:41.66667%}.col--6{--ifm-col-width:50%}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:58.33333%}.col--offset-7{margin-left:58.33333%}.col--8{--ifm-col-width:66.66667%}.col--offset-8{margin-left:66.66667%}.col--9{--ifm-col-width:75%}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:83.33333%}.col--offset-10{margin-left:83.33333%}.col--11{--ifm-col-width:91.66667%}.col--offset-11{margin-left:91.66667%}.col--12{--ifm-col-width:100%}.col--offset-12{margin-left:100%}.margin-horiz--none,.margin-left--none{margin-left:0!important}.margin--none{margin:0!important}.margin-bottom--xs,.margin-vert--xs{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs{margin-top:.25rem!important}.margin-horiz--xs,.margin-left--xs{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs{margin-right:.25rem!important}.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm{margin-right:.5rem!important}.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md{margin-bottom:1rem!important}.margin-top--md,.margin-vert--md{margin-top:1rem!important}.margin-horiz--md,.margin-left--md{margin-left:1rem!important}.margin-horiz--md,.margin-right--md{margin-right:1rem!important}.margin--md{margin:1rem!important}.margin-bottom--lg,.margin-vert--lg{margin-bottom:2rem!important}.margin-top--lg,.margin-vert--lg{margin-top:2rem!important}.margin-horiz--lg,.margin-left--lg{margin-left:2rem!important}.margin-horiz--lg,.margin-right--lg{margin-right:2rem!important}.margin--lg{margin:2rem!important}.margin-bottom--xl,.margin-vert--xl{margin-bottom:5rem!important}.margin-top--xl,.margin-vert--xl{margin-top:5rem!important}.margin-horiz--xl,.margin-left--xl{margin-left:5rem!important}.margin-horiz--xl,.margin-right--xl{margin-right:5rem!important}.margin--xl{margin:5rem!important}.padding--none{padding:0!important}.padding-bottom--xs,.padding-vert--xs{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs{padding-top:.25rem!important}.padding-horiz--xs,.padding-left--xs{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs{padding-right:.25rem!important}.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm{padding-right:.5rem!important}.padding--sm{padding:.5rem!important}.padding-bottom--md,.padding-vert--md{padding-bottom:1rem!important}.padding-top--md,.padding-vert--md{padding-top:1rem!important}.padding-horiz--md,.padding-left--md{padding-left:1rem!important}.padding-horiz--md,.padding-right--md{padding-right:1rem!important}.padding--md{padding:1rem!important}.padding-bottom--lg,.padding-vert--lg{padding-bottom:2rem!important}.padding-top--lg,.padding-vert--lg{padding-top:2rem!important}.padding-horiz--lg,.padding-left--lg{padding-left:2rem!important}.padding-horiz--lg,.padding-right--lg{padding-right:2rem!important}.padding--lg{padding:2rem!important}.padding-bottom--xl,.padding-vert--xl{padding-bottom:5rem!important}.padding-top--xl,.padding-vert--xl{padding-top:5rem!important}.padding-horiz--xl,.padding-left--xl{padding-left:5rem!important}.padding-horiz--xl,.padding-right--xl{padding-right:5rem!important}.padding--xl{padding:5rem!important}code{background-color:var(--ifm-code-background);border:.1rem solid #0000001a;border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal)}a code{color:inherit}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace);padding:var(--ifm-pre-padding)}pre code{background-color:initial;border:none;font-size:100%;line-height:inherit;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);border-radius:.2rem;box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}img{max-width:100%}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:after,.markdown:before{content:"";display:table}.markdown:after{clear:both}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>p,.markdown>pre,.markdown>ul,.tabList__CuJ{margin-bottom:var(--ifm-leading)}.markdown li>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ol,ul{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}table{border-collapse:collapse;display:block;margin-bottom:var(--ifm-spacing-vertical)}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead,table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width) solid var(--ifm-table-border-color)}table td,table th{border:var(--ifm-table-border-width) solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}table td{color:var(--ifm-table-cell-color)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}a:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button:hover,.text--no-decoration,.text--no-decoration:hover,a:not([href]){text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width) solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);padding:var(--ifm-blockquote-padding-vertical) var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);border:0;height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical) 0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary,.wordWrapButtonEnabled_EoeP .wordWrapButtonIcon_Bwma{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.admonitionHeading_tbUL,.alert__heading,.playgroundHeader_qwyd,.text--uppercase{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--truncate{text-overflow:ellipsis;white-space:nowrap}.text--break{word-wrap:break-word!important;word-break:break-word!important}.clean-btn{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;padding:0}.alert,.alert .close{color:var(--ifm-alert-foreground-color)}.clean-list{padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:#3578e526;--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:#ebedf026;--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:#00a40026;--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:#54c7ec26;--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:#ffba0026;--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:#fa383e26;--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.alert__heading{align-items:center;display:flex;font:700 var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.5rem}.alert__icon{display:inline-flex;margin-right:.4em}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{margin:calc(var(--ifm-alert-padding-vertical)*-1) calc(var(--ifm-alert-padding-horizontal)*-1) 0 0;opacity:.75}.alert .close:focus,.alert .close:hover{opacity:1}.alert a{text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{border-radius:50%;display:block;height:var(--ifm-avatar-photo-size);width:var(--ifm-avatar-photo-size)}.card--full-height,.navbar__logo img,body,html{height:100%}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:var(--ifm-avatar-intro-alignment)}.badge,.breadcrumbs__item,.breadcrumbs__link,.button,.dropdown>.navbar__link:after{display:inline-block}.avatar__name{font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:0.5rem;align-items:center;flex-direction:column}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);line-height:1;padding:var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal)}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);color:var(--ifm-color-black)}.breadcrumbs__link,.button.button--secondary.button--outline:not(.button--active):not(:hover){color:var(--ifm-font-color-base)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator) center;content:" ";display:inline-block;filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier))}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier)) calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-duration:var(--ifm-transition-fast);transition-property:background,color}.breadcrumbs__link:any-link:hover,.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:0.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width) solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);line-height:1.5;padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier)) calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;transition-duration:var(--ifm-button-transition-duration);transition-property:color,background,border-color;user-select:none;white-space:nowrap}.button,.button:hover{color:var(--ifm-button-color)}.button--outline{--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--link{--ifm-button-border-color:#0000;color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}.button--link.button--active,.button--link:active,.button--link:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:0.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__body,.card__footer,.card__header{padding:var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing)}.card__body:not(:last-child),.card__footer:not(:last-child),.card__header:not(:last-child){padding-bottom:0}.card__body>:last-child,.card__footer>:last-child,.card__header>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{font-size:.8rem;margin-bottom:0;padding:var(--ifm-toc-padding-vertical) 0}.table-of-contents,.table-of-contents ul{list-style:none;padding-left:var(--ifm-toc-padding-horizontal)}.table-of-contents li{margin:var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link--active,.table-of-contents__link--active code,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:var(--ifm-color-primary);text-decoration:none}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);line-height:1;opacity:.5;padding:1rem;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.close:hover{opacity:.7}.close:focus,.theme-code-block-highlighted-line .codeLineNumber_Tfdd:before{opacity:.8}.dropdown{display:inline-flex;font-weight:var(--ifm-dropdown-font-weight);position:relative;vertical-align:top}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}#nprogress,.dropdown__menu,.navbar__item.dropdown .navbar__link:not([href]){pointer-events:none}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);left:0;max-height:80vh;min-width:10rem;opacity:0;overflow-y:auto;padding:.5rem;position:absolute;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);transform:translateY(-.625rem);transition-duration:var(--ifm-transition-fast);transition-property:opacity,transform,visibility;transition-timing-function:var(--ifm-transition-timing-default);visibility:hidden;z-index:var(--ifm-z-index-dropdown)}.menu__caret,.menu__link,.menu__list-item-collapsible{border-radius:.25rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.dropdown__link{border-radius:.25rem;color:var(--ifm-dropdown-link-color);display:block;font-size:.875rem;margin-top:.2rem;padding:.25rem .5rem;white-space:nowrap}.dropdown__link--active,.dropdown__link:hover{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color);text-decoration:none}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{border-color:currentcolor #0000;border-style:solid;border-width:.4em .4em 0;content:"";margin-left:.3em;position:relative;top:2px;transform:translateY(-50%)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical) var(--ifm-footer-padding-horizontal)}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white)}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__logo{margin-top:1rem;max-width:var(--ifm-footer-logo-max-width)}.footer__title{color:var(--ifm-footer-title-color);font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.menu,.navbar__link{font-weight:var(--ifm-font-weight-semibold)}.docItemContainer_Djhp article>:first-child,.docItemContainer_Djhp header+*,.footer__item{margin-top:0}.admonitionContent_S0QG>:last-child,.collapsibleContent_i85q>:last-child,.footer__items,.tabItem_Ymn6>:last-child{margin-bottom:0}.codeBlockStandalone_MEMb,[type=checkbox]{padding:0}.hero{align-items:center;background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);display:flex;padding:4rem 2rem}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu__list{margin:0;padding-left:0}.menu__caret,.menu__link{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu__list .menu__list{flex:0 0 100%;margin-top:.25rem;padding-left:var(--ifm-menu-link-padding-horizontal)}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.details_lb9f[data-collapsed=false].isBrowser_bmU9>summary:before,.details_lb9f[open]:not(.isBrowser_bmU9)>summary:before,.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after{transform:rotate(90deg)}.menu__list-item-collapsible{display:flex;flex-wrap:wrap;position:relative}.menu__caret:hover,.menu__link:hover,.menu__list-item-collapsible--active,.menu__list-item-collapsible:hover{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link--active,.menu__list-item-collapsible .menu__link:hover{background:none!important}.menu__caret,.menu__link{align-items:center;display:flex}.menu__link{color:var(--ifm-menu-color);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);text-decoration:none}.menu__caret:before,.menu__link--sublist-caret:after{height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem;content:"";filter:var(--ifm-menu-link-sublist-icon-filter)}.menu__link--sublist-caret:after{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem;margin-left:auto;min-width:1.25rem}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.navbar__brand,.navbar__link{color:var(--ifm-navbar-link-color)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret:before{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem}.navbar--dark,html[data-theme=dark]{--ifm-menu-link-sublist-icon-filter:invert(100%) sepia(94%) saturate(17%) hue-rotate(223deg) brightness(104%) contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar,.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{position:sticky;top:0;z-index:var(--ifm-z-index-fixed)}.navbar-sidebar,.navbar-sidebar__backdrop{bottom:0;opacity:0;position:fixed;transition-duration:var(--ifm-transition-fast);transition-timing-function:ease-in-out;left:0;top:0;visibility:hidden}.navbar__inner{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.navbar__brand{align-items:center;display:flex;margin-right:1rem;min-width:0}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.announcementBarContent_xLdY,.navbar__title{flex:1 1 auto}.navbar__toggle{display:none;margin-right:.5rem}.navbar__logo{flex:0 0 auto;height:2rem;margin-right:.5rem}.navbar__items{align-items:center;display:flex;flex:1;min-width:0}.navbar__items--center{flex:0 0 auto}.navbar__items--center .navbar__brand{margin:0}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:0 0 auto;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{display:inline-block;padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.navbar__link--active,.navbar__link:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:#ffffff1a;--ifm-navbar-search-input-placeholder-color:#ffffff80;color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:#ffffff0d;--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{appearance:none;background:var(--ifm-navbar-search-input-background-color) var(--ifm-navbar-search-input-icon) no-repeat .75rem center/1rem 1rem;border:none;border-radius:2rem;color:var(--ifm-navbar-search-input-color);cursor:text;display:inline-block;font-size:.9rem;height:2rem;padding:0 .5rem 0 2.25rem;width:12.5rem}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);transform:translate3d(-100%,0,0);transition-property:opacity,visibility,transform;width:var(--ifm-navbar-sidebar-width)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar__items{transform:translateZ(0)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar__backdrop{background-color:#0009;right:0;transition-property:opacity,visibility}.navbar-sidebar__brand{align-items:center;box-shadow:var(--ifm-navbar-shadow);display:flex;flex:1;height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.backToTopButton_sjWU,.codeBlockContainer_Ckt0,.playgroundContainer_TGbA{box-shadow:var(--ifm-global-shadow-lw)}.navbar-sidebar__items{display:flex;height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast) ease-in-out}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{flex-shrink:0;padding:.5rem;width:calc(var(--ifm-navbar-sidebar-width))}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;text-align:left;top:-.5rem;width:calc(100% + 1rem)}.navbar-sidebar__close{display:flex;margin-left:auto}.pagination{column-gap:var(--ifm-pagination-page-spacing);display:flex;font-size:var(--ifm-pagination-font-size);padding-left:0}.pagination--sm{--ifm-pagination-font-size:0.8rem;--ifm-pagination-padding-horizontal:0.8rem;--ifm-pagination-padding-vertical:0.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:0.3rem}.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{color:var(--ifm-pagination-color-active)}.pagination__item--active .pagination__link,.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);display:inline-block;padding:var(--ifm-pagination-padding-vertical) var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination__link:hover{text-decoration:none}.pagination-nav{grid-gap:var(--ifm-spacing-horizontal);display:grid;gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr)}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);display:block;height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover);text-decoration:none}.pagination-nav__link--next{grid-column:2/3;text-align:right}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"« "}.pagination-nav__link--next .pagination-nav__label:after{content:" »"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills__item,.tabs{font-weight:var(--ifm-font-weight-bold)}.pills{display:flex;gap:var(--ifm-pills-spacing);padding-left:0}.pills__item{border-radius:.5rem;cursor:pointer;display:inline-block;padding:.25rem 1rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs,:not(.containsTaskList_mC6p>li)>.containsTaskList_mC6p{padding-left:0}.pills__item--active{color:var(--ifm-pills-color-active)}.pills__item--active,.pills__item:not(.pills__item--active):hover{background:var(--ifm-pills-color-background-active)}.pills--block{justify-content:stretch}.pills--block .pills__item{flex-grow:1;text-align:center}.tabs{color:var(--ifm-tabs-color);display:flex;margin-bottom:0;overflow-x:auto}.tabs__item{border-bottom:3px solid #0000;border-radius:var(--ifm-global-radius);cursor:pointer;display:inline-flex;padding:var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal);transition:background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs__item--active{border-bottom-color:var(--ifm-tabs-color-active-border);border-bottom-left-radius:0;border-bottom-right-radius:0;color:var(--ifm-tabs-color-active)}.tabs__item:hover{background-color:var(--ifm-hover-overlay)}.tabs--block{justify-content:stretch}.tabs--block .tabs__item{flex-grow:1;justify-content:center}html[data-theme=dark]{--ifm-color-scheme:dark;--ifm-color-emphasis-0:var(--ifm-color-gray-1000);--ifm-color-emphasis-100:var(--ifm-color-gray-900);--ifm-color-emphasis-200:var(--ifm-color-gray-800);--ifm-color-emphasis-300:var(--ifm-color-gray-700);--ifm-color-emphasis-400:var(--ifm-color-gray-600);--ifm-color-emphasis-600:var(--ifm-color-gray-400);--ifm-color-emphasis-700:var(--ifm-color-gray-300);--ifm-color-emphasis-800:var(--ifm-color-gray-200);--ifm-color-emphasis-900:var(--ifm-color-gray-100);--ifm-color-emphasis-1000:var(--ifm-color-gray-0);--ifm-background-color:#1b1b1d;--ifm-background-surface-color:#242526;--ifm-hover-overlay:#ffffff0d;--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%) sepia(11%) saturate(0%) hue-rotate(149deg) brightness(99%) contrast(95%);--ifm-code-background:#ffffff1a;--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:#ffffff12;--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec}#nprogress .bar{background:var(--docusaurus-progress-bar-color);height:2px;left:0;position:fixed;top:0;width:100%;z-index:1031}#nprogress .peg{box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);height:100%;opacity:1;position:absolute;right:0;transform:rotate(3deg) translateY(-4px);width:100px}[data-theme=dark]{--docusaurus-highlighted-code-line-bg:#484d5b}.docusaurus-highlight-code-line{background-color:#484d5b;display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.footer__copyright{padding:0 var(--ifm-spacing-horizontal);text-align:left}.footer__links{margin:2rem 0}.button{border-radius:2em}.d-align-items--center{align-items:center;display:flex}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}#__docusaurus-base-url-issue-banner-container,.themedImage_ToTc,[data-theme=dark] .lightToggleIcon_pyhR,[data-theme=light] .darkToggleIcon_wfgR,html[data-announcement-bar-initially-dismissed=true] .announcementBar_mb4j{display:none}.skipToContent_fXgn{background-color:var(--ifm-background-surface-color);color:var(--ifm-color-emphasis-900);left:100%;padding:calc(var(--ifm-global-spacing)/2) var(--ifm-global-spacing);position:fixed;top:1rem;z-index:calc(var(--ifm-z-index-fixed) + 1)}.skipToContent_fXgn:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_CVFx{line-height:0;padding:0}.content_knG7{font-size:85%;padding:5px 0;text-align:center}.content_knG7 a{color:inherit;text-decoration:underline}.announcementBar_mb4j{align-items:center;background-color:var(--ifm-color-white);border-bottom:1px solid var(--ifm-color-emphasis-100);color:var(--ifm-color-black);display:flex;height:var(--docusaurus-announcement-bar-height)}.announcementBarPlaceholder_vyr4{flex:0 0 10px}.announcementBarClose_gvF7{align-self:stretch;flex:0 0 30px}.toggle_vylO{height:2rem;width:2rem}.toggleButton_gllP{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;transition:background var(--ifm-transition-fast);width:100%}.argsIconContainer_Xdwt,.argsInputField_gall{border:1px solid var(--ifm-color-emphasis-500)}.toggleButton_gllP:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_aARS{cursor:not-allowed}.darkNavbarColorModeToggle_X3D1:hover{background:var(--ifm-color-gray-800)}[data-theme=dark] .themedImage--dark_i4oU,[data-theme=light] .themedImage--light_HNdA,html:not([data-theme]) .themedComponent--light_NU7w{display:initial}.iconExternalLink_nPIU{margin-left:.3rem}.iconLanguage_nlXk{margin-right:5px;vertical-align:text-bottom}.navbarHideable_m1mJ{transition:transform var(--ifm-transition-fast) ease}.navbarHidden_jGov{transform:translate3d(0,calc(-100% - 2px),0)}.errorBoundaryError_a6uf{color:red;white-space:pre-wrap}.footerLogoLink_BH7S{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.footerLogoLink_BH7S:hover,.hash-link:focus,:hover>.hash-link{opacity:1}.mainWrapper_z2l0{display:flex;flex:1 0 auto;flex-direction:column}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}li,p{max-width:70ch}.runbox__boR{margin:10px}.headerContainer_pmZr{display:flex;flex-wrap:wrap;margin-left:10px;padding:10px}.argsInputContainer_Rz4y{display:flex;height:30px;margin-right:10px}.argsInputField_gall{background-color:var(--ifm-navbar-search-input-background-color);border-radius:4px 0 0 4px;color:var(--ifm-navbar-search-input-color);outline:0;padding:10px;width:300px}.argsIconContainer_Xdwt,.helperButton_MkF3{background-color:var(--ifm-navbar-search-input-background-color);color:var(--ifm-color-primary);text-align:center}html[data-theme=dark] .argsIconContainer_Xdwt,html[data-theme=dark] .argsInputField_gall,html[data-theme=dark] .helperButton_MkF3{border:1px solid var(--ifm-color-emphasis-100)}.argsIconContainer_Xdwt{border-left:none;border-radius:0 4px 4px 0;margin-left:0;min-width:50px;padding-top:4px}.argsIconContainer_Xdwt:hover,.helperButton_MkF3:hover{background-color:var(--ifm-color-primary);color:#fff;cursor:pointer}.helperButton_MkF3{border:1px solid var(--ifm-color-emphasis-500);border-radius:4px;font-size:var(--ifm-font-size-base);height:30px;margin-right:10px;padding:0 12px}.row_BFIh{display:flex;flex-direction:row;flex-wrap:wrap}.spinner_Wr6O{animation:1.5s linear infinite a}@keyframes a{to{transform:rotate(1turn)}}.iconEdit_Z9Sw{margin-right:.3em;vertical-align:sub}.tag_zVej{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag_zVej:hover{--docusaurus-tag-list-border:var(--ifm-link-color);text-decoration:none}.tagRegular_sFm0{border-radius:var(--ifm-global-radius);font-size:90%;padding:.2rem .5rem .3rem}.tagWithCount_h2kH{align-items:center;border-left:0;display:flex;padding:0 .5rem 0 1rem;position:relative}.tagWithCount_h2kH:after,.tagWithCount_h2kH:before{border:1px solid var(--docusaurus-tag-list-border);content:"";position:absolute;top:50%;transition:inherit}.playgroundContainer_TGbA,.tagWithCount_h2kH span,.tocCollapsible_ETCw{border-radius:var(--ifm-global-radius)}.tagWithCount_h2kH:before{border-bottom:0;border-right:0;height:1.18rem;right:100%;transform:translate(50%,-50%) rotate(-45deg);width:1.18rem}.tagWithCount_h2kH:after{border-radius:50%;height:.5rem;left:0;transform:translateY(-50%);width:.5rem}.tagWithCount_h2kH span{background:var(--ifm-color-secondary);color:var(--ifm-color-black);font-size:.7rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.tags_jXut{display:inline}.tag_QGVx{display:inline-block;margin:0 .4rem .5rem 0}.lastUpdated_vwxv{font-size:smaller;font-style:italic;margin-top:.2rem}.tocCollapsibleButton_TO0P{align-items:center;display:flex;font-size:inherit;justify-content:space-between;padding:.4rem .8rem;width:100%}.tocCollapsibleButton_TO0P:after{background:var(--ifm-menu-link-sublist-icon) 50% 50%/2rem 2rem no-repeat;content:"";filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast);width:1.25rem}.tocCollapsibleButtonExpanded_MG3E:after,.tocCollapsibleExpanded_sAul{transform:none}.tocCollapsible_ETCw{background-color:var(--ifm-menu-color-background-active);margin:1rem 0}.tocCollapsibleContent_vkbj>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);font-size:15px;padding:.2rem 0}.tocCollapsibleContent_vkbj ul li{margin:.4rem .8rem}.tocCollapsibleContent_vkbj a{display:block}.tableOfContents_bqdL{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.anchorWithStickyNavbar_LWe7{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_WYt5{scroll-margin-top:.5rem}.hash-link{opacity:0;padding-left:.5rem;transition:opacity var(--ifm-transition-fast);user-select:none}.hash-link:before{content:"#"}.playgroundContainer_TGbA{margin-bottom:var(--ifm-leading);overflow:hidden}.playgroundHeader_qwyd{background:var(--ifm-color-emphasis-200);color:var(--ifm-color-content);font-size:var(--ifm-code-font-size);font-weight:700;letter-spacing:.08rem;padding:.75rem}.playgroundHeader_qwyd:first-of-type{background:var(--ifm-color-emphasis-600);color:var(--ifm-color-content-inverse)}.playgroundEditor_PvJ1{direction:ltr;font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace)!important}.playgroundPreview_bb8I{background-color:var(--ifm-pre-background);padding:1rem}.browserWindow_my1Q{border:3px solid var(--ifm-color-emphasis-200);border-top-left-radius:var(--ifm-global-radius);border-top-right-radius:var(--ifm-global-radius)}.browserWindowHeader_jXSR{align-items:center;background:var(--ifm-color-emphasis-200);display:flex;padding:.5rem 1rem}.row_KZDM:after{clear:both;content:"";display:table}.buttons_uHc7{white-space:nowrap}.right_oyze{align-self:center;width:10%}.browserWindowAddressBar_Pd8y{background-color:#fff;border-radius:12.5px;color:#666;flex:1 0;font:400 13px Arial;margin:0 1rem 0 .5rem;padding:5px 15px;-webkit-user-select:none;user-select:none}.dot_giz1{background-color:#bbb;border-radius:50%;display:inline-block;height:12px;margin-right:6px;margin-top:4px;width:12px}.browserWindowMenuIcon_Vhuh{margin-left:auto}.bar_rrRL{background-color:#aaa;display:block;height:3px;margin:3px 0;width:17px}.buttonGroup__atx button,.codeBlockContainer_Ckt0{background:var(--prism-background-color);color:var(--prism-color)}.browserWindowBody_Idgs{padding:1rem}.codeBlockContainer_Ckt0{border-radius:var(--ifm-code-border-radius);margin-bottom:var(--ifm-leading)}.codeBlockContent_biex{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_Ktv7{border-bottom:1px solid var(--ifm-color-emphasis-300);border-top-left-radius:inherit;border-top-right-radius:inherit;font-size:var(--ifm-code-font-size);font-weight:500;padding:.75rem var(--ifm-pre-padding)}.codeBlock_bY9V{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle_Ktv7+.codeBlockContent_biex .codeBlock_bY9V{border-top-left-radius:0;border-top-right-radius:0}.codeBlockLines_e6Vv{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_o6Pm{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup__atx{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup__atx button{align-items:center;border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);display:flex;line-height:0;opacity:0;padding:.4rem;transition:opacity var(--ifm-transition-fast) ease-in-out}.buttonGroup__atx button:focus-visible,.buttonGroup__atx button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup__atx button{opacity:.4}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.codeLine_lJS_{counter-increment:a;display:table-row}.codeLineNumber_Tfdd{background:var(--ifm-pre-background);display:table-cell;left:0;overflow-wrap:normal;padding:0 var(--ifm-pre-padding);position:sticky;text-align:right;width:1%}.codeLineNumber_Tfdd:before{content:counter(a);opacity:.4}.codeLineContent_feaV{padding-right:var(--ifm-pre-padding)}.theme-code-block:hover .copyButtonCopied_obH4{opacity:1!important}.copyButtonIcons_eSgA{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_y97N,.copyButtonSuccessIcon_LjdS{fill:currentColor;height:inherit;left:0;opacity:inherit;position:absolute;top:0;transition:all var(--ifm-transition-fast) ease;width:inherit}.copyButtonSuccessIcon_LjdS{color:#00d600;left:50%;opacity:0;top:50%;transform:translate(-50%,-50%) scale(.33)}.copyButtonCopied_obH4 .copyButtonIcon_y97N{opacity:0;transform:scale(.33)}.copyButtonCopied_obH4 .copyButtonSuccessIcon_LjdS{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:75ms}.wordWrapButtonIcon_Bwma{height:1.2rem;width:1.2rem}.details_lb9f{--docusaurus-details-summary-arrow-size:0.38rem;--docusaurus-details-transition:transform 200ms ease;--docusaurus-details-decoration-color:grey}.details_lb9f>summary{cursor:pointer;padding-left:1rem;position:relative}.details_lb9f>summary::-webkit-details-marker{display:none}.details_lb9f>summary:before{border-color:#0000 #0000 #0000 var(--docusaurus-details-decoration-color);border-style:solid;border-width:var(--docusaurus-details-summary-arrow-size);content:"";left:0;position:absolute;top:.45rem;transform:rotate(0);transform-origin:calc(var(--docusaurus-details-summary-arrow-size)/2) 50%;transition:var(--docusaurus-details-transition)}.collapsibleContent_i85q{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.details_b_Ee{--docusaurus-details-decoration-color:var(--ifm-alert-border-color);--docusaurus-details-transition:transform var(--ifm-transition-fast) ease;border:1px solid var(--ifm-alert-border-color);margin:0 0 var(--ifm-spacing-vertical)}.img_ev3q{height:auto}.admonition_LlT9{margin-bottom:1em}.admonitionHeading_tbUL{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.3rem}.admonitionHeading_tbUL code{text-transform:none}.admonitionIcon_kALy{display:inline-block;margin-right:.4em;vertical-align:middle}.admonitionIcon_kALy svg{fill:var(--ifm-alert-foreground-color);display:inline-block;height:1.6em;width:1.6em}.breadcrumbHomeIcon_YNFT{height:1.1rem;position:relative;top:1px;vertical-align:top;width:1.1rem}.breadcrumbsContainer_Z_bl{--ifm-breadcrumb-size-multiplier:0.8;margin-bottom:.8rem}.tableOfContentsInline_prmo ul{font-size:medium;list-style-type:disc;padding-top:0}.backToTopButton_sjWU{background-color:var(--ifm-color-emphasis-200);border-radius:50%;bottom:1.3rem;height:3rem;opacity:0;position:fixed;right:1.3rem;transform:scale(0);transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default);visibility:hidden;width:3rem;z-index:calc(var(--ifm-z-index-fixed) - 1)}.backToTopButton_sjWU:after{background-color:var(--ifm-color-emphasis-1000);content:" ";display:inline-block;height:100%;-webkit-mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;width:100%}.backToTopButtonShow_xfvO{opacity:1;transform:scale(1);visibility:visible}[data-theme=dark]:root{--docusaurus-collapse-button-bg:#ffffff0d;--docusaurus-collapse-button-bg-hover:#ffffff1a}.collapseSidebarButton_PEFL{display:none;margin:0}.docSidebarContainer_b6E3,.sidebarLogo_isFc{display:none}.docMainContainer_gTbr,.docPage__5DB{display:flex;width:100%}.docPage__5DB{flex:1 0}.docsWrapper_BCFX{display:flex;flex:1 0 auto}@media (min-width:997px){.collapseSidebarButton_PEFL,.expandButton_m80_{background-color:var(--docusaurus-collapse-button-bg)}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_gvF7,.announcementBarPlaceholder_vyr4{flex-basis:50px}.searchBox_ZlJk{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.lastUpdated_vwxv{text-align:right}.tocMobile_ITEo{display:none}.docItemCol_VOVn{max-width:75%!important}.collapseSidebarButton_PEFL{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:sticky}.collapseSidebarButtonIcon_kv0_{margin-top:4px;transform:rotate(180deg)}.expandButtonIcon_BlDH,[dir=rtl] .collapseSidebarButtonIcon_kv0_{transform:rotate(0)}.collapseSidebarButton_PEFL:focus,.collapseSidebarButton_PEFL:hover,.expandButton_m80_:focus,.expandButton_m80_:hover{background-color:var(--docusaurus-collapse-button-bg-hover)}.menuHtmlItem_M9Kj{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu_SIkG{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_SIkG{padding:.5rem 0 .5rem .5rem;scrollbar-gutter:stable}}.menuWithAnnouncementBar_GW3s{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_njMd{display:flex;flex-direction:column;height:100%;padding-top:var(--ifm-navbar-height);width:var(--doc-sidebar-width)}.sidebarWithHideableNavbar_wUlq{padding-top:0}.sidebarHidden_VK0M{opacity:0;visibility:hidden}.sidebarLogo_isFc{align-items:center;color:inherit!important;display:flex!important;margin:0 var(--ifm-navbar-padding-horizontal);max-height:var(--ifm-navbar-height);min-height:var(--ifm-navbar-height);text-decoration:none!important}.sidebarLogo_isFc img{height:2rem;margin-right:.5rem}.expandButton_m80_{align-items:center;display:flex;height:100%;justify-content:center;position:absolute;right:0;top:0;transition:background-color var(--ifm-transition-fast) ease;width:100%}[dir=rtl] .expandButtonIcon_BlDH{transform:rotate(180deg)}.docSidebarContainer_b6E3{border-right:1px solid var(--ifm-toc-border-color);clip-path:inset(0);display:block;margin-top:calc(var(--ifm-navbar-height)*-1);transition:width var(--ifm-transition-fast) ease;width:var(--doc-sidebar-width);will-change:width}.docSidebarContainerHidden_b3ry{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_Xe31{height:100%;max-height:100vh;position:sticky;top:0}.docMainContainer_gTbr{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_Uz_u{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_czyv{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl)}}@media (max-width:996px){.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0}.colorModeToggle_DEke,.footer__link-separator,.navbar__item,.tableOfContents_bqdL{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item{display:block}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid{padding:0}.navbar__toggle{display:inherit}.navbar__search-input{width:9rem}.pills--block,.tabs--block{flex-direction:column}.searchBox_ZlJk{position:absolute;right:var(--ifm-navbar-padding-horizontal)}.docItemContainer_F8PC{padding:0 .3rem}}@media screen and (max-width:600px){.argsInputField_gall{width:100%}}@media (max-width:576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}}@media (hover:hover){.backToTopButton_sjWU:hover{background-color:var(--ifm-color-emphasis-300)}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media (prefers-reduced-motion:reduce){:root{--ifm-transition-fast:0ms;--ifm-transition-slow:0ms}}@media print{.announcementBar_mb4j,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_ITEo{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_e6Vv{white-space:pre-wrap}} \ No newline at end of file diff --git a/assets/files/LeastAuthorityReport-1a9f7b44c55b9cb77ba2c8f4bc4f2654.pdf b/assets/files/LeastAuthorityReport-1a9f7b44c55b9cb77ba2c8f4bc4f2654.pdf new file mode 100644 index 00000000..a9c0da6c Binary files /dev/null and b/assets/files/LeastAuthorityReport-1a9f7b44c55b9cb77ba2c8f4bc4f2654.pdf differ diff --git a/assets/js/01743682.0b39ae12.js b/assets/js/01743682.0b39ae12.js new file mode 100644 index 00000000..fa9e2e25 --- /dev/null +++ b/assets/js/01743682.0b39ae12.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkbeacon_docs=self.webpackChunkbeacon_docs||[]).push([[2402],{3905:(e,r,t)=>{t.d(r,{Zo:()=>s,kt:()=>d});var n=t(67294);function o(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function a(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function c(e){for(var r=1;r=0||(o[t]=e[t]);return o}(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var i=n.createContext({}),p=function(e){var r=n.useContext(i),t=r;return e&&(t="function"==typeof e?e(r):c(c({},r),e)),t},s=function(e){var r=p(e.components);return n.createElement(i.Provider,{value:r},e.children)},u="mdxType",f={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},m=n.forwardRef((function(e,r){var t=e.components,o=e.mdxType,a=e.originalType,i=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),u=p(t),m=o,d=u["".concat(i,".").concat(m)]||u[m]||f[m]||a;return t?n.createElement(d,c(c({ref:r},s),{},{components:t})):n.createElement(d,c({ref:r},s))}));function d(e,r){var t=arguments,o=r&&r.mdxType;if("string"==typeof e||o){var a=t.length,c=new Array(a);c[0]=m;var l={};for(var i in r)hasOwnProperty.call(r,i)&&(l[i]=r[i]);l.originalType=e,l[u]="string"==typeof e?e:o,c[1]=l;for(var p=2;p{t.r(r),t.d(r,{assets:()=>i,contentTitle:()=>c,default:()=>f,frontMatter:()=>a,metadata:()=>l,toc:()=>p});var n=t(87462),o=(t(67294),t(3905));const a={},c=void 0,l={unversionedId:"wallet/errors",id:"wallet/errors",title:"errors",description:"",source:"@site/docs/wallet/errors.mdx",sourceDirName:"wallet",slug:"/wallet/errors",permalink:"/wallet/errors",draft:!1,editUrl:"https://github.com/airgap-it/beacon-docs/edit/main/src/docs/wallet/errors.mdx",tags:[],version:"current",frontMatter:{}},i={},p=[],s={toc:p},u="wrapper";function f(e){let{components:r,...t}=e;return(0,o.kt)(u,(0,n.Z)({},s,t,{components:r,mdxType:"MDXLayout"}))}f.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/07cb15f8.0c7a8554.js b/assets/js/07cb15f8.0c7a8554.js new file mode 100644 index 00000000..7b58854a --- /dev/null +++ b/assets/js/07cb15f8.0c7a8554.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkbeacon_docs=self.webpackChunkbeacon_docs||[]).push([[2469],{83769:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/0b185270.24c33871.js b/assets/js/0b185270.24c33871.js new file mode 100644 index 00000000..e3a3f4f6 --- /dev/null +++ b/assets/js/0b185270.24c33871.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkbeacon_docs=self.webpackChunkbeacon_docs||[]).push([[4885],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>d});var n=r(67294);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 c(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){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var p=n.createContext({}),l=function(e){var t=n.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(p.Provider,{value:t},e.children)},s="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,c=e.originalType,p=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),s=l(r),m=o,d=s["".concat(p,".").concat(m)]||s[m]||f[m]||c;return r?n.createElement(d,a(a({ref:t},u),{},{components:r})):n.createElement(d,a({ref:t},u))}));function d(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var c=r.length,a=new Array(c);a[0]=m;var i={};for(var p in t)hasOwnProperty.call(t,p)&&(i[p]=t[p]);i.originalType=e,i[s]="string"==typeof e?e:o,a[1]=i;for(var l=2;l{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>a,default:()=>f,frontMatter:()=>c,metadata:()=>i,toc:()=>l});var n=r(87462),o=(r(67294),r(3905));const c={title:"FAQ"},a=void 0,i={unversionedId:"FAQ",id:"FAQ",title:"FAQ",description:"",source:"@site/docs/FAQ.mdx",sourceDirName:".",slug:"/FAQ",permalink:"/FAQ",draft:!1,editUrl:"https://github.com/airgap-it/beacon-docs/edit/main/src/docs/FAQ.mdx",tags:[],version:"current",frontMatter:{title:"FAQ"}},p={},l=[],u={toc:l},s="wrapper";function f(e){let{components:t,...r}=e;return(0,o.kt)(s,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}))}f.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/0ce74438.cc013a44.js b/assets/js/0ce74438.cc013a44.js new file mode 100644 index 00000000..f13bc613 --- /dev/null +++ b/assets/js/0ce74438.cc013a44.js @@ -0,0 +1 @@ +(self.webpackChunkbeacon_docs=self.webpackChunkbeacon_docs||[]).push([[6342],{44433:(e,n,r)=>{"use strict";r.d(n,{Z:()=>p});var t=r(87462),o=r(67294),a=r(92949);const s=[{name:"@airgap/beacon-blockchain-substrate/types/messages/permission-request.d.ts",dts:"import { AppMetadata, PermissionRequestV3 } from '@airgap/beacon-types';\nimport { SubstratePermissionScope } from '../permission-scope';\nexport interface SubstratePermissionRequest extends PermissionRequestV3<'substrate'> {\n blockchainData: {\n scopes: SubstratePermissionScope[];\n appMetadata: AppMetadata;\n network?: {\n genesisHash: string;\n rpc?: string;\n }[];\n };\n}\n"},{name:"@airgap/beacon-blockchain-substrate/types/messages/permission-response.d.ts",dts:"import { AppMetadata, PermissionResponseV3 } from '@airgap/beacon-types';\nimport { SubstratePermissionScope } from '../permission-scope';\nexport interface SubstratePermissionResponse extends PermissionResponseV3<'substrate'> {\n blockchainData: {\n appMetadata: AppMetadata;\n scopes: SubstratePermissionScope[];\n accounts: {\n accountId: string;\n network?: {\n genesisHash: string;\n rpc?: string;\n };\n publicKey: string;\n address: string;\n }[];\n };\n}\n"},{name:"@airgap/beacon-blockchain-substrate/types/messages/sign-payload-request.d.ts",dts:"import { BlockchainMessage } from '@airgap/beacon-types';\nimport { SubstrateMessageType } from '../message-type';\nimport { SubstratePermissionScope } from '../permission-scope';\nexport interface SubstrateSignPayloadRequest extends BlockchainMessage<'substrate'> {\n blockchainData: {\n type: SubstrateMessageType.sign_payload_request;\n scope: SubstratePermissionScope.sign_payload_json | SubstratePermissionScope.sign_payload_json;\n payload: {\n type: 'json';\n /**\n * @description The checkpoint hash of the block, in hex\n */\n blockHash: string;\n /**\n * @description The checkpoint block number, in hex\n */\n blockNumber: string;\n /**\n * @description The era for this transaction, in hex\n */\n era: string;\n /**\n * @description The genesis hash of the chain, in hex\n */\n genesisHash: string;\n /**\n * @description The encoded method (with arguments) in hex\n */\n method: string;\n /**\n * @description The nonce for this transaction, in hex\n */\n nonce: string;\n /**\n * @description The current spec version for the runtime\n */\n specVersion: string;\n /**\n * @description The tip for this transaction, in hex\n */\n tip: string;\n /**\n * @description The current transaction version for the runtime\n */\n transactionVersion: string;\n /**\n * @description The applicable signed extensions for this runtime\n */\n signedExtensions: string[];\n /**\n * @description The version of the extrinsic we are dealing with\n */\n version: number;\n } | {\n type: 'raw';\n isMutable: boolean;\n dataType: 'bytes' | 'payload';\n data: string;\n };\n mode: 'submit' | 'submit-and-return' | 'return';\n };\n}\n"},{name:"@airgap/beacon-blockchain-substrate/types/messages/sign-payload-response.d.ts",dts:"export declare type SubstrateSignPayloadResponse = {\n transactionHash: string;\n} | {\n transactionHash: string;\n signature: string;\n payload?: string;\n} | {\n signature: string;\n payload?: string;\n};\n"},{name:"@airgap/beacon-blockchain-substrate/types/messages/transfer-request.d.ts",dts:"import { BlockchainMessage } from '@airgap/beacon-types';\nimport { SubstrateMessageType } from '../message-type';\nimport { SubstratePermissionScope } from '../permission-scope';\nexport interface SubstrateTransferRequest extends BlockchainMessage<'substrate'> {\n blockchainData: {\n type: SubstrateMessageType.transfer_request;\n scope: SubstratePermissionScope.transfer;\n sourceAddress: string;\n amount: string;\n recipient: string;\n network: {\n genesisHash: string;\n rpc?: string;\n };\n mode: 'submit' | 'submit-and-return' | 'return';\n };\n}\n"},{name:"@airgap/beacon-blockchain-substrate/types/messages/transfer-response.d.ts",dts:"export declare type SubstrateTransferResponse = {\n transactionHash: string;\n} | {\n transactionHash: string;\n signature: string;\n payload?: string;\n} | {\n signature: string;\n payload?: string;\n};\n"},{name:"@airgap/beacon-blockchain-substrate/types/message-type.d.ts",dts:"export declare enum SubstrateMessageType {\n 'transfer_request' = \"transfer_request\",\n 'sign_payload_request' = \"sign_payload_request\"\n}\n"},{name:"@airgap/beacon-blockchain-substrate/types/permission-scope.d.ts",dts:"export declare enum SubstratePermissionScope {\n 'transfer' = \"transfer\",\n 'sign_payload_json' = \"sign_payload_json\",\n 'sign_payload_raw' = \"sign_payload_raw\"\n}\n"},{name:"@airgap/beacon-blockchain-substrate/ui/alert/alert-templates.d.ts",dts:"export declare const alertTemplates: {\n default: {\n css: string;\n };\n pair: {\n css: string;\n };\n};\n"},{name:"@airgap/beacon-blockchain-substrate/ui/alert/wallet-lists.d.ts",dts:"import { App, DesktopApp, ExtensionApp, WebApp } from '@airgap/beacon-types';\nexport declare const extensionList: ExtensionApp[];\nexport declare const desktopList: DesktopApp[];\nexport declare const webList: WebApp[];\nexport declare const iOSList: App[];\n"},{name:"@airgap/beacon-blockchain-substrate/ui/toast/toast-templates.d.ts",dts:"export declare const toastTemplates: {\n default: {\n css: string;\n };\n};\n"},{name:"@airgap/beacon-blockchain-substrate/util/is-kusama-message.d.ts",dts:""},{name:"@airgap/beacon-blockchain-substrate/blockchain.d.ts",dts:"import { Blockchain, BlockchainMessage, ResponseInput, ExtensionApp, DesktopApp, WebApp, App } from '@airgap/beacon-types';\nimport { SubstratePermissionResponse } from './types/messages/permission-response';\nexport declare class SubstrateBlockchain implements Blockchain {\n readonly identifier: string;\n validateRequest(input: BlockchainMessage): Promise;\n handleResponse(input: ResponseInput): Promise;\n getWalletLists(): Promise<{\n extensionList: ExtensionApp[];\n desktopList: DesktopApp[];\n webList: WebApp[];\n iOSList: App[];\n }>;\n getAccountInfosFromPermissionResponse(permissionResponse: SubstratePermissionResponse): Promise<{\n accountId: string;\n address: string;\n publicKey: string;\n }[]>;\n}\n"},{name:"@airgap/beacon-blockchain-substrate/index.d.ts",dts:"export { SubstrateBlockchain } from './blockchain';\nexport * from './types/message-type';\nexport * from './types/permission-scope';\nexport * from './types/messages/permission-request';\nexport * from './types/messages/permission-response';\nexport * from './types/messages/sign-payload-request';\nexport * from './types/messages/sign-payload-response';\nexport * from './types/messages/transfer-request';\nexport * from './types/messages/transfer-response';\n"},{name:"@airgap/beacon-blockchain-substrate/dist/esm/types/messages/permission-request.d.ts",dts:"import { AppMetadata, PermissionRequestV3 } from '@airgap/beacon-types';\nimport { SubstratePermissionScope } from '../permission-scope';\nexport interface SubstratePermissionRequest extends PermissionRequestV3<'substrate'> {\n blockchainData: {\n scopes: SubstratePermissionScope[];\n appMetadata: AppMetadata;\n network?: {\n genesisHash: string;\n rpc?: string;\n }[];\n };\n}\n"},{name:"@airgap/beacon-blockchain-substrate/dist/esm/types/messages/permission-response.d.ts",dts:"import { AppMetadata, PermissionResponseV3 } from '@airgap/beacon-types';\nimport { SubstratePermissionScope } from '../permission-scope';\nexport interface SubstratePermissionResponse extends PermissionResponseV3<'substrate'> {\n blockchainData: {\n appMetadata: AppMetadata;\n scopes: SubstratePermissionScope[];\n accounts: {\n accountId: string;\n network?: {\n genesisHash: string;\n rpc?: string;\n };\n publicKey: string;\n address: string;\n }[];\n };\n}\n"},{name:"@airgap/beacon-blockchain-substrate/dist/esm/types/messages/sign-payload-request.d.ts",dts:"import { BlockchainMessage } from '@airgap/beacon-types';\nimport { SubstrateMessageType } from '../message-type';\nimport { SubstratePermissionScope } from '../permission-scope';\nexport interface SubstrateSignPayloadRequest extends BlockchainMessage<'substrate'> {\n blockchainData: {\n type: SubstrateMessageType.sign_payload_request;\n scope: SubstratePermissionScope.sign_payload_json | SubstratePermissionScope.sign_payload_json;\n payload: {\n type: 'json';\n /**\n * @description The checkpoint hash of the block, in hex\n */\n blockHash: string;\n /**\n * @description The checkpoint block number, in hex\n */\n blockNumber: string;\n /**\n * @description The era for this transaction, in hex\n */\n era: string;\n /**\n * @description The genesis hash of the chain, in hex\n */\n genesisHash: string;\n /**\n * @description The encoded method (with arguments) in hex\n */\n method: string;\n /**\n * @description The nonce for this transaction, in hex\n */\n nonce: string;\n /**\n * @description The current spec version for the runtime\n */\n specVersion: string;\n /**\n * @description The tip for this transaction, in hex\n */\n tip: string;\n /**\n * @description The current transaction version for the runtime\n */\n transactionVersion: string;\n /**\n * @description The applicable signed extensions for this runtime\n */\n signedExtensions: string[];\n /**\n * @description The version of the extrinsic we are dealing with\n */\n version: number;\n } | {\n type: 'raw';\n isMutable: boolean;\n dataType: 'bytes' | 'payload';\n data: string;\n };\n mode: 'submit' | 'submit-and-return' | 'return';\n };\n}\n"},{name:"@airgap/beacon-blockchain-substrate/dist/esm/types/messages/sign-payload-response.d.ts",dts:"export declare type SubstrateSignPayloadResponse = {\n transactionHash: string;\n} | {\n transactionHash: string;\n signature: string;\n payload?: string;\n} | {\n signature: string;\n payload?: string;\n};\n"},{name:"@airgap/beacon-blockchain-substrate/dist/esm/types/messages/transfer-request.d.ts",dts:"import { BlockchainMessage } from '@airgap/beacon-types';\nimport { SubstrateMessageType } from '../message-type';\nimport { SubstratePermissionScope } from '../permission-scope';\nexport interface SubstrateTransferRequest extends BlockchainMessage<'substrate'> {\n blockchainData: {\n type: SubstrateMessageType.transfer_request;\n scope: SubstratePermissionScope.transfer;\n sourceAddress: string;\n amount: string;\n recipient: string;\n network: {\n genesisHash: string;\n rpc?: string;\n };\n mode: 'submit' | 'submit-and-return' | 'return';\n };\n}\n"},{name:"@airgap/beacon-blockchain-substrate/dist/esm/types/messages/transfer-response.d.ts",dts:"export declare type SubstrateTransferResponse = {\n transactionHash: string;\n} | {\n transactionHash: string;\n signature: string;\n payload?: string;\n} | {\n signature: string;\n payload?: string;\n};\n"},{name:"@airgap/beacon-blockchain-substrate/dist/esm/types/message-type.d.ts",dts:"export declare enum SubstrateMessageType {\n 'transfer_request' = \"transfer_request\",\n 'sign_payload_request' = \"sign_payload_request\"\n}\n"},{name:"@airgap/beacon-blockchain-substrate/dist/esm/types/permission-scope.d.ts",dts:"export declare enum SubstratePermissionScope {\n 'transfer' = \"transfer\",\n 'sign_payload_json' = \"sign_payload_json\",\n 'sign_payload_raw' = \"sign_payload_raw\"\n}\n"},{name:"@airgap/beacon-blockchain-substrate/dist/esm/ui/alert/alert-templates.d.ts",dts:"export declare const alertTemplates: {\n default: {\n css: string;\n };\n pair: {\n css: string;\n };\n};\n"},{name:"@airgap/beacon-blockchain-substrate/dist/esm/ui/alert/wallet-lists.d.ts",dts:"import { App, DesktopApp, ExtensionApp, WebApp } from '@airgap/beacon-types';\nexport declare const extensionList: ExtensionApp[];\nexport declare const desktopList: DesktopApp[];\nexport declare const webList: WebApp[];\nexport declare const iOSList: App[];\n"},{name:"@airgap/beacon-blockchain-substrate/dist/esm/ui/toast/toast-templates.d.ts",dts:"export declare const toastTemplates: {\n default: {\n css: string;\n };\n};\n"},{name:"@airgap/beacon-blockchain-substrate/dist/esm/util/is-kusama-message.d.ts",dts:""},{name:"@airgap/beacon-blockchain-substrate/dist/esm/blockchain.d.ts",dts:"import { Blockchain, BlockchainMessage, ResponseInput, ExtensionApp, DesktopApp, WebApp, App } from '@airgap/beacon-types';\nimport { SubstratePermissionResponse } from './types/messages/permission-response';\nexport declare class SubstrateBlockchain implements Blockchain {\n readonly identifier: string;\n validateRequest(input: BlockchainMessage): Promise;\n handleResponse(input: ResponseInput): Promise;\n getWalletLists(): Promise<{\n extensionList: ExtensionApp[];\n desktopList: DesktopApp[];\n webList: WebApp[];\n iOSList: App[];\n }>;\n getAccountInfosFromPermissionResponse(permissionResponse: SubstratePermissionResponse): Promise<{\n accountId: string;\n address: string;\n publicKey: string;\n }[]>;\n}\n"},{name:"@airgap/beacon-blockchain-substrate/dist/esm/index.d.ts",dts:"export { SubstrateBlockchain } from './blockchain';\nexport * from './types/message-type';\nexport * from './types/permission-scope';\nexport * from './types/messages/permission-request';\nexport * from './types/messages/permission-response';\nexport * from './types/messages/sign-payload-request';\nexport * from './types/messages/sign-payload-response';\nexport * from './types/messages/transfer-request';\nexport * from './types/messages/transfer-response';\n"},{name:"@airgap/beacon-blockchain-tezos/ui/alert/alert-templates.d.ts",dts:"export declare const alertTemplates: {\n default: {\n css: string;\n };\n pair: {\n css: string;\n };\n};\n"},{name:"@airgap/beacon-blockchain-tezos/ui/alert/wallet-lists.d.ts",dts:"import { App, DesktopApp, ExtensionApp, WebApp } from '@airgap/beacon-types';\nexport declare const extensionList: ExtensionApp[];\nexport declare const desktopList: DesktopApp[];\nexport declare const webList: WebApp[];\nexport declare const iOSList: App[];\n"},{name:"@airgap/beacon-blockchain-tezos/ui/toast/toast-templates.d.ts",dts:"export declare const toastTemplates: {\n default: {\n css: string;\n };\n};\n"},{name:"@airgap/beacon-blockchain-tezos/blockchain.d.ts",dts:"import { Blockchain, BlockchainMessage, PermissionResponseV3, ResponseInput, App, DesktopApp, ExtensionApp, WebApp } from '@airgap/beacon-types';\nexport declare class TezosBlockchain implements Blockchain {\n readonly identifier: string;\n validateRequest(input: BlockchainMessage): Promise;\n handleResponse(input: ResponseInput): Promise;\n getWalletLists(): Promise<{\n extensionList: ExtensionApp[];\n desktopList: DesktopApp[];\n webList: WebApp[];\n iOSList: App[];\n }>;\n getAccountInfosFromPermissionResponse(_permissionResponse: PermissionResponseV3<'tezos'>): Promise<{\n accountId: string;\n address: string;\n publicKey: string;\n }[]>;\n}\n"},{name:"@airgap/beacon-blockchain-tezos/index.d.ts",dts:"export { TezosBlockchain } from './blockchain';\n"},{name:"@airgap/beacon-blockchain-tezos/dist/esm/ui/alert/alert-templates.d.ts",dts:"export declare const alertTemplates: {\n default: {\n css: string;\n };\n pair: {\n css: string;\n };\n};\n"},{name:"@airgap/beacon-blockchain-tezos/dist/esm/ui/alert/wallet-lists.d.ts",dts:"import { App, DesktopApp, ExtensionApp, WebApp } from '@airgap/beacon-types';\nexport declare const extensionList: ExtensionApp[];\nexport declare const desktopList: DesktopApp[];\nexport declare const webList: WebApp[];\nexport declare const iOSList: App[];\n"},{name:"@airgap/beacon-blockchain-tezos/dist/esm/ui/toast/toast-templates.d.ts",dts:"export declare const toastTemplates: {\n default: {\n css: string;\n };\n};\n"},{name:"@airgap/beacon-blockchain-tezos/dist/esm/blockchain.d.ts",dts:"import { Blockchain, BlockchainMessage, PermissionResponseV3, ResponseInput, App, DesktopApp, ExtensionApp, WebApp } from '@airgap/beacon-types';\nexport declare class TezosBlockchain implements Blockchain {\n readonly identifier: string;\n validateRequest(input: BlockchainMessage): Promise;\n handleResponse(input: ResponseInput): Promise;\n getWalletLists(): Promise<{\n extensionList: ExtensionApp[];\n desktopList: DesktopApp[];\n webList: WebApp[];\n iOSList: App[];\n }>;\n getAccountInfosFromPermissionResponse(_permissionResponse: PermissionResponseV3<'tezos'>): Promise<{\n accountId: string;\n address: string;\n publicKey: string;\n }[]>;\n}\n"},{name:"@airgap/beacon-blockchain-tezos/dist/esm/index.d.ts",dts:"export { TezosBlockchain } from './blockchain';\n"},{name:"@airgap/beacon-core/clients/beacon-client/BeaconClient.d.ts",dts:"import { ExposedPromise } from '@airgap/beacon-utils';\nimport { AnalyticsInterface, Storage } from '@airgap/beacon-types';\nimport { BeaconClientOptions } from './BeaconClientOptions';\nimport { KeyPair } from '@stablelib/ed25519';\n/**\n * @internalapi\n *\n * The beacon client is an abstract client that handles everything that is shared between all other clients.\n * Specifically, it handles managing the beaconId and and the local keypair.\n */\nexport declare abstract class BeaconClient {\n /**\n * The name of the client\n */\n readonly name: string;\n /**\n * The URL of the dApp Icon. This can be used to display the icon of the dApp on in the wallet\n */\n readonly iconUrl?: string;\n /**\n * The URL of the dApp.\n */\n readonly appUrl?: string;\n /** The beaconId is a public key that is used to identify one specific application (dapp or wallet).\n * This is used inside a message to specify the sender, for example.\n */\n protected _beaconId: ExposedPromise;\n get beaconId(): Promise;\n protected storage: Storage;\n protected analytics: AnalyticsInterface;\n /**\n * The local keypair that is used for the communication encryption\n */\n protected _keyPair: ExposedPromise;\n protected get keyPair(): Promise;\n constructor(config: BeaconClientOptions);\n /**\n * This resets the SDK. After using this method, this instance is no longer usable. You will have to instanciate a new client.\n */\n destroy(): Promise;\n /**\n * This method initializes the SDK by setting some values in the storage and generating a keypair.\n */\n private initSDK;\n /**\n * Removes all beacon values from the storage.\n */\n private removeBeaconEntriesFromStorage;\n /**\n * This method tries to load the seed from storage, if it doesn't exist, a new one will be created and persisted.\n */\n private loadOrCreateBeaconSecret;\n}\n"},{name:"@airgap/beacon-core/clients/beacon-client/BeaconClientOptions.d.ts",dts:"import { AnalyticsInterface, Storage } from '@airgap/beacon-types';\n/**\n * @internalapi\n */\nexport interface BeaconClientOptions {\n /**\n * Name of the application\n */\n name: string;\n /**\n * A URL to the icon of the application\n */\n iconUrl?: string;\n /**\n * A URL to the website of the application\n */\n appUrl?: string;\n /**\n * The storage that will be used by the SDK\n */\n storage: Storage;\n /**\n * The analytics instance that will be used by the SDK\n */\n analytics?: AnalyticsInterface;\n}\n"},{name:"@airgap/beacon-core/clients/client/Client.d.ts",dts:"import { ExposedPromise } from '@airgap/beacon-utils';\nimport { ConnectionContext, TransportType, TransportStatus, BeaconBaseMessage, AccountInfo, PeerInfo, AppMetadata, BeaconRequestMessage, BeaconMessageWrapper, NodeDistributions } from '@airgap/beacon-types';\nimport { Transport } from '../..';\nimport { BeaconClient } from '../beacon-client/BeaconClient';\nimport { AccountManager } from '../../managers/AccountManager';\nimport { ClientOptions } from './ClientOptions';\n/**\n * @internalapi\n *\n * This abstract class handles the a big part of the logic that is shared between the dapp and wallet client.\n * For example, it selects and manages the transport and accounts.\n */\nexport declare abstract class Client extends BeaconClient {\n protected readonly accountManager: AccountManager;\n protected handleResponse: (_event: BeaconRequestMessage | BeaconMessageWrapper, connectionInfo: ConnectionContext) => void;\n /**\n * How many requests can be sent after another\n */\n protected readonly rateLimit: number;\n /**\n * The time window in seconds in which the \"rateLimit\" is checked\n */\n protected readonly rateLimitWindowInSeconds: number;\n /**\n * Stores the times when requests have been made to determine if the rate limit has been reached\n */\n protected requestCounter: number[];\n protected readonly matrixNodes: NodeDistributions;\n protected _transport: ExposedPromise>;\n protected get transport(): Promise>;\n /**\n * Returns the connection status of the Client\n */\n get connectionStatus(): TransportStatus;\n /**\n * Returns whether or not the transaport is ready\n */\n get ready(): Promise;\n constructor(config: ClientOptions);\n /**\n * Return all locally known accounts\n */\n getAccounts(): Promise;\n /**\n * Return the account by ID\n * @param accountIdentifier The ID of an account\n */\n getAccount(accountIdentifier: string): Promise;\n /**\n * Remove the account by ID\n * @param accountIdentifier The ID of an account\n */\n removeAccount(accountIdentifier: string): Promise;\n /**\n * Remove all locally stored accounts\n */\n removeAllAccounts(): Promise;\n /**\n * Add a new request (current timestamp) to the pending requests, remove old ones and check if we are above the limit\n */\n addRequestAndCheckIfRateLimited(): Promise;\n /**\n * This method initializes the client. It will check if the connection should be established to a\n * browser extension or if the P2P transport should be used.\n *\n * @param transport A transport that can be provided by the user\n */\n init(transport: Transport): Promise;\n /**\n * Returns the metadata of this DApp\n */\n getOwnAppMetadata(): Promise;\n /**\n * Return all known peers\n */\n getPeers(): Promise;\n /**\n * Add a new peer to the known peers\n * @param peer The new peer to add\n */\n addPeer(peer: PeerInfo): Promise;\n destroy(): Promise;\n /**\n * A \"setter\" for when the transport needs to be changed.\n */\n protected setTransport(transport?: Transport): Promise;\n protected addListener(transport: Transport): Promise;\n protected sendDisconnectToPeer(peer: PeerInfo, transport?: Transport): Promise;\n}\n"},{name:"@airgap/beacon-core/clients/client/ClientOptions.d.ts",dts:"import { Storage, NodeDistributions } from '@airgap/beacon-types';\n/**\n * @internalapi\n */\nexport interface ClientOptions {\n /**\n * Name of the application\n */\n name: string;\n /**\n * A URL to the icon of the application\n */\n iconUrl?: string;\n /**\n * A URL to the website of the application\n */\n appUrl?: string;\n /**\n * The storage that will be used by the SDK\n */\n storage: Storage;\n /**\n * Disable all default Events and UI elements. If passed together with \"eventHandlers\",\n * the default eventHandlers will be removed, and the ones passed by the user will be added.\n */\n disableDefaultEvents?: boolean;\n /**\n * A list of matrix nodes to connect to. If a non-empty array is passed, the default options will be overwritten.\n * One node will be randomly selected based on the local keypair and the other nodes will be used as a fallback in case the primary node goes down.\n *\n * Only provide the hostname, no https:// prefix. Eg. { [Regions.EU1]: ['matrix.example.com'] }\n */\n matrixNodes?: NodeDistributions;\n}\n"},{name:"@airgap/beacon-core/errors/AbortedBeaconError.d.ts",dts:"import { BeaconError } from '..';\n/**\n * @category Error\n */\nexport declare class AbortedBeaconError extends BeaconError {\n name: string;\n title: string;\n constructor();\n}\n"},{name:"@airgap/beacon-core/errors/BeaconError.d.ts",dts:"import { BeaconErrorType } from '@airgap/beacon-types';\n/**\n * @category Error\n */\nexport declare abstract class BeaconError implements Error {\n name: string;\n message: string;\n title: string;\n description: string;\n get fullDescription(): {\n description: string;\n data?: string;\n };\n constructor(errorType: BeaconErrorType, message: string);\n static getError(errorType: BeaconErrorType, errorData: unknown): BeaconError;\n}\n"},{name:"@airgap/beacon-core/errors/BroadcastBeaconError.d.ts",dts:"import { BeaconError } from '..';\n/**\n * @category Error\n */\nexport declare class BroadcastBeaconError extends BeaconError {\n name: string;\n title: string;\n constructor();\n}\n"},{name:"@airgap/beacon-core/errors/EncryptionTypeNotSupportedBeaconError.d.ts",dts:"/**\n * @category Error\n */\n"},{name:"@airgap/beacon-core/errors/NetworkNotSupportedBeaconError.d.ts",dts:"import { BeaconError } from '..';\n/**\n * @category Error\n */\nexport declare class NetworkNotSupportedBeaconError extends BeaconError {\n name: string;\n title: string;\n constructor();\n}\n"},{name:"@airgap/beacon-core/errors/NoAddressBeaconError.d.ts",dts:"import { BeaconError } from '..';\n/**\n * @category Error\n */\nexport declare class NoAddressBeaconError extends BeaconError {\n name: string;\n title: string;\n constructor();\n}\n"},{name:"@airgap/beacon-core/errors/NoPrivateKeyBeaconError.d.ts",dts:"import { BeaconError } from '..';\n/**\n * @category Error\n */\nexport declare class NoPrivateKeyBeaconError extends BeaconError {\n name: string;\n title: string;\n constructor();\n}\n"},{name:"@airgap/beacon-core/errors/NotGrantedBeaconError.d.ts",dts:"import { BeaconError } from '..';\n/**\n * @category Error\n */\nexport declare class NotGrantedBeaconError extends BeaconError {\n name: string;\n title: string;\n constructor();\n}\n"},{name:"@airgap/beacon-core/errors/ParametersInvalidBeaconError.d.ts",dts:"import { BeaconError } from '..';\n/**\n * @category Error\n */\nexport declare class ParametersInvalidBeaconError extends BeaconError {\n name: string;\n title: string;\n constructor();\n}\n"},{name:"@airgap/beacon-core/errors/SignatureTypeNotSupportedBeaconError.d.ts",dts:"import { BeaconError } from '..';\n/**\n * @category Error\n */\nexport declare class SignatureTypeNotSupportedBeaconError extends BeaconError {\n name: string;\n title: string;\n constructor();\n}\n"},{name:"@airgap/beacon-core/errors/TooManyOperationsBeaconError.d.ts",dts:"import { BeaconError } from '..';\n/**\n * @category Error\n */\nexport declare class TooManyOperationsBeaconError extends BeaconError {\n name: string;\n title: string;\n constructor();\n}\n"},{name:"@airgap/beacon-core/errors/TransactionInvalidBeaconError.d.ts",dts:"import { BeaconError } from '..';\n/**\n * @category Error\n */\nexport declare class TransactionInvalidBeaconError extends BeaconError {\n readonly data: unknown;\n name: string;\n title: string;\n get fullDescription(): {\n description: string;\n data?: string;\n };\n constructor(data: unknown);\n}\n"},{name:"@airgap/beacon-core/errors/UnknownBeaconError.d.ts",dts:"import { BeaconError } from '..';\n/**\n * @category Error\n */\nexport declare class UnknownBeaconError extends BeaconError {\n name: string;\n title: string;\n constructor();\n}\n"},{name:"@airgap/beacon-core/managers/AccountManager.d.ts",dts:"import { Storage, AccountInfo, BeaconMessage } from '@airgap/beacon-types';\n/**\n * @internalapi\n *\n * The AccountManager provides CRUD functionality for account entities and persists them to the provided storage.\n */\nexport declare class AccountManager {\n private readonly storageManager;\n constructor(storage: Storage);\n getAccounts(): Promise;\n getAccount(accountIdentifier: string): Promise;\n addAccount(accountInfo: AccountInfo): Promise;\n removeAccount(accountIdentifier: string): Promise;\n removeAccounts(accountIdentifiers: string[]): Promise;\n removeAllAccounts(): Promise;\n hasPermission(message: BeaconMessage): Promise;\n}\n"},{name:"@airgap/beacon-core/managers/AppMetadataManager.d.ts",dts:"import { Storage, AppMetadata } from '@airgap/beacon-types';\n/**\n * @internalapi\n *\n * The AppMetadataManager provides CRUD functionality for app-metadata entities and persists them to the provided storage.\n */\nexport declare class AppMetadataManager {\n private readonly storageManager;\n constructor(storage: Storage);\n getAppMetadataList(): Promise;\n getAppMetadata(senderId: string): Promise;\n addAppMetadata(appMetadata: AppMetadata): Promise;\n removeAppMetadata(senderId: string): Promise;\n removeAppMetadatas(senderIds: string[]): Promise;\n removeAllAppMetadata(): Promise;\n}\n"},{name:"@airgap/beacon-core/managers/PeerManager.d.ts",dts:"import { Storage, StorageKey, StorageKeyReturnType } from '@airgap/beacon-types';\nimport { ArrayElem } from './StorageManager';\n/**\n * @internalapi\n *\n * The PeerManager provides CRUD functionality for peer entities and persists them to the provided storage.\n */\nexport declare class PeerManager {\n private readonly storageManager;\n constructor(storage: Storage, key: T);\n hasPeer(publicKey: string): Promise;\n getPeers(): Promise;\n getPeer(publicKey: string): Promise | undefined>;\n addPeer(peerInfo: ArrayElem): Promise;\n removePeer(publicKey: string): Promise;\n removePeers(publicKeys: string[]): Promise;\n removeAllPeers(): Promise;\n}\n"},{name:"@airgap/beacon-core/managers/PermissionManager.d.ts",dts:"import { BeaconMessage, Storage, PermissionInfo } from '@airgap/beacon-types';\n/**\n * @internalapi\n *\n * The PermissionManager provides CRUD functionality for permission entities and persists them to the provided storage.\n */\nexport declare class PermissionManager {\n private readonly storageManager;\n constructor(storage: Storage);\n getPermissions(): Promise;\n getPermission(accountIdentifier: string): Promise;\n addPermission(permissionInfo: PermissionInfo): Promise;\n removePermission(accountIdentifier: string): Promise;\n removePermissions(accountIdentifiers: string[]): Promise;\n removeAllPermissions(): Promise;\n hasPermission(message: BeaconMessage): Promise;\n}\n"},{name:"@airgap/beacon-core/managers/PermissionValidator.d.ts",dts:"import { BeaconMessage, PermissionEntity } from '@airgap/beacon-types';\n/**\n * @internalapi\n *\n * The PermissionValidator is used to check if permissions for a certain message type have been given\n */\nexport declare class PermissionValidator {\n /**\n * Check if permissions were given for a certain message type.\n *\n * PermissionRequest and BroadcastRequest will always return true.\n *\n * @param message Beacon Message\n */\n static hasPermission(message: BeaconMessage, getOne: (id: string) => Promise, getAll: () => Promise): Promise;\n}\n"},{name:"@airgap/beacon-core/managers/StorageManager.d.ts",dts:"import { StorageKey, Storage, StorageKeyReturnType } from '@airgap/beacon-types';\n/** Type workaround for https://github.com/Microsoft/TypeScript/issues/7294#issuecomment-465794460 */\nexport declare type ArrayElem = A extends (infer Elem)[] ? Elem : never;\n/**\n * @internalapi\n *\n * The StorageManager provides CRUD functionality for specific entities and persists them to the provided storage.\n */\nexport declare class StorageManager {\n private readonly storage;\n private readonly storageKey;\n constructor(storage: Storage, storageKey: T);\n getAll(): Promise;\n getOne(predicate: (element: ArrayElem) => boolean): Promise | undefined>;\n addOne(element: ArrayElem, predicate: (element: ArrayElem) => boolean, overwrite?: boolean): Promise;\n remove(predicate: (element: ArrayElem) => boolean): Promise;\n removeAll(): Promise;\n}\n"},{name:"@airgap/beacon-core/migrations/migrate-0.7.0.d.ts",dts:"import { PermissionScope, AccountIdentifier, Origin, Network } from '@airgap/beacon-types';\nexport interface AccountInfoOld {\n accountIdentifier: AccountIdentifier;\n beaconId: string;\n origin: {\n type: Origin;\n id: string;\n };\n address: string;\n pubkey: string;\n network: Network;\n scopes: PermissionScope[];\n connectedAt: Date;\n}\nexport interface P2PPairingRequestOld {\n name: string;\n pubKey: string;\n relayServer: string;\n}\nexport declare const migrate_0_7_0: (storage: Storage) => Promise;\n"},{name:"@airgap/beacon-core/migrations/migrations.d.ts",dts:"import { Storage } from '@airgap/beacon-types';\nexport declare const migrate: (storage: Storage) => Promise;\n"},{name:"@airgap/beacon-core/storage/ChromeStorage.d.ts",dts:"import { Storage, StorageKey, StorageKeyReturnType } from '@airgap/beacon-types';\n/**\n * @internalapi\n *\n * A storage that can be used in chrome extensions\n */\nexport declare class ChromeStorage implements Storage {\n static isSupported(): Promise;\n get(key: K): Promise;\n set(key: K, value: StorageKeyReturnType[K]): Promise;\n delete(key: K): Promise;\n}\n"},{name:"@airgap/beacon-core/storage/LocalStorage.d.ts",dts:"import { Storage, StorageKey, StorageKeyReturnType } from '@airgap/beacon-types';\n/**\n * @internalapi\n *\n * A storage that can be used in the browser\n */\nexport declare class LocalStorage implements Storage {\n private readonly prefix?;\n constructor(prefix?: string | undefined);\n static isSupported(): Promise;\n get(key: K): Promise;\n set(key: K, value: StorageKeyReturnType[K]): Promise;\n delete(key: K): Promise;\n private getPrefixedKey;\n}\n"},{name:"@airgap/beacon-core/storage/getStorage.d.ts",dts:"import { Storage } from '@airgap/beacon-types';\n/**\n * Get a supported storage on this platform\n */\nexport declare const getStorage: () => Promise;\n"},{name:"@airgap/beacon-core/transports/clients/ClientEvents.d.ts",dts:'export declare const enum ClientEvents {\n CLOSE_ALERT = "CLOSE_ALERT",\n RESET_STATE = "RESET_STATE"\n}\n'},{name:"@airgap/beacon-core/transports/clients/CommunicationClient.d.ts",dts:"import { P2PPairingRequest, ExtendedP2PPairingResponse, PostMessagePairingRequest, ExtendedPostMessagePairingResponse, WalletConnectPairingRequest, ExtendedWalletConnectPairingResponse } from '@airgap/beacon-types';\nimport { KeyPair } from '@stablelib/ed25519';\nimport { SessionKeys } from '@stablelib/x25519-session';\nimport { ClientEvents } from './ClientEvents';\n/**\n * @internalapi\n *\n *\n */\nexport declare abstract class CommunicationClient {\n protected readonly keyPair?: KeyPair | undefined;\n constructor(keyPair?: KeyPair | undefined);\n eventHandlers: Map;\n /**\n * Get the public key\n */\n getPublicKey(): Promise;\n /**\n * get the public key hash\n */\n getPublicKeyHash(): Promise;\n /**\n * Create a cryptobox server\n *\n * @param otherPublicKey\n * @param selfKeypair\n */\n protected createCryptoBoxServer(otherPublicKey: string, selfKeypair: KeyPair): Promise;\n /**\n * Create a cryptobox client\n *\n * @param otherPublicKey\n * @param selfKeypair\n */\n protected createCryptoBoxClient(otherPublicKey: string, selfKeypair: KeyPair): Promise;\n /**\n * Encrypt a message for a specific publicKey (receiver, asymmetric)\n *\n * @param recipientPublicKey\n * @param message\n */\n protected encryptMessageAsymmetric(recipientPublicKey: string, message: string): Promise;\n abstract unsubscribeFromEncryptedMessages(): Promise;\n abstract unsubscribeFromEncryptedMessage(senderPublicKey: string): Promise;\n abstract sendMessage(message: string, peer?: P2PPairingRequest | ExtendedP2PPairingResponse | PostMessagePairingRequest | ExtendedPostMessagePairingResponse | WalletConnectPairingRequest | ExtendedWalletConnectPairingResponse): Promise;\n}\n"},{name:"@airgap/beacon-core/transports/clients/MessageBasedClient.d.ts",dts:"import { CommunicationClient } from './CommunicationClient';\nimport { PostMessagePairingRequest, PostMessagePairingResponse } from '@airgap/beacon-types';\nimport { KeyPair } from '@stablelib/ed25519';\n/**\n * @internalapi\n *\n *\n */\nexport declare abstract class MessageBasedClient extends CommunicationClient {\n protected readonly name: string;\n /**\n * The listeners that will be notified of new messages\n */\n protected abstract readonly activeListeners: Map;\n constructor(name: string, keyPair: KeyPair);\n /**\n * start the client and make sure all dependencies are ready\n */\n start(): Promise;\n /**\n * Get the pairing request information. This will be shared with the peer during the connection setup\n */\n getPairingRequestInfo(): Promise;\n /**\n * Get the pairing response information. This will be shared with the peer during the connection setup\n */\n getPairingResponseInfo(request: PostMessagePairingRequest): Promise;\n /**\n * Unsubscribe from encrypted messages from a specific peer\n *\n * @param senderPublicKey\n */\n unsubscribeFromEncryptedMessage(senderPublicKey: string): Promise;\n /**\n * Unsubscribe from all encrypted messages\n */\n unsubscribeFromEncryptedMessages(): Promise;\n /**\n * Decrypt a message from a specific peer\n *\n * @param senderPublicKey\n * @param payload\n */\n protected decryptMessage(senderPublicKey: string, payload: string): Promise;\n /**\n * Encrypt a message for a specific publicKey (receiver)\n *\n * @param recipientPublicKey\n * @param message\n */\n protected encryptMessage(recipientPublicKey: string, message: string): Promise;\n /**\n * Initialize the connection\n */\n abstract init(): Promise;\n}\n"},{name:"@airgap/beacon-core/transports/Transport.d.ts",dts:"import { TransportType, TransportStatus, PeerInfo, StorageKey, ConnectionContext } from '@airgap/beacon-types';\nimport { PeerManager } from '../managers/PeerManager';\nimport { CommunicationClient } from './clients/CommunicationClient';\nimport { ClientEvents } from './clients/ClientEvents';\n/**\n * @internalapi\n *\n *\n */\nexport declare abstract class Transport {\n /**\n * The type of the transport\n */\n readonly type: TransportType;\n /**\n * The name of the app\n */\n protected readonly name: string;\n /**\n * The status of the transport\n */\n protected _isConnected: TransportStatus;\n protected readonly peerManager: PeerManager;\n /**\n * The client handling the encryption/decryption of messages\n */\n protected client: S;\n /**\n * The listener that will be invoked when a new peer is connected\n */\n protected newPeerListener?: (peer: T) => void;\n setEventHandler(event: ClientEvents, fun: Function): void;\n /**\n * The listeners that will be notified when new messages are coming in\n */\n private listeners;\n /**\n * Return the status of the connection\n */\n get connectionStatus(): TransportStatus;\n constructor(name: string, client: S, peerManager: PeerManager);\n /**\n * Returns a promise that resolves to true if the transport is available, false if it is not\n */\n static isAvailable(): Promise;\n /**\n * Connect the transport\n */\n connect(): Promise;\n /**\n * Disconnect the transport\n */\n disconnect(): Promise;\n /**\n * Send a message through the transport\n *\n * @param message The message to send\n * @param recipient The recipient of the message\n */\n send(message: string, peer?: PeerInfo): Promise;\n /**\n * Add a listener to be called when a new message is received\n *\n * @param listener The listener that will be registered\n */\n addListener(listener: (message: unknown, connectionInfo: ConnectionContext) => void): Promise;\n /**\n * Remove a listener\n *\n * @param listener\n */\n removeListener(listener: (message: string, connectionInfo: ConnectionContext) => void): Promise;\n getPeers(): Promise;\n addPeer(newPeer: T, _sendPairingResponse?: boolean): Promise;\n removePeer(peerToBeRemoved: T): Promise;\n removeAllPeers(): Promise;\n /**\n * Notify the listeners when a new message comes in\n *\n * @param message Message\n * @param connectionInfo Context info about the connection\n */\n protected notifyListeners(message: unknown, connectionInfo: ConnectionContext): Promise;\n abstract listen(publicKey: string): Promise;\n}\n"},{name:"@airgap/beacon-core/utils/Logger.d.ts",dts:"export interface LoggerInterface {\n debug(method: string, ...args: any[]): void;\n log(method: string, ...args: any[]): void;\n warn(method: string, ...args: any[]): void;\n error(method: string, ...args: any[]): void;\n time(start: boolean, label?: string): void;\n timeLog(method: string, ...args: any[]): void;\n}\n/**\n * The logger that is used internally\n */\nexport declare class InternalLogger implements LoggerInterface {\n constructor();\n debug(name: string, method: string, ...args: any[]): void;\n log(name: string, method: string, ...args: any[]): void;\n warn(name: string, method: string, ...args: any[]): void;\n error(name: string, method: string, ...args: any[]): void;\n time(start: boolean, label?: string | undefined): void;\n timeLog(name: string, method: string, ...args: any[]): void;\n private _log;\n}\nexport declare class Logger implements LoggerInterface {\n private readonly name;\n constructor(service: string);\n debug(method: string, ...args: any[]): void;\n log(method: string, ...args: any[]): void;\n warn(method: string, ...args: any[]): void;\n error(method: string, ...args: any[]): void;\n time(start: boolean, label?: string | undefined): void;\n timeLog(method: string, ...args: any[]): void;\n}\nexport declare const setLogger: (newLogger: LoggerInterface) => void;\nexport declare const getLogger: () => LoggerInterface;\n"},{name:"@airgap/beacon-core/utils/assert-never.d.ts",dts:"/**\n * A helper function to make sure if/elses and switch/cases are exhaustive\n *\n * @param empty The data that has to be empty\n */\nexport declare function assertNever(empty: never): never;\n"},{name:"@airgap/beacon-core/utils/get-account-identifier.d.ts",dts:"import { Network } from '@airgap/beacon-types';\n/**\n * @internalapi\n *\n * Generate a deterministic account identifier based on an address and a network\n *\n * @param address\n * @param network\n */\nexport declare const getAccountIdentifier: (address: string, network: Network) => Promise;\n"},{name:"@airgap/beacon-core/utils/get-sender-id.d.ts",dts:"/**\n * @internalapi\n *\n * Generate a deterministic sender identifier based on a public key\n *\n * @param publicKey\n */\nexport declare const getSenderId: (publicKey: string) => Promise;\n"},{name:"@airgap/beacon-core/MockAnalytics.d.ts",dts:"import { AnalyticsInterface } from '@airgap/beacon-types';\nexport declare class MockAnalytics implements AnalyticsInterface {\n track(_trigger: 'click' | 'event', _section: string, _label: string, _data?: Record): void;\n}\n"},{name:"@airgap/beacon-core/MockWindow.d.ts",dts:"declare type Callback = (message: unknown) => void;\n/**\n * A mock for postmessage if run in node.js environment\n */\ndeclare let windowRef: {\n postMessage: (message: string | Record, _target?: string) => void;\n addEventListener: (_name: string, eventCallback: Callback) => void;\n removeEventListener: (_name: string, eventCallback: Callback) => void;\n location: {\n origin: string;\n };\n};\ndeclare const clearMockWindowState: () => void;\nexport { windowRef, clearMockWindowState };\n"},{name:"@airgap/beacon-core/Serializer.d.ts",dts:"/**\n * @internalapi\n *\n * The Serializer is used to serialize / deserialize JSON objects and encode them with bs58check\n */\nexport declare class Serializer {\n /**\n * Serialize and bs58check encode an object\n *\n * @param message JSON object to serialize\n */\n serialize(message: unknown): Promise;\n /**\n * Deserialize a bs58check encoded string\n *\n * @param encoded String to be deserialized\n */\n deserialize(encoded: string): Promise;\n}\n"},{name:"@airgap/beacon-core/constants.d.ts",dts:"export declare const SDK_VERSION: string;\nexport declare const BEACON_VERSION: string;\nexport declare const NOTIFICATION_ORACLE_URL: string;\n"},{name:"@airgap/beacon-core/debug.d.ts",dts:"export declare const setDebugEnabled: (enabled: boolean) => void;\nexport declare const getDebugEnabled: () => boolean;\n"},{name:"@airgap/beacon-core/index.d.ts",dts:"/**\n * General docs\n * @module public\n */\nimport { Client } from './clients/client/Client';\nimport { BeaconError } from './errors/BeaconError';\nimport { BroadcastBeaconError } from './errors/BroadcastBeaconError';\nimport { NetworkNotSupportedBeaconError } from './errors/NetworkNotSupportedBeaconError';\nimport { NoAddressBeaconError } from './errors/NoAddressBeaconError';\nimport { NoPrivateKeyBeaconError } from './errors/NoPrivateKeyBeaconError';\nimport { NotGrantedBeaconError } from './errors/NotGrantedBeaconError';\nimport { ParametersInvalidBeaconError } from './errors/ParametersInvalidBeaconError';\nimport { TooManyOperationsBeaconError } from './errors/TooManyOperationsBeaconError';\nimport { TransactionInvalidBeaconError } from './errors/TransactionInvalidBeaconError';\nimport { UnknownBeaconError } from './errors/UnknownBeaconError';\nimport { Transport } from './transports/Transport';\nimport { ChromeStorage } from './storage/ChromeStorage';\nimport { LocalStorage } from './storage/LocalStorage';\nimport { getStorage } from './storage/getStorage';\nimport { Serializer } from './Serializer';\nimport { ClientOptions } from './clients/client/ClientOptions';\nimport { SDK_VERSION, BEACON_VERSION } from './constants';\nimport { AccountManager } from './managers/AccountManager';\nimport { AppMetadataManager } from './managers/AppMetadataManager';\nimport { PermissionManager } from './managers/PermissionManager';\nimport { BeaconClient } from './clients/beacon-client/BeaconClient';\nimport { BeaconClientOptions } from './clients/beacon-client/BeaconClientOptions';\nimport { getAccountIdentifier } from './utils/get-account-identifier';\nimport { AbortedBeaconError } from './errors/AbortedBeaconError';\nimport { getSenderId } from './utils/get-sender-id';\nimport { PeerManager } from './managers/PeerManager';\nimport { MessageBasedClient } from './transports/clients/MessageBasedClient';\nimport { setDebugEnabled, getDebugEnabled } from './debug';\nimport { SignatureTypeNotSupportedBeaconError } from './errors/SignatureTypeNotSupportedBeaconError';\nimport { getLogger, Logger, setLogger } from './utils/Logger';\nimport { windowRef } from './MockWindow';\nimport { CommunicationClient } from './transports/clients/CommunicationClient';\nimport { ClientEvents } from './transports/clients/ClientEvents';\nexport { BeaconClient, BeaconClientOptions, Client, ClientOptions, ClientEvents };\nexport { BeaconError, AbortedBeaconError, BroadcastBeaconError, NetworkNotSupportedBeaconError, NoAddressBeaconError, NoPrivateKeyBeaconError, NotGrantedBeaconError, ParametersInvalidBeaconError, TooManyOperationsBeaconError, TransactionInvalidBeaconError, SignatureTypeNotSupportedBeaconError, UnknownBeaconError };\nexport { Transport, MessageBasedClient, CommunicationClient };\nexport { ChromeStorage, LocalStorage, getStorage };\nexport { PeerManager, AccountManager, AppMetadataManager, PermissionManager };\nexport { SDK_VERSION, BEACON_VERSION };\nexport { getSenderId, getAccountIdentifier, windowRef };\nexport { Serializer, Logger, setLogger, getLogger };\nexport { setDebugEnabled, getDebugEnabled };\nexport { NOTIFICATION_ORACLE_URL } from './constants';\n"},{name:"@airgap/beacon-core/dist/esm/clients/beacon-client/BeaconClient.d.ts",dts:"import { ExposedPromise } from '@airgap/beacon-utils';\nimport { AnalyticsInterface, Storage } from '@airgap/beacon-types';\nimport { BeaconClientOptions } from './BeaconClientOptions';\nimport { KeyPair } from '@stablelib/ed25519';\n/**\n * @internalapi\n *\n * The beacon client is an abstract client that handles everything that is shared between all other clients.\n * Specifically, it handles managing the beaconId and and the local keypair.\n */\nexport declare abstract class BeaconClient {\n /**\n * The name of the client\n */\n readonly name: string;\n /**\n * The URL of the dApp Icon. This can be used to display the icon of the dApp on in the wallet\n */\n readonly iconUrl?: string;\n /**\n * The URL of the dApp.\n */\n readonly appUrl?: string;\n /** The beaconId is a public key that is used to identify one specific application (dapp or wallet).\n * This is used inside a message to specify the sender, for example.\n */\n protected _beaconId: ExposedPromise;\n get beaconId(): Promise;\n protected storage: Storage;\n protected analytics: AnalyticsInterface;\n /**\n * The local keypair that is used for the communication encryption\n */\n protected _keyPair: ExposedPromise;\n protected get keyPair(): Promise;\n constructor(config: BeaconClientOptions);\n /**\n * This resets the SDK. After using this method, this instance is no longer usable. You will have to instanciate a new client.\n */\n destroy(): Promise;\n /**\n * This method initializes the SDK by setting some values in the storage and generating a keypair.\n */\n private initSDK;\n /**\n * Removes all beacon values from the storage.\n */\n private removeBeaconEntriesFromStorage;\n /**\n * This method tries to load the seed from storage, if it doesn't exist, a new one will be created and persisted.\n */\n private loadOrCreateBeaconSecret;\n}\n"},{name:"@airgap/beacon-core/dist/esm/clients/beacon-client/BeaconClientOptions.d.ts",dts:"import { AnalyticsInterface, Storage } from '@airgap/beacon-types';\n/**\n * @internalapi\n */\nexport interface BeaconClientOptions {\n /**\n * Name of the application\n */\n name: string;\n /**\n * A URL to the icon of the application\n */\n iconUrl?: string;\n /**\n * A URL to the website of the application\n */\n appUrl?: string;\n /**\n * The storage that will be used by the SDK\n */\n storage: Storage;\n /**\n * The analytics instance that will be used by the SDK\n */\n analytics?: AnalyticsInterface;\n}\n"},{name:"@airgap/beacon-core/dist/esm/clients/client/Client.d.ts",dts:"import { ExposedPromise } from '@airgap/beacon-utils';\nimport { ConnectionContext, TransportType, TransportStatus, BeaconBaseMessage, AccountInfo, PeerInfo, AppMetadata, BeaconRequestMessage, BeaconMessageWrapper, NodeDistributions } from '@airgap/beacon-types';\nimport { Transport } from '../..';\nimport { BeaconClient } from '../beacon-client/BeaconClient';\nimport { AccountManager } from '../../managers/AccountManager';\nimport { ClientOptions } from './ClientOptions';\n/**\n * @internalapi\n *\n * This abstract class handles the a big part of the logic that is shared between the dapp and wallet client.\n * For example, it selects and manages the transport and accounts.\n */\nexport declare abstract class Client extends BeaconClient {\n protected readonly accountManager: AccountManager;\n protected handleResponse: (_event: BeaconRequestMessage | BeaconMessageWrapper, connectionInfo: ConnectionContext) => void;\n /**\n * How many requests can be sent after another\n */\n protected readonly rateLimit: number;\n /**\n * The time window in seconds in which the \"rateLimit\" is checked\n */\n protected readonly rateLimitWindowInSeconds: number;\n /**\n * Stores the times when requests have been made to determine if the rate limit has been reached\n */\n protected requestCounter: number[];\n protected readonly matrixNodes: NodeDistributions;\n protected _transport: ExposedPromise>;\n protected get transport(): Promise>;\n /**\n * Returns the connection status of the Client\n */\n get connectionStatus(): TransportStatus;\n /**\n * Returns whether or not the transaport is ready\n */\n get ready(): Promise;\n constructor(config: ClientOptions);\n /**\n * Return all locally known accounts\n */\n getAccounts(): Promise;\n /**\n * Return the account by ID\n * @param accountIdentifier The ID of an account\n */\n getAccount(accountIdentifier: string): Promise;\n /**\n * Remove the account by ID\n * @param accountIdentifier The ID of an account\n */\n removeAccount(accountIdentifier: string): Promise;\n /**\n * Remove all locally stored accounts\n */\n removeAllAccounts(): Promise;\n /**\n * Add a new request (current timestamp) to the pending requests, remove old ones and check if we are above the limit\n */\n addRequestAndCheckIfRateLimited(): Promise;\n /**\n * This method initializes the client. It will check if the connection should be established to a\n * browser extension or if the P2P transport should be used.\n *\n * @param transport A transport that can be provided by the user\n */\n init(transport: Transport): Promise;\n /**\n * Returns the metadata of this DApp\n */\n getOwnAppMetadata(): Promise;\n /**\n * Return all known peers\n */\n getPeers(): Promise;\n /**\n * Add a new peer to the known peers\n * @param peer The new peer to add\n */\n addPeer(peer: PeerInfo): Promise;\n destroy(): Promise;\n /**\n * A \"setter\" for when the transport needs to be changed.\n */\n protected setTransport(transport?: Transport): Promise;\n protected addListener(transport: Transport): Promise;\n protected sendDisconnectToPeer(peer: PeerInfo, transport?: Transport): Promise;\n}\n"},{name:"@airgap/beacon-core/dist/esm/clients/client/ClientOptions.d.ts",dts:"import { Storage, NodeDistributions } from '@airgap/beacon-types';\n/**\n * @internalapi\n */\nexport interface ClientOptions {\n /**\n * Name of the application\n */\n name: string;\n /**\n * A URL to the icon of the application\n */\n iconUrl?: string;\n /**\n * A URL to the website of the application\n */\n appUrl?: string;\n /**\n * The storage that will be used by the SDK\n */\n storage: Storage;\n /**\n * Disable all default Events and UI elements. If passed together with \"eventHandlers\",\n * the default eventHandlers will be removed, and the ones passed by the user will be added.\n */\n disableDefaultEvents?: boolean;\n /**\n * A list of matrix nodes to connect to. If a non-empty array is passed, the default options will be overwritten.\n * One node will be randomly selected based on the local keypair and the other nodes will be used as a fallback in case the primary node goes down.\n *\n * Only provide the hostname, no https:// prefix. Eg. { [Regions.EU1]: ['matrix.example.com'] }\n */\n matrixNodes?: NodeDistributions;\n}\n"},{name:"@airgap/beacon-core/dist/esm/errors/AbortedBeaconError.d.ts",dts:"import { BeaconError } from '..';\n/**\n * @category Error\n */\nexport declare class AbortedBeaconError extends BeaconError {\n name: string;\n title: string;\n constructor();\n}\n"},{name:"@airgap/beacon-core/dist/esm/errors/BeaconError.d.ts",dts:"import { BeaconErrorType } from '@airgap/beacon-types';\n/**\n * @category Error\n */\nexport declare abstract class BeaconError implements Error {\n name: string;\n message: string;\n title: string;\n description: string;\n get fullDescription(): {\n description: string;\n data?: string;\n };\n constructor(errorType: BeaconErrorType, message: string);\n static getError(errorType: BeaconErrorType, errorData: unknown): BeaconError;\n}\n"},{name:"@airgap/beacon-core/dist/esm/errors/BroadcastBeaconError.d.ts",dts:"import { BeaconError } from '..';\n/**\n * @category Error\n */\nexport declare class BroadcastBeaconError extends BeaconError {\n name: string;\n title: string;\n constructor();\n}\n"},{name:"@airgap/beacon-core/dist/esm/errors/EncryptionTypeNotSupportedBeaconError.d.ts",dts:"/**\n * @category Error\n */\n"},{name:"@airgap/beacon-core/dist/esm/errors/NetworkNotSupportedBeaconError.d.ts",dts:"import { BeaconError } from '..';\n/**\n * @category Error\n */\nexport declare class NetworkNotSupportedBeaconError extends BeaconError {\n name: string;\n title: string;\n constructor();\n}\n"},{name:"@airgap/beacon-core/dist/esm/errors/NoAddressBeaconError.d.ts",dts:"import { BeaconError } from '..';\n/**\n * @category Error\n */\nexport declare class NoAddressBeaconError extends BeaconError {\n name: string;\n title: string;\n constructor();\n}\n"},{name:"@airgap/beacon-core/dist/esm/errors/NoPrivateKeyBeaconError.d.ts",dts:"import { BeaconError } from '..';\n/**\n * @category Error\n */\nexport declare class NoPrivateKeyBeaconError extends BeaconError {\n name: string;\n title: string;\n constructor();\n}\n"},{name:"@airgap/beacon-core/dist/esm/errors/NotGrantedBeaconError.d.ts",dts:"import { BeaconError } from '..';\n/**\n * @category Error\n */\nexport declare class NotGrantedBeaconError extends BeaconError {\n name: string;\n title: string;\n constructor();\n}\n"},{name:"@airgap/beacon-core/dist/esm/errors/ParametersInvalidBeaconError.d.ts",dts:"import { BeaconError } from '..';\n/**\n * @category Error\n */\nexport declare class ParametersInvalidBeaconError extends BeaconError {\n name: string;\n title: string;\n constructor();\n}\n"},{name:"@airgap/beacon-core/dist/esm/errors/SignatureTypeNotSupportedBeaconError.d.ts",dts:"import { BeaconError } from '..';\n/**\n * @category Error\n */\nexport declare class SignatureTypeNotSupportedBeaconError extends BeaconError {\n name: string;\n title: string;\n constructor();\n}\n"},{name:"@airgap/beacon-core/dist/esm/errors/TooManyOperationsBeaconError.d.ts",dts:"import { BeaconError } from '..';\n/**\n * @category Error\n */\nexport declare class TooManyOperationsBeaconError extends BeaconError {\n name: string;\n title: string;\n constructor();\n}\n"},{name:"@airgap/beacon-core/dist/esm/errors/TransactionInvalidBeaconError.d.ts",dts:"import { BeaconError } from '..';\n/**\n * @category Error\n */\nexport declare class TransactionInvalidBeaconError extends BeaconError {\n readonly data: unknown;\n name: string;\n title: string;\n get fullDescription(): {\n description: string;\n data?: string;\n };\n constructor(data: unknown);\n}\n"},{name:"@airgap/beacon-core/dist/esm/errors/UnknownBeaconError.d.ts",dts:"import { BeaconError } from '..';\n/**\n * @category Error\n */\nexport declare class UnknownBeaconError extends BeaconError {\n name: string;\n title: string;\n constructor();\n}\n"},{name:"@airgap/beacon-core/dist/esm/managers/AccountManager.d.ts",dts:"import { Storage, AccountInfo, BeaconMessage } from '@airgap/beacon-types';\n/**\n * @internalapi\n *\n * The AccountManager provides CRUD functionality for account entities and persists them to the provided storage.\n */\nexport declare class AccountManager {\n private readonly storageManager;\n constructor(storage: Storage);\n getAccounts(): Promise;\n getAccount(accountIdentifier: string): Promise;\n addAccount(accountInfo: AccountInfo): Promise;\n removeAccount(accountIdentifier: string): Promise;\n removeAccounts(accountIdentifiers: string[]): Promise;\n removeAllAccounts(): Promise;\n hasPermission(message: BeaconMessage): Promise;\n}\n"},{name:"@airgap/beacon-core/dist/esm/managers/AppMetadataManager.d.ts",dts:"import { Storage, AppMetadata } from '@airgap/beacon-types';\n/**\n * @internalapi\n *\n * The AppMetadataManager provides CRUD functionality for app-metadata entities and persists them to the provided storage.\n */\nexport declare class AppMetadataManager {\n private readonly storageManager;\n constructor(storage: Storage);\n getAppMetadataList(): Promise;\n getAppMetadata(senderId: string): Promise;\n addAppMetadata(appMetadata: AppMetadata): Promise;\n removeAppMetadata(senderId: string): Promise;\n removeAppMetadatas(senderIds: string[]): Promise;\n removeAllAppMetadata(): Promise;\n}\n"},{name:"@airgap/beacon-core/dist/esm/managers/PeerManager.d.ts",dts:"import { Storage, StorageKey, StorageKeyReturnType } from '@airgap/beacon-types';\nimport { ArrayElem } from './StorageManager';\n/**\n * @internalapi\n *\n * The PeerManager provides CRUD functionality for peer entities and persists them to the provided storage.\n */\nexport declare class PeerManager {\n private readonly storageManager;\n constructor(storage: Storage, key: T);\n hasPeer(publicKey: string): Promise;\n getPeers(): Promise;\n getPeer(publicKey: string): Promise | undefined>;\n addPeer(peerInfo: ArrayElem): Promise;\n removePeer(publicKey: string): Promise;\n removePeers(publicKeys: string[]): Promise;\n removeAllPeers(): Promise;\n}\n"},{name:"@airgap/beacon-core/dist/esm/managers/PermissionManager.d.ts",dts:"import { BeaconMessage, Storage, PermissionInfo } from '@airgap/beacon-types';\n/**\n * @internalapi\n *\n * The PermissionManager provides CRUD functionality for permission entities and persists them to the provided storage.\n */\nexport declare class PermissionManager {\n private readonly storageManager;\n constructor(storage: Storage);\n getPermissions(): Promise;\n getPermission(accountIdentifier: string): Promise;\n addPermission(permissionInfo: PermissionInfo): Promise;\n removePermission(accountIdentifier: string): Promise;\n removePermissions(accountIdentifiers: string[]): Promise;\n removeAllPermissions(): Promise;\n hasPermission(message: BeaconMessage): Promise;\n}\n"},{name:"@airgap/beacon-core/dist/esm/managers/PermissionValidator.d.ts",dts:"import { BeaconMessage, PermissionEntity } from '@airgap/beacon-types';\n/**\n * @internalapi\n *\n * The PermissionValidator is used to check if permissions for a certain message type have been given\n */\nexport declare class PermissionValidator {\n /**\n * Check if permissions were given for a certain message type.\n *\n * PermissionRequest and BroadcastRequest will always return true.\n *\n * @param message Beacon Message\n */\n static hasPermission(message: BeaconMessage, getOne: (id: string) => Promise, getAll: () => Promise): Promise;\n}\n"},{name:"@airgap/beacon-core/dist/esm/managers/StorageManager.d.ts",dts:"import { StorageKey, Storage, StorageKeyReturnType } from '@airgap/beacon-types';\n/** Type workaround for https://github.com/Microsoft/TypeScript/issues/7294#issuecomment-465794460 */\nexport declare type ArrayElem = A extends (infer Elem)[] ? Elem : never;\n/**\n * @internalapi\n *\n * The StorageManager provides CRUD functionality for specific entities and persists them to the provided storage.\n */\nexport declare class StorageManager {\n private readonly storage;\n private readonly storageKey;\n constructor(storage: Storage, storageKey: T);\n getAll(): Promise;\n getOne(predicate: (element: ArrayElem) => boolean): Promise | undefined>;\n addOne(element: ArrayElem, predicate: (element: ArrayElem) => boolean, overwrite?: boolean): Promise;\n remove(predicate: (element: ArrayElem) => boolean): Promise;\n removeAll(): Promise;\n}\n"},{name:"@airgap/beacon-core/dist/esm/migrations/migrate-0.7.0.d.ts",dts:"import { PermissionScope, AccountIdentifier, Origin, Network } from '@airgap/beacon-types';\nexport interface AccountInfoOld {\n accountIdentifier: AccountIdentifier;\n beaconId: string;\n origin: {\n type: Origin;\n id: string;\n };\n address: string;\n pubkey: string;\n network: Network;\n scopes: PermissionScope[];\n connectedAt: Date;\n}\nexport interface P2PPairingRequestOld {\n name: string;\n pubKey: string;\n relayServer: string;\n}\nexport declare const migrate_0_7_0: (storage: Storage) => Promise;\n"},{name:"@airgap/beacon-core/dist/esm/migrations/migrations.d.ts",dts:"import { Storage } from '@airgap/beacon-types';\nexport declare const migrate: (storage: Storage) => Promise;\n"},{name:"@airgap/beacon-core/dist/esm/storage/ChromeStorage.d.ts",dts:"import { Storage, StorageKey, StorageKeyReturnType } from '@airgap/beacon-types';\n/**\n * @internalapi\n *\n * A storage that can be used in chrome extensions\n */\nexport declare class ChromeStorage implements Storage {\n static isSupported(): Promise;\n get(key: K): Promise;\n set(key: K, value: StorageKeyReturnType[K]): Promise;\n delete(key: K): Promise;\n}\n"},{name:"@airgap/beacon-core/dist/esm/storage/LocalStorage.d.ts",dts:"import { Storage, StorageKey, StorageKeyReturnType } from '@airgap/beacon-types';\n/**\n * @internalapi\n *\n * A storage that can be used in the browser\n */\nexport declare class LocalStorage implements Storage {\n private readonly prefix?;\n constructor(prefix?: string | undefined);\n static isSupported(): Promise;\n get(key: K): Promise;\n set(key: K, value: StorageKeyReturnType[K]): Promise;\n delete(key: K): Promise;\n private getPrefixedKey;\n}\n"},{name:"@airgap/beacon-core/dist/esm/storage/getStorage.d.ts",dts:"import { Storage } from '@airgap/beacon-types';\n/**\n * Get a supported storage on this platform\n */\nexport declare const getStorage: () => Promise;\n"},{name:"@airgap/beacon-core/dist/esm/transports/clients/ClientEvents.d.ts",dts:'export declare const enum ClientEvents {\n CLOSE_ALERT = "CLOSE_ALERT",\n RESET_STATE = "RESET_STATE"\n}\n'},{name:"@airgap/beacon-core/dist/esm/transports/clients/CommunicationClient.d.ts",dts:"import { P2PPairingRequest, ExtendedP2PPairingResponse, PostMessagePairingRequest, ExtendedPostMessagePairingResponse, WalletConnectPairingRequest, ExtendedWalletConnectPairingResponse } from '@airgap/beacon-types';\nimport { KeyPair } from '@stablelib/ed25519';\nimport { SessionKeys } from '@stablelib/x25519-session';\nimport { ClientEvents } from './ClientEvents';\n/**\n * @internalapi\n *\n *\n */\nexport declare abstract class CommunicationClient {\n protected readonly keyPair?: KeyPair | undefined;\n constructor(keyPair?: KeyPair | undefined);\n eventHandlers: Map;\n /**\n * Get the public key\n */\n getPublicKey(): Promise;\n /**\n * get the public key hash\n */\n getPublicKeyHash(): Promise;\n /**\n * Create a cryptobox server\n *\n * @param otherPublicKey\n * @param selfKeypair\n */\n protected createCryptoBoxServer(otherPublicKey: string, selfKeypair: KeyPair): Promise;\n /**\n * Create a cryptobox client\n *\n * @param otherPublicKey\n * @param selfKeypair\n */\n protected createCryptoBoxClient(otherPublicKey: string, selfKeypair: KeyPair): Promise;\n /**\n * Encrypt a message for a specific publicKey (receiver, asymmetric)\n *\n * @param recipientPublicKey\n * @param message\n */\n protected encryptMessageAsymmetric(recipientPublicKey: string, message: string): Promise;\n abstract unsubscribeFromEncryptedMessages(): Promise;\n abstract unsubscribeFromEncryptedMessage(senderPublicKey: string): Promise;\n abstract sendMessage(message: string, peer?: P2PPairingRequest | ExtendedP2PPairingResponse | PostMessagePairingRequest | ExtendedPostMessagePairingResponse | WalletConnectPairingRequest | ExtendedWalletConnectPairingResponse): Promise;\n}\n"},{name:"@airgap/beacon-core/dist/esm/transports/clients/MessageBasedClient.d.ts",dts:"import { CommunicationClient } from './CommunicationClient';\nimport { PostMessagePairingRequest, PostMessagePairingResponse } from '@airgap/beacon-types';\nimport { KeyPair } from '@stablelib/ed25519';\n/**\n * @internalapi\n *\n *\n */\nexport declare abstract class MessageBasedClient extends CommunicationClient {\n protected readonly name: string;\n /**\n * The listeners that will be notified of new messages\n */\n protected abstract readonly activeListeners: Map;\n constructor(name: string, keyPair: KeyPair);\n /**\n * start the client and make sure all dependencies are ready\n */\n start(): Promise;\n /**\n * Get the pairing request information. This will be shared with the peer during the connection setup\n */\n getPairingRequestInfo(): Promise;\n /**\n * Get the pairing response information. This will be shared with the peer during the connection setup\n */\n getPairingResponseInfo(request: PostMessagePairingRequest): Promise;\n /**\n * Unsubscribe from encrypted messages from a specific peer\n *\n * @param senderPublicKey\n */\n unsubscribeFromEncryptedMessage(senderPublicKey: string): Promise;\n /**\n * Unsubscribe from all encrypted messages\n */\n unsubscribeFromEncryptedMessages(): Promise;\n /**\n * Decrypt a message from a specific peer\n *\n * @param senderPublicKey\n * @param payload\n */\n protected decryptMessage(senderPublicKey: string, payload: string): Promise;\n /**\n * Encrypt a message for a specific publicKey (receiver)\n *\n * @param recipientPublicKey\n * @param message\n */\n protected encryptMessage(recipientPublicKey: string, message: string): Promise;\n /**\n * Initialize the connection\n */\n abstract init(): Promise;\n}\n"},{name:"@airgap/beacon-core/dist/esm/transports/Transport.d.ts",dts:"import { TransportType, TransportStatus, PeerInfo, StorageKey, ConnectionContext } from '@airgap/beacon-types';\nimport { PeerManager } from '../managers/PeerManager';\nimport { CommunicationClient } from './clients/CommunicationClient';\nimport { ClientEvents } from './clients/ClientEvents';\n/**\n * @internalapi\n *\n *\n */\nexport declare abstract class Transport {\n /**\n * The type of the transport\n */\n readonly type: TransportType;\n /**\n * The name of the app\n */\n protected readonly name: string;\n /**\n * The status of the transport\n */\n protected _isConnected: TransportStatus;\n protected readonly peerManager: PeerManager;\n /**\n * The client handling the encryption/decryption of messages\n */\n protected client: S;\n /**\n * The listener that will be invoked when a new peer is connected\n */\n protected newPeerListener?: (peer: T) => void;\n setEventHandler(event: ClientEvents, fun: Function): void;\n /**\n * The listeners that will be notified when new messages are coming in\n */\n private listeners;\n /**\n * Return the status of the connection\n */\n get connectionStatus(): TransportStatus;\n constructor(name: string, client: S, peerManager: PeerManager);\n /**\n * Returns a promise that resolves to true if the transport is available, false if it is not\n */\n static isAvailable(): Promise;\n /**\n * Connect the transport\n */\n connect(): Promise;\n /**\n * Disconnect the transport\n */\n disconnect(): Promise;\n /**\n * Send a message through the transport\n *\n * @param message The message to send\n * @param recipient The recipient of the message\n */\n send(message: string, peer?: PeerInfo): Promise;\n /**\n * Add a listener to be called when a new message is received\n *\n * @param listener The listener that will be registered\n */\n addListener(listener: (message: unknown, connectionInfo: ConnectionContext) => void): Promise;\n /**\n * Remove a listener\n *\n * @param listener\n */\n removeListener(listener: (message: string, connectionInfo: ConnectionContext) => void): Promise;\n getPeers(): Promise;\n addPeer(newPeer: T, _sendPairingResponse?: boolean): Promise;\n removePeer(peerToBeRemoved: T): Promise;\n removeAllPeers(): Promise;\n /**\n * Notify the listeners when a new message comes in\n *\n * @param message Message\n * @param connectionInfo Context info about the connection\n */\n protected notifyListeners(message: unknown, connectionInfo: ConnectionContext): Promise;\n abstract listen(publicKey: string): Promise;\n}\n"},{name:"@airgap/beacon-core/dist/esm/utils/Logger.d.ts",dts:"export interface LoggerInterface {\n debug(method: string, ...args: any[]): void;\n log(method: string, ...args: any[]): void;\n warn(method: string, ...args: any[]): void;\n error(method: string, ...args: any[]): void;\n time(start: boolean, label?: string): void;\n timeLog(method: string, ...args: any[]): void;\n}\n/**\n * The logger that is used internally\n */\nexport declare class InternalLogger implements LoggerInterface {\n constructor();\n debug(name: string, method: string, ...args: any[]): void;\n log(name: string, method: string, ...args: any[]): void;\n warn(name: string, method: string, ...args: any[]): void;\n error(name: string, method: string, ...args: any[]): void;\n time(start: boolean, label?: string | undefined): void;\n timeLog(name: string, method: string, ...args: any[]): void;\n private _log;\n}\nexport declare class Logger implements LoggerInterface {\n private readonly name;\n constructor(service: string);\n debug(method: string, ...args: any[]): void;\n log(method: string, ...args: any[]): void;\n warn(method: string, ...args: any[]): void;\n error(method: string, ...args: any[]): void;\n time(start: boolean, label?: string | undefined): void;\n timeLog(method: string, ...args: any[]): void;\n}\nexport declare const setLogger: (newLogger: LoggerInterface) => void;\nexport declare const getLogger: () => LoggerInterface;\n"},{name:"@airgap/beacon-core/dist/esm/utils/assert-never.d.ts",dts:"/**\n * A helper function to make sure if/elses and switch/cases are exhaustive\n *\n * @param empty The data that has to be empty\n */\nexport declare function assertNever(empty: never): never;\n"},{name:"@airgap/beacon-core/dist/esm/utils/get-account-identifier.d.ts",dts:"import { Network } from '@airgap/beacon-types';\n/**\n * @internalapi\n *\n * Generate a deterministic account identifier based on an address and a network\n *\n * @param address\n * @param network\n */\nexport declare const getAccountIdentifier: (address: string, network: Network) => Promise;\n"},{name:"@airgap/beacon-core/dist/esm/utils/get-sender-id.d.ts",dts:"/**\n * @internalapi\n *\n * Generate a deterministic sender identifier based on a public key\n *\n * @param publicKey\n */\nexport declare const getSenderId: (publicKey: string) => Promise;\n"},{name:"@airgap/beacon-core/dist/esm/MockAnalytics.d.ts",dts:"import { AnalyticsInterface } from '@airgap/beacon-types';\nexport declare class MockAnalytics implements AnalyticsInterface {\n track(_trigger: 'click' | 'event', _section: string, _label: string, _data?: Record): void;\n}\n"},{name:"@airgap/beacon-core/dist/esm/MockWindow.d.ts",dts:"declare type Callback = (message: unknown) => void;\n/**\n * A mock for postmessage if run in node.js environment\n */\ndeclare let windowRef: {\n postMessage: (message: string | Record, _target?: string) => void;\n addEventListener: (_name: string, eventCallback: Callback) => void;\n removeEventListener: (_name: string, eventCallback: Callback) => void;\n location: {\n origin: string;\n };\n};\ndeclare const clearMockWindowState: () => void;\nexport { windowRef, clearMockWindowState };\n"},{name:"@airgap/beacon-core/dist/esm/Serializer.d.ts",dts:"/**\n * @internalapi\n *\n * The Serializer is used to serialize / deserialize JSON objects and encode them with bs58check\n */\nexport declare class Serializer {\n /**\n * Serialize and bs58check encode an object\n *\n * @param message JSON object to serialize\n */\n serialize(message: unknown): Promise;\n /**\n * Deserialize a bs58check encoded string\n *\n * @param encoded String to be deserialized\n */\n deserialize(encoded: string): Promise;\n}\n"},{name:"@airgap/beacon-core/dist/esm/constants.d.ts",dts:"export declare const SDK_VERSION: string;\nexport declare const BEACON_VERSION: string;\nexport declare const NOTIFICATION_ORACLE_URL: string;\n"},{name:"@airgap/beacon-core/dist/esm/debug.d.ts",dts:"export declare const setDebugEnabled: (enabled: boolean) => void;\nexport declare const getDebugEnabled: () => boolean;\n"},{name:"@airgap/beacon-core/dist/esm/index.d.ts",dts:"/**\n * General docs\n * @module public\n */\nimport { Client } from './clients/client/Client';\nimport { BeaconError } from './errors/BeaconError';\nimport { BroadcastBeaconError } from './errors/BroadcastBeaconError';\nimport { NetworkNotSupportedBeaconError } from './errors/NetworkNotSupportedBeaconError';\nimport { NoAddressBeaconError } from './errors/NoAddressBeaconError';\nimport { NoPrivateKeyBeaconError } from './errors/NoPrivateKeyBeaconError';\nimport { NotGrantedBeaconError } from './errors/NotGrantedBeaconError';\nimport { ParametersInvalidBeaconError } from './errors/ParametersInvalidBeaconError';\nimport { TooManyOperationsBeaconError } from './errors/TooManyOperationsBeaconError';\nimport { TransactionInvalidBeaconError } from './errors/TransactionInvalidBeaconError';\nimport { UnknownBeaconError } from './errors/UnknownBeaconError';\nimport { Transport } from './transports/Transport';\nimport { ChromeStorage } from './storage/ChromeStorage';\nimport { LocalStorage } from './storage/LocalStorage';\nimport { getStorage } from './storage/getStorage';\nimport { Serializer } from './Serializer';\nimport { ClientOptions } from './clients/client/ClientOptions';\nimport { SDK_VERSION, BEACON_VERSION } from './constants';\nimport { AccountManager } from './managers/AccountManager';\nimport { AppMetadataManager } from './managers/AppMetadataManager';\nimport { PermissionManager } from './managers/PermissionManager';\nimport { BeaconClient } from './clients/beacon-client/BeaconClient';\nimport { BeaconClientOptions } from './clients/beacon-client/BeaconClientOptions';\nimport { getAccountIdentifier } from './utils/get-account-identifier';\nimport { AbortedBeaconError } from './errors/AbortedBeaconError';\nimport { getSenderId } from './utils/get-sender-id';\nimport { PeerManager } from './managers/PeerManager';\nimport { MessageBasedClient } from './transports/clients/MessageBasedClient';\nimport { setDebugEnabled, getDebugEnabled } from './debug';\nimport { SignatureTypeNotSupportedBeaconError } from './errors/SignatureTypeNotSupportedBeaconError';\nimport { getLogger, Logger, setLogger } from './utils/Logger';\nimport { windowRef } from './MockWindow';\nimport { CommunicationClient } from './transports/clients/CommunicationClient';\nimport { ClientEvents } from './transports/clients/ClientEvents';\nexport { BeaconClient, BeaconClientOptions, Client, ClientOptions, ClientEvents };\nexport { BeaconError, AbortedBeaconError, BroadcastBeaconError, NetworkNotSupportedBeaconError, NoAddressBeaconError, NoPrivateKeyBeaconError, NotGrantedBeaconError, ParametersInvalidBeaconError, TooManyOperationsBeaconError, TransactionInvalidBeaconError, SignatureTypeNotSupportedBeaconError, UnknownBeaconError };\nexport { Transport, MessageBasedClient, CommunicationClient };\nexport { ChromeStorage, LocalStorage, getStorage };\nexport { PeerManager, AccountManager, AppMetadataManager, PermissionManager };\nexport { SDK_VERSION, BEACON_VERSION };\nexport { getSenderId, getAccountIdentifier, windowRef };\nexport { Serializer, Logger, setLogger, getLogger };\nexport { setDebugEnabled, getDebugEnabled };\nexport { NOTIFICATION_ORACLE_URL } from './constants';\n"},{name:"@airgap/beacon-dapp/dapp-client/DAppClient.d.ts",dts:"import { BeaconEvent, BeaconEventHandlerFunction, BeaconEventType } from '../events';\nimport { AccountInfo, TransportType, BeaconMessageType, RequestPermissionInput, RequestSignPayloadInput, RequestOperationInput, RequestBroadcastInput, PermissionResponseOutput, SignPayloadResponseOutput, OperationResponseOutput, BroadcastResponseOutput, Network, AppMetadata, ExtendedP2PPairingResponse, ExtendedPostMessagePairingResponse, ExtendedPeerInfo, ColorMode, Blockchain, BlockchainRequestV3, BlockchainResponseV3, PermissionRequestV3, PermissionResponseV3, ExtendedWalletConnectPairingResponse } from '@airgap/beacon-types';\nimport { Client, Transport } from '@airgap/beacon-core';\nimport { BlockExplorer } from '../utils/block-explorer';\nimport { DAppClientOptions } from './DAppClientOptions';\nimport { BeaconEventHandler } from '@airgap/beacon-dapp';\nimport { DappPostMessageTransport } from '../transports/DappPostMessageTransport';\nimport { DappP2PTransport } from '../transports/DappP2PTransport';\nimport { DappWalletConnectTransport } from '../transports/DappWalletConnectTransport';\n/**\n * @publicapi\n *\n * The DAppClient has to be used in decentralized applications. It handles all the logic related to connecting to beacon-compatible\n * wallets and sending requests.\n *\n * @category DApp\n */\nexport declare class DAppClient extends Client {\n /**\n * The description of the app\n */\n readonly description?: string;\n /**\n * The block explorer used by the SDK\n */\n readonly blockExplorer: BlockExplorer;\n network: Network;\n protected readonly events: BeaconEventHandler;\n protected postMessageTransport: DappPostMessageTransport | undefined;\n protected p2pTransport: DappP2PTransport | undefined;\n protected walletConnectTransport: DappWalletConnectTransport | undefined;\n protected wcProjectId?: string;\n protected wcRelayUrl?: string;\n /**\n * A map of requests that are currently \"open\", meaning we have sent them to a wallet and are still awaiting a response.\n */\n private readonly openRequests;\n /**\n * The currently active account. For all requests that are associated to a specific request (operation request, signing request),\n * the active account is used to determine the network and destination wallet\n */\n private _activeAccount;\n /**\n * The currently active peer. This is used to address a peer in case the active account is not set. (Eg. for permission requests)\n */\n private _activePeer;\n private _initPromise;\n private readonly activeAccountLoaded;\n private readonly appMetadataManager;\n private readonly disclaimerText?;\n private readonly errorMessages;\n private readonly featuredWallets;\n constructor(config: DAppClientOptions);\n initInternalTransports(): Promise;\n private initEvents;\n private channelClosedHandler;\n init(transport?: Transport): Promise;\n /**\n * Returns the active account\n */\n getActiveAccount(): Promise;\n /**\n * Sets the active account\n *\n * @param account The account that will be set as the active account\n */\n setActiveAccount(account?: AccountInfo): Promise;\n /**\n * Clear the active account\n */\n clearActiveAccount(): Promise;\n setColorMode(colorMode: ColorMode): Promise;\n getColorMode(): Promise;\n /**\n * @deprecated\n *\n * Use getOwnAppMetadata instead\n */\n getAppMetadata(): Promise;\n showPrepare(): Promise;\n hideUI(elements?: ('alert' | 'toast')[]): Promise;\n /**\n * Will remove the account from the local storage and set a new active account if necessary.\n *\n * @param accountIdentifier ID of the account\n */\n removeAccount(accountIdentifier: string): Promise;\n /**\n * Remove all accounts and set active account to undefined\n */\n removeAllAccounts(): Promise;\n /**\n * Removes a peer and all the accounts that have been connected through that peer\n *\n * @param peer Peer to be removed\n */\n removePeer(peer: ExtendedPeerInfo, sendDisconnectToPeer?: boolean): Promise;\n /**\n * Remove all peers and all accounts that have been connected through those peers\n */\n removeAllPeers(sendDisconnectToPeers?: boolean): Promise;\n /**\n * Allows the user to subscribe to specific events that are fired in the SDK\n *\n * @param internalEvent The event to subscribe to\n * @param eventCallback The callback that will be called when the event occurs\n */\n subscribeToEvent(internalEvent: K, eventCallback: BeaconEventHandlerFunction): Promise;\n /**\n * Check if we have permissions to send the specific message type to the active account.\n * If no active account is set, only permission requests are allowed.\n *\n * @param type The type of the message\n */\n checkPermissions(type: BeaconMessageType): Promise;\n sendNotification(title: string, message: string, payload: string, protocolIdentifier: string): Promise;\n private blockchains;\n addBlockchain(chain: Blockchain): void;\n removeBlockchain(chainIdentifier: string): void;\n /** Generic messages */\n permissionRequest(input: PermissionRequestV3): Promise>;\n request(input: BlockchainRequestV3): Promise>;\n /**\n * Send a permission request to the DApp. This should be done as the first step. The wallet will respond\n * with an publicKey and permissions that were given. The account returned will be set as the \"activeAccount\"\n * and will be used for the following requests.\n *\n * @param input The message details we need to prepare the PermissionRequest message.\n */\n requestPermissions(input?: RequestPermissionInput): Promise;\n /**\n * This method will send a \"SignPayloadRequest\" to the wallet. This method is meant to be used to sign\n * arbitrary data (eg. a string). It will return the signature in the format of \"edsig...\"\n *\n * @param input The message details we need to prepare the SignPayloadRequest message.\n */\n requestSignPayload(input: RequestSignPayloadInput): Promise;\n /**\n * This method will send an \"EncryptPayloadRequest\" to the wallet. This method is meant to be used to encrypt or decrypt\n * arbitrary data (eg. a string). It will return the encrypted or decrypted payload\n *\n * @param input The message details we need to prepare the EncryptPayloadRequest message.\n */\n /**\n * This method sends an OperationRequest to the wallet. This method should be used for all kinds of operations,\n * eg. transaction or delegation. Not all properties have to be provided. Data like \"counter\" and fees will be\n * fetched and calculated by the wallet (but they can still be provided if required).\n *\n * @param input The message details we need to prepare the OperationRequest message.\n */\n requestOperation(input: RequestOperationInput): Promise;\n /**\n * Sends a \"BroadcastRequest\" to the wallet. This method can be used to inject an already signed transaction\n * to the network.\n *\n * @param input The message details we need to prepare the BroadcastRequest message.\n */\n requestBroadcast(input: RequestBroadcastInput): Promise;\n protected setActivePeer(peer?: ExtendedPostMessagePairingResponse | ExtendedP2PPairingResponse | ExtendedWalletConnectPairingResponse): Promise;\n /**\n * A \"setter\" for when the transport needs to be changed.\n */\n protected setTransport(transport?: Transport): Promise;\n /**\n * This method will emit an internal error message.\n *\n * @param errorMessage The error message to send.\n */\n private sendInternalError;\n /**\n * This method will remove all accounts associated with a specific peer.\n *\n * @param peersToRemove An array of peers for which accounts should be removed\n */\n private removeAccountsForPeers;\n private removeAccountsForPeerIds;\n /**\n * This message handles errors that we receive from the wallet.\n *\n * @param request The request we sent\n * @param beaconError The error we received\n */\n private handleRequestError;\n /**\n * This message will send an event when we receive a successful response to one of the requests we sent.\n *\n * @param request The request we sent\n * @param response The response we received\n */\n private notifySuccess;\n private getWalletInfo;\n private getPeer;\n /**\n * This method handles sending of requests to the DApp. It makes sure that the DAppClient is initialized and connected\n * to the transport. After that rate limits and permissions will be checked, an ID is attached and the request is sent\n * to the DApp over the transport.\n *\n * @param requestInput The BeaconMessage to be sent to the wallet\n * @param account The account that the message will be sent to\n */\n private makeRequest;\n /**\n * This method handles sending of requests to the DApp. It makes sure that the DAppClient is initialized and connected\n * to the transport. After that rate limits and permissions will be checked, an ID is attached and the request is sent\n * to the DApp over the transport.\n *\n * @param requestInput The BeaconMessage to be sent to the wallet\n * @param account The account that the message will be sent to\n */\n private makeRequestV3;\n disconnect(): Promise;\n /**\n * Adds a requests to the \"openRequests\" set so we know what messages have already been answered/handled.\n *\n * @param id The ID of the message\n * @param promise A promise that resolves once the response for that specific message is received\n */\n private addOpenRequest;\n private sendNotificationWithAccessToken;\n private onNewAccount;\n}\n"},{name:"@airgap/beacon-dapp/dapp-client/DAppClientOptions.d.ts",dts:"import { BeaconEvent, BeaconEventType, BeaconEventHandlerFunction } from '../events';\nimport { BlockExplorer } from '../utils/block-explorer';\nimport { Storage, NetworkType, ColorMode, NodeDistributions, AnalyticsInterface, Network } from '@airgap/beacon-types';\ndeclare type RequireAtLeastOne = Pick> & {\n [K in Keys]-?: Required> & Partial>>;\n}[Keys];\n/**\n * @category DApp\n */\nexport interface DAppClientOptions {\n /**\n * Name of the application\n */\n name: string;\n /**\n * Description of the application\n */\n description?: string;\n /**\n * A URL to the icon of the application\n */\n iconUrl?: string;\n /**\n * A URL to the website of the application\n */\n appUrl?: string;\n /**\n * The storage that will be used by the SDK\n */\n storage?: Storage;\n /**\n * An object that will be used to overwrite default event handler behaviour.\n *\n * If you plan to overwrite all default events, use \"disableDefaultEvents\" instead.\n *\n * This will overwrite the default event handler, so this can lead to unexpected behavior in some cases.\n * We recommend that you overwrite all handlers if you want to use your own UI.\n *\n * If you simply want to be notified of events happening, but do not want to overwrite the default behavior,\n * please use `subscribeToEvent()` on the DAppClient instead.\n */\n eventHandlers?: {\n [key in BeaconEvent]?: {\n handler: BeaconEventHandlerFunction;\n };\n };\n /**\n * Disable all default Events and UI elements. If passed together with \"eventHandlers\",\n * the default eventHandlers will be removed, and the ones passed by the user will be added.\n */\n disableDefaultEvents?: boolean;\n /**\n * A list of matrix nodes to connect to. If a non-empty array is passed, the default options will be overwritten.\n * One node will be randomly selected based on the local keypair and the other nodes will be used as a fallback in case the primary node goes down.\n *\n * Only provide the hostname, no https:// prefix. Eg. { [Regions.EU1]: ['matrix.example.com'] }\n */\n matrixNodes?: NodeDistributions;\n /**\n * The block explorer used by the SDK\n */\n blockExplorer?: BlockExplorer;\n /**\n * Indicates on which network the DApp is running on.\n */\n network?: Network;\n /**\n * @deprecated Please use \"network\" instead.\n * Indicates on which network the DApp is planning to run. This is currently used to adjust the URLs of web-wallets in the pairing alert if they use different URLs for testnets.\n * You will still have to define the network you intend to use during the permission request.\n */\n preferredNetwork?: NetworkType;\n /**\n * Set the color mode for the UI elements (alerts and toasts)\n */\n colorMode?: ColorMode;\n /**\n * A disclaimer text that will be displayed in the pairing alert\n */\n disclaimerText?: string;\n /**\n * A list of contracts that the DApp is using. Allows to attach human readable error messages for to error codes\n */\n errorMessages?: Record>;\n /**\n * Configuration that is passed to the WalletConnect transport.\n *\n * This is required to enable WalletConnect connections.\n */\n walletConnectOptions?: RequireAtLeastOne<{\n /**\n * The projectId of the application. Has to be obtained from https://cloud.walletconnect.com/\n */\n projectId?: string;\n /**\n * The relay server to connect to\n */\n relayUrl?: string;\n }>;\n /**\n * The analytics instance that will be used by the SDK\n */\n analytics?: AnalyticsInterface;\n /**\n * The wallets that will be featured in the UI.\n */\n featuredWallets?: string[];\n}\nexport {};\n"},{name:"@airgap/beacon-dapp/transports/DappP2PTransport.d.ts",dts:"import { Storage, StorageKey, ExtendedP2PPairingResponse, NodeDistributions } from '@airgap/beacon-types';\nimport { P2PTransport } from '@airgap/beacon-transport-matrix';\nimport { KeyPair } from '@stablelib/ed25519';\n/**\n * @internalapi\n *\n *\n */\nexport declare class DappP2PTransport extends P2PTransport {\n constructor(name: string, keyPair: KeyPair, storage: Storage, matrixNodes: NodeDistributions, iconUrl?: string, appUrl?: string);\n startOpenChannelListener(): Promise;\n listenForNewPeer(newPeerListener: (peer: ExtendedP2PPairingResponse) => void): Promise;\n stopListeningForNewPeers(): Promise;\n}\n"},{name:"@airgap/beacon-dapp/transports/DappPostMessageTransport.d.ts",dts:"import { StorageKey, Storage, ExtendedPostMessagePairingResponse } from '@airgap/beacon-types';\nimport { PostMessageTransport } from '@airgap/beacon-transport-postmessage';\nimport { KeyPair } from '@stablelib/ed25519';\n/**\n * @internalapi\n *\n *\n */\nexport declare class DappPostMessageTransport extends PostMessageTransport {\n constructor(name: string, keyPair: KeyPair, storage: Storage);\n startOpenChannelListener(): Promise;\n listenForNewPeer(newPeerListener: (peer: ExtendedPostMessagePairingResponse) => void): Promise;\n stopListeningForNewPeers(): Promise;\n}\n"},{name:"@airgap/beacon-dapp/transports/DappWalletConnectTransport.d.ts",dts:"import { StorageKey, Storage, ExtendedWalletConnectPairingResponse, NetworkType } from '@airgap/beacon-types';\nimport { WalletConnectTransport } from '@airgap/beacon-transport-walletconnect';\nimport { KeyPair } from '@stablelib/ed25519';\nimport { SignClientTypes } from '@walletconnect/types';\n/**\n * @internalapi\n *\n *\n */\nexport declare class DappWalletConnectTransport extends WalletConnectTransport {\n constructor(name: string, keyPair: KeyPair, storage: Storage, wcOptions: {\n network: NetworkType;\n opts: SignClientTypes.Options;\n });\n listenForNewPeer(newPeerListener: (peer: ExtendedWalletConnectPairingResponse) => void): Promise;\n stopListeningForNewPeers(): Promise;\n}\n"},{name:"@airgap/beacon-dapp/utils/available-transports.d.ts",dts:"/**\n * An object with promises to indicate whether or not that transport is available.\n */\nexport declare const availableTransports: any;\n"},{name:"@airgap/beacon-dapp/utils/block-explorer.d.ts",dts:"import { Network, NetworkType } from '@airgap/beacon-types';\nexport declare abstract class BlockExplorer {\n readonly rpcUrls: {\n [key in NetworkType]: string;\n };\n constructor(rpcUrls: {\n [key in NetworkType]: string;\n });\n protected getLinkForNetwork(network: Network): Promise;\n /**\n * Return a blockexplorer link for an address\n *\n * @param address The address to be opened\n * @param network The network that was used\n */\n abstract getAddressLink(address: string, network: Network): Promise;\n /**\n * Return a blockexplorer link for a transaction hash\n *\n * @param transactionId The hash of the transaction\n * @param network The network that was used\n */\n abstract getTransactionLink(transactionId: string, network: Network): Promise;\n}\n"},{name:"@airgap/beacon-dapp/utils/get-instance.d.ts",dts:"import { DAppClient, DAppClientOptions } from '..';\n/** Get a DAppClient instance. Will make sure only one dAppClient exists. After the first instance has been created, the config will be ignored, unless \"reset\" is set */\nexport declare const getDAppClientInstance: (config: DAppClientOptions, reset?: boolean) => DAppClient;\n"},{name:"@airgap/beacon-dapp/utils/shorten-string.d.ts",dts:"export declare const shortenString: (text: string) => string;\n"},{name:"@airgap/beacon-dapp/utils/tzkt-blockexplorer.d.ts",dts:"import { Network, NetworkType } from '@airgap/beacon-types';\nimport { BlockExplorer } from './block-explorer';\nexport declare class TzktBlockExplorer extends BlockExplorer {\n readonly rpcUrls: {\n [key in NetworkType]: string;\n };\n constructor(rpcUrls?: {\n [key in NetworkType]: string;\n });\n getAddressLink(address: string, network: Network): Promise;\n getTransactionLink(transactionId: string, network: Network): Promise;\n}\n"},{name:"@airgap/beacon-dapp/beacon-message-events.d.ts",dts:"import { BeaconEvent } from './events';\nimport { BeaconMessageType } from '@airgap/beacon-types';\nexport declare const messageEvents: {\n [key in BeaconMessageType]: {\n sent: BeaconEvent;\n success: BeaconEvent;\n error: BeaconEvent;\n };\n};\n"},{name:"@airgap/beacon-dapp/events.d.ts",dts:'import { BlockExplorer, AlertButton } from \'@airgap/beacon-dapp\';\nimport { ExtendedPostMessagePairingResponse, PostMessagePairingRequest, ExtendedP2PPairingResponse, P2PPairingRequest, AccountInfo, ErrorResponse, PermissionResponseOutput, OperationResponseOutput, BroadcastResponseOutput, SignPayloadResponseOutput, Network, ConnectionContext, NetworkType, AcknowledgeResponse, WalletInfo, ExtendedWalletConnectPairingResponse, WalletConnectPairingRequest, AnalyticsInterface } from \'@airgap/beacon-types\';\nimport { Transport } from \'@airgap/beacon-core\';\n/**\n * The different events that can be emitted by the beacon-sdk\n */\nexport declare enum BeaconEvent {\n PERMISSION_REQUEST_SENT = "PERMISSION_REQUEST_SENT",\n PERMISSION_REQUEST_SUCCESS = "PERMISSION_REQUEST_SUCCESS",\n PERMISSION_REQUEST_ERROR = "PERMISSION_REQUEST_ERROR",\n OPERATION_REQUEST_SENT = "OPERATION_REQUEST_SENT",\n OPERATION_REQUEST_SUCCESS = "OPERATION_REQUEST_SUCCESS",\n OPERATION_REQUEST_ERROR = "OPERATION_REQUEST_ERROR",\n SIGN_REQUEST_SENT = "SIGN_REQUEST_SENT",\n SIGN_REQUEST_SUCCESS = "SIGN_REQUEST_SUCCESS",\n SIGN_REQUEST_ERROR = "SIGN_REQUEST_ERROR",\n BROADCAST_REQUEST_SENT = "BROADCAST_REQUEST_SENT",\n BROADCAST_REQUEST_SUCCESS = "BROADCAST_REQUEST_SUCCESS",\n BROADCAST_REQUEST_ERROR = "BROADCAST_REQUEST_ERROR",\n ACKNOWLEDGE_RECEIVED = "ACKNOWLEDGE_RECEIVED",\n LOCAL_RATE_LIMIT_REACHED = "LOCAL_RATE_LIMIT_REACHED",\n NO_PERMISSIONS = "NO_PERMISSIONS",\n ACTIVE_ACCOUNT_SET = "ACTIVE_ACCOUNT_SET",\n ACTIVE_TRANSPORT_SET = "ACTIVE_TRANSPORT_SET",\n SHOW_PREPARE = "SHOW_PREPARE",\n HIDE_UI = "HIDE_UI",\n PAIR_INIT = "PAIR_INIT",\n PAIR_SUCCESS = "PAIR_SUCCESS",\n CHANNEL_CLOSED = "CHANNEL_CLOSED",\n INTERNAL_ERROR = "INTERNAL_ERROR",\n UNKNOWN = "UNKNOWN"\n}\nexport interface ExtraInfo {\n resetCallback?(): Promise;\n}\ninterface RequestSentInfo {\n extraInfo: ExtraInfo;\n walletInfo: WalletInfo;\n}\n/**\n * The type of the payload of the different BeaconEvents\n */\nexport interface BeaconEventType {\n [BeaconEvent.PERMISSION_REQUEST_SENT]: RequestSentInfo;\n [BeaconEvent.PERMISSION_REQUEST_SUCCESS]: {\n account: AccountInfo;\n output: PermissionResponseOutput;\n blockExplorer: BlockExplorer;\n connectionContext: ConnectionContext;\n walletInfo: WalletInfo;\n };\n [BeaconEvent.PERMISSION_REQUEST_ERROR]: {\n errorResponse: ErrorResponse;\n walletInfo: WalletInfo;\n };\n [BeaconEvent.OPERATION_REQUEST_SENT]: RequestSentInfo;\n [BeaconEvent.OPERATION_REQUEST_SUCCESS]: {\n account: AccountInfo;\n output: OperationResponseOutput;\n blockExplorer: BlockExplorer;\n connectionContext: ConnectionContext;\n walletInfo: WalletInfo;\n };\n [BeaconEvent.OPERATION_REQUEST_ERROR]: {\n errorResponse: ErrorResponse;\n walletInfo: WalletInfo;\n errorMessages: Record>;\n };\n [BeaconEvent.SIGN_REQUEST_SENT]: RequestSentInfo;\n [BeaconEvent.SIGN_REQUEST_SUCCESS]: {\n output: SignPayloadResponseOutput;\n connectionContext: ConnectionContext;\n walletInfo: WalletInfo;\n };\n [BeaconEvent.SIGN_REQUEST_ERROR]: {\n errorResponse: ErrorResponse;\n walletInfo: WalletInfo;\n };\n [BeaconEvent.BROADCAST_REQUEST_SENT]: RequestSentInfo;\n [BeaconEvent.BROADCAST_REQUEST_SUCCESS]: {\n network: Network;\n output: BroadcastResponseOutput;\n blockExplorer: BlockExplorer;\n connectionContext: ConnectionContext;\n walletInfo: WalletInfo;\n };\n [BeaconEvent.BROADCAST_REQUEST_ERROR]: {\n errorResponse: ErrorResponse;\n walletInfo: WalletInfo;\n };\n [BeaconEvent.ACKNOWLEDGE_RECEIVED]: {\n message: AcknowledgeResponse;\n extraInfo: ExtraInfo;\n walletInfo: WalletInfo;\n };\n [BeaconEvent.LOCAL_RATE_LIMIT_REACHED]: undefined;\n [BeaconEvent.NO_PERMISSIONS]: undefined;\n [BeaconEvent.ACTIVE_ACCOUNT_SET]: AccountInfo;\n [BeaconEvent.ACTIVE_TRANSPORT_SET]: Transport;\n [BeaconEvent.SHOW_PREPARE]: {\n walletInfo?: WalletInfo;\n };\n [BeaconEvent.HIDE_UI]: (\'alert\' | \'toast\')[] | undefined;\n [BeaconEvent.PAIR_INIT]: {\n p2pPeerInfo: () => Promise;\n postmessagePeerInfo: () => Promise;\n walletConnectPeerInfo: () => Promise;\n networkType: NetworkType;\n abortedHandler?(): void;\n disclaimerText?: string;\n analytics: AnalyticsInterface;\n featuredWallets?: string[];\n };\n [BeaconEvent.PAIR_SUCCESS]: ExtendedPostMessagePairingResponse | ExtendedP2PPairingResponse | ExtendedWalletConnectPairingResponse;\n [BeaconEvent.CHANNEL_CLOSED]: string;\n [BeaconEvent.INTERNAL_ERROR]: {\n text: string;\n buttons?: AlertButton[];\n };\n [BeaconEvent.UNKNOWN]: undefined;\n}\nexport declare type BeaconEventHandlerFunction = (data: T, eventCallback?: AlertButton[]) => void | Promise;\n/**\n * The default event handlers\n */\nexport declare const defaultEventCallbacks: {\n [key in BeaconEvent]: BeaconEventHandlerFunction;\n};\n/**\n * @internalapi\n *\n * Handles beacon events\n */\nexport declare class BeaconEventHandler {\n private readonly callbackMap;\n constructor(eventsToOverride?: {\n [key in BeaconEvent]?: {\n handler: BeaconEventHandlerFunction;\n };\n }, overrideAll?: boolean);\n /**\n * A method to subscribe to a specific beacon event and register a callback\n *\n * @param event The event being emitted\n * @param eventCallback The callback that will be invoked\n */\n on(event: K, eventCallback: BeaconEventHandlerFunction): Promise;\n /**\n * Emit a beacon event\n *\n * @param event The event being emitted\n * @param data The data to be emit\n */\n emit(event: K, data?: BeaconEventType[K], eventCallback?: AlertButton[]): Promise;\n /**\n * Override beacon event default callbacks. This can be used to disable default alert/toast behaviour\n *\n * @param eventsToOverride An object with the events to override\n */\n private overrideDefaults;\n /**\n * Set all event callbacks to a specific handler.\n */\n private setAllHandlers;\n}\nexport {};\n'},{name:"@airgap/beacon-dapp/index.d.ts",dts:"export * from '@airgap/beacon-core';\nexport * from '@airgap/beacon-transport-matrix';\nexport * from '@airgap/beacon-transport-postmessage';\nexport * from '@airgap/beacon-types';\nexport * from '@airgap/beacon-utils';\nexport * from '@airgap/beacon-ui';\nimport { DAppClient } from './dapp-client/DAppClient';\nimport { DAppClientOptions } from './dapp-client/DAppClientOptions';\nimport { BeaconEvent, BeaconEventHandler, defaultEventCallbacks } from './events';\nimport { BlockExplorer } from './utils/block-explorer';\nimport { TzktBlockExplorer } from './utils/tzkt-blockexplorer';\nimport { getDAppClientInstance } from './utils/get-instance';\nexport { DAppClient, DAppClientOptions, getDAppClientInstance };\nexport { BeaconEvent, BeaconEventHandler, defaultEventCallbacks };\nexport { BlockExplorer, TzktBlockExplorer, TzktBlockExplorer as TezblockBlockExplorer };\n"},{name:"@airgap/beacon-dapp/dist/esm/dapp-client/DAppClient.d.ts",dts:"import { BeaconEvent, BeaconEventHandlerFunction, BeaconEventType } from '../events';\nimport { AccountInfo, TransportType, BeaconMessageType, RequestPermissionInput, RequestSignPayloadInput, RequestOperationInput, RequestBroadcastInput, PermissionResponseOutput, SignPayloadResponseOutput, OperationResponseOutput, BroadcastResponseOutput, Network, AppMetadata, ExtendedP2PPairingResponse, ExtendedPostMessagePairingResponse, ExtendedPeerInfo, ColorMode, Blockchain, BlockchainRequestV3, BlockchainResponseV3, PermissionRequestV3, PermissionResponseV3, ExtendedWalletConnectPairingResponse } from '@airgap/beacon-types';\nimport { Client, Transport } from '@airgap/beacon-core';\nimport { BlockExplorer } from '../utils/block-explorer';\nimport { DAppClientOptions } from './DAppClientOptions';\nimport { BeaconEventHandler } from '@airgap/beacon-dapp';\nimport { DappPostMessageTransport } from '../transports/DappPostMessageTransport';\nimport { DappP2PTransport } from '../transports/DappP2PTransport';\nimport { DappWalletConnectTransport } from '../transports/DappWalletConnectTransport';\n/**\n * @publicapi\n *\n * The DAppClient has to be used in decentralized applications. It handles all the logic related to connecting to beacon-compatible\n * wallets and sending requests.\n *\n * @category DApp\n */\nexport declare class DAppClient extends Client {\n /**\n * The description of the app\n */\n readonly description?: string;\n /**\n * The block explorer used by the SDK\n */\n readonly blockExplorer: BlockExplorer;\n network: Network;\n protected readonly events: BeaconEventHandler;\n protected postMessageTransport: DappPostMessageTransport | undefined;\n protected p2pTransport: DappP2PTransport | undefined;\n protected walletConnectTransport: DappWalletConnectTransport | undefined;\n protected wcProjectId?: string;\n protected wcRelayUrl?: string;\n /**\n * A map of requests that are currently \"open\", meaning we have sent them to a wallet and are still awaiting a response.\n */\n private readonly openRequests;\n /**\n * The currently active account. For all requests that are associated to a specific request (operation request, signing request),\n * the active account is used to determine the network and destination wallet\n */\n private _activeAccount;\n /**\n * The currently active peer. This is used to address a peer in case the active account is not set. (Eg. for permission requests)\n */\n private _activePeer;\n private _initPromise;\n private readonly activeAccountLoaded;\n private readonly appMetadataManager;\n private readonly disclaimerText?;\n private readonly errorMessages;\n private readonly featuredWallets;\n constructor(config: DAppClientOptions);\n initInternalTransports(): Promise;\n private initEvents;\n private channelClosedHandler;\n init(transport?: Transport): Promise;\n /**\n * Returns the active account\n */\n getActiveAccount(): Promise;\n /**\n * Sets the active account\n *\n * @param account The account that will be set as the active account\n */\n setActiveAccount(account?: AccountInfo): Promise;\n /**\n * Clear the active account\n */\n clearActiveAccount(): Promise;\n setColorMode(colorMode: ColorMode): Promise;\n getColorMode(): Promise;\n /**\n * @deprecated\n *\n * Use getOwnAppMetadata instead\n */\n getAppMetadata(): Promise;\n showPrepare(): Promise;\n hideUI(elements?: ('alert' | 'toast')[]): Promise;\n /**\n * Will remove the account from the local storage and set a new active account if necessary.\n *\n * @param accountIdentifier ID of the account\n */\n removeAccount(accountIdentifier: string): Promise;\n /**\n * Remove all accounts and set active account to undefined\n */\n removeAllAccounts(): Promise;\n /**\n * Removes a peer and all the accounts that have been connected through that peer\n *\n * @param peer Peer to be removed\n */\n removePeer(peer: ExtendedPeerInfo, sendDisconnectToPeer?: boolean): Promise;\n /**\n * Remove all peers and all accounts that have been connected through those peers\n */\n removeAllPeers(sendDisconnectToPeers?: boolean): Promise;\n /**\n * Allows the user to subscribe to specific events that are fired in the SDK\n *\n * @param internalEvent The event to subscribe to\n * @param eventCallback The callback that will be called when the event occurs\n */\n subscribeToEvent(internalEvent: K, eventCallback: BeaconEventHandlerFunction): Promise;\n /**\n * Check if we have permissions to send the specific message type to the active account.\n * If no active account is set, only permission requests are allowed.\n *\n * @param type The type of the message\n */\n checkPermissions(type: BeaconMessageType): Promise;\n sendNotification(title: string, message: string, payload: string, protocolIdentifier: string): Promise;\n private blockchains;\n addBlockchain(chain: Blockchain): void;\n removeBlockchain(chainIdentifier: string): void;\n /** Generic messages */\n permissionRequest(input: PermissionRequestV3): Promise>;\n request(input: BlockchainRequestV3): Promise>;\n /**\n * Send a permission request to the DApp. This should be done as the first step. The wallet will respond\n * with an publicKey and permissions that were given. The account returned will be set as the \"activeAccount\"\n * and will be used for the following requests.\n *\n * @param input The message details we need to prepare the PermissionRequest message.\n */\n requestPermissions(input?: RequestPermissionInput): Promise;\n /**\n * This method will send a \"SignPayloadRequest\" to the wallet. This method is meant to be used to sign\n * arbitrary data (eg. a string). It will return the signature in the format of \"edsig...\"\n *\n * @param input The message details we need to prepare the SignPayloadRequest message.\n */\n requestSignPayload(input: RequestSignPayloadInput): Promise;\n /**\n * This method will send an \"EncryptPayloadRequest\" to the wallet. This method is meant to be used to encrypt or decrypt\n * arbitrary data (eg. a string). It will return the encrypted or decrypted payload\n *\n * @param input The message details we need to prepare the EncryptPayloadRequest message.\n */\n /**\n * This method sends an OperationRequest to the wallet. This method should be used for all kinds of operations,\n * eg. transaction or delegation. Not all properties have to be provided. Data like \"counter\" and fees will be\n * fetched and calculated by the wallet (but they can still be provided if required).\n *\n * @param input The message details we need to prepare the OperationRequest message.\n */\n requestOperation(input: RequestOperationInput): Promise;\n /**\n * Sends a \"BroadcastRequest\" to the wallet. This method can be used to inject an already signed transaction\n * to the network.\n *\n * @param input The message details we need to prepare the BroadcastRequest message.\n */\n requestBroadcast(input: RequestBroadcastInput): Promise;\n protected setActivePeer(peer?: ExtendedPostMessagePairingResponse | ExtendedP2PPairingResponse | ExtendedWalletConnectPairingResponse): Promise;\n /**\n * A \"setter\" for when the transport needs to be changed.\n */\n protected setTransport(transport?: Transport): Promise;\n /**\n * This method will emit an internal error message.\n *\n * @param errorMessage The error message to send.\n */\n private sendInternalError;\n /**\n * This method will remove all accounts associated with a specific peer.\n *\n * @param peersToRemove An array of peers for which accounts should be removed\n */\n private removeAccountsForPeers;\n private removeAccountsForPeerIds;\n /**\n * This message handles errors that we receive from the wallet.\n *\n * @param request The request we sent\n * @param beaconError The error we received\n */\n private handleRequestError;\n /**\n * This message will send an event when we receive a successful response to one of the requests we sent.\n *\n * @param request The request we sent\n * @param response The response we received\n */\n private notifySuccess;\n private getWalletInfo;\n private getPeer;\n /**\n * This method handles sending of requests to the DApp. It makes sure that the DAppClient is initialized and connected\n * to the transport. After that rate limits and permissions will be checked, an ID is attached and the request is sent\n * to the DApp over the transport.\n *\n * @param requestInput The BeaconMessage to be sent to the wallet\n * @param account The account that the message will be sent to\n */\n private makeRequest;\n /**\n * This method handles sending of requests to the DApp. It makes sure that the DAppClient is initialized and connected\n * to the transport. After that rate limits and permissions will be checked, an ID is attached and the request is sent\n * to the DApp over the transport.\n *\n * @param requestInput The BeaconMessage to be sent to the wallet\n * @param account The account that the message will be sent to\n */\n private makeRequestV3;\n disconnect(): Promise;\n /**\n * Adds a requests to the \"openRequests\" set so we know what messages have already been answered/handled.\n *\n * @param id The ID of the message\n * @param promise A promise that resolves once the response for that specific message is received\n */\n private addOpenRequest;\n private sendNotificationWithAccessToken;\n private onNewAccount;\n}\n"},{name:"@airgap/beacon-dapp/dist/esm/dapp-client/DAppClientOptions.d.ts",dts:"import { BeaconEvent, BeaconEventType, BeaconEventHandlerFunction } from '../events';\nimport { BlockExplorer } from '../utils/block-explorer';\nimport { Storage, NetworkType, ColorMode, NodeDistributions, AnalyticsInterface, Network } from '@airgap/beacon-types';\ndeclare type RequireAtLeastOne = Pick> & {\n [K in Keys]-?: Required> & Partial>>;\n}[Keys];\n/**\n * @category DApp\n */\nexport interface DAppClientOptions {\n /**\n * Name of the application\n */\n name: string;\n /**\n * Description of the application\n */\n description?: string;\n /**\n * A URL to the icon of the application\n */\n iconUrl?: string;\n /**\n * A URL to the website of the application\n */\n appUrl?: string;\n /**\n * The storage that will be used by the SDK\n */\n storage?: Storage;\n /**\n * An object that will be used to overwrite default event handler behaviour.\n *\n * If you plan to overwrite all default events, use \"disableDefaultEvents\" instead.\n *\n * This will overwrite the default event handler, so this can lead to unexpected behavior in some cases.\n * We recommend that you overwrite all handlers if you want to use your own UI.\n *\n * If you simply want to be notified of events happening, but do not want to overwrite the default behavior,\n * please use `subscribeToEvent()` on the DAppClient instead.\n */\n eventHandlers?: {\n [key in BeaconEvent]?: {\n handler: BeaconEventHandlerFunction;\n };\n };\n /**\n * Disable all default Events and UI elements. If passed together with \"eventHandlers\",\n * the default eventHandlers will be removed, and the ones passed by the user will be added.\n */\n disableDefaultEvents?: boolean;\n /**\n * A list of matrix nodes to connect to. If a non-empty array is passed, the default options will be overwritten.\n * One node will be randomly selected based on the local keypair and the other nodes will be used as a fallback in case the primary node goes down.\n *\n * Only provide the hostname, no https:// prefix. Eg. { [Regions.EU1]: ['matrix.example.com'] }\n */\n matrixNodes?: NodeDistributions;\n /**\n * The block explorer used by the SDK\n */\n blockExplorer?: BlockExplorer;\n /**\n * Indicates on which network the DApp is running on.\n */\n network?: Network;\n /**\n * @deprecated Please use \"network\" instead.\n * Indicates on which network the DApp is planning to run. This is currently used to adjust the URLs of web-wallets in the pairing alert if they use different URLs for testnets.\n * You will still have to define the network you intend to use during the permission request.\n */\n preferredNetwork?: NetworkType;\n /**\n * Set the color mode for the UI elements (alerts and toasts)\n */\n colorMode?: ColorMode;\n /**\n * A disclaimer text that will be displayed in the pairing alert\n */\n disclaimerText?: string;\n /**\n * A list of contracts that the DApp is using. Allows to attach human readable error messages for to error codes\n */\n errorMessages?: Record>;\n /**\n * Configuration that is passed to the WalletConnect transport.\n *\n * This is required to enable WalletConnect connections.\n */\n walletConnectOptions?: RequireAtLeastOne<{\n /**\n * The projectId of the application. Has to be obtained from https://cloud.walletconnect.com/\n */\n projectId?: string;\n /**\n * The relay server to connect to\n */\n relayUrl?: string;\n }>;\n /**\n * The analytics instance that will be used by the SDK\n */\n analytics?: AnalyticsInterface;\n /**\n * The wallets that will be featured in the UI.\n */\n featuredWallets?: string[];\n}\nexport {};\n"},{name:"@airgap/beacon-dapp/dist/esm/transports/DappP2PTransport.d.ts",dts:"import { Storage, StorageKey, ExtendedP2PPairingResponse, NodeDistributions } from '@airgap/beacon-types';\nimport { P2PTransport } from '@airgap/beacon-transport-matrix';\nimport { KeyPair } from '@stablelib/ed25519';\n/**\n * @internalapi\n *\n *\n */\nexport declare class DappP2PTransport extends P2PTransport {\n constructor(name: string, keyPair: KeyPair, storage: Storage, matrixNodes: NodeDistributions, iconUrl?: string, appUrl?: string);\n startOpenChannelListener(): Promise;\n listenForNewPeer(newPeerListener: (peer: ExtendedP2PPairingResponse) => void): Promise;\n stopListeningForNewPeers(): Promise;\n}\n"},{name:"@airgap/beacon-dapp/dist/esm/transports/DappPostMessageTransport.d.ts",dts:"import { StorageKey, Storage, ExtendedPostMessagePairingResponse } from '@airgap/beacon-types';\nimport { PostMessageTransport } from '@airgap/beacon-transport-postmessage';\nimport { KeyPair } from '@stablelib/ed25519';\n/**\n * @internalapi\n *\n *\n */\nexport declare class DappPostMessageTransport extends PostMessageTransport {\n constructor(name: string, keyPair: KeyPair, storage: Storage);\n startOpenChannelListener(): Promise;\n listenForNewPeer(newPeerListener: (peer: ExtendedPostMessagePairingResponse) => void): Promise;\n stopListeningForNewPeers(): Promise;\n}\n"},{name:"@airgap/beacon-dapp/dist/esm/transports/DappWalletConnectTransport.d.ts",dts:"import { StorageKey, Storage, ExtendedWalletConnectPairingResponse, NetworkType } from '@airgap/beacon-types';\nimport { WalletConnectTransport } from '@airgap/beacon-transport-walletconnect';\nimport { KeyPair } from '@stablelib/ed25519';\nimport { SignClientTypes } from '@walletconnect/types';\n/**\n * @internalapi\n *\n *\n */\nexport declare class DappWalletConnectTransport extends WalletConnectTransport {\n constructor(name: string, keyPair: KeyPair, storage: Storage, wcOptions: {\n network: NetworkType;\n opts: SignClientTypes.Options;\n });\n listenForNewPeer(newPeerListener: (peer: ExtendedWalletConnectPairingResponse) => void): Promise;\n stopListeningForNewPeers(): Promise;\n}\n"},{name:"@airgap/beacon-dapp/dist/esm/utils/available-transports.d.ts",dts:"/**\n * An object with promises to indicate whether or not that transport is available.\n */\nexport declare const availableTransports: any;\n"},{name:"@airgap/beacon-dapp/dist/esm/utils/block-explorer.d.ts",dts:"import { Network, NetworkType } from '@airgap/beacon-types';\nexport declare abstract class BlockExplorer {\n readonly rpcUrls: {\n [key in NetworkType]: string;\n };\n constructor(rpcUrls: {\n [key in NetworkType]: string;\n });\n protected getLinkForNetwork(network: Network): Promise;\n /**\n * Return a blockexplorer link for an address\n *\n * @param address The address to be opened\n * @param network The network that was used\n */\n abstract getAddressLink(address: string, network: Network): Promise;\n /**\n * Return a blockexplorer link for a transaction hash\n *\n * @param transactionId The hash of the transaction\n * @param network The network that was used\n */\n abstract getTransactionLink(transactionId: string, network: Network): Promise;\n}\n"},{name:"@airgap/beacon-dapp/dist/esm/utils/get-instance.d.ts",dts:"import { DAppClient, DAppClientOptions } from '..';\n/** Get a DAppClient instance. Will make sure only one dAppClient exists. After the first instance has been created, the config will be ignored, unless \"reset\" is set */\nexport declare const getDAppClientInstance: (config: DAppClientOptions, reset?: boolean) => DAppClient;\n"},{name:"@airgap/beacon-dapp/dist/esm/utils/shorten-string.d.ts",dts:"export declare const shortenString: (text: string) => string;\n"},{name:"@airgap/beacon-dapp/dist/esm/utils/tzkt-blockexplorer.d.ts",dts:"import { Network, NetworkType } from '@airgap/beacon-types';\nimport { BlockExplorer } from './block-explorer';\nexport declare class TzktBlockExplorer extends BlockExplorer {\n readonly rpcUrls: {\n [key in NetworkType]: string;\n };\n constructor(rpcUrls?: {\n [key in NetworkType]: string;\n });\n getAddressLink(address: string, network: Network): Promise;\n getTransactionLink(transactionId: string, network: Network): Promise;\n}\n"},{name:"@airgap/beacon-dapp/dist/esm/beacon-message-events.d.ts",dts:"import { BeaconEvent } from './events';\nimport { BeaconMessageType } from '@airgap/beacon-types';\nexport declare const messageEvents: {\n [key in BeaconMessageType]: {\n sent: BeaconEvent;\n success: BeaconEvent;\n error: BeaconEvent;\n };\n};\n"},{name:"@airgap/beacon-dapp/dist/esm/events.d.ts",dts:'import { BlockExplorer, AlertButton } from \'@airgap/beacon-dapp\';\nimport { ExtendedPostMessagePairingResponse, PostMessagePairingRequest, ExtendedP2PPairingResponse, P2PPairingRequest, AccountInfo, ErrorResponse, PermissionResponseOutput, OperationResponseOutput, BroadcastResponseOutput, SignPayloadResponseOutput, Network, ConnectionContext, NetworkType, AcknowledgeResponse, WalletInfo, ExtendedWalletConnectPairingResponse, WalletConnectPairingRequest, AnalyticsInterface } from \'@airgap/beacon-types\';\nimport { Transport } from \'@airgap/beacon-core\';\n/**\n * The different events that can be emitted by the beacon-sdk\n */\nexport declare enum BeaconEvent {\n PERMISSION_REQUEST_SENT = "PERMISSION_REQUEST_SENT",\n PERMISSION_REQUEST_SUCCESS = "PERMISSION_REQUEST_SUCCESS",\n PERMISSION_REQUEST_ERROR = "PERMISSION_REQUEST_ERROR",\n OPERATION_REQUEST_SENT = "OPERATION_REQUEST_SENT",\n OPERATION_REQUEST_SUCCESS = "OPERATION_REQUEST_SUCCESS",\n OPERATION_REQUEST_ERROR = "OPERATION_REQUEST_ERROR",\n SIGN_REQUEST_SENT = "SIGN_REQUEST_SENT",\n SIGN_REQUEST_SUCCESS = "SIGN_REQUEST_SUCCESS",\n SIGN_REQUEST_ERROR = "SIGN_REQUEST_ERROR",\n BROADCAST_REQUEST_SENT = "BROADCAST_REQUEST_SENT",\n BROADCAST_REQUEST_SUCCESS = "BROADCAST_REQUEST_SUCCESS",\n BROADCAST_REQUEST_ERROR = "BROADCAST_REQUEST_ERROR",\n ACKNOWLEDGE_RECEIVED = "ACKNOWLEDGE_RECEIVED",\n LOCAL_RATE_LIMIT_REACHED = "LOCAL_RATE_LIMIT_REACHED",\n NO_PERMISSIONS = "NO_PERMISSIONS",\n ACTIVE_ACCOUNT_SET = "ACTIVE_ACCOUNT_SET",\n ACTIVE_TRANSPORT_SET = "ACTIVE_TRANSPORT_SET",\n SHOW_PREPARE = "SHOW_PREPARE",\n HIDE_UI = "HIDE_UI",\n PAIR_INIT = "PAIR_INIT",\n PAIR_SUCCESS = "PAIR_SUCCESS",\n CHANNEL_CLOSED = "CHANNEL_CLOSED",\n INTERNAL_ERROR = "INTERNAL_ERROR",\n UNKNOWN = "UNKNOWN"\n}\nexport interface ExtraInfo {\n resetCallback?(): Promise;\n}\ninterface RequestSentInfo {\n extraInfo: ExtraInfo;\n walletInfo: WalletInfo;\n}\n/**\n * The type of the payload of the different BeaconEvents\n */\nexport interface BeaconEventType {\n [BeaconEvent.PERMISSION_REQUEST_SENT]: RequestSentInfo;\n [BeaconEvent.PERMISSION_REQUEST_SUCCESS]: {\n account: AccountInfo;\n output: PermissionResponseOutput;\n blockExplorer: BlockExplorer;\n connectionContext: ConnectionContext;\n walletInfo: WalletInfo;\n };\n [BeaconEvent.PERMISSION_REQUEST_ERROR]: {\n errorResponse: ErrorResponse;\n walletInfo: WalletInfo;\n };\n [BeaconEvent.OPERATION_REQUEST_SENT]: RequestSentInfo;\n [BeaconEvent.OPERATION_REQUEST_SUCCESS]: {\n account: AccountInfo;\n output: OperationResponseOutput;\n blockExplorer: BlockExplorer;\n connectionContext: ConnectionContext;\n walletInfo: WalletInfo;\n };\n [BeaconEvent.OPERATION_REQUEST_ERROR]: {\n errorResponse: ErrorResponse;\n walletInfo: WalletInfo;\n errorMessages: Record>;\n };\n [BeaconEvent.SIGN_REQUEST_SENT]: RequestSentInfo;\n [BeaconEvent.SIGN_REQUEST_SUCCESS]: {\n output: SignPayloadResponseOutput;\n connectionContext: ConnectionContext;\n walletInfo: WalletInfo;\n };\n [BeaconEvent.SIGN_REQUEST_ERROR]: {\n errorResponse: ErrorResponse;\n walletInfo: WalletInfo;\n };\n [BeaconEvent.BROADCAST_REQUEST_SENT]: RequestSentInfo;\n [BeaconEvent.BROADCAST_REQUEST_SUCCESS]: {\n network: Network;\n output: BroadcastResponseOutput;\n blockExplorer: BlockExplorer;\n connectionContext: ConnectionContext;\n walletInfo: WalletInfo;\n };\n [BeaconEvent.BROADCAST_REQUEST_ERROR]: {\n errorResponse: ErrorResponse;\n walletInfo: WalletInfo;\n };\n [BeaconEvent.ACKNOWLEDGE_RECEIVED]: {\n message: AcknowledgeResponse;\n extraInfo: ExtraInfo;\n walletInfo: WalletInfo;\n };\n [BeaconEvent.LOCAL_RATE_LIMIT_REACHED]: undefined;\n [BeaconEvent.NO_PERMISSIONS]: undefined;\n [BeaconEvent.ACTIVE_ACCOUNT_SET]: AccountInfo;\n [BeaconEvent.ACTIVE_TRANSPORT_SET]: Transport;\n [BeaconEvent.SHOW_PREPARE]: {\n walletInfo?: WalletInfo;\n };\n [BeaconEvent.HIDE_UI]: (\'alert\' | \'toast\')[] | undefined;\n [BeaconEvent.PAIR_INIT]: {\n p2pPeerInfo: () => Promise;\n postmessagePeerInfo: () => Promise;\n walletConnectPeerInfo: () => Promise;\n networkType: NetworkType;\n abortedHandler?(): void;\n disclaimerText?: string;\n analytics: AnalyticsInterface;\n featuredWallets?: string[];\n };\n [BeaconEvent.PAIR_SUCCESS]: ExtendedPostMessagePairingResponse | ExtendedP2PPairingResponse | ExtendedWalletConnectPairingResponse;\n [BeaconEvent.CHANNEL_CLOSED]: string;\n [BeaconEvent.INTERNAL_ERROR]: {\n text: string;\n buttons?: AlertButton[];\n };\n [BeaconEvent.UNKNOWN]: undefined;\n}\nexport declare type BeaconEventHandlerFunction = (data: T, eventCallback?: AlertButton[]) => void | Promise;\n/**\n * The default event handlers\n */\nexport declare const defaultEventCallbacks: {\n [key in BeaconEvent]: BeaconEventHandlerFunction;\n};\n/**\n * @internalapi\n *\n * Handles beacon events\n */\nexport declare class BeaconEventHandler {\n private readonly callbackMap;\n constructor(eventsToOverride?: {\n [key in BeaconEvent]?: {\n handler: BeaconEventHandlerFunction;\n };\n }, overrideAll?: boolean);\n /**\n * A method to subscribe to a specific beacon event and register a callback\n *\n * @param event The event being emitted\n * @param eventCallback The callback that will be invoked\n */\n on(event: K, eventCallback: BeaconEventHandlerFunction): Promise;\n /**\n * Emit a beacon event\n *\n * @param event The event being emitted\n * @param data The data to be emit\n */\n emit(event: K, data?: BeaconEventType[K], eventCallback?: AlertButton[]): Promise;\n /**\n * Override beacon event default callbacks. This can be used to disable default alert/toast behaviour\n *\n * @param eventsToOverride An object with the events to override\n */\n private overrideDefaults;\n /**\n * Set all event callbacks to a specific handler.\n */\n private setAllHandlers;\n}\nexport {};\n'},{name:"@airgap/beacon-dapp/dist/esm/index.d.ts",dts:"export * from '@airgap/beacon-core';\nexport * from '@airgap/beacon-transport-matrix';\nexport * from '@airgap/beacon-transport-postmessage';\nexport * from '@airgap/beacon-types';\nexport * from '@airgap/beacon-utils';\nexport * from '@airgap/beacon-ui';\nimport { DAppClient } from './dapp-client/DAppClient';\nimport { DAppClientOptions } from './dapp-client/DAppClientOptions';\nimport { BeaconEvent, BeaconEventHandler, defaultEventCallbacks } from './events';\nimport { BlockExplorer } from './utils/block-explorer';\nimport { TzktBlockExplorer } from './utils/tzkt-blockexplorer';\nimport { getDAppClientInstance } from './utils/get-instance';\nexport { DAppClient, DAppClientOptions, getDAppClientInstance };\nexport { BeaconEvent, BeaconEventHandler, defaultEventCallbacks };\nexport { BlockExplorer, TzktBlockExplorer, TzktBlockExplorer as TezblockBlockExplorer };\n"},{name:"@airgap/beacon-sdk/index.d.ts",dts:"export * from '@airgap/beacon-blockchain-substrate';\nexport * from '@airgap/beacon-blockchain-tezos';\nexport * from '@airgap/beacon-core';\nexport * from '@airgap/beacon-dapp';\nexport * from '@airgap/beacon-transport-matrix';\nexport * from '@airgap/beacon-transport-postmessage';\nexport * from '@airgap/beacon-transport-walletconnect';\nexport * from '@airgap/beacon-types';\nexport * from '@airgap/beacon-utils';\nexport * from '@airgap/beacon-wallet';\n"},{name:"@airgap/beacon-transport-matrix/communication-client/P2PCommunicationClient.d.ts",dts:"import { MatrixClientEvent, MatrixClientEventType, MatrixClientEventMessageContent } from '../matrix-client/models/MatrixClientEvent';\nimport { Storage, P2PPairingRequest, ExtendedP2PPairingResponse, P2PPairingResponse, NodeDistributions, Regions } from '@airgap/beacon-types';\nimport { CommunicationClient } from '@airgap/beacon-core';\nimport { ExposedPromise } from '@airgap/beacon-utils';\nimport { KeyPair } from '@stablelib/ed25519';\ninterface BeaconInfoResponse {\n region: string;\n known_servers: string[];\n timestamp: number;\n}\n/**\n * @internalapi\n */\nexport declare class P2PCommunicationClient extends CommunicationClient {\n private readonly name;\n readonly replicationCount: number;\n private readonly storage;\n private readonly iconUrl?;\n private readonly appUrl?;\n private client;\n private initialEvent;\n private initialListener;\n private selectedRegion?;\n private readonly ENABLED_RELAY_SERVERS;\n relayServer: ExposedPromise<{\n server: string;\n timestamp: number;\n localTimestamp: number;\n }> | undefined;\n private readonly activeListeners;\n private readonly ignoredRooms;\n private loginCounter;\n constructor(name: string, keyPair: KeyPair, replicationCount: number, storage: Storage, matrixNodes?: NodeDistributions, iconUrl?: string | undefined, appUrl?: string | undefined);\n getPairingRequestInfo(): Promise;\n getPairingResponseInfo(request: P2PPairingRequest): Promise;\n findBestRegion(): Promise;\n getRelayServer(): Promise<{\n server: string;\n timestamp: number;\n }>;\n getBeaconInfo(server: string): Promise;\n tryJoinRooms(roomId: string, retry?: number): Promise;\n start(): Promise;\n stop(): Promise;\n reset(): Promise;\n listenForEncryptedMessage(senderPublicKey: string, messageCallback: (message: string) => void): Promise;\n unsubscribeFromEncryptedMessage(senderPublicKey: string): Promise;\n unsubscribeFromEncryptedMessages(): Promise;\n sendMessage(message: string, peer: P2PPairingRequest | ExtendedP2PPairingResponse): Promise;\n updatePeerRoom(sender: string, roomId: string): Promise;\n deleteRoomIdFromRooms(roomId: string): Promise;\n listenForChannelOpening(messageCallback: (pairingResponse: ExtendedP2PPairingResponse) => void): Promise;\n waitForJoin(roomId: string, retry?: number): Promise;\n sendPairingResponse(pairingRequest: P2PPairingRequest): Promise;\n isTextMessage(content: MatrixClientEventMessageContent): content is MatrixClientEventMessageContent;\n updateRelayServer(sender: string): Promise;\n isChannelOpenMessage(content: MatrixClientEventMessageContent): Promise;\n isSender(event: MatrixClientEvent, senderPublicKey: string): Promise;\n private getRelevantRoom;\n private getRelevantJoinedRoom;\n}\nexport {};\n"},{name:"@airgap/beacon-transport-matrix/matrix-client/models/api/MatrixEventSend.d.ts",dts:"export interface MatrixEventSendRequest {\n content: any;\n}\nexport interface MatrixEventSendResponse {\n type?: 'event_send';\n event_id: string;\n}\n"},{name:"@airgap/beacon-transport-matrix/matrix-client/models/api/MatrixLogin.d.ts",dts:"export interface MatrixLoginRequest {\n type: 'm.login.password';\n identifier: {\n type: 'm.id.user';\n user: string;\n };\n password: string;\n device_id?: string;\n}\nexport interface MatrixLoginResponse {\n type?: 'login';\n user_id: string;\n device_id: string;\n access_token: string;\n}\n"},{name:"@airgap/beacon-transport-matrix/matrix-client/models/api/MatrixRequest.d.ts",dts:"import { MatrixLoginRequest, MatrixLoginResponse } from './MatrixLogin';\nimport { MatrixRoomCreateRequest, MatrixRoomCreateResponse } from './MatrixRoomCreate';\nimport { MatrixRoomInviteRequest, MatrixRoomInviteResponse } from './MatrixRoomInvite';\nimport { MatrixRoomJoinRequest, MatrixRoomJoinResponse } from './MatrixRoomJoin';\nimport { MatrixEventSendRequest, MatrixEventSendResponse } from './MatrixEventSend';\nimport { MatrixSyncResponse, MatrixSyncRequestParams } from './MatrixSync';\nexport declare type MatrixRequest = T extends MatrixLoginResponse ? MatrixLoginRequest : T extends MatrixRoomCreateResponse ? MatrixRoomCreateRequest : T extends MatrixRoomInviteResponse ? MatrixRoomInviteRequest : T extends MatrixRoomJoinResponse ? MatrixRoomJoinRequest : T extends MatrixEventSendResponse ? MatrixEventSendRequest : never;\nexport declare type MatrixRequestParams = T extends MatrixSyncResponse ? MatrixSyncRequestParams : never;\n"},{name:"@airgap/beacon-transport-matrix/matrix-client/models/api/MatrixRoomCreate.d.ts",dts:"export interface MatrixRoomCreateRequest {\n room_version?: '5';\n visibility?: 'public' | 'private';\n room_alias_name?: string;\n name?: string;\n topic?: string;\n invite?: string[];\n preset?: 'private_chat' | 'public_chat' | 'trusted_private_chat';\n is_direct?: boolean;\n}\nexport interface MatrixRoomCreateResponse {\n type?: 'room_create';\n room_id: string;\n}\n"},{name:"@airgap/beacon-transport-matrix/matrix-client/models/api/MatrixRoomInvite.d.ts",dts:"export interface MatrixRoomInviteRequest {\n user_id: string;\n}\nexport interface MatrixRoomInviteResponse {\n type?: 'room_invite';\n}\n"},{name:"@airgap/beacon-transport-matrix/matrix-client/models/api/MatrixRoomJoin.d.ts",dts:"export interface MatrixRoomJoinRequest {\n}\nexport interface MatrixRoomJoinResponse {\n type?: 'room_join';\n room_id: string;\n}\n"},{name:"@airgap/beacon-transport-matrix/matrix-client/models/api/MatrixSync.d.ts",dts:"import { MatrixStateEvent } from '../MatrixStateEvent';\nexport interface MatrixSyncJoinedRoom {\n state: {\n events: MatrixStateEvent[];\n };\n timeline: {\n events: MatrixStateEvent[];\n };\n}\nexport interface MatrixSyncInvitedRoom {\n invite_state: {\n events: MatrixStateEvent[];\n };\n}\nexport interface MatrixSyncLeftRoom {\n state: {\n events: MatrixStateEvent[];\n };\n timeline: {\n events: MatrixStateEvent[];\n };\n}\nexport interface MatrixSyncRooms {\n join?: {\n [key: string]: MatrixSyncJoinedRoom;\n };\n invite?: {\n [key: string]: MatrixSyncInvitedRoom;\n };\n leave?: {\n [key: string]: MatrixSyncLeftRoom;\n };\n}\nexport interface MatrixSyncRequestParams {\n timeout?: number;\n since?: string;\n}\nexport interface MatrixSyncResponse {\n type?: 'sync';\n next_batch: string;\n rooms?: MatrixSyncRooms;\n}\n"},{name:"@airgap/beacon-transport-matrix/matrix-client/models/MatrixClientEvent.d.ts",dts:'import { MatrixMessage } from \'./MatrixMessage\';\nexport declare enum MatrixClientEventType {\n INVITE = "invite",\n MESSAGE = "message"\n}\nexport declare type MatrixClientEventContent = T extends MatrixClientEventType.INVITE ? MatrixClientEventInviteContent : T extends MatrixClientEventType.MESSAGE ? MatrixClientEventMessageContent : never;\nexport interface MatrixClientEventInviteContent {\n roomId: string;\n members: string[];\n}\nexport interface MatrixClientEventMessageContent {\n roomId: string;\n message: MatrixMessage;\n}\nexport interface MatrixClientEvent {\n type: T;\n content: MatrixClientEventContent;\n timestamp?: number;\n}\n'},{name:"@airgap/beacon-transport-matrix/matrix-client/models/MatrixMessage.d.ts",dts:"import { MatrixStateEvent } from './MatrixStateEvent';\nexport declare enum MatrixMessageType {\n TEXT = \"m.text\"\n}\nexport declare class MatrixMessage {\n readonly type: MatrixMessageType;\n readonly sender: string;\n readonly content: T;\n readonly timestamp: number;\n /**\n * Construct a message from a message event\n *\n * @param event\n */\n static from(event: MatrixStateEvent): MatrixMessage | undefined;\n private constructor();\n}\n"},{name:"@airgap/beacon-transport-matrix/matrix-client/models/MatrixRoom.d.ts",dts:"import { MatrixSyncRooms } from './api/MatrixSync';\nimport { MatrixMessage } from './MatrixMessage';\nexport declare enum MatrixRoomStatus {\n UNKNOWN = 0,\n JOINED = 1,\n INVITED = 2,\n LEFT = 3\n}\nexport declare class MatrixRoom {\n readonly id: string;\n readonly status: MatrixRoomStatus;\n readonly members: string[];\n messages: MatrixMessage[];\n /**\n * Reconstruct rooms from a sync response\n *\n * @param roomSync\n */\n static fromSync(roomSync?: MatrixSyncRooms): MatrixRoom[];\n /**\n * Reconstruct a room from an ID or object\n *\n * @param roomOrId\n * @param status\n */\n static from(roomOrId: string | MatrixRoom, status?: MatrixRoomStatus): MatrixRoom;\n /**\n * Merge new and old state and remove duplicates\n *\n * @param newState\n * @param previousState\n */\n static merge(newState: MatrixRoom, previousState?: MatrixRoom): MatrixRoom;\n /**\n * Create a room from a join\n *\n * @param id\n * @param joined\n */\n private static fromJoined;\n /**\n * Create a room from an invite\n *\n * @param id\n * @param invited\n */\n private static fromInvited;\n /**\n * Create a room from a leave\n *\n * @param id\n * @param left\n */\n private static fromLeft;\n /**\n * Extract members from an event\n *\n * @param events\n */\n private static getMembersFromEvents;\n /**\n * Extract messages from an event\n *\n * @param events\n */\n private static getMessagesFromEvents;\n /**\n * Get unique events and remove duplicates\n *\n * @param events\n */\n private static getUniqueEvents;\n private constructor();\n}\n"},{name:"@airgap/beacon-transport-matrix/matrix-client/models/MatrixStateEvent.d.ts",dts:"import { MatrixMessageType } from './MatrixMessage';\nexport interface MatrixStateEventMessageText extends MatrixStateEventMessage {\n type: 'm.room.message';\n content: {\n msgtype: MatrixMessageType.TEXT;\n body: string;\n };\n}\nexport interface MatrixStateEventMessageContent {\n msgtype: string;\n body: any;\n [key: string]: any;\n}\nexport interface MatrixStateEventMessage extends MatrixStateEvent {\n type: 'm.room.message';\n content: MatrixStateEventMessageContent;\n}\nexport interface MatrixStateEvent {\n type: string;\n sender: string;\n content: unknown;\n event_id?: string;\n origin_server_ts: number;\n}\n"},{name:"@airgap/beacon-transport-matrix/matrix-client/services/MatrixEventService.d.ts",dts:"import { MatrixHttpClient } from '../MatrixHttpClient';\nimport { MatrixEventSendResponse } from '../models/api/MatrixEventSend';\nimport { MatrixSyncResponse } from '../models/api/MatrixSync';\nimport { MatrixStateEventMessageContent } from '../models/MatrixStateEvent';\ninterface MatrixScheduledEvent {\n accessToken: string;\n roomId: string;\n type: MatrixEventType;\n content: any;\n txnId: string;\n onSuccess(response: T): void;\n onError(error: unknown): void;\n}\ndeclare type MatrixEventType = 'm.room.message';\nexport interface MatrixSyncOptions {\n syncToken?: string;\n pollingTimeout?: number;\n}\n/**\n * A service to help with matrix event management\n */\nexport declare class MatrixEventService {\n private readonly httpClient;\n private readonly cachedPromises;\n constructor(httpClient: MatrixHttpClient);\n /**\n * Get the latest state from the matrix node\n *\n * @param accessToken\n * @param options\n */\n sync(accessToken: string, options?: MatrixSyncOptions): Promise;\n /**\n * Send a message to a room\n *\n * @param accessToken\n * @param room\n * @param content\n * @param txnId\n */\n sendMessage(accessToken: string, roomId: string, content: MatrixStateEventMessageContent, txnId: string): Promise;\n /**\n * Schedules an event to be sent to the node\n *\n * @param event\n */\n scheduleEvent(event: MatrixScheduledEvent): void;\n /**\n * Send an event to the matrix node\n *\n * @param scheduledEvent\n */\n sendEvent(scheduledEvent: MatrixScheduledEvent): Promise;\n /**\n * Check the cache when interacting with the Matrix node, if there is an already ongoing call for the specified key, return its promise instead of duplicating the call.\n *\n * @param key\n * @param promiseProvider\n */\n private withCache;\n}\nexport {};\n"},{name:"@airgap/beacon-transport-matrix/matrix-client/services/MatrixRoomService.d.ts",dts:"import { MatrixHttpClient } from '../MatrixHttpClient';\nimport { MatrixRoom } from '../models/MatrixRoom';\nimport { MatrixRoomCreateRequest, MatrixRoomCreateResponse } from '../models/api/MatrixRoomCreate';\nimport { MatrixRoomInviteResponse } from '../models/api/MatrixRoomInvite';\nimport { MatrixRoomJoinResponse } from '../models/api/MatrixRoomJoin';\n/**\n * A service to help with matrix room management\n */\nexport declare class MatrixRoomService {\n private readonly httpClient;\n constructor(httpClient: MatrixHttpClient);\n /**\n * Create a room\n *\n * @param accessToken\n * @param config\n */\n createRoom(accessToken: string, config?: MatrixRoomCreateRequest): Promise;\n /**\n * Invite a user to a room\n *\n * @param accessToken\n * @param user\n * @param room\n */\n inviteToRoom(accessToken: string, user: string, room: MatrixRoom): Promise;\n /**\n * Join a specific room\n *\n * @param accessToken\n * @param room\n */\n joinRoom(accessToken: string, room: MatrixRoom): Promise;\n /**\n * Get all joined rooms\n *\n * @param accessToken\n */\n getJoinedRooms(accessToken: string): Promise;\n}\n"},{name:"@airgap/beacon-transport-matrix/matrix-client/services/MatrixUserService.d.ts",dts:"import { MatrixHttpClient } from '../MatrixHttpClient';\nimport { MatrixLoginResponse } from '../models/api/MatrixLogin';\nexport declare class MatrixUserService {\n private readonly httpClient;\n constructor(httpClient: MatrixHttpClient);\n /**\n * Log in to the matrix node with username and password\n *\n * @param user\n * @param password\n * @param deviceId\n */\n login(user: string, password: string, deviceId: string): Promise;\n}\n"},{name:"@airgap/beacon-transport-matrix/matrix-client/utils/events.d.ts",dts:"import { MatrixStateEvent, MatrixStateEventMessageText } from '../models/MatrixStateEvent';\n/**\n * Check if an event is a create event\n *\n * @param event MatrixStateEvent\n */\nexport declare const isCreateEvent: (event: MatrixStateEvent) => boolean;\n/**\n * Check if an event is a join event\n *\n * @param event MatrixStateEvent\n */\nexport declare const isJoinEvent: (event: MatrixStateEvent) => boolean;\n/**\n * Check if an event is a message event\n *\n * @param event MatrixStateEvent\n */\nexport declare const isMessageEvent: (event: MatrixStateEvent) => boolean;\n/**\n * Check if an event is a text message event\n *\n * @param event MatrixStateEvent\n */\nexport declare const isTextMessageEvent: (event: MatrixStateEvent) => event is MatrixStateEventMessageText;\n"},{name:"@airgap/beacon-transport-matrix/matrix-client/EventEmitter.d.ts",dts:"declare type Listener = (...args: any[]) => void;\nexport declare class EventEmitter {\n private readonly events;\n on(event: string, listener: Listener): () => void;\n removeListener(event: string, listener?: Listener): void;\n removeAllListeners(): void;\n emit(event: string, ...args: any[]): void;\n once(event: string, listener: Listener): () => void;\n}\nexport {};\n"},{name:"@airgap/beacon-transport-matrix/matrix-client/MatrixClient.d.ts",dts:"import { Storage } from '@airgap/beacon-types';\nimport { MatrixClientStore } from './MatrixClientStore';\nimport { MatrixHttpClient } from './MatrixHttpClient';\nimport { MatrixRoom } from './models/MatrixRoom';\nimport { MatrixRoomService } from './services/MatrixRoomService';\nimport { MatrixUserService } from './services/MatrixUserService';\nimport { MatrixEventService } from './services/MatrixEventService';\nimport { MatrixClientEventEmitter } from './MatrixClientEventEmitter';\nimport { MatrixClientEventType, MatrixClientEvent } from './models/MatrixClientEvent';\ninterface MatrixClientOptions {\n baseUrl: string;\n storage: Storage;\n}\ninterface MatrixLoginConfig {\n id: string;\n password: string;\n deviceId: string;\n}\n/**\n * The matrix client used to connect to the matrix network\n */\nexport declare class MatrixClient {\n private readonly store;\n private readonly eventEmitter;\n private readonly userService;\n private readonly roomService;\n private readonly eventService;\n private readonly httpClient;\n private isActive;\n private _isReady;\n constructor(store: MatrixClientStore, eventEmitter: MatrixClientEventEmitter, userService: MatrixUserService, roomService: MatrixRoomService, eventService: MatrixEventService, httpClient: MatrixHttpClient);\n /**\n * Create a matrix client based on the options provided\n *\n * @param config\n */\n static create(config: MatrixClientOptions): MatrixClient;\n /**\n * Return all the rooms we are currently part of\n */\n get joinedRooms(): Promise;\n /**\n * Return all the rooms to which we have received invitations\n */\n get invitedRooms(): Promise;\n /**\n * Return all the rooms that we left\n */\n get leftRooms(): Promise;\n /**\n * Initiate the connection to the matrix node and log in\n *\n * @param user\n */\n start(user: MatrixLoginConfig): Promise;\n isConnected(): Promise;\n /**\n * Stop all running requests\n */\n stop(): Promise;\n /**\n * Subscribe to new matrix events\n *\n * @param event\n * @param listener\n */\n subscribe(event: T, listener: (event: MatrixClientEvent) => void): void;\n /**\n * Unsubscribe from matrix events\n *\n * @param event\n * @param listener\n */\n unsubscribe(event: MatrixClientEventType, listener: (event: MatrixClientEvent) => void): void;\n /**\n * Unsubscribe from all matrix events of this type\n *\n * @param event\n * @param listener\n */\n unsubscribeAll(event: MatrixClientEventType): void;\n getRoomById(id: string): Promise;\n /**\n * Create a private room with the supplied members\n *\n * @param members Members that will be in the room\n */\n createTrustedPrivateRoom(...members: string[]): Promise;\n /**\n * Invite user to rooms\n *\n * @param user The user to be invited\n * @param roomsOrIds The rooms the user will be invited to\n */\n inviteToRooms(user: string, ...roomsOrIds: string[] | MatrixRoom[]): Promise;\n /**\n * Join rooms\n *\n * @param roomsOrIds\n */\n joinRooms(...roomsOrIds: string[] | MatrixRoom[]): Promise;\n /**\n * Send a text message\n *\n * @param roomOrId\n * @param message\n */\n sendTextMessage(roomId: string, message: string): Promise;\n /**\n * Poll the server to get the latest data and get notified of changes\n *\n * @param interval\n * @param onSyncSuccess\n * @param onSyncError\n */\n private poll;\n /**\n * Get state from server\n */\n private sync;\n /**\n * A helper method that makes sure an access token is provided\n *\n * @param name\n * @param action\n */\n private requiresAuthorization;\n /**\n * Create a transaction ID\n */\n private createTxnId;\n}\nexport {};\n"},{name:"@airgap/beacon-transport-matrix/matrix-client/MatrixClientEventEmitter.d.ts",dts:"import { EventEmitter } from './EventEmitter';\nimport { MatrixStateStore, MatrixStateUpdate } from './MatrixClientStore';\nexport declare class MatrixClientEventEmitter extends EventEmitter {\n private readonly eventEmitProviders;\n /**\n * This method is called every time the state is changed\n *\n * @param _oldState\n * @param _newState\n * @param stateChange\n */\n onStateChanged(_oldState: MatrixStateStore, _newState: MatrixStateStore, stateChange: Partial): void;\n /**\n * Emit the message if we have listeners registered for that type\n *\n * @param eventType\n * @param object\n */\n private emitIfEvent;\n /**\n * Emit a client event\n *\n * @param eventType\n * @param content\n */\n private emitClientEvent;\n /**\n * Check if event is an invite\n *\n * @param stateChange\n */\n private isInvite;\n /**\n * Emit an invite\n *\n * @param eventType\n * @param stateChange\n */\n private emitInvite;\n /**\n * Check if event is a message\n *\n * @param stateChange\n */\n private isMessage;\n /**\n * Emit an event to all rooms\n *\n * @param eventType\n * @param stateChange\n */\n private emitMessage;\n}\n"},{name:"@airgap/beacon-transport-matrix/matrix-client/MatrixClientStore.d.ts",dts:"import { MatrixRoom } from './models/MatrixRoom';\nimport { Storage } from '@airgap/beacon-types';\ndeclare type OnStateChangedListener = (oldState: MatrixStateStore, newState: MatrixStateStore, stateChange: Partial) => void;\nexport interface MatrixState {\n isRunning: boolean;\n userId: string | undefined;\n deviceId: string | undefined;\n txnNo: number;\n accessToken: string | undefined;\n syncToken: string | undefined;\n pollingTimeout: number | undefined;\n pollingRetries: number;\n rooms: MatrixRoom[] | Record;\n}\nexport interface MatrixStateStore extends MatrixState {\n rooms: Record;\n}\nexport interface MatrixStateUpdate extends MatrixState {\n rooms: MatrixRoom[];\n}\n/**\n * The class managing the local state of matrix\n */\nexport declare class MatrixClientStore {\n private readonly storage;\n /**\n * The state of the matrix client\n */\n private state;\n /**\n * Listeners that will be called when the state changes\n */\n private readonly onStateChangedListeners;\n /**\n * A promise that resolves once the client is ready\n */\n private waitReadyPromise;\n constructor(storage: Storage);\n /**\n * Get an item from the state\n *\n * @param key\n */\n get(key: T): MatrixStateStore[T];\n /**\n * Get the room from an ID or room instance\n *\n * @param roomOrId\n */\n getRoom(roomOrId: string | MatrixRoom): MatrixRoom;\n /**\n * Update the state with a partial state\n *\n * @param stateUpdate\n */\n update(stateUpdate: Partial): Promise;\n /**\n * Register listeners that are called once the state has changed\n *\n * @param listener\n * @param subscribed\n */\n onStateChanged(listener: OnStateChangedListener, ...subscribed: (keyof MatrixState)[]): void;\n /**\n * A promise that resolves once the client is ready\n */\n private waitReady;\n /**\n * Read state from storage\n */\n private initFromStorage;\n /**\n * Prepare data before persisting it in storage\n *\n * @param toStore\n */\n private prepareData;\n /**\n * Persist state in storage\n *\n * @param stateUpdate\n */\n private updateStorage;\n /**\n * Set the state\n *\n * @param partialState\n */\n private setState;\n /**\n * Merge room records and eliminate duplicates\n *\n * @param oldRooms\n * @param _newRooms\n */\n private mergeRooms;\n /**\n * Notify listeners of state changes\n *\n * @param oldState\n * @param newState\n * @param stateChange\n */\n private notifyListeners;\n}\nexport {};\n"},{name:"@airgap/beacon-transport-matrix/matrix-client/MatrixHttpClient.d.ts",dts:"import { MatrixRequest, MatrixRequestParams } from './models/api/MatrixRequest';\ninterface HttpOptions {\n accessToken?: string;\n}\n/**\n * Handling the HTTP connection to the matrix synapse node\n */\nexport declare class MatrixHttpClient {\n private readonly baseUrl;\n private readonly cancelTokenSource;\n constructor(baseUrl: string);\n /**\n * Get data from the synapse node\n *\n * @param endpoint\n * @param options\n */\n get(endpoint: string, params?: MatrixRequestParams, options?: HttpOptions): Promise;\n /**\n * Post data to the synapse node\n *\n * @param endpoint\n * @param body\n * @param options\n * @param params\n */\n post(endpoint: string, body: MatrixRequest, options?: HttpOptions, params?: MatrixRequestParams): Promise;\n /**\n * Put data to the synapse node\n *\n * @param endpoint\n * @param body\n * @param options\n * @param params\n */\n put(endpoint: string, body: MatrixRequest, options?: HttpOptions, params?: MatrixRequestParams): Promise;\n cancelAllRequests(): Promise;\n /**\n * Send a request to the synapse node\n *\n * @param method\n * @param endpoint\n * @param config\n * @param requestParams\n * @param data\n */\n private send;\n /**\n * Get the headers based on the options object\n *\n * @param options\n */\n private getHeaders;\n /**\n * Get parameters\n *\n * @param _params\n */\n private getParams;\n /**\n * Construct API URL\n */\n private apiUrl;\n}\nexport {};\n"},{name:"@airgap/beacon-transport-matrix/P2PTransport.d.ts",dts:"import { Transport } from '@airgap/beacon-core';\nimport { ExtendedP2PPairingResponse, Storage, StorageKey, TransportType, P2PPairingRequest, NodeDistributions } from '@airgap/beacon-types';\nimport { P2PCommunicationClient } from '@airgap/beacon-transport-matrix';\nimport { KeyPair } from '@stablelib/ed25519';\n/**\n * @internalapi\n *\n *\n */\nexport declare class P2PTransport extends Transport {\n readonly type: TransportType;\n constructor(name: string, keyPair: KeyPair, storage: Storage, matrixNodes: NodeDistributions, storageKey: K, iconUrl?: string, appUrl?: string);\n static isAvailable(): Promise;\n connect(): Promise;\n disconnect(): Promise;\n startOpenChannelListener(): Promise;\n getPairingRequestInfo(): Promise;\n listen(publicKey: string): Promise;\n}\n"},{name:"@airgap/beacon-transport-matrix/index.d.ts",dts:"export { P2PCommunicationClient } from './communication-client/P2PCommunicationClient';\nexport { P2PTransport } from './P2PTransport';\n"},{name:"@airgap/beacon-transport-matrix/dist/esm/communication-client/P2PCommunicationClient.d.ts",dts:"import { MatrixClientEvent, MatrixClientEventType, MatrixClientEventMessageContent } from '../matrix-client/models/MatrixClientEvent';\nimport { Storage, P2PPairingRequest, ExtendedP2PPairingResponse, P2PPairingResponse, NodeDistributions, Regions } from '@airgap/beacon-types';\nimport { CommunicationClient } from '@airgap/beacon-core';\nimport { ExposedPromise } from '@airgap/beacon-utils';\nimport { KeyPair } from '@stablelib/ed25519';\ninterface BeaconInfoResponse {\n region: string;\n known_servers: string[];\n timestamp: number;\n}\n/**\n * @internalapi\n */\nexport declare class P2PCommunicationClient extends CommunicationClient {\n private readonly name;\n readonly replicationCount: number;\n private readonly storage;\n private readonly iconUrl?;\n private readonly appUrl?;\n private client;\n private initialEvent;\n private initialListener;\n private selectedRegion?;\n private readonly ENABLED_RELAY_SERVERS;\n relayServer: ExposedPromise<{\n server: string;\n timestamp: number;\n localTimestamp: number;\n }> | undefined;\n private readonly activeListeners;\n private readonly ignoredRooms;\n private loginCounter;\n constructor(name: string, keyPair: KeyPair, replicationCount: number, storage: Storage, matrixNodes?: NodeDistributions, iconUrl?: string | undefined, appUrl?: string | undefined);\n getPairingRequestInfo(): Promise;\n getPairingResponseInfo(request: P2PPairingRequest): Promise;\n findBestRegion(): Promise;\n getRelayServer(): Promise<{\n server: string;\n timestamp: number;\n }>;\n getBeaconInfo(server: string): Promise;\n tryJoinRooms(roomId: string, retry?: number): Promise;\n start(): Promise;\n stop(): Promise;\n reset(): Promise;\n listenForEncryptedMessage(senderPublicKey: string, messageCallback: (message: string) => void): Promise;\n unsubscribeFromEncryptedMessage(senderPublicKey: string): Promise;\n unsubscribeFromEncryptedMessages(): Promise;\n sendMessage(message: string, peer: P2PPairingRequest | ExtendedP2PPairingResponse): Promise;\n updatePeerRoom(sender: string, roomId: string): Promise;\n deleteRoomIdFromRooms(roomId: string): Promise;\n listenForChannelOpening(messageCallback: (pairingResponse: ExtendedP2PPairingResponse) => void): Promise;\n waitForJoin(roomId: string, retry?: number): Promise;\n sendPairingResponse(pairingRequest: P2PPairingRequest): Promise;\n isTextMessage(content: MatrixClientEventMessageContent): content is MatrixClientEventMessageContent;\n updateRelayServer(sender: string): Promise;\n isChannelOpenMessage(content: MatrixClientEventMessageContent): Promise;\n isSender(event: MatrixClientEvent, senderPublicKey: string): Promise;\n private getRelevantRoom;\n private getRelevantJoinedRoom;\n}\nexport {};\n"},{name:"@airgap/beacon-transport-matrix/dist/esm/matrix-client/models/api/MatrixEventSend.d.ts",dts:"export interface MatrixEventSendRequest {\n content: any;\n}\nexport interface MatrixEventSendResponse {\n type?: 'event_send';\n event_id: string;\n}\n"},{name:"@airgap/beacon-transport-matrix/dist/esm/matrix-client/models/api/MatrixLogin.d.ts",dts:"export interface MatrixLoginRequest {\n type: 'm.login.password';\n identifier: {\n type: 'm.id.user';\n user: string;\n };\n password: string;\n device_id?: string;\n}\nexport interface MatrixLoginResponse {\n type?: 'login';\n user_id: string;\n device_id: string;\n access_token: string;\n}\n"},{name:"@airgap/beacon-transport-matrix/dist/esm/matrix-client/models/api/MatrixRequest.d.ts",dts:"import { MatrixLoginRequest, MatrixLoginResponse } from './MatrixLogin';\nimport { MatrixRoomCreateRequest, MatrixRoomCreateResponse } from './MatrixRoomCreate';\nimport { MatrixRoomInviteRequest, MatrixRoomInviteResponse } from './MatrixRoomInvite';\nimport { MatrixRoomJoinRequest, MatrixRoomJoinResponse } from './MatrixRoomJoin';\nimport { MatrixEventSendRequest, MatrixEventSendResponse } from './MatrixEventSend';\nimport { MatrixSyncResponse, MatrixSyncRequestParams } from './MatrixSync';\nexport declare type MatrixRequest = T extends MatrixLoginResponse ? MatrixLoginRequest : T extends MatrixRoomCreateResponse ? MatrixRoomCreateRequest : T extends MatrixRoomInviteResponse ? MatrixRoomInviteRequest : T extends MatrixRoomJoinResponse ? MatrixRoomJoinRequest : T extends MatrixEventSendResponse ? MatrixEventSendRequest : never;\nexport declare type MatrixRequestParams = T extends MatrixSyncResponse ? MatrixSyncRequestParams : never;\n"},{name:"@airgap/beacon-transport-matrix/dist/esm/matrix-client/models/api/MatrixRoomCreate.d.ts",dts:"export interface MatrixRoomCreateRequest {\n room_version?: '5';\n visibility?: 'public' | 'private';\n room_alias_name?: string;\n name?: string;\n topic?: string;\n invite?: string[];\n preset?: 'private_chat' | 'public_chat' | 'trusted_private_chat';\n is_direct?: boolean;\n}\nexport interface MatrixRoomCreateResponse {\n type?: 'room_create';\n room_id: string;\n}\n"},{name:"@airgap/beacon-transport-matrix/dist/esm/matrix-client/models/api/MatrixRoomInvite.d.ts",dts:"export interface MatrixRoomInviteRequest {\n user_id: string;\n}\nexport interface MatrixRoomInviteResponse {\n type?: 'room_invite';\n}\n"},{name:"@airgap/beacon-transport-matrix/dist/esm/matrix-client/models/api/MatrixRoomJoin.d.ts",dts:"export interface MatrixRoomJoinRequest {\n}\nexport interface MatrixRoomJoinResponse {\n type?: 'room_join';\n room_id: string;\n}\n"},{name:"@airgap/beacon-transport-matrix/dist/esm/matrix-client/models/api/MatrixSync.d.ts",dts:"import { MatrixStateEvent } from '../MatrixStateEvent';\nexport interface MatrixSyncJoinedRoom {\n state: {\n events: MatrixStateEvent[];\n };\n timeline: {\n events: MatrixStateEvent[];\n };\n}\nexport interface MatrixSyncInvitedRoom {\n invite_state: {\n events: MatrixStateEvent[];\n };\n}\nexport interface MatrixSyncLeftRoom {\n state: {\n events: MatrixStateEvent[];\n };\n timeline: {\n events: MatrixStateEvent[];\n };\n}\nexport interface MatrixSyncRooms {\n join?: {\n [key: string]: MatrixSyncJoinedRoom;\n };\n invite?: {\n [key: string]: MatrixSyncInvitedRoom;\n };\n leave?: {\n [key: string]: MatrixSyncLeftRoom;\n };\n}\nexport interface MatrixSyncRequestParams {\n timeout?: number;\n since?: string;\n}\nexport interface MatrixSyncResponse {\n type?: 'sync';\n next_batch: string;\n rooms?: MatrixSyncRooms;\n}\n"},{name:"@airgap/beacon-transport-matrix/dist/esm/matrix-client/models/MatrixClientEvent.d.ts",dts:'import { MatrixMessage } from \'./MatrixMessage\';\nexport declare enum MatrixClientEventType {\n INVITE = "invite",\n MESSAGE = "message"\n}\nexport declare type MatrixClientEventContent = T extends MatrixClientEventType.INVITE ? MatrixClientEventInviteContent : T extends MatrixClientEventType.MESSAGE ? MatrixClientEventMessageContent : never;\nexport interface MatrixClientEventInviteContent {\n roomId: string;\n members: string[];\n}\nexport interface MatrixClientEventMessageContent {\n roomId: string;\n message: MatrixMessage;\n}\nexport interface MatrixClientEvent {\n type: T;\n content: MatrixClientEventContent;\n timestamp?: number;\n}\n'},{name:"@airgap/beacon-transport-matrix/dist/esm/matrix-client/models/MatrixMessage.d.ts",dts:"import { MatrixStateEvent } from './MatrixStateEvent';\nexport declare enum MatrixMessageType {\n TEXT = \"m.text\"\n}\nexport declare class MatrixMessage {\n readonly type: MatrixMessageType;\n readonly sender: string;\n readonly content: T;\n readonly timestamp: number;\n /**\n * Construct a message from a message event\n *\n * @param event\n */\n static from(event: MatrixStateEvent): MatrixMessage | undefined;\n private constructor();\n}\n"},{name:"@airgap/beacon-transport-matrix/dist/esm/matrix-client/models/MatrixRoom.d.ts",dts:"import { MatrixSyncRooms } from './api/MatrixSync';\nimport { MatrixMessage } from './MatrixMessage';\nexport declare enum MatrixRoomStatus {\n UNKNOWN = 0,\n JOINED = 1,\n INVITED = 2,\n LEFT = 3\n}\nexport declare class MatrixRoom {\n readonly id: string;\n readonly status: MatrixRoomStatus;\n readonly members: string[];\n messages: MatrixMessage[];\n /**\n * Reconstruct rooms from a sync response\n *\n * @param roomSync\n */\n static fromSync(roomSync?: MatrixSyncRooms): MatrixRoom[];\n /**\n * Reconstruct a room from an ID or object\n *\n * @param roomOrId\n * @param status\n */\n static from(roomOrId: string | MatrixRoom, status?: MatrixRoomStatus): MatrixRoom;\n /**\n * Merge new and old state and remove duplicates\n *\n * @param newState\n * @param previousState\n */\n static merge(newState: MatrixRoom, previousState?: MatrixRoom): MatrixRoom;\n /**\n * Create a room from a join\n *\n * @param id\n * @param joined\n */\n private static fromJoined;\n /**\n * Create a room from an invite\n *\n * @param id\n * @param invited\n */\n private static fromInvited;\n /**\n * Create a room from a leave\n *\n * @param id\n * @param left\n */\n private static fromLeft;\n /**\n * Extract members from an event\n *\n * @param events\n */\n private static getMembersFromEvents;\n /**\n * Extract messages from an event\n *\n * @param events\n */\n private static getMessagesFromEvents;\n /**\n * Get unique events and remove duplicates\n *\n * @param events\n */\n private static getUniqueEvents;\n private constructor();\n}\n"},{name:"@airgap/beacon-transport-matrix/dist/esm/matrix-client/models/MatrixStateEvent.d.ts",dts:"import { MatrixMessageType } from './MatrixMessage';\nexport interface MatrixStateEventMessageText extends MatrixStateEventMessage {\n type: 'm.room.message';\n content: {\n msgtype: MatrixMessageType.TEXT;\n body: string;\n };\n}\nexport interface MatrixStateEventMessageContent {\n msgtype: string;\n body: any;\n [key: string]: any;\n}\nexport interface MatrixStateEventMessage extends MatrixStateEvent {\n type: 'm.room.message';\n content: MatrixStateEventMessageContent;\n}\nexport interface MatrixStateEvent {\n type: string;\n sender: string;\n content: unknown;\n event_id?: string;\n origin_server_ts: number;\n}\n"},{name:"@airgap/beacon-transport-matrix/dist/esm/matrix-client/services/MatrixEventService.d.ts",dts:"import { MatrixHttpClient } from '../MatrixHttpClient';\nimport { MatrixEventSendResponse } from '../models/api/MatrixEventSend';\nimport { MatrixSyncResponse } from '../models/api/MatrixSync';\nimport { MatrixStateEventMessageContent } from '../models/MatrixStateEvent';\ninterface MatrixScheduledEvent {\n accessToken: string;\n roomId: string;\n type: MatrixEventType;\n content: any;\n txnId: string;\n onSuccess(response: T): void;\n onError(error: unknown): void;\n}\ndeclare type MatrixEventType = 'm.room.message';\nexport interface MatrixSyncOptions {\n syncToken?: string;\n pollingTimeout?: number;\n}\n/**\n * A service to help with matrix event management\n */\nexport declare class MatrixEventService {\n private readonly httpClient;\n private readonly cachedPromises;\n constructor(httpClient: MatrixHttpClient);\n /**\n * Get the latest state from the matrix node\n *\n * @param accessToken\n * @param options\n */\n sync(accessToken: string, options?: MatrixSyncOptions): Promise;\n /**\n * Send a message to a room\n *\n * @param accessToken\n * @param room\n * @param content\n * @param txnId\n */\n sendMessage(accessToken: string, roomId: string, content: MatrixStateEventMessageContent, txnId: string): Promise;\n /**\n * Schedules an event to be sent to the node\n *\n * @param event\n */\n scheduleEvent(event: MatrixScheduledEvent): void;\n /**\n * Send an event to the matrix node\n *\n * @param scheduledEvent\n */\n sendEvent(scheduledEvent: MatrixScheduledEvent): Promise;\n /**\n * Check the cache when interacting with the Matrix node, if there is an already ongoing call for the specified key, return its promise instead of duplicating the call.\n *\n * @param key\n * @param promiseProvider\n */\n private withCache;\n}\nexport {};\n"},{name:"@airgap/beacon-transport-matrix/dist/esm/matrix-client/services/MatrixRoomService.d.ts",dts:"import { MatrixHttpClient } from '../MatrixHttpClient';\nimport { MatrixRoom } from '../models/MatrixRoom';\nimport { MatrixRoomCreateRequest, MatrixRoomCreateResponse } from '../models/api/MatrixRoomCreate';\nimport { MatrixRoomInviteResponse } from '../models/api/MatrixRoomInvite';\nimport { MatrixRoomJoinResponse } from '../models/api/MatrixRoomJoin';\n/**\n * A service to help with matrix room management\n */\nexport declare class MatrixRoomService {\n private readonly httpClient;\n constructor(httpClient: MatrixHttpClient);\n /**\n * Create a room\n *\n * @param accessToken\n * @param config\n */\n createRoom(accessToken: string, config?: MatrixRoomCreateRequest): Promise;\n /**\n * Invite a user to a room\n *\n * @param accessToken\n * @param user\n * @param room\n */\n inviteToRoom(accessToken: string, user: string, room: MatrixRoom): Promise;\n /**\n * Join a specific room\n *\n * @param accessToken\n * @param room\n */\n joinRoom(accessToken: string, room: MatrixRoom): Promise;\n /**\n * Get all joined rooms\n *\n * @param accessToken\n */\n getJoinedRooms(accessToken: string): Promise;\n}\n"},{name:"@airgap/beacon-transport-matrix/dist/esm/matrix-client/services/MatrixUserService.d.ts",dts:"import { MatrixHttpClient } from '../MatrixHttpClient';\nimport { MatrixLoginResponse } from '../models/api/MatrixLogin';\nexport declare class MatrixUserService {\n private readonly httpClient;\n constructor(httpClient: MatrixHttpClient);\n /**\n * Log in to the matrix node with username and password\n *\n * @param user\n * @param password\n * @param deviceId\n */\n login(user: string, password: string, deviceId: string): Promise;\n}\n"},{name:"@airgap/beacon-transport-matrix/dist/esm/matrix-client/utils/events.d.ts",dts:"import { MatrixStateEvent, MatrixStateEventMessageText } from '../models/MatrixStateEvent';\n/**\n * Check if an event is a create event\n *\n * @param event MatrixStateEvent\n */\nexport declare const isCreateEvent: (event: MatrixStateEvent) => boolean;\n/**\n * Check if an event is a join event\n *\n * @param event MatrixStateEvent\n */\nexport declare const isJoinEvent: (event: MatrixStateEvent) => boolean;\n/**\n * Check if an event is a message event\n *\n * @param event MatrixStateEvent\n */\nexport declare const isMessageEvent: (event: MatrixStateEvent) => boolean;\n/**\n * Check if an event is a text message event\n *\n * @param event MatrixStateEvent\n */\nexport declare const isTextMessageEvent: (event: MatrixStateEvent) => event is MatrixStateEventMessageText;\n"},{name:"@airgap/beacon-transport-matrix/dist/esm/matrix-client/EventEmitter.d.ts",dts:"declare type Listener = (...args: any[]) => void;\nexport declare class EventEmitter {\n private readonly events;\n on(event: string, listener: Listener): () => void;\n removeListener(event: string, listener?: Listener): void;\n removeAllListeners(): void;\n emit(event: string, ...args: any[]): void;\n once(event: string, listener: Listener): () => void;\n}\nexport {};\n"},{name:"@airgap/beacon-transport-matrix/dist/esm/matrix-client/MatrixClient.d.ts",dts:"import { Storage } from '@airgap/beacon-types';\nimport { MatrixClientStore } from './MatrixClientStore';\nimport { MatrixHttpClient } from './MatrixHttpClient';\nimport { MatrixRoom } from './models/MatrixRoom';\nimport { MatrixRoomService } from './services/MatrixRoomService';\nimport { MatrixUserService } from './services/MatrixUserService';\nimport { MatrixEventService } from './services/MatrixEventService';\nimport { MatrixClientEventEmitter } from './MatrixClientEventEmitter';\nimport { MatrixClientEventType, MatrixClientEvent } from './models/MatrixClientEvent';\ninterface MatrixClientOptions {\n baseUrl: string;\n storage: Storage;\n}\ninterface MatrixLoginConfig {\n id: string;\n password: string;\n deviceId: string;\n}\n/**\n * The matrix client used to connect to the matrix network\n */\nexport declare class MatrixClient {\n private readonly store;\n private readonly eventEmitter;\n private readonly userService;\n private readonly roomService;\n private readonly eventService;\n private readonly httpClient;\n private isActive;\n private _isReady;\n constructor(store: MatrixClientStore, eventEmitter: MatrixClientEventEmitter, userService: MatrixUserService, roomService: MatrixRoomService, eventService: MatrixEventService, httpClient: MatrixHttpClient);\n /**\n * Create a matrix client based on the options provided\n *\n * @param config\n */\n static create(config: MatrixClientOptions): MatrixClient;\n /**\n * Return all the rooms we are currently part of\n */\n get joinedRooms(): Promise;\n /**\n * Return all the rooms to which we have received invitations\n */\n get invitedRooms(): Promise;\n /**\n * Return all the rooms that we left\n */\n get leftRooms(): Promise;\n /**\n * Initiate the connection to the matrix node and log in\n *\n * @param user\n */\n start(user: MatrixLoginConfig): Promise;\n isConnected(): Promise;\n /**\n * Stop all running requests\n */\n stop(): Promise;\n /**\n * Subscribe to new matrix events\n *\n * @param event\n * @param listener\n */\n subscribe(event: T, listener: (event: MatrixClientEvent) => void): void;\n /**\n * Unsubscribe from matrix events\n *\n * @param event\n * @param listener\n */\n unsubscribe(event: MatrixClientEventType, listener: (event: MatrixClientEvent) => void): void;\n /**\n * Unsubscribe from all matrix events of this type\n *\n * @param event\n * @param listener\n */\n unsubscribeAll(event: MatrixClientEventType): void;\n getRoomById(id: string): Promise;\n /**\n * Create a private room with the supplied members\n *\n * @param members Members that will be in the room\n */\n createTrustedPrivateRoom(...members: string[]): Promise;\n /**\n * Invite user to rooms\n *\n * @param user The user to be invited\n * @param roomsOrIds The rooms the user will be invited to\n */\n inviteToRooms(user: string, ...roomsOrIds: string[] | MatrixRoom[]): Promise;\n /**\n * Join rooms\n *\n * @param roomsOrIds\n */\n joinRooms(...roomsOrIds: string[] | MatrixRoom[]): Promise;\n /**\n * Send a text message\n *\n * @param roomOrId\n * @param message\n */\n sendTextMessage(roomId: string, message: string): Promise;\n /**\n * Poll the server to get the latest data and get notified of changes\n *\n * @param interval\n * @param onSyncSuccess\n * @param onSyncError\n */\n private poll;\n /**\n * Get state from server\n */\n private sync;\n /**\n * A helper method that makes sure an access token is provided\n *\n * @param name\n * @param action\n */\n private requiresAuthorization;\n /**\n * Create a transaction ID\n */\n private createTxnId;\n}\nexport {};\n"},{name:"@airgap/beacon-transport-matrix/dist/esm/matrix-client/MatrixClientEventEmitter.d.ts",dts:"import { EventEmitter } from './EventEmitter';\nimport { MatrixStateStore, MatrixStateUpdate } from './MatrixClientStore';\nexport declare class MatrixClientEventEmitter extends EventEmitter {\n private readonly eventEmitProviders;\n /**\n * This method is called every time the state is changed\n *\n * @param _oldState\n * @param _newState\n * @param stateChange\n */\n onStateChanged(_oldState: MatrixStateStore, _newState: MatrixStateStore, stateChange: Partial): void;\n /**\n * Emit the message if we have listeners registered for that type\n *\n * @param eventType\n * @param object\n */\n private emitIfEvent;\n /**\n * Emit a client event\n *\n * @param eventType\n * @param content\n */\n private emitClientEvent;\n /**\n * Check if event is an invite\n *\n * @param stateChange\n */\n private isInvite;\n /**\n * Emit an invite\n *\n * @param eventType\n * @param stateChange\n */\n private emitInvite;\n /**\n * Check if event is a message\n *\n * @param stateChange\n */\n private isMessage;\n /**\n * Emit an event to all rooms\n *\n * @param eventType\n * @param stateChange\n */\n private emitMessage;\n}\n"},{name:"@airgap/beacon-transport-matrix/dist/esm/matrix-client/MatrixClientStore.d.ts",dts:"import { MatrixRoom } from './models/MatrixRoom';\nimport { Storage } from '@airgap/beacon-types';\ndeclare type OnStateChangedListener = (oldState: MatrixStateStore, newState: MatrixStateStore, stateChange: Partial) => void;\nexport interface MatrixState {\n isRunning: boolean;\n userId: string | undefined;\n deviceId: string | undefined;\n txnNo: number;\n accessToken: string | undefined;\n syncToken: string | undefined;\n pollingTimeout: number | undefined;\n pollingRetries: number;\n rooms: MatrixRoom[] | Record;\n}\nexport interface MatrixStateStore extends MatrixState {\n rooms: Record;\n}\nexport interface MatrixStateUpdate extends MatrixState {\n rooms: MatrixRoom[];\n}\n/**\n * The class managing the local state of matrix\n */\nexport declare class MatrixClientStore {\n private readonly storage;\n /**\n * The state of the matrix client\n */\n private state;\n /**\n * Listeners that will be called when the state changes\n */\n private readonly onStateChangedListeners;\n /**\n * A promise that resolves once the client is ready\n */\n private waitReadyPromise;\n constructor(storage: Storage);\n /**\n * Get an item from the state\n *\n * @param key\n */\n get(key: T): MatrixStateStore[T];\n /**\n * Get the room from an ID or room instance\n *\n * @param roomOrId\n */\n getRoom(roomOrId: string | MatrixRoom): MatrixRoom;\n /**\n * Update the state with a partial state\n *\n * @param stateUpdate\n */\n update(stateUpdate: Partial): Promise;\n /**\n * Register listeners that are called once the state has changed\n *\n * @param listener\n * @param subscribed\n */\n onStateChanged(listener: OnStateChangedListener, ...subscribed: (keyof MatrixState)[]): void;\n /**\n * A promise that resolves once the client is ready\n */\n private waitReady;\n /**\n * Read state from storage\n */\n private initFromStorage;\n /**\n * Prepare data before persisting it in storage\n *\n * @param toStore\n */\n private prepareData;\n /**\n * Persist state in storage\n *\n * @param stateUpdate\n */\n private updateStorage;\n /**\n * Set the state\n *\n * @param partialState\n */\n private setState;\n /**\n * Merge room records and eliminate duplicates\n *\n * @param oldRooms\n * @param _newRooms\n */\n private mergeRooms;\n /**\n * Notify listeners of state changes\n *\n * @param oldState\n * @param newState\n * @param stateChange\n */\n private notifyListeners;\n}\nexport {};\n"},{name:"@airgap/beacon-transport-matrix/dist/esm/matrix-client/MatrixHttpClient.d.ts",dts:"import { MatrixRequest, MatrixRequestParams } from './models/api/MatrixRequest';\ninterface HttpOptions {\n accessToken?: string;\n}\n/**\n * Handling the HTTP connection to the matrix synapse node\n */\nexport declare class MatrixHttpClient {\n private readonly baseUrl;\n private readonly cancelTokenSource;\n constructor(baseUrl: string);\n /**\n * Get data from the synapse node\n *\n * @param endpoint\n * @param options\n */\n get(endpoint: string, params?: MatrixRequestParams, options?: HttpOptions): Promise;\n /**\n * Post data to the synapse node\n *\n * @param endpoint\n * @param body\n * @param options\n * @param params\n */\n post(endpoint: string, body: MatrixRequest, options?: HttpOptions, params?: MatrixRequestParams): Promise;\n /**\n * Put data to the synapse node\n *\n * @param endpoint\n * @param body\n * @param options\n * @param params\n */\n put(endpoint: string, body: MatrixRequest, options?: HttpOptions, params?: MatrixRequestParams): Promise;\n cancelAllRequests(): Promise;\n /**\n * Send a request to the synapse node\n *\n * @param method\n * @param endpoint\n * @param config\n * @param requestParams\n * @param data\n */\n private send;\n /**\n * Get the headers based on the options object\n *\n * @param options\n */\n private getHeaders;\n /**\n * Get parameters\n *\n * @param _params\n */\n private getParams;\n /**\n * Construct API URL\n */\n private apiUrl;\n}\nexport {};\n"},{name:"@airgap/beacon-transport-matrix/dist/esm/P2PTransport.d.ts",dts:"import { Transport } from '@airgap/beacon-core';\nimport { ExtendedP2PPairingResponse, Storage, StorageKey, TransportType, P2PPairingRequest, NodeDistributions } from '@airgap/beacon-types';\nimport { P2PCommunicationClient } from '@airgap/beacon-transport-matrix';\nimport { KeyPair } from '@stablelib/ed25519';\n/**\n * @internalapi\n *\n *\n */\nexport declare class P2PTransport extends Transport {\n readonly type: TransportType;\n constructor(name: string, keyPair: KeyPair, storage: Storage, matrixNodes: NodeDistributions, storageKey: K, iconUrl?: string, appUrl?: string);\n static isAvailable(): Promise;\n connect(): Promise;\n disconnect(): Promise;\n startOpenChannelListener(): Promise;\n getPairingRequestInfo(): Promise;\n listen(publicKey: string): Promise;\n}\n"},{name:"@airgap/beacon-transport-matrix/dist/esm/index.d.ts",dts:"export { P2PCommunicationClient } from './communication-client/P2PCommunicationClient';\nexport { P2PTransport } from './P2PTransport';\n"},{name:"@airgap/beacon-transport-postmessage/PostMessageClient.d.ts",dts:"import { MessageBasedClient } from '@airgap/beacon-core';\nimport { ConnectionContext, ExtendedPostMessagePairingResponse, EncryptedExtensionMessage, PostMessagePairingRequest } from '@airgap/beacon-types';\n/**\n * @internalapi\n *\n *\n */\nexport declare class PostMessageClient extends MessageBasedClient {\n protected readonly activeListeners: Map void>;\n init(): Promise;\n listenForEncryptedMessage(senderPublicKey: string, messageCallback: (message: string, context: ConnectionContext) => void): Promise;\n sendMessage(message: string, peer: PostMessagePairingRequest | ExtendedPostMessagePairingResponse): Promise;\n listenForChannelOpening(messageCallback: (pairingResponse: ExtendedPostMessagePairingResponse) => void): Promise;\n sendPairingRequest(id: string): Promise;\n isChannelOpenMessage(message: any): Promise;\n private subscribeToMessages;\n}\n"},{name:"@airgap/beacon-transport-postmessage/PostMessageTransport.d.ts",dts:"import { PostMessagePairingRequest, ExtendedPostMessagePairingResponse, Extension, StorageKey, TransportType } from '@airgap/beacon-types';\nimport { Storage } from '@airgap/beacon-types';\nimport { Transport } from '@airgap/beacon-core';\nimport { PostMessageClient } from './PostMessageClient';\nimport { KeyPair } from '@stablelib/ed25519';\n/**\n * @internalapi\n *\n *\n */\nexport declare class PostMessageTransport extends Transport {\n readonly type: TransportType;\n constructor(name: string, keyPair: KeyPair, storage: Storage, storageKey: K);\n static isAvailable(): Promise;\n static getAvailableExtensions(): Promise;\n private static listenForExtensions;\n connect(): Promise;\n startOpenChannelListener(): Promise;\n getPairingRequestInfo(): Promise;\n listen(publicKey: string): Promise;\n}\n"},{name:"@airgap/beacon-transport-postmessage/index.d.ts",dts:"export { PostMessageTransport } from './PostMessageTransport';\n"},{name:"@airgap/beacon-transport-postmessage/dist/esm/PostMessageClient.d.ts",dts:"import { MessageBasedClient } from '@airgap/beacon-core';\nimport { ConnectionContext, ExtendedPostMessagePairingResponse, EncryptedExtensionMessage, PostMessagePairingRequest } from '@airgap/beacon-types';\n/**\n * @internalapi\n *\n *\n */\nexport declare class PostMessageClient extends MessageBasedClient {\n protected readonly activeListeners: Map void>;\n init(): Promise;\n listenForEncryptedMessage(senderPublicKey: string, messageCallback: (message: string, context: ConnectionContext) => void): Promise;\n sendMessage(message: string, peer: PostMessagePairingRequest | ExtendedPostMessagePairingResponse): Promise;\n listenForChannelOpening(messageCallback: (pairingResponse: ExtendedPostMessagePairingResponse) => void): Promise;\n sendPairingRequest(id: string): Promise;\n isChannelOpenMessage(message: any): Promise;\n private subscribeToMessages;\n}\n"},{name:"@airgap/beacon-transport-postmessage/dist/esm/PostMessageTransport.d.ts",dts:"import { PostMessagePairingRequest, ExtendedPostMessagePairingResponse, Extension, StorageKey, TransportType } from '@airgap/beacon-types';\nimport { Storage } from '@airgap/beacon-types';\nimport { Transport } from '@airgap/beacon-core';\nimport { PostMessageClient } from './PostMessageClient';\nimport { KeyPair } from '@stablelib/ed25519';\n/**\n * @internalapi\n *\n *\n */\nexport declare class PostMessageTransport extends Transport {\n readonly type: TransportType;\n constructor(name: string, keyPair: KeyPair, storage: Storage, storageKey: K);\n static isAvailable(): Promise;\n static getAvailableExtensions(): Promise;\n private static listenForExtensions;\n connect(): Promise;\n startOpenChannelListener(): Promise;\n getPairingRequestInfo(): Promise;\n listen(publicKey: string): Promise;\n}\n"},{name:"@airgap/beacon-transport-postmessage/dist/esm/index.d.ts",dts:"export { PostMessageTransport } from './PostMessageTransport';\n"},{name:"@airgap/beacon-transport-walletconnect/communication-client/WalletConnectCommunicationClient.d.ts",dts:'import { CommunicationClient } from \'@airgap/beacon-core\';\nimport Client from \'@walletconnect/sign-client\';\nimport { SessionTypes, SignClientTypes } from \'@walletconnect/types\';\nimport { ExtendedWalletConnectPairingRequest, ExtendedWalletConnectPairingResponse, NetworkType, OperationRequest, PermissionRequest, SignPayloadRequest } from \'@airgap/beacon-types\';\nexport interface PermissionScopeParam {\n networks: NetworkType[];\n methods: PermissionScopeMethods[];\n events?: PermissionScopeEvents[];\n}\nexport declare enum PermissionScopeMethods {\n GET_ACCOUNTS = "tezos_getAccounts",\n OPERATION_REQUEST = "tezos_send",\n SIGN = "tezos_sign"\n}\nexport declare enum PermissionScopeEvents {\n CHAIN_CHANGED = "chainChanged",\n ACCOUNTS_CHANGED = "accountsChanged",\n REQUEST_ACKNOWLEDGED = "requestAcknowledged"\n}\nexport declare class WalletConnectCommunicationClient extends CommunicationClient {\n private wcOptions;\n protected readonly activeListeners: Map void>;\n protected readonly channelOpeningListeners: Map void>;\n private static instance;\n signClient: Client | undefined;\n private session;\n private activeAccount;\n private activeNetwork;\n private currentMessageId;\n constructor(wcOptions: {\n network: NetworkType;\n opts: SignClientTypes.Options;\n });\n static getInstance(wcOptions: {\n network: NetworkType;\n opts: SignClientTypes.Options;\n }): WalletConnectCommunicationClient;\n listenForEncryptedMessage(senderPublicKey: string, messageCallback: (message: string) => void): Promise;\n listenForChannelOpening(messageCallback: (pairingResponse: ExtendedWalletConnectPairingResponse) => void): Promise;\n unsubscribeFromEncryptedMessages(): Promise;\n unsubscribeFromEncryptedMessage(_senderPublicKey: string): Promise;\n sendMessage(_message: string, _peer?: any): Promise;\n private fetchAccounts;\n requestPermissions(message: PermissionRequest): Promise;\n /**\n * @description Once the session is establish, send payload to be approved and signed by the wallet.\n * @error MissingRequiredScope is thrown if permission to sign payload was not granted\n */\n signPayload(signPayloadRequest: SignPayloadRequest): Promise;\n /**\n * @description Once the session is established, send Tezos operations to be approved, signed and inject by the wallet.\n * @error MissingRequiredScope is thrown if permission to send operation was not granted\n */\n sendOperations(operationRequest: OperationRequest): Promise;\n init(forceNewConnection?: boolean): Promise<{\n uri: string;\n topic: string;\n } | undefined>;\n close(): Promise;\n private subscribeToSessionEvents;\n private acknowledgeRequest;\n private updateActiveAccount;\n private disconnect;\n private onPairingClosed;\n private onSessionClosed;\n getPairingRequestInfo(): Promise;\n private closePairings;\n private closeSessions;\n private openSession;\n private permissionScopeParamsToNamespaces;\n private validateReceivedNamespace;\n private validateMethods;\n private validateEvents;\n private validateAccounts;\n private validateNetworkAndAccount;\n /**\n * @description Access the active network\n * @error ActiveNetworkUnspecified thorwn when there are multiple Tezos netwroks in the session and none is set as the active one\n */\n getActiveNetwork(): string;\n private setDefaultAccountAndNetwork;\n /**\n * @description Return all connected accounts from the active session\n * @error NotConnected if no active session\n */\n getAccounts(): string[];\n /**\n * @description Return all networks from the namespace of the active session\n * @error NotConnected if no active session\n */\n getNetworks(): string[];\n private getTezosNamespace;\n private getPermittedMethods;\n private getPermittedNetwork;\n private getTezosRequiredNamespace;\n private notifyListeners;\n currentSession(): SessionTypes.Struct | undefined;\n private getSignClient;\n private getSession;\n /**\n * @description Access the public key hash of the active account\n * @error ActiveAccountUnspecified thrown when there are multiple Tezos account in the session and none is set as the active one\n */\n getPKH(): Promise;\n private clearState;\n}\n'},{name:"@airgap/beacon-transport-walletconnect/WalletConnectTransport.d.ts",dts:"import { KeyPair } from '@stablelib/ed25519';\nimport { WalletConnectCommunicationClient } from './communication-client/WalletConnectCommunicationClient';\nimport { Storage, ExtendedWalletConnectPairingResponse, StorageKey, WalletConnectPairingRequest, NetworkType } from '@airgap/beacon-types';\nimport { Transport } from '@airgap/beacon-core';\nimport { SignClientTypes } from '@walletconnect/types';\n/**\n * @internalapi\n *\n *\n */\nexport declare class WalletConnectTransport extends Transport {\n private wcOptions;\n constructor(name: string, _keyPair: KeyPair, storage: Storage, storageKey: K, wcOptions: {\n network: NetworkType;\n opts: SignClientTypes.Options;\n });\n static isAvailable(): Promise;\n connect(): Promise;\n getPeers(): Promise;\n disconnect(): Promise;\n startOpenChannelListener(): Promise;\n getPairingRequestInfo(): Promise;\n listen(publicKey: string): Promise;\n}\n"},{name:"@airgap/beacon-transport-walletconnect/error.d.ts",dts:"import { PermissionScopeMethods } from './communication-client/WalletConnectCommunicationClient';\n/**\n * @category Error\n * @description Error that indicates the wallet returned an invalid namespace\n */\nexport declare class InvalidReceivedSessionNamespace extends Error {\n messageWc: string;\n codeWc: number;\n data?: string | string[] | undefined;\n name: string;\n constructor(messageWc: string, codeWc: number, type: 'invalid' | 'incomplete', data?: string | string[] | undefined);\n}\n/**\n * @category Error\n * @description Error that indicates there is no active session\n */\nexport declare class NotConnected extends Error {\n name: string;\n constructor();\n}\n/**\n * @category Error\n * @description Error that indicates the session is invalid\n */\nexport declare class InvalidSession extends Error {\n name: string;\n constructor(message: string);\n}\n/**\n * @category Error\n * @description Error that indicates missing required permission scopes\n */\nexport declare class MissingRequiredScope extends Error {\n requiredScopes: PermissionScopeMethods | string;\n name: string;\n constructor(requiredScopes: PermissionScopeMethods | string);\n}\n/**\n * @category Error\n * @description Error that indicates the active network is not specified\n */\nexport declare class ActiveNetworkUnspecified extends Error {\n name: string;\n constructor();\n}\n/**\n * @category Error\n * @description Error that indicates the active account is not specified\n */\nexport declare class ActiveAccountUnspecified extends Error {\n name: string;\n constructor();\n}\n/**\n * @category Error\n * @description Error that indicates the combinaison pkh-network is not part of the active session\n */\nexport declare class InvalidNetworkOrAccount extends Error {\n network: string;\n pkh: string;\n name: string;\n constructor(network: string, pkh: string);\n}\n"},{name:"@airgap/beacon-transport-walletconnect/index.d.ts",dts:"export { WalletConnectTransport } from './WalletConnectTransport';\nexport { WalletConnectCommunicationClient } from './communication-client/WalletConnectCommunicationClient';\n"},{name:"@airgap/beacon-transport-walletconnect/dist/esm/communication-client/WalletConnectCommunicationClient.d.ts",dts:'import { CommunicationClient } from \'@airgap/beacon-core\';\nimport Client from \'@walletconnect/sign-client\';\nimport { SessionTypes, SignClientTypes } from \'@walletconnect/types\';\nimport { ExtendedWalletConnectPairingRequest, ExtendedWalletConnectPairingResponse, NetworkType, OperationRequest, PermissionRequest, SignPayloadRequest } from \'@airgap/beacon-types\';\nexport interface PermissionScopeParam {\n networks: NetworkType[];\n methods: PermissionScopeMethods[];\n events?: PermissionScopeEvents[];\n}\nexport declare enum PermissionScopeMethods {\n GET_ACCOUNTS = "tezos_getAccounts",\n OPERATION_REQUEST = "tezos_send",\n SIGN = "tezos_sign"\n}\nexport declare enum PermissionScopeEvents {\n CHAIN_CHANGED = "chainChanged",\n ACCOUNTS_CHANGED = "accountsChanged",\n REQUEST_ACKNOWLEDGED = "requestAcknowledged"\n}\nexport declare class WalletConnectCommunicationClient extends CommunicationClient {\n private wcOptions;\n protected readonly activeListeners: Map void>;\n protected readonly channelOpeningListeners: Map void>;\n private static instance;\n signClient: Client | undefined;\n private session;\n private activeAccount;\n private activeNetwork;\n private currentMessageId;\n constructor(wcOptions: {\n network: NetworkType;\n opts: SignClientTypes.Options;\n });\n static getInstance(wcOptions: {\n network: NetworkType;\n opts: SignClientTypes.Options;\n }): WalletConnectCommunicationClient;\n listenForEncryptedMessage(senderPublicKey: string, messageCallback: (message: string) => void): Promise;\n listenForChannelOpening(messageCallback: (pairingResponse: ExtendedWalletConnectPairingResponse) => void): Promise;\n unsubscribeFromEncryptedMessages(): Promise;\n unsubscribeFromEncryptedMessage(_senderPublicKey: string): Promise;\n sendMessage(_message: string, _peer?: any): Promise;\n private fetchAccounts;\n requestPermissions(message: PermissionRequest): Promise;\n /**\n * @description Once the session is establish, send payload to be approved and signed by the wallet.\n * @error MissingRequiredScope is thrown if permission to sign payload was not granted\n */\n signPayload(signPayloadRequest: SignPayloadRequest): Promise;\n /**\n * @description Once the session is established, send Tezos operations to be approved, signed and inject by the wallet.\n * @error MissingRequiredScope is thrown if permission to send operation was not granted\n */\n sendOperations(operationRequest: OperationRequest): Promise;\n init(forceNewConnection?: boolean): Promise<{\n uri: string;\n topic: string;\n } | undefined>;\n close(): Promise;\n private subscribeToSessionEvents;\n private acknowledgeRequest;\n private updateActiveAccount;\n private disconnect;\n private onPairingClosed;\n private onSessionClosed;\n getPairingRequestInfo(): Promise;\n private closePairings;\n private closeSessions;\n private openSession;\n private permissionScopeParamsToNamespaces;\n private validateReceivedNamespace;\n private validateMethods;\n private validateEvents;\n private validateAccounts;\n private validateNetworkAndAccount;\n /**\n * @description Access the active network\n * @error ActiveNetworkUnspecified thorwn when there are multiple Tezos netwroks in the session and none is set as the active one\n */\n getActiveNetwork(): string;\n private setDefaultAccountAndNetwork;\n /**\n * @description Return all connected accounts from the active session\n * @error NotConnected if no active session\n */\n getAccounts(): string[];\n /**\n * @description Return all networks from the namespace of the active session\n * @error NotConnected if no active session\n */\n getNetworks(): string[];\n private getTezosNamespace;\n private getPermittedMethods;\n private getPermittedNetwork;\n private getTezosRequiredNamespace;\n private notifyListeners;\n currentSession(): SessionTypes.Struct | undefined;\n private getSignClient;\n private getSession;\n /**\n * @description Access the public key hash of the active account\n * @error ActiveAccountUnspecified thrown when there are multiple Tezos account in the session and none is set as the active one\n */\n getPKH(): Promise;\n private clearState;\n}\n'},{name:"@airgap/beacon-transport-walletconnect/dist/esm/WalletConnectTransport.d.ts",dts:"import { KeyPair } from '@stablelib/ed25519';\nimport { WalletConnectCommunicationClient } from './communication-client/WalletConnectCommunicationClient';\nimport { Storage, ExtendedWalletConnectPairingResponse, StorageKey, WalletConnectPairingRequest, NetworkType } from '@airgap/beacon-types';\nimport { Transport } from '@airgap/beacon-core';\nimport { SignClientTypes } from '@walletconnect/types';\n/**\n * @internalapi\n *\n *\n */\nexport declare class WalletConnectTransport extends Transport {\n private wcOptions;\n constructor(name: string, _keyPair: KeyPair, storage: Storage, storageKey: K, wcOptions: {\n network: NetworkType;\n opts: SignClientTypes.Options;\n });\n static isAvailable(): Promise;\n connect(): Promise;\n getPeers(): Promise;\n disconnect(): Promise;\n startOpenChannelListener(): Promise;\n getPairingRequestInfo(): Promise;\n listen(publicKey: string): Promise;\n}\n"},{name:"@airgap/beacon-transport-walletconnect/dist/esm/error.d.ts",dts:"import { PermissionScopeMethods } from './communication-client/WalletConnectCommunicationClient';\n/**\n * @category Error\n * @description Error that indicates the wallet returned an invalid namespace\n */\nexport declare class InvalidReceivedSessionNamespace extends Error {\n messageWc: string;\n codeWc: number;\n data?: string | string[] | undefined;\n name: string;\n constructor(messageWc: string, codeWc: number, type: 'invalid' | 'incomplete', data?: string | string[] | undefined);\n}\n/**\n * @category Error\n * @description Error that indicates there is no active session\n */\nexport declare class NotConnected extends Error {\n name: string;\n constructor();\n}\n/**\n * @category Error\n * @description Error that indicates the session is invalid\n */\nexport declare class InvalidSession extends Error {\n name: string;\n constructor(message: string);\n}\n/**\n * @category Error\n * @description Error that indicates missing required permission scopes\n */\nexport declare class MissingRequiredScope extends Error {\n requiredScopes: PermissionScopeMethods | string;\n name: string;\n constructor(requiredScopes: PermissionScopeMethods | string);\n}\n/**\n * @category Error\n * @description Error that indicates the active network is not specified\n */\nexport declare class ActiveNetworkUnspecified extends Error {\n name: string;\n constructor();\n}\n/**\n * @category Error\n * @description Error that indicates the active account is not specified\n */\nexport declare class ActiveAccountUnspecified extends Error {\n name: string;\n constructor();\n}\n/**\n * @category Error\n * @description Error that indicates the combinaison pkh-network is not part of the active session\n */\nexport declare class InvalidNetworkOrAccount extends Error {\n network: string;\n pkh: string;\n name: string;\n constructor(network: string, pkh: string);\n}\n"},{name:"@airgap/beacon-transport-walletconnect/dist/esm/index.d.ts",dts:"export { WalletConnectTransport } from './WalletConnectTransport';\nexport { WalletConnectCommunicationClient } from './communication-client/WalletConnectCommunicationClient';\n"},{name:"@airgap/beacon-types/types/beacon/messages/AcknowledgeResponse.d.ts",dts:"import { BeaconBaseMessage, BeaconMessageType } from '@airgap/beacon-types';\n/**\n * @category Message\n */\nexport interface AcknowledgeResponse extends BeaconBaseMessage {\n type: BeaconMessageType.Acknowledge;\n}\n"},{name:"@airgap/beacon-types/types/beacon/messages/BeaconRequestInputMessage.d.ts",dts:"import { Optional } from '@airgap/beacon-types';\nimport { PermissionRequest, OperationRequest, SignPayloadRequest, BroadcastRequest } from '@airgap/beacon-types';\n/**\n * @internalapi\n * @category DApp\n */\nexport declare type IgnoredRequestInputProperties = 'id' | 'senderId' | 'version';\n/**\n * @internalapi\n * @category DApp\n */\nexport declare type PermissionRequestInput = Optional;\n/**\n * @internalapi\n * @category DApp\n */\nexport declare type OperationRequestInput = Optional;\n/**\n * @internalapi\n * @category DApp\n */\nexport declare type SignPayloadRequestInput = Optional;\n/**\n * @internalapi\n * @category DApp\n */\n/**\n * @internalapi\n * @category DApp\n */\nexport declare type BroadcastRequestInput = Optional;\n/**\n * @internalapi\n * @category DApp\n */\nexport declare type BeaconRequestInputMessage = PermissionRequestInput | OperationRequestInput | SignPayloadRequestInput | BroadcastRequestInput;\n"},{name:"@airgap/beacon-types/types/beacon/messages/BeaconRequestOutputMessage.d.ts",dts:"import { Optional } from '@airgap/beacon-types';\nimport { AppMetadata, PermissionRequest, OperationRequest, SignPayloadRequest, BroadcastRequest } from '@airgap/beacon-types';\n/**\n * @category Wallet\n */\nexport declare type IgnoredRequestOutputProperties = 'version';\n/**\n * @category Wallet\n */\nexport interface ExtraResponseOutputProperties {\n appMetadata: AppMetadata;\n}\n/**\n * @category Wallet\n */\nexport declare type PermissionRequestOutput = Optional & ExtraResponseOutputProperties;\n/**\n * @category Wallet\n */\nexport declare type OperationRequestOutput = Optional & ExtraResponseOutputProperties;\n/**\n * @category Wallet\n */\nexport declare type SignPayloadRequestOutput = Optional & ExtraResponseOutputProperties;\n/**\n * @category Wallet\n */\n/**\n * @category Wallet\n */\nexport declare type BroadcastRequestOutput = Optional & ExtraResponseOutputProperties;\n/**\n * @internalapi\n * @category Wallet\n */\nexport declare type BeaconRequestOutputMessage = PermissionRequestOutput | OperationRequestOutput | SignPayloadRequestOutput | BroadcastRequestOutput;\n"},{name:"@airgap/beacon-types/types/beacon/messages/BeaconResponseInputMessage.d.ts",dts:"import { Optional } from '@airgap/beacon-types';\nimport { PermissionResponse, OperationResponse, SignPayloadResponse, BroadcastResponse, AcknowledgeResponse, ErrorResponse } from '@airgap/beacon-types';\n/**\n * @category Wallet\n */\nexport declare type IgnoredResponseInputProperties = 'senderId' | 'version';\n/**\n * @category Wallet\n */\nexport declare type PermissionResponseInput = Optional;\n/**\n * @category Wallet\n */\nexport declare type OperationResponseInput = Optional;\n/**\n * @category Wallet\n */\nexport declare type SignPayloadResponseInput = Optional;\n/**\n * @category Wallet\n */\n/**\n * @category Wallet\n */\nexport declare type BroadcastResponseInput = Optional;\n/**\n * @category Wallet\n */\nexport declare type AcknowledgeResponseInput = Optional;\n/**\n * @category Wallet\n */\nexport declare type ErrorResponseInput = Optional;\n/**\n * @internalapi\n * @category Wallet\n */\nexport declare type BeaconResponseInputMessage = PermissionResponseInput | OperationResponseInput | SignPayloadResponseInput | BroadcastResponseInput | AcknowledgeResponseInput | ErrorResponseInput;\n"},{name:"@airgap/beacon-types/types/beacon/messages/BeaconResponseOutputMessage.d.ts",dts:"import { PermissionResponse, OperationResponse, SignPayloadResponse, BroadcastResponse, AccountInfo } from '@airgap/beacon-types';\n/**\n * @category DApp\n */\nexport declare type IgnoredResponseOutputProperties = 'id' | 'version' | 'type';\n/**\n * @category DApp\n */\nexport declare type PermissionResponseOutput = PermissionResponse & {\n address: string;\n accountInfo: AccountInfo;\n walletKey?: string | undefined;\n};\n/**\n * @category DApp\n */\nexport declare type OperationResponseOutput = OperationResponse;\n/**\n * @category DApp\n */\nexport declare type SignPayloadResponseOutput = SignPayloadResponse;\n/**\n * @category DApp\n */\n/**\n * @category DApp\n */\nexport declare type BroadcastResponseOutput = BroadcastResponse;\n/**\n * @internalapi\n * @category DApp\n */\nexport declare type BeaconResponseOutputMessage = PermissionResponseOutput | OperationResponseOutput | SignPayloadResponseOutput | BroadcastResponseOutput;\n"},{name:"@airgap/beacon-types/types/beacon/messages/BroadcastRequest.d.ts",dts:"import { BeaconBaseMessage, BeaconMessageType, Network } from '@airgap/beacon-types';\n/**\n * @category Message\n */\nexport interface BroadcastRequest extends BeaconBaseMessage {\n type: BeaconMessageType.BroadcastRequest;\n network: Network;\n signedTransaction: string;\n}\n"},{name:"@airgap/beacon-types/types/beacon/messages/BroadcastResponse.d.ts",dts:"import { BeaconBaseMessage, BeaconMessageType } from '@airgap/beacon-types';\n/**\n * @category Message\n */\nexport interface BroadcastResponse extends BeaconBaseMessage {\n type: BeaconMessageType.BroadcastResponse;\n transactionHash: string;\n}\n"},{name:"@airgap/beacon-types/types/beacon/messages/ChangeAccountRequest.d.ts",dts:"import { BeaconBaseMessage, BeaconMessageType, Network, PermissionScope, Threshold } from \"@airgap/beacon-types\";\nimport { Notification } from '../../Notification';\nexport interface ChangeAccountRequest extends BeaconBaseMessage {\n type: BeaconMessageType.ChangeAccountRequest;\n publicKey: string;\n network: Network;\n scopes: PermissionScope[];\n threshold?: Threshold;\n notification?: Notification;\n}\n"},{name:"@airgap/beacon-types/types/beacon/messages/DisconnectMessage.d.ts",dts:"import { BeaconBaseMessage, BeaconMessageType } from '@airgap/beacon-types';\n/**\n * @category Message\n */\nexport interface DisconnectMessage extends BeaconBaseMessage {\n type: BeaconMessageType.Disconnect;\n}\n"},{name:"@airgap/beacon-types/types/beacon/messages/EncryptPayloadRequest.d.ts",dts:"/**\n * @category Message\n */\n"},{name:"@airgap/beacon-types/types/beacon/messages/EncryptPayloadResponse.d.ts",dts:"/**\n * @category Message\n */\n"},{name:"@airgap/beacon-types/types/beacon/messages/ErrorResponse.d.ts",dts:"import { BeaconBaseMessage, BeaconErrorType, BeaconMessageType } from '@airgap/beacon-types';\n/**\n * @category Message\n */\nexport interface ErrorResponse extends BeaconBaseMessage {\n type: BeaconMessageType.Error;\n errorType: BeaconErrorType;\n errorData?: any;\n}\n"},{name:"@airgap/beacon-types/types/beacon/messages/OperationRequest.d.ts",dts:"import { BeaconBaseMessage, BeaconMessageType, Network } from '@airgap/beacon-types';\nimport { PartialTezosOperation } from '../../tezos/PartialTezosOperation';\n/**\n * @category Message\n */\nexport interface OperationRequest extends BeaconBaseMessage {\n type: BeaconMessageType.OperationRequest;\n network: Network;\n operationDetails: PartialTezosOperation[];\n sourceAddress: string;\n}\n"},{name:"@airgap/beacon-types/types/beacon/messages/OperationResponse.d.ts",dts:"import { BeaconBaseMessage, BeaconMessageType } from '@airgap/beacon-types';\n/**\n * @category Message\n */\nexport interface OperationResponse extends BeaconBaseMessage {\n type: BeaconMessageType.OperationResponse;\n transactionHash: string;\n}\n"},{name:"@airgap/beacon-types/types/beacon/messages/PermissionRequest.d.ts",dts:"import { BeaconBaseMessage, BeaconMessageType, PermissionScope, AppMetadata, Network } from '@airgap/beacon-types';\n/**\n * @category Message\n */\nexport interface PermissionRequest extends BeaconBaseMessage {\n type: BeaconMessageType.PermissionRequest;\n appMetadata: AppMetadata;\n network: Network;\n scopes: PermissionScope[];\n}\n"},{name:"@airgap/beacon-types/types/beacon/messages/PermissionResponse.d.ts",dts:"import { AppMetadata, BeaconBaseMessage, BeaconMessageType, Network, PermissionScope, Threshold } from '@airgap/beacon-types';\nimport { Notification } from '../../Notification';\n/**\n * @category Message\n */\nexport interface PermissionResponse extends BeaconBaseMessage {\n type: BeaconMessageType.PermissionResponse;\n appMetadata: AppMetadata;\n publicKey: string;\n network: Network;\n scopes: PermissionScope[];\n threshold?: Threshold;\n notification?: Notification;\n}\n"},{name:"@airgap/beacon-types/types/beacon/messages/SignPayloadRequest.d.ts",dts:"import { BeaconBaseMessage, BeaconMessageType, SigningType } from '@airgap/beacon-types';\n/**\n * @category Message\n */\nexport interface SignPayloadRequest extends BeaconBaseMessage {\n type: BeaconMessageType.SignPayloadRequest;\n signingType: SigningType;\n payload: string;\n sourceAddress: string;\n}\n"},{name:"@airgap/beacon-types/types/beacon/messages/SignPayloadResponse.d.ts",dts:"import { BeaconBaseMessage, BeaconMessageType, SigningType } from '@airgap/beacon-types';\n/**\n * @category Message\n */\nexport interface SignPayloadResponse extends BeaconBaseMessage {\n type: BeaconMessageType.SignPayloadResponse;\n signingType: SigningType;\n signature: string;\n}\n"},{name:"@airgap/beacon-types/types/beacon/AppMetadata.d.ts",dts:"export interface AppMetadata {\n senderId: string;\n name: string;\n icon?: string;\n}\n"},{name:"@airgap/beacon-types/types/beacon/BeaconBaseMessage.d.ts",dts:"import { BeaconMessageType } from '@airgap/beacon-types';\n/**\n * @category Message\n */\nexport interface BeaconBaseMessage {\n type: BeaconMessageType;\n version: string;\n id: string;\n senderId: string;\n}\n"},{name:"@airgap/beacon-types/types/beacon/BeaconMessage.d.ts",dts:"import { PermissionResponse, PermissionRequest, OperationRequest, OperationResponse, SignPayloadRequest, SignPayloadResponse, BroadcastRequest, BroadcastResponse, AcknowledgeResponse, DisconnectMessage, ErrorResponse, ChangeAccountRequest } from '@airgap/beacon-types';\n/**\n * @internalapi\n */\nexport declare type BeaconMessage = PermissionRequest | PermissionResponse | OperationRequest | OperationResponse | SignPayloadRequest | SignPayloadResponse | BroadcastRequest | BroadcastResponse | AcknowledgeResponse | DisconnectMessage | ErrorResponse | ChangeAccountRequest;\n"},{name:"@airgap/beacon-types/types/beacon/BeaconMessageType.d.ts",dts:'export declare enum BeaconMessageType {\n BlockchainRequest = "blockchain_request",\n PermissionRequest = "permission_request",\n SignPayloadRequest = "sign_payload_request",\n OperationRequest = "operation_request",\n BroadcastRequest = "broadcast_request",\n ChangeAccountRequest = "change_account_request",\n BlockchainResponse = "blockchain_response",\n PermissionResponse = "permission_response",\n SignPayloadResponse = "sign_payload_response",\n OperationResponse = "operation_response",\n BroadcastResponse = "broadcast_response",\n Acknowledge = "acknowledge",\n Disconnect = "disconnect",\n Error = "error"\n}\n'},{name:"@airgap/beacon-types/types/beacon/BeaconRequestMessage.d.ts",dts:"import { PermissionRequest, OperationRequest, SignPayloadRequest, BroadcastRequest } from '@airgap/beacon-types';\n/**\n * @internalapi\n */\nexport declare type BeaconRequestMessage = PermissionRequest | OperationRequest | SignPayloadRequest | BroadcastRequest;\n"},{name:"@airgap/beacon-types/types/beacon/BeaconResponseMessage.d.ts",dts:"import { PermissionResponse, OperationResponse, SignPayloadResponse, BroadcastResponse } from '@airgap/beacon-types';\nimport { ErrorResponse } from './messages/ErrorResponse';\n/**\n * @internalapi\n */\nexport declare type BeaconResponseMessage = PermissionResponse | OperationResponse | SignPayloadResponse | BroadcastResponse | ErrorResponse;\n"},{name:"@airgap/beacon-types/types/beacon/Network.d.ts",dts:"import { NetworkType } from '@airgap/beacon-types';\nexport interface Network {\n type: NetworkType;\n name?: string;\n rpcUrl?: string;\n}\n"},{name:"@airgap/beacon-types/types/beacon/NetworkType.d.ts",dts:'export declare enum NetworkType {\n MAINNET = "mainnet",\n GHOSTNET = "ghostnet",\n MONDAYNET = "mondaynet",\n DAILYNET = "dailynet",\n DELPHINET = "delphinet",\n EDONET = "edonet",\n FLORENCENET = "florencenet",\n GRANADANET = "granadanet",\n HANGZHOUNET = "hangzhounet",\n ITHACANET = "ithacanet",\n JAKARTANET = "jakartanet",\n KATHMANDUNET = "kathmandunet",\n LIMANET = "limanet",\n MUMBAINET = "mumbainet",\n NAIROBINET = "nairobinet",\n OXFORDNET = "oxfordnet",\n CUSTOM = "custom"\n}\n'},{name:"@airgap/beacon-types/types/beacon/PermissionScope.d.ts",dts:'export declare enum PermissionScope {\n SIGN = "sign",\n OPERATION_REQUEST = "operation_request",\n ENCRYPT = "encrypt",\n NOTIFICATION = "notification",\n THRESHOLD = "threshold"\n}\n'},{name:"@airgap/beacon-types/types/beacon/SigningType.d.ts",dts:'export declare enum SigningType {\n RAW = "raw",\n OPERATION = "operation",\n MICHELINE = "micheline"\n}\n'},{name:"@airgap/beacon-types/types/beacon/Threshold.d.ts",dts:"export interface Threshold {\n amount: string;\n timeframe: string;\n}\n"},{name:"@airgap/beacon-types/types/beaconV3/PermissionRequest.d.ts",dts:"import { AccountInfo, AppMetadata, BeaconMessageType, ConnectionContext, WalletInfo, ExtensionApp, DesktopApp, WebApp, App } from '@airgap/beacon-types';\nexport interface ResponseInput {\n request: BlockchainMessage;\n account: AccountInfo;\n output: BeaconMessageWrapper;\n blockExplorer: any;\n connectionContext: ConnectionContext;\n walletInfo: WalletInfo;\n}\nexport interface Blockchain {\n readonly identifier: string;\n validateRequest(input: BlockchainMessage): Promise;\n handleResponse(input: ResponseInput): Promise;\n getWalletLists(): Promise<{\n extensionList: ExtensionApp[];\n desktopList: DesktopApp[];\n webList: WebApp[];\n iOSList: App[];\n }>;\n getAccountInfosFromPermissionResponse(permissionResponse: PermissionResponseV3): Promise<{\n accountId: string;\n address: string;\n publicKey: string;\n }[]>;\n}\nexport interface BeaconMessageWrapper {\n id: string;\n version: string;\n senderId: string;\n message: T;\n}\nexport interface BeaconBaseMessage {\n type: unknown;\n}\nexport interface BlockchainMessage {\n blockchainIdentifier: T;\n type: unknown;\n blockchainData: unknown;\n}\nexport interface PermissionRequestV3 extends BlockchainMessage {\n blockchainIdentifier: T;\n type: BeaconMessageType.PermissionRequest;\n blockchainData: {\n appMetadata: AppMetadata;\n scopes: string[];\n };\n}\nexport interface PermissionResponseV3 extends BlockchainMessage {\n blockchainIdentifier: T;\n type: BeaconMessageType.PermissionResponse;\n blockchainData: {\n appMetadata: AppMetadata;\n scopes: string[];\n };\n}\nexport interface BlockchainRequestV3 extends BlockchainMessage {\n blockchainIdentifier: T;\n type: BeaconMessageType.BlockchainRequest;\n accountId: string;\n blockchainData: {\n type: string;\n scope: string;\n };\n}\nexport interface BlockchainResponseV3 extends BlockchainMessage {\n blockchainIdentifier: T;\n type: BeaconMessageType.BlockchainResponse;\n blockchainData: unknown;\n}\nexport interface BlockchainErrorResponse extends BlockchainMessage {\n blockchainIdentifier: T;\n type: BeaconMessageType.Error;\n error: {\n type: unknown;\n data?: unknown;\n };\n description?: string;\n}\nexport interface AcknowledgeMessage extends BeaconBaseMessage {\n type: BeaconMessageType.Acknowledge;\n}\nexport interface DisconnectMessage extends BeaconBaseMessage {\n type: BeaconMessageType.Disconnect;\n}\n"},{name:"@airgap/beacon-types/types/storage/Storage.d.ts",dts:"import { StorageKey, StorageKeyReturnType } from '@airgap/beacon-types';\n/**\n * @internalapi\n *\n * The storage used in the SDK\n */\nexport declare abstract class Storage {\n /**\n * Returns a promise that resolves to true if the storage option is available on this platform.\n */\n static isSupported(): Promise;\n /**\n * Gets a value from storage and returns it\n *\n * @param key The storage key\n */\n abstract get(key: K): Promise;\n /**\n * Sets a value in the storage and persist it\n *\n * @param key The storage key\n * @param value The value to be persisted\n */\n abstract set(key: K, value: StorageKeyReturnType[K]): Promise;\n /**\n * Delete a key from storage\n *\n * @param key The storage key\n */\n abstract delete(key: K): Promise;\n}\n"},{name:"@airgap/beacon-types/types/storage/StorageKey.d.ts",dts:'/**\n * @internalapi\n */\nexport declare enum StorageKey {\n TRANSPORT_P2P_PEERS_DAPP = "beacon:communication-peers-dapp",\n TRANSPORT_P2P_PEERS_WALLET = "beacon:communication-peers-wallet",\n TRANSPORT_POSTMESSAGE_PEERS_DAPP = "beacon:postmessage-peers-dapp",\n TRANSPORT_POSTMESSAGE_PEERS_WALLET = "beacon:postmessage-peers-wallet",\n TRANSPORT_WALLETCONNECT_PEERS_DAPP = "beacon:walletconnect-peers-dapp",\n LAST_SELECTED_WALLET = "beacon:last-selected-wallet",\n ACCOUNTS = "beacon:accounts",\n ACTIVE_ACCOUNT = "beacon:active-account",\n PUSH_TOKENS = "beacon:push-tokens",\n BEACON_SDK_SECRET_SEED = "beacon:sdk-secret-seed",\n APP_METADATA_LIST = "beacon:app-metadata-list",\n PERMISSION_LIST = "beacon:permissions",\n BEACON_SDK_VERSION = "beacon:sdk_version",\n MATRIX_PRESERVED_STATE = "beacon:sdk-matrix-preserved-state",\n MATRIX_PEER_ROOM_IDS = "beacon:matrix-peer-rooms",\n MATRIX_SELECTED_NODE = "beacon:matrix-selected-node",\n MULTI_NODE_SETUP_DONE = "beacon:multi-node-setup"\n}\n'},{name:"@airgap/beacon-types/types/storage/StorageKeyReturnDefaults.d.ts",dts:"import { StorageKey, StorageKeyReturnType } from '../..';\n/**\n * @internalapi\n */\nexport declare type StorageKeyReturnDefaults = {\n [key in StorageKey]: StorageKeyReturnType[key];\n};\n/**\n * @internalapi\n */\nexport declare const defaultValues: StorageKeyReturnDefaults;\n"},{name:"@airgap/beacon-types/types/storage/StorageKeyReturnType.d.ts",dts:"import { StorageKey, AccountInfo, AccountIdentifier, P2PPairingRequest, AppMetadata, PermissionInfo, ExtendedWalletConnectPairingResponse } from '../..';\nimport { ExtendedP2PPairingResponse } from '../P2PPairingResponse';\nimport { PostMessagePairingRequest } from '../PostMessagePairingRequest';\nimport { ExtendedPostMessagePairingResponse } from '../PostMessagePairingResponse';\nimport { PushToken } from '../PushToken';\n/**\n * @internalapi\n */\nexport interface StorageKeyReturnType {\n [StorageKey.TRANSPORT_P2P_PEERS_DAPP]: P2PPairingRequest[];\n [StorageKey.TRANSPORT_P2P_PEERS_WALLET]: ExtendedP2PPairingResponse[];\n [StorageKey.TRANSPORT_POSTMESSAGE_PEERS_DAPP]: PostMessagePairingRequest[];\n [StorageKey.TRANSPORT_POSTMESSAGE_PEERS_WALLET]: ExtendedPostMessagePairingResponse[];\n [StorageKey.TRANSPORT_WALLETCONNECT_PEERS_DAPP]: ExtendedWalletConnectPairingResponse[];\n [StorageKey.LAST_SELECTED_WALLET]: string | undefined;\n [StorageKey.ACCOUNTS]: AccountInfo[];\n [StorageKey.ACTIVE_ACCOUNT]: AccountIdentifier | undefined;\n [StorageKey.PUSH_TOKENS]: PushToken[];\n [StorageKey.BEACON_SDK_SECRET_SEED]: string | undefined;\n [StorageKey.APP_METADATA_LIST]: AppMetadata[];\n [StorageKey.PERMISSION_LIST]: PermissionInfo[];\n [StorageKey.BEACON_SDK_VERSION]: string | undefined;\n [StorageKey.MATRIX_PRESERVED_STATE]: {\n [key: string]: unknown;\n };\n [StorageKey.MATRIX_PEER_ROOM_IDS]: {\n [key: string]: string | undefined;\n };\n [StorageKey.MATRIX_SELECTED_NODE]: string | undefined;\n [StorageKey.MULTI_NODE_SETUP_DONE]: boolean | undefined;\n}\n"},{name:"@airgap/beacon-types/types/tezos/operations/ActivateAccount.d.ts",dts:"import { TezosBaseOperation, TezosOperationType } from '../../..';\n/**\n * @internalapi\n * @category Tezos\n */\nexport interface TezosActivateAccountOperation extends TezosBaseOperation {\n kind: TezosOperationType.ACTIVATE_ACCOUNT;\n pkh: string;\n secret: string;\n}\n"},{name:"@airgap/beacon-types/types/tezos/operations/Ballot.d.ts",dts:"import { TezosBaseOperation, TezosOperationType } from '../../..';\n/**\n * @internalapi\n * @category Tezos\n */\nexport interface TezosBallotOperation extends TezosBaseOperation {\n kind: TezosOperationType.BALLOT;\n source: string;\n period: string;\n proposal: string;\n ballot: 'nay' | 'yay' | 'pass';\n}\n"},{name:"@airgap/beacon-types/types/tezos/operations/Delegation.d.ts",dts:"import { TezosBaseOperation, TezosOperationType } from '../../..';\n/**\n * @internalapi\n * @category Tezos\n */\nexport interface TezosDelegationOperation extends TezosBaseOperation {\n kind: TezosOperationType.DELEGATION;\n source: string;\n fee: string;\n counter: string;\n gas_limit: string;\n storage_limit: string;\n delegate?: string;\n}\n"},{name:"@airgap/beacon-types/types/tezos/operations/DoubleBakingEvidence.d.ts",dts:"import { TezosBaseOperation, TezosOperationType, TezosBlockHeader } from '../../..';\n/**\n * @internalapi\n * @category Tezos\n */\nexport interface TezosDoubleBakingEvidenceOperation extends TezosBaseOperation {\n kind: TezosOperationType.DOUBLE_BAKING_EVIDENCE;\n bh1: TezosBlockHeader;\n bh2: TezosBlockHeader;\n}\n"},{name:"@airgap/beacon-types/types/tezos/operations/DoubleEndorsementEvidence.d.ts",dts:"import { TezosBaseOperation, TezosOperationType } from '../../..';\nexport interface InlinedEndorsement {\n branch: string;\n operations: InlinedEndorsementContents;\n signature?: string;\n}\nexport interface InlinedEndorsementContents {\n kind: TezosOperationType.ENDORSEMENT;\n level: string;\n}\n/**\n * @internalapi\n * @category Tezos\n */\nexport interface TezosDoubleEndorsementEvidenceOperation extends TezosBaseOperation {\n kind: TezosOperationType.DOUBLE_ENDORSEMENT_EVIDENCE;\n op1: InlinedEndorsement;\n op2: InlinedEndorsement;\n}\n"},{name:"@airgap/beacon-types/types/tezos/operations/Endorsement.d.ts",dts:"import { TezosBaseOperation, TezosOperationType } from '../../..';\n/**\n * @internalapi\n * @category Tezos\n */\nexport interface TezosEndorsementOperation extends TezosBaseOperation {\n kind: TezosOperationType.ENDORSEMENT;\n level: string;\n}\n"},{name:"@airgap/beacon-types/types/tezos/operations/Origination.d.ts",dts:"import { TezosBaseOperation, TezosOperationType } from '../../..';\n/**\n * @internalapi\n * @category Tezos\n */\nexport interface TezosOriginationOperation extends TezosBaseOperation {\n kind: TezosOperationType.ORIGINATION;\n source: string;\n fee: string;\n counter: string;\n gas_limit: string;\n storage_limit: string;\n balance: string;\n delegate?: string;\n script: string;\n}\n"},{name:"@airgap/beacon-types/types/tezos/operations/Proposal.d.ts",dts:"import { TezosBaseOperation, TezosOperationType } from '../../..';\n/**\n * @internalapi\n * @category Tezos\n */\nexport interface TezosProposalOperation extends TezosBaseOperation {\n kind: TezosOperationType.PROPOSALS;\n period: string;\n proposals: string[];\n}\n"},{name:"@airgap/beacon-types/types/tezos/operations/Reveal.d.ts",dts:"import { TezosBaseOperation, TezosOperationType } from '../../..';\n/**\n * @internalapi\n * @category Tezos\n */\nexport interface TezosRevealOperation extends TezosBaseOperation {\n kind: TezosOperationType.REVEAL;\n source: string;\n fee: string;\n counter: string;\n gas_limit: string;\n storage_limit: string;\n public_key: string;\n}\n"},{name:"@airgap/beacon-types/types/tezos/operations/SeedNonceRevelation.d.ts",dts:"import { TezosBaseOperation, TezosOperationType } from '../../..';\n/**\n * @internalapi\n * @category Tezos\n */\nexport interface TezosSeedNonceRevelationOperation extends TezosBaseOperation {\n kind: TezosOperationType.SEED_NONCE_REVELATION;\n level: string;\n nonce: string;\n}\n"},{name:"@airgap/beacon-types/types/tezos/operations/Transaction.d.ts",dts:"import { TezosBaseOperation, TezosOperationType, TezosTransactionParameters } from '../../..';\n/**\n * @internalapi\n * @category Tezos\n */\nexport interface TezosTransactionOperation extends TezosBaseOperation {\n kind: TezosOperationType.TRANSACTION;\n source: string;\n fee: string;\n counter: string;\n gas_limit: string;\n storage_limit: string;\n amount: string;\n destination: string;\n parameters?: TezosTransactionParameters;\n}\n"},{name:"@airgap/beacon-types/types/tezos/MichelineMichelsonV1Expression.d.ts",dts:"import { MichelsonPrimitives } from '../..';\n/**\n * @internalapi\n * @category Tezos\n */\nexport declare type MichelineMichelsonV1Expression = {\n int: string;\n} | {\n string: string;\n} | {\n bytes: string;\n} | MichelineMichelsonV1Expression[] | {\n prim: MichelsonPrimitives;\n args?: MichelineMichelsonV1Expression[];\n annots?: string[];\n};\n"},{name:"@airgap/beacon-types/types/tezos/MichelsonPrimitives.d.ts",dts:"/**\n * @internalapi\n * @category Tezos\n */\nexport declare type MichelsonPrimitives = 'ADD' | 'IF_NONE' | 'SWAP' | 'set' | 'nat' | 'CHECK_SIGNATURE' | 'IF_LEFT' | 'LAMBDA' | 'Elt' | 'CREATE_CONTRACT' | 'NEG' | 'big_map' | 'map' | 'or' | 'BLAKE2B' | 'bytes' | 'SHA256' | 'SET_DELEGATE' | 'CONTRACT' | 'LSL' | 'SUB' | 'IMPLICIT_ACCOUNT' | 'PACK' | 'list' | 'PAIR' | 'Right' | 'contract' | 'GT' | 'LEFT' | 'STEPS_TO_QUOTA' | 'storage' | 'TRANSFER_TOKENS' | 'CDR' | 'SLICE' | 'PUSH' | 'False' | 'SHA512' | 'CHAIN_ID' | 'BALANCE' | 'signature' | 'DUG' | 'SELF' | 'EMPTY_BIG_MAP' | 'LSR' | 'OR' | 'XOR' | 'lambda' | 'COMPARE' | 'key' | 'option' | 'Unit' | 'Some' | 'UNPACK' | 'NEQ' | 'INT' | 'pair' | 'AMOUNT' | 'DIP' | 'ABS' | 'ISNAT' | 'EXEC' | 'NOW' | 'LOOP' | 'chain_id' | 'string' | 'MEM' | 'MAP' | 'None' | 'address' | 'CONCAT' | 'EMPTY_SET' | 'MUL' | 'LOOP_LEFT' | 'timestamp' | 'LT' | 'UPDATE' | 'DUP' | 'SOURCE' | 'mutez' | 'SENDER' | 'IF_CONS' | 'RIGHT' | 'CAR' | 'CONS' | 'LE' | 'NONE' | 'IF' | 'SOME' | 'GET' | 'Left' | 'CAST' | 'int' | 'SIZE' | 'key_hash' | 'unit' | 'DROP' | 'EMPTY_MAP' | 'NIL' | 'DIG' | 'APPLY' | 'bool' | 'RENAME' | 'operation' | 'True' | 'FAILWITH' | 'parameter' | 'HASH_KEY' | 'EQ' | 'NOT' | 'UNIT' | 'Pair' | 'ADDRESS' | 'EDIV' | 'CREATE_ACCOUNT' | 'GE' | 'ITER' | 'code' | 'AND';\n"},{name:"@airgap/beacon-types/types/tezos/OperationTypes.d.ts",dts:'/**\n * @publicapi\n * @category Tezos\n */\nexport declare enum TezosOperationType {\n ENDORSEMENT = "endorsement",\n SEED_NONCE_REVELATION = "seed_nonce_revelation",\n DOUBLE_ENDORSEMENT_EVIDENCE = "double_endorsement_evidence",\n DOUBLE_BAKING_EVIDENCE = "double_baking_evidence",\n ACTIVATE_ACCOUNT = "activate_account",\n PROPOSALS = "proposals",\n BALLOT = "ballot",\n REVEAL = "reveal",\n TRANSACTION = "transaction",\n ORIGINATION = "origination",\n DELEGATION = "delegation"\n}\n'},{name:"@airgap/beacon-types/types/tezos/PartialTezosOperation.d.ts",dts:"import { Optional } from '@airgap/beacon-types';\nimport { TezosActivateAccountOperation } from './operations/ActivateAccount';\nimport { TezosBallotOperation } from './operations/Ballot';\nimport { TezosDelegationOperation } from './operations/Delegation';\nimport { TezosDoubleBakingEvidenceOperation } from './operations/DoubleBakingEvidence';\nimport { TezosEndorsementOperation } from './operations/Endorsement';\nimport { TezosOriginationOperation } from './operations/Origination';\nimport { TezosProposalOperation } from './operations/Proposal';\nimport { TezosRevealOperation } from './operations/Reveal';\nimport { TezosSeedNonceRevelationOperation } from './operations/SeedNonceRevelation';\nimport { TezosTransactionOperation } from './operations/Transaction';\n/**\n * @publicapi\n * @category Tezos\n */\nexport declare type omittedProperties = 'source' | 'fee' | 'counter' | 'gas_limit' | 'storage_limit';\n/**\n * @internalapi\n * @category Tezos\n */\nexport declare type PartialTezosDelegationOperation = Optional;\n/**\n * @internalapi\n * @category Tezos\n */\nexport declare type PartialTezosOriginationOperation = Optional;\n/**\n * @internalapi\n * @category Tezos\n */\nexport declare type PartialTezosRevealOperation = Optional;\n/**\n * @internalapi\n * @category Tezos\n */\nexport declare type PartialTezosTransactionOperation = Optional;\n/**\n * @publicapi\n * @category Tezos\n */\nexport declare type PartialTezosOperation = TezosActivateAccountOperation | TezosBallotOperation | PartialTezosDelegationOperation | TezosDoubleBakingEvidenceOperation | TezosEndorsementOperation | PartialTezosOriginationOperation | TezosProposalOperation | PartialTezosRevealOperation | TezosSeedNonceRevelationOperation | PartialTezosTransactionOperation;\n"},{name:"@airgap/beacon-types/types/tezos/TezosBaseOperation.d.ts",dts:"import { TezosOperationType } from '../..';\n/**\n * @internalapi\n * @category Tezos\n */\nexport interface TezosBaseOperation {\n kind: TezosOperationType;\n}\n"},{name:"@airgap/beacon-types/types/tezos/TezosBlockHeader.d.ts",dts:"/**\n * @internalapi\n * @category Tezos\n */\nexport interface TezosBlockHeader {\n level: number;\n proto: number;\n predecessor: string;\n timestamp: string;\n validation_pass: number;\n operations_hash: string;\n fitness: string[];\n context: string;\n priority: number;\n proof_of_work_nonce: string;\n signature: string;\n}\n"},{name:"@airgap/beacon-types/types/tezos/TezosOperation.d.ts",dts:"import { TezosActivateAccountOperation, TezosBallotOperation, TezosDelegationOperation, TezosDoubleBakingEvidenceOperation, TezosEndorsementOperation, TezosOriginationOperation, TezosProposalOperation, TezosRevealOperation, TezosSeedNonceRevelationOperation, TezosTransactionOperation } from '../..';\n/**\n * @internalapi\n * @category Tezos\n */\nexport declare type TezosOperation = TezosActivateAccountOperation | TezosBallotOperation | TezosDelegationOperation | TezosDoubleBakingEvidenceOperation | TezosEndorsementOperation | TezosOriginationOperation | TezosProposalOperation | TezosRevealOperation | TezosSeedNonceRevelationOperation | TezosTransactionOperation;\n"},{name:"@airgap/beacon-types/types/tezos/TezosTransactionParameters.d.ts",dts:"import { MichelineMichelsonV1Expression } from './MichelineMichelsonV1Expression';\n/**\n * @internalapi\n * @category Tezos\n */\nexport interface TezosTransactionParameters {\n entrypoint: 'default' | 'root' | 'do' | 'set_delegate' | 'remove_delegate' | string;\n value: MichelineMichelsonV1Expression;\n}\n"},{name:"@airgap/beacon-types/types/transport/TransportStatus.d.ts",dts:'export declare enum TransportStatus {\n NOT_CONNECTED = "NOT_CONNECTED",\n CONNECTING = "CONNECTING",\n CONNECTED = "CONNECTED"\n}\n'},{name:"@airgap/beacon-types/types/transport/TransportType.d.ts",dts:'/**\n * @internalapi\n */\nexport declare enum TransportType {\n CHROME_MESSAGE = "chrome_message",\n WALLETCONNECT = "walletconnect",\n POST_MESSAGE = "post_message",\n LEDGER = "ledger",\n P2P = "p2p"\n}\n'},{name:"@airgap/beacon-types/types/utils/Optional.d.ts",dts:"export declare type Optional = Partial & Omit;\n"},{name:"@airgap/beacon-types/types/AccountInfo.d.ts",dts:"import { Origin } from '..';\nimport { PermissionEntity } from './PermissionEntity';\nimport { Notification } from './Notification';\nexport declare type AccountIdentifier = string;\nexport interface AccountInfo extends PermissionEntity {\n accountIdentifier: AccountIdentifier;\n senderId: string;\n origin: {\n type: Origin;\n id: string;\n };\n walletKey?: string;\n publicKey: string;\n connectedAt: number;\n notification?: Notification;\n}\n"},{name:"@airgap/beacon-types/types/AnalyticsInterface.d.ts",dts:"export interface AnalyticsInterface {\n track(trigger: 'click' | 'event', section: string, label: string, data?: Record): void;\n}\n"},{name:"@airgap/beacon-types/types/BeaconErrorType.d.ts",dts:'export declare enum BeaconErrorType {\n /**\n * {@link BroadcastBeaconError}\n *\n * Will be returned if the user chooses that the transaction is broadcast but there is an error (eg. node not available).\n *\n * Returned by: Broadcast | Operation Request\n */\n BROADCAST_ERROR = "BROADCAST_ERROR",\n /**\n * {@link NetworkNotSupportedBeaconError}\n *\n * Will be returned if the selected network is not supported by the wallet / extension.\n *\n * Returned by: Permission\n */\n NETWORK_NOT_SUPPORTED = "NETWORK_NOT_SUPPORTED",\n /**\n * {@link NoAddressBeaconError}\n *\n * Will be returned if there is no address present for the protocol / network requested.\n *\n * Returned by: Permission\n */\n NO_ADDRESS_ERROR = "NO_ADDRESS_ERROR",\n /**\n * {@link NoPrivateKeyBeaconError}\n *\n * Will be returned if the private key matching the sourceAddress could not be found.\n *\n * Returned by: Sign\n */\n NO_PRIVATE_KEY_FOUND_ERROR = "NO_PRIVATE_KEY_FOUND_ERROR",\n /**\n * {@link NotGrantedBeaconError}\n *\n * Will be returned if the signature was blocked // (Not needed?) Permission: Will be returned if the permissions requested by the App were not granted.\n *\n * Returned by: Sign\n */\n NOT_GRANTED_ERROR = "NOT_GRANTED_ERROR",\n /**\n * {@link ParametersInvalidBeaconError}\n *\n * Will be returned if any of the parameters are invalid.\n *\n * Returned by: Operation Request\n */\n PARAMETERS_INVALID_ERROR = "PARAMETERS_INVALID_ERROR",\n /**\n * {@link TooManyOperationsBeaconError}\n *\n * Will be returned if too many operations were in the request and they were not able to fit into a single operation group.\n *\n * Returned by: Operation Request\n */\n TOO_MANY_OPERATIONS = "TOO_MANY_OPERATIONS",\n /**\n * {@link TransactionInvalidBeaconError}\n *\n * Will be returned if the transaction is not parsable or is rejected by the node.\n *\n * Returned by: Broadcast\n */\n TRANSACTION_INVALID_ERROR = "TRANSACTION_INVALID_ERROR",\n /**\n * {@link SignatureTypeNotSupportedBeaconError}\n *\n * Will be returned if the signing type is not supported.\n *\n * Returned by: Sign\n */\n SIGNATURE_TYPE_NOT_SUPPORTED = "SIGNATURE_TYPE_NOT_SUPPORTED",\n /**\n * {@link AbortedBeaconError}\n *\n * Will be returned if the request was aborted by the user or the wallet.\n *\n * Returned by: Permission | Operation Request | Sign Request | Broadcast\n */\n ABORTED_ERROR = "ABORTED_ERROR",\n /**\n * {@link UnknownBeaconError}\n *\n * Used as a wildcard if an unexpected error occured.\n *\n * Returned by: Permission | Operation Request | Sign Request | Broadcast\n */\n UNKNOWN_ERROR = "UNKNOWN_ERROR"\n}\n'},{name:"@airgap/beacon-types/types/ColorMode.d.ts",dts:'export declare enum ColorMode {\n LIGHT = "light",\n DARK = "dark"\n}\n'},{name:"@airgap/beacon-types/types/ConnectionContext.d.ts",dts:"/// \nimport { Origin } from '..';\n/**\n * @internalapi\n */\nexport interface ConnectionContext {\n origin: Origin;\n id: string;\n extras?: {\n sender: chrome.runtime.MessageSender;\n sendResponse(response?: unknown): void;\n };\n}\n"},{name:"@airgap/beacon-types/types/EncryptionOperation.d.ts",dts:""},{name:"@airgap/beacon-types/types/EncryptionType.d.ts",dts:""},{name:"@airgap/beacon-types/types/Extension.d.ts",dts:"export interface Extension {\n id: string;\n name: string;\n shortName?: string;\n iconUrl?: string;\n color?: string;\n}\n"},{name:"@airgap/beacon-types/types/ExtensionMessage.d.ts",dts:"import { ExtensionMessageTarget } from '..';\n/**\n * @internalapi\n */\nexport interface ExtensionMessage {\n target: ExtensionMessageTarget;\n targetId?: string;\n sender?: U;\n payload: T;\n}\n/**\n * @internalapi\n */\nexport interface EncryptedExtensionMessage {\n target: ExtensionMessageTarget;\n targetId?: string;\n sender?: U;\n encryptedPayload: string;\n}\n"},{name:"@airgap/beacon-types/types/ExtensionMessageTarget.d.ts",dts:'/**\n * @internalapi\n */\nexport declare enum ExtensionMessageTarget {\n BACKGROUND = "toBackground",\n PAGE = "toPage",\n EXTENSION = "toExtension"\n}\n'},{name:"@airgap/beacon-types/types/Notification.d.ts",dts:"export interface Notification {\n version: number;\n apiUrl: string;\n token: string;\n}\n"},{name:"@airgap/beacon-types/types/Origin.d.ts",dts:'/**\n * @internalapi\n */\nexport declare enum Origin {\n WEBSITE = "website",\n EXTENSION = "extension",\n P2P = "p2p",\n WALLETCONNECT = "walletconnect"\n}\n'},{name:"@airgap/beacon-types/types/P2PPairingRequest.d.ts",dts:"import { PeerInfo } from './PeerInfo';\n/**\n * @internalapi\n */\nexport interface P2PPairingRequest extends PeerInfo {\n id: string;\n type: 'p2p-pairing-request';\n name: string;\n publicKey: string;\n relayServer: string;\n icon?: string;\n appUrl?: string;\n}\n/**\n * @internalapi\n */\nexport declare type ExtendedP2PPairingRequest = P2PPairingRequest & {\n senderId: string;\n};\n"},{name:"@airgap/beacon-types/types/P2PPairingResponse.d.ts",dts:"import { PeerInfo } from './PeerInfo';\n/**\n * @internalapi\n */\nexport interface P2PPairingResponse extends PeerInfo {\n id: string;\n type: 'p2p-pairing-response';\n name: string;\n publicKey: string;\n relayServer: string;\n icon?: string;\n appUrl?: string;\n}\n/**\n * @internalapi\n */\nexport declare type ExtendedP2PPairingResponse = P2PPairingResponse & {\n senderId: string;\n};\n"},{name:"@airgap/beacon-types/types/PeerInfo.d.ts",dts:"export interface PeerInfo {\n name: string;\n publicKey: string;\n version: string;\n}\nexport declare type ExtendedPeerInfo = PeerInfo & {\n senderId: string;\n};\n"},{name:"@airgap/beacon-types/types/PermissionEntity.d.ts",dts:"import { Network, PermissionScope, Threshold } from '..';\nexport interface PermissionEntity {\n address: string;\n network: Network;\n scopes: PermissionScope[];\n threshold?: Threshold;\n}\n"},{name:"@airgap/beacon-types/types/PermissionInfo.d.ts",dts:"import { AppMetadata } from '..';\nimport { PermissionEntity } from './PermissionEntity';\nexport interface PermissionInfo extends PermissionEntity {\n accountIdentifier: string;\n senderId: string;\n appMetadata: AppMetadata;\n website: string;\n publicKey: string;\n connectedAt: number;\n}\n"},{name:"@airgap/beacon-types/types/PostMessagePairingRequest.d.ts",dts:"import { PeerInfo } from './PeerInfo';\n/**\n * @internalapi\n */\nexport interface PostMessagePairingRequest extends PeerInfo {\n id: string;\n type: 'postmessage-pairing-request';\n name: string;\n publicKey: string;\n icon?: string;\n appUrl?: string;\n}\n/**\n * @internalapi\n */\nexport declare type ExtendedPostMessagePairingRequest = PostMessagePairingRequest & {\n senderId: string;\n};\n"},{name:"@airgap/beacon-types/types/PostMessagePairingResponse.d.ts",dts:"import { PeerInfo } from './PeerInfo';\n/**\n * @internalapi\n */\nexport interface PostMessagePairingResponse extends PeerInfo {\n id: string;\n type: 'postmessage-pairing-response';\n name: string;\n publicKey: string;\n icon?: string;\n appUrl?: string;\n}\n/**\n * @internalapi\n */\nexport declare type ExtendedPostMessagePairingResponse = PostMessagePairingResponse & {\n senderId: string;\n extensionId: string;\n};\n"},{name:"@airgap/beacon-types/types/PushToken.d.ts",dts:"export interface PushToken {\n publicKey: string;\n backendUrl: string;\n accessToken: string;\n managementToken: string;\n}\n"},{name:"@airgap/beacon-types/types/Regions.d.ts",dts:'/**\n * Geographic region where a beacon node is located. This list can be changed in the future to be more specific, but for now it should cover most general areas.\n */\nexport declare enum Regions {\n EUROPE_EAST = "europe-east",\n EUROPE_WEST = "europe-west",\n NORTH_AMERICA_EAST = "north-america-east",\n NORTH_AMERICA_WEST = "north-america-west",\n CENTRAL_AMERICA = "central-america",\n SOUTH_AMERICA = "south-america",\n ASIA_EAST = "asia-east",\n ASIA_WEST = "asia-west",\n AFRICA = "africa",\n AUSTRALIA = "australia"\n}\nexport declare type NodeDistributions = Record;\n'},{name:"@airgap/beacon-types/types/RequestBroadcastInput.d.ts",dts:"import { Network } from '..';\n/**\n * @category DApp\n */\nexport interface RequestBroadcastInput {\n /**\n * @deprecated You should now specify the network in the constructor of the DAppClient\n */\n network?: Network;\n signedTransaction: string;\n}\n"},{name:"@airgap/beacon-types/types/RequestEncryptPayloadInput.d.ts",dts:"/**\n * @category DApp\n */\n"},{name:"@airgap/beacon-types/types/RequestOperationInput.d.ts",dts:"import { PartialTezosOperation } from './tezos/PartialTezosOperation';\n/**\n * @category DApp\n */\nexport interface RequestOperationInput {\n operationDetails: PartialTezosOperation[];\n}\n"},{name:"@airgap/beacon-types/types/RequestPermissionInput.d.ts",dts:"import { Network, PermissionScope } from '..';\n/**\n * @category DApp\n */\nexport interface RequestPermissionInput {\n /**\n * @deprecated You should now specify the network in the constructor of the DAppClient\n */\n network?: Network;\n scopes?: PermissionScope[];\n}\n"},{name:"@airgap/beacon-types/types/RequestSignPayloadInput.d.ts",dts:"import { SigningType } from '..';\n/**\n * @category DApp\n */\nexport interface RequestSignPayloadInput {\n signingType?: SigningType;\n payload: string;\n sourceAddress?: string;\n}\n"},{name:"@airgap/beacon-types/types/WalletConnectPairingRequest.d.ts",dts:"import { PeerInfo } from './PeerInfo';\n/**\n * @internalapi\n */\nexport interface WalletConnectPairingRequest extends PeerInfo {\n id: string;\n type: 'walletconnect-pairing-request';\n name: string;\n publicKey: string;\n uri: string;\n icon?: string;\n appUrl?: string;\n}\n/**\n * @internalapi\n */\nexport declare type ExtendedWalletConnectPairingRequest = WalletConnectPairingRequest & {\n senderId: string;\n};\n"},{name:"@airgap/beacon-types/types/WalletConnectPairingResponse.d.ts",dts:"import { PeerInfo } from './PeerInfo';\n/**\n * @internalapi\n */\nexport interface WalletConnectPairingResponse extends PeerInfo {\n id: string;\n type: 'walletconnect-pairing-response';\n name: string;\n publicKey: string;\n icon?: string;\n appUrl?: string;\n}\n/**\n * @internalapi\n */\nexport declare type ExtendedWalletConnectPairingResponse = WalletConnectPairingResponse & {\n senderId: string;\n extensionId: string;\n};\n"},{name:"@airgap/beacon-types/types/WalletInfo.d.ts",dts:"export interface WalletInfo {\n name: string;\n type?: 'extension' | 'mobile' | 'web' | 'desktop';\n icon?: string;\n deeplink?: string;\n}\n"},{name:"@airgap/beacon-types/types/ui.d.ts",dts:"import { NetworkType } from './beacon/NetworkType';\nexport interface AppBase {\n key: string;\n name: string;\n shortName: string;\n color: string;\n logo: string;\n supportedInteractionStandards?: ('wallet_connect' | 'beacon')[];\n}\nexport interface ExtensionApp extends AppBase {\n id: string;\n link: string;\n}\nexport interface WebApp extends AppBase {\n links: {\n [NetworkType.MAINNET]: string;\n [NetworkType.GHOSTNET]?: string;\n [NetworkType.MONDAYNET]?: string;\n [NetworkType.DAILYNET]?: string;\n [NetworkType.DELPHINET]?: string;\n [NetworkType.EDONET]?: string;\n [NetworkType.FLORENCENET]?: string;\n [NetworkType.GRANADANET]?: string;\n [NetworkType.HANGZHOUNET]?: string;\n [NetworkType.ITHACANET]?: string;\n [NetworkType.JAKARTANET]?: string;\n [NetworkType.KATHMANDUNET]?: string;\n [NetworkType.LIMANET]?: string;\n [NetworkType.MUMBAINET]?: string;\n [NetworkType.NAIROBINET]?: string;\n [NetworkType.OXFORDNET]?: string;\n [NetworkType.CUSTOM]?: string;\n };\n}\nexport interface DesktopApp extends AppBase {\n deepLink: string;\n downloadLink: string;\n}\nexport interface App extends AppBase {\n universalLink: string;\n deepLink?: string;\n}\n"},{name:"@airgap/beacon-types/index.d.ts",dts:"/**\n * General docs\n * @module public\n */\nimport { AppMetadata } from './types/beacon/AppMetadata';\nimport { PermissionRequest } from './types/beacon/messages/PermissionRequest';\nimport { Network } from './types/beacon/Network';\nimport { BeaconBaseMessage } from './types/beacon/BeaconBaseMessage';\nimport { BeaconMessageType } from './types/beacon/BeaconMessageType';\nimport { PermissionScope } from './types/beacon/PermissionScope';\nimport { PermissionResponse } from './types/beacon/messages/PermissionResponse';\nimport { OperationRequest } from './types/beacon/messages/OperationRequest';\nimport { OperationResponse } from './types/beacon/messages/OperationResponse';\nimport { SignPayloadRequest } from './types/beacon/messages/SignPayloadRequest';\nimport { SignPayloadResponse } from './types/beacon/messages/SignPayloadResponse';\nimport { BroadcastRequest } from './types/beacon/messages/BroadcastRequest';\nimport { BroadcastResponse } from './types/beacon/messages/BroadcastResponse';\nimport { NetworkType } from './types/beacon/NetworkType';\nimport { TezosBaseOperation } from './types/tezos/TezosBaseOperation';\nimport { TezosOperationType } from './types/tezos/OperationTypes';\nimport { TezosActivateAccountOperation } from './types/tezos/operations/ActivateAccount';\nimport { TezosBallotOperation } from './types/tezos/operations/Ballot';\nimport { TezosDelegationOperation } from './types/tezos/operations/Delegation';\nimport { TezosDoubleBakingEvidenceOperation } from './types/tezos/operations/DoubleBakingEvidence';\nimport { TezosBlockHeader } from './types/tezos/TezosBlockHeader';\nimport { TezosDoubleEndorsementEvidenceOperation } from './types/tezos/operations/DoubleEndorsementEvidence';\nimport { TezosEndorsementOperation } from './types/tezos/operations/Endorsement';\nimport { TezosOriginationOperation } from './types/tezos/operations/Origination';\nimport { TezosProposalOperation } from './types/tezos/operations/Proposal';\nimport { TezosRevealOperation } from './types/tezos/operations/Reveal';\nimport { TezosSeedNonceRevelationOperation } from './types/tezos/operations/SeedNonceRevelation';\nimport { TezosTransactionOperation } from './types/tezos/operations/Transaction';\nimport { MichelsonPrimitives } from './types/tezos/MichelsonPrimitives';\nimport { TezosTransactionParameters } from './types/tezos/TezosTransactionParameters';\nimport { Origin } from './types/Origin';\nimport { AccountInfo, AccountIdentifier } from './types/AccountInfo';\nimport { EncryptedExtensionMessage, ExtensionMessage } from './types/ExtensionMessage';\nimport { ExtensionMessageTarget } from './types/ExtensionMessageTarget';\nimport { TezosOperation } from './types/tezos/TezosOperation';\nimport { BeaconErrorType } from './types/BeaconErrorType';\nimport { ErrorResponse } from './types/beacon/messages/ErrorResponse';\nimport { TransportStatus } from './types/transport/TransportStatus';\nimport { TransportType } from './types/transport/TransportType';\nimport { Storage } from './types/storage/Storage';\nimport { StorageKey } from './types/storage/StorageKey';\nimport { defaultValues, StorageKeyReturnDefaults } from './types/storage/StorageKeyReturnDefaults';\nimport { StorageKeyReturnType } from './types/storage/StorageKeyReturnType';\nimport { ExtendedP2PPairingRequest, P2PPairingRequest } from './types/P2PPairingRequest';\nimport { BeaconMessage } from './types/beacon/BeaconMessage';\nimport { RequestPermissionInput } from './types/RequestPermissionInput';\nimport { RequestSignPayloadInput } from './types/RequestSignPayloadInput';\nimport { RequestOperationInput } from './types/RequestOperationInput';\nimport { RequestBroadcastInput } from './types/RequestBroadcastInput';\nimport { PermissionResponseInput, SignPayloadResponseInput, OperationResponseInput, BroadcastResponseInput, BeaconResponseInputMessage, AcknowledgeResponseInput, ErrorResponseInput, IgnoredResponseInputProperties } from './types/beacon/messages/BeaconResponseInputMessage';\nimport { PermissionResponseOutput, SignPayloadResponseOutput, OperationResponseOutput, BroadcastResponseOutput, BeaconResponseOutputMessage } from './types/beacon/messages/BeaconResponseOutputMessage';\nimport { PermissionRequestInput, SignPayloadRequestInput, OperationRequestInput, BroadcastRequestInput, BeaconRequestInputMessage, IgnoredRequestInputProperties } from './types/beacon/messages/BeaconRequestInputMessage';\nimport { PermissionRequestOutput, SignPayloadRequestOutput, OperationRequestOutput, BroadcastRequestOutput, BeaconRequestOutputMessage } from './types/beacon/messages/BeaconRequestOutputMessage';\nimport { PermissionInfo } from './types/PermissionInfo';\nimport { ConnectionContext } from './types/ConnectionContext';\nimport { Threshold } from './types/beacon/Threshold';\nimport { PartialTezosTransactionOperation, PartialTezosOperation, PartialTezosDelegationOperation, PartialTezosOriginationOperation, PartialTezosRevealOperation } from './types/tezos/PartialTezosOperation';\nimport { ExtendedPeerInfo, PeerInfo } from './types/PeerInfo';\nimport { AcknowledgeResponse } from './types/beacon/messages/AcknowledgeResponse';\nimport { DisconnectMessage } from './types/beacon/messages/DisconnectMessage';\nimport { SigningType } from './types/beacon/SigningType';\nimport { ExtendedP2PPairingResponse, P2PPairingResponse } from './types/P2PPairingResponse';\nimport { ExtendedPostMessagePairingRequest, PostMessagePairingRequest } from './types/PostMessagePairingRequest';\nimport { ExtendedWalletConnectPairingResponse, WalletConnectPairingResponse } from './types/WalletConnectPairingResponse';\nimport { ExtendedWalletConnectPairingRequest, WalletConnectPairingRequest } from './types/WalletConnectPairingRequest';\nimport { ExtendedPostMessagePairingResponse, PostMessagePairingResponse } from './types/PostMessagePairingResponse';\nimport { BeaconRequestMessage } from './types/beacon/BeaconRequestMessage';\nimport { BeaconResponseMessage } from './types/beacon/BeaconResponseMessage';\nimport { ColorMode } from './types/ColorMode';\nimport { Optional } from './types/utils/Optional';\nimport { Extension } from './types/Extension';\nimport { PermissionEntity } from './types/PermissionEntity';\nimport { WalletInfo } from './types/WalletInfo';\nimport { ChangeAccountRequest } from './types/beacon/messages/ChangeAccountRequest';\nexport * from './types/AnalyticsInterface';\nexport * from './types/beaconV3/PermissionRequest';\nexport * from './types/ui';\nexport * from './types/Regions';\nexport { TezosBaseOperation, TezosOperationType, TezosBlockHeader, MichelsonPrimitives, TezosTransactionParameters, TezosOperation };\nexport { TezosActivateAccountOperation, TezosBallotOperation, TezosDelegationOperation, TezosDoubleBakingEvidenceOperation, TezosDoubleEndorsementEvidenceOperation, TezosEndorsementOperation, TezosOriginationOperation, TezosProposalOperation, TezosRevealOperation, TezosSeedNonceRevelationOperation, TezosTransactionOperation, PartialTezosOperation, PartialTezosTransactionOperation, PartialTezosDelegationOperation, PartialTezosOriginationOperation, PartialTezosRevealOperation };\nexport { AccountIdentifier, AppMetadata, Network, NetworkType, BeaconMessage, PermissionRequest, PermissionResponse, OperationRequest, OperationResponse, SignPayloadRequest, SignPayloadResponse, BroadcastRequest, BroadcastResponse, ChangeAccountRequest, AcknowledgeResponse, DisconnectMessage, BeaconBaseMessage, BeaconMessageType, PermissionScope, Origin, AccountInfo, Threshold, SigningType, ExtensionMessageTarget, ExtensionMessage, Extension, EncryptedExtensionMessage, RequestPermissionInput, RequestSignPayloadInput, RequestOperationInput, RequestBroadcastInput, PermissionInfo, PermissionEntity };\nexport { PermissionResponseInput, SignPayloadResponseInput, OperationResponseInput, BroadcastResponseInput, AcknowledgeResponseInput, ErrorResponseInput, PermissionResponseOutput, SignPayloadResponseOutput, OperationResponseOutput, BroadcastResponseOutput, PermissionRequestInput, SignPayloadRequestInput, OperationRequestInput, BroadcastRequestInput, PermissionRequestOutput, SignPayloadRequestOutput, OperationRequestOutput, BroadcastRequestOutput, BeaconRequestInputMessage, BeaconRequestOutputMessage, BeaconResponseInputMessage, BeaconResponseOutputMessage, BeaconRequestMessage, BeaconResponseMessage };\nexport { BeaconErrorType, ErrorResponse };\nexport { TransportStatus, TransportType };\nexport { Storage, StorageKey, StorageKeyReturnDefaults, StorageKeyReturnType };\nexport { PeerInfo, ExtendedPeerInfo, PostMessagePairingRequest, PostMessagePairingResponse, ExtendedPostMessagePairingRequest, ExtendedPostMessagePairingResponse, P2PPairingRequest, P2PPairingResponse, ExtendedP2PPairingRequest, ExtendedP2PPairingResponse, WalletConnectPairingResponse, WalletConnectPairingRequest, ExtendedWalletConnectPairingRequest, ExtendedWalletConnectPairingResponse };\nexport { IgnoredResponseInputProperties, IgnoredRequestInputProperties, defaultValues };\nexport { ConnectionContext, ColorMode, WalletInfo };\nexport { PushToken } from './types/PushToken';\nexport { Optional };\n"},{name:"@airgap/beacon-types/dist/esm/types/beacon/messages/AcknowledgeResponse.d.ts",dts:"import { BeaconBaseMessage, BeaconMessageType } from '@airgap/beacon-types';\n/**\n * @category Message\n */\nexport interface AcknowledgeResponse extends BeaconBaseMessage {\n type: BeaconMessageType.Acknowledge;\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/beacon/messages/BeaconRequestInputMessage.d.ts",dts:"import { Optional } from '@airgap/beacon-types';\nimport { PermissionRequest, OperationRequest, SignPayloadRequest, BroadcastRequest } from '@airgap/beacon-types';\n/**\n * @internalapi\n * @category DApp\n */\nexport declare type IgnoredRequestInputProperties = 'id' | 'senderId' | 'version';\n/**\n * @internalapi\n * @category DApp\n */\nexport declare type PermissionRequestInput = Optional;\n/**\n * @internalapi\n * @category DApp\n */\nexport declare type OperationRequestInput = Optional;\n/**\n * @internalapi\n * @category DApp\n */\nexport declare type SignPayloadRequestInput = Optional;\n/**\n * @internalapi\n * @category DApp\n */\n/**\n * @internalapi\n * @category DApp\n */\nexport declare type BroadcastRequestInput = Optional;\n/**\n * @internalapi\n * @category DApp\n */\nexport declare type BeaconRequestInputMessage = PermissionRequestInput | OperationRequestInput | SignPayloadRequestInput | BroadcastRequestInput;\n"},{name:"@airgap/beacon-types/dist/esm/types/beacon/messages/BeaconRequestOutputMessage.d.ts",dts:"import { Optional } from '@airgap/beacon-types';\nimport { AppMetadata, PermissionRequest, OperationRequest, SignPayloadRequest, BroadcastRequest } from '@airgap/beacon-types';\n/**\n * @category Wallet\n */\nexport declare type IgnoredRequestOutputProperties = 'version';\n/**\n * @category Wallet\n */\nexport interface ExtraResponseOutputProperties {\n appMetadata: AppMetadata;\n}\n/**\n * @category Wallet\n */\nexport declare type PermissionRequestOutput = Optional & ExtraResponseOutputProperties;\n/**\n * @category Wallet\n */\nexport declare type OperationRequestOutput = Optional & ExtraResponseOutputProperties;\n/**\n * @category Wallet\n */\nexport declare type SignPayloadRequestOutput = Optional & ExtraResponseOutputProperties;\n/**\n * @category Wallet\n */\n/**\n * @category Wallet\n */\nexport declare type BroadcastRequestOutput = Optional & ExtraResponseOutputProperties;\n/**\n * @internalapi\n * @category Wallet\n */\nexport declare type BeaconRequestOutputMessage = PermissionRequestOutput | OperationRequestOutput | SignPayloadRequestOutput | BroadcastRequestOutput;\n"},{name:"@airgap/beacon-types/dist/esm/types/beacon/messages/BeaconResponseInputMessage.d.ts",dts:"import { Optional } from '@airgap/beacon-types';\nimport { PermissionResponse, OperationResponse, SignPayloadResponse, BroadcastResponse, AcknowledgeResponse, ErrorResponse } from '@airgap/beacon-types';\n/**\n * @category Wallet\n */\nexport declare type IgnoredResponseInputProperties = 'senderId' | 'version';\n/**\n * @category Wallet\n */\nexport declare type PermissionResponseInput = Optional;\n/**\n * @category Wallet\n */\nexport declare type OperationResponseInput = Optional;\n/**\n * @category Wallet\n */\nexport declare type SignPayloadResponseInput = Optional;\n/**\n * @category Wallet\n */\n/**\n * @category Wallet\n */\nexport declare type BroadcastResponseInput = Optional;\n/**\n * @category Wallet\n */\nexport declare type AcknowledgeResponseInput = Optional;\n/**\n * @category Wallet\n */\nexport declare type ErrorResponseInput = Optional;\n/**\n * @internalapi\n * @category Wallet\n */\nexport declare type BeaconResponseInputMessage = PermissionResponseInput | OperationResponseInput | SignPayloadResponseInput | BroadcastResponseInput | AcknowledgeResponseInput | ErrorResponseInput;\n"},{name:"@airgap/beacon-types/dist/esm/types/beacon/messages/BeaconResponseOutputMessage.d.ts",dts:"import { PermissionResponse, OperationResponse, SignPayloadResponse, BroadcastResponse, AccountInfo } from '@airgap/beacon-types';\n/**\n * @category DApp\n */\nexport declare type IgnoredResponseOutputProperties = 'id' | 'version' | 'type';\n/**\n * @category DApp\n */\nexport declare type PermissionResponseOutput = PermissionResponse & {\n address: string;\n accountInfo: AccountInfo;\n walletKey?: string | undefined;\n};\n/**\n * @category DApp\n */\nexport declare type OperationResponseOutput = OperationResponse;\n/**\n * @category DApp\n */\nexport declare type SignPayloadResponseOutput = SignPayloadResponse;\n/**\n * @category DApp\n */\n/**\n * @category DApp\n */\nexport declare type BroadcastResponseOutput = BroadcastResponse;\n/**\n * @internalapi\n * @category DApp\n */\nexport declare type BeaconResponseOutputMessage = PermissionResponseOutput | OperationResponseOutput | SignPayloadResponseOutput | BroadcastResponseOutput;\n"},{name:"@airgap/beacon-types/dist/esm/types/beacon/messages/BroadcastRequest.d.ts",dts:"import { BeaconBaseMessage, BeaconMessageType, Network } from '@airgap/beacon-types';\n/**\n * @category Message\n */\nexport interface BroadcastRequest extends BeaconBaseMessage {\n type: BeaconMessageType.BroadcastRequest;\n network: Network;\n signedTransaction: string;\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/beacon/messages/BroadcastResponse.d.ts",dts:"import { BeaconBaseMessage, BeaconMessageType } from '@airgap/beacon-types';\n/**\n * @category Message\n */\nexport interface BroadcastResponse extends BeaconBaseMessage {\n type: BeaconMessageType.BroadcastResponse;\n transactionHash: string;\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/beacon/messages/ChangeAccountRequest.d.ts",dts:"import { BeaconBaseMessage, BeaconMessageType, Network, PermissionScope, Threshold } from \"@airgap/beacon-types\";\nimport { Notification } from '../../Notification';\nexport interface ChangeAccountRequest extends BeaconBaseMessage {\n type: BeaconMessageType.ChangeAccountRequest;\n publicKey: string;\n network: Network;\n scopes: PermissionScope[];\n threshold?: Threshold;\n notification?: Notification;\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/beacon/messages/DisconnectMessage.d.ts",dts:"import { BeaconBaseMessage, BeaconMessageType } from '@airgap/beacon-types';\n/**\n * @category Message\n */\nexport interface DisconnectMessage extends BeaconBaseMessage {\n type: BeaconMessageType.Disconnect;\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/beacon/messages/EncryptPayloadRequest.d.ts",dts:"/**\n * @category Message\n */\n"},{name:"@airgap/beacon-types/dist/esm/types/beacon/messages/EncryptPayloadResponse.d.ts",dts:"/**\n * @category Message\n */\n"},{name:"@airgap/beacon-types/dist/esm/types/beacon/messages/ErrorResponse.d.ts",dts:"import { BeaconBaseMessage, BeaconErrorType, BeaconMessageType } from '@airgap/beacon-types';\n/**\n * @category Message\n */\nexport interface ErrorResponse extends BeaconBaseMessage {\n type: BeaconMessageType.Error;\n errorType: BeaconErrorType;\n errorData?: any;\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/beacon/messages/OperationRequest.d.ts",dts:"import { BeaconBaseMessage, BeaconMessageType, Network } from '@airgap/beacon-types';\nimport { PartialTezosOperation } from '../../tezos/PartialTezosOperation';\n/**\n * @category Message\n */\nexport interface OperationRequest extends BeaconBaseMessage {\n type: BeaconMessageType.OperationRequest;\n network: Network;\n operationDetails: PartialTezosOperation[];\n sourceAddress: string;\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/beacon/messages/OperationResponse.d.ts",dts:"import { BeaconBaseMessage, BeaconMessageType } from '@airgap/beacon-types';\n/**\n * @category Message\n */\nexport interface OperationResponse extends BeaconBaseMessage {\n type: BeaconMessageType.OperationResponse;\n transactionHash: string;\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/beacon/messages/PermissionRequest.d.ts",dts:"import { BeaconBaseMessage, BeaconMessageType, PermissionScope, AppMetadata, Network } from '@airgap/beacon-types';\n/**\n * @category Message\n */\nexport interface PermissionRequest extends BeaconBaseMessage {\n type: BeaconMessageType.PermissionRequest;\n appMetadata: AppMetadata;\n network: Network;\n scopes: PermissionScope[];\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/beacon/messages/PermissionResponse.d.ts",dts:"import { AppMetadata, BeaconBaseMessage, BeaconMessageType, Network, PermissionScope, Threshold } from '@airgap/beacon-types';\nimport { Notification } from '../../Notification';\n/**\n * @category Message\n */\nexport interface PermissionResponse extends BeaconBaseMessage {\n type: BeaconMessageType.PermissionResponse;\n appMetadata: AppMetadata;\n publicKey: string;\n network: Network;\n scopes: PermissionScope[];\n threshold?: Threshold;\n notification?: Notification;\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/beacon/messages/SignPayloadRequest.d.ts",dts:"import { BeaconBaseMessage, BeaconMessageType, SigningType } from '@airgap/beacon-types';\n/**\n * @category Message\n */\nexport interface SignPayloadRequest extends BeaconBaseMessage {\n type: BeaconMessageType.SignPayloadRequest;\n signingType: SigningType;\n payload: string;\n sourceAddress: string;\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/beacon/messages/SignPayloadResponse.d.ts",dts:"import { BeaconBaseMessage, BeaconMessageType, SigningType } from '@airgap/beacon-types';\n/**\n * @category Message\n */\nexport interface SignPayloadResponse extends BeaconBaseMessage {\n type: BeaconMessageType.SignPayloadResponse;\n signingType: SigningType;\n signature: string;\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/beacon/AppMetadata.d.ts",dts:"export interface AppMetadata {\n senderId: string;\n name: string;\n icon?: string;\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/beacon/BeaconBaseMessage.d.ts",dts:"import { BeaconMessageType } from '@airgap/beacon-types';\n/**\n * @category Message\n */\nexport interface BeaconBaseMessage {\n type: BeaconMessageType;\n version: string;\n id: string;\n senderId: string;\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/beacon/BeaconMessage.d.ts",dts:"import { PermissionResponse, PermissionRequest, OperationRequest, OperationResponse, SignPayloadRequest, SignPayloadResponse, BroadcastRequest, BroadcastResponse, AcknowledgeResponse, DisconnectMessage, ErrorResponse, ChangeAccountRequest } from '@airgap/beacon-types';\n/**\n * @internalapi\n */\nexport declare type BeaconMessage = PermissionRequest | PermissionResponse | OperationRequest | OperationResponse | SignPayloadRequest | SignPayloadResponse | BroadcastRequest | BroadcastResponse | AcknowledgeResponse | DisconnectMessage | ErrorResponse | ChangeAccountRequest;\n"},{name:"@airgap/beacon-types/dist/esm/types/beacon/BeaconMessageType.d.ts",dts:'export declare enum BeaconMessageType {\n BlockchainRequest = "blockchain_request",\n PermissionRequest = "permission_request",\n SignPayloadRequest = "sign_payload_request",\n OperationRequest = "operation_request",\n BroadcastRequest = "broadcast_request",\n ChangeAccountRequest = "change_account_request",\n BlockchainResponse = "blockchain_response",\n PermissionResponse = "permission_response",\n SignPayloadResponse = "sign_payload_response",\n OperationResponse = "operation_response",\n BroadcastResponse = "broadcast_response",\n Acknowledge = "acknowledge",\n Disconnect = "disconnect",\n Error = "error"\n}\n'},{name:"@airgap/beacon-types/dist/esm/types/beacon/BeaconRequestMessage.d.ts",dts:"import { PermissionRequest, OperationRequest, SignPayloadRequest, BroadcastRequest } from '@airgap/beacon-types';\n/**\n * @internalapi\n */\nexport declare type BeaconRequestMessage = PermissionRequest | OperationRequest | SignPayloadRequest | BroadcastRequest;\n"},{name:"@airgap/beacon-types/dist/esm/types/beacon/BeaconResponseMessage.d.ts",dts:"import { PermissionResponse, OperationResponse, SignPayloadResponse, BroadcastResponse } from '@airgap/beacon-types';\nimport { ErrorResponse } from './messages/ErrorResponse';\n/**\n * @internalapi\n */\nexport declare type BeaconResponseMessage = PermissionResponse | OperationResponse | SignPayloadResponse | BroadcastResponse | ErrorResponse;\n"},{name:"@airgap/beacon-types/dist/esm/types/beacon/Network.d.ts",dts:"import { NetworkType } from '@airgap/beacon-types';\nexport interface Network {\n type: NetworkType;\n name?: string;\n rpcUrl?: string;\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/beacon/NetworkType.d.ts",dts:'export declare enum NetworkType {\n MAINNET = "mainnet",\n GHOSTNET = "ghostnet",\n MONDAYNET = "mondaynet",\n DAILYNET = "dailynet",\n DELPHINET = "delphinet",\n EDONET = "edonet",\n FLORENCENET = "florencenet",\n GRANADANET = "granadanet",\n HANGZHOUNET = "hangzhounet",\n ITHACANET = "ithacanet",\n JAKARTANET = "jakartanet",\n KATHMANDUNET = "kathmandunet",\n LIMANET = "limanet",\n MUMBAINET = "mumbainet",\n NAIROBINET = "nairobinet",\n OXFORDNET = "oxfordnet",\n CUSTOM = "custom"\n}\n'},{name:"@airgap/beacon-types/dist/esm/types/beacon/PermissionScope.d.ts",dts:'export declare enum PermissionScope {\n SIGN = "sign",\n OPERATION_REQUEST = "operation_request",\n ENCRYPT = "encrypt",\n NOTIFICATION = "notification",\n THRESHOLD = "threshold"\n}\n'},{name:"@airgap/beacon-types/dist/esm/types/beacon/SigningType.d.ts",dts:'export declare enum SigningType {\n RAW = "raw",\n OPERATION = "operation",\n MICHELINE = "micheline"\n}\n'},{name:"@airgap/beacon-types/dist/esm/types/beacon/Threshold.d.ts",dts:"export interface Threshold {\n amount: string;\n timeframe: string;\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/beaconV3/PermissionRequest.d.ts",dts:"import { AccountInfo, AppMetadata, BeaconMessageType, ConnectionContext, WalletInfo, ExtensionApp, DesktopApp, WebApp, App } from '@airgap/beacon-types';\nexport interface ResponseInput {\n request: BlockchainMessage;\n account: AccountInfo;\n output: BeaconMessageWrapper;\n blockExplorer: any;\n connectionContext: ConnectionContext;\n walletInfo: WalletInfo;\n}\nexport interface Blockchain {\n readonly identifier: string;\n validateRequest(input: BlockchainMessage): Promise;\n handleResponse(input: ResponseInput): Promise;\n getWalletLists(): Promise<{\n extensionList: ExtensionApp[];\n desktopList: DesktopApp[];\n webList: WebApp[];\n iOSList: App[];\n }>;\n getAccountInfosFromPermissionResponse(permissionResponse: PermissionResponseV3): Promise<{\n accountId: string;\n address: string;\n publicKey: string;\n }[]>;\n}\nexport interface BeaconMessageWrapper {\n id: string;\n version: string;\n senderId: string;\n message: T;\n}\nexport interface BeaconBaseMessage {\n type: unknown;\n}\nexport interface BlockchainMessage {\n blockchainIdentifier: T;\n type: unknown;\n blockchainData: unknown;\n}\nexport interface PermissionRequestV3 extends BlockchainMessage {\n blockchainIdentifier: T;\n type: BeaconMessageType.PermissionRequest;\n blockchainData: {\n appMetadata: AppMetadata;\n scopes: string[];\n };\n}\nexport interface PermissionResponseV3 extends BlockchainMessage {\n blockchainIdentifier: T;\n type: BeaconMessageType.PermissionResponse;\n blockchainData: {\n appMetadata: AppMetadata;\n scopes: string[];\n };\n}\nexport interface BlockchainRequestV3 extends BlockchainMessage {\n blockchainIdentifier: T;\n type: BeaconMessageType.BlockchainRequest;\n accountId: string;\n blockchainData: {\n type: string;\n scope: string;\n };\n}\nexport interface BlockchainResponseV3 extends BlockchainMessage {\n blockchainIdentifier: T;\n type: BeaconMessageType.BlockchainResponse;\n blockchainData: unknown;\n}\nexport interface BlockchainErrorResponse extends BlockchainMessage {\n blockchainIdentifier: T;\n type: BeaconMessageType.Error;\n error: {\n type: unknown;\n data?: unknown;\n };\n description?: string;\n}\nexport interface AcknowledgeMessage extends BeaconBaseMessage {\n type: BeaconMessageType.Acknowledge;\n}\nexport interface DisconnectMessage extends BeaconBaseMessage {\n type: BeaconMessageType.Disconnect;\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/storage/Storage.d.ts",dts:"import { StorageKey, StorageKeyReturnType } from '@airgap/beacon-types';\n/**\n * @internalapi\n *\n * The storage used in the SDK\n */\nexport declare abstract class Storage {\n /**\n * Returns a promise that resolves to true if the storage option is available on this platform.\n */\n static isSupported(): Promise;\n /**\n * Gets a value from storage and returns it\n *\n * @param key The storage key\n */\n abstract get(key: K): Promise;\n /**\n * Sets a value in the storage and persist it\n *\n * @param key The storage key\n * @param value The value to be persisted\n */\n abstract set(key: K, value: StorageKeyReturnType[K]): Promise;\n /**\n * Delete a key from storage\n *\n * @param key The storage key\n */\n abstract delete(key: K): Promise;\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/storage/StorageKey.d.ts",dts:'/**\n * @internalapi\n */\nexport declare enum StorageKey {\n TRANSPORT_P2P_PEERS_DAPP = "beacon:communication-peers-dapp",\n TRANSPORT_P2P_PEERS_WALLET = "beacon:communication-peers-wallet",\n TRANSPORT_POSTMESSAGE_PEERS_DAPP = "beacon:postmessage-peers-dapp",\n TRANSPORT_POSTMESSAGE_PEERS_WALLET = "beacon:postmessage-peers-wallet",\n TRANSPORT_WALLETCONNECT_PEERS_DAPP = "beacon:walletconnect-peers-dapp",\n LAST_SELECTED_WALLET = "beacon:last-selected-wallet",\n ACCOUNTS = "beacon:accounts",\n ACTIVE_ACCOUNT = "beacon:active-account",\n PUSH_TOKENS = "beacon:push-tokens",\n BEACON_SDK_SECRET_SEED = "beacon:sdk-secret-seed",\n APP_METADATA_LIST = "beacon:app-metadata-list",\n PERMISSION_LIST = "beacon:permissions",\n BEACON_SDK_VERSION = "beacon:sdk_version",\n MATRIX_PRESERVED_STATE = "beacon:sdk-matrix-preserved-state",\n MATRIX_PEER_ROOM_IDS = "beacon:matrix-peer-rooms",\n MATRIX_SELECTED_NODE = "beacon:matrix-selected-node",\n MULTI_NODE_SETUP_DONE = "beacon:multi-node-setup"\n}\n'},{name:"@airgap/beacon-types/dist/esm/types/storage/StorageKeyReturnDefaults.d.ts",dts:"import { StorageKey, StorageKeyReturnType } from '../..';\n/**\n * @internalapi\n */\nexport declare type StorageKeyReturnDefaults = {\n [key in StorageKey]: StorageKeyReturnType[key];\n};\n/**\n * @internalapi\n */\nexport declare const defaultValues: StorageKeyReturnDefaults;\n"},{name:"@airgap/beacon-types/dist/esm/types/storage/StorageKeyReturnType.d.ts",dts:"import { StorageKey, AccountInfo, AccountIdentifier, P2PPairingRequest, AppMetadata, PermissionInfo, ExtendedWalletConnectPairingResponse } from '../..';\nimport { ExtendedP2PPairingResponse } from '../P2PPairingResponse';\nimport { PostMessagePairingRequest } from '../PostMessagePairingRequest';\nimport { ExtendedPostMessagePairingResponse } from '../PostMessagePairingResponse';\nimport { PushToken } from '../PushToken';\n/**\n * @internalapi\n */\nexport interface StorageKeyReturnType {\n [StorageKey.TRANSPORT_P2P_PEERS_DAPP]: P2PPairingRequest[];\n [StorageKey.TRANSPORT_P2P_PEERS_WALLET]: ExtendedP2PPairingResponse[];\n [StorageKey.TRANSPORT_POSTMESSAGE_PEERS_DAPP]: PostMessagePairingRequest[];\n [StorageKey.TRANSPORT_POSTMESSAGE_PEERS_WALLET]: ExtendedPostMessagePairingResponse[];\n [StorageKey.TRANSPORT_WALLETCONNECT_PEERS_DAPP]: ExtendedWalletConnectPairingResponse[];\n [StorageKey.LAST_SELECTED_WALLET]: string | undefined;\n [StorageKey.ACCOUNTS]: AccountInfo[];\n [StorageKey.ACTIVE_ACCOUNT]: AccountIdentifier | undefined;\n [StorageKey.PUSH_TOKENS]: PushToken[];\n [StorageKey.BEACON_SDK_SECRET_SEED]: string | undefined;\n [StorageKey.APP_METADATA_LIST]: AppMetadata[];\n [StorageKey.PERMISSION_LIST]: PermissionInfo[];\n [StorageKey.BEACON_SDK_VERSION]: string | undefined;\n [StorageKey.MATRIX_PRESERVED_STATE]: {\n [key: string]: unknown;\n };\n [StorageKey.MATRIX_PEER_ROOM_IDS]: {\n [key: string]: string | undefined;\n };\n [StorageKey.MATRIX_SELECTED_NODE]: string | undefined;\n [StorageKey.MULTI_NODE_SETUP_DONE]: boolean | undefined;\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/tezos/operations/ActivateAccount.d.ts",dts:"import { TezosBaseOperation, TezosOperationType } from '../../..';\n/**\n * @internalapi\n * @category Tezos\n */\nexport interface TezosActivateAccountOperation extends TezosBaseOperation {\n kind: TezosOperationType.ACTIVATE_ACCOUNT;\n pkh: string;\n secret: string;\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/tezos/operations/Ballot.d.ts",dts:"import { TezosBaseOperation, TezosOperationType } from '../../..';\n/**\n * @internalapi\n * @category Tezos\n */\nexport interface TezosBallotOperation extends TezosBaseOperation {\n kind: TezosOperationType.BALLOT;\n source: string;\n period: string;\n proposal: string;\n ballot: 'nay' | 'yay' | 'pass';\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/tezos/operations/Delegation.d.ts",dts:"import { TezosBaseOperation, TezosOperationType } from '../../..';\n/**\n * @internalapi\n * @category Tezos\n */\nexport interface TezosDelegationOperation extends TezosBaseOperation {\n kind: TezosOperationType.DELEGATION;\n source: string;\n fee: string;\n counter: string;\n gas_limit: string;\n storage_limit: string;\n delegate?: string;\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/tezos/operations/DoubleBakingEvidence.d.ts",dts:"import { TezosBaseOperation, TezosOperationType, TezosBlockHeader } from '../../..';\n/**\n * @internalapi\n * @category Tezos\n */\nexport interface TezosDoubleBakingEvidenceOperation extends TezosBaseOperation {\n kind: TezosOperationType.DOUBLE_BAKING_EVIDENCE;\n bh1: TezosBlockHeader;\n bh2: TezosBlockHeader;\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/tezos/operations/DoubleEndorsementEvidence.d.ts",dts:"import { TezosBaseOperation, TezosOperationType } from '../../..';\nexport interface InlinedEndorsement {\n branch: string;\n operations: InlinedEndorsementContents;\n signature?: string;\n}\nexport interface InlinedEndorsementContents {\n kind: TezosOperationType.ENDORSEMENT;\n level: string;\n}\n/**\n * @internalapi\n * @category Tezos\n */\nexport interface TezosDoubleEndorsementEvidenceOperation extends TezosBaseOperation {\n kind: TezosOperationType.DOUBLE_ENDORSEMENT_EVIDENCE;\n op1: InlinedEndorsement;\n op2: InlinedEndorsement;\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/tezos/operations/Endorsement.d.ts",dts:"import { TezosBaseOperation, TezosOperationType } from '../../..';\n/**\n * @internalapi\n * @category Tezos\n */\nexport interface TezosEndorsementOperation extends TezosBaseOperation {\n kind: TezosOperationType.ENDORSEMENT;\n level: string;\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/tezos/operations/Origination.d.ts",dts:"import { TezosBaseOperation, TezosOperationType } from '../../..';\n/**\n * @internalapi\n * @category Tezos\n */\nexport interface TezosOriginationOperation extends TezosBaseOperation {\n kind: TezosOperationType.ORIGINATION;\n source: string;\n fee: string;\n counter: string;\n gas_limit: string;\n storage_limit: string;\n balance: string;\n delegate?: string;\n script: string;\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/tezos/operations/Proposal.d.ts",dts:"import { TezosBaseOperation, TezosOperationType } from '../../..';\n/**\n * @internalapi\n * @category Tezos\n */\nexport interface TezosProposalOperation extends TezosBaseOperation {\n kind: TezosOperationType.PROPOSALS;\n period: string;\n proposals: string[];\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/tezos/operations/Reveal.d.ts",dts:"import { TezosBaseOperation, TezosOperationType } from '../../..';\n/**\n * @internalapi\n * @category Tezos\n */\nexport interface TezosRevealOperation extends TezosBaseOperation {\n kind: TezosOperationType.REVEAL;\n source: string;\n fee: string;\n counter: string;\n gas_limit: string;\n storage_limit: string;\n public_key: string;\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/tezos/operations/SeedNonceRevelation.d.ts",dts:"import { TezosBaseOperation, TezosOperationType } from '../../..';\n/**\n * @internalapi\n * @category Tezos\n */\nexport interface TezosSeedNonceRevelationOperation extends TezosBaseOperation {\n kind: TezosOperationType.SEED_NONCE_REVELATION;\n level: string;\n nonce: string;\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/tezos/operations/Transaction.d.ts",dts:"import { TezosBaseOperation, TezosOperationType, TezosTransactionParameters } from '../../..';\n/**\n * @internalapi\n * @category Tezos\n */\nexport interface TezosTransactionOperation extends TezosBaseOperation {\n kind: TezosOperationType.TRANSACTION;\n source: string;\n fee: string;\n counter: string;\n gas_limit: string;\n storage_limit: string;\n amount: string;\n destination: string;\n parameters?: TezosTransactionParameters;\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/tezos/MichelineMichelsonV1Expression.d.ts",dts:"import { MichelsonPrimitives } from '../..';\n/**\n * @internalapi\n * @category Tezos\n */\nexport declare type MichelineMichelsonV1Expression = {\n int: string;\n} | {\n string: string;\n} | {\n bytes: string;\n} | MichelineMichelsonV1Expression[] | {\n prim: MichelsonPrimitives;\n args?: MichelineMichelsonV1Expression[];\n annots?: string[];\n};\n"},{name:"@airgap/beacon-types/dist/esm/types/tezos/MichelsonPrimitives.d.ts",dts:"/**\n * @internalapi\n * @category Tezos\n */\nexport declare type MichelsonPrimitives = 'ADD' | 'IF_NONE' | 'SWAP' | 'set' | 'nat' | 'CHECK_SIGNATURE' | 'IF_LEFT' | 'LAMBDA' | 'Elt' | 'CREATE_CONTRACT' | 'NEG' | 'big_map' | 'map' | 'or' | 'BLAKE2B' | 'bytes' | 'SHA256' | 'SET_DELEGATE' | 'CONTRACT' | 'LSL' | 'SUB' | 'IMPLICIT_ACCOUNT' | 'PACK' | 'list' | 'PAIR' | 'Right' | 'contract' | 'GT' | 'LEFT' | 'STEPS_TO_QUOTA' | 'storage' | 'TRANSFER_TOKENS' | 'CDR' | 'SLICE' | 'PUSH' | 'False' | 'SHA512' | 'CHAIN_ID' | 'BALANCE' | 'signature' | 'DUG' | 'SELF' | 'EMPTY_BIG_MAP' | 'LSR' | 'OR' | 'XOR' | 'lambda' | 'COMPARE' | 'key' | 'option' | 'Unit' | 'Some' | 'UNPACK' | 'NEQ' | 'INT' | 'pair' | 'AMOUNT' | 'DIP' | 'ABS' | 'ISNAT' | 'EXEC' | 'NOW' | 'LOOP' | 'chain_id' | 'string' | 'MEM' | 'MAP' | 'None' | 'address' | 'CONCAT' | 'EMPTY_SET' | 'MUL' | 'LOOP_LEFT' | 'timestamp' | 'LT' | 'UPDATE' | 'DUP' | 'SOURCE' | 'mutez' | 'SENDER' | 'IF_CONS' | 'RIGHT' | 'CAR' | 'CONS' | 'LE' | 'NONE' | 'IF' | 'SOME' | 'GET' | 'Left' | 'CAST' | 'int' | 'SIZE' | 'key_hash' | 'unit' | 'DROP' | 'EMPTY_MAP' | 'NIL' | 'DIG' | 'APPLY' | 'bool' | 'RENAME' | 'operation' | 'True' | 'FAILWITH' | 'parameter' | 'HASH_KEY' | 'EQ' | 'NOT' | 'UNIT' | 'Pair' | 'ADDRESS' | 'EDIV' | 'CREATE_ACCOUNT' | 'GE' | 'ITER' | 'code' | 'AND';\n"},{name:"@airgap/beacon-types/dist/esm/types/tezos/OperationTypes.d.ts",dts:'/**\n * @publicapi\n * @category Tezos\n */\nexport declare enum TezosOperationType {\n ENDORSEMENT = "endorsement",\n SEED_NONCE_REVELATION = "seed_nonce_revelation",\n DOUBLE_ENDORSEMENT_EVIDENCE = "double_endorsement_evidence",\n DOUBLE_BAKING_EVIDENCE = "double_baking_evidence",\n ACTIVATE_ACCOUNT = "activate_account",\n PROPOSALS = "proposals",\n BALLOT = "ballot",\n REVEAL = "reveal",\n TRANSACTION = "transaction",\n ORIGINATION = "origination",\n DELEGATION = "delegation"\n}\n'},{name:"@airgap/beacon-types/dist/esm/types/tezos/PartialTezosOperation.d.ts",dts:"import { Optional } from '@airgap/beacon-types';\nimport { TezosActivateAccountOperation } from './operations/ActivateAccount';\nimport { TezosBallotOperation } from './operations/Ballot';\nimport { TezosDelegationOperation } from './operations/Delegation';\nimport { TezosDoubleBakingEvidenceOperation } from './operations/DoubleBakingEvidence';\nimport { TezosEndorsementOperation } from './operations/Endorsement';\nimport { TezosOriginationOperation } from './operations/Origination';\nimport { TezosProposalOperation } from './operations/Proposal';\nimport { TezosRevealOperation } from './operations/Reveal';\nimport { TezosSeedNonceRevelationOperation } from './operations/SeedNonceRevelation';\nimport { TezosTransactionOperation } from './operations/Transaction';\n/**\n * @publicapi\n * @category Tezos\n */\nexport declare type omittedProperties = 'source' | 'fee' | 'counter' | 'gas_limit' | 'storage_limit';\n/**\n * @internalapi\n * @category Tezos\n */\nexport declare type PartialTezosDelegationOperation = Optional;\n/**\n * @internalapi\n * @category Tezos\n */\nexport declare type PartialTezosOriginationOperation = Optional;\n/**\n * @internalapi\n * @category Tezos\n */\nexport declare type PartialTezosRevealOperation = Optional;\n/**\n * @internalapi\n * @category Tezos\n */\nexport declare type PartialTezosTransactionOperation = Optional;\n/**\n * @publicapi\n * @category Tezos\n */\nexport declare type PartialTezosOperation = TezosActivateAccountOperation | TezosBallotOperation | PartialTezosDelegationOperation | TezosDoubleBakingEvidenceOperation | TezosEndorsementOperation | PartialTezosOriginationOperation | TezosProposalOperation | PartialTezosRevealOperation | TezosSeedNonceRevelationOperation | PartialTezosTransactionOperation;\n"},{name:"@airgap/beacon-types/dist/esm/types/tezos/TezosBaseOperation.d.ts",dts:"import { TezosOperationType } from '../..';\n/**\n * @internalapi\n * @category Tezos\n */\nexport interface TezosBaseOperation {\n kind: TezosOperationType;\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/tezos/TezosBlockHeader.d.ts",dts:"/**\n * @internalapi\n * @category Tezos\n */\nexport interface TezosBlockHeader {\n level: number;\n proto: number;\n predecessor: string;\n timestamp: string;\n validation_pass: number;\n operations_hash: string;\n fitness: string[];\n context: string;\n priority: number;\n proof_of_work_nonce: string;\n signature: string;\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/tezos/TezosOperation.d.ts",dts:"import { TezosActivateAccountOperation, TezosBallotOperation, TezosDelegationOperation, TezosDoubleBakingEvidenceOperation, TezosEndorsementOperation, TezosOriginationOperation, TezosProposalOperation, TezosRevealOperation, TezosSeedNonceRevelationOperation, TezosTransactionOperation } from '../..';\n/**\n * @internalapi\n * @category Tezos\n */\nexport declare type TezosOperation = TezosActivateAccountOperation | TezosBallotOperation | TezosDelegationOperation | TezosDoubleBakingEvidenceOperation | TezosEndorsementOperation | TezosOriginationOperation | TezosProposalOperation | TezosRevealOperation | TezosSeedNonceRevelationOperation | TezosTransactionOperation;\n"},{name:"@airgap/beacon-types/dist/esm/types/tezos/TezosTransactionParameters.d.ts",dts:"import { MichelineMichelsonV1Expression } from './MichelineMichelsonV1Expression';\n/**\n * @internalapi\n * @category Tezos\n */\nexport interface TezosTransactionParameters {\n entrypoint: 'default' | 'root' | 'do' | 'set_delegate' | 'remove_delegate' | string;\n value: MichelineMichelsonV1Expression;\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/transport/TransportStatus.d.ts",dts:'export declare enum TransportStatus {\n NOT_CONNECTED = "NOT_CONNECTED",\n CONNECTING = "CONNECTING",\n CONNECTED = "CONNECTED"\n}\n'},{name:"@airgap/beacon-types/dist/esm/types/transport/TransportType.d.ts",dts:'/**\n * @internalapi\n */\nexport declare enum TransportType {\n CHROME_MESSAGE = "chrome_message",\n WALLETCONNECT = "walletconnect",\n POST_MESSAGE = "post_message",\n LEDGER = "ledger",\n P2P = "p2p"\n}\n'},{name:"@airgap/beacon-types/dist/esm/types/utils/Optional.d.ts",dts:"export declare type Optional = Partial & Omit;\n"},{name:"@airgap/beacon-types/dist/esm/types/AccountInfo.d.ts",dts:"import { Origin } from '..';\nimport { PermissionEntity } from './PermissionEntity';\nimport { Notification } from './Notification';\nexport declare type AccountIdentifier = string;\nexport interface AccountInfo extends PermissionEntity {\n accountIdentifier: AccountIdentifier;\n senderId: string;\n origin: {\n type: Origin;\n id: string;\n };\n walletKey?: string;\n publicKey: string;\n connectedAt: number;\n notification?: Notification;\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/AnalyticsInterface.d.ts",dts:"export interface AnalyticsInterface {\n track(trigger: 'click' | 'event', section: string, label: string, data?: Record): void;\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/BeaconErrorType.d.ts",dts:'export declare enum BeaconErrorType {\n /**\n * {@link BroadcastBeaconError}\n *\n * Will be returned if the user chooses that the transaction is broadcast but there is an error (eg. node not available).\n *\n * Returned by: Broadcast | Operation Request\n */\n BROADCAST_ERROR = "BROADCAST_ERROR",\n /**\n * {@link NetworkNotSupportedBeaconError}\n *\n * Will be returned if the selected network is not supported by the wallet / extension.\n *\n * Returned by: Permission\n */\n NETWORK_NOT_SUPPORTED = "NETWORK_NOT_SUPPORTED",\n /**\n * {@link NoAddressBeaconError}\n *\n * Will be returned if there is no address present for the protocol / network requested.\n *\n * Returned by: Permission\n */\n NO_ADDRESS_ERROR = "NO_ADDRESS_ERROR",\n /**\n * {@link NoPrivateKeyBeaconError}\n *\n * Will be returned if the private key matching the sourceAddress could not be found.\n *\n * Returned by: Sign\n */\n NO_PRIVATE_KEY_FOUND_ERROR = "NO_PRIVATE_KEY_FOUND_ERROR",\n /**\n * {@link NotGrantedBeaconError}\n *\n * Will be returned if the signature was blocked // (Not needed?) Permission: Will be returned if the permissions requested by the App were not granted.\n *\n * Returned by: Sign\n */\n NOT_GRANTED_ERROR = "NOT_GRANTED_ERROR",\n /**\n * {@link ParametersInvalidBeaconError}\n *\n * Will be returned if any of the parameters are invalid.\n *\n * Returned by: Operation Request\n */\n PARAMETERS_INVALID_ERROR = "PARAMETERS_INVALID_ERROR",\n /**\n * {@link TooManyOperationsBeaconError}\n *\n * Will be returned if too many operations were in the request and they were not able to fit into a single operation group.\n *\n * Returned by: Operation Request\n */\n TOO_MANY_OPERATIONS = "TOO_MANY_OPERATIONS",\n /**\n * {@link TransactionInvalidBeaconError}\n *\n * Will be returned if the transaction is not parsable or is rejected by the node.\n *\n * Returned by: Broadcast\n */\n TRANSACTION_INVALID_ERROR = "TRANSACTION_INVALID_ERROR",\n /**\n * {@link SignatureTypeNotSupportedBeaconError}\n *\n * Will be returned if the signing type is not supported.\n *\n * Returned by: Sign\n */\n SIGNATURE_TYPE_NOT_SUPPORTED = "SIGNATURE_TYPE_NOT_SUPPORTED",\n /**\n * {@link AbortedBeaconError}\n *\n * Will be returned if the request was aborted by the user or the wallet.\n *\n * Returned by: Permission | Operation Request | Sign Request | Broadcast\n */\n ABORTED_ERROR = "ABORTED_ERROR",\n /**\n * {@link UnknownBeaconError}\n *\n * Used as a wildcard if an unexpected error occured.\n *\n * Returned by: Permission | Operation Request | Sign Request | Broadcast\n */\n UNKNOWN_ERROR = "UNKNOWN_ERROR"\n}\n'},{name:"@airgap/beacon-types/dist/esm/types/ColorMode.d.ts",dts:'export declare enum ColorMode {\n LIGHT = "light",\n DARK = "dark"\n}\n'},{name:"@airgap/beacon-types/dist/esm/types/ConnectionContext.d.ts",dts:"/// \nimport { Origin } from '..';\n/**\n * @internalapi\n */\nexport interface ConnectionContext {\n origin: Origin;\n id: string;\n extras?: {\n sender: chrome.runtime.MessageSender;\n sendResponse(response?: unknown): void;\n };\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/EncryptionOperation.d.ts",dts:""},{name:"@airgap/beacon-types/dist/esm/types/EncryptionType.d.ts",dts:""},{name:"@airgap/beacon-types/dist/esm/types/Extension.d.ts",dts:"export interface Extension {\n id: string;\n name: string;\n shortName?: string;\n iconUrl?: string;\n color?: string;\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/ExtensionMessage.d.ts",dts:"import { ExtensionMessageTarget } from '..';\n/**\n * @internalapi\n */\nexport interface ExtensionMessage {\n target: ExtensionMessageTarget;\n targetId?: string;\n sender?: U;\n payload: T;\n}\n/**\n * @internalapi\n */\nexport interface EncryptedExtensionMessage {\n target: ExtensionMessageTarget;\n targetId?: string;\n sender?: U;\n encryptedPayload: string;\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/ExtensionMessageTarget.d.ts",dts:'/**\n * @internalapi\n */\nexport declare enum ExtensionMessageTarget {\n BACKGROUND = "toBackground",\n PAGE = "toPage",\n EXTENSION = "toExtension"\n}\n'},{name:"@airgap/beacon-types/dist/esm/types/Notification.d.ts",dts:"export interface Notification {\n version: number;\n apiUrl: string;\n token: string;\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/Origin.d.ts",dts:'/**\n * @internalapi\n */\nexport declare enum Origin {\n WEBSITE = "website",\n EXTENSION = "extension",\n P2P = "p2p",\n WALLETCONNECT = "walletconnect"\n}\n'},{name:"@airgap/beacon-types/dist/esm/types/P2PPairingRequest.d.ts",dts:"import { PeerInfo } from './PeerInfo';\n/**\n * @internalapi\n */\nexport interface P2PPairingRequest extends PeerInfo {\n id: string;\n type: 'p2p-pairing-request';\n name: string;\n publicKey: string;\n relayServer: string;\n icon?: string;\n appUrl?: string;\n}\n/**\n * @internalapi\n */\nexport declare type ExtendedP2PPairingRequest = P2PPairingRequest & {\n senderId: string;\n};\n"},{name:"@airgap/beacon-types/dist/esm/types/P2PPairingResponse.d.ts",dts:"import { PeerInfo } from './PeerInfo';\n/**\n * @internalapi\n */\nexport interface P2PPairingResponse extends PeerInfo {\n id: string;\n type: 'p2p-pairing-response';\n name: string;\n publicKey: string;\n relayServer: string;\n icon?: string;\n appUrl?: string;\n}\n/**\n * @internalapi\n */\nexport declare type ExtendedP2PPairingResponse = P2PPairingResponse & {\n senderId: string;\n};\n"},{name:"@airgap/beacon-types/dist/esm/types/PeerInfo.d.ts",dts:"export interface PeerInfo {\n name: string;\n publicKey: string;\n version: string;\n}\nexport declare type ExtendedPeerInfo = PeerInfo & {\n senderId: string;\n};\n"},{name:"@airgap/beacon-types/dist/esm/types/PermissionEntity.d.ts",dts:"import { Network, PermissionScope, Threshold } from '..';\nexport interface PermissionEntity {\n address: string;\n network: Network;\n scopes: PermissionScope[];\n threshold?: Threshold;\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/PermissionInfo.d.ts",dts:"import { AppMetadata } from '..';\nimport { PermissionEntity } from './PermissionEntity';\nexport interface PermissionInfo extends PermissionEntity {\n accountIdentifier: string;\n senderId: string;\n appMetadata: AppMetadata;\n website: string;\n publicKey: string;\n connectedAt: number;\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/PostMessagePairingRequest.d.ts",dts:"import { PeerInfo } from './PeerInfo';\n/**\n * @internalapi\n */\nexport interface PostMessagePairingRequest extends PeerInfo {\n id: string;\n type: 'postmessage-pairing-request';\n name: string;\n publicKey: string;\n icon?: string;\n appUrl?: string;\n}\n/**\n * @internalapi\n */\nexport declare type ExtendedPostMessagePairingRequest = PostMessagePairingRequest & {\n senderId: string;\n};\n"},{name:"@airgap/beacon-types/dist/esm/types/PostMessagePairingResponse.d.ts",dts:"import { PeerInfo } from './PeerInfo';\n/**\n * @internalapi\n */\nexport interface PostMessagePairingResponse extends PeerInfo {\n id: string;\n type: 'postmessage-pairing-response';\n name: string;\n publicKey: string;\n icon?: string;\n appUrl?: string;\n}\n/**\n * @internalapi\n */\nexport declare type ExtendedPostMessagePairingResponse = PostMessagePairingResponse & {\n senderId: string;\n extensionId: string;\n};\n"},{name:"@airgap/beacon-types/dist/esm/types/PushToken.d.ts",dts:"export interface PushToken {\n publicKey: string;\n backendUrl: string;\n accessToken: string;\n managementToken: string;\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/Regions.d.ts",dts:'/**\n * Geographic region where a beacon node is located. This list can be changed in the future to be more specific, but for now it should cover most general areas.\n */\nexport declare enum Regions {\n EUROPE_EAST = "europe-east",\n EUROPE_WEST = "europe-west",\n NORTH_AMERICA_EAST = "north-america-east",\n NORTH_AMERICA_WEST = "north-america-west",\n CENTRAL_AMERICA = "central-america",\n SOUTH_AMERICA = "south-america",\n ASIA_EAST = "asia-east",\n ASIA_WEST = "asia-west",\n AFRICA = "africa",\n AUSTRALIA = "australia"\n}\nexport declare type NodeDistributions = Record;\n'},{name:"@airgap/beacon-types/dist/esm/types/RequestBroadcastInput.d.ts",dts:"import { Network } from '..';\n/**\n * @category DApp\n */\nexport interface RequestBroadcastInput {\n /**\n * @deprecated You should now specify the network in the constructor of the DAppClient\n */\n network?: Network;\n signedTransaction: string;\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/RequestEncryptPayloadInput.d.ts",dts:"/**\n * @category DApp\n */\n"},{name:"@airgap/beacon-types/dist/esm/types/RequestOperationInput.d.ts",dts:"import { PartialTezosOperation } from './tezos/PartialTezosOperation';\n/**\n * @category DApp\n */\nexport interface RequestOperationInput {\n operationDetails: PartialTezosOperation[];\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/RequestPermissionInput.d.ts",dts:"import { Network, PermissionScope } from '..';\n/**\n * @category DApp\n */\nexport interface RequestPermissionInput {\n /**\n * @deprecated You should now specify the network in the constructor of the DAppClient\n */\n network?: Network;\n scopes?: PermissionScope[];\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/RequestSignPayloadInput.d.ts",dts:"import { SigningType } from '..';\n/**\n * @category DApp\n */\nexport interface RequestSignPayloadInput {\n signingType?: SigningType;\n payload: string;\n sourceAddress?: string;\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/WalletConnectPairingRequest.d.ts",dts:"import { PeerInfo } from './PeerInfo';\n/**\n * @internalapi\n */\nexport interface WalletConnectPairingRequest extends PeerInfo {\n id: string;\n type: 'walletconnect-pairing-request';\n name: string;\n publicKey: string;\n uri: string;\n icon?: string;\n appUrl?: string;\n}\n/**\n * @internalapi\n */\nexport declare type ExtendedWalletConnectPairingRequest = WalletConnectPairingRequest & {\n senderId: string;\n};\n"},{name:"@airgap/beacon-types/dist/esm/types/WalletConnectPairingResponse.d.ts",dts:"import { PeerInfo } from './PeerInfo';\n/**\n * @internalapi\n */\nexport interface WalletConnectPairingResponse extends PeerInfo {\n id: string;\n type: 'walletconnect-pairing-response';\n name: string;\n publicKey: string;\n icon?: string;\n appUrl?: string;\n}\n/**\n * @internalapi\n */\nexport declare type ExtendedWalletConnectPairingResponse = WalletConnectPairingResponse & {\n senderId: string;\n extensionId: string;\n};\n"},{name:"@airgap/beacon-types/dist/esm/types/WalletInfo.d.ts",dts:"export interface WalletInfo {\n name: string;\n type?: 'extension' | 'mobile' | 'web' | 'desktop';\n icon?: string;\n deeplink?: string;\n}\n"},{name:"@airgap/beacon-types/dist/esm/types/ui.d.ts",dts:"import { NetworkType } from './beacon/NetworkType';\nexport interface AppBase {\n key: string;\n name: string;\n shortName: string;\n color: string;\n logo: string;\n supportedInteractionStandards?: ('wallet_connect' | 'beacon')[];\n}\nexport interface ExtensionApp extends AppBase {\n id: string;\n link: string;\n}\nexport interface WebApp extends AppBase {\n links: {\n [NetworkType.MAINNET]: string;\n [NetworkType.GHOSTNET]?: string;\n [NetworkType.MONDAYNET]?: string;\n [NetworkType.DAILYNET]?: string;\n [NetworkType.DELPHINET]?: string;\n [NetworkType.EDONET]?: string;\n [NetworkType.FLORENCENET]?: string;\n [NetworkType.GRANADANET]?: string;\n [NetworkType.HANGZHOUNET]?: string;\n [NetworkType.ITHACANET]?: string;\n [NetworkType.JAKARTANET]?: string;\n [NetworkType.KATHMANDUNET]?: string;\n [NetworkType.LIMANET]?: string;\n [NetworkType.MUMBAINET]?: string;\n [NetworkType.NAIROBINET]?: string;\n [NetworkType.OXFORDNET]?: string;\n [NetworkType.CUSTOM]?: string;\n };\n}\nexport interface DesktopApp extends AppBase {\n deepLink: string;\n downloadLink: string;\n}\nexport interface App extends AppBase {\n universalLink: string;\n deepLink?: string;\n}\n"},{name:"@airgap/beacon-types/dist/esm/index.d.ts",dts:"/**\n * General docs\n * @module public\n */\nimport { AppMetadata } from './types/beacon/AppMetadata';\nimport { PermissionRequest } from './types/beacon/messages/PermissionRequest';\nimport { Network } from './types/beacon/Network';\nimport { BeaconBaseMessage } from './types/beacon/BeaconBaseMessage';\nimport { BeaconMessageType } from './types/beacon/BeaconMessageType';\nimport { PermissionScope } from './types/beacon/PermissionScope';\nimport { PermissionResponse } from './types/beacon/messages/PermissionResponse';\nimport { OperationRequest } from './types/beacon/messages/OperationRequest';\nimport { OperationResponse } from './types/beacon/messages/OperationResponse';\nimport { SignPayloadRequest } from './types/beacon/messages/SignPayloadRequest';\nimport { SignPayloadResponse } from './types/beacon/messages/SignPayloadResponse';\nimport { BroadcastRequest } from './types/beacon/messages/BroadcastRequest';\nimport { BroadcastResponse } from './types/beacon/messages/BroadcastResponse';\nimport { NetworkType } from './types/beacon/NetworkType';\nimport { TezosBaseOperation } from './types/tezos/TezosBaseOperation';\nimport { TezosOperationType } from './types/tezos/OperationTypes';\nimport { TezosActivateAccountOperation } from './types/tezos/operations/ActivateAccount';\nimport { TezosBallotOperation } from './types/tezos/operations/Ballot';\nimport { TezosDelegationOperation } from './types/tezos/operations/Delegation';\nimport { TezosDoubleBakingEvidenceOperation } from './types/tezos/operations/DoubleBakingEvidence';\nimport { TezosBlockHeader } from './types/tezos/TezosBlockHeader';\nimport { TezosDoubleEndorsementEvidenceOperation } from './types/tezos/operations/DoubleEndorsementEvidence';\nimport { TezosEndorsementOperation } from './types/tezos/operations/Endorsement';\nimport { TezosOriginationOperation } from './types/tezos/operations/Origination';\nimport { TezosProposalOperation } from './types/tezos/operations/Proposal';\nimport { TezosRevealOperation } from './types/tezos/operations/Reveal';\nimport { TezosSeedNonceRevelationOperation } from './types/tezos/operations/SeedNonceRevelation';\nimport { TezosTransactionOperation } from './types/tezos/operations/Transaction';\nimport { MichelsonPrimitives } from './types/tezos/MichelsonPrimitives';\nimport { TezosTransactionParameters } from './types/tezos/TezosTransactionParameters';\nimport { Origin } from './types/Origin';\nimport { AccountInfo, AccountIdentifier } from './types/AccountInfo';\nimport { EncryptedExtensionMessage, ExtensionMessage } from './types/ExtensionMessage';\nimport { ExtensionMessageTarget } from './types/ExtensionMessageTarget';\nimport { TezosOperation } from './types/tezos/TezosOperation';\nimport { BeaconErrorType } from './types/BeaconErrorType';\nimport { ErrorResponse } from './types/beacon/messages/ErrorResponse';\nimport { TransportStatus } from './types/transport/TransportStatus';\nimport { TransportType } from './types/transport/TransportType';\nimport { Storage } from './types/storage/Storage';\nimport { StorageKey } from './types/storage/StorageKey';\nimport { defaultValues, StorageKeyReturnDefaults } from './types/storage/StorageKeyReturnDefaults';\nimport { StorageKeyReturnType } from './types/storage/StorageKeyReturnType';\nimport { ExtendedP2PPairingRequest, P2PPairingRequest } from './types/P2PPairingRequest';\nimport { BeaconMessage } from './types/beacon/BeaconMessage';\nimport { RequestPermissionInput } from './types/RequestPermissionInput';\nimport { RequestSignPayloadInput } from './types/RequestSignPayloadInput';\nimport { RequestOperationInput } from './types/RequestOperationInput';\nimport { RequestBroadcastInput } from './types/RequestBroadcastInput';\nimport { PermissionResponseInput, SignPayloadResponseInput, OperationResponseInput, BroadcastResponseInput, BeaconResponseInputMessage, AcknowledgeResponseInput, ErrorResponseInput, IgnoredResponseInputProperties } from './types/beacon/messages/BeaconResponseInputMessage';\nimport { PermissionResponseOutput, SignPayloadResponseOutput, OperationResponseOutput, BroadcastResponseOutput, BeaconResponseOutputMessage } from './types/beacon/messages/BeaconResponseOutputMessage';\nimport { PermissionRequestInput, SignPayloadRequestInput, OperationRequestInput, BroadcastRequestInput, BeaconRequestInputMessage, IgnoredRequestInputProperties } from './types/beacon/messages/BeaconRequestInputMessage';\nimport { PermissionRequestOutput, SignPayloadRequestOutput, OperationRequestOutput, BroadcastRequestOutput, BeaconRequestOutputMessage } from './types/beacon/messages/BeaconRequestOutputMessage';\nimport { PermissionInfo } from './types/PermissionInfo';\nimport { ConnectionContext } from './types/ConnectionContext';\nimport { Threshold } from './types/beacon/Threshold';\nimport { PartialTezosTransactionOperation, PartialTezosOperation, PartialTezosDelegationOperation, PartialTezosOriginationOperation, PartialTezosRevealOperation } from './types/tezos/PartialTezosOperation';\nimport { ExtendedPeerInfo, PeerInfo } from './types/PeerInfo';\nimport { AcknowledgeResponse } from './types/beacon/messages/AcknowledgeResponse';\nimport { DisconnectMessage } from './types/beacon/messages/DisconnectMessage';\nimport { SigningType } from './types/beacon/SigningType';\nimport { ExtendedP2PPairingResponse, P2PPairingResponse } from './types/P2PPairingResponse';\nimport { ExtendedPostMessagePairingRequest, PostMessagePairingRequest } from './types/PostMessagePairingRequest';\nimport { ExtendedWalletConnectPairingResponse, WalletConnectPairingResponse } from './types/WalletConnectPairingResponse';\nimport { ExtendedWalletConnectPairingRequest, WalletConnectPairingRequest } from './types/WalletConnectPairingRequest';\nimport { ExtendedPostMessagePairingResponse, PostMessagePairingResponse } from './types/PostMessagePairingResponse';\nimport { BeaconRequestMessage } from './types/beacon/BeaconRequestMessage';\nimport { BeaconResponseMessage } from './types/beacon/BeaconResponseMessage';\nimport { ColorMode } from './types/ColorMode';\nimport { Optional } from './types/utils/Optional';\nimport { Extension } from './types/Extension';\nimport { PermissionEntity } from './types/PermissionEntity';\nimport { WalletInfo } from './types/WalletInfo';\nimport { ChangeAccountRequest } from './types/beacon/messages/ChangeAccountRequest';\nexport * from './types/AnalyticsInterface';\nexport * from './types/beaconV3/PermissionRequest';\nexport * from './types/ui';\nexport * from './types/Regions';\nexport { TezosBaseOperation, TezosOperationType, TezosBlockHeader, MichelsonPrimitives, TezosTransactionParameters, TezosOperation };\nexport { TezosActivateAccountOperation, TezosBallotOperation, TezosDelegationOperation, TezosDoubleBakingEvidenceOperation, TezosDoubleEndorsementEvidenceOperation, TezosEndorsementOperation, TezosOriginationOperation, TezosProposalOperation, TezosRevealOperation, TezosSeedNonceRevelationOperation, TezosTransactionOperation, PartialTezosOperation, PartialTezosTransactionOperation, PartialTezosDelegationOperation, PartialTezosOriginationOperation, PartialTezosRevealOperation };\nexport { AccountIdentifier, AppMetadata, Network, NetworkType, BeaconMessage, PermissionRequest, PermissionResponse, OperationRequest, OperationResponse, SignPayloadRequest, SignPayloadResponse, BroadcastRequest, BroadcastResponse, ChangeAccountRequest, AcknowledgeResponse, DisconnectMessage, BeaconBaseMessage, BeaconMessageType, PermissionScope, Origin, AccountInfo, Threshold, SigningType, ExtensionMessageTarget, ExtensionMessage, Extension, EncryptedExtensionMessage, RequestPermissionInput, RequestSignPayloadInput, RequestOperationInput, RequestBroadcastInput, PermissionInfo, PermissionEntity };\nexport { PermissionResponseInput, SignPayloadResponseInput, OperationResponseInput, BroadcastResponseInput, AcknowledgeResponseInput, ErrorResponseInput, PermissionResponseOutput, SignPayloadResponseOutput, OperationResponseOutput, BroadcastResponseOutput, PermissionRequestInput, SignPayloadRequestInput, OperationRequestInput, BroadcastRequestInput, PermissionRequestOutput, SignPayloadRequestOutput, OperationRequestOutput, BroadcastRequestOutput, BeaconRequestInputMessage, BeaconRequestOutputMessage, BeaconResponseInputMessage, BeaconResponseOutputMessage, BeaconRequestMessage, BeaconResponseMessage };\nexport { BeaconErrorType, ErrorResponse };\nexport { TransportStatus, TransportType };\nexport { Storage, StorageKey, StorageKeyReturnDefaults, StorageKeyReturnType };\nexport { PeerInfo, ExtendedPeerInfo, PostMessagePairingRequest, PostMessagePairingResponse, ExtendedPostMessagePairingRequest, ExtendedPostMessagePairingResponse, P2PPairingRequest, P2PPairingResponse, ExtendedP2PPairingRequest, ExtendedP2PPairingResponse, WalletConnectPairingResponse, WalletConnectPairingRequest, ExtendedWalletConnectPairingRequest, ExtendedWalletConnectPairingResponse };\nexport { IgnoredResponseInputProperties, IgnoredRequestInputProperties, defaultValues };\nexport { ConnectionContext, ColorMode, WalletInfo };\nexport { PushToken } from './types/PushToken';\nexport { Optional };\n"},{name:"@airgap/beacon-ui/components/alert/index.d.ts",dts:"import { Component } from 'solid-js';\r\nexport interface AlertProps {\r\n content: any;\r\n open: boolean;\r\n showMore?: boolean;\r\n extraContent?: any;\r\n loading?: boolean;\r\n onCloseClick: () => void;\r\n onClickShowMore?: () => void;\r\n onBackClick?: () => void;\r\n}\r\ndeclare const Alert: Component;\r\nexport default Alert;\r\n"},{name:"@airgap/beacon-ui/components/icons/index.d.ts",dts:"import { JSX } from 'solid-js/jsx-runtime';\r\ninterface IconProps {\r\n style?: JSX.CSSProperties | undefined;\r\n}\r\nexport declare function CloseIcon(props: IconProps): JSX.Element;\r\nexport declare function LeftIcon(props: IconProps): JSX.Element;\r\nexport declare function LogoIcon(props: IconProps): JSX.Element;\r\nexport {};\r\n"},{name:"@airgap/beacon-ui/components/info/index.d.ts",dts:"import { Component } from 'solid-js';\r\nimport styles from './styles.css';\r\ninterface InfoProps {\r\n title: string;\r\n description?: string;\r\n data?: string;\r\n icon?: any;\r\n border?: boolean;\r\n iconBadge?: boolean;\r\n bigIcon?: boolean;\r\n buttons?: {\r\n label: string;\r\n type: 'primary' | 'secondary';\r\n onClick: () => void;\r\n }[];\r\n}\r\ndeclare const Info: Component;\r\nexport { styles };\r\nexport default Info;\r\n"},{name:"@airgap/beacon-ui/components/loader/index.d.ts",dts:"import { Component } from 'solid-js';\r\nimport styles from './styles.css';\r\ninterface LoaderProps {\r\n}\r\ndeclare const Loader: Component;\r\nexport { styles };\r\nexport default Loader;\r\n"},{name:"@airgap/beacon-ui/components/pair-other/pair-other.d.ts",dts:"import { Component } from 'solid-js';\r\nimport { MergedWallet } from '../../utils/wallets';\r\nimport { P2PPairingRequest, WalletConnectPairingRequest } from '@airgap/beacon-types';\r\nimport styles from './styles.css';\r\nexport interface PairOtherProps {\r\n walletList: MergedWallet[];\r\n p2pPayload: Promise | undefined;\r\n wcPayload: Promise | undefined;\r\n onClickLearnMore: () => void;\r\n}\r\ndeclare const PairOther: Component;\r\nexport { styles };\r\nexport default PairOther;\r\n"},{name:"@airgap/beacon-ui/components/qr/index.d.ts",dts:"import { Component } from 'solid-js';\r\nimport styles from './styles.css';\r\ninterface QRProps {\r\n isWalletConnect: boolean;\r\n isMobile: boolean;\r\n walletName: string;\r\n code: string;\r\n onClickLearnMore?: () => void;\r\n onClickQrCode?: () => void;\r\n}\r\ndeclare const QR: Component;\r\nexport { styles };\r\nexport default QR;\r\n"},{name:"@airgap/beacon-ui/components/toast/index.d.ts",dts:"import { Component } from 'solid-js';\r\nexport interface ToastProps {\r\n label: string;\r\n open: boolean;\r\n onClickClose: () => void;\r\n actions?: {\r\n text: string;\r\n isBold?: boolean;\r\n actionText?: string;\r\n actionCallback?: () => void;\r\n }[];\r\n walletInfo?: {\r\n deeplink?: string;\r\n icon?: string;\r\n name: string;\r\n type?: string;\r\n };\r\n openWalletAction?: () => void;\r\n}\r\ndeclare const Toast: Component;\r\nexport default Toast;\r\n"},{name:"@airgap/beacon-ui/components/top-wallets/index.d.ts",dts:"import { Component } from 'solid-js';\r\nimport { MergedWallet } from 'src/utils/wallets';\r\nimport styles from './styles.css';\r\ninterface TopWalletsProps {\r\n wallets: MergedWallet[];\r\n onClickWallet: (id: string) => void;\r\n onClickLearnMore: () => void;\r\n otherWallets?: {\r\n images: string[];\r\n onClick: () => void;\r\n };\r\n disabled?: boolean;\r\n isMobile: boolean;\r\n}\r\ndeclare const TopWallets: Component;\r\nexport { styles };\r\nexport default TopWallets;\r\n"},{name:"@airgap/beacon-ui/components/wallet/index.d.ts",dts:"import { Component } from 'solid-js';\r\nimport styles from './styles.css';\r\ninterface WalletProps {\r\n name: string;\r\n image: string;\r\n description?: string;\r\n small?: boolean;\r\n mobile?: boolean;\r\n onClick: () => void;\r\n tags?: string[];\r\n disabled?: boolean;\r\n}\r\ndeclare const Wallet: Component;\r\nexport { styles };\r\nexport default Wallet;\r\n"},{name:"@airgap/beacon-ui/components/wallets/index.d.ts",dts:"import { Component } from 'solid-js';\r\nimport { MergedWallet } from 'src/utils/wallets';\r\nimport styles from './styles.css';\r\ninterface WalletProps {\r\n wallets: MergedWallet[];\r\n onClickWallet: (id: string) => void;\r\n onClickOther: () => void;\r\n isMobile: boolean;\r\n small?: boolean;\r\n disabled?: boolean;\r\n}\r\ndeclare const Wallets: Component;\r\nexport { styles };\r\nexport default Wallets;\r\n"},{name:"@airgap/beacon-ui/components/pairing.d.ts",dts:'import { DesktopApp, App, ExtensionApp, WebApp } from \'@airgap/beacon-types\';\r\nexport declare const getDesktopList: () => DesktopApp[];\r\nexport declare const setDesktopList: (desktopList: DesktopApp[]) => void;\r\nexport declare const getExtensionList: () => ExtensionApp[];\r\nexport declare const setExtensionList: (extensionList: ExtensionApp[]) => void;\r\nexport declare const getWebList: () => WebApp[];\r\nexport declare const setWebList: (webList: WebApp[]) => void;\r\nexport declare const getiOSList: () => App[];\r\nexport declare const setiOSList: (iosList: App[]) => void;\r\nexport declare enum Platform {\r\n DESKTOP = 0,\r\n IOS = 1,\r\n ANDROID = 2\r\n}\r\nexport declare enum WalletType {\r\n IOS = "ios",\r\n ANDROID = "android",\r\n EXTENSION = "extension",\r\n DESKTOP = "desktop",\r\n WEB = "web"\r\n}\r\nexport interface PairingAlertWallet {\r\n key: string;\r\n name: string;\r\n shortName?: string;\r\n color?: string;\r\n logo?: string;\r\n enabled: boolean;\r\n clickHandler(): void;\r\n}\r\nexport interface PairingAlertButton {\r\n title: string;\r\n text: string;\r\n clickHandler(): void;\r\n}\r\nexport interface PairingAlertList {\r\n title: string;\r\n type: WalletType;\r\n wallets: PairingAlertWallet[];\r\n}\r\nexport interface PairingAlertInfo {\r\n walletLists: PairingAlertList[];\r\n buttons: PairingAlertButton[];\r\n}\r\nexport declare type StatusUpdateHandler = (walletType: WalletType, app?: PairingAlertWallet, keepOpen?: boolean) => void;\r\n/**\r\n * @internalapi\r\n *\r\n */\r\nexport declare class Pairing {\r\n}\r\n'},{name:"@airgap/beacon-ui/ui/alert/alert-templates.d.ts",dts:"export declare const alertTemplates: {\r\n default: {\r\n css: string;\r\n };\r\n pair: {\r\n css: string;\r\n };\r\n};\r\n"},{name:"@airgap/beacon-ui/ui/alert/index.d.ts",dts:"import { AnalyticsInterface, NetworkType, P2PPairingRequest, PostMessagePairingRequest, WalletConnectPairingRequest } from '@airgap/beacon-types';\r\nexport interface AlertButton {\r\n text: string;\r\n style?: 'solid' | 'outline';\r\n actionCallback?(): Promise;\r\n}\r\nexport interface AlertConfig {\r\n title: string;\r\n body?: string;\r\n data?: string;\r\n timer?: number;\r\n buttons?: AlertButton[];\r\n pairingPayload?: {\r\n p2pSyncCode: () => Promise;\r\n postmessageSyncCode: () => Promise;\r\n walletConnectSyncCode: () => Promise;\r\n networkType: NetworkType;\r\n };\r\n closeButtonCallback?(): void;\r\n disclaimerText?: string;\r\n analytics?: AnalyticsInterface;\r\n featuredWallets?: string[];\r\n}\r\n/**\r\n * Close an alert by ID\r\n *\r\n * @param id ID of alert\r\n */\r\ndeclare const closeAlert: (_: string) => Promise;\r\n/**\r\n * Close all alerts\r\n */\r\ndeclare const closeAlerts: () => Promise;\r\n/**\r\n * Show an alert\r\n *\r\n * @param alertConfig The configuration of the alert\r\n */\r\ndeclare const openAlert: (config: AlertConfig) => Promise;\r\nexport { closeAlert, closeAlerts, openAlert };\r\n"},{name:"@airgap/beacon-ui/ui/alert/wallet-lists.d.ts",dts:"import { App, DesktopApp, ExtensionApp, WebApp } from '@airgap/beacon-types';\r\nexport declare const extensionList: ExtensionApp[];\r\nexport declare const desktopList: DesktopApp[];\r\nexport declare const webList: WebApp[];\r\nexport declare const iOSList: App[];\r\n"},{name:"@airgap/beacon-ui/ui/toast/index.d.ts",dts:"import { WalletInfo } from '@airgap/beacon-types';\r\nexport interface ToastAction {\r\n text: string;\r\n isBold?: boolean;\r\n actionText?: string;\r\n actionLogo?: 'external';\r\n actionCallback?(): Promise;\r\n}\r\nexport interface ToastConfig {\r\n body: string;\r\n timer?: number;\r\n forceNew?: boolean;\r\n state: 'prepare' | 'loading' | 'acknowledge' | 'finished';\r\n actions?: ToastAction[];\r\n walletInfo?: WalletInfo;\r\n openWalletAction?(): Promise;\r\n}\r\n/**\r\n * Close a toast\r\n */\r\ndeclare const closeToast: () => Promise;\r\n/**\r\n * Create a new toast\r\n *\r\n * @param toastConfig Configuration of the toast\r\n */\r\ndeclare const openToast: (config: ToastConfig) => Promise;\r\nexport { closeToast, openToast };\r\n"},{name:"@airgap/beacon-ui/ui/toast/toast-templates.d.ts",dts:"export declare const toastTemplates: {\r\n default: {\r\n css: string;\r\n };\r\n};\r\n"},{name:"@airgap/beacon-ui/utils/colorMode.d.ts",dts:"import { ColorMode } from '@airgap/beacon-types';\r\nexport declare const setColorMode: (mode: ColorMode) => void;\r\nexport declare const getColorMode: () => ColorMode;\r\n"},{name:"@airgap/beacon-ui/utils/get-tzip10-link.d.ts",dts:"export declare const getTzip10Link: (url: string, payload: string) => string;\r\n"},{name:"@airgap/beacon-ui/utils/platform.d.ts",dts:"export declare const testUserAgent: (win: Window, expr: RegExp) => boolean;\r\nexport declare const isMobile: (win: Window) => boolean;\r\nexport declare const isIOS: (win: Window) => boolean;\r\nexport declare const isAndroid: (win: Window) => boolean;\r\nexport declare const isTwBrowser: (win: Window) => boolean;\r\nexport declare const isDesktop: (win: Window) => boolean;\r\nexport declare const isMobileOS: (win: Window) => boolean;\r\n"},{name:"@airgap/beacon-ui/utils/qr.d.ts",dts:"/**\r\n * Convert data to a QR code\r\n *\r\n * @param payload The data to be encoded as a QR code\r\n * @param type How the QR code will be encoded\r\n */\r\nexport declare const getQrData: (payload: string, height?: number, width?: number) => string;\r\n"},{name:"@airgap/beacon-ui/utils/wallets.d.ts",dts:"export interface Wallet {\r\n id: string;\r\n key: string;\r\n name: string;\r\n image: string;\r\n description: string;\r\n type: string;\r\n link: string;\r\n supportedInteractionStandards?: ('wallet_connect' | 'beacon')[];\r\n deepLink?: string;\r\n}\r\nexport interface MergedWallet {\r\n id: string;\r\n firefoxId?: string;\r\n key: string;\r\n name: string;\r\n image: string;\r\n descriptions: string[];\r\n types: string[];\r\n link: string;\r\n supportedInteractionStandards?: ('wallet_connect' | 'beacon')[];\r\n tags?: string[];\r\n deepLink?: string;\r\n}\r\nexport declare function parseWallets(wallets: Wallet[]): Wallet[];\r\nexport declare function arrangeTopWallets(arr: MergedWallet[], walletIds: string[]): MergedWallet[];\r\nexport declare function mergeWallets(wallets: Wallet[]): MergedWallet[];\r\n"},{name:"@airgap/beacon-ui/index.d.ts",dts:"export { openAlert, closeAlerts } from './ui/alert';\r\nexport type { AlertButton, AlertConfig } from './ui/alert';\r\nexport { Pairing, setDesktopList, setExtensionList, setWebList, setiOSList, getDesktopList, getExtensionList, getWebList, getiOSList } from './components/pairing';\r\nexport { closeToast, openToast } from './ui/toast';\r\nexport type { ToastAction } from './ui/toast';\r\nexport { getColorMode, setColorMode } from './utils/colorMode';\r\nexport { isMobile } from './utils/platform';\r\n"},{name:"@airgap/beacon-ui/dist/esm/components/alert/index.d.ts",dts:"import { Component } from 'solid-js';\r\nexport interface AlertProps {\r\n content: any;\r\n open: boolean;\r\n showMore?: boolean;\r\n extraContent?: any;\r\n loading?: boolean;\r\n onCloseClick: () => void;\r\n onClickShowMore?: () => void;\r\n onBackClick?: () => void;\r\n}\r\ndeclare const Alert: Component;\r\nexport default Alert;\r\n"},{name:"@airgap/beacon-ui/dist/esm/components/icons/index.d.ts",dts:"import { JSX } from 'solid-js/jsx-runtime';\r\ninterface IconProps {\r\n style?: JSX.CSSProperties | undefined;\r\n}\r\nexport declare function CloseIcon(props: IconProps): JSX.Element;\r\nexport declare function LeftIcon(props: IconProps): JSX.Element;\r\nexport declare function LogoIcon(props: IconProps): JSX.Element;\r\nexport {};\r\n"},{name:"@airgap/beacon-ui/dist/esm/components/info/index.d.ts",dts:"import { Component } from 'solid-js';\r\nimport styles from './styles.css';\r\ninterface InfoProps {\r\n title: string;\r\n description?: string;\r\n data?: string;\r\n icon?: any;\r\n border?: boolean;\r\n iconBadge?: boolean;\r\n bigIcon?: boolean;\r\n buttons?: {\r\n label: string;\r\n type: 'primary' | 'secondary';\r\n onClick: () => void;\r\n }[];\r\n}\r\ndeclare const Info: Component;\r\nexport { styles };\r\nexport default Info;\r\n"},{name:"@airgap/beacon-ui/dist/esm/components/loader/index.d.ts",dts:"import { Component } from 'solid-js';\r\nimport styles from './styles.css';\r\ninterface LoaderProps {\r\n}\r\ndeclare const Loader: Component;\r\nexport { styles };\r\nexport default Loader;\r\n"},{name:"@airgap/beacon-ui/dist/esm/components/pair-other/pair-other.d.ts",dts:"import { Component } from 'solid-js';\r\nimport { MergedWallet } from '../../utils/wallets';\r\nimport { P2PPairingRequest, WalletConnectPairingRequest } from '@airgap/beacon-types';\r\nimport styles from './styles.css';\r\nexport interface PairOtherProps {\r\n walletList: MergedWallet[];\r\n p2pPayload: Promise | undefined;\r\n wcPayload: Promise | undefined;\r\n onClickLearnMore: () => void;\r\n}\r\ndeclare const PairOther: Component;\r\nexport { styles };\r\nexport default PairOther;\r\n"},{name:"@airgap/beacon-ui/dist/esm/components/qr/index.d.ts",dts:"import { Component } from 'solid-js';\r\nimport styles from './styles.css';\r\ninterface QRProps {\r\n isWalletConnect: boolean;\r\n isMobile: boolean;\r\n walletName: string;\r\n code: string;\r\n onClickLearnMore?: () => void;\r\n onClickQrCode?: () => void;\r\n}\r\ndeclare const QR: Component;\r\nexport { styles };\r\nexport default QR;\r\n"},{name:"@airgap/beacon-ui/dist/esm/components/toast/index.d.ts",dts:"import { Component } from 'solid-js';\r\nexport interface ToastProps {\r\n label: string;\r\n open: boolean;\r\n onClickClose: () => void;\r\n actions?: {\r\n text: string;\r\n isBold?: boolean;\r\n actionText?: string;\r\n actionCallback?: () => void;\r\n }[];\r\n walletInfo?: {\r\n deeplink?: string;\r\n icon?: string;\r\n name: string;\r\n type?: string;\r\n };\r\n openWalletAction?: () => void;\r\n}\r\ndeclare const Toast: Component;\r\nexport default Toast;\r\n"},{name:"@airgap/beacon-ui/dist/esm/components/top-wallets/index.d.ts",dts:"import { Component } from 'solid-js';\r\nimport { MergedWallet } from 'src/utils/wallets';\r\nimport styles from './styles.css';\r\ninterface TopWalletsProps {\r\n wallets: MergedWallet[];\r\n onClickWallet: (id: string) => void;\r\n onClickLearnMore: () => void;\r\n otherWallets?: {\r\n images: string[];\r\n onClick: () => void;\r\n };\r\n disabled?: boolean;\r\n isMobile: boolean;\r\n}\r\ndeclare const TopWallets: Component;\r\nexport { styles };\r\nexport default TopWallets;\r\n"},{name:"@airgap/beacon-ui/dist/esm/components/wallet/index.d.ts",dts:"import { Component } from 'solid-js';\r\nimport styles from './styles.css';\r\ninterface WalletProps {\r\n name: string;\r\n image: string;\r\n description?: string;\r\n small?: boolean;\r\n mobile?: boolean;\r\n onClick: () => void;\r\n tags?: string[];\r\n disabled?: boolean;\r\n}\r\ndeclare const Wallet: Component;\r\nexport { styles };\r\nexport default Wallet;\r\n"},{name:"@airgap/beacon-ui/dist/esm/components/wallets/index.d.ts",dts:"import { Component } from 'solid-js';\r\nimport { MergedWallet } from 'src/utils/wallets';\r\nimport styles from './styles.css';\r\ninterface WalletProps {\r\n wallets: MergedWallet[];\r\n onClickWallet: (id: string) => void;\r\n onClickOther: () => void;\r\n isMobile: boolean;\r\n small?: boolean;\r\n disabled?: boolean;\r\n}\r\ndeclare const Wallets: Component;\r\nexport { styles };\r\nexport default Wallets;\r\n"},{name:"@airgap/beacon-ui/dist/esm/components/pairing.d.ts",dts:'import { DesktopApp, App, ExtensionApp, WebApp } from \'@airgap/beacon-types\';\r\nexport declare const getDesktopList: () => DesktopApp[];\r\nexport declare const setDesktopList: (desktopList: DesktopApp[]) => void;\r\nexport declare const getExtensionList: () => ExtensionApp[];\r\nexport declare const setExtensionList: (extensionList: ExtensionApp[]) => void;\r\nexport declare const getWebList: () => WebApp[];\r\nexport declare const setWebList: (webList: WebApp[]) => void;\r\nexport declare const getiOSList: () => App[];\r\nexport declare const setiOSList: (iosList: App[]) => void;\r\nexport declare enum Platform {\r\n DESKTOP = 0,\r\n IOS = 1,\r\n ANDROID = 2\r\n}\r\nexport declare enum WalletType {\r\n IOS = "ios",\r\n ANDROID = "android",\r\n EXTENSION = "extension",\r\n DESKTOP = "desktop",\r\n WEB = "web"\r\n}\r\nexport interface PairingAlertWallet {\r\n key: string;\r\n name: string;\r\n shortName?: string;\r\n color?: string;\r\n logo?: string;\r\n enabled: boolean;\r\n clickHandler(): void;\r\n}\r\nexport interface PairingAlertButton {\r\n title: string;\r\n text: string;\r\n clickHandler(): void;\r\n}\r\nexport interface PairingAlertList {\r\n title: string;\r\n type: WalletType;\r\n wallets: PairingAlertWallet[];\r\n}\r\nexport interface PairingAlertInfo {\r\n walletLists: PairingAlertList[];\r\n buttons: PairingAlertButton[];\r\n}\r\nexport declare type StatusUpdateHandler = (walletType: WalletType, app?: PairingAlertWallet, keepOpen?: boolean) => void;\r\n/**\r\n * @internalapi\r\n *\r\n */\r\nexport declare class Pairing {\r\n}\r\n'},{name:"@airgap/beacon-ui/dist/esm/ui/alert/alert-templates.d.ts",dts:"export declare const alertTemplates: {\r\n default: {\r\n css: string;\r\n };\r\n pair: {\r\n css: string;\r\n };\r\n};\r\n"},{name:"@airgap/beacon-ui/dist/esm/ui/alert/index.d.ts",dts:"import { AnalyticsInterface, NetworkType, P2PPairingRequest, PostMessagePairingRequest, WalletConnectPairingRequest } from '@airgap/beacon-types';\r\nexport interface AlertButton {\r\n text: string;\r\n style?: 'solid' | 'outline';\r\n actionCallback?(): Promise;\r\n}\r\nexport interface AlertConfig {\r\n title: string;\r\n body?: string;\r\n data?: string;\r\n timer?: number;\r\n buttons?: AlertButton[];\r\n pairingPayload?: {\r\n p2pSyncCode: () => Promise;\r\n postmessageSyncCode: () => Promise;\r\n walletConnectSyncCode: () => Promise;\r\n networkType: NetworkType;\r\n };\r\n closeButtonCallback?(): void;\r\n disclaimerText?: string;\r\n analytics?: AnalyticsInterface;\r\n featuredWallets?: string[];\r\n}\r\n/**\r\n * Close an alert by ID\r\n *\r\n * @param id ID of alert\r\n */\r\ndeclare const closeAlert: (_: string) => Promise;\r\n/**\r\n * Close all alerts\r\n */\r\ndeclare const closeAlerts: () => Promise;\r\n/**\r\n * Show an alert\r\n *\r\n * @param alertConfig The configuration of the alert\r\n */\r\ndeclare const openAlert: (config: AlertConfig) => Promise;\r\nexport { closeAlert, closeAlerts, openAlert };\r\n"},{name:"@airgap/beacon-ui/dist/esm/ui/alert/wallet-lists.d.ts",dts:"import { App, DesktopApp, ExtensionApp, WebApp } from '@airgap/beacon-types';\r\nexport declare const extensionList: ExtensionApp[];\r\nexport declare const desktopList: DesktopApp[];\r\nexport declare const webList: WebApp[];\r\nexport declare const iOSList: App[];\r\n"},{name:"@airgap/beacon-ui/dist/esm/ui/toast/index.d.ts",dts:"import { WalletInfo } from '@airgap/beacon-types';\r\nexport interface ToastAction {\r\n text: string;\r\n isBold?: boolean;\r\n actionText?: string;\r\n actionLogo?: 'external';\r\n actionCallback?(): Promise;\r\n}\r\nexport interface ToastConfig {\r\n body: string;\r\n timer?: number;\r\n forceNew?: boolean;\r\n state: 'prepare' | 'loading' | 'acknowledge' | 'finished';\r\n actions?: ToastAction[];\r\n walletInfo?: WalletInfo;\r\n openWalletAction?(): Promise;\r\n}\r\n/**\r\n * Close a toast\r\n */\r\ndeclare const closeToast: () => Promise;\r\n/**\r\n * Create a new toast\r\n *\r\n * @param toastConfig Configuration of the toast\r\n */\r\ndeclare const openToast: (config: ToastConfig) => Promise;\r\nexport { closeToast, openToast };\r\n"},{name:"@airgap/beacon-ui/dist/esm/ui/toast/toast-templates.d.ts",dts:"export declare const toastTemplates: {\r\n default: {\r\n css: string;\r\n };\r\n};\r\n"},{name:"@airgap/beacon-ui/dist/esm/utils/colorMode.d.ts",dts:"import { ColorMode } from '@airgap/beacon-types';\r\nexport declare const setColorMode: (mode: ColorMode) => void;\r\nexport declare const getColorMode: () => ColorMode;\r\n"},{name:"@airgap/beacon-ui/dist/esm/utils/get-tzip10-link.d.ts",dts:"export declare const getTzip10Link: (url: string, payload: string) => string;\r\n"},{name:"@airgap/beacon-ui/dist/esm/utils/platform.d.ts",dts:"export declare const testUserAgent: (win: Window, expr: RegExp) => boolean;\r\nexport declare const isMobile: (win: Window) => boolean;\r\nexport declare const isIOS: (win: Window) => boolean;\r\nexport declare const isAndroid: (win: Window) => boolean;\r\nexport declare const isTwBrowser: (win: Window) => boolean;\r\nexport declare const isDesktop: (win: Window) => boolean;\r\nexport declare const isMobileOS: (win: Window) => boolean;\r\n"},{name:"@airgap/beacon-ui/dist/esm/utils/qr.d.ts",dts:"/**\r\n * Convert data to a QR code\r\n *\r\n * @param payload The data to be encoded as a QR code\r\n * @param type How the QR code will be encoded\r\n */\r\nexport declare const getQrData: (payload: string, height?: number, width?: number) => string;\r\n"},{name:"@airgap/beacon-ui/dist/esm/utils/wallets.d.ts",dts:"export interface Wallet {\r\n id: string;\r\n key: string;\r\n name: string;\r\n image: string;\r\n description: string;\r\n type: string;\r\n link: string;\r\n supportedInteractionStandards?: ('wallet_connect' | 'beacon')[];\r\n deepLink?: string;\r\n}\r\nexport interface MergedWallet {\r\n id: string;\r\n firefoxId?: string;\r\n key: string;\r\n name: string;\r\n image: string;\r\n descriptions: string[];\r\n types: string[];\r\n link: string;\r\n supportedInteractionStandards?: ('wallet_connect' | 'beacon')[];\r\n tags?: string[];\r\n deepLink?: string;\r\n}\r\nexport declare function parseWallets(wallets: Wallet[]): Wallet[];\r\nexport declare function arrangeTopWallets(arr: MergedWallet[], walletIds: string[]): MergedWallet[];\r\nexport declare function mergeWallets(wallets: Wallet[]): MergedWallet[];\r\n"},{name:"@airgap/beacon-ui/dist/esm/index.d.ts",dts:"export { openAlert, closeAlerts } from './ui/alert';\r\nexport type { AlertButton, AlertConfig } from './ui/alert';\r\nexport { Pairing, setDesktopList, setExtensionList, setWebList, setiOSList, getDesktopList, getExtensionList, getWebList, getiOSList } from './components/pairing';\r\nexport { closeToast, openToast } from './ui/toast';\r\nexport type { ToastAction } from './ui/toast';\r\nexport { getColorMode, setColorMode } from './utils/colorMode';\r\nexport { isMobile } from './utils/platform';\r\n"},{name:"@airgap/beacon-ui/dist/index/components/alert/index.d.ts",dts:"import { Component } from 'solid-js';\nexport interface AlertProps {\n content: any;\n open: boolean;\n showMore?: boolean;\n extraContent?: any;\n loading?: boolean;\n onCloseClick: () => void;\n onClickShowMore?: () => void;\n onBackClick?: () => void;\n}\ndeclare const Alert: Component;\nexport default Alert;\n"},{name:"@airgap/beacon-ui/dist/index/components/icons/index.d.ts",dts:"import { JSX } from 'solid-js/jsx-runtime';\ninterface IconProps {\n style?: JSX.CSSProperties | undefined;\n}\nexport declare function CloseIcon(props: IconProps): JSX.Element;\nexport declare function LeftIcon(props: IconProps): JSX.Element;\nexport declare function LogoIcon(props: IconProps): JSX.Element;\nexport {};\n"},{name:"@airgap/beacon-ui/dist/index/components/info/index.d.ts",dts:"import { Component } from 'solid-js';\nimport styles from './styles.css';\ninterface InfoProps {\n title: string;\n description?: string;\n data?: string;\n icon?: any;\n border?: boolean;\n iconBadge?: boolean;\n bigIcon?: boolean;\n buttons?: {\n label: string;\n type: 'primary' | 'secondary';\n onClick: () => void;\n }[];\n}\ndeclare const Info: Component;\nexport { styles };\nexport default Info;\n"},{name:"@airgap/beacon-ui/dist/index/components/loader/index.d.ts",dts:"import { Component } from 'solid-js';\nimport styles from './styles.css';\ninterface LoaderProps {\n}\ndeclare const Loader: Component;\nexport { styles };\nexport default Loader;\n"},{name:"@airgap/beacon-ui/dist/index/components/qr/index.d.ts",dts:"import { Component } from 'solid-js';\nimport styles from './styles.css';\ninterface QRProps {\n isWalletConnect: boolean;\n isMobile: boolean;\n walletName: string;\n code: string;\n onClickLearnMore?: () => void;\n onClickQrCode?: () => void;\n}\ndeclare const QR: Component;\nexport { styles };\nexport default QR;\n"},{name:"@airgap/beacon-ui/dist/index/components/toast/index.d.ts",dts:"import { Component } from 'solid-js';\nexport interface ToastProps {\n label: string;\n open: boolean;\n onClickClose: () => void;\n actions?: {\n text: string;\n isBold?: boolean;\n actionText?: string;\n actionCallback?: () => void;\n }[];\n walletInfo?: {\n deeplink?: string;\n icon?: string;\n name: string;\n type?: string;\n };\n openWalletAction?: () => void;\n}\ndeclare const Toast: Component;\nexport default Toast;\n"},{name:"@airgap/beacon-ui/dist/index/components/top-wallets/index.d.ts",dts:"import { Component } from 'solid-js';\nimport { MergedWallet } from 'src/utils/wallets';\nimport styles from './styles.css';\ninterface TopWalletsProps {\n wallets: MergedWallet[];\n onClickWallet: (id: string) => void;\n onClickLearnMore: () => void;\n otherWallets?: {\n images: string[];\n onClick: () => void;\n };\n disabled?: boolean;\n isMobile: boolean;\n}\ndeclare const TopWallets: Component;\nexport { styles };\nexport default TopWallets;\n"},{name:"@airgap/beacon-ui/dist/index/components/wallet/index.d.ts",dts:"import { Component } from 'solid-js';\nimport styles from './styles.css';\ninterface WalletProps {\n name: string;\n image: string;\n description?: string;\n small?: boolean;\n mobile?: boolean;\n onClick: () => void;\n tags?: string[];\n disabled?: boolean;\n}\ndeclare const Wallet: Component;\nexport { styles };\nexport default Wallet;\n"},{name:"@airgap/beacon-ui/dist/index/components/wallets/index.d.ts",dts:"import { Component } from 'solid-js';\nimport { MergedWallet } from 'src/utils/wallets';\nimport styles from './styles.css';\ninterface WalletProps {\n wallets: MergedWallet[];\n onClickWallet: (id: string) => void;\n onClickOther: () => void;\n isMobile: boolean;\n small?: boolean;\n disabled?: boolean;\n}\ndeclare const Wallets: Component;\nexport { styles };\nexport default Wallets;\n"},{name:"@airgap/beacon-ui/dist/index/components/pairing.d.ts",dts:'import { DesktopApp, App, ExtensionApp, WebApp } from \'@airgap/beacon-types\';\nexport declare const getDesktopList: () => DesktopApp[];\nexport declare const setDesktopList: (desktopList: DesktopApp[]) => void;\nexport declare const getExtensionList: () => ExtensionApp[];\nexport declare const setExtensionList: (extensionList: ExtensionApp[]) => void;\nexport declare const getWebList: () => WebApp[];\nexport declare const setWebList: (webList: WebApp[]) => void;\nexport declare const getiOSList: () => App[];\nexport declare const setiOSList: (iosList: App[]) => void;\nexport declare enum Platform {\n DESKTOP = 0,\n IOS = 1,\n ANDROID = 2\n}\nexport declare enum WalletType {\n IOS = "ios",\n ANDROID = "android",\n EXTENSION = "extension",\n DESKTOP = "desktop",\n WEB = "web"\n}\nexport interface PairingAlertWallet {\n key: string;\n name: string;\n shortName?: string;\n color?: string;\n logo?: string;\n enabled: boolean;\n clickHandler(): void;\n}\nexport interface PairingAlertButton {\n title: string;\n text: string;\n clickHandler(): void;\n}\nexport interface PairingAlertList {\n title: string;\n type: WalletType;\n wallets: PairingAlertWallet[];\n}\nexport interface PairingAlertInfo {\n walletLists: PairingAlertList[];\n buttons: PairingAlertButton[];\n}\nexport type StatusUpdateHandler = (walletType: WalletType, app?: PairingAlertWallet, keepOpen?: boolean) => void;\n/**\n * @internalapi\n *\n */\nexport declare class Pairing {\n}\n'},{name:"@airgap/beacon-ui/dist/index/ui/alert/index.d.ts",dts:"import { AnalyticsInterface, NetworkType, P2PPairingRequest, PostMessagePairingRequest, WalletConnectPairingRequest } from '@airgap/beacon-types';\nexport interface AlertButton {\n text: string;\n style?: 'solid' | 'outline';\n actionCallback?(): Promise;\n}\nexport interface AlertConfig {\n title: string;\n body?: string;\n data?: string;\n timer?: number;\n buttons?: AlertButton[];\n pairingPayload?: {\n p2pSyncCode: () => Promise;\n postmessageSyncCode: () => Promise;\n walletConnectSyncCode: () => Promise;\n networkType: NetworkType;\n };\n closeButtonCallback?(): void;\n disclaimerText?: string;\n analytics?: AnalyticsInterface;\n featuredWallets?: string[];\n}\n/**\n * Close an alert by ID\n *\n * @param id ID of alert\n */\ndeclare const closeAlert: (_: string) => Promise;\n/**\n * Close all alerts\n */\ndeclare const closeAlerts: () => Promise;\n/**\n * Show an alert\n *\n * @param alertConfig The configuration of the alert\n */\ndeclare const openAlert: (config: AlertConfig) => Promise;\nexport { closeAlert, closeAlerts, openAlert };\n"},{name:"@airgap/beacon-ui/dist/index/ui/alert/wallet-lists.d.ts",dts:"import { App, DesktopApp, ExtensionApp, WebApp } from '@airgap/beacon-types';\nexport declare const extensionList: ExtensionApp[];\nexport declare const desktopList: DesktopApp[];\nexport declare const webList: WebApp[];\nexport declare const iOSList: App[];\n"},{name:"@airgap/beacon-ui/dist/index/ui/toast/index.d.ts",dts:"import { WalletInfo } from '@airgap/beacon-types';\nexport interface ToastAction {\n text: string;\n isBold?: boolean;\n actionText?: string;\n actionLogo?: 'external';\n actionCallback?(): Promise;\n}\nexport interface ToastConfig {\n body: string;\n timer?: number;\n forceNew?: boolean;\n state: 'prepare' | 'loading' | 'acknowledge' | 'finished';\n actions?: ToastAction[];\n walletInfo?: WalletInfo;\n openWalletAction?(): Promise;\n}\n/**\n * Close a toast\n */\ndeclare const closeToast: () => Promise;\n/**\n * Create a new toast\n *\n * @param toastConfig Configuration of the toast\n */\ndeclare const openToast: (config: ToastConfig) => Promise;\nexport { closeToast, openToast };\n"},{name:"@airgap/beacon-ui/dist/index/utils/colorMode.d.ts",dts:"import { ColorMode } from '@airgap/beacon-types';\nexport declare const setColorMode: (mode: ColorMode) => void;\nexport declare const getColorMode: () => ColorMode;\n"},{name:"@airgap/beacon-ui/dist/index/utils/platform.d.ts",dts:"export declare const testUserAgent: (win: Window, expr: RegExp) => boolean;\nexport declare const isMobile: (win: Window) => boolean;\nexport declare const isIOS: (win: Window) => boolean;\nexport declare const isAndroid: (win: Window) => boolean;\nexport declare const isTwBrowser: (win: Window) => boolean;\nexport declare const isDesktop: (win: Window) => boolean;\nexport declare const isMobileOS: (win: Window) => boolean;\n"},{name:"@airgap/beacon-ui/dist/index/index.d.ts",dts:"export { openAlert, closeAlerts } from './ui/alert';\nexport type { AlertButton, AlertConfig } from './ui/alert';\nexport { Pairing, setDesktopList, setExtensionList, setWebList, setiOSList, getDesktopList, getExtensionList, getWebList, getiOSList } from './components/pairing';\nexport { closeToast, openToast } from './ui/toast';\nexport type { ToastAction } from './ui/toast';\nexport { getColorMode, setColorMode } from './utils/colorMode';\nexport { isMobile } from './utils/platform';\n"},{name:"@airgap/beacon-utils/utils/crypto.d.ts",dts:"/// \nimport { KeyPair } from '@stablelib/ed25519';\nexport declare const secretbox_NONCEBYTES = 24;\nexport declare const secretbox_MACBYTES = 16;\n/**\n * Convert a value to hex\n *\n * @param value\n */\nexport declare function toHex(value: any): string;\n/**\n * Get the hex hash of a value\n *\n * @param key\n */\nexport declare function getHexHash(key: string | Buffer | Uint8Array): Promise;\n/**\n * Get a keypair from a seed\n *\n * @param seed\n */\nexport declare function getKeypairFromSeed(seed: string): Promise;\n/**\n * Encrypt a message with a shared key\n *\n * @param message\n * @param sharedKey\n */\nexport declare function encryptCryptoboxPayload(message: string, sharedKey: Uint8Array): Promise;\n/**\n * Decrypt a message with a shared key\n *\n * @param payload\n * @param sharedKey\n */\nexport declare function decryptCryptoboxPayload(payload: Uint8Array, sharedKey: Uint8Array): Promise;\n/**\n * Encrypt a message with a public key\n *\n * @param payload\n * @param publicKey\n */\nexport declare function sealCryptobox(payload: string | Buffer, otherPublicKey: Uint8Array): Promise;\n/**\n * Decrypt a message with public + private key\n *\n * @param encryptedPayload\n * @param publicKey\n * @param privateKey\n */\nexport declare function openCryptobox(encryptedPayload: string | Buffer, publicKey: Uint8Array, privateKey: Uint8Array): Promise;\n/**\n * Get an address from the public key\n *\n * @param publicKey\n */\nexport declare function getAddressFromPublicKey(publicKey: string): Promise;\n/**\n * Prefix the public key if it's not prefixed\n *\n * @param publicKey\n */\nexport declare function prefixPublicKey(publicKey: string): Promise;\n/**\n * Get the recipient string used in the matrix message\n *\n * @param recipientHash\n * @param relayServer\n */\nexport declare function recipientString(recipientHash: string, relayServer: string): string;\nexport declare const signMessage: (message: string, keypair: {\n secretKey: Buffer;\n}) => Promise;\n"},{name:"@airgap/beacon-utils/utils/exposed-promise.d.ts",dts:'export declare enum ExposedPromiseStatus {\n PENDING = "pending",\n RESOLVED = "resolved",\n REJECTED = "rejected"\n}\ndeclare type Resolve = (value: T) => void;\ndeclare type Reject = (reason?: U) => void;\n/**\n * Exposed promise allow you to create a promise and then resolve it later, from the outside\n */\nexport declare class ExposedPromise {\n private readonly _promise;\n private _resolve;\n private _reject;\n private _status;\n private _promiseResult;\n private _promiseError;\n get promise(): Promise;\n get resolve(): Resolve;\n get reject(): Reject;\n get status(): ExposedPromiseStatus;\n get promiseResult(): T | undefined;\n get promiseError(): U | undefined;\n constructor();\n static resolve(value: T): ExposedPromise;\n static reject(reason?: U): ExposedPromise;\n isPending(): boolean;\n isResolved(): boolean;\n isRejected(): boolean;\n isSettled(): boolean;\n}\nexport {};\n'},{name:"@airgap/beacon-utils/utils/generate-uuid.d.ts",dts:"/**\n * Generate a random GUID\n */\nexport declare function generateGUID(): Promise;\n"},{name:"@airgap/beacon-utils/utils/keys.d.ts",dts:"/**\n * A helper function to improve typings of object keys\n *\n * @param obj Object\n */\nexport declare function keys(obj: O): (keyof O)[];\n"},{name:"@airgap/beacon-utils/index.d.ts",dts:"export { keys } from './utils/keys';\nexport { ExposedPromise, ExposedPromiseStatus } from './utils/exposed-promise';\nexport { getKeypairFromSeed, toHex, getAddressFromPublicKey, decryptCryptoboxPayload, encryptCryptoboxPayload, getHexHash, sealCryptobox, openCryptobox, recipientString, signMessage, prefixPublicKey } from './utils/crypto';\nexport { generateGUID } from './utils/generate-uuid';\nexport declare const secretbox_NONCEBYTES = 24;\nexport declare const secretbox_MACBYTES = 16;\n"},{name:"@airgap/beacon-utils/dist/esm/utils/crypto.d.ts",dts:"/// \nimport { KeyPair } from '@stablelib/ed25519';\nexport declare const secretbox_NONCEBYTES = 24;\nexport declare const secretbox_MACBYTES = 16;\n/**\n * Convert a value to hex\n *\n * @param value\n */\nexport declare function toHex(value: any): string;\n/**\n * Get the hex hash of a value\n *\n * @param key\n */\nexport declare function getHexHash(key: string | Buffer | Uint8Array): Promise;\n/**\n * Get a keypair from a seed\n *\n * @param seed\n */\nexport declare function getKeypairFromSeed(seed: string): Promise;\n/**\n * Encrypt a message with a shared key\n *\n * @param message\n * @param sharedKey\n */\nexport declare function encryptCryptoboxPayload(message: string, sharedKey: Uint8Array): Promise;\n/**\n * Decrypt a message with a shared key\n *\n * @param payload\n * @param sharedKey\n */\nexport declare function decryptCryptoboxPayload(payload: Uint8Array, sharedKey: Uint8Array): Promise;\n/**\n * Encrypt a message with a public key\n *\n * @param payload\n * @param publicKey\n */\nexport declare function sealCryptobox(payload: string | Buffer, otherPublicKey: Uint8Array): Promise;\n/**\n * Decrypt a message with public + private key\n *\n * @param encryptedPayload\n * @param publicKey\n * @param privateKey\n */\nexport declare function openCryptobox(encryptedPayload: string | Buffer, publicKey: Uint8Array, privateKey: Uint8Array): Promise;\n/**\n * Get an address from the public key\n *\n * @param publicKey\n */\nexport declare function getAddressFromPublicKey(publicKey: string): Promise;\n/**\n * Prefix the public key if it's not prefixed\n *\n * @param publicKey\n */\nexport declare function prefixPublicKey(publicKey: string): Promise;\n/**\n * Get the recipient string used in the matrix message\n *\n * @param recipientHash\n * @param relayServer\n */\nexport declare function recipientString(recipientHash: string, relayServer: string): string;\nexport declare const signMessage: (message: string, keypair: {\n secretKey: Buffer;\n}) => Promise;\n"},{name:"@airgap/beacon-utils/dist/esm/utils/exposed-promise.d.ts",dts:'export declare enum ExposedPromiseStatus {\n PENDING = "pending",\n RESOLVED = "resolved",\n REJECTED = "rejected"\n}\ndeclare type Resolve = (value: T) => void;\ndeclare type Reject = (reason?: U) => void;\n/**\n * Exposed promise allow you to create a promise and then resolve it later, from the outside\n */\nexport declare class ExposedPromise {\n private readonly _promise;\n private _resolve;\n private _reject;\n private _status;\n private _promiseResult;\n private _promiseError;\n get promise(): Promise;\n get resolve(): Resolve;\n get reject(): Reject;\n get status(): ExposedPromiseStatus;\n get promiseResult(): T | undefined;\n get promiseError(): U | undefined;\n constructor();\n static resolve(value: T): ExposedPromise;\n static reject(reason?: U): ExposedPromise;\n isPending(): boolean;\n isResolved(): boolean;\n isRejected(): boolean;\n isSettled(): boolean;\n}\nexport {};\n'},{name:"@airgap/beacon-utils/dist/esm/utils/generate-uuid.d.ts",dts:"/**\n * Generate a random GUID\n */\nexport declare function generateGUID(): Promise;\n"},{name:"@airgap/beacon-utils/dist/esm/utils/keys.d.ts",dts:"/**\n * A helper function to improve typings of object keys\n *\n * @param obj Object\n */\nexport declare function keys(obj: O): (keyof O)[];\n"},{name:"@airgap/beacon-utils/dist/esm/index.d.ts",dts:"export { keys } from './utils/keys';\nexport { ExposedPromise, ExposedPromiseStatus } from './utils/exposed-promise';\nexport { getKeypairFromSeed, toHex, getAddressFromPublicKey, decryptCryptoboxPayload, encryptCryptoboxPayload, getHexHash, sealCryptobox, openCryptobox, recipientString, signMessage, prefixPublicKey } from './utils/crypto';\nexport { generateGUID } from './utils/generate-uuid';\nexport declare const secretbox_NONCEBYTES = 24;\nexport declare const secretbox_MACBYTES = 16;\n"},{name:"@airgap/beacon-wallet/client/WalletClient.d.ts",dts:"import { Client } from '@airgap/beacon-core';\nimport { ExposedPromise } from '@airgap/beacon-utils';\nimport { ConnectionContext, ExtendedP2PPairingResponse, PeerInfo, TransportType, BeaconRequestOutputMessage, BeaconResponseInputMessage, AppMetadata, PermissionInfo, PushToken } from '@airgap/beacon-types';\nimport { WalletClientOptions } from './WalletClientOptions';\n/**\n * @publicapi\n *\n * The WalletClient has to be used in the wallet. It handles all the logic related to connecting to beacon-compatible\n * dapps and handling/responding to requests.\n *\n * @category Wallet\n */\nexport declare class WalletClient extends Client {\n /**\n * Returns whether or not the transport is connected\n */\n protected readonly _isConnected: ExposedPromise;\n get isConnected(): Promise;\n private readonly permissionManager;\n private readonly appMetadataManager;\n /**\n * This array stores pending requests, meaning requests we received and have not yet handled / sent a response.\n */\n private pendingRequests;\n constructor(config: WalletClientOptions);\n init(): Promise;\n /**\n * This method initiates a connection to the P2P network and registers a callback that will be called\n * whenever a message is received.\n *\n * @param newMessageCallback The callback that will be invoked for every message the transport receives.\n */\n connect(newMessageCallback: (message: BeaconRequestOutputMessage, connectionContext: ConnectionContext) => void): Promise;\n getRegisterPushChallenge(backendUrl: string, accountPublicKey: string, oracleUrl?: string): Promise<{\n challenge: {\n id: string;\n timestamp: string;\n };\n payloadToSign: string;\n }>;\n registerPush(challenge: {\n id: string;\n timestamp: string;\n }, signature: string, backendUrl: string, accountPublicKey: string, protocolIdentifier: string, deviceId: string, oracleUrl?: string): Promise;\n /**\n * The method will attempt to initiate a connection using the active transport.\n */\n _connect(): Promise;\n /**\n * This method sends a response for a specific request back to the DApp\n *\n * @param message The BeaconResponseMessage that will be sent back to the DApp\n */\n respond(message: BeaconResponseInputMessage): Promise;\n getAppMetadataList(): Promise;\n getAppMetadata(senderId: string): Promise;\n removeAppMetadata(senderId: string): Promise;\n removeAllAppMetadata(): Promise;\n getPermissions(): Promise;\n getPermission(accountIdentifier: string): Promise;\n removePermission(accountIdentifier: string): Promise;\n removeAllPermissions(): Promise;\n /**\n * Add a new peer to the known peers\n * @param peer The new peer to add\n */\n addPeer(peer: PeerInfo, sendPairingResponse?: boolean): Promise;\n removePeer(peer: ExtendedP2PPairingResponse, sendDisconnectToPeer?: boolean): Promise;\n removeAllPeers(sendDisconnectToPeers?: boolean): Promise;\n private removePermissionsForPeers;\n /**\n * Send an acknowledge message back to the sender\n *\n * @param message The message that was received\n */\n private sendAcknowledgeResponse;\n /**\n * An internal method to send a BeaconMessage to the DApp\n *\n * @param response Send a message back to the DApp\n */\n private respondToMessage;\n private disconnect;\n}\n"},{name:"@airgap/beacon-wallet/client/WalletClientOptions.d.ts",dts:"import { NodeDistributions, Storage } from '@airgap/beacon-types';\n/**\n * @category Wallet\n */\nexport interface WalletClientOptions {\n /**\n * Name of the application\n */\n name: string;\n /**\n * A URL to the icon of the application\n */\n iconUrl?: string;\n /**\n * A URL to the website of the application\n */\n appUrl?: string;\n /**\n * The storage that will be used by the SDK\n */\n storage?: Storage;\n /**\n * A list of matrix nodes to connect to. If a non-empty array is passed, the default options will be overwritten.\n * One node will be randomly selected based on the local keypair and the other nodes will be used as a fallback in case the primary node goes down.\n *\n * Only provide the hostname, no https:// prefix. Eg. { [Regions.EU1]: ['matrix.example.com'] }\n */\n matrixNodes?: NodeDistributions;\n}\n"},{name:"@airgap/beacon-wallet/interceptors/IncomingRequestInterceptor.d.ts",dts:"import { BeaconRequestOutputMessage, ConnectionContext, BeaconRequestMessage, BeaconMessageWrapper, BeaconBaseMessage } from '@airgap/beacon-types';\nimport { AppMetadataManager } from '@airgap/beacon-core';\ninterface IncomingRequestInterceptorOptions {\n message: BeaconRequestMessage | BeaconMessageWrapper;\n connectionInfo: ConnectionContext;\n appMetadataManager: AppMetadataManager;\n interceptorCallback(message: BeaconRequestOutputMessage, connectionInfo: ConnectionContext): void;\n}\n/**\n * @internalapi\n *\n * The IncomingRequestInterceptor is used in the WalletClient to intercept an incoming request and enrich it with data, like app metadata.\n */\nexport declare class IncomingRequestInterceptor {\n /**\n * The method that is called during the interception\n *\n * @param config\n */\n static intercept(config: IncomingRequestInterceptorOptions): Promise;\n private static getAppMetadata;\n private static handleV2Message;\n private static handleV3Message;\n}\nexport {};\n"},{name:"@airgap/beacon-wallet/interceptors/OutgoingResponseInterceptor.d.ts",dts:"import { AppMetadataManager, PermissionManager } from '@airgap/beacon-core';\nimport { BeaconMessage, BeaconResponseInputMessage, AppMetadata, BeaconRequestMessage, BeaconMessageWrapper, BeaconBaseMessage } from '@airgap/beacon-types';\ninterface OutgoingResponseInterceptorOptions {\n senderId: string;\n request: BeaconRequestMessage | BeaconMessageWrapper;\n message: BeaconResponseInputMessage;\n ownAppMetadata: AppMetadata;\n permissionManager: PermissionManager;\n appMetadataManager: AppMetadataManager;\n interceptorCallback(message: BeaconMessage): void;\n}\n/**\n * @internalapi\n *\n * The OutgoingResponseInterceptor is used in the WalletClient to intercept an outgoing response and enrich it with data.\n */\nexport declare class OutgoingResponseInterceptor {\n static intercept(config: OutgoingResponseInterceptorOptions): Promise;\n private static handleV3Message;\n private static handleV2Message;\n}\nexport {};\n"},{name:"@airgap/beacon-wallet/transports/WalletP2PTransport.d.ts",dts:"import { Storage, StorageKey, P2PPairingRequest, NodeDistributions } from '@airgap/beacon-types';\nimport { P2PTransport } from '@airgap/beacon-transport-matrix';\nimport { KeyPair } from '@stablelib/ed25519';\n/**\n * @internalapi\n *\n *\n */\nexport declare class WalletP2PTransport extends P2PTransport {\n constructor(name: string, keyPair: KeyPair, storage: Storage, matrixNodes: NodeDistributions, iconUrl?: string, appUrl?: string);\n addPeer(newPeer: P2PPairingRequest, sendPairingResponse?: boolean): Promise;\n}\n"},{name:"@airgap/beacon-wallet/transports/WalletPostMessageTransport.d.ts",dts:"import { StorageKey, Storage, PostMessagePairingRequest } from '@airgap/beacon-types';\nimport { PostMessageTransport } from '@airgap/beacon-transport-postmessage';\nimport { KeyPair } from '@stablelib/ed25519';\n/**\n * @internalapi\n *\n *\n */\nexport declare class WalletPostMessageTransport extends PostMessageTransport {\n constructor(name: string, keyPair: KeyPair, storage: Storage);\n}\n"},{name:"@airgap/beacon-wallet/index.d.ts",dts:"export * from '@airgap/beacon-core';\nexport * from '@airgap/beacon-transport-matrix';\nexport * from '@airgap/beacon-types';\nexport * from '@airgap/beacon-utils';\nimport { WalletClient } from './client/WalletClient';\nimport { WalletClientOptions } from './client/WalletClientOptions';\nexport { WalletClient, WalletClientOptions };\n"},{name:"@airgap/beacon-wallet/dist/esm/client/WalletClient.d.ts",dts:"import { Client } from '@airgap/beacon-core';\nimport { ExposedPromise } from '@airgap/beacon-utils';\nimport { ConnectionContext, ExtendedP2PPairingResponse, PeerInfo, TransportType, BeaconRequestOutputMessage, BeaconResponseInputMessage, AppMetadata, PermissionInfo, PushToken } from '@airgap/beacon-types';\nimport { WalletClientOptions } from './WalletClientOptions';\n/**\n * @publicapi\n *\n * The WalletClient has to be used in the wallet. It handles all the logic related to connecting to beacon-compatible\n * dapps and handling/responding to requests.\n *\n * @category Wallet\n */\nexport declare class WalletClient extends Client {\n /**\n * Returns whether or not the transport is connected\n */\n protected readonly _isConnected: ExposedPromise;\n get isConnected(): Promise;\n private readonly permissionManager;\n private readonly appMetadataManager;\n /**\n * This array stores pending requests, meaning requests we received and have not yet handled / sent a response.\n */\n private pendingRequests;\n constructor(config: WalletClientOptions);\n init(): Promise;\n /**\n * This method initiates a connection to the P2P network and registers a callback that will be called\n * whenever a message is received.\n *\n * @param newMessageCallback The callback that will be invoked for every message the transport receives.\n */\n connect(newMessageCallback: (message: BeaconRequestOutputMessage, connectionContext: ConnectionContext) => void): Promise;\n getRegisterPushChallenge(backendUrl: string, accountPublicKey: string, oracleUrl?: string): Promise<{\n challenge: {\n id: string;\n timestamp: string;\n };\n payloadToSign: string;\n }>;\n registerPush(challenge: {\n id: string;\n timestamp: string;\n }, signature: string, backendUrl: string, accountPublicKey: string, protocolIdentifier: string, deviceId: string, oracleUrl?: string): Promise;\n /**\n * The method will attempt to initiate a connection using the active transport.\n */\n _connect(): Promise;\n /**\n * This method sends a response for a specific request back to the DApp\n *\n * @param message The BeaconResponseMessage that will be sent back to the DApp\n */\n respond(message: BeaconResponseInputMessage): Promise;\n getAppMetadataList(): Promise;\n getAppMetadata(senderId: string): Promise;\n removeAppMetadata(senderId: string): Promise;\n removeAllAppMetadata(): Promise;\n getPermissions(): Promise;\n getPermission(accountIdentifier: string): Promise;\n removePermission(accountIdentifier: string): Promise;\n removeAllPermissions(): Promise;\n /**\n * Add a new peer to the known peers\n * @param peer The new peer to add\n */\n addPeer(peer: PeerInfo, sendPairingResponse?: boolean): Promise;\n removePeer(peer: ExtendedP2PPairingResponse, sendDisconnectToPeer?: boolean): Promise;\n removeAllPeers(sendDisconnectToPeers?: boolean): Promise;\n private removePermissionsForPeers;\n /**\n * Send an acknowledge message back to the sender\n *\n * @param message The message that was received\n */\n private sendAcknowledgeResponse;\n /**\n * An internal method to send a BeaconMessage to the DApp\n *\n * @param response Send a message back to the DApp\n */\n private respondToMessage;\n private disconnect;\n}\n"},{name:"@airgap/beacon-wallet/dist/esm/client/WalletClientOptions.d.ts",dts:"import { NodeDistributions, Storage } from '@airgap/beacon-types';\n/**\n * @category Wallet\n */\nexport interface WalletClientOptions {\n /**\n * Name of the application\n */\n name: string;\n /**\n * A URL to the icon of the application\n */\n iconUrl?: string;\n /**\n * A URL to the website of the application\n */\n appUrl?: string;\n /**\n * The storage that will be used by the SDK\n */\n storage?: Storage;\n /**\n * A list of matrix nodes to connect to. If a non-empty array is passed, the default options will be overwritten.\n * One node will be randomly selected based on the local keypair and the other nodes will be used as a fallback in case the primary node goes down.\n *\n * Only provide the hostname, no https:// prefix. Eg. { [Regions.EU1]: ['matrix.example.com'] }\n */\n matrixNodes?: NodeDistributions;\n}\n"},{name:"@airgap/beacon-wallet/dist/esm/interceptors/IncomingRequestInterceptor.d.ts",dts:"import { BeaconRequestOutputMessage, ConnectionContext, BeaconRequestMessage, BeaconMessageWrapper, BeaconBaseMessage } from '@airgap/beacon-types';\nimport { AppMetadataManager } from '@airgap/beacon-core';\ninterface IncomingRequestInterceptorOptions {\n message: BeaconRequestMessage | BeaconMessageWrapper;\n connectionInfo: ConnectionContext;\n appMetadataManager: AppMetadataManager;\n interceptorCallback(message: BeaconRequestOutputMessage, connectionInfo: ConnectionContext): void;\n}\n/**\n * @internalapi\n *\n * The IncomingRequestInterceptor is used in the WalletClient to intercept an incoming request and enrich it with data, like app metadata.\n */\nexport declare class IncomingRequestInterceptor {\n /**\n * The method that is called during the interception\n *\n * @param config\n */\n static intercept(config: IncomingRequestInterceptorOptions): Promise;\n private static getAppMetadata;\n private static handleV2Message;\n private static handleV3Message;\n}\nexport {};\n"},{name:"@airgap/beacon-wallet/dist/esm/interceptors/OutgoingResponseInterceptor.d.ts",dts:"import { AppMetadataManager, PermissionManager } from '@airgap/beacon-core';\nimport { BeaconMessage, BeaconResponseInputMessage, AppMetadata, BeaconRequestMessage, BeaconMessageWrapper, BeaconBaseMessage } from '@airgap/beacon-types';\ninterface OutgoingResponseInterceptorOptions {\n senderId: string;\n request: BeaconRequestMessage | BeaconMessageWrapper;\n message: BeaconResponseInputMessage;\n ownAppMetadata: AppMetadata;\n permissionManager: PermissionManager;\n appMetadataManager: AppMetadataManager;\n interceptorCallback(message: BeaconMessage): void;\n}\n/**\n * @internalapi\n *\n * The OutgoingResponseInterceptor is used in the WalletClient to intercept an outgoing response and enrich it with data.\n */\nexport declare class OutgoingResponseInterceptor {\n static intercept(config: OutgoingResponseInterceptorOptions): Promise;\n private static handleV3Message;\n private static handleV2Message;\n}\nexport {};\n"},{name:"@airgap/beacon-wallet/dist/esm/transports/WalletP2PTransport.d.ts",dts:"import { Storage, StorageKey, P2PPairingRequest, NodeDistributions } from '@airgap/beacon-types';\nimport { P2PTransport } from '@airgap/beacon-transport-matrix';\nimport { KeyPair } from '@stablelib/ed25519';\n/**\n * @internalapi\n *\n *\n */\nexport declare class WalletP2PTransport extends P2PTransport {\n constructor(name: string, keyPair: KeyPair, storage: Storage, matrixNodes: NodeDistributions, iconUrl?: string, appUrl?: string);\n addPeer(newPeer: P2PPairingRequest, sendPairingResponse?: boolean): Promise;\n}\n"},{name:"@airgap/beacon-wallet/dist/esm/transports/WalletPostMessageTransport.d.ts",dts:"import { StorageKey, Storage, PostMessagePairingRequest } from '@airgap/beacon-types';\nimport { PostMessageTransport } from '@airgap/beacon-transport-postmessage';\nimport { KeyPair } from '@stablelib/ed25519';\n/**\n * @internalapi\n *\n *\n */\nexport declare class WalletPostMessageTransport extends PostMessageTransport {\n constructor(name: string, keyPair: KeyPair, storage: Storage);\n}\n"},{name:"@airgap/beacon-wallet/dist/esm/index.d.ts",dts:"export * from '@airgap/beacon-core';\nexport * from '@airgap/beacon-transport-matrix';\nexport * from '@airgap/beacon-types';\nexport * from '@airgap/beacon-utils';\nimport { WalletClient } from './client/WalletClient';\nimport { WalletClientOptions } from './client/WalletClientOptions';\nexport { WalletClient, WalletClientOptions };\n"},{name:"@taquito/beacon-wallet/dist/types/errors.d.ts",dts:"import { PermissionScope } from '@airgap/beacon-dapp';\r\nimport { PermissionDeniedError } from '@taquito/core';\r\n/**\r\n * @category Error\r\n * @description Error that indicates the Beacon wallet not being initialized\r\n */\r\nexport declare class BeaconWalletNotInitialized extends PermissionDeniedError {\r\n constructor();\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates missing required persmission scopes\r\n */\r\nexport declare class MissingRequiredScopes extends PermissionDeniedError {\r\n readonly requiredScopes: PermissionScope[];\r\n constructor(requiredScopes: PermissionScope[]);\r\n}\r\n"},{name:"@taquito/beacon-wallet/dist/types/taquito-beacon-wallet.d.ts",dts:"/**\r\n * @packageDocumentation\r\n * @module @taquito/beacon-wallet\r\n */\r\nimport { DAppClient, DAppClientOptions, RequestPermissionInput } from '@airgap/beacon-dapp';\r\nimport { WalletDelegateParams, WalletIncreasePaidStorageParams, WalletOriginateParams, WalletProvider, WalletTransferParams } from '@taquito/taquito';\r\nexport { VERSION } from './version';\r\nexport { BeaconWalletNotInitialized, MissingRequiredScopes } from './errors';\r\nexport declare class BeaconWallet implements WalletProvider {\r\n client: DAppClient;\r\n constructor(options: DAppClientOptions);\r\n private validateRequiredScopesOrFail;\r\n requestPermissions(request?: RequestPermissionInput): Promise;\r\n getPKH(): Promise;\r\n mapTransferParamsToWalletParams(params: () => Promise): Promise;\r\n mapIncreasePaidStorageWalletParams(params: () => Promise): Promise;\r\n mapOriginateParamsToWalletParams(params: () => Promise): Promise;\r\n mapDelegateParamsToWalletParams(params: () => Promise): Promise;\r\n formatParameters(params: any): any;\r\n removeDefaultParams(params: WalletTransferParams | WalletOriginateParams | WalletDelegateParams, operatedParams: any): any;\r\n sendOperations(params: any[]): Promise;\r\n /**\r\n *\r\n * @description Removes all beacon values from the storage. After using this method, this instance is no longer usable.\r\n * You will have to instantiate a new BeaconWallet.\r\n */\r\n disconnect(): Promise;\r\n /**\r\n *\r\n * @description This method removes the active account from local storage by setting it to undefined.\r\n */\r\n clearActiveAccount(): Promise;\r\n sign(bytes: string, watermark?: Uint8Array): Promise;\r\n private getSigningType;\r\n getPK(): Promise;\r\n}\r\n"},{name:"@taquito/beacon-wallet/dist/types/version.d.ts",dts:"export declare const VERSION: {\r\n commitHash: string;\r\n version: string;\r\n};\r\n"},{name:"@taquito/core/dist/types/errors.d.ts",dts:"/**\r\n * @category Error\r\n * @description Parent error class all taquito errors to extend from\r\n */\r\nexport declare class TaquitoError extends Error {\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates invalid user inputs\r\n */\r\nexport declare class ParameterValidationError extends TaquitoError {\r\n}\r\n/**\r\n * @category Error\r\n * @description Error returned by RPC node\r\n */\r\nexport declare class RpcError extends TaquitoError {\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates TezosToolKit has not been configured appropriately\r\n */\r\nexport declare class TezosToolkitConfigError extends TaquitoError {\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates a requested action is not supported by Taquito\r\n */\r\nexport declare class UnsupportedActionError extends TaquitoError {\r\n}\r\n/**\r\n * @category Error\r\n * @description Error during a network operation\r\n */\r\nexport declare class NetworkError extends TaquitoError {\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates user attempts an action without necessary permissions\r\n */\r\nexport declare class PermissionDeniedError extends TaquitoError {\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates an invalid originated or implicit address being passed or used\r\n */\r\nexport declare class InvalidAddressError extends ParameterValidationError {\r\n readonly address: string;\r\n readonly errorDetail?: string | undefined;\r\n constructor(address: string, errorDetail?: string | undefined);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates an invalid block hash being passed or used\r\n */\r\nexport declare class InvalidBlockHashError extends ParameterValidationError {\r\n readonly blockHash: string;\r\n readonly errorDetail?: string | undefined;\r\n constructor(blockHash: string, errorDetail?: string | undefined);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates an invalid amount of tez being passed as a parameter\r\n */\r\nexport declare class InvalidAmountError extends ParameterValidationError {\r\n readonly amount: string;\r\n constructor(amount: string);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates an invalid derivation path being passed or used\r\n */\r\nexport declare class InvalidDerivationPathError extends ParameterValidationError {\r\n readonly derivationPath: string;\r\n readonly errorDetail?: string | undefined;\r\n constructor(derivationPath: string, errorDetail?: string | undefined);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates an invalid hex string have been passed or used\r\n */\r\nexport declare class InvalidHexStringError extends ParameterValidationError {\r\n readonly hexString: string;\r\n readonly errorDetail?: string | undefined;\r\n constructor(hexString: string, errorDetail?: string | undefined);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates an invalid message being passed or used\r\n */\r\nexport declare class InvalidMessageError extends ParameterValidationError {\r\n readonly msg: string;\r\n readonly errorDetail?: string | undefined;\r\n constructor(msg: string, errorDetail?: string | undefined);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates invalid view parameter of a smart contract\r\n */\r\nexport declare class InvalidViewParameterError extends ParameterValidationError {\r\n readonly viewName: string;\r\n readonly sigs: any;\r\n readonly args: any;\r\n readonly cause?: any;\r\n constructor(viewName: string, sigs: any, args: any, cause?: any);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates an invalid private key being passed or used\r\n */\r\nexport declare class InvalidKeyError extends ParameterValidationError {\r\n readonly errorDetail?: string | undefined;\r\n constructor(errorDetail?: string | undefined);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates an Invalid Public Key being passed or used\r\n */\r\nexport declare class InvalidPublicKeyError extends ParameterValidationError {\r\n readonly publicKey: string;\r\n readonly errorDetail?: string | undefined;\r\n constructor(publicKey: string, errorDetail?: string | undefined);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates an invalid signature being passed or used\r\n */\r\nexport declare class InvalidSignatureError extends ParameterValidationError {\r\n readonly signature: string;\r\n readonly errorDetail?: string | undefined;\r\n constructor(signature: string, errorDetail?: string | undefined);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates an invalid contract address being passed or used\r\n */\r\nexport declare class InvalidContractAddressError extends ParameterValidationError {\r\n readonly contractAddress: string;\r\n readonly errorDetail?: string | undefined;\r\n constructor(contractAddress: string, errorDetail?: string | undefined);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates an invalid chain id being passed or used\r\n */\r\nexport declare class InvalidChainIdError extends ParameterValidationError {\r\n readonly chainId: string;\r\n readonly errorDetail?: string | undefined;\r\n constructor(chainId: string, errorDetail?: string | undefined);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates an invalid public key hash being passed or used\r\n */\r\nexport declare class InvalidKeyHashError extends ParameterValidationError {\r\n readonly keyHash: string;\r\n readonly errorDetail?: string | undefined;\r\n constructor(keyHash: string, errorDetail?: string | undefined);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates an invalid operation hash being passed or used\r\n */\r\nexport declare class InvalidOperationHashError extends ParameterValidationError {\r\n readonly operationHash: string;\r\n readonly errorDetail?: string | undefined;\r\n constructor(operationHash: string, errorDetail?: string | undefined);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates an invalid operation kind being passed or used\r\n */\r\nexport declare class InvalidOperationKindError extends ParameterValidationError {\r\n readonly operationKind: string;\r\n readonly errorDetail?: string | undefined;\r\n constructor(operationKind: string, errorDetail?: string | undefined);\r\n}\r\n/**\r\n * @category Error\r\n * @description General error that indicates something is no longer supported and/or deprecated\r\n */\r\nexport declare class DeprecationError extends UnsupportedActionError {\r\n readonly message: string;\r\n constructor(message: string);\r\n}\r\n/**\r\n * @category Error\r\n * @description General error that indicates an action is prohibited or not allowed\r\n */\r\nexport declare class ProhibitedActionError extends UnsupportedActionError {\r\n readonly message: string;\r\n constructor(message: string);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure in grabbing the public key\r\n */\r\nexport declare class PublicKeyNotFoundError extends TaquitoError {\r\n readonly pkh: string;\r\n readonly cause?: any;\r\n constructor(pkh: string, cause?: any);\r\n}\r\n"},{name:"@taquito/core/dist/types/taquito-core.d.ts",dts:"/**\r\n * @packageDocumentation\r\n * @module @taquito/core\r\n */\r\nexport * from './errors';\r\n"},{name:"@taquito/core/dist/types/version.d.ts",dts:"export declare const VERSION: {\r\n commitHash: string;\r\n version: string;\r\n};\r\n"},{name:"@taquito/http-utils/dist/types/errors.d.ts",dts:"import { NetworkError } from '@taquito/core';\r\nimport { STATUS_CODE } from './status_code';\r\n/**\r\n * @category Error\r\n * @description Error that indicates a general failure in making the HTTP request\r\n */\r\nexport declare class HttpRequestFailed extends NetworkError {\r\n readonly method: string;\r\n readonly url: string;\r\n readonly cause: Error;\r\n constructor(method: string, url: string, cause: Error);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error thrown when the endpoint returns an HTTP error to the client\r\n */\r\nexport declare class HttpResponseError extends NetworkError {\r\n readonly message: string;\r\n readonly status: STATUS_CODE;\r\n readonly statusText: string;\r\n readonly body: string;\r\n readonly url: string;\r\n constructor(message: string, status: STATUS_CODE, statusText: string, body: string, url: string);\r\n}\r\n"},{name:"@taquito/http-utils/dist/types/fetch-adapter.d.ts",dts:"import { AxiosRequestConfig, AxiosResponse } from 'axios';\r\n/**\r\n * - Create a request object\r\n * - Get response body\r\n * - Check if timeout\r\n */\r\nexport default function fetchAdapter(config: AxiosRequestConfig): Promise;\r\n"},{name:"@taquito/http-utils/dist/types/status_code.d.ts",dts:'/**\r\n * Hypertext Transfer Protocol (HTTP) response status codes.\r\n * @see {@link https://en.wikipedia.org/wiki/List_of_HTTP_status_codes}\r\n */\r\nexport declare enum STATUS_CODE {\r\n /**\r\n * The server has received the request headers and the client should proceed to send the request body\r\n * (in the case of a request for which a body needs to be sent; for example, a POST request).\r\n * Sending a large request body to a server after a request has been rejected for inappropriate headers would be inefficient.\r\n * To have a server check the request\'s headers, a client must send Expect: 100-continue as a header in its initial request\r\n * and receive a 100 Continue status code in response before sending the body. The response 417 Expectation Failed indicates the request should not be continued.\r\n */\r\n CONTINUE = 100,\r\n /**\r\n * The requester has asked the server to switch protocols and the server has agreed to do so.\r\n */\r\n SWITCHING_PROTOCOLS = 101,\r\n /**\r\n * A WebDAV request may contain many sub-requests involving file operations, requiring a long time to complete the request.\r\n * This code indicates that the server has received and is processing the request, but no response is available yet.\r\n * This prevents the client from timing out and assuming the request was lost.\r\n */\r\n PROCESSING = 102,\r\n /**\r\n * Standard response for successful HTTP requests.\r\n * The actual response will depend on the request method used.\r\n * In a GET request, the response will contain an entity corresponding to the requested resource.\r\n * In a POST request, the response will contain an entity describing or containing the result of the action.\r\n */\r\n OK = 200,\r\n /**\r\n * The request has been fulfilled, resulting in the creation of a new resource.\r\n */\r\n CREATED = 201,\r\n /**\r\n * The request has been accepted for processing, but the processing has not been completed.\r\n * The request might or might not be eventually acted upon, and may be disallowed when processing occurs.\r\n */\r\n ACCEPTED = 202,\r\n /**\r\n * SINCE HTTP/1.1\r\n * The server is a transforming proxy that received a 200 OK from its origin,\r\n * but is returning a modified version of the origin\'s response.\r\n */\r\n NON_AUTHORITATIVE_INFORMATION = 203,\r\n /**\r\n * The server successfully processed the request and is not returning any content.\r\n */\r\n NO_CONTENT = 204,\r\n /**\r\n * The server successfully processed the request, but is not returning any content.\r\n * Unlike a 204 response, this response requires that the requester reset the document view.\r\n */\r\n RESET_CONTENT = 205,\r\n /**\r\n * The server is delivering only part of the resource (byte serving) due to a range header sent by the client.\r\n * The range header is used by HTTP clients to enable resuming of interrupted downloads,\r\n * or split a download into multiple simultaneous streams.\r\n */\r\n PARTIAL_CONTENT = 206,\r\n /**\r\n * The message body that follows is an XML message and can contain a number of separate response codes,\r\n * depending on how many sub-requests were made.\r\n */\r\n MULTI_STATUS = 207,\r\n /**\r\n * The members of a DAV binding have already been enumerated in a preceding part of the (multistatus) response,\r\n * and are not being included again.\r\n */\r\n ALREADY_REPORTED = 208,\r\n /**\r\n * The server has fulfilled a request for the resource,\r\n * and the response is a representation of the result of one or more instance-manipulations applied to the current instance.\r\n */\r\n IM_USED = 226,\r\n /**\r\n * Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation).\r\n * For example, this code could be used to present multiple video format options,\r\n * to list files with different filename extensions, or to suggest word-sense disambiguation.\r\n */\r\n MULTIPLE_CHOICES = 300,\r\n /**\r\n * This and all future requests should be directed to the given URI.\r\n */\r\n MOVED_PERMANENTLY = 301,\r\n /**\r\n * This is an example of industry practice contradicting the standard.\r\n * The HTTP/1.0 specification (RFC 1945) required the client to perform a temporary redirect\r\n * (the original describing phrase was "Moved Temporarily"), but popular browsers implemented 302\r\n * with the functionality of a 303 See Other. Therefore, HTTP/1.1 added status codes 303 and 307\r\n * to distinguish between the two behaviours. However, some Web applications and frameworks\r\n * use the 302 status code as if it were the 303.\r\n */\r\n FOUND = 302,\r\n /**\r\n * SINCE HTTP/1.1\r\n * The response to the request can be found under another URI using a GET method.\r\n * When received in response to a POST (or PUT/DELETE), the client should presume that\r\n * the server has received the data and should issue a redirect with a separate GET message.\r\n */\r\n SEE_OTHER = 303,\r\n /**\r\n * Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match.\r\n * In such case, there is no need to retransmit the resource since the client still has a previously-downloaded copy.\r\n */\r\n NOT_MODIFIED = 304,\r\n /**\r\n * SINCE HTTP/1.1\r\n * The requested resource is available only through a proxy, the address for which is provided in the response.\r\n * Many HTTP clients (such as Mozilla and Internet Explorer) do not correctly handle responses with this status code, primarily for security reasons.\r\n */\r\n USE_PROXY = 305,\r\n /**\r\n * No longer used. Originally meant "Subsequent requests should use the specified proxy."\r\n */\r\n SWITCH_PROXY = 306,\r\n /**\r\n * SINCE HTTP/1.1\r\n * In this case, the request should be repeated with another URI; however, future requests should still use the original URI.\r\n * In contrast to how 302 was historically implemented, the request method is not allowed to be changed when reissuing the original request.\r\n * For example, a POST request should be repeated using another POST request.\r\n */\r\n TEMPORARY_REDIRECT = 307,\r\n /**\r\n * The request and all future requests should be repeated using another URI.\r\n * 307 and 308 parallel the behaviors of 302 and 301, but do not allow the HTTP method to change.\r\n * So, for example, submitting a form to a permanently redirected resource may continue smoothly.\r\n */\r\n PERMANENT_REDIRECT = 308,\r\n /**\r\n * The server cannot or will not process the request due to an apparent client error\r\n * (e.g., malformed request syntax, too large size, invalid request message framing, or deceptive request routing).\r\n */\r\n BAD_REQUEST = 400,\r\n /**\r\n * Similar to 403 Forbidden, but specifically for use when authentication is required and has failed or has not yet\r\n * been provided. The response must include a WWW-Authenticate header field containing a challenge applicable to the\r\n * requested resource. See Basic access authentication and Digest access authentication. 401 semantically means\r\n * "unauthenticated",i.e. the user does not have the necessary credentials.\r\n */\r\n UNAUTHORIZED = 401,\r\n /**\r\n * Reserved for future use. The original intention was that this code might be used as part of some form of digital\r\n * cash or micro payment scheme, but that has not happened, and this code is not usually used.\r\n * Google Developers API uses this status if a particular developer has exceeded the daily limit on requests.\r\n */\r\n PAYMENT_REQUIRED = 402,\r\n /**\r\n * The request was valid, but the server is refusing action.\r\n * The user might not have the necessary permissions for a resource.\r\n */\r\n FORBIDDEN = 403,\r\n /**\r\n * The requested resource could not be found but may be available in the future.\r\n * Subsequent requests by the client are permissible.\r\n */\r\n NOT_FOUND = 404,\r\n /**\r\n * A request method is not supported for the requested resource;\r\n * for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource.\r\n */\r\n METHOD_NOT_ALLOWED = 405,\r\n /**\r\n * The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request.\r\n */\r\n NOT_ACCEPTABLE = 406,\r\n /**\r\n * The client must first authenticate itself with the proxy.\r\n */\r\n PROXY_AUTHENTICATION_REQUIRED = 407,\r\n /**\r\n * The server timed out waiting for the request.\r\n * According to HTTP specifications:\r\n * "The client did not produce a request within the time that the server was prepared to wait. The client MAY repeat the request without modifications at any later time."\r\n */\r\n REQUEST_TIMEOUT = 408,\r\n /**\r\n * Indicates that the request could not be processed because of conflict in the request,\r\n * such as an edit conflict between multiple simultaneous updates.\r\n */\r\n CONFLICT = 409,\r\n /**\r\n * Indicates that the resource requested is no longer available and will not be available again.\r\n * This should be used when a resource has been intentionally removed and the resource should be purged.\r\n * Upon receiving a 410 status code, the client should not request the resource in the future.\r\n * Clients such as search engines should remove the resource from their indices.\r\n * Most use cases do not require clients and search engines to purge the resource, and a "404 Not Found" may be used instead.\r\n */\r\n GONE = 410,\r\n /**\r\n * The request did not specify the length of its content, which is required by the requested resource.\r\n */\r\n LENGTH_REQUIRED = 411,\r\n /**\r\n * The server does not meet one of the preconditions that the requester put on the request.\r\n */\r\n PRECONDITION_FAILED = 412,\r\n /**\r\n * The request is larger than the server is willing or able to process. Previously called "Request Entity Too Large".\r\n */\r\n PAYLOAD_TOO_LARGE = 413,\r\n /**\r\n * The URI provided was too long for the server to process. Often the result of too much data being encoded as a query-string of a GET request,\r\n * in which case it should be converted to a POST request.\r\n * Called "Request-URI Too Long" previously.\r\n */\r\n URI_TOO_LONG = 414,\r\n /**\r\n * The request entity has a media type which the server or resource does not support.\r\n * For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format.\r\n */\r\n UNSUPPORTED_MEDIA_TYPE = 415,\r\n /**\r\n * The client has asked for a portion of the file (byte serving), but the server cannot supply that portion.\r\n * For example, if the client asked for a part of the file that lies beyond the end of the file.\r\n * Called "Requested Range Not Satisfiable" previously.\r\n */\r\n RANGE_NOT_SATISFIABLE = 416,\r\n /**\r\n * The server cannot meet the requirements of the Expect request-header field.\r\n */\r\n EXPECTATION_FAILED = 417,\r\n /**\r\n * This code was defined in 1998 as one of the traditional IETF April Fools\' jokes, in RFC 2324, Hyper Text Coffee Pot Control Protocol,\r\n * and is not expected to be implemented by actual HTTP servers. The RFC specifies this code should be returned by\r\n * teapots requested to brew coffee. This HTTP status is used as an Easter egg in some websites, including Google.com.\r\n */\r\n I_AM_A_TEAPOT = 418,\r\n /**\r\n * The request was directed at a server that is not able to produce a response (for example because a connection reuse).\r\n */\r\n MISDIRECTED_REQUEST = 421,\r\n /**\r\n * The request was well-formed but was unable to be followed due to semantic errors.\r\n */\r\n UNPROCESSABLE_ENTITY = 422,\r\n /**\r\n * The resource that is being accessed is locked.\r\n */\r\n LOCKED = 423,\r\n /**\r\n * The request failed due to failure of a previous request (e.g., a PROPPATCH).\r\n */\r\n FAILED_DEPENDENCY = 424,\r\n /**\r\n * The client should switch to a different protocol such as TLS/1.0, given in the Upgrade header field.\r\n */\r\n UPGRADE_REQUIRED = 426,\r\n /**\r\n * The origin server requires the request to be conditional.\r\n * Intended to prevent "the \'lost update\' problem, where a client\r\n * GETs a resource\'s state, modifies it, and PUTs it back to the server,\r\n * when meanwhile a third party has modified the state on the server, leading to a conflict."\r\n */\r\n PRECONDITION_REQUIRED = 428,\r\n /**\r\n * The user has sent too many requests in a given amount of time. Intended for use with rate-limiting schemes.\r\n */\r\n TOO_MANY_REQUESTS = 429,\r\n /**\r\n * The server is unwilling to process the request because either an individual header field,\r\n * or all the header fields collectively, are too large.\r\n */\r\n REQUEST_HEADER_FIELDS_TOO_LARGE = 431,\r\n /**\r\n * A server operator has received a legal demand to deny access to a resource or to a set of resources\r\n * that includes the requested resource. The code 451 was chosen as a reference to the novel Fahrenheit 451.\r\n */\r\n UNAVAILABLE_FOR_LEGAL_REASONS = 451,\r\n /**\r\n * A generic error message, given when an unexpected condition was encountered and no more specific message is suitable.\r\n */\r\n INTERNAL_SERVER_ERROR = 500,\r\n /**\r\n * The server either does not recognize the request method, or it lacks the ability to fulfill the request.\r\n * Usually this implies future availability (e.g., a new feature of a web-service API).\r\n */\r\n NOT_IMPLEMENTED = 501,\r\n /**\r\n * The server was acting as a gateway or proxy and received an invalid response from the upstream server.\r\n */\r\n BAD_GATEWAY = 502,\r\n /**\r\n * The server is currently unavailable (because it is overloaded or down for maintenance).\r\n * Generally, this is a temporary state.\r\n */\r\n SERVICE_UNAVAILABLE = 503,\r\n /**\r\n * The server was acting as a gateway or proxy and did not receive a timely response from the upstream server.\r\n */\r\n GATEWAY_TIMEOUT = 504,\r\n /**\r\n * The server does not support the HTTP protocol version used in the request\r\n */\r\n HTTP_VERSION_NOT_SUPPORTED = 505,\r\n /**\r\n * Transparent content negotiation for the request results in a circular reference.\r\n */\r\n VARIANT_ALSO_NEGOTIATES = 506,\r\n /**\r\n * The server is unable to store the representation needed to complete the request.\r\n */\r\n INSUFFICIENT_STORAGE = 507,\r\n /**\r\n * The server detected an infinite loop while processing the request.\r\n */\r\n LOOP_DETECTED = 508,\r\n /**\r\n * Further extensions to the request are required for the server to fulfill it.\r\n */\r\n NOT_EXTENDED = 510,\r\n /**\r\n * The client needs to authenticate to gain network access.\r\n * Intended for use by intercepting proxies used to control access to the network (e.g., "captive portals" used\r\n * to require agreement to Terms of Service before granting full Internet access via a Wi-Fi hotspot).\r\n */\r\n NETWORK_AUTHENTICATION_REQUIRED = 511\r\n}\r\n'},{name:"@taquito/http-utils/dist/types/taquito-http-utils.d.ts",dts:"/**\r\n * @packageDocumentation\r\n * @module @taquito/http-utils\r\n */\r\nexport * from './status_code';\r\nexport { VERSION } from './version';\r\nexport { HttpRequestFailed, HttpResponseError } from './errors';\r\ndeclare type ObjectType = Record;\r\nexport interface HttpRequestOptions {\r\n url: string;\r\n method?: 'GET' | 'POST';\r\n timeout?: number;\r\n json?: boolean;\r\n query?: ObjectType;\r\n headers?: {\r\n [key: string]: string;\r\n };\r\n mimeType?: string;\r\n}\r\nexport declare class HttpBackend {\r\n private timeout;\r\n constructor(timeout?: number);\r\n protected serialize(obj?: ObjectType): string;\r\n /**\r\n *\r\n * @param options contains options to be passed for the HTTP request (url, method and timeout)\r\n * @throws {@link HttpRequestFailed} | {@link HttpResponseError}\r\n */\r\n createRequest({ url, method, timeout, query, headers, json }: HttpRequestOptions, data?: object | string): Promise;\r\n}\r\n"},{name:"@taquito/http-utils/dist/types/version.d.ts",dts:"export declare const VERSION: {\r\n commitHash: string;\r\n version: string;\r\n};\r\n"},{name:"@taquito/http-utils/node_modules/axios/index.d.ts",dts:"// TypeScript Version: 3.0\n\nexport type AxiosRequestHeaders = Record;\n\nexport type AxiosResponseHeaders = Record & {\n \"set-cookie\"?: string[]\n};\n\nexport interface AxiosRequestTransformer {\n (data: any, headers?: AxiosRequestHeaders): any;\n}\n\nexport interface AxiosResponseTransformer {\n (data: any, headers?: AxiosResponseHeaders): any;\n}\n\nexport interface AxiosAdapter {\n (config: AxiosRequestConfig): AxiosPromise;\n}\n\nexport interface AxiosBasicCredentials {\n username: string;\n password: string;\n}\n\nexport interface AxiosProxyConfig {\n host: string;\n port: number;\n auth?: {\n username: string;\n password: string;\n };\n protocol?: string;\n}\n\nexport type Method =\n | 'get' | 'GET'\n | 'delete' | 'DELETE'\n | 'head' | 'HEAD'\n | 'options' | 'OPTIONS'\n | 'post' | 'POST'\n | 'put' | 'PUT'\n | 'patch' | 'PATCH'\n | 'purge' | 'PURGE'\n | 'link' | 'LINK'\n | 'unlink' | 'UNLINK';\n\nexport type ResponseType =\n | 'arraybuffer'\n | 'blob'\n | 'document'\n | 'json'\n | 'text'\n | 'stream';\n\n export type responseEncoding =\n | 'ascii' | 'ASCII'\n | 'ansi' | 'ANSI'\n | 'binary' | 'BINARY'\n | 'base64' | 'BASE64'\n | 'base64url' | 'BASE64URL'\n | 'hex' | 'HEX'\n | 'latin1' | 'LATIN1'\n | 'ucs-2' | 'UCS-2'\n | 'ucs2' | 'UCS2'\n | 'utf-8' | 'UTF-8'\n | 'utf8' | 'UTF8'\n | 'utf16le' | 'UTF16LE';\n\nexport interface TransitionalOptions {\n silentJSONParsing?: boolean;\n forcedJSONParsing?: boolean;\n clarifyTimeoutError?: boolean;\n}\n\nexport interface AxiosRequestConfig {\n url?: string;\n method?: Method;\n baseURL?: string;\n transformRequest?: AxiosRequestTransformer | AxiosRequestTransformer[];\n transformResponse?: AxiosResponseTransformer | AxiosResponseTransformer[];\n headers?: AxiosRequestHeaders;\n params?: any;\n paramsSerializer?: (params: any) => string;\n data?: D;\n timeout?: number;\n timeoutErrorMessage?: string;\n withCredentials?: boolean;\n adapter?: AxiosAdapter;\n auth?: AxiosBasicCredentials;\n responseType?: ResponseType;\n responseEncoding?: responseEncoding | string;\n xsrfCookieName?: string;\n xsrfHeaderName?: string;\n onUploadProgress?: (progressEvent: any) => void;\n onDownloadProgress?: (progressEvent: any) => void;\n maxContentLength?: number;\n validateStatus?: ((status: number) => boolean) | null;\n maxBodyLength?: number;\n maxRedirects?: number;\n socketPath?: string | null;\n httpAgent?: any;\n httpsAgent?: any;\n proxy?: AxiosProxyConfig | false;\n cancelToken?: CancelToken;\n decompress?: boolean;\n transitional?: TransitionalOptions;\n signal?: AbortSignal;\n insecureHTTPParser?: boolean;\n}\n\nexport interface HeadersDefaults {\n common: AxiosRequestHeaders;\n delete: AxiosRequestHeaders;\n get: AxiosRequestHeaders;\n head: AxiosRequestHeaders;\n post: AxiosRequestHeaders;\n put: AxiosRequestHeaders;\n patch: AxiosRequestHeaders;\n options?: AxiosRequestHeaders;\n purge?: AxiosRequestHeaders;\n link?: AxiosRequestHeaders;\n unlink?: AxiosRequestHeaders;\n}\n\nexport interface AxiosDefaults extends Omit, 'headers'> {\n headers: HeadersDefaults;\n}\n\nexport interface AxiosResponse {\n data: T;\n status: number;\n statusText: string;\n headers: AxiosResponseHeaders;\n config: AxiosRequestConfig;\n request?: any;\n}\n\nexport interface AxiosError extends Error {\n config: AxiosRequestConfig;\n code?: string;\n request?: any;\n response?: AxiosResponse;\n isAxiosError: boolean;\n toJSON: () => object;\n}\n\nexport interface AxiosPromise extends Promise> {\n}\n\nexport interface CancelStatic {\n new (message?: string): Cancel;\n}\n\nexport interface Cancel {\n message: string | undefined;\n}\n\nexport interface Canceler {\n (message?: string): void;\n}\n\nexport interface CancelTokenStatic {\n new (executor: (cancel: Canceler) => void): CancelToken;\n source(): CancelTokenSource;\n}\n\nexport interface CancelToken {\n promise: Promise;\n reason?: Cancel;\n throwIfRequested(): void;\n}\n\nexport interface CancelTokenSource {\n token: CancelToken;\n cancel: Canceler;\n}\n\nexport interface AxiosInterceptorManager {\n use(onFulfilled?: (value: V) => T | Promise, onRejected?: (error: any) => any): number;\n eject(id: number): void;\n}\n\nexport class Axios {\n constructor(config?: AxiosRequestConfig);\n defaults: AxiosDefaults;\n interceptors: {\n request: AxiosInterceptorManager;\n response: AxiosInterceptorManager;\n };\n getUri(config?: AxiosRequestConfig): string;\n request, D = any>(config: AxiosRequestConfig): Promise;\n get, D = any>(url: string, config?: AxiosRequestConfig): Promise;\n delete, D = any>(url: string, config?: AxiosRequestConfig): Promise;\n head, D = any>(url: string, config?: AxiosRequestConfig): Promise;\n options, D = any>(url: string, config?: AxiosRequestConfig): Promise;\n post, D = any>(url: string, data?: D, config?: AxiosRequestConfig): Promise;\n put, D = any>(url: string, data?: D, config?: AxiosRequestConfig): Promise;\n patch, D = any>(url: string, data?: D, config?: AxiosRequestConfig): Promise;\n}\n\nexport interface AxiosInstance extends Axios {\n (config: AxiosRequestConfig): AxiosPromise;\n (url: string, config?: AxiosRequestConfig): AxiosPromise;\n}\n\nexport interface AxiosStatic extends AxiosInstance {\n create(config?: AxiosRequestConfig): AxiosInstance;\n Cancel: CancelStatic;\n CancelToken: CancelTokenStatic;\n Axios: typeof Axios;\n readonly VERSION: string;\n isCancel(value: any): boolean;\n all(values: Array>): Promise;\n spread(callback: (...args: T[]) => R): (array: T[]) => R;\n isAxiosError(payload: any): payload is AxiosError;\n}\n\ndeclare const axios: AxiosStatic;\n\nexport default axios;\n"},{name:"@taquito/local-forging/dist/types/michelson/codec.d.ts",dts:"import { Decoder } from '../decoder';\r\nimport { Uint8ArrayConsumer } from '../uint8array-consumer';\r\nimport { Encoder } from '../taquito-local-forging';\r\nexport declare type PrimValue = {\r\n prim: string;\r\n args?: MichelsonValue[];\r\n annots?: string[];\r\n};\r\nexport declare type BytesValue = {\r\n bytes: string;\r\n};\r\nexport declare type StringValue = {\r\n string: string;\r\n};\r\nexport declare type IntValue = {\r\n int: string;\r\n};\r\nexport declare type MichelsonValue = PrimValue | BytesValue | StringValue | IntValue | (PrimValue | BytesValue | StringValue | IntValue)[];\r\nexport declare const isPrim: (value: MichelsonValue) => value is PrimValue;\r\nexport declare const isBytes: (value: MichelsonValue) => value is BytesValue;\r\nexport declare const isString: (value: MichelsonValue) => value is StringValue;\r\nexport declare const isInt: (value: MichelsonValue) => value is IntValue;\r\nexport declare const scriptEncoder: Encoder<{\r\n code: MichelsonValue;\r\n storage: MichelsonValue;\r\n}>;\r\nexport declare const scriptDecoder: Decoder;\r\nexport declare const valueEncoder: Encoder;\r\nexport declare const valueDecoder: Decoder;\r\nexport declare const extractRequiredLen: (value: Uint8ArrayConsumer, bytesLength?: number) => Uint8Array;\r\n/**\r\n * @description parse bytes into multiple items of an array\r\n * @param value Uint8ArrayConsumer class of forged segment to parse\r\n * @param bytesLength default 4 bytes for length of variable bytes\r\n * @returns array of Uint8Array values for each array item\r\n */\r\nexport declare const stripLengthPrefixFromBytes: (value: Uint8ArrayConsumer, bytesLength?: number) => Uint8Array[];\r\nexport declare const bytesEncoder: Encoder;\r\nexport declare const bytesDecoder: Decoder;\r\nexport declare const stringEncoder: Encoder;\r\nexport declare const stringDecoder: Decoder;\r\nexport declare const intEncoder: Encoder;\r\nexport declare const intDecoder: (value: Uint8ArrayConsumer) => IntValue;\r\nexport declare const primEncoder: Encoder;\r\nexport declare const primDecoder: (value: Uint8ArrayConsumer, preamble: Uint8Array) => Partial;\r\nexport declare const primViewDecoder: (value: Uint8ArrayConsumer, result: Partial) => Partial;\r\nexport declare const decodeCombPair: Decoder;\r\nexport declare const encodeAnnots: Encoder;\r\nexport declare const decodeAnnots: Decoder;\r\n"},{name:"@taquito/local-forging/dist/types/schema/operation.d.ts",dts:"import { Decoder } from '../decoder';\r\nimport { Uint8ArrayConsumer } from '../uint8array-consumer';\r\nimport { CODEC } from '../constants';\r\nexport declare const ManagerOperationSchema: {\r\n branch: CODEC;\r\n contents: CODEC[];\r\n};\r\nexport declare const ActivationSchema: {\r\n pkh: CODEC;\r\n secret: CODEC;\r\n};\r\nexport declare const RevealSchema: {\r\n source: CODEC;\r\n fee: CODEC;\r\n counter: CODEC;\r\n gas_limit: CODEC;\r\n storage_limit: CODEC;\r\n public_key: CODEC;\r\n};\r\nexport declare const DelegationSchema: {\r\n source: CODEC;\r\n fee: CODEC;\r\n counter: CODEC;\r\n gas_limit: CODEC;\r\n storage_limit: CODEC;\r\n delegate: CODEC;\r\n};\r\nexport declare const TransactionSchema: {\r\n source: CODEC;\r\n fee: CODEC;\r\n counter: CODEC;\r\n gas_limit: CODEC;\r\n storage_limit: CODEC;\r\n amount: CODEC;\r\n destination: CODEC;\r\n parameters: CODEC;\r\n};\r\nexport declare const OriginationSchema: {\r\n source: CODEC;\r\n fee: CODEC;\r\n counter: CODEC;\r\n gas_limit: CODEC;\r\n storage_limit: CODEC;\r\n balance: CODEC;\r\n delegate: CODEC;\r\n script: CODEC;\r\n};\r\nexport declare const BallotSchema: {\r\n source: CODEC;\r\n period: CODEC;\r\n proposal: CODEC;\r\n ballot: CODEC;\r\n};\r\nexport declare const EndorsementSchema: {\r\n slot: CODEC;\r\n level: CODEC;\r\n round: CODEC;\r\n block_payload_hash: CODEC;\r\n};\r\nexport declare const SeedNonceRevelationSchema: {\r\n level: CODEC;\r\n nonce: CODEC;\r\n};\r\nexport declare const ProposalsSchema: {\r\n source: CODEC;\r\n period: CODEC;\r\n proposals: CODEC;\r\n};\r\nexport declare const RegisterGlobalConstantSchema: {\r\n source: CODEC;\r\n fee: CODEC;\r\n counter: CODEC;\r\n gas_limit: CODEC;\r\n storage_limit: CODEC;\r\n value: CODEC;\r\n};\r\nexport declare const TransferTicketSchema: {\r\n source: CODEC;\r\n fee: CODEC;\r\n counter: CODEC;\r\n gas_limit: CODEC;\r\n storage_limit: CODEC;\r\n ticket_contents: CODEC;\r\n ticket_ty: CODEC;\r\n ticket_ticketer: CODEC;\r\n ticket_amount: CODEC;\r\n destination: CODEC;\r\n entrypoint: CODEC;\r\n};\r\nexport declare const TxRollupOriginationSchema: {\r\n source: CODEC;\r\n fee: CODEC;\r\n counter: CODEC;\r\n gas_limit: CODEC;\r\n storage_limit: CODEC;\r\n tx_rollup_origination: CODEC;\r\n};\r\nexport declare const TxRollupSubmitBatchSchema: {\r\n source: CODEC;\r\n fee: CODEC;\r\n counter: CODEC;\r\n gas_limit: CODEC;\r\n storage_limit: CODEC;\r\n rollup: CODEC;\r\n content: CODEC;\r\n burn_limit: CODEC;\r\n};\r\nexport declare const IncreasePaidStorageSchema: {\r\n source: CODEC;\r\n fee: CODEC;\r\n counter: CODEC;\r\n gas_limit: CODEC;\r\n storage_limit: CODEC;\r\n amount: CODEC;\r\n destination: CODEC;\r\n};\r\nexport declare const UpdateConsensusKeySchema: {\r\n source: CODEC;\r\n fee: CODEC;\r\n counter: CODEC;\r\n gas_limit: CODEC;\r\n storage_limit: CODEC;\r\n pk: CODEC;\r\n};\r\nexport declare const DrainDelegateSchema: {\r\n consensus_key: CODEC;\r\n delegate: CODEC;\r\n destination: CODEC;\r\n};\r\nexport declare const SetDepositsLimitSchema: {\r\n source: CODEC;\r\n fee: CODEC;\r\n counter: CODEC;\r\n gas_limit: CODEC;\r\n storage_limit: CODEC;\r\n limit: CODEC;\r\n};\r\nexport declare const SmartRollupOriginateSchema: {\r\n source: CODEC;\r\n fee: CODEC;\r\n counter: CODEC;\r\n gas_limit: CODEC;\r\n storage_limit: CODEC;\r\n pvm_kind: CODEC;\r\n kernel: CODEC;\r\n origination_proof: CODEC;\r\n parameters_ty: CODEC;\r\n};\r\nexport declare const SmartRollupAddMessagesSchema: {\r\n source: CODEC;\r\n fee: CODEC;\r\n counter: CODEC;\r\n gas_limit: CODEC;\r\n storage_limit: CODEC;\r\n message: CODEC;\r\n};\r\nexport declare const SmartRollupExecuteOutboxMessageSchema: {\r\n source: CODEC;\r\n fee: CODEC;\r\n counter: CODEC;\r\n gas_limit: CODEC;\r\n storage_limit: CODEC;\r\n rollup: CODEC;\r\n cemented_commitment: CODEC;\r\n output_proof: CODEC;\r\n};\r\nexport declare const FailingNoopSchema: {\r\n arbitrary: CODEC;\r\n};\r\nexport declare const operationEncoder: (encoders: {\r\n [key: string]: (val: object) => string;\r\n}) => (operation: {\r\n kind: string;\r\n}) => string;\r\nexport declare const operationDecoder: (decoders: {\r\n [key: string]: Decoder;\r\n}) => (value: Uint8ArrayConsumer) => {\r\n kind: string;\r\n};\r\ndeclare type Schema = Record;\r\nexport declare type Value = Record;\r\nexport declare const schemaEncoder: (encoders: {\r\n [key: string]: (val: object) => string;\r\n}) => (schema: Schema) => (value: Value) => string;\r\nexport declare const schemaDecoder: (decoders: {\r\n [key: string]: Decoder;\r\n}) => (schema: {\r\n [key: string]: string | string[];\r\n}) => (value: Uint8ArrayConsumer) => {};\r\nexport {};\r\n"},{name:"@taquito/local-forging/dist/types/codec.d.ts",dts:"import { Prefix } from '@taquito/utils';\r\nimport { MichelsonValue } from './michelson/codec';\r\nimport { Uint8ArrayConsumer } from './uint8array-consumer';\r\nexport declare const prefixEncoder: (prefix: Prefix) => (str: string) => string;\r\nexport declare const prefixDecoder: (pre: Prefix) => (str: Uint8ArrayConsumer) => string;\r\nexport declare const tz1Decoder: (str: Uint8ArrayConsumer) => string;\r\nexport declare const branchDecoder: (str: Uint8ArrayConsumer) => string;\r\nexport declare const pkhDecoder: (val: Uint8ArrayConsumer) => string | undefined;\r\nexport declare const branchEncoder: (str: string) => string;\r\nexport declare const tz1Encoder: (str: string) => string;\r\nexport declare const boolEncoder: (bool: unknown) => string;\r\nexport declare const proposalEncoder: (proposal: string) => string;\r\nexport declare const proposalDecoder: (proposal: Uint8ArrayConsumer) => string;\r\nexport declare const proposalsDecoder: (proposal: Uint8ArrayConsumer) => string[];\r\nexport declare const proposalsEncoder: (proposals: string[]) => string;\r\nexport declare const ballotEncoder: (ballot: string) => string;\r\nexport declare const ballotDecoder: (ballot: Uint8ArrayConsumer) => string;\r\nexport declare const pvmKindEncoder: (pvm: string) => string;\r\nexport declare const pvmKindDecoder: (pvm: Uint8ArrayConsumer) => string;\r\nexport declare const delegateEncoder: (val: string) => string;\r\nexport declare const int32Encoder: (val: number | string) => string;\r\nexport declare const int32Decoder: (val: Uint8ArrayConsumer) => number;\r\nexport declare const int16Encoder: (val: number | string) => string;\r\nexport declare const int16Decoder: (val: Uint8ArrayConsumer) => number;\r\nexport declare const boolDecoder: (val: Uint8ArrayConsumer) => boolean;\r\nexport declare const delegateDecoder: (val: Uint8ArrayConsumer) => string | undefined;\r\nexport declare const pkhEncoder: (val: string) => string;\r\nexport declare const publicKeyEncoder: (val: string) => string;\r\nexport declare const addressEncoder: (val: string) => string;\r\nexport declare const smartRollupAddressEncoder: (val: string) => string;\r\nexport declare const smartContractAddressEncoder: (val: string) => string;\r\nexport declare const publicKeyDecoder: (val: Uint8ArrayConsumer) => string;\r\nexport declare const smartRollupCommitmentHashEncoder: (val: string) => string;\r\nexport declare const addressDecoder: (val: Uint8ArrayConsumer) => string | undefined;\r\nexport declare const smartRollupAddressDecoder: (val: Uint8ArrayConsumer) => string;\r\nexport declare const smartContractAddressDecoder: (val: Uint8ArrayConsumer) => string;\r\nexport declare const smartRollupCommitmentHashDecoder: (val: Uint8ArrayConsumer) => string;\r\nexport declare const zarithEncoder: (n: string) => string;\r\nexport declare const zarithDecoder: (n: Uint8ArrayConsumer) => string;\r\nexport declare const entrypointDecoder: (value: Uint8ArrayConsumer) => string;\r\nexport declare const parametersDecoder: (val: Uint8ArrayConsumer) => {\r\n entrypoint: string;\r\n value: string | number | object | undefined;\r\n} | undefined;\r\nexport declare const entrypointEncoder: (entrypoint: string) => string;\r\nexport declare const parametersEncoder: (val: {\r\n entrypoint: string;\r\n value: MichelsonValue;\r\n}) => string;\r\nexport declare const valueParameterEncoder: (value: MichelsonValue) => string;\r\nexport declare const valueParameterDecoder: (val: Uint8ArrayConsumer) => string | number | object | undefined;\r\nexport declare const blockPayloadHashEncoder: (str: string) => string;\r\nexport declare const blockPayloadHashDecoder: (str: Uint8ArrayConsumer) => string;\r\nexport declare const entrypointNameEncoder: (entrypoint: string) => string;\r\nexport declare const entrypointNameDecoder: (val: Uint8ArrayConsumer) => string;\r\nexport declare const txRollupOriginationParamEncoder: (_value: string) => string;\r\nexport declare const txRollupOriginationParamDecoder: (_val: Uint8ArrayConsumer) => {};\r\nexport declare const txRollupIdEncoder: (str: string) => string;\r\nexport declare const txRollupIdDecoder: (str: Uint8ArrayConsumer) => string;\r\nexport declare const txRollupBatchContentEncoder: (value: string) => string;\r\nexport declare const txRollupBatchContentDecoder: (val: Uint8ArrayConsumer) => string;\r\nexport declare const burnLimitEncoder: (val: string) => string;\r\nexport declare const burnLimitDecoder: (value: Uint8ArrayConsumer) => string | undefined;\r\nexport declare const depositsLimitEncoder: (val: string) => string;\r\nexport declare const depositsLimitDecoder: (value: Uint8ArrayConsumer) => string | undefined;\r\nexport declare const paddedBytesEncoder: (val: string, paddingLength?: number) => string;\r\nexport declare const paddedBytesDecoder: (val: Uint8ArrayConsumer) => string;\r\nexport declare const smartRollupMessageEncoder: (val: string[]) => string;\r\nexport declare const smartRollupMessageDecoder: (val: Uint8ArrayConsumer) => string[];\r\n"},{name:"@taquito/local-forging/dist/types/constants.d.ts",dts:'export declare const ENTRYPOINT_MAX_LENGTH = 31;\r\nexport declare enum CODEC {\r\n SECRET = "secret",\r\n RAW = "raw",\r\n TZ1 = "tz1",\r\n BRANCH = "branch",\r\n ZARITH = "zarith",\r\n PUBLIC_KEY = "public_key",\r\n PKH = "pkh",\r\n DELEGATE = "delegate",\r\n SCRIPT = "script",\r\n BALLOT_STATEMENT = "ballotStmt",\r\n PROPOSAL = "proposal",\r\n PROPOSAL_ARR = "proposalArr",\r\n INT32 = "int32",\r\n INT16 = "int16",\r\n PARAMETERS = "parameters",\r\n ADDRESS = "address",\r\n SMART_CONTRACT_ADDRESS = "smart_contract_address",\r\n SMART_ROLLUP_ADDRESS = "smart_rollup_address",\r\n SMART_ROLLUP_COMMITMENT_HASH = "smart_rollup_commitment_hash",\r\n VALUE = "value",\r\n PADDED_BYTES = "padded_bytes",\r\n SMART_ROLLUP_MESSAGE = "smart_rollup_message",\r\n MANAGER = "manager",\r\n BLOCK_PAYLOAD_HASH = "blockPayloadHash",\r\n ENTRYPOINT = "entrypoint",\r\n OPERATION = "operation",\r\n OP_ACTIVATE_ACCOUNT = "activate_account",\r\n OP_DELEGATION = "delegation",\r\n OP_TRANSACTION = "transaction",\r\n OP_ORIGINATION = "origination",\r\n OP_BALLOT = "ballot",\r\n OP_FAILING_NOOP = "failing_noop",\r\n OP_ENDORSEMENT = "endorsement",\r\n OP_SEED_NONCE_REVELATION = "seed_nonce_revelation",\r\n OP_REVEAL = "reveal",\r\n OP_PROPOSALS = "proposals",\r\n OP_REGISTER_GLOBAL_CONSTANT = "register_global_constant",\r\n OP_TRANSFER_TICKET = "transfer_ticket",\r\n OP_TX_ROLLUP_ORIGINATION = "tx_rollup_origination",\r\n OP_TX_ROLLUP_SUBMIT_BATCH = "tx_rollup_submit_batch",\r\n BURN_LIMIT = "burn_limit",\r\n TX_ROLLUP_ORIGINATION_PARAM = "tx_rollup_origination_param",\r\n TX_ROLLUP_ID = "tx_rollup_id",\r\n TX_ROLLUP_BATCH_CONTENT = "tx_rollup_batch_content",\r\n OP_INCREASE_PAID_STORAGE = "increase_paid_storage",\r\n OP_UPDATE_CONSENSUS_KEY = "update_consensus_key",\r\n OP_DRAIN_DELEGATE = "drain_delegate",\r\n DEPOSITS_LIMIT = "deposits_limit",\r\n OP_SET_DEPOSITS_LIMIT = "set_deposits_limit",\r\n OP_SMART_ROLLUP_ORIGINATE = "smart_rollup_originate",\r\n PVM_KIND = "pvm_kind",\r\n OP_SMART_ROLLUP_ADD_MESSAGES = "smart_rollup_add_messages",\r\n OP_SMART_ROLLUP_EXECUTE_OUTBOX_MESSAGE = "smart_rollup_execute_outbox_message"\r\n}\r\nexport declare const opMapping: {\r\n [key: string]: string;\r\n};\r\nexport declare const opMappingReverse: {\r\n [key: string]: string;\r\n};\r\nexport declare const kindMapping: {\r\n [key: number]: string;\r\n};\r\nexport declare const kindMappingReverse: {\r\n [key: string]: string;\r\n};\r\nexport declare const entrypointMapping: {\r\n [key: string]: string;\r\n};\r\nexport declare const entrypointMappingReverse: {\r\n [key: string]: string;\r\n};\r\n'},{name:"@taquito/local-forging/dist/types/decoder.d.ts",dts:"import { Uint8ArrayConsumer } from './uint8array-consumer';\r\nexport declare type Decoder = (val: Uint8ArrayConsumer) => string | number | object | undefined;\r\nexport declare const decoders: {\r\n [key: string]: Decoder;\r\n};\r\n"},{name:"@taquito/local-forging/dist/types/encoder.d.ts",dts:"export declare type Encoder = (val: T) => string;\r\nexport declare const encoders: {\r\n [key: string]: Encoder;\r\n};\r\n"},{name:"@taquito/local-forging/dist/types/errors.d.ts",dts:"import { ParameterValidationError } from '@taquito/core';\r\nimport { OperationContents } from '@taquito/rpc';\r\n/**\r\n * @category Error\r\n * @description Error that indicates an invalid operation content being passed or used\r\n */ export declare class InvalidOperationSchemaError extends ParameterValidationError {\r\n readonly operation: OperationContents;\r\n readonly errorDetail?: string | undefined;\r\n constructor(operation: OperationContents, errorDetail?: string | undefined);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates an entrypoint name exceeding maximum length\r\n */\r\nexport declare class OversizedEntryPointError extends ParameterValidationError {\r\n readonly entrypoint: string;\r\n constructor(entrypoint: string);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates an invalid ballot value being used\r\n */\r\nexport declare class InvalidBallotValueError extends ParameterValidationError {\r\n readonly ballotValue: string;\r\n constructor(ballotValue: string);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure when trying to decode ballot value\r\n */\r\nexport declare class DecodeBallotValueError extends ParameterValidationError {\r\n readonly ballotValue: string;\r\n constructor(ballotValue: string);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates unexpected Michelson Value being passed or used\r\n */\r\nexport declare class UnexpectedMichelsonValueError extends ParameterValidationError {\r\n readonly value: string;\r\n constructor(value: string);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure when trying to decode an operation\r\n */\r\nexport declare class OperationDecodingError extends ParameterValidationError {\r\n readonly message: string;\r\n constructor(message: string);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure when trying to encode an operation\r\n */\r\nexport declare class OperationEncodingError extends ParameterValidationError {\r\n readonly message: string;\r\n constructor(message: string);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates an unsupported operation being passed or used\r\n */\r\nexport declare class UnsupportedOperationError extends ParameterValidationError {\r\n readonly op: string;\r\n constructor(op: string);\r\n}\r\n/**\r\n * @cateogry Error\r\n * @description Error that indicates an unsupported pvm being passed or used\r\n */\r\nexport declare class UnsupportedPvmKindError extends ParameterValidationError {\r\n readonly pvm: string;\r\n constructor(pvm: string);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates an unsupported pvm to decode\r\n */\r\nexport declare class DecodePvmKindError extends ParameterValidationError {\r\n readonly pvm: string;\r\n constructor(pvm: string);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates an invalid Smart Rollup Address (sr1)\r\n */\r\nexport declare class InvalidSmartRollupAddressError extends ParameterValidationError {\r\n readonly address: string;\r\n readonly errorDetail?: string | undefined;\r\n constructor(address: string, errorDetail?: string | undefined);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates an invalid Smart Rollup commitment hash (src1)\r\n */\r\nexport declare class InvalidSmartRollupCommitmentHashError extends ParameterValidationError {\r\n readonly hash: string;\r\n readonly errorDetail?: string | undefined;\r\n constructor(hash: string, errorDetail?: string | undefined);\r\n}\r\n"},{name:"@taquito/local-forging/dist/types/interface.d.ts",dts:"import { OperationContents } from '@taquito/rpc';\r\nexport interface ForgeParams {\r\n branch: string;\r\n contents: OperationContents[];\r\n}\r\nexport declare type ForgeResponse = string;\r\nexport interface Forger {\r\n forge(params: ForgeParams): Promise;\r\n}\r\n"},{name:"@taquito/local-forging/dist/types/protocols.d.ts",dts:'export declare enum ProtocolsHash {\r\n Pt24m4xi = "Pt24m4xiPbLDhVgVfABUjirbmda3yohdN82Sp9FeuAXJ4eV9otd",\r\n PsBABY5H = "PsBABY5HQTSkA4297zNHfsZNKtxULfL18y95qb3m53QJiXGmrbU",\r\n PsBabyM1 = "PsBabyM1eUXZseaJdmXFApDSBqj8YBfwELoxZHHW77EMcAbbwAS",\r\n PsCARTHA = "PsCARTHAGazKbHtnKfLzQg3kms52kSRpgnDY982a9oYsSXRLQEb",\r\n PsDELPH1 = "PsDELPH1Kxsxt8f9eWbxQeRxkjfbxoqM52jvs5Y5fBxWWh4ifpo",\r\n PtEdo2Zk = "PtEdo2ZkT9oKpimTah6x2embF25oss54njMuPzkJTEi5RqfdZFA",\r\n PsFLorena = "PsFLorenaUUuikDWvMDr6fGBRG8kt3e3D3fHoXK1j1BFRxeSH4i",\r\n PtGRANADs = "PtGRANADsDU8R9daYKAgWnQYAJ64omN1o3KMGVCykShA97vQbvV",\r\n PtHangz2 = "PtHangz2aRngywmSRGGvrcTyMbbdpWdpFKuS4uMWxg2RaH9i1qx",\r\n Psithaca2 = "Psithaca2MLRFYargivpo7YvUr7wUDqyxrdhC5CQq78mRvimz6A",\r\n PtJakart2 = "PtJakart2xVj7pYXJBXrqHgd82rdkLey5ZeeGwDgPp9rhQUbSqY",\r\n PtKathman = "PtKathmankSpLLDALzWw7CGD2j2MtyveTwboEYokqUCP4a1LxMg",\r\n PtLimaPtL = "PtLimaPtLMwfNinJi9rCfDPWea8dFgTZ1MeJ9f1m2SRic6ayiwW",\r\n PtMumbaii = "PtMumbaiiFFEGbew1rRjzSPyzRbA51Tm3RVZL5suHPxSZYDhCEc",\r\n PtMumbai2 = "PtMumbai2TmsJHNGRkD8v8YDbtao7BLUC3wjASn1inAKLFCjaH1",\r\n PtNairobi = "PtNairobiyssHuh87hEhfVBGCVrK3WnS8Z2FT4ymB5tAa4r1nQf",\r\n ProtoALpha = "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK"\r\n}\r\nexport declare function ProtoInferiorTo(a: ProtocolsHash, b: ProtocolsHash): boolean;\r\n'},{name:"@taquito/local-forging/dist/types/taquito-local-forging.d.ts",dts:"/**\r\n * @packageDocumentation\r\n * @module @taquito/local-forging\r\n */\r\nimport { ForgeParams, Forger } from './interface';\r\nimport { CODEC } from './constants';\r\nimport { ProtocolsHash } from './protocols';\r\nexport { CODEC, opMapping, opMappingReverse } from './constants';\r\nexport * from './decoder';\r\nexport * from './encoder';\r\nexport * from './uint8array-consumer';\r\nexport * from './interface';\r\nexport { VERSION } from './version';\r\nexport { ProtocolsHash } from './protocols';\r\nexport declare function getCodec(codec: CODEC, _proto: ProtocolsHash): {\r\n encoder: import(\"./encoder\").Encoder;\r\n decoder: (hex: string) => any;\r\n};\r\nexport declare class LocalForger implements Forger {\r\n readonly protocolHash: ProtocolsHash;\r\n constructor(protocolHash?: ProtocolsHash);\r\n private codec;\r\n forge(params: ForgeParams): Promise;\r\n parse(hex: string): Promise;\r\n}\r\nexport declare const localForger: LocalForger;\r\n"},{name:"@taquito/local-forging/dist/types/uint8array-consumer.d.ts",dts:"export declare class Uint8ArrayConsumer {\r\n private readonly arr;\r\n private offset;\r\n static fromHexString(hex: string): Uint8ArrayConsumer;\r\n constructor(arr: Uint8Array, offset?: number);\r\n consume(count: number): Uint8Array;\r\n get(idx: number): number;\r\n length(): number;\r\n slice(start: number, end?: number): Uint8ArrayConsumer;\r\n}\r\n"},{name:"@taquito/local-forging/dist/types/utils.d.ts",dts:"export declare const concat: (...arr: Uint8Array[]) => Uint8Array;\r\nexport declare const toHexString: (bytes: Uint8Array) => string;\r\nexport declare const pad: (num: number, paddingLen?: number) => string;\r\n"},{name:"@taquito/local-forging/dist/types/validator.d.ts",dts:"import { OpKind } from '@taquito/rpc';\r\nimport { OperationContents } from '@taquito/rpc';\r\n/**\r\n * @returns A boolean value to indicate whether the operation kind is valid or not\r\n */\r\nexport declare const validateOperationKind: (opKind: OpKind) => boolean;\r\n/**\r\n * returns 0 when the two array of properties are identical or the passed property\r\n * does not have any missing parameters from the corresponding schema\r\n *\r\n * @returns array element differences if there are missing required property keys\r\n */\r\nexport declare const validateMissingProperty: (operationContent: OperationContents) => string[];\r\n"},{name:"@taquito/local-forging/dist/types/version.d.ts",dts:"export declare const VERSION: {\r\n commitHash: string;\r\n version: string;\r\n};\r\n"},{name:"@taquito/michel-codec/dist/types/base58.d.ts",dts:"import { TaquitoError } from '@taquito/core';\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure when decoding a base58 encoding\r\n */\r\nexport declare class Base58DecodingError extends TaquitoError {\r\n readonly message: string;\r\n constructor(message: string);\r\n}\r\nexport declare function decodeBase58(src: string): number[];\r\nexport declare function encodeBase58(src: number[] | Uint8Array): string;\r\nexport declare function decodeBase58Check(src: string): number[];\r\nexport declare function encodeBase58Check(src: number[] | Uint8Array): string;\r\n"},{name:"@taquito/michel-codec/dist/types/binary.d.ts",dts:'import { BytesLiteral } from \'./micheline\';\r\nimport { MichelsonData, MichelsonType } from \'./michelson-types\';\r\ndeclare type AddressType = \'ED25519PublicKeyHash\' | \'SECP256K1PublicKeyHash\' | \'P256PublicKeyHash\' | \'ContractHash\';\r\nexport interface Address {\r\n type: AddressType;\r\n hash: number[] | Uint8Array;\r\n entryPoint?: string;\r\n}\r\nexport declare type PublicKeyType = \'ED25519PublicKey\' | \'SECP256K1PublicKey\' | \'P256PublicKey\';\r\nexport interface PublicKey {\r\n type: PublicKeyType;\r\n publicKey: number[] | Uint8Array;\r\n}\r\n/**\r\n * Serializes any value of packable type to its optimized binary representation\r\n * identical to the one used by PACK and UNPACK Michelson instructions.\r\n * Without a type definition (not recommended) the data will be encoded as a binary form of a generic Michelson expression.\r\n * Type definition allows some types like `timestamp` and `address` and other base58 representable types to be encoded to\r\n * corresponding optimized binary forms borrowed from the Tezos protocol\r\n *\r\n * ```typescript\r\n * const data: MichelsonData = {\r\n * string: "KT1RvkwF4F7pz1gCoxkyZrG1RkrxQy3gmFTv%foo"\r\n * };\r\n *\r\n * const typ: MichelsonType = {\r\n * prim: "address"\r\n * };\r\n *\r\n * const packed = packData(data, typ);\r\n *\r\n * // 050a0000001901be41ee922ddd2cf33201e49d32da0afec571dce300666f6f\r\n * ```\r\n *\r\n * Without a type definition the base58 encoded address will be treated as a string\r\n * ```typescript\r\n * const data: MichelsonData = {\r\n * string: "KT1RvkwF4F7pz1gCoxkyZrG1RkrxQy3gmFTv%foo"\r\n * };\r\n *\r\n * const packed = packData(data);\r\n *\r\n * // 0501000000284b543152766b7746344637707a3167436f786b795a724731526b7278517933676d46547625666f6f\r\n * ```\r\n * @param d Data object\r\n * @param t Optional type definition\r\n * @returns Binary representation as numeric array\r\n */\r\nexport declare function packData(d: MichelsonData, t?: MichelsonType): number[];\r\n/**\r\n * Serializes any value of packable type to its optimized binary representation\r\n * identical to the one used by PACK and UNPACK Michelson instructions.\r\n * Same as {@link packData} but returns a `bytes` Michelson data literal instead of an array\r\n *\r\n * ```typescript\r\n * const data: MichelsonData = {\r\n * string: "2019-09-26T10:59:51Z"\r\n * };\r\n *\r\n * const typ: MichelsonType = {\r\n * prim: "timestamp"\r\n * };\r\n *\r\n * const packed = packDataBytes(data, typ);\r\n *\r\n * // { bytes: "0500a7e8e4d80b" }\r\n * ```\r\n * @param d Data object\r\n * @param t Optional type definition\r\n * @returns Binary representation as a bytes literal\r\n */\r\nexport declare function packDataBytes(d: MichelsonData, t?: MichelsonType): BytesLiteral;\r\n/**\r\n * Deserialize a byte array into the corresponding Michelson value.\r\n * Without a type definition (not recommended) the binary data will be treated as a binary form of a generic Michelson expression and returned as is.\r\n * Type definition allows some types like `timestamp` and `address` and other types usually encoded in optimized binary forms to be transformed\r\n * back to their string representations like base58 and ISO timestamps.\r\n *\r\n * ```typescript\r\n * const src = [0x05, 0x00, 0xa7, 0xe8, 0xe4, 0xd8, 0x0b];\r\n *\r\n * const typ: MichelsonType = {\r\n * prim: "timestamp"\r\n * };\r\n *\r\n * const data = unpackData(src, typ);\r\n *\r\n * // { string: "2019-09-26T10:59:51Z" }\r\n * ```\r\n *\r\n * Same binary data without a type definition\r\n * ```typescript\r\n * const src = [0x05, 0x00, 0xa7, 0xe8, 0xe4, 0xd8, 0x0b];\r\n *\r\n * const data = unpackData(src);\r\n *\r\n * // { int: "1569495591" }\r\n * ```\r\n * @param src Byte array\r\n * @param t Optional type definition\r\n * @returns Deserialized data\r\n */\r\nexport declare function unpackData(src: number[] | Uint8Array, t?: MichelsonType): MichelsonData;\r\n/**\r\n * Deserialize a byte array into the corresponding Michelson value.\r\n * Same as {@link unpackData} but takes a `bytes` Michelson data literal instead of an array\r\n *\r\n * ```typescript\r\n * const src = { bytes: "0500a7e8e4d80b" };\r\n *\r\n * const typ: MichelsonType = {\r\n * prim: "timestamp"\r\n * };\r\n *\r\n * const data = unpackDataBytes(src, typ);\r\n *\r\n * // { string: "2019-09-26T10:59:51Z" }\r\n * ```\r\n * @param src Bytes object\r\n * @param t Optional type definition\r\n * @returns Deserialized data\r\n */\r\nexport declare function unpackDataBytes(src: BytesLiteral, t?: MichelsonType): MichelsonData;\r\nexport declare function decodeAddressBytes(b: BytesLiteral): Address;\r\nexport declare function decodePublicKeyHashBytes(b: BytesLiteral): Address;\r\nexport declare function decodePublicKeyBytes(b: BytesLiteral): PublicKey;\r\nexport {};\r\n'},{name:"@taquito/michel-codec/dist/types/errors.d.ts",dts:"import { ParameterValidationError, TaquitoError } from '@taquito/core';\r\n/**\r\n * @category Error\r\n * @description Error that indicates an invalid Michelson being passed or used\r\n */\r\nexport declare class InvalidMichelsonError extends ParameterValidationError {\r\n readonly message: string;\r\n constructor(message: string);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates an invalid type expression being passed or used\r\n */\r\nexport declare class InvalidTypeExpressionError extends ParameterValidationError {\r\n readonly message: string;\r\n constructor(message: string);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates an invalid data expression being passed or used\r\n */\r\nexport declare class InvalidDataExpressionError extends ParameterValidationError {\r\n readonly message: string;\r\n constructor(message: string);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates an invalid contract entrypoint being referenced or passed\r\n */\r\nexport declare class InvalidEntrypointError extends ParameterValidationError {\r\n readonly entrypoint?: string | undefined;\r\n constructor(entrypoint?: string | undefined);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure happening when trying to encode Tezos ID\r\n */\r\nexport declare class TezosIdEncodeError extends ParameterValidationError {\r\n readonly message: string;\r\n constructor(message: string);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates a general error happening when trying to create a LongInteger\r\n */\r\nexport declare class LongIntegerError extends TaquitoError {\r\n readonly message: string;\r\n constructor(message: string);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure occurring when trying to parse a hex byte\r\n */\r\nexport declare class HexParseError extends TaquitoError {\r\n readonly hexByte: string;\r\n constructor(hexByte: string);\r\n}\r\n"},{name:"@taquito/michel-codec/dist/types/formatters.d.ts",dts:"import { InstructionTrace } from './michelson-typecheck';\r\nimport { MichelsonError } from './utils';\r\nimport { MichelsonReturnType } from './michelson-types';\r\nexport declare function formatStack(s: MichelsonReturnType): string;\r\nexport declare function traceDumpFunc(blocks: boolean, cb: (s: string) => void): (v: InstructionTrace) => void;\r\nexport declare function formatError(err: MichelsonError): string;\r\n"},{name:"@taquito/michel-codec/dist/types/global-constants.d.ts",dts:"import { Prim, Expr } from './micheline';\r\nimport { GlobalConstantHashAndValue } from './micheline-parser';\r\nexport declare function expandGlobalConstants(ex: Prim, hashAndValue: GlobalConstantHashAndValue): Expr;\r\n"},{name:"@taquito/michel-codec/dist/types/macros.d.ts",dts:"import { TaquitoError } from '@taquito/core';\r\nimport { Prim, Expr } from './micheline';\r\nimport { ProtocolOptions } from './michelson-types';\r\n/**\r\n * @category Error\r\n * @description Error that indicates macros failed to be expanded\r\n */\r\nexport declare class MacroError extends TaquitoError {\r\n readonly prim: Prim;\r\n readonly message: string;\r\n constructor(prim: Prim, message: string);\r\n}\r\nexport declare function expandMacros(ex: Prim, opt?: ProtocolOptions): Expr;\r\n"},{name:"@taquito/michel-codec/dist/types/micheline-emitter.d.ts",dts:"import { Expr } from './micheline';\r\nexport interface FormatOptions {\r\n /**\r\n * A string used for code indentation if desired. Usually a tab character or a number of spaces.\r\n */\r\n indent?: string;\r\n /**\r\n * A string used for line separation. Usually a newline character (\"\\n\");\r\n */\r\n newline?: string;\r\n}\r\n/**\r\n * Formats Micheline expression\r\n * @param expr An AST node\r\n * @param opt Options\r\n */\r\nexport declare function emitMicheline(expr: Expr, opt?: FormatOptions, foldMacros?: boolean): string;\r\n"},{name:"@taquito/michel-codec/dist/types/micheline-parser.d.ts",dts:'import { Token } from \'./scan\';\r\nimport { Expr } from \'./micheline\';\r\nimport { ProtocolOptions } from \'./michelson-types\';\r\nimport { TaquitoError } from \'@taquito/core\';\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure when parsing Micheline expressions\r\n */\r\nexport declare class MichelineParseError extends TaquitoError {\r\n readonly token: Token | null;\r\n readonly message: string;\r\n /**\r\n * @param token A token caused the error\r\n * @param message An error message\r\n */\r\n constructor(token: Token | null, message: string);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error inidicates a failure when parsing Micheline JSON\r\n */\r\nexport declare class JSONParseError extends TaquitoError {\r\n readonly node: unknown;\r\n readonly message: string;\r\n /**\r\n * @param node A node caused the error\r\n * @param message An error message\r\n */\r\n constructor(node: unknown, message: string);\r\n}\r\nexport interface GlobalConstantHashAndValue {\r\n [globalConstantHash: string]: Expr;\r\n}\r\nexport interface ParserOptions extends ProtocolOptions {\r\n /**\r\n * Expand [Michelson macros](https://tezos.gitlab.io/whitedoc/michelson.html#macros) during parsing.\r\n */\r\n expandMacros?: boolean;\r\n /**\r\n * Expand global constants during parsing.\r\n * `expandGlobalConstant` expects an object where the keys are global constant hashes and the values are the corresponding JSON Micheline expressions.\r\n * @example\r\n * ```\r\n * const parserOptions: ParserOptions = {\r\n * expandGlobalConstant: {\r\n * \'expr...\': { prim: \'DROP\', args: [{ int: \'2\' }] }\r\n * }\r\n * }\r\n *\r\n * const p = new Parser(parserOptions);\r\n * ```\r\n */\r\n expandGlobalConstant?: GlobalConstantHashAndValue;\r\n}\r\n/**\r\n * Converts and validates Michelson expressions between JSON-based Michelson and Micheline\r\n *\r\n * Pretty Print a Michelson Smart Contract:\r\n * ```\r\n * const contract = await Tezos.contract.at("KT1Vsw3kh9638gqWoHTjvHCoHLPKvCbMVbCg");\r\n * const p = new Parser();\r\n *\r\n * const michelsonCode = p.parseJSON(contract.script.code);\r\n * const storage = p.parseJSON(contract.script.storage);\r\n *\r\n * console.log("Pretty print Michelson smart contract:");\r\n * console.log(emitMicheline(michelsonCode, {indent:" ", newline: "\\n",}));\r\n *\r\n * console.log("Pretty print Storage:");\r\n * console.log(emitMicheline(storage, {indent:" ", newline: "\\n",}));\r\n * ```\r\n *\r\n * Encode a Michelson expression for inital storage of a smart contract\r\n * ```\r\n * const src = `(Pair (Pair { Elt 1\r\n * (Pair (Pair "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN" "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx")\r\n * 0x0501000000026869) }\r\n * 10000000)\r\n * (Pair 2 333))`;\r\n *\r\n * const p = new Parser();\r\n *\r\n * const exp = p.parseMichelineExpression(src);\r\n * console.log(JSON.stringify(exp));\r\n * ```\r\n */\r\nexport declare class Parser {\r\n private opt?;\r\n constructor(opt?: ParserOptions | undefined);\r\n private expand;\r\n private parseListExpr;\r\n private parseArgs;\r\n private parseSequenceExpr;\r\n private parseExpr;\r\n /**\r\n * Parses a Micheline sequence expression, such as smart contract source. Enclosing curly brackets may be omitted.\r\n * @param src A Micheline sequence `{parameter ...; storage int; code { DUP ; ...};}` or `parameter ...; storage int; code { DUP ; ...};`\r\n */\r\n parseSequence(src: string): Expr[] | null;\r\n /**\r\n * Parse a Micheline sequence expression. Enclosing curly brackets may be omitted.\r\n * @param src A Michelson list expression such as `(Pair {Elt "0" 0} 0)` or `Pair {Elt "0" 0} 0`\r\n * @returns An AST node or null for empty document.\r\n */\r\n parseList(src: string): Expr | null;\r\n /**\r\n * Parse any Michelson expression\r\n * @param src A Michelson expression such as `(Pair {Elt "0" 0} 0)` or `{parameter ...; storage int; code { DUP ; ...};}`\r\n * @returns An AST node or null for empty document.\r\n */\r\n parseMichelineExpression(src: string): Expr | null;\r\n /**\r\n * Parse a Micheline sequence expression, such as smart contract source. Enclosing curly brackets may be omitted.\r\n * An alias for `parseSequence`\r\n * @param src A Micheline sequence `{parameter ...; storage int; code { DUP ; ...};}` or `parameter ...; storage int; code { DUP ; ...};`\r\n */\r\n parseScript(src: string): Expr[] | null;\r\n /**\r\n * Parse a Micheline sequence expression. Enclosing curly brackets may be omitted.\r\n * An alias for `parseList`\r\n * @param src A Michelson list expression such as `(Pair {Elt "0" 0} 0)` or `Pair {Elt "0" 0} 0`\r\n * @returns An AST node or null for empty document.\r\n */\r\n parseData(src: string): Expr | null;\r\n /**\r\n * Takes a JSON-encoded Michelson, validates it, strips away unneeded properties and optionally expands macros (See {@link ParserOptions}).\r\n * @param src An object containing JSON-encoded Michelson, usually returned by `JSON.parse()`\r\n */\r\n parseJSON(src: object): Expr;\r\n}\r\n'},{name:"@taquito/michel-codec/dist/types/micheline.d.ts",dts:"export declare type SourceReference = {\r\n first: number;\r\n last: number;\r\n macro?: Expr;\r\n globalConstant?: Expr;\r\n};\r\nexport declare const sourceReference: unique symbol;\r\nexport interface Node {\r\n [sourceReference]?: SourceReference;\r\n}\r\n/**\r\n * An AST node representing Michelson string literal.\r\n */\r\nexport interface StringLiteral extends Node {\r\n string: string;\r\n}\r\n/**\r\n * An AST node representing Michelson int literal.\r\n */\r\nexport interface IntLiteral extends Node {\r\n int: T;\r\n}\r\n/**\r\n * An AST node representing Michelson bytes literal.\r\n */\r\nexport interface BytesLiteral extends Node {\r\n bytes: string;\r\n}\r\n/**\r\n * An AST node representing Michelson primitive.\r\n */\r\nexport interface Prim extends Node {\r\n prim: PT;\r\n args?: AT;\r\n annots?: string[];\r\n}\r\nexport declare type List = T[] & Node;\r\ninterface ExprList extends List {\r\n}\r\n/**\r\n * An AST node representing valid Michelson expression. Directly corresponds to JSON-encoded Michelson node\r\n */\r\nexport declare type Expr = Prim | StringLiteral | IntLiteral | BytesLiteral | ExprList;\r\nexport {};\r\n"},{name:"@taquito/michel-codec/dist/types/michelson-contract.d.ts",dts:"import { MichelsonContract, MichelsonContractSection, MichelsonType, MichelsonData, MichelsonCode, MichelsonReturnType } from './michelson-types';\r\nimport { InstructionTrace } from './michelson-typecheck';\r\nimport { ParserOptions } from './micheline-parser';\r\nexport interface ContractOptions extends ParserOptions {\r\n traceCallback?: (t: InstructionTrace) => void;\r\n}\r\nexport declare class Contract {\r\n readonly contract: MichelsonContract;\r\n private ctx;\r\n readonly output: MichelsonReturnType;\r\n constructor(contract: MichelsonContract, opt?: ContractOptions);\r\n static parse(src: string | object, opt?: ContractOptions): Contract;\r\n static parseTypeExpression(src: string | object, opt?: ParserOptions): MichelsonType;\r\n static parseDataExpression(src: string | object, opt?: ParserOptions): MichelsonData;\r\n section(section: T): MichelsonContractSection;\r\n entryPoints(): [string, MichelsonType][];\r\n entryPoint(ep?: string): MichelsonType | null;\r\n assertDataValid(d: MichelsonData, t: MichelsonType): void;\r\n isDataValid(d: MichelsonData, t: MichelsonType): boolean;\r\n assertParameterValid(ep: string | null, d: MichelsonData): void;\r\n isParameterValid(ep: string | null, d: MichelsonData): boolean;\r\n functionType(inst: MichelsonCode, stack: MichelsonType[]): MichelsonReturnType;\r\n}\r\nexport declare const dummyContract: Contract;\r\n"},{name:"@taquito/michel-codec/dist/types/michelson-typecheck.d.ts",dts:"import { MichelsonType, MichelsonData, MichelsonCode, MichelsonContract, MichelsonContractSection, MichelsonReturnType, MichelsonContractView } from './michelson-types';\r\nimport { MichelsonError } from './utils';\r\nimport { ParserOptions } from './micheline-parser';\r\nexport interface Context extends ParserOptions {\r\n contract?: MichelsonContract;\r\n traceCallback?: (t: InstructionTrace) => void;\r\n}\r\nexport declare class MichelsonInstructionError extends MichelsonError {\r\n readonly val: MichelsonCode;\r\n readonly stackState: MichelsonReturnType;\r\n readonly message: string;\r\n /**\r\n * @param val Value of a type node caused the error\r\n * @param stackState Current stack state\r\n * @param message An error message\r\n */\r\n constructor(val: MichelsonCode, stackState: MichelsonReturnType, message: string);\r\n}\r\nexport declare function assertTypeAnnotationsValid(t: MichelsonType, field?: boolean): void;\r\nexport interface InstructionTrace {\r\n op: MichelsonCode;\r\n in: MichelsonType[];\r\n out: MichelsonReturnType;\r\n}\r\nexport declare function contractSection(contract: MichelsonContract, section: T): MichelsonContractSection;\r\nexport declare function contractViews(contract: MichelsonContract): {\r\n [name: string]: MichelsonContractView;\r\n};\r\nexport declare function contractEntryPoint(src: MichelsonContract | MichelsonType, ep?: string): MichelsonType | null;\r\nexport declare function contractEntryPoints(src: MichelsonContract | MichelsonType): [string, MichelsonType][];\r\nexport declare function assertContractValid(contract: MichelsonContract, ctx?: Context): MichelsonReturnType;\r\nexport declare function assertDataValid(d: MichelsonData, t: MichelsonType, ctx?: Context): void;\r\nexport declare function functionType(inst: MichelsonCode, stack: MichelsonType[], ctx?: Context): MichelsonReturnType;\r\nexport declare function assertTypesEqual(a: T1, b: T2, field?: boolean): void;\r\nexport declare function isTypeAnnotationsValid(t: MichelsonType, field?: boolean): boolean;\r\nexport declare function isContractValid(contract: MichelsonContract, ctx?: Context): MichelsonReturnType | null;\r\nexport declare function isDataValid(d: MichelsonData, t: MichelsonType, ctx?: Context): boolean;\r\nexport declare function isTypeEqual(a: T1, b: T2, field?: boolean): boolean;\r\n"},{name:"@taquito/michel-codec/dist/types/michelson-types.d.ts",dts:"import { Prim, Expr, IntLiteral, StringLiteral, BytesLiteral, List, Node } from './micheline';\r\ninterface Prim0 extends Prim {\r\n args?: never;\r\n}\r\ninterface PrimX extends Prim {\r\n args: AT;\r\n}\r\ndeclare type MichelsonNoArgInstructionID = 'ABS' | 'ADD' | 'ADDRESS' | 'AMOUNT' | 'AND' | 'APPLY' | 'BALANCE' | 'BLAKE2B' | 'CAR' | 'CDR' | 'CHAIN_ID' | 'CHECK_SIGNATURE' | 'COMPARE' | 'CONCAT' | 'CONS' | 'EDIV' | 'EQ' | 'EXEC' | 'FAILWITH' | 'GE' | 'GET_AND_UPDATE' | 'GT' | 'HASH_KEY' | 'IMPLICIT_ACCOUNT' | 'INT' | 'ISNAT' | 'JOIN_TICKETS' | 'KECCAK' | 'LE' | 'LEVEL' | 'LSL' | 'LSR' | 'LT' | 'MEM' | 'MUL' | 'NEG' | 'NEQ' | 'NEVER' | 'NOT' | 'NOW' | 'OR' | 'PACK' | 'PAIRING_CHECK' | 'READ_TICKET' | 'SAPLING_VERIFY_UPDATE' | 'SELF' | 'SELF_ADDRESS' | 'SENDER' | 'SET_DELEGATE' | 'SHA256' | 'SHA3' | 'SHA512' | 'SIZE' | 'SLICE' | 'SOME' | 'SOURCE' | 'SPLIT_TICKET' | 'SUB' | 'SUB_MUTEZ' | 'SWAP' | 'TICKET' | 'TICKET_DEPRECATED' | 'TOTAL_VOTING_POWER' | 'TRANSFER_TOKENS' | 'UNIT' | 'VOTING_POWER' | 'XOR' | 'RENAME' | 'OPEN_CHEST' | 'MIN_BLOCK_TIME' | 'BYTES' | 'NAT';\r\ndeclare type MichelsonRegularInstructionID = 'CONTRACT' | 'CREATE_CONTRACT' | 'DIG' | 'DIP' | 'DROP' | 'DUG' | 'DUP' | 'EMPTY_BIG_MAP' | 'EMPTY_MAP' | 'EMPTY_SET' | 'GET' | 'IF' | 'IF_CONS' | 'IF_LEFT' | 'IF_NONE' | 'ITER' | 'LAMBDA' | 'LAMBDA_REC' | 'LEFT' | 'LOOP' | 'LOOP_LEFT' | 'MAP' | 'NIL' | 'NONE' | 'PAIR' | 'PUSH' | 'RIGHT' | 'SAPLING_EMPTY_STATE' | 'UNPACK' | 'UNPAIR' | 'UPDATE' | 'CAST' | 'VIEW' | 'EMIT' | 'CREATE_ACCOUNT' | 'STEPS_TO_QUOTA';\r\nexport declare type MichelsonInstructionID = MichelsonNoArgInstructionID | MichelsonRegularInstructionID;\r\ndeclare type InstrPrim = Prim;\r\ndeclare type Instr0 = Prim0;\r\ndeclare type InstrX = PrimX;\r\nexport declare type MichelsonCode = InstructionList | MichelsonInstruction;\r\nexport interface InstructionList extends List {\r\n}\r\nexport declare type MichelsonNoArgInstruction = Instr0;\r\nexport declare type MichelsonInstruction = MichelsonNoArgInstruction | InstrX<'DIG' | 'DUG' | 'SAPLING_EMPTY_STATE', [IntLiteral]> | InstrX<'NONE' | 'LEFT' | 'RIGHT' | 'NIL' | 'CAST', [MichelsonType]> | InstrX<'IF_NONE' | 'IF_LEFT' | 'IF_CONS' | 'IF', [InstructionList, InstructionList]> | InstrX<'MAP' | 'ITER' | 'LOOP' | 'LOOP_LEFT' | 'DIP', [InstructionList]> | InstrX<'UNPACK', [MichelsonType]> | InstrX<'CONTRACT', [MichelsonType]> | InstrX<'CREATE_CONTRACT', [MichelsonContract]> | InstrX<'PUSH', [MichelsonType, MichelsonData]> | InstrX<'EMPTY_SET', [MichelsonType]> | InstrX<'EMPTY_MAP', [MichelsonType, MichelsonType]> | InstrX<'EMPTY_BIG_MAP', [MichelsonType, MichelsonType]> | InstrX<'LAMBDA' | 'LAMBDA_REC', [MichelsonType, MichelsonType, InstructionList]> | InstrX<'DIP', [IntLiteral, InstructionList] | [InstructionList]> | InstrX<'VIEW', [StringLiteral, MichelsonType]> | InstrX<'EMIT', [MichelsonType]> | InstrPrim<'DROP' | 'PAIR' | 'UNPAIR' | 'DUP' | 'GET' | 'UPDATE', [IntLiteral]>;\r\nexport declare type MichelsonSimpleComparableTypeID = 'string' | 'nat' | 'int' | 'bytes' | 'bool' | 'mutez' | 'key_hash' | 'address' | 'timestamp' | 'never' | 'key' | 'unit' | 'signature' | 'chain_id' | 'tx_rollup_l2_address';\r\nexport declare type MichelsonTypeID = MichelsonSimpleComparableTypeID | 'option' | 'list' | 'set' | 'contract' | 'operation' | 'pair' | 'or' | 'lambda' | 'map' | 'big_map' | 'sapling_transaction' | 'sapling_transaction_deprecated' | 'sapling_state' | 'ticket' | 'bls12_381_g1' | 'bls12_381_g2' | 'bls12_381_fr' | 'chest_key' | 'chest';\r\ndeclare type Type0 = Prim0;\r\ndeclare type TypeX = PrimX;\r\nexport declare const refContract: unique symbol;\r\nexport interface MichelsonTypeAddress extends Type0<'address'> {\r\n [refContract]?: MichelsonTypeContract;\r\n}\r\nexport declare type MichelsonTypeInt = Type0<'int'>;\r\nexport declare type MichelsonTypeNat = Type0<'nat'>;\r\nexport declare type MichelsonTypeString = Type0<'string'>;\r\nexport declare type MichelsonTypeBytes = Type0<'bytes'>;\r\nexport declare type MichelsonTypeMutez = Type0<'mutez'>;\r\nexport declare type MichelsonTypeBool = Type0<'bool'>;\r\nexport declare type MichelsonTypeKeyHash = Type0<'key_hash'>;\r\nexport declare type MichelsonTypeTimestamp = Type0<'timestamp'>;\r\nexport declare type MichelsonTypeKey = Type0<'key'>;\r\nexport declare type MichelsonTypeUnit = Type0<'unit'>;\r\nexport declare type MichelsonTypeSignature = Type0<'signature'>;\r\nexport declare type MichelsonTypeOperation = Type0<'operation'>;\r\nexport declare type MichelsonTypeChainID = Type0<'chain_id'>;\r\nexport declare type MichelsonTypeNever = Type0<'never'>;\r\nexport declare type MichelsonTypeBLS12_381_G1 = Type0<'bls12_381_g1'>;\r\nexport declare type MichelsonTypeBLS12_381_G2 = Type0<'bls12_381_g2'>;\r\nexport declare type MichelsonTypeBLS12_381_FR = Type0<'bls12_381_fr'>;\r\nexport declare type MichelsonTypeChestKey = Type0<'chest_key'>;\r\nexport declare type MichelsonTypeChest = Type0<'chest'>;\r\ndeclare type TypeList = T & Node;\r\nexport declare type MichelsonTypePair = TypeX<'pair', T> | TypeList;\r\nexport interface MichelsonTypeOption extends TypeX<'option', [T]> {\r\n}\r\nexport interface MichelsonTypeList extends TypeX<'list', [T]> {\r\n}\r\nexport interface MichelsonTypeContract extends TypeX<'contract', [T]> {\r\n}\r\nexport interface MichelsonTypeOr extends TypeX<'or', T> {\r\n}\r\nexport interface MichelsonTypeLambda extends TypeX<'lambda', [Arg, Ret]> {\r\n}\r\nexport interface MichelsonTypeSet extends TypeX<'set', [T]> {\r\n}\r\nexport interface MichelsonTypeMap extends TypeX<'map', [K, V]> {\r\n}\r\nexport interface MichelsonTypeBigMap extends TypeX<'big_map', [K, V]> {\r\n}\r\nexport interface MichelsonTypeSaplingState extends TypeX<'sapling_state', [IntLiteral]> {\r\n}\r\nexport interface MichelsonTypeSaplingTransaction extends TypeX<'sapling_transaction', [IntLiteral]> {\r\n}\r\nexport interface MichelsonTypeTicket extends TypeX<'ticket', [T]> {\r\n}\r\nexport declare type MichelsonType = T extends 'int' ? MichelsonTypeInt : T extends 'nat' ? MichelsonTypeNat : T extends 'string' ? MichelsonTypeString : T extends 'bytes' ? MichelsonTypeBytes : T extends 'mutez' ? MichelsonTypeMutez : T extends 'bool' ? MichelsonTypeBool : T extends 'key_hash' ? MichelsonTypeKeyHash : T extends 'timestamp' ? MichelsonTypeTimestamp : T extends 'address' ? MichelsonTypeAddress : T extends 'key' ? MichelsonTypeKey : T extends 'unit' ? MichelsonTypeUnit : T extends 'signature' ? MichelsonTypeSignature : T extends 'operation' ? MichelsonTypeOperation : T extends 'chain_id' ? MichelsonTypeChainID : T extends 'option' ? MichelsonTypeOption : T extends 'list' ? MichelsonTypeList : T extends 'contract' ? MichelsonTypeContract : T extends 'ticket' ? MichelsonTypeTicket : T extends 'pair' ? MichelsonTypePair : T extends 'or' ? MichelsonTypeOr<[MichelsonType, MichelsonType]> : T extends 'lambda' ? MichelsonTypeLambda : T extends 'set' ? MichelsonTypeSet : T extends 'map' ? MichelsonTypeMap : T extends 'big_map' ? MichelsonTypeBigMap : T extends 'never' ? MichelsonTypeNever : T extends 'bls12_381_g1' ? MichelsonTypeBLS12_381_G1 : T extends 'bls12_381_g2' ? MichelsonTypeBLS12_381_G2 : T extends 'bls12_381_fr' ? MichelsonTypeBLS12_381_FR : T extends 'sapling_transaction' ? MichelsonTypeSaplingTransaction : T extends 'sapling_state' ? MichelsonTypeSaplingState : T extends 'chest_key' ? MichelsonTypeChestKey : MichelsonTypeChest;\r\nexport declare type MichelsonDataID = 'Unit' | 'True' | 'False' | 'None' | 'Pair' | 'Left' | 'Right' | 'Some' | 'Lambda_rec';\r\ndeclare type Data0 = Prim0;\r\ndeclare type DataX = PrimX;\r\nexport declare type MichelsonDataOption = DataX<'Some', [MichelsonData]> | Data0<'None'>;\r\nexport declare type MichelsonDataOr = DataX<'Left' | 'Right', [MichelsonData]>;\r\ndeclare type DataList = T & Node;\r\nexport declare type MichelsonDataPair = DataX<'Pair', T> | DataList;\r\nexport declare type MichelsonMapElt = PrimX<'Elt', [MichelsonData, MichelsonData]>;\r\nexport declare type MichelsonMapEltList = List;\r\nexport declare type MichelsonLambdaRec = DataX<'Lambda_rec', [InstructionList]>;\r\nexport declare type MichelsonData = IntLiteral | StringLiteral | BytesLiteral | Data0<'Unit' | 'True' | 'False'> | MichelsonDataOption | MichelsonDataOr | DataList | MichelsonDataPair | InstructionList | MichelsonMapEltList | MichelsonLambdaRec;\r\nexport declare type MichelsonSectionID = 'parameter' | 'storage' | 'code' | 'view';\r\ndeclare type SectionPrim = PrimX;\r\nexport declare type MichelsonContractParameter = SectionPrim<'parameter', [MichelsonType]>;\r\nexport declare type MichelsonContractStorage = SectionPrim<'storage', [MichelsonType]>;\r\nexport declare type MichelsonContractCode = SectionPrim<'code', [InstructionList]>;\r\nexport declare type MichelsonContractView = SectionPrim<'view', [\r\n StringLiteral,\r\n MichelsonType,\r\n MichelsonType,\r\n InstructionList\r\n]>;\r\nexport declare type MichelsonContract = MichelsonContractSection[];\r\nexport declare type MichelsonContractSection = T extends 'parameter' ? MichelsonContractParameter : T extends 'storage' ? MichelsonContractStorage : T extends 'view' ? MichelsonContractView : MichelsonContractCode;\r\nexport interface MichelsonTypeFailed {\r\n failed: MichelsonType;\r\n level: number;\r\n}\r\nexport declare type MichelsonReturnType = MichelsonType[] | MichelsonTypeFailed;\r\nexport declare enum Protocol {\r\n Ps9mPmXa = \"Ps9mPmXaRzmzk35gbAYNCAw6UXdE2qoABTHbN2oEEc1qM7CwT9P\",\r\n PtCJ7pwo = \"PtCJ7pwoxe8JasnHY8YonnLYjcVHmhiARPJvqcC6VfHT5s8k8sY\",\r\n PsYLVpVv = \"PsYLVpVvgbLhAhoqAkMFUo6gudkJ9weNXhUYCiLDzcUpFpkk8Wt\",\r\n PsddFKi3 = \"PsddFKi32cMJ2qPjf43Qv5GDWLDPZb3T3bF6fLKiF5HtvHNU7aP\",\r\n Pt24m4xi = \"Pt24m4xiPbLDhVgVfABUjirbmda3yohdN82Sp9FeuAXJ4eV9otd\",\r\n PsBABY5H = \"PsBABY5HQTSkA4297zNHfsZNKtxULfL18y95qb3m53QJiXGmrbU\",\r\n PsBabyM1 = \"PsBabyM1eUXZseaJdmXFApDSBqj8YBfwELoxZHHW77EMcAbbwAS\",\r\n PsCARTHA = \"PsCARTHAGazKbHtnKfLzQg3kms52kSRpgnDY982a9oYsSXRLQEb\",\r\n PsDELPH1 = \"PsDELPH1Kxsxt8f9eWbxQeRxkjfbxoqM52jvs5Y5fBxWWh4ifpo\",\r\n PtEdoTez = \"PtEdoTezd3RHSC31mpxxo1npxFjoWWcFgQtxapi51Z8TLu6v6Uq\",\r\n PtEdo2Zk = \"PtEdo2ZkT9oKpimTah6x2embF25oss54njMuPzkJTEi5RqfdZFA\",\r\n PsFLoren = \"PsFLorenaUUuikDWvMDr6fGBRG8kt3e3D3fHoXK1j1BFRxeSH4i\",\r\n PsFLorena = \"PsFLorenaUUuikDWvMDr6fGBRG8kt3e3D3fHoXK1j1BFRxeSH4i\",\r\n PtGRANAD = \"PtGRANADsDU8R9daYKAgWnQYAJ64omN1o3KMGVCykShA97vQbvV\",\r\n PtGRANADs = \"PtGRANADsDU8R9daYKAgWnQYAJ64omN1o3KMGVCykShA97vQbvV\",\r\n PtHangzH = \"PtHangzHogokSuiMHemCuowEavgYTP8J5qQ9fQS793MHYFpCY3r\",\r\n PtHangz2 = \"PtHangz2aRngywmSRGGvrcTyMbbdpWdpFKuS4uMWxg2RaH9i1qx\",\r\n PsiThaCa = \"PsiThaCaT47Zboaw71QWScM8sXeMM7bbQFncK9FLqYc6EKdpjVP\",\r\n Psithaca2 = \"Psithaca2MLRFYargivpo7YvUr7wUDqyxrdhC5CQq78mRvimz6A\",\r\n PtJakarta = \"PtJakartaiDz69SfDDLXJSiuZqTSeSKRDbKVZC8MNzJnvRjvnGw\",\r\n PtJakart2 = \"PtJakart2xVj7pYXJBXrqHgd82rdkLey5ZeeGwDgPp9rhQUbSqY\",\r\n PtKathman = \"PtKathmankSpLLDALzWw7CGD2j2MtyveTwboEYokqUCP4a1LxMg\",\r\n PtLimaPtL = \"PtLimaPtLMwfNinJi9rCfDPWea8dFgTZ1MeJ9f1m2SRic6ayiwW\",\r\n PtMumbaii = \"PtMumbaiiFFEGbew1rRjzSPyzRbA51Tm3RVZL5suHPxSZYDhCEc\",\r\n PtMumbai2 = \"PtMumbai2TmsJHNGRkD8v8YDbtao7BLUC3wjASn1inAKLFCjaH1\",\r\n PtNairobi = \"PtNairobiyssHuh87hEhfVBGCVrK3WnS8Z2FT4ymB5tAa4r1nQf\",\r\n ProtoALpha = \"ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK\"\r\n}\r\nexport declare const DefaultProtocol = Protocol.Psithaca2;\r\nexport declare type ProtocolID = `${Protocol}`;\r\nexport declare function ProtoGreaterOrEqual(a: ProtocolID, b: ProtocolID): boolean;\r\nexport declare function ProtoInferiorTo(a: ProtocolID, b: ProtocolID): boolean;\r\nexport interface ProtocolOptions {\r\n protocol?: ProtocolID;\r\n}\r\nexport {};\r\n"},{name:"@taquito/michel-codec/dist/types/michelson-validator.d.ts",dts:"import { Prim, Expr, StringLiteral } from './micheline';\r\nimport { MichelsonError } from './utils';\r\nimport { MichelsonCode, MichelsonType, MichelsonData, MichelsonContract, MichelsonInstruction, InstructionList } from './michelson-types';\r\nexport declare const instructionIDs: Record;\r\nexport declare class MichelsonValidationError extends MichelsonError {\r\n readonly val: Expr;\r\n readonly message: string;\r\n /**\r\n * @param val Value of a node caused the error\r\n * @param message An error message\r\n */\r\n constructor(val: Expr, message: string);\r\n}\r\n/**\r\n * Checks if the node is a valid Michelson code (sequence of instructions).\r\n * This is a type guard function which either returns true of throws an exception.\r\n * @param ex An AST node\r\n */\r\nexport declare function assertMichelsonInstruction(ex: Expr): ex is MichelsonCode;\r\nexport declare function assertMichelsonComparableType(ex: Expr): ex is MichelsonType;\r\nexport declare function assertMichelsonPackableType(ex: Expr): ex is MichelsonType;\r\nexport declare function assertMichelsonPushableType(ex: Expr): ex is MichelsonType;\r\nexport declare function assertMichelsonStorableType(ex: Expr): ex is MichelsonType;\r\nexport declare function assertMichelsonPassableType(ex: Expr): ex is MichelsonType;\r\nexport declare function assertMichelsonBigMapStorableType(ex: Expr): ex is MichelsonType;\r\nexport declare function assertViewNameValid(name: StringLiteral): void;\r\n/**\r\n * Checks if the node is a valid Michelson type expression.\r\n * This is a type guard function which either returns true of throws an exception.\r\n * @param ex An AST node\r\n */\r\nexport declare function assertMichelsonType(ex: Expr): ex is MichelsonType;\r\n/**\r\n * Checks if the node is a valid Michelson data literal such as `(Pair {Elt \"0\" 0} 0)`.\r\n * This is a type guard function which either returns true of throws an exception.\r\n * @param ex An AST node\r\n */\r\nexport declare function assertMichelsonData(ex: Expr): ex is MichelsonData;\r\n/**\r\n * Checks if the node is a valid Michelson smart contract source containing all required and valid properties such as `parameter`, `storage` and `code`.\r\n * This is a type guard function which either returns true of throws an exception.\r\n * @param ex An AST node\r\n */\r\nexport declare function assertMichelsonContract(ex: Expr): ex is MichelsonContract;\r\n/**\r\n * Checks if the node is a valid Michelson smart contract source containing all required and valid properties such as `parameter`, `storage` and `code`.\r\n * @param ex An AST node\r\n */\r\nexport declare function isMichelsonScript(ex: Expr): ex is MichelsonContract;\r\n/**\r\n * Checks if the node is a valid Michelson data literal such as `(Pair {Elt \"0\" 0} 0)`.\r\n * @param ex An AST node\r\n */\r\nexport declare function isMichelsonData(ex: Expr): ex is MichelsonData;\r\n/**\r\n * Checks if the node is a valid Michelson code (sequence of instructions).\r\n * @param ex An AST node\r\n */\r\nexport declare function isMichelsonCode(ex: Expr): ex is InstructionList;\r\n/**\r\n * Checks if the node is a valid Michelson type expression.\r\n * @param ex An AST node\r\n */\r\nexport declare function isMichelsonType(ex: Expr): ex is MichelsonType;\r\nexport declare function isInstruction(p: Prim): p is MichelsonInstruction;\r\nexport declare function assertDataListIfAny(d: MichelsonData): d is MichelsonData[];\r\n"},{name:"@taquito/michel-codec/dist/types/scan.d.ts",dts:"import { TaquitoError } from '@taquito/core';\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure when performing the scan step when parsing Michelson\r\n */\r\nexport declare class ScanError extends TaquitoError {\r\n readonly src: string;\r\n readonly idx: number;\r\n readonly message: string;\r\n constructor(src: string, idx: number, message: string);\r\n}\r\nexport declare enum Literal {\r\n Comment = 0,\r\n Number = 1,\r\n String = 2,\r\n Bytes = 3,\r\n Ident = 4\r\n}\r\nexport declare type TokenType = '(' | ')' | '{' | '}' | ';' | Literal;\r\nexport interface Token {\r\n t: TokenType;\r\n v: string;\r\n first: number;\r\n last: number;\r\n}\r\nexport declare function scan(src: string, scanComments?: boolean): Generator;\r\n"},{name:"@taquito/michel-codec/dist/types/taquito-michel-codec.d.ts",dts:"/**\r\n * @packageDocumentation\r\n * @module @taquito/michel-codec\r\n */\r\nexport * from './micheline';\r\nexport * from './micheline-parser';\r\nexport * from './micheline-emitter';\r\nexport * from './michelson-validator';\r\nexport * from './michelson-types';\r\nexport * from './michelson-typecheck';\r\nexport * from './michelson-contract';\r\nexport * from './formatters';\r\nexport * from './binary';\r\nexport { MichelsonError, isMichelsonError, MichelsonTypeError } from './utils';\r\nexport { MacroError } from './macros';\r\nexport { VERSION } from './version';\r\n"},{name:"@taquito/michel-codec/dist/types/utils.d.ts",dts:"import { Prim, Expr, StringLiteral, IntLiteral } from './micheline';\r\nimport { MichelsonData, MichelsonDataPair, MichelsonType, MichelsonTypePair } from './michelson-types';\r\nimport { TaquitoError } from '@taquito/core';\r\nexport declare type Tuple = N extends 1 ? [T] : N extends 2 ? [T, T] : N extends 3 ? [T, T, T] : N extends 4 ? [T, T, T, T] : N extends 5 ? [T, T, T, T, T] : N extends 6 ? [T, T, T, T, T, T] : N extends 7 ? [T, T, T, T, T, T, T] : N extends 8 ? [T, T, T, T, T, T, T, T] : T[];\r\ndeclare type RequiredProp = Omit & Required>;\r\ndeclare type OmitProp = Omit & {\r\n [P in K]?: undefined;\r\n};\r\nexport declare type ReqArgs = RequiredProp;\r\nexport declare type NoArgs = OmitProp;\r\nexport declare type NoAnnots = OmitProp;\r\nexport declare type Nullable = {\r\n [P in keyof T]: T[P] | null;\r\n};\r\n/**\r\n * @category Error\r\n * @description Error that indicates a Michelson failure occurring\r\n */\r\nexport declare class MichelsonError extends TaquitoError {\r\n readonly val: T;\r\n readonly message: string;\r\n /**\r\n * @param val Value of a AST node caused the error\r\n * @param path Path to a node caused the error\r\n * @param message An error message\r\n */\r\n constructor(val: T, message: string);\r\n}\r\nexport declare function isMichelsonError(err: unknown): err is MichelsonError;\r\nexport declare class MichelsonTypeError extends MichelsonError {\r\n readonly val: MichelsonType | MichelsonType[];\r\n readonly message: string;\r\n data?: Expr;\r\n /**\r\n * @param val Value of a type node caused the error\r\n * @param data Value of a data node caused the error\r\n * @param message An error message\r\n */\r\n constructor(val: MichelsonType | MichelsonType[], message: string, data?: Expr);\r\n}\r\nexport declare class LongInteger {\r\n private neg;\r\n private buf;\r\n private append;\r\n constructor(arg?: string | number);\r\n cmp(arg: LongInteger): number;\r\n get sign(): number;\r\n}\r\nexport declare function parseBytes(s: string): number[] | null;\r\nexport declare function compareBytes(a: number[] | Uint8Array, b: number[] | Uint8Array): number;\r\nexport declare function isDecimal(x: string): boolean;\r\nexport declare function isNatural(x: string): boolean;\r\nexport interface UnpackedAnnotations {\r\n f?: string[];\r\n t?: string[];\r\n v?: string[];\r\n}\r\nexport interface UnpackAnnotationsOptions {\r\n specialVar?: boolean;\r\n emptyVar?: boolean;\r\n specialFields?: boolean;\r\n emptyFields?: boolean;\r\n}\r\nexport declare function unpackAnnotations(p: Prim | Expr[], opt?: UnpackAnnotationsOptions): UnpackedAnnotations;\r\nexport declare type TezosIDType = 'BlockHash' | 'OperationHash' | 'OperationListHash' | 'OperationListListHash' | 'ProtocolHash' | 'ContextHash' | 'ED25519PublicKeyHash' | 'SECP256K1PublicKeyHash' | 'P256PublicKeyHash' | 'ContractHash' | 'CryptoboxPublicKeyHash' | 'ED25519Seed' | 'ED25519PublicKey' | 'SECP256K1SecretKey' | 'P256SecretKey' | 'ED25519EncryptedSeed' | 'SECP256K1EncryptedSecretKey' | 'P256EncryptedSecretKey' | 'SECP256K1PublicKey' | 'P256PublicKey' | 'SECP256K1Scalar' | 'SECP256K1Element' | 'ED25519SecretKey' | 'ED25519Signature' | 'SECP256K1Signature' | 'P256Signature' | 'GenericSignature' | 'ChainID' | 'RollupAddress' | 'TxRollupL2Address';\r\nexport declare type TezosIDPrefix = [number, number[]];\r\nexport declare const tezosPrefix: Record;\r\nexport declare function checkDecodeTezosID(id: string, ...types: T): [T[number], number[]] | null;\r\nexport declare function encodeTezosID(id: TezosIDType, data: number[] | Uint8Array): string;\r\ndeclare type PairTypeOrDataPrim = I extends 'pair' ? Extract, Prim> : Extract, Prim>;\r\nexport declare function unpackComb(id: I, v: I extends 'pair' ? MichelsonTypePair : MichelsonDataPair): PairTypeOrDataPrim;\r\nexport declare function isPairType(t: MichelsonType): t is MichelsonTypePair;\r\nexport declare function isPairData(d: Expr): d is MichelsonDataPair;\r\nexport declare function parseDate(a: StringLiteral | IntLiteral): Date | null;\r\nexport declare function parseHex(s: string): number[];\r\nexport declare function hexBytes(bytes: number[]): string;\r\nexport {};\r\n"},{name:"@taquito/michel-codec/dist/types/version.d.ts",dts:"export declare const VERSION: {\r\n commitHash: string;\r\n version: string;\r\n};\r\n"},{name:"@taquito/michelson-encoder/dist/types/schema/errors.d.ts",dts:"import { InvalidViewParameterError, TaquitoError } from '@taquito/core';\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure when encoding (transforming JS parameter into JSON Michelson) the parameter of the view\r\n */\r\nexport declare class ParameterEncodingError extends InvalidViewParameterError {\r\n readonly viewName: string;\r\n readonly sigs: any;\r\n readonly args: any;\r\n readonly cause?: any;\r\n constructor(viewName: string, sigs: any, args: any, cause?: any);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates an invalid on-chain view found on the script\r\n */\r\nexport declare class InvalidScriptError extends TaquitoError {\r\n readonly script: any;\r\n readonly reason?: string | undefined;\r\n name: string;\r\n constructor(script: any, reason?: string | undefined);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates an invalid RPC response being passed or used\r\n */\r\nexport declare class InvalidRpcResponseError extends TaquitoError {\r\n readonly script: any;\r\n readonly reason?: string | undefined;\r\n name: string;\r\n constructor(script: any, reason?: string | undefined);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates an invalid big map schema being passed or used\r\n */\r\nexport declare class InvalidBigMapSchemaError extends TaquitoError {\r\n message: string;\r\n name: string;\r\n constructor(message: string);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates an invalid big map diff being passed or used\r\n */\r\nexport declare class InvalidBigMapDiffError extends TaquitoError {\r\n message: string;\r\n readonly value: any;\r\n name: string;\r\n constructor(message: string, value: any);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure when trying to encode big maps\r\n */\r\nexport declare class BigMapEncodingError extends TaquitoError {\r\n readonly details: any;\r\n readonly schema: any;\r\n readonly value: any;\r\n name: string;\r\n constructor(obj: 'key' | 'value', details: any, schema: any, value: any);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure when trying to encode storage\r\n */\r\nexport declare class StorageEncodingError extends TaquitoError {\r\n details: any;\r\n readonly schema: any;\r\n readonly value: any;\r\n readonly semantics?: any;\r\n name: string;\r\n constructor(obj: string, details: any, schema: any, value: any, semantics?: any);\r\n}\r\n/**\r\n * @category Error\r\n * @description General error that indicates a function not being passed a necessary argument\r\n */\r\nexport declare class MissingArgumentError extends TaquitoError {\r\n message: string;\r\n name: string;\r\n constructor(message: string);\r\n}\r\n"},{name:"@taquito/michelson-encoder/dist/types/schema/event-schema.d.ts",dts:"import { MichelsonV1Expression, MichelsonV1ExpressionExtended, ScriptResponse } from '@taquito/rpc';\r\nexport declare class EventSchema {\r\n readonly tag?: string | undefined;\r\n readonly type?: MichelsonV1ExpressionExtended | undefined;\r\n constructor(tag?: string | undefined, type?: MichelsonV1ExpressionExtended | undefined);\r\n static fromMichelineValue(val: MichelsonV1ExpressionExtended): EventSchema;\r\n static fromRPCResponse(val: {\r\n script: ScriptResponse;\r\n }): EventSchema[];\r\n static removeDuplicates(events: EventSchema[]): EventSchema[];\r\n static extractEventsRecursively(code: MichelsonV1Expression): EventSchema[];\r\n}\r\n"},{name:"@taquito/michelson-encoder/dist/types/schema/model.d.ts",dts:"export interface RpcTransaction {\r\n protocol: string;\r\n chain_id: string;\r\n hash: string;\r\n branch: string;\r\n contents: Content[];\r\n signature: string;\r\n}\r\ninterface Content {\r\n kind: string;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n amount: string;\r\n destination: string;\r\n parameters: Params;\r\n metadata: Metadata;\r\n}\r\ninterface Metadata {\r\n balance_updates: Balanceupdate[];\r\n operation_result: Operationresult;\r\n}\r\ninterface Operationresult {\r\n status: string;\r\n storage: Storage;\r\n big_map_diff: Bigmapdiff[];\r\n consumed_gas?: string;\r\n storage_size: string;\r\n paid_storage_size_diff: string;\r\n consumed_milligas?: string;\r\n}\r\ninterface Bigmapdiff {\r\n key_hash: string;\r\n key: Key;\r\n value: Value;\r\n}\r\ninterface Value {\r\n prim: string;\r\n args: any[];\r\n}\r\ninterface Key {\r\n bytes: string;\r\n}\r\ninterface Storage {\r\n prim: string;\r\n args: any[];\r\n}\r\ninterface Balanceupdate {\r\n kind: string;\r\n contract?: string;\r\n change: string;\r\n category?: string;\r\n delegate?: string;\r\n level?: number;\r\n}\r\ninterface Params {\r\n prim: string;\r\n args: any[];\r\n}\r\nexport {};\r\n"},{name:"@taquito/michelson-encoder/dist/types/schema/parameter.d.ts",dts:"import { Semantic, SemanticEncoding } from '../tokens/token';\r\nimport { ScriptResponse, MichelsonV1Expression } from '@taquito/rpc';\r\nimport { TokenSchema } from './types';\r\n/**\r\n * @warn Our current smart contract abstraction feature is currently in preview. It's API is not final, and it may not cover every use case (yet). We will greatly appreciate any feedback on this feature.\r\n */\r\nexport declare class ParameterSchema {\r\n private root;\r\n /**\r\n *\r\n * @description Create an instance of ParameterSchema from a contract script\r\n *\r\n * @param val contract script obtained from the RPC\r\n * @returns ParameterSchema\r\n * @throws {InvalidRpcResponseError} If the RPC response is invalid\r\n */\r\n static fromRPCResponse(val: {\r\n script: ScriptResponse;\r\n }): ParameterSchema;\r\n /**\r\n * @description Check if the Contract parameter is multiple entry point or not\r\n */\r\n get isMultipleEntryPoint(): boolean;\r\n /**\r\n * @description Check if the Contract parameter has an annotation or not\r\n */\r\n get hasAnnotation(): boolean;\r\n /**\r\n * @description Return the schema of the parameter of a specific entry point\r\n * @throws {@link InvalidTokenError}\r\n */\r\n constructor(val: MichelsonV1Expression);\r\n /**\r\n * @description Returns the javascript object equivalent of the Micheline value provided\r\n */\r\n Execute(val: any, semantics?: Semantic): any;\r\n /**\r\n * @description Returns a micheline formatted object for the values provided\r\n * @throws {@link TokenValidationError}\r\n * @throws {@link ParameterEncodingError}\r\n */\r\n Encode(...args: any[]): any;\r\n /**\r\n * @description Returns a micheline formatted object for the javascript object provided\r\n * @throws {@link TokenValidationError}\r\n * @throws {@link ParameterEncodingError}\r\n */\r\n EncodeObject(value?: any, semantics?: SemanticEncoding): any;\r\n /**\r\n * @deprecated ExtractSchema has been deprecated in favor of generateSchema\r\n *\r\n */\r\n ExtractSchema(): any;\r\n /**\r\n * @description Produce a schema grouping together all the entry points of a contract.\r\n */\r\n generateSchema(): TokenSchema;\r\n ExtractSignatures(): any[][];\r\n}\r\n"},{name:"@taquito/michelson-encoder/dist/types/schema/storage.d.ts",dts:"import { MichelsonV1Expression, ScriptResponse } from '@taquito/rpc';\r\nimport { BigMapKeyType, Semantic, SemanticEncoding, Token } from '../tokens/token';\r\nimport { RpcTransaction } from './model';\r\nimport { TokenSchema } from './types';\r\ndeclare const schemaTypeSymbol: unique symbol;\r\nexport declare function deepEqual(a: MichelsonV1Expression | undefined, b: MichelsonV1Expression | undefined): boolean;\r\n/**\r\n * @warn Our current smart contract abstraction feature is currently in preview. Its API is not final, and it may not cover every use case (yet). We will greatly appreciate any feedback on this feature.\r\n */\r\nexport declare class Schema {\r\n readonly val: MichelsonV1Expression;\r\n private root;\r\n [schemaTypeSymbol]: boolean;\r\n static isSchema(obj: Schema): boolean;\r\n private bigMap?;\r\n /**\r\n * @throws {@link InvalidRpcResponseError}\r\n */\r\n static fromRPCResponse(val: {\r\n script: ScriptResponse;\r\n }): Schema;\r\n private isExpressionExtended;\r\n constructor(val: MichelsonV1Expression);\r\n private removeTopLevelAnnotation;\r\n Execute(val: any, semantics?: Semantic): any;\r\n Typecheck(val: any): void;\r\n /**\r\n * @throws {@link InvalidBigMapSchemaError}\r\n * @throws {@link InvalidBigMapDiffError}\r\n */\r\n ExecuteOnBigMapDiff(diff: any[], semantics?: Semantic): any;\r\n /**\r\n * @throws {@link InvalidBigMapSchemaError}\r\n */\r\n ExecuteOnBigMapValue(key: any, semantics?: Semantic): any;\r\n /**\r\n * @throws {@link InvalidBigMapSchemaError}\r\n * @throws {@link BigMapEncodingError}\r\n */\r\n EncodeBigMapKey(key: BigMapKeyType): {\r\n key: {\r\n [key: string]: string | object[];\r\n };\r\n type: {\r\n prim: string;\r\n args?: object[] | undefined;\r\n };\r\n };\r\n /**\r\n * @throws {@link TokenValidationError}\r\n * @throws {@link StorageEncodingError}\r\n */\r\n Encode(value?: any, semantics?: SemanticEncoding): any;\r\n /**\r\n * @deprecated ExtractSchema has been deprecated in favor of generateSchema\r\n *\r\n */\r\n ExtractSchema(): any;\r\n /**\r\n * @description Produce a representation of the storage schema.\r\n * Note: Provide guidance on how to write the storage object for the origination operation with Taquito.\r\n */\r\n generateSchema(): TokenSchema;\r\n /**\r\n * @deprecated\r\n * @throws {@link InvalidBigMapSchemaError}\r\n */\r\n ComputeState(tx: RpcTransaction[], state: any): any;\r\n /**\r\n * @description Look up in top-level pairs of the storage to find a value matching the specified type\r\n *\r\n * @returns The first value found that match the type or `undefined` if no value is found\r\n *\r\n * @param storage storage to parse to find the value\r\n * @param valueType type of value to look for\r\n *\r\n */\r\n FindFirstInTopLevelPair(storage: any, valueType: any): T | undefined;\r\n /**\r\n * @throws {@link MissingArgumentError}\r\n */\r\n private findValue;\r\n /**\r\n * @description Look up the schema to find any occurrence of a particular token.\r\n *\r\n * @returns an array of tokens of the specified kind or an empty array if no token was found\r\n *\r\n * @param tokenToFind string representing the prim property of the token to find\r\n *\r\n * @example\r\n * ```\r\n * Useful to find all global constants in a script, an array of GlobalConstantToken is returned:\r\n *\r\n * const schema = new Schema(script);\r\n * const allGlobalConstantTokens = schema.findToken('constant');\r\n * ```\r\n *\r\n */\r\n findToken(tokenToFind: string): Array;\r\n}\r\nexport {};\r\n"},{name:"@taquito/michelson-encoder/dist/types/schema/types.d.ts",dts:"export declare type Falsy = T | undefined | false;\r\nexport declare type BaseTokenSchema = {\r\n __michelsonType: 'address' | 'bool' | 'bytes' | 'int' | 'key' | 'key_hash' | 'mutez' | 'nat' | 'string' | 'timestamp' | 'bls12_381_fr' | 'bls12_381_g1' | 'bls12_381_g2' | 'chain_id' | 'never' | 'operation' | 'chest' | 'chest_key' | 'signature' | 'unit' | 'tx_rollup_l2_address';\r\n schema: string;\r\n};\r\nexport declare type OrTokenSchema = {\r\n __michelsonType: 'or';\r\n schema: Record;\r\n};\r\nexport declare type PairTokenSchema = {\r\n __michelsonType: 'pair';\r\n schema: Record;\r\n};\r\nexport declare type ListTokenSchema = {\r\n __michelsonType: 'list';\r\n schema: TokenSchema;\r\n};\r\nexport declare type SetTokenSchema = {\r\n __michelsonType: 'set';\r\n schema: TokenSchema;\r\n};\r\nexport declare type OptionTokenSchema = {\r\n __michelsonType: 'option';\r\n schema: TokenSchema;\r\n};\r\nexport declare type MapTokenSchema = {\r\n __michelsonType: 'map';\r\n schema: {\r\n key: TokenSchema;\r\n value: TokenSchema;\r\n };\r\n};\r\nexport declare type BigMapTokenSchema = {\r\n __michelsonType: 'big_map';\r\n schema: {\r\n key: TokenSchema;\r\n value: TokenSchema;\r\n };\r\n};\r\nexport declare type ConstantTokenSchema = {\r\n __michelsonType: 'constant';\r\n schema: {\r\n hash: string;\r\n };\r\n};\r\nexport declare type ContractTokenSchema = {\r\n __michelsonType: 'contract';\r\n schema: {\r\n parameter: TokenSchema;\r\n };\r\n};\r\nexport declare type LambdaTokenSchema = {\r\n __michelsonType: 'lambda';\r\n schema: {\r\n parameters: TokenSchema;\r\n returns: TokenSchema;\r\n };\r\n};\r\nexport declare type SaplingStateTokenSchema = {\r\n __michelsonType: 'sapling_state';\r\n schema: {\r\n memoSize: string;\r\n };\r\n};\r\nexport declare type SaplingTransactionTokenSchema = {\r\n __michelsonType: 'sapling_transaction';\r\n schema: {\r\n memoSize: string;\r\n };\r\n};\r\nexport declare type SaplingTransactionDeprecatedTokenSchema = {\r\n __michelsonType: 'sapling_transaction_deprecated';\r\n schema: {\r\n memoSize: string;\r\n };\r\n};\r\nexport declare type TicketTokenSchema = {\r\n __michelsonType: 'ticket';\r\n schema: {\r\n value: TokenSchema;\r\n ticketer: {\r\n __michelsonType: 'contract';\r\n schema: 'contract';\r\n };\r\n amount: {\r\n __michelsonType: 'int';\r\n schema: 'int';\r\n };\r\n };\r\n};\r\nexport declare type TicketDeprecatedTokenSchema = {\r\n __michelsonType: 'ticket_deprecated';\r\n schema: {\r\n value: TokenSchema;\r\n ticketer: {\r\n __michelsonType: 'contract';\r\n schema: 'contract';\r\n };\r\n amount: {\r\n __michelsonType: 'int';\r\n schema: 'int';\r\n };\r\n };\r\n};\r\nexport declare type TokenSchema = BaseTokenSchema | OrTokenSchema | PairTokenSchema | ListTokenSchema | SetTokenSchema | OptionTokenSchema | MapTokenSchema | BigMapTokenSchema | ConstantTokenSchema | ContractTokenSchema | LambdaTokenSchema | SaplingStateTokenSchema | SaplingTransactionTokenSchema | SaplingTransactionDeprecatedTokenSchema | TicketTokenSchema | TicketDeprecatedTokenSchema;\r\n"},{name:"@taquito/michelson-encoder/dist/types/schema/view-schema.d.ts",dts:"import { MichelsonV1Expression, MichelsonV1ExpressionExtended, ScriptResponse } from '@taquito/rpc';\r\nimport { Semantic } from '../tokens/token';\r\nexport declare class ViewSchema {\r\n readonly viewName: string;\r\n readonly viewArgsType: MichelsonV1ExpressionExtended;\r\n readonly viewReturnType: MichelsonV1ExpressionExtended;\r\n readonly instructions: MichelsonV1ExpressionExtended[];\r\n private rootArgsType;\r\n private rootReturnType;\r\n /**\r\n *\r\n * @description Create an instance of ViewSchema for each view in a script\r\n *\r\n * @param val contract script obtained from the RPC\r\n * @returns array of ViewSchema or empty array if there is no view in the contract\r\n * @throws {@link InvalidScriptError}\r\n */\r\n static fromRPCResponse(val: {\r\n script: ScriptResponse;\r\n }): ViewSchema[];\r\n /**\r\n * @throws {@link InvalidScriptError}\r\n */\r\n constructor(viewArgs: MichelsonV1Expression[] | undefined);\r\n /**\r\n *\r\n * @description Transform the view parameter into Michelson\r\n *\r\n * @param args parameter of the view in js format\r\n * @returns parameter of the view in Michelson\r\n * @throws {@link ParameterEncodingError}\r\n */\r\n encodeViewArgs(args: any): any;\r\n /**\r\n *\r\n * @description Transform the view result from Michelson to readable data\r\n *\r\n * @param val result of the view in JSON Michelson\r\n * @param semantics optional semantics to override the default decoding behavior\r\n * @returns result of the view in a readable format\r\n */\r\n decodeViewResult(val: any, semantics?: Semantic): any;\r\n /**\r\n *\r\n * @description Return the signature of the view parameter\r\n */\r\n extractArgsSchema(): any;\r\n /**\r\n *\r\n * @description Return the format of the view result\r\n */\r\n extractResultSchema(): any;\r\n}\r\n"},{name:"@taquito/michelson-encoder/dist/types/tokens/comparable/address.d.ts",dts:"import { Token, TokenFactory, ComparableToken, TokenValidationError, SemanticEncoding } from '../token';\r\nimport { BaseTokenSchema } from '../../schema/types';\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure happening when parsing encoding/executing an Address\r\n */\r\nexport declare class AddressValidationError extends TokenValidationError {\r\n value: any;\r\n token: AddressToken;\r\n name: string;\r\n constructor(value: any, token: AddressToken, message: string);\r\n}\r\nexport declare class AddressToken extends ComparableToken {\r\n protected val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n };\r\n protected idx: number;\r\n protected fac: TokenFactory;\r\n static prim: 'address';\r\n constructor(val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n }, idx: number, fac: TokenFactory);\r\n ToBigMapKey(val: any): {\r\n key: {\r\n bytes: string;\r\n };\r\n type: {\r\n prim: string;\r\n };\r\n };\r\n /**\r\n * @throws {@link AddressValidationError}\r\n */\r\n private validate;\r\n /**\r\n * @throws {@link AddressValidationError}\r\n */\r\n Encode(args: any[]): any;\r\n /**\r\n * @throws {@link AddressValidationError}\r\n */\r\n EncodeObject(val: any, semantic?: SemanticEncoding): any;\r\n /**\r\n * @throws {@link AddressValidationError}\r\n */\r\n Execute(val: {\r\n bytes: string;\r\n string: string;\r\n }): string;\r\n /**\r\n * @deprecated ExtractSchema has been deprecated in favor of generateSchema\r\n *\r\n */\r\n ExtractSchema(): \"address\";\r\n generateSchema(): BaseTokenSchema;\r\n /**\r\n * @throws {@link AddressValidationError}\r\n */\r\n ToKey({ bytes, string }: any): any;\r\n compare(address1: string, address2: string): number;\r\n findAndReturnTokens(tokenToFind: string, tokens: Token[]): Token[];\r\n}\r\n"},{name:"@taquito/michelson-encoder/dist/types/tokens/comparable/bool.d.ts",dts:"import { BaseTokenSchema } from '../../schema/types';\r\nimport { Token, TokenFactory, ComparableToken, SemanticEncoding } from '../token';\r\nexport declare class BoolToken extends ComparableToken {\r\n protected val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n };\r\n protected idx: number;\r\n protected fac: TokenFactory;\r\n static prim: 'bool';\r\n constructor(val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n }, idx: number, fac: TokenFactory);\r\n Execute(val: any): boolean;\r\n Encode(args: any[]): any;\r\n EncodeObject(val: any, semantic?: SemanticEncoding): import(\"@taquito/rpc\").MichelsonV1Expression;\r\n /**\r\n * @deprecated ExtractSchema has been deprecated in favor of generateSchema\r\n *\r\n */\r\n ExtractSchema(): \"bool\";\r\n generateSchema(): BaseTokenSchema;\r\n ToBigMapKey(val: string): {\r\n key: {\r\n [key: string]: string;\r\n };\r\n type: {\r\n prim: string;\r\n };\r\n };\r\n ToKey(val: string): import(\"@taquito/rpc\").MichelsonV1Expression;\r\n compare(val1: any, val2: any): 0 | 1 | -1;\r\n findAndReturnTokens(tokenToFind: string, tokens: Token[]): Token[];\r\n}\r\n"},{name:"@taquito/michelson-encoder/dist/types/tokens/comparable/bytes.d.ts",dts:"import { BaseTokenSchema } from '../../schema/types';\r\nimport { TokenFactory, ComparableToken, TokenValidationError, Token, SemanticEncoding } from '../token';\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure happening when parsing encoding/executing Bytes\r\n */\r\nexport declare class BytesValidationError extends TokenValidationError {\r\n value: any;\r\n token: BytesToken;\r\n name: string;\r\n constructor(value: any, token: BytesToken, message: string);\r\n}\r\nexport declare class BytesToken extends ComparableToken {\r\n protected val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n };\r\n protected idx: number;\r\n protected fac: TokenFactory;\r\n static prim: 'bytes';\r\n constructor(val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n }, idx: number, fac: TokenFactory);\r\n ToBigMapKey(val: string): {\r\n key: {\r\n bytes: string;\r\n };\r\n type: {\r\n prim: \"bytes\";\r\n };\r\n };\r\n /**\r\n * @throws {@link BytesValidationError}\r\n */\r\n private validate;\r\n private convertUint8ArrayToHexString;\r\n /**\r\n * @throws {@link BytesValidationError}\r\n */\r\n Encode(args: any[]): any;\r\n /**\r\n * @throws {@link BytesValidationError}\r\n */\r\n EncodeObject(val: string | Uint8Array, semantic?: SemanticEncoding): import(\"@taquito/rpc\").MichelsonV1Expression;\r\n Execute(val: any): string;\r\n /**\r\n * @deprecated ExtractSchema has been deprecated in favor of generateSchema\r\n *\r\n */\r\n ExtractSchema(): \"bytes\";\r\n generateSchema(): BaseTokenSchema;\r\n ToKey({ bytes, string }: any): any;\r\n findAndReturnTokens(tokenToFind: string, tokens: Token[]): Token[];\r\n}\r\n"},{name:"@taquito/michelson-encoder/dist/types/tokens/comparable/int.d.ts",dts:"import { Token, TokenFactory, ComparableToken, TokenValidationError, SemanticEncoding } from '../token';\r\nimport { BaseTokenSchema } from '../../schema/types';\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure happening when parsing encoding/executing Int\r\n */\r\nexport declare class IntValidationError extends TokenValidationError {\r\n value: any;\r\n token: IntToken;\r\n name: string;\r\n constructor(value: any, token: IntToken, message: string);\r\n}\r\nexport declare class IntToken extends ComparableToken {\r\n protected val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n };\r\n protected idx: number;\r\n protected fac: TokenFactory;\r\n static prim: 'int';\r\n constructor(val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n }, idx: number, fac: TokenFactory);\r\n Execute(val: {\r\n [key: string]: string;\r\n }): {\r\n [key: string]: any;\r\n };\r\n /**\r\n * @deprecated ExtractSchema has been deprecated in favor of generateSchema\r\n *\r\n */\r\n ExtractSchema(): \"int\";\r\n generateSchema(): BaseTokenSchema;\r\n /**\r\n * @throws {@link IntValidationError}\r\n */\r\n private validate;\r\n /**\r\n * @throws {@link IntValidationError}\r\n */\r\n Encode(args: any[]): any;\r\n /**\r\n * @throws {@link IntValidationError}\r\n */\r\n EncodeObject(val: any, semantic?: SemanticEncoding): any;\r\n ToBigMapKey(val: string | number): {\r\n key: {\r\n int: string;\r\n };\r\n type: {\r\n prim: \"int\";\r\n };\r\n };\r\n ToKey({ int }: any): any;\r\n compare(int1: string | number, int2: string | number): 0 | 1 | -1;\r\n findAndReturnTokens(tokenToFind: string, tokens: Token[]): Token[];\r\n}\r\n"},{name:"@taquito/michelson-encoder/dist/types/tokens/comparable/key_hash.d.ts",dts:"import { Token, TokenFactory, ComparableToken, TokenValidationError, SemanticEncoding } from '../token';\r\nimport { BaseTokenSchema } from '../../schema/types';\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure happening when parsing encoding/executing Key Hash\r\n */\r\nexport declare class KeyHashValidationError extends TokenValidationError {\r\n value: any;\r\n token: KeyHashToken;\r\n name: string;\r\n constructor(value: any, token: KeyHashToken, message: string);\r\n}\r\nexport declare class KeyHashToken extends ComparableToken {\r\n protected val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n };\r\n protected idx: number;\r\n protected fac: TokenFactory;\r\n static prim: 'key_hash';\r\n constructor(val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n }, idx: number, fac: TokenFactory);\r\n Execute(val: {\r\n bytes: string;\r\n string: string;\r\n }): string | undefined;\r\n /**\r\n * @throws {@link KeyHashValidationError}\r\n */\r\n private validate;\r\n /**\r\n * @throws {@link KeyHashValidationError}\r\n */\r\n Encode(args: any[]): any;\r\n /**\r\n * @throws {@link KeyHashValidationError}\r\n */\r\n EncodeObject(val: any, semantic?: SemanticEncoding): any;\r\n /**\r\n * @deprecated ExtractSchema has been deprecated in favor of generateSchema\r\n *\r\n */\r\n ExtractSchema(): \"key_hash\";\r\n generateSchema(): BaseTokenSchema;\r\n ToKey({ string, bytes }: any): any;\r\n ToBigMapKey(val: string): {\r\n key: {\r\n string: string;\r\n };\r\n type: {\r\n prim: \"key_hash\";\r\n };\r\n };\r\n findAndReturnTokens(tokenToFind: string, tokens: Token[]): Token[];\r\n}\r\n"},{name:"@taquito/michelson-encoder/dist/types/tokens/comparable/mutez.d.ts",dts:"import { Token, TokenFactory, ComparableToken, TokenValidationError, SemanticEncoding } from '../token';\r\nimport BigNumber from 'bignumber.js';\r\nimport { BaseTokenSchema } from '../../schema/types';\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure happening when parsing encoding/executing Mutez\r\n */\r\nexport declare class MutezValidationError extends TokenValidationError {\r\n value: any;\r\n token: MutezToken;\r\n name: string;\r\n constructor(value: any, token: MutezToken, message: string);\r\n}\r\nexport declare class MutezToken extends ComparableToken {\r\n protected val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n };\r\n protected idx: number;\r\n protected fac: TokenFactory;\r\n static prim: 'mutez';\r\n constructor(val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n }, idx: number, fac: TokenFactory);\r\n Execute(val: any): BigNumber;\r\n /**\r\n * @deprecated ExtractSchema has been deprecated in favor of generateSchema\r\n *\r\n */\r\n ExtractSchema(): \"mutez\";\r\n generateSchema(): BaseTokenSchema;\r\n /**\r\n * @throws {@link MutezValidationError}\r\n */\r\n private validate;\r\n /**\r\n * @throws {@link MutezValidationError}\r\n */\r\n Encode(args: any[]): any;\r\n /**\r\n * @throws {@link MutezValidationError}\r\n */\r\n EncodeObject(val: any, semantic?: SemanticEncoding): any;\r\n ToBigMapKey(val: string | number): {\r\n key: {\r\n int: string;\r\n };\r\n type: {\r\n prim: \"mutez\";\r\n };\r\n };\r\n ToKey({ int }: any): any;\r\n compare(mutez1: string | number, mutez2: string | number): 0 | 1 | -1;\r\n findAndReturnTokens(tokenToFind: string, tokens: Token[]): Token[];\r\n}\r\n"},{name:"@taquito/michelson-encoder/dist/types/tokens/comparable/nat.d.ts",dts:"import { Token, TokenFactory, ComparableToken, TokenValidationError, SemanticEncoding } from '../token';\r\nimport BigNumber from 'bignumber.js';\r\nimport { BaseTokenSchema } from '../../schema/types';\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure happening when parsing encoding/executing Nat\r\n */\r\nexport declare class NatValidationError extends TokenValidationError {\r\n value: any;\r\n token: NatToken;\r\n name: string;\r\n constructor(value: any, token: NatToken, message: string);\r\n}\r\nexport declare class NatToken extends ComparableToken {\r\n protected val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n };\r\n protected idx: number;\r\n protected fac: TokenFactory;\r\n static prim: 'nat';\r\n constructor(val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n }, idx: number, fac: TokenFactory);\r\n Execute(val: any): {\r\n [key: string]: any;\r\n };\r\n /**\r\n * @throws {@link NatValidationError}\r\n */\r\n Encode(args: any[]): any;\r\n /**\r\n * @throws {@link NatValidationError}\r\n */\r\n private validate;\r\n /**\r\n * @throws {@link NatValidationError}\r\n */\r\n EncodeObject(val: any, semantic?: SemanticEncoding): any;\r\n /**\r\n * @deprecated ExtractSchema has been deprecated in favor of generateSchema\r\n *\r\n */\r\n ExtractSchema(): \"nat\";\r\n generateSchema(): BaseTokenSchema;\r\n ToBigMapKey(val: string | number): {\r\n key: {\r\n int: string;\r\n };\r\n type: {\r\n prim: \"nat\";\r\n };\r\n };\r\n ToKey({ int }: any): BigNumber;\r\n compare(nat1: string | number, nat2: string | number): 0 | 1 | -1;\r\n findAndReturnTokens(tokenToFind: string, tokens: Token[]): Token[];\r\n}\r\n"},{name:"@taquito/michelson-encoder/dist/types/tokens/comparable/string.d.ts",dts:"import { BaseTokenSchema } from '../../schema/types';\r\nimport { Token, TokenFactory, ComparableToken, SemanticEncoding } from '../token';\r\nexport declare class StringToken extends ComparableToken {\r\n protected val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n };\r\n protected idx: number;\r\n protected fac: TokenFactory;\r\n static prim: 'string';\r\n constructor(val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n }, idx: number, fac: TokenFactory);\r\n Execute(val: any): string;\r\n /**\r\n * @deprecated ExtractSchema has been deprecated in favor of generateSchema\r\n *\r\n */\r\n ExtractSchema(): \"string\";\r\n generateSchema(): BaseTokenSchema;\r\n Encode(args: any[]): any;\r\n EncodeObject(val: any, semantic?: SemanticEncoding): any;\r\n ToKey({ string }: any): any;\r\n ToBigMapKey(val: string): {\r\n key: {\r\n string: string;\r\n };\r\n type: {\r\n prim: \"string\";\r\n };\r\n };\r\n findAndReturnTokens(tokenToFind: string, tokens: Token[]): Token[];\r\n}\r\n"},{name:"@taquito/michelson-encoder/dist/types/tokens/comparable/timestamp.d.ts",dts:"import { BaseTokenSchema } from '../../schema/types';\r\nimport { Token, TokenFactory, ComparableToken, SemanticEncoding } from '../token';\r\nexport declare class TimestampToken extends ComparableToken {\r\n protected val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n };\r\n protected idx: number;\r\n protected fac: TokenFactory;\r\n static prim: 'timestamp';\r\n constructor(val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n }, idx: number, fac: TokenFactory);\r\n Execute(val: {\r\n string?: string;\r\n int?: string;\r\n }): string | undefined;\r\n Encode(args: any[]): any;\r\n EncodeObject(val: any, semantic?: SemanticEncoding): any;\r\n /**\r\n * @deprecated ExtractSchema has been deprecated in favor of generateSchema\r\n *\r\n */\r\n ExtractSchema(): \"timestamp\";\r\n generateSchema(): BaseTokenSchema;\r\n ToKey({ string }: any): any;\r\n ToBigMapKey(val: string): {\r\n key: {\r\n string: string;\r\n };\r\n type: {\r\n prim: \"timestamp\";\r\n };\r\n };\r\n findAndReturnTokens(tokenToFind: string, tokens: Token[]): Token[];\r\n}\r\n"},{name:"@taquito/michelson-encoder/dist/types/tokens/comparable/tx_rollup_l2_address.d.ts",dts:"import { BaseTokenSchema } from '../../schema/types';\r\nimport { ComparableToken, SemanticEncoding, Token, TokenFactory, TokenValidationError } from '../token';\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure happening when parsing encoding/executing a Tx Rollup L2 Address\r\n */\r\nexport declare class TxRollupL2AddressValidationError extends TokenValidationError {\r\n value: unknown;\r\n token: TxRollupL2AddressToken;\r\n name: string;\r\n constructor(value: unknown, token: TxRollupL2AddressToken, message: string);\r\n}\r\nexport declare class TxRollupL2AddressToken extends ComparableToken {\r\n protected val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n };\r\n protected idx: number;\r\n protected fac: TokenFactory;\r\n static prim: 'tx_rollup_l2_address';\r\n constructor(val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n }, idx: number, fac: TokenFactory);\r\n ToBigMapKey(val: any): {\r\n key: {\r\n bytes: string;\r\n };\r\n type: {\r\n prim: string;\r\n };\r\n };\r\n /**\r\n * @throws {@link TxRollupL2AddressValidationError}\r\n */\r\n private validate;\r\n /**\r\n * @throws {@link TxRollupL2AddressValidationError}\r\n */\r\n Encode(args: string[]): any;\r\n /**\r\n * @throws {@link TxRollupL2AddressValidationError}\r\n */\r\n EncodeObject(val: any, semantic?: SemanticEncoding): any;\r\n /**\r\n * @throws {@link TxRollupL2AddressValidationError}\r\n */\r\n Execute(val: {\r\n bytes?: string;\r\n string?: string;\r\n }): string;\r\n ExtractSchema(): \"tx_rollup_l2_address\";\r\n generateSchema(): BaseTokenSchema;\r\n /**\r\n * @throws {@link TxRollupL2AddressValidationError}\r\n */\r\n ToKey({ bytes, string }: {\r\n bytes?: string;\r\n string?: string;\r\n }): string;\r\n findAndReturnTokens(tokenToFind: string, tokens: Token[]): Token[];\r\n}\r\n"},{name:"@taquito/michelson-encoder/dist/types/tokens/bigmap.d.ts",dts:"import { BigMapTokenSchema } from '../schema/types';\r\nimport { ComparableToken, Semantic, SemanticEncoding, Token, TokenFactory, TokenValidationError } from './token';\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure happening when parsing encoding/executing Big Map types\r\n */\r\nexport declare class BigMapValidationError extends TokenValidationError {\r\n value: any;\r\n token: BigMapToken;\r\n name: string;\r\n constructor(value: any, token: BigMapToken, message: string);\r\n}\r\nexport declare class BigMapToken extends Token {\r\n protected val: {\r\n prim: string;\r\n args: any[];\r\n annots?: any[];\r\n };\r\n protected idx: number;\r\n protected fac: TokenFactory;\r\n static prim: 'big_map';\r\n constructor(val: {\r\n prim: string;\r\n args: any[];\r\n annots?: any[];\r\n }, idx: number, fac: TokenFactory);\r\n get ValueSchema(): Token;\r\n get KeySchema(): ComparableToken;\r\n /**\r\n * @deprecated ExtractSchema has been deprecated in favor of generateSchema\r\n *\r\n */\r\n ExtractSchema(): {\r\n big_map: {\r\n key: any;\r\n value: any;\r\n };\r\n };\r\n generateSchema(): BigMapTokenSchema;\r\n /**\r\n * @throws {@link BigMapValidationError}\r\n */\r\n private validate;\r\n private objLitToMichelsonMap;\r\n /**\r\n * @throws {@link BigMapValidationError}\r\n */\r\n Encode(args: any[]): any;\r\n /**\r\n * @throws {@link BigMapValidationError}\r\n */\r\n EncodeObject(args: any, semantic?: SemanticEncoding): any;\r\n /**\r\n * @throws {@link InvalidMapTypeError} when the argument passed to val is an array but not a valid map type\r\n * @throws {@link BigMapValidationError} when the value is invalid\r\n */\r\n Execute(val: any[] | {\r\n int: string;\r\n }, semantic?: Semantic): any;\r\n findAndReturnTokens(tokenToFind: string, tokens: Token[]): Token[];\r\n}\r\n"},{name:"@taquito/michelson-encoder/dist/types/tokens/bls12-381-fr.d.ts",dts:'import { BaseTokenSchema } from \'../schema/types\';\r\nimport { SemanticEncoding, Token, TokenFactory, TokenValidationError } from \'./token\';\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure happening when parsing encoding/executing a BLS12-381 scalar field Fr\r\n */\r\nexport declare class Bls12381frValidationError extends TokenValidationError {\r\n value: any;\r\n token: Bls12381frToken;\r\n name: string;\r\n constructor(value: any, token: Bls12381frToken, message: string);\r\n}\r\nexport declare class Bls12381frToken extends Token {\r\n protected val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n };\r\n protected idx: number;\r\n protected fac: TokenFactory;\r\n static prim: \'bls12_381_fr\';\r\n constructor(val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n }, idx: number, fac: TokenFactory);\r\n /**\r\n * @throws {@link Bls12381frValidationError}\r\n */\r\n private validate;\r\n private convertUint8ArrayToHexString;\r\n /**\r\n * @throws {@link Bls12381frValidationError}\r\n */\r\n Encode(args: any[]): {\r\n int: string;\r\n bytes?: undefined;\r\n } | {\r\n bytes: any;\r\n int?: undefined;\r\n };\r\n /**\r\n * @throws {@link Bls12381frValidationError}\r\n */\r\n EncodeObject(val: string | Uint8Array | number, semantic?: SemanticEncoding): import("@taquito/rpc").MichelsonV1ExpressionExtended | import("@taquito/rpc").MichelsonV1ExpressionBase | import("@taquito/rpc").MichelsonV1Expression[] | {\r\n bytes: string | number | Uint8Array;\r\n };\r\n Execute(val: any): string;\r\n /**\r\n * @deprecated ExtractSchema has been deprecated in favor of generateSchema\r\n *\r\n */\r\n ExtractSchema(): "bls12_381_fr";\r\n generateSchema(): BaseTokenSchema;\r\n findAndReturnTokens(tokenToFind: string, tokens: Token[]): Token[];\r\n}\r\n'},{name:"@taquito/michelson-encoder/dist/types/tokens/bls12-381-g1.d.ts",dts:'import { BaseTokenSchema } from \'../schema/types\';\r\nimport { SemanticEncoding, Token, TokenFactory, TokenValidationError } from \'./token\';\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure happening when parsing encoding/executing a BLS12-381 curve G1\r\n */\r\nexport declare class Bls12381g1ValidationError extends TokenValidationError {\r\n value: any;\r\n token: Bls12381g1Token;\r\n name: string;\r\n constructor(value: any, token: Bls12381g1Token, message: string);\r\n}\r\nexport declare class Bls12381g1Token extends Token {\r\n protected val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n };\r\n protected idx: number;\r\n protected fac: TokenFactory;\r\n static prim: \'bls12_381_g1\';\r\n constructor(val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n }, idx: number, fac: TokenFactory);\r\n /**\r\n * @throws {@link Bls12381g1ValidationError}\r\n */\r\n private validate;\r\n private convertUint8ArrayToHexString;\r\n /**\r\n * @throws {@link Bls12381g1ValidationError}\r\n */\r\n Encode(args: any[]): {\r\n bytes: any;\r\n };\r\n /**\r\n * @throws {@link Bls12381g1ValidationError}\r\n */\r\n EncodeObject(val: string | Uint8Array, semantic?: SemanticEncoding): import("@taquito/rpc").MichelsonV1ExpressionExtended | import("@taquito/rpc").MichelsonV1ExpressionBase | import("@taquito/rpc").MichelsonV1Expression[] | {\r\n bytes: string | Uint8Array;\r\n };\r\n Execute(val: any): string;\r\n /**\r\n * @deprecated ExtractSchema has been deprecated in favor of generateSchema\r\n *\r\n */\r\n ExtractSchema(): "bls12_381_g1";\r\n generateSchema(): BaseTokenSchema;\r\n findAndReturnTokens(tokenToFind: string, tokens: Token[]): Token[];\r\n}\r\n'},{name:"@taquito/michelson-encoder/dist/types/tokens/bls12-381-g2.d.ts",dts:'import { BaseTokenSchema } from \'../schema/types\';\r\nimport { SemanticEncoding, Token, TokenFactory, TokenValidationError } from \'./token\';\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure happening when parsing encoding/executing a BLS12-381 curve G2\r\n */\r\nexport declare class Bls12381g2ValidationError extends TokenValidationError {\r\n value: any;\r\n token: Bls12381g2Token;\r\n name: string;\r\n constructor(value: any, token: Bls12381g2Token, message: string);\r\n}\r\nexport declare class Bls12381g2Token extends Token {\r\n protected val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n };\r\n protected idx: number;\r\n protected fac: TokenFactory;\r\n static prim: \'bls12_381_g2\';\r\n constructor(val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n }, idx: number, fac: TokenFactory);\r\n /**\r\n * @throws {@link Bls12381g2ValidationError}\r\n */\r\n private validate;\r\n private convertUint8ArrayToHexString;\r\n /**\r\n * @throws {@link Bls12381g2ValidationError}\r\n */\r\n Encode(args: any[]): {\r\n bytes: any;\r\n };\r\n /**\r\n * @throws {@link Bls12381g2ValidationError}\r\n */\r\n EncodeObject(val: string | Uint8Array, semantic?: SemanticEncoding): import("@taquito/rpc").MichelsonV1ExpressionExtended | import("@taquito/rpc").MichelsonV1ExpressionBase | import("@taquito/rpc").MichelsonV1Expression[] | {\r\n bytes: string | Uint8Array;\r\n };\r\n Execute(val: any): string;\r\n /**\r\n * @deprecated ExtractSchema has been deprecated in favor of generateSchema\r\n *\r\n */\r\n ExtractSchema(): "bls12_381_g2";\r\n generateSchema(): BaseTokenSchema;\r\n findAndReturnTokens(tokenToFind: string, tokens: Token[]): Token[];\r\n}\r\n'},{name:"@taquito/michelson-encoder/dist/types/tokens/chain-id.d.ts",dts:"import { Token, TokenFactory, ComparableToken, TokenValidationError, SemanticEncoding } from './token';\r\nimport { BaseTokenSchema } from '../schema/types';\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure happening when parsing encoding/executing a ChainID\r\n */\r\nexport declare class ChainIDValidationError extends TokenValidationError {\r\n value: any;\r\n token: ChainIDToken;\r\n name: string;\r\n constructor(value: any, token: ChainIDToken, message: string);\r\n}\r\nexport declare class ChainIDToken extends ComparableToken {\r\n protected val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n };\r\n protected idx: number;\r\n protected fac: TokenFactory;\r\n static prim: 'chain_id';\r\n constructor(val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n }, idx: number, fac: TokenFactory);\r\n /**\r\n * @throws {@link ChainIDValidationError}\r\n */\r\n private validate;\r\n Execute(val: any): string;\r\n /**\r\n * @deprecated ExtractSchema has been deprecated in favor of generateSchema\r\n *\r\n */\r\n ExtractSchema(): \"chain_id\";\r\n generateSchema(): BaseTokenSchema;\r\n /**\r\n * @throws {@link ChainIDValidationError}\r\n */\r\n Encode(args: any[]): any;\r\n /**\r\n * @throws {@link ChainIDValidationError}\r\n */\r\n EncodeObject(val: any, semantic?: SemanticEncoding): any;\r\n ToKey({ string }: any): any;\r\n ToBigMapKey(val: string): {\r\n key: {\r\n string: string;\r\n };\r\n type: {\r\n prim: \"chain_id\";\r\n };\r\n };\r\n findAndReturnTokens(tokenToFind: string, tokens: Token[]): Token[];\r\n}\r\n"},{name:"@taquito/michelson-encoder/dist/types/tokens/chest-key.d.ts",dts:'import { BaseTokenSchema } from \'../schema/types\';\r\nimport { SemanticEncoding, Token, TokenFactory, TokenValidationError } from \'./token\';\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure happening when parsing encoding/executing a Chest Key\r\n */\r\nexport declare class ChestKeyValidationError extends TokenValidationError {\r\n value: any;\r\n token: ChestKeyToken;\r\n name: string;\r\n constructor(value: any, token: ChestKeyToken, message: string);\r\n}\r\nexport declare class ChestKeyToken extends Token {\r\n protected val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n };\r\n protected idx: number;\r\n protected fac: TokenFactory;\r\n static prim: \'chest_key\';\r\n constructor(val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n }, idx: number, fac: TokenFactory);\r\n /**\r\n * @throws {@link ChestKeyValidationError}\r\n */\r\n private validate;\r\n private convertUint8ArrayToHexString;\r\n /**\r\n * @throws {@link ChestKeyValidationError}\r\n */\r\n Encode(args: any[]): {\r\n bytes: any;\r\n };\r\n /**\r\n * @throws {@link ChestKeyValidationError}\r\n */\r\n EncodeObject(val: string | Uint8Array, semantic?: SemanticEncoding): import("@taquito/rpc").MichelsonV1ExpressionExtended | import("@taquito/rpc").MichelsonV1ExpressionBase | import("@taquito/rpc").MichelsonV1Expression[] | {\r\n bytes: string | Uint8Array;\r\n };\r\n Execute(val: any): string;\r\n /**\r\n * @deprecated ExtractSchema has been deprecated in favor of generateSchema\r\n *\r\n */\r\n ExtractSchema(): "chest_key";\r\n generateSchema(): BaseTokenSchema;\r\n findAndReturnTokens(tokenToFind: string, tokens: Token[]): Token[];\r\n}\r\n'},{name:"@taquito/michelson-encoder/dist/types/tokens/chest.d.ts",dts:'import { BaseTokenSchema } from \'../schema/types\';\r\nimport { SemanticEncoding, Token, TokenFactory, TokenValidationError } from \'./token\';\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure happening when parsing encoding/executing a Chest\r\n */\r\nexport declare class ChestValidationError extends TokenValidationError {\r\n value: any;\r\n token: ChestToken;\r\n name: string;\r\n constructor(value: any, token: ChestToken, message: string);\r\n}\r\nexport declare class ChestToken extends Token {\r\n protected val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n };\r\n protected idx: number;\r\n protected fac: TokenFactory;\r\n static prim: \'chest\';\r\n constructor(val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n }, idx: number, fac: TokenFactory);\r\n /**\r\n * @throws {@link ChestKeyValidationError}\r\n */\r\n private validate;\r\n private convertUint8ArrayToHexString;\r\n /**\r\n * @throws {@link ChestKeyValidationError}\r\n */\r\n Encode(args: any[]): {\r\n bytes: any;\r\n };\r\n /**\r\n * @throws {@link ChestKeyValidationError}\r\n */\r\n EncodeObject(val: string | Uint8Array, semantic?: SemanticEncoding): import("@taquito/rpc").MichelsonV1ExpressionExtended | import("@taquito/rpc").MichelsonV1ExpressionBase | import("@taquito/rpc").MichelsonV1Expression[] | {\r\n bytes: string | Uint8Array;\r\n };\r\n Execute(val: any): string;\r\n /**\r\n * @deprecated ExtractSchema has been deprecated in favor of generateSchema\r\n *\r\n */\r\n ExtractSchema(): "chest";\r\n generateSchema(): BaseTokenSchema;\r\n findAndReturnTokens(tokenToFind: string, tokens: Token[]): Token[];\r\n}\r\n'},{name:"@taquito/michelson-encoder/dist/types/tokens/constant.d.ts",dts:"import { ConstantTokenSchema } from '../schema/types';\r\nimport { Semantic, SemanticEncoding, Token, TokenFactory, TokenValidationError } from './token';\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure happening when parsing encoding a Global Constant\r\n */\r\nexport declare class GlobalConstantEncodingError extends TokenValidationError {\r\n value: any;\r\n token: GlobalConstantToken;\r\n name: string;\r\n constructor(value: any, token: GlobalConstantToken, message: string);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure happening when parsing executing a Global Constant\r\n */\r\nexport declare class GlobalConstantDecodingError extends TokenValidationError {\r\n value: any;\r\n token: GlobalConstantToken;\r\n name: string;\r\n constructor(value: any, token: GlobalConstantToken, message: string);\r\n}\r\nexport declare class GlobalConstantToken extends Token {\r\n protected val: {\r\n prim: string;\r\n args: any[];\r\n annots?: any[];\r\n };\r\n protected idx: number;\r\n protected fac: TokenFactory;\r\n static prim: 'constant';\r\n constructor(val: {\r\n prim: string;\r\n args: any[];\r\n annots?: any[];\r\n }, idx: number, fac: TokenFactory);\r\n /**\r\n * @throws {@link GlobalConstantDecodingError}\r\n */\r\n Execute(val: any, semantic?: Semantic): any;\r\n /**\r\n * @throws {@link GlobalConstantEncodingError}\r\n */\r\n Encode(args: any[]): any;\r\n /**\r\n * @throws {@link GlobalConstantEncodingError}\r\n */\r\n EncodeObject(val: any, semantic?: SemanticEncoding): any;\r\n /**\r\n * @deprecated ExtractSchema has been deprecated in favor of generateSchema\r\n *\r\n */\r\n ExtractSchema(): \"constant\";\r\n generateSchema(): ConstantTokenSchema;\r\n findAndReturnTokens(tokenToFind: string, tokens: Token[]): Token[];\r\n}\r\n"},{name:"@taquito/michelson-encoder/dist/types/tokens/contract.d.ts",dts:"import { ContractTokenSchema } from '../schema/types';\r\nimport { SemanticEncoding, Token, TokenFactory, TokenValidationError } from './token';\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure happening when parsing encoding/executing a Contract\r\n */\r\nexport declare class ContractValidationError extends TokenValidationError {\r\n value: any;\r\n token: ContractToken;\r\n name: string;\r\n constructor(value: any, token: ContractToken, message: string);\r\n}\r\nexport declare class ContractToken extends Token {\r\n protected val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n };\r\n protected idx: number;\r\n protected fac: TokenFactory;\r\n static prim: 'contract';\r\n constructor(val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n }, idx: number, fac: TokenFactory);\r\n /**\r\n * @throws {@link ContractValidationError}\r\n */\r\n private validate;\r\n /**\r\n * @throws {@link ContractValidationError}\r\n */\r\n Execute(val: {\r\n bytes: string;\r\n string: string;\r\n }): string;\r\n /**\r\n * @throws {@link ContractValidationError}\r\n */\r\n Encode(args: any[]): any;\r\n /**\r\n * @throws {@link ContractValidationError}\r\n */\r\n EncodeObject(val: any, semantic?: SemanticEncoding): any;\r\n /**\r\n * @deprecated ExtractSchema has been deprecated in favor of generateSchema\r\n *\r\n */\r\n ExtractSchema(): \"contract\";\r\n generateSchema(): ContractTokenSchema;\r\n findAndReturnTokens(tokenToFind: string, tokens: Token[]): Token[];\r\n}\r\n"},{name:"@taquito/michelson-encoder/dist/types/tokens/createToken.d.ts",dts:"import { Token } from './token';\r\nimport { TaquitoError } from '@taquito/core';\r\n/**\r\n * @category Error\r\n * @description Error that indicates a script having an invalid type or it being unsupported by the Michelson Encoder. Note some protocol changes might affect this, we encourage users to open an issue so we can look into implementing support for said types.\r\n */\r\nexport declare class InvalidTokenError extends TaquitoError {\r\n message: string;\r\n data: any;\r\n name: string;\r\n constructor(message: string, data: any);\r\n}\r\n/**\r\n *\r\n * @description Create a token from a value\r\n * @throws {@link InvalidTokenError} If the value passed is not supported by the Michelson Encoder\r\n */\r\nexport declare function createToken(val: any, idx: number): Token;\r\n"},{name:"@taquito/michelson-encoder/dist/types/tokens/key.d.ts",dts:"import { ComparableToken, SemanticEncoding, Token, TokenFactory, TokenValidationError } from './token';\r\nimport { BaseTokenSchema } from '../schema/types';\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure happening when parsing encoding/executing a Key\r\n */\r\nexport declare class KeyValidationError extends TokenValidationError {\r\n value: any;\r\n token: KeyToken;\r\n name: string;\r\n constructor(value: any, token: KeyToken, message: string);\r\n}\r\nexport declare class KeyToken extends ComparableToken {\r\n protected val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n };\r\n protected idx: number;\r\n protected fac: TokenFactory;\r\n static prim: 'key';\r\n constructor(val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n }, idx: number, fac: TokenFactory);\r\n Execute(val: {\r\n bytes: string;\r\n string: string;\r\n }): string | undefined;\r\n /**\r\n * @throws {@link KeyValidationError}\r\n */\r\n private validate;\r\n /**\r\n * @throws {@link KeyValidationError}\r\n */\r\n Encode(args: any[]): any;\r\n /**\r\n * @throws {@link KeyValidationError}\r\n */\r\n EncodeObject(val: any, semantic?: SemanticEncoding): any;\r\n /**\r\n * @deprecated ExtractSchema has been deprecated in favor of generateSchema\r\n *\r\n */\r\n ExtractSchema(): \"key\";\r\n generateSchema(): BaseTokenSchema;\r\n ToKey(val: any): string | undefined;\r\n ToBigMapKey(val: string): {\r\n key: {\r\n string: string;\r\n };\r\n type: {\r\n prim: \"key\";\r\n };\r\n };\r\n compare(key1: string, key2: string): number;\r\n private getPrefix;\r\n private getP256PublicKeyComparableBytes;\r\n findAndReturnTokens(tokenToFind: string, tokens: Token[]): Token[];\r\n}\r\n"},{name:"@taquito/michelson-encoder/dist/types/tokens/lambda.d.ts",dts:"import { LambdaTokenSchema } from '../schema/types';\r\nimport { SemanticEncoding, Token, TokenFactory } from './token';\r\nexport declare class LambdaToken extends Token {\r\n protected val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n };\r\n protected idx: number;\r\n protected fac: TokenFactory;\r\n static prim: 'lambda';\r\n constructor(val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n }, idx: number, fac: TokenFactory);\r\n get paramSchema(): Token;\r\n get returnSchema(): Token;\r\n Execute(val: any): any;\r\n Encode(args: any[]): any;\r\n EncodeObject(val: any, semantic?: SemanticEncoding): any;\r\n /**\r\n * @deprecated ExtractSchema has been deprecated in favor of generateSchema\r\n *\r\n */\r\n ExtractSchema(): {\r\n lambda: {\r\n parameters: any;\r\n returns: any;\r\n };\r\n };\r\n generateSchema(): LambdaTokenSchema;\r\n findAndReturnTokens(tokenToFind: string, tokens: Token[]): Token[];\r\n}\r\n"},{name:"@taquito/michelson-encoder/dist/types/tokens/list.d.ts",dts:"import { ListTokenSchema } from '../schema/types';\r\nimport { Token, TokenFactory, Semantic, TokenValidationError, SemanticEncoding } from './token';\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure happening when parsing encoding/executing a List\r\n */\r\nexport declare class ListValidationError extends TokenValidationError {\r\n value: any;\r\n token: ListToken;\r\n name: string;\r\n constructor(value: any, token: ListToken, message: string);\r\n}\r\nexport declare class ListToken extends Token {\r\n protected val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n };\r\n protected idx: number;\r\n protected fac: TokenFactory;\r\n static prim: 'list';\r\n constructor(val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n }, idx: number, fac: TokenFactory);\r\n get valueSchema(): Token;\r\n /**\r\n * @throws {@link ListValidationError}\r\n */\r\n private validate;\r\n /**\r\n * @throws {@link ListValidationError}\r\n */\r\n Encode(args: any[]): any;\r\n /**\r\n * @throws {@link ListValidationError}\r\n */\r\n Execute(val: any, semantics?: Semantic): any;\r\n /**\r\n * @throws {@link ListValidationError}\r\n */\r\n EncodeObject(args: any, semantic?: SemanticEncoding): any;\r\n /**\r\n * @deprecated ExtractSchema has been deprecated in favor of generateSchema\r\n *\r\n */\r\n ExtractSchema(): {\r\n list: any;\r\n };\r\n generateSchema(): ListTokenSchema;\r\n findAndReturnTokens(tokenToFind: string, tokens: Token[]): Token[];\r\n}\r\n"},{name:"@taquito/michelson-encoder/dist/types/tokens/map.d.ts",dts:"import { MapTokenSchema } from '../schema/types';\r\nimport { ComparableToken, Semantic, SemanticEncoding, Token, TokenFactory, TokenValidationError } from './token';\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure happening when parsing encoding/executing a Map\r\n */\r\nexport declare class MapValidationError extends TokenValidationError {\r\n value: any;\r\n token: MapToken;\r\n name: string;\r\n constructor(value: any, token: MapToken, message: string);\r\n}\r\nexport declare class MapToken extends Token {\r\n protected val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n };\r\n protected idx: number;\r\n protected fac: TokenFactory;\r\n static prim: 'map';\r\n constructor(val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n }, idx: number, fac: TokenFactory);\r\n get ValueSchema(): Token;\r\n get KeySchema(): ComparableToken;\r\n /**\r\n * @throws {@link MapValidationError}\r\n */\r\n validate(value: any): void;\r\n Execute(val: any[], semantics?: Semantic): {\r\n [key: string]: any;\r\n };\r\n private objLitToMichelsonMap;\r\n /**\r\n * @throws {@link MapValidationError}\r\n */\r\n Encode(args: any[]): any;\r\n /**\r\n * @throws {@link MapValidationError}\r\n */\r\n EncodeObject(args: any, semantic?: SemanticEncoding): any;\r\n /**\r\n * @deprecated ExtractSchema has been deprecated in favor of generateSchema\r\n *\r\n */\r\n ExtractSchema(): {\r\n map: {\r\n key: any;\r\n value: any;\r\n };\r\n };\r\n generateSchema(): MapTokenSchema;\r\n findAndReturnTokens(tokenToFind: string, tokens: Token[]): Token[];\r\n}\r\n"},{name:"@taquito/michelson-encoder/dist/types/tokens/never.d.ts",dts:"import { BaseTokenSchema } from '../schema/types';\r\nimport { SemanticEncoding, Token, TokenFactory, TokenValidationError } from './token';\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure happening when parsing encoding/executing a Never Token\r\n */\r\nexport declare class NeverTokenError extends TokenValidationError {\r\n value: any;\r\n token: NeverToken;\r\n name: string;\r\n constructor(value: any, token: NeverToken, message: string);\r\n}\r\nexport declare class NeverToken extends Token {\r\n protected val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n };\r\n protected idx: number;\r\n protected fac: TokenFactory;\r\n static prim: 'never';\r\n constructor(val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n }, idx: number, fac: TokenFactory);\r\n /**\r\n * @throws {@link NeverTokenError}\r\n */\r\n Encode(args: any[]): any;\r\n /**\r\n * @throws {@link NeverTokenError}\r\n */\r\n EncodeObject(val: any, semantic?: SemanticEncoding): any;\r\n /**\r\n * @throws {@link NeverTokenError}\r\n */\r\n Execute(val: any): void;\r\n /**\r\n * @deprecated ExtractSchema has been deprecated in favor of generateSchema\r\n *\r\n */\r\n ExtractSchema(): \"never\";\r\n generateSchema(): BaseTokenSchema;\r\n findAndReturnTokens(tokenToFind: string, tokens: Token[]): Token[];\r\n}\r\n"},{name:"@taquito/michelson-encoder/dist/types/tokens/operation.d.ts",dts:"import { BaseTokenSchema } from '../schema/types';\r\nimport { SemanticEncoding, Token, TokenFactory } from './token';\r\nexport declare class OperationToken extends Token {\r\n protected val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n };\r\n protected idx: number;\r\n protected fac: TokenFactory;\r\n static prim: 'operation';\r\n constructor(val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n }, idx: number, fac: TokenFactory);\r\n Execute(val: any): {\r\n [key: string]: any;\r\n };\r\n Encode(...args: any[]): any;\r\n EncodeObject(val: any, semantic?: SemanticEncoding): any;\r\n /**\r\n * @deprecated ExtractSchema has been deprecated in favor of generateSchema\r\n *\r\n */\r\n ExtractSchema(): \"operation\";\r\n generateSchema(): BaseTokenSchema;\r\n findAndReturnTokens(tokenToFind: string, tokens: Token[]): Token[];\r\n}\r\n"},{name:"@taquito/michelson-encoder/dist/types/tokens/option.d.ts",dts:"import { OptionTokenSchema } from '../schema/types';\r\nimport { Token, TokenFactory, Semantic, ComparableToken, SemanticEncoding } from './token';\r\nexport declare class OptionToken extends ComparableToken {\r\n protected val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n };\r\n protected idx: number;\r\n protected fac: TokenFactory;\r\n static prim: 'option';\r\n constructor(val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n }, idx: number, fac: TokenFactory);\r\n subToken(): Token;\r\n schema(): Token;\r\n annot(): string;\r\n Encode(args: any): any;\r\n EncodeObject(args: any, semantic?: SemanticEncoding): any;\r\n Execute(val: any, semantics?: Semantic): {\r\n Some: any;\r\n } | null;\r\n /**\r\n * @deprecated ExtractSchema has been deprecated in favor of generateSchema\r\n *\r\n */\r\n ExtractSchema(): {\r\n Some: any;\r\n };\r\n generateSchema(): OptionTokenSchema;\r\n ExtractSignature(): any[][];\r\n get KeySchema(): ComparableToken;\r\n compare(val1: any, val2: any): number;\r\n ToKey(val: any): {\r\n Some: any;\r\n } | null;\r\n ToBigMapKey(val: any): {\r\n key: any;\r\n type: Omit;\r\n };\r\n findAndReturnTokens(tokenToFind: string, tokens: Token[]): Token[];\r\n}\r\n"},{name:"@taquito/michelson-encoder/dist/types/tokens/or.d.ts",dts:"import { OrTokenSchema } from '../schema/types';\r\nimport { Token, TokenFactory, Semantic, ComparableToken, SemanticEncoding, TokenValidationError } from './token';\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure happening when parsing encoding/executing an OrToken\r\n */\r\nexport declare class OrValidationError extends TokenValidationError {\r\n value: any;\r\n token: OrToken;\r\n name: string;\r\n constructor(value: any, token: OrToken, message: string);\r\n}\r\nexport declare class OrToken extends ComparableToken {\r\n protected val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n };\r\n protected idx: number;\r\n protected fac: TokenFactory;\r\n static prim: 'or';\r\n constructor(val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n }, idx: number, fac: TokenFactory);\r\n Encode(args: any[]): any;\r\n ExtractSignature(): any;\r\n /**\r\n * @throws {@link OrValidationError}\r\n */\r\n EncodeObject(args: any, semantic?: SemanticEncoding): any;\r\n /**\r\n * @throws {@link OrValidationError}\r\n */\r\n private validateJavascriptObject;\r\n /**\r\n * @throws {@link OrValidationError}\r\n */\r\n Execute(val: any, semantics?: Semantic): any;\r\n private traversal;\r\n /**\r\n * @deprecated ExtractSchema has been deprecated in favor of generateSchema\r\n *\r\n */\r\n ExtractSchema(): any;\r\n generateSchema(): OrTokenSchema;\r\n private findToken;\r\n compare(val1: any, val2: any): any;\r\n ToKey(val: any): any;\r\n ToBigMapKey(val: any): {\r\n key: any;\r\n type: Omit;\r\n };\r\n findAndReturnTokens(tokenToFind: string, tokens: Token[]): Token[];\r\n}\r\n"},{name:"@taquito/michelson-encoder/dist/types/tokens/pair.d.ts",dts:"import { Token, TokenFactory, Semantic, ComparableToken, SemanticEncoding } from './token';\r\nimport { PairTokenSchema } from '../schema/types';\r\nimport { MichelsonV1Expression, MichelsonV1ExpressionExtended } from '@taquito/rpc';\r\nimport { TaquitoError } from '@taquito/core';\r\n/**\r\n * @category Error\r\n * @description Error that indicates in invalid token argument being passed\r\n */\r\nexport declare class TokenArgumentValidationError extends TaquitoError {\r\n message: string;\r\n name: string;\r\n constructor(message: string);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure occurring when doing a comparison of tokens\r\n */\r\nexport declare class TokenComparisonError extends TaquitoError {\r\n val1: string;\r\n val2: string;\r\n name: string;\r\n constructor(val1: string, val2: string);\r\n}\r\nexport declare class PairToken extends ComparableToken {\r\n static prim: 'pair';\r\n constructor(val: MichelsonV1Expression, idx: number, fac: TokenFactory);\r\n private args;\r\n private tokens;\r\n Encode(args: any[]): any;\r\n ExtractSignature(): any;\r\n ToBigMapKey(val: any): {\r\n key: any;\r\n type: Omit;\r\n };\r\n ToKey(val: any): {\r\n [key: string]: any;\r\n };\r\n EncodeObject(args: any, semantic?: SemanticEncoding): any;\r\n private traversal;\r\n Execute(val: any, semantics?: Semantic): {\r\n [key: string]: any;\r\n };\r\n /**\r\n * @deprecated ExtractSchema has been deprecated in favor of generateSchema\r\n *\r\n */\r\n ExtractSchema(): any;\r\n generateSchema(): PairTokenSchema;\r\n /**\r\n * @throws {@link TokenComparisonError}\r\n */\r\n compare(val1: any, val2: any): number;\r\n findAndReturnTokens(tokenToFind: string, tokens: Token[]): Token[];\r\n}\r\n"},{name:"@taquito/michelson-encoder/dist/types/tokens/sapling-state.d.ts",dts:"import { SaplingStateTokenSchema } from '../schema/types';\r\nimport { Semantic, SemanticEncoding, Token, TokenFactory, TokenValidationError } from './token';\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure happening when parsing encoding/executing a Sapling State\r\n */\r\nexport declare class SaplingStateValidationError extends TokenValidationError {\r\n value: any;\r\n token: SaplingStateToken;\r\n name: string;\r\n constructor(value: any, token: SaplingStateToken, message: string);\r\n}\r\nexport declare class SaplingStateToken extends Token {\r\n protected val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n };\r\n protected idx: number;\r\n protected fac: TokenFactory;\r\n static prim: 'sapling_state';\r\n constructor(val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n }, idx: number, fac: TokenFactory);\r\n private isValid;\r\n /**\r\n * @throws {@link SaplingStateValidationError}\r\n */\r\n Execute(val: {\r\n int: string;\r\n }, semantic?: Semantic): any;\r\n /**\r\n * @throws {@link SaplingStateValidationError}\r\n */\r\n Encode(args: any[]): any;\r\n /**\r\n * @throws {@link SaplingStateValidationError}\r\n */\r\n EncodeObject(val: any, semantic?: SemanticEncoding): any;\r\n /**\r\n * @deprecated ExtractSchema has been deprecated in favor of generateSchema\r\n *\r\n */\r\n ExtractSchema(): {\r\n sapling_state: {\r\n 'memo-size': number;\r\n };\r\n };\r\n generateSchema(): SaplingStateTokenSchema;\r\n findAndReturnTokens(tokenToFind: string, tokens: Token[]): Token[];\r\n}\r\n"},{name:"@taquito/michelson-encoder/dist/types/tokens/sapling-transaction-deprecated.d.ts",dts:"import { SaplingTransactionDeprecatedTokenSchema } from '../schema/types';\r\nimport { SemanticEncoding, Token, TokenFactory, TokenValidationError } from './token';\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure happening when parsing encoding/executing a Sapling Transaction Deprecated\r\n */\r\nexport declare class SaplingTransactionDeprecatedValidationError extends TokenValidationError {\r\n value: any;\r\n token: SaplingTransactionDeprecatedToken;\r\n name: string;\r\n constructor(value: any, token: SaplingTransactionDeprecatedToken, message: string);\r\n}\r\nexport declare class SaplingTransactionDeprecatedToken extends Token {\r\n protected val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n };\r\n protected idx: number;\r\n protected fac: TokenFactory;\r\n static prim: 'sapling_transaction_deprecated';\r\n constructor(val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n }, idx: number, fac: TokenFactory);\r\n /**\r\n * @throws {@link SaplingTransactionDeprecatedValidationError}\r\n */\r\n Execute(_val: any): void;\r\n /**\r\n * @throws {@link SaplingTransactionDeprecatedValidationError}\r\n */\r\n private validateBytes;\r\n private convertUint8ArrayToHexString;\r\n Encode(args: any[]): any;\r\n EncodeObject(val: string | Uint8Array, semantic?: SemanticEncoding): import(\"@taquito/rpc\").MichelsonV1Expression;\r\n /**\r\n * @deprecated ExtractSchema has been deprecated in favor of generateSchema\r\n *\r\n */\r\n ExtractSchema(): {\r\n sapling_transaction_deprecated: {\r\n 'memo-size': number;\r\n };\r\n };\r\n generateSchema(): SaplingTransactionDeprecatedTokenSchema;\r\n findAndReturnTokens(tokenToFind: string, tokens: Token[]): Token[];\r\n}\r\n"},{name:"@taquito/michelson-encoder/dist/types/tokens/sapling-transaction.d.ts",dts:"import { SaplingTransactionTokenSchema } from '../schema/types';\r\nimport { SemanticEncoding, Token, TokenFactory, TokenValidationError } from './token';\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure happening when parsing encoding/executing a Sapling Transaction\r\n */\r\nexport declare class SaplingTransactionValidationError extends TokenValidationError {\r\n value: any;\r\n token: SaplingTransactionToken;\r\n name: string;\r\n constructor(value: any, token: SaplingTransactionToken, message: string);\r\n}\r\nexport declare class SaplingTransactionToken extends Token {\r\n protected val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n };\r\n protected idx: number;\r\n protected fac: TokenFactory;\r\n static prim: 'sapling_transaction';\r\n constructor(val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n }, idx: number, fac: TokenFactory);\r\n /**\r\n * @throws {@link SaplingTransactionValidationError}\r\n */\r\n Execute(_val: any): void;\r\n /**\r\n * @throws {@link SaplingTransactionValidationError}\r\n */\r\n private validateBytes;\r\n private convertUint8ArrayToHexString;\r\n Encode(args: any[]): any;\r\n EncodeObject(val: string | Uint8Array, semantic?: SemanticEncoding): import(\"@taquito/rpc\").MichelsonV1Expression;\r\n /**\r\n * @deprecated ExtractSchema has been deprecated in favor of generateSchema\r\n *\r\n */\r\n ExtractSchema(): {\r\n sapling_transaction: {\r\n 'memo-size': number;\r\n };\r\n };\r\n generateSchema(): SaplingTransactionTokenSchema;\r\n findAndReturnTokens(tokenToFind: string, tokens: Token[]): Token[];\r\n}\r\n"},{name:"@taquito/michelson-encoder/dist/types/tokens/set.d.ts",dts:"import { SetTokenSchema } from '../schema/types';\r\nimport { Token, TokenFactory, Semantic, TokenValidationError, ComparableToken, SemanticEncoding } from './token';\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure happening when parsing encoding/executing a Set\r\n */\r\nexport declare class SetValidationError extends TokenValidationError {\r\n value: any;\r\n token: SetToken;\r\n name: string;\r\n constructor(value: any, token: SetToken, message: string);\r\n}\r\nexport declare class SetToken extends Token {\r\n protected val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n };\r\n protected idx: number;\r\n protected fac: TokenFactory;\r\n static prim: 'set';\r\n constructor(val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n }, idx: number, fac: TokenFactory);\r\n get KeySchema(): ComparableToken;\r\n /**\r\n * @throws {@link SetValidationError}\r\n */\r\n private validate;\r\n /**\r\n * @throws {@link SetValidationError}\r\n */\r\n Encode(args: any[]): any;\r\n Execute(val: any, semantics?: Semantic): any;\r\n /**\r\n * @throws {@link SetValidationError}\r\n */\r\n EncodeObject(args: any, semantic?: SemanticEncoding): any;\r\n /**\r\n * @deprecated ExtractSchema has been deprecated in favor of generateSchema\r\n *\r\n */\r\n ExtractSchema(): \"set\";\r\n generateSchema(): SetTokenSchema;\r\n findAndReturnTokens(tokenToFind: string, tokens: Token[]): Token[];\r\n}\r\n"},{name:"@taquito/michelson-encoder/dist/types/tokens/signature.d.ts",dts:"import { ComparableToken, SemanticEncoding, Token, TokenFactory, TokenValidationError } from './token';\r\nimport { BaseTokenSchema } from '../schema/types';\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure happening when parsing encoding/executing a Signature\r\n */\r\nexport declare class SignatureValidationError extends TokenValidationError {\r\n value: any;\r\n token: SignatureToken;\r\n name: string;\r\n constructor(value: any, token: SignatureToken, message: string);\r\n}\r\nexport declare class SignatureToken extends ComparableToken {\r\n protected val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n };\r\n protected idx: number;\r\n protected fac: TokenFactory;\r\n static prim: 'signature';\r\n constructor(val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n }, idx: number, fac: TokenFactory);\r\n Execute(val: {\r\n [key: string]: string;\r\n }): string;\r\n /**\r\n * @throws {@link SignatureValidationError}\r\n */\r\n private validate;\r\n /**\r\n * @throws {@link SignatureValidationError}\r\n */\r\n Encode(args: any[]): any;\r\n /**\r\n * @throws {@link SignatureValidationError}\r\n */\r\n EncodeObject(val: any, semantic?: SemanticEncoding): any;\r\n /**\r\n * @deprecated ExtractSchema has been deprecated in favor of generateSchema\r\n *\r\n */\r\n ExtractSchema(): \"signature\";\r\n generateSchema(): BaseTokenSchema;\r\n ToKey(val: any): string;\r\n ToBigMapKey(val: string): {\r\n key: {\r\n string: string;\r\n };\r\n type: {\r\n prim: \"signature\";\r\n };\r\n };\r\n findAndReturnTokens(tokenToFind: string, tokens: Token[]): Token[];\r\n}\r\n"},{name:"@taquito/michelson-encoder/dist/types/tokens/ticket-deprecated.d.ts",dts:"import { TaquitoError } from '@taquito/core';\r\nimport { TicketDeprecatedTokenSchema } from '../schema/types';\r\nimport { Token, TokenFactory, Semantic, SemanticEncoding } from './token';\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure when encoding and sending a ticket to the blockchain\r\n */\r\nexport declare class EncodeTicketDeprecatedError extends TaquitoError {\r\n name: string;\r\n constructor();\r\n}\r\nexport declare class TicketDeprecatedToken extends Token {\r\n protected val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n };\r\n protected idx: number;\r\n protected fac: TokenFactory;\r\n static prim: 'ticket_deprecated';\r\n constructor(val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n }, idx: number, fac: TokenFactory);\r\n get valueToken(): Token;\r\n /**\r\n * @throws {@link EncodeTicketDeprecatedError}\r\n */\r\n Encode(_args: any[]): any;\r\n /**\r\n * @throws {@link EncodeTicketDeprecatedError}\r\n */\r\n EncodeObject(args: any, semantic?: SemanticEncoding): any;\r\n Execute(val: any, semantics?: Semantic): any;\r\n /**\r\n * @deprecated ExtractSchema has been deprecated in favor of generateSchema\r\n *\r\n */\r\n ExtractSchema(): {\r\n ticketer: \"contract\";\r\n value: any;\r\n amount: \"int\";\r\n };\r\n generateSchema(): TicketDeprecatedTokenSchema;\r\n findAndReturnTokens(tokenToFind: string, tokens: Token[]): Token[];\r\n}\r\n"},{name:"@taquito/michelson-encoder/dist/types/tokens/ticket.d.ts",dts:"import { TaquitoError } from '@taquito/core';\r\nimport { TicketTokenSchema } from '../schema/types';\r\nimport { Token, TokenFactory, Semantic, SemanticEncoding } from './token';\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure when encoding and sending a ticket to the blockchain\r\n */\r\nexport declare class EncodeTicketError extends TaquitoError {\r\n name: string;\r\n constructor();\r\n}\r\nexport declare class TicketToken extends Token {\r\n protected val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n };\r\n protected idx: number;\r\n protected fac: TokenFactory;\r\n static prim: 'ticket';\r\n constructor(val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n }, idx: number, fac: TokenFactory);\r\n get valueToken(): Token;\r\n /**\r\n * @throws {@link EncodeTicketError}\r\n */\r\n Encode(_args: any[]): any;\r\n /**\r\n * @throws {@link EncodeTicketError}\r\n */\r\n EncodeObject(args: any, semantic?: SemanticEncoding): any;\r\n Execute(val: any, semantics?: Semantic): any;\r\n /**\r\n * @deprecated ExtractSchema has been deprecated in favor of generateSchema\r\n *\r\n */\r\n ExtractSchema(): {\r\n ticketer: \"contract\";\r\n value: any;\r\n amount: \"int\";\r\n };\r\n generateSchema(): TicketTokenSchema;\r\n findAndReturnTokens(tokenToFind: string, tokens: Token[]): Token[];\r\n}\r\n"},{name:"@taquito/michelson-encoder/dist/types/tokens/token.d.ts",dts:"import { MichelsonV1Expression, MichelsonV1ExpressionExtended } from '@taquito/rpc';\r\nimport { TokenSchema } from '../schema/types';\r\nimport { TaquitoError } from '@taquito/core';\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure when encoding invalid or incorrect data (e.g. if an address is expected but a number is received)\r\n */\r\nexport declare abstract class TokenValidationError extends TaquitoError {\r\n readonly value: any;\r\n readonly token: Token;\r\n name: string;\r\n constructor(value: any, token: Token, baseMessage: string);\r\n}\r\nexport declare type TokenFactory = (val: any, idx: number) => Token;\r\nexport interface Semantic {\r\n [key: string]: (value: MichelsonV1Expression, schema: MichelsonV1Expression) => any;\r\n}\r\nexport interface SemanticEncoding {\r\n [key: string]: (value: any, type?: MichelsonV1Expression) => MichelsonV1Expression;\r\n}\r\nexport declare abstract class Token {\r\n protected val: MichelsonV1ExpressionExtended;\r\n protected idx: number;\r\n protected fac: TokenFactory;\r\n constructor(val: MichelsonV1ExpressionExtended, idx: number, fac: TokenFactory);\r\n protected typeWithoutAnnotations(): Omit;\r\n annot(): string;\r\n hasAnnotations(): number | false;\r\n get tokenVal(): MichelsonV1ExpressionExtended;\r\n createToken: TokenFactory;\r\n /**\r\n * @deprecated ExtractSchema has been deprecated in favor of generateSchema\r\n *\r\n */\r\n abstract ExtractSchema(): any;\r\n abstract generateSchema(): TokenSchema;\r\n abstract Execute(val: any, semantics?: Semantic): any;\r\n abstract Encode(_args: any[]): any;\r\n abstract EncodeObject(args: any, semantics?: SemanticEncoding): any;\r\n ExtractSignature(): any[][];\r\n abstract findAndReturnTokens(tokenToFind: string, tokens: Array): Array;\r\n}\r\nexport declare type BigMapKeyType = string | number | object;\r\nexport declare abstract class ComparableToken extends Token {\r\n abstract ToBigMapKey(val: BigMapKeyType): {\r\n key: {\r\n [key: string]: string | object[];\r\n };\r\n type: {\r\n prim: string;\r\n args?: object[];\r\n };\r\n };\r\n abstract ToKey(val: string | MichelsonV1Expression): any;\r\n compare(o1: string, o2: string): number;\r\n}\r\n"},{name:"@taquito/michelson-encoder/dist/types/tokens/tokens.d.ts",dts:"import { PairToken } from './pair';\r\nimport { NatToken } from './comparable/nat';\r\nimport { StringToken } from './comparable/string';\r\nimport { BigMapToken } from './bigmap';\r\nimport { AddressToken } from './comparable/address';\r\nimport { MapToken } from './map';\r\nimport { BoolToken } from './comparable/bool';\r\nimport { TxRollupL2AddressToken } from './comparable/tx_rollup_l2_address';\r\nimport { OrToken } from './or';\r\nimport { ContractToken } from './contract';\r\nimport { ListToken } from './list';\r\nimport { MutezToken } from './comparable/mutez';\r\nimport { BytesToken } from './comparable/bytes';\r\nimport { OptionToken } from './option';\r\nimport { TimestampToken } from './comparable/timestamp';\r\nimport { IntToken } from './comparable/int';\r\nimport { UnitToken } from './unit';\r\nimport { KeyToken } from './key';\r\nimport { KeyHashToken } from './comparable/key_hash';\r\nimport { SignatureToken } from './signature';\r\nimport { LambdaToken } from './lambda';\r\nimport { OperationToken } from './operation';\r\nimport { SetToken } from './set';\r\nimport { ChainIDToken } from './chain-id';\r\nimport { TicketToken } from './ticket';\r\nimport { TicketDeprecatedToken } from './ticket-deprecated';\r\nimport { NeverToken } from './never';\r\nimport { SaplingStateToken } from './sapling-state';\r\nimport { SaplingTransactionToken } from './sapling-transaction';\r\nimport { SaplingTransactionDeprecatedToken } from './sapling-transaction-deprecated';\r\nimport { Bls12381frToken } from './bls12-381-fr';\r\nimport { Bls12381g1Token } from './bls12-381-g1';\r\nimport { Bls12381g2Token } from './bls12-381-g2';\r\nimport { ChestToken } from './chest';\r\nimport { ChestKeyToken } from './chest-key';\r\nimport { GlobalConstantToken } from './constant';\r\nexport declare const tokens: (typeof PairToken | typeof NatToken | typeof StringToken | typeof BigMapToken | typeof AddressToken | typeof TxRollupL2AddressToken | typeof MapToken | typeof BoolToken | typeof OrToken | typeof ContractToken | typeof ListToken | typeof MutezToken | typeof BytesToken | typeof OptionToken | typeof TimestampToken | typeof IntToken | typeof UnitToken | typeof KeyToken | typeof KeyHashToken | typeof SignatureToken | typeof LambdaToken | typeof OperationToken | typeof SetToken | typeof ChainIDToken | typeof TicketToken | typeof TicketDeprecatedToken | typeof NeverToken | typeof SaplingStateToken | typeof SaplingTransactionToken | typeof SaplingTransactionDeprecatedToken | typeof Bls12381frToken | typeof Bls12381g1Token | typeof Bls12381g2Token | typeof ChestToken | typeof ChestKeyToken | typeof GlobalConstantToken)[];\r\n"},{name:"@taquito/michelson-encoder/dist/types/tokens/unit.d.ts",dts:"import { ComparableToken, SemanticEncoding, Token, TokenFactory } from './token';\r\nimport { BaseTokenSchema } from '../schema/types';\r\nexport declare class UnitToken extends ComparableToken {\r\n protected val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n };\r\n protected idx: number;\r\n protected fac: TokenFactory;\r\n static prim: 'unit';\r\n constructor(val: {\r\n prim: string;\r\n args: any[];\r\n annots: any[];\r\n }, idx: number, fac: TokenFactory);\r\n Encode(args: any[]): any;\r\n EncodeObject(val: any, semantic?: SemanticEncoding): any;\r\n Execute(_val: {\r\n prim: string;\r\n }): symbol;\r\n /**\r\n * @deprecated ExtractSchema has been deprecated in favor of generateSchema\r\n *\r\n */\r\n ExtractSchema(): \"unit\";\r\n generateSchema(): BaseTokenSchema;\r\n compare(_val1: any, _val2: any): number;\r\n ToKey(_val: any): symbol;\r\n ToBigMapKey(_val: any): {\r\n key: {\r\n prim: string;\r\n };\r\n type: {\r\n prim: \"unit\";\r\n };\r\n };\r\n findAndReturnTokens(tokenToFind: string, tokens: Token[]): Token[];\r\n}\r\n"},{name:"@taquito/michelson-encoder/dist/types/errors.d.ts",dts:"export { ListValidationError } from './tokens/list';\r\nexport { MapValidationError } from './tokens/map';\r\nexport { SetValidationError } from './tokens/set';\r\nexport { BigMapValidationError } from './tokens/bigmap';\r\nexport { TokenArgumentValidationError, TokenComparisonError } from './tokens/pair';\r\nexport { OrValidationError } from './tokens/or';\r\nexport { ChainIDValidationError } from './tokens/chain-id';\r\nexport { KeyValidationError } from './tokens/key';\r\nexport { ContractValidationError } from './tokens/contract';\r\nexport { SignatureValidationError } from './tokens/signature';\r\nexport { AddressValidationError } from './tokens/comparable/address';\r\nexport { BytesValidationError } from './tokens/comparable/bytes';\r\nexport { IntValidationError } from './tokens/comparable/int';\r\nexport { KeyHashValidationError } from './tokens/comparable/key_hash';\r\nexport { MutezValidationError } from './tokens/comparable/mutez';\r\nexport { NatValidationError } from './tokens/comparable/nat';\r\nexport { EncodeTicketError } from './tokens/ticket';\r\n"},{name:"@taquito/michelson-encoder/dist/types/michelson-map.d.ts",dts:'import { MichelsonV1Expression } from \'@taquito/rpc\';\r\nimport { TaquitoError } from \'@taquito/core\';\r\n/**\r\n * @category Error\r\n * @description Error that indicates an invalid map type being passed or used\r\n */\r\nexport declare class InvalidMapTypeError extends TaquitoError {\r\n readonly mapType: any;\r\n readonly reason: string;\r\n constructor(mapType: any, reason: string);\r\n}\r\ndeclare const michelsonMapTypeSymbol: unique symbol;\r\nexport declare type MichelsonMapKey = Array | object | string | boolean | number | null;\r\n/**\r\n * @category Error\r\n * @description Error that indicates a map type mismatch, where an attempt to set a key or value in a Map doesn\'t match the defined type of the Map\r\n */\r\nexport declare class MapTypecheckError extends TaquitoError {\r\n readonly value: any;\r\n readonly type: any;\r\n readonly reason: any;\r\n name: string;\r\n constructor(value: any, type: any, objectType: \'key\' | \'value\', reason: any);\r\n}\r\n/**\r\n * @description Michelson Map is an abstraction over the michelson native map. It supports complex Pair as key\r\n */\r\nexport declare class MichelsonMap {\r\n private valueMap;\r\n private keyMap;\r\n [michelsonMapTypeSymbol]: boolean;\r\n static isMichelsonMap(obj: any): obj is MichelsonMap;\r\n private keySchema?;\r\n private valueSchema?;\r\n /**\r\n * @param mapType If specified key and value will be type-checked before being added to the map\r\n *\r\n * @example new MichelsonMap({ prim: "map", args: [{prim: "string"}, {prim: "int"}]})\r\n */\r\n constructor(mapType?: MichelsonV1Expression);\r\n setType(mapType: MichelsonV1Expression): void;\r\n removeType(): void;\r\n static fromLiteral(obj: {\r\n [key: string]: any;\r\n }, mapType?: MichelsonV1Expression): MichelsonMap;\r\n private typecheckKey;\r\n private typecheckValue;\r\n /**\r\n * @throws {@link MapTypecheckError} when the argument passed does not match the expected schema for value\r\n */\r\n private assertTypecheckValue;\r\n /**\r\n * @throws {@link MapTypecheckError} when the argument passed does not match the expected schema for key\r\n */\r\n private assertTypecheckKey;\r\n private serializeDeterministically;\r\n keys(): Generator;\r\n values(): Generator;\r\n entries(): Generator<[K, T]>;\r\n get(key: K): T | undefined;\r\n /**\r\n *\r\n * @description Set a key and a value in the MichelsonMap. If the key already exists, override the current value.\r\n *\r\n * @example map.set("myKey", "myValue") // Using a string as key\r\n *\r\n * @example map.set({0: "test", 1: "test1"}, "myValue") // Using a pair as key\r\n *\r\n * @warn The same key can be represented in multiple ways, depending on the type of the key. This duplicate key situation will cause a runtime error (duplicate key) when sending the map data to the Tezos RPC node.\r\n *\r\n * For example, consider a contract with a map whose key is of type boolean. If you set the following values in MichelsonMap: map.set(false, "myValue") and map.set(null, "myValue").\r\n *\r\n * You will get two unique entries in the MichelsonMap. These values will both be evaluated as falsy by the MichelsonEncoder and ultimately rejected by the Tezos RPC.\r\n */\r\n set(key: K, value: T): void;\r\n delete(key: K): void;\r\n has(key: K): boolean;\r\n clear(): void;\r\n get size(): number;\r\n forEach(cb: (value: T, key: K, map: MichelsonMap) => void): void;\r\n}\r\nexport {};\r\n'},{name:"@taquito/michelson-encoder/dist/types/taquito-michelson-encoder.d.ts",dts:"/**\r\n * @packageDocumentation\r\n * @module @taquito/michelson-encoder\r\n */\r\nexport * from './schema/storage';\r\nexport * from './schema/parameter';\r\nexport * from './schema/view-schema';\r\nexport * from './schema/event-schema';\r\nexport * from './schema/errors';\r\nexport * from './schema/types';\r\nexport { Semantic, SemanticEncoding, BigMapKeyType } from './tokens/token';\r\nexport * from './errors';\r\nexport declare const UnitValue: unique symbol;\r\nexport declare const SaplingStateValue: {};\r\nexport * from './michelson-map';\r\nexport { VERSION } from './version';\r\nexport { Token } from './tokens/token';\r\n"},{name:"@taquito/michelson-encoder/dist/types/version.d.ts",dts:"export declare const VERSION: {\r\n commitHash: string;\r\n version: string;\r\n};\r\n"},{name:"@taquito/rpc/dist/types/rpc-client-modules/rpc-cache.d.ts",dts:"import BigNumber from 'bignumber.js';\r\nimport { RpcClientInterface, RPCOptions } from '../rpc-client-interface';\r\nimport { BakingRightsQueryArguments, BakingRightsResponse, BalanceResponse, BallotListResponse, BallotsResponse, BigMapGetResponse, BigMapKey, BigMapResponse, BlockHeaderResponse, BlockMetadata, BlockResponse, ConstantsResponse, ContractResponse, CurrentProposalResponse, CurrentQuorumResponse, DelegateResponse, DelegatesResponse, VotingInfoResponse, EndorsingRightsQueryArguments, EndorsingRightsResponse, EntrypointsResponse, ForgeOperationsParams, ManagerKeyResponse, OperationHash, PackDataParams, PreapplyParams, PreapplyResponse, ProposalsResponse, ProtocolsResponse, RPCRunCodeParam, RPCRunOperationParam, RPCRunScriptViewParam, RPCRunViewParam, RunCodeResult, RunScriptViewResult, RunViewResult, SaplingDiffResponse, ScriptResponse, StorageResponse, TxRollupInboxResponse, TxRollupStateResponse, UnparsingMode, VotesListingsResponse, VotingPeriodBlockResult, TicketTokenParams, AllTicketBalances, PendingOperationsQueryArguments, PendingOperations, OriginationProofParams, RPCSimulateOperationParam } from '../types';\r\ninterface CachedDataInterface {\r\n [key: string]: {\r\n handle: () => void;\r\n response: Promise;\r\n };\r\n}\r\n/***\r\n * @description RpcClientCache acts as a decorator over the RpcClient instance by caching responses for the period defined by the ttl.\r\n */\r\nexport declare class RpcClientCache implements RpcClientInterface {\r\n private rpcClient;\r\n private ttl;\r\n private _cache;\r\n /**\r\n *\r\n * @param rpcClient rpcClient responsible of the interaction with Tezos network through an rpc node\r\n * @param ttl number representing the time to live (default 1000 milliseconds)\r\n *\r\n * @example new RpcClientCache(new RpcClient('https://mainnet.ecadinfra.com/'))\r\n */\r\n constructor(rpcClient: RpcClientInterface, ttl?: number);\r\n getAllCachedData(): CachedDataInterface;\r\n /**\r\n * @description Remove all the data in the cache.\r\n *\r\n */\r\n deleteAllCachedData(): void;\r\n private formatCacheKey;\r\n private has;\r\n private get;\r\n private put;\r\n private remove;\r\n private validateAddress;\r\n private validateContract;\r\n /**\r\n *\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Get the block's hash, its unique identifier.\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-hash\r\n */\r\n getBlockHash({ block }?: RPCOptions): Promise;\r\n /**\r\n *\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description List the ancestors of the given block which, if referred to as the branch in an operation header, are recent enough for that operation to be included in the current block.\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-live-blocks\r\n */\r\n getLiveBlocks({ block }?: RPCOptions): Promise;\r\n /**\r\n *\r\n * @param address address from which we want to retrieve the balance\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Access the balance of a contract.\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-context-contracts-contract-id-balance\r\n */\r\n getBalance(address: string, { block }?: RPCOptions): Promise;\r\n /**\r\n *\r\n * @param address contract address from which we want to retrieve the storage\r\n * @param options contains generic configuration for rpc calls\r\n * @throws {@link InvalidContractAddressError}\r\n * @description Access the data of the contract.\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-context-contracts-contract-id-storage\r\n */\r\n getStorage(address: string, { block }?: {\r\n block: string;\r\n }): Promise;\r\n /**\r\n *\r\n * @param address contract address from which we want to retrieve the script\r\n * @param options contains generic configuration for rpc calls\r\n * @throws {@link InvalidContractAddressError}\r\n * @description Access the code and data of the contract.\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-context-contracts-contract-id-script\r\n */\r\n getScript(address: string, { block }?: {\r\n block: string;\r\n }): Promise;\r\n /**\r\n *\r\n * @param address contract address from which we want to retrieve the script\r\n * @param unparsingMode default is { unparsing_mode: \"Readable\" }\r\n * @param options contains generic configuration for rpc calls\r\n * @throws {@link InvalidContractAddressError}\r\n * @description Access the script of the contract and normalize it using the requested unparsing mode.\r\n *\r\n */\r\n getNormalizedScript(address: string, unparsingMode?: UnparsingMode, { block }?: {\r\n block: string;\r\n }): Promise;\r\n /**\r\n *\r\n * @param address contract address from which we want to retrieve\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Access the complete status of a contract.\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-context-contracts-contract-id\r\n */\r\n getContract(address: string, { block }?: {\r\n block: string;\r\n }): Promise;\r\n /**\r\n *\r\n * @param address contract address from which we want to retrieve the manager\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Access the manager key of a contract.\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-context-contracts-contract-id-manager-key\r\n */\r\n getManagerKey(address: string, { block }?: {\r\n block: string;\r\n }): Promise;\r\n /**\r\n *\r\n * @param address contract address from which we want to retrieve the delegate (baker)\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Access the delegate of a contract, if any.\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-context-contracts-contract-id-delegate\r\n */\r\n getDelegate(address: string, { block }?: {\r\n block: string;\r\n }): Promise;\r\n /**\r\n *\r\n * @param address contract address from which we want to retrieve the big map key\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Access the value associated with a key in the big map storage of the contract.\r\n *\r\n * @deprecated Deprecated in favor of getBigMapKeyByID\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#post-block-id-context-contracts-contract-id-big-map-get\r\n */\r\n getBigMapKey(address: string, key: BigMapKey, { block }?: {\r\n block: string;\r\n }): Promise;\r\n /**\r\n *\r\n * @param id Big Map ID\r\n * @param expr Expression hash to query (A b58check encoded Blake2b hash of the expression (The expression can be packed using the pack_data method))\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Access the value associated with a key in a big map.\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-context-big-maps-big-map-id-script-expr\r\n */\r\n getBigMapExpr(id: string, expr: string, { block }?: {\r\n block: string;\r\n }): Promise;\r\n /**\r\n *\r\n * @param address delegate address which we want to retrieve\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Fetches information about a delegate from RPC.\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-context-delegates-pkh\r\n */\r\n getDelegates(address: string, { block }?: {\r\n block: string;\r\n }): Promise;\r\n /**\r\n *\r\n * @param address delegate address which we want to retrieve\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Returns the delegate info (e.g. voting power) found in the listings of the current voting period.\r\n *\r\n * @see https://tezos.gitlab.io/kathmandu/rpc.html#get-block-id-context-delegates-pkh-voting-info\r\n */\r\n getVotingInfo(address: string, { block }?: {\r\n block: string;\r\n }): Promise;\r\n /**\r\n *\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description All constants\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-context-constants\r\n */\r\n getConstants({ block }?: RPCOptions): Promise;\r\n /**\r\n *\r\n * @param options contains generic configuration for rpc calls. See examples for various available sytaxes.\r\n *\r\n * @description All the information about a block\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id\r\n * @example getBlock() will default to /main/chains/block/head.\r\n * @example getBlock({ block: head~2 }) will return an offset of 2 blocks.\r\n * @example getBlock({ block: BL8fTiWcSxWCjiMVnDkbh6EuhqVPZzgWheJ2dqwrxYRm9AephXh~2 }) will return an offset of 2 blocks from given block hash..\r\n */\r\n getBlock({ block }?: RPCOptions): Promise;\r\n /**\r\n *\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description The whole block header\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-header\r\n */\r\n getBlockHeader({ block }?: RPCOptions): Promise;\r\n /**\r\n *\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description All the metadata associated to the block\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-metadata\r\n */\r\n getBlockMetadata({ block }?: RPCOptions): Promise;\r\n /**\r\n *\r\n * @param args contains optional query arguments\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Retrieves the list of delegates allowed to bake a block.\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-helpers-baking-rights\r\n */\r\n getBakingRights(args?: BakingRightsQueryArguments, { block }?: RPCOptions): Promise;\r\n /**\r\n *\r\n * @param args contains optional query arguments\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Retrieves the list of delegates allowed to bake a block.\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-helpers-endorsing-rights\r\n */\r\n getEndorsingRights(args?: EndorsingRightsQueryArguments, { block }?: RPCOptions): Promise;\r\n /**\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Ballots casted so far during a voting period\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-votes-ballot-list\r\n */\r\n getBallotList({ block }?: RPCOptions): Promise;\r\n /**\r\n *\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Sum of ballots casted so far during a voting period.\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-votes-ballots\r\n */\r\n getBallots({ block }?: RPCOptions): Promise;\r\n /**\r\n *\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Current proposal under evaluation.\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-votes-current-proposal\r\n */\r\n getCurrentProposal({ block, }?: RPCOptions): Promise;\r\n /**\r\n *\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Current expected quorum.\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-votes-current-quorum\r\n */\r\n getCurrentQuorum({ block, }?: RPCOptions): Promise;\r\n /**\r\n *\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description List of delegates with their voting weight, in number of rolls.\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-votes-listings\r\n */\r\n getVotesListings({ block, }?: RPCOptions): Promise;\r\n /**\r\n *\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description List of proposals with number of supporters.\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-votes-proposals\r\n */\r\n getProposals({ block }?: RPCOptions): Promise;\r\n /**\r\n *\r\n * @param data operation contents to forge\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Forge an operation returning the unsigned bytes\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#post-block-id-helpers-forge-operations\r\n */\r\n forgeOperations(data: ForgeOperationsParams, { block }?: RPCOptions): Promise;\r\n /**\r\n *\r\n * @param signedOpBytes signed bytes to inject\r\n *\r\n * @description Inject an operation in node and broadcast it. Returns the ID of the operation. The `signedOperationContents` should be constructed using a contextual RPCs from the latest block and signed by the client. By default, the RPC will wait for the operation to be (pre-)validated before answering. See RPCs under /blocks/prevalidation for more details on the prevalidation context.\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#post-injection-operation\r\n */\r\n injectOperation(signedOpBytes: string): Promise;\r\n /**\r\n *\r\n * @param ops Operations to apply\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Simulate the validation of an operation\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#post-block-id-helpers-preapply-operations\r\n */\r\n preapplyOperations(ops: PreapplyParams, { block }?: RPCOptions): Promise;\r\n /**\r\n *\r\n * @param contract address of the contract we want to get the entrypoints of\r\n *\r\n * @description Return the list of entrypoints of the contract\r\n * @throws {@link InvalidContractAddressError}\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-context-contracts-contract-id-entrypoints\r\n *\r\n * @version 005_PsBABY5H\r\n */\r\n getEntrypoints(contract: string, { block }?: RPCOptions): Promise;\r\n /**\r\n * @param op Operation to run\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Run an operation without signature checks\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#post-block-id-helpers-scripts-run-operation\r\n */\r\n runOperation(op: RPCRunOperationParam, { block }?: RPCOptions): Promise;\r\n /**\r\n * @param op Operation to simulate\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Simulate an operation\r\n *\r\n * @see https://gitlab.com/tezos/tezos/-/blob/master/docs/api/nairobi-openapi.json\r\n */\r\n simulateOperation(op: RPCSimulateOperationParam, { block }?: RPCOptions): Promise;\r\n /**\r\n * @param code Code to run\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Run a piece of code in the current context\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#post-block-id-helpers-scripts-run-code\r\n */\r\n runCode(code: RPCRunCodeParam, { block }?: RPCOptions): Promise;\r\n /**\r\n * @param viewScriptParams Parameters of the script view to run\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Simulate a call to a michelson view\r\n *\r\n */\r\n runScriptView({ unparsing_mode, ...rest }: RPCRunScriptViewParam, { block }?: RPCOptions): Promise;\r\n /**\r\n * @param viewParams Parameters of the view to run\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Simulate a call to a view following the TZIP-4 standard. See https://gitlab.com/tzip/tzip/-/blob/master/proposals/tzip-4/tzip-4.md#view-entrypoints.\r\n *\r\n */\r\n runView({ unparsing_mode, ...rest }: RPCRunViewParam, { block }?: RPCOptions): Promise;\r\n getChainId(): Promise;\r\n /**\r\n *\r\n * @param data Data to pack\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Computes the serialized version of a data expression using the same algorithm as script instruction PACK\r\n *\r\n * @example packData({ data: { string: \"test\" }, type: { prim: \"string\" } })\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#post-block-id-helpers-scripts-pack-data\r\n */\r\n packData(data: PackDataParams, { block }?: RPCOptions): Promise<{\r\n packed: string;\r\n gas: BigNumber | 'unaccounted' | undefined;\r\n }>;\r\n /**\r\n *\r\n * @description Return rpc root url\r\n */\r\n getRpcUrl(): string;\r\n /**\r\n *\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Voting period of current block.\r\n *\r\n * @example getCurrentPeriod() will default to current voting period for /main/chains/block/head.\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-votes-current-period\r\n */\r\n getCurrentPeriod({ block, }?: RPCOptions): Promise;\r\n /**\r\n *\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Voting period of next block.\r\n *\r\n * @example getSuccessorPeriod() will default to successor voting period for /main/chains/block/head.\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-votes-successor-period\r\n */\r\n getSuccessorPeriod({ block, }?: RPCOptions): Promise;\r\n /**\r\n *\r\n * @param id Sapling state ID\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Access the value associated with a sapling state ID.\r\n *\r\n * @see https://tezos.gitlab.io/active/rpc.html#get-block-id-context-sapling-sapling-state-id-get-diff\r\n */\r\n getSaplingDiffById(id: string, { block }?: {\r\n block: string;\r\n }): Promise;\r\n /**\r\n *\r\n * @param contract address of the contract we want to get the sapling diff\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Access the value associated with a sapling state.\r\n *\r\n * @see https://tezos.gitlab.io/active/rpc.html#get-block-id-context-contracts-contract-id-single-sapling-get-diff\r\n */\r\n getSaplingDiffByContract(contract: string, { block }?: {\r\n block: string;\r\n }): Promise;\r\n getProtocols({ block }?: {\r\n block: string;\r\n }): Promise;\r\n getTxRollupState(txRollupId: string, { block }?: {\r\n block: string;\r\n }): Promise;\r\n getTxRollupInbox(txRollupId: string, blockLevel: string, { block }?: {\r\n block: string;\r\n }): Promise;\r\n /**\r\n *\r\n * @param contract address of the contract we want to retrieve storage information of\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Access the amount of used space used in a contract's storage\r\n *\r\n * @see https://tezos.gitlab.io/lima/rpc.html#get-block-id-context-contracts-contract-id-storage\r\n */\r\n getStorageUsedSpace(contract: string, { block }?: {\r\n block: string;\r\n }): Promise;\r\n /**\r\n *\r\n * @param contract address of the contract we want to retrieve storage information of\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Access the amount of paid space in a contract's storage\r\n *\r\n * @see https://tezos.gitlab.io/lima/rpc.html#get-block-id-context-contracts-contract-id-storage\r\n */\r\n getStoragePaidSpace(contract: string, { block }?: {\r\n block: string;\r\n }): Promise;\r\n /**\r\n *\r\n * @param contract address of the contract we want to retrieve ticket balance of\r\n * @param ticket Ticket token parameter object that contains ticketer, content type, and content\r\n * @param options contains generic configuration for rpc calls\r\n * @description Access the contract's balance of ticket with specified ticketer, content type, and content.\r\n * @example ticket{ ticketer: 'address', content_type: { prim: \"string\" }, content: { string: 'ticket1' } }\r\n * @see https://tezos.gitlab.io/protocols/016_mumbai.html#rpc-changes\r\n */\r\n getTicketBalance(contract: string, ticket: TicketTokenParams, { block }?: RPCOptions): Promise;\r\n /**\r\n *\r\n * @param contract address of the contract to retrieve all ticket balances from\r\n * @param options contains generic configuration for rpc calls\r\n * @description Access the complete list of tickets owned by the given contract by scanning the contract's storage.\r\n * @see https://tezos.gitlab.io/protocols/016_mumbai.html#rpc-changes\r\n */\r\n getAllTicketBalances(contract: string, { block }?: RPCOptions): Promise;\r\n /**\r\n * @description List the prevalidated operations in mempool (accessibility of mempool depends on each rpc endpoint)\r\n * @param args has 5 optional properties. We support version 1 with new encoding as version 0 will be deprecated soon. The rest of the properties is to filter pending operations response\r\n * @default args { version: '1', applied: true, refused: true, outdated, true, branchRefused: true, branchDelayed: true, validationPass: undefined }\r\n * @see https://tezos.gitlab.io/CHANGES.html?highlight=pending_operations#id4\r\n */\r\n getPendingOperations(args?: PendingOperationsQueryArguments): Promise;\r\n /**\r\n *\r\n * @param params contains the PVM kind and kernel to generate the origination proof from\r\n * @description rpc call to generate the origination proof needed for the smart rollup originate operation\r\n * @see https://tezos.gitlab.io/protocols/016_mumbai.html#rpc-changes\r\n */\r\n getOriginationProof(params: OriginationProofParams, { block }?: RPCOptions): Promise;\r\n}\r\nexport {};\r\n"},{name:"@taquito/rpc/dist/types/utils/utils.d.ts",dts:"/**\r\n * Casts object/array items to BigNumber\r\n * @param data input object or array\r\n * @param keys keys for processing or all items if not defined\r\n *\r\n */\r\nexport declare function castToBigNumber(data: any, keys?: any): object;\r\n/**\r\n * Casts object/array BigNumber items to strings for readability\r\n * @param data input object or array\r\n * @param keys keys for processing or all items if not defined\r\n *\r\n */\r\nexport declare function castToString(data: any, keys?: any): object;\r\n"},{name:"@taquito/rpc/dist/types/opkind.d.ts",dts:'export declare enum OpKind {\r\n ORIGINATION = "origination",\r\n DELEGATION = "delegation",\r\n REVEAL = "reveal",\r\n TRANSACTION = "transaction",\r\n ACTIVATION = "activate_account",\r\n ENDORSEMENT = "endorsement",\r\n PREENDORSEMENT = "preendorsement",\r\n SET_DEPOSITS_LIMIT = "set_deposits_limit",\r\n DOUBLE_PREENDORSEMENT_EVIDENCE = "double_preendorsement_evidence",\r\n ENDORSEMENT_WITH_SLOT = "endorsement_with_slot",\r\n SEED_NONCE_REVELATION = "seed_nonce_revelation",\r\n DOUBLE_ENDORSEMENT_EVIDENCE = "double_endorsement_evidence",\r\n DOUBLE_BAKING_EVIDENCE = "double_baking_evidence",\r\n PROPOSALS = "proposals",\r\n BALLOT = "ballot",\r\n FAILING_NOOP = "failing_noop",\r\n REGISTER_GLOBAL_CONSTANT = "register_global_constant",\r\n TX_ROLLUP_ORIGINATION = "tx_rollup_origination",\r\n TX_ROLLUP_SUBMIT_BATCH = "tx_rollup_submit_batch",\r\n TX_ROLLUP_COMMIT = "tx_rollup_commit",\r\n TX_ROLLUP_RETURN_BOND = "tx_rollup_return_bond",\r\n TX_ROLLUP_FINALIZE_COMMITMENT = "tx_rollup_finalize_commitment",\r\n TX_ROLLUP_REMOVE_COMMITMENT = "tx_rollup_remove_commitment",\r\n TX_ROLLUP_REJECTION = "tx_rollup_rejection",\r\n TX_ROLLUP_DISPATCH_TICKETS = "tx_rollup_dispatch_tickets",\r\n TRANSFER_TICKET = "transfer_ticket",\r\n INCREASE_PAID_STORAGE = "increase_paid_storage",\r\n UPDATE_CONSENSUS_KEY = "update_consensus_key",\r\n DRAIN_DELEGATE = "drain_delegate",\r\n VDF_REVELATION = "vdf_revelation",\r\n EVENT = "event",\r\n TICKET_UPDATES = "ticket_updates",\r\n SMART_ROLLUP_ORIGINATE = "smart_rollup_originate",\r\n SMART_ROLLUP_ADD_MESSAGES = "smart_rollup_add_messages",\r\n SMART_ROLLUP_EXECUTE_OUTBOX_MESSAGE = "smart_rollup_execute_outbox_message",\r\n SMART_ROLLUP_PUBLISH = "smart_rollup_publish",\r\n SMART_ROLLUP_CEMENT = "smart_rollup_cement",\r\n SMART_ROLLUP_RECOVER_BOND = "smart_rollup_recover_bond",\r\n SMART_ROLLUP_REFUTE = "smart_rollup_refute",\r\n SMART_ROLLUP_TIMEOUT = "smart_rollup_timeout"\r\n}\r\n'},{name:"@taquito/rpc/dist/types/rpc-client-interface.d.ts",dts:'import { BigNumber } from \'bignumber.js\';\r\nimport { BakingRightsQueryArguments, BakingRightsResponse, BalanceResponse, BallotListResponse, BallotsResponse, BigMapGetResponse, BigMapKey, BigMapResponse, BlockHeaderResponse, BlockMetadata, BlockResponse, ConstantsResponse, ContractResponse, CurrentProposalResponse, CurrentQuorumResponse, DelegateResponse, DelegatesResponse, EndorsingRightsQueryArguments, EndorsingRightsResponse, EntrypointsResponse, ForgeOperationsParams, ManagerKeyResponse, OperationHash, PackDataParams, PreapplyParams, PreapplyResponse, ProposalsResponse, ProtocolsResponse, RPCRunCodeParam, RPCRunOperationParam, RPCRunScriptViewParam, RPCRunViewParam, RunCodeResult, RunScriptViewResult, RunViewResult, SaplingDiffResponse, ScriptResponse, StorageResponse, TxRollupInboxResponse, TxRollupStateResponse, UnparsingMode, VotesListingsResponse, VotingInfoResponse, VotingPeriodBlockResult, TicketTokenParams, AllTicketBalances, PendingOperations, PendingOperationsQueryArguments, OriginationProofParams, RPCSimulateOperationParam } from \'./types\';\r\nexport interface RPCOptions {\r\n block: string;\r\n}\r\nexport declare const defaultChain = "main";\r\nexport declare const defaultRPCOptions: RPCOptions;\r\nexport interface RpcClientInterface {\r\n getBlockHash(options?: RPCOptions): Promise;\r\n getLiveBlocks(options?: RPCOptions): Promise;\r\n getBalance(address: string, options?: RPCOptions): Promise;\r\n getStorage(address: string, options?: RPCOptions): Promise;\r\n getScript(address: string, options?: RPCOptions): Promise;\r\n getNormalizedScript(address: string, unparsingMode?: UnparsingMode, options?: RPCOptions): Promise;\r\n getContract(address: string, options?: RPCOptions): Promise;\r\n getManagerKey(address: string, options?: RPCOptions): Promise;\r\n getDelegate(address: string, options?: RPCOptions): Promise;\r\n getBigMapKey(address: string, key: BigMapKey, options?: RPCOptions): Promise;\r\n getBigMapExpr(id: string, expr: string, options?: RPCOptions): Promise;\r\n getDelegates(address: string, options?: RPCOptions): Promise;\r\n getVotingInfo(address: string, options?: RPCOptions): Promise;\r\n getConstants(options?: RPCOptions): Promise;\r\n getBlock(options?: RPCOptions): Promise;\r\n getBlockHeader(options?: RPCOptions): Promise;\r\n getBlockMetadata(options?: RPCOptions): Promise;\r\n getBakingRights(args: BakingRightsQueryArguments, options?: RPCOptions): Promise;\r\n getEndorsingRights(args: EndorsingRightsQueryArguments, options?: RPCOptions): Promise;\r\n getBallotList(options?: RPCOptions): Promise;\r\n getBallots(options?: RPCOptions): Promise;\r\n getCurrentProposal(options?: RPCOptions): Promise;\r\n getCurrentQuorum(options?: RPCOptions): Promise;\r\n getVotesListings(options?: RPCOptions): Promise;\r\n getProposals(options?: RPCOptions): Promise;\r\n forgeOperations(data: ForgeOperationsParams, options?: RPCOptions): Promise;\r\n injectOperation(signedOpBytes: string): Promise;\r\n preapplyOperations(ops: PreapplyParams, options?: RPCOptions): Promise;\r\n getEntrypoints(contract: string, options?: RPCOptions): Promise;\r\n runOperation(op: RPCRunOperationParam, options?: RPCOptions): Promise;\r\n simulateOperation(op: RPCSimulateOperationParam, options?: RPCOptions): Promise;\r\n runCode(code: RPCRunCodeParam, options?: RPCOptions): Promise;\r\n runScriptView(viewScriptParams: RPCRunScriptViewParam, options?: RPCOptions): Promise;\r\n runView(viewParams: RPCRunViewParam, options?: RPCOptions): Promise;\r\n getChainId(): Promise;\r\n packData(data: PackDataParams, options?: RPCOptions): Promise<{\r\n packed: string;\r\n gas: BigNumber | \'unaccounted\' | undefined;\r\n }>;\r\n getRpcUrl(): string;\r\n getCurrentPeriod(options?: RPCOptions): Promise;\r\n getSuccessorPeriod(options?: RPCOptions): Promise;\r\n getSaplingDiffById(id: string, options?: RPCOptions): Promise;\r\n getSaplingDiffByContract(contract: string, options?: RPCOptions): Promise;\r\n getProtocols(options?: RPCOptions): Promise;\r\n getTxRollupState(txRollupId: string, options?: RPCOptions): Promise;\r\n getTxRollupInbox(txRollupId: string, blockLevel: string, options?: RPCOptions): Promise;\r\n getStorageUsedSpace(contract: string, options?: RPCOptions): Promise;\r\n getStoragePaidSpace(contract: string, options?: RPCOptions): Promise;\r\n getTicketBalance(contract: string, ticket: TicketTokenParams, options?: RPCOptions): Promise;\r\n getAllTicketBalances(contract: string, options?: RPCOptions): Promise;\r\n getPendingOperations(args: PendingOperationsQueryArguments): Promise;\r\n getOriginationProof(params: OriginationProofParams, options?: RPCOptions): Promise;\r\n}\r\nexport declare enum RPCMethodName {\r\n GET_BAKING_RIGHTS = "getBakingRights",\r\n GET_BALLOTS = "getBallots",\r\n GET_BALLOT_LIST = "getBallotList",\r\n GET_BIG_MAP_KEY = "getBigMapKey",\r\n GET_BIG_MAP_EXPR = "getBigMapExpr",\r\n GET_BLOCK_HASH = "getBlockHash",\r\n GET_BLOCK = "getBlock",\r\n GET_BLOCK_HEADER = "getBlockHeader",\r\n GET_BLOCK_METADATA = "getBlockMetadata",\r\n GET_BALANCE = "getBalance",\r\n GET_CHAIN_ID = "getChainId",\r\n GET_CONSTANTS = "getConstants",\r\n GET_CONTRACT = "getContract",\r\n GET_CURRENT_PERIOD = "getCurrentPeriod",\r\n GET_CURRENT_PROPOSAL = "getCurrentProposal",\r\n GET_CURRENT_QUORUM = "getCurrentQuorum",\r\n GET_DELEGATE = "getDelegate",\r\n GET_DELEGATES = "getDelegates",\r\n GET_VOTING_INFO = "getVotingInfo",\r\n GET_ENDORSING_RIGHTS = "getEndorsingRights",\r\n GET_ENTRYPOINTS = "getEntrypoints",\r\n GET_LIVE_BLOCKS = "getLiveBlocks",\r\n GET_MANAGER_KEY = "getManagerKey",\r\n GET_NORMALIZED_SCRIPT = "getNormalizedScript",\r\n GET_PROPOSALS = "getProposals",\r\n GET_PROTOCOLS = "getProtocols",\r\n GET_SAPLING_DIFF_BY_CONTRACT = "getSaplingDiffByContract",\r\n GET_SAPLING_DIFF_BY_ID = "getSaplingDiffById",\r\n GET_SCRIPT = "getScript",\r\n GET_STORAGE = "getStorage",\r\n GET_SUCCESSOR_PERIOD = "getSuccessorPeriod",\r\n GET_TX_ROLLUP_INBOX = "getTxRollupInbox",\r\n GET_TX_ROLLUP_STATE = "getTxRollupState",\r\n GET_VOTES_LISTINGS = "getVotesListings",\r\n PACK_DATA = "packData",\r\n GET_STORAGE_USED_SPACE = "getStorageUsedSpace",\r\n GET_STORAGE_PAID_SPACE = "getStoragePaidSpace",\r\n GET_TICKET_BALANCE = "getTicketBalance",\r\n GET_ALL_TICKET_BALANCES = "getAllTicketBalances",\r\n GET_PENDING_OPERATIONS = "getPendingOperations",\r\n GET_ORIGINATION_PROOF = "getOriginationProof"\r\n}\r\n'},{name:"@taquito/rpc/dist/types/taquito-rpc.d.ts",dts:"/**\r\n * @packageDocumentation\r\n * @module @taquito/rpc\r\n */\r\nimport { HttpBackend } from '@taquito/http-utils';\r\nimport BigNumber from 'bignumber.js';\r\nimport { RpcClientInterface, RPCOptions } from './rpc-client-interface';\r\nimport { BakingRightsQueryArguments, BakingRightsResponse, BalanceResponse, BallotListResponse, BallotsResponse, BigMapGetResponse, BigMapKey, BigMapResponse, BlockHeaderResponse, BlockMetadata, BlockResponse, ConstantsResponse, ContractResponse, CurrentProposalResponse, CurrentQuorumResponse, DelegateResponse, DelegatesResponse, VotingInfoResponse, EndorsingRightsQueryArguments, EndorsingRightsResponse, EntrypointsResponse, ForgeOperationsParams, ManagerKeyResponse, OperationHash, PackDataParams, PreapplyParams, PreapplyResponse, ProposalsResponse, ProtocolsResponse, RPCRunCodeParam, RPCRunOperationParam, RPCRunViewParam, RPCRunScriptViewParam, RunCodeResult, RunViewResult, RunScriptViewResult, SaplingDiffResponse, ScriptResponse, StorageResponse, UnparsingMode, VotesListingsResponse, VotingPeriodBlockResult, TxRollupStateResponse, TxRollupInboxResponse, TicketTokenParams, AllTicketBalances, PendingOperationsQueryArguments, PendingOperations, OriginationProofParams, RPCSimulateOperationParam } from './types';\r\nexport { castToBigNumber } from './utils/utils';\r\nexport { RPCOptions, defaultChain, defaultRPCOptions, RpcClientInterface, } from './rpc-client-interface';\r\nexport { RpcClientCache } from './rpc-client-modules/rpc-cache';\r\nexport * from './types';\r\nexport { OpKind } from './opkind';\r\nexport { VERSION } from './version';\r\n/***\r\n * @description RpcClient allows interaction with Tezos network through an rpc node\r\n */\r\nexport declare class RpcClient implements RpcClientInterface {\r\n protected url: string;\r\n protected chain: string;\r\n protected httpBackend: HttpBackend;\r\n /**\r\n *\r\n * @param url rpc root url\r\n * @param chain chain (default main)\r\n * @param httpBackend Http backend that issue http request.\r\n * You can override it by providing your own if you which to hook in the request/response\r\n *\r\n * @example new RpcClient('https://mainnet.ecadinfra.com/', 'main') this will use https://mainnet.ecadinfra.com//chains/main\r\n */\r\n constructor(url: string, chain?: string, httpBackend?: HttpBackend);\r\n protected createURL(path: string): string;\r\n private validateAddress;\r\n private validateContract;\r\n /**\r\n *\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Get the block's hash, its unique identifier.\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-hash\r\n */\r\n getBlockHash({ block }?: RPCOptions): Promise;\r\n /**\r\n *\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description List the ancestors of the given block which, if referred to as the branch in an operation header, are recent enough for that operation to be included in the current block.\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-live-blocks\r\n */\r\n getLiveBlocks({ block }?: RPCOptions): Promise;\r\n /**\r\n *\r\n * @param address address from which we want to retrieve the balance\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Access the balance of a contract.\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-context-contracts-contract-id-balance\r\n */\r\n getBalance(address: string, { block }?: RPCOptions): Promise;\r\n /**\r\n *\r\n * @param address contract address from which we want to retrieve the storage\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Access the data of the contract.\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-context-contracts-contract-id-storage\r\n */\r\n getStorage(address: string, { block }?: {\r\n block: string;\r\n }): Promise;\r\n /**\r\n *\r\n * @param address contract address from which we want to retrieve the script\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Access the code and data of the contract.\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-context-contracts-contract-id-script\r\n */\r\n getScript(address: string, { block }?: {\r\n block: string;\r\n }): Promise;\r\n /**\r\n *\r\n * @param address contract address from which we want to retrieve the script\r\n * @param unparsingMode default is { unparsing_mode: \"Readable\" }\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Access the script of the contract and normalize it using the requested unparsing mode.\r\n *\r\n */\r\n getNormalizedScript(address: string, unparsingMode?: UnparsingMode, { block }?: {\r\n block: string;\r\n }): Promise;\r\n /**\r\n *\r\n * @param address contract address from which we want to retrieve\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Access the complete status of a contract.\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-context-contracts-contract-id\r\n */\r\n getContract(address: string, { block }?: {\r\n block: string;\r\n }): Promise;\r\n /**\r\n *\r\n * @param address contract address from which we want to retrieve the manager\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Access the manager key of a contract.\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-context-contracts-contract-id-manager-key\r\n */\r\n getManagerKey(address: string, { block }?: {\r\n block: string;\r\n }): Promise;\r\n /**\r\n *\r\n * @param address contract address from which we want to retrieve the delegate (baker)\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Access the delegate of a contract, if any.\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-context-contracts-contract-id-delegate\r\n */\r\n getDelegate(address: string, { block }?: {\r\n block: string;\r\n }): Promise;\r\n /**\r\n *\r\n * @param address contract address from which we want to retrieve the big map key\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Access the value associated with a key in the big map storage of the contract.\r\n *\r\n * @deprecated Deprecated in favor of getBigMapKeyByID\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#post-block-id-context-contracts-contract-id-big-map-get\r\n */\r\n getBigMapKey(address: string, key: BigMapKey, { block }?: {\r\n block: string;\r\n }): Promise;\r\n /**\r\n *\r\n * @param id Big Map ID\r\n * @param expr Expression hash to query (A b58check encoded Blake2b hash of the expression (The expression can be packed using the pack_data method))\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Access the value associated with a key in a big map.\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-context-big-maps-big-map-id-script-expr\r\n */\r\n getBigMapExpr(id: string, expr: string, { block }?: {\r\n block: string;\r\n }): Promise;\r\n /**\r\n *\r\n * @param address delegate address which we want to retrieve\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Fetches information about a delegate from RPC.\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-context-delegates-pkh\r\n */\r\n getDelegates(address: string, { block }?: {\r\n block: string;\r\n }): Promise;\r\n /**\r\n *\r\n * @param address delegate address which we want to retrieve\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Returns the delegate info (e.g. voting power) found in the listings of the current voting period.\r\n *\r\n * @see https://tezos.gitlab.io/kathmandu/rpc.html#get-block-id-context-delegates-pkh-voting-info\r\n */\r\n getVotingInfo(address: string, { block }?: {\r\n block: string;\r\n }): Promise;\r\n /**\r\n *\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description All constants\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-context-constants\r\n */\r\n getConstants({ block }?: RPCOptions): Promise;\r\n /**\r\n *\r\n * @param options contains generic configuration for rpc calls. See examples for various available sytaxes.\r\n *\r\n * @description All the information about a block\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id\r\n * @example getBlock() will default to /main/chains/block/head.\r\n * @example getBlock({ block: head~2 }) will return an offset of 2 blocks.\r\n * @example getBlock({ block: BL8fTiWcSxWCjiMVnDkbh6EuhqVPZzgWheJ2dqwrxYRm9AephXh~2 }) will return an offset of 2 blocks from given block hash..\r\n */\r\n getBlock({ block }?: RPCOptions): Promise;\r\n /**\r\n *\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description The whole block header\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-header\r\n */\r\n getBlockHeader({ block }?: RPCOptions): Promise;\r\n /**\r\n *\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description All the metadata associated to the block\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-metadata\r\n */\r\n getBlockMetadata({ block }?: RPCOptions): Promise;\r\n /**\r\n *\r\n * @param args contains optional query arguments\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Retrieves the list of delegates allowed to bake a block.\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-helpers-baking-rights\r\n */\r\n getBakingRights(args?: BakingRightsQueryArguments, { block }?: RPCOptions): Promise;\r\n /**\r\n *\r\n * @param args contains optional query arguments\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Retrieves the list of delegates allowed to bake a block.\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-helpers-endorsing-rights\r\n */\r\n getEndorsingRights(args?: EndorsingRightsQueryArguments, { block }?: RPCOptions): Promise;\r\n /**\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Ballots casted so far during a voting period\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-votes-ballot-list\r\n */\r\n getBallotList({ block }?: RPCOptions): Promise;\r\n /**\r\n *\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Sum of ballots casted so far during a voting period.\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-votes-ballots\r\n */\r\n getBallots({ block }?: RPCOptions): Promise;\r\n /**\r\n *\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Current proposal under evaluation.\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-votes-current-proposal\r\n */\r\n getCurrentProposal({ block, }?: RPCOptions): Promise;\r\n /**\r\n *\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Current expected quorum.\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-votes-current-quorum\r\n */\r\n getCurrentQuorum({ block, }?: RPCOptions): Promise;\r\n /**\r\n *\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description List of delegates with their voting weight, in number of rolls.\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-votes-listings\r\n */\r\n getVotesListings({ block, }?: RPCOptions): Promise;\r\n /**\r\n *\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description List of proposals with number of supporters.\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-votes-proposals\r\n */\r\n getProposals({ block }?: RPCOptions): Promise;\r\n /**\r\n *\r\n * @param data operation contents to forge\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Forge an operation returning the unsigned bytes\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#post-block-id-helpers-forge-operations\r\n */\r\n forgeOperations(data: ForgeOperationsParams, { block }?: RPCOptions): Promise;\r\n /**\r\n *\r\n * @param signedOpBytes signed bytes to inject\r\n *\r\n * @description Inject an operation in node and broadcast it. Returns the ID of the operation. The `signedOperationContents` should be constructed using a contextual RPCs from the latest block and signed by the client. By default, the RPC will wait for the operation to be (pre-)validated before answering. See RPCs under /blocks/prevalidation for more details on the prevalidation context.\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#post-injection-operation\r\n */\r\n injectOperation(signedOpBytes: string): Promise;\r\n /**\r\n *\r\n * @param ops Operations to apply\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Simulate the validation of an operation\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#post-block-id-helpers-preapply-operations\r\n */\r\n preapplyOperations(ops: PreapplyParams, { block }?: RPCOptions): Promise;\r\n /**\r\n *\r\n * @param contract address of the contract we want to get the entrypoints of\r\n *\r\n * @description Return the list of entrypoints of the contract\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-context-contracts-contract-id-entrypoints\r\n *\r\n * @version 005_PsBABY5H\r\n */\r\n getEntrypoints(contract: string, { block }?: RPCOptions): Promise;\r\n /**\r\n * @param op Operation to run\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Run an operation without signature checks\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#post-block-id-helpers-scripts-run-operation\r\n */\r\n runOperation(op: RPCRunOperationParam, { block }?: RPCOptions): Promise;\r\n /**\r\n * @param op Operation to simulate\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Simulate an operation on the blockchain\r\n *\r\n * @see https://gitlab.com/tezos/tezos/-/blob/master/docs/api/nairobi-openapi.json\r\n */\r\n simulateOperation(op: RPCSimulateOperationParam, { block }?: RPCOptions): Promise;\r\n /**\r\n * @param code Code to run\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Run a piece of code in the current context\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#post-block-id-helpers-scripts-run-code\r\n */\r\n runCode(code: RPCRunCodeParam, { block }?: RPCOptions): Promise;\r\n /**\r\n * @param viewScriptParams Parameters of the script view to run\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Simulate a call to a michelson view\r\n *\r\n */\r\n runScriptView({ unparsing_mode, ...rest }: RPCRunScriptViewParam, { block }?: RPCOptions): Promise;\r\n /**\r\n * @param viewParams Parameters of the view to run\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Simulate a call to a view following the TZIP-4 standard. See https://gitlab.com/tzip/tzip/-/blob/master/proposals/tzip-4/tzip-4.md#view-entrypoints.\r\n *\r\n */\r\n runView({ unparsing_mode, ...rest }: RPCRunViewParam, { block }?: RPCOptions): Promise;\r\n getChainId(): Promise;\r\n /**\r\n *\r\n * @param data Data to pack\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Computes the serialized version of a data expression using the same algorithm as script instruction PACK\r\n * Note: You should always verify the packed bytes before signing or requesting that they be signed when using the the RPC to pack.\r\n * This precaution helps protect you and your applications users from RPC nodes that have been compromised.\r\n * A node that is operated by a bad actor, or compromised by a bad actor could return a fully formed operation that does not correspond to the input provided to the RPC endpoint.\r\n * A safer solution to pack and sign data would be to use the `packDataBytes` function available in the `@taquito/michel-codec` package.\r\n *\r\n * @example packData({ data: { string: \"test\" }, type: { prim: \"string\" } })\r\n *\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#post-block-id-helpers-scripts-pack-data\r\n */\r\n packData(data: PackDataParams, { block }?: RPCOptions): Promise<{\r\n packed: string;\r\n gas: BigNumber | \"unaccounted\" | undefined;\r\n }>;\r\n /**\r\n *\r\n * @description Return rpc root url\r\n */\r\n getRpcUrl(): string;\r\n /**\r\n *\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Voting period of current block.\r\n *\r\n * @example getCurrentPeriod() will default to current voting period for /main/chains/block/head.\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-votes-current-period\r\n */\r\n getCurrentPeriod({ block, }?: RPCOptions): Promise;\r\n /**\r\n *\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Voting period of next block.\r\n *\r\n * @example getSuccessorPeriod() will default to successor voting period for /main/chains/block/head.\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-votes-successor-period\r\n */\r\n getSuccessorPeriod({ block, }?: RPCOptions): Promise;\r\n /**\r\n *\r\n * @param id Sapling state ID\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Access the value associated with a sapling state ID.\r\n *\r\n * @see https://tezos.gitlab.io/active/rpc.html#get-block-id-context-sapling-sapling-state-id-get-diff\r\n */\r\n getSaplingDiffById(id: string, { block }?: {\r\n block: string;\r\n }): Promise;\r\n /**\r\n *\r\n * @param contract address of the contract we want to get the sapling diff\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Access the value associated with a sapling state.\r\n *\r\n * @see https://tezos.gitlab.io/active/rpc.html#get-block-id-context-contracts-contract-id-single-sapling-get-diff\r\n */\r\n getSaplingDiffByContract(contract: string, { block }?: {\r\n block: string;\r\n }): Promise;\r\n getProtocols({ block }?: {\r\n block: string;\r\n }): Promise;\r\n /**\r\n *\r\n * @param tx_rollup_id the transaction rollup ID\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Access the state of a rollup\r\n *\r\n * @see https://tezos.gitlab.io/jakarta/rpc.html#get-block-id-context-tx-rollup-tx-rollup-id-state\r\n */\r\n getTxRollupState(txRollupId: string, { block }?: {\r\n block: string;\r\n }): Promise;\r\n /**\r\n *\r\n * @param tx_rollup_id the transaction rollup ID\r\n * @param block_level the block level\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Access the inbox of a transaction rollup\r\n *\r\n * @see https://tezos.gitlab.io/jakarta/rpc.html#get-block-id-context-tx-rollup-tx-rollup-id-inbox-block-level\r\n */\r\n getTxRollupInbox(txRollupId: string, blockLevel: string, { block }?: {\r\n block: string;\r\n }): Promise;\r\n /**\r\n *\r\n * @param contract address of the contract we want to retrieve storage information of\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Access the amount of used space in a contract's storage\r\n *\r\n * @see https://tezos.gitlab.io/lima/rpc.html#get-block-id-context-contracts-contract-id-storage\r\n */\r\n getStorageUsedSpace(contract: string, { block }?: {\r\n block: string;\r\n }): Promise;\r\n /**\r\n *\r\n * @param contract address of the contract we want to retrieve storage information of\r\n * @param options contains generic configuration for rpc calls\r\n *\r\n * @description Access the amount of paid space in a contract's storage\r\n *\r\n * @see https://tezos.gitlab.io/lima/rpc.html#get-block-id-context-contracts-contract-id-storage\r\n */\r\n getStoragePaidSpace(contract: string, { block }?: {\r\n block: string;\r\n }): Promise;\r\n /**\r\n *\r\n * @param contract implicit or originated address we want to retrieve ticket balance of\r\n * @param ticket object to specify a ticket by ticketer, content type and content\r\n * @param options contains generic configuration for rpc calls\r\n * @description Access the contract's balance of ticket with specified ticketer, content type, and content.\r\n * @example ticket { ticketer: 'address', content_type: { prim: \"string\" }, content: { string: 'ticket1' } }\r\n * @see https://tezos.gitlab.io/protocols/016_mumbai.html#rpc-changes\r\n */\r\n getTicketBalance(contract: string, ticket: TicketTokenParams, { block }?: {\r\n block: string;\r\n }): Promise;\r\n /**\r\n *\r\n * @param contract originated address we want to retrieve ticket balances of\r\n * @param options contains generic configuration for rpc calls\r\n * @description Access the complete list of tickets owned by the given contract by scanning the contract's storage.\r\n * @see https://tezos.gitlab.io/protocols/016_mumbai.html#rpc-changes\r\n */\r\n getAllTicketBalances(contract: string, { block }?: {\r\n block: string;\r\n }): Promise;\r\n /**\r\n * @description List the prevalidated operations in mempool (accessibility of mempool depends on each rpc endpoint)\r\n * @param args has 5 optional properties. We support version 1 with new encoding as version 0 will be deprecated soon. The rest of the properties is to filter pending operations response\r\n * @default args { version: '1', applied: true, refused: true, outdated, true, branchRefused: true, branchDelayed: true, validationPass: undefined }\r\n * @see https://tezos.gitlab.io/CHANGES.html?highlight=pending_operations#id4\r\n */\r\n getPendingOperations(args?: PendingOperationsQueryArguments): Promise;\r\n /**\r\n *\r\n * @param params contains the PVM kind and kernel to generate the origination proof from\r\n * @description rpc call to generate the origination proof needed for a smart rollup originate operation\r\n * @see https://tezos.gitlab.io/protocols/016_mumbai.html#rpc-changes\r\n */\r\n getOriginationProof(params: OriginationProofParams, { block }?: {\r\n block: string;\r\n }): Promise;\r\n}\r\n"},{name:"@taquito/rpc/dist/types/types.d.ts",dts:"import BigNumber from 'bignumber.js';\r\nimport { OpKind } from './opkind';\r\nexport declare type BalanceResponse = BigNumber;\r\nexport declare type StorageResponse = ScriptedContracts['storage'];\r\nexport declare type ScriptResponse = ScriptedContracts;\r\nexport declare type BigMapGetResponse = MichelsonV1Expression;\r\nexport declare type ManagerResponse = {\r\n manager: string;\r\n};\r\nexport declare type ManagerKeyResponse = string | {\r\n key: string;\r\n};\r\nexport declare type DelegateResponse = string | null;\r\nexport declare type OperationHash = string;\r\ninterface INodeExtender {\r\n length: string;\r\n segment: string;\r\n proof: string;\r\n}\r\ndeclare type OtherEltsInner = {\r\n value: any;\r\n} | {\r\n inode_extender: INodeExtender;\r\n};\r\nexport declare type OtherElts = {\r\n node: [string, {\r\n value: string;\r\n } | {\r\n node: string;\r\n }][];\r\n} | {\r\n other_elts: OtherEltsInner;\r\n};\r\ndeclare type State = {\r\n inode: Inode;\r\n} | {\r\n other_elts: OtherElts;\r\n};\r\nexport interface Inode {\r\n length: string;\r\n proofs: [string | null, string | null];\r\n}\r\ndeclare type TxRollupProofContextHash = {\r\n value: string;\r\n} | {\r\n node: string;\r\n};\r\nexport interface TxRollupProof {\r\n version: number;\r\n before: TxRollupProofContextHash;\r\n after: TxRollupProofContextHash;\r\n state: State[];\r\n}\r\nexport interface TxRollupCommitment {\r\n level: number;\r\n messages: string[];\r\n predecessor?: string;\r\n inbox_merkle_root: string;\r\n}\r\nexport interface TxRollupDeposit {\r\n sender: string;\r\n destination: string;\r\n ticket_hash: string;\r\n amount: string;\r\n}\r\nexport interface TxRollupMessage {\r\n batch?: string;\r\n deposit?: TxRollupDeposit;\r\n}\r\nexport interface TxRollupPreviousMessageResult {\r\n context_hash: string;\r\n withdraw_list_hash: string;\r\n}\r\nexport interface TxRollupTicketsInfo {\r\n contents: MichelsonV1Expression;\r\n ty: MichelsonV1Expression;\r\n ticketer: string;\r\n amount: string;\r\n claimer: string;\r\n}\r\nexport interface DelegatesResponse {\r\n balance?: BigNumber;\r\n full_balance?: BigNumber;\r\n current_frozen_deposits?: BigNumber;\r\n frozen_deposits?: BigNumber;\r\n frozen_balance?: BigNumber;\r\n frozen_balance_by_cycle?: Frozenbalancebycycle[];\r\n frozen_deposits_limit?: BigNumber;\r\n staking_balance: BigNumber;\r\n delegated_contracts: string[];\r\n delegated_balance: BigNumber;\r\n deactivated: boolean;\r\n grace_period: number;\r\n voting_power?: BigNumber;\r\n current_ballot?: BallotVote;\r\n current_proposals?: string[];\r\n remaining_proposals?: number;\r\n active_consensus_key?: string;\r\n pending_consensus_keys?: PendingConsensusKey[];\r\n}\r\nexport declare type PendingConsensusKey = {\r\n cycle: number;\r\n pkh: string;\r\n};\r\nexport declare type VotingInfoResponse = {\r\n voting_power?: string;\r\n current_ballot?: BallotListResponseEnum;\r\n current_proposals?: string[];\r\n remaining_proposals?: number;\r\n};\r\ninterface Frozenbalancebycycle {\r\n cycle: number;\r\n deposit?: BigNumber;\r\n deposits?: BigNumber;\r\n fees: BigNumber;\r\n rewards: BigNumber;\r\n}\r\nexport declare type BigMapKey = {\r\n key: {\r\n [key: string]: string | object[];\r\n };\r\n type: {\r\n prim: string;\r\n args?: object[];\r\n };\r\n};\r\nexport declare type LiquidityBakingToggleVotes = 'on' | 'off' | 'pass';\r\nexport interface BlockFullHeader {\r\n level: number;\r\n proto: number;\r\n predecessor: string;\r\n timestamp: TimeStampMixed;\r\n validation_pass: number;\r\n operations_hash: string;\r\n fitness: string[];\r\n context: string;\r\n payload_hash?: string;\r\n payload_round?: number;\r\n priority?: number;\r\n proof_of_work_nonce: string;\r\n seed_nonce_hash?: string;\r\n liquidity_baking_escape_vote?: boolean | LiquidityBakingToggleVotes;\r\n liquidity_baking_toggle_vote?: LiquidityBakingToggleVotes;\r\n signature: string;\r\n}\r\nexport declare type InlinedEndorsementKindEnum = OpKind.ENDORSEMENT;\r\nexport interface InlinedEndorsementContents {\r\n kind: InlinedEndorsementKindEnum;\r\n slot?: number;\r\n round?: number;\r\n block_payload_hash?: string;\r\n level: number;\r\n}\r\nexport interface InlinedPreEndorsementContents {\r\n kind: OpKind.PREENDORSEMENT;\r\n slot: number;\r\n level: number;\r\n round: number;\r\n block_payload_hash: string;\r\n}\r\nexport interface InlinedEndorsement {\r\n branch: string;\r\n operations: InlinedEndorsementContents;\r\n signature?: string;\r\n}\r\nexport interface InlinedPreEndorsement {\r\n branch: string;\r\n operations: InlinedPreEndorsementContents;\r\n signature?: string;\r\n}\r\nexport declare type BallotVote = 'nay' | 'yay' | 'pass';\r\nexport interface OperationContentsEndorsement {\r\n kind: OpKind.ENDORSEMENT;\r\n level: number;\r\n slot?: number;\r\n round?: number;\r\n block_payload_hash?: string;\r\n}\r\nexport interface OperationContentsPreEndorsement {\r\n kind: OpKind.PREENDORSEMENT;\r\n slot: number;\r\n level: number;\r\n round: number;\r\n block_payload_hash: string;\r\n}\r\nexport interface OperationContentsDoublePreEndorsement {\r\n kind: OpKind.DOUBLE_PREENDORSEMENT_EVIDENCE;\r\n op1: InlinedPreEndorsement;\r\n op2: InlinedPreEndorsement;\r\n}\r\nexport interface OperationContentsSetDepositsLimit {\r\n kind: OpKind.SET_DEPOSITS_LIMIT;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n limit?: string;\r\n}\r\nexport interface OperationContentsEndorsementWithSlot {\r\n kind: OpKind.ENDORSEMENT_WITH_SLOT;\r\n endorsement: InlinedEndorsement;\r\n slot: number;\r\n}\r\nexport interface OperationContentsRevelation {\r\n kind: OpKind.SEED_NONCE_REVELATION;\r\n level: number;\r\n nonce: string;\r\n}\r\nexport interface OperationContentsVdfRevelation {\r\n kind: OpKind.VDF_REVELATION;\r\n solution: string[];\r\n}\r\nexport interface OperationContentsDoubleEndorsement {\r\n kind: OpKind.DOUBLE_ENDORSEMENT_EVIDENCE;\r\n op1: InlinedEndorsement;\r\n op2: InlinedEndorsement;\r\n slot?: number;\r\n}\r\nexport interface OperationContentsDoubleBaking {\r\n kind: OpKind.DOUBLE_BAKING_EVIDENCE;\r\n bh1: BlockFullHeader;\r\n bh2: BlockFullHeader;\r\n}\r\nexport interface OperationContentsActivateAccount {\r\n kind: OpKind.ACTIVATION;\r\n pkh: string;\r\n secret: string;\r\n}\r\nexport interface OperationContentsFailingNoop {\r\n kind: OpKind.FAILING_NOOP;\r\n arbitrary: string;\r\n}\r\nexport interface OperationContentsProposals {\r\n kind: OpKind.PROPOSALS;\r\n source: string;\r\n period: number;\r\n proposals: string[];\r\n}\r\nexport interface OperationContentsBallot {\r\n kind: OpKind.BALLOT;\r\n source: string;\r\n period: number;\r\n proposal: string;\r\n ballot: BallotVote;\r\n}\r\nexport interface OperationContentsReveal {\r\n kind: OpKind.REVEAL;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n public_key: string;\r\n}\r\nexport interface OperationContentsTransaction {\r\n kind: OpKind.TRANSACTION;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n amount: string;\r\n destination: string;\r\n parameters?: TransactionOperationParameter;\r\n}\r\nexport interface OperationContentsOrigination {\r\n kind: OpKind.ORIGINATION;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n balance: string;\r\n delegate?: string;\r\n script?: ScriptedContracts;\r\n}\r\nexport interface OperationContentsDelegation {\r\n kind: OpKind.DELEGATION;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n delegate?: string;\r\n}\r\nexport interface OperationContentsRegisterGlobalConstant {\r\n kind: OpKind.REGISTER_GLOBAL_CONSTANT;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n value: MichelsonV1Expression;\r\n}\r\nexport interface OperationContentsTxRollupOrigination {\r\n kind: OpKind.TX_ROLLUP_ORIGINATION;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n tx_rollup_origination: any;\r\n}\r\nexport interface OperationContentsTxRollupSubmitBatch {\r\n kind: OpKind.TX_ROLLUP_SUBMIT_BATCH;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n rollup: string;\r\n content: string;\r\n burn_limit?: string;\r\n}\r\nexport interface OperationContentsTxRollupCommit {\r\n kind: OpKind.TX_ROLLUP_COMMIT;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n rollup: string;\r\n commitment: TxRollupCommitment;\r\n}\r\nexport interface OperationContentsTxRollupReturnBond {\r\n kind: OpKind.TX_ROLLUP_RETURN_BOND;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n rollup: string;\r\n}\r\nexport interface OperationContentsTxRollupFinalizeCommitment {\r\n kind: OpKind.TX_ROLLUP_FINALIZE_COMMITMENT;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n rollup: string;\r\n}\r\nexport interface OperationContentsTxRollupRemoveCommitment {\r\n kind: OpKind.TX_ROLLUP_REMOVE_COMMITMENT;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n rollup: string;\r\n}\r\nexport interface OperationContentsTxRollupRejection {\r\n kind: OpKind.TX_ROLLUP_REJECTION;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n rollup: string;\r\n level: number;\r\n message: TxRollupMessage;\r\n message_position: string;\r\n message_path: string[];\r\n message_result_hash: string;\r\n message_result_path: string[];\r\n previous_message_result: TxRollupPreviousMessageResult;\r\n previous_message_result_path: string[];\r\n proof: TxRollupProof | string;\r\n}\r\nexport interface OperationContentsTxRollupDispatchTickets {\r\n kind: OpKind.TX_ROLLUP_DISPATCH_TICKETS;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n tx_rollup: string;\r\n level: number;\r\n context_hash: string;\r\n message_index: number;\r\n message_result_path: string[];\r\n tickets_info: TxRollupTicketsInfo[];\r\n}\r\nexport interface OperationContentsTransferTicket {\r\n kind: OpKind.TRANSFER_TICKET;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n ticket_contents: MichelsonV1Expression;\r\n ticket_ty: MichelsonV1Expression;\r\n ticket_ticketer: string;\r\n ticket_amount: string;\r\n destination: string;\r\n entrypoint: string;\r\n}\r\nexport interface OperationContentsUpdateConsensusKey {\r\n kind: OpKind.UPDATE_CONSENSUS_KEY;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n pk: string;\r\n}\r\nexport interface OperationContentsDrainDelegate {\r\n kind: OpKind.DRAIN_DELEGATE;\r\n consensus_key: string;\r\n delegate: string;\r\n destination: string;\r\n}\r\nexport interface OperationContentsIncreasePaidStorage {\r\n kind: OpKind.INCREASE_PAID_STORAGE;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n amount: string;\r\n destination: string;\r\n}\r\nexport interface OperationContentsSmartRollupOriginate {\r\n kind: OpKind.SMART_ROLLUP_ORIGINATE;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n pvm_kind: PvmKind;\r\n kernel: string;\r\n origination_proof: string;\r\n parameters_ty: MichelsonV1Expression;\r\n}\r\nexport interface OperationContentsSmartRollupAddMessages {\r\n kind: OpKind.SMART_ROLLUP_ADD_MESSAGES;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n message: string[];\r\n}\r\nexport interface OperationContentsSmartRollupExecuteOutboxMessage {\r\n kind: OpKind.SMART_ROLLUP_EXECUTE_OUTBOX_MESSAGE;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n rollup: string;\r\n cemented_commitment: string;\r\n output_proof: string;\r\n}\r\nexport interface OperationContentsSmartRollupPublish {\r\n kind: OpKind.SMART_ROLLUP_PUBLISH;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n rollup: string;\r\n commitment: SmartRollupPublishCommitment;\r\n}\r\nexport interface OperationContentsSmartRollupCement {\r\n kind: OpKind.SMART_ROLLUP_CEMENT;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n rollup: string;\r\n commitment: string;\r\n}\r\nexport interface OperationContentsSmartRollupRefute {\r\n kind: OpKind.SMART_ROLLUP_REFUTE;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n rollup: string;\r\n opponent: string;\r\n refutation: SmartRollupRefutation;\r\n}\r\nexport interface OperationContentsSmartRollupRecoverBond {\r\n kind: OpKind.SMART_ROLLUP_RECOVER_BOND;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n rollup: string;\r\n staker: string;\r\n}\r\nexport interface OperationContentsSmartRollupTimeout {\r\n kind: OpKind.SMART_ROLLUP_TIMEOUT;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n rollup: string;\r\n stakers: SmartRollupTimeoutStakers;\r\n}\r\nexport declare type OperationContents = OperationContentsEndorsement | OperationContentsPreEndorsement | OperationContentsDoublePreEndorsement | OperationContentsRevelation | OperationContentsVdfRevelation | OperationContentsDoubleEndorsement | OperationContentsDoubleBaking | OperationContentsActivateAccount | OperationContentsProposals | OperationContentsBallot | OperationContentsReveal | OperationContentsTransaction | OperationContentsOrigination | OperationContentsDelegation | OperationContentsEndorsementWithSlot | OperationContentsFailingNoop | OperationContentsRegisterGlobalConstant | OperationContentsSetDepositsLimit | OperationContentsTxRollupOrigination | OperationContentsTxRollupSubmitBatch | OperationContentsTxRollupCommit | OperationContentsTxRollupReturnBond | OperationContentsTxRollupFinalizeCommitment | OperationContentsTxRollupRemoveCommitment | OperationContentsTxRollupRejection | OperationContentsTransferTicket | OperationContentsUpdateConsensusKey | OperationContentsDrainDelegate | OperationContentsIncreasePaidStorage | OperationContentsSmartRollupOriginate | OperationContentsSmartRollupAddMessages | OperationContentsSmartRollupExecuteOutboxMessage | OperationContentsSmartRollupPublish | OperationContentsSmartRollupCement | OperationContentsSmartRollupRefute | OperationContentsSmartRollupRecoverBond | OperationContentsSmartRollupTimeout;\r\nexport interface OperationContentsAndResultMetadataExtended {\r\n balance_updates?: OperationMetadataBalanceUpdates[];\r\n delegate: string;\r\n slots?: number[];\r\n endorsement_power?: number;\r\n consensus_key?: string;\r\n}\r\nexport interface OperationContentsAndResultMetadataPreEndorsement {\r\n balance_updates?: OperationMetadataBalanceUpdates[];\r\n delegate: string;\r\n preendorsement_power: number;\r\n consensus_key?: string;\r\n}\r\nexport interface OperationContentsAndResultMetadataReveal {\r\n balance_updates?: OperationMetadataBalanceUpdates[];\r\n operation_result: OperationResultReveal;\r\n internal_operation_results?: InternalOperationResult[];\r\n}\r\nexport interface OperationContentsAndResultMetadataTransaction {\r\n balance_updates?: OperationMetadataBalanceUpdates[];\r\n operation_result: OperationResultTransaction;\r\n internal_operation_results?: InternalOperationResult[];\r\n}\r\nexport interface OperationContentsAndResultMetadataDelegation {\r\n balance_updates?: OperationMetadataBalanceUpdates[];\r\n operation_result: OperationResultDelegation;\r\n internal_operation_results?: InternalOperationResult[];\r\n}\r\nexport interface OperationContentsAndResultMetadataRegisterGlobalConstant {\r\n balance_updates?: OperationMetadataBalanceUpdates[];\r\n operation_result: OperationResultRegisterGlobalConstant;\r\n internal_operation_results?: InternalOperationResult[];\r\n}\r\nexport interface OperationContentsAndResultMetadataSetDepositsLimit {\r\n balance_updates?: OperationMetadataBalanceUpdates[];\r\n operation_result: OperationResultSetDepositsLimit;\r\n internal_operation_results?: InternalOperationResult[];\r\n}\r\nexport interface OperationContentsAndResultMetadata {\r\n balance_updates?: OperationMetadataBalanceUpdates[];\r\n}\r\nexport interface OperationContentsAndResultMetadataTxRollupOrigination {\r\n balance_updates?: OperationMetadataBalanceUpdates[];\r\n operation_result: OperationResultTxRollupOrigination;\r\n internal_operation_results?: InternalOperationResult[];\r\n}\r\nexport interface OperationContentsAndResultMetadataTxRollupSubmitBatch {\r\n balance_updates?: OperationMetadataBalanceUpdates[];\r\n operation_result: OperationResultTxRollupSubmitBatch;\r\n internal_operation_results?: InternalOperationResult[];\r\n}\r\nexport interface OperationContentsAndResultMetadataTxRollupCommit {\r\n balance_updates?: OperationMetadataBalanceUpdates[];\r\n operation_result: OperationResultTxRollupCommit;\r\n internal_operation_results?: InternalOperationResult[];\r\n}\r\nexport interface OperationContentsAndResultMetadataTxRollupReturnBond {\r\n balance_updates?: OperationMetadataBalanceUpdates[];\r\n operation_result: OperationResultTxRollupReturnBond;\r\n internal_operation_results?: InternalOperationResult[];\r\n}\r\nexport interface OperationContentsAndResultMetadataTxRollupFinalizeCommitment {\r\n balance_updates?: OperationMetadataBalanceUpdates[];\r\n operation_result: OperationResultTxRollupFinalizeCommitment;\r\n internal_operation_results?: InternalOperationResult[];\r\n}\r\nexport interface OperationContentsAndResultMetadataTxRollupRemoveCommitment {\r\n balance_updates?: OperationMetadataBalanceUpdates[];\r\n operation_result: OperationResultTxRollupRemoveCommitment;\r\n internal_operation_results?: InternalOperationResult[];\r\n}\r\nexport interface OperationContentsAndResultMetadataTxRollupRejection {\r\n balance_updates?: OperationMetadataBalanceUpdates[];\r\n operation_result: OperationResultTxRollupRejection;\r\n internal_operation_results?: InternalOperationResult[];\r\n}\r\nexport interface OperationContentsAndResultMetadataTransferTicket {\r\n balance_updates?: OperationMetadataBalanceUpdates[];\r\n operation_result: OperationResultTransferTicket;\r\n internal_operation_results?: InternalOperationResult[];\r\n}\r\nexport interface OperationContentsAndResultMetadataTxRollupDispatchTickets {\r\n balance_updates?: OperationMetadataBalanceUpdates[];\r\n operation_result: OperationResultTxRollupDispatchTickets;\r\n internal_operation_results?: InternalOperationResult[];\r\n}\r\nexport interface OperationContentsAndResultMetadataIncreasePaidStorage {\r\n balance_updates?: OperationMetadataBalanceUpdates[];\r\n operation_result: OperationResultIncreasePaidStorage;\r\n internal_operation_results?: InternalOperationResult[];\r\n}\r\nexport interface OperationContentsAndResultMetadataUpdateConsensusKey {\r\n balance_updates?: OperationMetadataBalanceUpdates[];\r\n operation_result: OperationResultUpdateConsensusKey;\r\n internal_operation_results?: InternalOperationResult[];\r\n}\r\nexport interface OperationContentsAndResultMetadataDrainDelegate {\r\n balance_updates?: OperationMetadataBalanceUpdates[];\r\n allocated_destination_contract?: boolean;\r\n}\r\nexport interface OperationContentsAndResultMetadataSmartRollupOriginate {\r\n balance_updates?: OperationMetadataBalanceUpdates[];\r\n operation_result: OperationResultSmartRollupOriginate;\r\n internal_operation_results?: InternalOperationResult[];\r\n}\r\nexport interface OperationContentsAndResultMetadataSmartRollupAddMessages {\r\n balance_updates?: OperationMetadataBalanceUpdates[];\r\n operation_result: OperationResultSmartRollupAddMessages;\r\n internal_operation_results?: InternalOperationResult[];\r\n}\r\nexport interface OperationContentsAndResultMetadataSmartRollupExecuteOutboxMessage {\r\n balance_updates?: OperationMetadataBalanceUpdates[];\r\n operation_result: OperationResultSmartRollupExecuteOutboxMessage;\r\n internal_operation_results?: InternalOperationResult[];\r\n}\r\nexport interface OperationContentsAndResultMetadataSmartRollupPublish {\r\n balance_updates?: OperationMetadataBalanceUpdates[];\r\n operation_result: OperationResultSmartRollupPublish;\r\n internal_operation_results?: InternalOperationResult[];\r\n}\r\nexport interface OperationContentsAndResultMetadataSmartRollupCement {\r\n balance_updates?: OperationMetadataBalanceUpdates[];\r\n operation_result: OperationResultSmartRollupCement;\r\n internal_operation_results?: InternalOperationResult[];\r\n}\r\nexport interface OperationContentsAndResultMetadataSmartRollupRefute {\r\n balance_updates?: OperationMetadataBalanceUpdates[];\r\n operation_result: OperationResultSmartRollupRefute;\r\n internal_operation_results?: InternalOperationResult[];\r\n}\r\nexport interface OperationContentsAndResultMetadataSmartRollupRecoverBond {\r\n balance_updates?: OperationMetadataBalanceUpdates[];\r\n operation_result: OperationResultSmartRollupRecoverBond;\r\n internal_operation_results?: InternalOperationResult[];\r\n}\r\nexport interface OperationContentsAndResultMetadataSmartRollupTimeout {\r\n balance_updates?: OperationMetadataBalanceUpdates[];\r\n operation_result: OperationResultSmartRollupTimeout;\r\n internal_operation_results?: InternalOperationResult[];\r\n}\r\nexport interface OperationContentsAndResultEndorsement {\r\n kind: OpKind.ENDORSEMENT;\r\n block_payload_hash?: string;\r\n level: number;\r\n round?: number;\r\n slot?: number;\r\n metadata: OperationContentsAndResultMetadataExtended;\r\n}\r\nexport interface OperationContentsAndResultPreEndorsement {\r\n kind: OpKind.PREENDORSEMENT;\r\n slot: number;\r\n level: number;\r\n round: number;\r\n block_payload_hash: string;\r\n metadata: OperationContentsAndResultMetadataPreEndorsement;\r\n}\r\nexport interface OperationContentsAndResultDoublePreEndorsement {\r\n kind: OpKind.DOUBLE_PREENDORSEMENT_EVIDENCE;\r\n op1: InlinedPreEndorsement;\r\n op2: InlinedPreEndorsement;\r\n metadata: OperationContentsAndResultMetadata;\r\n}\r\nexport interface OperationContentsAndResultEndorsementWithSlot {\r\n kind: OpKind.ENDORSEMENT_WITH_SLOT;\r\n endorsement: InlinedEndorsement;\r\n slot: number;\r\n metadata: OperationContentsAndResultMetadataExtended;\r\n}\r\nexport interface OperationContentsAndResultRevelation {\r\n kind: OpKind.SEED_NONCE_REVELATION;\r\n level: number;\r\n nonce: string;\r\n metadata: OperationContentsAndResultMetadata;\r\n}\r\nexport interface OperationContentsAndResultDoubleEndorsement {\r\n kind: OpKind.DOUBLE_ENDORSEMENT_EVIDENCE;\r\n op1: InlinedEndorsement;\r\n op2: InlinedEndorsement;\r\n slot?: number;\r\n metadata: OperationContentsAndResultMetadata;\r\n}\r\nexport interface OperationContentsAndResultDoubleBaking {\r\n kind: OpKind.DOUBLE_BAKING_EVIDENCE;\r\n bh1: BlockFullHeader;\r\n bh2: BlockFullHeader;\r\n metadata: OperationContentsAndResultMetadata;\r\n}\r\nexport interface OperationContentsAndResultActivateAccount {\r\n kind: OpKind.ACTIVATION;\r\n pkh: string;\r\n secret: string;\r\n metadata: OperationContentsAndResultMetadata;\r\n}\r\nexport interface OperationContentsAndResultProposals {\r\n kind: OpKind.PROPOSALS;\r\n source: string;\r\n period: number;\r\n proposals: string[];\r\n}\r\nexport interface OperationContentsAndResultBallot {\r\n kind: OpKind.BALLOT;\r\n source: string;\r\n period: number;\r\n proposal: string;\r\n ballot: BallotVote;\r\n}\r\nexport interface OperationContentsAndResultReveal {\r\n kind: OpKind.REVEAL;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n public_key: string;\r\n metadata: OperationContentsAndResultMetadataReveal;\r\n}\r\nexport interface OperationContentsAndResultTransaction {\r\n kind: OpKind.TRANSACTION;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n amount: string;\r\n destination: string;\r\n parameters?: TransactionOperationParameter;\r\n metadata: OperationContentsAndResultMetadataTransaction;\r\n}\r\nexport interface OperationContentsAndResultDelegation {\r\n kind: OpKind.DELEGATION;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n delegate?: string;\r\n metadata: OperationContentsAndResultMetadataDelegation;\r\n}\r\nexport interface OperationContentsAndResultRegisterGlobalConstant {\r\n kind: OpKind.REGISTER_GLOBAL_CONSTANT;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n value: MichelsonV1Expression;\r\n metadata: OperationContentsAndResultMetadataRegisterGlobalConstant;\r\n}\r\nexport interface OperationContentsAndResultSetDepositsLimit {\r\n kind: OpKind.SET_DEPOSITS_LIMIT;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n limit?: string;\r\n metadata: OperationContentsAndResultMetadataSetDepositsLimit;\r\n}\r\nexport interface OperationContentsAndResultTxRollupOrigination {\r\n kind: OpKind.TX_ROLLUP_ORIGINATION;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n tx_rollup_origination: any;\r\n metadata: OperationContentsAndResultMetadataTxRollupOrigination;\r\n}\r\nexport interface OperationContentsAndResultTxRollupSubmitBatch {\r\n kind: OpKind.TX_ROLLUP_SUBMIT_BATCH;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n rollup: string;\r\n content: string;\r\n burn_limit?: string;\r\n metadata: OperationContentsAndResultMetadataTxRollupSubmitBatch;\r\n}\r\nexport interface OperationContentsAndResultTxRollupCommit {\r\n kind: OpKind.TX_ROLLUP_COMMIT;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n rollup: string;\r\n commitment: TxRollupCommitment;\r\n metadata: OperationContentsAndResultMetadataTxRollupCommit;\r\n}\r\nexport interface OperationContentsAndResultTxRollupReturnBond {\r\n kind: OpKind.TX_ROLLUP_RETURN_BOND;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n rollup: string;\r\n metadata: OperationContentsAndResultMetadataTxRollupReturnBond;\r\n}\r\nexport interface OperationContentsAndResultTxRollupFinalizeCommitment {\r\n kind: OpKind.TX_ROLLUP_FINALIZE_COMMITMENT;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n rollup: string;\r\n metadata: OperationContentsAndResultMetadataTxRollupFinalizeCommitment;\r\n}\r\nexport interface OperationContentsAndResultTxRollupRemoveCommitment {\r\n kind: OpKind.TX_ROLLUP_REMOVE_COMMITMENT;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n rollup: string;\r\n metadata: OperationContentsAndResultMetadataTxRollupRemoveCommitment;\r\n}\r\nexport interface OperationContentsAndResultTxRollupRejection {\r\n kind: OpKind.TX_ROLLUP_REJECTION;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n rollup: string;\r\n level: number;\r\n message: TxRollupMessage;\r\n message_position: string;\r\n message_path: string[];\r\n message_result_hash: string;\r\n message_result_path: string[];\r\n previous_message_result: TxRollupPreviousMessageResult;\r\n previous_message_result_path: string[];\r\n proof: TxRollupProof | string;\r\n metadata: OperationContentsAndResultMetadataTxRollupRejection;\r\n}\r\nexport interface OperationContentsAndResultTransferTicket {\r\n kind: OpKind.TRANSFER_TICKET;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n ticket_contents: MichelsonV1Expression;\r\n ticket_ty: MichelsonV1Expression;\r\n ticket_ticketer: string;\r\n ticket_amount: string;\r\n destination: string;\r\n entrypoint: string;\r\n metadata: OperationContentsAndResultMetadataTransferTicket;\r\n}\r\nexport interface OperationContentsAndResultTxRollupDispatchTickets {\r\n kind: OpKind.TX_ROLLUP_DISPATCH_TICKETS;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n tx_rollup: string;\r\n level: number;\r\n context_hash: string;\r\n message_index: number;\r\n message_result_path: string[];\r\n tickets_info: TxRollupTicketsInfo[];\r\n metadata: OperationContentsAndResultMetadataTxRollupDispatchTickets;\r\n}\r\nexport interface OperationContentsAndResultUpdateConsensusKey {\r\n kind: OpKind.UPDATE_CONSENSUS_KEY;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n pk: string;\r\n metadata: OperationContentsAndResultMetadataUpdateConsensusKey;\r\n}\r\nexport interface OperationContentsAndResultDrainDelegate {\r\n kind: OpKind.DRAIN_DELEGATE;\r\n consensus_key: string;\r\n delegate: string;\r\n destination: string;\r\n metadata: OperationContentsAndResultMetadataDrainDelegate;\r\n}\r\nexport interface OperationContentsAndResultIncreasePaidStorage {\r\n kind: OpKind.INCREASE_PAID_STORAGE;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n amount: string;\r\n destination: string;\r\n metadata: OperationContentsAndResultMetadataIncreasePaidStorage;\r\n}\r\nexport interface OperationContentsAndResultVdfRevelation {\r\n kind: OpKind.VDF_REVELATION;\r\n solution: string[];\r\n metadata: OperationContentsAndResultMetadata;\r\n}\r\nexport interface OperationContentsAndResultSmartRollupOriginate {\r\n kind: OpKind.SMART_ROLLUP_ORIGINATE;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n pvm_kind: PvmKind;\r\n kernel: string;\r\n origination_proof: string;\r\n parameters_ty: MichelsonV1Expression;\r\n metadata: OperationContentsAndResultMetadataSmartRollupOriginate;\r\n}\r\nexport interface OperationContentsAndResultSmartRollupAddMessages {\r\n kind: OpKind.SMART_ROLLUP_ADD_MESSAGES;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n message: string[];\r\n metadata: OperationContentsAndResultMetadataSmartRollupAddMessages;\r\n}\r\nexport interface OperationContentsAndResultSmartRollupExecuteOutboxMessage {\r\n kind: OpKind.SMART_ROLLUP_EXECUTE_OUTBOX_MESSAGE;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n rollup: string;\r\n cemented_commitment: string;\r\n output_proof: string;\r\n metadata: OperationContentsAndResultMetadataSmartRollupExecuteOutboxMessage;\r\n}\r\nexport interface OperationContentsAndResultSmartRollupPublish {\r\n kind: OpKind.SMART_ROLLUP_PUBLISH;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n rollup: string;\r\n commitment: SmartRollupPublishCommitment;\r\n metadata: OperationContentsAndResultMetadataSmartRollupPublish;\r\n}\r\nexport interface OperationContentsAndResultSmartRollupCement {\r\n kind: OpKind.SMART_ROLLUP_CEMENT;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n rollup: string;\r\n commitment: string;\r\n metadata: OperationContentsAndResultMetadataSmartRollupCement;\r\n}\r\nexport interface OperationContentsAndResultSmartRollupRefute {\r\n kind: OpKind.SMART_ROLLUP_REFUTE;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n rollup: string;\r\n opponent: string;\r\n refutation: SmartRollupRefutation;\r\n metadata: OperationContentsAndResultMetadataSmartRollupRefute;\r\n}\r\nexport interface OperationContentsAndResultSmartRollupRecoverBond {\r\n kind: OpKind.SMART_ROLLUP_RECOVER_BOND;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n rollup: string;\r\n staker: string;\r\n metadata: OperationContentsAndResultMetadataSmartRollupRecoverBond;\r\n}\r\nexport interface OperationContentsAndResultSmartRollupTimeout {\r\n kind: OpKind.SMART_ROLLUP_TIMEOUT;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n rollup: string;\r\n stakers: SmartRollupTimeoutStakers;\r\n metadata: OperationContentsAndResultMetadataSmartRollupTimeout;\r\n}\r\nexport declare type OperationContentsAndResult = OperationContentsAndResultEndorsement | OperationContentsAndResultPreEndorsement | OperationContentsAndResultDoublePreEndorsement | OperationContentsAndResultRevelation | OperationContentsAndResultDoubleEndorsement | OperationContentsAndResultDoubleBaking | OperationContentsAndResultActivateAccount | OperationContentsAndResultProposals | OperationContentsAndResultBallot | OperationContentsAndResultReveal | OperationContentsAndResultTransaction | OperationContentsAndResultOrigination | OperationContentsAndResultDelegation | OperationContentsAndResultEndorsementWithSlot | OperationContentsAndResultRegisterGlobalConstant | OperationContentsAndResultSetDepositsLimit | OperationContentsAndResultTxRollupOrigination | OperationContentsAndResultTxRollupSubmitBatch | OperationContentsAndResultTxRollupCommit | OperationContentsAndResultTxRollupDispatchTickets | OperationContentsAndResultTxRollupReturnBond | OperationContentsAndResultTxRollupFinalizeCommitment | OperationContentsAndResultTxRollupRemoveCommitment | OperationContentsAndResultTxRollupRejection | OperationContentsAndResultTransferTicket | OperationContentsAndResultIncreasePaidStorage | OperationContentsAndResultUpdateConsensusKey | OperationContentsAndResultDrainDelegate | OperationContentsAndResultVdfRevelation | OperationContentsAndResultSmartRollupOriginate | OperationContentsAndResultSmartRollupAddMessages | OperationContentsAndResultSmartRollupExecuteOutboxMessage | OperationContentsAndResultSmartRollupPublish | OperationContentsAndResultSmartRollupCement | OperationContentsAndResultSmartRollupRefute | OperationContentsAndResultSmartRollupRecoverBond | OperationContentsAndResultSmartRollupTimeout;\r\nexport declare type OperationContentsAndResultWithFee = OperationContentsAndResultTransaction | OperationContentsAndResultOrigination | OperationContentsAndResultDelegation | OperationContentsAndResultReveal | OperationContentsAndResultRegisterGlobalConstant | OperationContentsAndResultSetDepositsLimit | OperationContentsAndResultUpdateConsensusKey | OperationContentsAndResultIncreasePaidStorage | OperationContentsAndResultSmartRollupAddMessages | OperationContentsAndResultSmartRollupOriginate;\r\nexport declare enum OPERATION_METADATA {\r\n TOO_LARGE = \"too large\"\r\n}\r\nexport interface OperationEntry {\r\n protocol: string;\r\n chain_id: string;\r\n hash: string;\r\n branch: string;\r\n contents: (OperationContents | OperationContentsAndResult)[];\r\n signature?: string;\r\n metadata?: OPERATION_METADATA;\r\n}\r\nexport interface BlockResponse {\r\n protocol: string;\r\n chain_id: string;\r\n hash: string;\r\n header: BlockFullHeader;\r\n metadata: BlockMetadata;\r\n operations: OperationEntry[][];\r\n}\r\nexport declare type BakingRightsArgumentsDelegate = string | string[];\r\nexport declare type BakingRightsArgumentsCycle = number | number[];\r\nexport declare type BakingRightsArgumentsLevel = number | number[];\r\nexport declare type BakingRightsQueryArguments = BakingRightsQueryArgumentsBase;\r\nexport interface BakingRightsQueryArgumentsBase {\r\n level?: BakingRightsArgumentsLevel;\r\n cycle?: BakingRightsArgumentsCycle;\r\n delegate?: BakingRightsArgumentsDelegate;\r\n consensus_key?: string;\r\n max_priority?: number;\r\n max_round?: string;\r\n all?: null;\r\n}\r\nexport interface BakingRightsResponseItem {\r\n level: number;\r\n delegate: string;\r\n priority?: number;\r\n round?: number;\r\n estimated_time?: Date;\r\n consensus_key?: string;\r\n}\r\nexport declare type BakingRightsResponse = BakingRightsResponseItem[];\r\nexport declare type EndorsingRightsArgumentsDelegate = string | string[];\r\nexport declare type EndorsingRightsArgumentsCycle = number | number[];\r\nexport declare type EndorsingRightsArgumentsLevel = number | number[];\r\nexport interface EndorsingRightsQueryArguments {\r\n level?: EndorsingRightsArgumentsLevel;\r\n cycle?: EndorsingRightsArgumentsCycle;\r\n delegate?: EndorsingRightsArgumentsDelegate;\r\n consensus_key?: string;\r\n}\r\nexport interface EndorsingRightsResponseItemDelegates {\r\n delegate: string;\r\n first_slot: number;\r\n endorsing_power: number;\r\n consensus_key?: string;\r\n}\r\nexport interface EndorsingRightsResponseItem {\r\n level: number;\r\n delegate?: string;\r\n delegates?: EndorsingRightsResponseItemDelegates[];\r\n slots?: number[];\r\n estimated_time?: Date;\r\n}\r\nexport declare type EndorsingRightsResponse = EndorsingRightsResponseItem[];\r\nexport declare type BallotListResponseEnum = 'nay' | 'yay' | 'pass';\r\nexport interface BallotListResponseItem {\r\n pkh: string;\r\n ballot: BallotListResponseEnum;\r\n}\r\nexport declare type BallotListResponse = BallotListResponseItem[];\r\nexport interface BallotsResponse {\r\n yay: BigNumber;\r\n nay: BigNumber;\r\n pass: BigNumber;\r\n}\r\nexport declare type PeriodKindResponse = 'proposal' | 'exploration' | 'cooldown' | 'promotion' | 'adoption';\r\nexport declare type CurrentProposalResponse = string | null;\r\nexport declare type CurrentQuorumResponse = number;\r\nexport interface VotesListingsResponseItem {\r\n pkh: string;\r\n rolls?: number;\r\n voting_power?: BigNumber;\r\n}\r\nexport declare type VotesListingsResponse = VotesListingsResponseItem[];\r\nexport declare type ProposalsResponseItem = [string, BigNumber];\r\nexport declare type ProposalsResponse = ProposalsResponseItem[];\r\nexport interface BlockHeaderResponse {\r\n protocol: string;\r\n chain_id: string;\r\n hash: string;\r\n level: number;\r\n proto: number;\r\n predecessor: string;\r\n timestamp: string;\r\n validation_pass: number;\r\n operations_hash: string;\r\n fitness: string[];\r\n context: string;\r\n payload_hash?: string;\r\n payload_round?: number;\r\n priority?: number;\r\n proof_of_work_nonce: string;\r\n liquidity_baking_escape_vote?: boolean | LiquidityBakingToggleVotes;\r\n signature: string;\r\n}\r\nexport interface PackDataParams {\r\n data: MichelsonV1Expression;\r\n type: MichelsonV1Expression;\r\n gas?: BigNumber;\r\n}\r\nexport interface TicketTokenParams {\r\n ticketer: string;\r\n content_type: MichelsonV1Expression;\r\n content: MichelsonV1Expression;\r\n}\r\nexport interface TicketBalance {\r\n ticketer: string;\r\n content_type: MichelsonV1Expression;\r\n content: MichelsonV1Expression;\r\n amount: string;\r\n}\r\nexport declare type AllTicketBalances = TicketBalance[];\r\nexport declare type HexString = string;\r\nexport interface PackDataResponse {\r\n packed: HexString;\r\n gas?: BigNumber | 'unaccounted';\r\n}\r\nexport declare type BigMapResponse = MichelsonV1Expression | MichelsonV1Expression[];\r\nexport declare type SaplingDiffResponse = {\r\n root: SaplingTransactionCommitmentHash;\r\n commitments_and_ciphertexts: CommitmentsAndCiphertexts[];\r\n nullifiers: string[];\r\n};\r\nexport declare type SaplingTransactionCommitmentHash = string;\r\nexport declare type PreapplyParams = OperationObject[];\r\nexport declare type PreapplyResponse = {\r\n contents: OperationContentsAndResult[];\r\n};\r\nexport declare type ForgeOperationsParams = Pick;\r\nexport declare type TimeStampMixed = Date | string;\r\nexport declare type BalanceUpdateKindEnum = MetadataBalanceUpdatesKindEnum;\r\nexport declare type BalanceUpdateCategoryEnum = MetadataBalanceUpdatesCategoryEnum;\r\nexport interface MichelsonV1ExpressionBase {\r\n int?: string;\r\n string?: string;\r\n bytes?: string;\r\n}\r\nexport interface MichelsonV1ExpressionExtended {\r\n prim: string;\r\n args?: MichelsonV1Expression[];\r\n annots?: string[];\r\n}\r\nexport declare type MichelsonV1Expression = MichelsonV1ExpressionBase | MichelsonV1ExpressionExtended | MichelsonV1Expression[];\r\nexport interface ScriptedContracts {\r\n code: MichelsonV1Expression[];\r\n storage: MichelsonV1Expression;\r\n}\r\nexport declare type BondId = {\r\n smart_rollup?: never;\r\n tx_rollup: string;\r\n} | {\r\n smart_rollup: string;\r\n tx_rollup?: never;\r\n};\r\nexport interface OperationBalanceUpdatesItem {\r\n kind: BalanceUpdateKindEnum;\r\n category?: BalanceUpdateCategoryEnum;\r\n delegate?: string;\r\n cycle?: number;\r\n contract?: string;\r\n change: string;\r\n origin?: MetadataBalanceUpdatesOriginEnum;\r\n participation?: boolean;\r\n revelation?: boolean;\r\n committer?: string;\r\n bond_id?: BondId;\r\n}\r\nexport declare type OperationBalanceUpdates = OperationBalanceUpdatesItem[];\r\nexport interface OperationObject {\r\n branch?: string;\r\n contents?: OperationContents[];\r\n protocol?: string;\r\n signature?: string;\r\n}\r\nexport declare type InternalOperationResultKindEnum = OpKind.REVEAL | OpKind.TRANSACTION | OpKind.ORIGINATION | OpKind.DELEGATION | OpKind.EVENT;\r\nexport declare type SuccessfulManagerOperationResultKindEnum = OpKind.REVEAL | OpKind.TRANSACTION | OpKind.ORIGINATION | OpKind.DELEGATION;\r\nexport declare type InternalOperationResultEnum = OperationResultReveal | OperationResultTransaction | OperationResultDelegation | OperationResultOrigination | OperationResultEvent;\r\nexport interface OperationResultTxRollupOrigination {\r\n status: OperationResultStatusEnum;\r\n balance_updates?: OperationBalanceUpdates;\r\n consumed_gas?: string;\r\n consumed_milligas?: string;\r\n originated_rollup?: string;\r\n errors?: TezosGenericOperationError[];\r\n}\r\nexport interface OperationResultTxRollupSubmitBatch {\r\n status: OperationResultStatusEnum;\r\n balance_updates?: OperationBalanceUpdates;\r\n consumed_gas?: string;\r\n consumed_milligas?: string;\r\n paid_storage_size_diff?: string;\r\n errors?: TezosGenericOperationError[];\r\n}\r\nexport interface OperationResultTxRollupDispatchTickets {\r\n status: OperationResultStatusEnum;\r\n balance_updates?: OperationBalanceUpdates;\r\n consumed_gas?: string;\r\n consumed_milligas?: string;\r\n paid_storage_size_diff?: string;\r\n errors?: TezosGenericOperationError[];\r\n}\r\nexport interface OperationResultTxRollupCommit {\r\n status: OperationResultStatusEnum;\r\n balance_updates?: OperationBalanceUpdates;\r\n consumed_gas?: string;\r\n consumed_milligas?: string;\r\n errors?: TezosGenericOperationError[];\r\n}\r\nexport interface OperationResultTxRollupReturnBond {\r\n status: OperationResultStatusEnum;\r\n balance_updates?: OperationBalanceUpdates;\r\n consumed_gas?: string;\r\n consumed_milligas?: string;\r\n errors?: TezosGenericOperationError[];\r\n}\r\nexport interface OperationResultTxRollupFinalizeCommitment {\r\n status: OperationResultStatusEnum;\r\n balance_updates?: OperationBalanceUpdates;\r\n consumed_gas?: string;\r\n consumed_milligas?: string;\r\n level?: number;\r\n errors?: TezosGenericOperationError[];\r\n}\r\nexport interface OperationResultTxRollupRemoveCommitment {\r\n status: OperationResultStatusEnum;\r\n balance_updates?: OperationBalanceUpdates;\r\n consumed_gas?: string;\r\n consumed_milligas?: string;\r\n level?: number;\r\n errors?: TezosGenericOperationError[];\r\n}\r\nexport interface OperationResultTxRollupRejection {\r\n status: OperationResultStatusEnum;\r\n balance_updates?: OperationBalanceUpdates;\r\n consumed_gas?: string;\r\n consumed_milligas?: string;\r\n errors?: TezosGenericOperationError[];\r\n}\r\nexport interface OperationResultTransferTicket {\r\n status: OperationResultStatusEnum;\r\n balance_updates?: OperationBalanceUpdates;\r\n ticket_updates?: TicketUpdates[];\r\n consumed_milligas?: string;\r\n paid_storage_size_diff?: string;\r\n errors?: TezosGenericOperationError[];\r\n}\r\nexport interface OperationResultIncreasePaidStorage {\r\n status: OperationResultStatusEnum;\r\n balance_updates?: OperationBalanceUpdates;\r\n consumed_milligas?: string;\r\n errors?: TezosGenericOperationError[];\r\n}\r\nexport interface OperationResultUpdateConsensusKey {\r\n status: OperationResultStatusEnum;\r\n consumed_milligas?: string;\r\n errors?: TezosGenericOperationError[];\r\n}\r\nexport interface OperationResultDelegation {\r\n status: OperationResultStatusEnum;\r\n consumed_gas?: string;\r\n errors?: TezosGenericOperationError[];\r\n consumed_milligas?: string;\r\n}\r\nexport interface OperationResultSetDepositsLimit {\r\n status: OperationResultStatusEnum;\r\n consumed_gas?: string;\r\n errors?: TezosGenericOperationError[];\r\n consumed_milligas?: string;\r\n}\r\nexport interface OperationResultRegisterGlobalConstant {\r\n status: OperationResultStatusEnum;\r\n balance_updates?: OperationBalanceUpdates;\r\n consumed_gas?: string;\r\n storage_size?: string;\r\n global_address?: string;\r\n errors?: TezosGenericOperationError[];\r\n consumed_milligas?: string;\r\n}\r\nexport interface OperationResultSmartRollupOriginate {\r\n status: OperationResultStatusEnum;\r\n balance_updates?: OperationBalanceUpdates;\r\n address?: string;\r\n genesis_commitment_hash?: string;\r\n consumed_milligas?: string;\r\n size: string;\r\n errors?: TezosGenericOperationError[];\r\n}\r\nexport interface OperationResultSmartRollupAddMessages {\r\n status: OperationResultStatusEnum;\r\n consumed_milligas?: string;\r\n errors?: TezosGenericOperationError[];\r\n}\r\nexport interface OperationResultSmartRollupExecuteOutboxMessage {\r\n status: OperationResultStatusEnum;\r\n balance_updates?: OperationBalanceUpdates;\r\n ticket_updates?: TicketUpdates[];\r\n consumed_milligas?: string;\r\n paid_storage_size_diff?: string;\r\n errors?: TezosGenericOperationError[];\r\n}\r\nexport interface OperationResultSmartRollupPublish {\r\n status: OperationResultStatusEnum;\r\n consumed_milligas?: string;\r\n staked_hash?: string;\r\n published_at_level?: number;\r\n balance_updates?: OperationBalanceUpdates;\r\n errors?: TezosGenericOperationError[];\r\n}\r\nexport interface OperationResultSmartRollupCement {\r\n status: OperationResultStatusEnum;\r\n consumed_milligas?: string;\r\n inbox_level?: number;\r\n commitment_hash?: string;\r\n errors?: TezosGenericOperationError[];\r\n}\r\nexport interface OperationResultSmartRollupRefute {\r\n status: OperationResultStatusEnum;\r\n consumed_milligas?: string;\r\n game_status?: SmartRollupGameStatus;\r\n balance_updates?: OperationBalanceUpdates;\r\n errors?: TezosGenericOperationError[];\r\n}\r\nexport interface OperationResultSmartRollupRecoverBond {\r\n status: OperationResultStatusEnum;\r\n balance_updates?: OperationBalanceUpdates;\r\n consumed_milligas?: string;\r\n errors?: TezosGenericOperationError[];\r\n}\r\nexport interface OperationResultSmartRollupTimeout {\r\n status: OperationResultStatusEnum;\r\n consumed_milligas?: string;\r\n game_status?: SmartRollupGameStatus;\r\n balance_updates?: OperationBalanceUpdates;\r\n errors?: TezosGenericOperationError[];\r\n}\r\nexport interface ContractBigMapDiffItem {\r\n key_hash?: string;\r\n key?: MichelsonV1Expression;\r\n value?: MichelsonV1Expression;\r\n action?: DiffActionEnum;\r\n big_map?: string;\r\n source_big_map?: string;\r\n destination_big_map?: string;\r\n key_type?: MichelsonV1Expression;\r\n value_type?: MichelsonV1Expression;\r\n}\r\nexport declare type ContractBigMapDiff = ContractBigMapDiffItem[];\r\nexport interface TezosGenericOperationError {\r\n kind: string;\r\n id: string;\r\n delegate?: string;\r\n}\r\nexport interface TicketUpdates {\r\n ticket_token: {\r\n ticketer: string;\r\n content_type: MichelsonV1Expression;\r\n content: MichelsonV1Expression;\r\n };\r\n updates: {\r\n account: string;\r\n amount: string;\r\n }[];\r\n}\r\nexport declare type TicketReceipt = TicketUpdates;\r\nexport declare type BatchOperationResult = OperationResultTransaction | OperationResultReveal | OperationResultDelegation | OperationResultOrigination | OperationResultIncreasePaidStorage | OperationResultRegisterGlobalConstant | OperationResultTransferTicket | OperationResultSmartRollupAddMessages | OperationResultSmartRollupOriginate | OperationResultUpdateConsensusKey;\r\nexport declare type OperationResult = OperationResultOrigination | OperationResultTransaction | OperationResultReveal | OperationResultDelegation | OperationResultIncreasePaidStorage | OperationResultRegisterGlobalConstant | OperationResultTransferTicket | OperationResultUpdateConsensusKey | OperationResultSmartRollupOriginate | OperationResultSmartRollupAddMessages | OperationResultSetDepositsLimit | OperationResultSmartRollupPublish | OperationResultSmartRollupCement | OperationResultSmartRollupRefute | OperationResultSmartRollupRecoverBond | OperationResultSmartRollupTimeout | OperationResultSmartRollupExecuteOutboxMessage | OperationResultTxRollupOrigination | OperationResultTxRollupSubmitBatch | OperationResultTxRollupDispatchTickets | OperationResultTxRollupCommit | OperationResultTxRollupReturnBond | OperationResultTxRollupFinalizeCommitment | OperationResultTxRollupRemoveCommitment | OperationResultTxRollupRejection;\r\nexport interface OperationResultTransaction {\r\n status: OperationResultStatusEnum;\r\n storage?: MichelsonV1Expression;\r\n big_map_diff?: ContractBigMapDiff;\r\n balance_updates?: OperationBalanceUpdates;\r\n ticket_updates?: TicketUpdates[];\r\n ticket_receipt?: TicketReceipt[];\r\n originated_contracts?: string[];\r\n consumed_gas?: string;\r\n storage_size?: string;\r\n paid_storage_size_diff?: string;\r\n allocated_destination_contract?: boolean;\r\n errors?: TezosGenericOperationError[];\r\n consumed_milligas?: string;\r\n lazy_storage_diff?: LazyStorageDiff[];\r\n ticket_hash?: string;\r\n}\r\nexport interface OperationResultReveal {\r\n status: OperationResultStatusEnum;\r\n consumed_gas?: string;\r\n errors?: TezosGenericOperationError[];\r\n consumed_milligas?: string;\r\n}\r\nexport interface TransactionOperationParameter {\r\n entrypoint: string;\r\n value: MichelsonV1Expression;\r\n}\r\nexport interface InternalOperationResult {\r\n kind: InternalOperationResultKindEnum;\r\n source: string;\r\n nonce: number;\r\n amount?: string;\r\n destination?: string;\r\n parameters?: TransactionOperationParameter;\r\n public_key?: string;\r\n balance?: string;\r\n delegate?: string;\r\n script?: ScriptedContracts;\r\n value?: MichelsonV1Expression;\r\n limit?: string;\r\n result: InternalOperationResultEnum;\r\n type?: MichelsonV1Expression;\r\n tag?: string;\r\n payload?: MichelsonV1Expression;\r\n}\r\nexport interface SuccessfulManagerOperationResult {\r\n kind: SuccessfulManagerOperationResultKindEnum;\r\n consumed_gas?: string;\r\n consumed_milligas?: string;\r\n storage?: MichelsonV1Expression;\r\n big_map_diff?: ContractBigMapDiff;\r\n balance_updates?: OperationBalanceUpdates;\r\n originated_contracts?: string[];\r\n storage_size?: string;\r\n paid_storage_size_diff?: string;\r\n lazy_storage_diff?: LazyStorageDiff[];\r\n}\r\nexport declare type MetadataBalanceUpdatesKindEnum = 'contract' | 'freezer' | 'accumulator' | 'burned' | 'commitment' | 'minted';\r\nexport declare enum METADATA_BALANCE_UPDATES_CATEGORY {\r\n BAKING_REWARDS = \"baking rewards\",\r\n REWARDS = \"rewards\",\r\n FEES = \"fees\",\r\n DEPOSITS = \"deposits\",\r\n LEGACY_REWARDS = \"legacy_rewards\",\r\n LEGACY_FEES = \"legacy_fees\",\r\n LEGACY_DEPOSITS = \"legacy_deposits\",\r\n BLOCK_FEES = \"block fees\",\r\n NONCE_REVELATION_REWARDS = \"nonce revelation rewards\",\r\n DOUBLE_SIGNING_EVIDENCE_REWARDS = \"double signing evidence rewards\",\r\n ENDORSING_REWARDS = \"endorsing rewards\",\r\n BAKING_BONUSES = \"baking bonuses\",\r\n STORAGE_FEES = \"storage fees\",\r\n PUNISHMENTS = \"punishments\",\r\n LOST_ENDORSING_REWARDS = \"lost endorsing rewards\",\r\n SUBSIDY = \"subsidy\",\r\n BURNED = \"burned\",\r\n COMMITMENT = \"commitment\",\r\n BOOTSTRAP = \"bootstrap\",\r\n INVOICE = \"invoice\",\r\n MINTED = \"minted\",\r\n TX_ROLLUP_REJECTION_REWARDS = \"tx_rollup_rejection_rewards\",\r\n TX_ROLLUP_REJECTION_PUNISHMENTS = \"tx_rollup_rejection_punishments\",\r\n BONDS = \"bonds\"\r\n}\r\nexport declare type MetadataBalanceUpdatesCategoryEnum = METADATA_BALANCE_UPDATES_CATEGORY;\r\nexport declare type MetadataBalanceUpdatesOriginEnum = 'block' | 'migration' | 'subsidy' | 'simulation';\r\nexport interface OperationMetadataBalanceUpdates {\r\n kind: MetadataBalanceUpdatesKindEnum;\r\n category?: MetadataBalanceUpdatesCategoryEnum;\r\n contract?: string;\r\n delegate?: string;\r\n participation?: boolean;\r\n revelation?: boolean;\r\n committer?: string;\r\n cycle?: number;\r\n change: string;\r\n origin?: MetadataBalanceUpdatesOriginEnum;\r\n}\r\nexport declare type OperationResultStatusEnum = 'applied' | 'failed' | 'skipped' | 'backtracked';\r\nexport declare type DiffActionEnum = 'update' | 'remove' | 'copy' | 'alloc';\r\nexport declare type LazyStorageDiff = LazyStorageDiffBigMap | LazyStorageDiffSaplingState;\r\nexport interface LazyStorageDiffBigMap {\r\n kind: 'big_map';\r\n id: string;\r\n diff: LazyStorageDiffBigMapItems;\r\n}\r\nexport interface LazyStorageDiffSaplingState {\r\n kind: 'sapling_state';\r\n id: string;\r\n diff: LazyStorageDiffSaplingStateItems;\r\n}\r\nexport interface LazyStorageDiffBigMapItems {\r\n action: DiffActionEnum;\r\n updates?: LazyStorageDiffUpdatesBigMap[];\r\n source?: string;\r\n key_type?: MichelsonV1Expression;\r\n value_type?: MichelsonV1Expression;\r\n}\r\nexport interface LazyStorageDiffSaplingStateItems {\r\n action: DiffActionEnum;\r\n updates?: LazyStorageDiffUpdatesSaplingState;\r\n source?: string;\r\n memo_size?: number;\r\n}\r\nexport interface LazyStorageDiffUpdatesBigMap {\r\n key_hash: string;\r\n key: MichelsonV1Expression;\r\n value?: MichelsonV1Expression;\r\n}\r\nexport declare type CommitmentsAndCiphertexts = [\r\n SaplingTransactionCommitment,\r\n SaplingTransactionCiphertext\r\n];\r\nexport declare type SaplingTransactionCommitment = string;\r\nexport interface LazyStorageDiffUpdatesSaplingState {\r\n commitments_and_ciphertexts: CommitmentsAndCiphertexts[];\r\n nullifiers: string[];\r\n}\r\nexport interface SaplingTransactionCiphertext {\r\n cv: string;\r\n epk: string;\r\n payload_enc: string;\r\n nonce_enc: string;\r\n payload_out: string;\r\n nonce_out: string;\r\n}\r\nexport interface OperationResultOrigination {\r\n status: OperationResultStatusEnum;\r\n big_map_diff?: ContractBigMapDiff;\r\n balance_updates?: OperationBalanceUpdates;\r\n originated_contracts?: string[];\r\n consumed_gas?: string;\r\n storage_size?: string;\r\n paid_storage_size_diff?: string;\r\n errors?: TezosGenericOperationError[];\r\n consumed_milligas?: string;\r\n lazy_storage_diff?: LazyStorageDiff[];\r\n}\r\nexport interface OperationResultEvent {\r\n status: OperationResultStatusEnum;\r\n consumed_milligas?: string;\r\n errors?: TezosGenericOperationError[];\r\n}\r\nexport interface OperationContentsAndResultMetadataOrigination {\r\n balance_updates: OperationMetadataBalanceUpdates[];\r\n operation_result: OperationResultOrigination;\r\n internal_operation_results?: InternalOperationResult[];\r\n}\r\nexport declare type ConstantsResponse = ConstantsResponseCommon & ConstantsResponseProto017 & ConstantsResponseProto016 & ConstantsResponseProto015 & ConstantsResponseProto014 & ConstantsResponseProto013 & ConstantsResponseProto012 & ConstantsResponseProto011 & ConstantsResponseProto010 & ConstantsResponseProto009 & ConstantsResponseProto008 & ConstantsResponseProto007 & ConstantsResponseProto006 & ConstantsResponseProto005 & ConstantsResponseProto004 & ConstantsResponseProto003 & ConstantsResponseProto001And002;\r\nexport interface ConstantsResponseCommon {\r\n proof_of_work_nonce_size: number;\r\n nonce_length: number;\r\n max_operation_data_length: number;\r\n preserved_cycles: number;\r\n blocks_per_cycle: number;\r\n blocks_per_commitment: number;\r\n blocks_per_roll_snapshot: number;\r\n blocks_per_voting_period: number;\r\n time_between_blocks: BigNumber[];\r\n endorsers_per_block: number;\r\n hard_gas_limit_per_operation: BigNumber;\r\n hard_gas_limit_per_block: BigNumber;\r\n proof_of_work_threshold: BigNumber;\r\n tokens_per_roll: BigNumber;\r\n michelson_maximum_type_size: number;\r\n seed_nonce_revelation_tip: BigNumber;\r\n block_security_deposit: BigNumber;\r\n endorsement_security_deposit: BigNumber;\r\n endorsement_reward: BigNumber | BigNumber[];\r\n cost_per_byte: BigNumber;\r\n hard_storage_limit_per_operation: BigNumber;\r\n}\r\nexport declare type Ratio = {\r\n numerator: number;\r\n denominator: number;\r\n};\r\nexport declare type ConstantsResponseProto017 = ConstantsResponseProto016;\r\nexport interface ConstantsResponseProto016 extends Omit {\r\n smart_rollup_arith_pvm_enable: boolean;\r\n smart_rollup_challenge_window_in_blocks: number;\r\n smart_rollup_commitment_period_in_blocks: number;\r\n smart_rollup_enable: boolean;\r\n smart_rollup_max_active_outbox_levels: number;\r\n smart_rollup_max_lookahead_in_blocks: number;\r\n smart_rollup_max_number_of_cemented_commitments: number;\r\n smart_rollup_max_number_of_messages_per_level: string;\r\n smart_rollup_max_number_of_parallel_games: number;\r\n smart_rollup_max_outbox_messages_per_level: number;\r\n smart_rollup_max_wrapped_proof_binary_size: number;\r\n smart_rollup_message_size_limit: number;\r\n smart_rollup_number_of_sections_in_dissection: number;\r\n smart_rollup_origination_size: number;\r\n smart_rollup_stake_amount: string;\r\n smart_rollup_timeout_period_in_blocks: number;\r\n}\r\nexport interface ConstantsResponseProto015 extends Omit {\r\n minimal_stake: BigNumber;\r\n sc_max_wrapped_proof_binary_size: number;\r\n sc_rollup_message_size_limit: number;\r\n sc_rollup_max_number_of_messages_per_commitment_period: number;\r\n sc_rollup_number_of_sections_in_dissection: number;\r\n sc_rollup_timeout_period_in_blocks: number;\r\n sc_rollup_max_number_of_cemented_commitments: number;\r\n zk_rollup_enable: number;\r\n zk_rollup_origination_size: number;\r\n zk_rollup_min_pending_to_process: number;\r\n}\r\nexport interface DalParametric {\r\n feature_enable: boolean;\r\n number_of_slots: number;\r\n number_of_shards: number;\r\n endorsement_lag?: number;\r\n availability_threshold: number;\r\n slot_size?: number;\r\n redundancy_factor?: number;\r\n page_size?: number;\r\n attestation_threshold?: number;\r\n blocks_per_epoch?: number;\r\n}\r\nexport interface ConstantsResponseProto014 extends ConstantsResponseProto013 {\r\n max_wrapped_proof_binary_size?: number;\r\n nonce_revelation_threshold?: number;\r\n vdf_difficulty?: BigNumber;\r\n testnet_dictator?: string;\r\n dal_parametric?: DalParametric;\r\n sc_rollup_stake_amount?: BigNumber;\r\n sc_rollup_commitment_period_in_blocks?: number;\r\n sc_rollup_max_lookahead_in_blocks?: number;\r\n sc_rollup_max_active_outbox_levels?: number;\r\n sc_rollup_max_outbox_messages_per_level?: number;\r\n}\r\nexport interface ConstantsResponseProto013 extends Omit {\r\n cache_layout_size?: number;\r\n cache_sampler_state_cycles?: number;\r\n cache_script_size?: number;\r\n cache_stake_distribution_cycles?: number;\r\n cycles_per_voting_period?: number;\r\n liquidity_baking_toggle_ema_threshold?: number;\r\n initial_seed?: string;\r\n tx_rollup_enable?: boolean;\r\n tx_rollup_origination_size?: number;\r\n tx_rollup_hard_size_limit_per_inbox?: number;\r\n tx_rollup_hard_size_limit_per_message?: number;\r\n tx_rollup_max_withdrawals_per_batch?: number;\r\n tx_rollup_commitment_bond?: BigNumber;\r\n tx_rollup_finality_period?: number;\r\n tx_rollup_withdraw_period?: number;\r\n tx_rollup_max_inboxes_count?: number;\r\n tx_rollup_max_messages_per_inbox?: number;\r\n tx_rollup_max_commitments_count?: number;\r\n tx_rollup_cost_per_byte_ema_factor?: number;\r\n tx_rollup_max_ticket_payload_size?: number;\r\n tx_rollup_rejection_max_proof_size?: number;\r\n tx_rollup_sunset_level?: number;\r\n sc_rollup_enable?: boolean;\r\n sc_rollup_origination_size?: number;\r\n sc_rollup_challenge_window_in_blocks?: number;\r\n sc_rollup_max_available_messages?: number;\r\n}\r\nexport interface ConstantsResponseProto012 extends Omit {\r\n blocks_per_stake_snapshot?: number;\r\n baking_reward_fixed_portion?: BigNumber;\r\n baking_reward_bonus_per_slot?: BigNumber;\r\n endorsing_reward_per_slot?: BigNumber;\r\n max_operations_time_to_live?: number;\r\n consensus_committee_size?: number;\r\n consensus_threshold?: number;\r\n minimal_participation_ratio?: Ratio;\r\n max_slashing_period?: number;\r\n frozen_deposits_percentage?: number;\r\n double_baking_punishment?: BigNumber;\r\n ratio_of_frozen_deposits_slashed_per_double_endorsement?: Ratio;\r\n delegate_selection?: 'random' | string[][];\r\n delay_increment_per_round?: BigNumber;\r\n}\r\nexport interface ConstantsResponseProto011 extends ConstantsResponseProto010 {\r\n max_micheline_node_count?: number;\r\n max_allowed_global_constants_depth?: number;\r\n max_micheline_bytes_limit?: number;\r\n cache_layout?: BigNumber[];\r\n}\r\nexport interface ConstantsResponseProto010 extends ConstantsResponseProto009 {\r\n minimal_block_delay?: BigNumber;\r\n liquidity_baking_subsidy?: BigNumber;\r\n liquidity_baking_sunset_level?: number;\r\n liquidity_baking_escape_ema_threshold?: number;\r\n}\r\nexport interface ConstantsResponseProto009 extends ConstantsResponseProto008 {\r\n}\r\nexport interface ConstantsResponseProto008 extends ConstantsResponseProto007 {\r\n}\r\nexport interface ConstantsResponseProto007 extends Omit {\r\n max_anon_ops_per_block?: number;\r\n}\r\nexport interface ConstantsResponseProto006 extends Omit {\r\n baking_reward_per_endorsement?: BigNumber[];\r\n}\r\nexport interface ConstantsResponseProto005 extends ConstantsResponseProto004 {\r\n quorum_min?: number;\r\n quorum_max?: number;\r\n min_proposal_quorum?: number;\r\n initial_endorsers?: number;\r\n delay_per_missing_endorsement?: BigNumber;\r\n}\r\nexport interface ConstantsResponseProto004 extends ConstantsResponseProto003 {\r\n test_chain_duration?: BigNumber;\r\n}\r\nexport interface ConstantsResponseProto003 extends Omit {\r\n origination_size?: number;\r\n max_proposals_per_delegate?: number;\r\n}\r\nexport interface ConstantsResponseProto001And002 extends ConstantsResponseCommon {\r\n max_revelations_per_block?: number;\r\n origination_burn?: string;\r\n block_reward?: BigNumber;\r\n}\r\nexport interface ContractResponse {\r\n balance: BigNumber;\r\n script: ScriptedContracts;\r\n counter?: string;\r\n delegate?: string;\r\n}\r\nexport interface TestChainStatus {\r\n status: 'not_running' | 'forking' | 'running';\r\n protocol?: string;\r\n expiration?: TimeStampMixed;\r\n chain_id?: string;\r\n genesis?: string;\r\n}\r\nexport interface MaxOperationListLength {\r\n max_size: number;\r\n max_op?: number;\r\n}\r\nexport interface Level {\r\n level: number;\r\n level_position: number;\r\n cycle: number;\r\n cycle_position: number;\r\n voting_period: number;\r\n voting_period_position: number;\r\n expected_commitment: boolean;\r\n}\r\nexport interface LevelInfo {\r\n level: number;\r\n level_position: number;\r\n cycle: number;\r\n cycle_position: number;\r\n expected_commitment: boolean;\r\n}\r\nexport interface BlockMetadata {\r\n protocol: string;\r\n next_protocol: string;\r\n test_chain_status: TestChainStatus;\r\n max_operations_ttl: number;\r\n max_operation_data_length: number;\r\n max_block_header_length: number;\r\n max_operation_list_length: MaxOperationListLength[];\r\n proposer?: string;\r\n baker: string;\r\n level?: Level;\r\n level_info?: LevelInfo;\r\n voting_period_kind?: string;\r\n voting_period_info?: VotingPeriodBlockResult;\r\n nonce_hash?: string;\r\n consumed_gas: string;\r\n deactivated: string[];\r\n balance_updates: OperationBalanceUpdates;\r\n liquidity_baking_escape_ema?: number;\r\n liquidity_baking_toggle_ema?: number;\r\n implicit_operations_results?: SuccessfulManagerOperationResult[];\r\n consumed_milligas?: string;\r\n proposer_consensus_key?: string;\r\n baker_consensus_key?: string;\r\n}\r\nexport declare type RPCRunOperationParam = {\r\n operation: OperationObject;\r\n chain_id: string;\r\n};\r\nexport interface RPCSimulateOperationParam extends RPCRunOperationParam {\r\n blocks_before_activation?: number;\r\n latency?: number;\r\n}\r\nexport declare type RPCRunCodeParam = {\r\n script: MichelsonV1ExpressionExtended[];\r\n storage: MichelsonV1Expression;\r\n input: MichelsonV1Expression;\r\n amount: string;\r\n chain_id: string;\r\n source?: string;\r\n payer?: string;\r\n gas?: string;\r\n self?: string;\r\n entrypoint?: string;\r\n balance?: string;\r\n unparsing_mode?: UnparsingMode;\r\n now?: string;\r\n level?: string;\r\n};\r\nexport declare type RunCodeResult = {\r\n storage: MichelsonV1Expression;\r\n operations: InternalOperationResult[];\r\n big_map_diff?: ContractBigMapDiff;\r\n lazy_storage_diff?: LazyStorageDiff;\r\n};\r\nexport declare type RPCRunScriptViewParam = {\r\n contract: string;\r\n view: string;\r\n input: MichelsonV1Expression;\r\n unlimited_gas?: boolean;\r\n chain_id: string;\r\n source?: string;\r\n payer?: string;\r\n gas?: string;\r\n unparsing_mode?: UnparsingModeEnum;\r\n now?: string;\r\n level?: string;\r\n};\r\nexport declare type RunScriptViewResult = {\r\n data: MichelsonV1Expression;\r\n};\r\nexport declare type RPCRunViewParam = {\r\n contract: string;\r\n entrypoint: string;\r\n input: MichelsonV1Expression;\r\n chain_id: string;\r\n source?: string;\r\n payer?: string;\r\n gas?: BigNumber;\r\n unparsing_mode?: UnparsingModeEnum;\r\n};\r\nexport declare type RunViewResult = {\r\n data: MichelsonV1Expression;\r\n};\r\nexport declare type EntrypointsResponse = {\r\n entrypoints: {\r\n [key: string]: MichelsonV1ExpressionExtended;\r\n };\r\n unreachable?: {\r\n path: ('Left' | 'Right')[];\r\n };\r\n};\r\nexport interface OperationContentsAndResultOrigination {\r\n kind: OpKind.ORIGINATION;\r\n source: string;\r\n fee: string;\r\n counter: string;\r\n gas_limit: string;\r\n storage_limit: string;\r\n balance: string;\r\n delegate?: string;\r\n script?: ScriptedContracts;\r\n metadata: OperationContentsAndResultMetadataOrigination;\r\n}\r\nexport interface VotingPeriodResult {\r\n index: number;\r\n kind: PeriodKindResponse;\r\n start_position: number;\r\n}\r\nexport interface VotingPeriodBlockResult {\r\n voting_period: VotingPeriodResult;\r\n position: number;\r\n remaining: number;\r\n}\r\nexport declare type UnparsingModeEnum = 'Readable' | 'Optimized' | 'Optimized_legacy';\r\nexport declare type UnparsingMode = {\r\n unparsing_mode: UnparsingModeEnum;\r\n};\r\nexport declare type ProtocolsResponse = {\r\n protocol: string;\r\n next_protocol: string;\r\n};\r\nexport declare type Next = {\r\n next: number;\r\n} | {\r\n newest: number;\r\n oldest: number;\r\n};\r\nexport declare type LastRemovedCommitmentHashes = {\r\n last_message_hash: string;\r\n commitment_hash: string;\r\n};\r\nexport interface TxRollupStateResponse {\r\n last_removed_commitment_hashes?: LastRemovedCommitmentHashes;\r\n finalized_commitments: Next;\r\n unfinalized_commitments: Next;\r\n uncommitted_inboxes: Next;\r\n commitment_newest_hash?: string;\r\n tezos_head_level?: number;\r\n burn_per_byte: string;\r\n allocated_storage: string;\r\n occupied_storage: string;\r\n inbox_ema: number;\r\n commitments_watermark?: number;\r\n}\r\nexport interface TxRollupInboxResponse {\r\n inbox_length: number;\r\n cumulated_size: number;\r\n merkle_root: string;\r\n}\r\nexport interface PendingOperationsQueryArguments {\r\n version?: '1';\r\n applied?: boolean;\r\n refused?: boolean;\r\n outdated?: boolean;\r\n branchRefused?: boolean;\r\n branchDelayed?: boolean;\r\n validationPass?: '0' | '1' | '2' | '3';\r\n}\r\ndeclare type FailedProcessedOperation = Pick & {\r\n error: TezosGenericOperationError[];\r\n};\r\nexport interface PendingOperations {\r\n applied: Pick[];\r\n refused: FailedProcessedOperation[];\r\n outdated: FailedProcessedOperation[];\r\n branch_refused: FailedProcessedOperation[];\r\n branch_delayed: FailedProcessedOperation[];\r\n unprocessed: Pick[];\r\n}\r\nexport declare enum PvmKind {\r\n WASM2 = \"wasm_2_0_0\",\r\n ARITH = \"arith\"\r\n}\r\nexport interface OriginationProofParams {\r\n kind: PvmKind;\r\n kernel: string;\r\n}\r\nexport interface SmartRollupPublishCommitment {\r\n compressed_state: string;\r\n inbox_level: number;\r\n predecessor: string;\r\n number_of_ticks: string;\r\n}\r\nexport declare enum SmartRollupRefutationOptions {\r\n START = \"start\",\r\n MOVE = \"move\"\r\n}\r\nexport declare type SmartRollupRefutation = SmartRollupRefutationStart | SmartRollupRefutationMove;\r\nexport interface SmartRollupRefutationStart {\r\n refutation_kind: SmartRollupRefutationOptions.START;\r\n player_commitment_hash: string;\r\n opponent_commitment_hash: string;\r\n}\r\nexport interface SmartRollupRefutationMove {\r\n refutation_kind: SmartRollupRefutationOptions.MOVE;\r\n choice: string;\r\n step: SmartRollupRefutationMoveStep;\r\n}\r\nexport declare type SmartRollupRefutationMoveStep = SmartRollupRefutationMoveStepDissection[] | SmartRollupRefutationMoveStepProof;\r\nexport interface SmartRollupRefutationMoveStepDissection {\r\n state?: string;\r\n tick: number;\r\n}\r\nexport interface SmartRollupRefutationMoveStepProof {\r\n pvm_step: string;\r\n input_proof?: SmartRollupRefutationMoveInputProof;\r\n}\r\nexport declare enum SmartRollupInputProofKind {\r\n INBOX_PROOF = \"inbox_proof\",\r\n REVEAL_PROOF = \"reveal_proof\",\r\n FIRST_INPUT = \"first_input\"\r\n}\r\nexport interface SmartRollupRefutationMoveInputProofInbox {\r\n input_proof_kind: SmartRollupInputProofKind.INBOX_PROOF;\r\n level: number;\r\n message_counter: string;\r\n serialized_proof: string;\r\n}\r\nexport interface SmartRollupRefutationMoveInputProofReveal {\r\n input_proof_kind: SmartRollupInputProofKind.REVEAL_PROOF;\r\n reveal_proof: SmartRollupRefuteRevealProofOptions;\r\n}\r\nexport interface SmartRollupRefutationMoveInputProofFirstInput {\r\n input_proof_kind: SmartRollupInputProofKind.FIRST_INPUT;\r\n}\r\nexport declare type SmartRollupRefutationMoveInputProof = SmartRollupRefutationMoveInputProofInbox | SmartRollupRefutationMoveInputProofReveal | SmartRollupRefutationMoveInputProofFirstInput;\r\nexport declare enum SmartRollupRefuteRevealProofKind {\r\n RAW_DATA_PROOF = \"raw_data_proof\",\r\n METADATA_PROOF = \"metadata_proof\",\r\n DAL_PAGE_PROOF = \"dal_page_proof\"\r\n}\r\nexport interface SmartRollupRefuteRevealProofRaw {\r\n reveal_proof_kind: SmartRollupRefuteRevealProofKind.RAW_DATA_PROOF;\r\n raw_data: string;\r\n}\r\nexport interface SmartRollupRefuteRevealProofMetadata {\r\n reveal_proof_kind: SmartRollupRefuteRevealProofKind.METADATA_PROOF;\r\n}\r\nexport interface SmartRollupRefuteRevealProofDalPage {\r\n reveal_proof_kind: SmartRollupRefuteRevealProofKind.DAL_PAGE_PROOF;\r\n dal_page_id: {\r\n published_level: number;\r\n slot_index: number;\r\n page_index: number;\r\n };\r\n dal_proof: string;\r\n}\r\nexport declare type SmartRollupRefuteRevealProofOptions = SmartRollupRefuteRevealProofRaw | SmartRollupRefuteRevealProofMetadata | SmartRollupRefuteRevealProofDalPage;\r\nexport declare type SmartRollupGameStatus = SmartRollupRefuteGameStatusOptions.ONGOING | SmartRollupRefuteGameStatusEnded;\r\nexport declare enum SmartRollupRefuteGameStatusOptions {\r\n ONGOING = \"ongoing\",\r\n ENDED = \"ended\"\r\n}\r\nexport interface SmartRollupRefuteGameStatusEnded {\r\n result: SmartRollupRefuteGameStatusResult;\r\n}\r\nexport declare type SmartRollupRefuteGameStatusResult = SmartRollupRefuteGameEndedResultLoser | SmartRollupRefuteGameEndedResultDraw;\r\nexport interface SmartRollupRefuteGameEndedResultLoser {\r\n kind: SmartRollupRefuteGameEndedPlayerOutcomes.LOSER;\r\n reason: SmartRollupRefuteGameEndedReason;\r\n player: string;\r\n}\r\nexport interface SmartRollupRefuteGameEndedResultDraw {\r\n kind: SmartRollupRefuteGameEndedPlayerOutcomes.DRAW;\r\n}\r\nexport declare enum SmartRollupRefuteGameEndedPlayerOutcomes {\r\n LOSER = \"loser\",\r\n DRAW = \"draw\"\r\n}\r\nexport declare enum SmartRollupRefuteGameEndedReason {\r\n CONFLICT_RESOLVED = \"conflict_resolved\",\r\n TIMEOUT = \"timeout\"\r\n}\r\nexport interface SmartRollupTimeoutStakers {\r\n alice: string;\r\n bob: string;\r\n}\r\nexport {};\r\n"},{name:"@taquito/rpc/dist/types/version.d.ts",dts:"export declare const VERSION: {\r\n commitHash: string;\r\n version: string;\r\n};\r\n"},{name:"@taquito/batch/rpc-batch-provider.d.ts",dts:"import { Context } from '../context';\r\nimport { ContractStorageType, DefaultContractType } from '../contract/contract';\r\nimport { ContractMethod } from '../contract/contract-methods/contract-method-flat-param';\r\nimport { SendParams } from '../contract/contract-methods/contract-method-interface';\r\nimport { ContractProvider } from '../contract/interface';\r\nimport { BatchOperation } from '../operations/batch-operation';\r\nimport { ActivationParams, DelegateParams, OriginateParams, TransferParams, ParamsWithKind, RegisterGlobalConstantParams, TransferTicketParams, IncreasePaidStorageParams, SmartRollupAddMessagesParams, SmartRollupOriginateParamsWithProof } from '../operations/types';\r\nimport { OpKind } from '@taquito/rpc';\r\nimport { ContractMethodObject } from '../contract/contract-methods/contract-method-object-param';\r\nimport { EstimationProvider } from '../estimate/estimate-provider-interface';\r\nimport { Provider } from '../provider';\r\nexport declare const BATCH_KINDS: OpKind[];\r\nexport declare type BatchKinds = OpKind.ACTIVATION | OpKind.ORIGINATION | OpKind.TRANSACTION | OpKind.DELEGATION;\r\nexport declare class OperationBatch extends Provider {\r\n private estimator;\r\n private operations;\r\n constructor(context: Context, estimator: EstimationProvider);\r\n private prepare;\r\n /**\r\n *\r\n * @description Add a transaction operation to the batch\r\n *\r\n * @param params Transfer operation parameter\r\n */\r\n withTransfer(params: TransferParams): this;\r\n /**\r\n *\r\n * @description Transfer tickets from a Tezos address (tz1,tz2 or tz3) to a smart contract address( KT1)\r\n *\r\n * @param params Transfer operation parameter\r\n */\r\n withTransferTicket(params: TransferTicketParams): this;\r\n /**\r\n *\r\n * @description Add a contract call to the batch\r\n *\r\n * @param params Call a contract method\r\n * @param options Generic operation parameters\r\n */\r\n withContractCall(params: ContractMethod | ContractMethodObject, options?: Partial): this;\r\n /**\r\n *\r\n * @description Add a delegation operation to the batch\r\n *\r\n * @param params Delegation operation parameter\r\n */\r\n withDelegation(params: DelegateParams): this;\r\n /**\r\n *\r\n * @description Add an activation operation to the batch\r\n *\r\n * @param params Activation operation parameter\r\n * @throws {@link InvalidKeyHashError}\r\n */\r\n withActivation({ pkh, secret }: ActivationParams): this;\r\n /**\r\n *\r\n * @description Add an origination operation to the batch\r\n *\r\n * @param params Origination operation parameter\r\n */\r\n withOrigination(params: OriginateParams>): this;\r\n /**\r\n *\r\n * @description Add a register a global constant operation to the batch\r\n *\r\n * @param params RegisterGlobalConstant operation parameter\r\n */\r\n withRegisterGlobalConstant(params: RegisterGlobalConstantParams): this;\r\n /**\r\n *\r\n * @description Add an increase paid storage operation to the batch\r\n *\r\n * @param params IncreasePaidStorage operation parameter\r\n */\r\n withIncreasePaidStorage(params: IncreasePaidStorageParams): this;\r\n /**\r\n *\r\n * @description Add a smart rollup add messages operation to the batch\r\n *\r\n * @param params Rollup origination operation parameter\r\n */\r\n withSmartRollupAddMessages(params: SmartRollupAddMessagesParams): this;\r\n /**\r\n *\r\n * @description Add a smart rollup originate operation to the batch\r\n *\r\n * @param params Smart Rollup Originate operation parameter\r\n */\r\n withSmartRollupOriginate(params: SmartRollupOriginateParamsWithProof): this;\r\n getRPCOp(param: ParamsWithKind): Promise;\r\n /**\r\n *\r\n * @description Add a group operation to the batch. Operation will be applied in the order they are in the params array\r\n *\r\n * @param params Operations parameter\r\n * @throws {@link InvalidOperationKindError}\r\n */\r\n with(params: ParamsWithKind[]): this;\r\n /**\r\n *\r\n * @description Forge and Inject the operation batch\r\n *\r\n * @param params Optionally specify the source of the operation\r\n */\r\n send(params?: {\r\n source?: string;\r\n }): Promise;\r\n}\r\nexport declare class RPCBatchProvider {\r\n private context;\r\n private estimator;\r\n constructor(context: Context, estimator: EstimationProvider);\r\n /***\r\n *\r\n * @description Batch a group of operation together. Operations will be applied in the order in which they are added to the batch\r\n *\r\n * @param params List of operation to batch together\r\n */\r\n batch(params?: ParamsWithKind[]): OperationBatch;\r\n}\r\n"},{name:"@taquito/contract/contract-methods/contract-method-factory.d.ts",dts:"import { Wallet } from '../../wallet';\r\nimport { ContractProvider } from '../../contract';\r\nimport { ContractMethodObject } from './contract-method-object-param';\r\nimport { ContractMethod } from './contract-method-flat-param';\r\nimport { ParameterSchema, ViewSchema } from '@taquito/michelson-encoder';\r\nimport { RpcClientInterface, MichelsonV1Expression } from '@taquito/rpc';\r\nimport { OnChainView } from './contract-on-chain-view';\r\nimport { TzReadProvider } from '../../read-provider/interface';\r\nexport declare class ContractMethodFactory {\r\n private provider;\r\n private contractAddress;\r\n constructor(provider: T, contractAddress: string);\r\n createContractMethodFlatParams(smartContractMethodSchema: ParameterSchema, smartContractMethodName: string, args: any[], isMultipleEntrypoint?: boolean, isAnonymous?: boolean): ContractMethod;\r\n createContractMethodObjectParam(smartContractMethodSchema: ParameterSchema, smartContractMethodName: string, args: any[], isMultipleEntrypoint?: boolean, isAnonymous?: boolean): ContractMethodObject;\r\n createContractViewObjectParam(rpc: RpcClientInterface, readProvider: TzReadProvider, smartContractViewSchema: ViewSchema, contractStorageType: MichelsonV1Expression, viewArgs: any): OnChainView;\r\n}\r\n"},{name:"@taquito/contract/contract-methods/contract-method-flat-param.d.ts",dts:"import { TransactionOperation } from '../../operations/transaction-operation';\r\nimport { TransferParams } from '../../operations/types';\r\nimport { ContractProvider } from '../interface';\r\nimport { TransactionWalletOperation, Wallet } from '../../wallet';\r\nimport { ParameterSchema } from '@taquito/michelson-encoder';\r\nimport { ContractMethodInterface, SendParams } from './contract-method-interface';\r\n/**\r\n * @description Utility class to send smart contract operation\r\n * The format for the arguments is the flattened representation\r\n */\r\nexport declare class ContractMethod implements ContractMethodInterface {\r\n private provider;\r\n private address;\r\n private parameterSchema;\r\n private name;\r\n private args;\r\n private isMultipleEntrypoint;\r\n private isAnonymous;\r\n constructor(provider: T, address: string, parameterSchema: ParameterSchema, name: string, args: any[], isMultipleEntrypoint?: boolean, isAnonymous?: boolean);\r\n private validateArgs;\r\n /**\r\n * @description Get the schema of the smart contract method\r\n */\r\n get schema(): any;\r\n /**\r\n * @description Get the signature of the smart contract method\r\n */\r\n getSignature(): any[] | undefined;\r\n /**\r\n *\r\n * @description Send the smart contract operation\r\n *\r\n * @param Options generic operation parameter\r\n */\r\n send(params?: Partial): Promise;\r\n /**\r\n *\r\n * @description Create transfer params to be used with TezosToolkit.contract.transfer methods\r\n *\r\n * @param Options generic transfer operation parameters\r\n */\r\n toTransferParams({ fee, gasLimit, storageLimit, source, amount, mutez, }?: Partial): TransferParams;\r\n}\r\n"},{name:"@taquito/contract/contract-methods/contract-method-interface.d.ts",dts:"import { TransactionOperation } from '../../operations/transaction-operation';\r\nimport { TransferParams } from '../../operations/types';\r\nimport { TransactionWalletOperation } from '../../wallet';\r\nexport interface SendParams {\r\n fee?: number;\r\n storageLimit?: number;\r\n gasLimit?: number;\r\n amount: number;\r\n source?: string;\r\n mutez?: boolean;\r\n}\r\nexport declare type ExplicitTransferParams = Required> & SendParams;\r\nexport interface ContractMethodInterface {\r\n /**\r\n *\r\n * @description Send the smart contract operation\r\n *\r\n * @param Options generic operation parameter\r\n */\r\n send(params: Partial): Promise;\r\n /**\r\n *\r\n * @description Create transfer params to be used with TezosToolkit.contract.transfer methods\r\n *\r\n * @param Options generic transfer operation parameters\r\n */\r\n toTransferParams(params: Partial): TransferParams;\r\n}\r\n"},{name:"@taquito/contract/contract-methods/contract-method-object-param.d.ts",dts:"import { TransactionOperation } from '../../operations/transaction-operation';\r\nimport { TransferParams } from '../../operations/types';\r\nimport { ContractProvider } from '../interface';\r\nimport { TransactionWalletOperation, Wallet } from '../../wallet';\r\nimport { ParameterSchema } from \"@taquito/michelson-encoder\";\r\nimport { ContractMethodInterface, SendParams } from './contract-method-interface';\r\n/**\r\n * @description Utility class to send smart contract operation\r\n * The format for the arguments is the object representation\r\n */\r\nexport declare class ContractMethodObject implements ContractMethodInterface {\r\n private provider;\r\n private address;\r\n private parameterSchema;\r\n private name;\r\n private args;\r\n private isMultipleEntrypoint;\r\n private isAnonymous;\r\n constructor(provider: T, address: string, parameterSchema: ParameterSchema, name: string, args?: any, isMultipleEntrypoint?: boolean, isAnonymous?: boolean);\r\n /**\r\n * @description Get the signature of the smart contract method\r\n */\r\n getSignature(): any;\r\n /**\r\n *\r\n * @description Send the smart contract operation\r\n *\r\n * @param Options generic operation parameter\r\n */\r\n send(params?: Partial): Promise;\r\n /**\r\n *\r\n * @description Create transfer params to be used with TezosToolkit.contract.transfer methods\r\n *\r\n * @param Options generic transfer operation parameters\r\n */\r\n toTransferParams({ fee, gasLimit, storageLimit, source, amount, mutez, }?: Partial): TransferParams;\r\n}\r\n"},{name:"@taquito/contract/contract-methods/contract-on-chain-view.d.ts",dts:"import { ViewSchema } from '@taquito/michelson-encoder';\r\nimport { MichelsonV1Expression, RpcClientInterface } from '@taquito/rpc';\r\nimport { TzReadProvider } from '../../read-provider/interface';\r\nexport interface ExecutionContextParams {\r\n source?: string;\r\n viewCaller: string;\r\n}\r\nexport declare class OnChainView {\r\n private _rpc;\r\n private _readProvider;\r\n private _contractAddress;\r\n private _smartContractViewSchema;\r\n private _contractStorageType;\r\n private _args;\r\n constructor(_rpc: RpcClientInterface, _readProvider: TzReadProvider, _contractAddress: string, _smartContractViewSchema: ViewSchema, _contractStorageType: MichelsonV1Expression, _args?: any);\r\n /**\r\n * @description Get the signature of the smart contract view\r\n */\r\n getSignature(): {\r\n parameter: any;\r\n result: any;\r\n };\r\n /**\r\n * @description Get the result of the view simulation\r\n * @param executionContext.source the public key hash of the account who initialized this view execution.\r\n * @param executionContext.viewCaller the contract address which is the caller of view.\r\n */\r\n executeView(executionContext: ExecutionContextParams): Promise;\r\n private verifyContextExecution;\r\n private transformArgsToMichelson;\r\n /**\r\n * @description Loops through the view's instructions and replace BALANCE, SENDER, SELF_ADDRESS and AMOUNT with Michelson expressions that match the current context, if applicable.\r\n *\r\n * Certain specific instructions have different semantics in view:\r\n * BALANCE represents the current amount of mutez held by the contract where view is;\r\n * SENDER represents the contract which is the caller of view;\r\n * SELF_ADDRESS represents the contract where view is;\r\n * AMOUNT is always 0 mutez.\r\n *\r\n */\r\n private adaptViewCodeToContext;\r\n private executeViewAndDecodeResult;\r\n}\r\n"},{name:"@taquito/contract/big-map.d.ts",dts:"import { Schema, BigMapKeyType } from '@taquito/michelson-encoder';\r\nimport BigNumber from 'bignumber.js';\r\nimport { ContractProvider } from './interface';\r\nexport declare class BigMapAbstraction {\r\n private id;\r\n private schema;\r\n private provider;\r\n constructor(id: BigNumber, schema: Schema, provider: ContractProvider);\r\n /**\r\n *\r\n * @description Fetch one value in a big map\r\n *\r\n * @param keysToEncode Key to query (will be encoded properly according to the schema)\r\n * @param block optional block level to fetch the values from (head will be use by default)\r\n * @returns Return a well formatted json object of a big map value or undefined if the key is not found in the big map\r\n *\r\n */\r\n get(keyToEncode: BigMapKeyType, block?: number): Promise;\r\n /**\r\n *\r\n * @description Fetch multiple values in a big map\r\n * All values will be fetched on the same block level. If a block is specified in the request, the values will be fetched at it.\r\n * Otherwise, a first request will be done to the node to fetch the level of the head and all values will be fetched at this level.\r\n * If one of the keys does not exist in the big map, its value will be set to undefined.\r\n *\r\n * @param keysToEncode Array of keys to query (will be encoded properly according to the schema)\r\n * @param block optional block level to fetch the values from\r\n * @param batchSize optional batch size representing the number of requests to execute in parallel\r\n * @returns A MichelsonMap containing the keys queried in the big map and their value in a well-formatted JSON object format\r\n *\r\n */\r\n getMultipleValues(keysToEncode: Array, block?: number, batchSize?: number): Promise>;\r\n toJSON(): string;\r\n toString(): string;\r\n}\r\n"},{name:"@taquito/contract/compose.d.ts",dts:"import { Wallet } from '../wallet/wallet';\r\nimport { Context } from '../context';\r\nimport { ContractAbstraction } from './contract';\r\nimport { ContractProvider } from './interface';\r\nexport declare function compose, ContractAbsComposer2 extends ContractAbstraction, ContractAbstractionComposed>(functioncomposer1: (abs: ContractAbsComposer1, context: Context) => ContractAbsComposer2, functioncomposer2: (abs: ContractAbsComposer2, context: Context) => ContractAbstractionComposed): (abs: ContractAbsComposer1, context: Context) => ContractAbstractionComposed;\r\n"},{name:"@taquito/contract/contract.d.ts",dts:"import { ParameterSchema, Schema, ViewSchema, EventSchema } from '@taquito/michelson-encoder';\r\nimport { EntrypointsResponse, RpcClientInterface, ScriptResponse } from '@taquito/rpc';\r\nimport { ChainIds } from '../constants';\r\nimport { TzReadProvider } from '../read-provider/interface';\r\nimport { Wallet } from '../wallet';\r\nimport { ContractMethod } from './contract-methods/contract-method-flat-param';\r\nimport { ContractMethodObject } from './contract-methods/contract-method-object-param';\r\nimport { OnChainView } from './contract-methods/contract-on-chain-view';\r\nimport { ContractProvider, StorageProvider } from './interface';\r\nexport declare const DEFAULT_SMART_CONTRACT_METHOD_NAME = \"default\";\r\n/**\r\n * @description Utility class to retrieve data from a smart contract's storage without incurring fees via a contract's view method\r\n */\r\nexport declare class ContractView {\r\n private currentContract;\r\n private name;\r\n private callbackParametersSchema;\r\n private parameterSchema;\r\n private args;\r\n private rpc;\r\n private readProvider;\r\n constructor(currentContract: ContractAbstraction, name: string, callbackParametersSchema: ParameterSchema, parameterSchema: ParameterSchema, args: any[], rpc: RpcClientInterface, readProvider: TzReadProvider);\r\n read(chainId?: ChainIds): Promise;\r\n}\r\nexport declare type Contract = ContractAbstraction;\r\nexport declare type WalletContract = ContractAbstraction;\r\ndeclare type DefaultMethods = Record ContractMethod>;\r\ndeclare type DefaultMethodsObject = Record ContractMethodObject>;\r\ndeclare type DefaultViews = Record ContractView>;\r\ndeclare type DefaultContractViews = Record OnChainView>;\r\ndeclare type DefaultStorage = unknown;\r\ndeclare type PromiseReturnType any> = T extends (...args: any) => Promise ? R : any;\r\nexport declare type ContractStorageType> = PromiseReturnType;\r\nexport declare type DefaultContractType = ContractAbstraction;\r\nexport declare type DefaultWalletType = ContractAbstraction;\r\n/**\r\n * @description Smart contract abstraction\r\n */\r\nexport declare class ContractAbstraction = DefaultMethods, TMethodsObject extends DefaultMethodsObject = DefaultMethodsObject, TViews extends DefaultViews = DefaultViews, TContractViews extends DefaultContractViews = DefaultContractViews, TStorage extends DefaultStorage = DefaultStorage> {\r\n readonly address: string;\r\n readonly script: ScriptResponse;\r\n private storageProvider;\r\n readonly entrypoints: EntrypointsResponse;\r\n private rpc;\r\n private readProvider;\r\n private contractMethodFactory;\r\n /**\r\n * @description Contains methods that are implemented by the target Tezos Smart Contract, and offers the user to call the Smart Contract methods as if they were native TS/JS methods.\r\n * NB: if the contract contains annotation it will include named properties; if not it will be indexed by a number.\r\n *\r\n */\r\n methods: TMethods;\r\n /**\r\n * @description Contains methods that are implemented by the target Tezos Smart Contract, and offers the user to call the Smart Contract methods as if they were native TS/JS methods.\r\n * `methodsObject` serves the exact same purpose as the `methods` member. The difference is that it allows passing the parameter in an object format when calling the smart contract method (instead of the flattened representation)\r\n * NB: if the contract contains annotation it will include named properties; if not it will be indexed by a number.\r\n *\r\n */\r\n methodsObject: TMethodsObject;\r\n /**\r\n * @description Contains lamda views (tzip4) that are implemented by the target Tezos Smart Contract, and offers the user to call the lambda views as if they were native TS/JS methods.\r\n * NB: These are the view defined in the tzip4 standard, not the views introduced by the Hangzhou protocol.\r\n */\r\n views: TViews;\r\n /**\r\n * @description Contains on-chain views that are defined by the target Tezos Smart Contract, and offers the user to simulate the views execution as if they were native TS/JS methods.\r\n * NB: the expected format for the parameter when calling a smart contract view is the object format (same format as for the storage) and not the flattened representation.\r\n *\r\n */\r\n contractViews: TContractViews;\r\n readonly schema: Schema;\r\n readonly parameterSchema: ParameterSchema;\r\n readonly viewSchema: ViewSchema[];\r\n readonly eventSchema: EventSchema[];\r\n constructor(address: string, script: ScriptResponse, provider: T, storageProvider: StorageProvider, entrypoints: EntrypointsResponse, rpc: RpcClientInterface, readProvider: TzReadProvider);\r\n private _initializeMethods;\r\n private _initializeOnChainViews;\r\n /**\r\n * @description Return a friendly representation of the smart contract storage\r\n */\r\n storage(): Promise;\r\n /**\r\n *\r\n * @description Return a friendly representation of the smart contract big map value\r\n *\r\n * @param key BigMap key to fetch\r\n *\r\n * @deprecated getBigMapKey has been deprecated in favor of getBigMapKeyByID\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#post-block-id-context-contracts-contract-id-big-map-get\r\n */\r\n bigMap(key: string): Promise;\r\n}\r\nexport {};\r\n"},{name:"@taquito/contract/errors.d.ts",dts:"import { ParameterValidationError, RpcError } from '@taquito/core';\r\nimport { HttpResponseError } from '@taquito/http-utils';\r\nimport { MichelsonV1Expression } from '@taquito/rpc';\r\n/**\r\n * @category Error\r\n * @description Error that indicates invalid smart contract parameters being passed or used\r\n */\r\nexport declare class InvalidParameterError extends ParameterValidationError {\r\n readonly smartContractMethodName: string;\r\n readonly sigs: any[];\r\n readonly invalidParams: any[];\r\n constructor(smartContractMethodName: string, sigs: any[], invalidParams: any[]);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates an invalid delegation source contract address being passed or used\r\n */\r\nexport declare class InvalidDelegationSource extends ParameterValidationError {\r\n readonly source: string;\r\n constructor(source: string);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates an invalid smart contract code parameter being passed or used\r\n */\r\nexport declare class InvalidCodeParameter extends ParameterValidationError {\r\n readonly message: string;\r\n readonly data: any;\r\n constructor(message: string, data: any);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates invalid smart contract init parameter being passed or used\r\n */\r\nexport declare class InvalidInitParameter extends ParameterValidationError {\r\n readonly message: string;\r\n readonly data: any;\r\n constructor(message: string, data: any);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates a failure when conducting a view simulation\r\n */\r\nexport declare class ViewSimulationError extends RpcError {\r\n readonly message: string;\r\n readonly viewName: string;\r\n readonly failWith?: MichelsonV1Expression | undefined;\r\n readonly cause?: any;\r\n constructor(message: string, viewName: string, failWith?: MichelsonV1Expression | undefined, cause?: any);\r\n}\r\nexport declare const validateAndExtractFailwith: (error: HttpResponseError) => MichelsonV1Expression | undefined;\r\n/**\r\n * @category Error\r\n * @description Error that indicates invalid or unconfigured context when executing a view\r\n */\r\nexport declare class InvalidViewSimulationContext extends ParameterValidationError {\r\n readonly info: string;\r\n constructor(info: string);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates a mistake happening during the reveal operation\r\n */\r\nexport declare class RevealOperationError extends RpcError {\r\n readonly message: string;\r\n constructor(message: string);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates a mistake in the parameters in the preparation of an Origination operation\r\n */\r\nexport declare class OriginationParameterError extends ParameterValidationError {\r\n readonly message: string;\r\n constructor(message: string);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates an invalid balance being passed or used\r\n */\r\nexport declare class InvalidBalanceError extends ParameterValidationError {\r\n readonly message: string;\r\n constructor(message: string);\r\n}\r\n"},{name:"@taquito/contract/index.d.ts",dts:"export * from './contract';\r\nexport * from './errors';\r\nexport * from './interface';\r\nexport * from './manager-lambda';\r\nexport * from './prepare';\r\nexport * from './view_lambda';\r\nexport { compose } from './compose';\r\nexport * from './contract-methods/contract-method-interface';\r\nexport * from './contract-methods/contract-method-flat-param';\r\nexport * from './contract-methods/contract-method-object-param';\r\nexport * from './sapling-state-abstraction';\r\n"},{name:"@taquito/contract/interface.d.ts",dts:"import { BigMapKeyType, MichelsonMap, MichelsonMapKey, Schema } from '@taquito/michelson-encoder';\r\nimport { SaplingDiffResponse } from '@taquito/rpc';\r\nimport { OperationBatch } from '../batch/rpc-batch-provider';\r\nimport { Context } from '../context';\r\nimport { DelegateOperation } from '../operations/delegate-operation';\r\nimport { OriginationOperation } from '../operations/origination-operation';\r\nimport { RegisterGlobalConstantOperation } from '../operations/register-global-constant-operation';\r\nimport { RevealOperation } from '../operations/reveal-operation';\r\nimport { TransactionOperation } from '../operations/transaction-operation';\r\nimport { DelegateParams, OriginateParams, TransferParams, RegisterDelegateParams, ParamsWithKind, RevealParams, RegisterGlobalConstantParams, IncreasePaidStorageParams, TransferTicketParams, DrainDelegateParams, BallotParams, ProposalsParams, UpdateConsensusKeyParams, SmartRollupAddMessagesParams, SmartRollupOriginateParams, FailingNoopParams } from '../operations/types';\r\nimport { ContractAbstraction, ContractStorageType, DefaultContractType } from './contract';\r\nimport { IncreasePaidStorageOperation } from '../operations/increase-paid-storage-operation';\r\nimport { TransferTicketOperation } from '../operations/transfer-ticket-operation';\r\nimport { DrainDelegateOperation } from '../operations';\r\nimport { BallotOperation } from '../operations';\r\nimport { ProposalsOperation } from '../operations/proposals-operation';\r\nimport { UpdateConsensusKeyOperation } from '../operations/update-consensus-key-operation';\r\nimport { SmartRollupAddMessagesOperation } from '../operations/smart-rollup-add-messages-operation';\r\nimport { SmartRollupOriginateOperation } from '../operations/smart-rollup-originate-operation';\r\nimport { FailingNoopOperation } from '../operations/failing-noop-operation';\r\nexport declare type ContractSchema = Schema | unknown;\r\nexport interface StorageProvider {\r\n /**\r\n *\r\n * @description Return a well formatted json object of the contract storage\r\n *\r\n * @param contract contract address you want to get the storage from\r\n * @param schema optional schema can either be the contract script rpc response or a michelson-encoder schema\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-context-contracts-contract-id-script\r\n */\r\n getStorage(contract: string, schema?: ContractSchema): Promise;\r\n /**\r\n *\r\n * @description Return a well formatted json object of the contract big map storage\r\n *\r\n * @param contract contract address you want to get the storage from\r\n * @param key contract big map key to fetch value from\r\n * @param schema optional schema can either be the contract script rpc response or a michelson-encoder schema\r\n *\r\n * @deprecated Deprecated in favor of getBigMapKeyByID\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#post-block-id-context-contracts-contract-id-big-map-get\r\n */\r\n getBigMapKey(contract: string, key: string, schema?: ContractSchema): Promise;\r\n /**\r\n *\r\n * @description Return a well formatted json object of a big map value\r\n *\r\n * @param id Big Map ID\r\n * @param keyToEncode key to query (will be encoded properly according to the schema)\r\n * @param schema Big Map schema (can be determined using your contract type)\r\n * @param block optional block level to fetch the value from\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-context-big-maps-big-map-id-script-expr\r\n */\r\n getBigMapKeyByID(id: string, keyToEncode: BigMapKeyType, schema: Schema, block?: number): Promise;\r\n /**\r\n *\r\n * @description Fetch multiple values in a big map\r\n *\r\n * @param id Big Map ID\r\n * @param keysToEncode Array of keys to query (will be encoded properly according to the schema)\r\n * @param schema Big Map schema (can be determined using your contract type)\r\n * @param block optional block level to fetch the values from\r\n * @param batchSize optional batch size representing the number of requests to execute in parallel\r\n * @returns An object containing the keys queried in the big map and their value in a well-formatted JSON object format\r\n *\r\n */\r\n getBigMapKeysByID(id: string, keysToEncode: Array, schema: Schema, block?: number, batchSize?: number): Promise>;\r\n /**\r\n *\r\n * @description Return a well formatted json object of a sapling state\r\n *\r\n * @param id Sapling state ID\r\n * @param block optional block level to fetch the value from\r\n *\r\n */\r\n getSaplingDiffByID(id: string, block?: number): Promise;\r\n}\r\nexport interface ContractProvider extends StorageProvider {\r\n /**\r\n *\r\n * @description Originate a new contract according to the script in parameters. Will sign and inject an operation using the current context\r\n *\r\n * @returns An operation handle with the result from the rpc node\r\n *\r\n * @param OriginationOperation Originate operation parameter\r\n */\r\n originate(contract: OriginateParams>): Promise>;\r\n /**\r\n *\r\n * @description Set the delegate for a contract. Will sign and inject an operation using the current context\r\n *\r\n * @returns An operation handle with the result from the rpc node\r\n *\r\n * @param SetDelegate operation parameter\r\n */\r\n setDelegate(params: DelegateParams): Promise;\r\n /**\r\n *\r\n * @description Register the current address as delegate. Will sign and inject an operation using the current context\r\n *\r\n * @returns An operation handle with the result from the rpc node\r\n *\r\n * @param RegisterDelegate operation parameter\r\n */\r\n registerDelegate(params: RegisterDelegateParams): Promise;\r\n /**\r\n *\r\n * @description Transfer tz from current address to a specific address. Will sign and inject an operation using the current context\r\n *\r\n * @returns An operation handle with the result from the rpc node\r\n *\r\n * @param Transfer operation parameter\r\n */\r\n transfer(params: TransferParams): Promise;\r\n /**\r\n *\r\n * @description Transfer tickets from an implicit account to a contract or another implicit account.\r\n *\r\n * @returns An operation handle with the result from the rpc node\r\n *\r\n * @param TransferTicket operation parameter\r\n */\r\n transferTicket(params: TransferTicketParams): Promise;\r\n /**\r\n *\r\n * @description Reveal the current address. Will throw an error if the address is already revealed.\r\n *\r\n * @returns An operation handle with the result from the rpc node\r\n *\r\n * @param Reveal operation parameter\r\n */\r\n reveal(params: RevealParams): Promise;\r\n at>(address: string, contractAbstractionComposer?: (abs: ContractAbstraction, context: Context) => T): Promise;\r\n /**\r\n *\r\n * @description Batch a group of operation together. Operations will be applied in the order in which they are added to the batch\r\n *\r\n * @param params List of operation to batch together\r\n */\r\n batch(params?: ParamsWithKind[]): OperationBatch;\r\n /**\r\n *\r\n * @description Register a Micheline expression in a global table of constants. Will sign and inject an operation using the current context\r\n *\r\n * @returns An operation handle with the result from the rpc node\r\n *\r\n * @param params registerGlobalConstant operation parameter\r\n */\r\n registerGlobalConstant(params: RegisterGlobalConstantParams): Promise;\r\n /**\r\n *\r\n * @description Increase the amount of bytes in a smart contract storage by paying a fee\r\n *\r\n * @returns An operation handle with the result from the rpc node\r\n *\r\n * @param params IncreasePaidStorage operation parameter\r\n */\r\n increasePaidStorage(params: IncreasePaidStorageParams): Promise;\r\n /**\r\n *\r\n * @description Submit a drain delegate operation\r\n *\r\n * @returns An operation handle with the result from the RPC node\r\n *\r\n * @param DrainDelegateParams DrainDelegate operation parameter\r\n */\r\n drainDelegate(params: DrainDelegateParams): Promise;\r\n /**\r\n *\r\n * @description Submit ballot for an ongoing proposal\r\n *\r\n * @returns An operation handle with the result from the RPC node\r\n *\r\n * @param BallotParams Ballot operation parameter\r\n */\r\n ballot(params: BallotParams): Promise;\r\n /**\r\n *\r\n * @description Submit proposal\r\n *\r\n * @returns An operation handle with the result from the RPC node\r\n *\r\n * @param ProposalsParams Proposals operation parameter\r\n */\r\n proposals(params: ProposalsParams): Promise;\r\n /**\r\n *\r\n * @description Update consensus key\r\n *\r\n * @returns An operation handle with the result from the RPC node\r\n *\r\n * @param UpdateConsensusKeyParams UpdateConsensusKey operation parameter\r\n */\r\n updateConsensusKey(params: UpdateConsensusKeyParams): Promise;\r\n /**\r\n *\r\n * @description Smart Rollup Add Messages\r\n *\r\n * @returns An operation handle with the result from the RPC node\r\n *\r\n * @param SmartRollupAddMessagesParams smartRollupAddMessages operation parameter\r\n */\r\n smartRollupAddMessages(params: SmartRollupAddMessagesParams): Promise;\r\n /**\r\n * @description Smart rollup originate\r\n *\r\n * @returns An operation handle with the result from the RPC node\r\n *\r\n * @param SmartRollupOriginateParams smartRollupOriginate operation parameter\r\n */\r\n smartRollupOriginate(params: SmartRollupOriginateParams): Promise;\r\n /**\r\n *\r\n * @description Send arbitrary data inside a failing_noop operation that's guaranteed to fail.\r\n *\r\n * @returns An operation handle with the result from the rpc node\r\n *\r\n * @param params FailingNoop operation parameter\r\n */\r\n failingNoop(params: FailingNoopParams): Promise;\r\n}\r\n"},{name:"@taquito/contract/lambda-view.d.ts",dts:"import { MichelsonV1Expression } from '@taquito/rpc';\r\nimport { Contract, ContractAbstraction, WalletContract } from './contract';\r\nimport { ContractProvider } from './interface';\r\nimport { Wallet } from '../wallet';\r\n/**\r\n *\r\n * @deprecated LambdaView has been deprecated in favor of rpc.runView to simulate calls to views following the TZIP-4 standard\r\n */\r\nexport default class LambdaView {\r\n private lambdaContract;\r\n private viewContract;\r\n readonly viewMethod: string;\r\n private contractParameter;\r\n readonly voidLambda: object;\r\n constructor(lambdaContract: Contract | WalletContract, viewContract: ContractAbstraction, viewMethod?: string, contractParameter?: MichelsonV1Expression);\r\n execute(): Promise;\r\n private createVoidLambda;\r\n private getView;\r\n}\r\n"},{name:"@taquito/contract/manager-lambda.d.ts",dts:"export declare const MANAGER_LAMBDA: {\r\n setDelegate: (key: string) => ({\r\n prim: string;\r\n args?: undefined;\r\n } | {\r\n prim: string;\r\n args: ({\r\n prim: string;\r\n string?: undefined;\r\n } | {\r\n string: string;\r\n prim?: undefined;\r\n })[];\r\n })[];\r\n removeDelegate: () => ({\r\n prim: string;\r\n args?: undefined;\r\n } | {\r\n prim: string;\r\n args: {\r\n prim: string;\r\n }[];\r\n })[];\r\n transferImplicit: (key: string, mutez: number) => ({\r\n prim: string;\r\n args?: undefined;\r\n } | {\r\n prim: string;\r\n args: ({\r\n prim: string;\r\n string?: undefined;\r\n } | {\r\n string: string;\r\n prim?: undefined;\r\n })[];\r\n } | {\r\n prim: string;\r\n args: ({\r\n prim: string;\r\n int?: undefined;\r\n } | {\r\n int: string;\r\n prim?: undefined;\r\n })[];\r\n })[];\r\n transferToContract: (key: string, amount: number) => ({\r\n prim: string;\r\n args?: undefined;\r\n } | {\r\n prim: string;\r\n args: ({\r\n prim: string;\r\n string?: undefined;\r\n } | {\r\n string: string;\r\n prim?: undefined;\r\n })[];\r\n } | {\r\n prim: string;\r\n args: {\r\n prim: string;\r\n }[][];\r\n } | {\r\n prim: string;\r\n args: ({\r\n prim: string;\r\n int?: undefined;\r\n } | {\r\n int: string;\r\n prim?: undefined;\r\n })[];\r\n })[];\r\n};\r\n"},{name:"@taquito/contract/prepare.d.ts",dts:"import { OriginateParams, RPCOriginationOperation, TransferParams, RPCTransferOperation, DelegateParams, RPCDelegateOperation, RegisterDelegateParams, RPCRevealOperation, RevealParams, RegisterGlobalConstantParams, RPCRegisterGlobalConstantOperation, TransferTicketParams, RPCTransferTicketOperation, IncreasePaidStorageParams, RPCIncreasePaidStorageOperation, DrainDelegateParams, RPCDrainDelegateOperation, BallotParams, RPCBallotOperation, ProposalsParams, RPCProposalsOperation, UpdateConsensusKeyParams, RPCUpdateConsensusKeyOperation, SmartRollupAddMessagesParams, RPCSmartRollupAddMessagesOperation, RPCSmartRollupOriginateOperation, SmartRollupOriginateParamsWithProof, ActivationParams, RPCActivateOperation } from '../operations/types';\r\nexport declare const createActivationOperation: ({ pkh, secret }: ActivationParams) => Promise;\r\nexport declare const createOriginationOperation: ({ code, init, balance, delegate, storage, fee, gasLimit, storageLimit, mutez, }: OriginateParams) => Promise;\r\nexport declare const createTransferOperation: ({ to, amount, parameter, fee, gasLimit, storageLimit, mutez, }: TransferParams) => Promise;\r\nexport declare const createSetDelegateOperation: ({ delegate, source, fee, gasLimit, storageLimit, }: DelegateParams) => Promise;\r\nexport declare const createRegisterDelegateOperation: ({ fee, gasLimit, storageLimit, }: RegisterDelegateParams, source: string) => Promise;\r\nexport declare const createRevealOperation: ({ fee, gasLimit, storageLimit, }: RevealParams, source: string, publicKey: string) => Promise;\r\nexport declare const createRegisterGlobalConstantOperation: ({ value, source, fee, gasLimit, storageLimit, }: RegisterGlobalConstantParams) => Promise;\r\nexport declare const createTransferTicketOperation: ({ ticketContents, ticketTy, ticketTicketer, ticketAmount, destination, entrypoint, source, fee, gasLimit, storageLimit, }: TransferTicketParams) => Promise;\r\nexport declare const createIncreasePaidStorageOperation: ({ source, fee, gasLimit, storageLimit, amount, destination, }: IncreasePaidStorageParams) => Promise;\r\nexport declare const createDrainDelegateOperation: ({ consensus_key, delegate, destination, }: DrainDelegateParams) => Promise;\r\nexport declare const createBallotOperation: ({ source, proposal, ballot }: BallotParams) => Promise;\r\nexport declare const createProposalsOperation: ({ source, proposals }: ProposalsParams) => Promise;\r\nexport declare const createUpdateConsensusKeyOperation: ({ source, fee, gasLimit, storageLimit, pk, }: UpdateConsensusKeyParams) => Promise;\r\nexport declare const createSmartRollupAddMessagesOperation: ({ source, fee, gasLimit, storageLimit, message, }: SmartRollupAddMessagesParams) => Promise;\r\nexport declare const createSmartRollupOriginateOperation: ({ source, fee, gasLimit, storageLimit, pvmKind, kernel, originationProof, parametersType, }: SmartRollupOriginateParamsWithProof) => Promise;\r\n"},{name:"@taquito/contract/rpc-contract-provider.d.ts",dts:"import { BigMapKeyType, MichelsonMap, MichelsonMapKey, Schema } from '@taquito/michelson-encoder';\r\nimport { OperationBatch } from '../batch/rpc-batch-provider';\r\nimport { Context } from '../context';\r\nimport { DelegateOperation } from '../operations/delegate-operation';\r\nimport { OriginationOperation } from '../operations/origination-operation';\r\nimport { RegisterGlobalConstantOperation } from '../operations/register-global-constant-operation';\r\nimport { RevealOperation } from '../operations/reveal-operation';\r\nimport { TransactionOperation } from '../operations/transaction-operation';\r\nimport { DelegateParams, OriginateParams, ParamsWithKind, RegisterDelegateParams, RegisterGlobalConstantParams, RevealParams, TransferParams, TransferTicketParams, IncreasePaidStorageParams, DrainDelegateParams, BallotParams, ProposalsParams, UpdateConsensusKeyParams, SmartRollupAddMessagesParams, SmartRollupOriginateParams, FailingNoopParams } from '../operations/types';\r\nimport { DefaultContractType, ContractStorageType, ContractAbstraction } from './contract';\r\nimport { ContractProvider, ContractSchema, StorageProvider } from './interface';\r\nimport { EstimationProvider } from '../estimate/estimate-provider-interface';\r\nimport { TransferTicketOperation } from '../operations/transfer-ticket-operation';\r\nimport { IncreasePaidStorageOperation } from '../operations/increase-paid-storage-operation';\r\nimport { BallotOperation } from '../operations/ballot-operation';\r\nimport { DrainDelegateOperation } from '../operations/drain-delegate-operation';\r\nimport { ProposalsOperation } from '../operations/proposals-operation';\r\nimport { UpdateConsensusKeyOperation } from '../operations/update-consensus-key-operation';\r\nimport { SmartRollupAddMessagesOperation } from '../operations/smart-rollup-add-messages-operation';\r\nimport { SmartRollupOriginateOperation } from '../operations/smart-rollup-originate-operation';\r\nimport { Provider } from '../provider';\r\nimport { FailingNoopOperation } from '../operations/failing-noop-operation';\r\nexport declare class RpcContractProvider extends Provider implements ContractProvider, StorageProvider {\r\n private estimator;\r\n constructor(context: Context, estimator: EstimationProvider);\r\n contractProviderTypeSymbol: symbol;\r\n private prepare;\r\n /**\r\n *\r\n * @description Return a well formatted json object of the contract storage\r\n *\r\n * @param contract contract address you want to get the storage from\r\n * @param schema optional schema can either be the contract script rpc response or a michelson-encoder schema\r\n * @throws {@link InvalidContractAddressError}\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-context-contracts-contract-id-script\r\n */\r\n getStorage(contract: string, schema?: ContractSchema): Promise;\r\n /**\r\n *\r\n * @description Return a well formatted json object of the contract big map storage\r\n *\r\n * @param contract contract address you want to get the storage from\r\n * @param key contract big map key to fetch value from\r\n * @param schema optional schema can either be the contract script rpc response or a michelson-encoder schema\r\n * @throws {@link InvalidContractAddressError}\r\n * @deprecated Deprecated in favor of getBigMapKeyByID\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#post-block-id-context-contracts-contract-id-big-map-get\r\n */\r\n getBigMapKey(contract: string, key: string, schema?: ContractSchema): Promise;\r\n /**\r\n *\r\n * @description Return a well formatted json object of a big map value\r\n *\r\n * @param id Big Map ID\r\n * @param keyToEncode key to query (will be encoded properly according to the schema)\r\n * @param schema Big Map schema (can be determined using your contract type)\r\n * @param block optional block level to fetch the values from\r\n *\r\n * @see https://tezos.gitlab.io/api/rpc.html#get-block-id-context-big-maps-big-map-id-script-expr\r\n */\r\n getBigMapKeyByID(id: string, keyToEncode: BigMapKeyType, schema: Schema, block?: number): Promise;\r\n /**\r\n *\r\n * @description Fetch multiple values in a big map\r\n * All values will be fetched on the same block level. If a block is specified in the request, the values will be fetched at it.\r\n * Otherwise, a first request will be done to the node to fetch the level of the head and all values will be fetched at this level.\r\n * If one of the keys does not exist in the big map, its value will be set to undefined.\r\n *\r\n * @param id Big Map ID\r\n * @param keys Array of keys to query (will be encoded properly according to the schema)\r\n * @param schema Big Map schema (can be determined using your contract type)\r\n * @param block optional block level to fetch the values from\r\n * @param batchSize optional batch size representing the number of requests to execute in parallel\r\n * @returns A MichelsonMap containing the keys queried in the big map and their value in a well-formatted JSON object format\r\n *\r\n */\r\n getBigMapKeysByID(id: string, keys: Array, schema: Schema, block?: number, batchSize?: number): Promise>;\r\n private getBlockForRequest;\r\n private getBigMapValueOrUndefined;\r\n /**\r\n *\r\n * @description Return a well formatted json object of a sapling state\r\n *\r\n * @param id Sapling state ID\r\n * @param block optional block level to fetch the value from\r\n *\r\n */\r\n getSaplingDiffByID(id: string, block?: number): Promise;\r\n /**\r\n *\r\n * @description Originate a new contract according to the script in parameters. Will sign and inject an operation using the current context\r\n *\r\n * @returns An operation handle with the result from the rpc node\r\n *\r\n * @warn You cannot specify storage and init at the same time (use init to pass the raw michelson representation of storage)\r\n *\r\n * @param OriginationOperation Originate operation parameter\r\n */\r\n originate(params: OriginateParams>): Promise>;\r\n /**\r\n *\r\n * @description Set the delegate for a contract. Will sign and inject an operation using the current context\r\n *\r\n * @returns An operation handle with the result from the rpc node\r\n *\r\n * @param SetDelegate operation parameter\r\n */\r\n setDelegate(params: DelegateParams): Promise;\r\n /**\r\n *\r\n * @description Register the current address as delegate. Will sign and inject an operation using the current context\r\n *\r\n * @returns An operation handle with the result from the rpc node\r\n *\r\n * @param RegisterDelegate operation parameter\r\n */\r\n registerDelegate(params: RegisterDelegateParams): Promise;\r\n /**\r\n *\r\n * @description Transfer tz from current address to a specific address. Will sign and inject an operation using the current context\r\n *\r\n * @returns An operation handle with the result from the rpc node\r\n *\r\n * @param Transfer operation parameter\r\n */\r\n transfer(params: TransferParams): Promise;\r\n /**\r\n *\r\n * @description Transfer Tickets to a smart contract address\r\n *\r\n * @returns An operation handle with the result from the rpc node\r\n *\r\n * @param TransferTicketParams operation parameter\r\n */\r\n transferTicket(params: TransferTicketParams): Promise;\r\n /**\r\n *\r\n * @description Reveal the current address. Will throw an error if the address is already revealed.\r\n *\r\n * @returns An operation handle with the result from the rpc node\r\n *\r\n * @param RevealParams operation parameter\r\n */\r\n reveal(params: RevealParams): Promise;\r\n /**\r\n *\r\n * @description Register a Micheline expression in a global table of constants. Will sign and inject an operation using the current context\r\n *\r\n * @returns An operation handle with the result from the rpc node\r\n *\r\n * @param params registerGlobalConstant operation parameter\r\n */\r\n registerGlobalConstant(params: RegisterGlobalConstantParams): Promise;\r\n /**\r\n *\r\n * @description Increase the paid storage of a smart contract\r\n *\r\n * @returns An operation handle with the result from the rpc node\r\n *\r\n * @param params increasePaidStorage operation parameter\r\n */\r\n increasePaidStorage(params: IncreasePaidStorageParams): Promise;\r\n /**\r\n *\r\n * @description Transfers the spendable balance of the delegate to destination when consensus_key is the active consensus key of delegate\r\n *\r\n * @returns An operation handle with the result from the rpc node\r\n *\r\n * @param params drainDelegate operation parameter\r\n */\r\n drainDelegate(params: DrainDelegateParams): Promise;\r\n /**\r\n *\r\n * @description Submit a ballot vote to a specified proposal\r\n *\r\n * @returns An operation handle with the result from the rpc node\r\n *\r\n * @param BallotParams Ballot operation parameter\r\n */\r\n ballot(params: BallotParams): Promise;\r\n /**\r\n *\r\n * @description Submit or upvote a proposal during the Proposal period\r\n *\r\n * @returns An operation handle with the result from the rpc node\r\n *\r\n * @param ProposalsParams Proposals operation parameter\r\n */\r\n proposals(params: ProposalsParams): Promise;\r\n /**\r\n *\r\n * @description Updates the consensus key of the baker to public_key starting from the current cycle plus PRESERVED_CYCLES + 1\r\n *\r\n * @returns An operation handle with the result from the rpc node\r\n *\r\n * @param UpdateConsensusKeyParams\r\n */\r\n updateConsensusKey(params: UpdateConsensusKeyParams): Promise;\r\n /**\r\n * @description Adds messages to the rollup inbox that can be executed/claimed after it gets cemented\r\n * @param SmartRollupAddMessagesParams\r\n * @returns An operation handle with results from the RPC node\r\n */\r\n smartRollupAddMessages(params: SmartRollupAddMessagesParams): Promise;\r\n /**\r\n * @description Creates a smart rollup originate operation\r\n * @param SmartRollupOriginateParams\r\n * @returns An operation handle with results from the RPC node\r\n */\r\n smartRollupOriginate(params: SmartRollupOriginateParams): Promise;\r\n /**\r\n *\r\n * @description A failing_noop operation that is guaranteed to fail.\r\n *\r\n * @returns A FailingNoopOperation object representing the signed failing_noop operation\r\n *\r\n * @param params failingNoop operation parameter\r\n */\r\n failingNoop(params: FailingNoopParams): Promise;\r\n /**\r\n *\r\n * @description Create an smart contract abstraction for the address specified.\r\n *\r\n * @param address Smart contract address\r\n * @throws {@link InvalidContractAddressError}\r\n */\r\n at(address: string, contractAbstractionComposer?: ContractAbstractionComposer): Promise;\r\n /**\r\n *\r\n * @description Batch a group of operation together. Operations will be applied in the order in which they are added to the batch\r\n *\r\n * @returns A batch object from which we can add more operation or send a command to execute the batch\r\n *\r\n * @param params List of operation to batch together\r\n */\r\n batch(params?: ParamsWithKind[]): OperationBatch;\r\n}\r\ndeclare type ContractAbstractionComposer = (abs: ContractAbstraction, context: Context) => T;\r\nexport {};\r\n"},{name:"@taquito/contract/sapling-state-abstraction.d.ts",dts:"import BigNumber from 'bignumber.js';\r\nimport { ContractProvider } from './interface';\r\nexport declare class SaplingStateAbstraction {\r\n private id;\r\n private provider;\r\n constructor(id: BigNumber, provider: ContractProvider);\r\n /**\r\n *\r\n * @description Fetch the sapling state\r\n *\r\n * @param block optional block level to fetch the values from (head will be use by default)\r\n * @returns Return a json object of the sapling_state\r\n *\r\n */\r\n getSaplingDiff(block?: number): Promise;\r\n getId(): string;\r\n}\r\n"},{name:"@taquito/contract/semantic.d.ts",dts:"import { Semantic } from '@taquito/michelson-encoder';\r\nimport { ContractProvider } from './interface';\r\nexport declare const smartContractAbstractionSemantic: (p: ContractProvider) => Semantic;\r\n"},{name:"@taquito/contract/view_lambda.d.ts",dts:"export declare const VIEW_LAMBDA: {\r\n code: ({\r\n prim: string;\r\n args: {\r\n prim: string;\r\n args: ({\r\n prim: string;\r\n args?: undefined;\r\n } | {\r\n prim: string;\r\n args: ({\r\n prim: string;\r\n args: {\r\n prim: string;\r\n }[];\r\n } | {\r\n prim: string;\r\n args?: undefined;\r\n })[];\r\n })[];\r\n }[];\r\n } | {\r\n prim: string;\r\n args: {\r\n prim: string;\r\n }[];\r\n } | {\r\n prim: string;\r\n args: {\r\n prim: string;\r\n }[][];\r\n })[];\r\n storage: string;\r\n};\r\n"},{name:"@taquito/estimate/errors.d.ts",dts:"import { TaquitoError } from '@taquito/core';\r\n/**\r\n * @category Error\r\n * @description Error that indicates unable to get public key to estimate reveal operation in Wallet API\r\n */\r\nexport declare class RevealEstimateError extends TaquitoError {\r\n constructor();\r\n}\r\n"},{name:"@taquito/estimate/estimate-provider-interface.d.ts",dts:"import { OriginateParams, TransferParams, DelegateParams, RegisterDelegateParams, ParamsWithKind } from '../operations';\r\nimport { RevealParams, RegisterGlobalConstantParams, TransferTicketParams, IncreasePaidStorageParams, UpdateConsensusKeyParams, SmartRollupAddMessagesParams, SmartRollupOriginateParams } from '../operations/types';\r\nimport { Estimate } from './estimate';\r\nimport { ContractMethod, ContractMethodObject, ContractProvider } from '../contract';\r\nexport interface EstimationProvider {\r\n /**\r\n *\r\n * @description Estimate gasLimit, storageLimit and fees for an origination operation\r\n *\r\n * @returns An estimation of gasLimit, storageLimit and fees for the operation\r\n *\r\n * @param Estimate\r\n */\r\n originate(params: OriginateParams): Promise;\r\n /**\r\n *\r\n * @description Estimate gasLimit, storageLimit and fees for an transfer operation\r\n *\r\n * @returns An estimation of gasLimit, storageLimit and fees for the operation\r\n *\r\n * @param Estimate\r\n */\r\n transfer({ fee, storageLimit, gasLimit, ...rest }: TransferParams): Promise;\r\n /**\r\n *\r\n * @description Estimate gasLimit, storageLimit and fees for an transferTicket operation\r\n *\r\n * @returns An estimation of gasLimit, storageLimit and fees for the operation\r\n *\r\n * @param Estimate\r\n */\r\n transferTicket({ fee, storageLimit, gasLimit, ...rest }: TransferTicketParams): Promise;\r\n /**\r\n *\r\n * @description Estimate gasLimit, storageLimit and fees for a delegate operation\r\n *\r\n * @returns An estimation of gasLimit, storageLimit and fees for the operation\r\n *\r\n * @param Estimate\r\n */\r\n setDelegate(params: DelegateParams): Promise;\r\n /**\r\n *\r\n * @description Estimate gasLimit, storageLimit and fees for a delegate operation\r\n *\r\n * @returns An estimation of gasLimit, storageLimit and fees for the operation\r\n *\r\n * @param Estimate\r\n */\r\n registerDelegate(params?: RegisterDelegateParams): Promise;\r\n /**\r\n *\r\n * @description Estimate gasLimit, storageLimit and fees for a reveal operation\r\n *\r\n * @returns An estimation of gasLimit, storageLimit and fees for the operation or undefined if the account is already revealed\r\n *\r\n * @param Estimate\r\n */\r\n reveal(params?: RevealParams): Promise;\r\n batch(params: ParamsWithKind[]): Promise;\r\n /**\r\n *\r\n * @description Estimate gasLimit, storageLimit and fees for registering an expression (registerGlobalConstant operation)\r\n *\r\n * @returns An estimation of gasLimit, storageLimit and fees for the operation\r\n *\r\n * @param params registerGlobalConstant operation parameter\r\n */\r\n registerGlobalConstant(params: RegisterGlobalConstantParams): Promise;\r\n /**\r\n *\r\n * @description Estimate gasLimit, storageLimit and fees for an increase paid storage operation\r\n *\r\n * @returns An estimation of gasLimit, storageLimit, and fees for the operation\r\n *\r\n * @param Estimate\r\n */\r\n increasePaidStorage(params: IncreasePaidStorageParams): Promise;\r\n /**\r\n *\r\n * @description Estimate gasLimit, storageLimit and fees for an Update Consensus Key operation\r\n *\r\n * @returns An estimation of gasLimit, storageLimit and fees for the operation\r\n *\r\n * @param Estimate\r\n */\r\n updateConsensusKey(params: UpdateConsensusKeyParams): Promise;\r\n /**\r\n *\r\n * @description Estimate gasLimit, storageLimit and fees for an Smart Rollup Add Messages operation\r\n *\r\n * @returns An estimation of gasLimit, storageLimit and fees for the operation\r\n *\r\n * @param Estimate\r\n */\r\n smartRollupAddMessages(params: SmartRollupAddMessagesParams): Promise;\r\n /**\r\n *\r\n * @description Estimate gasLimit, storageLimit and fees for contract call\r\n *\r\n * @returns An estimation of gasLimit, storageLimit and fees for the contract call\r\n *\r\n * @param Estimate\r\n */\r\n contractCall(contractMethod: ContractMethod | ContractMethodObject): Promise;\r\n /**\r\n * @description Estimate gasLimit, storageLimit and fees for an Smart Rollup Originate operation\r\n *\r\n * @returns An estimation of gasLimit, storageLimit and fees for the operation\r\n *\r\n * @param SmartRollupOrigianteParams\r\n */\r\n smartRollupOriginate(params: SmartRollupOriginateParams): Promise;\r\n}\r\n"},{name:"@taquito/estimate/estimate.d.ts",dts:"export interface EstimateProperties {\r\n milligasLimit: number;\r\n storageLimit: number;\r\n opSize: number;\r\n minimalFeePerStorageByteMutez: number;\r\n baseFeeMutez?: number;\r\n}\r\n/**\r\n * Examples of use :\r\n *\r\n * Estimate a transfer operation :\r\n * ```\r\n * // Assuming that provider and signer are already configured...\r\n *\r\n * const amount = 2;\r\n * const address = 'tz1h3rQ8wBxFd8L9B3d7Jhaawu6Z568XU3xY';\r\n *\r\n * // Estimate gasLimit, storageLimit and fees for a transfer operation\r\n * const est = await Tezos.estimate.transfer({ to: address, amount: amount })\r\n * console.log(est.burnFeeMutez, est.gasLimit, est.minimalFeeMutez, est.storageLimit,\r\n * est.suggestedFeeMutez, est.totalCost, est.usingBaseFeeMutez)\r\n *\r\n * ```\r\n *\r\n * Estimate a contract origination :\r\n * ```\r\n * // generic.json is referring to a Michelson Smart Contract\r\n *\r\n * const genericMultisigJSON = require('./generic.json')\r\n * const est = await Tezos.estimate.originate({\r\n * code: genericMultisigJSON,\r\n * storage: {\r\n * stored_counter: 0,\r\n * threshold: 1,\r\n * keys: ['edpkuLxx9PQD8fZ45eUzrK3BhfDZJHhBuK4Zi49DcEGANwd2rpX82t']\r\n * }\r\n * })\r\n * console.log(est.burnFeeMutez, est.gasLimit, est.minimalFeeMutez, est.storageLimit,\r\n * est.suggestedFeeMutez, est.totalCost, est.usingBaseFeeMutez)\r\n *\r\n * ```\r\n */\r\nexport declare class Estimate {\r\n private readonly _milligasLimit;\r\n private readonly _storageLimit;\r\n readonly opSize: number | string;\r\n private readonly minimalFeePerStorageByteMutez;\r\n /**\r\n * @description Base fee in mutez (1 mutez = 1e10\u22126 tez)\r\n */\r\n private readonly baseFeeMutez;\r\n constructor(_milligasLimit: number | string, _storageLimit: number | string, opSize: number | string, minimalFeePerStorageByteMutez: number | string, \r\n /**\r\n * @description Base fee in mutez (1 mutez = 1e10\u22126 tez)\r\n */\r\n baseFeeMutez?: number | string);\r\n /**\r\n * @description The number of Mutez that will be burned for the storage of the [operation](https://tezos.gitlab.io/user/glossary.html#operations). (Storage + Allocation fees)\r\n */\r\n get burnFeeMutez(): number;\r\n /**\r\n * @description The limit on the amount of storage an [operation](https://tezos.gitlab.io/user/glossary.html#operations) can use.\r\n */\r\n get storageLimit(): number;\r\n /**\r\n * @description The limit on the amount of [gas](https://tezos.gitlab.io/user/glossary.html#gas) a given operation can consume.\r\n */\r\n get gasLimit(): number;\r\n private get operationFeeMutez();\r\n private roundUp;\r\n /**\r\n * @description Minimum fees for the [operation](https://tezos.gitlab.io/user/glossary.html#operations) according to [baker](https://tezos.gitlab.io/user/glossary.html#baker) defaults.\r\n */\r\n get minimalFeeMutez(): number;\r\n /**\r\n * @description The suggested fee for the operation which includes minimal fees and a small buffer.\r\n */\r\n get suggestedFeeMutez(): number;\r\n /**\r\n * @description Fees according to your specified base fee will ensure that at least minimum fees are used.\r\n */\r\n get usingBaseFeeMutez(): number;\r\n /**\r\n * @description The sum of `minimalFeeMutez` + `burnFeeMutez`.\r\n */\r\n get totalCost(): number;\r\n /**\r\n * @description Since Delphinet, consumed gas is provided in milligas for more precision.\r\n * This function returns an estimation of the gas that operation will consume in milligas.\r\n */\r\n get consumedMilligas(): number;\r\n static createEstimateInstanceFromProperties(estimateProperties: EstimateProperties[]): Estimate;\r\n static createArrayEstimateInstancesFromProperties(estimateProperties: EstimateProperties[]): Estimate[];\r\n}\r\n"},{name:"@taquito/estimate/index.d.ts",dts:"export * from './estimate';\r\nexport * from './estimate-provider-interface';\r\nexport * from './rpc-estimate-provider';\r\nexport * from './errors';\r\n"},{name:"@taquito/estimate/rpc-estimate-provider.d.ts",dts:"import { DelegateParams, OriginateParams, ParamsWithKind, RegisterDelegateParams, TransferParams, RevealParams, RegisterGlobalConstantParams, TransferTicketParams, IncreasePaidStorageParams, UpdateConsensusKeyParams, SmartRollupAddMessagesParams, SmartRollupOriginateParams } from '../operations/types';\r\nimport { Estimate } from './estimate';\r\nimport { EstimationProvider } from '../estimate/estimate-provider-interface';\r\nimport { ContractMethod, ContractMethodObject, ContractProvider } from '../contract';\r\nimport { Provider } from '../provider';\r\nexport declare class RPCEstimateProvider extends Provider implements EstimationProvider {\r\n private readonly ALLOCATION_STORAGE;\r\n private readonly ORIGINATION_STORAGE;\r\n private readonly OP_SIZE_REVEAL;\r\n private prepare;\r\n private getKeys;\r\n private getEstimationPropertiesFromOperationContent;\r\n private calculateEstimates;\r\n /**\r\n *\r\n * @description Estimate gasLimit, storageLimit and fees for an origination operation\r\n *\r\n * @returns An estimation of gasLimit, storageLimit and fees for the operation\r\n *\r\n * @param OriginationOperation Originate operation parameter\r\n */\r\n originate(params: OriginateParams): Promise;\r\n /**\r\n *\r\n * @description Estimate gasLimit, storageLimit and fees for an transfer operation\r\n *\r\n * @returns An estimation of gasLimit, storageLimit and fees for the operation\r\n *\r\n * @param TransferOperation Originate operation parameter\r\n */\r\n transfer({ fee, storageLimit, gasLimit, ...rest }: TransferParams): Promise;\r\n /**\r\n *\r\n * @description Estimate gasLimit, storageLimit and fees for a transferTicket operation\r\n *\r\n * @returns An estimation of gasLimit, storageLimit and fees for the operation\r\n *\r\n * @param TransferTicketParams operation parameter\r\n */\r\n transferTicket({ fee, storageLimit, gasLimit, ...rest }: TransferTicketParams): Promise;\r\n /**\r\n *\r\n * @description Estimate gasLimit, storageLimit and fees for a delegate operation\r\n *\r\n * @returns An estimation of gasLimit, storageLimit and fees for the operation\r\n *\r\n * @param Estimate\r\n */\r\n setDelegate({ fee, gasLimit, storageLimit, ...rest }: DelegateParams): Promise;\r\n /**\r\n *\r\n * @description Estimate gasLimit, storageLimit and fees for a each operation in the batch\r\n *\r\n * @returns An array of Estimate objects. If a reveal operation is needed, the first element of the array is the Estimate for the reveal operation.\r\n */\r\n batch(params: ParamsWithKind[]): Promise;\r\n /**\r\n *\r\n * @description Estimate gasLimit, storageLimit and fees for a delegate operation\r\n *\r\n * @returns An estimation of gasLimit, storageLimit and fees for the operation\r\n *\r\n * @param Estimate\r\n */\r\n registerDelegate({ fee, storageLimit, gasLimit, ...rest }: RegisterDelegateParams, source?: string): Promise;\r\n /**\r\n *\r\n * @description Estimate gasLimit, storageLimit and fees to reveal the current account\r\n *\r\n * @returns An estimation of gasLimit, storageLimit and fees for the operation or undefined if the account is already revealed\r\n *\r\n * @param Estimate\r\n */\r\n reveal(params?: RevealParams): Promise;\r\n /**\r\n *\r\n * @description Estimate gasLimit, storageLimit and fees for an registerGlobalConstant operation\r\n *\r\n * @returns An estimation of gasLimit, storageLimit and fees for the operation\r\n *\r\n * @param params registerGlobalConstant operation parameter\r\n */\r\n registerGlobalConstant({ fee, storageLimit, gasLimit, ...rest }: RegisterGlobalConstantParams): Promise;\r\n /**\r\n *\r\n * @description Estimate gasLimit, storageLimit, and fees for an increasePaidStorage operation\r\n *\r\n * @returns An estimation of gasLimit, storageLimit, and fees for the operation\r\n *\r\n * @param params increasePaidStorage operation parameters\r\n */\r\n increasePaidStorage({ fee, storageLimit, gasLimit, ...rest }: IncreasePaidStorageParams): Promise;\r\n /**\r\n *\r\n * @description Estimate gasLimit, storageLimit and fees for an Update Consensus Key operation\r\n *\r\n * @returns An estimation of gasLimit, storageLimit and fees for the operation\r\n *\r\n * @param Estimate\r\n */\r\n updateConsensusKey(params: UpdateConsensusKeyParams): Promise;\r\n /**\r\n *\r\n * @description Estimate gasLimit, storageLimit and fees for a smart_rollup_add_messages operation\r\n *\r\n * @returns An estimation of gasLimit, storageLimit and fees for the operation\r\n *\r\n * @param Estimate\r\n */\r\n smartRollupAddMessages(params: SmartRollupAddMessagesParams): Promise;\r\n /**\r\n *\r\n * @description Estimate gasLimit, storageLimit and fees for an Smart Rollup Originate operation\r\n *\r\n * @returns An estimation of gasLimit, storageLimit and fees for the operation\r\n *\r\n * @param SmartRollupOriginateParams\r\n */\r\n smartRollupOriginate(params: SmartRollupOriginateParams): Promise;\r\n /**\r\n *\r\n * @description Estimate gasLimit, storageLimit and fees for contract call\r\n *\r\n * @returns An estimation of gasLimit, storageLimit and fees for the contract call\r\n *\r\n * @param Estimate\r\n */\r\n contractCall(contractMethod: ContractMethod | ContractMethodObject): Promise;\r\n}\r\n"},{name:"@taquito/extension/extension.d.ts",dts:'import { Context } from "../context";\r\nexport interface Extension {\r\n configureContext(context: Context): void;\r\n}\r\n'},{name:"@taquito/forger/composite-forger.d.ts",dts:"import { Forger, ForgeParams, ForgeResponse } from '@taquito/local-forging';\r\nexport declare class CompositeForger implements Forger {\r\n private forgers;\r\n constructor(forgers: Forger[]);\r\n forge({ branch, contents }: ForgeParams): Promise;\r\n}\r\n"},{name:"@taquito/forger/errors.d.ts",dts:"import { TaquitoError, TezosToolkitConfigError } from '@taquito/core';\r\n/**\r\n * @category Error\r\n * @description Error that indicates CompositeForger.forge() results doesn't match each other\r\n */\r\nexport declare class ForgingMismatchError extends TaquitoError {\r\n readonly results: string[];\r\n constructor(results: string[]);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates no forger has been configured for CompositeForger\r\n */\r\nexport declare class UnspecifiedForgerError extends TezosToolkitConfigError {\r\n constructor();\r\n}\r\n"},{name:"@taquito/forger/rpc-forger.d.ts",dts:"import { Forger, ForgeParams, ForgeResponse } from '@taquito/local-forging';\r\nimport { Context } from '../context';\r\nexport declare class RpcForger implements Forger {\r\n private context;\r\n constructor(context: Context);\r\n forge({ branch, contents }: ForgeParams): Promise;\r\n}\r\n"},{name:"@taquito/forger/taquito-local-forger.d.ts",dts:"import { Forger, ForgeParams, ForgeResponse } from '@taquito/local-forging';\r\nimport { Context } from '../context';\r\nexport declare class TaquitoLocalForger implements Forger {\r\n private context;\r\n constructor(context: Context);\r\n private getNextProto;\r\n forge({ branch, contents }: ForgeParams): Promise;\r\n}\r\n"},{name:"@taquito/global-constants/default-global-constants-provider.d.ts",dts:"import { GlobalConstantHashAndValue } from '@taquito/michel-codec';\r\nimport { GlobalConstantHash, GlobalConstantsProvider } from './interface-global-constants-provider';\r\nexport declare class DefaultGlobalConstantsProvider implements GlobalConstantsProvider {\r\n private _globalConstantsLibrary;\r\n /**\r\n *\r\n * @description Allows to load global constant hashes and their corresponding Michelson JSON values\r\n */\r\n loadGlobalConstant(globalConstant: GlobalConstantHashAndValue): void;\r\n /**\r\n *\r\n * @description Retrieve the Michelson value of a global constant based on its hash\r\n *\r\n * @param hash a string representing the global constant hash\r\n * @returns Expr, the JSON Michelson value\r\n */\r\n getGlobalConstantByHash(hash: GlobalConstantHash): Promise;\r\n}\r\n"},{name:"@taquito/global-constants/errors.d.ts",dts:"import { TaquitoError, TezosToolkitConfigError } from '@taquito/core';\r\n/**\r\n * @category Error\r\n * @description Error that indicates that a global constant does not exist\r\n */\r\nexport declare class GlobalConstantNotFound extends TaquitoError {\r\n readonly hash: string;\r\n constructor(hash: string);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates the global constant provider not being configured under TezosToolkit\r\n */\r\nexport declare class UnconfiguredGlobalConstantsProviderError extends TezosToolkitConfigError {\r\n constructor();\r\n}\r\n"},{name:"@taquito/global-constants/interface-global-constants-provider.d.ts",dts:'import { Expr } from "@taquito/michel-codec";\r\nexport declare type GlobalConstantHash = string;\r\nexport interface GlobalConstantsProvider {\r\n /**\r\n *\r\n * @description Retrieve the Michelson value of a global constant based on its hash\r\n *\r\n * @param hash a string representing the global constant hash\r\n */\r\n getGlobalConstantByHash(hash: GlobalConstantHash): Promise;\r\n}\r\n'},{name:"@taquito/global-constants/noop-global-constants-provider.d.ts",dts:"import { Expr } from '@taquito/michel-codec';\r\nimport { GlobalConstantHash, GlobalConstantsProvider } from './interface-global-constants-provider';\r\nexport declare class NoopGlobalConstantsProvider implements GlobalConstantsProvider {\r\n getGlobalConstantByHash(_hash: GlobalConstantHash): Promise;\r\n}\r\n"},{name:"@taquito/injector/helper.d.ts",dts:"import { HttpResponseError } from '@taquito/http-utils';\r\nexport declare function formatErrorMessage(error: HttpResponseError, stringToReplace: string): HttpResponseError;\r\n"},{name:"@taquito/injector/interface.d.ts",dts:"export declare type InjectorParams = string;\r\nexport declare type TxHash = string;\r\nexport interface Injector {\r\n inject(signedOperationBytes: InjectorParams): Promise;\r\n}\r\n"},{name:"@taquito/injector/rpc-injector.d.ts",dts:"import { Injector } from './interface';\r\nimport { Context } from '../context';\r\nexport declare class RpcInjector implements Injector {\r\n private context;\r\n constructor(context: Context);\r\n inject(signedOperationBytes: string): Promise;\r\n}\r\n"},{name:"@taquito/operations/ballot-operation.d.ts",dts:"import { OperationContentsAndResult, OperationContentsAndResultBallot, OperationContentsBallot } from '@taquito/rpc';\r\nimport { Context } from '../context';\r\nimport { Operation } from './operations';\r\nimport { ForgedBytes } from './types';\r\n/**\r\n *\r\n * @description BallotOperation provides utility functions to fetch a new operation of kind ballot\r\n *\r\n */\r\nexport declare class BallotOperation extends Operation {\r\n private readonly params;\r\n readonly source: string;\r\n constructor(hash: string, params: OperationContentsBallot, source: string, raw: ForgedBytes, results: OperationContentsAndResult[], context: Context);\r\n get operationResults(): OperationContentsAndResultBallot | undefined;\r\n get period(): number | undefined;\r\n get proposal(): string;\r\n get ballot(): import(\"@taquito/rpc\").BallotVote;\r\n}\r\n"},{name:"@taquito/operations/batch-operation.d.ts",dts:"import { OperationContents, OperationContentsAndResult } from '@taquito/rpc';\r\nimport { Context } from '../context';\r\nimport { Operation } from './operations';\r\nimport { FeeConsumingOperation, ForgedBytes, GasConsumingOperation, StorageConsumingOperation } from './types';\r\nexport declare class BatchOperation extends Operation implements GasConsumingOperation, StorageConsumingOperation, FeeConsumingOperation {\r\n private readonly params;\r\n readonly source: string;\r\n constructor(hash: string, params: OperationContents[], source: string, raw: ForgedBytes, results: OperationContentsAndResult[], context: Context);\r\n private sumProp;\r\n getOriginatedContractAddresses(): string[];\r\n get status(): import(\"@taquito/rpc\").OperationResultStatusEnum | \"unknown\";\r\n get fee(): any;\r\n get gasLimit(): any;\r\n get storageLimit(): any;\r\n get consumedGas(): string;\r\n get consumedMilliGas(): string;\r\n get storageDiff(): string;\r\n get errors(): import(\"@taquito/rpc\").TezosGenericOperationError[];\r\n}\r\n"},{name:"@taquito/operations/delegate-operation.d.ts",dts:"import { OperationContentsAndResult, OperationContentsDelegation } from '@taquito/rpc';\r\nimport { Context } from '../context';\r\nimport { Operation } from './operations';\r\nimport { FeeConsumingOperation, ForgedBytes, GasConsumingOperation, StorageConsumingOperation } from './types';\r\n/**\r\n * @description Delegation operation provide utility function to fetch newly issued delegation\r\n *\r\n * @warn Currently support only one delegation per operation\r\n */\r\nexport declare class DelegateOperation extends Operation implements GasConsumingOperation, StorageConsumingOperation, FeeConsumingOperation {\r\n private readonly params;\r\n readonly source: string;\r\n constructor(hash: string, params: OperationContentsDelegation, source: string, raw: ForgedBytes, results: OperationContentsAndResult[], context: Context);\r\n get operationResults(): import(\"@taquito/rpc\").OperationResultDelegation | undefined;\r\n get status(): import(\"@taquito/rpc\").OperationResultStatusEnum | \"unknown\";\r\n get delegate(): string | undefined;\r\n get isRegisterOperation(): boolean;\r\n get fee(): number;\r\n get gasLimit(): number;\r\n get storageLimit(): number;\r\n get consumedGas(): string | undefined;\r\n get consumedMilliGas(): string | undefined;\r\n get errors(): import(\"@taquito/rpc\").TezosGenericOperationError[] | undefined;\r\n}\r\n"},{name:"@taquito/operations/drain-delegate-operation.d.ts",dts:"import { OperationContentsAndResult, OperationContentsDrainDelegate } from '@taquito/rpc';\r\nimport { Context } from '../context';\r\nimport { Operation } from './operations';\r\nimport { ForgedBytes } from './types';\r\n/**\r\n *\r\n * @description DrainDelegateOperation provides utility functions to fetch a new operation of kind drain_delegate\r\n *\r\n */\r\nexport declare class DrainDelegateOperation extends Operation {\r\n private readonly params;\r\n constructor(hash: string, params: OperationContentsDrainDelegate, raw: ForgedBytes, results: OperationContentsAndResult[], context: Context);\r\n get operationResults(): import(\"@taquito/rpc\").OperationMetadataBalanceUpdates[] | undefined;\r\n get consensusKey(): string;\r\n get delegate(): string;\r\n get destination(): string;\r\n}\r\n"},{name:"@taquito/operations/errors.d.ts",dts:"import { ParameterValidationError, RpcError, TaquitoError } from '@taquito/core';\r\nimport { MichelsonV1ExpressionBase, OperationResultDelegation, OperationResultOrigination, OperationResultRegisterGlobalConstant, OperationResultReveal, OperationResultSmartRollupOriginate, OperationResultTransaction, OperationResultTransferTicket, OperationResultTxRollupOrigination, OperationResultTxRollupSubmitBatch, PreapplyResponse, TezosGenericOperationError } from '@taquito/rpc';\r\nexport interface TezosOperationErrorWithMessage extends TezosGenericOperationError {\r\n with: MichelsonV1ExpressionBase;\r\n}\r\n/**\r\n * @category Error\r\n * @description Generic tezos error that will be thrown when a mistake occurs when doing an operation; more details here https://tezos.gitlab.io/api/errors.html\r\n */\r\nexport declare class TezosOperationError extends RpcError {\r\n readonly errors: TezosGenericOperationError[];\r\n readonly errorDetails?: string | undefined;\r\n id: string;\r\n kind: string;\r\n constructor(errors: TezosGenericOperationError[], errorDetails?: string | undefined);\r\n}\r\n/**\r\n * @category Error\r\n * @description Tezos error that will be thrown when a mistake happens during the preapply stage\r\n */\r\nexport declare class TezosPreapplyFailureError extends Error {\r\n readonly result: any;\r\n constructor(result: any);\r\n}\r\nexport declare type MergedOperationResult = OperationResultTransaction & OperationResultOrigination & OperationResultDelegation & OperationResultRegisterGlobalConstant & OperationResultTxRollupOrigination & OperationResultTxRollupSubmitBatch & OperationResultTransferTicket & Partial & OperationResultReveal & {\r\n fee?: string;\r\n};\r\nexport declare const flattenOperationResult: (response: PreapplyResponse | PreapplyResponse[]) => MergedOperationResult[];\r\n/***\r\n * @description Flatten all error from preapply response (including internal error)\r\n */\r\nexport declare const flattenErrors: (response: PreapplyResponse | PreapplyResponse[], status?: string) => TezosGenericOperationError[];\r\n/**\r\n * @category Error\r\n * @description Error that indicates a general failure happening during an origination operation\r\n */\r\nexport declare class OriginationOperationError extends TaquitoError {\r\n readonly message: string;\r\n constructor(message: string);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates an invalid estimate value being passed\r\n */\r\nexport declare class InvalidEstimateValueError extends ParameterValidationError {\r\n readonly message: string;\r\n constructor(message: string);\r\n}\r\n"},{name:"@taquito/operations/failing-noop-operation.d.ts",dts:"import { OpKind } from '@taquito/rpc';\r\n/**\r\n * @description FailingNoopOperation interface that contains information about a signed failing_noop operation\r\n */\r\nexport interface FailingNoopOperation {\r\n signedContent: {\r\n branch: string;\r\n contents: [\r\n {\r\n kind: OpKind.FAILING_NOOP;\r\n arbitrary: string;\r\n }\r\n ];\r\n };\r\n bytes: string;\r\n signature: string;\r\n}\r\n"},{name:"@taquito/operations/increase-paid-storage-operation.d.ts",dts:"import { OperationContentsAndResult, OperationContentsIncreasePaidStorage } from '@taquito/rpc';\r\nimport { Context } from '../context';\r\nimport { Operation } from './operations';\r\nimport { FeeConsumingOperation, ForgedBytes, GasConsumingOperation, StorageConsumingOperation } from './types';\r\n/**\r\n *\r\n * @description IncreasePaidStorageOperation provides utility functions to fetch a new operation of kind increase_paid_storage\r\n *\r\n */\r\nexport declare class IncreasePaidStorageOperation extends Operation implements GasConsumingOperation, StorageConsumingOperation, FeeConsumingOperation {\r\n private readonly params;\r\n readonly source: string;\r\n constructor(hash: string, params: OperationContentsIncreasePaidStorage, source: string, raw: ForgedBytes, results: OperationContentsAndResult[], context: Context);\r\n get operationResults(): import(\"@taquito/rpc\").OperationResultIncreasePaidStorage | undefined;\r\n get status(): import(\"@taquito/rpc\").OperationResultStatusEnum | \"unknown\";\r\n get fee(): number;\r\n get gasLimit(): number;\r\n get storageLimit(): number;\r\n get errors(): import(\"@taquito/rpc\").TezosGenericOperationError[] | undefined;\r\n get consumedMilliGas(): string | undefined;\r\n get amount(): string;\r\n get destination(): string;\r\n}\r\n"},{name:"@taquito/operations/index.d.ts",dts:"export { OpKind, withKind, ParamsWithKind, RPCOpWithFee, RPCOpWithSource, SourceKinds, GasConsumingOperation, StorageConsumingOperation, FeeConsumingOperation, OriginateParamsBase, OriginateParams, ActivationParams, RPCOriginationOperation, RPCRevealOperation, ForgedBytes, DelegateParams, RegisterDelegateParams, RPCDelegateOperation, TransferParams, RPCTransferOperation, RPCActivateOperation, RPCOperation, PrepareOperationParams, DrainDelegateParams, RPCDrainDelegateOperation, BallotParams, RPCBallotOperation, } from './types';\r\nexport { TezosOperationError, TezosOperationErrorWithMessage, TezosPreapplyFailureError, InvalidEstimateValueError, } from './errors';\r\nexport { BatchOperation } from './batch-operation';\r\nexport { DelegateOperation } from './delegate-operation';\r\nexport { OriginationOperation } from './origination-operation';\r\nexport { TransactionOperation } from './transaction-operation';\r\nexport { BallotOperation } from './ballot-operation';\r\nexport { DrainDelegateOperation } from './drain-delegate-operation';\r\nexport { Operation } from './operations';\r\n"},{name:"@taquito/operations/operations.d.ts",dts:'import { OperationContentsAndResult, OperationContentsAndResultReveal } from \'@taquito/rpc\';\r\nimport { Context } from \'../context\';\r\nimport { ForgedBytes } from \'./types\';\r\n/**\r\n * @description Utility class to interact with Tezos operations\r\n */\r\nexport declare class Operation {\r\n readonly hash: string;\r\n readonly raw: ForgedBytes;\r\n readonly results: OperationContentsAndResult[];\r\n protected readonly context: Context;\r\n private _pollingConfig$;\r\n private lastHead;\r\n private currentHead$;\r\n private confirmed$;\r\n protected _foundAt: number;\r\n get includedInBlock(): number;\r\n /**\r\n *\r\n * @param hash Operation hash\r\n * @param raw Raw operation that was injected\r\n * @param context Taquito context allowing access to rpc and signer\r\n * @throws {@link InvalidOperationHashError}\r\n */\r\n constructor(hash: string, raw: ForgedBytes, results: OperationContentsAndResult[], context: Context);\r\n get revealOperation(): false | OperationContentsAndResultReveal | undefined;\r\n get revealStatus(): import("@taquito/rpc").OperationResultStatusEnum | "unknown";\r\n get status(): import("@taquito/rpc").OperationResultStatusEnum | "unknown";\r\n /**\r\n *\r\n * @param confirmations [0] Number of confirmation to wait for\r\n * @param timeout [180] Timeout\r\n */\r\n confirmation(confirmations?: number, timeout?: number): Promise;\r\n}\r\n'},{name:"@taquito/operations/origination-operation.d.ts",dts:"import { OperationContentsAndResult, OperationContentsOrigination } from '@taquito/rpc';\r\nimport { Context } from '../context';\r\nimport { DefaultContractType } from '../contract/contract';\r\nimport { RpcContractProvider } from '../contract/rpc-contract-provider';\r\nimport { Operation } from './operations';\r\nimport { FeeConsumingOperation, ForgedBytes, GasConsumingOperation, StorageConsumingOperation } from './types';\r\n/**\r\n * @description Origination operation provide utility function to fetch newly originated contract\r\n *\r\n * @warn Currently support only one origination per operation\r\n */\r\nexport declare class OriginationOperation extends Operation implements GasConsumingOperation, StorageConsumingOperation, FeeConsumingOperation {\r\n private readonly params;\r\n private contractProvider;\r\n /**\r\n * @description Contract address of the newly originated contract\r\n */\r\n readonly contractAddress?: string;\r\n constructor(hash: string, params: OperationContentsOrigination, raw: ForgedBytes, results: OperationContentsAndResult[], context: Context, contractProvider: RpcContractProvider);\r\n get status(): import(\"@taquito/rpc\").OperationResultStatusEnum | \"unknown\";\r\n get operationResults(): import(\"@taquito/rpc\").OperationResultOrigination | undefined;\r\n get fee(): number;\r\n get gasLimit(): number;\r\n get storageLimit(): number;\r\n get consumedGas(): string | undefined;\r\n get consumedMilliGas(): string | undefined;\r\n get storageDiff(): string | undefined;\r\n get storageSize(): string | undefined;\r\n get errors(): import(\"@taquito/rpc\").TezosGenericOperationError[] | undefined;\r\n /**\r\n * @description Provide the contract abstract of the newly originated contract\r\n * @throws {@link OriginationOperationError}\r\n */\r\n contract(confirmations?: number, timeout?: number): Promise;\r\n}\r\n"},{name:"@taquito/operations/proposals-operation.d.ts",dts:"import { OperationContentsAndResult, OperationContentsAndResultProposals, OperationContentsProposals } from '@taquito/rpc';\r\nimport { Context } from '../context';\r\nimport { Operation } from './operations';\r\nimport { ForgedBytes } from './types';\r\n/**\r\n *\r\n * @description ProposalsOperation provides utility functions to fetch a new operation of kind proposals\r\n *\r\n */\r\nexport declare class ProposalsOperation extends Operation {\r\n private readonly params;\r\n readonly source: string;\r\n constructor(hash: string, params: OperationContentsProposals, source: string, raw: ForgedBytes, results: OperationContentsAndResult[], context: Context);\r\n get operationResults(): OperationContentsAndResultProposals | undefined;\r\n get proposals(): string[];\r\n get period(): number | undefined;\r\n}\r\n"},{name:"@taquito/operations/register-global-constant-operation.d.ts",dts:'import { OperationContentsAndResult, OperationContentsRegisterGlobalConstant } from \'@taquito/rpc\';\r\nimport { Context } from \'../context\';\r\nimport { Operation } from \'./operations\';\r\nimport { FeeConsumingOperation, ForgedBytes, GasConsumingOperation, StorageConsumingOperation } from \'./types\';\r\n/**\r\n * @description RegisterGlobalConstantOperation provides utility functions to fetch a newly issued operation of kind register_global_constant\r\n */\r\nexport declare class RegisterGlobalConstantOperation extends Operation implements GasConsumingOperation, StorageConsumingOperation, FeeConsumingOperation {\r\n private readonly params;\r\n readonly source: string;\r\n /**\r\n * @description Hash (index) of the newly registered constant\r\n */\r\n readonly globalConstantHash?: string;\r\n constructor(hash: string, params: OperationContentsRegisterGlobalConstant, source: string, raw: ForgedBytes, results: OperationContentsAndResult[], context: Context);\r\n get operationResults(): import("@taquito/rpc").OperationResultRegisterGlobalConstant | undefined;\r\n get status(): import("@taquito/rpc").OperationResultStatusEnum | "unknown";\r\n get registeredExpression(): import("@taquito/rpc").MichelsonV1Expression;\r\n get fee(): number;\r\n get gasLimit(): number;\r\n get storageLimit(): number;\r\n get errors(): import("@taquito/rpc").TezosGenericOperationError[] | undefined;\r\n get consumedGas(): string | undefined;\r\n get consumedMilliGas(): string | undefined;\r\n}\r\n'},{name:"@taquito/operations/reveal-operation.d.ts",dts:"import { OperationContentsAndResult, OperationContentsAndResultReveal, OperationContentsReveal } from '@taquito/rpc';\r\nimport { Context } from '../context';\r\nimport { Operation } from './operations';\r\nimport { FeeConsumingOperation, ForgedBytes, GasConsumingOperation, StorageConsumingOperation } from './types';\r\n/**\r\n * @description Reveal operation provides utility functions to fetch a newly issued revelation\r\n */\r\nexport declare class RevealOperation extends Operation implements GasConsumingOperation, StorageConsumingOperation, FeeConsumingOperation {\r\n private readonly params;\r\n readonly source: string;\r\n constructor(hash: string, params: OperationContentsReveal, source: string, raw: ForgedBytes, results: OperationContentsAndResult[], context: Context);\r\n get operationResults(): OperationContentsAndResultReveal[];\r\n get status(): import(\"@taquito/rpc\").OperationResultStatusEnum | \"unknown\";\r\n get fee(): number;\r\n get gasLimit(): number;\r\n get storageLimit(): number;\r\n get publicKey(): string;\r\n private sumProp;\r\n get consumedGas(): string;\r\n get consumedMilliGas(): string;\r\n get storageDiff(): string;\r\n get storageSize(): string;\r\n get errors(): import(\"@taquito/rpc\").TezosGenericOperationError[];\r\n}\r\n"},{name:"@taquito/operations/smart-rollup-add-messages-operation.d.ts",dts:"import { OperationContentsAndResult, OperationContentsSmartRollupAddMessages } from '@taquito/rpc';\r\nimport { Context } from '../context';\r\nimport { Operation } from './operations';\r\nimport { FeeConsumingOperation, ForgedBytes, GasConsumingOperation, StorageConsumingOperation } from './types';\r\n/**\r\n * @description SmartRollupAddMessagesOperation provides utility to fetch properties of SmartRollupAddMessages\r\n */\r\nexport declare class SmartRollupAddMessagesOperation extends Operation implements GasConsumingOperation, StorageConsumingOperation, FeeConsumingOperation {\r\n private readonly params;\r\n readonly source: string;\r\n constructor(hash: string, params: OperationContentsSmartRollupAddMessages, source: string, raw: ForgedBytes, results: OperationContentsAndResult[], context: Context);\r\n get operationResults(): import(\"@taquito/rpc\").OperationResultSmartRollupAddMessages | undefined;\r\n get status(): import(\"@taquito/rpc\").OperationResultStatusEnum | \"unknown\";\r\n get message(): string[];\r\n get fee(): number;\r\n get gasLimit(): number;\r\n get storageLimit(): number;\r\n get consumedMilliGas(): string | undefined;\r\n get errors(): import(\"@taquito/rpc\").TezosGenericOperationError[] | undefined;\r\n}\r\n"},{name:"@taquito/operations/smart-rollup-originate-operation.d.ts",dts:'import { OperationContentsAndResult, OperationContentsSmartRollupOriginate } from \'@taquito/rpc\';\r\nimport { Context } from \'../context\';\r\nimport { Operation } from \'./operations\';\r\nimport { FeeConsumingOperation, ForgedBytes, GasConsumingOperation, StorageConsumingOperation } from \'./types\';\r\n/**\r\n *\r\n * @description SmartRollupOriginate Operation provides utility to fetch properties for Operation of kind SmartRollupOriginate\r\n *\r\n */\r\nexport declare class SmartRollupOriginateOperation extends Operation implements GasConsumingOperation, StorageConsumingOperation, FeeConsumingOperation {\r\n private readonly params;\r\n readonly source: string;\r\n constructor(hash: string, params: OperationContentsSmartRollupOriginate, source: string, raw: ForgedBytes, results: OperationContentsAndResult[], context: Context);\r\n get operationResults(): import("@taquito/rpc").OperationResultSmartRollupOriginate | undefined;\r\n get status(): import("@taquito/rpc").OperationResultStatusEnum | "unknown";\r\n get fee(): number;\r\n get gasLimit(): number;\r\n get storageLimit(): number;\r\n get consumedMilliGas(): string | undefined;\r\n get pvmKind(): import("@taquito/rpc").PvmKind;\r\n get kernel(): string;\r\n get originationProof(): string;\r\n get errors(): import("@taquito/rpc").TezosGenericOperationError[] | undefined;\r\n}\r\n'},{name:"@taquito/operations/transaction-operation.d.ts",dts:"import { OperationContentsAndResult, OperationContentsAndResultTransaction, OperationContentsTransaction } from '@taquito/rpc';\r\nimport BigNumber from 'bignumber.js';\r\nimport { Context } from '../context';\r\nimport { Operation } from './operations';\r\nimport { FeeConsumingOperation, ForgedBytes, GasConsumingOperation, StorageConsumingOperation } from './types';\r\n/**\r\n * @description Transaction operation provides utility functions to fetch a newly issued transaction\r\n *\r\n * @warn Currently supports one transaction per operation\r\n */\r\nexport declare class TransactionOperation extends Operation implements GasConsumingOperation, StorageConsumingOperation, FeeConsumingOperation {\r\n private readonly params;\r\n readonly source: string;\r\n constructor(hash: string, params: OperationContentsTransaction, source: string, raw: ForgedBytes, results: OperationContentsAndResult[], context: Context);\r\n get operationResults(): OperationContentsAndResultTransaction[];\r\n get status(): import(\"@taquito/rpc\").OperationResultStatusEnum | \"unknown\";\r\n get amount(): BigNumber;\r\n get destination(): string;\r\n get fee(): number;\r\n get gasLimit(): number;\r\n get storageLimit(): number;\r\n private sumProp;\r\n get consumedGas(): string;\r\n get consumedMilliGas(): string;\r\n get storageDiff(): string;\r\n get storageSize(): string;\r\n get errors(): import(\"@taquito/rpc\").TezosGenericOperationError[];\r\n}\r\n"},{name:"@taquito/operations/transfer-ticket-operation.d.ts",dts:"import { OperationContentsAndResult, OperationContentsTransferTicket } from '@taquito/rpc';\r\nimport { Context } from '../context';\r\nimport { Operation } from '../operations';\r\nimport { GasConsumingOperation, StorageConsumingOperation, FeeConsumingOperation, ForgedBytes } from './types';\r\n/**\r\n *\r\n * @description Transfer tickets from a Tezos address (tz1, tz2 or tz3) to a smart contract address (KT1) (everything on layer 1 at this step)\r\n *\r\n * @warn Currently only supports one L2 ticket holder transfer at once. ie. one collection of tickets owned by tz1, tz2 or tz3 to a smart contract.\r\n */\r\nexport declare class TransferTicketOperation extends Operation implements GasConsumingOperation, StorageConsumingOperation, FeeConsumingOperation {\r\n private readonly params;\r\n private readonly source;\r\n constructor(hash: string, params: OperationContentsTransferTicket, source: string, raw: ForgedBytes, results: OperationContentsAndResult[], context: Context);\r\n get operationResults(): import(\"@taquito/rpc\").OperationResultTransferTicket | undefined;\r\n get status(): import(\"@taquito/rpc\").OperationResultStatusEnum | \"unknown\";\r\n get fee(): number;\r\n get gasLimit(): number;\r\n get storageLimit(): number;\r\n get consumedGas(): string | undefined;\r\n get consumedMilliGas(): string | undefined;\r\n}\r\n"},{name:"@taquito/operations/tx-rollup-batch-operation.d.ts",dts:"import { OperationContentsAndResult } from '@taquito/rpc';\r\nimport { Context } from '../context';\r\nimport { Operation } from './operations';\r\nimport { FeeConsumingOperation, ForgedBytes, GasConsumingOperation, RPCTxRollupBatchOperation, StorageConsumingOperation } from './types';\r\n/**\r\n * @description TxRollupBatchOperation provides utility functions to fetch a newly issued operation of kind tx_rollup_submit_batch\r\n */\r\nexport declare class TxRollupBatchOperation extends Operation implements GasConsumingOperation, StorageConsumingOperation, FeeConsumingOperation {\r\n private readonly params;\r\n readonly source: string;\r\n constructor(hash: string, params: RPCTxRollupBatchOperation, source: string, raw: ForgedBytes, results: OperationContentsAndResult[], context: Context);\r\n get operationResults(): import(\"@taquito/rpc\").OperationResultTxRollupSubmitBatch | undefined;\r\n get status(): import(\"@taquito/rpc\").OperationResultStatusEnum | \"unknown\";\r\n get content(): string;\r\n get fee(): number;\r\n get gasLimit(): number;\r\n get storageLimit(): number;\r\n get errors(): import(\"@taquito/rpc\").TezosGenericOperationError[] | undefined;\r\n get consumedGas(): string | undefined;\r\n get consumedMilliGas(): string | undefined;\r\n}\r\n"},{name:"@taquito/operations/tx-rollup-origination-operation.d.ts",dts:"import { OperationContentsAndResult } from '@taquito/rpc';\r\nimport { Context } from '../context';\r\nimport { Operation } from './operations';\r\nimport { FeeConsumingOperation, ForgedBytes, GasConsumingOperation, RPCTxRollupOriginationOperation, StorageConsumingOperation } from './types';\r\n/**\r\n * @description TxRollupOriginationOperation provides utility functions to fetch a newly issued operation of kind tx_rollup_origination\r\n */\r\nexport declare class TxRollupOriginationOperation extends Operation implements GasConsumingOperation, StorageConsumingOperation, FeeConsumingOperation {\r\n private readonly params;\r\n readonly source: string;\r\n /**\r\n * @description Address the newly originate rollup\r\n */\r\n readonly originatedRollup?: string;\r\n constructor(hash: string, params: RPCTxRollupOriginationOperation, source: string, raw: ForgedBytes, results: OperationContentsAndResult[], context: Context);\r\n get operationResults(): import(\"@taquito/rpc\").OperationResultTxRollupOrigination | undefined;\r\n get status(): import(\"@taquito/rpc\").OperationResultStatusEnum | \"unknown\";\r\n get fee(): number;\r\n get gasLimit(): number;\r\n get storageLimit(): number;\r\n get errors(): import(\"@taquito/rpc\").TezosGenericOperationError[] | undefined;\r\n get consumedGas(): string | undefined;\r\n get consumedMilliGas(): string | undefined;\r\n}\r\n"},{name:"@taquito/operations/types.d.ts",dts:"import { OperationObject, InternalOperationResultKindEnum, OpKind, TransactionOperationParameter, MichelsonV1Expression, BallotVote, PvmKind } from '@taquito/rpc';\r\nimport { BlockIdentifier } from '../read-provider/interface';\r\nexport { OpKind } from '@taquito/rpc';\r\nexport declare type withKind = T & {\r\n kind: K;\r\n};\r\nexport declare type ParamsWithKind = withKind | withKind | withKind | withKind | withKind | withKind | withKind | withKind | withKind | withKind | withKind | withKind | withKind;\r\nexport declare type ParamsWithKindExtended = ParamsWithKind | withKind;\r\nexport declare const attachKind: (op: T, kind: K) => withKind;\r\nexport declare const findWithKind: (arr: T[], kind: K) => (T & {\r\n kind: K;\r\n}) | undefined;\r\nexport declare const isKind: (op: T, kind: K) => op is withKind;\r\nexport declare type RPCOpWithFee = RPCTransferOperation | RPCOriginationOperation | RPCDelegateOperation | RPCRevealOperation | RPCRegisterGlobalConstantOperation | RPCIncreasePaidStorageOperation | RPCTxRollupOriginationOperation | RPCTxRollupBatchOperation | RPCTransferTicketOperation | RPCUpdateConsensusKeyOperation | RPCSmartRollupAddMessagesOperation | RPCSmartRollupOriginateOperation;\r\nexport declare type RPCOpWithSource = RPCTransferOperation | RPCOriginationOperation | RPCDelegateOperation | RPCRevealOperation | RPCRegisterGlobalConstantOperation | RPCIncreasePaidStorageOperation | RPCTxRollupOriginationOperation | RPCTxRollupBatchOperation | RPCTransferTicketOperation | RPCUpdateConsensusKeyOperation | RPCSmartRollupAddMessagesOperation | RPCSmartRollupOriginateOperation;\r\nexport declare const isOpWithFee: (op: T) => op is withKind;\r\nexport declare const isOpRequireReveal: (op: T) => op is withKind;\r\nexport declare type SourceKinds = InternalOperationResultKindEnum;\r\nexport declare const isSourceOp: (op: T) => op is withKind;\r\nexport declare const hasMetadata: (op: T) => op is T & {\r\n metadata: K;\r\n};\r\nexport declare const hasMetadataWithResult: (op: T) => op is T & {\r\n metadata: {\r\n operation_result: K;\r\n };\r\n};\r\nexport declare const hasMetadataWithInternalOperationResult: (op: T) => op is T & {\r\n metadata: {\r\n internal_operation_results?: K | undefined;\r\n };\r\n};\r\nexport interface GasConsumingOperation {\r\n consumedGas?: string;\r\n gasLimit: number;\r\n}\r\nexport interface StorageConsumingOperation {\r\n storageDiff?: string;\r\n storageSize?: string;\r\n storageLimit: number;\r\n}\r\nexport interface FeeConsumingOperation {\r\n fee: number;\r\n}\r\nexport declare type OriginateParamsBase = {\r\n balance?: string | number;\r\n code: string | object[];\r\n delegate?: string;\r\n fee?: number;\r\n gasLimit?: number;\r\n storageLimit?: number;\r\n mutez?: boolean;\r\n};\r\n/**\r\n * @description Parameters for originate method\r\n */\r\nexport declare type OriginateParams = OriginateParamsBase & ({\r\n init?: never;\r\n /** JS representation of a storage object */\r\n storage: TStorage;\r\n} | {\r\n /** Initial storage object value. Either Micheline or JSON encoded */\r\n init: string | object;\r\n storage?: never;\r\n});\r\nexport interface ActivationParams {\r\n pkh: string;\r\n secret: string;\r\n}\r\n/**\r\n * @description RPC origination operation\r\n */\r\nexport interface RPCOriginationOperation {\r\n kind: OpKind.ORIGINATION;\r\n fee: number;\r\n gas_limit: number;\r\n storage_limit: number;\r\n balance: string;\r\n delegate?: string;\r\n source?: string;\r\n script: {\r\n code: any;\r\n storage: any;\r\n };\r\n}\r\n/**\r\n * @description RPC reveal operation\r\n */\r\nexport interface RPCRevealOperation {\r\n kind: OpKind.REVEAL;\r\n fee: number;\r\n public_key: string;\r\n source?: string;\r\n gas_limit: number;\r\n storage_limit: number;\r\n}\r\nexport interface RevealParams {\r\n fee?: number;\r\n gasLimit?: number;\r\n storageLimit?: number;\r\n}\r\n/**\r\n * @description Result of a forge operation contains the operation plus its encoded version\r\n */\r\nexport interface ForgedBytes {\r\n opbytes: string;\r\n opOb: OperationObject;\r\n counter: number;\r\n}\r\n/**\r\n * @description Parameters for setDelegate method\r\n */\r\nexport interface DelegateParams {\r\n source: string;\r\n delegate?: string;\r\n fee?: number;\r\n gasLimit?: number;\r\n storageLimit?: number;\r\n}\r\n/**\r\n * @description Parameters for registerDelegate method\r\n */\r\nexport interface RegisterDelegateParams {\r\n fee?: number;\r\n gasLimit?: number;\r\n storageLimit?: number;\r\n}\r\n/**\r\n * @description RPC delegation operation\r\n */\r\nexport interface RPCDelegateOperation {\r\n kind: OpKind.DELEGATION;\r\n source?: string;\r\n fee: number;\r\n gas_limit: number;\r\n storage_limit: number;\r\n delegate?: string;\r\n}\r\n/**\r\n * @description Parameters for transfer method\r\n */\r\nexport interface TransferParams {\r\n to: string;\r\n source?: string;\r\n amount: number;\r\n fee?: number;\r\n parameter?: TransactionOperationParameter;\r\n gasLimit?: number;\r\n storageLimit?: number;\r\n mutez?: boolean;\r\n}\r\n/**\r\n * @description RPC register global constant operation\r\n */\r\nexport interface RPCRegisterGlobalConstantOperation {\r\n kind: OpKind.REGISTER_GLOBAL_CONSTANT;\r\n fee: number;\r\n gas_limit: number;\r\n storage_limit: number;\r\n source: string;\r\n value: MichelsonV1Expression;\r\n}\r\n/**\r\n * @description Parameters for the `registerGlobalConstant` method\r\n */\r\nexport interface RegisterGlobalConstantParams {\r\n value: MichelsonV1Expression;\r\n source?: string;\r\n fee?: number;\r\n gasLimit?: number;\r\n storageLimit?: number;\r\n}\r\n/**\r\n * @description RPC transfer operation\r\n */\r\nexport interface RPCTransferOperation {\r\n kind: OpKind.TRANSACTION;\r\n fee: number;\r\n gas_limit: number;\r\n storage_limit: number;\r\n amount: string;\r\n source?: string;\r\n destination: string;\r\n parameters?: TransactionOperationParameter;\r\n}\r\n/**\r\n * @description RPC activate account operation\r\n */\r\nexport interface RPCActivateOperation {\r\n kind: OpKind.ACTIVATION;\r\n pkh: string;\r\n secret: string;\r\n}\r\n/**\r\n * @description RPC tx rollup origination operation\r\n */\r\nexport interface RPCTxRollupOriginationOperation {\r\n kind: OpKind.TX_ROLLUP_ORIGINATION;\r\n fee: number;\r\n gas_limit: number;\r\n storage_limit: number;\r\n source: string;\r\n tx_rollup_origination: object;\r\n}\r\n/**\r\n * @description Parameters for the `txRollupOriginate` method\r\n */\r\nexport interface TxRollupOriginateParams {\r\n source?: string;\r\n fee?: number;\r\n gasLimit?: number;\r\n storageLimit?: number;\r\n}\r\n/**\r\n * @description Parameters for the `txRollupSubmitBatch` method\r\n */\r\nexport interface TxRollupBatchParams {\r\n source?: string;\r\n fee?: number;\r\n gasLimit?: number;\r\n storageLimit?: number;\r\n rollup: string;\r\n content: string;\r\n}\r\n/**\r\n * @description RPC tx rollup batch operation\r\n */\r\nexport interface RPCTxRollupBatchOperation {\r\n kind: OpKind.TX_ROLLUP_SUBMIT_BATCH;\r\n fee: number;\r\n gas_limit: number;\r\n storage_limit: number;\r\n source: string;\r\n rollup: string;\r\n content: string;\r\n}\r\n/**\r\n * @description Parameters for the transferTicket contract provider\r\n */\r\nexport interface TransferTicketParams {\r\n source?: string;\r\n fee?: number;\r\n gasLimit?: number;\r\n storageLimit?: number;\r\n ticketContents: MichelsonV1Expression;\r\n ticketTy: MichelsonV1Expression;\r\n ticketTicketer: string;\r\n ticketAmount: number;\r\n destination: string;\r\n entrypoint: string;\r\n}\r\n/**\r\n * @description Rpc transfer-ticket operation\r\n */\r\nexport interface RPCTransferTicketOperation {\r\n kind: OpKind.TRANSFER_TICKET;\r\n source?: string;\r\n fee: number;\r\n gas_limit: number;\r\n storage_limit: number;\r\n ticket_contents: MichelsonV1Expression;\r\n ticket_ty: MichelsonV1Expression;\r\n ticket_ticketer: string;\r\n ticket_amount: number;\r\n destination: string;\r\n entrypoint: string;\r\n}\r\n/**\r\n * @description Parameters for the increasePaidStorage method\r\n */\r\nexport interface IncreasePaidStorageParams {\r\n source?: string;\r\n fee?: number;\r\n gasLimit?: number;\r\n storageLimit?: number;\r\n amount: number;\r\n destination: string;\r\n}\r\n/**\r\n * @description RPC IncreasePaidStorage operation\r\n */\r\nexport interface RPCIncreasePaidStorageOperation {\r\n kind: OpKind.INCREASE_PAID_STORAGE;\r\n source: string;\r\n fee: number;\r\n gas_limit: number;\r\n storage_limit: number;\r\n amount: number;\r\n destination: string;\r\n}\r\n/**\r\n * @description Parameters for the DrainDelegate method\r\n */\r\nexport interface DrainDelegateParams {\r\n consensus_key: string;\r\n delegate: string;\r\n destination: string;\r\n}\r\n/**\r\n * @description RPC DrainDelegate operation\r\n */\r\nexport interface RPCDrainDelegateOperation {\r\n kind: OpKind.DRAIN_DELEGATE;\r\n consensus_key: string;\r\n delegate: string;\r\n destination: string;\r\n}\r\n/**\r\n * @description Ballot operation params\r\n */\r\nexport interface BallotParams {\r\n source?: string;\r\n proposal: string;\r\n ballot: BallotVote;\r\n}\r\nexport interface RPCBallotOperation {\r\n kind: OpKind.BALLOT;\r\n source: string;\r\n period: number;\r\n proposal: string;\r\n ballot: BallotVote;\r\n}\r\nexport interface ProposalsParams {\r\n source?: string;\r\n proposals: string[];\r\n}\r\nexport interface RPCProposalsOperation {\r\n kind: OpKind.PROPOSALS;\r\n source: string;\r\n period: number;\r\n proposals: string[];\r\n}\r\nexport interface UpdateConsensusKeyParams {\r\n source?: string;\r\n fee?: number;\r\n gasLimit?: number;\r\n storageLimit?: number;\r\n pk: string;\r\n}\r\nexport interface RPCUpdateConsensusKeyOperation {\r\n kind: OpKind.UPDATE_CONSENSUS_KEY;\r\n source: string;\r\n fee: number;\r\n gas_limit: number;\r\n storage_limit: number;\r\n pk: string;\r\n}\r\nexport interface RPCSmartRollupAddMessagesOperation {\r\n kind: OpKind.SMART_ROLLUP_ADD_MESSAGES;\r\n source: string;\r\n fee: number;\r\n gas_limit: number;\r\n storage_limit: number;\r\n message: string[];\r\n}\r\nexport interface SmartRollupAddMessagesParams {\r\n source?: string;\r\n fee?: number;\r\n gasLimit?: number;\r\n storageLimit?: number;\r\n message: string[];\r\n}\r\nexport interface SmartRollupOriginateParams {\r\n source?: string;\r\n fee?: number;\r\n gasLimit?: number;\r\n storageLimit?: number;\r\n pvmKind: PvmKind;\r\n kernel: string;\r\n parametersType: MichelsonV1Expression;\r\n}\r\nexport interface SmartRollupOriginateParamsWithProof extends SmartRollupOriginateParams {\r\n originationProof: string;\r\n}\r\nexport interface RPCSmartRollupOriginateOperation {\r\n kind: OpKind.SMART_ROLLUP_ORIGINATE;\r\n source: string;\r\n fee: number;\r\n gas_limit: number;\r\n storage_limit: number;\r\n pvm_kind: PvmKind;\r\n kernel: string;\r\n origination_proof: string;\r\n parameters_ty: MichelsonV1Expression;\r\n}\r\n/**\r\n * @description RPC failing noop operation\r\n */\r\nexport interface RPCFailingNoopOperation {\r\n kind: OpKind.FAILING_NOOP;\r\n arbitrary: string;\r\n}\r\n/**\r\n * @description Parameters for the `failingNoop` method\r\n */\r\nexport interface FailingNoopParams {\r\n arbitrary: string;\r\n basedOnBlock: BlockIdentifier;\r\n}\r\nexport declare type RPCOperation = RPCOriginationOperation | RPCTransferOperation | RPCDelegateOperation | RPCRevealOperation | RPCActivateOperation | RPCRegisterGlobalConstantOperation | RPCTransferTicketOperation | RPCIncreasePaidStorageOperation | RPCDrainDelegateOperation | RPCBallotOperation | RPCProposalsOperation | RPCUpdateConsensusKeyOperation | RPCSmartRollupAddMessagesOperation | RPCFailingNoopOperation | RPCSmartRollupOriginateOperation;\r\nexport declare type PrepareOperationParams = {\r\n operation: RPCOperation | RPCOperation[];\r\n source?: string;\r\n};\r\n"},{name:"@taquito/operations/update-consensus-key-operation.d.ts",dts:"import { OperationContentsAndResult, OperationContentsUpdateConsensusKey } from '@taquito/rpc';\r\nimport { Context } from '../context';\r\nimport { Operation } from './operations';\r\nimport { FeeConsumingOperation, ForgedBytes, GasConsumingOperation, StorageConsumingOperation } from './types';\r\n/**\r\n *\r\n * @description UpdateConsensusKeyOperation provides utility to fetch properties for Operation of kind UpdateConsensusKey\r\n *\r\n */\r\nexport declare class UpdateConsensusKeyOperation extends Operation implements GasConsumingOperation, StorageConsumingOperation, FeeConsumingOperation {\r\n private readonly params;\r\n readonly source: string;\r\n constructor(hash: string, params: OperationContentsUpdateConsensusKey, source: string, raw: ForgedBytes, results: OperationContentsAndResult[], context: Context);\r\n get operationResults(): import(\"@taquito/rpc\").OperationResultUpdateConsensusKey | undefined;\r\n get status(): import(\"@taquito/rpc\").OperationResultStatusEnum | \"unknown\";\r\n get fee(): number;\r\n get gasLimit(): number;\r\n get storageLimit(): number;\r\n get pk(): string;\r\n get consumedMilliGas(): string | undefined;\r\n get errors(): import(\"@taquito/rpc\").TezosGenericOperationError[] | undefined;\r\n}\r\n"},{name:"@taquito/packer/interface.d.ts",dts:"import { PackDataParams, PackDataResponse } from '@taquito/rpc';\r\nexport interface Packer {\r\n packData(data: PackDataParams): Promise;\r\n}\r\n"},{name:"@taquito/packer/michel-codec-packer.d.ts",dts:"import { Packer } from './interface';\r\nimport { PackDataResponse, PackDataParams } from '@taquito/rpc';\r\nexport declare class MichelCodecPacker implements Packer {\r\n packData(data: PackDataParams): Promise;\r\n}\r\n"},{name:"@taquito/packer/rpc-packer.d.ts",dts:"import { Packer } from './interface';\r\nimport { Context } from '../context';\r\nimport { PackDataParams, PackDataResponse } from '@taquito/rpc';\r\nexport declare class RpcPacker implements Packer {\r\n private context;\r\n constructor(context: Context);\r\n packData(data: PackDataParams): Promise;\r\n}\r\n"},{name:"@taquito/parser/interface.d.ts",dts:"import { OriginateParams } from '../operations/types';\r\nexport interface ParserProvider {\r\n prepareCodeOrigination(params: OriginateParams): Promise;\r\n}\r\n"},{name:"@taquito/parser/michel-codec-parser.d.ts",dts:"import { Context } from '../context';\r\nimport { ParserProvider } from './interface';\r\nimport { Expr } from '@taquito/michel-codec';\r\nimport { OriginateParams } from '../operations/types';\r\nexport declare class MichelCodecParser implements ParserProvider {\r\n private context;\r\n constructor(context: Context);\r\n private getNextProto;\r\n parseScript(src: string): Promise;\r\n parseMichelineExpression(src: string): Promise;\r\n parseJSON(src: object): Promise;\r\n prepareCodeOrigination(params: OriginateParams): Promise;\r\n private formatCodeParam;\r\n private formatInitParam;\r\n private findGlobalConstantsHashAndValue;\r\n}\r\n"},{name:"@taquito/parser/noop-parser.d.ts",dts:'import { OriginateParams } from "../operations/types";\r\nimport { ParserProvider } from "./interface";\r\nexport declare class NoopParser implements ParserProvider {\r\n prepareCodeOrigination(params: OriginateParams): Promise;\r\n}\r\n'},{name:"@taquito/prepare/index.d.ts",dts:"export * from './interface';\r\nexport * from './prepare-provider';\r\n"},{name:"@taquito/prepare/interface.d.ts",dts:"import { OperationContents, PreapplyParams } from '@taquito/rpc';\r\nimport { BallotParams, DelegateParams, DrainDelegateParams, IncreasePaidStorageParams, OriginateParams, ProposalsParams, RegisterGlobalConstantParams, RevealParams, TransferParams, TransferTicketParams, UpdateConsensusKeyParams, ActivationParams } from '../operations/types';\r\nimport { ContractMethod } from '../contract/contract-methods/contract-method-flat-param';\r\nimport { ContractMethodObject } from '../contract/contract-methods/contract-method-object-param';\r\nimport { ContractProvider } from '../contract/interface';\r\nimport { ParamsWithKind } from '../operations/types';\r\nimport { ForgeParams } from '@taquito/local-forging';\r\n/**\r\n * @description PrepareProvider is a utility class to output the prepared format of an operation\r\n */\r\nexport interface PreparationProvider {\r\n /**\r\n * @description Method to prepare an activation operation\r\n * @param operation RPCOperation object or RPCOperation array\r\n * @param source string or undefined source pkh\r\n * @returns a PreparedOperation object\r\n */\r\n activate(params: ActivationParams): Promise;\r\n /**\r\n *\r\n * @description Method to prepare a reveal operation\r\n * @param params reveal operation parameters\r\n * @param source string or undefined source pkh\r\n * @returns a PreparedOperation object\r\n */\r\n reveal(params: RevealParams): Promise;\r\n /**\r\n * @description Method to prepare an origination operation\r\n * @param params originate operation parameters\r\n * @param source string or undefined source pkh\r\n * @returns a PreparedOperation object\r\n */\r\n originate(params: OriginateParams): Promise;\r\n /**\r\n *\r\n * @description Method to prepare a transaction operation\r\n *\r\n * @param params transaction operation parameters\r\n * @param source string or undefined source pkh\r\n *\r\n * @returns a PreparedOperation object\r\n */\r\n transaction(params: TransferParams): Promise;\r\n /**\r\n *\r\n * @description Method to prepare a delegation operation\r\n * @param params delegation operation parameters\r\n * @param source string or undefined source pkh\r\n * @returns a PreparedOperation object\r\n */\r\n delegation(params: DelegateParams): Promise;\r\n /**\r\n * @description Method to prepare a register_global_constant operation\r\n * @param params registerGlobalConstant operation parameters\r\n * @param source string or undefined source pkh\r\n * @returns a PreparedOperation object\r\n */\r\n registerGlobalConstant(params: RegisterGlobalConstantParams): Promise;\r\n /**\r\n * @description Method to prepare an update_consensus_key operation\r\n * @param params updateConsensusKey operation parameters\r\n * @param source string or undefined source pkh\r\n * @returns a PreparedOperation object\r\n */\r\n updateConsensusKey(params: UpdateConsensusKeyParams): Promise;\r\n /**\r\n *\r\n * @description Method to prepare a transfer_ticket operation\r\n * @param params TransferTicketx operation parameters\r\n * @param source string or undefined source pkh\r\n * @returns a PreparedOperation object\r\n */\r\n transferTicket(params: TransferTicketParams): Promise;\r\n /**\r\n * @description Method to prepare an increase_paid_storage operation\r\n * @param params increasePaidStorage operation parameters\r\n * @param source string or undefined source pkh\r\n * @returns a PreparedOperation object\r\n */\r\n increasePaidStorage(params: IncreasePaidStorageParams): Promise;\r\n /**\r\n * @description Method to prepare a ballot operation\r\n * @param params ballot operation parameters\r\n * @returns a PreparedOperation object\r\n */\r\n ballot(params: BallotParams): Promise;\r\n /**\r\n *\r\n * @description Method to prepare a proposals operation\r\n * @param params proposals operation parameters\r\n * @returns a PreparedOperation object\r\n */\r\n proposals(params: ProposalsParams): Promise;\r\n /**\r\n * @description Method to prepare a drain_delegate operation\r\n * @param params drainDelegatex operation parameters\r\n * @returns a PreparedOperation object\r\n */\r\n drainDelegate(params: DrainDelegateParams): Promise;\r\n /**\r\n *\r\n * @description Method to prepare a batch operation\r\n * @param params x operation parameters\r\n * @returns a PreparedOperation object\r\n */\r\n batch(batchParams: ParamsWithKind[]): Promise;\r\n /**\r\n * @description Method to prepare a contract call (transfer) operation\r\n * @param contractMethod ContractMethod or ContractMethodObject retrieved from smart contract\r\n * @returns a PreparedOperation object\r\n */\r\n contractCall(contractMethod: ContractMethod | ContractMethodObject): Promise;\r\n /**\r\n *\r\n * @description Method to convert a PreparedOperation to the params needed for the preapplyOperation method\r\n * @param prepared a Prepared Operation\r\n * @returns a PreapplyParams object\r\n */\r\n toPreapply(prepared: PreparedOperation): Promise;\r\n /**\r\n *\r\n * @description Method to convert a PreparedOperation to the params needed for forging\r\n * @param param a Prepared Operation\r\n * @returns a ForgeParams object\r\n */\r\n toForge(param: PreparedOperation): ForgeParams;\r\n}\r\nexport interface PreparedOperation {\r\n opOb: {\r\n branch: string;\r\n contents: OperationContents[];\r\n protocol: string;\r\n };\r\n counter: number;\r\n}\r\n"},{name:"@taquito/prepare/prepare-provider.d.ts",dts:"import { PreapplyParams } from '@taquito/rpc';\r\nimport { DelegateParams, RevealParams, RegisterGlobalConstantParams, TransferParams, OriginateParams, UpdateConsensusKeyParams, TransferTicketParams, IncreasePaidStorageParams, BallotParams, ProposalsParams, DrainDelegateParams, ParamsWithKind, SmartRollupAddMessagesParams, SmartRollupOriginateParams, RegisterDelegateParams, ActivationParams } from '../operations/types';\r\nimport { PreparationProvider, PreparedOperation } from './interface';\r\nimport { Context } from '../context';\r\nimport { ContractMethod } from '../contract/contract-methods/contract-method-flat-param';\r\nimport { ContractMethodObject } from '../contract/contract-methods/contract-method-object-param';\r\nimport { ContractProvider } from '../contract/interface';\r\nimport { DefaultContractType, ContractStorageType } from '../contract';\r\nimport { Estimate } from '../estimate';\r\nimport { ForgeParams } from '@taquito/local-forging';\r\nimport { Provider } from '../provider';\r\n/**\r\n * @description PrepareProvider is a utility class to output the prepared format of an operation\r\n */\r\nexport declare class PrepareProvider extends Provider implements PreparationProvider {\r\n #private;\r\n protected context: Context;\r\n constructor(context: Context);\r\n private getBlockHash;\r\n private getProtocolHash;\r\n private getHeadCounter;\r\n private adjustGasForBatchOperation;\r\n private getAccountLimits;\r\n private getFee;\r\n private getSource;\r\n private addRevealOperationIfNeeded;\r\n private getKeys;\r\n private convertIntoArray;\r\n private constructOpContents;\r\n /**\r\n *\r\n * @description Method to prepare an activation operation\r\n * @param operation RPCOperation object or RPCOperation array\r\n * @param source string or undefined source pkh\r\n * @returns a PreparedOperation object\r\n */\r\n activate({ pkh, secret }: ActivationParams): Promise;\r\n /**\r\n *\r\n * @description Method to prepare a reveal operation\r\n * @param operation RPCOperation object or RPCOperation array\r\n * @param source string or undefined source pkh\r\n * @returns a PreparedOperation object\r\n */\r\n reveal({ fee, gasLimit, storageLimit }: RevealParams): Promise;\r\n /**\r\n *\r\n * @description Method to prepare an origination operation\r\n * @param operation RPCOperation object or RPCOperation array\r\n * @param source string or undefined source pkh\r\n * @returns a PreparedOperation object\r\n */\r\n originate({ fee, storageLimit, gasLimit, ...rest }: OriginateParams>, source?: string): Promise;\r\n /**\r\n *\r\n * @description Method to prepare a transaction operation\r\n * @param operation RPCOperation object or RPCOperation array\r\n * @param source string or undefined source pkh\r\n * @returns a PreparedOperation object\r\n */\r\n transaction({ fee, storageLimit, gasLimit, ...rest }: TransferParams): Promise;\r\n /**\r\n *\r\n * @description Method to prepare a delegation operation\r\n * @param operation RPCOperation object or RPCOperation array\r\n * @param source string or undefined source pkh\r\n * @returns a PreparedOperation object\r\n */\r\n delegation({ fee, storageLimit, gasLimit, ...rest }: DelegateParams): Promise;\r\n /**\r\n *\r\n * @description Method to prepare a register delegate operation\r\n * @param operation RPCOperation object or RPCOperation array\r\n * @param source string or undefined source pkh\r\n * @returns a PreparedOperation object\r\n */\r\n registerDelegate({ fee, storageLimit, gasLimit }: RegisterDelegateParams, source?: string): Promise;\r\n /**\r\n *\r\n * @description Method to prepare a register_global_constant operation\r\n * @param operation RPCOperation object or RPCOperation array\r\n * @param source string or undefined source pkh\r\n * @returns a PreparedOperation object\r\n */\r\n registerGlobalConstant({ fee, storageLimit, gasLimit, ...rest }: RegisterGlobalConstantParams): Promise;\r\n /**\r\n *\r\n * @description Method to prepare an update_consensus_key operation\r\n * @param operation RPCOperation object or RPCOperation array\r\n * @param source string or undefined source pkh\r\n * @returns a PreparedOperation object\r\n */\r\n updateConsensusKey({ fee, storageLimit, gasLimit, ...rest }: UpdateConsensusKeyParams, source?: string): Promise;\r\n /**\r\n *\r\n * @description Method to prepare an increase_paid_storage operation\r\n * @param operation RPCOperation object or RPCOperation array\r\n * @param source string or undefined source pkh\r\n * @returns a PreparedOperation object\r\n */\r\n increasePaidStorage({ fee, storageLimit, gasLimit, ...rest }: IncreasePaidStorageParams): Promise;\r\n /**\r\n *\r\n * @description Method to prepare a ballot operation\r\n * @param operation RPCOperation object or RPCOperation array\r\n * @returns a PreparedOperation object\r\n */\r\n ballot(params: BallotParams): Promise;\r\n /**\r\n *\r\n * @description Method to prepare a proposals operation\r\n * @param operation RPCOperation object or RPCOperation array\r\n * @returns a PreparedOperation object\r\n */\r\n proposals(params: ProposalsParams): Promise;\r\n /**\r\n *\r\n * @description Method to prepare a drain_delegate operation\r\n * @param operation RPCOperation object or RPCOperation array\r\n * @returns a PreparedOperation object\r\n */\r\n drainDelegate(params: DrainDelegateParams, source?: string): Promise;\r\n /**\r\n *\r\n * @description Method to prepare a transfer_ticket operation\r\n * @param operation RPCOperation object or RPCOperation array\r\n * @param source string or undefined source pkh\r\n * @returns a PreparedOperation object\r\n */\r\n transferTicket({ fee, storageLimit, gasLimit, ...rest }: TransferTicketParams): Promise;\r\n /**\r\n *\r\n * @description Method to prepare a smart_rollup_add_messages operation\r\n * @param operation RPCOperation object or RPCOperation array\r\n * @param source string or undefined source pkh\r\n * @returns a PreparedOperation object\r\n */\r\n smartRollupAddMessages({ fee, storageLimit, gasLimit, ...rest }: SmartRollupAddMessagesParams): Promise;\r\n /**\r\n *\r\n * @description Method to prepare a smart_rollup_originate operation\r\n * @param operation RPCOperation object or RPCOperation array\r\n * @returns a PreparedOperation object\r\n */\r\n smartRollupOriginate({ fee, storageLimit, gasLimit, ...rest }: SmartRollupOriginateParams): Promise;\r\n /**\r\n *\r\n * @description Method to prepare a batch operation\r\n * @param operation RPCOperation object or RPCOperation array\r\n * @returns a PreparedOperation object\r\n */\r\n batch(batchParams: ParamsWithKind[], estimates?: Estimate[]): Promise;\r\n /**\r\n *\r\n * @description Method to prepare a batch operation\r\n * @param operation RPCOperation object or RPCOperation array\r\n * @returns a PreparedOperation object\r\n */\r\n contractCall(contractMethod: ContractMethod | ContractMethodObject): Promise;\r\n /**\r\n *\r\n * @description Method to convert a PreparedOperation to the params needed for the preapplyOperation method\r\n * @param prepared a Prepared Operation\r\n * @returns a PreapplyParams object\r\n */\r\n toPreapply(prepared: PreparedOperation): Promise;\r\n /**\r\n *\r\n * @description Method to convert a PreparedOperation to the params needed for forging\r\n * @param param a Prepared Operation\r\n * @returns a ForgeParams object\r\n */\r\n toForge({ opOb: { contents, branch } }: PreparedOperation): ForgeParams;\r\n}\r\n"},{name:"@taquito/read-provider/interface.d.ts",dts:"import { BlockResponse, EntrypointsResponse, MichelsonV1Expression, SaplingDiffResponse, ScriptedContracts } from '@taquito/rpc';\r\nimport BigNumber from 'bignumber.js';\r\nexport declare type BigMapQuery = {\r\n id: string;\r\n expr: string;\r\n};\r\nexport declare type SaplingStateQuery = {\r\n id: string;\r\n};\r\nexport declare type BlockIdentifier = 'head' | `head~${number}` | `B${string}` | number;\r\nexport interface TzReadProvider {\r\n /**\r\n * @description Access the balance of a contract.\r\n * @param address address from which we want to retrieve the balance\r\n * @param block from which we want to retrieve the balance\r\n * @returns the balance in mutez\r\n */\r\n getBalance(address: string, block: BlockIdentifier): Promise;\r\n /**\r\n * @description Access the delegate of a contract, if any.\r\n * @param address contract address from which we want to retrieve the delegate (baker)\r\n * @param block from which we want to retrieve the delegate\r\n * @returns the public key hash of the delegate or null if no delegate\r\n */\r\n getDelegate(address: string, block: BlockIdentifier): Promise;\r\n /**\r\n * @description Access the next protocol hash\r\n * @param block from which we want to retrieve the next protocol hash\r\n */\r\n getNextProtocol(block: BlockIdentifier): Promise;\r\n /**\r\n * @description Access protocol constants used in Taquito\r\n * @param block from which we want to retrieve the constants\r\n */\r\n getProtocolConstants(block: BlockIdentifier): Promise<{\r\n time_between_blocks?: BigNumber[];\r\n minimal_block_delay?: BigNumber;\r\n hard_gas_limit_per_operation: BigNumber;\r\n hard_gas_limit_per_block: BigNumber;\r\n hard_storage_limit_per_operation: BigNumber;\r\n cost_per_byte: BigNumber;\r\n tx_rollup_origination_size?: number;\r\n smart_rollup_origination_size: number;\r\n }>;\r\n /**\r\n * @description Access the script (code and storage) of a smart contract\r\n * @param contract contract address from which we want to retrieve the script\r\n * @param block from which we want to retrieve the storage value\r\n * @returns Note: The code must be in the JSON format and not contain global constant\r\n */\r\n getScript(contract: string, block: BlockIdentifier): Promise;\r\n /**\r\n * @description Access the storage of a contract\r\n * @param contract contract address from which we want to retrieve the storage\r\n * @param block from which we want to retrieve the storage value\r\n */\r\n getStorage(contract: string, block: BlockIdentifier): Promise;\r\n /**\r\n * @description Access the block hash\r\n */\r\n getBlockHash(block: BlockIdentifier): Promise;\r\n /**\r\n * @description Access the block level\r\n */\r\n getBlockLevel(block: BlockIdentifier): Promise;\r\n /**\r\n * @description Access the counter of an address\r\n * @param pkh from which we want to retrieve the counter\r\n * @param block from which we want to retrieve the counter\r\n */\r\n getCounter(pkh: string, block: BlockIdentifier): Promise;\r\n /**\r\n * @description Access the timestamp of a block\r\n * @param block from which we want to retrieve the timestamp\r\n * @returns date ISO format zero UTC offset (\"2022-01-19T22:37:07Z\")\r\n */\r\n getBlockTimestamp(block: BlockIdentifier): Promise;\r\n /**\r\n * @description Access the value associated with a key in a big map.\r\n * @param bigMapQuery Big Map ID and Expression hash to query (A b58check encoded Blake2b hash of the expression)\r\n * @param block from which we want to retrieve the big map value\r\n */\r\n getBigMapValue(bigMapQuery: BigMapQuery, block: BlockIdentifier): Promise;\r\n /**\r\n * @description Access the value associated with a sapling state ID.\r\n * @param id Sapling state ID\r\n * @param block from which we want to retrieve the sapling state\r\n */\r\n getSaplingDiffById(saplingStateQuery: SaplingStateQuery, block: BlockIdentifier): Promise;\r\n /**\r\n * @description Access the sapling state of a smart contract.\r\n * @param contractAddress The address of the smart contract\r\n * @param block The block you want to retrieve the sapling state from\r\n */\r\n getSaplingDiffByContract(contractAddress: string, block: BlockIdentifier): Promise;\r\n /**\r\n * @description Return the list of entrypoints of the contract\r\n * @param contract address of the contract we want to get the entrypoints of\r\n */\r\n getEntrypoints(contract: string): Promise;\r\n /**\r\n * @description Access the chain id\r\n */\r\n getChainId(): Promise;\r\n /**\r\n * @description Indicate if an account is revealed\r\n * @param publicKeyHash of the account\r\n * @param block from which we want to know if the account is revealed\r\n */\r\n isAccountRevealed(publicKeyHash: string, block: BlockIdentifier): Promise;\r\n /**\r\n * @description Return all the information about a block\r\n * @param block from which we want to retrieve the information\r\n */\r\n getBlock(block: BlockIdentifier): Promise;\r\n /**\r\n * @description Return a list of the ancestors of the given block which, if referred to as the branch in an operation header, are recent enough for that operation to be included in the current block.\r\n * @param block from which we want to retrieve the information\r\n */\r\n getLiveBlocks(block: BlockIdentifier): Promise;\r\n}\r\n"},{name:"@taquito/read-provider/rpc-read-adapter.d.ts",dts:"import { BlockResponse, EntrypointsResponse, MichelsonV1Expression, RpcClientInterface, SaplingDiffResponse, ScriptedContracts } from '@taquito/rpc';\r\nimport BigNumber from 'bignumber.js';\r\nimport { BigMapQuery, BlockIdentifier, SaplingStateQuery, TzReadProvider } from './interface';\r\n/**\r\n * @description Converts calls from TzReadProvider into calls to the wrapped RpcClient in a format it can understand.\r\n */\r\nexport declare class RpcReadAdapter implements TzReadProvider {\r\n private rpc;\r\n constructor(rpc: RpcClientInterface);\r\n /**\r\n * @description Access the balance of a contract.\r\n * @param address address from which we want to retrieve the balance\r\n * @param block from which we want to retrieve the balance\r\n * @returns the balance in mutez\r\n */\r\n getBalance(address: string, block: BlockIdentifier): Promise;\r\n /**\r\n * @description Access the delegate of a contract, if any.\r\n * @param address contract address from which we want to retrieve the delegate (baker)\r\n * @param block from which we want to retrieve the delegate\r\n * @returns the public key hash of the delegate or null if no delegate\r\n */\r\n getDelegate(address: string, block: BlockIdentifier): Promise;\r\n /**\r\n * @description Access the next protocol hash\r\n * @param block from which we want to retrieve the next protocol hash\r\n */\r\n getNextProtocol(block: BlockIdentifier): Promise;\r\n /**\r\n * @description Access protocol constants used in Taquito\r\n * @param block from which we want to retrieve the constants\r\n */\r\n getProtocolConstants(block: BlockIdentifier): Promise<{\r\n time_between_blocks?: BigNumber[];\r\n minimal_block_delay?: BigNumber | undefined;\r\n hard_gas_limit_per_operation: BigNumber;\r\n hard_gas_limit_per_block: BigNumber;\r\n hard_storage_limit_per_operation: BigNumber;\r\n cost_per_byte: BigNumber;\r\n tx_rollup_origination_size?: number;\r\n smart_rollup_origination_size: number;\r\n }>;\r\n /**\r\n * @description Access the script (code and storage) of a smart contract\r\n * @param contract contract address from which we want to retrieve the script\r\n * @param block from which we want to retrieve the storage value\r\n * @returns Note: The code must be in the JSON format and not contain global constant\r\n */\r\n getScript(contract: string, block: BlockIdentifier): Promise;\r\n /**\r\n * @description Access the storage value of a contract\r\n * @param contract contract address from which we want to retrieve the storage\r\n * @param block from which we want to retrieve the storage value\r\n */\r\n getStorage(contract: string, block: BlockIdentifier): Promise;\r\n /**\r\n * @description Access the block hash\r\n */\r\n getBlockHash(block: BlockIdentifier): Promise;\r\n /**\r\n * @description Access the block level\r\n */\r\n getBlockLevel(block: BlockIdentifier): Promise;\r\n /**\r\n * @description Access the counter of an address\r\n * @param pkh from which we want to retrieve the counter\r\n * @param block from which we want to retrieve the counter\r\n */\r\n getCounter(pkh: string, block: BlockIdentifier): Promise;\r\n /**\r\n * @description Access the timestamp of a block\r\n * @param block from which we want to retrieve the timestamp\r\n * @returns date ISO format zero UTC offset (\"2022-01-19T22:37:07Z\")\r\n */\r\n getBlockTimestamp(block: BlockIdentifier): Promise;\r\n /**\r\n * @description Access the value associated with a key in a big map.\r\n * @param bigMapQuery Big Map ID and Expression hash to query (A b58check encoded Blake2b hash of the expression)\r\n * @param block from which we want to retrieve the big map value\r\n */\r\n getBigMapValue(bigMapQuery: BigMapQuery, block: BlockIdentifier): Promise;\r\n /**\r\n * @description Access the value associated with a sapling state ID.\r\n * @param id Sapling state ID\r\n * @param block from which we want to retrieve the sapling state\r\n */\r\n getSaplingDiffById(saplingStateQuery: SaplingStateQuery, block: BlockIdentifier): Promise;\r\n /**\r\n * @description Access the sapling state of a smart contract.\r\n * @param contractAddress The address of the smart contract\r\n * @param block The block you want to retrieve the sapling state from\r\n */\r\n getSaplingDiffByContract(contractAddress: string, block: BlockIdentifier): Promise;\r\n /**\r\n * @description Return the list of entrypoints of the contract\r\n * @param contract address of the contract we want to get the entrypoints of\r\n */\r\n getEntrypoints(contract: string): Promise;\r\n /**\r\n * @description Access the chain id\r\n */\r\n getChainId(): Promise;\r\n /**\r\n * @description Indicate if an account is revealed\r\n * @param publicKeyHash of the account\r\n * @param block from which we want to know if the account is revealed\r\n */\r\n isAccountRevealed(publicKeyHash: string, block: BlockIdentifier): Promise;\r\n /**\r\n * @description Return all the information about a block\r\n * @param block from which we want to retrieve the information\r\n */\r\n getBlock(block: BlockIdentifier): Promise;\r\n /**\r\n * @description Return a list of the ancestors of the given block which, if referred to as the branch in an operation header, are recent enough for that operation to be included in the current block.\r\n * @param block from which we want to retrieve the information\r\n */\r\n getLiveBlocks(block: BlockIdentifier): Promise;\r\n}\r\n"},{name:"@taquito/signer/errors.d.ts",dts:"import { TezosToolkitConfigError } from '@taquito/core';\r\n/**\r\n * @category Error\r\n * @description Error that indicates no signer has been configured in the TezosToolkit instance\r\n */\r\nexport declare class UnconfiguredSignerError extends TezosToolkitConfigError {\r\n constructor();\r\n}\r\n"},{name:"@taquito/signer/interface.d.ts",dts:"/**\r\n * @description Signer interface which is used across taquito in order to sign and inject operation\r\n */\r\nexport interface Signer {\r\n /**\r\n *\r\n * @param op Operation to sign\r\n * @param magicByte Magic bytes 11 for block, 12 for preendorsement, 13 for endorsements, 3 for generic, 5 for the PACK format of michelson\r\n */\r\n sign(op: string, magicByte?: Uint8Array): Promise<{\r\n bytes: string;\r\n sig: string;\r\n prefixSig: string;\r\n sbytes: string;\r\n }>;\r\n /**\r\n * @description Return the public key of the account used by the signer\r\n */\r\n publicKey(): Promise;\r\n /**\r\n * @description Return the public key hash of the account used by the signer\r\n */\r\n publicKeyHash(): Promise;\r\n /**\r\n * @description Optionally return the secret key of the account used by the signer\r\n */\r\n secretKey(): Promise;\r\n}\r\n"},{name:"@taquito/signer/noop.d.ts",dts:"import { Signer } from './interface';\r\n/**\r\n * @description Default signer implementation which does nothing and produce invalid signature\r\n * @throw {@link UnconfiguredSignerError}\r\n */\r\nexport declare class NoopSigner implements Signer {\r\n publicKey(): Promise;\r\n publicKeyHash(): Promise;\r\n secretKey(): Promise;\r\n sign(_bytes: string, _watermark?: Uint8Array): Promise;\r\n}\r\n"},{name:"@taquito/subscribe/create-observable-from-subscription.d.ts",dts:"import { BlockResponse } from '@taquito/rpc';\r\nimport { Observable } from 'rxjs';\r\nimport { OperationContent, Subscription } from './interface';\r\nexport declare function createObservableFromSubscription(sub: Subscription): Observable;\r\n"},{name:"@taquito/subscribe/errors.d.ts",dts:"import { ParameterValidationError } from '@taquito/core';\r\nimport { FilterExpression } from '../taquito';\r\n/**\r\n * @category Error\r\n * @description Error that indicates an unsupported event being passed or used\r\n */\r\nexport declare class UnsupportedEventError extends ParameterValidationError {\r\n readonly type: string;\r\n constructor(type: string);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates an invalid filter expression being passed or used\r\n */\r\nexport declare class InvalidFilterExpressionError extends ParameterValidationError {\r\n readonly invalidExpression: FilterExpression;\r\n constructor(invalidExpression: FilterExpression);\r\n}\r\n"},{name:"@taquito/subscribe/filters.d.ts",dts:"import { OpFilter, FilterExpression, Filter, OperationContent } from './interface';\r\nimport { InternalOperationResult } from '@taquito/rpc';\r\nexport declare const eventFilter: (result: InternalOperationResult, address?: string | undefined, tag?: string | undefined, excludeFailedOperations?: boolean | undefined) => boolean;\r\nexport declare const evaluateOpFilter: (op: OperationContent, filter: OpFilter) => boolean | undefined;\r\nexport declare const evaluateExpression: (op: OperationContent, exp: FilterExpression) => boolean;\r\nexport declare const evaluateFilter: (op: OperationContent, filter: Filter) => boolean;\r\n"},{name:"@taquito/subscribe/interface.d.ts",dts:"import { BlockResponse, InternalOperationResult, OperationEntry } from '@taquito/rpc';\r\nexport declare type FilterExpression = {\r\n or?: ExpressionOrOpFilter[];\r\n and?: ExpressionOrOpFilter[];\r\n};\r\nexport interface OpHashFilter {\r\n opHash: string;\r\n}\r\nexport interface SourceFilter {\r\n source: string;\r\n}\r\nexport interface KindFilter {\r\n kind: string;\r\n}\r\nexport interface DestinationFilter {\r\n destination: string;\r\n}\r\nexport interface EventFilter {\r\n address?: string;\r\n tag?: string;\r\n excludeFailedOperations?: boolean;\r\n}\r\nexport interface EventSubscription extends InternalOperationResult {\r\n opHash: string;\r\n blockHash: string;\r\n level: number;\r\n}\r\nexport declare type OpFilter = OpHashFilter | SourceFilter | KindFilter | DestinationFilter | EventFilter;\r\nexport declare type ExpressionOrOpFilter = OpFilter | FilterExpression;\r\nexport declare type Filter = ExpressionOrOpFilter | ExpressionOrOpFilter[];\r\nexport declare type OperationContent = OperationEntry['contents'][0] & {\r\n hash: string;\r\n};\r\nexport interface SubscribeProvider {\r\n subscribe(filter: 'head'): Subscription;\r\n subscribeBlock(filter: 'head'): Subscription;\r\n subscribeOperation(filter: Filter): Subscription;\r\n subscribeEvent(filter?: EventFilter): Subscription;\r\n}\r\nexport interface Subscription {\r\n on(type: 'error', cb: (error: Error) => void): void;\r\n on(type: 'data', cb: (data: T) => void): void;\r\n on(type: 'close', cb: () => void): void;\r\n off(type: 'error', cb: (error: Error) => void): void;\r\n off(type: 'data', cb: (data: T) => void): void;\r\n off(type: 'close', cb: () => void): void;\r\n close(): void;\r\n}\r\n"},{name:"@taquito/subscribe/observable-subscription.d.ts",dts:"import { Observable, OperatorFunction } from 'rxjs';\r\nimport { Subscription } from './interface';\r\nexport { UnsupportedEventError } from './errors';\r\nexport declare class ObservableSubscription implements Subscription {\r\n private shouldRetry;\r\n private operatorFunction;\r\n private errorListeners;\r\n private messageListeners;\r\n private closeListeners;\r\n private completed$;\r\n constructor(obs: Observable, shouldRetry?: boolean, operatorFunction?: OperatorFunction);\r\n private call;\r\n private remove;\r\n on(type: 'error', cb: (error: Error) => void): void;\r\n on(type: 'data', cb: (data: T) => void): void;\r\n on(type: 'close', cb: () => void): void;\r\n off(type: 'error', cb: (error: Error) => void): void;\r\n off(type: 'data', cb: (data: T) => void): void;\r\n off(type: 'close', cb: () => void): void;\r\n close(): void;\r\n}\r\n"},{name:"@taquito/subscribe/polling-subcribe-provider.d.ts",dts:"import { BlockResponse, InternalOperationResult } from '@taquito/rpc';\r\nimport { OperatorFunction } from 'rxjs';\r\nimport { Context } from '../context';\r\nimport { Filter, EventFilter, SubscribeProvider, Subscription, OperationContent } from './interface';\r\nexport interface PollingSubscribeProviderConfig {\r\n pollingIntervalMilliseconds?: number;\r\n shouldObservableSubscriptionRetry: boolean;\r\n observableSubscriptionRetryFunction: OperatorFunction;\r\n}\r\nexport declare const defaultConfigStreamer: PollingSubscribeProviderConfig;\r\nexport declare class PollingSubscribeProvider implements SubscribeProvider {\r\n private context;\r\n private _config$;\r\n private timer$;\r\n private newBlock$;\r\n constructor(context: Context, config?: Partial);\r\n get config(): PollingSubscribeProviderConfig;\r\n private getConfirmationPollingInterval;\r\n subscribeBlock(_filter: 'head'): Subscription;\r\n subscribe(_filter: 'head'): Subscription;\r\n subscribeOperation(filter: Filter): Subscription;\r\n subscribeEvent(eventFilter?: EventFilter): Subscription;\r\n}\r\n"},{name:"@taquito/tz/interface.d.ts",dts:"import BigNumber from 'bignumber.js';\r\nimport { Operation } from '../operations/operations';\r\nexport interface TzProvider {\r\n /**\r\n *\r\n * @param address Tezos address you want to get the balance for (eg tz1...)\r\n */\r\n getBalance(address: string): Promise;\r\n /**\r\n *\r\n * @param address Tezos address you want to get the delegate for (eg tz1...)\r\n */\r\n getDelegate(address: string): Promise;\r\n activate(pkh: string, secret: string): Promise;\r\n}\r\n"},{name:"@taquito/tz/rpc-tz-provider.d.ts",dts:"import BigNumber from 'bignumber.js';\r\nimport { Context } from '../context';\r\nimport { Operation } from '../operations/operations';\r\nimport { TzProvider } from './interface';\r\nimport { Provider } from '../provider';\r\nexport declare class RpcTzProvider extends Provider implements TzProvider {\r\n constructor(context: Context);\r\n private prepare;\r\n getBalance(address: string): Promise;\r\n getDelegate(address: string): Promise;\r\n activate(pkh: string, secret: string): Promise;\r\n}\r\n"},{name:"@taquito/wallet/batch-operation.d.ts",dts:"import { BlockResponse, OperationContentsAndResultReveal } from '@taquito/rpc';\r\nimport { Observable } from 'rxjs';\r\nimport { Context } from '../context';\r\nimport { WalletOperation, OperationStatus } from './operation';\r\nexport declare class BatchWalletOperation extends WalletOperation {\r\n readonly opHash: string;\r\n protected readonly context: Context;\r\n constructor(opHash: string, context: Context, newHead$: Observable);\r\n revealOperation(): Promise;\r\n getOriginatedContractAddresses: () => Promise;\r\n status(): Promise;\r\n}\r\n"},{name:"@taquito/wallet/delegation-operation.d.ts",dts:"import { BlockResponse, OperationContentsAndResultDelegation, OperationContentsAndResultReveal } from '@taquito/rpc';\r\nimport { Observable } from 'rxjs';\r\nimport { Context } from '../context';\r\nimport { WalletOperation, OperationStatus } from './operation';\r\nexport declare class DelegationWalletOperation extends WalletOperation {\r\n readonly opHash: string;\r\n protected readonly context: Context;\r\n constructor(opHash: string, context: Context, newHead$: Observable);\r\n revealOperation(): Promise;\r\n delegationOperation(): Promise;\r\n status(): Promise;\r\n}\r\n"},{name:"@taquito/wallet/errors.d.ts",dts:"import { TezosToolkitConfigError, NetworkError } from '@taquito/core';\r\n/**\r\n * @category Error\r\n * @description Error that indicates undefined confirmation has not been specified or configured\r\n */\r\nexport declare class ConfirmationUndefinedError extends TezosToolkitConfigError {\r\n constructor();\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates a generic failure when trying to fetch an observable\r\n */\r\nexport declare class ObservableError extends NetworkError {\r\n readonly message: string;\r\n constructor(message: string);\r\n}\r\n"},{name:"@taquito/wallet/increase-paid-storage-operation.d.ts",dts:"import { WalletOperation, OperationStatus } from './operation';\r\nimport { Context } from '../context';\r\nimport { Observable } from 'rxjs';\r\nimport { BlockResponse, OperationContentsAndResultReveal, OperationContentsAndResultIncreasePaidStorage } from '@taquito/rpc';\r\nexport declare class IncreasePaidStorageWalletOperation extends WalletOperation {\r\n readonly opHash: string;\r\n protected readonly context: Context;\r\n constructor(opHash: string, context: Context, newHead$: Observable);\r\n revealOperation(): Promise;\r\n increasePaidStorageOperation(): Promise;\r\n status(): Promise;\r\n}\r\n"},{name:"@taquito/wallet/index.d.ts",dts:"export * from './wallet';\r\nexport * from './operation';\r\nexport * from './transaction-operation';\r\nexport * from './origination-operation';\r\nexport * from './delegation-operation';\r\nexport * from './interface';\r\nexport * from './legacy';\r\n"},{name:"@taquito/wallet/interface.d.ts",dts:"import { DelegateParams, FailingNoopParams, IncreasePaidStorageParams, OriginateParams, TransferParams } from '../operations/types';\r\nexport declare type WalletDefinedFields = 'source';\r\nexport declare type WalletTransferParams = Omit;\r\nexport declare type WalletOriginateParams = Omit, WalletDefinedFields>;\r\nexport declare type WalletDelegateParams = Omit;\r\nexport declare type WalletFailingNoopParams = Omit;\r\nexport declare type WalletIncreasePaidStorageParams = Omit;\r\nexport interface WalletProvider {\r\n /**\r\n * @description Request the public key hash from the wallet\r\n */\r\n getPKH: () => Promise;\r\n /**\r\n * @description Transform WalletTransferParams into a format compliant with the underlying wallet\r\n */\r\n mapTransferParamsToWalletParams: (params: () => Promise) => Promise;\r\n /**\r\n * @description Transform WalletOriginateParams into a format compliant with the underlying wallet\r\n */\r\n mapOriginateParamsToWalletParams: (params: () => Promise) => Promise;\r\n /**\r\n * @description Transform WalletDelegateParams into a format compliant with the underlying wallet\r\n */\r\n mapDelegateParamsToWalletParams: (params: () => Promise) => Promise;\r\n /**\r\n * @description Transform WalletIncreasePaidStorageParams into a format compliant with the underlying wallet\r\n */\r\n mapIncreasePaidStorageWalletParams: (params: () => Promise) => Promise;\r\n /**\r\n * @description Request the wallet to send an operation batch\r\n */\r\n sendOperations: (params: any[]) => Promise;\r\n /**\r\n * @description Request the wallet to sign a payload\r\n */\r\n sign(bytes: string, watermark?: Uint8Array): Promise;\r\n /**\r\n * @description Get the public key from the wallet\r\n */\r\n getPK(): Promise;\r\n}\r\n"},{name:"@taquito/wallet/legacy.d.ts",dts:"import { Context } from '../context';\r\nimport { OpKind } from '../operations/types';\r\nimport { WalletDelegateParams, WalletIncreasePaidStorageParams, WalletOriginateParams, WalletProvider, WalletTransferParams } from './interface';\r\nimport { WalletParamsWithKind } from './wallet';\r\nexport declare class LegacyWalletProvider implements WalletProvider {\r\n private context;\r\n constructor(context: Context);\r\n getPKH(): Promise;\r\n mapTransferParamsToWalletParams(params: () => Promise): Promise>;\r\n mapOriginateParamsToWalletParams(params: () => Promise): Promise, OpKind.ORIGINATION>>;\r\n mapDelegateParamsToWalletParams(params: () => Promise): Promise>;\r\n mapIncreasePaidStorageWalletParams(params: () => Promise): Promise>;\r\n sendOperations(params: WalletParamsWithKind[]): Promise;\r\n sign(bytes: string, watermark?: Uint8Array): Promise;\r\n getPK(): Promise;\r\n}\r\n"},{name:"@taquito/wallet/operation-factory.d.ts",dts:"import { BlockResponse } from '@taquito/rpc';\r\nimport { Observable, SchedulerLike } from 'rxjs';\r\nimport { Context } from '../context';\r\nimport { BatchWalletOperation } from './batch-operation';\r\nimport { DelegationWalletOperation } from './delegation-operation';\r\nimport { IncreasePaidStorageWalletOperation } from './increase-paid-storage-operation';\r\nimport { WalletOperation } from './operation';\r\nimport { OriginationWalletOperation } from './origination-operation';\r\nimport { TransactionWalletOperation } from './transaction-operation';\r\nexport declare function timeoutAfter(timeoutMillisec: number): (source: Observable) => Observable;\r\nexport declare const createNewPollingBasedHeadObservable: (sharedHeadOb: Observable, context: Context, _scheduler?: SchedulerLike | undefined) => Observable;\r\nexport interface OperationFactoryConfig {\r\n blockIdentifier?: string;\r\n}\r\nexport declare class OperationFactory {\r\n private context;\r\n constructor(context: Context);\r\n private sharedHeadObs;\r\n private createNewHeadObservable;\r\n private createPastBlockWalker;\r\n private createHeadObservableFromConfig;\r\n createOperation(hash: string, config?: OperationFactoryConfig): Promise;\r\n createBatchOperation(hash: string, config?: OperationFactoryConfig): Promise;\r\n createTransactionOperation(hash: string, config?: OperationFactoryConfig): Promise;\r\n createDelegationOperation(hash: string, config?: OperationFactoryConfig): Promise;\r\n createOriginationOperation(hash: string, config?: OperationFactoryConfig): Promise;\r\n createIncreasePaidStorageOperation(hash: string, config?: OperationFactoryConfig): Promise;\r\n}\r\n"},{name:"@taquito/wallet/operation.d.ts",dts:"import { BlockResponse, OperationContentsAndResult, OperationResultStatusEnum } from '@taquito/rpc';\r\nimport { Observable, ReplaySubject } from 'rxjs';\r\nimport { Context } from '../context';\r\nimport { Receipt } from './receipt';\r\nimport { BlockIdentifier } from '../read-provider/interface';\r\nexport declare type OperationStatus = 'pending' | 'unknown' | OperationResultStatusEnum;\r\n/**\r\n * @description WalletOperation allows to monitor operation inclusion on chains and surface information related to the operation\r\n */\r\nexport declare class WalletOperation {\r\n readonly opHash: string;\r\n protected readonly context: Context;\r\n private _newHead$;\r\n protected _operationResult: ReplaySubject;\r\n protected _includedInBlock: ReplaySubject;\r\n protected _included: boolean;\r\n private lastHead;\r\n protected newHead$: Observable;\r\n private confirmed$;\r\n operationResults(): Promise;\r\n /**\r\n * @description Receipt expose the total amount of tezos token burn and spent on fees\r\n * The promise returned by receipt will resolve only once the transaction is included\r\n */\r\n receipt(): Promise;\r\n /**\r\n *\r\n * @param opHash Operation hash\r\n * @param raw Raw operation that was injected\r\n * @param context Taquito context allowing access to rpc and signer\r\n * @throws {InvalidOperationHashError}\r\n */\r\n constructor(opHash: string, context: Context, _newHead$: Observable);\r\n getCurrentConfirmation(): Promise;\r\n isInCurrentBranch(tipBlockIdentifier?: BlockIdentifier): Promise;\r\n confirmationObservable(confirmations?: number): Observable<{\r\n block: BlockResponse;\r\n expectedConfirmation: number;\r\n currentConfirmation: number;\r\n completed: boolean;\r\n isInCurrentBranch: () => Promise;\r\n }>;\r\n /**\r\n *\r\n * @param confirmations [0] Number of confirmation to wait for\r\n */\r\n confirmation(confirmations?: number): Promise<{\r\n block: BlockResponse;\r\n expectedConfirmation: number;\r\n currentConfirmation: number;\r\n completed: boolean;\r\n isInCurrentBranch: () => Promise;\r\n } | undefined>;\r\n}\r\n"},{name:"@taquito/wallet/origination-operation.d.ts",dts:"import { BlockResponse, OperationContentsAndResultOrigination, OperationContentsAndResultReveal } from '@taquito/rpc';\r\nimport { Observable } from 'rxjs';\r\nimport { Context } from '../context';\r\nimport { DefaultWalletType } from '../contract/contract';\r\nimport { WalletOperation, OperationStatus } from './operation';\r\nexport declare class OriginationWalletOperation extends WalletOperation {\r\n readonly opHash: string;\r\n protected readonly context: Context;\r\n constructor(opHash: string, context: Context, newHead$: Observable);\r\n originationOperation(): Promise;\r\n revealOperation(): Promise;\r\n status(): Promise;\r\n contract(): Promise;\r\n}\r\n"},{name:"@taquito/wallet/receipt.d.ts",dts:"import { OperationContentsAndResult } from '@taquito/rpc';\r\nimport BigNumber from 'bignumber.js';\r\nexport interface Receipt {\r\n totalFee: BigNumber;\r\n totalGas: BigNumber;\r\n totalMilliGas: BigNumber;\r\n totalStorage: BigNumber;\r\n totalAllocationBurn: BigNumber;\r\n totalOriginationBurn: BigNumber;\r\n totalPaidStorageDiff: BigNumber;\r\n totalStorageBurn: BigNumber;\r\n}\r\nexport declare const receiptFromOperation: (op: OperationContentsAndResult[], { ALLOCATION_BURN, ORIGINATION_BURN }?: {\r\n ALLOCATION_BURN: number;\r\n ORIGINATION_BURN: number;\r\n}) => Receipt;\r\n"},{name:"@taquito/wallet/transaction-operation.d.ts",dts:"import { WalletOperation, OperationStatus } from './operation';\r\nimport { Context } from '../context';\r\nimport { Observable } from 'rxjs';\r\nimport { BlockResponse, OperationContentsAndResultReveal, OperationContentsAndResultTransaction } from '@taquito/rpc';\r\nexport declare class TransactionWalletOperation extends WalletOperation {\r\n readonly opHash: string;\r\n protected readonly context: Context;\r\n constructor(opHash: string, context: Context, newHead$: Observable);\r\n revealOperation(): Promise;\r\n transactionOperation(): Promise;\r\n status(): Promise;\r\n}\r\n"},{name:"@taquito/wallet/wallet.d.ts",dts:"import { Context } from '../context';\r\nimport { ContractAbstraction, ContractStorageType, DefaultWalletType, SendParams } from '../contract';\r\nimport { ContractMethod } from '../contract/contract-methods/contract-method-flat-param';\r\nimport { ContractMethodObject } from '../contract/contract-methods/contract-method-object-param';\r\nimport { OpKind, withKind } from '../operations/types';\r\nimport { OriginationWalletOperation } from './origination-operation';\r\nimport { WalletDelegateParams, WalletFailingNoopParams, WalletIncreasePaidStorageParams, WalletOriginateParams, WalletProvider, WalletTransferParams } from './interface';\r\nexport interface PKHOption {\r\n forceRefetch?: boolean;\r\n}\r\nexport declare type WalletParamsWithKind = withKind | withKind | withKind | withKind;\r\nexport declare class WalletOperationBatch {\r\n private walletProvider;\r\n private context;\r\n private operations;\r\n constructor(walletProvider: WalletProvider, context: Context);\r\n /**\r\n *\r\n * @description Add a transaction operation to the batch\r\n *\r\n * @param params Transfer operation parameter\r\n */\r\n withTransfer(params: WalletTransferParams): this;\r\n /**\r\n *\r\n * @description Add a contract call to the batch\r\n *\r\n * @param params Call a contract method\r\n * @param options Generic operation parameters\r\n */\r\n withContractCall(params: ContractMethod | ContractMethodObject, options?: Partial): this;\r\n /**\r\n *\r\n * @description Add a delegation operation to the batch\r\n *\r\n * @param params Delegation operation parameter\r\n */\r\n withDelegation(params: WalletDelegateParams): this;\r\n /**\r\n *\r\n * @description Add an origination operation to the batch\r\n *\r\n * @param params Origination operation parameter\r\n */\r\n withOrigination(params: WalletOriginateParams>): this;\r\n /**\r\n *\r\n * @description Add an IncreasePaidStorage operation to the batch\r\n *\r\n * @param param IncreasePaidStorage operation parameter\r\n */\r\n withIncreasePaidStorage(params: WalletIncreasePaidStorageParams): this;\r\n private mapOperation;\r\n /**\r\n *\r\n * @description Add a group operation to the batch. Operation will be applied in the order they are in the params array\r\n *\r\n * @param params Operations parameter\r\n * @throws {@link InvalidOperationKindError}\r\n */\r\n with(params: WalletParamsWithKind[]): this;\r\n /**\r\n *\r\n * @description Submit batch operation to wallet\r\n *\r\n */\r\n send(): Promise;\r\n}\r\nexport declare class Wallet {\r\n private context;\r\n constructor(context: Context);\r\n private get walletProvider();\r\n private _pkh?;\r\n /**\r\n * @description Retrieve the PKH of the account that is currently in use by the wallet\r\n *\r\n * @param option Option to use while fetching the PKH.\r\n * If forceRefetch is specified the wallet provider implementation will refetch the PKH from the wallet\r\n */\r\n pkh({ forceRefetch }?: PKHOption): Promise;\r\n private walletCommand;\r\n /**\r\n *\r\n * @description Originate a new contract according to the script in parameters.\r\n *\r\n * @returns An operation handle with the result from the rpc node\r\n *\r\n * @param originateParams Originate operation parameter\r\n */\r\n originate(params: WalletOriginateParams>): {\r\n send: () => Promise>;\r\n };\r\n /**\r\n *\r\n * @description Set the delegate for a contract.\r\n *\r\n * @returns An operation handle with the result from the rpc node\r\n *\r\n * @param delegateParams operation parameter\r\n */\r\n setDelegate(params: WalletDelegateParams): {\r\n send: () => Promise;\r\n };\r\n /**\r\n *\r\n * @description failing_noop operation that is guaranteed to fail. DISCLAIMER: Not all wallets support signing failing_noop operations.\r\n *\r\n * @returns Signature for a failing_noop\r\n *\r\n * @param params operation parameter\r\n */\r\n signFailingNoop(params: WalletFailingNoopParams): Promise<{\r\n signature: string;\r\n bytes: string;\r\n signedContent: {\r\n branch: string;\r\n contents: {\r\n kind: OpKind;\r\n arbitrary: string;\r\n }[];\r\n };\r\n }>;\r\n /**\r\n *\r\n * @description Register the current address as delegate.\r\n *\r\n * @returns An operation handle with the result from the rpc node\r\n *\r\n */\r\n registerDelegate(): {\r\n send: () => Promise;\r\n };\r\n /**\r\n *\r\n * @description Transfer tezos tokens from current address to a specific address or call a smart contract.\r\n *\r\n * @returns A wallet command from which we can send the operation to the wallet\r\n *\r\n * @param params operation parameter\r\n */\r\n transfer(params: WalletTransferParams): {\r\n send: () => Promise;\r\n };\r\n /**\r\n *\r\n * @description\r\n *\r\n * @returns\r\n *\r\n * @param params\r\n */\r\n increasePaidStorage(params: WalletIncreasePaidStorageParams): {\r\n send: () => Promise;\r\n };\r\n /**\r\n *\r\n * @description Create a batch of operation\r\n *\r\n * @returns A batch object from which we can add more operation or send a command to the wallet to execute the batch\r\n *\r\n * @param params List of operation to initialize the batch with\r\n */\r\n batch(params?: Parameters[0]): WalletOperationBatch;\r\n /**\r\n *\r\n * @description Create an smart contract abstraction for the address specified. Calling entrypoints with the returned\r\n * smart contract abstraction will leverage the wallet provider to make smart contract calls\r\n *\r\n * @param address Smart contract address\r\n * @throws {@link InvalidContractAddressError} If the contract address is not valid\r\n */\r\n at>(address: string, contractAbstractionComposer?: (abs: ContractAbstraction, context: Context) => T): Promise;\r\n getPK(): Promise;\r\n}\r\n"},{name:"@taquito/constants.d.ts",dts:'export declare enum DEFAULT_GAS_LIMIT {\r\n DELEGATION = 10600,\r\n ORIGINATION = 10600,\r\n TRANSFER = 10600,\r\n REVEAL_TZ1 = 1000,\r\n REVEAL_TZ2 = 1000,\r\n REVEAL_TZ3 = 2000,\r\n REVEAL_TZ4 = 2000\r\n}\r\nexport declare enum DEFAULT_FEE {\r\n DELEGATION = 1257,\r\n ORIGINATION = 10000,\r\n TRANSFER = 10000,\r\n REVEAL = 374\r\n}\r\nexport declare enum DEFAULT_STORAGE_LIMIT {\r\n DELEGATION = 0,\r\n ORIGINATION = 257,\r\n TRANSFER = 257,\r\n REVEAL = 0\r\n}\r\nexport declare const COST_PER_BYTE = 250;\r\nexport declare enum Protocols {\r\n Pt24m4xi = "Pt24m4xiPbLDhVgVfABUjirbmda3yohdN82Sp9FeuAXJ4eV9otd",\r\n PsBABY5H = "PsBABY5HQTSkA4297zNHfsZNKtxULfL18y95qb3m53QJiXGmrbU",\r\n PsBabyM1 = "PsBabyM1eUXZseaJdmXFApDSBqj8YBfwELoxZHHW77EMcAbbwAS",\r\n PsCARTHA = "PsCARTHAGazKbHtnKfLzQg3kms52kSRpgnDY982a9oYsSXRLQEb",\r\n PsDELPH1 = "PsDELPH1Kxsxt8f9eWbxQeRxkjfbxoqM52jvs5Y5fBxWWh4ifpo",\r\n PtEdo2Zk = "PtEdo2ZkT9oKpimTah6x2embF25oss54njMuPzkJTEi5RqfdZFA",\r\n PsFLorena = "PsFLorenaUUuikDWvMDr6fGBRG8kt3e3D3fHoXK1j1BFRxeSH4i",\r\n PtGRANADs = "PtGRANADsDU8R9daYKAgWnQYAJ64omN1o3KMGVCykShA97vQbvV",\r\n PtHangz2 = "PtHangz2aRngywmSRGGvrcTyMbbdpWdpFKuS4uMWxg2RaH9i1qx",\r\n PsiThaCa = "PsiThaCaT47Zboaw71QWScM8sXeMM7bbQFncK9FLqYc6EKdpjVP",\r\n Psithaca2 = "Psithaca2MLRFYargivpo7YvUr7wUDqyxrdhC5CQq78mRvimz6A",\r\n PtJakart2 = "PtJakart2xVj7pYXJBXrqHgd82rdkLey5ZeeGwDgPp9rhQUbSqY",\r\n PtKathman = "PtKathmankSpLLDALzWw7CGD2j2MtyveTwboEYokqUCP4a1LxMg",\r\n PtLimaPtL = "PtLimaPtLMwfNinJi9rCfDPWea8dFgTZ1MeJ9f1m2SRic6ayiwW",\r\n PtMumbaii = "PtMumbaiiFFEGbew1rRjzSPyzRbA51Tm3RVZL5suHPxSZYDhCEc",\r\n PtMumbai2 = "PtMumbai2TmsJHNGRkD8v8YDbtao7BLUC3wjASn1inAKLFCjaH1",\r\n PtNairobi = "PtNairobiyssHuh87hEhfVBGCVrK3WnS8Z2FT4ymB5tAa4r1nQf",\r\n ProtoALpha = "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK"\r\n}\r\nexport declare const protocols: {\r\n \'004\': Protocols[];\r\n \'005\': Protocols[];\r\n \'006\': Protocols[];\r\n \'007\': Protocols[];\r\n \'008\': Protocols[];\r\n \'009\': Protocols[];\r\n \'010\': Protocols[];\r\n \'011\': Protocols[];\r\n \'012\': Protocols[];\r\n \'013\': Protocols[];\r\n \'014\': Protocols[];\r\n \'015\': Protocols[];\r\n \'016\': Protocols[];\r\n \'017\': Protocols[];\r\n \'018\': Protocols[];\r\n};\r\nexport declare enum ChainIds {\r\n MAINNET = "NetXdQprcVkpaWU",\r\n CARTHAGENET = "NetXjD3HPJJjmcd",\r\n DELPHINET = "NetXm8tYqnMWky1",\r\n EDONET = "NetXSgo1ZT2DRUG",\r\n FLORENCENET = "NetXxkAx4woPLyu",\r\n GRANADANET = "NetXz969SFaFn8k",\r\n HANGZHOUNET = "NetXZSsxBpMQeAT",\r\n ITHACANET = "NetXbhmtAbMukLc",\r\n ITHACANET2 = "NetXnHfVqm9iesp",\r\n JAKARTANET2 = "NetXLH1uAxK7CCh",\r\n KATHMANDUNET = "NetXazhm4yetmff",\r\n LIMANET = "NetXizpkH94bocH",\r\n MUMBAINET = "NetXQw6nWSnrJ5t",\r\n MUMBAINET2 = "NetXgbcrNtXD2yA",\r\n NAIROBINET = "NetXyuzvDo2Ugzb"\r\n}\r\nexport declare const getRevealGasLimit: (address: string) => number;\r\n'},{name:"@taquito/context.d.ts",dts:"import { RpcClientInterface } from '@taquito/rpc';\r\nimport { Protocols } from './constants';\r\nimport { Forger } from '@taquito/local-forging';\r\nimport { Injector } from './injector/interface';\r\nimport { Signer } from './signer/interface';\r\nimport { OperationFactory } from './wallet/operation-factory';\r\nimport { RpcTzProvider } from './tz/rpc-tz-provider';\r\nimport { RPCEstimateProvider } from './estimate/rpc-estimate-provider';\r\nimport { RpcContractProvider } from './contract/rpc-contract-provider';\r\nimport { RPCBatchProvider } from './batch/rpc-batch-provider';\r\nimport { Wallet, WalletProvider } from './wallet';\r\nimport { ParserProvider } from './parser/interface';\r\nimport { Packer } from './packer/interface';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { GlobalConstantsProvider } from './global-constants/interface-global-constants-provider';\r\nimport { TzReadProvider } from './read-provider/interface';\r\nimport { SubscribeProvider } from './subscribe/interface';\r\nimport { PrepareProvider } from './prepare/prepare-provider';\r\nexport interface TaquitoProvider> {\r\n new (context: Context, ...rest: K): T;\r\n}\r\nexport interface ConfigConfirmation {\r\n confirmationPollingTimeoutSecond: number;\r\n defaultConfirmationCount: number;\r\n}\r\nexport declare const defaultConfigConfirmation: ConfigConfirmation;\r\n/**\r\n * @description Encapsulate common service used throughout different part of the library\r\n */\r\nexport declare class Context {\r\n private _rpc;\r\n private _signer;\r\n private _proto?;\r\n readonly _config: BehaviorSubject<{\r\n confirmationPollingTimeoutSecond: number;\r\n defaultConfirmationCount: number;\r\n }>;\r\n private _rpcClient;\r\n private _forger;\r\n private _parser;\r\n private _injector;\r\n private _walletProvider;\r\n readonly operationFactory: OperationFactory;\r\n private _packer;\r\n private providerDecorator;\r\n private _globalConstantsProvider;\r\n private _readProvider;\r\n private _stream;\r\n readonly tz: RpcTzProvider;\r\n readonly estimate: RPCEstimateProvider;\r\n readonly contract: RpcContractProvider;\r\n readonly prepare: PrepareProvider;\r\n readonly batch: RPCBatchProvider;\r\n readonly wallet: Wallet;\r\n constructor(_rpc: RpcClientInterface | string, _signer?: Signer, _proto?: Protocols | undefined, _config?: BehaviorSubject<{\r\n confirmationPollingTimeoutSecond: number;\r\n defaultConfirmationCount: number;\r\n }>, forger?: Forger, injector?: Injector, packer?: Packer, wallet?: WalletProvider, parser?: ParserProvider, globalConstantsProvider?: GlobalConstantsProvider, readProvider?: TzReadProvider, stream?: SubscribeProvider);\r\n get config(): ConfigConfirmation;\r\n set config(value: ConfigConfirmation);\r\n setPartialConfig(value: Partial): void;\r\n get rpc(): RpcClientInterface;\r\n set rpc(value: RpcClientInterface);\r\n get injector(): Injector;\r\n set injector(value: Injector);\r\n get forger(): Forger;\r\n set forger(value: Forger);\r\n get signer(): Signer;\r\n set signer(value: Signer);\r\n get walletProvider(): WalletProvider;\r\n set walletProvider(value: WalletProvider);\r\n set proto(value: Protocols | undefined);\r\n get proto(): Protocols | undefined;\r\n get parser(): ParserProvider;\r\n set parser(value: ParserProvider);\r\n get packer(): Packer;\r\n set packer(value: Packer);\r\n get globalConstantsProvider(): GlobalConstantsProvider;\r\n set globalConstantsProvider(value: GlobalConstantsProvider);\r\n get readProvider(): TzReadProvider;\r\n set readProvider(value: TzReadProvider);\r\n get stream(): SubscribeProvider;\r\n set stream(value: SubscribeProvider);\r\n isAnyProtocolActive(protocol?: string[]): Promise;\r\n isAnySignerConfigured(): boolean;\r\n /**\r\n * @description Create a copy of the current context. Useful when you have long running operation and you do not want a context change to affect the operation\r\n */\r\n clone(): Context;\r\n /**\r\n * @description Allows extensions set on the TezosToolkit to inject logic into the context\r\n */\r\n registerProviderDecorator(fx: (context: Context) => Context): void;\r\n /**\r\n * @description Applies the decorators on a cloned instance of the context and returned this cloned instance.\r\n * The decorators are functions that inject logic into the context.\r\n * They are provided by the extensions set on the TezosToolkit by calling the registerProviderDecorator method.\r\n */\r\n withExtensions: () => Context;\r\n}\r\n"},{name:"@taquito/errors.d.ts",dts:"import { ParameterValidationError, RpcError, NetworkError } from '@taquito/core';\r\n/**\r\n * @category Error\r\n * @description Error that indicates invalid confirmation count has been passed or configured\r\n */\r\nexport declare class InvalidConfirmationCountError extends ParameterValidationError {\r\n readonly invalidConfirmations: number;\r\n constructor(invalidConfirmations: number);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates that confirmation polling timed out\r\n */\r\nexport declare class ConfirmationTimeoutError extends NetworkError {\r\n readonly message: string;\r\n constructor(message: string);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates an error being returned from the RPC response\r\n */\r\nexport declare class RPCResponseError extends RpcError {\r\n readonly message: string;\r\n readonly cause?: any;\r\n constructor(message: string, cause?: any);\r\n}\r\n"},{name:"@taquito/provider.d.ts",dts:'import { OperationContentsAndResult, RPCRunOperationParam, RPCSimulateOperationParam, RpcClientInterface } from \'@taquito/rpc\';\r\nimport { Context } from \'./context\';\r\nimport { ForgedBytes, ParamsWithKind, RPCOperation } from \'./operations/types\';\r\nimport { PreparedOperation } from \'./prepare\';\r\nimport { Estimate } from \'./estimate\';\r\nexport declare abstract class Provider {\r\n protected context: Context;\r\n get rpc(): RpcClientInterface;\r\n get signer(): import("./taquito").Signer;\r\n constructor(context: Context);\r\n protected forge({ opOb: { branch, contents, protocol }, counter }: PreparedOperation): Promise<{\r\n opbytes: string;\r\n opOb: {\r\n branch: string;\r\n contents: import("@taquito/rpc").OperationContents[];\r\n protocol: string;\r\n };\r\n counter: number;\r\n }>;\r\n protected estimate({ fee, gasLimit, storageLimit, ...rest }: T, estimator: (param: T) => Promise): Promise<{\r\n fee: number | undefined;\r\n gasLimit: number | undefined;\r\n storageLimit: number | undefined;\r\n }>;\r\n getRPCOp(param: ParamsWithKind): Promise;\r\n protected runOperation(op: RPCRunOperationParam): Promise<{\r\n opResponse: import("@taquito/rpc").PreapplyResponse;\r\n op: RPCRunOperationParam;\r\n context: Context;\r\n }>;\r\n protected simulate(op: RPCSimulateOperationParam): Promise<{\r\n opResponse: import("@taquito/rpc").PreapplyResponse;\r\n op: RPCSimulateOperationParam;\r\n context: Context;\r\n }>;\r\n protected isRevealOpNeeded(op: RPCOperation[] | ParamsWithKind[], pkh: string): Promise;\r\n protected isAccountRevealRequired(publicKeyHash: string): Promise;\r\n protected isRevealRequiredForOpType(op: RPCOperation[] | ParamsWithKind[]): boolean;\r\n protected signAndInject(forgedBytes: ForgedBytes): Promise<{\r\n hash: string;\r\n forgedBytes: ForgedBytes;\r\n opResponse: OperationContentsAndResult[];\r\n context: Context;\r\n }>;\r\n}\r\n'},{name:"@taquito/taquito.d.ts",dts:"/**\r\n * @packageDocumentation\r\n * @module @taquito/taquito\r\n */\r\nimport { RpcClientInterface } from '@taquito/rpc';\r\nimport { Forger } from '@taquito/local-forging';\r\nimport { RPCBatchProvider } from './batch/rpc-batch-provider';\r\nimport { Protocols } from './constants';\r\nimport { ConfigConfirmation, TaquitoProvider } from './context';\r\nimport { ContractProvider } from './contract/interface';\r\nimport { Extension } from './extension/extension';\r\nimport { format } from '@taquito/utils';\r\nimport { GlobalConstantsProvider } from './global-constants/interface-global-constants-provider';\r\nimport { Packer } from './packer/interface';\r\nimport { TzReadProvider } from './read-provider/interface';\r\nimport { PreparationProvider } from './prepare/interface';\r\nimport { Signer } from './signer/interface';\r\nimport { SubscribeProvider } from './subscribe/interface';\r\nimport { TzProvider } from './tz/interface';\r\nimport { Wallet, WalletProvider } from './wallet';\r\nimport { OperationFactory } from './wallet/operation-factory';\r\nimport { EstimationProvider } from './estimate/estimate-provider-interface';\r\nimport { ParserProvider } from './parser/interface';\r\nimport { Injector } from './injector/interface';\r\nexport { MichelsonMap, UnitValue } from '@taquito/michelson-encoder';\r\nexport { Forger, ForgeParams, ForgeResponse } from '@taquito/local-forging';\r\nexport * from './constants';\r\nexport * from './context';\r\nexport { TaquitoProvider } from './context';\r\nexport * from './contract';\r\nexport * from './contract/big-map';\r\nexport { CompositeForger } from './forger/composite-forger';\r\nexport { RpcForger } from './forger/rpc-forger';\r\nexport * from './operations';\r\nexport { OperationBatch } from './batch/rpc-batch-provider';\r\nexport * from './signer/interface';\r\nexport * from './subscribe/interface';\r\nexport { SubscribeProvider } from './subscribe/interface';\r\nexport { PollingSubscribeProvider } from './subscribe/polling-subcribe-provider';\r\nexport { ObservableSubscription } from './subscribe/observable-subscription';\r\nexport * from './tz/interface';\r\nexport * from './wallet';\r\nexport { Extension } from './extension/extension';\r\nexport * from './injector/interface';\r\nexport * from './injector/rpc-injector';\r\nexport * from './parser/interface';\r\nexport * from './parser/michel-codec-parser';\r\nexport * from './parser/noop-parser';\r\nexport * from './packer/interface';\r\nexport * from './packer/michel-codec-packer';\r\nexport * from './packer/rpc-packer';\r\nexport * from './global-constants/default-global-constants-provider';\r\nexport * from './global-constants/errors';\r\nexport * from './global-constants/interface-global-constants-provider';\r\nexport { BigMapQuery, SaplingStateQuery, BlockIdentifier, TzReadProvider, } from './read-provider/interface';\r\nexport { RpcReadAdapter } from './read-provider/rpc-read-adapter';\r\nexport * from './estimate';\r\nexport { TaquitoLocalForger } from './forger/taquito-local-forger';\r\nexport * from './prepare';\r\nexport interface SetProviderOptions {\r\n forger?: Forger;\r\n wallet?: WalletProvider;\r\n rpc?: string | RpcClientInterface;\r\n readProvider?: TzReadProvider;\r\n stream?: string | SubscribeProvider;\r\n signer?: Signer;\r\n protocol?: Protocols;\r\n config?: Partial;\r\n packer?: Packer;\r\n globalConstantsProvider?: GlobalConstantsProvider;\r\n parserProvider?: ParserProvider;\r\n injectorProvider?: Injector;\r\n}\r\nexport interface VersionInfo {\r\n commitHash: string;\r\n version: string;\r\n}\r\n/**\r\n * @description Facade class that surfaces all of the libraries capability and allow it's configuration\r\n *\r\n * @param _rpc The RPC server to use\r\n */\r\nexport declare class TezosToolkit {\r\n private _rpc;\r\n private _options;\r\n private _rpcClient;\r\n private _wallet;\r\n private _context;\r\n /**\r\n * @deprecated TezosToolkit.batch has been deprecated in favor of TezosToolkit.contract.batch\r\n *\r\n */\r\n batch: RPCBatchProvider['batch'];\r\n readonly format: typeof format;\r\n constructor(_rpc: RpcClientInterface | string);\r\n /**\r\n * @description Sets configuration on the Tezos Taquito instance. Allows user to choose which signer, rpc client, rpc url, forger and so forth\r\n *\r\n * @param options rpc url or rpcClient to use to interact with the Tezos network\r\n *\r\n * @example Tezos.setProvider({rpc: 'https://mainnet.ecadinfra.com/', signer: new InMemorySigner.fromSecretKey(\u201cedsk...\u201d)})\r\n * @example Tezos.setProvider({ config: { confirmationPollingTimeoutSecond: 300 }})\r\n *\r\n */\r\n setProvider({ rpc, stream, signer, protocol, config, forger, wallet, packer, globalConstantsProvider, readProvider, parserProvider, injectorProvider, }: SetProviderOptions): void;\r\n /**\r\n * @description Sets signer provider on the Tezos Taquito instance.\r\n *\r\n * @param options signer to use to interact with the Tezos network\r\n *\r\n * @example Tezos.setSignerProvider(new InMemorySigner.fromSecretKey('edsk...'))\r\n *\r\n */\r\n setSignerProvider(signer?: SetProviderOptions['signer']): void;\r\n /**\r\n * @description Sets rpc provider on the Tezos Taquito instance\r\n *\r\n * @param options rpc url or rpcClient to use to interact with the Tezos network\r\n *\r\n * @example Tezos.setRpcProvider('https://mainnet.ecadinfra.com/')\r\n *\r\n */\r\n setRpcProvider(rpc?: SetProviderOptions['rpc']): void;\r\n /**\r\n * @description Sets forger provider on the Tezos Taquito instance\r\n * The `LocalForger` from `@taquito/local-forging` is set by default.\r\n *\r\n * @param options forger to use to interact with the Tezos network\r\n *\r\n * @example Tezos.setForgerProvider(this.getFactory(RpcForger)())\r\n *\r\n */\r\n setForgerProvider(forger?: SetProviderOptions['forger']): void;\r\n /**\r\n * @description Sets stream provider on the Tezos Taquito instance\r\n *\r\n * @param options stream to use to interact with the Tezos network\r\n *\r\n * @example Tezos.setStreamProvider(...)\r\n *\r\n */\r\n setStreamProvider(stream?: SetProviderOptions['stream']): void;\r\n /**\r\n * @description Sets wallet provider on the Tezos Taquito instance\r\n *\r\n * @param options wallet to use to interact with the Tezos network\r\n *\r\n * @example Tezos.setWalletProvider(...)\r\n *\r\n */\r\n setWalletProvider(wallet?: SetProviderOptions['wallet']): void;\r\n /**\r\n * @description Sets Packer provider on the Tezos Taquito instance\r\n *\r\n * @param options packer to use to interact with the Tezos network\r\n *\r\n * @example Tezos.setPackerProvider(new MichelCodecPacker())\r\n *\r\n */\r\n setPackerProvider(packer?: SetProviderOptions['packer']): void;\r\n /**\r\n * @description Sets global constants provider on the Tezos Taquito instance\r\n *\r\n * @param options globalConstantsProvider to use to interact with the Tezos network\r\n *\r\n * @example\r\n * ```\r\n * const globalConst = new DefaultGlobalConstantsProvider();\r\n * globalConst.loadGlobalConstant({\r\n * \"expruu5BTdW7ajqJ9XPTF3kgcV78pRiaBW3Gq31mgp3WSYjjUBYxre\": { prim: \"int\" },\r\n * // ...\r\n * })\r\n * Tezos.setGlobalConstantsProvider(globalConst);\r\n * ```\r\n *\r\n */\r\n setGlobalConstantsProvider(globalConstantsProvider?: SetProviderOptions['globalConstantsProvider']): void;\r\n /**\r\n * @description Sets read provider on the Tezos Taquito instance\r\n * By default reads are done from the RPC usign the RpcReadAdapter class, this can be overridden to read from an indexer that implements the TzReadProvider interface\r\n *\r\n * @param options TzReadProvider to use to interact with the Tezos network\r\n *\r\n */\r\n setReadProvider(readProvider?: SetProviderOptions['readProvider']): void;\r\n /**\r\n * @description Sets parser provider on the Tezos Taquito instance\r\n *\r\n * @param options parserProvider to use to interact with the Tezos network\r\n *\r\n */\r\n setParserProvider(parserProvider?: SetProviderOptions['parserProvider']): void;\r\n /**\r\n * @description Sets injector provider on the Tezos Taquito instance\r\n *\r\n * @param options Injector to use to interact with the Tezos network by default RpcInjector\r\n *\r\n */\r\n setInjectorProvider(injectorProvider?: SetProviderOptions['injectorProvider']): void;\r\n /**\r\n * @description Provide access to tezos account management\r\n */\r\n get tz(): TzProvider;\r\n /**\r\n * @description Provide access to smart contract utilities\r\n */\r\n get contract(): ContractProvider;\r\n /**\r\n * @description Provide access to tezos operation preparation utilities\r\n */\r\n get prepare(): PreparationProvider;\r\n get wallet(): Wallet;\r\n get operation(): OperationFactory;\r\n /**\r\n * @description Provide access to operation estimation utilities\r\n */\r\n get estimate(): EstimationProvider;\r\n /**\r\n * @description Provide access to streaming utilities backed by an streamer implementation\r\n */\r\n get stream(): SubscribeProvider;\r\n /**\r\n * @description Provide access to the currently used rpc client\r\n */\r\n get rpc(): RpcClientInterface;\r\n /**\r\n * @description Provide access to the currently used signer\r\n */\r\n get signer(): Signer;\r\n /**\r\n * @description Provide access to the currently used globalConstantsProvider\r\n */\r\n get globalConstants(): GlobalConstantsProvider;\r\n /**\r\n * @description Allow to add a module to the TezosToolkit instance. This method adds the appropriate Providers(s) required by the module to the internal context.\r\n *\r\n * @param module extension to add to the TezosToolkit instance\r\n *\r\n * @example Tezos.addExtension(new Tzip16Module());\r\n */\r\n addExtension(module: Extension | Extension[]): void;\r\n getFactory>(ctor: TaquitoProvider): (...args: K) => T;\r\n /**\r\n * @description Gets an object containing the version of Taquito library and git sha of the commit this library is compiled from\r\n */\r\n getVersionInfo(): VersionInfo;\r\n}\r\n"},{name:"@taquito/version.d.ts",dts:"export declare const VERSION: {\r\n commitHash: string;\r\n version: string;\r\n};\r\n"},{name:"@taquito/utils/dist/types/constants.d.ts",dts:'export declare enum Prefix {\r\n TZ1 = "tz1",\r\n TZ2 = "tz2",\r\n TZ3 = "tz3",\r\n TZ4 = "tz4",\r\n KT = "KT",\r\n KT1 = "KT1",\r\n EDSK2 = "edsk2",\r\n SPSK = "spsk",\r\n P2SK = "p2sk",\r\n EDPK = "edpk",\r\n SPPK = "sppk",\r\n P2PK = "p2pk",\r\n BLPK = "BLpk",\r\n EDESK = "edesk",\r\n SPESK = "spesk",\r\n P2ESK = "p2esk",\r\n EDSK = "edsk",\r\n EDSIG = "edsig",\r\n SPSIG = "spsig",\r\n P2SIG = "p2sig",\r\n SIG = "sig",\r\n NET = "Net",\r\n NCE = "nce",\r\n B = "B",\r\n O = "o",\r\n LO = "Lo",\r\n LLO = "LLo",\r\n P = "P",\r\n CO = "Co",\r\n ID = "id",\r\n EXPR = "expr",\r\n TZ = "TZ",\r\n VH = "vh",\r\n SASK = "sask",\r\n ZET1 = "zet1",\r\n TXR1 = "txr1",\r\n TXI = "txi",\r\n TXM = "txm",\r\n TXC = "txc",\r\n TXMR = "txmr",\r\n TXRL = "txM",\r\n TXW = "txw",\r\n SR1 = "sr1",\r\n SRC1 = "src1"\r\n}\r\nexport declare const prefix: {\r\n tz1: Uint8Array;\r\n tz2: Uint8Array;\r\n tz3: Uint8Array;\r\n tz4: Uint8Array;\r\n KT: Uint8Array;\r\n KT1: Uint8Array;\r\n edsk: Uint8Array;\r\n edsk2: Uint8Array;\r\n spsk: Uint8Array;\r\n p2sk: Uint8Array;\r\n edpk: Uint8Array;\r\n sppk: Uint8Array;\r\n p2pk: Uint8Array;\r\n BLpk: Uint8Array;\r\n edesk: Uint8Array;\r\n spesk: Uint8Array;\r\n p2esk: Uint8Array;\r\n edsig: Uint8Array;\r\n spsig: Uint8Array;\r\n p2sig: Uint8Array;\r\n sig: Uint8Array;\r\n Net: Uint8Array;\r\n nce: Uint8Array;\r\n B: Uint8Array;\r\n o: Uint8Array;\r\n Lo: Uint8Array;\r\n LLo: Uint8Array;\r\n P: Uint8Array;\r\n Co: Uint8Array;\r\n id: Uint8Array;\r\n expr: Uint8Array;\r\n TZ: Uint8Array;\r\n vh: Uint8Array;\r\n sask: Uint8Array;\r\n zet1: Uint8Array;\r\n txr1: Uint8Array;\r\n txi: Uint8Array;\r\n txm: Uint8Array;\r\n txc: Uint8Array;\r\n txmr: Uint8Array;\r\n txM: Uint8Array;\r\n txw: Uint8Array;\r\n sr1: Uint8Array;\r\n src1: Uint8Array;\r\n};\r\nexport declare const prefixLength: {\r\n [key: string]: number;\r\n};\r\n'},{name:"@taquito/utils/dist/types/errors.d.ts",dts:"import { ParameterValidationError, UnsupportedActionError } from '@taquito/core';\r\nexport { InvalidAddressError, InvalidBlockHashError, InvalidHexStringError, InvalidMessageError, InvalidKeyError, InvalidPublicKeyError, InvalidSignatureError, InvalidContractAddressError, InvalidChainIdError, InvalidKeyHashError, InvalidOperationHashError, InvalidOperationKindError, DeprecationError, ProhibitedActionError, } from '@taquito/core';\r\n/**\r\n * @category Error\r\n * @description Error that indicates invalid protocol hash being passed or used\r\n */\r\nexport declare class InvalidProtocolHashError extends ParameterValidationError {\r\n readonly protocolHash: string;\r\n readonly errorDetails?: string | undefined;\r\n name: string;\r\n constructor(protocolHash: string, errorDetails?: string | undefined);\r\n}\r\n/**\r\n * @category Error\r\n * @description Error that indicates unable to convert data type from one to another\r\n */\r\nexport declare class ValueConversionError extends UnsupportedActionError {\r\n readonly value: string;\r\n readonly desiredType: string;\r\n constructor(value: string, desiredType: string);\r\n}\r\n"},{name:"@taquito/utils/dist/types/format.d.ts",dts:"import BigNumber from 'bignumber.js';\r\ndeclare type Format = 'tz' | 'mtz' | 'mutez';\r\nexport declare function format(from: Format | undefined, to: Format | undefined, amount: number | string | BigNumber): string | number | BigNumber;\r\nexport {};\r\n"},{name:"@taquito/utils/dist/types/taquito-utils.d.ts",dts:"/**\r\n * @packageDocumentation\r\n * @module @taquito/utils\r\n */\r\n/// \r\nimport { Buffer } from 'buffer';\r\nimport BigNumber from 'bignumber.js';\r\nexport * from './validators';\r\nexport { VERSION } from './version';\r\nexport { prefix, Prefix, prefixLength } from './constants';\r\nexport { verifySignature, validatePkAndExtractPrefix } from './verify-signature';\r\nexport * from './errors';\r\nexport { format } from './format';\r\n/**\r\n *\r\n * @description Hash a string using the BLAKE2b algorithm, base58 encode the hash obtained and appends the prefix 'expr' to it\r\n *\r\n * @param value Value in hex\r\n */\r\nexport declare function encodeExpr(value: string): string;\r\n/**\r\n *\r\n * @description Return the operation hash of a signed operation\r\n * @param value Value in hex of a signed operation\r\n */\r\nexport declare function encodeOpHash(value: string): string;\r\n/**\r\n *\r\n * @description Base58 encode a string or a Uint8Array and append a prefix to it\r\n *\r\n * @param value Value to base58 encode\r\n * @param prefix prefix to append to the encoded string\r\n */\r\nexport declare function b58cencode(value: string | Uint8Array, prefix: Uint8Array): string;\r\n/**\r\n *\r\n * @description Base58 decode a string and remove the prefix from it\r\n *\r\n * @param value Value to base58 decode\r\n * @param prefix prefix to remove from the decoded string\r\n */\r\nexport declare const b58cdecode: (enc: string, prefixArg: Uint8Array) => Uint8Array;\r\n/**\r\n *\r\n * @description Base58 decode a string with predefined prefix\r\n *\r\n * @param value Value to base58 decode\r\n */\r\nexport declare function b58decode(payload: string): string;\r\n/**\r\n *\r\n * @description b58 decode a string without predefined prefix\r\n * @param value\r\n * @returns string of bytes\r\n */\r\nexport declare function b58decodeL2Address(payload: string): string;\r\n/**\r\n *\r\n * @description Base58 encode an address using predefined prefix\r\n *\r\n * @param value Address to base58 encode (tz1, tz2, tz3 or KT1)\r\n */\r\nexport declare function encodePubKey(value: string): string;\r\n/**\r\n *\r\n * @description Base58 encode an address without predefined prefix\r\n * @param value Address to base58 encode (tz4) hex dec\r\n * @returns return address\r\n */\r\nexport declare function encodeL2Address(value: string): string;\r\n/**\r\n *\r\n * @description Base58 encode a key according to its prefix\r\n *\r\n * @param value Key to base58 encode\r\n */\r\nexport declare function encodeKey(value: string): string | undefined;\r\n/**\r\n *\r\n * @description Base58 encode a key hash according to its prefix\r\n *\r\n * @param value Key hash to base58 encode\r\n */\r\nexport declare function encodeKeyHash(value: string): string | undefined;\r\n/**\r\n *\r\n * @description Convert an hex string to a Uint8Array\r\n *\r\n * @param hex Hex string to convert\r\n * @throws {@link ValueConversionError}\r\n */\r\nexport declare const hex2buf: (hex: string) => Uint8Array;\r\n/**\r\n *\r\n * @description Merge 2 buffers together\r\n *\r\n * @param b1 First buffer\r\n * @param b2 Second buffer\r\n */\r\nexport declare const mergebuf: (b1: Uint8Array, b2: Uint8Array) => Uint8Array;\r\n/**\r\n *\r\n * @description Flatten a michelson json representation to an array\r\n *\r\n * @param s michelson json\r\n */\r\nexport declare const mic2arr: (s: any) => any;\r\n/**\r\n *\r\n * @description Convert a buffer to an hex string\r\n *\r\n * @param buffer Buffer to convert\r\n */\r\nexport declare const buf2hex: (buffer: Buffer) => string;\r\n/**\r\n *\r\n * @description Gets Tezos address (PKH) from Public Key\r\n *\r\n * @param publicKey Public Key\r\n * @returns A string of the Tezos address (PKH) that was derived from the given Public Key\r\n */\r\nexport declare const getPkhfromPk: (publicKey: string) => string;\r\n/**\r\n *\r\n * @description Convert a string to bytes\r\n *\r\n * @param str String to convert\r\n */\r\nexport declare function char2Bytes(str: string): string;\r\n/**\r\n *\r\n * @description Convert bytes to a string\r\n *\r\n * @param str Bytes to convert\r\n */\r\nexport declare function bytes2Char(hex: string): string;\r\n/**\r\n *\r\n * @description Convert hex string/UintArray/Buffer to bytes\r\n *\r\n * @param hex String value to convert to bytes\r\n */\r\nexport declare function hex2Bytes(hex: string): Buffer;\r\n/**\r\n *\r\n * @description Converts a number or Bignumber to hexadecimal string\r\n *\r\n * @param val The value that will be converted to a hexadecimal string value\r\n */\r\nexport declare function toHexBuf(val: number | BigNumber, bitLength?: number): Buffer;\r\n/**\r\n *\r\n * @description Converts a number or BigNumber to a padded hexadecimal string\r\n * @param val The value that will be converted into a padded hexadecimal string value\r\n * @param bitLength The length of bits\r\n *\r\n */\r\nexport declare function num2PaddedHex(val: number | BigNumber, bitLength?: number): string;\r\n/**\r\n *\r\n * @description Strips the first 2 characters of a hex string (0x)\r\n *\r\n * @param hex string to strip prefix from\r\n */\r\nexport declare function stripHexPrefix(hex: string): string;\r\n"},{name:"@taquito/utils/dist/types/validators.d.ts",dts:"import { Prefix } from './constants';\r\nexport declare enum ValidationResult {\r\n NO_PREFIX_MATCHED = 0,\r\n INVALID_CHECKSUM = 1,\r\n INVALID_LENGTH = 2,\r\n VALID = 3\r\n}\r\nexport declare function isValidPrefix(value: unknown): value is Prefix;\r\n/**\r\n * @description Used to check if an address or a contract address is valid.\r\n *\r\n * @returns\r\n * 0 (NO_PREFIX_MATCHED), 1 (INVALID_CHECKSUM), 2 (INVALID_LENGTH) or 3 (VALID).\r\n *\r\n * @example\r\n * ```\r\n * import { validateAddress } from '@taquito/utils';\r\n * const pkh = 'tz1L9r8mWmRPndRhuvMCWESLGSVeFzQ9NAWx'\r\n * const validation = validateAddress(pkh)\r\n * console.log(validation)\r\n * // This example return 3 which correspond to VALID\r\n * ```\r\n */\r\nexport declare function validateAddress(value: string): ValidationResult;\r\n/**\r\n * @description Used to check if a chain id is valid.\r\n *\r\n * @returns\r\n * 0 (NO_PREFIX_MATCHED), 1 (INVALID_CHECKSUM), 2 (INVALID_LENGTH) or 3 (VALID).\r\n *\r\n * @example\r\n * ```\r\n * import { validateChain } from '@taquito/utils';\r\n * const chainId = 'NetXdQprcVkpaWU'\r\n * const validation = validateChain(chainId)\r\n * console.log(validation)\r\n * // This example return 3 which correspond to VALID\r\n * ```\r\n */\r\nexport declare function validateChain(value: string): ValidationResult;\r\n/**\r\n * @description Used to check if a contract address is valid.\r\n *\r\n * @returns\r\n * 0 (NO_PREFIX_MATCHED), 1 (INVALID_CHECKSUM), 2 (INVALID_LENGTH) or 3 (VALID).\r\n *\r\n * @example\r\n * ```\r\n * import { validateContractAddress } from '@taquito/utils';\r\n * const contractAddress = 'KT1JVErLYTgtY8uGGZ4mso2npTSxqVLDRVbC'\r\n * const validation = validateContractAddress(contractAddress)\r\n * console.log(validation)\r\n * // This example return 3 which correspond to VALID\r\n * ```\r\n */\r\nexport declare function validateContractAddress(value: string): ValidationResult;\r\n/**\r\n * @description Used to check if a key hash is valid.\r\n *\r\n * @returns\r\n * 0 (NO_PREFIX_MATCHED), 1 (INVALID_CHECKSUM), 2 (INVALID_LENGTH) or 3 (VALID).\r\n *\r\n * @example\r\n * ```\r\n * import { validateKeyHash } from '@taquito/utils';\r\n * const keyHashWithoutPrefix = '1L9r8mWmRPndRhuvMCWESLGSVeFzQ9NAWx'\r\n * const validation = validateKeyHash(keyHashWithoutPrefix)\r\n * console.log(validation)\r\n * // This example return 0 which correspond to NO_PREFIX_MATCHED\r\n * ```\r\n */\r\nexport declare function validateKeyHash(value: string): ValidationResult;\r\n/**\r\n * @description Used to check if a signature is valid.\r\n *\r\n * @returns\r\n * 0 (NO_PREFIX_MATCHED), 1 (INVALID_CHECKSUM), 2 (INVALID_LENGTH) or 3 (VALID).\r\n *\r\n * @example\r\n * ```\r\n * import { validateSignature } from '@taquito/utils';\r\n * const signature = 'edsigtkpiSSschcaCt9pUVrpNPf7TTcgvgDEDD6NCEHMy8NNQJCGnMfLZzYoQj74yLjo9wx6MPVV29CvVzgi7qEcEUok3k7AuMg'\r\n * const validation = validateSignature(signature)\r\n * console.log(validation)\r\n * // This example return 3 which correspond to VALID\r\n * ```\r\n */\r\nexport declare function validateSignature(value: string): ValidationResult;\r\n/**\r\n * @description Used to check if a public key is valid.\r\n *\r\n * @returns\r\n * 0 (NO_PREFIX_MATCHED), 1 (INVALID_CHECKSUM), 2 (INVALID_LENGTH) or 3 (VALID).\r\n *\r\n * @example\r\n * ```\r\n * import { validatePublicKey } from '@taquito/utils';\r\n * const publicKey = 'edpkvS5QFv7KRGfa3b87gg9DBpxSm3NpSwnjhUjNBQrRUUR66F7C9g'\r\n * const validation = validatePublicKey(publicKey)\r\n * console.log(validation)\r\n * // This example return 3 which correspond to VALID\r\n * ```\r\n */\r\nexport declare function validatePublicKey(value: string): ValidationResult;\r\n/**\r\n * @description Used to check if an operation hash is valid.\r\n *\r\n * @returns\r\n * 0 (NO_PREFIX_MATCHED), 1 (INVALID_CHECKSUM), 2 (INVALID_LENGTH) or 3 (VALID).\r\n *\r\n * @example\r\n * ```\r\n * import { validateOperation } from '@taquito/utils';\r\n * const operationHash = 'oo6JPEAy8VuMRGaFuMmLNFFGdJgiaKfnmT1CpHJfKP3Ye5ZahiP'\r\n * const validation = validateOperation(operationHash)\r\n * console.log(validation)\r\n * // This example return 3 which correspond to VALID\r\n * ```\r\n */\r\nexport declare function validateOperation(value: string): ValidationResult;\r\n/**\r\n * @description Used to check if a protocol hash is valid.\r\n *\r\n * @returns\r\n * 0 (NO_PREFIX_MATCHED), 1 (INVALID_CHECKSUM), 2 (INVALID_LENGTH) or 3 (VALID).\r\n *\r\n * @example\r\n * ```\r\n * import { validateProtocol } from '@taquito/utils';\r\n * const protocolHash = 'PtHangz2aRngywmSRGGvrcTyMbbdpWdpFKuS4uMWxg2RaH9i1qx'\r\n * const validation = validateProtocol(protocolHash)\r\n * console.log(validation)\r\n * // This example return 3 which correspond to VALID\r\n * ```\r\n */\r\nexport declare function validateProtocol(value: string): ValidationResult;\r\n/**\r\n * @description Used to check if a block hash is valid.\r\n *\r\n * @returns\r\n * 0 (NO_PREFIX_MATCHED), 1 (INVALID_CHECKSUM), 2 (INVALID_LENGTH) or 3 (VALID).\r\n *\r\n * @example\r\n * ```\r\n * import { validateBlock } from '@taquito/utils';\r\n * const blockHash = 'PtHangz2aRngywmSRGGvrcTyMbbdpWdpFKuS4uMWxg2RaH9i1qx'\r\n * const validation = validateBlock(blockHash)\r\n * console.log(validation)\r\n * // This example return 3 which correspond to VALID\r\n * ```\r\n */\r\nexport declare function validateBlock(value: string): ValidationResult;\r\n/**\r\n * @description Used to check if a spending key is valid.\r\n * @returns 0 (NO_PREFIX_MATCHED), 1 (INVALID_CHECKSUM), 2 (INVALID_LENGTH) or 3 (VALID).\r\n *\r\n */\r\nexport declare function validateSpendingKey(value: any): ValidationResult;\r\nexport declare function invalidDetail(validation: ValidationResult): string;\r\nexport declare function validateSmartRollupAddress(value: string): ValidationResult;\r\n"},{name:"@taquito/utils/dist/types/verify-signature.d.ts",dts:"import { Prefix } from './taquito-utils';\r\ndeclare type PkPrefix = Prefix.EDPK | Prefix.SPPK | Prefix.P2PK | Prefix.BLPK;\r\n/**\r\n * @description Verify signature of a payload\r\n *\r\n * @param messageBytes The forged message including the magic byte (11 for block,\r\n * 12 for preendorsement, 13 for endorsement, 3 for generic, 5 for the PACK format of michelson)\r\n * @param publicKey The public key to verify the signature against\r\n * @param signature The signature to verify\r\n * @returns A boolean indicating if the signature matches\r\n * @throws {@link InvalidPublicKeyError} | {@link InvalidSignatureError} | {@link InvalidMessageError}\r\n * @example\r\n * ```\r\n * const message = '03d0c10e3ed11d7c6e3357f6ef335bab9e8f2bd54d0ce20c482e241191a6e4b8ce6c01be917311d9ac46959750e405d57e268e2ed9e174a80794fbd504e12a4a000141eb3781afed2f69679ff2bbe1c5375950b0e40d00ff000000005e05050505050507070100000024747a32526773486e74516b72794670707352466261313652546656503539684b72654a4d07070100000024747a315a6672455263414c42776d4171776f6e525859565142445439426a4e6a42484a750001';\r\n * const pk = 'sppk7c7hkPj47yjYFEHX85q46sFJGw6RBrqoVSHwAJAT4e14KJwzoey';\r\n * const sig = 'spsig1cdLkp1RLgUHAp13aRFkZ6MQDPp7xCnjAExGL3MBSdMDmT6JgQSX8cufyDgJRM3sinFtiCzLbsyP6d365EHoNevxhT47nx'\r\n *\r\n * const response = verifySignature(message, pk, sig);\r\n * ```\r\n *\r\n */\r\nexport declare function verifySignature(messageBytes: string, publicKey: string, signature: string, watermark?: Uint8Array): boolean;\r\nexport declare function validatePkAndExtractPrefix(publicKey: string): PkPrefix;\r\nexport {};\r\n"},{name:"@taquito/utils/dist/types/version.d.ts",dts:"export declare const VERSION: {\r\n commitHash: string;\r\n version: string;\r\n};\r\n"}];var i=r(63764);const p=function(e){let n;const{colorMode:r}=(0,a.I)();return o.createElement(o.Suspense,{fallback:o.createElement("div",null,"Loading")},o.createElement(i.ZP,(0,t.Z)({},e,{defaultLanguage:"typescript",beforeMount:function(r){n=r,r.editor.defineTheme("vs-dark",{base:"vs-dark",inherit:!0,rules:[{background:"121212"}],colors:{"editor.background":"#121212"}}),r.languages.typescript.typescriptDefaults.setCompilerOptions({target:r.languages.typescript.ScriptTarget.ES2017,allowNonTsExtensions:!0,moduleResolution:r.languages.typescript.ModuleResolutionKind.NodeJs,module:r.languages.typescript.ModuleKind.ESNext,typeRoots:["node_modules/@types"]}),s.forEach((e=>{const n=`file:///node_modules/${e.name}`;r.languages.typescript.typescriptDefaults.addExtraLib(e.dts,n)})),e.editorWillMount&&e.editorWillMount(r)},onMount:function(r){r.setModel(n.editor.createModel(e.value,e.language,n.Uri.parse(`file:///main-${Math.random()}.ts`)))},theme:"dark"===r?"vs-dark":"light"})))}},12500:(e,n,r)=>{"use strict";r.d(n,{Z:()=>o});var t=r(67294);const o=function(){if("undefined"==typeof window)return{width:999,height:999};const[e,n]=(0,t.useState)({width:window.innerWidth,height:window.innerHeight});return(0,t.useEffect)((()=>{function e(){n({width:window.innerWidth,height:window.innerHeight})}return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)}),[]),e}},48524:(e,n,r)=>{"use strict";r.r(n),r.d(n,{default:()=>u});var t=r(87462),o=r(67294),a=r(94184),s=r.n(a),i=r(71155),p=r(12500);const c="runbox__boR",l="row_BFIh";let d=function(e){return e[e.INIT=0]="INIT",e[e.STARTED=1]="STARTED",e[e.ENDED=2]="ENDED",e}({});var m=r(91262),g=r(44763);const u=function(){if("undefined"==typeof window)return null;const e=new URLSearchParams(window.location.search),n=e.has("code")?atob(e.get("code")):"import { DAppClient } from \"@airgap/beacon-sdk\";\n\nconst dAppClient = new DAppClient({ name: 'Beacon Docs' })\n\nconst activeAccount = await dAppClient.getActiveAccount()\nif (activeAccount) {\n // User already has account connected, everything is ready\n // You can now do an operation request, sign request, or send another permission request to switch wallet\n console.log('Already connected:', activeAccount.address)\n return activeAccount\n} else {\n const permissions = await dAppClient.requestPermissions()\n console.log('New connection:', permissions.address)\n return permissions\n}",[a,u]=(0,o.useState)(n),[h,y]=(0,o.useState)(""),[f,P]=(0,o.useState)(d.INIT),T=(0,p.Z)(),b=e=>{u(e)},x=100,R={xs:{width:T.width,height:200},lg:{width:.6*T.width,height:T.height-x}},E={xs:{width:T.width,height:T.height-x-R.xs.height},lg:{width:(.4-.05)*T.width,height:T.height}};return o.createElement(m.Z,{fallback:o.createElement(o.Fragment,null)},(()=>{const{DAppClient:e}=r(79240),n=r(44433).Z,{copyShareUrl:p,runBeaconCode:m}=r(71446),u=async()=>{y(""),P(d.INIT)};return o.createElement(i.Z,{title:"Beacon",description:"Beacon Playground",noFooter:!0},o.createElement("div",{className:s()(c)},o.createElement("button",{onClick:async()=>{f!==d.STARTED&&(await u(),P(d.STARTED),await m(a,y),P(d.ENDED))},className:"button button--primary margin-bottom--lg margin-right--xs"},"Run Code"),o.createElement("button",{onClick:async()=>{u();const n=new e({name:"Cleanup"});await n.destroy()},className:"button button--secondary margin-bottom--lg margin-right--xs"},"Reset"),o.createElement("button",{onClick:u,className:"button button--secondary margin-bottom--lg margin-right--xs"},"Clear Output"),o.createElement("button",{onClick:()=>{p(a)},className:"button button--secondary margin-bottom--lg margin-right--xs"},"Share Code (Copy to Clipboard)")),o.createElement("div",{className:s()(l)},o.createElement(g.Z,{fallback:e=>{let{error:n,tryAgain:r}=e;return o.createElement("div",null,o.createElement("p",null,"This editor crashed because of error: ",n.message,"."),o.createElement("button",{onClick:r},"Try Again!"))}},o.createElement(n,(0,t.Z)({},T.width>600?R.lg:R.xs,{language:"typescript",value:a,onChange:b,options:{minimap:{enabled:!1},wordWrap:"on"}})),o.createElement(n,(0,t.Z)({},T.width>600?E.lg:E.xs,{language:"shell",value:h,options:{readOnly:!0,minimap:{enabled:!1},wordWrap:"on"}})))))}))}},71446:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{copyShareUrl:()=>copyShareUrl,reset:()=>reset,runBeaconCode:()=>runBeaconCode});var _node_modules_beacon_sdk_dist_cjs__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(16944),_node_modules_beacon_sdk_dist_cjs__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_beacon_sdk_dist_cjs__WEBPACK_IMPORTED_MODULE_0__),typescript__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(55423),typescript__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(typescript__WEBPACK_IMPORTED_MODULE_1__),_taquito_taquito__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(36533),_taquito_beacon_wallet__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(55231),console=__webpack_require__(25108);function replaceAll(e,n,r){return e.split(n).join(r)}const removeImports=e=>{const n=e.split("\n");let r=!0;return n.map((e=>{e.trim().startsWith("import")&&(r=!1);const n=r?e:void 0;return(e.indexOf("@airgap/beacon-sdk")>=0||e.indexOf("@taquito")>=0)&&(r=!0),n})).filter((e=>!!e)).join("\n")},runBeaconCode=(rawCode,setOutput)=>{let code=rawCode,output="";const appendOutput=e=>{output+="\n"+e,setOutput(output.trim())},myLog=function(){for(var e=arguments.length,n=new Array(e),r=0;r"object"==typeof e?JSON.stringify(e,null,2):e)).join(" "))};let runnable;return code=replaceAll(code,"console.log(","progress("),code=removeImports(code),code=typescript__WEBPACK_IMPORTED_MODULE_1__.transpile(`({\n run: async (beacon: any, taquito: any, taquitoWallet: any, progress: any): string => {\n Object.keys(beacon).forEach(key => {\n window[key] = beacon[key]\n })\n Object.keys(taquito).forEach(key => {\n window[key] = taquito[key]\n })\n Object.keys(taquitoWallet).forEach(key => {\n window[key] = taquitoWallet[key]\n })\n return (async () => {\n ${code};\n if (typeof result !== 'undefined') {\n return result\n }\n })()\n })`),new Promise((resolve=>{try{runnable=eval(code),runnable.run(_node_modules_beacon_sdk_dist_cjs__WEBPACK_IMPORTED_MODULE_0__,_taquito_taquito__WEBPACK_IMPORTED_MODULE_2__,_taquito_beacon_wallet__WEBPACK_IMPORTED_MODULE_3__,myLog).then((e=>{e&&appendOutput("Returned:\n"+JSON.stringify(e,null,2)),resolve(e)})).catch((e=>{console.warn(e),appendOutput(JSON.stringify(e,null,2)),resolve(e)}))}catch(e){appendOutput(e),console.error(e),resolve(e)}}))},copyShareUrl=e=>{const n=`https://${window.location.host}/playground?code=${btoa(e)}`;navigator.clipboard.writeText(n).catch((e=>console.error("Failed to copy to url!",e)))},reset=async()=>{const e=new _node_modules_beacon_sdk_dist_cjs__WEBPACK_IMPORTED_MODULE_0__.DAppClient({name:"Cleanup"});await e.destroy()}},13411:e=>{function n(e){var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}n.keys=()=>[],n.resolve=n,n.id=13411,e.exports=n},35883:()=>{},46601:()=>{},89214:()=>{},52361:()=>{},94616:()=>{},62183:()=>{},13024:()=>{},62715:()=>{},13611:()=>{},28353:()=>{},1210:()=>{},43454:()=>{}}]); \ No newline at end of file diff --git a/assets/js/0e7ff25a.d89ab057.js b/assets/js/0e7ff25a.d89ab057.js new file mode 100644 index 00000000..289a3f2e --- /dev/null +++ b/assets/js/0e7ff25a.d89ab057.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkbeacon_docs=self.webpackChunkbeacon_docs||[]).push([[9075],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>m});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function i(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var s=a.createContext({}),u=function(e){var t=a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},c=function(e){var t=u(e.components);return a.createElement(s.Provider,{value:t},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},g=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,s=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),p=u(n),g=r,m=p["".concat(s,".").concat(g)]||p[g]||d[g]||o;return n?a.createElement(m,i(i({ref:t},c),{},{components:n})):a.createElement(m,i({ref:t},c))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=g;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[p]="string"==typeof e?e:r,i[1]=l;for(var u=2;u{n.d(t,{Z:()=>i});var a=n(67294),r=n(86010);const o={tabItem:"tabItem_Ymn6"};function i(e){let{children:t,hidden:n,className:i}=e;return a.createElement("div",{role:"tabpanel",className:(0,r.Z)(o.tabItem,i),hidden:n},t)}},74866:(e,t,n)=>{n.d(t,{Z:()=>w});var a=n(87462),r=n(67294),o=n(86010),i=n(12466),l=n(16550),s=n(91980),u=n(67392),c=n(50012);function p(e){return function(e){return r.Children.map(e,(e=>{if(!e||(0,r.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}(e).map((e=>{let{props:{value:t,label:n,attributes:a,default:r}}=e;return{value:t,label:n,attributes:a,default:r}}))}function d(e){const{values:t,children:n}=e;return(0,r.useMemo)((()=>{const e=t??p(n);return function(e){const t=(0,u.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function g(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function m(e){let{queryString:t=!1,groupId:n}=e;const a=(0,l.k6)(),o=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,s._X)(o),(0,r.useCallback)((e=>{if(!o)return;const t=new URLSearchParams(a.location.search);t.set(o,e),a.replace({...a.location,search:t.toString()})}),[o,a])]}function f(e){const{defaultValue:t,queryString:n=!1,groupId:a}=e,o=d(e),[i,l]=(0,r.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!g({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const a=n.find((e=>e.default))??n[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:t,tabValues:o}))),[s,u]=m({queryString:n,groupId:a}),[p,f]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[a,o]=(0,c.Nk)(n);return[a,(0,r.useCallback)((e=>{n&&o.set(e)}),[n,o])]}({groupId:a}),b=(()=>{const e=s??p;return g({value:e,tabValues:o})?e:null})();(0,r.useLayoutEffect)((()=>{b&&l(b)}),[b]);return{selectedValue:i,selectValue:(0,r.useCallback)((e=>{if(!g({value:e,tabValues:o}))throw new Error(`Can't select invalid tab value=${e}`);l(e),u(e),f(e)}),[u,f,o]),tabValues:o}}var b=n(72389);const y={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};function h(e){let{className:t,block:n,selectedValue:l,selectValue:s,tabValues:u}=e;const c=[],{blockElementScrollPositionUntilNextRender:p}=(0,i.o5)(),d=e=>{const t=e.currentTarget,n=c.indexOf(t),a=u[n].value;a!==l&&(p(t),s(a))},g=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const n=c.indexOf(e.currentTarget)+1;t=c[n]??c[0];break}case"ArrowLeft":{const n=c.indexOf(e.currentTarget)-1;t=c[n]??c[c.length-1];break}}t?.focus()};return r.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,o.Z)("tabs",{"tabs--block":n},t)},u.map((e=>{let{value:t,label:n,attributes:i}=e;return r.createElement("li",(0,a.Z)({role:"tab",tabIndex:l===t?0:-1,"aria-selected":l===t,key:t,ref:e=>c.push(e),onKeyDown:g,onClick:d},i,{className:(0,o.Z)("tabs__item",y.tabItem,i?.className,{"tabs__item--active":l===t})}),n??t)})))}function v(e){let{lazy:t,children:n,selectedValue:a}=e;const o=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=o.find((e=>e.props.value===a));return e?(0,r.cloneElement)(e,{className:"margin-top--md"}):null}return r.createElement("div",{className:"margin-top--md"},o.map(((e,t)=>(0,r.cloneElement)(e,{key:t,hidden:e.props.value!==a}))))}function T(e){const t=f(e);return r.createElement("div",{className:(0,o.Z)("tabs-container",y.tabList)},r.createElement(h,(0,a.Z)({},e,t)),r.createElement(v,(0,a.Z)({},e,t)))}function w(e){const t=(0,b.Z)();return r.createElement(T,(0,a.Z)({key:String(t)},e))}},69717:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>m,frontMatter:()=>l,metadata:()=>u,toc:()=>p});var a=n(87462),r=(n(67294),n(3905)),o=n(74866),i=n(85162);const l={title:"Sign Payload"},s=void 0,u={unversionedId:"guides/sign-payload",id:"guides/sign-payload",title:"Sign Payload",description:"HEX Prefixed With 05",source:"@site/docs/guides/sign-payload.mdx",sourceDirName:"guides",slug:"/guides/sign-payload",permalink:"/guides/sign-payload",draft:!1,editUrl:"https://github.com/airgap-it/beacon-docs/edit/main/src/docs/guides/sign-payload.mdx",tags:[],version:"current",frontMatter:{title:"Sign Payload"},sidebar:"docs",previous:{title:"Request Permissions",permalink:"/guides/request-permissions"},next:{title:"Broadcast Request",permalink:"/guides/broadcast-request"}},c={},p=[{value:"HEX Prefixed With 05",id:"hex-prefixed-with-05",level:2},{value:"HEX Prefixed With 03",id:"hex-prefixed-with-03",level:2},{value:"RAW",id:"raw",level:2}],d={toc:p},g="wrapper";function m(e){let{components:t,...n}=e;return(0,r.kt)(g,(0,a.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"hex-prefixed-with-05"},"HEX Prefixed With 05"),(0,r.kt)(o.Z,{groupId:"beaconOrTaquitoSP1",defaultValue:"beacon",values:[{label:"Beacon",value:"beacon"},{label:"Taquito",value:"taquito"}],mdxType:"Tabs"},(0,r.kt)(i.Z,{value:"beacon",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-ts",metastring:"live",live:!0},'// beacon sign payload micheline\nimport { DAppClient, SigningType } from "@airgap/beacon-sdk";\n\nconst dAppClient = new DAppClient({ name: "Beacon Docs" });\n\nconst response = await dAppClient.requestSignPayload({\n signingType: SigningType.MICHELINE,\n // This hex string needs to be prefixed with 05\n // The following is packed data, it can also be signed by Kukai\n payload: `05010000004254657a6f73205369676e6564204d6573736167653a206d79646170702e636f6d20323032312d30312d31345431353a31363a30345a2048656c6c6f20776f726c6421`,\n});\n\nconsole.log(`Signature: ${response.signature}`);\n'))),(0,r.kt)(i.Z,{value:"taquito",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-ts",metastring:"live",live:!0},'// taquito sign payload micheline\nimport { TezosToolkit } from "@taquito/taquito";\nimport { BeaconWallet } from "@taquito/beacon-wallet";\nimport { SigningType } from "@airgap/beacon-sdk";\n\nconst Tezos = new TezosToolkit("https://mainnet-tezos.giganode.io");\nconst wallet = new BeaconWallet({ name: "Beacon Docs Taquito" });\n\nTezos.setWalletProvider(wallet);\n\nconst response = await wallet.client.requestSignPayload({\n signingType: SigningType.MICHELINE,\n // This hex string needs to be prefixed with 05\n // The following is packed data, it can also be signed by Kukai\n payload: `05010000004254657a6f73205369676e6564204d6573736167653a206d79646170702e636f6d20323032312d30312d31345431353a31363a30345a2048656c6c6f20776f726c6421`,\n});\n\nconsole.log(`Signature: ${response.signature}`);\n')))),(0,r.kt)("h2",{id:"hex-prefixed-with-03"},"HEX Prefixed With 03"),(0,r.kt)(o.Z,{groupId:"beaconOrTaquitoSP2",defaultValue:"beacon",values:[{label:"Beacon",value:"beacon"},{label:"Taquito",value:"taquito"}],mdxType:"Tabs"},(0,r.kt)(i.Z,{value:"beacon",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-ts",metastring:"live",live:!0},'// beacon sign payload operation\nimport { DAppClient, SigningType } from "@airgap/beacon-sdk";\n\nconst dAppClient = new DAppClient({ name: "Beacon Docs" });\n\nconst response = await dAppClient.requestSignPayload({\n signingType: SigningType.OPERATION,\n payload: "0300", // This hex string needs to be prefixed with 03\n});\n\nconsole.log(`Signature: ${response.signature}`);\n'))),(0,r.kt)(i.Z,{value:"taquito",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-ts",metastring:"live",live:!0},'// taquito sign payload operation\nimport { TezosToolkit } from "@taquito/taquito";\nimport { BeaconWallet } from "@taquito/beacon-wallet";\nimport { SigningType } from "@airgap/beacon-sdk";\n\nconst Tezos = new TezosToolkit("https://mainnet-tezos.giganode.io");\nconst wallet = new BeaconWallet({ name: "Beacon Docs Taquito" });\n\nTezos.setWalletProvider(wallet);\n\nconst response = await wallet.client.requestSignPayload({\n signingType: SigningType.OPERATION,\n payload: "0300", // This hex string needs to be prefixed with 03\n});\n\nconsole.log(`Signature: ${response.signature}`);\n')))),(0,r.kt)("h2",{id:"raw"},"RAW"),(0,r.kt)("admonition",{type:"warning"},(0,r.kt)("p",{parentName:"admonition"},"Not all wallets support the ",(0,r.kt)("inlineCode",{parentName:"p"},"RAW")," signing type. Additionally, the signatures can be different depending on the wallet that was used. For the preferred way of signing arbitrary data, please check the docs here: ",(0,r.kt)("a",{parentName:"p",href:"https://tezostaquito.io/docs/signing/#generating-a-signature-with-beacon-sdk"},"https://tezostaquito.io/docs/signing/#generating-a-signature-with-beacon-sdk"))),(0,r.kt)(o.Z,{groupId:"beaconOrTaquitoSP3",defaultValue:"beacon",values:[{label:"Beacon",value:"beacon"},{label:"Taquito",value:"taquito"}],mdxType:"Tabs"},(0,r.kt)(i.Z,{value:"beacon",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-ts",metastring:"live",live:!0},'// beacon sign payload raw\nimport { DAppClient, SigningType } from "@airgap/beacon-sdk";\n\nconst dAppClient = new DAppClient({ name: "Beacon Docs" });\n\nconst response = await dAppClient.requestSignPayload({\n signingType: SigningType.RAW,\n payload: "any string that will be signed",\n});\n\nconsole.log(`Signature: ${response.signature}`);\n'))),(0,r.kt)(i.Z,{value:"taquito",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-ts",metastring:"live",live:!0},'// taquito sign payload raw\nimport { TezosToolkit } from "@taquito/taquito";\nimport { BeaconWallet } from "@taquito/beacon-wallet";\nimport { SigningType } from "@airgap/beacon-sdk";\n\nconst Tezos = new TezosToolkit("https://mainnet-tezos.giganode.io");\nconst wallet = new BeaconWallet({ name: "Beacon Docs Taquito" });\n\nTezos.setWalletProvider(wallet);\n\nconst response = await wallet.client.requestSignPayload({\n signingType: SigningType.RAW,\n payload: "any string that will be signed",\n});\n\nconsole.log(`Signature: ${response.signature}`);\n')))))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/0fd61c0d.6bb88766.js b/assets/js/0fd61c0d.6bb88766.js new file mode 100644 index 00000000..e9657179 --- /dev/null +++ b/assets/js/0fd61c0d.6bb88766.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkbeacon_docs=self.webpackChunkbeacon_docs||[]).push([[9488],{1504:(t,e,i)=>{i.d(e,{Z:()=>c});var a=i(67294),n=i(81581);n.N.initialize({startOnLoad:!0});const c=t=>{let{chart:e}=t;return(0,a.useEffect)((()=>{n.N.contentLoaded()}),[]),a.createElement("div",{className:"mermaid"},e)}},70841:(t,e,i)=>{i.r(e),i.d(e,{assets:()=>s,contentTitle:()=>o,default:()=>m,frontMatter:()=>d,metadata:()=>l,toc:()=>p});var a=i(87462),n=(i(67294),i(3905)),c=i(1504);const d={title:"Push Notification"},o=void 0,l={unversionedId:"advanced/push-notification",id:"advanced/push-notification",title:"Push Notification",description:"Push Notifications are in beta. There is no wallet that supports it at the moment.",source:"@site/docs/advanced/push-notification.mdx",sourceDirName:"advanced",slug:"/advanced/push-notification",permalink:"/advanced/push-notification",draft:!1,editUrl:"https://github.com/airgap-it/beacon-docs/edit/main/src/docs/advanced/push-notification.mdx",tags:[],version:"current",frontMatter:{title:"Push Notification"}},s={},p=[],r={toc:p},g="wrapper";function m(t){let{components:e,...i}=t;return(0,n.kt)(g,(0,a.Z)({},r,i,{components:e,mdxType:"MDXLayout"}),(0,n.kt)("admonition",{type:"warning"},(0,n.kt)("p",{parentName:"admonition"},"Push Notifications are in ",(0,n.kt)("strong",{parentName:"p"},"beta"),". There is no wallet that supports it at the moment.")),(0,n.kt)(c.Z,{chart:"\nsequenceDiagram\n rect rgba(0, 0, 255, .2)\n Note over dApp,Peer: Only for Extensions
Extensions have 200ms to respond\n dApp->>Peer: Ping\n Peer->>dApp: Pong\n end\n rect rgba(0, 0, 255, .2)\n Note over dApp,Peer: dApp sends publicKey to Peer\n dApp->>Peer: PairingRequest\n Note over dApp,Peer: Peer stores the dApp publicKey
Encrypts own publicKey with dApp publicKey
Send back encrypted publicKey\n Peer->>dApp: PairingResponse\n end\n",mdxType:"Mermaid"}),(0,n.kt)("p",null,(0,n.kt)("a",{parentName:"p",href:"https://mermaid-js.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoic2VxdWVuY2VEaWFncmFtXG4gICAgcGFydGljaXBhbnQgREFwcFxuICAgIHBhcnRpY2lwYW50IFdhbGxldFxuICAgIHBhcnRpY2lwYW50IFB1c2ggT3JhY2xlXG4gICAgcGFydGljaXBhbnQgV2FsbGV0IEJhY2tlbmRcbiAgICBEQXBwLT4-V2FsbGV0OiAxLiBQZXJtaXNzaW9uIFJlcXVlc3RcbiAgICBXYWxsZXQtPj5QdXNoIE9yYWNsZTogMi4gR2V0IENoYWxsZW5nZVxuICAgIFdhbGxldC0-PlB1c2ggT3JhY2xlOiAzLiBSZWdpc3RlclxuICAgIFdhbGxldC0-PkRBcHA6IDQuIFBlcm1pc3Npb24gUmVzcG9uc2VcbiAgICBEQXBwLT4-UHVzaCBPcmFjbGU6IDUuIFJlcXVlc3QgTm90aWZpY2F0aW9uXG4gICAgUHVzaCBPcmFjbGUtPj5XYWxsZXQgQmFja2VuZDogNi4gTm90aWZ5IGJhY2tlbmRcbiAgICBXYWxsZXQgQmFja2VuZC0-PldhbGxldDogNy4gU2VuZCBQdXNoIG5vdGlmaWNhdGlvblxuIiwibWVybWFpZCI6eyJ0aGVtZSI6ImRlZmF1bHQifSwidXBkYXRlRWRpdG9yIjpmYWxzZX0"},(0,n.kt)("img",{parentName:"a",src:"https://mermaid.ink/img/eyJjb2RlIjoic2VxdWVuY2VEaWFncmFtXG4gICAgcGFydGljaXBhbnQgREFwcFxuICAgIHBhcnRpY2lwYW50IFdhbGxldFxuICAgIHBhcnRpY2lwYW50IFB1c2ggT3JhY2xlXG4gICAgcGFydGljaXBhbnQgV2FsbGV0IEJhY2tlbmRcbiAgICBEQXBwLT4-V2FsbGV0OiAxLiBQZXJtaXNzaW9uIFJlcXVlc3RcbiAgICBXYWxsZXQtPj5QdXNoIE9yYWNsZTogMi4gR2V0IENoYWxsZW5nZVxuICAgIFdhbGxldC0-PlB1c2ggT3JhY2xlOiAzLiBSZWdpc3RlclxuICAgIFdhbGxldC0-PkRBcHA6IDQuIFBlcm1pc3Npb24gUmVzcG9uc2VcbiAgICBEQXBwLT4-UHVzaCBPcmFjbGU6IDUuIFJlcXVlc3QgTm90aWZpY2F0aW9uXG4gICAgUHVzaCBPcmFjbGUtPj5XYWxsZXQgQmFja2VuZDogNi4gTm90aWZ5IGJhY2tlbmRcbiAgICBXYWxsZXQgQmFja2VuZC0-PldhbGxldDogNy4gU2VuZCBQdXNoIG5vdGlmaWNhdGlvblxuIiwibWVybWFpZCI6eyJ0aGVtZSI6ImRlZmF1bHQifSwidXBkYXRlRWRpdG9yIjpmYWxzZX0",alt:null}))))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/101ac4ba.285e44b5.js b/assets/js/101ac4ba.285e44b5.js new file mode 100644 index 00000000..d9f4d779 --- /dev/null +++ b/assets/js/101ac4ba.285e44b5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkbeacon_docs=self.webpackChunkbeacon_docs||[]).push([[5822],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>b});var i=r(67294);function n(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){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function o(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var s=i.createContext({}),c=function(e){var t=i.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},u=function(e){var t=c(e.components);return i.createElement(s.Provider,{value:t},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},y=i.forwardRef((function(e,t){var r=e.components,n=e.mdxType,a=e.originalType,s=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),d=c(r),y=n,b=d["".concat(s,".").concat(y)]||d[y]||p[y]||a;return r?i.createElement(b,o(o({ref:t},u),{},{components:r})):i.createElement(b,o({ref:t},u))}));function b(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=r.length,o=new Array(a);o[0]=y;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[d]="string"==typeof e?e:n,o[1]=l;for(var c=2;c{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>p,frontMatter:()=>a,metadata:()=>l,toc:()=>c});var i=r(87462),n=(r(67294),r(3905));const a={title:"Security Audits",slug:"/security-audits"},o=void 0,l={unversionedId:"introduction/security-audit",id:"introduction/security-audit",title:"Security Audits",description:"Beacon SDK has and will be regularly audited by third parties, their reports will be made publicly available.",source:"@site/docs/introduction/security-audit.mdx",sourceDirName:"introduction",slug:"/security-audits",permalink:"/security-audits",draft:!1,editUrl:"https://github.com/airgap-it/beacon-docs/edit/main/src/docs/introduction/security-audit.mdx",tags:[],version:"current",frontMatter:{title:"Security Audits",slug:"/security-audits"},sidebar:"docs",previous:{title:"dApps",permalink:"/dapps"},next:{title:"Installation",permalink:"/getting-started/installation"}},s={},c=[{value:"17.09.20 - Beacon SDK Audit by Least Authority",id:"170920---beacon-sdk-audit-by-least-authority",level:2},{value:"Disclosing Security Vulnerabilities",id:"disclosing-security-vulnerabilities",level:2}],u={toc:c},d="wrapper";function p(e){let{components:t,...a}=e;return(0,n.kt)(d,(0,i.Z)({},u,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,"Beacon SDK has and will be regularly audited by third parties, their reports will be made publicly available."),(0,n.kt)("h2",{id:"170920---beacon-sdk-audit-by-least-authority"},"17.09.20 - Beacon SDK Audit by Least Authority"),(0,n.kt)("p",null,"In collaboration with the AirGap team, Least Authority conducted an audit of the tzip-10 Typescript implementation Beacon SDK. In total 5 issues have been identified by Least Authority. 3 of these have been resolved, 1 has been partially addressed and 1 was consciously not resolved."),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://medium.com/airgap-it/beacon-sdk-audited-by-least-authority-fa12f83e91e0"},"Blogpost - Beacon SDK Audit")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{target:"_blank",href:r(7129).Z},"Report - Beacon SDK Audit Report"))),(0,n.kt)("h2",{id:"disclosing-security-vulnerabilities"},"Disclosing Security Vulnerabilities"),(0,n.kt)("p",null,"If you discover a security vulnerability within this library, please send an e-mail to ",(0,n.kt)("a",{parentName:"p",href:"mailto:hi@airgap.it."},"hi@airgap.it.")," All security vulnerabilities will be promptly addressed."))}p.isMDXComponent=!0},7129:(e,t,r)=>{r.d(t,{Z:()=>i});const i=r.p+"assets/files/LeastAuthorityReport-1a9f7b44c55b9cb77ba2c8f4bc4f2654.pdf"}}]); \ No newline at end of file diff --git a/assets/js/118.a43552af.js b/assets/js/118.a43552af.js new file mode 100644 index 00000000..73ada87f --- /dev/null +++ b/assets/js/118.a43552af.js @@ -0,0 +1,1259 @@ +"use strict"; +exports.id = 118; +exports.ids = [118]; +exports.modules = { + +/***/ 47118: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ diagram: () => (/* binding */ diagram) +/* harmony export */ }); +/* harmony import */ var _mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(81581); +/* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(38077); +/* harmony import */ var dayjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(27484); +/* harmony import */ var _braintree_sanitize_url__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(17967); +/* harmony import */ var dompurify__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(20683); + + + + + + + + + + + +var parser = function() { + var o = function(k, v, o2, l) { + for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) + ; + return o2; + }, $V0 = [1, 3], $V1 = [1, 5], $V2 = [1, 6], $V3 = [1, 7], $V4 = [1, 8], $V5 = [1, 10], $V6 = [1, 5, 14, 16, 18, 20, 21, 26, 28, 29, 30, 31, 32, 38, 39, 40, 41, 47, 48, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60], $V7 = [1, 5, 7, 14, 16, 18, 20, 21, 26, 28, 29, 30, 31, 32, 38, 39, 40, 41, 47, 48, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60], $V8 = [38, 39, 40], $V9 = [2, 8], $Va = [1, 19], $Vb = [1, 23], $Vc = [1, 24], $Vd = [1, 25], $Ve = [1, 26], $Vf = [1, 27], $Vg = [1, 29], $Vh = [1, 30], $Vi = [1, 31], $Vj = [1, 32], $Vk = [1, 33], $Vl = [1, 34], $Vm = [1, 37], $Vn = [1, 38], $Vo = [1, 39], $Vp = [1, 40], $Vq = [1, 41], $Vr = [1, 42], $Vs = [1, 43], $Vt = [1, 44], $Vu = [1, 45], $Vv = [1, 46], $Vw = [1, 47], $Vx = [1, 48], $Vy = [1, 49], $Vz = [1, 52], $VA = [1, 67], $VB = [1, 68], $VC = [5, 23, 27, 38, 39, 40, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61], $VD = [5, 7, 38, 39, 40, 41]; + var parser2 = { + trace: function trace() { + }, + yy: {}, + symbols_: { "error": 2, "start": 3, "eol": 4, "SPACE": 5, "directive": 6, "QUADRANT": 7, "document": 8, "line": 9, "statement": 10, "axisDetails": 11, "quadrantDetails": 12, "points": 13, "title": 14, "title_value": 15, "acc_title": 16, "acc_title_value": 17, "acc_descr": 18, "acc_descr_value": 19, "acc_descr_multiline_value": 20, "section": 21, "text": 22, "point_start": 23, "point_x": 24, "point_y": 25, "X-AXIS": 26, "AXIS-TEXT-DELIMITER": 27, "Y-AXIS": 28, "QUADRANT_1": 29, "QUADRANT_2": 30, "QUADRANT_3": 31, "QUADRANT_4": 32, "openDirective": 33, "typeDirective": 34, "closeDirective": 35, ":": 36, "argDirective": 37, "NEWLINE": 38, "SEMI": 39, "EOF": 40, "open_directive": 41, "type_directive": 42, "arg_directive": 43, "close_directive": 44, "alphaNumToken": 45, "textNoTagsToken": 46, "STR": 47, "MD_STR": 48, "alphaNum": 49, "PUNCTUATION": 50, "AMP": 51, "NUM": 52, "ALPHA": 53, "COMMA": 54, "PLUS": 55, "EQUALS": 56, "MULT": 57, "DOT": 58, "BRKT": 59, "UNDERSCORE": 60, "MINUS": 61, "$accept": 0, "$end": 1 }, + terminals_: { 2: "error", 5: "SPACE", 7: "QUADRANT", 14: "title", 15: "title_value", 16: "acc_title", 17: "acc_title_value", 18: "acc_descr", 19: "acc_descr_value", 20: "acc_descr_multiline_value", 21: "section", 23: "point_start", 24: "point_x", 25: "point_y", 26: "X-AXIS", 27: "AXIS-TEXT-DELIMITER", 28: "Y-AXIS", 29: "QUADRANT_1", 30: "QUADRANT_2", 31: "QUADRANT_3", 32: "QUADRANT_4", 36: ":", 38: "NEWLINE", 39: "SEMI", 40: "EOF", 41: "open_directive", 42: "type_directive", 43: "arg_directive", 44: "close_directive", 47: "STR", 48: "MD_STR", 50: "PUNCTUATION", 51: "AMP", 52: "NUM", 53: "ALPHA", 54: "COMMA", 55: "PLUS", 56: "EQUALS", 57: "MULT", 58: "DOT", 59: "BRKT", 60: "UNDERSCORE", 61: "MINUS" }, + productions_: [0, [3, 2], [3, 2], [3, 2], [3, 2], [8, 0], [8, 2], [9, 2], [10, 0], [10, 2], [10, 1], [10, 1], [10, 1], [10, 2], [10, 2], [10, 2], [10, 1], [10, 1], [10, 1], [13, 4], [11, 4], [11, 3], [11, 2], [11, 4], [11, 3], [11, 2], [12, 2], [12, 2], [12, 2], [12, 2], [6, 3], [6, 5], [4, 1], [4, 1], [4, 1], [33, 1], [34, 1], [37, 1], [35, 1], [22, 1], [22, 2], [22, 1], [22, 1], [49, 1], [49, 2], [45, 1], [45, 1], [45, 1], [45, 1], [45, 1], [45, 1], [45, 1], [45, 1], [45, 1], [45, 1], [45, 1], [46, 1], [46, 1], [46, 1]], + performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) { + var $0 = $$.length - 1; + switch (yystate) { + case 13: + this.$ = $$[$0].trim(); + yy.setDiagramTitle(this.$); + break; + case 14: + this.$ = $$[$0].trim(); + yy.setAccTitle(this.$); + break; + case 15: + case 16: + this.$ = $$[$0].trim(); + yy.setAccDescription(this.$); + break; + case 17: + yy.addSection($$[$0].substr(8)); + this.$ = $$[$0].substr(8); + break; + case 19: + yy.addPoint($$[$0 - 3], $$[$0 - 1], $$[$0]); + break; + case 20: + yy.setXAxisLeftText($$[$0 - 2]); + yy.setXAxisRightText($$[$0]); + break; + case 21: + $$[$0 - 1].text += " ⟶ "; + yy.setXAxisLeftText($$[$0 - 1]); + break; + case 22: + yy.setXAxisLeftText($$[$0]); + break; + case 23: + yy.setYAxisBottomText($$[$0 - 2]); + yy.setYAxisTopText($$[$0]); + break; + case 24: + $$[$0 - 1].text += " ⟶ "; + yy.setYAxisBottomText($$[$0 - 1]); + break; + case 25: + yy.setYAxisBottomText($$[$0]); + break; + case 26: + yy.setQuadrant1Text($$[$0]); + break; + case 27: + yy.setQuadrant2Text($$[$0]); + break; + case 28: + yy.setQuadrant3Text($$[$0]); + break; + case 29: + yy.setQuadrant4Text($$[$0]); + break; + case 35: + yy.parseDirective("%%{", "open_directive"); + break; + case 36: + yy.parseDirective($$[$0], "type_directive"); + break; + case 37: + $$[$0] = $$[$0].trim().replace(/'/g, '"'); + yy.parseDirective($$[$0], "arg_directive"); + break; + case 38: + yy.parseDirective("}%%", "close_directive", "quadrantChart"); + break; + case 39: + this.$ = { text: $$[$0], type: "text" }; + break; + case 40: + this.$ = { text: $$[$0 - 1].text + "" + $$[$0], type: $$[$0 - 1].type }; + break; + case 41: + this.$ = { text: $$[$0], type: "text" }; + break; + case 42: + this.$ = { text: $$[$0], type: "markdown" }; + break; + case 43: + this.$ = $$[$0]; + break; + case 44: + this.$ = $$[$0 - 1] + "" + $$[$0]; + break; + } + }, + table: [{ 3: 1, 4: 2, 5: $V0, 6: 4, 7: $V1, 33: 9, 38: $V2, 39: $V3, 40: $V4, 41: $V5 }, { 1: [3] }, { 3: 11, 4: 2, 5: $V0, 6: 4, 7: $V1, 33: 9, 38: $V2, 39: $V3, 40: $V4, 41: $V5 }, { 3: 12, 4: 2, 5: $V0, 6: 4, 7: $V1, 33: 9, 38: $V2, 39: $V3, 40: $V4, 41: $V5 }, { 3: 13, 4: 2, 5: $V0, 6: 4, 7: $V1, 33: 9, 38: $V2, 39: $V3, 40: $V4, 41: $V5 }, o($V6, [2, 5], { 8: 14 }), o($V7, [2, 32]), o($V7, [2, 33]), o($V7, [2, 34]), { 34: 15, 42: [1, 16] }, { 42: [2, 35] }, { 1: [2, 1] }, { 1: [2, 2] }, { 1: [2, 3] }, o($V8, $V9, { 33: 9, 9: 17, 10: 18, 11: 20, 12: 21, 13: 22, 6: 28, 22: 35, 45: 36, 1: [2, 4], 5: $Va, 14: $Vb, 16: $Vc, 18: $Vd, 20: $Ve, 21: $Vf, 26: $Vg, 28: $Vh, 29: $Vi, 30: $Vj, 31: $Vk, 32: $Vl, 41: $V5, 47: $Vm, 48: $Vn, 50: $Vo, 51: $Vp, 52: $Vq, 53: $Vr, 54: $Vs, 55: $Vt, 56: $Vu, 57: $Vv, 58: $Vw, 59: $Vx, 60: $Vy }), { 35: 50, 36: [1, 51], 44: $Vz }, o([36, 44], [2, 36]), o($V6, [2, 6]), { 4: 53, 38: $V2, 39: $V3, 40: $V4 }, o($V8, $V9, { 33: 9, 11: 20, 12: 21, 13: 22, 6: 28, 22: 35, 45: 36, 10: 54, 5: $Va, 14: $Vb, 16: $Vc, 18: $Vd, 20: $Ve, 21: $Vf, 26: $Vg, 28: $Vh, 29: $Vi, 30: $Vj, 31: $Vk, 32: $Vl, 41: $V5, 47: $Vm, 48: $Vn, 50: $Vo, 51: $Vp, 52: $Vq, 53: $Vr, 54: $Vs, 55: $Vt, 56: $Vu, 57: $Vv, 58: $Vw, 59: $Vx, 60: $Vy }), o($V8, [2, 10]), o($V8, [2, 11]), o($V8, [2, 12]), { 15: [1, 55] }, { 17: [1, 56] }, { 19: [1, 57] }, o($V8, [2, 16]), o($V8, [2, 17]), o($V8, [2, 18]), { 22: 58, 45: 36, 47: $Vm, 48: $Vn, 50: $Vo, 51: $Vp, 52: $Vq, 53: $Vr, 54: $Vs, 55: $Vt, 56: $Vu, 57: $Vv, 58: $Vw, 59: $Vx, 60: $Vy }, { 22: 59, 45: 36, 47: $Vm, 48: $Vn, 50: $Vo, 51: $Vp, 52: $Vq, 53: $Vr, 54: $Vs, 55: $Vt, 56: $Vu, 57: $Vv, 58: $Vw, 59: $Vx, 60: $Vy }, { 22: 60, 45: 36, 47: $Vm, 48: $Vn, 50: $Vo, 51: $Vp, 52: $Vq, 53: $Vr, 54: $Vs, 55: $Vt, 56: $Vu, 57: $Vv, 58: $Vw, 59: $Vx, 60: $Vy }, { 22: 61, 45: 36, 47: $Vm, 48: $Vn, 50: $Vo, 51: $Vp, 52: $Vq, 53: $Vr, 54: $Vs, 55: $Vt, 56: $Vu, 57: $Vv, 58: $Vw, 59: $Vx, 60: $Vy }, { 22: 62, 45: 36, 47: $Vm, 48: $Vn, 50: $Vo, 51: $Vp, 52: $Vq, 53: $Vr, 54: $Vs, 55: $Vt, 56: $Vu, 57: $Vv, 58: $Vw, 59: $Vx, 60: $Vy }, { 22: 63, 45: 36, 47: $Vm, 48: $Vn, 50: $Vo, 51: $Vp, 52: $Vq, 53: $Vr, 54: $Vs, 55: $Vt, 56: $Vu, 57: $Vv, 58: $Vw, 59: $Vx, 60: $Vy }, { 5: $VA, 23: [1, 64], 45: 66, 46: 65, 50: $Vo, 51: $Vp, 52: $Vq, 53: $Vr, 54: $Vs, 55: $Vt, 56: $Vu, 57: $Vv, 58: $Vw, 59: $Vx, 60: $Vy, 61: $VB }, o($VC, [2, 39]), o($VC, [2, 41]), o($VC, [2, 42]), o($VC, [2, 45]), o($VC, [2, 46]), o($VC, [2, 47]), o($VC, [2, 48]), o($VC, [2, 49]), o($VC, [2, 50]), o($VC, [2, 51]), o($VC, [2, 52]), o($VC, [2, 53]), o($VC, [2, 54]), o($VC, [2, 55]), o($VD, [2, 30]), { 37: 69, 43: [1, 70] }, o($VD, [2, 38]), o($V6, [2, 7]), o($V8, [2, 9]), o($V8, [2, 13]), o($V8, [2, 14]), o($V8, [2, 15]), o($V8, [2, 22], { 46: 65, 45: 66, 5: $VA, 27: [1, 71], 50: $Vo, 51: $Vp, 52: $Vq, 53: $Vr, 54: $Vs, 55: $Vt, 56: $Vu, 57: $Vv, 58: $Vw, 59: $Vx, 60: $Vy, 61: $VB }), o($V8, [2, 25], { 46: 65, 45: 66, 5: $VA, 27: [1, 72], 50: $Vo, 51: $Vp, 52: $Vq, 53: $Vr, 54: $Vs, 55: $Vt, 56: $Vu, 57: $Vv, 58: $Vw, 59: $Vx, 60: $Vy, 61: $VB }), o($V8, [2, 26], { 46: 65, 45: 66, 5: $VA, 50: $Vo, 51: $Vp, 52: $Vq, 53: $Vr, 54: $Vs, 55: $Vt, 56: $Vu, 57: $Vv, 58: $Vw, 59: $Vx, 60: $Vy, 61: $VB }), o($V8, [2, 27], { 46: 65, 45: 66, 5: $VA, 50: $Vo, 51: $Vp, 52: $Vq, 53: $Vr, 54: $Vs, 55: $Vt, 56: $Vu, 57: $Vv, 58: $Vw, 59: $Vx, 60: $Vy, 61: $VB }), o($V8, [2, 28], { 46: 65, 45: 66, 5: $VA, 50: $Vo, 51: $Vp, 52: $Vq, 53: $Vr, 54: $Vs, 55: $Vt, 56: $Vu, 57: $Vv, 58: $Vw, 59: $Vx, 60: $Vy, 61: $VB }), o($V8, [2, 29], { 46: 65, 45: 66, 5: $VA, 50: $Vo, 51: $Vp, 52: $Vq, 53: $Vr, 54: $Vs, 55: $Vt, 56: $Vu, 57: $Vv, 58: $Vw, 59: $Vx, 60: $Vy, 61: $VB }), { 24: [1, 73] }, o($VC, [2, 40]), o($VC, [2, 56]), o($VC, [2, 57]), o($VC, [2, 58]), { 35: 74, 44: $Vz }, { 44: [2, 37] }, o($V8, [2, 21], { 45: 36, 22: 75, 47: $Vm, 48: $Vn, 50: $Vo, 51: $Vp, 52: $Vq, 53: $Vr, 54: $Vs, 55: $Vt, 56: $Vu, 57: $Vv, 58: $Vw, 59: $Vx, 60: $Vy }), o($V8, [2, 24], { 45: 36, 22: 76, 47: $Vm, 48: $Vn, 50: $Vo, 51: $Vp, 52: $Vq, 53: $Vr, 54: $Vs, 55: $Vt, 56: $Vu, 57: $Vv, 58: $Vw, 59: $Vx, 60: $Vy }), { 25: [1, 77] }, o($VD, [2, 31]), o($V8, [2, 20], { 46: 65, 45: 66, 5: $VA, 50: $Vo, 51: $Vp, 52: $Vq, 53: $Vr, 54: $Vs, 55: $Vt, 56: $Vu, 57: $Vv, 58: $Vw, 59: $Vx, 60: $Vy, 61: $VB }), o($V8, [2, 23], { 46: 65, 45: 66, 5: $VA, 50: $Vo, 51: $Vp, 52: $Vq, 53: $Vr, 54: $Vs, 55: $Vt, 56: $Vu, 57: $Vv, 58: $Vw, 59: $Vx, 60: $Vy, 61: $VB }), o($V8, [2, 19])], + defaultActions: { 10: [2, 35], 11: [2, 1], 12: [2, 2], 13: [2, 3], 70: [2, 37] }, + parseError: function parseError(str, hash) { + if (hash.recoverable) { + this.trace(str); + } else { + var error = new Error(str); + error.hash = hash; + throw error; + } + }, + parse: function parse(input) { + var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = "", yylineno = 0, yyleng = 0, TERROR = 2, EOF = 1; + var args = lstack.slice.call(arguments, 1); + var lexer2 = Object.create(this.lexer); + var sharedState = { yy: {} }; + for (var k in this.yy) { + if (Object.prototype.hasOwnProperty.call(this.yy, k)) { + sharedState.yy[k] = this.yy[k]; + } + } + lexer2.setInput(input, sharedState.yy); + sharedState.yy.lexer = lexer2; + sharedState.yy.parser = this; + if (typeof lexer2.yylloc == "undefined") { + lexer2.yylloc = {}; + } + var yyloc = lexer2.yylloc; + lstack.push(yyloc); + var ranges = lexer2.options && lexer2.options.ranges; + if (typeof sharedState.yy.parseError === "function") { + this.parseError = sharedState.yy.parseError; + } else { + this.parseError = Object.getPrototypeOf(this).parseError; + } + function lex() { + var token; + token = tstack.pop() || lexer2.lex() || EOF; + if (typeof token !== "number") { + if (token instanceof Array) { + tstack = token; + token = tstack.pop(); + } + token = self.symbols_[token] || token; + } + return token; + } + var symbol, state, action, r, yyval = {}, p, len, newState, expected; + while (true) { + state = stack[stack.length - 1]; + if (this.defaultActions[state]) { + action = this.defaultActions[state]; + } else { + if (symbol === null || typeof symbol == "undefined") { + symbol = lex(); + } + action = table[state] && table[state][symbol]; + } + if (typeof action === "undefined" || !action.length || !action[0]) { + var errStr = ""; + expected = []; + for (p in table[state]) { + if (this.terminals_[p] && p > TERROR) { + expected.push("'" + this.terminals_[p] + "'"); + } + } + if (lexer2.showPosition) { + errStr = "Parse error on line " + (yylineno + 1) + ":\n" + lexer2.showPosition() + "\nExpecting " + expected.join(", ") + ", got '" + (this.terminals_[symbol] || symbol) + "'"; + } else { + errStr = "Parse error on line " + (yylineno + 1) + ": Unexpected " + (symbol == EOF ? "end of input" : "'" + (this.terminals_[symbol] || symbol) + "'"); + } + this.parseError(errStr, { + text: lexer2.match, + token: this.terminals_[symbol] || symbol, + line: lexer2.yylineno, + loc: yyloc, + expected + }); + } + if (action[0] instanceof Array && action.length > 1) { + throw new Error("Parse Error: multiple actions possible at state: " + state + ", token: " + symbol); + } + switch (action[0]) { + case 1: + stack.push(symbol); + vstack.push(lexer2.yytext); + lstack.push(lexer2.yylloc); + stack.push(action[1]); + symbol = null; + { + yyleng = lexer2.yyleng; + yytext = lexer2.yytext; + yylineno = lexer2.yylineno; + yyloc = lexer2.yylloc; + } + break; + case 2: + len = this.productions_[action[1]][1]; + yyval.$ = vstack[vstack.length - len]; + yyval._$ = { + first_line: lstack[lstack.length - (len || 1)].first_line, + last_line: lstack[lstack.length - 1].last_line, + first_column: lstack[lstack.length - (len || 1)].first_column, + last_column: lstack[lstack.length - 1].last_column + }; + if (ranges) { + yyval._$.range = [ + lstack[lstack.length - (len || 1)].range[0], + lstack[lstack.length - 1].range[1] + ]; + } + r = this.performAction.apply(yyval, [ + yytext, + yyleng, + yylineno, + sharedState.yy, + action[1], + vstack, + lstack + ].concat(args)); + if (typeof r !== "undefined") { + return r; + } + if (len) { + stack = stack.slice(0, -1 * len * 2); + vstack = vstack.slice(0, -1 * len); + lstack = lstack.slice(0, -1 * len); + } + stack.push(this.productions_[action[1]][0]); + vstack.push(yyval.$); + lstack.push(yyval._$); + newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; + stack.push(newState); + break; + case 3: + return true; + } + } + return true; + } + }; + var lexer = function() { + var lexer2 = { + EOF: 1, + parseError: function parseError(str, hash) { + if (this.yy.parser) { + this.yy.parser.parseError(str, hash); + } else { + throw new Error(str); + } + }, + // resets the lexer, sets new input + setInput: function(input, yy) { + this.yy = yy || this.yy || {}; + this._input = input; + this._more = this._backtrack = this.done = false; + this.yylineno = this.yyleng = 0; + this.yytext = this.matched = this.match = ""; + this.conditionStack = ["INITIAL"]; + this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }; + if (this.options.ranges) { + this.yylloc.range = [0, 0]; + } + this.offset = 0; + return this; + }, + // consumes and returns one char from the input + input: function() { + var ch = this._input[0]; + this.yytext += ch; + this.yyleng++; + this.offset++; + this.match += ch; + this.matched += ch; + var lines = ch.match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno++; + this.yylloc.last_line++; + } else { + this.yylloc.last_column++; + } + if (this.options.ranges) { + this.yylloc.range[1]++; + } + this._input = this._input.slice(1); + return ch; + }, + // unshifts one char (or a string) into the input + unput: function(ch) { + var len = ch.length; + var lines = ch.split(/(?:\r\n?|\n)/g); + this._input = ch + this._input; + this.yytext = this.yytext.substr(0, this.yytext.length - len); + this.offset -= len; + var oldLines = this.match.split(/(?:\r\n?|\n)/g); + this.match = this.match.substr(0, this.match.length - 1); + this.matched = this.matched.substr(0, this.matched.length - 1); + if (lines.length - 1) { + this.yylineno -= lines.length - 1; + } + var r = this.yylloc.range; + this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len + }; + if (this.options.ranges) { + this.yylloc.range = [r[0], r[0] + this.yyleng - len]; + } + this.yyleng = this.yytext.length; + return this; + }, + // When called from action, caches matched text and appends it on next action + more: function() { + this._more = true; + return this; + }, + // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. + reject: function() { + if (this.options.backtrack_lexer) { + this._backtrack = true; + } else { + return this.parseError("Lexical error on line " + (this.yylineno + 1) + ". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n" + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + } + return this; + }, + // retain first n characters of the match + less: function(n) { + this.unput(this.match.slice(n)); + }, + // displays already matched input, i.e. for error messages + pastInput: function() { + var past = this.matched.substr(0, this.matched.length - this.match.length); + return (past.length > 20 ? "..." : "") + past.substr(-20).replace(/\n/g, ""); + }, + // displays upcoming input, i.e. for error messages + upcomingInput: function() { + var next = this.match; + if (next.length < 20) { + next += this._input.substr(0, 20 - next.length); + } + return (next.substr(0, 20) + (next.length > 20 ? "..." : "")).replace(/\n/g, ""); + }, + // displays the character position where the lexing error occurred, i.e. for error messages + showPosition: function() { + var pre = this.pastInput(); + var c = new Array(pre.length + 1).join("-"); + return pre + this.upcomingInput() + "\n" + c + "^"; + }, + // test the lexed token: return FALSE when not a match, otherwise return token + test_match: function(match, indexed_rule) { + var token, lines, backup; + if (this.options.backtrack_lexer) { + backup = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }; + if (this.options.ranges) { + backup.yylloc.range = this.yylloc.range.slice(0); + } + } + lines = match[0].match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno += lines.length; + } + this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length + }; + this.yytext += match[0]; + this.match += match[0]; + this.matches = match; + this.yyleng = this.yytext.length; + if (this.options.ranges) { + this.yylloc.range = [this.offset, this.offset += this.yyleng]; + } + this._more = false; + this._backtrack = false; + this._input = this._input.slice(match[0].length); + this.matched += match[0]; + token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); + if (this.done && this._input) { + this.done = false; + } + if (token) { + return token; + } else if (this._backtrack) { + for (var k in backup) { + this[k] = backup[k]; + } + return false; + } + return false; + }, + // return next match in input + next: function() { + if (this.done) { + return this.EOF; + } + if (!this._input) { + this.done = true; + } + var token, match, tempMatch, index; + if (!this._more) { + this.yytext = ""; + this.match = ""; + } + var rules = this._currentRules(); + for (var i = 0; i < rules.length; i++) { + tempMatch = this._input.match(this.rules[rules[i]]); + if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { + match = tempMatch; + index = i; + if (this.options.backtrack_lexer) { + token = this.test_match(tempMatch, rules[i]); + if (token !== false) { + return token; + } else if (this._backtrack) { + match = false; + continue; + } else { + return false; + } + } else if (!this.options.flex) { + break; + } + } + } + if (match) { + token = this.test_match(match, rules[index]); + if (token !== false) { + return token; + } + return false; + } + if (this._input === "") { + return this.EOF; + } else { + return this.parseError("Lexical error on line " + (this.yylineno + 1) + ". Unrecognized text.\n" + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + } + }, + // return next match that has a token + lex: function lex() { + var r = this.next(); + if (r) { + return r; + } else { + return this.lex(); + } + }, + // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) + begin: function begin(condition) { + this.conditionStack.push(condition); + }, + // pop the previously active lexer condition state off the condition stack + popState: function popState() { + var n = this.conditionStack.length - 1; + if (n > 0) { + return this.conditionStack.pop(); + } else { + return this.conditionStack[0]; + } + }, + // produce the lexer rule set which is active for the currently active lexer condition state + _currentRules: function _currentRules() { + if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { + return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; + } else { + return this.conditions["INITIAL"].rules; + } + }, + // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available + topState: function topState(n) { + n = this.conditionStack.length - 1 - Math.abs(n || 0); + if (n >= 0) { + return this.conditionStack[n]; + } else { + return "INITIAL"; + } + }, + // alias for begin(condition) + pushState: function pushState(condition) { + this.begin(condition); + }, + // return the number of states currently on the stack + stateStackSize: function stateStackSize() { + return this.conditionStack.length; + }, + options: { "case-insensitive": true }, + performAction: function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) { + switch ($avoiding_name_collisions) { + case 0: + this.begin("open_directive"); + return 41; + case 1: + this.begin("type_directive"); + return 42; + case 2: + this.popState(); + this.begin("arg_directive"); + return 36; + case 3: + this.popState(); + this.popState(); + return 44; + case 4: + return 43; + case 5: + break; + case 6: + break; + case 7: + return 38; + case 8: + break; + case 9: + this.begin("title"); + return 14; + case 10: + this.popState(); + return "title_value"; + case 11: + this.begin("acc_title"); + return 16; + case 12: + this.popState(); + return "acc_title_value"; + case 13: + this.begin("acc_descr"); + return 18; + case 14: + this.popState(); + return "acc_descr_value"; + case 15: + this.begin("acc_descr_multiline"); + break; + case 16: + this.popState(); + break; + case 17: + return "acc_descr_multiline_value"; + case 18: + return 26; + case 19: + return 28; + case 20: + return 27; + case 21: + return 29; + case 22: + return 30; + case 23: + return 31; + case 24: + return 32; + case 25: + this.begin("md_string"); + break; + case 26: + return "MD_STR"; + case 27: + this.popState(); + break; + case 28: + this.begin("string"); + break; + case 29: + this.popState(); + break; + case 30: + return "STR"; + case 31: + this.begin("point_start"); + return 23; + case 32: + this.begin("point_x"); + return 24; + case 33: + this.popState(); + break; + case 34: + this.popState(); + this.begin("point_y"); + break; + case 35: + this.popState(); + return 25; + case 36: + return 7; + case 37: + return 53; + case 38: + return "COLON"; + case 39: + return 55; + case 40: + return 54; + case 41: + return 56; + case 42: + return 56; + case 43: + return 57; + case 44: + return 59; + case 45: + return 60; + case 46: + return 58; + case 47: + return 51; + case 48: + return 61; + case 49: + return 52; + case 50: + return 5; + case 51: + return 39; + case 52: + return 50; + case 53: + return 40; + } + }, + rules: [/^(?:%%\{)/i, /^(?:((?:(?!\}%%)[^:.])*))/i, /^(?::)/i, /^(?:\}%%)/i, /^(?:((?:(?!\}%%).|\n)*))/i, /^(?:%%(?!\{)[^\n]*)/i, /^(?:[^\}]%%[^\n]*)/i, /^(?:[\n\r]+)/i, /^(?:%%[^\n]*)/i, /^(?:title\b)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accTitle\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*\{\s*)/i, /^(?:[\}])/i, /^(?:[^\}]*)/i, /^(?: *x-axis *)/i, /^(?: *y-axis *)/i, /^(?: *--+> *)/i, /^(?: *quadrant-1 *)/i, /^(?: *quadrant-2 *)/i, /^(?: *quadrant-3 *)/i, /^(?: *quadrant-4 *)/i, /^(?:["][`])/i, /^(?:[^`"]+)/i, /^(?:[`]["])/i, /^(?:["])/i, /^(?:["])/i, /^(?:[^"]*)/i, /^(?:\s*:\s*\[\s*)/i, /^(?:(1)|(0(.\d+)?))/i, /^(?:\s*\] *)/i, /^(?:\s*,\s*)/i, /^(?:(1)|(0(.\d+)?))/i, /^(?: *quadrantChart *)/i, /^(?:[A-Za-z]+)/i, /^(?::)/i, /^(?:\+)/i, /^(?:,)/i, /^(?:=)/i, /^(?:=)/i, /^(?:\*)/i, /^(?:#)/i, /^(?:[\_])/i, /^(?:\.)/i, /^(?:&)/i, /^(?:-)/i, /^(?:[0-9]+)/i, /^(?:\s)/i, /^(?:;)/i, /^(?:[!"#$%&'*+,-.`?\\_/])/i, /^(?:$)/i], + conditions: { "point_y": { "rules": [35], "inclusive": false }, "point_x": { "rules": [34], "inclusive": false }, "point_start": { "rules": [32, 33], "inclusive": false }, "acc_descr_multiline": { "rules": [16, 17], "inclusive": false }, "acc_descr": { "rules": [14], "inclusive": false }, "acc_title": { "rules": [12], "inclusive": false }, "close_directive": { "rules": [], "inclusive": false }, "arg_directive": { "rules": [3, 4], "inclusive": false }, "type_directive": { "rules": [2, 3], "inclusive": false }, "open_directive": { "rules": [1], "inclusive": false }, "title": { "rules": [10], "inclusive": false }, "md_string": { "rules": [26, 27], "inclusive": false }, "string": { "rules": [29, 30], "inclusive": false }, "INITIAL": { "rules": [0, 5, 6, 7, 8, 9, 11, 13, 15, 18, 19, 20, 21, 22, 23, 24, 25, 28, 31, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53], "inclusive": true } } + }; + return lexer2; + }(); + parser2.lexer = lexer; + function Parser() { + this.yy = {}; + } + Parser.prototype = parser2; + parser2.Parser = Parser; + return new Parser(); +}(); +parser.parser = parser; +const parser$1 = parser; +const defaultThemeVariables = (0,_mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_4__.G)(); +class QuadrantBuilder { + constructor() { + this.config = this.getDefaultConfig(); + this.themeConfig = this.getDefaultThemeConfig(); + this.data = this.getDefaultData(); + } + getDefaultData() { + return { + titleText: "", + quadrant1Text: "", + quadrant2Text: "", + quadrant3Text: "", + quadrant4Text: "", + xAxisLeftText: "", + xAxisRightText: "", + yAxisBottomText: "", + yAxisTopText: "", + points: [] + }; + } + getDefaultConfig() { + var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r; + return { + showXAxis: true, + showYAxis: true, + showTitle: true, + chartHeight: ((_a = _mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_4__.C.quadrantChart) == null ? void 0 : _a.chartWidth) || 500, + chartWidth: ((_b = _mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_4__.C.quadrantChart) == null ? void 0 : _b.chartHeight) || 500, + titlePadding: ((_c = _mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_4__.C.quadrantChart) == null ? void 0 : _c.titlePadding) || 10, + titleFontSize: ((_d = _mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_4__.C.quadrantChart) == null ? void 0 : _d.titleFontSize) || 20, + quadrantPadding: ((_e = _mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_4__.C.quadrantChart) == null ? void 0 : _e.quadrantPadding) || 5, + xAxisLabelPadding: ((_f = _mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_4__.C.quadrantChart) == null ? void 0 : _f.xAxisLabelPadding) || 5, + yAxisLabelPadding: ((_g = _mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_4__.C.quadrantChart) == null ? void 0 : _g.yAxisLabelPadding) || 5, + xAxisLabelFontSize: ((_h = _mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_4__.C.quadrantChart) == null ? void 0 : _h.xAxisLabelFontSize) || 16, + yAxisLabelFontSize: ((_i = _mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_4__.C.quadrantChart) == null ? void 0 : _i.yAxisLabelFontSize) || 16, + quadrantLabelFontSize: ((_j = _mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_4__.C.quadrantChart) == null ? void 0 : _j.quadrantLabelFontSize) || 16, + quadrantTextTopPadding: ((_k = _mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_4__.C.quadrantChart) == null ? void 0 : _k.quadrantTextTopPadding) || 5, + pointTextPadding: ((_l = _mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_4__.C.quadrantChart) == null ? void 0 : _l.pointTextPadding) || 5, + pointLabelFontSize: ((_m = _mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_4__.C.quadrantChart) == null ? void 0 : _m.pointLabelFontSize) || 12, + pointRadius: ((_n = _mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_4__.C.quadrantChart) == null ? void 0 : _n.pointRadius) || 5, + xAxisPosition: ((_o = _mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_4__.C.quadrantChart) == null ? void 0 : _o.xAxisPosition) || "top", + yAxisPosition: ((_p = _mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_4__.C.quadrantChart) == null ? void 0 : _p.yAxisPosition) || "left", + quadrantInternalBorderStrokeWidth: ((_q = _mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_4__.C.quadrantChart) == null ? void 0 : _q.quadrantInternalBorderStrokeWidth) || 1, + quadrantExternalBorderStrokeWidth: ((_r = _mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_4__.C.quadrantChart) == null ? void 0 : _r.quadrantExternalBorderStrokeWidth) || 2 + }; + } + getDefaultThemeConfig() { + return { + quadrant1Fill: defaultThemeVariables.quadrant1Fill, + quadrant2Fill: defaultThemeVariables.quadrant2Fill, + quadrant3Fill: defaultThemeVariables.quadrant3Fill, + quadrant4Fill: defaultThemeVariables.quadrant4Fill, + quadrant1TextFill: defaultThemeVariables.quadrant1TextFill, + quadrant2TextFill: defaultThemeVariables.quadrant2TextFill, + quadrant3TextFill: defaultThemeVariables.quadrant3TextFill, + quadrant4TextFill: defaultThemeVariables.quadrant4TextFill, + quadrantPointFill: defaultThemeVariables.quadrantPointFill, + quadrantPointTextFill: defaultThemeVariables.quadrantPointTextFill, + quadrantXAxisTextFill: defaultThemeVariables.quadrantXAxisTextFill, + quadrantYAxisTextFill: defaultThemeVariables.quadrantYAxisTextFill, + quadrantTitleFill: defaultThemeVariables.quadrantTitleFill, + quadrantInternalBorderStrokeFill: defaultThemeVariables.quadrantInternalBorderStrokeFill, + quadrantExternalBorderStrokeFill: defaultThemeVariables.quadrantExternalBorderStrokeFill + }; + } + clear() { + this.config = this.getDefaultConfig(); + this.themeConfig = this.getDefaultThemeConfig(); + this.data = this.getDefaultData(); + _mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_4__.l.info("clear called"); + } + setData(data) { + this.data = { ...this.data, ...data }; + } + addPoints(points) { + this.data.points = [...points, ...this.data.points]; + } + setConfig(config2) { + _mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_4__.l.trace("setConfig called with: ", config2); + this.config = { ...this.config, ...config2 }; + } + setThemeConfig(themeConfig) { + _mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_4__.l.trace("setThemeConfig called with: ", themeConfig); + this.themeConfig = { ...this.themeConfig, ...themeConfig }; + } + calculateSpace(xAxisPosition, showXAxis, showYAxis, showTitle) { + const xAxisSpaceCalculation = this.config.xAxisLabelPadding * 2 + this.config.xAxisLabelFontSize; + const xAxisSpace = { + top: xAxisPosition === "top" && showXAxis ? xAxisSpaceCalculation : 0, + bottom: xAxisPosition === "bottom" && showXAxis ? xAxisSpaceCalculation : 0 + }; + const yAxisSpaceCalculation = this.config.yAxisLabelPadding * 2 + this.config.yAxisLabelFontSize; + const yAxisSpace = { + left: this.config.yAxisPosition === "left" && showYAxis ? yAxisSpaceCalculation : 0, + right: this.config.yAxisPosition === "right" && showYAxis ? yAxisSpaceCalculation : 0 + }; + const titleSpaceCalculation = this.config.titleFontSize + this.config.titlePadding * 2; + const titleSpace = { + top: showTitle ? titleSpaceCalculation : 0 + }; + const quadrantLeft = this.config.quadrantPadding + yAxisSpace.left; + const quadrantTop = this.config.quadrantPadding + xAxisSpace.top + titleSpace.top; + const quadrantWidth = this.config.chartWidth - this.config.quadrantPadding * 2 - yAxisSpace.left - yAxisSpace.right; + const quadrantHeight = this.config.chartHeight - this.config.quadrantPadding * 2 - xAxisSpace.top - xAxisSpace.bottom - titleSpace.top; + const quadrantHalfWidth = quadrantWidth / 2; + const quadrantHalfHeight = quadrantHeight / 2; + const quadrantSpace = { + quadrantLeft, + quadrantTop, + quadrantWidth, + quadrantHalfWidth, + quadrantHeight, + quadrantHalfHeight + }; + return { + xAxisSpace, + yAxisSpace, + titleSpace, + quadrantSpace + }; + } + getAxisLabels(xAxisPosition, showXAxis, showYAxis, spaceData) { + const { quadrantSpace, titleSpace } = spaceData; + const { + quadrantHalfHeight, + quadrantHeight, + quadrantLeft, + quadrantHalfWidth, + quadrantTop, + quadrantWidth + } = quadrantSpace; + const drawAxisLabelInMiddle = this.data.points.length === 0; + const axisLabels = []; + if (this.data.xAxisLeftText && showXAxis) { + axisLabels.push({ + text: this.data.xAxisLeftText, + fill: this.themeConfig.quadrantXAxisTextFill, + x: quadrantLeft + (drawAxisLabelInMiddle ? quadrantHalfWidth / 2 : 0), + y: xAxisPosition === "top" ? this.config.xAxisLabelPadding + titleSpace.top : this.config.xAxisLabelPadding + quadrantTop + quadrantHeight + this.config.quadrantPadding, + fontSize: this.config.xAxisLabelFontSize, + verticalPos: drawAxisLabelInMiddle ? "center" : "left", + horizontalPos: "top", + rotation: 0 + }); + } + if (this.data.xAxisRightText && showXAxis) { + axisLabels.push({ + text: this.data.xAxisRightText, + fill: this.themeConfig.quadrantXAxisTextFill, + x: quadrantLeft + quadrantHalfWidth + (drawAxisLabelInMiddle ? quadrantHalfWidth / 2 : 0), + y: xAxisPosition === "top" ? this.config.xAxisLabelPadding + titleSpace.top : this.config.xAxisLabelPadding + quadrantTop + quadrantHeight + this.config.quadrantPadding, + fontSize: this.config.xAxisLabelFontSize, + verticalPos: drawAxisLabelInMiddle ? "center" : "left", + horizontalPos: "top", + rotation: 0 + }); + } + if (this.data.yAxisBottomText && showYAxis) { + axisLabels.push({ + text: this.data.yAxisBottomText, + fill: this.themeConfig.quadrantYAxisTextFill, + x: this.config.yAxisPosition === "left" ? this.config.yAxisLabelPadding : this.config.yAxisLabelPadding + quadrantLeft + quadrantWidth + this.config.quadrantPadding, + y: quadrantTop + quadrantHeight - (drawAxisLabelInMiddle ? quadrantHalfHeight / 2 : 0), + fontSize: this.config.yAxisLabelFontSize, + verticalPos: drawAxisLabelInMiddle ? "center" : "left", + horizontalPos: "top", + rotation: -90 + }); + } + if (this.data.yAxisTopText && showYAxis) { + axisLabels.push({ + text: this.data.yAxisTopText, + fill: this.themeConfig.quadrantYAxisTextFill, + x: this.config.yAxisPosition === "left" ? this.config.yAxisLabelPadding : this.config.yAxisLabelPadding + quadrantLeft + quadrantWidth + this.config.quadrantPadding, + y: quadrantTop + quadrantHalfHeight - (drawAxisLabelInMiddle ? quadrantHalfHeight / 2 : 0), + fontSize: this.config.yAxisLabelFontSize, + verticalPos: drawAxisLabelInMiddle ? "center" : "left", + horizontalPos: "top", + rotation: -90 + }); + } + return axisLabels; + } + getQuadrants(spaceData) { + const { quadrantSpace } = spaceData; + const { quadrantHalfHeight, quadrantLeft, quadrantHalfWidth, quadrantTop } = quadrantSpace; + const quadrants = [ + { + text: { + text: this.data.quadrant1Text, + fill: this.themeConfig.quadrant1TextFill, + x: 0, + y: 0, + fontSize: this.config.quadrantLabelFontSize, + verticalPos: "center", + horizontalPos: "middle", + rotation: 0 + }, + x: quadrantLeft + quadrantHalfWidth, + y: quadrantTop, + width: quadrantHalfWidth, + height: quadrantHalfHeight, + fill: this.themeConfig.quadrant1Fill + }, + { + text: { + text: this.data.quadrant2Text, + fill: this.themeConfig.quadrant2TextFill, + x: 0, + y: 0, + fontSize: this.config.quadrantLabelFontSize, + verticalPos: "center", + horizontalPos: "middle", + rotation: 0 + }, + x: quadrantLeft, + y: quadrantTop, + width: quadrantHalfWidth, + height: quadrantHalfHeight, + fill: this.themeConfig.quadrant2Fill + }, + { + text: { + text: this.data.quadrant3Text, + fill: this.themeConfig.quadrant3TextFill, + x: 0, + y: 0, + fontSize: this.config.quadrantLabelFontSize, + verticalPos: "center", + horizontalPos: "middle", + rotation: 0 + }, + x: quadrantLeft, + y: quadrantTop + quadrantHalfHeight, + width: quadrantHalfWidth, + height: quadrantHalfHeight, + fill: this.themeConfig.quadrant3Fill + }, + { + text: { + text: this.data.quadrant4Text, + fill: this.themeConfig.quadrant4TextFill, + x: 0, + y: 0, + fontSize: this.config.quadrantLabelFontSize, + verticalPos: "center", + horizontalPos: "middle", + rotation: 0 + }, + x: quadrantLeft + quadrantHalfWidth, + y: quadrantTop + quadrantHalfHeight, + width: quadrantHalfWidth, + height: quadrantHalfHeight, + fill: this.themeConfig.quadrant4Fill + } + ]; + for (const quadrant of quadrants) { + quadrant.text.x = quadrant.x + quadrant.width / 2; + if (this.data.points.length === 0) { + quadrant.text.y = quadrant.y + quadrant.height / 2; + quadrant.text.horizontalPos = "middle"; + } else { + quadrant.text.y = quadrant.y + this.config.quadrantTextTopPadding; + quadrant.text.horizontalPos = "top"; + } + } + return quadrants; + } + getQuadrantPoints(spaceData) { + const { quadrantSpace } = spaceData; + const { quadrantHeight, quadrantLeft, quadrantTop, quadrantWidth } = quadrantSpace; + const xAxis = (0,d3__WEBPACK_IMPORTED_MODULE_0__/* .scaleLinear */ .BYU)().domain([0, 1]).range([quadrantLeft, quadrantWidth + quadrantLeft]); + const yAxis = (0,d3__WEBPACK_IMPORTED_MODULE_0__/* .scaleLinear */ .BYU)().domain([0, 1]).range([quadrantHeight + quadrantTop, quadrantTop]); + const points = this.data.points.map((point) => { + const props = { + x: xAxis(point.x), + y: yAxis(point.y), + fill: this.themeConfig.quadrantPointFill, + radius: this.config.pointRadius, + text: { + text: point.text, + fill: this.themeConfig.quadrantPointTextFill, + x: xAxis(point.x), + y: yAxis(point.y) + this.config.pointTextPadding, + verticalPos: "center", + horizontalPos: "top", + fontSize: this.config.pointLabelFontSize, + rotation: 0 + } + }; + return props; + }); + return points; + } + getBorders(spaceData) { + const halfExternalBorderWidth = this.config.quadrantExternalBorderStrokeWidth / 2; + const { quadrantSpace } = spaceData; + const { + quadrantHalfHeight, + quadrantHeight, + quadrantLeft, + quadrantHalfWidth, + quadrantTop, + quadrantWidth + } = quadrantSpace; + const borderLines = [ + // top border + { + strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill, + strokeWidth: this.config.quadrantExternalBorderStrokeWidth, + x1: quadrantLeft - halfExternalBorderWidth, + y1: quadrantTop, + x2: quadrantLeft + quadrantWidth + halfExternalBorderWidth, + y2: quadrantTop + }, + // right border + { + strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill, + strokeWidth: this.config.quadrantExternalBorderStrokeWidth, + x1: quadrantLeft + quadrantWidth, + y1: quadrantTop + halfExternalBorderWidth, + x2: quadrantLeft + quadrantWidth, + y2: quadrantTop + quadrantHeight - halfExternalBorderWidth + }, + // bottom border + { + strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill, + strokeWidth: this.config.quadrantExternalBorderStrokeWidth, + x1: quadrantLeft - halfExternalBorderWidth, + y1: quadrantTop + quadrantHeight, + x2: quadrantLeft + quadrantWidth + halfExternalBorderWidth, + y2: quadrantTop + quadrantHeight + }, + // left border + { + strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill, + strokeWidth: this.config.quadrantExternalBorderStrokeWidth, + x1: quadrantLeft, + y1: quadrantTop + halfExternalBorderWidth, + x2: quadrantLeft, + y2: quadrantTop + quadrantHeight - halfExternalBorderWidth + }, + // vertical inner border + { + strokeFill: this.themeConfig.quadrantInternalBorderStrokeFill, + strokeWidth: this.config.quadrantInternalBorderStrokeWidth, + x1: quadrantLeft + quadrantHalfWidth, + y1: quadrantTop + halfExternalBorderWidth, + x2: quadrantLeft + quadrantHalfWidth, + y2: quadrantTop + quadrantHeight - halfExternalBorderWidth + }, + // horizontal inner border + { + strokeFill: this.themeConfig.quadrantInternalBorderStrokeFill, + strokeWidth: this.config.quadrantInternalBorderStrokeWidth, + x1: quadrantLeft + halfExternalBorderWidth, + y1: quadrantTop + quadrantHalfHeight, + x2: quadrantLeft + quadrantWidth - halfExternalBorderWidth, + y2: quadrantTop + quadrantHalfHeight + } + ]; + return borderLines; + } + getTitle(showTitle) { + if (showTitle) { + return { + text: this.data.titleText, + fill: this.themeConfig.quadrantTitleFill, + fontSize: this.config.titleFontSize, + horizontalPos: "top", + verticalPos: "center", + rotation: 0, + y: this.config.titlePadding, + x: this.config.chartWidth / 2 + }; + } + return; + } + build() { + const showXAxis = this.config.showXAxis && !!(this.data.xAxisLeftText || this.data.xAxisRightText); + const showYAxis = this.config.showYAxis && !!(this.data.yAxisTopText || this.data.yAxisBottomText); + const showTitle = this.config.showTitle && !!this.data.titleText; + const xAxisPosition = this.data.points.length > 0 ? "bottom" : this.config.xAxisPosition; + const calculatedSpace = this.calculateSpace(xAxisPosition, showXAxis, showYAxis, showTitle); + return { + points: this.getQuadrantPoints(calculatedSpace), + quadrants: this.getQuadrants(calculatedSpace), + axisLabels: this.getAxisLabels(xAxisPosition, showXAxis, showYAxis, calculatedSpace), + borderLines: this.getBorders(calculatedSpace), + title: this.getTitle(showTitle) + }; + } +} +const config = (0,_mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_4__.c)(); +function textSanitizer(text) { + return (0,_mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_4__.d)(text.trim(), config); +} +const quadrantBuilder = new QuadrantBuilder(); +function setQuadrant1Text(textObj) { + quadrantBuilder.setData({ quadrant1Text: textSanitizer(textObj.text) }); +} +function setQuadrant2Text(textObj) { + quadrantBuilder.setData({ quadrant2Text: textSanitizer(textObj.text) }); +} +function setQuadrant3Text(textObj) { + quadrantBuilder.setData({ quadrant3Text: textSanitizer(textObj.text) }); +} +function setQuadrant4Text(textObj) { + quadrantBuilder.setData({ quadrant4Text: textSanitizer(textObj.text) }); +} +function setXAxisLeftText(textObj) { + quadrantBuilder.setData({ xAxisLeftText: textSanitizer(textObj.text) }); +} +function setXAxisRightText(textObj) { + quadrantBuilder.setData({ xAxisRightText: textSanitizer(textObj.text) }); +} +function setYAxisTopText(textObj) { + quadrantBuilder.setData({ yAxisTopText: textSanitizer(textObj.text) }); +} +function setYAxisBottomText(textObj) { + quadrantBuilder.setData({ yAxisBottomText: textSanitizer(textObj.text) }); +} +function addPoint(textObj, x, y) { + quadrantBuilder.addPoints([{ x, y, text: textSanitizer(textObj.text) }]); +} +function setWidth(width) { + quadrantBuilder.setConfig({ chartWidth: width }); +} +function setHeight(height) { + quadrantBuilder.setConfig({ chartHeight: height }); +} +function getQuadrantData() { + const config2 = (0,_mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_4__.c)(); + const { themeVariables, quadrantChart: quadrantChartConfig } = config2; + if (quadrantChartConfig) { + quadrantBuilder.setConfig(quadrantChartConfig); + } + quadrantBuilder.setThemeConfig({ + quadrant1Fill: themeVariables.quadrant1Fill, + quadrant2Fill: themeVariables.quadrant2Fill, + quadrant3Fill: themeVariables.quadrant3Fill, + quadrant4Fill: themeVariables.quadrant4Fill, + quadrant1TextFill: themeVariables.quadrant1TextFill, + quadrant2TextFill: themeVariables.quadrant2TextFill, + quadrant3TextFill: themeVariables.quadrant3TextFill, + quadrant4TextFill: themeVariables.quadrant4TextFill, + quadrantPointFill: themeVariables.quadrantPointFill, + quadrantPointTextFill: themeVariables.quadrantPointTextFill, + quadrantXAxisTextFill: themeVariables.quadrantXAxisTextFill, + quadrantYAxisTextFill: themeVariables.quadrantYAxisTextFill, + quadrantExternalBorderStrokeFill: themeVariables.quadrantExternalBorderStrokeFill, + quadrantInternalBorderStrokeFill: themeVariables.quadrantInternalBorderStrokeFill, + quadrantTitleFill: themeVariables.quadrantTitleFill + }); + quadrantBuilder.setData({ titleText: (0,_mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_4__.t)() }); + return quadrantBuilder.build(); +} +const parseDirective = function(statement, context, type) { + _mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_4__.m.parseDirective(this, statement, context, type); +}; +const clear = function() { + quadrantBuilder.clear(); + (0,_mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_4__.v)(); +}; +const db = { + setWidth, + setHeight, + setQuadrant1Text, + setQuadrant2Text, + setQuadrant3Text, + setQuadrant4Text, + setXAxisLeftText, + setXAxisRightText, + setYAxisTopText, + setYAxisBottomText, + addPoint, + getQuadrantData, + parseDirective, + clear, + setAccTitle: _mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_4__.s, + getAccTitle: _mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_4__.g, + setDiagramTitle: _mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_4__.r, + getDiagramTitle: _mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_4__.t, + getAccDescription: _mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_4__.a, + setAccDescription: _mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_4__.b +}; +const draw = (txt, id, _version, diagObj) => { + var _a, _b, _c; + function getDominantBaseLine(horizontalPos) { + return horizontalPos === "top" ? "hanging" : "middle"; + } + function getTextAnchor(verticalPos) { + return verticalPos === "left" ? "start" : "middle"; + } + function getTransformation(data) { + return `translate(${data.x}, ${data.y}) rotate(${data.rotation || 0})`; + } + const conf = (0,_mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_4__.c)(); + _mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_4__.l.debug("Rendering quadrant chart\n" + txt); + const securityLevel = conf.securityLevel; + let sandboxElement; + if (securityLevel === "sandbox") { + sandboxElement = (0,d3__WEBPACK_IMPORTED_MODULE_0__/* .select */ .Ys)("#i" + id); + } + const root = securityLevel === "sandbox" ? (0,d3__WEBPACK_IMPORTED_MODULE_0__/* .select */ .Ys)(sandboxElement.nodes()[0].contentDocument.body) : (0,d3__WEBPACK_IMPORTED_MODULE_0__/* .select */ .Ys)("body"); + const svg = root.select(`[id="${id}"]`); + const group = svg.append("g").attr("class", "main"); + const width = ((_a = conf.quadrantChart) == null ? void 0 : _a.chartWidth) || 500; + const height = ((_b = conf.quadrantChart) == null ? void 0 : _b.chartHeight) || 500; + (0,_mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_4__.i)(svg, height, width, ((_c = conf.quadrantChart) == null ? void 0 : _c.useMaxWidth) || true); + svg.attr("viewBox", "0 0 " + width + " " + height); + diagObj.db.setHeight(height); + diagObj.db.setWidth(width); + const quadrantData = diagObj.db.getQuadrantData(); + const quadrantsGroup = group.append("g").attr("class", "quadrants"); + const borderGroup = group.append("g").attr("class", "border"); + const dataPointGroup = group.append("g").attr("class", "data-points"); + const labelGroup = group.append("g").attr("class", "labels"); + const titleGroup = group.append("g").attr("class", "title"); + if (quadrantData.title) { + titleGroup.append("text").attr("x", 0).attr("y", 0).attr("fill", quadrantData.title.fill).attr("font-size", quadrantData.title.fontSize).attr("dominant-baseline", getDominantBaseLine(quadrantData.title.horizontalPos)).attr("text-anchor", getTextAnchor(quadrantData.title.verticalPos)).attr("transform", getTransformation(quadrantData.title)).text(quadrantData.title.text); + } + if (quadrantData.borderLines) { + borderGroup.selectAll("line").data(quadrantData.borderLines).enter().append("line").attr("x1", (data) => data.x1).attr("y1", (data) => data.y1).attr("x2", (data) => data.x2).attr("y2", (data) => data.y2).style("stroke", (data) => data.strokeFill).style("stroke-width", (data) => data.strokeWidth); + } + const quadrants = quadrantsGroup.selectAll("g.quadrant").data(quadrantData.quadrants).enter().append("g").attr("class", "quadrant"); + quadrants.append("rect").attr("x", (data) => data.x).attr("y", (data) => data.y).attr("width", (data) => data.width).attr("height", (data) => data.height).attr("fill", (data) => data.fill); + quadrants.append("text").attr("x", 0).attr("y", 0).attr("fill", (data) => data.text.fill).attr("font-size", (data) => data.text.fontSize).attr( + "dominant-baseline", + (data) => getDominantBaseLine(data.text.horizontalPos) + ).attr("text-anchor", (data) => getTextAnchor(data.text.verticalPos)).attr("transform", (data) => getTransformation(data.text)).text((data) => data.text.text); + const labels = labelGroup.selectAll("g.label").data(quadrantData.axisLabels).enter().append("g").attr("class", "label"); + labels.append("text").attr("x", 0).attr("y", 0).text((data) => data.text).attr("fill", (data) => data.fill).attr("font-size", (data) => data.fontSize).attr("dominant-baseline", (data) => getDominantBaseLine(data.horizontalPos)).attr("text-anchor", (data) => getTextAnchor(data.verticalPos)).attr("transform", (data) => getTransformation(data)); + const dataPoints = dataPointGroup.selectAll("g.data-point").data(quadrantData.points).enter().append("g").attr("class", "data-point"); + dataPoints.append("circle").attr("cx", (data) => data.x).attr("cy", (data) => data.y).attr("r", (data) => data.radius).attr("fill", (data) => data.fill); + dataPoints.append("text").attr("x", 0).attr("y", 0).text((data) => data.text.text).attr("fill", (data) => data.text.fill).attr("font-size", (data) => data.text.fontSize).attr( + "dominant-baseline", + (data) => getDominantBaseLine(data.text.horizontalPos) + ).attr("text-anchor", (data) => getTextAnchor(data.text.verticalPos)).attr("transform", (data) => getTransformation(data.text)); +}; +const renderer = { + draw +}; +const diagram = { + parser: parser$1, + db, + renderer, + styles: () => "" +}; + + + +/***/ }) + +}; +; \ No newline at end of file diff --git a/assets/js/11cb34b0.2906283d.js b/assets/js/11cb34b0.2906283d.js new file mode 100644 index 00000000..c09f3982 --- /dev/null +++ b/assets/js/11cb34b0.2906283d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkbeacon_docs=self.webpackChunkbeacon_docs||[]).push([[2674],{15745:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-pages","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/132.2eb41a5e.js b/assets/js/132.2eb41a5e.js new file mode 100644 index 00000000..fbce7d82 --- /dev/null +++ b/assets/js/132.2eb41a5e.js @@ -0,0 +1,10341 @@ +"use strict"; +exports.id = 132; +exports.ids = [132]; +exports.modules = { + +/***/ 41644: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + bK: () => (/* reexport */ layout) +}); + +// UNUSED EXPORTS: acyclic, normalize, rank + +// EXTERNAL MODULE: ./node_modules/lodash-es/forEach.js +var forEach = __webpack_require__(70870); +// EXTERNAL MODULE: ./node_modules/lodash-es/uniqueId.js +var uniqueId = __webpack_require__(66749); +// EXTERNAL MODULE: ./node_modules/lodash-es/has.js + 1 modules +var has = __webpack_require__(17452); +// EXTERNAL MODULE: ./node_modules/lodash-es/constant.js +var constant = __webpack_require__(62002); +// EXTERNAL MODULE: ./node_modules/lodash-es/flatten.js +var flatten = __webpack_require__(27961); +// EXTERNAL MODULE: ./node_modules/lodash-es/map.js +var map = __webpack_require__(43836); +// EXTERNAL MODULE: ./node_modules/lodash-es/range.js + 2 modules +var range = __webpack_require__(74379); +// EXTERNAL MODULE: ./node_modules/dagre-d3-es/src/graphlib/index.js +var graphlib = __webpack_require__(45625); +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/data/list.js +/* + * Simple doubly linked list implementation derived from Cormen, et al., + * "Introduction to Algorithms". + */ + + + +class List { + constructor() { + var sentinel = {}; + sentinel._next = sentinel._prev = sentinel; + this._sentinel = sentinel; + } + dequeue() { + var sentinel = this._sentinel; + var entry = sentinel._prev; + if (entry !== sentinel) { + unlink(entry); + return entry; + } + } + enqueue(entry) { + var sentinel = this._sentinel; + if (entry._prev && entry._next) { + unlink(entry); + } + entry._next = sentinel._next; + sentinel._next._prev = entry; + sentinel._next = entry; + entry._prev = sentinel; + } + toString() { + var strs = []; + var sentinel = this._sentinel; + var curr = sentinel._prev; + while (curr !== sentinel) { + strs.push(JSON.stringify(curr, filterOutLinks)); + curr = curr._prev; + } + return '[' + strs.join(', ') + ']'; + } +} + +function unlink(entry) { + entry._prev._next = entry._next; + entry._next._prev = entry._prev; + delete entry._next; + delete entry._prev; +} + +function filterOutLinks(k, v) { + if (k !== '_next' && k !== '_prev') { + return v; + } +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/greedy-fas.js + + + + +/* + * A greedy heuristic for finding a feedback arc set for a graph. A feedback + * arc set is a set of edges that can be removed to make a graph acyclic. + * The algorithm comes from: P. Eades, X. Lin, and W. F. Smyth, "A fast and + * effective heuristic for the feedback arc set problem." This implementation + * adjusts that from the paper to allow for weighted edges. + */ + + +var DEFAULT_WEIGHT_FN = constant/* default */.Z(1); + +function greedyFAS(g, weightFn) { + if (g.nodeCount() <= 1) { + return []; + } + var state = buildState(g, weightFn || DEFAULT_WEIGHT_FN); + var results = doGreedyFAS(state.graph, state.buckets, state.zeroIdx); + + // Expand multi-edges + return flatten/* default */.Z( + map/* default */.Z(results, function (e) { + return g.outEdges(e.v, e.w); + }) + ); +} + +function doGreedyFAS(g, buckets, zeroIdx) { + var results = []; + var sources = buckets[buckets.length - 1]; + var sinks = buckets[0]; + + var entry; + while (g.nodeCount()) { + while ((entry = sinks.dequeue())) { + removeNode(g, buckets, zeroIdx, entry); + } + while ((entry = sources.dequeue())) { + removeNode(g, buckets, zeroIdx, entry); + } + if (g.nodeCount()) { + for (var i = buckets.length - 2; i > 0; --i) { + entry = buckets[i].dequeue(); + if (entry) { + results = results.concat(removeNode(g, buckets, zeroIdx, entry, true)); + break; + } + } + } + } + + return results; +} + +function removeNode(g, buckets, zeroIdx, entry, collectPredecessors) { + var results = collectPredecessors ? [] : undefined; + + forEach/* default */.Z(g.inEdges(entry.v), function (edge) { + var weight = g.edge(edge); + var uEntry = g.node(edge.v); + + if (collectPredecessors) { + results.push({ v: edge.v, w: edge.w }); + } + + uEntry.out -= weight; + assignBucket(buckets, zeroIdx, uEntry); + }); + + forEach/* default */.Z(g.outEdges(entry.v), function (edge) { + var weight = g.edge(edge); + var w = edge.w; + var wEntry = g.node(w); + wEntry['in'] -= weight; + assignBucket(buckets, zeroIdx, wEntry); + }); + + g.removeNode(entry.v); + + return results; +} + +function buildState(g, weightFn) { + var fasGraph = new graphlib/* Graph */.k(); + var maxIn = 0; + var maxOut = 0; + + forEach/* default */.Z(g.nodes(), function (v) { + fasGraph.setNode(v, { v: v, in: 0, out: 0 }); + }); + + // Aggregate weights on nodes, but also sum the weights across multi-edges + // into a single edge for the fasGraph. + forEach/* default */.Z(g.edges(), function (e) { + var prevWeight = fasGraph.edge(e.v, e.w) || 0; + var weight = weightFn(e); + var edgeWeight = prevWeight + weight; + fasGraph.setEdge(e.v, e.w, edgeWeight); + maxOut = Math.max(maxOut, (fasGraph.node(e.v).out += weight)); + maxIn = Math.max(maxIn, (fasGraph.node(e.w)['in'] += weight)); + }); + + var buckets = range/* default */.Z(maxOut + maxIn + 3).map(function () { + return new List(); + }); + var zeroIdx = maxIn + 1; + + forEach/* default */.Z(fasGraph.nodes(), function (v) { + assignBucket(buckets, zeroIdx, fasGraph.node(v)); + }); + + return { graph: fasGraph, buckets: buckets, zeroIdx: zeroIdx }; +} + +function assignBucket(buckets, zeroIdx, entry) { + if (!entry.out) { + buckets[0].enqueue(entry); + } else if (!entry['in']) { + buckets[buckets.length - 1].enqueue(entry); + } else { + buckets[entry.out - entry['in'] + zeroIdx].enqueue(entry); + } +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/acyclic.js + + + + + +function run(g) { + var fas = g.graph().acyclicer === 'greedy' ? greedyFAS(g, weightFn(g)) : dfsFAS(g); + forEach/* default */.Z(fas, function (e) { + var label = g.edge(e); + g.removeEdge(e); + label.forwardName = e.name; + label.reversed = true; + g.setEdge(e.w, e.v, label, uniqueId/* default */.Z('rev')); + }); + + function weightFn(g) { + return function (e) { + return g.edge(e).weight; + }; + } +} + +function dfsFAS(g) { + var fas = []; + var stack = {}; + var visited = {}; + + function dfs(v) { + if (has/* default */.Z(visited, v)) { + return; + } + visited[v] = true; + stack[v] = true; + forEach/* default */.Z(g.outEdges(v), function (e) { + if (has/* default */.Z(stack, e.w)) { + fas.push(e); + } else { + dfs(e.w); + } + }); + delete stack[v]; + } + + forEach/* default */.Z(g.nodes(), dfs); + return fas; +} + +function undo(g) { + forEach/* default */.Z(g.edges(), function (e) { + var label = g.edge(e); + if (label.reversed) { + g.removeEdge(e); + + var forwardName = label.forwardName; + delete label.reversed; + delete label.forwardName; + g.setEdge(e.w, e.v, label, forwardName); + } + }); +} + +// EXTERNAL MODULE: ./node_modules/lodash-es/merge.js + 6 modules +var merge = __webpack_require__(59236); +// EXTERNAL MODULE: ./node_modules/lodash-es/pick.js + 4 modules +var pick = __webpack_require__(61666); +// EXTERNAL MODULE: ./node_modules/lodash-es/defaults.js +var defaults = __webpack_require__(3688); +// EXTERNAL MODULE: ./node_modules/lodash-es/isSymbol.js +var isSymbol = __webpack_require__(72714); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseExtremum.js + + +/** + * The base implementation of methods like `_.max` and `_.min` which accepts a + * `comparator` to determine the extremum value. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The iteratee invoked per iteration. + * @param {Function} comparator The comparator used to compare values. + * @returns {*} Returns the extremum value. + */ +function baseExtremum(array, iteratee, comparator) { + var index = -1, + length = array.length; + + while (++index < length) { + var value = array[index], + current = iteratee(value); + + if (current != null && (computed === undefined + ? (current === current && !(0,isSymbol/* default */.Z)(current)) + : comparator(current, computed) + )) { + var computed = current, + result = value; + } + } + return result; +} + +/* harmony default export */ const _baseExtremum = (baseExtremum); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseGt.js +/** + * The base implementation of `_.gt` which doesn't coerce arguments. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is greater than `other`, + * else `false`. + */ +function baseGt(value, other) { + return value > other; +} + +/* harmony default export */ const _baseGt = (baseGt); + +// EXTERNAL MODULE: ./node_modules/lodash-es/identity.js +var identity = __webpack_require__(69203); +;// CONCATENATED MODULE: ./node_modules/lodash-es/max.js + + + + +/** + * Computes the maximum value of `array`. If `array` is empty or falsey, + * `undefined` is returned. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Math + * @param {Array} array The array to iterate over. + * @returns {*} Returns the maximum value. + * @example + * + * _.max([4, 2, 8, 6]); + * // => 8 + * + * _.max([]); + * // => undefined + */ +function max(array) { + return (array && array.length) + ? _baseExtremum(array, identity/* default */.Z, _baseGt) + : undefined; +} + +/* harmony default export */ const lodash_es_max = (max); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/last.js +/** + * Gets the last element of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to query. + * @returns {*} Returns the last element of `array`. + * @example + * + * _.last([1, 2, 3]); + * // => 3 + */ +function last(array) { + var length = array == null ? 0 : array.length; + return length ? array[length - 1] : undefined; +} + +/* harmony default export */ const lodash_es_last = (last); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseAssignValue.js +var _baseAssignValue = __webpack_require__(74752); +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseForOwn.js +var _baseForOwn = __webpack_require__(2693); +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseIteratee.js + 16 modules +var _baseIteratee = __webpack_require__(74765); +;// CONCATENATED MODULE: ./node_modules/lodash-es/mapValues.js + + + + +/** + * Creates an object with the same keys as `object` and values generated + * by running each own enumerable string keyed property of `object` thru + * `iteratee`. The iteratee is invoked with three arguments: + * (value, key, object). + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns the new mapped object. + * @see _.mapKeys + * @example + * + * var users = { + * 'fred': { 'user': 'fred', 'age': 40 }, + * 'pebbles': { 'user': 'pebbles', 'age': 1 } + * }; + * + * _.mapValues(users, function(o) { return o.age; }); + * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) + * + * // The `_.property` iteratee shorthand. + * _.mapValues(users, 'age'); + * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) + */ +function mapValues(object, iteratee) { + var result = {}; + iteratee = (0,_baseIteratee/* default */.Z)(iteratee, 3); + + (0,_baseForOwn/* default */.Z)(object, function(value, key, object) { + (0,_baseAssignValue/* default */.Z)(result, key, iteratee(value, key, object)); + }); + return result; +} + +/* harmony default export */ const lodash_es_mapValues = (mapValues); + +// EXTERNAL MODULE: ./node_modules/lodash-es/isUndefined.js +var isUndefined = __webpack_require__(49360); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseLt.js +/** + * The base implementation of `_.lt` which doesn't coerce arguments. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is less than `other`, + * else `false`. + */ +function baseLt(value, other) { + return value < other; +} + +/* harmony default export */ const _baseLt = (baseLt); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/min.js + + + + +/** + * Computes the minimum value of `array`. If `array` is empty or falsey, + * `undefined` is returned. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Math + * @param {Array} array The array to iterate over. + * @returns {*} Returns the minimum value. + * @example + * + * _.min([4, 2, 8, 6]); + * // => 2 + * + * _.min([]); + * // => undefined + */ +function min(array) { + return (array && array.length) + ? _baseExtremum(array, identity/* default */.Z, _baseLt) + : undefined; +} + +/* harmony default export */ const lodash_es_min = (min); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_root.js +var _root = __webpack_require__(66092); +;// CONCATENATED MODULE: ./node_modules/lodash-es/now.js + + +/** + * Gets the timestamp of the number of milliseconds that have elapsed since + * the Unix epoch (1 January 1970 00:00:00 UTC). + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Date + * @returns {number} Returns the timestamp. + * @example + * + * _.defer(function(stamp) { + * console.log(_.now() - stamp); + * }, _.now()); + * // => Logs the number of milliseconds it took for the deferred invocation. + */ +var now = function() { + return _root/* default */.Z.Date.now(); +}; + +/* harmony default export */ const lodash_es_now = (now); + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/util.js +/* provided dependency */ var console = __webpack_require__(25108); + + + + + +/* + * Adds a dummy node to the graph and return v. + */ +function addDummyNode(g, type, attrs, name) { + var v; + do { + v = uniqueId/* default */.Z(name); + } while (g.hasNode(v)); + + attrs.dummy = type; + g.setNode(v, attrs); + return v; +} + +/* + * Returns a new graph with only simple edges. Handles aggregation of data + * associated with multi-edges. + */ +function simplify(g) { + var simplified = new graphlib/* Graph */.k().setGraph(g.graph()); + forEach/* default */.Z(g.nodes(), function (v) { + simplified.setNode(v, g.node(v)); + }); + forEach/* default */.Z(g.edges(), function (e) { + var simpleLabel = simplified.edge(e.v, e.w) || { weight: 0, minlen: 1 }; + var label = g.edge(e); + simplified.setEdge(e.v, e.w, { + weight: simpleLabel.weight + label.weight, + minlen: Math.max(simpleLabel.minlen, label.minlen), + }); + }); + return simplified; +} + +function asNonCompoundGraph(g) { + var simplified = new graphlib/* Graph */.k({ multigraph: g.isMultigraph() }).setGraph(g.graph()); + forEach/* default */.Z(g.nodes(), function (v) { + if (!g.children(v).length) { + simplified.setNode(v, g.node(v)); + } + }); + forEach/* default */.Z(g.edges(), function (e) { + simplified.setEdge(e, g.edge(e)); + }); + return simplified; +} + +function successorWeights(g) { + var weightMap = _.map(g.nodes(), function (v) { + var sucs = {}; + _.forEach(g.outEdges(v), function (e) { + sucs[e.w] = (sucs[e.w] || 0) + g.edge(e).weight; + }); + return sucs; + }); + return _.zipObject(g.nodes(), weightMap); +} + +function predecessorWeights(g) { + var weightMap = _.map(g.nodes(), function (v) { + var preds = {}; + _.forEach(g.inEdges(v), function (e) { + preds[e.v] = (preds[e.v] || 0) + g.edge(e).weight; + }); + return preds; + }); + return _.zipObject(g.nodes(), weightMap); +} + +/* + * Finds where a line starting at point ({x, y}) would intersect a rectangle + * ({x, y, width, height}) if it were pointing at the rectangle's center. + */ +function intersectRect(rect, point) { + var x = rect.x; + var y = rect.y; + + // Rectangle intersection algorithm from: + // http://math.stackexchange.com/questions/108113/find-edge-between-two-boxes + var dx = point.x - x; + var dy = point.y - y; + var w = rect.width / 2; + var h = rect.height / 2; + + if (!dx && !dy) { + throw new Error('Not possible to find intersection inside of the rectangle'); + } + + var sx, sy; + if (Math.abs(dy) * w > Math.abs(dx) * h) { + // Intersection is top or bottom of rect. + if (dy < 0) { + h = -h; + } + sx = (h * dx) / dy; + sy = h; + } else { + // Intersection is left or right of rect. + if (dx < 0) { + w = -w; + } + sx = w; + sy = (w * dy) / dx; + } + + return { x: x + sx, y: y + sy }; +} + +/* + * Given a DAG with each node assigned "rank" and "order" properties, this + * function will produce a matrix with the ids of each node. + */ +function buildLayerMatrix(g) { + var layering = map/* default */.Z(range/* default */.Z(util_maxRank(g) + 1), function () { + return []; + }); + forEach/* default */.Z(g.nodes(), function (v) { + var node = g.node(v); + var rank = node.rank; + if (!isUndefined/* default */.Z(rank)) { + layering[rank][node.order] = v; + } + }); + return layering; +} + +/* + * Adjusts the ranks for all nodes in the graph such that all nodes v have + * rank(v) >= 0 and at least one node w has rank(w) = 0. + */ +function normalizeRanks(g) { + var min = lodash_es_min( + map/* default */.Z(g.nodes(), function (v) { + return g.node(v).rank; + }) + ); + forEach/* default */.Z(g.nodes(), function (v) { + var node = g.node(v); + if (has/* default */.Z(node, 'rank')) { + node.rank -= min; + } + }); +} + +function removeEmptyRanks(g) { + // Ranks may not start at 0, so we need to offset them + var offset = lodash_es_min( + map/* default */.Z(g.nodes(), function (v) { + return g.node(v).rank; + }) + ); + + var layers = []; + forEach/* default */.Z(g.nodes(), function (v) { + var rank = g.node(v).rank - offset; + if (!layers[rank]) { + layers[rank] = []; + } + layers[rank].push(v); + }); + + var delta = 0; + var nodeRankFactor = g.graph().nodeRankFactor; + forEach/* default */.Z(layers, function (vs, i) { + if (isUndefined/* default */.Z(vs) && i % nodeRankFactor !== 0) { + --delta; + } else if (delta) { + forEach/* default */.Z(vs, function (v) { + g.node(v).rank += delta; + }); + } + }); +} + +function addBorderNode(g, prefix, rank, order) { + var node = { + width: 0, + height: 0, + }; + if (arguments.length >= 4) { + node.rank = rank; + node.order = order; + } + return addDummyNode(g, 'border', node, prefix); +} + +function util_maxRank(g) { + return lodash_es_max( + map/* default */.Z(g.nodes(), function (v) { + var rank = g.node(v).rank; + if (!isUndefined/* default */.Z(rank)) { + return rank; + } + }) + ); +} + +/* + * Partition a collection into two groups: `lhs` and `rhs`. If the supplied + * function returns true for an entry it goes into `lhs`. Otherwise it goes + * into `rhs. + */ +function partition(collection, fn) { + var result = { lhs: [], rhs: [] }; + forEach/* default */.Z(collection, function (value) { + if (fn(value)) { + result.lhs.push(value); + } else { + result.rhs.push(value); + } + }); + return result; +} + +/* + * Returns a new function that wraps `fn` with a timer. The wrapper logs the + * time it takes to execute the function. + */ +function util_time(name, fn) { + var start = lodash_es_now(); + try { + return fn(); + } finally { + console.log(name + ' time: ' + (lodash_es_now() - start) + 'ms'); + } +} + +function notime(name, fn) { + return fn(); +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/add-border-segments.js + + + + + +function addBorderSegments(g) { + function dfs(v) { + var children = g.children(v); + var node = g.node(v); + if (children.length) { + forEach/* default */.Z(children, dfs); + } + + if (has/* default */.Z(node, 'minRank')) { + node.borderLeft = []; + node.borderRight = []; + for (var rank = node.minRank, maxRank = node.maxRank + 1; rank < maxRank; ++rank) { + add_border_segments_addBorderNode(g, 'borderLeft', '_bl', v, node, rank); + add_border_segments_addBorderNode(g, 'borderRight', '_br', v, node, rank); + } + } + } + + forEach/* default */.Z(g.children(), dfs); +} + +function add_border_segments_addBorderNode(g, prop, prefix, sg, sgNode, rank) { + var label = { width: 0, height: 0, rank: rank, borderType: prop }; + var prev = sgNode[prop][rank - 1]; + var curr = addDummyNode(g, 'border', label, prefix); + sgNode[prop][rank] = curr; + g.setParent(curr, sg); + if (prev) { + g.setEdge(prev, curr, { weight: 1 }); + } +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/coordinate-system.js + + + + +function adjust(g) { + var rankDir = g.graph().rankdir.toLowerCase(); + if (rankDir === 'lr' || rankDir === 'rl') { + swapWidthHeight(g); + } +} + +function coordinate_system_undo(g) { + var rankDir = g.graph().rankdir.toLowerCase(); + if (rankDir === 'bt' || rankDir === 'rl') { + reverseY(g); + } + + if (rankDir === 'lr' || rankDir === 'rl') { + swapXY(g); + swapWidthHeight(g); + } +} + +function swapWidthHeight(g) { + forEach/* default */.Z(g.nodes(), function (v) { + swapWidthHeightOne(g.node(v)); + }); + forEach/* default */.Z(g.edges(), function (e) { + swapWidthHeightOne(g.edge(e)); + }); +} + +function swapWidthHeightOne(attrs) { + var w = attrs.width; + attrs.width = attrs.height; + attrs.height = w; +} + +function reverseY(g) { + forEach/* default */.Z(g.nodes(), function (v) { + reverseYOne(g.node(v)); + }); + + forEach/* default */.Z(g.edges(), function (e) { + var edge = g.edge(e); + forEach/* default */.Z(edge.points, reverseYOne); + if (has/* default */.Z(edge, 'y')) { + reverseYOne(edge); + } + }); +} + +function reverseYOne(attrs) { + attrs.y = -attrs.y; +} + +function swapXY(g) { + forEach/* default */.Z(g.nodes(), function (v) { + swapXYOne(g.node(v)); + }); + + forEach/* default */.Z(g.edges(), function (e) { + var edge = g.edge(e); + forEach/* default */.Z(edge.points, swapXYOne); + if (has/* default */.Z(edge, 'x')) { + swapXYOne(edge); + } + }); +} + +function swapXYOne(attrs) { + var x = attrs.x; + attrs.x = attrs.y; + attrs.y = x; +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/normalize.js + + + + + +/* + * Breaks any long edges in the graph into short segments that span 1 layer + * each. This operation is undoable with the denormalize function. + * + * Pre-conditions: + * + * 1. The input graph is a DAG. + * 2. Each node in the graph has a "rank" property. + * + * Post-condition: + * + * 1. All edges in the graph have a length of 1. + * 2. Dummy nodes are added where edges have been split into segments. + * 3. The graph is augmented with a "dummyChains" attribute which contains + * the first dummy in each chain of dummy nodes produced. + */ +function normalize_run(g) { + g.graph().dummyChains = []; + forEach/* default */.Z(g.edges(), function (edge) { + normalizeEdge(g, edge); + }); +} + +function normalizeEdge(g, e) { + var v = e.v; + var vRank = g.node(v).rank; + var w = e.w; + var wRank = g.node(w).rank; + var name = e.name; + var edgeLabel = g.edge(e); + var labelRank = edgeLabel.labelRank; + + if (wRank === vRank + 1) return; + + g.removeEdge(e); + + var dummy, attrs, i; + for (i = 0, ++vRank; vRank < wRank; ++i, ++vRank) { + edgeLabel.points = []; + attrs = { + width: 0, + height: 0, + edgeLabel: edgeLabel, + edgeObj: e, + rank: vRank, + }; + dummy = addDummyNode(g, 'edge', attrs, '_d'); + if (vRank === labelRank) { + attrs.width = edgeLabel.width; + attrs.height = edgeLabel.height; + // @ts-expect-error + attrs.dummy = 'edge-label'; + // @ts-expect-error + attrs.labelpos = edgeLabel.labelpos; + } + g.setEdge(v, dummy, { weight: edgeLabel.weight }, name); + if (i === 0) { + g.graph().dummyChains.push(dummy); + } + v = dummy; + } + + g.setEdge(v, w, { weight: edgeLabel.weight }, name); +} + +function normalize_undo(g) { + forEach/* default */.Z(g.graph().dummyChains, function (v) { + var node = g.node(v); + var origLabel = node.edgeLabel; + var w; + g.setEdge(node.edgeObj, origLabel); + while (node.dummy) { + w = g.successors(v)[0]; + g.removeNode(v); + origLabel.points.push({ x: node.x, y: node.y }); + if (node.dummy === 'edge-label') { + origLabel.x = node.x; + origLabel.y = node.y; + origLabel.width = node.width; + origLabel.height = node.height; + } + v = w; + node = g.node(v); + } + }); +} + +;// CONCATENATED MODULE: ./node_modules/lodash-es/minBy.js + + + + +/** + * This method is like `_.min` except that it accepts `iteratee` which is + * invoked for each element in `array` to generate the criterion by which + * the value is ranked. The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Math + * @param {Array} array The array to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {*} Returns the minimum value. + * @example + * + * var objects = [{ 'n': 1 }, { 'n': 2 }]; + * + * _.minBy(objects, function(o) { return o.n; }); + * // => { 'n': 1 } + * + * // The `_.property` iteratee shorthand. + * _.minBy(objects, 'n'); + * // => { 'n': 1 } + */ +function minBy(array, iteratee) { + return (array && array.length) + ? _baseExtremum(array, (0,_baseIteratee/* default */.Z)(iteratee, 2), _baseLt) + : undefined; +} + +/* harmony default export */ const lodash_es_minBy = (minBy); + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/rank/util.js + + + + +/* + * Initializes ranks for the input graph using the longest path algorithm. This + * algorithm scales well and is fast in practice, it yields rather poor + * solutions. Nodes are pushed to the lowest layer possible, leaving the bottom + * ranks wide and leaving edges longer than necessary. However, due to its + * speed, this algorithm is good for getting an initial ranking that can be fed + * into other algorithms. + * + * This algorithm does not normalize layers because it will be used by other + * algorithms in most cases. If using this algorithm directly, be sure to + * run normalize at the end. + * + * Pre-conditions: + * + * 1. Input graph is a DAG. + * 2. Input graph node labels can be assigned properties. + * + * Post-conditions: + * + * 1. Each node will be assign an (unnormalized) "rank" property. + */ +function longestPath(g) { + var visited = {}; + + function dfs(v) { + var label = g.node(v); + if (has/* default */.Z(visited, v)) { + return label.rank; + } + visited[v] = true; + + var rank = lodash_es_min( + map/* default */.Z(g.outEdges(v), function (e) { + return dfs(e.w) - g.edge(e).minlen; + }) + ); + + if ( + rank === Number.POSITIVE_INFINITY || // return value of _.map([]) for Lodash 3 + rank === undefined || // return value of _.map([]) for Lodash 4 + rank === null + ) { + // return value of _.map([null]) + rank = 0; + } + + return (label.rank = rank); + } + + forEach/* default */.Z(g.sources(), dfs); +} + +/* + * Returns the amount of slack for the given edge. The slack is defined as the + * difference between the length of the edge and its minimum length. + */ +function slack(g, e) { + return g.node(e.w).rank - g.node(e.v).rank - g.edge(e).minlen; +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/rank/feasible-tree.js + + + + + + +/* + * Constructs a spanning tree with tight edges and adjusted the input node's + * ranks to achieve this. A tight edge is one that is has a length that matches + * its "minlen" attribute. + * + * The basic structure for this function is derived from Gansner, et al., "A + * Technique for Drawing Directed Graphs." + * + * Pre-conditions: + * + * 1. Graph must be a DAG. + * 2. Graph must be connected. + * 3. Graph must have at least one node. + * 5. Graph nodes must have been previously assigned a "rank" property that + * respects the "minlen" property of incident edges. + * 6. Graph edges must have a "minlen" property. + * + * Post-conditions: + * + * - Graph nodes will have their rank adjusted to ensure that all edges are + * tight. + * + * Returns a tree (undirected graph) that is constructed using only "tight" + * edges. + */ +function feasibleTree(g) { + var t = new graphlib/* Graph */.k({ directed: false }); + + // Choose arbitrary node from which to start our tree + var start = g.nodes()[0]; + var size = g.nodeCount(); + t.setNode(start, {}); + + var edge, delta; + while (tightTree(t, g) < size) { + edge = findMinSlackEdge(t, g); + delta = t.hasNode(edge.v) ? slack(g, edge) : -slack(g, edge); + shiftRanks(t, g, delta); + } + + return t; +} + +/* + * Finds a maximal tree of tight edges and returns the number of nodes in the + * tree. + */ +function tightTree(t, g) { + function dfs(v) { + forEach/* default */.Z(g.nodeEdges(v), function (e) { + var edgeV = e.v, + w = v === edgeV ? e.w : edgeV; + if (!t.hasNode(w) && !slack(g, e)) { + t.setNode(w, {}); + t.setEdge(v, w, {}); + dfs(w); + } + }); + } + + forEach/* default */.Z(t.nodes(), dfs); + return t.nodeCount(); +} + +/* + * Finds the edge with the smallest slack that is incident on tree and returns + * it. + */ +function findMinSlackEdge(t, g) { + return lodash_es_minBy(g.edges(), function (e) { + if (t.hasNode(e.v) !== t.hasNode(e.w)) { + return slack(g, e); + } + }); +} + +function shiftRanks(t, g, delta) { + forEach/* default */.Z(t.nodes(), function (v) { + g.node(v).rank += delta; + }); +} + +// EXTERNAL MODULE: ./node_modules/lodash-es/isArrayLike.js +var isArrayLike = __webpack_require__(50585); +// EXTERNAL MODULE: ./node_modules/lodash-es/keys.js +var keys = __webpack_require__(17179); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_createFind.js + + + + +/** + * Creates a `_.find` or `_.findLast` function. + * + * @private + * @param {Function} findIndexFunc The function to find the collection index. + * @returns {Function} Returns the new find function. + */ +function createFind(findIndexFunc) { + return function(collection, predicate, fromIndex) { + var iterable = Object(collection); + if (!(0,isArrayLike/* default */.Z)(collection)) { + var iteratee = (0,_baseIteratee/* default */.Z)(predicate, 3); + collection = (0,keys/* default */.Z)(collection); + predicate = function(key) { return iteratee(iterable[key], key, iterable); }; + } + var index = findIndexFunc(collection, predicate, fromIndex); + return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined; + }; +} + +/* harmony default export */ const _createFind = (createFind); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseFindIndex.js +var _baseFindIndex = __webpack_require__(21692); +// EXTERNAL MODULE: ./node_modules/lodash-es/toFinite.js + 3 modules +var toFinite = __webpack_require__(94099); +;// CONCATENATED MODULE: ./node_modules/lodash-es/toInteger.js + + +/** + * Converts `value` to an integer. + * + * **Note:** This method is loosely based on + * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted integer. + * @example + * + * _.toInteger(3.2); + * // => 3 + * + * _.toInteger(Number.MIN_VALUE); + * // => 0 + * + * _.toInteger(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toInteger('3.2'); + * // => 3 + */ +function toInteger(value) { + var result = (0,toFinite/* default */.Z)(value), + remainder = result % 1; + + return result === result ? (remainder ? result - remainder : result) : 0; +} + +/* harmony default export */ const lodash_es_toInteger = (toInteger); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/findIndex.js + + + + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max; + +/** + * This method is like `_.find` except that it returns the index of the first + * element `predicate` returns truthy for instead of the element itself. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=0] The index to search from. + * @returns {number} Returns the index of the found element, else `-1`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': false }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': true } + * ]; + * + * _.findIndex(users, function(o) { return o.user == 'barney'; }); + * // => 0 + * + * // The `_.matches` iteratee shorthand. + * _.findIndex(users, { 'user': 'fred', 'active': false }); + * // => 1 + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findIndex(users, ['active', false]); + * // => 0 + * + * // The `_.property` iteratee shorthand. + * _.findIndex(users, 'active'); + * // => 2 + */ +function findIndex(array, predicate, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = fromIndex == null ? 0 : lodash_es_toInteger(fromIndex); + if (index < 0) { + index = nativeMax(length + index, 0); + } + return (0,_baseFindIndex/* default */.Z)(array, (0,_baseIteratee/* default */.Z)(predicate, 3), index); +} + +/* harmony default export */ const lodash_es_findIndex = (findIndex); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/find.js + + + +/** + * Iterates over elements of `collection`, returning the first element + * `predicate` returns truthy for. The predicate is invoked with three + * arguments: (value, index|key, collection). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=0] The index to search from. + * @returns {*} Returns the matched element, else `undefined`. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': true }, + * { 'user': 'fred', 'age': 40, 'active': false }, + * { 'user': 'pebbles', 'age': 1, 'active': true } + * ]; + * + * _.find(users, function(o) { return o.age < 40; }); + * // => object for 'barney' + * + * // The `_.matches` iteratee shorthand. + * _.find(users, { 'age': 1, 'active': true }); + * // => object for 'pebbles' + * + * // The `_.matchesProperty` iteratee shorthand. + * _.find(users, ['active', false]); + * // => object for 'fred' + * + * // The `_.property` iteratee shorthand. + * _.find(users, 'active'); + * // => object for 'barney' + */ +var find = _createFind(lodash_es_findIndex); + +/* harmony default export */ const lodash_es_find = (find); + +// EXTERNAL MODULE: ./node_modules/lodash-es/filter.js + 1 modules +var filter = __webpack_require__(13445); +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/graphlib/alg/dijkstra.js + + + + + +var DEFAULT_WEIGHT_FUNC = constant/* default */.Z(1); + +function dijkstra_dijkstra(g, source, weightFn, edgeFn) { + return runDijkstra( + g, + String(source), + weightFn || DEFAULT_WEIGHT_FUNC, + edgeFn || + function (v) { + return g.outEdges(v); + } + ); +} + +function runDijkstra(g, source, weightFn, edgeFn) { + var results = {}; + var pq = new PriorityQueue(); + var v, vEntry; + + var updateNeighbors = function (edge) { + var w = edge.v !== v ? edge.v : edge.w; + var wEntry = results[w]; + var weight = weightFn(edge); + var distance = vEntry.distance + weight; + + if (weight < 0) { + throw new Error( + 'dijkstra does not allow negative edge weights. ' + + 'Bad edge: ' + + edge + + ' Weight: ' + + weight + ); + } + + if (distance < wEntry.distance) { + wEntry.distance = distance; + wEntry.predecessor = v; + pq.decrease(w, distance); + } + }; + + g.nodes().forEach(function (v) { + var distance = v === source ? 0 : Number.POSITIVE_INFINITY; + results[v] = { distance: distance }; + pq.add(v, distance); + }); + + while (pq.size() > 0) { + v = pq.removeMin(); + vEntry = results[v]; + if (vEntry.distance === Number.POSITIVE_INFINITY) { + break; + } + + edgeFn(v).forEach(updateNeighbors); + } + + return results; +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/graphlib/alg/dijkstra-all.js + + + + + +function dijkstraAll(g, weightFunc, edgeFunc) { + return _.transform( + g.nodes(), + function (acc, v) { + acc[v] = dijkstra(g, v, weightFunc, edgeFunc); + }, + {} + ); +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/graphlib/alg/floyd-warshall.js + + + + +var floyd_warshall_DEFAULT_WEIGHT_FUNC = constant/* default */.Z(1); + +function floydWarshall(g, weightFn, edgeFn) { + return runFloydWarshall( + g, + weightFn || floyd_warshall_DEFAULT_WEIGHT_FUNC, + edgeFn || + function (v) { + return g.outEdges(v); + } + ); +} + +function runFloydWarshall(g, weightFn, edgeFn) { + var results = {}; + var nodes = g.nodes(); + + nodes.forEach(function (v) { + results[v] = {}; + results[v][v] = { distance: 0 }; + nodes.forEach(function (w) { + if (v !== w) { + results[v][w] = { distance: Number.POSITIVE_INFINITY }; + } + }); + edgeFn(v).forEach(function (edge) { + var w = edge.v === v ? edge.w : edge.v; + var d = weightFn(edge); + results[v][w] = { distance: d, predecessor: v }; + }); + }); + + nodes.forEach(function (k) { + var rowK = results[k]; + nodes.forEach(function (i) { + var rowI = results[i]; + nodes.forEach(function (j) { + var ik = rowI[k]; + var kj = rowK[j]; + var ij = rowI[j]; + var altDistance = ik.distance + kj.distance; + if (altDistance < ij.distance) { + ij.distance = altDistance; + ij.predecessor = kj.predecessor; + } + }); + }); + }); + + return results; +} + +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseKeys.js + 1 modules +var _baseKeys = __webpack_require__(39473); +// EXTERNAL MODULE: ./node_modules/lodash-es/_getTag.js + 3 modules +var _getTag = __webpack_require__(83970); +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseGetTag.js + 2 modules +var _baseGetTag = __webpack_require__(93589); +// EXTERNAL MODULE: ./node_modules/lodash-es/isArray.js +var isArray = __webpack_require__(27771); +// EXTERNAL MODULE: ./node_modules/lodash-es/isObjectLike.js +var isObjectLike = __webpack_require__(18533); +;// CONCATENATED MODULE: ./node_modules/lodash-es/isString.js + + + + +/** `Object#toString` result references. */ +var stringTag = '[object String]'; + +/** + * Checks if `value` is classified as a `String` primitive or object. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a string, else `false`. + * @example + * + * _.isString('abc'); + * // => true + * + * _.isString(1); + * // => false + */ +function isString(value) { + return typeof value == 'string' || + (!(0,isArray/* default */.Z)(value) && (0,isObjectLike/* default */.Z)(value) && (0,_baseGetTag/* default */.Z)(value) == stringTag); +} + +/* harmony default export */ const lodash_es_isString = (isString); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseProperty.js +var _baseProperty = __webpack_require__(54193); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_asciiSize.js + + +/** + * Gets the size of an ASCII `string`. + * + * @private + * @param {string} string The string inspect. + * @returns {number} Returns the string size. + */ +var asciiSize = (0,_baseProperty/* default */.Z)('length'); + +/* harmony default export */ const _asciiSize = (asciiSize); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_hasUnicode.js +/** Used to compose unicode character classes. */ +var rsAstralRange = '\\ud800-\\udfff', + rsComboMarksRange = '\\u0300-\\u036f', + reComboHalfMarksRange = '\\ufe20-\\ufe2f', + rsComboSymbolsRange = '\\u20d0-\\u20ff', + rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, + rsVarRange = '\\ufe0e\\ufe0f'; + +/** Used to compose unicode capture groups. */ +var rsZWJ = '\\u200d'; + +/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */ +var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']'); + +/** + * Checks if `string` contains Unicode symbols. + * + * @private + * @param {string} string The string to inspect. + * @returns {boolean} Returns `true` if a symbol is found, else `false`. + */ +function hasUnicode(string) { + return reHasUnicode.test(string); +} + +/* harmony default export */ const _hasUnicode = (hasUnicode); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_unicodeSize.js +/** Used to compose unicode character classes. */ +var _unicodeSize_rsAstralRange = '\\ud800-\\udfff', + _unicodeSize_rsComboMarksRange = '\\u0300-\\u036f', + _unicodeSize_reComboHalfMarksRange = '\\ufe20-\\ufe2f', + _unicodeSize_rsComboSymbolsRange = '\\u20d0-\\u20ff', + _unicodeSize_rsComboRange = _unicodeSize_rsComboMarksRange + _unicodeSize_reComboHalfMarksRange + _unicodeSize_rsComboSymbolsRange, + _unicodeSize_rsVarRange = '\\ufe0e\\ufe0f'; + +/** Used to compose unicode capture groups. */ +var rsAstral = '[' + _unicodeSize_rsAstralRange + ']', + rsCombo = '[' + _unicodeSize_rsComboRange + ']', + rsFitz = '\\ud83c[\\udffb-\\udfff]', + rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')', + rsNonAstral = '[^' + _unicodeSize_rsAstralRange + ']', + rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}', + rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]', + _unicodeSize_rsZWJ = '\\u200d'; + +/** Used to compose unicode regexes. */ +var reOptMod = rsModifier + '?', + rsOptVar = '[' + _unicodeSize_rsVarRange + ']?', + rsOptJoin = '(?:' + _unicodeSize_rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*', + rsSeq = rsOptVar + reOptMod + rsOptJoin, + rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')'; + +/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */ +var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g'); + +/** + * Gets the size of a Unicode `string`. + * + * @private + * @param {string} string The string inspect. + * @returns {number} Returns the string size. + */ +function unicodeSize(string) { + var result = reUnicode.lastIndex = 0; + while (reUnicode.test(string)) { + ++result; + } + return result; +} + +/* harmony default export */ const _unicodeSize = (unicodeSize); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_stringSize.js + + + + +/** + * Gets the number of symbols in `string`. + * + * @private + * @param {string} string The string to inspect. + * @returns {number} Returns the string size. + */ +function stringSize(string) { + return _hasUnicode(string) + ? _unicodeSize(string) + : _asciiSize(string); +} + +/* harmony default export */ const _stringSize = (stringSize); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/size.js + + + + + + +/** `Object#toString` result references. */ +var mapTag = '[object Map]', + setTag = '[object Set]'; + +/** + * Gets the size of `collection` by returning its length for array-like + * values or the number of own enumerable string keyed properties for objects. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object|string} collection The collection to inspect. + * @returns {number} Returns the collection size. + * @example + * + * _.size([1, 2, 3]); + * // => 3 + * + * _.size({ 'a': 1, 'b': 2 }); + * // => 2 + * + * _.size('pebbles'); + * // => 7 + */ +function size(collection) { + if (collection == null) { + return 0; + } + if ((0,isArrayLike/* default */.Z)(collection)) { + return lodash_es_isString(collection) ? _stringSize(collection) : collection.length; + } + var tag = (0,_getTag/* default */.Z)(collection); + if (tag == mapTag || tag == setTag) { + return collection.size; + } + return (0,_baseKeys/* default */.Z)(collection).length; +} + +/* harmony default export */ const lodash_es_size = (size); + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/graphlib/alg/topsort.js + + + + +topsort_topsort.CycleException = topsort_CycleException; + +function topsort_topsort(g) { + var visited = {}; + var stack = {}; + var results = []; + + function visit(node) { + if (has/* default */.Z(stack, node)) { + throw new topsort_CycleException(); + } + + if (!has/* default */.Z(visited, node)) { + stack[node] = true; + visited[node] = true; + forEach/* default */.Z(g.predecessors(node), visit); + delete stack[node]; + results.push(node); + } + } + + forEach/* default */.Z(g.sinks(), visit); + + if (lodash_es_size(visited) !== g.nodeCount()) { + throw new topsort_CycleException(); + } + + return results; +} + +function topsort_CycleException() {} +topsort_CycleException.prototype = new Error(); // must be an instance of Error to pass testing + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/graphlib/alg/is-acyclic.js + + + + +function isAcyclic(g) { + try { + topsort(g); + } catch (e) { + if (e instanceof CycleException) { + return false; + } + throw e; + } + return true; +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/graphlib/alg/dfs.js + + + + +/* + * A helper that preforms a pre- or post-order traversal on the input graph + * and returns the nodes in the order they were visited. If the graph is + * undirected then this algorithm will navigate using neighbors. If the graph + * is directed then this algorithm will navigate using successors. + * + * Order must be one of "pre" or "post". + */ +function dfs(g, vs, order) { + if (!isArray/* default */.Z(vs)) { + vs = [vs]; + } + + var navigation = (g.isDirected() ? g.successors : g.neighbors).bind(g); + + var acc = []; + var visited = {}; + forEach/* default */.Z(vs, function (v) { + if (!g.hasNode(v)) { + throw new Error('Graph does not have node: ' + v); + } + + doDfs(g, v, order === 'post', visited, navigation, acc); + }); + return acc; +} + +function doDfs(g, v, postorder, visited, navigation, acc) { + if (!has/* default */.Z(visited, v)) { + visited[v] = true; + + if (!postorder) { + acc.push(v); + } + forEach/* default */.Z(navigation(v), function (w) { + doDfs(g, w, postorder, visited, navigation, acc); + }); + if (postorder) { + acc.push(v); + } + } +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/graphlib/alg/postorder.js + + + + +function postorder(g, vs) { + return dfs(g, vs, 'post'); +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/graphlib/alg/preorder.js + + + + +function preorder(g, vs) { + return dfs(g, vs, 'pre'); +} + +// EXTERNAL MODULE: ./node_modules/dagre-d3-es/src/graphlib/graph.js + 9 modules +var graph = __webpack_require__(52544); +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/graphlib/alg/prim.js + + + + + + +function prim(g, weightFunc) { + var result = new Graph(); + var parents = {}; + var pq = new PriorityQueue(); + var v; + + function updateNeighbors(edge) { + var w = edge.v === v ? edge.w : edge.v; + var pri = pq.priority(w); + if (pri !== undefined) { + var edgeWeight = weightFunc(edge); + if (edgeWeight < pri) { + parents[w] = v; + pq.decrease(w, edgeWeight); + } + } + } + + if (g.nodeCount() === 0) { + return result; + } + + _.each(g.nodes(), function (v) { + pq.add(v, Number.POSITIVE_INFINITY); + result.setNode(v); + }); + + // Start from an arbitrary node + pq.decrease(g.nodes()[0], 0); + + var init = false; + while (pq.size() > 0) { + v = pq.removeMin(); + if (_.has(parents, v)) { + result.setEdge(v, parents[v]); + } else if (init) { + throw new Error('Input graph is not connected: ' + g); + } else { + init = true; + } + + g.nodeEdges(v).forEach(updateNeighbors); + } + + return result; +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/graphlib/alg/index.js + + + + + + + + + + + + + + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/rank/network-simplex.js + + + + + + + + +// Expose some internals for testing purposes +networkSimplex.initLowLimValues = initLowLimValues; +networkSimplex.initCutValues = initCutValues; +networkSimplex.calcCutValue = calcCutValue; +networkSimplex.leaveEdge = leaveEdge; +networkSimplex.enterEdge = enterEdge; +networkSimplex.exchangeEdges = exchangeEdges; + +/* + * The network simplex algorithm assigns ranks to each node in the input graph + * and iteratively improves the ranking to reduce the length of edges. + * + * Preconditions: + * + * 1. The input graph must be a DAG. + * 2. All nodes in the graph must have an object value. + * 3. All edges in the graph must have "minlen" and "weight" attributes. + * + * Postconditions: + * + * 1. All nodes in the graph will have an assigned "rank" attribute that has + * been optimized by the network simplex algorithm. Ranks start at 0. + * + * + * A rough sketch of the algorithm is as follows: + * + * 1. Assign initial ranks to each node. We use the longest path algorithm, + * which assigns ranks to the lowest position possible. In general this + * leads to very wide bottom ranks and unnecessarily long edges. + * 2. Construct a feasible tight tree. A tight tree is one such that all + * edges in the tree have no slack (difference between length of edge + * and minlen for the edge). This by itself greatly improves the assigned + * rankings by shorting edges. + * 3. Iteratively find edges that have negative cut values. Generally a + * negative cut value indicates that the edge could be removed and a new + * tree edge could be added to produce a more compact graph. + * + * Much of the algorithms here are derived from Gansner, et al., "A Technique + * for Drawing Directed Graphs." The structure of the file roughly follows the + * structure of the overall algorithm. + */ +function networkSimplex(g) { + g = simplify(g); + longestPath(g); + var t = feasibleTree(g); + initLowLimValues(t); + initCutValues(t, g); + + var e, f; + while ((e = leaveEdge(t))) { + f = enterEdge(t, g, e); + exchangeEdges(t, g, e, f); + } +} + +/* + * Initializes cut values for all edges in the tree. + */ +function initCutValues(t, g) { + var vs = postorder(t, t.nodes()); + vs = vs.slice(0, vs.length - 1); + forEach/* default */.Z(vs, function (v) { + assignCutValue(t, g, v); + }); +} + +function assignCutValue(t, g, child) { + var childLab = t.node(child); + var parent = childLab.parent; + t.edge(child, parent).cutvalue = calcCutValue(t, g, child); +} + +/* + * Given the tight tree, its graph, and a child in the graph calculate and + * return the cut value for the edge between the child and its parent. + */ +function calcCutValue(t, g, child) { + var childLab = t.node(child); + var parent = childLab.parent; + // True if the child is on the tail end of the edge in the directed graph + var childIsTail = true; + // The graph's view of the tree edge we're inspecting + var graphEdge = g.edge(child, parent); + // The accumulated cut value for the edge between this node and its parent + var cutValue = 0; + + if (!graphEdge) { + childIsTail = false; + graphEdge = g.edge(parent, child); + } + + cutValue = graphEdge.weight; + + forEach/* default */.Z(g.nodeEdges(child), function (e) { + var isOutEdge = e.v === child, + other = isOutEdge ? e.w : e.v; + + if (other !== parent) { + var pointsToHead = isOutEdge === childIsTail, + otherWeight = g.edge(e).weight; + + cutValue += pointsToHead ? otherWeight : -otherWeight; + if (isTreeEdge(t, child, other)) { + var otherCutValue = t.edge(child, other).cutvalue; + cutValue += pointsToHead ? -otherCutValue : otherCutValue; + } + } + }); + + return cutValue; +} + +function initLowLimValues(tree, root) { + if (arguments.length < 2) { + root = tree.nodes()[0]; + } + dfsAssignLowLim(tree, {}, 1, root); +} + +function dfsAssignLowLim(tree, visited, nextLim, v, parent) { + var low = nextLim; + var label = tree.node(v); + + visited[v] = true; + forEach/* default */.Z(tree.neighbors(v), function (w) { + if (!has/* default */.Z(visited, w)) { + nextLim = dfsAssignLowLim(tree, visited, nextLim, w, v); + } + }); + + label.low = low; + label.lim = nextLim++; + if (parent) { + label.parent = parent; + } else { + // TODO should be able to remove this when we incrementally update low lim + delete label.parent; + } + + return nextLim; +} + +function leaveEdge(tree) { + return lodash_es_find(tree.edges(), function (e) { + return tree.edge(e).cutvalue < 0; + }); +} + +function enterEdge(t, g, edge) { + var v = edge.v; + var w = edge.w; + + // For the rest of this function we assume that v is the tail and w is the + // head, so if we don't have this edge in the graph we should flip it to + // match the correct orientation. + if (!g.hasEdge(v, w)) { + v = edge.w; + w = edge.v; + } + + var vLabel = t.node(v); + var wLabel = t.node(w); + var tailLabel = vLabel; + var flip = false; + + // If the root is in the tail of the edge then we need to flip the logic that + // checks for the head and tail nodes in the candidates function below. + if (vLabel.lim > wLabel.lim) { + tailLabel = wLabel; + flip = true; + } + + var candidates = filter/* default */.Z(g.edges(), function (edge) { + return ( + flip === isDescendant(t, t.node(edge.v), tailLabel) && + flip !== isDescendant(t, t.node(edge.w), tailLabel) + ); + }); + + return lodash_es_minBy(candidates, function (edge) { + return slack(g, edge); + }); +} + +function exchangeEdges(t, g, e, f) { + var v = e.v; + var w = e.w; + t.removeEdge(v, w); + t.setEdge(f.v, f.w, {}); + initLowLimValues(t); + initCutValues(t, g); + updateRanks(t, g); +} + +function updateRanks(t, g) { + var root = lodash_es_find(t.nodes(), function (v) { + return !g.node(v).parent; + }); + var vs = preorder(t, root); + vs = vs.slice(1); + forEach/* default */.Z(vs, function (v) { + var parent = t.node(v).parent, + edge = g.edge(v, parent), + flipped = false; + + if (!edge) { + edge = g.edge(parent, v); + flipped = true; + } + + g.node(v).rank = g.node(parent).rank + (flipped ? edge.minlen : -edge.minlen); + }); +} + +/* + * Returns true if the edge is in the tree. + */ +function isTreeEdge(tree, u, v) { + return tree.hasEdge(u, v); +} + +/* + * Returns true if the specified node is descendant of the root node per the + * assigned low and lim attributes in the tree. + */ +function isDescendant(tree, vLabel, rootLabel) { + return rootLabel.low <= vLabel.lim && vLabel.lim <= rootLabel.lim; +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/rank/index.js + + + + + + +/* + * Assigns a rank to each node in the input graph that respects the "minlen" + * constraint specified on edges between nodes. + * + * This basic structure is derived from Gansner, et al., "A Technique for + * Drawing Directed Graphs." + * + * Pre-conditions: + * + * 1. Graph must be a connected DAG + * 2. Graph nodes must be objects + * 3. Graph edges must have "weight" and "minlen" attributes + * + * Post-conditions: + * + * 1. Graph nodes will have a "rank" attribute based on the results of the + * algorithm. Ranks can start at any index (including negative), we'll + * fix them up later. + */ +function rank(g) { + switch (g.graph().ranker) { + case 'network-simplex': + networkSimplexRanker(g); + break; + case 'tight-tree': + tightTreeRanker(g); + break; + case 'longest-path': + longestPathRanker(g); + break; + default: + networkSimplexRanker(g); + } +} + +// A fast and simple ranker, but results are far from optimal. +var longestPathRanker = longestPath; + +function tightTreeRanker(g) { + longestPath(g); + feasibleTree(g); +} + +function networkSimplexRanker(g) { + networkSimplex(g); +} + +// EXTERNAL MODULE: ./node_modules/lodash-es/values.js + 1 modules +var values = __webpack_require__(34148); +// EXTERNAL MODULE: ./node_modules/lodash-es/reduce.js + 2 modules +var reduce = __webpack_require__(92344); +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/nesting-graph.js + + + + + +/* + * A nesting graph creates dummy nodes for the tops and bottoms of subgraphs, + * adds appropriate edges to ensure that all cluster nodes are placed between + * these boundries, and ensures that the graph is connected. + * + * In addition we ensure, through the use of the minlen property, that nodes + * and subgraph border nodes to not end up on the same rank. + * + * Preconditions: + * + * 1. Input graph is a DAG + * 2. Nodes in the input graph has a minlen attribute + * + * Postconditions: + * + * 1. Input graph is connected. + * 2. Dummy nodes are added for the tops and bottoms of subgraphs. + * 3. The minlen attribute for nodes is adjusted to ensure nodes do not + * get placed on the same rank as subgraph border nodes. + * + * The nesting graph idea comes from Sander, "Layout of Compound Directed + * Graphs." + */ +function nesting_graph_run(g) { + var root = addDummyNode(g, 'root', {}, '_root'); + var depths = treeDepths(g); + var height = lodash_es_max(values/* default */.Z(depths)) - 1; // Note: depths is an Object not an array + var nodeSep = 2 * height + 1; + + g.graph().nestingRoot = root; + + // Multiply minlen by nodeSep to align nodes on non-border ranks. + forEach/* default */.Z(g.edges(), function (e) { + g.edge(e).minlen *= nodeSep; + }); + + // Calculate a weight that is sufficient to keep subgraphs vertically compact + var weight = sumWeights(g) + 1; + + // Create border nodes and link them up + forEach/* default */.Z(g.children(), function (child) { + nesting_graph_dfs(g, root, nodeSep, weight, height, depths, child); + }); + + // Save the multiplier for node layers for later removal of empty border + // layers. + g.graph().nodeRankFactor = nodeSep; +} + +function nesting_graph_dfs(g, root, nodeSep, weight, height, depths, v) { + var children = g.children(v); + if (!children.length) { + if (v !== root) { + g.setEdge(root, v, { weight: 0, minlen: nodeSep }); + } + return; + } + + var top = addBorderNode(g, '_bt'); + var bottom = addBorderNode(g, '_bb'); + var label = g.node(v); + + g.setParent(top, v); + label.borderTop = top; + g.setParent(bottom, v); + label.borderBottom = bottom; + + forEach/* default */.Z(children, function (child) { + nesting_graph_dfs(g, root, nodeSep, weight, height, depths, child); + + var childNode = g.node(child); + var childTop = childNode.borderTop ? childNode.borderTop : child; + var childBottom = childNode.borderBottom ? childNode.borderBottom : child; + var thisWeight = childNode.borderTop ? weight : 2 * weight; + var minlen = childTop !== childBottom ? 1 : height - depths[v] + 1; + + g.setEdge(top, childTop, { + weight: thisWeight, + minlen: minlen, + nestingEdge: true, + }); + + g.setEdge(childBottom, bottom, { + weight: thisWeight, + minlen: minlen, + nestingEdge: true, + }); + }); + + if (!g.parent(v)) { + g.setEdge(root, top, { weight: 0, minlen: height + depths[v] }); + } +} + +function treeDepths(g) { + var depths = {}; + function dfs(v, depth) { + var children = g.children(v); + if (children && children.length) { + forEach/* default */.Z(children, function (child) { + dfs(child, depth + 1); + }); + } + depths[v] = depth; + } + forEach/* default */.Z(g.children(), function (v) { + dfs(v, 1); + }); + return depths; +} + +function sumWeights(g) { + return reduce/* default */.Z( + g.edges(), + function (acc, e) { + return acc + g.edge(e).weight; + }, + 0 + ); +} + +function cleanup(g) { + var graphLabel = g.graph(); + g.removeNode(graphLabel.nestingRoot); + delete graphLabel.nestingRoot; + forEach/* default */.Z(g.edges(), function (e) { + var edge = g.edge(e); + if (edge.nestingEdge) { + g.removeEdge(e); + } + }); +} + +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseClone.js + 15 modules +var _baseClone = __webpack_require__(48451); +;// CONCATENATED MODULE: ./node_modules/lodash-es/cloneDeep.js + + +/** Used to compose bitmasks for cloning. */ +var CLONE_DEEP_FLAG = 1, + CLONE_SYMBOLS_FLAG = 4; + +/** + * This method is like `_.clone` except that it recursively clones `value`. + * + * @static + * @memberOf _ + * @since 1.0.0 + * @category Lang + * @param {*} value The value to recursively clone. + * @returns {*} Returns the deep cloned value. + * @see _.clone + * @example + * + * var objects = [{ 'a': 1 }, { 'b': 2 }]; + * + * var deep = _.cloneDeep(objects); + * console.log(deep[0] === objects[0]); + * // => false + */ +function cloneDeep(value) { + return (0,_baseClone/* default */.Z)(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG); +} + +/* harmony default export */ const lodash_es_cloneDeep = (cloneDeep); + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/order/add-subgraph-constraints.js + + + + +function addSubgraphConstraints(g, cg, vs) { + var prev = {}, + rootPrev; + + forEach/* default */.Z(vs, function (v) { + var child = g.parent(v), + parent, + prevChild; + while (child) { + parent = g.parent(child); + if (parent) { + prevChild = prev[parent]; + prev[parent] = child; + } else { + prevChild = rootPrev; + rootPrev = child; + } + if (prevChild && prevChild !== child) { + cg.setEdge(prevChild, child); + return; + } + child = parent; + } + }); + + /* + function dfs(v) { + var children = v ? g.children(v) : g.children(); + if (children.length) { + var min = Number.POSITIVE_INFINITY, + subgraphs = []; + _.each(children, function(child) { + var childMin = dfs(child); + if (g.children(child).length) { + subgraphs.push({ v: child, order: childMin }); + } + min = Math.min(min, childMin); + }); + _.reduce(_.sortBy(subgraphs, "order"), function(prev, curr) { + cg.setEdge(prev.v, curr.v); + return curr; + }); + return min; + } + return g.node(v).order; + } + dfs(undefined); + */ +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/order/build-layer-graph.js + + + + + +/* + * Constructs a graph that can be used to sort a layer of nodes. The graph will + * contain all base and subgraph nodes from the request layer in their original + * hierarchy and any edges that are incident on these nodes and are of the type + * requested by the "relationship" parameter. + * + * Nodes from the requested rank that do not have parents are assigned a root + * node in the output graph, which is set in the root graph attribute. This + * makes it easy to walk the hierarchy of movable nodes during ordering. + * + * Pre-conditions: + * + * 1. Input graph is a DAG + * 2. Base nodes in the input graph have a rank attribute + * 3. Subgraph nodes in the input graph has minRank and maxRank attributes + * 4. Edges have an assigned weight + * + * Post-conditions: + * + * 1. Output graph has all nodes in the movable rank with preserved + * hierarchy. + * 2. Root nodes in the movable layer are made children of the node + * indicated by the root attribute of the graph. + * 3. Non-movable nodes incident on movable nodes, selected by the + * relationship parameter, are included in the graph (without hierarchy). + * 4. Edges incident on movable nodes, selected by the relationship + * parameter, are added to the output graph. + * 5. The weights for copied edges are aggregated as need, since the output + * graph is not a multi-graph. + */ +function buildLayerGraph(g, rank, relationship) { + var root = createRootNode(g), + result = new graphlib/* Graph */.k({ compound: true }) + .setGraph({ root: root }) + .setDefaultNodeLabel(function (v) { + return g.node(v); + }); + + forEach/* default */.Z(g.nodes(), function (v) { + var node = g.node(v), + parent = g.parent(v); + + if (node.rank === rank || (node.minRank <= rank && rank <= node.maxRank)) { + result.setNode(v); + result.setParent(v, parent || root); + + // This assumes we have only short edges! + forEach/* default */.Z(g[relationship](v), function (e) { + var u = e.v === v ? e.w : e.v, + edge = result.edge(u, v), + weight = !isUndefined/* default */.Z(edge) ? edge.weight : 0; + result.setEdge(u, v, { weight: g.edge(e).weight + weight }); + }); + + if (has/* default */.Z(node, 'minRank')) { + result.setNode(v, { + borderLeft: node.borderLeft[rank], + borderRight: node.borderRight[rank], + }); + } + } + }); + + return result; +} + +function createRootNode(g) { + var v; + while (g.hasNode((v = uniqueId/* default */.Z('_root')))); + return v; +} + +// EXTERNAL MODULE: ./node_modules/lodash-es/_assignValue.js +var _assignValue = __webpack_require__(72954); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseZipObject.js +/** + * This base implementation of `_.zipObject` which assigns values using `assignFunc`. + * + * @private + * @param {Array} props The property identifiers. + * @param {Array} values The property values. + * @param {Function} assignFunc The function to assign values. + * @returns {Object} Returns the new object. + */ +function baseZipObject(props, values, assignFunc) { + var index = -1, + length = props.length, + valsLength = values.length, + result = {}; + + while (++index < length) { + var value = index < valsLength ? values[index] : undefined; + assignFunc(result, props[index], value); + } + return result; +} + +/* harmony default export */ const _baseZipObject = (baseZipObject); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/zipObject.js + + + +/** + * This method is like `_.fromPairs` except that it accepts two arrays, + * one of property identifiers and one of corresponding values. + * + * @static + * @memberOf _ + * @since 0.4.0 + * @category Array + * @param {Array} [props=[]] The property identifiers. + * @param {Array} [values=[]] The property values. + * @returns {Object} Returns the new object. + * @example + * + * _.zipObject(['a', 'b'], [1, 2]); + * // => { 'a': 1, 'b': 2 } + */ +function zipObject(props, values) { + return _baseZipObject(props || [], values || [], _assignValue/* default */.Z); +} + +/* harmony default export */ const lodash_es_zipObject = (zipObject); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseFlatten.js + 1 modules +var _baseFlatten = __webpack_require__(10626); +// EXTERNAL MODULE: ./node_modules/lodash-es/_arrayMap.js +var _arrayMap = __webpack_require__(74073); +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseGet.js +var _baseGet = __webpack_require__(13317); +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseMap.js +var _baseMap = __webpack_require__(21018); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseSortBy.js +/** + * The base implementation of `_.sortBy` which uses `comparer` to define the + * sort order of `array` and replaces criteria objects with their corresponding + * values. + * + * @private + * @param {Array} array The array to sort. + * @param {Function} comparer The function to define sort order. + * @returns {Array} Returns `array`. + */ +function baseSortBy(array, comparer) { + var length = array.length; + + array.sort(comparer); + while (length--) { + array[length] = array[length].value; + } + return array; +} + +/* harmony default export */ const _baseSortBy = (baseSortBy); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseUnary.js +var _baseUnary = __webpack_require__(21162); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_compareAscending.js + + +/** + * Compares values to sort them in ascending order. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {number} Returns the sort order indicator for `value`. + */ +function compareAscending(value, other) { + if (value !== other) { + var valIsDefined = value !== undefined, + valIsNull = value === null, + valIsReflexive = value === value, + valIsSymbol = (0,isSymbol/* default */.Z)(value); + + var othIsDefined = other !== undefined, + othIsNull = other === null, + othIsReflexive = other === other, + othIsSymbol = (0,isSymbol/* default */.Z)(other); + + if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) || + (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) || + (valIsNull && othIsDefined && othIsReflexive) || + (!valIsDefined && othIsReflexive) || + !valIsReflexive) { + return 1; + } + if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) || + (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) || + (othIsNull && valIsDefined && valIsReflexive) || + (!othIsDefined && valIsReflexive) || + !othIsReflexive) { + return -1; + } + } + return 0; +} + +/* harmony default export */ const _compareAscending = (compareAscending); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_compareMultiple.js + + +/** + * Used by `_.orderBy` to compare multiple properties of a value to another + * and stable sort them. + * + * If `orders` is unspecified, all values are sorted in ascending order. Otherwise, + * specify an order of "desc" for descending or "asc" for ascending sort order + * of corresponding values. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {boolean[]|string[]} orders The order to sort by for each property. + * @returns {number} Returns the sort order indicator for `object`. + */ +function compareMultiple(object, other, orders) { + var index = -1, + objCriteria = object.criteria, + othCriteria = other.criteria, + length = objCriteria.length, + ordersLength = orders.length; + + while (++index < length) { + var result = _compareAscending(objCriteria[index], othCriteria[index]); + if (result) { + if (index >= ordersLength) { + return result; + } + var order = orders[index]; + return result * (order == 'desc' ? -1 : 1); + } + } + // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications + // that causes it, under certain circumstances, to provide the same value for + // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247 + // for more details. + // + // This also ensures a stable sort in V8 and other engines. + // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details. + return object.index - other.index; +} + +/* harmony default export */ const _compareMultiple = (compareMultiple); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseOrderBy.js + + + + + + + + + + +/** + * The base implementation of `_.orderBy` without param guards. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by. + * @param {string[]} orders The sort orders of `iteratees`. + * @returns {Array} Returns the new sorted array. + */ +function baseOrderBy(collection, iteratees, orders) { + if (iteratees.length) { + iteratees = (0,_arrayMap/* default */.Z)(iteratees, function(iteratee) { + if ((0,isArray/* default */.Z)(iteratee)) { + return function(value) { + return (0,_baseGet/* default */.Z)(value, iteratee.length === 1 ? iteratee[0] : iteratee); + } + } + return iteratee; + }); + } else { + iteratees = [identity/* default */.Z]; + } + + var index = -1; + iteratees = (0,_arrayMap/* default */.Z)(iteratees, (0,_baseUnary/* default */.Z)(_baseIteratee/* default */.Z)); + + var result = (0,_baseMap/* default */.Z)(collection, function(value, key, collection) { + var criteria = (0,_arrayMap/* default */.Z)(iteratees, function(iteratee) { + return iteratee(value); + }); + return { 'criteria': criteria, 'index': ++index, 'value': value }; + }); + + return _baseSortBy(result, function(object, other) { + return _compareMultiple(object, other, orders); + }); +} + +/* harmony default export */ const _baseOrderBy = (baseOrderBy); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseRest.js +var _baseRest = __webpack_require__(69581); +// EXTERNAL MODULE: ./node_modules/lodash-es/_isIterateeCall.js +var _isIterateeCall = __webpack_require__(50439); +;// CONCATENATED MODULE: ./node_modules/lodash-es/sortBy.js + + + + + +/** + * Creates an array of elements, sorted in ascending order by the results of + * running each element in a collection thru each iteratee. This method + * performs a stable sort, that is, it preserves the original sort order of + * equal elements. The iteratees are invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {...(Function|Function[])} [iteratees=[_.identity]] + * The iteratees to sort by. + * @returns {Array} Returns the new sorted array. + * @example + * + * var users = [ + * { 'user': 'fred', 'age': 48 }, + * { 'user': 'barney', 'age': 36 }, + * { 'user': 'fred', 'age': 30 }, + * { 'user': 'barney', 'age': 34 } + * ]; + * + * _.sortBy(users, [function(o) { return o.user; }]); + * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]] + * + * _.sortBy(users, ['user', 'age']); + * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]] + */ +var sortBy = (0,_baseRest/* default */.Z)(function(collection, iteratees) { + if (collection == null) { + return []; + } + var length = iteratees.length; + if (length > 1 && (0,_isIterateeCall/* default */.Z)(collection, iteratees[0], iteratees[1])) { + iteratees = []; + } else if (length > 2 && (0,_isIterateeCall/* default */.Z)(iteratees[0], iteratees[1], iteratees[2])) { + iteratees = [iteratees[0]]; + } + return _baseOrderBy(collection, (0,_baseFlatten/* default */.Z)(iteratees, 1), []); +}); + +/* harmony default export */ const lodash_es_sortBy = (sortBy); + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/order/cross-count.js + + + + +/* + * A function that takes a layering (an array of layers, each with an array of + * ordererd nodes) and a graph and returns a weighted crossing count. + * + * Pre-conditions: + * + * 1. Input graph must be simple (not a multigraph), directed, and include + * only simple edges. + * 2. Edges in the input graph must have assigned weights. + * + * Post-conditions: + * + * 1. The graph and layering matrix are left unchanged. + * + * This algorithm is derived from Barth, et al., "Bilayer Cross Counting." + */ +function crossCount(g, layering) { + var cc = 0; + for (var i = 1; i < layering.length; ++i) { + cc += twoLayerCrossCount(g, layering[i - 1], layering[i]); + } + return cc; +} + +function twoLayerCrossCount(g, northLayer, southLayer) { + // Sort all of the edges between the north and south layers by their position + // in the north layer and then the south. Map these edges to the position of + // their head in the south layer. + var southPos = lodash_es_zipObject( + southLayer, + map/* default */.Z(southLayer, function (v, i) { + return i; + }) + ); + var southEntries = flatten/* default */.Z( + map/* default */.Z(northLayer, function (v) { + return lodash_es_sortBy( + map/* default */.Z(g.outEdges(v), function (e) { + return { pos: southPos[e.w], weight: g.edge(e).weight }; + }), + 'pos' + ); + }) + ); + + // Build the accumulator tree + var firstIndex = 1; + while (firstIndex < southLayer.length) firstIndex <<= 1; + var treeSize = 2 * firstIndex - 1; + firstIndex -= 1; + var tree = map/* default */.Z(new Array(treeSize), function () { + return 0; + }); + + // Calculate the weighted crossings + var cc = 0; + forEach/* default */.Z( + // @ts-expect-error + southEntries.forEach(function (entry) { + var index = entry.pos + firstIndex; + tree[index] += entry.weight; + var weightSum = 0; + // @ts-expect-error + while (index > 0) { + // @ts-expect-error + if (index % 2) { + weightSum += tree[index + 1]; + } + // @ts-expect-error + index = (index - 1) >> 1; + tree[index] += entry.weight; + } + cc += entry.weight * weightSum; + }) + ); + + return cc; +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/order/init-order.js + + + + +/* + * Assigns an initial order value for each node by performing a DFS search + * starting from nodes in the first rank. Nodes are assigned an order in their + * rank as they are first visited. + * + * This approach comes from Gansner, et al., "A Technique for Drawing Directed + * Graphs." + * + * Returns a layering matrix with an array per layer and each layer sorted by + * the order of its nodes. + */ +function initOrder(g) { + var visited = {}; + var simpleNodes = filter/* default */.Z(g.nodes(), function (v) { + return !g.children(v).length; + }); + var maxRank = lodash_es_max( + map/* default */.Z(simpleNodes, function (v) { + return g.node(v).rank; + }) + ); + var layers = map/* default */.Z(range/* default */.Z(maxRank + 1), function () { + return []; + }); + + function dfs(v) { + if (has/* default */.Z(visited, v)) return; + visited[v] = true; + var node = g.node(v); + layers[node.rank].push(v); + forEach/* default */.Z(g.successors(v), dfs); + } + + var orderedVs = lodash_es_sortBy(simpleNodes, function (v) { + return g.node(v).rank; + }); + forEach/* default */.Z(orderedVs, dfs); + + return layers; +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/order/barycenter.js + + + + +function barycenter(g, movable) { + return map/* default */.Z(movable, function (v) { + var inV = g.inEdges(v); + if (!inV.length) { + return { v: v }; + } else { + var result = reduce/* default */.Z( + inV, + function (acc, e) { + var edge = g.edge(e), + nodeU = g.node(e.v); + return { + sum: acc.sum + edge.weight * nodeU.order, + weight: acc.weight + edge.weight, + }; + }, + { sum: 0, weight: 0 } + ); + + return { + v: v, + barycenter: result.sum / result.weight, + weight: result.weight, + }; + } + }); +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/order/resolve-conflicts.js + + + + +/* + * Given a list of entries of the form {v, barycenter, weight} and a + * constraint graph this function will resolve any conflicts between the + * constraint graph and the barycenters for the entries. If the barycenters for + * an entry would violate a constraint in the constraint graph then we coalesce + * the nodes in the conflict into a new node that respects the contraint and + * aggregates barycenter and weight information. + * + * This implementation is based on the description in Forster, "A Fast and + * Simple Hueristic for Constrained Two-Level Crossing Reduction," thought it + * differs in some specific details. + * + * Pre-conditions: + * + * 1. Each entry has the form {v, barycenter, weight}, or if the node has + * no barycenter, then {v}. + * + * Returns: + * + * A new list of entries of the form {vs, i, barycenter, weight}. The list + * `vs` may either be a singleton or it may be an aggregation of nodes + * ordered such that they do not violate constraints from the constraint + * graph. The property `i` is the lowest original index of any of the + * elements in `vs`. + */ +function resolveConflicts(entries, cg) { + var mappedEntries = {}; + forEach/* default */.Z(entries, function (entry, i) { + var tmp = (mappedEntries[entry.v] = { + indegree: 0, + in: [], + out: [], + vs: [entry.v], + i: i, + }); + if (!isUndefined/* default */.Z(entry.barycenter)) { + // @ts-expect-error + tmp.barycenter = entry.barycenter; + // @ts-expect-error + tmp.weight = entry.weight; + } + }); + + forEach/* default */.Z(cg.edges(), function (e) { + var entryV = mappedEntries[e.v]; + var entryW = mappedEntries[e.w]; + if (!isUndefined/* default */.Z(entryV) && !isUndefined/* default */.Z(entryW)) { + entryW.indegree++; + entryV.out.push(mappedEntries[e.w]); + } + }); + + var sourceSet = filter/* default */.Z(mappedEntries, function (entry) { + // @ts-expect-error + return !entry.indegree; + }); + + return doResolveConflicts(sourceSet); +} + +function doResolveConflicts(sourceSet) { + var entries = []; + + function handleIn(vEntry) { + return function (uEntry) { + if (uEntry.merged) { + return; + } + if ( + isUndefined/* default */.Z(uEntry.barycenter) || + isUndefined/* default */.Z(vEntry.barycenter) || + uEntry.barycenter >= vEntry.barycenter + ) { + mergeEntries(vEntry, uEntry); + } + }; + } + + function handleOut(vEntry) { + return function (wEntry) { + wEntry['in'].push(vEntry); + if (--wEntry.indegree === 0) { + sourceSet.push(wEntry); + } + }; + } + + while (sourceSet.length) { + var entry = sourceSet.pop(); + entries.push(entry); + forEach/* default */.Z(entry['in'].reverse(), handleIn(entry)); + forEach/* default */.Z(entry.out, handleOut(entry)); + } + + return map/* default */.Z( + filter/* default */.Z(entries, function (entry) { + return !entry.merged; + }), + function (entry) { + return pick/* default */.Z(entry, ['vs', 'i', 'barycenter', 'weight']); + } + ); +} + +function mergeEntries(target, source) { + var sum = 0; + var weight = 0; + + if (target.weight) { + sum += target.barycenter * target.weight; + weight += target.weight; + } + + if (source.weight) { + sum += source.barycenter * source.weight; + weight += source.weight; + } + + target.vs = source.vs.concat(target.vs); + target.barycenter = sum / weight; + target.weight = weight; + target.i = Math.min(source.i, target.i); + source.merged = true; +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/order/sort.js + + + + + +function sort(entries, biasRight) { + var parts = partition(entries, function (entry) { + return has/* default */.Z(entry, 'barycenter'); + }); + var sortable = parts.lhs, + unsortable = lodash_es_sortBy(parts.rhs, function (entry) { + return -entry.i; + }), + vs = [], + sum = 0, + weight = 0, + vsIndex = 0; + + sortable.sort(compareWithBias(!!biasRight)); + + vsIndex = consumeUnsortable(vs, unsortable, vsIndex); + + forEach/* default */.Z(sortable, function (entry) { + vsIndex += entry.vs.length; + vs.push(entry.vs); + sum += entry.barycenter * entry.weight; + weight += entry.weight; + vsIndex = consumeUnsortable(vs, unsortable, vsIndex); + }); + + var result = { vs: flatten/* default */.Z(vs) }; + if (weight) { + result.barycenter = sum / weight; + result.weight = weight; + } + return result; +} + +function consumeUnsortable(vs, unsortable, index) { + var last; + while (unsortable.length && (last = lodash_es_last(unsortable)).i <= index) { + unsortable.pop(); + vs.push(last.vs); + index++; + } + return index; +} + +function compareWithBias(bias) { + return function (entryV, entryW) { + if (entryV.barycenter < entryW.barycenter) { + return -1; + } else if (entryV.barycenter > entryW.barycenter) { + return 1; + } + + return !bias ? entryV.i - entryW.i : entryW.i - entryV.i; + }; +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/order/sort-subgraph.js + + + + + + + +function sortSubgraph(g, v, cg, biasRight) { + var movable = g.children(v); + var node = g.node(v); + var bl = node ? node.borderLeft : undefined; + var br = node ? node.borderRight : undefined; + var subgraphs = {}; + + if (bl) { + movable = filter/* default */.Z(movable, function (w) { + return w !== bl && w !== br; + }); + } + + var barycenters = barycenter(g, movable); + forEach/* default */.Z(barycenters, function (entry) { + if (g.children(entry.v).length) { + var subgraphResult = sortSubgraph(g, entry.v, cg, biasRight); + subgraphs[entry.v] = subgraphResult; + if (has/* default */.Z(subgraphResult, 'barycenter')) { + mergeBarycenters(entry, subgraphResult); + } + } + }); + + var entries = resolveConflicts(barycenters, cg); + expandSubgraphs(entries, subgraphs); + + var result = sort(entries, biasRight); + + if (bl) { + result.vs = flatten/* default */.Z([bl, result.vs, br]); + if (g.predecessors(bl).length) { + var blPred = g.node(g.predecessors(bl)[0]), + brPred = g.node(g.predecessors(br)[0]); + if (!has/* default */.Z(result, 'barycenter')) { + result.barycenter = 0; + result.weight = 0; + } + result.barycenter = + (result.barycenter * result.weight + blPred.order + brPred.order) / (result.weight + 2); + result.weight += 2; + } + } + + return result; +} + +function expandSubgraphs(entries, subgraphs) { + forEach/* default */.Z(entries, function (entry) { + entry.vs = flatten/* default */.Z( + entry.vs.map(function (v) { + if (subgraphs[v]) { + return subgraphs[v].vs; + } + return v; + }) + ); + }); +} + +function mergeBarycenters(target, other) { + if (!isUndefined/* default */.Z(target.barycenter)) { + target.barycenter = + (target.barycenter * target.weight + other.barycenter * other.weight) / + (target.weight + other.weight); + target.weight += other.weight; + } else { + target.barycenter = other.barycenter; + target.weight = other.weight; + } +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/order/index.js + + + + + + + + + + + +/* + * Applies heuristics to minimize edge crossings in the graph and sets the best + * order solution as an order attribute on each node. + * + * Pre-conditions: + * + * 1. Graph must be DAG + * 2. Graph nodes must be objects with a "rank" attribute + * 3. Graph edges must have the "weight" attribute + * + * Post-conditions: + * + * 1. Graph nodes will have an "order" attribute based on the results of the + * algorithm. + */ +function order(g) { + var maxRank = util_maxRank(g), + downLayerGraphs = buildLayerGraphs(g, range/* default */.Z(1, maxRank + 1), 'inEdges'), + upLayerGraphs = buildLayerGraphs(g, range/* default */.Z(maxRank - 1, -1, -1), 'outEdges'); + + var layering = initOrder(g); + assignOrder(g, layering); + + var bestCC = Number.POSITIVE_INFINITY, + best; + + for (var i = 0, lastBest = 0; lastBest < 4; ++i, ++lastBest) { + sweepLayerGraphs(i % 2 ? downLayerGraphs : upLayerGraphs, i % 4 >= 2); + + layering = buildLayerMatrix(g); + var cc = crossCount(g, layering); + if (cc < bestCC) { + lastBest = 0; + best = lodash_es_cloneDeep(layering); + bestCC = cc; + } + } + + assignOrder(g, best); +} + +function buildLayerGraphs(g, ranks, relationship) { + return map/* default */.Z(ranks, function (rank) { + return buildLayerGraph(g, rank, relationship); + }); +} + +function sweepLayerGraphs(layerGraphs, biasRight) { + var cg = new graphlib/* Graph */.k(); + forEach/* default */.Z(layerGraphs, function (lg) { + var root = lg.graph().root; + var sorted = sortSubgraph(lg, root, cg, biasRight); + forEach/* default */.Z(sorted.vs, function (v, i) { + lg.node(v).order = i; + }); + addSubgraphConstraints(lg, cg, sorted.vs); + }); +} + +function assignOrder(g, layering) { + forEach/* default */.Z(layering, function (layer) { + forEach/* default */.Z(layer, function (v, i) { + g.node(v).order = i; + }); + }); +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/parent-dummy-chains.js + + + + +function parentDummyChains(g) { + var postorderNums = parent_dummy_chains_postorder(g); + + forEach/* default */.Z(g.graph().dummyChains, function (v) { + var node = g.node(v); + var edgeObj = node.edgeObj; + var pathData = findPath(g, postorderNums, edgeObj.v, edgeObj.w); + var path = pathData.path; + var lca = pathData.lca; + var pathIdx = 0; + var pathV = path[pathIdx]; + var ascending = true; + + while (v !== edgeObj.w) { + node = g.node(v); + + if (ascending) { + while ((pathV = path[pathIdx]) !== lca && g.node(pathV).maxRank < node.rank) { + pathIdx++; + } + + if (pathV === lca) { + ascending = false; + } + } + + if (!ascending) { + while ( + pathIdx < path.length - 1 && + g.node((pathV = path[pathIdx + 1])).minRank <= node.rank + ) { + pathIdx++; + } + pathV = path[pathIdx]; + } + + g.setParent(v, pathV); + v = g.successors(v)[0]; + } + }); +} + +// Find a path from v to w through the lowest common ancestor (LCA). Return the +// full path and the LCA. +function findPath(g, postorderNums, v, w) { + var vPath = []; + var wPath = []; + var low = Math.min(postorderNums[v].low, postorderNums[w].low); + var lim = Math.max(postorderNums[v].lim, postorderNums[w].lim); + var parent; + var lca; + + // Traverse up from v to find the LCA + parent = v; + do { + parent = g.parent(parent); + vPath.push(parent); + } while (parent && (postorderNums[parent].low > low || lim > postorderNums[parent].lim)); + lca = parent; + + // Traverse from w to LCA + parent = w; + while ((parent = g.parent(parent)) !== lca) { + wPath.push(parent); + } + + return { path: vPath.concat(wPath.reverse()), lca: lca }; +} + +function parent_dummy_chains_postorder(g) { + var result = {}; + var lim = 0; + + function dfs(v) { + var low = lim; + forEach/* default */.Z(g.children(v), dfs); + result[v] = { low: low, lim: lim++ }; + } + forEach/* default */.Z(g.children(), dfs); + + return result; +} + +// EXTERNAL MODULE: ./node_modules/lodash-es/_castFunction.js +var _castFunction = __webpack_require__(68882); +;// CONCATENATED MODULE: ./node_modules/lodash-es/forOwn.js + + + +/** + * Iterates over own enumerable string keyed properties of an object and + * invokes `iteratee` for each property. The iteratee is invoked with three + * arguments: (value, key, object). Iteratee functions may exit iteration + * early by explicitly returning `false`. + * + * @static + * @memberOf _ + * @since 0.3.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forOwnRight + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forOwn(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'a' then 'b' (iteration order is not guaranteed). + */ +function forOwn(object, iteratee) { + return object && (0,_baseForOwn/* default */.Z)(object, (0,_castFunction/* default */.Z)(iteratee)); +} + +/* harmony default export */ const lodash_es_forOwn = (forOwn); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseFor.js + 1 modules +var _baseFor = __webpack_require__(61395); +// EXTERNAL MODULE: ./node_modules/lodash-es/keysIn.js + 2 modules +var keysIn = __webpack_require__(65733); +;// CONCATENATED MODULE: ./node_modules/lodash-es/forIn.js + + + + +/** + * Iterates over own and inherited enumerable string keyed properties of an + * object and invokes `iteratee` for each property. The iteratee is invoked + * with three arguments: (value, key, object). Iteratee functions may exit + * iteration early by explicitly returning `false`. + * + * @static + * @memberOf _ + * @since 0.3.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forInRight + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forIn(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed). + */ +function forIn(object, iteratee) { + return object == null + ? object + : (0,_baseFor/* default */.Z)(object, (0,_castFunction/* default */.Z)(iteratee), keysIn/* default */.Z); +} + +/* harmony default export */ const lodash_es_forIn = (forIn); + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/position/bk.js + + + + +/* + * This module provides coordinate assignment based on Brandes and Köpf, "Fast + * and Simple Horizontal Coordinate Assignment." + */ + + + +/* + * Marks all edges in the graph with a type-1 conflict with the "type1Conflict" + * property. A type-1 conflict is one where a non-inner segment crosses an + * inner segment. An inner segment is an edge with both incident nodes marked + * with the "dummy" property. + * + * This algorithm scans layer by layer, starting with the second, for type-1 + * conflicts between the current layer and the previous layer. For each layer + * it scans the nodes from left to right until it reaches one that is incident + * on an inner segment. It then scans predecessors to determine if they have + * edges that cross that inner segment. At the end a final scan is done for all + * nodes on the current rank to see if they cross the last visited inner + * segment. + * + * This algorithm (safely) assumes that a dummy node will only be incident on a + * single node in the layers being scanned. + */ +function findType1Conflicts(g, layering) { + var conflicts = {}; + + function visitLayer(prevLayer, layer) { + var // last visited node in the previous layer that is incident on an inner + // segment. + k0 = 0, + // Tracks the last node in this layer scanned for crossings with a type-1 + // segment. + scanPos = 0, + prevLayerLength = prevLayer.length, + lastNode = lodash_es_last(layer); + + forEach/* default */.Z(layer, function (v, i) { + var w = findOtherInnerSegmentNode(g, v), + k1 = w ? g.node(w).order : prevLayerLength; + + if (w || v === lastNode) { + forEach/* default */.Z(layer.slice(scanPos, i + 1), function (scanNode) { + forEach/* default */.Z(g.predecessors(scanNode), function (u) { + var uLabel = g.node(u), + uPos = uLabel.order; + if ((uPos < k0 || k1 < uPos) && !(uLabel.dummy && g.node(scanNode).dummy)) { + addConflict(conflicts, u, scanNode); + } + }); + }); + // @ts-expect-error + scanPos = i + 1; + k0 = k1; + } + }); + + return layer; + } + + reduce/* default */.Z(layering, visitLayer); + return conflicts; +} + +function findType2Conflicts(g, layering) { + var conflicts = {}; + + function scan(south, southPos, southEnd, prevNorthBorder, nextNorthBorder) { + var v; + forEach/* default */.Z(range/* default */.Z(southPos, southEnd), function (i) { + v = south[i]; + if (g.node(v).dummy) { + forEach/* default */.Z(g.predecessors(v), function (u) { + var uNode = g.node(u); + if (uNode.dummy && (uNode.order < prevNorthBorder || uNode.order > nextNorthBorder)) { + addConflict(conflicts, u, v); + } + }); + } + }); + } + + function visitLayer(north, south) { + var prevNorthPos = -1, + nextNorthPos, + southPos = 0; + + forEach/* default */.Z(south, function (v, southLookahead) { + if (g.node(v).dummy === 'border') { + var predecessors = g.predecessors(v); + if (predecessors.length) { + nextNorthPos = g.node(predecessors[0]).order; + scan(south, southPos, southLookahead, prevNorthPos, nextNorthPos); + // @ts-expect-error + southPos = southLookahead; + prevNorthPos = nextNorthPos; + } + } + scan(south, southPos, south.length, nextNorthPos, north.length); + }); + + return south; + } + + reduce/* default */.Z(layering, visitLayer); + return conflicts; +} + +function findOtherInnerSegmentNode(g, v) { + if (g.node(v).dummy) { + return lodash_es_find(g.predecessors(v), function (u) { + return g.node(u).dummy; + }); + } +} + +function addConflict(conflicts, v, w) { + if (v > w) { + var tmp = v; + v = w; + w = tmp; + } + + var conflictsV = conflicts[v]; + if (!conflictsV) { + conflicts[v] = conflictsV = {}; + } + conflictsV[w] = true; +} + +function hasConflict(conflicts, v, w) { + if (v > w) { + var tmp = v; + v = w; + w = tmp; + } + return has/* default */.Z(conflicts[v], w); +} + +/* + * Try to align nodes into vertical "blocks" where possible. This algorithm + * attempts to align a node with one of its median neighbors. If the edge + * connecting a neighbor is a type-1 conflict then we ignore that possibility. + * If a previous node has already formed a block with a node after the node + * we're trying to form a block with, we also ignore that possibility - our + * blocks would be split in that scenario. + */ +function verticalAlignment(g, layering, conflicts, neighborFn) { + var root = {}, + align = {}, + pos = {}; + + // We cache the position here based on the layering because the graph and + // layering may be out of sync. The layering matrix is manipulated to + // generate different extreme alignments. + forEach/* default */.Z(layering, function (layer) { + forEach/* default */.Z(layer, function (v, order) { + root[v] = v; + align[v] = v; + pos[v] = order; + }); + }); + + forEach/* default */.Z(layering, function (layer) { + var prevIdx = -1; + forEach/* default */.Z(layer, function (v) { + var ws = neighborFn(v); + if (ws.length) { + ws = lodash_es_sortBy(ws, function (w) { + return pos[w]; + }); + var mp = (ws.length - 1) / 2; + for (var i = Math.floor(mp), il = Math.ceil(mp); i <= il; ++i) { + var w = ws[i]; + if (align[v] === v && prevIdx < pos[w] && !hasConflict(conflicts, v, w)) { + align[w] = v; + align[v] = root[v] = root[w]; + prevIdx = pos[w]; + } + } + } + }); + }); + + return { root: root, align: align }; +} + +function horizontalCompaction(g, layering, root, align, reverseSep) { + // This portion of the algorithm differs from BK due to a number of problems. + // Instead of their algorithm we construct a new block graph and do two + // sweeps. The first sweep places blocks with the smallest possible + // coordinates. The second sweep removes unused space by moving blocks to the + // greatest coordinates without violating separation. + var xs = {}, + blockG = buildBlockGraph(g, layering, root, reverseSep), + borderType = reverseSep ? 'borderLeft' : 'borderRight'; + + function iterate(setXsFunc, nextNodesFunc) { + var stack = blockG.nodes(); + var elem = stack.pop(); + var visited = {}; + while (elem) { + if (visited[elem]) { + setXsFunc(elem); + } else { + visited[elem] = true; + stack.push(elem); + stack = stack.concat(nextNodesFunc(elem)); + } + + elem = stack.pop(); + } + } + + // First pass, assign smallest coordinates + function pass1(elem) { + xs[elem] = blockG.inEdges(elem).reduce(function (acc, e) { + return Math.max(acc, xs[e.v] + blockG.edge(e)); + }, 0); + } + + // Second pass, assign greatest coordinates + function pass2(elem) { + var min = blockG.outEdges(elem).reduce(function (acc, e) { + return Math.min(acc, xs[e.w] - blockG.edge(e)); + }, Number.POSITIVE_INFINITY); + + var node = g.node(elem); + if (min !== Number.POSITIVE_INFINITY && node.borderType !== borderType) { + xs[elem] = Math.max(xs[elem], min); + } + } + + iterate(pass1, blockG.predecessors.bind(blockG)); + iterate(pass2, blockG.successors.bind(blockG)); + + // Assign x coordinates to all nodes + forEach/* default */.Z(align, function (v) { + xs[v] = xs[root[v]]; + }); + + return xs; +} + +function buildBlockGraph(g, layering, root, reverseSep) { + var blockGraph = new graphlib/* Graph */.k(), + graphLabel = g.graph(), + sepFn = sep(graphLabel.nodesep, graphLabel.edgesep, reverseSep); + + forEach/* default */.Z(layering, function (layer) { + var u; + forEach/* default */.Z(layer, function (v) { + var vRoot = root[v]; + blockGraph.setNode(vRoot); + if (u) { + var uRoot = root[u], + prevMax = blockGraph.edge(uRoot, vRoot); + blockGraph.setEdge(uRoot, vRoot, Math.max(sepFn(g, v, u), prevMax || 0)); + } + u = v; + }); + }); + + return blockGraph; +} + +/* + * Returns the alignment that has the smallest width of the given alignments. + */ +function findSmallestWidthAlignment(g, xss) { + return lodash_es_minBy(values/* default */.Z(xss), function (xs) { + var max = Number.NEGATIVE_INFINITY; + var min = Number.POSITIVE_INFINITY; + + lodash_es_forIn(xs, function (x, v) { + var halfWidth = width(g, v) / 2; + + max = Math.max(x + halfWidth, max); + min = Math.min(x - halfWidth, min); + }); + + return max - min; + }); +} + +/* + * Align the coordinates of each of the layout alignments such that + * left-biased alignments have their minimum coordinate at the same point as + * the minimum coordinate of the smallest width alignment and right-biased + * alignments have their maximum coordinate at the same point as the maximum + * coordinate of the smallest width alignment. + */ +function alignCoordinates(xss, alignTo) { + var alignToVals = values/* default */.Z(alignTo), + alignToMin = lodash_es_min(alignToVals), + alignToMax = lodash_es_max(alignToVals); + + forEach/* default */.Z(['u', 'd'], function (vert) { + forEach/* default */.Z(['l', 'r'], function (horiz) { + var alignment = vert + horiz, + xs = xss[alignment], + delta; + if (xs === alignTo) return; + + var xsVals = values/* default */.Z(xs); + delta = horiz === 'l' ? alignToMin - lodash_es_min(xsVals) : alignToMax - lodash_es_max(xsVals); + + if (delta) { + xss[alignment] = lodash_es_mapValues(xs, function (x) { + return x + delta; + }); + } + }); + }); +} + +function balance(xss, align) { + return lodash_es_mapValues(xss.ul, function (ignore, v) { + if (align) { + return xss[align.toLowerCase()][v]; + } else { + var xs = lodash_es_sortBy(map/* default */.Z(xss, v)); + return (xs[1] + xs[2]) / 2; + } + }); +} + +function positionX(g) { + var layering = buildLayerMatrix(g); + var conflicts = merge/* default */.Z(findType1Conflicts(g, layering), findType2Conflicts(g, layering)); + + var xss = {}; + var adjustedLayering; + forEach/* default */.Z(['u', 'd'], function (vert) { + adjustedLayering = vert === 'u' ? layering : values/* default */.Z(layering).reverse(); + forEach/* default */.Z(['l', 'r'], function (horiz) { + if (horiz === 'r') { + adjustedLayering = map/* default */.Z(adjustedLayering, function (inner) { + return values/* default */.Z(inner).reverse(); + }); + } + + var neighborFn = (vert === 'u' ? g.predecessors : g.successors).bind(g); + var align = verticalAlignment(g, adjustedLayering, conflicts, neighborFn); + var xs = horizontalCompaction(g, adjustedLayering, align.root, align.align, horiz === 'r'); + if (horiz === 'r') { + xs = lodash_es_mapValues(xs, function (x) { + return -x; + }); + } + xss[vert + horiz] = xs; + }); + }); + + var smallestWidth = findSmallestWidthAlignment(g, xss); + alignCoordinates(xss, smallestWidth); + return balance(xss, g.graph().align); +} + +function sep(nodeSep, edgeSep, reverseSep) { + return function (g, v, w) { + var vLabel = g.node(v); + var wLabel = g.node(w); + var sum = 0; + var delta; + + sum += vLabel.width / 2; + if (has/* default */.Z(vLabel, 'labelpos')) { + switch (vLabel.labelpos.toLowerCase()) { + case 'l': + delta = -vLabel.width / 2; + break; + case 'r': + delta = vLabel.width / 2; + break; + } + } + if (delta) { + sum += reverseSep ? delta : -delta; + } + delta = 0; + + sum += (vLabel.dummy ? edgeSep : nodeSep) / 2; + sum += (wLabel.dummy ? edgeSep : nodeSep) / 2; + + sum += wLabel.width / 2; + if (has/* default */.Z(wLabel, 'labelpos')) { + switch (wLabel.labelpos.toLowerCase()) { + case 'l': + delta = wLabel.width / 2; + break; + case 'r': + delta = -wLabel.width / 2; + break; + } + } + if (delta) { + sum += reverseSep ? delta : -delta; + } + delta = 0; + + return sum; + }; +} + +function width(g, v) { + return g.node(v).width; +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/position/index.js + + + + + + +function position(g) { + g = asNonCompoundGraph(g); + + positionY(g); + lodash_es_forOwn(positionX(g), function (x, v) { + g.node(v).x = x; + }); +} + +function positionY(g) { + var layering = buildLayerMatrix(g); + var rankSep = g.graph().ranksep; + var prevY = 0; + forEach/* default */.Z(layering, function (layer) { + var maxHeight = lodash_es_max( + map/* default */.Z(layer, function (v) { + return g.node(v).height; + }) + ); + forEach/* default */.Z(layer, function (v) { + g.node(v).y = prevY + maxHeight / 2; + }); + prevY += maxHeight + rankSep; + }); +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/layout.js + + + + + + + + + + + + + + + +function layout(g, opts) { + var time = opts && opts.debugTiming ? util_time : notime; + time('layout', function () { + var layoutGraph = time(' buildLayoutGraph', function () { + return buildLayoutGraph(g); + }); + time(' runLayout', function () { + runLayout(layoutGraph, time); + }); + time(' updateInputGraph', function () { + updateInputGraph(g, layoutGraph); + }); + }); +} + +function runLayout(g, time) { + time(' makeSpaceForEdgeLabels', function () { + makeSpaceForEdgeLabels(g); + }); + time(' removeSelfEdges', function () { + removeSelfEdges(g); + }); + time(' acyclic', function () { + run(g); + }); + time(' nestingGraph.run', function () { + nesting_graph_run(g); + }); + time(' rank', function () { + rank(asNonCompoundGraph(g)); + }); + time(' injectEdgeLabelProxies', function () { + injectEdgeLabelProxies(g); + }); + time(' removeEmptyRanks', function () { + removeEmptyRanks(g); + }); + time(' nestingGraph.cleanup', function () { + cleanup(g); + }); + time(' normalizeRanks', function () { + normalizeRanks(g); + }); + time(' assignRankMinMax', function () { + assignRankMinMax(g); + }); + time(' removeEdgeLabelProxies', function () { + removeEdgeLabelProxies(g); + }); + time(' normalize.run', function () { + normalize_run(g); + }); + time(' parentDummyChains', function () { + parentDummyChains(g); + }); + time(' addBorderSegments', function () { + addBorderSegments(g); + }); + time(' order', function () { + order(g); + }); + time(' insertSelfEdges', function () { + insertSelfEdges(g); + }); + time(' adjustCoordinateSystem', function () { + adjust(g); + }); + time(' position', function () { + position(g); + }); + time(' positionSelfEdges', function () { + positionSelfEdges(g); + }); + time(' removeBorderNodes', function () { + removeBorderNodes(g); + }); + time(' normalize.undo', function () { + normalize_undo(g); + }); + time(' fixupEdgeLabelCoords', function () { + fixupEdgeLabelCoords(g); + }); + time(' undoCoordinateSystem', function () { + coordinate_system_undo(g); + }); + time(' translateGraph', function () { + translateGraph(g); + }); + time(' assignNodeIntersects', function () { + assignNodeIntersects(g); + }); + time(' reversePoints', function () { + reversePointsForReversedEdges(g); + }); + time(' acyclic.undo', function () { + undo(g); + }); +} + +/* + * Copies final layout information from the layout graph back to the input + * graph. This process only copies whitelisted attributes from the layout graph + * to the input graph, so it serves as a good place to determine what + * attributes can influence layout. + */ +function updateInputGraph(inputGraph, layoutGraph) { + forEach/* default */.Z(inputGraph.nodes(), function (v) { + var inputLabel = inputGraph.node(v); + var layoutLabel = layoutGraph.node(v); + + if (inputLabel) { + inputLabel.x = layoutLabel.x; + inputLabel.y = layoutLabel.y; + + if (layoutGraph.children(v).length) { + inputLabel.width = layoutLabel.width; + inputLabel.height = layoutLabel.height; + } + } + }); + + forEach/* default */.Z(inputGraph.edges(), function (e) { + var inputLabel = inputGraph.edge(e); + var layoutLabel = layoutGraph.edge(e); + + inputLabel.points = layoutLabel.points; + if (has/* default */.Z(layoutLabel, 'x')) { + inputLabel.x = layoutLabel.x; + inputLabel.y = layoutLabel.y; + } + }); + + inputGraph.graph().width = layoutGraph.graph().width; + inputGraph.graph().height = layoutGraph.graph().height; +} + +var graphNumAttrs = ['nodesep', 'edgesep', 'ranksep', 'marginx', 'marginy']; +var graphDefaults = { ranksep: 50, edgesep: 20, nodesep: 50, rankdir: 'tb' }; +var graphAttrs = ['acyclicer', 'ranker', 'rankdir', 'align']; +var nodeNumAttrs = ['width', 'height']; +var nodeDefaults = { width: 0, height: 0 }; +var edgeNumAttrs = ['minlen', 'weight', 'width', 'height', 'labeloffset']; +var edgeDefaults = { + minlen: 1, + weight: 1, + width: 0, + height: 0, + labeloffset: 10, + labelpos: 'r', +}; +var edgeAttrs = ['labelpos']; + +/* + * Constructs a new graph from the input graph, which can be used for layout. + * This process copies only whitelisted attributes from the input graph to the + * layout graph. Thus this function serves as a good place to determine what + * attributes can influence layout. + */ +function buildLayoutGraph(inputGraph) { + var g = new graphlib/* Graph */.k({ multigraph: true, compound: true }); + var graph = canonicalize(inputGraph.graph()); + + g.setGraph( + merge/* default */.Z({}, graphDefaults, selectNumberAttrs(graph, graphNumAttrs), pick/* default */.Z(graph, graphAttrs)) + ); + + forEach/* default */.Z(inputGraph.nodes(), function (v) { + var node = canonicalize(inputGraph.node(v)); + g.setNode(v, defaults/* default */.Z(selectNumberAttrs(node, nodeNumAttrs), nodeDefaults)); + g.setParent(v, inputGraph.parent(v)); + }); + + forEach/* default */.Z(inputGraph.edges(), function (e) { + var edge = canonicalize(inputGraph.edge(e)); + g.setEdge( + e, + merge/* default */.Z({}, edgeDefaults, selectNumberAttrs(edge, edgeNumAttrs), pick/* default */.Z(edge, edgeAttrs)) + ); + }); + + return g; +} + +/* + * This idea comes from the Gansner paper: to account for edge labels in our + * layout we split each rank in half by doubling minlen and halving ranksep. + * Then we can place labels at these mid-points between nodes. + * + * We also add some minimal padding to the width to push the label for the edge + * away from the edge itself a bit. + */ +function makeSpaceForEdgeLabels(g) { + var graph = g.graph(); + graph.ranksep /= 2; + forEach/* default */.Z(g.edges(), function (e) { + var edge = g.edge(e); + edge.minlen *= 2; + if (edge.labelpos.toLowerCase() !== 'c') { + if (graph.rankdir === 'TB' || graph.rankdir === 'BT') { + edge.width += edge.labeloffset; + } else { + edge.height += edge.labeloffset; + } + } + }); +} + +/* + * Creates temporary dummy nodes that capture the rank in which each edge's + * label is going to, if it has one of non-zero width and height. We do this + * so that we can safely remove empty ranks while preserving balance for the + * label's position. + */ +function injectEdgeLabelProxies(g) { + forEach/* default */.Z(g.edges(), function (e) { + var edge = g.edge(e); + if (edge.width && edge.height) { + var v = g.node(e.v); + var w = g.node(e.w); + var label = { rank: (w.rank - v.rank) / 2 + v.rank, e: e }; + addDummyNode(g, 'edge-proxy', label, '_ep'); + } + }); +} + +function assignRankMinMax(g) { + var maxRank = 0; + forEach/* default */.Z(g.nodes(), function (v) { + var node = g.node(v); + if (node.borderTop) { + node.minRank = g.node(node.borderTop).rank; + node.maxRank = g.node(node.borderBottom).rank; + // @ts-expect-error + maxRank = lodash_es_max(maxRank, node.maxRank); + } + }); + g.graph().maxRank = maxRank; +} + +function removeEdgeLabelProxies(g) { + forEach/* default */.Z(g.nodes(), function (v) { + var node = g.node(v); + if (node.dummy === 'edge-proxy') { + g.edge(node.e).labelRank = node.rank; + g.removeNode(v); + } + }); +} + +function translateGraph(g) { + var minX = Number.POSITIVE_INFINITY; + var maxX = 0; + var minY = Number.POSITIVE_INFINITY; + var maxY = 0; + var graphLabel = g.graph(); + var marginX = graphLabel.marginx || 0; + var marginY = graphLabel.marginy || 0; + + function getExtremes(attrs) { + var x = attrs.x; + var y = attrs.y; + var w = attrs.width; + var h = attrs.height; + minX = Math.min(minX, x - w / 2); + maxX = Math.max(maxX, x + w / 2); + minY = Math.min(minY, y - h / 2); + maxY = Math.max(maxY, y + h / 2); + } + + forEach/* default */.Z(g.nodes(), function (v) { + getExtremes(g.node(v)); + }); + forEach/* default */.Z(g.edges(), function (e) { + var edge = g.edge(e); + if (has/* default */.Z(edge, 'x')) { + getExtremes(edge); + } + }); + + minX -= marginX; + minY -= marginY; + + forEach/* default */.Z(g.nodes(), function (v) { + var node = g.node(v); + node.x -= minX; + node.y -= minY; + }); + + forEach/* default */.Z(g.edges(), function (e) { + var edge = g.edge(e); + forEach/* default */.Z(edge.points, function (p) { + p.x -= minX; + p.y -= minY; + }); + if (has/* default */.Z(edge, 'x')) { + edge.x -= minX; + } + if (has/* default */.Z(edge, 'y')) { + edge.y -= minY; + } + }); + + graphLabel.width = maxX - minX + marginX; + graphLabel.height = maxY - minY + marginY; +} + +function assignNodeIntersects(g) { + forEach/* default */.Z(g.edges(), function (e) { + var edge = g.edge(e); + var nodeV = g.node(e.v); + var nodeW = g.node(e.w); + var p1, p2; + if (!edge.points) { + edge.points = []; + p1 = nodeW; + p2 = nodeV; + } else { + p1 = edge.points[0]; + p2 = edge.points[edge.points.length - 1]; + } + edge.points.unshift(intersectRect(nodeV, p1)); + edge.points.push(intersectRect(nodeW, p2)); + }); +} + +function fixupEdgeLabelCoords(g) { + forEach/* default */.Z(g.edges(), function (e) { + var edge = g.edge(e); + if (has/* default */.Z(edge, 'x')) { + if (edge.labelpos === 'l' || edge.labelpos === 'r') { + edge.width -= edge.labeloffset; + } + switch (edge.labelpos) { + case 'l': + edge.x -= edge.width / 2 + edge.labeloffset; + break; + case 'r': + edge.x += edge.width / 2 + edge.labeloffset; + break; + } + } + }); +} + +function reversePointsForReversedEdges(g) { + forEach/* default */.Z(g.edges(), function (e) { + var edge = g.edge(e); + if (edge.reversed) { + edge.points.reverse(); + } + }); +} + +function removeBorderNodes(g) { + forEach/* default */.Z(g.nodes(), function (v) { + if (g.children(v).length) { + var node = g.node(v); + var t = g.node(node.borderTop); + var b = g.node(node.borderBottom); + var l = g.node(lodash_es_last(node.borderLeft)); + var r = g.node(lodash_es_last(node.borderRight)); + + node.width = Math.abs(r.x - l.x); + node.height = Math.abs(b.y - t.y); + node.x = l.x + node.width / 2; + node.y = t.y + node.height / 2; + } + }); + + forEach/* default */.Z(g.nodes(), function (v) { + if (g.node(v).dummy === 'border') { + g.removeNode(v); + } + }); +} + +function removeSelfEdges(g) { + forEach/* default */.Z(g.edges(), function (e) { + if (e.v === e.w) { + var node = g.node(e.v); + if (!node.selfEdges) { + node.selfEdges = []; + } + node.selfEdges.push({ e: e, label: g.edge(e) }); + g.removeEdge(e); + } + }); +} + +function insertSelfEdges(g) { + var layers = buildLayerMatrix(g); + forEach/* default */.Z(layers, function (layer) { + var orderShift = 0; + forEach/* default */.Z(layer, function (v, i) { + var node = g.node(v); + node.order = i + orderShift; + forEach/* default */.Z(node.selfEdges, function (selfEdge) { + addDummyNode( + g, + 'selfedge', + { + width: selfEdge.label.width, + height: selfEdge.label.height, + rank: node.rank, + order: i + ++orderShift, + e: selfEdge.e, + label: selfEdge.label, + }, + '_se' + ); + }); + delete node.selfEdges; + }); + }); +} + +function positionSelfEdges(g) { + forEach/* default */.Z(g.nodes(), function (v) { + var node = g.node(v); + if (node.dummy === 'selfedge') { + var selfNode = g.node(node.e.v); + var x = selfNode.x + selfNode.width / 2; + var y = selfNode.y; + var dx = node.x - x; + var dy = selfNode.height / 2; + g.setEdge(node.e, node.label); + g.removeNode(v); + node.label.points = [ + { x: x + (2 * dx) / 3, y: y - dy }, + { x: x + (5 * dx) / 6, y: y - dy }, + { x: x + dx, y: y }, + { x: x + (5 * dx) / 6, y: y + dy }, + { x: x + (2 * dx) / 3, y: y + dy }, + ]; + node.label.x = node.x; + node.label.y = node.y; + } + }); +} + +function selectNumberAttrs(obj, attrs) { + return lodash_es_mapValues(pick/* default */.Z(obj, attrs), Number); +} + +function canonicalize(attrs) { + var newAttrs = {}; + forEach/* default */.Z(attrs, function (v, k) { + newAttrs[k.toLowerCase()] = v; + }); + return newAttrs; +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/index.js + + + + + + + + +/***/ }), + +/***/ 52544: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + k: () => (/* binding */ Graph) +}); + +// EXTERNAL MODULE: ./node_modules/lodash-es/has.js + 1 modules +var has = __webpack_require__(17452); +// EXTERNAL MODULE: ./node_modules/lodash-es/constant.js +var constant = __webpack_require__(62002); +// EXTERNAL MODULE: ./node_modules/lodash-es/isFunction.js +var isFunction = __webpack_require__(73234); +// EXTERNAL MODULE: ./node_modules/lodash-es/keys.js +var keys = __webpack_require__(17179); +// EXTERNAL MODULE: ./node_modules/lodash-es/filter.js + 1 modules +var filter = __webpack_require__(13445); +// EXTERNAL MODULE: ./node_modules/lodash-es/isEmpty.js +var isEmpty = __webpack_require__(79697); +// EXTERNAL MODULE: ./node_modules/lodash-es/forEach.js +var forEach = __webpack_require__(70870); +// EXTERNAL MODULE: ./node_modules/lodash-es/isUndefined.js +var isUndefined = __webpack_require__(49360); +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseFlatten.js + 1 modules +var _baseFlatten = __webpack_require__(10626); +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseRest.js +var _baseRest = __webpack_require__(69581); +// EXTERNAL MODULE: ./node_modules/lodash-es/_SetCache.js + 2 modules +var _SetCache = __webpack_require__(63001); +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseFindIndex.js +var _baseFindIndex = __webpack_require__(21692); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseIsNaN.js +/** + * The base implementation of `_.isNaN` without support for number objects. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. + */ +function baseIsNaN(value) { + return value !== value; +} + +/* harmony default export */ const _baseIsNaN = (baseIsNaN); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_strictIndexOf.js +/** + * A specialized version of `_.indexOf` which performs strict equality + * comparisons of values, i.e. `===`. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function strictIndexOf(array, value, fromIndex) { + var index = fromIndex - 1, + length = array.length; + + while (++index < length) { + if (array[index] === value) { + return index; + } + } + return -1; +} + +/* harmony default export */ const _strictIndexOf = (strictIndexOf); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseIndexOf.js + + + + +/** + * The base implementation of `_.indexOf` without `fromIndex` bounds checks. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function baseIndexOf(array, value, fromIndex) { + return value === value + ? _strictIndexOf(array, value, fromIndex) + : (0,_baseFindIndex/* default */.Z)(array, _baseIsNaN, fromIndex); +} + +/* harmony default export */ const _baseIndexOf = (baseIndexOf); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_arrayIncludes.js + + +/** + * A specialized version of `_.includes` for arrays without support for + * specifying an index to search from. + * + * @private + * @param {Array} [array] The array to inspect. + * @param {*} target The value to search for. + * @returns {boolean} Returns `true` if `target` is found, else `false`. + */ +function arrayIncludes(array, value) { + var length = array == null ? 0 : array.length; + return !!length && _baseIndexOf(array, value, 0) > -1; +} + +/* harmony default export */ const _arrayIncludes = (arrayIncludes); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_arrayIncludesWith.js +/** + * This function is like `arrayIncludes` except that it accepts a comparator. + * + * @private + * @param {Array} [array] The array to inspect. + * @param {*} target The value to search for. + * @param {Function} comparator The comparator invoked per element. + * @returns {boolean} Returns `true` if `target` is found, else `false`. + */ +function arrayIncludesWith(array, value, comparator) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (comparator(value, array[index])) { + return true; + } + } + return false; +} + +/* harmony default export */ const _arrayIncludesWith = (arrayIncludesWith); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_cacheHas.js +var _cacheHas = __webpack_require__(59548); +// EXTERNAL MODULE: ./node_modules/lodash-es/_Set.js +var _Set = __webpack_require__(93203); +;// CONCATENATED MODULE: ./node_modules/lodash-es/noop.js +/** + * This method returns `undefined`. + * + * @static + * @memberOf _ + * @since 2.3.0 + * @category Util + * @example + * + * _.times(2, _.noop); + * // => [undefined, undefined] + */ +function noop() { + // No operation performed. +} + +/* harmony default export */ const lodash_es_noop = (noop); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_setToArray.js +var _setToArray = __webpack_require__(6545); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_createSet.js + + + + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0; + +/** + * Creates a set object of `values`. + * + * @private + * @param {Array} values The values to add to the set. + * @returns {Object} Returns the new set. + */ +var createSet = !(_Set/* default */.Z && (1 / (0,_setToArray/* default */.Z)(new _Set/* default */.Z([,-0]))[1]) == INFINITY) ? lodash_es_noop : function(values) { + return new _Set/* default */.Z(values); +}; + +/* harmony default export */ const _createSet = (createSet); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseUniq.js + + + + + + + +/** Used as the size to enable large array optimizations. */ +var LARGE_ARRAY_SIZE = 200; + +/** + * The base implementation of `_.uniqBy` without support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new duplicate free array. + */ +function baseUniq(array, iteratee, comparator) { + var index = -1, + includes = _arrayIncludes, + length = array.length, + isCommon = true, + result = [], + seen = result; + + if (comparator) { + isCommon = false; + includes = _arrayIncludesWith; + } + else if (length >= LARGE_ARRAY_SIZE) { + var set = iteratee ? null : _createSet(array); + if (set) { + return (0,_setToArray/* default */.Z)(set); + } + isCommon = false; + includes = _cacheHas/* default */.Z; + seen = new _SetCache/* default */.Z; + } + else { + seen = iteratee ? [] : result; + } + outer: + while (++index < length) { + var value = array[index], + computed = iteratee ? iteratee(value) : value; + + value = (comparator || value !== 0) ? value : 0; + if (isCommon && computed === computed) { + var seenIndex = seen.length; + while (seenIndex--) { + if (seen[seenIndex] === computed) { + continue outer; + } + } + if (iteratee) { + seen.push(computed); + } + result.push(value); + } + else if (!includes(seen, computed, comparator)) { + if (seen !== result) { + seen.push(computed); + } + result.push(value); + } + } + return result; +} + +/* harmony default export */ const _baseUniq = (baseUniq); + +// EXTERNAL MODULE: ./node_modules/lodash-es/isArrayLikeObject.js +var isArrayLikeObject = __webpack_require__(836); +;// CONCATENATED MODULE: ./node_modules/lodash-es/union.js + + + + + +/** + * Creates an array of unique values, in order, from all given arrays using + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @returns {Array} Returns the new array of combined values. + * @example + * + * _.union([2], [1, 2]); + * // => [2, 1] + */ +var union = (0,_baseRest/* default */.Z)(function(arrays) { + return _baseUniq((0,_baseFlatten/* default */.Z)(arrays, 1, isArrayLikeObject/* default */.Z, true)); +}); + +/* harmony default export */ const lodash_es_union = (union); + +// EXTERNAL MODULE: ./node_modules/lodash-es/values.js + 1 modules +var values = __webpack_require__(34148); +// EXTERNAL MODULE: ./node_modules/lodash-es/reduce.js + 2 modules +var reduce = __webpack_require__(92344); +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/graphlib/graph.js + + +var DEFAULT_EDGE_NAME = '\x00'; +var GRAPH_NODE = '\x00'; +var EDGE_KEY_DELIM = '\x01'; + +// Implementation notes: +// +// * Node id query functions should return string ids for the nodes +// * Edge id query functions should return an "edgeObj", edge object, that is +// composed of enough information to uniquely identify an edge: {v, w, name}. +// * Internally we use an "edgeId", a stringified form of the edgeObj, to +// reference edges. This is because we need a performant way to look these +// edges up and, object properties, which have string keys, are the closest +// we're going to get to a performant hashtable in JavaScript. + +// Implementation notes: +// +// * Node id query functions should return string ids for the nodes +// * Edge id query functions should return an "edgeObj", edge object, that is +// composed of enough information to uniquely identify an edge: {v, w, name}. +// * Internally we use an "edgeId", a stringified form of the edgeObj, to +// reference edges. This is because we need a performant way to look these +// edges up and, object properties, which have string keys, are the closest +// we're going to get to a performant hashtable in JavaScript. +class Graph { + constructor(opts = {}) { + this._isDirected = has/* default */.Z(opts, 'directed') ? opts.directed : true; + this._isMultigraph = has/* default */.Z(opts, 'multigraph') ? opts.multigraph : false; + this._isCompound = has/* default */.Z(opts, 'compound') ? opts.compound : false; + + // Label for the graph itself + this._label = undefined; + + // Defaults to be set when creating a new node + this._defaultNodeLabelFn = constant/* default */.Z(undefined); + + // Defaults to be set when creating a new edge + this._defaultEdgeLabelFn = constant/* default */.Z(undefined); + + // v -> label + this._nodes = {}; + + if (this._isCompound) { + // v -> parent + this._parent = {}; + + // v -> children + this._children = {}; + this._children[GRAPH_NODE] = {}; + } + + // v -> edgeObj + this._in = {}; + + // u -> v -> Number + this._preds = {}; + + // v -> edgeObj + this._out = {}; + + // v -> w -> Number + this._sucs = {}; + + // e -> edgeObj + this._edgeObjs = {}; + + // e -> label + this._edgeLabels = {}; + } + /* === Graph functions ========= */ + isDirected() { + return this._isDirected; + } + isMultigraph() { + return this._isMultigraph; + } + isCompound() { + return this._isCompound; + } + setGraph(label) { + this._label = label; + return this; + } + graph() { + return this._label; + } + /* === Node functions ========== */ + setDefaultNodeLabel(newDefault) { + if (!isFunction/* default */.Z(newDefault)) { + newDefault = constant/* default */.Z(newDefault); + } + this._defaultNodeLabelFn = newDefault; + return this; + } + nodeCount() { + return this._nodeCount; + } + nodes() { + return keys/* default */.Z(this._nodes); + } + sources() { + var self = this; + return filter/* default */.Z(this.nodes(), function (v) { + return isEmpty/* default */.Z(self._in[v]); + }); + } + sinks() { + var self = this; + return filter/* default */.Z(this.nodes(), function (v) { + return isEmpty/* default */.Z(self._out[v]); + }); + } + setNodes(vs, value) { + var args = arguments; + var self = this; + forEach/* default */.Z(vs, function (v) { + if (args.length > 1) { + self.setNode(v, value); + } else { + self.setNode(v); + } + }); + return this; + } + setNode(v, value) { + if (has/* default */.Z(this._nodes, v)) { + if (arguments.length > 1) { + this._nodes[v] = value; + } + return this; + } + + // @ts-expect-error + this._nodes[v] = arguments.length > 1 ? value : this._defaultNodeLabelFn(v); + if (this._isCompound) { + this._parent[v] = GRAPH_NODE; + this._children[v] = {}; + this._children[GRAPH_NODE][v] = true; + } + this._in[v] = {}; + this._preds[v] = {}; + this._out[v] = {}; + this._sucs[v] = {}; + ++this._nodeCount; + return this; + } + node(v) { + return this._nodes[v]; + } + hasNode(v) { + return has/* default */.Z(this._nodes, v); + } + removeNode(v) { + var self = this; + if (has/* default */.Z(this._nodes, v)) { + var removeEdge = function (e) { + self.removeEdge(self._edgeObjs[e]); + }; + delete this._nodes[v]; + if (this._isCompound) { + this._removeFromParentsChildList(v); + delete this._parent[v]; + forEach/* default */.Z(this.children(v), function (child) { + self.setParent(child); + }); + delete this._children[v]; + } + forEach/* default */.Z(keys/* default */.Z(this._in[v]), removeEdge); + delete this._in[v]; + delete this._preds[v]; + forEach/* default */.Z(keys/* default */.Z(this._out[v]), removeEdge); + delete this._out[v]; + delete this._sucs[v]; + --this._nodeCount; + } + return this; + } + setParent(v, parent) { + if (!this._isCompound) { + throw new Error('Cannot set parent in a non-compound graph'); + } + + if (isUndefined/* default */.Z(parent)) { + parent = GRAPH_NODE; + } else { + // Coerce parent to string + parent += ''; + for (var ancestor = parent; !isUndefined/* default */.Z(ancestor); ancestor = this.parent(ancestor)) { + if (ancestor === v) { + throw new Error('Setting ' + parent + ' as parent of ' + v + ' would create a cycle'); + } + } + + this.setNode(parent); + } + + this.setNode(v); + this._removeFromParentsChildList(v); + this._parent[v] = parent; + this._children[parent][v] = true; + return this; + } + _removeFromParentsChildList(v) { + delete this._children[this._parent[v]][v]; + } + parent(v) { + if (this._isCompound) { + var parent = this._parent[v]; + if (parent !== GRAPH_NODE) { + return parent; + } + } + } + children(v) { + if (isUndefined/* default */.Z(v)) { + v = GRAPH_NODE; + } + + if (this._isCompound) { + var children = this._children[v]; + if (children) { + return keys/* default */.Z(children); + } + } else if (v === GRAPH_NODE) { + return this.nodes(); + } else if (this.hasNode(v)) { + return []; + } + } + predecessors(v) { + var predsV = this._preds[v]; + if (predsV) { + return keys/* default */.Z(predsV); + } + } + successors(v) { + var sucsV = this._sucs[v]; + if (sucsV) { + return keys/* default */.Z(sucsV); + } + } + neighbors(v) { + var preds = this.predecessors(v); + if (preds) { + return lodash_es_union(preds, this.successors(v)); + } + } + isLeaf(v) { + var neighbors; + if (this.isDirected()) { + neighbors = this.successors(v); + } else { + neighbors = this.neighbors(v); + } + return neighbors.length === 0; + } + filterNodes(filter) { + // @ts-expect-error + var copy = new this.constructor({ + directed: this._isDirected, + multigraph: this._isMultigraph, + compound: this._isCompound, + }); + + copy.setGraph(this.graph()); + + var self = this; + forEach/* default */.Z(this._nodes, function (value, v) { + if (filter(v)) { + copy.setNode(v, value); + } + }); + + forEach/* default */.Z(this._edgeObjs, function (e) { + // @ts-expect-error + if (copy.hasNode(e.v) && copy.hasNode(e.w)) { + copy.setEdge(e, self.edge(e)); + } + }); + + var parents = {}; + function findParent(v) { + var parent = self.parent(v); + if (parent === undefined || copy.hasNode(parent)) { + parents[v] = parent; + return parent; + } else if (parent in parents) { + return parents[parent]; + } else { + return findParent(parent); + } + } + + if (this._isCompound) { + forEach/* default */.Z(copy.nodes(), function (v) { + copy.setParent(v, findParent(v)); + }); + } + + return copy; + } + /* === Edge functions ========== */ + setDefaultEdgeLabel(newDefault) { + if (!isFunction/* default */.Z(newDefault)) { + newDefault = constant/* default */.Z(newDefault); + } + this._defaultEdgeLabelFn = newDefault; + return this; + } + edgeCount() { + return this._edgeCount; + } + edges() { + return values/* default */.Z(this._edgeObjs); + } + setPath(vs, value) { + var self = this; + var args = arguments; + reduce/* default */.Z(vs, function (v, w) { + if (args.length > 1) { + self.setEdge(v, w, value); + } else { + self.setEdge(v, w); + } + return w; + }); + return this; + } + /* + * setEdge(v, w, [value, [name]]) + * setEdge({ v, w, [name] }, [value]) + */ + setEdge() { + var v, w, name, value; + var valueSpecified = false; + var arg0 = arguments[0]; + + if (typeof arg0 === 'object' && arg0 !== null && 'v' in arg0) { + v = arg0.v; + w = arg0.w; + name = arg0.name; + if (arguments.length === 2) { + value = arguments[1]; + valueSpecified = true; + } + } else { + v = arg0; + w = arguments[1]; + name = arguments[3]; + if (arguments.length > 2) { + value = arguments[2]; + valueSpecified = true; + } + } + + v = '' + v; + w = '' + w; + if (!isUndefined/* default */.Z(name)) { + name = '' + name; + } + + var e = edgeArgsToId(this._isDirected, v, w, name); + if (has/* default */.Z(this._edgeLabels, e)) { + if (valueSpecified) { + this._edgeLabels[e] = value; + } + return this; + } + + if (!isUndefined/* default */.Z(name) && !this._isMultigraph) { + throw new Error('Cannot set a named edge when isMultigraph = false'); + } + + // It didn't exist, so we need to create it. + // First ensure the nodes exist. + this.setNode(v); + this.setNode(w); + + // @ts-expect-error + this._edgeLabels[e] = valueSpecified ? value : this._defaultEdgeLabelFn(v, w, name); + + var edgeObj = edgeArgsToObj(this._isDirected, v, w, name); + // Ensure we add undirected edges in a consistent way. + v = edgeObj.v; + w = edgeObj.w; + + Object.freeze(edgeObj); + this._edgeObjs[e] = edgeObj; + incrementOrInitEntry(this._preds[w], v); + incrementOrInitEntry(this._sucs[v], w); + this._in[w][e] = edgeObj; + this._out[v][e] = edgeObj; + this._edgeCount++; + return this; + } + edge(v, w, name) { + var e = + arguments.length === 1 + ? edgeObjToId(this._isDirected, arguments[0]) + : edgeArgsToId(this._isDirected, v, w, name); + return this._edgeLabels[e]; + } + hasEdge(v, w, name) { + var e = + arguments.length === 1 + ? edgeObjToId(this._isDirected, arguments[0]) + : edgeArgsToId(this._isDirected, v, w, name); + return has/* default */.Z(this._edgeLabels, e); + } + removeEdge(v, w, name) { + var e = + arguments.length === 1 + ? edgeObjToId(this._isDirected, arguments[0]) + : edgeArgsToId(this._isDirected, v, w, name); + var edge = this._edgeObjs[e]; + if (edge) { + v = edge.v; + w = edge.w; + delete this._edgeLabels[e]; + delete this._edgeObjs[e]; + decrementOrRemoveEntry(this._preds[w], v); + decrementOrRemoveEntry(this._sucs[v], w); + delete this._in[w][e]; + delete this._out[v][e]; + this._edgeCount--; + } + return this; + } + inEdges(v, u) { + var inV = this._in[v]; + if (inV) { + var edges = values/* default */.Z(inV); + if (!u) { + return edges; + } + return filter/* default */.Z(edges, function (edge) { + return edge.v === u; + }); + } + } + outEdges(v, w) { + var outV = this._out[v]; + if (outV) { + var edges = values/* default */.Z(outV); + if (!w) { + return edges; + } + return filter/* default */.Z(edges, function (edge) { + return edge.w === w; + }); + } + } + nodeEdges(v, w) { + var inEdges = this.inEdges(v, w); + if (inEdges) { + return inEdges.concat(this.outEdges(v, w)); + } + } +} + +/* Number of nodes in the graph. Should only be changed by the implementation. */ +Graph.prototype._nodeCount = 0; + +/* Number of edges in the graph. Should only be changed by the implementation. */ +Graph.prototype._edgeCount = 0; + +function incrementOrInitEntry(map, k) { + if (map[k]) { + map[k]++; + } else { + map[k] = 1; + } +} + +function decrementOrRemoveEntry(map, k) { + if (!--map[k]) { + delete map[k]; + } +} + +function edgeArgsToId(isDirected, v_, w_, name) { + var v = '' + v_; + var w = '' + w_; + if (!isDirected && v > w) { + var tmp = v; + v = w; + w = tmp; + } + return v + EDGE_KEY_DELIM + w + EDGE_KEY_DELIM + (isUndefined/* default */.Z(name) ? DEFAULT_EDGE_NAME : name); +} + +function edgeArgsToObj(isDirected, v_, w_, name) { + var v = '' + v_; + var w = '' + w_; + if (!isDirected && v > w) { + var tmp = v; + v = w; + w = tmp; + } + var edgeObj = { v: v, w: w }; + if (name) { + edgeObj.name = name; + } + return edgeObj; +} + +function edgeObjToId(isDirected, edgeObj) { + return edgeArgsToId(isDirected, edgeObj.v, edgeObj.w, edgeObj.name); +} + + +/***/ }), + +/***/ 45625: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ k: () => (/* reexport safe */ _graph_js__WEBPACK_IMPORTED_MODULE_0__.k) +/* harmony export */ }); +/* unused harmony export version */ +/* harmony import */ var _graph_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(52544); +// Includes only the "core" of graphlib + + + +const version = '2.1.9-pre'; + + + + +/***/ }), + +/***/ 63001: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + Z: () => (/* binding */ _SetCache) +}); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_MapCache.js + 14 modules +var _MapCache = __webpack_require__(37834); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_setCacheAdd.js +/** Used to stand-in for `undefined` hash values. */ +var HASH_UNDEFINED = '__lodash_hash_undefined__'; + +/** + * Adds `value` to the array cache. + * + * @private + * @name add + * @memberOf SetCache + * @alias push + * @param {*} value The value to cache. + * @returns {Object} Returns the cache instance. + */ +function setCacheAdd(value) { + this.__data__.set(value, HASH_UNDEFINED); + return this; +} + +/* harmony default export */ const _setCacheAdd = (setCacheAdd); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_setCacheHas.js +/** + * Checks if `value` is in the array cache. + * + * @private + * @name has + * @memberOf SetCache + * @param {*} value The value to search for. + * @returns {number} Returns `true` if `value` is found, else `false`. + */ +function setCacheHas(value) { + return this.__data__.has(value); +} + +/* harmony default export */ const _setCacheHas = (setCacheHas); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_SetCache.js + + + + +/** + * + * Creates an array cache object to store unique values. + * + * @private + * @constructor + * @param {Array} [values] The values to cache. + */ +function SetCache(values) { + var index = -1, + length = values == null ? 0 : values.length; + + this.__data__ = new _MapCache/* default */.Z; + while (++index < length) { + this.add(values[index]); + } +} + +// Add methods to `SetCache`. +SetCache.prototype.add = SetCache.prototype.push = _setCacheAdd; +SetCache.prototype.has = _setCacheHas; + +/* harmony default export */ const _SetCache = (SetCache); + + +/***/ }), + +/***/ 76579: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * A specialized version of `_.forEach` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns `array`. + */ +function arrayEach(array, iteratee) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (iteratee(array[index], index, array) === false) { + break; + } + } + return array; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (arrayEach); + + +/***/ }), + +/***/ 68774: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * A specialized version of `_.filter` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + */ +function arrayFilter(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index]; + if (predicate(value, index, array)) { + result[resIndex++] = value; + } + } + return result; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (arrayFilter); + + +/***/ }), + +/***/ 74073: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * A specialized version of `_.map` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + */ +function arrayMap(array, iteratee) { + var index = -1, + length = array == null ? 0 : array.length, + result = Array(length); + + while (++index < length) { + result[index] = iteratee(array[index], index, array); + } + return result; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (arrayMap); + + +/***/ }), + +/***/ 58694: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * Appends the elements of `values` to `array`. + * + * @private + * @param {Array} array The array to modify. + * @param {Array} values The values to append. + * @returns {Array} Returns `array`. + */ +function arrayPush(array, values) { + var index = -1, + length = values.length, + offset = array.length; + + while (++index < length) { + array[offset + index] = values[index]; + } + return array; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (arrayPush); + + +/***/ }), + +/***/ 48451: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + Z: () => (/* binding */ _baseClone) +}); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_Stack.js + 5 modules +var _Stack = __webpack_require__(31667); +// EXTERNAL MODULE: ./node_modules/lodash-es/_arrayEach.js +var _arrayEach = __webpack_require__(76579); +// EXTERNAL MODULE: ./node_modules/lodash-es/_assignValue.js +var _assignValue = __webpack_require__(72954); +// EXTERNAL MODULE: ./node_modules/lodash-es/_copyObject.js +var _copyObject = __webpack_require__(31899); +// EXTERNAL MODULE: ./node_modules/lodash-es/keys.js +var keys = __webpack_require__(17179); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseAssign.js + + + +/** + * The base implementation of `_.assign` without support for multiple sources + * or `customizer` functions. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @returns {Object} Returns `object`. + */ +function baseAssign(object, source) { + return object && (0,_copyObject/* default */.Z)(source, (0,keys/* default */.Z)(source), object); +} + +/* harmony default export */ const _baseAssign = (baseAssign); + +// EXTERNAL MODULE: ./node_modules/lodash-es/keysIn.js + 2 modules +var keysIn = __webpack_require__(65733); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseAssignIn.js + + + +/** + * The base implementation of `_.assignIn` without support for multiple sources + * or `customizer` functions. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @returns {Object} Returns `object`. + */ +function baseAssignIn(object, source) { + return object && (0,_copyObject/* default */.Z)(source, (0,keysIn/* default */.Z)(source), object); +} + +/* harmony default export */ const _baseAssignIn = (baseAssignIn); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_cloneBuffer.js +var _cloneBuffer = __webpack_require__(91050); +// EXTERNAL MODULE: ./node_modules/lodash-es/_copyArray.js +var _copyArray = __webpack_require__(87215); +// EXTERNAL MODULE: ./node_modules/lodash-es/_getSymbols.js +var _getSymbols = __webpack_require__(95695); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_copySymbols.js + + + +/** + * Copies own symbols of `source` to `object`. + * + * @private + * @param {Object} source The object to copy symbols from. + * @param {Object} [object={}] The object to copy symbols to. + * @returns {Object} Returns `object`. + */ +function copySymbols(source, object) { + return (0,_copyObject/* default */.Z)(source, (0,_getSymbols/* default */.Z)(source), object); +} + +/* harmony default export */ const _copySymbols = (copySymbols); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_arrayPush.js +var _arrayPush = __webpack_require__(58694); +// EXTERNAL MODULE: ./node_modules/lodash-es/_getPrototype.js +var _getPrototype = __webpack_require__(12513); +// EXTERNAL MODULE: ./node_modules/lodash-es/stubArray.js +var stubArray = __webpack_require__(60532); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_getSymbolsIn.js + + + + + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeGetSymbols = Object.getOwnPropertySymbols; + +/** + * Creates an array of the own and inherited enumerable symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of symbols. + */ +var getSymbolsIn = !nativeGetSymbols ? stubArray/* default */.Z : function(object) { + var result = []; + while (object) { + (0,_arrayPush/* default */.Z)(result, (0,_getSymbols/* default */.Z)(object)); + object = (0,_getPrototype/* default */.Z)(object); + } + return result; +}; + +/* harmony default export */ const _getSymbolsIn = (getSymbolsIn); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_copySymbolsIn.js + + + +/** + * Copies own and inherited symbols of `source` to `object`. + * + * @private + * @param {Object} source The object to copy symbols from. + * @param {Object} [object={}] The object to copy symbols to. + * @returns {Object} Returns `object`. + */ +function copySymbolsIn(source, object) { + return (0,_copyObject/* default */.Z)(source, _getSymbolsIn(source), object); +} + +/* harmony default export */ const _copySymbolsIn = (copySymbolsIn); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_getAllKeys.js +var _getAllKeys = __webpack_require__(1808); +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseGetAllKeys.js +var _baseGetAllKeys = __webpack_require__(63327); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_getAllKeysIn.js + + + + +/** + * Creates an array of own and inherited enumerable property names and + * symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names and symbols. + */ +function getAllKeysIn(object) { + return (0,_baseGetAllKeys/* default */.Z)(object, keysIn/* default */.Z, _getSymbolsIn); +} + +/* harmony default export */ const _getAllKeysIn = (getAllKeysIn); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_getTag.js + 3 modules +var _getTag = __webpack_require__(83970); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_initCloneArray.js +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var _initCloneArray_hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Initializes an array clone. + * + * @private + * @param {Array} array The array to clone. + * @returns {Array} Returns the initialized clone. + */ +function initCloneArray(array) { + var length = array.length, + result = new array.constructor(length); + + // Add properties assigned by `RegExp#exec`. + if (length && typeof array[0] == 'string' && _initCloneArray_hasOwnProperty.call(array, 'index')) { + result.index = array.index; + result.input = array.input; + } + return result; +} + +/* harmony default export */ const _initCloneArray = (initCloneArray); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_cloneArrayBuffer.js +var _cloneArrayBuffer = __webpack_require__(41884); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_cloneDataView.js + + +/** + * Creates a clone of `dataView`. + * + * @private + * @param {Object} dataView The data view to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the cloned data view. + */ +function cloneDataView(dataView, isDeep) { + var buffer = isDeep ? (0,_cloneArrayBuffer/* default */.Z)(dataView.buffer) : dataView.buffer; + return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength); +} + +/* harmony default export */ const _cloneDataView = (cloneDataView); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_cloneRegExp.js +/** Used to match `RegExp` flags from their coerced string values. */ +var reFlags = /\w*$/; + +/** + * Creates a clone of `regexp`. + * + * @private + * @param {Object} regexp The regexp to clone. + * @returns {Object} Returns the cloned regexp. + */ +function cloneRegExp(regexp) { + var result = new regexp.constructor(regexp.source, reFlags.exec(regexp)); + result.lastIndex = regexp.lastIndex; + return result; +} + +/* harmony default export */ const _cloneRegExp = (cloneRegExp); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_Symbol.js +var _Symbol = __webpack_require__(17685); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_cloneSymbol.js + + +/** Used to convert symbols to primitives and strings. */ +var symbolProto = _Symbol/* default */.Z ? _Symbol/* default */.Z.prototype : undefined, + symbolValueOf = symbolProto ? symbolProto.valueOf : undefined; + +/** + * Creates a clone of the `symbol` object. + * + * @private + * @param {Object} symbol The symbol object to clone. + * @returns {Object} Returns the cloned symbol object. + */ +function cloneSymbol(symbol) { + return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {}; +} + +/* harmony default export */ const _cloneSymbol = (cloneSymbol); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_cloneTypedArray.js +var _cloneTypedArray = __webpack_require__(12701); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_initCloneByTag.js + + + + + + +/** `Object#toString` result references. */ +var boolTag = '[object Boolean]', + dateTag = '[object Date]', + mapTag = '[object Map]', + numberTag = '[object Number]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + symbolTag = '[object Symbol]'; + +var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]', + float32Tag = '[object Float32Array]', + float64Tag = '[object Float64Array]', + int8Tag = '[object Int8Array]', + int16Tag = '[object Int16Array]', + int32Tag = '[object Int32Array]', + uint8Tag = '[object Uint8Array]', + uint8ClampedTag = '[object Uint8ClampedArray]', + uint16Tag = '[object Uint16Array]', + uint32Tag = '[object Uint32Array]'; + +/** + * Initializes an object clone based on its `toStringTag`. + * + * **Note:** This function only supports cloning values with tags of + * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`. + * + * @private + * @param {Object} object The object to clone. + * @param {string} tag The `toStringTag` of the object to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the initialized clone. + */ +function initCloneByTag(object, tag, isDeep) { + var Ctor = object.constructor; + switch (tag) { + case arrayBufferTag: + return (0,_cloneArrayBuffer/* default */.Z)(object); + + case boolTag: + case dateTag: + return new Ctor(+object); + + case dataViewTag: + return _cloneDataView(object, isDeep); + + case float32Tag: case float64Tag: + case int8Tag: case int16Tag: case int32Tag: + case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag: + return (0,_cloneTypedArray/* default */.Z)(object, isDeep); + + case mapTag: + return new Ctor; + + case numberTag: + case stringTag: + return new Ctor(object); + + case regexpTag: + return _cloneRegExp(object); + + case setTag: + return new Ctor; + + case symbolTag: + return _cloneSymbol(object); + } +} + +/* harmony default export */ const _initCloneByTag = (initCloneByTag); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_initCloneObject.js + 1 modules +var _initCloneObject = __webpack_require__(73658); +// EXTERNAL MODULE: ./node_modules/lodash-es/isArray.js +var isArray = __webpack_require__(27771); +// EXTERNAL MODULE: ./node_modules/lodash-es/isBuffer.js + 1 modules +var isBuffer = __webpack_require__(77008); +// EXTERNAL MODULE: ./node_modules/lodash-es/isObjectLike.js +var isObjectLike = __webpack_require__(18533); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseIsMap.js + + + +/** `Object#toString` result references. */ +var _baseIsMap_mapTag = '[object Map]'; + +/** + * The base implementation of `_.isMap` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a map, else `false`. + */ +function baseIsMap(value) { + return (0,isObjectLike/* default */.Z)(value) && (0,_getTag/* default */.Z)(value) == _baseIsMap_mapTag; +} + +/* harmony default export */ const _baseIsMap = (baseIsMap); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseUnary.js +var _baseUnary = __webpack_require__(21162); +// EXTERNAL MODULE: ./node_modules/lodash-es/_nodeUtil.js +var _nodeUtil = __webpack_require__(98351); +;// CONCATENATED MODULE: ./node_modules/lodash-es/isMap.js + + + + +/* Node.js helper references. */ +var nodeIsMap = _nodeUtil/* default */.Z && _nodeUtil/* default */.Z.isMap; + +/** + * Checks if `value` is classified as a `Map` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a map, else `false`. + * @example + * + * _.isMap(new Map); + * // => true + * + * _.isMap(new WeakMap); + * // => false + */ +var isMap = nodeIsMap ? (0,_baseUnary/* default */.Z)(nodeIsMap) : _baseIsMap; + +/* harmony default export */ const lodash_es_isMap = (isMap); + +// EXTERNAL MODULE: ./node_modules/lodash-es/isObject.js +var isObject = __webpack_require__(77226); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseIsSet.js + + + +/** `Object#toString` result references. */ +var _baseIsSet_setTag = '[object Set]'; + +/** + * The base implementation of `_.isSet` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a set, else `false`. + */ +function baseIsSet(value) { + return (0,isObjectLike/* default */.Z)(value) && (0,_getTag/* default */.Z)(value) == _baseIsSet_setTag; +} + +/* harmony default export */ const _baseIsSet = (baseIsSet); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/isSet.js + + + + +/* Node.js helper references. */ +var nodeIsSet = _nodeUtil/* default */.Z && _nodeUtil/* default */.Z.isSet; + +/** + * Checks if `value` is classified as a `Set` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a set, else `false`. + * @example + * + * _.isSet(new Set); + * // => true + * + * _.isSet(new WeakSet); + * // => false + */ +var isSet = nodeIsSet ? (0,_baseUnary/* default */.Z)(nodeIsSet) : _baseIsSet; + +/* harmony default export */ const lodash_es_isSet = (isSet); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseClone.js + + + + + + + + + + + + + + + + + + + + + + + +/** Used to compose bitmasks for cloning. */ +var CLONE_DEEP_FLAG = 1, + CLONE_FLAT_FLAG = 2, + CLONE_SYMBOLS_FLAG = 4; + +/** `Object#toString` result references. */ +var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + _baseClone_boolTag = '[object Boolean]', + _baseClone_dateTag = '[object Date]', + errorTag = '[object Error]', + funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + _baseClone_mapTag = '[object Map]', + _baseClone_numberTag = '[object Number]', + objectTag = '[object Object]', + _baseClone_regexpTag = '[object RegExp]', + _baseClone_setTag = '[object Set]', + _baseClone_stringTag = '[object String]', + _baseClone_symbolTag = '[object Symbol]', + weakMapTag = '[object WeakMap]'; + +var _baseClone_arrayBufferTag = '[object ArrayBuffer]', + _baseClone_dataViewTag = '[object DataView]', + _baseClone_float32Tag = '[object Float32Array]', + _baseClone_float64Tag = '[object Float64Array]', + _baseClone_int8Tag = '[object Int8Array]', + _baseClone_int16Tag = '[object Int16Array]', + _baseClone_int32Tag = '[object Int32Array]', + _baseClone_uint8Tag = '[object Uint8Array]', + _baseClone_uint8ClampedTag = '[object Uint8ClampedArray]', + _baseClone_uint16Tag = '[object Uint16Array]', + _baseClone_uint32Tag = '[object Uint32Array]'; + +/** Used to identify `toStringTag` values supported by `_.clone`. */ +var cloneableTags = {}; +cloneableTags[argsTag] = cloneableTags[arrayTag] = +cloneableTags[_baseClone_arrayBufferTag] = cloneableTags[_baseClone_dataViewTag] = +cloneableTags[_baseClone_boolTag] = cloneableTags[_baseClone_dateTag] = +cloneableTags[_baseClone_float32Tag] = cloneableTags[_baseClone_float64Tag] = +cloneableTags[_baseClone_int8Tag] = cloneableTags[_baseClone_int16Tag] = +cloneableTags[_baseClone_int32Tag] = cloneableTags[_baseClone_mapTag] = +cloneableTags[_baseClone_numberTag] = cloneableTags[objectTag] = +cloneableTags[_baseClone_regexpTag] = cloneableTags[_baseClone_setTag] = +cloneableTags[_baseClone_stringTag] = cloneableTags[_baseClone_symbolTag] = +cloneableTags[_baseClone_uint8Tag] = cloneableTags[_baseClone_uint8ClampedTag] = +cloneableTags[_baseClone_uint16Tag] = cloneableTags[_baseClone_uint32Tag] = true; +cloneableTags[errorTag] = cloneableTags[funcTag] = +cloneableTags[weakMapTag] = false; + +/** + * The base implementation of `_.clone` and `_.cloneDeep` which tracks + * traversed objects. + * + * @private + * @param {*} value The value to clone. + * @param {boolean} bitmask The bitmask flags. + * 1 - Deep clone + * 2 - Flatten inherited properties + * 4 - Clone symbols + * @param {Function} [customizer] The function to customize cloning. + * @param {string} [key] The key of `value`. + * @param {Object} [object] The parent object of `value`. + * @param {Object} [stack] Tracks traversed objects and their clone counterparts. + * @returns {*} Returns the cloned value. + */ +function baseClone(value, bitmask, customizer, key, object, stack) { + var result, + isDeep = bitmask & CLONE_DEEP_FLAG, + isFlat = bitmask & CLONE_FLAT_FLAG, + isFull = bitmask & CLONE_SYMBOLS_FLAG; + + if (customizer) { + result = object ? customizer(value, key, object, stack) : customizer(value); + } + if (result !== undefined) { + return result; + } + if (!(0,isObject/* default */.Z)(value)) { + return value; + } + var isArr = (0,isArray/* default */.Z)(value); + if (isArr) { + result = _initCloneArray(value); + if (!isDeep) { + return (0,_copyArray/* default */.Z)(value, result); + } + } else { + var tag = (0,_getTag/* default */.Z)(value), + isFunc = tag == funcTag || tag == genTag; + + if ((0,isBuffer/* default */.Z)(value)) { + return (0,_cloneBuffer/* default */.Z)(value, isDeep); + } + if (tag == objectTag || tag == argsTag || (isFunc && !object)) { + result = (isFlat || isFunc) ? {} : (0,_initCloneObject/* default */.Z)(value); + if (!isDeep) { + return isFlat + ? _copySymbolsIn(value, _baseAssignIn(result, value)) + : _copySymbols(value, _baseAssign(result, value)); + } + } else { + if (!cloneableTags[tag]) { + return object ? value : {}; + } + result = _initCloneByTag(value, tag, isDeep); + } + } + // Check for circular references and return its corresponding clone. + stack || (stack = new _Stack/* default */.Z); + var stacked = stack.get(value); + if (stacked) { + return stacked; + } + stack.set(value, result); + + if (lodash_es_isSet(value)) { + value.forEach(function(subValue) { + result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack)); + }); + } else if (lodash_es_isMap(value)) { + value.forEach(function(subValue, key) { + result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack)); + }); + } + + var keysFunc = isFull + ? (isFlat ? _getAllKeysIn : _getAllKeys/* default */.Z) + : (isFlat ? keysIn/* default */.Z : keys/* default */.Z); + + var props = isArr ? undefined : keysFunc(value); + (0,_arrayEach/* default */.Z)(props || value, function(subValue, key) { + if (props) { + key = subValue; + subValue = value[key]; + } + // Recursively populate clone (susceptible to call stack limits). + (0,_assignValue/* default */.Z)(result, key, baseClone(subValue, bitmask, customizer, key, value, stack)); + }); + return result; +} + +/* harmony default export */ const _baseClone = (baseClone); + + +/***/ }), + +/***/ 49811: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + Z: () => (/* binding */ _baseEach) +}); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseForOwn.js +var _baseForOwn = __webpack_require__(2693); +// EXTERNAL MODULE: ./node_modules/lodash-es/isArrayLike.js +var isArrayLike = __webpack_require__(50585); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_createBaseEach.js + + +/** + * Creates a `baseEach` or `baseEachRight` function. + * + * @private + * @param {Function} eachFunc The function to iterate over a collection. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ +function createBaseEach(eachFunc, fromRight) { + return function(collection, iteratee) { + if (collection == null) { + return collection; + } + if (!(0,isArrayLike/* default */.Z)(collection)) { + return eachFunc(collection, iteratee); + } + var length = collection.length, + index = fromRight ? length : -1, + iterable = Object(collection); + + while ((fromRight ? index-- : ++index < length)) { + if (iteratee(iterable[index], index, iterable) === false) { + break; + } + } + return collection; + }; +} + +/* harmony default export */ const _createBaseEach = (createBaseEach); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseEach.js + + + +/** + * The base implementation of `_.forEach` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + */ +var baseEach = _createBaseEach(_baseForOwn/* default */.Z); + +/* harmony default export */ const _baseEach = (baseEach); + + +/***/ }), + +/***/ 21692: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * The base implementation of `_.findIndex` and `_.findLastIndex` without + * support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} predicate The function invoked per iteration. + * @param {number} fromIndex The index to search from. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function baseFindIndex(array, predicate, fromIndex, fromRight) { + var length = array.length, + index = fromIndex + (fromRight ? 1 : -1); + + while ((fromRight ? index-- : ++index < length)) { + if (predicate(array[index], index, array)) { + return index; + } + } + return -1; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (baseFindIndex); + + +/***/ }), + +/***/ 10626: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + Z: () => (/* binding */ _baseFlatten) +}); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_arrayPush.js +var _arrayPush = __webpack_require__(58694); +// EXTERNAL MODULE: ./node_modules/lodash-es/_Symbol.js +var _Symbol = __webpack_require__(17685); +// EXTERNAL MODULE: ./node_modules/lodash-es/isArguments.js + 1 modules +var isArguments = __webpack_require__(29169); +// EXTERNAL MODULE: ./node_modules/lodash-es/isArray.js +var isArray = __webpack_require__(27771); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_isFlattenable.js + + + + +/** Built-in value references. */ +var spreadableSymbol = _Symbol/* default */.Z ? _Symbol/* default */.Z.isConcatSpreadable : undefined; + +/** + * Checks if `value` is a flattenable `arguments` object or array. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is flattenable, else `false`. + */ +function isFlattenable(value) { + return (0,isArray/* default */.Z)(value) || (0,isArguments/* default */.Z)(value) || + !!(spreadableSymbol && value && value[spreadableSymbol]); +} + +/* harmony default export */ const _isFlattenable = (isFlattenable); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseFlatten.js + + + +/** + * The base implementation of `_.flatten` with support for restricting flattening. + * + * @private + * @param {Array} array The array to flatten. + * @param {number} depth The maximum recursion depth. + * @param {boolean} [predicate=isFlattenable] The function invoked per iteration. + * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks. + * @param {Array} [result=[]] The initial result value. + * @returns {Array} Returns the new flattened array. + */ +function baseFlatten(array, depth, predicate, isStrict, result) { + var index = -1, + length = array.length; + + predicate || (predicate = _isFlattenable); + result || (result = []); + + while (++index < length) { + var value = array[index]; + if (depth > 0 && predicate(value)) { + if (depth > 1) { + // Recursively flatten arrays (susceptible to call stack limits). + baseFlatten(value, depth - 1, predicate, isStrict, result); + } else { + (0,_arrayPush/* default */.Z)(result, value); + } + } else if (!isStrict) { + result[result.length] = value; + } + } + return result; +} + +/* harmony default export */ const _baseFlatten = (baseFlatten); + + +/***/ }), + +/***/ 2693: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _baseFor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(61395); +/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(17179); + + + +/** + * The base implementation of `_.forOwn` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Object} Returns `object`. + */ +function baseForOwn(object, iteratee) { + return object && (0,_baseFor_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(object, iteratee, _keys_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z); +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (baseForOwn); + + +/***/ }), + +/***/ 13317: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _castPath_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(22823); +/* harmony import */ var _toKey_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(62281); + + + +/** + * The base implementation of `_.get` without support for default values. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @returns {*} Returns the resolved value. + */ +function baseGet(object, path) { + path = (0,_castPath_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(path, object); + + var index = 0, + length = path.length; + + while (object != null && index < length) { + object = object[(0,_toKey_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z)(path[index++])]; + } + return (index && index == length) ? object : undefined; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (baseGet); + + +/***/ }), + +/***/ 63327: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _arrayPush_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(58694); +/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27771); + + + +/** + * The base implementation of `getAllKeys` and `getAllKeysIn` which uses + * `keysFunc` and `symbolsFunc` to get the enumerable property names and + * symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Function} keysFunc The function to get the keys of `object`. + * @param {Function} symbolsFunc The function to get the symbols of `object`. + * @returns {Array} Returns the array of property names and symbols. + */ +function baseGetAllKeys(object, keysFunc, symbolsFunc) { + var result = keysFunc(object); + return (0,_isArray_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(object) ? result : (0,_arrayPush_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z)(result, symbolsFunc(object)); +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (baseGetAllKeys); + + +/***/ }), + +/***/ 74765: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + Z: () => (/* binding */ _baseIteratee) +}); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_Stack.js + 5 modules +var _Stack = __webpack_require__(31667); +// EXTERNAL MODULE: ./node_modules/lodash-es/_SetCache.js + 2 modules +var _SetCache = __webpack_require__(63001); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_arraySome.js +/** + * A specialized version of `_.some` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + */ +function arraySome(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (predicate(array[index], index, array)) { + return true; + } + } + return false; +} + +/* harmony default export */ const _arraySome = (arraySome); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_cacheHas.js +var _cacheHas = __webpack_require__(59548); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_equalArrays.js + + + + +/** Used to compose bitmasks for value comparisons. */ +var COMPARE_PARTIAL_FLAG = 1, + COMPARE_UNORDERED_FLAG = 2; + +/** + * A specialized version of `baseIsEqualDeep` for arrays with support for + * partial deep comparisons. + * + * @private + * @param {Array} array The array to compare. + * @param {Array} other The other array to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `array` and `other` objects. + * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. + */ +function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG, + arrLength = array.length, + othLength = other.length; + + if (arrLength != othLength && !(isPartial && othLength > arrLength)) { + return false; + } + // Check that cyclic values are equal. + var arrStacked = stack.get(array); + var othStacked = stack.get(other); + if (arrStacked && othStacked) { + return arrStacked == other && othStacked == array; + } + var index = -1, + result = true, + seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new _SetCache/* default */.Z : undefined; + + stack.set(array, other); + stack.set(other, array); + + // Ignore non-index properties. + while (++index < arrLength) { + var arrValue = array[index], + othValue = other[index]; + + if (customizer) { + var compared = isPartial + ? customizer(othValue, arrValue, index, other, array, stack) + : customizer(arrValue, othValue, index, array, other, stack); + } + if (compared !== undefined) { + if (compared) { + continue; + } + result = false; + break; + } + // Recursively compare arrays (susceptible to call stack limits). + if (seen) { + if (!_arraySome(other, function(othValue, othIndex) { + if (!(0,_cacheHas/* default */.Z)(seen, othIndex) && + (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { + return seen.push(othIndex); + } + })) { + result = false; + break; + } + } else if (!( + arrValue === othValue || + equalFunc(arrValue, othValue, bitmask, customizer, stack) + )) { + result = false; + break; + } + } + stack['delete'](array); + stack['delete'](other); + return result; +} + +/* harmony default export */ const _equalArrays = (equalArrays); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_Symbol.js +var _Symbol = __webpack_require__(17685); +// EXTERNAL MODULE: ./node_modules/lodash-es/_Uint8Array.js +var _Uint8Array = __webpack_require__(84073); +// EXTERNAL MODULE: ./node_modules/lodash-es/eq.js +var eq = __webpack_require__(79651); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_mapToArray.js +/** + * Converts `map` to its key-value pairs. + * + * @private + * @param {Object} map The map to convert. + * @returns {Array} Returns the key-value pairs. + */ +function mapToArray(map) { + var index = -1, + result = Array(map.size); + + map.forEach(function(value, key) { + result[++index] = [key, value]; + }); + return result; +} + +/* harmony default export */ const _mapToArray = (mapToArray); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_setToArray.js +var _setToArray = __webpack_require__(6545); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_equalByTag.js + + + + + + + +/** Used to compose bitmasks for value comparisons. */ +var _equalByTag_COMPARE_PARTIAL_FLAG = 1, + _equalByTag_COMPARE_UNORDERED_FLAG = 2; + +/** `Object#toString` result references. */ +var boolTag = '[object Boolean]', + dateTag = '[object Date]', + errorTag = '[object Error]', + mapTag = '[object Map]', + numberTag = '[object Number]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + symbolTag = '[object Symbol]'; + +var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]'; + +/** Used to convert symbols to primitives and strings. */ +var symbolProto = _Symbol/* default */.Z ? _Symbol/* default */.Z.prototype : undefined, + symbolValueOf = symbolProto ? symbolProto.valueOf : undefined; + +/** + * A specialized version of `baseIsEqualDeep` for comparing objects of + * the same `toStringTag`. + * + * **Note:** This function only supports comparing values with tags of + * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {string} tag The `toStringTag` of the objects to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { + switch (tag) { + case dataViewTag: + if ((object.byteLength != other.byteLength) || + (object.byteOffset != other.byteOffset)) { + return false; + } + object = object.buffer; + other = other.buffer; + + case arrayBufferTag: + if ((object.byteLength != other.byteLength) || + !equalFunc(new _Uint8Array/* default */.Z(object), new _Uint8Array/* default */.Z(other))) { + return false; + } + return true; + + case boolTag: + case dateTag: + case numberTag: + // Coerce booleans to `1` or `0` and dates to milliseconds. + // Invalid dates are coerced to `NaN`. + return (0,eq/* default */.Z)(+object, +other); + + case errorTag: + return object.name == other.name && object.message == other.message; + + case regexpTag: + case stringTag: + // Coerce regexes to strings and treat strings, primitives and objects, + // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring + // for more details. + return object == (other + ''); + + case mapTag: + var convert = _mapToArray; + + case setTag: + var isPartial = bitmask & _equalByTag_COMPARE_PARTIAL_FLAG; + convert || (convert = _setToArray/* default */.Z); + + if (object.size != other.size && !isPartial) { + return false; + } + // Assume cyclic values are equal. + var stacked = stack.get(object); + if (stacked) { + return stacked == other; + } + bitmask |= _equalByTag_COMPARE_UNORDERED_FLAG; + + // Recursively compare objects (susceptible to call stack limits). + stack.set(object, other); + var result = _equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); + stack['delete'](object); + return result; + + case symbolTag: + if (symbolValueOf) { + return symbolValueOf.call(object) == symbolValueOf.call(other); + } + } + return false; +} + +/* harmony default export */ const _equalByTag = (equalByTag); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_getAllKeys.js +var _getAllKeys = __webpack_require__(1808); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_equalObjects.js + + +/** Used to compose bitmasks for value comparisons. */ +var _equalObjects_COMPARE_PARTIAL_FLAG = 1; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var _equalObjects_hasOwnProperty = objectProto.hasOwnProperty; + +/** + * A specialized version of `baseIsEqualDeep` for objects with support for + * partial deep comparisons. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & _equalObjects_COMPARE_PARTIAL_FLAG, + objProps = (0,_getAllKeys/* default */.Z)(object), + objLength = objProps.length, + othProps = (0,_getAllKeys/* default */.Z)(other), + othLength = othProps.length; + + if (objLength != othLength && !isPartial) { + return false; + } + var index = objLength; + while (index--) { + var key = objProps[index]; + if (!(isPartial ? key in other : _equalObjects_hasOwnProperty.call(other, key))) { + return false; + } + } + // Check that cyclic values are equal. + var objStacked = stack.get(object); + var othStacked = stack.get(other); + if (objStacked && othStacked) { + return objStacked == other && othStacked == object; + } + var result = true; + stack.set(object, other); + stack.set(other, object); + + var skipCtor = isPartial; + while (++index < objLength) { + key = objProps[index]; + var objValue = object[key], + othValue = other[key]; + + if (customizer) { + var compared = isPartial + ? customizer(othValue, objValue, key, other, object, stack) + : customizer(objValue, othValue, key, object, other, stack); + } + // Recursively compare objects (susceptible to call stack limits). + if (!(compared === undefined + ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack)) + : compared + )) { + result = false; + break; + } + skipCtor || (skipCtor = key == 'constructor'); + } + if (result && !skipCtor) { + var objCtor = object.constructor, + othCtor = other.constructor; + + // Non `Object` object instances with different constructors are not equal. + if (objCtor != othCtor && + ('constructor' in object && 'constructor' in other) && + !(typeof objCtor == 'function' && objCtor instanceof objCtor && + typeof othCtor == 'function' && othCtor instanceof othCtor)) { + result = false; + } + } + stack['delete'](object); + stack['delete'](other); + return result; +} + +/* harmony default export */ const _equalObjects = (equalObjects); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_getTag.js + 3 modules +var _getTag = __webpack_require__(83970); +// EXTERNAL MODULE: ./node_modules/lodash-es/isArray.js +var isArray = __webpack_require__(27771); +// EXTERNAL MODULE: ./node_modules/lodash-es/isBuffer.js + 1 modules +var isBuffer = __webpack_require__(77008); +// EXTERNAL MODULE: ./node_modules/lodash-es/isTypedArray.js + 1 modules +var isTypedArray = __webpack_require__(18843); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseIsEqualDeep.js + + + + + + + + + +/** Used to compose bitmasks for value comparisons. */ +var _baseIsEqualDeep_COMPARE_PARTIAL_FLAG = 1; + +/** `Object#toString` result references. */ +var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + objectTag = '[object Object]'; + +/** Used for built-in method references. */ +var _baseIsEqualDeep_objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var _baseIsEqualDeep_hasOwnProperty = _baseIsEqualDeep_objectProto.hasOwnProperty; + +/** + * A specialized version of `baseIsEqual` for arrays and objects which performs + * deep comparisons and tracks traversed objects enabling objects with circular + * references to be compared. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} [stack] Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { + var objIsArr = (0,isArray/* default */.Z)(object), + othIsArr = (0,isArray/* default */.Z)(other), + objTag = objIsArr ? arrayTag : (0,_getTag/* default */.Z)(object), + othTag = othIsArr ? arrayTag : (0,_getTag/* default */.Z)(other); + + objTag = objTag == argsTag ? objectTag : objTag; + othTag = othTag == argsTag ? objectTag : othTag; + + var objIsObj = objTag == objectTag, + othIsObj = othTag == objectTag, + isSameTag = objTag == othTag; + + if (isSameTag && (0,isBuffer/* default */.Z)(object)) { + if (!(0,isBuffer/* default */.Z)(other)) { + return false; + } + objIsArr = true; + objIsObj = false; + } + if (isSameTag && !objIsObj) { + stack || (stack = new _Stack/* default */.Z); + return (objIsArr || (0,isTypedArray/* default */.Z)(object)) + ? _equalArrays(object, other, bitmask, customizer, equalFunc, stack) + : _equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); + } + if (!(bitmask & _baseIsEqualDeep_COMPARE_PARTIAL_FLAG)) { + var objIsWrapped = objIsObj && _baseIsEqualDeep_hasOwnProperty.call(object, '__wrapped__'), + othIsWrapped = othIsObj && _baseIsEqualDeep_hasOwnProperty.call(other, '__wrapped__'); + + if (objIsWrapped || othIsWrapped) { + var objUnwrapped = objIsWrapped ? object.value() : object, + othUnwrapped = othIsWrapped ? other.value() : other; + + stack || (stack = new _Stack/* default */.Z); + return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); + } + } + if (!isSameTag) { + return false; + } + stack || (stack = new _Stack/* default */.Z); + return _equalObjects(object, other, bitmask, customizer, equalFunc, stack); +} + +/* harmony default export */ const _baseIsEqualDeep = (baseIsEqualDeep); + +// EXTERNAL MODULE: ./node_modules/lodash-es/isObjectLike.js +var isObjectLike = __webpack_require__(18533); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseIsEqual.js + + + +/** + * The base implementation of `_.isEqual` which supports partial comparisons + * and tracks traversed objects. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @param {boolean} bitmask The bitmask flags. + * 1 - Unordered comparison + * 2 - Partial comparison + * @param {Function} [customizer] The function to customize comparisons. + * @param {Object} [stack] Tracks traversed `value` and `other` objects. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + */ +function baseIsEqual(value, other, bitmask, customizer, stack) { + if (value === other) { + return true; + } + if (value == null || other == null || (!(0,isObjectLike/* default */.Z)(value) && !(0,isObjectLike/* default */.Z)(other))) { + return value !== value && other !== other; + } + return _baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); +} + +/* harmony default export */ const _baseIsEqual = (baseIsEqual); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseIsMatch.js + + + +/** Used to compose bitmasks for value comparisons. */ +var _baseIsMatch_COMPARE_PARTIAL_FLAG = 1, + _baseIsMatch_COMPARE_UNORDERED_FLAG = 2; + +/** + * The base implementation of `_.isMatch` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to inspect. + * @param {Object} source The object of property values to match. + * @param {Array} matchData The property names, values, and compare flags to match. + * @param {Function} [customizer] The function to customize comparisons. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + */ +function baseIsMatch(object, source, matchData, customizer) { + var index = matchData.length, + length = index, + noCustomizer = !customizer; + + if (object == null) { + return !length; + } + object = Object(object); + while (index--) { + var data = matchData[index]; + if ((noCustomizer && data[2]) + ? data[1] !== object[data[0]] + : !(data[0] in object) + ) { + return false; + } + } + while (++index < length) { + data = matchData[index]; + var key = data[0], + objValue = object[key], + srcValue = data[1]; + + if (noCustomizer && data[2]) { + if (objValue === undefined && !(key in object)) { + return false; + } + } else { + var stack = new _Stack/* default */.Z; + if (customizer) { + var result = customizer(objValue, srcValue, key, object, source, stack); + } + if (!(result === undefined + ? _baseIsEqual(srcValue, objValue, _baseIsMatch_COMPARE_PARTIAL_FLAG | _baseIsMatch_COMPARE_UNORDERED_FLAG, customizer, stack) + : result + )) { + return false; + } + } + } + return true; +} + +/* harmony default export */ const _baseIsMatch = (baseIsMatch); + +// EXTERNAL MODULE: ./node_modules/lodash-es/isObject.js +var isObject = __webpack_require__(77226); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_isStrictComparable.js + + +/** + * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` if suitable for strict + * equality comparisons, else `false`. + */ +function isStrictComparable(value) { + return value === value && !(0,isObject/* default */.Z)(value); +} + +/* harmony default export */ const _isStrictComparable = (isStrictComparable); + +// EXTERNAL MODULE: ./node_modules/lodash-es/keys.js +var keys = __webpack_require__(17179); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_getMatchData.js + + + +/** + * Gets the property names, values, and compare flags of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the match data of `object`. + */ +function getMatchData(object) { + var result = (0,keys/* default */.Z)(object), + length = result.length; + + while (length--) { + var key = result[length], + value = object[key]; + + result[length] = [key, value, _isStrictComparable(value)]; + } + return result; +} + +/* harmony default export */ const _getMatchData = (getMatchData); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_matchesStrictComparable.js +/** + * A specialized version of `matchesProperty` for source values suitable + * for strict equality comparisons, i.e. `===`. + * + * @private + * @param {string} key The key of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ +function matchesStrictComparable(key, srcValue) { + return function(object) { + if (object == null) { + return false; + } + return object[key] === srcValue && + (srcValue !== undefined || (key in Object(object))); + }; +} + +/* harmony default export */ const _matchesStrictComparable = (matchesStrictComparable); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseMatches.js + + + + +/** + * The base implementation of `_.matches` which doesn't clone `source`. + * + * @private + * @param {Object} source The object of property values to match. + * @returns {Function} Returns the new spec function. + */ +function baseMatches(source) { + var matchData = _getMatchData(source); + if (matchData.length == 1 && matchData[0][2]) { + return _matchesStrictComparable(matchData[0][0], matchData[0][1]); + } + return function(object) { + return object === source || _baseIsMatch(object, source, matchData); + }; +} + +/* harmony default export */ const _baseMatches = (baseMatches); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseGet.js +var _baseGet = __webpack_require__(13317); +;// CONCATENATED MODULE: ./node_modules/lodash-es/get.js + + +/** + * Gets the value at `path` of `object`. If the resolved value is + * `undefined`, the `defaultValue` is returned in its place. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @param {*} [defaultValue] The value returned for `undefined` resolved values. + * @returns {*} Returns the resolved value. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.get(object, 'a[0].b.c'); + * // => 3 + * + * _.get(object, ['a', '0', 'b', 'c']); + * // => 3 + * + * _.get(object, 'a.b.c', 'default'); + * // => 'default' + */ +function get(object, path, defaultValue) { + var result = object == null ? undefined : (0,_baseGet/* default */.Z)(object, path); + return result === undefined ? defaultValue : result; +} + +/* harmony default export */ const lodash_es_get = (get); + +// EXTERNAL MODULE: ./node_modules/lodash-es/hasIn.js + 1 modules +var hasIn = __webpack_require__(75487); +// EXTERNAL MODULE: ./node_modules/lodash-es/_isKey.js +var _isKey = __webpack_require__(99365); +// EXTERNAL MODULE: ./node_modules/lodash-es/_toKey.js +var _toKey = __webpack_require__(62281); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseMatchesProperty.js + + + + + + + + +/** Used to compose bitmasks for value comparisons. */ +var _baseMatchesProperty_COMPARE_PARTIAL_FLAG = 1, + _baseMatchesProperty_COMPARE_UNORDERED_FLAG = 2; + +/** + * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`. + * + * @private + * @param {string} path The path of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ +function baseMatchesProperty(path, srcValue) { + if ((0,_isKey/* default */.Z)(path) && _isStrictComparable(srcValue)) { + return _matchesStrictComparable((0,_toKey/* default */.Z)(path), srcValue); + } + return function(object) { + var objValue = lodash_es_get(object, path); + return (objValue === undefined && objValue === srcValue) + ? (0,hasIn/* default */.Z)(object, path) + : _baseIsEqual(srcValue, objValue, _baseMatchesProperty_COMPARE_PARTIAL_FLAG | _baseMatchesProperty_COMPARE_UNORDERED_FLAG); + }; +} + +/* harmony default export */ const _baseMatchesProperty = (baseMatchesProperty); + +// EXTERNAL MODULE: ./node_modules/lodash-es/identity.js +var identity = __webpack_require__(69203); +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseProperty.js +var _baseProperty = __webpack_require__(54193); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_basePropertyDeep.js + + +/** + * A specialized version of `baseProperty` which supports deep paths. + * + * @private + * @param {Array|string} path The path of the property to get. + * @returns {Function} Returns the new accessor function. + */ +function basePropertyDeep(path) { + return function(object) { + return (0,_baseGet/* default */.Z)(object, path); + }; +} + +/* harmony default export */ const _basePropertyDeep = (basePropertyDeep); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/property.js + + + + + +/** + * Creates a function that returns the value at `path` of a given object. + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Util + * @param {Array|string} path The path of the property to get. + * @returns {Function} Returns the new accessor function. + * @example + * + * var objects = [ + * { 'a': { 'b': 2 } }, + * { 'a': { 'b': 1 } } + * ]; + * + * _.map(objects, _.property('a.b')); + * // => [2, 1] + * + * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b'); + * // => [1, 2] + */ +function property(path) { + return (0,_isKey/* default */.Z)(path) ? (0,_baseProperty/* default */.Z)((0,_toKey/* default */.Z)(path)) : _basePropertyDeep(path); +} + +/* harmony default export */ const lodash_es_property = (property); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseIteratee.js + + + + + + +/** + * The base implementation of `_.iteratee`. + * + * @private + * @param {*} [value=_.identity] The value to convert to an iteratee. + * @returns {Function} Returns the iteratee. + */ +function baseIteratee(value) { + // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9. + // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details. + if (typeof value == 'function') { + return value; + } + if (value == null) { + return identity/* default */.Z; + } + if (typeof value == 'object') { + return (0,isArray/* default */.Z)(value) + ? _baseMatchesProperty(value[0], value[1]) + : _baseMatches(value); + } + return lodash_es_property(value); +} + +/* harmony default export */ const _baseIteratee = (baseIteratee); + + +/***/ }), + +/***/ 21018: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _baseEach_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(49811); +/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50585); + + + +/** + * The base implementation of `_.map` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + */ +function baseMap(collection, iteratee) { + var index = -1, + result = (0,_isArrayLike_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(collection) ? Array(collection.length) : []; + + (0,_baseEach_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z)(collection, function(value, key, collection) { + result[++index] = iteratee(value, key, collection); + }); + return result; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (baseMap); + + +/***/ }), + +/***/ 54193: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * The base implementation of `_.property` without support for deep paths. + * + * @private + * @param {string} key The key of the property to get. + * @returns {Function} Returns the new accessor function. + */ +function baseProperty(key) { + return function(object) { + return object == null ? undefined : object[key]; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (baseProperty); + + +/***/ }), + +/***/ 59548: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * Checks if a `cache` value for `key` exists. + * + * @private + * @param {Object} cache The cache to query. + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function cacheHas(cache, key) { + return cache.has(key); +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (cacheHas); + + +/***/ }), + +/***/ 68882: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _identity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69203); + + +/** + * Casts `value` to `identity` if it's not a function. + * + * @private + * @param {*} value The value to inspect. + * @returns {Function} Returns cast function. + */ +function castFunction(value) { + return typeof value == 'function' ? value : _identity_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (castFunction); + + +/***/ }), + +/***/ 22823: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + Z: () => (/* binding */ _castPath) +}); + +// EXTERNAL MODULE: ./node_modules/lodash-es/isArray.js +var isArray = __webpack_require__(27771); +// EXTERNAL MODULE: ./node_modules/lodash-es/_isKey.js +var _isKey = __webpack_require__(99365); +// EXTERNAL MODULE: ./node_modules/lodash-es/memoize.js +var memoize = __webpack_require__(16821); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_memoizeCapped.js + + +/** Used as the maximum memoize cache size. */ +var MAX_MEMOIZE_SIZE = 500; + +/** + * A specialized version of `_.memoize` which clears the memoized function's + * cache when it exceeds `MAX_MEMOIZE_SIZE`. + * + * @private + * @param {Function} func The function to have its output memoized. + * @returns {Function} Returns the new memoized function. + */ +function memoizeCapped(func) { + var result = (0,memoize/* default */.Z)(func, function(key) { + if (cache.size === MAX_MEMOIZE_SIZE) { + cache.clear(); + } + return key; + }); + + var cache = result.cache; + return result; +} + +/* harmony default export */ const _memoizeCapped = (memoizeCapped); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_stringToPath.js + + +/** Used to match property names within property paths. */ +var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; + +/** Used to match backslashes in property paths. */ +var reEscapeChar = /\\(\\)?/g; + +/** + * Converts `string` to a property path array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the property path array. + */ +var stringToPath = _memoizeCapped(function(string) { + var result = []; + if (string.charCodeAt(0) === 46 /* . */) { + result.push(''); + } + string.replace(rePropName, function(match, number, quote, subString) { + result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match)); + }); + return result; +}); + +/* harmony default export */ const _stringToPath = (stringToPath); + +// EXTERNAL MODULE: ./node_modules/lodash-es/toString.js + 1 modules +var lodash_es_toString = __webpack_require__(50751); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_castPath.js + + + + + +/** + * Casts `value` to a path array if it's not one. + * + * @private + * @param {*} value The value to inspect. + * @param {Object} [object] The object to query keys on. + * @returns {Array} Returns the cast property path array. + */ +function castPath(value, object) { + if ((0,isArray/* default */.Z)(value)) { + return value; + } + return (0,_isKey/* default */.Z)(value, object) ? [value] : _stringToPath((0,lodash_es_toString/* default */.Z)(value)); +} + +/* harmony default export */ const _castPath = (castPath); + + +/***/ }), + +/***/ 1808: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _baseGetAllKeys_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(63327); +/* harmony import */ var _getSymbols_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(95695); +/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(17179); + + + + +/** + * Creates an array of own enumerable property names and symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names and symbols. + */ +function getAllKeys(object) { + return (0,_baseGetAllKeys_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(object, _keys_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, _getSymbols_js__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z); +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (getAllKeys); + + +/***/ }), + +/***/ 95695: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _arrayFilter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(68774); +/* harmony import */ var _stubArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(60532); + + + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Built-in value references. */ +var propertyIsEnumerable = objectProto.propertyIsEnumerable; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeGetSymbols = Object.getOwnPropertySymbols; + +/** + * Creates an array of the own enumerable symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of symbols. + */ +var getSymbols = !nativeGetSymbols ? _stubArray_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z : function(object) { + if (object == null) { + return []; + } + object = Object(object); + return (0,_arrayFilter_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z)(nativeGetSymbols(object), function(symbol) { + return propertyIsEnumerable.call(object, symbol); + }); +}; + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (getSymbols); + + +/***/ }), + +/***/ 16174: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _castPath_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(22823); +/* harmony import */ var _isArguments_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(29169); +/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(27771); +/* harmony import */ var _isIndex_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(56009); +/* harmony import */ var _isLength_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1656); +/* harmony import */ var _toKey_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(62281); + + + + + + + +/** + * Checks if `path` exists on `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @param {Function} hasFunc The function to check properties. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + */ +function hasPath(object, path, hasFunc) { + path = (0,_castPath_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(path, object); + + var index = -1, + length = path.length, + result = false; + + while (++index < length) { + var key = (0,_toKey_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z)(path[index]); + if (!(result = object != null && hasFunc(object, key))) { + break; + } + object = object[key]; + } + if (result || ++index != length) { + return result; + } + length = object == null ? 0 : object.length; + return !!length && (0,_isLength_js__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z)(length) && (0,_isIndex_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z)(key, length) && + ((0,_isArray_js__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(object) || (0,_isArguments_js__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z)(object)); +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (hasPath); + + +/***/ }), + +/***/ 99365: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27771); +/* harmony import */ var _isSymbol_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(72714); + + + +/** Used to match property names within property paths. */ +var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + reIsPlainProp = /^\w*$/; + +/** + * Checks if `value` is a property name and not a property path. + * + * @private + * @param {*} value The value to check. + * @param {Object} [object] The object to query keys on. + * @returns {boolean} Returns `true` if `value` is a property name, else `false`. + */ +function isKey(value, object) { + if ((0,_isArray_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(value)) { + return false; + } + var type = typeof value; + if (type == 'number' || type == 'symbol' || type == 'boolean' || + value == null || (0,_isSymbol_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z)(value)) { + return true; + } + return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || + (object != null && value in Object(object)); +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isKey); + + +/***/ }), + +/***/ 6545: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * Converts `set` to an array of its values. + * + * @private + * @param {Object} set The set to convert. + * @returns {Array} Returns the values. + */ +function setToArray(set) { + var index = -1, + result = Array(set.size); + + set.forEach(function(value) { + result[++index] = value; + }); + return result; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (setToArray); + + +/***/ }), + +/***/ 62281: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _isSymbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(72714); + + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0; + +/** + * Converts `value` to a string key if it's not a string or symbol. + * + * @private + * @param {*} value The value to inspect. + * @returns {string|symbol} Returns the key. + */ +function toKey(value) { + if (typeof value == 'string' || (0,_isSymbol_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(value)) { + return value; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (toKey); + + +/***/ }), + +/***/ 3688: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69581); +/* harmony import */ var _eq_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(79651); +/* harmony import */ var _isIterateeCall_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(50439); +/* harmony import */ var _keysIn_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(65733); + + + + + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Assigns own and inherited enumerable string keyed properties of source + * objects to the destination object for all destination properties that + * resolve to `undefined`. Source objects are applied from left to right. + * Once a property is set, additional values of the same property are ignored. + * + * **Note:** This method mutates `object`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.defaultsDeep + * @example + * + * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); + * // => { 'a': 1, 'b': 2 } + */ +var defaults = (0,_baseRest_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(function(object, sources) { + object = Object(object); + + var index = -1; + var length = sources.length; + var guard = length > 2 ? sources[2] : undefined; + + if (guard && (0,_isIterateeCall_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z)(sources[0], sources[1], guard)) { + length = 1; + } + + while (++index < length) { + var source = sources[index]; + var props = (0,_keysIn_js__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z)(source); + var propsIndex = -1; + var propsLength = props.length; + + while (++propsIndex < propsLength) { + var key = props[propsIndex]; + var value = object[key]; + + if (value === undefined || + ((0,_eq_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z)(value, objectProto[key]) && !hasOwnProperty.call(object, key))) { + object[key] = source[key]; + } + } + } + + return object; +}); + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (defaults); + + +/***/ }), + +/***/ 13445: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + Z: () => (/* binding */ lodash_es_filter) +}); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_arrayFilter.js +var _arrayFilter = __webpack_require__(68774); +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseEach.js + 1 modules +var _baseEach = __webpack_require__(49811); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseFilter.js + + +/** + * The base implementation of `_.filter` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + */ +function baseFilter(collection, predicate) { + var result = []; + (0,_baseEach/* default */.Z)(collection, function(value, index, collection) { + if (predicate(value, index, collection)) { + result.push(value); + } + }); + return result; +} + +/* harmony default export */ const _baseFilter = (baseFilter); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseIteratee.js + 16 modules +var _baseIteratee = __webpack_require__(74765); +// EXTERNAL MODULE: ./node_modules/lodash-es/isArray.js +var isArray = __webpack_require__(27771); +;// CONCATENATED MODULE: ./node_modules/lodash-es/filter.js + + + + + +/** + * Iterates over elements of `collection`, returning an array of all elements + * `predicate` returns truthy for. The predicate is invoked with three + * arguments: (value, index|key, collection). + * + * **Note:** Unlike `_.remove`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + * @see _.reject + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': true }, + * { 'user': 'fred', 'age': 40, 'active': false } + * ]; + * + * _.filter(users, function(o) { return !o.active; }); + * // => objects for ['fred'] + * + * // The `_.matches` iteratee shorthand. + * _.filter(users, { 'age': 36, 'active': true }); + * // => objects for ['barney'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.filter(users, ['active', false]); + * // => objects for ['fred'] + * + * // The `_.property` iteratee shorthand. + * _.filter(users, 'active'); + * // => objects for ['barney'] + * + * // Combining several predicates using `_.overEvery` or `_.overSome`. + * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]])); + * // => objects for ['fred', 'barney'] + */ +function filter(collection, predicate) { + var func = (0,isArray/* default */.Z)(collection) ? _arrayFilter/* default */.Z : _baseFilter; + return func(collection, (0,_baseIteratee/* default */.Z)(predicate, 3)); +} + +/* harmony default export */ const lodash_es_filter = (filter); + + +/***/ }), + +/***/ 27961: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _baseFlatten_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(10626); + + +/** + * Flattens `array` a single level deep. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to flatten. + * @returns {Array} Returns the new flattened array. + * @example + * + * _.flatten([1, [2, [3, [4]], 5]]); + * // => [1, 2, [3, [4]], 5] + */ +function flatten(array) { + var length = array == null ? 0 : array.length; + return length ? (0,_baseFlatten_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(array, 1) : []; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (flatten); + + +/***/ }), + +/***/ 70870: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _arrayEach_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(76579); +/* harmony import */ var _baseEach_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(49811); +/* harmony import */ var _castFunction_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(68882); +/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27771); + + + + + +/** + * Iterates over elements of `collection` and invokes `iteratee` for each element. + * The iteratee is invoked with three arguments: (value, index|key, collection). + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * **Note:** As with other "Collections" methods, objects with a "length" + * property are iterated like arrays. To avoid this behavior use `_.forIn` + * or `_.forOwn` for object iteration. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @alias each + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + * @see _.forEachRight + * @example + * + * _.forEach([1, 2], function(value) { + * console.log(value); + * }); + * // => Logs `1` then `2`. + * + * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) { + * console.log(key); + * }); + * // => Logs 'a' then 'b' (iteration order is not guaranteed). + */ +function forEach(collection, iteratee) { + var func = (0,_isArray_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(collection) ? _arrayEach_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z : _baseEach_js__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z; + return func(collection, (0,_castFunction_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z)(iteratee)); +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (forEach); + + +/***/ }), + +/***/ 17452: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + Z: () => (/* binding */ lodash_es_has) +}); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseHas.js +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var _baseHas_hasOwnProperty = objectProto.hasOwnProperty; + +/** + * The base implementation of `_.has` without support for deep paths. + * + * @private + * @param {Object} [object] The object to query. + * @param {Array|string} key The key to check. + * @returns {boolean} Returns `true` if `key` exists, else `false`. + */ +function baseHas(object, key) { + return object != null && _baseHas_hasOwnProperty.call(object, key); +} + +/* harmony default export */ const _baseHas = (baseHas); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_hasPath.js +var _hasPath = __webpack_require__(16174); +;// CONCATENATED MODULE: ./node_modules/lodash-es/has.js + + + +/** + * Checks if `path` is a direct property of `object`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + * @example + * + * var object = { 'a': { 'b': 2 } }; + * var other = _.create({ 'a': _.create({ 'b': 2 }) }); + * + * _.has(object, 'a'); + * // => true + * + * _.has(object, 'a.b'); + * // => true + * + * _.has(object, ['a', 'b']); + * // => true + * + * _.has(other, 'a'); + * // => false + */ +function has(object, path) { + return object != null && (0,_hasPath/* default */.Z)(object, path, _baseHas); +} + +/* harmony default export */ const lodash_es_has = (has); + + +/***/ }), + +/***/ 75487: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + Z: () => (/* binding */ lodash_es_hasIn) +}); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseHasIn.js +/** + * The base implementation of `_.hasIn` without support for deep paths. + * + * @private + * @param {Object} [object] The object to query. + * @param {Array|string} key The key to check. + * @returns {boolean} Returns `true` if `key` exists, else `false`. + */ +function baseHasIn(object, key) { + return object != null && key in Object(object); +} + +/* harmony default export */ const _baseHasIn = (baseHasIn); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_hasPath.js +var _hasPath = __webpack_require__(16174); +;// CONCATENATED MODULE: ./node_modules/lodash-es/hasIn.js + + + +/** + * Checks if `path` is a direct or inherited property of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + * @example + * + * var object = _.create({ 'a': _.create({ 'b': 2 }) }); + * + * _.hasIn(object, 'a'); + * // => true + * + * _.hasIn(object, 'a.b'); + * // => true + * + * _.hasIn(object, ['a', 'b']); + * // => true + * + * _.hasIn(object, 'b'); + * // => false + */ +function hasIn(object, path) { + return object != null && (0,_hasPath/* default */.Z)(object, path, _baseHasIn); +} + +/* harmony default export */ const lodash_es_hasIn = (hasIn); + + +/***/ }), + +/***/ 72714: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(93589); +/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(18533); + + + +/** `Object#toString` result references. */ +var symbolTag = '[object Symbol]'; + +/** + * Checks if `value` is classified as a `Symbol` primitive or object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. + * @example + * + * _.isSymbol(Symbol.iterator); + * // => true + * + * _.isSymbol('abc'); + * // => false + */ +function isSymbol(value) { + return typeof value == 'symbol' || + ((0,_isObjectLike_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(value) && (0,_baseGetTag_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z)(value) == symbolTag); +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isSymbol); + + +/***/ }), + +/***/ 49360: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * Checks if `value` is `undefined`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`. + * @example + * + * _.isUndefined(void 0); + * // => true + * + * _.isUndefined(null); + * // => false + */ +function isUndefined(value) { + return value === undefined; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isUndefined); + + +/***/ }), + +/***/ 17179: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _arrayLikeKeys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(54023); +/* harmony import */ var _baseKeys_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(39473); +/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50585); + + + + +/** + * Creates an array of the own enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. See the + * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * for more details. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keys(new Foo); + * // => ['a', 'b'] (iteration order is not guaranteed) + * + * _.keys('hi'); + * // => ['0', '1'] + */ +function keys(object) { + return (0,_isArrayLike_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(object) ? (0,_arrayLikeKeys_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z)(object) : (0,_baseKeys_js__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z)(object); +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (keys); + + +/***/ }), + +/***/ 43836: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(74073); +/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(74765); +/* harmony import */ var _baseMap_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(21018); +/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27771); + + + + + +/** + * Creates an array of values by running each element in `collection` thru + * `iteratee`. The iteratee is invoked with three arguments: + * (value, index|key, collection). + * + * Many lodash methods are guarded to work as iteratees for methods like + * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`. + * + * The guarded methods are: + * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`, + * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`, + * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`, + * `template`, `trim`, `trimEnd`, `trimStart`, and `words` + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + * @example + * + * function square(n) { + * return n * n; + * } + * + * _.map([4, 8], square); + * // => [16, 64] + * + * _.map({ 'a': 4, 'b': 8 }, square); + * // => [16, 64] (iteration order is not guaranteed) + * + * var users = [ + * { 'user': 'barney' }, + * { 'user': 'fred' } + * ]; + * + * // The `_.property` iteratee shorthand. + * _.map(users, 'user'); + * // => ['barney', 'fred'] + */ +function map(collection, iteratee) { + var func = (0,_isArray_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(collection) ? _arrayMap_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z : _baseMap_js__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z; + return func(collection, (0,_baseIteratee_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z)(iteratee, 3)); +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (map); + + +/***/ }), + +/***/ 61666: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + Z: () => (/* binding */ lodash_es_pick) +}); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseGet.js +var _baseGet = __webpack_require__(13317); +// EXTERNAL MODULE: ./node_modules/lodash-es/_assignValue.js +var _assignValue = __webpack_require__(72954); +// EXTERNAL MODULE: ./node_modules/lodash-es/_castPath.js + 2 modules +var _castPath = __webpack_require__(22823); +// EXTERNAL MODULE: ./node_modules/lodash-es/_isIndex.js +var _isIndex = __webpack_require__(56009); +// EXTERNAL MODULE: ./node_modules/lodash-es/isObject.js +var isObject = __webpack_require__(77226); +// EXTERNAL MODULE: ./node_modules/lodash-es/_toKey.js +var _toKey = __webpack_require__(62281); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseSet.js + + + + + + +/** + * The base implementation of `_.set`. + * + * @private + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {*} value The value to set. + * @param {Function} [customizer] The function to customize path creation. + * @returns {Object} Returns `object`. + */ +function baseSet(object, path, value, customizer) { + if (!(0,isObject/* default */.Z)(object)) { + return object; + } + path = (0,_castPath/* default */.Z)(path, object); + + var index = -1, + length = path.length, + lastIndex = length - 1, + nested = object; + + while (nested != null && ++index < length) { + var key = (0,_toKey/* default */.Z)(path[index]), + newValue = value; + + if (key === '__proto__' || key === 'constructor' || key === 'prototype') { + return object; + } + + if (index != lastIndex) { + var objValue = nested[key]; + newValue = customizer ? customizer(objValue, key, nested) : undefined; + if (newValue === undefined) { + newValue = (0,isObject/* default */.Z)(objValue) + ? objValue + : ((0,_isIndex/* default */.Z)(path[index + 1]) ? [] : {}); + } + } + (0,_assignValue/* default */.Z)(nested, key, newValue); + nested = nested[key]; + } + return object; +} + +/* harmony default export */ const _baseSet = (baseSet); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_basePickBy.js + + + + +/** + * The base implementation of `_.pickBy` without support for iteratee shorthands. + * + * @private + * @param {Object} object The source object. + * @param {string[]} paths The property paths to pick. + * @param {Function} predicate The function invoked per property. + * @returns {Object} Returns the new object. + */ +function basePickBy(object, paths, predicate) { + var index = -1, + length = paths.length, + result = {}; + + while (++index < length) { + var path = paths[index], + value = (0,_baseGet/* default */.Z)(object, path); + + if (predicate(value, path)) { + _baseSet(result, (0,_castPath/* default */.Z)(path, object), value); + } + } + return result; +} + +/* harmony default export */ const _basePickBy = (basePickBy); + +// EXTERNAL MODULE: ./node_modules/lodash-es/hasIn.js + 1 modules +var hasIn = __webpack_require__(75487); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_basePick.js + + + +/** + * The base implementation of `_.pick` without support for individual + * property identifiers. + * + * @private + * @param {Object} object The source object. + * @param {string[]} paths The property paths to pick. + * @returns {Object} Returns the new object. + */ +function basePick(object, paths) { + return _basePickBy(object, paths, function(value, path) { + return (0,hasIn/* default */.Z)(object, path); + }); +} + +/* harmony default export */ const _basePick = (basePick); + +// EXTERNAL MODULE: ./node_modules/lodash-es/flatten.js +var flatten = __webpack_require__(27961); +// EXTERNAL MODULE: ./node_modules/lodash-es/_overRest.js + 1 modules +var _overRest = __webpack_require__(81211); +// EXTERNAL MODULE: ./node_modules/lodash-es/_setToString.js + 2 modules +var _setToString = __webpack_require__(27227); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_flatRest.js + + + + +/** + * A specialized version of `baseRest` which flattens the rest array. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @returns {Function} Returns the new function. + */ +function flatRest(func) { + return (0,_setToString/* default */.Z)((0,_overRest/* default */.Z)(func, undefined, flatten/* default */.Z), func + ''); +} + +/* harmony default export */ const _flatRest = (flatRest); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/pick.js + + + +/** + * Creates an object composed of the picked `object` properties. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The source object. + * @param {...(string|string[])} [paths] The property paths to pick. + * @returns {Object} Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.pick(object, ['a', 'c']); + * // => { 'a': 1, 'c': 3 } + */ +var pick = _flatRest(function(object, paths) { + return object == null ? {} : _basePick(object, paths); +}); + +/* harmony default export */ const lodash_es_pick = (pick); + + +/***/ }), + +/***/ 74379: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + Z: () => (/* binding */ lodash_es_range) +}); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseRange.js +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeCeil = Math.ceil, + nativeMax = Math.max; + +/** + * The base implementation of `_.range` and `_.rangeRight` which doesn't + * coerce arguments. + * + * @private + * @param {number} start The start of the range. + * @param {number} end The end of the range. + * @param {number} step The value to increment or decrement by. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Array} Returns the range of numbers. + */ +function baseRange(start, end, step, fromRight) { + var index = -1, + length = nativeMax(nativeCeil((end - start) / (step || 1)), 0), + result = Array(length); + + while (length--) { + result[fromRight ? length : ++index] = start; + start += step; + } + return result; +} + +/* harmony default export */ const _baseRange = (baseRange); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_isIterateeCall.js +var _isIterateeCall = __webpack_require__(50439); +// EXTERNAL MODULE: ./node_modules/lodash-es/toFinite.js + 3 modules +var toFinite = __webpack_require__(94099); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_createRange.js + + + + +/** + * Creates a `_.range` or `_.rangeRight` function. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new range function. + */ +function createRange(fromRight) { + return function(start, end, step) { + if (step && typeof step != 'number' && (0,_isIterateeCall/* default */.Z)(start, end, step)) { + end = step = undefined; + } + // Ensure the sign of `-0` is preserved. + start = (0,toFinite/* default */.Z)(start); + if (end === undefined) { + end = start; + start = 0; + } else { + end = (0,toFinite/* default */.Z)(end); + } + step = step === undefined ? (start < end ? 1 : -1) : (0,toFinite/* default */.Z)(step); + return _baseRange(start, end, step, fromRight); + }; +} + +/* harmony default export */ const _createRange = (createRange); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/range.js + + +/** + * Creates an array of numbers (positive and/or negative) progressing from + * `start` up to, but not including, `end`. A step of `-1` is used if a negative + * `start` is specified without an `end` or `step`. If `end` is not specified, + * it's set to `start` with `start` then set to `0`. + * + * **Note:** JavaScript follows the IEEE-754 standard for resolving + * floating-point values which can produce unexpected results. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {number} [start=0] The start of the range. + * @param {number} end The end of the range. + * @param {number} [step=1] The value to increment or decrement by. + * @returns {Array} Returns the range of numbers. + * @see _.inRange, _.rangeRight + * @example + * + * _.range(4); + * // => [0, 1, 2, 3] + * + * _.range(-4); + * // => [0, -1, -2, -3] + * + * _.range(1, 5); + * // => [1, 2, 3, 4] + * + * _.range(0, 20, 5); + * // => [0, 5, 10, 15] + * + * _.range(0, -4, -1); + * // => [0, -1, -2, -3] + * + * _.range(1, 4, 0); + * // => [1, 1, 1] + * + * _.range(0); + * // => [] + */ +var range = _createRange(); + +/* harmony default export */ const lodash_es_range = (range); + + +/***/ }), + +/***/ 92344: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + Z: () => (/* binding */ lodash_es_reduce) +}); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_arrayReduce.js +/** + * A specialized version of `_.reduce` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @param {boolean} [initAccum] Specify using the first element of `array` as + * the initial value. + * @returns {*} Returns the accumulated value. + */ +function arrayReduce(array, iteratee, accumulator, initAccum) { + var index = -1, + length = array == null ? 0 : array.length; + + if (initAccum && length) { + accumulator = array[++index]; + } + while (++index < length) { + accumulator = iteratee(accumulator, array[index], index, array); + } + return accumulator; +} + +/* harmony default export */ const _arrayReduce = (arrayReduce); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseEach.js + 1 modules +var _baseEach = __webpack_require__(49811); +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseIteratee.js + 16 modules +var _baseIteratee = __webpack_require__(74765); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseReduce.js +/** + * The base implementation of `_.reduce` and `_.reduceRight`, without support + * for iteratee shorthands, which iterates over `collection` using `eachFunc`. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} accumulator The initial value. + * @param {boolean} initAccum Specify using the first or last element of + * `collection` as the initial value. + * @param {Function} eachFunc The function to iterate over `collection`. + * @returns {*} Returns the accumulated value. + */ +function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) { + eachFunc(collection, function(value, index, collection) { + accumulator = initAccum + ? (initAccum = false, value) + : iteratee(accumulator, value, index, collection); + }); + return accumulator; +} + +/* harmony default export */ const _baseReduce = (baseReduce); + +// EXTERNAL MODULE: ./node_modules/lodash-es/isArray.js +var isArray = __webpack_require__(27771); +;// CONCATENATED MODULE: ./node_modules/lodash-es/reduce.js + + + + + + +/** + * Reduces `collection` to a value which is the accumulated result of running + * each element in `collection` thru `iteratee`, where each successive + * invocation is supplied the return value of the previous. If `accumulator` + * is not given, the first element of `collection` is used as the initial + * value. The iteratee is invoked with four arguments: + * (accumulator, value, index|key, collection). + * + * Many lodash methods are guarded to work as iteratees for methods like + * `_.reduce`, `_.reduceRight`, and `_.transform`. + * + * The guarded methods are: + * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`, + * and `sortBy` + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @returns {*} Returns the accumulated value. + * @see _.reduceRight + * @example + * + * _.reduce([1, 2], function(sum, n) { + * return sum + n; + * }, 0); + * // => 3 + * + * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { + * (result[value] || (result[value] = [])).push(key); + * return result; + * }, {}); + * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed) + */ +function reduce(collection, iteratee, accumulator) { + var func = (0,isArray/* default */.Z)(collection) ? _arrayReduce : _baseReduce, + initAccum = arguments.length < 3; + + return func(collection, (0,_baseIteratee/* default */.Z)(iteratee, 4), accumulator, initAccum, _baseEach/* default */.Z); +} + +/* harmony default export */ const lodash_es_reduce = (reduce); + + +/***/ }), + +/***/ 60532: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * This method returns a new empty array. + * + * @static + * @memberOf _ + * @since 4.13.0 + * @category Util + * @returns {Array} Returns the new empty array. + * @example + * + * var arrays = _.times(2, _.stubArray); + * + * console.log(arrays); + * // => [[], []] + * + * console.log(arrays[0] === arrays[1]); + * // => false + */ +function stubArray() { + return []; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (stubArray); + + +/***/ }), + +/***/ 94099: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + Z: () => (/* binding */ lodash_es_toFinite) +}); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_trimmedEndIndex.js +/** Used to match a single whitespace character. */ +var reWhitespace = /\s/; + +/** + * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace + * character of `string`. + * + * @private + * @param {string} string The string to inspect. + * @returns {number} Returns the index of the last non-whitespace character. + */ +function trimmedEndIndex(string) { + var index = string.length; + + while (index-- && reWhitespace.test(string.charAt(index))) {} + return index; +} + +/* harmony default export */ const _trimmedEndIndex = (trimmedEndIndex); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseTrim.js + + +/** Used to match leading whitespace. */ +var reTrimStart = /^\s+/; + +/** + * The base implementation of `_.trim`. + * + * @private + * @param {string} string The string to trim. + * @returns {string} Returns the trimmed string. + */ +function baseTrim(string) { + return string + ? string.slice(0, _trimmedEndIndex(string) + 1).replace(reTrimStart, '') + : string; +} + +/* harmony default export */ const _baseTrim = (baseTrim); + +// EXTERNAL MODULE: ./node_modules/lodash-es/isObject.js +var isObject = __webpack_require__(77226); +// EXTERNAL MODULE: ./node_modules/lodash-es/isSymbol.js +var isSymbol = __webpack_require__(72714); +;// CONCATENATED MODULE: ./node_modules/lodash-es/toNumber.js + + + + +/** Used as references for various `Number` constants. */ +var NAN = 0 / 0; + +/** Used to detect bad signed hexadecimal string values. */ +var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; + +/** Used to detect binary string values. */ +var reIsBinary = /^0b[01]+$/i; + +/** Used to detect octal string values. */ +var reIsOctal = /^0o[0-7]+$/i; + +/** Built-in method references without a dependency on `root`. */ +var freeParseInt = parseInt; + +/** + * Converts `value` to a number. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to process. + * @returns {number} Returns the number. + * @example + * + * _.toNumber(3.2); + * // => 3.2 + * + * _.toNumber(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toNumber(Infinity); + * // => Infinity + * + * _.toNumber('3.2'); + * // => 3.2 + */ +function toNumber(value) { + if (typeof value == 'number') { + return value; + } + if ((0,isSymbol/* default */.Z)(value)) { + return NAN; + } + if ((0,isObject/* default */.Z)(value)) { + var other = typeof value.valueOf == 'function' ? value.valueOf() : value; + value = (0,isObject/* default */.Z)(other) ? (other + '') : other; + } + if (typeof value != 'string') { + return value === 0 ? value : +value; + } + value = _baseTrim(value); + var isBinary = reIsBinary.test(value); + return (isBinary || reIsOctal.test(value)) + ? freeParseInt(value.slice(2), isBinary ? 2 : 8) + : (reIsBadHex.test(value) ? NAN : +value); +} + +/* harmony default export */ const lodash_es_toNumber = (toNumber); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/toFinite.js + + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0, + MAX_INTEGER = 1.7976931348623157e+308; + +/** + * Converts `value` to a finite number. + * + * @static + * @memberOf _ + * @since 4.12.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted number. + * @example + * + * _.toFinite(3.2); + * // => 3.2 + * + * _.toFinite(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toFinite(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toFinite('3.2'); + * // => 3.2 + */ +function toFinite(value) { + if (!value) { + return value === 0 ? value : 0; + } + value = lodash_es_toNumber(value); + if (value === INFINITY || value === -INFINITY) { + var sign = (value < 0 ? -1 : 1); + return sign * MAX_INTEGER; + } + return value === value ? value : 0; +} + +/* harmony default export */ const lodash_es_toFinite = (toFinite); + + +/***/ }), + +/***/ 50751: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + Z: () => (/* binding */ lodash_es_toString) +}); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_Symbol.js +var _Symbol = __webpack_require__(17685); +// EXTERNAL MODULE: ./node_modules/lodash-es/_arrayMap.js +var _arrayMap = __webpack_require__(74073); +// EXTERNAL MODULE: ./node_modules/lodash-es/isArray.js +var isArray = __webpack_require__(27771); +// EXTERNAL MODULE: ./node_modules/lodash-es/isSymbol.js +var isSymbol = __webpack_require__(72714); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseToString.js + + + + + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0; + +/** Used to convert symbols to primitives and strings. */ +var symbolProto = _Symbol/* default */.Z ? _Symbol/* default */.Z.prototype : undefined, + symbolToString = symbolProto ? symbolProto.toString : undefined; + +/** + * The base implementation of `_.toString` which doesn't convert nullish + * values to empty strings. + * + * @private + * @param {*} value The value to process. + * @returns {string} Returns the string. + */ +function baseToString(value) { + // Exit early for strings to avoid a performance hit in some environments. + if (typeof value == 'string') { + return value; + } + if ((0,isArray/* default */.Z)(value)) { + // Recursively convert values (susceptible to call stack limits). + return (0,_arrayMap/* default */.Z)(value, baseToString) + ''; + } + if ((0,isSymbol/* default */.Z)(value)) { + return symbolToString ? symbolToString.call(value) : ''; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; +} + +/* harmony default export */ const _baseToString = (baseToString); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/toString.js + + +/** + * Converts `value` to a string. An empty string is returned for `null` + * and `undefined` values. The sign of `-0` is preserved. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + * @example + * + * _.toString(null); + * // => '' + * + * _.toString(-0); + * // => '-0' + * + * _.toString([1, 2, 3]); + * // => '1,2,3' + */ +function toString_toString(value) { + return value == null ? '' : _baseToString(value); +} + +/* harmony default export */ const lodash_es_toString = (toString_toString); + + +/***/ }), + +/***/ 66749: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50751); + + +/** Used to generate unique IDs. */ +var idCounter = 0; + +/** + * Generates a unique ID. If `prefix` is given, the ID is appended to it. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {string} [prefix=''] The value to prefix the ID with. + * @returns {string} Returns the unique ID. + * @example + * + * _.uniqueId('contact_'); + * // => 'contact_104' + * + * _.uniqueId(); + * // => '105' + */ +function uniqueId(prefix) { + var id = ++idCounter; + return (0,_toString_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(prefix) + id; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (uniqueId); + + +/***/ }), + +/***/ 34148: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + Z: () => (/* binding */ lodash_es_values) +}); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_arrayMap.js +var _arrayMap = __webpack_require__(74073); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseValues.js + + +/** + * The base implementation of `_.values` and `_.valuesIn` which creates an + * array of `object` property values corresponding to the property names + * of `props`. + * + * @private + * @param {Object} object The object to query. + * @param {Array} props The property names to get values for. + * @returns {Object} Returns the array of property values. + */ +function baseValues(object, props) { + return (0,_arrayMap/* default */.Z)(props, function(key) { + return object[key]; + }); +} + +/* harmony default export */ const _baseValues = (baseValues); + +// EXTERNAL MODULE: ./node_modules/lodash-es/keys.js +var keys = __webpack_require__(17179); +;// CONCATENATED MODULE: ./node_modules/lodash-es/values.js + + + +/** + * Creates an array of the own enumerable string keyed property values of `object`. + * + * **Note:** Non-object values are coerced to objects. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property values. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.values(new Foo); + * // => [1, 2] (iteration order is not guaranteed) + * + * _.values('hi'); + * // => ['h', 'i'] + */ +function values(object) { + return object == null ? [] : _baseValues(object, (0,keys/* default */.Z)(object)); +} + +/* harmony default export */ const lodash_es_values = (values); + + +/***/ }), + +/***/ 41132: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + diagram: () => (/* binding */ diagram) +}); + +// EXTERNAL MODULE: ./node_modules/mermaid/dist/mermaid-768dc893.js + 8 modules +var mermaid_768dc893 = __webpack_require__(81581); +// EXTERNAL MODULE: ./node_modules/dagre-d3-es/src/graphlib/index.js +var graphlib = __webpack_require__(45625); +// EXTERNAL MODULE: ./node_modules/d3/src/index.js + 195 modules +var src = __webpack_require__(38077); +// EXTERNAL MODULE: ./node_modules/dagre-d3-es/src/dagre/index.js + 64 modules +var dagre = __webpack_require__(41644); +;// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-node/stringify.js + +/** + * Convert array of 16 byte values to UUID string format of the form: + * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX + */ + +const byteToHex = []; + +for (let i = 0; i < 256; ++i) { + byteToHex.push((i + 0x100).toString(16).slice(1)); +} + +function unsafeStringify(arr, offset = 0) { + // Note: Be careful editing this code! It's been tuned for performance + // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434 + return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]; +} + +function stringify(arr, offset = 0) { + const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one + // of the following: + // - One or more input array values don't map to a hex octet (leading to + // "undefined" in the uuid) + // - Invalid input values for the RFC `version` or `variant` fields + + if (!validate(uuid)) { + throw TypeError('Stringified UUID is invalid'); + } + + return uuid; +} + +/* harmony default export */ const esm_node_stringify = ((/* unused pure expression or super */ null && (stringify))); +;// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-node/regex.js +/* harmony default export */ const regex = (/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i); +;// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-node/validate.js + + +function validate_validate(uuid) { + return typeof uuid === 'string' && regex.test(uuid); +} + +/* harmony default export */ const esm_node_validate = (validate_validate); +;// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-node/parse.js + + +function parse(uuid) { + if (!esm_node_validate(uuid)) { + throw TypeError('Invalid UUID'); + } + + let v; + const arr = new Uint8Array(16); // Parse ########-....-....-....-............ + + arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; + arr[1] = v >>> 16 & 0xff; + arr[2] = v >>> 8 & 0xff; + arr[3] = v & 0xff; // Parse ........-####-....-....-............ + + arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; + arr[5] = v & 0xff; // Parse ........-....-####-....-............ + + arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; + arr[7] = v & 0xff; // Parse ........-....-....-####-............ + + arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; + arr[9] = v & 0xff; // Parse ........-....-....-....-############ + // (Use "/" to avoid 32-bit truncation when bit-shifting high-order bytes) + + arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff; + arr[11] = v / 0x100000000 & 0xff; + arr[12] = v >>> 24 & 0xff; + arr[13] = v >>> 16 & 0xff; + arr[14] = v >>> 8 & 0xff; + arr[15] = v & 0xff; + return arr; +} + +/* harmony default export */ const esm_node_parse = (parse); +;// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-node/v35.js + + + +function stringToBytes(str) { + str = unescape(encodeURIComponent(str)); // UTF8 escape + + const bytes = []; + + for (let i = 0; i < str.length; ++i) { + bytes.push(str.charCodeAt(i)); + } + + return bytes; +} + +const DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; +const URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; +function v35(name, version, hashfunc) { + function generateUUID(value, namespace, buf, offset) { + var _namespace; + + if (typeof value === 'string') { + value = stringToBytes(value); + } + + if (typeof namespace === 'string') { + namespace = esm_node_parse(namespace); + } + + if (((_namespace = namespace) === null || _namespace === void 0 ? void 0 : _namespace.length) !== 16) { + throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)'); + } // Compute hash of namespace and value, Per 4.3 + // Future: Use spread syntax when supported on all platforms, e.g. `bytes = + // hashfunc([...namespace, ... value])` + + + let bytes = new Uint8Array(16 + value.length); + bytes.set(namespace); + bytes.set(value, namespace.length); + bytes = hashfunc(bytes); + bytes[6] = bytes[6] & 0x0f | version; + bytes[8] = bytes[8] & 0x3f | 0x80; + + if (buf) { + offset = offset || 0; + + for (let i = 0; i < 16; ++i) { + buf[offset + i] = bytes[i]; + } + + return buf; + } + + return unsafeStringify(bytes); + } // Function#name is not settable on some platforms (#270) + + + try { + generateUUID.name = name; // eslint-disable-next-line no-empty + } catch (err) {} // For CommonJS default export support + + + generateUUID.DNS = DNS; + generateUUID.URL = URL; + return generateUUID; +} +// EXTERNAL MODULE: external "crypto" +var external_crypto_ = __webpack_require__(6113); +var external_crypto_default = /*#__PURE__*/__webpack_require__.n(external_crypto_); +;// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-node/sha1.js +/* provided dependency */ var Buffer = __webpack_require__(48764)["lW"]; + + +function sha1(bytes) { + if (Array.isArray(bytes)) { + bytes = Buffer.from(bytes); + } else if (typeof bytes === 'string') { + bytes = Buffer.from(bytes, 'utf8'); + } + + return external_crypto_default().createHash('sha1').update(bytes).digest(); +} + +/* harmony default export */ const esm_node_sha1 = (sha1); +;// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-node/v5.js + + +const v5 = v35('v5', 0x50, esm_node_sha1); +/* harmony default export */ const esm_node_v5 = (v5); +// EXTERNAL MODULE: ./node_modules/dayjs/dayjs.min.js +var dayjs_min = __webpack_require__(27484); +// EXTERNAL MODULE: ./node_modules/@braintree/sanitize-url/dist/index.js +var dist = __webpack_require__(17967); +// EXTERNAL MODULE: ./node_modules/dompurify/dist/purify.es.js +var purify_es = __webpack_require__(20683); +;// CONCATENATED MODULE: ./node_modules/mermaid/dist/erDiagram-dedf2781.js + + + + + + + + + + + + + + +var parser = function() { + var o = function(k, v, o2, l) { + for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) + ; + return o2; + }, $V0 = [1, 2], $V1 = [1, 5], $V2 = [6, 9, 11, 23, 25, 27, 29, 30, 31, 52], $V3 = [1, 17], $V4 = [1, 18], $V5 = [1, 19], $V6 = [1, 20], $V7 = [1, 21], $V8 = [1, 22], $V9 = [1, 25], $Va = [1, 30], $Vb = [1, 31], $Vc = [1, 32], $Vd = [1, 33], $Ve = [1, 34], $Vf = [6, 9, 11, 15, 20, 23, 25, 27, 29, 30, 31, 44, 45, 46, 47, 48, 52], $Vg = [1, 46], $Vh = [30, 31, 49, 50], $Vi = [4, 6, 9, 11, 23, 25, 27, 29, 30, 31, 52], $Vj = [44, 45, 46, 47, 48], $Vk = [22, 37], $Vl = [1, 66], $Vm = [1, 65], $Vn = [22, 37, 39, 41]; + var parser2 = { + trace: function trace() { + }, + yy: {}, + symbols_: { "error": 2, "start": 3, "ER_DIAGRAM": 4, "document": 5, "EOF": 6, "directive": 7, "line": 8, "SPACE": 9, "statement": 10, "NEWLINE": 11, "openDirective": 12, "typeDirective": 13, "closeDirective": 14, ":": 15, "argDirective": 16, "entityName": 17, "relSpec": 18, "role": 19, "BLOCK_START": 20, "attributes": 21, "BLOCK_STOP": 22, "title": 23, "title_value": 24, "acc_title": 25, "acc_title_value": 26, "acc_descr": 27, "acc_descr_value": 28, "acc_descr_multiline_value": 29, "ALPHANUM": 30, "ENTITY_NAME": 31, "attribute": 32, "attributeType": 33, "attributeName": 34, "attributeKeyTypeList": 35, "attributeComment": 36, "ATTRIBUTE_WORD": 37, "attributeKeyType": 38, "COMMA": 39, "ATTRIBUTE_KEY": 40, "COMMENT": 41, "cardinality": 42, "relType": 43, "ZERO_OR_ONE": 44, "ZERO_OR_MORE": 45, "ONE_OR_MORE": 46, "ONLY_ONE": 47, "MD_PARENT": 48, "NON_IDENTIFYING": 49, "IDENTIFYING": 50, "WORD": 51, "open_directive": 52, "type_directive": 53, "arg_directive": 54, "close_directive": 55, "$accept": 0, "$end": 1 }, + terminals_: { 2: "error", 4: "ER_DIAGRAM", 6: "EOF", 9: "SPACE", 11: "NEWLINE", 15: ":", 20: "BLOCK_START", 22: "BLOCK_STOP", 23: "title", 24: "title_value", 25: "acc_title", 26: "acc_title_value", 27: "acc_descr", 28: "acc_descr_value", 29: "acc_descr_multiline_value", 30: "ALPHANUM", 31: "ENTITY_NAME", 37: "ATTRIBUTE_WORD", 39: "COMMA", 40: "ATTRIBUTE_KEY", 41: "COMMENT", 44: "ZERO_OR_ONE", 45: "ZERO_OR_MORE", 46: "ONE_OR_MORE", 47: "ONLY_ONE", 48: "MD_PARENT", 49: "NON_IDENTIFYING", 50: "IDENTIFYING", 51: "WORD", 52: "open_directive", 53: "type_directive", 54: "arg_directive", 55: "close_directive" }, + productions_: [0, [3, 3], [3, 2], [5, 0], [5, 2], [8, 2], [8, 1], [8, 1], [8, 1], [7, 4], [7, 6], [10, 1], [10, 5], [10, 4], [10, 3], [10, 1], [10, 2], [10, 2], [10, 2], [10, 1], [17, 1], [17, 1], [21, 1], [21, 2], [32, 2], [32, 3], [32, 3], [32, 4], [33, 1], [34, 1], [35, 1], [35, 3], [38, 1], [36, 1], [18, 3], [42, 1], [42, 1], [42, 1], [42, 1], [42, 1], [43, 1], [43, 1], [19, 1], [19, 1], [19, 1], [12, 1], [13, 1], [16, 1], [14, 1]], + performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) { + var $0 = $$.length - 1; + switch (yystate) { + case 1: + break; + case 3: + this.$ = []; + break; + case 4: + $$[$0 - 1].push($$[$0]); + this.$ = $$[$0 - 1]; + break; + case 5: + case 6: + this.$ = $$[$0]; + break; + case 7: + case 8: + this.$ = []; + break; + case 12: + yy.addEntity($$[$0 - 4]); + yy.addEntity($$[$0 - 2]); + yy.addRelationship($$[$0 - 4], $$[$0], $$[$0 - 2], $$[$0 - 3]); + break; + case 13: + yy.addEntity($$[$0 - 3]); + yy.addAttributes($$[$0 - 3], $$[$0 - 1]); + break; + case 14: + yy.addEntity($$[$0 - 2]); + break; + case 15: + yy.addEntity($$[$0]); + break; + case 16: + case 17: + this.$ = $$[$0].trim(); + yy.setAccTitle(this.$); + break; + case 18: + case 19: + this.$ = $$[$0].trim(); + yy.setAccDescription(this.$); + break; + case 20: + case 44: + this.$ = $$[$0]; + break; + case 21: + case 42: + case 43: + this.$ = $$[$0].replace(/"/g, ""); + break; + case 22: + case 30: + this.$ = [$$[$0]]; + break; + case 23: + $$[$0].push($$[$0 - 1]); + this.$ = $$[$0]; + break; + case 24: + this.$ = { attributeType: $$[$0 - 1], attributeName: $$[$0] }; + break; + case 25: + this.$ = { attributeType: $$[$0 - 2], attributeName: $$[$0 - 1], attributeKeyTypeList: $$[$0] }; + break; + case 26: + this.$ = { attributeType: $$[$0 - 2], attributeName: $$[$0 - 1], attributeComment: $$[$0] }; + break; + case 27: + this.$ = { attributeType: $$[$0 - 3], attributeName: $$[$0 - 2], attributeKeyTypeList: $$[$0 - 1], attributeComment: $$[$0] }; + break; + case 28: + case 29: + case 32: + this.$ = $$[$0]; + break; + case 31: + $$[$0 - 2].push($$[$0]); + this.$ = $$[$0 - 2]; + break; + case 33: + this.$ = $$[$0].replace(/"/g, ""); + break; + case 34: + this.$ = { cardA: $$[$0], relType: $$[$0 - 1], cardB: $$[$0 - 2] }; + break; + case 35: + this.$ = yy.Cardinality.ZERO_OR_ONE; + break; + case 36: + this.$ = yy.Cardinality.ZERO_OR_MORE; + break; + case 37: + this.$ = yy.Cardinality.ONE_OR_MORE; + break; + case 38: + this.$ = yy.Cardinality.ONLY_ONE; + break; + case 39: + this.$ = yy.Cardinality.MD_PARENT; + break; + case 40: + this.$ = yy.Identification.NON_IDENTIFYING; + break; + case 41: + this.$ = yy.Identification.IDENTIFYING; + break; + case 45: + yy.parseDirective("%%{", "open_directive"); + break; + case 46: + yy.parseDirective($$[$0], "type_directive"); + break; + case 47: + $$[$0] = $$[$0].trim().replace(/'/g, '"'); + yy.parseDirective($$[$0], "arg_directive"); + break; + case 48: + yy.parseDirective("}%%", "close_directive", "er"); + break; + } + }, + table: [{ 3: 1, 4: $V0, 7: 3, 12: 4, 52: $V1 }, { 1: [3] }, o($V2, [2, 3], { 5: 6 }), { 3: 7, 4: $V0, 7: 3, 12: 4, 52: $V1 }, { 13: 8, 53: [1, 9] }, { 53: [2, 45] }, { 6: [1, 10], 7: 15, 8: 11, 9: [1, 12], 10: 13, 11: [1, 14], 12: 4, 17: 16, 23: $V3, 25: $V4, 27: $V5, 29: $V6, 30: $V7, 31: $V8, 52: $V1 }, { 1: [2, 2] }, { 14: 23, 15: [1, 24], 55: $V9 }, o([15, 55], [2, 46]), o($V2, [2, 8], { 1: [2, 1] }), o($V2, [2, 4]), { 7: 15, 10: 26, 12: 4, 17: 16, 23: $V3, 25: $V4, 27: $V5, 29: $V6, 30: $V7, 31: $V8, 52: $V1 }, o($V2, [2, 6]), o($V2, [2, 7]), o($V2, [2, 11]), o($V2, [2, 15], { 18: 27, 42: 29, 20: [1, 28], 44: $Va, 45: $Vb, 46: $Vc, 47: $Vd, 48: $Ve }), { 24: [1, 35] }, { 26: [1, 36] }, { 28: [1, 37] }, o($V2, [2, 19]), o($Vf, [2, 20]), o($Vf, [2, 21]), { 11: [1, 38] }, { 16: 39, 54: [1, 40] }, { 11: [2, 48] }, o($V2, [2, 5]), { 17: 41, 30: $V7, 31: $V8 }, { 21: 42, 22: [1, 43], 32: 44, 33: 45, 37: $Vg }, { 43: 47, 49: [1, 48], 50: [1, 49] }, o($Vh, [2, 35]), o($Vh, [2, 36]), o($Vh, [2, 37]), o($Vh, [2, 38]), o($Vh, [2, 39]), o($V2, [2, 16]), o($V2, [2, 17]), o($V2, [2, 18]), o($Vi, [2, 9]), { 14: 50, 55: $V9 }, { 55: [2, 47] }, { 15: [1, 51] }, { 22: [1, 52] }, o($V2, [2, 14]), { 21: 53, 22: [2, 22], 32: 44, 33: 45, 37: $Vg }, { 34: 54, 37: [1, 55] }, { 37: [2, 28] }, { 42: 56, 44: $Va, 45: $Vb, 46: $Vc, 47: $Vd, 48: $Ve }, o($Vj, [2, 40]), o($Vj, [2, 41]), { 11: [1, 57] }, { 19: 58, 30: [1, 61], 31: [1, 60], 51: [1, 59] }, o($V2, [2, 13]), { 22: [2, 23] }, o($Vk, [2, 24], { 35: 62, 36: 63, 38: 64, 40: $Vl, 41: $Vm }), o([22, 37, 40, 41], [2, 29]), o([30, 31], [2, 34]), o($Vi, [2, 10]), o($V2, [2, 12]), o($V2, [2, 42]), o($V2, [2, 43]), o($V2, [2, 44]), o($Vk, [2, 25], { 36: 67, 39: [1, 68], 41: $Vm }), o($Vk, [2, 26]), o($Vn, [2, 30]), o($Vk, [2, 33]), o($Vn, [2, 32]), o($Vk, [2, 27]), { 38: 69, 40: $Vl }, o($Vn, [2, 31])], + defaultActions: { 5: [2, 45], 7: [2, 2], 25: [2, 48], 40: [2, 47], 46: [2, 28], 53: [2, 23] }, + parseError: function parseError(str, hash) { + if (hash.recoverable) { + this.trace(str); + } else { + var error = new Error(str); + error.hash = hash; + throw error; + } + }, + parse: function parse(input) { + var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = "", yylineno = 0, yyleng = 0, TERROR = 2, EOF = 1; + var args = lstack.slice.call(arguments, 1); + var lexer2 = Object.create(this.lexer); + var sharedState = { yy: {} }; + for (var k in this.yy) { + if (Object.prototype.hasOwnProperty.call(this.yy, k)) { + sharedState.yy[k] = this.yy[k]; + } + } + lexer2.setInput(input, sharedState.yy); + sharedState.yy.lexer = lexer2; + sharedState.yy.parser = this; + if (typeof lexer2.yylloc == "undefined") { + lexer2.yylloc = {}; + } + var yyloc = lexer2.yylloc; + lstack.push(yyloc); + var ranges = lexer2.options && lexer2.options.ranges; + if (typeof sharedState.yy.parseError === "function") { + this.parseError = sharedState.yy.parseError; + } else { + this.parseError = Object.getPrototypeOf(this).parseError; + } + function lex() { + var token; + token = tstack.pop() || lexer2.lex() || EOF; + if (typeof token !== "number") { + if (token instanceof Array) { + tstack = token; + token = tstack.pop(); + } + token = self.symbols_[token] || token; + } + return token; + } + var symbol, state, action, r, yyval = {}, p, len, newState, expected; + while (true) { + state = stack[stack.length - 1]; + if (this.defaultActions[state]) { + action = this.defaultActions[state]; + } else { + if (symbol === null || typeof symbol == "undefined") { + symbol = lex(); + } + action = table[state] && table[state][symbol]; + } + if (typeof action === "undefined" || !action.length || !action[0]) { + var errStr = ""; + expected = []; + for (p in table[state]) { + if (this.terminals_[p] && p > TERROR) { + expected.push("'" + this.terminals_[p] + "'"); + } + } + if (lexer2.showPosition) { + errStr = "Parse error on line " + (yylineno + 1) + ":\n" + lexer2.showPosition() + "\nExpecting " + expected.join(", ") + ", got '" + (this.terminals_[symbol] || symbol) + "'"; + } else { + errStr = "Parse error on line " + (yylineno + 1) + ": Unexpected " + (symbol == EOF ? "end of input" : "'" + (this.terminals_[symbol] || symbol) + "'"); + } + this.parseError(errStr, { + text: lexer2.match, + token: this.terminals_[symbol] || symbol, + line: lexer2.yylineno, + loc: yyloc, + expected + }); + } + if (action[0] instanceof Array && action.length > 1) { + throw new Error("Parse Error: multiple actions possible at state: " + state + ", token: " + symbol); + } + switch (action[0]) { + case 1: + stack.push(symbol); + vstack.push(lexer2.yytext); + lstack.push(lexer2.yylloc); + stack.push(action[1]); + symbol = null; + { + yyleng = lexer2.yyleng; + yytext = lexer2.yytext; + yylineno = lexer2.yylineno; + yyloc = lexer2.yylloc; + } + break; + case 2: + len = this.productions_[action[1]][1]; + yyval.$ = vstack[vstack.length - len]; + yyval._$ = { + first_line: lstack[lstack.length - (len || 1)].first_line, + last_line: lstack[lstack.length - 1].last_line, + first_column: lstack[lstack.length - (len || 1)].first_column, + last_column: lstack[lstack.length - 1].last_column + }; + if (ranges) { + yyval._$.range = [ + lstack[lstack.length - (len || 1)].range[0], + lstack[lstack.length - 1].range[1] + ]; + } + r = this.performAction.apply(yyval, [ + yytext, + yyleng, + yylineno, + sharedState.yy, + action[1], + vstack, + lstack + ].concat(args)); + if (typeof r !== "undefined") { + return r; + } + if (len) { + stack = stack.slice(0, -1 * len * 2); + vstack = vstack.slice(0, -1 * len); + lstack = lstack.slice(0, -1 * len); + } + stack.push(this.productions_[action[1]][0]); + vstack.push(yyval.$); + lstack.push(yyval._$); + newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; + stack.push(newState); + break; + case 3: + return true; + } + } + return true; + } + }; + var lexer = function() { + var lexer2 = { + EOF: 1, + parseError: function parseError(str, hash) { + if (this.yy.parser) { + this.yy.parser.parseError(str, hash); + } else { + throw new Error(str); + } + }, + // resets the lexer, sets new input + setInput: function(input, yy) { + this.yy = yy || this.yy || {}; + this._input = input; + this._more = this._backtrack = this.done = false; + this.yylineno = this.yyleng = 0; + this.yytext = this.matched = this.match = ""; + this.conditionStack = ["INITIAL"]; + this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }; + if (this.options.ranges) { + this.yylloc.range = [0, 0]; + } + this.offset = 0; + return this; + }, + // consumes and returns one char from the input + input: function() { + var ch = this._input[0]; + this.yytext += ch; + this.yyleng++; + this.offset++; + this.match += ch; + this.matched += ch; + var lines = ch.match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno++; + this.yylloc.last_line++; + } else { + this.yylloc.last_column++; + } + if (this.options.ranges) { + this.yylloc.range[1]++; + } + this._input = this._input.slice(1); + return ch; + }, + // unshifts one char (or a string) into the input + unput: function(ch) { + var len = ch.length; + var lines = ch.split(/(?:\r\n?|\n)/g); + this._input = ch + this._input; + this.yytext = this.yytext.substr(0, this.yytext.length - len); + this.offset -= len; + var oldLines = this.match.split(/(?:\r\n?|\n)/g); + this.match = this.match.substr(0, this.match.length - 1); + this.matched = this.matched.substr(0, this.matched.length - 1); + if (lines.length - 1) { + this.yylineno -= lines.length - 1; + } + var r = this.yylloc.range; + this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len + }; + if (this.options.ranges) { + this.yylloc.range = [r[0], r[0] + this.yyleng - len]; + } + this.yyleng = this.yytext.length; + return this; + }, + // When called from action, caches matched text and appends it on next action + more: function() { + this._more = true; + return this; + }, + // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. + reject: function() { + if (this.options.backtrack_lexer) { + this._backtrack = true; + } else { + return this.parseError("Lexical error on line " + (this.yylineno + 1) + ". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n" + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + } + return this; + }, + // retain first n characters of the match + less: function(n) { + this.unput(this.match.slice(n)); + }, + // displays already matched input, i.e. for error messages + pastInput: function() { + var past = this.matched.substr(0, this.matched.length - this.match.length); + return (past.length > 20 ? "..." : "") + past.substr(-20).replace(/\n/g, ""); + }, + // displays upcoming input, i.e. for error messages + upcomingInput: function() { + var next = this.match; + if (next.length < 20) { + next += this._input.substr(0, 20 - next.length); + } + return (next.substr(0, 20) + (next.length > 20 ? "..." : "")).replace(/\n/g, ""); + }, + // displays the character position where the lexing error occurred, i.e. for error messages + showPosition: function() { + var pre = this.pastInput(); + var c = new Array(pre.length + 1).join("-"); + return pre + this.upcomingInput() + "\n" + c + "^"; + }, + // test the lexed token: return FALSE when not a match, otherwise return token + test_match: function(match, indexed_rule) { + var token, lines, backup; + if (this.options.backtrack_lexer) { + backup = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }; + if (this.options.ranges) { + backup.yylloc.range = this.yylloc.range.slice(0); + } + } + lines = match[0].match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno += lines.length; + } + this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length + }; + this.yytext += match[0]; + this.match += match[0]; + this.matches = match; + this.yyleng = this.yytext.length; + if (this.options.ranges) { + this.yylloc.range = [this.offset, this.offset += this.yyleng]; + } + this._more = false; + this._backtrack = false; + this._input = this._input.slice(match[0].length); + this.matched += match[0]; + token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); + if (this.done && this._input) { + this.done = false; + } + if (token) { + return token; + } else if (this._backtrack) { + for (var k in backup) { + this[k] = backup[k]; + } + return false; + } + return false; + }, + // return next match in input + next: function() { + if (this.done) { + return this.EOF; + } + if (!this._input) { + this.done = true; + } + var token, match, tempMatch, index; + if (!this._more) { + this.yytext = ""; + this.match = ""; + } + var rules = this._currentRules(); + for (var i = 0; i < rules.length; i++) { + tempMatch = this._input.match(this.rules[rules[i]]); + if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { + match = tempMatch; + index = i; + if (this.options.backtrack_lexer) { + token = this.test_match(tempMatch, rules[i]); + if (token !== false) { + return token; + } else if (this._backtrack) { + match = false; + continue; + } else { + return false; + } + } else if (!this.options.flex) { + break; + } + } + } + if (match) { + token = this.test_match(match, rules[index]); + if (token !== false) { + return token; + } + return false; + } + if (this._input === "") { + return this.EOF; + } else { + return this.parseError("Lexical error on line " + (this.yylineno + 1) + ". Unrecognized text.\n" + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + } + }, + // return next match that has a token + lex: function lex() { + var r = this.next(); + if (r) { + return r; + } else { + return this.lex(); + } + }, + // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) + begin: function begin(condition) { + this.conditionStack.push(condition); + }, + // pop the previously active lexer condition state off the condition stack + popState: function popState() { + var n = this.conditionStack.length - 1; + if (n > 0) { + return this.conditionStack.pop(); + } else { + return this.conditionStack[0]; + } + }, + // produce the lexer rule set which is active for the currently active lexer condition state + _currentRules: function _currentRules() { + if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { + return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; + } else { + return this.conditions["INITIAL"].rules; + } + }, + // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available + topState: function topState(n) { + n = this.conditionStack.length - 1 - Math.abs(n || 0); + if (n >= 0) { + return this.conditionStack[n]; + } else { + return "INITIAL"; + } + }, + // alias for begin(condition) + pushState: function pushState(condition) { + this.begin(condition); + }, + // return the number of states currently on the stack + stateStackSize: function stateStackSize() { + return this.conditionStack.length; + }, + options: { "case-insensitive": true }, + performAction: function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) { + switch ($avoiding_name_collisions) { + case 0: + this.begin("acc_title"); + return 25; + case 1: + this.popState(); + return "acc_title_value"; + case 2: + this.begin("acc_descr"); + return 27; + case 3: + this.popState(); + return "acc_descr_value"; + case 4: + this.begin("acc_descr_multiline"); + break; + case 5: + this.popState(); + break; + case 6: + return "acc_descr_multiline_value"; + case 7: + this.begin("open_directive"); + return 52; + case 8: + this.begin("type_directive"); + return 53; + case 9: + this.popState(); + this.begin("arg_directive"); + return 15; + case 10: + this.popState(); + this.popState(); + return 55; + case 11: + return 54; + case 12: + return 11; + case 13: + break; + case 14: + return 9; + case 15: + return 31; + case 16: + return 51; + case 17: + return 4; + case 18: + this.begin("block"); + return 20; + case 19: + return 39; + case 20: + break; + case 21: + return 40; + case 22: + return 37; + case 23: + return 37; + case 24: + return 41; + case 25: + break; + case 26: + this.popState(); + return 22; + case 27: + return yy_.yytext[0]; + case 28: + return 44; + case 29: + return 46; + case 30: + return 46; + case 31: + return 46; + case 32: + return 44; + case 33: + return 44; + case 34: + return 45; + case 35: + return 45; + case 36: + return 45; + case 37: + return 45; + case 38: + return 45; + case 39: + return 46; + case 40: + return 45; + case 41: + return 46; + case 42: + return 47; + case 43: + return 47; + case 44: + return 47; + case 45: + return 47; + case 46: + return 44; + case 47: + return 45; + case 48: + return 46; + case 49: + return 48; + case 50: + return 49; + case 51: + return 50; + case 52: + return 50; + case 53: + return 49; + case 54: + return 49; + case 55: + return 49; + case 56: + return 30; + case 57: + return yy_.yytext[0]; + case 58: + return 6; + } + }, + rules: [/^(?:accTitle\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*\{\s*)/i, /^(?:[\}])/i, /^(?:[^\}]*)/i, /^(?:%%\{)/i, /^(?:((?:(?!\}%%)[^:.])*))/i, /^(?::)/i, /^(?:\}%%)/i, /^(?:((?:(?!\}%%).|\n)*))/i, /^(?:[\n]+)/i, /^(?:\s+)/i, /^(?:[\s]+)/i, /^(?:"[^"%\r\n\v\b\\]+")/i, /^(?:"[^"]*")/i, /^(?:erDiagram\b)/i, /^(?:\{)/i, /^(?:,)/i, /^(?:\s+)/i, /^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i, /^(?:(.*?)[~](.*?)*[~])/i, /^(?:[\*A-Za-z_][A-Za-z0-9\-_\[\]\(\)]*)/i, /^(?:"[^"]*")/i, /^(?:[\n]+)/i, /^(?:\})/i, /^(?:.)/i, /^(?:one or zero\b)/i, /^(?:one or more\b)/i, /^(?:one or many\b)/i, /^(?:1\+)/i, /^(?:\|o\b)/i, /^(?:zero or one\b)/i, /^(?:zero or more\b)/i, /^(?:zero or many\b)/i, /^(?:0\+)/i, /^(?:\}o\b)/i, /^(?:many\(0\))/i, /^(?:many\(1\))/i, /^(?:many\b)/i, /^(?:\}\|)/i, /^(?:one\b)/i, /^(?:only one\b)/i, /^(?:1\b)/i, /^(?:\|\|)/i, /^(?:o\|)/i, /^(?:o\{)/i, /^(?:\|\{)/i, /^(?:\s*u\b)/i, /^(?:\.\.)/i, /^(?:--)/i, /^(?:to\b)/i, /^(?:optionally to\b)/i, /^(?:\.-)/i, /^(?:-\.)/i, /^(?:[A-Za-z][A-Za-z0-9\-_]*)/i, /^(?:.)/i, /^(?:$)/i], + conditions: { "acc_descr_multiline": { "rules": [5, 6], "inclusive": false }, "acc_descr": { "rules": [3], "inclusive": false }, "acc_title": { "rules": [1], "inclusive": false }, "open_directive": { "rules": [8], "inclusive": false }, "type_directive": { "rules": [9, 10], "inclusive": false }, "arg_directive": { "rules": [10, 11], "inclusive": false }, "block": { "rules": [19, 20, 21, 22, 23, 24, 25, 26, 27], "inclusive": false }, "INITIAL": { "rules": [0, 2, 4, 7, 12, 13, 14, 15, 16, 17, 18, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58], "inclusive": true } } + }; + return lexer2; + }(); + parser2.lexer = lexer; + function Parser() { + this.yy = {}; + } + Parser.prototype = parser2; + parser2.Parser = Parser; + return new Parser(); +}(); +parser.parser = parser; +const erParser = parser; +let entities = {}; +let relationships = []; +const Cardinality = { + ZERO_OR_ONE: "ZERO_OR_ONE", + ZERO_OR_MORE: "ZERO_OR_MORE", + ONE_OR_MORE: "ONE_OR_MORE", + ONLY_ONE: "ONLY_ONE", + MD_PARENT: "MD_PARENT" +}; +const Identification = { + NON_IDENTIFYING: "NON_IDENTIFYING", + IDENTIFYING: "IDENTIFYING" +}; +const parseDirective = function(statement, context, type) { + mermaid_768dc893.m.parseDirective(this, statement, context, type); +}; +const addEntity = function(name) { + if (entities[name] === void 0) { + entities[name] = { attributes: [] }; + mermaid_768dc893.l.info("Added new entity :", name); + } + return entities[name]; +}; +const getEntities = () => entities; +const addAttributes = function(entityName, attribs) { + let entity = addEntity(entityName); + let i; + for (i = attribs.length - 1; i >= 0; i--) { + entity.attributes.push(attribs[i]); + mermaid_768dc893.l.debug("Added attribute ", attribs[i].attributeName); + } +}; +const addRelationship = function(entA, rolA, entB, rSpec) { + let rel = { + entityA: entA, + roleA: rolA, + entityB: entB, + relSpec: rSpec + }; + relationships.push(rel); + mermaid_768dc893.l.debug("Added new relationship :", rel); +}; +const getRelationships = () => relationships; +const clear = function() { + entities = {}; + relationships = []; + (0,mermaid_768dc893.v)(); +}; +const erDb = { + Cardinality, + Identification, + parseDirective, + getConfig: () => (0,mermaid_768dc893.c)().er, + addEntity, + addAttributes, + getEntities, + addRelationship, + getRelationships, + clear, + setAccTitle: mermaid_768dc893.s, + getAccTitle: mermaid_768dc893.g, + setAccDescription: mermaid_768dc893.b, + getAccDescription: mermaid_768dc893.a, + setDiagramTitle: mermaid_768dc893.r, + getDiagramTitle: mermaid_768dc893.t +}; +const ERMarkers = { + ONLY_ONE_START: "ONLY_ONE_START", + ONLY_ONE_END: "ONLY_ONE_END", + ZERO_OR_ONE_START: "ZERO_OR_ONE_START", + ZERO_OR_ONE_END: "ZERO_OR_ONE_END", + ONE_OR_MORE_START: "ONE_OR_MORE_START", + ONE_OR_MORE_END: "ONE_OR_MORE_END", + ZERO_OR_MORE_START: "ZERO_OR_MORE_START", + ZERO_OR_MORE_END: "ZERO_OR_MORE_END", + MD_PARENT_END: "MD_PARENT_END", + MD_PARENT_START: "MD_PARENT_START" +}; +const insertMarkers = function(elem, conf2) { + let marker; + elem.append("defs").append("marker").attr("id", ERMarkers.MD_PARENT_START).attr("refX", 0).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z"); + elem.append("defs").append("marker").attr("id", ERMarkers.MD_PARENT_END).attr("refX", 19).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z"); + elem.append("defs").append("marker").attr("id", ERMarkers.ONLY_ONE_START).attr("refX", 0).attr("refY", 9).attr("markerWidth", 18).attr("markerHeight", 18).attr("orient", "auto").append("path").attr("stroke", conf2.stroke).attr("fill", "none").attr("d", "M9,0 L9,18 M15,0 L15,18"); + elem.append("defs").append("marker").attr("id", ERMarkers.ONLY_ONE_END).attr("refX", 18).attr("refY", 9).attr("markerWidth", 18).attr("markerHeight", 18).attr("orient", "auto").append("path").attr("stroke", conf2.stroke).attr("fill", "none").attr("d", "M3,0 L3,18 M9,0 L9,18"); + marker = elem.append("defs").append("marker").attr("id", ERMarkers.ZERO_OR_ONE_START).attr("refX", 0).attr("refY", 9).attr("markerWidth", 30).attr("markerHeight", 18).attr("orient", "auto"); + marker.append("circle").attr("stroke", conf2.stroke).attr("fill", "white").attr("cx", 21).attr("cy", 9).attr("r", 6); + marker.append("path").attr("stroke", conf2.stroke).attr("fill", "none").attr("d", "M9,0 L9,18"); + marker = elem.append("defs").append("marker").attr("id", ERMarkers.ZERO_OR_ONE_END).attr("refX", 30).attr("refY", 9).attr("markerWidth", 30).attr("markerHeight", 18).attr("orient", "auto"); + marker.append("circle").attr("stroke", conf2.stroke).attr("fill", "white").attr("cx", 9).attr("cy", 9).attr("r", 6); + marker.append("path").attr("stroke", conf2.stroke).attr("fill", "none").attr("d", "M21,0 L21,18"); + elem.append("defs").append("marker").attr("id", ERMarkers.ONE_OR_MORE_START).attr("refX", 18).attr("refY", 18).attr("markerWidth", 45).attr("markerHeight", 36).attr("orient", "auto").append("path").attr("stroke", conf2.stroke).attr("fill", "none").attr("d", "M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"); + elem.append("defs").append("marker").attr("id", ERMarkers.ONE_OR_MORE_END).attr("refX", 27).attr("refY", 18).attr("markerWidth", 45).attr("markerHeight", 36).attr("orient", "auto").append("path").attr("stroke", conf2.stroke).attr("fill", "none").attr("d", "M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18"); + marker = elem.append("defs").append("marker").attr("id", ERMarkers.ZERO_OR_MORE_START).attr("refX", 18).attr("refY", 18).attr("markerWidth", 57).attr("markerHeight", 36).attr("orient", "auto"); + marker.append("circle").attr("stroke", conf2.stroke).attr("fill", "white").attr("cx", 48).attr("cy", 18).attr("r", 6); + marker.append("path").attr("stroke", conf2.stroke).attr("fill", "none").attr("d", "M0,18 Q18,0 36,18 Q18,36 0,18"); + marker = elem.append("defs").append("marker").attr("id", ERMarkers.ZERO_OR_MORE_END).attr("refX", 39).attr("refY", 18).attr("markerWidth", 57).attr("markerHeight", 36).attr("orient", "auto"); + marker.append("circle").attr("stroke", conf2.stroke).attr("fill", "white").attr("cx", 9).attr("cy", 18).attr("r", 6); + marker.append("path").attr("stroke", conf2.stroke).attr("fill", "none").attr("d", "M21,18 Q39,0 57,18 Q39,36 21,18"); + return; +}; +const erMarkers = { + ERMarkers, + insertMarkers +}; +const BAD_ID_CHARS_REGEXP = /[^\dA-Za-z](\W)*/g; +let conf = {}; +let entityNameIds = /* @__PURE__ */ new Map(); +const setConf = function(cnf) { + const keys = Object.keys(cnf); + for (const key of keys) { + conf[key] = cnf[key]; + } +}; +const drawAttributes = (groupNode, entityTextNode, attributes) => { + const heightPadding = conf.entityPadding / 3; + const widthPadding = conf.entityPadding / 3; + const attrFontSize = conf.fontSize * 0.85; + const labelBBox = entityTextNode.node().getBBox(); + const attributeNodes = []; + let hasKeyType = false; + let hasComment = false; + let maxTypeWidth = 0; + let maxNameWidth = 0; + let maxKeyWidth = 0; + let maxCommentWidth = 0; + let cumulativeHeight = labelBBox.height + heightPadding * 2; + let attrNum = 1; + attributes.forEach((item) => { + if (item.attributeKeyTypeList !== void 0 && item.attributeKeyTypeList.length > 0) { + hasKeyType = true; + } + if (item.attributeComment !== void 0) { + hasComment = true; + } + }); + attributes.forEach((item) => { + const attrPrefix = `${entityTextNode.node().id}-attr-${attrNum}`; + let nodeHeight = 0; + const attributeType = (0,mermaid_768dc893.x)(item.attributeType); + const typeNode = groupNode.append("text").classed("er entityLabel", true).attr("id", `${attrPrefix}-type`).attr("x", 0).attr("y", 0).style("dominant-baseline", "middle").style("text-anchor", "left").style("font-family", (0,mermaid_768dc893.c)().fontFamily).style("font-size", attrFontSize + "px").text(attributeType); + const nameNode = groupNode.append("text").classed("er entityLabel", true).attr("id", `${attrPrefix}-name`).attr("x", 0).attr("y", 0).style("dominant-baseline", "middle").style("text-anchor", "left").style("font-family", (0,mermaid_768dc893.c)().fontFamily).style("font-size", attrFontSize + "px").text(item.attributeName); + const attributeNode = {}; + attributeNode.tn = typeNode; + attributeNode.nn = nameNode; + const typeBBox = typeNode.node().getBBox(); + const nameBBox = nameNode.node().getBBox(); + maxTypeWidth = Math.max(maxTypeWidth, typeBBox.width); + maxNameWidth = Math.max(maxNameWidth, nameBBox.width); + nodeHeight = Math.max(typeBBox.height, nameBBox.height); + if (hasKeyType) { + const keyTypeNodeText = item.attributeKeyTypeList !== void 0 ? item.attributeKeyTypeList.join(",") : ""; + const keyTypeNode = groupNode.append("text").classed("er entityLabel", true).attr("id", `${attrPrefix}-key`).attr("x", 0).attr("y", 0).style("dominant-baseline", "middle").style("text-anchor", "left").style("font-family", (0,mermaid_768dc893.c)().fontFamily).style("font-size", attrFontSize + "px").text(keyTypeNodeText); + attributeNode.kn = keyTypeNode; + const keyTypeBBox = keyTypeNode.node().getBBox(); + maxKeyWidth = Math.max(maxKeyWidth, keyTypeBBox.width); + nodeHeight = Math.max(nodeHeight, keyTypeBBox.height); + } + if (hasComment) { + const commentNode = groupNode.append("text").classed("er entityLabel", true).attr("id", `${attrPrefix}-comment`).attr("x", 0).attr("y", 0).style("dominant-baseline", "middle").style("text-anchor", "left").style("font-family", (0,mermaid_768dc893.c)().fontFamily).style("font-size", attrFontSize + "px").text(item.attributeComment || ""); + attributeNode.cn = commentNode; + const commentNodeBBox = commentNode.node().getBBox(); + maxCommentWidth = Math.max(maxCommentWidth, commentNodeBBox.width); + nodeHeight = Math.max(nodeHeight, commentNodeBBox.height); + } + attributeNode.height = nodeHeight; + attributeNodes.push(attributeNode); + cumulativeHeight += nodeHeight + heightPadding * 2; + attrNum += 1; + }); + let widthPaddingFactor = 4; + if (hasKeyType) { + widthPaddingFactor += 2; + } + if (hasComment) { + widthPaddingFactor += 2; + } + const maxWidth = maxTypeWidth + maxNameWidth + maxKeyWidth + maxCommentWidth; + const bBox = { + width: Math.max( + conf.minEntityWidth, + Math.max( + labelBBox.width + conf.entityPadding * 2, + maxWidth + widthPadding * widthPaddingFactor + ) + ), + height: attributes.length > 0 ? cumulativeHeight : Math.max(conf.minEntityHeight, labelBBox.height + conf.entityPadding * 2) + }; + if (attributes.length > 0) { + const spareColumnWidth = Math.max( + 0, + (bBox.width - maxWidth - widthPadding * widthPaddingFactor) / (widthPaddingFactor / 2) + ); + entityTextNode.attr( + "transform", + "translate(" + bBox.width / 2 + "," + (heightPadding + labelBBox.height / 2) + ")" + ); + let heightOffset = labelBBox.height + heightPadding * 2; + let attribStyle = "attributeBoxOdd"; + attributeNodes.forEach((attributeNode) => { + const alignY = heightOffset + heightPadding + attributeNode.height / 2; + attributeNode.tn.attr("transform", "translate(" + widthPadding + "," + alignY + ")"); + const typeRect = groupNode.insert("rect", "#" + attributeNode.tn.node().id).classed(`er ${attribStyle}`, true).attr("x", 0).attr("y", heightOffset).attr("width", maxTypeWidth + widthPadding * 2 + spareColumnWidth).attr("height", attributeNode.height + heightPadding * 2); + const nameXOffset = parseFloat(typeRect.attr("x")) + parseFloat(typeRect.attr("width")); + attributeNode.nn.attr( + "transform", + "translate(" + (nameXOffset + widthPadding) + "," + alignY + ")" + ); + const nameRect = groupNode.insert("rect", "#" + attributeNode.nn.node().id).classed(`er ${attribStyle}`, true).attr("x", nameXOffset).attr("y", heightOffset).attr("width", maxNameWidth + widthPadding * 2 + spareColumnWidth).attr("height", attributeNode.height + heightPadding * 2); + let keyTypeAndCommentXOffset = parseFloat(nameRect.attr("x")) + parseFloat(nameRect.attr("width")); + if (hasKeyType) { + attributeNode.kn.attr( + "transform", + "translate(" + (keyTypeAndCommentXOffset + widthPadding) + "," + alignY + ")" + ); + const keyTypeRect = groupNode.insert("rect", "#" + attributeNode.kn.node().id).classed(`er ${attribStyle}`, true).attr("x", keyTypeAndCommentXOffset).attr("y", heightOffset).attr("width", maxKeyWidth + widthPadding * 2 + spareColumnWidth).attr("height", attributeNode.height + heightPadding * 2); + keyTypeAndCommentXOffset = parseFloat(keyTypeRect.attr("x")) + parseFloat(keyTypeRect.attr("width")); + } + if (hasComment) { + attributeNode.cn.attr( + "transform", + "translate(" + (keyTypeAndCommentXOffset + widthPadding) + "," + alignY + ")" + ); + groupNode.insert("rect", "#" + attributeNode.cn.node().id).classed(`er ${attribStyle}`, "true").attr("x", keyTypeAndCommentXOffset).attr("y", heightOffset).attr("width", maxCommentWidth + widthPadding * 2 + spareColumnWidth).attr("height", attributeNode.height + heightPadding * 2); + } + heightOffset += attributeNode.height + heightPadding * 2; + attribStyle = attribStyle === "attributeBoxOdd" ? "attributeBoxEven" : "attributeBoxOdd"; + }); + } else { + bBox.height = Math.max(conf.minEntityHeight, cumulativeHeight); + entityTextNode.attr("transform", "translate(" + bBox.width / 2 + "," + bBox.height / 2 + ")"); + } + return bBox; +}; +const drawEntities = function(svgNode, entities2, graph) { + const keys = Object.keys(entities2); + let firstOne; + keys.forEach(function(entityName) { + const entityId = generateId(entityName, "entity"); + entityNameIds.set(entityName, entityId); + const groupNode = svgNode.append("g").attr("id", entityId); + firstOne = firstOne === void 0 ? entityId : firstOne; + const textId = "text-" + entityId; + const textNode = groupNode.append("text").classed("er entityLabel", true).attr("id", textId).attr("x", 0).attr("y", 0).style("dominant-baseline", "middle").style("text-anchor", "middle").style("font-family", (0,mermaid_768dc893.c)().fontFamily).style("font-size", conf.fontSize + "px").text(entityName); + const { width: entityWidth, height: entityHeight } = drawAttributes( + groupNode, + textNode, + entities2[entityName].attributes + ); + const rectNode = groupNode.insert("rect", "#" + textId).classed("er entityBox", true).attr("x", 0).attr("y", 0).attr("width", entityWidth).attr("height", entityHeight); + const rectBBox = rectNode.node().getBBox(); + graph.setNode(entityId, { + width: rectBBox.width, + height: rectBBox.height, + shape: "rect", + id: entityId + }); + }); + return firstOne; +}; +const adjustEntities = function(svgNode, graph) { + graph.nodes().forEach(function(v) { + if (v !== void 0 && graph.node(v) !== void 0) { + svgNode.select("#" + v).attr( + "transform", + "translate(" + (graph.node(v).x - graph.node(v).width / 2) + "," + (graph.node(v).y - graph.node(v).height / 2) + " )" + ); + } + }); +}; +const getEdgeName = function(rel) { + return (rel.entityA + rel.roleA + rel.entityB).replace(/\s/g, ""); +}; +const addRelationships = function(relationships2, g) { + relationships2.forEach(function(r) { + g.setEdge( + entityNameIds.get(r.entityA), + entityNameIds.get(r.entityB), + { relationship: r }, + getEdgeName(r) + ); + }); + return relationships2; +}; +let relCnt = 0; +const drawRelationshipFromLayout = function(svg, rel, g, insert, diagObj) { + relCnt++; + const edge = g.edge( + entityNameIds.get(rel.entityA), + entityNameIds.get(rel.entityB), + getEdgeName(rel) + ); + const lineFunction = (0,src/* line */.jvg)().x(function(d) { + return d.x; + }).y(function(d) { + return d.y; + }).curve(src/* curveBasis */.$0Z); + const svgPath = svg.insert("path", "#" + insert).classed("er relationshipLine", true).attr("d", lineFunction(edge.points)).style("stroke", conf.stroke).style("fill", "none"); + if (rel.relSpec.relType === diagObj.db.Identification.NON_IDENTIFYING) { + svgPath.attr("stroke-dasharray", "8,8"); + } + let url = ""; + if (conf.arrowMarkerAbsolute) { + url = window.location.protocol + "//" + window.location.host + window.location.pathname + window.location.search; + url = url.replace(/\(/g, "\\("); + url = url.replace(/\)/g, "\\)"); + } + switch (rel.relSpec.cardA) { + case diagObj.db.Cardinality.ZERO_OR_ONE: + svgPath.attr("marker-end", "url(" + url + "#" + erMarkers.ERMarkers.ZERO_OR_ONE_END + ")"); + break; + case diagObj.db.Cardinality.ZERO_OR_MORE: + svgPath.attr("marker-end", "url(" + url + "#" + erMarkers.ERMarkers.ZERO_OR_MORE_END + ")"); + break; + case diagObj.db.Cardinality.ONE_OR_MORE: + svgPath.attr("marker-end", "url(" + url + "#" + erMarkers.ERMarkers.ONE_OR_MORE_END + ")"); + break; + case diagObj.db.Cardinality.ONLY_ONE: + svgPath.attr("marker-end", "url(" + url + "#" + erMarkers.ERMarkers.ONLY_ONE_END + ")"); + break; + case diagObj.db.Cardinality.MD_PARENT: + svgPath.attr("marker-end", "url(" + url + "#" + erMarkers.ERMarkers.MD_PARENT_END + ")"); + break; + } + switch (rel.relSpec.cardB) { + case diagObj.db.Cardinality.ZERO_OR_ONE: + svgPath.attr( + "marker-start", + "url(" + url + "#" + erMarkers.ERMarkers.ZERO_OR_ONE_START + ")" + ); + break; + case diagObj.db.Cardinality.ZERO_OR_MORE: + svgPath.attr( + "marker-start", + "url(" + url + "#" + erMarkers.ERMarkers.ZERO_OR_MORE_START + ")" + ); + break; + case diagObj.db.Cardinality.ONE_OR_MORE: + svgPath.attr( + "marker-start", + "url(" + url + "#" + erMarkers.ERMarkers.ONE_OR_MORE_START + ")" + ); + break; + case diagObj.db.Cardinality.ONLY_ONE: + svgPath.attr("marker-start", "url(" + url + "#" + erMarkers.ERMarkers.ONLY_ONE_START + ")"); + break; + case diagObj.db.Cardinality.MD_PARENT: + svgPath.attr("marker-start", "url(" + url + "#" + erMarkers.ERMarkers.MD_PARENT_START + ")"); + break; + } + const len = svgPath.node().getTotalLength(); + const labelPoint = svgPath.node().getPointAtLength(len * 0.5); + const labelId = "rel" + relCnt; + const labelNode = svg.append("text").classed("er relationshipLabel", true).attr("id", labelId).attr("x", labelPoint.x).attr("y", labelPoint.y).style("text-anchor", "middle").style("dominant-baseline", "middle").style("font-family", (0,mermaid_768dc893.c)().fontFamily).style("font-size", conf.fontSize + "px").text(rel.roleA); + const labelBBox = labelNode.node().getBBox(); + svg.insert("rect", "#" + labelId).classed("er relationshipLabelBox", true).attr("x", labelPoint.x - labelBBox.width / 2).attr("y", labelPoint.y - labelBBox.height / 2).attr("width", labelBBox.width).attr("height", labelBBox.height); +}; +const draw = function(text, id, _version, diagObj) { + conf = (0,mermaid_768dc893.c)().er; + mermaid_768dc893.l.info("Drawing ER diagram"); + const securityLevel = (0,mermaid_768dc893.c)().securityLevel; + let sandboxElement; + if (securityLevel === "sandbox") { + sandboxElement = (0,src/* select */.Ys)("#i" + id); + } + const root = securityLevel === "sandbox" ? (0,src/* select */.Ys)(sandboxElement.nodes()[0].contentDocument.body) : (0,src/* select */.Ys)("body"); + const svg = root.select(`[id='${id}']`); + erMarkers.insertMarkers(svg, conf); + let g; + g = new graphlib/* Graph */.k({ + multigraph: true, + directed: true, + compound: false + }).setGraph({ + rankdir: conf.layoutDirection, + marginx: 20, + marginy: 20, + nodesep: 100, + edgesep: 100, + ranksep: 100 + }).setDefaultEdgeLabel(function() { + return {}; + }); + const firstEntity = drawEntities(svg, diagObj.db.getEntities(), g); + const relationships2 = addRelationships(diagObj.db.getRelationships(), g); + (0,dagre/* layout */.bK)(g); + adjustEntities(svg, g); + relationships2.forEach(function(rel) { + drawRelationshipFromLayout(svg, rel, g, firstEntity, diagObj); + }); + const padding = conf.diagramPadding; + mermaid_768dc893.u.insertTitle(svg, "entityTitleText", conf.titleTopMargin, diagObj.db.getDiagramTitle()); + const svgBounds = svg.node().getBBox(); + const width = svgBounds.width + padding * 2; + const height = svgBounds.height + padding * 2; + (0,mermaid_768dc893.i)(svg, height, width, conf.useMaxWidth); + svg.attr("viewBox", `${svgBounds.x - padding} ${svgBounds.y - padding} ${width} ${height}`); +}; +const MERMAID_ERDIAGRAM_UUID = "28e9f9db-3c8d-5aa5-9faf-44286ae5937c"; +function generateId(str = "", prefix = "") { + const simplifiedStr = str.replace(BAD_ID_CHARS_REGEXP, ""); + return `${strWithHyphen(prefix)}${strWithHyphen(simplifiedStr)}${esm_node_v5( + str, + MERMAID_ERDIAGRAM_UUID + )}`; +} +function strWithHyphen(str = "") { + return str.length > 0 ? `${str}-` : ""; +} +const erRenderer = { + setConf, + draw +}; +const getStyles = (options) => ` + .entityBox { + fill: ${options.mainBkg}; + stroke: ${options.nodeBorder}; + } + + .attributeBoxOdd { + fill: ${options.attributeBackgroundColorOdd}; + stroke: ${options.nodeBorder}; + } + + .attributeBoxEven { + fill: ${options.attributeBackgroundColorEven}; + stroke: ${options.nodeBorder}; + } + + .relationshipLabelBox { + fill: ${options.tertiaryColor}; + opacity: 0.7; + background-color: ${options.tertiaryColor}; + rect { + opacity: 0.5; + } + } + + .relationshipLine { + stroke: ${options.lineColor}; + } + + .entityTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${options.textColor}; + } + #MD_PARENT_START { + fill: #f5f5f5 !important; + stroke: ${options.lineColor} !important; + stroke-width: 1; + } + #MD_PARENT_END { + fill: #f5f5f5 !important; + stroke: ${options.lineColor} !important; + stroke-width: 1; + } + +`; +const erStyles = getStyles; +const diagram = { + parser: erParser, + db: erDb, + renderer: erRenderer, + styles: erStyles +}; + + + +/***/ }) + +}; +; \ No newline at end of file diff --git a/assets/js/1423.17d4b3ff.js b/assets/js/1423.17d4b3ff.js new file mode 100644 index 00000000..667bf28a --- /dev/null +++ b/assets/js/1423.17d4b3ff.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkbeacon_docs=self.webpackChunkbeacon_docs||[]).push([[1423],{81423:(e,t,n)=>{n.d(t,{d:()=>_,p:()=>r,s:()=>D});var s=n(38077),i=n(81581),u=function(){var e=function(e,t,n,s){for(n=n||{},s=e.length;s--;n[e[s]]=t);return n},t=[1,34],n=[1,35],s=[1,36],i=[1,37],u=[1,9],r=[1,8],a=[1,19],c=[1,20],o=[1,21],l=[1,40],h=[1,41],A=[1,27],p=[1,25],d=[1,26],y=[1,32],E=[1,33],C=[1,28],m=[1,29],k=[1,30],g=[1,31],F=[1,45],b=[1,42],f=[1,43],_=[1,44],D=[1,46],B=[1,24],T=[1,16,24],S=[1,60],v=[1,61],N=[1,62],L=[1,63],$=[1,64],I=[1,65],O=[1,66],x=[1,16,24,52],R=[1,77],P=[1,16,24,27,28,36,50,52,55,68,69,70,71,72,73,74,79,81],w=[1,16,24,27,28,34,36,50,52,55,59,68,69,70,71,72,73,74,79,81,94,96,97,98,99],G=[1,86],M=[28,94,96,97,98,99],U=[28,73,74,94,96,97,98,99],Y=[28,68,69,70,71,72,94,96,97,98,99],K=[1,99],z=[1,16,24,50,52,55],Q=[1,16,24,36],j=[8,9,10,11,19,23,44,46,48,53,57,58,60,61,63,65,75,76,78,82,94,96,97,98,99],X={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,directive:5,statements:6,direction:7,direction_tb:8,direction_bt:9,direction_rl:10,direction_lr:11,graphConfig:12,openDirective:13,typeDirective:14,closeDirective:15,NEWLINE:16,":":17,argDirective:18,open_directive:19,type_directive:20,arg_directive:21,close_directive:22,CLASS_DIAGRAM:23,EOF:24,statement:25,classLabel:26,SQS:27,STR:28,SQE:29,namespaceName:30,alphaNumToken:31,className:32,classLiteralName:33,GENERICTYPE:34,relationStatement:35,LABEL:36,namespaceStatement:37,classStatement:38,methodStatement:39,annotationStatement:40,clickStatement:41,cssClassStatement:42,noteStatement:43,acc_title:44,acc_title_value:45,acc_descr:46,acc_descr_value:47,acc_descr_multiline_value:48,namespaceIdentifier:49,STRUCT_START:50,classStatements:51,STRUCT_STOP:52,NAMESPACE:53,classIdentifier:54,STYLE_SEPARATOR:55,members:56,CLASS:57,ANNOTATION_START:58,ANNOTATION_END:59,MEMBER:60,SEPARATOR:61,relation:62,NOTE_FOR:63,noteText:64,NOTE:65,relationType:66,lineType:67,AGGREGATION:68,EXTENSION:69,COMPOSITION:70,DEPENDENCY:71,LOLLIPOP:72,LINE:73,DOTTED_LINE:74,CALLBACK:75,LINK:76,LINK_TARGET:77,CLICK:78,CALLBACK_NAME:79,CALLBACK_ARGS:80,HREF:81,CSSCLASS:82,commentToken:83,textToken:84,graphCodeTokens:85,textNoTagsToken:86,TAGSTART:87,TAGEND:88,"==":89,"--":90,PCT:91,DEFAULT:92,SPACE:93,MINUS:94,keywords:95,UNICODE_TEXT:96,NUM:97,ALPHA:98,BQUOTE_STR:99,$accept:0,$end:1},terminals_:{2:"error",8:"direction_tb",9:"direction_bt",10:"direction_rl",11:"direction_lr",16:"NEWLINE",17:":",19:"open_directive",20:"type_directive",21:"arg_directive",22:"close_directive",23:"CLASS_DIAGRAM",24:"EOF",27:"SQS",28:"STR",29:"SQE",34:"GENERICTYPE",36:"LABEL",44:"acc_title",45:"acc_title_value",46:"acc_descr",47:"acc_descr_value",48:"acc_descr_multiline_value",50:"STRUCT_START",52:"STRUCT_STOP",53:"NAMESPACE",55:"STYLE_SEPARATOR",57:"CLASS",58:"ANNOTATION_START",59:"ANNOTATION_END",60:"MEMBER",61:"SEPARATOR",63:"NOTE_FOR",65:"NOTE",68:"AGGREGATION",69:"EXTENSION",70:"COMPOSITION",71:"DEPENDENCY",72:"LOLLIPOP",73:"LINE",74:"DOTTED_LINE",75:"CALLBACK",76:"LINK",77:"LINK_TARGET",78:"CLICK",79:"CALLBACK_NAME",80:"CALLBACK_ARGS",81:"HREF",82:"CSSCLASS",85:"graphCodeTokens",87:"TAGSTART",88:"TAGEND",89:"==",90:"--",91:"PCT",92:"DEFAULT",93:"SPACE",94:"MINUS",95:"keywords",96:"UNICODE_TEXT",97:"NUM",98:"ALPHA",99:"BQUOTE_STR"},productions_:[0,[3,1],[3,2],[3,1],[7,1],[7,1],[7,1],[7,1],[4,1],[5,4],[5,6],[13,1],[14,1],[18,1],[15,1],[12,4],[6,1],[6,2],[6,3],[26,3],[30,1],[30,2],[32,1],[32,1],[32,2],[32,2],[32,2],[25,1],[25,2],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,2],[25,2],[25,1],[37,4],[37,5],[49,2],[51,1],[51,2],[51,3],[38,1],[38,3],[38,4],[38,6],[54,2],[54,3],[40,4],[56,1],[56,2],[39,1],[39,2],[39,1],[39,1],[35,3],[35,4],[35,4],[35,5],[43,3],[43,2],[62,3],[62,2],[62,2],[62,1],[66,1],[66,1],[66,1],[66,1],[66,1],[67,1],[67,1],[41,3],[41,4],[41,3],[41,4],[41,4],[41,5],[41,3],[41,4],[41,4],[41,5],[41,4],[41,5],[41,5],[41,6],[42,3],[83,1],[83,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[86,1],[86,1],[86,1],[86,1],[31,1],[31,1],[31,1],[31,1],[33,1],[64,1]],performAction:function(e,t,n,s,i,u,r){var a=u.length-1;switch(i){case 4:s.setDirection("TB");break;case 5:s.setDirection("BT");break;case 6:s.setDirection("RL");break;case 7:s.setDirection("LR");break;case 11:s.parseDirective("%%{","open_directive");break;case 12:s.parseDirective(u[a],"type_directive");break;case 13:u[a]=u[a].trim().replace(/'/g,'"'),s.parseDirective(u[a],"arg_directive");break;case 14:s.parseDirective("}%%","close_directive","class");break;case 19:this.$=u[a-1];break;case 20:case 22:case 23:this.$=u[a];break;case 21:case 24:this.$=u[a-1]+u[a];break;case 25:case 26:this.$=u[a-1]+"~"+u[a]+"~";break;case 27:s.addRelation(u[a]);break;case 28:u[a-1].title=s.cleanupLabel(u[a]),s.addRelation(u[a-1]);break;case 37:this.$=u[a].trim(),s.setAccTitle(this.$);break;case 38:case 39:this.$=u[a].trim(),s.setAccDescription(this.$);break;case 40:s.addClassesToNamespace(u[a-3],u[a-1]);break;case 41:s.addClassesToNamespace(u[a-4],u[a-1]);break;case 42:this.$=u[a],s.addNamespace(u[a]);break;case 43:case 53:this.$=[u[a]];break;case 44:this.$=[u[a-1]];break;case 45:u[a].unshift(u[a-2]),this.$=u[a];break;case 47:s.setCssClass(u[a-2],u[a]);break;case 48:s.addMembers(u[a-3],u[a-1]);break;case 49:s.setCssClass(u[a-5],u[a-3]),s.addMembers(u[a-5],u[a-1]);break;case 50:this.$=u[a],s.addClass(u[a]);break;case 51:this.$=u[a-1],s.addClass(u[a-1]),s.setClassLabel(u[a-1],u[a]);break;case 52:s.addAnnotation(u[a],u[a-2]);break;case 54:u[a].push(u[a-1]),this.$=u[a];break;case 55:case 57:case 58:break;case 56:s.addMember(u[a-1],s.cleanupLabel(u[a]));break;case 59:this.$={id1:u[a-2],id2:u[a],relation:u[a-1],relationTitle1:"none",relationTitle2:"none"};break;case 60:this.$={id1:u[a-3],id2:u[a],relation:u[a-1],relationTitle1:u[a-2],relationTitle2:"none"};break;case 61:this.$={id1:u[a-3],id2:u[a],relation:u[a-2],relationTitle1:"none",relationTitle2:u[a-1]};break;case 62:this.$={id1:u[a-4],id2:u[a],relation:u[a-2],relationTitle1:u[a-3],relationTitle2:u[a-1]};break;case 63:s.addNote(u[a],u[a-1]);break;case 64:s.addNote(u[a]);break;case 65:this.$={type1:u[a-2],type2:u[a],lineType:u[a-1]};break;case 66:this.$={type1:"none",type2:u[a],lineType:u[a-1]};break;case 67:this.$={type1:u[a-1],type2:"none",lineType:u[a]};break;case 68:this.$={type1:"none",type2:"none",lineType:u[a]};break;case 69:this.$=s.relationType.AGGREGATION;break;case 70:this.$=s.relationType.EXTENSION;break;case 71:this.$=s.relationType.COMPOSITION;break;case 72:this.$=s.relationType.DEPENDENCY;break;case 73:this.$=s.relationType.LOLLIPOP;break;case 74:this.$=s.lineType.LINE;break;case 75:this.$=s.lineType.DOTTED_LINE;break;case 76:case 82:this.$=u[a-2],s.setClickEvent(u[a-1],u[a]);break;case 77:case 83:this.$=u[a-3],s.setClickEvent(u[a-2],u[a-1]),s.setTooltip(u[a-2],u[a]);break;case 78:this.$=u[a-2],s.setLink(u[a-1],u[a]);break;case 79:this.$=u[a-3],s.setLink(u[a-2],u[a-1],u[a]);break;case 80:this.$=u[a-3],s.setLink(u[a-2],u[a-1]),s.setTooltip(u[a-2],u[a]);break;case 81:this.$=u[a-4],s.setLink(u[a-3],u[a-2],u[a]),s.setTooltip(u[a-3],u[a-1]);break;case 84:this.$=u[a-3],s.setClickEvent(u[a-2],u[a-1],u[a]);break;case 85:this.$=u[a-4],s.setClickEvent(u[a-3],u[a-2],u[a-1]),s.setTooltip(u[a-3],u[a]);break;case 86:this.$=u[a-3],s.setLink(u[a-2],u[a]);break;case 87:this.$=u[a-4],s.setLink(u[a-3],u[a-1],u[a]);break;case 88:this.$=u[a-4],s.setLink(u[a-3],u[a-1]),s.setTooltip(u[a-3],u[a]);break;case 89:this.$=u[a-5],s.setLink(u[a-4],u[a-2],u[a]),s.setTooltip(u[a-4],u[a-1]);break;case 90:s.setCssClass(u[a-1],u[a])}},table:[{3:1,4:2,5:3,6:4,7:18,8:t,9:n,10:s,11:i,12:5,13:6,19:u,23:r,25:7,31:38,32:22,33:39,35:10,37:11,38:12,39:13,40:14,41:15,42:16,43:17,44:a,46:c,48:o,49:23,53:l,54:24,57:h,58:A,60:p,61:d,63:y,65:E,75:C,76:m,78:k,82:g,94:F,96:b,97:f,98:_,99:D},{1:[3]},{1:[2,1]},{3:47,4:2,5:3,6:4,7:18,8:t,9:n,10:s,11:i,12:5,13:6,19:u,23:r,25:7,31:38,32:22,33:39,35:10,37:11,38:12,39:13,40:14,41:15,42:16,43:17,44:a,46:c,48:o,49:23,53:l,54:24,57:h,58:A,60:p,61:d,63:y,65:E,75:C,76:m,78:k,82:g,94:F,96:b,97:f,98:_,99:D},{1:[2,3]},{1:[2,8]},{14:48,20:[1,49]},e(B,[2,16],{16:[1,50]}),{16:[1,51]},{20:[2,11]},e(T,[2,27],{36:[1,52]}),e(T,[2,29]),e(T,[2,30]),e(T,[2,31]),e(T,[2,32]),e(T,[2,33]),e(T,[2,34]),e(T,[2,35]),e(T,[2,36]),{45:[1,53]},{47:[1,54]},e(T,[2,39]),e(T,[2,55],{62:55,66:58,67:59,28:[1,56],36:[1,57],68:S,69:v,70:N,71:L,72:$,73:I,74:O}),{50:[1,67]},e(x,[2,46],{50:[1,69],55:[1,68]}),e(T,[2,57]),e(T,[2,58]),{31:70,94:F,96:b,97:f,98:_},{31:38,32:71,33:39,94:F,96:b,97:f,98:_,99:D},{31:38,32:72,33:39,94:F,96:b,97:f,98:_,99:D},{31:38,32:73,33:39,94:F,96:b,97:f,98:_,99:D},{28:[1,74]},{31:38,32:75,33:39,94:F,96:b,97:f,98:_,99:D},{28:R,64:76},e(T,[2,4]),e(T,[2,5]),e(T,[2,6]),e(T,[2,7]),e(P,[2,22],{31:38,33:39,32:78,34:[1,79],94:F,96:b,97:f,98:_,99:D}),e(P,[2,23],{34:[1,80]}),{30:81,31:82,94:F,96:b,97:f,98:_},{31:38,32:83,33:39,94:F,96:b,97:f,98:_,99:D},e(w,[2,104]),e(w,[2,105]),e(w,[2,106]),e(w,[2,107]),e([1,16,24,27,28,34,36,50,52,55,68,69,70,71,72,73,74,79,81],[2,108]),{1:[2,2]},{15:84,17:[1,85],22:G},e([17,22],[2,12]),e(B,[2,17],{25:7,35:10,37:11,38:12,39:13,40:14,41:15,42:16,43:17,7:18,32:22,49:23,54:24,31:38,33:39,6:87,8:t,9:n,10:s,11:i,44:a,46:c,48:o,53:l,57:h,58:A,60:p,61:d,63:y,65:E,75:C,76:m,78:k,82:g,94:F,96:b,97:f,98:_,99:D}),{6:88,7:18,8:t,9:n,10:s,11:i,25:7,31:38,32:22,33:39,35:10,37:11,38:12,39:13,40:14,41:15,42:16,43:17,44:a,46:c,48:o,49:23,53:l,54:24,57:h,58:A,60:p,61:d,63:y,65:E,75:C,76:m,78:k,82:g,94:F,96:b,97:f,98:_,99:D},e(T,[2,28]),e(T,[2,37]),e(T,[2,38]),{28:[1,90],31:38,32:89,33:39,94:F,96:b,97:f,98:_,99:D},{62:91,66:58,67:59,68:S,69:v,70:N,71:L,72:$,73:I,74:O},e(T,[2,56]),{67:92,73:I,74:O},e(M,[2,68],{66:93,68:S,69:v,70:N,71:L,72:$}),e(U,[2,69]),e(U,[2,70]),e(U,[2,71]),e(U,[2,72]),e(U,[2,73]),e(Y,[2,74]),e(Y,[2,75]),{16:[1,95],38:96,51:94,54:24,57:h},{31:97,94:F,96:b,97:f,98:_},{56:98,60:K},{59:[1,100]},{28:[1,101]},{28:[1,102]},{79:[1,103],81:[1,104]},{31:105,94:F,96:b,97:f,98:_},{28:R,64:106},e(T,[2,64]),e(T,[2,109]),e(P,[2,24]),e(P,[2,25]),e(P,[2,26]),{50:[2,42]},{30:107,31:82,50:[2,20],94:F,96:b,97:f,98:_},e(z,[2,50],{26:108,27:[1,109]}),{16:[1,110]},{18:111,21:[1,112]},{16:[2,14]},e(B,[2,18]),{24:[1,113]},e(Q,[2,59]),{31:38,32:114,33:39,94:F,96:b,97:f,98:_,99:D},{28:[1,116],31:38,32:115,33:39,94:F,96:b,97:f,98:_,99:D},e(M,[2,67],{66:117,68:S,69:v,70:N,71:L,72:$}),e(M,[2,66]),{52:[1,118]},{38:96,51:119,54:24,57:h},{16:[1,120],52:[2,43]},e(x,[2,47],{50:[1,121]}),{52:[1,122]},{52:[2,53],56:123,60:K},{31:38,32:124,33:39,94:F,96:b,97:f,98:_,99:D},e(T,[2,76],{28:[1,125]}),e(T,[2,78],{28:[1,127],77:[1,126]}),e(T,[2,82],{28:[1,128],80:[1,129]}),{28:[1,130]},e(T,[2,90]),e(T,[2,63]),{50:[2,21]},e(z,[2,51]),{28:[1,131]},e(j,[2,9]),{15:132,22:G},{22:[2,13]},{1:[2,15]},e(Q,[2,61]),e(Q,[2,60]),{31:38,32:133,33:39,94:F,96:b,97:f,98:_,99:D},e(M,[2,65]),e(T,[2,40]),{52:[1,134]},{38:96,51:135,52:[2,44],54:24,57:h},{56:136,60:K},e(x,[2,48]),{52:[2,54]},e(T,[2,52]),e(T,[2,77]),e(T,[2,79]),e(T,[2,80],{77:[1,137]}),e(T,[2,83]),e(T,[2,84],{28:[1,138]}),e(T,[2,86],{28:[1,140],77:[1,139]}),{29:[1,141]},{16:[1,142]},e(Q,[2,62]),e(T,[2,41]),{52:[2,45]},{52:[1,143]},e(T,[2,81]),e(T,[2,85]),e(T,[2,87]),e(T,[2,88],{77:[1,144]}),e(z,[2,19]),e(j,[2,10]),e(x,[2,49]),e(T,[2,89])],defaultActions:{2:[2,1],4:[2,3],5:[2,8],9:[2,11],47:[2,2],81:[2,42],86:[2,14],107:[2,21],112:[2,13],113:[2,15],123:[2,54],135:[2,45]},parseError:function(e,t){if(!t.recoverable){var n=new Error(e);throw n.hash=t,n}this.trace(e)},parse:function(e){var t=this,n=[0],s=[],i=[null],u=[],r=this.table,a="",c=0,o=0,l=u.slice.call(arguments,1),h=Object.create(this.lexer),A={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(A.yy[p]=this.yy[p]);h.setInput(e,A.yy),A.yy.lexer=h,A.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var d=h.yylloc;u.push(d);var y=h.options&&h.options.ranges;"function"==typeof A.yy.parseError?this.parseError=A.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var E,C,m,k,g,F,b,f,_,D={};;){if(C=n[n.length-1],this.defaultActions[C]?m=this.defaultActions[C]:(null==E&&(_=void 0,"number"!=typeof(_=s.pop()||h.lex()||1)&&(_ instanceof Array&&(_=(s=_).pop()),_=t.symbols_[_]||_),E=_),m=r[C]&&r[C][E]),void 0===m||!m.length||!m[0]){var B="";for(g in f=[],r[C])this.terminals_[g]&&g>2&&f.push("'"+this.terminals_[g]+"'");B=h.showPosition?"Parse error on line "+(c+1)+":\n"+h.showPosition()+"\nExpecting "+f.join(", ")+", got '"+(this.terminals_[E]||E)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==E?"end of input":"'"+(this.terminals_[E]||E)+"'"),this.parseError(B,{text:h.match,token:this.terminals_[E]||E,line:h.yylineno,loc:d,expected:f})}if(m[0]instanceof Array&&m.length>1)throw new Error("Parse Error: multiple actions possible at state: "+C+", token: "+E);switch(m[0]){case 1:n.push(E),i.push(h.yytext),u.push(h.yylloc),n.push(m[1]),E=null,o=h.yyleng,a=h.yytext,c=h.yylineno,d=h.yylloc;break;case 2:if(F=this.productions_[m[1]][1],D.$=i[i.length-F],D._$={first_line:u[u.length-(F||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(F||1)].first_column,last_column:u[u.length-1].last_column},y&&(D._$.range=[u[u.length-(F||1)].range[0],u[u.length-1].range[1]]),void 0!==(k=this.performAction.apply(D,[a,o,c,A.yy,m[1],i,u].concat(l))))return k;F&&(n=n.slice(0,-1*F*2),i=i.slice(0,-1*F),u=u.slice(0,-1*F)),n.push(this.productions_[m[1]][0]),i.push(D.$),u.push(D._$),b=r[n[n.length-2]][n[n.length-1]],n.push(b);break;case 3:return!0}}return!0}},W={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var s=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===s.length?this.yylloc.first_column:0)+s[s.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var n,s,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(s=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=s.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:s?s[s.length-1].length-s[s.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,n,s;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=n,s=u,this.options.backtrack_lexer){if(!1!==(e=this.test_match(n,i[u])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,i[s]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var e=this.next();return e||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,n,s){switch(n){case 0:return this.begin("open_directive"),19;case 1:return 8;case 2:return 9;case 3:return 10;case 4:return 11;case 5:return this.begin("type_directive"),20;case 6:return this.popState(),this.begin("arg_directive"),17;case 7:return this.popState(),this.popState(),22;case 8:return 21;case 9:case 10:case 19:case 34:case 39:case 43:case 50:break;case 11:return this.begin("acc_title"),44;case 12:return this.popState(),"acc_title_value";case 13:return this.begin("acc_descr"),46;case 14:return this.popState(),"acc_descr_value";case 15:this.begin("acc_descr_multiline");break;case 16:case 24:case 27:case 29:case 61:case 64:this.popState();break;case 17:return"acc_descr_multiline_value";case 18:case 38:return 16;case 20:case 21:return 23;case 22:case 40:case 48:return"EDGE_STATE";case 23:this.begin("callback_name");break;case 25:this.popState(),this.begin("callback_args");break;case 26:return 79;case 28:return 80;case 30:return"STR";case 31:this.begin("string");break;case 32:return this.begin("namespace"),53;case 33:case 42:return this.popState(),16;case 35:return this.begin("namespace-body"),50;case 36:case 46:return this.popState(),52;case 37:case 47:return"EOF_IN_STRUCT";case 41:return this.begin("class"),57;case 44:return this.popState(),this.popState(),52;case 45:return this.begin("class-body"),50;case 49:return"OPEN_IN_STRUCT";case 51:return"MEMBER";case 52:return 82;case 53:return 75;case 54:return 76;case 55:return 78;case 56:return 63;case 57:return 65;case 58:return 58;case 59:return 59;case 60:return 81;case 62:return"GENERICTYPE";case 63:this.begin("generic");break;case 65:return"BQUOTE_STR";case 66:this.begin("bqstring");break;case 67:case 68:case 69:case 70:return 77;case 71:case 72:return 69;case 73:case 74:return 71;case 75:return 70;case 76:return 68;case 77:return 72;case 78:return 73;case 79:return 74;case 80:return 36;case 81:return 55;case 82:return 94;case 83:return"DOT";case 84:return"PLUS";case 85:return 91;case 86:case 87:return"EQUALS";case 88:return 98;case 89:return 27;case 90:return 29;case 91:return"PUNCTUATION";case 92:return 97;case 93:return 96;case 94:return 93;case 95:return 24}},rules:[/^(?:%%\{)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:((?:(?!\}%%)[^:.])*))/,/^(?::)/,/^(?:\}%%)/,/^(?:((?:(?!\}%%).|\n)*))/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\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\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\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\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\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\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\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]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[31,36,37,38,39,40,41,52,53,54,55,56,57,58,59,60,63,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],inclusive:!1},namespace:{rules:[31,32,33,34,35,52,53,54,55,56,57,58,59,60,63,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],inclusive:!1},"class-body":{rules:[31,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,63,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],inclusive:!1},class:{rules:[31,42,43,44,45,52,53,54,55,56,57,58,59,60,63,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],inclusive:!1},acc_descr_multiline:{rules:[16,17,31,52,53,54,55,56,57,58,59,60,63,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],inclusive:!1},acc_descr:{rules:[14,31,52,53,54,55,56,57,58,59,60,63,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],inclusive:!1},acc_title:{rules:[12,31,52,53,54,55,56,57,58,59,60,63,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],inclusive:!1},arg_directive:{rules:[7,8,31,52,53,54,55,56,57,58,59,60,63,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],inclusive:!1},type_directive:{rules:[6,7,31,52,53,54,55,56,57,58,59,60,63,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],inclusive:!1},open_directive:{rules:[5,31,52,53,54,55,56,57,58,59,60,63,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],inclusive:!1},callback_args:{rules:[27,28,31,52,53,54,55,56,57,58,59,60,63,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],inclusive:!1},callback_name:{rules:[24,25,26,31,52,53,54,55,56,57,58,59,60,63,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],inclusive:!1},href:{rules:[31,52,53,54,55,56,57,58,59,60,63,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],inclusive:!1},struct:{rules:[31,52,53,54,55,56,57,58,59,60,63,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],inclusive:!1},generic:{rules:[31,52,53,54,55,56,57,58,59,60,61,62,63,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],inclusive:!1},bqstring:{rules:[31,52,53,54,55,56,57,58,59,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],inclusive:!1},string:{rules:[29,30,31,52,53,54,55,56,57,58,59,60,63,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,9,10,11,13,15,18,19,20,21,22,23,31,32,41,52,53,54,55,56,57,58,59,60,63,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],inclusive:!0}}};function H(){this.yy={}}return X.lexer=W,H.prototype=X,X.Parser=H,new H}();u.parser=u;const r=u,a="classId-";let c=[],o={},l=[],h=0,A={},p=0,d=[];const y=e=>i.e.sanitizeText(e,(0,i.c)()),E=function(e){let t="",n=e;if(e.indexOf("~")>0){const s=e.split("~");n=y(s[0]),t=y(s[1])}return{className:n,type:t}},C=function(e){const t=E(e);void 0===o[t.className]&&(o[t.className]={id:t.className,type:t.type,label:t.className,cssClasses:[],methods:[],members:[],annotations:[],domId:a+t.className+"-"+h},h++)},m=function(e){if(e in o)return o[e].domId;throw new Error("Class not found: "+e)},k=function(e,t){const n=E(e).className,s=o[n];if("string"==typeof t){const e=t.trim();e.startsWith("<<")&&e.endsWith(">>")?s.annotations.push(y(e.substring(2,e.length-2))):e.indexOf(")")>0?s.methods.push(y(e)):e&&s.members.push(y(e))}},g=function(e,t){e.split(",").forEach((function(e){let n=e;e[0].match(/\d/)&&(n=a+n),void 0!==o[n]&&o[n].cssClasses.push(t)}))},F=function(e,t,n){if("loose"!==(0,i.c)().securityLevel)return;if(void 0===t)return;const s=e;if(void 0!==o[s]){const e=m(s);let u=[];if("string"==typeof n){u=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let e=0;e")),e.classed("hover",!0)})).on("mouseout",(function(){t.transition().duration(500).style("opacity",0);(0,s.Ys)(this).classed("hover",!1)}))};d.push(b);let f="TB";const _={parseDirective:function(e,t,n){i.m.parseDirective(this,e,t,n)},setAccTitle:i.s,getAccTitle:i.g,getAccDescription:i.a,setAccDescription:i.b,getConfig:()=>(0,i.c)().class,addClass:C,bindFunctions:function(e){d.forEach((function(t){t(e)}))},clear:function(){c=[],o={},l=[],d=[],d.push(b),A={},p=0,(0,i.v)()},getClass:function(e){return o[e]},getClasses:function(){return o},getNotes:function(){return l},addAnnotation:function(e,t){const n=E(e).className;o[n].annotations.push(t)},addNote:function(e,t){const n={id:`note${l.length}`,class:t,text:e};l.push(n)},getRelations:function(){return c},addRelation:function(e){i.l.debug("Adding relation: "+JSON.stringify(e)),C(e.id1),C(e.id2),e.id1=E(e.id1).className,e.id2=E(e.id2).className,e.relationTitle1=i.e.sanitizeText(e.relationTitle1.trim(),(0,i.c)()),e.relationTitle2=i.e.sanitizeText(e.relationTitle2.trim(),(0,i.c)()),c.push(e)},getDirection:()=>f,setDirection:e=>{f=e},addMember:k,addMembers:function(e,t){Array.isArray(t)&&(t.reverse(),t.forEach((t=>k(e,t))))},cleanupLabel:function(e){return e.startsWith(":")&&(e=e.substring(1)),y(e.trim())},lineType:{LINE:0,DOTTED_LINE:1},relationType:{AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4},setClickEvent:function(e,t,n){e.split(",").forEach((function(e){F(e,t,n),o[e].haveCallback=!0})),g(e,"clickable")},setCssClass:g,setLink:function(e,t,n){const s=(0,i.c)();e.split(",").forEach((function(e){let u=e;e[0].match(/\d/)&&(u=a+u),void 0!==o[u]&&(o[u].link=i.u.formatUrl(t,s),"sandbox"===s.securityLevel?o[u].linkTarget="_top":o[u].linkTarget="string"==typeof n?y(n):"_blank")})),g(e,"clickable")},getTooltip:function(e,t){return t?A[t].classes[e].tooltip:o[e].tooltip},setTooltip:function(e,t){e.split(",").forEach((function(e){void 0!==t&&(o[e].tooltip=y(t))}))},lookUpDomId:m,setDiagramTitle:i.r,getDiagramTitle:i.t,setClassLabel:function(e,t){t&&(t=y(t));const{className:n}=E(e);o[n].label=t},addNamespace:function(e){void 0===A[e]&&(A[e]={id:e,classes:{},children:{},domId:a+e+"-"+p},p++)},addClassesToNamespace:function(e,t){void 0!==A[e]&&t.map((t=>{o[t].parent=e,A[e].classes[t]=o[t]}))},getNamespace:function(e){return A[e]},getNamespaces:function(){return A}},D=e=>`g.classGroup text {\n fill: ${e.nodeBorder};\n fill: ${e.classText};\n stroke: none;\n font-family: ${e.fontFamily};\n font-size: 10px;\n\n .title {\n font-weight: bolder;\n }\n\n}\n\n.nodeLabel, .edgeLabel {\n color: ${e.classText};\n}\n.edgeLabel .label rect {\n fill: ${e.mainBkg};\n}\n.label text {\n fill: ${e.classText};\n}\n.edgeLabel .label span {\n background: ${e.mainBkg};\n}\n\n.classTitle {\n font-weight: bolder;\n}\n.node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${e.mainBkg};\n stroke: ${e.nodeBorder};\n stroke-width: 1px;\n }\n\n\n.divider {\n stroke: ${e.nodeBorder};\n stroke-width: 1;\n}\n\ng.clickable {\n cursor: pointer;\n}\n\ng.classGroup rect {\n fill: ${e.mainBkg};\n stroke: ${e.nodeBorder};\n}\n\ng.classGroup line {\n stroke: ${e.nodeBorder};\n stroke-width: 1;\n}\n\n.classLabel .box {\n stroke: none;\n stroke-width: 0;\n fill: ${e.mainBkg};\n opacity: 0.5;\n}\n\n.classLabel .label {\n fill: ${e.nodeBorder};\n font-size: 10px;\n}\n\n.relation {\n stroke: ${e.lineColor};\n stroke-width: 1;\n fill: none;\n}\n\n.dashed-line{\n stroke-dasharray: 3;\n}\n\n.dotted-line{\n stroke-dasharray: 1 2;\n}\n\n#compositionStart, .composition {\n fill: ${e.lineColor} !important;\n stroke: ${e.lineColor} !important;\n stroke-width: 1;\n}\n\n#compositionEnd, .composition {\n fill: ${e.lineColor} !important;\n stroke: ${e.lineColor} !important;\n stroke-width: 1;\n}\n\n#dependencyStart, .dependency {\n fill: ${e.lineColor} !important;\n stroke: ${e.lineColor} !important;\n stroke-width: 1;\n}\n\n#dependencyStart, .dependency {\n fill: ${e.lineColor} !important;\n stroke: ${e.lineColor} !important;\n stroke-width: 1;\n}\n\n#extensionStart, .extension {\n fill: ${e.mainBkg} !important;\n stroke: ${e.lineColor} !important;\n stroke-width: 1;\n}\n\n#extensionEnd, .extension {\n fill: ${e.mainBkg} !important;\n stroke: ${e.lineColor} !important;\n stroke-width: 1;\n}\n\n#aggregationStart, .aggregation {\n fill: ${e.mainBkg} !important;\n stroke: ${e.lineColor} !important;\n stroke-width: 1;\n}\n\n#aggregationEnd, .aggregation {\n fill: ${e.mainBkg} !important;\n stroke: ${e.lineColor} !important;\n stroke-width: 1;\n}\n\n#lollipopStart, .lollipop {\n fill: ${e.mainBkg} !important;\n stroke: ${e.lineColor} !important;\n stroke-width: 1;\n}\n\n#lollipopEnd, .lollipop {\n fill: ${e.mainBkg} !important;\n stroke: ${e.lineColor} !important;\n stroke-width: 1;\n}\n\n.edgeTerminals {\n font-size: 11px;\n}\n\n.classTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${e.textColor};\n}\n`}}]); \ No newline at end of file diff --git a/assets/js/1535.fdbd311c.js b/assets/js/1535.fdbd311c.js new file mode 100644 index 00000000..000b42ae --- /dev/null +++ b/assets/js/1535.fdbd311c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkbeacon_docs=self.webpackChunkbeacon_docs||[]).push([[1535],{91535:(t,e,i)=>{i.d(e,{D:()=>l,S:()=>c,a:()=>h,b:()=>a,c:()=>o,d:()=>B,p:()=>r,s:()=>P});var s=i(81581),n=function(){var t=function(t,e,i,s){for(i=i||{},s=t.length;s--;i[t[s]]=e);return i},e=[1,2],i=[1,3],s=[1,5],n=[1,7],r=[2,5],o=[1,15],a=[1,17],c=[1,21],l=[1,22],h=[1,23],u=[1,24],d=[1,37],p=[1,25],y=[1,26],f=[1,27],g=[1,28],_=[1,29],m=[1,32],S=[1,33],k=[1,34],T=[1,35],b=[1,36],E=[1,39],v=[1,40],x=[1,41],D=[1,42],C=[1,38],$=[1,45],A=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],L=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],I=[1,4,5,7,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],O=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],N={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,directive:6,SD:7,document:8,line:9,statement:10,classDefStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"--\x3e":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,classDef:38,CLASSDEF_ID:39,CLASSDEF_STYLEOPTS:40,DEFAULT:41,class:42,CLASSENTITY_IDS:43,STYLECLASS:44,openDirective:45,typeDirective:46,closeDirective:47,":":48,argDirective:49,direction_tb:50,direction_bt:51,direction_rl:52,direction_lr:53,eol:54,";":55,EDGE_STATE:56,STYLE_SEPARATOR:57,left_of:58,right_of:59,open_directive:60,type_directive:61,arg_directive:62,close_directive:63,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",7:"SD",14:"DESCR",15:"--\x3e",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"classDef",39:"CLASSDEF_ID",40:"CLASSDEF_STYLEOPTS",41:"DEFAULT",42:"class",43:"CLASSENTITY_IDS",44:"STYLECLASS",48:":",50:"direction_tb",51:"direction_bt",52:"direction_rl",53:"direction_lr",55:";",56:"EDGE_STATE",57:"STYLE_SEPARATOR",58:"left_of",59:"right_of",60:"open_directive",61:"type_directive",62:"arg_directive",63:"close_directive"},productions_:[0,[3,2],[3,2],[3,2],[3,2],[8,0],[8,2],[9,2],[9,1],[9,1],[10,1],[10,1],[10,1],[10,2],[10,3],[10,4],[10,1],[10,2],[10,1],[10,4],[10,3],[10,6],[10,1],[10,1],[10,1],[10,1],[10,4],[10,4],[10,1],[10,1],[10,2],[10,2],[10,1],[11,3],[11,3],[12,3],[6,3],[6,5],[32,1],[32,1],[32,1],[32,1],[54,1],[54,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1],[45,1],[46,1],[49,1],[47,1]],performAction:function(t,e,i,s,n,r,o){var a=r.length-1;switch(n){case 4:return s.setRootDoc(r[a]),r[a];case 5:this.$=[];break;case 6:"nl"!=r[a]&&(r[a-1].push(r[a]),this.$=r[a-1]);break;case 7:case 8:case 12:this.$=r[a];break;case 9:this.$="nl";break;case 13:const t=r[a-1];t.description=s.trimColon(r[a]),this.$=t;break;case 14:this.$={stmt:"relation",state1:r[a-2],state2:r[a]};break;case 15:const e=s.trimColon(r[a]);this.$={stmt:"relation",state1:r[a-3],state2:r[a-1],description:e};break;case 19:this.$={stmt:"state",id:r[a-3],type:"default",description:"",doc:r[a-1]};break;case 20:var c=r[a],l=r[a-2].trim();if(r[a].match(":")){var h=r[a].split(":");c=h[0],l=[l,h[1]]}this.$={stmt:"state",id:c,type:"default",description:l};break;case 21:this.$={stmt:"state",id:r[a-3],type:"default",description:r[a-5],doc:r[a-1]};break;case 22:this.$={stmt:"state",id:r[a],type:"fork"};break;case 23:this.$={stmt:"state",id:r[a],type:"join"};break;case 24:this.$={stmt:"state",id:r[a],type:"choice"};break;case 25:this.$={stmt:"state",id:s.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:r[a-1].trim(),note:{position:r[a-2].trim(),text:r[a].trim()}};break;case 30:this.$=r[a].trim(),s.setAccTitle(this.$);break;case 31:case 32:this.$=r[a].trim(),s.setAccDescription(this.$);break;case 33:case 34:this.$={stmt:"classDef",id:r[a-1].trim(),classes:r[a].trim()};break;case 35:this.$={stmt:"applyClass",id:r[a-1].trim(),styleClass:r[a].trim()};break;case 38:s.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:s.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:s.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:s.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:r[a].trim(),type:"default",description:""};break;case 46:case 47:this.$={stmt:"state",id:r[a-2].trim(),classes:[r[a].trim()],type:"default",description:""};break;case 50:s.parseDirective("%%{","open_directive");break;case 51:s.parseDirective(r[a],"type_directive");break;case 52:r[a]=r[a].trim().replace(/'/g,'"'),s.parseDirective(r[a],"arg_directive");break;case 53:s.parseDirective("}%%","close_directive","state")}},table:[{3:1,4:e,5:i,6:4,7:s,45:6,60:n},{1:[3]},{3:8,4:e,5:i,6:4,7:s,45:6,60:n},{3:9,4:e,5:i,6:4,7:s,45:6,60:n},{3:10,4:e,5:i,6:4,7:s,45:6,60:n},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],r,{8:11}),{46:12,61:[1,13]},{61:[2,50]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{1:[2,4],4:o,5:a,6:30,9:14,10:16,11:18,12:19,13:20,16:c,17:l,19:h,22:u,24:d,25:p,26:y,27:f,28:g,29:_,32:31,33:m,35:S,37:k,38:T,42:b,45:6,50:E,51:v,52:x,53:D,56:C,60:n},{47:43,48:[1,44],63:$},t([48,63],[2,51]),t(A,[2,6]),{6:30,10:46,11:18,12:19,13:20,16:c,17:l,19:h,22:u,24:d,25:p,26:y,27:f,28:g,29:_,32:31,33:m,35:S,37:k,38:T,42:b,45:6,50:E,51:v,52:x,53:D,56:C,60:n},t(A,[2,8]),t(A,[2,9]),t(A,[2,10]),t(A,[2,11]),t(A,[2,12],{14:[1,47],15:[1,48]}),t(A,[2,16]),{18:[1,49]},t(A,[2,18],{20:[1,50]}),{23:[1,51]},t(A,[2,22]),t(A,[2,23]),t(A,[2,24]),t(A,[2,25]),{30:52,31:[1,53],58:[1,54],59:[1,55]},t(A,[2,28]),t(A,[2,29]),{34:[1,56]},{36:[1,57]},t(A,[2,32]),{39:[1,58],41:[1,59]},{43:[1,60]},t(L,[2,44],{57:[1,61]}),t(L,[2,45],{57:[1,62]}),t(A,[2,38]),t(A,[2,39]),t(A,[2,40]),t(A,[2,41]),t(I,[2,36]),{49:63,62:[1,64]},t(I,[2,53]),t(A,[2,7]),t(A,[2,13]),{13:65,24:d,56:C},t(A,[2,17]),t(O,r,{8:66}),{24:[1,67]},{24:[1,68]},{23:[1,69]},{24:[2,48]},{24:[2,49]},t(A,[2,30]),t(A,[2,31]),{40:[1,70]},{40:[1,71]},{44:[1,72]},{24:[1,73]},{24:[1,74]},{47:75,63:$},{63:[2,52]},t(A,[2,14],{14:[1,76]}),{4:o,5:a,6:30,9:14,10:16,11:18,12:19,13:20,16:c,17:l,19:h,21:[1,77],22:u,24:d,25:p,26:y,27:f,28:g,29:_,32:31,33:m,35:S,37:k,38:T,42:b,45:6,50:E,51:v,52:x,53:D,56:C,60:n},t(A,[2,20],{20:[1,78]}),{31:[1,79]},{24:[1,80]},t(A,[2,33]),t(A,[2,34]),t(A,[2,35]),t(L,[2,46]),t(L,[2,47]),t(I,[2,37]),t(A,[2,15]),t(A,[2,19]),t(O,r,{8:81}),t(A,[2,26]),t(A,[2,27]),{4:o,5:a,6:30,9:14,10:16,11:18,12:19,13:20,16:c,17:l,19:h,21:[1,82],22:u,24:d,25:p,26:y,27:f,28:g,29:_,32:31,33:m,35:S,37:k,38:T,42:b,45:6,50:E,51:v,52:x,53:D,56:C,60:n},t(A,[2,21])],defaultActions:{7:[2,50],8:[2,1],9:[2,2],10:[2,3],54:[2,48],55:[2,49],64:[2,52]},parseError:function(t,e){if(!e.recoverable){var i=new Error(t);throw i.hash=e,i}this.trace(t)},parse:function(t){var e=this,i=[0],s=[],n=[null],r=[],o=this.table,a="",c=0,l=0,h=r.slice.call(arguments,1),u=Object.create(this.lexer),d={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(d.yy[p]=this.yy[p]);u.setInput(t,d.yy),d.yy.lexer=u,d.yy.parser=this,void 0===u.yylloc&&(u.yylloc={});var y=u.yylloc;r.push(y);var f=u.options&&u.options.ranges;"function"==typeof d.yy.parseError?this.parseError=d.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var g,_,m,S,k,T,b,E,v,x={};;){if(_=i[i.length-1],this.defaultActions[_]?m=this.defaultActions[_]:(null==g&&(v=void 0,"number"!=typeof(v=s.pop()||u.lex()||1)&&(v instanceof Array&&(v=(s=v).pop()),v=e.symbols_[v]||v),g=v),m=o[_]&&o[_][g]),void 0===m||!m.length||!m[0]){var D="";for(k in E=[],o[_])this.terminals_[k]&&k>2&&E.push("'"+this.terminals_[k]+"'");D=u.showPosition?"Parse error on line "+(c+1)+":\n"+u.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[g]||g)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==g?"end of input":"'"+(this.terminals_[g]||g)+"'"),this.parseError(D,{text:u.match,token:this.terminals_[g]||g,line:u.yylineno,loc:y,expected:E})}if(m[0]instanceof Array&&m.length>1)throw new Error("Parse Error: multiple actions possible at state: "+_+", token: "+g);switch(m[0]){case 1:i.push(g),n.push(u.yytext),r.push(u.yylloc),i.push(m[1]),g=null,l=u.yyleng,a=u.yytext,c=u.yylineno,y=u.yylloc;break;case 2:if(T=this.productions_[m[1]][1],x.$=n[n.length-T],x._$={first_line:r[r.length-(T||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(T||1)].first_column,last_column:r[r.length-1].last_column},f&&(x._$.range=[r[r.length-(T||1)].range[0],r[r.length-1].range[1]]),void 0!==(S=this.performAction.apply(x,[a,l,c,d.yy,m[1],n,r].concat(h))))return S;T&&(i=i.slice(0,-1*T*2),n=n.slice(0,-1*T),r=r.slice(0,-1*T)),i.push(this.productions_[m[1]][0]),n.push(x.$),r.push(x._$),b=o[i[i.length-2]][i[i.length-1]],i.push(b);break;case 3:return!0}}return!0}},R={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var s=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var n=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===s.length?this.yylloc.first_column:0)+s[s.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var i,s,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(n.yylloc.range=this.yylloc.range.slice(0))),(s=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=s.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:s?s[s.length-1].length-s[s.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(var r in n)this[r]=n[r];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,i,s;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),r=0;re[0].length)){if(e=i,s=r,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,n[r])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[s]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,i,s){switch(i){case 0:return 41;case 1:case 44:return 50;case 2:case 45:return 51;case 3:case 46:return 52;case 4:case 47:return 53;case 5:return this.begin("open_directive"),60;case 6:return this.begin("type_directive"),61;case 7:return this.popState(),this.begin("arg_directive"),48;case 8:return this.popState(),this.popState(),63;case 9:return 62;case 10:case 11:case 13:case 14:case 15:case 16:case 56:case 58:case 64:break;case 12:case 79:return 5;case 17:case 34:return this.pushState("SCALE"),17;case 18:case 35:return 18;case 19:case 25:case 36:case 51:case 54:this.popState();break;case 20:return this.begin("acc_title"),33;case 21:return this.popState(),"acc_title_value";case 22:return this.begin("acc_descr"),35;case 23:return this.popState(),"acc_descr_value";case 24:this.begin("acc_descr_multiline");break;case 26:return"acc_descr_multiline_value";case 27:return this.pushState("CLASSDEF"),38;case 28:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 29:return this.popState(),this.pushState("CLASSDEFID"),39;case 30:return this.popState(),40;case 31:return this.pushState("CLASS"),42;case 32:return this.popState(),this.pushState("CLASS_STYLE"),43;case 33:return this.popState(),44;case 37:this.pushState("STATE");break;case 38:case 41:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),25;case 39:case 42:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),26;case 40:case 43:return this.popState(),e.yytext=e.yytext.slice(0,-10).trim(),27;case 48:this.pushState("STATE_STRING");break;case 49:return this.pushState("STATE_ID"),"AS";case 50:case 66:return this.popState(),"ID";case 52:return"STATE_DESCR";case 53:return 19;case 55:return this.popState(),this.pushState("struct"),20;case 57:return this.popState(),21;case 59:return this.begin("NOTE"),29;case 60:return this.popState(),this.pushState("NOTE_ID"),58;case 61:return this.popState(),this.pushState("NOTE_ID"),59;case 62:this.popState(),this.pushState("FLOATING_NOTE");break;case 63:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 65:return"NOTE_TEXT";case 67:return this.popState(),this.pushState("NOTE_TEXT"),24;case 68:return this.popState(),e.yytext=e.yytext.substr(2).trim(),31;case 69:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),31;case 70:case 71:return 7;case 72:return 16;case 73:return 56;case 74:return 24;case 75:return e.yytext=e.yytext.trim(),14;case 76:return 15;case 77:return 28;case 78:return 57;case 80:return"INVALID"}},rules:[/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[14,15],inclusive:!1},close_directive:{rules:[14,15],inclusive:!1},arg_directive:{rules:[8,9,14,15],inclusive:!1},type_directive:{rules:[7,8,14,15],inclusive:!1},open_directive:{rules:[6,14,15],inclusive:!1},struct:{rules:[14,15,27,31,37,44,45,46,47,56,57,58,59,73,74,75,76,77],inclusive:!1},FLOATING_NOTE_ID:{rules:[66],inclusive:!1},FLOATING_NOTE:{rules:[63,64,65],inclusive:!1},NOTE_TEXT:{rules:[68,69],inclusive:!1},NOTE_ID:{rules:[67],inclusive:!1},NOTE:{rules:[60,61,62],inclusive:!1},CLASS_STYLE:{rules:[33],inclusive:!1},CLASS:{rules:[32],inclusive:!1},CLASSDEFID:{rules:[30],inclusive:!1},CLASSDEF:{rules:[28,29],inclusive:!1},acc_descr_multiline:{rules:[25,26],inclusive:!1},acc_descr:{rules:[23],inclusive:!1},acc_title:{rules:[21],inclusive:!1},SCALE:{rules:[18,19,35,36],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[50],inclusive:!1},STATE_STRING:{rules:[51,52],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[14,15,38,39,40,41,42,43,48,49,53,54,55],inclusive:!1},ID:{rules:[14,15],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,10,11,12,13,15,16,17,20,22,24,27,31,34,37,55,59,70,71,72,73,74,75,76,78,79,80],inclusive:!0}}};function w(){this.yy={}}return N.lexer=R,w.prototype=N,N.Parser=w,new w}();n.parser=n;const r=n,o="TB",a="state",c="relation",l="default",h="divider",u="[*]",d="start",p=u,y="color",f="fill";let g="LR",_=[],m={};let S={root:{relations:[],states:{},documents:{}}},k=S.root,T=0,b=0;const E=t=>JSON.parse(JSON.stringify(t)),v=(t,e,i)=>{if(e.stmt===c)v(t,e.state1,!0),v(t,e.state2,!1);else if(e.stmt===a&&("[*]"===e.id?(e.id=i?t.id+"_start":t.id+"_end",e.start=i):e.id=e.id.trim()),e.doc){const t=[];let i,n=[];for(i=0;i0&&n.length>0){const i={stmt:a,id:(0,s.I)(),type:"divider",doc:E(n)};t.push(E(i)),e.doc=t}e.doc.forEach((t=>v(e,t,!0)))}},x=function(t,e=l,i=null,n=null,r=null,o=null,a=null,c=null){const h=null==t?void 0:t.trim();if(void 0===k.states[h]?(s.l.info("Adding state ",h,n),k.states[h]={id:h,descriptions:[],type:e,doc:i,note:r,classes:[],styles:[],textStyles:[]}):(k.states[h].doc||(k.states[h].doc=i),k.states[h].type||(k.states[h].type=e)),n&&(s.l.info("Setting state description",h,n),"string"==typeof n&&I(h,n.trim()),"object"==typeof n&&n.forEach((t=>I(h,t.trim())))),r&&(k.states[h].note=r,k.states[h].note.text=s.e.sanitizeText(k.states[h].note.text,(0,s.c)())),o){s.l.info("Setting state classes",h,o);("string"==typeof o?[o]:o).forEach((t=>N(h,t.trim())))}if(a){s.l.info("Setting state styles",h,a);("string"==typeof a?[a]:a).forEach((t=>R(h,t.trim())))}if(c){s.l.info("Setting state styles",h,a);("string"==typeof c?[c]:c).forEach((t=>w(h,t.trim())))}},D=function(t){S={root:{relations:[],states:{},documents:{}}},k=S.root,T=0,m={},t||(0,s.v)()},C=function(t){return k.states[t]};function $(t=""){let e=t;return t===u&&(T++,e=`${d}${T}`),e}function A(t="",e=l){return t===u?d:e}const L=function(t,e,i){if("object"==typeof t)!function(t,e,i){let n=$(t.id.trim()),r=A(t.id.trim(),t.type),o=$(e.id.trim()),a=A(e.id.trim(),e.type);x(n,r,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles),x(o,a,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles),k.relations.push({id1:n,id2:o,relationTitle:s.e.sanitizeText(i,(0,s.c)())})}(t,e,i);else{const n=$(t.trim()),r=A(t),o=function(t=""){let e=t;return t===p&&(T++,e=`end${T}`),e}(e.trim()),a=function(t="",e=l){return t===p?"end":e}(e);x(n,r),x(o,a),k.relations.push({id1:n,id2:o,title:s.e.sanitizeText(i,(0,s.c)())})}},I=function(t,e){const i=k.states[t],n=e.startsWith(":")?e.replace(":","").trim():e;i.descriptions.push(s.e.sanitizeText(n,(0,s.c)()))},O=function(t,e=""){void 0===m[t]&&(m[t]={id:t,styles:[],textStyles:[]});const i=m[t];null!=e&&e.split(",").forEach((t=>{const e=t.replace(/([^;]*);/,"$1").trim();if(t.match(y)){const t=e.replace(f,"bgFill").replace(y,f);i.textStyles.push(t)}i.styles.push(e)}))},N=function(t,e){t.split(",").forEach((function(t){let i=C(t);if(void 0===i){const e=t.trim();x(e),i=C(e)}i.classes.push(e)}))},R=function(t,e){const i=C(t);void 0!==i&&i.textStyles.push(e)},w=function(t,e){const i=C(t);void 0!==i&&i.textStyles.push(e)},B={parseDirective:function(t,e,i){s.m.parseDirective(this,t,e,i)},getConfig:()=>(0,s.c)().state,addState:x,clear:D,getState:C,getStates:function(){return k.states},getRelations:function(){return k.relations},getClasses:function(){return m},getDirection:()=>g,addRelation:L,getDividerId:()=>(b++,"divider-id-"+b),setDirection:t=>{g=t},cleanupLabel:function(t){return":"===t.substring(0,1)?t.substr(2).trim():t.trim()},lineType:{LINE:0,DOTTED_LINE:1},relationType:{AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},logDocuments:function(){s.l.info("Documents = ",S)},getRootDoc:()=>_,setRootDoc:t=>{s.l.info("Setting root doc",t),_=t},getRootDocV2:()=>(v({id:"root"},{id:"root",doc:_},!0),{id:"root",doc:_}),extract:t=>{let e;e=t.doc?t.doc:t,s.l.info(e),D(!0),s.l.info("Extract",e),e.forEach((t=>{switch(t.stmt){case a:x(t.id.trim(),t.type,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles);break;case c:L(t.state1,t.state2,t.description);break;case"classDef":O(t.id.trim(),t.classes);break;case"applyClass":N(t.id.trim(),t.styleClass)}}))},trimColon:t=>t&&":"===t[0]?t.substr(1).trim():t.trim(),getAccTitle:s.g,setAccTitle:s.s,getAccDescription:s.a,setAccDescription:s.b,addStyleClass:O,setCssClass:N,addDescription:I,setDiagramTitle:s.r,getDiagramTitle:s.t},P=t=>`\ndefs #statediagram-barbEnd {\n fill: ${t.transitionColor};\n stroke: ${t.transitionColor};\n }\ng.stateGroup text {\n fill: ${t.nodeBorder};\n stroke: none;\n font-size: 10px;\n}\ng.stateGroup text {\n fill: ${t.textColor};\n stroke: none;\n font-size: 10px;\n\n}\ng.stateGroup .state-title {\n font-weight: bolder;\n fill: ${t.stateLabelColor};\n}\n\ng.stateGroup rect {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n}\n\ng.stateGroup line {\n stroke: ${t.lineColor};\n stroke-width: 1;\n}\n\n.transition {\n stroke: ${t.transitionColor};\n stroke-width: 1;\n fill: none;\n}\n\n.stateGroup .composit {\n fill: ${t.background};\n border-bottom: 1px\n}\n\n.stateGroup .alt-composit {\n fill: #e0e0e0;\n border-bottom: 1px\n}\n\n.state-note {\n stroke: ${t.noteBorderColor};\n fill: ${t.noteBkgColor};\n\n text {\n fill: ${t.noteTextColor};\n stroke: none;\n font-size: 10px;\n }\n}\n\n.stateLabel .box {\n stroke: none;\n stroke-width: 0;\n fill: ${t.mainBkg};\n opacity: 0.5;\n}\n\n.edgeLabel .label rect {\n fill: ${t.labelBackgroundColor};\n opacity: 0.5;\n}\n.edgeLabel .label text {\n fill: ${t.transitionLabelColor||t.tertiaryTextColor};\n}\n.label div .edgeLabel {\n color: ${t.transitionLabelColor||t.tertiaryTextColor};\n}\n\n.stateLabel text {\n fill: ${t.stateLabelColor};\n font-size: 10px;\n font-weight: bold;\n}\n\n.node circle.state-start {\n fill: ${t.specialStateColor};\n stroke: ${t.specialStateColor};\n}\n\n.node .fork-join {\n fill: ${t.specialStateColor};\n stroke: ${t.specialStateColor};\n}\n\n.node circle.state-end {\n fill: ${t.innerEndBackground};\n stroke: ${t.background};\n stroke-width: 1.5\n}\n.end-state-inner {\n fill: ${t.compositeBackground||t.background};\n // stroke: ${t.background};\n stroke-width: 1.5\n}\n\n.node rect {\n fill: ${t.stateBkg||t.mainBkg};\n stroke: ${t.stateBorder||t.nodeBorder};\n stroke-width: 1px;\n}\n.node polygon {\n fill: ${t.mainBkg};\n stroke: ${t.stateBorder||t.nodeBorder};;\n stroke-width: 1px;\n}\n#statediagram-barbEnd {\n fill: ${t.lineColor};\n}\n\n.statediagram-cluster rect {\n fill: ${t.compositeTitleBackground};\n stroke: ${t.stateBorder||t.nodeBorder};\n stroke-width: 1px;\n}\n\n.cluster-label, .nodeLabel {\n color: ${t.stateLabelColor};\n}\n\n.statediagram-cluster rect.outer {\n rx: 5px;\n ry: 5px;\n}\n.statediagram-state .divider {\n stroke: ${t.stateBorder||t.nodeBorder};\n}\n\n.statediagram-state .title-state {\n rx: 5px;\n ry: 5px;\n}\n.statediagram-cluster.statediagram-cluster .inner {\n fill: ${t.compositeBackground||t.background};\n}\n.statediagram-cluster.statediagram-cluster-alt .inner {\n fill: ${t.altBackground?t.altBackground:"#efefef"};\n}\n\n.statediagram-cluster .inner {\n rx:0;\n ry:0;\n}\n\n.statediagram-state rect.basic {\n rx: 5px;\n ry: 5px;\n}\n.statediagram-state rect.divider {\n stroke-dasharray: 10,10;\n fill: ${t.altBackground?t.altBackground:"#efefef"};\n}\n\n.note-edge {\n stroke-dasharray: 5;\n}\n\n.statediagram-note rect {\n fill: ${t.noteBkgColor};\n stroke: ${t.noteBorderColor};\n stroke-width: 1px;\n rx: 0;\n ry: 0;\n}\n.statediagram-note rect {\n fill: ${t.noteBkgColor};\n stroke: ${t.noteBorderColor};\n stroke-width: 1px;\n rx: 0;\n ry: 0;\n}\n\n.statediagram-note text {\n fill: ${t.noteTextColor};\n}\n\n.statediagram-note .nodeLabel {\n color: ${t.noteTextColor};\n}\n.statediagram .edgeLabel {\n color: red; // ${t.noteTextColor};\n}\n\n#dependencyStart, #dependencyEnd {\n fill: ${t.lineColor};\n stroke: ${t.lineColor};\n stroke-width: 1;\n}\n\n.statediagramTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${t.textColor};\n}\n`}}]); \ No newline at end of file diff --git a/assets/js/1626.7b6d746c.js b/assets/js/1626.7b6d746c.js new file mode 100644 index 00000000..612d778e --- /dev/null +++ b/assets/js/1626.7b6d746c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkbeacon_docs=self.webpackChunkbeacon_docs||[]).push([[1626],{61626:(e,t,s)=>{s.d(t,{diagram:()=>N});var o=s(91535),i=s(45625),a=s(38077),r=s(81581),n=s(46476);s(27484),s(17967),s(27856),s(41644),s(39354);const d="rect",c="rectWithTitle",l="statediagram",p=`${l}-state`,b="transition",g=`${b} note-edge`,h=`${l}-note`,u=`${l}-cluster`,y=`${l}-cluster-alt`,f="parent",w="note",x="----",$=`${x}${w}`,m=`${x}${f}`,T="fill:none",S="fill: #333",k="text",D="normal";let A={},v=0;function B(e="",t=0,s="",o=x){return`state-${e}${null!==s&&s.length>0?`${o}${s}`:""}-${t}`}const C=(e,t,s,i,a,n)=>{const l=s.id,b=null==(x=i[l])?"":x.classes?x.classes.join(" "):"";var x;if("root"!==l){let t=d;!0===s.start&&(t="start"),!1===s.start&&(t="end"),s.type!==o.D&&(t=s.type),A[l]||(A[l]={id:l,shape:t,description:r.e.sanitizeText(l,(0,r.c)()),classes:`${b} ${p}`});const i=A[l];s.description&&(Array.isArray(i.description)?(i.shape=c,i.description.push(s.description)):i.description.length>0?(i.shape=c,i.description===l?i.description=[s.description]:i.description=[i.description,s.description]):(i.shape=d,i.description=s.description),i.description=r.e.sanitizeTextOrArray(i.description,(0,r.c)())),1===i.description.length&&i.shape===c&&(i.shape=d),!i.type&&s.doc&&(r.l.info("Setting cluster for ",l,R(s)),i.type="group",i.dir=R(s),i.shape=s.type===o.a?"divider":"roundedWithTitle",i.classes=i.classes+" "+u+" "+(n?y:""));const a={labelStyle:"",shape:i.shape,labelText:i.description,classes:i.classes,style:"",id:l,dir:i.dir,domId:B(l,v),type:i.type,padding:15,centerLabel:!0};if(s.note){const t={labelStyle:"",shape:"note",labelText:s.note.text,classes:h,style:"",id:l+$+"-"+v,domId:B(l,v,w),type:i.type,padding:15},o={labelStyle:"",shape:"noteGroup",labelText:s.note.text,classes:i.classes,style:"",id:l+m,domId:B(l,v,f),type:"group",padding:0};v++;const r=l+m;e.setNode(r,o),e.setNode(t.id,t),e.setNode(l,a),e.setParent(l,r),e.setParent(t.id,r);let n=l,d=t.id;"left of"===s.note.position&&(n=t.id,d=l),e.setEdge(n,d,{arrowhead:"none",arrowType:"",style:T,labelStyle:"",classes:g,arrowheadStyle:S,labelpos:"c",labelType:k,thickness:D})}else e.setNode(l,a)}t&&"root"!==t.id&&(r.l.trace("Setting node ",l," to be child of its parent ",t.id),e.setParent(l,t.id)),s.doc&&(r.l.trace("Adding nodes children "),E(e,s,s.doc,i,a,!n))},E=(e,t,s,i,a,n)=>{r.l.trace("items",s),s.forEach((s=>{switch(s.stmt){case o.b:case o.D:C(e,t,s,i,a,n);break;case o.S:{C(e,t,s.state1,i,a,n),C(e,t,s.state2,i,a,n);const o={id:"edge"+v,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:T,labelStyle:"",label:r.e.sanitizeText(s.description,(0,r.c)()),arrowheadStyle:S,labelpos:"c",labelType:k,thickness:D,classes:b};e.setEdge(s.state1.id,s.state2.id,o,v),v++}}}))},R=(e,t=o.c)=>{let s=t;if(e.doc)for(let o=0;o{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute,o.d.clear()}}}}]); \ No newline at end of file diff --git a/assets/js/1639.dffd08c0.js b/assets/js/1639.dffd08c0.js new file mode 100644 index 00000000..bc52b19d --- /dev/null +++ b/assets/js/1639.dffd08c0.js @@ -0,0 +1 @@ +(self.webpackChunkbeacon_docs=self.webpackChunkbeacon_docs||[]).push([[1639],{17295:(n,t,e)=>{var i=e(25108);n.exports=function(){function n(t,e,i){function r(a,u){if(!e[a]){if(!t[a]){if(c)return c(a,!0);var o=new Error("Cannot find module '"+a+"'");throw o.code="MODULE_NOT_FOUND",o}var s=e[a]={exports:{}};t[a][0].call(s.exports,(function(n){return r(t[a][1][n]||n)}),s,s.exports,n,t,e,i)}return e[a].exports}for(var c=void 0,a=0;a0&&void 0!==arguments[0]?arguments[0]:{},r=e.defaultLayoutOptions,a=void 0===r?{}:r,o=e.algorithms,s=void 0===o?["layered","stress","mrtree","radial","force","disco","sporeOverlap","sporeCompaction","rectpacking"]:o,h=e.workerFactory,f=e.workerUrl;if(c(this,n),this.defaultLayoutOptions=a,this.initialized=!1,void 0===f&&void 0===h)throw new Error("Cannot construct an ELK without both 'workerUrl' and 'workerFactory'.");var l=h;void 0!==f&&void 0===h&&(l=function(n){return new Worker(n)});var b=l(f);if("function"!=typeof b.postMessage)throw new TypeError("Created worker does not provide the required 'postMessage' function.");this.worker=new u(b),this.worker.postMessage({cmd:"register",algorithms:s}).then((function(n){return t.initialized=!0})).catch(i.err)}return r(n,[{key:"layout",value:function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=t.layoutOptions,i=void 0===e?this.defaultLayoutOptions:e,r=t.logging,c=void 0!==r&&r,a=t.measureExecutionTime,u=void 0!==a&&a;return n?this.worker.postMessage({cmd:"layout",graph:n,layoutOptions:i,options:{logging:c,measureExecutionTime:u}}):Promise.reject(new Error("Missing mandatory parameter 'graph'."))}},{key:"knownLayoutAlgorithms",value:function(){return this.worker.postMessage({cmd:"algorithms"})}},{key:"knownLayoutOptions",value:function(){return this.worker.postMessage({cmd:"options"})}},{key:"knownLayoutCategories",value:function(){return this.worker.postMessage({cmd:"categories"})}},{key:"terminateWorker",value:function(){this.worker.terminate()}}]),n}();e.default=a;var u=function(){function n(t){var e=this;if(c(this,n),void 0===t)throw new Error("Missing mandatory parameter 'worker'.");this.resolvers={},this.worker=t,this.worker.onmessage=function(n){setTimeout((function(){e.receive(e,n)}),0)}}return r(n,[{key:"postMessage",value:function(n){var t=this.id||0;this.id=t+1,n.id=t;var e=this;return new Promise((function(i,r){e.resolvers[t]=function(n,t){n?(e.convertGwtStyleError(n),r(n)):i(t)},e.worker.postMessage(n)}))}},{key:"receive",value:function(n,t){var e=t.data,i=n.resolvers[e.id];i&&(delete n.resolvers[e.id],e.error?i(e.error):i(null,e.data))}},{key:"terminate",value:function(){this.worker.terminate&&this.worker.terminate()}},{key:"convertGwtStyleError",value:function(n){if(n){var t=n.__java$exception;t&&(t.cause&&t.cause.backingJsObject&&(n.cause=t.cause.backingJsObject,this.convertGwtStyleError(n.cause)),delete n.__java$exception)}}}]),n}()},{}],2:[function(n,t,r){(function(n){(function(){"use strict";var e;function c(){}function a(){}function u(){}function o(){}function s(){}function h(){}function f(){}function l(){}function b(){}function w(){}function d(){}function g(){}function p(){}function v(){}function m(){}function y(){}function k(){}function j(){}function E(){}function T(){}function M(){}function S(){}function P(){}function I(){}function C(){}function O(){}function A(){}function $(){}function L(){}function N(){}function x(){}function D(){}function R(){}function K(){}function _(){}function F(){}function B(){}function H(){}function q(){}function G(){}function z(){}function U(){}function X(){}function W(){}function V(){}function Q(){}function Y(){}function J(){}function Z(){}function nn(){}function tn(){}function en(){}function rn(){}function cn(){}function an(){}function un(){}function on(){}function sn(){}function hn(){}function fn(){}function ln(){}function bn(){}function wn(){}function dn(){}function gn(){}function pn(){}function vn(){}function mn(){}function yn(){}function kn(){}function jn(){}function En(){}function Tn(){}function Mn(){}function Sn(){}function Pn(){}function In(){}function Cn(){}function On(){}function An(){}function $n(){}function Ln(){}function Nn(){}function xn(){}function Dn(){}function Rn(){}function Kn(){}function _n(){}function Fn(){}function Bn(){}function Hn(){}function qn(){}function Gn(){}function zn(){}function Un(){}function Xn(){}function Wn(){}function Vn(){}function Qn(){}function Yn(){}function Jn(){}function Zn(){}function nt(){}function tt(){}function et(){}function it(){}function rt(){}function ct(){}function at(){}function ut(){}function ot(){}function st(){}function ht(){}function ft(){}function lt(){}function bt(){}function wt(){}function dt(){}function gt(){}function pt(){}function vt(){}function mt(){}function yt(){}function kt(){}function jt(){}function Et(){}function Tt(){}function Mt(){}function St(){}function Pt(){}function It(){}function Ct(){}function Ot(){}function At(){}function $t(){}function Lt(){}function Nt(){}function xt(){}function Dt(){}function Rt(){}function Kt(){}function _t(){}function Ft(){}function Bt(){}function Ht(){}function qt(){}function Gt(){}function zt(){}function Ut(){}function Xt(){}function Wt(){}function Vt(){}function Qt(){}function Yt(){}function Jt(){}function Zt(){}function ne(){}function te(){}function ee(){}function ie(){}function re(){}function ce(){}function ae(){}function ue(){}function oe(){}function se(){}function he(){}function fe(){}function le(){}function be(){}function we(){}function de(){}function ge(){}function pe(){}function ve(){}function me(){}function ye(){}function ke(){}function je(){}function Ee(){}function Te(){}function Me(){}function Se(){}function Pe(){}function Ie(){}function Ce(){}function Oe(){}function Ae(){}function $e(){}function Le(){}function Ne(){}function xe(){}function De(){}function Re(){}function Ke(){}function _e(){}function Fe(){}function Be(){}function He(){}function qe(){}function Ge(){}function ze(){}function Ue(){}function Xe(){}function We(){}function Ve(){}function Qe(){}function Ye(){}function Je(){}function Ze(){}function ni(){}function ti(){}function ei(){}function ii(){}function ri(){}function ci(){}function ai(){}function ui(){}function oi(){}function si(){}function hi(){}function fi(){}function li(){}function bi(){}function wi(){}function di(){}function gi(){}function pi(){}function vi(){}function mi(){}function yi(){}function ki(){}function ji(){}function Ei(){}function Ti(){}function Mi(){}function Si(){}function Pi(){}function Ii(){}function Ci(){}function Oi(){}function Ai(){}function $i(){}function Li(){}function Ni(){}function xi(){}function Di(){}function Ri(){}function Ki(){}function _i(){}function Fi(){}function Bi(){}function Hi(){}function qi(){}function Gi(){}function zi(){}function Ui(){}function Xi(){}function Wi(){}function Vi(){}function Qi(){}function Yi(){}function Ji(){}function Zi(){}function nr(){}function tr(){}function er(){}function ir(){}function rr(){}function cr(){}function ar(){}function ur(){}function or(){}function sr(){}function hr(){}function fr(){}function lr(){}function br(){}function wr(){}function dr(){}function gr(){}function pr(){}function vr(){}function mr(){}function yr(){}function kr(){}function jr(){}function Er(){}function Tr(){}function Mr(){}function Sr(){}function Pr(){}function Ir(){}function Cr(){}function Or(){}function Ar(){}function $r(){}function Lr(){}function Nr(){}function xr(){}function Dr(){}function Rr(){}function Kr(){}function _r(){}function Fr(){}function Br(){}function Hr(){}function qr(){}function Gr(){}function zr(){}function Ur(){}function Xr(){}function Wr(){}function Vr(){}function Qr(){}function Yr(){}function Jr(){}function Zr(){}function nc(){}function tc(){}function ec(){}function ic(){}function rc(){}function cc(){}function ac(){}function uc(){}function oc(){}function sc(){}function hc(){}function fc(){}function lc(){}function bc(){}function wc(){}function dc(){}function gc(){}function pc(){}function vc(){}function mc(){}function yc(){}function kc(){}function jc(){}function Ec(){}function Tc(){}function Mc(){}function Sc(){}function Pc(){}function Ic(){}function Cc(){}function Oc(){}function Ac(){}function $c(){}function Lc(){}function Nc(){}function xc(){}function Dc(){}function Rc(){}function Kc(){}function _c(){}function Fc(){}function Bc(){}function Hc(){}function qc(){}function Gc(){}function zc(){}function Uc(){}function Xc(){}function Wc(){}function Vc(){}function Qc(){}function Yc(){}function Jc(){}function Zc(){}function na(){}function ta(){}function ea(){}function ia(){}function ra(){}function ca(){}function aa(){}function ua(){}function oa(){}function sa(){}function ha(){}function fa(){}function la(){}function ba(){}function wa(){}function da(){}function ga(){}function pa(){}function va(){}function ma(){}function ya(){}function ka(){}function ja(){}function Ea(){}function Ta(){}function Ma(){}function Sa(){}function Pa(){}function Ia(){}function Ca(){}function Oa(){}function Aa(){}function $a(){}function La(){}function Na(){}function xa(){}function Da(){}function Ra(){}function Ka(){}function _a(){}function Fa(){}function Ba(){}function Ha(){}function qa(){}function Ga(){}function za(){}function Ua(){}function Xa(){}function Wa(){}function Va(){}function Qa(){}function Ya(){}function Ja(){}function Za(){}function nu(){}function tu(){}function eu(){}function iu(){}function ru(){}function cu(){}function au(){}function uu(){}function ou(){}function su(){}function hu(){}function fu(){}function lu(){}function bu(){}function wu(){}function du(){}function gu(){}function pu(){}function vu(){}function mu(){}function yu(){}function ku(){}function ju(){}function Eu(){}function Tu(){}function Mu(){}function Su(){}function Pu(){}function Iu(){}function Cu(){}function Ou(){}function Au(){}function $u(){}function Lu(){}function Nu(){}function xu(){}function Du(){}function Ru(){}function Ku(){}function _u(){}function Fu(){}function Bu(){}function Hu(){}function qu(){}function Gu(){}function zu(){}function Uu(){}function Xu(){}function Wu(){}function Vu(){}function Qu(){}function Yu(){}function Ju(){}function Zu(){}function no(){}function to(){}function eo(){}function io(){}function ro(){}function co(){}function ao(){}function uo(){}function oo(){}function so(){}function ho(){}function fo(){}function lo(){}function bo(){}function wo(){}function go(){}function po(){}function vo(){}function mo(){}function yo(){}function ko(){}function jo(){}function Eo(){}function To(){}function Mo(){}function So(){}function Po(){}function Io(){}function Co(){}function Oo(){}function Ao(){}function $o(){}function Lo(){}function No(){}function xo(){}function Do(){}function Ro(){}function Ko(){}function _o(){}function Fo(){}function Bo(){}function Ho(){}function qo(){}function Go(){}function zo(){}function Uo(){}function Xo(){}function Wo(){}function Vo(){}function Qo(){}function Yo(){}function Jo(){}function Zo(){}function ns(){}function ts(){}function es(){}function is(){}function rs(){}function cs(){}function as(){}function us(){}function os(){}function ss(){}function hs(){}function fs(){}function ls(){}function bs(){}function ws(){}function ds(){}function gs(){}function ps(){}function vs(){}function ms(){}function ys(){}function ks(){}function js(){}function Es(){}function Ts(){}function Ms(){}function Ss(){}function Ps(){}function Is(){}function Cs(){}function Os(){}function As(){}function $s(){}function Ls(){}function Ns(){}function xs(){}function Ds(){}function Rs(){}function Ks(){}function _s(){}function Fs(){}function Bs(){}function Hs(){}function qs(){}function Gs(){}function zs(){}function Us(){}function Xs(){}function Ws(){}function Vs(){}function Qs(){}function Ys(){}function Js(){}function Zs(){}function nh(){}function th(){}function eh(){}function ih(){}function rh(){}function ch(){}function ah(){}function uh(){}function oh(){}function sh(){}function hh(){}function fh(){}function lh(){}function bh(){}function wh(){}function dh(){}function gh(){}function ph(){}function vh(){}function mh(){}function yh(){}function kh(){}function jh(){}function Eh(){}function Th(){}function Mh(){}function Sh(){}function Ph(){}function Ih(){}function Ch(){}function Oh(){}function Ah(){}function $h(){}function Lh(){}function Nh(){}function xh(){}function Dh(){}function Rh(){}function Kh(){}function _h(){}function Fh(n){}function Bh(n){}function Hh(){ry()}function qh(){zsn()}function Gh(){Tpn()}function zh(){Fkn()}function Uh(){ESn()}function Xh(){lRn()}function Wh(){_yn()}function Vh(){ckn()}function Qh(){TM()}function Yh(){yM()}function Jh(){G_()}function Zh(){MM()}function nf(){Orn()}function tf(){PM()}function ef(){O6()}function rf(){Iin()}function cf(){Y8()}function af(){FZ()}function uf(){Usn()}function of(){FMn()}function sf(){Cin()}function hf(){X2()}function ff(){lWn()}function lf(){zyn()}function bf(){BZ()}function wf(){qXn()}function df(){KZ()}function gf(){Oin()}function pf(){Jun()}function vf(){zZ()}function mf(){C9()}function yf(){IM()}function kf(){_An()}function jf(){Xyn()}function Ef(){Bcn()}function Tf(){SMn()}function Mf(){wRn()}function Sf(){Hvn()}function Pf(){CAn()}function If(){Kan()}function Cf(){qZ()}function Of(){h_n()}function Af(){LAn()}function $f(){V$n()}function Lf(){D9()}function Nf(){PMn()}function xf(){hWn()}function Df(){Wsn()}function Rf(){mdn()}function Kf(){GBn()}function _f(){o_()}function Ff(){dcn()}function Bf(){lFn()}function Hf(n){jW(n)}function qf(n){this.a=n}function Gf(n){this.a=n}function zf(n){this.a=n}function Uf(n){this.a=n}function Xf(n){this.a=n}function Wf(n){this.a=n}function Vf(n){this.a=n}function Qf(n){this.a=n}function Yf(n){this.a=n}function Jf(n){this.a=n}function Zf(n){this.a=n}function nl(n){this.a=n}function tl(n){this.a=n}function el(n){this.a=n}function il(n){this.a=n}function rl(n){this.a=n}function cl(n){this.a=n}function al(n){this.a=n}function ul(n){this.a=n}function ol(n){this.a=n}function sl(n){this.a=n}function hl(n){this.b=n}function fl(n){this.c=n}function ll(n){this.a=n}function bl(n){this.a=n}function wl(n){this.a=n}function dl(n){this.a=n}function gl(n){this.a=n}function pl(n){this.a=n}function vl(n){this.a=n}function ml(n){this.a=n}function yl(n){this.a=n}function kl(n){this.a=n}function jl(n){this.a=n}function El(n){this.a=n}function Tl(n){this.a=n}function Ml(n){this.a=n}function Sl(n){this.a=n}function Pl(n){this.a=n}function Il(n){this.a=n}function Cl(){this.a=[]}function Ol(n,t){n.a=t}function Al(n,t){n.a=t}function $l(n,t){n.b=t}function Ll(n,t){n.b=t}function Nl(n,t){n.b=t}function xl(n,t){n.j=t}function Dl(n,t){n.g=t}function Rl(n,t){n.i=t}function Kl(n,t){n.c=t}function _l(n,t){n.d=t}function Fl(n,t){n.d=t}function Bl(n,t){n.c=t}function Hl(n,t){n.k=t}function ql(n,t){n.c=t}function Gl(n,t){n.c=t}function zl(n,t){n.a=t}function Ul(n,t){n.a=t}function Xl(n,t){n.f=t}function Wl(n,t){n.a=t}function Vl(n,t){n.b=t}function Ql(n,t){n.d=t}function Yl(n,t){n.i=t}function Jl(n,t){n.o=t}function Zl(n,t){n.r=t}function nb(n,t){n.a=t}function tb(n,t){n.b=t}function eb(n,t){n.e=t}function ib(n,t){n.f=t}function rb(n,t){n.g=t}function cb(n,t){n.e=t}function ab(n,t){n.f=t}function ub(n,t){n.f=t}function ob(n,t){n.n=t}function sb(n,t){n.a=t}function hb(n,t){n.a=t}function fb(n,t){n.c=t}function lb(n,t){n.c=t}function bb(n,t){n.d=t}function wb(n,t){n.e=t}function db(n,t){n.g=t}function gb(n,t){n.a=t}function pb(n,t){n.c=t}function vb(n,t){n.d=t}function mb(n,t){n.e=t}function yb(n,t){n.f=t}function kb(n,t){n.j=t}function jb(n,t){n.a=t}function Eb(n,t){n.b=t}function Tb(n,t){n.a=t}function Mb(n){n.b=n.a}function Sb(n){n.c=n.d.d}function Pb(n){this.d=n}function Ib(n){this.a=n}function Cb(n){this.a=n}function Ob(n){this.a=n}function Ab(n){this.a=n}function $b(n){this.a=n}function Lb(n){this.a=n}function Nb(n){this.a=n}function xb(n){this.a=n}function Db(n){this.a=n}function Rb(n){this.a=n}function Kb(n){this.a=n}function _b(n){this.a=n}function Fb(n){this.a=n}function Bb(n){this.a=n}function Hb(n){this.b=n}function qb(n){this.b=n}function Gb(n){this.b=n}function zb(n){this.a=n}function Ub(n){this.a=n}function Xb(n){this.a=n}function Wb(n){this.c=n}function Vb(n){this.c=n}function Qb(n){this.c=n}function Yb(n){this.a=n}function Jb(n){this.a=n}function Zb(n){this.a=n}function nw(n){this.a=n}function tw(n){this.a=n}function ew(n){this.a=n}function iw(n){this.a=n}function rw(n){this.a=n}function cw(n){this.a=n}function aw(n){this.a=n}function uw(n){this.a=n}function ow(n){this.a=n}function sw(n){this.a=n}function hw(n){this.a=n}function fw(n){this.a=n}function lw(n){this.a=n}function bw(n){this.a=n}function ww(n){this.a=n}function dw(n){this.a=n}function gw(n){this.a=n}function pw(n){this.a=n}function vw(n){this.a=n}function mw(n){this.a=n}function yw(n){this.a=n}function kw(n){this.a=n}function jw(n){this.a=n}function Ew(n){this.a=n}function Tw(n){this.a=n}function Mw(n){this.a=n}function Sw(n){this.a=n}function Pw(n){this.a=n}function Iw(n){this.a=n}function Cw(n){this.a=n}function Ow(n){this.a=n}function Aw(n){this.a=n}function $w(n){this.a=n}function Lw(n){this.a=n}function Nw(n){this.a=n}function xw(n){this.a=n}function Dw(n){this.a=n}function Rw(n){this.a=n}function Kw(n){this.a=n}function _w(n){this.a=n}function Fw(n){this.a=n}function Bw(n){this.a=n}function Hw(n){this.e=n}function qw(n){this.a=n}function Gw(n){this.a=n}function zw(n){this.a=n}function Uw(n){this.a=n}function Xw(n){this.a=n}function Ww(n){this.a=n}function Vw(n){this.a=n}function Qw(n){this.a=n}function Yw(n){this.a=n}function Jw(n){this.a=n}function Zw(n){this.a=n}function nd(n){this.a=n}function td(n){this.a=n}function ed(n){this.a=n}function id(n){this.a=n}function rd(n){this.a=n}function cd(n){this.a=n}function ad(n){this.a=n}function ud(n){this.a=n}function od(n){this.a=n}function sd(n){this.a=n}function hd(n){this.a=n}function fd(n){this.a=n}function ld(n){this.a=n}function bd(n){this.a=n}function wd(n){this.a=n}function dd(n){this.a=n}function gd(n){this.a=n}function pd(n){this.a=n}function vd(n){this.a=n}function md(n){this.a=n}function yd(n){this.a=n}function kd(n){this.a=n}function jd(n){this.a=n}function Ed(n){this.a=n}function Td(n){this.a=n}function Md(n){this.a=n}function Sd(n){this.a=n}function Pd(n){this.a=n}function Id(n){this.a=n}function Cd(n){this.a=n}function Od(n){this.a=n}function Ad(n){this.a=n}function $d(n){this.a=n}function Ld(n){this.a=n}function Nd(n){this.a=n}function xd(n){this.a=n}function Dd(n){this.a=n}function Rd(n){this.a=n}function Kd(n){this.a=n}function _d(n){this.a=n}function Fd(n){this.a=n}function Bd(n){this.a=n}function Hd(n){this.c=n}function qd(n){this.b=n}function Gd(n){this.a=n}function zd(n){this.a=n}function Ud(n){this.a=n}function Xd(n){this.a=n}function Wd(n){this.a=n}function Vd(n){this.a=n}function Qd(n){this.a=n}function Yd(n){this.a=n}function Jd(n){this.a=n}function Zd(n){this.a=n}function ng(n){this.a=n}function tg(n){this.a=n}function eg(n){this.a=n}function ig(n){this.a=n}function rg(n){this.a=n}function cg(n){this.a=n}function ag(n){this.a=n}function ug(n){this.a=n}function og(n){this.a=n}function sg(n){this.a=n}function hg(n){this.a=n}function fg(n){this.a=n}function lg(n){this.a=n}function bg(n){this.a=n}function wg(n){this.a=n}function dg(n){this.a=n}function gg(n){this.a=n}function pg(n){this.a=n}function vg(n){this.a=n}function mg(n){this.a=n}function yg(n){this.a=n}function kg(n){this.a=n}function jg(n){this.a=n}function Eg(n){this.a=n}function Tg(n){this.a=n}function Mg(n){this.a=n}function Sg(n){this.a=n}function Pg(n){this.a=n}function Ig(n){this.a=n}function Cg(n){this.a=n}function Og(n){this.a=n}function Ag(n){this.a=n}function $g(n){this.a=n}function Lg(n){this.a=n}function Ng(n){this.a=n}function xg(n){this.a=n}function Dg(n){this.a=n}function Rg(n){this.a=n}function Kg(n){this.a=n}function _g(n){this.a=n}function Fg(n){this.a=n}function Bg(n){this.a=n}function Hg(n){this.a=n}function qg(n){this.a=n}function Gg(n){this.a=n}function zg(n){this.a=n}function Ug(n){this.a=n}function Xg(n){this.a=n}function Wg(n){this.a=n}function Vg(n){this.a=n}function Qg(n){this.a=n}function Yg(n){this.a=n}function Jg(n){this.a=n}function Zg(n){this.a=n}function np(n){this.a=n}function tp(n){this.a=n}function ep(n){this.a=n}function ip(n){this.a=n}function rp(n){this.a=n}function cp(n){this.a=n}function ap(n){this.a=n}function up(n){this.a=n}function op(n){this.b=n}function sp(n){this.f=n}function hp(n){this.a=n}function fp(n){this.a=n}function lp(n){this.a=n}function bp(n){this.a=n}function wp(n){this.a=n}function dp(n){this.a=n}function gp(n){this.a=n}function pp(n){this.a=n}function vp(n){this.a=n}function mp(n){this.a=n}function yp(n){this.a=n}function kp(n){this.b=n}function jp(n){this.c=n}function Ep(n){this.e=n}function Tp(n){this.a=n}function Mp(n){this.a=n}function Sp(n){this.a=n}function Pp(n){this.a=n}function Ip(n){this.a=n}function Cp(n){this.d=n}function Op(n){this.a=n}function Ap(n){this.a=n}function $p(n){this.e=n}function Lp(){this.a=0}function Np(){RA(this)}function xp(){DA(this)}function Dp(){LU(this)}function Rp(){dV(this)}function Kp(){Fh(this)}function _p(){this.c=N$t}function Fp(n,t){t.Wb(n)}function Bp(n,t){n.b+=t}function Hp(n){n.b=new sk}function qp(n){return n.e}function Gp(n){return n.a}function zp(n){return n.a}function Up(n){return n.a}function Xp(n){return n.a}function Wp(n){return n.a}function Vp(){return null}function Qp(){return null}function Yp(){uE(),gXn()}function Jp(n){n.b.tf(n.e)}function Zp(n,t){n.b=t-n.b}function nv(n,t){n.a=t-n.a}function tv(n,t){t.ad(n.a)}function ev(n,t){GIn(t,n)}function iv(n,t,e){n.Od(e,t)}function rv(n,t){n.e=t,t.b=n}function cv(n){h_(),this.a=n}function av(n){h_(),this.a=n}function uv(n){h_(),this.a=n}function ov(n){VX(),this.a=n}function sv(n){IY(),itt.be(n)}function hv(){pN.call(this)}function fv(){pN.call(this)}function lv(){hv.call(this)}function bv(){hv.call(this)}function wv(){hv.call(this)}function dv(){hv.call(this)}function gv(){hv.call(this)}function pv(){hv.call(this)}function vv(){hv.call(this)}function mv(){hv.call(this)}function yv(){hv.call(this)}function kv(){hv.call(this)}function jv(){hv.call(this)}function Ev(){this.a=this}function Tv(){this.Bb|=256}function Mv(){this.b=new IO}function Sv(){Sv=A,new Dp}function Pv(){lv.call(this)}function Iv(n,t){n.length=t}function Cv(n,t){VB(n.a,t)}function Ov(n,t){XSn(n.c,t)}function Av(n,t){MU(n.b,t)}function $v(n,t){Ovn(n.a,t)}function Lv(n,t){Aln(n.a,t)}function Nv(n,t){wan(n.e,t)}function xv(n){$On(n.c,n.b)}function Dv(n,t){n.kc().Nb(t)}function Rv(n){this.a=pbn(n)}function Kv(){this.a=new Dp}function _v(){this.a=new Dp}function Fv(){this.a=new xp}function Bv(){this.a=new xp}function Hv(){this.a=new xp}function qv(){this.a=new jn}function Gv(){this.a=new j6}function zv(){this.a=new wt}function Uv(){this.a=new VT}function Xv(){this.a=new R0}function Wv(){this.a=new aZ}function Vv(){this.a=new $R}function Qv(){this.a=new xp}function Yv(){this.a=new xp}function Jv(){this.a=new xp}function Zv(){this.a=new xp}function nm(){this.d=new xp}function tm(){this.a=new Kv}function em(){this.a=new Dp}function im(){this.b=new Dp}function rm(){this.b=new xp}function cm(){this.e=new xp}function am(){this.d=new xp}function um(){this.a=new of}function om(){xp.call(this)}function sm(){Fv.call(this)}function hm(){xR.call(this)}function fm(){Yv.call(this)}function lm(){bm.call(this)}function bm(){Kp.call(this)}function wm(){Kp.call(this)}function dm(){wm.call(this)}function gm(){gY.call(this)}function pm(){gY.call(this)}function vm(){Vm.call(this)}function mm(){Vm.call(this)}function ym(){Vm.call(this)}function km(){Qm.call(this)}function jm(){JT.call(this)}function Em(){io.call(this)}function Tm(){io.call(this)}function Mm(){ty.call(this)}function Sm(){ty.call(this)}function Pm(){Dp.call(this)}function Im(){Dp.call(this)}function Cm(){Dp.call(this)}function Om(){Kv.call(this)}function Am(){Ein.call(this)}function $m(){Tv.call(this)}function Lm(){AL.call(this)}function Nm(){AL.call(this)}function xm(){Dp.call(this)}function Dm(){Dp.call(this)}function Rm(){Dp.call(this)}function Km(){ko.call(this)}function _m(){ko.call(this)}function Fm(){Km.call(this)}function Bm(){Rh.call(this)}function Hm(n){gtn.call(this,n)}function qm(n){gtn.call(this,n)}function Gm(n){Yf.call(this,n)}function zm(n){ST.call(this,n)}function Um(n){zm.call(this,n)}function Xm(n){ST.call(this,n)}function Wm(){this.a=new JT}function Vm(){this.a=new Kv}function Qm(){this.a=new Dp}function Ym(){this.a=new xp}function Jm(){this.j=new xp}function Zm(){this.a=new Wa}function ny(){this.a=new NE}function ty(){this.a=new yo}function ey(){ey=A,Fnt=new Dk}function iy(){iy=A,_nt=new xk}function ry(){ry=A,Ant=new a}function cy(){cy=A,Unt=new aN}function ay(n){zm.call(this,n)}function uy(n){zm.call(this,n)}function oy(n){g4.call(this,n)}function sy(n){g4.call(this,n)}function hy(n){QK.call(this,n)}function fy(n){kSn.call(this,n)}function ly(n){CT.call(this,n)}function by(n){AT.call(this,n)}function wy(n){AT.call(this,n)}function dy(n){AT.call(this,n)}function gy(n){lz.call(this,n)}function py(n){gy.call(this,n)}function vy(){Il.call(this,{})}function my(n){CL(),this.a=n}function yy(n){n.b=null,n.c=0}function ky(n,t){n.e=t,Cxn(n,t)}function jy(n,t){n.a=t,uIn(n)}function Ey(n,t,e){n.a[t.g]=e}function Ty(n,t,e){djn(e,n,t)}function My(n,t){nK(t.i,n.n)}function Sy(n,t){hsn(n).td(t)}function Py(n,t){return n*n/t}function Iy(n,t){return n.g-t.g}function Cy(n){return new Pl(n)}function Oy(n){return new zX(n)}function Ay(n){gy.call(this,n)}function $y(n){gy.call(this,n)}function Ly(n){gy.call(this,n)}function Ny(n){lz.call(this,n)}function xy(n){Fcn(),this.a=n}function Dy(n){u_(),this.a=n}function Ry(n){BG(),this.f=n}function Ky(n){BG(),this.f=n}function _y(n){gy.call(this,n)}function Fy(n){gy.call(this,n)}function By(n){gy.call(this,n)}function Hy(n){gy.call(this,n)}function qy(n){gy.call(this,n)}function Gy(n){return jW(n),n}function zy(n){return jW(n),n}function Uy(n){return jW(n),n}function Xy(n){return jW(n),n}function Wy(n){return jW(n),n}function Vy(n){return n.b==n.c}function Qy(n){return!!n&&n.b}function Yy(n){return!!n&&n.k}function Jy(n){return!!n&&n.j}function Zy(n){jW(n),this.a=n}function nk(n){return nsn(n),n}function tk(n){mU(n,n.length)}function ek(n){gy.call(this,n)}function ik(n){gy.call(this,n)}function rk(n){gy.call(this,n)}function ck(n){gy.call(this,n)}function ak(n){gy.call(this,n)}function uk(n){gy.call(this,n)}function ok(n){nx.call(this,n,0)}function sk(){s1.call(this,12,3)}function hk(){hk=A,ett=new E}function fk(){fk=A,Jnt=new c}function lk(){lk=A,ctt=new p}function bk(){bk=A,ftt=new m}function wk(){throw qp(new vv)}function dk(){throw qp(new vv)}function gk(){throw qp(new vv)}function pk(){throw qp(new vv)}function vk(){throw qp(new vv)}function mk(){throw qp(new vv)}function yk(){this.a=PD(kX(BWn))}function kk(n){h_(),this.a=kX(n)}function jk(n,t){n.Td(t),t.Sd(n)}function Ek(n,t){n.a.ec().Mc(t)}function Tk(n,t,e){n.c.lf(t,e)}function Mk(n){$y.call(this,n)}function Sk(n){Fy.call(this,n)}function Pk(){$b.call(this,"")}function Ik(){$b.call(this,"")}function Ck(){$b.call(this,"")}function Ok(){$b.call(this,"")}function Ak(n){$y.call(this,n)}function $k(n){qb.call(this,n)}function Lk(n){wN.call(this,n)}function Nk(n){$k.call(this,n)}function xk(){el.call(this,null)}function Dk(){el.call(this,null)}function Rk(){Rk=A,IY()}function Kk(){Kk=A,jet=yEn()}function _k(n){return n.a?n.b:0}function Fk(n){return n.a?n.b:0}function Bk(n,t){return n.a-t.a}function Hk(n,t){return n.a-t.a}function qk(n,t){return n.a-t.a}function Gk(n,t){return y7(n,t)}function zk(n,t){return pZ(n,t)}function Uk(n,t){return t in n.a}function Xk(n,t){return n.f=t,n}function Wk(n,t){return n.b=t,n}function Vk(n,t){return n.c=t,n}function Qk(n,t){return n.g=t,n}function Yk(n,t){return n.a=t,n}function Jk(n,t){return n.f=t,n}function Zk(n,t){return n.k=t,n}function nj(n,t){return n.a=t,n}function tj(n,t){return n.e=t,n}function ej(n,t){return n.e=t,n}function ij(n,t){return n.f=t,n}function rj(n,t){n.b=!0,n.d=t}function cj(n,t){n.b=new dA(t)}function aj(n,t,e){t.td(n.a[e])}function uj(n,t,e){t.we(n.a[e])}function oj(n,t){return n.b-t.b}function sj(n,t){return n.g-t.g}function hj(n,t){return n.s-t.s}function fj(n,t){return n?0:t-1}function lj(n,t){return n?0:t-1}function bj(n,t){return n?t-1:0}function wj(n,t){return t.Yf(n)}function dj(n,t){return n.b=t,n}function gj(n,t){return n.a=t,n}function pj(n,t){return n.c=t,n}function vj(n,t){return n.d=t,n}function mj(n,t){return n.e=t,n}function yj(n,t){return n.f=t,n}function kj(n,t){return n.a=t,n}function jj(n,t){return n.b=t,n}function Ej(n,t){return n.c=t,n}function Tj(n,t){return n.c=t,n}function Mj(n,t){return n.b=t,n}function Sj(n,t){return n.d=t,n}function Pj(n,t){return n.e=t,n}function Ij(n,t){return n.f=t,n}function Cj(n,t){return n.g=t,n}function Oj(n,t){return n.a=t,n}function Aj(n,t){return n.i=t,n}function $j(n,t){return n.j=t,n}function Lj(n,t){return n.k=t,n}function Nj(n,t){return n.j=t,n}function xj(n,t){FMn(),CZ(t,n)}function Dj(n,t,e){zG(n.a,t,e)}function Rj(n){HV.call(this,n)}function Kj(n){HV.call(this,n)}function _j(n){t_.call(this,n)}function Fj(n){Gbn.call(this,n)}function Bj(n){ptn.call(this,n)}function Hj(n){vQ.call(this,n)}function qj(n){vQ.call(this,n)}function Gj(){A$.call(this,"")}function zj(){this.a=0,this.b=0}function Uj(){this.b=0,this.a=0}function Xj(n,t){n.b=0,xen(n,t)}function Wj(n,t){n.c=t,n.b=!0}function Vj(n,t){return n.c._b(t)}function Qj(n){return n.e&&n.e()}function Yj(n){return n?n.d:null}function Jj(n,t){return pfn(n.b,t)}function Zj(n){return n?n.g:null}function nE(n){return n?n.i:null}function tE(n){return TD(n),n.o}function eE(){eE=A,gOt=Wkn()}function iE(){iE=A,pOt=sTn()}function rE(){rE=A,t$t=Qkn()}function cE(){cE=A,gLt=Vkn()}function aE(){aE=A,pLt=rIn()}function uE(){uE=A,bAt=ain()}function oE(){throw qp(new vv)}function sE(){throw qp(new vv)}function hE(){throw qp(new vv)}function fE(){throw qp(new vv)}function lE(){throw qp(new vv)}function bE(){throw qp(new vv)}function wE(n){this.a=new WT(n)}function dE(n){bUn(),RXn(this,n)}function gE(n){this.a=new Vz(n)}function pE(n,t){for(;n.ye(t););}function vE(n,t){for(;n.sd(t););}function mE(n,t){return n.a+=t,n}function yE(n,t){return n.a+=t,n}function kE(n,t){return n.a+=t,n}function jE(n,t){return n.a+=t,n}function EE(n){return TW(n),n.a}function TE(n){return n.b!=n.d.c}function ME(n){return n.l|n.m<<22}function SE(n,t){return n.d[t.p]}function PE(n,t){return Pxn(n,t)}function IE(n,t,e){n.splice(t,e)}function CE(n){n.c?xDn(n):DDn(n)}function OE(n){this.a=0,this.b=n}function AE(){this.a=new CNn(rjt)}function $E(){this.b=new CNn(Gyt)}function LE(){this.b=new CNn(VEt)}function NE(){this.b=new CNn(VEt)}function xE(){throw qp(new vv)}function DE(){throw qp(new vv)}function RE(){throw qp(new vv)}function KE(){throw qp(new vv)}function _E(){throw qp(new vv)}function FE(){throw qp(new vv)}function BE(){throw qp(new vv)}function HE(){throw qp(new vv)}function qE(){throw qp(new vv)}function GE(){throw qp(new vv)}function zE(){throw qp(new kv)}function UE(){throw qp(new kv)}function XE(n){this.a=new WE(n)}function WE(n){zin(this,n,AEn())}function VE(n){return!n||vW(n)}function QE(n){return-1!=VLt[n]}function YE(){0!=att&&(att=0),ott=-1}function JE(){null==IWn&&(IWn=[])}function ZE(n,t){eAn(YQ(n.a),t)}function nT(n,t){eAn(YQ(n.a),t)}function tT(n,t){qL.call(this,n,t)}function eT(n,t){tT.call(this,n,t)}function iT(n,t){this.b=n,this.c=t}function rT(n,t){this.b=n,this.a=t}function cT(n,t){this.a=n,this.b=t}function aT(n,t){this.a=n,this.b=t}function uT(n,t){this.a=n,this.b=t}function oT(n,t){this.a=n,this.b=t}function sT(n,t){this.a=n,this.b=t}function hT(n,t){this.a=n,this.b=t}function fT(n,t){this.a=n,this.b=t}function lT(n,t){this.a=n,this.b=t}function bT(n,t){this.b=n,this.a=t}function wT(n,t){this.b=n,this.a=t}function dT(n,t){this.b=n,this.a=t}function gT(n,t){this.b=n,this.a=t}function pT(n,t){this.f=n,this.g=t}function vT(n,t){this.e=n,this.d=t}function mT(n,t){this.g=n,this.i=t}function yT(n,t){this.a=n,this.b=t}function kT(n,t){this.a=n,this.f=t}function jT(n,t){this.b=n,this.c=t}function ET(n,t){this.a=n,this.b=t}function TT(n,t){this.a=n,this.b=t}function MT(n,t){this.a=n,this.b=t}function ST(n){uN(n.dc()),this.c=n}function PT(n){this.b=HB(kX(n),83)}function IT(n){this.a=HB(kX(n),83)}function CT(n){this.a=HB(kX(n),15)}function OT(n){this.a=HB(kX(n),15)}function AT(n){this.b=HB(kX(n),47)}function $T(){this.q=new e.Date}function LT(){LT=A,Htt=new $}function NT(){NT=A,wet=new I}function xT(n){return n.f.c+n.g.c}function DT(n,t){return n.b.Hc(t)}function RT(n,t){return n.b.Ic(t)}function KT(n,t){return n.b.Qc(t)}function _T(n,t){return n.b.Hc(t)}function FT(n,t){return n.c.uc(t)}function BT(n,t){return n.a._b(t)}function HT(n,t){return xfn(n.c,t)}function qT(n,t){return fU(n.b,t)}function GT(n,t){return n>t&&t0}function hS(n,t){return Qhn(n,t)<0}function fS(n,t){return n.a.get(t)}function lS(n,t){return t.split(n)}function bS(n,t){return fU(n.e,t)}function wS(n){return jW(n),!1}function dS(n){d1.call(this,n,21)}function gS(n,t){FJ.call(this,n,t)}function pS(n,t){pT.call(this,n,t)}function vS(n,t){pT.call(this,n,t)}function mS(n){QX(),QK.call(this,n)}function yS(n,t){EG(n,n.length,t)}function kS(n,t){YU(n,n.length,t)}function jS(n,t,e){t.ud(n.a.Ge(e))}function ES(n,t,e){t.we(n.a.Fe(e))}function TS(n,t,e){t.td(n.a.Kb(e))}function MS(n,t,e){n.Mb(e)&&t.td(e)}function SS(n,t,e){n.splice(t,0,e)}function PS(n,t){return PN(n.e,t)}function IS(n,t){this.d=n,this.e=t}function CS(n,t){this.b=n,this.a=t}function OS(n,t){this.b=n,this.a=t}function AS(n,t){this.b=n,this.a=t}function $S(n,t){this.a=n,this.b=t}function LS(n,t){this.a=n,this.b=t}function NS(n,t){this.a=n,this.b=t}function xS(n,t){this.a=n,this.b=t}function DS(n,t){this.a=n,this.b=t}function RS(n,t){this.b=n,this.a=t}function KS(n,t){this.b=n,this.a=t}function _S(n,t){pT.call(this,n,t)}function FS(n,t){pT.call(this,n,t)}function BS(n,t){pT.call(this,n,t)}function HS(n,t){pT.call(this,n,t)}function qS(n,t){pT.call(this,n,t)}function GS(n,t){pT.call(this,n,t)}function zS(n,t){pT.call(this,n,t)}function US(n,t){pT.call(this,n,t)}function XS(n,t){pT.call(this,n,t)}function WS(n,t){pT.call(this,n,t)}function VS(n,t){pT.call(this,n,t)}function QS(n,t){pT.call(this,n,t)}function YS(n,t){pT.call(this,n,t)}function JS(n,t){pT.call(this,n,t)}function ZS(n,t){pT.call(this,n,t)}function nP(n,t){pT.call(this,n,t)}function tP(n,t){pT.call(this,n,t)}function eP(n,t){pT.call(this,n,t)}function iP(n,t){this.a=n,this.b=t}function rP(n,t){this.a=n,this.b=t}function cP(n,t){this.a=n,this.b=t}function aP(n,t){this.a=n,this.b=t}function uP(n,t){this.a=n,this.b=t}function oP(n,t){this.a=n,this.b=t}function sP(n,t){this.a=n,this.b=t}function hP(n,t){this.a=n,this.b=t}function fP(n,t){this.a=n,this.b=t}function lP(n,t){this.b=n,this.a=t}function bP(n,t){this.b=n,this.a=t}function wP(n,t){this.b=n,this.a=t}function dP(n,t){this.b=n,this.a=t}function gP(n,t){this.c=n,this.d=t}function pP(n,t){this.e=n,this.d=t}function vP(n,t){this.a=n,this.b=t}function mP(n,t){this.b=t,this.c=n}function yP(n,t){pT.call(this,n,t)}function kP(n,t){pT.call(this,n,t)}function jP(n,t){pT.call(this,n,t)}function EP(n,t){pT.call(this,n,t)}function TP(n,t){pT.call(this,n,t)}function MP(n,t){pT.call(this,n,t)}function SP(n,t){pT.call(this,n,t)}function PP(n,t){pT.call(this,n,t)}function IP(n,t){pT.call(this,n,t)}function CP(n,t){pT.call(this,n,t)}function OP(n,t){pT.call(this,n,t)}function AP(n,t){pT.call(this,n,t)}function $P(n,t){pT.call(this,n,t)}function LP(n,t){pT.call(this,n,t)}function NP(n,t){pT.call(this,n,t)}function xP(n,t){pT.call(this,n,t)}function DP(n,t){pT.call(this,n,t)}function RP(n,t){pT.call(this,n,t)}function KP(n,t){pT.call(this,n,t)}function _P(n,t){pT.call(this,n,t)}function FP(n,t){pT.call(this,n,t)}function BP(n,t){pT.call(this,n,t)}function HP(n,t){pT.call(this,n,t)}function qP(n,t){pT.call(this,n,t)}function GP(n,t){pT.call(this,n,t)}function zP(n,t){pT.call(this,n,t)}function UP(n,t){pT.call(this,n,t)}function XP(n,t){pT.call(this,n,t)}function WP(n,t){pT.call(this,n,t)}function VP(n,t){pT.call(this,n,t)}function QP(n,t){pT.call(this,n,t)}function YP(n,t){pT.call(this,n,t)}function JP(n,t){pT.call(this,n,t)}function ZP(n,t){pT.call(this,n,t)}function nI(n,t){this.b=n,this.a=t}function tI(n,t){this.a=n,this.b=t}function eI(n,t){this.a=n,this.b=t}function iI(n,t){this.a=n,this.b=t}function rI(n,t){this.a=n,this.b=t}function cI(n,t){pT.call(this,n,t)}function aI(n,t){pT.call(this,n,t)}function uI(n,t){this.b=n,this.d=t}function oI(n,t){pT.call(this,n,t)}function sI(n,t){pT.call(this,n,t)}function hI(n,t){this.a=n,this.b=t}function fI(n,t){this.a=n,this.b=t}function lI(n,t){pT.call(this,n,t)}function bI(n,t){pT.call(this,n,t)}function wI(n,t){pT.call(this,n,t)}function dI(n,t){pT.call(this,n,t)}function gI(n,t){pT.call(this,n,t)}function pI(n,t){pT.call(this,n,t)}function vI(n,t){pT.call(this,n,t)}function mI(n,t){pT.call(this,n,t)}function yI(n,t){pT.call(this,n,t)}function kI(n,t){pT.call(this,n,t)}function jI(n,t){pT.call(this,n,t)}function EI(n,t){pT.call(this,n,t)}function TI(n,t){pT.call(this,n,t)}function MI(n,t){pT.call(this,n,t)}function SI(n,t){pT.call(this,n,t)}function PI(n,t){pT.call(this,n,t)}function II(n,t){return PN(n.c,t)}function CI(n,t){return PN(t.b,n)}function OI(n,t){return-n.b.Je(t)}function AI(n,t){return PN(n.g,t)}function $I(n,t){pT.call(this,n,t)}function LI(n,t){pT.call(this,n,t)}function NI(n,t){this.a=n,this.b=t}function xI(n,t){this.a=n,this.b=t}function DI(n,t){this.a=n,this.b=t}function RI(n,t){pT.call(this,n,t)}function KI(n,t){pT.call(this,n,t)}function _I(n,t){pT.call(this,n,t)}function FI(n,t){pT.call(this,n,t)}function BI(n,t){pT.call(this,n,t)}function HI(n,t){pT.call(this,n,t)}function qI(n,t){pT.call(this,n,t)}function GI(n,t){pT.call(this,n,t)}function zI(n,t){pT.call(this,n,t)}function UI(n,t){pT.call(this,n,t)}function XI(n,t){pT.call(this,n,t)}function WI(n,t){pT.call(this,n,t)}function VI(n,t){pT.call(this,n,t)}function QI(n,t){pT.call(this,n,t)}function YI(n,t){pT.call(this,n,t)}function JI(n,t){pT.call(this,n,t)}function ZI(n,t){this.a=n,this.b=t}function nC(n,t){this.a=n,this.b=t}function tC(n,t){this.a=n,this.b=t}function eC(n,t){this.a=n,this.b=t}function iC(n,t){this.a=n,this.b=t}function rC(n,t){this.a=n,this.b=t}function cC(n,t){this.a=n,this.b=t}function aC(n,t){pT.call(this,n,t)}function uC(n,t){this.a=n,this.b=t}function oC(n,t){this.a=n,this.b=t}function sC(n,t){this.a=n,this.b=t}function hC(n,t){this.a=n,this.b=t}function fC(n,t){this.a=n,this.b=t}function lC(n,t){this.a=n,this.b=t}function bC(n,t){this.b=n,this.a=t}function wC(n,t){this.b=n,this.a=t}function dC(n,t){this.b=n,this.a=t}function gC(n,t){this.b=n,this.a=t}function pC(n,t){this.a=n,this.b=t}function vC(n,t){this.a=n,this.b=t}function mC(n,t){ZLn(n.a,HB(t,56))}function yC(n,t){m7(n.a,HB(t,11))}function kC(n,t){return fH(),t!=n}function jC(){return Kk(),new jet}function EC(){GZ(),this.b=new Kv}function TC(){gxn(),this.a=new Kv}function MC(){_Z(),_G.call(this)}function SC(n,t){pT.call(this,n,t)}function PC(n,t){this.a=n,this.b=t}function IC(n,t){this.a=n,this.b=t}function CC(n,t){this.a=n,this.b=t}function OC(n,t){this.a=n,this.b=t}function AC(n,t){this.a=n,this.b=t}function $C(n,t){this.a=n,this.b=t}function LC(n,t){this.d=n,this.b=t}function NC(n,t){this.d=n,this.e=t}function xC(n,t){this.f=n,this.c=t}function DC(n,t){this.b=n,this.c=t}function RC(n,t){this.i=n,this.g=t}function KC(n,t){this.e=n,this.a=t}function _C(n,t){this.a=n,this.b=t}function FC(n,t){n.i=null,urn(n,t)}function BC(n,t){n&&QW(fAt,n,t)}function HC(n,t){return cdn(n.a,t)}function qC(n){return udn(n.c,n.b)}function GC(n){return n?n.dd():null}function zC(n){return null==n?null:n}function UC(n){return typeof n===LWn}function XC(n){return typeof n===NWn}function WC(n){return typeof n===xWn}function VC(n,t){return n.Hd().Xb(t)}function QC(n,t){return Ycn(n.Kc(),t)}function YC(n,t){return 0==Qhn(n,t)}function JC(n,t){return Qhn(n,t)>=0}function ZC(n,t){return 0!=Qhn(n,t)}function nO(n){return""+(jW(n),n)}function tO(n,t){return n.substr(t)}function eO(n){return Ubn(n),n.d.gc()}function iO(n){return UOn(n,n.c),n}function rO(n){return ZH(null==n),n}function cO(n,t){return n.a+=""+t,n}function aO(n,t){return n.a+=""+t,n}function uO(n,t){return n.a+=""+t,n}function oO(n,t){return n.a+=""+t,n}function sO(n,t){return n.a+=""+t,n}function hO(n,t){return n.a+=""+t,n}function fO(n,t){c5(n,t,n.a,n.a.a)}function lO(n,t){c5(n,t,n.c.b,n.c)}function bO(n,t,e){_jn(t,KPn(n,e))}function wO(n,t,e){_jn(t,KPn(n,e))}function dO(n,t){Mnn(new $L(n),t)}function gO(n,t){n.q.setTime(E2(t))}function pO(n,t){Uz.call(this,n,t)}function vO(n,t){Uz.call(this,n,t)}function mO(n,t){Uz.call(this,n,t)}function yO(n){LU(this),Mcn(this,n)}function kO(n){return b1(n,0),null}function jO(n){return n.a=0,n.b=0,n}function EO(n,t){return n.a=t.g+1,n}function TO(n,t){return 2==n.j[t.p]}function MO(n){return hX(HB(n,79))}function SO(){SO=A,$rt=bhn(epn())}function PO(){PO=A,nst=bhn(TNn())}function IO(){this.b=new WT(itn(12))}function CO(){this.b=0,this.a=!1}function OO(){this.b=0,this.a=!1}function AO(n){this.a=n,Hh.call(this)}function $O(n){this.a=n,Hh.call(this)}function LO(n,t){rR.call(this,n,t)}function NO(n,t){eK.call(this,n,t)}function xO(n,t){RC.call(this,n,t)}function DO(n,t){$an.call(this,n,t)}function RO(n,t){YN.call(this,n,t)}function KO(n,t){tS(),QW(yAt,n,t)}function _O(n,t){return lx(n.a,0,t)}function FO(n,t){return n.a.a.a.cc(t)}function BO(n,t){return zC(n)===zC(t)}function HO(n,t){return Iln(n.a,t.a)}function qO(n,t){return T$(n.a,t.a)}function GO(n,t){return BU(n.a,t.a)}function zO(n,t){return n.indexOf(t)}function UO(n,t){return n==t?0:n?1:-1}function XO(n){return n<10?"0"+n:""+n}function WO(n){return kX(n),new AO(n)}function VO(n){return S$(n.l,n.m,n.h)}function QO(n){return CJ((jW(n),n))}function YO(n){return CJ((jW(n),n))}function JO(n,t){return T$(n.g,t.g)}function ZO(n){return typeof n===NWn}function nA(n){return n==nut||n==iut}function tA(n){return n==nut||n==tut}function eA(n){return T7(n.b.b,n,0)}function iA(n){this.a=jC(),this.b=n}function rA(n){this.a=jC(),this.b=n}function cA(n,t){return VB(n.a,t),t}function aA(n,t){return VB(n.c,t),n}function uA(n,t){return Zcn(n.a,t),n}function oA(n,t){return z_(),t.a+=n}function sA(n,t){return z_(),t.a+=n}function hA(n,t){return z_(),t.c+=n}function fA(n,t){U9(n,0,n.length,t)}function lA(){iw.call(this,new m4)}function bA(){oG.call(this,0,0,0,0)}function wA(){XV.call(this,0,0,0,0)}function dA(n){this.a=n.a,this.b=n.b}function gA(n){return n==FPt||n==BPt}function pA(n){return n==qPt||n==_Pt}function vA(n){return n==lvt||n==fvt}function mA(n){return n!=YIt&&n!=JIt}function yA(n){return n.Lg()&&n.Mg()}function kA(n){return yV(HB(n,118))}function jA(n){return Zcn(new H2,n)}function EA(n,t){return new $an(t,n)}function TA(n,t){return new $an(t,n)}function MA(n,t,e){Een(n,t),Ten(n,e)}function SA(n,t,e){Pen(n,t),Sen(n,e)}function PA(n,t,e){Ien(n,t),Cen(n,e)}function IA(n,t,e){Men(n,t),Aen(n,e)}function CA(n,t,e){Oen(n,t),$en(n,e)}function OA(n,t){Rsn(n,t),Den(n,n.D)}function AA(n){xC.call(this,n,!0)}function $A(n,t,e){xD.call(this,n,t,e)}function LA(n){ADn(),han.call(this,n)}function NA(){pS.call(this,"Head",1)}function xA(){pS.call(this,"Tail",3)}function DA(n){n.c=D8($nt,qWn,1,0,5,1)}function RA(n){n.a=D8($nt,qWn,1,8,5,1)}function KA(n){Atn(n.xf(),new Pw(n))}function _A(n){return null!=n?tsn(n):0}function FA(n,t){return Ctn(t,VJ(n))}function BA(n,t){return Ctn(t,VJ(n))}function HA(n,t){return n[n.length]=t}function qA(n,t){return n[n.length]=t}function GA(n){return BB(n.b.Kc(),n.a)}function zA(n,t){return Xin(IX(n.d),t)}function UA(n,t){return Xin(IX(n.g),t)}function XA(n,t){return Xin(IX(n.j),t)}function WA(n,t){rR.call(this,n.b,t)}function VA(n){oG.call(this,n,n,n,n)}function QA(n){return n.b&&QBn(n),n.a}function YA(n){return n.b&&QBn(n),n.c}function JA(n,t){Yet||(n.b=t)}function ZA(n,t,e){return LX(n,t,e),e}function n$(n,t,e){LX(n.c[t.g],t.g,e)}function t$(n,t,e){HB(n.c,69).Xh(t,e)}function e$(n,t,e){PA(e,e.i+n,e.j+t)}function i$(n,t){l9(u4(n.a),i1(t))}function r$(n,t){l9(q7(n.a),r1(t))}function c$(n){dWn(),$p.call(this,n)}function a$(n){return null==n?0:tsn(n)}function u$(){u$=A,hyt=new qbn(sIt)}function o$(){o$=A,new s$,new xp}function s$(){new Dp,new Dp,new Dp}function h$(){h$=A,Sv(),rtt=new Dp}function f$(){f$=A,e.Math.log(2)}function l$(){l$=A,UM(),K$t=COt}function b$(){throw qp(new ek(Mnt))}function w$(){throw qp(new ek(Mnt))}function d$(){throw qp(new ek(Snt))}function g$(){throw qp(new ek(Snt))}function p$(n){this.a=n,YB.call(this,n)}function v$(n){this.a=n,PT.call(this,n)}function m$(n){this.a=n,PT.call(this,n)}function y$(n,t){kG(n.c,n.c.length,t)}function k$(n){return n.at?1:0}function M$(n,t){return Qhn(n,t)>0?n:t}function S$(n,t,e){return{l:n,m:t,h:e}}function P$(n,t){null!=n.a&&yC(t,n.a)}function I$(n){n.a=new L,n.c=new L}function C$(n){this.b=n,this.a=new xp}function O$(n){this.b=new it,this.a=n}function A$(n){NR.call(this),this.a=n}function $$(){pS.call(this,"Range",2)}function L$(){ejn(),this.a=new CNn(Xat)}function N$(n,t){kX(t),TV(n).Jc(new w)}function x$(n,t){return HZ(),t.n.b+=n}function D$(n,t,e){return QW(n.g,e,t)}function R$(n,t,e){return QW(n.k,e,t)}function K$(n,t){return QW(n.a,t.a,t)}function _$(n,t,e){return Odn(t,e,n.c)}function F$(n){return new DI(n.c,n.d)}function B$(n){return new DI(n.c,n.d)}function H$(n){return new DI(n.a,n.b)}function q$(n,t){return ezn(n.a,t,null)}function G$(n){PZ(n,null),SZ(n,null)}function z$(n){VZ(n,null),QZ(n,null)}function U$(){YN.call(this,null,null)}function X$(){JN.call(this,null,null)}function W$(n){this.a=n,Dp.call(this)}function V$(n){this.b=(PQ(),new Wb(n))}function Q$(n){n.j=D8(Btt,hVn,310,0,0,1)}function Y$(n,t,e){n.c.Vc(t,HB(e,133))}function J$(n,t,e){n.c.ji(t,HB(e,133))}function Z$(n,t){hqn(n),n.Gc(HB(t,15))}function nL(n,t){return Hqn(n.c,n.b,t)}function tL(n,t){return new vN(n.Kc(),t)}function eL(n,t){return-1!=Bun(n.Kc(),t)}function iL(n,t){return null!=n.a.Bc(t)}function rL(n){return n.Ob()?n.Pb():null}function cL(n){return Hdn(n,0,n.length)}function aL(n,t){return null!=n&&Ypn(n,t)}function uL(n,t){n.q.setHours(t),bBn(n,t)}function oL(n,t){n.c&&(KH(t),jJ(t))}function sL(n,t,e){HB(n.Kb(e),164).Nb(t)}function hL(n,t,e){return qGn(n,t,e),e}function fL(n,t,e){n.a=1502^t,n.b=e^uYn}function lL(n,t,e){return n.a[t.g][e.g]}function bL(n,t){return n.a[t.c.p][t.p]}function wL(n,t){return n.e[t.c.p][t.p]}function dL(n,t){return n.c[t.c.p][t.p]}function gL(n,t){return n.j[t.p]=vLn(t)}function pL(n,t){return l6(n.f,t.tg())}function vL(n,t){return l6(n.b,t.tg())}function mL(n,t){return n.a0?t*t/n:t*t*100}function Dx(n,t){return n>0?t/(n*n):100*t}function Rx(n,t,e){return VB(t,swn(n,e))}function Kx(n,t,e){D9(),n.Xe(t)&&e.td(n)}function _x(n,t,e){n.Zc(t).Rb(e)}function Fx(n,t,e){return n.a+=t,n.b+=e,n}function Bx(n,t,e){return n.a*=t,n.b*=e,n}function Hx(n,t,e){return n.a-=t,n.b-=e,n}function qx(n,t){return n.a=t.a,n.b=t.b,n}function Gx(n){return n.a=-n.a,n.b=-n.b,n}function zx(n){this.c=n,this.a=1,this.b=1}function Ux(n){this.c=n,Ien(n,0),Cen(n,0)}function Xx(n){JT.call(this),tin(this,n)}function Wx(n){KXn(),Hp(this),this.mf(n)}function Vx(n,t){YM(),YN.call(this,n,t)}function Qx(n,t){JM(),JN.call(this,n,t)}function Yx(n,t){JM(),JN.call(this,n,t)}function Jx(n,t){JM(),Qx.call(this,n,t)}function Zx(n,t,e){k9.call(this,n,t,e,2)}function nD(n,t){l$(),aG.call(this,n,t)}function tD(n,t){l$(),nD.call(this,n,t)}function eD(n,t){l$(),nD.call(this,n,t)}function iD(n,t){l$(),eD.call(this,n,t)}function rD(n,t){l$(),aG.call(this,n,t)}function cD(n,t){l$(),rD.call(this,n,t)}function aD(n,t){l$(),aG.call(this,n,t)}function uD(n,t){return n.c.Fc(HB(t,133))}function oD(n,t,e){return xHn(B7(n,t),e)}function sD(n,t,e){return t.Qk(n.e,n.c,e)}function hD(n,t,e){return t.Rk(n.e,n.c,e)}function fD(n,t){return efn(n.e,HB(t,49))}function lD(n,t,e){hln(q7(n.a),t,r1(e))}function bD(n,t,e){hln(u4(n.a),t,i1(e))}function wD(n,t){t.$modCount=n.$modCount}function dD(){dD=A,Qkt=new op("root")}function gD(){gD=A,vAt=new Mm,new Sm}function pD(){this.a=new vJ,this.b=new vJ}function vD(){Ein.call(this),this.Bb|=HQn}function mD(){pT.call(this,"GROW_TREE",0)}function yD(n){return null==n?null:dUn(n)}function kD(n){return null==n?null:NSn(n)}function jD(n){return null==n?null:Hbn(n)}function ED(n){return null==n?null:Hbn(n)}function TD(n){null==n.o&&p$n(n)}function MD(n){return ZH(null==n||UC(n)),n}function SD(n){return ZH(null==n||XC(n)),n}function PD(n){return ZH(null==n||WC(n)),n}function ID(n){this.q=new e.Date(E2(n))}function CD(n,t){this.c=n,vT.call(this,n,t)}function OD(n,t){this.a=n,CD.call(this,n,t)}function AD(n,t){this.d=n,Sb(this),this.b=t}function $D(n,t){H8.call(this,n),this.a=t}function LD(n,t){H8.call(this,n),this.a=t}function ND(n){Gwn.call(this,0,0),this.f=n}function xD(n,t,e){V6.call(this,n,t,e,null)}function DD(n,t,e){V6.call(this,n,t,e,null)}function RD(n,t,e){return n.ue(t,e)<=0?e:t}function KD(n,t,e){return n.ue(t,e)<=0?t:e}function _D(n,t){return HB(bnn(n.b,t),149)}function FD(n,t){return HB(bnn(n.c,t),229)}function BD(n){return HB(Dq(n.a,n.b),287)}function HD(n){return new DI(n.c,n.d+n.a)}function qD(n){return HZ(),vA(HB(n,197))}function GD(){GD=A,Lrt=tbn((ydn(),FCt))}function zD(n,t){t.a?Bxn(n,t):SN(n.a,t.b)}function UD(n,t){Yet||VB(n.a,t)}function XD(n,t){return yM(),dan(t.d.i,n)}function WD(n,t){return Orn(),new aKn(t,n)}function VD(n,t){return AY(t,oJn),n.f=t,n}function QD(n,t,e){return e=M_n(n,t,3,e)}function YD(n,t,e){return e=M_n(n,t,6,e)}function JD(n,t,e){return e=M_n(n,t,9,e)}function ZD(n,t,e){++n.j,n.Ki(),N8(n,t,e)}function nR(n,t,e){++n.j,n.Hi(t,n.oi(t,e))}function tR(n,t,e){n.Zc(t).Rb(e)}function eR(n,t,e){return nHn(n.c,n.b,t,e)}function iR(n,t){return(t&RWn)%n.d.length}function rR(n,t){op.call(this,n),this.a=t}function cR(n,t){jp.call(this,n),this.a=t}function aR(n,t){jp.call(this,n),this.a=t}function uR(n,t){this.c=n,ptn.call(this,t)}function oR(n,t){this.a=n,kp.call(this,t)}function sR(n,t){this.a=n,kp.call(this,t)}function hR(n){this.a=(bin(n,$Vn),new Z6(n))}function fR(n){this.a=(bin(n,$Vn),new Z6(n))}function lR(n){return!n.a&&(n.a=new d),n.a}function bR(n){return n>8?0:n+1}function wR(n,t){return fN(),n==t?0:n?1:-1}function dR(n,t,e){return yG(n,HB(t,22),e)}function gR(n,t,e){return n.apply(t,e)}function pR(n,t,e){return n.a+=Hdn(t,0,e),n}function vR(n,t){var e;return e=n.e,n.e=t,e}function mR(n,t){n[rYn].call(n,t)}function yR(n,t){n[rYn].call(n,t)}function kR(n,t){n.a.Vc(n.b,t),++n.b,n.c=-1}function jR(n){LU(n.e),n.d.b=n.d,n.d.a=n.d}function ER(n){n.b?ER(n.b):n.f.c.zc(n.e,n.d)}function TR(n,t,e){gM(),Ol(n,t.Ce(n.a,e))}function MR(n,t){return Yj(Sdn(n.a,t,!0))}function SR(n,t){return Yj(Pdn(n.a,t,!0))}function PR(n,t){return Gk(new Array(t),n)}function IR(n){return String.fromCharCode(n)}function CR(n){return null==n?null:n.message}function OR(){this.a=new xp,this.b=new xp}function AR(){this.a=new wt,this.b=new Mv}function $R(){this.b=new zj,this.c=new xp}function LR(){this.d=new zj,this.e=new zj}function NR(){this.n=new zj,this.o=new zj}function xR(){this.n=new wm,this.i=new wA}function DR(){this.a=new tf,this.b=new oc}function RR(){this.a=new xp,this.d=new xp}function KR(){this.b=new Kv,this.a=new Kv}function _R(){this.b=new Dp,this.a=new Dp}function FR(){this.b=new $E,this.a=new ga}function BR(){xR.call(this),this.a=new zj}function HR(n){Aan.call(this,n,(n7(),xet))}function qR(n,t,e,i){oG.call(this,n,t,e,i)}function GR(n,t,e){null!=e&&Nin(t,$mn(n,e))}function zR(n,t,e){null!=e&&xin(t,$mn(n,e))}function UR(n,t,e){return e=M_n(n,t,11,e)}function XR(n,t){return n.a+=t.a,n.b+=t.b,n}function WR(n,t){return n.a-=t.a,n.b-=t.b,n}function VR(n,t){return n.n.a=(jW(t),t+10)}function QR(n,t){return n.n.a=(jW(t),t+10)}function YR(n,t){return t==n||Pjn(CLn(t),n)}function JR(n,t){return null==QW(n.a,t,"")}function ZR(n,t){return yM(),!dan(t.d.i,n)}function nK(n,t){gA(n.f)?a$n(n,t):OTn(n,t)}function tK(n,t){return t.Hh(n.a)}function eK(n,t){$y.call(this,i9n+n+s8n+t)}function iK(n,t,e,i){iU.call(this,n,t,e,i)}function rK(n,t,e,i){iU.call(this,n,t,e,i)}function cK(n,t,e,i){rK.call(this,n,t,e,i)}function aK(n,t,e,i){rU.call(this,n,t,e,i)}function uK(n,t,e,i){rU.call(this,n,t,e,i)}function oK(n,t,e,i){rU.call(this,n,t,e,i)}function sK(n,t,e,i){uK.call(this,n,t,e,i)}function hK(n,t,e,i){uK.call(this,n,t,e,i)}function fK(n,t,e,i){oK.call(this,n,t,e,i)}function lK(n,t,e,i){hK.call(this,n,t,e,i)}function bK(n,t,e,i){nU.call(this,n,t,e,i)}function wK(n,t,e){this.a=n,nx.call(this,t,e)}function dK(n,t,e){this.c=t,this.b=e,this.a=n}function gK(n,t,e){return n.d=HB(t.Kb(e),164)}function pK(n,t){return n.Aj().Nh().Kh(n,t)}function vK(n,t){return n.Aj().Nh().Ih(n,t)}function mK(n,t){return jW(n),zC(n)===zC(t)}function yK(n,t){return jW(n),zC(n)===zC(t)}function kK(n,t){return Yj(Sdn(n.a,t,!1))}function jK(n,t){return Yj(Pdn(n.a,t,!1))}function EK(n,t){return n.b.sd(new LS(n,t))}function TK(n,t){return n.b.sd(new NS(n,t))}function MK(n,t){return n.b.sd(new xS(n,t))}function SK(n,t,e){return n.lastIndexOf(t,e)}function PK(n,t,e){return Iln(n[t.b],n[e.b])}function IK(n,t){return fon(t,(qXn(),Kdt),n)}function CK(n,t){return T$(t.a.d.p,n.a.d.p)}function OK(n,t){return T$(n.a.d.p,t.a.d.p)}function AK(n,t){return Iln(n.c-n.s,t.c-t.s)}function $K(n){return n.c?T7(n.c.a,n,0):-1}function LK(n){return n<100?null:new Bj(n)}function NK(n){return n==XIt||n==VIt||n==WIt}function xK(n,t){return aL(t,15)&&YDn(n.c,t)}function DK(n,t){Yet||t&&(n.d=t)}function RK(n,t){return!!bsn(n,t)}function KK(n,t){this.c=n,zU.call(this,n,t)}function _K(n){this.c=n,mO.call(this,wVn,0)}function FK(n,t){ZB.call(this,n,n.length,t)}function BK(n,t,e){return HB(n.c,69).lk(t,e)}function HK(n,t,e){return HB(n.c,69).mk(t,e)}function qK(n,t,e){return sD(n,HB(t,332),e)}function GK(n,t,e){return hD(n,HB(t,332),e)}function zK(n,t,e){return OEn(n,HB(t,332),e)}function UK(n,t,e){return YTn(n,HB(t,332),e)}function XK(n,t){return null==t?null:bfn(n.b,t)}function WK(n){return XC(n)?(jW(n),n):n.ke()}function VK(n){return!isNaN(n)&&!isFinite(n)}function QK(n){h_(),this.a=(PQ(),new $k(n))}function YK(n){fH(),this.d=n,this.a=new Np}function JK(n,t,e){this.a=n,this.b=t,this.c=e}function ZK(n,t,e){this.a=n,this.b=t,this.c=e}function n_(n,t,e){this.d=n,this.b=e,this.a=t}function t_(n){I$(this),kQ(this),Brn(this,n)}function e_(n){DA(this),eH(this.c,0,n.Pc())}function i_(n){lW(n.a),U8(n.c,n.b),n.b=null}function r_(n){this.a=n,LT(),lan(Date.now())}function c_(){c_=A,rit=new c,cit=new c}function a_(){a_=A,Met=new N,Set=new x}function u_(){u_=A,dAt=D8($nt,qWn,1,0,5,1)}function o_(){o_=A,S$t=D8($nt,qWn,1,0,5,1)}function s_(){s_=A,P$t=D8($nt,qWn,1,0,5,1)}function h_(){h_=A,new cv((PQ(),PQ(),het))}function f_(n){return n7(),Cnn((t7(),Fet),n)}function l_(n){return Gsn(),Cnn((i8(),nit),n)}function b_(n){return fpn(),Cnn((O4(),vit),n)}function w_(n){return Knn(),Cnn((A4(),jit),n)}function d_(n){return eRn(),Cnn((Dan(),Bit),n)}function g_(n){return Rtn(),Cnn((n8(),Vit),n)}function p_(n){return Z9(),Cnn((t8(),ert),n)}function v_(n){return z7(),Cnn((e8(),ort),n)}function m_(n){return gWn(),Cnn((SO(),$rt),n)}function y_(n){return Ran(),Cnn((i7(),Frt),n)}function k_(n){return qpn(),Cnn((r7(),Urt),n)}function j_(n){return Gpn(),Cnn((c7(),rct),n)}function E_(n){return dM(),Cnn((Y2(),uct),n)}function T_(n){return _nn(),Cnn(($4(),Fct),n)}function M_(n){return G7(),Cnn((r8(),Nat),n)}function S_(n){return kMn(),Cnn((Wnn(),Gat),n)}function P_(n){return $un(),Cnn((e7(),cut),n)}function I_(n){return Hfn(),Cnn((c8(),put),n)}function C_(n,t){if(!n)throw qp(new Fy(t))}function O_(n){return oSn(),Cnn((fen(),$ut),n)}function A_(n){oG.call(this,n.d,n.c,n.a,n.b)}function $_(n){oG.call(this,n.d,n.c,n.a,n.b)}function L_(n,t,e){this.b=n,this.c=t,this.a=e}function N_(n,t,e){this.b=n,this.a=t,this.c=e}function x_(n,t,e){this.a=n,this.b=t,this.c=e}function D_(n,t,e){this.a=n,this.b=t,this.c=e}function R_(n,t,e){this.a=n,this.b=t,this.c=e}function K_(n,t,e){this.a=n,this.b=t,this.c=e}function __(n,t,e){this.b=n,this.a=t,this.c=e}function F_(n,t,e){this.e=t,this.b=n,this.d=e}function B_(n,t,e){return gM(),n.a.Od(t,e),t}function H_(n){var t;return(t=new En).e=n,t}function q_(n){var t;return(t=new nm).b=n,t}function G_(){G_=A,Xut=new xe,Wut=new De}function z_(){z_=A,gst=new mr,pst=new yr}function U_(n){return Oun(),Cnn((u7(),sst),n)}function X_(n){return Aun(),Cnn((s7(),Tst),n)}function W_(n){return jDn(),Cnn((zcn(),Qst),n)}function V_(n){return LPn(),Cnn((wen(),cht),n)}function Q_(n){return Q8(),Cnn((K4(),sht),n)}function Y_(n){return Ain(),Cnn((a8(),wht),n)}function J_(n){return NEn(),Cnn((qnn(),Ast),n)}function Z_(n){return Crn(),Cnn((s8(),Fst),n)}function nF(n){return oin(),Cnn((u8(),mht),n)}function tF(n){return Qvn(),Cnn((Bnn(),Sht),n)}function eF(n){return Fnn(),Cnn((N4(),Oht),n)}function iF(n){return Zun(),Cnn((o8(),xht),n)}function rF(n){return pSn(),Cnn((ven(),qht),n)}function cF(n){return p7(),Cnn((x4(),Xht),n)}function aF(n){return Hjn(),Cnn((gen(),tft),n)}function uF(n){return ZMn(),Cnn((den(),sft),n)}function oF(n){return wDn(),Cnn((Qun(),kft),n)}function sF(n){return _an(),Cnn((f8(),Sft),n)}function hF(n){return U7(),Cnn((h8(),Aft),n)}function fF(n){return U2(),Cnn((_4(),xft),n)}function lF(n){return Mbn(),Cnn((Gnn(),Ult),n)}function bF(n){return MTn(),Cnn((pen(),cvt),n)}function wF(n){return Shn(),Cnn((l8(),hvt),n)}function dF(n){return wvn(),Cnn((h7(),gvt),n)}function gF(n){return uin(),Cnn((d8(),Xvt),n)}function pF(n){return hNn(),Cnn((Gcn(),Lvt),n)}function vF(n){return yon(),Cnn((w8(),Kvt),n)}function mF(n){return X7(),Cnn((R4(),Hvt),n)}function yF(n){return qcn(),Cnn((b8(),Jvt),n)}function kF(n){return xvn(),Cnn((Hnn(),Evt),n)}function jF(n){return $6(),Cnn((D4(),emt),n)}function EF(n){return Xsn(),Cnn((p8(),umt),n)}function TF(n){return gcn(),Cnn((v8(),lmt),n)}function MF(n){return Lun(),Cnn((g8(),pmt),n)}function SF(n){return sin(),Cnn((m8(),xmt),n)}function PF(n){return Y4(),Cnn((B4(),zmt),n)}function IF(n){return pJ(),Cnn((H4(),ryt),n)}function CF(n){return sZ(),Cnn((q4(),oyt),n)}function OF(n){return A6(),Cnn((F4(),Iyt),n)}function AF(n){return gJ(),Cnn((G4(),Ryt),n)}function $F(n){return Uyn(),Cnn((a7(),qyt),n)}function LF(n){return RPn(),Cnn((men(),Zyt),n)}function NF(n){return hZ(),Cnn((X4(),Bkt),n)}function xF(n){return Irn(),Cnn((U4(),njt),n)}function DF(n){return H0(),Cnn((z4(),zkt),n)}function RF(n){return Cbn(),Cnn((y8(),cjt),n)}function KF(n){return R9(),Cnn((W4(),sjt),n)}function _F(n){return qsn(),Cnn((k8(),wjt),n)}function FF(n){return Amn(),Cnn((o7(),Ujt),n)}function BF(n){return Hcn(),Cnn((E8(),Yjt),n)}function HF(n){return Pbn(),Cnn((j8(),iEt),n)}function qF(n){return JLn(),Cnn((Xnn(),HEt),n)}function GF(n){return Ibn(),Cnn((T8(),XEt),n)}function zF(n){return CM(),Cnn((V2(),QEt),n)}function UF(n){return OM(),Cnn((W2(),ZEt),n)}function XF(n){return L6(),Cnn((Q4(),iTt),n)}function WF(n){return LSn(),Cnn((znn(),hTt),n)}function VF(n){return AM(),Cnn((Q2(),XTt),n)}function QF(n){return Nun(),Cnn((V4(),YTt),n)}function YF(n){return cpn(),Cnn((Unn(),wMt),n)}function JF(n){return IPn(),Cnn((Ucn(),TMt),n)}function ZF(n){return dvn(),Cnn((ben(),DMt),n)}function nB(n){return dEn(),Cnn((len(),eSt),n)}function tB(n){return bWn(),Cnn((PO(),nst),n)}function eB(n){return Prn(),Cnn((L4(),Uut),n)}function iB(n){return Bfn(),Cnn((Vnn(),zPt),n)}function rB(n){return Ktn(),Cnn((S8(),QPt),n)}function cB(n){return Sbn(),Cnn((b7(),eIt),n)}function aB(n){return tMn(),Cnn((ken(),hIt),n)}function uB(n){return ofn(),Cnn((M8(),jIt),n)}function oB(n){return Wyn(),Cnn((l7(),IIt),n)}function sB(n){return t$n(),Cnn((xan(),_It),n)}function hB(n){return apn(),Cnn((Qnn(),UIt),n)}function fB(n){return YEn(),Cnn((qtn(),nCt),n)}function lB(n){return bCn(),Cnn((yen(),oCt),n)}function bB(n){return ydn(),Cnn((d7(),HCt),n)}function wB(n){return t_n(),Cnn((Yun(),ZCt),n)}function dB(n){return jUn(),Cnn((Ynn(),ACt),n)}function gB(n){return Bwn(),Cnn((w7(),cOt),n)}function pB(n){return Hsn(),Cnn((f7(),lOt),n)}function vB(n){return fAn(),Cnn((Xcn(),aAt),n)}function mB(n,t){return jW(n),n+(jW(t),t)}function yB(n,t){return LT(),l9(YQ(n.a),t)}function kB(n,t){return LT(),l9(YQ(n.a),t)}function jB(n,t){this.c=n,this.a=t,this.b=t-n}function EB(n,t,e){this.a=n,this.b=t,this.c=e}function TB(n,t,e){this.a=n,this.b=t,this.c=e}function MB(n,t,e){this.a=n,this.b=t,this.c=e}function SB(n,t,e){this.a=n,this.b=t,this.c=e}function PB(n,t,e){this.a=n,this.b=t,this.c=e}function IB(n,t,e){this.e=n,this.a=t,this.c=e}function CB(n,t,e){l$(),yJ.call(this,n,t,e)}function OB(n,t,e){l$(),cW.call(this,n,t,e)}function AB(n,t,e){l$(),cW.call(this,n,t,e)}function $B(n,t,e){l$(),cW.call(this,n,t,e)}function LB(n,t,e){l$(),OB.call(this,n,t,e)}function NB(n,t,e){l$(),OB.call(this,n,t,e)}function xB(n,t,e){l$(),NB.call(this,n,t,e)}function DB(n,t,e){l$(),AB.call(this,n,t,e)}function RB(n,t,e){l$(),$B.call(this,n,t,e)}function KB(n,t){return kX(n),kX(t),new fT(n,t)}function _B(n,t){return kX(n),kX(t),new FH(n,t)}function FB(n,t){return kX(n),kX(t),new BH(n,t)}function BB(n,t){return kX(n),kX(t),new bT(n,t)}function HB(n,t){return ZH(null==n||Ypn(n,t)),n}function qB(n){var t;return lnn(t=new xp,n),t}function GB(n){var t;return lnn(t=new Kv,n),t}function zB(n){var t;return Grn(t=new Uv,n),t}function UB(n){var t;return Grn(t=new JT,n),t}function XB(n){return!n.e&&(n.e=new xp),n.e}function WB(n){return!n.c&&(n.c=new Ho),n.c}function VB(n,t){return n.c[n.c.length]=t,!0}function QB(n,t){this.c=n,this.b=t,this.a=!1}function YB(n){this.d=n,Sb(this),this.b=cz(n.d)}function JB(){this.a=";,;",this.b="",this.c=""}function ZB(n,t,e){Xz.call(this,t,e),this.a=n}function nH(n,t,e){this.b=n,pO.call(this,t,e)}function tH(n,t,e){this.c=n,IS.call(this,t,e)}function eH(n,t,e){FIn(e,0,n,t,e.length,!1)}function iH(n,t,e,i,r){n.b=t,n.c=e,n.d=i,n.a=r}function rH(n,t){t&&(n.b=t,n.a=(TW(t),t.a))}function cH(n,t,e,i,r){n.d=t,n.c=e,n.a=i,n.b=r}function aH(n){var t,e;t=n.b,e=n.c,n.b=e,n.c=t}function uH(n){var t,e;e=n.d,t=n.a,n.d=t,n.a=e}function oH(n){return oan(DU(ZO(n)?Ian(n):n))}function sH(n,t){return T$(sq(n.d),sq(t.d))}function hH(n,t){return t==(jUn(),CCt)?n.c:n.d}function fH(){fH=A,jUn(),Kmt=CCt,_mt=sCt}function lH(){this.b=zy(SD(ypn((lRn(),uat))))}function bH(n){return gM(),D8($nt,qWn,1,n,5,1)}function wH(n){return new DI(n.c+n.b,n.d+n.a)}function dH(n,t){return PM(),T$(n.d.p,t.d.p)}function gH(n){return Ix(0!=n.b),$tn(n,n.a.a)}function pH(n){return Ix(0!=n.b),$tn(n,n.c.b)}function vH(n,t){if(!n)throw qp(new Ly(t))}function mH(n,t){if(!n)throw qp(new Fy(t))}function yH(n,t,e){gP.call(this,n,t),this.b=e}function kH(n,t,e){NC.call(this,n,t),this.c=e}function jH(n,t,e){wtn.call(this,t,e),this.d=n}function EH(n){s_(),ko.call(this),this.th(n)}function TH(n,t,e){this.a=n,xO.call(this,t,e)}function MH(n,t,e){this.a=n,xO.call(this,t,e)}function SH(n,t,e){NC.call(this,n,t),this.c=e}function PH(){K5(),sW.call(this,(VM(),UAt))}function IH(n){return null!=n&&!Wbn(n,NAt,xAt)}function CH(n,t){return(Vfn(n)<<4|Vfn(t))&YVn}function OH(n,t){return tV(),Uvn(n,t),new zW(n,t)}function AH(n,t){var e;n.n&&(e=t,VB(n.f,e))}function $H(n,t,e){ctn(n,t,new zX(e))}function LH(n,t){var e;return e=n.c,_in(n,t),e}function NH(n,t){return n.g=t<0?-1:t,n}function xH(n,t){return Utn(n),n.a*=t,n.b*=t,n}function DH(n,t,e,i,r){n.c=t,n.d=e,n.b=i,n.a=r}function RH(n,t){return c5(n,t,n.c.b,n.c),!0}function KH(n){n.a.b=n.b,n.b.a=n.a,n.a=n.b=null}function _H(n){this.b=n,this.a=bz(this.b.a).Ed()}function FH(n,t){this.b=n,this.a=t,Hh.call(this)}function BH(n,t){this.a=n,this.b=t,Hh.call(this)}function HH(n,t){Xz.call(this,t,1040),this.a=n}function qH(n){return 0==n||isNaN(n)?n:n<0?-1:1}function GH(n){return SQ(),IMn(n)==ZJ(AMn(n))}function zH(n){return SQ(),AMn(n)==ZJ(IMn(n))}function UH(n,t){return Jjn(n,new gP(t.a,t.b))}function XH(n){return!w5(n)&&n.c.i.c==n.d.i.c}function WH(n){var t;return t=n.n,n.a.b+t.d+t.a}function VH(n){var t;return t=n.n,n.e.b+t.d+t.a}function QH(n){var t;return t=n.n,n.e.a+t.b+t.c}function YH(n){return dWn(),new sG(0,n)}function JH(n){return n.a?n.a:iQ(n)}function ZH(n){if(!n)throw qp(new _y(null))}function nq(){nq=A,PQ(),oLt=new zb(I7n)}function tq(){tq=A,new hvn((ey(),Fnt),(iy(),_nt))}function eq(){eq=A,Ott=D8($tt,hVn,19,256,0,1)}function iq(n,t,e,i){uwn.call(this,n,t,e,i,0,0)}function rq(n,t,e){return QW(n.b,HB(e.b,17),t)}function cq(n,t,e){return QW(n.b,HB(e.b,17),t)}function aq(n,t){return VB(n,new DI(t.a,t.b))}function uq(n,t){return n.c=t)throw qp(new Pv)}function Fz(n,t,e){return LX(t,0,qq(t[0],e[0])),t}function Bz(n,t,e){t.Ye(e,zy(SD(KX(n.b,e)))*n.a)}function Hz(n,t,e){return EDn(),Rcn(n,t)&&Rcn(n,e)}function qz(n){return bCn(),!n.Hc(iCt)&&!n.Hc(cCt)}function Gz(n){return new DI(n.c+n.b/2,n.d+n.a/2)}function zz(n,t){return t.kh()?efn(n.b,HB(t,49)):t}function Uz(n,t){this.e=n,this.d=0!=(64&t)?t|fVn:t}function Xz(n,t){this.c=0,this.d=n,this.b=64|t|fVn}function Wz(n){this.b=new Z6(11),this.a=(IQ(),n)}function Vz(n){this.b=null,this.a=(IQ(),n||det)}function Qz(n){this.a=cvn(n.a),this.b=new e_(n.b)}function Yz(n){this.b=n,ax.call(this,n),SL(this)}function Jz(n){this.b=n,ox.call(this,n),PL(this)}function Zz(n,t,e){this.a=n,iK.call(this,t,e,5,6)}function nU(n,t,e,i){this.b=n,LL.call(this,t,e,i)}function tU(n,t,e,i,r){j9.call(this,n,t,e,i,r,-1)}function eU(n,t,e,i,r){E9.call(this,n,t,e,i,r,-1)}function iU(n,t,e,i){LL.call(this,n,t,e),this.b=i}function rU(n,t,e,i){kH.call(this,n,t,e),this.b=i}function cU(n){xC.call(this,n,!1),this.a=!1}function aU(n,t){this.b=n,fl.call(this,n.b),this.a=t}function uU(n,t){VX(),ET.call(this,n,hfn(new Zy(t)))}function oU(n,t){return dWn(),new aW(n,t,0)}function sU(n,t){return dWn(),new aW(6,n,t)}function hU(n,t){return yK(n.substr(0,t.length),t)}function fU(n,t){return WC(t)?iY(n,t):!!$Y(n.f,t)}function lU(n,t){for(jW(t);n.Ob();)t.td(n.Pb())}function bU(n,t,e){ADn(),this.e=n,this.d=t,this.a=e}function wU(n,t,e,i){var r;(r=n.i).i=t,r.a=e,r.b=i}function dU(n){var t;for(t=n;t.f;)t=t.f;return t}function gU(n){var t;return Ix(null!=(t=Ton(n))),t}function pU(n){var t;return Ix(null!=(t=yln(n))),t}function vU(n,t){var e;return d6(t,e=n.a.gc()),e-t}function mU(n,t){var e;for(e=0;e0?e.Math.log(n/t):-100}function BU(n,t){return Qhn(n,t)<0?-1:Qhn(n,t)>0?1:0}function HU(n,t,e){return PHn(n,HB(t,46),HB(e,167))}function qU(n,t){return HB(dz(bz(n.a)).Xb(t),42).cd()}function GU(n,t){return vtn(t,n.length),new HH(n,t)}function zU(n,t){this.d=n,$L.call(this,n),this.e=t}function UU(n){this.d=(jW(n),n),this.a=0,this.c=wVn}function XU(n,t){$p.call(this,1),this.a=n,this.b=t}function WU(n,t){return n.c?WU(n.c,t):VB(n.b,t),n}function VU(n,t,e){var i;return i=gnn(n,t),c4(n,t,e),i}function QU(n,t){return y7(n.slice(0,t),n)}function YU(n,t,e){var i;for(i=0;i=n.g}function nW(n,t,e){return xRn(n,krn(n,t,e))}function tW(n,t){var e;gnn(n,e=n.a.length),c4(n,e,t)}function eW(n,t){i[n].call(i,t)}function iW(n,t){var e;++n.j,e=n.Vi(),n.Ii(n.oi(e,t))}function rW(n,t,e){HB(t.b,65),Atn(t.a,new TB(n,e,t))}function cW(n,t,e){Ep.call(this,t),this.a=n,this.b=e}function aW(n,t,e){$p.call(this,n),this.a=t,this.b=e}function uW(n,t,e){this.a=n,jp.call(this,t),this.b=e}function oW(n,t,e){this.a=n,q2.call(this,8,t,null,e)}function sW(n){this.a=(jW(F9n),F9n),this.b=n,new xm}function hW(n){this.c=n,this.b=this.c.a,this.a=this.c.e}function fW(n){this.c=n,this.b=n.a.d.a,wD(n.a.e,this)}function lW(n){Sx(-1!=n.c),n.d.$c(n.c),n.b=n.c,n.c=-1}function bW(n){return e.Math.sqrt(n.a*n.a+n.b*n.b)}function wW(n,t){return _z(t,n.a.c.length),Dq(n.a,t)}function dW(n,t){return zC(n)===zC(t)||null!=n&&xfn(n,t)}function gW(n){return 0>=n?new QT:Vin(n-1)}function pW(n){return!!PNt&&iY(PNt,n)}function vW(n){return n?n.dc():!n.Kc().Ob()}function mW(n){return!n.a&&n.c?n.c.b:n.a}function yW(n){return!n.a&&(n.a=new LL(NOt,n,4)),n.a}function kW(n){return!n.d&&(n.d=new LL(QAt,n,1)),n.d}function jW(n){if(null==n)throw qp(new pv);return n}function EW(n){n.c?n.c.He():(n.d=!0,YNn(n))}function TW(n){n.c?TW(n.c):(Yln(n),n.d=!0)}function MW(n){MV(n.a),n.b=D8($nt,qWn,1,n.b.length,5,1)}function SW(n,t){return T$(t.j.c.length,n.j.c.length)}function PW(n,t){n.c<0||n.b.b=0?n.Bh(e):aCn(n,t)}function CW(n){return n.c.i.c==n.d.i.c}function OW(n){if(4!=n.p)throw qp(new gv);return n.e}function AW(n){if(3!=n.p)throw qp(new gv);return n.e}function $W(n){if(6!=n.p)throw qp(new gv);return n.f}function LW(n){if(6!=n.p)throw qp(new gv);return n.k}function NW(n){if(3!=n.p)throw qp(new gv);return n.j}function xW(n){if(4!=n.p)throw qp(new gv);return n.j}function DW(n){return!n.b&&(n.b=new Mp(new Dm)),n.b}function RW(n){return-2==n.c&&pb(n,oMn(n.g,n.b)),n.c}function KW(n,t){var e;return(e=yX("",n)).n=t,e.i=1,e}function _W(n,t){NG(HB(t.b,65),n),Atn(t.a,new $w(n))}function FW(n,t){l9((!n.a&&(n.a=new sR(n,n)),n.a),t)}function BW(n,t){this.b=n,zU.call(this,n,t),SL(this)}function HW(n,t){this.b=n,KK.call(this,n,t),PL(this)}function qW(n,t,e,i){mT.call(this,n,t),this.d=e,this.a=i}function GW(n,t,e,i){mT.call(this,n,e),this.a=t,this.f=i}function zW(n,t){V$.call(this,Qin(kX(n),kX(t))),this.a=t}function UW(){gMn.call(this,P7n,(cE(),gLt)),Vqn(this)}function XW(){gMn.call(this,Q9n,(rE(),t$t)),AHn(this)}function WW(){pT.call(this,"DELAUNAY_TRIANGULATION",0)}function VW(n){return String.fromCharCode.apply(null,n)}function QW(n,t,e){return WC(t)?yZ(n,t,e):EIn(n.f,t,e)}function YW(n){return PQ(),n?n.ve():(IQ(),IQ(),pet)}function JW(n,t,e){return xun(),e.pg(n,HB(t.cd(),146))}function ZW(n,t){return tq(),new hvn(new cN(n),new rN(t))}function nV(n){return bin(n,xVn),etn(cbn(cbn(5,n),n/10|0))}function tV(){tV=A,Hnt=new fy(Iun(zk(qnt,1),jVn,42,0,[]))}function eV(n){return!n.d&&(n.d=new qb(n.c.Cc())),n.d}function iV(n){return!n.a&&(n.a=new Nk(n.c.vc())),n.a}function rV(n){return!n.b&&(n.b=new $k(n.c.ec())),n.b}function cV(n,t){for(;t-- >0;)n=n<<1|(n<0?1:0);return n}function aV(n,t){return zC(n)===zC(t)||null!=n&&xfn(n,t)}function uV(n,t){return fN(),HB(t.b,19).a(i=CJ(e))&&++i,i}function nQ(n){var t;return aen(t=new _p,n),t}function tQ(n){var t;return RMn(t=new _p,n),t}function eQ(n,t){return _cn(t,KX(n.f,t)),null}function iQ(n){return Jin(n)||null}function rQ(n){return!n.b&&(n.b=new iU(FOt,n,12,3)),n.b}function cQ(n){return null!=n&&DT(EAt,n.toLowerCase())}function aQ(n,t){return Iln(rG(n)*iG(n),rG(t)*iG(t))}function uQ(n,t){return Iln(rG(n)*iG(n),rG(t)*iG(t))}function oQ(n,t){return Iln(n.d.c+n.d.b/2,t.d.c+t.d.b/2)}function sQ(n,t){return Iln(n.g.c+n.g.b/2,t.g.c+t.g.b/2)}function hQ(n,t,e){e.a?Cen(n,t.b-n.f/2):Ien(n,t.a-n.g/2)}function fQ(n,t,e,i){this.a=n,this.b=t,this.c=e,this.d=i}function lQ(n,t,e,i){this.a=n,this.b=t,this.c=e,this.d=i}function bQ(n,t,e,i){this.e=n,this.a=t,this.c=e,this.d=i}function wQ(n,t,e,i){this.a=n,this.c=t,this.d=e,this.b=i}function dQ(n,t,e,i){l$(),i6.call(this,t,e,i),this.a=n}function gQ(n,t,e,i){l$(),i6.call(this,t,e,i),this.a=n}function pQ(n,t){this.a=n,AD.call(this,n,HB(n.d,15).Zc(t))}function vQ(n){this.f=n,this.c=this.f.e,n.f>0&&ojn(this)}function mQ(n,t,e,i){this.b=n,this.c=i,mO.call(this,t,e)}function yQ(n){return Ix(n.b=0&&yK(n.substr(e,t.length),t)}function NY(n,t,e,i,r,c,a){return new w4(n.e,t,e,i,r,c,a)}function xY(n,t,e,i,r,c){this.a=n,jin.call(this,t,e,i,r,c)}function DY(n,t,e,i,r,c){this.a=n,jin.call(this,t,e,i,r,c)}function RY(n,t){this.g=n,this.d=Iun(zk(Aut,1),u1n,10,0,[t])}function KY(n,t){this.e=n,this.a=$nt,this.b=$Rn(t),this.c=t}function _Y(n,t){xR.call(this),Dtn(this),this.a=n,this.c=t}function FY(n,t,e,i){LX(n.c[t.g],e.g,i),LX(n.c[e.g],t.g,i)}function BY(n,t,e,i){LX(n.c[t.g],t.g,e),LX(n.b[t.g],t.g,i)}function HY(){return $6(),Iun(zk(amt,1),LVn,376,0,[nmt,Zvt])}function qY(){return p7(),Iun(zk(nft,1),LVn,479,0,[zht,Ght])}function GY(){return Fnn(),Iun(zk(Nht,1),LVn,419,0,[Pht,Iht])}function zY(){return Q8(),Iun(zk(bht,1),LVn,422,0,[aht,uht])}function UY(){return U2(),Iun(zk(zlt,1),LVn,420,0,[$ft,Lft])}function XY(){return X7(),Iun(zk(Uvt,1),LVn,421,0,[_vt,Fvt])}function WY(){return Y4(),Iun(zk(Qmt,1),LVn,523,0,[qmt,Hmt])}function VY(){return A6(),Iun(zk(Dyt,1),LVn,520,0,[Syt,Myt])}function QY(){return pJ(),Iun(zk(uyt,1),LVn,516,0,[eyt,tyt])}function YY(){return sZ(),Iun(zk(Pyt,1),LVn,515,0,[cyt,ayt])}function JY(){return gJ(),Iun(zk(Hyt,1),LVn,455,0,[Nyt,xyt])}function ZY(){return H0(),Iun(zk(Zkt,1),LVn,425,0,[qkt,Hkt])}function nJ(){return hZ(),Iun(zk(Gkt,1),LVn,480,0,[Kkt,_kt])}function tJ(){return Irn(),Iun(zk(rjt,1),LVn,495,0,[Ykt,Jkt])}function eJ(){return R9(),Iun(zk(bjt,1),LVn,426,0,[ajt,ujt])}function iJ(){return Nun(),Iun(zk(JTt,1),LVn,429,0,[VTt,WTt])}function rJ(){return L6(),Iun(zk(sTt,1),LVn,430,0,[tTt,nTt])}function cJ(){return fpn(),Iun(zk(kit,1),LVn,428,0,[git,dit])}function aJ(){return Knn(),Iun(zk(_it,1),LVn,427,0,[mit,yit])}function uJ(){return _nn(),Iun(zk(Lat,1),LVn,424,0,[Rct,Kct])}function oJ(){return Prn(),Iun(zk(Vut,1),LVn,511,0,[Gut,qut])}function sJ(n,t,e,i){return e>=0?n.jh(t,e,i):n.Sg(null,e,i)}function hJ(n){return 0==n.b.b?n.a.$e():gH(n.b)}function fJ(n){if(5!=n.p)throw qp(new gv);return gG(n.f)}function lJ(n){if(5!=n.p)throw qp(new gv);return gG(n.k)}function bJ(n){return zC(n.a)===zC((dcn(),O$t))&&Kqn(n),n.a}function wJ(n){this.a=HB(kX(n),271),this.b=(PQ(),new gN(n))}function dJ(n,t){nb(this,new DI(n.a,n.b)),tb(this,UB(t))}function gJ(){gJ=A,Nyt=new sI(aJn,0),xyt=new sI(uJn,1)}function pJ(){pJ=A,eyt=new aI(uJn,0),tyt=new aI(aJn,1)}function vJ(){uy.call(this,new WT(itn(12))),uN(!0),this.a=2}function mJ(n,t,e){dWn(),$p.call(this,n),this.b=t,this.a=e}function yJ(n,t,e){l$(),Ep.call(this,t),this.a=n,this.b=e}function kJ(n){xR.call(this),Dtn(this),this.a=n,this.c=!0}function jJ(n){var t;t=n.c.d.b,n.b=t,n.a=n.c.d,t.a=n.c.d.b=n}function EJ(n){vin(n.a),KA(n.a),ewn(new Iw(n.a))}function TJ(n,t){sRn(n,!0),Atn(n.e.wf(),new L_(n,!0,t))}function MJ(n,t){return a4(t),Jen(n,D8($Nt,fQn,25,t,15,1),t)}function SJ(n,t){return SQ(),n==ZJ(IMn(t))||n==ZJ(AMn(t))}function PJ(n,t){return null==t?GC($Y(n.f,null)):fS(n.g,t)}function IJ(n){return 0==n.b?null:(Ix(0!=n.b),$tn(n,n.a.a))}function CJ(n){return 0|Math.max(Math.min(n,RWn),-2147483648)}function OJ(n,t){var e=ntt[n.charCodeAt(0)];return null==e?n:e}function AJ(n,t){return VQ(n,"set1"),VQ(t,"set2"),new TT(n,t)}function $J(n,t){return XR(Gx(ten(n.f,t)),n.f.d)}function LJ(n,t){var e;return JGn(n,t,e=new G),e.d}function NJ(n,t,e,i){var r;r=new BR,t.a[e.g]=r,yG(n.b,i,r)}function xJ(n,t,e){var i;(i=n.Yg(t))>=0?n.sh(i,e):MLn(n,t,e)}function DJ(n,t,e){fZ(),n&&QW(lAt,n,t),n&&QW(fAt,n,e)}function RJ(n,t,e){this.i=new xp,this.b=n,this.g=t,this.a=e}function KJ(n,t,e){this.c=new xp,this.e=n,this.f=t,this.b=e}function _J(n,t,e){this.a=new xp,this.e=n,this.f=t,this.c=e}function FJ(n,t){Q$(this),this.f=t,this.g=n,EQ(this),this._d()}function BJ(n,t){var e;e=n.q.getHours(),n.q.setDate(t),bBn(n,e)}function HJ(n,t){var e;for(kX(t),e=n.a;e;e=e.c)t.Od(e.g,e.i)}function qJ(n){var t;return Lon(t=new wE(itn(n.length)),n),t}function GJ(n){function t(){}return t.prototype=n||{},new t}function zJ(n,t){return!!dun(n,t)&&(iin(n),!0)}function UJ(n,t){if(null==t)throw qp(new pv);return ogn(n,t)}function XJ(n){if(n.qe())return null;var t=n.n;return PWn[t]}function WJ(n){return n.Db>>16!=3?null:HB(n.Cb,33)}function VJ(n){return n.Db>>16!=9?null:HB(n.Cb,33)}function QJ(n){return n.Db>>16!=6?null:HB(n.Cb,79)}function YJ(n){return n.Db>>16!=7?null:HB(n.Cb,235)}function JJ(n){return n.Db>>16!=7?null:HB(n.Cb,160)}function ZJ(n){return n.Db>>16!=11?null:HB(n.Cb,33)}function nZ(n,t){var e;return(e=n.Yg(t))>=0?n.lh(e):GCn(n,t)}function tZ(n,t){var e;return sMn(e=new Nq(t),n),new e_(e)}function eZ(n){var t;return t=n.d,t=n.si(n.f),l9(n,t),t.Ob()}function iZ(n,t){return n.b+=t.b,n.c+=t.c,n.d+=t.d,n.a+=t.a,n}function rZ(n,t){return e.Math.abs(n)0}function aZ(){this.a=new lA,this.e=new Kv,this.g=0,this.i=0}function uZ(n){this.a=n,this.b=D8(Fmt,hVn,1944,n.e.length,0,2)}function oZ(n,t,e){var i;i=xon(n,t,e),n.b=new yrn(i.c.length)}function sZ(){sZ=A,cyt=new cI(vJn,0),ayt=new cI("UP",1)}function hZ(){hZ=A,Kkt=new wI(X3n,0),_kt=new wI("FAN",1)}function fZ(){fZ=A,lAt=new Dp,fAt=new Dp,BC(ket,new go)}function lZ(n){if(0!=n.p)throw qp(new gv);return ZC(n.f,0)}function bZ(n){if(0!=n.p)throw qp(new gv);return ZC(n.k,0)}function wZ(n){return n.Db>>16!=3?null:HB(n.Cb,147)}function dZ(n){return n.Db>>16!=6?null:HB(n.Cb,235)}function gZ(n){return n.Db>>16!=17?null:HB(n.Cb,26)}function pZ(n,t){var e=n.a=n.a||[];return e[t]||(e[t]=n.le(t))}function vZ(n,t){var e;return null==(e=n.a.get(t))?new Array:e}function mZ(n,t){var e;e=n.q.getHours(),n.q.setMonth(t),bBn(n,e)}function yZ(n,t,e){return null==t?EIn(n.f,null,e):obn(n.g,t,e)}function kZ(n,t,e,i,r,c){return new x7(n.e,t,n.aj(),e,i,r,c)}function jZ(n,t,e){return n.a=lx(n.a,0,t)+""+e+tO(n.a,t),n}function EZ(n,t,e){return VB(n.a,(tV(),Uvn(t,e),new mT(t,e))),n}function TZ(n){return sN(n.c),n.e=n.a=n.c,n.c=n.c.c,++n.d,n.a.f}function MZ(n){return sN(n.e),n.c=n.a=n.e,n.e=n.e.e,--n.d,n.a.f}function SZ(n,t){n.d&&k7(n.d.e,n),n.d=t,n.d&&VB(n.d.e,n)}function PZ(n,t){n.c&&k7(n.c.g,n),n.c=t,n.c&&VB(n.c.g,n)}function IZ(n,t){n.c&&k7(n.c.a,n),n.c=t,n.c&&VB(n.c.a,n)}function CZ(n,t){n.i&&k7(n.i.j,n),n.i=t,n.i&&VB(n.i.j,n)}function OZ(n,t,e){this.a=t,this.c=n,this.b=(kX(e),new e_(e))}function AZ(n,t,e){this.a=t,this.c=n,this.b=(kX(e),new e_(e))}function $Z(n,t){this.a=n,this.c=H$(this.a),this.b=new pY(t)}function LZ(n){return Yln(n),$V(n,new mw(new Kv))}function NZ(n,t){if(n<0||n>t)throw qp(new $y(EYn+n+TYn+t))}function xZ(n,t){return OG(n.a,t)?TU(n,HB(t,22).g,null):null}function DZ(n){return Phn(),fN(),0!=HB(n.a,81).d.e}function RZ(){RZ=A,Wnt=bhn((cy(),Iun(zk(Vnt,1),LVn,538,0,[Unt])))}function KZ(){KZ=A,vmt=VG(new H2,(kMn(),Hat),(bWn(),Got))}function _Z(){_Z=A,mmt=VG(new H2,(kMn(),Hat),(bWn(),Got))}function FZ(){FZ=A,kmt=VG(new H2,(kMn(),Hat),(bWn(),Got))}function BZ(){BZ=A,Umt=gq(new H2,(kMn(),Hat),(bWn(),got))}function HZ(){HZ=A,Ymt=gq(new H2,(kMn(),Hat),(bWn(),got))}function qZ(){qZ=A,nyt=gq(new H2,(kMn(),Hat),(bWn(),got))}function GZ(){GZ=A,syt=gq(new H2,(kMn(),Hat),(bWn(),got))}function zZ(){zZ=A,Ukt=VG(new H2,(Uyn(),Byt),(RPn(),Uyt))}function UZ(n,t,e,i){this.c=n,this.d=i,VZ(this,t),QZ(this,e)}function XZ(n){this.c=new JT,this.b=n.b,this.d=n.c,this.a=n.a}function WZ(n){this.a=e.Math.cos(n),this.b=e.Math.sin(n)}function VZ(n,t){n.a&&k7(n.a.k,n),n.a=t,n.a&&VB(n.a.k,n)}function QZ(n,t){n.b&&k7(n.b.f,n),n.b=t,n.b&&VB(n.b.f,n)}function YZ(n,t){rW(n,n.b,n.c),HB(n.b.b,65),t&&HB(t.b,65).b}function JZ(n,t){Uln(n,t),aL(n.Cb,88)&&$In(I5(HB(n.Cb,88)),2)}function ZZ(n,t){aL(n.Cb,88)&&$In(I5(HB(n.Cb,88)),4),xrn(n,t)}function n1(n,t){aL(n.Cb,179)&&(HB(n.Cb,179).tb=null),xrn(n,t)}function t1(n,t){return nS(),fnn(t)?new bq(t,n):new DC(t,n)}function e1(n,t){null!=t.c&&tW(n,new zX(t.c))}function i1(n){var t;return rE(),aen(t=new _p,n),t}function r1(n){var t;return rE(),aen(t=new _p,n),t}function c1(n,t){var e;return e=new qX(n),t.c[t.c.length]=e,e}function a1(n,t){var e;return(e=HB(bfn(AQ(n.a),t),14))?e.gc():0}function u1(n){return Yln(n),IQ(),IQ(),ktn(n,get)}function o1(n){for(var t;;)if(t=n.Pb(),!n.Ob())return t}function s1(n,t){Xm.call(this,new WT(itn(n))),bin(t,sVn),this.a=t}function h1(n,t,e){qfn(t,e,n.gc()),this.c=n,this.a=t,this.b=e-t}function f1(n,t,e){var i;qfn(t,e,n.c.length),i=e-t,IE(n.c,t,i)}function l1(n,t){fL(n,gG(i0(jz(t,24),hYn)),gG(i0(t,hYn)))}function b1(n,t){if(n<0||n>=t)throw qp(new $y(EYn+n+TYn+t))}function w1(n,t){if(n<0||n>=t)throw qp(new Ak(EYn+n+TYn+t))}function d1(n,t){this.b=(jW(n),n),this.a=0==(t&FQn)?64|t|fVn:t}function g1(n){RA(this),Iv(this.a,jon(e.Math.max(8,n))<<1)}function p1(n){return $on(Iun(zk(IMt,1),hVn,8,0,[n.i.n,n.n,n.a]))}function v1(){return Gsn(),Iun(zk(tit,1),LVn,132,0,[Uet,Xet,Wet])}function m1(){return Rtn(),Iun(zk(Qit,1),LVn,232,0,[zit,Uit,Xit])}function y1(){return Z9(),Iun(zk(irt,1),LVn,461,0,[Jit,Yit,Zit])}function k1(){return z7(),Iun(zk(Art,1),LVn,462,0,[art,crt,rrt])}function j1(){return Hfn(),Iun(zk(yut,1),LVn,423,0,[dut,wut,but])}function E1(){return G7(),Iun(zk(qat,1),LVn,379,0,[Aat,Oat,$at])}function T1(){return Shn(),Iun(zk(dvt,1),LVn,378,0,[avt,uvt,ovt])}function M1(){return Ain(),Iun(zk(vht,1),LVn,314,0,[fht,hht,lht])}function S1(){return oin(),Iun(zk(Mht,1),LVn,337,0,[dht,pht,ght])}function P1(){return Zun(),Iun(zk(Hht,1),LVn,450,0,[$ht,Aht,Lht])}function I1(){return Crn(),Iun(zk(Vst,1),LVn,361,0,[Kst,Rst,Dst])}function C1(){return U7(),Iun(zk(Nft,1),LVn,303,0,[Ift,Cft,Pft])}function O1(){return _an(),Iun(zk(Oft,1),LVn,292,0,[Eft,Tft,jft])}function A1(){return uin(),Iun(zk(Yvt,1),LVn,452,0,[zvt,qvt,Gvt])}function $1(){return yon(),Iun(zk(Bvt,1),LVn,339,0,[xvt,Nvt,Dvt])}function L1(){return qcn(),Iun(zk(tmt,1),LVn,375,0,[Wvt,Vvt,Qvt])}function N1(){return Lun(),Iun(zk(Pmt,1),LVn,377,0,[wmt,dmt,bmt])}function x1(){return Xsn(),Iun(zk(fmt,1),LVn,336,0,[imt,rmt,cmt])}function D1(){return gcn(),Iun(zk(gmt,1),LVn,338,0,[hmt,omt,smt])}function R1(){return sin(),Iun(zk(Dmt,1),LVn,454,0,[Amt,$mt,Lmt])}function K1(){return Cbn(),Iun(zk(ojt,1),LVn,442,0,[ijt,tjt,ejt])}function _1(){return qsn(),Iun(zk(zjt,1),LVn,380,0,[hjt,fjt,ljt])}function F1(){return Pbn(),Iun(zk(xEt,1),LVn,381,0,[nEt,tEt,Zjt])}function B1(){return Hcn(),Iun(zk(Jjt,1),LVn,293,0,[Wjt,Vjt,Xjt])}function H1(){return Ibn(),Iun(zk(VEt,1),LVn,437,0,[qEt,GEt,zEt])}function q1(){return ofn(),Iun(zk(PIt,1),LVn,334,0,[mIt,vIt,yIt])}function G1(){return Ktn(),Iun(zk(tIt,1),LVn,272,0,[UPt,XPt,WPt])}function z1(n,t){return j$n(n,t,aL(t,99)&&0!=(HB(t,18).Bb&HQn))}function U1(n,t,e){var i;return(i=aHn(n,t,!1)).b<=t&&i.a<=e}function X1(n,t,e){var i;(i=new aa).b=t,i.a=e,++t.b,VB(n.d,i)}function W1(n,t){var e;return Mx(!!(e=(jW(n),n).g)),jW(t),e(t)}function V1(n,t){var e,i;return i=vU(n,t),e=n.a.Zc(i),new jT(n,e)}function Q1(n){return n.Db>>16!=6?null:HB(aAn(n),235)}function Y1(n){if(2!=n.p)throw qp(new gv);return gG(n.f)&YVn}function J1(n){if(2!=n.p)throw qp(new gv);return gG(n.k)&YVn}function Z1(n){return n.a==(K5(),iLt)&&gb(n,iLn(n.g,n.b)),n.a}function n0(n){return n.d==(K5(),iLt)&&vb(n,xKn(n.g,n.b)),n.d}function t0(n){return Ix(n.ai?1:0}function d0(n,t){var e;return e=P7(t),HB(KX(n.c,e),19).a}function g0(n,t){var e;for(e=n+"";e.length0&&0==n.a[--n.d];);0==n.a[n.d++]&&(n.e=0)}function V0(n){return n.a?0==n.e.length?n.a.a:n.a.a+""+n.e:n.c}function Q0(n){return!(!n.a||0==q7(n.a.a).i||n.b&&_vn(n.b))}function Y0(n){return!(!n.u||0==u4(n.u.a).i||n.n&&Kvn(n.n))}function J0(n){return kq(n.e.Hd().gc()*n.c.Hd().gc(),16,new Uf(n))}function Z0(n,t){return BU(lan(n.q.getTime()),lan(t.q.getTime()))}function n2(n){return HB(Ygn(n,D8(kut,a1n,17,n.c.length,0,1)),474)}function t2(n){return HB(Ygn(n,D8(Aut,u1n,10,n.c.length,0,1)),193)}function e2(n){return HZ(),!(w5(n)||!w5(n)&&n.c.i.c==n.d.i.c)}function i2(n,t,e){kX(n),Dyn(new OZ(new e_(n),t,e))}function r2(n,t,e){kX(n),Ryn(new AZ(new e_(n),t,e))}function c2(n,t){var e;return e=1-t,n.a[e]=drn(n.a[e],e),drn(n,t)}function a2(n,t){var e;n.e=new Zm,y$(e=dDn(t),n.c),ODn(n,e,0)}function u2(n,t,e,i){var r;(r=new mu).a=t,r.b=e,r.c=i,RH(n.a,r)}function o2(n,t,e,i){var r;(r=new mu).a=t,r.b=e,r.c=i,RH(n.b,r)}function s2(n){var t,e;return e=e_n(t=new bX,n),kzn(t),e}function h2(){var n,t;return n=new _p,VB(Q$t,t=n),t}function f2(n){return n.j.c=D8($nt,qWn,1,0,5,1),MV(n.c),pV(n.a),n}function l2(n){return SM(),aL(n.g,10)?HB(n.g,10):null}function b2(n){return!TV(n).dc()&&(N$(n,new y),!0)}function w2(n){if(!("stack"in n))try{throw n}catch(t){}return n}function d2(n,t){if(n<0||n>=t)throw qp(new $y(NIn(n,t)));return n}function g2(n,t,e){if(n<0||te)throw qp(new $y(sPn(n,t,e)))}function p2(n,t){if(MU(n.a,t),t.d)throw qp(new gy(OYn));t.d=n}function v2(n,t){if(t.$modCount!=n.$modCount)throw qp(new mv)}function m2(n,t){return!!aL(t,42)&&Smn(n.a,HB(t,42))}function y2(n,t){return!!aL(t,42)&&Smn(n.a,HB(t,42))}function k2(n,t){return!!aL(t,42)&&Smn(n.a,HB(t,42))}function j2(n,t){return n.a<=n.b&&(t.ud(n.a++),!0)}function E2(n){var t;return ZO(n)?-0==(t=n)?0:t:vnn(n)}function T2(n){var t;return TW(n),t=new B,pE(n.a,new pw(t)),t}function M2(n){var t;return TW(n),t=new F,pE(n.a,new gw(t)),t}function S2(n,t){this.a=n,Pb.call(this,n),NZ(t,n.gc()),this.b=t}function P2(n){this.e=n,this.b=this.e.a.entries(),this.a=new Array}function I2(n){return kq(n.e.Hd().gc()*n.c.Hd().gc(),273,new zf(n))}function C2(n){return new Z6((bin(n,xVn),etn(cbn(cbn(5,n),n/10|0))))}function O2(n){return HB(Ygn(n,D8(zut,o1n,11,n.c.length,0,1)),1943)}function A2(n,t,e){return e.f.c.length>0?HU(n.a,t,e):HU(n.b,t,e)}function $2(n,t,e){n.d&&k7(n.d.e,n),n.d=t,n.d&&jG(n.d.e,e,n)}function L2(n,t){mXn(t,n),uH(n.d),uH(HB(yMn(n,(qXn(),$gt)),207))}function N2(n,t){vXn(t,n),aH(n.d),aH(HB(yMn(n,(qXn(),$gt)),207))}function x2(n,t){var e,i;return i=null,(e=UJ(n,t))&&(i=e.fe()),i}function D2(n,t){var e,i;return i=null,(e=gnn(n,t))&&(i=e.ie()),i}function R2(n,t){var e,i;return i=null,(e=UJ(n,t))&&(i=e.ie()),i}function K2(n,t){var e,i;return i=null,(e=UJ(n,t))&&(i=kPn(e)),i}function _2(n,t,e){var i;return i=Ydn(e),dKn(n.g,i,t),dKn(n.i,t,e),t}function F2(n,t,e){var i;i=Ndn();try{return gR(n,t,e)}finally{k3(i)}}function B2(n){var t;t=n.Wg(),this.a=aL(t,69)?HB(t,69).Zh():t.Kc()}function H2(){Jm.call(this),this.j.c=D8($nt,qWn,1,0,5,1),this.a=-1}function q2(n,t,e,i){this.d=n,this.n=t,this.g=e,this.o=i,this.p=-1}function G2(n,t,e,i){this.e=i,this.d=null,this.c=n,this.a=t,this.b=e}function z2(n,t,e){this.d=new Bd(this),this.e=n,this.i=t,this.f=e}function U2(){U2=A,$ft=new RP(iJn,0),Lft=new RP("TOP_LEFT",1)}function X2(){X2=A,Mmt=ZW(rln(1),rln(4)),Tmt=ZW(rln(1),rln(2))}function W2(){W2=A,ZEt=bhn((OM(),Iun(zk(eTt,1),LVn,551,0,[YEt])))}function V2(){V2=A,QEt=bhn((CM(),Iun(zk(JEt,1),LVn,482,0,[WEt])))}function Q2(){Q2=A,XTt=bhn((AM(),Iun(zk(QTt,1),LVn,530,0,[zTt])))}function Y2(){Y2=A,uct=bhn((dM(),Iun(zk(Ict,1),LVn,481,0,[cct])))}function J2(){return Ran(),Iun(zk(zrt,1),LVn,406,0,[Krt,xrt,Drt,Rrt])}function Z2(){return n7(),Iun(zk(Bet,1),LVn,297,0,[xet,Det,Ret,Ket])}function n3(){return Gpn(),Iun(zk(act,1),LVn,394,0,[nct,Zrt,tct,ect])}function t3(){return qpn(),Iun(zk(Xrt,1),LVn,323,0,[Hrt,Brt,qrt,Grt])}function e3(){return $un(),Iun(zk(gut,1),LVn,405,0,[nut,iut,tut,eut])}function i3(){return Oun(),Iun(zk(vst,1),LVn,360,0,[ust,cst,ast,rst])}function r3(n,t,e,i){return aL(e,54)?new Ax(n,t,e,i):new hz(n,t,e,i)}function c3(){return Aun(),Iun(zk(Ost,1),LVn,411,0,[mst,yst,kst,jst])}function a3(n){return n.j==(jUn(),PCt)&&PN(XOn(n),sCt)}function u3(n,t){var e;PZ(e=t.a,t.c.d),SZ(e,t.d.d),nen(e.a,n.n)}function o3(n,t){return HB(LN(Oz(HB(f6(n.k,t),15).Oc(),Yst)),113)}function s3(n,t){return HB(LN(Az(HB(f6(n.k,t),15).Oc(),Yst)),113)}function h3(n){return new d1(ecn(HB(n.a.dd(),14).gc(),n.a.cd()),16)}function f3(n){return aL(n,14)?HB(n,14).dc():!n.Kc().Ob()}function l3(n){return SM(),aL(n.g,145)?HB(n.g,145):null}function b3(n){if(n.e.g!=n.b)throw qp(new mv);return!!n.c&&n.d>0}function w3(n){return Ix(n.b!=n.d.c),n.c=n.b,n.b=n.b.a,++n.a,n.c.c}function d3(n,t){jW(t),LX(n.a,n.c,t),n.c=n.c+1&n.a.length-1,dyn(n)}function g3(n,t){jW(t),n.b=n.b-1&n.a.length-1,LX(n.a,n.b,t),dyn(n)}function p3(n,t){var e;for(e=n.j.c.length;e0&&uHn(n.g,0,t,0,n.i),t}function D3(n,t){var e;return tS(),!(e=HB(KX(yAt,n),55))||e.wj(t)}function R3(n){if(1!=n.p)throw qp(new gv);return gG(n.f)<<24>>24}function K3(n){if(1!=n.p)throw qp(new gv);return gG(n.k)<<24>>24}function _3(n){if(7!=n.p)throw qp(new gv);return gG(n.k)<<16>>16}function F3(n){if(7!=n.p)throw qp(new gv);return gG(n.f)<<16>>16}function B3(n){var t;for(t=0;n.Ob();)n.Pb(),t=cbn(t,1);return etn(t)}function H3(n,t){var e;return e=new Ok,n.xd(e),e.a+="..",t.yd(e),e.a}function q3(n,t,e){var i;i=HB(KX(n.g,e),57),VB(n.a.c,new cC(t,i))}function G3(n,t,e){return Mz(SD(GC($Y(n.f,t))),SD(GC($Y(n.f,e))))}function z3(n,t,e){return XFn(n,t,e,aL(t,99)&&0!=(HB(t,18).Bb&HQn))}function U3(n,t,e){return vBn(n,t,e,aL(t,99)&&0!=(HB(t,18).Bb&HQn))}function X3(n,t,e){return D$n(n,t,e,aL(t,99)&&0!=(HB(t,18).Bb&HQn))}function W3(n,t){return n==(oSn(),Cut)&&t==Cut?4:n==Cut||t==Cut?8:32}function V3(n,t){return zC(t)===zC(n)?"(this Map)":null==t?UWn:Hbn(t)}function Q3(n,t){return HB(null==t?GC($Y(n.f,null)):fS(n.g,t),281)}function Y3(n,t,e){var i;return i=Ydn(e),QW(n.b,i,t),QW(n.c,t,e),t}function J3(n,t){var e;for(e=t;e;)Fx(n,e.i,e.j),e=ZJ(e);return n}function Z3(n,t){var e;return e=cY(qB(new C7(n,t))),Cq(new C7(n,t)),e}function n4(n,t){var e;return nS(),MSn(e=HB(n,66).Mj(),t),e.Ok(t)}function t4(n,t,e,i,r){VB(t,yIn(r,W$n(r,e,i))),XMn(n,r,t)}function e4(n,t,e){n.i=0,n.e=0,t!=e&&(Von(n,t,e),Won(n,t,e))}function i4(n,t){var e;e=n.q.getHours(),n.q.setFullYear(t+hQn),bBn(n,e)}function r4(n,t,e){if(e){var i=e.ee();n.a[t]=i(e)}else delete n.a[t]}function c4(n,t,e){if(e){var i=e.ee();e=i(e)}else e=void 0;n.a[t]=e}function a4(n){if(n<0)throw qp(new Hy("Negative array size: "+n))}function u4(n){return n.n||(I5(n),n.n=new JG(n,QAt,n),jY(n)),n.n}function o4(n){return Ix(n.a=0&&n.a[e]===t[e];e--);return e<0}function M4(n,t){var e;return Usn(),0!=(e=n.j.g-t.j.g)?e:0}function S4(n,t){return jW(t),null!=n.a?IG(t.Kb(n.a)):Pet}function P4(n){var t;return n?new Nq(n):(Grn(t=new lA,n),t)}function I4(n,t){return t.b.Kb(M7(n,t.c.Ee(),new kw(t)))}function C4(n){kTn(),fL(this,gG(i0(jz(n,24),hYn)),gG(i0(n,hYn)))}function O4(){O4=A,vit=bhn((fpn(),Iun(zk(kit,1),LVn,428,0,[git,dit])))}function A4(){A4=A,jit=bhn((Knn(),Iun(zk(_it,1),LVn,427,0,[mit,yit])))}function $4(){$4=A,Fct=bhn((_nn(),Iun(zk(Lat,1),LVn,424,0,[Rct,Kct])))}function L4(){L4=A,Uut=bhn((Prn(),Iun(zk(Vut,1),LVn,511,0,[Gut,qut])))}function N4(){N4=A,Oht=bhn((Fnn(),Iun(zk(Nht,1),LVn,419,0,[Pht,Iht])))}function x4(){x4=A,Xht=bhn((p7(),Iun(zk(nft,1),LVn,479,0,[zht,Ght])))}function D4(){D4=A,emt=bhn(($6(),Iun(zk(amt,1),LVn,376,0,[nmt,Zvt])))}function R4(){R4=A,Hvt=bhn((X7(),Iun(zk(Uvt,1),LVn,421,0,[_vt,Fvt])))}function K4(){K4=A,sht=bhn((Q8(),Iun(zk(bht,1),LVn,422,0,[aht,uht])))}function _4(){_4=A,xft=bhn((U2(),Iun(zk(zlt,1),LVn,420,0,[$ft,Lft])))}function F4(){F4=A,Iyt=bhn((A6(),Iun(zk(Dyt,1),LVn,520,0,[Syt,Myt])))}function B4(){B4=A,zmt=bhn((Y4(),Iun(zk(Qmt,1),LVn,523,0,[qmt,Hmt])))}function H4(){H4=A,ryt=bhn((pJ(),Iun(zk(uyt,1),LVn,516,0,[eyt,tyt])))}function q4(){q4=A,oyt=bhn((sZ(),Iun(zk(Pyt,1),LVn,515,0,[cyt,ayt])))}function G4(){G4=A,Ryt=bhn((gJ(),Iun(zk(Hyt,1),LVn,455,0,[Nyt,xyt])))}function z4(){z4=A,zkt=bhn((H0(),Iun(zk(Zkt,1),LVn,425,0,[qkt,Hkt])))}function U4(){U4=A,njt=bhn((Irn(),Iun(zk(rjt,1),LVn,495,0,[Ykt,Jkt])))}function X4(){X4=A,Bkt=bhn((hZ(),Iun(zk(Gkt,1),LVn,480,0,[Kkt,_kt])))}function W4(){W4=A,sjt=bhn((R9(),Iun(zk(bjt,1),LVn,426,0,[ajt,ujt])))}function V4(){V4=A,YTt=bhn((Nun(),Iun(zk(JTt,1),LVn,429,0,[VTt,WTt])))}function Q4(){Q4=A,iTt=bhn((L6(),Iun(zk(sTt,1),LVn,430,0,[tTt,nTt])))}function Y4(){Y4=A,qmt=new ZP("UPPER",0),Hmt=new ZP("LOWER",1)}function J4(n,t){var e;GQ(e=new vy,"x",t.a),GQ(e,"y",t.b),tW(n,e)}function Z4(n,t){var e;GQ(e=new vy,"x",t.a),GQ(e,"y",t.b),tW(n,e)}function n5(n,t){var e,i;i=!1;do{i|=e=won(n,t)}while(e);return i}function t5(n,t){var e,i;for(e=t,i=0;e>0;)i+=n.a[e],e-=e&-e;return i}function e5(n,t){var e;for(e=t;e;)Fx(n,-e.i,-e.j),e=ZJ(e);return n}function i5(n,t){var e,i;for(jW(t),i=n.Kc();i.Ob();)e=i.Pb(),t.td(e)}function r5(n,t){var e;return new mT(e=t.cd(),n.e.pc(e,HB(t.dd(),14)))}function c5(n,t,e,i){var r;(r=new L).c=t,r.b=e,r.a=i,i.b=e.a=r,++n.b}function a5(n,t,e){var i;return b1(t,n.c.length),i=n.c[t],n.c[t]=e,i}function u5(n,t,e){return HB(null==t?EIn(n.f,null,e):obn(n.g,t,e),281)}function o5(n){return n.c&&n.d?v0(n.c)+"->"+v0(n.d):"e_"+IN(n)}function s5(n,t){return(Yln(n),EE(new Kq(n,new Y9(t,n.a)))).sd(eit)}function h5(){return kMn(),Iun(zk(Xat,1),LVn,356,0,[Kat,_at,Fat,Bat,Hat])}function f5(){return jUn(),Iun(zk(BCt,1),JZn,61,0,[ICt,hCt,sCt,PCt,CCt])}function l5(n){return Rk(),function(){return F2(n,this,arguments)}}function b5(){return Date.now?Date.now():(new Date).getTime()}function w5(n){return!(!n.c||!n.d||!n.c.i||n.c.i!=n.d.i)}function d5(n){if(!n.c.Sb())throw qp(new kv);return n.a=!0,n.c.Ub()}function g5(n){n.i=0,kS(n.b,null),kS(n.c,null),n.a=null,n.e=null,++n.g}function p5(n){gS.call(this,null==n?UWn:Hbn(n),aL(n,78)?HB(n,78):null)}function v5(n){iWn(),Hp(this),this.a=new JT,gsn(this,n),RH(this.a,n)}function m5(){DA(this),this.b=new DI(KQn,KQn),this.a=new DI(_Qn,_Qn)}function y5(n,t){this.c=0,this.b=t,vO.call(this,n,17493),this.a=this.c}function k5(n){j5(),Yet||(this.c=n,this.e=!0,this.a=new xp)}function j5(){j5=A,Yet=!0,Vet=!1,Qet=!1,Zet=!1,Jet=!1}function E5(n,t){return!!aL(t,149)&&yK(n.c,HB(t,149).c)}function T5(n,t){var e;return e=0,n&&(e+=n.f.a/2),t&&(e+=t.f.a/2),e}function M5(n,t){return HB(bnn(n.d,t),23)||HB(bnn(n.e,t),23)}function S5(n){this.b=n,$L.call(this,n),this.a=HB(kan(this.b.a,4),126)}function P5(n){this.b=n,ux.call(this,n),this.a=HB(kan(this.b.a,4),126)}function I5(n){return n.t||(n.t=new gp(n),hln(new Dy(n),0,n.t)),n.t}function C5(){return Bfn(),Iun(zk(VPt,1),LVn,103,0,[HPt,BPt,FPt,_Pt,qPt])}function O5(){return apn(),Iun(zk(ZIt,1),LVn,249,0,[HIt,GIt,FIt,BIt,qIt])}function A5(){return cpn(),Iun(zk(EMt,1),LVn,175,0,[fMt,hMt,oMt,lMt,sMt])}function $5(){return LSn(),Iun(zk(UTt,1),LVn,316,0,[rTt,cTt,oTt,aTt,uTt])}function L5(){return xvn(),Iun(zk($vt,1),LVn,315,0,[kvt,vvt,mvt,pvt,yvt])}function N5(){return Qvn(),Iun(zk(Cht,1),LVn,335,0,[kht,yht,Eht,Tht,jht])}function x5(){return JLn(),Iun(zk(UEt,1),LVn,355,0,[REt,DEt,_Et,KEt,FEt])}function D5(){return NEn(),Iun(zk(_st,1),LVn,363,0,[Sst,Ist,Cst,Pst,Mst])}function R5(){return Mbn(),Iun(zk(rvt,1),LVn,163,0,[Glt,Flt,Blt,Hlt,qlt])}function K5(){var n,t;K5=A,rE(),t=new Tv,eLt=t,n=new Am,iLt=n}function _5(n){var t;return n.c||aL(t=n.r,88)&&(n.c=HB(t,26)),n.c}function F5(n){return n.e=3,n.d=n.Yb(),2!=n.e&&(n.e=0,!0)}function B5(n){return S$(n&PQn,n>>22&PQn,n<0?IQn:0)}function H5(n){var t,e,i;for(e=0,i=(t=n).length;e0?Tdn(n,t):Oxn(n,-t)}function U5(n,t){return 0==t||0==n.e?n:t>0?Oxn(n,t):Tdn(n,-t)}function X5(n){if(gAn(n))return n.c=n.a,n.a.Pb();throw qp(new kv)}function W5(n){var t,e;return t=n.c.i,e=n.d.i,t.k==(oSn(),Sut)&&e.k==Sut}function V5(n){var t;return Gan(t=new dY,n),fon(t,(qXn(),mgt),null),t}function Q5(n,t,e){var i;return(i=n.Yg(t))>=0?n._g(i,e,!0):aOn(n,t,e)}function Y5(n,t,e,i){var r;for(r=0;rt)throw qp(new $y(gIn(n,t,"index")));return n}function g6(n,t,e,i){var r;return mTn(r=D8($Nt,fQn,25,t,15,1),n,t,e,i),r}function p6(n,t){var e;e=n.q.getHours()+(t/60|0),n.q.setMinutes(t),bBn(n,e)}function v6(n,t){return e.Math.min(V8(t.a,n.d.d.c),V8(t.b,n.d.d.c))}function m6(n,t){return WC(t)?null==t?pAn(n.f,null):zan(n.g,t):pAn(n.f,t)}function y6(n){this.c=n,this.a=new Vb(this.c.a),this.b=new Vb(this.c.b)}function k6(){this.e=new xp,this.c=new xp,this.d=new xp,this.b=new xp}function j6(){this.g=new Hv,this.b=new Hv,this.a=new xp,this.k=new xp}function E6(n,t,e){this.a=n,this.c=t,this.d=e,VB(t.e,this),VB(e.b,this)}function T6(n,t){pO.call(this,t.rd(),-6&t.qd()),jW(n),this.a=n,this.b=t}function M6(n,t){vO.call(this,t.rd(),-6&t.qd()),jW(n),this.a=n,this.b=t}function S6(n,t){mO.call(this,t.rd(),-6&t.qd()),jW(n),this.a=n,this.b=t}function P6(n,t,e){this.a=n,this.b=t,this.c=e,VB(n.t,this),VB(t.i,this)}function I6(){this.b=new JT,this.a=new JT,this.b=new JT,this.a=new JT}function C6(){C6=A,MMt=new op("org.eclipse.elk.labels.labelManager")}function O6(){O6=A,ist=new rR("separateLayerConnections",(Oun(),ust))}function A6(){A6=A,Syt=new oI("REGULAR",0),Myt=new oI("CRITICAL",1)}function $6(){$6=A,nmt=new WP("STACKED",0),Zvt=new WP("SEQUENCED",1)}function L6(){L6=A,tTt=new MI("FIXED",0),nTt=new MI("CENTER_NODE",1)}function N6(n,t){var e;return e=DGn(n,t),n.b=new yrn(e.c.length),kqn(n,e)}function x6(n,t,e){return++n.e,--n.f,HB(n.d[t].$c(e),133).dd()}function D6(n){var t;return n.a||aL(t=n.r,148)&&(n.a=HB(t,148)),n.a}function R6(n){return n.a?n.e?R6(n.e):null:n}function K6(n,t){return n.pt.p?-1:0}function _6(n,t){return jW(t),n.c=0,"Initial capacity must not be negative")}function n8(){n8=A,Vit=bhn((Rtn(),Iun(zk(Qit,1),LVn,232,0,[zit,Uit,Xit])))}function t8(){t8=A,ert=bhn((Z9(),Iun(zk(irt,1),LVn,461,0,[Jit,Yit,Zit])))}function e8(){e8=A,ort=bhn((z7(),Iun(zk(Art,1),LVn,462,0,[art,crt,rrt])))}function i8(){i8=A,nit=bhn((Gsn(),Iun(zk(tit,1),LVn,132,0,[Uet,Xet,Wet])))}function r8(){r8=A,Nat=bhn((G7(),Iun(zk(qat,1),LVn,379,0,[Aat,Oat,$at])))}function c8(){c8=A,put=bhn((Hfn(),Iun(zk(yut,1),LVn,423,0,[dut,wut,but])))}function a8(){a8=A,wht=bhn((Ain(),Iun(zk(vht,1),LVn,314,0,[fht,hht,lht])))}function u8(){u8=A,mht=bhn((oin(),Iun(zk(Mht,1),LVn,337,0,[dht,pht,ght])))}function o8(){o8=A,xht=bhn((Zun(),Iun(zk(Hht,1),LVn,450,0,[$ht,Aht,Lht])))}function s8(){s8=A,Fst=bhn((Crn(),Iun(zk(Vst,1),LVn,361,0,[Kst,Rst,Dst])))}function h8(){h8=A,Aft=bhn((U7(),Iun(zk(Nft,1),LVn,303,0,[Ift,Cft,Pft])))}function f8(){f8=A,Sft=bhn((_an(),Iun(zk(Oft,1),LVn,292,0,[Eft,Tft,jft])))}function l8(){l8=A,hvt=bhn((Shn(),Iun(zk(dvt,1),LVn,378,0,[avt,uvt,ovt])))}function b8(){b8=A,Jvt=bhn((qcn(),Iun(zk(tmt,1),LVn,375,0,[Wvt,Vvt,Qvt])))}function w8(){w8=A,Kvt=bhn((yon(),Iun(zk(Bvt,1),LVn,339,0,[xvt,Nvt,Dvt])))}function d8(){d8=A,Xvt=bhn((uin(),Iun(zk(Yvt,1),LVn,452,0,[zvt,qvt,Gvt])))}function g8(){g8=A,pmt=bhn((Lun(),Iun(zk(Pmt,1),LVn,377,0,[wmt,dmt,bmt])))}function p8(){p8=A,umt=bhn((Xsn(),Iun(zk(fmt,1),LVn,336,0,[imt,rmt,cmt])))}function v8(){v8=A,lmt=bhn((gcn(),Iun(zk(gmt,1),LVn,338,0,[hmt,omt,smt])))}function m8(){m8=A,xmt=bhn((sin(),Iun(zk(Dmt,1),LVn,454,0,[Amt,$mt,Lmt])))}function y8(){y8=A,cjt=bhn((Cbn(),Iun(zk(ojt,1),LVn,442,0,[ijt,tjt,ejt])))}function k8(){k8=A,wjt=bhn((qsn(),Iun(zk(zjt,1),LVn,380,0,[hjt,fjt,ljt])))}function j8(){j8=A,iEt=bhn((Pbn(),Iun(zk(xEt,1),LVn,381,0,[nEt,tEt,Zjt])))}function E8(){E8=A,Yjt=bhn((Hcn(),Iun(zk(Jjt,1),LVn,293,0,[Wjt,Vjt,Xjt])))}function T8(){T8=A,XEt=bhn((Ibn(),Iun(zk(VEt,1),LVn,437,0,[qEt,GEt,zEt])))}function M8(){M8=A,jIt=bhn((ofn(),Iun(zk(PIt,1),LVn,334,0,[mIt,vIt,yIt])))}function S8(){S8=A,QPt=bhn((Ktn(),Iun(zk(tIt,1),LVn,272,0,[UPt,XPt,WPt])))}function P8(){return YEn(),Iun(zk(uCt,1),LVn,98,0,[JIt,YIt,QIt,XIt,VIt,WIt])}function I8(n,t){return!n.o&&(n.o=new k9((CXn(),SOt),cAt,n,0)),cdn(n.o,t)}function C8(n){return!n.g&&(n.g=new so),!n.g.d&&(n.g.d=new bp(n)),n.g.d}function O8(n){return!n.g&&(n.g=new so),!n.g.a&&(n.g.a=new wp(n)),n.g.a}function A8(n){return!n.g&&(n.g=new so),!n.g.b&&(n.g.b=new lp(n)),n.g.b}function $8(n){return!n.g&&(n.g=new so),!n.g.c&&(n.g.c=new dp(n)),n.g.c}function L8(n,t,e){var i,r;for(r=new $an(t,n),i=0;ie||t=0?n._g(e,!0,!0):aOn(n,t,!0)}function I9(n,t){return Iln(zy(SD(yMn(n,(fWn(),Mlt)))),zy(SD(yMn(t,Mlt))))}function C9(){C9=A,Xkt=sgn(sgn(BM(new H2,(Uyn(),_yt)),(RPn(),Yyt)),Xyt)}function O9(n,t,e){var i;return i=xon(n,t,e),n.b=new yrn(i.c.length),hDn(n,i)}function A9(n){if(n.b<=0)throw qp(new kv);return--n.b,n.a-=n.c.c,rln(n.a)}function $9(n){var t;if(!n.a)throw qp(new bV);return t=n.a,n.a=ZJ(n.a),t}function L9(n){for(;!n.a;)if(!MK(n.c,new vw(n)))return!1;return!0}function N9(n){return kX(n),aL(n,198)?HB(n,198):new sl(n)}function x9(n){D9(),HB(n.We((hWn(),lPt)),174).Fc((bCn(),rCt)),n.Ye(fPt,null)}function D9(){D9=A,eMt=new wu,rMt=new du,iMt=msn((hWn(),fPt),eMt,GSt,rMt)}function R9(){R9=A,ajt=new vI("LEAF_NUMBER",0),ujt=new vI("NODE_SIZE",1)}function K9(n,t,e){n.a=t,n.c=e,n.b.a.$b(),kQ(n.d),n.e.a.c=D8($nt,qWn,1,0,5,1)}function _9(n){n.a=D8($Nt,fQn,25,n.b+1,15,1),n.c=D8($Nt,fQn,25,n.b,15,1),n.d=0}function F9(n,t){n.a.ue(t.d,n.b)>0&&(VB(n.c,new yH(t.c,t.d,n.d)),n.b=t.d)}function B9(n,t){if(null==n.g||t>=n.i)throw qp(new NO(t,n.i));return n.g[t]}function H9(n,t,e){if(Dsn(n,e),null!=e&&!n.wj(e))throw qp(new bv);return e}function q9(n){var t;if(n.Ek())for(t=n.i-1;t>=0;--t)Vtn(n,t);return x3(n)}function G9(n){var t,e;if(!n.b)return null;for(e=n.b;t=e.a[0];)e=t;return e}function z9(n,t){var e;return a4(t),(e=y7(n.slice(0,t),n)).length=t,e}function U9(n,t,e,i){IQ(),i=i||det,pIn(n.slice(t,e),n,t,e,-t,i)}function X9(n,t,e,i,r){return t<0?aOn(n,e,i):HB(e,66).Nj().Pj(n,n.yh(),t,i,r)}function W9(n){return aL(n,172)?""+HB(n,172).a:null==n?null:Hbn(n)}function V9(n){return aL(n,172)?""+HB(n,172).a:null==n?null:Hbn(n)}function Q9(n,t){if(t.a)throw qp(new gy(OYn));MU(n.a,t),t.a=n,!n.j&&(n.j=t)}function Y9(n,t){mO.call(this,t.rd(),-16449&t.qd()),jW(n),this.a=n,this.c=t}function J9(n,t){var e,i;return i=t/n.c.Hd().gc()|0,e=t%n.c.Hd().gc(),X6(n,i,e)}function Z9(){Z9=A,Jit=new zS(aJn,0),Yit=new zS(iJn,1),Zit=new zS(uJn,2)}function n7(){n7=A,xet=new pS("All",0),Det=new NA,Ret=new $$,Ket=new xA}function t7(){t7=A,Fet=bhn((n7(),Iun(zk(Bet,1),LVn,297,0,[xet,Det,Ret,Ket])))}function e7(){e7=A,cut=bhn(($un(),Iun(zk(gut,1),LVn,405,0,[nut,iut,tut,eut])))}function i7(){i7=A,Frt=bhn((Ran(),Iun(zk(zrt,1),LVn,406,0,[Krt,xrt,Drt,Rrt])))}function r7(){r7=A,Urt=bhn((qpn(),Iun(zk(Xrt,1),LVn,323,0,[Hrt,Brt,qrt,Grt])))}function c7(){c7=A,rct=bhn((Gpn(),Iun(zk(act,1),LVn,394,0,[nct,Zrt,tct,ect])))}function a7(){a7=A,qyt=bhn((Uyn(),Iun(zk(Gyt,1),LVn,393,0,[Kyt,_yt,Fyt,Byt])))}function u7(){u7=A,sst=bhn((Oun(),Iun(zk(vst,1),LVn,360,0,[ust,cst,ast,rst])))}function o7(){o7=A,Ujt=bhn((Amn(),Iun(zk(Qjt,1),LVn,340,0,[Gjt,Hjt,qjt,Bjt])))}function s7(){s7=A,Tst=bhn((Aun(),Iun(zk(Ost,1),LVn,411,0,[mst,yst,kst,jst])))}function h7(){h7=A,gvt=bhn((wvn(),Iun(zk(jvt,1),LVn,197,0,[bvt,wvt,lvt,fvt])))}function f7(){f7=A,lOt=bhn((Hsn(),Iun(zk(dOt,1),LVn,396,0,[oOt,sOt,uOt,hOt])))}function l7(){l7=A,IIt=bhn((Wyn(),Iun(zk(KIt,1),LVn,285,0,[SIt,EIt,TIt,MIt])))}function b7(){b7=A,eIt=bhn((Sbn(),Iun(zk(sIt,1),LVn,218,0,[nIt,JPt,YPt,ZPt])))}function w7(){w7=A,cOt=bhn((Bwn(),Iun(zk(aOt,1),LVn,311,0,[iOt,nOt,eOt,tOt])))}function d7(){d7=A,HCt=bhn((ydn(),Iun(zk(JCt,1),LVn,374,0,[_Ct,FCt,KCt,RCt])))}function g7(){g7=A,GBn(),qLt=KQn,HLt=_Qn,zLt=new xb(KQn),GLt=new xb(_Qn)}function p7(){p7=A,zht=new AP(YZn,0),Ght=new AP("IMPROVE_STRAIGHTNESS",1)}function v7(n,t){return fH(),VB(n,new cC(t,rln(t.e.c.length+t.g.c.length)))}function m7(n,t){return fH(),VB(n,new cC(t,rln(t.e.c.length+t.g.c.length)))}function y7(n,t){return 10!=mnn(t)&&Iun(esn(t),t.hm,t.__elementTypeId$,mnn(t),n),n}function k7(n,t){var e;return-1!=(e=T7(n,t,0))&&(h6(n,e),!0)}function j7(n,t){var e;return(e=HB(m6(n.e,t),387))?(KH(e),e.e):null}function E7(n){var t;return ZO(n)&&(t=0-n,!isNaN(t))?t:oan(uon(n))}function T7(n,t,e){for(;e=0?nvn(n,e,!0,!0):aOn(n,t,!0)}function nnn(n,t){var e,i;return SM(),e=l3(n),i=l3(t),!!e&&!!i&&!_pn(e.k,i.k)}function tnn(n,t){Ien(n,null==t||VK((jW(t),t))||isNaN((jW(t),t))?0:(jW(t),t))}function enn(n,t){Cen(n,null==t||VK((jW(t),t))||isNaN((jW(t),t))?0:(jW(t),t))}function inn(n,t){Pen(n,null==t||VK((jW(t),t))||isNaN((jW(t),t))?0:(jW(t),t))}function rnn(n,t){Sen(n,null==t||VK((jW(t),t))||isNaN((jW(t),t))?0:(jW(t),t))}function cnn(n){(this.q?this.q:(PQ(),PQ(),fet)).Ac(n.q?n.q:(PQ(),PQ(),fet))}function ann(n,t){return aL(t,99)&&0!=(HB(t,18).Bb&HQn)?new DO(t,n):new $an(t,n)}function unn(n,t){return aL(t,99)&&0!=(HB(t,18).Bb&HQn)?new DO(t,n):new $an(t,n)}function onn(n,t){Qrt=new rt,ict=t,HB((Vrt=n).b,65),_8(Vrt,Qrt,null),oqn(Vrt)}function snn(n,t,e){var i;return i=n.g[t],EL(n,t,n.oi(t,e)),n.gi(t,e,i),n.ci(),i}function hnn(n,t){var e;return(e=n.Xc(t))>=0&&(n.$c(e),!0)}function fnn(n){var t;return n.d!=n.r&&(t=Okn(n),n.e=!!t&&t.Cj()==T9n,n.d=t),n.e}function lnn(n,t){var e;for(kX(n),kX(t),e=!1;t.Ob();)e|=n.Fc(t.Pb());return e}function bnn(n,t){var e;return(e=HB(KX(n.e,t),387))?(oL(n,e),e.e):null}function wnn(n){var t,e;return t=n/60|0,0==(e=n%60)?""+t:t+":"+e}function dnn(n,t){return Yln(n),new Kq(n,new _K(new S6(t,n.a)))}function gnn(n,t){var e=n.a[t],i=(non(),ltt)[typeof e];return i?i(e):jhn(typeof e)}function pnn(n){switch(n.g){case 0:return RWn;case 1:return-1;default:return 0}}function vnn(n){return _kn(n,(W7(),ptt))<0?-CN(uon(n)):n.l+n.m*OQn+n.h*AQn}function mnn(n){return null==n.__elementTypeCategory$?10:n.__elementTypeCategory$}function ynn(n){var t;return null!=(t=0==n.b.c.length?null:Dq(n.b,0))&&frn(n,0),t}function knn(n,t){for(;t[0]=0;)++t[0]}function jnn(n,t){this.e=t,this.a=Qan(n),this.a<54?this.f=E2(n):this.c=tpn(n)}function Enn(n,t,e,i){dWn(),$p.call(this,26),this.c=n,this.a=t,this.d=e,this.b=i}function Tnn(n,t,e){var i,r;for(i=10,r=0;rn.a[i]&&(i=e);return i}function Nnn(n,t){var e;return 0==(e=Obn(n.e.c,t.e.c))?Iln(n.e.d,t.e.d):e}function xnn(n,t){return 0==t.e||0==n.e?iet:(LOn(),$Nn(n,t))}function Dnn(n,t){if(!n)throw qp(new Fy(JNn("Enum constant undefined: %s",t)))}function Rnn(){Rnn=A,out=new Pt,sut=new Mt,aut=new $t,uut=new Lt,hut=new Nt}function Knn(){Knn=A,mit=new HS("BY_SIZE",0),yit=new HS("BY_SIZE_AND_SHAPE",1)}function _nn(){_nn=A,Rct=new WS("EADES",0),Kct=new WS("FRUCHTERMAN_REINGOLD",1)}function Fnn(){Fnn=A,Pht=new IP("READING_DIRECTION",0),Iht=new IP("ROTATION",1)}function Bnn(){Bnn=A,Sht=bhn((Qvn(),Iun(zk(Cht,1),LVn,335,0,[kht,yht,Eht,Tht,jht])))}function Hnn(){Hnn=A,Evt=bhn((xvn(),Iun(zk($vt,1),LVn,315,0,[kvt,vvt,mvt,pvt,yvt])))}function qnn(){qnn=A,Ast=bhn((NEn(),Iun(zk(_st,1),LVn,363,0,[Sst,Ist,Cst,Pst,Mst])))}function Gnn(){Gnn=A,Ult=bhn((Mbn(),Iun(zk(rvt,1),LVn,163,0,[Glt,Flt,Blt,Hlt,qlt])))}function znn(){znn=A,hTt=bhn((LSn(),Iun(zk(UTt,1),LVn,316,0,[rTt,cTt,oTt,aTt,uTt])))}function Unn(){Unn=A,wMt=bhn((cpn(),Iun(zk(EMt,1),LVn,175,0,[fMt,hMt,oMt,lMt,sMt])))}function Xnn(){Xnn=A,HEt=bhn((JLn(),Iun(zk(UEt,1),LVn,355,0,[REt,DEt,_Et,KEt,FEt])))}function Wnn(){Wnn=A,Gat=bhn((kMn(),Iun(zk(Xat,1),LVn,356,0,[Kat,_at,Fat,Bat,Hat])))}function Vnn(){Vnn=A,zPt=bhn((Bfn(),Iun(zk(VPt,1),LVn,103,0,[HPt,BPt,FPt,_Pt,qPt])))}function Qnn(){Qnn=A,UIt=bhn((apn(),Iun(zk(ZIt,1),LVn,249,0,[HIt,GIt,FIt,BIt,qIt])))}function Ynn(){Ynn=A,ACt=bhn((jUn(),Iun(zk(BCt,1),JZn,61,0,[ICt,hCt,sCt,PCt,CCt])))}function Jnn(n,t){var e;return(e=HB(KX(n.a,t),134))||(e=new nt,QW(n.a,t,e)),e}function Znn(n){var t;return!!(t=HB(yMn(n,(fWn(),Kft)),305))&&t.a==n}function ntn(n){var t;return!!(t=HB(yMn(n,(fWn(),Kft)),305))&&t.i==n}function ttn(n,t){return jW(t),Rz(n),!!n.d.Ob()&&(t.td(n.d.Pb()),!0)}function etn(n){return Qhn(n,RWn)>0?RWn:Qhn(n,FVn)<0?FVn:gG(n)}function itn(n){return n<3?(bin(n,OVn),n+1):n=0&&t=-.01&&n.a<=lJn&&(n.a=0),n.b>=-.01&&n.b<=lJn&&(n.b=0),n}function utn(n,t){return t==(a_(),a_(),Set)?n.toLocaleLowerCase():n.toLowerCase()}function otn(n){return(0!=(2&n.i)?"interface ":0!=(1&n.i)?"":"class ")+(TD(n),n.o)}function stn(n){var t;t=new Lm,l9((!n.q&&(n.q=new iU(YAt,n,11,10)),n.q),t)}function htn(n,t){var e;return e=t>0?t-1:t,Lj(Nj(Ben(NH(new Wm,e),n.n),n.j),n.k)}function ftn(n,t,e,i){n.j=-1,GOn(n,TPn(n,t,e),(nS(),HB(t,66).Mj().Ok(i)))}function ltn(n){this.g=n,this.f=new xp,this.a=e.Math.min(this.g.c.c,this.g.d.c)}function btn(n){this.b=new xp,this.a=new xp,this.c=new xp,this.d=new xp,this.e=n}function wtn(n,t){this.a=new Dp,this.e=new Dp,this.b=(Shn(),ovt),this.c=n,this.b=t}function dtn(n,t,e){xR.call(this),Dtn(this),this.a=n,this.c=e,this.b=t.d,this.f=t.e}function gtn(n){this.d=n,this.c=n.c.vc().Kc(),this.b=null,this.a=null,this.e=(cy(),Unt)}function ptn(n){if(n<0)throw qp(new Fy("Illegal Capacity: "+n));this.g=this.ri(n)}function vtn(n,t){if(0>n||n>t)throw qp(new Mk("fromIndex: 0, toIndex: "+n+fYn+t))}function mtn(n){var t;if(n.a==n.b.a)throw qp(new kv);return t=n.a,n.c=t,n.a=n.a.e,t}function ytn(n){var t;Sx(!!n.c),t=n.c.a,$tn(n.d,n.c),n.b==n.c?n.b=t:--n.a,n.c=null}function ktn(n,t){var e;return Yln(n),e=new mQ(n,n.a.rd(),4|n.a.qd(),t),new Kq(n,e)}function jtn(n,t){var e,i;return(e=HB(bfn(n.d,t),14))?(i=t,n.e.pc(i,e)):null}function Etn(n,t){var e;for(e=n.Kc();e.Ob();)fon(HB(e.Pb(),70),(fWn(),olt),t)}function Ttn(n){var t;return(t=zy(SD(yMn(n,(qXn(),ugt)))))<0&&fon(n,ugt,t=0),t}function Mtn(n,t,i){var r;Bkn(i,r=e.Math.max(0,n.b/2-.5),1),VB(t,new rP(i,r))}function Stn(n,t,e){return CJ(qH(n.a.e[HB(t.a,10).p]-n.a.e[HB(e.a,10).p]))}function Ptn(n,t,e,i,r,c){var a;PZ(a=V5(i),r),SZ(a,c),ZCn(n.a,i,new N_(a,t,e.f))}function Itn(n,t){var e;if(!(e=xNn(n.Tg(),t)))throw qp(new Fy(c6n+t+o6n));return e}function Ctn(n,t){var e;for(e=n;ZJ(e);)if((e=ZJ(e))==t)return!0;return!1}function Otn(n,t){var e,i,r;for(i=t.a.cd(),e=HB(t.a.dd(),14).gc(),r=0;r0&&(n.a/=t,n.b/=t),n}function Xtn(n){var t;return n.w?n.w:((t=Q1(n))&&!t.kh()&&(n.w=t),t)}function Wtn(n){var t;return null==n?null:QTn(t=HB(n,190),t.length)}function Vtn(n,t){if(null==n.g||t>=n.i)throw qp(new NO(t,n.i));return n.li(t,n.g[t])}function Qtn(n){var t,e;for(t=n.a.d.j,e=n.c.d.j;t!=e;)srn(n.b,t),t=Sln(t);srn(n.b,t)}function Ytn(n){var t;for(t=0;t=14&&t<=16)),n}function ren(n,t,e){var i=function(){return n.apply(i,arguments)};return t.apply(i,e),i}function cen(n,t,e){var i,r;i=t;do{r=zy(n.p[i.p])+e,n.p[i.p]=r,i=n.a[i.p]}while(i!=t)}function aen(n,t){var e,i;i=n.a,e=Yfn(n,t,null),i!=t&&!n.e&&(e=uzn(n,t,e)),e&&e.Fi()}function uen(n,t){return f$(),cin(_Vn),e.Math.abs(n-t)<=_Vn||n==t||isNaN(n)&&isNaN(t)}function oen(n,t){return f$(),cin(_Vn),e.Math.abs(n-t)<=_Vn||n==t||isNaN(n)&&isNaN(t)}function sen(n,t){return FMn(),T$(n.b.c.length-n.e.c.length,t.b.c.length-t.e.c.length)}function hen(n,t){return nE(Zrn(n,t,gG(abn(PVn,cV(gG(abn(null==t?0:tsn(t),IVn)),15)))))}function fen(){fen=A,$ut=bhn((oSn(),Iun(zk(Lut,1),LVn,267,0,[Cut,Iut,Sut,Out,Put,Mut])))}function len(){len=A,eSt=bhn((dEn(),Iun(zk(GPt,1),LVn,291,0,[nSt,ZMt,JMt,QMt,VMt,YMt])))}function ben(){ben=A,DMt=bhn((dvn(),Iun(zk(tSt,1),LVn,248,0,[CMt,$Mt,LMt,NMt,OMt,AMt])))}function wen(){wen=A,cht=bhn((LPn(),Iun(zk(oht,1),LVn,227,0,[nht,eht,Zst,tht,iht,Jst])))}function den(){den=A,sft=bhn((ZMn(),Iun(zk(yft,1),LVn,275,0,[aft,ift,uft,cft,rft,eft])))}function gen(){gen=A,tft=bhn((Hjn(),Iun(zk(oft,1),LVn,274,0,[Yht,Qht,Zht,Vht,Jht,Wht])))}function pen(){pen=A,cvt=bhn((MTn(),Iun(zk(svt,1),LVn,313,0,[evt,nvt,Jpt,Zpt,ivt,tvt])))}function ven(){ven=A,qht=bhn((pSn(),Iun(zk(Uht,1),LVn,276,0,[Rht,Dht,_ht,Kht,Bht,Fht])))}function men(){men=A,Zyt=bhn((RPn(),Iun(zk(Fkt,1),LVn,327,0,[Yyt,Xyt,Vyt,Wyt,Qyt,Uyt])))}function yen(){yen=A,oCt=bhn((bCn(),Iun(zk(OCt,1),LVn,273,0,[cCt,iCt,rCt,eCt,tCt,aCt])))}function ken(){ken=A,hIt=bhn((tMn(),Iun(zk(kIt,1),LVn,312,0,[uIt,cIt,oIt,iIt,aIt,rIt])))}function jen(){return t$n(),Iun(zk(zIt,1),LVn,93,0,[OIt,CIt,$It,RIt,DIt,xIt,LIt,NIt,AIt])}function Een(n,t){var e;e=n.a,n.a=t,0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new l4(n,0,e,n.a))}function Ten(n,t){var e;e=n.b,n.b=t,0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new l4(n,1,e,n.b))}function Men(n,t){var e;e=n.b,n.b=t,0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new l4(n,3,e,n.b))}function Sen(n,t){var e;e=n.f,n.f=t,0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new l4(n,3,e,n.f))}function Pen(n,t){var e;e=n.g,n.g=t,0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new l4(n,4,e,n.g))}function Ien(n,t){var e;e=n.i,n.i=t,0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new l4(n,5,e,n.i))}function Cen(n,t){var e;e=n.j,n.j=t,0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new l4(n,6,e,n.j))}function Oen(n,t){var e;e=n.j,n.j=t,0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new l4(n,1,e,n.j))}function Aen(n,t){var e;e=n.c,n.c=t,0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new l4(n,4,e,n.c))}function $en(n,t){var e;e=n.k,n.k=t,0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new l4(n,2,e,n.k))}function Len(n,t){var e;e=n.d,n.d=t,0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new b4(n,2,e,n.d))}function Nen(n,t){var e;e=n.s,n.s=t,0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new b4(n,4,e,n.s))}function xen(n,t){var e;e=n.t,n.t=t,0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new b4(n,5,e,n.t))}function Den(n,t){var e;e=n.F,n.F=t,0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new tU(n,1,5,e,t))}function Ren(n,t){var e;return(e=HB(KX((tS(),yAt),n),55))?e.xj(t):D8($nt,qWn,1,t,5,1)}function Ken(n,t){var e;return t in n.a&&(e=UJ(n,t).he())?e.a:null}function _en(n,t){var e,i;return eE(),i=new oo,!!t&&ONn(i,t),Din(e=i,n),e}function Fen(n,t,e){if(Dsn(n,e),!n.Bk()&&null!=e&&!n.wj(e))throw qp(new bv);return e}function Ben(n,t){return n.n=t,n.n?(n.f=new xp,n.e=new xp):(n.f=null,n.e=null),n}function Hen(n,t,e,i,r,c){var a;return Yen(e,a=yX(n,t)),a.i=r?8:0,a.f=i,a.e=r,a.g=c,a}function qen(n,t,e,i,r){this.d=t,this.k=i,this.f=r,this.o=-1,this.p=1,this.c=n,this.a=e}function Gen(n,t,e,i,r){this.d=t,this.k=i,this.f=r,this.o=-1,this.p=2,this.c=n,this.a=e}function zen(n,t,e,i,r){this.d=t,this.k=i,this.f=r,this.o=-1,this.p=6,this.c=n,this.a=e}function Uen(n,t,e,i,r){this.d=t,this.k=i,this.f=r,this.o=-1,this.p=7,this.c=n,this.a=e}function Xen(n,t,e,i,r){this.d=t,this.j=i,this.e=r,this.o=-1,this.p=4,this.c=n,this.a=e}function Wen(n,t){var e,i,r,c;for(r=0,c=(i=t).length;r=0),cgn(n.d,n.c)<0&&(n.a=n.a-1&n.d.a.length-1,n.b=n.d.c),n.c=-1}function rin(n){return n.a<54?n.f<0?-1:n.f>0?1:0:(!n.c&&(n.c=khn(n.f)),n.c).e}function cin(n){if(!(n>=0))throw qp(new Fy("tolerance ("+n+") must be >= 0"));return n}function ain(){return aMt||jsn(aMt=new ARn,Iun(zk(Fit,1),qWn,130,0,[new xf])),aMt}function uin(){uin=A,zvt=new UP(fJn,0),qvt=new UP("INPUT",1),Gvt=new UP("OUTPUT",2)}function oin(){oin=A,dht=new SP("ARD",0),pht=new SP("MSD",1),ght=new SP("MANUAL",2)}function sin(){sin=A,Amt=new JP("BARYCENTER",0),$mt=new JP(T1n,1),Lmt=new JP(M1n,2)}function hin(n,t){var e;if(e=n.gc(),t<0||t>e)throw qp(new eK(t,e));return new KK(n,t)}function fin(n,t){var e;return aL(t,42)?n.c.Mc(t):(e=cdn(n,t),Vdn(n,t),e)}function lin(n,t,e){return Ohn(n,t),xrn(n,e),Nen(n,0),xen(n,1),tln(n,!0),Jfn(n,!0),n}function bin(n,t){if(n<0)throw qp(new Fy(t+" cannot be negative but was: "+n));return n}function win(n,t){var e,i;for(e=0,i=n.gc();e0?HB(Dq(e.a,i-1),10):null}function Lin(n,t){var e;e=n.k,n.k=t,0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new tU(n,1,2,e,n.k))}function Nin(n,t){var e;e=n.f,n.f=t,0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new tU(n,1,8,e,n.f))}function xin(n,t){var e;e=n.i,n.i=t,0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new tU(n,1,7,e,n.i))}function Din(n,t){var e;e=n.a,n.a=t,0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new tU(n,1,8,e,n.a))}function Rin(n,t){var e;e=n.b,n.b=t,0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new tU(n,1,0,e,n.b))}function Kin(n,t){var e;e=n.b,n.b=t,0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new tU(n,1,0,e,n.b))}function _in(n,t){var e;e=n.c,n.c=t,0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new tU(n,1,1,e,n.c))}function Fin(n,t){var e;e=n.c,n.c=t,0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new tU(n,1,1,e,n.c))}function Bin(n,t){var e;e=n.c,n.c=t,0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new tU(n,1,4,e,n.c))}function Hin(n,t){var e;e=n.d,n.d=t,0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new tU(n,1,1,e,n.d))}function qin(n,t){var e;e=n.D,n.D=t,0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new tU(n,1,2,e,n.D))}function Gin(n,t){n.r>0&&n.c0&&0!=n.g&&Gin(n.i,t/n.r*n.i.d))}function zin(n,t,e){var i;n.b=t,n.a=e,i=512==(512&n.a)?new Bm:new Rh,n.c=SDn(i,n.b,n.a)}function Uin(n,t){return Lxn(n.e,t)?(nS(),fnn(t)?new bq(t,n):new DC(t,n)):new _C(t,n)}function Xin(n,t){return Zj(ncn(n.a,t,gG(abn(PVn,cV(gG(abn(null==t?0:tsn(t),IVn)),15)))))}function Win(n,t,e){return D7(n,new lw(t),new on,new bw(e),Iun(zk(tit,1),LVn,132,0,[]))}function Vin(n){return 0>n?new QT:new LD(null,new y5(n+1,n))}function Qin(n,t){var e;return PQ(),e=new WT(1),WC(n)?yZ(e,n,t):EIn(e.f,n,t),new Wb(e)}function Yin(n,t){var e,i;return(e=n.o+n.p)<(i=t.o+t.p)?-1:e==i?0:1}function Jin(n){var t;return aL(t=yMn(n,(fWn(),glt)),160)?ywn(HB(t,160)):null}function Zin(n){var t;return(n=e.Math.max(n,2))>(t=jon(n))?(t<<=1)>0?t:AVn:t}function nrn(n){switch(oN(3!=n.e),n.e){case 2:return!1;case 0:return!0}return F5(n)}function trn(n,t){var e;return!!aL(t,8)&&(e=HB(t,8),n.a==e.a&&n.b==e.b)}function ern(n,t,e){var i,r;return r=t>>5,i=31&t,i0(Ez(n.n[e][r],gG(kz(i,1))),3)}function irn(n,t){var e,i;for(i=t.vc().Kc();i.Ob();)mjn(n,(e=HB(i.Pb(),42)).cd(),e.dd())}function rrn(n,t){var e;e=new rt,HB(t.b,65),HB(t.b,65),HB(t.b,65),Atn(t.a,new MB(n,e,t))}function crn(n,t){var e;e=n.b,n.b=t,0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new tU(n,1,21,e,n.b))}function arn(n,t){var e;e=n.d,n.d=t,0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new tU(n,1,11,e,n.d))}function urn(n,t){var e;e=n.j,n.j=t,0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new tU(n,1,13,e,n.j))}function orn(n,t,e){var i,r,c;for(c=n.a.length-1,r=n.b,i=0;i>>31;0!=i&&(n[e]=i)}function ecn(n,t){var e,i;for(PQ(),i=new xp,e=0;e0&&(this.g=this.ri(this.i+(this.i/8|0)+1),n.Qc(this.g))}function Tcn(n,t){SH.call(this,V$t,n,t),this.b=this,this.a=uxn(n.Tg(),rtn(this.e.Tg(),this.c))}function Mcn(n,t){var e,i;for(jW(t),i=t.vc().Kc();i.Ob();)e=HB(i.Pb(),42),n.zc(e.cd(),e.dd())}function Scn(n,t,e){var i;for(i=e.Kc();i.Ob();)if(!z3(n,t,i.Pb()))return!1;return!0}function Pcn(n,t,e,i,r){var c;return e&&(c=$wn(t.Tg(),n.c),r=e.gh(t,-1-(-1==c?i:c),null,r)),r}function Icn(n,t,e,i,r){var c;return e&&(c=$wn(t.Tg(),n.c),r=e.ih(t,-1-(-1==c?i:c),null,r)),r}function Ccn(n){var t;if(-2==n.b){if(0==n.e)t=-1;else for(t=0;0==n.a[t];t++);n.b=t}return n.b}function Ocn(n){switch(n.g){case 2:return jUn(),CCt;case 4:return jUn(),sCt;default:return n}}function Acn(n){switch(n.g){case 1:return jUn(),PCt;case 3:return jUn(),hCt;default:return n}}function $cn(n){var t,e,i;return n.j==(jUn(),hCt)&&(e=PN(t=XOn(n),sCt),(i=PN(t,CCt))||i&&e)}function Lcn(n){var t;return new JK(t=HB(n.e&&n.e(),9),HB(QU(t,t.length),9),t.length)}function Ncn(n,t){ATn(t,j1n,1),ewn(hM(new Iw((pM(),new qV(n,!1,!1,new Bt))))),qSn(t)}function xcn(n,t){return fN(),WC(n)?l6(n,PD(t)):XC(n)?Mz(n,SD(t)):UC(n)?Tz(n,MD(t)):n.wd(t)}function Dcn(n,t){t.q=n,n.d=e.Math.max(n.d,t.r),n.b+=t.d+(0==n.a.c.length?0:n.c),VB(n.a,t)}function Rcn(n,t){var e,i,r,c;return r=n.c,e=n.c+n.b,c=n.d,i=n.d+n.a,t.a>r&&t.ac&&t.b1||n.Ob())return++n.a,n.g=0,t=n.i,n.Ob(),t;throw qp(new kv)}function Pan(n){var t;return u$(),oS(hyt,n)||((t=new oa).a=n,dR(hyt,n,t)),HB(sV(hyt,n),635)}function Ian(n){var t,e,i;return e=0,(i=n)<0&&(i+=AQn,e=IQn),t=CJ(i/OQn),S$(CJ(i-t*OQn),t,e)}function Can(n){var t,e,i;for(i=0,e=new YT(n.a);e.a>22),r=n.h+t.h+(i>>22),S$(e&PQn,i&PQn,r&IQn)}function fun(n,t){var e,i,r;return e=n.l-t.l,i=n.m-t.m+(e>>22),r=n.h-t.h+(i>>22),S$(e&PQn,i&PQn,r&IQn)}function lun(n){var t;return n<128?(!(t=(Sq(),Stt)[n])&&(t=Stt[n]=new Nb(n)),t):new Nb(n)}function bun(n){var t;return aL(n,78)?n:((t=n&&n.__java$exception)||sv(t=new Ehn(n)),t)}function wun(n){if(aL(n,186))return HB(n,118);if(n)return null;throw qp(new qy(i8n))}function dun(n,t){if(null==t)return!1;for(;n.a!=n.b;)if(xfn(t,Fhn(n)))return!0;return!1}function gun(n){return!!n.a.Ob()||n.a==n.d&&(n.a=new P2(n.e.f),n.a.Ob())}function pun(n,t){var e;return 0!=(e=t.Pc()).length&&(eH(n.c,n.c.length,e),!0)}function vun(n,t,e){var i,r;for(r=t.vc().Kc();r.Ob();)i=HB(r.Pb(),42),n.yc(i.cd(),i.dd(),e);return n}function mun(n,t){var e;for(e=new Vb(n.b);e.a=0,"Negative initial capacity"),mH(t>=0,"Non-positive load factor"),LU(this)}function eon(n,t,e){return!(n>=128)&&ZC(n<64?i0(kz(1,n),e):i0(kz(1,n-64),t),0)}function ion(n,t){return!(!n||!t||n==t)&&Obn(n.b.c,t.b.c+t.b.b)<0&&Obn(t.b.c,n.b.c+n.b.b)<0}function ron(n){var t,e,i;return e=n.n,i=n.o,t=n.d,new XV(e.a-t.b,e.b-t.d,i.a+(t.b+t.c),i.b+(t.d+t.a))}function con(n){var t,e,i,r;for(i=0,r=(e=n.a).length;i(i=n.gc()))throw qp(new eK(t,i));return n.hi()&&(e=tZ(n,e)),n.Vh(t,e)}function hon(n,t,e){return null==e?(!n.q&&(n.q=new Dp),m6(n.q,t)):(!n.q&&(n.q=new Dp),QW(n.q,t,e)),n}function fon(n,t,e){return null==e?(!n.q&&(n.q=new Dp),m6(n.q,t)):(!n.q&&(n.q=new Dp),QW(n.q,t,e)),n}function lon(n){var t,e;return Gan(e=new k6,n),fon(e,(Srn(),hat),n),iBn(n,e,t=new Dp),Pzn(n,e,t),e}function bon(n){var t,e,i;for(EDn(),e=D8(IMt,hVn,8,2,0,1),i=0,t=0;t<2;t++)i+=.5,e[t]=bmn(i,n);return e}function won(n,t){var e,i,r;for(e=!1,i=n.a[t].length,r=0;r>=1);return t}function Eon(n){var t,e;return 32==(e=nOn(n.h))?32==(t=nOn(n.m))?nOn(n.l)+32:t+20-10:e-12}function Ton(n){var t;return null==(t=n.a[n.b])?null:(LX(n.a,n.b,null),n.b=n.b+1&n.a.length-1,t)}function Mon(n){var t,e;return t=n.t-n.k[n.o.p]*n.d+n.j[n.o.p]>n.f,e=n.u+n.e[n.o.p]*n.d>n.f*n.s*n.d,t||e}function Son(n,t,e){var i,r;return i=new q8(t,e),r=new G,n.b=Vxn(n,n.b,i,r),r.b||++n.c,n.b.b=!1,r.d}function Pon(n,t,e){var i,r,c;for(c=0,r=Nfn(t,e).Kc();r.Ob();)i=HB(r.Pb(),11),QW(n.c,i,rln(c++))}function Ion(n){var t,e;for(e=new Vb(n.a.b);e.ae&&(e=n[t]);return e}function xon(n,t,e){var i;return Exn(n,t,i=new xp,(jUn(),sCt),!0,!1),Exn(n,e,i,CCt,!1,!1),i}function Don(n,t,e){var i,r;return r=x2(t,"labels"),WAn((i=new pC(n,e)).a,i.b,r),r}function Ron(n,t,e,i){var r;return(r=y$n(n,t,e,i))||!(r=uln(n,e,i))||Bqn(n,t,r)?r:null}function Kon(n,t,e,i){var r;return(r=k$n(n,t,e,i))||!(r=oln(n,e,i))||Bqn(n,t,r)?r:null}function _on(n,t){var e;for(e=0;e1||t>=0&&n.b<3)}function Zon(n){var t,e;for(t=new jm,e=hpn(n,0);e.b!=e.d.c;)_x(t,0,new dA(HB(w3(e),8)));return t}function nsn(n){var t;for(t=new Vb(n.a.b);t.ai?1:0}function gsn(n,t){return!!wNn(n,t)&&(ZCn(n.b,HB(yMn(t,(fWn(),Wft)),21),t),RH(n.a,t),!0)}function psn(n){var t,e;(t=HB(yMn(n,(fWn(),Tlt)),10))&&(k7((e=t.c).a,t),0==e.a.c.length&&k7(mW(t).b,e))}function vsn(n){return Yet?D8(zet,gYn,572,0,0,1):HB(Ygn(n.a,D8(zet,gYn,572,n.a.c.length,0,1)),842)}function msn(n,t,e,i){return tV(),new fy(Iun(zk(qnt,1),jVn,42,0,[(Uvn(n,t),new mT(n,t)),(Uvn(e,i),new mT(e,i))]))}function ysn(n,t,e){var i;return lin(i=new Lm,t,e),l9((!n.q&&(n.q=new iU(YAt,n,11,10)),n.q),i),i}function ksn(n){var t,e,i,r;for(e=(r=lS($Ot,n)).length,i=D8(Ytt,hVn,2,e,6,1),t=0;t=n.b.c.length||(Tsn(n,2*t+1),(e=2*t+2)=0&&n[i]===t[i];i--);return i<0?0:hS(i0(n[i],XQn),i0(t[i],XQn))?-1:1}function Psn(n,t){var e,i;for(i=hpn(n,0);i.b!=i.d.c;)(e=HB(w3(i),214)).e.length>0&&(t.td(e),e.i&&vln(e))}function Isn(n,t){var e,i;return i=HB(kan(n.a,4),126),e=D8(gAt,r9n,415,t,0,1),null!=i&&uHn(i,0,e,0,i.length),e}function Csn(n,t){var e;return e=new cRn(0!=(256&n.f),n.i,n.a,n.d,0!=(16&n.f),n.j,n.g,t),null!=n.e||(e.c=n),e}function Osn(n,t){var e;for(e=n.Zb().Cc().Kc();e.Ob();)if(HB(e.Pb(),14).Hc(t))return!0;return!1}function Asn(n,t,e,i,r){var c,a;for(a=e;a<=r;a++)for(c=t;c<=i;c++)if(mmn(n,c,a))return!0;return!1}function $sn(n,t,e){var i,r,c,a;for(jW(e),a=!1,c=n.Zc(t),r=e.Kc();r.Ob();)i=r.Pb(),c.Rb(i),a=!0;return a}function Lsn(n,t){var e;return n===t||!!aL(t,83)&&(e=HB(t,83),USn(bz(n),e.vc()))}function Nsn(n,t,e){var i,r;for(r=e.Kc();r.Ob();)if(i=HB(r.Pb(),42),n.re(t,i.dd()))return!0;return!1}function xsn(n,t,e){return n.d[t.p][e.p]||(rvn(n,t,e),n.d[t.p][e.p]=!0,n.d[e.p][t.p]=!0),n.a[t.p][e.p]}function Dsn(n,t){if(!n.ai()&&null==t)throw qp(new Fy("The 'no null' constraint is violated"));return t}function Rsn(n,t){null==n.D&&null!=n.B&&(n.D=n.B,n.B=null),qin(n,null==t?null:(jW(t),t)),n.C&&n.yk(null)}function Ksn(n,t){return!(!n||n==t||!Nx(t,(fWn(),clt)))&&HB(yMn(t,(fWn(),clt)),10)!=n}function _sn(n){switch(n.i){case 2:return!0;case 1:return!1;case-1:++n.c;default:return n.pl()}}function Fsn(n){switch(n.i){case-2:return!0;case-1:return!1;case 1:--n.c;default:return n.ql()}}function Bsn(n){FJ.call(this,"The given string does not match the expected format for individual spacings.",n)}function Hsn(){Hsn=A,oOt=new aC("ELK",0),sOt=new aC("JSON",1),uOt=new aC("DOT",2),hOt=new aC("SVG",3)}function qsn(){qsn=A,hjt=new mI(YZn,0),fjt=new mI("RADIAL_COMPACTION",1),ljt=new mI("WEDGE_COMPACTION",2)}function Gsn(){Gsn=A,Uet=new vS("CONCURRENT",0),Xet=new vS("IDENTITY_FINISH",1),Wet=new vS("UNORDERED",2)}function zsn(){zsn=A,dM(),sct=new LO(HJn,hct=cct),oct=new op(qJn),fct=new op(GJn),lct=new op(zJn)}function Usn(){Usn=A,bst=new Ei,wst=new Ti,lst=new Mi,fst=new Si,jW(new Pi),hst=new R}function Xsn(){Xsn=A,imt=new VP("CONSERVATIVE",0),rmt=new VP("CONSERVATIVE_SOFT",1),cmt=new VP("SLOPPY",2)}function Wsn(){Wsn=A,gIt=new VA(15),dIt=new WA((hWn(),WSt),gIt),pIt=pPt,fIt=uSt,lIt=_St,wIt=HSt,bIt=BSt}function Vsn(n,t,e){var i,r;for(i=new JT,r=hpn(e,0);r.b!=r.d.c;)RH(i,new dA(HB(w3(r),8)));$sn(n,t,i)}function Qsn(n){var t,e,i;for(t=0,i=D8(IMt,hVn,8,n.b,0,1),e=hpn(n,0);e.b!=e.d.c;)i[t++]=HB(w3(e),8);return i}function Ysn(n){var t;return!n.a&&(n.a=new iU(VAt,n,9,5)),0!=(t=n.a).i?qM(HB(Vtn(t,0),678)):null}function Jsn(n,t){var e;return e=cbn(n,t),hS(c0(n,t),0)|JC(c0(n,e),0)?e:cbn(wVn,c0(Ez(e,63),1))}function Zsn(n,t){var e;e=null!=ypn((Kwn(),Qpt))&&null!=t.wg()?zy(SD(t.wg()))/zy(SD(ypn(Qpt))):1,QW(n.b,t,e)}function nhn(n,t){var e,i;return(e=HB(n.d.Bc(t),14))?((i=n.e.hc()).Gc(e),n.e.d-=e.gc(),e.$b(),i):null}function thn(n,t){var e,i;if(0!=(i=n.c[t]))for(n.c[t]=0,n.d-=i,e=t+1;e0)return _z(t-1,n.a.c.length),h6(n.a,t-1);throw qp(new yv)}function ihn(n,t,e){if(t<0)throw qp(new $y(t5n+t));tt)throw qp(new Fy(yYn+n+kYn+t));if(n<0||t>e)throw qp(new Mk(yYn+n+jYn+t+fYn+e))}function chn(n){if(!n.a||0==(8&n.a.i))throw qp(new By("Enumeration class expected for layout option "+n.f))}function ahn(n){var t;++n.j,0==n.i?n.g=null:n.iF3n?n-i>F3n:i-n>F3n)}function mhn(n,t){return n?t&&!n.j||aL(n,124)&&0==HB(n,124).a.b?0:n.Re():0}function yhn(n,t){return n?t&&!n.k||aL(n,124)&&0==HB(n,124).a.a?0:n.Se():0}function khn(n){return ADn(),n<0?-1!=n?new Kpn(-1,-n):Jtt:n<=10?net[CJ(n)]:new Kpn(1,n)}function jhn(n){throw non(),qp(new py("Unexpected typeof result '"+n+"'; please report this bug to the GWT team"))}function Ehn(n){fk(),Q$(this),EQ(this),this.e=n,Cxn(this,n),this.g=null==n?UWn:Hbn(n),this.a="",this.b=n,this.a=""}function Thn(){this.a=new tu,this.f=new gg(this),this.b=new pg(this),this.i=new vg(this),this.e=new mg(this)}function Mhn(){ay.call(this,new G8(itn(16))),bin(2,sVn),this.b=2,this.a=new qW(null,null,0,null),rv(this.a,this.a)}function Shn(){Shn=A,avt=new _P("DUMMY_NODE_OVER",0),uvt=new _P("DUMMY_NODE_UNDER",1),ovt=new _P("EQUAL",2)}function Phn(){Phn=A,Wat=qJ(Iun(zk(VPt,1),LVn,103,0,[(Bfn(),FPt),BPt])),Vat=qJ(Iun(zk(VPt,1),LVn,103,0,[qPt,_Pt]))}function Ihn(n){return(jUn(),kCt).Hc(n.j)?zy(SD(yMn(n,(fWn(),Nlt)))):$on(Iun(zk(IMt,1),hVn,8,0,[n.i.n,n.n,n.a])).b}function Chn(n){var t,e;for(t=n.b.a.a.ec().Kc();t.Ob();)e=new Y$n(HB(t.Pb(),561),n.e,n.f),VB(n.g,e)}function Ohn(n,t){var e,i;e=n.nk(t,null),i=null,t&&(rE(),aen(i=new _p,n.r)),(e=qTn(n,i,e))&&e.Fi()}function Ahn(n,t){var e,i;for(i=0!=q$n(n.d,1),e=!0;e;)e=!1,e=t.c.Tf(t.e,i),e|=RNn(n,t,i,!1),i=!i;Lrn(n)}function $hn(n,t){var e,i,r;return i=!1,e=t.q.d,t.dr&&(uEn(t.q,r),i=e!=t.q.d)),i}function Lhn(n,t){var i,r,c,a,u;return a=t.i,u=t.j,r=a-(i=n.f).i,c=u-i.j,e.Math.sqrt(r*r+c*c)}function Nhn(n,t){var e;return(e=Jdn(n))||(!LOt&&(LOt=new Ao),KHn(),l9((e=new Cp(JPn(t))).Vk(),n)),e}function xhn(n,t){var e,i;return(e=HB(n.c.Bc(t),14))?((i=n.hc()).Gc(e),n.d-=e.gc(),e.$b(),n.mc(i)):n.jc()}function Dhn(n,t){var e;for(e=0;e=n.c.b:n.a<=n.c.b))throw qp(new kv);return t=n.a,n.a+=n.c.c,++n.b,rln(t)}function Hhn(n){var t;return t=new ltn(n),r2(n.a,hut,new Zy(Iun(zk(Zat,1),qWn,369,0,[t]))),t.d&&VB(t.f,t.d),t.f}function qhn(n){var t;return Gan(t=new A$(n.a),n),fon(t,(fWn(),glt),n),t.o.a=n.g,t.o.b=n.f,t.n.a=n.i,t.n.b=n.j,t}function Ghn(n,t,e,i){var r,c;for(c=n.Kc();c.Ob();)(r=HB(c.Pb(),70)).n.a=t.a+(i.a-r.o.a)/2,r.n.b=t.b,t.b+=r.o.b+e}function zhn(n,t,e){var i;for(i=t.a.a.ec().Kc();i.Ob();)if(aY(n,HB(i.Pb(),57),e))return!0;return!1}function Uhn(n){var t,e;for(e=new Vb(n.r);e.a=0?t:-t;i>0;)i%2==0?(e*=e,i=i/2|0):(r*=e,i-=1);return t<0?1/r:r}function rfn(n,t){var e,i,r;for(r=1,e=n,i=t>=0?t:-t;i>0;)i%2==0?(e*=e,i=i/2|0):(r*=e,i-=1);return t<0?1/r:r}function cfn(n){var t,e,i,r;if(null!=n)for(e=0;e0&&gsn(HB(Dq(n.a,n.a.c.length-1),570),t)||VB(n.a,new v5(t))}function mfn(n){var t,e;z_(),t=n.d.c-n.e.c,Atn((e=HB(n.g,145)).b,new Ed(t)),Atn(e.c,new Td(t)),i5(e.i,new Md(t))}function yfn(n){var t;return(t=new Ck).a+="VerticalSegment ",oO(t,n.e),t.a+=" ",sO(t,ZL(new yk,new Vb(n.k))),t.a}function kfn(n){var t;return(t=HB(bnn(n.c.c,""),229))||(t=new XZ(Ej(jj(new vu,""),"Other")),Zgn(n.c.c,"",t)),t}function jfn(n){var t;return 0!=(64&n.Db)?I$n(n):((t=new lN(I$n(n))).a+=" (name: ",aO(t,n.zb),t.a+=")",t.a)}function Efn(n,t,e){var i,r;return r=n.sb,n.sb=t,0!=(4&n.Db)&&0==(1&n.Db)&&(i=new tU(n,1,4,r,t),e?e.Ei(i):e=i),e}function Tfn(n,t){var e,i;for(e=0,i=ubn(n,t).Kc();i.Ob();)e+=null!=yMn(HB(i.Pb(),11),(fWn(),Tlt))?1:0;return e}function Mfn(n,t,e){var i,r,c;for(i=0,c=hpn(n,0);c.b!=c.d.c&&!((r=zy(SD(w3(c))))>e);)r>=t&&++i;return i}function Sfn(n,t,e){var i;return i=new x7(n.e,3,13,null,t.c||(pWn(),b$t),ovn(n,t),!1),e?e.Ei(i):e=i,e}function Pfn(n,t,e){var i;return i=new x7(n.e,4,13,t.c||(pWn(),b$t),null,ovn(n,t),!1),e?e.Ei(i):e=i,e}function Ifn(n,t,e){var i,r;return r=n.r,n.r=t,0!=(4&n.Db)&&0==(1&n.Db)&&(i=new tU(n,1,8,r,n.r),e?e.Ei(i):e=i),e}function Cfn(n,t){var e,i;return!(i=(e=HB(t,676)).vk())&&e.wk(i=aL(t,88)?new LC(n,HB(t,26)):new F0(n,HB(t,148))),i}function Ofn(n,t,e){var i;n.qi(n.i+1),i=n.oi(t,e),t!=n.i&&uHn(n.g,t,n.g,t+1,n.i-t),LX(n.g,t,i),++n.i,n.bi(t,e),n.ci()}function Afn(n,t){var e;return t.a&&(e=t.a.a.length,n.a?sO(n.a,n.b):n.a=new bN(n.d),z0(n.a,t.a,t.d.length,e)),n}function $fn(n,t){var e,i,r;if(t.vi(n.a),null!=(r=HB(kan(n.a,8),1936)))for(e=0,i=r.length;ee)throw qp(new $y(yYn+n+jYn+t+", size: "+e));if(n>t)throw qp(new Fy(yYn+n+kYn+t))}function Gfn(n,t,e){if(t<0)aCn(n,e);else{if(!e.Ij())throw qp(new Fy(c6n+e.ne()+a6n));HB(e,66).Nj().Vj(n,n.yh(),t)}}function zfn(n,t,e,i,r,c,a,u){var o;for(o=e;c=i||t=65&&n<=70?n-65+10:n>=97&&n<=102?n-97+10:n>=48&&n<=57?n-48:0}function Qfn(n){var t;return 0!=(64&n.Db)?I$n(n):((t=new lN(I$n(n))).a+=" (source: ",aO(t,n.d),t.a+=")",t.a)}function Yfn(n,t,e){var i,r;return r=n.a,n.a=t,0!=(4&n.Db)&&0==(1&n.Db)&&(i=new tU(n,1,5,r,n.a),e?_En(e,i):e=i),e}function Jfn(n,t){var e;e=0!=(256&n.Bb),t?n.Bb|=256:n.Bb&=-257,0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new e6(n,1,2,e,t))}function Zfn(n,t){var e;e=0!=(256&n.Bb),t?n.Bb|=256:n.Bb&=-257,0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new e6(n,1,8,e,t))}function nln(n,t){var e;e=0!=(256&n.Bb),t?n.Bb|=256:n.Bb&=-257,0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new e6(n,1,8,e,t))}function tln(n,t){var e;e=0!=(512&n.Bb),t?n.Bb|=512:n.Bb&=-513,0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new e6(n,1,3,e,t))}function eln(n,t){var e;e=0!=(512&n.Bb),t?n.Bb|=512:n.Bb&=-513,0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new e6(n,1,9,e,t))}function iln(n,t){var e;return-1==n.b&&n.a&&(e=n.a.Gj(),n.b=e?n.c.Xg(n.a.aj(),e):$wn(n.c.Tg(),n.a)),n.c.Og(n.b,t)}function rln(n){var t,e;return n>-129&&n<128?(t=n+128,!(e=(eq(),Ott)[t])&&(e=Ott[t]=new Db(n)),e):new Db(n)}function cln(n){var t,e;return n>-129&&n<128?(t=n+128,!(e=(Mq(),_tt)[t])&&(e=_tt[t]=new Kb(n)),e):new Kb(n)}function aln(n){var t;return n.k==(oSn(),Sut)&&((t=HB(yMn(n,(fWn(),Yft)),61))==(jUn(),hCt)||t==PCt)}function uln(n,t,e){var i,r;return(r=L$n(n.b,t))&&(i=HB(xHn(B7(n,r),""),26))?y$n(n,i,t,e):null}function oln(n,t,e){var i,r;return(r=L$n(n.b,t))&&(i=HB(xHn(B7(n,r),""),26))?k$n(n,i,t,e):null}function sln(n,t){var e,i;for(i=new $L(n);i.e!=i.i.gc();)if(e=HB(jpn(i),138),zC(t)===zC(e))return!0;return!1}function hln(n,t,e){var i;if(t>(i=n.gc()))throw qp(new eK(t,i));if(n.hi()&&n.Hc(e))throw qp(new Fy(u8n));n.Xh(t,e)}function fln(n,t){var e;if(null==(e=hen(n.i,t)))throw qp(new ik("Node did not exist in input."));return _cn(t,e),null}function lln(n,t){var e;if(aL(e=xNn(n,t),322))return HB(e,34);throw qp(new Fy(c6n+t+"' is not a valid attribute"))}function bln(n,t,e){var i,r;for(r=aL(t,99)&&0!=(HB(t,18).Bb&HQn)?new DO(t,n):new $an(t,n),i=0;it?1:n==t?0==n?Iln(1/n,1/t):0:isNaN(n)?isNaN(t)?0:1:-1}function Cln(n,t){ATn(t,"Sort end labels",1),ZT($V(dnn(new Kq(null,new d1(n.b,16)),new de),new ge),new pe),qSn(t)}function Oln(n,t,e){var i,r;return n.ej()?(r=n.fj(),i=JCn(n,t,e),n.$i(n.Zi(7,rln(e),i,t,r)),i):JCn(n,t,e)}function Aln(n,t){var e,i,r;null==n.d?(++n.e,--n.f):(r=t.cd(),x6(n,i=((e=t.Sh())&RWn)%n.d.length,$$n(n,i,e,r)))}function $ln(n,t){var e;e=0!=(n.Bb&j6n),t?n.Bb|=j6n:n.Bb&=-1025,0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new e6(n,1,10,e,t))}function Lln(n,t){var e;e=0!=(n.Bb&FQn),t?n.Bb|=FQn:n.Bb&=-4097,0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new e6(n,1,12,e,t))}function Nln(n,t){var e;e=0!=(n.Bb&M9n),t?n.Bb|=M9n:n.Bb&=-8193,0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new e6(n,1,15,e,t))}function xln(n,t){var e;e=0!=(n.Bb&S9n),t?n.Bb|=S9n:n.Bb&=-2049,0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new e6(n,1,11,e,t))}function Dln(n,t){var e;return 0!=(e=Iln(n.b.c,t.b.c))||0!=(e=Iln(n.a.a,t.a.a))?e:Iln(n.a.b,t.a.b)}function Rln(n,t){var e;if(null==(e=KX(n.k,t)))throw qp(new ik("Port did not exist in input."));return _cn(t,e),null}function Kln(n){var t,e;for(e=z$n(Xtn(n)).Kc();e.Ob();)if(x_n(n,t=PD(e.Pb())))return k4((XM(),KAt),t);return null}function _ln(n,t){var e,i,r,c,a;for(a=uxn(n.e.Tg(),t),c=0,e=HB(n.g,119),r=0;r>10)+qQn&YVn,t[1]=56320+(1023&n)&YVn,Hdn(t,0,t.length)}function Vln(n){var t;return(t=HB(yMn(n,(qXn(),Xdt)),103))==(Bfn(),HPt)?zy(SD(yMn(n,Tdt)))>=1?BPt:_Pt:t}function Qln(n){switch(HB(yMn(n,(qXn(),ngt)),218).g){case 1:return new rc;case 3:return new sc;default:return new ic}}function Yln(n){if(n.c)Yln(n.c);else if(n.d)throw qp(new By("Stream already terminated, can't be modified or used"))}function Jln(n){var t;return 0!=(64&n.Db)?I$n(n):((t=new lN(I$n(n))).a+=" (identifier: ",aO(t,n.k),t.a+=")",t.a)}function Zln(n,t,e){var i;return eE(),Een(i=new co,t),Ten(i,e),n&&l9((!n.a&&(n.a=new LL(DOt,n,5)),n.a),i),i}function nbn(n,t,e,i){var r,c;return jW(i),jW(e),null==(c=null==(r=n.xc(t))?e:nM(HB(r,15),HB(e,14)))?n.Bc(t):n.zc(t,c),c}function tbn(n){var t,e,i,r;return srn(e=new JK(t=HB(Qj((r=(i=n.gm).f)==Xnt?i:r),9),HB(PR(t,t.length),9),0),n),e}function ebn(n,t,e){var i,r;for(r=n.a.ec().Kc();r.Ob();)if(i=HB(r.Pb(),10),sun(e,HB(Dq(t,i.p),14)))return i;return null}function ibn(n,t,e){try{Fon(n,t,e)}catch(i){throw aL(i=bun(i),597)?qp(new p5(i)):qp(i)}return t}function rbn(n,t){var e;return ZO(n)&&ZO(t)&&LQn<(e=n-t)&&e>1,n.k=i-1>>1}function hbn(){var n,t,i;kTn(),i=Net+++Date.now(),n=CJ(e.Math.floor(i*oYn))&hYn,t=CJ(i-n*sYn),this.a=1502^n,this.b=t^uYn}function fbn(n){var t,e;for(t=new xp,e=new Vb(n.j);e.a34028234663852886e22?KQn:t<-34028234663852886e22?_Qn:t}function vbn(n){return n=((n=((n-=n>>1&1431655765)>>2&858993459)+(858993459&n))>>4)+n&252645135,n+=n>>8,63&(n+=n>>16)}function mbn(n){var t,e,i;for(t=new fR(n.Hd().gc()),i=0,e=N9(n.Hd().Kc());e.Ob();)EZ(t,e.Pb(),rln(i++));return xSn(t.a)}function ybn(n,t){var e,i,r;for(r=new Dp,i=t.vc().Kc();i.Ob();)QW(r,(e=HB(i.Pb(),42)).cd(),ban(n,HB(e.dd(),15)));return r}function kbn(n,t){0==n.n.c.length&&VB(n.n,new KJ(n.s,n.t,n.i)),VB(n.b,t),hmn(HB(Dq(n.n,n.n.c.length-1),211),t),HFn(n,t)}function jbn(n){return n.c==n.b.b&&n.i==n.g.b||(n.a.c=D8($nt,qWn,1,0,5,1),pun(n.a,n.b),pun(n.a,n.g),n.c=n.b.b,n.i=n.g.b),n.a}function Ebn(n,t){var e,i;for(i=0,e=HB(t.Kb(n),20).Kc();e.Ob();)Gy(MD(yMn(HB(e.Pb(),17),(fWn(),Clt))))||++i;return i}function Tbn(n,t){var i,r;r=zy(SD(idn(l2(t),(qXn(),kpt)))),Bkn(t,i=e.Math.max(0,r/2-.5),1),VB(n,new bP(t,i))}function Mbn(){Mbn=A,Glt=new HP(YZn,0),Flt=new HP("FIRST",1),Blt=new HP(C1n,2),Hlt=new HP("LAST",3),qlt=new HP(O1n,4)}function Sbn(){Sbn=A,nIt=new BI(fJn,0),JPt=new BI("POLYLINE",1),YPt=new BI("ORTHOGONAL",2),ZPt=new BI("SPLINES",3)}function Pbn(){Pbn=A,nEt=new jI("ASPECT_RATIO_DRIVEN",0),tEt=new jI("MAX_SCALE_DRIVEN",1),Zjt=new jI("AREA_DRIVEN",2)}function Ibn(){Ibn=A,qEt=new TI("P1_STRUCTURE",0),GEt=new TI("P2_PROCESSING_ORDER",1),zEt=new TI("P3_EXECUTION",2)}function Cbn(){Cbn=A,ijt=new pI("OVERLAP_REMOVAL",0),tjt=new pI("COMPACTION",1),ejt=new pI("GRAPH_SIZE_CALCULATION",2)}function Obn(n,t){return f$(),cin(_Vn),e.Math.abs(n-t)<=_Vn||n==t||isNaN(n)&&isNaN(t)?0:nt?1:UO(isNaN(n),isNaN(t))}function Abn(n,t){var e,i;for(e=hpn(n,0);e.b!=e.d.c;){if((i=Uy(SD(w3(e))))==t)return;if(i>t){X0(e);break}}tX(e,t)}function $bn(n,t){var e,i,r,c,a;if(e=t.f,Zgn(n.c.d,e,t),null!=t.g)for(c=0,a=(r=t.g).length;ct&&i.ue(n[c-1],n[c])>0;--c)a=n[c],LX(n,c,n[c-1]),LX(n,c-1,a)}function Nbn(n,t,e,i){if(t<0)MLn(n,e,i);else{if(!e.Ij())throw qp(new Fy(c6n+e.ne()+a6n));HB(e,66).Nj().Tj(n,n.yh(),t,i)}}function xbn(n,t){if(t==n.d)return n.e;if(t==n.e)return n.d;throw qp(new Fy("Node "+t+" not part of edge "+n))}function Dbn(n,t){switch(t.g){case 2:return n.b;case 1:return n.c;case 4:return n.d;case 3:return n.a;default:return!1}}function Rbn(n,t){switch(t.g){case 2:return n.b;case 1:return n.c;case 4:return n.d;case 3:return n.a;default:return!1}}function Kbn(n,t,e,i){switch(t){case 3:return n.f;case 4:return n.g;case 5:return n.i;case 6:return n.j}return Ffn(n,t,e,i)}function _bn(n){return n.k==(oSn(),Cut)&&s5(new Kq(null,new UU(new sz(nN(bbn(n).a.Kc(),new f)))),new Gr)}function Fbn(n){return null==n.e?n:(!n.c&&(n.c=new cRn(0!=(256&n.f),n.i,n.a,n.d,0!=(16&n.f),n.j,n.g,null)),n.c)}function Bbn(n,t){return n.h==CQn&&0==n.m&&0==n.l?(t&&(btt=S$(0,0,0)),VO((W7(),gtt))):(t&&(btt=S$(n.l,n.m,n.h)),S$(0,0,0))}function Hbn(n){return Array.isArray(n)&&n.im===O?tE(esn(n))+"@"+(tsn(n)>>>0).toString(16):n.toString()}function qbn(n){var t;this.a=new JK(t=HB(n.e&&n.e(),9),HB(PR(t,t.length),9),0),this.b=D8($nt,qWn,1,this.a.a.length,5,1)}function Gbn(n){var t,e,i;for(this.a=new lA,i=new Vb(n);i.a0&&(w1(t-1,n.length),58==n.charCodeAt(t-1))&&!Wbn(n,NAt,xAt)}function Wbn(n,t,e){var i,r;for(i=0,r=n.length;i=r)return t.c+e;return t.c+t.b.gc()}function Ybn(n,t){var e,i,r,c;for(gD(),r=t,U9(i=q9(n),0,i.length,r),e=0;e0&&(i+=r,++e);return e>1&&(i+=n.d*(e-1)),i}function Zbn(n){var t,e,i;for((i=new Pk).a+="[",t=0,e=n.gc();t0&&this.b>0&&Jq(this.c,this.b,this.a)}function own(n){Kwn(),this.c=o6(Iun(zk(cMt,1),qWn,831,0,[Vpt])),this.b=new Dp,this.a=n,QW(this.b,Qpt,1),Atn(Ypt,new Ig(this))}function swn(n,t){var e;return n.d?fU(n.b,t)?HB(KX(n.b,t),51):(e=t.Kf(),QW(n.b,t,e),e):t.Kf()}function hwn(n,t){var e;return zC(n)===zC(t)||!!aL(t,91)&&(e=HB(t,91),n.e==e.e&&n.d==e.d&&T4(n,e.a))}function fwn(n){switch(jUn(),n.g){case 4:return hCt;case 1:return sCt;case 3:return PCt;case 2:return CCt;default:return ICt}}function lwn(n,t){switch(t){case 3:return 0!=n.f;case 4:return 0!=n.g;case 5:return 0!=n.i;case 6:return 0!=n.j}return Tan(n,t)}function bwn(n){switch(n.g){case 0:return new za;case 1:return new Ua;default:throw qp(new Fy(a4n+(null!=n.f?n.f:""+n.g)))}}function wwn(n){switch(n.g){case 0:return new Ga;case 1:return new Xa;default:throw qp(new Fy(S1n+(null!=n.f?n.f:""+n.g)))}}function dwn(n){switch(n.g){case 0:return new Qm;case 1:return new km;default:throw qp(new Fy(x4n+(null!=n.f?n.f:""+n.g)))}}function gwn(n){switch(n.g){case 1:return new Ka;case 2:return new pD;default:throw qp(new Fy(a4n+(null!=n.f?n.f:""+n.g)))}}function pwn(n){var t,e;if(n.b)return n.b;for(e=Yet?null:n.d;e;){if(t=Yet?null:e.b)return t;e=Yet?null:e.d}return bM(),qet}function vwn(n){var t,e;return 0==n.e?0:(t=n.d<<5,e=n.a[n.d-1],n.e<0&&Ccn(n)==n.d-1&&(--e,e|=0),t-=nOn(e))}function mwn(n){var t,e,i;return n>5),15,1))[e]=1<3;)r*=10,--c;n=(n+(r>>1))/r|0}return i.i=n,!0}function Twn(n){return Phn(),fN(),!!(Rbn(HB(n.a,81).j,HB(n.b,103))||0!=HB(n.a,81).d.e&&Rbn(HB(n.a,81).j,HB(n.b,103)))}function Mwn(n){D9(),HB(n.We((hWn(),GSt)),174).Hc((t_n(),QCt))&&(HB(n.We(lPt),174).Fc((bCn(),aCt)),HB(n.We(GSt),174).Mc(QCt))}function Swn(n,t){var e;if(t){for(e=0;e=0;--i)for(t=e[i],r=0;r>1,this.k=t-1>>1}function zwn(n,t){ATn(t,"End label post-processing",1),ZT($V(dnn(new Kq(null,new d1(n.b,16)),new ue),new oe),new se),qSn(t)}function Uwn(n,t,e){var i;return i=zy(n.p[t.i.p])+zy(n.d[t.i.p])+t.n.b+t.a.b,zy(n.p[e.i.p])+zy(n.d[e.i.p])+e.n.b+e.a.b-i}function Xwn(n,t,e){var i,r;for(i=i0(e,XQn),r=0;0!=Qhn(i,0)&&r0&&(w1(0,t.length),43==t.charCodeAt(0))?t.substr(1):t)}function Qwn(n){var t;return null==n?null:new LA((t=BBn(n,!0)).length>0&&(w1(0,t.length),43==t.charCodeAt(0))?t.substr(1):t)}function Ywn(n,t){return n.i>0&&(t.lengthn.i&&LX(t,n.i,null),t}function Jwn(n,t,e){var i,r,c;return n.ej()?(i=n.i,c=n.fj(),Ofn(n,i,t),r=n.Zi(3,null,t,i,c),e?e.Ei(r):e=r):Ofn(n,n.i,t),e}function Zwn(n,t,e){var i,r;return i=new x7(n.e,4,10,aL(r=t.c,88)?HB(r,26):(pWn(),g$t),null,ovn(n,t),!1),e?e.Ei(i):e=i,e}function ndn(n,t,e){var i,r;return i=new x7(n.e,3,10,null,aL(r=t.c,88)?HB(r,26):(pWn(),g$t),ovn(n,t),!1),e?e.Ei(i):e=i,e}function tdn(n){var t;return GD(),t=new dA(HB(n.e.We((hWn(),HSt)),8)),n.B.Hc((t_n(),zCt))&&(t.a<=0&&(t.a=20),t.b<=0&&(t.b=20)),t}function edn(n){return wvn(),(n.q?n.q:(PQ(),PQ(),fet))._b((qXn(),Kgt))?HB(yMn(n,Kgt),197):HB(yMn(mW(n),_gt),197)}function idn(n,t){var e,i;return i=null,Nx(n,(qXn(),Spt))&&(e=HB(yMn(n,Spt),94)).Xe(t)&&(i=e.We(t)),null==i&&(i=yMn(mW(n),t)),i}function rdn(n,t){var e,i,r;return!!aL(t,42)&&(i=(e=HB(t,42)).cd(),dW(r=bfn(n.Rc(),i),e.dd())&&(null!=r||n.Rc()._b(i)))}function cdn(n,t){var e;return n.f>0&&(n.qj(),-1!=$$n(n,((e=null==t?0:tsn(t))&RWn)%n.d.length,e,t))}function adn(n,t){var e,i;return n.f>0&&(n.qj(),e=uOn(n,((i=null==t?0:tsn(t))&RWn)%n.d.length,i,t))?e.dd():null}function udn(n,t){var e,i,r,c;for(c=uxn(n.e.Tg(),t),e=HB(n.g,119),r=0;r1?r0(kz(t.a[1],32),i0(t.a[0],XQn)):i0(t.a[0],XQn),E2(abn(t.e,e))))}function bdn(n,t){var e;return ZO(n)&&ZO(t)&&LQn<(e=n%t)&&e>5,t&=31,r=n.d+e+(0==t?0:1),DTn(i=D8($Nt,fQn,25,r,15,1),n.a,e,t),W0(c=new bU(n.e,r,i)),c}function Mdn(n,t,e){var i,r;i=HB(PJ(rNt,t),117),r=HB(PJ(cNt,t),117),e?(yZ(rNt,n,i),yZ(cNt,n,r)):(yZ(cNt,n,i),yZ(rNt,n,r))}function Sdn(n,t,e){var i,r,c;for(r=null,c=n.b;c;){if(i=n.a.ue(t,c.d),e&&0==i)return c;i>=0?c=c.a[1]:(r=c,c=c.a[0])}return r}function Pdn(n,t,e){var i,r,c;for(r=null,c=n.b;c;){if(i=n.a.ue(t,c.d),e&&0==i)return c;i<=0?c=c.a[0]:(r=c,c=c.a[1])}return r}function Idn(n,t,e,i){var r,c,a;return r=!1,NGn(n.f,e,i)&&(Dgn(n.f,n.a[t][e],n.a[t][i]),a=(c=n.a[t])[i],c[i]=c[e],c[e]=a,r=!0),r}function Cdn(n,t,e,i,r){var c,a,u;for(a=r;t.b!=t.c;)c=HB(gU(t),10),u=HB(ubn(c,i).Xb(0),11),n.d[u.p]=a++,e.c[e.c.length]=u;return a}function Odn(n,t,i){var r,c,a,u,o;return u=n.k,o=t.k,c=SD(idn(n,r=i[u.g][o.g])),a=SD(idn(t,r)),e.Math.max((jW(c),c),(jW(a),a))}function Adn(n,t,e){var i,r,c,a;for(i=e/n.c.length,r=0,a=new Vb(n);a.a2e3&&(utt=n,ott=e.setTimeout(YE,10)),0==att++&&(Ann((hk(),ett)),!0)}function xdn(n,t){var e;for(e=new sz(nN(bbn(n).a.Kc(),new f));gAn(e);)if(HB(X5(e),17).d.i.c==t)return!1;return!0}function Ddn(n,t){var e;if(aL(t,245)){e=HB(t,245);try{return 0==n.vd(e)}catch(i){if(!aL(i=bun(i),205))throw qp(i)}}return!1}function Rdn(){return Error.stackTraceLimit>0?(e.Error.stackTraceLimit=Error.stackTraceLimit=64,!0):"stack"in new Error}function Kdn(n,t){return f$(),f$(),cin(_Vn),(e.Math.abs(n-t)<=_Vn||n==t||isNaN(n)&&isNaN(t)?0:nt?1:UO(isNaN(n),isNaN(t)))>0}function _dn(n,t){return f$(),f$(),cin(_Vn),(e.Math.abs(n-t)<=_Vn||n==t||isNaN(n)&&isNaN(t)?0:nt?1:UO(isNaN(n),isNaN(t)))<0}function Fdn(n,t){return f$(),f$(),cin(_Vn),(e.Math.abs(n-t)<=_Vn||n==t||isNaN(n)&&isNaN(t)?0:nt?1:UO(isNaN(n),isNaN(t)))<=0}function Bdn(n,t){for(var e=0;!t[e]||""==t[e];)e++;for(var i=t[e++];ezQn)return e.fh();if((i=e.Zg())||e==n)break}return i}function Zdn(n){return fZ(),aL(n,156)?HB(KX(fAt,ket),288).vg(n):fU(fAt,esn(n))?HB(KX(fAt,esn(n)),288).vg(n):null}function ngn(n){if(ygn(u5n,n))return fN(),mtt;if(ygn(o5n,n))return fN(),vtt;throw qp(new Fy("Expecting true or false"))}function tgn(n,t){if(t.c==n)return t.d;if(t.d==n)return t.c;throw qp(new Fy("Input edge is not connected to the input port."))}function egn(n,t){return n.e>t.e?1:n.et.d?n.e:n.d=48&&n<48+e.Math.min(10,10)?n-48:n>=97&&n<97?n-97+10:n>=65&&n<65?n-65+10:-1}function rgn(n,t){var e;return zC(t)===zC(n)||!!aL(t,21)&&(e=HB(t,21)).gc()==n.gc()&&n.Ic(e)}function cgn(n,t){var e,i,r;return i=n.a.length-1,e=t-n.b&i,r=n.c-t&i,Tx(e<(n.c-n.b&i)),e>=r?(uhn(n,t),-1):(ohn(n,t),1)}function agn(n,t){var e,i;for(w1(t,n.length),e=n.charCodeAt(t),i=t+1;it.e?1:n.ft.f?1:tsn(n)-tsn(t)}function ygn(n,t){return jW(n),null!=t&&(!!yK(n,t)||n.length==t.length&&yK(n.toLowerCase(),t.toLowerCase()))}function kgn(n,t){var e,i,r,c;for(i=0,r=t.gc();i0&&Qhn(n,128)<0?(t=gG(n)+128,!(e=(Tq(),Ltt)[t])&&(e=Ltt[t]=new Rb(n)),e):new Rb(n)}function Tgn(n,t){var e,i;return(e=t.Hh(n.a))&&null!=(i=PD(adn((!e.b&&(e.b=new Zx((pWn(),j$t),W$t,e)),e.b),e8n)))?i:t.ne()}function Mgn(n,t){var e,i;return(e=t.Hh(n.a))&&null!=(i=PD(adn((!e.b&&(e.b=new Zx((pWn(),j$t),W$t,e)),e.b),e8n)))?i:t.ne()}function Sgn(n,t){var e,i;for(GZ(),i=new sz(nN(fbn(n).a.Kc(),new f));gAn(i);)if((e=HB(X5(i),17)).d.i==t||e.c.i==t)return e;return null}function Pgn(n,t,e){this.c=n,this.f=new xp,this.e=new zj,this.j=new Pq,this.n=new Pq,this.b=t,this.g=new XV(t.c,t.d,t.b,t.a),this.a=e}function Ign(n){var t,e,i,r;for(this.a=new lA,this.d=new Kv,this.e=0,i=0,r=(e=n).length;i0)}function xgn(n){var t;zC(n$n(n,(hWn(),TSt)))===zC((ofn(),mIt))&&(ZJ(n)?(t=HB(n$n(ZJ(n),TSt),334),Jpn(n,TSt,t)):Jpn(n,TSt,yIt))}function Dgn(n,t,e){var i,r;lMn(n.e,t,e,(jUn(),CCt)),lMn(n.i,t,e,sCt),n.a&&(r=HB(yMn(t,(fWn(),glt)),11),i=HB(yMn(e,glt),11),j0(n.g,r,i))}function Rgn(n,t,e){var i,r,c;i=t.c.p,c=t.p,n.b[i][c]=new RY(n,t),e&&(n.a[i][c]=new Hd(t),(r=HB(yMn(t,(fWn(),clt)),10))&&ZCn(n.d,r,t))}function Kgn(n,t){var e,i,r;if(VB(Pct,n),t.Fc(n),e=HB(KX(Sct,n),21))for(r=e.Kc();r.Ob();)i=HB(r.Pb(),33),-1!=T7(Pct,i,0)||Kgn(i,t)}function _gn(n,t,e){var i;(Vet?(pwn(n),1):Qet||Zet?(bM(),1):Jet&&(bM(),0))&&((i=new r_(t)).b=e,uSn(n,i))}function Fgn(n,t){var e;e=!n.A.Hc((ydn(),FCt))||n.q==(YEn(),WIt),n.u.Hc((bCn(),iCt))?e?xUn(n,t):uUn(n,t):n.u.Hc(cCt)&&(e?$zn(n,t):ZUn(n,t))}function Bgn(n,t){var e,i;++n.j,null!=t&&sOn(t,e=aL(i=n.a.Cb,97)?HB(i,97).Jg():null)?fgn(n.a,4,e):fgn(n.a,4,HB(t,126))}function Hgn(n,t,i){return new XV(e.Math.min(n.a,t.a)-i/2,e.Math.min(n.b,t.b)-i/2,e.Math.abs(n.a-t.a)+i,e.Math.abs(n.b-t.b)+i)}function qgn(n,t){var e,i;return 0!=(e=T$(n.a.c.p,t.a.c.p))?e:0!=(i=T$(n.a.d.i.p,t.a.d.i.p))?i:T$(t.a.d.p,n.a.d.p)}function Ggn(n,t,e){var i,r,c,a;return(c=t.j)!=(a=e.j)?c.g-a.g:(i=n.f[t.p],r=n.f[e.p],0==i&&0==r?0:0==i?-1:0==r?1:Iln(i,r))}function zgn(n,t,e){var i;if(!e[t.d])for(e[t.d]=!0,i=new Vb(jbn(t));i.a=(r=n.length))return r;for(t=t>0?t:0;ti&&LX(t,i,null),t}function Jgn(n,t){var e,i;for(i=n.a.length,t.lengthi&&LX(t,i,null),t}function Zgn(n,t,e){var i,r,c;return(r=HB(KX(n.e,t),387))?(c=vR(r,e),oL(n,r),c):(i=new tH(n,t,e),QW(n.e,t,i),jJ(i),null)}function npn(n){var t;if(null==n)return null;if(null==(t=N$n(BBn(n,!0))))throw qp(new rk("Invalid hexBinary value: '"+n+"'"));return t}function tpn(n){return ADn(),Qhn(n,0)<0?0!=Qhn(n,-1)?new mEn(-1,E7(n)):Jtt:Qhn(n,10)<=0?net[gG(n)]:new mEn(1,n)}function epn(){return gWn(),Iun(zk(_rt,1),LVn,159,0,[Irt,Prt,Crt,mrt,vrt,yrt,Ert,jrt,krt,Srt,Mrt,Trt,grt,drt,prt,brt,lrt,wrt,hrt,srt,frt,Ort])}function ipn(n){var t;this.d=new xp,this.j=new zj,this.g=new zj,t=n.g.b,this.f=HB(yMn(mW(t),(qXn(),Xdt)),103),this.e=zy(SD(ppn(t,Ppt)))}function rpn(n){this.b=new xp,this.e=new xp,this.d=n,this.a=!EE($V(new Kq(null,new UU(new y6(n.b))),new uw(new zr))).sd((gM(),eit))}function cpn(){cpn=A,fMt=new $I("PARENTS",0),hMt=new $I("NODES",1),oMt=new $I("EDGES",2),lMt=new $I("PORTS",3),sMt=new $I("LABELS",4)}function apn(){apn=A,HIt=new UI("DISTRIBUTED",0),GIt=new UI("JUSTIFIED",1),FIt=new UI("BEGIN",2),BIt=new UI(iJn,3),qIt=new UI("END",4)}function upn(n){switch(n.yi(null)){case 10:return 0;case 15:return 1;case 14:return 2;case 11:return 3;case 21:return 4}return-1}function opn(n){switch(n.g){case 1:return Bfn(),qPt;case 4:return Bfn(),FPt;case 2:return Bfn(),BPt;case 3:return Bfn(),_Pt}return Bfn(),HPt}function spn(n,t,e){var i;switch((i=e.q.getFullYear()-hQn+hQn)<0&&(i=-i),t){case 1:n.a+=i;break;case 2:Tnn(n,i%100,2);break;default:Tnn(n,i,t)}}function hpn(n,t){var e,i;if(NZ(t,n.b),t>=n.b>>1)for(i=n.c,e=n.b;e>t;--e)i=i.b;else for(i=n.a.a,e=0;e=64&&t<128&&(r=r0(r,kz(1,t-64)));return r}function ppn(n,t){var e,i;return i=null,Nx(n,(hWn(),CPt))&&(e=HB(yMn(n,CPt),94)).Xe(t)&&(i=e.We(t)),null==i&&mW(n)&&(i=yMn(mW(n),t)),i}function vpn(n,t){var e,i,r;(i=(r=t.d.i).k)!=(oSn(),Cut)&&i!=Mut&&gAn(e=new sz(nN(bbn(r).a.Kc(),new f)))&&QW(n.k,t,HB(X5(e),17))}function mpn(n,t){var e,i,r;return i=rtn(n.Tg(),t),(e=t-n.Ah())<0?(r=n.Yg(i))>=0?n.lh(r):GCn(n,i):e<0?GCn(n,i):HB(i,66).Nj().Sj(n,n.yh(),e)}function ypn(n){var t;if(aL(n.a,4)){if(null==(t=Zdn(n.a)))throw qp(new By(s5n+n.b+"'. "+c5n+(TD(wAt),wAt.k)+a5n));return t}return n.a}function kpn(n){var t;if(null==n)return null;if(null==(t=XUn(BBn(n,!0))))throw qp(new rk("Invalid base64Binary value: '"+n+"'"));return t}function jpn(n){var t;try{return t=n.i.Xb(n.e),n.mj(),n.g=n.e++,t}catch(e){throw aL(e=bun(e),73)?(n.mj(),qp(new kv)):qp(e)}}function Epn(n){var t;try{return t=n.c.ki(n.e),n.mj(),n.g=n.e++,t}catch(e){throw aL(e=bun(e),73)?(n.mj(),qp(new kv)):qp(e)}}function Tpn(){Tpn=A,hWn(),Tct=MPt,vct=kSt,bct=aSt,mct=WSt,Fkn(),jct=Sit,kct=Tit,Ect=Iit,yct=Eit,zsn(),dct=sct,wct=oct,gct=fct,pct=lct}function Mpn(n){switch(EM(),this.c=new xp,this.d=n,n.g){case 0:case 2:this.a=YW(fut),this.b=KQn;break;case 3:case 1:this.a=fut,this.b=_Qn}}function Spn(n,t,e){var i;if(n.c)Ien(n.c,n.c.i+t),Cen(n.c,n.c.j+e);else for(i=new Vb(n.b);i.a0&&(VB(n.b,new QB(t.a,e)),0<(i=t.a.length)?t.a=t.a.substr(0,0):0>i&&(t.a+=cL(D8(ANt,VVn,25,-i,15,1))))}function Cpn(n,t){var e,i,r;for(e=n.o,r=HB(HB(f6(n.r,t),21),84).Kc();r.Ob();)(i=HB(r.Pb(),111)).e.a=gyn(i,e.a),i.e.b=e.b*zy(SD(i.b.We(Nrt)))}function Opn(n,t){var e,i,r,c;return r=n.k,e=zy(SD(yMn(n,(fWn(),Mlt)))),c=t.k,i=zy(SD(yMn(t,Mlt))),c!=(oSn(),Sut)?-1:r!=Sut?1:e==i?0:e=0?n.hh(t,e,i):(n.eh()&&(i=(r=n.Vg())>=0?n.Qg(i):n.eh().ih(n,-1-r,null,i)),n.Sg(t,e,i))}function Dpn(n,t){switch(t){case 7:return!n.e&&(n.e=new fK(FOt,n,7,4)),void hqn(n.e);case 8:return!n.d&&(n.d=new fK(FOt,n,8,5)),void hqn(n.d)}Rwn(n,t)}function Rpn(n,t){var e;e=n.Zc(t);try{return e.Pb()}catch(i){throw aL(i=bun(i),109)?qp(new $y("Can't get element "+t)):qp(i)}}function Kpn(n,t){this.e=n,t=0&&(e.d=n.t);break;case 3:n.t>=0&&(e.a=n.t)}n.C&&(e.b=n.C.b,e.c=n.C.c)}function qpn(){qpn=A,Hrt=new FS(yJn,0),Brt=new FS(kJn,1),qrt=new FS(jJn,2),Grt=new FS(EJn,3),Hrt.a=!1,Brt.a=!0,qrt.a=!1,Grt.a=!0}function Gpn(){Gpn=A,nct=new _S(yJn,0),Zrt=new _S(kJn,1),tct=new _S(jJn,2),ect=new _S(EJn,3),nct.a=!1,Zrt.a=!0,tct.a=!1,ect.a=!0}function zpn(n){var t;t=n.a;do{(t=HB(X5(new sz(nN(lbn(t).a.Kc(),new f))),17).c.i).k==(oSn(),Iut)&&n.b.Fc(t)}while(t.k==(oSn(),Iut));n.b=ian(n.b)}function Upn(n){var t,e,i;for(i=n.c.a,n.p=(kX(i),new e_(i)),e=new Vb(i);e.ae.b)return!0}return!1}function Ypn(n,t){return WC(n)?!!AWn[t]:n.hm?!!n.hm[t]:XC(n)?!!OWn[t]:!!UC(n)&&!!CWn[t]}function Jpn(n,t,e){return null==e?(!n.o&&(n.o=new k9((CXn(),SOt),cAt,n,0)),Vdn(n.o,t)):(!n.o&&(n.o=new k9((CXn(),SOt),cAt,n,0)),mjn(n.o,t,e)),n}function Zpn(n,t,e,i){var r;(r=Wfn(t.Xe((hWn(),RSt))?HB(t.We(RSt),21):n.j))!=(gWn(),Ort)&&(e&&!ugn(r)||XSn(x$n(n,r,i),t))}function nvn(n,t,e,i){var r,c,a;return c=rtn(n.Tg(),t),(r=t-n.Ah())<0?(a=n.Yg(c))>=0?n._g(a,e,!0):aOn(n,c,e):HB(c,66).Nj().Pj(n,n.yh(),r,e,i)}function tvn(n,t,e,i){var r,c;e.mh(t)&&(nS(),fnn(t)?kgn(n,HB(e.ah(t),153)):(r=(c=t)?HB(i,49).xh(c):null)&&Fp(e.ah(t),r))}function evn(n){switch(n.g){case 1:return Ran(),Krt;case 3:return Ran(),xrt;case 2:return Ran(),Rrt;case 4:return Ran(),Drt;default:return null}}function ivn(n){switch(typeof n){case xWn:return mvn(n);case NWn:return CJ(n);case LWn:return fN(),n?1231:1237;default:return null==n?0:IN(n)}}function rvn(n,t,e){if(n.e)switch(n.b){case 1:HQ(n.c,t,e);break;case 0:qQ(n.c,t,e)}else e4(n.c,t,e);n.a[t.p][e.p]=n.c.i,n.a[e.p][t.p]=n.c.e}function cvn(n){var t,e;if(null==n)return null;for(e=D8(Aut,hVn,193,n.length,0,2),t=0;t=0)return i;if(n.Fk())for(e=0;e=(r=n.gc()))throw qp(new eK(t,r));if(n.hi()&&(i=n.Xc(e))>=0&&i!=t)throw qp(new Fy(u8n));return n.mi(t,e)}function hvn(n,t){if(this.a=HB(kX(n),245),this.b=HB(kX(t),245),n.vd(t)>0||n==(iy(),_nt)||t==(ey(),Fnt))throw qp(new Fy("Invalid range: "+H3(n,t)))}function fvn(n){var t,e;for(this.b=new xp,this.c=n,this.a=!1,e=new Vb(n.a);e.a0),(t&-t)==t)return CJ(t*q$n(n,31)*4.656612873077393e-10);do{i=(e=q$n(n,31))%t}while(e-i+(t-1)<0);return CJ(i)}function mvn(n){var t,e,i;return c_(),null!=(i=cit[e=":"+n])?CJ((jW(i),i)):(t=null==(i=rit[e])?ZNn(n):CJ((jW(i),i)),OQ(),cit[e]=t,t)}function yvn(n,t,e){ATn(e,"Compound graph preprocessor",1),n.a=new vJ,xzn(n,t,null),zHn(n,t),eNn(n),fon(t,(fWn(),qft),n.a),n.a=null,LU(n.b),qSn(e)}function kvn(n,t,e){switch(e.g){case 1:n.a=t.a/2,n.b=0;break;case 2:n.a=t.a,n.b=t.b/2;break;case 3:n.a=t.a/2,n.b=t.b;break;case 4:n.a=0,n.b=t.b/2}}function jvn(n){var t,e,i;for(i=HB(f6(n.a,(NEn(),Ist)),15).Kc();i.Ob();)rX(n,e=HB(i.Pb(),101),(t=qyn(e))[0],(Crn(),Dst),0),rX(n,e,t[1],Kst,1)}function Evn(n){var t,e,i;for(i=HB(f6(n.a,(NEn(),Cst)),15).Kc();i.Ob();)rX(n,e=HB(i.Pb(),101),(t=qyn(e))[0],(Crn(),Dst),0),rX(n,e,t[1],Kst,1)}function Tvn(n){switch(n.g){case 0:return null;case 1:return new $rn;case 2:return new Zm;default:throw qp(new Fy(a4n+(null!=n.f?n.f:""+n.g)))}}function Mvn(n,t,e){var i,r;for(yun(n,t-n.s,e-n.t),r=new Vb(n.n);r.a1&&(r=lvn(n,t)),r}function Pvn(n){var t;return n.f&&n.f.kh()&&(t=HB(n.f,49),n.f=HB(efn(n,t),82),n.f!=t&&0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new tU(n,9,8,t,n.f))),n.f}function Ivn(n){var t;return n.i&&n.i.kh()&&(t=HB(n.i,49),n.i=HB(efn(n,t),82),n.i!=t&&0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new tU(n,9,7,t,n.i))),n.i}function Cvn(n){var t;return n.b&&0!=(64&n.b.Db)&&(t=n.b,n.b=HB(efn(n,t),18),n.b!=t&&0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new tU(n,9,21,t,n.b))),n.b}function Ovn(n,t){var e,i,r;null==n.d?(++n.e,++n.f):(i=t.Sh(),lNn(n,n.f+1),r=(i&RWn)%n.d.length,!(e=n.d[r])&&(e=n.d[r]=n.uj()),e.Fc(t),++n.f)}function Avn(n,t,e){var i;return!t.Kj()&&(-2!=t.Zj()?null==(i=t.zj())?null==e:xfn(i,e):t.Hj()==n.e.Tg()&&null==e)}function $vn(){var n;bin(16,OVn),n=Zin(16),this.b=D8(znt,CVn,317,n,0,1),this.c=D8(znt,CVn,317,n,0,1),this.a=null,this.e=null,this.i=0,this.f=n-1,this.g=0}function Lvn(n){NR.call(this),this.k=(oSn(),Cut),this.j=(bin(6,$Vn),new Z6(6)),this.b=(bin(2,$Vn),new Z6(2)),this.d=new lm,this.f=new dm,this.a=n}function Nvn(n){var t,e;n.c.length<=1||(gPn(n,HB((t=TDn(n,(jUn(),PCt))).a,19).a,HB(t.b,19).a),gPn(n,HB((e=TDn(n,CCt)).a,19).a,HB(e.b,19).a))}function xvn(){xvn=A,kvt=new BP("SIMPLE",0),vvt=new BP(H1n,1),mvt=new BP("LINEAR_SEGMENTS",2),pvt=new BP("BRANDES_KOEPF",3),yvt=new BP(E3n,4)}function Dvn(n,t,e){NK(HB(yMn(t,(qXn(),ipt)),98))||(V7(n,t,RSn(t,e)),V7(n,t,RSn(t,(jUn(),PCt))),V7(n,t,RSn(t,hCt)),PQ(),y$(t.j,new Fd(n)))}function Rvn(n,t,e,i){var r;for(r=HB(f6(i?n.a:n.b,t),21).Kc();r.Ob();)if(FDn(n,e,HB(r.Pb(),33)))return!0;return!1}function Kvn(n){var t,e;for(e=new $L(n);e.e!=e.i.gc();)if((t=HB(jpn(e),87)).e||0!=(!t.d&&(t.d=new LL(QAt,t,1)),t.d).i)return!0;return!1}function _vn(n){var t,e;for(e=new $L(n);e.e!=e.i.gc();)if((t=HB(jpn(e),87)).e||0!=(!t.d&&(t.d=new LL(QAt,t,1)),t.d).i)return!0;return!1}function Fvn(n){var t,e;for(t=0,e=new Vb(n.c.a);e.a102?-1:n<=57?n-48:n<65?-1:n<=70?n-65+10:n<97?-1:n-97+10}function Uvn(n,t){if(null==n)throw qp(new qy("null key in entry: null="+t));if(null==t)throw qp(new qy("null value in entry: "+n+"=null"))}function Xvn(n,t){for(var e,i;n.Ob();){if(!t.Ob())return!1;if(e=n.Pb(),i=t.Pb(),!(zC(e)===zC(i)||null!=e&&xfn(e,i)))return!1}return!t.Ob()}function Wvn(n,t){var i;return i=Iun(zk(DNt,1),GQn,25,15,[mhn(n.a[0],t),mhn(n.a[1],t),mhn(n.a[2],t)]),n.d&&(i[0]=e.Math.max(i[0],i[2]),i[2]=i[0]),i}function Vvn(n,t){var i;return i=Iun(zk(DNt,1),GQn,25,15,[yhn(n.a[0],t),yhn(n.a[1],t),yhn(n.a[2],t)]),n.d&&(i[0]=e.Math.max(i[0],i[2]),i[2]=i[0]),i}function Qvn(){Qvn=A,kht=new PP("GREEDY",0),yht=new PP(q1n,1),Eht=new PP(H1n,2),Tht=new PP("MODEL_ORDER",3),jht=new PP("GREEDY_MODEL_ORDER",4)}function Yvn(n,t){var e,i,r;for(n.b[t.g]=1,i=hpn(t.d,0);i.b!=i.d.c;)r=(e=HB(w3(i),188)).c,1==n.b[r.g]?RH(n.a,e):2==n.b[r.g]?n.b[r.g]=1:Yvn(n,r)}function Jvn(n,t){var e,i,r;for(r=new Z6(t.gc()),i=t.Kc();i.Ob();)(e=HB(i.Pb(),286)).c==e.f?fPn(n,e,e.c):cPn(n,e)||(r.c[r.c.length]=e);return r}function Zvn(n,t,e){var i,r,c,a;for(a=n.r+t,n.r+=t,n.d+=e,i=e/n.n.c.length,r=0,c=new Vb(n.n);c.ac&&LX(t,c,null),t}function Mmn(n,t){var e,i;if(i=n.gc(),null==t){for(e=0;e0&&(o+=r),s[h]=a,a+=u*(o+i)}function Rmn(n){var t,e,i;for(i=n.f,n.n=D8(DNt,GQn,25,i,15,1),n.d=D8(DNt,GQn,25,i,15,1),t=0;t0?n.c:0),++c;n.b=r,n.d=a}function Umn(n,t){var i,r,c,a,u;for(r=0,c=0,i=0,u=new Vb(t);u.a0?n.g:0),++i;n.c=c,n.d=r}function Xmn(n,t){var i;return i=Iun(zk(DNt,1),GQn,25,15,[pvn(n,(Rtn(),zit),t),pvn(n,Uit,t),pvn(n,Xit,t)]),n.f&&(i[0]=e.Math.max(i[0],i[2]),i[2]=i[0]),i}function Wmn(n,t,e){try{BRn(n,t+n.j,e+n.k,!1,!0)}catch(i){throw aL(i=bun(i),73)?qp(new $y(i.g+CJn+t+BWn+e+").")):qp(i)}}function Vmn(n,t,e){try{BRn(n,t+n.j,e+n.k,!0,!1)}catch(i){throw aL(i=bun(i),73)?qp(new $y(i.g+CJn+t+BWn+e+").")):qp(i)}}function Qmn(n){var t;Nx(n,(qXn(),Lgt))&&((t=HB(yMn(n,Lgt),21)).Hc((t$n(),OIt))?(t.Mc(OIt),t.Fc($It)):t.Hc($It)&&(t.Mc($It),t.Fc(OIt)))}function Ymn(n){var t;Nx(n,(qXn(),Lgt))&&((t=HB(yMn(n,Lgt),21)).Hc((t$n(),RIt))?(t.Mc(RIt),t.Fc(xIt)):t.Hc(xIt)&&(t.Mc(xIt),t.Fc(RIt)))}function Jmn(n,t,e){ATn(e,"Self-Loop ordering",1),ZT(LV($V($V(dnn(new Kq(null,new d1(t.b,16)),new Oi),new Ai),new $i),new Li),new wd(n)),qSn(e)}function Zmn(n,t,e,i){var r,c;for(r=t;r0&&(c.b+=t),c}function oyn(n,t){var i,r,c;for(c=new zj,r=n.Kc();r.Ob();)nKn(i=HB(r.Pb(),37),0,c.b),c.b+=i.f.b+t,c.a=e.Math.max(c.a,i.f.a);return c.a>0&&(c.a+=t),c}function syn(n){var t,i,r;for(r=RWn,i=new Vb(n.a);i.a>16==6?n.Cb.ih(n,5,zOt,t):(e=Cvn(HB(rtn(HB(kan(n,16),26)||n.zh(),n.Db>>16),18)),n.Cb.ih(n,e.n,e.f,t))}function byn(n){IY();var t=n.e;if(t&&t.stack){var e=t.stack,i=t+"\n";return e.substring(0,i.length)==i&&(e=e.substring(i.length)),e.split("\n")}return[]}function wyn(n){var t;return Sin(),(t=Att)[n>>>28]|t[n>>24&15]<<4|t[n>>20&15]<<8|t[n>>16&15]<<12|t[n>>12&15]<<16|t[n>>8&15]<<20|t[n>>4&15]<<24|t[15&n]<<28}function dyn(n){var t,i,r;n.b==n.c&&(r=n.a.length,i=jon(e.Math.max(8,r))<<1,0!=n.b?(orn(n,t=PR(n.a,i),r),n.a=t,n.b=0):Iv(n.a,i),n.c=r)}function gyn(n,t){var e;return(e=n.b).Xe((hWn(),uPt))?e.Hf()==(jUn(),CCt)?-e.rf().a-zy(SD(e.We(uPt))):t+zy(SD(e.We(uPt))):e.Hf()==(jUn(),CCt)?-e.rf().a:t}function pyn(n){var t;return 0!=n.b.c.length&&HB(Dq(n.b,0),70).a?HB(Dq(n.b,0),70).a:null!=(t=iQ(n))?t:""+(n.c?T7(n.c.a,n,0):-1)}function vyn(n){var t;return 0!=n.f.c.length&&HB(Dq(n.f,0),70).a?HB(Dq(n.f,0),70).a:null!=(t=iQ(n))?t:""+(n.i?T7(n.i.j,n,0):-1)}function myn(n,t){var e,i;if(t<0||t>=n.gc())return null;for(e=t;e0?n.c:0),c=e.Math.max(c,t.d),++r;n.e=a,n.b=c}function jyn(n){var t,e;if(!n.b)for(n.b=C2(HB(n.f,118).Ag().i),e=new $L(HB(n.f,118).Ag());e.e!=e.i.gc();)t=HB(jpn(e),137),VB(n.b,new Ky(t));return n.b}function Eyn(n,t){var e,i,r;if(t.dc())return gD(),gD(),vAt;for(e=new uR(n,t.gc()),r=new $L(n);r.e!=r.i.gc();)i=jpn(r),t.Hc(i)&&l9(e,i);return e}function Tyn(n,t,e,i){return 0==t?i?(!n.o&&(n.o=new k9((CXn(),SOt),cAt,n,0)),n.o):(!n.o&&(n.o=new k9((CXn(),SOt),cAt,n,0)),$8(n.o)):nvn(n,t,e,i)}function Myn(n){var t,e;if(n.rb)for(t=0,e=n.rb.i;t>22))>>22)<0||(n.l=e&PQn,n.m=i&PQn,n.h=r&IQn,0)))}function Oyn(n,t,e,i,r,c,a){var u,o;return!(t.Ae()&&(o=n.a.ue(e,i),o<0||!r&&0==o)||t.Be()&&(u=n.a.ue(e,c),u>0||!a&&0==u))}function Ayn(n,t){if(Usn(),0!=n.j.g-t.j.g)return 0;switch(n.j.g){case 2:return Ebn(t,wst)-Ebn(n,wst);case 4:return Ebn(n,bst)-Ebn(t,bst)}return 0}function $yn(n){switch(n.g){case 0:return Dht;case 1:return Rht;case 2:return Kht;case 3:return _ht;case 4:return Fht;case 5:return Bht;default:return null}}function Lyn(n,t,e){var i,r;return Ohn(r=new Nm,t),xrn(r,e),l9((!n.c&&(n.c=new iU(JAt,n,12,10)),n.c),r),Nen(i=r,0),xen(i,1),tln(i,!0),Jfn(i,!0),i}function Nyn(n,t){var e,i;if(t>=n.i)throw qp(new NO(t,n.i));return++n.j,e=n.g[t],(i=n.i-t-1)>0&&uHn(n.g,t+1,n.g,t,i),LX(n.g,--n.i,null),n.fi(t,e),n.ci(),e}function xyn(n,t){var e;return n.Db>>16==17?n.Cb.ih(n,21,GAt,t):(e=Cvn(HB(rtn(HB(kan(n,16),26)||n.zh(),n.Db>>16),18)),n.Cb.ih(n,e.n,e.f,t))}function Dyn(n){var t,e,i;for(PQ(),y$(n.c,n.a),i=new Vb(n.c);i.ae.a.c.length))throw qp(new Fy("index must be >= 0 and <= layer node count"));n.c&&k7(n.c.a,n),n.c=e,e&&jG(e.a,t,n)}function Jyn(n,t){var e,i,r;for(i=new sz(nN(fbn(n).a.Kc(),new f));gAn(i);)return e=HB(X5(i),17),new Gf(kX((r=HB(t.Kb(e),10)).n.b+r.o.b/2));return ry(),ry(),Ant}function Zyn(n,t){this.c=new Dp,this.a=n,this.b=t,this.d=HB(yMn(n,(fWn(),$lt)),304),zC(yMn(n,(qXn(),Ngt)))===zC((p7(),Ght))?this.e=new pm:this.e=new gm}function nkn(n,t){var i,r,c;for(c=0,r=new Vb(n);r.a>16==6?n.Cb.ih(n,6,FOt,t):(e=Cvn(HB(rtn(HB(kan(n,16),26)||(CXn(),kOt),n.Db>>16),18)),n.Cb.ih(n,e.n,e.f,t))}function fkn(n,t){var e;return n.Db>>16==7?n.Cb.ih(n,1,ROt,t):(e=Cvn(HB(rtn(HB(kan(n,16),26)||(CXn(),EOt),n.Db>>16),18)),n.Cb.ih(n,e.n,e.f,t))}function lkn(n,t){var e;return n.Db>>16==9?n.Cb.ih(n,9,XOt,t):(e=Cvn(HB(rtn(HB(kan(n,16),26)||(CXn(),MOt),n.Db>>16),18)),n.Cb.ih(n,e.n,e.f,t))}function bkn(n,t){var e;return n.Db>>16==5?n.Cb.ih(n,9,WAt,t):(e=Cvn(HB(rtn(HB(kan(n,16),26)||(pWn(),h$t),n.Db>>16),18)),n.Cb.ih(n,e.n,e.f,t))}function wkn(n,t){var e;return n.Db>>16==3?n.Cb.ih(n,0,HOt,t):(e=Cvn(HB(rtn(HB(kan(n,16),26)||(pWn(),i$t),n.Db>>16),18)),n.Cb.ih(n,e.n,e.f,t))}function dkn(n,t){var e;return n.Db>>16==7?n.Cb.ih(n,6,zOt,t):(e=Cvn(HB(rtn(HB(kan(n,16),26)||(pWn(),m$t),n.Db>>16),18)),n.Cb.ih(n,e.n,e.f,t))}function gkn(){this.a=new bo,this.g=new $vn,this.j=new $vn,this.b=new Dp,this.d=new $vn,this.i=new $vn,this.k=new Dp,this.c=new Dp,this.e=new Dp,this.f=new Dp}function pkn(n,t,e){var i,r,c;for(e<0&&(e=0),c=n.i,r=e;rzQn)return mkn(n,i);if(i==n)return!0}}return!1}function ykn(n){switch(RN(),n.q.g){case 5:mCn(n,(jUn(),hCt)),mCn(n,PCt);break;case 4:U$n(n,(jUn(),hCt)),U$n(n,PCt);break;default:mUn(n,(jUn(),hCt)),mUn(n,PCt)}}function kkn(n){switch(RN(),n.q.g){case 5:POn(n,(jUn(),sCt)),POn(n,CCt);break;case 4:Cpn(n,(jUn(),sCt)),Cpn(n,CCt);break;default:yUn(n,(jUn(),sCt)),yUn(n,CCt)}}function jkn(n){var t,e;(t=HB(yMn(n,(lRn(),tat)),19))?(e=t.a,fon(n,(Srn(),fat),0==e?new hbn:new C4(e))):fon(n,(Srn(),fat),new C4(1))}function Ekn(n,t){var e;switch(e=n.i,t.g){case 1:return-(n.n.b+n.o.b);case 2:return n.n.a-e.o.a;case 3:return n.n.b-e.o.b;case 4:return-(n.n.a+n.o.a)}return 0}function Tkn(n,t){switch(n.g){case 0:return t==(Mbn(),Blt)?cst:ast;case 1:return t==(Mbn(),Blt)?cst:rst;case 2:return t==(Mbn(),Blt)?rst:ast;default:return rst}}function Mkn(n,t){var i,r,c;for(k7(n.a,t),n.e-=t.r+(0==n.a.c.length?0:n.c),c=t4n,r=new Vb(n.a);r.a>16==3?n.Cb.ih(n,12,XOt,t):(e=Cvn(HB(rtn(HB(kan(n,16),26)||(CXn(),yOt),n.Db>>16),18)),n.Cb.ih(n,e.n,e.f,t))}function Pkn(n,t){var e;return n.Db>>16==11?n.Cb.ih(n,10,XOt,t):(e=Cvn(HB(rtn(HB(kan(n,16),26)||(CXn(),TOt),n.Db>>16),18)),n.Cb.ih(n,e.n,e.f,t))}function Ikn(n,t){var e;return n.Db>>16==10?n.Cb.ih(n,11,GAt,t):(e=Cvn(HB(rtn(HB(kan(n,16),26)||(pWn(),p$t),n.Db>>16),18)),n.Cb.ih(n,e.n,e.f,t))}function Ckn(n,t){var e;return n.Db>>16==10?n.Cb.ih(n,12,YAt,t):(e=Cvn(HB(rtn(HB(kan(n,16),26)||(pWn(),y$t),n.Db>>16),18)),n.Cb.ih(n,e.n,e.f,t))}function Okn(n){var t;return 0==(1&n.Bb)&&n.r&&n.r.kh()&&(t=HB(n.r,49),n.r=HB(efn(n,t),138),n.r!=t&&0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new tU(n,9,8,t,n.r))),n.r}function Akn(n,t,i){var r;return r=Iun(zk(DNt,1),GQn,25,15,[rMn(n,(Rtn(),zit),t,i),rMn(n,Uit,t,i),rMn(n,Xit,t,i)]),n.f&&(r[0]=e.Math.max(r[0],r[2]),r[2]=r[0]),r}function $kn(n,t){var e,i,r;if(0!=(r=Jvn(n,t)).c.length)for(y$(r,new ei),e=r.c.length,i=0;i>19)!=(u=t.h>>19)?u-a:(i=n.h)!=(c=t.h)?i-c:(e=n.m)!=(r=t.m)?e-r:n.l-t.l}function Fkn(){Fkn=A,eRn(),Iit=new LO(XYn,Cit=Dit),Knn(),Sit=new LO(WYn,Pit=yit),fpn(),Tit=new LO(VYn,Mit=git),Eit=new LO(QYn,(fN(),!0))}function Bkn(n,t,e){var i,r;i=t*e,aL(n.g,145)?(r=l3(n)).f.d?r.f.a||(n.d.a+=i+lJn):(n.d.d-=i+lJn,n.d.a+=i+lJn):aL(n.g,10)&&(n.d.d-=i,n.d.a+=2*i)}function Hkn(n,t,i){var r,c,a,u,o;for(c=n[i.g],o=new Vb(t.d);o.a0?n.g:0),++i;t.b=r,t.e=c}function Gkn(n){var t,e,i;if(i=n.b,GT(n.i,i.length)){for(e=2*i.length,n.b=D8(znt,CVn,317,e,0,1),n.c=D8(znt,CVn,317,e,0,1),n.f=e-1,n.i=0,t=n.a;t;t=t.c)JIn(n,t,t);++n.g}}function zkn(n,t,e,i){var r,c,a,u;for(r=0;ru&&(o=u/r),(c=e.Math.abs(n.b))>a&&(s=a/c),jL(n,e.Math.min(o,s)),n}function Wkn(){var n,t;GBn();try{if(t=HB(Wjn((VM(),UAt),k6n),2014))return t}catch(e){if(!aL(e=bun(e),102))throw qp(e);n=e,oz((o$(),n))}return new uo}function Vkn(){var n,t;g7();try{if(t=HB(Wjn((VM(),UAt),P7n),2024))return t}catch(e){if(!aL(e=bun(e),102))throw qp(e);n=e,oz((o$(),n))}return new Rs}function Qkn(){var n,t;GBn();try{if(t=HB(Wjn((VM(),UAt),Q9n),1941))return t}catch(e){if(!aL(e=bun(e),102))throw qp(e);n=e,oz((o$(),n))}return new Go}function Ykn(n,t,e){var i,r;return r=n.e,n.e=t,0!=(4&n.Db)&&0==(1&n.Db)&&(i=new tU(n,1,4,r,t),e?e.Ei(i):e=i),r!=t&&(e=uzn(n,t?jLn(n,t):n.a,e)),e}function Jkn(){$T.call(this),this.e=-1,this.a=!1,this.p=FVn,this.k=-1,this.c=-1,this.b=-1,this.g=!1,this.f=-1,this.j=-1,this.n=-1,this.i=-1,this.d=-1,this.o=FVn}function Zkn(n,t){var e,i,r;if(i=n.b.d.d,n.a||(i+=n.b.d.a),r=t.b.d.d,t.a||(r+=t.b.d.a),0==(e=Iln(i,r))){if(!n.a&&t.a)return-1;if(!t.a&&n.a)return 1}return e}function njn(n,t){var e,i,r;if(i=n.b.b.d,n.a||(i+=n.b.b.a),r=t.b.b.d,t.a||(r+=t.b.b.a),0==(e=Iln(i,r))){if(!n.a&&t.a)return-1;if(!t.a&&n.a)return 1}return e}function tjn(n,t){var e,i,r;if(i=n.b.g.d,n.a||(i+=n.b.g.a),r=t.b.g.d,t.a||(r+=t.b.g.a),0==(e=Iln(i,r))){if(!n.a&&t.a)return-1;if(!t.a&&n.a)return 1}return e}function ejn(){ejn=A,xat=VG(gq(gq(gq(new H2,(kMn(),Bat),(bWn(),kot)),Bat,Mot),Hat,$ot),Hat,sot),Rat=gq(gq(new H2,Bat,Zut),Bat,hot),Dat=VG(new H2,Hat,lot)}function ijn(n){var t,e,i,r,c;for(t=HB(yMn(n,(fWn(),Uft)),83),c=n.n,i=t.Cc().Kc();i.Ob();)(r=(e=HB(i.Pb(),306)).i).c+=c.a,r.d+=c.b,e.c?xDn(e):DDn(e);fon(n,Uft,null)}function rjn(n,t,e){var i,r;switch(i=(r=n.b).d,t.g){case 1:return-i.d-e;case 2:return r.o.a+i.c+e;case 3:return r.o.b+i.a+e;case 4:return-i.b-e;default:return-1}}function cjn(n){var t,e,i,r,c;if(i=0,r=nZn,n.b)for(t=0;t<360;t++)e=.017453292519943295*t,XKn(n,n.d,0,0,n4n,e),(c=n.b.ig(n.d))0&&(r=uOn(n,(c&RWn)%n.d.length,c,t))?r.ed(e):(i=n.tj(c,t,e),n.c.Fc(i),null)}function yjn(n,t){var e,i,r,c;switch(Cfn(n,t)._k()){case 3:case 2:for(r=0,c=(e=JBn(t)).i;r=0;r--)if(yK(n[r].d,t)||yK(n[r].d,i)){n.length>=r+1&&n.splice(0,r+1);break}return n}function Ajn(n,t){var i;return ZO(n)&&ZO(t)&&LQn<(i=n/t)&&i0&&(n.b+=2,n.a+=r):(n.b+=1,n.a+=e.Math.min(r,c))}function _jn(n,t){var e;if(e=!1,WC(t)&&(e=!0,tW(n,new zX(PD(t)))),e||aL(t,236)&&(e=!0,tW(n,new Pl(WK(HB(t,236))))),!e)throw qp(new Ny(q6n))}function Fjn(n,t,e,i){var r,c,a;return r=new x7(n.e,1,10,aL(a=t.c,88)?HB(a,26):(pWn(),g$t),aL(c=e.c,88)?HB(c,26):(pWn(),g$t),ovn(n,t),!1),i?i.Ei(r):i=r,i}function Bjn(n){var t,e;switch(HB(yMn(mW(n),(qXn(),vgt)),420).g){case 0:return t=n.n,e=n.o,new DI(t.a+e.a/2,t.b+e.b/2);case 1:return new dA(n.n);default:return null}}function Hjn(){Hjn=A,Yht=new $P(YZn,0),Qht=new $P("LEFTUP",1),Zht=new $P("RIGHTUP",2),Vht=new $P("LEFTDOWN",3),Jht=new $P("RIGHTDOWN",4),Wht=new $P("BALANCED",5)}function qjn(n,t,e){var i,r,c;if(0==(i=Iln(n.a[t.p],n.a[e.p]))){if(r=HB(yMn(t,(fWn(),alt)),15),c=HB(yMn(e,alt),15),r.Hc(e))return-1;if(c.Hc(t))return 1}return i}function Gjn(n){switch(n.g){case 1:return new Fa;case 2:return new Ba;case 3:return new _a;case 0:return null;default:throw qp(new Fy(a4n+(null!=n.f?n.f:""+n.g)))}}function zjn(n,t,e){switch(t){case 1:return!n.n&&(n.n=new iU(UOt,n,1,7)),hqn(n.n),!n.n&&(n.n=new iU(UOt,n,1,7)),void vX(n.n,HB(e,14));case 2:return void Lin(n,PD(e))}csn(n,t,e)}function Ujn(n,t,e){switch(t){case 3:return void Sen(n,zy(SD(e)));case 4:return void Pen(n,zy(SD(e)));case 5:return void Ien(n,zy(SD(e)));case 6:return void Cen(n,zy(SD(e)))}zjn(n,t,e)}function Xjn(n,t,e){var i,r;(i=qTn(r=new Nm,t,null))&&i.Fi(),xrn(r,e),l9((!n.c&&(n.c=new iU(JAt,n,12,10)),n.c),r),Nen(r,0),xen(r,1),tln(r,!0),Jfn(r,!0)}function Wjn(n,t){var e,i;return aL(e=fS(n.g,t),235)?((i=HB(e,235)).Qh(),i.Nh()):aL(e,498)?i=HB(e,1938).b:null}function Vjn(n,t,e,i){var r,c;return kX(t),kX(e),K7(!!(c=HB(XK(n.d,t),19)),"Row %s not in %s",t,n.e),K7(!!(r=HB(XK(n.b,e),19)),"Column %s not in %s",e,n.c),Pun(n,c.a,r.a,i)}function Qjn(n,t,e,i,r,c,a){var u,o,s,h,f;if(f=Hmn(u=(s=c==a-1)?i:0,h=r[c]),10!=i&&Iun(zk(n,a-c),t[c],e[c],u,f),!s)for(++c,o=0;o1||-1==u?(c=HB(o,15),r.Wb(Wdn(n,c))):r.Wb(e_n(n,HB(o,56))))}function fEn(n,t,e,i){JE();var r=IWn;function c(){for(var n=0;nR3n)return e;i>-1e-6&&++e}return e}function jEn(n,t){var e;t!=n.b?(e=null,n.b&&(e=sJ(n.b,n,-4,e)),t&&(e=xpn(t,n,-4,e)),(e=nfn(n,t,e))&&e.Fi()):0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new tU(n,1,3,t,t))}function EEn(n,t){var e;t!=n.f?(e=null,n.f&&(e=sJ(n.f,n,-1,e)),t&&(e=xpn(t,n,-1,e)),(e=tfn(n,t,e))&&e.Fi()):0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new tU(n,1,0,t,t))}function TEn(n){var t,e,i;if(null==n)return null;if((e=HB(n,15)).dc())return"";for(i=new Pk,t=e.Kc();t.Ob();)aO(i,(Xqn(),PD(t.Pb()))),i.a+=" ";return _O(i,i.a.length-1)}function MEn(n){var t,e,i;if(null==n)return null;if((e=HB(n,15)).dc())return"";for(i=new Pk,t=e.Kc();t.Ob();)aO(i,(Xqn(),PD(t.Pb()))),i.a+=" ";return _O(i,i.a.length-1)}function SEn(n,t,e){var i,r;return i=n.c[t.c.p][t.p],r=n.c[e.c.p][e.p],null!=i.a&&null!=r.a?Mz(i.a,r.a):null!=i.a?-1:null!=r.a?1:0}function PEn(n,t){var e,i,r;if(t)for(r=((e=new fz(t.a.length)).b-e.a)*e.c<0?(iS(),SNt):new WL(e);r.Ob();)i=D2(t,HB(r.Pb(),19).a),AV(new Hg(n).a,i)}function IEn(n,t){var e,i,r;if(t)for(r=((e=new fz(t.a.length)).b-e.a)*e.c<0?(iS(),SNt):new WL(e);r.Ob();)i=D2(t,HB(r.Pb(),19).a),OV(new Lg(n).a,i)}function CEn(n){if(null!=n&&n.length>0&&33==lV(n,n.length-1))try{return null==JPn(lx(n,0,n.length-1)).e}catch(t){if(!aL(t=bun(t),32))throw qp(t)}return!1}function OEn(n,t,e){var i,r,c;return i=t.ak(),c=t.dd(),r=i.$j()?NY(n,3,i,null,c,vBn(n,i,c,aL(i,99)&&0!=(HB(i,18).Bb&HQn)),!0):NY(n,1,i,i.zj(),c,-1,!0),e?e.Ei(r):e=r,e}function AEn(){var n,t,e;for(t=0,n=0;n<1;n++){if(0==(e=YOn((w1(n,1),"X".charCodeAt(n)))))throw qp(new uk("Unknown Option: "+"X".substr(n)));t|=e}return t}function $En(n,t,e){var i,r;switch(i=Vln(mW(t)),CZ(r=new CSn,t),e.g){case 1:GIn(r,Mln(fwn(i)));break;case 2:GIn(r,fwn(i))}return fon(r,(qXn(),ept),SD(yMn(n,ept))),r}function LEn(n){var t,e;return t=HB(X5(new sz(nN(lbn(n.a).a.Kc(),new f))),17),e=HB(X5(new sz(nN(bbn(n.a).a.Kc(),new f))),17),Gy(MD(yMn(t,(fWn(),Clt))))||Gy(MD(yMn(e,Clt)))}function NEn(){NEn=A,Sst=new kP("ONE_SIDE",0),Ist=new kP("TWO_SIDES_CORNER",1),Cst=new kP("TWO_SIDES_OPPOSING",2),Pst=new kP("THREE_SIDES",3),Mst=new kP("FOUR_SIDES",4)}function xEn(n,t,e,i,r){var c,a;c=HB(I4($V(t.Oc(),new nc),y9(new q,new H,new cn,Iun(zk(tit,1),LVn,132,0,[(Gsn(),Xet)]))),15),a=HB(pan(n.b,e,i),15),0==r?a.Wc(0,c):a.Gc(c)}function DEn(n,t){var e,i,r;for(i=new Vb(t.a);i.a0&&Fyn(this,this.c-1,(jUn(),sCt)),this.c0&&n[0].length>0&&(this.c=Gy(MD(yMn(mW(n[0][0]),(fWn(),ult))))),this.a=D8(Imt,hVn,2018,n.length,0,2),this.b=D8(Nmt,hVn,2019,n.length,0,2),this.d=new Mhn}function WEn(n){return 0!=n.c.length&&((b1(0,n.c.length),HB(n.c[0],17)).c.i.k==(oSn(),Iut)||s5(LV(new Kq(null,new d1(n,16)),new _c),new Fc))}function VEn(n,t,e){return ATn(e,"Tree layout",1),f2(n.b),CU(n.b,(Uyn(),Kyt),Kyt),CU(n.b,_yt,_yt),CU(n.b,Fyt,Fyt),CU(n.b,Byt,Byt),n.a=Lqn(n.b,t),bxn(n,t,ycn(e,1)),qSn(e),t}function QEn(n,t){var i,r,c,a,u,o;for(u=dDn(t),c=t.f,o=t.g,a=e.Math.sqrt(c*c+o*o),r=0,i=new Vb(u);i.a=0?(e=Ajn(n,$Qn),i=bdn(n,$Qn)):(e=Ajn(t=Ez(n,1),5e8),i=cbn(kz(i=bdn(t,5e8),1),i0(n,1))),r0(kz(i,32),i0(e,XQn))}function bTn(n,t,e){var i;switch(Ix(0!=t.b),i=HB($tn(t,t.a.a),8),e.g){case 0:i.b=0;break;case 2:i.b=n.f;break;case 3:i.a=0;break;default:i.a=n.g}return tX(hpn(t,0),i),t}function wTn(n,t,e,i){var r,c,a,u,o;switch(o=n.b,u=Ugn(a=(c=t.d).j,o.d[a.g],e),r=XR(H$(c.n),c.a),c.j.g){case 1:case 3:u.a+=r.a;break;case 2:case 4:u.b+=r.b}c5(i,u,i.c.b,i.c)}function dTn(n,t,e){var i,r,c,a;for(a=T7(n.e,t,0),(c=new cm).b=e,i=new S2(n.e,a);i.b1;t>>=1)0!=(1&t)&&(i=xnn(i,e)),e=1==e.d?xnn(e,e):new Cgn(O_n(e.a,e.d,D8($Nt,fQn,25,e.d<<1,15,1)));return i=xnn(i,e)}function kTn(){var n,t,e,i;for(kTn=A,Aet=D8(DNt,GQn,25,25,15,1),$et=D8(DNt,GQn,25,33,15,1),i=152587890625e-16,t=32;t>=0;t--)$et[t]=i,i*=.5;for(e=1,n=24;n>=0;n--)Aet[n]=e,e*=.5}function jTn(n){var t,e;if(Gy(MD(n$n(n,(qXn(),dgt)))))for(e=new sz(nN(gLn(n).a.Kc(),new f));gAn(e);)if(YCn(t=HB(X5(e),79))&&Gy(MD(n$n(t,ggt))))return!0;return!1}function ETn(n,t){var e,i,r;MU(n.f,t)&&(t.b=n,i=t.c,-1!=T7(n.j,i,0)||VB(n.j,i),r=t.d,-1!=T7(n.j,r,0)||VB(n.j,r),0!=(e=t.a.b).c.length&&(!n.i&&(n.i=new ipn(n)),man(n.i,e)))}function TTn(n){var t,e,i,r;return(e=(t=n.c.d).j)==(r=(i=n.d.d).j)?t.p=0&&yK(n.substr(t,3),"GMT")||t>=0&&yK(n.substr(t,3),"UTC")?(e[0]=t+3,k_n(n,e,i)):k_n(n,e,i)}function OTn(n,t){var e,i,r,c,a;for(c=n.g.a,a=n.g.b,i=new Vb(n.d);i.ae;c--)n[c]|=t[c-e-1]>>>a,n[c-1]=t[c-e-1]<=n.f)break;c.c[c.c.length]=e}return c}function FTn(n){var t,e,i,r;for(t=null,r=new Vb(n.wf());r.a0&&uHn(n.g,t,n.g,t+i,u),a=e.Kc(),n.i+=i,r=0;rc&&hU(s,utn(e[u],Met))&&(r=u,c=o);return r>=0&&(i[0]=t+c),r}function XTn(n,t){var e;if(0!=(e=JO(n.b.Hf(),t.b.Hf())))return e;switch(n.b.Hf().g){case 1:case 2:return T$(n.b.sf(),t.b.sf());case 3:case 4:return T$(t.b.sf(),n.b.sf())}return 0}function WTn(n){var t,e,i;for(i=n.e.c.length,n.a=jq($Nt,[hVn,fQn],[48,25],15,[i,i],2),e=new Vb(n.c);e.a>4&15,c=15&n[i],a[r++]=AOt[e],a[r++]=AOt[c];return Hdn(a,0,a.length)}function YTn(n,t,e){var i,r,c;return i=t.ak(),c=t.dd(),r=i.$j()?NY(n,4,i,c,null,vBn(n,i,c,aL(i,99)&&0!=(HB(i,18).Bb&HQn)),!0):NY(n,i.Kj()?2:1,i,c,i.zj(),-1,!0),e?e.Ei(r):e=r,e}function JTn(n){var t,e;return n>=HQn?(t=qQn+(n-HQn>>10&1023)&YVn,e=56320+(n-HQn&1023)&YVn,String.fromCharCode(t)+""+String.fromCharCode(e)):String.fromCharCode(n&YVn)}function ZTn(n,t){var e,i,r,c;return GD(),(r=HB(HB(f6(n.r,t),21),84)).gc()>=2&&(i=HB(r.Kc().Pb(),111),e=n.u.Hc((bCn(),eCt)),c=n.u.Hc(aCt),!i.a&&!e&&(2==r.gc()||c))}function nMn(n,t,e,i,r){var c,a,u;for(c=iDn(n,t,e,i,r),u=!1;!c;)T$n(n,r,!0),u=!0,c=iDn(n,t,e,i,r);u&&T$n(n,r,!1),0!=(a=Run(r)).c.length&&(n.d&&n.d.lg(a),nMn(n,r,e,i,a))}function tMn(){tMn=A,uIt=new HI(YZn,0),cIt=new HI("DIRECTED",1),oIt=new HI("UNDIRECTED",2),iIt=new HI("ASSOCIATION",3),aIt=new HI("GENERALIZATION",4),rIt=new HI("DEPENDENCY",5)}function eMn(n,t){var e;if(!VJ(n))throw qp(new By(B5n));switch(e=VJ(n),t.g){case 1:return-(n.j+n.f);case 2:return n.i-e.g;case 3:return n.j-e.f;case 4:return-(n.i+n.g)}return 0}function iMn(n,t){var e,i;for(jW(t),i=n.b.c.length,VB(n.b,t);i>0;){if(e=i,i=(i-1)/2|0,n.a.ue(Dq(n.b,i),t)<=0)return a5(n.b,e,t),!0;a5(n.b,e,Dq(n.b,i))}return a5(n.b,i,t),!0}function rMn(n,t,i,r){var c,a;if(c=0,i)c=yhn(n.a[i.g][t.g],r);else for(a=0;a=a)}function aMn(n,t,e,i){var r;if(r=!1,WC(i)&&(r=!0,$H(t,e,PD(i))),r||UC(i)&&(r=!0,aMn(n,t,e,i)),r||aL(i,236)&&(r=!0,GQ(t,e,HB(i,236))),!r)throw qp(new Ny(q6n))}function uMn(n,t){var e,i,r;if((e=t.Hh(n.a))&&null!=(r=adn((!e.b&&(e.b=new Zx((pWn(),j$t),W$t,e)),e.b),B9n)))for(i=1;i<(OPn(),J$t).length;++i)if(yK(J$t[i],r))return i;return 0}function oMn(n,t){var e,i,r;if((e=t.Hh(n.a))&&null!=(r=adn((!e.b&&(e.b=new Zx((pWn(),j$t),W$t,e)),e.b),B9n)))for(i=1;i<(OPn(),Z$t).length;++i)if(yK(Z$t[i],r))return i;return 0}function sMn(n,t){var e,i,r,c;if(jW(t),(c=n.a.gc())0?1:0;c.a[r]!=e;)c=c.a[r],r=n.a.ue(e.d,c.d)>0?1:0;c.a[r]=i,i.b=e.b,i.a[0]=e.a[0],i.a[1]=e.a[1],e.a[0]=null,e.a[1]=null}function dMn(n){return bCn(),!(Can(AJ(TG(iCt,Iun(zk(OCt,1),LVn,273,0,[cCt])),n))>1||Can(AJ(TG(eCt,Iun(zk(OCt,1),LVn,273,0,[tCt,aCt])),n))>1)}function gMn(n,t){aL(PJ((VM(),UAt),n),498)?yZ(UAt,n,new AC(this,t)):yZ(UAt,n,this),rSn(this,t),t==(rE(),t$t)?(this.wb=HB(this,1939),HB(t,1941)):this.wb=(YX(),e$t)}function pMn(n){var t,e;if(null==n)return null;for(t=null,e=0;e=QVn?"error":i>=900?"warn":i>=800?"info":"log",n.a),n.b&&DNn(t,e,n.b,"Exception: ",!0))}function yMn(n,t){var e,i;return!n.q&&(n.q=new Dp),null!=(i=KX(n.q,t))?i:(aL(e=t.wg(),4)&&(null==e?(!n.q&&(n.q=new Dp),m6(n.q,t)):(!n.q&&(n.q=new Dp),QW(n.q,t,e))),e)}function kMn(){kMn=A,Kat=new QS("P1_CYCLE_BREAKING",0),_at=new QS("P2_LAYERING",1),Fat=new QS("P3_NODE_ORDERING",2),Bat=new QS("P4_NODE_PLACEMENT",3),Hat=new QS("P5_EDGE_ROUTING",4)}function jMn(n,t){var e,i,r,c;for(i=(1==t?Vat:Wat).a.ec().Kc();i.Ob();)for(e=HB(i.Pb(),103),c=HB(f6(n.f.c,e),21).Kc();c.Ob();)r=HB(c.Pb(),46),k7(n.b.b,r.b),k7(n.b.a,HB(r.b,81).d)}function EMn(n,t){var e;if(Rnn(),n.c==t.c){if(n.b==t.b||fcn(n.b,t.b)){if(e=nA(n.b)?1:-1,n.a&&!t.a)return e;if(!n.a&&t.a)return-e}return T$(n.b.g,t.b.g)}return Iln(n.c,t.c)}function TMn(n,t){var e;ATn(t,"Hierarchical port position processing",1),(e=n.b).c.length>0&&r_n((b1(0,e.c.length),HB(e.c[0],29)),n),e.c.length>1&&r_n(HB(Dq(e,e.c.length-1),29),n),qSn(t)}function MMn(n,t){var e,i;if(xMn(n,t))return!0;for(i=new Vb(t);i.a=(r=n.Vi())||t<0)throw qp(new $y(o8n+t+s8n+r));if(e>=r||e<0)throw qp(new $y(h8n+e+s8n+r));return t!=e?(c=n.Ti(e),n.Hi(t,c),i=c):i=n.Oi(e),i}function LMn(n){var t,e,i;if(i=n,n)for(t=0,e=n.Ug();e;e=e.Ug()){if(++t>zQn)return LMn(e);if(i=e,e==n)throw qp(new By("There is a cycle in the containment hierarchy of "+n))}return i}function NMn(n){var t,e,i;for(i=new Lan(BWn,"[","]"),e=n.Kc();e.Ob();)w6(i,zC(t=e.Pb())===zC(n)?"(this Collection)":null==t?UWn:Hbn(t));return i.a?0==i.e.length?i.a.a:i.a.a+""+i.e:i.c}function xMn(n,t){var e,i;if(i=!1,t.gc()<2)return!1;for(e=0;ei&&(w1(t-1,n.length),n.charCodeAt(t-1)<=32);)--t;return i>0||t1&&(n.j.b+=n.e)):(n.j.a+=i.a,n.j.b=e.Math.max(n.j.b,i.b),n.d.c.length>1&&(n.j.a+=n.e))}function FMn(){FMn=A,Lst=Iun(zk(BCt,1),JZn,61,0,[(jUn(),hCt),sCt,PCt]),$st=Iun(zk(BCt,1),JZn,61,0,[sCt,PCt,CCt]),Nst=Iun(zk(BCt,1),JZn,61,0,[PCt,CCt,hCt]),xst=Iun(zk(BCt,1),JZn,61,0,[CCt,hCt,sCt])}function BMn(n,t,e,i){var r,c,a,u,o;if(c=n.c.d,a=n.d.d,c.j!=a.j)for(o=n.b,r=c.j,u=null;r!=a.j;)u=0==t?Sln(r):Tln(r),RH(i,XR(Ugn(r,o.d[r.g],e),Ugn(u,o.d[u.g],e))),r=u}function HMn(n,t,e,i){var r,c,a,u,o;return u=HB((a=Gyn(n.a,t,e)).a,19).a,c=HB(a.b,19).a,i&&(o=HB(yMn(t,(fWn(),Tlt)),10),r=HB(yMn(e,Tlt),10),o&&r&&(e4(n.b,o,r),u+=n.b.i,c+=n.b.e)),u>c}function qMn(n){var t,e,i,r,c,a,u,o;for(this.a=cvn(n),this.b=new xp,i=0,r=(e=n).length;iBD(n.d).c?(n.i+=n.g.c,pdn(n.d)):BD(n.d).c>BD(n.g).c?(n.e+=n.d.c,pdn(n.g)):(n.i+=Gq(n.g),n.e+=Gq(n.d),pdn(n.g),pdn(n.d))}function XMn(n,t,e){var i,r,c,a;for(c=t.q,a=t.r,new UZ((A6(),Myt),t,c,1),new UZ(Myt,c,a,1),r=new Vb(e);r.ao&&(s=o/r),(c=e.Math.abs(t.b-n.b))>a&&(h=a/c),u=e.Math.min(s,h),n.a+=u*(t.a-n.a),n.b+=u*(t.b-n.b)}function tSn(n,t,e,i,r){var c,a;for(a=!1,c=HB(Dq(e.b,0),33);fBn(n,t,c,i,r)&&(a=!0,aEn(e,c),0!=e.b.c.length);)c=HB(Dq(e.b,0),33);return 0==e.b.c.length&&Mkn(e.j,e),a&&zmn(t.q),a}function eSn(n,t){var e,i,r,c;if(EDn(),t.b<2)return!1;for(i=e=HB(w3(c=hpn(t,0)),8);c.b!=c.d.c;){if(aNn(n,i,r=HB(w3(c),8)))return!0;i=r}return!!aNn(n,i,e)}function iSn(n,t,e,i){return 0==e?(!n.o&&(n.o=new k9((CXn(),SOt),cAt,n,0)),HK(n.o,t,i)):HB(rtn(HB(kan(n,16),26)||n.zh(),e),66).Nj().Rj(n,lgn(n),e-wX(n.zh()),t,i)}function rSn(n,t){var e;t!=n.sb?(e=null,n.sb&&(e=HB(n.sb,49).ih(n,1,qOt,e)),t&&(e=HB(t,49).gh(n,1,qOt,e)),(e=Efn(n,t,e))&&e.Fi()):0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new tU(n,1,4,t,t))}function cSn(n,t){var e,i;if(!t)throw qp(new ik("All edge sections need an end point."));e=Ken(t,"x"),Men(new _g(n).a,(jW(e),e)),i=Ken(t,"y"),Aen(new Fg(n).a,(jW(i),i))}function aSn(n,t){var e,i;if(!t)throw qp(new ik("All edge sections need a start point."));e=Ken(t,"x"),Oen(new Dg(n).a,(jW(e),e)),i=Ken(t,"y"),$en(new Rg(n).a,(jW(i),i))}function uSn(n,t){var e,i,r,c,a;for(i=0,c=vsn(n).length;i>22-t,r=n.h<>22-t):t<44?(e=0,i=n.l<>44-t):(e=0,i=0,r=n.l<n)throw qp(new Fy("k must be smaller than n"));return 0==t||t==n?1:0==n?0:Sjn(n)/(Sjn(t)*Sjn(n-t))}function mSn(n,t){var e,i,r,c;for(e=new AA(n);null!=e.g||e.c?null==e.g||0!=e.i&&HB(e.g[e.i-1],47).Ob():eZ(e);)if(aL(c=HB(uLn(e),56),160))for(i=HB(c,160),r=0;r>4],t[2*e+1]=JLt[15&r];return Hdn(t,0,t.length)}function xSn(n){var t;switch(tV(),n.c.length){case 0:return Hnt;case 1:return OH((t=HB(ZIn(new Vb(n)),42)).cd(),t.dd());default:return new fy(HB(Ygn(n,D8(qnt,jVn,42,n.c.length,0,1)),165))}}function DSn(n){var t,e,i,r,c;for(t=new Np,e=new Np,g3(t,n),g3(e,n);e.b!=e.c;)for(c=new Vb(HB(gU(e),37).a);c.a0&&oKn(n,e,t),r):OOn(n,t,e)}function FSn(n,t,e){var i,r,c,a;if(0!=t.b){for(i=new JT,a=hpn(t,0);a.b!=a.d.c;)Brn(i,Dun(c=HB(w3(a),86))),(r=c.e).a=HB(yMn(c,(Gqn(),pkt)),19).a,r.b=HB(yMn(c,vkt),19).a;FSn(n,i,ycn(e,i.b/n.a|0))}}function BSn(n,t){var e,i,r,c,a;if(n.e<=t)return n.g;if(U1(n,n.g,t))return n.g;for(c=n.r,i=n.g,a=n.r,r=(c-i)/2+i;i+11&&(n.e.b+=n.a)):(n.e.a+=i.a,n.e.b=e.Math.max(n.e.b,i.b),n.d.c.length>1&&(n.e.a+=n.a))}function WSn(n){var t,e,i,r;switch(t=(r=n.i).b,i=r.j,e=r.g,r.a.g){case 0:e.a=(n.g.b.o.a-i.a)/2;break;case 1:e.a=t.d.n.a+t.d.a.a;break;case 2:e.a=t.d.n.a+t.d.a.a-i.a;break;case 3:e.b=t.d.n.b+t.d.a.b}}function VSn(n,t,e,i,r){if(ii&&(n.a=i),n.br&&(n.b=r),n}function QSn(n){if(aL(n,149))return SNn(HB(n,149));if(aL(n,229))return nwn(HB(n,229));if(aL(n,23))return fSn(HB(n,23));throw qp(new Fy(U6n+NMn(new Zy(Iun(zk($nt,1),qWn,1,5,[n])))))}function YSn(n,t,e,i,r){var c,a,u;for(c=!0,a=0;a>>r|e[a+i+1]<>>r,++a}return c}function JSn(n,t,e,i){var r,c;if(t.k==(oSn(),Iut))for(c=new sz(nN(lbn(t).a.Kc(),new f));gAn(c);)if((r=HB(X5(c),17)).c.i.k==Iut&&n.c.a[r.c.i.c.p]==i&&n.c.a[t.c.p]==e)return!0;return!1}function ZSn(n,t){var e,i,r,c;return t&=63,e=n.h&IQn,t<22?(c=e>>>t,r=n.m>>t|e<<22-t,i=n.l>>t|n.m<<22-t):t<44?(c=0,r=e>>>t-22,i=n.m>>t-22|n.h<<44-t):(c=0,r=0,i=e>>>t-44),S$(i&PQn,r&PQn,c&IQn)}function nPn(n,t,e,i){var r;this.b=i,this.e=n==(sin(),$mt),r=t[e],this.d=jq(LNt,[hVn,nJn],[177,25],16,[r.length,r.length],2),this.a=jq($Nt,[hVn,fQn],[48,25],15,[r.length,r.length],2),this.c=new UEn(t,e)}function tPn(n){var t,e,i;for(n.k=new s1((jUn(),Iun(zk(BCt,1),JZn,61,0,[ICt,hCt,sCt,PCt,CCt])).length,n.j.c.length),i=new Vb(n.j);i.a=e)return fPn(n,t,i.p),!0;return!1}function aPn(n){var t;return 0!=(64&n.Db)?ySn(n):(t=new bN(n6n),!n.a||sO(sO((t.a+=' "',t),n.a),'"'),sO(jE(sO(jE(sO(jE(sO(jE((t.a+=" (",t),n.i),","),n.j)," | "),n.g),","),n.f),")"),t.a)}function uPn(n,t,e){var i,r,c,a,u;for(u=uxn(n.e.Tg(),t),r=HB(n.g,119),i=0,a=0;ae?gIn(n,e,"start index"):t<0||t>e?gIn(t,e,"end index"):LRn("end index (%s) must not be less than start index (%s)",Iun(zk($nt,1),qWn,1,5,[rln(t),rln(n)]))}function hPn(n,t){var e,i,r,c;for(i=0,r=n.length;i0&&bPn(n,c,e));t.p=0}function wPn(n){var t;this.c=new JT,this.f=n.e,this.e=n.d,this.i=n.g,this.d=n.c,this.b=n.b,this.k=n.j,this.a=n.a,n.i?this.j=n.i:this.j=new JK(t=HB(Qj(EMt),9),HB(PR(t,t.length),9),0),this.g=n.f}function dPn(n){var t,e,i,r;for(t=DX(sO(new bN("Predicates."),"and"),40),e=!0,r=new Pb(n);r.b0?u[a-1]:D8(Aut,u1n,10,0,0,1),r=u[a],s=a=0?n.Bh(r):aCn(n,i)}else Gfn(n,e,i)}function kPn(n){var t,e;if(e=null,t=!1,aL(n,204)&&(t=!0,e=HB(n,204).a),t||aL(n,258)&&(t=!0,e=""+HB(n,258).a),t||aL(n,483)&&(t=!0,e=""+HB(n,483).a),!t)throw qp(new Ny(q6n));return e}function jPn(n,t){var e,i;if(n.f){for(;t.Ob();)if(aL(i=(e=HB(t.Pb(),72)).ak(),99)&&0!=(HB(i,18).Bb&f6n)&&(!n.e||i.Gj()!=xOt||0!=i.aj())&&null!=e.dd())return t.Ub(),!0;return!1}return t.Ob()}function EPn(n,t){var e,i;if(n.f){for(;t.Sb();)if(aL(i=(e=HB(t.Ub(),72)).ak(),99)&&0!=(HB(i,18).Bb&f6n)&&(!n.e||i.Gj()!=xOt||0!=i.aj())&&null!=e.dd())return t.Pb(),!0;return!1}return t.Sb()}function TPn(n,t,e){var i,r,c,a,u,o;for(o=uxn(n.e.Tg(),t),i=0,u=n.i,r=HB(n.g,119),a=0;a1&&(t.c[t.c.length]=c)}function PPn(n){var t,e,i;for(Brn(e=new JT,n.o),i=new sm;0!=e.b;)VUn(n,t=HB(0==e.b?null:(Ix(0!=e.b),$tn(e,e.a.a)),508),!0)&&VB(i.a,t);for(;0!=i.a.c.length;)VUn(n,t=HB(ehn(i),508),!1)}function IPn(){IPn=A,jMt=new LI(fJn,0),dMt=new LI("BOOLEAN",1),mMt=new LI("INT",2),kMt=new LI("STRING",3),gMt=new LI("DOUBLE",4),pMt=new LI("ENUM",5),vMt=new LI("ENUMSET",6),yMt=new LI("OBJECT",7)}function CPn(n,t){var i,r,c,a,u;r=e.Math.min(n.c,t.c),a=e.Math.min(n.d,t.d),(c=e.Math.max(n.c+n.b,t.c+t.b))=(r/2|0))for(this.e=i?i.c:null,this.d=r;e++0;)TZ(this);this.b=t,this.a=null}function FPn(n,t){var e,i;t.a?UNn(n,t):(!!(e=HB(jK(n.b,t.b),57))&&e==n.a[t.b.f]&&!!e.a&&e.a!=t.b.a&&e.c.Fc(t.b),!!(i=HB(kK(n.b,t.b),57))&&n.a[i.f]==t.b&&!!i.a&&i.a!=t.b.a&&t.b.c.Fc(i),SN(n.b,t.b))}function BPn(n,t){var e,i;if(e=HB(sV(n.b,t),124),HB(HB(f6(n.r,t),21),84).dc())return e.n.b=0,void(e.n.c=0);e.n.b=n.C.b,e.n.c=n.C.c,n.A.Hc((ydn(),FCt))&&kRn(n,t),i=Wpn(n,t),IDn(n,t)==(apn(),HIt)&&(i+=2*n.w),e.a.a=i}function HPn(n,t){var e,i;if(e=HB(sV(n.b,t),124),HB(HB(f6(n.r,t),21),84).dc())return e.n.d=0,void(e.n.a=0);e.n.d=n.C.d,e.n.a=n.C.a,n.A.Hc((ydn(),FCt))&&jRn(n,t),i=Vpn(n,t),IDn(n,t)==(apn(),HIt)&&(i+=2*n.w),e.a.b=i}function qPn(n,t){var e,i,r,c;for(c=new xp,i=new Vb(t);i.ae.a&&(i.Hc((dEn(),VMt))?r=(t.a-e.a)/2:i.Hc(YMt)&&(r=t.a-e.a)),t.b>e.b&&(i.Hc((dEn(),ZMt))?c=(t.b-e.b)/2:i.Hc(JMt)&&(c=t.b-e.b)),bMn(n,r,c)}function wIn(n,t,e,i,r,c,a,u,o,s,h,f,l){aL(n.Cb,88)&&$In(I5(HB(n.Cb,88)),4),xrn(n,e),n.f=a,Lln(n,u),xln(n,o),$ln(n,s),Nln(n,h),tln(n,f),Gln(n,l),Jfn(n,!0),Nen(n,r),n.ok(c),Ohn(n,t),null!=i&&(n.i=null,urn(n,i))}function dIn(n){var t,e;if(n.f){for(;n.n>0;){if(aL(e=(t=HB(n.k.Xb(n.n-1),72)).ak(),99)&&0!=(HB(e,18).Bb&f6n)&&(!n.e||e.Gj()!=xOt||0!=e.aj())&&null!=t.dd())return!0;--n.n}return!1}return n.n>0}function gIn(n,t,e){if(n<0)return LRn(HWn,Iun(zk($nt,1),qWn,1,5,[e,rln(n)]));if(t<0)throw qp(new Fy(GWn+t));return LRn("%s (%s) must not be greater than size (%s)",Iun(zk($nt,1),qWn,1,5,[e,rln(n),rln(t)]))}function pIn(n,t,e,i,r,c){var a,u,o;if(i-e<7)Lbn(t,e,i,c);else if(pIn(t,n,u=e+r,o=u+((a=i+r)-u>>1),-r,c),pIn(t,n,o,a,-r,c),c.ue(n[o-1],n[o])<=0)for(;e=0?n.sh(c,e):MLn(n,r,e)}else Nbn(n,i,r,e)}function jIn(n){var t,e,i,r;if(e=HB(n,49).qh())try{if(i=null,(t=L$n((VM(),UAt),S_n(Fbn(e))))&&(r=t.rh())&&(i=r.Wk(Wy(e.e))),i&&i!=n)return jIn(i)}catch(c){if(!aL(c=bun(c),60))throw qp(c)}return n}function EIn(n,t,e){var i,r,c,a;if(a=null==t?0:n.b.se(t),0==(r=null==(i=n.a.get(a))?new Array:i).length)n.a.set(a,r);else if(c=fhn(n,t,r))return c.ed(e);return LX(r,r.length,new IS(t,e)),++n.c,sY(n.b),null}function TIn(n,t){var e;return f2(n.a),CU(n.a,(Irn(),Ykt),Ykt),CU(n.a,Jkt,Jkt),gq(e=new H2,Jkt,(Cbn(),ijt)),zC(n$n(t,(Xyn(),Pjt)))!==zC((qsn(),hjt))&&gq(e,Jkt,tjt),gq(e,Jkt,ejt),uA(n.a,e),Lqn(n.a,t)}function MIn(n){if(!n)return bk(),ftt;var t=n.valueOf?n.valueOf():n;if(t!==n){var i=ltt[typeof t];return i?i(t):jhn(typeof t)}return n instanceof Array||n instanceof e.Array?new Ml(n):new Il(n)}function SIn(n,t,i){var r,c,a;switch(a=n.o,(c=(r=HB(sV(n.p,i),244)).i).b=PCn(r),c.a=SCn(r),c.b=e.Math.max(c.b,a.a),c.b>a.a&&!t&&(c.b=a.a),c.c=-(c.b-a.a)/2,i.g){case 1:c.d=-c.a;break;case 3:c.d=a.b}FFn(r),zFn(r)}function PIn(n,t,i){var r,c,a;switch(a=n.o,(c=(r=HB(sV(n.p,i),244)).i).b=PCn(r),c.a=SCn(r),c.a=e.Math.max(c.a,a.b),c.a>a.b&&!t&&(c.a=a.b),c.d=-(c.a-a.b)/2,i.g){case 4:c.c=-c.b;break;case 2:c.c=a.a}FFn(r),zFn(r)}function IIn(n,t){var e,i,r,c,a;if(!t.dc())if(r=HB(t.Xb(0),128),1!=t.gc())for(e=1;e0)try{i=b_n(t,FVn,RWn)}catch(r){throw aL(r=bun(r),127)?qp(new N7(r)):qp(r)}return!n.a&&(n.a=new Pp(n)),i<(e=n.a).i&&i>=0?HB(Vtn(e,i),56):null}function NIn(n,t){if(n<0)return LRn(HWn,Iun(zk($nt,1),qWn,1,5,["index",rln(n)]));if(t<0)throw qp(new Fy(GWn+t));return LRn("%s (%s) must be less than size (%s)",Iun(zk($nt,1),qWn,1,5,["index",rln(n),rln(t)]))}function xIn(n){var t,e,i,r,c;if(null==n)return UWn;for(c=new Lan(BWn,"[","]"),i=0,r=(e=n).length;i0)for(a=n.c.d,r=jL(WR(new DI((u=n.d.d).a,u.b),a),1/(i+1)),c=new DI(a.a,a.b),e=new Vb(n.a);e.a=0?n._g(e,!0,!0):aOn(n,r,!0),153),HB(i,215).ol(t)}function uCn(n){var t,i;return n>-0x800000000000&&n<0x800000000000?0==n?0:((t=n<0)&&(n=-n),i=CJ(e.Math.floor(e.Math.log(n)/.6931471805599453)),(!t||n!=e.Math.pow(2,i))&&++i,i):Qan(lan(n))}function oCn(n){var t,e,i,r,c,a,u;for(c=new lA,e=new Vb(n);e.a2&&u.e.b+u.j.b<=2&&(r=u,i=a),c.a.zc(r,c),r.q=i);return c}function sCn(n,t){var e,i,r;return Gan(i=new Lvn(n),t),fon(i,(fWn(),Qft),t),fon(i,(qXn(),ipt),(YEn(),WIt)),fon(i,jdt,(dvn(),AMt)),Hl(i,(oSn(),Sut)),CZ(e=new CSn,i),GIn(e,(jUn(),CCt)),CZ(r=new CSn,i),GIn(r,sCt),i}function hCn(n){switch(n.g){case 0:return new xy((sin(),Amt));case 1:return new gf;case 2:return new Ef;default:throw qp(new Fy("No implementation is available for the crossing minimizer "+(null!=n.f?n.f:""+n.g)))}}function fCn(n,t){var e,i,r,c;for(n.c[t.p]=!0,VB(n.a,t),c=new Vb(t.j);c.a=(c=a.gc()))a.$b();else for(r=a.Kc(),i=0;i0?dk():c<0&&TCn(n,t,-c),!0)}function SCn(n){var t,e,i,r,c,a;if(a=0,0==n.b){for(t=0,r=0,c=(i=Wvn(n,!0)).length;r0&&(a+=e,++t);t>1&&(a+=n.c*(t-1))}else a=_k(icn(NV($V(NU(n.a),new Sn),new Pn)));return a>0?a+n.n.d+n.n.a:0}function PCn(n){var t,e,i,r,c,a;if(a=0,0==n.b)a=_k(icn(NV($V(NU(n.a),new Tn),new Mn)));else{for(t=0,r=0,c=(i=Vvn(n,!0)).length;r0&&(a+=e,++t);t>1&&(a+=n.c*(t-1))}return a>0?a+n.n.b+n.n.c:0}function ICn(n,t){var i,r,c,a;for(i=(a=HB(sV(n.b,t),124)).a,c=HB(HB(f6(n.r,t),21),84).Kc();c.Ob();)(r=HB(c.Pb(),111)).c&&(i.a=e.Math.max(i.a,QH(r.c)));if(i.a>0)switch(t.g){case 2:a.n.c=n.s;break;case 4:a.n.b=n.s}}function CCn(n,t){var e,i,r;return 0==(e=HB(yMn(t,(lRn(),nat)),19).a-HB(yMn(n,nat),19).a)?(i=WR(H$(HB(yMn(n,(Srn(),oat)),8)),HB(yMn(n,sat),8)),r=WR(H$(HB(yMn(t,oat),8)),HB(yMn(t,sat),8)),Iln(i.a*i.b,r.a*r.b)):e}function OCn(n,t){var e,i,r;return 0==(e=HB(yMn(t,(CAn(),Lkt)),19).a-HB(yMn(n,Lkt),19).a)?(i=WR(H$(HB(yMn(n,(Gqn(),nkt)),8)),HB(yMn(n,tkt),8)),r=WR(H$(HB(yMn(t,nkt),8)),HB(yMn(t,tkt),8)),Iln(i.a*i.b,r.a*r.b)):e}function ACn(n){var t,e;return(e=new Ck).a+="e_",null!=(t=Wan(n))&&(e.a+=""+t),n.c&&n.d&&(sO((e.a+=" ",e),vyn(n.c)),sO(oO((e.a+="[",e),n.c.i),"]"),sO((e.a+=i1n,e),vyn(n.d)),sO(oO((e.a+="[",e),n.d.i),"]")),e.a}function $Cn(n){switch(n.g){case 0:return new vf;case 1:return new mf;case 2:return new pf;case 3:return new yf;default:throw qp(new Fy("No implementation is available for the layout phase "+(null!=n.f?n.f:""+n.g)))}}function LCn(n,t,i,r,c){var a;switch(a=0,c.g){case 1:a=e.Math.max(0,t.b+n.b-(i.b+r));break;case 3:a=e.Math.max(0,-n.b-r);break;case 2:a=e.Math.max(0,-n.a-r);break;case 4:a=e.Math.max(0,t.a+n.a-(i.a+r))}return a}function NCn(n,t,e){var i,r,c;if(e)for(c=((i=new fz(e.a.length)).b-i.a)*i.c<0?(iS(),SNt):new WL(i);c.Ob();)r=D2(e,HB(c.Pb(),19).a),N6n in r.a||x6n in r.a?hKn(n,r,t):TXn(n,r,t),IL(HB(KX(n.b,Ydn(r)),79))}function xCn(n){var t,e;switch(n.b){case-1:return!0;case 0:return(e=n.t)>1||-1==e||(t=Okn(n))&&(nS(),t.Cj()==T9n)?(n.b=-1,!0):(n.b=1,!1);default:return!1}}function DCn(n,t){var e,i,r,c,a;for(!t.s&&(t.s=new iU(BAt,t,21,17)),c=null,r=0,a=(i=t.s).i;r=0&&i=0?n._g(e,!0,!0):aOn(n,r,!0),153),HB(i,215).ll(t);throw qp(new Fy(c6n+t.ne()+o6n))}function zCn(){var n;return eS(),Y$t?HB(L$n((VM(),UAt),Q9n),1939):(KO(qnt,new Cs),tzn(),n=HB(aL(PJ((VM(),UAt),Q9n),547)?PJ(UAt,Q9n):new XW,547),Y$t=!0,sWn(n),MWn(n),QW((QM(),n$t),n,new zo),yZ(UAt,Q9n,n),n)}function UCn(n,t){var e,i,r,c;n.j=-1,yA(n.e)?(e=n.i,c=0!=n.i,a6(n,t),i=new x7(n.e,3,n.c,null,t,e,c),r=t.Qk(n.e,n.c,null),(r=OEn(n,t,r))?(r.Ei(i),r.Fi()):wan(n.e,i)):(a6(n,t),(r=t.Qk(n.e,n.c,null))&&r.Fi())}function XCn(n,t){var e,i,r;if(r=0,(i=t[0])>=n.length)return-1;for(w1(i,n.length),e=n.charCodeAt(i);e>=48&&e<=57&&(r=10*r+(e-48),!(++i>=n.length));)w1(i,n.length),e=n.charCodeAt(i);return i>t[0]?t[0]=i:r=-1,r}function WCn(n){var t,i,r,c,a;return i=c=HB(n.a,19).a,r=a=HB(n.b,19).a,t=e.Math.max(e.Math.abs(c),e.Math.abs(a)),c<=0&&c==a?(i=0,r=a-1):c==-t&&a!=t?(i=a,r=c,a>=0&&++i):(i=-a,r=c),new cC(rln(i),rln(r))}function VCn(n,t,e,i){var r,c,a,u,o,s;for(r=0;r=0&&s>=0&&o=n.i)throw qp(new $y(o8n+t+s8n+n.i));if(e>=n.i)throw qp(new $y(h8n+e+s8n+n.i));return i=n.g[e],t!=e&&(t>16))>>16&16),e+=t=(i=(n>>=t)-256)>>16&8,e+=t=(i=(n<<=t)-FQn)>>16&4,(e+=t=(i=(n<<=t)-fVn)>>16&2)+2-(t=(i=(n<<=t)>>14)&~(i>>1)))}function tOn(n){var t,e,i,r;for(SQ(),Pct=new xp,Sct=new Dp,Mct=new xp,!n.a&&(n.a=new iU(XOt,n,10,11)),DUn(t=n.a),r=new $L(t);r.e!=r.i.gc();)i=HB(jpn(r),33),-1==T7(Pct,i,0)&&(e=new xp,VB(Mct,e),Kgn(i,e));return Mct}function eOn(n,t,e){var i,r,c,a;n.a=e.b.d,aL(t,352)?(i5(c=GSn(r=aDn(HB(t,79),!1,!1)),i=new xw(n)),QFn(c,r),null!=t.We((hWn(),ASt))&&i5(HB(t.We(ASt),74),i)):((a=HB(t,470)).Hg(a.Dg()+n.a.a),a.Ig(a.Eg()+n.a.b))}function iOn(n,t){var i,r,c,a,u,o,s,h;for(h=zy(SD(yMn(t,(qXn(),xpt)))),s=n[0].n.a+n[0].o.a+n[0].d.c+h,o=1;o=0?e:(u=bW(WR(new DI(a.c+a.b/2,a.d+a.a/2),new DI(c.c+c.b/2,c.d+c.a/2))),-(J_n(c,a)-1)*u)}function cOn(n,t,e){var i;ZT(new Kq(null,(!e.a&&(e.a=new iU(BOt,e,6,6)),new d1(e.a,16))),new iC(n,t)),ZT(new Kq(null,(!e.n&&(e.n=new iU(UOt,e,1,7)),new d1(e.n,16))),new rC(n,t)),(i=HB(n$n(e,(hWn(),ASt)),74))&&Jrn(i,n,t)}function aOn(n,t,e){var i,r,c;if(c=Bqn((OPn(),nLt),n.Tg(),t))return nS(),HB(c,66).Oj()||(c=n0(H7(nLt,c))),r=HB((i=n.Yg(c))>=0?n._g(i,!0,!0):aOn(n,c,!0),153),HB(r,215).hl(t,e);throw qp(new Fy(c6n+t.ne()+o6n))}function uOn(n,t,e,i){var r,c,a,u,o;if(r=n.d[t])if(c=r.g,o=r.i,null!=i){for(u=0;u=e&&(i=t,c=(o=(u.c+u.a)/2)-e,u.c<=o-e&&jG(n,i++,new jB(u.c,c)),(a=o+e)<=u.a&&(r=new jB(a,u.a),NZ(i,n.c.length),SS(n.c,i,r)))}function wOn(n){var t;if(n.c||null!=n.g){if(null==n.g)return!0;if(0==n.i)return!1;t=HB(n.g[n.i-1],47)}else n.d=n.si(n.f),l9(n,n.d),t=n.d;return t==n.b&&null.km>=null.jm()?(uLn(n),wOn(n)):t.Ob()}function dOn(n,t,e){var i,r,c,a;if(!(a=e)&&(a=NH(new Wm,0)),ATn(a,GZn,1),LGn(n.c,t),1==(c=KGn(n.a,t)).gc())QHn(HB(c.Xb(0),37),a);else for(r=1/c.gc(),i=c.Kc();i.Ob();)QHn(HB(i.Pb(),37),ycn(a,r));Tk(n.a,c,t),BDn(t),qSn(a)}function gOn(n){if(this.a=n,n.c.i.k==(oSn(),Sut))this.c=n.c,this.d=HB(yMn(n.c.i,(fWn(),Yft)),61);else{if(n.d.i.k!=Sut)throw qp(new Fy("Edge "+n+" is not an external edge."));this.c=n.d,this.d=HB(yMn(n.d.i,(fWn(),Yft)),61)}}function pOn(n,t){var e,i,r;r=n.b,n.b=t,0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new tU(n,1,3,r,n.b)),t?t!=n&&(xrn(n,t.zb),Len(n,t.d),Bin(n,null==(e=null==(i=t.c)?t.zb:i)||yK(e,t.zb)?null:e)):(xrn(n,null),Len(n,0),Bin(n,null))}function vOn(n){var t,e;if(n.f){for(;n.n=(a=null==(e=HB(kan(n.a,4),126))?0:e.length))throw qp(new eK(t,a));return r=e[t],1==a?i=null:(uHn(e,0,i=D8(gAt,r9n,415,a-1,0,1),0,t),(c=a-t-1)>0&&uHn(e,t+1,i,t,c)),Bgn(n,i),iIn(n,t,r),r}function MOn(){MOn=A,bLt=HB(Vtn(YQ((aE(),pLt).qb),6),34),hLt=HB(Vtn(YQ(pLt.qb),3),34),fLt=HB(Vtn(YQ(pLt.qb),4),34),lLt=HB(Vtn(YQ(pLt.qb),5),18),sEn(bLt),sEn(hLt),sEn(fLt),sEn(lLt),wLt=new Zy(Iun(zk(BAt,1),x9n,170,0,[bLt,hLt]))}function SOn(n,t){var e;this.d=new bm,this.b=t,this.e=new dA(t.qf()),e=n.u.Hc((bCn(),rCt)),n.u.Hc(iCt)?n.D?this.a=e&&!t.If():this.a=!0:n.u.Hc(cCt)?this.a=!!e&&!(t.zf().Kc().Ob()||t.Bf().Kc().Ob()):this.a=!1}function POn(n,t){var e,i,r,c;for(e=n.o.a,c=HB(HB(f6(n.r,t),21),84).Kc();c.Ob();)(r=HB(c.Pb(),111)).e.a=(i=r.b).Xe((hWn(),uPt))?i.Hf()==(jUn(),CCt)?-i.rf().a-zy(SD(i.We(uPt))):e+zy(SD(i.We(uPt))):i.Hf()==(jUn(),CCt)?-i.rf().a:e}function IOn(n,t){var e,i,r;e=HB(yMn(n,(qXn(),Xdt)),103),r=HB(n$n(t,opt),61),(i=HB(yMn(n,ipt),98))!=(YEn(),YIt)&&i!=JIt?r==(jUn(),ICt)&&(r=AFn(t,e))==ICt&&(r=fwn(e)):r=WHn(t)>0?fwn(e):Mln(fwn(e)),Jpn(t,opt,r)}function COn(n,t){var e,i,r,c,a;for(a=n.j,t.a!=t.b&&y$(a,new Xr),r=a.c.length/2|0,i=0;i0&&oKn(n,e,t),c):null!=i.a?(oKn(n,t,e),-1):null!=r.a?(oKn(n,e,t),1):0}function AOn(n,t){var e,i,r,c;n.ej()?(e=n.Vi(),c=n.fj(),++n.j,n.Hi(e,n.oi(e,t)),i=n.Zi(3,null,t,e,c),n.bj()&&(r=n.cj(t,null))?(r.Ei(i),r.Fi()):n.$i(i)):(iW(n,t),n.bj()&&(r=n.cj(t,null))&&r.Fi())}function $On(n,t){var e,i,r,c,a;for(a=uxn(n.e.Tg(),t),r=new po,e=HB(n.g,119),c=n.i;--c>=0;)i=e[c],a.rl(i.ak())&&l9(r,i);!uXn(n,r)&&yA(n.e)&&Nv(n,t.$j()?NY(n,6,t,(PQ(),het),null,-1,!1):NY(n,t.Kj()?2:1,t,null,null,-1,!1))}function LOn(){var n,t;for(LOn=A,uet=D8(set,hVn,91,32,0,1),oet=D8(set,hVn,91,32,0,1),n=1,t=0;t<=18;t++)uet[t]=tpn(n),oet[t]=tpn(kz(n,t)),n=abn(n,5);for(;tc)||t.q&&(c=(i=t.C).c.c.a-i.o.a/2,i.n.a-e>c)))}function xOn(n,t){ATn(t,"Partition preprocessing",1),ZT(HB(I4($V(dnn($V(new Kq(null,new d1(n.a,16)),new mi),new yi),new ki),y9(new q,new H,new cn,Iun(zk(tit,1),LVn,132,0,[(Gsn(),Xet)]))),15).Oc(),new ji),qSn(t)}function DOn(n){var t,e,i,r,c,a;for(GZ(),e=new m4,i=new Vb(n.e.b);i.a1?n.e*=zy(n.a):n.f/=zy(n.a),Chn(n),pgn(n),MRn(n),fon(n.b,(Tpn(),pct),n.g)}function qOn(n,t,e){var i,r,c,a,u;for(i=0,u=e,t||(i=e*(n.c.length-1),u*=-1),c=new Vb(n);c.a=0?(t||(t=new Ik,i>0&&aO(t,n.substr(0,i))),t.a+="\\",xX(t,e&YVn)):t&&xX(t,e&YVn);return t?t.a:n}function cAn(n){var t;if(!n.a)throw qp(new By("IDataType class expected for layout option "+n.f));if(null==(t=O3(n.a)))throw qp(new By("Couldn't create new instance of property '"+n.f+"'. "+c5n+(TD(wAt),wAt.k)+a5n));return HB(t,414)}function aAn(n){var t,e,i,r,c;return(c=n.eh())&&c.kh()&&(r=efn(n,c))!=c?(e=n.Vg(),i=(t=n.Vg())>=0?n.Qg(null):n.eh().ih(n,-1-t,null,null),n.Rg(HB(r,49),e),i&&i.Fi(),n.Lg()&&n.Mg()&&e>-1&&wan(n,new tU(n,9,e,c,r)),r):c}function uAn(n){var t,e,i,r,c,a,u;for(c=0,r=n.f.e,e=0;e>5)>=n.d)return n.e<0;if(e=n.a[r],t=1<<(31&t),n.e<0){if(r<(i=Ccn(n)))return!1;e=i==r?-e:~e}return 0!=(e&t)}function bAn(n,t,e,i){var r;HB(e.b,65),HB(e.b,65),HB(i.b,65),HB(i.b,65),xH(r=WR(H$(HB(e.b,65).c),HB(i.b,65).c),qIn(HB(e.b,65),HB(i.b,65),r)),HB(i.b,65),HB(i.b,65),HB(i.b,65).c.a,r.a,HB(i.b,65).c.b,r.b,HB(i.b,65),Atn(i.a,new MB(n,t,i))}function wAn(n,t){var e,i,r,c,a,u,o;if(c=t.e)for(e=aAn(c),i=HB(n.g,674),a=0;a>16)),15).Xc(c))0&&((!gA(n.a.c)||!t.n.d)&&(!pA(n.a.c)||!t.n.b)&&(t.g.d+=e.Math.max(0,r/2-.5)),(!gA(n.a.c)||!t.n.a)&&(!pA(n.a.c)||!t.n.c)&&(t.g.a-=r-1))}function yAn(n){var t,i,r,c,a;if(a=__n(n,c=new xp),t=HB(yMn(n,(fWn(),Tlt)),10))for(r=new Vb(t.j);r.a>t,c=n.m>>t|e<<22-t,r=n.l>>t|n.m<<22-t):t<44?(a=i?IQn:0,c=e>>t-22,r=n.m>>t-22|e<<44-t):(a=i?IQn:0,c=i?PQn:0,r=e>>t-44),S$(r&PQn,c&PQn,a&IQn)}function TAn(n){var t,i,r,c,a,u;for(this.c=new xp,this.d=n,r=KQn,c=KQn,t=_Qn,i=_Qn,u=hpn(n,0);u.b!=u.d.c;)a=HB(w3(u),8),r=e.Math.min(r,a.a),c=e.Math.min(c,a.b),t=e.Math.max(t,a.a),i=e.Math.max(i,a.b);this.a=new XV(r,c,t-r,i-c)}function MAn(n,t){var e,i,r,c;for(i=new Vb(n.b);i.a0&&aL(t,42)&&(n.a.qj(),c=null==(o=(s=HB(t,42)).cd())?0:tsn(o),a=iR(n.a,c),e=n.a.d[a]))for(i=HB(e.g,367),h=e.i,u=0;u=2)for(t=SD((i=c.Kc()).Pb());i.Ob();)a=t,t=SD(i.Pb()),r=e.Math.min(r,(jW(t),t-(jW(a),a)));return r}function qAn(n,t){var e,i,r,c,a;c5(i=new JT,t,i.c.b,i.c);do{for(Ix(0!=i.b),e=HB($tn(i,i.a.a),86),n.b[e.g]=1,c=hpn(e.d,0);c.b!=c.d.c;)a=(r=HB(w3(c),188)).c,1==n.b[a.g]?RH(n.a,r):2==n.b[a.g]?n.b[a.g]=1:c5(i,a,i.c.b,i.c)}while(0!=i.b)}function GAn(n,t){var e,i,r;if(zC(t)===zC(kX(n)))return!0;if(!aL(t,15))return!1;if(i=HB(t,15),(r=n.gc())!=i.gc())return!1;if(aL(i,54)){for(e=0;e0&&(r=e),a=new Vb(n.f.e);a.a0?(t-=1,e-=1):i>=0&&r<0?(t+=1,e+=1):i>0&&r>=0?(t-=1,e+=1):(t+=1,e-=1),new cC(rln(t),rln(e))}function b$n(n,t){return n.ct.c?1:n.bt.b?1:n.a!=t.a?tsn(n.a)-tsn(t.a):n.d==(Y4(),qmt)&&t.d==Hmt?-1:n.d==Hmt&&t.d==qmt?1:0}function w$n(n,t){var e,i,r,c,a;return a=(c=t.a).c.i==t.b?c.d:c.c,i=c.c.i==t.b?c.c:c.d,(r=Uwn(n.a,a,i))>0&&r0):r<0&&-r0)}function d$n(n,t,e,i){var r,c,a,u,o,s;for(r=(t-n.d)/n.c.c.length,c=0,n.a+=e,n.d=t,s=new Vb(n.c);s.a>24;return a}function p$n(n){if(n.pe()){var t=n.c;return t.qe()?n.o="["+t.n:t.pe()?n.o="["+t.ne():n.o="[L"+t.ne()+";",n.b=t.me()+"[]",void(n.k=t.oe()+"[]")}var e=n.j,i=n.d;i=i.split("/"),n.o=Bdn(".",[e,Bdn("$",i)]),n.b=Bdn(".",[e,Bdn(".",i)]),n.k=i[i.length-1]}function v$n(n,t){var e,i,r,c,a;for(a=null,c=new Vb(n.e.a);c.a=0;t-=2)for(e=0;e<=t;e+=2)(n.b[e]>n.b[e+2]||n.b[e]===n.b[e+2]&&n.b[e+1]>n.b[e+3])&&(i=n.b[e+2],n.b[e+2]=n.b[e],n.b[e]=i,i=n.b[e+3],n.b[e+3]=n.b[e+1],n.b[e+1]=i);n.c=!0}}function S$n(n,t){var e,i,r,c,a,u;for(c=(1==t?Vat:Wat).a.ec().Kc();c.Ob();)for(r=HB(c.Pb(),103),u=HB(f6(n.f.c,r),21).Kc();u.Ob();)switch(a=HB(u.Pb(),46),i=HB(a.b,81),e=HB(a.a,189).c,r.g){case 2:case 1:i.g.d+=e;break;case 4:case 3:i.g.c+=e}}function P$n(n,t){var e,i,r,c,a,u,o,s,h;for(s=-1,h=0,u=0,o=(a=n).length;u0&&++h;++s}return h}function I$n(n){var t;return(t=new bN(tE(n.gm))).a+="@",sO(t,(tsn(n)>>>0).toString(16)),n.kh()?(t.a+=" (eProxyURI: ",oO(t,n.qh()),n.$g()&&(t.a+=" eClass: ",oO(t,n.$g())),t.a+=")"):n.$g()&&(t.a+=" (eClass: ",oO(t,n.$g()),t.a+=")"),t.a}function C$n(n){var t,e,i;if(n.e)throw qp(new By((TD(pit),$Yn+pit.k+LYn)));for(n.d==(Bfn(),HPt)&&Mzn(n,FPt),e=new Vb(n.a.a);e.a>24}return e}function x$n(n,t,e){var i,r,c;if(!(r=HB(sV(n.i,t),306)))if(r=new dtn(n.d,t,e),yG(n.i,t,r),ugn(t))TL(n.a,t.c,t.b,r);else switch(c=NPn(t),i=HB(sV(n.p,c),244),c.g){case 1:case 3:r.j=!0,Ey(i,t.b,r);break;case 4:case 2:r.k=!0,Ey(i,t.c,r)}return r}function D$n(n,t,e,i){var r,c,a,u,o,s;if(u=new po,o=uxn(n.e.Tg(),t),r=HB(n.g,119),nS(),HB(t,66).Oj())for(a=0;a=0)return r;for(c=1,a=new Vb(t.j);a.a0&&t.ue((b1(r-1,n.c.length),HB(n.c[r-1],10)),c)>0;)a5(n,r,(b1(r-1,n.c.length),HB(n.c[r-1],10))),--r;b1(r,n.c.length),n.c[r]=c}e.a=new Dp,e.b=new Dp}function _$n(n,t,e){var i,r,c,a,u,o,s;for(s=new JK(i=HB(t.e&&t.e(),9),HB(PR(i,i.length),9),0),a=0,u=(c=jKn(e,"[\\[\\]\\s,]+")).length;a0&&((!gA(n.a.c)||!t.n.d)&&(!pA(n.a.c)||!t.n.b)&&(t.g.d-=e.Math.max(0,r/2-.5)),(!gA(n.a.c)||!t.n.a)&&(!pA(n.a.c)||!t.n.c)&&(t.g.a+=e.Math.max(0,r-1)))}function B$n(n,t,e){var i;if(2==(n.c-n.b&n.a.length-1))t==(jUn(),hCt)||t==sCt?(Etn(HB(Ton(n),15),(Wyn(),EIt)),Etn(HB(Ton(n),15),TIt)):(Etn(HB(Ton(n),15),(Wyn(),TIt)),Etn(HB(Ton(n),15),EIt));else for(i=new wV(n);i.a!=i.b;)Etn(HB(Fhn(i),15),e)}function H$n(n,t){var e,i,r,c,a,u;for(a=new S2(i=qB(new hp(n)),i.c.length),u=new S2(r=qB(new hp(t)),r.c.length),c=null;a.b>0&&u.b>0&&(Ix(a.b>0),e=HB(a.a.Xb(a.c=--a.b),33),Ix(u.b>0),e==HB(u.a.Xb(u.c=--u.b),33));)c=e;return c}function q$n(n,t){var i,r,c,a;return c=n.a*uYn+1502*n.b,a=n.b*uYn+11,c+=i=e.Math.floor(a*oYn),a-=i*sYn,c%=sYn,n.a=c,n.b=a,t<=24?e.Math.floor(n.a*Aet[t]):((r=n.a*(1<=2147483648&&(r-=WQn),r)}function G$n(n,t,e){var i,r,c,a;d0(n,t)>d0(n,e)?(i=ubn(e,(jUn(),sCt)),n.d=i.dc()?0:oq(HB(i.Xb(0),11)),a=ubn(t,CCt),n.b=a.dc()?0:oq(HB(a.Xb(0),11))):(r=ubn(e,(jUn(),CCt)),n.d=r.dc()?0:oq(HB(r.Xb(0),11)),c=ubn(t,sCt),n.b=c.dc()?0:oq(HB(c.Xb(0),11)))}function z$n(n){var t,e,i,r,c,a,u;if(n&&(t=n.Hh(Q9n))&&null!=(a=PD(adn((!t.b&&(t.b=new Zx((pWn(),j$t),W$t,t)),t.b),"conversionDelegates")))){for(u=new xp,r=0,c=(i=jKn(a,"\\w+")).length;rn.c));a++)r.a>=n.s&&(c<0&&(c=a),u=a);return o=(n.s+n.c)/2,c>=0&&(o=GM((b1(i=JRn(n,t,c,u),t.c.length),HB(t.c[i],329))),bOn(t,i,e)),o}function V$n(){V$n=A,bEt=new WA((hWn(),aSt),1.3),pEt=ESt,OEt=new VA(15),CEt=new WA(WSt,OEt),LEt=new WA(NPt,15),wEt=fSt,EEt=_St,TEt=HSt,MEt=GSt,jEt=RSt,SEt=XSt,AEt=lPt,LAn(),IEt=sEt,kEt=uEt,PEt=oEt,$Et=fEt,vEt=aEt,mEt=CSt,yEt=OSt,gEt=cEt,dEt=rEt,NEt=lEt}function Q$n(n,t,e){var i,r,c,a,u;for(Hin(r=new Eo,(jW(t),t)),!r.b&&(r.b=new Zx((pWn(),j$t),W$t,r)),u=r.b,a=1;a0&&Dqn(this,r)}function J$n(n,t,e,i,r,c){var a,u,o;if(!r[t.b]){for(r[t.b]=!0,!(a=i)&&(a=new k6),VB(a.e,t),o=c[t.b].Kc();o.Ob();)(u=HB(o.Pb(),282)).d!=e&&u.c!=e&&(u.c!=t&&J$n(n,u.c,t,a,r,c),u.d!=t&&J$n(n,u.d,t,a,r,c),VB(a.c,u),pun(a.d,u.b));return a}return null}function Z$n(n){var t,e,i;for(t=0,e=new Vb(n.e);e.a=2}function nLn(n,t){var e,i,r,c;for(ATn(t,"Self-Loop pre-processing",1),i=new Vb(n.a);i.a1||Can(AJ(TG(OIt,Iun(zk(zIt,1),LVn,93,0,[CIt,$It])),n))>1||Can(AJ(TG(RIt,Iun(zk(zIt,1),LVn,93,0,[DIt,xIt])),n))>1)}function iLn(n,t){var e,i,r;return(e=t.Hh(n.a))&&null!=(r=PD(adn((!e.b&&(e.b=new Zx((pWn(),j$t),W$t,e)),e.b),"affiliation")))?-1==(i=yN(r,JTn(35)))?oln(n,uz(n,Xtn(t.Hj())),r):0==i?oln(n,null,r.substr(1)):oln(n,r.substr(0,i),r.substr(i+1)):null}function rLn(n){var t,e;try{return null==n?UWn:Hbn(n)}catch(i){if(aL(i=bun(i),102))return t=i,e=tE(esn(n))+"@"+(LT(),(ivn(n)>>>0).toString(16)),_gn(Eun(),(bM(),"Exception during lenientFormat for "+e),t),"<"+e+" threw "+tE(t.gm)+">";throw qp(i)}}function cLn(n){switch(n.g){case 0:return new sf;case 1:return new rf;case 2:return new LM;case 3:return new Oc;case 4:return new KR;case 5:return new hf;default:throw qp(new Fy("No implementation is available for the layerer "+(null!=n.f?n.f:""+n.g)))}}function aLn(n,t,e){var i,r,c;for(c=new Vb(n.t);c.a0&&(i.b.n-=i.c,i.b.n<=0&&i.b.u>0&&RH(t,i.b));for(r=new Vb(n.i);r.a0&&(i.a.u-=i.c,i.a.u<=0&&i.a.n>0&&RH(e,i.a))}function uLn(n){var t,e,i;if(null==n.g&&(n.d=n.si(n.f),l9(n,n.d),n.c))return n.f;if(i=(t=HB(n.g[n.i-1],47)).Pb(),n.e=t,(e=n.si(i)).Ob())n.d=e,l9(n,e);else for(n.d=null;!t.Ob()&&(LX(n.g,--n.i,null),0!=n.i);)t=HB(n.g[n.i-1],47);return i}function oLn(n,t){var e,i,r,c,a,u;if(r=(i=t).ak(),Lxn(n.e,r)){if(r.hi()&&z3(n,r,i.dd()))return!1}else for(u=uxn(n.e.Tg(),r),e=HB(n.g,119),c=0;c1||e>1)return 2;return t+e==1?2:0}function mLn(n,t,e){var i,r,c,a;for(ATn(e,"ELK Force",1),Gy(MD(n$n(t,(lRn(),Vct))))||EJ(new Mw((zM(),new Ry(t)))),jkn(a=lon(t)),Uon(n,HB(yMn(a,zct),424)),r=(c=qFn(n.a,a)).Kc();r.Ob();)i=HB(r.Pb(),231),IKn(n.b,i,ycn(e,1/c.gc()));PUn(a=zUn(c)),qSn(e)}function yLn(n,t){var e,i,r;if(ATn(t,"Breaking Point Processor",1),Azn(n),Gy(MD(yMn(n,(qXn(),zpt))))){for(i=new Vb(n.b);i.a=0?n._g(i,!0,!0):aOn(n,c,!0),153),HB(r,215).ml(t,e)}function SLn(n,t){var e,i,r,c,a;for(e=new xp,r=dnn(new Kq(null,new d1(n,16)),new Ta),c=dnn(new Kq(null,new d1(n,16)),new Ma),a=S7(q6(NV(PNn(Iun(zk(iit,1),qWn,833,0,[r,c])),new Sa))),i=1;i=2*t&&VB(e,new jB(a[i-1]+t,a[i]-t));return e}function PLn(n,t,e){ATn(e,"Eades radial",1),e.n&&t&&k0(e,s2(t),(Hsn(),oOt)),n.d=HB(n$n(t,(dD(),Qkt)),33),n.c=zy(SD(n$n(t,(Xyn(),Rjt)))),n.e=Tvn(HB(n$n(t,Kjt),293)),n.a=bwn(HB(n$n(t,Fjt),426)),n.b=Gjn(HB(n$n(t,Ljt),340)),cjn(n),e.n&&t&&k0(e,s2(t),(Hsn(),oOt))}function ILn(n,t,e){var i,r,c,a,u;if(e)for(c=((i=new fz(e.a.length)).b-i.a)*i.c<0?(iS(),SNt):new WL(i);c.Ob();)(r=D2(e,HB(c.Pb(),19).a))&&(Lin(a=L3(n,(eE(),u=new Tm,!!t&&HLn(u,t),u),r),K2(r,G6n)),PTn(r,a),AIn(r,a),Don(n,r,a))}function CLn(n){var t,e,i,r;if(!n.j){if(r=new Oo,null==(t=I$t).a.zc(n,t)){for(i=new $L(jY(n));i.e!=i.i.gc();)vX(r,CLn(e=HB(jpn(i),26))),l9(r,e);t.a.Bc(n)}ahn(r),n.j=new xO((HB(Vtn(YQ((YX(),e$t).o),11),18),r.i),r.g),I5(n).b&=-33}return n.j}function OLn(n){var t,e,i,r;if(null==n)return null;if(i=BBn(n,!0),r=D7n.length,yK(i.substr(i.length-r,r),D7n))if(4==(e=i.length)){if(w1(0,i.length),43==(t=i.charCodeAt(0)))return zLt;if(45==t)return GLt}else if(3==e)return zLt;return new Rv(i)}function ALn(n){var t,e,i;return 0!=((e=n.l)&e-1)||0!=((i=n.m)&i-1)||0!=((t=n.h)&t-1)||0==t&&0==i&&0==e?-1:0==t&&0==i&&0!=e?pin(e):0==t&&0!=i&&0==e?pin(i)+22:0!=t&&0==i&&0==e?pin(t)+44:-1}function $Ln(n,t){var e,i,r,c;for(ATn(t,"Edge joining",1),e=Gy(MD(yMn(n,(qXn(),Rpt)))),i=new Vb(n.b);i.a1)for(i=new Vb(n.a);i.a0),c.a.Xb(c.c=--c.b),kR(c,r),Ix(c.b3&&Tnn(n,0,t-3))}function _Ln(n){var t,e,i,r;return zC(yMn(n,(qXn(),hgt)))===zC((ofn(),vIt))?!n.e&&zC(yMn(n,Kdt))!==zC((_an(),jft)):(i=HB(yMn(n,_dt),292),r=Gy(MD(yMn(n,qdt)))||zC(yMn(n,Gdt))===zC((Ain(),hht)),t=HB(yMn(n,Rdt),19).a,e=n.a.c.length,!r&&i!=(_an(),jft)&&(0==t||t>e))}function FLn(n){var t,e;for(e=0;e0);e++);if(e>0&&e0);t++);return t>0&&e>16!=6&&t){if(mkn(n,t))throw qp(new Fy(d6n+KOn(n)));i=null,n.Cb&&(i=(e=n.Db>>16)>=0?hkn(n,i):n.Cb.ih(n,-1-e,null,i)),t&&(i=xpn(t,n,6,i)),(i=YD(n,t,i))&&i.Fi()}else 0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new tU(n,1,6,t,t))}function HLn(n,t){var e,i;if(t!=n.Cb||n.Db>>16!=9&&t){if(mkn(n,t))throw qp(new Fy(d6n+XRn(n)));i=null,n.Cb&&(i=(e=n.Db>>16)>=0?lkn(n,i):n.Cb.ih(n,-1-e,null,i)),t&&(i=xpn(t,n,9,i)),(i=JD(n,t,i))&&i.Fi()}else 0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new tU(n,1,9,t,t))}function qLn(n,t){var e,i;if(t!=n.Cb||n.Db>>16!=3&&t){if(mkn(n,t))throw qp(new Fy(d6n+bHn(n)));i=null,n.Cb&&(i=(e=n.Db>>16)>=0?Skn(n,i):n.Cb.ih(n,-1-e,null,i)),t&&(i=xpn(t,n,12,i)),(i=QD(n,t,i))&&i.Fi()}else 0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new tU(n,1,3,t,t))}function GLn(n){var t,e,i,r,c;if(i=Okn(n),null==(c=n.j)&&i)return n.$j()?null:i.zj();if(aL(i,148)){if((e=i.Aj())&&(r=e.Nh())!=n.i){if((t=HB(i,148)).Ej())try{n.g=r.Kh(t,c)}catch(a){if(!aL(a=bun(a),78))throw qp(a);n.g=null}n.i=r}return n.g}return null}function zLn(n){var t;return VB(t=new xp,new DS(new DI(n.c,n.d),new DI(n.c+n.b,n.d))),VB(t,new DS(new DI(n.c,n.d),new DI(n.c,n.d+n.a))),VB(t,new DS(new DI(n.c+n.b,n.d+n.a),new DI(n.c+n.b,n.d))),VB(t,new DS(new DI(n.c+n.b,n.d+n.a),new DI(n.c,n.d+n.a))),t}function ULn(n,t,e,i){var r,c,a;if(a=$jn(t,e),i.c[i.c.length]=t,-1==n.j[a.p]||2==n.j[a.p]||n.a[t.p])return i;for(n.j[a.p]=-1,c=new sz(nN(fbn(a).a.Kc(),new f));gAn(c);)if(!w5(r=HB(X5(c),17))&&(w5(r)||r.c.i.c!=r.d.i.c)&&r!=t)return ULn(n,r,a,i);return i}function XLn(n,t,e){var i,r;for(r=t.a.ec().Kc();r.Ob();)i=HB(r.Pb(),79),!HB(KX(n.b,i),266)&&(ZJ(IMn(i))==ZJ(AMn(i))?eDn(n,i,e):IMn(i)==ZJ(AMn(i))?null==KX(n.c,i)&&null!=KX(n.b,AMn(i))&&czn(n,i,e,!1):null==KX(n.d,i)&&null!=KX(n.b,IMn(i))&&czn(n,i,e,!0))}function WLn(n,t){var e,i,r,c,a,u,o;for(r=n.Kc();r.Ob();)for(i=HB(r.Pb(),10),CZ(u=new CSn,i),GIn(u,(jUn(),sCt)),fon(u,(fWn(),Elt),(fN(),!0)),a=t.Kc();a.Ob();)c=HB(a.Pb(),10),CZ(o=new CSn,c),GIn(o,CCt),fon(o,Elt,!0),fon(e=new dY,Elt,!0),PZ(e,u),SZ(e,o)}function VLn(n,t,e,i){var r,c,a,u;r=$dn(n,t,e),c=$dn(n,e,t),a=HB(KX(n.c,t),112),u=HB(KX(n.c,e),112),ri.b.g&&(c.c[c.c.length]=i);return c}function JLn(){JLn=A,REt=new EI("CANDIDATE_POSITION_LAST_PLACED_RIGHT",0),DEt=new EI("CANDIDATE_POSITION_LAST_PLACED_BELOW",1),_Et=new EI("CANDIDATE_POSITION_WHOLE_DRAWING_RIGHT",2),KEt=new EI("CANDIDATE_POSITION_WHOLE_DRAWING_BELOW",3),FEt=new EI("WHOLE_DRAWING",4)}function ZLn(n,t){if(aL(t,239))return fln(n,HB(t,33));if(aL(t,186))return Rln(n,HB(t,118));if(aL(t,354))return eQ(n,HB(t,137));if(aL(t,352))return ZFn(n,HB(t,79));if(t)return null;throw qp(new Fy(U6n+NMn(new Zy(Iun(zk($nt,1),qWn,1,5,[t])))))}function nNn(n){var t,e,i,r,c,a,u;for(c=new JT,r=new Vb(n.d.a);r.a1)for(t=$N((e=new Gv,++n.b,e),n.d),u=hpn(c,0);u.b!=u.d.c;)a=HB(w3(u),121),XNn(uM(aM(oM(cM(new qv,1),0),t),a))}function tNn(n,t){var e,i;if(t!=n.Cb||n.Db>>16!=11&&t){if(mkn(n,t))throw qp(new Fy(d6n+URn(n)));i=null,n.Cb&&(i=(e=n.Db>>16)>=0?Pkn(n,i):n.Cb.ih(n,-1-e,null,i)),t&&(i=xpn(t,n,10,i)),(i=UR(n,t,i))&&i.Fi()}else 0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new tU(n,1,11,t,t))}function eNn(n){var t,e,i,r;for(i=new osn(new Ib(n.b).a);i.b;)r=HB((e=een(i)).cd(),11),fon(t=HB(e.dd(),10),(fWn(),glt),r),fon(r,Tlt,t),fon(r,ilt,(fN(),!0)),GIn(r,HB(yMn(t,Yft),61)),yMn(t,Yft),fon(r.i,(qXn(),ipt),(YEn(),QIt)),HB(yMn(mW(r.i),nlt),21).Fc((wDn(),gft))}function iNn(n,t,e){var i,r,c;if(i=0,r=0,n.c)for(c=new Vb(n.d.i.j);c.ac.a)return-1;if(r.a(o=null==n.d?0:n.d.length)){for(h=n.d,n.d=D8(sAt,a9n,63,2*o+4,0,1),c=0;c=0x8000000000000000?(W7(),wtt):(i=!1,n<0&&(i=!0,n=-n),e=0,n>=AQn&&(n-=(e=CJ(n/AQn))*AQn),t=0,n>=OQn&&(n-=(t=CJ(n/OQn))*OQn),r=S$(CJ(n),t,e),i&&Aon(r),r)}function vNn(n,t){var e,i,r,c;for(e=!t||!n.u.Hc((bCn(),iCt)),c=0,r=new Vb(n.e.Cf());r.a=-t&&r==t?new cC(rln(i-1),rln(r)):new cC(rln(i),rln(r-1))}function TNn(){return bWn(),Iun(zk(ost,1),LVn,77,0,[cot,eot,aot,jot,Bot,Sot,Xot,Aot,_ot,pot,xot,Oot,Fot,bot,Vot,Qut,Not,qot,Eot,Hot,Yot,Rot,Yut,Kot,Jot,zot,Qot,Tot,hot,Mot,kot,Wot,not,oot,Iot,Zut,Cot,mot,wot,$ot,got,iot,tot,yot,dot,Lot,Uot,Jut,Dot,vot,Pot,fot,sot,Got,uot,lot,rot])}function MNn(n,t,e){n.d=0,n.b=0,t.k==(oSn(),Out)&&e.k==Out&&HB(yMn(t,(fWn(),glt)),10)==HB(yMn(e,glt),10)&&(P7(t).j==(jUn(),hCt)?G$n(n,t,e):G$n(n,e,t)),t.k==Out&&e.k==Iut?P7(t).j==(jUn(),hCt)?n.d=1:n.b=1:e.k==Out&&t.k==Iut&&(P7(e).j==(jUn(),hCt)?n.b=1:n.d=1),omn(n,t,e)}function SNn(n){var t,e,i,r,c;return c=$Tn(n),null!=n.a&&$H(c,"category",n.a),!VE(new Cb(n.d))&&(ctn(c,"knownOptions",i=new Cl),t=new ip(i),i5(new Cb(n.d),t)),!VE(n.g)&&(ctn(c,"supportedFeatures",r=new Cl),e=new rp(r),i5(n.g,e)),c}function PNn(n){var t,e,i,r,c,a,u,o;for(t=336,e=0,r=new hR(n.length),u=0,o=(a=n).length;u>16!=7&&t){if(mkn(n,t))throw qp(new Fy(d6n+aPn(n)));i=null,n.Cb&&(i=(e=n.Db>>16)>=0?fkn(n,i):n.Cb.ih(n,-1-e,null,i)),t&&(i=HB(t,49).gh(n,1,ROt,i)),(i=QG(n,t,i))&&i.Fi()}else 0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new tU(n,1,7,t,t))}function ANn(n,t){var e,i;if(t!=n.Cb||n.Db>>16!=3&&t){if(mkn(n,t))throw qp(new Fy(d6n+Qfn(n)));i=null,n.Cb&&(i=(e=n.Db>>16)>=0?wkn(n,i):n.Cb.ih(n,-1-e,null,i)),t&&(i=HB(t,49).gh(n,0,HOt,i)),(i=YG(n,t,i))&&i.Fi()}else 0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new tU(n,1,3,t,t))}function $Nn(n,t){var e,i,r,c,a,u,o,s,h;return LOn(),t.d>n.d&&(u=n,n=t,t=u),t.d<63?Wxn(n,t):(s=U5(n,a=(-2&n.d)<<4),h=U5(t,a),i=oBn(n,z5(s,a)),r=oBn(t,z5(h,a)),o=$Nn(s,h),e=$Nn(i,r),c=z5(c=LHn(LHn(c=$Nn(oBn(s,i),oBn(r,h)),o),e),a),LHn(LHn(o=z5(o,a<<1),c),e))}function LNn(n,t,e){var i,r,c,a,u;for(a=Nfn(n,e),u=D8(Aut,u1n,10,t.length,0,1),i=0,c=a.Kc();c.Ob();)Gy(MD(yMn(r=HB(c.Pb(),11),(fWn(),ilt))))&&(u[i++]=HB(yMn(r,Tlt),10));if(i=0;r+=e?1:-1)c|=t.c.Sf(u,r,e,i&&!Gy(MD(yMn(t.j,(fWn(),Zft))))&&!Gy(MD(yMn(t.j,(fWn(),Olt))))),c|=t.q._f(u,r,e),c|=pRn(n,u[r],e,i);return MU(n.c,t),c}function KNn(n,t,e){var i,r,c,a,u,o,s,h;for(s=0,h=(o=O2(n.j)).length;s1&&(n.a=!0),xG(HB(e.b,65),XR(H$(HB(t.b,65).c),jL(WR(H$(HB(e.b,65).a),HB(t.b,65).a),r))),YZ(n,t),BNn(n,e)}function HNn(n){var t,e,i,r,c,a;for(r=new Vb(n.a.a);r.a0&&c>0?t++:i>0?e++:c>0?r++:e++}PQ(),y$(n.j,new wi)}function GNn(n){var t,e;e=null,t=HB(Dq(n.g,0),17);do{if(Nx(e=t.d.i,(fWn(),llt)))return HB(yMn(e,llt),11).i;if(e.k!=(oSn(),Cut)&&gAn(new sz(nN(bbn(e).a.Kc(),new f))))t=HB(X5(new sz(nN(bbn(e).a.Kc(),new f))),17);else if(e.k!=Cut)return null}while(e&&e.k!=(oSn(),Cut));return e}function zNn(n,t){var e,i,r,c,a,u,o,s,h;for(u=t.j,a=t.g,o=HB(Dq(u,u.c.length-1),113),b1(0,u.c.length),s=nyn(n,a,o,h=HB(u.c[0],113)),c=1;cs&&(o=e,h=r,s=i);t.a=h,t.c=o}function UNn(n,t){var e;if(!nX(n.b,t.b))throw qp(new By("Invalid hitboxes for scanline constraint calculation."));(jun(t.b,HB(SR(n.b,t.b),57))||jun(t.b,HB(MR(n.b,t.b),57)))&&(LT(),t.b),n.a[t.b.f]=HB(jK(n.b,t.b),57),(e=HB(kK(n.b,t.b),57))&&(n.a[e.f]=t.b)}function XNn(n){if(!n.a.d||!n.a.e)throw qp(new By((TD(qit),qit.k+" must have a source and target "+(TD(Git),Git.k+" specified."))));if(n.a.d==n.a.e)throw qp(new By("Network simplex does not support self-loops: "+n.a+" "+n.a.d+" "+n.a.e));return KN(n.a.d.g,n.a),KN(n.a.e.b,n.a),n.a}function WNn(n,t,e){var i,r,c,a,u,o,s;for(s=new gE(new Zd(n)),u=0,o=(a=Iun(zk(zut,1),o1n,11,0,[t,e])).length;uo-n.b&&uo-n.a&&u0&&++l;++f}return l}function axn(n,t){var e,i,r,c,a;for(a=HB(yMn(t,(CAn(),Nkt)),425),c=hpn(t.b,0);c.b!=c.d.c;)if(r=HB(w3(c),86),0==n.b[r.g]){switch(a.g){case 0:Yvn(n,r);break;case 1:qAn(n,r)}n.b[r.g]=2}for(i=hpn(n.a,0);i.b!=i.d.c;)kwn((e=HB(w3(i),188)).b.d,e,!0),kwn(e.c.b,e,!0);fon(t,(Gqn(),bkt),n.a)}function uxn(n,t){var e,i,r,c;return nS(),t?t==(Xqn(),_Lt)||(t==kLt||t==mLt||t==yLt)&&n!=vLt?new aUn(n,t):((e=(i=HB(t,677)).pk())||(jV(H7((OPn(),nLt),t)),e=i.pk()),!e.i&&(e.i=new Dp),!(r=HB(GC($Y((c=e.i).f,n)),1942))&&QW(c,n,r=new aUn(n,t)),r):uLt}function oxn(n,t){var e,i,r,c,a,u,o,s;for(u=HB(yMn(n,(fWn(),glt)),11),o=$on(Iun(zk(IMt,1),hVn,8,0,[u.i.n,u.n,u.a])).a,s=n.i.n.b,r=0,c=(i=n2(n.e)).length;r0?c.a?e>(u=c.b.rf().a)&&(r=(e-u)/2,c.d.b=r,c.d.c=r):c.d.c=n.s+e:qz(n.u)&&((i=FTn(c.b)).c<0&&(c.d.b=-i.c),i.c+i.b>c.b.rf().a&&(c.d.c=i.c+i.b-c.b.rf().a))}function lxn(n,t){var e,i;for(ATn(t,"Semi-Interactive Crossing Minimization Processor",1),e=!1,i=new Vb(n.b);i.a=0){if(t==i)return new cC(rln(-t-1),rln(-t-1));if(t==-i)return new cC(rln(-t),rln(i+1))}return e.Math.abs(t)>e.Math.abs(i)?new cC(rln(-t),rln(t<0?i:i+1)):new cC(rln(t+1),rln(i))}function dxn(n){var t,e;e=HB(yMn(n,(qXn(),jgt)),163),t=HB(yMn(n,(fWn(),rlt)),303),e==(Mbn(),Blt)?(fon(n,jgt,Glt),fon(n,rlt,(U7(),Cft))):e==qlt?(fon(n,jgt,Glt),fon(n,rlt,(U7(),Pft))):t==(U7(),Cft)?(fon(n,jgt,Blt),fon(n,rlt,Ift)):t==Pft&&(fon(n,jgt,qlt),fon(n,rlt,Ift))}function gxn(){gxn=A,Eyt=new sa,myt=gq(new H2,(kMn(),Fat),(bWn(),Eot)),jyt=VG(gq(new H2,Fat,Rot),Hat,Dot),Tyt=sgn(sgn(BM(VG(gq(new H2,Kat,Xot),Hat,Uot),Bat),zot),Wot),yyt=VG(gq(gq(gq(new H2,_at,Sot),Bat,Iot),Bat,Cot),Hat,Pot),kyt=VG(gq(gq(new H2,Bat,Cot),Bat,oot),Hat,uot)}function pxn(){pxn=A,Cyt=gq(VG(new H2,(kMn(),Hat),(bWn(),fot)),Fat,Eot),Lyt=sgn(sgn(BM(VG(gq(new H2,Kat,Xot),Hat,Uot),Bat),zot),Wot),Oyt=VG(gq(gq(gq(new H2,_at,Sot),Bat,Iot),Bat,Cot),Hat,Pot),$yt=gq(gq(new H2,Fat,Rot),Hat,Dot),Ayt=VG(gq(gq(new H2,Bat,Cot),Bat,oot),Hat,uot)}function vxn(n,t,e,i,r){var c,a;(w5(t)||t.c.i.c!=t.d.i.c)&&trn($on(Iun(zk(IMt,1),hVn,8,0,[r.i.n,r.n,r.a])),e)||w5(t)||(t.c==r?_x(t.a,0,new dA(e)):RH(t.a,new dA(e)),i&&!BT(n.a,e)&&((a=HB(yMn(t,(qXn(),mgt)),74))||(a=new jm,fon(t,mgt,a)),c5(a,c=new dA(e),a.c.b,a.c),MU(n.a,c)))}function mxn(n){var t;for(t=new sz(nN(lbn(n).a.Kc(),new f));gAn(t);)if(HB(X5(t),17).c.i.k!=(oSn(),Put))throw qp(new ck(I1n+pyn(n)+"' has its layer constraint set to FIRST, but has at least one incoming edge that does not come from a FIRST_SEPARATE node. That must not happen."))}function yxn(n,t,e){var i,r,c,a,u,o;if(0==(r=vbn(254&n.Db)))n.Eb=e;else{if(1==r)a=D8($nt,qWn,1,2,5,1),0==Kmn(n,t)?(a[0]=e,a[1]=n.Eb):(a[0]=n.Eb,a[1]=e);else for(a=D8($nt,qWn,1,r+1,5,1),c=ien(n.Eb),i=2,u=0,o=0;i<=128;i<<=1)i==t?a[o++]=e:0!=(n.Db&i)&&(a[o++]=c[u++]);n.Eb=a}n.Db|=t}function kxn(n,t,i){var r,c,a,u;for(this.b=new xp,c=0,r=0,u=new Vb(n);u.a0&&(c+=(a=HB(Dq(this.b,0),167)).o,r+=a.p),c*=2,r*=2,t>1?c=CJ(e.Math.ceil(c*t)):r=CJ(e.Math.ceil(r/t)),this.a=new Gwn(c,r)}function jxn(n,t,i,r,c,a){var u,o,s,h,f,l,b,w,d,g;for(h=r,t.j&&t.o?(d=(b=HB(KX(n.f,t.A),57)).d.c+b.d.b,--h):d=t.a.c+t.a.b,f=c,i.q&&i.o?(s=(b=HB(KX(n.f,i.C),57)).d.c,++f):s=i.a.c,w=d+(o=(s-d)/e.Math.max(2,f-h)),l=h;l=0;a+=r?1:-1){for(u=t[a],o=i==(jUn(),sCt)?r?ubn(u,i):ian(ubn(u,i)):r?ian(ubn(u,i)):ubn(u,i),c&&(n.c[u.p]=o.gc()),f=o.Kc();f.Ob();)h=HB(f.Pb(),11),n.d[h.p]=s++;pun(e,o)}}function Txn(n,t,e){var i,r,c,a,u,o,s,h;for(c=zy(SD(n.b.Kc().Pb())),s=zy(SD(Van(t.b))),i=jL(H$(n.a),s-e),r=jL(H$(t.a),e-c),jL(h=XR(i,r),1/(s-c)),this.a=h,this.b=new xp,u=!0,(a=n.b.Kc()).Pb();a.Ob();)o=zy(SD(a.Pb())),u&&o-e>R3n&&(this.b.Fc(e),u=!1),this.b.Fc(o);u&&this.b.Fc(e)}function Mxn(n){var t,e,i,r;if(fKn(n,n.n),n.d.c.length>0){for(tk(n.c);vAn(n,HB(t0(new Vb(n.e.a)),121))>5,t&=31,i>=n.d)return n.e<0?(ADn(),Jtt):(ADn(),iet);if(c=n.d-i,YSn(r=D8($Nt,fQn,25,c+1,15,1),c,n.a,i,t),n.e<0){for(e=0;e0&&n.a[e]<<32-t!=0){for(e=0;e=0)&&(!(e=Bqn((OPn(),nLt),r,t))||((i=e.Zj())>1||-1==i)&&3!=RW(H7(nLt,e))))}function Nxn(n,t,e,i){var r,c,a,u,o;return u=ITn(HB(Vtn((!t.b&&(t.b=new fK(_Ot,t,4,7)),t.b),0),82)),o=ITn(HB(Vtn((!t.c&&(t.c=new fK(_Ot,t,5,8)),t.c),0),82)),ZJ(u)==ZJ(o)||Ctn(o,u)?null:(a=WJ(t))==e?i:(c=HB(KX(n.a,a),10))&&(r=c.e)?r:null}function xxn(n,t){var e;switch(ATn(t,"Label side selection ("+(e=HB(yMn(n,(qXn(),Zdt)),276))+")",1),e.g){case 0:MAn(n,(Wyn(),EIt));break;case 1:MAn(n,(Wyn(),TIt));break;case 2:hBn(n,(Wyn(),EIt));break;case 3:hBn(n,(Wyn(),TIt));break;case 4:oDn(n,(Wyn(),EIt));break;case 5:oDn(n,(Wyn(),TIt))}qSn(t)}function Dxn(n,t,e){var i,r,c,a,u;if((c=n[bj(e,n.length)])[0].k==(oSn(),Sut))for(r=lj(e,c.length),u=t.j,i=0;i0&&(i[0]+=n.d,u-=i[0]),i[2]>0&&(i[2]+=n.d,u-=i[2]),a=e.Math.max(0,u),i[1]=e.Math.max(i[1],u),J5(n,Uit,c.c+r.b+i[0]-(i[1]-u)/2,i),t==Uit&&(n.c.b=a,n.c.c=c.c+r.b+(a-u)/2)}function Yxn(){this.c=D8(DNt,GQn,25,(jUn(),Iun(zk(BCt,1),JZn,61,0,[ICt,hCt,sCt,PCt,CCt])).length,15,1),this.b=D8(DNt,GQn,25,Iun(zk(BCt,1),JZn,61,0,[ICt,hCt,sCt,PCt,CCt]).length,15,1),this.a=D8(DNt,GQn,25,Iun(zk(BCt,1),JZn,61,0,[ICt,hCt,sCt,PCt,CCt]).length,15,1),yS(this.c,KQn),yS(this.b,_Qn),yS(this.a,_Qn)}function Jxn(n,t,e){var i,r,c,a;if(t<=e?(r=t,c=e):(r=e,c=t),i=0,null==n.b)n.b=D8($Nt,fQn,25,2,15,1),n.b[0]=r,n.b[1]=c,n.c=!0;else{if(i=n.b.length,n.b[i-1]+1==r)return void(n.b[i-1]=c);a=D8($Nt,fQn,25,i+2,15,1),uHn(n.b,0,a,0,i),n.b=a,n.b[i-1]>=r&&(n.c=!1,n.a=!1),n.b[i++]=r,n.b[i]=c,n.c||M$n(n)}}function Zxn(n,t,e){var i,r,c,a,u,o,s;for(s=t.d,n.a=new Z6(s.c.length),n.c=new Dp,u=new Vb(s);u.a=0?n._g(s,!1,!0):aOn(n,e,!1),58).Kc();c.Ob();){for(r=HB(c.Pb(),56),h=0;h1;)lDn(r,r.i-1);return i}function uDn(n,t){var e,i,r,c,a,u,o;for(ATn(t,"Comment post-processing",1),c=new Vb(n.b);c.an.d[a.p]&&(e+=t5(n.b,c),g3(n.a,rln(c)));for(;!Vy(n.a);)Snn(n.b,HB(gU(n.a),19).a)}return e}function fDn(n,t,e){var i,r,c,a;for(c=(!t.a&&(t.a=new iU(XOt,t,10,11)),t.a).i,r=new $L((!t.a&&(t.a=new iU(XOt,t,10,11)),t.a));r.e!=r.i.gc();)0==(!(i=HB(jpn(r),33)).a&&(i.a=new iU(XOt,i,10,11)),i.a).i||(c+=fDn(n,i,!1));if(e)for(a=ZJ(t);a;)c+=(!a.a&&(a.a=new iU(XOt,a,10,11)),a.a).i,a=ZJ(a);return c}function lDn(n,t){var e,i,r,c;return n.ej()?(i=null,r=n.fj(),n.ij()&&(i=n.kj(n.pi(t),null)),e=n.Zi(4,c=Nyn(n,t),null,t,r),n.bj()&&null!=c?(i=n.dj(c,i))?(i.Ei(e),i.Fi()):n.$i(e):i?(i.Ei(e),i.Fi()):n.$i(e),c):(c=Nyn(n,t),n.bj()&&null!=c&&(i=n.dj(c,null))&&i.Fi(),c)}function bDn(n){var t,i,r,c,a,u,o,s,h,f;for(h=n.a,t=new Kv,s=0,r=new Vb(n.d);r.ao.d&&(f=o.d+o.a+h));i.c.d=f,t.a.zc(i,t),s=e.Math.max(s,i.c.d+i.c.a)}return s}function wDn(){wDn=A,fft=new NP("COMMENTS",0),bft=new NP("EXTERNAL_PORTS",1),wft=new NP("HYPEREDGES",2),dft=new NP("HYPERNODES",3),gft=new NP("NON_FREE_PORTS",4),pft=new NP("NORTH_SOUTH_PORTS",5),mft=new NP(z1n,6),hft=new NP("CENTER_LABELS",7),lft=new NP("END_LABELS",8),vft=new NP("PARTITIONS",9)}function dDn(n){var t,e,i,r,c;for(r=new xp,t=new Lq((!n.a&&(n.a=new iU(XOt,n,10,11)),n.a)),i=new sz(nN(gLn(n).a.Kc(),new f));gAn(i);)aL(Vtn((!(e=HB(X5(i),79)).b&&(e.b=new fK(_Ot,e,4,7)),e.b),0),186)||(c=ITn(HB(Vtn((!e.c&&(e.c=new fK(_Ot,e,5,8)),e.c),0),82)),t.a._b(c)||(r.c[r.c.length]=c));return r}function gDn(n){var t,e,i,r,c;for(r=new Kv,t=new Lq((!n.a&&(n.a=new iU(XOt,n,10,11)),n.a)),i=new sz(nN(gLn(n).a.Kc(),new f));gAn(i);)aL(Vtn((!(e=HB(X5(i),79)).b&&(e.b=new fK(_Ot,e,4,7)),e.b),0),186)||(c=ITn(HB(Vtn((!e.c&&(e.c=new fK(_Ot,e,5,8)),e.c),0),82)),t.a._b(c)||r.a.zc(c,r));return r}function pDn(n,t,e,i,r){return i<0?((i=UTn(n,r,Iun(zk(Ytt,1),hVn,2,6,[JVn,ZVn,nQn,tQn,eQn,iQn,rQn,cQn,aQn,uQn,oQn,sQn]),t))<0&&(i=UTn(n,r,Iun(zk(Ytt,1),hVn,2,6,["Jan","Feb","Mar","Apr",eQn,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),t)),!(i<0||(e.k=i,0))):i>0&&(e.k=i-1,!0)}function vDn(n,t,e,i,r){return i<0?((i=UTn(n,r,Iun(zk(Ytt,1),hVn,2,6,[JVn,ZVn,nQn,tQn,eQn,iQn,rQn,cQn,aQn,uQn,oQn,sQn]),t))<0&&(i=UTn(n,r,Iun(zk(Ytt,1),hVn,2,6,["Jan","Feb","Mar","Apr",eQn,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),t)),!(i<0||(e.k=i,0))):i>0&&(e.k=i-1,!0)}function mDn(n,t,e,i,r,c){var a,u,o;if(u=32,i<0){if(t[0]>=n.length)return!1;if(43!=(u=lV(n,t[0]))&&45!=u)return!1;if(++t[0],(i=XCn(n,t))<0)return!1;45==u&&(i=-i)}return 32==u&&t[0]-e==2&&2==r.b&&(a=(o=(new $T).q.getFullYear()-hQn+hQn-80)%100,c.a=i==a,i+=100*(o/100|0)+(i=h&&(s=r);s&&(f=e.Math.max(f,s.a.o.a)),f>b&&(l=h,b=f)}return l}function SDn(n,t,e){var i,r,c;if(n.e=e,n.d=0,n.b=0,n.f=1,n.i=t,16==(16&n.e)&&(n.i=vKn(n.i)),n.j=n.i.length,YXn(n),c=Qdn(n),n.d!=n.j)throw qp(new uk(jWn((o$(),d8n))));if(n.g){for(i=0;iv4n?y$(s,n.b):r<=v4n&&r>m4n?y$(s,n.d):r<=m4n&&r>y4n?y$(s,n.c):r<=y4n&&y$(s,n.a),a=ODn(n,s,a);return c}function ADn(){var n;for(ADn=A,Ztt=new W6(1,1),tet=new W6(1,10),iet=new W6(0,0),Jtt=new W6(-1,1),net=Iun(zk(set,1),hVn,91,0,[iet,Ztt,new W6(1,2),new W6(1,3),new W6(1,4),new W6(1,5),new W6(1,6),new W6(1,7),new W6(1,8),new W6(1,9),tet]),eet=D8(set,hVn,91,32,0,1),n=0;n1&&(i=new DI(r,e.b),RH(t.a,i)),tin(t.a,Iun(zk(IMt,1),hVn,8,0,[f,h]))}function KDn(n){xM(n,new STn(mj(dj(vj(pj(new gu,F5n),"ELK Randomizer"),'Distributes the nodes randomly on the plane, leading to very obfuscating layouts. Can be useful to demonstrate the power of "real" layout algorithms.'),new Yu))),o2(n,F5n,YJn,NCt),o2(n,F5n,mZn,15),o2(n,F5n,kZn,rln(0)),o2(n,F5n,QJn,gZn)}function _Dn(){var n,t,e,i,r,c;for(_Dn=A,YLt=D8(xNt,m6n,25,255,15,1),JLt=D8(ANt,VVn,25,16,15,1),t=0;t<255;t++)YLt[t]=-1;for(e=57;e>=48;e--)YLt[e]=e-48<<24>>24;for(i=70;i>=65;i--)YLt[i]=i-65+10<<24>>24;for(r=102;r>=97;r--)YLt[r]=r-97+10<<24>>24;for(c=0;c<10;c++)JLt[c]=48+c&YVn;for(n=10;n<=15;n++)JLt[n]=65+n-10&YVn}function FDn(n,t,e){var i,r,c,a,u,o,s,h;return u=t.i-n.g/2,o=e.i-n.g/2,s=t.j-n.g/2,h=e.j-n.g/2,c=t.g+n.g/2,a=e.g+n.g/2,i=t.f+n.g/2,r=e.f+n.g/2,u>19!=0)return"-"+zDn(uon(n));for(e=n,i="";0!=e.l||0!=e.m||0!=e.h;){if(e=$qn(e,B5($Qn),!0),t=""+ME(btt),0!=e.l||0!=e.m||0!=e.h)for(r=9-t.length;r>0;r--)t="0"+t;i=t+i}return i}function UDn(){if(!Object.create||!Object.getOwnPropertyNames)return!1;var n="__proto__",t=Object.create(null);return void 0===t[n]&&0==Object.getOwnPropertyNames(t).length&&(t[n]=42,42===t[n]&&0!=Object.getOwnPropertyNames(t).length)}function XDn(n){var t,e,i,r,c,a,u;for(t=!1,e=0,r=new Vb(n.d.b);r.a=n.a)return-1;if(!iTn(t,i))return-1;if(f3(HB(r.Kb(t),20)))return 1;for(c=0,u=HB(r.Kb(t),20).Kc();u.Ob();){if(-1==(o=QDn(n,(a=HB(u.Pb(),17)).c.i==t?a.d.i:a.c.i,i,r)))return-1;if((c=e.Math.max(c,o))>n.c-1)return-1}return c+1}function YDn(n,t){var e,i,r,c,a,u;if(zC(t)===zC(n))return!0;if(!aL(t,15))return!1;if(i=HB(t,15),u=n.gc(),i.gc()!=u)return!1;if(a=i.Kc(),n.ni()){for(e=0;e0)if(n.qj(),null!=t){for(c=0;c>24;case 97:case 98:case 99:case 100:case 101:case 102:return n-97+10<<24>>24;case 65:case 66:case 67:case 68:case 69:case 70:return n-65+10<<24>>24;default:throw qp(new Sk("Invalid hexadecimal"))}}function tRn(n,t,e){var i,r,c,a;for(ATn(e,"Processor order nodes",2),n.a=zy(SD(yMn(t,(CAn(),Dkt)))),r=new JT,a=hpn(t.b,0);a.b!=a.d.c;)Gy(MD(yMn(c=HB(w3(a),86),(Gqn(),gkt))))&&c5(r,c,r.c.b,r.c);Ix(0!=r.b),_Hn(n,i=HB(r.a.a.c,86)),!e.b&&Gin(e,1),HRn(n,i,0-zy(SD(yMn(i,(Gqn(),okt))))/2,0),!e.b&&Gin(e,1),qSn(e)}function eRn(){eRn=A,Kit=new qS("SPIRAL",0),Lit=new qS("LINE_BY_LINE",1),Nit=new qS("MANHATTAN",2),$it=new qS("JITTER",3),Dit=new qS("QUADRANTS_LINE_BY_LINE",4),Rit=new qS("QUADRANTS_MANHATTAN",5),xit=new qS("QUADRANTS_JITTER",6),Ait=new qS("COMBINE_LINE_BY_LINE_MANHATTAN",7),Oit=new qS("COMBINE_JITTER_MANHATTAN",8)}function iRn(n,t,e,i){var r,c,a,u,o,s;for(o=xjn(n,e),s=xjn(t,e),r=!1;o&&s&&(i||yyn(o,s,e));)a=xjn(o,e),u=xjn(s,e),$7(t),$7(n),c=o.c,cGn(o,!1),cGn(s,!1),e?(Yyn(t,s.p,c),t.p=s.p,Yyn(n,o.p+1,c),n.p=o.p):(Yyn(n,o.p,c),n.p=o.p,Yyn(t,s.p+1,c),t.p=s.p),IZ(o,null),IZ(s,null),o=a,s=u,r=!0;return r}function rRn(n,t,e,i){var r,c,a,u,o;for(r=!1,c=!1,u=new Vb(i.j);u.a=t.length)throw qp(new $y("Greedy SwitchDecider: Free layer not in graph."));this.c=t[n],this.e=new YK(i),krn(this.e,this.c,(jUn(),CCt)),this.i=new YK(i),krn(this.i,this.c,sCt),this.f=new bG(this.c),this.a=!c&&r.i&&!r.s&&this.c[0].k==(oSn(),Sut),this.a&&pPn(this,n,t.length)}function sRn(n,t){var e,i,r,c,a,u;c=!n.B.Hc((t_n(),qCt)),a=n.B.Hc(UCt),n.a=new qwn(a,c,n.c),n.n&&jQ(n.a.n,n.n),Ey(n.g,(Rtn(),Uit),n.a),t||((i=new Ogn(1,c,n.c)).n.a=n.k,yG(n.p,(jUn(),hCt),i),(r=new Ogn(1,c,n.c)).n.d=n.k,yG(n.p,PCt,r),(u=new Ogn(0,c,n.c)).n.c=n.k,yG(n.p,CCt,u),(e=new Ogn(0,c,n.c)).n.b=n.k,yG(n.p,sCt,e))}function hRn(n){var t,e,i;switch((t=HB(yMn(n.d,(qXn(),ngt)),218)).g){case 2:e=SXn(n);break;case 3:i=new xp,ZT($V(LV(dnn(dnn(new Kq(null,new d1(n.d.b,16)),new Ar),new $r),new Lr),new vr),new Cd(i)),e=i;break;default:throw qp(new By("Compaction not supported for "+t+" edges."))}pqn(n,e),i5(new Cb(n.g),new Pd(n))}function fRn(n,t){var e;return e=new nt,t&&Gan(e,HB(KX(n.a,ROt),94)),aL(t,470)&&Gan(e,HB(KX(n.a,KOt),94)),aL(t,354)?(Gan(e,HB(KX(n.a,UOt),94)),e):(aL(t,82)&&Gan(e,HB(KX(n.a,_Ot),94)),aL(t,239)?(Gan(e,HB(KX(n.a,XOt),94)),e):aL(t,186)?(Gan(e,HB(KX(n.a,WOt),94)),e):(aL(t,352)&&Gan(e,HB(KX(n.a,FOt),94)),e))}function lRn(){lRn=A,nat=new WA((hWn(),vPt),rln(1)),aat=new WA(NPt,80),cat=new WA(PPt,5),Bct=new WA(aSt,gZn),tat=new WA(mPt,rln(1)),rat=new WA(jPt,(fN(),!0)),Yct=new VA(50),Qct=new WA(WSt,Yct),qct=CSt,Jct=oPt,Hct=new WA(gSt,!1),Vct=XSt,Wct=GSt,Xct=_St,Uct=RSt,Zct=lPt,ESn(),zct=Oct,uat=xct,Gct=Cct,eat=$ct,iat=Nct}function bRn(n){var t,e,i,r,c,a,u;for(u=new m5,a=new Vb(n.a);a.a0&&t=0)return!1;if(t.p=e.b,VB(e.e,t),i==(oSn(),Iut)||i==Out)for(r=new Vb(t.j);r.a1||-1==a)&&(c|=16),0!=(r.Bb&f6n)&&(c|=64)),0!=(e.Bb&HQn)&&(c|=S9n),c|=j6n):aL(t,457)?c|=512:(i=t.Bj())&&0!=(1&i.i)&&(c|=256),0!=(512&n.Bb)&&(c|=128),c}function LRn(n,t){var e,i,r,c,a;for(n=null==n?UWn:(jW(n),n),r=0;rn.d[u.p]&&(e+=t5(n.b,c),g3(n.a,rln(c))):++a;for(e+=n.b.d*a;!Vy(n.a);)Snn(n.b,HB(gU(n.a),19).a)}return e}function DRn(n,t){var e;return n.f==oLt?(e=RW(H7((OPn(),nLt),t)),n.e?4==e&&t!=(MOn(),bLt)&&t!=(MOn(),hLt)&&t!=(MOn(),fLt)&&t!=(MOn(),lLt):2==e):!(!n.d||!(n.d.Hc(t)||n.d.Hc(n0(H7((OPn(),nLt),t)))||n.d.Hc(Bqn((OPn(),nLt),n.b,t))))||!(!n.f||!uNn((OPn(),n.f),EV(H7(nLt,t))))&&(e=RW(H7(nLt,t)),n.e?4==e:2==e)}function RRn(n,t,i,r){var c,a,u,o,s,h,f,l;return s=(u=HB(n$n(i,(hWn(),pPt)),8)).a,f=u.b+n,(c=e.Math.atan2(f,s))<0&&(c+=n4n),(c+=t)>n4n&&(c-=n4n),h=(o=HB(n$n(r,pPt),8)).a,l=o.b+n,(a=e.Math.atan2(l,h))<0&&(a+=n4n),(a+=t)>n4n&&(a-=n4n),f$(),cin(1e-10),e.Math.abs(c-a)<=1e-10||c==a||isNaN(c)&&isNaN(a)?0:ca?1:UO(isNaN(c),isNaN(a))}function KRn(n){var t,e,i,r,c,a,u;for(u=new Dp,i=new Vb(n.a.b);i.a=n.o)throw qp(new Pv);a=t>>5,c=kz(1,gG(kz(31&t,1))),n.n[e][a]=r?r0(n.n[e][a],c):i0(n.n[e][a],oH(c)),c=kz(c,1),n.n[e][a]=i?r0(n.n[e][a],c):i0(n.n[e][a],oH(c))}catch(u){throw aL(u=bun(u),320)?qp(new $y(SJn+n.o+"*"+n.p+PJn+t+BWn+e+IJn)):qp(u)}}function HRn(n,t,i,r){var c,a;t&&(c=zy(SD(yMn(t,(Gqn(),lkt))))+r,a=i+zy(SD(yMn(t,okt)))/2,fon(t,pkt,rln(gG(lan(e.Math.round(c))))),fon(t,vkt,rln(gG(lan(e.Math.round(a))))),0==t.d.b||HRn(n,HB(rL(new dg(hpn(new wg(t).a.d,0))),86),i+zy(SD(yMn(t,okt)))+n.a,r+zy(SD(yMn(t,skt)))),null!=yMn(t,dkt)&&HRn(n,HB(yMn(t,dkt),86),i,r))}function qRn(n,t){var i,r,c,a,u,o,s,h,f,l,b;for(c=2*zy(SD(yMn(s=mW(t.a),(qXn(),Mpt)))),f=zy(SD(yMn(s,$pt))),h=e.Math.max(c,f),a=D8(DNt,GQn,25,t.f-t.c+1,15,1),r=-h,i=0,o=t.b.Kc();o.Ob();)u=HB(o.Pb(),10),r+=n.a[u.c.p]+h,a[i++]=r;for(r+=n.a[t.a.c.p]+h,a[i++]=r,b=new Vb(t.e);b.a0&&(!(i=(!n.n&&(n.n=new iU(UOt,n,1,7)),HB(Vtn(n.n,0),137)).a)||sO(sO((t.a+=' "',t),i),'"'))),sO(jE(sO(jE(sO(jE(sO(jE((t.a+=" (",t),n.i),","),n.j)," | "),n.g),","),n.f),")"),t.a)}function XRn(n){var t,e,i;return 0!=(64&n.Db)?ySn(n):(t=new bN(e6n),(e=n.k)?sO(sO((t.a+=' "',t),e),'"'):(!n.n&&(n.n=new iU(UOt,n,1,7)),n.n.i>0&&(!(i=(!n.n&&(n.n=new iU(UOt,n,1,7)),HB(Vtn(n.n,0),137)).a)||sO(sO((t.a+=' "',t),i),'"'))),sO(jE(sO(jE(sO(jE(sO(jE((t.a+=" (",t),n.i),","),n.j)," | "),n.g),","),n.f),")"),t.a)}function WRn(n,t){var e,i,r,c,a,u;if(null==t||0==t.length)return null;if(!(r=HB(PJ(n.a,t),149))){for(i=new _b(new Ab(n.b).a.vc().Kc());i.a.Ob();)if(c=HB(i.a.Pb(),42),a=(e=HB(c.dd(),149)).c,u=t.length,yK(a.substr(a.length-u,u),t)&&(t.length==a.length||46==lV(a,a.length-t.length-1))){if(r)return null;r=e}r&&yZ(n.a,t,r)}return r}function VRn(n,t){var e,i,r;return e=new Dn,(i=HB(I4(LV(new Kq(null,new d1(n.f,16)),e),D7(new Y,new J,new an,new un,Iun(zk(tit,1),LVn,132,0,[(Gsn(),Wet),Xet]))),21).gc())<(r=HB(I4(LV(new Kq(null,new d1(t.f,16)),e),D7(new Y,new J,new an,new un,Iun(zk(tit,1),LVn,132,0,[Wet,Xet]))),21).gc())?-1:i==r?0:1}function QRn(n){var t,e,i;Nx(n,(qXn(),Lgt))&&((i=HB(yMn(n,Lgt),21)).dc()||(e=new JK(t=HB(Qj(zIt),9),HB(PR(t,t.length),9),0),i.Hc((t$n(),LIt))?srn(e,LIt):srn(e,NIt),i.Hc(AIt)||srn(e,AIt),i.Hc(OIt)?srn(e,RIt):i.Hc(CIt)?srn(e,DIt):i.Hc($It)&&srn(e,xIt),i.Hc(RIt)?srn(e,OIt):i.Hc(DIt)?srn(e,CIt):i.Hc(xIt)&&srn(e,$It),fon(n,Lgt,e)))}function YRn(n){var t,e,i,r,c,a,u;for(r=HB(yMn(n,(fWn(),clt)),10),b1(0,(i=n.j).c.length),e=HB(i.c[0],11),a=new Vb(r.j);a.ar.p?(GIn(c,PCt),c.d&&(u=c.o.b,t=c.a.b,c.a.b=u-t)):c.j==PCt&&r.p>n.p&&(GIn(c,hCt),c.d&&(u=c.o.b,t=c.a.b,c.a.b=-(u-t)));break}return r}function JRn(n,t,e,i){var r,c,a,u,o,s,h,f,l,b,w;if(c=e,e1&&(i=new DI(r,e.b),RH(t.a,i)),tin(t.a,Iun(zk(IMt,1),hVn,8,0,[f,h]))}function pKn(n,t,e){var i,r,c,a,u,o;if(t){if(e<=-1){if(aL(i=rtn(t.Tg(),-1-e),99))return HB(i,18);for(u=0,o=(a=HB(t.ah(i),153)).gc();u0){for(r=o.length;r>0&&""==o[r-1];)--r;r=40)&&TFn(n),HHn(n),Mxn(n),e=kln(n),i=0;e&&i0&&RH(n.f,c)):(n.c[a]-=s+1,n.c[a]<=0&&n.a[a]>0&&RH(n.e,c))))}function JKn(n){var t,e,i,r,c,a,u;for(c=new gE(HB(kX(new Kn),62)),u=_Qn,e=new Vb(n.d);e.a=0&&oe?t:e;s<=f;++s)s==e?u=i++:(c=r[s],h=w.rl(c.ak()),s==t&&(o=s!=f||h?i:i-1),h&&++i);return l=HB(Oln(n,t,e),72),u!=o&&Nv(n,new E9(n.e,7,a,rln(u),b.dd(),o)),l}return HB(Oln(n,t,e),72)}function o_n(n,t){var e,i,r,c,a,u;for(ATn(t,"Port order processing",1),u=HB(yMn(n,(qXn(),spt)),421),e=new Vb(n.b);e.a=0&&(!Cyn(n,a)||(o<22?u.l|=1<>>1,a.m=s>>>1|(1&h)<<21,a.l=f>>>1|(1&s)<<21,--o;return e&&Aon(u),c&&(i?(btt=uon(n),r&&(btt=fun(btt,(W7(),gtt)))):btt=S$(n.l,n.m,n.h)),u}function l_n(n,t){var e,i,r,c,a,u,o,s,h,f;for(s=n.e[t.c.p][t.p]+1,o=t.c.a.c.length+1,u=new Vb(n.a);u.a0&&(w1(0,n.length),45==n.charCodeAt(0)||(w1(0,n.length),43==n.charCodeAt(0)))?1:0;ie)throw qp(new Sk(RQn+n+'"'));return a}function w_n(n){var t,i,r,c,a,u;for(a=new JT,c=new Vb(n.a);c.a1)&&1==t&&HB(n.a[n.b],10).k==(oSn(),Put)?fFn(HB(n.a[n.b],10),(Wyn(),EIt)):i&&(!e||(n.c-n.b&n.a.length-1)>1)&&1==t&&HB(n.a[n.c-1&n.a.length-1],10).k==(oSn(),Put)?fFn(HB(n.a[n.c-1&n.a.length-1],10),(Wyn(),TIt)):2==(n.c-n.b&n.a.length-1)?(fFn(HB(Ton(n),10),(Wyn(),EIt)),fFn(HB(Ton(n),10),TIt)):hLn(n,r),s4(n)}function m_n(n,t,i){var r,c,a,u,o;for(a=0,c=new $L((!n.a&&(n.a=new iU(XOt,n,10,11)),n.a));c.e!=c.i.gc();)u="",0==(!(r=HB(jpn(c),33)).n&&(r.n=new iU(UOt,r,1,7)),r.n).i||(u=HB(Vtn((!r.n&&(r.n=new iU(UOt,r,1,7)),r.n),0),137).a),Gan(o=new asn(a++,t,u),r),fon(o,(Gqn(),hkt),r),o.e.b=r.j+r.f/2,o.f.a=e.Math.max(r.g,1),o.e.a=r.i+r.g/2,o.f.b=e.Math.max(r.f,1),RH(t.b,o),EIn(i.f,r,o)}function y_n(n){var t,e,i,r,c;i=HB(yMn(n,(fWn(),glt)),33),c=HB(n$n(i,(qXn(),Bgt)),174).Hc((ydn(),FCt)),n.e||(r=HB(yMn(n,nlt),21),t=new DI(n.f.a+n.d.b+n.d.c,n.f.b+n.d.d+n.d.a),r.Hc((wDn(),bft))?(Jpn(i,ipt,(YEn(),WIt)),_Un(i,t.a,t.b,!1,!0)):Gy(MD(n$n(i,Hgt)))||_Un(i,t.a,t.b,!0,!0)),Jpn(i,Bgt,c?tbn(FCt):new JK(e=HB(Qj(JCt),9),HB(PR(e,e.length),9),0))}function k_n(n,t,e){var i,r,c,a;if(t[0]>=n.length)return e.o=0,!0;switch(lV(n,t[0])){case 43:r=1;break;case 45:r=-1;break;default:return e.o=0,!0}if(++t[0],c=t[0],0==(a=XCn(n,t))&&t[0]==c)return!1;if(t[0]=0&&u!=e&&(c=new tU(n,1,u,a,null),i?i.Ei(c):i=c),e>=0&&(c=new tU(n,1,e,u==e?a:null,t),i?i.Ei(c):i=c)),i}function S_n(n){var t,e,i;if(null==n.b){if(i=new Pk,null!=n.i&&(aO(i,n.i),i.a+=":"),0!=(256&n.f)){for(0!=(256&n.f)&&null!=n.a&&(cQ(n.i)||(i.a+="//"),aO(i,n.a)),null!=n.d&&(i.a+="/",aO(i,n.d)),0!=(16&n.f)&&(i.a+="/"),t=0,e=n.j.length;ts)&&(o+u+aHn(i,s,!1).a<=t.b&&(v9(e,c-e.s),e.c=!0,v9(i,c-e.s),Mvn(i,e.s,e.t+e.d+u),i.k=!0,Dcn(e.q,i),h=!0,r&&(ein(t,i),i.j=t,n.c.length>a&&(Mkn((b1(a,n.c.length),HB(n.c[a],200)),i),0==(b1(a,n.c.length),HB(n.c[a],200)).a.c.length&&h6(n,a)))),h)}function L_n(n,t){var e,i,r,c,a;if(ATn(t,"Partition midprocessing",1),r=new vJ,ZT($V(new Kq(null,new d1(n.a,16)),new gi),new bd(r)),0!=r.d){for(a=HB(I4(u1(new Kq(null,(r.i||(r.i=new qL(r,r.c))).Nc())),y9(new q,new H,new cn,Iun(zk(tit,1),LVn,132,0,[(Gsn(),Xet)]))),15),e=HB((i=a.Kc()).Pb(),19);i.Ob();)c=HB(i.Pb(),19),WLn(HB(f6(r,e),21),HB(f6(r,c),21)),e=c;qSn(t)}}function N_n(n,t,e){var i,r,c,a,u;if(0==t.p){for(t.p=1,(r=e)||(r=new cC(new xp,new JK(i=HB(Qj(BCt),9),HB(PR(i,i.length),9),0))),HB(r.a,15).Fc(t),t.k==(oSn(),Sut)&&HB(r.b,21).Fc(HB(yMn(t,(fWn(),Yft)),61)),a=new Vb(t.j);a.a0)if(r=HB(n.Ab.g,1934),null==t){for(c=0;c1)for(i=new Vb(r);i.ai.s&&oa&&(a=r,s.c=D8($nt,qWn,1,0,5,1)),r==a&&VB(s,new cC(e.c.i,e)));PQ(),y$(s,n.c),jG(n.b,u.p,s)}}function G_n(n,t){var e,i,r,c,a,u,o,s;for(c=new Vb(t.b);c.aa&&(a=r,s.c=D8($nt,qWn,1,0,5,1)),r==a&&VB(s,new cC(e.d.i,e)));PQ(),y$(s,n.c),jG(n.f,u.p,s)}}function z_n(n){xM(n,new STn(mj(dj(vj(pj(new gu,b5n),"ELK Box"),"Algorithm for packing of unconnected boxes, i.e. graphs without edges."),new Du))),o2(n,b5n,YJn,UMt),o2(n,b5n,mZn,15),o2(n,b5n,vZn,rln(0)),o2(n,b5n,$4n,ypn(FMt)),o2(n,b5n,IZn,ypn(HMt)),o2(n,b5n,PZn,ypn(GMt)),o2(n,b5n,QJn,l5n),o2(n,b5n,EZn,ypn(BMt)),o2(n,b5n,HZn,ypn(qMt)),o2(n,b5n,w5n,ypn(KMt)),o2(n,b5n,o3n,ypn(_Mt))}function U_n(n,t){var e,i,r,c,a,u,o,s,h;if(a=(r=n.i).o.a,c=r.o.b,a<=0&&c<=0)return jUn(),ICt;switch(s=n.n.a,h=n.n.b,u=n.o.a,e=n.o.b,t.g){case 2:case 1:if(s<0)return jUn(),CCt;if(s+u>a)return jUn(),sCt;break;case 4:case 3:if(h<0)return jUn(),hCt;if(h+e>c)return jUn(),PCt}return(o=(s+u/2)/a)+(i=(h+e/2)/c)<=1&&o-i<=0?(jUn(),CCt):o+i>=1&&o-i>=0?(jUn(),sCt):i<.5?(jUn(),hCt):(jUn(),PCt)}function X_n(n,t){var e,i,r,c,a,u,o,s,h,f,l,b;for(e=!1,o=zy(SD(yMn(t,(qXn(),Apt)))),l=_Vn*o,r=new Vb(t.b);r.aa.n.b-a.d.d+h.a+l&&(b=s.g+h.g,h.a=(h.g*h.a+s.g*s.a)/b,h.g=b,s.f=h,e=!0)),c=a,s=h;return e}function W_n(n,t,e,i,r,c,a){var u,o,s,h,f;for(f=new wA,o=t.Kc();o.Ob();)for(h=new Vb(HB(o.Pb(),839).wf());h.a0?u.a?r>(s=u.b.rf().b)&&(n.v||1==u.c.d.c.length?(a=(r-s)/2,u.d.d=a,u.d.a=a):(i=(HB(Dq(u.c.d,0),181).rf().b-s)/2,u.d.d=e.Math.max(0,i),u.d.a=r-i-s)):u.d.a=n.t+r:qz(n.u)&&((c=FTn(u.b)).d<0&&(u.d.d=-c.d),c.d+c.a>u.b.rf().b&&(u.d.a=c.d+c.a-u.b.rf().b))}function Y_n(n,t){var e;switch(mnn(n)){case 6:return WC(t);case 7:return XC(t);case 8:return UC(t);case 3:return Array.isArray(t)&&!((e=mnn(t))>=14&&e<=16);case 11:return null!=t&&typeof t===DWn;case 12:return null!=t&&(typeof t===$Wn||typeof t==DWn);case 0:return Ypn(t,n.__elementTypeId$);case 2:return RU(t)&&!(t.im===O);case 1:return RU(t)&&!(t.im===O)||Ypn(t,n.__elementTypeId$);default:return!0}}function J_n(n,t){var i,r,c,a;return r=e.Math.min(e.Math.abs(n.c-(t.c+t.b)),e.Math.abs(n.c+n.b-t.c)),a=e.Math.min(e.Math.abs(n.d-(t.d+t.a)),e.Math.abs(n.d+n.a-t.d)),(i=e.Math.abs(n.c+n.b/2-(t.c+t.b/2)))>n.b/2+t.b/2||(c=e.Math.abs(n.d+n.a/2-(t.d+t.a/2)))>n.a/2+t.a/2?1:0==i&&0==c?0:0==i?a/c+1:0==c?r/i+1:e.Math.min(r/i,a/c)+1}function Z_n(n,t){var i,r,c,a,u,o;return(c=rin(n))==(o=rin(t))?n.e==t.e&&n.a<54&&t.a<54?n.ft.f?1:0:(r=n.e-t.e,(i=(n.d>0?n.d:e.Math.floor((n.a-1)*UQn)+1)-(t.d>0?t.d:e.Math.floor((t.a-1)*UQn)+1))>r+1?c:i0&&(u=xnn(u,jBn(r))),egn(a,u))):c0&&n.d!=(G7(),$at)&&(u+=a*(i.d.a+n.a[t.b][i.b]*(t.d.a-i.d.a)/e)),e>0&&n.d!=(G7(),Oat)&&(o+=a*(i.d.b+n.a[t.b][i.b]*(t.d.b-i.d.b)/e)));switch(n.d.g){case 1:return new DI(u/c,t.d.b);case 2:return new DI(t.d.a,o/c);default:return new DI(u/c,o/c)}}function tFn(n,t){var e,i,r,c;if(Usn(),c=HB(yMn(n.i,(qXn(),ipt)),98),0!=n.j.g-t.j.g||c!=(YEn(),XIt)&&c!=VIt&&c!=WIt)return 0;if(c==(YEn(),XIt)&&(e=HB(yMn(n,rpt),19),i=HB(yMn(t,rpt),19),e&&i&&0!=(r=e.a-i.a)))return r;switch(n.j.g){case 1:return Iln(n.n.a,t.n.a);case 2:return Iln(n.n.b,t.n.b);case 3:return Iln(t.n.a,n.n.a);case 4:return Iln(t.n.b,n.n.b);default:throw qp(new By(c1n))}}function eFn(n){var t,e,i,r,c;for(VB(c=new Z6((!n.a&&(n.a=new LL(DOt,n,5)),n.a).i+2),new DI(n.j,n.k)),ZT(new Kq(null,(!n.a&&(n.a=new LL(DOt,n,5)),new d1(n.a,16))),new Og(c)),VB(c,new DI(n.b,n.c)),t=1;t0&&(Xun(o,!1,(Bfn(),FPt)),Xun(o,!0,BPt)),Atn(t.g,new hP(n,e)),QW(n.g,t,e)}function rFn(){var n;for(rFn=A,Ntt=Iun(zk($Nt,1),fQn,25,15,[-1,-1,30,19,15,13,11,11,10,9,9,8,8,8,8,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5]),xtt=D8($Nt,fQn,25,37,15,1),Dtt=Iun(zk($Nt,1),fQn,25,15,[-1,-1,63,40,32,28,25,23,21,20,19,19,18,18,17,17,16,16,16,15,15,15,15,14,14,14,14,14,14,13,13,13,13,13,13,13,13]),Rtt=D8(NNt,BQn,25,37,14,1),n=2;n<=36;n++)xtt[n]=CJ(e.Math.pow(n,Ntt[n])),Rtt[n]=Ajn(wVn,xtt[n])}function cFn(n){var t;if(1!=(!n.a&&(n.a=new iU(BOt,n,6,6)),n.a).i)throw qp(new Fy(H5n+(!n.a&&(n.a=new iU(BOt,n,6,6)),n.a).i));return t=new jm,wun(HB(Vtn((!n.b&&(n.b=new fK(_Ot,n,4,7)),n.b),0),82))&&Brn(t,UXn(n,wun(HB(Vtn((!n.b&&(n.b=new fK(_Ot,n,4,7)),n.b),0),82)),!1)),wun(HB(Vtn((!n.c&&(n.c=new fK(_Ot,n,5,8)),n.c),0),82))&&Brn(t,UXn(n,wun(HB(Vtn((!n.c&&(n.c=new fK(_Ot,n,5,8)),n.c),0),82)),!0)),t}function aFn(n,t){var e,i,r;for(r=!1,i=new sz(nN((t.d?n.a.c==(pJ(),eyt)?lbn(t.b):bbn(t.b):n.a.c==(pJ(),tyt)?lbn(t.b):bbn(t.b)).a.Kc(),new f));gAn(i);)if(e=HB(X5(i),17),(Gy(n.a.f[n.a.g[t.b.p].p])||w5(e)||e.c.i.c!=e.d.i.c)&&!Gy(n.a.n[n.a.g[t.b.p].p])&&!Gy(n.a.n[n.a.g[t.b.p].p])&&(r=!0,BT(n.b,n.a.g[Nmn(e,t.b).p])))return t.c=!0,t.a=e,t;return t.c=r,t.a=null,t}function uFn(n,t,e,i,r){var c,a,u,o,s,h,f;for(PQ(),y$(n,new Wu),u=new S2(n,0),f=new xp,c=0;u.b2*c?(h=new ztn(f),s=rG(a)/iG(a),o=kXn(h,t,new wm,e,i,r,s),XR(jO(h.e),o),f.c=D8($nt,qWn,1,0,5,1),c=0,f.c[f.c.length]=h,f.c[f.c.length]=a,c=rG(h)*iG(h)+rG(a)*iG(a)):(f.c[f.c.length]=a,c+=rG(a)*iG(a));return f}function oFn(n,t,e){var i,r,c,a,u,o,s;if(0==(i=e.gc()))return!1;if(n.ej())if(o=n.fj(),jwn(n,t,e),a=1==i?n.Zi(3,null,e.Kc().Pb(),t,o):n.Zi(5,null,e,t,o),n.bj()){for(u=i<100?null:new Bj(i),c=t+i,r=t;r0){for(u=0;u>16==-15&&n.Cb.nh()&&L7(new j9(n.Cb,9,13,e,n.c,ovn(q7(HB(n.Cb,59)),n))):aL(n.Cb,88)&&n.Db>>16==-23&&n.Cb.nh()&&(aL(t=n.c,88)||(pWn(),t=g$t),aL(e,88)||(pWn(),e=g$t),L7(new j9(n.Cb,9,10,e,t,ovn(u4(HB(n.Cb,26)),n)))))),n.c}function wFn(n,t){var e,i,r,c,a,u,o,s;for(ATn(t,"Hypernodes processing",1),i=new Vb(n.b);i.ae);return r}function vFn(n,t){var e,i,r;i=0!=q$n(n.d,1),!Gy(MD(yMn(t.j,(fWn(),Zft))))&&!Gy(MD(yMn(t.j,Olt)))||zC(yMn(t.j,(qXn(),Ndt)))===zC((yon(),xvt))?t.c.Tf(t.e,i):i=Gy(MD(yMn(t.j,Zft))),RNn(n,t,i,!0),Gy(MD(yMn(t.j,Olt)))&&fon(t.j,Olt,(fN(),!1)),Gy(MD(yMn(t.j,Zft)))&&(fon(t.j,Zft,(fN(),!1)),fon(t.j,Olt,!0)),e=tIn(n,t);do{if(Lrn(n),0==e)return 0;r=e,RNn(n,t,i=!i,!1),e=tIn(n,t)}while(r>e);return r}function mFn(n,t,e){var i,r,c,a,u,o,s;if(t==e)return!0;if(t=wAn(n,t),e=wAn(n,e),i=Gvn(t)){if((o=Gvn(e))!=i)return!!o&&(a=i.Dj())==o.Dj()&&null!=a;if(!t.d&&(t.d=new LL(QAt,t,1)),r=(c=t.d).i,!e.d&&(e.d=new LL(QAt,e,1)),r==(s=e.d).i)for(u=0;u0,u=xbn(t,c),_N(e?u.b:u.g,t),1==jbn(u).c.length&&c5(i,u,i.c.b,i.c),r=new cC(c,t),g3(n.o,r),k7(n.e.a,c))}function MFn(n,t){var i,r,c,a;return r=e.Math.abs(Gz(n.b).a-Gz(t.b).a),a=e.Math.abs(Gz(n.b).b-Gz(t.b).b),i=1,c=1,r>n.b.b/2+t.b.b/2&&(i=1-e.Math.min(e.Math.abs(n.b.c-(t.b.c+t.b.b)),e.Math.abs(n.b.c+n.b.b-t.b.c))/r),a>n.b.a/2+t.b.a/2&&(c=1-e.Math.min(e.Math.abs(n.b.d-(t.b.d+t.b.a)),e.Math.abs(n.b.d+n.b.a-t.b.d))/a),(1-e.Math.min(i,c))*e.Math.sqrt(r*r+a*a)}function SFn(n){var t,e,i;for(tUn(n,n.e,n.f,(gJ(),Nyt),!0,n.c,n.i),tUn(n,n.e,n.f,Nyt,!1,n.c,n.i),tUn(n,n.e,n.f,xyt,!0,n.c,n.i),tUn(n,n.e,n.f,xyt,!1,n.c,n.i),OFn(n,n.c,n.e,n.f,n.i),e=new S2(n.i,0);e.b=65;e--)VLt[e]=e-65<<24>>24;for(i=122;i>=97;i--)VLt[i]=i-97+26<<24>>24;for(r=57;r>=48;r--)VLt[r]=r-48+52<<24>>24;for(VLt[43]=62,VLt[47]=63,c=0;c<=25;c++)QLt[c]=65+c&YVn;for(a=26,o=0;a<=51;++a,o++)QLt[a]=97+o&YVn;for(n=52,u=0;n<=61;++n,u++)QLt[n]=48+u&YVn;QLt[62]=43,QLt[63]=47}function CFn(n,t){var i,r,c,a,u,o,s,h,f,l,b;if(n.dc())return new zj;for(s=0,f=0,r=n.Kc();r.Ob();)c=HB(r.Pb(),37).f,s=e.Math.max(s,c.a),f+=c.a*c.b;for(s=e.Math.max(s,e.Math.sqrt(f)*zy(SD(yMn(HB(n.Kc().Pb(),37),(qXn(),Tdt))))),l=0,b=0,o=0,i=t,u=n.Kc();u.Ob();)l+(h=(a=HB(u.Pb(),37)).f).a>s&&(l=0,b+=o+t,o=0),nKn(a,l,b),i=e.Math.max(i,l+h.a),o=e.Math.max(o,h.b),l+=h.a+t;return new DI(i+t,b+o+t)}function OFn(n,t,e,i,r){var c,a,u,o,s,h,f;for(a=new Vb(t);a.ac)return jUn(),sCt;break;case 4:case 3:if(o<0)return jUn(),hCt;if(o+n.f>r)return jUn(),PCt}return(a=(u+n.g/2)/c)+(e=(o+n.f/2)/r)<=1&&a-e<=0?(jUn(),CCt):a+e>=1&&a-e>=0?(jUn(),sCt):e<.5?(jUn(),hCt):(jUn(),PCt)}function $Fn(n,t,e,i,r){var c,a;if(c=cbn(i0(t[0],XQn),i0(i[0],XQn)),n[0]=gG(c),c=jz(c,32),e>=r){for(a=1;a0&&(r.b[a++]=0,r.b[a++]=c.b[0]-1),t=1;t0&&(Ql(o,o.d-r.d),r.c==(A6(),Myt)&&Wl(o,o.a-r.d),o.d<=0&&o.i>0&&c5(t,o,t.c.b,t.c));for(c=new Vb(n.f);c.a0&&(Yl(u,u.i-r.d),r.c==(A6(),Myt)&&Vl(u,u.b-r.d),u.i<=0&&u.d>0&&c5(e,u,e.c.b,e.c))}function DFn(n,t,e){var i,r,c,a,u,o,s,h;for(ATn(e,"Processor compute fanout",1),LU(n.b),LU(n.a),u=null,c=hpn(t.b,0);!u&&c.b!=c.d.c;)Gy(MD(yMn(s=HB(w3(c),86),(Gqn(),gkt))))&&(u=s);for(c5(o=new JT,u,o.c.b,o.c),EUn(n,o),h=hpn(t.b,0);h.b!=h.d.c;)a=PD(yMn(s=HB(w3(h),86),(Gqn(),ckt))),r=null!=PJ(n.b,a)?HB(PJ(n.b,a),19).a:0,fon(s,rkt,rln(r)),i=1+(null!=PJ(n.a,a)?HB(PJ(n.a,a),19).a:0),fon(s,ekt,rln(i));qSn(e)}function RFn(n,t,e,i,r){var c,a,u,o,s,h,f,l,b;for(f=kEn(n,e),u=0;u0),i.a.Xb(i.c=--i.b),h>f+u&&lW(i);for(c=new Vb(l);c.a0),i.a.Xb(i.c=--i.b)}}function KFn(){var n,t,e,i,r,c;if(dWn(),CNt)return CNt;for(hHn(n=new S0(4),nXn(vnt,!0)),VGn(n,nXn("M",!0)),VGn(n,nXn("C",!0)),c=new S0(4),i=0;i<11;i++)Jxn(c,i,i);return hHn(t=new S0(4),nXn("M",!0)),Jxn(t,4448,4607),Jxn(t,65438,65439),eqn(r=new c$(2),n),eqn(r,hNt),(e=new c$(2)).$l(pG(c,nXn("L",!0))),e.$l(t),e=new f4(3,e),e=new XU(r,e),CNt=e}function _Fn(n){var t,e;if(!Jcn(t=PD(n$n(n,(hWn(),iSt))),n)&&!I8(n,yPt)&&(0!=(!n.a&&(n.a=new iU(XOt,n,10,11)),n.a).i||Gy(MD(n$n(n,PSt))))){if(null!=t&&0!=KMn(t).length)throw pzn(n,e=sO(sO(new bN("Layout algorithm '"),t),"' not found for ")),qp(new ck(e.a));if(!Jcn(d1n,n))throw pzn(n,e=sO(sO(new bN("Unable to load default layout algorithm "),d1n)," for unconfigured node ")),qp(new ck(e.a))}}function FFn(n){var t,i,r,c,a,u,o,s,h,f,l,b,w;if(i=n.i,t=n.n,0==n.b)for(w=i.c+t.b,b=i.b-t.b-t.c,s=0,f=(u=n.a).length;s0&&(l-=r[0]+n.c,r[0]+=n.c),r[2]>0&&(l-=r[2]+n.c),r[1]=e.Math.max(r[1],l),XG(n.a[1],i.c+t.b+r[0]-(r[1]-l)/2,r[1]);for(o=0,h=(a=n.a).length;o0?(n.n.c.length-1)*n.i:0,i=new Vb(n.n);i.a1)for(i=hpn(r,0);i.b!=i.d.c;)for(c=0,u=new Vb((e=HB(w3(i),231)).e);u.a0&&(t[0]+=n.c,l-=t[0]),t[2]>0&&(l-=t[2]+n.c),t[1]=e.Math.max(t[1],l),WG(n.a[1],r.d+i.d+t[0]-(t[1]-l)/2,t[1]);else for(w=r.d+i.d,b=r.a-i.d-i.a,s=0,f=(u=n.a).length;s=0&&c!=e)throw qp(new Fy(u8n));for(r=0,o=0;o0||0==Obn(c.b.d,n.b.d+n.b.a)&&r.b<0||0==Obn(c.b.d+c.b.a,n.b.d)&&r.b>0){o=0;break}}else o=e.Math.min(o,qIn(n,c,r));o=e.Math.min(o,VFn(n,a,o,r))}return o}function QFn(n,t){var e,i,r,c,a,u;if(n.b<2)throw qp(new Fy("The vector chain must contain at least a source and a target point."));for(Ix(0!=n.b),CA(t,(i=HB(n.a.a.c,8)).a,i.b),u=new ax((!t.a&&(t.a=new LL(DOt,t,5)),t.a)),c=hpn(n,1);c.azy(bL(a.g,a.d[0]).a)?(Ix(o.b>0),o.a.Xb(o.c=--o.b),kR(o,a),r=!0):u.e&&u.e.gc()>0&&(c=(!u.e&&(u.e=new xp),u.e).Mc(t),s=(!u.e&&(u.e=new xp),u.e).Mc(e),(c||s)&&((!u.e&&(u.e=new xp),u.e).Fc(a),++a.c));r||(i.c[i.c.length]=a)}function aBn(n){var t,e,i;if(mA(HB(yMn(n,(qXn(),ipt)),98)))for(e=new Vb(n.j);e.a>>0).toString(16),t.length-2,t.length):n>=HQn?"\\v"+lx(t="0"+(n>>>0).toString(16),t.length-6,t.length):""+String.fromCharCode(n&YVn)}return e}function oBn(n,t){var e,i,r,c,a,u,o,s,h,f;if(a=n.e,0==(o=t.e))return n;if(0==a)return 0==t.e?t:new bU(-t.e,t.d,t.a);if((c=n.d)+(u=t.d)==2)return e=i0(n.a[0],XQn),i=i0(t.a[0],XQn),a<0&&(e=E7(e)),o<0&&(i=E7(i)),tpn(rbn(e,i));if(-1==(r=c!=u?c>u?1:-1:Ssn(n.a,t.a,c)))f=-o,h=a==o?g6(t.a,u,n.a,c):x8(t.a,u,n.a,c);else if(f=a,a==o){if(0==r)return ADn(),iet;h=g6(n.a,c,t.a,u)}else h=x8(n.a,c,t.a,u);return W0(s=new bU(f,h.length,h)),s}function sBn(n){var t,e,i,r,c,a;for(this.e=new xp,this.a=new xp,e=n.b-1;e<3;e++)_x(n,0,HB(Rpn(n,0),8));if(n.b<4)throw qp(new Fy("At (least dimension + 1) control points are necessary!"));for(this.b=3,this.d=!0,this.c=!1,O$n(this,n.b+this.b-1),a=new xp,c=new Vb(this.e),t=0;t=t.o&&e.f<=t.f||.5*t.a<=e.f&&1.5*t.a>=e.f){if((c=HB(Dq(t.n,t.n.c.length-1),211)).e+c.d+e.g+r<=i&&(HB(Dq(t.n,t.n.c.length-1),211).f-n.f+e.f<=n.b||1==n.a.c.length))return kbn(t,e),!0;if(t.s+e.g<=i&&(t.t+t.d+e.f+r<=n.b||1==n.a.c.length))return VB(t.b,e),a=HB(Dq(t.n,t.n.c.length-1),211),VB(t.n,new KJ(t.s,a.f+a.a+t.i,t.i)),hmn(HB(Dq(t.n,t.n.c.length-1),211),e),HFn(t,e),!0}return!1}function lBn(n,t,e){var i,r,c,a;return n.ej()?(r=null,c=n.fj(),i=n.Zi(1,a=snn(n,t,e),e,t,c),n.bj()&&!(n.ni()&&null!=a?xfn(a,e):zC(a)===zC(e))?(null!=a&&(r=n.dj(a,r)),r=n.cj(e,r),n.ij()&&(r=n.lj(a,e,r)),r?(r.Ei(i),r.Fi()):n.$i(i)):(n.ij()&&(r=n.lj(a,e,r)),r?(r.Ei(i),r.Fi()):n.$i(i)),a):(a=snn(n,t,e),n.bj()&&!(n.ni()&&null!=a?xfn(a,e):zC(a)===zC(e))&&(r=null,null!=a&&(r=n.dj(a,null)),(r=n.cj(e,r))&&r.Fi()),a)}function bBn(n,t){var i,r,c,a,u,o,s;t%=24,n.q.getHours()!=t&&((i=new e.Date(n.q.getTime())).setDate(i.getDate()+1),(u=n.q.getTimezoneOffset()-i.getTimezoneOffset())>0&&(o=u/60|0,s=u%60,r=n.q.getDate(),n.q.getHours()+o>=24&&++r,c=new e.Date(n.q.getFullYear(),n.q.getMonth(),r,t+o,n.q.getMinutes()+s,n.q.getSeconds(),n.q.getMilliseconds()),n.q.setTime(c.getTime()))),a=n.q.getTime(),n.q.setTime(a+36e5),n.q.getHours()!=t&&n.q.setTime(a)}function wBn(n,t){var e,i,r,c;if(ATn(t,"Path-Like Graph Wrapping",1),0!=n.b.c.length)if(null==(r=new SAn(n)).i&&(r.i=Vrn(r,new jc)),e=zy(r.i)*r.f/(null==r.i&&(r.i=Vrn(r,new jc)),zy(r.i)),r.b>e)qSn(t);else{switch(HB(yMn(n,(qXn(),Hpt)),337).g){case 2:c=new Mc;break;case 0:c=new dc;break;default:c=new Sc}if(i=c.Vf(n,r),!c.Wf())switch(HB(yMn(n,Wpt),338).g){case 2:i=WIn(r,i);break;case 1:i=_Tn(r,i)}rqn(n,r,i),qSn(t)}else qSn(t)}function dBn(n,t){var e,i,r,c;if(l1(n.d,n.e),n.c.a.$b(),0!=zy(SD(yMn(t.j,(qXn(),Odt))))||0!=zy(SD(yMn(t.j,Odt))))for(e=nZn,zC(yMn(t.j,Ndt))!==zC((yon(),xvt))&&fon(t.j,(fWn(),Zft),(fN(),!0)),c=HB(yMn(t.j,Dpt),19).a,r=0;r(b1(c+1,t.c.length),HB(t.c[c+1],19)).a-i&&++u,VB(r,(b1(c+u,t.c.length),HB(t.c[c+u],19))),a+=(b1(c+u,t.c.length),HB(t.c[c+u],19)).a-i,++e;e1&&(o>rG(u)*iG(u)/2||0==a.b)&&(f=new ztn(l),h=rG(u)/iG(u),s=kXn(f,t,new wm,e,i,r,h),XR(jO(f.e),s),u=f,b.c[b.c.length]=f,o=0,l.c=D8($nt,qWn,1,0,5,1)));return pun(b,l),b}function yBn(n,t,e,i){var r,c,a,u,o,s,h,f,l,b,w,d;if(e.mh(t)&&(h=(b=t)?HB(i,49).xh(b):null))if(d=e.bh(t,n.a),(w=t.t)>1||-1==w)if(f=HB(d,69),l=HB(h,69),f.dc())l.$b();else for(a=!!Cvn(t),c=0,u=n.a?f.Kc():f.Zh();u.Ob();)s=HB(u.Pb(),56),(r=HB(bnn(n,s),56))?(a?-1==(o=l.Xc(r))?l.Xh(c,r):c!=o&&l.ji(c,r):l.Xh(c,r),++c):n.b&&!a&&(l.Xh(c,s),++c);else null==d?h.Wb(null):null==(r=bnn(n,d))?n.b&&!Cvn(t)&&h.Wb(d):h.Wb(r)}function kBn(n,t){var i,r,c,a,u,o,s,h;for(i=new Ne,c=new sz(nN(lbn(t).a.Kc(),new f));gAn(c);)if(!w5(r=HB(X5(c),17))&&iTn(o=r.c.i,Wut)){if(-1==(h=QDn(n,o,Wut,Xut)))continue;i.b=e.Math.max(i.b,h),!i.a&&(i.a=new xp),VB(i.a,o)}for(u=new sz(nN(bbn(t).a.Kc(),new f));gAn(u);)if(!w5(a=HB(X5(u),17))&&iTn(s=a.d.i,Xut)){if(-1==(h=QDn(n,s,Xut,Wut)))continue;i.d=e.Math.max(i.d,h),!i.c&&(i.c=new xp),VB(i.c,s)}return i}function jBn(n){var t,e,i,r;if(LOn(),t=CJ(n),n1e6)throw qp(new Ay("power of ten too big"));if(n<=RWn)return z5(oOn(uet[1],t),t);for(r=i=oOn(uet[1],RWn),e=lan(n-RWn),t=CJ(n%RWn);Qhn(e,RWn)>0;)r=xnn(r,i),e=rbn(e,RWn);for(r=z5(r=xnn(r,oOn(uet[1],t)),RWn),e=lan(n-RWn);Qhn(e,RWn)>0;)r=z5(r,RWn),e=rbn(e,RWn);return r=z5(r,t)}function EBn(n,t){var e,i,r,c,a,u,o,s;for(ATn(t,"Hierarchical port dummy size processing",1),u=new xp,s=new xp,e=2*zy(SD(yMn(n,(qXn(),jpt)))),r=new Vb(n.b);r.as&&i>s)){r=!1,e.n&&AH(e,"bk node placement breaks on "+u+" which should have been after "+h);break}h=u,s=zy(t.p[u.p])+zy(t.d[u.p])+u.o.b+u.d.a}if(!r)break}return e.n&&AH(e,t+" is feasible: "+r),r}function ABn(n,t,e,i){var r,c,a,u,o,s,h;for(u=-1,h=new Vb(n);h.a=g&&n.e[s.p]>w*n.b||m>=i*g)&&(l.c[l.c.length]=o,o=new xp,Brn(u,a),a.a.$b(),h-=f,b=e.Math.max(b,h*n.b+d),h+=m,v=m,m=0,f=0,d=0);return new cC(b,l)}function xBn(n){var t,e,i,r,c,a,u,o,s,h,f,l;for(e=new _b(new Ab(n.c.b).a.vc().Kc());e.a.Ob();)u=HB(e.a.Pb(),42),null==(r=(t=HB(u.dd(),149)).a)&&(r=""),!(i=FD(n.c,r))&&0==r.length&&(i=kfn(n)),i&&!kwn(i.c,t,!1)&&RH(i.c,t);for(a=hpn(n.a,0);a.b!=a.d.c;)c=HB(w3(a),478),s=M5(n.c,c.a),l=M5(n.c,c.b),s&&l&&RH(s.c,new cC(l,c.c));for(kQ(n.a),f=hpn(n.b,0);f.b!=f.d.c;)h=HB(w3(f),478),t=_D(n.c,h.a),o=M5(n.c,h.b),t&&o&&RM(t,o,h.c);kQ(n.b)}function DBn(n,t,e){var i,r,c,a,u,o,s,h,f,l,b;c=new Il(n),g5((a=new gkn).g),g5(a.j),LU(a.b),g5(a.d),g5(a.i),LU(a.k),LU(a.c),LU(a.e),b=wCn(a,c,null),A$n(a,c),r=b,t&&(u=iHn(s=new Il(t)),mSn(r,Iun(zk(tMt,1),qWn,527,0,[u]))),l=!1,f=!1,e&&(s=new Il(e),b8n in s.a&&(l=UJ(s,b8n).ge().a),w8n in s.a&&(f=UJ(s,w8n).ge().a)),h=Lj(Ben(new Wm,l),f),HSn(new hu,r,h),b8n in c.a&&ctn(c,b8n,null),(l||f)&&(tBn(h,o=new vy,l,f),ctn(c,b8n,o)),i=new Wg(a),Xon(new AA(r),i)}function RBn(n,t,e){var i,r,c,a,u,o,s,h,f;for(a=new Jkn,s=Iun(zk($Nt,1),fQn,25,15,[0]),r=-1,c=0,i=0,o=0;o0)){if(r=-1,32==lV(h.c,0)){if(f=s[0],knn(t,s),s[0]>f)continue}else if(LY(t,h.c,s[0])){s[0]+=h.c.length;continue}return 0}if(r<0&&h.a&&(r=o,c=s[0],i=0),r>=0){if(u=h.b,o==r&&0==(u-=i++))return 0;if(!NUn(t,s,h,u,a)){o=r-1,s[0]=c;continue}}else if(r=-1,!NUn(t,s,h,0,a))return 0}return gUn(a,e)?s[0]:0}function KBn(n){var t,e,i,r,c,a;if(!n.f){if(a=new So,c=new So,null==(t=I$t).a.zc(n,t)){for(r=new $L(jY(n));r.e!=r.i.gc();)vX(a,KBn(HB(jpn(r),26)));t.a.Bc(n),t.a.gc()}for(!n.s&&(n.s=new iU(BAt,n,21,17)),i=new $L(n.s);i.e!=i.i.gc();)aL(e=HB(jpn(i),170),99)&&l9(c,HB(e,18));ahn(c),n.r=new MH(n,(HB(Vtn(YQ((YX(),e$t).o),6),18),c.i),c.g),vX(a,n.r),ahn(a),n.f=new xO((HB(Vtn(YQ(e$t.o),5),18),a.i),a.g),I5(n).b&=-3}return n.f}function _Bn(n){var t,e,i,r,c,a,u,o,s,h,f,l,b,w;for(a=n.o,i=D8($Nt,fQn,25,a,15,1),r=D8($Nt,fQn,25,a,15,1),e=n.p,t=D8($Nt,fQn,25,e,15,1),c=D8($Nt,fQn,25,e,15,1),s=0;s=0&&!mmn(n,h,f);)--f;r[h]=f}for(b=0;b=0&&!mmn(n,u,w);)--u;c[w]=u}for(o=0;ot[l]&&li[o]&&BRn(n,o,l,!1,!0)}function FBn(n){var t,e,i,r,c,a,u,o;e=Gy(MD(yMn(n,(lRn(),Hct)))),c=n.a.c.d,u=n.a.d.d,e?(a=jL(WR(new DI(u.a,u.b),c),.5),o=jL(H$(n.e),.5),t=WR(XR(new DI(c.a,c.b),a),o),qx(n.d,t)):(r=zy(SD(yMn(n.a,cat))),i=n.d,c.a>=u.a?c.b>=u.b?(i.a=u.a+(c.a-u.a)/2+r,i.b=u.b+(c.b-u.b)/2-r-n.e.b):(i.a=u.a+(c.a-u.a)/2+r,i.b=c.b+(u.b-c.b)/2+r):c.b>=u.b?(i.a=c.a+(u.a-c.a)/2+r,i.b=u.b+(c.b-u.b)/2+r):(i.a=c.a+(u.a-c.a)/2+r,i.b=c.b+(u.b-c.b)/2-r-n.e.b))}function BBn(n,t){var e,i,r,c,a,u,o;if(null==n)return null;if(0==(c=n.length))return"";for(o=D8(ANt,VVn,25,c,15,1),F8(0,c,n.length),F8(0,c,o.length),JU(n,0,c,o,0),e=null,u=t,r=0,a=0;r0?lx(e.a,0,c-1):"":n.substr(0,c-1):e?e.a:n}function HBn(n){xM(n,new STn(mj(dj(vj(pj(new gu,XJn),"ELK DisCo"),"Layouter for arranging unconnected subgraphs. The subgraphs themselves are, by default, not laid out."),new ut))),o2(n,XJn,WJn,ypn(Tct)),o2(n,XJn,VJn,ypn(vct)),o2(n,XJn,QJn,ypn(bct)),o2(n,XJn,YJn,ypn(mct)),o2(n,XJn,WYn,ypn(jct)),o2(n,XJn,VYn,ypn(kct)),o2(n,XJn,XYn,ypn(Ect)),o2(n,XJn,QYn,ypn(yct)),o2(n,XJn,HJn,ypn(dct)),o2(n,XJn,qJn,ypn(wct)),o2(n,XJn,GJn,ypn(gct)),o2(n,XJn,zJn,ypn(pct))}function qBn(n,t,e,i){var r,c,a,u,o,s,h;if(Hl(c=new Lvn(n),(oSn(),Out)),fon(c,(qXn(),ipt),(YEn(),WIt)),r=0,t){for(fon(a=new CSn,(fWn(),glt),t),fon(c,glt,t.i),GIn(a,(jUn(),CCt)),CZ(a,c),s=0,h=(o=n2(t.e)).length;s0)if((i-=r.length-t)>=0){for(c.a+="0.";i>Gtt.length;i-=Gtt.length)xq(c,Gtt);pR(c,Gtt,CJ(i)),sO(c,r.substr(t))}else sO(c,lx(r,t,CJ(i=t-i))),c.a+=".",sO(c,tO(r,CJ(i)));else{for(sO(c,r.substr(t));i<-Gtt.length;i+=Gtt.length)xq(c,Gtt);pR(c,Gtt,CJ(-i))}return c.a}function UBn(n,t,i,r){var c,a,u,o,s,h,f,l,b;return h=(s=WR(new DI(i.a,i.b),n)).a*t.b-s.b*t.a,f=t.a*r.b-t.b*r.a,l=(s.a*r.b-s.b*r.a)/f,b=h/f,0==f?0==h?(a=V8(n,c=XR(new DI(i.a,i.b),jL(new DI(r.a,r.b),.5))),u=V8(XR(new DI(n.a,n.b),t),c),o=.5*e.Math.sqrt(r.a*r.a+r.b*r.b),a=0&&l<=1&&b>=0&&b<=1?XR(new DI(n.a,n.b),jL(new DI(t.a,t.b),l)):null}function XBn(n,t,e){var i,r,c,a,u;if(i=HB(yMn(n,(qXn(),xdt)),21),e.a>t.a&&(i.Hc((dEn(),VMt))?n.c.a+=(e.a-t.a)/2:i.Hc(YMt)&&(n.c.a+=e.a-t.a)),e.b>t.b&&(i.Hc((dEn(),ZMt))?n.c.b+=(e.b-t.b)/2:i.Hc(JMt)&&(n.c.b+=e.b-t.b)),HB(yMn(n,(fWn(),nlt)),21).Hc((wDn(),bft))&&(e.a>t.a||e.b>t.b))for(u=new Vb(n.a);u.at.a&&(i.Hc((dEn(),VMt))?n.c.a+=(e.a-t.a)/2:i.Hc(YMt)&&(n.c.a+=e.a-t.a)),e.b>t.b&&(i.Hc((dEn(),ZMt))?n.c.b+=(e.b-t.b)/2:i.Hc(JMt)&&(n.c.b+=e.b-t.b)),HB(yMn(n,(fWn(),nlt)),21).Hc((wDn(),bft))&&(e.a>t.a||e.b>t.b))for(a=new Vb(n.a);a.at&&(r=0,c+=s.b+e,h.c[h.c.length]=s,ein(s=new D0(c,e),i=new usn(0,s.f,s,e)),r=0),0==i.b.c.length||u.f>=i.o&&u.f<=i.f||.5*i.a<=u.f&&1.5*i.a>=u.f?kbn(i,u):(ein(s,a=new usn(i.s+i.r+e,s.f,s,e)),kbn(a,u)),r=u.i+u.g;return h.c[h.c.length]=s,h}function JBn(n){var t,e,i,r,c,a;if(!n.a){if(n.o=null,a=new pp(n),t=new Po,null==(e=I$t).a.zc(n,e)){for(c=new $L(jY(n));c.e!=c.i.gc();)vX(a,JBn(HB(jpn(c),26)));e.a.Bc(n),e.a.gc()}for(!n.s&&(n.s=new iU(BAt,n,21,17)),r=new $L(n.s);r.e!=r.i.gc();)aL(i=HB(jpn(r),170),322)&&l9(t,HB(i,34));ahn(t),n.k=new TH(n,(HB(Vtn(YQ((YX(),e$t).o),7),18),t.i),t.g),vX(a,n.k),ahn(a),n.a=new xO((HB(Vtn(YQ(e$t.o),4),18),a.i),a.g),I5(n).b&=-2}return n.a}function ZBn(n,t,e,i,r,c,a){var u,o,s,h,f;return h=!1,u=gNn(e.q,t.f+t.b-e.q.f),!((f=r-(e.q.e+u-a))=(b1(c,n.c.length),HB(n.c[c],200)).e,!((s=aHn(i,f,!1).a)>t.b&&!o)&&((o||s<=t.b)&&(o&&s>t.b?(e.d=s,v9(e,BSn(e,s))):(uEn(e.q,u),e.c=!0),v9(i,r-(e.s+e.r)),Mvn(i,e.q.e+e.q.d,t.f),ein(t,i),n.c.length>c&&(Mkn((b1(c,n.c.length),HB(n.c[c],200)),i),0==(b1(c,n.c.length),HB(n.c[c],200)).a.c.length&&h6(n,c)),h=!0),h))}function nHn(n,t,e,i){var r,c,a,u,o,s,h;if(h=uxn(n.e.Tg(),t),r=0,c=HB(n.g,119),o=null,nS(),HB(t,66).Oj()){for(u=0;un.o.a&&(f=(s-n.o.a)/2,o.b=e.Math.max(o.b,f),o.c=e.Math.max(o.c,f))}}function iHn(n){var t,e,i,r,c,a;for(aA(r=new K0,(xun(),ZTt)),i=new Pb(new Zy(new MT(n,Ern(n,D8(Ytt,hVn,2,0,6,1))).b));i.b0?n.i:0)>t&&s>0&&(a=0,u+=s+n.i,c=e.Math.max(c,b),r+=s+n.i,s=0,b=0,i&&(++l,VB(n.n,new KJ(n.s,u,n.i))),o=0),b+=h.g+(o>0?n.i:0),s=e.Math.max(s,h.f),i&&hmn(HB(Dq(n.n,l),211),h),a+=h.g+(o>0?n.i:0),++o;return c=e.Math.max(c,b),r+=s,i&&(n.r=c,n.d=r,kyn(n.j)),new XV(n.s,n.t,c,r)}function uHn(n,t,e,i,r){var c,a,u,o,s,h,f,l,b;if(LT(),PU(n,"src"),PU(e,"dest"),l=esn(n),o=esn(e),vH(0!=(4&l.i),"srcType is not an array"),vH(0!=(4&o.i),"destType is not an array"),f=l.c,a=o.c,vH(0!=(1&f.i)?f==a:0==(1&a.i),"Array types don't match"),b=n.length,s=e.length,t<0||i<0||r<0||t+r>b||i+r>s)throw qp(new lv);if(0==(1&f.i)&&l!=o)if(h=ien(n),c=ien(e),zC(n)===zC(e)&&ti;)LX(c,u,h[--t]);else for(u=i+r;i0&&FIn(n,t,e,i,r,!0)}function oHn(){oHn=A,cet=Iun(zk($Nt,1),fQn,25,15,[FVn,1162261467,AVn,1220703125,362797056,1977326743,AVn,387420489,$Qn,214358881,429981696,815730721,1475789056,170859375,268435456,410338673,612220032,893871739,128e7,1801088541,113379904,148035889,191102976,244140625,308915776,387420489,481890304,594823321,729e6,887503681,AVn,1291467969,1544804416,1838265625,60466176]),aet=Iun(zk($Nt,1),fQn,25,15,[-1,-1,31,19,15,13,11,11,10,9,9,8,8,8,8,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5])}function sHn(n){var t,e,i,r,c,a,u;for(i=new Vb(n.b);i.a=n.b.length?(c[r++]=a.b[i++],c[r++]=a.b[i++]):i>=a.b.length?(c[r++]=n.b[e++],c[r++]=n.b[e++]):a.b[i]0?n.i:0)),++t;for(twn(n.n,s),n.d=i,n.r=r,n.g=0,n.f=0,n.e=0,n.o=KQn,n.p=KQn,a=new Vb(n.b);a.a0&&(!(r=(!n.n&&(n.n=new iU(UOt,n,1,7)),HB(Vtn(n.n,0),137)).a)||sO(sO((t.a+=' "',t),r),'"'))),!n.b&&(n.b=new fK(_Ot,n,4,7)),e=!(n.b.i<=1&&(!n.c&&(n.c=new fK(_Ot,n,5,8)),n.c.i<=1)),t.a+=e?" [":" ",sO(t,ZL(new yk,new $L(n.b))),e&&(t.a+="]"),t.a+=i1n,e&&(t.a+="["),sO(t,ZL(new yk,new $L(n.c))),e&&(t.a+="]"),t.a)}function wHn(n,t){var e,i,r,c,a,u,o;if(n.a){if(o=null,null!=(u=n.a.ne())?t.a+=""+u:null!=(a=n.a.Dj())&&(-1!=(c=zO(a,JTn(91)))?(o=a.substr(c),t.a+=""+lx(null==a?UWn:(jW(a),a),0,c)):t.a+=""+a),n.d&&0!=n.d.i){for(r=!0,t.a+="<",i=new $L(n.d);i.e!=i.i.gc();)e=HB(jpn(i),87),r?r=!1:t.a+=BWn,wHn(e,t);t.a+=">"}null!=o&&(t.a+=""+o)}else n.e?null!=(u=n.e.zb)&&(t.a+=""+u):(t.a+="?",n.b?(t.a+=" super ",wHn(n.b,t)):n.f&&(t.a+=" extends ",wHn(n.f,t)))}function dHn(n,t){var e,i,r,c,a,u,o,s,h,f,l,b,w,d,g,p,v,m,y,k,j,E,T,M;for(y=n.c,k=t.c,e=T7(y.a,n,0),i=T7(k.a,t,0),v=HB(Dwn(n,(uin(),qvt)).Kc().Pb(),11),T=HB(Dwn(n,Gvt).Kc().Pb(),11),m=HB(Dwn(t,qvt).Kc().Pb(),11),M=HB(Dwn(t,Gvt).Kc().Pb(),11),g=n2(v.e),j=n2(T.g),p=n2(m.e),E=n2(M.g),Yyn(n,i,k),s=0,b=(c=p).length;sh?new UZ((A6(),Syt),i,t,s-h):s>0&&h>0&&(new UZ((A6(),Syt),t,i,0),new UZ(Syt,i,t,0))),a)}function vHn(n,t){var i,r,c,a,u;for(u=new osn(new Ib(n.f.b).a);u.b;){if(c=HB((a=een(u)).cd(),594),1==t){if(c.gf()!=(Bfn(),qPt)&&c.gf()!=_Pt)continue}else if(c.gf()!=(Bfn(),FPt)&&c.gf()!=BPt)continue;switch(r=HB(HB(a.dd(),46).b,81),i=HB(HB(a.dd(),46).a,189).c,c.gf().g){case 2:r.g.c=n.e.a,r.g.b=e.Math.max(1,r.g.b+i);break;case 1:r.g.c=r.g.c+i,r.g.b=e.Math.max(1,r.g.b-i);break;case 4:r.g.d=n.e.b,r.g.a=e.Math.max(1,r.g.a+i);break;case 3:r.g.d=r.g.d+i,r.g.a=e.Math.max(1,r.g.a-i)}}}function mHn(n,t){var i,r,c,a,u,o,s,h,f,l,b,w,d,g;for(o=D8($Nt,fQn,25,t.b.c.length,15,1),h=D8(Lut,LVn,267,t.b.c.length,0,1),s=D8(Aut,u1n,10,t.b.c.length,0,1),b=0,w=(l=n.a).length;b0&&s[r]&&(d=_$(n.b,s[r],c)),g=e.Math.max(g,c.c.c.b+d);for(a=new Vb(f.e);a.a1)throw qp(new Fy(O7n));o||(c=n4(t,i.Kc().Pb()),a.Fc(c))}return son(n,TPn(n,t,e),a)}function THn(n,t){var e,i,r,c;for(Ytn(t.b.j),ZT(LV(new Kq(null,new d1(t.d,16)),new ac),new uc),c=new Vb(t.d);c.an.o.b)return!1;if(e=ubn(n,sCt),t.d+t.a+(e.gc()-1)*r>n.o.b)return!1}return!0}function LHn(n,t){var e,i,r,c,a,u,o,s,h,f,l,b,w;if(a=n.e,o=t.e,0==a)return t;if(0==o)return n;if((c=n.d)+(u=t.d)==2)return e=i0(n.a[0],XQn),i=i0(t.a[0],XQn),a==o?(w=gG(h=cbn(e,i)),0==(b=gG(Ez(h,32)))?new W6(a,w):new bU(a,2,Iun(zk($Nt,1),fQn,25,15,[w,b]))):tpn(a<0?rbn(i,e):rbn(e,i));if(a==o)l=a,f=c>=u?x8(n.a,c,t.a,u):x8(t.a,u,n.a,c);else{if(0==(r=c!=u?c>u?1:-1:Ssn(n.a,t.a,c)))return ADn(),iet;1==r?(l=a,f=g6(n.a,c,t.a,u)):(l=o,f=g6(t.a,u,n.a,c))}return W0(s=new bU(l,f.length,f)),s}function NHn(n,t,i,r,c,a,u){var o,s,h,f,l,b,w;return l=Gy(MD(yMn(t,(qXn(),Agt)))),b=null,a==(uin(),qvt)&&r.c.i==i?b=r.c:a==Gvt&&r.d.i==i&&(b=r.d),(h=u)&&l&&!b?(VB(h.e,r),w=e.Math.max(zy(SD(yMn(h.d,ugt))),zy(SD(yMn(r,ugt)))),fon(h.d,ugt,w)):(jUn(),f=ICt,b?f=b.j:mA(HB(yMn(i,ipt),98))&&(f=a==qvt?CCt:sCt),s=DHn(n,t,i,a,f,r),o=V5((mW(i),r)),a==qvt?(PZ(o,HB(Dq(s.j,0),11)),SZ(o,c)):(PZ(o,c),SZ(o,HB(Dq(s.j,0),11))),h=new Ufn(r,o,s,HB(yMn(s,(fWn(),glt)),11),a,!b)),ZCn(n.a,r,new N_(h.d,t,a)),h}function xHn(n,t){var e,i,r,c,a,u,o,s,h,f;if(h=null,n.d&&(h=HB(PJ(n.d,t),138)),!h){if(f=(c=n.a.Mh()).i,!n.d||xT(n.d)!=f){for(o=new Dp,n.d&&Mcn(o,n.d),u=s=o.f.c+o.g.c;u0?(b=(w-1)*e,u&&(b+=i),h&&(b+=i),b=n.b[r+1])r+=2;else{if(!(e0)for(i=new e_(HB(f6(n.a,c),21)),PQ(),y$(i,new Fw(t)),r=new S2(c.b,0);r.bk)?(s=2,u=RWn):0==s?(s=1,u=E):(s=0,u=E):(b=E>=u||u-E0?1:UO(isNaN(r),isNaN(0)))>=0^(cin($3n),(e.Math.abs(o)<=$3n||0==o||isNaN(o)&&isNaN(0)?0:o<0?-1:o>0?1:UO(isNaN(o),isNaN(0)))>=0)?e.Math.max(o,r):(cin($3n),(e.Math.abs(r)<=$3n||0==r||isNaN(r)&&isNaN(0)?0:r<0?-1:r>0?1:UO(isNaN(r),isNaN(0)))>0?e.Math.sqrt(o*o+r*r):-e.Math.sqrt(o*o+r*r))}function eqn(n,t){var e,i,r,c,a;if(t)if(!n.a&&(n.a=new Fv),2!=n.e)if(1!=t.e)0!=(a=n.a.a.c.length)?0!=(c=HB(wW(n.a,a-1),117)).e&&10!=c.e||0!=t.e&&10!=t.e?Cv(n.a,t):(0==t.e||t.bm().length,0==c.e?(e=new Ik,(i=c._l())>=HQn?aO(e,Wln(i)):xX(e,i&YVn),c=new mJ(10,null,0),jU(n.a,c,a-1)):(c.bm().length,aO(e=new Ik,c.bm())),0==t.e?(i=t._l())>=HQn?aO(e,Wln(i)):xX(e,i&YVn):aO(e,t.bm()),HB(c,521).b=e.a):Cv(n.a,t);else for(r=0;r0&&i>=-6?i>=0?jZ(c,e-CJ(n.e),String.fromCharCode(46)):(c.a=lx(c.a,0,t-1)+"0."+tO(c.a,t-1),jZ(c,t+1,Hdn(Gtt,0,-CJ(i)-1))):(e-t>=1&&(jZ(c,t,String.fromCharCode(46)),++e),jZ(c,e,String.fromCharCode(69)),i>0&&jZ(c,++e,String.fromCharCode(43)),jZ(c,++e,""+mz(lan(i)))),n.g=c.a,n.g))}function rqn(n,t,e){var i,r,c,a,u,o,s,h,f,l,b;if(!e.dc()){for(a=0,h=0,l=HB((i=e.Kc()).Pb(),19).a;a1&&(o=s.mg(o,n.a,u));return 1==o.c.length?HB(Dq(o,o.c.length-1),220):2==o.c.length?BHn((b1(0,o.c.length),HB(o.c[0],220)),(b1(1,o.c.length),HB(o.c[1],220)),a,c):null}function oqn(n){var t,i,r,c,a,u;for(Atn(n.a,new tt),i=new Vb(n.a);i.a=e.Math.abs(r.b)?(r.b=0,a.d+a.a>u.d&&a.du.c&&a.c0){if(t=new RC(n.i,n.g),c=(e=n.i)<100?null:new Bj(e),n.ij())for(i=0;i0){for(u=n.g,s=n.i,u6(n),c=s<100?null:new Bj(s),i=0;i>13|(15&n.m)<<9,r=n.m>>4&8191,c=n.m>>17|(255&n.h)<<5,a=(1048320&n.h)>>8,g=i*(u=8191&t.l),p=r*u,v=c*u,m=a*u,0!=(o=t.l>>13|(15&t.m)<<9)&&(g+=e*o,p+=i*o,v+=r*o,m+=c*o),0!=(s=t.m>>4&8191)&&(p+=e*s,v+=i*s,m+=r*s),0!=(h=t.m>>17|(255&t.h)<<5)&&(v+=e*h,m+=i*h),0!=(f=(1048320&t.h)>>8)&&(m+=e*f),b=((d=e*u)>>22)+(g>>9)+((262143&p)<<4)+((31&v)<<17),w=(p>>18)+(v>>5)+((4095&m)<<8),w+=(b+=(l=(d&PQn)+((511&g)<<13))>>22)>>22,S$(l&=PQn,b&=PQn,w&=IQn)}function bqn(n){var t,i,r,c,a,u,o;if(0!=(o=HB(Dq(n.j,0),11)).g.c.length&&0!=o.e.c.length)throw qp(new By("Interactive layout does not support NORTH/SOUTH ports with incoming _and_ outgoing edges."));if(0!=o.g.c.length){for(a=KQn,i=new Vb(o.g);i.a4){if(!n.wj(t))return!1;if(n.rk()){if(u=(e=(i=HB(t,49)).Ug())==n.e&&(n.Dk()?i.Og(i.Vg(),n.zk())==n.Ak():-1-i.Vg()==n.aj()),n.Ek()&&!u&&!e&&i.Zg())for(r=0;r0&&(s=n.n.a/c);break;case 2:case 4:(r=n.i.o.b)>0&&(s=n.n.b/r)}fon(n,(fWn(),Mlt),s)}if(o=n.o,a=n.a,i)a.a=i.a,a.b=i.b,n.d=!0;else if(t!=YIt&&t!=JIt&&u!=ICt)switch(u.g){case 1:a.a=o.a/2;break;case 2:a.a=o.a,a.b=o.b/2;break;case 3:a.a=o.a/2,a.b=o.b;break;case 4:a.b=o.b/2}else a.a=o.a/2,a.b=o.b/2}function mqn(n){var t,e,i,r,c,a,u,o,s,h;if(n.ej())if(h=n.Vi(),o=n.fj(),h>0)if(t=new Ecn(n.Gi()),c=(e=h)<100?null:new Bj(e),ZD(n,e,t.g),r=1==e?n.Zi(4,Vtn(t,0),null,0,o):n.Zi(6,t,null,-1,o),n.bj()){for(i=new $L(t);i.e!=i.i.gc();)c=n.dj(jpn(i),c);c?(c.Ei(r),c.Fi()):n.$i(r)}else c?(c.Ei(r),c.Fi()):n.$i(r);else ZD(n,n.Vi(),n.Wi()),n.$i(n.Zi(6,(PQ(),het),null,-1,o));else if(n.bj())if((h=n.Vi())>0){for(u=n.Wi(),s=h,ZD(n,h,u),c=s<100?null:new Bj(s),i=0;in.d[r.p]&&(e+=t5(n.b,i)*HB(a.b,19).a,g3(n.a,rln(i)));for(;!Vy(n.a);)Snn(n.b,HB(gU(n.a),19).a)}return e}function jqn(n,t,i,r){var c,a,u,o,s,h,f,l,b,w;for((f=new dA(HB(n$n(n,(PMn(),qMt)),8))).a=e.Math.max(f.a-i.b-i.c,0),f.b=e.Math.max(f.b-i.d-i.a,0),(null==(c=SD(n$n(n,RMt)))||(jW(c),c<=0))&&(c=1.3),u=new xp,l=new $L((!n.a&&(n.a=new iU(XOt,n,10,11)),n.a));l.e!=l.i.gc();)a=new Ux(HB(jpn(l),33)),u.c[u.c.length]=a;switch(HB(n$n(n,KMt),311).g){case 3:w=uFn(u,t,f.a,f.b,(s=r,jW(c),s));break;case 1:w=mBn(u,t,f.a,f.b,(h=r,jW(c),h));break;default:w=Sqn(u,t,f.a,f.b,(o=r,jW(c),o))}_Un(n,(b=kXn(new ztn(w),t,i,f.a,f.b,r,(jW(c),c))).a,b.b,!1,!0)}function Eqn(n,t){var e,i,r,c;c=new e_((e=t.b).j),r=0,(i=e.j).c=D8($nt,qWn,1,0,5,1),iX(HB(pan(n.b,(jUn(),hCt),(Crn(),Kst)),15),e),r=Zmn(c,r,new Dr,i),iX(HB(pan(n.b,hCt,Rst),15),e),r=Zmn(c,r,new xr,i),iX(HB(pan(n.b,hCt,Dst),15),e),iX(HB(pan(n.b,sCt,Kst),15),e),iX(HB(pan(n.b,sCt,Rst),15),e),r=Zmn(c,r,new Rr,i),iX(HB(pan(n.b,sCt,Dst),15),e),iX(HB(pan(n.b,PCt,Kst),15),e),r=Zmn(c,r,new Kr,i),iX(HB(pan(n.b,PCt,Rst),15),e),r=Zmn(c,r,new _r,i),iX(HB(pan(n.b,PCt,Dst),15),e),iX(HB(pan(n.b,CCt,Kst),15),e),r=Zmn(c,r,new Yr,i),iX(HB(pan(n.b,CCt,Rst),15),e),iX(HB(pan(n.b,CCt,Dst),15),e)}function Tqn(n,t){var i,r,c,a,u,o,s,h,f,l,b,w,d,g;for(ATn(t,"Layer size calculation",1),f=KQn,h=_Qn,c=!1,o=new Vb(n.b);o.a.5?p-=2*a*(w-.5):w<.5&&(p+=2*c*(.5-w)),p<(r=u.d.b)&&(p=r),d=u.d.c,p>g.a-d-h&&(p=g.a-d-h),u.n.a=t+p}}function Sqn(n,t,e,i,r){var c,a,u,o,s,h,f,l,b;for(u=D8(DNt,GQn,25,n.c.length,15,1),rkn(l=new Wz(new Xu),n),s=0,b=new xp;0!=l.b.c.length;)if(a=HB(0==l.b.c.length?null:Dq(l.b,0),157),s>1&&rG(a)*iG(a)/2>u[0]){for(c=0;cu[c];)++c;f=new ztn(new h1(b,0,c+1)),h=rG(a)/iG(a),o=kXn(f,t,new wm,e,i,r,h),XR(jO(f.e),o),B8(iMn(l,f)),rkn(l,new h1(b,c+1,b.c.length)),b.c=D8($nt,qWn,1,0,5,1),s=0,EG(u,u.length,0)}else null!=(0==l.b.c.length?null:Dq(l.b,0))&&frn(l,0),s>0&&(u[s]=u[s-1]),u[s]+=rG(a)*iG(a),++s,b.c[b.c.length]=a;return b}function Pqn(n){var t,e,i;if((e=HB(yMn(n,(qXn(),jgt)),163))==(Mbn(),Blt)){for(t=new sz(nN(lbn(n).a.Kc(),new f));gAn(t);)if(!W5(HB(X5(t),17)))throw qp(new ck(I1n+pyn(n)+"' has its layer constraint set to FIRST_SEPARATE, but has at least one incoming edge. FIRST_SEPARATE nodes must not have incoming edges."))}else if(e==qlt)for(i=new sz(nN(bbn(n).a.Kc(),new f));gAn(i);)if(!W5(HB(X5(i),17)))throw qp(new ck(I1n+pyn(n)+"' has its layer constraint set to LAST_SEPARATE, but has at least one outgoing edge. LAST_SEPARATE nodes must not have outgoing edges."))}function Iqn(n,t){var e,i,r,c,a,u,o,s,h,f,l,b;for(ATn(t,"Label dummy removal",1),i=zy(SD(yMn(n,(qXn(),Ept)))),r=zy(SD(yMn(n,Ppt))),o=HB(yMn(n,Xdt),103),u=new Vb(n.b);u.a0&&bPn(n,u,h);for(r=new Vb(h);r.a>19!=0&&(t=uon(t),o=!o),a=ALn(t),c=!1,r=!1,i=!1,n.h==CQn&&0==n.m&&0==n.l){if(r=!0,c=!0,-1!=a)return u=EAn(n,a),o&&Aon(u),e&&(btt=S$(0,0,0)),u;n=VO((W7(),wtt)),i=!0,o=!o}else n.h>>19!=0&&(c=!0,n=uon(n),i=!0,o=!o);return-1!=a?Hon(n,a,o,c,e):_kn(n,t)<0?(e&&(btt=c?uon(n):S$(n.l,n.m,n.h)),S$(0,0,0)):f_n(i?n:S$(n.l,n.m,n.h),t,o,c,r,e)}function Lqn(n,t){var e,i,r,c,a,u,o,s,h,f,l,b,w;if(n.e&&n.c.ct.f||t.g>n.f)){for(e=0,i=0,a=n.w.a.ec().Kc();a.Ob();)r=HB(a.Pb(),11),vhn($on(Iun(zk(IMt,1),hVn,8,0,[r.i.n,r.n,r.a])).b,t.g,t.f)&&++e;for(u=n.r.a.ec().Kc();u.Ob();)r=HB(u.Pb(),11),vhn($on(Iun(zk(IMt,1),hVn,8,0,[r.i.n,r.n,r.a])).b,t.g,t.f)&&--e;for(o=t.w.a.ec().Kc();o.Ob();)r=HB(o.Pb(),11),vhn($on(Iun(zk(IMt,1),hVn,8,0,[r.i.n,r.n,r.a])).b,n.g,n.f)&&++i;for(c=t.r.a.ec().Kc();c.Ob();)r=HB(c.Pb(),11),vhn($on(Iun(zk(IMt,1),hVn,8,0,[r.i.n,r.n,r.a])).b,n.g,n.f)&&--i;e=0)return r=gbn(n,t.substr(1,c-1)),JUn(n,t.substr(c+1,u-(c+1)),r)}else{if(e=-1,null==Ttt&&(Ttt=new RegExp("\\d")),Ttt.test(String.fromCharCode(a))&&(e=SK(t,JTn(46),u-1))>=0){i=HB(Q5(n,Itn(n,t.substr(1,e-1)),!1),58),o=0;try{o=b_n(t.substr(e+1),FVn,RWn)}catch(h){throw aL(h=bun(h),127)?qp(new N7(h)):qp(h)}if(o=0)return e;switch(RW(H7(n,e))){case 2:if(yK("",Cfn(n,e.Hj()).ne())){if(o=y$n(n,t,u=EV(H7(n,e)),jV(H7(n,e))))return o;for(a=0,s=(r=EKn(n,t)).gc();a1)throw qp(new Fy(O7n));for(h=uxn(n.e.Tg(),t),i=HB(n.g,119),a=0;a1,h=new y6(b.b);k$(h.a)||k$(h.b);)l=(s=HB(k$(h.a)?t0(h.a):t0(h.b),17)).c==b?s.d:s.c,e.Math.abs($on(Iun(zk(IMt,1),hVn,8,0,[l.i.n,l.n,l.a])).b-u.b)>1&&vxn(n,s,u,a,b)}}function Uqn(n){var t,i,r,c,a,u;if(c=new S2(n.e,0),r=new S2(n.a,0),n.d)for(i=0;iR3n;){for(a=t,u=0;e.Math.abs(t-a)0),c.a.Xb(c.c=--c.b),RFn(n,n.b-u,a,r,c),Ix(c.b0),r.a.Xb(r.c=--r.b)}if(!n.d)for(i=0;i0?(n.f[s.p]=l/(s.e.c.length+s.g.c.length),n.c=e.Math.min(n.c,n.f[s.p]),n.b=e.Math.max(n.b,n.f[s.p])):u&&(n.f[s.p]=l)}}function Vqn(n){n.b=null,n.bb=null,n.fb=null,n.qb=null,n.a=null,n.c=null,n.d=null,n.e=null,n.f=null,n.n=null,n.M=null,n.L=null,n.Q=null,n.R=null,n.K=null,n.db=null,n.eb=null,n.g=null,n.i=null,n.j=null,n.k=null,n.gb=null,n.o=null,n.p=null,n.q=null,n.r=null,n.$=null,n.ib=null,n.S=null,n.T=null,n.t=null,n.s=null,n.u=null,n.v=null,n.w=null,n.B=null,n.A=null,n.C=null,n.D=null,n.F=null,n.G=null,n.H=null,n.I=null,n.J=null,n.P=null,n.Z=null,n.U=null,n.V=null,n.W=null,n.X=null,n.Y=null,n._=null,n.ab=null,n.cb=null,n.hb=null,n.nb=null,n.lb=null,n.mb=null,n.ob=null,n.pb=null,n.jb=null,n.kb=null,n.N=!1,n.O=!1}function Qqn(n,t,e){var i,r;for(ATn(e,"Graph transformation ("+n.a+")",1),r=u0(t.a),i=new Vb(t.b);i.a0&&(n.a=u+(l-1)*r,t.c.b+=n.a,t.f.b+=n.a),0!=b.a.gc()&&(l=$Gn(new lX(1,r),t,b,w,t.f.b+u-t.c.b))>0&&(t.f.b+=u+(l-1)*r)}function Jqn(n,t){var e,i,r,c;c=n.F,null==t?(n.F=null,Rsn(n,null)):(n.F=(jW(t),t),-1!=(i=zO(t,JTn(60)))?(r=t.substr(0,i),-1==zO(t,JTn(46))&&!yK(r,LWn)&&!yK(r,P9n)&&!yK(r,I9n)&&!yK(r,C9n)&&!yK(r,O9n)&&!yK(r,A9n)&&!yK(r,$9n)&&!yK(r,L9n)&&(r=N9n),-1!=(e=yN(t,JTn(62)))&&(r+=""+t.substr(e+1)),Rsn(n,r)):(r=t,-1==zO(t,JTn(46))&&(-1!=(i=zO(t,JTn(91)))&&(r=t.substr(0,i)),yK(r,LWn)||yK(r,P9n)||yK(r,I9n)||yK(r,C9n)||yK(r,O9n)||yK(r,A9n)||yK(r,$9n)||yK(r,L9n)?r=t:(r=N9n,-1!=i&&(r+=""+t.substr(i)))),Rsn(n,r),r==t&&(n.F=n.D))),0!=(4&n.Db)&&0==(1&n.Db)&&wan(n,new tU(n,1,5,c,t))}function Zqn(n,t){var e,i,r,c,a,u,o,s,h,f,l,b,w,d,g,p,v,m;if(!((d=t.b.c.length)<3)){for(b=D8($Nt,fQn,25,d,15,1),f=0,h=new Vb(t.b);h.aa)&&MU(n.b,HB(g.b,17));++u}c=a}}}function nGn(n,t){var e;if(null==t||yK(t,UWn))return null;if(0==t.length&&n.k!=(IPn(),vMt))return null;switch(n.k.g){case 1:return ygn(t,u5n)?(fN(),mtt):ygn(t,o5n)?(fN(),vtt):null;case 2:try{return rln(b_n(t,FVn,RWn))}catch(i){if(aL(i=bun(i),127))return null;throw qp(i)}case 4:try{return wSn(t)}catch(i){if(aL(i=bun(i),127))return null;throw qp(i)}case 3:return t;case 5:return chn(n),qCn(n,t);case 6:return chn(n),_$n(n,n.a,t);case 7:try{return(e=cAn(n)).Jf(t),e}catch(i){if(aL(i=bun(i),32))return null;throw qp(i)}default:throw qp(new By("Invalid type set for this layout option."))}}function tGn(n){var t,e,i,r,c,a,u;for(Rnn(),u=new Qv,e=new Vb(n);e.a=u.b.c)&&(u.b=t),(!u.c||t.c<=u.c.c)&&(u.d=u.c,u.c=t),(!u.e||t.d>=u.e.d)&&(u.e=t),(!u.f||t.d<=u.f.d)&&(u.f=t);return i=new Mpn(($un(),nut)),r2(n,sut,new Zy(Iun(zk(Zat,1),qWn,369,0,[i]))),a=new Mpn(iut),r2(n,out,new Zy(Iun(zk(Zat,1),qWn,369,0,[a]))),r=new Mpn(tut),r2(n,uut,new Zy(Iun(zk(Zat,1),qWn,369,0,[r]))),c=new Mpn(eut),r2(n,aut,new Zy(Iun(zk(Zat,1),qWn,369,0,[c]))),DLn(i.c,nut),DLn(r.c,tut),DLn(c.c,eut),DLn(a.c,iut),u.a.c=D8($nt,qWn,1,0,5,1),pun(u.a,i.c),pun(u.a,ian(r.c)),pun(u.a,c.c),pun(u.a,ian(a.c)),u}function eGn(n){var t;switch(n.d){case 1:if(n.hj())return-2!=n.o;break;case 2:if(n.hj())return-2==n.o;break;case 3:case 5:case 4:case 6:case 7:return n.o>-2;default:return!1}switch(t=n.gj(),n.p){case 0:return null!=t&&Gy(MD(t))!=ZC(n.k,0);case 1:return null!=t&&HB(t,217).a!=gG(n.k)<<24>>24;case 2:return null!=t&&HB(t,172).a!=(gG(n.k)&YVn);case 6:return null!=t&&ZC(HB(t,162).a,n.k);case 5:return null!=t&&HB(t,19).a!=gG(n.k);case 7:return null!=t&&HB(t,184).a!=gG(n.k)<<16>>16;case 3:return null!=t&&zy(SD(t))!=n.j;case 4:return null!=t&&HB(t,155).a!=n.j;default:return null==t?null!=n.n:!xfn(t,n.n)}}function iGn(n,t,e){var i,r,c,a;return n.Fk()&&n.Ek()&&zC(a=zz(n,HB(e,56)))!==zC(e)?(n.Oi(t),n.Ui(t,H9(n,t,a)),n.rk()&&(r=HB(e,49),c=n.Dk()?n.Bk()?r.ih(n.b,Cvn(HB(rtn(EY(n.b),n.aj()),18)).n,HB(rtn(EY(n.b),n.aj()).Yj(),26).Bj(),null):r.ih(n.b,$wn(r.Tg(),Cvn(HB(rtn(EY(n.b),n.aj()),18))),null,null):r.ih(n.b,-1-n.aj(),null,null),!HB(a,49).eh()&&(i=HB(a,49),c=n.Dk()?n.Bk()?i.gh(n.b,Cvn(HB(rtn(EY(n.b),n.aj()),18)).n,HB(rtn(EY(n.b),n.aj()).Yj(),26).Bj(),c):i.gh(n.b,$wn(i.Tg(),Cvn(HB(rtn(EY(n.b),n.aj()),18))),null,c):i.gh(n.b,-1-n.aj(),null,c)),c&&c.Fi()),yA(n.b)&&n.$i(n.Zi(9,e,a,t,!1)),a):e}function rGn(n,t,i){var r,c,a,u,o,s,h,f,l,b,w,d,g,p,v,m,y,k;for(f=zy(SD(yMn(n,(qXn(),Tpt)))),r=zy(SD(yMn(n,Kpt))),fon(b=new Ju,Tpt,f+r),v=(h=t).d,g=h.c.i,m=h.d.i,p=eA(g.c),y=eA(m.c),c=new xp,l=p;l<=y;l++)Hl(o=new Lvn(n),(oSn(),Iut)),fon(o,(fWn(),glt),h),fon(o,ipt,(YEn(),WIt)),fon(o,Spt,b),w=HB(Dq(n.b,l),29),l==p?Yyn(o,w.a.c.length-i,w):IZ(o,w),(k=zy(SD(yMn(h,ugt))))<0&&fon(h,ugt,k=0),o.o.b=k,d=e.Math.floor(k/2),GIn(u=new CSn,(jUn(),CCt)),CZ(u,o),u.n.b=d,GIn(s=new CSn,sCt),CZ(s,o),s.n.b=d,SZ(h,u),Gan(a=new dY,h),fon(a,mgt,null),PZ(a,s),SZ(a,v),Ukn(o,h,a),c.c[c.c.length]=a,h=a;return c}function cGn(n,t){var e,i,r,c,a,u,o,s,h,f,l,b,w,d,g;for(u=HB(RSn(n,(jUn(),CCt)).Kc().Pb(),11).e,f=HB(RSn(n,sCt).Kc().Pb(),11).g,a=u.c.length,g=p1(HB(Dq(n.j,0),11));a-- >0;){for(b1(0,u.c.length),b=HB(u.c[0],17),b1(0,f.c.length),r=T7((i=HB(f.c[0],17)).d.e,i,0),$2(b,i.d,r),PZ(i,null),SZ(i,null),l=b.a,t&&RH(l,new dA(g)),e=hpn(i.a,0);e.b!=e.d.c;)RH(l,new dA(HB(w3(e),8)));for(d=b.b,h=new Vb(i.b);h.a0&&(u=e.Math.max(u,bcn(n.C.b+r.d.b,c))),f=r,l=c,b=a;n.C&&n.C.c>0&&(w=b+n.C.c,h&&(w+=f.d.c),u=e.Math.max(u,(f$(),cin(lJn),e.Math.abs(l-1)<=lJn||1==l||isNaN(l)&&isNaN(1)?0:w/(1-l)))),i.n.b=0,i.a.a=u}function uGn(n,t){var i,r,c,a,u,o,s,h,f,l,b,w;if(i=HB(sV(n.b,t),124),(s=HB(HB(f6(n.r,t),21),84)).dc())return i.n.d=0,void(i.n.a=0);for(h=n.u.Hc((bCn(),iCt)),u=0,n.A.Hc((ydn(),FCt))&&jRn(n,t),o=s.Kc(),f=null,b=0,l=0;o.Ob();)a=zy(SD((r=HB(o.Pb(),111)).b.We((RN(),Nrt)))),c=r.b.rf().b,f?(w=l+f.d.a+n.w+r.d.d,u=e.Math.max(u,(f$(),cin(lJn),e.Math.abs(b-a)<=lJn||b==a||isNaN(b)&&isNaN(a)?0:w/(a-b)))):n.C&&n.C.d>0&&(u=e.Math.max(u,bcn(n.C.d+r.d.d,a))),f=r,b=a,l=c;n.C&&n.C.a>0&&(w=l+n.C.a,h&&(w+=f.d.a),u=e.Math.max(u,(f$(),cin(lJn),e.Math.abs(b-1)<=lJn||1==b||isNaN(b)&&isNaN(1)?0:w/(1-b)))),i.n.d=0,i.a.b=u}function oGn(n,t,e){var i,r,c,a,u,o;for(this.g=n,u=t.d.length,o=e.d.length,this.d=D8(Aut,u1n,10,u+o,0,1),a=0;a0?Ztn(this,this.f/this.a):null!=bL(t.g,t.d[0]).a&&null!=bL(e.g,e.d[0]).a?Ztn(this,(zy(bL(t.g,t.d[0]).a)+zy(bL(e.g,e.d[0]).a))/2):null!=bL(t.g,t.d[0]).a?Ztn(this,bL(t.g,t.d[0]).a):null!=bL(e.g,e.d[0]).a&&Ztn(this,bL(e.g,e.d[0]).a)}function sGn(n,t){var e,i,r,c,a,u,o,s,h;for(n.a=new HX(Lcn(VPt)),i=new Vb(t.a);i.a=1&&(g-a>0&&f>=0?(o.n.a+=d,o.n.b+=c*a):g-a<0&&h>=0&&(o.n.a+=d*g,o.n.b+=c));n.o.a=t.a,n.o.b=t.b,fon(n,(qXn(),Bgt),(ydn(),new JK(i=HB(Qj(JCt),9),HB(PR(i,i.length),9),0)))}function dGn(n,t,e,i,r,c){if(null!=t&&Wbn(t,$At,LAt))throw qp(new Fy("invalid scheme: "+t));if(!(n||null!=e&&-1==zO(e,JTn(35))&&e.length>0&&(w1(0,e.length),47!=e.charCodeAt(0))))throw qp(new Fy("invalid opaquePart: "+e));if(n&&(null==t||!DT(EAt,t.toLowerCase()))&&null!=e&&Wbn(e,NAt,xAt))throw qp(new Fy(s9n+e));if(n&&null!=t&&DT(EAt,t.toLowerCase())&&!CEn(e))throw qp(new Fy(s9n+e));if(!Xbn(i))throw qp(new Fy("invalid device: "+i));if(!Khn(r))throw qp(new Fy(null==r?"invalid segments: null":"invalid segment: "+hhn(r)));if(null!=c&&-1!=zO(c,JTn(35)))throw qp(new Fy("invalid query: "+c))}function gGn(n,t){var i,r,c,a,u,o,s,h,f,l,b,w,d,g,p,v;for(ATn(t,"Calculate Graph Size",1),t.n&&n&&k0(t,s2(n),(Hsn(),oOt)),o=nZn,s=nZn,a=t4n,u=t4n,l=new $L((!n.a&&(n.a=new iU(XOt,n,10,11)),n.a));l.e!=l.i.gc();)d=(h=HB(jpn(l),33)).i,g=h.j,v=h.g,r=h.f,c=HB(n$n(h,(hWn(),LSt)),142),o=e.Math.min(o,d-c.b),s=e.Math.min(s,g-c.d),a=e.Math.max(a,d+v+c.c),u=e.Math.max(u,g+r+c.a);for(b=new DI(o-(w=HB(n$n(n,(hWn(),WSt)),116)).b,s-w.d),f=new $L((!n.a&&(n.a=new iU(XOt,n,10,11)),n.a));f.e!=f.i.gc();)Ien(h=HB(jpn(f),33),h.i-b.a),Cen(h,h.j-b.b);p=a-o+(w.b+w.c),i=u-s+(w.d+w.a),Pen(n,p),Sen(n,i),t.n&&n&&k0(t,s2(n),(Hsn(),oOt))}function pGn(n){var t,e,i,r,c,a,u,o,s,h;for(i=new xp,a=new Vb(n.e.a);a.a0?(Ipn(n,e,0),e.a+=String.fromCharCode(i),Ipn(n,e,r=agn(t,c)),c+=r-1):39==i?c+11)for(d=D8($Nt,fQn,25,n.b.b.c.length,15,1),f=0,h=new Vb(n.b.b);h.a=u&&r<=o)u<=r&&c<=o?(e[h++]=r,e[h++]=c,i+=2):u<=r?(e[h++]=r,e[h++]=o,n.b[i]=o+1,a+=2):c<=o?(e[h++]=u,e[h++]=c,i+=2):(e[h++]=u,e[h++]=o,n.b[i]=o+1);else{if(!(o_Vn)&&o<10);ej(n.c,new Tt),kGn(n),OU(n.c),lGn(n.f)}function TGn(n,t,e){var i,r,c,a,u,o,s,h,f,l;if(Gy(MD(yMn(e,(qXn(),dgt)))))for(r=new Vb(e.j);r.a=2){for(a=HB(w3(o=hpn(e,0)),8),u=HB(w3(o),8);u.a0&&Xun(o,!0,(Bfn(),BPt)),a.k==(oSn(),Sut)&&dV(o),QW(n.f,a,t)):((s=(i=HB(rY(fbn(a)),17)).c.i)==a&&(s=i.d.i),h=new cC(s,WR(H$(a.n),s.n)),QW(n.b,a,h))}function IGn(n,t,i){var r,c,a,u,o,s,h,f;switch(ATn(i,"Node promotion heuristic",1),n.g=t,kUn(n),n.q=HB(yMn(t,(qXn(),Pgt)),260),f=HB(yMn(n.g,Sgt),19).a,a=new fi,n.q.g){case 2:case 1:default:FHn(n,a);break;case 3:for(n.q=(hNn(),Avt),FHn(n,a),s=0,o=new Vb(n.a);o.an.j&&(n.q=Mvt,FHn(n,a));break;case 4:for(n.q=(hNn(),Avt),FHn(n,a),h=0,c=new Vb(n.b);c.an.k&&(n.q=Ivt,FHn(n,a));break;case 6:FHn(n,new sd(CJ(e.Math.ceil(n.f.length*f/100))));break;case 5:FHn(n,new hd(CJ(e.Math.ceil(n.d*f/100))))}sDn(n,t),qSn(i)}function CGn(n,t,e){var i,r,c,a;this.j=n,this.e=GEn(n),this.o=this.j.e,this.i=!!this.o,this.p=this.i?HB(Dq(e,mW(this.o).p),214):null,r=HB(yMn(n,(fWn(),nlt)),21),this.g=r.Hc((wDn(),bft)),this.b=new xp,this.d=new ddn(this.e),a=HB(yMn(this.j,Plt),230),this.q=qan(t,a,this.e),this.k=new uZ(this),c=o6(Iun(zk(Est,1),qWn,225,0,[this,this.d,this.k,this.q])),t!=(sin(),Amt)||Gy(MD(yMn(n,(qXn(),Ddt))))?t==Amt&&Gy(MD(yMn(n,(qXn(),Ddt))))?(i=new XEn(this.e),c.c[c.c.length]=i,this.c=new vrn(i,a,HB(this.q,402))):this.c=new mP(t,this):(i=new XEn(this.e),c.c[c.c.length]=i,this.c=new z2(i,a,HB(this.q,402))),VB(c,this.c),CHn(c,this.e),this.s=dXn(this.k)}function OGn(n,t){var e,i,r,c,a,u,o,s,h,f,l,b,w,d,g,p,v;for(l=(s=HB(rL(new dg(hpn(new wg(t).a.d,0))),86))?HB(yMn(s,(Gqn(),akt)),86):null,r=1;s&&l;){for(a=0,v=0,e=s,i=l,c=0;c=n.i?(++n.i,VB(n.a,rln(1)),VB(n.b,s)):(i=n.c[t.p][1],a5(n.a,o,rln(HB(Dq(n.a,o),19).a+1-i)),a5(n.b,o,zy(SD(Dq(n.b,o)))+s-i*n.e)),(n.q==(hNn(),Mvt)&&(HB(Dq(n.a,o),19).a>n.j||HB(Dq(n.a,o-1),19).a>n.j)||n.q==Ivt&&(zy(SD(Dq(n.b,o)))>n.k||zy(SD(Dq(n.b,o-1)))>n.k))&&(u=!1),c=new sz(nN(lbn(t).a.Kc(),new f));gAn(c);)a=HB(X5(c),17).c.i,n.f[a.p]==o&&(r+=HB((h=AGn(n,a)).a,19).a,u=u&&Gy(MD(h.b)));return n.f[t.p]=o,new cC(rln(r+=n.c[t.p][0]),(fN(),!!u))}function $Gn(n,t,i,r,c){var a,u,o,s,h,f,l,b,w,d,g,p,v;for(l=new Dp,u=new xp,cCn(n,i,n.d.fg(),u,l),cCn(n,r,n.d.gg(),u,l),n.b=.2*(g=HAn(dnn(new Kq(null,new d1(u,16)),new Pa)),p=HAn(dnn(new Kq(null,new d1(u,16)),new Ia)),e.Math.min(g,p)),a=0,o=0;o=2&&(v=YLn(u,!0,b),!n.e&&(n.e=new bg(n)),hgn(n.e,v,u,n.b)),rTn(u,b),azn(u),w=-1,f=new Vb(u);f.au)}function xGn(n,t){var i,r,c,a,u,o,s,h,f,l,b,w,d,g;for(i=HB(yMn(n,(qXn(),ipt)),98),u=n.f,a=n.d,o=u.a+a.b+a.c,s=0-a.d-n.c.b,f=u.b+a.d+a.a-n.c.b,h=new xp,l=new xp,c=new Vb(t);c.a0),c=HB(s.a.Xb(s.c=--s.b),17);c!=i&&s.b>0;)n.a[c.p]=!0,n.a[i.p]=!0,Ix(s.b>0),c=HB(s.a.Xb(s.c=--s.b),17);s.b>0&&lW(s)}}function GGn(n,t,e){var i,r,c,a,u,o,s,h,f;if(n.a!=t.Aj())throw qp(new Fy(g6n+t.ne()+p6n));if(i=Cfn((OPn(),nLt),t).$k())return i.Aj().Nh().Ih(i,e);if(a=Cfn(nLt,t).al()){if(null==e)return null;if((u=HB(e,15)).dc())return"";for(f=new Pk,c=u.Kc();c.Ob();)r=c.Pb(),aO(f,a.Aj().Nh().Ih(a,r)),f.a+=" ";return _O(f,f.a.length-1)}if(!(h=Cfn(nLt,t).bl()).dc()){for(s=h.Kc();s.Ob();)if((o=HB(s.Pb(),148)).wj(e))try{if(null!=(f=o.Aj().Nh().Ih(o,e)))return f}catch(l){if(!aL(l=bun(l),102))throw qp(l)}throw qp(new Fy("Invalid value: '"+e+"' for datatype :"+t.ne()))}return HB(t,834).Fj(),null==e?null:aL(e,172)?""+HB(e,172).a:esn(e)==ytt?q$(OOt[0],HB(e,199)):Hbn(e)}function zGn(n){var t,i,r,c,a,u,o,s,h;for(s=new JT,u=new JT,c=new Vb(n);c.a-1){for(r=hpn(u,0);r.b!=r.d.c;)(i=HB(w3(r),128)).v=a;for(;0!=u.b;)for(t=new Vb((i=HB(ekn(u,0),128)).i);t.a0&&(e+=o.n.a+o.o.a/2,++f),b=new Vb(o.j);b.a0&&(e/=f),g=D8(DNt,GQn,25,i.a.c.length,15,1),u=0,s=new Vb(i.a);s.a=u&&r<=o)u<=r&&c<=o?i+=2:u<=r?(n.b[i]=o+1,a+=2):c<=o?(e[h++]=r,e[h++]=u-1,i+=2):(e[h++]=r,e[h++]=u-1,n.b[i]=o+1,a+=2);else{if(!(o0?r-=864e5:r+=864e5,o=new ID(cbn(lan(t.q.getTime()),r))),h=new Ok,s=n.a.length,c=0;c=97&&i<=122||i>=65&&i<=90){for(a=c+1;a=s)throw qp(new Fy("Missing trailing '"));a+10&&0==e.c&&(!t&&(t=new xp),t.c[t.c.length]=e);if(t)for(;0!=t.c.length;){if((e=HB(h6(t,0),233)).b&&e.b.c.length>0)for(!e.b&&(e.b=new xp),c=new Vb(e.b);c.aT7(n,e,0))return new cC(r,e)}else if(zy(bL(r.g,r.d[0]).a)>zy(bL(e.g,e.d[0]).a))return new cC(r,e);for(u=(!e.e&&(e.e=new xp),e.e).Kc();u.Ob();)!(a=HB(u.Pb(),233)).b&&(a.b=new xp),NZ(0,(o=a.b).c.length),SS(o.c,0,e),a.c==o.c.length&&(t.c[t.c.length]=a)}return null}function rzn(n,t){var e,i,r,c,a,u;if(null==n)return UWn;if(null!=t.a.zc(n,t))return"[...]";for(e=new Lan(BWn,"[","]"),c=0,a=(r=n).length;c=14&&u<=16?aL(i,177)?w6(e,KIn(HB(i,177))):aL(i,190)?w6(e,ZEn(HB(i,190))):aL(i,195)?w6(e,jSn(HB(i,195))):aL(i,2012)?w6(e,nTn(HB(i,2012))):aL(i,48)?w6(e,RIn(HB(i,48))):aL(i,364)?w6(e,pCn(HB(i,364))):aL(i,832)?w6(e,DIn(HB(i,832))):aL(i,104)&&w6(e,xIn(HB(i,104))):t.a._b(i)?(e.a?sO(e.a,e.b):e.a=new bN(e.d),uO(e.a,"[...]")):w6(e,rzn(ien(i),new Lq(t))):w6(e,null==i?UWn:Hbn(i));return e.a?0==e.e.length?e.a.a:e.a.a+""+e.e:e.c}function czn(n,t,i,r){var c,a,u,o,s,h,f,l,b,w,d,g;for(w=GSn(aDn(t,!1,!1)),r&&(w=Zon(w)),g=zy(SD(n$n(t,(Tpn(),vct)))),Ix(0!=w.b),b=HB(w.a.a.c,8),h=HB(Rpn(w,1),8),w.b>2?(pun(s=new xp,new h1(w,1,w.b)),Gan(d=new TAn(WXn(s,g+n.a)),t),i.c[i.c.length]=d):d=HB(KX(n.b,r?IMn(t):AMn(t)),266),u=IMn(t),r&&(u=AMn(t)),a=rPn(b,u),o=g+n.a,a.a?(o+=e.Math.abs(b.b-h.b),l=new DI(h.a,(h.b+b.b)/2)):(o+=e.Math.abs(b.a-h.a),l=new DI((h.a+b.a)/2,h.b)),QW(r?n.d:n.c,t,new Omn(d,a,l,o)),QW(n.b,t,d),!t.n&&(t.n=new iU(UOt,t,1,7)),f=new $L(t.n);f.e!=f.i.gc();)c=ZRn(n,HB(jpn(f),137),!0,0,0),i.c[i.c.length]=c}function azn(n){var t,i,r,c,a,u,o,s,h;for(s=new xp,u=new xp,a=new Vb(n);a.a-1){for(c=new Vb(u);c.a0||(Jl(o,e.Math.min(o.o,r.o-1)),Yl(o,o.i-1),0==o.i&&(u.c[u.c.length]=o))}}function uzn(n,t,e){var i,r,c,a,u;if(u=n.c,!t&&(t=N$t),n.c=t,0!=(4&n.Db)&&0==(1&n.Db)&&(a=new tU(n,1,2,u,n.c),e?e.Ei(a):e=a),u!=t)if(aL(n.Cb,284))n.Db>>16==-10?e=HB(n.Cb,284).nk(t,e):n.Db>>16==-15&&(!t&&(pWn(),t=b$t),!u&&(pWn(),u=b$t),n.Cb.nh()&&(a=new x7(n.Cb,1,13,u,t,ovn(q7(HB(n.Cb,59)),n),!1),e?e.Ei(a):e=a));else if(aL(n.Cb,88))n.Db>>16==-23&&(aL(t,88)||(pWn(),t=g$t),aL(u,88)||(pWn(),u=g$t),n.Cb.nh()&&(a=new x7(n.Cb,1,10,u,t,ovn(u4(HB(n.Cb,26)),n),!1),e?e.Ei(a):e=a));else if(aL(n.Cb,444))for(!(c=HB(n.Cb,836)).b&&(c.b=new Mp(new Dm)),r=new Sp(new osn(new Ib(c.b.a).a));r.a.b;)e=uzn(i=HB(een(r.a).cd(),87),jLn(i,c),e);return e}function ozn(n,t){var e,i,r,c,a,u,o,s,h,f,l;for(a=Gy(MD(n$n(n,(qXn(),dgt)))),l=HB(n$n(n,apt),21),o=!1,s=!1,f=new $L((!n.c&&(n.c=new iU(WOt,n,9,9)),n.c));!(f.e==f.i.gc()||o&&s);){for(c=HB(jpn(f),118),u=0,r=xU(Ven(Iun(zk(Dnt,1),qWn,20,0,[(!c.d&&(c.d=new fK(FOt,c,8,5)),c.d),(!c.e&&(c.e=new fK(FOt,c,7,4)),c.e)])));gAn(r)&&(i=HB(X5(r),79),h=a&&YCn(i)&&Gy(MD(n$n(i,ggt))),e=wqn((!i.b&&(i.b=new fK(_Ot,i,4,7)),i.b),c)?n==ZJ(ITn(HB(Vtn((!i.c&&(i.c=new fK(_Ot,i,5,8)),i.c),0),82))):n==ZJ(ITn(HB(Vtn((!i.b&&(i.b=new fK(_Ot,i,4,7)),i.b),0),82))),!((h||e)&&++u>1)););(u>0||l.Hc((bCn(),iCt))&&(!c.n&&(c.n=new iU(UOt,c,1,7)),c.n).i>0)&&(o=!0),u>1&&(s=!0)}o&&t.Fc((wDn(),bft)),s&&t.Fc((wDn(),wft))}function szn(n){var t,i,r,c,a,u,o,s,h,f,l,b;if((b=HB(n$n(n,(hWn(),_St)),21)).dc())return null;if(o=0,u=0,b.Hc((ydn(),_Ct))){for(f=HB(n$n(n,oPt),98),r=2,i=2,c=2,a=2,t=ZJ(n)?HB(n$n(ZJ(n),wSt),103):HB(n$n(n,wSt),103),h=new $L((!n.c&&(n.c=new iU(WOt,n,9,9)),n.c));h.e!=h.i.gc();)if(s=HB(jpn(h),118),(l=HB(n$n(s,dPt),61))==(jUn(),ICt)&&(l=AFn(s,t),Jpn(s,dPt,l)),f==(YEn(),WIt))switch(l.g){case 1:r=e.Math.max(r,s.i+s.g);break;case 2:i=e.Math.max(i,s.j+s.f);break;case 3:c=e.Math.max(c,s.i+s.g);break;case 4:a=e.Math.max(a,s.j+s.f)}else switch(l.g){case 1:r+=s.g+2;break;case 2:i+=s.f+2;break;case 3:c+=s.g+2;break;case 4:a+=s.f+2}o=e.Math.max(r,c),u=e.Math.max(i,a)}return _Un(n,o,u,!0,!0)}function hzn(n,t,i,r,c){var a,u,o,s,h,f,l,b,w,d,g,p,v,m,y,k;for(m=HB(I4(ktn($V(new Kq(null,new d1(t.d,16)),new Ld(i)),new Nd(i)),y9(new q,new H,new cn,Iun(zk(tit,1),LVn,132,0,[(Gsn(),Xet)]))),15),l=RWn,f=FVn,s=new Vb(t.b.j);s.a0)?s&&(h=d.p,a?++h:--h,f=!(aNn(i=ron(HB(Dq(d.c.a,h),10)),y,e[0])||Hz(i,y,e[0]))):f=!0),l=!1,(m=t.D.i)&&m.c&&u.e&&(a&&m.p>0||!a&&m.p0&&(t.a+=BWn),pzn(HB(jpn(a),160),t);for(t.a+=i1n,u=new ax((!i.c&&(i.c=new fK(_Ot,i,5,8)),i.c));u.e!=u.i.gc();)u.e>0&&(t.a+=BWn),pzn(HB(jpn(u),160),t);t.a+=")"}}}function vzn(n,t,e){var i,r,c,a,u,o,s,h,f,l,b;if(c=HB(yMn(n,(fWn(),glt)),79)){for(i=n.a,XR(r=new dA(e),Ljn(n)),dan(n.d.i,n.c.i)?(l=n.c,WR(f=$on(Iun(zk(IMt,1),hVn,8,0,[l.n,l.a])),e)):f=p1(n.c),c5(i,f,i.a,i.a.a),b=p1(n.d),null!=yMn(n,Klt)&&XR(b,HB(yMn(n,Klt),8)),c5(i,b,i.c.b,i.c),nen(i,r),Nin(a=aDn(c,!0,!0),HB(Vtn((!c.b&&(c.b=new fK(_Ot,c,4,7)),c.b),0),82)),xin(a,HB(Vtn((!c.c&&(c.c=new fK(_Ot,c,5,8)),c.c),0),82)),QFn(i,a),h=new Vb(n.b);h.a=0){for(o=null,u=new S2(h.a,s+1);u.ba?1:UO(isNaN(0),isNaN(a)))<0&&(cin($3n),(e.Math.abs(a-1)<=$3n||1==a||isNaN(a)&&isNaN(1)?0:a<1?-1:a>1?1:UO(isNaN(a),isNaN(1)))<0)&&(cin($3n),(e.Math.abs(0-u)<=$3n||0==u||isNaN(0)&&isNaN(u)?0:0u?1:UO(isNaN(0),isNaN(u)))<0)&&(cin($3n),(e.Math.abs(u-1)<=$3n||1==u||isNaN(u)&&isNaN(1)?0:u<1?-1:u>1?1:UO(isNaN(u),isNaN(1)))<0))}function kzn(n){var t,e,i,r,c,a,u,o,s,h,f,l,b,w,d,g,p,v,m,y,k,j;for(f=new fW(new rw(n));f.b!=f.c.a.d;)for(u=HB((h=h9(f)).d,56),t=HB(h.e,56),d=0,y=(null==(a=u.Tg()).i&&GFn(a),a.i).length;d=0&&d=s.c.c.length?W3((oSn(),Cut),Iut):W3((oSn(),Iut),Iut),h*=2,c=i.a.g,i.a.g=e.Math.max(c,c+(h-c)),a=i.b.g,i.b.g=e.Math.max(a,a+(h-a)),r=t}else UAn(u),$Hn((b1(0,u.c.length),HB(u.c[0],17)).d.i)||VB(n.o,u)}function Tzn(n,t,e,i,r){var c,a,u,o,s,h,f,l,b,w,d,g,p,v,m;for(m=zB(n),o=new xp,s=(c=n.c.length)-1,h=c+1;0!=m.a.c;){for(;0!=e.b;)Ix(0!=e.b),p=HB($tn(e,e.a.a),112),LJ(m.a,p),p.g=s--,xFn(p,t,e,i);for(;0!=t.b;)Ix(0!=t.b),v=HB($tn(t,t.a.a),112),LJ(m.a,v),v.g=h++,xFn(v,t,e,i);for(u=FVn,d=new Bb(new HR(new DN(new Fb(m.a).a).b));uS(d.a.a);){if(w=HB(yx(d.a).cd(),112),!i&&w.b>0&&w.a<=0){o.c=D8($nt,qWn,1,0,5,1),o.c[o.c.length]=w;break}(b=w.i-w.d)>=u&&(b>u&&(o.c=D8($nt,qWn,1,0,5,1),u=b),o.c[o.c.length]=w)}0!=o.c.length&&(a=HB(Dq(o,vvn(r,o.c.length)),112),LJ(m.a,a),a.g=h++,xFn(a,t,e,i),o.c=D8($nt,qWn,1,0,5,1))}for(g=n.c.length+1,l=new Vb(n);l.a0&&(b.d+=f.n.d,b.d+=f.d),b.a>0&&(b.a+=f.n.a,b.a+=f.d),b.b>0&&(b.b+=f.n.b,b.b+=f.d),b.c>0&&(b.c+=f.n.c,b.c+=f.d),b}function Czn(n,t,i){var r,c,a,u,o,s,h,f,l,b,w,d;for(b=i.d,l=i.c,u=(a=new DI(i.f.a+i.d.b+i.d.c,i.f.b+i.d.d+i.d.a)).b,h=new Vb(n.a);h.a0&&(n.c[t.c.p][t.p].d+=q$n(n.i,24)*oYn*.07000000029802322-.03500000014901161,n.c[t.c.p][t.p].a=n.c[t.c.p][t.p].d/n.c[t.c.p][t.p].b)}}function Rzn(n){var t,e,i,r,c,a,u,o,s,h,f,l,b,w;for(l=new Vb(n);l.ar.d,r.d=e.Math.max(r.d,t),o&&i&&(r.d=e.Math.max(r.d,r.a),r.a=r.d+c);break;case 3:i=t>r.a,r.a=e.Math.max(r.a,t),o&&i&&(r.a=e.Math.max(r.a,r.d),r.d=r.a+c);break;case 2:i=t>r.c,r.c=e.Math.max(r.c,t),o&&i&&(r.c=e.Math.max(r.b,r.c),r.b=r.c+c);break;case 4:i=t>r.b,r.b=e.Math.max(r.b,t),o&&i&&(r.b=e.Math.max(r.b,r.c),r.c=r.b+c)}}}function Bzn(n){var t,e,i,r,c,a,u,o,s,h,f;for(s=new Vb(n);s.a0||h.j==CCt&&h.e.c.length-h.g.c.length<0)){t=!1;break}for(r=new Vb(h.g);r.a=h&&j>=p&&(b+=d.n.b+g.n.b+g.a.b-k,++o));if(i)for(u=new Vb(m.e);u.a=h&&j>=p&&(b+=d.n.b+g.n.b+g.a.b-k,++o))}o>0&&(E+=b/o,++w)}w>0?(t.a=c*E/w,t.g=w):(t.a=0,t.g=0)}function qzn(n,t){var e,i,r,c,a,u,o,s,h,f;for(i=new Vb(n.a.b);i.a_Qn||t.o==cyt&&s0&&Ien(p,y*j),k>0&&Cen(p,k*E);for(tan(n.b,new bt),t=new xp,u=new osn(new Ib(n.c).a);u.b;)i=HB((a=een(u)).cd(),79),e=HB(a.dd(),395).a,r=aDn(i,!1,!1),QFn(f=bTn(IMn(i),GSn(r),e),r),(m=CMn(i))&&-1==T7(t,m,0)&&(t.c[t.c.length]=m,hQ(m,(Ix(0!=f.b),HB(f.a.a.c,8)),e));for(g=new osn(new Ib(n.d).a);g.b;)i=HB((d=een(g)).cd(),79),e=HB(d.dd(),395).a,r=aDn(i,!1,!1),f=bTn(AMn(i),Zon(GSn(r)),e),QFn(f=Zon(f),r),(m=OMn(i))&&-1==T7(t,m,0)&&(t.c[t.c.length]=m,hQ(m,(Ix(0!=f.b),HB(f.c.b.c,8)),e))}function Wzn(n,t,i,r){var c,a,u,o,s,h,f,l,b,w,d,g,p,v,m,y,k,j,E;if(0!=i.c.length){for(w=new xp,b=new Vb(i);b.a1)for(i5(m,new hI(n,b=new fqn(w,m,r))),u.c[u.c.length]=b,f=m.a.ec().Kc();f.Ob();)k7(a,HB(f.Pb(),46).b);if(o.a.gc()>1)for(i5(o,new fI(n,b=new fqn(w,o,r))),u.c[u.c.length]=b,f=o.a.ec().Kc();f.Ob();)k7(a,HB(f.Pb(),46).b)}}function eUn(n){xM(n,new STn(gj(mj(dj(vj(pj(new gu,d4n),"ELK Radial"),'A radial layout provider which is based on the algorithm of Peter Eades published in "Drawing free trees.", published by International Institute for Advanced Study of Social Information Science, Fujitsu Limited in 1991. The radial layouter takes a tree and places the nodes in radial order around the root. The nodes of the same tree level are placed on the same radius.'),new qa),d4n))),o2(n,d4n,p3n,ypn(Djt)),o2(n,d4n,mZn,ypn(_jt)),o2(n,d4n,IZn,ypn(Cjt)),o2(n,d4n,HZn,ypn(Ojt)),o2(n,d4n,PZn,ypn(Ajt)),o2(n,d4n,CZn,ypn(Ijt)),o2(n,d4n,SZn,ypn($jt)),o2(n,d4n,OZn,ypn(xjt)),o2(n,d4n,f4n,ypn(Sjt)),o2(n,d4n,h4n,ypn(Pjt)),o2(n,d4n,w4n,ypn(Ljt)),o2(n,d4n,o4n,ypn(Njt)),o2(n,d4n,s4n,ypn(Rjt)),o2(n,d4n,l4n,ypn(Kjt)),o2(n,d4n,b4n,ypn(Fjt))}function iUn(n){var t;if(this.r=DV(new In,new Cn),this.b=new qbn(HB(kX(BCt),290)),this.p=new qbn(HB(kX(BCt),290)),this.i=new qbn(HB(kX(_rt),290)),this.e=n,this.o=new dA(n.rf()),this.D=n.Df()||Gy(MD(n.We((hWn(),PSt)))),this.A=HB(n.We((hWn(),_St)),21),this.B=HB(n.We(GSt),21),this.q=HB(n.We(oPt),98),this.u=HB(n.We(lPt),21),!dMn(this.u))throw qp(new ck("Invalid port label placement: "+this.u));if(this.v=Gy(MD(n.We(wPt))),this.j=HB(n.We(RSt),21),!eLn(this.j))throw qp(new ck("Invalid node label placement: "+this.j));this.n=HB(tkn(n,xSt),116),this.k=zy(SD(tkn(n,APt))),this.d=zy(SD(tkn(n,OPt))),this.w=zy(SD(tkn(n,KPt))),this.s=zy(SD(tkn(n,$Pt))),this.t=zy(SD(tkn(n,LPt))),this.C=HB(tkn(n,DPt),142),this.c=2*this.d,t=!this.B.Hc((t_n(),qCt)),this.f=new Ogn(0,t,0),this.g=new Ogn(1,t,0),Ey(this.f,(Rtn(),Uit),this.g)}function rUn(n,t,i,r,c){var a,u,o,s,h,l,b,w,d,g,p,v,m,y,k,j,E,T,M,S;for(y=0,g=0,d=0,w=1,m=new $L((!n.a&&(n.a=new iU(XOt,n,10,11)),n.a));m.e!=m.i.gc();)w+=B3(new sz(nN(gLn(p=HB(jpn(m),33)).a.Kc(),new f))),T=p.g,g=e.Math.max(g,T),b=p.f,d=e.Math.max(d,b),y+=T*b;for(u=y+2*r*r*w*(!n.a&&(n.a=new iU(XOt,n,10,11)),n.a).i,a=e.Math.sqrt(u),s=e.Math.max(a*i,g),o=e.Math.max(a/i,d),v=new $L((!n.a&&(n.a=new iU(XOt,n,10,11)),n.a));v.e!=v.i.gc();)p=HB(jpn(v),33),M=c.b+(q$n(t,26)*cYn+q$n(t,27)*aYn)*(s-p.g),S=c.b+(q$n(t,26)*cYn+q$n(t,27)*aYn)*(o-p.f),Ien(p,M),Cen(p,S);for(E=s+(c.b+c.c),j=o+(c.d+c.a),k=new $L((!n.a&&(n.a=new iU(XOt,n,10,11)),n.a));k.e!=k.i.gc();)for(l=new sz(nN(gLn(HB(jpn(k),33)).a.Kc(),new f));gAn(l);)tAn(h=HB(X5(l),79))||HXn(h,t,E,j);_Un(n,E+=c.b+c.c,j+=c.d+c.a,!1,!0)}function cUn(n){var t,e,i,r,c,a,u,o,s,h,f;if(null==n)throw qp(new Sk(UWn));if(s=n,o=!1,(c=n.length)>0&&(w1(0,n.length),45!=(t=n.charCodeAt(0))&&43!=t||(n=n.substr(1),--c,o=45==t)),0==c)throw qp(new Sk(RQn+s+'"'));for(;n.length>0&&(w1(0,n.length),48==n.charCodeAt(0));)n=n.substr(1),--c;if(c>(rFn(),Dtt)[10])throw qp(new Sk(RQn+s+'"'));for(r=0;r0&&(f=-parseInt(n.substr(0,i),10),n=n.substr(i),c-=i,e=!1);c>=a;){if(i=parseInt(n.substr(0,a),10),n=n.substr(a),c-=a,e)e=!1;else{if(Qhn(f,u)<0)throw qp(new Sk(RQn+s+'"'));f=abn(f,h)}f=rbn(f,i)}if(Qhn(f,0)>0)throw qp(new Sk(RQn+s+'"'));if(!o&&Qhn(f=E7(f),0)<0)throw qp(new Sk(RQn+s+'"'));return f}function aUn(n,t){var e,i,r,c,a,u,o;if(nq(),this.a=new W$(this),this.b=n,this.c=t,this.f=AU(H7((OPn(),nLt),t)),this.f.dc())if((u=yjn(nLt,n))==t)for(this.e=!0,this.d=new xp,this.f=new lo,this.f.Fc(P7n),HB(xHn(B7(nLt,Xtn(n)),""),26)==n&&this.f.Fc(uz(nLt,Xtn(n))),r=TKn(nLt,n).Kc();r.Ob();)switch(i=HB(r.Pb(),170),RW(H7(nLt,i))){case 4:this.d.Fc(i);break;case 5:this.f.Gc(AU(H7(nLt,i)))}else if(nS(),HB(t,66).Oj())for(this.e=!0,this.f=null,this.d=new xp,a=0,o=(null==n.i&&GFn(n),n.i).length;a=0&&a0&&(HB(sV(n.b,t),124).a.b=i)}function oUn(n,t){var e,i,r,c,a,u,o,s,h,f,l,b,w,d,g;for(ATn(t,"Comment pre-processing",1),e=0,o=new Vb(n.a);o.a0&&(w1(0,t.length),64!=(u=t.charCodeAt(0)))){if(37==u&&(o=!1,0!=(h=t.lastIndexOf("%"))&&(h==f-1||(w1(h+1,t.length),o=46==t.charCodeAt(h+1))))){if(v=yK("%",a=t.substr(1,h-1))?null:LUn(a),i=0,o)try{i=b_n(t.substr(h+2),FVn,RWn)}catch(m){throw aL(m=bun(m),127)?qp(new N7(m)):qp(m)}for(d=Trn(n.Wg());d.Ob();)if(aL(b=San(d),510)&&(p=(r=HB(b,590)).d,(null==v?null==p:yK(v,p))&&0==i--))return r;return null}if(l=-1==(s=t.lastIndexOf("."))?t:t.substr(0,s),e=0,-1!=s)try{e=b_n(t.substr(s+1),FVn,RWn)}catch(m){if(!aL(m=bun(m),127))throw qp(m);l=t}for(l=yK("%",l)?null:LUn(l),w=Trn(n.Wg());w.Ob();)if(aL(b=San(w),191)&&(g=(c=HB(b,191)).ne(),(null==l?null==g:yK(l,g))&&0==e--))return c;return null}return Fqn(n,t)}function lUn(n){var t,e,i,r,c,a,u,o,s,h,f,l,b,w,d,g,p,v,m,y,k,j,E,T;for(m=new xp,f=new Vb(n.b);f.a=n.length)return{done:!0};var i=n[e++];return{value:[i,t.get(i)],done:!1}}}},UDn()||(n.prototype.createObject=function(){return{}},n.prototype.get=function(n){return this.obj[":"+n]},n.prototype.set=function(n,t){this.obj[":"+n]=t},n.prototype[rYn]=function(n){delete this.obj[":"+n]},n.prototype.keys=function(){var n=[];for(var t in this.obj)58==t.charCodeAt(0)&&n.push(t.substring(1));return n}),n}function dUn(n){var t,e,i,r,c,a,u,o,s,h,f,l,b,w,d;if(IFn(),null==n)return null;if(0==(f=8*n.length))return"";for(l=f/24|0,c=null,c=D8(ANt,VVn,25,4*(0!=(u=f%24)?l+1:l),15,1),s=0,h=0,t=0,e=0,i=0,a=0,r=0,o=0;o>24,s=(3&t)<<24>>24,b=0==(-128&t)?t>>2<<24>>24:(t>>2^192)<<24>>24,w=0==(-128&e)?e>>4<<24>>24:(e>>4^240)<<24>>24,d=0==(-128&(i=n[r++]))?i>>6<<24>>24:(i>>6^252)<<24>>24,c[a++]=QLt[b],c[a++]=QLt[w|s<<4],c[a++]=QLt[h<<2|d],c[a++]=QLt[63&i];return 8==u?(s=(3&(t=n[r]))<<24>>24,b=0==(-128&t)?t>>2<<24>>24:(t>>2^192)<<24>>24,c[a++]=QLt[b],c[a++]=QLt[s<<4],c[a++]=61,c[a++]=61):16==u&&(t=n[r],h=(15&(e=n[r+1]))<<24>>24,s=(3&t)<<24>>24,b=0==(-128&t)?t>>2<<24>>24:(t>>2^192)<<24>>24,w=0==(-128&e)?e>>4<<24>>24:(e>>4^240)<<24>>24,c[a++]=QLt[b],c[a++]=QLt[w|s<<4],c[a++]=QLt[h<<2],c[a++]=61),Hdn(c,0,c.length)}function gUn(n,t){var i,r,c,a,u,o;if(0==n.e&&n.p>0&&(n.p=-(n.p-1)),n.p>FVn&&i4(t,n.p-hQn),u=t.q.getDate(),BJ(t,1),n.k>=0&&mZ(t,n.k),n.c>=0?BJ(t,n.c):n.k>=0?(r=35-new mon(t.q.getFullYear()-hQn,t.q.getMonth(),35).q.getDate(),BJ(t,e.Math.min(r,u))):BJ(t,u),n.f<0&&(n.f=t.q.getHours()),n.b>0&&n.f<12&&(n.f+=12),uL(t,24==n.f&&n.g?0:n.f),n.j>=0&&p6(t,n.j),n.n>=0&&X8(t,n.n),n.i>=0&&gO(t,cbn(abn(Ajn(lan(t.q.getTime()),QVn),QVn),n.i)),n.a&&(i4(c=new $T,c.q.getFullYear()-hQn-80),hS(lan(t.q.getTime()),lan(c.q.getTime()))&&i4(t,c.q.getFullYear()-hQn+100)),n.d>=0)if(-1==n.c)(i=(7+n.d-t.q.getDay())%7)>3&&(i-=7),o=t.q.getMonth(),BJ(t,t.q.getDate()+i),t.q.getMonth()!=o&&BJ(t,t.q.getDate()+(i>0?-7:7));else if(t.q.getDay()!=n.d)return!1;return n.o>FVn&&(a=t.q.getTimezoneOffset(),gO(t,cbn(lan(t.q.getTime()),60*(n.o-a)*QVn))),!0}function pUn(n,t){var e,i,r,c,a,u,o,s,h,f,l,b,w,d,g,p;if(aL(r=yMn(t,(fWn(),glt)),239)){for(b=HB(r,33),w=t.e,f=new dA(t.c),c=t.d,f.a+=c.b,f.b+=c.d,PN(HB(n$n(b,(qXn(),Ggt)),174),(t_n(),GCt))&&(Al(l=HB(n$n(b,Ugt),116),c.a),Fl(l,c.d),$l(l,c.b),Bl(l,c.c)),e=new xp,s=new Vb(t.a);s.a0&&VB(n.p,l),VB(n.o,l);d=s+(t-=r),h+=t*n.e,a5(n.a,o,rln(d)),a5(n.b,o,h),n.j=e.Math.max(n.j,d),n.k=e.Math.max(n.k,h),n.d+=t,t+=p}}function jUn(){var n;jUn=A,ICt=new VI(fJn,0),hCt=new VI(yJn,1),sCt=new VI(kJn,2),PCt=new VI(jJn,3),CCt=new VI(EJn,4),PQ(),dCt=new $k(new JK(n=HB(Qj(BCt),9),HB(PR(n,n.length),9),0)),gCt=lfn(TG(hCt,Iun(zk(BCt,1),JZn,61,0,[]))),fCt=lfn(TG(sCt,Iun(zk(BCt,1),JZn,61,0,[]))),TCt=lfn(TG(PCt,Iun(zk(BCt,1),JZn,61,0,[]))),SCt=lfn(TG(CCt,Iun(zk(BCt,1),JZn,61,0,[]))),kCt=lfn(TG(hCt,Iun(zk(BCt,1),JZn,61,0,[PCt]))),wCt=lfn(TG(sCt,Iun(zk(BCt,1),JZn,61,0,[CCt]))),ECt=lfn(TG(hCt,Iun(zk(BCt,1),JZn,61,0,[CCt]))),pCt=lfn(TG(hCt,Iun(zk(BCt,1),JZn,61,0,[sCt]))),MCt=lfn(TG(PCt,Iun(zk(BCt,1),JZn,61,0,[CCt]))),lCt=lfn(TG(sCt,Iun(zk(BCt,1),JZn,61,0,[PCt]))),yCt=lfn(TG(hCt,Iun(zk(BCt,1),JZn,61,0,[sCt,CCt]))),bCt=lfn(TG(sCt,Iun(zk(BCt,1),JZn,61,0,[PCt,CCt]))),jCt=lfn(TG(hCt,Iun(zk(BCt,1),JZn,61,0,[PCt,CCt]))),vCt=lfn(TG(hCt,Iun(zk(BCt,1),JZn,61,0,[sCt,PCt]))),mCt=lfn(TG(hCt,Iun(zk(BCt,1),JZn,61,0,[sCt,PCt,CCt])))}function EUn(n,t){var i,r,c,a,u,o,s,h,f,l,b,w,d,g,p,v;if(0!=t.b){for(l=new JT,a=null,b=null,i=CJ(e.Math.floor(e.Math.log(t.b)*e.Math.LOG10E)+1),u=0,v=hpn(t,0);v.b!=v.d.c;)for(g=HB(w3(v),86),zC(b)!==zC(yMn(g,(Gqn(),ckt)))&&(b=PD(yMn(g,ckt)),u=0),a=null!=b?b+g0(u++,i):g0(u++,i),fon(g,ckt,a),d=new dg(hpn(new wg(g).a.d,0));TE(d.a);)c5(l,w=HB(w3(d.a),188).c,l.c.b,l.c),fon(w,ckt,a);for(f=new Dp,c=0;c=s){Ix(v.b>0),v.a.Xb(v.c=--v.b);break}g.a>h&&(c?(pun(c.b,g.b),c.a=e.Math.max(c.a,g.a),lW(v)):(VB(g.b,l),g.c=e.Math.min(g.c,h),g.a=e.Math.max(g.a,s),c=g))}c||((c=new rm).c=h,c.a=s,kR(v,c),VB(c.b,l))}for(o=t.b,f=0,p=new Vb(r);p.au?1:0:(n.b&&(n.b._b(c)&&(r=HB(n.b.xc(c),19).a),n.b._b(o)&&(u=HB(n.b.xc(o),19).a)),ru?1:0)):0!=t.e.c.length&&0!=e.g.c.length?1:-1}function SUn(n,t){var e,i,r,c,a,u,o,s,h,f,l,b,w,d,g,p,v,m,y,k;for(ATn(t,A1n,1),w=new xp,y=new xp,s=new Vb(n.b);s.a0&&(k-=d),Mqn(u,k),l=0,w=new Vb(u.a);w.a0),o.a.Xb(o.c=--o.b)),s=.4*r*l,!a&&o.bt.d.c){if((b=n.c[t.a.d])==(g=n.c[h.a.d]))continue;XNn(uM(aM(oM(cM(new qv,1),100),b),g))}}}function LUn(n){var t,e,i,r,c,a,u,o;if(KHn(),null==n)return null;if((r=zO(n,JTn(37)))<0)return n;for(o=new bN(n.substr(0,r)),t=D8(xNt,m6n,25,4,15,1),u=0,i=0,a=n.length;rr+2&&eon((w1(r+1,n.length),n.charCodeAt(r+1)),OAt,AAt)&&eon((w1(r+2,n.length),n.charCodeAt(r+2)),OAt,AAt))if(e=CH((w1(r+1,n.length),n.charCodeAt(r+1)),(w1(r+2,n.length),n.charCodeAt(r+2))),r+=2,i>0?128==(192&e)?t[u++]=e<<24>>24:i=0:e>=128&&(192==(224&e)?(t[u++]=e<<24>>24,i=2):224==(240&e)?(t[u++]=e<<24>>24,i=3):240==(248&e)&&(t[u++]=e<<24>>24,i=4)),i>0){if(u==i){switch(u){case 2:DX(o,((31&t[0])<<6|63&t[1])&YVn);break;case 3:DX(o,((15&t[0])<<12|(63&t[1])<<6|63&t[2])&YVn)}u=0,i=0}}else{for(c=0;c0){if(a+i>n.length)return!1;u=XCn(n.substr(0,a+i),t)}else u=XCn(n,t);switch(c){case 71:return u=UTn(n,a,Iun(zk(Ytt,1),hVn,2,6,[lQn,bQn]),t),r.e=u,!0;case 77:return pDn(n,t,r,u,a);case 76:return vDn(n,t,r,u,a);case 69:return cIn(n,t,a,r);case 99:return aIn(n,t,a,r);case 97:return u=UTn(n,a,Iun(zk(Ytt,1),hVn,2,6,["AM","PM"]),t),r.b=u,!0;case 121:return mDn(n,t,a,u,e,r);case 100:return!(u<=0||(r.c=u,0));case 83:return!(u<0)&&Ewn(u,a,t[0],r);case 104:12==u&&(u=0);case 75:case 72:return!(u<0||(r.f=u,r.g=!1,0));case 107:return!(u<0||(r.f=u,r.g=!0,0));case 109:return!(u<0||(r.j=u,0));case 115:return!(u<0||(r.n=u,0));case 90:if(aE&&(d.c=E-d.b),VB(u.d,new DG(d,jln(u,d))),m=t==hCt?e.Math.max(m,g.b+h.b.rf().b):e.Math.min(m,g.b));for(m+=t==hCt?n.t:-n.t,(y=Iwn((u.e=m,u)))>0&&(HB(sV(n.b,t),124).a.b=y),f=b.Kc();f.Ob();)!(h=HB(f.Pb(),111)).c||h.c.d.c.length<=0||((d=h.c.i).c-=h.e.a,d.d-=h.e.b)}else uUn(n,t)}function DUn(n){var t,e,i,r,c,a,u,o,s,h;for(t=new Dp,a=new $L(n);a.e!=a.i.gc();){for(c=HB(jpn(a),33),e=new Kv,QW(Sct,c,e),h=new ot,i=HB(I4(new Kq(null,new UU(new sz(nN(dLn(c).a.Kc(),new f)))),PG(h,y9(new q,new H,new cn,Iun(zk(tit,1),LVn,132,0,[(Gsn(),Xet)])))),83),Zen(e,HB(i.xc((fN(),!0)),14),new st),r=HB(I4($V(HB(i.xc(!1),15).Lc(),new ht),y9(new q,new H,new cn,Iun(zk(tit,1),LVn,132,0,[Xet]))),15).Kc();r.Ob();)(s=CMn(HB(r.Pb(),79)))&&((u=HB(GC($Y(t.f,s)),21))||(u=Axn(s),EIn(t.f,s,u)),Brn(e,u));for(i=HB(I4(new Kq(null,new UU(new sz(nN(gLn(c).a.Kc(),new f)))),PG(h,y9(new q,new H,new cn,Iun(zk(tit,1),LVn,132,0,[Xet])))),83),Zen(e,HB(i.xc(!0),14),new ft),o=HB(I4($V(HB(i.xc(!1),15).Lc(),new lt),y9(new q,new H,new cn,Iun(zk(tit,1),LVn,132,0,[Xet]))),15).Kc();o.Ob();)(s=OMn(HB(o.Pb(),79)))&&((u=HB(GC($Y(t.f,s)),21))||(u=Axn(s),EIn(t.f,s,u)),Brn(e,u))}}function RUn(n,t){var e,i,r,c,a,u,o,s,h,f,l,b,w,d;if(oHn(),(o=Qhn(n,0)<0)&&(n=E7(n)),0==Qhn(n,0))switch(t){case 0:return"0";case 1:return VQn;case 2:return"0.00";case 3:return"0.000";case 4:return"0.0000";case 5:return"0.00000";case 6:return"0.000000";default:return(b=new Ck).a+=t<0?"0E+":"0E",b.a+=t==FVn?"2147483648":""+-t,b.a}f=D8(ANt,VVn,25,1+(h=18),15,1),e=h,d=n;do{s=d,d=Ajn(d,10),f[--e]=gG(cbn(48,rbn(s,abn(d,10))))&YVn}while(0!=Qhn(d,0));if(r=rbn(rbn(rbn(h,e),t),1),0==t)return o&&(f[--e]=45),Hdn(f,e,h-e);if(t>0&&Qhn(r,-6)>=0){if(Qhn(r,0)>=0){for(c=e+gG(r),u=h-1;u>=c;u--)f[u+1]=f[u];return f[++c]=46,o&&(f[--e]=45),Hdn(f,e,h-e+1)}for(a=2;hS(a,cbn(E7(r),1));a++)f[--e]=48;return f[--e]=46,f[--e]=48,o&&(f[--e]=45),Hdn(f,e,h-e)}return w=e+1,i=h,l=new Ok,o&&(l.a+="-"),i-w>=1?(DX(l,f[e]),l.a+=".",l.a+=Hdn(f,e+1,h-e-1)):l.a+=Hdn(f,e,h-e),l.a+="E",Qhn(r,0)>0&&(l.a+="+"),l.a+=""+mz(r),l.a}function KUn(n,t,e){var i,r,c,a,u,o,s,h,f,l;if(n.e.a.$b(),n.f.a.$b(),n.c.c=D8($nt,qWn,1,0,5,1),n.i.c=D8($nt,qWn,1,0,5,1),n.g.a.$b(),t)for(a=new Vb(t.a);a.a=1&&(j-h>0&&d>=0?(Ien(l,l.i+k),Cen(l,l.j+s*h)):j-h<0&&w>=0&&(Ien(l,l.i+k*j),Cen(l,l.j+s)));return Jpn(n,(hWn(),_St),(ydn(),new JK(a=HB(Qj(JCt),9),HB(PR(a,a.length),9),0))),new DI(E,f)}function FUn(n){var t,i,r,c,a,u,o,s,h,f,l;if(f=ZJ(ITn(HB(Vtn((!n.b&&(n.b=new fK(_Ot,n,4,7)),n.b),0),82)))==ZJ(ITn(HB(Vtn((!n.c&&(n.c=new fK(_Ot,n,5,8)),n.c),0),82))),u=new zj,(t=HB(n$n(n,(Wsn(),fIt)),74))&&t.b>=2){if(0==(!n.a&&(n.a=new iU(BOt,n,6,6)),n.a).i)eE(),i=new ao,l9((!n.a&&(n.a=new iU(BOt,n,6,6)),n.a),i);else if((!n.a&&(n.a=new iU(BOt,n,6,6)),n.a).i>1)for(l=new ax((!n.a&&(n.a=new iU(BOt,n,6,6)),n.a));l.e!=l.i.gc();)Yjn(l);QFn(t,HB(Vtn((!n.a&&(n.a=new iU(BOt,n,6,6)),n.a),0),202))}if(f)for(r=new $L((!n.a&&(n.a=new iU(BOt,n,6,6)),n.a));r.e!=r.i.gc();)for(s=new $L((!(i=HB(jpn(r),202)).a&&(i.a=new LL(DOt,i,5)),i.a));s.e!=s.i.gc();)o=HB(jpn(s),469),u.a=e.Math.max(u.a,o.a),u.b=e.Math.max(u.b,o.b);for(a=new $L((!n.n&&(n.n=new iU(UOt,n,1,7)),n.n));a.e!=a.i.gc();)c=HB(jpn(a),137),(h=HB(n$n(c,pIt),8))&&PA(c,h.a,h.b),f&&(u.a=e.Math.max(u.a,c.i+c.g),u.b=e.Math.max(u.b,c.j+c.f));return u}function BUn(n,t,i){var r,c,a,u,o,s,h,f,l,b,w,d,g,p,v,m,y,k,j,E;for(v=t.c.length,c=new GKn(n.a,i,null,null),E=D8(DNt,GQn,25,v,15,1),w=D8(DNt,GQn,25,v,15,1),b=D8(DNt,GQn,25,v,15,1),d=0,o=0;oE[s]&&(d=s),f=new Vb(n.a.b);f.aw&&(a&&(lO(j,b),lO(T,rln(h.b-1))),C=i.b,O+=b+t,b=0,f=e.Math.max(f,i.b+i.c+I)),Ien(o,C),Cen(o,O),f=e.Math.max(f,C+I+i.c),b=e.Math.max(b,l),C+=I+t;if(f=e.Math.max(f,r),(P=O+b+i.a)bZn,S=e.Math.abs(b.b-d.b)>bZn,(!i&&M&&S||i&&(M||S))&&RH(p.a,k)),Brn(p.a,r),0==r.b?b=k:(Ix(0!=r.b),b=HB(r.c.b.c,8)),Jan(w,l,g),ucn(c)==T&&(mW(T.i)!=c.a&&APn(g=new zj,mW(T.i),m),fon(p,Klt,g)),SSn(w,p,m),f.a.zc(w,f);PZ(p,j),SZ(p,T)}for(h=f.a.ec().Kc();h.Ob();)PZ(s=HB(h.Pb(),17),null),SZ(s,null);qSn(t)}function zUn(n){var t,i,r,c,a,u,o,s,h,f,l,b,w,d,g,p,v,m,y,k;if(1==n.gc())return HB(n.Xb(0),231);if(n.gc()<=0)return new k6;for(c=n.Kc();c.Ob();){for(i=HB(c.Pb(),231),d=0,f=RWn,l=RWn,s=FVn,h=FVn,w=new Vb(i.e);w.ao&&(y=0,k+=u+v,u=0),QKn(g,i,y,k),t=e.Math.max(t,y+p.a),u=e.Math.max(u,p.b),y+=p.a+v;return g}function UUn(n,t){var e,i,r,c,a,u,o,s,h,f,l,b,w;switch(h=new jm,n.a.g){case 3:l=HB(yMn(t.e,(fWn(),xlt)),15),b=HB(yMn(t.j,xlt),15),w=HB(yMn(t.f,xlt),15),e=HB(yMn(t.e,Llt),15),i=HB(yMn(t.j,Llt),15),r=HB(yMn(t.f,Llt),15),pun(a=new xp,l),b.Jc(new kc),pun(a,aL(b,152)?s6(HB(b,152)):aL(b,131)?HB(b,131).a:aL(b,54)?new ly(b):new CT(b)),pun(a,w),pun(c=new xp,e),pun(c,aL(i,152)?s6(HB(i,152)):aL(i,131)?HB(i,131).a:aL(i,54)?new ly(i):new CT(i)),pun(c,r),fon(t.f,xlt,a),fon(t.f,Llt,c),fon(t.f,Dlt,t.f),fon(t.e,xlt,null),fon(t.e,Llt,null),fon(t.j,xlt,null),fon(t.j,Llt,null);break;case 1:Brn(h,t.e.a),RH(h,t.i.n),Brn(h,ian(t.j.a)),RH(h,t.a.n),Brn(h,t.f.a);break;default:Brn(h,t.e.a),Brn(h,ian(t.j.a)),Brn(h,t.f.a)}kQ(t.f.a),Brn(t.f.a,h),PZ(t.f,t.e.c),u=HB(yMn(t.e,(qXn(),mgt)),74),s=HB(yMn(t.j,mgt),74),o=HB(yMn(t.f,mgt),74),(u||s||o)&&(IU(f=new jm,o),IU(f,s),IU(f,u),fon(t.f,mgt,f)),PZ(t.j,null),SZ(t.j,null),PZ(t.e,null),SZ(t.e,null),IZ(t.a,null),IZ(t.i,null),t.g&&UUn(n,t.g)}function XUn(n){var t,e,i,r,c,a,u,o,s,h,f,l,b,w,d,g;if(IFn(),null==n)return null;if((w=wln(c=Q7(n)))%4!=0)return null;if(0==(d=w/4|0))return D8(xNt,m6n,25,0,15,1);for(f=null,t=0,e=0,i=0,r=0,a=0,u=0,o=0,s=0,b=0,l=0,h=0,f=D8(xNt,m6n,25,3*d,15,1);b>4)<<24>>24,f[l++]=((15&e)<<4|i>>2&15)<<24>>24,f[l++]=(i<<6|r)<<24>>24}return QE(a=c[h++])&&QE(u=c[h++])?(t=VLt[a],e=VLt[u],o=c[h++],s=c[h++],-1==VLt[o]||-1==VLt[s]?61==o&&61==s?0!=(15&e)?null:(uHn(f,0,g=D8(xNt,m6n,25,3*b+1,15,1),0,3*b),g[l]=(t<<2|e>>4)<<24>>24,g):61!=o&&61==s?0!=(3&(i=VLt[o]))?null:(uHn(f,0,g=D8(xNt,m6n,25,3*b+2,15,1),0,3*b),g[l++]=(t<<2|e>>4)<<24>>24,g[l]=((15&e)<<4|i>>2&15)<<24>>24,g):null:(i=VLt[o],r=VLt[s],f[l++]=(t<<2|e>>4)<<24>>24,f[l++]=((15&e)<<4|i>>2&15)<<24>>24,f[l++]=(i<<6|r)<<24>>24,f)):null}function WUn(n,t){var e,i,r,c,a,u,o,s,h,f,l,b,w,d,g,p,v,m;for(ATn(t,A1n,1),l=HB(yMn(n,(qXn(),ngt)),218),i=new Vb(n.b);i.a=2){for(b=!0,e=HB(t0(h=new Vb(r.j)),11),f=null;h.a0&&(c=HB(Dq(p.c.a,E-1),10),u=n.i[c.p],M=e.Math.ceil(_$(n.n,c,p)),a=j.a.e-p.d.d-(u.a.e+c.o.b+c.d.a)-M),h=KQn,E0&&T.a.e.e-T.a.a-(T.b.e.e-T.b.a)<0,d=y.a.e.e-y.a.a-(y.b.e.e-y.b.a)<0&&T.a.e.e-T.a.a-(T.b.e.e-T.b.a)>0,w=y.a.e.e+y.b.aT.b.e.e+T.a.a,k=0,!g&&!d&&(b?a+l>0?k=l:h-r>0&&(k=r):w&&(a+o>0?k=o:h-m>0&&(k=m))),j.a.e+=k,j.b&&(j.d.e+=k),1)))}function QUn(n,t,i){var r,c,a,u,o,s,h,f,l,b;if(r=new XV(t.qf().a,t.qf().b,t.rf().a,t.rf().b),c=new wA,n.c)for(u=new Vb(t.wf());u.as&&(i.a+=cL(D8(ANt,VVn,25,-s,15,1))),i.a+="Is",zO(o,JTn(32))>=0)for(r=0;r=i.o.b/2}p?(g=HB(yMn(i,(fWn(),_lt)),15))?l?c=g:(r=HB(yMn(i,Rft),15))?c=g.gc()<=r.gc()?g:r:(c=new xp,fon(i,Rft,c)):(c=new xp,fon(i,_lt,c)):(r=HB(yMn(i,(fWn(),Rft)),15))?f?c=r:(g=HB(yMn(i,_lt),15))?c=r.gc()<=g.gc()?r:g:(c=new xp,fon(i,_lt,c)):(c=new xp,fon(i,Rft,c)),c.Fc(n),fon(n,(fWn(),_ft),e),t.d==e?(SZ(t,null),e.e.c.length+e.g.c.length==0&&CZ(e,null),psn(e)):(PZ(t,null),e.e.c.length+e.g.c.length==0&&CZ(e,null)),kQ(t.a)}function eXn(n,t){var e,i,r,c,a,u,o,s,h,l,b,w,d,g,p,v,m,y,k,j,E,T,M,S,P,I,C;for(v=new S2(n.b,0),d=0,s=HB((h=t.Kc()).Pb(),19).a,k=0,e=new Kv,E=new lA;v.b=n.a&&(r=kBn(n,v),l=e.Math.max(l,r.b),y=e.Math.max(y,r.d),VB(o,new cC(v,r)));for(E=new xp,h=0;h0),g.a.Xb(g.c=--g.b),kR(g,T=new qX(n.b)),Ix(g.b0?(h=0,p&&(h+=o),h+=(M-1)*u,m&&(h+=o),T&&m&&(h=e.Math.max(h,txn(m,u,v,E))),h0){for(l=h<100?null:new Bj(h),w=(s=new Ecn(t)).g,g=D8($Nt,fQn,25,h,15,1),i=0,m=new ptn(h),r=0;r=0;)if(null!=b?xfn(b,w[o]):zC(b)===zC(w[o])){g.length<=i&&uHn(g,0,g=D8($Nt,fQn,25,2*g.length,15,1),0,i),g[i++]=r,l9(m,w[o]);break n}if(zC(b)===zC(u))break}}if(s=m,w=m.g,h=i,i>g.length&&uHn(g,0,g=D8($Nt,fQn,25,i,15,1),0,i),i>0){for(v=!0,c=0;c=0;)Nyn(n,g[a]);if(i!=h){for(r=h;--r>=i;)Nyn(s,r);uHn(g,0,g=D8($Nt,fQn,25,i,15,1),0,i)}t=s}}}else for(t=Eyn(n,t),r=n.i;--r>=0;)t.Hc(n.g[r])&&(Nyn(n,r),v=!0);if(v){if(null!=g){for(f=1==(e=t.gc())?kZ(n,4,t.Kc().Pb(),null,g[0],d):kZ(n,6,t,g,g[0],d),l=e<100?null:new Bj(e),r=t.Kc();r.Ob();)l=GK(n,HB(b=r.Pb(),72),l);l?(l.Ei(f),l.Fi()):wan(n.e,f)}else{for(l=LK(t.gc()),r=t.Kc();r.Ob();)l=GK(n,HB(b=r.Pb(),72),l);l&&l.Fi()}return!0}return!1}function oXn(n,t){var e,i,r,c,a,u,o,s,h,l,b,w,d,g,p,v,m;for((e=new fvn(t)).a||p_n(t),s=bRn(t),o=new vJ,g=new Yxn,d=new Vb(t.a);d.a0||i.o==ayt&&c0?(f=HB(Dq(l.c.a,a-1),10),T=_$(n.b,l,f),g=l.n.b-l.d.d-(f.n.b+f.o.b+f.d.a+T)):g=l.n.b-l.d.d,s=e.Math.min(g,s),a(a=rEn(n,e))?uKn(n,t,e):uKn(n,e,t),ra?1:0}return(i=HB(yMn(t,(fWn(),dlt)),19).a)>(c=HB(yMn(e,dlt),19).a)?uKn(n,t,e):uKn(n,e,t),ic?1:0}function bXn(n,t,e,i){var r,c,a,u,o,s,h,f,l,b,w,d;if(Gy(MD(n$n(t,(hWn(),USt)))))return PQ(),PQ(),het;if(o=0!=(!t.a&&(t.a=new iU(XOt,t,10,11)),t.a).i,s=!(h=kCn(t)).dc(),o||s){if(!(r=HB(n$n(t,yPt),149)))throw qp(new ck("Resolved algorithm is not set; apply a LayoutAlgorithmResolver before computing layout."));if(d=AI(r,(fAn(),tAt)),xgn(t),!o&&s&&!d)return PQ(),PQ(),het;if(u=new xp,zC(n$n(t,TSt))===zC((ofn(),vIt))&&(AI(r,JOt)||AI(r,YOt)))for(l=vRn(n,t),Brn(b=new JT,(!t.a&&(t.a=new iU(XOt,t,10,11)),t.a));0!=b.b;)xgn(f=HB(0==b.b?null:(Ix(0!=b.b),$tn(b,b.a.a)),33)),zC(n$n(f,TSt))===zC(yIt)||I8(f,iSt)&&!E5(r,n$n(f,yPt))?(pun(u,bXn(n,f,e,i)),Jpn(f,TSt,yIt),_Kn(f)):Brn(b,(!f.a&&(f.a=new iU(XOt,f,10,11)),f.a));else for(l=(!t.a&&(t.a=new iU(XOt,t,10,11)),t.a).i,a=new $L((!t.a&&(t.a=new iU(XOt,t,10,11)),t.a));a.e!=a.i.gc();)pun(u,bXn(n,c=HB(jpn(a),33),e,i)),_Kn(c);for(w=new Vb(u);w.a=0?fwn(u):Mln(fwn(u)),n.Ye(opt,b)),s=new zj,l=!1,n.Xe(tpt)?(qx(s,HB(n.We(tpt),8)),l=!0):kL(s,a.a/2,a.b/2),b.g){case 4:fon(h,jgt,(Mbn(),Blt)),fon(h,zft,(Zun(),Lht)),h.o.b=a.b,d<0&&(h.o.a=-d),GIn(f,(jUn(),sCt)),l||(s.a=a.a),s.a-=a.a;break;case 2:fon(h,jgt,(Mbn(),qlt)),fon(h,zft,(Zun(),Aht)),h.o.b=a.b,d<0&&(h.o.a=-d),GIn(f,(jUn(),CCt)),l||(s.a=0);break;case 1:fon(h,rlt,(U7(),Cft)),h.o.a=a.a,d<0&&(h.o.b=-d),GIn(f,(jUn(),PCt)),l||(s.b=a.b),s.b-=a.b;break;case 3:fon(h,rlt,(U7(),Pft)),h.o.a=a.a,d<0&&(h.o.b=-d),GIn(f,(jUn(),hCt)),l||(s.b=0)}if(qx(f.n,s),fon(h,tpt,s),t==XIt||t==VIt||t==WIt){if(w=0,t==XIt&&n.Xe(rpt))switch(b.g){case 1:case 2:w=HB(n.We(rpt),19).a;break;case 3:case 4:w=-HB(n.We(rpt),19).a}else switch(b.g){case 4:case 2:w=c.b,t==VIt&&(w/=r.b);break;case 1:case 3:w=c.a,t==VIt&&(w/=r.a)}fon(h,Mlt,w)}return fon(h,Yft,b),h}function dXn(n){var t,e,i,r,c,a,u,o,s,h,l,b,w,d,g,p,v,m,y,k,j,E;if((e=zy(SD(yMn(n.a.j,(qXn(),Fdt)))))<-1||!n.a.i||NK(HB(yMn(n.a.o,ipt),98))||ubn(n.a.o,(jUn(),sCt)).gc()<2&&ubn(n.a.o,CCt).gc()<2)return!0;if(n.a.c.Rf())return!1;for(y=0,m=0,v=new xp,o=0,s=(u=n.a.e).length;o=e}function gXn(){function n(n){var t=this;this.dispatch=function(t){var e=t.data;switch(e.cmd){case"algorithms":var i=Pwn((PQ(),new qb(new Ab(bAt.b))));n.postMessage({id:e.id,data:i});break;case"categories":var r=Pwn((PQ(),new qb(new Ab(bAt.c))));n.postMessage({id:e.id,data:r});break;case"options":var c=Pwn((PQ(),new qb(new Ab(bAt.d))));n.postMessage({id:e.id,data:c});break;case"register":bGn(e.algorithms),n.postMessage({id:e.id});break;case"layout":DBn(e.graph,e.layoutOptions||{},e.options||{}),n.postMessage({id:e.id,data:e.graph})}},this.saveDispatch=function(e){try{t.dispatch(e)}catch(i){n.postMessage({id:e.data.id,error:i})}}}function e(t){var e=this;this.dispatcher=new n({postMessage:function(n){e.onmessage({data:n})}}),this.postMessage=function(n){setTimeout((function(){e.dispatcher.saveDispatch({data:n})}),0)}}if(uE(),typeof document===pYn&&typeof self!==pYn){var i=new n(self);self.onmessage=i.saveDispatch}else typeof t!==pYn&&t.exports&&(Object.defineProperty(r,"__esModule",{value:!0}),t.exports={default:e,Worker:e})}function pXn(n){n.N||(n.N=!0,n.b=jan(n,0),Krn(n.b,0),Krn(n.b,1),Krn(n.b,2),n.bb=jan(n,1),Krn(n.bb,0),Krn(n.bb,1),n.fb=jan(n,2),Krn(n.fb,3),Krn(n.fb,4),_rn(n.fb,5),n.qb=jan(n,3),Krn(n.qb,0),_rn(n.qb,1),_rn(n.qb,2),Krn(n.qb,3),Krn(n.qb,4),_rn(n.qb,5),Krn(n.qb,6),n.a=Ean(n,4),n.c=Ean(n,5),n.d=Ean(n,6),n.e=Ean(n,7),n.f=Ean(n,8),n.g=Ean(n,9),n.i=Ean(n,10),n.j=Ean(n,11),n.k=Ean(n,12),n.n=Ean(n,13),n.o=Ean(n,14),n.p=Ean(n,15),n.q=Ean(n,16),n.s=Ean(n,17),n.r=Ean(n,18),n.t=Ean(n,19),n.u=Ean(n,20),n.v=Ean(n,21),n.w=Ean(n,22),n.B=Ean(n,23),n.A=Ean(n,24),n.C=Ean(n,25),n.D=Ean(n,26),n.F=Ean(n,27),n.G=Ean(n,28),n.H=Ean(n,29),n.J=Ean(n,30),n.I=Ean(n,31),n.K=Ean(n,32),n.M=Ean(n,33),n.L=Ean(n,34),n.P=Ean(n,35),n.Q=Ean(n,36),n.R=Ean(n,37),n.S=Ean(n,38),n.T=Ean(n,39),n.U=Ean(n,40),n.V=Ean(n,41),n.X=Ean(n,42),n.W=Ean(n,43),n.Y=Ean(n,44),n.Z=Ean(n,45),n.$=Ean(n,46),n._=Ean(n,47),n.ab=Ean(n,48),n.cb=Ean(n,49),n.db=Ean(n,50),n.eb=Ean(n,51),n.gb=Ean(n,52),n.hb=Ean(n,53),n.ib=Ean(n,54),n.jb=Ean(n,55),n.kb=Ean(n,56),n.lb=Ean(n,57),n.mb=Ean(n,58),n.nb=Ean(n,59),n.ob=Ean(n,60),n.pb=Ean(n,61))}function vXn(n,t){var i,r,c,a,u,o,s,h,f,l,b,w,d,g,p,v,m,y,k;if(m=0,0==t.f.a)for(p=new Vb(n);p.as&&0==(b1(s,t.c.length),HB(t.c[s],200)).a.c.length;)k7(t,(b1(s,t.c.length),t.c[s]));if(!o){--c;continue}if($_n(t,h,r,o,l,e,s,i)){f=!0;continue}if(l){if(ZBn(t,h,r,o,e,s,i)){f=!0;continue}if($hn(h,r)){r.c=!0,f=!0;continue}}else if($hn(h,r)){r.c=!0,f=!0;continue}if(f)continue}$hn(h,r)?(r.c=!0,f=!0,o&&(o.k=!1)):zmn(r.q)}else LT(),Mkn(h,r),--c,f=!0;return f}function kXn(n,t,i,r,c,a,u){var o,s,h,f,l,b,w,d,g,p,v,m,y,k,j,E,T,M,S,P,I,C,O,A;for(g=0,P=0,h=new Vb(n.b);h.ag&&(a&&(lO(E,w),lO(M,rln(f.b-1)),VB(n.d,d),o.c=D8($nt,qWn,1,0,5,1)),O=i.b,A+=w+t,w=0,l=e.Math.max(l,i.b+i.c+C)),o.c[o.c.length]=s,Spn(s,O,A),l=e.Math.max(l,O+C+i.c),w=e.Math.max(w,b),O+=C+t,d=s;if(pun(n.a,o),VB(n.d,HB(Dq(o,o.c.length-1),157)),l=e.Math.max(l,r),(I=A+w+i.a)1&&(u=e.Math.min(u,e.Math.abs(HB(Rpn(o.a,1),8).b-f.b)))));else for(d=new Vb(t.j);d.ac&&(a=b.a-c,u=RWn,r.c=D8($nt,qWn,1,0,5,1),c=b.a),b.a>=c&&(r.c[r.c.length]=o,o.a.b>1&&(u=e.Math.min(u,e.Math.abs(HB(Rpn(o.a,o.a.b-2),8).b-b.b)))));if(0!=r.c.length&&a>t.o.a/2&&u>t.o.b/2){for(CZ(w=new CSn,t),GIn(w,(jUn(),hCt)),w.n.a=t.o.a/2,CZ(g=new CSn,t),GIn(g,PCt),g.n.a=t.o.a/2,g.n.b=t.o.b,s=new Vb(r);s.a=h.b?PZ(o,g):PZ(o,w)):(h=HB(pH(o.a),8),(0==o.a.b?p1(o.c):HB(vx(o.a),8)).b>=h.b?SZ(o,g):SZ(o,w)),(l=HB(yMn(o,(qXn(),mgt)),74))&&kwn(l,h,!0);t.n.a=c-t.o.a/2}}function TXn(n,t,e){var i,r,c,a,u,o,s,h,f,l,b;if(s=t,Lin(o=Y3(n,N3(e),s),K2(s,G6n)),h=HB(hen(n.g,jCn(UJ(s,M6n))),33),i=null,(a=UJ(s,"sourcePort"))&&(i=jCn(a)),f=HB(hen(n.j,i),118),!h)throw qp(new ik("An edge must have a source node (edge id: '"+Ydn(s)+V6n));if(f&&!dW(VJ(f),h))throw qp(new ik("The source port of an edge must be a port of the edge's source node (edge id: '"+K2(s,G6n)+V6n));if(!o.b&&(o.b=new fK(_Ot,o,4,7)),l9(o.b,f||h),l=HB(hen(n.g,jCn(UJ(s,J6n))),33),r=null,(u=UJ(s,"targetPort"))&&(r=jCn(u)),b=HB(hen(n.j,r),118),!l)throw qp(new ik("An edge must have a target node (edge id: '"+Ydn(s)+V6n));if(b&&!dW(VJ(b),l))throw qp(new ik("The target port of an edge must be a port of the edge's target node (edge id: '"+K2(s,G6n)+V6n));if(!o.c&&(o.c=new fK(_Ot,o,5,8)),l9(o.c,b||l),0==(!o.b&&(o.b=new fK(_Ot,o,4,7)),o.b).i||0==(!o.c&&(o.c=new fK(_Ot,o,5,8)),o.c).i)throw c=K2(s,G6n),qp(new ik(W6n+c+V6n));return PTn(s,o),h$n(s,o),Don(n,s,o)}function MXn(n,t){var e,i,r,c,a,u,o,s,h,f,l,b,w,d,g,p,v,m,y,k,j,E,T,M,S;return f=CFn(qN(n,(jUn(),dCt)),t),w=uyn(qN(n,gCt),t),y=uyn(qN(n,TCt),t),T=oyn(qN(n,SCt),t),l=oyn(qN(n,fCt),t),v=uyn(qN(n,ECt),t),d=uyn(qN(n,pCt),t),j=uyn(qN(n,MCt),t),k=uyn(qN(n,lCt),t),M=oyn(qN(n,wCt),t),p=uyn(qN(n,kCt),t),m=uyn(qN(n,yCt),t),E=uyn(qN(n,bCt),t),S=oyn(qN(n,jCt),t),b=oyn(qN(n,vCt),t),g=uyn(qN(n,mCt),t),e=Non(Iun(zk(DNt,1),GQn,25,15,[v.a,T.a,j.a,S.a])),i=Non(Iun(zk(DNt,1),GQn,25,15,[w.a,f.a,y.a,g.a])),r=p.a,c=Non(Iun(zk(DNt,1),GQn,25,15,[d.a,l.a,k.a,b.a])),s=Non(Iun(zk(DNt,1),GQn,25,15,[v.b,w.b,d.b,m.b])),o=Non(Iun(zk(DNt,1),GQn,25,15,[T.b,f.b,l.b,g.b])),h=M.b,u=Non(Iun(zk(DNt,1),GQn,25,15,[j.b,y.b,k.b,E.b])),d9(qN(n,dCt),e+r,s+h),d9(qN(n,mCt),e+r,s+h),d9(qN(n,gCt),e+r,0),d9(qN(n,TCt),e+r,s+h+o),d9(qN(n,SCt),0,s+h),d9(qN(n,fCt),e+r+i,s+h),d9(qN(n,pCt),e+r+i,0),d9(qN(n,MCt),0,s+h+o),d9(qN(n,lCt),e+r+i,s+h+o),d9(qN(n,wCt),0,s),d9(qN(n,kCt),e,0),d9(qN(n,bCt),0,s+h+o),d9(qN(n,vCt),e+r+i,0),(a=new zj).a=Non(Iun(zk(DNt,1),GQn,25,15,[e+i+r+c,M.a,m.a,E.a])),a.b=Non(Iun(zk(DNt,1),GQn,25,15,[s+o+h+u,p.b,S.b,b.b])),a}function SXn(n){var t,e,i,r,c,a,u,o,s,h,l,b,w,d,g;for(d=new xp,l=new Vb(n.d.b);l.ar.d.d+r.d.a?h.f.d=!0:(h.f.d=!0,h.f.a=!0))),i.b!=i.d.c&&(t=e);h&&(c=HB(KX(n.f,a.d.i),57),t.bc.d.d+c.d.a?h.f.d=!0:(h.f.d=!0,h.f.a=!0))}for(u=new sz(nN(lbn(b).a.Kc(),new f));gAn(u);)0!=(a=HB(X5(u),17)).a.b&&(t=HB(vx(a.a),8),a.d.j==(jUn(),hCt)&&((g=new IBn(t,new DI(t.a,r.d.d),r,a)).f.a=!0,g.a=a.d,d.c[d.c.length]=g),a.d.j==PCt&&((g=new IBn(t,new DI(t.a,r.d.d+r.d.a),r,a)).f.d=!0,g.a=a.d,d.c[d.c.length]=g))}return d}function PXn(n,t,e){var i,r,c,a,u,o,s;if(ATn(e,"Network simplex node placement",1),n.e=t,n.n=HB(yMn(t,(fWn(),$lt)),304),sqn(n),KEn(n),ZT(dnn(new Kq(null,new d1(n.e.b,16)),new qc),new ag(n)),ZT($V(dnn($V(dnn(new Kq(null,new d1(n.e.b,16)),new ea),new ia),new ra),new ca),new cg(n)),Gy(MD(yMn(n.e,(qXn(),Dgt))))&&(ATn(c=ycn(e,1),"Straight Edges Pre-Processing",1),Ezn(n),qSn(c)),Svn(n.f),r=HB(yMn(t,Dpt),19).a*n.f.a.c.length,VKn(Yk(Jk(H_(n.f),r),!1),ycn(e,1)),0!=n.d.a.gc()){for(ATn(c=ycn(e,1),"Flexible Where Space Processing",1),a=HB(LN(Az(LV(new Kq(null,new d1(n.f.a,16)),new Gc),new Rc)),19).a,u=HB(LN(Oz(LV(new Kq(null,new d1(n.f.a,16)),new zc),new Kc)),19).a-a,o=$N(new Gv,n.f),s=$N(new Gv,n.f),XNn(uM(aM(cM(oM(new qv,2e4),u),o),s)),ZT($V($V(NU(n.i),new Uc),new Xc),new UV(a,o,u,s)),i=n.d.a.ec().Kc();i.Ob();)HB(i.Pb(),213).g=1;VKn(Yk(Jk(H_(n.f),r),!1),ycn(c,1)),qSn(c)}Gy(MD(yMn(t,Dgt)))&&(ATn(c=ycn(e,1),"Straight Edges Post-Processing",1),PPn(n),qSn(c)),YGn(n),n.e=null,n.f=null,n.i=null,n.c=null,LU(n.k),n.j=null,n.a=null,n.o=null,n.d.a.$b(),qSn(e)}function IXn(n,t,i){var r,c,a,u,o,s,h,f,l,b,w,d,g,p,v,m,y,k;for(u=new Vb(n.a.b);u.a0)if(r=f.gc(),s=CJ(e.Math.floor((r+1)/2))-1,c=CJ(e.Math.ceil((r+1)/2))-1,t.o==ayt)for(h=c;h>=s;h--)t.a[y.p]==y&&(d=HB(f.Xb(h),46),w=HB(d.a,10),!BT(i,d.b)&&b>n.b.e[w.p]&&(t.a[w.p]=y,t.g[y.p]=t.g[w.p],t.a[y.p]=t.g[y.p],t.f[t.g[y.p].p]=(fN(),!!(Gy(t.f[t.g[y.p].p])&y.k==(oSn(),Iut))),b=n.b.e[w.p]));else for(h=s;h<=c;h++)t.a[y.p]==y&&(p=HB(f.Xb(h),46),g=HB(p.a,10),!BT(i,p.b)&&b=w&&(v>w&&(b.c=D8($nt,qWn,1,0,5,1),w=v),b.c[b.c.length]=a);0!=b.c.length&&(l=HB(Dq(b,vvn(t,b.c.length)),128),P.a.Bc(l),l.s=d++,aLn(l,M,j),b.c=D8($nt,qWn,1,0,5,1))}for(y=n.c.length+1,u=new Vb(n);u.aS.s&&(lW(e),k7(S.i,i),i.c>0&&(i.a=S,VB(S.t,i),i.b=E,VB(E.i,i)))}function AXn(n){var t,e,i,r,c;switch(t=n.c){case 11:return n.Ml();case 12:return n.Ol();case 14:return n.Ql();case 15:return n.Tl();case 16:return n.Rl();case 17:return n.Ul();case 21:return YXn(n),dWn(),dWn(),hNt;case 10:switch(n.a){case 65:return n.yl();case 90:return n.Dl();case 122:return n.Kl();case 98:return n.El();case 66:return n.zl();case 60:return n.Jl();case 62:return n.Hl()}}switch(c=jXn(n),t=n.c){case 3:return n.Zl(c);case 4:return n.Xl(c);case 5:return n.Yl(c);case 0:if(123==n.a&&n.d=48&&t<=57))throw qp(new uk(jWn((o$(),W8n))));for(i=t-48;r=48&&t<=57;)if((i=10*i+t-48)<0)throw qp(new uk(jWn((o$(),J8n))));if(e=i,44==t){if(r>=n.j)throw qp(new uk(jWn((o$(),Q8n))));if((t=lV(n.i,r++))>=48&&t<=57){for(e=t-48;r=48&&t<=57;)if((e=10*e+t-48)<0)throw qp(new uk(jWn((o$(),J8n))));if(i>e)throw qp(new uk(jWn((o$(),Y8n))))}else e=-1}if(125!=t)throw qp(new uk(jWn((o$(),V8n))));n.sl(r)?(dWn(),dWn(),c=new f4(9,c),n.d=r+1):(dWn(),dWn(),c=new f4(3,c),n.d=r),c.dm(i),c.cm(e),YXn(n)}}return c}function $Xn(n,t,e,i,r){var c,a,u,o,s,h,f,l,b,w,d,g,p,v,m,y,k,j,E,T,M;for(w=new Z6(t.b),v=new Z6(t.b),l=new Z6(t.b),j=new Z6(t.b),d=new Z6(t.b),k=hpn(t,0);k.b!=k.d.c;)for(u=new Vb((m=HB(w3(k),11)).g);u.a0,g=m.g.c.length>0,s&&g?l.c[l.c.length]=m:s?w.c[w.c.length]=m:g&&(v.c[v.c.length]=m);for(b=new Vb(w);b.a1)for(b=new ax((!n.a&&(n.a=new iU(BOt,n,6,6)),n.a));b.e!=b.i.gc();)Yjn(b);for(d=I,I>y+m?d=y+m:Ik+w?g=k+w:Cy-m&&dk-w&&gI+P?E=I+P:yC+j?T=C+j:kI-P&&EC-j&&Ti&&(f=i-1),(l=L+q$n(t,24)*oYn*h-h/2)<0?l=1:l>r&&(l=r-1),eE(),Een(c=new co,f),Ten(c,l),l9((!u.a&&(u.a=new LL(DOt,u,5)),u.a),c)}function qXn(){qXn=A,hWn(),vpt=EPt,mpt=TPt,ypt=MPt,kpt=SPt,Ept=PPt,Tpt=IPt,Ppt=OPt,Cpt=$Pt,Opt=LPt,Ipt=APt,Apt=NPt,Lpt=xPt,xpt=KPt,Spt=CPt,lWn(),ppt=Fwt,jpt=Bwt,Mpt=Hwt,$pt=qwt,fpt=new WA(vPt,rln(0)),lpt=Rwt,bpt=Kwt,wpt=_wt,Upt=bdt,Kpt=Uwt,_pt=Vwt,Hpt=idt,Fpt=Jwt,Bpt=ndt,Wpt=vdt,Xpt=ddt,Gpt=sdt,qpt=udt,zpt=fdt,Kgt=Iwt,_gt=Cwt,cgt=_bt,agt=Hbt,Xgt=new VA(12),Ugt=new WA(WSt,Xgt),Sbn(),ngt=new WA(mSt,tgt=YPt),ept=new WA(uPt,0),dpt=new WA(mPt,rln(1)),Tdt=new WA(aSt,gZn),zgt=USt,ipt=oPt,opt=dPt,Udt=bSt,jdt=rSt,hgt=TSt,gpt=new WA(jPt,(fN(),!0)),dgt=PSt,ggt=ISt,Bgt=_St,Ggt=GSt,Hgt=BSt,Bfn(),Xdt=new WA(wSt,Vdt=HPt),Lgt=RSt,$gt=xSt,apt=lPt,cpt=fPt,upt=wPt,apn(),new WA(nPt,Qgt=GIt),Jgt=iPt,Zgt=rPt,npt=cPt,Ygt=ePt,Rpt=zwt,Igt=bwt,Pgt=fwt,Dpt=Gwt,jgt=iwt,zdt=Mbt,Gdt=Ebt,Ddt=obt,Rdt=sbt,_dt=wbt,Kdt=hbt,qdt=kbt,Ogt=dwt,Agt=gwt,vgt=Qbt,Fgt=Lwt,xgt=ywt,ogt=zbt,Rgt=Swt,igt=xbt,rgt=Rbt,xdt=fSt,Ngt=pwt,Idt=Ylt,Pdt=Vlt,Sdt=Wlt,lgt=Wbt,fgt=Xbt,bgt=Vbt,qgt=HSt,mgt=ASt,ugt=kSt,Jdt=pSt,Ydt=gSt,Fdt=pbt,rpt=hPt,Mdt=hSt,wgt=SSt,tpt=aPt,Wgt=QSt,Vgt=JSt,Tgt=awt,Mgt=owt,hpt=pPt,Edt=Xlt,Sgt=hwt,Zdt=Abt,Qdt=Cbt,Cgt=LSt,ygt=nwt,Dgt=Ewt,Npt=DPt,Wdt=Pbt,spt=xwt,egt=Lbt,kgt=ewt,Bdt=mbt,pgt=OSt,Egt=cwt,Hdt=ybt,Ndt=abt,$dt=ibt,Odt=tbt,Adt=ebt,Ldt=cbt,Cdt=Zlt,sgt=Ubt}function GXn(n,t){var e,i,r,c,a,u,o,s,h,f,l,b,w,d,g,p,v,m,y,k,j,E,T,M,S,P,I;if(oHn(),T=n.e,w=n.d,r=n.a,0==T)switch(t){case 0:return"0";case 1:return VQn;case 2:return"0.00";case 3:return"0.000";case 4:return"0.0000";case 5:return"0.00000";case 6:return"0.000000";default:return(j=new Ck).a+=t<0?"0E+":"0E",j.a+=-t,j.a}if(y=D8(ANt,VVn,25,1+(m=10*w+1+7),15,1),e=m,1==w)if((u=r[0])<0){I=i0(u,XQn);do{d=I,I=Ajn(I,10),y[--e]=48+gG(rbn(d,abn(I,10)))&YVn}while(0!=Qhn(I,0))}else{I=u;do{d=I,I=I/10|0,y[--e]=d-10*I+48&YVn}while(0!=I)}else{uHn(r,0,S=D8($Nt,fQn,25,w,15,1),0,P=w);n:for(;;){for(E=0,s=P-1;s>=0;s--)p=lTn(cbn(kz(E,32),i0(S[s],XQn))),S[s]=gG(p),E=gG(jz(p,32));v=gG(E),g=e;do{y[--e]=48+v%10&YVn}while(0!=(v=v/10|0)&&0!=e);for(i=9-g+e,o=0;o0;o++)y[--e]=48;for(f=P-1;0==S[f];f--)if(0==f)break n;P=f+1}for(;48==y[e];)++e}if(b=T<0,a=m-e-t-1,0==t)return b&&(y[--e]=45),Hdn(y,e,m-e);if(t>0&&a>=-6){if(a>=0){for(h=e+a,l=m-1;l>=h;l--)y[l+1]=y[l];return y[++h]=46,b&&(y[--e]=45),Hdn(y,e,m-e+1)}for(f=2;f<1-a;f++)y[--e]=48;return y[--e]=46,y[--e]=48,b&&(y[--e]=45),Hdn(y,e,m-e)}return M=e+1,c=m,k=new Ok,b&&(k.a+="-"),c-M>=1?(DX(k,y[e]),k.a+=".",k.a+=Hdn(y,e+1,m-e-1)):k.a+=Hdn(y,e,m-e),k.a+="E",a>0&&(k.a+="+"),k.a+=""+a,k.a}function zXn(n,t){var i,r,c,a,u,o,s,h,f,l,b,w,d,g,p,v,m,y,k;switch(n.c=t,n.g=new Dp,zM(),ewn(new Iw(new Ry(n.c))),v=PD(n$n(n.c,(SMn(),gTt))),u=HB(n$n(n.c,vTt),316),y=HB(n$n(n.c,mTt),429),c=HB(n$n(n.c,fTt),482),m=HB(n$n(n.c,pTt),430),n.j=zy(SD(n$n(n.c,yTt))),a=n.a,u.g){case 0:a=n.a;break;case 1:a=n.b;break;case 2:a=n.i;break;case 3:a=n.e;break;case 4:a=n.f;break;default:throw qp(new Fy(x4n+(null!=u.f?u.f:""+u.g)))}if(n.d=new RJ(a,y,c),fon(n.d,(Wcn(),Yrt),MD(n$n(n.c,bTt))),n.d.c=Gy(MD(n$n(n.c,lTt))),0==JQ(n.c).i)return n.d;for(h=new $L(JQ(n.c));h.e!=h.i.gc();){for(l=(s=HB(jpn(h),33)).g/2,f=s.f/2,k=new DI(s.i+l,s.j+f);fU(n.g,k);)Fx(k,(e.Math.random()-.5)*bZn,(e.Math.random()-.5)*bZn);w=HB(n$n(s,(hWn(),LSt)),142),d=new $Z(k,new XV(k.a-l-n.j/2-w.b,k.b-f-n.j/2-w.d,s.g+n.j+(w.b+w.c),s.f+n.j+(w.d+w.a))),VB(n.d.i,d),QW(n.g,k,new cC(d,s))}switch(m.g){case 0:if(null==v)n.d.d=HB(Dq(n.d.i,0),65);else for(p=new Vb(n.d.i);p.a1&&c5(f,v,f.c.b,f.c),ytn(c)));v=m}return f}function XXn(n,t,e){var i,r,c,a,u,o,s,h,f,l,b,w,d,g,p,v,m,y,k,j,E,T,M,S,P,I,C,O,A;for(ATn(e,"Greedy cycle removal",1),A=(m=t.a).c.length,n.a=D8($Nt,fQn,25,A,15,1),n.c=D8($Nt,fQn,25,A,15,1),n.b=D8($Nt,fQn,25,A,15,1),s=0,p=new Vb(m);p.a0?S+1:1);for(a=new Vb(k.g);a.a0?S+1:1)}0==n.c[s]?RH(n.e,d):0==n.a[s]&&RH(n.f,d),++s}for(w=-1,b=1,f=new xp,n.d=HB(yMn(t,(fWn(),Plt)),230);A>0;){for(;0!=n.e.b;)I=HB(gH(n.e),10),n.b[I.p]=w--,YKn(n,I),--A;for(;0!=n.f.b;)C=HB(gH(n.f),10),n.b[C.p]=b++,YKn(n,C),--A;if(A>0){for(l=FVn,v=new Vb(m);v.a=l&&(y>l&&(f.c=D8($nt,qWn,1,0,5,1),l=y),f.c[f.c.length]=d);h=n.Zf(f),n.b[h.p]=b++,YKn(n,h),--A}}for(P=m.c.length+1,s=0;sn.b[O]&&(eBn(i,!0),fon(t,Gft,(fN(),!0)));n.a=null,n.c=null,n.b=null,kQ(n.f),kQ(n.e),qSn(e)}function WXn(n,t){var e,i,r,c,a,u,o,s,h,f,l,b,w,d,g,p;for(i=new xp,u=new xp,g=t/2,b=n.gc(),r=HB(n.Xb(0),8),p=HB(n.Xb(1),8),VB(i,(b1(0,(w=YAn(r.a,r.b,p.a,p.b,g)).c.length),HB(w.c[0],8))),VB(u,(b1(1,w.c.length),HB(w.c[1],8))),s=2;s=0;o--)RH(e,(b1(o,a.c.length),HB(a.c[o],8)));return e}function VXn(n){var t,e,i,r,c,a,u,o,s,h,f,l,b;if(a=!0,f=null,i=null,r=null,t=!1,b=jAt,s=null,c=null,(o=Qgn(n,u=0,$At,LAt))=0&&yK(n.substr(u,2),"//")?(o=Qgn(n,u+=2,NAt,xAt),i=n.substr(u,o-u),u=o):null==f||u!=n.length&&(w1(u,n.length),47==n.charCodeAt(u))||(a=!1,-1==(o=kN(n,JTn(35),u))&&(o=n.length),i=n.substr(u,o-u),u=o);if(!e&&u0&&58==lV(h,h.length-1)&&(r=h,u=o)),u=n.j)return n.a=-1,void(n.c=1);if(t=lV(n.i,n.d++),n.a=t,1!=n.b){switch(t){case 124:i=2;break;case 42:i=3;break;case 43:i=4;break;case 63:i=5;break;case 41:i=7;break;case 46:i=8;break;case 91:i=9;break;case 94:i=11;break;case 36:i=12;break;case 40:if(i=6,n.d>=n.j)break;if(63!=lV(n.i,n.d))break;if(++n.d>=n.j)throw qp(new uk(jWn((o$(),v8n))));switch(t=lV(n.i,n.d++)){case 58:i=13;break;case 61:i=14;break;case 33:i=15;break;case 91:i=19;break;case 62:i=18;break;case 60:if(n.d>=n.j)throw qp(new uk(jWn((o$(),v8n))));if(61==(t=lV(n.i,n.d++)))i=16;else{if(33!=t)throw qp(new uk(jWn((o$(),m8n))));i=17}break;case 35:for(;n.d=n.j)throw qp(new uk(jWn((o$(),p8n))));n.a=lV(n.i,n.d++);break;default:i=0}n.c=i}else{switch(t){case 92:if(i=10,n.d>=n.j)throw qp(new uk(jWn((o$(),p8n))));n.a=lV(n.i,n.d++);break;case 45:512==(512&n.e)&&n.d=j||!xdn(v,i))&&(i=c1(t,h)),IZ(v,i),c=new sz(nN(lbn(v).a.Kc(),new f));gAn(c);)r=HB(X5(c),17),n.a[r.p]||(g=r.c.i,--n.e[g.p],0==n.e[g.p]&&B8(iMn(w,g)));for(s=h.c.length-1;s>=0;--s)VB(t.b,(b1(s,h.c.length),HB(h.c[s],29)));t.a.c=D8($nt,qWn,1,0,5,1),qSn(e)}else qSn(e)}function nWn(n){var t,e,i,r,c,a,u,o;for(n.b=1,YXn(n),t=null,0==n.c&&94==n.a?(YXn(n),dWn(),dWn(),Jxn(t=new S0(4),0,ont),a=new S0(4)):(dWn(),dWn(),a=new S0(4)),r=!0;1!=(o=n.c);){if(0==o&&93==n.a&&!r){t&&(VGn(t,a),a=t);break}if(e=n.a,i=!1,10==o)switch(e){case 100:case 68:case 119:case 87:case 115:case 83:hHn(a,g_n(e)),i=!0;break;case 105:case 73:case 99:case 67:hHn(a,g_n(e)),(e=-1)<0&&(i=!0);break;case 112:case 80:if(!(u=RCn(n,e)))throw qp(new uk(jWn((o$(),A8n))));hHn(a,u),i=!0;break;default:e=GDn(n)}else if(24==o&&!r){if(t&&(VGn(t,a),a=t),VGn(a,nWn(n)),0!=n.c||93!=n.a)throw qp(new uk(jWn((o$(),x8n))));break}if(YXn(n),!i){if(0==o){if(91==e)throw qp(new uk(jWn((o$(),D8n))));if(93==e)throw qp(new uk(jWn((o$(),R8n))));if(45==e&&!r&&93!=n.a)throw qp(new uk(jWn((o$(),K8n))))}if(0!=n.c||45!=n.a||45==e&&r)Jxn(a,e,e);else{if(YXn(n),1==(o=n.c))throw qp(new uk(jWn((o$(),L8n))));if(0==o&&93==n.a)Jxn(a,e,e),Jxn(a,45,45);else{if(0==o&&93==n.a||24==o)throw qp(new uk(jWn((o$(),K8n))));if(c=n.a,0==o){if(91==c)throw qp(new uk(jWn((o$(),D8n))));if(93==c)throw qp(new uk(jWn((o$(),R8n))));if(45==c)throw qp(new uk(jWn((o$(),K8n))))}else 10==o&&(c=GDn(n));if(YXn(n),e>c)throw qp(new uk(jWn((o$(),B8n))));Jxn(a,e,c)}}}r=!1}if(1==n.c)throw qp(new uk(jWn((o$(),L8n))));return M$n(a),GHn(a),n.b=0,YXn(n),a}function tWn(n){Q$n(n.c,F9n,Iun(zk(Ytt,1),hVn,2,6,[Z9n,"http://www.w3.org/2001/XMLSchema#decimal"])),Q$n(n.d,F9n,Iun(zk(Ytt,1),hVn,2,6,[Z9n,"http://www.w3.org/2001/XMLSchema#integer"])),Q$n(n.e,F9n,Iun(zk(Ytt,1),hVn,2,6,[Z9n,"http://www.w3.org/2001/XMLSchema#boolean"])),Q$n(n.f,F9n,Iun(zk(Ytt,1),hVn,2,6,[Z9n,"EBoolean",e8n,"EBoolean:Object"])),Q$n(n.i,F9n,Iun(zk(Ytt,1),hVn,2,6,[Z9n,"http://www.w3.org/2001/XMLSchema#byte"])),Q$n(n.g,F9n,Iun(zk(Ytt,1),hVn,2,6,[Z9n,"http://www.w3.org/2001/XMLSchema#hexBinary"])),Q$n(n.j,F9n,Iun(zk(Ytt,1),hVn,2,6,[Z9n,"EByte",e8n,"EByte:Object"])),Q$n(n.n,F9n,Iun(zk(Ytt,1),hVn,2,6,[Z9n,"EChar",e8n,"EChar:Object"])),Q$n(n.t,F9n,Iun(zk(Ytt,1),hVn,2,6,[Z9n,"http://www.w3.org/2001/XMLSchema#double"])),Q$n(n.u,F9n,Iun(zk(Ytt,1),hVn,2,6,[Z9n,"EDouble",e8n,"EDouble:Object"])),Q$n(n.F,F9n,Iun(zk(Ytt,1),hVn,2,6,[Z9n,"http://www.w3.org/2001/XMLSchema#float"])),Q$n(n.G,F9n,Iun(zk(Ytt,1),hVn,2,6,[Z9n,"EFloat",e8n,"EFloat:Object"])),Q$n(n.I,F9n,Iun(zk(Ytt,1),hVn,2,6,[Z9n,"http://www.w3.org/2001/XMLSchema#int"])),Q$n(n.J,F9n,Iun(zk(Ytt,1),hVn,2,6,[Z9n,"EInt",e8n,"EInt:Object"])),Q$n(n.N,F9n,Iun(zk(Ytt,1),hVn,2,6,[Z9n,"http://www.w3.org/2001/XMLSchema#long"])),Q$n(n.O,F9n,Iun(zk(Ytt,1),hVn,2,6,[Z9n,"ELong",e8n,"ELong:Object"])),Q$n(n.Z,F9n,Iun(zk(Ytt,1),hVn,2,6,[Z9n,"http://www.w3.org/2001/XMLSchema#short"])),Q$n(n.$,F9n,Iun(zk(Ytt,1),hVn,2,6,[Z9n,"EShort",e8n,"EShort:Object"])),Q$n(n._,F9n,Iun(zk(Ytt,1),hVn,2,6,[Z9n,"http://www.w3.org/2001/XMLSchema#string"]))}function eWn(n){var t,i,r,c,a,u,o,s,h,f,l,b,w,d,g,p,v,m,y,k,j,E,T,M,S,P,I;if(1==n.c.length)return b1(0,n.c.length),HB(n.c[0],135);if(n.c.length<=0)return new I6;for(s=new Vb(n);s.al&&(P=0,I+=f+E,f=0),TLn(k,u,P,I),t=e.Math.max(t,P+j.a),f=e.Math.max(f,j.b),P+=j.a+E;for(y=new Dp,i=new Dp,M=new Vb(n);M.am$n(c))&&(f=c);for(!f&&(b1(0,d.c.length),f=HB(d.c[0],180)),w=new Vb(t.b);w.a=-1900?1:0,sO(n,e>=4?Iun(zk(Ytt,1),hVn,2,6,[lQn,bQn])[a]:Iun(zk(Ytt,1),hVn,2,6,["BC","AD"])[a]);break;case 121:spn(n,e,i);break;case 77:WKn(n,e,i);break;case 107:Tnn(n,0==(u=r.q.getHours())?24:u,e);break;case 83:KLn(n,e,r);break;case 69:o=i.q.getDay(),sO(n,5==e?Iun(zk(Ytt,1),hVn,2,6,["S","M","T","W","T","F","S"])[o]:4==e?Iun(zk(Ytt,1),hVn,2,6,[wQn,dQn,gQn,pQn,vQn,mQn,yQn])[o]:Iun(zk(Ytt,1),hVn,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"])[o]);break;case 97:r.q.getHours()>=12&&r.q.getHours()<24?sO(n,Iun(zk(Ytt,1),hVn,2,6,["AM","PM"])[1]):sO(n,Iun(zk(Ytt,1),hVn,2,6,["AM","PM"])[0]);break;case 104:Tnn(n,0==(s=r.q.getHours()%12)?12:s,e);break;case 75:Tnn(n,r.q.getHours()%12,e);break;case 72:Tnn(n,r.q.getHours(),e);break;case 99:h=i.q.getDay(),5==e?sO(n,Iun(zk(Ytt,1),hVn,2,6,["S","M","T","W","T","F","S"])[h]):4==e?sO(n,Iun(zk(Ytt,1),hVn,2,6,[wQn,dQn,gQn,pQn,vQn,mQn,yQn])[h]):3==e?sO(n,Iun(zk(Ytt,1),hVn,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"])[h]):Tnn(n,h,1);break;case 76:f=i.q.getMonth(),5==e?sO(n,Iun(zk(Ytt,1),hVn,2,6,["J","F","M","A","M","J","J","A","S","O","N","D"])[f]):4==e?sO(n,Iun(zk(Ytt,1),hVn,2,6,[JVn,ZVn,nQn,tQn,eQn,iQn,rQn,cQn,aQn,uQn,oQn,sQn])[f]):3==e?sO(n,Iun(zk(Ytt,1),hVn,2,6,["Jan","Feb","Mar","Apr",eQn,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"])[f]):Tnn(n,f+1,e);break;case 81:l=i.q.getMonth()/3|0,sO(n,e<4?Iun(zk(Ytt,1),hVn,2,6,["Q1","Q2","Q3","Q4"])[l]:Iun(zk(Ytt,1),hVn,2,6,["1st quarter","2nd quarter","3rd quarter","4th quarter"])[l]);break;case 100:Tnn(n,i.q.getDate(),e);break;case 109:Tnn(n,r.q.getMinutes(),e);break;case 115:Tnn(n,r.q.getSeconds(),e);break;case 122:sO(n,e<4?c.c[0]:c.c[1]);break;case 118:sO(n,c.b);break;case 90:sO(n,e<3?tCn(c):3==e?dCn(c):gCn(c.a));break;default:return!1}return!0}function oWn(n,t,e,i){var r,c,a,u,o,s,h,f,l,b,w,d,g,p,v,m,y,k,j,E,T,M,S,P,I;if(eKn(t),o=HB(Vtn((!t.b&&(t.b=new fK(_Ot,t,4,7)),t.b),0),82),h=HB(Vtn((!t.c&&(t.c=new fK(_Ot,t,5,8)),t.c),0),82),u=ITn(o),s=ITn(h),a=0==(!t.a&&(t.a=new iU(BOt,t,6,6)),t.a).i?null:HB(Vtn((!t.a&&(t.a=new iU(BOt,t,6,6)),t.a),0),202),j=HB(KX(n.a,u),10),S=HB(KX(n.a,s),10),E=null,P=null,aL(o,186)&&(aL(k=HB(KX(n.a,o),299),11)?E=HB(k,11):aL(k,10)&&(j=HB(k,10),E=HB(Dq(j.j,0),11))),aL(h,186)&&(aL(M=HB(KX(n.a,h),299),11)?P=HB(M,11):aL(M,10)&&(S=HB(M,10),P=HB(Dq(S.j,0),11))),!j||!S)throw qp(new ak("The source or the target of edge "+t+" could not be found. This usually happens when an edge connects a node laid out by ELK Layered to a node in another level of hierarchy laid out by either another instance of ELK Layered or another layout algorithm alltogether. The former can be solved by setting the hierarchyHandling option to INCLUDE_CHILDREN."));for(Gan(d=new dY,t),fon(d,(fWn(),glt),t),fon(d,(qXn(),mgt),null),b=HB(yMn(i,nlt),21),j==S&&b.Fc((wDn(),mft)),E||(uin(),y=Gvt,T=null,a&&mA(HB(yMn(j,ipt),98))&&(J3(T=new DI(a.j,a.k),WJ(t)),e5(T,e),Ctn(s,u)&&(y=qvt,XR(T,j.n))),E=gHn(j,T,y,i)),P||(uin(),y=qvt,I=null,a&&mA(HB(yMn(S,ipt),98))&&(J3(I=new DI(a.b,a.c),WJ(t)),e5(I,e)),P=gHn(S,I,y,mW(S))),PZ(d,E),SZ(d,P),(E.e.c.length>1||E.g.c.length>1||P.e.c.length>1||P.g.c.length>1)&&b.Fc((wDn(),wft)),l=new $L((!t.n&&(t.n=new iU(UOt,t,1,7)),t.n));l.e!=l.i.gc();)if(!Gy(MD(n$n(f=HB(jpn(l),137),zgt)))&&f.a)switch(g=qhn(f),VB(d.b,g),HB(yMn(g,Jdt),272).g){case 1:case 2:b.Fc((wDn(),lft));break;case 0:b.Fc((wDn(),hft)),fon(g,Jdt,(Ktn(),UPt))}if(c=HB(yMn(i,Gdt),314),p=HB(yMn(i,Fgt),315),r=c==(Ain(),hht)||p==(xvn(),vvt),a&&0!=(!a.a&&(a.a=new LL(DOt,a,5)),a.a).i&&r){for(v=GSn(a),w=new jm,m=hpn(v,0);m.b!=m.d.c;)RH(w,new dA(HB(w3(m),8)));fon(d,plt,w)}return d}function sWn(n){n.gb||(n.gb=!0,n.b=jan(n,0),Krn(n.b,18),_rn(n.b,19),n.a=jan(n,1),Krn(n.a,1),_rn(n.a,2),_rn(n.a,3),_rn(n.a,4),_rn(n.a,5),n.o=jan(n,2),Krn(n.o,8),Krn(n.o,9),_rn(n.o,10),_rn(n.o,11),_rn(n.o,12),_rn(n.o,13),_rn(n.o,14),_rn(n.o,15),_rn(n.o,16),_rn(n.o,17),_rn(n.o,18),_rn(n.o,19),_rn(n.o,20),_rn(n.o,21),_rn(n.o,22),_rn(n.o,23),stn(n.o),stn(n.o),stn(n.o),stn(n.o),stn(n.o),stn(n.o),stn(n.o),stn(n.o),stn(n.o),stn(n.o),n.p=jan(n,3),Krn(n.p,2),Krn(n.p,3),Krn(n.p,4),Krn(n.p,5),_rn(n.p,6),_rn(n.p,7),stn(n.p),stn(n.p),n.q=jan(n,4),Krn(n.q,8),n.v=jan(n,5),_rn(n.v,9),stn(n.v),stn(n.v),stn(n.v),n.w=jan(n,6),Krn(n.w,2),Krn(n.w,3),Krn(n.w,4),_rn(n.w,5),n.B=jan(n,7),_rn(n.B,1),stn(n.B),stn(n.B),stn(n.B),n.Q=jan(n,8),_rn(n.Q,0),stn(n.Q),n.R=jan(n,9),Krn(n.R,1),n.S=jan(n,10),stn(n.S),stn(n.S),stn(n.S),stn(n.S),stn(n.S),stn(n.S),stn(n.S),stn(n.S),stn(n.S),stn(n.S),stn(n.S),stn(n.S),stn(n.S),stn(n.S),stn(n.S),n.T=jan(n,11),_rn(n.T,10),_rn(n.T,11),_rn(n.T,12),_rn(n.T,13),_rn(n.T,14),stn(n.T),stn(n.T),n.U=jan(n,12),Krn(n.U,2),Krn(n.U,3),_rn(n.U,4),_rn(n.U,5),_rn(n.U,6),_rn(n.U,7),stn(n.U),n.V=jan(n,13),_rn(n.V,10),n.W=jan(n,14),Krn(n.W,18),Krn(n.W,19),Krn(n.W,20),_rn(n.W,21),_rn(n.W,22),_rn(n.W,23),n.bb=jan(n,15),Krn(n.bb,10),Krn(n.bb,11),Krn(n.bb,12),Krn(n.bb,13),Krn(n.bb,14),Krn(n.bb,15),Krn(n.bb,16),_rn(n.bb,17),stn(n.bb),stn(n.bb),n.eb=jan(n,16),Krn(n.eb,2),Krn(n.eb,3),Krn(n.eb,4),Krn(n.eb,5),Krn(n.eb,6),Krn(n.eb,7),_rn(n.eb,8),_rn(n.eb,9),n.ab=jan(n,17),Krn(n.ab,0),Krn(n.ab,1),n.H=jan(n,18),_rn(n.H,0),_rn(n.H,1),_rn(n.H,2),_rn(n.H,3),_rn(n.H,4),_rn(n.H,5),stn(n.H),n.db=jan(n,19),_rn(n.db,2),n.c=Ean(n,20),n.d=Ean(n,21),n.e=Ean(n,22),n.f=Ean(n,23),n.i=Ean(n,24),n.g=Ean(n,25),n.j=Ean(n,26),n.k=Ean(n,27),n.n=Ean(n,28),n.r=Ean(n,29),n.s=Ean(n,30),n.t=Ean(n,31),n.u=Ean(n,32),n.fb=Ean(n,33),n.A=Ean(n,34),n.C=Ean(n,35),n.D=Ean(n,36),n.F=Ean(n,37),n.G=Ean(n,38),n.I=Ean(n,39),n.J=Ean(n,40),n.L=Ean(n,41),n.M=Ean(n,42),n.N=Ean(n,43),n.O=Ean(n,44),n.P=Ean(n,45),n.X=Ean(n,46),n.Y=Ean(n,47),n.Z=Ean(n,48),n.$=Ean(n,49),n._=Ean(n,50),n.cb=Ean(n,51),n.K=Ean(n,52))}function hWn(){var n,t;hWn=A,iSt=new op(d5n),yPt=new op(g5n),dvn(),rSt=new LO(V2n,cSt=CMt),new Lp,aSt=new LO(QJn,null),uSt=new op(p5n),dEn(),lSt=TG(nSt,Iun(zk(GPt,1),LVn,291,0,[QMt])),fSt=new LO(o3n,lSt),bSt=new LO(W2n,(fN(),!1)),Bfn(),wSt=new LO(Z2n,dSt=HPt),Sbn(),mSt=new LO(k2n,ySt=nIt),ESt=new LO($4n,!1),ofn(),TSt=new LO(g2n,MSt=mIt),VSt=new VA(12),WSt=new LO(YJn,VSt),CSt=new LO(EZn,!1),OSt=new LO(y3n,!1),XSt=new LO(SZn,!1),YEn(),oPt=new LO(TZn,sPt=JIt),pPt=new op(p3n),vPt=new op(vZn),mPt=new op(kZn),jPt=new op(jZn),$St=new jm,ASt=new LO(s3n,$St),hSt=new LO(l3n,!1),SSt=new LO(b3n,!1),new op(v5n),NSt=new bm,LSt=new LO(v3n,NSt),USt=new LO(U2n,!1),new Lp,kPt=new LO(m5n,1),new LO(y5n,!0),rln(0),new LO(k5n,rln(100)),new LO(j5n,!1),rln(0),new LO(E5n,rln(4e3)),rln(0),new LO(T5n,rln(400)),new LO(M5n,!1),new LO(S5n,!1),new LO(P5n,!0),new LO(I5n,!1),Bwn(),oSt=new LO(w5n,sSt=iOt),EPt=new LO(N2n,10),TPt=new LO(x2n,10),MPt=new LO(WJn,20),SPt=new LO(D2n,10),PPt=new LO(yZn,2),IPt=new LO(R2n,10),OPt=new LO(K2n,0),APt=new LO(B2n,5),$Pt=new LO(_2n,1),LPt=new LO(F2n,1),NPt=new LO(mZn,20),xPt=new LO(H2n,10),KPt=new LO(q2n,10),CPt=new op(G2n),RPt=new bA,DPt=new LO(m3n,RPt),JSt=new op(g3n),QSt=new LO(d3n,YSt=!1),DSt=new VA(5),xSt=new LO(n3n,DSt),t$n(),t=HB(Qj(zIt),9),KSt=new JK(t,HB(PR(t,t.length),9),0),RSt=new LO(CZn,KSt),apn(),nPt=new LO(i3n,tPt=HIt),iPt=new op(r3n),rPt=new op(c3n),cPt=new op(a3n),ePt=new op(u3n),n=HB(Qj(JCt),9),FSt=new JK(n,HB(PR(n,n.length),9),0),_St=new LO(IZn,FSt),zSt=tbn((t_n(),zCt)),GSt=new LO(PZn,zSt),qSt=new DI(0,0),HSt=new LO(HZn,qSt),BSt=new LO(J2n,!1),Ktn(),pSt=new LO(h3n,vSt=UPt),gSt=new LO(MZn,!1),new op(C5n),rln(1),new LO(O5n,null),aPt=new op(w3n),hPt=new op(f3n),jUn(),dPt=new LO(X2n,gPt=ICt),uPt=new op(z2n),bCn(),bPt=tbn(cCt),lPt=new LO(OZn,bPt),fPt=new LO(t3n,!1),wPt=new LO(e3n,!0),PSt=new LO(Q2n,!1),ISt=new LO(Y2n,!1),kSt=new LO(VJn,1),tMn(),new LO(A5n,jSt=uIt),ZSt=!0}function fWn(){var n,t;fWn=A,glt=new op(AZn),Bft=new op("coordinateOrigin"),Slt=new op("processors"),Fft=new rR("compoundNode",(fN(),!1)),ilt=new rR("insideConnections",!1),plt=new op("originalBendpoints"),vlt=new op("originalDummyNodePosition"),mlt=new op("originalLabelEdge"),Ilt=new op("representedLabels"),Uft=new op("endLabels"),Xft=new op("endLabel.origin"),olt=new rR("labelSide",(Wyn(),SIt)),wlt=new rR("maxEdgeThickness",0),Clt=new rR("reversed",!1),Plt=new op($Zn),flt=new rR("longEdgeSource",null),llt=new rR("longEdgeTarget",null),hlt=new rR("longEdgeHasLabelDummies",!1),slt=new rR("longEdgeBeforeLabelDummy",!1),zft=new rR("edgeConstraint",(Zun(),$ht)),clt=new op("inLayerLayoutUnit"),rlt=new rR("inLayerConstraint",(U7(),Ift)),alt=new rR("inLayerSuccessorConstraint",new xp),ult=new rR("inLayerSuccessorConstraintBetweenNonDummies",!1),Tlt=new op("portDummy"),Hft=new rR("crossingHint",rln(0)),nlt=new rR("graphProperties",new JK(t=HB(Qj(Mft),9),HB(PR(t,t.length),9),0)),Yft=new rR("externalPortSide",(jUn(),ICt)),Jft=new rR("externalPortSize",new zj),Vft=new op("externalPortReplacedDummies"),Qft=new op("externalPortReplacedDummy"),Wft=new rR("externalPortConnections",new JK(n=HB(Qj(BCt),9),HB(PR(n,n.length),9),0)),Mlt=new rR(gJn,0),Dft=new op("barycenterAssociates"),_lt=new op("TopSideComments"),Rft=new op("BottomSideComments"),_ft=new op("CommentConnectionPort"),elt=new rR("inputCollect",!1),jlt=new rR("outputCollect",!1),Gft=new rR("cyclic",!1),qft=new op("crossHierarchyMap"),Klt=new op("targetOffset"),new rR("splineLabelSize",new zj),$lt=new op("spacings"),Elt=new rR("partitionConstraint",!1),Kft=new op("breakingPoint.info"),Dlt=new op("splines.survivingEdge"),xlt=new op("splines.route.start"),Llt=new op("splines.edgeChain"),klt=new op("originalPortConstraints"),Alt=new op("selfLoopHolder"),Nlt=new op("splines.nsPortY"),dlt=new op("modelOrder"),blt=new op("longEdgeTargetNode"),Zft=new rR(U1n,!1),Olt=new rR(U1n,!1),tlt=new op("layerConstraints.hiddenNodes"),ylt=new op("layerConstraints.opposidePort"),Rlt=new op("targetNode.modelOrder")}function lWn(){lWn=A,Fnn(),Pbt=new LO(X1n,Ibt=Pht),zbt=new LO(W1n,(fN(),!1)),U2(),Qbt=new LO(V1n,Ybt=$ft),dwt=new LO(Q1n,!1),gwt=new LO(Y1n,!0),Xlt=new LO(J1n,!1),X7(),xwt=new LO(Z1n,Dwt=_vt),rln(1),Gwt=new LO(n0n,rln(7)),zwt=new LO(t0n,!1),Ubt=new LO(e0n,!1),Qvn(),Mbt=new LO(i0n,Sbt=kht),MTn(),bwt=new LO(r0n,wwt=evt),Mbn(),iwt=new LO(c0n,rwt=Glt),rln(-1),ewt=new LO(a0n,rln(-1)),rln(-1),cwt=new LO(u0n,rln(-1)),rln(-1),awt=new LO(o0n,rln(4)),rln(-1),owt=new LO(s0n,rln(2)),hNn(),fwt=new LO(h0n,lwt=Ovt),rln(0),hwt=new LO(f0n,rln(0)),nwt=new LO(l0n,rln(RWn)),Ain(),Ebt=new LO(b0n,Tbt=fht),obt=new LO(w0n,!1),pbt=new LO(d0n,.1),kbt=new LO(g0n,!1),rln(-1),mbt=new LO(p0n,rln(-1)),rln(-1),ybt=new LO(v0n,rln(-1)),rln(0),sbt=new LO(m0n,rln(40)),_an(),wbt=new LO(y0n,dbt=Tft),hbt=new LO(k0n,fbt=jft),xvn(),Lwt=new LO(j0n,Nwt=pvt),Ewt=new op(E0n),p7(),pwt=new LO(T0n,vwt=Ght),Hjn(),ywt=new LO(M0n,kwt=Yht),new Lp,Swt=new LO(S0n,.3),Iwt=new op(P0n),wvn(),Cwt=new LO(I0n,Owt=bvt),qcn(),xbt=new LO(C0n,Dbt=Vvt),$6(),Rbt=new LO(O0n,Kbt=nmt),Xsn(),_bt=new LO(A0n,Fbt=cmt),Hbt=new LO($0n,.2),Lbt=new LO(L0n,2),Fwt=new LO(N0n,null),Hwt=new LO(x0n,10),Bwt=new LO(D0n,10),qwt=new LO(R0n,20),rln(0),Rwt=new LO(K0n,rln(0)),rln(0),Kwt=new LO(_0n,rln(0)),rln(0),_wt=new LO(F0n,rln(0)),Wlt=new LO(B0n,!1),ZMn(),Ylt=new LO(H0n,Jlt=aft),Q8(),Vlt=new LO(q0n,Qlt=uht),Wbt=new LO(G0n,!1),rln(0),Xbt=new LO(z0n,rln(16)),rln(0),Vbt=new LO(U0n,rln(5)),Lun(),bdt=new LO(X0n,wdt=wmt),Uwt=new LO(W0n,10),Vwt=new LO(V0n,1),oin(),idt=new LO(Q0n,rdt=pht),Jwt=new op(Y0n),tdt=rln(1),rln(0),ndt=new LO(J0n,tdt),gcn(),vdt=new LO(Z0n,mdt=omt),ddt=new op(n2n),sdt=new LO(t2n,!0),udt=new LO(e2n,2),fdt=new LO(i2n,!0),pSn(),Abt=new LO(r2n,$bt=Fht),LPn(),Cbt=new LO(c2n,Obt=nht),yon(),abt=new LO(a2n,ubt=xvt),cbt=new LO(u2n,!1),Hfn(),Zlt=new LO(o2n,nbt=dut),Shn(),ibt=new LO(s2n,rbt=avt),tbt=new LO(h2n,0),ebt=new LO(f2n,0),Zbt=Eht,Jbt=hht,uwt=tvt,swt=tvt,twt=Jpt,ofn(),vbt=vIt,jbt=fht,gbt=fht,lbt=fht,bbt=vIt,Twt=yvt,Mwt=pvt,mwt=pvt,jwt=pvt,Pwt=mvt,$wt=yvt,Awt=yvt,Sbn(),Bbt=ZPt,qbt=ZPt,Gbt=cmt,Nbt=JPt,Xwt=dmt,Wwt=bmt,Qwt=dmt,Ywt=bmt,cdt=dmt,adt=bmt,Zwt=ght,edt=pht,ydt=dmt,kdt=bmt,gdt=dmt,pdt=bmt,hdt=bmt,odt=bmt,ldt=bmt}function bWn(){bWn=A,cot=new tP("DIRECTION_PREPROCESSOR",0),eot=new tP("COMMENT_PREPROCESSOR",1),aot=new tP("EDGE_AND_LAYER_CONSTRAINT_EDGE_REVERSER",2),jot=new tP("INTERACTIVE_EXTERNAL_PORT_POSITIONER",3),Bot=new tP("PARTITION_PREPROCESSOR",4),Sot=new tP("LABEL_DUMMY_INSERTER",5),Xot=new tP("SELF_LOOP_PREPROCESSOR",6),Aot=new tP("LAYER_CONSTRAINT_PREPROCESSOR",7),_ot=new tP("PARTITION_MIDPROCESSOR",8),pot=new tP("HIGH_DEGREE_NODE_LAYER_PROCESSOR",9),xot=new tP("NODE_PROMOTION",10),Oot=new tP("LAYER_CONSTRAINT_POSTPROCESSOR",11),Fot=new tP("PARTITION_POSTPROCESSOR",12),bot=new tP("HIERARCHICAL_PORT_CONSTRAINT_PROCESSOR",13),Vot=new tP("SEMI_INTERACTIVE_CROSSMIN_PROCESSOR",14),Qut=new tP("BREAKING_POINT_INSERTER",15),Not=new tP("LONG_EDGE_SPLITTER",16),qot=new tP("PORT_SIDE_PROCESSOR",17),Eot=new tP("INVERTED_PORT_PROCESSOR",18),Hot=new tP("PORT_LIST_SORTER",19),Yot=new tP("SORT_BY_INPUT_ORDER_OF_MODEL",20),Rot=new tP("NORTH_SOUTH_PORT_PREPROCESSOR",21),Yut=new tP("BREAKING_POINT_PROCESSOR",22),Kot=new tP(T1n,23),Jot=new tP(M1n,24),zot=new tP("SELF_LOOP_PORT_RESTORER",25),Qot=new tP("SINGLE_EDGE_GRAPH_WRAPPER",26),Tot=new tP("IN_LAYER_CONSTRAINT_PROCESSOR",27),hot=new tP("END_NODE_PORT_LABEL_MANAGEMENT_PROCESSOR",28),Mot=new tP("LABEL_AND_NODE_SIZE_PROCESSOR",29),kot=new tP("INNERMOST_NODE_MARGIN_CALCULATOR",30),Wot=new tP("SELF_LOOP_ROUTER",31),not=new tP("COMMENT_NODE_MARGIN_CALCULATOR",32),oot=new tP("END_LABEL_PREPROCESSOR",33),Iot=new tP("LABEL_DUMMY_SWITCHER",34),Zut=new tP("CENTER_LABEL_MANAGEMENT_PROCESSOR",35),Cot=new tP("LABEL_SIDE_SELECTOR",36),mot=new tP("HYPEREDGE_DUMMY_MERGER",37),wot=new tP("HIERARCHICAL_PORT_DUMMY_SIZE_PROCESSOR",38),$ot=new tP("LAYER_SIZE_AND_GRAPH_HEIGHT_CALCULATOR",39),got=new tP("HIERARCHICAL_PORT_POSITION_PROCESSOR",40),iot=new tP("CONSTRAINTS_POSTPROCESSOR",41),tot=new tP("COMMENT_POSTPROCESSOR",42),yot=new tP("HYPERNODE_PROCESSOR",43),dot=new tP("HIERARCHICAL_PORT_ORTHOGONAL_EDGE_ROUTER",44),Lot=new tP("LONG_EDGE_JOINER",45),Uot=new tP("SELF_LOOP_POSTPROCESSOR",46),Jut=new tP("BREAKING_POINT_REMOVER",47),Dot=new tP("NORTH_SOUTH_PORT_POSTPROCESSOR",48),vot=new tP("HORIZONTAL_COMPACTOR",49),Pot=new tP("LABEL_DUMMY_REMOVER",50),fot=new tP("FINAL_SPLINE_BENDPOINTS_CALCULATOR",51),sot=new tP("END_LABEL_SORTER",52),Got=new tP("REVERSED_EDGE_RESTORER",53),uot=new tP("END_LABEL_POSTPROCESSOR",54),lot=new tP("HIERARCHICAL_NODE_RESIZER",55),rot=new tP("DIRECTION_POSTPROCESSOR",56)}function wWn(n,t,i){var r,c,a,u,o,s,h,f,l,b,w,d,g,p,v,m,y,k,j,E,T,M,S,P,I,C,O,A,$,L,N,x,D,R,K,_,F,B,H,q,G,z,U,X,W,V,Q,Y,J,Z,nn,tn,en,rn,cn,an,un,on;for(J=0,L=0,D=(O=t).length;L0&&(n.a[q.p]=J++)}for(rn=0,N=0,R=(A=i).length;N0;){for(Ix(X.b>0),U=0,o=new Vb((q=HB(X.a.Xb(X.c=--X.b),11)).e);o.a0&&(q.j==(jUn(),hCt)?(n.a[q.p]=rn,++rn):(n.a[q.p]=rn+K+F,++F))}rn+=F}for(z=new Dp,d=new lA,$=0,x=(C=t).length;$h.b&&(h.b=W)):q.i.c==Y&&(Wh.c&&(h.c=W));for(U9(g,0,g.length,null),en=D8($Nt,fQn,25,g.length,15,1),r=D8($Nt,fQn,25,rn+1,15,1),v=0;v0;)T%2>0&&(c+=un[T+1]),++un[T=(T-1)/2|0];for(S=D8(Gmt,qWn,362,2*g.length,0,1),k=0;k'?":yK(m8n,n)?"'(?<' or '(? toIndex: ",jYn=", toIndex: ",EYn="Index: ",TYn=", Size: ",MYn="org.eclipse.elk.alg.common",SYn={62:1},PYn="org.eclipse.elk.alg.common.compaction",IYn="Scanline/EventHandler",CYn="org.eclipse.elk.alg.common.compaction.oned",OYn="CNode belongs to another CGroup.",AYn="ISpacingsHandler/1",$Yn="The ",LYn=" instance has been finished already.",NYn="The direction ",xYn=" is not supported by the CGraph instance.",DYn="OneDimensionalCompactor",RYn="OneDimensionalCompactor/lambda$0$Type",KYn="Quadruplet",_Yn="ScanlineConstraintCalculator",FYn="ScanlineConstraintCalculator/ConstraintsScanlineHandler",BYn="ScanlineConstraintCalculator/ConstraintsScanlineHandler/lambda$0$Type",HYn="ScanlineConstraintCalculator/Timestamp",qYn="ScanlineConstraintCalculator/lambda$0$Type",GYn={169:1,45:1},zYn="org.eclipse.elk.alg.common.compaction.options",UYn="org.eclipse.elk.core.data",XYn="org.eclipse.elk.polyomino.traversalStrategy",WYn="org.eclipse.elk.polyomino.lowLevelSort",VYn="org.eclipse.elk.polyomino.highLevelSort",QYn="org.eclipse.elk.polyomino.fill",YYn={130:1},JYn="polyomino",ZYn="org.eclipse.elk.alg.common.networksimplex",nJn={177:1,3:1,4:1},tJn="org.eclipse.elk.alg.common.nodespacing",eJn="org.eclipse.elk.alg.common.nodespacing.cellsystem",iJn="CENTER",rJn={212:1,326:1},cJn={3:1,4:1,5:1,595:1},aJn="LEFT",uJn="RIGHT",oJn="Vertical alignment cannot be null",sJn="BOTTOM",hJn="org.eclipse.elk.alg.common.nodespacing.internal",fJn="UNDEFINED",lJn=.01,bJn="org.eclipse.elk.alg.common.nodespacing.internal.algorithm",wJn="LabelPlacer/lambda$0$Type",dJn="LabelPlacer/lambda$1$Type",gJn="portRatioOrPosition",pJn="org.eclipse.elk.alg.common.overlaps",vJn="DOWN",mJn="org.eclipse.elk.alg.common.polyomino",yJn="NORTH",kJn="EAST",jJn="SOUTH",EJn="WEST",TJn="org.eclipse.elk.alg.common.polyomino.structures",MJn="Direction",SJn="Grid is only of size ",PJn=". Requested point (",IJn=") is out of bounds.",CJn=" Given center based coordinates were (",OJn="org.eclipse.elk.graph.properties",AJn="IPropertyHolder",$Jn={3:1,94:1,134:1},LJn="org.eclipse.elk.alg.common.spore",NJn="org.eclipse.elk.alg.common.utils",xJn={209:1},DJn="org.eclipse.elk.core",RJn="Connected Components Compaction",KJn="org.eclipse.elk.alg.disco",_Jn="org.eclipse.elk.alg.disco.graph",FJn="org.eclipse.elk.alg.disco.options",BJn="CompactionStrategy",HJn="org.eclipse.elk.disco.componentCompaction.strategy",qJn="org.eclipse.elk.disco.componentCompaction.componentLayoutAlgorithm",GJn="org.eclipse.elk.disco.debug.discoGraph",zJn="org.eclipse.elk.disco.debug.discoPolys",UJn="componentCompaction",XJn="org.eclipse.elk.disco",WJn="org.eclipse.elk.spacing.componentComponent",VJn="org.eclipse.elk.edge.thickness",QJn="org.eclipse.elk.aspectRatio",YJn="org.eclipse.elk.padding",JJn="org.eclipse.elk.alg.disco.transform",ZJn=1.5707963267948966,nZn=17976931348623157e292,tZn={3:1,4:1,5:1,192:1},eZn={3:1,6:1,4:1,5:1,106:1,120:1},iZn="org.eclipse.elk.alg.force",rZn="ComponentsProcessor",cZn="ComponentsProcessor/1",aZn="org.eclipse.elk.alg.force.graph",uZn="Component Layout",oZn="org.eclipse.elk.alg.force.model",sZn="org.eclipse.elk.force.model",hZn="org.eclipse.elk.force.iterations",fZn="org.eclipse.elk.force.repulsivePower",lZn="org.eclipse.elk.force.temperature",bZn=.001,wZn="org.eclipse.elk.force.repulsion",dZn="org.eclipse.elk.alg.force.options",gZn=1.600000023841858,pZn="org.eclipse.elk.force",vZn="org.eclipse.elk.priority",mZn="org.eclipse.elk.spacing.nodeNode",yZn="org.eclipse.elk.spacing.edgeLabel",kZn="org.eclipse.elk.randomSeed",jZn="org.eclipse.elk.separateConnectedComponents",EZn="org.eclipse.elk.interactive",TZn="org.eclipse.elk.portConstraints",MZn="org.eclipse.elk.edgeLabels.inline",SZn="org.eclipse.elk.omitNodeMicroLayout",PZn="org.eclipse.elk.nodeSize.options",IZn="org.eclipse.elk.nodeSize.constraints",CZn="org.eclipse.elk.nodeLabels.placement",OZn="org.eclipse.elk.portLabels.placement",AZn="origin",$Zn="random",LZn="boundingBox.upLeft",NZn="boundingBox.lowRight",xZn="org.eclipse.elk.stress.fixed",DZn="org.eclipse.elk.stress.desiredEdgeLength",RZn="org.eclipse.elk.stress.dimension",KZn="org.eclipse.elk.stress.epsilon",_Zn="org.eclipse.elk.stress.iterationLimit",FZn="org.eclipse.elk.stress",BZn="ELK Stress",HZn="org.eclipse.elk.nodeSize.minimum",qZn="org.eclipse.elk.alg.force.stress",GZn="Layered layout",zZn="org.eclipse.elk.alg.layered",UZn="org.eclipse.elk.alg.layered.compaction.components",XZn="org.eclipse.elk.alg.layered.compaction.oned",WZn="org.eclipse.elk.alg.layered.compaction.oned.algs",VZn="org.eclipse.elk.alg.layered.compaction.recthull",QZn="org.eclipse.elk.alg.layered.components",YZn="NONE",JZn={3:1,6:1,4:1,9:1,5:1,122:1},ZZn={3:1,6:1,4:1,5:1,141:1,106:1,120:1},n1n="org.eclipse.elk.alg.layered.compound",t1n={51:1},e1n="org.eclipse.elk.alg.layered.graph",i1n=" -> ",r1n="Not supported by LGraph",c1n="Port side is undefined",a1n={3:1,6:1,4:1,5:1,474:1,141:1,106:1,120:1},u1n={3:1,6:1,4:1,5:1,141:1,193:1,203:1,106:1,120:1},o1n={3:1,6:1,4:1,5:1,141:1,1943:1,203:1,106:1,120:1},s1n="([{\"' \t\r\n",h1n=")]}\"' \t\r\n",f1n="The given string contains parts that cannot be parsed as numbers.",l1n="org.eclipse.elk.core.math",b1n={3:1,4:1,142:1,207:1,414:1},w1n={3:1,4:1,116:1,207:1,414:1},d1n="org.eclipse.elk.layered",g1n="org.eclipse.elk.alg.layered.graph.transform",p1n="ElkGraphImporter",v1n="ElkGraphImporter/lambda$0$Type",m1n="ElkGraphImporter/lambda$1$Type",y1n="ElkGraphImporter/lambda$2$Type",k1n="ElkGraphImporter/lambda$4$Type",j1n="Node margin calculation",E1n="org.eclipse.elk.alg.layered.intermediate",T1n="ONE_SIDED_GREEDY_SWITCH",M1n="TWO_SIDED_GREEDY_SWITCH",S1n="No implementation is available for the layout processor ",P1n="IntermediateProcessorStrategy",I1n="Node '",C1n="FIRST_SEPARATE",O1n="LAST_SEPARATE",A1n="Odd port side processing",$1n="org.eclipse.elk.alg.layered.intermediate.compaction",L1n="org.eclipse.elk.alg.layered.intermediate.greedyswitch",N1n="org.eclipse.elk.alg.layered.p3order.counting",x1n={225:1},D1n="org.eclipse.elk.alg.layered.intermediate.loops",R1n="org.eclipse.elk.alg.layered.intermediate.loops.ordering",K1n="org.eclipse.elk.alg.layered.intermediate.loops.routing",_1n="org.eclipse.elk.alg.layered.intermediate.preserveorder",F1n="org.eclipse.elk.alg.layered.intermediate.wrapping",B1n="org.eclipse.elk.alg.layered.options",H1n="INTERACTIVE",q1n="DEPTH_FIRST",G1n="EDGE_LENGTH",z1n="SELF_LOOPS",U1n="firstTryWithInitialOrder",X1n="org.eclipse.elk.layered.directionCongruency",W1n="org.eclipse.elk.layered.feedbackEdges",V1n="org.eclipse.elk.layered.interactiveReferencePoint",Q1n="org.eclipse.elk.layered.mergeEdges",Y1n="org.eclipse.elk.layered.mergeHierarchyEdges",J1n="org.eclipse.elk.layered.allowNonFlowPortsToSwitchSides",Z1n="org.eclipse.elk.layered.portSortingStrategy",n0n="org.eclipse.elk.layered.thoroughness",t0n="org.eclipse.elk.layered.unnecessaryBendpoints",e0n="org.eclipse.elk.layered.generatePositionAndLayerIds",i0n="org.eclipse.elk.layered.cycleBreaking.strategy",r0n="org.eclipse.elk.layered.layering.strategy",c0n="org.eclipse.elk.layered.layering.layerConstraint",a0n="org.eclipse.elk.layered.layering.layerChoiceConstraint",u0n="org.eclipse.elk.layered.layering.layerId",o0n="org.eclipse.elk.layered.layering.minWidth.upperBoundOnWidth",s0n="org.eclipse.elk.layered.layering.minWidth.upperLayerEstimationScalingFactor",h0n="org.eclipse.elk.layered.layering.nodePromotion.strategy",f0n="org.eclipse.elk.layered.layering.nodePromotion.maxIterations",l0n="org.eclipse.elk.layered.layering.coffmanGraham.layerBound",b0n="org.eclipse.elk.layered.crossingMinimization.strategy",w0n="org.eclipse.elk.layered.crossingMinimization.forceNodeModelOrder",d0n="org.eclipse.elk.layered.crossingMinimization.hierarchicalSweepiness",g0n="org.eclipse.elk.layered.crossingMinimization.semiInteractive",p0n="org.eclipse.elk.layered.crossingMinimization.positionChoiceConstraint",v0n="org.eclipse.elk.layered.crossingMinimization.positionId",m0n="org.eclipse.elk.layered.crossingMinimization.greedySwitch.activationThreshold",y0n="org.eclipse.elk.layered.crossingMinimization.greedySwitch.type",k0n="org.eclipse.elk.layered.crossingMinimization.greedySwitchHierarchical.type",j0n="org.eclipse.elk.layered.nodePlacement.strategy",E0n="org.eclipse.elk.layered.nodePlacement.favorStraightEdges",T0n="org.eclipse.elk.layered.nodePlacement.bk.edgeStraightening",M0n="org.eclipse.elk.layered.nodePlacement.bk.fixedAlignment",S0n="org.eclipse.elk.layered.nodePlacement.linearSegments.deflectionDampening",P0n="org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility",I0n="org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility.default",C0n="org.eclipse.elk.layered.edgeRouting.selfLoopDistribution",O0n="org.eclipse.elk.layered.edgeRouting.selfLoopOrdering",A0n="org.eclipse.elk.layered.edgeRouting.splines.mode",$0n="org.eclipse.elk.layered.edgeRouting.splines.sloppy.layerSpacingFactor",L0n="org.eclipse.elk.layered.edgeRouting.polyline.slopedEdgeZoneWidth",N0n="org.eclipse.elk.layered.spacing.baseValue",x0n="org.eclipse.elk.layered.spacing.edgeNodeBetweenLayers",D0n="org.eclipse.elk.layered.spacing.edgeEdgeBetweenLayers",R0n="org.eclipse.elk.layered.spacing.nodeNodeBetweenLayers",K0n="org.eclipse.elk.layered.priority.direction",_0n="org.eclipse.elk.layered.priority.shortness",F0n="org.eclipse.elk.layered.priority.straightness",B0n="org.eclipse.elk.layered.compaction.connectedComponents",H0n="org.eclipse.elk.layered.compaction.postCompaction.strategy",q0n="org.eclipse.elk.layered.compaction.postCompaction.constraints",G0n="org.eclipse.elk.layered.highDegreeNodes.treatment",z0n="org.eclipse.elk.layered.highDegreeNodes.threshold",U0n="org.eclipse.elk.layered.highDegreeNodes.treeHeight",X0n="org.eclipse.elk.layered.wrapping.strategy",W0n="org.eclipse.elk.layered.wrapping.additionalEdgeSpacing",V0n="org.eclipse.elk.layered.wrapping.correctionFactor",Q0n="org.eclipse.elk.layered.wrapping.cutting.strategy",Y0n="org.eclipse.elk.layered.wrapping.cutting.cuts",J0n="org.eclipse.elk.layered.wrapping.cutting.msd.freedom",Z0n="org.eclipse.elk.layered.wrapping.validify.strategy",n2n="org.eclipse.elk.layered.wrapping.validify.forbiddenIndices",t2n="org.eclipse.elk.layered.wrapping.multiEdge.improveCuts",e2n="org.eclipse.elk.layered.wrapping.multiEdge.distancePenalty",i2n="org.eclipse.elk.layered.wrapping.multiEdge.improveWrappedEdges",r2n="org.eclipse.elk.layered.edgeLabels.sideSelection",c2n="org.eclipse.elk.layered.edgeLabels.centerLabelPlacementStrategy",a2n="org.eclipse.elk.layered.considerModelOrder.strategy",u2n="org.eclipse.elk.layered.considerModelOrder.noModelOrder",o2n="org.eclipse.elk.layered.considerModelOrder.components",s2n="org.eclipse.elk.layered.considerModelOrder.longEdgeStrategy",h2n="org.eclipse.elk.layered.considerModelOrder.crossingCounterNodeInfluence",f2n="org.eclipse.elk.layered.considerModelOrder.crossingCounterPortInfluence",l2n="layering",b2n="layering.minWidth",w2n="layering.nodePromotion",d2n="crossingMinimization",g2n="org.eclipse.elk.hierarchyHandling",p2n="crossingMinimization.greedySwitch",v2n="nodePlacement",m2n="nodePlacement.bk",y2n="edgeRouting",k2n="org.eclipse.elk.edgeRouting",j2n="spacing",E2n="priority",T2n="compaction",M2n="compaction.postCompaction",S2n="Specifies whether and how post-process compaction is applied.",P2n="highDegreeNodes",I2n="wrapping",C2n="wrapping.cutting",O2n="wrapping.validify",A2n="wrapping.multiEdge",$2n="edgeLabels",L2n="considerModelOrder",N2n="org.eclipse.elk.spacing.commentComment",x2n="org.eclipse.elk.spacing.commentNode",D2n="org.eclipse.elk.spacing.edgeEdge",R2n="org.eclipse.elk.spacing.edgeNode",K2n="org.eclipse.elk.spacing.labelLabel",_2n="org.eclipse.elk.spacing.labelPortHorizontal",F2n="org.eclipse.elk.spacing.labelPortVertical",B2n="org.eclipse.elk.spacing.labelNode",H2n="org.eclipse.elk.spacing.nodeSelfLoop",q2n="org.eclipse.elk.spacing.portPort",G2n="org.eclipse.elk.spacing.individual",z2n="org.eclipse.elk.port.borderOffset",U2n="org.eclipse.elk.noLayout",X2n="org.eclipse.elk.port.side",W2n="org.eclipse.elk.debugMode",V2n="org.eclipse.elk.alignment",Q2n="org.eclipse.elk.insideSelfLoops.activate",Y2n="org.eclipse.elk.insideSelfLoops.yo",J2n="org.eclipse.elk.nodeSize.fixedGraphSize",Z2n="org.eclipse.elk.direction",n3n="org.eclipse.elk.nodeLabels.padding",t3n="org.eclipse.elk.portLabels.nextToPortIfPossible",e3n="org.eclipse.elk.portLabels.treatAsGroup",i3n="org.eclipse.elk.portAlignment.default",r3n="org.eclipse.elk.portAlignment.north",c3n="org.eclipse.elk.portAlignment.south",a3n="org.eclipse.elk.portAlignment.west",u3n="org.eclipse.elk.portAlignment.east",o3n="org.eclipse.elk.contentAlignment",s3n="org.eclipse.elk.junctionPoints",h3n="org.eclipse.elk.edgeLabels.placement",f3n="org.eclipse.elk.port.index",l3n="org.eclipse.elk.commentBox",b3n="org.eclipse.elk.hypernode",w3n="org.eclipse.elk.port.anchor",d3n="org.eclipse.elk.partitioning.activate",g3n="org.eclipse.elk.partitioning.partition",p3n="org.eclipse.elk.position",v3n="org.eclipse.elk.margins",m3n="org.eclipse.elk.spacing.portsSurrounding",y3n="org.eclipse.elk.interactiveLayout",k3n="org.eclipse.elk.core.util",j3n={3:1,4:1,5:1,593:1},E3n="NETWORK_SIMPLEX",T3n={123:1,51:1},M3n="org.eclipse.elk.alg.layered.p1cycles",S3n="org.eclipse.elk.alg.layered.p2layers",P3n={402:1,225:1},I3n={832:1,3:1,4:1},C3n="org.eclipse.elk.alg.layered.p3order",O3n="org.eclipse.elk.alg.layered.p4nodes",A3n={3:1,4:1,5:1,840:1},$3n=1e-5,L3n="org.eclipse.elk.alg.layered.p4nodes.bk",N3n="org.eclipse.elk.alg.layered.p5edges",x3n="org.eclipse.elk.alg.layered.p5edges.orthogonal",D3n="org.eclipse.elk.alg.layered.p5edges.orthogonal.direction",R3n=1e-6,K3n="org.eclipse.elk.alg.layered.p5edges.splines",_3n=.09999999999999998,F3n=1e-8,B3n=4.71238898038469,H3n=3.141592653589793,q3n="org.eclipse.elk.alg.mrtree",G3n="org.eclipse.elk.alg.mrtree.graph",z3n="org.eclipse.elk.alg.mrtree.intermediate",U3n="Set neighbors in level",X3n="DESCENDANTS",W3n="org.eclipse.elk.mrtree.weighting",V3n="org.eclipse.elk.mrtree.searchOrder",Q3n="org.eclipse.elk.alg.mrtree.options",Y3n="org.eclipse.elk.mrtree",J3n="org.eclipse.elk.tree",Z3n="org.eclipse.elk.alg.radial",n4n=6.283185307179586,t4n=5e-324,e4n="org.eclipse.elk.alg.radial.intermediate",i4n="org.eclipse.elk.alg.radial.intermediate.compaction",r4n={3:1,4:1,5:1,106:1},c4n="org.eclipse.elk.alg.radial.intermediate.optimization",a4n="No implementation is available for the layout option ",u4n="org.eclipse.elk.alg.radial.options",o4n="org.eclipse.elk.radial.orderId",s4n="org.eclipse.elk.radial.radius",h4n="org.eclipse.elk.radial.compactor",f4n="org.eclipse.elk.radial.compactionStepSize",l4n="org.eclipse.elk.radial.sorter",b4n="org.eclipse.elk.radial.wedgeCriteria",w4n="org.eclipse.elk.radial.optimizationCriteria",d4n="org.eclipse.elk.radial",g4n="org.eclipse.elk.alg.radial.p1position.wedge",p4n="org.eclipse.elk.alg.radial.sorting",v4n=5.497787143782138,m4n=3.9269908169872414,y4n=2.356194490192345,k4n="org.eclipse.elk.alg.rectpacking",j4n="org.eclipse.elk.alg.rectpacking.firstiteration",E4n="org.eclipse.elk.alg.rectpacking.options",T4n="org.eclipse.elk.rectpacking.optimizationGoal",M4n="org.eclipse.elk.rectpacking.lastPlaceShift",S4n="org.eclipse.elk.rectpacking.currentPosition",P4n="org.eclipse.elk.rectpacking.desiredPosition",I4n="org.eclipse.elk.rectpacking.onlyFirstIteration",C4n="org.eclipse.elk.rectpacking.rowCompaction",O4n="org.eclipse.elk.rectpacking.expandToAspectRatio",A4n="org.eclipse.elk.rectpacking.targetWidth",$4n="org.eclipse.elk.expandNodes",L4n="org.eclipse.elk.rectpacking",N4n="org.eclipse.elk.alg.rectpacking.util",x4n="No implementation available for ",D4n="org.eclipse.elk.alg.spore",R4n="org.eclipse.elk.alg.spore.options",K4n="org.eclipse.elk.sporeCompaction",_4n="org.eclipse.elk.underlyingLayoutAlgorithm",F4n="org.eclipse.elk.processingOrder.treeConstruction",B4n="org.eclipse.elk.processingOrder.spanningTreeCostFunction",H4n="org.eclipse.elk.processingOrder.preferredRoot",q4n="org.eclipse.elk.processingOrder.rootSelection",G4n="org.eclipse.elk.structure.structureExtractionStrategy",z4n="org.eclipse.elk.compaction.compactionStrategy",U4n="org.eclipse.elk.compaction.orthogonal",X4n="org.eclipse.elk.overlapRemoval.maxIterations",W4n="org.eclipse.elk.overlapRemoval.runScanline",V4n="processingOrder",Q4n="overlapRemoval",Y4n="org.eclipse.elk.sporeOverlap",J4n="org.eclipse.elk.alg.spore.p1structure",Z4n="org.eclipse.elk.alg.spore.p2processingorder",n5n="org.eclipse.elk.alg.spore.p3execution",t5n="Invalid index: ",e5n="org.eclipse.elk.core.alg",i5n={331:1},r5n={288:1},c5n="Make sure its type is registered with the ",a5n=" utility class.",u5n="true",o5n="false",s5n="Couldn't clone property '",h5n=.05,f5n="org.eclipse.elk.core.options",l5n=1.2999999523162842,b5n="org.eclipse.elk.box",w5n="org.eclipse.elk.box.packingMode",d5n="org.eclipse.elk.algorithm",g5n="org.eclipse.elk.resolvedAlgorithm",p5n="org.eclipse.elk.bendPoints",v5n="org.eclipse.elk.labelManager",m5n="org.eclipse.elk.scaleFactor",y5n="org.eclipse.elk.animate",k5n="org.eclipse.elk.animTimeFactor",j5n="org.eclipse.elk.layoutAncestors",E5n="org.eclipse.elk.maxAnimTime",T5n="org.eclipse.elk.minAnimTime",M5n="org.eclipse.elk.progressBar",S5n="org.eclipse.elk.validateGraph",P5n="org.eclipse.elk.validateOptions",I5n="org.eclipse.elk.zoomToFit",C5n="org.eclipse.elk.font.name",O5n="org.eclipse.elk.font.size",A5n="org.eclipse.elk.edge.type",$5n="partitioning",L5n="nodeLabels",N5n="portAlignment",x5n="nodeSize",D5n="port",R5n="portLabels",K5n="insideSelfLoops",_5n="org.eclipse.elk.fixed",F5n="org.eclipse.elk.random",B5n="port must have a parent node to calculate the port side",H5n="The edge needs to have exactly one edge section. Found: ",q5n="org.eclipse.elk.core.util.adapters",G5n="org.eclipse.emf.ecore",z5n="org.eclipse.elk.graph",U5n="EMapPropertyHolder",X5n="ElkBendPoint",W5n="ElkGraphElement",V5n="ElkConnectableShape",Q5n="ElkEdge",Y5n="ElkEdgeSection",J5n="EModelElement",Z5n="ENamedElement",n6n="ElkLabel",t6n="ElkNode",e6n="ElkPort",i6n={92:1,90:1},r6n="org.eclipse.emf.common.notify.impl",c6n="The feature '",a6n="' is not a valid changeable feature",u6n="Expecting null",o6n="' is not a valid feature",s6n="The feature ID",h6n=" is not a valid feature ID",f6n=32768,l6n={105:1,92:1,90:1,56:1,49:1,97:1},b6n="org.eclipse.emf.ecore.impl",w6n="org.eclipse.elk.graph.impl",d6n="Recursive containment not allowed for ",g6n="The datatype '",p6n="' is not a valid classifier",v6n="The value '",m6n={190:1,3:1,4:1},y6n="The class '",k6n="http://www.eclipse.org/elk/ElkGraph",j6n=1024,E6n="property",T6n="value",M6n="source",S6n="properties",P6n="identifier",I6n="height",C6n="width",O6n="parent",A6n="text",$6n="children",L6n="hierarchical",N6n="sources",x6n="targets",D6n="sections",R6n="bendPoints",K6n="outgoingShape",_6n="incomingShape",F6n="outgoingSections",B6n="incomingSections",H6n="org.eclipse.emf.common.util",q6n="Severe implementation error in the Json to ElkGraph importer.",G6n="id",z6n="org.eclipse.elk.graph.json",U6n="Unhandled parameter types: ",X6n="startPoint",W6n="An edge must have at least one source and one target (edge id: '",V6n="').",Q6n="Referenced edge section does not exist: ",Y6n=" (edge id: '",J6n="target",Z6n="sourcePoint",n8n="targetPoint",t8n="group",e8n="name",i8n="connectableShape cannot be null",r8n="edge cannot be null",c8n="Passed edge is not 'simple'.",a8n="org.eclipse.elk.graph.util",u8n="The 'no duplicates' constraint is violated",o8n="targetIndex=",s8n=", size=",h8n="sourceIndex=",f8n={3:1,4:1,20:1,28:1,52:1,14:1,15:1,54:1,67:1,63:1,58:1},l8n={3:1,4:1,20:1,28:1,52:1,14:1,47:1,15:1,54:1,67:1,63:1,58:1,588:1},b8n="logging",w8n="measureExecutionTime",d8n="parser.parse.1",g8n="parser.parse.2",p8n="parser.next.1",v8n="parser.next.2",m8n="parser.next.3",y8n="parser.next.4",k8n="parser.factor.1",j8n="parser.factor.2",E8n="parser.factor.3",T8n="parser.factor.4",M8n="parser.factor.5",S8n="parser.factor.6",P8n="parser.atom.1",I8n="parser.atom.2",C8n="parser.atom.3",O8n="parser.atom.4",A8n="parser.atom.5",$8n="parser.cc.1",L8n="parser.cc.2",N8n="parser.cc.3",x8n="parser.cc.5",D8n="parser.cc.6",R8n="parser.cc.7",K8n="parser.cc.8",_8n="parser.ope.1",F8n="parser.ope.2",B8n="parser.ope.3",H8n="parser.descape.1",q8n="parser.descape.2",G8n="parser.descape.3",z8n="parser.descape.4",U8n="parser.descape.5",X8n="parser.process.1",W8n="parser.quantifier.1",V8n="parser.quantifier.2",Q8n="parser.quantifier.3",Y8n="parser.quantifier.4",J8n="parser.quantifier.5",Z8n="org.eclipse.emf.common.notify",n9n={415:1,672:1},t9n={3:1,4:1,20:1,28:1,52:1,14:1,15:1,67:1,58:1},e9n={366:1,143:1},i9n="index=",r9n={3:1,4:1,5:1,126:1},c9n={3:1,4:1,20:1,28:1,52:1,14:1,15:1,54:1,67:1,58:1},a9n={3:1,6:1,4:1,5:1,192:1},u9n={3:1,4:1,5:1,165:1,367:1},o9n=";/?:@&=+$,",s9n="invalid authority: ",h9n="EAnnotation",f9n="ETypedElement",l9n="EStructuralFeature",b9n="EAttribute",w9n="EClassifier",d9n="EEnumLiteral",g9n="EGenericType",p9n="EOperation",v9n="EParameter",m9n="EReference",y9n="ETypeParameter",k9n="org.eclipse.emf.ecore.util",j9n={76:1},E9n={3:1,20:1,14:1,15:1,58:1,589:1,76:1,69:1,95:1},T9n="org.eclipse.emf.ecore.util.FeatureMap$Entry",M9n=8192,S9n=2048,P9n="byte",I9n="char",C9n="double",O9n="float",A9n="int",$9n="long",L9n="short",N9n="java.lang.Object",x9n={3:1,4:1,5:1,247:1},D9n={3:1,4:1,5:1,673:1},R9n={3:1,4:1,20:1,28:1,52:1,14:1,15:1,54:1,67:1,63:1,58:1,69:1},K9n={3:1,4:1,20:1,28:1,52:1,14:1,15:1,54:1,67:1,63:1,58:1,76:1,69:1,95:1},_9n="mixed",F9n="http:///org/eclipse/emf/ecore/util/ExtendedMetaData",B9n="kind",H9n={3:1,4:1,5:1,674:1},q9n={3:1,4:1,20:1,28:1,52:1,14:1,15:1,67:1,58:1,76:1,69:1,95:1},G9n={20:1,28:1,52:1,14:1,15:1,58:1,69:1},z9n={47:1,125:1,279:1},U9n={72:1,332:1},X9n="The value of type '",W9n="' must be of type '",V9n=1316,Q9n="http://www.eclipse.org/emf/2002/Ecore",Y9n=-32768,J9n="constraints",Z9n="baseType",n7n="getEStructuralFeature",t7n="getFeatureID",e7n="feature",i7n="getOperationID",r7n="operation",c7n="defaultValue",a7n="eTypeParameters",u7n="isInstance",o7n="getEEnumLiteral",s7n="eContainingClass",h7n={55:1},f7n={3:1,4:1,5:1,119:1},l7n="org.eclipse.emf.ecore.resource",b7n={92:1,90:1,591:1,1935:1},w7n="org.eclipse.emf.ecore.resource.impl",d7n="unspecified",g7n="simple",p7n="attribute",v7n="attributeWildcard",m7n="element",y7n="elementWildcard",k7n="collapse",j7n="itemType",E7n="namespace",T7n="##targetNamespace",M7n="whiteSpace",S7n="wildcards",P7n="http://www.eclipse.org/emf/2003/XMLType",I7n="##any",C7n="uninitialized",O7n="The multiplicity constraint is violated",A7n="org.eclipse.emf.ecore.xml.type",$7n="ProcessingInstruction",L7n="SimpleAnyType",N7n="XMLTypeDocumentRoot",x7n="org.eclipse.emf.ecore.xml.type.impl",D7n="INF",R7n="processing",K7n="ENTITIES_._base",_7n="minLength",F7n="ENTITY",B7n="NCName",H7n="IDREFS_._base",q7n="integer",G7n="token",z7n="pattern",U7n="[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*",X7n="\\i\\c*",W7n="[\\i-[:]][\\c-[:]]*",V7n="nonPositiveInteger",Q7n="maxInclusive",Y7n="NMTOKEN",J7n="NMTOKENS_._base",Z7n="nonNegativeInteger",nnt="minInclusive",tnt="normalizedString",ent="unsignedByte",int="unsignedInt",rnt="18446744073709551615",cnt="unsignedShort",ant="processingInstruction",unt="org.eclipse.emf.ecore.xml.type.internal",ont=1114111,snt="Internal Error: shorthands: \\u",hnt="xml:isDigit",fnt="xml:isWord",lnt="xml:isSpace",bnt="xml:isNameChar",wnt="xml:isInitialNameChar",dnt="09\u0660\u0669\u06f0\u06f9\u0966\u096f\u09e6\u09ef\u0a66\u0a6f\u0ae6\u0aef\u0b66\u0b6f\u0be7\u0bef\u0c66\u0c6f\u0ce6\u0cef\u0d66\u0d6f\u0e50\u0e59\u0ed0\u0ed9\u0f20\u0f29",gnt="AZaz\xc0\xd6\xd8\xf6\xf8\u0131\u0134\u013e\u0141\u0148\u014a\u017e\u0180\u01c3\u01cd\u01f0\u01f4\u01f5\u01fa\u0217\u0250\u02a8\u02bb\u02c1\u0386\u0386\u0388\u038a\u038c\u038c\u038e\u03a1\u03a3\u03ce\u03d0\u03d6\u03da\u03da\u03dc\u03dc\u03de\u03de\u03e0\u03e0\u03e2\u03f3\u0401\u040c\u040e\u044f\u0451\u045c\u045e\u0481\u0490\u04c4\u04c7\u04c8\u04cb\u04cc\u04d0\u04eb\u04ee\u04f5\u04f8\u04f9\u0531\u0556\u0559\u0559\u0561\u0586\u05d0\u05ea\u05f0\u05f2\u0621\u063a\u0641\u064a\u0671\u06b7\u06ba\u06be\u06c0\u06ce\u06d0\u06d3\u06d5\u06d5\u06e5\u06e6\u0905\u0939\u093d\u093d\u0958\u0961\u0985\u098c\u098f\u0990\u0993\u09a8\u09aa\u09b0\u09b2\u09b2\u09b6\u09b9\u09dc\u09dd\u09df\u09e1\u09f0\u09f1\u0a05\u0a0a\u0a0f\u0a10\u0a13\u0a28\u0a2a\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59\u0a5c\u0a5e\u0a5e\u0a72\u0a74\u0a85\u0a8b\u0a8d\u0a8d\u0a8f\u0a91\u0a93\u0aa8\u0aaa\u0ab0\u0ab2\u0ab3\u0ab5\u0ab9\u0abd\u0abd\u0ae0\u0ae0\u0b05\u0b0c\u0b0f\u0b10\u0b13\u0b28\u0b2a\u0b30\u0b32\u0b33\u0b36\u0b39\u0b3d\u0b3d\u0b5c\u0b5d\u0b5f\u0b61\u0b85\u0b8a\u0b8e\u0b90\u0b92\u0b95\u0b99\u0b9a\u0b9c\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8\u0baa\u0bae\u0bb5\u0bb7\u0bb9\u0c05\u0c0c\u0c0e\u0c10\u0c12\u0c28\u0c2a\u0c33\u0c35\u0c39\u0c60\u0c61\u0c85\u0c8c\u0c8e\u0c90\u0c92\u0ca8\u0caa\u0cb3\u0cb5\u0cb9\u0cde\u0cde\u0ce0\u0ce1\u0d05\u0d0c\u0d0e\u0d10\u0d12\u0d28\u0d2a\u0d39\u0d60\u0d61\u0e01\u0e2e\u0e30\u0e30\u0e32\u0e33\u0e40\u0e45\u0e81\u0e82\u0e84\u0e84\u0e87\u0e88\u0e8a\u0e8a\u0e8d\u0e8d\u0e94\u0e97\u0e99\u0e9f\u0ea1\u0ea3\u0ea5\u0ea5\u0ea7\u0ea7\u0eaa\u0eab\u0ead\u0eae\u0eb0\u0eb0\u0eb2\u0eb3\u0ebd\u0ebd\u0ec0\u0ec4\u0f40\u0f47\u0f49\u0f69\u10a0\u10c5\u10d0\u10f6\u1100\u1100\u1102\u1103\u1105\u1107\u1109\u1109\u110b\u110c\u110e\u1112\u113c\u113c\u113e\u113e\u1140\u1140\u114c\u114c\u114e\u114e\u1150\u1150\u1154\u1155\u1159\u1159\u115f\u1161\u1163\u1163\u1165\u1165\u1167\u1167\u1169\u1169\u116d\u116e\u1172\u1173\u1175\u1175\u119e\u119e\u11a8\u11a8\u11ab\u11ab\u11ae\u11af\u11b7\u11b8\u11ba\u11ba\u11bc\u11c2\u11eb\u11eb\u11f0\u11f0\u11f9\u11f9\u1e00\u1e9b\u1ea0\u1ef9\u1f00\u1f15\u1f18\u1f1d\u1f20\u1f45\u1f48\u1f4d\u1f50\u1f57\u1f59\u1f59\u1f5b\u1f5b\u1f5d\u1f5d\u1f5f\u1f7d\u1f80\u1fb4\u1fb6\u1fbc\u1fbe\u1fbe\u1fc2\u1fc4\u1fc6\u1fcc\u1fd0\u1fd3\u1fd6\u1fdb\u1fe0\u1fec\u1ff2\u1ff4\u1ff6\u1ffc\u2126\u2126\u212a\u212b\u212e\u212e\u2180\u2182\u3007\u3007\u3021\u3029\u3041\u3094\u30a1\u30fa\u3105\u312c\u4e00\u9fa5\uac00\ud7a3",pnt="Private Use",vnt="ASSIGNED",mnt="\0\x7f\x80\xff\u0100\u017f\u0180\u024f\u0250\u02af\u02b0\u02ff\u0300\u036f\u0370\u03ff\u0400\u04ff\u0530\u058f\u0590\u05ff\u0600\u06ff\u0700\u074f\u0780\u07bf\u0900\u097f\u0980\u09ff\u0a00\u0a7f\u0a80\u0aff\u0b00\u0b7f\u0b80\u0bff\u0c00\u0c7f\u0c80\u0cff\u0d00\u0d7f\u0d80\u0dff\u0e00\u0e7f\u0e80\u0eff\u0f00\u0fff\u1000\u109f\u10a0\u10ff\u1100\u11ff\u1200\u137f\u13a0\u13ff\u1400\u167f\u1680\u169f\u16a0\u16ff\u1780\u17ff\u1800\u18af\u1e00\u1eff\u1f00\u1fff\u2000\u206f\u2070\u209f\u20a0\u20cf\u20d0\u20ff\u2100\u214f\u2150\u218f\u2190\u21ff\u2200\u22ff\u2300\u23ff\u2400\u243f\u2440\u245f\u2460\u24ff\u2500\u257f\u2580\u259f\u25a0\u25ff\u2600\u26ff\u2700\u27bf\u2800\u28ff\u2e80\u2eff\u2f00\u2fdf\u2ff0\u2fff\u3000\u303f\u3040\u309f\u30a0\u30ff\u3100\u312f\u3130\u318f\u3190\u319f\u31a0\u31bf\u3200\u32ff\u3300\u33ff\u3400\u4db5\u4e00\u9fff\ua000\ua48f\ua490\ua4cf\uac00\ud7a3\ue000\uf8ff\uf900\ufaff\ufb00\ufb4f\ufb50\ufdff\ufe20\ufe2f\ufe30\ufe4f\ufe50\ufe6f\ufe70\ufefe\ufeff\ufeff\uff00\uffef",ynt="UNASSIGNED",knt={3:1,117:1},jnt="org.eclipse.emf.ecore.xml.type.util",Ent={3:1,4:1,5:1,368:1},Tnt="org.eclipse.xtext.xbase.lib",Mnt="Cannot add elements to a Range",Snt="Cannot set elements in a Range",Pnt="Cannot remove elements from a Range",Int="locale",Cnt="default",Ont="user.agent";e.goog=e.goog||{},e.goog.global=e.goog.global||e,VMn(),dAn(1,null,{},c),SWn.Fb=function(n){return BO(this,n)},SWn.Gb=function(){return this.gm},SWn.Hb=function(){return IN(this)},SWn.Ib=function(){return tE(esn(this))+"@"+(tsn(this)>>>0).toString(16)},SWn.equals=function(n){return this.Fb(n)},SWn.hashCode=function(){return this.Hb()},SWn.toString=function(){return this.Ib()},dAn(290,1,{290:1,2026:1},von),SWn.le=function(n){var t;return(t=new von).i=4,t.c=n>1?pZ(this,n-1):this,t},SWn.me=function(){return TD(this),this.b},SWn.ne=function(){return tE(this)},SWn.oe=function(){return TD(this),this.k},SWn.pe=function(){return 0!=(4&this.i)},SWn.qe=function(){return 0!=(1&this.i)},SWn.Ib=function(){return otn(this)},SWn.i=0;var Ant,$nt=mX(KWn,"Object",1),Lnt=mX(KWn,"Class",290);dAn(1998,1,_Wn),mX(FWn,"Optional",1998),dAn(1170,1998,_Wn,a),SWn.Fb=function(n){return n===this},SWn.Hb=function(){return 2040732332},SWn.Ib=function(){return"Optional.absent()"},SWn.Jb=function(n){return kX(n),ry(),Ant},mX(FWn,"Absent",1170),dAn(628,1,{},yk),mX(FWn,"Joiner",628);var Nnt=wq(FWn,"Predicate");dAn(582,1,{169:1,582:1,3:1,45:1},qf),SWn.Mb=function(n){return _on(this,n)},SWn.Lb=function(n){return _on(this,n)},SWn.Fb=function(n){var t;return!!aL(n,582)&&(t=HB(n,582),xAn(this.a,t.a))},SWn.Hb=function(){return Bon(this.a)+306654252},SWn.Ib=function(){return dPn(this.a)},mX(FWn,"Predicates/AndPredicate",582),dAn(408,1998,{408:1,3:1},Gf),SWn.Fb=function(n){var t;return!!aL(n,408)&&(t=HB(n,408),xfn(this.a,t.a))},SWn.Hb=function(){return 1502476572+tsn(this.a)},SWn.Ib=function(){return zWn+this.a+")"},SWn.Jb=function(n){return new Gf(VQ(n.Kb(this.a),"the Function passed to Optional.transform() must not return null."))},mX(FWn,"Present",408),dAn(198,1,XWn),SWn.Nb=function(n){lU(this,n)},SWn.Qb=function(){wk()},mX(WWn,"UnmodifiableIterator",198),dAn(1978,198,VWn),SWn.Qb=function(){wk()},SWn.Rb=function(n){throw qp(new vv)},SWn.Wb=function(n){throw qp(new vv)},mX(WWn,"UnmodifiableListIterator",1978),dAn(386,1978,VWn),SWn.Ob=function(){return this.c0},SWn.Pb=function(){if(this.c>=this.d)throw qp(new kv);return this.Xb(this.c++)},SWn.Tb=function(){return this.c},SWn.Ub=function(){if(this.c<=0)throw qp(new kv);return this.Xb(--this.c)},SWn.Vb=function(){return this.c-1},SWn.c=0,SWn.d=0,mX(WWn,"AbstractIndexedListIterator",386),dAn(699,198,XWn),SWn.Ob=function(){return nrn(this)},SWn.Pb=function(){return I7(this)},SWn.e=1,mX(WWn,"AbstractIterator",699),dAn(1986,1,{224:1}),SWn.Zb=function(){return this.f||(this.f=this.ac())},SWn.Fb=function(n){return Esn(this,n)},SWn.Hb=function(){return tsn(this.Zb())},SWn.dc=function(){return 0==this.gc()},SWn.ec=function(){return pz(this)},SWn.Ib=function(){return Hbn(this.Zb())},mX(WWn,"AbstractMultimap",1986),dAn(726,1986,QWn),SWn.$b=function(){din(this)},SWn._b=function(n){return Vj(this,n)},SWn.ac=function(){return new vT(this,this.c)},SWn.ic=function(n){return this.hc()},SWn.bc=function(){return new qL(this,this.c)},SWn.jc=function(){return this.mc(this.hc())},SWn.kc=function(){return new qm(this)},SWn.lc=function(){return GTn(this.c.vc().Nc(),new o,64,this.d)},SWn.cc=function(n){return f6(this,n)},SWn.fc=function(n){return xhn(this,n)},SWn.gc=function(){return this.d},SWn.mc=function(n){return PQ(),new qb(n)},SWn.nc=function(){return new Hm(this)},SWn.oc=function(){return GTn(this.c.Cc().Nc(),new u,64,this.d)},SWn.pc=function(n,t){return new V6(this,n,t,null)},SWn.d=0,mX(WWn,"AbstractMapBasedMultimap",726),dAn(1631,726,QWn),SWn.hc=function(){return new Z6(this.a)},SWn.jc=function(){return PQ(),PQ(),het},SWn.cc=function(n){return HB(f6(this,n),15)},SWn.fc=function(n){return HB(xhn(this,n),15)},SWn.Zb=function(){return AQ(this)},SWn.Fb=function(n){return Esn(this,n)},SWn.qc=function(n){return HB(f6(this,n),15)},SWn.rc=function(n){return HB(xhn(this,n),15)},SWn.mc=function(n){return cY(HB(n,15))},SWn.pc=function(n,t){return r3(this,n,HB(t,15),null)},mX(WWn,"AbstractListMultimap",1631),dAn(732,1,YWn),SWn.Nb=function(n){lU(this,n)},SWn.Ob=function(){return this.c.Ob()||this.e.Ob()},SWn.Pb=function(){var n;return this.e.Ob()||(n=HB(this.c.Pb(),42),this.b=n.cd(),this.a=HB(n.dd(),14),this.e=this.a.Kc()),this.sc(this.b,this.e.Pb())},SWn.Qb=function(){this.e.Qb(),this.a.dc()&&this.c.Qb(),--this.d.d},mX(WWn,"AbstractMapBasedMultimap/Itr",732),dAn(1099,732,YWn,Hm),SWn.sc=function(n,t){return t},mX(WWn,"AbstractMapBasedMultimap/1",1099),dAn(1100,1,{},u),SWn.Kb=function(n){return HB(n,14).Nc()},mX(WWn,"AbstractMapBasedMultimap/1methodref$spliterator$Type",1100),dAn(1101,732,YWn,qm),SWn.sc=function(n,t){return new mT(n,t)},mX(WWn,"AbstractMapBasedMultimap/2",1101);var xnt=wq(JWn,"Map");dAn(1967,1,ZWn),SWn.wc=function(n){tan(this,n)},SWn.yc=function(n,t,e){return nbn(this,n,t,e)},SWn.$b=function(){this.vc().$b()},SWn.tc=function(n){return Smn(this,n)},SWn._b=function(n){return!!BEn(this,n,!1)},SWn.uc=function(n){var t,e;for(t=this.vc().Kc();t.Ob();)if(e=HB(t.Pb(),42).dd(),zC(n)===zC(e)||null!=n&&xfn(n,e))return!0;return!1},SWn.Fb=function(n){var t,e,i;if(n===this)return!0;if(!aL(n,83))return!1;if(i=HB(n,83),this.gc()!=i.gc())return!1;for(e=i.vc().Kc();e.Ob();)if(t=HB(e.Pb(),42),!this.tc(t))return!1;return!0},SWn.xc=function(n){return GC(BEn(this,n,!1))},SWn.Hb=function(){return qun(this.vc())},SWn.dc=function(){return 0==this.gc()},SWn.ec=function(){return new Cb(this)},SWn.zc=function(n,t){throw qp(new ek("Put not supported on this map"))},SWn.Ac=function(n){Mcn(this,n)},SWn.Bc=function(n){return GC(BEn(this,n,!0))},SWn.gc=function(){return this.vc().gc()},SWn.Ib=function(){return tTn(this)},SWn.Cc=function(){return new Ab(this)},mX(JWn,"AbstractMap",1967),dAn(1987,1967,ZWn),SWn.bc=function(){return new PT(this)},SWn.vc=function(){return gz(this)},SWn.ec=function(){return this.g||(this.g=this.bc())},SWn.Cc=function(){return this.i||(this.i=new IT(this))},mX(WWn,"Maps/ViewCachingAbstractMap",1987),dAn(389,1987,ZWn,vT),SWn.xc=function(n){return jtn(this,n)},SWn.Bc=function(n){return nhn(this,n)},SWn.$b=function(){this.d==this.e.c?this.e.$b():Cq(new Aq(this))},SWn._b=function(n){return pfn(this.d,n)},SWn.Ec=function(){return new Wf(this)},SWn.Dc=function(){return this.Ec()},SWn.Fb=function(n){return this===n||xfn(this.d,n)},SWn.Hb=function(){return tsn(this.d)},SWn.ec=function(){return this.e.ec()},SWn.gc=function(){return this.d.gc()},SWn.Ib=function(){return Hbn(this.d)},mX(WWn,"AbstractMapBasedMultimap/AsMap",389);var Dnt=wq(KWn,"Iterable");dAn(28,1,nVn),SWn.Jc=function(n){i5(this,n)},SWn.Lc=function(){return this.Oc()},SWn.Nc=function(){return new d1(this,0)},SWn.Oc=function(){return new Kq(null,this.Nc())},SWn.Fc=function(n){throw qp(new ek("Add not supported on this collection"))},SWn.Gc=function(n){return Brn(this,n)},SWn.$b=function(){MV(this)},SWn.Hc=function(n){return kwn(this,n,!1)},SWn.Ic=function(n){return sun(this,n)},SWn.dc=function(){return 0==this.gc()},SWn.Mc=function(n){return kwn(this,n,!0)},SWn.Pc=function(){return az(this)},SWn.Qc=function(n){return Tmn(this,n)},SWn.Ib=function(){return NMn(this)},mX(JWn,"AbstractCollection",28);var Rnt=wq(JWn,"Set");dAn(tVn,28,eVn),SWn.Nc=function(){return new d1(this,1)},SWn.Fb=function(n){return rgn(this,n)},SWn.Hb=function(){return qun(this)},mX(JWn,"AbstractSet",tVn),dAn(1970,tVn,eVn),mX(WWn,"Sets/ImprovedAbstractSet",1970),dAn(1971,1970,eVn),SWn.$b=function(){this.Rc().$b()},SWn.Hc=function(n){return rdn(this,n)},SWn.dc=function(){return this.Rc().dc()},SWn.Mc=function(n){var t;return!!this.Hc(n)&&(t=HB(n,42),this.Rc().ec().Mc(t.cd()))},SWn.gc=function(){return this.Rc().gc()},mX(WWn,"Maps/EntrySet",1971),dAn(1097,1971,eVn,Wf),SWn.Hc=function(n){return dfn(this.a.d.vc(),n)},SWn.Kc=function(){return new Aq(this.a)},SWn.Rc=function(){return this.a},SWn.Mc=function(n){var t;return!!dfn(this.a.d.vc(),n)&&(t=HB(n,42),q5(this.a.e,t.cd()),!0)},SWn.Nc=function(){return KB(this.a.d.vc().Nc(),new Vf(this.a))},mX(WWn,"AbstractMapBasedMultimap/AsMap/AsMapEntries",1097),dAn(1098,1,{},Vf),SWn.Kb=function(n){return r5(this.a,HB(n,42))},mX(WWn,"AbstractMapBasedMultimap/AsMap/AsMapEntries/0methodref$wrapEntry$Type",1098),dAn(730,1,YWn,Aq),SWn.Nb=function(n){lU(this,n)},SWn.Pb=function(){var n;return n=HB(this.b.Pb(),42),this.a=HB(n.dd(),14),r5(this.c,n)},SWn.Ob=function(){return this.b.Ob()},SWn.Qb=function(){fan(!!this.a),this.b.Qb(),this.c.e.d-=this.a.gc(),this.a.$b(),this.a=null},mX(WWn,"AbstractMapBasedMultimap/AsMap/AsMapIterator",730),dAn(532,1970,eVn,PT),SWn.$b=function(){this.b.$b()},SWn.Hc=function(n){return this.b._b(n)},SWn.Jc=function(n){kX(n),this.b.wc(new ml(n))},SWn.dc=function(){return this.b.dc()},SWn.Kc=function(){return new by(this.b.vc().Kc())},SWn.Mc=function(n){return!!this.b._b(n)&&(this.b.Bc(n),!0)},SWn.gc=function(){return this.b.gc()},mX(WWn,"Maps/KeySet",532),dAn(318,532,eVn,qL),SWn.$b=function(){Cq(new iT(this,this.b.vc().Kc()))},SWn.Ic=function(n){return this.b.ec().Ic(n)},SWn.Fb=function(n){return this===n||xfn(this.b.ec(),n)},SWn.Hb=function(){return tsn(this.b.ec())},SWn.Kc=function(){return new iT(this,this.b.vc().Kc())},SWn.Mc=function(n){var t,e;return e=0,(t=HB(this.b.Bc(n),14))&&(e=t.gc(),t.$b(),this.a.d-=e),e>0},SWn.Nc=function(){return this.b.ec().Nc()},mX(WWn,"AbstractMapBasedMultimap/KeySet",318),dAn(731,1,YWn,iT),SWn.Nb=function(n){lU(this,n)},SWn.Ob=function(){return this.c.Ob()},SWn.Pb=function(){return this.a=HB(this.c.Pb(),42),this.a.cd()},SWn.Qb=function(){var n;fan(!!this.a),n=HB(this.a.dd(),14),this.c.Qb(),this.b.a.d-=n.gc(),n.$b(),this.a=null},mX(WWn,"AbstractMapBasedMultimap/KeySet/1",731),dAn(491,389,{83:1,161:1},CD),SWn.bc=function(){return this.Sc()},SWn.ec=function(){return this.Tc()},SWn.Sc=function(){return new tT(this.c,this.Uc())},SWn.Tc=function(){return this.b||(this.b=this.Sc())},SWn.Uc=function(){return HB(this.d,161)},mX(WWn,"AbstractMapBasedMultimap/SortedAsMap",491),dAn(542,491,iVn,OD),SWn.bc=function(){return new eT(this.a,HB(HB(this.d,161),171))},SWn.Sc=function(){return new eT(this.a,HB(HB(this.d,161),171))},SWn.ec=function(){return HB(this.b||(this.b=new eT(this.a,HB(HB(this.d,161),171))),271)},SWn.Tc=function(){return HB(this.b||(this.b=new eT(this.a,HB(HB(this.d,161),171))),271)},SWn.Uc=function(){return HB(HB(this.d,161),171)},mX(WWn,"AbstractMapBasedMultimap/NavigableAsMap",542),dAn(490,318,rVn,tT),SWn.Nc=function(){return this.b.ec().Nc()},mX(WWn,"AbstractMapBasedMultimap/SortedKeySet",490),dAn(388,490,cVn,eT),mX(WWn,"AbstractMapBasedMultimap/NavigableKeySet",388),dAn(541,28,nVn,V6),SWn.Fc=function(n){var t,e;return Ubn(this),e=this.d.dc(),(t=this.d.Fc(n))&&(++this.f.d,e&&ER(this)),t},SWn.Gc=function(n){var t,e,i;return!n.dc()&&(Ubn(this),i=this.d.gc(),(t=this.d.Gc(n))&&(e=this.d.gc(),this.f.d+=e-i,0==i&&ER(this)),t)},SWn.$b=function(){var n;Ubn(this),0!=(n=this.d.gc())&&(this.d.$b(),this.f.d-=n,LG(this))},SWn.Hc=function(n){return Ubn(this),this.d.Hc(n)},SWn.Ic=function(n){return Ubn(this),this.d.Ic(n)},SWn.Fb=function(n){return n===this||(Ubn(this),xfn(this.d,n))},SWn.Hb=function(){return Ubn(this),tsn(this.d)},SWn.Kc=function(){return Ubn(this),new YB(this)},SWn.Mc=function(n){var t;return Ubn(this),(t=this.d.Mc(n))&&(--this.f.d,LG(this)),t},SWn.gc=function(){return eO(this)},SWn.Nc=function(){return Ubn(this),this.d.Nc()},SWn.Ib=function(){return Ubn(this),Hbn(this.d)},mX(WWn,"AbstractMapBasedMultimap/WrappedCollection",541);var Knt=wq(JWn,"List");dAn(728,541,{20:1,28:1,14:1,15:1},hz),SWn.ad=function(n){Frn(this,n)},SWn.Nc=function(){return Ubn(this),this.d.Nc()},SWn.Vc=function(n,t){var e;Ubn(this),e=this.d.dc(),HB(this.d,15).Vc(n,t),++this.a.d,e&&ER(this)},SWn.Wc=function(n,t){var e,i,r;return!t.dc()&&(Ubn(this),r=this.d.gc(),(e=HB(this.d,15).Wc(n,t))&&(i=this.d.gc(),this.a.d+=i-r,0==r&&ER(this)),e)},SWn.Xb=function(n){return Ubn(this),HB(this.d,15).Xb(n)},SWn.Xc=function(n){return Ubn(this),HB(this.d,15).Xc(n)},SWn.Yc=function(){return Ubn(this),new p$(this)},SWn.Zc=function(n){return Ubn(this),new pQ(this,n)},SWn.$c=function(n){var t;return Ubn(this),t=HB(this.d,15).$c(n),--this.a.d,LG(this),t},SWn._c=function(n,t){return Ubn(this),HB(this.d,15)._c(n,t)},SWn.bd=function(n,t){return Ubn(this),r3(this.a,this.e,HB(this.d,15).bd(n,t),this.b?this.b:this)},mX(WWn,"AbstractMapBasedMultimap/WrappedList",728),dAn(1096,728,{20:1,28:1,14:1,15:1,54:1},Ax),mX(WWn,"AbstractMapBasedMultimap/RandomAccessWrappedList",1096),dAn(620,1,YWn,YB),SWn.Nb=function(n){lU(this,n)},SWn.Ob=function(){return SV(this),this.b.Ob()},SWn.Pb=function(){return SV(this),this.b.Pb()},SWn.Qb=function(){iN(this)},mX(WWn,"AbstractMapBasedMultimap/WrappedCollection/WrappedIterator",620),dAn(729,620,aVn,p$,pQ),SWn.Qb=function(){iN(this)},SWn.Rb=function(n){var t;t=0==eO(this.a),(SV(this),HB(this.b,125)).Rb(n),++this.a.a.d,t&&ER(this.a)},SWn.Sb=function(){return(SV(this),HB(this.b,125)).Sb()},SWn.Tb=function(){return(SV(this),HB(this.b,125)).Tb()},SWn.Ub=function(){return(SV(this),HB(this.b,125)).Ub()},SWn.Vb=function(){return(SV(this),HB(this.b,125)).Vb()},SWn.Wb=function(n){(SV(this),HB(this.b,125)).Wb(n)},mX(WWn,"AbstractMapBasedMultimap/WrappedList/WrappedListIterator",729),dAn(727,541,rVn,xD),SWn.Nc=function(){return Ubn(this),this.d.Nc()},mX(WWn,"AbstractMapBasedMultimap/WrappedSortedSet",727),dAn(1095,727,cVn,$A),mX(WWn,"AbstractMapBasedMultimap/WrappedNavigableSet",1095),dAn(1094,541,eVn,DD),SWn.Nc=function(){return Ubn(this),this.d.Nc()},mX(WWn,"AbstractMapBasedMultimap/WrappedSet",1094),dAn(1103,1,{},o),SWn.Kb=function(n){return B6(HB(n,42))},mX(WWn,"AbstractMapBasedMultimap/lambda$1$Type",1103),dAn(1102,1,{},Qf),SWn.Kb=function(n){return new mT(this.a,n)},mX(WWn,"AbstractMapBasedMultimap/lambda$2$Type",1102);var _nt,Fnt,Bnt,Hnt,qnt=wq(JWn,"Map/Entry");dAn(345,1,uVn),SWn.Fb=function(n){var t;return!!aL(n,42)&&(t=HB(n,42),dW(this.cd(),t.cd())&&dW(this.dd(),t.dd()))},SWn.Hb=function(){var n,t;return n=this.cd(),t=this.dd(),(null==n?0:tsn(n))^(null==t?0:tsn(t))},SWn.ed=function(n){throw qp(new vv)},SWn.Ib=function(){return this.cd()+"="+this.dd()},mX(WWn,oVn,345),dAn(1988,28,nVn),SWn.$b=function(){this.fd().$b()},SWn.Hc=function(n){var t;return!!aL(n,42)&&(t=HB(n,42),q0(this.fd(),t.cd(),t.dd()))},SWn.Mc=function(n){var t;return!!aL(n,42)&&(t=HB(n,42),G0(this.fd(),t.cd(),t.dd()))},SWn.gc=function(){return this.fd().d},mX(WWn,"Multimaps/Entries",1988),dAn(733,1988,nVn,Yf),SWn.Kc=function(){return this.a.kc()},SWn.fd=function(){return this.a},SWn.Nc=function(){return this.a.lc()},mX(WWn,"AbstractMultimap/Entries",733),dAn(734,733,eVn,Gm),SWn.Nc=function(){return this.a.lc()},SWn.Fb=function(n){return USn(this,n)},SWn.Hb=function(){return Hrn(this)},mX(WWn,"AbstractMultimap/EntrySet",734),dAn(735,28,nVn,Jf),SWn.$b=function(){this.a.$b()},SWn.Hc=function(n){return Osn(this.a,n)},SWn.Kc=function(){return this.a.nc()},SWn.gc=function(){return this.a.d},SWn.Nc=function(){return this.a.oc()},mX(WWn,"AbstractMultimap/Values",735),dAn(1989,28,{835:1,20:1,28:1,14:1}),SWn.Jc=function(n){kX(n),TV(this).Jc(new vl(n))},SWn.Nc=function(){var n;return GTn(n=TV(this).Nc(),new k,64|1296&n.qd(),this.a.d)},SWn.Fc=function(n){return dk(),!0},SWn.Gc=function(n){return kX(this),kX(n),aL(n,543)?b2(HB(n,835)):!n.dc()&&lnn(this,n.Kc())},SWn.Hc=function(n){var t;return((t=HB(bfn(AQ(this.a),n),14))?t.gc():0)>0},SWn.Fb=function(n){return f$n(this,n)},SWn.Hb=function(){return tsn(TV(this))},SWn.dc=function(){return TV(this).dc()},SWn.Mc=function(n){return TCn(this,n,1)>0},SWn.Ib=function(){return Hbn(TV(this))},mX(WWn,"AbstractMultiset",1989),dAn(1991,1970,eVn),SWn.$b=function(){din(this.a.a)},SWn.Hc=function(n){var t;return!(!aL(n,492)||(t=HB(n,416),HB(t.a.dd(),14).gc()<=0||a1(this.a,t.a.cd())!=HB(t.a.dd(),14).gc()))},SWn.Mc=function(n){var t,e,i;return!(!aL(n,492)||(t=(e=HB(n,416)).a.cd(),0==(i=HB(e.a.dd(),14).gc())))&&MCn(this.a,t,i)},mX(WWn,"Multisets/EntrySet",1991),dAn(1109,1991,eVn,Zf),SWn.Kc=function(){return new dy(gz(AQ(this.a.a)).Kc())},SWn.gc=function(){return AQ(this.a.a).gc()},mX(WWn,"AbstractMultiset/EntrySet",1109),dAn(619,726,QWn),SWn.hc=function(){return this.gd()},SWn.jc=function(){return this.hd()},SWn.cc=function(n){return this.jd(n)},SWn.fc=function(n){return this.kd(n)},SWn.Zb=function(){return this.f||(this.f=this.ac())},SWn.hd=function(){return PQ(),PQ(),bet},SWn.Fb=function(n){return Esn(this,n)},SWn.jd=function(n){return HB(f6(this,n),21)},SWn.kd=function(n){return HB(xhn(this,n),21)},SWn.mc=function(n){return PQ(),new $k(HB(n,21))},SWn.pc=function(n,t){return new DD(this,n,HB(t,21))},mX(WWn,"AbstractSetMultimap",619),dAn(1657,619,QWn),SWn.hc=function(){return new gE(this.b)},SWn.gd=function(){return new gE(this.b)},SWn.jc=function(){return OX(new gE(this.b))},SWn.hd=function(){return OX(new gE(this.b))},SWn.cc=function(n){return HB(HB(f6(this,n),21),84)},SWn.jd=function(n){return HB(HB(f6(this,n),21),84)},SWn.fc=function(n){return HB(HB(xhn(this,n),21),84)},SWn.kd=function(n){return HB(HB(xhn(this,n),21),84)},SWn.mc=function(n){return aL(n,271)?OX(HB(n,271)):(PQ(),new gN(HB(n,84)))},SWn.Zb=function(){return this.f||(this.f=aL(this.c,171)?new OD(this,HB(this.c,171)):aL(this.c,161)?new CD(this,HB(this.c,161)):new vT(this,this.c))},SWn.pc=function(n,t){return aL(t,271)?new $A(this,n,HB(t,271)):new xD(this,n,HB(t,84))},mX(WWn,"AbstractSortedSetMultimap",1657),dAn(1658,1657,QWn),SWn.Zb=function(){return HB(HB(this.f||(this.f=aL(this.c,171)?new OD(this,HB(this.c,171)):aL(this.c,161)?new CD(this,HB(this.c,161)):new vT(this,this.c)),161),171)},SWn.ec=function(){return HB(HB(this.i||(this.i=aL(this.c,171)?new eT(this,HB(this.c,171)):aL(this.c,161)?new tT(this,HB(this.c,161)):new qL(this,this.c)),84),271)},SWn.bc=function(){return aL(this.c,171)?new eT(this,HB(this.c,171)):aL(this.c,161)?new tT(this,HB(this.c,161)):new qL(this,this.c)},mX(WWn,"AbstractSortedKeySortedSetMultimap",1658),dAn(2010,1,{1947:1}),SWn.Fb=function(n){return Cjn(this,n)},SWn.Hb=function(){return qun(this.g||(this.g=new nl(this)))},SWn.Ib=function(){return tTn(this.f||(this.f=new XL(this)))},mX(WWn,"AbstractTable",2010),dAn(665,tVn,eVn,nl),SWn.$b=function(){gk()},SWn.Hc=function(n){var t,e;return!!aL(n,468)&&(t=HB(n,682),!!(e=HB(bfn(EX(this.a),VC(t.c.e,t.b)),83))&&dfn(e.vc(),new mT(VC(t.c.c,t.a),X6(t.c,t.b,t.a))))},SWn.Kc=function(){return nY(this.a)},SWn.Mc=function(n){var t,e;return!!aL(n,468)&&(t=HB(n,682),!!(e=HB(bfn(EX(this.a),VC(t.c.e,t.b)),83))&&gfn(e.vc(),new mT(VC(t.c.c,t.a),X6(t.c,t.b,t.a))))},SWn.gc=function(){return Uq(this.a)},SWn.Nc=function(){return I2(this.a)},mX(WWn,"AbstractTable/CellSet",665),dAn(1928,28,nVn,tl),SWn.$b=function(){gk()},SWn.Hc=function(n){return fTn(this.a,n)},SWn.Kc=function(){return tY(this.a)},SWn.gc=function(){return Uq(this.a)},SWn.Nc=function(){return J0(this.a)},mX(WWn,"AbstractTable/Values",1928),dAn(1632,1631,QWn),mX(WWn,"ArrayListMultimapGwtSerializationDependencies",1632),dAn(513,1632,QWn,sk,s1),SWn.hc=function(){return new Z6(this.a)},SWn.a=0,mX(WWn,"ArrayListMultimap",513),dAn(664,2010,{664:1,1947:1,3:1},mOn),mX(WWn,"ArrayTable",664),dAn(1924,386,VWn,GL),SWn.Xb=function(n){return new pon(this.a,n)},mX(WWn,"ArrayTable/1",1924),dAn(1925,1,{},zf),SWn.ld=function(n){return new pon(this.a,n)},mX(WWn,"ArrayTable/1methodref$getCell$Type",1925),dAn(2011,1,{682:1}),SWn.Fb=function(n){var t;return n===this||!!aL(n,468)&&(t=HB(n,682),dW(VC(this.c.e,this.b),VC(t.c.e,t.b))&&dW(VC(this.c.c,this.a),VC(t.c.c,t.a))&&dW(X6(this.c,this.b,this.a),X6(t.c,t.b,t.a)))},SWn.Hb=function(){return lhn(Iun(zk($nt,1),qWn,1,5,[VC(this.c.e,this.b),VC(this.c.c,this.a),X6(this.c,this.b,this.a)]))},SWn.Ib=function(){return"("+VC(this.c.e,this.b)+","+VC(this.c.c,this.a)+")="+X6(this.c,this.b,this.a)},mX(WWn,"Tables/AbstractCell",2011),dAn(468,2011,{468:1,682:1},pon),SWn.a=0,SWn.b=0,SWn.d=0,mX(WWn,"ArrayTable/2",468),dAn(1927,1,{},Uf),SWn.ld=function(n){return J9(this.a,n)},mX(WWn,"ArrayTable/2methodref$getValue$Type",1927),dAn(1926,386,VWn,zL),SWn.Xb=function(n){return J9(this.a,n)},mX(WWn,"ArrayTable/3",1926),dAn(1979,1967,ZWn),SWn.$b=function(){Cq(this.kc())},SWn.vc=function(){return new yl(this)},SWn.lc=function(){return new CV(this.kc(),this.gc())},mX(WWn,"Maps/IteratorBasedAbstractMap",1979),dAn(828,1979,ZWn),SWn.$b=function(){throw qp(new vv)},SWn._b=function(n){return Jj(this.c,n)},SWn.kc=function(){return new UL(this,this.c.b.c.gc())},SWn.lc=function(){return kq(this.c.b.c.gc(),16,new Xf(this))},SWn.xc=function(n){var t;return(t=HB(XK(this.c,n),19))?this.nd(t.a):null},SWn.dc=function(){return this.c.b.c.dc()},SWn.ec=function(){return wz(this.c)},SWn.zc=function(n,t){var e;if(!(e=HB(XK(this.c,n),19)))throw qp(new Fy(this.md()+" "+n+" not in "+wz(this.c)));return this.od(e.a,t)},SWn.Bc=function(n){throw qp(new vv)},SWn.gc=function(){return this.c.b.c.gc()},mX(WWn,"ArrayTable/ArrayMap",828),dAn(1923,1,{},Xf),SWn.ld=function(n){return AX(this.a,n)},mX(WWn,"ArrayTable/ArrayMap/0methodref$getEntry$Type",1923),dAn(1921,345,uVn,hT),SWn.cd=function(){return JL(this.a,this.b)},SWn.dd=function(){return this.a.nd(this.b)},SWn.ed=function(n){return this.a.od(this.b,n)},SWn.b=0,mX(WWn,"ArrayTable/ArrayMap/1",1921),dAn(1922,386,VWn,UL),SWn.Xb=function(n){return AX(this.a,n)},mX(WWn,"ArrayTable/ArrayMap/2",1922),dAn(1920,828,ZWn,aU),SWn.md=function(){return"Column"},SWn.nd=function(n){return X6(this.b,this.a,n)},SWn.od=function(n,t){return Pun(this.b,this.a,n,t)},SWn.a=0,mX(WWn,"ArrayTable/Row",1920),dAn(829,828,ZWn,XL),SWn.nd=function(n){return new aU(this.a,n)},SWn.zc=function(n,t){return HB(t,83),pk()},SWn.od=function(n,t){return HB(t,83),vk()},SWn.md=function(){return"Row"},mX(WWn,"ArrayTable/RowMap",829),dAn(1120,1,lVn,fT),SWn.qd=function(){return-262&this.a.qd()},SWn.rd=function(){return this.a.rd()},SWn.Nb=function(n){this.a.Nb(new aT(n,this.b))},SWn.sd=function(n){return this.a.sd(new cT(n,this.b))},mX(WWn,"CollectSpliterators/1",1120),dAn(1121,1,bVn,cT),SWn.td=function(n){this.a.td(this.b.Kb(n))},mX(WWn,"CollectSpliterators/1/lambda$0$Type",1121),dAn(1122,1,bVn,aT),SWn.td=function(n){this.a.td(this.b.Kb(n))},mX(WWn,"CollectSpliterators/1/lambda$1$Type",1122),dAn(1123,1,lVn,G2),SWn.qd=function(){return this.a},SWn.rd=function(){return this.d&&(this.b=M$(this.b,this.d.rd())),M$(this.b,0)},SWn.Nb=function(n){this.d&&(this.d.Nb(n),this.d=null),this.c.Nb(new rT(this.e,n)),this.b=0},SWn.sd=function(n){for(;;){if(this.d&&this.d.sd(n))return ZC(this.b,wVn)&&(this.b=rbn(this.b,1)),!0;if(this.d=null,!this.c.sd(new uT(this,this.e)))return!1}},SWn.a=0,SWn.b=0,mX(WWn,"CollectSpliterators/1FlatMapSpliterator",1123),dAn(1124,1,bVn,uT),SWn.td=function(n){gK(this.a,this.b,n)},mX(WWn,"CollectSpliterators/1FlatMapSpliterator/lambda$0$Type",1124),dAn(1125,1,bVn,rT),SWn.td=function(n){sL(this.b,this.a,n)},mX(WWn,"CollectSpliterators/1FlatMapSpliterator/lambda$1$Type",1125),dAn(1117,1,lVn,dK),SWn.qd=function(){return 16464|this.b},SWn.rd=function(){return this.a.rd()},SWn.Nb=function(n){this.a.xe(new sT(n,this.c))},SWn.sd=function(n){return this.a.ye(new oT(n,this.c))},SWn.b=0,mX(WWn,"CollectSpliterators/1WithCharacteristics",1117),dAn(1118,1,dVn,oT),SWn.ud=function(n){this.a.td(this.b.ld(n))},mX(WWn,"CollectSpliterators/1WithCharacteristics/lambda$0$Type",1118),dAn(1119,1,dVn,sT),SWn.ud=function(n){this.a.td(this.b.ld(n))},mX(WWn,"CollectSpliterators/1WithCharacteristics/lambda$1$Type",1119),dAn(245,1,gVn),SWn.wd=function(n){return this.vd(HB(n,245))},SWn.vd=function(n){var t;return n==(ey(),Fnt)?1:n==(iy(),_nt)?-1:(tq(),0!=(t=xcn(this.a,n.a))?t:aL(this,519)==aL(n,519)?0:aL(this,519)?1:-1)},SWn.zd=function(){return this.a},SWn.Fb=function(n){return Ddn(this,n)},mX(WWn,"Cut",245),dAn(1761,245,gVn,xk),SWn.vd=function(n){return n==this?0:1},SWn.xd=function(n){throw qp(new fv)},SWn.yd=function(n){n.a+="+\u221e)"},SWn.zd=function(){throw qp(new By(pVn))},SWn.Hb=function(){return LT(),ivn(this)},SWn.Ad=function(n){return!1},SWn.Ib=function(){return"+\u221e"},mX(WWn,"Cut/AboveAll",1761),dAn(519,245,{245:1,519:1,3:1,35:1},rN),SWn.xd=function(n){oO((n.a+="(",n),this.a)},SWn.yd=function(n){DX(oO(n,this.a),93)},SWn.Hb=function(){return~tsn(this.a)},SWn.Ad=function(n){return tq(),xcn(this.a,n)<0},SWn.Ib=function(){return"/"+this.a+"\\"},mX(WWn,"Cut/AboveValue",519),dAn(1760,245,gVn,Dk),SWn.vd=function(n){return n==this?0:-1},SWn.xd=function(n){n.a+="(-\u221e"},SWn.yd=function(n){throw qp(new fv)},SWn.zd=function(){throw qp(new By(pVn))},SWn.Hb=function(){return LT(),ivn(this)},SWn.Ad=function(n){return!0},SWn.Ib=function(){return"-\u221e"},mX(WWn,"Cut/BelowAll",1760),dAn(1762,245,gVn,cN),SWn.xd=function(n){oO((n.a+="[",n),this.a)},SWn.yd=function(n){DX(oO(n,this.a),41)},SWn.Hb=function(){return tsn(this.a)},SWn.Ad=function(n){return tq(),xcn(this.a,n)<=0},SWn.Ib=function(){return"\\"+this.a+"/"},mX(WWn,"Cut/BelowValue",1762),dAn(537,1,vVn),SWn.Jc=function(n){i5(this,n)},SWn.Ib=function(){return qln(HB(VQ(this,"use Optional.orNull() instead of Optional.or(null)"),20).Kc())},mX(WWn,"FluentIterable",537),dAn(433,537,vVn,AO),SWn.Kc=function(){return new sz(nN(this.a.Kc(),new f))},mX(WWn,"FluentIterable/2",433),dAn(1046,537,vVn,$O),SWn.Kc=function(){return xU(this)},mX(WWn,"FluentIterable/3",1046),dAn(708,386,VWn,VL),SWn.Xb=function(n){return this.a[n].Kc()},mX(WWn,"FluentIterable/3/1",708),dAn(1972,1,{}),SWn.Ib=function(){return Hbn(this.Bd().b)},mX(WWn,"ForwardingObject",1972),dAn(1973,1972,mVn),SWn.Bd=function(){return this.Cd()},SWn.Jc=function(n){i5(this,n)},SWn.Lc=function(){return this.Oc()},SWn.Nc=function(){return new d1(this,0)},SWn.Oc=function(){return new Kq(null,this.Nc())},SWn.Fc=function(n){return this.Cd(),sE()},SWn.Gc=function(n){return this.Cd(),hE()},SWn.$b=function(){this.Cd(),fE()},SWn.Hc=function(n){return this.Cd().Hc(n)},SWn.Ic=function(n){return this.Cd().Ic(n)},SWn.dc=function(){return this.Cd().b.dc()},SWn.Kc=function(){return this.Cd().Kc()},SWn.Mc=function(n){return this.Cd(),lE()},SWn.gc=function(){return this.Cd().b.gc()},SWn.Pc=function(){return this.Cd().Pc()},SWn.Qc=function(n){return this.Cd().Qc(n)},mX(WWn,"ForwardingCollection",1973),dAn(1980,28,yVn),SWn.Kc=function(){return this.Ed()},SWn.Fc=function(n){throw qp(new vv)},SWn.Gc=function(n){throw qp(new vv)},SWn.$b=function(){throw qp(new vv)},SWn.Hc=function(n){return null!=n&&kwn(this,n,!1)},SWn.Dd=function(){switch(this.gc()){case 0:return VX(),VX(),Bnt;case 1:return VX(),new Iq(kX(this.Ed().Pb()));default:return new uU(this,this.Pc())}},SWn.Mc=function(n){throw qp(new vv)},mX(WWn,"ImmutableCollection",1980),dAn(712,1980,yVn,cv),SWn.Kc=function(){return N9(this.a.Kc())},SWn.Hc=function(n){return null!=n&&this.a.Hc(n)},SWn.Ic=function(n){return this.a.Ic(n)},SWn.dc=function(){return this.a.dc()},SWn.Ed=function(){return N9(this.a.Kc())},SWn.gc=function(){return this.a.gc()},SWn.Pc=function(){return this.a.Pc()},SWn.Qc=function(n){return this.a.Qc(n)},SWn.Ib=function(){return Hbn(this.a)},mX(WWn,"ForwardingImmutableCollection",712),dAn(152,1980,kVn),SWn.Kc=function(){return this.Ed()},SWn.Yc=function(){return this.Fd(0)},SWn.Zc=function(n){return this.Fd(n)},SWn.ad=function(n){Frn(this,n)},SWn.Nc=function(){return new d1(this,16)},SWn.bd=function(n,t){return this.Gd(n,t)},SWn.Vc=function(n,t){throw qp(new vv)},SWn.Wc=function(n,t){throw qp(new vv)},SWn.Fb=function(n){return GAn(this,n)},SWn.Hb=function(){return Oan(this)},SWn.Xc=function(n){return null==n?-1:Mmn(this,n)},SWn.Ed=function(){return this.Fd(0)},SWn.Fd=function(n){return rx(this,n)},SWn.$c=function(n){throw qp(new vv)},SWn._c=function(n,t){throw qp(new vv)},SWn.Gd=function(n,t){return hfn(new h1(new OT(this),n,t))},mX(WWn,"ImmutableList",152),dAn(2006,152,kVn),SWn.Kc=function(){return N9(this.Hd().Kc())},SWn.bd=function(n,t){return hfn(this.Hd().bd(n,t))},SWn.Hc=function(n){return null!=n&&this.Hd().Hc(n)},SWn.Ic=function(n){return this.Hd().Ic(n)},SWn.Fb=function(n){return xfn(this.Hd(),n)},SWn.Xb=function(n){return VC(this,n)},SWn.Hb=function(){return tsn(this.Hd())},SWn.Xc=function(n){return this.Hd().Xc(n)},SWn.dc=function(){return this.Hd().dc()},SWn.Ed=function(){return N9(this.Hd().Kc())},SWn.gc=function(){return this.Hd().gc()},SWn.Gd=function(n,t){return hfn(this.Hd().bd(n,t))},SWn.Pc=function(){return this.Hd().Qc(D8($nt,qWn,1,this.Hd().gc(),5,1))},SWn.Qc=function(n){return this.Hd().Qc(n)},SWn.Ib=function(){return Hbn(this.Hd())},mX(WWn,"ForwardingImmutableList",2006),dAn(714,1,EVn),SWn.vc=function(){return bz(this)},SWn.wc=function(n){tan(this,n)},SWn.ec=function(){return wz(this)},SWn.yc=function(n,t,e){return nbn(this,n,t,e)},SWn.Cc=function(){return this.Ld()},SWn.$b=function(){throw qp(new vv)},SWn._b=function(n){return null!=this.xc(n)},SWn.uc=function(n){return this.Ld().Hc(n)},SWn.Jd=function(){return new av(this)},SWn.Kd=function(){return new uv(this)},SWn.Fb=function(n){return Lsn(this,n)},SWn.Hb=function(){return bz(this).Hb()},SWn.dc=function(){return 0==this.gc()},SWn.zc=function(n,t){return mk()},SWn.Bc=function(n){throw qp(new vv)},SWn.Ib=function(){return lSn(this)},SWn.Ld=function(){return this.e?this.e:this.e=this.Kd()},SWn.c=null,SWn.d=null,SWn.e=null,mX(WWn,"ImmutableMap",714),dAn(715,714,EVn),SWn._b=function(n){return Jj(this,n)},SWn.uc=function(n){return FT(this.b,n)},SWn.Id=function(){return ffn(new il(this))},SWn.Jd=function(){return ffn(rV(this.b))},SWn.Kd=function(){return h_(),new cv(eV(this.b))},SWn.Fb=function(n){return HT(this.b,n)},SWn.xc=function(n){return XK(this,n)},SWn.Hb=function(){return tsn(this.b.c)},SWn.dc=function(){return this.b.c.dc()},SWn.gc=function(){return this.b.c.gc()},SWn.Ib=function(){return Hbn(this.b.c)},mX(WWn,"ForwardingImmutableMap",715),dAn(1974,1973,TVn),SWn.Bd=function(){return this.Md()},SWn.Cd=function(){return this.Md()},SWn.Nc=function(){return new d1(this,1)},SWn.Fb=function(n){return n===this||this.Md().Fb(n)},SWn.Hb=function(){return this.Md().Hb()},mX(WWn,"ForwardingSet",1974),dAn(1069,1974,TVn,il),SWn.Bd=function(){return iV(this.a.b)},SWn.Cd=function(){return iV(this.a.b)},SWn.Hc=function(n){if(aL(n,42)&&null==HB(n,42).cd())return!1;try{return _T(iV(this.a.b),n)}catch(t){if(aL(t=bun(t),205))return!1;throw qp(t)}},SWn.Md=function(){return iV(this.a.b)},SWn.Qc=function(n){var t;return t=OY(iV(this.a.b),n),iV(this.a.b).b.gc()=0?"+":"")+(i/60|0),t=XO(e.Math.abs(i)%60),(vMn(),vet)[this.q.getDay()]+" "+met[this.q.getMonth()]+" "+XO(this.q.getDate())+" "+XO(this.q.getHours())+":"+XO(this.q.getMinutes())+":"+XO(this.q.getSeconds())+" GMT"+n+t+" "+this.q.getFullYear()};var stt,htt,ftt,ltt,btt,wtt,dtt,gtt,ptt,vtt,mtt,ytt=mX(JWn,"Date",199);dAn(1915,199,MQn,Jkn),SWn.a=!1,SWn.b=0,SWn.c=0,SWn.d=0,SWn.e=0,SWn.f=0,SWn.g=!1,SWn.i=0,SWn.j=0,SWn.k=0,SWn.n=0,SWn.o=0,SWn.p=0,mX("com.google.gwt.i18n.shared.impl","DateRecord",1915),dAn(1966,1,{}),SWn.fe=function(){return null},SWn.ge=function(){return null},SWn.he=function(){return null},SWn.ie=function(){return null},SWn.je=function(){return null},mX(SQn,"JSONValue",1966),dAn(216,1966,{216:1},Cl,Ml),SWn.Fb=function(n){return!!aL(n,216)&&m0(this.a,HB(n,216).a)},SWn.ee=function(){return Gp},SWn.Hb=function(){return eY(this.a)},SWn.fe=function(){return this},SWn.Ib=function(){var n,t,e;for(e=new bN("["),t=0,n=this.a.length;t0&&(e.a+=","),oO(e,gnn(this,t));return e.a+="]",e.a},mX(SQn,"JSONArray",216),dAn(483,1966,{483:1},Sl),SWn.ee=function(){return zp},SWn.ge=function(){return this},SWn.Ib=function(){return fN(),""+this.a},SWn.a=!1,mX(SQn,"JSONBoolean",483),dAn(985,60,HVn,py),mX(SQn,"JSONException",985),dAn(1023,1966,{},m),SWn.ee=function(){return Qp},SWn.Ib=function(){return UWn},mX(SQn,"JSONNull",1023),dAn(258,1966,{258:1},Pl),SWn.Fb=function(n){return!!aL(n,258)&&this.a==HB(n,258).a},SWn.ee=function(){return Up},SWn.Hb=function(){return QO(this.a)},SWn.he=function(){return this},SWn.Ib=function(){return this.a+""},SWn.a=0,mX(SQn,"JSONNumber",258),dAn(183,1966,{183:1},vy,Il),SWn.Fb=function(n){return!!aL(n,183)&&m0(this.a,HB(n,183).a)},SWn.ee=function(){return Xp},SWn.Hb=function(){return eY(this.a)},SWn.ie=function(){return this},SWn.Ib=function(){var n,t,e,i,r,c;for(c=new bN("{"),n=!0,i=0,r=(e=Ern(this,D8(Ytt,hVn,2,0,6,1))).length;i=0?":"+this.c:"")+")"},SWn.c=0;var Btt=mX(KWn,"StackTraceElement",310);AWn={3:1,475:1,35:1,2:1};var Htt,qtt,Gtt,ztt,Utt,Xtt,Wtt,Vtt,Qtt,Ytt=mX(KWn,GVn,2);dAn(107,418,{475:1},Pk,Ik,lN),mX(KWn,"StringBuffer",107),dAn(100,418,{475:1},Ck,Ok,bN),mX(KWn,"StringBuilder",100),dAn(687,73,xQn,Ak),mX(KWn,"StringIndexOutOfBoundsException",687),dAn(2043,1,{}),dAn(844,1,{},D),SWn.Kb=function(n){return HB(n,78).e},mX(KWn,"Throwable/lambda$0$Type",844),dAn(41,60,{3:1,102:1,60:1,78:1,41:1},vv,ek),mX(KWn,"UnsupportedOperationException",41),dAn(240,236,{3:1,35:1,236:1,240:1},jnn,dE),SWn.wd=function(n){return Z_n(this,HB(n,240))},SWn.ke=function(){return wSn(iqn(this))},SWn.Fb=function(n){var t;return this===n||!!aL(n,240)&&(t=HB(n,240),this.e==t.e&&0==Z_n(this,t))},SWn.Hb=function(){var n;return 0!=this.b?this.b:this.a<54?(n=lan(this.f),this.b=gG(i0(n,-1)),this.b=33*this.b+gG(i0(jz(n,32),-1)),this.b=17*this.b+CJ(this.e),this.b):(this.b=17*_hn(this.c)+CJ(this.e),this.b)},SWn.Ib=function(){return iqn(this)},SWn.a=0,SWn.b=0,SWn.d=0,SWn.e=0,SWn.f=0;var Jtt,Ztt,net,tet,eet,iet,ret=mX("java.math","BigDecimal",240);dAn(91,236,{3:1,35:1,236:1,91:1},Kpn,W6,bU,mEn,Cgn,LA),SWn.wd=function(n){return egn(this,HB(n,91))},SWn.ke=function(){return wSn(GXn(this,0))},SWn.Fb=function(n){return hwn(this,n)},SWn.Hb=function(){return _hn(this)},SWn.Ib=function(){return GXn(this,0)},SWn.b=-2,SWn.c=0,SWn.d=0,SWn.e=0;var cet,aet,uet,oet,set=mX("java.math","BigInteger",91);dAn(488,1967,ZWn),SWn.$b=function(){LU(this)},SWn._b=function(n){return fU(this,n)},SWn.uc=function(n){return Nsn(this,n,this.g)||Nsn(this,n,this.f)},SWn.vc=function(){return new Ib(this)},SWn.xc=function(n){return KX(this,n)},SWn.zc=function(n,t){return QW(this,n,t)},SWn.Bc=function(n){return m6(this,n)},SWn.gc=function(){return xT(this)},mX(JWn,"AbstractHashMap",488),dAn(261,tVn,eVn,Ib),SWn.$b=function(){this.a.$b()},SWn.Hc=function(n){return y2(this,n)},SWn.Kc=function(){return new osn(this.a)},SWn.Mc=function(n){var t;return!!y2(this,n)&&(t=HB(n,42).cd(),this.a.Bc(t),!0)},SWn.gc=function(){return this.a.gc()},mX(JWn,"AbstractHashMap/EntrySet",261),dAn(262,1,YWn,osn),SWn.Nb=function(n){lU(this,n)},SWn.Pb=function(){return een(this)},SWn.Ob=function(){return this.b},SWn.Qb=function(){s9(this)},SWn.b=!1,mX(JWn,"AbstractHashMap/EntrySetIterator",262),dAn(417,1,YWn,Pb),SWn.Nb=function(n){lU(this,n)},SWn.Ob=function(){return uS(this)},SWn.Pb=function(){return yQ(this)},SWn.Qb=function(){lW(this)},SWn.b=0,SWn.c=-1,mX(JWn,"AbstractList/IteratorImpl",417),dAn(96,417,aVn,S2),SWn.Qb=function(){lW(this)},SWn.Rb=function(n){kR(this,n)},SWn.Sb=function(){return this.b>0},SWn.Tb=function(){return this.b},SWn.Ub=function(){return Ix(this.b>0),this.a.Xb(this.c=--this.b)},SWn.Vb=function(){return this.b-1},SWn.Wb=function(n){Sx(-1!=this.c),this.a._c(this.c,n)},mX(JWn,"AbstractList/ListIteratorImpl",96),dAn(219,52,NVn,h1),SWn.Vc=function(n,t){NZ(n,this.b),this.c.Vc(this.a+n,t),++this.b},SWn.Xb=function(n){return b1(n,this.b),this.c.Xb(this.a+n)},SWn.$c=function(n){var t;return b1(n,this.b),t=this.c.$c(this.a+n),--this.b,t},SWn._c=function(n,t){return b1(n,this.b),this.c._c(this.a+n,t)},SWn.gc=function(){return this.b},SWn.a=0,SWn.b=0,mX(JWn,"AbstractList/SubList",219),dAn(384,tVn,eVn,Cb),SWn.$b=function(){this.a.$b()},SWn.Hc=function(n){return this.a._b(n)},SWn.Kc=function(){return new Ob(this.a.vc().Kc())},SWn.Mc=function(n){return!!this.a._b(n)&&(this.a.Bc(n),!0)},SWn.gc=function(){return this.a.gc()},mX(JWn,"AbstractMap/1",384),dAn(691,1,YWn,Ob),SWn.Nb=function(n){lU(this,n)},SWn.Ob=function(){return this.a.Ob()},SWn.Pb=function(){return HB(this.a.Pb(),42).cd()},SWn.Qb=function(){this.a.Qb()},mX(JWn,"AbstractMap/1/1",691),dAn(226,28,nVn,Ab),SWn.$b=function(){this.a.$b()},SWn.Hc=function(n){return this.a.uc(n)},SWn.Kc=function(){return new _b(this.a.vc().Kc())},SWn.gc=function(){return this.a.gc()},mX(JWn,"AbstractMap/2",226),dAn(294,1,YWn,_b),SWn.Nb=function(n){lU(this,n)},SWn.Ob=function(){return this.a.Ob()},SWn.Pb=function(){return HB(this.a.Pb(),42).dd()},SWn.Qb=function(){this.a.Qb()},mX(JWn,"AbstractMap/2/1",294),dAn(484,1,{484:1,42:1}),SWn.Fb=function(n){var t;return!!aL(n,42)&&(t=HB(n,42),aV(this.d,t.cd())&&aV(this.e,t.dd()))},SWn.cd=function(){return this.d},SWn.dd=function(){return this.e},SWn.Hb=function(){return _A(this.d)^_A(this.e)},SWn.ed=function(n){return vR(this,n)},SWn.Ib=function(){return this.d+"="+this.e},mX(JWn,"AbstractMap/AbstractEntry",484),dAn(383,484,{484:1,383:1,42:1},IS),mX(JWn,"AbstractMap/SimpleEntry",383),dAn(1984,1,QQn),SWn.Fb=function(n){var t;return!!aL(n,42)&&(t=HB(n,42),aV(this.cd(),t.cd())&&aV(this.dd(),t.dd()))},SWn.Hb=function(){return _A(this.cd())^_A(this.dd())},SWn.Ib=function(){return this.cd()+"="+this.dd()},mX(JWn,oVn,1984),dAn(1992,1967,iVn),SWn.tc=function(n){return G5(this,n)},SWn._b=function(n){return RK(this,n)},SWn.vc=function(){return new Hb(this)},SWn.xc=function(n){return GC(bsn(this,n))},SWn.ec=function(){return new Fb(this)},mX(JWn,"AbstractNavigableMap",1992),dAn(739,tVn,eVn,Hb),SWn.Hc=function(n){return aL(n,42)&&G5(this.b,HB(n,42))},SWn.Kc=function(){return new HR(this.b)},SWn.Mc=function(n){var t;return!!aL(n,42)&&(t=HB(n,42),U8(this.b,t))},SWn.gc=function(){return this.b.c},mX(JWn,"AbstractNavigableMap/EntrySet",739),dAn(493,tVn,cVn,Fb),SWn.Nc=function(){return new dS(this)},SWn.$b=function(){yy(this.a)},SWn.Hc=function(n){return RK(this.a,n)},SWn.Kc=function(){return new Bb(new HR(new DN(this.a).b))},SWn.Mc=function(n){return!!RK(this.a,n)&&(LJ(this.a,n),!0)},SWn.gc=function(){return this.a.c},mX(JWn,"AbstractNavigableMap/NavigableKeySet",493),dAn(494,1,YWn,Bb),SWn.Nb=function(n){lU(this,n)},SWn.Ob=function(){return uS(this.a.a)},SWn.Pb=function(){return yx(this.a).cd()},SWn.Qb=function(){i_(this.a)},mX(JWn,"AbstractNavigableMap/NavigableKeySet/1",494),dAn(2004,28,nVn),SWn.Fc=function(n){return B8(iMn(this,n)),!0},SWn.Gc=function(n){return jW(n),mH(n!=this,"Can't add a queue to itself"),Brn(this,n)},SWn.$b=function(){for(;null!=ynn(this););},mX(JWn,"AbstractQueue",2004),dAn(302,28,{4:1,20:1,28:1,14:1},Np,g1),SWn.Fc=function(n){return d3(this,n),!0},SWn.$b=function(){s4(this)},SWn.Hc=function(n){return dun(new wV(this),n)},SWn.dc=function(){return Vy(this)},SWn.Kc=function(){return new wV(this)},SWn.Mc=function(n){return zJ(new wV(this),n)},SWn.gc=function(){return this.c-this.b&this.a.length-1},SWn.Nc=function(){return new d1(this,272)},SWn.Qc=function(n){var t;return t=this.c-this.b&this.a.length-1,n.lengtht&&LX(n,t,null),n},SWn.b=0,SWn.c=0,mX(JWn,"ArrayDeque",302),dAn(446,1,YWn,wV),SWn.Nb=function(n){lU(this,n)},SWn.Ob=function(){return this.a!=this.b},SWn.Pb=function(){return Fhn(this)},SWn.Qb=function(){iin(this)},SWn.a=0,SWn.b=0,SWn.c=-1,mX(JWn,"ArrayDeque/IteratorImpl",446),dAn(12,52,YQn,xp,Z6,e_),SWn.Vc=function(n,t){jG(this,n,t)},SWn.Fc=function(n){return VB(this,n)},SWn.Wc=function(n,t){return shn(this,n,t)},SWn.Gc=function(n){return pun(this,n)},SWn.$b=function(){this.c=D8($nt,qWn,1,0,5,1)},SWn.Hc=function(n){return-1!=T7(this,n,0)},SWn.Jc=function(n){Atn(this,n)},SWn.Xb=function(n){return Dq(this,n)},SWn.Xc=function(n){return T7(this,n,0)},SWn.dc=function(){return 0==this.c.length},SWn.Kc=function(){return new Vb(this)},SWn.$c=function(n){return h6(this,n)},SWn.Mc=function(n){return k7(this,n)},SWn.Ud=function(n,t){f1(this,n,t)},SWn._c=function(n,t){return a5(this,n,t)},SWn.gc=function(){return this.c.length},SWn.ad=function(n){y$(this,n)},SWn.Pc=function(){return wx(this)},SWn.Qc=function(n){return Ygn(this,n)};var het,fet,bet,wet,det,get,pet,vet,met,yet=mX(JWn,"ArrayList",12);dAn(7,1,YWn,Vb),SWn.Nb=function(n){lU(this,n)},SWn.Ob=function(){return k$(this)},SWn.Pb=function(){return t0(this)},SWn.Qb=function(){$U(this)},SWn.a=0,SWn.b=-1,mX(JWn,"ArrayList/1",7),dAn(2013,e.Function,{},M),SWn.te=function(n,t){return Iln(n,t)},dAn(154,52,JQn,Zy),SWn.Hc=function(n){return-1!=win(this,n)},SWn.Jc=function(n){var t,e,i,r;for(jW(n),i=0,r=(e=this.a).length;i>>0).toString(16))},SWn.f=0,SWn.i=_Qn;var hit,fit,lit,bit,wit=mX(CYn,"CNode",57);dAn(814,1,{},Vv),mX(CYn,"CNode/CNodeBuilder",814),dAn(1525,1,{},gn),SWn.Oe=function(n,t){return 0},SWn.Pe=function(n,t){return 0},mX(CYn,AYn,1525),dAn(1790,1,{},pn),SWn.Le=function(n){var t,i,r,c,a,u,o,s,h,f,l,b,w,d,g;for(h=KQn,r=new Vb(n.a.b);r.ae.d.c||e.d.c==r.d.c&&e.d.b0?n+this.n.d+this.n.a:0},SWn.Se=function(){var n,t,i,r,c;if(c=0,this.e)this.b?c=this.b.a:this.a[1][1]&&(c=this.a[1][1].Se());else if(this.g)c=Jbn(this,Akn(this,null,!0));else for(Rtn(),i=0,r=(t=Iun(zk(Qit,1),LVn,232,0,[zit,Uit,Xit])).length;i0?c+this.n.b+this.n.c:0},SWn.Te=function(){var n,t,e,i,r;if(this.g)for(n=Akn(this,null,!1),Rtn(),i=0,r=(e=Iun(zk(Qit,1),LVn,232,0,[zit,Uit,Xit])).length;i0&&(r[0]+=this.d,i-=r[0]),r[2]>0&&(r[2]+=this.d,i-=r[2]),this.c.a=e.Math.max(0,i),this.c.d=t.d+n.d+(this.c.a-i)/2,r[1]=e.Math.max(r[1],i),Y5(this,Uit,t.d+n.d+r[0]-(r[1]-i)/2,r)},SWn.b=null,SWn.d=0,SWn.e=!1,SWn.f=!1,SWn.g=!1;var Yit,Jit,Zit,nrt=0,trt=0;mX(eJn,"GridContainerCell",1473),dAn(461,22,{3:1,35:1,22:1,461:1},zS);var ert,irt=Hen(eJn,"HorizontalLabelAlignment",461,Xnt,y1,p_);dAn(306,212,{212:1,306:1},kJ,dtn,_Y),SWn.Re=function(){return VH(this)},SWn.Se=function(){return QH(this)},SWn.a=0,SWn.c=!1;var rrt,crt,art,urt=mX(eJn,"LabelCell",306);dAn(244,326,{212:1,326:1,244:1},Ogn),SWn.Re=function(){return SCn(this)},SWn.Se=function(){return PCn(this)},SWn.Te=function(){FFn(this)},SWn.Ue=function(){zFn(this)},SWn.b=0,SWn.c=0,SWn.d=!1,mX(eJn,"StripContainerCell",244),dAn(1626,1,RVn,Tn),SWn.Mb=function(n){return Yy(HB(n,212))},mX(eJn,"StripContainerCell/lambda$0$Type",1626),dAn(1627,1,{},Mn),SWn.Fe=function(n){return HB(n,212).Se()},mX(eJn,"StripContainerCell/lambda$1$Type",1627),dAn(1628,1,RVn,Sn),SWn.Mb=function(n){return Jy(HB(n,212))},mX(eJn,"StripContainerCell/lambda$2$Type",1628),dAn(1629,1,{},Pn),SWn.Fe=function(n){return HB(n,212).Re()},mX(eJn,"StripContainerCell/lambda$3$Type",1629),dAn(462,22,{3:1,35:1,22:1,462:1},US);var ort,srt,hrt,frt,lrt,brt,wrt,drt,grt,prt,vrt,mrt,yrt,krt,jrt,Ert,Trt,Mrt,Srt,Prt,Irt,Crt,Ort,Art=Hen(eJn,"VerticalLabelAlignment",462,Xnt,k1,v_);dAn(789,1,{},iUn),SWn.c=0,SWn.d=0,SWn.k=0,SWn.s=0,SWn.t=0,SWn.v=!1,SWn.w=0,SWn.D=!1,mX(hJn,"NodeContext",789),dAn(1471,1,SYn,In),SWn.ue=function(n,t){return JO(HB(n,61),HB(t,61))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(hJn,"NodeContext/0methodref$comparePortSides$Type",1471),dAn(1472,1,SYn,Cn),SWn.ue=function(n,t){return XTn(HB(n,111),HB(t,111))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(hJn,"NodeContext/1methodref$comparePortContexts$Type",1472),dAn(159,22,{3:1,35:1,22:1,159:1},scn);var $rt,Lrt,Nrt,xrt,Drt,Rrt,Krt,_rt=Hen(hJn,"NodeLabelLocation",159,Xnt,epn,m_);dAn(111,1,{111:1},SOn),SWn.a=!1,mX(hJn,"PortContext",111),dAn(1476,1,bVn,On),SWn.td=function(n){CE(HB(n,306))},mX(bJn,wJn,1476),dAn(1477,1,RVn,An),SWn.Mb=function(n){return!!HB(n,111).c},mX(bJn,dJn,1477),dAn(1478,1,bVn,$n),SWn.td=function(n){CE(HB(n,111).c)},mX(bJn,"LabelPlacer/lambda$2$Type",1478),dAn(1475,1,bVn,Nn),SWn.td=function(n){GD(),Jp(HB(n,111))},mX(bJn,"NodeLabelAndSizeUtilities/lambda$0$Type",1475),dAn(790,1,bVn,L_),SWn.td=function(n){KM(this.b,this.c,this.a,HB(n,181))},SWn.a=!1,SWn.c=!1,mX(bJn,"NodeLabelCellCreator/lambda$0$Type",790),dAn(1474,1,bVn,Cw),SWn.td=function(n){Ov(this.a,HB(n,181))},mX(bJn,"PortContextCreator/lambda$0$Type",1474),dAn(1829,1,{},xn),mX(pJn,"GreedyRectangleStripOverlapRemover",1829),dAn(1830,1,SYn,Ln),SWn.ue=function(n,t){return BN(HB(n,222),HB(t,222))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(pJn,"GreedyRectangleStripOverlapRemover/0methodref$compareByYCoordinate$Type",1830),dAn(1786,1,{},nm),SWn.a=5,SWn.e=0,mX(pJn,"RectangleStripOverlapRemover",1786),dAn(1787,1,SYn,Rn),SWn.ue=function(n,t){return HN(HB(n,222),HB(t,222))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(pJn,"RectangleStripOverlapRemover/0methodref$compareLeftRectangleBorders$Type",1787),dAn(1789,1,SYn,Kn),SWn.ue=function(n,t){return ZU(HB(n,222),HB(t,222))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(pJn,"RectangleStripOverlapRemover/1methodref$compareRightRectangleBorders$Type",1789),dAn(406,22,{3:1,35:1,22:1,406:1},XS);var Frt,Brt,Hrt,qrt,Grt,zrt=Hen(pJn,"RectangleStripOverlapRemover/OverlapRemovalDirection",406,Xnt,J2,y_);dAn(222,1,{222:1},DG),mX(pJn,"RectangleStripOverlapRemover/RectangleNode",222),dAn(1788,1,bVn,Ow),SWn.td=function(n){Cmn(this.a,HB(n,222))},mX(pJn,"RectangleStripOverlapRemover/lambda$1$Type",1788),dAn(1304,1,SYn,_n),SWn.ue=function(n,t){return UHn(HB(n,167),HB(t,167))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(mJn,"PolyominoCompactor/CornerCasesGreaterThanRestComparator",1304),dAn(1307,1,{},Fn),SWn.Kb=function(n){return HB(n,324).a},mX(mJn,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$0$Type",1307),dAn(1308,1,RVn,Bn),SWn.Mb=function(n){return HB(n,323).a},mX(mJn,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$1$Type",1308),dAn(1309,1,RVn,Hn),SWn.Mb=function(n){return HB(n,323).a},mX(mJn,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$2$Type",1309),dAn(1302,1,SYn,qn),SWn.ue=function(n,t){return VRn(HB(n,167),HB(t,167))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(mJn,"PolyominoCompactor/MinNumOfExtensionDirectionsComparator",1302),dAn(1305,1,{},Dn),SWn.Kb=function(n){return HB(n,324).a},mX(mJn,"PolyominoCompactor/MinNumOfExtensionDirectionsComparator/lambda$0$Type",1305),dAn(767,1,SYn,Gn),SWn.ue=function(n,t){return Xan(HB(n,167),HB(t,167))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(mJn,"PolyominoCompactor/MinNumOfExtensionsComparator",767),dAn(1300,1,SYn,zn),SWn.ue=function(n,t){return Yin(HB(n,321),HB(t,321))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(mJn,"PolyominoCompactor/MinPerimeterComparator",1300),dAn(1301,1,SYn,Un),SWn.ue=function(n,t){return uvn(HB(n,321),HB(t,321))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(mJn,"PolyominoCompactor/MinPerimeterComparatorWithShape",1301),dAn(1303,1,SYn,Xn),SWn.ue=function(n,t){return HKn(HB(n,167),HB(t,167))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(mJn,"PolyominoCompactor/SingleExtensionSideGreaterThanRestComparator",1303),dAn(1306,1,{},Wn),SWn.Kb=function(n){return HB(n,324).a},mX(mJn,"PolyominoCompactor/SingleExtensionSideGreaterThanRestComparator/lambda$0$Type",1306),dAn(777,1,{},RS),SWn.Ce=function(n,t){return A2(this,HB(n,46),HB(t,167))},mX(mJn,"SuccessorCombination",777),dAn(644,1,{},Vn),SWn.Ce=function(n,t){var e;return WCn((e=HB(n,46),HB(t,167),e))},mX(mJn,"SuccessorJitter",644),dAn(643,1,{},Qn),SWn.Ce=function(n,t){var e;return wxn((e=HB(n,46),HB(t,167),e))},mX(mJn,"SuccessorLineByLine",643),dAn(568,1,{},Yn),SWn.Ce=function(n,t){var e;return l$n((e=HB(n,46),HB(t,167),e))},mX(mJn,"SuccessorManhattan",568),dAn(1356,1,{},Jn),SWn.Ce=function(n,t){var e;return ENn((e=HB(n,46),HB(t,167),e))},mX(mJn,"SuccessorMaxNormWindingInMathPosSense",1356),dAn(400,1,{},Aw),SWn.Ce=function(n,t){return HU(this,n,t)},SWn.c=!1,SWn.d=!1,SWn.e=!1,SWn.f=!1,mX(mJn,"SuccessorQuadrantsGeneric",400),dAn(1357,1,{},Zn),SWn.Kb=function(n){return HB(n,324).a},mX(mJn,"SuccessorQuadrantsGeneric/lambda$0$Type",1357),dAn(323,22,{3:1,35:1,22:1,323:1},FS),SWn.a=!1;var Urt,Xrt=Hen(TJn,MJn,323,Xnt,t3,k_);dAn(1298,1,{}),SWn.Ib=function(){var n,t,e,i,r,c;for(e=" ",n=rln(0),r=0;r=0?"b"+n+"["+o5(this.a)+"]":"b["+o5(this.a)+"]":"b_"+IN(this)},mX(aZn,"FBendpoint",559),dAn(282,134,{3:1,282:1,94:1,134:1},OR),SWn.Ib=function(){return o5(this)},mX(aZn,"FEdge",282),dAn(231,134,{3:1,231:1,94:1,134:1},k6);var Cct,Oct,Act,$ct,Lct,Nct,xct,Dct,Rct,Kct,_ct=mX(aZn,"FGraph",231);dAn(447,357,{3:1,447:1,357:1,94:1,134:1},y4),SWn.Ib=function(){return null==this.b||0==this.b.length?"l["+o5(this.a)+"]":"l_"+this.b},mX(aZn,"FLabel",447),dAn(144,357,{3:1,144:1,357:1,94:1,134:1},GX),SWn.Ib=function(){return v0(this)},SWn.b=0,mX(aZn,"FNode",144),dAn(2003,1,{}),SWn.bf=function(n){hFn(this,n)},SWn.cf=function(){Gmn(this)},SWn.d=0,mX(oZn,"AbstractForceModel",2003),dAn(631,2003,{631:1},Nan),SWn.af=function(n,t){var i,r,c,a;return eCn(this.f,n,t),c=WR(H$(t.d),n.d),a=e.Math.sqrt(c.a*c.a+c.b*c.b),r=e.Math.max(0,a-bW(n.e)/2-bW(t.e)/2),jL(c,((i=Gon(this.e,n,t))>0?-FU(r,this.c)*i:Dx(r,this.b)*HB(yMn(n,(lRn(),nat)),19).a)/a),c},SWn.bf=function(n){hFn(this,n),this.a=HB(yMn(n,(lRn(),Gct)),19).a,this.c=zy(SD(yMn(n,aat))),this.b=zy(SD(yMn(n,eat)))},SWn.df=function(n){return n0&&(a-=Py(r,this.a)*i),jL(c,a*this.b/u),c},SWn.bf=function(n){var t,i,r,c,a,u,o;for(hFn(this,n),this.b=zy(SD(yMn(n,(lRn(),uat)))),this.c=this.b/HB(yMn(n,Gct),19).a,r=n.e.c.length,a=0,c=0,o=new Vb(n.e);o.a0},SWn.a=0,SWn.b=0,SWn.c=0,mX(oZn,"FruchtermanReingoldModel",632),dAn(849,1,YYn,Uh),SWn.Qe=function(n){$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,sZn),""),"Force Model"),"Determines the model for force calculation."),Act),(IPn(),pMt)),Lat),tbn((cpn(),fMt))))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,hZn),""),"Iterations"),"The number of iterations on the force model."),rln(300)),mMt),$tt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,fZn),""),"Repulsive Power"),"Determines how many bend points are added to the edge; such bend points are regarded as repelling particles in the force model"),rln(0)),mMt),$tt),tbn(oMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,lZn),""),"FR Temperature"),"The temperature is used as a scaling factor for particle displacements."),bZn),gMt),Itt),tbn(fMt)))),u2(n,lZn,sZn,Dct),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,wZn),""),"Eades Repulsion"),"Factor for repulsive forces in Eades' model."),5),gMt),Itt),tbn(fMt)))),u2(n,wZn,sZn,Lct),vUn((new Xh,n))},mX(dZn,"ForceMetaDataProvider",849),dAn(424,22,{3:1,35:1,22:1,424:1},WS);var Fct,Bct,Hct,qct,Gct,zct,Uct,Xct,Wct,Vct,Qct,Yct,Jct,Zct,nat,tat,eat,iat,rat,cat,aat,uat,oat,sat,hat,fat,lat,bat,wat,dat,gat,pat,vat,mat,yat,kat,jat,Eat,Tat,Mat,Sat,Pat,Iat,Cat,Oat,Aat,$at,Lat=Hen(dZn,"ForceModelStrategy",424,Xnt,uJ,T_);dAn(988,1,YYn,Xh),SWn.Qe=function(n){vUn(n)},mX(dZn,"ForceOptions",988),dAn(989,1,{},gt),SWn.$e=function(){return new zv},SWn._e=function(n){},mX(dZn,"ForceOptions/ForceFactory",989),dAn(850,1,YYn,Wh),SWn.Qe=function(n){$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,xZn),""),"Fixed Position"),"Prevent that the node is moved by the layout algorithm."),(fN(),!1)),(IPn(),dMt)),jtt),tbn((cpn(),hMt))))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,DZn),""),"Desired Edge Length"),"Either specified for parent nodes or for individual edges, where the latter takes higher precedence."),100),gMt),Itt),TG(fMt,Iun(zk(EMt,1),LVn,175,0,[oMt]))))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,RZn),""),"Layout Dimension"),"Dimensions that are permitted to be altered during layout."),wat),pMt),qat),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,KZn),""),"Stress Epsilon"),"Termination criterion for the iterative process."),bZn),gMt),Itt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,_Zn),""),"Iteration Limit"),"Maximum number of performed iterations. Takes higher precedence than 'epsilon'."),rln(RWn)),mMt),$tt),tbn(fMt)))),XGn((new Vh,n))},mX(dZn,"StressMetaDataProvider",850),dAn(992,1,YYn,Vh),SWn.Qe=function(n){XGn(n)},mX(dZn,"StressOptions",992),dAn(993,1,{},pt),SWn.$e=function(){return new AR},SWn._e=function(n){},mX(dZn,"StressOptions/StressFactory",993),dAn(1128,209,xJn,AR),SWn.Ze=function(n,t){var e,i,r,c;for(ATn(t,BZn,1),Gy(MD(n$n(n,(ckn(),jat))))?Gy(MD(n$n(n,Iat)))||EJ(new Mw((zM(),new Ry(n)))):mLn(new zv,n,ycn(t,1)),i=lon(n),c=(e=qFn(this.a,i)).Kc();c.Ob();)(r=HB(c.Pb(),231)).e.c.length<=1||(qHn(this.b,r),r$n(this.b),Atn(r.d,new vt));PUn(i=zUn(e)),qSn(t)},mX(qZn,"StressLayoutProvider",1128),dAn(1129,1,bVn,vt),SWn.td=function(n){FBn(HB(n,447))},mX(qZn,"StressLayoutProvider/lambda$0$Type",1129),dAn(990,1,{},Mv),SWn.c=0,SWn.e=0,SWn.g=0,mX(qZn,"StressMajorization",990),dAn(379,22,{3:1,35:1,22:1,379:1},VS);var Nat,xat,Dat,Rat,Kat,_at,Fat,Bat,Hat,qat=Hen(qZn,"StressMajorization/Dimension",379,Xnt,E1,M_);dAn(991,1,SYn,Dw),SWn.ue=function(n,t){return PK(this.a,HB(n,144),HB(t,144))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(qZn,"StressMajorization/lambda$0$Type",991),dAn(1229,1,{},R0),mX(zZn,"ElkLayered",1229),dAn(1230,1,bVn,mt),SWn.td=function(n){KCn(HB(n,37))},mX(zZn,"ElkLayered/lambda$0$Type",1230),dAn(1231,1,bVn,Rw),SWn.td=function(n){IK(this.a,HB(n,37))},mX(zZn,"ElkLayered/lambda$1$Type",1231),dAn(1263,1,{},L$),mX(zZn,"GraphConfigurator",1263),dAn(759,1,bVn,Kw),SWn.td=function(n){QMn(this.a,HB(n,10))},mX(zZn,"GraphConfigurator/lambda$0$Type",759),dAn(760,1,{},yt),SWn.Kb=function(n){return ejn(),new Kq(null,new d1(HB(n,29).a,16))},mX(zZn,"GraphConfigurator/lambda$1$Type",760),dAn(761,1,bVn,_w),SWn.td=function(n){QMn(this.a,HB(n,10))},mX(zZn,"GraphConfigurator/lambda$2$Type",761),dAn(1127,209,xJn,Xv),SWn.Ze=function(n,t){var e;e=PBn(new em,n),zC(n$n(n,(qXn(),hgt)))===zC((ofn(),vIt))?cwn(this.a,e,t):dOn(this.a,e,t),pUn(new Yh,e)},mX(zZn,"LayeredLayoutProvider",1127),dAn(356,22,{3:1,35:1,22:1,356:1},QS);var Gat,zat,Uat,Xat=Hen(zZn,"LayeredPhases",356,Xnt,h5,S_);dAn(1651,1,{},min),SWn.i=0,mX(UZn,"ComponentsToCGraphTransformer",1651),dAn(1652,1,{},kt),SWn.ef=function(n,t){return e.Math.min(null!=n.a?zy(n.a):n.c.i,null!=t.a?zy(t.a):t.c.i)},SWn.ff=function(n,t){return e.Math.min(null!=n.a?zy(n.a):n.c.i,null!=t.a?zy(t.a):t.c.i)},mX(UZn,"ComponentsToCGraphTransformer/1",1652),dAn(81,1,{81:1}),SWn.i=0,SWn.k=!0,SWn.o=_Qn;var Wat,Vat,Qat,Yat=mX(XZn,"CNode",81);dAn(460,81,{460:1,81:1},xN,Pgn),SWn.Ib=function(){return""},mX(UZn,"ComponentsToCGraphTransformer/CRectNode",460),dAn(1623,1,{},jt),mX(UZn,"OneDimensionalComponentsCompaction",1623),dAn(1624,1,{},Et),SWn.Kb=function(n){return DZ(HB(n,46))},SWn.Fb=function(n){return this===n},mX(UZn,"OneDimensionalComponentsCompaction/lambda$0$Type",1624),dAn(1625,1,{},Tt),SWn.Kb=function(n){return Twn(HB(n,46))},SWn.Fb=function(n){return this===n},mX(UZn,"OneDimensionalComponentsCompaction/lambda$1$Type",1625),dAn(1654,1,{},HX),mX(XZn,"CGraph",1654),dAn(189,1,{189:1},Ign),SWn.b=0,SWn.c=0,SWn.e=0,SWn.g=!0,SWn.i=_Qn,mX(XZn,"CGroup",189),dAn(1653,1,{},It),SWn.ef=function(n,t){return e.Math.max(null!=n.a?zy(n.a):n.c.i,null!=t.a?zy(t.a):t.c.i)},SWn.ff=function(n,t){return e.Math.max(null!=n.a?zy(n.a):n.c.i,null!=t.a?zy(t.a):t.c.i)},mX(XZn,AYn,1653),dAn(1655,1,{},hOn),SWn.d=!1;var Jat=mX(XZn,DYn,1655);dAn(1656,1,{},Ct),SWn.Kb=function(n){return jM(),fN(),0!=HB(HB(n,46).a,81).d.e},SWn.Fb=function(n){return this===n},mX(XZn,RYn,1656),dAn(823,1,{},Pq),SWn.a=!1,SWn.b=!1,SWn.c=!1,SWn.d=!1,mX(XZn,KYn,823),dAn(1825,1,{},RG),mX(WZn,_Yn,1825);var Zat=wq(VZn,IYn);dAn(1826,1,{369:1},bY),SWn.Ke=function(n){zxn(this,HB(n,466))},mX(WZn,FYn,1826),dAn(1827,1,SYn,Ot),SWn.ue=function(n,t){return sQ(HB(n,81),HB(t,81))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(WZn,BYn,1827),dAn(466,1,{466:1},lP),SWn.a=!1,mX(WZn,HYn,466),dAn(1828,1,SYn,At),SWn.ue=function(n,t){return tjn(HB(n,466),HB(t,466))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(WZn,qYn,1828),dAn(140,1,{140:1},gP,yH),SWn.Fb=function(n){var t;return null!=n&&rut==esn(n)&&(t=HB(n,140),aV(this.c,t.c)&&aV(this.d,t.d))},SWn.Hb=function(){return lhn(Iun(zk($nt,1),qWn,1,5,[this.c,this.d]))},SWn.Ib=function(){return"("+this.c+BWn+this.d+(this.a?"cx":"")+this.b+")"},SWn.a=!0,SWn.c=0,SWn.d=0;var nut,tut,eut,iut,rut=mX(VZn,"Point",140);dAn(405,22,{3:1,35:1,22:1,405:1},YS);var cut,aut,uut,out,sut,hut,fut,lut,but,wut,dut,gut=Hen(VZn,"Point/Quadrant",405,Xnt,e3,P_);dAn(1642,1,{},Qv),SWn.b=null,SWn.c=null,SWn.d=null,SWn.e=null,SWn.f=null,mX(VZn,"RectilinearConvexHull",1642),dAn(574,1,{369:1},Mpn),SWn.Ke=function(n){F9(this,HB(n,140))},SWn.b=0,mX(VZn,"RectilinearConvexHull/MaximalElementsEventHandler",574),dAn(1644,1,SYn,St),SWn.ue=function(n,t){return RV(SD(n),SD(t))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(VZn,"RectilinearConvexHull/MaximalElementsEventHandler/lambda$0$Type",1644),dAn(1643,1,{369:1},ltn),SWn.Ke=function(n){INn(this,HB(n,140))},SWn.a=0,SWn.b=null,SWn.c=null,SWn.d=null,SWn.e=null,mX(VZn,"RectilinearConvexHull/RectangleEventHandler",1643),dAn(1645,1,SYn,Pt),SWn.ue=function(n,t){return o0(HB(n,140),HB(t,140))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(VZn,"RectilinearConvexHull/lambda$0$Type",1645),dAn(1646,1,SYn,Mt),SWn.ue=function(n,t){return s0(HB(n,140),HB(t,140))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(VZn,"RectilinearConvexHull/lambda$1$Type",1646),dAn(1647,1,SYn,$t),SWn.ue=function(n,t){return f0(HB(n,140),HB(t,140))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(VZn,"RectilinearConvexHull/lambda$2$Type",1647),dAn(1648,1,SYn,Lt),SWn.ue=function(n,t){return h0(HB(n,140),HB(t,140))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(VZn,"RectilinearConvexHull/lambda$3$Type",1648),dAn(1649,1,SYn,Nt),SWn.ue=function(n,t){return EMn(HB(n,140),HB(t,140))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(VZn,"RectilinearConvexHull/lambda$4$Type",1649),dAn(1650,1,{},AZ),mX(VZn,"Scanline",1650),dAn(2005,1,{}),mX(QZn,"AbstractGraphPlacer",2005),dAn(325,1,{325:1},Wx),SWn.mf=function(n){return!!this.nf(n)&&(ZCn(this.b,HB(yMn(n,(fWn(),Wft)),21),n),!0)},SWn.nf=function(n){var t,e,i;for(t=HB(yMn(n,(fWn(),Wft)),21),i=HB(f6(lut,t),21).Kc();i.Ob();)if(e=HB(i.Pb(),21),!HB(f6(this.b,e),15).dc())return!1;return!0},mX(QZn,"ComponentGroup",325),dAn(765,2005,{},Yv),SWn.of=function(n){var t;for(t=new Vb(this.a);t.ab&&(k=0,j+=l+c,l=0),nKn(u,k+(g=u.c).a,j+g.b),jO(g),i=e.Math.max(i,k+v.a),l=e.Math.max(l,v.b),k+=v.a+c;if(t.f.a=i,t.f.b=j+l,Gy(MD(yMn(a,Sdt)))){for(_Xn(r=new xt,n,c),f=n.Kc();f.Ob();)XR(jO(HB(f.Pb(),37).c),r.e);XR(jO(t.f),r.a)}g9(t,n)}else(m=HB(n.Xb(0),37))!=t&&(t.a.c=D8($nt,qWn,1,0,5,1),LKn(t,m,0,0),Gan(t,m),jQ(t.d,m.d),t.f.a=m.f.a,t.f.b=m.f.b)},mX(QZn,"SimpleRowGraphPlacer",1291),dAn(1292,1,SYn,Kt),SWn.ue=function(n,t){return Uan(HB(n,37),HB(t,37))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(QZn,"SimpleRowGraphPlacer/1",1292),dAn(1262,1,GYn,_t),SWn.Lb=function(n){var t;return!!(t=HB(yMn(HB(n,243).b,(qXn(),mgt)),74))&&0!=t.b},SWn.Fb=function(n){return this===n},SWn.Mb=function(n){var t;return!!(t=HB(yMn(HB(n,243).b,(qXn(),mgt)),74))&&0!=t.b},mX(n1n,"CompoundGraphPostprocessor/1",1262),dAn(1261,1,t1n,im),SWn.pf=function(n,t){yvn(this,HB(n,37),t)},mX(n1n,"CompoundGraphPreprocessor",1261),dAn(441,1,{441:1},Ufn),SWn.c=!1,mX(n1n,"CompoundGraphPreprocessor/ExternalPort",441),dAn(243,1,{243:1},N_),SWn.Ib=function(){return gx(this.c)+":"+ACn(this.b)},mX(n1n,"CrossHierarchyEdge",243),dAn(763,1,SYn,Fw),SWn.ue=function(n,t){return Qyn(this,HB(n,243),HB(t,243))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(n1n,"CrossHierarchyEdgeComparator",763),dAn(299,134,{3:1,299:1,94:1,134:1}),SWn.p=0,mX(e1n,"LGraphElement",299),dAn(17,299,{3:1,17:1,299:1,94:1,134:1},dY),SWn.Ib=function(){return ACn(this)};var kut=mX(e1n,"LEdge",17);dAn(37,299,{3:1,20:1,37:1,299:1,94:1,134:1},yin),SWn.Jc=function(n){i5(this,n)},SWn.Kc=function(){return new Vb(this.b)},SWn.Ib=function(){return 0==this.b.c.length?"G-unlayered"+NMn(this.a):0==this.a.c.length?"G-layered"+NMn(this.b):"G[layerless"+NMn(this.a)+", layers"+NMn(this.b)+"]"};var jut,Eut=mX(e1n,"LGraph",37);dAn(657,1,{}),SWn.qf=function(){return this.e.n},SWn.We=function(n){return yMn(this.e,n)},SWn.rf=function(){return this.e.o},SWn.sf=function(){return this.e.p},SWn.Xe=function(n){return Nx(this.e,n)},SWn.tf=function(n){this.e.n.a=n.a,this.e.n.b=n.b},SWn.uf=function(n){this.e.o.a=n.a,this.e.o.b=n.b},SWn.vf=function(n){this.e.p=n},mX(e1n,"LGraphAdapters/AbstractLShapeAdapter",657),dAn(577,1,{839:1},Bw),SWn.wf=function(){var n,t;if(!this.b)for(this.b=hx(this.a.b.c.length),t=new Vb(this.a.b);t.a0&&Rhn((w1(t-1,n.length),n.charCodeAt(t-1)),h1n);)--t;if(r> ",n),vyn(e)),sO(oO((n.a+="[",n),e.i),"]")),n.a},SWn.c=!0,SWn.d=!1;var But,Hut,qut,Gut,zut=mX(e1n,"LPort",11);dAn(397,1,vVn,qw),SWn.Jc=function(n){i5(this,n)},SWn.Kc=function(){return new Gw(new Vb(this.a.e))},mX(e1n,"LPort/1",397),dAn(1290,1,YWn,Gw),SWn.Nb=function(n){lU(this,n)},SWn.Pb=function(){return HB(t0(this.a),17).c},SWn.Ob=function(){return k$(this.a)},SWn.Qb=function(){$U(this.a)},mX(e1n,"LPort/1/1",1290),dAn(359,1,vVn,zw),SWn.Jc=function(n){i5(this,n)},SWn.Kc=function(){return new Uw(new Vb(this.a.g))},mX(e1n,"LPort/2",359),dAn(762,1,YWn,Uw),SWn.Nb=function(n){lU(this,n)},SWn.Pb=function(){return HB(t0(this.a),17).d},SWn.Ob=function(){return k$(this.a)},SWn.Qb=function(){$U(this.a)},mX(e1n,"LPort/2/1",762),dAn(1283,1,vVn,fP),SWn.Jc=function(n){i5(this,n)},SWn.Kc=function(){return new y6(this)},mX(e1n,"LPort/CombineIter",1283),dAn(201,1,YWn,y6),SWn.Nb=function(n){lU(this,n)},SWn.Qb=function(){oE()},SWn.Ob=function(){return UN(this)},SWn.Pb=function(){return k$(this.a)?t0(this.a):t0(this.b)},mX(e1n,"LPort/CombineIter/1",201),dAn(1285,1,GYn,Ht),SWn.Lb=function(n){return $z(n)},SWn.Fb=function(n){return this===n},SWn.Mb=function(n){return pcn(),0!=HB(n,11).e.c.length},mX(e1n,"LPort/lambda$0$Type",1285),dAn(1284,1,GYn,qt),SWn.Lb=function(n){return Lz(n)},SWn.Fb=function(n){return this===n},SWn.Mb=function(n){return pcn(),0!=HB(n,11).g.c.length},mX(e1n,"LPort/lambda$1$Type",1284),dAn(1286,1,GYn,Gt),SWn.Lb=function(n){return pcn(),HB(n,11).j==(jUn(),hCt)},SWn.Fb=function(n){return this===n},SWn.Mb=function(n){return pcn(),HB(n,11).j==(jUn(),hCt)},mX(e1n,"LPort/lambda$2$Type",1286),dAn(1287,1,GYn,zt),SWn.Lb=function(n){return pcn(),HB(n,11).j==(jUn(),sCt)},SWn.Fb=function(n){return this===n},SWn.Mb=function(n){return pcn(),HB(n,11).j==(jUn(),sCt)},mX(e1n,"LPort/lambda$3$Type",1287),dAn(1288,1,GYn,Ut),SWn.Lb=function(n){return pcn(),HB(n,11).j==(jUn(),PCt)},SWn.Fb=function(n){return this===n},SWn.Mb=function(n){return pcn(),HB(n,11).j==(jUn(),PCt)},mX(e1n,"LPort/lambda$4$Type",1288),dAn(1289,1,GYn,Xt),SWn.Lb=function(n){return pcn(),HB(n,11).j==(jUn(),CCt)},SWn.Fb=function(n){return this===n},SWn.Mb=function(n){return pcn(),HB(n,11).j==(jUn(),CCt)},mX(e1n,"LPort/lambda$5$Type",1289),dAn(29,299,{3:1,20:1,299:1,29:1,94:1,134:1},qX),SWn.Jc=function(n){i5(this,n)},SWn.Kc=function(){return new Vb(this.a)},SWn.Ib=function(){return"L_"+T7(this.b.b,this,0)+NMn(this.a)},mX(e1n,"Layer",29),dAn(1342,1,{},em),mX(g1n,p1n,1342),dAn(1346,1,{},Wt),SWn.Kb=function(n){return ITn(HB(n,82))},mX(g1n,"ElkGraphImporter/0methodref$connectableShapeToNode$Type",1346),dAn(1349,1,{},Vt),SWn.Kb=function(n){return ITn(HB(n,82))},mX(g1n,"ElkGraphImporter/1methodref$connectableShapeToNode$Type",1349),dAn(1343,1,bVn,Xw),SWn.td=function(n){IOn(this.a,HB(n,118))},mX(g1n,v1n,1343),dAn(1344,1,bVn,Ww),SWn.td=function(n){IOn(this.a,HB(n,118))},mX(g1n,m1n,1344),dAn(1345,1,{},Qt),SWn.Kb=function(n){return new Kq(null,new d1(vV(HB(n,79)),16))},mX(g1n,y1n,1345),dAn(1347,1,RVn,Vw),SWn.Mb=function(n){return FA(this.a,HB(n,33))},mX(g1n,k1n,1347),dAn(1348,1,{},Yt),SWn.Kb=function(n){return new Kq(null,new d1(mV(HB(n,79)),16))},mX(g1n,"ElkGraphImporter/lambda$5$Type",1348),dAn(1350,1,RVn,Qw),SWn.Mb=function(n){return BA(this.a,HB(n,33))},mX(g1n,"ElkGraphImporter/lambda$7$Type",1350),dAn(1351,1,RVn,Jt),SWn.Mb=function(n){return $Q(HB(n,79))},mX(g1n,"ElkGraphImporter/lambda$8$Type",1351),dAn(1278,1,{},Yh),mX(g1n,"ElkGraphLayoutTransferrer",1278),dAn(1279,1,RVn,Yw),SWn.Mb=function(n){return ZR(this.a,HB(n,17))},mX(g1n,"ElkGraphLayoutTransferrer/lambda$0$Type",1279),dAn(1280,1,bVn,Jw),SWn.td=function(n){yM(),VB(this.a,HB(n,17))},mX(g1n,"ElkGraphLayoutTransferrer/lambda$1$Type",1280),dAn(1281,1,RVn,Zw),SWn.Mb=function(n){return XD(this.a,HB(n,17))},mX(g1n,"ElkGraphLayoutTransferrer/lambda$2$Type",1281),dAn(1282,1,bVn,nd),SWn.td=function(n){yM(),VB(this.a,HB(n,17))},mX(g1n,"ElkGraphLayoutTransferrer/lambda$3$Type",1282),dAn(1485,1,t1n,Zt),SWn.pf=function(n,t){Qrn(HB(n,37),t)},mX(E1n,"CommentNodeMarginCalculator",1485),dAn(1486,1,{},ne),SWn.Kb=function(n){return new Kq(null,new d1(HB(n,29).a,16))},mX(E1n,"CommentNodeMarginCalculator/lambda$0$Type",1486),dAn(1487,1,bVn,te),SWn.td=function(n){eHn(HB(n,10))},mX(E1n,"CommentNodeMarginCalculator/lambda$1$Type",1487),dAn(1488,1,t1n,ee),SWn.pf=function(n,t){uDn(HB(n,37),t)},mX(E1n,"CommentPostprocessor",1488),dAn(1489,1,t1n,ie),SWn.pf=function(n,t){oUn(HB(n,37),t)},mX(E1n,"CommentPreprocessor",1489),dAn(1490,1,t1n,re),SWn.pf=function(n,t){ELn(HB(n,37),t)},mX(E1n,"ConstraintsPostprocessor",1490),dAn(1491,1,t1n,ce),SWn.pf=function(n,t){aan(HB(n,37),t)},mX(E1n,"EdgeAndLayerConstraintEdgeReverser",1491),dAn(1492,1,t1n,ae),SWn.pf=function(n,t){zwn(HB(n,37),t)},mX(E1n,"EndLabelPostprocessor",1492),dAn(1493,1,{},ue),SWn.Kb=function(n){return new Kq(null,new d1(HB(n,29).a,16))},mX(E1n,"EndLabelPostprocessor/lambda$0$Type",1493),dAn(1494,1,RVn,oe),SWn.Mb=function(n){return SY(HB(n,10))},mX(E1n,"EndLabelPostprocessor/lambda$1$Type",1494),dAn(1495,1,bVn,se),SWn.td=function(n){ijn(HB(n,10))},mX(E1n,"EndLabelPostprocessor/lambda$2$Type",1495),dAn(1496,1,t1n,he),SWn.pf=function(n,t){nIn(HB(n,37),t)},mX(E1n,"EndLabelPreprocessor",1496),dAn(1497,1,{},fe),SWn.Kb=function(n){return new Kq(null,new d1(HB(n,29).a,16))},mX(E1n,"EndLabelPreprocessor/lambda$0$Type",1497),dAn(1498,1,bVn,R_),SWn.td=function(n){_M(this.a,this.b,this.c,HB(n,10))},SWn.a=0,SWn.b=0,SWn.c=!1,mX(E1n,"EndLabelPreprocessor/lambda$1$Type",1498),dAn(1499,1,RVn,le),SWn.Mb=function(n){return zC(yMn(HB(n,70),(qXn(),Jdt)))===zC((Ktn(),WPt))},mX(E1n,"EndLabelPreprocessor/lambda$2$Type",1499),dAn(1500,1,bVn,td),SWn.td=function(n){RH(this.a,HB(n,70))},mX(E1n,"EndLabelPreprocessor/lambda$3$Type",1500),dAn(1501,1,RVn,be),SWn.Mb=function(n){return zC(yMn(HB(n,70),(qXn(),Jdt)))===zC((Ktn(),XPt))},mX(E1n,"EndLabelPreprocessor/lambda$4$Type",1501),dAn(1502,1,bVn,ed),SWn.td=function(n){RH(this.a,HB(n,70))},mX(E1n,"EndLabelPreprocessor/lambda$5$Type",1502),dAn(1551,1,t1n,Qh),SWn.pf=function(n,t){Cln(HB(n,37),t)},mX(E1n,"EndLabelSorter",1551),dAn(1552,1,SYn,we),SWn.ue=function(n,t){return qgn(HB(n,456),HB(t,456))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(E1n,"EndLabelSorter/1",1552),dAn(456,1,{456:1},MQ),mX(E1n,"EndLabelSorter/LabelGroup",456),dAn(1553,1,{},de),SWn.Kb=function(n){return TM(),new Kq(null,new d1(HB(n,29).a,16))},mX(E1n,"EndLabelSorter/lambda$0$Type",1553),dAn(1554,1,RVn,ge),SWn.Mb=function(n){return TM(),HB(n,10).k==(oSn(),Cut)},mX(E1n,"EndLabelSorter/lambda$1$Type",1554),dAn(1555,1,bVn,pe),SWn.td=function(n){sSn(HB(n,10))},mX(E1n,"EndLabelSorter/lambda$2$Type",1555),dAn(1556,1,RVn,ve),SWn.Mb=function(n){return TM(),zC(yMn(HB(n,70),(qXn(),Jdt)))===zC((Ktn(),XPt))},mX(E1n,"EndLabelSorter/lambda$3$Type",1556),dAn(1557,1,RVn,me),SWn.Mb=function(n){return TM(),zC(yMn(HB(n,70),(qXn(),Jdt)))===zC((Ktn(),WPt))},mX(E1n,"EndLabelSorter/lambda$4$Type",1557),dAn(1503,1,t1n,ye),SWn.pf=function(n,t){OHn(this,HB(n,37))},SWn.b=0,SWn.c=0,mX(E1n,"FinalSplineBendpointsCalculator",1503),dAn(1504,1,{},ke),SWn.Kb=function(n){return new Kq(null,new d1(HB(n,29).a,16))},mX(E1n,"FinalSplineBendpointsCalculator/lambda$0$Type",1504),dAn(1505,1,{},je),SWn.Kb=function(n){return new Kq(null,new UU(new sz(nN(bbn(HB(n,10)).a.Kc(),new f))))},mX(E1n,"FinalSplineBendpointsCalculator/lambda$1$Type",1505),dAn(1506,1,RVn,Ee),SWn.Mb=function(n){return!w5(HB(n,17))},mX(E1n,"FinalSplineBendpointsCalculator/lambda$2$Type",1506),dAn(1507,1,RVn,Te),SWn.Mb=function(n){return Nx(HB(n,17),(fWn(),xlt))},mX(E1n,"FinalSplineBendpointsCalculator/lambda$3$Type",1507),dAn(1508,1,bVn,id),SWn.td=function(n){UKn(this.a,HB(n,128))},mX(E1n,"FinalSplineBendpointsCalculator/lambda$4$Type",1508),dAn(1509,1,bVn,Me),SWn.td=function(n){ZPn(HB(n,17).a)},mX(E1n,"FinalSplineBendpointsCalculator/lambda$5$Type",1509),dAn(792,1,t1n,rd),SWn.pf=function(n,t){Qqn(this,HB(n,37),t)},mX(E1n,"GraphTransformer",792),dAn(511,22,{3:1,35:1,22:1,511:1},nP);var Uut,Xut,Wut,Vut=Hen(E1n,"GraphTransformer/Mode",511,Xnt,oJ,eB);dAn(1510,1,t1n,Se),SWn.pf=function(n,t){ixn(HB(n,37),t)},mX(E1n,"HierarchicalNodeResizingProcessor",1510),dAn(1511,1,t1n,Pe),SWn.pf=function(n,t){brn(HB(n,37),t)},mX(E1n,"HierarchicalPortConstraintProcessor",1511),dAn(1512,1,SYn,Ie),SWn.ue=function(n,t){return Opn(HB(n,10),HB(t,10))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(E1n,"HierarchicalPortConstraintProcessor/NodeComparator",1512),dAn(1513,1,t1n,Ce),SWn.pf=function(n,t){EBn(HB(n,37),t)},mX(E1n,"HierarchicalPortDummySizeProcessor",1513),dAn(1514,1,t1n,Oe),SWn.pf=function(n,t){ZDn(this,HB(n,37),t)},SWn.a=0,mX(E1n,"HierarchicalPortOrthogonalEdgeRouter",1514),dAn(1515,1,SYn,Ae),SWn.ue=function(n,t){return FN(HB(n,10),HB(t,10))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(E1n,"HierarchicalPortOrthogonalEdgeRouter/1",1515),dAn(1516,1,SYn,$e),SWn.ue=function(n,t){return I9(HB(n,10),HB(t,10))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(E1n,"HierarchicalPortOrthogonalEdgeRouter/2",1516),dAn(1517,1,t1n,Le),SWn.pf=function(n,t){TMn(HB(n,37),t)},mX(E1n,"HierarchicalPortPositionProcessor",1517),dAn(1518,1,t1n,Jh),SWn.pf=function(n,t){cXn(this,HB(n,37))},SWn.a=0,SWn.c=0,mX(E1n,"HighDegreeNodeLayeringProcessor",1518),dAn(571,1,{571:1},Ne),SWn.b=-1,SWn.d=-1,mX(E1n,"HighDegreeNodeLayeringProcessor/HighDegreeNodeInformation",571),dAn(1519,1,{},xe),SWn.Kb=function(n){return G_(),lbn(HB(n,10))},SWn.Fb=function(n){return this===n},mX(E1n,"HighDegreeNodeLayeringProcessor/lambda$0$Type",1519),dAn(1520,1,{},De),SWn.Kb=function(n){return G_(),bbn(HB(n,10))},SWn.Fb=function(n){return this===n},mX(E1n,"HighDegreeNodeLayeringProcessor/lambda$1$Type",1520),dAn(1526,1,t1n,Re),SWn.pf=function(n,t){gFn(this,HB(n,37),t)},mX(E1n,"HyperedgeDummyMerger",1526),dAn(793,1,{},K_),SWn.a=!1,SWn.b=!1,SWn.c=!1,mX(E1n,"HyperedgeDummyMerger/MergeState",793),dAn(1527,1,{},Ke),SWn.Kb=function(n){return new Kq(null,new d1(HB(n,29).a,16))},mX(E1n,"HyperedgeDummyMerger/lambda$0$Type",1527),dAn(1528,1,{},_e),SWn.Kb=function(n){return new Kq(null,new d1(HB(n,10).j,16))},mX(E1n,"HyperedgeDummyMerger/lambda$1$Type",1528),dAn(1529,1,bVn,Fe),SWn.td=function(n){HB(n,11).p=-1},mX(E1n,"HyperedgeDummyMerger/lambda$2$Type",1529),dAn(1530,1,t1n,Be),SWn.pf=function(n,t){wFn(HB(n,37),t)},mX(E1n,"HypernodesProcessor",1530),dAn(1531,1,t1n,He),SWn.pf=function(n,t){dFn(HB(n,37),t)},mX(E1n,"InLayerConstraintProcessor",1531),dAn(1532,1,t1n,qe),SWn.pf=function(n,t){Ncn(HB(n,37),t)},mX(E1n,"InnermostNodeMarginCalculator",1532),dAn(1533,1,t1n,Ge),SWn.pf=function(n,t){Qzn(this,HB(n,37))},SWn.a=_Qn,SWn.b=_Qn,SWn.c=KQn,SWn.d=KQn;var Qut,Yut,Jut,Zut,not,tot,eot,iot,rot,cot,aot,uot,oot,sot,hot,fot,lot,bot,wot,dot,got,pot,vot,mot,yot,kot,jot,Eot,Tot,Mot,Sot,Pot,Iot,Cot,Oot,Aot,$ot,Lot,Not,xot,Dot,Rot,Kot,_ot,Fot,Bot,Hot,qot,Got,zot,Uot,Xot,Wot,Vot,Qot,Yot,Jot,Zot=mX(E1n,"InteractiveExternalPortPositioner",1533);dAn(1534,1,{},ze),SWn.Kb=function(n){return HB(n,17).d.i},SWn.Fb=function(n){return this===n},mX(E1n,"InteractiveExternalPortPositioner/lambda$0$Type",1534),dAn(1535,1,{},cd),SWn.Kb=function(n){return GN(this.a,SD(n))},SWn.Fb=function(n){return this===n},mX(E1n,"InteractiveExternalPortPositioner/lambda$1$Type",1535),dAn(1536,1,{},Ue),SWn.Kb=function(n){return HB(n,17).c.i},SWn.Fb=function(n){return this===n},mX(E1n,"InteractiveExternalPortPositioner/lambda$2$Type",1536),dAn(1537,1,{},ad),SWn.Kb=function(n){return zN(this.a,SD(n))},SWn.Fb=function(n){return this===n},mX(E1n,"InteractiveExternalPortPositioner/lambda$3$Type",1537),dAn(1538,1,{},ud),SWn.Kb=function(n){return VR(this.a,SD(n))},SWn.Fb=function(n){return this===n},mX(E1n,"InteractiveExternalPortPositioner/lambda$4$Type",1538),dAn(1539,1,{},od),SWn.Kb=function(n){return QR(this.a,SD(n))},SWn.Fb=function(n){return this===n},mX(E1n,"InteractiveExternalPortPositioner/lambda$5$Type",1539),dAn(77,22,{3:1,35:1,22:1,77:1,234:1},tP),SWn.Kf=function(){switch(this.g){case 15:return new gc;case 22:return new pc;case 47:return new yc;case 28:case 35:return new ii;case 32:return new Zt;case 42:return new ee;case 1:return new ie;case 41:return new re;case 56:return new rd((Prn(),Gut));case 0:return new rd((Prn(),qut));case 2:return new ce;case 54:return new ae;case 33:return new he;case 51:return new ye;case 55:return new Se;case 13:return new Pe;case 38:return new Ce;case 44:return new Oe;case 40:return new Le;case 9:return new Jh;case 49:return new sx;case 37:return new Re;case 43:return new Be;case 27:return new He;case 30:return new qe;case 3:return new Ge;case 18:return new We;case 29:return new Ve;case 5:return new Zh;case 50:return new Xe;case 34:return new nf;case 36:return new ri;case 52:return new Qh;case 11:return new ai;case 7:return new ef;case 39:return new ui;case 45:return new oi;case 16:return new si;case 10:return new hi;case 48:return new li;case 21:return new bi;case 23:return new xy((sin(),$mt));case 8:return new di;case 12:return new pi;case 4:return new vi;case 19:return new uf;case 17:return new Ii;case 53:return new Ci;case 6:return new Hi;case 25:return new um;case 46:return new xi;case 31:return new DR;case 14:return new Qi;case 26:return new Pc;case 20:return new tr;case 24:return new xy((sin(),Lmt));default:throw qp(new Fy(S1n+(null!=this.f?this.f:""+this.g)))}};var nst,tst,est,ist,rst,cst,ast,ust,ost=Hen(E1n,P1n,77,Xnt,TNn,tB);dAn(1540,1,t1n,We),SWn.pf=function(n,t){Zzn(HB(n,37),t)},mX(E1n,"InvertedPortProcessor",1540),dAn(1541,1,t1n,Ve),SWn.pf=function(n,t){NKn(HB(n,37),t)},mX(E1n,"LabelAndNodeSizeProcessor",1541),dAn(1542,1,RVn,Qe),SWn.Mb=function(n){return HB(n,10).k==(oSn(),Cut)},mX(E1n,"LabelAndNodeSizeProcessor/lambda$0$Type",1542),dAn(1543,1,RVn,Ye),SWn.Mb=function(n){return HB(n,10).k==(oSn(),Sut)},mX(E1n,"LabelAndNodeSizeProcessor/lambda$1$Type",1543),dAn(1544,1,bVn,__),SWn.td=function(n){FM(this.b,this.a,this.c,HB(n,10))},SWn.a=!1,SWn.c=!1,mX(E1n,"LabelAndNodeSizeProcessor/lambda$2$Type",1544),dAn(1545,1,t1n,Zh),SWn.pf=function(n,t){lzn(HB(n,37),t)},mX(E1n,"LabelDummyInserter",1545),dAn(1546,1,GYn,Je),SWn.Lb=function(n){return zC(yMn(HB(n,70),(qXn(),Jdt)))===zC((Ktn(),UPt))},SWn.Fb=function(n){return this===n},SWn.Mb=function(n){return zC(yMn(HB(n,70),(qXn(),Jdt)))===zC((Ktn(),UPt))},mX(E1n,"LabelDummyInserter/1",1546),dAn(1547,1,t1n,Xe),SWn.pf=function(n,t){Iqn(HB(n,37),t)},mX(E1n,"LabelDummyRemover",1547),dAn(1548,1,RVn,Ze),SWn.Mb=function(n){return Gy(MD(yMn(HB(n,70),(qXn(),Ydt))))},mX(E1n,"LabelDummyRemover/lambda$0$Type",1548),dAn(1359,1,t1n,nf),SWn.pf=function(n,t){MGn(this,HB(n,37),t)},SWn.a=null,mX(E1n,"LabelDummySwitcher",1359),dAn(286,1,{286:1},aKn),SWn.c=0,SWn.d=null,SWn.f=0,mX(E1n,"LabelDummySwitcher/LabelDummyInfo",286),dAn(1360,1,{},ni),SWn.Kb=function(n){return Orn(),new Kq(null,new d1(HB(n,29).a,16))},mX(E1n,"LabelDummySwitcher/lambda$0$Type",1360),dAn(1361,1,RVn,ti),SWn.Mb=function(n){return Orn(),HB(n,10).k==(oSn(),Put)},mX(E1n,"LabelDummySwitcher/lambda$1$Type",1361),dAn(1362,1,{},fd),SWn.Kb=function(n){return WD(this.a,HB(n,10))},mX(E1n,"LabelDummySwitcher/lambda$2$Type",1362),dAn(1363,1,bVn,ld),SWn.td=function(n){JX(this.a,HB(n,286))},mX(E1n,"LabelDummySwitcher/lambda$3$Type",1363),dAn(1364,1,SYn,ei),SWn.ue=function(n,t){return Nz(HB(n,286),HB(t,286))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(E1n,"LabelDummySwitcher/lambda$4$Type",1364),dAn(791,1,t1n,ii),SWn.pf=function(n,t){J6(HB(n,37),t)},mX(E1n,"LabelManagementProcessor",791),dAn(1549,1,t1n,ri),SWn.pf=function(n,t){xxn(HB(n,37),t)},mX(E1n,"LabelSideSelector",1549),dAn(1550,1,RVn,ci),SWn.Mb=function(n){return Gy(MD(yMn(HB(n,70),(qXn(),Ydt))))},mX(E1n,"LabelSideSelector/lambda$0$Type",1550),dAn(1558,1,t1n,ai),SWn.pf=function(n,t){TBn(HB(n,37),t)},mX(E1n,"LayerConstraintPostprocessor",1558),dAn(1559,1,t1n,ef),SWn.pf=function(n,t){c$n(HB(n,37),t)},mX(E1n,"LayerConstraintPreprocessor",1559),dAn(360,22,{3:1,35:1,22:1,360:1},eP);var sst,hst,fst,lst,bst,wst,dst,gst,pst,vst=Hen(E1n,"LayerConstraintPreprocessor/HiddenNodeConnections",360,Xnt,i3,U_);dAn(1560,1,t1n,ui),SWn.pf=function(n,t){Tqn(HB(n,37),t)},mX(E1n,"LayerSizeAndGraphHeightCalculator",1560),dAn(1561,1,t1n,oi),SWn.pf=function(n,t){$Ln(HB(n,37),t)},mX(E1n,"LongEdgeJoiner",1561),dAn(1562,1,t1n,si),SWn.pf=function(n,t){VHn(HB(n,37),t)},mX(E1n,"LongEdgeSplitter",1562),dAn(1563,1,t1n,hi),SWn.pf=function(n,t){IGn(this,HB(n,37),t)},SWn.d=0,SWn.e=0,SWn.i=0,SWn.j=0,SWn.k=0,SWn.n=0,mX(E1n,"NodePromotion",1563),dAn(1564,1,{},fi),SWn.Kb=function(n){return HB(n,46),fN(),!0},SWn.Fb=function(n){return this===n},mX(E1n,"NodePromotion/lambda$0$Type",1564),dAn(1565,1,{},sd),SWn.Kb=function(n){return uV(this.a,HB(n,46))},SWn.Fb=function(n){return this===n},SWn.a=0,mX(E1n,"NodePromotion/lambda$1$Type",1565),dAn(1566,1,{},hd),SWn.Kb=function(n){return oV(this.a,HB(n,46))},SWn.Fb=function(n){return this===n},SWn.a=0,mX(E1n,"NodePromotion/lambda$2$Type",1566),dAn(1567,1,t1n,li),SWn.pf=function(n,t){WUn(HB(n,37),t)},mX(E1n,"NorthSouthPortPostprocessor",1567),dAn(1568,1,t1n,bi),SWn.pf=function(n,t){SUn(HB(n,37),t)},mX(E1n,"NorthSouthPortPreprocessor",1568),dAn(1569,1,SYn,wi),SWn.ue=function(n,t){return nun(HB(n,11),HB(t,11))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(E1n,"NorthSouthPortPreprocessor/lambda$0$Type",1569),dAn(1570,1,t1n,di),SWn.pf=function(n,t){L_n(HB(n,37),t)},mX(E1n,"PartitionMidprocessor",1570),dAn(1571,1,RVn,gi),SWn.Mb=function(n){return Nx(HB(n,10),(qXn(),Vgt))},mX(E1n,"PartitionMidprocessor/lambda$0$Type",1571),dAn(1572,1,bVn,bd),SWn.td=function(n){LQ(this.a,HB(n,10))},mX(E1n,"PartitionMidprocessor/lambda$1$Type",1572),dAn(1573,1,t1n,pi),SWn.pf=function(n,t){dNn(HB(n,37),t)},mX(E1n,"PartitionPostprocessor",1573),dAn(1574,1,t1n,vi),SWn.pf=function(n,t){xOn(HB(n,37),t)},mX(E1n,"PartitionPreprocessor",1574),dAn(1575,1,RVn,mi),SWn.Mb=function(n){return Nx(HB(n,10),(qXn(),Vgt))},mX(E1n,"PartitionPreprocessor/lambda$0$Type",1575),dAn(1576,1,{},yi),SWn.Kb=function(n){return new Kq(null,new UU(new sz(nN(bbn(HB(n,10)).a.Kc(),new f))))},mX(E1n,"PartitionPreprocessor/lambda$1$Type",1576),dAn(1577,1,RVn,ki),SWn.Mb=function(n){return Ngn(HB(n,17))},mX(E1n,"PartitionPreprocessor/lambda$2$Type",1577),dAn(1578,1,bVn,ji),SWn.td=function(n){Kun(HB(n,17))},mX(E1n,"PartitionPreprocessor/lambda$3$Type",1578),dAn(1579,1,t1n,uf),SWn.pf=function(n,t){o_n(HB(n,37),t)},mX(E1n,"PortListSorter",1579),dAn(1580,1,{},Ei),SWn.Kb=function(n){return Usn(),HB(n,11).e},mX(E1n,"PortListSorter/lambda$0$Type",1580),dAn(1581,1,{},Ti),SWn.Kb=function(n){return Usn(),HB(n,11).g},mX(E1n,"PortListSorter/lambda$1$Type",1581),dAn(1582,1,SYn,Mi),SWn.ue=function(n,t){return M4(HB(n,11),HB(t,11))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(E1n,"PortListSorter/lambda$2$Type",1582),dAn(1583,1,SYn,Si),SWn.ue=function(n,t){return Ayn(HB(n,11),HB(t,11))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(E1n,"PortListSorter/lambda$3$Type",1583),dAn(1584,1,SYn,Pi),SWn.ue=function(n,t){return tFn(HB(n,11),HB(t,11))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(E1n,"PortListSorter/lambda$4$Type",1584),dAn(1585,1,t1n,Ii),SWn.pf=function(n,t){VAn(HB(n,37),t)},mX(E1n,"PortSideProcessor",1585),dAn(1586,1,t1n,Ci),SWn.pf=function(n,t){ORn(HB(n,37),t)},mX(E1n,"ReversedEdgeRestorer",1586),dAn(1591,1,t1n,um),SWn.pf=function(n,t){Jmn(this,HB(n,37),t)},mX(E1n,"SelfLoopPortRestorer",1591),dAn(1592,1,{},Oi),SWn.Kb=function(n){return new Kq(null,new d1(HB(n,29).a,16))},mX(E1n,"SelfLoopPortRestorer/lambda$0$Type",1592),dAn(1593,1,RVn,Ai),SWn.Mb=function(n){return HB(n,10).k==(oSn(),Cut)},mX(E1n,"SelfLoopPortRestorer/lambda$1$Type",1593),dAn(1594,1,RVn,$i),SWn.Mb=function(n){return Nx(HB(n,10),(fWn(),Alt))},mX(E1n,"SelfLoopPortRestorer/lambda$2$Type",1594),dAn(1595,1,{},Li),SWn.Kb=function(n){return HB(yMn(HB(n,10),(fWn(),Alt)),403)},mX(E1n,"SelfLoopPortRestorer/lambda$3$Type",1595),dAn(1596,1,bVn,wd),SWn.td=function(n){PSn(this.a,HB(n,403))},mX(E1n,"SelfLoopPortRestorer/lambda$4$Type",1596),dAn(794,1,bVn,Ni),SWn.td=function(n){tPn(HB(n,101))},mX(E1n,"SelfLoopPortRestorer/lambda$5$Type",794),dAn(1597,1,t1n,xi),SWn.pf=function(n,t){Npn(HB(n,37),t)},mX(E1n,"SelfLoopPostProcessor",1597),dAn(1598,1,{},Di),SWn.Kb=function(n){return new Kq(null,new d1(HB(n,29).a,16))},mX(E1n,"SelfLoopPostProcessor/lambda$0$Type",1598),dAn(1599,1,RVn,Ri),SWn.Mb=function(n){return HB(n,10).k==(oSn(),Cut)},mX(E1n,"SelfLoopPostProcessor/lambda$1$Type",1599),dAn(1600,1,RVn,Ki),SWn.Mb=function(n){return Nx(HB(n,10),(fWn(),Alt))},mX(E1n,"SelfLoopPostProcessor/lambda$2$Type",1600),dAn(1601,1,bVn,_i),SWn.td=function(n){Njn(HB(n,10))},mX(E1n,"SelfLoopPostProcessor/lambda$3$Type",1601),dAn(1602,1,{},Fi),SWn.Kb=function(n){return new Kq(null,new d1(HB(n,101).f,1))},mX(E1n,"SelfLoopPostProcessor/lambda$4$Type",1602),dAn(1603,1,bVn,dd),SWn.td=function(n){u3(this.a,HB(n,409))},mX(E1n,"SelfLoopPostProcessor/lambda$5$Type",1603),dAn(1604,1,RVn,Bi),SWn.Mb=function(n){return!!HB(n,101).i},mX(E1n,"SelfLoopPostProcessor/lambda$6$Type",1604),dAn(1605,1,bVn,gd),SWn.td=function(n){My(this.a,HB(n,101))},mX(E1n,"SelfLoopPostProcessor/lambda$7$Type",1605),dAn(1587,1,t1n,Hi),SWn.pf=function(n,t){nLn(HB(n,37),t)},mX(E1n,"SelfLoopPreProcessor",1587),dAn(1588,1,{},qi),SWn.Kb=function(n){return new Kq(null,new d1(HB(n,101).f,1))},mX(E1n,"SelfLoopPreProcessor/lambda$0$Type",1588),dAn(1589,1,{},Gi),SWn.Kb=function(n){return HB(n,409).a},mX(E1n,"SelfLoopPreProcessor/lambda$1$Type",1589),dAn(1590,1,bVn,zi),SWn.td=function(n){G$(HB(n,17))},mX(E1n,"SelfLoopPreProcessor/lambda$2$Type",1590),dAn(1606,1,t1n,DR),SWn.pf=function(n,t){hSn(this,HB(n,37),t)},mX(E1n,"SelfLoopRouter",1606),dAn(1607,1,{},Ui),SWn.Kb=function(n){return new Kq(null,new d1(HB(n,29).a,16))},mX(E1n,"SelfLoopRouter/lambda$0$Type",1607),dAn(1608,1,RVn,Xi),SWn.Mb=function(n){return HB(n,10).k==(oSn(),Cut)},mX(E1n,"SelfLoopRouter/lambda$1$Type",1608),dAn(1609,1,RVn,Wi),SWn.Mb=function(n){return Nx(HB(n,10),(fWn(),Alt))},mX(E1n,"SelfLoopRouter/lambda$2$Type",1609),dAn(1610,1,{},Vi),SWn.Kb=function(n){return HB(yMn(HB(n,10),(fWn(),Alt)),403)},mX(E1n,"SelfLoopRouter/lambda$3$Type",1610),dAn(1611,1,bVn,iP),SWn.td=function(n){YV(this.a,this.b,HB(n,403))},mX(E1n,"SelfLoopRouter/lambda$4$Type",1611),dAn(1612,1,t1n,Qi),SWn.pf=function(n,t){lxn(HB(n,37),t)},mX(E1n,"SemiInteractiveCrossMinProcessor",1612),dAn(1613,1,RVn,Yi),SWn.Mb=function(n){return HB(n,10).k==(oSn(),Cut)},mX(E1n,"SemiInteractiveCrossMinProcessor/lambda$0$Type",1613),dAn(1614,1,RVn,Ji),SWn.Mb=function(n){return zq(HB(n,10))._b((qXn(),hpt))},mX(E1n,"SemiInteractiveCrossMinProcessor/lambda$1$Type",1614),dAn(1615,1,SYn,Zi),SWn.ue=function(n,t){return grn(HB(n,10),HB(t,10))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(E1n,"SemiInteractiveCrossMinProcessor/lambda$2$Type",1615),dAn(1616,1,{},nr),SWn.Ce=function(n,t){return WQ(HB(n,10),HB(t,10))},mX(E1n,"SemiInteractiveCrossMinProcessor/lambda$3$Type",1616),dAn(1618,1,t1n,tr),SWn.pf=function(n,t){SBn(HB(n,37),t)},mX(E1n,"SortByInputModelProcessor",1618),dAn(1619,1,RVn,er),SWn.Mb=function(n){return 0!=HB(n,11).g.c.length},mX(E1n,"SortByInputModelProcessor/lambda$0$Type",1619),dAn(1620,1,bVn,pd),SWn.td=function(n){lPn(this.a,HB(n,11))},mX(E1n,"SortByInputModelProcessor/lambda$1$Type",1620),dAn(1693,803,{},prn),SWn.Me=function(n){var t,e,i,r;switch(this.c=n,this.a.g){case 2:t=new xp,ZT($V(new Kq(null,new d1(this.c.a.b,16)),new gr),new oP(this,t)),vIn(this,new cr),Atn(t,new ar),t.c=D8($nt,qWn,1,0,5,1),ZT($V(new Kq(null,new d1(this.c.a.b,16)),new ur),new md(t)),vIn(this,new or),Atn(t,new sr),t.c=D8($nt,qWn,1,0,5,1),e=E$(rcn(NV(new Kq(null,new d1(this.c.a.b,16)),new yd(this))),new hr),ZT(new Kq(null,new d1(this.c.a.a,16)),new cP(e,t)),vIn(this,new lr),Atn(t,new ir),t.c=D8($nt,qWn,1,0,5,1);break;case 3:i=new xp,vIn(this,new rr),r=E$(rcn(NV(new Kq(null,new d1(this.c.a.b,16)),new vd(this))),new fr),ZT($V(new Kq(null,new d1(this.c.a.b,16)),new br),new uP(r,i)),vIn(this,new wr),Atn(i,new dr),i.c=D8($nt,qWn,1,0,5,1);break;default:throw qp(new jv)}},SWn.b=0,mX($1n,"EdgeAwareScanlineConstraintCalculation",1693),dAn(1694,1,GYn,rr),SWn.Lb=function(n){return aL(HB(n,57).g,145)},SWn.Fb=function(n){return this===n},SWn.Mb=function(n){return aL(HB(n,57).g,145)},mX($1n,"EdgeAwareScanlineConstraintCalculation/lambda$0$Type",1694),dAn(1695,1,{},vd),SWn.Fe=function(n){return zIn(this.a,HB(n,57))},mX($1n,"EdgeAwareScanlineConstraintCalculation/lambda$1$Type",1695),dAn(1703,1,KVn,rP),SWn.Vd=function(){Bkn(this.a,this.b,-1)},SWn.b=0,mX($1n,"EdgeAwareScanlineConstraintCalculation/lambda$10$Type",1703),dAn(1705,1,GYn,cr),SWn.Lb=function(n){return aL(HB(n,57).g,145)},SWn.Fb=function(n){return this===n},SWn.Mb=function(n){return aL(HB(n,57).g,145)},mX($1n,"EdgeAwareScanlineConstraintCalculation/lambda$11$Type",1705),dAn(1706,1,bVn,ar),SWn.td=function(n){HB(n,365).Vd()},mX($1n,"EdgeAwareScanlineConstraintCalculation/lambda$12$Type",1706),dAn(1707,1,RVn,ur),SWn.Mb=function(n){return aL(HB(n,57).g,10)},mX($1n,"EdgeAwareScanlineConstraintCalculation/lambda$13$Type",1707),dAn(1709,1,bVn,md),SWn.td=function(n){Tbn(this.a,HB(n,57))},mX($1n,"EdgeAwareScanlineConstraintCalculation/lambda$14$Type",1709),dAn(1708,1,KVn,bP),SWn.Vd=function(){Bkn(this.b,this.a,-1)},SWn.a=0,mX($1n,"EdgeAwareScanlineConstraintCalculation/lambda$15$Type",1708),dAn(1710,1,GYn,or),SWn.Lb=function(n){return aL(HB(n,57).g,10)},SWn.Fb=function(n){return this===n},SWn.Mb=function(n){return aL(HB(n,57).g,10)},mX($1n,"EdgeAwareScanlineConstraintCalculation/lambda$16$Type",1710),dAn(1711,1,bVn,sr),SWn.td=function(n){HB(n,365).Vd()},mX($1n,"EdgeAwareScanlineConstraintCalculation/lambda$17$Type",1711),dAn(1712,1,{},yd),SWn.Fe=function(n){return UIn(this.a,HB(n,57))},mX($1n,"EdgeAwareScanlineConstraintCalculation/lambda$18$Type",1712),dAn(1713,1,{},hr),SWn.De=function(){return 0},mX($1n,"EdgeAwareScanlineConstraintCalculation/lambda$19$Type",1713),dAn(1696,1,{},fr),SWn.De=function(){return 0},mX($1n,"EdgeAwareScanlineConstraintCalculation/lambda$2$Type",1696),dAn(1715,1,bVn,cP),SWn.td=function(n){qG(this.a,this.b,HB(n,307))},SWn.a=0,mX($1n,"EdgeAwareScanlineConstraintCalculation/lambda$20$Type",1715),dAn(1714,1,KVn,aP),SWn.Vd=function(){QAn(this.a,this.b,-1)},SWn.b=0,mX($1n,"EdgeAwareScanlineConstraintCalculation/lambda$21$Type",1714),dAn(1716,1,GYn,lr),SWn.Lb=function(n){return HB(n,57),!0},SWn.Fb=function(n){return this===n},SWn.Mb=function(n){return HB(n,57),!0},mX($1n,"EdgeAwareScanlineConstraintCalculation/lambda$22$Type",1716),dAn(1717,1,bVn,ir),SWn.td=function(n){HB(n,365).Vd()},mX($1n,"EdgeAwareScanlineConstraintCalculation/lambda$23$Type",1717),dAn(1697,1,RVn,br),SWn.Mb=function(n){return aL(HB(n,57).g,10)},mX($1n,"EdgeAwareScanlineConstraintCalculation/lambda$3$Type",1697),dAn(1699,1,bVn,uP),SWn.td=function(n){GG(this.a,this.b,HB(n,57))},SWn.a=0,mX($1n,"EdgeAwareScanlineConstraintCalculation/lambda$4$Type",1699),dAn(1698,1,KVn,wP),SWn.Vd=function(){Bkn(this.b,this.a,-1)},SWn.a=0,mX($1n,"EdgeAwareScanlineConstraintCalculation/lambda$5$Type",1698),dAn(1700,1,GYn,wr),SWn.Lb=function(n){return HB(n,57),!0},SWn.Fb=function(n){return this===n},SWn.Mb=function(n){return HB(n,57),!0},mX($1n,"EdgeAwareScanlineConstraintCalculation/lambda$6$Type",1700),dAn(1701,1,bVn,dr),SWn.td=function(n){HB(n,365).Vd()},mX($1n,"EdgeAwareScanlineConstraintCalculation/lambda$7$Type",1701),dAn(1702,1,RVn,gr),SWn.Mb=function(n){return aL(HB(n,57).g,145)},mX($1n,"EdgeAwareScanlineConstraintCalculation/lambda$8$Type",1702),dAn(1704,1,bVn,oP),SWn.td=function(n){Mtn(this.a,this.b,HB(n,57))},mX($1n,"EdgeAwareScanlineConstraintCalculation/lambda$9$Type",1704),dAn(1521,1,t1n,sx),SWn.pf=function(n,t){aqn(this,HB(n,37),t)},mX($1n,"HorizontalGraphCompactor",1521),dAn(1522,1,{},kd),SWn.Oe=function(n,t){var e,i;return nnn(n,t)?0:(e=l2(n),i=l2(t),e&&e.k==(oSn(),Sut)||i&&i.k==(oSn(),Sut)?0:XN(HB(yMn(this.a.a,(fWn(),$lt)),304),e?e.k:(oSn(),Iut),i?i.k:(oSn(),Iut)))},SWn.Pe=function(n,t){var e,i;return nnn(n,t)?1:(e=l2(n),i=l2(t),WN(HB(yMn(this.a.a,(fWn(),$lt)),304),e?e.k:(oSn(),Iut),i?i.k:(oSn(),Iut)))},mX($1n,"HorizontalGraphCompactor/1",1522),dAn(1523,1,{},pr),SWn.Ne=function(n,t){return SM(),0==n.a.i},mX($1n,"HorizontalGraphCompactor/lambda$0$Type",1523),dAn(1524,1,{},jd),SWn.Ne=function(n,t){return FQ(this.a,n,t)},mX($1n,"HorizontalGraphCompactor/lambda$1$Type",1524),dAn(1664,1,{},O7),mX($1n,"LGraphToCGraphTransformer",1664),dAn(1672,1,RVn,vr),SWn.Mb=function(n){return null!=n},mX($1n,"LGraphToCGraphTransformer/0methodref$nonNull$Type",1672),dAn(1665,1,{},mr),SWn.Kb=function(n){return z_(),Hbn(yMn(HB(HB(n,57).g,10),(fWn(),glt)))},mX($1n,"LGraphToCGraphTransformer/lambda$0$Type",1665),dAn(1666,1,{},yr),SWn.Kb=function(n){return z_(),yfn(HB(HB(n,57).g,145))},mX($1n,"LGraphToCGraphTransformer/lambda$1$Type",1666),dAn(1675,1,RVn,kr),SWn.Mb=function(n){return z_(),aL(HB(n,57).g,10)},mX($1n,"LGraphToCGraphTransformer/lambda$10$Type",1675),dAn(1676,1,bVn,jr),SWn.td=function(n){_Q(HB(n,57))},mX($1n,"LGraphToCGraphTransformer/lambda$11$Type",1676),dAn(1677,1,RVn,Er),SWn.Mb=function(n){return z_(),aL(HB(n,57).g,145)},mX($1n,"LGraphToCGraphTransformer/lambda$12$Type",1677),dAn(1681,1,bVn,Tr),SWn.td=function(n){mfn(HB(n,57))},mX($1n,"LGraphToCGraphTransformer/lambda$13$Type",1681),dAn(1678,1,bVn,Ed),SWn.td=function(n){oA(this.a,HB(n,8))},SWn.a=0,mX($1n,"LGraphToCGraphTransformer/lambda$14$Type",1678),dAn(1679,1,bVn,Td),SWn.td=function(n){hA(this.a,HB(n,110))},SWn.a=0,mX($1n,"LGraphToCGraphTransformer/lambda$15$Type",1679),dAn(1680,1,bVn,Md),SWn.td=function(n){sA(this.a,HB(n,8))},SWn.a=0,mX($1n,"LGraphToCGraphTransformer/lambda$16$Type",1680),dAn(1682,1,{},Mr),SWn.Kb=function(n){return z_(),new Kq(null,new UU(new sz(nN(bbn(HB(n,10)).a.Kc(),new f))))},mX($1n,"LGraphToCGraphTransformer/lambda$17$Type",1682),dAn(1683,1,RVn,Sr),SWn.Mb=function(n){return z_(),w5(HB(n,17))},mX($1n,"LGraphToCGraphTransformer/lambda$18$Type",1683),dAn(1684,1,bVn,Sd),SWn.td=function(n){Pnn(this.a,HB(n,17))},mX($1n,"LGraphToCGraphTransformer/lambda$19$Type",1684),dAn(1668,1,bVn,Pd),SWn.td=function(n){b0(this.a,HB(n,145))},mX($1n,"LGraphToCGraphTransformer/lambda$2$Type",1668),dAn(1685,1,{},Pr),SWn.Kb=function(n){return z_(),new Kq(null,new d1(HB(n,29).a,16))},mX($1n,"LGraphToCGraphTransformer/lambda$20$Type",1685),dAn(1686,1,{},Ir),SWn.Kb=function(n){return z_(),new Kq(null,new UU(new sz(nN(bbn(HB(n,10)).a.Kc(),new f))))},mX($1n,"LGraphToCGraphTransformer/lambda$21$Type",1686),dAn(1687,1,{},Cr),SWn.Kb=function(n){return z_(),HB(yMn(HB(n,17),(fWn(),xlt)),15)},mX($1n,"LGraphToCGraphTransformer/lambda$22$Type",1687),dAn(1688,1,RVn,Or),SWn.Mb=function(n){return ex(HB(n,15))},mX($1n,"LGraphToCGraphTransformer/lambda$23$Type",1688),dAn(1689,1,bVn,Id),SWn.td=function(n){IIn(this.a,HB(n,15))},mX($1n,"LGraphToCGraphTransformer/lambda$24$Type",1689),dAn(1667,1,bVn,sP),SWn.td=function(n){q3(this.a,this.b,HB(n,145))},mX($1n,"LGraphToCGraphTransformer/lambda$3$Type",1667),dAn(1669,1,{},Ar),SWn.Kb=function(n){return z_(),new Kq(null,new d1(HB(n,29).a,16))},mX($1n,"LGraphToCGraphTransformer/lambda$4$Type",1669),dAn(1670,1,{},$r),SWn.Kb=function(n){return z_(),new Kq(null,new UU(new sz(nN(bbn(HB(n,10)).a.Kc(),new f))))},mX($1n,"LGraphToCGraphTransformer/lambda$5$Type",1670),dAn(1671,1,{},Lr),SWn.Kb=function(n){return z_(),HB(yMn(HB(n,17),(fWn(),xlt)),15)},mX($1n,"LGraphToCGraphTransformer/lambda$6$Type",1671),dAn(1673,1,bVn,Cd),SWn.td=function(n){_Cn(this.a,HB(n,15))},mX($1n,"LGraphToCGraphTransformer/lambda$8$Type",1673),dAn(1674,1,bVn,hP),SWn.td=function(n){D$(this.a,this.b,HB(n,145))},mX($1n,"LGraphToCGraphTransformer/lambda$9$Type",1674),dAn(1663,1,{},Nr),SWn.Le=function(n){var t,e,i,r,c;for(this.a=n,this.d=new Bv,this.c=D8(Git,qWn,121,this.a.a.a.c.length,0,1),this.b=0,e=new Vb(this.a.a.a);e.a=g&&(VB(a,rln(f)),m=e.Math.max(m,y[f-1]-l),o+=d,p+=y[f-1]-p,l=y[f-1],d=s[f]),d=e.Math.max(d,s[f]),++f;o+=d}(w=e.Math.min(1/m,1/t.b/o))>r&&(r=w,i=a)}return i},SWn.Wf=function(){return!1},mX(F1n,"MSDCutIndexHeuristic",802),dAn(1617,1,t1n,Pc),SWn.pf=function(n,t){wBn(HB(n,37),t)},mX(F1n,"SingleEdgeGraphWrapper",1617),dAn(227,22,{3:1,35:1,22:1,227:1},EP);var cht,aht,uht,oht=Hen(B1n,"CenterEdgeLabelPlacementStrategy",227,Xnt,n9,V_);dAn(422,22,{3:1,35:1,22:1,422:1},TP);var sht,hht,fht,lht,bht=Hen(B1n,"ConstraintCalculationStrategy",422,Xnt,zY,Q_);dAn(314,22,{3:1,35:1,22:1,314:1,246:1,234:1},MP),SWn.Kf=function(){return hCn(this)},SWn.Xf=function(){return hCn(this)};var wht,dht,ght,pht,vht=Hen(B1n,"CrossingMinimizationStrategy",314,Xnt,M1,Y_);dAn(337,22,{3:1,35:1,22:1,337:1},SP);var mht,yht,kht,jht,Eht,Tht,Mht=Hen(B1n,"CuttingStrategy",337,Xnt,S1,nF);dAn(335,22,{3:1,35:1,22:1,335:1,246:1,234:1},PP),SWn.Kf=function(){return KAn(this)},SWn.Xf=function(){return KAn(this)};var Sht,Pht,Iht,Cht=Hen(B1n,"CycleBreakingStrategy",335,Xnt,N5,tF);dAn(419,22,{3:1,35:1,22:1,419:1},IP);var Oht,Aht,$ht,Lht,Nht=Hen(B1n,"DirectionCongruency",419,Xnt,GY,eF);dAn(450,22,{3:1,35:1,22:1,450:1},CP);var xht,Dht,Rht,Kht,_ht,Fht,Bht,Hht=Hen(B1n,"EdgeConstraint",450,Xnt,P1,iF);dAn(276,22,{3:1,35:1,22:1,276:1},OP);var qht,Ght,zht,Uht=Hen(B1n,"EdgeLabelSideSelection",276,Xnt,r9,rF);dAn(479,22,{3:1,35:1,22:1,479:1},AP);var Xht,Wht,Vht,Qht,Yht,Jht,Zht,nft=Hen(B1n,"EdgeStraighteningStrategy",479,Xnt,qY,cF);dAn(274,22,{3:1,35:1,22:1,274:1},$P);var tft,eft,ift,rft,cft,aft,uft,oft=Hen(B1n,"FixedAlignment",274,Xnt,e9,aF);dAn(275,22,{3:1,35:1,22:1,275:1},LP);var sft,hft,fft,lft,bft,wft,dft,gft,pft,vft,mft,yft=Hen(B1n,"GraphCompactionStrategy",275,Xnt,t9,uF);dAn(256,22,{3:1,35:1,22:1,256:1},NP);var kft,jft,Eft,Tft,Mft=Hen(B1n,"GraphProperties",256,Xnt,wcn,oF);dAn(292,22,{3:1,35:1,22:1,292:1},xP);var Sft,Pft,Ift,Cft,Oft=Hen(B1n,"GreedySwitchType",292,Xnt,O1,sF);dAn(303,22,{3:1,35:1,22:1,303:1},DP);var Aft,$ft,Lft,Nft=Hen(B1n,"InLayerConstraint",303,Xnt,C1,hF);dAn(420,22,{3:1,35:1,22:1,420:1},RP);var xft,Dft,Rft,Kft,_ft,Fft,Bft,Hft,qft,Gft,zft,Uft,Xft,Wft,Vft,Qft,Yft,Jft,Zft,nlt,tlt,elt,ilt,rlt,clt,alt,ult,olt,slt,hlt,flt,llt,blt,wlt,dlt,glt,plt,vlt,mlt,ylt,klt,jlt,Elt,Tlt,Mlt,Slt,Plt,Ilt,Clt,Olt,Alt,$lt,Llt,Nlt,xlt,Dlt,Rlt,Klt,_lt,Flt,Blt,Hlt,qlt,Glt,zlt=Hen(B1n,"InteractiveReferencePoint",420,Xnt,UY,fF);dAn(163,22,{3:1,35:1,22:1,163:1},HP);var Ult,Xlt,Wlt,Vlt,Qlt,Ylt,Jlt,Zlt,nbt,tbt,ebt,ibt,rbt,cbt,abt,ubt,obt,sbt,hbt,fbt,lbt,bbt,wbt,dbt,gbt,pbt,vbt,mbt,ybt,kbt,jbt,Ebt,Tbt,Mbt,Sbt,Pbt,Ibt,Cbt,Obt,Abt,$bt,Lbt,Nbt,xbt,Dbt,Rbt,Kbt,_bt,Fbt,Bbt,Hbt,qbt,Gbt,zbt,Ubt,Xbt,Wbt,Vbt,Qbt,Ybt,Jbt,Zbt,nwt,twt,ewt,iwt,rwt,cwt,awt,uwt,owt,swt,hwt,fwt,lwt,bwt,wwt,dwt,gwt,pwt,vwt,mwt,ywt,kwt,jwt,Ewt,Twt,Mwt,Swt,Pwt,Iwt,Cwt,Owt,Awt,$wt,Lwt,Nwt,xwt,Dwt,Rwt,Kwt,_wt,Fwt,Bwt,Hwt,qwt,Gwt,zwt,Uwt,Xwt,Wwt,Vwt,Qwt,Ywt,Jwt,Zwt,ndt,tdt,edt,idt,rdt,cdt,adt,udt,odt,sdt,hdt,fdt,ldt,bdt,wdt,ddt,gdt,pdt,vdt,mdt,ydt,kdt,jdt,Edt,Tdt,Mdt,Sdt,Pdt,Idt,Cdt,Odt,Adt,$dt,Ldt,Ndt,xdt,Ddt,Rdt,Kdt,_dt,Fdt,Bdt,Hdt,qdt,Gdt,zdt,Udt,Xdt,Wdt,Vdt,Qdt,Ydt,Jdt,Zdt,ngt,tgt,egt,igt,rgt,cgt,agt,ugt,ogt,sgt,hgt,fgt,lgt,bgt,wgt,dgt,ggt,pgt,vgt,mgt,ygt,kgt,jgt,Egt,Tgt,Mgt,Sgt,Pgt,Igt,Cgt,Ogt,Agt,$gt,Lgt,Ngt,xgt,Dgt,Rgt,Kgt,_gt,Fgt,Bgt,Hgt,qgt,Ggt,zgt,Ugt,Xgt,Wgt,Vgt,Qgt,Ygt,Jgt,Zgt,npt,tpt,ept,ipt,rpt,cpt,apt,upt,opt,spt,hpt,fpt,lpt,bpt,wpt,dpt,gpt,ppt,vpt,mpt,ypt,kpt,jpt,Ept,Tpt,Mpt,Spt,Ppt,Ipt,Cpt,Opt,Apt,$pt,Lpt,Npt,xpt,Dpt,Rpt,Kpt,_pt,Fpt,Bpt,Hpt,qpt,Gpt,zpt,Upt,Xpt,Wpt,Vpt,Qpt,Ypt,Jpt,Zpt,nvt,tvt,evt,ivt,rvt=Hen(B1n,"LayerConstraint",163,Xnt,R5,lF);dAn(848,1,YYn,ff),SWn.Qe=function(n){$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,X1n),""),"Direction Congruency"),"Specifies how drawings of the same graph with different layout directions compare to each other: either a natural reading direction is preserved or the drawings are rotated versions of each other."),Ibt),(IPn(),pMt)),Nht),tbn((cpn(),fMt))))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,W1n),""),"Feedback Edges"),"Whether feedback edges should be highlighted by routing around the nodes."),(fN(),!1)),dMt),jtt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,V1n),""),"Interactive Reference Point"),"Determines which point of a node is considered by interactive layout phases."),Ybt),pMt),zlt),tbn(fMt)))),u2(n,V1n,i0n,Zbt),u2(n,V1n,b0n,Jbt),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,Q1n),""),"Merge Edges"),"Edges that have no ports are merged so they touch the connected nodes at the same points. When this option is disabled, one port is created for each edge directly connected to a node. When it is enabled, all such incoming edges share an input port, and all outgoing edges share an output port."),!1),dMt),jtt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,Y1n),""),"Merge Hierarchy-Crossing Edges"),"If hierarchical layout is active, hierarchy-crossing edges use as few hierarchical ports as possible. They are broken by the algorithm, with hierarchical ports inserted as required. Usually, one such port is created for each edge at each hierarchy crossing point. With this option set to true, we try to create as few hierarchical ports as possible in the process. In particular, all edges that form a hyperedge can share a port."),!0),dMt),jtt),tbn(fMt)))),$bn(n,new wPn(Ij(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,J1n),""),"Allow Non-Flow Ports To Switch Sides"),"Specifies whether non-flow ports may switch sides if their node's port constraints are either FIXED_SIDE or FIXED_ORDER. A non-flow port is a port on a side that is not part of the currently configured layout flow. For instance, given a left-to-right layout direction, north and south ports would be considered non-flow ports. Further note that the underlying criterium whether to switch sides or not solely relies on the minimization of edge crossings. Hence, edge length and other aesthetics criteria are not addressed."),!1),dMt),jtt),tbn(lMt)),Iun(zk(Ytt,1),hVn,2,6,["org.eclipse.elk.layered.northOrSouthPort"])))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,Z1n),""),"Port Sorting Strategy"),"Only relevant for nodes with FIXED_SIDE port constraints. Determines the way a node's ports are distributed on the sides of a node if their order is not prescribed. The option is set on parent nodes."),Dwt),pMt),Uvt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,n0n),""),"Thoroughness"),"How much effort should be spent to produce a nice layout."),rln(7)),mMt),$tt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,t0n),""),"Add Unnecessary Bendpoints"),"Adds bend points even if an edge does not change direction. If true, each long edge dummy will contribute a bend point to its edges and hierarchy-crossing edges will always get a bend point where they cross hierarchy boundaries. By default, bend points are only added where an edge changes direction."),!1),dMt),jtt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,e0n),""),"Generate Position and Layer IDs"),"If enabled position id and layer id are generated, which are usually only used internally when setting the interactiveLayout option. This option should be specified on the root node."),!1),dMt),jtt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,i0n),"cycleBreaking"),"Cycle Breaking Strategy"),"Strategy for cycle breaking. Cycle breaking looks for cycles in the graph and determines which edges to reverse to break the cycles. Reversed edges will end up pointing to the opposite direction of regular edges (that is, reversed edges will point left if edges usually point right)."),Sbt),pMt),Cht),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,r0n),l2n),"Node Layering Strategy"),"Strategy for node layering."),wwt),pMt),svt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,c0n),l2n),"Layer Constraint"),"Determines a constraint on the placement of the node regarding the layering."),rwt),pMt),rvt),tbn(hMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,a0n),l2n),"Layer Choice Constraint"),"Allows to set a constraint regarding the layer placement of a node. Let i be the value of teh constraint. Assumed the drawing has n layers and i < n. If set to i, it expresses that the node should be placed in i-th layer. Should i>=n be true then the node is placed in the last layer of the drawing. Note that this option is not part of any of ELK Layered's default configurations but is only evaluated as part of the `InteractiveLayeredGraphVisitor`, which must be applied manually or used via the `DiagramLayoutEngine."),rln(-1)),mMt),$tt),tbn(hMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,u0n),l2n),"Layer ID"),"Layer identifier that was calculated by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set."),rln(-1)),mMt),$tt),tbn(hMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,o0n),b2n),"Upper Bound On Width [MinWidth Layerer]"),"Defines a loose upper bound on the width of the MinWidth layerer. If set to '-1' multiple values are tested and the best result is selected."),rln(4)),mMt),$tt),tbn(fMt)))),u2(n,o0n,r0n,uwt),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,s0n),b2n),"Upper Layer Estimation Scaling Factor [MinWidth Layerer]"),"Multiplied with Upper Bound On Width for defining an upper bound on the width of layers which haven't been determined yet, but whose maximum width had been (roughly) estimated by the MinWidth algorithm. Compensates for too high estimations. If set to '-1' multiple values are tested and the best result is selected."),rln(2)),mMt),$tt),tbn(fMt)))),u2(n,s0n,r0n,swt),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,h0n),w2n),"Node Promotion Strategy"),"Reduces number of dummy nodes after layering phase (if possible)."),lwt),pMt),Rvt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,f0n),w2n),"Max Node Promotion Iterations"),"Limits the number of iterations for node promotion."),rln(0)),mMt),$tt),tbn(fMt)))),u2(n,f0n,h0n,null),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,l0n),"layering.coffmanGraham"),"Layer Bound"),"The maximum number of nodes allowed per layer."),rln(RWn)),mMt),$tt),tbn(fMt)))),u2(n,l0n,r0n,twt),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,b0n),d2n),"Crossing Minimization Strategy"),"Strategy for crossing minimization."),Tbt),pMt),vht),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,w0n),d2n),"Force Node Model Order"),"The node order given by the model does not change to produce a better layout. E.g. if node A is before node B in the model this is not changed during crossing minimization. This assumes that the node model order is already respected before crossing minimization. This can be achieved by setting considerModelOrder.strategy to NODES_AND_EDGES."),!1),dMt),jtt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,d0n),d2n),"Hierarchical Sweepiness"),"How likely it is to use cross-hierarchy (1) vs bottom-up (-1)."),.1),gMt),Itt),tbn(fMt)))),u2(n,d0n,g2n,vbt),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,g0n),d2n),"Semi-Interactive Crossing Minimization"),"Preserves the order of nodes within a layer but still minimizes crossings between edges connecting long edge dummies. Derives the desired order from positions specified by the 'org.eclipse.elk.position' layout option. Requires a crossing minimization strategy that is able to process 'in-layer' constraints."),!1),dMt),jtt),tbn(fMt)))),u2(n,g0n,b0n,jbt),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,p0n),d2n),"Position Choice Constraint"),"Allows to set a constraint regarding the position placement of a node in a layer. Assumed the layer in which the node placed includes n other nodes and i < n. If set to i, it expresses that the node should be placed at the i-th position. Should i>=n be true then the node is placed at the last position in the layer. Note that this option is not part of any of ELK Layered's default configurations but is only evaluated as part of the `InteractiveLayeredGraphVisitor`, which must be applied manually or used via the `DiagramLayoutEngine."),rln(-1)),mMt),$tt),tbn(hMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,v0n),d2n),"Position ID"),"Position within a layer that was determined by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set."),rln(-1)),mMt),$tt),tbn(hMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,m0n),p2n),"Greedy Switch Activation Threshold"),"By default it is decided automatically if the greedy switch is activated or not. The decision is based on whether the size of the input graph (without dummy nodes) is smaller than the value of this option. A '0' enforces the activation."),rln(40)),mMt),$tt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,y0n),p2n),"Greedy Switch Crossing Minimization"),"Greedy Switch strategy for crossing minimization. The greedy switch heuristic is executed after the regular crossing minimization as a post-processor. Note that if 'hierarchyHandling' is set to 'INCLUDE_CHILDREN', the 'greedySwitchHierarchical.type' option must be used."),dbt),pMt),Oft),tbn(fMt)))),u2(n,y0n,b0n,gbt),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,k0n),"crossingMinimization.greedySwitchHierarchical"),"Greedy Switch Crossing Minimization (hierarchical)"),"Activates the greedy switch heuristic in case hierarchical layout is used. The differences to the non-hierarchical case (see 'greedySwitch.type') are: 1) greedy switch is inactive by default, 3) only the option value set on the node at which hierarchical layout starts is relevant, and 2) if it's activated by the user, it properly addresses hierarchy-crossing edges."),fbt),pMt),Oft),tbn(fMt)))),u2(n,k0n,b0n,lbt),u2(n,k0n,g2n,bbt),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,j0n),v2n),"Node Placement Strategy"),"Strategy for node placement."),Nwt),pMt),$vt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Tj(Cj(Sj(Pj(new Bu,E0n),v2n),"Favor Straight Edges Over Balancing"),"Favor straight edges over a balanced node placement. The default behavior is determined automatically based on the used 'edgeRouting'. For an orthogonal style it is set to true, for all other styles to false."),dMt),jtt),tbn(fMt)))),u2(n,E0n,j0n,Twt),u2(n,E0n,j0n,Mwt),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,T0n),m2n),"BK Edge Straightening"),"Specifies whether the Brandes Koepf node placer tries to increase the number of straight edges at the expense of diagram size. There is a subtle difference to the 'favorStraightEdges' option, which decides whether a balanced placement of the nodes is desired, or not. In bk terms this means combining the four alignments into a single balanced one, or not. This option on the other hand tries to straighten additional edges during the creation of each of the four alignments."),vwt),pMt),nft),tbn(fMt)))),u2(n,T0n,j0n,mwt),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,M0n),m2n),"BK Fixed Alignment"),"Tells the BK node placer to use a certain alignment (out of its four) instead of the one producing the smallest height, or the combination of all four."),kwt),pMt),oft),tbn(fMt)))),u2(n,M0n,j0n,jwt),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,S0n),"nodePlacement.linearSegments"),"Linear Segments Deflection Dampening"),"Dampens the movement of nodes to keep the diagram from getting too large."),.3),gMt),Itt),tbn(fMt)))),u2(n,S0n,j0n,Pwt),$bn(n,new wPn(Aj(Oj($j(Tj(Cj(Sj(Pj(new Bu,P0n),"nodePlacement.networkSimplex"),"Node Flexibility"),"Aims at shorter and straighter edges. Two configurations are possible: (a) allow ports to move freely on the side they are assigned to (the order is always defined beforehand), (b) additionally allow to enlarge a node wherever it helps. If this option is not configured for a node, the 'nodeFlexibility.default' value is used, which is specified for the node's parent."),pMt),jvt),tbn(hMt)))),u2(n,P0n,j0n,$wt),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,I0n),"nodePlacement.networkSimplex.nodeFlexibility"),"Node Flexibility Default"),"Default value of the 'nodeFlexibility' option for the children of a hierarchical node."),Owt),pMt),jvt),tbn(fMt)))),u2(n,I0n,j0n,Awt),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,C0n),y2n),"Self-Loop Distribution"),"Alter the distribution of the loops around the node. It only takes effect for PortConstraints.FREE."),Dbt),pMt),tmt),tbn(hMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,O0n),y2n),"Self-Loop Ordering"),"Alter the ordering of the loops they can either be stacked or sequenced. It only takes effect for PortConstraints.FREE."),Kbt),pMt),amt),tbn(hMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,A0n),"edgeRouting.splines"),"Spline Routing Mode"),"Specifies the way control points are assembled for each individual edge. CONSERVATIVE ensures that edges are properly routed around the nodes but feels rather orthogonal at times. SLOPPY uses fewer control points to obtain curvier edge routes but may result in edges overlapping nodes."),Fbt),pMt),fmt),tbn(fMt)))),u2(n,A0n,k2n,Bbt),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,$0n),"edgeRouting.splines.sloppy"),"Sloppy Spline Layer Spacing Factor"),"Spacing factor for routing area between layers when using sloppy spline routing."),.2),gMt),Itt),tbn(fMt)))),u2(n,$0n,k2n,qbt),u2(n,$0n,A0n,Gbt),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,L0n),"edgeRouting.polyline"),"Sloped Edge Zone Width"),"Width of the strip to the left and to the right of each layer where the polyline edge router is allowed to refrain from ensuring that edges are routed horizontally. This prevents awkward bend points for nodes that extent almost to the edge of their layer."),2),gMt),Itt),tbn(fMt)))),u2(n,L0n,k2n,Nbt),$bn(n,new wPn(Aj(Oj($j(Tj(Cj(Sj(Pj(new Bu,N0n),j2n),"Spacing Base Value"),"An optional base value for all other layout options of the 'spacing' group. It can be used to conveniently alter the overall 'spaciousness' of the drawing. Whenever an explicit value is set for the other layout options, this base value will have no effect. The base value is not inherited, i.e. it must be set for each hierarchical node."),gMt),Itt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,x0n),j2n),"Edge Node Between Layers Spacing"),"The spacing to be preserved between nodes and edges that are routed next to the node's layer. For the spacing between nodes and edges that cross the node's layer 'spacing.edgeNode' is used."),10),gMt),Itt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,D0n),j2n),"Edge Edge Between Layer Spacing"),"Spacing to be preserved between pairs of edges that are routed between the same pair of layers. Note that 'spacing.edgeEdge' is used for the spacing between pairs of edges crossing the same layer."),10),gMt),Itt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,R0n),j2n),"Node Node Between Layers Spacing"),"The spacing to be preserved between any pair of nodes of two adjacent layers. Note that 'spacing.nodeNode' is used for the spacing between nodes within the layer itself."),20),gMt),Itt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,K0n),E2n),"Direction Priority"),"Defines how important it is to have a certain edge point into the direction of the overall layout. This option is evaluated during the cycle breaking phase."),rln(0)),mMt),$tt),tbn(oMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,_0n),E2n),"Shortness Priority"),"Defines how important it is to keep an edge as short as possible. This option is evaluated during the layering phase."),rln(0)),mMt),$tt),tbn(oMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,F0n),E2n),"Straightness Priority"),"Defines how important it is to keep an edge straight, i.e. aligned with one of the two axes. This option is evaluated during node placement."),rln(0)),mMt),$tt),tbn(oMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,B0n),T2n),RJn),"Tries to further compact components (disconnected sub-graphs)."),!1),dMt),jtt),tbn(fMt)))),u2(n,B0n,jZn,!0),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,H0n),M2n),"Post Compaction Strategy"),S2n),Jlt),pMt),yft),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,q0n),M2n),"Post Compaction Constraint Calculation"),S2n),Qlt),pMt),bht),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,G0n),P2n),"High Degree Node Treatment"),"Makes room around high degree nodes to place leafs and trees."),!1),dMt),jtt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,z0n),P2n),"High Degree Node Threshold"),"Whether a node is considered to have a high degree."),rln(16)),mMt),$tt),tbn(fMt)))),u2(n,z0n,G0n,!0),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,U0n),P2n),"High Degree Node Maximum Tree Height"),"Maximum height of a subtree connected to a high degree node to be moved to separate layers."),rln(5)),mMt),$tt),tbn(fMt)))),u2(n,U0n,G0n,!0),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,X0n),I2n),"Graph Wrapping Strategy"),"For certain graphs and certain prescribed drawing areas it may be desirable to split the laid out graph into chunks that are placed side by side. The edges that connect different chunks are 'wrapped' around from the end of one chunk to the start of the other chunk. The points between the chunks are referred to as 'cuts'."),wdt),pMt),Pmt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,W0n),I2n),"Additional Wrapped Edges Spacing"),"To visually separate edges that are wrapped from regularly routed edges an additional spacing value can be specified in form of this layout option. The spacing is added to the regular edgeNode spacing."),10),gMt),Itt),tbn(fMt)))),u2(n,W0n,X0n,Xwt),u2(n,W0n,X0n,Wwt),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,V0n),I2n),"Correction Factor for Wrapping"),"At times and for certain types of graphs the executed wrapping may produce results that are consistently biased in the same fashion: either wrapping to often or to rarely. This factor can be used to correct the bias. Internally, it is simply multiplied with the 'aspect ratio' layout option."),1),gMt),Itt),tbn(fMt)))),u2(n,V0n,X0n,Qwt),u2(n,V0n,X0n,Ywt),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,Q0n),C2n),"Cutting Strategy"),"The strategy by which the layer indexes are determined at which the layering crumbles into chunks."),rdt),pMt),Mht),tbn(fMt)))),u2(n,Q0n,X0n,cdt),u2(n,Q0n,X0n,adt),$bn(n,new wPn(Aj(Oj($j(Tj(Cj(Sj(Pj(new Bu,Y0n),C2n),"Manually Specified Cuts"),"Allows the user to specify her own cuts for a certain graph."),yMt),Knt),tbn(fMt)))),u2(n,Y0n,Q0n,Zwt),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,J0n),"wrapping.cutting.msd"),"MSD Freedom"),"The MSD cutting strategy starts with an initial guess on the number of chunks the graph should be split into. The freedom specifies how much the strategy may deviate from this guess. E.g. if an initial number of 3 is computed, a freedom of 1 allows 2, 3, and 4 cuts."),tdt),mMt),$tt),tbn(fMt)))),u2(n,J0n,Q0n,edt),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,Z0n),O2n),"Validification Strategy"),"When wrapping graphs, one can specify indices that are not allowed as split points. The validification strategy makes sure every computed split point is allowed."),mdt),pMt),gmt),tbn(fMt)))),u2(n,Z0n,X0n,ydt),u2(n,Z0n,X0n,kdt),$bn(n,new wPn(Aj(Oj($j(Tj(Cj(Sj(Pj(new Bu,n2n),O2n),"Valid Indices for Wrapping"),null),yMt),Knt),tbn(fMt)))),u2(n,n2n,X0n,gdt),u2(n,n2n,X0n,pdt),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,t2n),A2n),"Improve Cuts"),"For general graphs it is important that not too many edges wrap backwards. Thus a compromise between evenly-distributed cuts and the total number of cut edges is sought."),!0),dMt),jtt),tbn(fMt)))),u2(n,t2n,X0n,hdt),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,e2n),A2n),"Distance Penalty When Improving Cuts"),null),2),gMt),Itt),tbn(fMt)))),u2(n,e2n,X0n,odt),u2(n,e2n,t2n,!0),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,i2n),A2n),"Improve Wrapped Edges"),"The initial wrapping is performed in a very simple way. As a consequence, edges that wrap from one chunk to another may be unnecessarily long. Activating this option tries to shorten such edges."),!0),dMt),jtt),tbn(fMt)))),u2(n,i2n,X0n,ldt),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,r2n),$2n),"Edge Label Side Selection"),"Method to decide on edge label sides."),$bt),pMt),Uht),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,c2n),$2n),"Edge Center Label Placement Strategy"),"Determines in which layer center labels of long edges should be placed."),Obt),pMt),oht),TG(fMt,Iun(zk(EMt,1),LVn,175,0,[sMt]))))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,a2n),L2n),"Consider Model Order"),"Preserves the order of nodes and edges in the model file if this does not lead to additional edge crossings. Depending on the strategy this is not always possible since the node and edge order might be conflicting."),ubt),pMt),Bvt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,u2n),L2n),"No Model Order"),"Set on a node to not set a model order for this node even though it is a real node."),!1),dMt),jtt),tbn(hMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,o2n),L2n),"Consider Model Order for Components"),"If set to NONE the usual ordering strategy (by cumulative node priority and size of nodes) is used. INSIDE_PORT_SIDES orders the components with external ports only inside the groups with the same port side. FORCE_MODEL_ORDER enforces the mode order on components. This option might produce bad alignments and sub optimal drawings in terms of used area since the ordering should be respected."),nbt),pMt),yut),tbn(fMt)))),u2(n,o2n,jZn,null),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,s2n),L2n),"Long Edge Ordering Strategy"),"Indicates whether long edges are sorted under, over, or equal to nodes that have no connection to a previous layer in a left-to-right or right-to-left layout. Under and over changes to right and left in a vertical layout."),rbt),pMt),dvt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,h2n),L2n),"Crossing Counter Node Order Influence"),"Indicates with what percentage (1 for 100%) violations of the node model order are weighted against the crossings e.g. a value of 0.5 means two model order violations are as important as on edge crossing. This allows some edge crossings in favor of preserving the model order. It is advised to set this value to a very small positive value (e.g. 0.001) to have minimal crossing and a optimal node order. Defaults to no influence (0)."),0),gMt),Itt),tbn(fMt)))),u2(n,h2n,a2n,null),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,f2n),L2n),"Crossing Counter Port Order Influence"),"Indicates with what percentage (1 for 100%) violations of the port model order are weighted against the crossings e.g. a value of 0.5 means two model order violations are as important as on edge crossing. This allows some edge crossings in favor of preserving the model order. It is advised to set this value to a very small positive value (e.g. 0.001) to have minimal crossing and a optimal port order. Defaults to no influence (0)."),0),gMt),Itt),tbn(fMt)))),u2(n,f2n,a2n,null),mWn((new wf,n))},mX(B1n,"LayeredMetaDataProvider",848),dAn(986,1,YYn,wf),SWn.Qe=function(n){mWn(n)},mX(B1n,"LayeredOptions",986),dAn(987,1,{},Cc),SWn.$e=function(){return new Xv},SWn._e=function(n){},mX(B1n,"LayeredOptions/LayeredFactory",987),dAn(1372,1,{}),SWn.a=0,mX(k3n,"ElkSpacings/AbstractSpacingsBuilder",1372),dAn(779,1372,{},own),mX(B1n,"LayeredSpacings/LayeredSpacingsBuilder",779),dAn(313,22,{3:1,35:1,22:1,313:1,246:1,234:1},KP),SWn.Kf=function(){return cLn(this)},SWn.Xf=function(){return cLn(this)};var cvt,avt,uvt,ovt,svt=Hen(B1n,"LayeringStrategy",313,Xnt,i9,bF);dAn(378,22,{3:1,35:1,22:1,378:1},_P);var hvt,fvt,lvt,bvt,wvt,dvt=Hen(B1n,"LongEdgeOrderingStrategy",378,Xnt,T1,wF);dAn(197,22,{3:1,35:1,22:1,197:1},FP);var gvt,pvt,vvt,mvt,yvt,kvt,jvt=Hen(B1n,"NodeFlexibility",197,Xnt,j3,dF);dAn(315,22,{3:1,35:1,22:1,315:1,246:1,234:1},BP),SWn.Kf=function(){return RAn(this)},SWn.Xf=function(){return RAn(this)};var Evt,Tvt,Mvt,Svt,Pvt,Ivt,Cvt,Ovt,Avt,$vt=Hen(B1n,"NodePlacementStrategy",315,Xnt,L5,kF);dAn(260,22,{3:1,35:1,22:1,260:1},qP);var Lvt,Nvt,xvt,Dvt,Rvt=Hen(B1n,"NodePromotionStrategy",260,Xnt,Htn,pF);dAn(339,22,{3:1,35:1,22:1,339:1},GP);var Kvt,_vt,Fvt,Bvt=Hen(B1n,"OrderingStrategy",339,Xnt,$1,vF);dAn(421,22,{3:1,35:1,22:1,421:1},zP);var Hvt,qvt,Gvt,zvt,Uvt=Hen(B1n,"PortSortingStrategy",421,Xnt,XY,mF);dAn(452,22,{3:1,35:1,22:1,452:1},UP);var Xvt,Wvt,Vvt,Qvt,Yvt=Hen(B1n,"PortType",452,Xnt,A1,gF);dAn(375,22,{3:1,35:1,22:1,375:1},XP);var Jvt,Zvt,nmt,tmt=Hen(B1n,"SelfLoopDistributionStrategy",375,Xnt,L1,yF);dAn(376,22,{3:1,35:1,22:1,376:1},WP);var emt,imt,rmt,cmt,amt=Hen(B1n,"SelfLoopOrderingStrategy",376,Xnt,HY,jF);dAn(304,1,{304:1},hGn),mX(B1n,"Spacings",304),dAn(336,22,{3:1,35:1,22:1,336:1},VP);var umt,omt,smt,hmt,fmt=Hen(B1n,"SplineRoutingMode",336,Xnt,x1,EF);dAn(338,22,{3:1,35:1,22:1,338:1},QP);var lmt,bmt,wmt,dmt,gmt=Hen(B1n,"ValidifyStrategy",338,Xnt,D1,TF);dAn(377,22,{3:1,35:1,22:1,377:1},YP);var pmt,vmt,mmt,ymt,kmt,jmt,Emt,Tmt,Mmt,Smt,Pmt=Hen(B1n,"WrappingStrategy",377,Xnt,N1,MF);dAn(1383,1,T3n,df),SWn.Yf=function(n){return HB(n,37),vmt},SWn.pf=function(n,t){ZHn(this,HB(n,37),t)},mX(M3n,"DepthFirstCycleBreaker",1383),dAn(782,1,T3n,_G),SWn.Yf=function(n){return HB(n,37),mmt},SWn.pf=function(n,t){XXn(this,HB(n,37),t)},SWn.Zf=function(n){return HB(Dq(n,vvn(this.d,n.c.length)),10)},mX(M3n,"GreedyCycleBreaker",782),dAn(1386,782,T3n,MC),SWn.Zf=function(n){var t,e,i,r;for(r=null,t=RWn,i=new Vb(n);i.a1&&(Gy(MD(yMn(mW((b1(0,n.c.length),HB(n.c[0],10))),(qXn(),Ddt))))?K$n(n,this.d,HB(this,660)):(PQ(),y$(n,this.d)),Han(this.e,n))},SWn.Sf=function(n,t,e,i){var r,c,a,u,o,s,h;for(t!=Zq(e,n.length)&&(c=n[t-(e?1:-1)],z6(this.f,c,e?(uin(),Gvt):(uin(),qvt))),r=n[t][0],h=!i||r.k==(oSn(),Sut),s=o6(n[t]),this.ag(s,h,!1,e),a=0,o=new Vb(s);o.a"),n0?oZ(this.a,n[t-1],n[t]):!e&&t1&&(Gy(MD(yMn(mW((b1(0,n.c.length),HB(n.c[0],10))),(qXn(),Ddt))))?K$n(n,this.d,this):(PQ(),y$(n,this.d)),Gy(MD(yMn(mW((b1(0,n.c.length),HB(n.c[0],10))),Ddt)))||Han(this.e,n))},mX(C3n,"ModelOrderBarycenterHeuristic",660),dAn(1803,1,SYn,Vd),SWn.ue=function(n,t){return _Sn(this.a,HB(n,10),HB(t,10))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(C3n,"ModelOrderBarycenterHeuristic/lambda$0$Type",1803),dAn(1403,1,T3n,Ef),SWn.Yf=function(n){var t;return HB(n,37),gq(t=jA(Rmt),(kMn(),Fat),(bWn(),Hot)),t},SWn.pf=function(n,t){yY((HB(n,37),t))},mX(C3n,"NoCrossingMinimizer",1403),dAn(796,402,P3n,Kj),SWn.$f=function(n,t,e){var i,r,c,a,u,o,s,h,f,l,b;switch(f=this.g,e.g){case 1:for(r=0,c=0,h=new Vb(n.j);h.a1&&(r.j==(jUn(),sCt)?this.b[n]=!0:r.j==CCt&&n>0&&(this.b[n-1]=!0))},SWn.f=0,mX(N1n,"AllCrossingsCounter",1798),dAn(587,1,{},yrn),SWn.b=0,SWn.d=0,mX(N1n,"BinaryIndexedTree",587),dAn(524,1,{},YK),mX(N1n,"CrossingsCounter",524),dAn(1906,1,SYn,Qd),SWn.ue=function(n,t){return Wq(this.a,HB(n,11),HB(t,11))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(N1n,"CrossingsCounter/lambda$0$Type",1906),dAn(1907,1,SYn,Yd),SWn.ue=function(n,t){return Vq(this.a,HB(n,11),HB(t,11))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(N1n,"CrossingsCounter/lambda$1$Type",1907),dAn(1908,1,SYn,Jd),SWn.ue=function(n,t){return Qq(this.a,HB(n,11),HB(t,11))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(N1n,"CrossingsCounter/lambda$2$Type",1908),dAn(1909,1,SYn,Zd),SWn.ue=function(n,t){return Yq(this.a,HB(n,11),HB(t,11))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(N1n,"CrossingsCounter/lambda$3$Type",1909),dAn(1910,1,bVn,ng),SWn.td=function(n){v7(this.a,HB(n,11))},mX(N1n,"CrossingsCounter/lambda$4$Type",1910),dAn(1911,1,RVn,tg),SWn.Mb=function(n){return kC(this.a,HB(n,11))},mX(N1n,"CrossingsCounter/lambda$5$Type",1911),dAn(1912,1,bVn,eg),SWn.td=function(n){yC(this,n)},mX(N1n,"CrossingsCounter/lambda$6$Type",1912),dAn(1913,1,bVn,nI),SWn.td=function(n){var t;fH(),g3(this.b,(t=this.a,HB(n,11),t))},mX(N1n,"CrossingsCounter/lambda$7$Type",1913),dAn(826,1,GYn,Dc),SWn.Lb=function(n){return fH(),Nx(HB(n,11),(fWn(),Tlt))},SWn.Fb=function(n){return this===n},SWn.Mb=function(n){return fH(),Nx(HB(n,11),(fWn(),Tlt))},mX(N1n,"CrossingsCounter/lambda$8$Type",826),dAn(1905,1,{},ig),mX(N1n,"HyperedgeCrossingsCounter",1905),dAn(467,1,{35:1,467:1},RR),SWn.wd=function(n){return mgn(this,HB(n,467))},SWn.b=0,SWn.c=0,SWn.e=0,SWn.f=0;var Bmt=mX(N1n,"HyperedgeCrossingsCounter/Hyperedge",467);dAn(362,1,{35:1,362:1},GV),SWn.wd=function(n){return b$n(this,HB(n,362))},SWn.b=0,SWn.c=0;var Hmt,qmt,Gmt=mX(N1n,"HyperedgeCrossingsCounter/HyperedgeCorner",362);dAn(523,22,{3:1,35:1,22:1,523:1},ZP);var zmt,Umt,Xmt,Wmt,Vmt,Qmt=Hen(N1n,"HyperedgeCrossingsCounter/HyperedgeCorner/Type",523,Xnt,WY,PF);dAn(1405,1,T3n,bf),SWn.Yf=function(n){return HB(yMn(HB(n,37),(fWn(),nlt)),21).Hc((wDn(),bft))?Umt:null},SWn.pf=function(n,t){bjn(this,HB(n,37),t)},mX(O3n,"InteractiveNodePlacer",1405),dAn(1406,1,T3n,lf),SWn.Yf=function(n){return HB(yMn(HB(n,37),(fWn(),nlt)),21).Hc((wDn(),bft))?Xmt:null},SWn.pf=function(n,t){Emn(this,HB(n,37),t)},mX(O3n,"LinearSegmentsNodePlacer",1406),dAn(257,1,{35:1,257:1},cm),SWn.wd=function(n){return oj(this,HB(n,257))},SWn.Fb=function(n){var t;return!!aL(n,257)&&(t=HB(n,257),this.b==t.b)},SWn.Hb=function(){return this.b},SWn.Ib=function(){return"ls"+NMn(this.e)},SWn.a=0,SWn.b=0,SWn.c=-1,SWn.d=-1,SWn.g=0;var Ymt,Jmt=mX(O3n,"LinearSegmentsNodePlacer/LinearSegment",257);dAn(1408,1,T3n,FG),SWn.Yf=function(n){return HB(yMn(HB(n,37),(fWn(),nlt)),21).Hc((wDn(),bft))?Ymt:null},SWn.pf=function(n,t){PXn(this,HB(n,37),t)},SWn.b=0,SWn.g=0,mX(O3n,"NetworkSimplexPlacer",1408),dAn(1427,1,SYn,Rc),SWn.ue=function(n,t){return T$(HB(n,19).a,HB(t,19).a)},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(O3n,"NetworkSimplexPlacer/0methodref$compare$Type",1427),dAn(1429,1,SYn,Kc),SWn.ue=function(n,t){return T$(HB(n,19).a,HB(t,19).a)},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(O3n,"NetworkSimplexPlacer/1methodref$compare$Type",1429),dAn(649,1,{649:1},tI);var Zmt=mX(O3n,"NetworkSimplexPlacer/EdgeRep",649);dAn(401,1,{401:1},zV),SWn.b=!1;var nyt,tyt,eyt,iyt=mX(O3n,"NetworkSimplexPlacer/NodeRep",401);dAn(508,12,{3:1,4:1,20:1,28:1,52:1,12:1,14:1,15:1,54:1,508:1},om),mX(O3n,"NetworkSimplexPlacer/Path",508),dAn(1409,1,{},_c),SWn.Kb=function(n){return HB(n,17).d.i.k},mX(O3n,"NetworkSimplexPlacer/Path/lambda$0$Type",1409),dAn(1410,1,RVn,Fc),SWn.Mb=function(n){return HB(n,267)==(oSn(),Iut)},mX(O3n,"NetworkSimplexPlacer/Path/lambda$1$Type",1410),dAn(1411,1,{},Bc),SWn.Kb=function(n){return HB(n,17).d.i},mX(O3n,"NetworkSimplexPlacer/Path/lambda$2$Type",1411),dAn(1412,1,RVn,rg),SWn.Mb=function(n){return qD(edn(HB(n,10)))},mX(O3n,"NetworkSimplexPlacer/Path/lambda$3$Type",1412),dAn(1413,1,RVn,Hc),SWn.Mb=function(n){return fq(HB(n,11))},mX(O3n,"NetworkSimplexPlacer/lambda$0$Type",1413),dAn(1414,1,bVn,eI),SWn.td=function(n){R$(this.a,this.b,HB(n,11))},mX(O3n,"NetworkSimplexPlacer/lambda$1$Type",1414),dAn(1423,1,bVn,cg),SWn.td=function(n){VIn(this.a,HB(n,17))},mX(O3n,"NetworkSimplexPlacer/lambda$10$Type",1423),dAn(1424,1,{},qc),SWn.Kb=function(n){return HZ(),new Kq(null,new d1(HB(n,29).a,16))},mX(O3n,"NetworkSimplexPlacer/lambda$11$Type",1424),dAn(1425,1,bVn,ag),SWn.td=function(n){HDn(this.a,HB(n,10))},mX(O3n,"NetworkSimplexPlacer/lambda$12$Type",1425),dAn(1426,1,{},Gc),SWn.Kb=function(n){return HZ(),rln(HB(n,121).e)},mX(O3n,"NetworkSimplexPlacer/lambda$13$Type",1426),dAn(1428,1,{},zc),SWn.Kb=function(n){return HZ(),rln(HB(n,121).e)},mX(O3n,"NetworkSimplexPlacer/lambda$15$Type",1428),dAn(1430,1,RVn,Uc),SWn.Mb=function(n){return HZ(),HB(n,401).c.k==(oSn(),Cut)},mX(O3n,"NetworkSimplexPlacer/lambda$17$Type",1430),dAn(1431,1,RVn,Xc),SWn.Mb=function(n){return HZ(),HB(n,401).c.j.c.length>1},mX(O3n,"NetworkSimplexPlacer/lambda$18$Type",1431),dAn(1432,1,bVn,UV),SWn.td=function(n){awn(this.c,this.b,this.d,this.a,HB(n,401))},SWn.c=0,SWn.d=0,mX(O3n,"NetworkSimplexPlacer/lambda$19$Type",1432),dAn(1415,1,{},Wc),SWn.Kb=function(n){return HZ(),new Kq(null,new d1(HB(n,29).a,16))},mX(O3n,"NetworkSimplexPlacer/lambda$2$Type",1415),dAn(1433,1,bVn,ug),SWn.td=function(n){x$(this.a,HB(n,11))},SWn.a=0,mX(O3n,"NetworkSimplexPlacer/lambda$20$Type",1433),dAn(1434,1,{},Vc),SWn.Kb=function(n){return HZ(),new Kq(null,new d1(HB(n,29).a,16))},mX(O3n,"NetworkSimplexPlacer/lambda$21$Type",1434),dAn(1435,1,bVn,og),SWn.td=function(n){gL(this.a,HB(n,10))},mX(O3n,"NetworkSimplexPlacer/lambda$22$Type",1435),dAn(1436,1,RVn,Qc),SWn.Mb=function(n){return qD(n)},mX(O3n,"NetworkSimplexPlacer/lambda$23$Type",1436),dAn(1437,1,{},Yc),SWn.Kb=function(n){return HZ(),new Kq(null,new d1(HB(n,29).a,16))},mX(O3n,"NetworkSimplexPlacer/lambda$24$Type",1437),dAn(1438,1,RVn,sg),SWn.Mb=function(n){return TO(this.a,HB(n,10))},mX(O3n,"NetworkSimplexPlacer/lambda$25$Type",1438),dAn(1439,1,bVn,iI),SWn.td=function(n){SPn(this.a,this.b,HB(n,10))},mX(O3n,"NetworkSimplexPlacer/lambda$26$Type",1439),dAn(1440,1,RVn,Jc),SWn.Mb=function(n){return HZ(),!w5(HB(n,17))},mX(O3n,"NetworkSimplexPlacer/lambda$27$Type",1440),dAn(1441,1,RVn,Zc),SWn.Mb=function(n){return HZ(),!w5(HB(n,17))},mX(O3n,"NetworkSimplexPlacer/lambda$28$Type",1441),dAn(1442,1,{},hg),SWn.Ce=function(n,t){return hL(this.a,HB(n,29),HB(t,29))},mX(O3n,"NetworkSimplexPlacer/lambda$29$Type",1442),dAn(1416,1,{},na),SWn.Kb=function(n){return HZ(),new Kq(null,new UU(new sz(nN(bbn(HB(n,10)).a.Kc(),new f))))},mX(O3n,"NetworkSimplexPlacer/lambda$3$Type",1416),dAn(1417,1,RVn,ta),SWn.Mb=function(n){return HZ(),e2(HB(n,17))},mX(O3n,"NetworkSimplexPlacer/lambda$4$Type",1417),dAn(1418,1,bVn,fg),SWn.td=function(n){rBn(this.a,HB(n,17))},mX(O3n,"NetworkSimplexPlacer/lambda$5$Type",1418),dAn(1419,1,{},ea),SWn.Kb=function(n){return HZ(),new Kq(null,new d1(HB(n,29).a,16))},mX(O3n,"NetworkSimplexPlacer/lambda$6$Type",1419),dAn(1420,1,RVn,ia),SWn.Mb=function(n){return HZ(),HB(n,10).k==(oSn(),Cut)},mX(O3n,"NetworkSimplexPlacer/lambda$7$Type",1420),dAn(1421,1,{},ra),SWn.Kb=function(n){return HZ(),new Kq(null,new UU(new sz(nN(fbn(HB(n,10)).a.Kc(),new f))))},mX(O3n,"NetworkSimplexPlacer/lambda$8$Type",1421),dAn(1422,1,RVn,ca),SWn.Mb=function(n){return HZ(),XH(HB(n,17))},mX(O3n,"NetworkSimplexPlacer/lambda$9$Type",1422),dAn(1404,1,T3n,Cf),SWn.Yf=function(n){return HB(yMn(HB(n,37),(fWn(),nlt)),21).Hc((wDn(),bft))?nyt:null},SWn.pf=function(n,t){jHn(HB(n,37),t)},mX(O3n,"SimpleNodePlacer",1404),dAn(180,1,{180:1},GKn),SWn.Ib=function(){var n;return n="",this.c==(pJ(),eyt)?n+=uJn:this.c==tyt&&(n+=aJn),this.o==(sZ(),cyt)?n+=vJn:this.o==ayt?n+="UP":n+="BALANCED",n},mX(L3n,"BKAlignedLayout",180),dAn(516,22,{3:1,35:1,22:1,516:1},aI);var ryt,cyt,ayt,uyt=Hen(L3n,"BKAlignedLayout/HDirection",516,Xnt,QY,IF);dAn(515,22,{3:1,35:1,22:1,515:1},cI);var oyt,syt,hyt,fyt,lyt,byt,wyt,dyt,gyt,pyt,vyt,myt,yyt,kyt,jyt,Eyt,Tyt,Myt,Syt,Pyt=Hen(L3n,"BKAlignedLayout/VDirection",515,Xnt,YY,CF);dAn(1634,1,{},rI),mX(L3n,"BKAligner",1634),dAn(1637,1,{},Zyn),mX(L3n,"BKCompactor",1637),dAn(654,1,{654:1},aa),SWn.a=0,mX(L3n,"BKCompactor/ClassEdge",654),dAn(458,1,{458:1},am),SWn.a=null,SWn.b=0,mX(L3n,"BKCompactor/ClassNode",458),dAn(1407,1,T3n,EC),SWn.Yf=function(n){return HB(yMn(HB(n,37),(fWn(),nlt)),21).Hc((wDn(),bft))?syt:null},SWn.pf=function(n,t){cWn(this,HB(n,37),t)},SWn.d=!1,mX(L3n,"BKNodePlacer",1407),dAn(1635,1,{},ua),SWn.d=0,mX(L3n,"NeighborhoodInformation",1635),dAn(1636,1,SYn,lg),SWn.ue=function(n,t){return Stn(this,HB(n,46),HB(t,46))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(L3n,"NeighborhoodInformation/NeighborComparator",1636),dAn(808,1,{}),mX(L3n,"ThresholdStrategy",808),dAn(1763,808,{},gm),SWn.bg=function(n,t,e){return this.a.o==(sZ(),ayt)?KQn:_Qn},SWn.cg=function(){},mX(L3n,"ThresholdStrategy/NullThresholdStrategy",1763),dAn(579,1,{579:1},uI),SWn.c=!1,SWn.d=!1,mX(L3n,"ThresholdStrategy/Postprocessable",579),dAn(1764,808,{},pm),SWn.bg=function(n,t,e){var i,r,c;return r=t==e,i=this.a.a[e.p]==t,r||i?(c=n,this.a.c,pJ(),r&&(c=MHn(this,t,!0)),!isNaN(c)&&!isFinite(c)&&i&&(c=MHn(this,e,!1)),c):n},SWn.cg=function(){for(var n,t,e;0!=this.d.b;)(t=aFn(this,e=HB(IJ(this.d),579))).a&&(n=t.a,(Gy(this.a.f[this.a.g[e.b.p].p])||w5(n)||n.c.i.c!=n.d.i.c)&&(w$n(this,e)||cA(this.e,e)));for(;0!=this.e.a.c.length;)w$n(this,HB(ehn(this.e),579))},mX(L3n,"ThresholdStrategy/SimpleThresholdStrategy",1764),dAn(635,1,{635:1,246:1,234:1},oa),SWn.Kf=function(){return Man(this)},SWn.Xf=function(){return Man(this)},mX(N3n,"EdgeRouterFactory",635),dAn(1458,1,T3n,Of),SWn.Yf=function(n){return Xxn(HB(n,37))},SWn.pf=function(n,t){RHn(HB(n,37),t)},mX(N3n,"OrthogonalEdgeRouter",1458),dAn(1451,1,T3n,TC),SWn.Yf=function(n){return Tjn(HB(n,37))},SWn.pf=function(n,t){AUn(this,HB(n,37),t)},mX(N3n,"PolylineEdgeRouter",1451),dAn(1452,1,GYn,sa),SWn.Lb=function(n){return Yan(HB(n,10))},SWn.Fb=function(n){return this===n},SWn.Mb=function(n){return Yan(HB(n,10))},mX(N3n,"PolylineEdgeRouter/1",1452),dAn(1809,1,RVn,ha),SWn.Mb=function(n){return HB(n,129).c==(A6(),Myt)},mX(x3n,"HyperEdgeCycleDetector/lambda$0$Type",1809),dAn(1810,1,{},fa),SWn.Ge=function(n){return HB(n,129).d},mX(x3n,"HyperEdgeCycleDetector/lambda$1$Type",1810),dAn(1811,1,RVn,la),SWn.Mb=function(n){return HB(n,129).c==(A6(),Myt)},mX(x3n,"HyperEdgeCycleDetector/lambda$2$Type",1811),dAn(1812,1,{},ba),SWn.Ge=function(n){return HB(n,129).d},mX(x3n,"HyperEdgeCycleDetector/lambda$3$Type",1812),dAn(1813,1,{},wa),SWn.Ge=function(n){return HB(n,129).d},mX(x3n,"HyperEdgeCycleDetector/lambda$4$Type",1813),dAn(1814,1,{},da),SWn.Ge=function(n){return HB(n,129).d},mX(x3n,"HyperEdgeCycleDetector/lambda$5$Type",1814),dAn(112,1,{35:1,112:1},Ban),SWn.wd=function(n){return sj(this,HB(n,112))},SWn.Fb=function(n){var t;return!!aL(n,112)&&(t=HB(n,112),this.g==t.g)},SWn.Hb=function(){return this.g},SWn.Ib=function(){var n,t,e,i;for(n=new bN("{"),i=new Vb(this.n);i.a"+this.b+" ("+dx(this.c)+")"},SWn.d=0,mX(x3n,"HyperEdgeSegmentDependency",129),dAn(520,22,{3:1,35:1,22:1,520:1},oI);var Iyt,Cyt,Oyt,Ayt,$yt,Lyt,Nyt,xyt,Dyt=Hen(x3n,"HyperEdgeSegmentDependency/DependencyType",520,Xnt,VY,OF);dAn(1815,1,{},bg),mX(x3n,"HyperEdgeSegmentSplitter",1815),dAn(1816,1,{},Uj),SWn.a=0,SWn.b=0,mX(x3n,"HyperEdgeSegmentSplitter/AreaRating",1816),dAn(329,1,{329:1},jB),SWn.a=0,SWn.b=0,SWn.c=0,mX(x3n,"HyperEdgeSegmentSplitter/FreeArea",329),dAn(1817,1,SYn,Ea),SWn.ue=function(n,t){return AK(HB(n,112),HB(t,112))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(x3n,"HyperEdgeSegmentSplitter/lambda$0$Type",1817),dAn(1818,1,bVn,WV),SWn.td=function(n){t4(this.a,this.d,this.c,this.b,HB(n,112))},SWn.b=0,mX(x3n,"HyperEdgeSegmentSplitter/lambda$1$Type",1818),dAn(1819,1,{},Ta),SWn.Kb=function(n){return new Kq(null,new d1(HB(n,112).e,16))},mX(x3n,"HyperEdgeSegmentSplitter/lambda$2$Type",1819),dAn(1820,1,{},Ma),SWn.Kb=function(n){return new Kq(null,new d1(HB(n,112).j,16))},mX(x3n,"HyperEdgeSegmentSplitter/lambda$3$Type",1820),dAn(1821,1,{},Sa),SWn.Fe=function(n){return zy(SD(n))},mX(x3n,"HyperEdgeSegmentSplitter/lambda$4$Type",1821),dAn(655,1,{},lX),SWn.a=0,SWn.b=0,SWn.c=0,mX(x3n,"OrthogonalRoutingGenerator",655),dAn(1638,1,{},Pa),SWn.Kb=function(n){return new Kq(null,new d1(HB(n,112).e,16))},mX(x3n,"OrthogonalRoutingGenerator/lambda$0$Type",1638),dAn(1639,1,{},Ia),SWn.Kb=function(n){return new Kq(null,new d1(HB(n,112).j,16))},mX(x3n,"OrthogonalRoutingGenerator/lambda$1$Type",1639),dAn(661,1,{}),mX(D3n,"BaseRoutingDirectionStrategy",661),dAn(1807,661,{},vm),SWn.dg=function(n,t,i){var r,c,a,u,o,s,h,f,l,b,w,d,g;if(!n.r||n.q)for(f=t+n.o*i,h=new Vb(n.n);h.abZn&&(c=n,r=new DI(l,a=f),RH(u.a,r),B_n(this,u,c,r,!1),(b=n.r)&&(r=new DI(w=zy(SD(Rpn(b.e,0))),a),RH(u.a,r),B_n(this,u,c,r,!1),c=b,r=new DI(w,a=t+b.o*i),RH(u.a,r),B_n(this,u,c,r,!1)),r=new DI(g,a),RH(u.a,r),B_n(this,u,c,r,!1)))},SWn.eg=function(n){return n.i.n.a+n.n.a+n.a.a},SWn.fg=function(){return jUn(),PCt},SWn.gg=function(){return jUn(),hCt},mX(D3n,"NorthToSouthRoutingStrategy",1807),dAn(1808,661,{},mm),SWn.dg=function(n,t,i){var r,c,a,u,o,s,h,f,l,b,w,d,g;if(!n.r||n.q)for(f=t-n.o*i,h=new Vb(n.n);h.abZn&&(c=n,r=new DI(l,a=f),RH(u.a,r),B_n(this,u,c,r,!1),(b=n.r)&&(r=new DI(w=zy(SD(Rpn(b.e,0))),a),RH(u.a,r),B_n(this,u,c,r,!1),c=b,r=new DI(w,a=t-b.o*i),RH(u.a,r),B_n(this,u,c,r,!1)),r=new DI(g,a),RH(u.a,r),B_n(this,u,c,r,!1)))},SWn.eg=function(n){return n.i.n.a+n.n.a+n.a.a},SWn.fg=function(){return jUn(),hCt},SWn.gg=function(){return jUn(),PCt},mX(D3n,"SouthToNorthRoutingStrategy",1808),dAn(1806,661,{},ym),SWn.dg=function(n,t,i){var r,c,a,u,o,s,h,f,l,b,w,d,g;if(!n.r||n.q)for(f=t+n.o*i,h=new Vb(n.n);h.abZn&&(c=n,r=new DI(a=f,l),RH(u.a,r),B_n(this,u,c,r,!0),(b=n.r)&&(r=new DI(a,w=zy(SD(Rpn(b.e,0)))),RH(u.a,r),B_n(this,u,c,r,!0),c=b,r=new DI(a=t+b.o*i,w),RH(u.a,r),B_n(this,u,c,r,!0)),r=new DI(a,g),RH(u.a,r),B_n(this,u,c,r,!0)))},SWn.eg=function(n){return n.i.n.b+n.n.b+n.a.b},SWn.fg=function(){return jUn(),sCt},SWn.gg=function(){return jUn(),CCt},mX(D3n,"WestToEastRoutingStrategy",1806),dAn(813,1,{},sBn),SWn.Ib=function(){return NMn(this.a)},SWn.b=0,SWn.c=!1,SWn.d=!1,SWn.f=0,mX(K3n,"NubSpline",813),dAn(407,1,{407:1},Txn,dJ),mX(K3n,"NubSpline/PolarCP",407),dAn(1453,1,T3n,fyn),SWn.Yf=function(n){return cTn(HB(n,37))},SWn.pf=function(n,t){aXn(this,HB(n,37),t)},mX(K3n,"SplineEdgeRouter",1453),dAn(268,1,{268:1},P6),SWn.Ib=function(){return this.a+" ->("+this.c+") "+this.b},SWn.c=0,mX(K3n,"SplineEdgeRouter/Dependency",268),dAn(455,22,{3:1,35:1,22:1,455:1},sI);var Ryt,Kyt,_yt,Fyt,Byt,Hyt=Hen(K3n,"SplineEdgeRouter/SideToProcess",455,Xnt,JY,AF);dAn(1454,1,RVn,ka),SWn.Mb=function(n){return pxn(),!HB(n,128).o},mX(K3n,"SplineEdgeRouter/lambda$0$Type",1454),dAn(1455,1,{},ya),SWn.Ge=function(n){return pxn(),HB(n,128).v+1},mX(K3n,"SplineEdgeRouter/lambda$1$Type",1455),dAn(1456,1,bVn,hI),SWn.td=function(n){rq(this.a,this.b,HB(n,46))},mX(K3n,"SplineEdgeRouter/lambda$2$Type",1456),dAn(1457,1,bVn,fI),SWn.td=function(n){cq(this.a,this.b,HB(n,46))},mX(K3n,"SplineEdgeRouter/lambda$3$Type",1457),dAn(128,1,{35:1,128:1},eIn,fqn),SWn.wd=function(n){return hj(this,HB(n,128))},SWn.b=0,SWn.e=!1,SWn.f=0,SWn.g=0,SWn.j=!1,SWn.k=!1,SWn.n=0,SWn.o=!1,SWn.p=!1,SWn.q=!1,SWn.s=0,SWn.u=0,SWn.v=0,SWn.F=0,mX(K3n,"SplineSegment",128),dAn(459,1,{459:1},ja),SWn.a=0,SWn.b=!1,SWn.c=!1,SWn.d=!1,SWn.e=!1,SWn.f=0,mX(K3n,"SplineSegment/EdgeInformation",459),dAn(1234,1,{},ga),mX(q3n,rZn,1234),dAn(1235,1,SYn,pa),SWn.ue=function(n,t){return OCn(HB(n,135),HB(t,135))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(q3n,cZn,1235),dAn(1233,1,{},$E),mX(q3n,"MrTree",1233),dAn(393,22,{3:1,35:1,22:1,393:1,246:1,234:1},lI),SWn.Kf=function(){return $Cn(this)},SWn.Xf=function(){return $Cn(this)};var qyt,Gyt=Hen(q3n,"TreeLayoutPhases",393,Xnt,E3,$F);dAn(1130,209,xJn,FR),SWn.Ze=function(n,t){var e,i,r,c,a,u;for(Gy(MD(n$n(n,(CAn(),Ckt))))||EJ(new Mw((zM(),new Ry(n)))),Gan(a=new I6,n),fon(a,(Gqn(),hkt),n),m_n(n,a,u=new Dp),V_n(n,a,u),c=a,i=new Vb(r=D_n(this.a,c));i.a"+p0(this.c):"e_"+tsn(this)},mX(G3n,"TEdge",188),dAn(135,134,{3:1,135:1,94:1,134:1},I6),SWn.Ib=function(){var n,t,e,i,r;for(r=null,i=hpn(this.b,0);i.b!=i.d.c;)r+=(null==(e=HB(w3(i),86)).c||0==e.c.length?"n_"+e.g:"n_"+e.c)+"\n";for(t=hpn(this.a,0);t.b!=t.d.c;)r+=((n=HB(w3(t),188)).b&&n.c?p0(n.b)+"->"+p0(n.c):"e_"+tsn(n))+"\n";return r};var zyt=mX(G3n,"TGraph",135);dAn(633,502,{3:1,502:1,633:1,94:1,134:1}),mX(G3n,"TShape",633),dAn(86,633,{3:1,502:1,86:1,633:1,94:1,134:1},asn),SWn.Ib=function(){return p0(this)};var Uyt,Xyt,Wyt,Vyt,Qyt,Yyt,Jyt=mX(G3n,"TNode",86);dAn(255,1,vVn,wg),SWn.Jc=function(n){i5(this,n)},SWn.Kc=function(){return new dg(hpn(this.a.d,0))},mX(G3n,"TNode/2",255),dAn(358,1,YWn,dg),SWn.Nb=function(n){lU(this,n)},SWn.Pb=function(){return HB(w3(this.a),188).c},SWn.Ob=function(){return TE(this.a)},SWn.Qb=function(){ytn(this.a)},mX(G3n,"TNode/2/1",358),dAn(1840,1,t1n,_R),SWn.pf=function(n,t){DFn(this,HB(n,135),t)},mX(z3n,"FanProcessor",1840),dAn(327,22,{3:1,35:1,22:1,327:1,234:1},bI),SWn.Kf=function(){switch(this.g){case 0:return new Ym;case 1:return new _R;case 2:return new Aa;case 3:return new Ca;case 4:return new La;case 5:return new Na;default:throw qp(new Fy(S1n+(null!=this.f?this.f:""+this.g)))}};var Zyt,nkt,tkt,ekt,ikt,rkt,ckt,akt,ukt,okt,skt,hkt,fkt,lkt,bkt,wkt,dkt,gkt,pkt,vkt,mkt,ykt,kkt,jkt,Ekt,Tkt,Mkt,Skt,Pkt,Ikt,Ckt,Okt,Akt,$kt,Lkt,Nkt,xkt,Dkt,Rkt,Kkt,_kt,Fkt=Hen(z3n,P1n,327,Xnt,c9,LF);dAn(1843,1,t1n,Ca),SWn.pf=function(n,t){o$n(this,HB(n,135),t)},SWn.a=0,mX(z3n,"LevelHeightProcessor",1843),dAn(1844,1,vVn,Oa),SWn.Jc=function(n){i5(this,n)},SWn.Kc=function(){return PQ(),NT(),wet},mX(z3n,"LevelHeightProcessor/1",1844),dAn(1841,1,t1n,Aa),SWn.pf=function(n,t){YPn(this,HB(n,135),t)},SWn.a=0,mX(z3n,"NeighborsProcessor",1841),dAn(1842,1,vVn,$a),SWn.Jc=function(n){i5(this,n)},SWn.Kc=function(){return PQ(),NT(),wet},mX(z3n,"NeighborsProcessor/1",1842),dAn(1845,1,t1n,La),SWn.pf=function(n,t){u$n(this,HB(n,135),t)},SWn.a=0,mX(z3n,"NodePositionProcessor",1845),dAn(1839,1,t1n,Ym),SWn.pf=function(n,t){nqn(this,HB(n,135))},mX(z3n,"RootProcessor",1839),dAn(1846,1,t1n,Na),SWn.pf=function(n,t){gln(HB(n,135))},mX(z3n,"Untreeifyer",1846),dAn(851,1,YYn,If),SWn.Qe=function(n){$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,W3n),""),"Weighting of Nodes"),"Which weighting to use when computing a node order."),jkt),(IPn(),pMt)),Gkt),tbn((cpn(),fMt))))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,V3n),""),"Search Order"),"Which search order to use when computing a spanning tree."),ykt),pMt),Zkt),tbn(fMt)))),_Gn((new Pf,n))},mX(Q3n,"MrTreeMetaDataProvider",851),dAn(994,1,YYn,Pf),SWn.Qe=function(n){_Gn(n)},mX(Q3n,"MrTreeOptions",994),dAn(995,1,{},xa),SWn.$e=function(){return new FR},SWn._e=function(n){},mX(Q3n,"MrTreeOptions/MrtreeFactory",995),dAn(480,22,{3:1,35:1,22:1,480:1},wI);var Bkt,Hkt,qkt,Gkt=Hen(Q3n,"OrderWeighting",480,Xnt,nJ,NF);dAn(425,22,{3:1,35:1,22:1,425:1},dI);var zkt,Ukt,Xkt,Wkt,Vkt,Qkt,Ykt,Jkt,Zkt=Hen(Q3n,"TreeifyingOrder",425,Xnt,ZY,DF);dAn(1459,1,T3n,vf),SWn.Yf=function(n){return HB(n,135),Ukt},SWn.pf=function(n,t){kcn(this,HB(n,135),t)},mX("org.eclipse.elk.alg.mrtree.p1treeify","DFSTreeifyer",1459),dAn(1460,1,T3n,mf),SWn.Yf=function(n){return HB(n,135),Xkt},SWn.pf=function(n,t){lIn(this,HB(n,135),t)},mX("org.eclipse.elk.alg.mrtree.p2order","NodeOrderer",1460),dAn(1461,1,T3n,pf),SWn.Yf=function(n){return HB(n,135),Wkt},SWn.pf=function(n,t){tRn(this,HB(n,135),t)},SWn.a=0,mX("org.eclipse.elk.alg.mrtree.p3place","NodePlacer",1461),dAn(1462,1,T3n,yf),SWn.Yf=function(n){return HB(n,135),Vkt},SWn.pf=function(n,t){Dkn(HB(n,135),t)},mX("org.eclipse.elk.alg.mrtree.p4route","EdgeRouter",1462),dAn(495,22,{3:1,35:1,22:1,495:1,246:1,234:1},gI),SWn.Kf=function(){return wwn(this)},SWn.Xf=function(){return wwn(this)};var njt,tjt,ejt,ijt,rjt=Hen(Z3n,"RadialLayoutPhases",495,Xnt,tJ,xF);dAn(1131,209,xJn,AE),SWn.Ze=function(n,t){var e,i,r;if(ATn(t,"Radial layout",TIn(this,n).c.length),Gy(MD(n$n(n,(Xyn(),$jt))))||EJ(new Mw((zM(),new Ry(n)))),r=oTn(n),Jpn(n,(dD(),Qkt),r),!r)throw qp(new Fy("The given graph is not a tree!"));for(0==(e=zy(SD(n$n(n,Rjt))))&&(e=lCn(n)),Jpn(n,Rjt,e),i=new Vb(TIn(this,n));i.a0&&Dhn((w1(t-1,n.length),n.charCodeAt(t-1)),h1n);)--t;if(e>=t)throw qp(new Fy("The given string does not contain any numbers."));if(2!=(i=jKn(n.substr(e,t-e),",|;|\r|\n")).length)throw qp(new Fy("Exactly two numbers are expected, "+i.length+" were found."));try{this.a=wSn(KMn(i[0])),this.b=wSn(KMn(i[1]))}catch(r){throw aL(r=bun(r),127)?qp(new Fy(f1n+r)):qp(r)}},SWn.Ib=function(){return"("+this.a+","+this.b+")"},SWn.a=0,SWn.b=0;var IMt=mX(l1n,"KVector",8);dAn(74,68,{3:1,4:1,20:1,28:1,52:1,14:1,68:1,15:1,74:1,414:1},jm,_j,Xx),SWn.Pc=function(){return Qsn(this)},SWn.Jf=function(n){var t,e,i,r,c;e=jKn(n,",|;|\\(|\\)|\\[|\\]|\\{|\\}| |\t|\n"),kQ(this);try{for(t=0,r=0,i=0,c=0;t0&&(r%2==0?i=wSn(e[t]):c=wSn(e[t]),r>0&&r%2!=0&&RH(this,new DI(i,c)),++r),++t}catch(a){throw aL(a=bun(a),127)?qp(new Fy("The given string does not match the expected format for vectors."+a)):qp(a)}},SWn.Ib=function(){var n,t,e;for(n=new bN("("),t=hpn(this,0);t.b!=t.d.c;)sO(n,(e=HB(w3(t),8)).a+","+e.b),t.b!=t.d.c&&(n.a+="; ");return(n.a+=")",n).a};var CMt,OMt,AMt,$Mt,LMt,NMt,xMt=mX(l1n,"KVectorChain",74);dAn(248,22,{3:1,35:1,22:1,248:1},RI);var DMt,RMt,KMt,_Mt,FMt,BMt,HMt,qMt,GMt,zMt,UMt,XMt,WMt,VMt,QMt,YMt,JMt,ZMt,nSt,tSt=Hen(f5n,"Alignment",248,Xnt,Z8,ZF);dAn(979,1,YYn,Nf),SWn.Qe=function(n){z_n(n)},mX(f5n,"BoxLayouterOptions",979),dAn(980,1,{},Du),SWn.$e=function(){return new zu},SWn._e=function(n){},mX(f5n,"BoxLayouterOptions/BoxFactory",980),dAn(291,22,{3:1,35:1,22:1,291:1},KI);var eSt,iSt,rSt,cSt,aSt,uSt,oSt,sSt,hSt,fSt,lSt,bSt,wSt,dSt,gSt,pSt,vSt,mSt,ySt,kSt,jSt,ESt,TSt,MSt,SSt,PSt,ISt,CSt,OSt,ASt,$St,LSt,NSt,xSt,DSt,RSt,KSt,_St,FSt,BSt,HSt,qSt,GSt,zSt,USt,XSt,WSt,VSt,QSt,YSt,JSt,ZSt,nPt,tPt,ePt,iPt,rPt,cPt,aPt,uPt,oPt,sPt,hPt,fPt,lPt,bPt,wPt,dPt,gPt,pPt,vPt,mPt,yPt,kPt,jPt,EPt,TPt,MPt,SPt,PPt,IPt,CPt,OPt,APt,$Pt,LPt,NPt,xPt,DPt,RPt,KPt,_Pt,FPt,BPt,HPt,qPt,GPt=Hen(f5n,"ContentAlignment",291,Xnt,J8,nB);dAn(684,1,YYn,xf),SWn.Qe=function(n){$bn(n,new wPn(Aj(Oj($j(Tj(Cj(Sj(Pj(new Bu,d5n),""),"Layout Algorithm"),"Select a specific layout algorithm."),(IPn(),kMt)),Ytt),tbn((cpn(),fMt))))),$bn(n,new wPn(Aj(Oj($j(Tj(Cj(Sj(Pj(new Bu,g5n),""),"Resolved Layout Algorithm"),"Meta data associated with the selected algorithm."),yMt),uMt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,V2n),""),"Alignment"),"Alignment of the selected node relative to other nodes; the exact meaning depends on the used algorithm."),cSt),pMt),tSt),tbn(hMt)))),$bn(n,new wPn(Aj(Oj($j(Tj(Cj(Sj(Pj(new Bu,QJn),""),"Aspect Ratio"),"The desired aspect ratio of the drawing, that is the quotient of width by height."),gMt),Itt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Tj(Cj(Sj(Pj(new Bu,p5n),""),"Bend Points"),"A fixed list of bend points for the edge. This is used by the 'Fixed Layout' algorithm to specify a pre-defined routing for an edge. The vector chain must include the source point, any bend points, and the target point, so it must have at least two points."),yMt),xMt),tbn(oMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,o3n),""),"Content Alignment"),"Specifies how the content of a node are aligned. Each node can individually control the alignment of its contents. I.e. if a node should be aligned top left in its parent node, the parent node should specify that option."),lSt),vMt),GPt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,W2n),""),"Debug Mode"),"Whether additional debug information shall be generated."),(fN(),!1)),dMt),jtt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,Z2n),""),MJn),"Overall direction of edges: horizontal (right / left) or vertical (down / up)."),dSt),pMt),VPt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,k2n),""),"Edge Routing"),"What kind of edge routing style should be applied for the content of a parent node. Algorithms may also set this option to single edges in order to mark them as splines. The bend point list of edges with this option set to SPLINES must be interpreted as control points for a piecewise cubic spline."),ySt),pMt),sIt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,$4n),""),"Expand Nodes"),"If active, nodes are expanded to fill the area of their parent."),!1),dMt),jtt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,g2n),""),"Hierarchy Handling"),"Determines whether separate layout runs are triggered for different compound nodes in a hierarchical graph. Setting a node's hierarchy handling to `INCLUDE_CHILDREN` will lay out that node and all of its descendants in a single layout run, until a descendant is encountered which has its hierarchy handling set to `SEPARATE_CHILDREN`. In general, `SEPARATE_CHILDREN` will ensure that a new layout run is triggered for a node with that setting. Including multiple levels of hierarchy in a single layout run may allow cross-hierarchical edges to be laid out properly. If the root node is set to `INHERIT` (or not set at all), the default behavior is `SEPARATE_CHILDREN`."),MSt),pMt),PIt),TG(fMt,Iun(zk(EMt,1),LVn,175,0,[hMt]))))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,YJn),""),"Padding"),"The padding to be left to a parent element's border when placing child elements. This can also serve as an output option of a layout algorithm if node size calculation is setup appropriately."),VSt),yMt),Fut),TG(fMt,Iun(zk(EMt,1),LVn,175,0,[hMt]))))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,EZn),""),"Interactive"),"Whether the algorithm should be run in interactive mode for the content of a parent node. What this means exactly depends on how the specific algorithm interprets this option. Usually in the interactive mode algorithms try to modify the current layout as little as possible."),!1),dMt),jtt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,y3n),""),"interactive Layout"),"Whether the graph should be changeable interactively and by setting constraints"),!1),dMt),jtt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,SZn),""),"Omit Node Micro Layout"),"Node micro layout comprises the computation of node dimensions (if requested), the placement of ports and their labels, and the placement of node labels. The functionality is implemented independent of any specific layout algorithm and shouldn't have any negative impact on the layout algorithm's performance itself. Yet, if any unforeseen behavior occurs, this option allows to deactivate the micro layout."),!1),dMt),jtt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,TZn),""),"Port Constraints"),"Defines constraints of the position of the ports of a node."),sPt),pMt),uCt),tbn(hMt)))),$bn(n,new wPn(Aj(Oj($j(Tj(Cj(Sj(Pj(new Bu,p3n),""),"Position"),"The position of a node, port, or label. This is used by the 'Fixed Layout' algorithm to specify a pre-defined position."),yMt),IMt),TG(hMt,Iun(zk(EMt,1),LVn,175,0,[lMt,sMt]))))),$bn(n,new wPn(Aj(Oj($j(Tj(Cj(Sj(Pj(new Bu,vZn),""),"Priority"),"Defines the priority of an object; its meaning depends on the specific layout algorithm and the context where it is used."),mMt),$tt),TG(hMt,Iun(zk(EMt,1),LVn,175,0,[oMt]))))),$bn(n,new wPn(Aj(Oj($j(Tj(Cj(Sj(Pj(new Bu,kZn),""),"Randomization Seed"),"Seed used for pseudo-random number generators to control the layout algorithm. If the value is 0, the seed shall be determined pseudo-randomly (e.g. from the system time)."),mMt),$tt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Tj(Cj(Sj(Pj(new Bu,jZn),""),"Separate Connected Components"),"Whether each connected component should be processed separately."),dMt),jtt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,s3n),""),"Junction Points"),"This option is not used as option, but as output of the layout algorithms. It is attached to edges and determines the points where junction symbols should be drawn in order to represent hyperedges with orthogonal routing. Whether such points are computed depends on the chosen layout algorithm and edge routing style. The points are put into the vector chain with no specific order."),$St),yMt),xMt),tbn(oMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,l3n),""),"Comment Box"),"Whether the node should be regarded as a comment box instead of a regular node. In that case its placement should be similar to how labels are handled. Any edges incident to a comment box specify to which graph elements the comment is related."),!1),dMt),jtt),tbn(hMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,b3n),""),"Hypernode"),"Whether the node should be handled as a hypernode."),!1),dMt),jtt),tbn(hMt)))),$bn(n,new wPn(Aj(Oj($j(Tj(Cj(Sj(Pj(new Bu,v5n),""),"Label Manager"),"Label managers can shorten labels upon a layout algorithm's request."),yMt),_Nt),TG(fMt,Iun(zk(EMt,1),LVn,175,0,[sMt]))))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,v3n),""),"Margins"),"Margins define additional space around the actual bounds of a graph element. For instance, ports or labels being placed on the outside of a node's border might introduce such a margin. The margin is used to guarantee non-overlap of other graph elements with those ports or labels."),NSt),yMt),Tut),tbn(hMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,U2n),""),"No Layout"),"No layout is done for the associated element. This is used to mark parts of a diagram to avoid their inclusion in the layout graph, or to mark parts of the layout graph to prevent layout engines from processing them. If you wish to exclude the contents of a compound node from automatic layout, while the node itself is still considered on its own layer, use the 'Fixed Layout' algorithm for that node."),!1),dMt),jtt),TG(hMt,Iun(zk(EMt,1),LVn,175,0,[oMt,lMt,sMt]))))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,m5n),""),"Scale Factor"),"The scaling factor to be applied to the corresponding node in recursive layout. It causes the corresponding node's size to be adjusted, and its ports and labels to be sized and placed accordingly after the layout of that node has been determined (and before the node itself and its siblings are arranged). The scaling is not reverted afterwards, so the resulting layout graph contains the adjusted size and position data. This option is currently not supported if 'Layout Hierarchy' is set."),1),gMt),Itt),tbn(hMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,y5n),""),"Animate"),"Whether the shift from the old layout to the new computed layout shall be animated."),!0),dMt),jtt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,k5n),""),"Animation Time Factor"),"Factor for computation of animation time. The higher the value, the longer the animation time. If the value is 0, the resulting time is always equal to the minimum defined by 'Minimal Animation Time'."),rln(100)),mMt),$tt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,j5n),""),"Layout Ancestors"),"Whether the hierarchy levels on the path from the selected element to the root of the diagram shall be included in the layout process."),!1),dMt),jtt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,E5n),""),"Maximal Animation Time"),"The maximal time for animations, in milliseconds."),rln(4e3)),mMt),$tt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,T5n),""),"Minimal Animation Time"),"The minimal time for animations, in milliseconds."),rln(400)),mMt),$tt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,M5n),""),"Progress Bar"),"Whether a progress bar shall be displayed during layout computations."),!1),dMt),jtt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,S5n),""),"Validate Graph"),"Whether the graph shall be validated before any layout algorithm is applied. If this option is enabled and at least one error is found, the layout process is aborted and a message is shown to the user."),!1),dMt),jtt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,P5n),""),"Validate Options"),"Whether layout options shall be validated before any layout algorithm is applied. If this option is enabled and at least one error is found, the layout process is aborted and a message is shown to the user."),!0),dMt),jtt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,I5n),""),"Zoom to Fit"),"Whether the zoom level shall be set to view the whole diagram after layout."),!1),dMt),jtt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,w5n),"box"),"Box Layout Mode"),"Configures the packing mode used by the {@link BoxLayoutProvider}. If SIMPLE is not required (neither priorities are used nor the interactive mode), GROUP_DEC can improve the packing and decrease the area. GROUP_MIXED and GROUP_INC may, in very specific scenarios, work better."),sSt),pMt),aOt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,N2n),j2n),"Comment Comment Spacing"),"Spacing to be preserved between a comment box and other comment boxes connected to the same node. The space left between comment boxes of different nodes is controlled by the node-node spacing."),10),gMt),Itt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,x2n),j2n),"Comment Node Spacing"),"Spacing to be preserved between a node and its connected comment boxes. The space left between a node and the comments of another node is controlled by the node-node spacing."),10),gMt),Itt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,WJn),j2n),"Components Spacing"),"Spacing to be preserved between pairs of connected components. This option is only relevant if 'separateConnectedComponents' is activated."),20),gMt),Itt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,D2n),j2n),"Edge Spacing"),"Spacing to be preserved between any two edges. Note that while this can somewhat easily be satisfied for the segments of orthogonally drawn edges, it is harder for general polylines or splines."),10),gMt),Itt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,yZn),j2n),"Edge Label Spacing"),"The minimal distance to be preserved between a label and the edge it is associated with. Note that the placement of a label is influenced by the 'edgelabels.placement' option."),2),gMt),Itt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,R2n),j2n),"Edge Node Spacing"),"Spacing to be preserved between nodes and edges."),10),gMt),Itt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,K2n),j2n),"Label Spacing"),"Determines the amount of space to be left between two labels of the same graph element."),0),gMt),Itt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,B2n),j2n),"Label Node Spacing"),"Spacing to be preserved between labels and the border of node they are associated with. Note that the placement of a label is influenced by the 'nodelabels.placement' option."),5),gMt),Itt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,_2n),j2n),"Horizontal spacing between Label and Port"),"Horizontal spacing to be preserved between labels and the ports they are associated with. Note that the placement of a label is influenced by the 'portlabels.placement' option."),1),gMt),Itt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,F2n),j2n),"Vertical spacing between Label and Port"),"Vertical spacing to be preserved between labels and the ports they are associated with. Note that the placement of a label is influenced by the 'portlabels.placement' option."),1),gMt),Itt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,mZn),j2n),"Node Spacing"),"The minimal distance to be preserved between each two nodes."),20),gMt),Itt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,H2n),j2n),"Node Self Loop Spacing"),"Spacing to be preserved between a node and its self loops."),10),gMt),Itt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,q2n),j2n),"Port Spacing"),"Spacing between pairs of ports of the same node."),10),gMt),Itt),TG(fMt,Iun(zk(EMt,1),LVn,175,0,[hMt]))))),$bn(n,new wPn(Aj(Oj($j(Tj(Cj(Sj(Pj(new Bu,G2n),j2n),"Individual Spacing"),"Allows to specify individual spacing values for graph elements that shall be different from the value specified for the element's parent."),yMt),fOt),TG(hMt,Iun(zk(EMt,1),LVn,175,0,[oMt,lMt,sMt]))))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,m3n),j2n),"Additional Port Space"),"Additional space around the sets of ports on each node side. For each side of a node, this option can reserve additional space before and after the ports on each side. For example, a top spacing of 20 makes sure that the first port on the western and eastern side is 20 units away from the northern border."),RPt),yMt),Tut),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Tj(Cj(Sj(Pj(new Bu,g3n),$5n),"Layout Partition"),"Partition to which the node belongs. This requires Layout Partitioning to be active. Nodes with lower partition IDs will appear to the left of nodes with higher partition IDs (assuming a left-to-right layout direction)."),mMt),$tt),TG(fMt,Iun(zk(EMt,1),LVn,175,0,[hMt]))))),u2(n,g3n,d3n,ZSt),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,d3n),$5n),"Layout Partitioning"),"Whether to activate partitioned layout. This will allow to group nodes through the Layout Partition option. a pair of nodes with different partition indices is then placed such that the node with lower index is placed to the left of the other node (with left-to-right layout direction). Depending on the layout algorithm, this may only be guaranteed to work if all nodes have a layout partition configured, or at least if edges that cross partitions are not part of a partition-crossing cycle."),YSt),dMt),jtt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,n3n),L5n),"Node Label Padding"),"Define padding for node labels that are placed inside of a node."),DSt),yMt),Fut),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,CZn),L5n),"Node Label Placement"),"Hints for where node labels are to be placed; if empty, the node label's position is not modified."),KSt),vMt),zIt),TG(hMt,Iun(zk(EMt,1),LVn,175,0,[sMt]))))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,i3n),N5n),"Port Alignment"),"Defines the default port distribution for a node. May be overridden for each side individually."),tPt),pMt),ZIt),tbn(hMt)))),$bn(n,new wPn(Aj(Oj($j(Tj(Cj(Sj(Pj(new Bu,r3n),N5n),"Port Alignment (North)"),"Defines how ports on the northern side are placed, overriding the node's general port alignment."),pMt),ZIt),tbn(hMt)))),$bn(n,new wPn(Aj(Oj($j(Tj(Cj(Sj(Pj(new Bu,c3n),N5n),"Port Alignment (South)"),"Defines how ports on the southern side are placed, overriding the node's general port alignment."),pMt),ZIt),tbn(hMt)))),$bn(n,new wPn(Aj(Oj($j(Tj(Cj(Sj(Pj(new Bu,a3n),N5n),"Port Alignment (West)"),"Defines how ports on the western side are placed, overriding the node's general port alignment."),pMt),ZIt),tbn(hMt)))),$bn(n,new wPn(Aj(Oj($j(Tj(Cj(Sj(Pj(new Bu,u3n),N5n),"Port Alignment (East)"),"Defines how ports on the eastern side are placed, overriding the node's general port alignment."),pMt),ZIt),tbn(hMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,IZn),x5n),"Node Size Constraints"),"What should be taken into account when calculating a node's size. Empty size constraints specify that a node's size is already fixed and should not be changed."),FSt),vMt),JCt),tbn(hMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,PZn),x5n),"Node Size Options"),"Options modifying the behavior of the size constraints set on a node. Each member of the set specifies something that should be taken into account when calculating node sizes. The empty set corresponds to no further modifications."),zSt),vMt),rOt),tbn(hMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,HZn),x5n),"Node Size Minimum"),"The minimal size to which a node can be reduced."),qSt),yMt),IMt),tbn(hMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,J2n),x5n),"Fixed Graph Size"),"By default, the fixed layout provider will enlarge a graph until it is large enough to contain its children. If this option is set, it won't do so."),!1),dMt),jtt),tbn(fMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,h3n),$2n),"Edge Label Placement"),"Gives a hint on where to put edge labels."),vSt),pMt),tIt),tbn(sMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,MZn),$2n),"Inline Edge Labels"),"If true, an edge label is placed directly on its edge. May only apply to center edge labels. This kind of label placement is only advisable if the label's rendering is such that it is not crossed by its edge and thus stays legible."),!1),dMt),jtt),tbn(sMt)))),$bn(n,new wPn(Aj(Oj($j(Tj(Cj(Sj(Pj(new Bu,C5n),"font"),"Font Name"),"Font name used for a label."),kMt),Ytt),tbn(sMt)))),$bn(n,new wPn(Aj(Oj($j(Tj(Cj(Sj(Pj(new Bu,O5n),"font"),"Font Size"),"Font size used for a label."),mMt),$tt),tbn(sMt)))),$bn(n,new wPn(Aj(Oj($j(Tj(Cj(Sj(Pj(new Bu,w3n),D5n),"Port Anchor Offset"),"The offset to the port position where connections shall be attached."),yMt),IMt),tbn(lMt)))),$bn(n,new wPn(Aj(Oj($j(Tj(Cj(Sj(Pj(new Bu,f3n),D5n),"Port Index"),"The index of a port in the fixed order around a node. The order is assumed as clockwise, starting with the leftmost port on the top side. This option must be set if 'Port Constraints' is set to FIXED_ORDER and no specific positions are given for the ports. Additionally, the option 'Port Side' must be defined in this case."),mMt),$tt),tbn(lMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,X2n),D5n),"Port Side"),"The side of a node on which a port is situated. This option must be set if 'Port Constraints' is set to FIXED_SIDE or FIXED_ORDER and no specific positions are given for the ports."),gPt),pMt),BCt),tbn(lMt)))),$bn(n,new wPn(Aj(Oj($j(Tj(Cj(Sj(Pj(new Bu,z2n),D5n),"Port Border Offset"),"The offset of ports on the node border. With a positive offset the port is moved outside of the node, while with a negative offset the port is moved towards the inside. An offset of 0 means that the port is placed directly on the node border, i.e. if the port side is north, the port's south border touches the nodes's north border; if the port side is east, the port's west border touches the nodes's east border; if the port side is south, the port's north border touches the node's south border; if the port side is west, the port's east border touches the node's west border."),gMt),Itt),tbn(lMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,OZn),R5n),"Port Label Placement"),"Decides on a placement method for port labels; if empty, the node label's position is not modified."),bPt),vMt),OCt),tbn(hMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,t3n),R5n),"Port Labels Next to Port"),"Use 'portLabels.placement': NEXT_TO_PORT_OF_POSSIBLE."),!1),dMt),jtt),tbn(hMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,e3n),R5n),"Treat Port Labels as Group"),"If this option is true (default), the labels of a port will be treated as a group when it comes to centering them next to their port. If this option is false, only the first label will be centered next to the port, with the others being placed below. This only applies to labels of eastern and western ports and will have no effect if labels are not placed next to their port."),!0),dMt),jtt),tbn(hMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,Q2n),K5n),"Activate Inside Self Loops"),"Whether this node allows to route self loops inside of it instead of around it. If set to true, this will make the node a compound node if it isn't already, and will require the layout algorithm to support compound nodes with hierarchical ports."),!1),dMt),jtt),tbn(hMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,Y2n),K5n),"Inside Self Loop"),"Whether a self loop should be routed inside a node instead of around that node."),!1),dMt),jtt),tbn(oMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,VJn),"edge"),"Edge Thickness"),"The thickness of an edge. This is a hint on the line width used to draw an edge, possibly requiring more space to be reserved for it."),1),gMt),Itt),tbn(oMt)))),$bn(n,new wPn(Aj(Oj($j(Mj(Tj(Cj(Sj(Pj(new Bu,A5n),"edge"),"Edge Type"),"The type of an edge. This is usually used for UML class diagrams, where associations must be handled differently from generalizations."),jSt),pMt),kIt),tbn(oMt)))),DM(n,new XZ(kj(Ej(jj(new vu,d1n),"Layered"),'The layer-based method was introduced by Sugiyama, Tagawa and Toda in 1981. It emphasizes the direction of edges by pointing as many edges as possible into the same direction. The nodes are arranged in layers, which are sometimes called "hierarchies", and then reordered such that the number of edge crossings is minimized. Afterwards, concrete coordinates are computed for the nodes and edge bend points.'))),DM(n,new XZ(kj(Ej(jj(new vu,"org.eclipse.elk.orthogonal"),"Orthogonal"),'Orthogonal methods that follow the "topology-shape-metrics" approach by Batini, Nardelli and Tamassia \'86. The first phase determines the topology of the drawing by applying a planarization technique, which results in a planar representation of the graph. The orthogonal shape is computed in the second phase, which aims at minimizing the number of edge bends, and is called orthogonalization. The third phase leads to concrete coordinates for nodes and edge bend points by applying a compaction method, thus defining the metrics.'))),DM(n,new XZ(kj(Ej(jj(new vu,pZn),"Force"),"Layout algorithms that follow physical analogies by simulating a system of attractive and repulsive forces. The first successful method of this kind was proposed by Eades in 1984."))),DM(n,new XZ(kj(Ej(jj(new vu,"org.eclipse.elk.circle"),"Circle"),"Circular layout algorithms emphasize cycles or biconnected components of a graph by arranging them in circles. This is useful if a drawing is desired where such components are clearly grouped, or where cycles are shown as prominent OPTIONS of the graph."))),DM(n,new XZ(kj(Ej(jj(new vu,J3n),"Tree"),"Specialized layout methods for trees, i.e. acyclic graphs. The regular structure of graphs that have no undirected cycles can be emphasized using an algorithm of this type."))),DM(n,new XZ(kj(Ej(jj(new vu,"org.eclipse.elk.planar"),"Planar"),"Algorithms that require a planar or upward planar graph. Most of these algorithms are theoretically interesting, but not practically usable."))),DM(n,new XZ(kj(Ej(jj(new vu,d4n),"Radial"),"Radial layout algorithms usually position the nodes of the graph on concentric circles."))),wKn((new Df,n)),z_n((new Nf,n)),KDn((new Rf,n))},mX(f5n,"CoreOptions",684),dAn(103,22,{3:1,35:1,22:1,103:1},_I);var zPt,UPt,XPt,WPt,VPt=Hen(f5n,MJn,103,Xnt,C5,iB);dAn(272,22,{3:1,35:1,22:1,272:1},FI);var QPt,YPt,JPt,ZPt,nIt,tIt=Hen(f5n,"EdgeLabelPlacement",272,Xnt,G1,rB);dAn(218,22,{3:1,35:1,22:1,218:1},BI);var eIt,iIt,rIt,cIt,aIt,uIt,oIt,sIt=Hen(f5n,"EdgeRouting",218,Xnt,P3,cB);dAn(312,22,{3:1,35:1,22:1,312:1},HI);var hIt,fIt,lIt,bIt,wIt,dIt,gIt,pIt,vIt,mIt,yIt,kIt=Hen(f5n,"EdgeType",312,Xnt,u9,aB);dAn(977,1,YYn,Df),SWn.Qe=function(n){wKn(n)},mX(f5n,"FixedLayouterOptions",977),dAn(978,1,{},Qu),SWn.$e=function(){return new qu},SWn._e=function(n){},mX(f5n,"FixedLayouterOptions/FixedFactory",978),dAn(334,22,{3:1,35:1,22:1,334:1},qI);var jIt,EIt,TIt,MIt,SIt,PIt=Hen(f5n,"HierarchyHandling",334,Xnt,q1,uB);dAn(285,22,{3:1,35:1,22:1,285:1},GI);var IIt,CIt,OIt,AIt,$It,LIt,NIt,xIt,DIt,RIt,KIt=Hen(f5n,"LabelSide",285,Xnt,S3,oB);dAn(93,22,{3:1,35:1,22:1,93:1},zI);var _It,FIt,BIt,HIt,qIt,GIt,zIt=Hen(f5n,"NodeLabelPlacement",93,Xnt,jen,sB);dAn(249,22,{3:1,35:1,22:1,249:1},UI);var UIt,XIt,WIt,VIt,QIt,YIt,JIt,ZIt=Hen(f5n,"PortAlignment",249,Xnt,O5,hB);dAn(98,22,{3:1,35:1,22:1,98:1},XI);var nCt,tCt,eCt,iCt,rCt,cCt,aCt,uCt=Hen(f5n,"PortConstraints",98,Xnt,P8,fB);dAn(273,22,{3:1,35:1,22:1,273:1},WI);var oCt,sCt,hCt,fCt,lCt,bCt,wCt,dCt,gCt,pCt,vCt,mCt,yCt,kCt,jCt,ECt,TCt,MCt,SCt,PCt,ICt,CCt,OCt=Hen(f5n,"PortLabelPlacement",273,Xnt,a9,lB);dAn(61,22,{3:1,35:1,22:1,61:1},VI);var ACt,$Ct,LCt,NCt,xCt,DCt,RCt,KCt,_Ct,FCt,BCt=Hen(f5n,"PortSide",61,Xnt,f5,dB);dAn(981,1,YYn,Rf),SWn.Qe=function(n){KDn(n)},mX(f5n,"RandomLayouterOptions",981),dAn(982,1,{},Yu),SWn.$e=function(){return new to},SWn._e=function(n){},mX(f5n,"RandomLayouterOptions/RandomFactory",982),dAn(374,22,{3:1,35:1,22:1,374:1},QI);var HCt,qCt,GCt,zCt,UCt,XCt,WCt,VCt,QCt,YCt,JCt=Hen(f5n,"SizeConstraint",374,Xnt,M3,bB);dAn(259,22,{3:1,35:1,22:1,259:1},YI);var ZCt,nOt,tOt,eOt,iOt,rOt=Hen(f5n,"SizeOptions",259,Xnt,Tin,wB);dAn(370,1,{1949:1},Wm),SWn.b=!1,SWn.c=0,SWn.d=-1,SWn.e=null,SWn.f=null,SWn.g=-1,SWn.j=!1,SWn.k=!1,SWn.n=!1,SWn.o=0,SWn.q=0,SWn.r=0,mX(k3n,"BasicProgressMonitor",370),dAn(972,209,xJn,zu),SWn.Ze=function(n,t){var e,i,r,c,a,u,o,s,h;ATn(t,"Box layout",2),r=Uy(SD(n$n(n,(PMn(),WMt)))),c=HB(n$n(n,zMt),116),e=Gy(MD(n$n(n,FMt))),i=Gy(MD(n$n(n,BMt))),0===HB(n$n(n,KMt),311).g?(u=new e_((!n.a&&(n.a=new iU(XOt,n,10,11)),n.a)),PQ(),y$(u,new Pg(i)),a=u,o=WPn(n),(null==(s=SD(n$n(n,RMt)))||(jW(s),s<=0))&&(s=1.3),_Un(n,(h=qUn(a,r,c,o.a,o.b,e,(jW(s),s))).a,h.b,!1,!0)):jqn(n,r,c,e),qSn(t)},mX(k3n,"BoxLayoutProvider",972),dAn(973,1,SYn,Pg),SWn.ue=function(n,t){return fNn(this,HB(n,33),HB(t,33))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},SWn.a=!1,mX(k3n,"BoxLayoutProvider/1",973),dAn(157,1,{157:1},ztn,Ux),SWn.Ib=function(){return this.c?URn(this.c):NMn(this.b)},mX(k3n,"BoxLayoutProvider/Group",157),dAn(311,22,{3:1,35:1,22:1,311:1},JI);var cOt,aOt=Hen(k3n,"BoxLayoutProvider/PackingMode",311,Xnt,I3,gB);dAn(974,1,SYn,Uu),SWn.ue=function(n,t){return RQ(HB(n,157),HB(t,157))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(k3n,"BoxLayoutProvider/lambda$0$Type",974),dAn(975,1,SYn,Xu),SWn.ue=function(n,t){return aQ(HB(n,157),HB(t,157))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(k3n,"BoxLayoutProvider/lambda$1$Type",975),dAn(976,1,SYn,Wu),SWn.ue=function(n,t){return uQ(HB(n,157),HB(t,157))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(k3n,"BoxLayoutProvider/lambda$2$Type",976),dAn(1365,1,{831:1},Vu),SWn.qg=function(n,t){return $M(),!aL(t,160)||PE((xun(),HB(n,160)),t)},mX(k3n,"ElkSpacings/AbstractSpacingsBuilder/lambda$0$Type",1365),dAn(1366,1,bVn,Ig),SWn.td=function(n){Zsn(this.a,HB(n,146))},mX(k3n,"ElkSpacings/AbstractSpacingsBuilder/lambda$1$Type",1366),dAn(1367,1,bVn,Gu),SWn.td=function(n){HB(n,94),$M()},mX(k3n,"ElkSpacings/AbstractSpacingsBuilder/lambda$2$Type",1367),dAn(1371,1,bVn,Cg),SWn.td=function(n){Arn(this.a,HB(n,94))},mX(k3n,"ElkSpacings/AbstractSpacingsBuilder/lambda$3$Type",1371),dAn(1369,1,RVn,ZI),SWn.Mb=function(n){return Qon(this.a,this.b,HB(n,146))},mX(k3n,"ElkSpacings/AbstractSpacingsBuilder/lambda$4$Type",1369),dAn(1368,1,RVn,nC),SWn.Mb=function(n){return Lx(this.a,this.b,HB(n,831))},mX(k3n,"ElkSpacings/AbstractSpacingsBuilder/lambda$5$Type",1368),dAn(1370,1,bVn,tC),SWn.td=function(n){Bz(this.a,this.b,HB(n,146))},mX(k3n,"ElkSpacings/AbstractSpacingsBuilder/lambda$6$Type",1370),dAn(935,1,{},Hu),SWn.Kb=function(n){return kA(n)},SWn.Fb=function(n){return this===n},mX(k3n,"ElkUtil/lambda$0$Type",935),dAn(936,1,bVn,eC),SWn.td=function(n){cOn(this.a,this.b,HB(n,79))},SWn.a=0,SWn.b=0,mX(k3n,"ElkUtil/lambda$1$Type",936),dAn(937,1,bVn,iC),SWn.td=function(n){Ty(this.a,this.b,HB(n,202))},SWn.a=0,SWn.b=0,mX(k3n,"ElkUtil/lambda$2$Type",937),dAn(938,1,bVn,rC),SWn.td=function(n){e$(this.a,this.b,HB(n,137))},SWn.a=0,SWn.b=0,mX(k3n,"ElkUtil/lambda$3$Type",938),dAn(939,1,bVn,Og),SWn.td=function(n){aq(this.a,HB(n,469))},mX(k3n,"ElkUtil/lambda$4$Type",939),dAn(342,1,{35:1,342:1},Lp),SWn.wd=function(n){return mL(this,HB(n,236))},SWn.Fb=function(n){var t;return!!aL(n,342)&&(t=HB(n,342),this.a==t.a)},SWn.Hb=function(){return CJ(this.a)},SWn.Ib=function(){return this.a+" (exclusive)"},SWn.a=0,mX(k3n,"ExclusiveBounds/ExclusiveLowerBound",342),dAn(1138,209,xJn,qu),SWn.Ze=function(n,t){var i,r,c,a,u,o,s,h,l,b,w,d,g,p,v,m,y,k,j,E,T;for(ATn(t,"Fixed Layout",1),a=HB(n$n(n,(hWn(),mSt)),218),b=0,w=0,v=new $L((!n.a&&(n.a=new iU(XOt,n,10,11)),n.a));v.e!=v.i.gc();){for(g=HB(jpn(v),33),(T=HB(n$n(g,(Wsn(),pIt)),8))&&(PA(g,T.a,T.b),HB(n$n(g,lIt),174).Hc((ydn(),RCt))&&(d=HB(n$n(g,wIt),8)).a>0&&d.b>0&&_Un(g,d.a,d.b,!0,!0)),b=e.Math.max(b,g.i+g.g),w=e.Math.max(w,g.j+g.f),h=new $L((!g.n&&(g.n=new iU(UOt,g,1,7)),g.n));h.e!=h.i.gc();)o=HB(jpn(h),137),(T=HB(n$n(o,pIt),8))&&PA(o,T.a,T.b),b=e.Math.max(b,g.i+o.i+o.g),w=e.Math.max(w,g.j+o.j+o.f);for(k=new $L((!g.c&&(g.c=new iU(WOt,g,9,9)),g.c));k.e!=k.i.gc();)for(y=HB(jpn(k),118),(T=HB(n$n(y,pIt),8))&&PA(y,T.a,T.b),j=g.i+y.i,E=g.j+y.j,b=e.Math.max(b,j+y.g),w=e.Math.max(w,E+y.f),s=new $L((!y.n&&(y.n=new iU(UOt,y,1,7)),y.n));s.e!=s.i.gc();)o=HB(jpn(s),137),(T=HB(n$n(o,pIt),8))&&PA(o,T.a,T.b),b=e.Math.max(b,j+o.i+o.g),w=e.Math.max(w,E+o.j+o.f);for(c=new sz(nN(gLn(g).a.Kc(),new f));gAn(c);)l=FUn(i=HB(X5(c),79)),b=e.Math.max(b,l.a),w=e.Math.max(w,l.b);for(r=new sz(nN(dLn(g).a.Kc(),new f));gAn(r);)ZJ(IMn(i=HB(X5(r),79)))!=n&&(l=FUn(i),b=e.Math.max(b,l.a),w=e.Math.max(w,l.b))}if(a==(Sbn(),YPt))for(p=new $L((!n.a&&(n.a=new iU(XOt,n,10,11)),n.a));p.e!=p.i.gc();)for(r=new sz(nN(gLn(g=HB(jpn(p),33)).a.Kc(),new f));gAn(r);)0==(u=cFn(i=HB(X5(r),79))).b?Jpn(i,ASt,null):Jpn(i,ASt,u);Gy(MD(n$n(n,(Wsn(),bIt))))||_Un(n,b+(m=HB(n$n(n,dIt),116)).b+m.c,w+m.d+m.a,!0,!0),qSn(t)},mX(k3n,"FixedLayoutProvider",1138),dAn(373,134,{3:1,414:1,373:1,94:1,134:1},Ju,cnn),SWn.Jf=function(n){var t,e,i,r,c,a,u;if(n)try{for(a=jKn(n,";,;"),r=0,c=(i=a).length;r>16&YVn|n^(e&YVn)<<16},SWn.Kc=function(){return new Ag(this)},SWn.Ib=function(){return null==this.a&&null==this.b?"pair(null,null)":null==this.a?"pair(null,"+Hbn(this.b)+")":null==this.b?"pair("+Hbn(this.a)+",null)":"pair("+Hbn(this.a)+","+Hbn(this.b)+")"},mX(k3n,"Pair",46),dAn(983,1,YWn,Ag),SWn.Nb=function(n){lU(this,n)},SWn.Ob=function(){return!this.c&&(!this.b&&null!=this.a.a||null!=this.a.b)},SWn.Pb=function(){if(!this.c&&!this.b&&null!=this.a.a)return this.b=!0,this.a.a;if(!this.c&&null!=this.a.b)return this.c=!0,this.a.b;throw qp(new kv)},SWn.Qb=function(){throw this.c&&null!=this.a.b?this.a.b=null:this.b&&null!=this.a.a&&(this.a.a=null),qp(new gv)},SWn.b=!1,SWn.c=!1,mX(k3n,"Pair/1",983),dAn(448,1,{448:1},QV),SWn.Fb=function(n){return aV(this.a,HB(n,448).a)&&aV(this.c,HB(n,448).c)&&aV(this.d,HB(n,448).d)&&aV(this.b,HB(n,448).b)},SWn.Hb=function(){return lhn(Iun(zk($nt,1),qWn,1,5,[this.a,this.c,this.d,this.b]))},SWn.Ib=function(){return"("+this.a+BWn+this.c+BWn+this.d+BWn+this.b+")"},mX(k3n,"Quadruple",448),dAn(1126,209,xJn,to),SWn.Ze=function(n,t){var e;ATn(t,"Random Layout",1),0!=(!n.a&&(n.a=new iU(XOt,n,10,11)),n.a).i?(rUn(n,(e=HB(n$n(n,(mdn(),xCt)),19))&&0!=e.a?new C4(e.a):new hbn,Uy(SD(n$n(n,$Ct))),Uy(SD(n$n(n,DCt))),HB(n$n(n,LCt),116)),qSn(t)):qSn(t)},mX(k3n,"RandomLayoutProvider",1126),dAn(553,1,{}),SWn.qf=function(){return new DI(this.f.i,this.f.j)},SWn.We=function(n){return TY(n,(hWn(),uPt))?n$n(this.f,wOt):n$n(this.f,n)},SWn.rf=function(){return new DI(this.f.g,this.f.f)},SWn.sf=function(){return this.g},SWn.Xe=function(n){return I8(this.f,n)},SWn.tf=function(n){Ien(this.f,n.a),Cen(this.f,n.b)},SWn.uf=function(n){Pen(this.f,n.a),Sen(this.f,n.b)},SWn.vf=function(n){this.g=n},SWn.g=0,mX(q5n,"ElkGraphAdapters/AbstractElkGraphElementAdapter",553),dAn(554,1,{839:1},$g),SWn.wf=function(){var n,t;if(!this.b)for(this.b=C2(yV(this.a).i),t=new $L(yV(this.a));t.e!=t.i.gc();)n=HB(jpn(t),137),VB(this.b,new Ky(n));return this.b},SWn.b=null,mX(q5n,"ElkGraphAdapters/ElkEdgeAdapter",554),dAn(301,553,{},Ry),SWn.xf=function(){return iyn(this)},SWn.a=null,mX(q5n,"ElkGraphAdapters/ElkGraphAdapter",301),dAn(630,553,{181:1},Ky),mX(q5n,"ElkGraphAdapters/ElkLabelAdapter",630),dAn(629,553,{680:1},ZN),SWn.wf=function(){return tyn(this)},SWn.Af=function(){var n;return!(n=HB(n$n(this.f,(hWn(),LSt)),142))&&(n=new bm),n},SWn.Cf=function(){return eyn(this)},SWn.Ef=function(n){var t;t=new $_(n),Jpn(this.f,(hWn(),LSt),t)},SWn.Ff=function(n){Jpn(this.f,(hWn(),WSt),new A_(n))},SWn.yf=function(){return this.d},SWn.zf=function(){var n,t;if(!this.a)for(this.a=new xp,t=new sz(nN(dLn(HB(this.f,33)).a.Kc(),new f));gAn(t);)n=HB(X5(t),79),VB(this.a,new $g(n));return this.a},SWn.Bf=function(){var n,t;if(!this.c)for(this.c=new xp,t=new sz(nN(gLn(HB(this.f,33)).a.Kc(),new f));gAn(t);)n=HB(X5(t),79),VB(this.c,new $g(n));return this.c},SWn.Df=function(){return 0!=JQ(HB(this.f,33)).i||Gy(MD(HB(this.f,33).We((hWn(),PSt))))},SWn.Gf=function(){F7(this,(zM(),bOt))},SWn.a=null,SWn.b=null,SWn.c=null,SWn.d=null,SWn.e=null,mX(q5n,"ElkGraphAdapters/ElkNodeAdapter",629),dAn(1266,553,{838:1},sp),SWn.wf=function(){return jyn(this)},SWn.zf=function(){var n,t;if(!this.a)for(this.a=hx(HB(this.f,118).xg().i),t=new $L(HB(this.f,118).xg());t.e!=t.i.gc();)n=HB(jpn(t),79),VB(this.a,new $g(n));return this.a},SWn.Bf=function(){var n,t;if(!this.c)for(this.c=hx(HB(this.f,118).yg().i),t=new $L(HB(this.f,118).yg());t.e!=t.i.gc();)n=HB(jpn(t),79),VB(this.c,new $g(n));return this.c},SWn.Hf=function(){return HB(HB(this.f,118).We((hWn(),dPt)),61)},SWn.If=function(){var n,t,e,i,r,c,a;for(i=VJ(HB(this.f,118)),e=new $L(HB(this.f,118).yg());e.e!=e.i.gc();)for(a=new $L((!(n=HB(jpn(e),79)).c&&(n.c=new fK(_Ot,n,5,8)),n.c));a.e!=a.i.gc();){if(Ctn(ITn(c=HB(jpn(a),82)),i))return!0;if(ITn(c)==i&&Gy(MD(n$n(n,(hWn(),ISt)))))return!0}for(t=new $L(HB(this.f,118).xg());t.e!=t.i.gc();)for(r=new $L((!(n=HB(jpn(t),79)).b&&(n.b=new fK(_Ot,n,4,7)),n.b));r.e!=r.i.gc();)if(Ctn(ITn(HB(jpn(r),82)),i))return!0;return!1},SWn.a=null,SWn.b=null,SWn.c=null,mX(q5n,"ElkGraphAdapters/ElkPortAdapter",1266),dAn(1267,1,SYn,eo),SWn.ue=function(n,t){return zRn(HB(n,118),HB(t,118))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(q5n,"ElkGraphAdapters/PortComparator",1267);var gOt,pOt,vOt,mOt,yOt,kOt,jOt,EOt,TOt,MOt,SOt,POt,IOt,COt,OOt,AOt,$Ot,LOt,NOt=wq(G5n,"EObject"),xOt=wq(z5n,U5n),DOt=wq(z5n,X5n),ROt=wq(z5n,W5n),KOt=wq(z5n,"ElkShape"),_Ot=wq(z5n,V5n),FOt=wq(z5n,Q5n),BOt=wq(z5n,Y5n),HOt=wq(G5n,J5n),qOt=wq(G5n,"EFactory"),GOt=wq(G5n,Z5n),zOt=wq(G5n,"EPackage"),UOt=wq(z5n,n6n),XOt=wq(z5n,t6n),WOt=wq(z5n,e6n);dAn(90,1,i6n),SWn.Jg=function(){return this.Kg(),null},SWn.Kg=function(){return null},SWn.Lg=function(){return this.Kg(),!1},SWn.Mg=function(){return!1},SWn.Ng=function(n){wan(this,n)},mX(r6n,"BasicNotifierImpl",90),dAn(97,90,l6n),SWn.nh=function(){return yA(this)},SWn.Og=function(n,t){return n},SWn.Pg=function(){throw qp(new vv)},SWn.Qg=function(n){var t;return t=Cvn(HB(rtn(this.Tg(),this.Vg()),18)),this.eh().ih(this,t.n,t.f,n)},SWn.Rg=function(n,t){throw qp(new vv)},SWn.Sg=function(n,t,e){return M_n(this,n,t,e)},SWn.Tg=function(){var n;return this.Pg()&&(n=this.Pg().ck())?n:this.zh()},SWn.Ug=function(){return aAn(this)},SWn.Vg=function(){throw qp(new vv)},SWn.Wg=function(){var n,t;return!(t=this.ph().dk())&&this.Pg().ik((YM(),t=null==(n=bJ(GFn(this.Tg())))?x$t:new YN(this,n))),t},SWn.Xg=function(n,t){return n},SWn.Yg=function(n){return n.Gj()?n.aj():$wn(this.Tg(),n)},SWn.Zg=function(){var n;return(n=this.Pg())?n.fk():null},SWn.$g=function(){return this.Pg()?this.Pg().ck():null},SWn._g=function(n,t,e){return nvn(this,n,t,e)},SWn.ah=function(n){return P9(this,n)},SWn.bh=function(n,t){return Q5(this,n,t)},SWn.dh=function(){var n;return!!(n=this.Pg())&&n.gk()},SWn.eh=function(){throw qp(new vv)},SWn.fh=function(){return Jdn(this)},SWn.gh=function(n,t,e,i){return xpn(this,n,t,i)},SWn.hh=function(n,t,e){return HB(rtn(this.Tg(),t),66).Nj().Qj(this,this.yh(),t-this.Ah(),n,e)},SWn.ih=function(n,t,e,i){return sJ(this,n,t,i)},SWn.jh=function(n,t,e){return HB(rtn(this.Tg(),t),66).Nj().Rj(this,this.yh(),t-this.Ah(),n,e)},SWn.kh=function(){return!!this.Pg()&&!!this.Pg().ek()},SWn.lh=function(n){return mpn(this,n)},SWn.mh=function(n){return nZ(this,n)},SWn.oh=function(n){return Fqn(this,n)},SWn.ph=function(){throw qp(new vv)},SWn.qh=function(){return this.Pg()?this.Pg().ek():null},SWn.rh=function(){return Jdn(this)},SWn.sh=function(n,t){kIn(this,n,t)},SWn.th=function(n){this.ph().hk(n)},SWn.uh=function(n){this.ph().kk(n)},SWn.vh=function(n){this.ph().jk(n)},SWn.wh=function(n,t){var e,i,r,c;return(c=this.Zg())&&n&&(t=Fpn(c.Vk(),this,t),c.Zk(this)),(i=this.eh())&&(0!=(pKn(this,this.eh(),this.Vg()).Bb&HQn)?(r=i.fh())&&(n?!c&&r.Zk(this):r.Yk(this)):(t=(e=this.Vg())>=0?this.Qg(t):this.eh().ih(this,-1-e,null,t),t=this.Sg(null,-1,t))),this.uh(n),t},SWn.xh=function(n){var t,e,i,r,c,a,u;if((c=$wn(e=this.Tg(),n))>=(t=this.Ah()))return HB(n,66).Nj().Uj(this,this.yh(),c-t);if(c<=-1){if(!(a=Bqn((OPn(),nLt),e,n)))throw qp(new Fy(c6n+n.ne()+o6n));if(nS(),HB(a,66).Oj()||(a=n0(H7(nLt,a))),r=HB((i=this.Yg(a))>=0?this._g(i,!0,!0):aOn(this,a,!0),153),(u=a.Zj())>1||-1==u)return HB(HB(r,215).hl(n,!1),76)}else if(n.$j())return HB((i=this.Yg(n))>=0?this._g(i,!1,!0):aOn(this,n,!1),76);return new OC(this,n)},SWn.yh=function(){return Y7(this)},SWn.zh=function(){return(YX(),e$t).S},SWn.Ah=function(){return wX(this.zh())},SWn.Bh=function(n){yPn(this,n)},SWn.Ib=function(){return I$n(this)},mX(b6n,"BasicEObjectImpl",97),dAn(114,97,{105:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1}),SWn.Ch=function(n){return J7(this)[n]},SWn.Dh=function(n,t){LX(J7(this),n,t)},SWn.Eh=function(n){LX(J7(this),n,null)},SWn.Jg=function(){return HB(kan(this,4),126)},SWn.Kg=function(){throw qp(new vv)},SWn.Lg=function(){return 0!=(4&this.Db)},SWn.Pg=function(){throw qp(new vv)},SWn.Fh=function(n){fgn(this,2,n)},SWn.Rg=function(n,t){this.Db=t<<16|255&this.Db,this.Fh(n)},SWn.Tg=function(){return EY(this)},SWn.Vg=function(){return this.Db>>16},SWn.Wg=function(){var n;return YM(),null==(n=bJ(GFn(HB(kan(this,16),26)||this.zh())))?x$t:new YN(this,n)},SWn.Mg=function(){return 0==(1&this.Db)},SWn.Zg=function(){return HB(kan(this,128),1935)},SWn.$g=function(){return HB(kan(this,16),26)},SWn.dh=function(){return 0!=(32&this.Db)},SWn.eh=function(){return HB(kan(this,2),49)},SWn.kh=function(){return 0!=(64&this.Db)},SWn.ph=function(){throw qp(new vv)},SWn.qh=function(){return HB(kan(this,64),281)},SWn.th=function(n){fgn(this,16,n)},SWn.uh=function(n){fgn(this,128,n)},SWn.vh=function(n){fgn(this,64,n)},SWn.yh=function(){return lgn(this)},SWn.Db=0,mX(b6n,"MinimalEObjectImpl",114),dAn(115,114,{105:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1}),SWn.Fh=function(n){this.Cb=n},SWn.eh=function(){return this.Cb},mX(b6n,"MinimalEObjectImpl/Container",115),dAn(1985,115,{105:1,413:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1}),SWn._g=function(n,t,e){return Tyn(this,n,t,e)},SWn.jh=function(n,t,e){return iSn(this,n,t,e)},SWn.lh=function(n){return y0(this,n)},SWn.sh=function(n,t){csn(this,n,t)},SWn.zh=function(){return CXn(),IOt},SWn.Bh=function(n){Uun(this,n)},SWn.Ve=function(){return bpn(this)},SWn.We=function(n){return n$n(this,n)},SWn.Xe=function(n){return I8(this,n)},SWn.Ye=function(n,t){return Jpn(this,n,t)},mX(w6n,"EMapPropertyHolderImpl",1985),dAn(567,115,{105:1,469:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1},co),SWn._g=function(n,t,e){switch(n){case 0:return this.a;case 1:return this.b}return nvn(this,n,t,e)},SWn.lh=function(n){switch(n){case 0:return 0!=this.a;case 1:return 0!=this.b}return mpn(this,n)},SWn.sh=function(n,t){switch(n){case 0:return void Een(this,zy(SD(t)));case 1:return void Ten(this,zy(SD(t)))}kIn(this,n,t)},SWn.zh=function(){return CXn(),vOt},SWn.Bh=function(n){switch(n){case 0:return void Een(this,0);case 1:return void Ten(this,0)}yPn(this,n)},SWn.Ib=function(){var n;return 0!=(64&this.Db)?I$n(this):((n=new lN(I$n(this))).a+=" (x: ",mE(n,this.a),n.a+=", y: ",mE(n,this.b),n.a+=")",n.a)},SWn.a=0,SWn.b=0,mX(w6n,"ElkBendPointImpl",567),dAn(723,1985,{105:1,413:1,160:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1}),SWn._g=function(n,t,e){return Ffn(this,n,t,e)},SWn.hh=function(n,t,e){return BTn(this,n,t,e)},SWn.jh=function(n,t,e){return cun(this,n,t,e)},SWn.lh=function(n){return Tan(this,n)},SWn.sh=function(n,t){zjn(this,n,t)},SWn.zh=function(){return CXn(),jOt},SWn.Bh=function(n){sfn(this,n)},SWn.zg=function(){return this.k},SWn.Ag=function(){return yV(this)},SWn.Ib=function(){return Jln(this)},SWn.k=null,mX(w6n,"ElkGraphElementImpl",723),dAn(724,723,{105:1,413:1,160:1,470:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1}),SWn._g=function(n,t,e){return Kbn(this,n,t,e)},SWn.lh=function(n){return lwn(this,n)},SWn.sh=function(n,t){Ujn(this,n,t)},SWn.zh=function(){return CXn(),POt},SWn.Bh=function(n){Rwn(this,n)},SWn.Bg=function(){return this.f},SWn.Cg=function(){return this.g},SWn.Dg=function(){return this.i},SWn.Eg=function(){return this.j},SWn.Fg=function(n,t){SA(this,n,t)},SWn.Gg=function(n,t){PA(this,n,t)},SWn.Hg=function(n){Ien(this,n)},SWn.Ig=function(n){Cen(this,n)},SWn.Ib=function(){return ySn(this)},SWn.f=0,SWn.g=0,SWn.i=0,SWn.j=0,mX(w6n,"ElkShapeImpl",724),dAn(725,724,{105:1,413:1,82:1,160:1,470:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1}),SWn._g=function(n,t,e){return qvn(this,n,t,e)},SWn.hh=function(n,t,e){return gjn(this,n,t,e)},SWn.jh=function(n,t,e){return pjn(this,n,t,e)},SWn.lh=function(n){return zon(this,n)},SWn.sh=function(n,t){NAn(this,n,t)},SWn.zh=function(){return CXn(),mOt},SWn.Bh=function(n){Dpn(this,n)},SWn.xg=function(){return!this.d&&(this.d=new fK(FOt,this,8,5)),this.d},SWn.yg=function(){return!this.e&&(this.e=new fK(FOt,this,7,4)),this.e},mX(w6n,"ElkConnectableShapeImpl",725),dAn(352,723,{105:1,413:1,79:1,160:1,352:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1},ro),SWn.Qg=function(n){return Skn(this,n)},SWn._g=function(n,t,e){switch(n){case 3:return WJ(this);case 4:return!this.b&&(this.b=new fK(_Ot,this,4,7)),this.b;case 5:return!this.c&&(this.c=new fK(_Ot,this,5,8)),this.c;case 6:return!this.a&&(this.a=new iU(BOt,this,6,6)),this.a;case 7:return fN(),!this.b&&(this.b=new fK(_Ot,this,4,7)),!(this.b.i<=1&&(!this.c&&(this.c=new fK(_Ot,this,5,8)),this.c.i<=1));case 8:return fN(),!!tAn(this);case 9:return fN(),!!YCn(this);case 10:return fN(),!this.b&&(this.b=new fK(_Ot,this,4,7)),0!=this.b.i&&(!this.c&&(this.c=new fK(_Ot,this,5,8)),0!=this.c.i)}return Ffn(this,n,t,e)},SWn.hh=function(n,t,e){var i;switch(t){case 3:return this.Cb&&(e=(i=this.Db>>16)>=0?Skn(this,e):this.Cb.ih(this,-1-i,null,e)),QD(this,HB(n,33),e);case 4:return!this.b&&(this.b=new fK(_Ot,this,4,7)),Jwn(this.b,n,e);case 5:return!this.c&&(this.c=new fK(_Ot,this,5,8)),Jwn(this.c,n,e);case 6:return!this.a&&(this.a=new iU(BOt,this,6,6)),Jwn(this.a,n,e)}return BTn(this,n,t,e)},SWn.jh=function(n,t,e){switch(t){case 3:return QD(this,null,e);case 4:return!this.b&&(this.b=new fK(_Ot,this,4,7)),Fpn(this.b,n,e);case 5:return!this.c&&(this.c=new fK(_Ot,this,5,8)),Fpn(this.c,n,e);case 6:return!this.a&&(this.a=new iU(BOt,this,6,6)),Fpn(this.a,n,e)}return cun(this,n,t,e)},SWn.lh=function(n){switch(n){case 3:return!!WJ(this);case 4:return!!this.b&&0!=this.b.i;case 5:return!!this.c&&0!=this.c.i;case 6:return!!this.a&&0!=this.a.i;case 7:return!this.b&&(this.b=new fK(_Ot,this,4,7)),!(this.b.i<=1&&(!this.c&&(this.c=new fK(_Ot,this,5,8)),this.c.i<=1));case 8:return tAn(this);case 9:return YCn(this);case 10:return!this.b&&(this.b=new fK(_Ot,this,4,7)),0!=this.b.i&&(!this.c&&(this.c=new fK(_Ot,this,5,8)),0!=this.c.i)}return Tan(this,n)},SWn.sh=function(n,t){switch(n){case 3:return void qLn(this,HB(t,33));case 4:return!this.b&&(this.b=new fK(_Ot,this,4,7)),hqn(this.b),!this.b&&(this.b=new fK(_Ot,this,4,7)),void vX(this.b,HB(t,14));case 5:return!this.c&&(this.c=new fK(_Ot,this,5,8)),hqn(this.c),!this.c&&(this.c=new fK(_Ot,this,5,8)),void vX(this.c,HB(t,14));case 6:return!this.a&&(this.a=new iU(BOt,this,6,6)),hqn(this.a),!this.a&&(this.a=new iU(BOt,this,6,6)),void vX(this.a,HB(t,14))}zjn(this,n,t)},SWn.zh=function(){return CXn(),yOt},SWn.Bh=function(n){switch(n){case 3:return void qLn(this,null);case 4:return!this.b&&(this.b=new fK(_Ot,this,4,7)),void hqn(this.b);case 5:return!this.c&&(this.c=new fK(_Ot,this,5,8)),void hqn(this.c);case 6:return!this.a&&(this.a=new iU(BOt,this,6,6)),void hqn(this.a)}sfn(this,n)},SWn.Ib=function(){return bHn(this)},mX(w6n,"ElkEdgeImpl",352),dAn(439,1985,{105:1,413:1,202:1,439:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1},ao),SWn.Qg=function(n){return hkn(this,n)},SWn._g=function(n,t,e){switch(n){case 1:return this.j;case 2:return this.k;case 3:return this.b;case 4:return this.c;case 5:return!this.a&&(this.a=new LL(DOt,this,5)),this.a;case 6:return QJ(this);case 7:return t?Ivn(this):this.i;case 8:return t?Pvn(this):this.f;case 9:return!this.g&&(this.g=new fK(BOt,this,9,10)),this.g;case 10:return!this.e&&(this.e=new fK(BOt,this,10,9)),this.e;case 11:return this.d}return Tyn(this,n,t,e)},SWn.hh=function(n,t,e){var i;switch(t){case 6:return this.Cb&&(e=(i=this.Db>>16)>=0?hkn(this,e):this.Cb.ih(this,-1-i,null,e)),YD(this,HB(n,79),e);case 9:return!this.g&&(this.g=new fK(BOt,this,9,10)),Jwn(this.g,n,e);case 10:return!this.e&&(this.e=new fK(BOt,this,10,9)),Jwn(this.e,n,e)}return HB(rtn(HB(kan(this,16),26)||(CXn(),kOt),t),66).Nj().Qj(this,lgn(this),t-wX((CXn(),kOt)),n,e)},SWn.jh=function(n,t,e){switch(t){case 5:return!this.a&&(this.a=new LL(DOt,this,5)),Fpn(this.a,n,e);case 6:return YD(this,null,e);case 9:return!this.g&&(this.g=new fK(BOt,this,9,10)),Fpn(this.g,n,e);case 10:return!this.e&&(this.e=new fK(BOt,this,10,9)),Fpn(this.e,n,e)}return iSn(this,n,t,e)},SWn.lh=function(n){switch(n){case 1:return 0!=this.j;case 2:return 0!=this.k;case 3:return 0!=this.b;case 4:return 0!=this.c;case 5:return!!this.a&&0!=this.a.i;case 6:return!!QJ(this);case 7:return!!this.i;case 8:return!!this.f;case 9:return!!this.g&&0!=this.g.i;case 10:return!!this.e&&0!=this.e.i;case 11:return null!=this.d}return y0(this,n)},SWn.sh=function(n,t){switch(n){case 1:return void Oen(this,zy(SD(t)));case 2:return void $en(this,zy(SD(t)));case 3:return void Men(this,zy(SD(t)));case 4:return void Aen(this,zy(SD(t)));case 5:return!this.a&&(this.a=new LL(DOt,this,5)),hqn(this.a),!this.a&&(this.a=new LL(DOt,this,5)),void vX(this.a,HB(t,14));case 6:return void BLn(this,HB(t,79));case 7:return void xin(this,HB(t,82));case 8:return void Nin(this,HB(t,82));case 9:return!this.g&&(this.g=new fK(BOt,this,9,10)),hqn(this.g),!this.g&&(this.g=new fK(BOt,this,9,10)),void vX(this.g,HB(t,14));case 10:return!this.e&&(this.e=new fK(BOt,this,10,9)),hqn(this.e),!this.e&&(this.e=new fK(BOt,this,10,9)),void vX(this.e,HB(t,14));case 11:return void arn(this,PD(t))}csn(this,n,t)},SWn.zh=function(){return CXn(),kOt},SWn.Bh=function(n){switch(n){case 1:return void Oen(this,0);case 2:return void $en(this,0);case 3:return void Men(this,0);case 4:return void Aen(this,0);case 5:return!this.a&&(this.a=new LL(DOt,this,5)),void hqn(this.a);case 6:return void BLn(this,null);case 7:return void xin(this,null);case 8:return void Nin(this,null);case 9:return!this.g&&(this.g=new fK(BOt,this,9,10)),void hqn(this.g);case 10:return!this.e&&(this.e=new fK(BOt,this,10,9)),void hqn(this.e);case 11:return void arn(this,null)}Uun(this,n)},SWn.Ib=function(){return KOn(this)},SWn.b=0,SWn.c=0,SWn.d=null,SWn.j=0,SWn.k=0,mX(w6n,"ElkEdgeSectionImpl",439),dAn(150,115,{105:1,92:1,90:1,147:1,56:1,108:1,49:1,97:1,150:1,114:1,115:1}),SWn._g=function(n,t,e){return 0==n?(!this.Ab&&(this.Ab=new iU(_At,this,0,3)),this.Ab):X9(this,n-wX(this.zh()),rtn(HB(kan(this,16),26)||this.zh(),n),t,e)},SWn.hh=function(n,t,e){return 0==t?(!this.Ab&&(this.Ab=new iU(_At,this,0,3)),Jwn(this.Ab,n,e)):HB(rtn(HB(kan(this,16),26)||this.zh(),t),66).Nj().Qj(this,lgn(this),t-wX(this.zh()),n,e)},SWn.jh=function(n,t,e){return 0==t?(!this.Ab&&(this.Ab=new iU(_At,this,0,3)),Fpn(this.Ab,n,e)):HB(rtn(HB(kan(this,16),26)||this.zh(),t),66).Nj().Rj(this,lgn(this),t-wX(this.zh()),n,e)},SWn.lh=function(n){return 0==n?!!this.Ab&&0!=this.Ab.i:A3(this,n-wX(this.zh()),rtn(HB(kan(this,16),26)||this.zh(),n))},SWn.oh=function(n){return fUn(this,n)},SWn.sh=function(n,t){if(0===n)return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),hqn(this.Ab),!this.Ab&&(this.Ab=new iU(_At,this,0,3)),void vX(this.Ab,HB(t,14));Nbn(this,n-wX(this.zh()),rtn(HB(kan(this,16),26)||this.zh(),n),t)},SWn.uh=function(n){fgn(this,128,n)},SWn.zh=function(){return pWn(),w$t},SWn.Bh=function(n){if(0===n)return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),void hqn(this.Ab);Gfn(this,n-wX(this.zh()),rtn(HB(kan(this,16),26)||this.zh(),n))},SWn.Gh=function(){this.Bb|=1},SWn.Hh=function(n){return x_n(this,n)},SWn.Bb=0,mX(b6n,"EModelElementImpl",150),dAn(704,150,{105:1,92:1,90:1,471:1,147:1,56:1,108:1,49:1,97:1,150:1,114:1,115:1},Kf),SWn.Ih=function(n,t){return GGn(this,n,t)},SWn.Jh=function(n){var t,e,i,r;if(this.a!=Xtn(n)||0!=(256&n.Bb))throw qp(new Fy(y6n+n.zb+p6n));for(e=jY(n);0!=u4(e.a).i;){if(ryn(t=HB(iGn(e,0,aL(r=HB(Vtn(u4(e.a),0),87).c,88)?HB(r,26):(pWn(),g$t)),26)))return HB(i=Xtn(t).Nh().Jh(t),49).th(n),i;e=jY(t)}return"java.util.Map$Entry"==(null!=n.D?n.D:n.B)?new lq(n):new EH(n)},SWn.Kh=function(n,t){return DXn(this,n,t)},SWn._g=function(n,t,e){switch(n){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),this.Ab;case 1:return this.a}return X9(this,n-wX((pWn(),f$t)),rtn(HB(kan(this,16),26)||f$t,n),t,e)},SWn.hh=function(n,t,e){switch(t){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),Jwn(this.Ab,n,e);case 1:return this.a&&(e=HB(this.a,49).ih(this,4,zOt,e)),Zhn(this,HB(n,235),e)}return HB(rtn(HB(kan(this,16),26)||(pWn(),f$t),t),66).Nj().Qj(this,lgn(this),t-wX((pWn(),f$t)),n,e)},SWn.jh=function(n,t,e){switch(t){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),Fpn(this.Ab,n,e);case 1:return Zhn(this,null,e)}return HB(rtn(HB(kan(this,16),26)||(pWn(),f$t),t),66).Nj().Rj(this,lgn(this),t-wX((pWn(),f$t)),n,e)},SWn.lh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return!!this.a}return A3(this,n-wX((pWn(),f$t)),rtn(HB(kan(this,16),26)||f$t,n))},SWn.sh=function(n,t){switch(n){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),hqn(this.Ab),!this.Ab&&(this.Ab=new iU(_At,this,0,3)),void vX(this.Ab,HB(t,14));case 1:return void DMn(this,HB(t,235))}Nbn(this,n-wX((pWn(),f$t)),rtn(HB(kan(this,16),26)||f$t,n),t)},SWn.zh=function(){return pWn(),f$t},SWn.Bh=function(n){switch(n){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),void hqn(this.Ab);case 1:return void DMn(this,null)}Gfn(this,n-wX((pWn(),f$t)),rtn(HB(kan(this,16),26)||f$t,n))},mX(b6n,"EFactoryImpl",704),dAn(j6n,704,{105:1,2014:1,92:1,90:1,471:1,147:1,56:1,108:1,49:1,97:1,150:1,114:1,115:1},uo),SWn.Ih=function(n,t){switch(n.yj()){case 12:return HB(t,146).tg();case 13:return Hbn(t);default:throw qp(new Fy(g6n+n.ne()+p6n))}},SWn.Jh=function(n){var t;switch(-1==n.G&&(n.G=(t=Xtn(n))?ovn(t.Mh(),n):-1),n.G){case 4:return new oo;case 6:return new Em;case 7:return new Tm;case 8:return new ro;case 9:return new co;case 10:return new ao;case 11:return new ho;default:throw qp(new Fy(y6n+n.zb+p6n))}},SWn.Kh=function(n,t){switch(n.yj()){case 13:case 12:return null;default:throw qp(new Fy(g6n+n.ne()+p6n))}},mX(w6n,"ElkGraphFactoryImpl",j6n),dAn(438,150,{105:1,92:1,90:1,147:1,191:1,56:1,108:1,49:1,97:1,150:1,114:1,115:1}),SWn.Wg=function(){var n;return null==(n=bJ(GFn(HB(kan(this,16),26)||this.zh())))?(YM(),YM(),x$t):new Vx(this,n)},SWn._g=function(n,t,e){switch(n){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),this.Ab;case 1:return this.ne()}return X9(this,n-wX(this.zh()),rtn(HB(kan(this,16),26)||this.zh(),n),t,e)},SWn.lh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb}return A3(this,n-wX(this.zh()),rtn(HB(kan(this,16),26)||this.zh(),n))},SWn.sh=function(n,t){switch(n){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),hqn(this.Ab),!this.Ab&&(this.Ab=new iU(_At,this,0,3)),void vX(this.Ab,HB(t,14));case 1:return void this.Lh(PD(t))}Nbn(this,n-wX(this.zh()),rtn(HB(kan(this,16),26)||this.zh(),n),t)},SWn.zh=function(){return pWn(),d$t},SWn.Bh=function(n){switch(n){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),void hqn(this.Ab);case 1:return void this.Lh(null)}Gfn(this,n-wX(this.zh()),rtn(HB(kan(this,16),26)||this.zh(),n))},SWn.ne=function(){return this.zb},SWn.Lh=function(n){xrn(this,n)},SWn.Ib=function(){return jfn(this)},SWn.zb=null,mX(b6n,"ENamedElementImpl",438),dAn(179,438,{105:1,92:1,90:1,147:1,191:1,56:1,235:1,108:1,49:1,97:1,150:1,179:1,114:1,115:1,675:1},mY),SWn.Qg=function(n){return dkn(this,n)},SWn._g=function(n,t,e){switch(n){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.yb;case 3:return this.xb;case 4:return this.sb;case 5:return!this.rb&&(this.rb=new Zz(this,qAt,this)),this.rb;case 6:return!this.vb&&(this.vb=new iK(zOt,this,6,7)),this.vb;case 7:return t?this.Db>>16==7?HB(this.Cb,235):null:YJ(this)}return X9(this,n-wX((pWn(),m$t)),rtn(HB(kan(this,16),26)||m$t,n),t,e)},SWn.hh=function(n,t,e){var i;switch(t){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),Jwn(this.Ab,n,e);case 4:return this.sb&&(e=HB(this.sb,49).ih(this,1,qOt,e)),Efn(this,HB(n,471),e);case 5:return!this.rb&&(this.rb=new Zz(this,qAt,this)),Jwn(this.rb,n,e);case 6:return!this.vb&&(this.vb=new iK(zOt,this,6,7)),Jwn(this.vb,n,e);case 7:return this.Cb&&(e=(i=this.Db>>16)>=0?dkn(this,e):this.Cb.ih(this,-1-i,null,e)),M_n(this,n,7,e)}return HB(rtn(HB(kan(this,16),26)||(pWn(),m$t),t),66).Nj().Qj(this,lgn(this),t-wX((pWn(),m$t)),n,e)},SWn.jh=function(n,t,e){switch(t){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),Fpn(this.Ab,n,e);case 4:return Efn(this,null,e);case 5:return!this.rb&&(this.rb=new Zz(this,qAt,this)),Fpn(this.rb,n,e);case 6:return!this.vb&&(this.vb=new iK(zOt,this,6,7)),Fpn(this.vb,n,e);case 7:return M_n(this,null,7,e)}return HB(rtn(HB(kan(this,16),26)||(pWn(),m$t),t),66).Nj().Rj(this,lgn(this),t-wX((pWn(),m$t)),n,e)},SWn.lh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return null!=this.yb;case 3:return null!=this.xb;case 4:return!!this.sb;case 5:return!!this.rb&&0!=this.rb.i;case 6:return!!this.vb&&0!=this.vb.i;case 7:return!!YJ(this)}return A3(this,n-wX((pWn(),m$t)),rtn(HB(kan(this,16),26)||m$t,n))},SWn.oh=function(n){return NNn(this,n)||fUn(this,n)},SWn.sh=function(n,t){switch(n){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),hqn(this.Ab),!this.Ab&&(this.Ab=new iU(_At,this,0,3)),void vX(this.Ab,HB(t,14));case 1:return void xrn(this,PD(t));case 2:return void Rrn(this,PD(t));case 3:return void Drn(this,PD(t));case 4:return void rSn(this,HB(t,471));case 5:return!this.rb&&(this.rb=new Zz(this,qAt,this)),hqn(this.rb),!this.rb&&(this.rb=new Zz(this,qAt,this)),void vX(this.rb,HB(t,14));case 6:return!this.vb&&(this.vb=new iK(zOt,this,6,7)),hqn(this.vb),!this.vb&&(this.vb=new iK(zOt,this,6,7)),void vX(this.vb,HB(t,14))}Nbn(this,n-wX((pWn(),m$t)),rtn(HB(kan(this,16),26)||m$t,n),t)},SWn.vh=function(n){var t,e;if(n&&this.rb)for(e=new $L(this.rb);e.e!=e.i.gc();)aL(t=jpn(e),351)&&(HB(t,351).w=null);fgn(this,64,n)},SWn.zh=function(){return pWn(),m$t},SWn.Bh=function(n){switch(n){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),void hqn(this.Ab);case 1:return void xrn(this,null);case 2:return void Rrn(this,null);case 3:return void Drn(this,null);case 4:return void rSn(this,null);case 5:return!this.rb&&(this.rb=new Zz(this,qAt,this)),void hqn(this.rb);case 6:return!this.vb&&(this.vb=new iK(zOt,this,6,7)),void hqn(this.vb)}Gfn(this,n-wX((pWn(),m$t)),rtn(HB(kan(this,16),26)||m$t,n))},SWn.Gh=function(){Myn(this)},SWn.Mh=function(){return!this.rb&&(this.rb=new Zz(this,qAt,this)),this.rb},SWn.Nh=function(){return this.sb},SWn.Oh=function(){return this.ub},SWn.Ph=function(){return this.xb},SWn.Qh=function(){return this.yb},SWn.Rh=function(n){this.ub=n},SWn.Ib=function(){var n;return 0!=(64&this.Db)?jfn(this):((n=new lN(jfn(this))).a+=" (nsURI: ",aO(n,this.yb),n.a+=", nsPrefix: ",aO(n,this.xb),n.a+=")",n.a)},SWn.xb=null,SWn.yb=null,mX(b6n,"EPackageImpl",179),dAn(555,179,{105:1,2016:1,555:1,92:1,90:1,147:1,191:1,56:1,235:1,108:1,49:1,97:1,150:1,179:1,114:1,115:1,675:1},hAn),SWn.q=!1,SWn.r=!1;var VOt=!1;mX(w6n,"ElkGraphPackageImpl",555),dAn(354,724,{105:1,413:1,160:1,137:1,470:1,354:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1},oo),SWn.Qg=function(n){return fkn(this,n)},SWn._g=function(n,t,e){switch(n){case 7:return JJ(this);case 8:return this.a}return Kbn(this,n,t,e)},SWn.hh=function(n,t,e){var i;return 7===t?(this.Cb&&(e=(i=this.Db>>16)>=0?fkn(this,e):this.Cb.ih(this,-1-i,null,e)),QG(this,HB(n,160),e)):BTn(this,n,t,e)},SWn.jh=function(n,t,e){return 7==t?QG(this,null,e):cun(this,n,t,e)},SWn.lh=function(n){switch(n){case 7:return!!JJ(this);case 8:return!yK("",this.a)}return lwn(this,n)},SWn.sh=function(n,t){switch(n){case 7:return void ONn(this,HB(t,160));case 8:return void Din(this,PD(t))}Ujn(this,n,t)},SWn.zh=function(){return CXn(),EOt},SWn.Bh=function(n){switch(n){case 7:return void ONn(this,null);case 8:return void Din(this,"")}Rwn(this,n)},SWn.Ib=function(){return aPn(this)},SWn.a="",mX(w6n,"ElkLabelImpl",354),dAn(239,725,{105:1,413:1,82:1,160:1,33:1,470:1,239:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1},Em),SWn.Qg=function(n){return Pkn(this,n)},SWn._g=function(n,t,e){switch(n){case 9:return!this.c&&(this.c=new iU(WOt,this,9,9)),this.c;case 10:return!this.a&&(this.a=new iU(XOt,this,10,11)),this.a;case 11:return ZJ(this);case 12:return!this.b&&(this.b=new iU(FOt,this,12,3)),this.b;case 13:return fN(),!this.a&&(this.a=new iU(XOt,this,10,11)),this.a.i>0}return qvn(this,n,t,e)},SWn.hh=function(n,t,e){var i;switch(t){case 9:return!this.c&&(this.c=new iU(WOt,this,9,9)),Jwn(this.c,n,e);case 10:return!this.a&&(this.a=new iU(XOt,this,10,11)),Jwn(this.a,n,e);case 11:return this.Cb&&(e=(i=this.Db>>16)>=0?Pkn(this,e):this.Cb.ih(this,-1-i,null,e)),UR(this,HB(n,33),e);case 12:return!this.b&&(this.b=new iU(FOt,this,12,3)),Jwn(this.b,n,e)}return gjn(this,n,t,e)},SWn.jh=function(n,t,e){switch(t){case 9:return!this.c&&(this.c=new iU(WOt,this,9,9)),Fpn(this.c,n,e);case 10:return!this.a&&(this.a=new iU(XOt,this,10,11)),Fpn(this.a,n,e);case 11:return UR(this,null,e);case 12:return!this.b&&(this.b=new iU(FOt,this,12,3)),Fpn(this.b,n,e)}return pjn(this,n,t,e)},SWn.lh=function(n){switch(n){case 9:return!!this.c&&0!=this.c.i;case 10:return!!this.a&&0!=this.a.i;case 11:return!!ZJ(this);case 12:return!!this.b&&0!=this.b.i;case 13:return!this.a&&(this.a=new iU(XOt,this,10,11)),this.a.i>0}return zon(this,n)},SWn.sh=function(n,t){switch(n){case 9:return!this.c&&(this.c=new iU(WOt,this,9,9)),hqn(this.c),!this.c&&(this.c=new iU(WOt,this,9,9)),void vX(this.c,HB(t,14));case 10:return!this.a&&(this.a=new iU(XOt,this,10,11)),hqn(this.a),!this.a&&(this.a=new iU(XOt,this,10,11)),void vX(this.a,HB(t,14));case 11:return void tNn(this,HB(t,33));case 12:return!this.b&&(this.b=new iU(FOt,this,12,3)),hqn(this.b),!this.b&&(this.b=new iU(FOt,this,12,3)),void vX(this.b,HB(t,14))}NAn(this,n,t)},SWn.zh=function(){return CXn(),TOt},SWn.Bh=function(n){switch(n){case 9:return!this.c&&(this.c=new iU(WOt,this,9,9)),void hqn(this.c);case 10:return!this.a&&(this.a=new iU(XOt,this,10,11)),void hqn(this.a);case 11:return void tNn(this,null);case 12:return!this.b&&(this.b=new iU(FOt,this,12,3)),void hqn(this.b)}Dpn(this,n)},SWn.Ib=function(){return URn(this)},mX(w6n,"ElkNodeImpl",239),dAn(186,725,{105:1,413:1,82:1,160:1,118:1,470:1,186:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1},Tm),SWn.Qg=function(n){return lkn(this,n)},SWn._g=function(n,t,e){return 9==n?VJ(this):qvn(this,n,t,e)},SWn.hh=function(n,t,e){var i;return 9===t?(this.Cb&&(e=(i=this.Db>>16)>=0?lkn(this,e):this.Cb.ih(this,-1-i,null,e)),JD(this,HB(n,33),e)):gjn(this,n,t,e)},SWn.jh=function(n,t,e){return 9==t?JD(this,null,e):pjn(this,n,t,e)},SWn.lh=function(n){return 9==n?!!VJ(this):zon(this,n)},SWn.sh=function(n,t){9!==n?NAn(this,n,t):HLn(this,HB(t,33))},SWn.zh=function(){return CXn(),MOt},SWn.Bh=function(n){9!==n?Dpn(this,n):HLn(this,null)},SWn.Ib=function(){return XRn(this)},mX(w6n,"ElkPortImpl",186);var QOt=wq(H6n,"BasicEMap/Entry");dAn(1092,115,{105:1,42:1,92:1,90:1,133:1,56:1,108:1,49:1,97:1,114:1,115:1},ho),SWn.Fb=function(n){return this===n},SWn.cd=function(){return this.b},SWn.Hb=function(){return IN(this)},SWn.Uh=function(n){Rin(this,HB(n,146))},SWn._g=function(n,t,e){switch(n){case 0:return this.b;case 1:return this.c}return nvn(this,n,t,e)},SWn.lh=function(n){switch(n){case 0:return!!this.b;case 1:return null!=this.c}return mpn(this,n)},SWn.sh=function(n,t){switch(n){case 0:return void Rin(this,HB(t,146));case 1:return void Fin(this,t)}kIn(this,n,t)},SWn.zh=function(){return CXn(),SOt},SWn.Bh=function(n){switch(n){case 0:return void Rin(this,null);case 1:return void Fin(this,null)}yPn(this,n)},SWn.Sh=function(){var n;return-1==this.a&&(n=this.b,this.a=n?tsn(n):0),this.a},SWn.dd=function(){return this.c},SWn.Th=function(n){this.a=n},SWn.ed=function(n){var t;return t=this.c,Fin(this,n),t},SWn.Ib=function(){var n;return 0!=(64&this.Db)?I$n(this):(sO(sO(sO(n=new Ck,this.b?this.b.tg():UWn),i1n),jN(this.c)),n.a)},SWn.a=-1,SWn.c=null;var YOt,JOt,ZOt,nAt,tAt,eAt,iAt,rAt,cAt=mX(w6n,"ElkPropertyToValueMapEntryImpl",1092);dAn(984,1,{},bo),mX(z6n,"JsonAdapter",984),dAn(210,60,HVn,ik),mX(z6n,"JsonImportException",210),dAn(857,1,{},gkn),mX(z6n,"JsonImporter",857),dAn(891,1,{},uC),mX(z6n,"JsonImporter/lambda$0$Type",891),dAn(892,1,{},oC),mX(z6n,"JsonImporter/lambda$1$Type",892),dAn(900,1,{},Lg),mX(z6n,"JsonImporter/lambda$10$Type",900),dAn(902,1,{},sC),mX(z6n,"JsonImporter/lambda$11$Type",902),dAn(903,1,{},hC),mX(z6n,"JsonImporter/lambda$12$Type",903),dAn(909,1,{},lQ),mX(z6n,"JsonImporter/lambda$13$Type",909),dAn(908,1,{},fQ),mX(z6n,"JsonImporter/lambda$14$Type",908),dAn(904,1,{},fC),mX(z6n,"JsonImporter/lambda$15$Type",904),dAn(905,1,{},lC),mX(z6n,"JsonImporter/lambda$16$Type",905),dAn(906,1,{},bC),mX(z6n,"JsonImporter/lambda$17$Type",906),dAn(907,1,{},wC),mX(z6n,"JsonImporter/lambda$18$Type",907),dAn(912,1,{},Ng),mX(z6n,"JsonImporter/lambda$19$Type",912),dAn(893,1,{},xg),mX(z6n,"JsonImporter/lambda$2$Type",893),dAn(910,1,{},Dg),mX(z6n,"JsonImporter/lambda$20$Type",910),dAn(911,1,{},Rg),mX(z6n,"JsonImporter/lambda$21$Type",911),dAn(915,1,{},Kg),mX(z6n,"JsonImporter/lambda$22$Type",915),dAn(913,1,{},_g),mX(z6n,"JsonImporter/lambda$23$Type",913),dAn(914,1,{},Fg),mX(z6n,"JsonImporter/lambda$24$Type",914),dAn(917,1,{},Bg),mX(z6n,"JsonImporter/lambda$25$Type",917),dAn(916,1,{},Hg),mX(z6n,"JsonImporter/lambda$26$Type",916),dAn(918,1,bVn,dC),SWn.td=function(n){T9(this.b,this.a,PD(n))},mX(z6n,"JsonImporter/lambda$27$Type",918),dAn(919,1,bVn,gC),SWn.td=function(n){M9(this.b,this.a,PD(n))},mX(z6n,"JsonImporter/lambda$28$Type",919),dAn(920,1,{},pC),mX(z6n,"JsonImporter/lambda$29$Type",920),dAn(896,1,{},qg),mX(z6n,"JsonImporter/lambda$3$Type",896),dAn(921,1,{},vC),mX(z6n,"JsonImporter/lambda$30$Type",921),dAn(922,1,{},Gg),mX(z6n,"JsonImporter/lambda$31$Type",922),dAn(923,1,{},zg),mX(z6n,"JsonImporter/lambda$32$Type",923),dAn(924,1,{},Ug),mX(z6n,"JsonImporter/lambda$33$Type",924),dAn(925,1,{},Xg),mX(z6n,"JsonImporter/lambda$34$Type",925),dAn(859,1,{},Wg),mX(z6n,"JsonImporter/lambda$35$Type",859),dAn(929,1,{},SB),mX(z6n,"JsonImporter/lambda$36$Type",929),dAn(926,1,bVn,Vg),SWn.td=function(n){J4(this.a,HB(n,469))},mX(z6n,"JsonImporter/lambda$37$Type",926),dAn(927,1,bVn,PC),SWn.td=function(n){bO(this.a,this.b,HB(n,202))},mX(z6n,"JsonImporter/lambda$38$Type",927),dAn(928,1,bVn,IC),SWn.td=function(n){wO(this.a,this.b,HB(n,202))},mX(z6n,"JsonImporter/lambda$39$Type",928),dAn(894,1,{},Qg),mX(z6n,"JsonImporter/lambda$4$Type",894),dAn(930,1,bVn,Yg),SWn.td=function(n){Z4(this.a,HB(n,8))},mX(z6n,"JsonImporter/lambda$40$Type",930),dAn(895,1,{},Jg),mX(z6n,"JsonImporter/lambda$5$Type",895),dAn(899,1,{},Zg),mX(z6n,"JsonImporter/lambda$6$Type",899),dAn(897,1,{},np),mX(z6n,"JsonImporter/lambda$7$Type",897),dAn(898,1,{},tp),mX(z6n,"JsonImporter/lambda$8$Type",898),dAn(901,1,{},ep),mX(z6n,"JsonImporter/lambda$9$Type",901),dAn(948,1,bVn,ip),SWn.td=function(n){tW(this.a,new zX(PD(n)))},mX(z6n,"JsonMetaDataConverter/lambda$0$Type",948),dAn(949,1,bVn,rp),SWn.td=function(n){FX(this.a,HB(n,237))},mX(z6n,"JsonMetaDataConverter/lambda$1$Type",949),dAn(950,1,bVn,cp),SWn.td=function(n){e1(this.a,HB(n,149))},mX(z6n,"JsonMetaDataConverter/lambda$2$Type",950),dAn(951,1,bVn,ap),SWn.td=function(n){BX(this.a,HB(n,175))},mX(z6n,"JsonMetaDataConverter/lambda$3$Type",951),dAn(237,22,{3:1,35:1,22:1,237:1},SC);var aAt,uAt=Hen(OJn,"GraphFeature",237,Xnt,_tn,vB);dAn(13,1,{35:1,146:1},op,rR,LO,WA),SWn.wd=function(n){return vL(this,HB(n,146))},SWn.Fb=function(n){return TY(this,n)},SWn.wg=function(){return ypn(this)},SWn.tg=function(){return this.b},SWn.Hb=function(){return mvn(this.b)},SWn.Ib=function(){return this.b},mX(OJn,"Property",13),dAn(818,1,SYn,up),SWn.ue=function(n,t){return Fln(this,HB(n,94),HB(t,94))},SWn.Fb=function(n){return this===n},SWn.ve=function(){return new tw(this)},mX(OJn,"PropertyHolderComparator",818),dAn(695,1,YWn,hp),SWn.Nb=function(n){lU(this,n)},SWn.Pb=function(){return $9(this)},SWn.Qb=function(){oE()},SWn.Ob=function(){return!!this.a},mX(a8n,"ElkGraphUtil/AncestorIterator",695);var oAt=wq(H6n,"EList");dAn(67,52,{20:1,28:1,52:1,14:1,15:1,67:1,58:1}),SWn.Vc=function(n,t){hln(this,n,t)},SWn.Fc=function(n){return l9(this,n)},SWn.Wc=function(n,t){return son(this,n,t)},SWn.Gc=function(n){return vX(this,n)},SWn.Zh=function(){return new ux(this)},SWn.$h=function(){return new ox(this)},SWn._h=function(n){return hin(this,n)},SWn.ai=function(){return!0},SWn.bi=function(n,t){},SWn.ci=function(){},SWn.di=function(n,t){N8(this,n,t)},SWn.ei=function(n,t,e){},SWn.fi=function(n,t){},SWn.gi=function(n,t,e){},SWn.Fb=function(n){return YDn(this,n)},SWn.Hb=function(){return Sun(this)},SWn.hi=function(){return!1},SWn.Kc=function(){return new $L(this)},SWn.Yc=function(){return new ax(this)},SWn.Zc=function(n){var t;if(t=this.gc(),n<0||n>t)throw qp(new eK(n,t));return new zU(this,n)},SWn.ji=function(n,t){this.ii(n,this.Xc(t))},SWn.Mc=function(n){return hnn(this,n)},SWn.li=function(n,t){return t},SWn._c=function(n,t){return svn(this,n,t)},SWn.Ib=function(){return Zbn(this)},SWn.ni=function(){return!0},SWn.oi=function(n,t){return Dsn(this,t)},mX(H6n,"AbstractEList",67),dAn(63,67,f8n,po,ptn,Ecn),SWn.Vh=function(n,t){return HTn(this,n,t)},SWn.Wh=function(n){return wmn(this,n)},SWn.Xh=function(n,t){Ofn(this,n,t)},SWn.Yh=function(n){a6(this,n)},SWn.pi=function(n){return B9(this,n)},SWn.$b=function(){u6(this)},SWn.Hc=function(n){return Pjn(this,n)},SWn.Xb=function(n){return Vtn(this,n)},SWn.qi=function(n){var t,e,i;++this.j,n>(e=null==this.g?0:this.g.length)&&(i=this.g,(t=e+(e/2|0)+4)=0&&(this.$c(t),!0)},SWn.mi=function(n,t){return this.Ui(n,this.oi(n,t))},SWn.gc=function(){return this.Vi()},SWn.Pc=function(){return this.Wi()},SWn.Qc=function(n){return this.Xi(n)},SWn.Ib=function(){return this.Yi()},mX(H6n,"DelegatingEList",1995),dAn(1996,1995,t9n),SWn.Vh=function(n,t){return oFn(this,n,t)},SWn.Wh=function(n){return this.Vh(this.Vi(),n)},SWn.Xh=function(n,t){iAn(this,n,t)},SWn.Yh=function(n){AOn(this,n)},SWn.ai=function(){return!this.bj()},SWn.$b=function(){mqn(this)},SWn.Zi=function(n,t,e,i,r){return new xY(this,n,t,e,i,r)},SWn.$i=function(n){wan(this.Ai(),n)},SWn._i=function(){return null},SWn.aj=function(){return-1},SWn.Ai=function(){return null},SWn.bj=function(){return!1},SWn.cj=function(n,t){return t},SWn.dj=function(n,t){return t},SWn.ej=function(){return!1},SWn.fj=function(){return!this.Ri()},SWn.ii=function(n,t){var e,i;return this.ej()?(i=this.fj(),e=$Mn(this,n,t),this.$i(this.Zi(7,rln(t),e,n,i)),e):$Mn(this,n,t)},SWn.$c=function(n){var t,e,i,r;return this.ej()?(e=null,i=this.fj(),t=this.Zi(4,r=dq(this,n),null,n,i),this.bj()&&r?(e=this.dj(r,e))?(e.Ei(t),e.Fi()):this.$i(t):e?(e.Ei(t),e.Fi()):this.$i(t),r):(r=dq(this,n),this.bj()&&r&&(e=this.dj(r,null))&&e.Fi(),r)},SWn.mi=function(n,t){return sFn(this,n,t)},mX(r6n,"DelegatingNotifyingListImpl",1996),dAn(143,1,e9n),SWn.Ei=function(n){return _En(this,n)},SWn.Fi=function(){L7(this)},SWn.xi=function(){return this.d},SWn._i=function(){return null},SWn.gj=function(){return null},SWn.yi=function(n){return-1},SWn.zi=function(){return Kxn(this)},SWn.Ai=function(){return null},SWn.Bi=function(){return _xn(this)},SWn.Ci=function(){return this.o<0?this.o<-2?-2-this.o-1:-1:this.o},SWn.hj=function(){return!1},SWn.Di=function(n){var t,e,i,r,c,a,u,o;switch(this.d){case 1:case 2:switch(n.xi()){case 1:case 2:if(zC(n.Ai())===zC(this.Ai())&&this.yi(null)==n.yi(null))return this.g=n.zi(),1==n.xi()&&(this.d=1),!0}case 4:if(4===n.xi()&&zC(n.Ai())===zC(this.Ai())&&this.yi(null)==n.yi(null))return a=eGn(this),c=this.o<0?this.o<-2?-2-this.o-1:-1:this.o,i=n.Ci(),this.d=6,o=new ptn(2),c<=i?(l9(o,this.n),l9(o,n.Bi()),this.g=Iun(zk($Nt,1),fQn,25,15,[this.o=c,i+1])):(l9(o,n.Bi()),l9(o,this.n),this.g=Iun(zk($Nt,1),fQn,25,15,[this.o=i,c])),this.n=o,a||(this.o=-2-this.o-1),!0;break;case 6:if(4===n.xi()&&zC(n.Ai())===zC(this.Ai())&&this.yi(null)==n.yi(null)){for(a=eGn(this),i=n.Ci(),u=HB(this.g,48),e=D8($Nt,fQn,25,u.length+1,15,1),t=0;t>>0).toString(16))).a+=" (eventType: ",this.d){case 1:e.a+="SET";break;case 2:e.a+="UNSET";break;case 3:e.a+="ADD";break;case 5:e.a+="ADD_MANY";break;case 4:e.a+="REMOVE";break;case 6:e.a+="REMOVE_MANY";break;case 7:e.a+="MOVE";break;case 8:e.a+="REMOVING_ADAPTER";break;case 9:e.a+="RESOLVE";break;default:yE(e,this.d)}if(bKn(this)&&(e.a+=", touch: true"),e.a+=", position: ",yE(e,this.o<0?this.o<-2?-2-this.o-1:-1:this.o),e.a+=", notifier: ",cO(e,this.Ai()),e.a+=", feature: ",cO(e,this._i()),e.a+=", oldValue: ",cO(e,_xn(this)),e.a+=", newValue: ",6==this.d&&aL(this.g,48)){for(t=HB(this.g,48),e.a+="[",n=0;n10?(this.b&&this.c.j==this.a||(this.b=new Lq(this),this.a=this.j),BT(this.b,n)):Pjn(this,n)},SWn.ni=function(){return!0},SWn.a=0,mX(H6n,"AbstractEList/1",953),dAn(295,73,xQn,eK),mX(H6n,"AbstractEList/BasicIndexOutOfBoundsException",295),dAn(40,1,YWn,$L),SWn.Nb=function(n){lU(this,n)},SWn.mj=function(){if(this.i.j!=this.f)throw qp(new mv)},SWn.nj=function(){return jpn(this)},SWn.Ob=function(){return this.e!=this.i.gc()},SWn.Pb=function(){return this.nj()},SWn.Qb=function(){Yjn(this)},SWn.e=0,SWn.f=0,SWn.g=-1,mX(H6n,"AbstractEList/EIterator",40),dAn(278,40,aVn,ax,zU),SWn.Qb=function(){Yjn(this)},SWn.Rb=function(n){sdn(this,n)},SWn.oj=function(){var n;try{return n=this.d.Xb(--this.e),this.mj(),this.g=this.e,n}catch(t){throw aL(t=bun(t),73)?(this.mj(),qp(new kv)):qp(t)}},SWn.pj=function(n){jmn(this,n)},SWn.Sb=function(){return 0!=this.e},SWn.Tb=function(){return this.e},SWn.Ub=function(){return this.oj()},SWn.Vb=function(){return this.e-1},SWn.Wb=function(n){this.pj(n)},mX(H6n,"AbstractEList/EListIterator",278),dAn(341,40,YWn,ux),SWn.nj=function(){return Epn(this)},SWn.Qb=function(){throw qp(new vv)},mX(H6n,"AbstractEList/NonResolvingEIterator",341),dAn(385,278,aVn,ox,KK),SWn.Rb=function(n){throw qp(new vv)},SWn.nj=function(){var n;try{return n=this.c.ki(this.e),this.mj(),this.g=this.e++,n}catch(t){throw aL(t=bun(t),73)?(this.mj(),qp(new kv)):qp(t)}},SWn.oj=function(){var n;try{return n=this.c.ki(--this.e),this.mj(),this.g=this.e,n}catch(t){throw aL(t=bun(t),73)?(this.mj(),qp(new kv)):qp(t)}},SWn.Qb=function(){throw qp(new vv)},SWn.Wb=function(n){throw qp(new vv)},mX(H6n,"AbstractEList/NonResolvingEListIterator",385),dAn(1982,67,c9n),SWn.Vh=function(n,t){var e,i,r,c,a,u,o,s,h;if(0!=(i=t.gc())){for(e=Isn(this,(s=null==(o=HB(kan(this.a,4),126))?0:o.length)+i),(h=s-n)>0&&uHn(o,n,e,n+i,h),u=t.Kc(),c=0;ce)throw qp(new eK(n,e));return new HW(this,n)},SWn.$b=function(){var n,t;++this.j,t=null==(n=HB(kan(this.a,4),126))?0:n.length,Bgn(this,null),N8(this,t,n)},SWn.Hc=function(n){var t,e,i,r;if(null!=(t=HB(kan(this.a,4),126)))if(null!=n){for(i=0,r=(e=t).length;i=(e=null==(t=HB(kan(this.a,4),126))?0:t.length))throw qp(new eK(n,e));return t[n]},SWn.Xc=function(n){var t,e,i;if(null!=(t=HB(kan(this.a,4),126)))if(null!=n){for(e=0,i=t.length;ee)throw qp(new eK(n,e));return new BW(this,n)},SWn.ii=function(n,t){var e,i,r;if(n>=(r=null==(e=Ldn(this))?0:e.length))throw qp(new $y(o8n+n+s8n+r));if(t>=r)throw qp(new $y(h8n+t+s8n+r));return i=e[t],n!=t&&(n0&&uHn(n,0,t,0,e),t},SWn.Qc=function(n){var t,e;return(e=null==(t=HB(kan(this.a,4),126))?0:t.length)>0&&(n.lengthe&&LX(n,e,null),n},mX(H6n,"ArrayDelegatingEList",1982),dAn(1038,40,YWn,S5),SWn.mj=function(){if(this.b.j!=this.f||zC(HB(kan(this.b.a,4),126))!==zC(this.a))throw qp(new mv)},SWn.Qb=function(){Yjn(this),this.a=HB(kan(this.b.a,4),126)},mX(H6n,"ArrayDelegatingEList/EIterator",1038),dAn(706,278,aVn,Yz,BW),SWn.mj=function(){if(this.b.j!=this.f||zC(HB(kan(this.b.a,4),126))!==zC(this.a))throw qp(new mv)},SWn.pj=function(n){jmn(this,n),this.a=HB(kan(this.b.a,4),126)},SWn.Qb=function(){Yjn(this),this.a=HB(kan(this.b.a,4),126)},mX(H6n,"ArrayDelegatingEList/EListIterator",706),dAn(1039,341,YWn,P5),SWn.mj=function(){if(this.b.j!=this.f||zC(HB(kan(this.b.a,4),126))!==zC(this.a))throw qp(new mv)},mX(H6n,"ArrayDelegatingEList/NonResolvingEIterator",1039),dAn(707,385,aVn,Jz,HW),SWn.mj=function(){if(this.b.j!=this.f||zC(HB(kan(this.b.a,4),126))!==zC(this.a))throw qp(new mv)},mX(H6n,"ArrayDelegatingEList/NonResolvingEListIterator",707),dAn(606,295,xQn,NO),mX(H6n,"BasicEList/BasicIndexOutOfBoundsException",606),dAn(696,63,f8n,RC),SWn.Vc=function(n,t){throw qp(new vv)},SWn.Fc=function(n){throw qp(new vv)},SWn.Wc=function(n,t){throw qp(new vv)},SWn.Gc=function(n){throw qp(new vv)},SWn.$b=function(){throw qp(new vv)},SWn.qi=function(n){throw qp(new vv)},SWn.Kc=function(){return this.Zh()},SWn.Yc=function(){return this.$h()},SWn.Zc=function(n){return this._h(n)},SWn.ii=function(n,t){throw qp(new vv)},SWn.ji=function(n,t){throw qp(new vv)},SWn.$c=function(n){throw qp(new vv)},SWn.Mc=function(n){throw qp(new vv)},SWn._c=function(n,t){throw qp(new vv)},mX(H6n,"BasicEList/UnmodifiableEList",696),dAn(705,1,{3:1,20:1,14:1,15:1,58:1,589:1}),SWn.Vc=function(n,t){Y$(this,n,HB(t,42))},SWn.Fc=function(n){return uD(this,HB(n,42))},SWn.Jc=function(n){i5(this,n)},SWn.Xb=function(n){return HB(Vtn(this.c,n),133)},SWn.ii=function(n,t){return HB(this.c.ii(n,t),42)},SWn.ji=function(n,t){J$(this,n,HB(t,42))},SWn.Lc=function(){return new Kq(null,new d1(this,16))},SWn.$c=function(n){return HB(this.c.$c(n),42)},SWn._c=function(n,t){return oX(this,n,HB(t,42))},SWn.ad=function(n){Frn(this,n)},SWn.Nc=function(){return new d1(this,16)},SWn.Oc=function(){return new Kq(null,new d1(this,16))},SWn.Wc=function(n,t){return this.c.Wc(n,t)},SWn.Gc=function(n){return this.c.Gc(n)},SWn.$b=function(){this.c.$b()},SWn.Hc=function(n){return this.c.Hc(n)},SWn.Ic=function(n){return sun(this.c,n)},SWn.qj=function(){var n,t;if(null==this.d){for(this.d=D8(sAt,a9n,63,2*this.f+1,0,1),t=this.e,this.f=0,n=this.c.Kc();n.e!=n.i.gc();)Ovn(this,HB(n.nj(),133));this.e=t}},SWn.Fb=function(n){return xK(this,n)},SWn.Hb=function(){return Sun(this.c)},SWn.Xc=function(n){return this.c.Xc(n)},SWn.rj=function(){this.c=new fp(this)},SWn.dc=function(){return 0==this.f},SWn.Kc=function(){return this.c.Kc()},SWn.Yc=function(){return this.c.Yc()},SWn.Zc=function(n){return this.c.Zc(n)},SWn.sj=function(){return $8(this)},SWn.tj=function(n,t,e){return new PB(n,t,e)},SWn.uj=function(){return new mo},SWn.Mc=function(n){return fin(this,n)},SWn.gc=function(){return this.f},SWn.bd=function(n,t){return new h1(this.c,n,t)},SWn.Pc=function(){return this.c.Pc()},SWn.Qc=function(n){return this.c.Qc(n)},SWn.Ib=function(){return Zbn(this.c)},SWn.e=0,SWn.f=0,mX(H6n,"BasicEMap",705),dAn(1033,63,f8n,fp),SWn.bi=function(n,t){$v(this,HB(t,133))},SWn.ei=function(n,t,e){var i;++(i=this,HB(t,133),i).a.e},SWn.fi=function(n,t){Lv(this,HB(t,133))},SWn.gi=function(n,t,e){QN(this,HB(t,133),HB(e,133))},SWn.di=function(n,t){uan(this.a)},mX(H6n,"BasicEMap/1",1033),dAn(1034,63,f8n,mo),SWn.ri=function(n){return D8(mAt,u9n,612,n,0,1)},mX(H6n,"BasicEMap/2",1034),dAn(1035,tVn,eVn,lp),SWn.$b=function(){this.a.c.$b()},SWn.Hc=function(n){return cdn(this.a,n)},SWn.Kc=function(){return 0==this.a.f?(gD(),vAt.a):new Hj(this.a)},SWn.Mc=function(n){var t;return t=this.a.f,Vdn(this.a,n),this.a.f!=t},SWn.gc=function(){return this.a.f},mX(H6n,"BasicEMap/3",1035),dAn(1036,28,nVn,bp),SWn.$b=function(){this.a.c.$b()},SWn.Hc=function(n){return JDn(this.a,n)},SWn.Kc=function(){return 0==this.a.f?(gD(),vAt.a):new qj(this.a)},SWn.gc=function(){return this.a.f},mX(H6n,"BasicEMap/4",1036),dAn(1037,tVn,eVn,wp),SWn.$b=function(){this.a.c.$b()},SWn.Hc=function(n){var t,e,i,r,c,a,u,o,s;if(this.a.f>0&&aL(n,42)&&(this.a.qj(),r=null==(u=(o=HB(n,42)).cd())?0:tsn(u),c=iR(this.a,r),t=this.a.d[c]))for(e=HB(t.g,367),s=t.i,a=0;a"+this.c},SWn.a=0;var vAt,mAt=mX(H6n,"BasicEMap/EntryImpl",612);dAn(536,1,{},so),mX(H6n,"BasicEMap/View",536),dAn(768,1,{}),SWn.Fb=function(n){return xAn((PQ(),het),n)},SWn.Hb=function(){return Bon((PQ(),het))},SWn.Ib=function(){return NMn((PQ(),het))},mX(H6n,"ECollections/BasicEmptyUnmodifiableEList",768),dAn(1312,1,aVn,yo),SWn.Nb=function(n){lU(this,n)},SWn.Rb=function(n){throw qp(new vv)},SWn.Ob=function(){return!1},SWn.Sb=function(){return!1},SWn.Pb=function(){throw qp(new kv)},SWn.Tb=function(){return 0},SWn.Ub=function(){throw qp(new kv)},SWn.Vb=function(){return-1},SWn.Qb=function(){throw qp(new vv)},SWn.Wb=function(n){throw qp(new vv)},mX(H6n,"ECollections/BasicEmptyUnmodifiableEList/1",1312),dAn(1310,768,{20:1,14:1,15:1,58:1},Mm),SWn.Vc=function(n,t){xE()},SWn.Fc=function(n){return DE()},SWn.Wc=function(n,t){return RE()},SWn.Gc=function(n){return KE()},SWn.$b=function(){_E()},SWn.Hc=function(n){return!1},SWn.Ic=function(n){return!1},SWn.Jc=function(n){i5(this,n)},SWn.Xb=function(n){return kO((PQ(),n)),null},SWn.Xc=function(n){return-1},SWn.dc=function(){return!0},SWn.Kc=function(){return this.a},SWn.Yc=function(){return this.a},SWn.Zc=function(n){return this.a},SWn.ii=function(n,t){return FE()},SWn.ji=function(n,t){BE()},SWn.Lc=function(){return new Kq(null,new d1(this,16))},SWn.$c=function(n){return HE()},SWn.Mc=function(n){return qE()},SWn._c=function(n,t){return GE()},SWn.gc=function(){return 0},SWn.ad=function(n){Frn(this,n)},SWn.Nc=function(){return new d1(this,16)},SWn.Oc=function(){return new Kq(null,new d1(this,16))},SWn.bd=function(n,t){return PQ(),new h1(het,n,t)},SWn.Pc=function(){return az((PQ(),het))},SWn.Qc=function(n){return PQ(),Tmn(het,n)},mX(H6n,"ECollections/EmptyUnmodifiableEList",1310),dAn(1311,768,{20:1,14:1,15:1,58:1,589:1},Sm),SWn.Vc=function(n,t){xE()},SWn.Fc=function(n){return DE()},SWn.Wc=function(n,t){return RE()},SWn.Gc=function(n){return KE()},SWn.$b=function(){_E()},SWn.Hc=function(n){return!1},SWn.Ic=function(n){return!1},SWn.Jc=function(n){i5(this,n)},SWn.Xb=function(n){return kO((PQ(),n)),null},SWn.Xc=function(n){return-1},SWn.dc=function(){return!0},SWn.Kc=function(){return this.a},SWn.Yc=function(){return this.a},SWn.Zc=function(n){return this.a},SWn.ii=function(n,t){return FE()},SWn.ji=function(n,t){BE()},SWn.Lc=function(){return new Kq(null,new d1(this,16))},SWn.$c=function(n){return HE()},SWn.Mc=function(n){return qE()},SWn._c=function(n,t){return GE()},SWn.gc=function(){return 0},SWn.ad=function(n){Frn(this,n)},SWn.Nc=function(){return new d1(this,16)},SWn.Oc=function(){return new Kq(null,new d1(this,16))},SWn.bd=function(n,t){return PQ(),new h1(het,n,t)},SWn.Pc=function(){return az((PQ(),het))},SWn.Qc=function(n){return PQ(),Tmn(het,n)},SWn.sj=function(){return PQ(),PQ(),fet},mX(H6n,"ECollections/EmptyUnmodifiableEMap",1311);var yAt,kAt=wq(H6n,"Enumerator");dAn(281,1,{281:1},cRn),SWn.Fb=function(n){var t;return this===n||!!aL(n,281)&&(t=HB(n,281),this.f==t.f&&mG(this.i,t.i)&&vG(this.a,0!=(256&this.f)?0!=(256&t.f)?t.a:null:0!=(256&t.f)?null:t.a)&&vG(this.d,t.d)&&vG(this.g,t.g)&&vG(this.e,t.e)&&Ppn(this,t))},SWn.Hb=function(){return this.f},SWn.Ib=function(){return S_n(this)},SWn.f=0;var jAt,EAt,TAt,MAt=0,SAt=0,PAt=0,IAt=0,CAt=0,OAt=0,AAt=0,$At=0,LAt=0,NAt=0,xAt=0,DAt=0,RAt=0;mX(H6n,"URI",281),dAn(1091,43,eYn,Pm),SWn.zc=function(n,t){return HB(yZ(this,PD(n),HB(t,281)),281)},mX(H6n,"URI/URICache",1091),dAn(497,63,f8n,lo,cG),SWn.hi=function(){return!0},mX(H6n,"UniqueEList",497),dAn(581,60,HVn,N7),mX(H6n,"WrappedException",581);var KAt,_At=wq(G5n,h9n),FAt=wq(G5n,f9n),BAt=wq(G5n,l9n),HAt=wq(G5n,b9n),qAt=wq(G5n,w9n),GAt=wq(G5n,"EClass"),zAt=wq(G5n,"EDataType");dAn(1183,43,eYn,Im),SWn.xc=function(n){return WC(n)?PJ(this,n):GC($Y(this.f,n))},mX(G5n,"EDataType/Internal/ConversionDelegate/Factory/Registry/Impl",1183);var UAt,XAt,WAt=wq(G5n,"EEnum"),VAt=wq(G5n,d9n),QAt=wq(G5n,g9n),YAt=wq(G5n,p9n),JAt=wq(G5n,v9n),ZAt=wq(G5n,m9n);dAn(1029,1,{},fo),SWn.Ib=function(){return"NIL"},mX(G5n,"EStructuralFeature/Internal/DynamicValueHolder/1",1029),dAn(1028,43,eYn,Cm),SWn.xc=function(n){return WC(n)?PJ(this,n):GC($Y(this.f,n))},mX(G5n,"EStructuralFeature/Internal/SettingDelegate/Factory/Registry/Impl",1028);var n$t,t$t,e$t,i$t,r$t,c$t,a$t,u$t,o$t,s$t,h$t,f$t,l$t,b$t,w$t,d$t,g$t,p$t,v$t,m$t,y$t,k$t,j$t,E$t,T$t,M$t,S$t,P$t,I$t,C$t,O$t,A$t=wq(G5n,y9n),$$t=wq(G5n,"EValidator/PatternMatcher"),L$t=wq(k9n,"FeatureMap/Entry");dAn(535,1,{72:1},CC),SWn.ak=function(){return this.a},SWn.dd=function(){return this.b},mX(b6n,"BasicEObjectImpl/1",535),dAn(1027,1,j9n,OC),SWn.Wj=function(n){return Q5(this.a,this.b,n)},SWn.fj=function(){return nZ(this.a,this.b)},SWn.Wb=function(n){xJ(this.a,this.b,n)},SWn.Xj=function(){IW(this.a,this.b)},mX(b6n,"BasicEObjectImpl/4",1027),dAn(1983,1,{108:1}),SWn.bk=function(n){this.e=0==n?S$t:D8($nt,qWn,1,n,5,1)},SWn.Ch=function(n){return this.e[n]},SWn.Dh=function(n,t){this.e[n]=t},SWn.Eh=function(n){this.e[n]=null},SWn.ck=function(){return this.c},SWn.dk=function(){throw qp(new vv)},SWn.ek=function(){throw qp(new vv)},SWn.fk=function(){return this.d},SWn.gk=function(){return null!=this.e},SWn.hk=function(n){this.c=n},SWn.ik=function(n){throw qp(new vv)},SWn.jk=function(n){throw qp(new vv)},SWn.kk=function(n){this.d=n},mX(b6n,"BasicEObjectImpl/EPropertiesHolderBaseImpl",1983),dAn(185,1983,{108:1},_f),SWn.dk=function(){return this.a},SWn.ek=function(){return this.b},SWn.ik=function(n){this.a=n},SWn.jk=function(n){this.b=n},mX(b6n,"BasicEObjectImpl/EPropertiesHolderImpl",185),dAn(506,97,l6n,ko),SWn.Kg=function(){return this.f},SWn.Pg=function(){return this.k},SWn.Rg=function(n,t){this.g=n,this.i=t},SWn.Tg=function(){return 0==(2&this.j)?this.zh():this.ph().ck()},SWn.Vg=function(){return this.i},SWn.Mg=function(){return 0!=(1&this.j)},SWn.eh=function(){return this.g},SWn.kh=function(){return 0!=(4&this.j)},SWn.ph=function(){return!this.k&&(this.k=new _f),this.k},SWn.th=function(n){this.ph().hk(n),n?this.j|=2:this.j&=-3},SWn.vh=function(n){this.ph().jk(n),n?this.j|=4:this.j&=-5},SWn.zh=function(){return(YX(),e$t).S},SWn.i=0,SWn.j=1,mX(b6n,"EObjectImpl",506),dAn(780,506,{105:1,92:1,90:1,56:1,108:1,49:1,97:1},EH),SWn.Ch=function(n){return this.e[n]},SWn.Dh=function(n,t){this.e[n]=t},SWn.Eh=function(n){this.e[n]=null},SWn.Tg=function(){return this.d},SWn.Yg=function(n){return $wn(this.d,n)},SWn.$g=function(){return this.d},SWn.dh=function(){return null!=this.e},SWn.ph=function(){return!this.k&&(this.k=new jo),this.k},SWn.th=function(n){this.d=n},SWn.yh=function(){var n;return null==this.e&&(n=wX(this.d),this.e=0==n?P$t:D8($nt,qWn,1,n,5,1)),this},SWn.Ah=function(){return 0},mX(b6n,"DynamicEObjectImpl",780),dAn(1376,780,{105:1,42:1,92:1,90:1,133:1,56:1,108:1,49:1,97:1},lq),SWn.Fb=function(n){return this===n},SWn.Hb=function(){return IN(this)},SWn.th=function(n){this.d=n,this.b=xNn(n,"key"),this.c=xNn(n,T6n)},SWn.Sh=function(){var n;return-1==this.a&&(n=Z7(this,this.b),this.a=null==n?0:tsn(n)),this.a},SWn.cd=function(){return Z7(this,this.b)},SWn.dd=function(){return Z7(this,this.c)},SWn.Th=function(n){this.a=n},SWn.Uh=function(n){xJ(this,this.b,n)},SWn.ed=function(n){var t;return t=Z7(this,this.c),xJ(this,this.c,n),t},SWn.a=0,mX(b6n,"DynamicEObjectImpl/BasicEMapEntry",1376),dAn(1377,1,{108:1},jo),SWn.bk=function(n){throw qp(new vv)},SWn.Ch=function(n){throw qp(new vv)},SWn.Dh=function(n,t){throw qp(new vv)},SWn.Eh=function(n){throw qp(new vv)},SWn.ck=function(){throw qp(new vv)},SWn.dk=function(){return this.a},SWn.ek=function(){return this.b},SWn.fk=function(){return this.c},SWn.gk=function(){throw qp(new vv)},SWn.hk=function(n){throw qp(new vv)},SWn.ik=function(n){this.a=n},SWn.jk=function(n){this.b=n},SWn.kk=function(n){this.c=n},mX(b6n,"DynamicEObjectImpl/DynamicEPropertiesHolderImpl",1377),dAn(510,150,{105:1,92:1,90:1,590:1,147:1,56:1,108:1,49:1,97:1,510:1,150:1,114:1,115:1},Eo),SWn.Qg=function(n){return wkn(this,n)},SWn._g=function(n,t,e){switch(n){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),this.Ab;case 1:return this.d;case 2:return e?(!this.b&&(this.b=new Zx((pWn(),j$t),W$t,this)),this.b):(!this.b&&(this.b=new Zx((pWn(),j$t),W$t,this)),$8(this.b));case 3:return wZ(this);case 4:return!this.a&&(this.a=new LL(NOt,this,4)),this.a;case 5:return!this.c&&(this.c=new KL(NOt,this,5)),this.c}return X9(this,n-wX((pWn(),i$t)),rtn(HB(kan(this,16),26)||i$t,n),t,e)},SWn.hh=function(n,t,e){var i;switch(t){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),Jwn(this.Ab,n,e);case 3:return this.Cb&&(e=(i=this.Db>>16)>=0?wkn(this,e):this.Cb.ih(this,-1-i,null,e)),YG(this,HB(n,147),e)}return HB(rtn(HB(kan(this,16),26)||(pWn(),i$t),t),66).Nj().Qj(this,lgn(this),t-wX((pWn(),i$t)),n,e)},SWn.jh=function(n,t,e){switch(t){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),Fpn(this.Ab,n,e);case 2:return!this.b&&(this.b=new Zx((pWn(),j$t),W$t,this)),HK(this.b,n,e);case 3:return YG(this,null,e);case 4:return!this.a&&(this.a=new LL(NOt,this,4)),Fpn(this.a,n,e)}return HB(rtn(HB(kan(this,16),26)||(pWn(),i$t),t),66).Nj().Rj(this,lgn(this),t-wX((pWn(),i$t)),n,e)},SWn.lh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.d;case 2:return!!this.b&&0!=this.b.f;case 3:return!!wZ(this);case 4:return!!this.a&&0!=this.a.i;case 5:return!!this.c&&0!=this.c.i}return A3(this,n-wX((pWn(),i$t)),rtn(HB(kan(this,16),26)||i$t,n))},SWn.sh=function(n,t){switch(n){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),hqn(this.Ab),!this.Ab&&(this.Ab=new iU(_At,this,0,3)),void vX(this.Ab,HB(t,14));case 1:return void vq(this,PD(t));case 2:return!this.b&&(this.b=new Zx((pWn(),j$t),W$t,this)),void ean(this.b,t);case 3:return void ANn(this,HB(t,147));case 4:return!this.a&&(this.a=new LL(NOt,this,4)),hqn(this.a),!this.a&&(this.a=new LL(NOt,this,4)),void vX(this.a,HB(t,14));case 5:return!this.c&&(this.c=new KL(NOt,this,5)),hqn(this.c),!this.c&&(this.c=new KL(NOt,this,5)),void vX(this.c,HB(t,14))}Nbn(this,n-wX((pWn(),i$t)),rtn(HB(kan(this,16),26)||i$t,n),t)},SWn.zh=function(){return pWn(),i$t},SWn.Bh=function(n){switch(n){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),void hqn(this.Ab);case 1:return void Hin(this,null);case 2:return!this.b&&(this.b=new Zx((pWn(),j$t),W$t,this)),void this.b.c.$b();case 3:return void ANn(this,null);case 4:return!this.a&&(this.a=new LL(NOt,this,4)),void hqn(this.a);case 5:return!this.c&&(this.c=new KL(NOt,this,5)),void hqn(this.c)}Gfn(this,n-wX((pWn(),i$t)),rtn(HB(kan(this,16),26)||i$t,n))},SWn.Ib=function(){return Qfn(this)},SWn.d=null,mX(b6n,"EAnnotationImpl",510),dAn(151,705,E9n,k9),SWn.Xh=function(n,t){t$(this,n,HB(t,42))},SWn.lk=function(n,t){return BK(this,HB(n,42),t)},SWn.pi=function(n){return HB(HB(this.c,69).pi(n),133)},SWn.Zh=function(){return HB(this.c,69).Zh()},SWn.$h=function(){return HB(this.c,69).$h()},SWn._h=function(n){return HB(this.c,69)._h(n)},SWn.mk=function(n,t){return HK(this,n,t)},SWn.Wj=function(n){return HB(this.c,76).Wj(n)},SWn.rj=function(){},SWn.fj=function(){return HB(this.c,76).fj()},SWn.tj=function(n,t,e){var i;return(i=HB(Xtn(this.b).Nh().Jh(this.b),133)).Th(n),i.Uh(t),i.ed(e),i},SWn.uj=function(){return new Op(this)},SWn.Wb=function(n){ean(this,n)},SWn.Xj=function(){HB(this.c,76).Xj()},mX(k9n,"EcoreEMap",151),dAn(158,151,E9n,Zx),SWn.qj=function(){var n,t,e,i,r;if(null==this.d){for(r=D8(sAt,a9n,63,2*this.f+1,0,1),e=this.c.Kc();e.e!=e.i.gc();)!(n=r[i=((t=HB(e.nj(),133)).Sh()&RWn)%r.length])&&(n=r[i]=new Op(this)),n.Fc(t);this.d=r}},mX(b6n,"EAnnotationImpl/1",158),dAn(284,438,{105:1,92:1,90:1,147:1,191:1,56:1,108:1,472:1,49:1,97:1,150:1,284:1,114:1,115:1}),SWn._g=function(n,t,e){switch(n){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),this.Ab;case 1:return this.zb;case 2:return fN(),0!=(256&this.Bb);case 3:return fN(),0!=(512&this.Bb);case 4:return rln(this.s);case 5:return rln(this.t);case 6:return fN(),!!this.$j();case 7:return fN(),this.s>=1;case 8:return t?Okn(this):this.r;case 9:return this.q}return X9(this,n-wX(this.zh()),rtn(HB(kan(this,16),26)||this.zh(),n),t,e)},SWn.jh=function(n,t,e){switch(t){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),Fpn(this.Ab,n,e);case 9:return pX(this,e)}return HB(rtn(HB(kan(this,16),26)||this.zh(),t),66).Nj().Rj(this,lgn(this),t-wX(this.zh()),n,e)},SWn.lh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return 0==(256&this.Bb);case 3:return 0==(512&this.Bb);case 4:return 0!=this.s;case 5:return 1!=this.t;case 6:return this.$j();case 7:return this.s>=1;case 8:return!!this.r&&!this.q.e&&0==kW(this.q).i;case 9:return!(!this.q||this.r&&!this.q.e&&0==kW(this.q).i)}return A3(this,n-wX(this.zh()),rtn(HB(kan(this,16),26)||this.zh(),n))},SWn.sh=function(n,t){var e;switch(n){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),hqn(this.Ab),!this.Ab&&(this.Ab=new iU(_At,this,0,3)),void vX(this.Ab,HB(t,14));case 1:return void this.Lh(PD(t));case 2:return void Jfn(this,Gy(MD(t)));case 3:return void tln(this,Gy(MD(t)));case 4:return void Nen(this,HB(t,19).a);case 5:return void this.ok(HB(t,19).a);case 8:return void Ohn(this,HB(t,138));case 9:return void((e=qTn(this,HB(t,87),null))&&e.Fi())}Nbn(this,n-wX(this.zh()),rtn(HB(kan(this,16),26)||this.zh(),n),t)},SWn.zh=function(){return pWn(),T$t},SWn.Bh=function(n){var t;switch(n){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),void hqn(this.Ab);case 1:return void this.Lh(null);case 2:return void Jfn(this,!0);case 3:return void tln(this,!0);case 4:return void Nen(this,0);case 5:return void this.ok(1);case 8:return void Ohn(this,null);case 9:return void((t=qTn(this,null,null))&&t.Fi())}Gfn(this,n-wX(this.zh()),rtn(HB(kan(this,16),26)||this.zh(),n))},SWn.Gh=function(){Okn(this),this.Bb|=1},SWn.Yj=function(){return Okn(this)},SWn.Zj=function(){return this.t},SWn.$j=function(){var n;return(n=this.t)>1||-1==n},SWn.hi=function(){return 0!=(512&this.Bb)},SWn.nk=function(n,t){return Ifn(this,n,t)},SWn.ok=function(n){xen(this,n)},SWn.Ib=function(){return _On(this)},SWn.s=0,SWn.t=1,mX(b6n,"ETypedElementImpl",284),dAn(449,284,{105:1,92:1,90:1,147:1,191:1,56:1,170:1,66:1,108:1,472:1,49:1,97:1,150:1,449:1,284:1,114:1,115:1,677:1}),SWn.Qg=function(n){return xyn(this,n)},SWn._g=function(n,t,e){switch(n){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),this.Ab;case 1:return this.zb;case 2:return fN(),0!=(256&this.Bb);case 3:return fN(),0!=(512&this.Bb);case 4:return rln(this.s);case 5:return rln(this.t);case 6:return fN(),!!this.$j();case 7:return fN(),this.s>=1;case 8:return t?Okn(this):this.r;case 9:return this.q;case 10:return fN(),0!=(this.Bb&j6n);case 11:return fN(),0!=(this.Bb&S9n);case 12:return fN(),0!=(this.Bb&FQn);case 13:return this.j;case 14:return GLn(this);case 15:return fN(),0!=(this.Bb&M9n);case 16:return fN(),0!=(this.Bb&fVn);case 17:return gZ(this)}return X9(this,n-wX(this.zh()),rtn(HB(kan(this,16),26)||this.zh(),n),t,e)},SWn.hh=function(n,t,e){var i;switch(t){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),Jwn(this.Ab,n,e);case 17:return this.Cb&&(e=(i=this.Db>>16)>=0?xyn(this,e):this.Cb.ih(this,-1-i,null,e)),M_n(this,n,17,e)}return HB(rtn(HB(kan(this,16),26)||this.zh(),t),66).Nj().Qj(this,lgn(this),t-wX(this.zh()),n,e)},SWn.jh=function(n,t,e){switch(t){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),Fpn(this.Ab,n,e);case 9:return pX(this,e);case 17:return M_n(this,null,17,e)}return HB(rtn(HB(kan(this,16),26)||this.zh(),t),66).Nj().Rj(this,lgn(this),t-wX(this.zh()),n,e)},SWn.lh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return 0==(256&this.Bb);case 3:return 0==(512&this.Bb);case 4:return 0!=this.s;case 5:return 1!=this.t;case 6:return this.$j();case 7:return this.s>=1;case 8:return!!this.r&&!this.q.e&&0==kW(this.q).i;case 9:return!(!this.q||this.r&&!this.q.e&&0==kW(this.q).i);case 10:return 0==(this.Bb&j6n);case 11:return 0!=(this.Bb&S9n);case 12:return 0!=(this.Bb&FQn);case 13:return null!=this.j;case 14:return null!=GLn(this);case 15:return 0!=(this.Bb&M9n);case 16:return 0!=(this.Bb&fVn);case 17:return!!gZ(this)}return A3(this,n-wX(this.zh()),rtn(HB(kan(this,16),26)||this.zh(),n))},SWn.sh=function(n,t){var e;switch(n){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),hqn(this.Ab),!this.Ab&&(this.Ab=new iU(_At,this,0,3)),void vX(this.Ab,HB(t,14));case 1:return void ZZ(this,PD(t));case 2:return void Jfn(this,Gy(MD(t)));case 3:return void tln(this,Gy(MD(t)));case 4:return void Nen(this,HB(t,19).a);case 5:return void this.ok(HB(t,19).a);case 8:return void Ohn(this,HB(t,138));case 9:return void((e=qTn(this,HB(t,87),null))&&e.Fi());case 10:return void $ln(this,Gy(MD(t)));case 11:return void xln(this,Gy(MD(t)));case 12:return void Lln(this,Gy(MD(t)));case 13:return void FC(this,PD(t));case 15:return void Nln(this,Gy(MD(t)));case 16:return void Gln(this,Gy(MD(t)))}Nbn(this,n-wX(this.zh()),rtn(HB(kan(this,16),26)||this.zh(),n),t)},SWn.zh=function(){return pWn(),E$t},SWn.Bh=function(n){var t;switch(n){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),void hqn(this.Ab);case 1:return aL(this.Cb,88)&&$In(I5(HB(this.Cb,88)),4),void xrn(this,null);case 2:return void Jfn(this,!0);case 3:return void tln(this,!0);case 4:return void Nen(this,0);case 5:return void this.ok(1);case 8:return void Ohn(this,null);case 9:return void((t=qTn(this,null,null))&&t.Fi());case 10:return void $ln(this,!0);case 11:return void xln(this,!1);case 12:return void Lln(this,!1);case 13:return this.i=null,void urn(this,null);case 15:return void Nln(this,!1);case 16:return void Gln(this,!1)}Gfn(this,n-wX(this.zh()),rtn(HB(kan(this,16),26)||this.zh(),n))},SWn.Gh=function(){jV(H7((OPn(),nLt),this)),Okn(this),this.Bb|=1},SWn.Gj=function(){return this.f},SWn.zj=function(){return GLn(this)},SWn.Hj=function(){return gZ(this)},SWn.Lj=function(){return null},SWn.pk=function(){return this.k},SWn.aj=function(){return this.n},SWn.Mj=function(){return sEn(this)},SWn.Nj=function(){var n,t,e,i,r,c,a,u,o;return this.p||((null==(e=gZ(this)).i&&GFn(e),e.i).length,(i=this.Lj())&&wX(gZ(i)),n=(a=(r=Okn(this)).Bj())?0!=(1&a.i)?a==LNt?jtt:a==$Nt?$tt:a==RNt?Ctt:a==DNt?Itt:a==NNt?Ktt:a==KNt?Ftt:a==xNt?Mtt:Ptt:a:null,t=GLn(this),u=r.zj(),wbn(this),0!=(this.Bb&fVn)&&((c=yjn((OPn(),nLt),e))&&c!=this||(c=n0(H7(nLt,this))))?this.p=new $C(this,c):this.$j()?this.rk()?i?0!=(this.Bb&M9n)?n?this.sk()?this.p=new bQ(47,n,this,i):this.p=new bQ(5,n,this,i):this.sk()?this.p=new d4(46,this,i):this.p=new d4(4,this,i):n?this.sk()?this.p=new bQ(49,n,this,i):this.p=new bQ(7,n,this,i):this.sk()?this.p=new d4(48,this,i):this.p=new d4(6,this,i):0!=(this.Bb&M9n)?n?n==qnt?this.p=new IB(50,QOt,this):this.sk()?this.p=new IB(43,n,this):this.p=new IB(1,n,this):this.sk()?this.p=new KY(42,this):this.p=new KY(0,this):n?n==qnt?this.p=new IB(41,QOt,this):this.sk()?this.p=new IB(45,n,this):this.p=new IB(3,n,this):this.sk()?this.p=new KY(44,this):this.p=new KY(2,this):aL(r,148)?n==L$t?this.p=new KY(40,this):0!=(512&this.Bb)?0!=(this.Bb&M9n)?this.p=n?new IB(9,n,this):new KY(8,this):this.p=n?new IB(11,n,this):new KY(10,this):0!=(this.Bb&M9n)?this.p=n?new IB(13,n,this):new KY(12,this):this.p=n?new IB(15,n,this):new KY(14,this):i?(o=i.t)>1||-1==o?this.sk()?0!=(this.Bb&M9n)?this.p=n?new bQ(25,n,this,i):new d4(24,this,i):this.p=n?new bQ(27,n,this,i):new d4(26,this,i):0!=(this.Bb&M9n)?this.p=n?new bQ(29,n,this,i):new d4(28,this,i):this.p=n?new bQ(31,n,this,i):new d4(30,this,i):this.sk()?0!=(this.Bb&M9n)?this.p=n?new bQ(33,n,this,i):new d4(32,this,i):this.p=n?new bQ(35,n,this,i):new d4(34,this,i):0!=(this.Bb&M9n)?this.p=n?new bQ(37,n,this,i):new d4(36,this,i):this.p=n?new bQ(39,n,this,i):new d4(38,this,i):this.sk()?0!=(this.Bb&M9n)?this.p=n?new IB(17,n,this):new KY(16,this):this.p=n?new IB(19,n,this):new KY(18,this):0!=(this.Bb&M9n)?this.p=n?new IB(21,n,this):new KY(20,this):this.p=n?new IB(23,n,this):new KY(22,this):this.qk()?this.sk()?this.p=new CB(HB(r,26),this,i):this.p=new yJ(HB(r,26),this,i):aL(r,148)?n==L$t?this.p=new KY(40,this):0!=(this.Bb&M9n)?this.p=n?new tz(t,u,this,(Hwn(),a==$Nt?G$t:a==LNt?_$t:a==NNt?z$t:a==RNt?q$t:a==DNt?H$t:a==KNt?X$t:a==xNt?F$t:a==ANt?B$t:U$t)):new gQ(HB(r,148),t,u,this):this.p=n?new nz(t,u,this,(Hwn(),a==$Nt?G$t:a==LNt?_$t:a==NNt?z$t:a==RNt?q$t:a==DNt?H$t:a==KNt?X$t:a==xNt?F$t:a==ANt?B$t:U$t)):new dQ(HB(r,148),t,u,this):this.rk()?i?0!=(this.Bb&M9n)?this.sk()?this.p=new xB(HB(r,26),this,i):this.p=new NB(HB(r,26),this,i):this.sk()?this.p=new LB(HB(r,26),this,i):this.p=new OB(HB(r,26),this,i):0!=(this.Bb&M9n)?this.sk()?this.p=new iD(HB(r,26),this):this.p=new eD(HB(r,26),this):this.sk()?this.p=new tD(HB(r,26),this):this.p=new nD(HB(r,26),this):this.sk()?i?0!=(this.Bb&M9n)?this.p=new DB(HB(r,26),this,i):this.p=new AB(HB(r,26),this,i):0!=(this.Bb&M9n)?this.p=new cD(HB(r,26),this):this.p=new rD(HB(r,26),this):i?0!=(this.Bb&M9n)?this.p=new RB(HB(r,26),this,i):this.p=new $B(HB(r,26),this,i):0!=(this.Bb&M9n)?this.p=new aD(HB(r,26),this):this.p=new aG(HB(r,26),this)),this.p},SWn.Ij=function(){return 0!=(this.Bb&j6n)},SWn.qk=function(){return!1},SWn.rk=function(){return!1},SWn.Jj=function(){return 0!=(this.Bb&fVn)},SWn.Oj=function(){return fnn(this)},SWn.sk=function(){return!1},SWn.Kj=function(){return 0!=(this.Bb&M9n)},SWn.tk=function(n){this.k=n},SWn.Lh=function(n){ZZ(this,n)},SWn.Ib=function(){return TRn(this)},SWn.e=!1,SWn.n=0,mX(b6n,"EStructuralFeatureImpl",449),dAn(322,449,{105:1,92:1,90:1,34:1,147:1,191:1,56:1,170:1,66:1,108:1,472:1,49:1,97:1,322:1,150:1,449:1,284:1,114:1,115:1,677:1},Am),SWn._g=function(n,t,e){switch(n){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),this.Ab;case 1:return this.zb;case 2:return fN(),0!=(256&this.Bb);case 3:return fN(),0!=(512&this.Bb);case 4:return rln(this.s);case 5:return rln(this.t);case 6:return fN(),!!xCn(this);case 7:return fN(),this.s>=1;case 8:return t?Okn(this):this.r;case 9:return this.q;case 10:return fN(),0!=(this.Bb&j6n);case 11:return fN(),0!=(this.Bb&S9n);case 12:return fN(),0!=(this.Bb&FQn);case 13:return this.j;case 14:return GLn(this);case 15:return fN(),0!=(this.Bb&M9n);case 16:return fN(),0!=(this.Bb&fVn);case 17:return gZ(this);case 18:return fN(),0!=(this.Bb&f6n);case 19:return t?oun(this):D6(this)}return X9(this,n-wX((pWn(),r$t)),rtn(HB(kan(this,16),26)||r$t,n),t,e)},SWn.lh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return 0==(256&this.Bb);case 3:return 0==(512&this.Bb);case 4:return 0!=this.s;case 5:return 1!=this.t;case 6:return xCn(this);case 7:return this.s>=1;case 8:return!!this.r&&!this.q.e&&0==kW(this.q).i;case 9:return!(!this.q||this.r&&!this.q.e&&0==kW(this.q).i);case 10:return 0==(this.Bb&j6n);case 11:return 0!=(this.Bb&S9n);case 12:return 0!=(this.Bb&FQn);case 13:return null!=this.j;case 14:return null!=GLn(this);case 15:return 0!=(this.Bb&M9n);case 16:return 0!=(this.Bb&fVn);case 17:return!!gZ(this);case 18:return 0!=(this.Bb&f6n);case 19:return!!D6(this)}return A3(this,n-wX((pWn(),r$t)),rtn(HB(kan(this,16),26)||r$t,n))},SWn.sh=function(n,t){var e;switch(n){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),hqn(this.Ab),!this.Ab&&(this.Ab=new iU(_At,this,0,3)),void vX(this.Ab,HB(t,14));case 1:return void ZZ(this,PD(t));case 2:return void Jfn(this,Gy(MD(t)));case 3:return void tln(this,Gy(MD(t)));case 4:return void Nen(this,HB(t,19).a);case 5:return void Xj(this,HB(t,19).a);case 8:return void Ohn(this,HB(t,138));case 9:return void((e=qTn(this,HB(t,87),null))&&e.Fi());case 10:return void $ln(this,Gy(MD(t)));case 11:return void xln(this,Gy(MD(t)));case 12:return void Lln(this,Gy(MD(t)));case 13:return void FC(this,PD(t));case 15:return void Nln(this,Gy(MD(t)));case 16:return void Gln(this,Gy(MD(t)));case 18:return void zln(this,Gy(MD(t)))}Nbn(this,n-wX((pWn(),r$t)),rtn(HB(kan(this,16),26)||r$t,n),t)},SWn.zh=function(){return pWn(),r$t},SWn.Bh=function(n){var t;switch(n){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),void hqn(this.Ab);case 1:return aL(this.Cb,88)&&$In(I5(HB(this.Cb,88)),4),void xrn(this,null);case 2:return void Jfn(this,!0);case 3:return void tln(this,!0);case 4:return void Nen(this,0);case 5:return this.b=0,void xen(this,1);case 8:return void Ohn(this,null);case 9:return void((t=qTn(this,null,null))&&t.Fi());case 10:return void $ln(this,!0);case 11:return void xln(this,!1);case 12:return void Lln(this,!1);case 13:return this.i=null,void urn(this,null);case 15:return void Nln(this,!1);case 16:return void Gln(this,!1);case 18:return void zln(this,!1)}Gfn(this,n-wX((pWn(),r$t)),rtn(HB(kan(this,16),26)||r$t,n))},SWn.Gh=function(){oun(this),jV(H7((OPn(),nLt),this)),Okn(this),this.Bb|=1},SWn.$j=function(){return xCn(this)},SWn.nk=function(n,t){return this.b=0,this.a=null,Ifn(this,n,t)},SWn.ok=function(n){Xj(this,n)},SWn.Ib=function(){var n;return 0!=(64&this.Db)?TRn(this):((n=new lN(TRn(this))).a+=" (iD: ",kE(n,0!=(this.Bb&f6n)),n.a+=")",n.a)},SWn.b=0,mX(b6n,"EAttributeImpl",322),dAn(351,438,{105:1,92:1,90:1,138:1,147:1,191:1,56:1,108:1,49:1,97:1,351:1,150:1,114:1,115:1,676:1}),SWn.uk=function(n){return n.Tg()==this},SWn.Qg=function(n){return lyn(this,n)},SWn.Rg=function(n,t){this.w=null,this.Db=t<<16|255&this.Db,this.Cb=n},SWn._g=function(n,t,e){switch(n){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),this.Ab;case 1:return this.zb;case 2:return null!=this.D?this.D:this.B;case 3:return ryn(this);case 4:return this.zj();case 5:return this.F;case 6:return t?Xtn(this):dZ(this);case 7:return!this.A&&(this.A=new xL(A$t,this,7)),this.A}return X9(this,n-wX(this.zh()),rtn(HB(kan(this,16),26)||this.zh(),n),t,e)},SWn.hh=function(n,t,e){var i;switch(t){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),Jwn(this.Ab,n,e);case 6:return this.Cb&&(e=(i=this.Db>>16)>=0?lyn(this,e):this.Cb.ih(this,-1-i,null,e)),M_n(this,n,6,e)}return HB(rtn(HB(kan(this,16),26)||this.zh(),t),66).Nj().Qj(this,lgn(this),t-wX(this.zh()),n,e)},SWn.jh=function(n,t,e){switch(t){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),Fpn(this.Ab,n,e);case 6:return M_n(this,null,6,e);case 7:return!this.A&&(this.A=new xL(A$t,this,7)),Fpn(this.A,n,e)}return HB(rtn(HB(kan(this,16),26)||this.zh(),t),66).Nj().Rj(this,lgn(this),t-wX(this.zh()),n,e)},SWn.lh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return null!=this.D&&this.D==this.F;case 3:return!!ryn(this);case 4:return null!=this.zj();case 5:return null!=this.F&&this.F!=this.D&&this.F!=this.B;case 6:return!!dZ(this);case 7:return!!this.A&&0!=this.A.i}return A3(this,n-wX(this.zh()),rtn(HB(kan(this,16),26)||this.zh(),n))},SWn.sh=function(n,t){switch(n){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),hqn(this.Ab),!this.Ab&&(this.Ab=new iU(_At,this,0,3)),void vX(this.Ab,HB(t,14));case 1:return void n1(this,PD(t));case 2:return void OA(this,PD(t));case 5:return void Jqn(this,PD(t));case 7:return!this.A&&(this.A=new xL(A$t,this,7)),hqn(this.A),!this.A&&(this.A=new xL(A$t,this,7)),void vX(this.A,HB(t,14))}Nbn(this,n-wX(this.zh()),rtn(HB(kan(this,16),26)||this.zh(),n),t)},SWn.zh=function(){return pWn(),a$t},SWn.Bh=function(n){switch(n){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),void hqn(this.Ab);case 1:return aL(this.Cb,179)&&(HB(this.Cb,179).tb=null),void xrn(this,null);case 2:return Rsn(this,null),void Den(this,this.D);case 5:return void Jqn(this,null);case 7:return!this.A&&(this.A=new xL(A$t,this,7)),void hqn(this.A)}Gfn(this,n-wX(this.zh()),rtn(HB(kan(this,16),26)||this.zh(),n))},SWn.yj=function(){var n;return-1==this.G&&(this.G=(n=Xtn(this))?ovn(n.Mh(),this):-1),this.G},SWn.zj=function(){return null},SWn.Aj=function(){return Xtn(this)},SWn.vk=function(){return this.v},SWn.Bj=function(){return ryn(this)},SWn.Cj=function(){return null!=this.D?this.D:this.B},SWn.Dj=function(){return this.F},SWn.wj=function(n){return PFn(this,n)},SWn.wk=function(n){this.v=n},SWn.xk=function(n){Xrn(this,n)},SWn.yk=function(n){this.C=n},SWn.Lh=function(n){n1(this,n)},SWn.Ib=function(){return Cwn(this)},SWn.C=null,SWn.D=null,SWn.G=-1,mX(b6n,"EClassifierImpl",351),dAn(88,351,{105:1,92:1,90:1,26:1,138:1,147:1,191:1,56:1,108:1,49:1,97:1,88:1,351:1,150:1,473:1,114:1,115:1,676:1},Ff),SWn.uk=function(n){return YR(this,n.Tg())},SWn._g=function(n,t,e){switch(n){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),this.Ab;case 1:return this.zb;case 2:return null!=this.D?this.D:this.B;case 3:return ryn(this);case 4:return null;case 5:return this.F;case 6:return t?Xtn(this):dZ(this);case 7:return!this.A&&(this.A=new xL(A$t,this,7)),this.A;case 8:return fN(),0!=(256&this.Bb);case 9:return fN(),0!=(512&this.Bb);case 10:return jY(this);case 11:return!this.q&&(this.q=new iU(YAt,this,11,10)),this.q;case 12:return JBn(this);case 13:return KBn(this);case 14:return KBn(this),this.r;case 15:return JBn(this),this.k;case 16:return VPn(this);case 17:return pBn(this);case 18:return GFn(this);case 19:return CLn(this);case 20:return JBn(this),this.o;case 21:return!this.s&&(this.s=new iU(BAt,this,21,17)),this.s;case 22:return u4(this);case 23:return qDn(this)}return X9(this,n-wX((pWn(),c$t)),rtn(HB(kan(this,16),26)||c$t,n),t,e)},SWn.hh=function(n,t,e){var i;switch(t){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),Jwn(this.Ab,n,e);case 6:return this.Cb&&(e=(i=this.Db>>16)>=0?lyn(this,e):this.Cb.ih(this,-1-i,null,e)),M_n(this,n,6,e);case 11:return!this.q&&(this.q=new iU(YAt,this,11,10)),Jwn(this.q,n,e);case 21:return!this.s&&(this.s=new iU(BAt,this,21,17)),Jwn(this.s,n,e)}return HB(rtn(HB(kan(this,16),26)||(pWn(),c$t),t),66).Nj().Qj(this,lgn(this),t-wX((pWn(),c$t)),n,e)},SWn.jh=function(n,t,e){switch(t){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),Fpn(this.Ab,n,e);case 6:return M_n(this,null,6,e);case 7:return!this.A&&(this.A=new xL(A$t,this,7)),Fpn(this.A,n,e);case 11:return!this.q&&(this.q=new iU(YAt,this,11,10)),Fpn(this.q,n,e);case 21:return!this.s&&(this.s=new iU(BAt,this,21,17)),Fpn(this.s,n,e);case 22:return Fpn(u4(this),n,e)}return HB(rtn(HB(kan(this,16),26)||(pWn(),c$t),t),66).Nj().Rj(this,lgn(this),t-wX((pWn(),c$t)),n,e)},SWn.lh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return null!=this.D&&this.D==this.F;case 3:return!!ryn(this);case 4:return!1;case 5:return null!=this.F&&this.F!=this.D&&this.F!=this.B;case 6:return!!dZ(this);case 7:return!!this.A&&0!=this.A.i;case 8:return 0!=(256&this.Bb);case 9:return 0!=(512&this.Bb);case 10:return!(!this.u||0==u4(this.u.a).i||this.n&&Kvn(this.n));case 11:return!!this.q&&0!=this.q.i;case 12:return 0!=JBn(this).i;case 13:return 0!=KBn(this).i;case 14:return KBn(this),0!=this.r.i;case 15:return JBn(this),0!=this.k.i;case 16:return 0!=VPn(this).i;case 17:return 0!=pBn(this).i;case 18:return 0!=GFn(this).i;case 19:return 0!=CLn(this).i;case 20:return JBn(this),!!this.o;case 21:return!!this.s&&0!=this.s.i;case 22:return!!this.n&&Kvn(this.n);case 23:return 0!=qDn(this).i}return A3(this,n-wX((pWn(),c$t)),rtn(HB(kan(this,16),26)||c$t,n))},SWn.oh=function(n){return(null==this.i||this.q&&0!=this.q.i?null:xNn(this,n))||fUn(this,n)},SWn.sh=function(n,t){switch(n){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),hqn(this.Ab),!this.Ab&&(this.Ab=new iU(_At,this,0,3)),void vX(this.Ab,HB(t,14));case 1:return void n1(this,PD(t));case 2:return void OA(this,PD(t));case 5:return void Jqn(this,PD(t));case 7:return!this.A&&(this.A=new xL(A$t,this,7)),hqn(this.A),!this.A&&(this.A=new xL(A$t,this,7)),void vX(this.A,HB(t,14));case 8:return void Zfn(this,Gy(MD(t)));case 9:return void eln(this,Gy(MD(t)));case 10:return mqn(jY(this)),void vX(jY(this),HB(t,14));case 11:return!this.q&&(this.q=new iU(YAt,this,11,10)),hqn(this.q),!this.q&&(this.q=new iU(YAt,this,11,10)),void vX(this.q,HB(t,14));case 21:return!this.s&&(this.s=new iU(BAt,this,21,17)),hqn(this.s),!this.s&&(this.s=new iU(BAt,this,21,17)),void vX(this.s,HB(t,14));case 22:return hqn(u4(this)),void vX(u4(this),HB(t,14))}Nbn(this,n-wX((pWn(),c$t)),rtn(HB(kan(this,16),26)||c$t,n),t)},SWn.zh=function(){return pWn(),c$t},SWn.Bh=function(n){switch(n){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),void hqn(this.Ab);case 1:return aL(this.Cb,179)&&(HB(this.Cb,179).tb=null),void xrn(this,null);case 2:return Rsn(this,null),void Den(this,this.D);case 5:return void Jqn(this,null);case 7:return!this.A&&(this.A=new xL(A$t,this,7)),void hqn(this.A);case 8:return void Zfn(this,!1);case 9:return void eln(this,!1);case 10:return void(this.u&&mqn(this.u));case 11:return!this.q&&(this.q=new iU(YAt,this,11,10)),void hqn(this.q);case 21:return!this.s&&(this.s=new iU(BAt,this,21,17)),void hqn(this.s);case 22:return void(this.n&&hqn(this.n))}Gfn(this,n-wX((pWn(),c$t)),rtn(HB(kan(this,16),26)||c$t,n))},SWn.Gh=function(){var n,t;if(JBn(this),KBn(this),VPn(this),pBn(this),GFn(this),CLn(this),qDn(this),u6(WB(I5(this))),this.s)for(n=0,t=this.s.i;n=0;--t)Vtn(this,t);return Ywn(this,n)},SWn.Xj=function(){hqn(this)},SWn.oi=function(n,t){return Fen(this,n,t)},mX(k9n,"EcoreEList",622),dAn(496,622,K9n,kH),SWn.ai=function(){return!1},SWn.aj=function(){return this.c},SWn.bj=function(){return!1},SWn.Fk=function(){return!0},SWn.hi=function(){return!0},SWn.li=function(n,t){return t},SWn.ni=function(){return!1},SWn.c=0,mX(k9n,"EObjectEList",496),dAn(85,496,K9n,LL),SWn.bj=function(){return!0},SWn.Dk=function(){return!1},SWn.rk=function(){return!0},mX(k9n,"EObjectContainmentEList",85),dAn(545,85,K9n,NL),SWn.ci=function(){this.b=!0},SWn.fj=function(){return this.b},SWn.Xj=function(){var n;hqn(this),yA(this.e)?(n=this.b,this.b=!1,wan(this.e,new e6(this.e,2,this.c,n,!1))):this.b=!1},SWn.b=!1,mX(k9n,"EObjectContainmentEList/Unsettable",545),dAn(1140,545,K9n,JG),SWn.ii=function(n,t){var e,i;return e=HB(Oln(this,n,t),87),yA(this.e)&&Nv(this,new E9(this.a,7,(pWn(),u$t),rln(t),aL(i=e.c,88)?HB(i,26):g$t,n)),e},SWn.jj=function(n,t){return ndn(this,HB(n,87),t)},SWn.kj=function(n,t){return Zwn(this,HB(n,87),t)},SWn.lj=function(n,t,e){return Fjn(this,HB(n,87),HB(t,87),e)},SWn.Zi=function(n,t,e,i,r){switch(n){case 3:return kZ(this,n,t,e,i,this.i>1);case 5:return kZ(this,n,t,e,i,this.i-HB(e,15).gc()>0);default:return new x7(this.e,n,this.c,t,e,i,!0)}},SWn.ij=function(){return!0},SWn.fj=function(){return Kvn(this)},SWn.Xj=function(){hqn(this)},mX(b6n,"EClassImpl/1",1140),dAn(1154,1153,n9n),SWn.ui=function(n){var t,e,i,r,c,a,u;if(8!=(e=n.xi())){if(0==(i=upn(n)))switch(e){case 1:case 9:null!=(u=n.Bi())&&(!(t=I5(HB(u,473))).c&&(t.c=new Ho),hnn(t.c,n.Ai())),null!=(a=n.zi())&&0==(1&(r=HB(a,473)).Bb)&&(!(t=I5(r)).c&&(t.c=new Ho),l9(t.c,HB(n.Ai(),26)));break;case 3:null!=(a=n.zi())&&0==(1&(r=HB(a,473)).Bb)&&(!(t=I5(r)).c&&(t.c=new Ho),l9(t.c,HB(n.Ai(),26)));break;case 5:if(null!=(a=n.zi()))for(c=HB(a,14).Kc();c.Ob();)0==(1&(r=HB(c.Pb(),473)).Bb)&&(!(t=I5(r)).c&&(t.c=new Ho),l9(t.c,HB(n.Ai(),26)));break;case 4:null!=(u=n.Bi())&&0==(1&(r=HB(u,473)).Bb)&&(!(t=I5(r)).c&&(t.c=new Ho),hnn(t.c,n.Ai()));break;case 6:if(null!=(u=n.Bi()))for(c=HB(u,14).Kc();c.Ob();)0==(1&(r=HB(c.Pb(),473)).Bb)&&(!(t=I5(r)).c&&(t.c=new Ho),hnn(t.c,n.Ai()))}this.Hk(i)}},SWn.Hk=function(n){gRn(this,n)},SWn.b=63,mX(b6n,"ESuperAdapter",1154),dAn(1155,1154,n9n,gp),SWn.Hk=function(n){$In(this,n)},mX(b6n,"EClassImpl/10",1155),dAn(1144,696,K9n),SWn.Vh=function(n,t){return HTn(this,n,t)},SWn.Wh=function(n){return wmn(this,n)},SWn.Xh=function(n,t){Ofn(this,n,t)},SWn.Yh=function(n){a6(this,n)},SWn.pi=function(n){return B9(this,n)},SWn.mi=function(n,t){return snn(this,n,t)},SWn.lk=function(n,t){throw qp(new vv)},SWn.Zh=function(){return new ux(this)},SWn.$h=function(){return new ox(this)},SWn._h=function(n){return hin(this,n)},SWn.mk=function(n,t){throw qp(new vv)},SWn.Wj=function(n){return this},SWn.fj=function(){return 0!=this.i},SWn.Wb=function(n){throw qp(new vv)},SWn.Xj=function(){throw qp(new vv)},mX(k9n,"EcoreEList/UnmodifiableEList",1144),dAn(319,1144,K9n,xO),SWn.ni=function(){return!1},mX(k9n,"EcoreEList/UnmodifiableEList/FastCompare",319),dAn(1147,319,K9n,gon),SWn.Xc=function(n){var t,e;if(aL(n,170)&&-1!=(t=HB(n,170).aj()))for(e=this.i;t4){if(!this.wj(n))return!1;if(this.rk()){if(a=(t=(e=HB(n,49)).Ug())==this.b&&(this.Dk()?e.Og(e.Vg(),HB(rtn(EY(this.b),this.aj()).Yj(),26).Bj())==Cvn(HB(rtn(EY(this.b),this.aj()),18)).n:-1-e.Vg()==this.aj()),this.Ek()&&!a&&!t&&e.Zg())for(i=0;i1||-1==e)},SWn.Dk=function(){var n;return!!aL(n=rtn(EY(this.b),this.aj()),99)&&!!Cvn(HB(n,18))},SWn.Ek=function(){var n;return!!aL(n=rtn(EY(this.b),this.aj()),99)&&0!=(HB(n,18).Bb&HQn)},SWn.Xc=function(n){var t,e,i;if((e=this.Qi(n))>=0)return e;if(this.Fk())for(t=0,i=this.Vi();t=0;--n)iGn(this,n,this.Oi(n));return this.Wi()},SWn.Qc=function(n){var t;if(this.Ek())for(t=this.Vi()-1;t>=0;--t)iGn(this,t,this.Oi(t));return this.Xi(n)},SWn.Xj=function(){mqn(this)},SWn.oi=function(n,t){return H9(this,n,t)},mX(k9n,"DelegatingEcoreEList",742),dAn(1150,742,q9n,oR),SWn.Hi=function(n,t){bD(this,n,HB(t,26))},SWn.Ii=function(n){i$(this,HB(n,26))},SWn.Oi=function(n){var t;return aL(t=HB(Vtn(u4(this.a),n),87).c,88)?HB(t,26):(pWn(),g$t)},SWn.Ti=function(n){var t;return aL(t=HB(lDn(u4(this.a),n),87).c,88)?HB(t,26):(pWn(),g$t)},SWn.Ui=function(n,t){return gmn(this,n,HB(t,26))},SWn.ai=function(){return!1},SWn.Zi=function(n,t,e,i,r){return null},SWn.Ji=function(){return new vp(this)},SWn.Ki=function(){hqn(u4(this.a))},SWn.Li=function(n){return Xfn(this,n)},SWn.Mi=function(n){var t;for(t=n.Kc();t.Ob();)if(!Xfn(this,t.Pb()))return!1;return!0},SWn.Ni=function(n){var t,e,i;if(aL(n,15)&&(i=HB(n,15)).gc()==u4(this.a).i){for(t=i.Kc(),e=new $L(this);t.Ob();)if(zC(t.Pb())!==zC(jpn(e)))return!1;return!0}return!1},SWn.Pi=function(){var n,t,e,i;for(t=1,n=new $L(u4(this.a));n.e!=n.i.gc();)t=31*t+((e=aL(i=HB(jpn(n),87).c,88)?HB(i,26):(pWn(),g$t))?IN(e):0);return t},SWn.Qi=function(n){var t,e,i,r;for(i=0,e=new $L(u4(this.a));e.e!=e.i.gc();){if(t=HB(jpn(e),87),zC(n)===zC(aL(r=t.c,88)?HB(r,26):(pWn(),g$t)))return i;++i}return-1},SWn.Ri=function(){return 0==u4(this.a).i},SWn.Si=function(){return null},SWn.Vi=function(){return u4(this.a).i},SWn.Wi=function(){var n,t,e,i,r,c;for(c=u4(this.a).i,r=D8($nt,qWn,1,c,5,1),e=0,t=new $L(u4(this.a));t.e!=t.i.gc();)n=HB(jpn(t),87),r[e++]=aL(i=n.c,88)?HB(i,26):(pWn(),g$t);return r},SWn.Xi=function(n){var t,e,i,r;for(r=u4(this.a).i,n.lengthr&&LX(n,r,null),e=0,t=new $L(u4(this.a));t.e!=t.i.gc();)LX(n,e++,aL(i=HB(jpn(t),87).c,88)?HB(i,26):(pWn(),g$t));return n},SWn.Yi=function(){var n,t,e,i,r;for((r=new Pk).a+="[",n=u4(this.a),t=0,i=u4(this.a).i;t>16)>=0?lyn(this,e):this.Cb.ih(this,-1-i,null,e)),M_n(this,n,6,e);case 9:return!this.a&&(this.a=new iU(VAt,this,9,5)),Jwn(this.a,n,e)}return HB(rtn(HB(kan(this,16),26)||(pWn(),s$t),t),66).Nj().Qj(this,lgn(this),t-wX((pWn(),s$t)),n,e)},SWn.jh=function(n,t,e){switch(t){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),Fpn(this.Ab,n,e);case 6:return M_n(this,null,6,e);case 7:return!this.A&&(this.A=new xL(A$t,this,7)),Fpn(this.A,n,e);case 9:return!this.a&&(this.a=new iU(VAt,this,9,5)),Fpn(this.a,n,e)}return HB(rtn(HB(kan(this,16),26)||(pWn(),s$t),t),66).Nj().Rj(this,lgn(this),t-wX((pWn(),s$t)),n,e)},SWn.lh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return null!=this.D&&this.D==this.F;case 3:return!!ryn(this);case 4:return!!Ysn(this);case 5:return null!=this.F&&this.F!=this.D&&this.F!=this.B;case 6:return!!dZ(this);case 7:return!!this.A&&0!=this.A.i;case 8:return 0==(256&this.Bb);case 9:return!!this.a&&0!=this.a.i}return A3(this,n-wX((pWn(),s$t)),rtn(HB(kan(this,16),26)||s$t,n))},SWn.sh=function(n,t){switch(n){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),hqn(this.Ab),!this.Ab&&(this.Ab=new iU(_At,this,0,3)),void vX(this.Ab,HB(t,14));case 1:return void n1(this,PD(t));case 2:return void OA(this,PD(t));case 5:return void Jqn(this,PD(t));case 7:return!this.A&&(this.A=new xL(A$t,this,7)),hqn(this.A),!this.A&&(this.A=new xL(A$t,this,7)),void vX(this.A,HB(t,14));case 8:return void nln(this,Gy(MD(t)));case 9:return!this.a&&(this.a=new iU(VAt,this,9,5)),hqn(this.a),!this.a&&(this.a=new iU(VAt,this,9,5)),void vX(this.a,HB(t,14))}Nbn(this,n-wX((pWn(),s$t)),rtn(HB(kan(this,16),26)||s$t,n),t)},SWn.zh=function(){return pWn(),s$t},SWn.Bh=function(n){switch(n){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),void hqn(this.Ab);case 1:return aL(this.Cb,179)&&(HB(this.Cb,179).tb=null),void xrn(this,null);case 2:return Rsn(this,null),void Den(this,this.D);case 5:return void Jqn(this,null);case 7:return!this.A&&(this.A=new xL(A$t,this,7)),void hqn(this.A);case 8:return void nln(this,!0);case 9:return!this.a&&(this.a=new iU(VAt,this,9,5)),void hqn(this.a)}Gfn(this,n-wX((pWn(),s$t)),rtn(HB(kan(this,16),26)||s$t,n))},SWn.Gh=function(){var n,t;if(this.a)for(n=0,t=this.a.i;n>16==5?HB(this.Cb,671):null}return X9(this,n-wX((pWn(),h$t)),rtn(HB(kan(this,16),26)||h$t,n),t,e)},SWn.hh=function(n,t,e){var i;switch(t){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),Jwn(this.Ab,n,e);case 5:return this.Cb&&(e=(i=this.Db>>16)>=0?bkn(this,e):this.Cb.ih(this,-1-i,null,e)),M_n(this,n,5,e)}return HB(rtn(HB(kan(this,16),26)||(pWn(),h$t),t),66).Nj().Qj(this,lgn(this),t-wX((pWn(),h$t)),n,e)},SWn.jh=function(n,t,e){switch(t){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),Fpn(this.Ab,n,e);case 5:return M_n(this,null,5,e)}return HB(rtn(HB(kan(this,16),26)||(pWn(),h$t),t),66).Nj().Rj(this,lgn(this),t-wX((pWn(),h$t)),n,e)},SWn.lh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return 0!=this.d;case 3:return!!this.b;case 4:return null!=this.c;case 5:return!(this.Db>>16!=5||!HB(this.Cb,671))}return A3(this,n-wX((pWn(),h$t)),rtn(HB(kan(this,16),26)||h$t,n))},SWn.sh=function(n,t){switch(n){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),hqn(this.Ab),!this.Ab&&(this.Ab=new iU(_At,this,0,3)),void vX(this.Ab,HB(t,14));case 1:return void xrn(this,PD(t));case 2:return void Len(this,HB(t,19).a);case 3:return void pOn(this,HB(t,1940));case 4:return void Bin(this,PD(t))}Nbn(this,n-wX((pWn(),h$t)),rtn(HB(kan(this,16),26)||h$t,n),t)},SWn.zh=function(){return pWn(),h$t},SWn.Bh=function(n){switch(n){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),void hqn(this.Ab);case 1:return void xrn(this,null);case 2:return void Len(this,0);case 3:return void pOn(this,null);case 4:return void Bin(this,null)}Gfn(this,n-wX((pWn(),h$t)),rtn(HB(kan(this,16),26)||h$t,n))},SWn.Ib=function(){var n;return null==(n=this.c)?this.zb:n},SWn.b=null,SWn.c=null,SWn.d=0,mX(b6n,"EEnumLiteralImpl",573);var N$t,x$t,D$t,R$t=wq(b6n,"EFactoryImpl/InternalEDateTimeFormat");dAn(489,1,{2015:1},mp),mX(b6n,"EFactoryImpl/1ClientInternalEDateTimeFormat",489),dAn(241,115,{105:1,92:1,90:1,87:1,56:1,108:1,49:1,97:1,241:1,114:1,115:1},_p),SWn.Sg=function(n,t,e){var i;return e=M_n(this,n,t,e),this.e&&aL(n,170)&&(i=jLn(this,this.e))!=this.c&&(e=uzn(this,i,e)),e},SWn._g=function(n,t,e){switch(n){case 0:return this.f;case 1:return!this.d&&(this.d=new LL(QAt,this,1)),this.d;case 2:return t?bFn(this):this.c;case 3:return this.b;case 4:return this.e;case 5:return t?Gvn(this):this.a}return X9(this,n-wX((pWn(),l$t)),rtn(HB(kan(this,16),26)||l$t,n),t,e)},SWn.jh=function(n,t,e){switch(t){case 0:return tfn(this,null,e);case 1:return!this.d&&(this.d=new LL(QAt,this,1)),Fpn(this.d,n,e);case 3:return nfn(this,null,e)}return HB(rtn(HB(kan(this,16),26)||(pWn(),l$t),t),66).Nj().Rj(this,lgn(this),t-wX((pWn(),l$t)),n,e)},SWn.lh=function(n){switch(n){case 0:return!!this.f;case 1:return!!this.d&&0!=this.d.i;case 2:return!!this.c;case 3:return!!this.b;case 4:return!!this.e;case 5:return!!this.a}return A3(this,n-wX((pWn(),l$t)),rtn(HB(kan(this,16),26)||l$t,n))},SWn.sh=function(n,t){switch(n){case 0:return void EEn(this,HB(t,87));case 1:return!this.d&&(this.d=new LL(QAt,this,1)),hqn(this.d),!this.d&&(this.d=new LL(QAt,this,1)),void vX(this.d,HB(t,14));case 3:return void jEn(this,HB(t,87));case 4:return void RMn(this,HB(t,836));case 5:return void aen(this,HB(t,138))}Nbn(this,n-wX((pWn(),l$t)),rtn(HB(kan(this,16),26)||l$t,n),t)},SWn.zh=function(){return pWn(),l$t},SWn.Bh=function(n){switch(n){case 0:return void EEn(this,null);case 1:return!this.d&&(this.d=new LL(QAt,this,1)),void hqn(this.d);case 3:return void jEn(this,null);case 4:return void RMn(this,null);case 5:return void aen(this,null)}Gfn(this,n-wX((pWn(),l$t)),rtn(HB(kan(this,16),26)||l$t,n))},SWn.Ib=function(){var n;return(n=new bN(I$n(this))).a+=" (expression: ",wHn(this,n),n.a+=")",n.a},mX(b6n,"EGenericTypeImpl",241),dAn(1969,1964,G9n),SWn.Xh=function(n,t){tR(this,n,t)},SWn.lk=function(n,t){return tR(this,this.gc(),n),t},SWn.pi=function(n){return Rpn(this.Gi(),n)},SWn.Zh=function(){return this.$h()},SWn.Gi=function(){return new Ip(this)},SWn.$h=function(){return this._h(0)},SWn._h=function(n){return this.Gi().Zc(n)},SWn.mk=function(n,t){return kwn(this,n,!0),t},SWn.ii=function(n,t){var e;return e=ekn(this,t),this.Zc(n).Rb(e),e},SWn.ji=function(n,t){kwn(this,t,!0),this.Zc(n).Rb(t)},mX(k9n,"AbstractSequentialInternalEList",1969),dAn(486,1969,G9n,YN),SWn.pi=function(n){return Rpn(this.Gi(),n)},SWn.Zh=function(){return null==this.b?(JM(),JM(),D$t):this.Jk()},SWn.Gi=function(){return new RO(this.a,this.b)},SWn.$h=function(){return null==this.b?(JM(),JM(),D$t):this.Jk()},SWn._h=function(n){var t,e;if(null==this.b){if(n<0||n>1)throw qp(new $y(i9n+n+", size=0"));return JM(),JM(),D$t}for(e=this.Jk(),t=0;t0;)if(t=this.c[--this.d],(!this.e||t.Gj()!=xOt||0!=t.aj())&&(!this.Mk()||this.b.mh(t)))if(c=this.b.bh(t,this.Lk()),this.f=(nS(),HB(t,66).Oj()),this.f||t.$j()){if(this.Lk()?(i=HB(c,15),this.k=i):(i=HB(c,69),this.k=this.j=i),aL(this.k,54)?(this.o=this.k.gc(),this.n=this.o):this.p=this.j?this.j._h(this.k.gc()):this.k.Zc(this.k.gc()),this.p?EPn(this,this.p):dIn(this))return r=this.p?this.p.Ub():this.j?this.j.pi(--this.n):this.k.Xb(--this.n),this.f?((n=HB(r,72)).ak(),e=n.dd(),this.i=e):(e=r,this.i=e),this.g=-3,!0}else if(null!=c)return this.k=null,this.p=null,e=c,this.i=e,this.g=-2,!0;return this.k=null,this.p=null,this.g=-1,!1}},SWn.Pb=function(){return San(this)},SWn.Tb=function(){return this.a},SWn.Ub=function(){var n;if(this.g<-1||this.Sb())return--this.a,this.g=0,n=this.i,this.Sb(),n;throw qp(new kv)},SWn.Vb=function(){return this.a-1},SWn.Qb=function(){throw qp(new vv)},SWn.Lk=function(){return!1},SWn.Wb=function(n){throw qp(new vv)},SWn.Mk=function(){return!0},SWn.a=0,SWn.d=0,SWn.f=!1,SWn.g=0,SWn.n=0,SWn.o=0,mX(k9n,"EContentsEList/FeatureIteratorImpl",279),dAn(697,279,z9n,Qx),SWn.Lk=function(){return!0},mX(k9n,"EContentsEList/ResolvingFeatureIteratorImpl",697),dAn(1157,697,z9n,Jx),SWn.Mk=function(){return!1},mX(b6n,"ENamedElementImpl/1/1",1157),dAn(1158,279,z9n,Yx),SWn.Mk=function(){return!1},mX(b6n,"ENamedElementImpl/1/2",1158),dAn(36,143,e9n,l4,b4,tU,j9,x7,e6,qen,P0,Gen,I0,Z5,C0,Xen,O0,n6,A0,zen,$0,eU,E9,zQ,Uen,L0,t6,N0),SWn._i=function(){return f9(this)},SWn.gj=function(){var n;return(n=f9(this))?n.zj():null},SWn.yi=function(n){return-1==this.b&&this.a&&(this.b=this.c.Xg(this.a.aj(),this.a.Gj())),this.c.Og(this.b,n)},SWn.Ai=function(){return this.c},SWn.hj=function(){var n;return!!(n=f9(this))&&n.Kj()},SWn.b=-1,mX(b6n,"ENotificationImpl",36),dAn(399,284,{105:1,92:1,90:1,147:1,191:1,56:1,59:1,108:1,472:1,49:1,97:1,150:1,399:1,284:1,114:1,115:1},Lm),SWn.Qg=function(n){return Ikn(this,n)},SWn._g=function(n,t,e){var i;switch(n){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),this.Ab;case 1:return this.zb;case 2:return fN(),0!=(256&this.Bb);case 3:return fN(),0!=(512&this.Bb);case 4:return rln(this.s);case 5:return rln(this.t);case 6:return fN(),(i=this.t)>1||-1==i;case 7:return fN(),this.s>=1;case 8:return t?Okn(this):this.r;case 9:return this.q;case 10:return this.Db>>16==10?HB(this.Cb,26):null;case 11:return!this.d&&(this.d=new xL(A$t,this,11)),this.d;case 12:return!this.c&&(this.c=new iU(JAt,this,12,10)),this.c;case 13:return!this.a&&(this.a=new sR(this,this)),this.a;case 14:return q7(this)}return X9(this,n-wX((pWn(),p$t)),rtn(HB(kan(this,16),26)||p$t,n),t,e)},SWn.hh=function(n,t,e){var i;switch(t){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),Jwn(this.Ab,n,e);case 10:return this.Cb&&(e=(i=this.Db>>16)>=0?Ikn(this,e):this.Cb.ih(this,-1-i,null,e)),M_n(this,n,10,e);case 12:return!this.c&&(this.c=new iU(JAt,this,12,10)),Jwn(this.c,n,e)}return HB(rtn(HB(kan(this,16),26)||(pWn(),p$t),t),66).Nj().Qj(this,lgn(this),t-wX((pWn(),p$t)),n,e)},SWn.jh=function(n,t,e){switch(t){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),Fpn(this.Ab,n,e);case 9:return pX(this,e);case 10:return M_n(this,null,10,e);case 11:return!this.d&&(this.d=new xL(A$t,this,11)),Fpn(this.d,n,e);case 12:return!this.c&&(this.c=new iU(JAt,this,12,10)),Fpn(this.c,n,e);case 14:return Fpn(q7(this),n,e)}return HB(rtn(HB(kan(this,16),26)||(pWn(),p$t),t),66).Nj().Rj(this,lgn(this),t-wX((pWn(),p$t)),n,e)},SWn.lh=function(n){var t;switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return 0==(256&this.Bb);case 3:return 0==(512&this.Bb);case 4:return 0!=this.s;case 5:return 1!=this.t;case 6:return(t=this.t)>1||-1==t;case 7:return this.s>=1;case 8:return!!this.r&&!this.q.e&&0==kW(this.q).i;case 9:return!(!this.q||this.r&&!this.q.e&&0==kW(this.q).i);case 10:return!(this.Db>>16!=10||!HB(this.Cb,26));case 11:return!!this.d&&0!=this.d.i;case 12:return!!this.c&&0!=this.c.i;case 13:return!(!this.a||0==q7(this.a.a).i||this.b&&_vn(this.b));case 14:return!!this.b&&_vn(this.b)}return A3(this,n-wX((pWn(),p$t)),rtn(HB(kan(this,16),26)||p$t,n))},SWn.sh=function(n,t){var e;switch(n){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),hqn(this.Ab),!this.Ab&&(this.Ab=new iU(_At,this,0,3)),void vX(this.Ab,HB(t,14));case 1:return void xrn(this,PD(t));case 2:return void Jfn(this,Gy(MD(t)));case 3:return void tln(this,Gy(MD(t)));case 4:return void Nen(this,HB(t,19).a);case 5:return void xen(this,HB(t,19).a);case 8:return void Ohn(this,HB(t,138));case 9:return void((e=qTn(this,HB(t,87),null))&&e.Fi());case 11:return!this.d&&(this.d=new xL(A$t,this,11)),hqn(this.d),!this.d&&(this.d=new xL(A$t,this,11)),void vX(this.d,HB(t,14));case 12:return!this.c&&(this.c=new iU(JAt,this,12,10)),hqn(this.c),!this.c&&(this.c=new iU(JAt,this,12,10)),void vX(this.c,HB(t,14));case 13:return!this.a&&(this.a=new sR(this,this)),mqn(this.a),!this.a&&(this.a=new sR(this,this)),void vX(this.a,HB(t,14));case 14:return hqn(q7(this)),void vX(q7(this),HB(t,14))}Nbn(this,n-wX((pWn(),p$t)),rtn(HB(kan(this,16),26)||p$t,n),t)},SWn.zh=function(){return pWn(),p$t},SWn.Bh=function(n){var t;switch(n){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),void hqn(this.Ab);case 1:return void xrn(this,null);case 2:return void Jfn(this,!0);case 3:return void tln(this,!0);case 4:return void Nen(this,0);case 5:return void xen(this,1);case 8:return void Ohn(this,null);case 9:return void((t=qTn(this,null,null))&&t.Fi());case 11:return!this.d&&(this.d=new xL(A$t,this,11)),void hqn(this.d);case 12:return!this.c&&(this.c=new iU(JAt,this,12,10)),void hqn(this.c);case 13:return void(this.a&&mqn(this.a));case 14:return void(this.b&&hqn(this.b))}Gfn(this,n-wX((pWn(),p$t)),rtn(HB(kan(this,16),26)||p$t,n))},SWn.Gh=function(){var n,t;if(this.c)for(n=0,t=this.c.i;ni&&LX(n,i,null),e=0,t=new $L(q7(this.a));t.e!=t.i.gc();)LX(n,e++,HB(jpn(t),87).c||(pWn(),b$t));return n},SWn.Yi=function(){var n,t,e,i;for((i=new Pk).a+="[",n=q7(this.a),t=0,e=q7(this.a).i;t1);case 5:return kZ(this,n,t,e,i,this.i-HB(e,15).gc()>0);default:return new x7(this.e,n,this.c,t,e,i,!0)}},SWn.ij=function(){return!0},SWn.fj=function(){return _vn(this)},SWn.Xj=function(){hqn(this)},mX(b6n,"EOperationImpl/2",1341),dAn(498,1,{1938:1,498:1},AC),mX(b6n,"EPackageImpl/1",498),dAn(16,85,K9n,iU),SWn.zk=function(){return this.d},SWn.Ak=function(){return this.b},SWn.Dk=function(){return!0},SWn.b=0,mX(k9n,"EObjectContainmentWithInverseEList",16),dAn(353,16,K9n,iK),SWn.Ek=function(){return!0},SWn.li=function(n,t){return zOn(this,n,HB(t,56))},mX(k9n,"EObjectContainmentWithInverseEList/Resolving",353),dAn(298,353,K9n,Zz),SWn.ci=function(){this.a.tb=null},mX(b6n,"EPackageImpl/2",298),dAn(1228,1,{},Ao),mX(b6n,"EPackageImpl/3",1228),dAn(718,43,eYn,xm),SWn._b=function(n){return WC(n)?iY(this,n):!!$Y(this.f,n)},mX(b6n,"EPackageRegistryImpl",718),dAn(509,284,{105:1,92:1,90:1,147:1,191:1,56:1,2017:1,108:1,472:1,49:1,97:1,150:1,509:1,284:1,114:1,115:1},Nm),SWn.Qg=function(n){return Ckn(this,n)},SWn._g=function(n,t,e){var i;switch(n){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),this.Ab;case 1:return this.zb;case 2:return fN(),0!=(256&this.Bb);case 3:return fN(),0!=(512&this.Bb);case 4:return rln(this.s);case 5:return rln(this.t);case 6:return fN(),(i=this.t)>1||-1==i;case 7:return fN(),this.s>=1;case 8:return t?Okn(this):this.r;case 9:return this.q;case 10:return this.Db>>16==10?HB(this.Cb,59):null}return X9(this,n-wX((pWn(),y$t)),rtn(HB(kan(this,16),26)||y$t,n),t,e)},SWn.hh=function(n,t,e){var i;switch(t){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),Jwn(this.Ab,n,e);case 10:return this.Cb&&(e=(i=this.Db>>16)>=0?Ckn(this,e):this.Cb.ih(this,-1-i,null,e)),M_n(this,n,10,e)}return HB(rtn(HB(kan(this,16),26)||(pWn(),y$t),t),66).Nj().Qj(this,lgn(this),t-wX((pWn(),y$t)),n,e)},SWn.jh=function(n,t,e){switch(t){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),Fpn(this.Ab,n,e);case 9:return pX(this,e);case 10:return M_n(this,null,10,e)}return HB(rtn(HB(kan(this,16),26)||(pWn(),y$t),t),66).Nj().Rj(this,lgn(this),t-wX((pWn(),y$t)),n,e)},SWn.lh=function(n){var t;switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return 0==(256&this.Bb);case 3:return 0==(512&this.Bb);case 4:return 0!=this.s;case 5:return 1!=this.t;case 6:return(t=this.t)>1||-1==t;case 7:return this.s>=1;case 8:return!!this.r&&!this.q.e&&0==kW(this.q).i;case 9:return!(!this.q||this.r&&!this.q.e&&0==kW(this.q).i);case 10:return!(this.Db>>16!=10||!HB(this.Cb,59))}return A3(this,n-wX((pWn(),y$t)),rtn(HB(kan(this,16),26)||y$t,n))},SWn.zh=function(){return pWn(),y$t},mX(b6n,"EParameterImpl",509),dAn(99,449,{105:1,92:1,90:1,147:1,191:1,56:1,18:1,170:1,66:1,108:1,472:1,49:1,97:1,150:1,99:1,449:1,284:1,114:1,115:1,677:1},vD),SWn._g=function(n,t,e){var i,r;switch(n){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),this.Ab;case 1:return this.zb;case 2:return fN(),0!=(256&this.Bb);case 3:return fN(),0!=(512&this.Bb);case 4:return rln(this.s);case 5:return rln(this.t);case 6:return fN(),(r=this.t)>1||-1==r;case 7:return fN(),this.s>=1;case 8:return t?Okn(this):this.r;case 9:return this.q;case 10:return fN(),0!=(this.Bb&j6n);case 11:return fN(),0!=(this.Bb&S9n);case 12:return fN(),0!=(this.Bb&FQn);case 13:return this.j;case 14:return GLn(this);case 15:return fN(),0!=(this.Bb&M9n);case 16:return fN(),0!=(this.Bb&fVn);case 17:return gZ(this);case 18:return fN(),0!=(this.Bb&f6n);case 19:return fN(),!(!(i=Cvn(this))||0==(i.Bb&f6n));case 20:return fN(),0!=(this.Bb&HQn);case 21:return t?Cvn(this):this.b;case 22:return t?Oon(this):_5(this);case 23:return!this.a&&(this.a=new KL(HAt,this,23)),this.a}return X9(this,n-wX((pWn(),k$t)),rtn(HB(kan(this,16),26)||k$t,n),t,e)},SWn.lh=function(n){var t,e;switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return 0==(256&this.Bb);case 3:return 0==(512&this.Bb);case 4:return 0!=this.s;case 5:return 1!=this.t;case 6:return(e=this.t)>1||-1==e;case 7:return this.s>=1;case 8:return!!this.r&&!this.q.e&&0==kW(this.q).i;case 9:return!(!this.q||this.r&&!this.q.e&&0==kW(this.q).i);case 10:return 0==(this.Bb&j6n);case 11:return 0!=(this.Bb&S9n);case 12:return 0!=(this.Bb&FQn);case 13:return null!=this.j;case 14:return null!=GLn(this);case 15:return 0!=(this.Bb&M9n);case 16:return 0!=(this.Bb&fVn);case 17:return!!gZ(this);case 18:return 0!=(this.Bb&f6n);case 19:return!!(t=Cvn(this))&&0!=(t.Bb&f6n);case 20:return 0==(this.Bb&HQn);case 21:return!!this.b;case 22:return!!_5(this);case 23:return!!this.a&&0!=this.a.i}return A3(this,n-wX((pWn(),k$t)),rtn(HB(kan(this,16),26)||k$t,n))},SWn.sh=function(n,t){var e;switch(n){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),hqn(this.Ab),!this.Ab&&(this.Ab=new iU(_At,this,0,3)),void vX(this.Ab,HB(t,14));case 1:return void ZZ(this,PD(t));case 2:return void Jfn(this,Gy(MD(t)));case 3:return void tln(this,Gy(MD(t)));case 4:return void Nen(this,HB(t,19).a);case 5:return void xen(this,HB(t,19).a);case 8:return void Ohn(this,HB(t,138));case 9:return void((e=qTn(this,HB(t,87),null))&&e.Fi());case 10:return void $ln(this,Gy(MD(t)));case 11:return void xln(this,Gy(MD(t)));case 12:return void Lln(this,Gy(MD(t)));case 13:return void FC(this,PD(t));case 15:return void Nln(this,Gy(MD(t)));case 16:return void Gln(this,Gy(MD(t)));case 18:return void JZ(this,Gy(MD(t)));case 20:return void Xln(this,Gy(MD(t)));case 21:return void crn(this,HB(t,18));case 23:return!this.a&&(this.a=new KL(HAt,this,23)),hqn(this.a),!this.a&&(this.a=new KL(HAt,this,23)),void vX(this.a,HB(t,14))}Nbn(this,n-wX((pWn(),k$t)),rtn(HB(kan(this,16),26)||k$t,n),t)},SWn.zh=function(){return pWn(),k$t},SWn.Bh=function(n){var t;switch(n){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),void hqn(this.Ab);case 1:return aL(this.Cb,88)&&$In(I5(HB(this.Cb,88)),4),void xrn(this,null);case 2:return void Jfn(this,!0);case 3:return void tln(this,!0);case 4:return void Nen(this,0);case 5:return void xen(this,1);case 8:return void Ohn(this,null);case 9:return void((t=qTn(this,null,null))&&t.Fi());case 10:return void $ln(this,!0);case 11:return void xln(this,!1);case 12:return void Lln(this,!1);case 13:return this.i=null,void urn(this,null);case 15:return void Nln(this,!1);case 16:return void Gln(this,!1);case 18:return Uln(this,!1),void(aL(this.Cb,88)&&$In(I5(HB(this.Cb,88)),2));case 20:return void Xln(this,!0);case 21:return void crn(this,null);case 23:return!this.a&&(this.a=new KL(HAt,this,23)),void hqn(this.a)}Gfn(this,n-wX((pWn(),k$t)),rtn(HB(kan(this,16),26)||k$t,n))},SWn.Gh=function(){Oon(this),jV(H7((OPn(),nLt),this)),Okn(this),this.Bb|=1},SWn.Lj=function(){return Cvn(this)},SWn.qk=function(){var n;return!!(n=Cvn(this))&&0!=(n.Bb&f6n)},SWn.rk=function(){return 0!=(this.Bb&f6n)},SWn.sk=function(){return 0!=(this.Bb&HQn)},SWn.nk=function(n,t){return this.c=null,Ifn(this,n,t)},SWn.Ib=function(){var n;return 0!=(64&this.Db)?TRn(this):((n=new lN(TRn(this))).a+=" (containment: ",kE(n,0!=(this.Bb&f6n)),n.a+=", resolveProxies: ",kE(n,0!=(this.Bb&HQn)),n.a+=")",n.a)},mX(b6n,"EReferenceImpl",99),dAn(548,115,{105:1,42:1,92:1,90:1,133:1,56:1,108:1,49:1,97:1,548:1,114:1,115:1},$o),SWn.Fb=function(n){return this===n},SWn.cd=function(){return this.b},SWn.dd=function(){return this.c},SWn.Hb=function(){return IN(this)},SWn.Uh=function(n){mq(this,PD(n))},SWn.ed=function(n){return LH(this,PD(n))},SWn._g=function(n,t,e){switch(n){case 0:return this.b;case 1:return this.c}return X9(this,n-wX((pWn(),j$t)),rtn(HB(kan(this,16),26)||j$t,n),t,e)},SWn.lh=function(n){switch(n){case 0:return null!=this.b;case 1:return null!=this.c}return A3(this,n-wX((pWn(),j$t)),rtn(HB(kan(this,16),26)||j$t,n))},SWn.sh=function(n,t){switch(n){case 0:return void yq(this,PD(t));case 1:return void _in(this,PD(t))}Nbn(this,n-wX((pWn(),j$t)),rtn(HB(kan(this,16),26)||j$t,n),t)},SWn.zh=function(){return pWn(),j$t},SWn.Bh=function(n){switch(n){case 0:return void Kin(this,null);case 1:return void _in(this,null)}Gfn(this,n-wX((pWn(),j$t)),rtn(HB(kan(this,16),26)||j$t,n))},SWn.Sh=function(){var n;return-1==this.a&&(n=this.b,this.a=null==n?0:mvn(n)),this.a},SWn.Th=function(n){this.a=n},SWn.Ib=function(){var n;return 0!=(64&this.Db)?I$n(this):((n=new lN(I$n(this))).a+=" (key: ",aO(n,this.b),n.a+=", value: ",aO(n,this.c),n.a+=")",n.a)},SWn.a=-1,SWn.b=null,SWn.c=null;var K$t,_$t,F$t,B$t,H$t,q$t,G$t,z$t,U$t,X$t,W$t=mX(b6n,"EStringToStringMapEntryImpl",548),V$t=wq(k9n,"FeatureMap/Entry/Internal");dAn(565,1,U9n),SWn.Ok=function(n){return this.Pk(HB(n,49))},SWn.Pk=function(n){return this.Ok(n)},SWn.Fb=function(n){var t,e;return this===n||!!aL(n,72)&&(t=HB(n,72)).ak()==this.c&&(null==(e=this.dd())?null==t.dd():xfn(e,t.dd()))},SWn.ak=function(){return this.c},SWn.Hb=function(){var n;return n=this.dd(),tsn(this.c)^(null==n?0:tsn(n))},SWn.Ib=function(){var n,t;return t=Xtn((n=this.c).Hj()).Ph(),n.ne(),(null!=t&&0!=t.length?t+":"+n.ne():n.ne())+"="+this.dd()},mX(b6n,"EStructuralFeatureImpl/BasicFeatureMapEntry",565),dAn(776,565,U9n,cR),SWn.Pk=function(n){return new cR(this.c,n)},SWn.dd=function(){return this.a},SWn.Qk=function(n,t,e){return Pcn(this,n,this.a,t,e)},SWn.Rk=function(n,t,e){return Icn(this,n,this.a,t,e)},mX(b6n,"EStructuralFeatureImpl/ContainmentUpdatingFeatureMapEntry",776),dAn(1314,1,{},$C),SWn.Pj=function(n,t,e,i,r){return HB(P9(n,this.b),215).nl(this.a).Wj(i)},SWn.Qj=function(n,t,e,i,r){return HB(P9(n,this.b),215).el(this.a,i,r)},SWn.Rj=function(n,t,e,i,r){return HB(P9(n,this.b),215).fl(this.a,i,r)},SWn.Sj=function(n,t,e){return HB(P9(n,this.b),215).nl(this.a).fj()},SWn.Tj=function(n,t,e,i){HB(P9(n,this.b),215).nl(this.a).Wb(i)},SWn.Uj=function(n,t,e){return HB(P9(n,this.b),215).nl(this.a)},SWn.Vj=function(n,t,e){HB(P9(n,this.b),215).nl(this.a).Xj()},mX(b6n,"EStructuralFeatureImpl/InternalSettingDelegateFeatureMapDelegator",1314),dAn(89,1,{},IB,bQ,KY,d4),SWn.Pj=function(n,t,e,i,r){var c;if(null==(c=t.Ch(e))&&t.Dh(e,c=rWn(this,n)),!r)switch(this.e){case 50:case 41:return HB(c,589).sj();case 40:return HB(c,215).kl()}return c},SWn.Qj=function(n,t,e,i,r){var c;return null==(c=t.Ch(e))&&t.Dh(e,c=rWn(this,n)),HB(c,69).lk(i,r)},SWn.Rj=function(n,t,e,i,r){var c;return null!=(c=t.Ch(e))&&(r=HB(c,69).mk(i,r)),r},SWn.Sj=function(n,t,e){var i;return null!=(i=t.Ch(e))&&HB(i,76).fj()},SWn.Tj=function(n,t,e,i){var r;!(r=HB(t.Ch(e),76))&&t.Dh(e,r=rWn(this,n)),r.Wb(i)},SWn.Uj=function(n,t,e){var i;return null==(i=t.Ch(e))&&t.Dh(e,i=rWn(this,n)),aL(i,76)?HB(i,76):new Tp(HB(t.Ch(e),15))},SWn.Vj=function(n,t,e){var i;!(i=HB(t.Ch(e),76))&&t.Dh(e,i=rWn(this,n)),i.Xj()},SWn.b=0,SWn.e=0,mX(b6n,"EStructuralFeatureImpl/InternalSettingDelegateMany",89),dAn(504,1,{}),SWn.Qj=function(n,t,e,i,r){throw qp(new vv)},SWn.Rj=function(n,t,e,i,r){throw qp(new vv)},SWn.Uj=function(n,t,e){return new wQ(this,n,t,e)},mX(b6n,"EStructuralFeatureImpl/InternalSettingDelegateSingle",504),dAn(1331,1,j9n,wQ),SWn.Wj=function(n){return this.a.Pj(this.c,this.d,this.b,n,!0)},SWn.fj=function(){return this.a.Sj(this.c,this.d,this.b)},SWn.Wb=function(n){this.a.Tj(this.c,this.d,this.b,n)},SWn.Xj=function(){this.a.Vj(this.c,this.d,this.b)},SWn.b=0,mX(b6n,"EStructuralFeatureImpl/InternalSettingDelegateSingle/1",1331),dAn(769,504,{},yJ),SWn.Pj=function(n,t,e,i,r){return pKn(n,n.eh(),n.Vg())==this.b?this.sk()&&i?aAn(n):n.eh():null},SWn.Qj=function(n,t,e,i,r){var c,a;return n.eh()&&(r=(c=n.Vg())>=0?n.Qg(r):n.eh().ih(n,-1-c,null,r)),a=$wn(n.Tg(),this.e),n.Sg(i,a,r)},SWn.Rj=function(n,t,e,i,r){var c;return c=$wn(n.Tg(),this.e),n.Sg(null,c,r)},SWn.Sj=function(n,t,e){var i;return i=$wn(n.Tg(),this.e),!!n.eh()&&n.Vg()==i},SWn.Tj=function(n,t,e,i){var r,c,a,u,o;if(null!=i&&!PFn(this.a,i))throw qp(new _y(X9n+(aL(i,56)?gEn(HB(i,56).Tg()):otn(esn(i)))+W9n+this.a+"'"));if(r=n.eh(),a=$wn(n.Tg(),this.e),zC(i)!==zC(r)||n.Vg()!=a&&null!=i){if(mkn(n,HB(i,56)))throw qp(new Fy(d6n+n.Ib()));o=null,r&&(o=(c=n.Vg())>=0?n.Qg(o):n.eh().ih(n,-1-c,null,o)),(u=HB(i,49))&&(o=u.gh(n,$wn(u.Tg(),this.b),null,o)),(o=n.Sg(u,a,o))&&o.Fi()}else n.Lg()&&n.Mg()&&wan(n,new tU(n,1,a,i,i))},SWn.Vj=function(n,t,e){var i,r,c;n.eh()?(c=(i=n.Vg())>=0?n.Qg(null):n.eh().ih(n,-1-i,null,null),r=$wn(n.Tg(),this.e),(c=n.Sg(null,r,c))&&c.Fi()):n.Lg()&&n.Mg()&&wan(n,new eU(n,1,this.e,null,null))},SWn.sk=function(){return!1},mX(b6n,"EStructuralFeatureImpl/InternalSettingDelegateSingleContainer",769),dAn(1315,769,{},CB),SWn.sk=function(){return!0},mX(b6n,"EStructuralFeatureImpl/InternalSettingDelegateSingleContainerResolving",1315),dAn(563,504,{}),SWn.Pj=function(n,t,e,i,r){var c;return null==(c=t.Ch(e))?this.b:zC(c)===zC(K$t)?null:c},SWn.Sj=function(n,t,e){var i;return null!=(i=t.Ch(e))&&(zC(i)===zC(K$t)||!xfn(i,this.b))},SWn.Tj=function(n,t,e,i){var r,c;n.Lg()&&n.Mg()?(r=null==(c=t.Ch(e))?this.b:zC(c)===zC(K$t)?null:c,null==i?null!=this.c?(t.Dh(e,null),i=this.b):null!=this.b?t.Dh(e,K$t):t.Dh(e,null):(this.Sk(i),t.Dh(e,i)),wan(n,this.d.Tk(n,1,this.e,r,i))):null==i?null!=this.c?t.Dh(e,null):null!=this.b?t.Dh(e,K$t):t.Dh(e,null):(this.Sk(i),t.Dh(e,i))},SWn.Vj=function(n,t,e){var i,r;n.Lg()&&n.Mg()?(i=null==(r=t.Ch(e))?this.b:zC(r)===zC(K$t)?null:r,t.Eh(e),wan(n,this.d.Tk(n,1,this.e,i,this.b))):t.Eh(e)},SWn.Sk=function(n){throw qp(new wv)},mX(b6n,"EStructuralFeatureImpl/InternalSettingDelegateSingleData",563),dAn(V9n,1,{},Lo),SWn.Tk=function(n,t,e,i,r){return new eU(n,t,e,i,r)},SWn.Uk=function(n,t,e,i,r,c){return new zQ(n,t,e,i,r,c)},mX(b6n,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator",V9n),dAn(1332,V9n,{},No),SWn.Tk=function(n,t,e,i,r){return new t6(n,t,e,Gy(MD(i)),Gy(MD(r)))},SWn.Uk=function(n,t,e,i,r,c){return new N0(n,t,e,Gy(MD(i)),Gy(MD(r)),c)},mX(b6n,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/1",1332),dAn(1333,V9n,{},xo),SWn.Tk=function(n,t,e,i,r){return new qen(n,t,e,HB(i,217).a,HB(r,217).a)},SWn.Uk=function(n,t,e,i,r,c){return new P0(n,t,e,HB(i,217).a,HB(r,217).a,c)},mX(b6n,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/2",1333),dAn(1334,V9n,{},Do),SWn.Tk=function(n,t,e,i,r){return new Gen(n,t,e,HB(i,172).a,HB(r,172).a)},SWn.Uk=function(n,t,e,i,r,c){return new I0(n,t,e,HB(i,172).a,HB(r,172).a,c)},mX(b6n,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/3",1334),dAn(1335,V9n,{},Ro),SWn.Tk=function(n,t,e,i,r){return new Z5(n,t,e,zy(SD(i)),zy(SD(r)))},SWn.Uk=function(n,t,e,i,r,c){return new C0(n,t,e,zy(SD(i)),zy(SD(r)),c)},mX(b6n,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/4",1335),dAn(1336,V9n,{},Ko),SWn.Tk=function(n,t,e,i,r){return new Xen(n,t,e,HB(i,155).a,HB(r,155).a)},SWn.Uk=function(n,t,e,i,r,c){return new O0(n,t,e,HB(i,155).a,HB(r,155).a,c)},mX(b6n,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/5",1336),dAn(1337,V9n,{},_o),SWn.Tk=function(n,t,e,i,r){return new n6(n,t,e,HB(i,19).a,HB(r,19).a)},SWn.Uk=function(n,t,e,i,r,c){return new A0(n,t,e,HB(i,19).a,HB(r,19).a,c)},mX(b6n,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/6",1337),dAn(1338,V9n,{},Fo),SWn.Tk=function(n,t,e,i,r){return new zen(n,t,e,HB(i,162).a,HB(r,162).a)},SWn.Uk=function(n,t,e,i,r,c){return new $0(n,t,e,HB(i,162).a,HB(r,162).a,c)},mX(b6n,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/7",1338),dAn(1339,V9n,{},Bo),SWn.Tk=function(n,t,e,i,r){return new Uen(n,t,e,HB(i,184).a,HB(r,184).a)},SWn.Uk=function(n,t,e,i,r,c){return new L0(n,t,e,HB(i,184).a,HB(r,184).a,c)},mX(b6n,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/8",1339),dAn(1317,563,{},dQ),SWn.Sk=function(n){if(!this.a.wj(n))throw qp(new _y(X9n+esn(n)+W9n+this.a+"'"))},mX(b6n,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataDynamic",1317),dAn(1318,563,{},nz),SWn.Sk=function(n){},mX(b6n,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataStatic",1318),dAn(770,563,{}),SWn.Sj=function(n,t,e){return null!=t.Ch(e)},SWn.Tj=function(n,t,e,i){var r,c;n.Lg()&&n.Mg()?(r=!0,null==(c=t.Ch(e))?(r=!1,c=this.b):zC(c)===zC(K$t)&&(c=null),null==i?null!=this.c?(t.Dh(e,null),i=this.b):t.Dh(e,K$t):(this.Sk(i),t.Dh(e,i)),wan(n,this.d.Uk(n,1,this.e,c,i,!r))):null==i?null!=this.c?t.Dh(e,null):t.Dh(e,K$t):(this.Sk(i),t.Dh(e,i))},SWn.Vj=function(n,t,e){var i,r;n.Lg()&&n.Mg()?(i=!0,null==(r=t.Ch(e))?(i=!1,r=this.b):zC(r)===zC(K$t)&&(r=null),t.Eh(e),wan(n,this.d.Uk(n,2,this.e,r,this.b,i))):t.Eh(e)},mX(b6n,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettable",770),dAn(1319,770,{},gQ),SWn.Sk=function(n){if(!this.a.wj(n))throw qp(new _y(X9n+esn(n)+W9n+this.a+"'"))},mX(b6n,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableDynamic",1319),dAn(1320,770,{},tz),SWn.Sk=function(n){},mX(b6n,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableStatic",1320),dAn(398,504,{},aG),SWn.Pj=function(n,t,e,i,r){var c,a,u,o,s;if(s=t.Ch(e),this.Kj()&&zC(s)===zC(K$t))return null;if(this.sk()&&i&&null!=s){if((u=HB(s,49)).kh()&&u!=(o=efn(n,u))){if(!PFn(this.a,o))throw qp(new _y(X9n+esn(o)+W9n+this.a+"'"));t.Dh(e,s=o),this.rk()&&(c=HB(o,49),a=u.ih(n,this.b?$wn(u.Tg(),this.b):-1-$wn(n.Tg(),this.e),null,null),!c.eh()&&(a=c.gh(n,this.b?$wn(c.Tg(),this.b):-1-$wn(n.Tg(),this.e),null,a)),a&&a.Fi()),n.Lg()&&n.Mg()&&wan(n,new eU(n,9,this.e,u,o))}return s}return s},SWn.Qj=function(n,t,e,i,r){var c,a;return zC(a=t.Ch(e))===zC(K$t)&&(a=null),t.Dh(e,i),this.bj()?zC(a)!==zC(i)&&null!=a&&(r=(c=HB(a,49)).ih(n,$wn(c.Tg(),this.b),null,r)):this.rk()&&null!=a&&(r=HB(a,49).ih(n,-1-$wn(n.Tg(),this.e),null,r)),n.Lg()&&n.Mg()&&(!r&&(r=new Bj(4)),r.Ei(new eU(n,1,this.e,a,i))),r},SWn.Rj=function(n,t,e,i,r){var c;return zC(c=t.Ch(e))===zC(K$t)&&(c=null),t.Eh(e),n.Lg()&&n.Mg()&&(!r&&(r=new Bj(4)),this.Kj()?r.Ei(new eU(n,2,this.e,c,null)):r.Ei(new eU(n,1,this.e,c,null))),r},SWn.Sj=function(n,t,e){return null!=t.Ch(e)},SWn.Tj=function(n,t,e,i){var r,c,a,u,o;if(null!=i&&!PFn(this.a,i))throw qp(new _y(X9n+(aL(i,56)?gEn(HB(i,56).Tg()):otn(esn(i)))+W9n+this.a+"'"));u=null!=(o=t.Ch(e)),this.Kj()&&zC(o)===zC(K$t)&&(o=null),a=null,this.bj()?zC(o)!==zC(i)&&(null!=o&&(a=(r=HB(o,49)).ih(n,$wn(r.Tg(),this.b),null,a)),null!=i&&(a=(r=HB(i,49)).gh(n,$wn(r.Tg(),this.b),null,a))):this.rk()&&zC(o)!==zC(i)&&(null!=o&&(a=HB(o,49).ih(n,-1-$wn(n.Tg(),this.e),null,a)),null!=i&&(a=HB(i,49).gh(n,-1-$wn(n.Tg(),this.e),null,a))),null==i&&this.Kj()?t.Dh(e,K$t):t.Dh(e,i),n.Lg()&&n.Mg()?(c=new zQ(n,1,this.e,o,i,this.Kj()&&!u),a?(a.Ei(c),a.Fi()):wan(n,c)):a&&a.Fi()},SWn.Vj=function(n,t,e){var i,r,c,a,u;a=null!=(u=t.Ch(e)),this.Kj()&&zC(u)===zC(K$t)&&(u=null),c=null,null!=u&&(this.bj()?c=(i=HB(u,49)).ih(n,$wn(i.Tg(),this.b),null,c):this.rk()&&(c=HB(u,49).ih(n,-1-$wn(n.Tg(),this.e),null,c))),t.Eh(e),n.Lg()&&n.Mg()?(r=new zQ(n,this.Kj()?2:1,this.e,u,null,a),c?(c.Ei(r),c.Fi()):wan(n,r)):c&&c.Fi()},SWn.bj=function(){return!1},SWn.rk=function(){return!1},SWn.sk=function(){return!1},SWn.Kj=function(){return!1},mX(b6n,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObject",398),dAn(564,398,{},nD),SWn.rk=function(){return!0},mX(b6n,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainment",564),dAn(1323,564,{},tD),SWn.sk=function(){return!0},mX(b6n,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentResolving",1323),dAn(772,564,{},eD),SWn.Kj=function(){return!0},mX(b6n,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettable",772),dAn(1325,772,{},iD),SWn.sk=function(){return!0},mX(b6n,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettableResolving",1325),dAn(640,564,{},OB),SWn.bj=function(){return!0},mX(b6n,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverse",640),dAn(1324,640,{},LB),SWn.sk=function(){return!0},mX(b6n,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseResolving",1324),dAn(773,640,{},NB),SWn.Kj=function(){return!0},mX(b6n,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettable",773),dAn(1326,773,{},xB),SWn.sk=function(){return!0},mX(b6n,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettableResolving",1326),dAn(641,398,{},rD),SWn.sk=function(){return!0},mX(b6n,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolving",641),dAn(1327,641,{},cD),SWn.Kj=function(){return!0},mX(b6n,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingUnsettable",1327),dAn(774,641,{},AB),SWn.bj=function(){return!0},mX(b6n,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverse",774),dAn(1328,774,{},DB),SWn.Kj=function(){return!0},mX(b6n,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverseUnsettable",1328),dAn(1321,398,{},aD),SWn.Kj=function(){return!0},mX(b6n,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectUnsettable",1321),dAn(771,398,{},$B),SWn.bj=function(){return!0},mX(b6n,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverse",771),dAn(1322,771,{},RB),SWn.Kj=function(){return!0},mX(b6n,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverseUnsettable",1322),dAn(775,565,U9n,uW),SWn.Pk=function(n){return new uW(this.a,this.c,n)},SWn.dd=function(){return this.b},SWn.Qk=function(n,t,e){return R8(this,n,this.b,e)},SWn.Rk=function(n,t,e){return K8(this,n,this.b,e)},mX(b6n,"EStructuralFeatureImpl/InverseUpdatingFeatureMapEntry",775),dAn(1329,1,j9n,Tp),SWn.Wj=function(n){return this.a},SWn.fj=function(){return aL(this.a,95)?HB(this.a,95).fj():!this.a.dc()},SWn.Wb=function(n){this.a.$b(),this.a.Gc(HB(n,15))},SWn.Xj=function(){aL(this.a,95)?HB(this.a,95).Xj():this.a.$b()},mX(b6n,"EStructuralFeatureImpl/SettingMany",1329),dAn(1330,565,U9n,p4),SWn.Ok=function(n){return new aR((Xqn(),BLt),this.b.Ih(this.a,n))},SWn.dd=function(){return null},SWn.Qk=function(n,t,e){return e},SWn.Rk=function(n,t,e){return e},mX(b6n,"EStructuralFeatureImpl/SimpleContentFeatureMapEntry",1330),dAn(642,565,U9n,aR),SWn.Ok=function(n){return new aR(this.c,n)},SWn.dd=function(){return this.a},SWn.Qk=function(n,t,e){return e},SWn.Rk=function(n,t,e){return e},mX(b6n,"EStructuralFeatureImpl/SimpleFeatureMapEntry",642),dAn(391,497,f8n,Ho),SWn.ri=function(n){return D8(GAt,qWn,26,n,0,1)},SWn.ni=function(){return!1},mX(b6n,"ESuperAdapter/1",391),dAn(444,438,{105:1,92:1,90:1,147:1,191:1,56:1,108:1,836:1,49:1,97:1,150:1,444:1,114:1,115:1},qo),SWn._g=function(n,t,e){switch(n){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),this.Ab;case 1:return this.zb;case 2:return!this.a&&(this.a=new uG(this,QAt,this)),this.a}return X9(this,n-wX((pWn(),M$t)),rtn(HB(kan(this,16),26)||M$t,n),t,e)},SWn.jh=function(n,t,e){switch(t){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),Fpn(this.Ab,n,e);case 2:return!this.a&&(this.a=new uG(this,QAt,this)),Fpn(this.a,n,e)}return HB(rtn(HB(kan(this,16),26)||(pWn(),M$t),t),66).Nj().Rj(this,lgn(this),t-wX((pWn(),M$t)),n,e)},SWn.lh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return!!this.a&&0!=this.a.i}return A3(this,n-wX((pWn(),M$t)),rtn(HB(kan(this,16),26)||M$t,n))},SWn.sh=function(n,t){switch(n){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),hqn(this.Ab),!this.Ab&&(this.Ab=new iU(_At,this,0,3)),void vX(this.Ab,HB(t,14));case 1:return void xrn(this,PD(t));case 2:return!this.a&&(this.a=new uG(this,QAt,this)),hqn(this.a),!this.a&&(this.a=new uG(this,QAt,this)),void vX(this.a,HB(t,14))}Nbn(this,n-wX((pWn(),M$t)),rtn(HB(kan(this,16),26)||M$t,n),t)},SWn.zh=function(){return pWn(),M$t},SWn.Bh=function(n){switch(n){case 0:return!this.Ab&&(this.Ab=new iU(_At,this,0,3)),void hqn(this.Ab);case 1:return void xrn(this,null);case 2:return!this.a&&(this.a=new uG(this,QAt,this)),void hqn(this.a)}Gfn(this,n-wX((pWn(),M$t)),rtn(HB(kan(this,16),26)||M$t,n))},mX(b6n,"ETypeParameterImpl",444),dAn(445,85,K9n,uG),SWn.cj=function(n,t){return NTn(this,HB(n,87),t)},SWn.dj=function(n,t){return xTn(this,HB(n,87),t)},mX(b6n,"ETypeParameterImpl/1",445),dAn(634,43,eYn,Dm),SWn.ec=function(){return new Mp(this)},mX(b6n,"ETypeParameterImpl/2",634),dAn(556,tVn,eVn,Mp),SWn.Fc=function(n){return JR(this,HB(n,87))},SWn.Gc=function(n){var t,e,i;for(i=!1,e=n.Kc();e.Ob();)t=HB(e.Pb(),87),null==QW(this.a,t,"")&&(i=!0);return i},SWn.$b=function(){LU(this.a)},SWn.Hc=function(n){return fU(this.a,n)},SWn.Kc=function(){return new Sp(new osn(new Ib(this.a).a))},SWn.Mc=function(n){return F6(this,n)},SWn.gc=function(){return xT(this.a)},mX(b6n,"ETypeParameterImpl/2/1",556),dAn(557,1,YWn,Sp),SWn.Nb=function(n){lU(this,n)},SWn.Pb=function(){return HB(een(this.a).cd(),87)},SWn.Ob=function(){return this.a.b},SWn.Qb=function(){s9(this.a)},mX(b6n,"ETypeParameterImpl/2/1/1",557),dAn(1276,43,eYn,Rm),SWn._b=function(n){return WC(n)?iY(this,n):!!$Y(this.f,n)},SWn.xc=function(n){var t;return aL(t=WC(n)?PJ(this,n):GC($Y(this.f,n)),837)?(t=HB(t,837)._j(),QW(this,HB(n,235),t),t):null!=t?t:null==n?(ZM(),cLt):null},mX(b6n,"EValidatorRegistryImpl",1276),dAn(1313,704,{105:1,92:1,90:1,471:1,147:1,56:1,108:1,1941:1,49:1,97:1,150:1,114:1,115:1},Go),SWn.Ih=function(n,t){switch(n.yj()){case 21:case 22:case 23:case 24:case 26:case 31:case 32:case 37:case 38:case 39:case 40:case 43:case 44:case 48:case 49:case 20:return null==t?null:Hbn(t);case 25:return Wtn(t);case 27:return W9(t);case 28:return V9(t);case 29:return null==t?null:q$(OOt[0],HB(t,199));case 41:return null==t?"":tE(HB(t,290));case 42:return Hbn(t);case 50:return PD(t);default:throw qp(new Fy(g6n+n.ne()+p6n))}},SWn.Jh=function(n){var t;switch(-1==n.G&&(n.G=(t=Xtn(n))?ovn(t.Mh(),n):-1),n.G){case 0:return new Am;case 1:return new Eo;case 2:return new Ff;case 4:return new Tv;case 5:return new $m;case 6:return new Ev;case 7:return new Kf;case 10:return new ko;case 11:return new Lm;case 12:return new mY;case 13:return new Nm;case 14:return new vD;case 17:return new $o;case 18:return new _p;case 19:return new qo;default:throw qp(new Fy(y6n+n.zb+p6n))}},SWn.Kh=function(n,t){switch(n.yj()){case 20:return null==t?null:new dE(t);case 21:return null==t?null:new LA(t);case 23:case 22:return null==t?null:ngn(t);case 26:case 24:return null==t?null:Inn(b_n(t,-128,127)<<24>>24);case 25:return g$n(t);case 27:return Pyn(t);case 28:return Iyn(t);case 29:return pMn(t);case 32:case 31:return null==t?null:wSn(t);case 38:case 37:return null==t?null:new Rv(t);case 40:case 39:return null==t?null:rln(b_n(t,FVn,RWn));case 41:case 42:return null;case 44:case 43:return null==t?null:Egn(cUn(t));case 49:case 48:return null==t?null:cln(b_n(t,Y9n,32767)<<16>>16);case 50:return t;default:throw qp(new Fy(g6n+n.ne()+p6n))}},mX(b6n,"EcoreFactoryImpl",1313),dAn(547,179,{105:1,92:1,90:1,147:1,191:1,56:1,235:1,108:1,1939:1,49:1,97:1,150:1,179:1,547:1,114:1,115:1,675:1},XW),SWn.gb=!1,SWn.hb=!1;var Q$t,Y$t=!1;mX(b6n,"EcorePackageImpl",547),dAn(1184,1,{837:1},zo),SWn._j=function(){return hN(),aLt},mX(b6n,"EcorePackageImpl/1",1184),dAn(1193,1,h7n,Uo),SWn.wj=function(n){return aL(n,147)},SWn.xj=function(n){return D8(HOt,qWn,147,n,0,1)},mX(b6n,"EcorePackageImpl/10",1193),dAn(1194,1,h7n,Xo),SWn.wj=function(n){return aL(n,191)},SWn.xj=function(n){return D8(GOt,qWn,191,n,0,1)},mX(b6n,"EcorePackageImpl/11",1194),dAn(1195,1,h7n,Wo),SWn.wj=function(n){return aL(n,56)},SWn.xj=function(n){return D8(NOt,qWn,56,n,0,1)},mX(b6n,"EcorePackageImpl/12",1195),dAn(1196,1,h7n,Vo),SWn.wj=function(n){return aL(n,399)},SWn.xj=function(n){return D8(YAt,D9n,59,n,0,1)},mX(b6n,"EcorePackageImpl/13",1196),dAn(1197,1,h7n,Qo),SWn.wj=function(n){return aL(n,235)},SWn.xj=function(n){return D8(zOt,qWn,235,n,0,1)},mX(b6n,"EcorePackageImpl/14",1197),dAn(1198,1,h7n,Yo),SWn.wj=function(n){return aL(n,509)},SWn.xj=function(n){return D8(JAt,qWn,2017,n,0,1)},mX(b6n,"EcorePackageImpl/15",1198),dAn(1199,1,h7n,Jo),SWn.wj=function(n){return aL(n,99)},SWn.xj=function(n){return D8(ZAt,x9n,18,n,0,1)},mX(b6n,"EcorePackageImpl/16",1199),dAn(1200,1,h7n,Zo),SWn.wj=function(n){return aL(n,170)},SWn.xj=function(n){return D8(BAt,x9n,170,n,0,1)},mX(b6n,"EcorePackageImpl/17",1200),dAn(1201,1,h7n,ns),SWn.wj=function(n){return aL(n,472)},SWn.xj=function(n){return D8(FAt,qWn,472,n,0,1)},mX(b6n,"EcorePackageImpl/18",1201),dAn(1202,1,h7n,ts),SWn.wj=function(n){return aL(n,548)},SWn.xj=function(n){return D8(W$t,u9n,548,n,0,1)},mX(b6n,"EcorePackageImpl/19",1202),dAn(1185,1,h7n,es),SWn.wj=function(n){return aL(n,322)},SWn.xj=function(n){return D8(HAt,x9n,34,n,0,1)},mX(b6n,"EcorePackageImpl/2",1185),dAn(1203,1,h7n,is),SWn.wj=function(n){return aL(n,241)},SWn.xj=function(n){return D8(QAt,H9n,87,n,0,1)},mX(b6n,"EcorePackageImpl/20",1203),dAn(1204,1,h7n,rs),SWn.wj=function(n){return aL(n,444)},SWn.xj=function(n){return D8(A$t,qWn,836,n,0,1)},mX(b6n,"EcorePackageImpl/21",1204),dAn(1205,1,h7n,cs),SWn.wj=function(n){return UC(n)},SWn.xj=function(n){return D8(jtt,hVn,476,n,8,1)},mX(b6n,"EcorePackageImpl/22",1205),dAn(1206,1,h7n,as),SWn.wj=function(n){return aL(n,190)},SWn.xj=function(n){return D8(xNt,hVn,190,n,0,2)},mX(b6n,"EcorePackageImpl/23",1206),dAn(1207,1,h7n,us),SWn.wj=function(n){return aL(n,217)},SWn.xj=function(n){return D8(Mtt,hVn,217,n,0,1)},mX(b6n,"EcorePackageImpl/24",1207),dAn(1208,1,h7n,os),SWn.wj=function(n){return aL(n,172)},SWn.xj=function(n){return D8(Ptt,hVn,172,n,0,1)},mX(b6n,"EcorePackageImpl/25",1208),dAn(1209,1,h7n,ss),SWn.wj=function(n){return aL(n,199)},SWn.xj=function(n){return D8(ytt,hVn,199,n,0,1)},mX(b6n,"EcorePackageImpl/26",1209),dAn(1210,1,h7n,hs),SWn.wj=function(n){return!1},SWn.xj=function(n){return D8(FNt,qWn,2110,n,0,1)},mX(b6n,"EcorePackageImpl/27",1210),dAn(1211,1,h7n,fs),SWn.wj=function(n){return XC(n)},SWn.xj=function(n){return D8(Itt,hVn,333,n,7,1)},mX(b6n,"EcorePackageImpl/28",1211),dAn(1212,1,h7n,ls),SWn.wj=function(n){return aL(n,58)},SWn.xj=function(n){return D8(oAt,tZn,58,n,0,1)},mX(b6n,"EcorePackageImpl/29",1212),dAn(1186,1,h7n,bs),SWn.wj=function(n){return aL(n,510)},SWn.xj=function(n){return D8(_At,{3:1,4:1,5:1,1934:1},590,n,0,1)},mX(b6n,"EcorePackageImpl/3",1186),dAn(1213,1,h7n,ws),SWn.wj=function(n){return aL(n,573)},SWn.xj=function(n){return D8(kAt,qWn,1940,n,0,1)},mX(b6n,"EcorePackageImpl/30",1213),dAn(1214,1,h7n,ds),SWn.wj=function(n){return aL(n,153)},SWn.xj=function(n){return D8(sLt,tZn,153,n,0,1)},mX(b6n,"EcorePackageImpl/31",1214),dAn(1215,1,h7n,gs),SWn.wj=function(n){return aL(n,72)},SWn.xj=function(n){return D8(L$t,f7n,72,n,0,1)},mX(b6n,"EcorePackageImpl/32",1215),dAn(1216,1,h7n,ps),SWn.wj=function(n){return aL(n,155)},SWn.xj=function(n){return D8(Ctt,hVn,155,n,0,1)},mX(b6n,"EcorePackageImpl/33",1216),dAn(1217,1,h7n,vs),SWn.wj=function(n){return aL(n,19)},SWn.xj=function(n){return D8($tt,hVn,19,n,0,1)},mX(b6n,"EcorePackageImpl/34",1217),dAn(1218,1,h7n,ms),SWn.wj=function(n){return aL(n,290)},SWn.xj=function(n){return D8(Lnt,qWn,290,n,0,1)},mX(b6n,"EcorePackageImpl/35",1218),dAn(1219,1,h7n,ys),SWn.wj=function(n){return aL(n,162)},SWn.xj=function(n){return D8(Ktt,hVn,162,n,0,1)},mX(b6n,"EcorePackageImpl/36",1219),dAn(1220,1,h7n,ks),SWn.wj=function(n){return aL(n,83)},SWn.xj=function(n){return D8(xnt,qWn,83,n,0,1)},mX(b6n,"EcorePackageImpl/37",1220),dAn(1221,1,h7n,js),SWn.wj=function(n){return aL(n,591)},SWn.xj=function(n){return D8(rLt,qWn,591,n,0,1)},mX(b6n,"EcorePackageImpl/38",1221),dAn(1222,1,h7n,Es),SWn.wj=function(n){return!1},SWn.xj=function(n){return D8(BNt,qWn,2111,n,0,1)},mX(b6n,"EcorePackageImpl/39",1222),dAn(1187,1,h7n,Ts),SWn.wj=function(n){return aL(n,88)},SWn.xj=function(n){return D8(GAt,qWn,26,n,0,1)},mX(b6n,"EcorePackageImpl/4",1187),dAn(1223,1,h7n,Ms),SWn.wj=function(n){return aL(n,184)},SWn.xj=function(n){return D8(Ftt,hVn,184,n,0,1)},mX(b6n,"EcorePackageImpl/40",1223),dAn(1224,1,h7n,Ss),SWn.wj=function(n){return WC(n)},SWn.xj=function(n){return D8(Ytt,hVn,2,n,6,1)},mX(b6n,"EcorePackageImpl/41",1224),dAn(1225,1,h7n,Ps),SWn.wj=function(n){return aL(n,588)},SWn.xj=function(n){return D8(hAt,qWn,588,n,0,1)},mX(b6n,"EcorePackageImpl/42",1225),dAn(1226,1,h7n,Is),SWn.wj=function(n){return!1},SWn.xj=function(n){return D8(HNt,hVn,2112,n,0,1)},mX(b6n,"EcorePackageImpl/43",1226),dAn(1227,1,h7n,Cs),SWn.wj=function(n){return aL(n,42)},SWn.xj=function(n){return D8(qnt,jVn,42,n,0,1)},mX(b6n,"EcorePackageImpl/44",1227),dAn(1188,1,h7n,Os),SWn.wj=function(n){return aL(n,138)},SWn.xj=function(n){return D8(qAt,qWn,138,n,0,1)},mX(b6n,"EcorePackageImpl/5",1188),dAn(1189,1,h7n,As),SWn.wj=function(n){return aL(n,148)},SWn.xj=function(n){return D8(zAt,qWn,148,n,0,1)},mX(b6n,"EcorePackageImpl/6",1189),dAn(1190,1,h7n,$s),SWn.wj=function(n){return aL(n,457)},SWn.xj=function(n){return D8(WAt,qWn,671,n,0,1)},mX(b6n,"EcorePackageImpl/7",1190),dAn(1191,1,h7n,Ls),SWn.wj=function(n){return aL(n,573)},SWn.xj=function(n){return D8(VAt,qWn,678,n,0,1)},mX(b6n,"EcorePackageImpl/8",1191),dAn(1192,1,h7n,Ns),SWn.wj=function(n){return aL(n,471)},SWn.xj=function(n){return D8(qOt,qWn,471,n,0,1)},mX(b6n,"EcorePackageImpl/9",1192),dAn(1025,1982,c9n,Dy),SWn.bi=function(n,t){$fn(this,HB(t,415))},SWn.fi=function(n,t){iIn(this,n,HB(t,415))},mX(b6n,"MinimalEObjectImpl/1ArrayDelegatingAdapterList",1025),dAn(1026,143,e9n,oW),SWn.Ai=function(){return this.a.a},mX(b6n,"MinimalEObjectImpl/1ArrayDelegatingAdapterList/1",1026),dAn(1053,1052,{},s$),mX("org.eclipse.emf.ecore.plugin","EcorePlugin",1053);var J$t,Z$t,nLt,tLt,eLt,iLt,rLt=wq(l7n,"Resource");dAn(781,1378,b7n),SWn.Yk=function(n){},SWn.Zk=function(n){},SWn.Vk=function(){return!this.a&&(this.a=new Pp(this)),this.a},SWn.Wk=function(n){var t,e,i,r,c;if((i=n.length)>0){if(w1(0,n.length),47==n.charCodeAt(0)){for(c=new Z6(4),r=1,t=1;t0&&(n=n.substr(0,e))}return ECn(this,n)},SWn.Xk=function(){return this.c},SWn.Ib=function(){return tE(this.gm)+"@"+(tsn(this)>>>0).toString(16)+" uri='"+this.d+"'"},SWn.b=!1,mX(w7n,"ResourceImpl",781),dAn(1379,781,b7n,Cp),mX(w7n,"BinaryResourceImpl",1379),dAn(1169,694,l8n),SWn.si=function(n){return aL(n,56)?MY(this,HB(n,56)):aL(n,591)?new $L(HB(n,591).Vk()):zC(n)===zC(this.f)?HB(n,14).Kc():(gD(),vAt.a)},SWn.Ob=function(){return wOn(this)},SWn.a=!1,mX(k9n,"EcoreUtil/ContentTreeIterator",1169),dAn(1380,1169,l8n,cU),SWn.si=function(n){return zC(n)===zC(this.f)?HB(n,15).Kc():new B2(HB(n,56))},mX(w7n,"ResourceImpl/5",1380),dAn(648,1994,R9n,Pp),SWn.Hc=function(n){return this.i<=4?Pjn(this,n):aL(n,49)&&HB(n,49).Zg()==this.a},SWn.bi=function(n,t){n==this.i-1&&(this.a.b||(this.a.b=!0))},SWn.di=function(n,t){0==n?this.a.b||(this.a.b=!0):N8(this,n,t)},SWn.fi=function(n,t){},SWn.gi=function(n,t,e){},SWn.aj=function(){return 2},SWn.Ai=function(){return this.a},SWn.bj=function(){return!0},SWn.cj=function(n,t){return t=HB(n,49).wh(this.a,t)},SWn.dj=function(n,t){return HB(n,49).wh(null,t)},SWn.ej=function(){return!1},SWn.hi=function(){return!0},SWn.ri=function(n){return D8(NOt,qWn,56,n,0,1)},SWn.ni=function(){return!1},mX(w7n,"ResourceImpl/ContentsEList",648),dAn(957,1964,NVn,Ip),SWn.Zc=function(n){return this.a._h(n)},SWn.gc=function(){return this.a.gc()},mX(k9n,"AbstractSequentialInternalEList/1",957),dAn(624,1,{},PH),mX(k9n,"BasicExtendedMetaData",624),dAn(1160,1,{},LC),SWn.$k=function(){return null},SWn._k=function(){return-2==this.a&&sb(this,uMn(this.d,this.b)),this.a},SWn.al=function(){return null},SWn.bl=function(){return PQ(),PQ(),het},SWn.ne=function(){return this.c==C7n&&fb(this,Tgn(this.d,this.b)),this.c},SWn.cl=function(){return 0},SWn.a=-2,SWn.c=C7n,mX(k9n,"BasicExtendedMetaData/EClassExtendedMetaDataImpl",1160),dAn(1161,1,{},F0),SWn.$k=function(){return this.a==(K5(),eLt)&&hb(this,mNn(this.f,this.b)),this.a},SWn._k=function(){return 0},SWn.al=function(){return this.c==(K5(),eLt)&&lb(this,yNn(this.f,this.b)),this.c},SWn.bl=function(){return!this.d&&bb(this,PKn(this.f,this.b)),this.d},SWn.ne=function(){return this.e==C7n&&wb(this,Tgn(this.f,this.b)),this.e},SWn.cl=function(){return-2==this.g&&db(this,JEn(this.f,this.b)),this.g},SWn.e=C7n,SWn.g=-2,mX(k9n,"BasicExtendedMetaData/EDataTypeExtendedMetaDataImpl",1161),dAn(1159,1,{},KC),SWn.b=!1,SWn.c=!1,mX(k9n,"BasicExtendedMetaData/EPackageExtendedMetaDataImpl",1159),dAn(1162,1,{},_0),SWn.c=-2,SWn.e=C7n,SWn.f=C7n,mX(k9n,"BasicExtendedMetaData/EStructuralFeatureExtendedMetaDataImpl",1162),dAn(585,622,K9n,SH),SWn.aj=function(){return this.c},SWn.Fk=function(){return!1},SWn.li=function(n,t){return t},SWn.c=0,mX(k9n,"EDataTypeEList",585);var cLt,aLt,uLt,oLt,sLt=wq(k9n,"FeatureMap");dAn(75,585,{3:1,4:1,20:1,28:1,52:1,14:1,15:1,54:1,67:1,63:1,58:1,76:1,153:1,215:1,1937:1,69:1,95:1},Tcn),SWn.Vc=function(n,t){bNn(this,n,HB(t,72))},SWn.Fc=function(n){return oLn(this,HB(n,72))},SWn.Yh=function(n){gX(this,HB(n,72))},SWn.cj=function(n,t){return qK(this,HB(n,72),t)},SWn.dj=function(n,t){return GK(this,HB(n,72),t)},SWn.ii=function(n,t){return u_n(this,n,t)},SWn.li=function(n,t){return fGn(this,n,HB(t,72))},SWn._c=function(n,t){return Ixn(this,n,HB(t,72))},SWn.jj=function(n,t){return zK(this,HB(n,72),t)},SWn.kj=function(n,t){return UK(this,HB(n,72),t)},SWn.lj=function(n,t,e){return pEn(this,HB(n,72),HB(t,72),e)},SWn.oi=function(n,t){return hTn(this,n,HB(t,72))},SWn.dl=function(n,t){return DKn(this,n,t)},SWn.Wc=function(n,t){var e,i,r,c,a,u,o,s,h;for(s=new ptn(t.gc()),r=t.Kc();r.Ob();)if(c=(i=HB(r.Pb(),72)).ak(),Lxn(this.e,c))(!c.hi()||!z3(this,c,i.dd())&&!Pjn(s,i))&&l9(s,i);else{for(h=uxn(this.e.Tg(),c),e=HB(this.g,119),a=!0,u=0;u=0;)if(t=n[this.c],this.k.rl(t.ak()))return this.j=this.f?t:t.dd(),this.i=-2,!0;return this.i=-1,this.g=-1,!1},mX(k9n,"BasicFeatureMap/FeatureEIterator",410),dAn(662,410,aVn,DO),SWn.Lk=function(){return!0},mX(k9n,"BasicFeatureMap/ResolvingFeatureEIterator",662),dAn(955,486,G9n,U$),SWn.Gi=function(){return this},mX(k9n,"EContentsEList/1",955),dAn(956,486,G9n,RO),SWn.Lk=function(){return!1},mX(k9n,"EContentsEList/2",956),dAn(954,279,z9n,X$),SWn.Nk=function(n){},SWn.Ob=function(){return!1},SWn.Sb=function(){return!1},mX(k9n,"EContentsEList/FeatureIteratorImpl/1",954),dAn(825,585,K9n,_L),SWn.ci=function(){this.a=!0},SWn.fj=function(){return this.a},SWn.Xj=function(){var n;hqn(this),yA(this.e)?(n=this.a,this.a=!1,wan(this.e,new e6(this.e,2,this.c,n,!1))):this.a=!1},SWn.a=!1,mX(k9n,"EDataTypeEList/Unsettable",825),dAn(1849,585,K9n,FL),SWn.hi=function(){return!0},mX(k9n,"EDataTypeUniqueEList",1849),dAn(1850,825,K9n,BL),SWn.hi=function(){return!0},mX(k9n,"EDataTypeUniqueEList/Unsettable",1850),dAn(139,85,K9n,xL),SWn.Ek=function(){return!0},SWn.li=function(n,t){return zOn(this,n,HB(t,56))},mX(k9n,"EObjectContainmentEList/Resolving",139),dAn(1163,545,K9n,DL),SWn.Ek=function(){return!0},SWn.li=function(n,t){return zOn(this,n,HB(t,56))},mX(k9n,"EObjectContainmentEList/Unsettable/Resolving",1163),dAn(748,16,K9n,rK),SWn.ci=function(){this.a=!0},SWn.fj=function(){return this.a},SWn.Xj=function(){var n;hqn(this),yA(this.e)?(n=this.a,this.a=!1,wan(this.e,new e6(this.e,2,this.c,n,!1))):this.a=!1},SWn.a=!1,mX(k9n,"EObjectContainmentWithInverseEList/Unsettable",748),dAn(1173,748,K9n,cK),SWn.Ek=function(){return!0},SWn.li=function(n,t){return zOn(this,n,HB(t,56))},mX(k9n,"EObjectContainmentWithInverseEList/Unsettable/Resolving",1173),dAn(743,496,K9n,RL),SWn.ci=function(){this.a=!0},SWn.fj=function(){return this.a},SWn.Xj=function(){var n;hqn(this),yA(this.e)?(n=this.a,this.a=!1,wan(this.e,new e6(this.e,2,this.c,n,!1))):this.a=!1},SWn.a=!1,mX(k9n,"EObjectEList/Unsettable",743),dAn(328,496,K9n,KL),SWn.Ek=function(){return!0},SWn.li=function(n,t){return zOn(this,n,HB(t,56))},mX(k9n,"EObjectResolvingEList",328),dAn(1641,743,K9n,HL),SWn.Ek=function(){return!0},SWn.li=function(n,t){return zOn(this,n,HB(t,56))},mX(k9n,"EObjectResolvingEList/Unsettable",1641),dAn(1381,1,{},xs),mX(k9n,"EObjectValidator",1381),dAn(546,496,K9n,rU),SWn.zk=function(){return this.d},SWn.Ak=function(){return this.b},SWn.bj=function(){return!0},SWn.Dk=function(){return!0},SWn.b=0,mX(k9n,"EObjectWithInverseEList",546),dAn(1176,546,K9n,aK),SWn.Ck=function(){return!0},mX(k9n,"EObjectWithInverseEList/ManyInverse",1176),dAn(625,546,K9n,uK),SWn.ci=function(){this.a=!0},SWn.fj=function(){return this.a},SWn.Xj=function(){var n;hqn(this),yA(this.e)?(n=this.a,this.a=!1,wan(this.e,new e6(this.e,2,this.c,n,!1))):this.a=!1},SWn.a=!1,mX(k9n,"EObjectWithInverseEList/Unsettable",625),dAn(1175,625,K9n,sK),SWn.Ck=function(){return!0},mX(k9n,"EObjectWithInverseEList/Unsettable/ManyInverse",1175),dAn(749,546,K9n,oK),SWn.Ek=function(){return!0},SWn.li=function(n,t){return zOn(this,n,HB(t,56))},mX(k9n,"EObjectWithInverseResolvingEList",749),dAn(31,749,K9n,fK),SWn.Ck=function(){return!0},mX(k9n,"EObjectWithInverseResolvingEList/ManyInverse",31),dAn(750,625,K9n,hK),SWn.Ek=function(){return!0},SWn.li=function(n,t){return zOn(this,n,HB(t,56))},mX(k9n,"EObjectWithInverseResolvingEList/Unsettable",750),dAn(1174,750,K9n,lK),SWn.Ck=function(){return!0},mX(k9n,"EObjectWithInverseResolvingEList/Unsettable/ManyInverse",1174),dAn(1164,622,K9n),SWn.ai=function(){return 0==(1792&this.b)},SWn.ci=function(){this.b|=1},SWn.Bk=function(){return 0!=(4&this.b)},SWn.bj=function(){return 0!=(40&this.b)},SWn.Ck=function(){return 0!=(16&this.b)},SWn.Dk=function(){return 0!=(8&this.b)},SWn.Ek=function(){return 0!=(this.b&S9n)},SWn.rk=function(){return 0!=(32&this.b)},SWn.Fk=function(){return 0!=(this.b&j6n)},SWn.wj=function(n){return this.d?D3(this.d,n):this.ak().Yj().wj(n)},SWn.fj=function(){return 0!=(2&this.b)?0!=(1&this.b):0!=this.i},SWn.hi=function(){return 0!=(128&this.b)},SWn.Xj=function(){var n;hqn(this),0!=(2&this.b)&&(yA(this.e)?(n=0!=(1&this.b),this.b&=-2,Nv(this,new e6(this.e,2,$wn(this.e.Tg(),this.ak()),n,!1))):this.b&=-2)},SWn.ni=function(){return 0==(1536&this.b)},SWn.b=0,mX(k9n,"EcoreEList/Generic",1164),dAn(1165,1164,K9n,UQ),SWn.ak=function(){return this.a},mX(k9n,"EcoreEList/Dynamic",1165),dAn(747,63,f8n,Op),SWn.ri=function(n){return Ren(this.a.a,n)},mX(k9n,"EcoreEMap/1",747),dAn(746,85,K9n,nU),SWn.bi=function(n,t){Ovn(this.b,HB(t,133))},SWn.di=function(n,t){uan(this.b)},SWn.ei=function(n,t,e){var i;++(i=this.b,HB(t,133),i).e},SWn.fi=function(n,t){Aln(this.b,HB(t,133))},SWn.gi=function(n,t,e){Aln(this.b,HB(e,133)),zC(e)===zC(t)&&HB(e,133).Th(a$(HB(t,133).cd())),Ovn(this.b,HB(t,133))},mX(k9n,"EcoreEMap/DelegateEObjectContainmentEList",746),dAn(1171,151,E9n,kin),mX(k9n,"EcoreEMap/Unsettable",1171),dAn(1172,746,K9n,bK),SWn.ci=function(){this.a=!0},SWn.fj=function(){return this.a},SWn.Xj=function(){var n;hqn(this),yA(this.e)?(n=this.a,this.a=!1,wan(this.e,new e6(this.e,2,this.c,n,!1))):this.a=!1},SWn.a=!1,mX(k9n,"EcoreEMap/Unsettable/UnsettableDelegateEObjectContainmentEList",1172),dAn(1168,228,eYn,bX),SWn.a=!1,SWn.b=!1,mX(k9n,"EcoreUtil/Copier",1168),dAn(745,1,YWn,B2),SWn.Nb=function(n){lU(this,n)},SWn.Ob=function(){return odn(this)},SWn.Pb=function(){var n;return odn(this),n=this.b,this.b=null,n},SWn.Qb=function(){this.a.Qb()},mX(k9n,"EcoreUtil/ProperContentIterator",745),dAn(1382,1381,{},Bf),mX(k9n,"EcoreValidator",1382),wq(k9n,"FeatureMapUtil/Validator"),dAn(1260,1,{1942:1},Ds),SWn.rl=function(n){return!0},mX(k9n,"FeatureMapUtil/1",1260),dAn(757,1,{1942:1},aUn),SWn.rl=function(n){var t;return this.c==n||(null==(t=MD(KX(this.a,n)))?DRn(this,n)?(c6(this.a,n,(fN(),mtt)),!0):(c6(this.a,n,(fN(),vtt)),!1):t==(fN(),mtt))},SWn.e=!1,mX(k9n,"FeatureMapUtil/BasicValidator",757),dAn(758,43,eYn,W$),mX(k9n,"FeatureMapUtil/BasicValidator/Cache",758),dAn(501,52,{20:1,28:1,52:1,14:1,15:1,58:1,76:1,69:1,95:1},DC),SWn.Vc=function(n,t){$xn(this.c,this.b,n,t)},SWn.Fc=function(n){return DKn(this.c,this.b,n)},SWn.Wc=function(n,t){return EHn(this.c,this.b,n,t)},SWn.Gc=function(n){return nL(this,n)},SWn.Xh=function(n,t){ftn(this.c,this.b,n,t)},SWn.lk=function(n,t){return IRn(this.c,this.b,n,t)},SWn.pi=function(n){return rHn(this.c,this.b,n,!1)},SWn.Zh=function(){return EA(this.c,this.b)},SWn.$h=function(){return TA(this.c,this.b)},SWn._h=function(n){return L8(this.c,this.b,n)},SWn.mk=function(n,t){return eR(this,n,t)},SWn.$b=function(){xv(this)},SWn.Hc=function(n){return z3(this.c,this.b,n)},SWn.Ic=function(n){return Scn(this.c,this.b,n)},SWn.Xb=function(n){return rHn(this.c,this.b,n,!0)},SWn.Wj=function(n){return this},SWn.Xc=function(n){return U3(this.c,this.b,n)},SWn.dc=function(){return qC(this)},SWn.fj=function(){return!udn(this.c,this.b)},SWn.Kc=function(){return ann(this.c,this.b)},SWn.Yc=function(){return unn(this.c,this.b)},SWn.Zc=function(n){return bln(this.c,this.b,n)},SWn.ii=function(n,t){return yFn(this.c,this.b,n,t)},SWn.ji=function(n,t){Y6(this.c,this.b,n,t)},SWn.$c=function(n){return uPn(this.c,this.b,n)},SWn.Mc=function(n){return CKn(this.c,this.b,n)},SWn._c=function(n,t){return WFn(this.c,this.b,n,t)},SWn.Wb=function(n){$On(this.c,this.b),nL(this,HB(n,15))},SWn.gc=function(){return _ln(this.c,this.b)},SWn.Pc=function(){return z1(this.c,this.b)},SWn.Qc=function(n){return X3(this.c,this.b,n)},SWn.Ib=function(){var n,t;for((t=new Pk).a+="[",n=EA(this.c,this.b);_sn(n);)aO(t,jN(avn(n))),_sn(n)&&(t.a+=BWn);return t.a+="]",t.a},SWn.Xj=function(){$On(this.c,this.b)},mX(k9n,"FeatureMapUtil/FeatureEList",501),dAn(627,36,e9n,w4),SWn.yi=function(n){return iln(this,n)},SWn.Di=function(n){var t,e,i,r;switch(this.d){case 1:case 2:if(zC(n.Ai())===zC(this.c)&&iln(this,null)==n.yi(null))return this.g=n.zi(),1==n.xi()&&(this.d=1),!0;break;case 3:if(3===n.xi()&&zC(n.Ai())===zC(this.c)&&iln(this,null)==n.yi(null))return this.d=5,l9(t=new ptn(2),this.g),l9(t,n.zi()),this.g=t,!0;break;case 5:if(3===n.xi()&&zC(n.Ai())===zC(this.c)&&iln(this,null)==n.yi(null))return HB(this.g,14).Fc(n.zi()),!0;break;case 4:switch(n.xi()){case 3:if(zC(n.Ai())===zC(this.c)&&iln(this,null)==n.yi(null))return this.d=1,this.g=n.zi(),!0;break;case 4:if(zC(n.Ai())===zC(this.c)&&iln(this,null)==n.yi(null))return this.d=6,l9(r=new ptn(2),this.n),l9(r,n.Bi()),this.n=r,i=Iun(zk($Nt,1),fQn,25,15,[this.o,n.Ci()]),this.g=i,!0}break;case 6:if(4===n.xi()&&zC(n.Ai())===zC(this.c)&&iln(this,null)==n.yi(null))return HB(this.n,14).Fc(n.Bi()),uHn(i=HB(this.g,48),0,e=D8($Nt,fQn,25,i.length+1,15,1),0,i.length),e[i.length]=n.Ci(),this.g=e,!0}return!1},mX(k9n,"FeatureMapUtil/FeatureENotificationImpl",627),dAn(552,501,{20:1,28:1,52:1,14:1,15:1,58:1,76:1,153:1,215:1,1937:1,69:1,95:1},bq),SWn.dl=function(n,t){return DKn(this.c,n,t)},SWn.el=function(n,t,e){return IRn(this.c,n,t,e)},SWn.fl=function(n,t,e){return nHn(this.c,n,t,e)},SWn.gl=function(){return this},SWn.hl=function(n,t){return cHn(this.c,n,t)},SWn.il=function(n){return HB(rHn(this.c,this.b,n,!1),72).ak()},SWn.jl=function(n){return HB(rHn(this.c,this.b,n,!1),72).dd()},SWn.kl=function(){return this.a},SWn.ll=function(n){return!udn(this.c,n)},SWn.ml=function(n,t){SHn(this.c,n,t)},SWn.nl=function(n){return Uin(this.c,n)},SWn.ol=function(n){_mn(this.c,n)},mX(k9n,"FeatureMapUtil/FeatureFeatureMap",552),dAn(1259,1,j9n,_C),SWn.Wj=function(n){return rHn(this.b,this.a,-1,n)},SWn.fj=function(){return!udn(this.b,this.a)},SWn.Wb=function(n){SHn(this.b,this.a,n)},SWn.Xj=function(){$On(this.b,this.a)},mX(k9n,"FeatureMapUtil/FeatureValue",1259);var hLt,fLt,lLt,bLt,wLt,dLt=wq(A7n,"AnyType");dAn(666,60,HVn,rk),mX(A7n,"InvalidDatatypeValueException",666);var gLt,pLt,vLt,mLt,yLt,kLt,jLt,ELt,TLt,MLt,SLt,PLt,ILt,CLt,OLt,ALt,$Lt,LLt,NLt,xLt,DLt,RLt,KLt,_Lt,FLt,BLt,HLt,qLt,GLt,zLt,ULt=wq(A7n,$7n),XLt=wq(A7n,L7n),WLt=wq(A7n,N7n);dAn(830,506,{105:1,92:1,90:1,56:1,49:1,97:1,843:1},Km),SWn._g=function(n,t,e){switch(n){case 0:return e?(!this.c&&(this.c=new Tcn(this,0)),this.c):(!this.c&&(this.c=new Tcn(this,0)),this.c.b);case 1:return e?(!this.c&&(this.c=new Tcn(this,0)),HB(t1(this.c,(Xqn(),mLt)),153)):(!this.c&&(this.c=new Tcn(this,0)),HB(HB(t1(this.c,(Xqn(),mLt)),153),215)).kl();case 2:return e?(!this.b&&(this.b=new Tcn(this,2)),this.b):(!this.b&&(this.b=new Tcn(this,2)),this.b.b)}return X9(this,n-wX(this.zh()),rtn(0==(2&this.j)?this.zh():(!this.k&&(this.k=new _f),this.k).ck(),n),t,e)},SWn.jh=function(n,t,e){switch(t){case 0:return!this.c&&(this.c=new Tcn(this,0)),MKn(this.c,n,e);case 1:return(!this.c&&(this.c=new Tcn(this,0)),HB(HB(t1(this.c,(Xqn(),mLt)),153),69)).mk(n,e);case 2:return!this.b&&(this.b=new Tcn(this,2)),MKn(this.b,n,e)}return HB(rtn(0==(2&this.j)?this.zh():(!this.k&&(this.k=new _f),this.k).ck(),t),66).Nj().Rj(this,Y7(this),t-wX(this.zh()),n,e)},SWn.lh=function(n){switch(n){case 0:return!!this.c&&0!=this.c.i;case 1:return!(!this.c&&(this.c=new Tcn(this,0)),HB(t1(this.c,(Xqn(),mLt)),153)).dc();case 2:return!!this.b&&0!=this.b.i}return A3(this,n-wX(this.zh()),rtn(0==(2&this.j)?this.zh():(!this.k&&(this.k=new _f),this.k).ck(),n))},SWn.sh=function(n,t){switch(n){case 0:return!this.c&&(this.c=new Tcn(this,0)),void eX(this.c,t);case 1:return void(!this.c&&(this.c=new Tcn(this,0)),HB(HB(t1(this.c,(Xqn(),mLt)),153),215)).Wb(t);case 2:return!this.b&&(this.b=new Tcn(this,2)),void eX(this.b,t)}Nbn(this,n-wX(this.zh()),rtn(0==(2&this.j)?this.zh():(!this.k&&(this.k=new _f),this.k).ck(),n),t)},SWn.zh=function(){return Xqn(),vLt},SWn.Bh=function(n){switch(n){case 0:return!this.c&&(this.c=new Tcn(this,0)),void hqn(this.c);case 1:return void(!this.c&&(this.c=new Tcn(this,0)),HB(t1(this.c,(Xqn(),mLt)),153)).$b();case 2:return!this.b&&(this.b=new Tcn(this,2)),void hqn(this.b)}Gfn(this,n-wX(this.zh()),rtn(0==(2&this.j)?this.zh():(!this.k&&(this.k=new _f),this.k).ck(),n))},SWn.Ib=function(){var n;return 0!=(4&this.j)?I$n(this):((n=new lN(I$n(this))).a+=" (mixed: ",cO(n,this.c),n.a+=", anyAttribute: ",cO(n,this.b),n.a+=")",n.a)},mX(x7n,"AnyTypeImpl",830),dAn(667,506,{105:1,92:1,90:1,56:1,49:1,97:1,2021:1,667:1},Ks),SWn._g=function(n,t,e){switch(n){case 0:return this.a;case 1:return this.b}return X9(this,n-wX((Xqn(),ALt)),rtn(0==(2&this.j)?ALt:(!this.k&&(this.k=new _f),this.k).ck(),n),t,e)},SWn.lh=function(n){switch(n){case 0:return null!=this.a;case 1:return null!=this.b}return A3(this,n-wX((Xqn(),ALt)),rtn(0==(2&this.j)?ALt:(!this.k&&(this.k=new _f),this.k).ck(),n))},SWn.sh=function(n,t){switch(n){case 0:return void jb(this,PD(t));case 1:return void Eb(this,PD(t))}Nbn(this,n-wX((Xqn(),ALt)),rtn(0==(2&this.j)?ALt:(!this.k&&(this.k=new _f),this.k).ck(),n),t)},SWn.zh=function(){return Xqn(),ALt},SWn.Bh=function(n){switch(n){case 0:return void(this.a=null);case 1:return void(this.b=null)}Gfn(this,n-wX((Xqn(),ALt)),rtn(0==(2&this.j)?ALt:(!this.k&&(this.k=new _f),this.k).ck(),n))},SWn.Ib=function(){var n;return 0!=(4&this.j)?I$n(this):((n=new lN(I$n(this))).a+=" (data: ",aO(n,this.a),n.a+=", target: ",aO(n,this.b),n.a+=")",n.a)},SWn.a=null,SWn.b=null,mX(x7n,"ProcessingInstructionImpl",667),dAn(668,830,{105:1,92:1,90:1,56:1,49:1,97:1,843:1,2022:1,668:1},Fm),SWn._g=function(n,t,e){switch(n){case 0:return e?(!this.c&&(this.c=new Tcn(this,0)),this.c):(!this.c&&(this.c=new Tcn(this,0)),this.c.b);case 1:return e?(!this.c&&(this.c=new Tcn(this,0)),HB(t1(this.c,(Xqn(),mLt)),153)):(!this.c&&(this.c=new Tcn(this,0)),HB(HB(t1(this.c,(Xqn(),mLt)),153),215)).kl();case 2:return e?(!this.b&&(this.b=new Tcn(this,2)),this.b):(!this.b&&(this.b=new Tcn(this,2)),this.b.b);case 3:return!this.c&&(this.c=new Tcn(this,0)),PD(cHn(this.c,(Xqn(),NLt),!0));case 4:return pK(this.a,(!this.c&&(this.c=new Tcn(this,0)),PD(cHn(this.c,(Xqn(),NLt),!0))));case 5:return this.a}return X9(this,n-wX((Xqn(),LLt)),rtn(0==(2&this.j)?LLt:(!this.k&&(this.k=new _f),this.k).ck(),n),t,e)},SWn.lh=function(n){switch(n){case 0:return!!this.c&&0!=this.c.i;case 1:return!(!this.c&&(this.c=new Tcn(this,0)),HB(t1(this.c,(Xqn(),mLt)),153)).dc();case 2:return!!this.b&&0!=this.b.i;case 3:return!this.c&&(this.c=new Tcn(this,0)),null!=PD(cHn(this.c,(Xqn(),NLt),!0));case 4:return null!=pK(this.a,(!this.c&&(this.c=new Tcn(this,0)),PD(cHn(this.c,(Xqn(),NLt),!0))));case 5:return!!this.a}return A3(this,n-wX((Xqn(),LLt)),rtn(0==(2&this.j)?LLt:(!this.k&&(this.k=new _f),this.k).ck(),n))},SWn.sh=function(n,t){switch(n){case 0:return!this.c&&(this.c=new Tcn(this,0)),void eX(this.c,t);case 1:return void(!this.c&&(this.c=new Tcn(this,0)),HB(HB(t1(this.c,(Xqn(),mLt)),153),215)).Wb(t);case 2:return!this.b&&(this.b=new Tcn(this,2)),void eX(this.b,t);case 3:return void B0(this,PD(t));case 4:return void B0(this,vK(this.a,t));case 5:return void Tb(this,HB(t,148))}Nbn(this,n-wX((Xqn(),LLt)),rtn(0==(2&this.j)?LLt:(!this.k&&(this.k=new _f),this.k).ck(),n),t)},SWn.zh=function(){return Xqn(),LLt},SWn.Bh=function(n){switch(n){case 0:return!this.c&&(this.c=new Tcn(this,0)),void hqn(this.c);case 1:return void(!this.c&&(this.c=new Tcn(this,0)),HB(t1(this.c,(Xqn(),mLt)),153)).$b();case 2:return!this.b&&(this.b=new Tcn(this,2)),void hqn(this.b);case 3:return!this.c&&(this.c=new Tcn(this,0)),void SHn(this.c,(Xqn(),NLt),null);case 4:return void B0(this,vK(this.a,null));case 5:return void(this.a=null)}Gfn(this,n-wX((Xqn(),LLt)),rtn(0==(2&this.j)?LLt:(!this.k&&(this.k=new _f),this.k).ck(),n))},mX(x7n,"SimpleAnyTypeImpl",668),dAn(669,506,{105:1,92:1,90:1,56:1,49:1,97:1,2023:1,669:1},_m),SWn._g=function(n,t,e){switch(n){case 0:return e?(!this.a&&(this.a=new Tcn(this,0)),this.a):(!this.a&&(this.a=new Tcn(this,0)),this.a.b);case 1:return e?(!this.b&&(this.b=new k9((pWn(),j$t),W$t,this,1)),this.b):(!this.b&&(this.b=new k9((pWn(),j$t),W$t,this,1)),$8(this.b));case 2:return e?(!this.c&&(this.c=new k9((pWn(),j$t),W$t,this,2)),this.c):(!this.c&&(this.c=new k9((pWn(),j$t),W$t,this,2)),$8(this.c));case 3:return!this.a&&(this.a=new Tcn(this,0)),t1(this.a,(Xqn(),RLt));case 4:return!this.a&&(this.a=new Tcn(this,0)),t1(this.a,(Xqn(),KLt));case 5:return!this.a&&(this.a=new Tcn(this,0)),t1(this.a,(Xqn(),FLt));case 6:return!this.a&&(this.a=new Tcn(this,0)),t1(this.a,(Xqn(),BLt))}return X9(this,n-wX((Xqn(),DLt)),rtn(0==(2&this.j)?DLt:(!this.k&&(this.k=new _f),this.k).ck(),n),t,e)},SWn.jh=function(n,t,e){switch(t){case 0:return!this.a&&(this.a=new Tcn(this,0)),MKn(this.a,n,e);case 1:return!this.b&&(this.b=new k9((pWn(),j$t),W$t,this,1)),HK(this.b,n,e);case 2:return!this.c&&(this.c=new k9((pWn(),j$t),W$t,this,2)),HK(this.c,n,e);case 5:return!this.a&&(this.a=new Tcn(this,0)),eR(t1(this.a,(Xqn(),FLt)),n,e)}return HB(rtn(0==(2&this.j)?(Xqn(),DLt):(!this.k&&(this.k=new _f),this.k).ck(),t),66).Nj().Rj(this,Y7(this),t-wX((Xqn(),DLt)),n,e)},SWn.lh=function(n){switch(n){case 0:return!!this.a&&0!=this.a.i;case 1:return!!this.b&&0!=this.b.f;case 2:return!!this.c&&0!=this.c.f;case 3:return!this.a&&(this.a=new Tcn(this,0)),!qC(t1(this.a,(Xqn(),RLt)));case 4:return!this.a&&(this.a=new Tcn(this,0)),!qC(t1(this.a,(Xqn(),KLt)));case 5:return!this.a&&(this.a=new Tcn(this,0)),!qC(t1(this.a,(Xqn(),FLt)));case 6:return!this.a&&(this.a=new Tcn(this,0)),!qC(t1(this.a,(Xqn(),BLt)))}return A3(this,n-wX((Xqn(),DLt)),rtn(0==(2&this.j)?DLt:(!this.k&&(this.k=new _f),this.k).ck(),n))},SWn.sh=function(n,t){switch(n){case 0:return!this.a&&(this.a=new Tcn(this,0)),void eX(this.a,t);case 1:return!this.b&&(this.b=new k9((pWn(),j$t),W$t,this,1)),void ean(this.b,t);case 2:return!this.c&&(this.c=new k9((pWn(),j$t),W$t,this,2)),void ean(this.c,t);case 3:return!this.a&&(this.a=new Tcn(this,0)),xv(t1(this.a,(Xqn(),RLt))),!this.a&&(this.a=new Tcn(this,0)),void nL(t1(this.a,RLt),HB(t,14));case 4:return!this.a&&(this.a=new Tcn(this,0)),xv(t1(this.a,(Xqn(),KLt))),!this.a&&(this.a=new Tcn(this,0)),void nL(t1(this.a,KLt),HB(t,14));case 5:return!this.a&&(this.a=new Tcn(this,0)),xv(t1(this.a,(Xqn(),FLt))),!this.a&&(this.a=new Tcn(this,0)),void nL(t1(this.a,FLt),HB(t,14));case 6:return!this.a&&(this.a=new Tcn(this,0)),xv(t1(this.a,(Xqn(),BLt))),!this.a&&(this.a=new Tcn(this,0)),void nL(t1(this.a,BLt),HB(t,14))}Nbn(this,n-wX((Xqn(),DLt)),rtn(0==(2&this.j)?DLt:(!this.k&&(this.k=new _f),this.k).ck(),n),t)},SWn.zh=function(){return Xqn(),DLt},SWn.Bh=function(n){switch(n){case 0:return!this.a&&(this.a=new Tcn(this,0)),void hqn(this.a);case 1:return!this.b&&(this.b=new k9((pWn(),j$t),W$t,this,1)),void this.b.c.$b();case 2:return!this.c&&(this.c=new k9((pWn(),j$t),W$t,this,2)),void this.c.c.$b();case 3:return!this.a&&(this.a=new Tcn(this,0)),void xv(t1(this.a,(Xqn(),RLt)));case 4:return!this.a&&(this.a=new Tcn(this,0)),void xv(t1(this.a,(Xqn(),KLt)));case 5:return!this.a&&(this.a=new Tcn(this,0)),void xv(t1(this.a,(Xqn(),FLt)));case 6:return!this.a&&(this.a=new Tcn(this,0)),void xv(t1(this.a,(Xqn(),BLt)))}Gfn(this,n-wX((Xqn(),DLt)),rtn(0==(2&this.j)?DLt:(!this.k&&(this.k=new _f),this.k).ck(),n))},SWn.Ib=function(){var n;return 0!=(4&this.j)?I$n(this):((n=new lN(I$n(this))).a+=" (mixed: ",cO(n,this.a),n.a+=")",n.a)},mX(x7n,"XMLTypeDocumentRootImpl",669),dAn(1919,704,{105:1,92:1,90:1,471:1,147:1,56:1,108:1,49:1,97:1,150:1,114:1,115:1,2024:1},Rs),SWn.Ih=function(n,t){switch(n.yj()){case 7:case 8:case 9:case 10:case 16:case 22:case 23:case 24:case 25:case 26:case 32:case 33:case 34:case 36:case 37:case 44:case 45:case 50:case 51:case 53:case 55:case 56:case 57:case 58:case 60:case 61:case 4:return null==t?null:Hbn(t);case 19:case 28:case 29:case 35:case 38:case 39:case 41:case 46:case 52:case 54:case 5:return PD(t);case 6:return yD(HB(t,190));case 12:case 47:case 49:case 11:return GGn(this,n,t);case 13:return null==t?null:zBn(HB(t,240));case 15:case 14:return null==t?null:KU(zy(SD(t)));case 17:return TEn((Xqn(),t));case 18:return TEn(t);case 21:case 20:return null==t?null:_U(HB(t,155).a);case 27:return kD(HB(t,190));case 30:return Fmn((Xqn(),HB(t,15)));case 31:return Fmn(HB(t,15));case 40:return ED((Xqn(),t));case 42:return MEn((Xqn(),t));case 43:return MEn(t);case 59:case 48:return jD((Xqn(),t));default:throw qp(new Fy(g6n+n.ne()+p6n))}},SWn.Jh=function(n){var t;switch(-1==n.G&&(n.G=(t=Xtn(n))?ovn(t.Mh(),n):-1),n.G){case 0:return new Km;case 1:return new Ks;case 2:return new Fm;case 3:return new _m;default:throw qp(new Fy(y6n+n.zb+p6n))}},SWn.Kh=function(n,t){var e,i,r,c,a,u,o,s,h,f,l,b,w,d,g,p;switch(n.yj()){case 5:case 52:case 4:return t;case 6:return kpn(t);case 8:case 7:return null==t?null:FEn(t);case 9:return null==t?null:Inn(b_n((i=BBn(t,!0)).length>0&&(w1(0,i.length),43==i.charCodeAt(0))?i.substr(1):i,-128,127)<<24>>24);case 10:return null==t?null:Inn(b_n((r=BBn(t,!0)).length>0&&(w1(0,r.length),43==r.charCodeAt(0))?r.substr(1):r,-128,127)<<24>>24);case 11:return PD(DXn(this,(Xqn(),jLt),t));case 12:return PD(DXn(this,(Xqn(),ELt),t));case 13:return null==t?null:new dE(BBn(t,!0));case 15:case 14:return pLn(t);case 16:return PD(DXn(this,(Xqn(),TLt),t));case 17:return qdn((Xqn(),t));case 18:return qdn(t);case 28:case 29:case 35:case 38:case 39:case 41:case 54:case 19:return BBn(t,!0);case 21:case 20:return OLn(t);case 22:return PD(DXn(this,(Xqn(),MLt),t));case 23:return PD(DXn(this,(Xqn(),SLt),t));case 24:return PD(DXn(this,(Xqn(),PLt),t));case 25:return PD(DXn(this,(Xqn(),ILt),t));case 26:return PD(DXn(this,(Xqn(),CLt),t));case 27:return npn(t);case 30:return Gdn((Xqn(),t));case 31:return Gdn(t);case 32:return null==t?null:rln(b_n((h=BBn(t,!0)).length>0&&(w1(0,h.length),43==h.charCodeAt(0))?h.substr(1):h,FVn,RWn));case 33:return null==t?null:new LA((f=BBn(t,!0)).length>0&&(w1(0,f.length),43==f.charCodeAt(0))?f.substr(1):f);case 34:return null==t?null:rln(b_n((l=BBn(t,!0)).length>0&&(w1(0,l.length),43==l.charCodeAt(0))?l.substr(1):l,FVn,RWn));case 36:return null==t?null:Egn(cUn((b=BBn(t,!0)).length>0&&(w1(0,b.length),43==b.charCodeAt(0))?b.substr(1):b));case 37:return null==t?null:Egn(cUn((w=BBn(t,!0)).length>0&&(w1(0,w.length),43==w.charCodeAt(0))?w.substr(1):w));case 40:return Qwn((Xqn(),t));case 42:return zdn((Xqn(),t));case 43:return zdn(t);case 44:return null==t?null:new LA((d=BBn(t,!0)).length>0&&(w1(0,d.length),43==d.charCodeAt(0))?d.substr(1):d);case 45:return null==t?null:new LA((g=BBn(t,!0)).length>0&&(w1(0,g.length),43==g.charCodeAt(0))?g.substr(1):g);case 46:return BBn(t,!1);case 47:return PD(DXn(this,(Xqn(),OLt),t));case 59:case 48:return Vwn((Xqn(),t));case 49:return PD(DXn(this,(Xqn(),$Lt),t));case 50:return null==t?null:cln(b_n((p=BBn(t,!0)).length>0&&(w1(0,p.length),43==p.charCodeAt(0))?p.substr(1):p,Y9n,32767)<<16>>16);case 51:return null==t?null:cln(b_n((c=BBn(t,!0)).length>0&&(w1(0,c.length),43==c.charCodeAt(0))?c.substr(1):c,Y9n,32767)<<16>>16);case 53:return PD(DXn(this,(Xqn(),xLt),t));case 55:return null==t?null:cln(b_n((a=BBn(t,!0)).length>0&&(w1(0,a.length),43==a.charCodeAt(0))?a.substr(1):a,Y9n,32767)<<16>>16);case 56:return null==t?null:cln(b_n((u=BBn(t,!0)).length>0&&(w1(0,u.length),43==u.charCodeAt(0))?u.substr(1):u,Y9n,32767)<<16>>16);case 57:return null==t?null:Egn(cUn((o=BBn(t,!0)).length>0&&(w1(0,o.length),43==o.charCodeAt(0))?o.substr(1):o));case 58:return null==t?null:Egn(cUn((s=BBn(t,!0)).length>0&&(w1(0,s.length),43==s.charCodeAt(0))?s.substr(1):s));case 60:return null==t?null:rln(b_n((e=BBn(t,!0)).length>0&&(w1(0,e.length),43==e.charCodeAt(0))?e.substr(1):e,FVn,RWn));case 61:return null==t?null:rln(b_n(BBn(t,!0),FVn,RWn));default:throw qp(new Fy(g6n+n.ne()+p6n))}},mX(x7n,"XMLTypeFactoryImpl",1919),dAn(586,179,{105:1,92:1,90:1,147:1,191:1,56:1,235:1,108:1,49:1,97:1,150:1,179:1,114:1,115:1,675:1,1945:1,586:1},UW),SWn.N=!1,SWn.O=!1;var VLt,QLt,YLt,JLt,ZLt,nNt=!1;mX(x7n,"XMLTypePackageImpl",586),dAn(1852,1,{837:1},_s),SWn._j=function(){return lFn(),MNt},mX(x7n,"XMLTypePackageImpl/1",1852),dAn(1861,1,h7n,Fs),SWn.wj=function(n){return WC(n)},SWn.xj=function(n){return D8(Ytt,hVn,2,n,6,1)},mX(x7n,"XMLTypePackageImpl/10",1861),dAn(1862,1,h7n,Bs),SWn.wj=function(n){return WC(n)},SWn.xj=function(n){return D8(Ytt,hVn,2,n,6,1)},mX(x7n,"XMLTypePackageImpl/11",1862),dAn(1863,1,h7n,Hs),SWn.wj=function(n){return WC(n)},SWn.xj=function(n){return D8(Ytt,hVn,2,n,6,1)},mX(x7n,"XMLTypePackageImpl/12",1863),dAn(1864,1,h7n,qs),SWn.wj=function(n){return XC(n)},SWn.xj=function(n){return D8(Itt,hVn,333,n,7,1)},mX(x7n,"XMLTypePackageImpl/13",1864),dAn(1865,1,h7n,Gs),SWn.wj=function(n){return WC(n)},SWn.xj=function(n){return D8(Ytt,hVn,2,n,6,1)},mX(x7n,"XMLTypePackageImpl/14",1865),dAn(1866,1,h7n,zs),SWn.wj=function(n){return aL(n,15)},SWn.xj=function(n){return D8(Knt,tZn,15,n,0,1)},mX(x7n,"XMLTypePackageImpl/15",1866),dAn(1867,1,h7n,Us),SWn.wj=function(n){return aL(n,15)},SWn.xj=function(n){return D8(Knt,tZn,15,n,0,1)},mX(x7n,"XMLTypePackageImpl/16",1867),dAn(1868,1,h7n,Xs),SWn.wj=function(n){return WC(n)},SWn.xj=function(n){return D8(Ytt,hVn,2,n,6,1)},mX(x7n,"XMLTypePackageImpl/17",1868),dAn(1869,1,h7n,Ws),SWn.wj=function(n){return aL(n,155)},SWn.xj=function(n){return D8(Ctt,hVn,155,n,0,1)},mX(x7n,"XMLTypePackageImpl/18",1869),dAn(1870,1,h7n,Vs),SWn.wj=function(n){return WC(n)},SWn.xj=function(n){return D8(Ytt,hVn,2,n,6,1)},mX(x7n,"XMLTypePackageImpl/19",1870),dAn(1853,1,h7n,Qs),SWn.wj=function(n){return aL(n,843)},SWn.xj=function(n){return D8(dLt,qWn,843,n,0,1)},mX(x7n,"XMLTypePackageImpl/2",1853),dAn(1871,1,h7n,Ys),SWn.wj=function(n){return WC(n)},SWn.xj=function(n){return D8(Ytt,hVn,2,n,6,1)},mX(x7n,"XMLTypePackageImpl/20",1871),dAn(1872,1,h7n,Js),SWn.wj=function(n){return WC(n)},SWn.xj=function(n){return D8(Ytt,hVn,2,n,6,1)},mX(x7n,"XMLTypePackageImpl/21",1872),dAn(1873,1,h7n,Zs),SWn.wj=function(n){return WC(n)},SWn.xj=function(n){return D8(Ytt,hVn,2,n,6,1)},mX(x7n,"XMLTypePackageImpl/22",1873),dAn(1874,1,h7n,nh),SWn.wj=function(n){return WC(n)},SWn.xj=function(n){return D8(Ytt,hVn,2,n,6,1)},mX(x7n,"XMLTypePackageImpl/23",1874),dAn(1875,1,h7n,th),SWn.wj=function(n){return aL(n,190)},SWn.xj=function(n){return D8(xNt,hVn,190,n,0,2)},mX(x7n,"XMLTypePackageImpl/24",1875),dAn(1876,1,h7n,eh),SWn.wj=function(n){return WC(n)},SWn.xj=function(n){return D8(Ytt,hVn,2,n,6,1)},mX(x7n,"XMLTypePackageImpl/25",1876),dAn(1877,1,h7n,ih),SWn.wj=function(n){return WC(n)},SWn.xj=function(n){return D8(Ytt,hVn,2,n,6,1)},mX(x7n,"XMLTypePackageImpl/26",1877),dAn(1878,1,h7n,rh),SWn.wj=function(n){return aL(n,15)},SWn.xj=function(n){return D8(Knt,tZn,15,n,0,1)},mX(x7n,"XMLTypePackageImpl/27",1878),dAn(1879,1,h7n,ch),SWn.wj=function(n){return aL(n,15)},SWn.xj=function(n){return D8(Knt,tZn,15,n,0,1)},mX(x7n,"XMLTypePackageImpl/28",1879),dAn(1880,1,h7n,ah),SWn.wj=function(n){return WC(n)},SWn.xj=function(n){return D8(Ytt,hVn,2,n,6,1)},mX(x7n,"XMLTypePackageImpl/29",1880),dAn(1854,1,h7n,uh),SWn.wj=function(n){return aL(n,667)},SWn.xj=function(n){return D8(ULt,qWn,2021,n,0,1)},mX(x7n,"XMLTypePackageImpl/3",1854),dAn(1881,1,h7n,oh),SWn.wj=function(n){return aL(n,19)},SWn.xj=function(n){return D8($tt,hVn,19,n,0,1)},mX(x7n,"XMLTypePackageImpl/30",1881),dAn(1882,1,h7n,sh),SWn.wj=function(n){return WC(n)},SWn.xj=function(n){return D8(Ytt,hVn,2,n,6,1)},mX(x7n,"XMLTypePackageImpl/31",1882),dAn(1883,1,h7n,hh),SWn.wj=function(n){return aL(n,162)},SWn.xj=function(n){return D8(Ktt,hVn,162,n,0,1)},mX(x7n,"XMLTypePackageImpl/32",1883),dAn(1884,1,h7n,fh),SWn.wj=function(n){return WC(n)},SWn.xj=function(n){return D8(Ytt,hVn,2,n,6,1)},mX(x7n,"XMLTypePackageImpl/33",1884),dAn(1885,1,h7n,lh),SWn.wj=function(n){return WC(n)},SWn.xj=function(n){return D8(Ytt,hVn,2,n,6,1)},mX(x7n,"XMLTypePackageImpl/34",1885),dAn(1886,1,h7n,bh),SWn.wj=function(n){return WC(n)},SWn.xj=function(n){return D8(Ytt,hVn,2,n,6,1)},mX(x7n,"XMLTypePackageImpl/35",1886),dAn(1887,1,h7n,wh),SWn.wj=function(n){return WC(n)},SWn.xj=function(n){return D8(Ytt,hVn,2,n,6,1)},mX(x7n,"XMLTypePackageImpl/36",1887),dAn(1888,1,h7n,dh),SWn.wj=function(n){return aL(n,15)},SWn.xj=function(n){return D8(Knt,tZn,15,n,0,1)},mX(x7n,"XMLTypePackageImpl/37",1888),dAn(1889,1,h7n,gh),SWn.wj=function(n){return aL(n,15)},SWn.xj=function(n){return D8(Knt,tZn,15,n,0,1)},mX(x7n,"XMLTypePackageImpl/38",1889),dAn(1890,1,h7n,ph),SWn.wj=function(n){return WC(n)},SWn.xj=function(n){return D8(Ytt,hVn,2,n,6,1)},mX(x7n,"XMLTypePackageImpl/39",1890),dAn(1855,1,h7n,vh),SWn.wj=function(n){return aL(n,668)},SWn.xj=function(n){return D8(XLt,qWn,2022,n,0,1)},mX(x7n,"XMLTypePackageImpl/4",1855),dAn(1891,1,h7n,mh),SWn.wj=function(n){return WC(n)},SWn.xj=function(n){return D8(Ytt,hVn,2,n,6,1)},mX(x7n,"XMLTypePackageImpl/40",1891),dAn(1892,1,h7n,yh),SWn.wj=function(n){return WC(n)},SWn.xj=function(n){return D8(Ytt,hVn,2,n,6,1)},mX(x7n,"XMLTypePackageImpl/41",1892),dAn(1893,1,h7n,kh),SWn.wj=function(n){return WC(n)},SWn.xj=function(n){return D8(Ytt,hVn,2,n,6,1)},mX(x7n,"XMLTypePackageImpl/42",1893),dAn(1894,1,h7n,jh),SWn.wj=function(n){return WC(n)},SWn.xj=function(n){return D8(Ytt,hVn,2,n,6,1)},mX(x7n,"XMLTypePackageImpl/43",1894),dAn(1895,1,h7n,Eh),SWn.wj=function(n){return WC(n)},SWn.xj=function(n){return D8(Ytt,hVn,2,n,6,1)},mX(x7n,"XMLTypePackageImpl/44",1895),dAn(1896,1,h7n,Th),SWn.wj=function(n){return aL(n,184)},SWn.xj=function(n){return D8(Ftt,hVn,184,n,0,1)},mX(x7n,"XMLTypePackageImpl/45",1896),dAn(1897,1,h7n,Mh),SWn.wj=function(n){return WC(n)},SWn.xj=function(n){return D8(Ytt,hVn,2,n,6,1)},mX(x7n,"XMLTypePackageImpl/46",1897),dAn(1898,1,h7n,Sh),SWn.wj=function(n){return WC(n)},SWn.xj=function(n){return D8(Ytt,hVn,2,n,6,1)},mX(x7n,"XMLTypePackageImpl/47",1898),dAn(1899,1,h7n,Ph),SWn.wj=function(n){return WC(n)},SWn.xj=function(n){return D8(Ytt,hVn,2,n,6,1)},mX(x7n,"XMLTypePackageImpl/48",1899),dAn(hQn,1,h7n,Ih),SWn.wj=function(n){return aL(n,184)},SWn.xj=function(n){return D8(Ftt,hVn,184,n,0,1)},mX(x7n,"XMLTypePackageImpl/49",hQn),dAn(1856,1,h7n,Ch),SWn.wj=function(n){return aL(n,669)},SWn.xj=function(n){return D8(WLt,qWn,2023,n,0,1)},mX(x7n,"XMLTypePackageImpl/5",1856),dAn(1901,1,h7n,Oh),SWn.wj=function(n){return aL(n,162)},SWn.xj=function(n){return D8(Ktt,hVn,162,n,0,1)},mX(x7n,"XMLTypePackageImpl/50",1901),dAn(1902,1,h7n,Ah),SWn.wj=function(n){return WC(n)},SWn.xj=function(n){return D8(Ytt,hVn,2,n,6,1)},mX(x7n,"XMLTypePackageImpl/51",1902),dAn(1903,1,h7n,$h),SWn.wj=function(n){return aL(n,19)},SWn.xj=function(n){return D8($tt,hVn,19,n,0,1)},mX(x7n,"XMLTypePackageImpl/52",1903),dAn(1857,1,h7n,Lh),SWn.wj=function(n){return WC(n)},SWn.xj=function(n){return D8(Ytt,hVn,2,n,6,1)},mX(x7n,"XMLTypePackageImpl/6",1857),dAn(1858,1,h7n,Nh),SWn.wj=function(n){return aL(n,190)},SWn.xj=function(n){return D8(xNt,hVn,190,n,0,2)},mX(x7n,"XMLTypePackageImpl/7",1858),dAn(1859,1,h7n,xh),SWn.wj=function(n){return UC(n)},SWn.xj=function(n){return D8(jtt,hVn,476,n,8,1)},mX(x7n,"XMLTypePackageImpl/8",1859),dAn(1860,1,h7n,Dh),SWn.wj=function(n){return aL(n,217)},SWn.xj=function(n){return D8(Mtt,hVn,217,n,0,1)},mX(x7n,"XMLTypePackageImpl/9",1860),dAn(50,60,HVn,uk),mX(unt,"RegEx/ParseException",50),dAn(820,1,{},Rh),SWn.sl=function(n){return n16*e)throw qp(new uk(jWn((o$(),q8n))));e=16*e+r}if(125!=this.a)throw qp(new uk(jWn((o$(),G8n))));if(e>ont)throw qp(new uk(jWn((o$(),z8n))));n=e}else{if(r=0,0!=this.c||(r=zvn(this.a))<0)throw qp(new uk(jWn((o$(),H8n))));if(e=r,YXn(this),0!=this.c||(r=zvn(this.a))<0)throw qp(new uk(jWn((o$(),H8n))));n=e=16*e+r}break;case 117:if(i=0,YXn(this),0!=this.c||(i=zvn(this.a))<0)throw qp(new uk(jWn((o$(),H8n))));if(t=i,YXn(this),0!=this.c||(i=zvn(this.a))<0)throw qp(new uk(jWn((o$(),H8n))));if(t=16*t+i,YXn(this),0!=this.c||(i=zvn(this.a))<0)throw qp(new uk(jWn((o$(),H8n))));if(t=16*t+i,YXn(this),0!=this.c||(i=zvn(this.a))<0)throw qp(new uk(jWn((o$(),H8n))));n=t=16*t+i;break;case 118:if(YXn(this),0!=this.c||(i=zvn(this.a))<0)throw qp(new uk(jWn((o$(),H8n))));if(t=i,YXn(this),0!=this.c||(i=zvn(this.a))<0)throw qp(new uk(jWn((o$(),H8n))));if(t=16*t+i,YXn(this),0!=this.c||(i=zvn(this.a))<0)throw qp(new uk(jWn((o$(),H8n))));if(t=16*t+i,YXn(this),0!=this.c||(i=zvn(this.a))<0)throw qp(new uk(jWn((o$(),H8n))));if(t=16*t+i,YXn(this),0!=this.c||(i=zvn(this.a))<0)throw qp(new uk(jWn((o$(),H8n))));if(t=16*t+i,YXn(this),0!=this.c||(i=zvn(this.a))<0)throw qp(new uk(jWn((o$(),H8n))));if((t=16*t+i)>ont)throw qp(new uk(jWn((o$(),"parser.descappe.4"))));n=t;break;case 65:case 90:case 122:throw qp(new uk(jWn((o$(),U8n))))}return n},SWn.ul=function(n){var t;switch(n){case 100:t=32==(32&this.e)?nXn("Nd",!0):(dWn(),oNt);break;case 68:t=32==(32&this.e)?nXn("Nd",!1):(dWn(),bNt);break;case 119:t=32==(32&this.e)?nXn("IsWord",!0):(dWn(),jNt);break;case 87:t=32==(32&this.e)?nXn("IsWord",!1):(dWn(),dNt);break;case 115:t=32==(32&this.e)?nXn("IsSpace",!0):(dWn(),pNt);break;case 83:t=32==(32&this.e)?nXn("IsSpace",!1):(dWn(),wNt);break;default:throw qp(new gy(snt+n.toString(16)))}return t},SWn.vl=function(n){var t,e,i,r,c,a,u,o,s,h,f;for(this.b=1,YXn(this),t=null,0==this.c&&94==this.a?(YXn(this),n?(dWn(),dWn(),s=new S0(5)):(dWn(),dWn(),Jxn(t=new S0(4),0,ont),s=new S0(4))):(dWn(),dWn(),s=new S0(4)),r=!0;1!=(f=this.c)&&(0!=f||93!=this.a||r);){if(r=!1,e=this.a,i=!1,10==f)switch(e){case 100:case 68:case 119:case 87:case 115:case 83:hHn(s,this.ul(e)),i=!0;break;case 105:case 73:case 99:case 67:(e=this.Ll(s,e))<0&&(i=!0);break;case 112:case 80:if(!(h=RCn(this,e)))throw qp(new uk(jWn((o$(),A8n))));hHn(s,h),i=!0;break;default:e=this.tl()}else if(20==f){if((c=bx(this.i,58,this.d))<0)throw qp(new uk(jWn((o$(),$8n))));if(a=!0,94==lV(this.i,this.d)&&(++this.d,a=!1),!(u=w9(lx(this.i,this.d,c),a,512==(512&this.e))))throw qp(new uk(jWn((o$(),N8n))));if(hHn(s,u),i=!0,c+1>=this.j||93!=lV(this.i,c+1))throw qp(new uk(jWn((o$(),$8n))));this.d=c+2}if(YXn(this),!i)if(0!=this.c||45!=this.a)Jxn(s,e,e);else{if(YXn(this),1==(f=this.c))throw qp(new uk(jWn((o$(),L8n))));0==f&&93==this.a?(Jxn(s,e,e),Jxn(s,45,45)):(o=this.a,10==f&&(o=this.tl()),YXn(this),Jxn(s,e,o))}(this.e&j6n)==j6n&&0==this.c&&44==this.a&&YXn(this)}if(1==this.c)throw qp(new uk(jWn((o$(),L8n))));return t&&(VGn(t,s),s=t),M$n(s),GHn(s),this.b=0,YXn(this),s},SWn.wl=function(){var n,t,e,i;for(e=this.vl(!1);7!=(i=this.c);){if(n=this.a,(0!=i||45!=n&&38!=n)&&4!=i)throw qp(new uk(jWn((o$(),F8n))));if(YXn(this),9!=this.c)throw qp(new uk(jWn((o$(),_8n))));if(t=this.vl(!1),4==i)hHn(e,t);else if(45==n)VGn(e,t);else{if(38!=n)throw qp(new gy("ASSERT"));jGn(e,t)}}return YXn(this),e},SWn.xl=function(){var n,t;return n=this.a-48,dWn(),dWn(),t=new mJ(12,null,n),!this.g&&(this.g=new Fv),Cv(this.g,new Ap(n)),YXn(this),t},SWn.yl=function(){return YXn(this),dWn(),vNt},SWn.zl=function(){return YXn(this),dWn(),gNt},SWn.Al=function(){throw qp(new uk(jWn((o$(),X8n))))},SWn.Bl=function(){throw qp(new uk(jWn((o$(),X8n))))},SWn.Cl=function(){return YXn(this),lsn()},SWn.Dl=function(){return YXn(this),dWn(),yNt},SWn.El=function(){return YXn(this),dWn(),ENt},SWn.Fl=function(){var n;if(this.d>=this.j||64!=(65504&(n=lV(this.i,this.d++))))throw qp(new uk(jWn((o$(),P8n))));return YXn(this),dWn(),dWn(),new sG(0,n-64)},SWn.Gl=function(){return YXn(this),KFn()},SWn.Hl=function(){return YXn(this),dWn(),TNt},SWn.Il=function(){var n;return dWn(),dWn(),n=new sG(0,105),YXn(this),n},SWn.Jl=function(){return YXn(this),dWn(),kNt},SWn.Kl=function(){return YXn(this),dWn(),mNt},SWn.Ll=function(n,t){return this.tl()},SWn.Ml=function(){return YXn(this),dWn(),fNt},SWn.Nl=function(){var n,t,e,i,r;if(this.d+1>=this.j)throw qp(new uk(jWn((o$(),T8n))));if(i=-1,t=null,49<=(n=lV(this.i,this.d))&&n<=57){if(i=n-48,!this.g&&(this.g=new Fv),Cv(this.g,new Ap(i)),++this.d,41!=lV(this.i,this.d))throw qp(new uk(jWn((o$(),k8n))));++this.d}else switch(63==n&&--this.d,YXn(this),(t=AXn(this)).e){case 20:case 21:case 22:case 23:break;case 8:if(7!=this.c)throw qp(new uk(jWn((o$(),k8n))));break;default:throw qp(new uk(jWn((o$(),M8n))))}if(YXn(this),e=null,2==(r=Qdn(this)).e){if(2!=r.em())throw qp(new uk(jWn((o$(),S8n))));e=r.am(1),r=r.am(0)}if(7!=this.c)throw qp(new uk(jWn((o$(),k8n))));return YXn(this),dWn(),dWn(),new Enn(i,t,r,e)},SWn.Ol=function(){return YXn(this),dWn(),lNt},SWn.Pl=function(){var n;if(YXn(this),n=oU(24,Qdn(this)),7!=this.c)throw qp(new uk(jWn((o$(),k8n))));return YXn(this),n},SWn.Ql=function(){var n;if(YXn(this),n=oU(20,Qdn(this)),7!=this.c)throw qp(new uk(jWn((o$(),k8n))));return YXn(this),n},SWn.Rl=function(){var n;if(YXn(this),n=oU(22,Qdn(this)),7!=this.c)throw qp(new uk(jWn((o$(),k8n))));return YXn(this),n},SWn.Sl=function(){var n,t,e,i,r;for(n=0,e=0,t=-1;this.d=this.j)throw qp(new uk(jWn((o$(),j8n))));if(45==t){for(++this.d;this.d=this.j)throw qp(new uk(jWn((o$(),j8n))))}if(58==t){if(++this.d,YXn(this),i=$X(Qdn(this),n,e),7!=this.c)throw qp(new uk(jWn((o$(),k8n))));YXn(this)}else{if(41!=t)throw qp(new uk(jWn((o$(),E8n))));++this.d,YXn(this),i=$X(Qdn(this),n,e)}return i},SWn.Tl=function(){var n;if(YXn(this),n=oU(21,Qdn(this)),7!=this.c)throw qp(new uk(jWn((o$(),k8n))));return YXn(this),n},SWn.Ul=function(){var n;if(YXn(this),n=oU(23,Qdn(this)),7!=this.c)throw qp(new uk(jWn((o$(),k8n))));return YXn(this),n},SWn.Vl=function(){var n,t;if(YXn(this),n=this.f++,t=sU(Qdn(this),n),7!=this.c)throw qp(new uk(jWn((o$(),k8n))));return YXn(this),t},SWn.Wl=function(){var n;if(YXn(this),n=sU(Qdn(this),0),7!=this.c)throw qp(new uk(jWn((o$(),k8n))));return YXn(this),n},SWn.Xl=function(n){return YXn(this),5==this.c?(YXn(this),pG(n,(dWn(),dWn(),new f4(9,n)))):pG(n,(dWn(),dWn(),new f4(3,n)))},SWn.Yl=function(n){var t;return YXn(this),dWn(),dWn(),t=new c$(2),5==this.c?(YXn(this),eqn(t,hNt),eqn(t,n)):(eqn(t,n),eqn(t,hNt)),t},SWn.Zl=function(n){return YXn(this),5==this.c?(YXn(this),dWn(),dWn(),new f4(9,n)):(dWn(),dWn(),new f4(3,n))},SWn.a=0,SWn.b=0,SWn.c=0,SWn.d=0,SWn.e=0,SWn.f=1,SWn.g=null,SWn.j=0,mX(unt,"RegEx/RegexParser",820),dAn(1824,820,{},Bm),SWn.sl=function(n){return!1},SWn.tl=function(){return GDn(this)},SWn.ul=function(n){return g_n(n)},SWn.vl=function(n){return nWn(this)},SWn.wl=function(){throw qp(new uk(jWn((o$(),X8n))))},SWn.xl=function(){throw qp(new uk(jWn((o$(),X8n))))},SWn.yl=function(){throw qp(new uk(jWn((o$(),X8n))))},SWn.zl=function(){throw qp(new uk(jWn((o$(),X8n))))},SWn.Al=function(){return YXn(this),g_n(67)},SWn.Bl=function(){return YXn(this),g_n(73)},SWn.Cl=function(){throw qp(new uk(jWn((o$(),X8n))))},SWn.Dl=function(){throw qp(new uk(jWn((o$(),X8n))))},SWn.El=function(){throw qp(new uk(jWn((o$(),X8n))))},SWn.Fl=function(){return YXn(this),g_n(99)},SWn.Gl=function(){throw qp(new uk(jWn((o$(),X8n))))},SWn.Hl=function(){throw qp(new uk(jWn((o$(),X8n))))},SWn.Il=function(){return YXn(this),g_n(105)},SWn.Jl=function(){throw qp(new uk(jWn((o$(),X8n))))},SWn.Kl=function(){throw qp(new uk(jWn((o$(),X8n))))},SWn.Ll=function(n,t){return hHn(n,g_n(t)),-1},SWn.Ml=function(){return YXn(this),dWn(),dWn(),new sG(0,94)},SWn.Nl=function(){throw qp(new uk(jWn((o$(),X8n))))},SWn.Ol=function(){return YXn(this),dWn(),dWn(),new sG(0,36)},SWn.Pl=function(){throw qp(new uk(jWn((o$(),X8n))))},SWn.Ql=function(){throw qp(new uk(jWn((o$(),X8n))))},SWn.Rl=function(){throw qp(new uk(jWn((o$(),X8n))))},SWn.Sl=function(){throw qp(new uk(jWn((o$(),X8n))))},SWn.Tl=function(){throw qp(new uk(jWn((o$(),X8n))))},SWn.Ul=function(){throw qp(new uk(jWn((o$(),X8n))))},SWn.Vl=function(){var n;if(YXn(this),n=sU(Qdn(this),0),7!=this.c)throw qp(new uk(jWn((o$(),k8n))));return YXn(this),n},SWn.Wl=function(){throw qp(new uk(jWn((o$(),X8n))))},SWn.Xl=function(n){return YXn(this),pG(n,(dWn(),dWn(),new f4(3,n)))},SWn.Yl=function(n){var t;return YXn(this),dWn(),dWn(),eqn(t=new c$(2),n),eqn(t,hNt),t},SWn.Zl=function(n){return YXn(this),dWn(),dWn(),new f4(3,n)};var tNt=null,eNt=null;mX(unt,"RegEx/ParserForXMLSchema",1824),dAn(117,1,knt,$p),SWn.$l=function(n){throw qp(new gy("Not supported."))},SWn._l=function(){return-1},SWn.am=function(n){return null},SWn.bm=function(){return null},SWn.cm=function(n){},SWn.dm=function(n){},SWn.em=function(){return 0},SWn.Ib=function(){return this.fm(0)},SWn.fm=function(n){return 11==this.e?".":""},SWn.e=0;var iNt,rNt,cNt,aNt,uNt,oNt,sNt,hNt,fNt,lNt,bNt,wNt,dNt,gNt,pNt,vNt,mNt,yNt,kNt,jNt,ENt,TNt,MNt,SNt,PNt=null,INt=null,CNt=null,ONt=mX(unt,"RegEx/Token",117);dAn(136,117,{3:1,136:1,117:1},S0),SWn.fm=function(n){var t,e,i;if(4==this.e)if(this==sNt)e=".";else if(this==oNt)e="\\d";else if(this==jNt)e="\\w";else if(this==pNt)e="\\s";else{for((i=new Pk).a+="[",t=0;t0&&(i.a+=","),this.b[t]===this.b[t+1]?aO(i,uBn(this.b[t])):(aO(i,uBn(this.b[t])),i.a+="-",aO(i,uBn(this.b[t+1])));i.a+="]",e=i.a}else if(this==bNt)e="\\D";else if(this==dNt)e="\\W";else if(this==wNt)e="\\S";else{for((i=new Pk).a+="[^",t=0;t0&&(i.a+=","),this.b[t]===this.b[t+1]?aO(i,uBn(this.b[t])):(aO(i,uBn(this.b[t])),i.a+="-",aO(i,uBn(this.b[t+1])));i.a+="]",e=i.a}return e},SWn.a=!1,SWn.c=!1,mX(unt,"RegEx/RangeToken",136),dAn(584,1,{584:1},Ap),SWn.a=0,mX(unt,"RegEx/RegexParser/ReferencePosition",584),dAn(583,1,{3:1,583:1},WE),SWn.Fb=function(n){var t;return null!=n&&!!aL(n,583)&&(t=HB(n,583),yK(this.b,t.b)&&this.a==t.a)},SWn.Hb=function(){return mvn(this.b+"/"+exn(this.a))},SWn.Ib=function(){return this.c.fm(this.a)},SWn.a=0,mX(unt,"RegEx/RegularExpression",583),dAn(223,117,knt,sG),SWn._l=function(){return this.a},SWn.fm=function(n){var t,e;switch(this.e){case 0:switch(this.a){case 124:case 42:case 43:case 63:case 40:case 41:case 46:case 91:case 123:case 92:e="\\"+IR(this.a&YVn);break;case 12:e="\\f";break;case 10:e="\\n";break;case 13:e="\\r";break;case 9:e="\\t";break;case 27:e="\\e";break;default:e=this.a>=HQn?"\\v"+lx(t="0"+(this.a>>>0).toString(16),t.length-6,t.length):""+IR(this.a&YVn)}break;case 8:e=this==fNt||this==lNt?""+IR(this.a&YVn):"\\"+IR(this.a&YVn);break;default:e=null}return e},SWn.a=0,mX(unt,"RegEx/Token/CharToken",223),dAn(309,117,knt,f4),SWn.am=function(n){return this.a},SWn.cm=function(n){this.b=n},SWn.dm=function(n){this.c=n},SWn.em=function(){return 1},SWn.fm=function(n){var t;if(3==this.e)if(this.c<0&&this.b<0)t=this.a.fm(n)+"*";else if(this.c==this.b)t=this.a.fm(n)+"{"+this.c+"}";else if(this.c>=0&&this.b>=0)t=this.a.fm(n)+"{"+this.c+","+this.b+"}";else{if(!(this.c>=0&&this.b<0))throw qp(new gy("Token#toString(): CLOSURE "+this.c+BWn+this.b));t=this.a.fm(n)+"{"+this.c+",}"}else if(this.c<0&&this.b<0)t=this.a.fm(n)+"*?";else if(this.c==this.b)t=this.a.fm(n)+"{"+this.c+"}?";else if(this.c>=0&&this.b>=0)t=this.a.fm(n)+"{"+this.c+","+this.b+"}?";else{if(!(this.c>=0&&this.b<0))throw qp(new gy("Token#toString(): NONGREEDYCLOSURE "+this.c+BWn+this.b));t=this.a.fm(n)+"{"+this.c+",}?"}return t},SWn.b=0,SWn.c=0,mX(unt,"RegEx/Token/ClosureToken",309),dAn(821,117,knt,XU),SWn.am=function(n){return 0==n?this.a:this.b},SWn.em=function(){return 2},SWn.fm=function(n){return 3==this.b.e&&this.b.am(0)==this.a?this.a.fm(n)+"+":9==this.b.e&&this.b.am(0)==this.a?this.a.fm(n)+"+?":this.a.fm(n)+""+this.b.fm(n)},mX(unt,"RegEx/Token/ConcatToken",821),dAn(1822,117,knt,Enn),SWn.am=function(n){if(0==n)return this.d;if(1==n)return this.b;throw qp(new gy("Internal Error: "+n))},SWn.em=function(){return this.b?2:1},SWn.fm=function(n){var t;return t=this.c>0?"(?("+this.c+")":8==this.a.e?"(?("+this.a+")":"(?"+this.a,this.b?t+=this.d+"|"+this.b+")":t+=this.d+")",t},SWn.c=0,mX(unt,"RegEx/Token/ConditionToken",1822),dAn(1823,117,knt,M0),SWn.am=function(n){return this.b},SWn.em=function(){return 1},SWn.fm=function(n){return"(?"+(0==this.a?"":exn(this.a))+(0==this.c?"":exn(this.c))+":"+this.b.fm(n)+")"},SWn.a=0,SWn.c=0,mX(unt,"RegEx/Token/ModifierToken",1823),dAn(822,117,knt,aW),SWn.am=function(n){return this.a},SWn.em=function(){return 1},SWn.fm=function(n){var t;switch(t=null,this.e){case 6:t=0==this.b?"(?:"+this.a.fm(n)+")":"("+this.a.fm(n)+")";break;case 20:t="(?="+this.a.fm(n)+")";break;case 21:t="(?!"+this.a.fm(n)+")";break;case 22:t="(?<="+this.a.fm(n)+")";break;case 23:t="(?"+this.a.fm(n)+")"}return t},SWn.b=0,mX(unt,"RegEx/Token/ParenToken",822),dAn(521,117,{3:1,117:1,521:1},mJ),SWn.bm=function(){return this.b},SWn.fm=function(n){return 12==this.e?"\\"+this.a:rAn(this.b)},SWn.a=0,mX(unt,"RegEx/Token/StringToken",521),dAn(465,117,knt,c$),SWn.$l=function(n){eqn(this,n)},SWn.am=function(n){return HB(wW(this.a,n),117)},SWn.em=function(){return this.a?this.a.a.c.length:0},SWn.fm=function(n){var t,e,i,r,c;if(1==this.e){if(2==this.a.a.c.length)t=HB(wW(this.a,0),117),r=3==(e=HB(wW(this.a,1),117)).e&&e.am(0)==t?t.fm(n)+"+":9==e.e&&e.am(0)==t?t.fm(n)+"+?":t.fm(n)+""+e.fm(n);else{for(c=new Pk,i=0;i=this.c.b:this.a<=this.c.b},SWn.Sb=function(){return this.b>0},SWn.Tb=function(){return this.b},SWn.Vb=function(){return this.b-1},SWn.Qb=function(){throw qp(new ek(Pnt))},SWn.a=0,SWn.b=0,mX(Tnt,"ExclusiveRange/RangeIterator",254);var ANt=KW(I9n,"C"),$Nt=KW(A9n,"I"),LNt=KW(LWn,"Z"),NNt=KW($9n,"J"),xNt=KW(P9n,"B"),DNt=KW(C9n,"D"),RNt=KW(O9n,"F"),KNt=KW(L9n,"S"),_Nt=wq("org.eclipse.elk.core.labels","ILabelManager"),FNt=wq(H6n,"DiagnosticChain"),BNt=wq(l7n,"ResourceSet"),HNt=mX(H6n,"InvocationTargetException",null),qNt=(Rk(),l5),GNt=GNt=fEn;nin(Yp),hcn("permProps",[[[Int,Cnt],[Ont,"gecko1_8"]],[[Int,Cnt],[Ont,"ie10"]],[[Int,Cnt],[Ont,"ie8"]],[[Int,Cnt],[Ont,"ie9"]],[[Int,Cnt],[Ont,"safari"]]]),GNt(null,"elk",null)}).call(this)}).call(this,void 0!==e.g?e.g:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],3:[function(n,t,e){"use strict";function r(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function")}function c(n,t){if(!n)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?n:t}function a(n,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);n.prototype=Object.create(t&&t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(n,t):n.__proto__=t)}var u=function(t){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};r(this,e);var a=Object.assign({},t),u=!1;try{n.resolve("web-worker"),u=!0}catch(h){}if(t.workerUrl)if(u){var o=n("web-worker");a.workerFactory=function(n){return new o(n)}}else i.warn("Web worker requested but 'web-worker' package not installed. \nConsider installing the package or pass your own 'workerFactory' to ELK's constructor.\n... Falling back to non-web worker version.");if(!a.workerFactory){var s=n("./elk-worker.min.js").Worker;a.workerFactory=function(n){return new s(n)}}return c(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,a))}return a(e,t),e}(n("./elk-api.js").default);Object.defineProperty(t.exports,"__esModule",{value:!0}),t.exports=u,u.default=u},{"./elk-api.js":1,"./elk-worker.min.js":2,"web-worker":4}],4:[function(n,t,e){t.exports=Worker},{}]},{},[3])(3)},71639:(n,t,e)=>{"use strict";e.d(t,{diagram:()=>k});var i=e(41813),r=e(38077),c=e(96076),a=e(81581),u=e(17295);e(27484),e(17967),e(27856);const o=new u;let s={};const h={};let f={};const l=(n,t,e)=>{const i={TB:{in:{north:"north"},out:{south:"west",west:"east",east:"south"}},LR:{in:{west:"west"},out:{east:"south",south:"north",north:"east"}},RL:{in:{east:"east"},out:{west:"north",north:"south",south:"west"}},BT:{in:{south:"south"},out:{north:"east",east:"west",west:"north"}}};return i.TD=i.TB,a.l.info("abc88",e,t,n),i[e][t][n]},b=(n,t,e)=>{if(a.l.info("getNextPort abc88",{node:n,edgeDirection:t,graphDirection:e}),!s[n])switch(e){case"TB":case"TD":s[n]={inPosition:"north",outPosition:"south"};break;case"BT":s[n]={inPosition:"south",outPosition:"north"};break;case"RL":s[n]={inPosition:"east",outPosition:"west"};break;case"LR":s[n]={inPosition:"west",outPosition:"east"}}const i="in"===t?s[n].inPosition:s[n].outPosition;return"in"===t?s[n].inPosition=l(s[n].inPosition,t,e):s[n].outPosition=l(s[n].outPosition,t,e),i},w=function(n,t,e,i){a.l.info("abc78 edges = ",n);const u=i.insert("g").attr("class","edgeLabels");let o,s,l={},w=t.db.getDirection();if(void 0!==n.defaultStyle){const t=(0,a.k)(n.defaultStyle);o=t.style,s=t.labelStyle}return n.forEach((function(t){const i="L-"+t.start+"-"+t.end;void 0===l[i]?(l[i]=0,a.l.info("abc78 new entry",i,l[i])):(l[i]++,a.l.info("abc78 new entry",i,l[i]));let d=i+"-"+l[i];a.l.info("abc78 new link id to be used is",i,d,l[i]);const g="LS-"+t.start,p="LE-"+t.end,v={style:"",labelStyle:""};switch(v.minlen=t.length||1,"arrow_open"===t.type?v.arrowhead="none":v.arrowhead="normal",v.arrowTypeStart="arrow_open",v.arrowTypeEnd="arrow_open",t.type){case"double_arrow_cross":v.arrowTypeStart="arrow_cross";case"arrow_cross":v.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":v.arrowTypeStart="arrow_point";case"arrow_point":v.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":v.arrowTypeStart="arrow_circle";case"arrow_circle":v.arrowTypeEnd="arrow_circle"}let m="",y="";switch(t.stroke){case"normal":m="fill:none;",void 0!==o&&(m=o),void 0!==s&&(y=s),v.thickness="normal",v.pattern="solid";break;case"dotted":v.thickness="normal",v.pattern="dotted",v.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":v.thickness="thick",v.pattern="solid",v.style="stroke-width: 3.5px;fill:none;"}if(void 0!==t.style){const n=(0,a.k)(t.style);m=n.style,y=n.labelStyle}v.style=v.style+=m,v.labelStyle=v.labelStyle+=y,void 0!==t.interpolate?v.curve=(0,a.o)(t.interpolate,r.c_6):void 0!==n.defaultInterpolate?v.curve=(0,a.o)(n.defaultInterpolate,r.c_6):v.curve=(0,a.o)(h.curve,r.c_6),void 0===t.text?void 0!==t.style&&(v.arrowheadStyle="fill: #333"):(v.arrowheadStyle="fill: #333",v.labelpos="c"),v.labelType=t.labelType,v.label=t.text.replace(a.e.lineBreakRegex,"\n"),void 0===t.style&&(v.style=v.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),v.labelStyle=v.labelStyle.replace("color:","fill:"),v.id=d,v.classes="flowchart-link "+g+" "+p;const k=(0,c.f)(u,v),{source:j,target:E,sourceId:T,targetId:M}=((n,t)=>{let e=n.start,i=n.end;const r=e,c=i,a=f[e],u=f[i];return a&&u?("diamond"===a.type&&(e=`${e}-${b(e,"out",t)}`),"diamond"===u.type&&(i=`${i}-${b(i,"in",t)}`),{source:e,target:i,sourceId:r,targetId:c}):{source:e,target:i}})(t,w);a.l.debug("abc78 source and target",j,E),e.edges.push({id:"e"+t.start+t.end,sources:[j],targets:[E],sourceId:T,targetId:M,labelEl:k,labels:[{width:v.width,height:v.height,orgWidth:v.width,orgHeight:v.height,text:v.label,layoutOptions:{"edgeLabels.inline":"true","edgeLabels.placement":"CENTER"}}],edgeData:v})})),e},d=function(n,t,e){const i=((n,t,e)=>{const{parentById:i}=e,r=new Set;let c=n;for(;c;){if(r.add(c),c===t)return c;c=i[c]}for(c=t;c;){if(r.has(c))return c;c=i[c]}return"root"})(n,t,e);if(void 0===i||"root"===i)return{x:0,y:0};const r=f[i].offset;return{x:r.posX,y:r.posY}},g=function(n,t,e,i,c){const a=d(t.sourceId,t.targetId,c),u=t.sections[0].startPoint,o=t.sections[0].endPoint,s=(t.sections[0].bendPoints?t.sections[0].bendPoints:[]).map((n=>[n.x+a.x,n.y+a.y])),h=[[u.x+a.x,u.y+a.y],...s,[o.x+a.x,o.y+a.y]],f=(0,r.jvg)().curve(r.c_6),l=n.insert("path").attr("d",f(h)).attr("class","path "+e.classes).attr("fill","none"),b=n.insert("g").attr("class","edgeLabel"),w=(0,r.Ys)(b.node().appendChild(t.labelEl)),g=w.node().firstChild.getBoundingClientRect();w.attr("width",g.width),w.attr("height",g.height),b.attr("transform",`translate(${t.labels[0].x+a.x}, ${t.labels[0].y+a.y})`),function(n,t,e,i){let r="";switch(i&&(r=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,r=r.replace(/\(/g,"\\("),r=r.replace(/\)/g,"\\)")),t.arrowTypeStart){case"arrow_cross":n.attr("marker-start","url("+r+"#"+e+"-crossStart)");break;case"arrow_point":n.attr("marker-start","url("+r+"#"+e+"-pointStart)");break;case"arrow_barb":n.attr("marker-start","url("+r+"#"+e+"-barbStart)");break;case"arrow_circle":n.attr("marker-start","url("+r+"#"+e+"-circleStart)");break;case"aggregation":n.attr("marker-start","url("+r+"#"+e+"-aggregationStart)");break;case"extension":n.attr("marker-start","url("+r+"#"+e+"-extensionStart)");break;case"composition":n.attr("marker-start","url("+r+"#"+e+"-compositionStart)");break;case"dependency":n.attr("marker-start","url("+r+"#"+e+"-dependencyStart)");break;case"lollipop":n.attr("marker-start","url("+r+"#"+e+"-lollipopStart)")}switch(t.arrowTypeEnd){case"arrow_cross":n.attr("marker-end","url("+r+"#"+e+"-crossEnd)");break;case"arrow_point":n.attr("marker-end","url("+r+"#"+e+"-pointEnd)");break;case"arrow_barb":n.attr("marker-end","url("+r+"#"+e+"-barbEnd)");break;case"arrow_circle":n.attr("marker-end","url("+r+"#"+e+"-circleEnd)");break;case"aggregation":n.attr("marker-end","url("+r+"#"+e+"-aggregationEnd)");break;case"extension":n.attr("marker-end","url("+r+"#"+e+"-extensionEnd)");break;case"composition":n.attr("marker-end","url("+r+"#"+e+"-compositionEnd)");break;case"dependency":n.attr("marker-end","url("+r+"#"+e+"-dependencyEnd)");break;case"lollipop":n.attr("marker-end","url("+r+"#"+e+"-lollipopEnd)")}}(l,e,i.type,i.arrowMarkerAbsolute)},p=(n,t)=>{n.forEach((n=>{n.children||(n.children=[]);const e=t.childrenById[n.id];e&&e.forEach((t=>{n.children.push(f[t])})),p(n.children,t)}))},v=(n,t,e,i,r,c,u)=>{e.forEach((function(e){if(e)if(f[e.id].offset={posX:e.x+n,posY:e.y+t,x:n,y:t,depth:u,width:e.width,height:e.height},"group"===e.type){const i=r.insert("g").attr("class","subgraph");i.insert("rect").attr("class","subgraph subgraph-lvl-"+u%5+" node").attr("x",e.x+n).attr("y",e.y+t).attr("width",e.width).attr("height",e.height);const c=i.insert("g").attr("class","label"),o=(0,a.c)().flowchart.htmlLabels?e.labelData.width/2:0;c.attr("transform",`translate(${e.labels[0].x+n+e.x+o}, ${e.labels[0].y+t+e.y+3})`),c.node().appendChild(e.labelData.labelNode),a.l.info("Id (UGH)= ",e.type,e.labels)}else a.l.info("Id (UGH)= ",e.id),e.el.attr("transform",`translate(${e.x+n+e.width/2}, ${e.y+t+e.height/2})`)})),e.forEach((function(e){e&&"group"===e.type&&v(n+e.x,t+e.y,e.children,i,r,c,u+1)}))},m={getClasses:function(n,t){return a.l.info("Extracting classes"),t.db.getClasses()},draw:async function(n,t,e,i){var u;f={},s={};const h=(0,r.Ys)("body").append("div").attr("style","height:400px").attr("id","cy");let l={id:"root",layoutOptions:{"elk.hierarchyHandling":"INCLUDE_CHILDREN","org.eclipse.elk.padding":"[top=100, left=100, bottom=110, right=110]","elk.layered.spacing.edgeNodeBetweenLayers":"30","elk.direction":"DOWN"},children:[],edges:[]};switch(a.l.info("Drawing flowchart using v3 renderer",o),i.db.getDirection()){case"BT":l.layoutOptions["elk.direction"]="UP";break;case"TB":l.layoutOptions["elk.direction"]="DOWN";break;case"LR":l.layoutOptions["elk.direction"]="RIGHT";break;case"RL":l.layoutOptions["elk.direction"]="LEFT"}const{securityLevel:b,flowchart:d}=(0,a.c)();let m;"sandbox"===b&&(m=(0,r.Ys)("#i"+t));const y="sandbox"===b?(0,r.Ys)(m.nodes()[0].contentDocument.body):(0,r.Ys)("body"),k="sandbox"===b?m.nodes()[0].contentDocument:document,j=y.select(`[id="${t}"]`);(0,c.a)(j,["point","circle","cross"],i.type,i.arrowMarkerAbsolute);const E=i.db.getVertices();let T;const M=i.db.getSubGraphs();a.l.info("Subgraphs - ",M);for(let r=M.length-1;r>=0;r--)T=M[r],i.db.addVertex(T.id,{text:T.title,type:T.labelType},"group",void 0,T.classes,T.dir);const S=j.insert("g").attr("class","subgraphs"),P=function(n){const t={parentById:{},childrenById:{}},e=n.getSubGraphs();return a.l.info("Subgraphs - ",e),e.forEach((function(n){n.nodes.forEach((function(e){t.parentById[e]=n.id,void 0===t.childrenById[n.id]&&(t.childrenById[n.id]=[]),t.childrenById[n.id].push(e)}))})),e.forEach((function(n){n.id,void 0!==t.parentById[n.id]&&t.parentById[n.id]})),t}(i.db);l=await async function(n,t,e,i,r,u,o){const s=e.select(`[id="${t}"]`).insert("g").attr("class","nodes"),h=Object.keys(n);return await Promise.all(h.map((async function(t){const e=n[t];let o="default";e.classes.length>0&&(o=e.classes.join(" ")),o+=" flowchart-label";const h=(0,a.k)(e.styles);let l=void 0!==e.text?e.text:e.id;const b={width:0,height:0},w=[{id:e.id+"-west",layoutOptions:{"port.side":"WEST"}},{id:e.id+"-east",layoutOptions:{"port.side":"EAST"}},{id:e.id+"-south",layoutOptions:{"port.side":"SOUTH"}},{id:e.id+"-north",layoutOptions:{"port.side":"NORTH"}}];let d=0,g="",p={};switch(e.type){case"round":d=5,g="rect";break;case"square":case"group":default:g="rect";break;case"diamond":g="question",p={portConstraints:"FIXED_SIDE"};break;case"hexagon":g="hexagon";break;case"odd":case"odd_right":g="rect_left_inv_arrow";break;case"lean_right":g="lean_right";break;case"lean_left":g="lean_left";break;case"trapezoid":g="trapezoid";break;case"inv_trapezoid":g="inv_trapezoid";break;case"circle":g="circle";break;case"ellipse":g="ellipse";break;case"stadium":g="stadium";break;case"subroutine":g="subroutine";break;case"cylinder":g="cylinder";break;case"doublecircle":g="doublecircle"}const v={labelStyle:h.labelStyle,shape:g,labelText:l,labelType:e.labelType,rx:d,ry:d,class:o,style:h.style,id:e.id,link:e.link,linkTarget:e.linkTarget,tooltip:r.db.getTooltip(e.id)||"",domId:r.db.lookUpDomId(e.id),haveCallback:e.haveCallback,width:"group"===e.type?500:void 0,dir:e.dir,type:e.type,props:e.props,padding:(0,a.c)().flowchart.padding};let m,y;if("group"!==v.type)y=await(0,c.e)(s,v,e.dir),m=y.node().getBBox();else{i.createElementNS("http://www.w3.org/2000/svg","text");const{shapeSvg:n,bbox:t}=await(0,c.l)(s,v,void 0,!0);b.width=t.width,b.wrappingWidth=(0,a.c)().flowchart.wrappingWidth,b.height=t.height,b.labelNode=n.node(),v.labelData=b}const k={id:e.id,ports:"diamond"===e.type?w:[],layoutOptions:p,labelText:l,labelData:b,domId:r.db.lookUpDomId(e.id),width:null==m?void 0:m.width,height:null==m?void 0:m.height,type:e.type,el:y,parent:u.parentById[e.id]};f[v.id]=k}))),o}(E,t,y,k,i,P,l);const I=j.insert("g").attr("class","edges edgePath"),C=i.db.getEdges();l=w(C,i,l,j);Object.keys(f).forEach((n=>{const t=f[n];t.parent||l.children.push(t),void 0!==P.childrenById[n]&&(t.labels=[{text:t.labelText,layoutOptions:{"nodeLabels.placement":"[H_CENTER, V_TOP, INSIDE]"},width:t.labelData.width,height:t.labelData.height}],delete t.x,delete t.y,delete t.width,delete t.height)})),p(l.children,P),a.l.info("after layout",JSON.stringify(l,null,2));const O=await o.layout(l);v(0,0,O.children,j,S,i,0),a.l.info("after layout",O),null==(u=O.edges)||u.map((n=>{g(I,n,n.edgeData,i,P)})),(0,a.p)({},j,d.diagramPadding,d.useMaxWidth),h.remove()}},y=n=>`.label {\n font-family: ${n.fontFamily};\n color: ${n.nodeTextColor||n.textColor};\n }\n .cluster-label text {\n fill: ${n.titleColor};\n }\n .cluster-label span {\n color: ${n.titleColor};\n }\n\n .label text,span {\n fill: ${n.nodeTextColor||n.textColor};\n color: ${n.nodeTextColor||n.textColor};\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${n.mainBkg};\n stroke: ${n.nodeBorder};\n stroke-width: 1px;\n }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ${n.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${n.lineColor};\n stroke-width: 2.0px;\n }\n\n .flowchart-link {\n stroke: ${n.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${n.edgeLabelBackground};\n rect {\n opacity: 0.85;\n background-color: ${n.edgeLabelBackground};\n fill: ${n.edgeLabelBackground};\n }\n text-align: center;\n }\n\n .cluster rect {\n fill: ${n.clusterBkg};\n stroke: ${n.clusterBorder};\n stroke-width: 1px;\n }\n\n .cluster text {\n fill: ${n.titleColor};\n }\n\n .cluster span {\n color: ${n.titleColor};\n }\n /* .cluster div {\n color: ${n.titleColor};\n } */\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ${n.fontFamily};\n font-size: 12px;\n background: ${n.tertiaryColor};\n border: 1px solid ${n.border2};\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .flowchartTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${n.textColor};\n }\n .subgraph {\n stroke-width:2;\n rx:3;\n }\n // .subgraph-lvl-1 {\n // fill:#ccc;\n // // stroke:black;\n // }\n\n .flowchart-label text {\n text-anchor: middle;\n }\n\n ${(n=>{let t="";for(let e=0;e<5;e++)t+=`\n .subgraph-lvl-${e} {\n fill: ${n[`surface${e}`]};\n stroke: ${n[`surfacePeer${e}`]};\n }\n `;return t})(n)}\n`,k={db:i.d,renderer:m,parser:i.p,styles:y}}}]); \ No newline at end of file diff --git a/assets/js/1644.68b15228.js b/assets/js/1644.68b15228.js new file mode 100644 index 00000000..000281fd --- /dev/null +++ b/assets/js/1644.68b15228.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkbeacon_docs=self.webpackChunkbeacon_docs||[]).push([[1644],{41644:(n,e,t)=>{t.d(e,{bK:()=>Ae});var r=t(70870),o=t(66749),i=t(17452),u=t(62002),a=t(27961),c=t(43836),s=t(74379),f=t(45625);class d{constructor(){var n={};n._next=n._prev=n,this._sentinel=n}dequeue(){var n=this._sentinel,e=n._prev;if(e!==n)return h(e),e}enqueue(n){var e=this._sentinel;n._prev&&n._next&&h(n),n._next=e._next,e._next._prev=n,e._next=n,n._prev=e}toString(){for(var n=[],e=this._sentinel,t=e._prev;t!==e;)n.push(JSON.stringify(t,v)),t=t._prev;return"["+n.join(", ")+"]"}}function h(n){n._prev._next=n._next,n._next._prev=n._prev,delete n._next,delete n._prev}function v(n,e){if("_next"!==n&&"_prev"!==n)return e}var l=u.Z(1);function Z(n,e){if(n.nodeCount()<=1)return[];var t=function(n,e){var t=new f.k,o=0,i=0;r.Z(n.nodes(),(function(n){t.setNode(n,{v:n,in:0,out:0})})),r.Z(n.edges(),(function(n){var r=t.edge(n.v,n.w)||0,u=e(n),a=r+u;t.setEdge(n.v,n.w,a),i=Math.max(i,t.node(n.v).out+=u),o=Math.max(o,t.node(n.w).in+=u)}));var u=s.Z(i+o+3).map((function(){return new d})),a=o+1;return r.Z(t.nodes(),(function(n){p(u,a,t.node(n))})),{graph:t,buckets:u,zeroIdx:a}}(n,e||l),o=function(n,e,t){var r,o=[],i=e[e.length-1],u=e[0];for(;n.nodeCount();){for(;r=u.dequeue();)g(n,e,t,r);for(;r=i.dequeue();)g(n,e,t,r);if(n.nodeCount())for(var a=e.length-2;a>0;--a)if(r=e[a].dequeue()){o=o.concat(g(n,e,t,r,!0));break}}return o}(t.graph,t.buckets,t.zeroIdx);return a.Z(c.Z(o,(function(e){return n.outEdges(e.v,e.w)})))}function g(n,e,t,o,i){var u=i?[]:void 0;return r.Z(n.inEdges(o.v),(function(r){var o=n.edge(r),a=n.node(r.v);i&&u.push({v:r.v,w:r.w}),a.out-=o,p(e,t,a)})),r.Z(n.outEdges(o.v),(function(r){var o=n.edge(r),i=r.w,u=n.node(i);u.in-=o,p(e,t,u)})),n.removeNode(o.v),u}function p(n,e,t){t.out?t.in?n[t.out-t.in+e].enqueue(t):n[n.length-1].enqueue(t):n[0].enqueue(t)}function b(n){var e="greedy"===n.graph().acyclicer?Z(n,function(n){return function(e){return n.edge(e).weight}}(n)):function(n){var e=[],t={},o={};function u(a){i.Z(o,a)||(o[a]=!0,t[a]=!0,r.Z(n.outEdges(a),(function(n){i.Z(t,n.w)?e.push(n):u(n.w)})),delete t[a])}return r.Z(n.nodes(),u),e}(n);r.Z(e,(function(e){var t=n.edge(e);n.removeEdge(e),t.forwardName=e.name,t.reversed=!0,n.setEdge(e.w,e.v,t,o.Z("rev"))}))}var w=t(59236),m=t(61666),y=t(3688),_=t(72714);const E=function(n,e,t){for(var r=-1,o=n.length;++re};var k=t(69203);const x=function(n){return n&&n.length?E(n,k.Z,j):void 0};const N=function(n){var e=null==n?0:n.length;return e?n[e-1]:void 0};var I=t(74752),C=t(2693),O=t(74765);const L=function(n,e){var t={};return e=(0,O.Z)(e,3),(0,C.Z)(n,(function(n,r,o){(0,I.Z)(t,r,e(n,r,o))})),t};var M=t(49360);const A=function(n,e){return nMath.abs(u)*s?(a<0&&(s=-s),t=s*u/a,r=s):(u<0&&(c=-c),t=c,r=c*a/u),{x:o+t,y:i+r}}function G(n){var e=c.Z(s.Z(z(n)+1),(function(){return[]}));return r.Z(n.nodes(),(function(t){var r=n.node(t),o=r.rank;M.Z(o)||(e[o][r.order]=t)})),e}function V(n,e,t,r){var o={width:0,height:0};return arguments.length>=4&&(o.rank=t,o.order=r),F(n,"border",o,e)}function z(n){return x(c.Z(n.nodes(),(function(e){var t=n.node(e).rank;if(!M.Z(t))return t})))}function q(n,e){var t=P();try{return e()}finally{T.log(n+" time: "+(P()-t)+"ms")}}function U(n,e){return e()}function Y(n,e,t,r,o,i){var u={width:0,height:0,rank:i,borderType:e},a=o[e][i-1],c=F(n,"border",u,t);o[e][i]=c,n.setParent(c,r),a&&n.setEdge(a,c,{weight:1})}function $(n){var e=n.graph().rankdir.toLowerCase();"bt"!==e&&"rl"!==e||function(n){r.Z(n.nodes(),(function(e){W(n.node(e))})),r.Z(n.edges(),(function(e){var t=n.edge(e);r.Z(t.points,W),i.Z(t,"y")&&W(t)}))}(n),"lr"!==e&&"rl"!==e||(!function(n){r.Z(n.nodes(),(function(e){H(n.node(e))})),r.Z(n.edges(),(function(e){var t=n.edge(e);r.Z(t.points,H),i.Z(t,"x")&&H(t)}))}(n),J(n))}function J(n){r.Z(n.nodes(),(function(e){K(n.node(e))})),r.Z(n.edges(),(function(e){K(n.edge(e))}))}function K(n){var e=n.width;n.width=n.height,n.height=e}function W(n){n.y=-n.y}function H(n){var e=n.x;n.x=n.y,n.y=e}function Q(n){n.graph().dummyChains=[],r.Z(n.edges(),(function(e){!function(n,e){var t,r,o,i=e.v,u=n.node(i).rank,a=e.w,c=n.node(a).rank,s=e.name,f=n.edge(e),d=f.labelRank;if(c===u+1)return;for(n.removeEdge(e),o=0,++u;u-1?o[i?e[u]:u]:void 0}};var fn=t(21692),dn=t(94099);const hn=function(n){var e=(0,dn.Z)(n),t=e%1;return e==e?t?e-t:e:0};var vn=Math.max;const ln=sn((function(n,e,t){var r=null==n?0:n.length;if(!r)return-1;var o=null==t?0:hn(t);return o<0&&(o=vn(r+o,0)),(0,fn.Z)(n,(0,O.Z)(e,3),o)}));var Zn=t(13445);u.Z(1);u.Z(1);t(39473),t(83970),t(93589);var gn=t(27771);t(18533);(0,t(54193).Z)("length");RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");var pn="\\ud800-\\udfff",bn="["+pn+"]",wn="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",mn="\\ud83c[\\udffb-\\udfff]",yn="[^"+pn+"]",_n="(?:\\ud83c[\\udde6-\\uddff]){2}",En="[\\ud800-\\udbff][\\udc00-\\udfff]",jn="(?:"+wn+"|"+mn+")"+"?",kn="[\\ufe0e\\ufe0f]?",xn=kn+jn+("(?:\\u200d(?:"+[yn,_n,En].join("|")+")"+kn+jn+")*"),Nn="(?:"+[yn+wn+"?",wn,_n,En,bn].join("|")+")";RegExp(mn+"(?="+mn+")|"+Nn+xn,"g");function In(){}function Cn(n,e,t){gn.Z(e)||(e=[e]);var o=(n.isDirected()?n.successors:n.neighbors).bind(n),i=[],u={};return r.Z(e,(function(e){if(!n.hasNode(e))throw new Error("Graph does not have node: "+e);On(n,e,"post"===t,u,o,i)})),i}function On(n,e,t,o,u,a){i.Z(o,e)||(o[e]=!0,t||a.push(e),r.Z(u(e),(function(e){On(n,e,t,o,u,a)})),t&&a.push(e))}In.prototype=new Error;t(52544);function Ln(n){n=function(n){var e=(new f.k).setGraph(n.graph());return r.Z(n.nodes(),(function(t){e.setNode(t,n.node(t))})),r.Z(n.edges(),(function(t){var r=e.edge(t.v,t.w)||{weight:0,minlen:1},o=n.edge(t);e.setEdge(t.v,t.w,{weight:r.weight+o.weight,minlen:Math.max(r.minlen,o.minlen)})})),e}(n),nn(n);var e,t=tn(n);for(Rn(t),Mn(t,n);e=Pn(t);)Fn(t,n,e,Tn(t,n,e))}function Mn(n,e){var t=function(n,e){return Cn(n,e,"post")}(n,n.nodes());t=t.slice(0,t.length-1),r.Z(t,(function(t){!function(n,e,t){var r=n.node(t),o=r.parent;n.edge(t,o).cutvalue=An(n,e,t)}(n,e,t)}))}function An(n,e,t){var o=n.node(t).parent,i=!0,u=e.edge(t,o),a=0;return u||(i=!1,u=e.edge(o,t)),a=u.weight,r.Z(e.nodeEdges(t),(function(r){var u,c,s=r.v===t,f=s?r.w:r.v;if(f!==o){var d=s===i,h=e.edge(r).weight;if(a+=d?h:-h,u=t,c=f,n.hasEdge(u,c)){var v=n.edge(t,f).cutvalue;a+=d?-v:v}}})),a}function Rn(n,e){arguments.length<2&&(e=n.nodes()[0]),Sn(n,{},1,e)}function Sn(n,e,t,o,u){var a=t,c=n.node(o);return e[o]=!0,r.Z(n.neighbors(o),(function(r){i.Z(e,r)||(t=Sn(n,e,t,r,o))})),c.low=a,c.lim=t++,u?c.parent=u:delete c.parent,t}function Pn(n){return ln(n.edges(),(function(e){return n.edge(e).cutvalue<0}))}function Tn(n,e,t){var r=t.v,o=t.w;e.hasEdge(r,o)||(r=t.w,o=t.v);var i=n.node(r),u=n.node(o),a=i,c=!1;i.lim>u.lim&&(a=u,c=!0);var s=Zn.Z(e.edges(),(function(e){return c===Dn(n,n.node(e.v),a)&&c!==Dn(n,n.node(e.w),a)}));return X(s,(function(n){return en(e,n)}))}function Fn(n,e,t,o){var i=t.v,u=t.w;n.removeEdge(i,u),n.setEdge(o.v,o.w,{}),Rn(n),Mn(n,e),function(n,e){var t=ln(n.nodes(),(function(n){return!e.node(n).parent})),o=function(n,e){return Cn(n,e,"pre")}(n,t);o=o.slice(1),r.Z(o,(function(t){var r=n.node(t).parent,o=e.edge(t,r),i=!1;o||(o=e.edge(r,t),i=!0),e.node(t).rank=e.node(r).rank+(i?o.minlen:-o.minlen)}))}(n,e)}function Dn(n,e,t){return t.low<=e.lim&&e.lim<=t.lim}function Bn(n){switch(n.graph().ranker){case"network-simplex":default:Vn(n);break;case"tight-tree":!function(n){nn(n),tn(n)}(n);break;case"longest-path":Gn(n)}}Ln.initLowLimValues=Rn,Ln.initCutValues=Mn,Ln.calcCutValue=An,Ln.leaveEdge=Pn,Ln.enterEdge=Tn,Ln.exchangeEdges=Fn;var Gn=nn;function Vn(n){Ln(n)}var zn=t(34148),qn=t(92344);function Un(n){var e=F(n,"root",{},"_root"),t=function(n){var e={};function t(o,i){var u=n.children(o);u&&u.length&&r.Z(u,(function(n){t(n,i+1)})),e[o]=i}return r.Z(n.children(),(function(n){t(n,1)})),e}(n),o=x(zn.Z(t))-1,i=2*o+1;n.graph().nestingRoot=e,r.Z(n.edges(),(function(e){n.edge(e).minlen*=i}));var u=function(n){return qn.Z(n.edges(),(function(e,t){return e+n.edge(t).weight}),0)}(n)+1;r.Z(n.children(),(function(r){Yn(n,e,i,u,o,t,r)})),n.graph().nodeRankFactor=i}function Yn(n,e,t,o,i,u,a){var c=n.children(a);if(c.length){var s=V(n,"_bt"),f=V(n,"_bb"),d=n.node(a);n.setParent(s,a),d.borderTop=s,n.setParent(f,a),d.borderBottom=f,r.Z(c,(function(r){Yn(n,e,t,o,i,u,r);var c=n.node(r),d=c.borderTop?c.borderTop:r,h=c.borderBottom?c.borderBottom:r,v=c.borderTop?o:2*o,l=d!==h?1:i-u[a]+1;n.setEdge(s,d,{weight:v,minlen:l,nestingEdge:!0}),n.setEdge(h,f,{weight:v,minlen:l,nestingEdge:!0})})),n.parent(a)||n.setEdge(e,s,{weight:0,minlen:i+u[a]})}else a!==e&&n.setEdge(e,a,{weight:0,minlen:t})}var $n=t(48451);const Jn=function(n){return(0,$n.Z)(n,5)};function Kn(n,e,t){var u=function(n){var e;for(;n.hasNode(e=o.Z("_root")););return e}(n),a=new f.k({compound:!0}).setGraph({root:u}).setDefaultNodeLabel((function(e){return n.node(e)}));return r.Z(n.nodes(),(function(o){var c=n.node(o),s=n.parent(o);(c.rank===e||c.minRank<=e&&e<=c.maxRank)&&(a.setNode(o),a.setParent(o,s||u),r.Z(n[t](o),(function(e){var t=e.v===o?e.w:e.v,r=a.edge(t,o),i=M.Z(r)?0:r.weight;a.setEdge(t,o,{weight:n.edge(e).weight+i})})),i.Z(c,"minRank")&&a.setNode(o,{borderLeft:c.borderLeft[e],borderRight:c.borderRight[e]}))})),a}var Wn=t(72954);const Hn=function(n,e,t){for(var r=-1,o=n.length,i=e.length,u={};++re||i&&u&&c&&!a&&!s||r&&u&&c||!t&&c||!o)return 1;if(!r&&!i&&!s&&n=a?c:c*("desc"==t[r]?-1:1)}return n.index-e.index};const ae=function(n,e,t){e=e.length?(0,ne.Z)(e,(function(n){return(0,gn.Z)(n)?function(e){return(0,ee.Z)(e,1===n.length?n[0]:n)}:n})):[k.Z];var r=-1;e=(0,ne.Z)(e,(0,oe.Z)(O.Z));var o=(0,te.Z)(n,(function(n,t,o){return{criteria:(0,ne.Z)(e,(function(e){return e(n)})),index:++r,value:n}}));return re(o,(function(n,e){return ue(n,e,t)}))};var ce=t(69581),se=t(50439);const fe=(0,ce.Z)((function(n,e){if(null==n)return[];var t=e.length;return t>1&&(0,se.Z)(n,e[0],e[1])?e=[]:t>2&&(0,se.Z)(e[0],e[1],e[2])&&(e=[e[0]]),ae(n,(0,Xn.Z)(e,1),[])}));function de(n,e){for(var t=0,r=1;r0;)e%2&&(t+=f[e+1]),f[e=e-1>>1]+=n.weight;d+=n.weight*t}))),d}function ve(n,e){var t={};return r.Z(n,(function(n,e){var r=t[n.v]={indegree:0,in:[],out:[],vs:[n.v],i:e};M.Z(n.barycenter)||(r.barycenter=n.barycenter,r.weight=n.weight)})),r.Z(e.edges(),(function(n){var e=t[n.v],r=t[n.w];M.Z(e)||M.Z(r)||(r.indegree++,e.out.push(t[n.w]))})),function(n){var e=[];function t(n){return function(e){e.merged||(M.Z(e.barycenter)||M.Z(n.barycenter)||e.barycenter>=n.barycenter)&&function(n,e){var t=0,r=0;n.weight&&(t+=n.barycenter*n.weight,r+=n.weight);e.weight&&(t+=e.barycenter*e.weight,r+=e.weight);n.vs=e.vs.concat(n.vs),n.barycenter=t/r,n.weight=r,n.i=Math.min(e.i,n.i),e.merged=!0}(n,e)}}function o(e){return function(t){t.in.push(e),0==--t.indegree&&n.push(t)}}for(;n.length;){var i=n.pop();e.push(i),r.Z(i.in.reverse(),t(i)),r.Z(i.out,o(i))}return c.Z(Zn.Z(e,(function(n){return!n.merged})),(function(n){return m.Z(n,["vs","i","barycenter","weight"])}))}(Zn.Z(t,(function(n){return!n.indegree})))}function le(n,e){var t,o=function(n,e){var t={lhs:[],rhs:[]};return r.Z(n,(function(n){e(n)?t.lhs.push(n):t.rhs.push(n)})),t}(n,(function(n){return i.Z(n,"barycenter")})),u=o.lhs,c=fe(o.rhs,(function(n){return-n.i})),s=[],f=0,d=0,h=0;u.sort((t=!!e,function(n,e){return n.barycentere.barycenter?1:t?e.i-n.i:n.i-e.i})),h=Ze(s,c,h),r.Z(u,(function(n){h+=n.vs.length,s.push(n.vs),f+=n.barycenter*n.weight,d+=n.weight,h=Ze(s,c,h)}));var v={vs:a.Z(s)};return d&&(v.barycenter=f/d,v.weight=d),v}function Ze(n,e,t){for(var r;e.length&&(r=N(e)).i<=t;)e.pop(),n.push(r.vs),t++;return t}function ge(n,e,t,o){var u=n.children(e),s=n.node(e),f=s?s.borderLeft:void 0,d=s?s.borderRight:void 0,h={};f&&(u=Zn.Z(u,(function(n){return n!==f&&n!==d})));var v=function(n,e){return c.Z(e,(function(e){var t=n.inEdges(e);if(t.length){var r=qn.Z(t,(function(e,t){var r=n.edge(t),o=n.node(t.v);return{sum:e.sum+r.weight*o.order,weight:e.weight+r.weight}}),{sum:0,weight:0});return{v:e,barycenter:r.sum/r.weight,weight:r.weight}}return{v:e}}))}(n,u);r.Z(v,(function(e){if(n.children(e.v).length){var r=ge(n,e.v,t,o);h[e.v]=r,i.Z(r,"barycenter")&&(u=e,a=r,M.Z(u.barycenter)?(u.barycenter=a.barycenter,u.weight=a.weight):(u.barycenter=(u.barycenter*u.weight+a.barycenter*a.weight)/(u.weight+a.weight),u.weight+=a.weight))}var u,a}));var l=ve(v,t);!function(n,e){r.Z(n,(function(n){n.vs=a.Z(n.vs.map((function(n){return e[n]?e[n].vs:n})))}))}(l,h);var Z=le(l,o);if(f&&(Z.vs=a.Z([f,Z.vs,d]),n.predecessors(f).length)){var g=n.node(n.predecessors(f)[0]),p=n.node(n.predecessors(d)[0]);i.Z(Z,"barycenter")||(Z.barycenter=0,Z.weight=0),Z.barycenter=(Z.barycenter*Z.weight+g.order+p.order)/(Z.weight+2),Z.weight+=2}return Z}function pe(n){var e=z(n),t=be(n,s.Z(1,e+1),"inEdges"),o=be(n,s.Z(e-1,-1,-1),"outEdges"),u=function(n){var e={},t=Zn.Z(n.nodes(),(function(e){return!n.children(e).length})),o=x(c.Z(t,(function(e){return n.node(e).rank}))),u=c.Z(s.Z(o+1),(function(){return[]})),a=fe(t,(function(e){return n.node(e).rank}));return r.Z(a,(function t(o){if(!i.Z(e,o)){e[o]=!0;var a=n.node(o);u[a.rank].push(o),r.Z(n.successors(o),t)}})),u}(n);me(n,u);for(var a,f=Number.POSITIVE_INFINITY,d=0,h=0;h<4;++d,++h){we(d%2?t:o,d%4>=2);var v=de(n,u=G(n));vc||s>e[o].lim));i=o,o=r;for(;(o=n.parent(o))!==i;)a.push(o);return{path:u.concat(a.reverse()),lca:i}}(n,e,o.v,o.w),u=i.path,a=i.lca,c=0,s=u[c],f=!0;t!==o.w;){if(r=n.node(t),f){for(;(s=u[c])!==a&&n.node(s).maxRankt){var r=e;e=t,t=r}var o=n[e];o||(n[e]=o={}),o[t]=!0}function Ce(n,e,t){if(e>t){var r=e;e=t,t=r}return i.Z(n[e],t)}function Oe(n,e,t,o,u){var a={},c=function(n,e,t,o){var u=new f.k,a=n.graph(),c=function(n,e,t){return function(r,o,u){var a,c=r.node(o),s=r.node(u),f=0;if(f+=c.width/2,i.Z(c,"labelpos"))switch(c.labelpos.toLowerCase()){case"l":a=-c.width/2;break;case"r":a=c.width/2}if(a&&(f+=t?a:-a),a=0,f+=(c.dummy?e:n)/2,f+=(s.dummy?e:n)/2,f+=s.width/2,i.Z(s,"labelpos"))switch(s.labelpos.toLowerCase()){case"l":a=s.width/2;break;case"r":a=-s.width/2}return a&&(f+=t?a:-a),a=0,f}}(a.nodesep,a.edgesep,o);return r.Z(e,(function(e){var o;r.Z(e,(function(e){var r=t[e];if(u.setNode(r),o){var i=t[o],a=u.edge(i,r);u.setEdge(i,r,Math.max(c(n,e,o),a||0))}o=e}))})),u}(n,e,t,u),s=u?"borderLeft":"borderRight";function d(n,e){for(var t=c.nodes(),r=t.pop(),o={};r;)o[r]?n(r):(o[r]=!0,t.push(r),t=t.concat(e(r))),r=t.pop()}return d((function(n){a[n]=c.inEdges(n).reduce((function(n,e){return Math.max(n,a[e.v]+c.edge(e))}),0)}),c.predecessors.bind(c)),d((function(e){var t=c.outEdges(e).reduce((function(n,e){return Math.min(n,a[e.w]-c.edge(e))}),Number.POSITIVE_INFINITY),r=n.node(e);t!==Number.POSITIVE_INFINITY&&r.borderType!==s&&(a[e]=Math.max(a[e],t))}),c.successors.bind(c)),r.Z(o,(function(n){a[n]=a[t[n]]})),a}function Le(n){var e,t=G(n),o=w.Z(Ne(n,t),function(n,e){var t={};function o(e,o,i,u,a){var c;r.Z(s.Z(o,i),(function(o){c=e[o],n.node(c).dummy&&r.Z(n.predecessors(c),(function(e){var r=n.node(e);r.dummy&&(r.ordera)&&Ie(t,e,c)}))}))}return qn.Z(e,(function(e,t){var i,u=-1,a=0;return r.Z(t,(function(r,c){if("border"===n.node(r).dummy){var s=n.predecessors(r);s.length&&(i=n.node(s[0]).order,o(t,a,c,u,i),a=c,u=i)}o(t,a,t.length,i,e.length)})),t})),t}(n,t)),i={};r.Z(["u","d"],(function(u){e="u"===u?t:zn.Z(t).reverse(),r.Z(["l","r"],(function(t){"r"===t&&(e=c.Z(e,(function(n){return zn.Z(n).reverse()})));var a=("u"===u?n.predecessors:n.successors).bind(n),s=function(n,e,t,o){var i={},u={},a={};return r.Z(e,(function(n){r.Z(n,(function(n,e){i[n]=n,u[n]=n,a[n]=e}))})),r.Z(e,(function(n){var e=-1;r.Z(n,(function(n){var r=o(n);if(r.length){r=fe(r,(function(n){return a[n]}));for(var c=(r.length-1)/2,s=Math.floor(c),f=Math.ceil(c);s<=f;++s){var d=r[s];u[n]===n&&e{t.d(e,{k:()=>R});var r=t(17452),o=t(62002),i=t(73234),u=t(17179),a=t(13445),c=t(79697),s=t(70870),f=t(49360),d=t(10626),h=t(69581),v=t(63001),l=t(21692);const Z=function(n){return n!=n};const g=function(n,e,t){for(var r=t-1,o=n.length;++r-1};const w=function(n,e,t){for(var r=-1,o=null==n?0:n.length;++r=200){var s=e?null:k(n);if(s)return(0,E.Z)(s);u=!1,o=m.Z,c=new v.Z}else c=e?[]:a;n:for(;++r1?r.setNode(n,e):r.setNode(n)})),this}setNode(n,e){return r.Z(this._nodes,n)?(arguments.length>1&&(this._nodes[n]=e),this):(this._nodes[n]=arguments.length>1?e:this._defaultNodeLabelFn(n),this._isCompound&&(this._parent[n]=M,this._children[n]={},this._children[M][n]=!0),this._in[n]={},this._preds[n]={},this._out[n]={},this._sucs[n]={},++this._nodeCount,this)}node(n){return this._nodes[n]}hasNode(n){return r.Z(this._nodes,n)}removeNode(n){var e=this;if(r.Z(this._nodes,n)){var t=function(n){e.removeEdge(e._edgeObjs[n])};delete this._nodes[n],this._isCompound&&(this._removeFromParentsChildList(n),delete this._parent[n],s.Z(this.children(n),(function(n){e.setParent(n)})),delete this._children[n]),s.Z(u.Z(this._in[n]),t),delete this._in[n],delete this._preds[n],s.Z(u.Z(this._out[n]),t),delete this._out[n],delete this._sucs[n],--this._nodeCount}return this}setParent(n,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(f.Z(e))e=M;else{for(var t=e+="";!f.Z(t);t=this.parent(t))if(t===n)throw new Error("Setting "+e+" as parent of "+n+" would create a cycle");this.setNode(e)}return this.setNode(n),this._removeFromParentsChildList(n),this._parent[n]=e,this._children[e][n]=!0,this}_removeFromParentsChildList(n){delete this._children[this._parent[n]][n]}parent(n){if(this._isCompound){var e=this._parent[n];if(e!==M)return e}}children(n){if(f.Z(n)&&(n=M),this._isCompound){var e=this._children[n];if(e)return u.Z(e)}else{if(n===M)return this.nodes();if(this.hasNode(n))return[]}}predecessors(n){var e=this._preds[n];if(e)return u.Z(e)}successors(n){var e=this._sucs[n];if(e)return u.Z(e)}neighbors(n){var e=this.predecessors(n);if(e)return I(e,this.successors(n))}isLeaf(n){return 0===(this.isDirected()?this.successors(n):this.neighbors(n)).length}filterNodes(n){var e=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});e.setGraph(this.graph());var t=this;s.Z(this._nodes,(function(t,r){n(r)&&e.setNode(r,t)})),s.Z(this._edgeObjs,(function(n){e.hasNode(n.v)&&e.hasNode(n.w)&&e.setEdge(n,t.edge(n))}));var r={};function o(n){var i=t.parent(n);return void 0===i||e.hasNode(i)?(r[n]=i,i):i in r?r[i]:o(i)}return this._isCompound&&s.Z(e.nodes(),(function(n){e.setParent(n,o(n))})),e}setDefaultEdgeLabel(n){return i.Z(n)||(n=o.Z(n)),this._defaultEdgeLabelFn=n,this}edgeCount(){return this._edgeCount}edges(){return C.Z(this._edgeObjs)}setPath(n,e){var t=this,r=arguments;return O.Z(n,(function(n,o){return r.length>1?t.setEdge(n,o,e):t.setEdge(n,o),o})),this}setEdge(){var n,e,t,o,i=!1,u=arguments[0];"object"==typeof u&&null!==u&&"v"in u?(n=u.v,e=u.w,t=u.name,2===arguments.length&&(o=arguments[1],i=!0)):(n=u,e=arguments[1],t=arguments[3],arguments.length>2&&(o=arguments[2],i=!0)),n=""+n,e=""+e,f.Z(t)||(t=""+t);var a=T(this._isDirected,n,e,t);if(r.Z(this._edgeLabels,a))return i&&(this._edgeLabels[a]=o),this;if(!f.Z(t)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(n),this.setNode(e),this._edgeLabels[a]=i?o:this._defaultEdgeLabelFn(n,e,t);var c=function(n,e,t,r){var o=""+e,i=""+t;if(!n&&o>i){var u=o;o=i,i=u}var a={v:o,w:i};r&&(a.name=r);return a}(this._isDirected,n,e,t);return n=c.v,e=c.w,Object.freeze(c),this._edgeObjs[a]=c,S(this._preds[e],n),S(this._sucs[n],e),this._in[e][a]=c,this._out[n][a]=c,this._edgeCount++,this}edge(n,e,t){var r=1===arguments.length?F(this._isDirected,arguments[0]):T(this._isDirected,n,e,t);return this._edgeLabels[r]}hasEdge(n,e,t){var o=1===arguments.length?F(this._isDirected,arguments[0]):T(this._isDirected,n,e,t);return r.Z(this._edgeLabels,o)}removeEdge(n,e,t){var r=1===arguments.length?F(this._isDirected,arguments[0]):T(this._isDirected,n,e,t),o=this._edgeObjs[r];return o&&(n=o.v,e=o.w,delete this._edgeLabels[r],delete this._edgeObjs[r],P(this._preds[e],n),P(this._sucs[n],e),delete this._in[e][r],delete this._out[n][r],this._edgeCount--),this}inEdges(n,e){var t=this._in[n];if(t){var r=C.Z(t);return e?a.Z(r,(function(n){return n.v===e})):r}}outEdges(n,e){var t=this._out[n];if(t){var r=C.Z(t);return e?a.Z(r,(function(n){return n.w===e})):r}}nodeEdges(n,e){var t=this.inEdges(n,e);if(t)return t.concat(this.outEdges(n,e))}}function S(n,e){n[e]?n[e]++:n[e]=1}function P(n,e){--n[e]||delete n[e]}function T(n,e,t,r){var o=""+e,i=""+t;if(!n&&o>i){var u=o;o=i,i=u}return o+A+i+A+(f.Z(r)?L:r)}function F(n,e){return T(n,e.v,e.w,e.name)}R.prototype._nodeCount=0,R.prototype._edgeCount=0},45625:(n,e,t)=>{t.d(e,{k:()=>r.k});var r=t(52544)},63001:(n,e,t)=>{t.d(e,{Z:()=>a});var r=t(37834);const o=function(n){return this.__data__.set(n,"__lodash_hash_undefined__"),this};const i=function(n){return this.__data__.has(n)};function u(n){var e=-1,t=null==n?0:n.length;for(this.__data__=new r.Z;++e{t.d(e,{Z:()=>r});const r=function(n,e){for(var t=-1,r=null==n?0:n.length;++t{t.d(e,{Z:()=>r});const r=function(n,e){for(var t=-1,r=null==n?0:n.length,o=0,i=[];++t{t.d(e,{Z:()=>r});const r=function(n,e){for(var t=-1,r=null==n?0:n.length,o=Array(r);++t{t.d(e,{Z:()=>r});const r=function(n,e){for(var t=-1,r=e.length,o=n.length;++t{t.d(e,{Z:()=>X});var r=t(31667),o=t(76579),i=t(72954),u=t(31899),a=t(17179);const c=function(n,e){return n&&(0,u.Z)(e,(0,a.Z)(e),n)};var s=t(32957);const f=function(n,e){return n&&(0,u.Z)(e,(0,s.Z)(e),n)};var d=t(91050),h=t(87215),v=t(95695);const l=function(n,e){return(0,u.Z)(n,(0,v.Z)(n),e)};var Z=t(58694),g=t(12513),p=t(60532);const b=Object.getOwnPropertySymbols?function(n){for(var e=[];n;)(0,Z.Z)(e,(0,v.Z)(n)),n=(0,g.Z)(n);return e}:p.Z;const w=function(n,e){return(0,u.Z)(n,b(n),e)};var m=t(1808),y=t(63327);const _=function(n){return(0,y.Z)(n,s.Z,b)};var E=t(83970),j=Object.prototype.hasOwnProperty;const k=function(n){var e=n.length,t=new n.constructor(e);return e&&"string"==typeof n[0]&&j.call(n,"index")&&(t.index=n.index,t.input=n.input),t};var x=t(41884);const N=function(n,e){var t=e?(0,x.Z)(n.buffer):n.buffer;return new n.constructor(t,n.byteOffset,n.byteLength)};var I=/\w*$/;const C=function(n){var e=new n.constructor(n.source,I.exec(n));return e.lastIndex=n.lastIndex,e};var O=t(17685),L=O.Z?O.Z.prototype:void 0,M=L?L.valueOf:void 0;const A=function(n){return M?Object(M.call(n)):{}};var R=t(12701);const S=function(n,e,t){var r=n.constructor;switch(e){case"[object ArrayBuffer]":return(0,x.Z)(n);case"[object Boolean]":case"[object Date]":return new r(+n);case"[object DataView]":return N(n,t);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(0,R.Z)(n,t);case"[object Map]":case"[object Set]":return new r;case"[object Number]":case"[object String]":return new r(n);case"[object RegExp]":return C(n);case"[object Symbol]":return A(n)}};var P=t(73658),T=t(27771),F=t(77008),D=t(18533);const B=function(n){return(0,D.Z)(n)&&"[object Map]"==(0,E.Z)(n)};var G=t(21162),V=t(98351),z=V.Z&&V.Z.isMap;const q=z?(0,G.Z)(z):B;var U=t(77226);const Y=function(n){return(0,D.Z)(n)&&"[object Set]"==(0,E.Z)(n)};var $=V.Z&&V.Z.isSet;const J=$?(0,G.Z)($):Y;var K="[object Arguments]",W="[object Function]",H="[object Object]",Q={};Q[K]=Q["[object Array]"]=Q["[object ArrayBuffer]"]=Q["[object DataView]"]=Q["[object Boolean]"]=Q["[object Date]"]=Q["[object Float32Array]"]=Q["[object Float64Array]"]=Q["[object Int8Array]"]=Q["[object Int16Array]"]=Q["[object Int32Array]"]=Q["[object Map]"]=Q["[object Number]"]=Q[H]=Q["[object RegExp]"]=Q["[object Set]"]=Q["[object String]"]=Q["[object Symbol]"]=Q["[object Uint8Array]"]=Q["[object Uint8ClampedArray]"]=Q["[object Uint16Array]"]=Q["[object Uint32Array]"]=!0,Q["[object Error]"]=Q[W]=Q["[object WeakMap]"]=!1;const X=function n(e,t,u,v,Z,g){var p,b=1&t,y=2&t,j=4&t;if(u&&(p=Z?u(e,v,Z,g):u(e)),void 0!==p)return p;if(!(0,U.Z)(e))return e;var x=(0,T.Z)(e);if(x){if(p=k(e),!b)return(0,h.Z)(e,p)}else{var N=(0,E.Z)(e),I=N==W||"[object GeneratorFunction]"==N;if((0,F.Z)(e))return(0,d.Z)(e,b);if(N==H||N==K||I&&!Z){if(p=y||I?{}:(0,P.Z)(e),!b)return y?w(e,f(p,e)):l(e,c(p,e))}else{if(!Q[N])return Z?e:{};p=S(e,N,b)}}g||(g=new r.Z);var C=g.get(e);if(C)return C;g.set(e,p),J(e)?e.forEach((function(r){p.add(n(r,t,u,r,e,g))})):q(e)&&e.forEach((function(r,o){p.set(o,n(r,t,u,o,e,g))}));var O=j?y?_:m.Z:y?s.Z:a.Z,L=x?void 0:O(e);return(0,o.Z)(L||e,(function(r,o){L&&(r=e[o=r]),(0,i.Z)(p,o,n(r,t,u,o,e,g))})),p}},49811:(n,e,t)=>{t.d(e,{Z:()=>i});var r=t(2693),o=t(50585);const i=function(n,e){return function(t,r){if(null==t)return t;if(!(0,o.Z)(t))return n(t,r);for(var i=t.length,u=e?i:-1,a=Object(t);(e?u--:++u{t.d(e,{Z:()=>r});const r=function(n,e,t,r){for(var o=n.length,i=t+(r?1:-1);r?i--:++i{t.d(e,{Z:()=>s});var r=t(58694),o=t(17685),i=t(29169),u=t(27771),a=o.Z?o.Z.isConcatSpreadable:void 0;const c=function(n){return(0,u.Z)(n)||(0,i.Z)(n)||!!(a&&n&&n[a])};const s=function n(e,t,o,i,u){var a=-1,s=e.length;for(o||(o=c),u||(u=[]);++a0&&o(f)?t>1?n(f,t-1,o,i,u):(0,r.Z)(u,f):i||(u[u.length]=f)}return u}},2693:(n,e,t)=>{t.d(e,{Z:()=>i});var r=t(61395),o=t(17179);const i=function(n,e){return n&&(0,r.Z)(n,e,o.Z)}},13317:(n,e,t)=>{t.d(e,{Z:()=>i});var r=t(22823),o=t(62281);const i=function(n,e){for(var t=0,i=(e=(0,r.Z)(e,n)).length;null!=n&&t{t.d(e,{Z:()=>i});var r=t(58694),o=t(27771);const i=function(n,e,t){var i=e(n);return(0,o.Z)(n)?i:(0,r.Z)(i,t(n))}},74765:(n,e,t)=>{t.d(e,{Z:()=>$});var r=t(31667),o=t(63001);const i=function(n,e){for(var t=-1,r=null==n?0:n.length;++tf))return!1;var h=c.get(n),v=c.get(e);if(h&&v)return h==e&&v==n;var l=-1,Z=!0,g=2&t?new o.Z:void 0;for(c.set(n,e),c.set(e,n);++l{t.d(e,{Z:()=>i});var r=t(49811),o=t(50585);const i=function(n,e){var t=-1,i=(0,o.Z)(n)?Array(n.length):[];return(0,r.Z)(n,(function(n,r,o){i[++t]=e(n,r,o)})),i}},54193:(n,e,t)=>{t.d(e,{Z:()=>r});const r=function(n){return function(e){return null==e?void 0:e[n]}}},59548:(n,e,t)=>{t.d(e,{Z:()=>r});const r=function(n,e){return n.has(e)}},68882:(n,e,t)=>{t.d(e,{Z:()=>o});var r=t(69203);const o=function(n){return"function"==typeof n?n:r.Z}},22823:(n,e,t)=>{t.d(e,{Z:()=>f});var r=t(27771),o=t(99365),i=t(42454);var u=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,a=/\\(\\)?/g;const c=function(n){var e=(0,i.Z)(n,(function(n){return 500===t.size&&t.clear(),n})),t=e.cache;return e}((function(n){var e=[];return 46===n.charCodeAt(0)&&e.push(""),n.replace(u,(function(n,t,r,o){e.push(r?o.replace(a,"$1"):t||n)})),e}));var s=t(50751);const f=function(n,e){return(0,r.Z)(n)?n:(0,o.Z)(n,e)?[n]:c((0,s.Z)(n))}},1808:(n,e,t)=>{t.d(e,{Z:()=>u});var r=t(63327),o=t(95695),i=t(17179);const u=function(n){return(0,r.Z)(n,i.Z,o.Z)}},95695:(n,e,t)=>{t.d(e,{Z:()=>a});var r=t(68774),o=t(60532),i=Object.prototype.propertyIsEnumerable,u=Object.getOwnPropertySymbols;const a=u?function(n){return null==n?[]:(n=Object(n),(0,r.Z)(u(n),(function(e){return i.call(n,e)})))}:o.Z},16174:(n,e,t)=>{t.d(e,{Z:()=>s});var r=t(22823),o=t(29169),i=t(27771),u=t(56009),a=t(1656),c=t(62281);const s=function(n,e,t){for(var s=-1,f=(e=(0,r.Z)(e,n)).length,d=!1;++s{t.d(e,{Z:()=>a});var r=t(27771),o=t(72714),i=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,u=/^\w*$/;const a=function(n,e){if((0,r.Z)(n))return!1;var t=typeof n;return!("number"!=t&&"symbol"!=t&&"boolean"!=t&&null!=n&&!(0,o.Z)(n))||(u.test(n)||!i.test(n)||null!=e&&n in Object(e))}},6545:(n,e,t)=>{t.d(e,{Z:()=>r});const r=function(n){var e=-1,t=Array(n.size);return n.forEach((function(n){t[++e]=n})),t}},62281:(n,e,t)=>{t.d(e,{Z:()=>o});var r=t(72714);const o=function(n){if("string"==typeof n||(0,r.Z)(n))return n;var e=n+"";return"0"==e&&1/n==-Infinity?"-0":e}},3688:(n,e,t)=>{t.d(e,{Z:()=>s});var r=t(69581),o=t(79651),i=t(50439),u=t(32957),a=Object.prototype,c=a.hasOwnProperty;const s=(0,r.Z)((function(n,e){n=Object(n);var t=-1,r=e.length,s=r>2?e[2]:void 0;for(s&&(0,i.Z)(e[0],e[1],s)&&(r=1);++t{t.d(e,{Z:()=>c});var r=t(68774),o=t(49811);const i=function(n,e){var t=[];return(0,o.Z)(n,(function(n,r,o){e(n,r,o)&&t.push(n)})),t};var u=t(74765),a=t(27771);const c=function(n,e){return((0,a.Z)(n)?r.Z:i)(n,(0,u.Z)(e,3))}},27961:(n,e,t)=>{t.d(e,{Z:()=>o});var r=t(10626);const o=function(n){return(null==n?0:n.length)?(0,r.Z)(n,1):[]}},70870:(n,e,t)=>{t.d(e,{Z:()=>a});var r=t(76579),o=t(49811),i=t(68882),u=t(27771);const a=function(n,e){return((0,u.Z)(n)?r.Z:o.Z)(n,(0,i.Z)(e))}},17452:(n,e,t)=>{t.d(e,{Z:()=>u});var r=Object.prototype.hasOwnProperty;const o=function(n,e){return null!=n&&r.call(n,e)};var i=t(16174);const u=function(n,e){return null!=n&&(0,i.Z)(n,e,o)}},75487:(n,e,t)=>{t.d(e,{Z:()=>i});const r=function(n,e){return null!=n&&e in Object(n)};var o=t(16174);const i=function(n,e){return null!=n&&(0,o.Z)(n,e,r)}},72714:(n,e,t)=>{t.d(e,{Z:()=>i});var r=t(93589),o=t(18533);const i=function(n){return"symbol"==typeof n||(0,o.Z)(n)&&"[object Symbol]"==(0,r.Z)(n)}},49360:(n,e,t)=>{t.d(e,{Z:()=>r});const r=function(n){return void 0===n}},17179:(n,e,t)=>{t.d(e,{Z:()=>u});var r=t(87668),o=t(39473),i=t(50585);const u=function(n){return(0,i.Z)(n)?(0,r.Z)(n):(0,o.Z)(n)}},43836:(n,e,t)=>{t.d(e,{Z:()=>a});var r=t(74073),o=t(74765),i=t(21018),u=t(27771);const a=function(n,e){return((0,u.Z)(n)?r.Z:i.Z)(n,(0,o.Z)(e,3))}},61666:(n,e,t)=>{t.d(e,{Z:()=>g});var r=t(13317),o=t(72954),i=t(22823),u=t(56009),a=t(77226),c=t(62281);const s=function(n,e,t,r){if(!(0,a.Z)(n))return n;for(var s=-1,f=(e=(0,i.Z)(e,n)).length,d=f-1,h=n;null!=h&&++s{t.d(e,{Z:()=>c});var r=Math.ceil,o=Math.max;const i=function(n,e,t,i){for(var u=-1,a=o(r((e-n)/(t||1)),0),c=Array(a);a--;)c[i?a:++u]=n,n+=t;return c};var u=t(50439),a=t(94099);const c=function(n){return function(e,t,r){return r&&"number"!=typeof r&&(0,u.Z)(e,t,r)&&(t=r=void 0),e=(0,a.Z)(e),void 0===t?(t=e,e=0):t=(0,a.Z)(t),r=void 0===r?e{t.d(e,{Z:()=>c});const r=function(n,e,t,r){var o=-1,i=null==n?0:n.length;for(r&&i&&(t=n[++o]);++o{t.d(e,{Z:()=>r});const r=function(){return[]}},94099:(n,e,t)=>{t.d(e,{Z:()=>Z});var r=/\s/;const o=function(n){for(var e=n.length;e--&&r.test(n.charAt(e)););return e};var i=/^\s+/;const u=function(n){return n?n.slice(0,o(n)+1).replace(i,""):n};var a=t(77226),c=t(72714),s=/^[-+]0x[0-9a-f]+$/i,f=/^0b[01]+$/i,d=/^0o[0-7]+$/i,h=parseInt;const v=function(n){if("number"==typeof n)return n;if((0,c.Z)(n))return NaN;if((0,a.Z)(n)){var e="function"==typeof n.valueOf?n.valueOf():n;n=(0,a.Z)(e)?e+"":e}if("string"!=typeof n)return 0===n?n:+n;n=u(n);var t=f.test(n);return t||d.test(n)?h(n.slice(2),t?2:8):s.test(n)?NaN:+n};var l=1/0;const Z=function(n){return n?(n=v(n))===l||n===-1/0?17976931348623157e292*(n<0?-1:1):n==n?n:0:0===n?n:0}},50751:(n,e,t)=>{t.d(e,{Z:()=>f});var r=t(17685),o=t(74073),i=t(27771),u=t(72714),a=r.Z?r.Z.prototype:void 0,c=a?a.toString:void 0;const s=function n(e){if("string"==typeof e)return e;if((0,i.Z)(e))return(0,o.Z)(e,n)+"";if((0,u.Z)(e))return c?c.call(e):"";var t=e+"";return"0"==t&&1/e==-Infinity?"-0":t};const f=function(n){return null==n?"":s(n)}},66749:(n,e,t)=>{t.d(e,{Z:()=>i});var r=t(50751),o=0;const i=function(n){var e=++o;return(0,r.Z)(n)+e}},34148:(n,e,t)=>{t.d(e,{Z:()=>u});var r=t(74073);const o=function(n,e){return(0,r.Z)(e,(function(e){return n[e]}))};var i=t(17179);const u=function(n){return null==n?[]:o(n,(0,i.Z)(n))}}}]); \ No newline at end of file diff --git a/assets/js/17896441.89f8f2d6.js b/assets/js/17896441.89f8f2d6.js new file mode 100644 index 00000000..10d6f1e7 --- /dev/null +++ b/assets/js/17896441.89f8f2d6.js @@ -0,0 +1 @@ +(self.webpackChunkbeacon_docs=self.webpackChunkbeacon_docs||[]).push([[7918],{30342:(e,t,a)=>{"use strict";a.d(t,{Z:()=>w});var n=a(67294);const o="browserWindow_my1Q",s="browserWindowHeader_jXSR",c="buttons_uHc7",r="browserWindowAddressBar_Pd8y",i="dot_giz1",l="browserWindowMenuIcon_Vhuh",d="bar_rrRL",g="browserWindowBody_Idgs";const w=function(e){let{children:t,minHeight:a,url:w}=e;return n.createElement("div",{className:o,style:{minHeight:a}},n.createElement("div",{className:s},n.createElement("div",{className:c},n.createElement("span",{className:i,style:{background:"#f25f58"}}),n.createElement("span",{className:i,style:{background:"#fbbe3c"}}),n.createElement("span",{className:i,style:{background:"#58cb42"}})),n.createElement("div",{className:r},w),n.createElement("div",{className:l},n.createElement("div",null,n.createElement("span",{className:d}),n.createElement("span",{className:d}),n.createElement("span",{className:d})))),n.createElement("div",{className:g},t))}},64566:(e,t,a)=>{"use strict";a.d(t,{Z:()=>ce});var n=a(67294);class o{constructor(e){this.update=e}stringfy(e){if(e instanceof Date)return e.toString();switch(typeof e){case"string":return e;case"bigint":case"boolean":case"undefined":case"number":return String(e);default:try{return JSON.stringify(e)}catch(t){return String(e)}}}log(){for(var e=arguments.length,t=new Array(e),a=0;athis.stringfy(e))).join(" "),this.update(n)}}var s=a(16944);const c=async e=>{const t=new o(e),a=new s.DAppClient({name:"Beacon Docs"});try{const e=await a.requestBroadcast({signedTransaction:"1ef017b560494ae7b102be63f4d64e64d70114ff4652df23f34ae4460645b3266b00641b67c32672f0b11263b89b05b51e42faa64a3f940ad8d79101904e0000c64ac48e550c2c289af4c5ce5fe52ca7ba7a91d1a411745313e154eff8d118f16c00641b67c32672f0b11263b89b05b51e42faa64a3fdc0bd9d79101bc5000000000641b67c32672f0b11263b89b05b51e42faa64a3f0085dcfbba4a00c5b4f89914c1819ccd8466f6328b74073d50406394e59fe32d89e62112fec2d5a9bc1e6787206fe50e26f90999ae3061ca76247b57e08b6e490a"});t.log("transaction hash",e.transactionHash)}catch(n){t.log("Result: ",n.message)}};var r=a(36533),i=a(55231);const l=async e=>{const t=new o(e),a=new r.TezosToolkit("https://mainnet-tezos.giganode.io"),n=new i.BeaconWallet({name:"Beacon Docs Taquito"});a.setWalletProvider(n);try{const e=await n.client.requestBroadcast({signedTransaction:"1ef017b560494ae7b102be63f4d64e64d70114ff4652df23f34ae4460645b3266b00641b67c32672f0b11263b89b05b51e42faa64a3f940ad8d79101904e0000c64ac48e550c2c289af4c5ce5fe52ca7ba7a91d1a411745313e154eff8d118f16c00641b67c32672f0b11263b89b05b51e42faa64a3fdc0bd9d79101bc5000000000641b67c32672f0b11263b89b05b51e42faa64a3f0085dcfbba4a00c5b4f89914c1819ccd8466f6328b74073d50406394e59fe32d89e62112fec2d5a9bc1e6787206fe50e26f90999ae3061ca76247b57e08b6e490a"});t.log("transaction hash",e.transactionHash)}catch(s){t.log("Error: ",s)}},d=async e=>{const t=new o(e),a=new s.DAppClient({name:"Beacon Docs",matrixNodes:{[s.Regions.EUROPE_WEST]:["beacon-node-0.papers.tech:8448"]}});try{t.log("Requesting permissions...");const e=await a.requestPermissions();t.log("Got permissions:",e.address)}catch(n){t.log("Got error:",n.message)}},g=async e=>{const t=new o(e),a=new r.TezosToolkit("https://mainnet-tezos.giganode.io"),n=new i.BeaconWallet({name:"Beacon Docs Taquito",matrixNodes:{[s.Regions.EUROPE_WEST]:["beacon-node-0.papers.tech:8448"]}});a.setWalletProvider(n);try{const e=await n.client.requestPermissions();t.log("Got permissions:",e.address)}catch(c){t.log("Got error:",c.message)}},w=async e=>{const t=new o(e),a=new s.DAppClient({name:"Beacon Docs",disableDefaultEvents:!0,eventHandlers:{[s.BeaconEvent.PAIR_INIT]:{handler:s.defaultEventCallbacks.PAIR_INIT},[s.BeaconEvent.PAIR_SUCCESS]:{handler:s.defaultEventCallbacks.PAIR_SUCCESS}}});try{t.log("Requesting permissions...");const e=await a.requestPermissions();t.log("Got permissions:",e.address)}catch(n){t.log("Got error:",n.message)}},u=async e=>{const t=new o(e),a=new r.TezosToolkit("https://mainnet-tezos.giganode.io"),n=new i.BeaconWallet({name:"Beacon Docs Taquito",disableDefaultEvents:!0,eventHandlers:{[s.BeaconEvent.PAIR_INIT]:{handler:s.defaultEventCallbacks.PAIR_INIT},[s.BeaconEvent.PAIR_SUCCESS]:{handler:s.defaultEventCallbacks.PAIR_SUCCESS}}});a.setWalletProvider(n);try{await n.requestPermissions();const e=await n.getPKH();t.log("Got permissions:",e)}catch(c){t.log("Got error:",c.message)}},p=async e=>{const t=new o(e),a=new s.DAppClient({name:"Beacon Docs"});await new Promise((e=>setTimeout(e,1e3))),a.clearActiveAccount().then((async()=>{const e=await a.getActiveAccount();t.log("Active Account",e)}))},m=async e=>{const t=new o(e),a=new r.TezosToolkit("https://mainnet-tezos.giganode.io"),n=new i.BeaconWallet({name:"Beacon Docs Taquito"});a.setWalletProvider(n),await new Promise((e=>setTimeout(e,1e3))),await n.clearActiveAccount();try{const e=await n.getPKH();t.log("Active Account",e)}catch{t.log("No wallet connected")}},_=async e=>{const t=new o(e),a={type:s.NetworkType.MAINNET},n=new s.DAppClient({name:"Beacon Docs",preferredNetwork:a.type});let c;const r=localStorage.getItem("theme");await n.setColorMode("dark"===r?s.ColorMode.DARK:s.ColorMode.LIGHT);const i=await n.getActiveAccount();if(i)t.log("Already connected:",i.address),c=i.address;else try{const e=await n.requestPermissions({network:a});t.log("New connection: ",e.address),c=e.address}catch(l){return void t.log("Error: ",l.message)}try{const e=await n.requestOperation({operationDetails:[{kind:s.TezosOperationType.TRANSACTION,destination:c,amount:"1"}]});t.log("Operation Hash:",e.transactionHash);const o=await n.blockExplorer.getTransactionLink(e.transactionHash,a);t.log("Block Explorer:",o)}catch(l){return void t.log("Error: ",l.message)}await new Promise((e=>setTimeout(e,1e3))),await n.clearActiveAccount()},y=async e=>{const t=new o(e),a={type:s.NetworkType.MAINNET},n=new r.TezosToolkit("https://mainnet-tezos.giganode.io"),c=new i.BeaconWallet({name:"Beacon Docs",preferredNetwork:a.type});let l;n.setWalletProvider(c);const d=localStorage.getItem("theme");await c.client.setColorMode("dark"===d?s.ColorMode.DARK:s.ColorMode.LIGHT);const g=await c.client.getActiveAccount();if(g)t.log("Already connected:",g.address),l=g.address;else try{c.requestPermissions({network:a}),l=await c.getPKH(),t.log("New connection: ",l)}catch(w){return void t.log("Error: ",w.message)}try{const e=await c.sendOperations([{kind:s.TezosOperationType.TRANSACTION,destination:l,amount:"1"}]);t.log("Operation Hash:",e);const n=await c.client.blockExplorer.getTransactionLink(e,a);t.log("Block Explorer:",n)}catch(w){return void t.log("Result: ",w.message)}await new Promise((e=>setTimeout(e,1e3))),await c.clearActiveAccount()},b=async e=>{const t=new o(e),a=new s.DAppClient({name:"Beacon Docs"});let n;const c=await a.getActiveAccount();if(c)t.log("Already connected:",c.address),n=c.address;else{const e=await a.requestPermissions();t.log("New connection:",e.address),n=e.address}const r=await a.requestOperation({operationDetails:[{kind:s.TezosOperationType.TRANSACTION,destination:n,amount:"1"}]});t.log("Operation Hash: ",r.transactionHash)},T=async e=>{const t=new o(e),a=new r.TezosToolkit("https://mainnet-tezos.giganode.io"),n=new i.BeaconWallet({name:"Beacon Docs Taquito"});let c;a.setWalletProvider(n);const l=await n.client.getActiveAccount();l?(t.log("Already connected:",l.address),c=l.address):(await n.requestPermissions(),c=await n.getPKH(),t.log("New connection:",c));try{const e=await n.sendOperations([{kind:s.TezosOperationType.TRANSACTION,destination:c,amount:"1"}]);t.log("Operation Hash: ",e)}catch(d){t.log("Error: ",d.message)}},E=async e=>{const t=new o(e),a=new r.TezosToolkit("https://mainnet-tezos.giganode.io"),n=new i.BeaconWallet({name:"Beacon Docs"});a.setWalletProvider(n);await n.getPKH()||await n.requestPermissions();const s=await a.wallet.at("KT1PWx2mnDueood7fEmfbBDKx1D9BAnnXitn");try{const e=await s.methods.transfer("tz1d75oB6T4zUMexzkr5WscGktZ1Nss1JrT7","tz1Mj7RzPmMAqDUNFBn5t5VbXmWW4cSUAdtT",1).send();t.log("Operation hash: ",e.opHash)}catch(c){t.log("Error: ",c.message)}},k=async e=>{const t=new o(e),a=new r.TezosToolkit("https://mainnet-tezos.giganode.io"),n=new i.BeaconWallet({name:"Beacon Docs"});a.setWalletProvider(n);const s=await n.getPKH();s||await n.requestPermissions();const c=await a.wallet.at("KT1CpeSQKdkhWi4pinYcseCFKmDhs5M74BkU"),l=s;try{const e=await c.methods.transfer([{from_:s,txs:[{to_:l,token_id:0,amount:1}]}]).send();t.log("Operation hash: ",e.opHash)}catch(d){t.log("Error: ",d.message)}},A=async e=>{const t=new o(e),a=new s.DAppClient({name:"Beacon Docs"});a.subscribeToEvent(s.BeaconEvent.ACTIVE_ACCOUNT_SET,(async e=>{t.log(`${s.BeaconEvent.ACTIVE_ACCOUNT_SET} triggered: `,e)}));try{t.log("Requesting permissions...");const e=await a.requestPermissions();t.log("Got permissions:",e.address)}catch(n){t.log("Got error:",n.message)}},h=async e=>{const t=new o(e),a=new r.TezosToolkit("https://mainnet-tezos.giganode.io"),n=new i.BeaconWallet({name:"Beacon Docs Taquito"});a.setWalletProvider(n),n.client.subscribeToEvent(s.BeaconEvent.ACTIVE_ACCOUNT_SET,(e=>{t.log(`${s.BeaconEvent.ACTIVE_ACCOUNT_SET} triggered: `,e)}));try{t.log("Requesting permissions...");const e=await n.client.requestPermissions();t.log("Got permissions:",e.address)}catch(c){t.log("Got error:",c.message)}},f=async e=>{const t=new o(e),a=new s.DAppClient({name:"Beacon Docs"}),n=await a.getActiveAccount();if(n)return t.log("Already connected:",n.address),n;t.log("Not connected!")},v=async e=>{const t=new o(e),a=new r.TezosToolkit("https://mainnet-tezos.giganode.io"),n=new i.BeaconWallet({name:"Beacon Docs Taquito"});a.setWalletProvider(n);const s=await n.client.getActiveAccount();if(s)return t.log("Already connected:",s.address),s;t.log("Not connected!")},C=async e=>{const t=new o(e),a=new s.DAppClient({name:"Beacon Docs"});a.subscribeToEvent(s.BeaconEvent.ACTIVE_ACCOUNT_SET,(async e=>{t.log(`${s.BeaconEvent.ACTIVE_ACCOUNT_SET} triggered: `,e);try{const n=await a.requestOperation({operationDetails:[{kind:s.TezosOperationType.TRANSACTION,destination:e.address,amount:"1"}]});t.log("Response: ",n)}catch(n){t.log("Error: ",n.message)}}));await a.getActiveAccount()||await a.requestPermissions()},P=async e=>{const t=new o(e),a=new r.TezosToolkit("https://mainnet-tezos.giganode.io"),n=new i.BeaconWallet({name:"Beacon Docs Taquito"});a.setWalletProvider(n),n.client.subscribeToEvent(s.BeaconEvent.ACTIVE_ACCOUNT_SET,(async e=>{t.log(`${s.BeaconEvent.ACTIVE_ACCOUNT_SET} triggered: `,e);try{const a=await n.sendOperations([{kind:s.TezosOperationType.TRANSACTION,destination:e.address,amount:"1"}]);t.log("Response: ",a)}catch(a){t.log("Error: ",a.message)}}));await n.client.getActiveAccount()||await n.client.requestPermissions()},N=async e=>{const t=new o(e),a=new s.DAppClient({name:"Beacon Docs"});let n;const c=await a.getActiveAccount();if(c)n=c.address;else{const e=await a.requestPermissions();t.log("New connection:",e.address),n=e.address}try{const e=await a.requestOperation({operationDetails:[{kind:s.TezosOperationType.TRANSACTION,destination:n,amount:"1"}]});t.log("Response: ",e)}catch(r){t.log("Error: ",r.message)}},q=async e=>{const t=new o(e),a=new r.TezosToolkit("https://mainnet-tezos.giganode.io"),n=new i.BeaconWallet({name:"Beacon Docs Taquito"});let c;a.setWalletProvider(n);const l=await n.client.getActiveAccount();if(l)c=l.address;else{const e=await n.client.requestPermissions();t.log("New connection:",e.address),c=e.address}try{const e=await n.sendOperations([{kind:s.TezosOperationType.TRANSACTION,destination:c,amount:"1"}]);t.log("Response: ",e)}catch(d){t.log("Error: ",d.message)}};var D=a(25108);const B=async e=>{const t=new o(e),a=new s.DAppClient({name:"Beacon Docs"});a.subscribeToEvent(s.BeaconEvent.ACTIVE_ACCOUNT_SET,(async e=>{D.log(`${s.BeaconEvent.ACTIVE_ACCOUNT_SET} triggered: `,e)}));try{t.log("Requesting permissions...");const e=await a.requestPermissions();t.log("Got permissions:",e.address)}catch(n){t.log("Got error:",n.message)}},I=async e=>{const t=new o(e),a=new r.TezosToolkit("https://mainnet-tezos.giganode.io"),n=new i.BeaconWallet({name:"Beacon Docs Taquito"});a.setWalletProvider(n),n.client.subscribeToEvent(s.BeaconEvent.ACTIVE_ACCOUNT_SET,(e=>{t.log(`${s.BeaconEvent.ACTIVE_ACCOUNT_SET} triggered: `,e)}));try{t.log("Requesting permissions...");const e=await n.client.requestPermissions();t.log("Got permissions:",e.address)}catch(c){t.log("Got error:",c.message)}},O=async e=>{const t=new o(e),a=new s.DAppClient({name:"Beacon Docs"}),n=await a.blockExplorer.getAddressLink("tz1MJx9vhaNRSimcuXPK2rW4fLccQnDAnVKJ",{type:s.NetworkType.MAINNET});t.log("Address Link",n);const c=await a.blockExplorer.getTransactionLink("onzCRJhQ9zPC38TLGhBTghCW7WAJpfUJ2NpwbbQKbW6LeEL8RfK",{type:s.NetworkType.MAINNET});t.log("Transaction Link",c),t.log("\n\nConnection Info:\n"),t.log("Status:",a.connectionStatus);const r=await a.getAccounts();t.log("Accounts:",r);const i=await a.getPeers();t.log("Peers:",i),t.log("\n\nDebug:\n"),t.log("Local Beacon ID:",await a.beaconId);const l=await a.getColorMode();t.log("Color Mode:",l);const d=await a.getOwnAppMetadata();t.log("Own Metadata:",d)},S=async e=>{const t=new o(e),a=new r.TezosToolkit("https://mainnet-tezos.giganode.io"),n=new i.BeaconWallet({name:"Beacon Docs Taquito"});a.setWalletProvider(n);const c=await n.client.blockExplorer.getAddressLink("tz1MJx9vhaNRSimcuXPK2rW4fLccQnDAnVKJ",{type:s.NetworkType.MAINNET});t.log("Address Link",c);const l=await n.client.blockExplorer.getTransactionLink("onzCRJhQ9zPC38TLGhBTghCW7WAJpfUJ2NpwbbQKbW6LeEL8RfK",{type:s.NetworkType.MAINNET});t.log("Transaction Link",l),t.log("\n\nConnection Info:\n"),t.log("Status:",n.client.connectionStatus);const d=await n.client.getAccounts();t.log("Accounts:",d);const g=await n.client.getPeers();t.log("Peers:",g),t.log("\n\nDebug:\n"),t.log("Local Beacon ID:",await n.client.beaconId);const w=await n.client.getColorMode();t.log("Color Mode:",w);const u=await n.client.getOwnAppMetadata();t.log("Own Metadata:",u)},R=async e=>{const t=new o(e);t.log("SDK Version",s.SDK_VERSION),t.log("Beacon Version",s.BEACON_VERSION)},W=async e=>{const t=new o(e);t.log("SDK Version",s.SDK_VERSION),t.log("Beacon Version",s.BEACON_VERSION)},z=async e=>{const t=new o(e),a=new s.DAppClient({name:"Beacon Docs",preferredNetwork:s.NetworkType.CUSTOM});try{const e=await a.requestPermissions({network:{type:s.NetworkType.CUSTOM,name:"Local Node",rpcUrl:"http://localhost:8732/"}});t.log("Permissions: ",e)}catch(n){t.log("Error: ",n.message)}},M=async e=>{const t=new o(e),a=new r.TezosToolkit("https://mainnet-tezos.giganode.io"),n=new i.BeaconWallet({name:"Beacon Docs Taquito",preferredNetwork:s.NetworkType.CUSTOM});a.setWalletProvider(n);try{const e=await n.client.requestPermissions({network:{type:s.NetworkType.CUSTOM,name:"Local Node",rpcUrl:"http://localhost:8732/"}});t.log("Permissions: ",e)}catch(c){t.log("Error: ",c.message)}},U=async e=>{const t=new o(e),a=new s.DAppClient({name:"Beacon Docs",preferredNetwork:s.NetworkType.EDONET});try{const e=await a.requestPermissions({network:{type:s.NetworkType.EDONET,rpcUrl:"https://testnet-tezos.giganode.io/"}});t.log("Permissions: ",e)}catch(n){t.log("Result: ",n.message)}},L=async e=>{const t=new o(e),a=new r.TezosToolkit("https://mainnet-tezos.giganode.io"),n=new i.BeaconWallet({name:"Beacon Docs",preferredNetwork:s.NetworkType.EDONET});a.setWalletProvider(n);try{const e=await n.client.requestPermissions({network:{type:s.NetworkType.EDONET,rpcUrl:"https://testnet-tezos.giganode.io/"}});t.log("Permissions: ",e)}catch(c){t.log("Error: ",c.message)}},K=async e=>{const t=new o(e),a=new s.DAppClient({name:"Beacon Docs",preferredNetwork:s.NetworkType.EDONET});try{const e=await a.requestPermissions({network:{type:s.NetworkType.EDONET}});t.log("Permissions: ",e)}catch(n){t.log("Error: ",n.message)}},H=async e=>{const t=new o(e),a=new r.TezosToolkit("https://mainnet-tezos.giganode.io"),n=new i.BeaconWallet({name:"Beacon Docs",preferredNetwork:s.NetworkType.EDONET});a.setWalletProvider(n);try{const e=await n.client.requestPermissions({network:{type:s.NetworkType.EDONET}});t.log("Permissions: ",e)}catch(c){t.log("Error: ",c.message)}},x=async e=>{const t=new o(e),a=new s.DAppClient({name:"Beacon Docs"});try{const e=await a.requestPermissions({network:{type:s.NetworkType.MAINNET,rpcUrl:"https://mainnet-tezos.giganode.io/"}});t.log("Permissions: ",e)}catch(n){t.log("Error: ",n.message)}},G=async e=>{const t=new o(e),a=new r.TezosToolkit("https://mainnet-tezos.giganode.io"),n=new i.BeaconWallet({name:"Beacon Docs Taquito"});a.setWalletProvider(n);try{const e=await n.client.requestPermissions({network:{type:s.NetworkType.MAINNET,rpcUrl:"https://mainnet-tezos.giganode.io/"}});t.log("Permissions: ",e)}catch(c){t.log("Error: ",c.message)}},V=async e=>{const t=new o(e),a=new s.DAppClient({name:"Beacon Docs",eventHandlers:{[s.BeaconEvent.PAIR_INIT]:{handler:async e=>{const a=e.abortedHandler;e.abortedHandler=()=>{a&&a(),t.log("My logic")},await s.defaultEventCallbacks.PAIR_INIT(e),t.log("syncInfo",e)}}}});try{t.log("Requesting permissions...");const e=await a.requestPermissions();t.log("Got permissions:",e.address)}catch(n){t.log("Got error:",n.message)}},$=async e=>{const t=new o(e),a=new r.TezosToolkit("https://mainnet-tezos.giganode.io"),n=new i.BeaconWallet({name:"Beacon Docs Taquito",eventHandlers:{[s.BeaconEvent.PAIR_INIT]:{handler:async e=>{const a=e.abortedHandler;e.abortedHandler=()=>{a&&a(),t.log("My logic")},await s.defaultEventCallbacks.PAIR_INIT(e),t.log("syncInfo",e)}}}});a.setWalletProvider(n);try{t.log("Requesting permissions...");const e=await n.client.requestPermissions();t.log("Got permissions:",e.address)}catch(c){t.log("Got error:",c.message)}},J=async e=>{const t=new o(e),a=new s.DAppClient({name:"Beacon Docs",eventHandlers:{[s.BeaconEvent.PAIR_INIT]:{handler:async(e,a)=>{await s.defaultEventCallbacks.PAIR_INIT(e),t.log("syncInfo",e,a)}}}});try{t.log("Requesting permissions...");const e=await a.requestPermissions();t.log("Got permissions:",e.address)}catch(n){t.log("Got error:",n.message)}},j=async e=>{const t=new o(e),a=new r.TezosToolkit("https://mainnet-tezos.giganode.io"),n=new i.BeaconWallet({name:"Beacon Docs Taquito",eventHandlers:{[s.BeaconEvent.PAIR_INIT]:{handler:async(e,a)=>{await s.defaultEventCallbacks.PAIR_INIT(e),t.log("syncInfo",e,a)}}}});a.setWalletProvider(n);try{t.log("Requesting permissions...");const e=await n.client.requestPermissions();t.log("Got permissions:",e.address)}catch(c){t.log("Got error:",c.message)}},Z=async e=>{const t=new o(e),a=new s.DAppClient({name:"Beacon Docs"});try{const e=await a.requestSignPayload({signingType:s.SigningType.MICHELINE,payload:"05010000004254657a6f73205369676e6564204d6573736167653a206d79646170702e636f6d20323032312d30312d31345431353a31363a30345a2048656c6c6f20776f726c6421"});t.log(`Signature: ${e.signature}`)}catch(n){t.log("Error: ",n.message)}},F=async e=>{const t=new o(e),a=new r.TezosToolkit("https://mainnet-tezos.giganode.io"),n=new i.BeaconWallet({name:"Beacon Docs Taquito"});a.setWalletProvider(n);try{const e=await n.client.requestSignPayload({signingType:s.SigningType.MICHELINE,payload:"05010000004254657a6f73205369676e6564204d6573736167653a206d79646170702e636f6d20323032312d30312d31345431353a31363a30345a2048656c6c6f20776f726c6421"});t.log(`Signature: ${e.signature}`)}catch(c){t.log("Error: ",c.message)}},Q=async e=>{const t=new o(e),a=new s.DAppClient({name:"Beacon Docs"});try{const e=await a.requestSignPayload({signingType:s.SigningType.OPERATION,payload:"0300"});t.log(`Signature: ${e.signature}`)}catch(n){t.log("Error: ",n.message)}},X=async e=>{const t=new o(e),a=new r.TezosToolkit("https://mainnet-tezos.giganode.io"),n=new i.BeaconWallet({name:"Beacon Docs Taquito"});a.setWalletProvider(n);try{const e=await n.client.requestSignPayload({signingType:s.SigningType.OPERATION,payload:"0300"});t.log(`Signature: ${e.signature}`)}catch(c){t.log("Error: ",c.message)}},Y=async e=>{const t=new o(e),a=new s.DAppClient({name:"Beacon Docs"});try{const e=await a.requestSignPayload({signingType:s.SigningType.RAW,payload:"any string that will be signed"});t.log(`Signature: ${e.signature}`)}catch(n){t.log("Error: ",n.message)}},ee=async e=>{const t=new o(e),a=new r.TezosToolkit("https://mainnet-tezos.giganode.io"),n=new i.BeaconWallet({name:"Beacon Docs Taquito"});a.setWalletProvider(n);try{const e=await n.client.requestSignPayload({signingType:s.SigningType.RAW,payload:"any string that will be signed"});t.log(`Signature: ${e.signature}`)}catch(c){t.log("Result: ",c.message)}},te=async e=>{const t=new o(e),a=new s.DAppClient({name:"Beacon Docs"}),n=await a.getActiveAccount();if(n)t.log("Already connected:",n.address);else{const e=await a.requestPermissions();t.log("New connection:",e.address)}try{const e=await a.requestOperation({operationDetails:[{kind:s.TezosOperationType.TRANSACTION,amount:"0",destination:"KT1RPW5kTX6WFxg8JK34rGEU24gqEEudyfvz",parameters:{entrypoint:"set_color",value:{int:"925"}}}]});t.log("Result: ",e)}catch(c){t.log("The contract call failed and the following error was returned:",c?.data[1]?.with?.string)}},ae=async e=>{const t=new o(e),a=new r.TezosToolkit("https://mainnet-tezos.giganode.io"),n=new i.BeaconWallet({name:"Beacon Docs"});a.setWalletProvider(n);await n.getPKH()||await n.requestPermissions();const s=await a.wallet.at("KT1RPW5kTX6WFxg8JK34rGEU24gqEEudyfvz");try{const e=await s.methods.set_color("925").send();t.log("Result: ",e)}catch(c){t.log("The contract call failed and the following error was returned:",c?.data[1]?.with?.string)}},ne=async e=>{const t=new o(e),a=new s.DAppClient({name:"Beacon Docs"});await new Promise((e=>setTimeout(e,1e3))),await a.clearActiveAccount(),t.log("Active account: ",await a.getActiveAccount()),a.subscribeToEvent(s.BeaconEvent.PAIR_SUCCESS,(e=>{t.log(`${s.BeaconEvent.PAIR_SUCCESS} triggered: `,e)}));try{await a.requestPermissions()}catch(n){t.log("Error: ",n)}},oe=async e=>{const t=new o(e),a=new r.TezosToolkit("https://mainnet-tezos.giganode.io"),n=new i.BeaconWallet({name:"Beacon Docs Taquito"});a.setWalletProvider(n),await new Promise((e=>setTimeout(e,1e3))),await n.clearActiveAccount(),t.log("Active account: ",await n.client.getActiveAccount()),n.client.subscribeToEvent(s.BeaconEvent.PAIR_SUCCESS,(e=>{t.log(`${s.BeaconEvent.PAIR_SUCCESS} triggered: `,e)}));try{await n.client.requestPermissions()}catch(c){t.log("Error: ",c.message)}};class se{static async execute(e,t){try{await this.executeExample(e,t)}catch(a){t(a.message)}}static async executeExample(e,t){switch(e){case"beacon permission request":await B(t);break;case"taquito permission request":await I(t);break;case"beacon get active account":await f(t);break;case"taquito get active account":await v(t);break;case"beacon get active account with events":await A(t);break;case"taquito get active account with events":await h(t);break;case"beacon request operation":await N(t);break;case"taquito request operation":await q(t);break;case"beacon request operation with events":await C(t);break;case"taquito request operation with events":await P(t);break;case"beacon advanced example":await _(t);break;case"taquito advanced example":await y(t);break;case"beacon simple example":await b(t);break;case"taquito simple example":await T(t);break;case"beacon disconnect wallet":await p(t);break;case"taquito disconnect wallet":await m(t);break;case"beacon broadcast request":await c(t);break;case"taquito broadcast request":await l(t);break;case"beacon simple contract call":await te(t);break;case"taquito simple contract call":await ae(t);break;case"taquito fa1.2 transfer":await E(t);break;case"taquito fa2 transfer":await k(t);break;case"beacon subscribe to event":await ne(t);break;case"taquito subscribe to event":await oe(t);break;case"beacon mainnet network":await x(t);break;case"taquito mainnet network":await G(t);break;case"beacon edonet network":await K(t);break;case"taquito edonet network":await H(t);break;case"beacon edonet network with RPC":await U(t);break;case"taquito edonet network with RPC":await L(t);break;case"beacon custom network":await z(t);break;case"taquito custom network":await M(t);break;case"beacon sign payload micheline":await Z(t);break;case"taquito sign payload micheline":await F(t);break;case"beacon sign payload operation":await Q(t);break;case"taquito sign payload operation":await X(t);break;case"beacon sign payload raw":await Y(t);break;case"taquito sign payload raw":await ee(t);break;case"beacon disable ui":await w(t);break;case"taquito disable ui":await u(t);break;case"beacon request permission events":await J(t);break;case"taquito request permission events":await j(t);break;case"beacon request permission alert":await V(t);break;case"taquito request permission alert":await $(t);break;case"beacon different node":await d(t);break;case"taquito different node":await g(t);break;case"beacon sdk version":case"beacon sdk client":await R(t);break;case"taquito sdk version":case"taquito sdk client":await W(t);break;case"beacon sdk connection":await O(t);break;case"taquito sdk connection":await S(t)}}}const ce=e=>{let{snippetId:t}=e;const[a,o]=(0,n.useState)([]),s=e=>{o((t=>[...t,e]))};return(0,n.useEffect)((()=>{se.execute(t,s)}),[]),n.createElement("ul",{id:`console ${t}`},a&&a.map(((e,t)=>n.createElement("ul",{key:t},e))))}},1504:(e,t,a)=>{"use strict";a.d(t,{Z:()=>s});var n=a(67294),o=a(81581);o.N.initialize({startOnLoad:!0});const s=e=>{let{chart:t}=e;return(0,n.useEffect)((()=>{o.N.contentLoaded()}),[]),n.createElement("div",{className:"mermaid"},t)}},22365:(e,t,a)=>{"use strict";a.d(t,{Z:()=>k});var n=a(87462),o=a(67294),s=a(86010),c=a(72389),r=a(10407),i=a(95999),l=a(52263),d=a(91262),g=a(66412);const w={playgroundContainer:"playgroundContainer_TGbA",playgroundHeader:"playgroundHeader_qwyd",playgroundEditor:"playgroundEditor_PvJ1",playgroundPreview:"playgroundPreview_bb8I"};var u=a(30342);function p(e){const t=e.split("\n");return t.splice(0,1),t.join("\n")}function m(e){return(e.split("\n")[0].split("//")[1]??"").trim()}function _(e){let{children:t}=e;return o.createElement("div",{className:(0,s.Z)(w.playgroundHeader)},t)}function y(){return o.createElement("div",null,"Loading...")}function b(e){let{snippetId:t}=e;return o.createElement(o.Fragment,null,o.createElement(_,null,o.createElement(i.Z,{id:"theme.Playground.result",description:"The result label of the live codeblocks"},"Result")),o.createElement("div",{className:w.playgroundPreview},o.createElement(d.Z,{fallback:o.createElement(y,null)},(()=>{const e=a(64566).Z;return o.createElement(o.Fragment,null,o.createElement(e,{snippetId:t}))}))))}function T(){const e=(0,c.Z)();return o.createElement(r.uz,{key:String(e),className:w.playgroundEditor})}function E(){return o.createElement(o.Fragment,null,o.createElement(_,null,o.createElement(i.Z,{id:"theme.Playground.liveEditor",description:"The live editor label of the live codeblocks"},"Live Editor")),o.createElement(T,null))}function k(e){let{children:t,transformCode:s,...c}=e;const[i,_]=(0,o.useState)(!1),{siteConfig:{themeConfig:T}}=(0,l.Z)(),{liveCodeBlock:{playgroundPosition:k}}=T,A=(0,g.p)(),h=c.metastring?.includes("noInline")??!1,f=()=>{_(!1)};return o.createElement(o.Fragment,null,o.createElement("div",{className:w.playgroundContainer},o.createElement(r.nu,(0,n.Z)({code:p(t.replace(/\n$/,"")),noInline:h,transformCode:s??(e=>`${e};`),theme:A,disabled:!0},c),"top"===k?o.createElement(o.Fragment,null,i&&o.createElement(b,{snippetId:m(t)}),o.createElement(E,null)):o.createElement(o.Fragment,null,o.createElement(E,null),i&&o.createElement(b,{snippetId:m(t)})))),o.createElement(d.Z,{fallback:o.createElement(y,null)},(()=>{const{reset:e}=a(71446);return o.createElement(o.Fragment,null,o.createElement(u.Z,{url:"https://example.beacon.docs.com"},o.createElement("button",{className:"button button--primary margin-right--xs",onClick:()=>(_(!1),void setTimeout((()=>_(!0))))},"Run Code"),o.createElement("button",{className:"button button--secondary margin-right--xs",onClick:()=>(f(),void e())},"Reset"),o.createElement("button",{className:"button button--secondary",onClick:()=>f()},"Clear Output")))})))}},71446:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{copyShareUrl:()=>copyShareUrl,reset:()=>reset,runBeaconCode:()=>runBeaconCode});var _node_modules_beacon_sdk_dist_cjs__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(16944),_node_modules_beacon_sdk_dist_cjs__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_beacon_sdk_dist_cjs__WEBPACK_IMPORTED_MODULE_0__),typescript__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(55423),typescript__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(typescript__WEBPACK_IMPORTED_MODULE_1__),_taquito_taquito__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(36533),_taquito_beacon_wallet__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(55231),console=__webpack_require__(25108);function replaceAll(e,t,a){return e.split(t).join(a)}const removeImports=e=>{const t=e.split("\n");let a=!0;return t.map((e=>{e.trim().startsWith("import")&&(a=!1);const t=a?e:void 0;return(e.indexOf("@airgap/beacon-sdk")>=0||e.indexOf("@taquito")>=0)&&(a=!0),t})).filter((e=>!!e)).join("\n")},runBeaconCode=(rawCode,setOutput)=>{let code=rawCode,output="";const appendOutput=e=>{output+="\n"+e,setOutput(output.trim())},myLog=function(){for(var e=arguments.length,t=new Array(e),a=0;a"object"==typeof e?JSON.stringify(e,null,2):e)).join(" "))};let runnable;return code=replaceAll(code,"console.log(","progress("),code=removeImports(code),code=typescript__WEBPACK_IMPORTED_MODULE_1__.transpile(`({\n run: async (beacon: any, taquito: any, taquitoWallet: any, progress: any): string => {\n Object.keys(beacon).forEach(key => {\n window[key] = beacon[key]\n })\n Object.keys(taquito).forEach(key => {\n window[key] = taquito[key]\n })\n Object.keys(taquitoWallet).forEach(key => {\n window[key] = taquitoWallet[key]\n })\n return (async () => {\n ${code};\n if (typeof result !== 'undefined') {\n return result\n }\n })()\n })`),new Promise((resolve=>{try{runnable=eval(code),runnable.run(_node_modules_beacon_sdk_dist_cjs__WEBPACK_IMPORTED_MODULE_0__,_taquito_taquito__WEBPACK_IMPORTED_MODULE_2__,_taquito_beacon_wallet__WEBPACK_IMPORTED_MODULE_3__,myLog).then((e=>{e&&appendOutput("Returned:\n"+JSON.stringify(e,null,2)),resolve(e)})).catch((e=>{console.warn(e),appendOutput(JSON.stringify(e,null,2)),resolve(e)}))}catch(e){appendOutput(e),console.error(e),resolve(e)}}))},copyShareUrl=e=>{const t=`https://${window.location.host}/playground?code=${btoa(e)}`;navigator.clipboard.writeText(t).catch((e=>console.error("Failed to copy to url!",e)))},reset=async()=>{const e=new _node_modules_beacon_sdk_dist_cjs__WEBPACK_IMPORTED_MODULE_0__.DAppClient({name:"Cleanup"});await e.destroy()}},13411:e=>{function t(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}t.keys=()=>[],t.resolve=t,t.id=13411,e.exports=t},35883:()=>{},46601:()=>{},89214:()=>{},52361:()=>{},94616:()=>{},62183:()=>{},13024:()=>{},62715:()=>{},13611:()=>{},28353:()=>{},1210:()=>{},43454:()=>{}}]); \ No newline at end of file diff --git a/assets/js/17a5e4a0.4d7abd02.js b/assets/js/17a5e4a0.4d7abd02.js new file mode 100644 index 00000000..0959599b --- /dev/null +++ b/assets/js/17a5e4a0.4d7abd02.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkbeacon_docs=self.webpackChunkbeacon_docs||[]).push([[1957],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>g});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function o(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var s=a.createContext({}),c=function(e){var t=a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},u=function(e){var t=c(e.components);return a.createElement(s.Provider,{value:t},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,l=e.originalType,s=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),d=c(n),m=r,g=d["".concat(s,".").concat(m)]||d[m]||p[m]||l;return n?a.createElement(g,o(o({ref:t},u),{},{components:n})):a.createElement(g,o({ref:t},u))}));function g(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=n.length,o=new Array(l);o[0]=m;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[d]="string"==typeof e?e:r,o[1]=i;for(var c=2;c{n.d(t,{Z:()=>o});var a=n(67294),r=n(93743);const l={tableOfContentsInline:"tableOfContentsInline_prmo"};function o(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:o}=e;return a.createElement("div",{className:l.tableOfContentsInline},a.createElement(r.Z,{toc:t,minHeadingLevel:n,maxHeadingLevel:o,className:"table-of-contents",linkClassName:null}))}},93743:(e,t,n)=>{n.d(t,{Z:()=>g});var a=n(87462),r=n(67294),l=n(86668);function o(e){const t=e.map((e=>({...e,parentIndex:-1,children:[]}))),n=Array(7).fill(-1);t.forEach(((e,t)=>{const a=n.slice(2,e.level);e.parentIndex=Math.max(...a),n[e.level]=t}));const a=[];return t.forEach((e=>{const{parentIndex:n,...r}=e;n>=0?t[n].children.push(r):a.push(r)})),a}function i(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:a}=e;return t.flatMap((e=>{const t=i({toc:e.children,minHeadingLevel:n,maxHeadingLevel:a});return function(e){return e.level>=n&&e.level<=a}(e)?[{...e,children:t}]:t}))}function s(e){const t=e.getBoundingClientRect();return t.top===t.bottom?s(e.parentNode):t}function c(e,t){let{anchorTopOffset:n}=t;const a=e.find((e=>s(e).top>=n));if(a){return function(e){return e.top>0&&e.bottom{e.current=t?0:document.querySelector(".navbar").clientHeight}),[t]),e}function d(e){const t=(0,r.useRef)(void 0),n=u();(0,r.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:a,linkActiveClassName:r,minHeadingLevel:l,maxHeadingLevel:o}=e;function i(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(a),i=function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e;const a=[];for(let r=t;r<=n;r+=1)a.push(`h${r}.anchor`);return Array.from(document.querySelectorAll(a.join()))}({minHeadingLevel:l,maxHeadingLevel:o}),s=c(i,{anchorTopOffset:n.current}),u=e.find((e=>s&&s.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,n){n?(t.current&&t.current!==e&&t.current.classList.remove(r),e.classList.add(r),t.current=e):e.classList.remove(r)}(e,e===u)}))}return document.addEventListener("scroll",i),document.addEventListener("resize",i),i(),()=>{document.removeEventListener("scroll",i),document.removeEventListener("resize",i)}}),[e,n])}function p(e){let{toc:t,className:n,linkClassName:a,isChild:l}=e;return t.length?r.createElement("ul",{className:l?void 0:n},t.map((e=>r.createElement("li",{key:e.id},r.createElement("a",{href:`#${e.id}`,className:a??void 0,dangerouslySetInnerHTML:{__html:e.value}}),r.createElement(p,{isChild:!0,toc:e.children,className:n,linkClassName:a}))))):null}const m=r.memo(p);function g(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:s="table-of-contents__link",linkActiveClassName:c,minHeadingLevel:u,maxHeadingLevel:p,...g}=e;const f=(0,l.L)(),k=u??f.tableOfContents.minHeadingLevel,b=p??f.tableOfContents.maxHeadingLevel,h=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:a}=e;return(0,r.useMemo)((()=>i({toc:o(t),minHeadingLevel:n,maxHeadingLevel:a})),[t,n,a])}({toc:t,minHeadingLevel:k,maxHeadingLevel:b});return d((0,r.useMemo)((()=>{if(s&&c)return{linkClassName:s,linkActiveClassName:c,minHeadingLevel:k,maxHeadingLevel:b}}),[s,c,k,b])),r.createElement(m,(0,a.Z)({toc:h,className:n,linkClassName:s},g))}},85162:(e,t,n)=>{n.d(t,{Z:()=>o});var a=n(67294),r=n(86010);const l={tabItem:"tabItem_Ymn6"};function o(e){let{children:t,hidden:n,className:o}=e;return a.createElement("div",{role:"tabpanel",className:(0,r.Z)(l.tabItem,o),hidden:n},t)}},74866:(e,t,n)=>{n.d(t,{Z:()=>y});var a=n(87462),r=n(67294),l=n(86010),o=n(12466),i=n(16550),s=n(91980),c=n(67392),u=n(50012);function d(e){return function(e){return r.Children.map(e,(e=>{if(!e||(0,r.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}(e).map((e=>{let{props:{value:t,label:n,attributes:a,default:r}}=e;return{value:t,label:n,attributes:a,default:r}}))}function p(e){const{values:t,children:n}=e;return(0,r.useMemo)((()=>{const e=t??d(n);return function(e){const t=(0,c.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function m(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function g(e){let{queryString:t=!1,groupId:n}=e;const a=(0,i.k6)(),l=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,s._X)(l),(0,r.useCallback)((e=>{if(!l)return;const t=new URLSearchParams(a.location.search);t.set(l,e),a.replace({...a.location,search:t.toString()})}),[l,a])]}function f(e){const{defaultValue:t,queryString:n=!1,groupId:a}=e,l=p(e),[o,i]=(0,r.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!m({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const a=n.find((e=>e.default))??n[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:t,tabValues:l}))),[s,c]=g({queryString:n,groupId:a}),[d,f]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[a,l]=(0,u.Nk)(n);return[a,(0,r.useCallback)((e=>{n&&l.set(e)}),[n,l])]}({groupId:a}),k=(()=>{const e=s??d;return m({value:e,tabValues:l})?e:null})();(0,r.useLayoutEffect)((()=>{k&&i(k)}),[k]);return{selectedValue:o,selectValue:(0,r.useCallback)((e=>{if(!m({value:e,tabValues:l}))throw new Error(`Can't select invalid tab value=${e}`);i(e),c(e),f(e)}),[c,f,l]),tabValues:l}}var k=n(72389);const b={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};function h(e){let{className:t,block:n,selectedValue:i,selectValue:s,tabValues:c}=e;const u=[],{blockElementScrollPositionUntilNextRender:d}=(0,o.o5)(),p=e=>{const t=e.currentTarget,n=u.indexOf(t),a=c[n].value;a!==i&&(d(t),s(a))},m=e=>{let t=null;switch(e.key){case"Enter":p(e);break;case"ArrowRight":{const n=u.indexOf(e.currentTarget)+1;t=u[n]??u[0];break}case"ArrowLeft":{const n=u.indexOf(e.currentTarget)-1;t=u[n]??u[u.length-1];break}}t?.focus()};return r.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,l.Z)("tabs",{"tabs--block":n},t)},c.map((e=>{let{value:t,label:n,attributes:o}=e;return r.createElement("li",(0,a.Z)({role:"tab",tabIndex:i===t?0:-1,"aria-selected":i===t,key:t,ref:e=>u.push(e),onKeyDown:m,onClick:p},o,{className:(0,l.Z)("tabs__item",b.tabItem,o?.className,{"tabs__item--active":i===t})}),n??t)})))}function v(e){let{lazy:t,children:n,selectedValue:a}=e;const l=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=l.find((e=>e.props.value===a));return e?(0,r.cloneElement)(e,{className:"margin-top--md"}):null}return r.createElement("div",{className:"margin-top--md"},l.map(((e,t)=>(0,r.cloneElement)(e,{key:t,hidden:e.props.value!==a}))))}function N(e){const t=f(e);return r.createElement("div",{className:(0,l.Z)("tabs-container",b.tabList)},r.createElement(h,(0,a.Z)({},e,t)),r.createElement(v,(0,a.Z)({},e,t)))}function y(e){const t=(0,k.Z)();return r.createElement(N,(0,a.Z)({key:String(t)},e))}},4285:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>c,default:()=>f,frontMatter:()=>s,metadata:()=>u,toc:()=>p});var a=n(87462),r=(n(67294),n(3905)),l=n(74866),o=n(85162),i=n(3901);const s={title:"Installation"},c=void 0,u={unversionedId:"wallet/getting-started/ios/installation",id:"wallet/getting-started/ios/installation",title:"Installation",description:"How to install Beacon iOS SDK",source:"@site/docs/wallet/getting-started/ios/installation.mdx",sourceDirName:"wallet/getting-started/ios",slug:"/wallet/getting-started/ios/installation",permalink:"/wallet/getting-started/ios/installation",draft:!1,editUrl:"https://github.com/airgap-it/beacon-docs/edit/main/src/docs/wallet/getting-started/ios/installation.mdx",tags:[],version:"current",frontMatter:{title:"Installation"},sidebar:"wallet",previous:{title:"Disconnect from a dApp",permalink:"/wallet/getting-started/android/disconnect-from-dapp"},next:{title:"Connect to a dApp",permalink:"/wallet/getting-started/ios/connect-to-dapp"}},d={},p=[{value:"How to install Beacon iOS SDK",id:"how-to-install-beacon-ios-sdk",level:2},{value:"Packages Overview",id:"packages-overview",level:2},{value:"Core",id:"core",level:3},{value:"Client",id:"client",level:3},{value:"Blockchain",id:"blockchain",level:3},{value:"Transport",id:"transport",level:3}],m={toc:p},g="wrapper";function f(e){let{components:t,...n}=e;return(0,r.kt)(g,(0,a.Z)({},m,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)(i.Z,{toc:p,mdxType:"TOCInline"}),(0,r.kt)("h2",{id:"how-to-install-beacon-ios-sdk"},"How to install Beacon iOS SDK"),(0,r.kt)("p",null,"To add Beacon iOS SDK into your project add the dependencies:"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://github.com/airgap-it/beacon-ios-sdk"},(0,r.kt)("img",{parentName:"a",src:"https://img.shields.io/github/v/tag/airgap-it/beacon-ios-sdk?label=stable&sort=semver",alt:"stable"})),"\n",(0,r.kt)("a",{parentName:"p",href:"https://github.com/airgap-it/beacon-ios-sdk"},(0,r.kt)("img",{parentName:"a",src:"https://img.shields.io/github/v/tag/airgap-it/beacon-ios-sdk?color=orange&include_prereleases&label=latest",alt:"latest"}))),(0,r.kt)(l.Z,{groupId:"package-manager",defaultValue:"spm",values:[{label:"SPM",value:"spm"},{label:"CocoaPods",value:"cocoapods"}],mdxType:"Tabs"},(0,r.kt)(o.Z,{value:"spm",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-swift",metastring:'title="Package.swift"',title:'"Package.swift"'},'dependencies: [\n .package(url: "https://github.com/airgap-it/beacon-ios-sdk", from: "x.y.z")\n],\n')),(0,r.kt)("p",null,"Or in Xcode open the ",(0,r.kt)("inlineCode",{parentName:"p"},"Add Package Dependency")," window (as described in ",(0,r.kt)("a",{parentName:"p",href:"https://developer.apple.com/documentation/xcode/adding_package_dependencies_to_your_app"},"the official guide"),") and enter the ",(0,r.kt)("inlineCode",{parentName:"p"},"Beacon iOS SDK")," GitHub repository URL"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"https://github.com/airgap-it/beacon-ios-sdk\n"))),(0,r.kt)(o.Z,{value:"cocoapods",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-ruby",metastring:'title="Podfile"',title:'"Podfile"'},"target 'MyTarget' do\n use_frameworks!\n\n pod 'BeaconCore', :git => 'https://github.com/airgap-it/beacon-ios-sdk', :tag => 'x.y.z'\n\n // optional\n pod 'BeaconClientWallet', :git => 'https://github.com/airgap-it/beacon-ios-sdk', :tag => 'x.y.z'\n\n // optional\n pod 'BeaconBlockchainSubstrate', :git => 'https://github.com/airgap-it/beacon-ios-sdk', :tag => 'x.y.z'\n // optional\n pod 'BeaconBlockchainTezos', :git => 'https://github.com/airgap-it/beacon-ios-sdk', :tag => 'x.y.z'\n\n // optional\n pod 'BeaconTransportP2PMatrix', :git => 'https://github.com/airgap-it/beacon-ios-sdk', :tag => 'x.y.z'\nend\n")))),(0,r.kt)("h2",{id:"packages-overview"},"Packages Overview"),(0,r.kt)("p",null,"The library packages and their relations are described below."),(0,r.kt)("h3",{id:"core"},"Core"),(0,r.kt)("p",null,"Core packages are the basis for other packages. They are required for the SDK to work as expected."),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Module"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Dependencies"),(0,r.kt)("th",{parentName:"tr",align:null},"Required by"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"BeaconCore")),(0,r.kt)("td",{parentName:"tr",align:null},"Base for other modules"),(0,r.kt)("td",{parentName:"tr",align:null},"\u2716\ufe0f"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"BeaconClientWallet")," ",(0,r.kt)("br",null),(0,r.kt)("br",null)," ",(0,r.kt)("inlineCode",{parentName:"td"},"BeaconBlockchainSubstrate")," ",(0,r.kt)("br",null)," ",(0,r.kt)("inlineCode",{parentName:"td"},"BeaconBlockchainTezos")," ",(0,r.kt)("br",null),(0,r.kt)("br",null)," ",(0,r.kt)("inlineCode",{parentName:"td"},"BeaconTransportP2PMatrix"))))),(0,r.kt)("h3",{id:"client"},"Client"),(0,r.kt)("p",null,"Client packages ship with Beacon implementations for different parts of the network."),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Module"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Dependencies"),(0,r.kt)("th",{parentName:"tr",align:null},"Required by"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"BeaconClientWallet")),(0,r.kt)("td",{parentName:"tr",align:null},"Beacon implementation for wallets"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"BeaconCore")),(0,r.kt)("td",{parentName:"tr",align:null},"\u2716\ufe0f")))),(0,r.kt)("h3",{id:"blockchain"},"Blockchain"),(0,r.kt)("p",null,"Blockchain packages provide support for different blockchains."),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Module"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Dependencies"),(0,r.kt)("th",{parentName:"tr",align:null},"Required by"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"BeaconBlockchainSubstrate")),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"https://substrate.io/"},"Substrate")," specific components"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"BeaconCore")),(0,r.kt)("td",{parentName:"tr",align:null},"\u2716\ufe0f")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"BeaconBlockchainTezos")),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"https://tezos.com/"},"Tezos")," specific components"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"BeaconCore")),(0,r.kt)("td",{parentName:"tr",align:null},"\u2716\ufe0f")))),(0,r.kt)("h3",{id:"transport"},"Transport"),(0,r.kt)("p",null,"Transport packages provide various interfaces used to establish connection between Beacon clients."),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Module"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Dependencies"),(0,r.kt)("th",{parentName:"tr",align:null},"Required by"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"BeaconTransportP2PMatrix")),(0,r.kt)("td",{parentName:"tr",align:null},"Beacon P2P implementation which uses ",(0,r.kt)("a",{parentName:"td",href:"https://matrix.org/"},"Matrix")," for the communication"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"BeaconCore")),(0,r.kt)("td",{parentName:"tr",align:null},"\u2716\ufe0f")))))}f.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1813.fca6921c.js b/assets/js/1813.fca6921c.js new file mode 100644 index 00000000..22c31c01 --- /dev/null +++ b/assets/js/1813.fca6921c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkbeacon_docs=self.webpackChunkbeacon_docs||[]).push([[1813],{41813:(t,e,s)=>{s.d(e,{d:()=>ut,f:()=>st,p:()=>n});var u=s(38077),i=s(81581),r=function(){var t=function(t,e,s,u){for(s=s||{},u=t.length;u--;s[t[u]]=e);return s},e=[1,9],s=[1,7],u=[1,6],i=[1,8],r=[1,20,21,22,23,38,45,47,49,53,69,92,93,94,95,96,97,110,113,114,117,119,122,123,124,129,130,131,132],n=[2,10],a=[1,20],c=[1,21],o=[1,22],l=[1,23],h=[1,30],A=[1,32],d=[1,33],p=[1,34],y=[1,56],E=[1,55],f=[1,36],D=[1,37],k=[1,38],g=[1,39],b=[1,40],_=[1,51],F=[1,53],T=[1,49],C=[1,54],S=[1,50],B=[1,57],m=[1,52],v=[1,58],x=[1,59],L=[1,41],I=[1,42],R=[1,43],N=[1,44],$=[1,62],O=[1,67],P=[1,20,21,22,23,38,43,45,47,49,53,69,92,93,94,95,96,97,110,113,114,117,119,122,123,124,129,130,131,132],w=[1,71],U=[1,70],V=[1,72],G=[20,21,23,84,86],M=[1,98],K=[1,103],Y=[1,102],j=[1,99],X=[1,95],z=[1,101],H=[1,97],W=[1,104],Q=[1,100],q=[1,105],Z=[1,96],J=[20,21,22,23,84,86],tt=[20,21,22,23,55,84,86],et=[20,21,22,23,40,53,55,57,59,61,63,65,67,69,72,74,76,77,79,84,86,97,110,113,114,117,119,122,123,124],st=[20,21,23],ut=[20,21,23,53,69,84,86,97,110,113,114,117,119,122,123,124],it=[1,12,20,21,22,23,24,38,43,45,47,49,53,69,92,93,94,95,96,97,110,113,114,117,119,122,123,124,129,130,131,132],rt=[53,69,97,110,113,114,117,119,122,123,124],nt=[1,134],at=[1,133],ct=[1,141],ot=[1,155],lt=[1,156],ht=[1,157],At=[1,158],dt=[1,143],pt=[1,145],yt=[1,149],Et=[1,150],ft=[1,151],Dt=[1,152],kt=[1,153],gt=[1,154],bt=[1,159],_t=[1,160],Ft=[1,139],Tt=[1,140],Ct=[1,147],St=[1,142],Bt=[1,146],mt=[1,144],vt=[20,21,22,23,38,43,45,47,49,53,69,92,93,94,95,96,97,110,113,114,117,119,122,123,124,129,130,131,132],xt=[1,162],Lt=[20,21,22,23,26,53,69,97,113,114,117,119,122,123,124],It=[1,182],Rt=[1,178],Nt=[1,179],$t=[1,183],Ot=[1,180],Pt=[1,181],wt=[12,21,22,24],Ut=[86,124,127],Vt=[20,21,22,23,24,26,38,40,43,53,69,84,92,93,94,95,96,97,98,113,117,119,122,123,124],Gt=[22,114],Mt=[42,58,60,62,64,66,71,73,75,76,78,80,124,125,126],Kt=[1,250],Yt=[1,248],jt=[1,252],Xt=[1,246],zt=[1,247],Ht=[1,249],Wt=[1,251],Qt=[1,253],qt=[1,270],Zt=[20,21,23,114],Jt=[20,21,22,23,69,92,113,114,117,118,119,120],te={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,directive:5,openDirective:6,typeDirective:7,closeDirective:8,separator:9,":":10,argDirective:11,open_directive:12,type_directive:13,arg_directive:14,close_directive:15,graphConfig:16,document:17,line:18,statement:19,SEMI:20,NEWLINE:21,SPACE:22,EOF:23,GRAPH:24,NODIR:25,DIR:26,FirstStmtSeperator:27,ending:28,endToken:29,spaceList:30,spaceListNewline:31,verticeStatement:32,styleStatement:33,linkStyleStatement:34,classDefStatement:35,classStatement:36,clickStatement:37,subgraph:38,textNoTags:39,SQS:40,text:41,SQE:42,end:43,direction:44,acc_title:45,acc_title_value:46,acc_descr:47,acc_descr_value:48,acc_descr_multiline_value:49,link:50,node:51,styledVertex:52,AMP:53,vertex:54,STYLE_SEPARATOR:55,idString:56,DOUBLECIRCLESTART:57,DOUBLECIRCLEEND:58,PS:59,PE:60,"(-":61,"-)":62,STADIUMSTART:63,STADIUMEND:64,SUBROUTINESTART:65,SUBROUTINEEND:66,VERTEX_WITH_PROPS_START:67,"NODE_STRING[field]":68,COLON:69,"NODE_STRING[value]":70,PIPE:71,CYLINDERSTART:72,CYLINDEREND:73,DIAMOND_START:74,DIAMOND_STOP:75,TAGEND:76,TRAPSTART:77,TRAPEND:78,INVTRAPSTART:79,INVTRAPEND:80,linkStatement:81,arrowText:82,TESTSTR:83,START_LINK:84,edgeText:85,LINK:86,edgeTextToken:87,STR:88,MD_STR:89,textToken:90,keywords:91,STYLE:92,LINKSTYLE:93,CLASSDEF:94,CLASS:95,CLICK:96,DOWN:97,UP:98,textNoTagsToken:99,stylesOpt:100,"idString[vertex]":101,"idString[class]":102,CALLBACKNAME:103,CALLBACKARGS:104,HREF:105,LINK_TARGET:106,"STR[link]":107,"STR[tooltip]":108,alphaNum:109,DEFAULT:110,numList:111,INTERPOLATE:112,NUM:113,COMMA:114,style:115,styleComponent:116,NODE_STRING:117,UNIT:118,BRKT:119,PCT:120,idStringToken:121,MINUS:122,MULT:123,UNICODE_TEXT:124,TEXT:125,TAGSTART:126,EDGE_TEXT:127,alphaNumToken:128,direction_tb:129,direction_bt:130,direction_rl:131,direction_lr:132,$accept:0,$end:1},terminals_:{2:"error",10:":",12:"open_directive",13:"type_directive",14:"arg_directive",15:"close_directive",20:"SEMI",21:"NEWLINE",22:"SPACE",23:"EOF",24:"GRAPH",25:"NODIR",26:"DIR",38:"subgraph",40:"SQS",42:"SQE",43:"end",45:"acc_title",46:"acc_title_value",47:"acc_descr",48:"acc_descr_value",49:"acc_descr_multiline_value",53:"AMP",55:"STYLE_SEPARATOR",57:"DOUBLECIRCLESTART",58:"DOUBLECIRCLEEND",59:"PS",60:"PE",61:"(-",62:"-)",63:"STADIUMSTART",64:"STADIUMEND",65:"SUBROUTINESTART",66:"SUBROUTINEEND",67:"VERTEX_WITH_PROPS_START",68:"NODE_STRING[field]",69:"COLON",70:"NODE_STRING[value]",71:"PIPE",72:"CYLINDERSTART",73:"CYLINDEREND",74:"DIAMOND_START",75:"DIAMOND_STOP",76:"TAGEND",77:"TRAPSTART",78:"TRAPEND",79:"INVTRAPSTART",80:"INVTRAPEND",83:"TESTSTR",84:"START_LINK",86:"LINK",88:"STR",89:"MD_STR",92:"STYLE",93:"LINKSTYLE",94:"CLASSDEF",95:"CLASS",96:"CLICK",97:"DOWN",98:"UP",101:"idString[vertex]",102:"idString[class]",103:"CALLBACKNAME",104:"CALLBACKARGS",105:"HREF",106:"LINK_TARGET",107:"STR[link]",108:"STR[tooltip]",110:"DEFAULT",112:"INTERPOLATE",113:"NUM",114:"COMMA",117:"NODE_STRING",118:"UNIT",119:"BRKT",120:"PCT",122:"MINUS",123:"MULT",124:"UNICODE_TEXT",125:"TEXT",126:"TAGSTART",127:"EDGE_TEXT",129:"direction_tb",130:"direction_bt",131:"direction_rl",132:"direction_lr"},productions_:[0,[3,1],[3,2],[5,4],[5,6],[6,1],[7,1],[11,1],[8,1],[4,2],[17,0],[17,2],[18,1],[18,1],[18,1],[18,1],[18,1],[16,2],[16,2],[16,2],[16,3],[28,2],[28,1],[29,1],[29,1],[29,1],[27,1],[27,1],[27,2],[31,2],[31,2],[31,1],[31,1],[30,2],[30,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,9],[19,6],[19,4],[19,1],[19,2],[19,2],[19,1],[9,1],[9,1],[9,1],[32,3],[32,4],[32,2],[32,1],[51,1],[51,5],[52,1],[52,3],[54,4],[54,4],[54,6],[54,4],[54,4],[54,4],[54,8],[54,4],[54,4],[54,4],[54,6],[54,4],[54,4],[54,4],[54,4],[54,4],[54,1],[50,2],[50,3],[50,3],[50,1],[50,3],[85,1],[85,2],[85,1],[85,1],[81,1],[82,3],[41,1],[41,2],[41,1],[41,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[39,1],[39,2],[39,1],[39,1],[35,5],[36,5],[37,2],[37,4],[37,3],[37,5],[37,3],[37,5],[37,5],[37,7],[37,2],[37,4],[37,2],[37,4],[37,4],[37,6],[33,5],[34,5],[34,5],[34,9],[34,9],[34,7],[34,7],[111,1],[111,3],[100,1],[100,3],[115,1],[115,2],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[90,1],[90,1],[90,1],[90,1],[99,1],[99,1],[99,1],[99,1],[99,1],[99,1],[99,1],[99,1],[99,1],[99,1],[99,1],[87,1],[87,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[56,1],[56,2],[109,1],[109,2],[44,1],[44,1],[44,1],[44,1]],performAction:function(t,e,s,u,i,r,n){var a=r.length-1;switch(i){case 5:u.parseDirective("%%{","open_directive");break;case 6:u.parseDirective(r[a],"type_directive");break;case 7:r[a]=r[a].trim().replace(/'/g,'"'),u.parseDirective(r[a],"arg_directive");break;case 8:u.parseDirective("}%%","close_directive","flowchart");break;case 10:case 36:case 37:case 38:case 39:case 40:this.$=[];break;case 11:(!Array.isArray(r[a])||r[a].length>0)&&r[a-1].push(r[a]),this.$=r[a-1];break;case 12:case 184:case 57:case 79:case 182:this.$=r[a];break;case 19:u.setDirection("TB"),this.$="TB";break;case 20:u.setDirection(r[a-1]),this.$=r[a-1];break;case 35:this.$=r[a-1].nodes;break;case 41:this.$=u.addSubGraph(r[a-6],r[a-1],r[a-4]);break;case 42:this.$=u.addSubGraph(r[a-3],r[a-1],r[a-3]);break;case 43:this.$=u.addSubGraph(void 0,r[a-1],void 0);break;case 45:this.$=r[a].trim(),u.setAccTitle(this.$);break;case 46:case 47:this.$=r[a].trim(),u.setAccDescription(this.$);break;case 51:u.addLink(r[a-2].stmt,r[a],r[a-1]),this.$={stmt:r[a],nodes:r[a].concat(r[a-2].nodes)};break;case 52:u.addLink(r[a-3].stmt,r[a-1],r[a-2]),this.$={stmt:r[a-1],nodes:r[a-1].concat(r[a-3].nodes)};break;case 53:this.$={stmt:r[a-1],nodes:r[a-1]};break;case 54:this.$={stmt:r[a],nodes:r[a]};break;case 55:case 129:case 131:this.$=[r[a]];break;case 56:this.$=r[a-4].concat(r[a]);break;case 58:this.$=r[a-2],u.setClass(r[a-2],r[a]);break;case 59:this.$=r[a-3],u.addVertex(r[a-3],r[a-1],"square");break;case 60:this.$=r[a-3],u.addVertex(r[a-3],r[a-1],"doublecircle");break;case 61:this.$=r[a-5],u.addVertex(r[a-5],r[a-2],"circle");break;case 62:this.$=r[a-3],u.addVertex(r[a-3],r[a-1],"ellipse");break;case 63:this.$=r[a-3],u.addVertex(r[a-3],r[a-1],"stadium");break;case 64:this.$=r[a-3],u.addVertex(r[a-3],r[a-1],"subroutine");break;case 65:this.$=r[a-7],u.addVertex(r[a-7],r[a-1],"rect",void 0,void 0,void 0,Object.fromEntries([[r[a-5],r[a-3]]]));break;case 66:this.$=r[a-3],u.addVertex(r[a-3],r[a-1],"cylinder");break;case 67:this.$=r[a-3],u.addVertex(r[a-3],r[a-1],"round");break;case 68:this.$=r[a-3],u.addVertex(r[a-3],r[a-1],"diamond");break;case 69:this.$=r[a-5],u.addVertex(r[a-5],r[a-2],"hexagon");break;case 70:this.$=r[a-3],u.addVertex(r[a-3],r[a-1],"odd");break;case 71:this.$=r[a-3],u.addVertex(r[a-3],r[a-1],"trapezoid");break;case 72:this.$=r[a-3],u.addVertex(r[a-3],r[a-1],"inv_trapezoid");break;case 73:this.$=r[a-3],u.addVertex(r[a-3],r[a-1],"lean_right");break;case 74:this.$=r[a-3],u.addVertex(r[a-3],r[a-1],"lean_left");break;case 75:this.$=r[a],u.addVertex(r[a]);break;case 76:r[a-1].text=r[a],this.$=r[a-1];break;case 77:case 78:r[a-2].text=r[a-1],this.$=r[a-2];break;case 80:var c=u.destructLink(r[a],r[a-2]);this.$={type:c.type,stroke:c.stroke,length:c.length,text:r[a-1]};break;case 81:case 87:case 102:case 104:this.$={text:r[a],type:"text"};break;case 82:case 88:case 103:this.$={text:r[a-1].text+""+r[a],type:r[a-1].type};break;case 83:case 89:this.$={text:r[a],type:"string"};break;case 84:case 90:case 105:this.$={text:r[a],type:"markdown"};break;case 85:c=u.destructLink(r[a]);this.$={type:c.type,stroke:c.stroke,length:c.length};break;case 86:this.$=r[a-1];break;case 106:this.$=r[a-4],u.addClass(r[a-2],r[a]);break;case 107:this.$=r[a-4],u.setClass(r[a-2],r[a]);break;case 108:case 116:this.$=r[a-1],u.setClickEvent(r[a-1],r[a]);break;case 109:case 117:this.$=r[a-3],u.setClickEvent(r[a-3],r[a-2]),u.setTooltip(r[a-3],r[a]);break;case 110:this.$=r[a-2],u.setClickEvent(r[a-2],r[a-1],r[a]);break;case 111:this.$=r[a-4],u.setClickEvent(r[a-4],r[a-3],r[a-2]),u.setTooltip(r[a-4],r[a]);break;case 112:this.$=r[a-2],u.setLink(r[a-2],r[a]);break;case 113:this.$=r[a-4],u.setLink(r[a-4],r[a-2]),u.setTooltip(r[a-4],r[a]);break;case 114:this.$=r[a-4],u.setLink(r[a-4],r[a-2],r[a]);break;case 115:this.$=r[a-6],u.setLink(r[a-6],r[a-4],r[a]),u.setTooltip(r[a-6],r[a-2]);break;case 118:this.$=r[a-1],u.setLink(r[a-1],r[a]);break;case 119:this.$=r[a-3],u.setLink(r[a-3],r[a-2]),u.setTooltip(r[a-3],r[a]);break;case 120:this.$=r[a-3],u.setLink(r[a-3],r[a-2],r[a]);break;case 121:this.$=r[a-5],u.setLink(r[a-5],r[a-4],r[a]),u.setTooltip(r[a-5],r[a-2]);break;case 122:this.$=r[a-4],u.addVertex(r[a-2],void 0,void 0,r[a]);break;case 123:this.$=r[a-4],u.updateLink([r[a-2]],r[a]);break;case 124:this.$=r[a-4],u.updateLink(r[a-2],r[a]);break;case 125:this.$=r[a-8],u.updateLinkInterpolate([r[a-6]],r[a-2]),u.updateLink([r[a-6]],r[a]);break;case 126:this.$=r[a-8],u.updateLinkInterpolate(r[a-6],r[a-2]),u.updateLink(r[a-6],r[a]);break;case 127:this.$=r[a-6],u.updateLinkInterpolate([r[a-4]],r[a]);break;case 128:this.$=r[a-6],u.updateLinkInterpolate(r[a-4],r[a]);break;case 130:case 132:r[a-2].push(r[a]),this.$=r[a-2];break;case 134:this.$=r[a-1]+r[a];break;case 183:case 185:this.$=r[a-1]+""+r[a];break;case 186:this.$={stmt:"dir",value:"TB"};break;case 187:this.$={stmt:"dir",value:"BT"};break;case 188:this.$={stmt:"dir",value:"RL"};break;case 189:this.$={stmt:"dir",value:"LR"}}},table:[{3:1,4:2,5:3,6:5,12:e,16:4,21:s,22:u,24:i},{1:[3]},{1:[2,1]},{3:10,4:2,5:3,6:5,12:e,16:4,21:s,22:u,24:i},t(r,n,{17:11}),{7:12,13:[1,13]},{16:14,21:s,22:u,24:i},{16:15,21:s,22:u,24:i},{25:[1,16],26:[1,17]},{13:[2,5]},{1:[2,2]},{1:[2,9],18:18,19:19,20:a,21:c,22:o,23:l,32:24,33:25,34:26,35:27,36:28,37:29,38:h,44:31,45:A,47:d,49:p,51:35,52:45,53:y,54:46,56:47,69:E,92:f,93:D,94:k,95:g,96:b,97:_,110:F,113:T,114:C,117:S,119:B,121:48,122:m,123:v,124:x,129:L,130:I,131:R,132:N},{8:60,10:[1,61],15:$},t([10,15],[2,6]),t(r,[2,17]),t(r,[2,18]),t(r,[2,19]),{20:[1,64],21:[1,65],22:O,27:63,30:66},t(P,[2,11]),t(P,[2,12]),t(P,[2,13]),t(P,[2,14]),t(P,[2,15]),t(P,[2,16]),{9:68,20:w,21:U,23:V,50:69,81:73,84:[1,74],86:[1,75]},{9:76,20:w,21:U,23:V},{9:77,20:w,21:U,23:V},{9:78,20:w,21:U,23:V},{9:79,20:w,21:U,23:V},{9:80,20:w,21:U,23:V},{9:82,20:w,21:U,22:[1,81],23:V},t(P,[2,44]),{46:[1,83]},{48:[1,84]},t(P,[2,47]),t(G,[2,54],{30:85,22:O}),{22:[1,86]},{22:[1,87]},{22:[1,88]},{22:[1,89]},{26:M,53:K,69:Y,88:[1,93],97:j,103:[1,90],105:[1,91],109:92,113:X,114:z,117:H,119:W,122:Q,123:q,124:Z,128:94},t(P,[2,186]),t(P,[2,187]),t(P,[2,188]),t(P,[2,189]),t(J,[2,55]),t(J,[2,57],{55:[1,106]}),t(tt,[2,75],{121:119,40:[1,107],53:y,57:[1,108],59:[1,109],61:[1,110],63:[1,111],65:[1,112],67:[1,113],69:E,72:[1,114],74:[1,115],76:[1,116],77:[1,117],79:[1,118],97:_,110:F,113:T,114:C,117:S,119:B,122:m,123:v,124:x}),t(et,[2,182]),t(et,[2,143]),t(et,[2,144]),t(et,[2,145]),t(et,[2,146]),t(et,[2,147]),t(et,[2,148]),t(et,[2,149]),t(et,[2,150]),t(et,[2,151]),t(et,[2,152]),t(et,[2,153]),{9:120,20:w,21:U,23:V},{11:121,14:[1,122]},t(st,[2,8]),t(r,[2,20]),t(r,[2,26]),t(r,[2,27]),{21:[1,123]},t(ut,[2,34],{30:124,22:O}),t(P,[2,35]),{51:125,52:45,53:y,54:46,56:47,69:E,97:_,110:F,113:T,114:C,117:S,119:B,121:48,122:m,123:v,124:x},t(it,[2,48]),t(it,[2,49]),t(it,[2,50]),t(rt,[2,79],{82:126,71:[1,128],83:[1,127]}),{85:129,87:130,88:[1,131],89:[1,132],124:nt,127:at},t([53,69,71,83,97,110,113,114,117,119,122,123,124],[2,85]),t(P,[2,36]),t(P,[2,37]),t(P,[2,38]),t(P,[2,39]),t(P,[2,40]),{22:ct,24:ot,26:lt,38:ht,39:135,43:At,53:dt,69:pt,84:yt,88:[1,137],89:[1,138],91:148,92:Et,93:ft,94:Dt,95:kt,96:gt,97:bt,98:_t,99:136,113:Ft,117:Tt,119:Ct,122:St,123:Bt,124:mt},t(vt,n,{17:161}),t(P,[2,45]),t(P,[2,46]),t(G,[2,53],{53:xt}),{53:y,56:163,69:E,97:_,110:F,113:T,114:C,117:S,119:B,121:48,122:m,123:v,124:x},{110:[1,164],111:165,113:[1,166]},{53:y,56:167,69:E,97:_,110:F,113:T,114:C,117:S,119:B,121:48,122:m,123:v,124:x},{53:y,56:168,69:E,97:_,110:F,113:T,114:C,117:S,119:B,121:48,122:m,123:v,124:x},t(st,[2,108],{22:[1,169],104:[1,170]}),{88:[1,171]},t(st,[2,116],{128:173,22:[1,172],26:M,53:K,69:Y,97:j,113:X,114:z,117:H,119:W,122:Q,123:q,124:Z}),t(st,[2,118],{22:[1,174]}),t(Lt,[2,184]),t(Lt,[2,171]),t(Lt,[2,172]),t(Lt,[2,173]),t(Lt,[2,174]),t(Lt,[2,175]),t(Lt,[2,176]),t(Lt,[2,177]),t(Lt,[2,178]),t(Lt,[2,179]),t(Lt,[2,180]),t(Lt,[2,181]),{53:y,56:175,69:E,97:_,110:F,113:T,114:C,117:S,119:B,121:48,122:m,123:v,124:x},{41:176,76:It,88:Rt,89:Nt,90:177,124:$t,125:Ot,126:Pt},{41:184,76:It,88:Rt,89:Nt,90:177,124:$t,125:Ot,126:Pt},{41:186,59:[1,185],76:It,88:Rt,89:Nt,90:177,124:$t,125:Ot,126:Pt},{41:187,76:It,88:Rt,89:Nt,90:177,124:$t,125:Ot,126:Pt},{41:188,76:It,88:Rt,89:Nt,90:177,124:$t,125:Ot,126:Pt},{41:189,76:It,88:Rt,89:Nt,90:177,124:$t,125:Ot,126:Pt},{117:[1,190]},{41:191,76:It,88:Rt,89:Nt,90:177,124:$t,125:Ot,126:Pt},{41:192,74:[1,193],76:It,88:Rt,89:Nt,90:177,124:$t,125:Ot,126:Pt},{41:194,76:It,88:Rt,89:Nt,90:177,124:$t,125:Ot,126:Pt},{41:195,76:It,88:Rt,89:Nt,90:177,124:$t,125:Ot,126:Pt},{41:196,76:It,88:Rt,89:Nt,90:177,124:$t,125:Ot,126:Pt},t(et,[2,183]),t(wt,[2,3]),{8:197,15:$},{15:[2,7]},t(r,[2,28]),t(ut,[2,33]),t(G,[2,51],{30:198,22:O}),t(rt,[2,76],{22:[1,199]}),{22:[1,200]},{41:201,76:It,88:Rt,89:Nt,90:177,124:$t,125:Ot,126:Pt},{86:[1,202],87:203,124:nt,127:at},t(Ut,[2,81]),t(Ut,[2,83]),t(Ut,[2,84]),t(Ut,[2,169]),t(Ut,[2,170]),{9:205,20:w,21:U,22:ct,23:V,24:ot,26:lt,38:ht,40:[1,204],43:At,53:dt,69:pt,84:yt,91:148,92:Et,93:ft,94:Dt,95:kt,96:gt,97:bt,98:_t,99:206,113:Ft,117:Tt,119:Ct,122:St,123:Bt,124:mt},t(Vt,[2,102]),t(Vt,[2,104]),t(Vt,[2,105]),t(Vt,[2,158]),t(Vt,[2,159]),t(Vt,[2,160]),t(Vt,[2,161]),t(Vt,[2,162]),t(Vt,[2,163]),t(Vt,[2,164]),t(Vt,[2,165]),t(Vt,[2,166]),t(Vt,[2,167]),t(Vt,[2,168]),t(Vt,[2,91]),t(Vt,[2,92]),t(Vt,[2,93]),t(Vt,[2,94]),t(Vt,[2,95]),t(Vt,[2,96]),t(Vt,[2,97]),t(Vt,[2,98]),t(Vt,[2,99]),t(Vt,[2,100]),t(Vt,[2,101]),{18:18,19:19,20:a,21:c,22:o,23:l,32:24,33:25,34:26,35:27,36:28,37:29,38:h,43:[1,207],44:31,45:A,47:d,49:p,51:35,52:45,53:y,54:46,56:47,69:E,92:f,93:D,94:k,95:g,96:b,97:_,110:F,113:T,114:C,117:S,119:B,121:48,122:m,123:v,124:x,129:L,130:I,131:R,132:N},{22:O,30:208},{22:[1,209],53:y,69:E,97:_,110:F,113:T,114:C,117:S,119:B,121:119,122:m,123:v,124:x},{22:[1,210]},{22:[1,211],114:[1,212]},t(Gt,[2,129]),{22:[1,213],53:y,69:E,97:_,110:F,113:T,114:C,117:S,119:B,121:119,122:m,123:v,124:x},{22:[1,214],53:y,69:E,97:_,110:F,113:T,114:C,117:S,119:B,121:119,122:m,123:v,124:x},{88:[1,215]},t(st,[2,110],{22:[1,216]}),t(st,[2,112],{22:[1,217]}),{88:[1,218]},t(Lt,[2,185]),{88:[1,219],106:[1,220]},t(J,[2,58],{121:119,53:y,69:E,97:_,110:F,113:T,114:C,117:S,119:B,122:m,123:v,124:x}),{42:[1,221],76:It,90:222,124:$t,125:Ot,126:Pt},t(Mt,[2,87]),t(Mt,[2,89]),t(Mt,[2,90]),t(Mt,[2,154]),t(Mt,[2,155]),t(Mt,[2,156]),t(Mt,[2,157]),{58:[1,223],76:It,90:222,124:$t,125:Ot,126:Pt},{41:224,76:It,88:Rt,89:Nt,90:177,124:$t,125:Ot,126:Pt},{60:[1,225],76:It,90:222,124:$t,125:Ot,126:Pt},{62:[1,226],76:It,90:222,124:$t,125:Ot,126:Pt},{64:[1,227],76:It,90:222,124:$t,125:Ot,126:Pt},{66:[1,228],76:It,90:222,124:$t,125:Ot,126:Pt},{69:[1,229]},{73:[1,230],76:It,90:222,124:$t,125:Ot,126:Pt},{75:[1,231],76:It,90:222,124:$t,125:Ot,126:Pt},{41:232,76:It,88:Rt,89:Nt,90:177,124:$t,125:Ot,126:Pt},{42:[1,233],76:It,90:222,124:$t,125:Ot,126:Pt},{76:It,78:[1,234],80:[1,235],90:222,124:$t,125:Ot,126:Pt},{76:It,78:[1,237],80:[1,236],90:222,124:$t,125:Ot,126:Pt},{9:238,20:w,21:U,23:V},t(G,[2,52],{53:xt}),t(rt,[2,78]),t(rt,[2,77]),{71:[1,239],76:It,90:222,124:$t,125:Ot,126:Pt},t(rt,[2,80]),t(Ut,[2,82]),{41:240,76:It,88:Rt,89:Nt,90:177,124:$t,125:Ot,126:Pt},t(vt,n,{17:241}),t(Vt,[2,103]),t(P,[2,43]),{52:242,53:y,54:46,56:47,69:E,97:_,110:F,113:T,114:C,117:S,119:B,121:48,122:m,123:v,124:x},{22:Kt,69:Yt,92:jt,100:243,113:Xt,115:244,116:245,117:zt,118:Ht,119:Wt,120:Qt},{22:Kt,69:Yt,92:jt,100:254,112:[1,255],113:Xt,115:244,116:245,117:zt,118:Ht,119:Wt,120:Qt},{22:Kt,69:Yt,92:jt,100:256,112:[1,257],113:Xt,115:244,116:245,117:zt,118:Ht,119:Wt,120:Qt},{113:[1,258]},{22:Kt,69:Yt,92:jt,100:259,113:Xt,115:244,116:245,117:zt,118:Ht,119:Wt,120:Qt},{53:y,56:260,69:E,97:_,110:F,113:T,114:C,117:S,119:B,121:48,122:m,123:v,124:x},t(st,[2,109]),{88:[1,261]},{88:[1,262],106:[1,263]},t(st,[2,117]),t(st,[2,119],{22:[1,264]}),t(st,[2,120]),t(tt,[2,59]),t(Mt,[2,88]),t(tt,[2,60]),{60:[1,265],76:It,90:222,124:$t,125:Ot,126:Pt},t(tt,[2,67]),t(tt,[2,62]),t(tt,[2,63]),t(tt,[2,64]),{117:[1,266]},t(tt,[2,66]),t(tt,[2,68]),{75:[1,267],76:It,90:222,124:$t,125:Ot,126:Pt},t(tt,[2,70]),t(tt,[2,71]),t(tt,[2,73]),t(tt,[2,72]),t(tt,[2,74]),t(wt,[2,4]),t([22,53,69,97,110,113,114,117,119,122,123,124],[2,86]),{42:[1,268],76:It,90:222,124:$t,125:Ot,126:Pt},{18:18,19:19,20:a,21:c,22:o,23:l,32:24,33:25,34:26,35:27,36:28,37:29,38:h,43:[1,269],44:31,45:A,47:d,49:p,51:35,52:45,53:y,54:46,56:47,69:E,92:f,93:D,94:k,95:g,96:b,97:_,110:F,113:T,114:C,117:S,119:B,121:48,122:m,123:v,124:x,129:L,130:I,131:R,132:N},t(J,[2,56]),t(st,[2,122],{114:qt}),t(Zt,[2,131],{116:271,22:Kt,69:Yt,92:jt,113:Xt,117:zt,118:Ht,119:Wt,120:Qt}),t(Jt,[2,133]),t(Jt,[2,135]),t(Jt,[2,136]),t(Jt,[2,137]),t(Jt,[2,138]),t(Jt,[2,139]),t(Jt,[2,140]),t(Jt,[2,141]),t(Jt,[2,142]),t(st,[2,123],{114:qt}),{22:[1,272]},t(st,[2,124],{114:qt}),{22:[1,273]},t(Gt,[2,130]),t(st,[2,106],{114:qt}),t(st,[2,107],{121:119,53:y,69:E,97:_,110:F,113:T,114:C,117:S,119:B,122:m,123:v,124:x}),t(st,[2,111]),t(st,[2,113],{22:[1,274]}),t(st,[2,114]),{106:[1,275]},{60:[1,276]},{71:[1,277]},{75:[1,278]},{9:279,20:w,21:U,23:V},t(P,[2,42]),{22:Kt,69:Yt,92:jt,113:Xt,115:280,116:245,117:zt,118:Ht,119:Wt,120:Qt},t(Jt,[2,134]),{26:M,53:K,69:Y,97:j,109:281,113:X,114:z,117:H,119:W,122:Q,123:q,124:Z,128:94},{26:M,53:K,69:Y,97:j,109:282,113:X,114:z,117:H,119:W,122:Q,123:q,124:Z,128:94},{106:[1,283]},t(st,[2,121]),t(tt,[2,61]),{41:284,76:It,88:Rt,89:Nt,90:177,124:$t,125:Ot,126:Pt},t(tt,[2,69]),t(vt,n,{17:285}),t(Zt,[2,132],{116:271,22:Kt,69:Yt,92:jt,113:Xt,117:zt,118:Ht,119:Wt,120:Qt}),t(st,[2,127],{128:173,22:[1,286],26:M,53:K,69:Y,97:j,113:X,114:z,117:H,119:W,122:Q,123:q,124:Z}),t(st,[2,128],{128:173,22:[1,287],26:M,53:K,69:Y,97:j,113:X,114:z,117:H,119:W,122:Q,123:q,124:Z}),t(st,[2,115]),{42:[1,288],76:It,90:222,124:$t,125:Ot,126:Pt},{18:18,19:19,20:a,21:c,22:o,23:l,32:24,33:25,34:26,35:27,36:28,37:29,38:h,43:[1,289],44:31,45:A,47:d,49:p,51:35,52:45,53:y,54:46,56:47,69:E,92:f,93:D,94:k,95:g,96:b,97:_,110:F,113:T,114:C,117:S,119:B,121:48,122:m,123:v,124:x,129:L,130:I,131:R,132:N},{22:Kt,69:Yt,92:jt,100:290,113:Xt,115:244,116:245,117:zt,118:Ht,119:Wt,120:Qt},{22:Kt,69:Yt,92:jt,100:291,113:Xt,115:244,116:245,117:zt,118:Ht,119:Wt,120:Qt},t(tt,[2,65]),t(P,[2,41]),t(st,[2,125],{114:qt}),t(st,[2,126],{114:qt})],defaultActions:{2:[2,1],9:[2,5],10:[2,2],122:[2,7]},parseError:function(t,e){if(!e.recoverable){var s=new Error(t);throw s.hash=e,s}this.trace(t)},parse:function(t){var e=this,s=[0],u=[],i=[null],r=[],n=this.table,a="",c=0,o=0,l=r.slice.call(arguments,1),h=Object.create(this.lexer),A={yy:{}};for(var d in this.yy)Object.prototype.hasOwnProperty.call(this.yy,d)&&(A.yy[d]=this.yy[d]);h.setInput(t,A.yy),A.yy.lexer=h,A.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var p=h.yylloc;r.push(p);var y=h.options&&h.options.ranges;"function"==typeof A.yy.parseError?this.parseError=A.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var E,f,D,k,g,b,_,F,T,C={};;){if(f=s[s.length-1],this.defaultActions[f]?D=this.defaultActions[f]:(null==E&&(T=void 0,"number"!=typeof(T=u.pop()||h.lex()||1)&&(T instanceof Array&&(T=(u=T).pop()),T=e.symbols_[T]||T),E=T),D=n[f]&&n[f][E]),void 0===D||!D.length||!D[0]){var S="";for(g in F=[],n[f])this.terminals_[g]&&g>2&&F.push("'"+this.terminals_[g]+"'");S=h.showPosition?"Parse error on line "+(c+1)+":\n"+h.showPosition()+"\nExpecting "+F.join(", ")+", got '"+(this.terminals_[E]||E)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==E?"end of input":"'"+(this.terminals_[E]||E)+"'"),this.parseError(S,{text:h.match,token:this.terminals_[E]||E,line:h.yylineno,loc:p,expected:F})}if(D[0]instanceof Array&&D.length>1)throw new Error("Parse Error: multiple actions possible at state: "+f+", token: "+E);switch(D[0]){case 1:s.push(E),i.push(h.yytext),r.push(h.yylloc),s.push(D[1]),E=null,o=h.yyleng,a=h.yytext,c=h.yylineno,p=h.yylloc;break;case 2:if(b=this.productions_[D[1]][1],C.$=i[i.length-b],C._$={first_line:r[r.length-(b||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(b||1)].first_column,last_column:r[r.length-1].last_column},y&&(C._$.range=[r[r.length-(b||1)].range[0],r[r.length-1].range[1]]),void 0!==(k=this.performAction.apply(C,[a,o,c,A.yy,D[1],i,r].concat(l))))return k;b&&(s=s.slice(0,-1*b*2),i=i.slice(0,-1*b),r=r.slice(0,-1*b)),s.push(this.productions_[D[1]][0]),i.push(C.$),r.push(C._$),_=n[s[s.length-2]][s[s.length-1]],s.push(_);break;case 3:return!0}}return!0}},ee={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,s=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var u=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),s.length-1&&(this.yylineno-=s.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:s?(s.length===u.length?this.yylloc.first_column:0)+u[u.length-s.length].length-s[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var s,u,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(u=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=u.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:u?u[u.length-1].length-u[u.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],s=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),s)return s;if(this._backtrack){for(var r in i)this[r]=i[r];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,s,u;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),r=0;re[0].length)){if(e=s,u=r,this.options.backtrack_lexer){if(!1!==(t=this.test_match(s,i[r])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[u]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,s,u){switch(s){case 0:return this.begin("open_directive"),12;case 1:return this.begin("type_directive"),13;case 2:return this.popState(),this.begin("arg_directive"),10;case 3:return this.popState(),this.popState(),15;case 4:return 14;case 5:return this.begin("acc_title"),45;case 6:return this.popState(),"acc_title_value";case 7:return this.begin("acc_descr"),47;case 8:return this.popState(),"acc_descr_value";case 9:this.begin("acc_descr_multiline");break;case 10:case 13:case 16:case 19:case 22:case 32:this.popState();break;case 11:return"acc_descr_multiline_value";case 12:this.begin("callbackname");break;case 14:this.popState(),this.begin("callbackargs");break;case 15:return 103;case 17:return 104;case 18:return"MD_STR";case 20:this.begin("md_string");break;case 21:return"STR";case 23:this.pushState("string");break;case 24:return 92;case 25:return 110;case 26:return 93;case 27:return 112;case 28:return 94;case 29:return 95;case 30:return 105;case 31:this.begin("click");break;case 33:return 96;case 34:case 35:case 36:return t.lex.firstGraph()&&this.begin("dir"),24;case 37:return 38;case 38:return 43;case 39:case 40:case 41:case 42:return 106;case 43:return this.popState(),25;case 44:case 45:case 46:case 47:case 48:case 49:case 50:case 51:case 52:case 53:return this.popState(),26;case 54:return 129;case 55:return 130;case 56:return 131;case 57:return 132;case 58:return 113;case 59:case 100:return 119;case 60:return 55;case 61:return 69;case 62:case 101:return 53;case 63:return 20;case 64:return 114;case 65:case 99:return 123;case 66:case 69:case 72:return this.popState(),86;case 67:return this.pushState("edgeText"),84;case 68:case 71:case 74:return 127;case 70:return this.pushState("thickEdgeText"),84;case 73:return this.pushState("dottedEdgeText"),84;case 75:return 86;case 76:return this.popState(),62;case 77:case 113:return"TEXT";case 78:return this.pushState("ellipseText"),61;case 79:return this.popState(),64;case 80:return this.pushState("text"),63;case 81:return this.popState(),66;case 82:return this.pushState("text"),65;case 83:return 67;case 84:return this.pushState("text"),76;case 85:return this.popState(),73;case 86:return this.pushState("text"),72;case 87:return this.popState(),58;case 88:return this.pushState("text"),57;case 89:return this.popState(),78;case 90:return this.popState(),80;case 91:return 125;case 92:return this.pushState("trapText"),77;case 93:return this.pushState("trapText"),79;case 94:return 126;case 95:return 76;case 96:return 98;case 97:return"SEP";case 98:return 97;case 102:return 117;case 103:return 122;case 104:return 124;case 105:return this.popState(),71;case 106:return this.pushState("text"),71;case 107:return this.popState(),60;case 108:return this.pushState("text"),59;case 109:return this.popState(),42;case 110:return this.pushState("text"),40;case 111:return this.popState(),75;case 112:return this.pushState("text"),74;case 114:return"QUOTE";case 115:return 21;case 116:return 22;case 117:return 23}},rules:[/^(?:%%\{)/,/^(?:((?:(?!\}%%)[^:.])*))/,/^(?::)/,/^(?:\}%%)/,/^(?:((?:(?!\}%%).|\n)*))/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|(?!\)+))/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\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\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\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\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\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\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\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]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{close_directive:{rules:[20,23,75,78,80,82,86,88,92,93,106,108,110,112],inclusive:!1},arg_directive:{rules:[3,4,20,23,75,78,80,82,86,88,92,93,106,108,110,112],inclusive:!1},type_directive:{rules:[2,3,20,23,75,78,80,82,86,88,92,93,106,108,110,112],inclusive:!1},open_directive:{rules:[1,20,23,75,78,80,82,86,88,92,93,106,108,110,112],inclusive:!1},callbackargs:{rules:[16,17,20,23,75,78,80,82,86,88,92,93,106,108,110,112],inclusive:!1},callbackname:{rules:[13,14,15,20,23,75,78,80,82,86,88,92,93,106,108,110,112],inclusive:!1},href:{rules:[20,23,75,78,80,82,86,88,92,93,106,108,110,112],inclusive:!1},click:{rules:[20,23,32,33,75,78,80,82,86,88,92,93,106,108,110,112],inclusive:!1},dottedEdgeText:{rules:[20,23,72,74,75,78,80,82,86,88,92,93,106,108,110,112],inclusive:!1},thickEdgeText:{rules:[20,23,69,71,75,78,80,82,86,88,92,93,106,108,110,112],inclusive:!1},edgeText:{rules:[20,23,66,68,75,78,80,82,86,88,92,93,106,108,110,112],inclusive:!1},trapText:{rules:[20,23,75,78,80,82,86,88,89,90,91,92,93,106,108,110,112],inclusive:!1},ellipseText:{rules:[20,23,75,76,77,78,80,82,86,88,92,93,106,108,110,112],inclusive:!1},text:{rules:[20,23,75,78,79,80,81,82,85,86,87,88,92,93,105,106,107,108,109,110,111,112,113],inclusive:!1},vertex:{rules:[20,23,75,78,80,82,86,88,92,93,106,108,110,112],inclusive:!1},dir:{rules:[20,23,43,44,45,46,47,48,49,50,51,52,53,75,78,80,82,86,88,92,93,106,108,110,112],inclusive:!1},acc_descr_multiline:{rules:[10,11,20,23,75,78,80,82,86,88,92,93,106,108,110,112],inclusive:!1},acc_descr:{rules:[8,20,23,75,78,80,82,86,88,92,93,106,108,110,112],inclusive:!1},acc_title:{rules:[6,20,23,75,78,80,82,86,88,92,93,106,108,110,112],inclusive:!1},md_string:{rules:[18,19,20,23,75,78,80,82,86,88,92,93,106,108,110,112],inclusive:!1},string:{rules:[20,21,22,23,75,78,80,82,86,88,92,93,106,108,110,112],inclusive:!1},INITIAL:{rules:[0,5,7,9,12,20,23,24,25,26,27,28,29,30,31,34,35,36,37,38,39,40,41,42,54,55,56,57,58,59,60,61,62,63,64,65,66,67,69,70,72,73,75,78,80,82,83,84,86,88,92,93,94,95,96,97,98,99,100,101,102,103,104,106,108,110,112,114,115,116,117],inclusive:!0}}};function se(){this.yy={}}return te.lexer=ee,se.prototype=te,te.Parser=se,new se}();r.parser=r;const n=r;let a,c,o=0,l=(0,i.c)(),h={},A=[],d={},p=[],y={},E={},f=0,D=!0,k=[];const g=t=>i.e.sanitizeText(t,l),b=function(t,e,s){i.m.parseDirective(this,t,e,s)},_=function(t){const e=Object.keys(h);for(const s of e)if(h[s].id===t)return h[s].domId;return t},F=function(t,e,s,u,r,n,a={}){let c,A=t;void 0!==A&&0!==A.trim().length&&(void 0===h[A]&&(h[A]={id:A,labelType:"text",domId:"flowchart-"+A+"-"+o,styles:[],classes:[]}),o++,void 0!==e?(l=(0,i.c)(),c=g(e.text.trim()),h[A].labelType=e.type,'"'===c[0]&&'"'===c[c.length-1]&&(c=c.substring(1,c.length-1)),h[A].text=c):void 0===h[A].text&&(h[A].text=t),void 0!==s&&(h[A].type=s),null!=u&&u.forEach((function(t){h[A].styles.push(t)})),null!=r&&r.forEach((function(t){h[A].classes.push(t)})),void 0!==n&&(h[A].dir=n),void 0===h[A].props?h[A].props=a:void 0!==a&&Object.assign(h[A].props,a))},T=function(t,e,s){const u={start:t,end:e,type:void 0,text:"",labelType:"text"};i.l.info("abc78 Got edge...",u);const r=s.text;void 0!==r&&(u.text=g(r.text.trim()),'"'===u.text[0]&&'"'===u.text[u.text.length-1]&&(u.text=u.text.substring(1,u.text.length-1)),u.labelType=r.type),void 0!==s&&(u.type=s.type,u.stroke=s.stroke,u.length=s.length),A.push(u)},C=function(t,e,s){let u,r;for(i.l.info("addLink (abc78)",t,e,s),u=0;u/)&&(a="LR"),a.match(/.*v/)&&(a="TB"),"TD"===a&&(a="TB")},x=function(t,e){t.split(",").forEach((function(t){let s=t;void 0!==h[s]&&h[s].classes.push(e),void 0!==y[s]&&y[s].classes.push(e)}))},L=function(t,e,s){t.split(",").forEach((function(t){void 0!==h[t]&&(h[t].link=i.u.formatUrl(e,l),h[t].linkTarget=s)})),x(t,"clickable")},I=function(t){if(E.hasOwnProperty(t))return E[t]},R=function(t,e,s){t.split(",").forEach((function(t){!function(t,e,s){let u=_(t);if("loose"!==(0,i.c)().securityLevel)return;if(void 0===e)return;let r=[];if("string"==typeof s){r=s.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let t=0;t")),t.classed("hover",!0)})).on("mouseout",(function(){e.transition().duration(500).style("opacity",0);(0,u.Ys)(this).classed("hover",!1)}))};k.push(U);const V=function(t="gen-1"){h={},d={},A=[],k=[U],p=[],y={},f=0,E={},D=!0,c=t,(0,i.v)()},G=t=>{c=t||"gen-2"},M=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},K=function(t,e,s){let u=t.text.trim(),r=s.text;t===s&&s.text.match(/\s/)&&(u=void 0);let n=[];const{nodeList:a,dir:o}=function(t){const e={boolean:{},number:{},string:{}},s=[];let u;return{nodeList:t.filter((function(t){const i=typeof t;return t.stmt&&"dir"===t.stmt?(u=t.value,!1):""!==t.trim()&&(i in e?!e[i].hasOwnProperty(t)&&(e[i][t]=!0):!s.includes(t)&&s.push(t))})),dir:u}}(n.concat.apply(n,e));if(n=a,"gen-1"===c)for(let i=0;i2e3)return;if(X[j]=e,p[e].id===t)return{result:!0,count:0};let u=0,i=1;for(;u=0){const s=z(t,e);if(s.result)return{result:!0,count:i+s.count};i+=s.count}u+=1}return{result:!1,count:i}},H=function(t){return X[t]},W=function(){j=-1,p.length>0&&z("none",p.length-1)},Q=function(){return p},q=()=>!!D&&(D=!1,!0),Z=(t,e)=>{const s=(t=>{const e=t.trim();let s=e.slice(0,-1),u="arrow_open";switch(e.slice(-1)){case"x":u="arrow_cross","x"===e[0]&&(u="double_"+u,s=s.slice(1));break;case">":u="arrow_point","<"===e[0]&&(u="double_"+u,s=s.slice(1));break;case"o":u="arrow_circle","o"===e[0]&&(u="double_"+u,s=s.slice(1))}let i="normal",r=s.length-1;"="===s[0]&&(i="thick"),"~"===s[0]&&(i="invisible");let n=((t,e)=>{const s=e.length;let u=0;for(let i=0;i{let e=t.trim(),s="arrow_open";switch(e[0]){case"<":s="arrow_point",e=e.slice(1);break;case"x":s="arrow_cross",e=e.slice(1);break;case"o":s="arrow_circle",e=e.slice(1)}let u="normal";return e.includes("=")&&(u="thick"),e.includes(".")&&(u="dotted"),{type:s,stroke:u}})(e),u.stroke!==s.stroke)return{type:"INVALID",stroke:"INVALID"};if("arrow_open"===u.type)u.type=s.type;else{if(u.type!==s.type)return{type:"INVALID",stroke:"INVALID"};u.type="double_"+u.type}return"double_arrow"===u.type&&(u.type="double_arrow_point"),u.length=s.length,u}return s},J=(t,e)=>{let s=!1;return t.forEach((t=>{t.nodes.indexOf(e)>=0&&(s=!0)})),s},tt=(t,e)=>{const s=[];return t.nodes.forEach(((u,i)=>{J(e,u)||s.push(t.nodes[i])})),{nodes:s}},et={firstGraph:q},st={parseDirective:b,defaultConfig:()=>i.K.flowchart,setAccTitle:i.s,getAccTitle:i.g,getAccDescription:i.a,setAccDescription:i.b,addVertex:F,lookUpDomId:_,addLink:C,updateLinkInterpolate:S,updateLink:B,addClass:m,setDirection:v,setClass:x,setTooltip:function(t,e){t.split(",").forEach((function(t){void 0!==e&&(E["gen-1"===c?_(t):t]=g(e))}))},getTooltip:I,setClickEvent:R,setLink:L,bindFunctions:N,getDirection:$,getVertices:O,getEdges:P,getClasses:w,clear:V,setGen:G,defaultStyle:M,addSubGraph:K,getDepthFirstPos:H,indexNodes:W,getSubGraphs:Q,destructLink:Z,lex:et,exists:J,makeUniq:tt,setDiagramTitle:i.r,getDiagramTitle:i.t},ut=Object.freeze(Object.defineProperty({__proto__:null,addClass:m,addLink:C,addSingleLink:T,addSubGraph:K,addVertex:F,bindFunctions:N,clear:V,default:st,defaultStyle:M,destructLink:Z,firstGraph:q,getClasses:w,getDepthFirstPos:H,getDirection:$,getEdges:P,getSubGraphs:Q,getTooltip:I,getVertices:O,indexNodes:W,lex:et,lookUpDomId:_,parseDirective:b,setClass:x,setClickEvent:R,setDirection:v,setGen:G,setLink:L,updateLink:B,updateLinkInterpolate:S},Symbol.toStringTag,{value:"Module"}))}}]); \ No newline at end of file diff --git a/assets/js/19.4a91d5f6.js b/assets/js/19.4a91d5f6.js new file mode 100644 index 00000000..dba8cfdd --- /dev/null +++ b/assets/js/19.4a91d5f6.js @@ -0,0 +1,10099 @@ +"use strict"; +exports.id = 19; +exports.ids = [19]; +exports.modules = { + +/***/ 41644: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + bK: () => (/* reexport */ layout) +}); + +// UNUSED EXPORTS: acyclic, normalize, rank + +// EXTERNAL MODULE: ./node_modules/lodash-es/forEach.js +var forEach = __webpack_require__(70870); +// EXTERNAL MODULE: ./node_modules/lodash-es/uniqueId.js +var uniqueId = __webpack_require__(66749); +// EXTERNAL MODULE: ./node_modules/lodash-es/has.js + 1 modules +var has = __webpack_require__(17452); +// EXTERNAL MODULE: ./node_modules/lodash-es/constant.js +var constant = __webpack_require__(62002); +// EXTERNAL MODULE: ./node_modules/lodash-es/flatten.js +var flatten = __webpack_require__(27961); +// EXTERNAL MODULE: ./node_modules/lodash-es/map.js +var map = __webpack_require__(43836); +// EXTERNAL MODULE: ./node_modules/lodash-es/range.js + 2 modules +var range = __webpack_require__(74379); +// EXTERNAL MODULE: ./node_modules/dagre-d3-es/src/graphlib/index.js +var graphlib = __webpack_require__(45625); +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/data/list.js +/* + * Simple doubly linked list implementation derived from Cormen, et al., + * "Introduction to Algorithms". + */ + + + +class List { + constructor() { + var sentinel = {}; + sentinel._next = sentinel._prev = sentinel; + this._sentinel = sentinel; + } + dequeue() { + var sentinel = this._sentinel; + var entry = sentinel._prev; + if (entry !== sentinel) { + unlink(entry); + return entry; + } + } + enqueue(entry) { + var sentinel = this._sentinel; + if (entry._prev && entry._next) { + unlink(entry); + } + entry._next = sentinel._next; + sentinel._next._prev = entry; + sentinel._next = entry; + entry._prev = sentinel; + } + toString() { + var strs = []; + var sentinel = this._sentinel; + var curr = sentinel._prev; + while (curr !== sentinel) { + strs.push(JSON.stringify(curr, filterOutLinks)); + curr = curr._prev; + } + return '[' + strs.join(', ') + ']'; + } +} + +function unlink(entry) { + entry._prev._next = entry._next; + entry._next._prev = entry._prev; + delete entry._next; + delete entry._prev; +} + +function filterOutLinks(k, v) { + if (k !== '_next' && k !== '_prev') { + return v; + } +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/greedy-fas.js + + + + +/* + * A greedy heuristic for finding a feedback arc set for a graph. A feedback + * arc set is a set of edges that can be removed to make a graph acyclic. + * The algorithm comes from: P. Eades, X. Lin, and W. F. Smyth, "A fast and + * effective heuristic for the feedback arc set problem." This implementation + * adjusts that from the paper to allow for weighted edges. + */ + + +var DEFAULT_WEIGHT_FN = constant/* default */.Z(1); + +function greedyFAS(g, weightFn) { + if (g.nodeCount() <= 1) { + return []; + } + var state = buildState(g, weightFn || DEFAULT_WEIGHT_FN); + var results = doGreedyFAS(state.graph, state.buckets, state.zeroIdx); + + // Expand multi-edges + return flatten/* default */.Z( + map/* default */.Z(results, function (e) { + return g.outEdges(e.v, e.w); + }) + ); +} + +function doGreedyFAS(g, buckets, zeroIdx) { + var results = []; + var sources = buckets[buckets.length - 1]; + var sinks = buckets[0]; + + var entry; + while (g.nodeCount()) { + while ((entry = sinks.dequeue())) { + removeNode(g, buckets, zeroIdx, entry); + } + while ((entry = sources.dequeue())) { + removeNode(g, buckets, zeroIdx, entry); + } + if (g.nodeCount()) { + for (var i = buckets.length - 2; i > 0; --i) { + entry = buckets[i].dequeue(); + if (entry) { + results = results.concat(removeNode(g, buckets, zeroIdx, entry, true)); + break; + } + } + } + } + + return results; +} + +function removeNode(g, buckets, zeroIdx, entry, collectPredecessors) { + var results = collectPredecessors ? [] : undefined; + + forEach/* default */.Z(g.inEdges(entry.v), function (edge) { + var weight = g.edge(edge); + var uEntry = g.node(edge.v); + + if (collectPredecessors) { + results.push({ v: edge.v, w: edge.w }); + } + + uEntry.out -= weight; + assignBucket(buckets, zeroIdx, uEntry); + }); + + forEach/* default */.Z(g.outEdges(entry.v), function (edge) { + var weight = g.edge(edge); + var w = edge.w; + var wEntry = g.node(w); + wEntry['in'] -= weight; + assignBucket(buckets, zeroIdx, wEntry); + }); + + g.removeNode(entry.v); + + return results; +} + +function buildState(g, weightFn) { + var fasGraph = new graphlib/* Graph */.k(); + var maxIn = 0; + var maxOut = 0; + + forEach/* default */.Z(g.nodes(), function (v) { + fasGraph.setNode(v, { v: v, in: 0, out: 0 }); + }); + + // Aggregate weights on nodes, but also sum the weights across multi-edges + // into a single edge for the fasGraph. + forEach/* default */.Z(g.edges(), function (e) { + var prevWeight = fasGraph.edge(e.v, e.w) || 0; + var weight = weightFn(e); + var edgeWeight = prevWeight + weight; + fasGraph.setEdge(e.v, e.w, edgeWeight); + maxOut = Math.max(maxOut, (fasGraph.node(e.v).out += weight)); + maxIn = Math.max(maxIn, (fasGraph.node(e.w)['in'] += weight)); + }); + + var buckets = range/* default */.Z(maxOut + maxIn + 3).map(function () { + return new List(); + }); + var zeroIdx = maxIn + 1; + + forEach/* default */.Z(fasGraph.nodes(), function (v) { + assignBucket(buckets, zeroIdx, fasGraph.node(v)); + }); + + return { graph: fasGraph, buckets: buckets, zeroIdx: zeroIdx }; +} + +function assignBucket(buckets, zeroIdx, entry) { + if (!entry.out) { + buckets[0].enqueue(entry); + } else if (!entry['in']) { + buckets[buckets.length - 1].enqueue(entry); + } else { + buckets[entry.out - entry['in'] + zeroIdx].enqueue(entry); + } +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/acyclic.js + + + + + +function run(g) { + var fas = g.graph().acyclicer === 'greedy' ? greedyFAS(g, weightFn(g)) : dfsFAS(g); + forEach/* default */.Z(fas, function (e) { + var label = g.edge(e); + g.removeEdge(e); + label.forwardName = e.name; + label.reversed = true; + g.setEdge(e.w, e.v, label, uniqueId/* default */.Z('rev')); + }); + + function weightFn(g) { + return function (e) { + return g.edge(e).weight; + }; + } +} + +function dfsFAS(g) { + var fas = []; + var stack = {}; + var visited = {}; + + function dfs(v) { + if (has/* default */.Z(visited, v)) { + return; + } + visited[v] = true; + stack[v] = true; + forEach/* default */.Z(g.outEdges(v), function (e) { + if (has/* default */.Z(stack, e.w)) { + fas.push(e); + } else { + dfs(e.w); + } + }); + delete stack[v]; + } + + forEach/* default */.Z(g.nodes(), dfs); + return fas; +} + +function undo(g) { + forEach/* default */.Z(g.edges(), function (e) { + var label = g.edge(e); + if (label.reversed) { + g.removeEdge(e); + + var forwardName = label.forwardName; + delete label.reversed; + delete label.forwardName; + g.setEdge(e.w, e.v, label, forwardName); + } + }); +} + +// EXTERNAL MODULE: ./node_modules/lodash-es/merge.js + 6 modules +var merge = __webpack_require__(59236); +// EXTERNAL MODULE: ./node_modules/lodash-es/pick.js + 4 modules +var pick = __webpack_require__(61666); +// EXTERNAL MODULE: ./node_modules/lodash-es/defaults.js +var defaults = __webpack_require__(3688); +// EXTERNAL MODULE: ./node_modules/lodash-es/isSymbol.js +var isSymbol = __webpack_require__(72714); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseExtremum.js + + +/** + * The base implementation of methods like `_.max` and `_.min` which accepts a + * `comparator` to determine the extremum value. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The iteratee invoked per iteration. + * @param {Function} comparator The comparator used to compare values. + * @returns {*} Returns the extremum value. + */ +function baseExtremum(array, iteratee, comparator) { + var index = -1, + length = array.length; + + while (++index < length) { + var value = array[index], + current = iteratee(value); + + if (current != null && (computed === undefined + ? (current === current && !(0,isSymbol/* default */.Z)(current)) + : comparator(current, computed) + )) { + var computed = current, + result = value; + } + } + return result; +} + +/* harmony default export */ const _baseExtremum = (baseExtremum); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseGt.js +/** + * The base implementation of `_.gt` which doesn't coerce arguments. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is greater than `other`, + * else `false`. + */ +function baseGt(value, other) { + return value > other; +} + +/* harmony default export */ const _baseGt = (baseGt); + +// EXTERNAL MODULE: ./node_modules/lodash-es/identity.js +var identity = __webpack_require__(69203); +;// CONCATENATED MODULE: ./node_modules/lodash-es/max.js + + + + +/** + * Computes the maximum value of `array`. If `array` is empty or falsey, + * `undefined` is returned. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Math + * @param {Array} array The array to iterate over. + * @returns {*} Returns the maximum value. + * @example + * + * _.max([4, 2, 8, 6]); + * // => 8 + * + * _.max([]); + * // => undefined + */ +function max(array) { + return (array && array.length) + ? _baseExtremum(array, identity/* default */.Z, _baseGt) + : undefined; +} + +/* harmony default export */ const lodash_es_max = (max); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/last.js +/** + * Gets the last element of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to query. + * @returns {*} Returns the last element of `array`. + * @example + * + * _.last([1, 2, 3]); + * // => 3 + */ +function last(array) { + var length = array == null ? 0 : array.length; + return length ? array[length - 1] : undefined; +} + +/* harmony default export */ const lodash_es_last = (last); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseAssignValue.js +var _baseAssignValue = __webpack_require__(74752); +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseForOwn.js +var _baseForOwn = __webpack_require__(2693); +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseIteratee.js + 16 modules +var _baseIteratee = __webpack_require__(74765); +;// CONCATENATED MODULE: ./node_modules/lodash-es/mapValues.js + + + + +/** + * Creates an object with the same keys as `object` and values generated + * by running each own enumerable string keyed property of `object` thru + * `iteratee`. The iteratee is invoked with three arguments: + * (value, key, object). + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns the new mapped object. + * @see _.mapKeys + * @example + * + * var users = { + * 'fred': { 'user': 'fred', 'age': 40 }, + * 'pebbles': { 'user': 'pebbles', 'age': 1 } + * }; + * + * _.mapValues(users, function(o) { return o.age; }); + * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) + * + * // The `_.property` iteratee shorthand. + * _.mapValues(users, 'age'); + * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) + */ +function mapValues(object, iteratee) { + var result = {}; + iteratee = (0,_baseIteratee/* default */.Z)(iteratee, 3); + + (0,_baseForOwn/* default */.Z)(object, function(value, key, object) { + (0,_baseAssignValue/* default */.Z)(result, key, iteratee(value, key, object)); + }); + return result; +} + +/* harmony default export */ const lodash_es_mapValues = (mapValues); + +// EXTERNAL MODULE: ./node_modules/lodash-es/isUndefined.js +var isUndefined = __webpack_require__(49360); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseLt.js +/** + * The base implementation of `_.lt` which doesn't coerce arguments. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is less than `other`, + * else `false`. + */ +function baseLt(value, other) { + return value < other; +} + +/* harmony default export */ const _baseLt = (baseLt); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/min.js + + + + +/** + * Computes the minimum value of `array`. If `array` is empty or falsey, + * `undefined` is returned. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Math + * @param {Array} array The array to iterate over. + * @returns {*} Returns the minimum value. + * @example + * + * _.min([4, 2, 8, 6]); + * // => 2 + * + * _.min([]); + * // => undefined + */ +function min(array) { + return (array && array.length) + ? _baseExtremum(array, identity/* default */.Z, _baseLt) + : undefined; +} + +/* harmony default export */ const lodash_es_min = (min); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_root.js +var _root = __webpack_require__(66092); +;// CONCATENATED MODULE: ./node_modules/lodash-es/now.js + + +/** + * Gets the timestamp of the number of milliseconds that have elapsed since + * the Unix epoch (1 January 1970 00:00:00 UTC). + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Date + * @returns {number} Returns the timestamp. + * @example + * + * _.defer(function(stamp) { + * console.log(_.now() - stamp); + * }, _.now()); + * // => Logs the number of milliseconds it took for the deferred invocation. + */ +var now = function() { + return _root/* default */.Z.Date.now(); +}; + +/* harmony default export */ const lodash_es_now = (now); + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/util.js +/* provided dependency */ var console = __webpack_require__(25108); + + + + + +/* + * Adds a dummy node to the graph and return v. + */ +function addDummyNode(g, type, attrs, name) { + var v; + do { + v = uniqueId/* default */.Z(name); + } while (g.hasNode(v)); + + attrs.dummy = type; + g.setNode(v, attrs); + return v; +} + +/* + * Returns a new graph with only simple edges. Handles aggregation of data + * associated with multi-edges. + */ +function simplify(g) { + var simplified = new graphlib/* Graph */.k().setGraph(g.graph()); + forEach/* default */.Z(g.nodes(), function (v) { + simplified.setNode(v, g.node(v)); + }); + forEach/* default */.Z(g.edges(), function (e) { + var simpleLabel = simplified.edge(e.v, e.w) || { weight: 0, minlen: 1 }; + var label = g.edge(e); + simplified.setEdge(e.v, e.w, { + weight: simpleLabel.weight + label.weight, + minlen: Math.max(simpleLabel.minlen, label.minlen), + }); + }); + return simplified; +} + +function asNonCompoundGraph(g) { + var simplified = new graphlib/* Graph */.k({ multigraph: g.isMultigraph() }).setGraph(g.graph()); + forEach/* default */.Z(g.nodes(), function (v) { + if (!g.children(v).length) { + simplified.setNode(v, g.node(v)); + } + }); + forEach/* default */.Z(g.edges(), function (e) { + simplified.setEdge(e, g.edge(e)); + }); + return simplified; +} + +function successorWeights(g) { + var weightMap = _.map(g.nodes(), function (v) { + var sucs = {}; + _.forEach(g.outEdges(v), function (e) { + sucs[e.w] = (sucs[e.w] || 0) + g.edge(e).weight; + }); + return sucs; + }); + return _.zipObject(g.nodes(), weightMap); +} + +function predecessorWeights(g) { + var weightMap = _.map(g.nodes(), function (v) { + var preds = {}; + _.forEach(g.inEdges(v), function (e) { + preds[e.v] = (preds[e.v] || 0) + g.edge(e).weight; + }); + return preds; + }); + return _.zipObject(g.nodes(), weightMap); +} + +/* + * Finds where a line starting at point ({x, y}) would intersect a rectangle + * ({x, y, width, height}) if it were pointing at the rectangle's center. + */ +function intersectRect(rect, point) { + var x = rect.x; + var y = rect.y; + + // Rectangle intersection algorithm from: + // http://math.stackexchange.com/questions/108113/find-edge-between-two-boxes + var dx = point.x - x; + var dy = point.y - y; + var w = rect.width / 2; + var h = rect.height / 2; + + if (!dx && !dy) { + throw new Error('Not possible to find intersection inside of the rectangle'); + } + + var sx, sy; + if (Math.abs(dy) * w > Math.abs(dx) * h) { + // Intersection is top or bottom of rect. + if (dy < 0) { + h = -h; + } + sx = (h * dx) / dy; + sy = h; + } else { + // Intersection is left or right of rect. + if (dx < 0) { + w = -w; + } + sx = w; + sy = (w * dy) / dx; + } + + return { x: x + sx, y: y + sy }; +} + +/* + * Given a DAG with each node assigned "rank" and "order" properties, this + * function will produce a matrix with the ids of each node. + */ +function buildLayerMatrix(g) { + var layering = map/* default */.Z(range/* default */.Z(util_maxRank(g) + 1), function () { + return []; + }); + forEach/* default */.Z(g.nodes(), function (v) { + var node = g.node(v); + var rank = node.rank; + if (!isUndefined/* default */.Z(rank)) { + layering[rank][node.order] = v; + } + }); + return layering; +} + +/* + * Adjusts the ranks for all nodes in the graph such that all nodes v have + * rank(v) >= 0 and at least one node w has rank(w) = 0. + */ +function normalizeRanks(g) { + var min = lodash_es_min( + map/* default */.Z(g.nodes(), function (v) { + return g.node(v).rank; + }) + ); + forEach/* default */.Z(g.nodes(), function (v) { + var node = g.node(v); + if (has/* default */.Z(node, 'rank')) { + node.rank -= min; + } + }); +} + +function removeEmptyRanks(g) { + // Ranks may not start at 0, so we need to offset them + var offset = lodash_es_min( + map/* default */.Z(g.nodes(), function (v) { + return g.node(v).rank; + }) + ); + + var layers = []; + forEach/* default */.Z(g.nodes(), function (v) { + var rank = g.node(v).rank - offset; + if (!layers[rank]) { + layers[rank] = []; + } + layers[rank].push(v); + }); + + var delta = 0; + var nodeRankFactor = g.graph().nodeRankFactor; + forEach/* default */.Z(layers, function (vs, i) { + if (isUndefined/* default */.Z(vs) && i % nodeRankFactor !== 0) { + --delta; + } else if (delta) { + forEach/* default */.Z(vs, function (v) { + g.node(v).rank += delta; + }); + } + }); +} + +function addBorderNode(g, prefix, rank, order) { + var node = { + width: 0, + height: 0, + }; + if (arguments.length >= 4) { + node.rank = rank; + node.order = order; + } + return addDummyNode(g, 'border', node, prefix); +} + +function util_maxRank(g) { + return lodash_es_max( + map/* default */.Z(g.nodes(), function (v) { + var rank = g.node(v).rank; + if (!isUndefined/* default */.Z(rank)) { + return rank; + } + }) + ); +} + +/* + * Partition a collection into two groups: `lhs` and `rhs`. If the supplied + * function returns true for an entry it goes into `lhs`. Otherwise it goes + * into `rhs. + */ +function partition(collection, fn) { + var result = { lhs: [], rhs: [] }; + forEach/* default */.Z(collection, function (value) { + if (fn(value)) { + result.lhs.push(value); + } else { + result.rhs.push(value); + } + }); + return result; +} + +/* + * Returns a new function that wraps `fn` with a timer. The wrapper logs the + * time it takes to execute the function. + */ +function util_time(name, fn) { + var start = lodash_es_now(); + try { + return fn(); + } finally { + console.log(name + ' time: ' + (lodash_es_now() - start) + 'ms'); + } +} + +function notime(name, fn) { + return fn(); +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/add-border-segments.js + + + + + +function addBorderSegments(g) { + function dfs(v) { + var children = g.children(v); + var node = g.node(v); + if (children.length) { + forEach/* default */.Z(children, dfs); + } + + if (has/* default */.Z(node, 'minRank')) { + node.borderLeft = []; + node.borderRight = []; + for (var rank = node.minRank, maxRank = node.maxRank + 1; rank < maxRank; ++rank) { + add_border_segments_addBorderNode(g, 'borderLeft', '_bl', v, node, rank); + add_border_segments_addBorderNode(g, 'borderRight', '_br', v, node, rank); + } + } + } + + forEach/* default */.Z(g.children(), dfs); +} + +function add_border_segments_addBorderNode(g, prop, prefix, sg, sgNode, rank) { + var label = { width: 0, height: 0, rank: rank, borderType: prop }; + var prev = sgNode[prop][rank - 1]; + var curr = addDummyNode(g, 'border', label, prefix); + sgNode[prop][rank] = curr; + g.setParent(curr, sg); + if (prev) { + g.setEdge(prev, curr, { weight: 1 }); + } +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/coordinate-system.js + + + + +function adjust(g) { + var rankDir = g.graph().rankdir.toLowerCase(); + if (rankDir === 'lr' || rankDir === 'rl') { + swapWidthHeight(g); + } +} + +function coordinate_system_undo(g) { + var rankDir = g.graph().rankdir.toLowerCase(); + if (rankDir === 'bt' || rankDir === 'rl') { + reverseY(g); + } + + if (rankDir === 'lr' || rankDir === 'rl') { + swapXY(g); + swapWidthHeight(g); + } +} + +function swapWidthHeight(g) { + forEach/* default */.Z(g.nodes(), function (v) { + swapWidthHeightOne(g.node(v)); + }); + forEach/* default */.Z(g.edges(), function (e) { + swapWidthHeightOne(g.edge(e)); + }); +} + +function swapWidthHeightOne(attrs) { + var w = attrs.width; + attrs.width = attrs.height; + attrs.height = w; +} + +function reverseY(g) { + forEach/* default */.Z(g.nodes(), function (v) { + reverseYOne(g.node(v)); + }); + + forEach/* default */.Z(g.edges(), function (e) { + var edge = g.edge(e); + forEach/* default */.Z(edge.points, reverseYOne); + if (has/* default */.Z(edge, 'y')) { + reverseYOne(edge); + } + }); +} + +function reverseYOne(attrs) { + attrs.y = -attrs.y; +} + +function swapXY(g) { + forEach/* default */.Z(g.nodes(), function (v) { + swapXYOne(g.node(v)); + }); + + forEach/* default */.Z(g.edges(), function (e) { + var edge = g.edge(e); + forEach/* default */.Z(edge.points, swapXYOne); + if (has/* default */.Z(edge, 'x')) { + swapXYOne(edge); + } + }); +} + +function swapXYOne(attrs) { + var x = attrs.x; + attrs.x = attrs.y; + attrs.y = x; +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/normalize.js + + + + + +/* + * Breaks any long edges in the graph into short segments that span 1 layer + * each. This operation is undoable with the denormalize function. + * + * Pre-conditions: + * + * 1. The input graph is a DAG. + * 2. Each node in the graph has a "rank" property. + * + * Post-condition: + * + * 1. All edges in the graph have a length of 1. + * 2. Dummy nodes are added where edges have been split into segments. + * 3. The graph is augmented with a "dummyChains" attribute which contains + * the first dummy in each chain of dummy nodes produced. + */ +function normalize_run(g) { + g.graph().dummyChains = []; + forEach/* default */.Z(g.edges(), function (edge) { + normalizeEdge(g, edge); + }); +} + +function normalizeEdge(g, e) { + var v = e.v; + var vRank = g.node(v).rank; + var w = e.w; + var wRank = g.node(w).rank; + var name = e.name; + var edgeLabel = g.edge(e); + var labelRank = edgeLabel.labelRank; + + if (wRank === vRank + 1) return; + + g.removeEdge(e); + + var dummy, attrs, i; + for (i = 0, ++vRank; vRank < wRank; ++i, ++vRank) { + edgeLabel.points = []; + attrs = { + width: 0, + height: 0, + edgeLabel: edgeLabel, + edgeObj: e, + rank: vRank, + }; + dummy = addDummyNode(g, 'edge', attrs, '_d'); + if (vRank === labelRank) { + attrs.width = edgeLabel.width; + attrs.height = edgeLabel.height; + // @ts-expect-error + attrs.dummy = 'edge-label'; + // @ts-expect-error + attrs.labelpos = edgeLabel.labelpos; + } + g.setEdge(v, dummy, { weight: edgeLabel.weight }, name); + if (i === 0) { + g.graph().dummyChains.push(dummy); + } + v = dummy; + } + + g.setEdge(v, w, { weight: edgeLabel.weight }, name); +} + +function normalize_undo(g) { + forEach/* default */.Z(g.graph().dummyChains, function (v) { + var node = g.node(v); + var origLabel = node.edgeLabel; + var w; + g.setEdge(node.edgeObj, origLabel); + while (node.dummy) { + w = g.successors(v)[0]; + g.removeNode(v); + origLabel.points.push({ x: node.x, y: node.y }); + if (node.dummy === 'edge-label') { + origLabel.x = node.x; + origLabel.y = node.y; + origLabel.width = node.width; + origLabel.height = node.height; + } + v = w; + node = g.node(v); + } + }); +} + +;// CONCATENATED MODULE: ./node_modules/lodash-es/minBy.js + + + + +/** + * This method is like `_.min` except that it accepts `iteratee` which is + * invoked for each element in `array` to generate the criterion by which + * the value is ranked. The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Math + * @param {Array} array The array to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {*} Returns the minimum value. + * @example + * + * var objects = [{ 'n': 1 }, { 'n': 2 }]; + * + * _.minBy(objects, function(o) { return o.n; }); + * // => { 'n': 1 } + * + * // The `_.property` iteratee shorthand. + * _.minBy(objects, 'n'); + * // => { 'n': 1 } + */ +function minBy(array, iteratee) { + return (array && array.length) + ? _baseExtremum(array, (0,_baseIteratee/* default */.Z)(iteratee, 2), _baseLt) + : undefined; +} + +/* harmony default export */ const lodash_es_minBy = (minBy); + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/rank/util.js + + + + +/* + * Initializes ranks for the input graph using the longest path algorithm. This + * algorithm scales well and is fast in practice, it yields rather poor + * solutions. Nodes are pushed to the lowest layer possible, leaving the bottom + * ranks wide and leaving edges longer than necessary. However, due to its + * speed, this algorithm is good for getting an initial ranking that can be fed + * into other algorithms. + * + * This algorithm does not normalize layers because it will be used by other + * algorithms in most cases. If using this algorithm directly, be sure to + * run normalize at the end. + * + * Pre-conditions: + * + * 1. Input graph is a DAG. + * 2. Input graph node labels can be assigned properties. + * + * Post-conditions: + * + * 1. Each node will be assign an (unnormalized) "rank" property. + */ +function longestPath(g) { + var visited = {}; + + function dfs(v) { + var label = g.node(v); + if (has/* default */.Z(visited, v)) { + return label.rank; + } + visited[v] = true; + + var rank = lodash_es_min( + map/* default */.Z(g.outEdges(v), function (e) { + return dfs(e.w) - g.edge(e).minlen; + }) + ); + + if ( + rank === Number.POSITIVE_INFINITY || // return value of _.map([]) for Lodash 3 + rank === undefined || // return value of _.map([]) for Lodash 4 + rank === null + ) { + // return value of _.map([null]) + rank = 0; + } + + return (label.rank = rank); + } + + forEach/* default */.Z(g.sources(), dfs); +} + +/* + * Returns the amount of slack for the given edge. The slack is defined as the + * difference between the length of the edge and its minimum length. + */ +function slack(g, e) { + return g.node(e.w).rank - g.node(e.v).rank - g.edge(e).minlen; +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/rank/feasible-tree.js + + + + + + +/* + * Constructs a spanning tree with tight edges and adjusted the input node's + * ranks to achieve this. A tight edge is one that is has a length that matches + * its "minlen" attribute. + * + * The basic structure for this function is derived from Gansner, et al., "A + * Technique for Drawing Directed Graphs." + * + * Pre-conditions: + * + * 1. Graph must be a DAG. + * 2. Graph must be connected. + * 3. Graph must have at least one node. + * 5. Graph nodes must have been previously assigned a "rank" property that + * respects the "minlen" property of incident edges. + * 6. Graph edges must have a "minlen" property. + * + * Post-conditions: + * + * - Graph nodes will have their rank adjusted to ensure that all edges are + * tight. + * + * Returns a tree (undirected graph) that is constructed using only "tight" + * edges. + */ +function feasibleTree(g) { + var t = new graphlib/* Graph */.k({ directed: false }); + + // Choose arbitrary node from which to start our tree + var start = g.nodes()[0]; + var size = g.nodeCount(); + t.setNode(start, {}); + + var edge, delta; + while (tightTree(t, g) < size) { + edge = findMinSlackEdge(t, g); + delta = t.hasNode(edge.v) ? slack(g, edge) : -slack(g, edge); + shiftRanks(t, g, delta); + } + + return t; +} + +/* + * Finds a maximal tree of tight edges and returns the number of nodes in the + * tree. + */ +function tightTree(t, g) { + function dfs(v) { + forEach/* default */.Z(g.nodeEdges(v), function (e) { + var edgeV = e.v, + w = v === edgeV ? e.w : edgeV; + if (!t.hasNode(w) && !slack(g, e)) { + t.setNode(w, {}); + t.setEdge(v, w, {}); + dfs(w); + } + }); + } + + forEach/* default */.Z(t.nodes(), dfs); + return t.nodeCount(); +} + +/* + * Finds the edge with the smallest slack that is incident on tree and returns + * it. + */ +function findMinSlackEdge(t, g) { + return lodash_es_minBy(g.edges(), function (e) { + if (t.hasNode(e.v) !== t.hasNode(e.w)) { + return slack(g, e); + } + }); +} + +function shiftRanks(t, g, delta) { + forEach/* default */.Z(t.nodes(), function (v) { + g.node(v).rank += delta; + }); +} + +// EXTERNAL MODULE: ./node_modules/lodash-es/isArrayLike.js +var isArrayLike = __webpack_require__(50585); +// EXTERNAL MODULE: ./node_modules/lodash-es/keys.js +var keys = __webpack_require__(17179); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_createFind.js + + + + +/** + * Creates a `_.find` or `_.findLast` function. + * + * @private + * @param {Function} findIndexFunc The function to find the collection index. + * @returns {Function} Returns the new find function. + */ +function createFind(findIndexFunc) { + return function(collection, predicate, fromIndex) { + var iterable = Object(collection); + if (!(0,isArrayLike/* default */.Z)(collection)) { + var iteratee = (0,_baseIteratee/* default */.Z)(predicate, 3); + collection = (0,keys/* default */.Z)(collection); + predicate = function(key) { return iteratee(iterable[key], key, iterable); }; + } + var index = findIndexFunc(collection, predicate, fromIndex); + return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined; + }; +} + +/* harmony default export */ const _createFind = (createFind); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseFindIndex.js +var _baseFindIndex = __webpack_require__(21692); +// EXTERNAL MODULE: ./node_modules/lodash-es/toFinite.js + 3 modules +var toFinite = __webpack_require__(94099); +;// CONCATENATED MODULE: ./node_modules/lodash-es/toInteger.js + + +/** + * Converts `value` to an integer. + * + * **Note:** This method is loosely based on + * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted integer. + * @example + * + * _.toInteger(3.2); + * // => 3 + * + * _.toInteger(Number.MIN_VALUE); + * // => 0 + * + * _.toInteger(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toInteger('3.2'); + * // => 3 + */ +function toInteger(value) { + var result = (0,toFinite/* default */.Z)(value), + remainder = result % 1; + + return result === result ? (remainder ? result - remainder : result) : 0; +} + +/* harmony default export */ const lodash_es_toInteger = (toInteger); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/findIndex.js + + + + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max; + +/** + * This method is like `_.find` except that it returns the index of the first + * element `predicate` returns truthy for instead of the element itself. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=0] The index to search from. + * @returns {number} Returns the index of the found element, else `-1`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': false }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': true } + * ]; + * + * _.findIndex(users, function(o) { return o.user == 'barney'; }); + * // => 0 + * + * // The `_.matches` iteratee shorthand. + * _.findIndex(users, { 'user': 'fred', 'active': false }); + * // => 1 + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findIndex(users, ['active', false]); + * // => 0 + * + * // The `_.property` iteratee shorthand. + * _.findIndex(users, 'active'); + * // => 2 + */ +function findIndex(array, predicate, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = fromIndex == null ? 0 : lodash_es_toInteger(fromIndex); + if (index < 0) { + index = nativeMax(length + index, 0); + } + return (0,_baseFindIndex/* default */.Z)(array, (0,_baseIteratee/* default */.Z)(predicate, 3), index); +} + +/* harmony default export */ const lodash_es_findIndex = (findIndex); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/find.js + + + +/** + * Iterates over elements of `collection`, returning the first element + * `predicate` returns truthy for. The predicate is invoked with three + * arguments: (value, index|key, collection). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=0] The index to search from. + * @returns {*} Returns the matched element, else `undefined`. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': true }, + * { 'user': 'fred', 'age': 40, 'active': false }, + * { 'user': 'pebbles', 'age': 1, 'active': true } + * ]; + * + * _.find(users, function(o) { return o.age < 40; }); + * // => object for 'barney' + * + * // The `_.matches` iteratee shorthand. + * _.find(users, { 'age': 1, 'active': true }); + * // => object for 'pebbles' + * + * // The `_.matchesProperty` iteratee shorthand. + * _.find(users, ['active', false]); + * // => object for 'fred' + * + * // The `_.property` iteratee shorthand. + * _.find(users, 'active'); + * // => object for 'barney' + */ +var find = _createFind(lodash_es_findIndex); + +/* harmony default export */ const lodash_es_find = (find); + +// EXTERNAL MODULE: ./node_modules/lodash-es/filter.js + 1 modules +var filter = __webpack_require__(13445); +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/graphlib/alg/dijkstra.js + + + + + +var DEFAULT_WEIGHT_FUNC = constant/* default */.Z(1); + +function dijkstra_dijkstra(g, source, weightFn, edgeFn) { + return runDijkstra( + g, + String(source), + weightFn || DEFAULT_WEIGHT_FUNC, + edgeFn || + function (v) { + return g.outEdges(v); + } + ); +} + +function runDijkstra(g, source, weightFn, edgeFn) { + var results = {}; + var pq = new PriorityQueue(); + var v, vEntry; + + var updateNeighbors = function (edge) { + var w = edge.v !== v ? edge.v : edge.w; + var wEntry = results[w]; + var weight = weightFn(edge); + var distance = vEntry.distance + weight; + + if (weight < 0) { + throw new Error( + 'dijkstra does not allow negative edge weights. ' + + 'Bad edge: ' + + edge + + ' Weight: ' + + weight + ); + } + + if (distance < wEntry.distance) { + wEntry.distance = distance; + wEntry.predecessor = v; + pq.decrease(w, distance); + } + }; + + g.nodes().forEach(function (v) { + var distance = v === source ? 0 : Number.POSITIVE_INFINITY; + results[v] = { distance: distance }; + pq.add(v, distance); + }); + + while (pq.size() > 0) { + v = pq.removeMin(); + vEntry = results[v]; + if (vEntry.distance === Number.POSITIVE_INFINITY) { + break; + } + + edgeFn(v).forEach(updateNeighbors); + } + + return results; +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/graphlib/alg/dijkstra-all.js + + + + + +function dijkstraAll(g, weightFunc, edgeFunc) { + return _.transform( + g.nodes(), + function (acc, v) { + acc[v] = dijkstra(g, v, weightFunc, edgeFunc); + }, + {} + ); +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/graphlib/alg/floyd-warshall.js + + + + +var floyd_warshall_DEFAULT_WEIGHT_FUNC = constant/* default */.Z(1); + +function floydWarshall(g, weightFn, edgeFn) { + return runFloydWarshall( + g, + weightFn || floyd_warshall_DEFAULT_WEIGHT_FUNC, + edgeFn || + function (v) { + return g.outEdges(v); + } + ); +} + +function runFloydWarshall(g, weightFn, edgeFn) { + var results = {}; + var nodes = g.nodes(); + + nodes.forEach(function (v) { + results[v] = {}; + results[v][v] = { distance: 0 }; + nodes.forEach(function (w) { + if (v !== w) { + results[v][w] = { distance: Number.POSITIVE_INFINITY }; + } + }); + edgeFn(v).forEach(function (edge) { + var w = edge.v === v ? edge.w : edge.v; + var d = weightFn(edge); + results[v][w] = { distance: d, predecessor: v }; + }); + }); + + nodes.forEach(function (k) { + var rowK = results[k]; + nodes.forEach(function (i) { + var rowI = results[i]; + nodes.forEach(function (j) { + var ik = rowI[k]; + var kj = rowK[j]; + var ij = rowI[j]; + var altDistance = ik.distance + kj.distance; + if (altDistance < ij.distance) { + ij.distance = altDistance; + ij.predecessor = kj.predecessor; + } + }); + }); + }); + + return results; +} + +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseKeys.js + 1 modules +var _baseKeys = __webpack_require__(39473); +// EXTERNAL MODULE: ./node_modules/lodash-es/_getTag.js + 3 modules +var _getTag = __webpack_require__(83970); +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseGetTag.js + 2 modules +var _baseGetTag = __webpack_require__(93589); +// EXTERNAL MODULE: ./node_modules/lodash-es/isArray.js +var isArray = __webpack_require__(27771); +// EXTERNAL MODULE: ./node_modules/lodash-es/isObjectLike.js +var isObjectLike = __webpack_require__(18533); +;// CONCATENATED MODULE: ./node_modules/lodash-es/isString.js + + + + +/** `Object#toString` result references. */ +var stringTag = '[object String]'; + +/** + * Checks if `value` is classified as a `String` primitive or object. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a string, else `false`. + * @example + * + * _.isString('abc'); + * // => true + * + * _.isString(1); + * // => false + */ +function isString(value) { + return typeof value == 'string' || + (!(0,isArray/* default */.Z)(value) && (0,isObjectLike/* default */.Z)(value) && (0,_baseGetTag/* default */.Z)(value) == stringTag); +} + +/* harmony default export */ const lodash_es_isString = (isString); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseProperty.js +var _baseProperty = __webpack_require__(54193); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_asciiSize.js + + +/** + * Gets the size of an ASCII `string`. + * + * @private + * @param {string} string The string inspect. + * @returns {number} Returns the string size. + */ +var asciiSize = (0,_baseProperty/* default */.Z)('length'); + +/* harmony default export */ const _asciiSize = (asciiSize); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_hasUnicode.js +/** Used to compose unicode character classes. */ +var rsAstralRange = '\\ud800-\\udfff', + rsComboMarksRange = '\\u0300-\\u036f', + reComboHalfMarksRange = '\\ufe20-\\ufe2f', + rsComboSymbolsRange = '\\u20d0-\\u20ff', + rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, + rsVarRange = '\\ufe0e\\ufe0f'; + +/** Used to compose unicode capture groups. */ +var rsZWJ = '\\u200d'; + +/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */ +var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']'); + +/** + * Checks if `string` contains Unicode symbols. + * + * @private + * @param {string} string The string to inspect. + * @returns {boolean} Returns `true` if a symbol is found, else `false`. + */ +function hasUnicode(string) { + return reHasUnicode.test(string); +} + +/* harmony default export */ const _hasUnicode = (hasUnicode); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_unicodeSize.js +/** Used to compose unicode character classes. */ +var _unicodeSize_rsAstralRange = '\\ud800-\\udfff', + _unicodeSize_rsComboMarksRange = '\\u0300-\\u036f', + _unicodeSize_reComboHalfMarksRange = '\\ufe20-\\ufe2f', + _unicodeSize_rsComboSymbolsRange = '\\u20d0-\\u20ff', + _unicodeSize_rsComboRange = _unicodeSize_rsComboMarksRange + _unicodeSize_reComboHalfMarksRange + _unicodeSize_rsComboSymbolsRange, + _unicodeSize_rsVarRange = '\\ufe0e\\ufe0f'; + +/** Used to compose unicode capture groups. */ +var rsAstral = '[' + _unicodeSize_rsAstralRange + ']', + rsCombo = '[' + _unicodeSize_rsComboRange + ']', + rsFitz = '\\ud83c[\\udffb-\\udfff]', + rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')', + rsNonAstral = '[^' + _unicodeSize_rsAstralRange + ']', + rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}', + rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]', + _unicodeSize_rsZWJ = '\\u200d'; + +/** Used to compose unicode regexes. */ +var reOptMod = rsModifier + '?', + rsOptVar = '[' + _unicodeSize_rsVarRange + ']?', + rsOptJoin = '(?:' + _unicodeSize_rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*', + rsSeq = rsOptVar + reOptMod + rsOptJoin, + rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')'; + +/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */ +var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g'); + +/** + * Gets the size of a Unicode `string`. + * + * @private + * @param {string} string The string inspect. + * @returns {number} Returns the string size. + */ +function unicodeSize(string) { + var result = reUnicode.lastIndex = 0; + while (reUnicode.test(string)) { + ++result; + } + return result; +} + +/* harmony default export */ const _unicodeSize = (unicodeSize); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_stringSize.js + + + + +/** + * Gets the number of symbols in `string`. + * + * @private + * @param {string} string The string to inspect. + * @returns {number} Returns the string size. + */ +function stringSize(string) { + return _hasUnicode(string) + ? _unicodeSize(string) + : _asciiSize(string); +} + +/* harmony default export */ const _stringSize = (stringSize); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/size.js + + + + + + +/** `Object#toString` result references. */ +var mapTag = '[object Map]', + setTag = '[object Set]'; + +/** + * Gets the size of `collection` by returning its length for array-like + * values or the number of own enumerable string keyed properties for objects. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object|string} collection The collection to inspect. + * @returns {number} Returns the collection size. + * @example + * + * _.size([1, 2, 3]); + * // => 3 + * + * _.size({ 'a': 1, 'b': 2 }); + * // => 2 + * + * _.size('pebbles'); + * // => 7 + */ +function size(collection) { + if (collection == null) { + return 0; + } + if ((0,isArrayLike/* default */.Z)(collection)) { + return lodash_es_isString(collection) ? _stringSize(collection) : collection.length; + } + var tag = (0,_getTag/* default */.Z)(collection); + if (tag == mapTag || tag == setTag) { + return collection.size; + } + return (0,_baseKeys/* default */.Z)(collection).length; +} + +/* harmony default export */ const lodash_es_size = (size); + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/graphlib/alg/topsort.js + + + + +topsort_topsort.CycleException = topsort_CycleException; + +function topsort_topsort(g) { + var visited = {}; + var stack = {}; + var results = []; + + function visit(node) { + if (has/* default */.Z(stack, node)) { + throw new topsort_CycleException(); + } + + if (!has/* default */.Z(visited, node)) { + stack[node] = true; + visited[node] = true; + forEach/* default */.Z(g.predecessors(node), visit); + delete stack[node]; + results.push(node); + } + } + + forEach/* default */.Z(g.sinks(), visit); + + if (lodash_es_size(visited) !== g.nodeCount()) { + throw new topsort_CycleException(); + } + + return results; +} + +function topsort_CycleException() {} +topsort_CycleException.prototype = new Error(); // must be an instance of Error to pass testing + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/graphlib/alg/is-acyclic.js + + + + +function isAcyclic(g) { + try { + topsort(g); + } catch (e) { + if (e instanceof CycleException) { + return false; + } + throw e; + } + return true; +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/graphlib/alg/dfs.js + + + + +/* + * A helper that preforms a pre- or post-order traversal on the input graph + * and returns the nodes in the order they were visited. If the graph is + * undirected then this algorithm will navigate using neighbors. If the graph + * is directed then this algorithm will navigate using successors. + * + * Order must be one of "pre" or "post". + */ +function dfs(g, vs, order) { + if (!isArray/* default */.Z(vs)) { + vs = [vs]; + } + + var navigation = (g.isDirected() ? g.successors : g.neighbors).bind(g); + + var acc = []; + var visited = {}; + forEach/* default */.Z(vs, function (v) { + if (!g.hasNode(v)) { + throw new Error('Graph does not have node: ' + v); + } + + doDfs(g, v, order === 'post', visited, navigation, acc); + }); + return acc; +} + +function doDfs(g, v, postorder, visited, navigation, acc) { + if (!has/* default */.Z(visited, v)) { + visited[v] = true; + + if (!postorder) { + acc.push(v); + } + forEach/* default */.Z(navigation(v), function (w) { + doDfs(g, w, postorder, visited, navigation, acc); + }); + if (postorder) { + acc.push(v); + } + } +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/graphlib/alg/postorder.js + + + + +function postorder(g, vs) { + return dfs(g, vs, 'post'); +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/graphlib/alg/preorder.js + + + + +function preorder(g, vs) { + return dfs(g, vs, 'pre'); +} + +// EXTERNAL MODULE: ./node_modules/dagre-d3-es/src/graphlib/graph.js + 9 modules +var graph = __webpack_require__(52544); +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/graphlib/alg/prim.js + + + + + + +function prim(g, weightFunc) { + var result = new Graph(); + var parents = {}; + var pq = new PriorityQueue(); + var v; + + function updateNeighbors(edge) { + var w = edge.v === v ? edge.w : edge.v; + var pri = pq.priority(w); + if (pri !== undefined) { + var edgeWeight = weightFunc(edge); + if (edgeWeight < pri) { + parents[w] = v; + pq.decrease(w, edgeWeight); + } + } + } + + if (g.nodeCount() === 0) { + return result; + } + + _.each(g.nodes(), function (v) { + pq.add(v, Number.POSITIVE_INFINITY); + result.setNode(v); + }); + + // Start from an arbitrary node + pq.decrease(g.nodes()[0], 0); + + var init = false; + while (pq.size() > 0) { + v = pq.removeMin(); + if (_.has(parents, v)) { + result.setEdge(v, parents[v]); + } else if (init) { + throw new Error('Input graph is not connected: ' + g); + } else { + init = true; + } + + g.nodeEdges(v).forEach(updateNeighbors); + } + + return result; +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/graphlib/alg/index.js + + + + + + + + + + + + + + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/rank/network-simplex.js + + + + + + + + +// Expose some internals for testing purposes +networkSimplex.initLowLimValues = initLowLimValues; +networkSimplex.initCutValues = initCutValues; +networkSimplex.calcCutValue = calcCutValue; +networkSimplex.leaveEdge = leaveEdge; +networkSimplex.enterEdge = enterEdge; +networkSimplex.exchangeEdges = exchangeEdges; + +/* + * The network simplex algorithm assigns ranks to each node in the input graph + * and iteratively improves the ranking to reduce the length of edges. + * + * Preconditions: + * + * 1. The input graph must be a DAG. + * 2. All nodes in the graph must have an object value. + * 3. All edges in the graph must have "minlen" and "weight" attributes. + * + * Postconditions: + * + * 1. All nodes in the graph will have an assigned "rank" attribute that has + * been optimized by the network simplex algorithm. Ranks start at 0. + * + * + * A rough sketch of the algorithm is as follows: + * + * 1. Assign initial ranks to each node. We use the longest path algorithm, + * which assigns ranks to the lowest position possible. In general this + * leads to very wide bottom ranks and unnecessarily long edges. + * 2. Construct a feasible tight tree. A tight tree is one such that all + * edges in the tree have no slack (difference between length of edge + * and minlen for the edge). This by itself greatly improves the assigned + * rankings by shorting edges. + * 3. Iteratively find edges that have negative cut values. Generally a + * negative cut value indicates that the edge could be removed and a new + * tree edge could be added to produce a more compact graph. + * + * Much of the algorithms here are derived from Gansner, et al., "A Technique + * for Drawing Directed Graphs." The structure of the file roughly follows the + * structure of the overall algorithm. + */ +function networkSimplex(g) { + g = simplify(g); + longestPath(g); + var t = feasibleTree(g); + initLowLimValues(t); + initCutValues(t, g); + + var e, f; + while ((e = leaveEdge(t))) { + f = enterEdge(t, g, e); + exchangeEdges(t, g, e, f); + } +} + +/* + * Initializes cut values for all edges in the tree. + */ +function initCutValues(t, g) { + var vs = postorder(t, t.nodes()); + vs = vs.slice(0, vs.length - 1); + forEach/* default */.Z(vs, function (v) { + assignCutValue(t, g, v); + }); +} + +function assignCutValue(t, g, child) { + var childLab = t.node(child); + var parent = childLab.parent; + t.edge(child, parent).cutvalue = calcCutValue(t, g, child); +} + +/* + * Given the tight tree, its graph, and a child in the graph calculate and + * return the cut value for the edge between the child and its parent. + */ +function calcCutValue(t, g, child) { + var childLab = t.node(child); + var parent = childLab.parent; + // True if the child is on the tail end of the edge in the directed graph + var childIsTail = true; + // The graph's view of the tree edge we're inspecting + var graphEdge = g.edge(child, parent); + // The accumulated cut value for the edge between this node and its parent + var cutValue = 0; + + if (!graphEdge) { + childIsTail = false; + graphEdge = g.edge(parent, child); + } + + cutValue = graphEdge.weight; + + forEach/* default */.Z(g.nodeEdges(child), function (e) { + var isOutEdge = e.v === child, + other = isOutEdge ? e.w : e.v; + + if (other !== parent) { + var pointsToHead = isOutEdge === childIsTail, + otherWeight = g.edge(e).weight; + + cutValue += pointsToHead ? otherWeight : -otherWeight; + if (isTreeEdge(t, child, other)) { + var otherCutValue = t.edge(child, other).cutvalue; + cutValue += pointsToHead ? -otherCutValue : otherCutValue; + } + } + }); + + return cutValue; +} + +function initLowLimValues(tree, root) { + if (arguments.length < 2) { + root = tree.nodes()[0]; + } + dfsAssignLowLim(tree, {}, 1, root); +} + +function dfsAssignLowLim(tree, visited, nextLim, v, parent) { + var low = nextLim; + var label = tree.node(v); + + visited[v] = true; + forEach/* default */.Z(tree.neighbors(v), function (w) { + if (!has/* default */.Z(visited, w)) { + nextLim = dfsAssignLowLim(tree, visited, nextLim, w, v); + } + }); + + label.low = low; + label.lim = nextLim++; + if (parent) { + label.parent = parent; + } else { + // TODO should be able to remove this when we incrementally update low lim + delete label.parent; + } + + return nextLim; +} + +function leaveEdge(tree) { + return lodash_es_find(tree.edges(), function (e) { + return tree.edge(e).cutvalue < 0; + }); +} + +function enterEdge(t, g, edge) { + var v = edge.v; + var w = edge.w; + + // For the rest of this function we assume that v is the tail and w is the + // head, so if we don't have this edge in the graph we should flip it to + // match the correct orientation. + if (!g.hasEdge(v, w)) { + v = edge.w; + w = edge.v; + } + + var vLabel = t.node(v); + var wLabel = t.node(w); + var tailLabel = vLabel; + var flip = false; + + // If the root is in the tail of the edge then we need to flip the logic that + // checks for the head and tail nodes in the candidates function below. + if (vLabel.lim > wLabel.lim) { + tailLabel = wLabel; + flip = true; + } + + var candidates = filter/* default */.Z(g.edges(), function (edge) { + return ( + flip === isDescendant(t, t.node(edge.v), tailLabel) && + flip !== isDescendant(t, t.node(edge.w), tailLabel) + ); + }); + + return lodash_es_minBy(candidates, function (edge) { + return slack(g, edge); + }); +} + +function exchangeEdges(t, g, e, f) { + var v = e.v; + var w = e.w; + t.removeEdge(v, w); + t.setEdge(f.v, f.w, {}); + initLowLimValues(t); + initCutValues(t, g); + updateRanks(t, g); +} + +function updateRanks(t, g) { + var root = lodash_es_find(t.nodes(), function (v) { + return !g.node(v).parent; + }); + var vs = preorder(t, root); + vs = vs.slice(1); + forEach/* default */.Z(vs, function (v) { + var parent = t.node(v).parent, + edge = g.edge(v, parent), + flipped = false; + + if (!edge) { + edge = g.edge(parent, v); + flipped = true; + } + + g.node(v).rank = g.node(parent).rank + (flipped ? edge.minlen : -edge.minlen); + }); +} + +/* + * Returns true if the edge is in the tree. + */ +function isTreeEdge(tree, u, v) { + return tree.hasEdge(u, v); +} + +/* + * Returns true if the specified node is descendant of the root node per the + * assigned low and lim attributes in the tree. + */ +function isDescendant(tree, vLabel, rootLabel) { + return rootLabel.low <= vLabel.lim && vLabel.lim <= rootLabel.lim; +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/rank/index.js + + + + + + +/* + * Assigns a rank to each node in the input graph that respects the "minlen" + * constraint specified on edges between nodes. + * + * This basic structure is derived from Gansner, et al., "A Technique for + * Drawing Directed Graphs." + * + * Pre-conditions: + * + * 1. Graph must be a connected DAG + * 2. Graph nodes must be objects + * 3. Graph edges must have "weight" and "minlen" attributes + * + * Post-conditions: + * + * 1. Graph nodes will have a "rank" attribute based on the results of the + * algorithm. Ranks can start at any index (including negative), we'll + * fix them up later. + */ +function rank(g) { + switch (g.graph().ranker) { + case 'network-simplex': + networkSimplexRanker(g); + break; + case 'tight-tree': + tightTreeRanker(g); + break; + case 'longest-path': + longestPathRanker(g); + break; + default: + networkSimplexRanker(g); + } +} + +// A fast and simple ranker, but results are far from optimal. +var longestPathRanker = longestPath; + +function tightTreeRanker(g) { + longestPath(g); + feasibleTree(g); +} + +function networkSimplexRanker(g) { + networkSimplex(g); +} + +// EXTERNAL MODULE: ./node_modules/lodash-es/values.js + 1 modules +var values = __webpack_require__(34148); +// EXTERNAL MODULE: ./node_modules/lodash-es/reduce.js + 2 modules +var reduce = __webpack_require__(92344); +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/nesting-graph.js + + + + + +/* + * A nesting graph creates dummy nodes for the tops and bottoms of subgraphs, + * adds appropriate edges to ensure that all cluster nodes are placed between + * these boundries, and ensures that the graph is connected. + * + * In addition we ensure, through the use of the minlen property, that nodes + * and subgraph border nodes to not end up on the same rank. + * + * Preconditions: + * + * 1. Input graph is a DAG + * 2. Nodes in the input graph has a minlen attribute + * + * Postconditions: + * + * 1. Input graph is connected. + * 2. Dummy nodes are added for the tops and bottoms of subgraphs. + * 3. The minlen attribute for nodes is adjusted to ensure nodes do not + * get placed on the same rank as subgraph border nodes. + * + * The nesting graph idea comes from Sander, "Layout of Compound Directed + * Graphs." + */ +function nesting_graph_run(g) { + var root = addDummyNode(g, 'root', {}, '_root'); + var depths = treeDepths(g); + var height = lodash_es_max(values/* default */.Z(depths)) - 1; // Note: depths is an Object not an array + var nodeSep = 2 * height + 1; + + g.graph().nestingRoot = root; + + // Multiply minlen by nodeSep to align nodes on non-border ranks. + forEach/* default */.Z(g.edges(), function (e) { + g.edge(e).minlen *= nodeSep; + }); + + // Calculate a weight that is sufficient to keep subgraphs vertically compact + var weight = sumWeights(g) + 1; + + // Create border nodes and link them up + forEach/* default */.Z(g.children(), function (child) { + nesting_graph_dfs(g, root, nodeSep, weight, height, depths, child); + }); + + // Save the multiplier for node layers for later removal of empty border + // layers. + g.graph().nodeRankFactor = nodeSep; +} + +function nesting_graph_dfs(g, root, nodeSep, weight, height, depths, v) { + var children = g.children(v); + if (!children.length) { + if (v !== root) { + g.setEdge(root, v, { weight: 0, minlen: nodeSep }); + } + return; + } + + var top = addBorderNode(g, '_bt'); + var bottom = addBorderNode(g, '_bb'); + var label = g.node(v); + + g.setParent(top, v); + label.borderTop = top; + g.setParent(bottom, v); + label.borderBottom = bottom; + + forEach/* default */.Z(children, function (child) { + nesting_graph_dfs(g, root, nodeSep, weight, height, depths, child); + + var childNode = g.node(child); + var childTop = childNode.borderTop ? childNode.borderTop : child; + var childBottom = childNode.borderBottom ? childNode.borderBottom : child; + var thisWeight = childNode.borderTop ? weight : 2 * weight; + var minlen = childTop !== childBottom ? 1 : height - depths[v] + 1; + + g.setEdge(top, childTop, { + weight: thisWeight, + minlen: minlen, + nestingEdge: true, + }); + + g.setEdge(childBottom, bottom, { + weight: thisWeight, + minlen: minlen, + nestingEdge: true, + }); + }); + + if (!g.parent(v)) { + g.setEdge(root, top, { weight: 0, minlen: height + depths[v] }); + } +} + +function treeDepths(g) { + var depths = {}; + function dfs(v, depth) { + var children = g.children(v); + if (children && children.length) { + forEach/* default */.Z(children, function (child) { + dfs(child, depth + 1); + }); + } + depths[v] = depth; + } + forEach/* default */.Z(g.children(), function (v) { + dfs(v, 1); + }); + return depths; +} + +function sumWeights(g) { + return reduce/* default */.Z( + g.edges(), + function (acc, e) { + return acc + g.edge(e).weight; + }, + 0 + ); +} + +function cleanup(g) { + var graphLabel = g.graph(); + g.removeNode(graphLabel.nestingRoot); + delete graphLabel.nestingRoot; + forEach/* default */.Z(g.edges(), function (e) { + var edge = g.edge(e); + if (edge.nestingEdge) { + g.removeEdge(e); + } + }); +} + +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseClone.js + 15 modules +var _baseClone = __webpack_require__(48451); +;// CONCATENATED MODULE: ./node_modules/lodash-es/cloneDeep.js + + +/** Used to compose bitmasks for cloning. */ +var CLONE_DEEP_FLAG = 1, + CLONE_SYMBOLS_FLAG = 4; + +/** + * This method is like `_.clone` except that it recursively clones `value`. + * + * @static + * @memberOf _ + * @since 1.0.0 + * @category Lang + * @param {*} value The value to recursively clone. + * @returns {*} Returns the deep cloned value. + * @see _.clone + * @example + * + * var objects = [{ 'a': 1 }, { 'b': 2 }]; + * + * var deep = _.cloneDeep(objects); + * console.log(deep[0] === objects[0]); + * // => false + */ +function cloneDeep(value) { + return (0,_baseClone/* default */.Z)(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG); +} + +/* harmony default export */ const lodash_es_cloneDeep = (cloneDeep); + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/order/add-subgraph-constraints.js + + + + +function addSubgraphConstraints(g, cg, vs) { + var prev = {}, + rootPrev; + + forEach/* default */.Z(vs, function (v) { + var child = g.parent(v), + parent, + prevChild; + while (child) { + parent = g.parent(child); + if (parent) { + prevChild = prev[parent]; + prev[parent] = child; + } else { + prevChild = rootPrev; + rootPrev = child; + } + if (prevChild && prevChild !== child) { + cg.setEdge(prevChild, child); + return; + } + child = parent; + } + }); + + /* + function dfs(v) { + var children = v ? g.children(v) : g.children(); + if (children.length) { + var min = Number.POSITIVE_INFINITY, + subgraphs = []; + _.each(children, function(child) { + var childMin = dfs(child); + if (g.children(child).length) { + subgraphs.push({ v: child, order: childMin }); + } + min = Math.min(min, childMin); + }); + _.reduce(_.sortBy(subgraphs, "order"), function(prev, curr) { + cg.setEdge(prev.v, curr.v); + return curr; + }); + return min; + } + return g.node(v).order; + } + dfs(undefined); + */ +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/order/build-layer-graph.js + + + + + +/* + * Constructs a graph that can be used to sort a layer of nodes. The graph will + * contain all base and subgraph nodes from the request layer in their original + * hierarchy and any edges that are incident on these nodes and are of the type + * requested by the "relationship" parameter. + * + * Nodes from the requested rank that do not have parents are assigned a root + * node in the output graph, which is set in the root graph attribute. This + * makes it easy to walk the hierarchy of movable nodes during ordering. + * + * Pre-conditions: + * + * 1. Input graph is a DAG + * 2. Base nodes in the input graph have a rank attribute + * 3. Subgraph nodes in the input graph has minRank and maxRank attributes + * 4. Edges have an assigned weight + * + * Post-conditions: + * + * 1. Output graph has all nodes in the movable rank with preserved + * hierarchy. + * 2. Root nodes in the movable layer are made children of the node + * indicated by the root attribute of the graph. + * 3. Non-movable nodes incident on movable nodes, selected by the + * relationship parameter, are included in the graph (without hierarchy). + * 4. Edges incident on movable nodes, selected by the relationship + * parameter, are added to the output graph. + * 5. The weights for copied edges are aggregated as need, since the output + * graph is not a multi-graph. + */ +function buildLayerGraph(g, rank, relationship) { + var root = createRootNode(g), + result = new graphlib/* Graph */.k({ compound: true }) + .setGraph({ root: root }) + .setDefaultNodeLabel(function (v) { + return g.node(v); + }); + + forEach/* default */.Z(g.nodes(), function (v) { + var node = g.node(v), + parent = g.parent(v); + + if (node.rank === rank || (node.minRank <= rank && rank <= node.maxRank)) { + result.setNode(v); + result.setParent(v, parent || root); + + // This assumes we have only short edges! + forEach/* default */.Z(g[relationship](v), function (e) { + var u = e.v === v ? e.w : e.v, + edge = result.edge(u, v), + weight = !isUndefined/* default */.Z(edge) ? edge.weight : 0; + result.setEdge(u, v, { weight: g.edge(e).weight + weight }); + }); + + if (has/* default */.Z(node, 'minRank')) { + result.setNode(v, { + borderLeft: node.borderLeft[rank], + borderRight: node.borderRight[rank], + }); + } + } + }); + + return result; +} + +function createRootNode(g) { + var v; + while (g.hasNode((v = uniqueId/* default */.Z('_root')))); + return v; +} + +// EXTERNAL MODULE: ./node_modules/lodash-es/_assignValue.js +var _assignValue = __webpack_require__(72954); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseZipObject.js +/** + * This base implementation of `_.zipObject` which assigns values using `assignFunc`. + * + * @private + * @param {Array} props The property identifiers. + * @param {Array} values The property values. + * @param {Function} assignFunc The function to assign values. + * @returns {Object} Returns the new object. + */ +function baseZipObject(props, values, assignFunc) { + var index = -1, + length = props.length, + valsLength = values.length, + result = {}; + + while (++index < length) { + var value = index < valsLength ? values[index] : undefined; + assignFunc(result, props[index], value); + } + return result; +} + +/* harmony default export */ const _baseZipObject = (baseZipObject); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/zipObject.js + + + +/** + * This method is like `_.fromPairs` except that it accepts two arrays, + * one of property identifiers and one of corresponding values. + * + * @static + * @memberOf _ + * @since 0.4.0 + * @category Array + * @param {Array} [props=[]] The property identifiers. + * @param {Array} [values=[]] The property values. + * @returns {Object} Returns the new object. + * @example + * + * _.zipObject(['a', 'b'], [1, 2]); + * // => { 'a': 1, 'b': 2 } + */ +function zipObject(props, values) { + return _baseZipObject(props || [], values || [], _assignValue/* default */.Z); +} + +/* harmony default export */ const lodash_es_zipObject = (zipObject); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseFlatten.js + 1 modules +var _baseFlatten = __webpack_require__(10626); +// EXTERNAL MODULE: ./node_modules/lodash-es/_arrayMap.js +var _arrayMap = __webpack_require__(74073); +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseGet.js +var _baseGet = __webpack_require__(13317); +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseMap.js +var _baseMap = __webpack_require__(21018); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseSortBy.js +/** + * The base implementation of `_.sortBy` which uses `comparer` to define the + * sort order of `array` and replaces criteria objects with their corresponding + * values. + * + * @private + * @param {Array} array The array to sort. + * @param {Function} comparer The function to define sort order. + * @returns {Array} Returns `array`. + */ +function baseSortBy(array, comparer) { + var length = array.length; + + array.sort(comparer); + while (length--) { + array[length] = array[length].value; + } + return array; +} + +/* harmony default export */ const _baseSortBy = (baseSortBy); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseUnary.js +var _baseUnary = __webpack_require__(21162); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_compareAscending.js + + +/** + * Compares values to sort them in ascending order. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {number} Returns the sort order indicator for `value`. + */ +function compareAscending(value, other) { + if (value !== other) { + var valIsDefined = value !== undefined, + valIsNull = value === null, + valIsReflexive = value === value, + valIsSymbol = (0,isSymbol/* default */.Z)(value); + + var othIsDefined = other !== undefined, + othIsNull = other === null, + othIsReflexive = other === other, + othIsSymbol = (0,isSymbol/* default */.Z)(other); + + if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) || + (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) || + (valIsNull && othIsDefined && othIsReflexive) || + (!valIsDefined && othIsReflexive) || + !valIsReflexive) { + return 1; + } + if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) || + (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) || + (othIsNull && valIsDefined && valIsReflexive) || + (!othIsDefined && valIsReflexive) || + !othIsReflexive) { + return -1; + } + } + return 0; +} + +/* harmony default export */ const _compareAscending = (compareAscending); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_compareMultiple.js + + +/** + * Used by `_.orderBy` to compare multiple properties of a value to another + * and stable sort them. + * + * If `orders` is unspecified, all values are sorted in ascending order. Otherwise, + * specify an order of "desc" for descending or "asc" for ascending sort order + * of corresponding values. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {boolean[]|string[]} orders The order to sort by for each property. + * @returns {number} Returns the sort order indicator for `object`. + */ +function compareMultiple(object, other, orders) { + var index = -1, + objCriteria = object.criteria, + othCriteria = other.criteria, + length = objCriteria.length, + ordersLength = orders.length; + + while (++index < length) { + var result = _compareAscending(objCriteria[index], othCriteria[index]); + if (result) { + if (index >= ordersLength) { + return result; + } + var order = orders[index]; + return result * (order == 'desc' ? -1 : 1); + } + } + // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications + // that causes it, under certain circumstances, to provide the same value for + // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247 + // for more details. + // + // This also ensures a stable sort in V8 and other engines. + // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details. + return object.index - other.index; +} + +/* harmony default export */ const _compareMultiple = (compareMultiple); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseOrderBy.js + + + + + + + + + + +/** + * The base implementation of `_.orderBy` without param guards. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by. + * @param {string[]} orders The sort orders of `iteratees`. + * @returns {Array} Returns the new sorted array. + */ +function baseOrderBy(collection, iteratees, orders) { + if (iteratees.length) { + iteratees = (0,_arrayMap/* default */.Z)(iteratees, function(iteratee) { + if ((0,isArray/* default */.Z)(iteratee)) { + return function(value) { + return (0,_baseGet/* default */.Z)(value, iteratee.length === 1 ? iteratee[0] : iteratee); + } + } + return iteratee; + }); + } else { + iteratees = [identity/* default */.Z]; + } + + var index = -1; + iteratees = (0,_arrayMap/* default */.Z)(iteratees, (0,_baseUnary/* default */.Z)(_baseIteratee/* default */.Z)); + + var result = (0,_baseMap/* default */.Z)(collection, function(value, key, collection) { + var criteria = (0,_arrayMap/* default */.Z)(iteratees, function(iteratee) { + return iteratee(value); + }); + return { 'criteria': criteria, 'index': ++index, 'value': value }; + }); + + return _baseSortBy(result, function(object, other) { + return _compareMultiple(object, other, orders); + }); +} + +/* harmony default export */ const _baseOrderBy = (baseOrderBy); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseRest.js +var _baseRest = __webpack_require__(69581); +// EXTERNAL MODULE: ./node_modules/lodash-es/_isIterateeCall.js +var _isIterateeCall = __webpack_require__(50439); +;// CONCATENATED MODULE: ./node_modules/lodash-es/sortBy.js + + + + + +/** + * Creates an array of elements, sorted in ascending order by the results of + * running each element in a collection thru each iteratee. This method + * performs a stable sort, that is, it preserves the original sort order of + * equal elements. The iteratees are invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {...(Function|Function[])} [iteratees=[_.identity]] + * The iteratees to sort by. + * @returns {Array} Returns the new sorted array. + * @example + * + * var users = [ + * { 'user': 'fred', 'age': 48 }, + * { 'user': 'barney', 'age': 36 }, + * { 'user': 'fred', 'age': 30 }, + * { 'user': 'barney', 'age': 34 } + * ]; + * + * _.sortBy(users, [function(o) { return o.user; }]); + * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]] + * + * _.sortBy(users, ['user', 'age']); + * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]] + */ +var sortBy = (0,_baseRest/* default */.Z)(function(collection, iteratees) { + if (collection == null) { + return []; + } + var length = iteratees.length; + if (length > 1 && (0,_isIterateeCall/* default */.Z)(collection, iteratees[0], iteratees[1])) { + iteratees = []; + } else if (length > 2 && (0,_isIterateeCall/* default */.Z)(iteratees[0], iteratees[1], iteratees[2])) { + iteratees = [iteratees[0]]; + } + return _baseOrderBy(collection, (0,_baseFlatten/* default */.Z)(iteratees, 1), []); +}); + +/* harmony default export */ const lodash_es_sortBy = (sortBy); + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/order/cross-count.js + + + + +/* + * A function that takes a layering (an array of layers, each with an array of + * ordererd nodes) and a graph and returns a weighted crossing count. + * + * Pre-conditions: + * + * 1. Input graph must be simple (not a multigraph), directed, and include + * only simple edges. + * 2. Edges in the input graph must have assigned weights. + * + * Post-conditions: + * + * 1. The graph and layering matrix are left unchanged. + * + * This algorithm is derived from Barth, et al., "Bilayer Cross Counting." + */ +function crossCount(g, layering) { + var cc = 0; + for (var i = 1; i < layering.length; ++i) { + cc += twoLayerCrossCount(g, layering[i - 1], layering[i]); + } + return cc; +} + +function twoLayerCrossCount(g, northLayer, southLayer) { + // Sort all of the edges between the north and south layers by their position + // in the north layer and then the south. Map these edges to the position of + // their head in the south layer. + var southPos = lodash_es_zipObject( + southLayer, + map/* default */.Z(southLayer, function (v, i) { + return i; + }) + ); + var southEntries = flatten/* default */.Z( + map/* default */.Z(northLayer, function (v) { + return lodash_es_sortBy( + map/* default */.Z(g.outEdges(v), function (e) { + return { pos: southPos[e.w], weight: g.edge(e).weight }; + }), + 'pos' + ); + }) + ); + + // Build the accumulator tree + var firstIndex = 1; + while (firstIndex < southLayer.length) firstIndex <<= 1; + var treeSize = 2 * firstIndex - 1; + firstIndex -= 1; + var tree = map/* default */.Z(new Array(treeSize), function () { + return 0; + }); + + // Calculate the weighted crossings + var cc = 0; + forEach/* default */.Z( + // @ts-expect-error + southEntries.forEach(function (entry) { + var index = entry.pos + firstIndex; + tree[index] += entry.weight; + var weightSum = 0; + // @ts-expect-error + while (index > 0) { + // @ts-expect-error + if (index % 2) { + weightSum += tree[index + 1]; + } + // @ts-expect-error + index = (index - 1) >> 1; + tree[index] += entry.weight; + } + cc += entry.weight * weightSum; + }) + ); + + return cc; +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/order/init-order.js + + + + +/* + * Assigns an initial order value for each node by performing a DFS search + * starting from nodes in the first rank. Nodes are assigned an order in their + * rank as they are first visited. + * + * This approach comes from Gansner, et al., "A Technique for Drawing Directed + * Graphs." + * + * Returns a layering matrix with an array per layer and each layer sorted by + * the order of its nodes. + */ +function initOrder(g) { + var visited = {}; + var simpleNodes = filter/* default */.Z(g.nodes(), function (v) { + return !g.children(v).length; + }); + var maxRank = lodash_es_max( + map/* default */.Z(simpleNodes, function (v) { + return g.node(v).rank; + }) + ); + var layers = map/* default */.Z(range/* default */.Z(maxRank + 1), function () { + return []; + }); + + function dfs(v) { + if (has/* default */.Z(visited, v)) return; + visited[v] = true; + var node = g.node(v); + layers[node.rank].push(v); + forEach/* default */.Z(g.successors(v), dfs); + } + + var orderedVs = lodash_es_sortBy(simpleNodes, function (v) { + return g.node(v).rank; + }); + forEach/* default */.Z(orderedVs, dfs); + + return layers; +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/order/barycenter.js + + + + +function barycenter(g, movable) { + return map/* default */.Z(movable, function (v) { + var inV = g.inEdges(v); + if (!inV.length) { + return { v: v }; + } else { + var result = reduce/* default */.Z( + inV, + function (acc, e) { + var edge = g.edge(e), + nodeU = g.node(e.v); + return { + sum: acc.sum + edge.weight * nodeU.order, + weight: acc.weight + edge.weight, + }; + }, + { sum: 0, weight: 0 } + ); + + return { + v: v, + barycenter: result.sum / result.weight, + weight: result.weight, + }; + } + }); +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/order/resolve-conflicts.js + + + + +/* + * Given a list of entries of the form {v, barycenter, weight} and a + * constraint graph this function will resolve any conflicts between the + * constraint graph and the barycenters for the entries. If the barycenters for + * an entry would violate a constraint in the constraint graph then we coalesce + * the nodes in the conflict into a new node that respects the contraint and + * aggregates barycenter and weight information. + * + * This implementation is based on the description in Forster, "A Fast and + * Simple Hueristic for Constrained Two-Level Crossing Reduction," thought it + * differs in some specific details. + * + * Pre-conditions: + * + * 1. Each entry has the form {v, barycenter, weight}, or if the node has + * no barycenter, then {v}. + * + * Returns: + * + * A new list of entries of the form {vs, i, barycenter, weight}. The list + * `vs` may either be a singleton or it may be an aggregation of nodes + * ordered such that they do not violate constraints from the constraint + * graph. The property `i` is the lowest original index of any of the + * elements in `vs`. + */ +function resolveConflicts(entries, cg) { + var mappedEntries = {}; + forEach/* default */.Z(entries, function (entry, i) { + var tmp = (mappedEntries[entry.v] = { + indegree: 0, + in: [], + out: [], + vs: [entry.v], + i: i, + }); + if (!isUndefined/* default */.Z(entry.barycenter)) { + // @ts-expect-error + tmp.barycenter = entry.barycenter; + // @ts-expect-error + tmp.weight = entry.weight; + } + }); + + forEach/* default */.Z(cg.edges(), function (e) { + var entryV = mappedEntries[e.v]; + var entryW = mappedEntries[e.w]; + if (!isUndefined/* default */.Z(entryV) && !isUndefined/* default */.Z(entryW)) { + entryW.indegree++; + entryV.out.push(mappedEntries[e.w]); + } + }); + + var sourceSet = filter/* default */.Z(mappedEntries, function (entry) { + // @ts-expect-error + return !entry.indegree; + }); + + return doResolveConflicts(sourceSet); +} + +function doResolveConflicts(sourceSet) { + var entries = []; + + function handleIn(vEntry) { + return function (uEntry) { + if (uEntry.merged) { + return; + } + if ( + isUndefined/* default */.Z(uEntry.barycenter) || + isUndefined/* default */.Z(vEntry.barycenter) || + uEntry.barycenter >= vEntry.barycenter + ) { + mergeEntries(vEntry, uEntry); + } + }; + } + + function handleOut(vEntry) { + return function (wEntry) { + wEntry['in'].push(vEntry); + if (--wEntry.indegree === 0) { + sourceSet.push(wEntry); + } + }; + } + + while (sourceSet.length) { + var entry = sourceSet.pop(); + entries.push(entry); + forEach/* default */.Z(entry['in'].reverse(), handleIn(entry)); + forEach/* default */.Z(entry.out, handleOut(entry)); + } + + return map/* default */.Z( + filter/* default */.Z(entries, function (entry) { + return !entry.merged; + }), + function (entry) { + return pick/* default */.Z(entry, ['vs', 'i', 'barycenter', 'weight']); + } + ); +} + +function mergeEntries(target, source) { + var sum = 0; + var weight = 0; + + if (target.weight) { + sum += target.barycenter * target.weight; + weight += target.weight; + } + + if (source.weight) { + sum += source.barycenter * source.weight; + weight += source.weight; + } + + target.vs = source.vs.concat(target.vs); + target.barycenter = sum / weight; + target.weight = weight; + target.i = Math.min(source.i, target.i); + source.merged = true; +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/order/sort.js + + + + + +function sort(entries, biasRight) { + var parts = partition(entries, function (entry) { + return has/* default */.Z(entry, 'barycenter'); + }); + var sortable = parts.lhs, + unsortable = lodash_es_sortBy(parts.rhs, function (entry) { + return -entry.i; + }), + vs = [], + sum = 0, + weight = 0, + vsIndex = 0; + + sortable.sort(compareWithBias(!!biasRight)); + + vsIndex = consumeUnsortable(vs, unsortable, vsIndex); + + forEach/* default */.Z(sortable, function (entry) { + vsIndex += entry.vs.length; + vs.push(entry.vs); + sum += entry.barycenter * entry.weight; + weight += entry.weight; + vsIndex = consumeUnsortable(vs, unsortable, vsIndex); + }); + + var result = { vs: flatten/* default */.Z(vs) }; + if (weight) { + result.barycenter = sum / weight; + result.weight = weight; + } + return result; +} + +function consumeUnsortable(vs, unsortable, index) { + var last; + while (unsortable.length && (last = lodash_es_last(unsortable)).i <= index) { + unsortable.pop(); + vs.push(last.vs); + index++; + } + return index; +} + +function compareWithBias(bias) { + return function (entryV, entryW) { + if (entryV.barycenter < entryW.barycenter) { + return -1; + } else if (entryV.barycenter > entryW.barycenter) { + return 1; + } + + return !bias ? entryV.i - entryW.i : entryW.i - entryV.i; + }; +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/order/sort-subgraph.js + + + + + + + +function sortSubgraph(g, v, cg, biasRight) { + var movable = g.children(v); + var node = g.node(v); + var bl = node ? node.borderLeft : undefined; + var br = node ? node.borderRight : undefined; + var subgraphs = {}; + + if (bl) { + movable = filter/* default */.Z(movable, function (w) { + return w !== bl && w !== br; + }); + } + + var barycenters = barycenter(g, movable); + forEach/* default */.Z(barycenters, function (entry) { + if (g.children(entry.v).length) { + var subgraphResult = sortSubgraph(g, entry.v, cg, biasRight); + subgraphs[entry.v] = subgraphResult; + if (has/* default */.Z(subgraphResult, 'barycenter')) { + mergeBarycenters(entry, subgraphResult); + } + } + }); + + var entries = resolveConflicts(barycenters, cg); + expandSubgraphs(entries, subgraphs); + + var result = sort(entries, biasRight); + + if (bl) { + result.vs = flatten/* default */.Z([bl, result.vs, br]); + if (g.predecessors(bl).length) { + var blPred = g.node(g.predecessors(bl)[0]), + brPred = g.node(g.predecessors(br)[0]); + if (!has/* default */.Z(result, 'barycenter')) { + result.barycenter = 0; + result.weight = 0; + } + result.barycenter = + (result.barycenter * result.weight + blPred.order + brPred.order) / (result.weight + 2); + result.weight += 2; + } + } + + return result; +} + +function expandSubgraphs(entries, subgraphs) { + forEach/* default */.Z(entries, function (entry) { + entry.vs = flatten/* default */.Z( + entry.vs.map(function (v) { + if (subgraphs[v]) { + return subgraphs[v].vs; + } + return v; + }) + ); + }); +} + +function mergeBarycenters(target, other) { + if (!isUndefined/* default */.Z(target.barycenter)) { + target.barycenter = + (target.barycenter * target.weight + other.barycenter * other.weight) / + (target.weight + other.weight); + target.weight += other.weight; + } else { + target.barycenter = other.barycenter; + target.weight = other.weight; + } +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/order/index.js + + + + + + + + + + + +/* + * Applies heuristics to minimize edge crossings in the graph and sets the best + * order solution as an order attribute on each node. + * + * Pre-conditions: + * + * 1. Graph must be DAG + * 2. Graph nodes must be objects with a "rank" attribute + * 3. Graph edges must have the "weight" attribute + * + * Post-conditions: + * + * 1. Graph nodes will have an "order" attribute based on the results of the + * algorithm. + */ +function order(g) { + var maxRank = util_maxRank(g), + downLayerGraphs = buildLayerGraphs(g, range/* default */.Z(1, maxRank + 1), 'inEdges'), + upLayerGraphs = buildLayerGraphs(g, range/* default */.Z(maxRank - 1, -1, -1), 'outEdges'); + + var layering = initOrder(g); + assignOrder(g, layering); + + var bestCC = Number.POSITIVE_INFINITY, + best; + + for (var i = 0, lastBest = 0; lastBest < 4; ++i, ++lastBest) { + sweepLayerGraphs(i % 2 ? downLayerGraphs : upLayerGraphs, i % 4 >= 2); + + layering = buildLayerMatrix(g); + var cc = crossCount(g, layering); + if (cc < bestCC) { + lastBest = 0; + best = lodash_es_cloneDeep(layering); + bestCC = cc; + } + } + + assignOrder(g, best); +} + +function buildLayerGraphs(g, ranks, relationship) { + return map/* default */.Z(ranks, function (rank) { + return buildLayerGraph(g, rank, relationship); + }); +} + +function sweepLayerGraphs(layerGraphs, biasRight) { + var cg = new graphlib/* Graph */.k(); + forEach/* default */.Z(layerGraphs, function (lg) { + var root = lg.graph().root; + var sorted = sortSubgraph(lg, root, cg, biasRight); + forEach/* default */.Z(sorted.vs, function (v, i) { + lg.node(v).order = i; + }); + addSubgraphConstraints(lg, cg, sorted.vs); + }); +} + +function assignOrder(g, layering) { + forEach/* default */.Z(layering, function (layer) { + forEach/* default */.Z(layer, function (v, i) { + g.node(v).order = i; + }); + }); +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/parent-dummy-chains.js + + + + +function parentDummyChains(g) { + var postorderNums = parent_dummy_chains_postorder(g); + + forEach/* default */.Z(g.graph().dummyChains, function (v) { + var node = g.node(v); + var edgeObj = node.edgeObj; + var pathData = findPath(g, postorderNums, edgeObj.v, edgeObj.w); + var path = pathData.path; + var lca = pathData.lca; + var pathIdx = 0; + var pathV = path[pathIdx]; + var ascending = true; + + while (v !== edgeObj.w) { + node = g.node(v); + + if (ascending) { + while ((pathV = path[pathIdx]) !== lca && g.node(pathV).maxRank < node.rank) { + pathIdx++; + } + + if (pathV === lca) { + ascending = false; + } + } + + if (!ascending) { + while ( + pathIdx < path.length - 1 && + g.node((pathV = path[pathIdx + 1])).minRank <= node.rank + ) { + pathIdx++; + } + pathV = path[pathIdx]; + } + + g.setParent(v, pathV); + v = g.successors(v)[0]; + } + }); +} + +// Find a path from v to w through the lowest common ancestor (LCA). Return the +// full path and the LCA. +function findPath(g, postorderNums, v, w) { + var vPath = []; + var wPath = []; + var low = Math.min(postorderNums[v].low, postorderNums[w].low); + var lim = Math.max(postorderNums[v].lim, postorderNums[w].lim); + var parent; + var lca; + + // Traverse up from v to find the LCA + parent = v; + do { + parent = g.parent(parent); + vPath.push(parent); + } while (parent && (postorderNums[parent].low > low || lim > postorderNums[parent].lim)); + lca = parent; + + // Traverse from w to LCA + parent = w; + while ((parent = g.parent(parent)) !== lca) { + wPath.push(parent); + } + + return { path: vPath.concat(wPath.reverse()), lca: lca }; +} + +function parent_dummy_chains_postorder(g) { + var result = {}; + var lim = 0; + + function dfs(v) { + var low = lim; + forEach/* default */.Z(g.children(v), dfs); + result[v] = { low: low, lim: lim++ }; + } + forEach/* default */.Z(g.children(), dfs); + + return result; +} + +// EXTERNAL MODULE: ./node_modules/lodash-es/_castFunction.js +var _castFunction = __webpack_require__(68882); +;// CONCATENATED MODULE: ./node_modules/lodash-es/forOwn.js + + + +/** + * Iterates over own enumerable string keyed properties of an object and + * invokes `iteratee` for each property. The iteratee is invoked with three + * arguments: (value, key, object). Iteratee functions may exit iteration + * early by explicitly returning `false`. + * + * @static + * @memberOf _ + * @since 0.3.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forOwnRight + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forOwn(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'a' then 'b' (iteration order is not guaranteed). + */ +function forOwn(object, iteratee) { + return object && (0,_baseForOwn/* default */.Z)(object, (0,_castFunction/* default */.Z)(iteratee)); +} + +/* harmony default export */ const lodash_es_forOwn = (forOwn); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseFor.js + 1 modules +var _baseFor = __webpack_require__(61395); +// EXTERNAL MODULE: ./node_modules/lodash-es/keysIn.js + 2 modules +var keysIn = __webpack_require__(65733); +;// CONCATENATED MODULE: ./node_modules/lodash-es/forIn.js + + + + +/** + * Iterates over own and inherited enumerable string keyed properties of an + * object and invokes `iteratee` for each property. The iteratee is invoked + * with three arguments: (value, key, object). Iteratee functions may exit + * iteration early by explicitly returning `false`. + * + * @static + * @memberOf _ + * @since 0.3.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forInRight + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forIn(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed). + */ +function forIn(object, iteratee) { + return object == null + ? object + : (0,_baseFor/* default */.Z)(object, (0,_castFunction/* default */.Z)(iteratee), keysIn/* default */.Z); +} + +/* harmony default export */ const lodash_es_forIn = (forIn); + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/position/bk.js + + + + +/* + * This module provides coordinate assignment based on Brandes and Köpf, "Fast + * and Simple Horizontal Coordinate Assignment." + */ + + + +/* + * Marks all edges in the graph with a type-1 conflict with the "type1Conflict" + * property. A type-1 conflict is one where a non-inner segment crosses an + * inner segment. An inner segment is an edge with both incident nodes marked + * with the "dummy" property. + * + * This algorithm scans layer by layer, starting with the second, for type-1 + * conflicts between the current layer and the previous layer. For each layer + * it scans the nodes from left to right until it reaches one that is incident + * on an inner segment. It then scans predecessors to determine if they have + * edges that cross that inner segment. At the end a final scan is done for all + * nodes on the current rank to see if they cross the last visited inner + * segment. + * + * This algorithm (safely) assumes that a dummy node will only be incident on a + * single node in the layers being scanned. + */ +function findType1Conflicts(g, layering) { + var conflicts = {}; + + function visitLayer(prevLayer, layer) { + var // last visited node in the previous layer that is incident on an inner + // segment. + k0 = 0, + // Tracks the last node in this layer scanned for crossings with a type-1 + // segment. + scanPos = 0, + prevLayerLength = prevLayer.length, + lastNode = lodash_es_last(layer); + + forEach/* default */.Z(layer, function (v, i) { + var w = findOtherInnerSegmentNode(g, v), + k1 = w ? g.node(w).order : prevLayerLength; + + if (w || v === lastNode) { + forEach/* default */.Z(layer.slice(scanPos, i + 1), function (scanNode) { + forEach/* default */.Z(g.predecessors(scanNode), function (u) { + var uLabel = g.node(u), + uPos = uLabel.order; + if ((uPos < k0 || k1 < uPos) && !(uLabel.dummy && g.node(scanNode).dummy)) { + addConflict(conflicts, u, scanNode); + } + }); + }); + // @ts-expect-error + scanPos = i + 1; + k0 = k1; + } + }); + + return layer; + } + + reduce/* default */.Z(layering, visitLayer); + return conflicts; +} + +function findType2Conflicts(g, layering) { + var conflicts = {}; + + function scan(south, southPos, southEnd, prevNorthBorder, nextNorthBorder) { + var v; + forEach/* default */.Z(range/* default */.Z(southPos, southEnd), function (i) { + v = south[i]; + if (g.node(v).dummy) { + forEach/* default */.Z(g.predecessors(v), function (u) { + var uNode = g.node(u); + if (uNode.dummy && (uNode.order < prevNorthBorder || uNode.order > nextNorthBorder)) { + addConflict(conflicts, u, v); + } + }); + } + }); + } + + function visitLayer(north, south) { + var prevNorthPos = -1, + nextNorthPos, + southPos = 0; + + forEach/* default */.Z(south, function (v, southLookahead) { + if (g.node(v).dummy === 'border') { + var predecessors = g.predecessors(v); + if (predecessors.length) { + nextNorthPos = g.node(predecessors[0]).order; + scan(south, southPos, southLookahead, prevNorthPos, nextNorthPos); + // @ts-expect-error + southPos = southLookahead; + prevNorthPos = nextNorthPos; + } + } + scan(south, southPos, south.length, nextNorthPos, north.length); + }); + + return south; + } + + reduce/* default */.Z(layering, visitLayer); + return conflicts; +} + +function findOtherInnerSegmentNode(g, v) { + if (g.node(v).dummy) { + return lodash_es_find(g.predecessors(v), function (u) { + return g.node(u).dummy; + }); + } +} + +function addConflict(conflicts, v, w) { + if (v > w) { + var tmp = v; + v = w; + w = tmp; + } + + var conflictsV = conflicts[v]; + if (!conflictsV) { + conflicts[v] = conflictsV = {}; + } + conflictsV[w] = true; +} + +function hasConflict(conflicts, v, w) { + if (v > w) { + var tmp = v; + v = w; + w = tmp; + } + return has/* default */.Z(conflicts[v], w); +} + +/* + * Try to align nodes into vertical "blocks" where possible. This algorithm + * attempts to align a node with one of its median neighbors. If the edge + * connecting a neighbor is a type-1 conflict then we ignore that possibility. + * If a previous node has already formed a block with a node after the node + * we're trying to form a block with, we also ignore that possibility - our + * blocks would be split in that scenario. + */ +function verticalAlignment(g, layering, conflicts, neighborFn) { + var root = {}, + align = {}, + pos = {}; + + // We cache the position here based on the layering because the graph and + // layering may be out of sync. The layering matrix is manipulated to + // generate different extreme alignments. + forEach/* default */.Z(layering, function (layer) { + forEach/* default */.Z(layer, function (v, order) { + root[v] = v; + align[v] = v; + pos[v] = order; + }); + }); + + forEach/* default */.Z(layering, function (layer) { + var prevIdx = -1; + forEach/* default */.Z(layer, function (v) { + var ws = neighborFn(v); + if (ws.length) { + ws = lodash_es_sortBy(ws, function (w) { + return pos[w]; + }); + var mp = (ws.length - 1) / 2; + for (var i = Math.floor(mp), il = Math.ceil(mp); i <= il; ++i) { + var w = ws[i]; + if (align[v] === v && prevIdx < pos[w] && !hasConflict(conflicts, v, w)) { + align[w] = v; + align[v] = root[v] = root[w]; + prevIdx = pos[w]; + } + } + } + }); + }); + + return { root: root, align: align }; +} + +function horizontalCompaction(g, layering, root, align, reverseSep) { + // This portion of the algorithm differs from BK due to a number of problems. + // Instead of their algorithm we construct a new block graph and do two + // sweeps. The first sweep places blocks with the smallest possible + // coordinates. The second sweep removes unused space by moving blocks to the + // greatest coordinates without violating separation. + var xs = {}, + blockG = buildBlockGraph(g, layering, root, reverseSep), + borderType = reverseSep ? 'borderLeft' : 'borderRight'; + + function iterate(setXsFunc, nextNodesFunc) { + var stack = blockG.nodes(); + var elem = stack.pop(); + var visited = {}; + while (elem) { + if (visited[elem]) { + setXsFunc(elem); + } else { + visited[elem] = true; + stack.push(elem); + stack = stack.concat(nextNodesFunc(elem)); + } + + elem = stack.pop(); + } + } + + // First pass, assign smallest coordinates + function pass1(elem) { + xs[elem] = blockG.inEdges(elem).reduce(function (acc, e) { + return Math.max(acc, xs[e.v] + blockG.edge(e)); + }, 0); + } + + // Second pass, assign greatest coordinates + function pass2(elem) { + var min = blockG.outEdges(elem).reduce(function (acc, e) { + return Math.min(acc, xs[e.w] - blockG.edge(e)); + }, Number.POSITIVE_INFINITY); + + var node = g.node(elem); + if (min !== Number.POSITIVE_INFINITY && node.borderType !== borderType) { + xs[elem] = Math.max(xs[elem], min); + } + } + + iterate(pass1, blockG.predecessors.bind(blockG)); + iterate(pass2, blockG.successors.bind(blockG)); + + // Assign x coordinates to all nodes + forEach/* default */.Z(align, function (v) { + xs[v] = xs[root[v]]; + }); + + return xs; +} + +function buildBlockGraph(g, layering, root, reverseSep) { + var blockGraph = new graphlib/* Graph */.k(), + graphLabel = g.graph(), + sepFn = sep(graphLabel.nodesep, graphLabel.edgesep, reverseSep); + + forEach/* default */.Z(layering, function (layer) { + var u; + forEach/* default */.Z(layer, function (v) { + var vRoot = root[v]; + blockGraph.setNode(vRoot); + if (u) { + var uRoot = root[u], + prevMax = blockGraph.edge(uRoot, vRoot); + blockGraph.setEdge(uRoot, vRoot, Math.max(sepFn(g, v, u), prevMax || 0)); + } + u = v; + }); + }); + + return blockGraph; +} + +/* + * Returns the alignment that has the smallest width of the given alignments. + */ +function findSmallestWidthAlignment(g, xss) { + return lodash_es_minBy(values/* default */.Z(xss), function (xs) { + var max = Number.NEGATIVE_INFINITY; + var min = Number.POSITIVE_INFINITY; + + lodash_es_forIn(xs, function (x, v) { + var halfWidth = width(g, v) / 2; + + max = Math.max(x + halfWidth, max); + min = Math.min(x - halfWidth, min); + }); + + return max - min; + }); +} + +/* + * Align the coordinates of each of the layout alignments such that + * left-biased alignments have their minimum coordinate at the same point as + * the minimum coordinate of the smallest width alignment and right-biased + * alignments have their maximum coordinate at the same point as the maximum + * coordinate of the smallest width alignment. + */ +function alignCoordinates(xss, alignTo) { + var alignToVals = values/* default */.Z(alignTo), + alignToMin = lodash_es_min(alignToVals), + alignToMax = lodash_es_max(alignToVals); + + forEach/* default */.Z(['u', 'd'], function (vert) { + forEach/* default */.Z(['l', 'r'], function (horiz) { + var alignment = vert + horiz, + xs = xss[alignment], + delta; + if (xs === alignTo) return; + + var xsVals = values/* default */.Z(xs); + delta = horiz === 'l' ? alignToMin - lodash_es_min(xsVals) : alignToMax - lodash_es_max(xsVals); + + if (delta) { + xss[alignment] = lodash_es_mapValues(xs, function (x) { + return x + delta; + }); + } + }); + }); +} + +function balance(xss, align) { + return lodash_es_mapValues(xss.ul, function (ignore, v) { + if (align) { + return xss[align.toLowerCase()][v]; + } else { + var xs = lodash_es_sortBy(map/* default */.Z(xss, v)); + return (xs[1] + xs[2]) / 2; + } + }); +} + +function positionX(g) { + var layering = buildLayerMatrix(g); + var conflicts = merge/* default */.Z(findType1Conflicts(g, layering), findType2Conflicts(g, layering)); + + var xss = {}; + var adjustedLayering; + forEach/* default */.Z(['u', 'd'], function (vert) { + adjustedLayering = vert === 'u' ? layering : values/* default */.Z(layering).reverse(); + forEach/* default */.Z(['l', 'r'], function (horiz) { + if (horiz === 'r') { + adjustedLayering = map/* default */.Z(adjustedLayering, function (inner) { + return values/* default */.Z(inner).reverse(); + }); + } + + var neighborFn = (vert === 'u' ? g.predecessors : g.successors).bind(g); + var align = verticalAlignment(g, adjustedLayering, conflicts, neighborFn); + var xs = horizontalCompaction(g, adjustedLayering, align.root, align.align, horiz === 'r'); + if (horiz === 'r') { + xs = lodash_es_mapValues(xs, function (x) { + return -x; + }); + } + xss[vert + horiz] = xs; + }); + }); + + var smallestWidth = findSmallestWidthAlignment(g, xss); + alignCoordinates(xss, smallestWidth); + return balance(xss, g.graph().align); +} + +function sep(nodeSep, edgeSep, reverseSep) { + return function (g, v, w) { + var vLabel = g.node(v); + var wLabel = g.node(w); + var sum = 0; + var delta; + + sum += vLabel.width / 2; + if (has/* default */.Z(vLabel, 'labelpos')) { + switch (vLabel.labelpos.toLowerCase()) { + case 'l': + delta = -vLabel.width / 2; + break; + case 'r': + delta = vLabel.width / 2; + break; + } + } + if (delta) { + sum += reverseSep ? delta : -delta; + } + delta = 0; + + sum += (vLabel.dummy ? edgeSep : nodeSep) / 2; + sum += (wLabel.dummy ? edgeSep : nodeSep) / 2; + + sum += wLabel.width / 2; + if (has/* default */.Z(wLabel, 'labelpos')) { + switch (wLabel.labelpos.toLowerCase()) { + case 'l': + delta = wLabel.width / 2; + break; + case 'r': + delta = -wLabel.width / 2; + break; + } + } + if (delta) { + sum += reverseSep ? delta : -delta; + } + delta = 0; + + return sum; + }; +} + +function width(g, v) { + return g.node(v).width; +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/position/index.js + + + + + + +function position(g) { + g = asNonCompoundGraph(g); + + positionY(g); + lodash_es_forOwn(positionX(g), function (x, v) { + g.node(v).x = x; + }); +} + +function positionY(g) { + var layering = buildLayerMatrix(g); + var rankSep = g.graph().ranksep; + var prevY = 0; + forEach/* default */.Z(layering, function (layer) { + var maxHeight = lodash_es_max( + map/* default */.Z(layer, function (v) { + return g.node(v).height; + }) + ); + forEach/* default */.Z(layer, function (v) { + g.node(v).y = prevY + maxHeight / 2; + }); + prevY += maxHeight + rankSep; + }); +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/layout.js + + + + + + + + + + + + + + + +function layout(g, opts) { + var time = opts && opts.debugTiming ? util_time : notime; + time('layout', function () { + var layoutGraph = time(' buildLayoutGraph', function () { + return buildLayoutGraph(g); + }); + time(' runLayout', function () { + runLayout(layoutGraph, time); + }); + time(' updateInputGraph', function () { + updateInputGraph(g, layoutGraph); + }); + }); +} + +function runLayout(g, time) { + time(' makeSpaceForEdgeLabels', function () { + makeSpaceForEdgeLabels(g); + }); + time(' removeSelfEdges', function () { + removeSelfEdges(g); + }); + time(' acyclic', function () { + run(g); + }); + time(' nestingGraph.run', function () { + nesting_graph_run(g); + }); + time(' rank', function () { + rank(asNonCompoundGraph(g)); + }); + time(' injectEdgeLabelProxies', function () { + injectEdgeLabelProxies(g); + }); + time(' removeEmptyRanks', function () { + removeEmptyRanks(g); + }); + time(' nestingGraph.cleanup', function () { + cleanup(g); + }); + time(' normalizeRanks', function () { + normalizeRanks(g); + }); + time(' assignRankMinMax', function () { + assignRankMinMax(g); + }); + time(' removeEdgeLabelProxies', function () { + removeEdgeLabelProxies(g); + }); + time(' normalize.run', function () { + normalize_run(g); + }); + time(' parentDummyChains', function () { + parentDummyChains(g); + }); + time(' addBorderSegments', function () { + addBorderSegments(g); + }); + time(' order', function () { + order(g); + }); + time(' insertSelfEdges', function () { + insertSelfEdges(g); + }); + time(' adjustCoordinateSystem', function () { + adjust(g); + }); + time(' position', function () { + position(g); + }); + time(' positionSelfEdges', function () { + positionSelfEdges(g); + }); + time(' removeBorderNodes', function () { + removeBorderNodes(g); + }); + time(' normalize.undo', function () { + normalize_undo(g); + }); + time(' fixupEdgeLabelCoords', function () { + fixupEdgeLabelCoords(g); + }); + time(' undoCoordinateSystem', function () { + coordinate_system_undo(g); + }); + time(' translateGraph', function () { + translateGraph(g); + }); + time(' assignNodeIntersects', function () { + assignNodeIntersects(g); + }); + time(' reversePoints', function () { + reversePointsForReversedEdges(g); + }); + time(' acyclic.undo', function () { + undo(g); + }); +} + +/* + * Copies final layout information from the layout graph back to the input + * graph. This process only copies whitelisted attributes from the layout graph + * to the input graph, so it serves as a good place to determine what + * attributes can influence layout. + */ +function updateInputGraph(inputGraph, layoutGraph) { + forEach/* default */.Z(inputGraph.nodes(), function (v) { + var inputLabel = inputGraph.node(v); + var layoutLabel = layoutGraph.node(v); + + if (inputLabel) { + inputLabel.x = layoutLabel.x; + inputLabel.y = layoutLabel.y; + + if (layoutGraph.children(v).length) { + inputLabel.width = layoutLabel.width; + inputLabel.height = layoutLabel.height; + } + } + }); + + forEach/* default */.Z(inputGraph.edges(), function (e) { + var inputLabel = inputGraph.edge(e); + var layoutLabel = layoutGraph.edge(e); + + inputLabel.points = layoutLabel.points; + if (has/* default */.Z(layoutLabel, 'x')) { + inputLabel.x = layoutLabel.x; + inputLabel.y = layoutLabel.y; + } + }); + + inputGraph.graph().width = layoutGraph.graph().width; + inputGraph.graph().height = layoutGraph.graph().height; +} + +var graphNumAttrs = ['nodesep', 'edgesep', 'ranksep', 'marginx', 'marginy']; +var graphDefaults = { ranksep: 50, edgesep: 20, nodesep: 50, rankdir: 'tb' }; +var graphAttrs = ['acyclicer', 'ranker', 'rankdir', 'align']; +var nodeNumAttrs = ['width', 'height']; +var nodeDefaults = { width: 0, height: 0 }; +var edgeNumAttrs = ['minlen', 'weight', 'width', 'height', 'labeloffset']; +var edgeDefaults = { + minlen: 1, + weight: 1, + width: 0, + height: 0, + labeloffset: 10, + labelpos: 'r', +}; +var edgeAttrs = ['labelpos']; + +/* + * Constructs a new graph from the input graph, which can be used for layout. + * This process copies only whitelisted attributes from the input graph to the + * layout graph. Thus this function serves as a good place to determine what + * attributes can influence layout. + */ +function buildLayoutGraph(inputGraph) { + var g = new graphlib/* Graph */.k({ multigraph: true, compound: true }); + var graph = canonicalize(inputGraph.graph()); + + g.setGraph( + merge/* default */.Z({}, graphDefaults, selectNumberAttrs(graph, graphNumAttrs), pick/* default */.Z(graph, graphAttrs)) + ); + + forEach/* default */.Z(inputGraph.nodes(), function (v) { + var node = canonicalize(inputGraph.node(v)); + g.setNode(v, defaults/* default */.Z(selectNumberAttrs(node, nodeNumAttrs), nodeDefaults)); + g.setParent(v, inputGraph.parent(v)); + }); + + forEach/* default */.Z(inputGraph.edges(), function (e) { + var edge = canonicalize(inputGraph.edge(e)); + g.setEdge( + e, + merge/* default */.Z({}, edgeDefaults, selectNumberAttrs(edge, edgeNumAttrs), pick/* default */.Z(edge, edgeAttrs)) + ); + }); + + return g; +} + +/* + * This idea comes from the Gansner paper: to account for edge labels in our + * layout we split each rank in half by doubling minlen and halving ranksep. + * Then we can place labels at these mid-points between nodes. + * + * We also add some minimal padding to the width to push the label for the edge + * away from the edge itself a bit. + */ +function makeSpaceForEdgeLabels(g) { + var graph = g.graph(); + graph.ranksep /= 2; + forEach/* default */.Z(g.edges(), function (e) { + var edge = g.edge(e); + edge.minlen *= 2; + if (edge.labelpos.toLowerCase() !== 'c') { + if (graph.rankdir === 'TB' || graph.rankdir === 'BT') { + edge.width += edge.labeloffset; + } else { + edge.height += edge.labeloffset; + } + } + }); +} + +/* + * Creates temporary dummy nodes that capture the rank in which each edge's + * label is going to, if it has one of non-zero width and height. We do this + * so that we can safely remove empty ranks while preserving balance for the + * label's position. + */ +function injectEdgeLabelProxies(g) { + forEach/* default */.Z(g.edges(), function (e) { + var edge = g.edge(e); + if (edge.width && edge.height) { + var v = g.node(e.v); + var w = g.node(e.w); + var label = { rank: (w.rank - v.rank) / 2 + v.rank, e: e }; + addDummyNode(g, 'edge-proxy', label, '_ep'); + } + }); +} + +function assignRankMinMax(g) { + var maxRank = 0; + forEach/* default */.Z(g.nodes(), function (v) { + var node = g.node(v); + if (node.borderTop) { + node.minRank = g.node(node.borderTop).rank; + node.maxRank = g.node(node.borderBottom).rank; + // @ts-expect-error + maxRank = lodash_es_max(maxRank, node.maxRank); + } + }); + g.graph().maxRank = maxRank; +} + +function removeEdgeLabelProxies(g) { + forEach/* default */.Z(g.nodes(), function (v) { + var node = g.node(v); + if (node.dummy === 'edge-proxy') { + g.edge(node.e).labelRank = node.rank; + g.removeNode(v); + } + }); +} + +function translateGraph(g) { + var minX = Number.POSITIVE_INFINITY; + var maxX = 0; + var minY = Number.POSITIVE_INFINITY; + var maxY = 0; + var graphLabel = g.graph(); + var marginX = graphLabel.marginx || 0; + var marginY = graphLabel.marginy || 0; + + function getExtremes(attrs) { + var x = attrs.x; + var y = attrs.y; + var w = attrs.width; + var h = attrs.height; + minX = Math.min(minX, x - w / 2); + maxX = Math.max(maxX, x + w / 2); + minY = Math.min(minY, y - h / 2); + maxY = Math.max(maxY, y + h / 2); + } + + forEach/* default */.Z(g.nodes(), function (v) { + getExtremes(g.node(v)); + }); + forEach/* default */.Z(g.edges(), function (e) { + var edge = g.edge(e); + if (has/* default */.Z(edge, 'x')) { + getExtremes(edge); + } + }); + + minX -= marginX; + minY -= marginY; + + forEach/* default */.Z(g.nodes(), function (v) { + var node = g.node(v); + node.x -= minX; + node.y -= minY; + }); + + forEach/* default */.Z(g.edges(), function (e) { + var edge = g.edge(e); + forEach/* default */.Z(edge.points, function (p) { + p.x -= minX; + p.y -= minY; + }); + if (has/* default */.Z(edge, 'x')) { + edge.x -= minX; + } + if (has/* default */.Z(edge, 'y')) { + edge.y -= minY; + } + }); + + graphLabel.width = maxX - minX + marginX; + graphLabel.height = maxY - minY + marginY; +} + +function assignNodeIntersects(g) { + forEach/* default */.Z(g.edges(), function (e) { + var edge = g.edge(e); + var nodeV = g.node(e.v); + var nodeW = g.node(e.w); + var p1, p2; + if (!edge.points) { + edge.points = []; + p1 = nodeW; + p2 = nodeV; + } else { + p1 = edge.points[0]; + p2 = edge.points[edge.points.length - 1]; + } + edge.points.unshift(intersectRect(nodeV, p1)); + edge.points.push(intersectRect(nodeW, p2)); + }); +} + +function fixupEdgeLabelCoords(g) { + forEach/* default */.Z(g.edges(), function (e) { + var edge = g.edge(e); + if (has/* default */.Z(edge, 'x')) { + if (edge.labelpos === 'l' || edge.labelpos === 'r') { + edge.width -= edge.labeloffset; + } + switch (edge.labelpos) { + case 'l': + edge.x -= edge.width / 2 + edge.labeloffset; + break; + case 'r': + edge.x += edge.width / 2 + edge.labeloffset; + break; + } + } + }); +} + +function reversePointsForReversedEdges(g) { + forEach/* default */.Z(g.edges(), function (e) { + var edge = g.edge(e); + if (edge.reversed) { + edge.points.reverse(); + } + }); +} + +function removeBorderNodes(g) { + forEach/* default */.Z(g.nodes(), function (v) { + if (g.children(v).length) { + var node = g.node(v); + var t = g.node(node.borderTop); + var b = g.node(node.borderBottom); + var l = g.node(lodash_es_last(node.borderLeft)); + var r = g.node(lodash_es_last(node.borderRight)); + + node.width = Math.abs(r.x - l.x); + node.height = Math.abs(b.y - t.y); + node.x = l.x + node.width / 2; + node.y = t.y + node.height / 2; + } + }); + + forEach/* default */.Z(g.nodes(), function (v) { + if (g.node(v).dummy === 'border') { + g.removeNode(v); + } + }); +} + +function removeSelfEdges(g) { + forEach/* default */.Z(g.edges(), function (e) { + if (e.v === e.w) { + var node = g.node(e.v); + if (!node.selfEdges) { + node.selfEdges = []; + } + node.selfEdges.push({ e: e, label: g.edge(e) }); + g.removeEdge(e); + } + }); +} + +function insertSelfEdges(g) { + var layers = buildLayerMatrix(g); + forEach/* default */.Z(layers, function (layer) { + var orderShift = 0; + forEach/* default */.Z(layer, function (v, i) { + var node = g.node(v); + node.order = i + orderShift; + forEach/* default */.Z(node.selfEdges, function (selfEdge) { + addDummyNode( + g, + 'selfedge', + { + width: selfEdge.label.width, + height: selfEdge.label.height, + rank: node.rank, + order: i + ++orderShift, + e: selfEdge.e, + label: selfEdge.label, + }, + '_se' + ); + }); + delete node.selfEdges; + }); + }); +} + +function positionSelfEdges(g) { + forEach/* default */.Z(g.nodes(), function (v) { + var node = g.node(v); + if (node.dummy === 'selfedge') { + var selfNode = g.node(node.e.v); + var x = selfNode.x + selfNode.width / 2; + var y = selfNode.y; + var dx = node.x - x; + var dy = selfNode.height / 2; + g.setEdge(node.e, node.label); + g.removeNode(v); + node.label.points = [ + { x: x + (2 * dx) / 3, y: y - dy }, + { x: x + (5 * dx) / 6, y: y - dy }, + { x: x + dx, y: y }, + { x: x + (5 * dx) / 6, y: y + dy }, + { x: x + (2 * dx) / 3, y: y + dy }, + ]; + node.label.x = node.x; + node.label.y = node.y; + } + }); +} + +function selectNumberAttrs(obj, attrs) { + return lodash_es_mapValues(pick/* default */.Z(obj, attrs), Number); +} + +function canonicalize(attrs) { + var newAttrs = {}; + forEach/* default */.Z(attrs, function (v, k) { + newAttrs[k.toLowerCase()] = v; + }); + return newAttrs; +} + +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/dagre/index.js + + + + + + + + +/***/ }), + +/***/ 52544: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + k: () => (/* binding */ Graph) +}); + +// EXTERNAL MODULE: ./node_modules/lodash-es/has.js + 1 modules +var has = __webpack_require__(17452); +// EXTERNAL MODULE: ./node_modules/lodash-es/constant.js +var constant = __webpack_require__(62002); +// EXTERNAL MODULE: ./node_modules/lodash-es/isFunction.js +var isFunction = __webpack_require__(73234); +// EXTERNAL MODULE: ./node_modules/lodash-es/keys.js +var keys = __webpack_require__(17179); +// EXTERNAL MODULE: ./node_modules/lodash-es/filter.js + 1 modules +var filter = __webpack_require__(13445); +// EXTERNAL MODULE: ./node_modules/lodash-es/isEmpty.js +var isEmpty = __webpack_require__(79697); +// EXTERNAL MODULE: ./node_modules/lodash-es/forEach.js +var forEach = __webpack_require__(70870); +// EXTERNAL MODULE: ./node_modules/lodash-es/isUndefined.js +var isUndefined = __webpack_require__(49360); +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseFlatten.js + 1 modules +var _baseFlatten = __webpack_require__(10626); +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseRest.js +var _baseRest = __webpack_require__(69581); +// EXTERNAL MODULE: ./node_modules/lodash-es/_SetCache.js + 2 modules +var _SetCache = __webpack_require__(63001); +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseFindIndex.js +var _baseFindIndex = __webpack_require__(21692); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseIsNaN.js +/** + * The base implementation of `_.isNaN` without support for number objects. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. + */ +function baseIsNaN(value) { + return value !== value; +} + +/* harmony default export */ const _baseIsNaN = (baseIsNaN); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_strictIndexOf.js +/** + * A specialized version of `_.indexOf` which performs strict equality + * comparisons of values, i.e. `===`. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function strictIndexOf(array, value, fromIndex) { + var index = fromIndex - 1, + length = array.length; + + while (++index < length) { + if (array[index] === value) { + return index; + } + } + return -1; +} + +/* harmony default export */ const _strictIndexOf = (strictIndexOf); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseIndexOf.js + + + + +/** + * The base implementation of `_.indexOf` without `fromIndex` bounds checks. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function baseIndexOf(array, value, fromIndex) { + return value === value + ? _strictIndexOf(array, value, fromIndex) + : (0,_baseFindIndex/* default */.Z)(array, _baseIsNaN, fromIndex); +} + +/* harmony default export */ const _baseIndexOf = (baseIndexOf); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_arrayIncludes.js + + +/** + * A specialized version of `_.includes` for arrays without support for + * specifying an index to search from. + * + * @private + * @param {Array} [array] The array to inspect. + * @param {*} target The value to search for. + * @returns {boolean} Returns `true` if `target` is found, else `false`. + */ +function arrayIncludes(array, value) { + var length = array == null ? 0 : array.length; + return !!length && _baseIndexOf(array, value, 0) > -1; +} + +/* harmony default export */ const _arrayIncludes = (arrayIncludes); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_arrayIncludesWith.js +/** + * This function is like `arrayIncludes` except that it accepts a comparator. + * + * @private + * @param {Array} [array] The array to inspect. + * @param {*} target The value to search for. + * @param {Function} comparator The comparator invoked per element. + * @returns {boolean} Returns `true` if `target` is found, else `false`. + */ +function arrayIncludesWith(array, value, comparator) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (comparator(value, array[index])) { + return true; + } + } + return false; +} + +/* harmony default export */ const _arrayIncludesWith = (arrayIncludesWith); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_cacheHas.js +var _cacheHas = __webpack_require__(59548); +// EXTERNAL MODULE: ./node_modules/lodash-es/_Set.js +var _Set = __webpack_require__(93203); +;// CONCATENATED MODULE: ./node_modules/lodash-es/noop.js +/** + * This method returns `undefined`. + * + * @static + * @memberOf _ + * @since 2.3.0 + * @category Util + * @example + * + * _.times(2, _.noop); + * // => [undefined, undefined] + */ +function noop() { + // No operation performed. +} + +/* harmony default export */ const lodash_es_noop = (noop); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_setToArray.js +var _setToArray = __webpack_require__(6545); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_createSet.js + + + + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0; + +/** + * Creates a set object of `values`. + * + * @private + * @param {Array} values The values to add to the set. + * @returns {Object} Returns the new set. + */ +var createSet = !(_Set/* default */.Z && (1 / (0,_setToArray/* default */.Z)(new _Set/* default */.Z([,-0]))[1]) == INFINITY) ? lodash_es_noop : function(values) { + return new _Set/* default */.Z(values); +}; + +/* harmony default export */ const _createSet = (createSet); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseUniq.js + + + + + + + +/** Used as the size to enable large array optimizations. */ +var LARGE_ARRAY_SIZE = 200; + +/** + * The base implementation of `_.uniqBy` without support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new duplicate free array. + */ +function baseUniq(array, iteratee, comparator) { + var index = -1, + includes = _arrayIncludes, + length = array.length, + isCommon = true, + result = [], + seen = result; + + if (comparator) { + isCommon = false; + includes = _arrayIncludesWith; + } + else if (length >= LARGE_ARRAY_SIZE) { + var set = iteratee ? null : _createSet(array); + if (set) { + return (0,_setToArray/* default */.Z)(set); + } + isCommon = false; + includes = _cacheHas/* default */.Z; + seen = new _SetCache/* default */.Z; + } + else { + seen = iteratee ? [] : result; + } + outer: + while (++index < length) { + var value = array[index], + computed = iteratee ? iteratee(value) : value; + + value = (comparator || value !== 0) ? value : 0; + if (isCommon && computed === computed) { + var seenIndex = seen.length; + while (seenIndex--) { + if (seen[seenIndex] === computed) { + continue outer; + } + } + if (iteratee) { + seen.push(computed); + } + result.push(value); + } + else if (!includes(seen, computed, comparator)) { + if (seen !== result) { + seen.push(computed); + } + result.push(value); + } + } + return result; +} + +/* harmony default export */ const _baseUniq = (baseUniq); + +// EXTERNAL MODULE: ./node_modules/lodash-es/isArrayLikeObject.js +var isArrayLikeObject = __webpack_require__(836); +;// CONCATENATED MODULE: ./node_modules/lodash-es/union.js + + + + + +/** + * Creates an array of unique values, in order, from all given arrays using + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @returns {Array} Returns the new array of combined values. + * @example + * + * _.union([2], [1, 2]); + * // => [2, 1] + */ +var union = (0,_baseRest/* default */.Z)(function(arrays) { + return _baseUniq((0,_baseFlatten/* default */.Z)(arrays, 1, isArrayLikeObject/* default */.Z, true)); +}); + +/* harmony default export */ const lodash_es_union = (union); + +// EXTERNAL MODULE: ./node_modules/lodash-es/values.js + 1 modules +var values = __webpack_require__(34148); +// EXTERNAL MODULE: ./node_modules/lodash-es/reduce.js + 2 modules +var reduce = __webpack_require__(92344); +;// CONCATENATED MODULE: ./node_modules/dagre-d3-es/src/graphlib/graph.js + + +var DEFAULT_EDGE_NAME = '\x00'; +var GRAPH_NODE = '\x00'; +var EDGE_KEY_DELIM = '\x01'; + +// Implementation notes: +// +// * Node id query functions should return string ids for the nodes +// * Edge id query functions should return an "edgeObj", edge object, that is +// composed of enough information to uniquely identify an edge: {v, w, name}. +// * Internally we use an "edgeId", a stringified form of the edgeObj, to +// reference edges. This is because we need a performant way to look these +// edges up and, object properties, which have string keys, are the closest +// we're going to get to a performant hashtable in JavaScript. + +// Implementation notes: +// +// * Node id query functions should return string ids for the nodes +// * Edge id query functions should return an "edgeObj", edge object, that is +// composed of enough information to uniquely identify an edge: {v, w, name}. +// * Internally we use an "edgeId", a stringified form of the edgeObj, to +// reference edges. This is because we need a performant way to look these +// edges up and, object properties, which have string keys, are the closest +// we're going to get to a performant hashtable in JavaScript. +class Graph { + constructor(opts = {}) { + this._isDirected = has/* default */.Z(opts, 'directed') ? opts.directed : true; + this._isMultigraph = has/* default */.Z(opts, 'multigraph') ? opts.multigraph : false; + this._isCompound = has/* default */.Z(opts, 'compound') ? opts.compound : false; + + // Label for the graph itself + this._label = undefined; + + // Defaults to be set when creating a new node + this._defaultNodeLabelFn = constant/* default */.Z(undefined); + + // Defaults to be set when creating a new edge + this._defaultEdgeLabelFn = constant/* default */.Z(undefined); + + // v -> label + this._nodes = {}; + + if (this._isCompound) { + // v -> parent + this._parent = {}; + + // v -> children + this._children = {}; + this._children[GRAPH_NODE] = {}; + } + + // v -> edgeObj + this._in = {}; + + // u -> v -> Number + this._preds = {}; + + // v -> edgeObj + this._out = {}; + + // v -> w -> Number + this._sucs = {}; + + // e -> edgeObj + this._edgeObjs = {}; + + // e -> label + this._edgeLabels = {}; + } + /* === Graph functions ========= */ + isDirected() { + return this._isDirected; + } + isMultigraph() { + return this._isMultigraph; + } + isCompound() { + return this._isCompound; + } + setGraph(label) { + this._label = label; + return this; + } + graph() { + return this._label; + } + /* === Node functions ========== */ + setDefaultNodeLabel(newDefault) { + if (!isFunction/* default */.Z(newDefault)) { + newDefault = constant/* default */.Z(newDefault); + } + this._defaultNodeLabelFn = newDefault; + return this; + } + nodeCount() { + return this._nodeCount; + } + nodes() { + return keys/* default */.Z(this._nodes); + } + sources() { + var self = this; + return filter/* default */.Z(this.nodes(), function (v) { + return isEmpty/* default */.Z(self._in[v]); + }); + } + sinks() { + var self = this; + return filter/* default */.Z(this.nodes(), function (v) { + return isEmpty/* default */.Z(self._out[v]); + }); + } + setNodes(vs, value) { + var args = arguments; + var self = this; + forEach/* default */.Z(vs, function (v) { + if (args.length > 1) { + self.setNode(v, value); + } else { + self.setNode(v); + } + }); + return this; + } + setNode(v, value) { + if (has/* default */.Z(this._nodes, v)) { + if (arguments.length > 1) { + this._nodes[v] = value; + } + return this; + } + + // @ts-expect-error + this._nodes[v] = arguments.length > 1 ? value : this._defaultNodeLabelFn(v); + if (this._isCompound) { + this._parent[v] = GRAPH_NODE; + this._children[v] = {}; + this._children[GRAPH_NODE][v] = true; + } + this._in[v] = {}; + this._preds[v] = {}; + this._out[v] = {}; + this._sucs[v] = {}; + ++this._nodeCount; + return this; + } + node(v) { + return this._nodes[v]; + } + hasNode(v) { + return has/* default */.Z(this._nodes, v); + } + removeNode(v) { + var self = this; + if (has/* default */.Z(this._nodes, v)) { + var removeEdge = function (e) { + self.removeEdge(self._edgeObjs[e]); + }; + delete this._nodes[v]; + if (this._isCompound) { + this._removeFromParentsChildList(v); + delete this._parent[v]; + forEach/* default */.Z(this.children(v), function (child) { + self.setParent(child); + }); + delete this._children[v]; + } + forEach/* default */.Z(keys/* default */.Z(this._in[v]), removeEdge); + delete this._in[v]; + delete this._preds[v]; + forEach/* default */.Z(keys/* default */.Z(this._out[v]), removeEdge); + delete this._out[v]; + delete this._sucs[v]; + --this._nodeCount; + } + return this; + } + setParent(v, parent) { + if (!this._isCompound) { + throw new Error('Cannot set parent in a non-compound graph'); + } + + if (isUndefined/* default */.Z(parent)) { + parent = GRAPH_NODE; + } else { + // Coerce parent to string + parent += ''; + for (var ancestor = parent; !isUndefined/* default */.Z(ancestor); ancestor = this.parent(ancestor)) { + if (ancestor === v) { + throw new Error('Setting ' + parent + ' as parent of ' + v + ' would create a cycle'); + } + } + + this.setNode(parent); + } + + this.setNode(v); + this._removeFromParentsChildList(v); + this._parent[v] = parent; + this._children[parent][v] = true; + return this; + } + _removeFromParentsChildList(v) { + delete this._children[this._parent[v]][v]; + } + parent(v) { + if (this._isCompound) { + var parent = this._parent[v]; + if (parent !== GRAPH_NODE) { + return parent; + } + } + } + children(v) { + if (isUndefined/* default */.Z(v)) { + v = GRAPH_NODE; + } + + if (this._isCompound) { + var children = this._children[v]; + if (children) { + return keys/* default */.Z(children); + } + } else if (v === GRAPH_NODE) { + return this.nodes(); + } else if (this.hasNode(v)) { + return []; + } + } + predecessors(v) { + var predsV = this._preds[v]; + if (predsV) { + return keys/* default */.Z(predsV); + } + } + successors(v) { + var sucsV = this._sucs[v]; + if (sucsV) { + return keys/* default */.Z(sucsV); + } + } + neighbors(v) { + var preds = this.predecessors(v); + if (preds) { + return lodash_es_union(preds, this.successors(v)); + } + } + isLeaf(v) { + var neighbors; + if (this.isDirected()) { + neighbors = this.successors(v); + } else { + neighbors = this.neighbors(v); + } + return neighbors.length === 0; + } + filterNodes(filter) { + // @ts-expect-error + var copy = new this.constructor({ + directed: this._isDirected, + multigraph: this._isMultigraph, + compound: this._isCompound, + }); + + copy.setGraph(this.graph()); + + var self = this; + forEach/* default */.Z(this._nodes, function (value, v) { + if (filter(v)) { + copy.setNode(v, value); + } + }); + + forEach/* default */.Z(this._edgeObjs, function (e) { + // @ts-expect-error + if (copy.hasNode(e.v) && copy.hasNode(e.w)) { + copy.setEdge(e, self.edge(e)); + } + }); + + var parents = {}; + function findParent(v) { + var parent = self.parent(v); + if (parent === undefined || copy.hasNode(parent)) { + parents[v] = parent; + return parent; + } else if (parent in parents) { + return parents[parent]; + } else { + return findParent(parent); + } + } + + if (this._isCompound) { + forEach/* default */.Z(copy.nodes(), function (v) { + copy.setParent(v, findParent(v)); + }); + } + + return copy; + } + /* === Edge functions ========== */ + setDefaultEdgeLabel(newDefault) { + if (!isFunction/* default */.Z(newDefault)) { + newDefault = constant/* default */.Z(newDefault); + } + this._defaultEdgeLabelFn = newDefault; + return this; + } + edgeCount() { + return this._edgeCount; + } + edges() { + return values/* default */.Z(this._edgeObjs); + } + setPath(vs, value) { + var self = this; + var args = arguments; + reduce/* default */.Z(vs, function (v, w) { + if (args.length > 1) { + self.setEdge(v, w, value); + } else { + self.setEdge(v, w); + } + return w; + }); + return this; + } + /* + * setEdge(v, w, [value, [name]]) + * setEdge({ v, w, [name] }, [value]) + */ + setEdge() { + var v, w, name, value; + var valueSpecified = false; + var arg0 = arguments[0]; + + if (typeof arg0 === 'object' && arg0 !== null && 'v' in arg0) { + v = arg0.v; + w = arg0.w; + name = arg0.name; + if (arguments.length === 2) { + value = arguments[1]; + valueSpecified = true; + } + } else { + v = arg0; + w = arguments[1]; + name = arguments[3]; + if (arguments.length > 2) { + value = arguments[2]; + valueSpecified = true; + } + } + + v = '' + v; + w = '' + w; + if (!isUndefined/* default */.Z(name)) { + name = '' + name; + } + + var e = edgeArgsToId(this._isDirected, v, w, name); + if (has/* default */.Z(this._edgeLabels, e)) { + if (valueSpecified) { + this._edgeLabels[e] = value; + } + return this; + } + + if (!isUndefined/* default */.Z(name) && !this._isMultigraph) { + throw new Error('Cannot set a named edge when isMultigraph = false'); + } + + // It didn't exist, so we need to create it. + // First ensure the nodes exist. + this.setNode(v); + this.setNode(w); + + // @ts-expect-error + this._edgeLabels[e] = valueSpecified ? value : this._defaultEdgeLabelFn(v, w, name); + + var edgeObj = edgeArgsToObj(this._isDirected, v, w, name); + // Ensure we add undirected edges in a consistent way. + v = edgeObj.v; + w = edgeObj.w; + + Object.freeze(edgeObj); + this._edgeObjs[e] = edgeObj; + incrementOrInitEntry(this._preds[w], v); + incrementOrInitEntry(this._sucs[v], w); + this._in[w][e] = edgeObj; + this._out[v][e] = edgeObj; + this._edgeCount++; + return this; + } + edge(v, w, name) { + var e = + arguments.length === 1 + ? edgeObjToId(this._isDirected, arguments[0]) + : edgeArgsToId(this._isDirected, v, w, name); + return this._edgeLabels[e]; + } + hasEdge(v, w, name) { + var e = + arguments.length === 1 + ? edgeObjToId(this._isDirected, arguments[0]) + : edgeArgsToId(this._isDirected, v, w, name); + return has/* default */.Z(this._edgeLabels, e); + } + removeEdge(v, w, name) { + var e = + arguments.length === 1 + ? edgeObjToId(this._isDirected, arguments[0]) + : edgeArgsToId(this._isDirected, v, w, name); + var edge = this._edgeObjs[e]; + if (edge) { + v = edge.v; + w = edge.w; + delete this._edgeLabels[e]; + delete this._edgeObjs[e]; + decrementOrRemoveEntry(this._preds[w], v); + decrementOrRemoveEntry(this._sucs[v], w); + delete this._in[w][e]; + delete this._out[v][e]; + this._edgeCount--; + } + return this; + } + inEdges(v, u) { + var inV = this._in[v]; + if (inV) { + var edges = values/* default */.Z(inV); + if (!u) { + return edges; + } + return filter/* default */.Z(edges, function (edge) { + return edge.v === u; + }); + } + } + outEdges(v, w) { + var outV = this._out[v]; + if (outV) { + var edges = values/* default */.Z(outV); + if (!w) { + return edges; + } + return filter/* default */.Z(edges, function (edge) { + return edge.w === w; + }); + } + } + nodeEdges(v, w) { + var inEdges = this.inEdges(v, w); + if (inEdges) { + return inEdges.concat(this.outEdges(v, w)); + } + } +} + +/* Number of nodes in the graph. Should only be changed by the implementation. */ +Graph.prototype._nodeCount = 0; + +/* Number of edges in the graph. Should only be changed by the implementation. */ +Graph.prototype._edgeCount = 0; + +function incrementOrInitEntry(map, k) { + if (map[k]) { + map[k]++; + } else { + map[k] = 1; + } +} + +function decrementOrRemoveEntry(map, k) { + if (!--map[k]) { + delete map[k]; + } +} + +function edgeArgsToId(isDirected, v_, w_, name) { + var v = '' + v_; + var w = '' + w_; + if (!isDirected && v > w) { + var tmp = v; + v = w; + w = tmp; + } + return v + EDGE_KEY_DELIM + w + EDGE_KEY_DELIM + (isUndefined/* default */.Z(name) ? DEFAULT_EDGE_NAME : name); +} + +function edgeArgsToObj(isDirected, v_, w_, name) { + var v = '' + v_; + var w = '' + w_; + if (!isDirected && v > w) { + var tmp = v; + v = w; + w = tmp; + } + var edgeObj = { v: v, w: w }; + if (name) { + edgeObj.name = name; + } + return edgeObj; +} + +function edgeObjToId(isDirected, edgeObj) { + return edgeArgsToId(isDirected, edgeObj.v, edgeObj.w, edgeObj.name); +} + + +/***/ }), + +/***/ 45625: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ k: () => (/* reexport safe */ _graph_js__WEBPACK_IMPORTED_MODULE_0__.k) +/* harmony export */ }); +/* unused harmony export version */ +/* harmony import */ var _graph_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(52544); +// Includes only the "core" of graphlib + + + +const version = '2.1.9-pre'; + + + + +/***/ }), + +/***/ 63001: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + Z: () => (/* binding */ _SetCache) +}); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_MapCache.js + 14 modules +var _MapCache = __webpack_require__(37834); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_setCacheAdd.js +/** Used to stand-in for `undefined` hash values. */ +var HASH_UNDEFINED = '__lodash_hash_undefined__'; + +/** + * Adds `value` to the array cache. + * + * @private + * @name add + * @memberOf SetCache + * @alias push + * @param {*} value The value to cache. + * @returns {Object} Returns the cache instance. + */ +function setCacheAdd(value) { + this.__data__.set(value, HASH_UNDEFINED); + return this; +} + +/* harmony default export */ const _setCacheAdd = (setCacheAdd); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_setCacheHas.js +/** + * Checks if `value` is in the array cache. + * + * @private + * @name has + * @memberOf SetCache + * @param {*} value The value to search for. + * @returns {number} Returns `true` if `value` is found, else `false`. + */ +function setCacheHas(value) { + return this.__data__.has(value); +} + +/* harmony default export */ const _setCacheHas = (setCacheHas); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_SetCache.js + + + + +/** + * + * Creates an array cache object to store unique values. + * + * @private + * @constructor + * @param {Array} [values] The values to cache. + */ +function SetCache(values) { + var index = -1, + length = values == null ? 0 : values.length; + + this.__data__ = new _MapCache/* default */.Z; + while (++index < length) { + this.add(values[index]); + } +} + +// Add methods to `SetCache`. +SetCache.prototype.add = SetCache.prototype.push = _setCacheAdd; +SetCache.prototype.has = _setCacheHas; + +/* harmony default export */ const _SetCache = (SetCache); + + +/***/ }), + +/***/ 76579: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * A specialized version of `_.forEach` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns `array`. + */ +function arrayEach(array, iteratee) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (iteratee(array[index], index, array) === false) { + break; + } + } + return array; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (arrayEach); + + +/***/ }), + +/***/ 68774: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * A specialized version of `_.filter` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + */ +function arrayFilter(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index]; + if (predicate(value, index, array)) { + result[resIndex++] = value; + } + } + return result; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (arrayFilter); + + +/***/ }), + +/***/ 74073: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * A specialized version of `_.map` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + */ +function arrayMap(array, iteratee) { + var index = -1, + length = array == null ? 0 : array.length, + result = Array(length); + + while (++index < length) { + result[index] = iteratee(array[index], index, array); + } + return result; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (arrayMap); + + +/***/ }), + +/***/ 58694: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * Appends the elements of `values` to `array`. + * + * @private + * @param {Array} array The array to modify. + * @param {Array} values The values to append. + * @returns {Array} Returns `array`. + */ +function arrayPush(array, values) { + var index = -1, + length = values.length, + offset = array.length; + + while (++index < length) { + array[offset + index] = values[index]; + } + return array; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (arrayPush); + + +/***/ }), + +/***/ 48451: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + Z: () => (/* binding */ _baseClone) +}); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_Stack.js + 5 modules +var _Stack = __webpack_require__(31667); +// EXTERNAL MODULE: ./node_modules/lodash-es/_arrayEach.js +var _arrayEach = __webpack_require__(76579); +// EXTERNAL MODULE: ./node_modules/lodash-es/_assignValue.js +var _assignValue = __webpack_require__(72954); +// EXTERNAL MODULE: ./node_modules/lodash-es/_copyObject.js +var _copyObject = __webpack_require__(31899); +// EXTERNAL MODULE: ./node_modules/lodash-es/keys.js +var keys = __webpack_require__(17179); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseAssign.js + + + +/** + * The base implementation of `_.assign` without support for multiple sources + * or `customizer` functions. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @returns {Object} Returns `object`. + */ +function baseAssign(object, source) { + return object && (0,_copyObject/* default */.Z)(source, (0,keys/* default */.Z)(source), object); +} + +/* harmony default export */ const _baseAssign = (baseAssign); + +// EXTERNAL MODULE: ./node_modules/lodash-es/keysIn.js + 2 modules +var keysIn = __webpack_require__(65733); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseAssignIn.js + + + +/** + * The base implementation of `_.assignIn` without support for multiple sources + * or `customizer` functions. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @returns {Object} Returns `object`. + */ +function baseAssignIn(object, source) { + return object && (0,_copyObject/* default */.Z)(source, (0,keysIn/* default */.Z)(source), object); +} + +/* harmony default export */ const _baseAssignIn = (baseAssignIn); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_cloneBuffer.js +var _cloneBuffer = __webpack_require__(91050); +// EXTERNAL MODULE: ./node_modules/lodash-es/_copyArray.js +var _copyArray = __webpack_require__(87215); +// EXTERNAL MODULE: ./node_modules/lodash-es/_getSymbols.js +var _getSymbols = __webpack_require__(95695); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_copySymbols.js + + + +/** + * Copies own symbols of `source` to `object`. + * + * @private + * @param {Object} source The object to copy symbols from. + * @param {Object} [object={}] The object to copy symbols to. + * @returns {Object} Returns `object`. + */ +function copySymbols(source, object) { + return (0,_copyObject/* default */.Z)(source, (0,_getSymbols/* default */.Z)(source), object); +} + +/* harmony default export */ const _copySymbols = (copySymbols); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_arrayPush.js +var _arrayPush = __webpack_require__(58694); +// EXTERNAL MODULE: ./node_modules/lodash-es/_getPrototype.js +var _getPrototype = __webpack_require__(12513); +// EXTERNAL MODULE: ./node_modules/lodash-es/stubArray.js +var stubArray = __webpack_require__(60532); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_getSymbolsIn.js + + + + + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeGetSymbols = Object.getOwnPropertySymbols; + +/** + * Creates an array of the own and inherited enumerable symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of symbols. + */ +var getSymbolsIn = !nativeGetSymbols ? stubArray/* default */.Z : function(object) { + var result = []; + while (object) { + (0,_arrayPush/* default */.Z)(result, (0,_getSymbols/* default */.Z)(object)); + object = (0,_getPrototype/* default */.Z)(object); + } + return result; +}; + +/* harmony default export */ const _getSymbolsIn = (getSymbolsIn); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_copySymbolsIn.js + + + +/** + * Copies own and inherited symbols of `source` to `object`. + * + * @private + * @param {Object} source The object to copy symbols from. + * @param {Object} [object={}] The object to copy symbols to. + * @returns {Object} Returns `object`. + */ +function copySymbolsIn(source, object) { + return (0,_copyObject/* default */.Z)(source, _getSymbolsIn(source), object); +} + +/* harmony default export */ const _copySymbolsIn = (copySymbolsIn); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_getAllKeys.js +var _getAllKeys = __webpack_require__(1808); +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseGetAllKeys.js +var _baseGetAllKeys = __webpack_require__(63327); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_getAllKeysIn.js + + + + +/** + * Creates an array of own and inherited enumerable property names and + * symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names and symbols. + */ +function getAllKeysIn(object) { + return (0,_baseGetAllKeys/* default */.Z)(object, keysIn/* default */.Z, _getSymbolsIn); +} + +/* harmony default export */ const _getAllKeysIn = (getAllKeysIn); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_getTag.js + 3 modules +var _getTag = __webpack_require__(83970); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_initCloneArray.js +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var _initCloneArray_hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Initializes an array clone. + * + * @private + * @param {Array} array The array to clone. + * @returns {Array} Returns the initialized clone. + */ +function initCloneArray(array) { + var length = array.length, + result = new array.constructor(length); + + // Add properties assigned by `RegExp#exec`. + if (length && typeof array[0] == 'string' && _initCloneArray_hasOwnProperty.call(array, 'index')) { + result.index = array.index; + result.input = array.input; + } + return result; +} + +/* harmony default export */ const _initCloneArray = (initCloneArray); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_cloneArrayBuffer.js +var _cloneArrayBuffer = __webpack_require__(41884); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_cloneDataView.js + + +/** + * Creates a clone of `dataView`. + * + * @private + * @param {Object} dataView The data view to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the cloned data view. + */ +function cloneDataView(dataView, isDeep) { + var buffer = isDeep ? (0,_cloneArrayBuffer/* default */.Z)(dataView.buffer) : dataView.buffer; + return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength); +} + +/* harmony default export */ const _cloneDataView = (cloneDataView); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_cloneRegExp.js +/** Used to match `RegExp` flags from their coerced string values. */ +var reFlags = /\w*$/; + +/** + * Creates a clone of `regexp`. + * + * @private + * @param {Object} regexp The regexp to clone. + * @returns {Object} Returns the cloned regexp. + */ +function cloneRegExp(regexp) { + var result = new regexp.constructor(regexp.source, reFlags.exec(regexp)); + result.lastIndex = regexp.lastIndex; + return result; +} + +/* harmony default export */ const _cloneRegExp = (cloneRegExp); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_Symbol.js +var _Symbol = __webpack_require__(17685); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_cloneSymbol.js + + +/** Used to convert symbols to primitives and strings. */ +var symbolProto = _Symbol/* default */.Z ? _Symbol/* default */.Z.prototype : undefined, + symbolValueOf = symbolProto ? symbolProto.valueOf : undefined; + +/** + * Creates a clone of the `symbol` object. + * + * @private + * @param {Object} symbol The symbol object to clone. + * @returns {Object} Returns the cloned symbol object. + */ +function cloneSymbol(symbol) { + return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {}; +} + +/* harmony default export */ const _cloneSymbol = (cloneSymbol); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_cloneTypedArray.js +var _cloneTypedArray = __webpack_require__(12701); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_initCloneByTag.js + + + + + + +/** `Object#toString` result references. */ +var boolTag = '[object Boolean]', + dateTag = '[object Date]', + mapTag = '[object Map]', + numberTag = '[object Number]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + symbolTag = '[object Symbol]'; + +var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]', + float32Tag = '[object Float32Array]', + float64Tag = '[object Float64Array]', + int8Tag = '[object Int8Array]', + int16Tag = '[object Int16Array]', + int32Tag = '[object Int32Array]', + uint8Tag = '[object Uint8Array]', + uint8ClampedTag = '[object Uint8ClampedArray]', + uint16Tag = '[object Uint16Array]', + uint32Tag = '[object Uint32Array]'; + +/** + * Initializes an object clone based on its `toStringTag`. + * + * **Note:** This function only supports cloning values with tags of + * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`. + * + * @private + * @param {Object} object The object to clone. + * @param {string} tag The `toStringTag` of the object to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the initialized clone. + */ +function initCloneByTag(object, tag, isDeep) { + var Ctor = object.constructor; + switch (tag) { + case arrayBufferTag: + return (0,_cloneArrayBuffer/* default */.Z)(object); + + case boolTag: + case dateTag: + return new Ctor(+object); + + case dataViewTag: + return _cloneDataView(object, isDeep); + + case float32Tag: case float64Tag: + case int8Tag: case int16Tag: case int32Tag: + case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag: + return (0,_cloneTypedArray/* default */.Z)(object, isDeep); + + case mapTag: + return new Ctor; + + case numberTag: + case stringTag: + return new Ctor(object); + + case regexpTag: + return _cloneRegExp(object); + + case setTag: + return new Ctor; + + case symbolTag: + return _cloneSymbol(object); + } +} + +/* harmony default export */ const _initCloneByTag = (initCloneByTag); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_initCloneObject.js + 1 modules +var _initCloneObject = __webpack_require__(73658); +// EXTERNAL MODULE: ./node_modules/lodash-es/isArray.js +var isArray = __webpack_require__(27771); +// EXTERNAL MODULE: ./node_modules/lodash-es/isBuffer.js + 1 modules +var isBuffer = __webpack_require__(77008); +// EXTERNAL MODULE: ./node_modules/lodash-es/isObjectLike.js +var isObjectLike = __webpack_require__(18533); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseIsMap.js + + + +/** `Object#toString` result references. */ +var _baseIsMap_mapTag = '[object Map]'; + +/** + * The base implementation of `_.isMap` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a map, else `false`. + */ +function baseIsMap(value) { + return (0,isObjectLike/* default */.Z)(value) && (0,_getTag/* default */.Z)(value) == _baseIsMap_mapTag; +} + +/* harmony default export */ const _baseIsMap = (baseIsMap); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseUnary.js +var _baseUnary = __webpack_require__(21162); +// EXTERNAL MODULE: ./node_modules/lodash-es/_nodeUtil.js +var _nodeUtil = __webpack_require__(98351); +;// CONCATENATED MODULE: ./node_modules/lodash-es/isMap.js + + + + +/* Node.js helper references. */ +var nodeIsMap = _nodeUtil/* default */.Z && _nodeUtil/* default */.Z.isMap; + +/** + * Checks if `value` is classified as a `Map` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a map, else `false`. + * @example + * + * _.isMap(new Map); + * // => true + * + * _.isMap(new WeakMap); + * // => false + */ +var isMap = nodeIsMap ? (0,_baseUnary/* default */.Z)(nodeIsMap) : _baseIsMap; + +/* harmony default export */ const lodash_es_isMap = (isMap); + +// EXTERNAL MODULE: ./node_modules/lodash-es/isObject.js +var isObject = __webpack_require__(77226); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseIsSet.js + + + +/** `Object#toString` result references. */ +var _baseIsSet_setTag = '[object Set]'; + +/** + * The base implementation of `_.isSet` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a set, else `false`. + */ +function baseIsSet(value) { + return (0,isObjectLike/* default */.Z)(value) && (0,_getTag/* default */.Z)(value) == _baseIsSet_setTag; +} + +/* harmony default export */ const _baseIsSet = (baseIsSet); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/isSet.js + + + + +/* Node.js helper references. */ +var nodeIsSet = _nodeUtil/* default */.Z && _nodeUtil/* default */.Z.isSet; + +/** + * Checks if `value` is classified as a `Set` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a set, else `false`. + * @example + * + * _.isSet(new Set); + * // => true + * + * _.isSet(new WeakSet); + * // => false + */ +var isSet = nodeIsSet ? (0,_baseUnary/* default */.Z)(nodeIsSet) : _baseIsSet; + +/* harmony default export */ const lodash_es_isSet = (isSet); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseClone.js + + + + + + + + + + + + + + + + + + + + + + + +/** Used to compose bitmasks for cloning. */ +var CLONE_DEEP_FLAG = 1, + CLONE_FLAT_FLAG = 2, + CLONE_SYMBOLS_FLAG = 4; + +/** `Object#toString` result references. */ +var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + _baseClone_boolTag = '[object Boolean]', + _baseClone_dateTag = '[object Date]', + errorTag = '[object Error]', + funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + _baseClone_mapTag = '[object Map]', + _baseClone_numberTag = '[object Number]', + objectTag = '[object Object]', + _baseClone_regexpTag = '[object RegExp]', + _baseClone_setTag = '[object Set]', + _baseClone_stringTag = '[object String]', + _baseClone_symbolTag = '[object Symbol]', + weakMapTag = '[object WeakMap]'; + +var _baseClone_arrayBufferTag = '[object ArrayBuffer]', + _baseClone_dataViewTag = '[object DataView]', + _baseClone_float32Tag = '[object Float32Array]', + _baseClone_float64Tag = '[object Float64Array]', + _baseClone_int8Tag = '[object Int8Array]', + _baseClone_int16Tag = '[object Int16Array]', + _baseClone_int32Tag = '[object Int32Array]', + _baseClone_uint8Tag = '[object Uint8Array]', + _baseClone_uint8ClampedTag = '[object Uint8ClampedArray]', + _baseClone_uint16Tag = '[object Uint16Array]', + _baseClone_uint32Tag = '[object Uint32Array]'; + +/** Used to identify `toStringTag` values supported by `_.clone`. */ +var cloneableTags = {}; +cloneableTags[argsTag] = cloneableTags[arrayTag] = +cloneableTags[_baseClone_arrayBufferTag] = cloneableTags[_baseClone_dataViewTag] = +cloneableTags[_baseClone_boolTag] = cloneableTags[_baseClone_dateTag] = +cloneableTags[_baseClone_float32Tag] = cloneableTags[_baseClone_float64Tag] = +cloneableTags[_baseClone_int8Tag] = cloneableTags[_baseClone_int16Tag] = +cloneableTags[_baseClone_int32Tag] = cloneableTags[_baseClone_mapTag] = +cloneableTags[_baseClone_numberTag] = cloneableTags[objectTag] = +cloneableTags[_baseClone_regexpTag] = cloneableTags[_baseClone_setTag] = +cloneableTags[_baseClone_stringTag] = cloneableTags[_baseClone_symbolTag] = +cloneableTags[_baseClone_uint8Tag] = cloneableTags[_baseClone_uint8ClampedTag] = +cloneableTags[_baseClone_uint16Tag] = cloneableTags[_baseClone_uint32Tag] = true; +cloneableTags[errorTag] = cloneableTags[funcTag] = +cloneableTags[weakMapTag] = false; + +/** + * The base implementation of `_.clone` and `_.cloneDeep` which tracks + * traversed objects. + * + * @private + * @param {*} value The value to clone. + * @param {boolean} bitmask The bitmask flags. + * 1 - Deep clone + * 2 - Flatten inherited properties + * 4 - Clone symbols + * @param {Function} [customizer] The function to customize cloning. + * @param {string} [key] The key of `value`. + * @param {Object} [object] The parent object of `value`. + * @param {Object} [stack] Tracks traversed objects and their clone counterparts. + * @returns {*} Returns the cloned value. + */ +function baseClone(value, bitmask, customizer, key, object, stack) { + var result, + isDeep = bitmask & CLONE_DEEP_FLAG, + isFlat = bitmask & CLONE_FLAT_FLAG, + isFull = bitmask & CLONE_SYMBOLS_FLAG; + + if (customizer) { + result = object ? customizer(value, key, object, stack) : customizer(value); + } + if (result !== undefined) { + return result; + } + if (!(0,isObject/* default */.Z)(value)) { + return value; + } + var isArr = (0,isArray/* default */.Z)(value); + if (isArr) { + result = _initCloneArray(value); + if (!isDeep) { + return (0,_copyArray/* default */.Z)(value, result); + } + } else { + var tag = (0,_getTag/* default */.Z)(value), + isFunc = tag == funcTag || tag == genTag; + + if ((0,isBuffer/* default */.Z)(value)) { + return (0,_cloneBuffer/* default */.Z)(value, isDeep); + } + if (tag == objectTag || tag == argsTag || (isFunc && !object)) { + result = (isFlat || isFunc) ? {} : (0,_initCloneObject/* default */.Z)(value); + if (!isDeep) { + return isFlat + ? _copySymbolsIn(value, _baseAssignIn(result, value)) + : _copySymbols(value, _baseAssign(result, value)); + } + } else { + if (!cloneableTags[tag]) { + return object ? value : {}; + } + result = _initCloneByTag(value, tag, isDeep); + } + } + // Check for circular references and return its corresponding clone. + stack || (stack = new _Stack/* default */.Z); + var stacked = stack.get(value); + if (stacked) { + return stacked; + } + stack.set(value, result); + + if (lodash_es_isSet(value)) { + value.forEach(function(subValue) { + result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack)); + }); + } else if (lodash_es_isMap(value)) { + value.forEach(function(subValue, key) { + result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack)); + }); + } + + var keysFunc = isFull + ? (isFlat ? _getAllKeysIn : _getAllKeys/* default */.Z) + : (isFlat ? keysIn/* default */.Z : keys/* default */.Z); + + var props = isArr ? undefined : keysFunc(value); + (0,_arrayEach/* default */.Z)(props || value, function(subValue, key) { + if (props) { + key = subValue; + subValue = value[key]; + } + // Recursively populate clone (susceptible to call stack limits). + (0,_assignValue/* default */.Z)(result, key, baseClone(subValue, bitmask, customizer, key, value, stack)); + }); + return result; +} + +/* harmony default export */ const _baseClone = (baseClone); + + +/***/ }), + +/***/ 49811: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + Z: () => (/* binding */ _baseEach) +}); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseForOwn.js +var _baseForOwn = __webpack_require__(2693); +// EXTERNAL MODULE: ./node_modules/lodash-es/isArrayLike.js +var isArrayLike = __webpack_require__(50585); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_createBaseEach.js + + +/** + * Creates a `baseEach` or `baseEachRight` function. + * + * @private + * @param {Function} eachFunc The function to iterate over a collection. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ +function createBaseEach(eachFunc, fromRight) { + return function(collection, iteratee) { + if (collection == null) { + return collection; + } + if (!(0,isArrayLike/* default */.Z)(collection)) { + return eachFunc(collection, iteratee); + } + var length = collection.length, + index = fromRight ? length : -1, + iterable = Object(collection); + + while ((fromRight ? index-- : ++index < length)) { + if (iteratee(iterable[index], index, iterable) === false) { + break; + } + } + return collection; + }; +} + +/* harmony default export */ const _createBaseEach = (createBaseEach); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseEach.js + + + +/** + * The base implementation of `_.forEach` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + */ +var baseEach = _createBaseEach(_baseForOwn/* default */.Z); + +/* harmony default export */ const _baseEach = (baseEach); + + +/***/ }), + +/***/ 21692: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * The base implementation of `_.findIndex` and `_.findLastIndex` without + * support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} predicate The function invoked per iteration. + * @param {number} fromIndex The index to search from. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function baseFindIndex(array, predicate, fromIndex, fromRight) { + var length = array.length, + index = fromIndex + (fromRight ? 1 : -1); + + while ((fromRight ? index-- : ++index < length)) { + if (predicate(array[index], index, array)) { + return index; + } + } + return -1; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (baseFindIndex); + + +/***/ }), + +/***/ 10626: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + Z: () => (/* binding */ _baseFlatten) +}); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_arrayPush.js +var _arrayPush = __webpack_require__(58694); +// EXTERNAL MODULE: ./node_modules/lodash-es/_Symbol.js +var _Symbol = __webpack_require__(17685); +// EXTERNAL MODULE: ./node_modules/lodash-es/isArguments.js + 1 modules +var isArguments = __webpack_require__(29169); +// EXTERNAL MODULE: ./node_modules/lodash-es/isArray.js +var isArray = __webpack_require__(27771); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_isFlattenable.js + + + + +/** Built-in value references. */ +var spreadableSymbol = _Symbol/* default */.Z ? _Symbol/* default */.Z.isConcatSpreadable : undefined; + +/** + * Checks if `value` is a flattenable `arguments` object or array. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is flattenable, else `false`. + */ +function isFlattenable(value) { + return (0,isArray/* default */.Z)(value) || (0,isArguments/* default */.Z)(value) || + !!(spreadableSymbol && value && value[spreadableSymbol]); +} + +/* harmony default export */ const _isFlattenable = (isFlattenable); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseFlatten.js + + + +/** + * The base implementation of `_.flatten` with support for restricting flattening. + * + * @private + * @param {Array} array The array to flatten. + * @param {number} depth The maximum recursion depth. + * @param {boolean} [predicate=isFlattenable] The function invoked per iteration. + * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks. + * @param {Array} [result=[]] The initial result value. + * @returns {Array} Returns the new flattened array. + */ +function baseFlatten(array, depth, predicate, isStrict, result) { + var index = -1, + length = array.length; + + predicate || (predicate = _isFlattenable); + result || (result = []); + + while (++index < length) { + var value = array[index]; + if (depth > 0 && predicate(value)) { + if (depth > 1) { + // Recursively flatten arrays (susceptible to call stack limits). + baseFlatten(value, depth - 1, predicate, isStrict, result); + } else { + (0,_arrayPush/* default */.Z)(result, value); + } + } else if (!isStrict) { + result[result.length] = value; + } + } + return result; +} + +/* harmony default export */ const _baseFlatten = (baseFlatten); + + +/***/ }), + +/***/ 2693: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _baseFor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(61395); +/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(17179); + + + +/** + * The base implementation of `_.forOwn` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Object} Returns `object`. + */ +function baseForOwn(object, iteratee) { + return object && (0,_baseFor_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(object, iteratee, _keys_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z); +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (baseForOwn); + + +/***/ }), + +/***/ 13317: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _castPath_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(22823); +/* harmony import */ var _toKey_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(62281); + + + +/** + * The base implementation of `_.get` without support for default values. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @returns {*} Returns the resolved value. + */ +function baseGet(object, path) { + path = (0,_castPath_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(path, object); + + var index = 0, + length = path.length; + + while (object != null && index < length) { + object = object[(0,_toKey_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z)(path[index++])]; + } + return (index && index == length) ? object : undefined; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (baseGet); + + +/***/ }), + +/***/ 63327: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _arrayPush_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(58694); +/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27771); + + + +/** + * The base implementation of `getAllKeys` and `getAllKeysIn` which uses + * `keysFunc` and `symbolsFunc` to get the enumerable property names and + * symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Function} keysFunc The function to get the keys of `object`. + * @param {Function} symbolsFunc The function to get the symbols of `object`. + * @returns {Array} Returns the array of property names and symbols. + */ +function baseGetAllKeys(object, keysFunc, symbolsFunc) { + var result = keysFunc(object); + return (0,_isArray_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(object) ? result : (0,_arrayPush_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z)(result, symbolsFunc(object)); +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (baseGetAllKeys); + + +/***/ }), + +/***/ 74765: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + Z: () => (/* binding */ _baseIteratee) +}); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_Stack.js + 5 modules +var _Stack = __webpack_require__(31667); +// EXTERNAL MODULE: ./node_modules/lodash-es/_SetCache.js + 2 modules +var _SetCache = __webpack_require__(63001); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_arraySome.js +/** + * A specialized version of `_.some` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + */ +function arraySome(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (predicate(array[index], index, array)) { + return true; + } + } + return false; +} + +/* harmony default export */ const _arraySome = (arraySome); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_cacheHas.js +var _cacheHas = __webpack_require__(59548); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_equalArrays.js + + + + +/** Used to compose bitmasks for value comparisons. */ +var COMPARE_PARTIAL_FLAG = 1, + COMPARE_UNORDERED_FLAG = 2; + +/** + * A specialized version of `baseIsEqualDeep` for arrays with support for + * partial deep comparisons. + * + * @private + * @param {Array} array The array to compare. + * @param {Array} other The other array to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `array` and `other` objects. + * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. + */ +function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG, + arrLength = array.length, + othLength = other.length; + + if (arrLength != othLength && !(isPartial && othLength > arrLength)) { + return false; + } + // Check that cyclic values are equal. + var arrStacked = stack.get(array); + var othStacked = stack.get(other); + if (arrStacked && othStacked) { + return arrStacked == other && othStacked == array; + } + var index = -1, + result = true, + seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new _SetCache/* default */.Z : undefined; + + stack.set(array, other); + stack.set(other, array); + + // Ignore non-index properties. + while (++index < arrLength) { + var arrValue = array[index], + othValue = other[index]; + + if (customizer) { + var compared = isPartial + ? customizer(othValue, arrValue, index, other, array, stack) + : customizer(arrValue, othValue, index, array, other, stack); + } + if (compared !== undefined) { + if (compared) { + continue; + } + result = false; + break; + } + // Recursively compare arrays (susceptible to call stack limits). + if (seen) { + if (!_arraySome(other, function(othValue, othIndex) { + if (!(0,_cacheHas/* default */.Z)(seen, othIndex) && + (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { + return seen.push(othIndex); + } + })) { + result = false; + break; + } + } else if (!( + arrValue === othValue || + equalFunc(arrValue, othValue, bitmask, customizer, stack) + )) { + result = false; + break; + } + } + stack['delete'](array); + stack['delete'](other); + return result; +} + +/* harmony default export */ const _equalArrays = (equalArrays); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_Symbol.js +var _Symbol = __webpack_require__(17685); +// EXTERNAL MODULE: ./node_modules/lodash-es/_Uint8Array.js +var _Uint8Array = __webpack_require__(84073); +// EXTERNAL MODULE: ./node_modules/lodash-es/eq.js +var eq = __webpack_require__(79651); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_mapToArray.js +/** + * Converts `map` to its key-value pairs. + * + * @private + * @param {Object} map The map to convert. + * @returns {Array} Returns the key-value pairs. + */ +function mapToArray(map) { + var index = -1, + result = Array(map.size); + + map.forEach(function(value, key) { + result[++index] = [key, value]; + }); + return result; +} + +/* harmony default export */ const _mapToArray = (mapToArray); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_setToArray.js +var _setToArray = __webpack_require__(6545); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_equalByTag.js + + + + + + + +/** Used to compose bitmasks for value comparisons. */ +var _equalByTag_COMPARE_PARTIAL_FLAG = 1, + _equalByTag_COMPARE_UNORDERED_FLAG = 2; + +/** `Object#toString` result references. */ +var boolTag = '[object Boolean]', + dateTag = '[object Date]', + errorTag = '[object Error]', + mapTag = '[object Map]', + numberTag = '[object Number]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + symbolTag = '[object Symbol]'; + +var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]'; + +/** Used to convert symbols to primitives and strings. */ +var symbolProto = _Symbol/* default */.Z ? _Symbol/* default */.Z.prototype : undefined, + symbolValueOf = symbolProto ? symbolProto.valueOf : undefined; + +/** + * A specialized version of `baseIsEqualDeep` for comparing objects of + * the same `toStringTag`. + * + * **Note:** This function only supports comparing values with tags of + * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {string} tag The `toStringTag` of the objects to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { + switch (tag) { + case dataViewTag: + if ((object.byteLength != other.byteLength) || + (object.byteOffset != other.byteOffset)) { + return false; + } + object = object.buffer; + other = other.buffer; + + case arrayBufferTag: + if ((object.byteLength != other.byteLength) || + !equalFunc(new _Uint8Array/* default */.Z(object), new _Uint8Array/* default */.Z(other))) { + return false; + } + return true; + + case boolTag: + case dateTag: + case numberTag: + // Coerce booleans to `1` or `0` and dates to milliseconds. + // Invalid dates are coerced to `NaN`. + return (0,eq/* default */.Z)(+object, +other); + + case errorTag: + return object.name == other.name && object.message == other.message; + + case regexpTag: + case stringTag: + // Coerce regexes to strings and treat strings, primitives and objects, + // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring + // for more details. + return object == (other + ''); + + case mapTag: + var convert = _mapToArray; + + case setTag: + var isPartial = bitmask & _equalByTag_COMPARE_PARTIAL_FLAG; + convert || (convert = _setToArray/* default */.Z); + + if (object.size != other.size && !isPartial) { + return false; + } + // Assume cyclic values are equal. + var stacked = stack.get(object); + if (stacked) { + return stacked == other; + } + bitmask |= _equalByTag_COMPARE_UNORDERED_FLAG; + + // Recursively compare objects (susceptible to call stack limits). + stack.set(object, other); + var result = _equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); + stack['delete'](object); + return result; + + case symbolTag: + if (symbolValueOf) { + return symbolValueOf.call(object) == symbolValueOf.call(other); + } + } + return false; +} + +/* harmony default export */ const _equalByTag = (equalByTag); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_getAllKeys.js +var _getAllKeys = __webpack_require__(1808); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_equalObjects.js + + +/** Used to compose bitmasks for value comparisons. */ +var _equalObjects_COMPARE_PARTIAL_FLAG = 1; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var _equalObjects_hasOwnProperty = objectProto.hasOwnProperty; + +/** + * A specialized version of `baseIsEqualDeep` for objects with support for + * partial deep comparisons. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & _equalObjects_COMPARE_PARTIAL_FLAG, + objProps = (0,_getAllKeys/* default */.Z)(object), + objLength = objProps.length, + othProps = (0,_getAllKeys/* default */.Z)(other), + othLength = othProps.length; + + if (objLength != othLength && !isPartial) { + return false; + } + var index = objLength; + while (index--) { + var key = objProps[index]; + if (!(isPartial ? key in other : _equalObjects_hasOwnProperty.call(other, key))) { + return false; + } + } + // Check that cyclic values are equal. + var objStacked = stack.get(object); + var othStacked = stack.get(other); + if (objStacked && othStacked) { + return objStacked == other && othStacked == object; + } + var result = true; + stack.set(object, other); + stack.set(other, object); + + var skipCtor = isPartial; + while (++index < objLength) { + key = objProps[index]; + var objValue = object[key], + othValue = other[key]; + + if (customizer) { + var compared = isPartial + ? customizer(othValue, objValue, key, other, object, stack) + : customizer(objValue, othValue, key, object, other, stack); + } + // Recursively compare objects (susceptible to call stack limits). + if (!(compared === undefined + ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack)) + : compared + )) { + result = false; + break; + } + skipCtor || (skipCtor = key == 'constructor'); + } + if (result && !skipCtor) { + var objCtor = object.constructor, + othCtor = other.constructor; + + // Non `Object` object instances with different constructors are not equal. + if (objCtor != othCtor && + ('constructor' in object && 'constructor' in other) && + !(typeof objCtor == 'function' && objCtor instanceof objCtor && + typeof othCtor == 'function' && othCtor instanceof othCtor)) { + result = false; + } + } + stack['delete'](object); + stack['delete'](other); + return result; +} + +/* harmony default export */ const _equalObjects = (equalObjects); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_getTag.js + 3 modules +var _getTag = __webpack_require__(83970); +// EXTERNAL MODULE: ./node_modules/lodash-es/isArray.js +var isArray = __webpack_require__(27771); +// EXTERNAL MODULE: ./node_modules/lodash-es/isBuffer.js + 1 modules +var isBuffer = __webpack_require__(77008); +// EXTERNAL MODULE: ./node_modules/lodash-es/isTypedArray.js + 1 modules +var isTypedArray = __webpack_require__(18843); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseIsEqualDeep.js + + + + + + + + + +/** Used to compose bitmasks for value comparisons. */ +var _baseIsEqualDeep_COMPARE_PARTIAL_FLAG = 1; + +/** `Object#toString` result references. */ +var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + objectTag = '[object Object]'; + +/** Used for built-in method references. */ +var _baseIsEqualDeep_objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var _baseIsEqualDeep_hasOwnProperty = _baseIsEqualDeep_objectProto.hasOwnProperty; + +/** + * A specialized version of `baseIsEqual` for arrays and objects which performs + * deep comparisons and tracks traversed objects enabling objects with circular + * references to be compared. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} [stack] Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { + var objIsArr = (0,isArray/* default */.Z)(object), + othIsArr = (0,isArray/* default */.Z)(other), + objTag = objIsArr ? arrayTag : (0,_getTag/* default */.Z)(object), + othTag = othIsArr ? arrayTag : (0,_getTag/* default */.Z)(other); + + objTag = objTag == argsTag ? objectTag : objTag; + othTag = othTag == argsTag ? objectTag : othTag; + + var objIsObj = objTag == objectTag, + othIsObj = othTag == objectTag, + isSameTag = objTag == othTag; + + if (isSameTag && (0,isBuffer/* default */.Z)(object)) { + if (!(0,isBuffer/* default */.Z)(other)) { + return false; + } + objIsArr = true; + objIsObj = false; + } + if (isSameTag && !objIsObj) { + stack || (stack = new _Stack/* default */.Z); + return (objIsArr || (0,isTypedArray/* default */.Z)(object)) + ? _equalArrays(object, other, bitmask, customizer, equalFunc, stack) + : _equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); + } + if (!(bitmask & _baseIsEqualDeep_COMPARE_PARTIAL_FLAG)) { + var objIsWrapped = objIsObj && _baseIsEqualDeep_hasOwnProperty.call(object, '__wrapped__'), + othIsWrapped = othIsObj && _baseIsEqualDeep_hasOwnProperty.call(other, '__wrapped__'); + + if (objIsWrapped || othIsWrapped) { + var objUnwrapped = objIsWrapped ? object.value() : object, + othUnwrapped = othIsWrapped ? other.value() : other; + + stack || (stack = new _Stack/* default */.Z); + return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); + } + } + if (!isSameTag) { + return false; + } + stack || (stack = new _Stack/* default */.Z); + return _equalObjects(object, other, bitmask, customizer, equalFunc, stack); +} + +/* harmony default export */ const _baseIsEqualDeep = (baseIsEqualDeep); + +// EXTERNAL MODULE: ./node_modules/lodash-es/isObjectLike.js +var isObjectLike = __webpack_require__(18533); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseIsEqual.js + + + +/** + * The base implementation of `_.isEqual` which supports partial comparisons + * and tracks traversed objects. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @param {boolean} bitmask The bitmask flags. + * 1 - Unordered comparison + * 2 - Partial comparison + * @param {Function} [customizer] The function to customize comparisons. + * @param {Object} [stack] Tracks traversed `value` and `other` objects. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + */ +function baseIsEqual(value, other, bitmask, customizer, stack) { + if (value === other) { + return true; + } + if (value == null || other == null || (!(0,isObjectLike/* default */.Z)(value) && !(0,isObjectLike/* default */.Z)(other))) { + return value !== value && other !== other; + } + return _baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); +} + +/* harmony default export */ const _baseIsEqual = (baseIsEqual); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseIsMatch.js + + + +/** Used to compose bitmasks for value comparisons. */ +var _baseIsMatch_COMPARE_PARTIAL_FLAG = 1, + _baseIsMatch_COMPARE_UNORDERED_FLAG = 2; + +/** + * The base implementation of `_.isMatch` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to inspect. + * @param {Object} source The object of property values to match. + * @param {Array} matchData The property names, values, and compare flags to match. + * @param {Function} [customizer] The function to customize comparisons. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + */ +function baseIsMatch(object, source, matchData, customizer) { + var index = matchData.length, + length = index, + noCustomizer = !customizer; + + if (object == null) { + return !length; + } + object = Object(object); + while (index--) { + var data = matchData[index]; + if ((noCustomizer && data[2]) + ? data[1] !== object[data[0]] + : !(data[0] in object) + ) { + return false; + } + } + while (++index < length) { + data = matchData[index]; + var key = data[0], + objValue = object[key], + srcValue = data[1]; + + if (noCustomizer && data[2]) { + if (objValue === undefined && !(key in object)) { + return false; + } + } else { + var stack = new _Stack/* default */.Z; + if (customizer) { + var result = customizer(objValue, srcValue, key, object, source, stack); + } + if (!(result === undefined + ? _baseIsEqual(srcValue, objValue, _baseIsMatch_COMPARE_PARTIAL_FLAG | _baseIsMatch_COMPARE_UNORDERED_FLAG, customizer, stack) + : result + )) { + return false; + } + } + } + return true; +} + +/* harmony default export */ const _baseIsMatch = (baseIsMatch); + +// EXTERNAL MODULE: ./node_modules/lodash-es/isObject.js +var isObject = __webpack_require__(77226); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_isStrictComparable.js + + +/** + * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` if suitable for strict + * equality comparisons, else `false`. + */ +function isStrictComparable(value) { + return value === value && !(0,isObject/* default */.Z)(value); +} + +/* harmony default export */ const _isStrictComparable = (isStrictComparable); + +// EXTERNAL MODULE: ./node_modules/lodash-es/keys.js +var keys = __webpack_require__(17179); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_getMatchData.js + + + +/** + * Gets the property names, values, and compare flags of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the match data of `object`. + */ +function getMatchData(object) { + var result = (0,keys/* default */.Z)(object), + length = result.length; + + while (length--) { + var key = result[length], + value = object[key]; + + result[length] = [key, value, _isStrictComparable(value)]; + } + return result; +} + +/* harmony default export */ const _getMatchData = (getMatchData); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_matchesStrictComparable.js +/** + * A specialized version of `matchesProperty` for source values suitable + * for strict equality comparisons, i.e. `===`. + * + * @private + * @param {string} key The key of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ +function matchesStrictComparable(key, srcValue) { + return function(object) { + if (object == null) { + return false; + } + return object[key] === srcValue && + (srcValue !== undefined || (key in Object(object))); + }; +} + +/* harmony default export */ const _matchesStrictComparable = (matchesStrictComparable); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseMatches.js + + + + +/** + * The base implementation of `_.matches` which doesn't clone `source`. + * + * @private + * @param {Object} source The object of property values to match. + * @returns {Function} Returns the new spec function. + */ +function baseMatches(source) { + var matchData = _getMatchData(source); + if (matchData.length == 1 && matchData[0][2]) { + return _matchesStrictComparable(matchData[0][0], matchData[0][1]); + } + return function(object) { + return object === source || _baseIsMatch(object, source, matchData); + }; +} + +/* harmony default export */ const _baseMatches = (baseMatches); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseGet.js +var _baseGet = __webpack_require__(13317); +;// CONCATENATED MODULE: ./node_modules/lodash-es/get.js + + +/** + * Gets the value at `path` of `object`. If the resolved value is + * `undefined`, the `defaultValue` is returned in its place. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @param {*} [defaultValue] The value returned for `undefined` resolved values. + * @returns {*} Returns the resolved value. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.get(object, 'a[0].b.c'); + * // => 3 + * + * _.get(object, ['a', '0', 'b', 'c']); + * // => 3 + * + * _.get(object, 'a.b.c', 'default'); + * // => 'default' + */ +function get(object, path, defaultValue) { + var result = object == null ? undefined : (0,_baseGet/* default */.Z)(object, path); + return result === undefined ? defaultValue : result; +} + +/* harmony default export */ const lodash_es_get = (get); + +// EXTERNAL MODULE: ./node_modules/lodash-es/hasIn.js + 1 modules +var hasIn = __webpack_require__(75487); +// EXTERNAL MODULE: ./node_modules/lodash-es/_isKey.js +var _isKey = __webpack_require__(99365); +// EXTERNAL MODULE: ./node_modules/lodash-es/_toKey.js +var _toKey = __webpack_require__(62281); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseMatchesProperty.js + + + + + + + + +/** Used to compose bitmasks for value comparisons. */ +var _baseMatchesProperty_COMPARE_PARTIAL_FLAG = 1, + _baseMatchesProperty_COMPARE_UNORDERED_FLAG = 2; + +/** + * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`. + * + * @private + * @param {string} path The path of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ +function baseMatchesProperty(path, srcValue) { + if ((0,_isKey/* default */.Z)(path) && _isStrictComparable(srcValue)) { + return _matchesStrictComparable((0,_toKey/* default */.Z)(path), srcValue); + } + return function(object) { + var objValue = lodash_es_get(object, path); + return (objValue === undefined && objValue === srcValue) + ? (0,hasIn/* default */.Z)(object, path) + : _baseIsEqual(srcValue, objValue, _baseMatchesProperty_COMPARE_PARTIAL_FLAG | _baseMatchesProperty_COMPARE_UNORDERED_FLAG); + }; +} + +/* harmony default export */ const _baseMatchesProperty = (baseMatchesProperty); + +// EXTERNAL MODULE: ./node_modules/lodash-es/identity.js +var identity = __webpack_require__(69203); +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseProperty.js +var _baseProperty = __webpack_require__(54193); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_basePropertyDeep.js + + +/** + * A specialized version of `baseProperty` which supports deep paths. + * + * @private + * @param {Array|string} path The path of the property to get. + * @returns {Function} Returns the new accessor function. + */ +function basePropertyDeep(path) { + return function(object) { + return (0,_baseGet/* default */.Z)(object, path); + }; +} + +/* harmony default export */ const _basePropertyDeep = (basePropertyDeep); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/property.js + + + + + +/** + * Creates a function that returns the value at `path` of a given object. + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Util + * @param {Array|string} path The path of the property to get. + * @returns {Function} Returns the new accessor function. + * @example + * + * var objects = [ + * { 'a': { 'b': 2 } }, + * { 'a': { 'b': 1 } } + * ]; + * + * _.map(objects, _.property('a.b')); + * // => [2, 1] + * + * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b'); + * // => [1, 2] + */ +function property(path) { + return (0,_isKey/* default */.Z)(path) ? (0,_baseProperty/* default */.Z)((0,_toKey/* default */.Z)(path)) : _basePropertyDeep(path); +} + +/* harmony default export */ const lodash_es_property = (property); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseIteratee.js + + + + + + +/** + * The base implementation of `_.iteratee`. + * + * @private + * @param {*} [value=_.identity] The value to convert to an iteratee. + * @returns {Function} Returns the iteratee. + */ +function baseIteratee(value) { + // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9. + // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details. + if (typeof value == 'function') { + return value; + } + if (value == null) { + return identity/* default */.Z; + } + if (typeof value == 'object') { + return (0,isArray/* default */.Z)(value) + ? _baseMatchesProperty(value[0], value[1]) + : _baseMatches(value); + } + return lodash_es_property(value); +} + +/* harmony default export */ const _baseIteratee = (baseIteratee); + + +/***/ }), + +/***/ 21018: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _baseEach_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(49811); +/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50585); + + + +/** + * The base implementation of `_.map` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + */ +function baseMap(collection, iteratee) { + var index = -1, + result = (0,_isArrayLike_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(collection) ? Array(collection.length) : []; + + (0,_baseEach_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z)(collection, function(value, key, collection) { + result[++index] = iteratee(value, key, collection); + }); + return result; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (baseMap); + + +/***/ }), + +/***/ 54193: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * The base implementation of `_.property` without support for deep paths. + * + * @private + * @param {string} key The key of the property to get. + * @returns {Function} Returns the new accessor function. + */ +function baseProperty(key) { + return function(object) { + return object == null ? undefined : object[key]; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (baseProperty); + + +/***/ }), + +/***/ 59548: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * Checks if a `cache` value for `key` exists. + * + * @private + * @param {Object} cache The cache to query. + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function cacheHas(cache, key) { + return cache.has(key); +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (cacheHas); + + +/***/ }), + +/***/ 68882: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _identity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69203); + + +/** + * Casts `value` to `identity` if it's not a function. + * + * @private + * @param {*} value The value to inspect. + * @returns {Function} Returns cast function. + */ +function castFunction(value) { + return typeof value == 'function' ? value : _identity_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (castFunction); + + +/***/ }), + +/***/ 22823: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + Z: () => (/* binding */ _castPath) +}); + +// EXTERNAL MODULE: ./node_modules/lodash-es/isArray.js +var isArray = __webpack_require__(27771); +// EXTERNAL MODULE: ./node_modules/lodash-es/_isKey.js +var _isKey = __webpack_require__(99365); +// EXTERNAL MODULE: ./node_modules/lodash-es/memoize.js +var memoize = __webpack_require__(16821); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_memoizeCapped.js + + +/** Used as the maximum memoize cache size. */ +var MAX_MEMOIZE_SIZE = 500; + +/** + * A specialized version of `_.memoize` which clears the memoized function's + * cache when it exceeds `MAX_MEMOIZE_SIZE`. + * + * @private + * @param {Function} func The function to have its output memoized. + * @returns {Function} Returns the new memoized function. + */ +function memoizeCapped(func) { + var result = (0,memoize/* default */.Z)(func, function(key) { + if (cache.size === MAX_MEMOIZE_SIZE) { + cache.clear(); + } + return key; + }); + + var cache = result.cache; + return result; +} + +/* harmony default export */ const _memoizeCapped = (memoizeCapped); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_stringToPath.js + + +/** Used to match property names within property paths. */ +var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; + +/** Used to match backslashes in property paths. */ +var reEscapeChar = /\\(\\)?/g; + +/** + * Converts `string` to a property path array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the property path array. + */ +var stringToPath = _memoizeCapped(function(string) { + var result = []; + if (string.charCodeAt(0) === 46 /* . */) { + result.push(''); + } + string.replace(rePropName, function(match, number, quote, subString) { + result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match)); + }); + return result; +}); + +/* harmony default export */ const _stringToPath = (stringToPath); + +// EXTERNAL MODULE: ./node_modules/lodash-es/toString.js + 1 modules +var lodash_es_toString = __webpack_require__(50751); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_castPath.js + + + + + +/** + * Casts `value` to a path array if it's not one. + * + * @private + * @param {*} value The value to inspect. + * @param {Object} [object] The object to query keys on. + * @returns {Array} Returns the cast property path array. + */ +function castPath(value, object) { + if ((0,isArray/* default */.Z)(value)) { + return value; + } + return (0,_isKey/* default */.Z)(value, object) ? [value] : _stringToPath((0,lodash_es_toString/* default */.Z)(value)); +} + +/* harmony default export */ const _castPath = (castPath); + + +/***/ }), + +/***/ 1808: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _baseGetAllKeys_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(63327); +/* harmony import */ var _getSymbols_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(95695); +/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(17179); + + + + +/** + * Creates an array of own enumerable property names and symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names and symbols. + */ +function getAllKeys(object) { + return (0,_baseGetAllKeys_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(object, _keys_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, _getSymbols_js__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z); +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (getAllKeys); + + +/***/ }), + +/***/ 95695: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _arrayFilter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(68774); +/* harmony import */ var _stubArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(60532); + + + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Built-in value references. */ +var propertyIsEnumerable = objectProto.propertyIsEnumerable; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeGetSymbols = Object.getOwnPropertySymbols; + +/** + * Creates an array of the own enumerable symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of symbols. + */ +var getSymbols = !nativeGetSymbols ? _stubArray_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z : function(object) { + if (object == null) { + return []; + } + object = Object(object); + return (0,_arrayFilter_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z)(nativeGetSymbols(object), function(symbol) { + return propertyIsEnumerable.call(object, symbol); + }); +}; + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (getSymbols); + + +/***/ }), + +/***/ 16174: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _castPath_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(22823); +/* harmony import */ var _isArguments_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(29169); +/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(27771); +/* harmony import */ var _isIndex_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(56009); +/* harmony import */ var _isLength_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1656); +/* harmony import */ var _toKey_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(62281); + + + + + + + +/** + * Checks if `path` exists on `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @param {Function} hasFunc The function to check properties. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + */ +function hasPath(object, path, hasFunc) { + path = (0,_castPath_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(path, object); + + var index = -1, + length = path.length, + result = false; + + while (++index < length) { + var key = (0,_toKey_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z)(path[index]); + if (!(result = object != null && hasFunc(object, key))) { + break; + } + object = object[key]; + } + if (result || ++index != length) { + return result; + } + length = object == null ? 0 : object.length; + return !!length && (0,_isLength_js__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z)(length) && (0,_isIndex_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z)(key, length) && + ((0,_isArray_js__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(object) || (0,_isArguments_js__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z)(object)); +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (hasPath); + + +/***/ }), + +/***/ 99365: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27771); +/* harmony import */ var _isSymbol_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(72714); + + + +/** Used to match property names within property paths. */ +var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + reIsPlainProp = /^\w*$/; + +/** + * Checks if `value` is a property name and not a property path. + * + * @private + * @param {*} value The value to check. + * @param {Object} [object] The object to query keys on. + * @returns {boolean} Returns `true` if `value` is a property name, else `false`. + */ +function isKey(value, object) { + if ((0,_isArray_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(value)) { + return false; + } + var type = typeof value; + if (type == 'number' || type == 'symbol' || type == 'boolean' || + value == null || (0,_isSymbol_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z)(value)) { + return true; + } + return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || + (object != null && value in Object(object)); +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isKey); + + +/***/ }), + +/***/ 6545: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * Converts `set` to an array of its values. + * + * @private + * @param {Object} set The set to convert. + * @returns {Array} Returns the values. + */ +function setToArray(set) { + var index = -1, + result = Array(set.size); + + set.forEach(function(value) { + result[++index] = value; + }); + return result; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (setToArray); + + +/***/ }), + +/***/ 62281: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _isSymbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(72714); + + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0; + +/** + * Converts `value` to a string key if it's not a string or symbol. + * + * @private + * @param {*} value The value to inspect. + * @returns {string|symbol} Returns the key. + */ +function toKey(value) { + if (typeof value == 'string' || (0,_isSymbol_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(value)) { + return value; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (toKey); + + +/***/ }), + +/***/ 3688: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _baseRest_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69581); +/* harmony import */ var _eq_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(79651); +/* harmony import */ var _isIterateeCall_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(50439); +/* harmony import */ var _keysIn_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(65733); + + + + + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Assigns own and inherited enumerable string keyed properties of source + * objects to the destination object for all destination properties that + * resolve to `undefined`. Source objects are applied from left to right. + * Once a property is set, additional values of the same property are ignored. + * + * **Note:** This method mutates `object`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.defaultsDeep + * @example + * + * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); + * // => { 'a': 1, 'b': 2 } + */ +var defaults = (0,_baseRest_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(function(object, sources) { + object = Object(object); + + var index = -1; + var length = sources.length; + var guard = length > 2 ? sources[2] : undefined; + + if (guard && (0,_isIterateeCall_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z)(sources[0], sources[1], guard)) { + length = 1; + } + + while (++index < length) { + var source = sources[index]; + var props = (0,_keysIn_js__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z)(source); + var propsIndex = -1; + var propsLength = props.length; + + while (++propsIndex < propsLength) { + var key = props[propsIndex]; + var value = object[key]; + + if (value === undefined || + ((0,_eq_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z)(value, objectProto[key]) && !hasOwnProperty.call(object, key))) { + object[key] = source[key]; + } + } + } + + return object; +}); + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (defaults); + + +/***/ }), + +/***/ 13445: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + Z: () => (/* binding */ lodash_es_filter) +}); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_arrayFilter.js +var _arrayFilter = __webpack_require__(68774); +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseEach.js + 1 modules +var _baseEach = __webpack_require__(49811); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseFilter.js + + +/** + * The base implementation of `_.filter` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + */ +function baseFilter(collection, predicate) { + var result = []; + (0,_baseEach/* default */.Z)(collection, function(value, index, collection) { + if (predicate(value, index, collection)) { + result.push(value); + } + }); + return result; +} + +/* harmony default export */ const _baseFilter = (baseFilter); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseIteratee.js + 16 modules +var _baseIteratee = __webpack_require__(74765); +// EXTERNAL MODULE: ./node_modules/lodash-es/isArray.js +var isArray = __webpack_require__(27771); +;// CONCATENATED MODULE: ./node_modules/lodash-es/filter.js + + + + + +/** + * Iterates over elements of `collection`, returning an array of all elements + * `predicate` returns truthy for. The predicate is invoked with three + * arguments: (value, index|key, collection). + * + * **Note:** Unlike `_.remove`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + * @see _.reject + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': true }, + * { 'user': 'fred', 'age': 40, 'active': false } + * ]; + * + * _.filter(users, function(o) { return !o.active; }); + * // => objects for ['fred'] + * + * // The `_.matches` iteratee shorthand. + * _.filter(users, { 'age': 36, 'active': true }); + * // => objects for ['barney'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.filter(users, ['active', false]); + * // => objects for ['fred'] + * + * // The `_.property` iteratee shorthand. + * _.filter(users, 'active'); + * // => objects for ['barney'] + * + * // Combining several predicates using `_.overEvery` or `_.overSome`. + * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]])); + * // => objects for ['fred', 'barney'] + */ +function filter(collection, predicate) { + var func = (0,isArray/* default */.Z)(collection) ? _arrayFilter/* default */.Z : _baseFilter; + return func(collection, (0,_baseIteratee/* default */.Z)(predicate, 3)); +} + +/* harmony default export */ const lodash_es_filter = (filter); + + +/***/ }), + +/***/ 27961: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _baseFlatten_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(10626); + + +/** + * Flattens `array` a single level deep. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to flatten. + * @returns {Array} Returns the new flattened array. + * @example + * + * _.flatten([1, [2, [3, [4]], 5]]); + * // => [1, 2, [3, [4]], 5] + */ +function flatten(array) { + var length = array == null ? 0 : array.length; + return length ? (0,_baseFlatten_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(array, 1) : []; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (flatten); + + +/***/ }), + +/***/ 70870: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _arrayEach_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(76579); +/* harmony import */ var _baseEach_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(49811); +/* harmony import */ var _castFunction_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(68882); +/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27771); + + + + + +/** + * Iterates over elements of `collection` and invokes `iteratee` for each element. + * The iteratee is invoked with three arguments: (value, index|key, collection). + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * **Note:** As with other "Collections" methods, objects with a "length" + * property are iterated like arrays. To avoid this behavior use `_.forIn` + * or `_.forOwn` for object iteration. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @alias each + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + * @see _.forEachRight + * @example + * + * _.forEach([1, 2], function(value) { + * console.log(value); + * }); + * // => Logs `1` then `2`. + * + * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) { + * console.log(key); + * }); + * // => Logs 'a' then 'b' (iteration order is not guaranteed). + */ +function forEach(collection, iteratee) { + var func = (0,_isArray_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(collection) ? _arrayEach_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z : _baseEach_js__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z; + return func(collection, (0,_castFunction_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z)(iteratee)); +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (forEach); + + +/***/ }), + +/***/ 17452: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + Z: () => (/* binding */ lodash_es_has) +}); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseHas.js +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var _baseHas_hasOwnProperty = objectProto.hasOwnProperty; + +/** + * The base implementation of `_.has` without support for deep paths. + * + * @private + * @param {Object} [object] The object to query. + * @param {Array|string} key The key to check. + * @returns {boolean} Returns `true` if `key` exists, else `false`. + */ +function baseHas(object, key) { + return object != null && _baseHas_hasOwnProperty.call(object, key); +} + +/* harmony default export */ const _baseHas = (baseHas); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_hasPath.js +var _hasPath = __webpack_require__(16174); +;// CONCATENATED MODULE: ./node_modules/lodash-es/has.js + + + +/** + * Checks if `path` is a direct property of `object`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + * @example + * + * var object = { 'a': { 'b': 2 } }; + * var other = _.create({ 'a': _.create({ 'b': 2 }) }); + * + * _.has(object, 'a'); + * // => true + * + * _.has(object, 'a.b'); + * // => true + * + * _.has(object, ['a', 'b']); + * // => true + * + * _.has(other, 'a'); + * // => false + */ +function has(object, path) { + return object != null && (0,_hasPath/* default */.Z)(object, path, _baseHas); +} + +/* harmony default export */ const lodash_es_has = (has); + + +/***/ }), + +/***/ 75487: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + Z: () => (/* binding */ lodash_es_hasIn) +}); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseHasIn.js +/** + * The base implementation of `_.hasIn` without support for deep paths. + * + * @private + * @param {Object} [object] The object to query. + * @param {Array|string} key The key to check. + * @returns {boolean} Returns `true` if `key` exists, else `false`. + */ +function baseHasIn(object, key) { + return object != null && key in Object(object); +} + +/* harmony default export */ const _baseHasIn = (baseHasIn); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_hasPath.js +var _hasPath = __webpack_require__(16174); +;// CONCATENATED MODULE: ./node_modules/lodash-es/hasIn.js + + + +/** + * Checks if `path` is a direct or inherited property of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + * @example + * + * var object = _.create({ 'a': _.create({ 'b': 2 }) }); + * + * _.hasIn(object, 'a'); + * // => true + * + * _.hasIn(object, 'a.b'); + * // => true + * + * _.hasIn(object, ['a', 'b']); + * // => true + * + * _.hasIn(object, 'b'); + * // => false + */ +function hasIn(object, path) { + return object != null && (0,_hasPath/* default */.Z)(object, path, _baseHasIn); +} + +/* harmony default export */ const lodash_es_hasIn = (hasIn); + + +/***/ }), + +/***/ 72714: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(93589); +/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(18533); + + + +/** `Object#toString` result references. */ +var symbolTag = '[object Symbol]'; + +/** + * Checks if `value` is classified as a `Symbol` primitive or object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. + * @example + * + * _.isSymbol(Symbol.iterator); + * // => true + * + * _.isSymbol('abc'); + * // => false + */ +function isSymbol(value) { + return typeof value == 'symbol' || + ((0,_isObjectLike_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(value) && (0,_baseGetTag_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z)(value) == symbolTag); +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isSymbol); + + +/***/ }), + +/***/ 49360: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * Checks if `value` is `undefined`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`. + * @example + * + * _.isUndefined(void 0); + * // => true + * + * _.isUndefined(null); + * // => false + */ +function isUndefined(value) { + return value === undefined; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isUndefined); + + +/***/ }), + +/***/ 17179: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _arrayLikeKeys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(54023); +/* harmony import */ var _baseKeys_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(39473); +/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50585); + + + + +/** + * Creates an array of the own enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. See the + * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * for more details. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keys(new Foo); + * // => ['a', 'b'] (iteration order is not guaranteed) + * + * _.keys('hi'); + * // => ['0', '1'] + */ +function keys(object) { + return (0,_isArrayLike_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(object) ? (0,_arrayLikeKeys_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z)(object) : (0,_baseKeys_js__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z)(object); +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (keys); + + +/***/ }), + +/***/ 43836: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(74073); +/* harmony import */ var _baseIteratee_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(74765); +/* harmony import */ var _baseMap_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(21018); +/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27771); + + + + + +/** + * Creates an array of values by running each element in `collection` thru + * `iteratee`. The iteratee is invoked with three arguments: + * (value, index|key, collection). + * + * Many lodash methods are guarded to work as iteratees for methods like + * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`. + * + * The guarded methods are: + * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`, + * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`, + * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`, + * `template`, `trim`, `trimEnd`, `trimStart`, and `words` + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + * @example + * + * function square(n) { + * return n * n; + * } + * + * _.map([4, 8], square); + * // => [16, 64] + * + * _.map({ 'a': 4, 'b': 8 }, square); + * // => [16, 64] (iteration order is not guaranteed) + * + * var users = [ + * { 'user': 'barney' }, + * { 'user': 'fred' } + * ]; + * + * // The `_.property` iteratee shorthand. + * _.map(users, 'user'); + * // => ['barney', 'fred'] + */ +function map(collection, iteratee) { + var func = (0,_isArray_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(collection) ? _arrayMap_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z : _baseMap_js__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z; + return func(collection, (0,_baseIteratee_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z)(iteratee, 3)); +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (map); + + +/***/ }), + +/***/ 61666: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + Z: () => (/* binding */ lodash_es_pick) +}); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseGet.js +var _baseGet = __webpack_require__(13317); +// EXTERNAL MODULE: ./node_modules/lodash-es/_assignValue.js +var _assignValue = __webpack_require__(72954); +// EXTERNAL MODULE: ./node_modules/lodash-es/_castPath.js + 2 modules +var _castPath = __webpack_require__(22823); +// EXTERNAL MODULE: ./node_modules/lodash-es/_isIndex.js +var _isIndex = __webpack_require__(56009); +// EXTERNAL MODULE: ./node_modules/lodash-es/isObject.js +var isObject = __webpack_require__(77226); +// EXTERNAL MODULE: ./node_modules/lodash-es/_toKey.js +var _toKey = __webpack_require__(62281); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseSet.js + + + + + + +/** + * The base implementation of `_.set`. + * + * @private + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {*} value The value to set. + * @param {Function} [customizer] The function to customize path creation. + * @returns {Object} Returns `object`. + */ +function baseSet(object, path, value, customizer) { + if (!(0,isObject/* default */.Z)(object)) { + return object; + } + path = (0,_castPath/* default */.Z)(path, object); + + var index = -1, + length = path.length, + lastIndex = length - 1, + nested = object; + + while (nested != null && ++index < length) { + var key = (0,_toKey/* default */.Z)(path[index]), + newValue = value; + + if (key === '__proto__' || key === 'constructor' || key === 'prototype') { + return object; + } + + if (index != lastIndex) { + var objValue = nested[key]; + newValue = customizer ? customizer(objValue, key, nested) : undefined; + if (newValue === undefined) { + newValue = (0,isObject/* default */.Z)(objValue) + ? objValue + : ((0,_isIndex/* default */.Z)(path[index + 1]) ? [] : {}); + } + } + (0,_assignValue/* default */.Z)(nested, key, newValue); + nested = nested[key]; + } + return object; +} + +/* harmony default export */ const _baseSet = (baseSet); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_basePickBy.js + + + + +/** + * The base implementation of `_.pickBy` without support for iteratee shorthands. + * + * @private + * @param {Object} object The source object. + * @param {string[]} paths The property paths to pick. + * @param {Function} predicate The function invoked per property. + * @returns {Object} Returns the new object. + */ +function basePickBy(object, paths, predicate) { + var index = -1, + length = paths.length, + result = {}; + + while (++index < length) { + var path = paths[index], + value = (0,_baseGet/* default */.Z)(object, path); + + if (predicate(value, path)) { + _baseSet(result, (0,_castPath/* default */.Z)(path, object), value); + } + } + return result; +} + +/* harmony default export */ const _basePickBy = (basePickBy); + +// EXTERNAL MODULE: ./node_modules/lodash-es/hasIn.js + 1 modules +var hasIn = __webpack_require__(75487); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_basePick.js + + + +/** + * The base implementation of `_.pick` without support for individual + * property identifiers. + * + * @private + * @param {Object} object The source object. + * @param {string[]} paths The property paths to pick. + * @returns {Object} Returns the new object. + */ +function basePick(object, paths) { + return _basePickBy(object, paths, function(value, path) { + return (0,hasIn/* default */.Z)(object, path); + }); +} + +/* harmony default export */ const _basePick = (basePick); + +// EXTERNAL MODULE: ./node_modules/lodash-es/flatten.js +var flatten = __webpack_require__(27961); +// EXTERNAL MODULE: ./node_modules/lodash-es/_overRest.js + 1 modules +var _overRest = __webpack_require__(81211); +// EXTERNAL MODULE: ./node_modules/lodash-es/_setToString.js + 2 modules +var _setToString = __webpack_require__(27227); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_flatRest.js + + + + +/** + * A specialized version of `baseRest` which flattens the rest array. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @returns {Function} Returns the new function. + */ +function flatRest(func) { + return (0,_setToString/* default */.Z)((0,_overRest/* default */.Z)(func, undefined, flatten/* default */.Z), func + ''); +} + +/* harmony default export */ const _flatRest = (flatRest); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/pick.js + + + +/** + * Creates an object composed of the picked `object` properties. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The source object. + * @param {...(string|string[])} [paths] The property paths to pick. + * @returns {Object} Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.pick(object, ['a', 'c']); + * // => { 'a': 1, 'c': 3 } + */ +var pick = _flatRest(function(object, paths) { + return object == null ? {} : _basePick(object, paths); +}); + +/* harmony default export */ const lodash_es_pick = (pick); + + +/***/ }), + +/***/ 74379: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + Z: () => (/* binding */ lodash_es_range) +}); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseRange.js +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeCeil = Math.ceil, + nativeMax = Math.max; + +/** + * The base implementation of `_.range` and `_.rangeRight` which doesn't + * coerce arguments. + * + * @private + * @param {number} start The start of the range. + * @param {number} end The end of the range. + * @param {number} step The value to increment or decrement by. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Array} Returns the range of numbers. + */ +function baseRange(start, end, step, fromRight) { + var index = -1, + length = nativeMax(nativeCeil((end - start) / (step || 1)), 0), + result = Array(length); + + while (length--) { + result[fromRight ? length : ++index] = start; + start += step; + } + return result; +} + +/* harmony default export */ const _baseRange = (baseRange); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_isIterateeCall.js +var _isIterateeCall = __webpack_require__(50439); +// EXTERNAL MODULE: ./node_modules/lodash-es/toFinite.js + 3 modules +var toFinite = __webpack_require__(94099); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_createRange.js + + + + +/** + * Creates a `_.range` or `_.rangeRight` function. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new range function. + */ +function createRange(fromRight) { + return function(start, end, step) { + if (step && typeof step != 'number' && (0,_isIterateeCall/* default */.Z)(start, end, step)) { + end = step = undefined; + } + // Ensure the sign of `-0` is preserved. + start = (0,toFinite/* default */.Z)(start); + if (end === undefined) { + end = start; + start = 0; + } else { + end = (0,toFinite/* default */.Z)(end); + } + step = step === undefined ? (start < end ? 1 : -1) : (0,toFinite/* default */.Z)(step); + return _baseRange(start, end, step, fromRight); + }; +} + +/* harmony default export */ const _createRange = (createRange); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/range.js + + +/** + * Creates an array of numbers (positive and/or negative) progressing from + * `start` up to, but not including, `end`. A step of `-1` is used if a negative + * `start` is specified without an `end` or `step`. If `end` is not specified, + * it's set to `start` with `start` then set to `0`. + * + * **Note:** JavaScript follows the IEEE-754 standard for resolving + * floating-point values which can produce unexpected results. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {number} [start=0] The start of the range. + * @param {number} end The end of the range. + * @param {number} [step=1] The value to increment or decrement by. + * @returns {Array} Returns the range of numbers. + * @see _.inRange, _.rangeRight + * @example + * + * _.range(4); + * // => [0, 1, 2, 3] + * + * _.range(-4); + * // => [0, -1, -2, -3] + * + * _.range(1, 5); + * // => [1, 2, 3, 4] + * + * _.range(0, 20, 5); + * // => [0, 5, 10, 15] + * + * _.range(0, -4, -1); + * // => [0, -1, -2, -3] + * + * _.range(1, 4, 0); + * // => [1, 1, 1] + * + * _.range(0); + * // => [] + */ +var range = _createRange(); + +/* harmony default export */ const lodash_es_range = (range); + + +/***/ }), + +/***/ 92344: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + Z: () => (/* binding */ lodash_es_reduce) +}); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_arrayReduce.js +/** + * A specialized version of `_.reduce` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @param {boolean} [initAccum] Specify using the first element of `array` as + * the initial value. + * @returns {*} Returns the accumulated value. + */ +function arrayReduce(array, iteratee, accumulator, initAccum) { + var index = -1, + length = array == null ? 0 : array.length; + + if (initAccum && length) { + accumulator = array[++index]; + } + while (++index < length) { + accumulator = iteratee(accumulator, array[index], index, array); + } + return accumulator; +} + +/* harmony default export */ const _arrayReduce = (arrayReduce); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseEach.js + 1 modules +var _baseEach = __webpack_require__(49811); +// EXTERNAL MODULE: ./node_modules/lodash-es/_baseIteratee.js + 16 modules +var _baseIteratee = __webpack_require__(74765); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseReduce.js +/** + * The base implementation of `_.reduce` and `_.reduceRight`, without support + * for iteratee shorthands, which iterates over `collection` using `eachFunc`. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} accumulator The initial value. + * @param {boolean} initAccum Specify using the first or last element of + * `collection` as the initial value. + * @param {Function} eachFunc The function to iterate over `collection`. + * @returns {*} Returns the accumulated value. + */ +function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) { + eachFunc(collection, function(value, index, collection) { + accumulator = initAccum + ? (initAccum = false, value) + : iteratee(accumulator, value, index, collection); + }); + return accumulator; +} + +/* harmony default export */ const _baseReduce = (baseReduce); + +// EXTERNAL MODULE: ./node_modules/lodash-es/isArray.js +var isArray = __webpack_require__(27771); +;// CONCATENATED MODULE: ./node_modules/lodash-es/reduce.js + + + + + + +/** + * Reduces `collection` to a value which is the accumulated result of running + * each element in `collection` thru `iteratee`, where each successive + * invocation is supplied the return value of the previous. If `accumulator` + * is not given, the first element of `collection` is used as the initial + * value. The iteratee is invoked with four arguments: + * (accumulator, value, index|key, collection). + * + * Many lodash methods are guarded to work as iteratees for methods like + * `_.reduce`, `_.reduceRight`, and `_.transform`. + * + * The guarded methods are: + * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`, + * and `sortBy` + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @returns {*} Returns the accumulated value. + * @see _.reduceRight + * @example + * + * _.reduce([1, 2], function(sum, n) { + * return sum + n; + * }, 0); + * // => 3 + * + * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { + * (result[value] || (result[value] = [])).push(key); + * return result; + * }, {}); + * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed) + */ +function reduce(collection, iteratee, accumulator) { + var func = (0,isArray/* default */.Z)(collection) ? _arrayReduce : _baseReduce, + initAccum = arguments.length < 3; + + return func(collection, (0,_baseIteratee/* default */.Z)(iteratee, 4), accumulator, initAccum, _baseEach/* default */.Z); +} + +/* harmony default export */ const lodash_es_reduce = (reduce); + + +/***/ }), + +/***/ 60532: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/** + * This method returns a new empty array. + * + * @static + * @memberOf _ + * @since 4.13.0 + * @category Util + * @returns {Array} Returns the new empty array. + * @example + * + * var arrays = _.times(2, _.stubArray); + * + * console.log(arrays); + * // => [[], []] + * + * console.log(arrays[0] === arrays[1]); + * // => false + */ +function stubArray() { + return []; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (stubArray); + + +/***/ }), + +/***/ 94099: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + Z: () => (/* binding */ lodash_es_toFinite) +}); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_trimmedEndIndex.js +/** Used to match a single whitespace character. */ +var reWhitespace = /\s/; + +/** + * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace + * character of `string`. + * + * @private + * @param {string} string The string to inspect. + * @returns {number} Returns the index of the last non-whitespace character. + */ +function trimmedEndIndex(string) { + var index = string.length; + + while (index-- && reWhitespace.test(string.charAt(index))) {} + return index; +} + +/* harmony default export */ const _trimmedEndIndex = (trimmedEndIndex); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseTrim.js + + +/** Used to match leading whitespace. */ +var reTrimStart = /^\s+/; + +/** + * The base implementation of `_.trim`. + * + * @private + * @param {string} string The string to trim. + * @returns {string} Returns the trimmed string. + */ +function baseTrim(string) { + return string + ? string.slice(0, _trimmedEndIndex(string) + 1).replace(reTrimStart, '') + : string; +} + +/* harmony default export */ const _baseTrim = (baseTrim); + +// EXTERNAL MODULE: ./node_modules/lodash-es/isObject.js +var isObject = __webpack_require__(77226); +// EXTERNAL MODULE: ./node_modules/lodash-es/isSymbol.js +var isSymbol = __webpack_require__(72714); +;// CONCATENATED MODULE: ./node_modules/lodash-es/toNumber.js + + + + +/** Used as references for various `Number` constants. */ +var NAN = 0 / 0; + +/** Used to detect bad signed hexadecimal string values. */ +var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; + +/** Used to detect binary string values. */ +var reIsBinary = /^0b[01]+$/i; + +/** Used to detect octal string values. */ +var reIsOctal = /^0o[0-7]+$/i; + +/** Built-in method references without a dependency on `root`. */ +var freeParseInt = parseInt; + +/** + * Converts `value` to a number. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to process. + * @returns {number} Returns the number. + * @example + * + * _.toNumber(3.2); + * // => 3.2 + * + * _.toNumber(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toNumber(Infinity); + * // => Infinity + * + * _.toNumber('3.2'); + * // => 3.2 + */ +function toNumber(value) { + if (typeof value == 'number') { + return value; + } + if ((0,isSymbol/* default */.Z)(value)) { + return NAN; + } + if ((0,isObject/* default */.Z)(value)) { + var other = typeof value.valueOf == 'function' ? value.valueOf() : value; + value = (0,isObject/* default */.Z)(other) ? (other + '') : other; + } + if (typeof value != 'string') { + return value === 0 ? value : +value; + } + value = _baseTrim(value); + var isBinary = reIsBinary.test(value); + return (isBinary || reIsOctal.test(value)) + ? freeParseInt(value.slice(2), isBinary ? 2 : 8) + : (reIsBadHex.test(value) ? NAN : +value); +} + +/* harmony default export */ const lodash_es_toNumber = (toNumber); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/toFinite.js + + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0, + MAX_INTEGER = 1.7976931348623157e+308; + +/** + * Converts `value` to a finite number. + * + * @static + * @memberOf _ + * @since 4.12.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted number. + * @example + * + * _.toFinite(3.2); + * // => 3.2 + * + * _.toFinite(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toFinite(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toFinite('3.2'); + * // => 3.2 + */ +function toFinite(value) { + if (!value) { + return value === 0 ? value : 0; + } + value = lodash_es_toNumber(value); + if (value === INFINITY || value === -INFINITY) { + var sign = (value < 0 ? -1 : 1); + return sign * MAX_INTEGER; + } + return value === value ? value : 0; +} + +/* harmony default export */ const lodash_es_toFinite = (toFinite); + + +/***/ }), + +/***/ 50751: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + Z: () => (/* binding */ lodash_es_toString) +}); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_Symbol.js +var _Symbol = __webpack_require__(17685); +// EXTERNAL MODULE: ./node_modules/lodash-es/_arrayMap.js +var _arrayMap = __webpack_require__(74073); +// EXTERNAL MODULE: ./node_modules/lodash-es/isArray.js +var isArray = __webpack_require__(27771); +// EXTERNAL MODULE: ./node_modules/lodash-es/isSymbol.js +var isSymbol = __webpack_require__(72714); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseToString.js + + + + + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0; + +/** Used to convert symbols to primitives and strings. */ +var symbolProto = _Symbol/* default */.Z ? _Symbol/* default */.Z.prototype : undefined, + symbolToString = symbolProto ? symbolProto.toString : undefined; + +/** + * The base implementation of `_.toString` which doesn't convert nullish + * values to empty strings. + * + * @private + * @param {*} value The value to process. + * @returns {string} Returns the string. + */ +function baseToString(value) { + // Exit early for strings to avoid a performance hit in some environments. + if (typeof value == 'string') { + return value; + } + if ((0,isArray/* default */.Z)(value)) { + // Recursively convert values (susceptible to call stack limits). + return (0,_arrayMap/* default */.Z)(value, baseToString) + ''; + } + if ((0,isSymbol/* default */.Z)(value)) { + return symbolToString ? symbolToString.call(value) : ''; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; +} + +/* harmony default export */ const _baseToString = (baseToString); + +;// CONCATENATED MODULE: ./node_modules/lodash-es/toString.js + + +/** + * Converts `value` to a string. An empty string is returned for `null` + * and `undefined` values. The sign of `-0` is preserved. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + * @example + * + * _.toString(null); + * // => '' + * + * _.toString(-0); + * // => '-0' + * + * _.toString([1, 2, 3]); + * // => '1,2,3' + */ +function toString_toString(value) { + return value == null ? '' : _baseToString(value); +} + +/* harmony default export */ const lodash_es_toString = (toString_toString); + + +/***/ }), + +/***/ 66749: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Z: () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50751); + + +/** Used to generate unique IDs. */ +var idCounter = 0; + +/** + * Generates a unique ID. If `prefix` is given, the ID is appended to it. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {string} [prefix=''] The value to prefix the ID with. + * @returns {string} Returns the unique ID. + * @example + * + * _.uniqueId('contact_'); + * // => 'contact_104' + * + * _.uniqueId(); + * // => '105' + */ +function uniqueId(prefix) { + var id = ++idCounter; + return (0,_toString_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(prefix) + id; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (uniqueId); + + +/***/ }), + +/***/ 34148: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + Z: () => (/* binding */ lodash_es_values) +}); + +// EXTERNAL MODULE: ./node_modules/lodash-es/_arrayMap.js +var _arrayMap = __webpack_require__(74073); +;// CONCATENATED MODULE: ./node_modules/lodash-es/_baseValues.js + + +/** + * The base implementation of `_.values` and `_.valuesIn` which creates an + * array of `object` property values corresponding to the property names + * of `props`. + * + * @private + * @param {Object} object The object to query. + * @param {Array} props The property names to get values for. + * @returns {Object} Returns the array of property values. + */ +function baseValues(object, props) { + return (0,_arrayMap/* default */.Z)(props, function(key) { + return object[key]; + }); +} + +/* harmony default export */ const _baseValues = (baseValues); + +// EXTERNAL MODULE: ./node_modules/lodash-es/keys.js +var keys = __webpack_require__(17179); +;// CONCATENATED MODULE: ./node_modules/lodash-es/values.js + + + +/** + * Creates an array of the own enumerable string keyed property values of `object`. + * + * **Note:** Non-object values are coerced to objects. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property values. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.values(new Foo); + * // => [1, 2] (iteration order is not guaranteed) + * + * _.values('hi'); + * // => ['h', 'i'] + */ +function values(object) { + return object == null ? [] : _baseValues(object, (0,keys/* default */.Z)(object)); +} + +/* harmony default export */ const lodash_es_values = (values); + + +/***/ }), + +/***/ 84019: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ diagram: () => (/* binding */ diagram) +/* harmony export */ }); +/* harmony import */ var _mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(81581); +/* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(38077); +/* harmony import */ var dagre_d3_es_src_dagre_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(41644); +/* harmony import */ var dagre_d3_es_src_graphlib_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(45625); +/* harmony import */ var dayjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(27484); +/* harmony import */ var _braintree_sanitize_url__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(17967); +/* harmony import */ var dompurify__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(20683); + + + + + + + + + + + + + +var parser = function() { + var o = function(k, v, o2, l) { + for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) + ; + return o2; + }, $V0 = [1, 3], $V1 = [1, 5], $V2 = [1, 6], $V3 = [1, 7], $V4 = [1, 8], $V5 = [5, 6, 8, 14, 16, 18, 19, 40, 41, 42, 43, 44, 45, 53, 71, 72], $V6 = [1, 22], $V7 = [2, 13], $V8 = [1, 26], $V9 = [1, 27], $Va = [1, 28], $Vb = [1, 29], $Vc = [1, 30], $Vd = [1, 31], $Ve = [1, 24], $Vf = [1, 32], $Vg = [1, 33], $Vh = [1, 36], $Vi = [71, 72], $Vj = [5, 8, 14, 16, 18, 19, 40, 41, 42, 43, 44, 45, 53, 60, 62, 71, 72], $Vk = [1, 56], $Vl = [1, 57], $Vm = [1, 58], $Vn = [1, 59], $Vo = [1, 60], $Vp = [1, 61], $Vq = [1, 62], $Vr = [62, 63], $Vs = [1, 74], $Vt = [1, 70], $Vu = [1, 71], $Vv = [1, 72], $Vw = [1, 73], $Vx = [1, 75], $Vy = [1, 79], $Vz = [1, 80], $VA = [1, 77], $VB = [1, 78], $VC = [5, 8, 14, 16, 18, 19, 40, 41, 42, 43, 44, 45, 53, 71, 72]; + var parser2 = { + trace: function trace() { + }, + yy: {}, + symbols_: { "error": 2, "start": 3, "directive": 4, "NEWLINE": 5, "RD": 6, "diagram": 7, "EOF": 8, "openDirective": 9, "typeDirective": 10, "closeDirective": 11, ":": 12, "argDirective": 13, "acc_title": 14, "acc_title_value": 15, "acc_descr": 16, "acc_descr_value": 17, "acc_descr_multiline_value": 18, "open_directive": 19, "type_directive": 20, "arg_directive": 21, "close_directive": 22, "requirementDef": 23, "elementDef": 24, "relationshipDef": 25, "requirementType": 26, "requirementName": 27, "STRUCT_START": 28, "requirementBody": 29, "ID": 30, "COLONSEP": 31, "id": 32, "TEXT": 33, "text": 34, "RISK": 35, "riskLevel": 36, "VERIFYMTHD": 37, "verifyType": 38, "STRUCT_STOP": 39, "REQUIREMENT": 40, "FUNCTIONAL_REQUIREMENT": 41, "INTERFACE_REQUIREMENT": 42, "PERFORMANCE_REQUIREMENT": 43, "PHYSICAL_REQUIREMENT": 44, "DESIGN_CONSTRAINT": 45, "LOW_RISK": 46, "MED_RISK": 47, "HIGH_RISK": 48, "VERIFY_ANALYSIS": 49, "VERIFY_DEMONSTRATION": 50, "VERIFY_INSPECTION": 51, "VERIFY_TEST": 52, "ELEMENT": 53, "elementName": 54, "elementBody": 55, "TYPE": 56, "type": 57, "DOCREF": 58, "ref": 59, "END_ARROW_L": 60, "relationship": 61, "LINE": 62, "END_ARROW_R": 63, "CONTAINS": 64, "COPIES": 65, "DERIVES": 66, "SATISFIES": 67, "VERIFIES": 68, "REFINES": 69, "TRACES": 70, "unqString": 71, "qString": 72, "$accept": 0, "$end": 1 }, + terminals_: { 2: "error", 5: "NEWLINE", 6: "RD", 8: "EOF", 12: ":", 14: "acc_title", 15: "acc_title_value", 16: "acc_descr", 17: "acc_descr_value", 18: "acc_descr_multiline_value", 19: "open_directive", 20: "type_directive", 21: "arg_directive", 22: "close_directive", 28: "STRUCT_START", 30: "ID", 31: "COLONSEP", 33: "TEXT", 35: "RISK", 37: "VERIFYMTHD", 39: "STRUCT_STOP", 40: "REQUIREMENT", 41: "FUNCTIONAL_REQUIREMENT", 42: "INTERFACE_REQUIREMENT", 43: "PERFORMANCE_REQUIREMENT", 44: "PHYSICAL_REQUIREMENT", 45: "DESIGN_CONSTRAINT", 46: "LOW_RISK", 47: "MED_RISK", 48: "HIGH_RISK", 49: "VERIFY_ANALYSIS", 50: "VERIFY_DEMONSTRATION", 51: "VERIFY_INSPECTION", 52: "VERIFY_TEST", 53: "ELEMENT", 56: "TYPE", 58: "DOCREF", 60: "END_ARROW_L", 62: "LINE", 63: "END_ARROW_R", 64: "CONTAINS", 65: "COPIES", 66: "DERIVES", 67: "SATISFIES", 68: "VERIFIES", 69: "REFINES", 70: "TRACES", 71: "unqString", 72: "qString" }, + productions_: [0, [3, 3], [3, 2], [3, 4], [4, 3], [4, 5], [4, 2], [4, 2], [4, 1], [9, 1], [10, 1], [13, 1], [11, 1], [7, 0], [7, 2], [7, 2], [7, 2], [7, 2], [7, 2], [23, 5], [29, 5], [29, 5], [29, 5], [29, 5], [29, 2], [29, 1], [26, 1], [26, 1], [26, 1], [26, 1], [26, 1], [26, 1], [36, 1], [36, 1], [36, 1], [38, 1], [38, 1], [38, 1], [38, 1], [24, 5], [55, 5], [55, 5], [55, 2], [55, 1], [25, 5], [25, 5], [61, 1], [61, 1], [61, 1], [61, 1], [61, 1], [61, 1], [61, 1], [27, 1], [27, 1], [32, 1], [32, 1], [34, 1], [34, 1], [54, 1], [54, 1], [57, 1], [57, 1], [59, 1], [59, 1]], + performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) { + var $0 = $$.length - 1; + switch (yystate) { + case 6: + this.$ = $$[$0].trim(); + yy.setAccTitle(this.$); + break; + case 7: + case 8: + this.$ = $$[$0].trim(); + yy.setAccDescription(this.$); + break; + case 9: + yy.parseDirective("%%{", "open_directive"); + break; + case 10: + yy.parseDirective($$[$0], "type_directive"); + break; + case 11: + $$[$0] = $$[$0].trim().replace(/'/g, '"'); + yy.parseDirective($$[$0], "arg_directive"); + break; + case 12: + yy.parseDirective("}%%", "close_directive", "pie"); + break; + case 13: + this.$ = []; + break; + case 19: + yy.addRequirement($$[$0 - 3], $$[$0 - 4]); + break; + case 20: + yy.setNewReqId($$[$0 - 2]); + break; + case 21: + yy.setNewReqText($$[$0 - 2]); + break; + case 22: + yy.setNewReqRisk($$[$0 - 2]); + break; + case 23: + yy.setNewReqVerifyMethod($$[$0 - 2]); + break; + case 26: + this.$ = yy.RequirementType.REQUIREMENT; + break; + case 27: + this.$ = yy.RequirementType.FUNCTIONAL_REQUIREMENT; + break; + case 28: + this.$ = yy.RequirementType.INTERFACE_REQUIREMENT; + break; + case 29: + this.$ = yy.RequirementType.PERFORMANCE_REQUIREMENT; + break; + case 30: + this.$ = yy.RequirementType.PHYSICAL_REQUIREMENT; + break; + case 31: + this.$ = yy.RequirementType.DESIGN_CONSTRAINT; + break; + case 32: + this.$ = yy.RiskLevel.LOW_RISK; + break; + case 33: + this.$ = yy.RiskLevel.MED_RISK; + break; + case 34: + this.$ = yy.RiskLevel.HIGH_RISK; + break; + case 35: + this.$ = yy.VerifyType.VERIFY_ANALYSIS; + break; + case 36: + this.$ = yy.VerifyType.VERIFY_DEMONSTRATION; + break; + case 37: + this.$ = yy.VerifyType.VERIFY_INSPECTION; + break; + case 38: + this.$ = yy.VerifyType.VERIFY_TEST; + break; + case 39: + yy.addElement($$[$0 - 3]); + break; + case 40: + yy.setNewElementType($$[$0 - 2]); + break; + case 41: + yy.setNewElementDocRef($$[$0 - 2]); + break; + case 44: + yy.addRelationship($$[$0 - 2], $$[$0], $$[$0 - 4]); + break; + case 45: + yy.addRelationship($$[$0 - 2], $$[$0 - 4], $$[$0]); + break; + case 46: + this.$ = yy.Relationships.CONTAINS; + break; + case 47: + this.$ = yy.Relationships.COPIES; + break; + case 48: + this.$ = yy.Relationships.DERIVES; + break; + case 49: + this.$ = yy.Relationships.SATISFIES; + break; + case 50: + this.$ = yy.Relationships.VERIFIES; + break; + case 51: + this.$ = yy.Relationships.REFINES; + break; + case 52: + this.$ = yy.Relationships.TRACES; + break; + } + }, + table: [{ 3: 1, 4: 2, 6: $V0, 9: 4, 14: $V1, 16: $V2, 18: $V3, 19: $V4 }, { 1: [3] }, { 3: 10, 4: 2, 5: [1, 9], 6: $V0, 9: 4, 14: $V1, 16: $V2, 18: $V3, 19: $V4 }, { 5: [1, 11] }, { 10: 12, 20: [1, 13] }, { 15: [1, 14] }, { 17: [1, 15] }, o($V5, [2, 8]), { 20: [2, 9] }, { 3: 16, 4: 2, 6: $V0, 9: 4, 14: $V1, 16: $V2, 18: $V3, 19: $V4 }, { 1: [2, 2] }, { 4: 21, 5: $V6, 7: 17, 8: $V7, 9: 4, 14: $V1, 16: $V2, 18: $V3, 19: $V4, 23: 18, 24: 19, 25: 20, 26: 23, 32: 25, 40: $V8, 41: $V9, 42: $Va, 43: $Vb, 44: $Vc, 45: $Vd, 53: $Ve, 71: $Vf, 72: $Vg }, { 11: 34, 12: [1, 35], 22: $Vh }, o([12, 22], [2, 10]), o($V5, [2, 6]), o($V5, [2, 7]), { 1: [2, 1] }, { 8: [1, 37] }, { 4: 21, 5: $V6, 7: 38, 8: $V7, 9: 4, 14: $V1, 16: $V2, 18: $V3, 19: $V4, 23: 18, 24: 19, 25: 20, 26: 23, 32: 25, 40: $V8, 41: $V9, 42: $Va, 43: $Vb, 44: $Vc, 45: $Vd, 53: $Ve, 71: $Vf, 72: $Vg }, { 4: 21, 5: $V6, 7: 39, 8: $V7, 9: 4, 14: $V1, 16: $V2, 18: $V3, 19: $V4, 23: 18, 24: 19, 25: 20, 26: 23, 32: 25, 40: $V8, 41: $V9, 42: $Va, 43: $Vb, 44: $Vc, 45: $Vd, 53: $Ve, 71: $Vf, 72: $Vg }, { 4: 21, 5: $V6, 7: 40, 8: $V7, 9: 4, 14: $V1, 16: $V2, 18: $V3, 19: $V4, 23: 18, 24: 19, 25: 20, 26: 23, 32: 25, 40: $V8, 41: $V9, 42: $Va, 43: $Vb, 44: $Vc, 45: $Vd, 53: $Ve, 71: $Vf, 72: $Vg }, { 4: 21, 5: $V6, 7: 41, 8: $V7, 9: 4, 14: $V1, 16: $V2, 18: $V3, 19: $V4, 23: 18, 24: 19, 25: 20, 26: 23, 32: 25, 40: $V8, 41: $V9, 42: $Va, 43: $Vb, 44: $Vc, 45: $Vd, 53: $Ve, 71: $Vf, 72: $Vg }, { 4: 21, 5: $V6, 7: 42, 8: $V7, 9: 4, 14: $V1, 16: $V2, 18: $V3, 19: $V4, 23: 18, 24: 19, 25: 20, 26: 23, 32: 25, 40: $V8, 41: $V9, 42: $Va, 43: $Vb, 44: $Vc, 45: $Vd, 53: $Ve, 71: $Vf, 72: $Vg }, { 27: 43, 71: [1, 44], 72: [1, 45] }, { 54: 46, 71: [1, 47], 72: [1, 48] }, { 60: [1, 49], 62: [1, 50] }, o($Vi, [2, 26]), o($Vi, [2, 27]), o($Vi, [2, 28]), o($Vi, [2, 29]), o($Vi, [2, 30]), o($Vi, [2, 31]), o($Vj, [2, 55]), o($Vj, [2, 56]), o($V5, [2, 4]), { 13: 51, 21: [1, 52] }, o($V5, [2, 12]), { 1: [2, 3] }, { 8: [2, 14] }, { 8: [2, 15] }, { 8: [2, 16] }, { 8: [2, 17] }, { 8: [2, 18] }, { 28: [1, 53] }, { 28: [2, 53] }, { 28: [2, 54] }, { 28: [1, 54] }, { 28: [2, 59] }, { 28: [2, 60] }, { 61: 55, 64: $Vk, 65: $Vl, 66: $Vm, 67: $Vn, 68: $Vo, 69: $Vp, 70: $Vq }, { 61: 63, 64: $Vk, 65: $Vl, 66: $Vm, 67: $Vn, 68: $Vo, 69: $Vp, 70: $Vq }, { 11: 64, 22: $Vh }, { 22: [2, 11] }, { 5: [1, 65] }, { 5: [1, 66] }, { 62: [1, 67] }, o($Vr, [2, 46]), o($Vr, [2, 47]), o($Vr, [2, 48]), o($Vr, [2, 49]), o($Vr, [2, 50]), o($Vr, [2, 51]), o($Vr, [2, 52]), { 63: [1, 68] }, o($V5, [2, 5]), { 5: $Vs, 29: 69, 30: $Vt, 33: $Vu, 35: $Vv, 37: $Vw, 39: $Vx }, { 5: $Vy, 39: $Vz, 55: 76, 56: $VA, 58: $VB }, { 32: 81, 71: $Vf, 72: $Vg }, { 32: 82, 71: $Vf, 72: $Vg }, o($VC, [2, 19]), { 31: [1, 83] }, { 31: [1, 84] }, { 31: [1, 85] }, { 31: [1, 86] }, { 5: $Vs, 29: 87, 30: $Vt, 33: $Vu, 35: $Vv, 37: $Vw, 39: $Vx }, o($VC, [2, 25]), o($VC, [2, 39]), { 31: [1, 88] }, { 31: [1, 89] }, { 5: $Vy, 39: $Vz, 55: 90, 56: $VA, 58: $VB }, o($VC, [2, 43]), o($VC, [2, 44]), o($VC, [2, 45]), { 32: 91, 71: $Vf, 72: $Vg }, { 34: 92, 71: [1, 93], 72: [1, 94] }, { 36: 95, 46: [1, 96], 47: [1, 97], 48: [1, 98] }, { 38: 99, 49: [1, 100], 50: [1, 101], 51: [1, 102], 52: [1, 103] }, o($VC, [2, 24]), { 57: 104, 71: [1, 105], 72: [1, 106] }, { 59: 107, 71: [1, 108], 72: [1, 109] }, o($VC, [2, 42]), { 5: [1, 110] }, { 5: [1, 111] }, { 5: [2, 57] }, { 5: [2, 58] }, { 5: [1, 112] }, { 5: [2, 32] }, { 5: [2, 33] }, { 5: [2, 34] }, { 5: [1, 113] }, { 5: [2, 35] }, { 5: [2, 36] }, { 5: [2, 37] }, { 5: [2, 38] }, { 5: [1, 114] }, { 5: [2, 61] }, { 5: [2, 62] }, { 5: [1, 115] }, { 5: [2, 63] }, { 5: [2, 64] }, { 5: $Vs, 29: 116, 30: $Vt, 33: $Vu, 35: $Vv, 37: $Vw, 39: $Vx }, { 5: $Vs, 29: 117, 30: $Vt, 33: $Vu, 35: $Vv, 37: $Vw, 39: $Vx }, { 5: $Vs, 29: 118, 30: $Vt, 33: $Vu, 35: $Vv, 37: $Vw, 39: $Vx }, { 5: $Vs, 29: 119, 30: $Vt, 33: $Vu, 35: $Vv, 37: $Vw, 39: $Vx }, { 5: $Vy, 39: $Vz, 55: 120, 56: $VA, 58: $VB }, { 5: $Vy, 39: $Vz, 55: 121, 56: $VA, 58: $VB }, o($VC, [2, 20]), o($VC, [2, 21]), o($VC, [2, 22]), o($VC, [2, 23]), o($VC, [2, 40]), o($VC, [2, 41])], + defaultActions: { 8: [2, 9], 10: [2, 2], 16: [2, 1], 37: [2, 3], 38: [2, 14], 39: [2, 15], 40: [2, 16], 41: [2, 17], 42: [2, 18], 44: [2, 53], 45: [2, 54], 47: [2, 59], 48: [2, 60], 52: [2, 11], 93: [2, 57], 94: [2, 58], 96: [2, 32], 97: [2, 33], 98: [2, 34], 100: [2, 35], 101: [2, 36], 102: [2, 37], 103: [2, 38], 105: [2, 61], 106: [2, 62], 108: [2, 63], 109: [2, 64] }, + parseError: function parseError(str, hash) { + if (hash.recoverable) { + this.trace(str); + } else { + var error = new Error(str); + error.hash = hash; + throw error; + } + }, + parse: function parse(input) { + var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = "", yylineno = 0, yyleng = 0, TERROR = 2, EOF = 1; + var args = lstack.slice.call(arguments, 1); + var lexer2 = Object.create(this.lexer); + var sharedState = { yy: {} }; + for (var k in this.yy) { + if (Object.prototype.hasOwnProperty.call(this.yy, k)) { + sharedState.yy[k] = this.yy[k]; + } + } + lexer2.setInput(input, sharedState.yy); + sharedState.yy.lexer = lexer2; + sharedState.yy.parser = this; + if (typeof lexer2.yylloc == "undefined") { + lexer2.yylloc = {}; + } + var yyloc = lexer2.yylloc; + lstack.push(yyloc); + var ranges = lexer2.options && lexer2.options.ranges; + if (typeof sharedState.yy.parseError === "function") { + this.parseError = sharedState.yy.parseError; + } else { + this.parseError = Object.getPrototypeOf(this).parseError; + } + function lex() { + var token; + token = tstack.pop() || lexer2.lex() || EOF; + if (typeof token !== "number") { + if (token instanceof Array) { + tstack = token; + token = tstack.pop(); + } + token = self.symbols_[token] || token; + } + return token; + } + var symbol, state, action, r, yyval = {}, p, len, newState, expected; + while (true) { + state = stack[stack.length - 1]; + if (this.defaultActions[state]) { + action = this.defaultActions[state]; + } else { + if (symbol === null || typeof symbol == "undefined") { + symbol = lex(); + } + action = table[state] && table[state][symbol]; + } + if (typeof action === "undefined" || !action.length || !action[0]) { + var errStr = ""; + expected = []; + for (p in table[state]) { + if (this.terminals_[p] && p > TERROR) { + expected.push("'" + this.terminals_[p] + "'"); + } + } + if (lexer2.showPosition) { + errStr = "Parse error on line " + (yylineno + 1) + ":\n" + lexer2.showPosition() + "\nExpecting " + expected.join(", ") + ", got '" + (this.terminals_[symbol] || symbol) + "'"; + } else { + errStr = "Parse error on line " + (yylineno + 1) + ": Unexpected " + (symbol == EOF ? "end of input" : "'" + (this.terminals_[symbol] || symbol) + "'"); + } + this.parseError(errStr, { + text: lexer2.match, + token: this.terminals_[symbol] || symbol, + line: lexer2.yylineno, + loc: yyloc, + expected + }); + } + if (action[0] instanceof Array && action.length > 1) { + throw new Error("Parse Error: multiple actions possible at state: " + state + ", token: " + symbol); + } + switch (action[0]) { + case 1: + stack.push(symbol); + vstack.push(lexer2.yytext); + lstack.push(lexer2.yylloc); + stack.push(action[1]); + symbol = null; + { + yyleng = lexer2.yyleng; + yytext = lexer2.yytext; + yylineno = lexer2.yylineno; + yyloc = lexer2.yylloc; + } + break; + case 2: + len = this.productions_[action[1]][1]; + yyval.$ = vstack[vstack.length - len]; + yyval._$ = { + first_line: lstack[lstack.length - (len || 1)].first_line, + last_line: lstack[lstack.length - 1].last_line, + first_column: lstack[lstack.length - (len || 1)].first_column, + last_column: lstack[lstack.length - 1].last_column + }; + if (ranges) { + yyval._$.range = [ + lstack[lstack.length - (len || 1)].range[0], + lstack[lstack.length - 1].range[1] + ]; + } + r = this.performAction.apply(yyval, [ + yytext, + yyleng, + yylineno, + sharedState.yy, + action[1], + vstack, + lstack + ].concat(args)); + if (typeof r !== "undefined") { + return r; + } + if (len) { + stack = stack.slice(0, -1 * len * 2); + vstack = vstack.slice(0, -1 * len); + lstack = lstack.slice(0, -1 * len); + } + stack.push(this.productions_[action[1]][0]); + vstack.push(yyval.$); + lstack.push(yyval._$); + newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; + stack.push(newState); + break; + case 3: + return true; + } + } + return true; + } + }; + var lexer = function() { + var lexer2 = { + EOF: 1, + parseError: function parseError(str, hash) { + if (this.yy.parser) { + this.yy.parser.parseError(str, hash); + } else { + throw new Error(str); + } + }, + // resets the lexer, sets new input + setInput: function(input, yy) { + this.yy = yy || this.yy || {}; + this._input = input; + this._more = this._backtrack = this.done = false; + this.yylineno = this.yyleng = 0; + this.yytext = this.matched = this.match = ""; + this.conditionStack = ["INITIAL"]; + this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }; + if (this.options.ranges) { + this.yylloc.range = [0, 0]; + } + this.offset = 0; + return this; + }, + // consumes and returns one char from the input + input: function() { + var ch = this._input[0]; + this.yytext += ch; + this.yyleng++; + this.offset++; + this.match += ch; + this.matched += ch; + var lines = ch.match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno++; + this.yylloc.last_line++; + } else { + this.yylloc.last_column++; + } + if (this.options.ranges) { + this.yylloc.range[1]++; + } + this._input = this._input.slice(1); + return ch; + }, + // unshifts one char (or a string) into the input + unput: function(ch) { + var len = ch.length; + var lines = ch.split(/(?:\r\n?|\n)/g); + this._input = ch + this._input; + this.yytext = this.yytext.substr(0, this.yytext.length - len); + this.offset -= len; + var oldLines = this.match.split(/(?:\r\n?|\n)/g); + this.match = this.match.substr(0, this.match.length - 1); + this.matched = this.matched.substr(0, this.matched.length - 1); + if (lines.length - 1) { + this.yylineno -= lines.length - 1; + } + var r = this.yylloc.range; + this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len + }; + if (this.options.ranges) { + this.yylloc.range = [r[0], r[0] + this.yyleng - len]; + } + this.yyleng = this.yytext.length; + return this; + }, + // When called from action, caches matched text and appends it on next action + more: function() { + this._more = true; + return this; + }, + // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. + reject: function() { + if (this.options.backtrack_lexer) { + this._backtrack = true; + } else { + return this.parseError("Lexical error on line " + (this.yylineno + 1) + ". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n" + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + } + return this; + }, + // retain first n characters of the match + less: function(n) { + this.unput(this.match.slice(n)); + }, + // displays already matched input, i.e. for error messages + pastInput: function() { + var past = this.matched.substr(0, this.matched.length - this.match.length); + return (past.length > 20 ? "..." : "") + past.substr(-20).replace(/\n/g, ""); + }, + // displays upcoming input, i.e. for error messages + upcomingInput: function() { + var next = this.match; + if (next.length < 20) { + next += this._input.substr(0, 20 - next.length); + } + return (next.substr(0, 20) + (next.length > 20 ? "..." : "")).replace(/\n/g, ""); + }, + // displays the character position where the lexing error occurred, i.e. for error messages + showPosition: function() { + var pre = this.pastInput(); + var c = new Array(pre.length + 1).join("-"); + return pre + this.upcomingInput() + "\n" + c + "^"; + }, + // test the lexed token: return FALSE when not a match, otherwise return token + test_match: function(match, indexed_rule) { + var token, lines, backup; + if (this.options.backtrack_lexer) { + backup = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }; + if (this.options.ranges) { + backup.yylloc.range = this.yylloc.range.slice(0); + } + } + lines = match[0].match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno += lines.length; + } + this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length + }; + this.yytext += match[0]; + this.match += match[0]; + this.matches = match; + this.yyleng = this.yytext.length; + if (this.options.ranges) { + this.yylloc.range = [this.offset, this.offset += this.yyleng]; + } + this._more = false; + this._backtrack = false; + this._input = this._input.slice(match[0].length); + this.matched += match[0]; + token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); + if (this.done && this._input) { + this.done = false; + } + if (token) { + return token; + } else if (this._backtrack) { + for (var k in backup) { + this[k] = backup[k]; + } + return false; + } + return false; + }, + // return next match in input + next: function() { + if (this.done) { + return this.EOF; + } + if (!this._input) { + this.done = true; + } + var token, match, tempMatch, index; + if (!this._more) { + this.yytext = ""; + this.match = ""; + } + var rules = this._currentRules(); + for (var i = 0; i < rules.length; i++) { + tempMatch = this._input.match(this.rules[rules[i]]); + if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { + match = tempMatch; + index = i; + if (this.options.backtrack_lexer) { + token = this.test_match(tempMatch, rules[i]); + if (token !== false) { + return token; + } else if (this._backtrack) { + match = false; + continue; + } else { + return false; + } + } else if (!this.options.flex) { + break; + } + } + } + if (match) { + token = this.test_match(match, rules[index]); + if (token !== false) { + return token; + } + return false; + } + if (this._input === "") { + return this.EOF; + } else { + return this.parseError("Lexical error on line " + (this.yylineno + 1) + ". Unrecognized text.\n" + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + } + }, + // return next match that has a token + lex: function lex() { + var r = this.next(); + if (r) { + return r; + } else { + return this.lex(); + } + }, + // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) + begin: function begin(condition) { + this.conditionStack.push(condition); + }, + // pop the previously active lexer condition state off the condition stack + popState: function popState() { + var n = this.conditionStack.length - 1; + if (n > 0) { + return this.conditionStack.pop(); + } else { + return this.conditionStack[0]; + } + }, + // produce the lexer rule set which is active for the currently active lexer condition state + _currentRules: function _currentRules() { + if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { + return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; + } else { + return this.conditions["INITIAL"].rules; + } + }, + // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available + topState: function topState(n) { + n = this.conditionStack.length - 1 - Math.abs(n || 0); + if (n >= 0) { + return this.conditionStack[n]; + } else { + return "INITIAL"; + } + }, + // alias for begin(condition) + pushState: function pushState(condition) { + this.begin(condition); + }, + // return the number of states currently on the stack + stateStackSize: function stateStackSize() { + return this.conditionStack.length; + }, + options: { "case-insensitive": true }, + performAction: function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) { + switch ($avoiding_name_collisions) { + case 0: + this.begin("open_directive"); + return 19; + case 1: + this.begin("type_directive"); + return 20; + case 2: + this.popState(); + this.begin("arg_directive"); + return 12; + case 3: + this.popState(); + this.popState(); + return 22; + case 4: + return 21; + case 5: + return "title"; + case 6: + this.begin("acc_title"); + return 14; + case 7: + this.popState(); + return "acc_title_value"; + case 8: + this.begin("acc_descr"); + return 16; + case 9: + this.popState(); + return "acc_descr_value"; + case 10: + this.begin("acc_descr_multiline"); + break; + case 11: + this.popState(); + break; + case 12: + return "acc_descr_multiline_value"; + case 13: + return 5; + case 14: + break; + case 15: + break; + case 16: + break; + case 17: + return 8; + case 18: + return 6; + case 19: + return 28; + case 20: + return 39; + case 21: + return 31; + case 22: + return 30; + case 23: + return 33; + case 24: + return 35; + case 25: + return 37; + case 26: + return 40; + case 27: + return 41; + case 28: + return 42; + case 29: + return 43; + case 30: + return 44; + case 31: + return 45; + case 32: + return 46; + case 33: + return 47; + case 34: + return 48; + case 35: + return 49; + case 36: + return 50; + case 37: + return 51; + case 38: + return 52; + case 39: + return 53; + case 40: + return 64; + case 41: + return 65; + case 42: + return 66; + case 43: + return 67; + case 44: + return 68; + case 45: + return 69; + case 46: + return 70; + case 47: + return 56; + case 48: + return 58; + case 49: + return 60; + case 50: + return 63; + case 51: + return 62; + case 52: + this.begin("string"); + break; + case 53: + this.popState(); + break; + case 54: + return "qString"; + case 55: + yy_.yytext = yy_.yytext.trim(); + return 71; + } + }, + rules: [/^(?:%%\{)/i, /^(?:((?:(?!\}%%)[^:.])*))/i, /^(?::)/i, /^(?:\}%%)/i, /^(?:((?:(?!\}%%).|\n)*))/i, /^(?:title\s[^#\n;]+)/i, /^(?:accTitle\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*\{\s*)/i, /^(?:[\}])/i, /^(?:[^\}]*)/i, /^(?:(\r?\n)+)/i, /^(?:\s+)/i, /^(?:#[^\n]*)/i, /^(?:%[^\n]*)/i, /^(?:$)/i, /^(?:requirementDiagram\b)/i, /^(?:\{)/i, /^(?:\})/i, /^(?::)/i, /^(?:id\b)/i, /^(?:text\b)/i, /^(?:risk\b)/i, /^(?:verifyMethod\b)/i, /^(?:requirement\b)/i, /^(?:functionalRequirement\b)/i, /^(?:interfaceRequirement\b)/i, /^(?:performanceRequirement\b)/i, /^(?:physicalRequirement\b)/i, /^(?:designConstraint\b)/i, /^(?:low\b)/i, /^(?:medium\b)/i, /^(?:high\b)/i, /^(?:analysis\b)/i, /^(?:demonstration\b)/i, /^(?:inspection\b)/i, /^(?:test\b)/i, /^(?:element\b)/i, /^(?:contains\b)/i, /^(?:copies\b)/i, /^(?:derives\b)/i, /^(?:satisfies\b)/i, /^(?:verifies\b)/i, /^(?:refines\b)/i, /^(?:traces\b)/i, /^(?:type\b)/i, /^(?:docref\b)/i, /^(?:<-)/i, /^(?:->)/i, /^(?:-)/i, /^(?:["])/i, /^(?:["])/i, /^(?:[^"]*)/i, /^(?:[\w][^\r\n\{\<\>\-\=]*)/i], + conditions: { "acc_descr_multiline": { "rules": [11, 12], "inclusive": false }, "acc_descr": { "rules": [9], "inclusive": false }, "acc_title": { "rules": [7], "inclusive": false }, "close_directive": { "rules": [], "inclusive": false }, "arg_directive": { "rules": [3, 4], "inclusive": false }, "type_directive": { "rules": [2, 3], "inclusive": false }, "open_directive": { "rules": [1], "inclusive": false }, "unqString": { "rules": [], "inclusive": false }, "token": { "rules": [], "inclusive": false }, "string": { "rules": [53, 54], "inclusive": false }, "INITIAL": { "rules": [0, 5, 6, 8, 10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 55], "inclusive": true } } + }; + return lexer2; + }(); + parser2.lexer = lexer; + function Parser() { + this.yy = {}; + } + Parser.prototype = parser2; + parser2.Parser = Parser; + return new Parser(); +}(); +parser.parser = parser; +const parser$1 = parser; +let relations = []; +let latestRequirement = {}; +let requirements = {}; +let latestElement = {}; +let elements = {}; +const RequirementType = { + REQUIREMENT: "Requirement", + FUNCTIONAL_REQUIREMENT: "Functional Requirement", + INTERFACE_REQUIREMENT: "Interface Requirement", + PERFORMANCE_REQUIREMENT: "Performance Requirement", + PHYSICAL_REQUIREMENT: "Physical Requirement", + DESIGN_CONSTRAINT: "Design Constraint" +}; +const RiskLevel = { + LOW_RISK: "Low", + MED_RISK: "Medium", + HIGH_RISK: "High" +}; +const VerifyType = { + VERIFY_ANALYSIS: "Analysis", + VERIFY_DEMONSTRATION: "Demonstration", + VERIFY_INSPECTION: "Inspection", + VERIFY_TEST: "Test" +}; +const Relationships = { + CONTAINS: "contains", + COPIES: "copies", + DERIVES: "derives", + SATISFIES: "satisfies", + VERIFIES: "verifies", + REFINES: "refines", + TRACES: "traces" +}; +const parseDirective = function(statement, context, type) { + _mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_6__.m.parseDirective(this, statement, context, type); +}; +const addRequirement = (name, type) => { + if (requirements[name] === void 0) { + requirements[name] = { + name, + type, + id: latestRequirement.id, + text: latestRequirement.text, + risk: latestRequirement.risk, + verifyMethod: latestRequirement.verifyMethod + }; + } + latestRequirement = {}; + return requirements[name]; +}; +const getRequirements = () => requirements; +const setNewReqId = (id) => { + if (latestRequirement !== void 0) { + latestRequirement.id = id; + } +}; +const setNewReqText = (text) => { + if (latestRequirement !== void 0) { + latestRequirement.text = text; + } +}; +const setNewReqRisk = (risk) => { + if (latestRequirement !== void 0) { + latestRequirement.risk = risk; + } +}; +const setNewReqVerifyMethod = (verifyMethod) => { + if (latestRequirement !== void 0) { + latestRequirement.verifyMethod = verifyMethod; + } +}; +const addElement = (name) => { + if (elements[name] === void 0) { + elements[name] = { + name, + type: latestElement.type, + docRef: latestElement.docRef + }; + _mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_6__.l.info("Added new requirement: ", name); + } + latestElement = {}; + return elements[name]; +}; +const getElements = () => elements; +const setNewElementType = (type) => { + if (latestElement !== void 0) { + latestElement.type = type; + } +}; +const setNewElementDocRef = (docRef) => { + if (latestElement !== void 0) { + latestElement.docRef = docRef; + } +}; +const addRelationship = (type, src, dst) => { + relations.push({ + type, + src, + dst + }); +}; +const getRelationships = () => relations; +const clear = () => { + relations = []; + latestRequirement = {}; + requirements = {}; + latestElement = {}; + elements = {}; + (0,_mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_6__.v)(); +}; +const db = { + RequirementType, + RiskLevel, + VerifyType, + Relationships, + parseDirective, + getConfig: () => (0,_mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_6__.c)().req, + addRequirement, + getRequirements, + setNewReqId, + setNewReqText, + setNewReqRisk, + setNewReqVerifyMethod, + setAccTitle: _mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_6__.s, + getAccTitle: _mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_6__.g, + setAccDescription: _mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_6__.b, + getAccDescription: _mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_6__.a, + addElement, + getElements, + setNewElementType, + setNewElementDocRef, + addRelationship, + getRelationships, + clear +}; +const getStyles = (options) => ` + + marker { + fill: ${options.relationColor}; + stroke: ${options.relationColor}; + } + + marker.cross { + stroke: ${options.lineColor}; + } + + svg { + font-family: ${options.fontFamily}; + font-size: ${options.fontSize}; + } + + .reqBox { + fill: ${options.requirementBackground}; + fill-opacity: 1.0; + stroke: ${options.requirementBorderColor}; + stroke-width: ${options.requirementBorderSize}; + } + + .reqTitle, .reqLabel{ + fill: ${options.requirementTextColor}; + } + .reqLabelBox { + fill: ${options.relationLabelBackground}; + fill-opacity: 1.0; + } + + .req-title-line { + stroke: ${options.requirementBorderColor}; + stroke-width: ${options.requirementBorderSize}; + } + .relationshipLine { + stroke: ${options.relationColor}; + stroke-width: 1; + } + .relationshipLabel { + fill: ${options.relationLabelColor}; + } + +`; +const styles = getStyles; +const ReqMarkers = { + CONTAINS: "contains", + ARROW: "arrow" +}; +const insertLineEndings = (parentNode, conf2) => { + let containsNode = parentNode.append("defs").append("marker").attr("id", ReqMarkers.CONTAINS + "_line_ending").attr("refX", 0).attr("refY", conf2.line_height / 2).attr("markerWidth", conf2.line_height).attr("markerHeight", conf2.line_height).attr("orient", "auto").append("g"); + containsNode.append("circle").attr("cx", conf2.line_height / 2).attr("cy", conf2.line_height / 2).attr("r", conf2.line_height / 2).attr("fill", "none"); + containsNode.append("line").attr("x1", 0).attr("x2", conf2.line_height).attr("y1", conf2.line_height / 2).attr("y2", conf2.line_height / 2).attr("stroke-width", 1); + containsNode.append("line").attr("y1", 0).attr("y2", conf2.line_height).attr("x1", conf2.line_height / 2).attr("x2", conf2.line_height / 2).attr("stroke-width", 1); + parentNode.append("defs").append("marker").attr("id", ReqMarkers.ARROW + "_line_ending").attr("refX", conf2.line_height).attr("refY", 0.5 * conf2.line_height).attr("markerWidth", conf2.line_height).attr("markerHeight", conf2.line_height).attr("orient", "auto").append("path").attr( + "d", + `M0,0 + L${conf2.line_height},${conf2.line_height / 2} + M${conf2.line_height},${conf2.line_height / 2} + L0,${conf2.line_height}` + ).attr("stroke-width", 1); +}; +const markers = { + ReqMarkers, + insertLineEndings +}; +let conf = {}; +let relCnt = 0; +const newRectNode = (parentNode, id) => { + return parentNode.insert("rect", "#" + id).attr("class", "req reqBox").attr("x", 0).attr("y", 0).attr("width", conf.rect_min_width + "px").attr("height", conf.rect_min_height + "px"); +}; +const newTitleNode = (parentNode, id, txts) => { + let x = conf.rect_min_width / 2; + let title = parentNode.append("text").attr("class", "req reqLabel reqTitle").attr("id", id).attr("x", x).attr("y", conf.rect_padding).attr("dominant-baseline", "hanging"); + let i = 0; + txts.forEach((textStr) => { + if (i == 0) { + title.append("tspan").attr("text-anchor", "middle").attr("x", conf.rect_min_width / 2).attr("dy", 0).text(textStr); + } else { + title.append("tspan").attr("text-anchor", "middle").attr("x", conf.rect_min_width / 2).attr("dy", conf.line_height * 0.75).text(textStr); + } + i++; + }); + let yPadding = 1.5 * conf.rect_padding; + let linePadding = i * conf.line_height * 0.75; + let totalY = yPadding + linePadding; + parentNode.append("line").attr("class", "req-title-line").attr("x1", "0").attr("x2", conf.rect_min_width).attr("y1", totalY).attr("y2", totalY); + return { + titleNode: title, + y: totalY + }; +}; +const newBodyNode = (parentNode, id, txts, yStart) => { + let body = parentNode.append("text").attr("class", "req reqLabel").attr("id", id).attr("x", conf.rect_padding).attr("y", yStart).attr("dominant-baseline", "hanging"); + let currentRow = 0; + const charLimit = 30; + let wrappedTxts = []; + txts.forEach((textStr) => { + let currentTextLen = textStr.length; + while (currentTextLen > charLimit && currentRow < 3) { + let firstPart = textStr.substring(0, charLimit); + textStr = textStr.substring(charLimit, textStr.length); + currentTextLen = textStr.length; + wrappedTxts[wrappedTxts.length] = firstPart; + currentRow++; + } + if (currentRow == 3) { + let lastStr = wrappedTxts[wrappedTxts.length - 1]; + wrappedTxts[wrappedTxts.length - 1] = lastStr.substring(0, lastStr.length - 4) + "..."; + } else { + wrappedTxts[wrappedTxts.length] = textStr; + } + currentRow = 0; + }); + wrappedTxts.forEach((textStr) => { + body.append("tspan").attr("x", conf.rect_padding).attr("dy", conf.line_height).text(textStr); + }); + return body; +}; +const addEdgeLabel = (parentNode, svgPath, conf2, txt) => { + const len = svgPath.node().getTotalLength(); + const labelPoint = svgPath.node().getPointAtLength(len * 0.5); + const labelId = "rel" + relCnt; + relCnt++; + const labelNode = parentNode.append("text").attr("class", "req relationshipLabel").attr("id", labelId).attr("x", labelPoint.x).attr("y", labelPoint.y).attr("text-anchor", "middle").attr("dominant-baseline", "middle").text(txt); + const labelBBox = labelNode.node().getBBox(); + parentNode.insert("rect", "#" + labelId).attr("class", "req reqLabelBox").attr("x", labelPoint.x - labelBBox.width / 2).attr("y", labelPoint.y - labelBBox.height / 2).attr("width", labelBBox.width).attr("height", labelBBox.height).attr("fill", "white").attr("fill-opacity", "85%"); +}; +const drawRelationshipFromLayout = function(svg, rel, g, insert, diagObj) { + const edge = g.edge(elementString(rel.src), elementString(rel.dst)); + const lineFunction = (0,d3__WEBPACK_IMPORTED_MODULE_0__/* .line */ .jvg)().x(function(d) { + return d.x; + }).y(function(d) { + return d.y; + }); + const svgPath = svg.insert("path", "#" + insert).attr("class", "er relationshipLine").attr("d", lineFunction(edge.points)).attr("fill", "none"); + if (rel.type == diagObj.db.Relationships.CONTAINS) { + svgPath.attr( + "marker-start", + "url(" + _mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_6__.e.getUrl(conf.arrowMarkerAbsolute) + "#" + rel.type + "_line_ending)" + ); + } else { + svgPath.attr("stroke-dasharray", "10,7"); + svgPath.attr( + "marker-end", + "url(" + _mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_6__.e.getUrl(conf.arrowMarkerAbsolute) + "#" + markers.ReqMarkers.ARROW + "_line_ending)" + ); + } + addEdgeLabel(svg, svgPath, conf, `<<${rel.type}>>`); + return; +}; +const drawReqs = (reqs, graph, svgNode) => { + Object.keys(reqs).forEach((reqName) => { + let req = reqs[reqName]; + reqName = elementString(reqName); + _mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_6__.l.info("Added new requirement: ", reqName); + const groupNode = svgNode.append("g").attr("id", reqName); + const textId = "req-" + reqName; + const rectNode = newRectNode(groupNode, textId); + let titleNodeInfo = newTitleNode(groupNode, reqName + "_title", [ + `<<${req.type}>>`, + `${req.name}` + ]); + newBodyNode( + groupNode, + reqName + "_body", + [ + `Id: ${req.id}`, + `Text: ${req.text}`, + `Risk: ${req.risk}`, + `Verification: ${req.verifyMethod}` + ], + titleNodeInfo.y + ); + const rectBBox = rectNode.node().getBBox(); + graph.setNode(reqName, { + width: rectBBox.width, + height: rectBBox.height, + shape: "rect", + id: reqName + }); + }); +}; +const drawElements = (els, graph, svgNode) => { + Object.keys(els).forEach((elName) => { + let el = els[elName]; + const id = elementString(elName); + const groupNode = svgNode.append("g").attr("id", id); + const textId = "element-" + id; + const rectNode = newRectNode(groupNode, textId); + let titleNodeInfo = newTitleNode(groupNode, textId + "_title", [`<>`, `${elName}`]); + newBodyNode( + groupNode, + textId + "_body", + [`Type: ${el.type || "Not Specified"}`, `Doc Ref: ${el.docRef || "None"}`], + titleNodeInfo.y + ); + const rectBBox = rectNode.node().getBBox(); + graph.setNode(id, { + width: rectBBox.width, + height: rectBBox.height, + shape: "rect", + id + }); + }); +}; +const addRelationships = (relationships, g) => { + relationships.forEach(function(r) { + let src = elementString(r.src); + let dst = elementString(r.dst); + g.setEdge(src, dst, { relationship: r }); + }); + return relationships; +}; +const adjustEntities = function(svgNode, graph) { + graph.nodes().forEach(function(v) { + if (v !== void 0 && graph.node(v) !== void 0) { + svgNode.select("#" + v); + svgNode.select("#" + v).attr( + "transform", + "translate(" + (graph.node(v).x - graph.node(v).width / 2) + "," + (graph.node(v).y - graph.node(v).height / 2) + " )" + ); + } + }); + return; +}; +const elementString = (str) => { + return str.replace(/\s/g, "").replace(/\./g, "_"); +}; +const draw = (text, id, _version, diagObj) => { + conf = (0,_mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_6__.c)().requirement; + const securityLevel = conf.securityLevel; + let sandboxElement; + if (securityLevel === "sandbox") { + sandboxElement = (0,d3__WEBPACK_IMPORTED_MODULE_0__/* .select */ .Ys)("#i" + id); + } + const root = securityLevel === "sandbox" ? (0,d3__WEBPACK_IMPORTED_MODULE_0__/* .select */ .Ys)(sandboxElement.nodes()[0].contentDocument.body) : (0,d3__WEBPACK_IMPORTED_MODULE_0__/* .select */ .Ys)("body"); + const svg = root.select(`[id='${id}']`); + markers.insertLineEndings(svg, conf); + const g = new dagre_d3_es_src_graphlib_index_js__WEBPACK_IMPORTED_MODULE_2__/* .Graph */ .k({ + multigraph: false, + compound: false, + directed: true + }).setGraph({ + rankdir: conf.layoutDirection, + marginx: 20, + marginy: 20, + nodesep: 100, + edgesep: 100, + ranksep: 100 + }).setDefaultEdgeLabel(function() { + return {}; + }); + let requirements2 = diagObj.db.getRequirements(); + let elements2 = diagObj.db.getElements(); + let relationships = diagObj.db.getRelationships(); + drawReqs(requirements2, g, svg); + drawElements(elements2, g, svg); + addRelationships(relationships, g); + (0,dagre_d3_es_src_dagre_index_js__WEBPACK_IMPORTED_MODULE_1__/* .layout */ .bK)(g); + adjustEntities(svg, g); + relationships.forEach(function(rel) { + drawRelationshipFromLayout(svg, rel, g, id, diagObj); + }); + const padding = conf.rect_padding; + const svgBounds = svg.node().getBBox(); + const width = svgBounds.width + padding * 2; + const height = svgBounds.height + padding * 2; + (0,_mermaid_768dc893_js__WEBPACK_IMPORTED_MODULE_6__.i)(svg, height, width, conf.useMaxWidth); + svg.attr("viewBox", `${svgBounds.x - padding} ${svgBounds.y - padding} ${width} ${height}`); +}; +const renderer = { + draw +}; +const diagram = { + parser: parser$1, + db, + renderer, + styles +}; + + + +/***/ }) + +}; +; \ No newline at end of file diff --git a/assets/js/1a9a3f27.fac05d51.js b/assets/js/1a9a3f27.fac05d51.js new file mode 100644 index 00000000..aa5ea053 --- /dev/null +++ b/assets/js/1a9a3f27.fac05d51.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkbeacon_docs=self.webpackChunkbeacon_docs||[]).push([[6203],{3905:(e,n,t)=>{t.d(n,{Zo:()=>p,kt:()=>f});var a=t(67294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function c(e){for(var n=1;n=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var i=a.createContext({}),l=function(e){var n=a.useContext(i),t=n;return e&&(t="function"==typeof e?e(n):c(c({},n),e)),t},p=function(e){var n=l(e.components);return a.createElement(i.Provider,{value:n},e.children)},u="mdxType",b={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},d=a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),u=l(t),d=r,f=u["".concat(i,".").concat(d)]||u[d]||b[d]||o;return t?a.createElement(f,c(c({ref:n},p),{},{components:t})):a.createElement(f,c({ref:n},p))}));function f(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var o=t.length,c=new Array(o);c[0]=d;var s={};for(var i in n)hasOwnProperty.call(n,i)&&(s[i]=n[i]);s.originalType=e,s[u]="string"==typeof e?e:r,c[1]=s;for(var l=2;l{t.r(n),t.d(n,{assets:()=>i,contentTitle:()=>c,default:()=>b,frontMatter:()=>o,metadata:()=>s,toc:()=>l});var a=t(87462),r=(t(67294),t(3905));const o={title:"Usage",slug:"/blockchains/usage"},c=void 0,s={unversionedId:"blockchains/usage",id:"blockchains/usage",title:"Usage",description:"Let's look at an example how a dApp can be initialized with support for a substrate based blockchain.",source:"@site/docs/blockchains/usage.md",sourceDirName:"blockchains",slug:"/blockchains/usage",permalink:"/blockchains/usage",draft:!1,editUrl:"https://github.com/airgap-it/beacon-docs/edit/main/src/docs/blockchains/usage.md",tags:[],version:"current",frontMatter:{title:"Usage",slug:"/blockchains/usage"},sidebar:"docs",previous:{title:"Introduction",permalink:"/blockchains/introduction"},next:{title:"Substrate",permalink:"/blockchains/substrate"}},i={},l=[],p={toc:l},u="wrapper";function b(e){let{components:n,...t}=e;return(0,r.kt)(u,(0,a.Z)({},p,t,{components:n,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"Let's look at an example how a dApp can be initialized with support for a ",(0,r.kt)("inlineCode",{parentName:"p"},"substrate")," based blockchain."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-ts"},'import { DAppClient } from "@airgap/beacon-dapp";\nimport { SubstrateBlockchain } from "@airgap/beacon-blockchain-substrate";\n\nconst client = new DAppClient({\n name: "Example dApp",\n});\n\nconst substrateBlockchain = new SubstrateBlockchain();\nclient.addBlockchain(substrateBlockchain);\n\nclient.getActiveAccount().then((activeAccount) => {\n client\n .request({\n blockchainIdentifier: "substrate",\n type: "blockchain_request",\n blockchainData: {\n type: "transfer_request",\n scope: "transfer",\n sourceAddress: activeAccount.address,\n amount: "1",\n recipient: activeAccount.address, // Send to self\n network: {\n genesisHash:\n "0xe3777fa922cafbff200cadeaea1a76bd7898ad5b89f7848999058b50e715f636",\n },\n mode: "return",\n },\n })\n .then((response) => {\n console.log("response", response);\n });\n});\n')),(0,r.kt)("p",null,"On the wallet side, the blockchain doesn't explicitly have to be registered, it can be filtered by the ",(0,r.kt)("inlineCode",{parentName:"p"},"blockchainIdentifier")," property."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-ts"},'import { WalletClient } from "@airgap/beacon-wallet";\nimport { BeaconMessageType } from "@airgap/beacon-types";\n\nconst client = new WalletClient({\n name: "Example Wallet", // Name of the Wallet\n});\n\nawait client.init();\n\nclient.connect(async (message) => {\n if (message.version === "3") {\n // Example: Handle PermissionRequest. A wallet should handle all request types\n if (message.message.type === beacon.BeaconMessageType.PermissionRequest) {\n if (message.message.blockchainIdentifier !== "substrate") {\n throw new Error("Only KSM supported");\n }\n console.log("SUBSTRATE MESSAGE");\n // Show a UI to the user where he can confirm sharing an account with the dApp\n\n const response = {\n id: message.id,\n type: BeaconMessageType.PermissionResponse,\n blockchainData: {\n appMetadata: { name: "Example Wallet" },\n scopes: [0],\n accounts: [\n {\n network: {\n genesisHash:\n "0xe3777fa922cafbff200cadeaea1a76bd7898ad5b89f7848999058b50e715f636",\n },\n addressPrefix: 0,\n publicKey:\n "3b92229274683b338cf8b040cf91ac0f8e19e410f06eda5537ef077e718e0024",\n },\n ],\n },\n\n\n // Send response back to dApp\n client.respond(response);\n }\n }\n});\n')))}b.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1be78505.76b6bc55.js b/assets/js/1be78505.76b6bc55.js new file mode 100644 index 00000000..9384fbed --- /dev/null +++ b/assets/js/1be78505.76b6bc55.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkbeacon_docs=self.webpackChunkbeacon_docs||[]).push([[9514,4972],{19963:(e,t,n)=>{n.r(t),n.d(t,{default:()=>ge});var a=n(67294),o=n(86010),l=n(1944),r=n(35281),c=n(43320),i=n(53438),s=n(74477),d=n(1116),m=n(71155),u=n(95999),b=n(12466),p=n(85936);const h={backToTopButton:"backToTopButton_sjWU",backToTopButtonShow:"backToTopButtonShow_xfvO"};function E(){const{shown:e,scrollToTop:t}=function(e){let{threshold:t}=e;const[n,o]=(0,a.useState)(!1),l=(0,a.useRef)(!1),{startScroll:r,cancelScroll:c}=(0,b.Ct)();return(0,b.RF)(((e,n)=>{let{scrollY:a}=e;const r=n?.scrollY;r&&(l.current?l.current=!1:a>=r?(c(),o(!1)):a{e.location.hash&&(l.current=!0,o(!1))})),{shown:n,scrollToTop:()=>r(0)}}({threshold:300});return a.createElement("button",{"aria-label":(0,u.I)({id:"theme.BackToTopButton.buttonAriaLabel",message:"Scroll back to top",description:"The ARIA label for the back to top button"}),className:(0,o.Z)("clean-btn",r.k.common.backToTopButton,h.backToTopButton,e&&h.backToTopButtonShow),type:"button",onClick:t})}var f=n(91442),g=n(16550),v=n(87524),k=n(86668),_=n(21327),C=n(87462);function S(e){return a.createElement("svg",(0,C.Z)({width:"20",height:"20","aria-hidden":"true"},e),a.createElement("g",{fill:"#7a7a7a"},a.createElement("path",{d:"M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"}),a.createElement("path",{d:"M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"})))}const I={collapseSidebarButton:"collapseSidebarButton_PEFL",collapseSidebarButtonIcon:"collapseSidebarButtonIcon_kv0_"};function N(e){let{onClick:t}=e;return a.createElement("button",{type:"button",title:(0,u.I)({id:"theme.docs.sidebar.collapseButtonTitle",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),"aria-label":(0,u.I)({id:"theme.docs.sidebar.collapseButtonAriaLabel",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),className:(0,o.Z)("button button--secondary button--outline",I.collapseSidebarButton),onClick:t},a.createElement(S,{className:I.collapseSidebarButtonIcon}))}var T=n(59689),x=n(902);const Z=Symbol("EmptyContext"),B=a.createContext(Z);function w(e){let{children:t}=e;const[n,o]=(0,a.useState)(null),l=(0,a.useMemo)((()=>({expandedItem:n,setExpandedItem:o})),[n]);return a.createElement(B.Provider,{value:l},t)}var y=n(86043),L=n(48596),A=n(39960),M=n(72389);function F(e){let{categoryLabel:t,onClick:n}=e;return a.createElement("button",{"aria-label":(0,u.I)({id:"theme.DocSidebarItem.toggleCollapsedCategoryAriaLabel",message:"Toggle the collapsible sidebar category '{label}'",description:"The ARIA label to toggle the collapsible sidebar category"},{label:t}),type:"button",className:"clean-btn menu__caret",onClick:n})}function H(e){let{item:t,onItemClick:n,activePath:l,level:c,index:s,...d}=e;const{items:m,label:u,collapsible:b,className:p,href:h}=t,{docs:{sidebar:{autoCollapseCategories:E}}}=(0,k.L)(),f=function(e){const t=(0,M.Z)();return(0,a.useMemo)((()=>e.href?e.href:!t&&e.collapsible?(0,i.Wl)(e):void 0),[e,t])}(t),g=(0,i._F)(t,l),v=(0,L.Mg)(h,l),{collapsed:_,setCollapsed:S}=(0,y.u)({initialState:()=>!!b&&(!g&&t.collapsed)}),{expandedItem:I,setExpandedItem:N}=function(){const e=(0,a.useContext)(B);if(e===Z)throw new x.i6("DocSidebarItemsExpandedStateProvider");return e}(),T=function(e){void 0===e&&(e=!_),N(e?null:s),S(e)};return function(e){let{isActive:t,collapsed:n,updateCollapsed:o}=e;const l=(0,x.D9)(t);(0,a.useEffect)((()=>{t&&!l&&n&&o(!1)}),[t,l,n,o])}({isActive:g,collapsed:_,updateCollapsed:T}),(0,a.useEffect)((()=>{b&&null!=I&&I!==s&&E&&S(!0)}),[b,I,s,S,E]),a.createElement("li",{className:(0,o.Z)(r.k.docs.docSidebarItemCategory,r.k.docs.docSidebarItemCategoryLevel(c),"menu__list-item",{"menu__list-item--collapsed":_},p)},a.createElement("div",{className:(0,o.Z)("menu__list-item-collapsible",{"menu__list-item-collapsible--active":v})},a.createElement(A.Z,(0,C.Z)({className:(0,o.Z)("menu__link",{"menu__link--sublist":b,"menu__link--sublist-caret":!h&&b,"menu__link--active":g}),onClick:b?e=>{n?.(t),h?T(!1):(e.preventDefault(),T())}:()=>{n?.(t)},"aria-current":v?"page":void 0,"aria-expanded":b?!_:void 0,href:b?f??"#":f},d),u),h&&b&&a.createElement(F,{categoryLabel:u,onClick:e=>{e.preventDefault(),T()}})),a.createElement(y.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:_},a.createElement(j,{items:m,tabIndex:_?-1:0,onItemClick:n,activePath:l,level:c+1})))}var P=n(13919),W=n(39471);const D={menuExternalLink:"menuExternalLink_NmtK"};function R(e){let{item:t,onItemClick:n,activePath:l,level:c,index:s,...d}=e;const{href:m,label:u,className:b,autoAddBaseUrl:p}=t,h=(0,i._F)(t,l),E=(0,P.Z)(m);return a.createElement("li",{className:(0,o.Z)(r.k.docs.docSidebarItemLink,r.k.docs.docSidebarItemLinkLevel(c),"menu__list-item",b),key:u},a.createElement(A.Z,(0,C.Z)({className:(0,o.Z)("menu__link",!E&&D.menuExternalLink,{"menu__link--active":h}),autoAddBaseUrl:p,"aria-current":h?"page":void 0,to:m},E&&{onClick:n?()=>n(t):void 0},d),u,!E&&a.createElement(W.Z,null)))}const V={menuHtmlItem:"menuHtmlItem_M9Kj"};function U(e){let{item:t,level:n,index:l}=e;const{value:c,defaultStyle:i,className:s}=t;return a.createElement("li",{className:(0,o.Z)(r.k.docs.docSidebarItemLink,r.k.docs.docSidebarItemLinkLevel(n),i&&[V.menuHtmlItem,"menu__list-item"],s),key:l,dangerouslySetInnerHTML:{__html:c}})}function z(e){let{item:t,...n}=e;switch(t.type){case"category":return a.createElement(H,(0,C.Z)({item:t},n));case"html":return a.createElement(U,(0,C.Z)({item:t},n));default:return a.createElement(R,(0,C.Z)({item:t},n))}}function K(e){let{items:t,...n}=e;return a.createElement(w,null,t.map(((e,t)=>a.createElement(z,(0,C.Z)({key:t,item:e,index:t},n)))))}const j=(0,a.memo)(K),q={menu:"menu_SIkG",menuWithAnnouncementBar:"menuWithAnnouncementBar_GW3s"};function G(e){let{path:t,sidebar:n,className:l}=e;const c=function(){const{isActive:e}=(0,T.nT)(),[t,n]=(0,a.useState)(e);return(0,b.RF)((t=>{let{scrollY:a}=t;e&&n(0===a)}),[e]),e&&t}();return a.createElement("nav",{"aria-label":(0,u.I)({id:"theme.docs.sidebar.navAriaLabel",message:"Docs sidebar",description:"The ARIA label for the sidebar navigation"}),className:(0,o.Z)("menu thin-scrollbar",q.menu,c&&q.menuWithAnnouncementBar,l)},a.createElement("ul",{className:(0,o.Z)(r.k.docs.docSidebarMenu,"menu__list")},a.createElement(j,{items:n,activePath:t,level:1})))}const Y="sidebar_njMd",O="sidebarWithHideableNavbar_wUlq",X="sidebarHidden_VK0M",J="sidebarLogo_isFc";function Q(e){let{path:t,sidebar:n,onCollapse:l,isHidden:r}=e;const{navbar:{hideOnScroll:c},docs:{sidebar:{hideable:i}}}=(0,k.L)();return a.createElement("div",{className:(0,o.Z)(Y,c&&O,r&&X)},c&&a.createElement(_.Z,{tabIndex:-1,className:J}),a.createElement(G,{path:t,sidebar:n}),i&&a.createElement(N,{onClick:l}))}const $=a.memo(Q);var ee=n(13102),te=n(93163);const ne=e=>{let{sidebar:t,path:n}=e;const l=(0,te.e)();return a.createElement("ul",{className:(0,o.Z)(r.k.docs.docSidebarMenu,"menu__list")},a.createElement(j,{items:t,activePath:n,onItemClick:e=>{"category"===e.type&&e.href&&l.toggle(),"link"===e.type&&l.toggle()},level:1}))};function ae(e){return a.createElement(ee.Zo,{component:ne,props:e})}const oe=a.memo(ae);function le(e){const t=(0,v.i)(),n="desktop"===t||"ssr"===t,o="mobile"===t;return a.createElement(a.Fragment,null,n&&a.createElement($,e),o&&a.createElement(oe,e))}const re={expandButton:"expandButton_m80_",expandButtonIcon:"expandButtonIcon_BlDH"};function ce(e){let{toggleSidebar:t}=e;return a.createElement("div",{className:re.expandButton,title:(0,u.I)({id:"theme.docs.sidebar.expandButtonTitle",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),"aria-label":(0,u.I)({id:"theme.docs.sidebar.expandButtonAriaLabel",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),tabIndex:0,role:"button",onKeyDown:t,onClick:t},a.createElement(S,{className:re.expandButtonIcon}))}const ie={docSidebarContainer:"docSidebarContainer_b6E3",docSidebarContainerHidden:"docSidebarContainerHidden_b3ry",sidebarViewport:"sidebarViewport_Xe31"};function se(e){let{children:t}=e;const n=(0,d.V)();return a.createElement(a.Fragment,{key:n?.name??"noSidebar"},t)}function de(e){let{sidebar:t,hiddenSidebarContainer:n,setHiddenSidebarContainer:l}=e;const{pathname:c}=(0,g.TH)(),[i,s]=(0,a.useState)(!1),d=(0,a.useCallback)((()=>{i&&s(!1),!i&&(0,f.n)()&&s(!0),l((e=>!e))}),[l,i]);return a.createElement("aside",{className:(0,o.Z)(r.k.docs.docSidebarContainer,ie.docSidebarContainer,n&&ie.docSidebarContainerHidden),onTransitionEnd:e=>{e.currentTarget.classList.contains(ie.docSidebarContainer)&&n&&s(!0)}},a.createElement(se,null,a.createElement("div",{className:(0,o.Z)(ie.sidebarViewport,i&&ie.sidebarViewportHidden)},a.createElement(le,{sidebar:t,path:c,onCollapse:d,isHidden:i}),i&&a.createElement(ce,{toggleSidebar:d}))))}const me={docMainContainer:"docMainContainer_gTbr",docMainContainerEnhanced:"docMainContainerEnhanced_Uz_u",docItemWrapperEnhanced:"docItemWrapperEnhanced_czyv"};function ue(e){let{hiddenSidebarContainer:t,children:n}=e;const l=(0,d.V)();return a.createElement("main",{className:(0,o.Z)(me.docMainContainer,(t||!l)&&me.docMainContainerEnhanced)},a.createElement("div",{className:(0,o.Z)("container padding-top--md padding-bottom--lg",me.docItemWrapper,t&&me.docItemWrapperEnhanced)},n))}const be={docPage:"docPage__5DB",docsWrapper:"docsWrapper_BCFX","themedComponent--light":"themedComponent--light_NU7w"};function pe(e){let{children:t}=e;const n=(0,d.V)(),[o,l]=(0,a.useState)(!1);return a.createElement(m.Z,{wrapperClassName:be.docsWrapper},a.createElement(E,null),a.createElement("div",{className:be.docPage},n&&a.createElement(de,{sidebar:n.items,hiddenSidebarContainer:o,setHiddenSidebarContainer:l}),a.createElement(ue,{hiddenSidebarContainer:o},t)))}var he=n(4972),Ee=n(90197);function fe(e){const{versionMetadata:t}=e;return a.createElement(a.Fragment,null,a.createElement(Ee.Z,{version:t.version,tag:(0,c.os)(t.pluginId,t.version)}),a.createElement(l.d,null,t.noIndex&&a.createElement("meta",{name:"robots",content:"noindex, nofollow"})))}function ge(e){const{versionMetadata:t}=e,n=(0,i.hI)(e);if(!n)return a.createElement(he.default,null);const{docElement:c,sidebarName:m,sidebarItems:u}=n;return a.createElement(a.Fragment,null,a.createElement(fe,e),a.createElement(l.FG,{className:(0,o.Z)(r.k.wrapper.docsPages,r.k.page.docsDocPage,e.versionMetadata.className)},a.createElement(s.q,{version:t},a.createElement(d.b,{name:m,items:u},a.createElement(pe,null,c)))))}},4972:(e,t,n)=>{n.r(t),n.d(t,{default:()=>c});var a=n(67294),o=n(95999),l=n(1944),r=n(71155);function c(){return a.createElement(a.Fragment,null,a.createElement(l.d,{title:(0,o.I)({id:"theme.NotFound.title",message:"Page Not Found"})}),a.createElement(r.Z,null,a.createElement("main",{className:"container margin-vert--xl"},a.createElement("div",{className:"row"},a.createElement("div",{className:"col col--6 col--offset-3"},a.createElement("h1",{className:"hero__title"},a.createElement(o.Z,{id:"theme.NotFound.title",description:"The title of the 404 page"},"Page Not Found")),a.createElement("p",null,a.createElement(o.Z,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page"},"We could not find what you were looking for.")),a.createElement("p",null,a.createElement(o.Z,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page"},"Please contact the owner of the site that linked you to the original URL and let them know their link is broken.")))))))}},74477:(e,t,n)=>{n.d(t,{E:()=>c,q:()=>r});var a=n(67294),o=n(902);const l=a.createContext(null);function r(e){let{children:t,version:n}=e;return a.createElement(l.Provider,{value:n},t)}function c(){const e=(0,a.useContext)(l);if(null===e)throw new o.i6("DocsVersionProvider");return e}}}]); \ No newline at end of file diff --git a/assets/js/1c09c9e5.d127beff.js b/assets/js/1c09c9e5.d127beff.js new file mode 100644 index 00000000..bff4bff9 --- /dev/null +++ b/assets/js/1c09c9e5.d127beff.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkbeacon_docs=self.webpackChunkbeacon_docs||[]).push([[7277],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>b});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function c(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var i=a.createContext({}),l=function(e){var t=a.useContext(i),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},u=function(e){var t=l(e.components);return a.createElement(i.Provider,{value:t},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),p=l(n),m=r,b=p["".concat(i,".").concat(m)]||p[m]||d[m]||o;return n?a.createElement(b,c(c({ref:t},u),{},{components:n})):a.createElement(b,c({ref:t},u))}));function b(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,c=new Array(o);c[0]=m;var s={};for(var i in t)hasOwnProperty.call(t,i)&&(s[i]=t[i]);s.originalType=e,s[p]="string"==typeof e?e:r,c[1]=s;for(var l=2;l{n.d(t,{Z:()=>c});var a=n(67294),r=n(86010);const o={tabItem:"tabItem_Ymn6"};function c(e){let{children:t,hidden:n,className:c}=e;return a.createElement("div",{role:"tabpanel",className:(0,r.Z)(o.tabItem,c),hidden:n},t)}},74866:(e,t,n)=>{n.d(t,{Z:()=>T});var a=n(87462),r=n(67294),o=n(86010),c=n(12466),s=n(16550),i=n(91980),l=n(67392),u=n(50012);function p(e){return function(e){return r.Children.map(e,(e=>{if(!e||(0,r.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}(e).map((e=>{let{props:{value:t,label:n,attributes:a,default:r}}=e;return{value:t,label:n,attributes:a,default:r}}))}function d(e){const{values:t,children:n}=e;return(0,r.useMemo)((()=>{const e=t??p(n);return function(e){const t=(0,l.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function m(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function b(e){let{queryString:t=!1,groupId:n}=e;const a=(0,s.k6)(),o=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,i._X)(o),(0,r.useCallback)((e=>{if(!o)return;const t=new URLSearchParams(a.location.search);t.set(o,e),a.replace({...a.location,search:t.toString()})}),[o,a])]}function v(e){const{defaultValue:t,queryString:n=!1,groupId:a}=e,o=d(e),[c,s]=(0,r.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!m({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const a=n.find((e=>e.default))??n[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:t,tabValues:o}))),[i,l]=b({queryString:n,groupId:a}),[p,v]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[a,o]=(0,u.Nk)(n);return[a,(0,r.useCallback)((e=>{n&&o.set(e)}),[n,o])]}({groupId:a}),f=(()=>{const e=i??p;return m({value:e,tabValues:o})?e:null})();(0,r.useLayoutEffect)((()=>{f&&s(f)}),[f]);return{selectedValue:c,selectValue:(0,r.useCallback)((e=>{if(!m({value:e,tabValues:o}))throw new Error(`Can't select invalid tab value=${e}`);s(e),l(e),v(e)}),[l,v,o]),tabValues:o}}var f=n(72389);const g={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};function h(e){let{className:t,block:n,selectedValue:s,selectValue:i,tabValues:l}=e;const u=[],{blockElementScrollPositionUntilNextRender:p}=(0,c.o5)(),d=e=>{const t=e.currentTarget,n=u.indexOf(t),a=l[n].value;a!==s&&(p(t),i(a))},m=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const n=u.indexOf(e.currentTarget)+1;t=u[n]??u[0];break}case"ArrowLeft":{const n=u.indexOf(e.currentTarget)-1;t=u[n]??u[u.length-1];break}}t?.focus()};return r.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,o.Z)("tabs",{"tabs--block":n},t)},l.map((e=>{let{value:t,label:n,attributes:c}=e;return r.createElement("li",(0,a.Z)({role:"tab",tabIndex:s===t?0:-1,"aria-selected":s===t,key:t,ref:e=>u.push(e),onKeyDown:m,onClick:d},c,{className:(0,o.Z)("tabs__item",g.tabItem,c?.className,{"tabs__item--active":s===t})}),n??t)})))}function y(e){let{lazy:t,children:n,selectedValue:a}=e;const o=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=o.find((e=>e.props.value===a));return e?(0,r.cloneElement)(e,{className:"margin-top--md"}):null}return r.createElement("div",{className:"margin-top--md"},o.map(((e,t)=>(0,r.cloneElement)(e,{key:t,hidden:e.props.value!==a}))))}function w(e){const t=v(e);return r.createElement("div",{className:(0,o.Z)("tabs-container",g.tabList)},r.createElement(h,(0,a.Z)({},e,t)),r.createElement(y,(0,a.Z)({},e,t)))}function T(e){const t=(0,f.Z)();return r.createElement(w,(0,a.Z)({key:String(t)},e))}},27138:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>i,default:()=>b,frontMatter:()=>s,metadata:()=>l,toc:()=>p});var a=n(87462),r=(n(67294),n(3905)),o=n(74866),c=n(85162);const s={title:"Active Account"},i=void 0,l={unversionedId:"guides/active-account",id:"guides/active-account",title:"Active Account",description:" {\n // An active account has been set, update the dApp UI\n console.log(`${BeaconEvent.ACTIVE_ACCOUNT_SET} triggered: `, account);\n});\n\ntry {\n console.log("Requesting permissions...");\n const permissions = await dAppClient.requestPermissions();\n console.log("Got permissions:", permissions.address);\n} catch (error) {\n console.error("Got error:", error.message);\n}\n'))),(0,r.kt)(c.Z,{value:"taquito",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-ts",metastring:"live",live:!0},'// taquito get active account with events\nimport { TezosToolkit } from "@taquito/taquito";\nimport { BeaconWallet } from "@taquito/beacon-wallet";\nimport { BeaconEvent } from "@airgap/beacon-sdk";\n\nconst Tezos = new TezosToolkit("https://mainnet-tezos.giganode.io");\nconst wallet = new BeaconWallet({ name: "Beacon Docs Taquito" });\n\nTezos.setWalletProvider(wallet);\n\nwallet.client.subscribeToEvent(BeaconEvent.ACTIVE_ACCOUNT_SET, (account) => {\n // An active account has been set\n console.log(`${BeaconEvent.ACTIVE_ACCOUNT_SET} triggered: `, account);\n});\n\ntry {\n console.log("Requesting permissions...");\n const permissions = await wallet.client.requestPermissions();\n console.log("Got permissions:", permissions.address);\n} catch (error) {\n console.error("Got error:", error.message);\n}\n')))))}b.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/2167.52222987.js b/assets/js/2167.52222987.js new file mode 100644 index 00000000..b52233ab --- /dev/null +++ b/assets/js/2167.52222987.js @@ -0,0 +1,2 @@ +/*! For license information please see 2167.52222987.js.LICENSE.txt */ +(self.webpackChunkbeacon_docs=self.webpackChunkbeacon_docs||[]).push([[2167],{79240:module=>{var factory;self,factory=()=>(()=>{var __webpack_modules__={"./node_modules/@stablelib/binary/lib/binary.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, "__esModule", ({ value: true }));\n/**\n * Package binary provides functions for encoding and decoding numbers in byte arrays.\n */\nvar int_1 = __webpack_require__(/*! @stablelib/int */ "./node_modules/@stablelib/int/lib/int.js");\n// TODO(dchest): add asserts for correct value ranges and array offsets.\n/**\n * Reads 2 bytes from array starting at offset as big-endian\n * signed 16-bit integer and returns it.\n */\nfunction readInt16BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return (((array[offset + 0] << 8) | array[offset + 1]) << 16) >> 16;\n}\nexports.readInt16BE = readInt16BE;\n/**\n * Reads 2 bytes from array starting at offset as big-endian\n * unsigned 16-bit integer and returns it.\n */\nfunction readUint16BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return ((array[offset + 0] << 8) | array[offset + 1]) >>> 0;\n}\nexports.readUint16BE = readUint16BE;\n/**\n * Reads 2 bytes from array starting at offset as little-endian\n * signed 16-bit integer and returns it.\n */\nfunction readInt16LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return (((array[offset + 1] << 8) | array[offset]) << 16) >> 16;\n}\nexports.readInt16LE = readInt16LE;\n/**\n * Reads 2 bytes from array starting at offset as little-endian\n * unsigned 16-bit integer and returns it.\n */\nfunction readUint16LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return ((array[offset + 1] << 8) | array[offset]) >>> 0;\n}\nexports.readUint16LE = readUint16LE;\n/**\n * Writes 2-byte big-endian representation of 16-bit unsigned\n * value to byte array starting at offset.\n *\n * If byte array is not given, creates a new 2-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeUint16BE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(2); }\n if (offset === void 0) { offset = 0; }\n out[offset + 0] = value >>> 8;\n out[offset + 1] = value >>> 0;\n return out;\n}\nexports.writeUint16BE = writeUint16BE;\nexports.writeInt16BE = writeUint16BE;\n/**\n * Writes 2-byte little-endian representation of 16-bit unsigned\n * value to array starting at offset.\n *\n * If byte array is not given, creates a new 2-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeUint16LE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(2); }\n if (offset === void 0) { offset = 0; }\n out[offset + 0] = value >>> 0;\n out[offset + 1] = value >>> 8;\n return out;\n}\nexports.writeUint16LE = writeUint16LE;\nexports.writeInt16LE = writeUint16LE;\n/**\n * Reads 4 bytes from array starting at offset as big-endian\n * signed 32-bit integer and returns it.\n */\nfunction readInt32BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return (array[offset] << 24) |\n (array[offset + 1] << 16) |\n (array[offset + 2] << 8) |\n array[offset + 3];\n}\nexports.readInt32BE = readInt32BE;\n/**\n * Reads 4 bytes from array starting at offset as big-endian\n * unsigned 32-bit integer and returns it.\n */\nfunction readUint32BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return ((array[offset] << 24) |\n (array[offset + 1] << 16) |\n (array[offset + 2] << 8) |\n array[offset + 3]) >>> 0;\n}\nexports.readUint32BE = readUint32BE;\n/**\n * Reads 4 bytes from array starting at offset as little-endian\n * signed 32-bit integer and returns it.\n */\nfunction readInt32LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return (array[offset + 3] << 24) |\n (array[offset + 2] << 16) |\n (array[offset + 1] << 8) |\n array[offset];\n}\nexports.readInt32LE = readInt32LE;\n/**\n * Reads 4 bytes from array starting at offset as little-endian\n * unsigned 32-bit integer and returns it.\n */\nfunction readUint32LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n return ((array[offset + 3] << 24) |\n (array[offset + 2] << 16) |\n (array[offset + 1] << 8) |\n array[offset]) >>> 0;\n}\nexports.readUint32LE = readUint32LE;\n/**\n * Writes 4-byte big-endian representation of 32-bit unsigned\n * value to byte array starting at offset.\n *\n * If byte array is not given, creates a new 4-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeUint32BE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(4); }\n if (offset === void 0) { offset = 0; }\n out[offset + 0] = value >>> 24;\n out[offset + 1] = value >>> 16;\n out[offset + 2] = value >>> 8;\n out[offset + 3] = value >>> 0;\n return out;\n}\nexports.writeUint32BE = writeUint32BE;\nexports.writeInt32BE = writeUint32BE;\n/**\n * Writes 4-byte little-endian representation of 32-bit unsigned\n * value to array starting at offset.\n *\n * If byte array is not given, creates a new 4-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeUint32LE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(4); }\n if (offset === void 0) { offset = 0; }\n out[offset + 0] = value >>> 0;\n out[offset + 1] = value >>> 8;\n out[offset + 2] = value >>> 16;\n out[offset + 3] = value >>> 24;\n return out;\n}\nexports.writeUint32LE = writeUint32LE;\nexports.writeInt32LE = writeUint32LE;\n/**\n * Reads 8 bytes from array starting at offset as big-endian\n * signed 64-bit integer and returns it.\n *\n * IMPORTANT: due to JavaScript limitation, supports exact\n * numbers in range -9007199254740991 to 9007199254740991.\n * If the number stored in the byte array is outside this range,\n * the result is not exact.\n */\nfunction readInt64BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var hi = readInt32BE(array, offset);\n var lo = readInt32BE(array, offset + 4);\n return hi * 0x100000000 + lo - ((lo >> 31) * 0x100000000);\n}\nexports.readInt64BE = readInt64BE;\n/**\n * Reads 8 bytes from array starting at offset as big-endian\n * unsigned 64-bit integer and returns it.\n *\n * IMPORTANT: due to JavaScript limitation, supports values up to 2^53-1.\n */\nfunction readUint64BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var hi = readUint32BE(array, offset);\n var lo = readUint32BE(array, offset + 4);\n return hi * 0x100000000 + lo;\n}\nexports.readUint64BE = readUint64BE;\n/**\n * Reads 8 bytes from array starting at offset as little-endian\n * signed 64-bit integer and returns it.\n *\n * IMPORTANT: due to JavaScript limitation, supports exact\n * numbers in range -9007199254740991 to 9007199254740991.\n * If the number stored in the byte array is outside this range,\n * the result is not exact.\n */\nfunction readInt64LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var lo = readInt32LE(array, offset);\n var hi = readInt32LE(array, offset + 4);\n return hi * 0x100000000 + lo - ((lo >> 31) * 0x100000000);\n}\nexports.readInt64LE = readInt64LE;\n/**\n * Reads 8 bytes from array starting at offset as little-endian\n * unsigned 64-bit integer and returns it.\n *\n * IMPORTANT: due to JavaScript limitation, supports values up to 2^53-1.\n */\nfunction readUint64LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var lo = readUint32LE(array, offset);\n var hi = readUint32LE(array, offset + 4);\n return hi * 0x100000000 + lo;\n}\nexports.readUint64LE = readUint64LE;\n/**\n * Writes 8-byte big-endian representation of 64-bit unsigned\n * value to byte array starting at offset.\n *\n * Due to JavaScript limitation, supports values up to 2^53-1.\n *\n * If byte array is not given, creates a new 8-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeUint64BE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(8); }\n if (offset === void 0) { offset = 0; }\n writeUint32BE(value / 0x100000000 >>> 0, out, offset);\n writeUint32BE(value >>> 0, out, offset + 4);\n return out;\n}\nexports.writeUint64BE = writeUint64BE;\nexports.writeInt64BE = writeUint64BE;\n/**\n * Writes 8-byte little-endian representation of 64-bit unsigned\n * value to byte array starting at offset.\n *\n * Due to JavaScript limitation, supports values up to 2^53-1.\n *\n * If byte array is not given, creates a new 8-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeUint64LE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(8); }\n if (offset === void 0) { offset = 0; }\n writeUint32LE(value >>> 0, out, offset);\n writeUint32LE(value / 0x100000000 >>> 0, out, offset + 4);\n return out;\n}\nexports.writeUint64LE = writeUint64LE;\nexports.writeInt64LE = writeUint64LE;\n/**\n * Reads bytes from array starting at offset as big-endian\n * unsigned bitLen-bit integer and returns it.\n *\n * Supports bit lengths divisible by 8, up to 48.\n */\nfunction readUintBE(bitLength, array, offset) {\n if (offset === void 0) { offset = 0; }\n // TODO(dchest): implement support for bitLengths non-divisible by 8\n if (bitLength % 8 !== 0) {\n throw new Error("readUintBE supports only bitLengths divisible by 8");\n }\n if (bitLength / 8 > array.length - offset) {\n throw new Error("readUintBE: array is too short for the given bitLength");\n }\n var result = 0;\n var mul = 1;\n for (var i = bitLength / 8 + offset - 1; i >= offset; i--) {\n result += array[i] * mul;\n mul *= 256;\n }\n return result;\n}\nexports.readUintBE = readUintBE;\n/**\n * Reads bytes from array starting at offset as little-endian\n * unsigned bitLen-bit integer and returns it.\n *\n * Supports bit lengths divisible by 8, up to 48.\n */\nfunction readUintLE(bitLength, array, offset) {\n if (offset === void 0) { offset = 0; }\n // TODO(dchest): implement support for bitLengths non-divisible by 8\n if (bitLength % 8 !== 0) {\n throw new Error("readUintLE supports only bitLengths divisible by 8");\n }\n if (bitLength / 8 > array.length - offset) {\n throw new Error("readUintLE: array is too short for the given bitLength");\n }\n var result = 0;\n var mul = 1;\n for (var i = offset; i < offset + bitLength / 8; i++) {\n result += array[i] * mul;\n mul *= 256;\n }\n return result;\n}\nexports.readUintLE = readUintLE;\n/**\n * Writes a big-endian representation of bitLen-bit unsigned\n * value to array starting at offset.\n *\n * Supports bit lengths divisible by 8, up to 48.\n *\n * If byte array is not given, creates a new one.\n *\n * Returns the output byte array.\n */\nfunction writeUintBE(bitLength, value, out, offset) {\n if (out === void 0) { out = new Uint8Array(bitLength / 8); }\n if (offset === void 0) { offset = 0; }\n // TODO(dchest): implement support for bitLengths non-divisible by 8\n if (bitLength % 8 !== 0) {\n throw new Error("writeUintBE supports only bitLengths divisible by 8");\n }\n if (!int_1.isSafeInteger(value)) {\n throw new Error("writeUintBE value must be an integer");\n }\n var div = 1;\n for (var i = bitLength / 8 + offset - 1; i >= offset; i--) {\n out[i] = (value / div) & 0xff;\n div *= 256;\n }\n return out;\n}\nexports.writeUintBE = writeUintBE;\n/**\n * Writes a little-endian representation of bitLen-bit unsigned\n * value to array starting at offset.\n *\n * Supports bit lengths divisible by 8, up to 48.\n *\n * If byte array is not given, creates a new one.\n *\n * Returns the output byte array.\n */\nfunction writeUintLE(bitLength, value, out, offset) {\n if (out === void 0) { out = new Uint8Array(bitLength / 8); }\n if (offset === void 0) { offset = 0; }\n // TODO(dchest): implement support for bitLengths non-divisible by 8\n if (bitLength % 8 !== 0) {\n throw new Error("writeUintLE supports only bitLengths divisible by 8");\n }\n if (!int_1.isSafeInteger(value)) {\n throw new Error("writeUintLE value must be an integer");\n }\n var div = 1;\n for (var i = offset; i < offset + bitLength / 8; i++) {\n out[i] = (value / div) & 0xff;\n div *= 256;\n }\n return out;\n}\nexports.writeUintLE = writeUintLE;\n/**\n * Reads 4 bytes from array starting at offset as big-endian\n * 32-bit floating-point number and returns it.\n */\nfunction readFloat32BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat32(offset);\n}\nexports.readFloat32BE = readFloat32BE;\n/**\n * Reads 4 bytes from array starting at offset as little-endian\n * 32-bit floating-point number and returns it.\n */\nfunction readFloat32LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat32(offset, true);\n}\nexports.readFloat32LE = readFloat32LE;\n/**\n * Reads 8 bytes from array starting at offset as big-endian\n * 64-bit floating-point number ("double") and returns it.\n */\nfunction readFloat64BE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat64(offset);\n}\nexports.readFloat64BE = readFloat64BE;\n/**\n * Reads 8 bytes from array starting at offset as little-endian\n * 64-bit floating-point number ("double") and returns it.\n */\nfunction readFloat64LE(array, offset) {\n if (offset === void 0) { offset = 0; }\n var view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat64(offset, true);\n}\nexports.readFloat64LE = readFloat64LE;\n/**\n * Writes 4-byte big-endian floating-point representation of value\n * to byte array starting at offset.\n *\n * If byte array is not given, creates a new 4-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeFloat32BE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(4); }\n if (offset === void 0) { offset = 0; }\n var view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n view.setFloat32(offset, value);\n return out;\n}\nexports.writeFloat32BE = writeFloat32BE;\n/**\n * Writes 4-byte little-endian floating-point representation of value\n * to byte array starting at offset.\n *\n * If byte array is not given, creates a new 4-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeFloat32LE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(4); }\n if (offset === void 0) { offset = 0; }\n var view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n view.setFloat32(offset, value, true);\n return out;\n}\nexports.writeFloat32LE = writeFloat32LE;\n/**\n * Writes 8-byte big-endian floating-point representation of value\n * to byte array starting at offset.\n *\n * If byte array is not given, creates a new 8-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeFloat64BE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(8); }\n if (offset === void 0) { offset = 0; }\n var view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n view.setFloat64(offset, value);\n return out;\n}\nexports.writeFloat64BE = writeFloat64BE;\n/**\n * Writes 8-byte little-endian floating-point representation of value\n * to byte array starting at offset.\n *\n * If byte array is not given, creates a new 8-byte one.\n *\n * Returns the output byte array.\n */\nfunction writeFloat64LE(value, out, offset) {\n if (out === void 0) { out = new Uint8Array(8); }\n if (offset === void 0) { offset = 0; }\n var view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n view.setFloat64(offset, value, true);\n return out;\n}\nexports.writeFloat64LE = writeFloat64LE;\n//# sourceMappingURL=binary.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@stablelib/binary/lib/binary.js?')},"./node_modules/@stablelib/blake2b/lib/blake2b.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\n// Copyright (C) 2017 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nvar binary_1 = __webpack_require__(/*! @stablelib/binary */ "./node_modules/@stablelib/binary/lib/binary.js");\nvar wipe_1 = __webpack_require__(/*! @stablelib/wipe */ "./node_modules/@stablelib/wipe/lib/wipe.js");\nexports.BLOCK_SIZE = 128;\nexports.DIGEST_LENGTH = 64;\nexports.KEY_LENGTH = 64;\nexports.PERSONALIZATION_LENGTH = 16;\nexports.SALT_LENGTH = 16;\nexports.MAX_LEAF_SIZE = Math.pow(2, 32) - 1;\nexports.MAX_FANOUT = 255;\nexports.MAX_MAX_DEPTH = 255; // not a typo\nvar IV = new Uint32Array([\n // low bits // high bits\n 0xf3bcc908, 0x6a09e667,\n 0x84caa73b, 0xbb67ae85,\n 0xfe94f82b, 0x3c6ef372,\n 0x5f1d36f1, 0xa54ff53a,\n 0xade682d1, 0x510e527f,\n 0x2b3e6c1f, 0x9b05688c,\n 0xfb41bd6b, 0x1f83d9ab,\n 0x137e2179, 0x5be0cd19,\n]);\n// Note: sigma values are doubled since we store\n// 64-bit ints as two 32-bit ints in arrays.\nvar SIGMA = [\n [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30],\n [28, 20, 8, 16, 18, 30, 26, 12, 2, 24, 0, 4, 22, 14, 10, 6],\n [22, 16, 24, 0, 10, 4, 30, 26, 20, 28, 6, 12, 14, 2, 18, 8],\n [14, 18, 6, 2, 26, 24, 22, 28, 4, 12, 10, 20, 8, 0, 30, 16],\n [18, 0, 10, 14, 4, 8, 20, 30, 28, 2, 22, 24, 12, 16, 6, 26],\n [4, 24, 12, 20, 0, 22, 16, 6, 8, 26, 14, 10, 30, 28, 2, 18],\n [24, 10, 2, 30, 28, 26, 8, 20, 0, 14, 12, 6, 18, 4, 16, 22],\n [26, 22, 14, 28, 24, 2, 6, 18, 10, 0, 30, 8, 16, 12, 4, 20],\n [12, 30, 28, 18, 22, 6, 0, 16, 24, 4, 26, 14, 2, 8, 20, 10],\n [20, 4, 16, 8, 14, 12, 2, 10, 30, 22, 18, 28, 6, 24, 26, 0],\n [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30],\n [28, 20, 8, 16, 18, 30, 26, 12, 2, 24, 0, 4, 22, 14, 10, 6]\n];\n/**\n * BLAKE2b hash function.\n */\nvar BLAKE2b = /** @class */ (function () {\n function BLAKE2b(digestLength, config) {\n if (digestLength === void 0) { digestLength = 64; }\n this.digestLength = digestLength;\n this.blockSize = exports.BLOCK_SIZE;\n // Note: Int32Arrays for state and message are used for performance reasons.\n this._state = new Int32Array(IV); // hash state, initialized with IV\n this._buffer = new Uint8Array(exports.BLOCK_SIZE); // buffer for data\n this._bufferLength = 0; // number of bytes in buffer\n this._ctr = new Uint32Array(4);\n this._flag = new Uint32Array(4);\n this._lastNode = false;\n this._finished = false;\n this._vtmp = new Uint32Array(32);\n this._mtmp = new Uint32Array(32);\n // Validate digest length.\n if (digestLength < 1 || digestLength > exports.DIGEST_LENGTH) {\n throw new Error("blake2b: wrong digest length");\n }\n // Validate config, if present.\n if (config) {\n this.validateConfig(config);\n }\n // Get key length from config.\n var keyLength = 0;\n if (config && config.key) {\n keyLength = config.key.length;\n }\n // Get tree fanout and maxDepth from config.\n var fanout = 1;\n var maxDepth = 1;\n if (config && config.tree) {\n fanout = config.tree.fanout;\n maxDepth = config.tree.maxDepth;\n }\n // Xor common parameters into state.\n this._state[0] ^= digestLength | (keyLength << 8) | (fanout << 16) | (maxDepth << 24);\n // Xor tree parameters into state.\n if (config && config.tree) {\n this._state[1] ^= config.tree.leafSize;\n this._state[2] ^= config.tree.nodeOffsetLowBits;\n this._state[3] ^= config.tree.nodeOffsetHighBits;\n this._state[4] ^= config.tree.nodeDepth | (config.tree.innerDigestLength << 8);\n this._lastNode = config.tree.lastNode;\n }\n // Xor salt into state.\n if (config && config.salt) {\n this._state[8] ^= binary_1.readUint32LE(config.salt, 0);\n this._state[9] ^= binary_1.readUint32LE(config.salt, 4);\n this._state[10] ^= binary_1.readUint32LE(config.salt, 8);\n this._state[11] ^= binary_1.readUint32LE(config.salt, 12);\n }\n // Xor personalization into state.\n if (config && config.personalization) {\n this._state[12] ^= binary_1.readUint32LE(config.personalization, 0);\n this._state[13] ^= binary_1.readUint32LE(config.personalization, 4);\n this._state[14] ^= binary_1.readUint32LE(config.personalization, 8);\n this._state[15] ^= binary_1.readUint32LE(config.personalization, 12);\n }\n // Save a copy of initialized state for reset.\n this._initialState = new Uint32Array(this._state);\n // Process key.\n if (config && config.key && keyLength > 0) {\n this._paddedKey = new Uint8Array(exports.BLOCK_SIZE);\n this._paddedKey.set(config.key);\n // Put padded key into buffer.\n this._buffer.set(this._paddedKey);\n this._bufferLength = exports.BLOCK_SIZE;\n }\n }\n BLAKE2b.prototype.reset = function () {\n // Restore initial state.\n this._state.set(this._initialState);\n if (this._paddedKey) {\n // Put padded key into buffer.\n this._buffer.set(this._paddedKey);\n this._bufferLength = exports.BLOCK_SIZE;\n }\n else {\n this._bufferLength = 0;\n }\n // Clear counters and flags.\n wipe_1.wipe(this._ctr);\n wipe_1.wipe(this._flag);\n this._finished = false;\n return this;\n };\n BLAKE2b.prototype.validateConfig = function (config) {\n if (config.key && config.key.length > exports.KEY_LENGTH) {\n throw new Error("blake2b: wrong key length");\n }\n if (config.salt && config.salt.length !== exports.SALT_LENGTH) {\n throw new Error("blake2b: wrong salt length");\n }\n if (config.personalization &&\n config.personalization.length !== exports.PERSONALIZATION_LENGTH) {\n throw new Error("blake2b: wrong personalization length");\n }\n if (config.tree) {\n if (config.tree.fanout < 0 || config.tree.fanout > exports.MAX_FANOUT) {\n throw new Error("blake2b: wrong tree fanout");\n }\n if (config.tree.maxDepth < 0 || config.tree.maxDepth > exports.MAX_MAX_DEPTH) {\n throw new Error("blake2b: wrong tree depth");\n }\n if (config.tree.leafSize < 0 || config.tree.leafSize > exports.MAX_LEAF_SIZE) {\n throw new Error("blake2b: wrong leaf size");\n }\n if (config.tree.innerDigestLength < 0 ||\n config.tree.innerDigestLength > exports.DIGEST_LENGTH) {\n throw new Error("blake2b: wrong tree inner digest length");\n }\n }\n };\n BLAKE2b.prototype.update = function (data, dataLength) {\n if (dataLength === void 0) { dataLength = data.length; }\n if (this._finished) {\n throw new Error("blake2b: can\'t update because hash was finished.");\n }\n var left = exports.BLOCK_SIZE - this._bufferLength;\n var dataPos = 0;\n if (dataLength === 0) {\n return this;\n }\n // Finish buffer.\n if (dataLength > left) {\n for (var i = 0; i < left; i++) {\n this._buffer[this._bufferLength + i] = data[dataPos + i];\n }\n this._processBlock(exports.BLOCK_SIZE);\n dataPos += left;\n dataLength -= left;\n this._bufferLength = 0;\n }\n // Process data blocks.\n while (dataLength > exports.BLOCK_SIZE) {\n for (var i = 0; i < exports.BLOCK_SIZE; i++) {\n this._buffer[i] = data[dataPos + i];\n }\n this._processBlock(exports.BLOCK_SIZE);\n dataPos += exports.BLOCK_SIZE;\n dataLength -= exports.BLOCK_SIZE;\n this._bufferLength = 0;\n }\n // Copy leftovers to buffer.\n for (var i = 0; i < dataLength; i++) {\n this._buffer[this._bufferLength + i] = data[dataPos + i];\n }\n this._bufferLength += dataLength;\n return this;\n };\n BLAKE2b.prototype.finish = function (out) {\n if (!this._finished) {\n for (var i = this._bufferLength; i < exports.BLOCK_SIZE; i++) {\n this._buffer[i] = 0;\n }\n // Set last block flag.\n this._flag[0] = 0xffffffff;\n this._flag[1] = 0xffffffff;\n // Set last node flag if last node in tree.\n if (this._lastNode) {\n this._flag[2] = 0xffffffff;\n this._flag[3] = 0xffffffff;\n }\n this._processBlock(this._bufferLength);\n this._finished = true;\n }\n // Reuse buffer as temporary space for digest.\n var tmp = this._buffer.subarray(0, 64);\n for (var i = 0; i < 16; i++) {\n binary_1.writeUint32LE(this._state[i], tmp, i * 4);\n }\n out.set(tmp.subarray(0, out.length));\n return this;\n };\n BLAKE2b.prototype.digest = function () {\n var out = new Uint8Array(this.digestLength);\n this.finish(out);\n return out;\n };\n BLAKE2b.prototype.clean = function () {\n wipe_1.wipe(this._vtmp);\n wipe_1.wipe(this._mtmp);\n wipe_1.wipe(this._state);\n wipe_1.wipe(this._buffer);\n wipe_1.wipe(this._initialState);\n if (this._paddedKey) {\n wipe_1.wipe(this._paddedKey);\n }\n this._bufferLength = 0;\n wipe_1.wipe(this._ctr);\n wipe_1.wipe(this._flag);\n this._lastNode = false;\n this._finished = false;\n };\n BLAKE2b.prototype.saveState = function () {\n if (this._finished) {\n throw new Error("blake2b: cannot save finished state");\n }\n return {\n state: new Uint32Array(this._state),\n buffer: new Uint8Array(this._buffer),\n bufferLength: this._bufferLength,\n ctr: new Uint32Array(this._ctr),\n flag: new Uint32Array(this._flag),\n lastNode: this._lastNode,\n paddedKey: this._paddedKey ? new Uint8Array(this._paddedKey) : undefined,\n initialState: new Uint32Array(this._initialState)\n };\n };\n BLAKE2b.prototype.restoreState = function (savedState) {\n this._state.set(savedState.state);\n this._buffer.set(savedState.buffer);\n this._bufferLength = savedState.bufferLength;\n this._ctr.set(savedState.ctr);\n this._flag.set(savedState.flag);\n this._lastNode = savedState.lastNode;\n if (this._paddedKey) {\n wipe_1.wipe(this._paddedKey);\n }\n this._paddedKey = savedState.paddedKey ? new Uint8Array(savedState.paddedKey) : undefined;\n this._initialState.set(savedState.initialState);\n return this;\n };\n BLAKE2b.prototype.cleanSavedState = function (savedState) {\n wipe_1.wipe(savedState.state);\n wipe_1.wipe(savedState.buffer);\n wipe_1.wipe(savedState.initialState);\n if (savedState.paddedKey) {\n wipe_1.wipe(savedState.paddedKey);\n }\n savedState.bufferLength = 0;\n wipe_1.wipe(savedState.ctr);\n wipe_1.wipe(savedState.flag);\n savedState.lastNode = false;\n };\n BLAKE2b.prototype._G = function (v, al, bl, cl, dl, ah, bh, ch, dh, ml0, mh0, ml1, mh1) {\n var vla = v[al], vha = v[ah], vlb = v[bl], vhb = v[bh], vlc = v[cl], vhc = v[ch], vld = v[dl], vhd = v[dh];\n // 64-bit: va += vb\n var w = vla & 0xffff, x = vla >>> 16, y = vha & 0xffff, z = vha >>> 16;\n w += vlb & 0xffff;\n x += vlb >>> 16;\n y += vhb & 0xffff;\n z += vhb >>> 16;\n x += w >>> 16;\n y += x >>> 16;\n z += y >>> 16;\n vha = (y & 0xffff) | (z << 16);\n vla = (w & 0xffff) | (x << 16);\n // 64-bit: va += m[sigma[r][2 * i + 0]]\n w = vla & 0xffff;\n x = vla >>> 16;\n y = vha & 0xffff;\n z = vha >>> 16;\n w += ml0 & 0xffff;\n x += ml0 >>> 16;\n y += mh0 & 0xffff;\n z += mh0 >>> 16;\n x += w >>> 16;\n y += x >>> 16;\n z += y >>> 16;\n vha = (y & 0xffff) | (z << 16);\n vla = (w & 0xffff) | (x << 16);\n // 64-bit: vd ^= va\n vld ^= vla;\n vhd ^= vha;\n // 64-bit: rot(vd, 32)\n w = vhd;\n vhd = vld;\n vld = w;\n // 64-bit: vc += vd\n w = vlc & 0xffff;\n x = vlc >>> 16;\n y = vhc & 0xffff;\n z = vhc >>> 16;\n w += vld & 0xffff;\n x += vld >>> 16;\n y += vhd & 0xffff;\n z += vhd >>> 16;\n x += w >>> 16;\n y += x >>> 16;\n z += y >>> 16;\n vhc = (y & 0xffff) | (z << 16);\n vlc = (w & 0xffff) | (x << 16);\n // 64-bit: vb ^= vc\n vlb ^= vlc;\n vhb ^= vhc;\n // 64-bit: rot(vb, 24)\n w = vlb << 8 | vhb >>> 24;\n vlb = vhb << 8 | vlb >>> 24;\n vhb = w;\n // 64-bit: va += vb\n w = vla & 0xffff;\n x = vla >>> 16;\n y = vha & 0xffff;\n z = vha >>> 16;\n w += vlb & 0xffff;\n x += vlb >>> 16;\n y += vhb & 0xffff;\n z += vhb >>> 16;\n x += w >>> 16;\n y += x >>> 16;\n z += y >>> 16;\n vha = (y & 0xffff) | (z << 16);\n vla = (w & 0xffff) | (x << 16);\n // 64-bit: va += m[sigma[r][2 * i + 1]\n w = vla & 0xffff;\n x = vla >>> 16;\n y = vha & 0xffff;\n z = vha >>> 16;\n w += ml1 & 0xffff;\n x += ml1 >>> 16;\n y += mh1 & 0xffff;\n z += mh1 >>> 16;\n x += w >>> 16;\n y += x >>> 16;\n z += y >>> 16;\n vha = (y & 0xffff) | (z << 16);\n vla = (w & 0xffff) | (x << 16);\n // 64-bit: vd ^= va\n vld ^= vla;\n vhd ^= vha;\n // 64-bit: rot(vd, 16)\n w = vld << 16 | vhd >>> 16;\n vld = vhd << 16 | vld >>> 16;\n vhd = w;\n // 64-bit: vc += vd\n w = vlc & 0xffff;\n x = vlc >>> 16;\n y = vhc & 0xffff;\n z = vhc >>> 16;\n w += vld & 0xffff;\n x += vld >>> 16;\n y += vhd & 0xffff;\n z += vhd >>> 16;\n x += w >>> 16;\n y += x >>> 16;\n z += y >>> 16;\n vhc = (y & 0xffff) | (z << 16);\n vlc = (w & 0xffff) | (x << 16);\n // 64-bit: vb ^= vc\n vlb ^= vlc;\n vhb ^= vhc;\n // 64-bit: rot(vb, 63)\n w = vhb << 1 | vlb >>> 31;\n vlb = vlb << 1 | vhb >>> 31;\n vhb = w;\n v[al] = vla;\n v[ah] = vha;\n v[bl] = vlb;\n v[bh] = vhb;\n v[cl] = vlc;\n v[ch] = vhc;\n v[dl] = vld;\n v[dh] = vhd;\n };\n BLAKE2b.prototype._incrementCounter = function (n) {\n for (var i = 0; i < 3; i++) {\n var a = this._ctr[i] + n;\n this._ctr[i] = a >>> 0;\n if (this._ctr[i] === a) {\n return;\n }\n n = 1;\n }\n };\n BLAKE2b.prototype._processBlock = function (length) {\n this._incrementCounter(length);\n var v = this._vtmp;\n v.set(this._state);\n v.set(IV, 16);\n v[12 * 2 + 0] ^= this._ctr[0];\n v[12 * 2 + 1] ^= this._ctr[1];\n v[13 * 2 + 0] ^= this._ctr[2];\n v[13 * 2 + 1] ^= this._ctr[3];\n v[14 * 2 + 0] ^= this._flag[0];\n v[14 * 2 + 1] ^= this._flag[1];\n v[15 * 2 + 0] ^= this._flag[2];\n v[15 * 2 + 1] ^= this._flag[3];\n var m = this._mtmp;\n for (var i = 0; i < 32; i++) {\n m[i] = binary_1.readUint32LE(this._buffer, i * 4);\n }\n for (var r = 0; r < 12; r++) {\n this._G(v, 0, 8, 16, 24, 1, 9, 17, 25, m[SIGMA[r][0]], m[SIGMA[r][0] + 1], m[SIGMA[r][1]], m[SIGMA[r][1] + 1]);\n this._G(v, 2, 10, 18, 26, 3, 11, 19, 27, m[SIGMA[r][2]], m[SIGMA[r][2] + 1], m[SIGMA[r][3]], m[SIGMA[r][3] + 1]);\n this._G(v, 4, 12, 20, 28, 5, 13, 21, 29, m[SIGMA[r][4]], m[SIGMA[r][4] + 1], m[SIGMA[r][5]], m[SIGMA[r][5] + 1]);\n this._G(v, 6, 14, 22, 30, 7, 15, 23, 31, m[SIGMA[r][6]], m[SIGMA[r][6] + 1], m[SIGMA[r][7]], m[SIGMA[r][7] + 1]);\n this._G(v, 0, 10, 20, 30, 1, 11, 21, 31, m[SIGMA[r][8]], m[SIGMA[r][8] + 1], m[SIGMA[r][9]], m[SIGMA[r][9] + 1]);\n this._G(v, 2, 12, 22, 24, 3, 13, 23, 25, m[SIGMA[r][10]], m[SIGMA[r][10] + 1], m[SIGMA[r][11]], m[SIGMA[r][11] + 1]);\n this._G(v, 4, 14, 16, 26, 5, 15, 17, 27, m[SIGMA[r][12]], m[SIGMA[r][12] + 1], m[SIGMA[r][13]], m[SIGMA[r][13] + 1]);\n this._G(v, 6, 8, 18, 28, 7, 9, 19, 29, m[SIGMA[r][14]], m[SIGMA[r][14] + 1], m[SIGMA[r][15]], m[SIGMA[r][15] + 1]);\n }\n for (var i = 0; i < 16; i++) {\n this._state[i] ^= v[i] ^ v[i + 16];\n }\n };\n return BLAKE2b;\n}());\nexports.BLAKE2b = BLAKE2b;\nfunction hash(data, digestLength, config) {\n if (digestLength === void 0) { digestLength = exports.DIGEST_LENGTH; }\n var h = new BLAKE2b(digestLength, config);\n h.update(data);\n var digest = h.digest();\n h.clean();\n return digest;\n}\nexports.hash = hash;\n//# sourceMappingURL=blake2b.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@stablelib/blake2b/lib/blake2b.js?')},"./node_modules/@stablelib/bytes/lib/bytes.js":(__unused_webpack_module,exports)=>{"use strict";eval('\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nfunction concat() {\n // Calculate sum of lengths of all arrays.\n var totalLength = 0;\n for (var i = 0; i < arguments.length; i++) {\n totalLength += arguments[i].length;\n }\n // Allocate new array of calculated length.\n var result = new Uint8Array(totalLength);\n // Copy all arrays into result.\n var offset = 0;\n for (var i = 0; i < arguments.length; i++) {\n var arg = arguments[i];\n result.set(arg, offset);\n offset += arg.length;\n }\n return result;\n}\nexports.concat = concat;\n//# sourceMappingURL=bytes.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@stablelib/bytes/lib/bytes.js?')},"./node_modules/@stablelib/chacha/lib/chacha.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, "__esModule", ({ value: true }));\n/**\n * Package chacha implements ChaCha stream cipher.\n */\nvar binary_1 = __webpack_require__(/*! @stablelib/binary */ "./node_modules/@stablelib/binary/lib/binary.js");\nvar wipe_1 = __webpack_require__(/*! @stablelib/wipe */ "./node_modules/@stablelib/wipe/lib/wipe.js");\n// Number of ChaCha rounds (ChaCha20).\nvar ROUNDS = 20;\n// Applies the ChaCha core function to 16-byte input,\n// 32-byte key key, and puts the result into 64-byte array out.\nfunction core(out, input, key) {\n var j0 = 0x61707865; // "expa" -- ChaCha\'s "sigma" constant\n var j1 = 0x3320646E; // "nd 3" for 32-byte keys\n var j2 = 0x79622D32; // "2-by"\n var j3 = 0x6B206574; // "te k"\n var j4 = (key[3] << 24) | (key[2] << 16) | (key[1] << 8) | key[0];\n var j5 = (key[7] << 24) | (key[6] << 16) | (key[5] << 8) | key[4];\n var j6 = (key[11] << 24) | (key[10] << 16) | (key[9] << 8) | key[8];\n var j7 = (key[15] << 24) | (key[14] << 16) | (key[13] << 8) | key[12];\n var j8 = (key[19] << 24) | (key[18] << 16) | (key[17] << 8) | key[16];\n var j9 = (key[23] << 24) | (key[22] << 16) | (key[21] << 8) | key[20];\n var j10 = (key[27] << 24) | (key[26] << 16) | (key[25] << 8) | key[24];\n var j11 = (key[31] << 24) | (key[30] << 16) | (key[29] << 8) | key[28];\n var j12 = (input[3] << 24) | (input[2] << 16) | (input[1] << 8) | input[0];\n var j13 = (input[7] << 24) | (input[6] << 16) | (input[5] << 8) | input[4];\n var j14 = (input[11] << 24) | (input[10] << 16) | (input[9] << 8) | input[8];\n var j15 = (input[15] << 24) | (input[14] << 16) | (input[13] << 8) | input[12];\n var x0 = j0;\n var x1 = j1;\n var x2 = j2;\n var x3 = j3;\n var x4 = j4;\n var x5 = j5;\n var x6 = j6;\n var x7 = j7;\n var x8 = j8;\n var x9 = j9;\n var x10 = j10;\n var x11 = j11;\n var x12 = j12;\n var x13 = j13;\n var x14 = j14;\n var x15 = j15;\n for (var i = 0; i < ROUNDS; i += 2) {\n x0 = x0 + x4 | 0;\n x12 ^= x0;\n x12 = x12 >>> (32 - 16) | x12 << 16;\n x8 = x8 + x12 | 0;\n x4 ^= x8;\n x4 = x4 >>> (32 - 12) | x4 << 12;\n x1 = x1 + x5 | 0;\n x13 ^= x1;\n x13 = x13 >>> (32 - 16) | x13 << 16;\n x9 = x9 + x13 | 0;\n x5 ^= x9;\n x5 = x5 >>> (32 - 12) | x5 << 12;\n x2 = x2 + x6 | 0;\n x14 ^= x2;\n x14 = x14 >>> (32 - 16) | x14 << 16;\n x10 = x10 + x14 | 0;\n x6 ^= x10;\n x6 = x6 >>> (32 - 12) | x6 << 12;\n x3 = x3 + x7 | 0;\n x15 ^= x3;\n x15 = x15 >>> (32 - 16) | x15 << 16;\n x11 = x11 + x15 | 0;\n x7 ^= x11;\n x7 = x7 >>> (32 - 12) | x7 << 12;\n x2 = x2 + x6 | 0;\n x14 ^= x2;\n x14 = x14 >>> (32 - 8) | x14 << 8;\n x10 = x10 + x14 | 0;\n x6 ^= x10;\n x6 = x6 >>> (32 - 7) | x6 << 7;\n x3 = x3 + x7 | 0;\n x15 ^= x3;\n x15 = x15 >>> (32 - 8) | x15 << 8;\n x11 = x11 + x15 | 0;\n x7 ^= x11;\n x7 = x7 >>> (32 - 7) | x7 << 7;\n x1 = x1 + x5 | 0;\n x13 ^= x1;\n x13 = x13 >>> (32 - 8) | x13 << 8;\n x9 = x9 + x13 | 0;\n x5 ^= x9;\n x5 = x5 >>> (32 - 7) | x5 << 7;\n x0 = x0 + x4 | 0;\n x12 ^= x0;\n x12 = x12 >>> (32 - 8) | x12 << 8;\n x8 = x8 + x12 | 0;\n x4 ^= x8;\n x4 = x4 >>> (32 - 7) | x4 << 7;\n x0 = x0 + x5 | 0;\n x15 ^= x0;\n x15 = x15 >>> (32 - 16) | x15 << 16;\n x10 = x10 + x15 | 0;\n x5 ^= x10;\n x5 = x5 >>> (32 - 12) | x5 << 12;\n x1 = x1 + x6 | 0;\n x12 ^= x1;\n x12 = x12 >>> (32 - 16) | x12 << 16;\n x11 = x11 + x12 | 0;\n x6 ^= x11;\n x6 = x6 >>> (32 - 12) | x6 << 12;\n x2 = x2 + x7 | 0;\n x13 ^= x2;\n x13 = x13 >>> (32 - 16) | x13 << 16;\n x8 = x8 + x13 | 0;\n x7 ^= x8;\n x7 = x7 >>> (32 - 12) | x7 << 12;\n x3 = x3 + x4 | 0;\n x14 ^= x3;\n x14 = x14 >>> (32 - 16) | x14 << 16;\n x9 = x9 + x14 | 0;\n x4 ^= x9;\n x4 = x4 >>> (32 - 12) | x4 << 12;\n x2 = x2 + x7 | 0;\n x13 ^= x2;\n x13 = x13 >>> (32 - 8) | x13 << 8;\n x8 = x8 + x13 | 0;\n x7 ^= x8;\n x7 = x7 >>> (32 - 7) | x7 << 7;\n x3 = x3 + x4 | 0;\n x14 ^= x3;\n x14 = x14 >>> (32 - 8) | x14 << 8;\n x9 = x9 + x14 | 0;\n x4 ^= x9;\n x4 = x4 >>> (32 - 7) | x4 << 7;\n x1 = x1 + x6 | 0;\n x12 ^= x1;\n x12 = x12 >>> (32 - 8) | x12 << 8;\n x11 = x11 + x12 | 0;\n x6 ^= x11;\n x6 = x6 >>> (32 - 7) | x6 << 7;\n x0 = x0 + x5 | 0;\n x15 ^= x0;\n x15 = x15 >>> (32 - 8) | x15 << 8;\n x10 = x10 + x15 | 0;\n x5 ^= x10;\n x5 = x5 >>> (32 - 7) | x5 << 7;\n }\n binary_1.writeUint32LE(x0 + j0 | 0, out, 0);\n binary_1.writeUint32LE(x1 + j1 | 0, out, 4);\n binary_1.writeUint32LE(x2 + j2 | 0, out, 8);\n binary_1.writeUint32LE(x3 + j3 | 0, out, 12);\n binary_1.writeUint32LE(x4 + j4 | 0, out, 16);\n binary_1.writeUint32LE(x5 + j5 | 0, out, 20);\n binary_1.writeUint32LE(x6 + j6 | 0, out, 24);\n binary_1.writeUint32LE(x7 + j7 | 0, out, 28);\n binary_1.writeUint32LE(x8 + j8 | 0, out, 32);\n binary_1.writeUint32LE(x9 + j9 | 0, out, 36);\n binary_1.writeUint32LE(x10 + j10 | 0, out, 40);\n binary_1.writeUint32LE(x11 + j11 | 0, out, 44);\n binary_1.writeUint32LE(x12 + j12 | 0, out, 48);\n binary_1.writeUint32LE(x13 + j13 | 0, out, 52);\n binary_1.writeUint32LE(x14 + j14 | 0, out, 56);\n binary_1.writeUint32LE(x15 + j15 | 0, out, 60);\n}\n/**\n * Encrypt src with ChaCha20 stream generated for the given 32-byte key and\n * 8-byte (as in original implementation) or 12-byte (as in RFC7539) nonce and\n * write the result into dst and return it.\n *\n * dst and src may be the same, but otherwise must not overlap.\n *\n * If nonce is 12 bytes, users should not encrypt more than 256 GiB with the\n * same key and nonce, otherwise the stream will repeat. The function will\n * throw error if counter overflows to prevent this.\n *\n * If nonce is 8 bytes, the output is practically unlimited (2^70 bytes, which\n * is more than a million petabytes). However, it is not recommended to\n * generate 8-byte nonces randomly, as the chance of collision is high.\n *\n * Never use the same key and nonce to encrypt more than one message.\n *\n * If nonceInplaceCounterLength is not 0, the nonce is assumed to be a 16-byte\n * array with stream counter in first nonceInplaceCounterLength bytes and nonce\n * in the last remaining bytes. The counter will be incremented inplace for\n * each ChaCha block. This is useful if you need to encrypt one stream of data\n * in chunks.\n */\nfunction streamXOR(key, nonce, src, dst, nonceInplaceCounterLength) {\n if (nonceInplaceCounterLength === void 0) { nonceInplaceCounterLength = 0; }\n // We only support 256-bit keys.\n if (key.length !== 32) {\n throw new Error("ChaCha: key size must be 32 bytes");\n }\n if (dst.length < src.length) {\n throw new Error("ChaCha: destination is shorter than source");\n }\n var nc;\n var counterLength;\n if (nonceInplaceCounterLength === 0) {\n if (nonce.length !== 8 && nonce.length !== 12) {\n throw new Error("ChaCha nonce must be 8 or 12 bytes");\n }\n nc = new Uint8Array(16);\n // First counterLength bytes of nc are counter, starting with zero.\n counterLength = nc.length - nonce.length;\n // Last bytes of nc after counterLength are nonce, set them.\n nc.set(nonce, counterLength);\n }\n else {\n if (nonce.length !== 16) {\n throw new Error("ChaCha nonce with counter must be 16 bytes");\n }\n // This will update passed nonce with counter inplace.\n nc = nonce;\n counterLength = nonceInplaceCounterLength;\n }\n // Allocate temporary space for ChaCha block.\n var block = new Uint8Array(64);\n for (var i = 0; i < src.length; i += 64) {\n // Generate a block.\n core(block, nc, key);\n // XOR block bytes with src into dst.\n for (var j = i; j < i + 64 && j < src.length; j++) {\n dst[j] = src[j] ^ block[j - i];\n }\n // Increment counter.\n incrementCounter(nc, 0, counterLength);\n }\n // Cleanup temporary space.\n wipe_1.wipe(block);\n if (nonceInplaceCounterLength === 0) {\n // Cleanup counter.\n wipe_1.wipe(nc);\n }\n return dst;\n}\nexports.streamXOR = streamXOR;\n/**\n * Generate ChaCha20 stream for the given 32-byte key and 8-byte or 12-byte\n * nonce and write it into dst and return it.\n *\n * Never use the same key and nonce to generate more than one stream.\n *\n * If nonceInplaceCounterLength is not 0, it behaves the same with respect to\n * the nonce as described in the streamXOR documentation.\n *\n * stream is like streamXOR with all-zero src.\n */\nfunction stream(key, nonce, dst, nonceInplaceCounterLength) {\n if (nonceInplaceCounterLength === void 0) { nonceInplaceCounterLength = 0; }\n wipe_1.wipe(dst);\n return streamXOR(key, nonce, dst, dst, nonceInplaceCounterLength);\n}\nexports.stream = stream;\nfunction incrementCounter(counter, pos, len) {\n var carry = 1;\n while (len--) {\n carry = carry + (counter[pos] & 0xff) | 0;\n counter[pos] = carry & 0xff;\n carry >>>= 8;\n pos++;\n }\n if (carry > 0) {\n throw new Error("ChaCha: counter overflow");\n }\n}\n//# sourceMappingURL=chacha.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@stablelib/chacha/lib/chacha.js?')},"./node_modules/@stablelib/chacha20poly1305/lib/chacha20poly1305.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nvar chacha_1 = __webpack_require__(/*! @stablelib/chacha */ "./node_modules/@stablelib/chacha/lib/chacha.js");\nvar poly1305_1 = __webpack_require__(/*! @stablelib/poly1305 */ "./node_modules/@stablelib/poly1305/lib/poly1305.js");\nvar wipe_1 = __webpack_require__(/*! @stablelib/wipe */ "./node_modules/@stablelib/wipe/lib/wipe.js");\nvar binary_1 = __webpack_require__(/*! @stablelib/binary */ "./node_modules/@stablelib/binary/lib/binary.js");\nvar constant_time_1 = __webpack_require__(/*! @stablelib/constant-time */ "./node_modules/@stablelib/constant-time/lib/constant-time.js");\nexports.KEY_LENGTH = 32;\nexports.NONCE_LENGTH = 12;\nexports.TAG_LENGTH = 16;\nvar ZEROS = new Uint8Array(16);\n/**\n * ChaCha20-Poly1305 Authenticated Encryption with Associated Data.\n *\n * Defined in RFC7539.\n */\nvar ChaCha20Poly1305 = /** @class */ (function () {\n /**\n * Creates a new instance with the given 32-byte key.\n */\n function ChaCha20Poly1305(key) {\n this.nonceLength = exports.NONCE_LENGTH;\n this.tagLength = exports.TAG_LENGTH;\n if (key.length !== exports.KEY_LENGTH) {\n throw new Error("ChaCha20Poly1305 needs 32-byte key");\n }\n // Copy key.\n this._key = new Uint8Array(key);\n }\n /**\n * Encrypts and authenticates plaintext, authenticates associated data,\n * and returns sealed ciphertext, which includes authentication tag.\n *\n * RFC7539 specifies 12 bytes for nonce. It may be this 12-byte nonce\n * ("IV"), or full 16-byte counter (called "32-bit fixed-common part")\n * and nonce.\n *\n * If dst is given (it must be the size of plaintext + the size of tag\n * length) the result will be put into it. Dst and plaintext must not\n * overlap.\n */\n ChaCha20Poly1305.prototype.seal = function (nonce, plaintext, associatedData, dst) {\n if (nonce.length > 16) {\n throw new Error("ChaCha20Poly1305: incorrect nonce length");\n }\n // Allocate space for counter, and set nonce as last bytes of it.\n var counter = new Uint8Array(16);\n counter.set(nonce, counter.length - nonce.length);\n // Generate authentication key by taking first 32-bytes of stream.\n // We pass full counter, which has 12-byte nonce and 4-byte block counter,\n // and it will get incremented after generating the block, which is\n // exactly what we need: we only use the first 32 bytes of 64-byte\n // ChaCha block and discard the next 32 bytes.\n var authKey = new Uint8Array(32);\n chacha_1.stream(this._key, counter, authKey, 4);\n // Allocate space for sealed ciphertext.\n var resultLength = plaintext.length + this.tagLength;\n var result;\n if (dst) {\n if (dst.length !== resultLength) {\n throw new Error("ChaCha20Poly1305: incorrect destination length");\n }\n result = dst;\n }\n else {\n result = new Uint8Array(resultLength);\n }\n // Encrypt plaintext.\n chacha_1.streamXOR(this._key, counter, plaintext, result, 4);\n // Authenticate.\n // XXX: can "simplify" here: pass full result (which is already padded\n // due to zeroes prepared for tag), and ciphertext length instead of\n // subarray of result.\n this._authenticate(result.subarray(result.length - this.tagLength, result.length), authKey, result.subarray(0, result.length - this.tagLength), associatedData);\n // Cleanup.\n wipe_1.wipe(counter);\n return result;\n };\n /**\n * Authenticates sealed ciphertext (which includes authentication tag) and\n * associated data, decrypts ciphertext and returns decrypted plaintext.\n *\n * RFC7539 specifies 12 bytes for nonce. It may be this 12-byte nonce\n * ("IV"), or full 16-byte counter (called "32-bit fixed-common part")\n * and nonce.\n *\n * If authentication fails, it returns null.\n *\n * If dst is given (it must be of ciphertext length minus tag length),\n * the result will be put into it. Dst and plaintext must not overlap.\n */\n ChaCha20Poly1305.prototype.open = function (nonce, sealed, associatedData, dst) {\n if (nonce.length > 16) {\n throw new Error("ChaCha20Poly1305: incorrect nonce length");\n }\n // Sealed ciphertext should at least contain tag.\n if (sealed.length < this.tagLength) {\n // TODO(dchest): should we throw here instead?\n return null;\n }\n // Allocate space for counter, and set nonce as last bytes of it.\n var counter = new Uint8Array(16);\n counter.set(nonce, counter.length - nonce.length);\n // Generate authentication key by taking first 32-bytes of stream.\n var authKey = new Uint8Array(32);\n chacha_1.stream(this._key, counter, authKey, 4);\n // Authenticate.\n // XXX: can simplify and avoid allocation: since authenticate()\n // already allocates tag (from Poly1305.digest(), it can return)\n // it instead of copying to calculatedTag. But then in seal()\n // we\'ll need to copy it.\n var calculatedTag = new Uint8Array(this.tagLength);\n this._authenticate(calculatedTag, authKey, sealed.subarray(0, sealed.length - this.tagLength), associatedData);\n // Constant-time compare tags and return null if they differ.\n if (!constant_time_1.equal(calculatedTag, sealed.subarray(sealed.length - this.tagLength, sealed.length))) {\n return null;\n }\n // Allocate space for decrypted plaintext.\n var resultLength = sealed.length - this.tagLength;\n var result;\n if (dst) {\n if (dst.length !== resultLength) {\n throw new Error("ChaCha20Poly1305: incorrect destination length");\n }\n result = dst;\n }\n else {\n result = new Uint8Array(resultLength);\n }\n // Decrypt.\n chacha_1.streamXOR(this._key, counter, sealed.subarray(0, sealed.length - this.tagLength), result, 4);\n // Cleanup.\n wipe_1.wipe(counter);\n return result;\n };\n ChaCha20Poly1305.prototype.clean = function () {\n wipe_1.wipe(this._key);\n return this;\n };\n ChaCha20Poly1305.prototype._authenticate = function (tagOut, authKey, ciphertext, associatedData) {\n // Initialize Poly1305 with authKey.\n var h = new poly1305_1.Poly1305(authKey);\n // Authenticate padded associated data.\n if (associatedData) {\n h.update(associatedData);\n if (associatedData.length % 16 > 0) {\n h.update(ZEROS.subarray(associatedData.length % 16));\n }\n }\n // Authenticate padded ciphertext.\n h.update(ciphertext);\n if (ciphertext.length % 16 > 0) {\n h.update(ZEROS.subarray(ciphertext.length % 16));\n }\n // Authenticate length of associated data.\n // XXX: can avoid allocation here?\n var length = new Uint8Array(8);\n if (associatedData) {\n binary_1.writeUint64LE(associatedData.length, length);\n }\n h.update(length);\n // Authenticate length of ciphertext.\n binary_1.writeUint64LE(ciphertext.length, length);\n h.update(length);\n // Get tag and copy it into tagOut.\n var tag = h.digest();\n for (var i = 0; i < tag.length; i++) {\n tagOut[i] = tag[i];\n }\n // Cleanup.\n h.clean();\n wipe_1.wipe(tag);\n wipe_1.wipe(length);\n };\n return ChaCha20Poly1305;\n}());\nexports.ChaCha20Poly1305 = ChaCha20Poly1305;\n//# sourceMappingURL=chacha20poly1305.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@stablelib/chacha20poly1305/lib/chacha20poly1305.js?')},"./node_modules/@stablelib/constant-time/lib/constant-time.js":(__unused_webpack_module,exports)=>{"use strict";eval('\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, "__esModule", ({ value: true }));\n/**\n * Package constant-time provides functions for performing algorithmically constant-time operations.\n */\n/**\n * NOTE! Due to the inability to guarantee real constant time evaluation of\n * anything in JavaScript VM, this is module is the best effort.\n */\n/**\n * Returns resultIfOne if subject is 1, or resultIfZero if subject is 0.\n *\n * Supports only 32-bit integers, so resultIfOne or resultIfZero are not\n * integers, they\'ll be converted to them with bitwise operations.\n */\nfunction select(subject, resultIfOne, resultIfZero) {\n return (~(subject - 1) & resultIfOne) | ((subject - 1) & resultIfZero);\n}\nexports.select = select;\n/**\n * Returns 1 if a <= b, or 0 if not.\n * Arguments must be positive 32-bit integers less than or equal to 2^31 - 1.\n */\nfunction lessOrEqual(a, b) {\n return (((a | 0) - (b | 0) - 1) >>> 31) & 1;\n}\nexports.lessOrEqual = lessOrEqual;\n/**\n * Returns 1 if a and b are of equal length and their contents\n * are equal, or 0 otherwise.\n *\n * Note that unlike in equal(), zero-length inputs are considered\n * the same, so this function will return 1.\n */\nfunction compare(a, b) {\n if (a.length !== b.length) {\n return 0;\n }\n var result = 0;\n for (var i = 0; i < a.length; i++) {\n result |= a[i] ^ b[i];\n }\n return (1 & ((result - 1) >>> 8));\n}\nexports.compare = compare;\n/**\n * Returns true if a and b are of equal non-zero length,\n * and their contents are equal, or false otherwise.\n *\n * Note that unlike in compare() zero-length inputs are considered\n * _not_ equal, so this function will return false.\n */\nfunction equal(a, b) {\n if (a.length === 0 || b.length === 0) {\n return false;\n }\n return compare(a, b) !== 0;\n}\nexports.equal = equal;\n//# sourceMappingURL=constant-time.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@stablelib/constant-time/lib/constant-time.js?')},"./node_modules/@stablelib/ed25519/lib/ed25519.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.convertSecretKeyToX25519 = exports.convertPublicKeyToX25519 = exports.verify = exports.sign = exports.extractPublicKeyFromSecretKey = exports.generateKeyPair = exports.generateKeyPairFromSeed = exports.SEED_LENGTH = exports.SECRET_KEY_LENGTH = exports.PUBLIC_KEY_LENGTH = exports.SIGNATURE_LENGTH = void 0;\n/**\n * Package ed25519 implements Ed25519 public-key signature algorithm.\n */\nconst random_1 = __webpack_require__(/*! @stablelib/random */ "./node_modules/@stablelib/random/lib/random.js");\nconst sha512_1 = __webpack_require__(/*! @stablelib/sha512 */ "./node_modules/@stablelib/sha512/lib/sha512.js");\nconst wipe_1 = __webpack_require__(/*! @stablelib/wipe */ "./node_modules/@stablelib/wipe/lib/wipe.js");\nexports.SIGNATURE_LENGTH = 64;\nexports.PUBLIC_KEY_LENGTH = 32;\nexports.SECRET_KEY_LENGTH = 64;\nexports.SEED_LENGTH = 32;\n// Returns new zero-filled 16-element GF (Float64Array).\n// If passed an array of numbers, prefills the returned\n// array with them.\n//\n// We use Float64Array, because we need 48-bit numbers\n// for this implementation.\nfunction gf(init) {\n const r = new Float64Array(16);\n if (init) {\n for (let i = 0; i < init.length; i++) {\n r[i] = init[i];\n }\n }\n return r;\n}\n// Base point.\nconst _9 = new Uint8Array(32);\n_9[0] = 9;\nconst gf0 = gf();\nconst gf1 = gf([1]);\nconst D = gf([\n 0x78a3, 0x1359, 0x4dca, 0x75eb, 0xd8ab, 0x4141, 0x0a4d, 0x0070,\n 0xe898, 0x7779, 0x4079, 0x8cc7, 0xfe73, 0x2b6f, 0x6cee, 0x5203\n]);\nconst D2 = gf([\n 0xf159, 0x26b2, 0x9b94, 0xebd6, 0xb156, 0x8283, 0x149a, 0x00e0,\n 0xd130, 0xeef3, 0x80f2, 0x198e, 0xfce7, 0x56df, 0xd9dc, 0x2406\n]);\nconst X = gf([\n 0xd51a, 0x8f25, 0x2d60, 0xc956, 0xa7b2, 0x9525, 0xc760, 0x692c,\n 0xdc5c, 0xfdd6, 0xe231, 0xc0a4, 0x53fe, 0xcd6e, 0x36d3, 0x2169\n]);\nconst Y = gf([\n 0x6658, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666,\n 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666\n]);\nconst I = gf([\n 0xa0b0, 0x4a0e, 0x1b27, 0xc4ee, 0xe478, 0xad2f, 0x1806, 0x2f43,\n 0xd7a7, 0x3dfb, 0x0099, 0x2b4d, 0xdf0b, 0x4fc1, 0x2480, 0x2b83\n]);\nfunction set25519(r, a) {\n for (let i = 0; i < 16; i++) {\n r[i] = a[i] | 0;\n }\n}\nfunction car25519(o) {\n let c = 1;\n for (let i = 0; i < 16; i++) {\n let v = o[i] + c + 65535;\n c = Math.floor(v / 65536);\n o[i] = v - c * 65536;\n }\n o[0] += c - 1 + 37 * (c - 1);\n}\nfunction sel25519(p, q, b) {\n const c = ~(b - 1);\n for (let i = 0; i < 16; i++) {\n const t = c & (p[i] ^ q[i]);\n p[i] ^= t;\n q[i] ^= t;\n }\n}\nfunction pack25519(o, n) {\n const m = gf();\n const t = gf();\n for (let i = 0; i < 16; i++) {\n t[i] = n[i];\n }\n car25519(t);\n car25519(t);\n car25519(t);\n for (let j = 0; j < 2; j++) {\n m[0] = t[0] - 0xffed;\n for (let i = 1; i < 15; i++) {\n m[i] = t[i] - 0xffff - ((m[i - 1] >> 16) & 1);\n m[i - 1] &= 0xffff;\n }\n m[15] = t[15] - 0x7fff - ((m[14] >> 16) & 1);\n const b = (m[15] >> 16) & 1;\n m[14] &= 0xffff;\n sel25519(t, m, 1 - b);\n }\n for (let i = 0; i < 16; i++) {\n o[2 * i] = t[i] & 0xff;\n o[2 * i + 1] = t[i] >> 8;\n }\n}\nfunction verify32(x, y) {\n let d = 0;\n for (let i = 0; i < 32; i++) {\n d |= x[i] ^ y[i];\n }\n return (1 & ((d - 1) >>> 8)) - 1;\n}\nfunction neq25519(a, b) {\n const c = new Uint8Array(32);\n const d = new Uint8Array(32);\n pack25519(c, a);\n pack25519(d, b);\n return verify32(c, d);\n}\nfunction par25519(a) {\n const d = new Uint8Array(32);\n pack25519(d, a);\n return d[0] & 1;\n}\nfunction unpack25519(o, n) {\n for (let i = 0; i < 16; i++) {\n o[i] = n[2 * i] + (n[2 * i + 1] << 8);\n }\n o[15] &= 0x7fff;\n}\nfunction add(o, a, b) {\n for (let i = 0; i < 16; i++) {\n o[i] = a[i] + b[i];\n }\n}\nfunction sub(o, a, b) {\n for (let i = 0; i < 16; i++) {\n o[i] = a[i] - b[i];\n }\n}\nfunction mul(o, a, b) {\n let v, c, t0 = 0, t1 = 0, t2 = 0, t3 = 0, t4 = 0, t5 = 0, t6 = 0, t7 = 0, t8 = 0, t9 = 0, t10 = 0, t11 = 0, t12 = 0, t13 = 0, t14 = 0, t15 = 0, t16 = 0, t17 = 0, t18 = 0, t19 = 0, t20 = 0, t21 = 0, t22 = 0, t23 = 0, t24 = 0, t25 = 0, t26 = 0, t27 = 0, t28 = 0, t29 = 0, t30 = 0, b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3], b4 = b[4], b5 = b[5], b6 = b[6], b7 = b[7], b8 = b[8], b9 = b[9], b10 = b[10], b11 = b[11], b12 = b[12], b13 = b[13], b14 = b[14], b15 = b[15];\n v = a[0];\n t0 += v * b0;\n t1 += v * b1;\n t2 += v * b2;\n t3 += v * b3;\n t4 += v * b4;\n t5 += v * b5;\n t6 += v * b6;\n t7 += v * b7;\n t8 += v * b8;\n t9 += v * b9;\n t10 += v * b10;\n t11 += v * b11;\n t12 += v * b12;\n t13 += v * b13;\n t14 += v * b14;\n t15 += v * b15;\n v = a[1];\n t1 += v * b0;\n t2 += v * b1;\n t3 += v * b2;\n t4 += v * b3;\n t5 += v * b4;\n t6 += v * b5;\n t7 += v * b6;\n t8 += v * b7;\n t9 += v * b8;\n t10 += v * b9;\n t11 += v * b10;\n t12 += v * b11;\n t13 += v * b12;\n t14 += v * b13;\n t15 += v * b14;\n t16 += v * b15;\n v = a[2];\n t2 += v * b0;\n t3 += v * b1;\n t4 += v * b2;\n t5 += v * b3;\n t6 += v * b4;\n t7 += v * b5;\n t8 += v * b6;\n t9 += v * b7;\n t10 += v * b8;\n t11 += v * b9;\n t12 += v * b10;\n t13 += v * b11;\n t14 += v * b12;\n t15 += v * b13;\n t16 += v * b14;\n t17 += v * b15;\n v = a[3];\n t3 += v * b0;\n t4 += v * b1;\n t5 += v * b2;\n t6 += v * b3;\n t7 += v * b4;\n t8 += v * b5;\n t9 += v * b6;\n t10 += v * b7;\n t11 += v * b8;\n t12 += v * b9;\n t13 += v * b10;\n t14 += v * b11;\n t15 += v * b12;\n t16 += v * b13;\n t17 += v * b14;\n t18 += v * b15;\n v = a[4];\n t4 += v * b0;\n t5 += v * b1;\n t6 += v * b2;\n t7 += v * b3;\n t8 += v * b4;\n t9 += v * b5;\n t10 += v * b6;\n t11 += v * b7;\n t12 += v * b8;\n t13 += v * b9;\n t14 += v * b10;\n t15 += v * b11;\n t16 += v * b12;\n t17 += v * b13;\n t18 += v * b14;\n t19 += v * b15;\n v = a[5];\n t5 += v * b0;\n t6 += v * b1;\n t7 += v * b2;\n t8 += v * b3;\n t9 += v * b4;\n t10 += v * b5;\n t11 += v * b6;\n t12 += v * b7;\n t13 += v * b8;\n t14 += v * b9;\n t15 += v * b10;\n t16 += v * b11;\n t17 += v * b12;\n t18 += v * b13;\n t19 += v * b14;\n t20 += v * b15;\n v = a[6];\n t6 += v * b0;\n t7 += v * b1;\n t8 += v * b2;\n t9 += v * b3;\n t10 += v * b4;\n t11 += v * b5;\n t12 += v * b6;\n t13 += v * b7;\n t14 += v * b8;\n t15 += v * b9;\n t16 += v * b10;\n t17 += v * b11;\n t18 += v * b12;\n t19 += v * b13;\n t20 += v * b14;\n t21 += v * b15;\n v = a[7];\n t7 += v * b0;\n t8 += v * b1;\n t9 += v * b2;\n t10 += v * b3;\n t11 += v * b4;\n t12 += v * b5;\n t13 += v * b6;\n t14 += v * b7;\n t15 += v * b8;\n t16 += v * b9;\n t17 += v * b10;\n t18 += v * b11;\n t19 += v * b12;\n t20 += v * b13;\n t21 += v * b14;\n t22 += v * b15;\n v = a[8];\n t8 += v * b0;\n t9 += v * b1;\n t10 += v * b2;\n t11 += v * b3;\n t12 += v * b4;\n t13 += v * b5;\n t14 += v * b6;\n t15 += v * b7;\n t16 += v * b8;\n t17 += v * b9;\n t18 += v * b10;\n t19 += v * b11;\n t20 += v * b12;\n t21 += v * b13;\n t22 += v * b14;\n t23 += v * b15;\n v = a[9];\n t9 += v * b0;\n t10 += v * b1;\n t11 += v * b2;\n t12 += v * b3;\n t13 += v * b4;\n t14 += v * b5;\n t15 += v * b6;\n t16 += v * b7;\n t17 += v * b8;\n t18 += v * b9;\n t19 += v * b10;\n t20 += v * b11;\n t21 += v * b12;\n t22 += v * b13;\n t23 += v * b14;\n t24 += v * b15;\n v = a[10];\n t10 += v * b0;\n t11 += v * b1;\n t12 += v * b2;\n t13 += v * b3;\n t14 += v * b4;\n t15 += v * b5;\n t16 += v * b6;\n t17 += v * b7;\n t18 += v * b8;\n t19 += v * b9;\n t20 += v * b10;\n t21 += v * b11;\n t22 += v * b12;\n t23 += v * b13;\n t24 += v * b14;\n t25 += v * b15;\n v = a[11];\n t11 += v * b0;\n t12 += v * b1;\n t13 += v * b2;\n t14 += v * b3;\n t15 += v * b4;\n t16 += v * b5;\n t17 += v * b6;\n t18 += v * b7;\n t19 += v * b8;\n t20 += v * b9;\n t21 += v * b10;\n t22 += v * b11;\n t23 += v * b12;\n t24 += v * b13;\n t25 += v * b14;\n t26 += v * b15;\n v = a[12];\n t12 += v * b0;\n t13 += v * b1;\n t14 += v * b2;\n t15 += v * b3;\n t16 += v * b4;\n t17 += v * b5;\n t18 += v * b6;\n t19 += v * b7;\n t20 += v * b8;\n t21 += v * b9;\n t22 += v * b10;\n t23 += v * b11;\n t24 += v * b12;\n t25 += v * b13;\n t26 += v * b14;\n t27 += v * b15;\n v = a[13];\n t13 += v * b0;\n t14 += v * b1;\n t15 += v * b2;\n t16 += v * b3;\n t17 += v * b4;\n t18 += v * b5;\n t19 += v * b6;\n t20 += v * b7;\n t21 += v * b8;\n t22 += v * b9;\n t23 += v * b10;\n t24 += v * b11;\n t25 += v * b12;\n t26 += v * b13;\n t27 += v * b14;\n t28 += v * b15;\n v = a[14];\n t14 += v * b0;\n t15 += v * b1;\n t16 += v * b2;\n t17 += v * b3;\n t18 += v * b4;\n t19 += v * b5;\n t20 += v * b6;\n t21 += v * b7;\n t22 += v * b8;\n t23 += v * b9;\n t24 += v * b10;\n t25 += v * b11;\n t26 += v * b12;\n t27 += v * b13;\n t28 += v * b14;\n t29 += v * b15;\n v = a[15];\n t15 += v * b0;\n t16 += v * b1;\n t17 += v * b2;\n t18 += v * b3;\n t19 += v * b4;\n t20 += v * b5;\n t21 += v * b6;\n t22 += v * b7;\n t23 += v * b8;\n t24 += v * b9;\n t25 += v * b10;\n t26 += v * b11;\n t27 += v * b12;\n t28 += v * b13;\n t29 += v * b14;\n t30 += v * b15;\n t0 += 38 * t16;\n t1 += 38 * t17;\n t2 += 38 * t18;\n t3 += 38 * t19;\n t4 += 38 * t20;\n t5 += 38 * t21;\n t6 += 38 * t22;\n t7 += 38 * t23;\n t8 += 38 * t24;\n t9 += 38 * t25;\n t10 += 38 * t26;\n t11 += 38 * t27;\n t12 += 38 * t28;\n t13 += 38 * t29;\n t14 += 38 * t30;\n // t15 left as is\n // first car\n c = 1;\n v = t0 + c + 65535;\n c = Math.floor(v / 65536);\n t0 = v - c * 65536;\n v = t1 + c + 65535;\n c = Math.floor(v / 65536);\n t1 = v - c * 65536;\n v = t2 + c + 65535;\n c = Math.floor(v / 65536);\n t2 = v - c * 65536;\n v = t3 + c + 65535;\n c = Math.floor(v / 65536);\n t3 = v - c * 65536;\n v = t4 + c + 65535;\n c = Math.floor(v / 65536);\n t4 = v - c * 65536;\n v = t5 + c + 65535;\n c = Math.floor(v / 65536);\n t5 = v - c * 65536;\n v = t6 + c + 65535;\n c = Math.floor(v / 65536);\n t6 = v - c * 65536;\n v = t7 + c + 65535;\n c = Math.floor(v / 65536);\n t7 = v - c * 65536;\n v = t8 + c + 65535;\n c = Math.floor(v / 65536);\n t8 = v - c * 65536;\n v = t9 + c + 65535;\n c = Math.floor(v / 65536);\n t9 = v - c * 65536;\n v = t10 + c + 65535;\n c = Math.floor(v / 65536);\n t10 = v - c * 65536;\n v = t11 + c + 65535;\n c = Math.floor(v / 65536);\n t11 = v - c * 65536;\n v = t12 + c + 65535;\n c = Math.floor(v / 65536);\n t12 = v - c * 65536;\n v = t13 + c + 65535;\n c = Math.floor(v / 65536);\n t13 = v - c * 65536;\n v = t14 + c + 65535;\n c = Math.floor(v / 65536);\n t14 = v - c * 65536;\n v = t15 + c + 65535;\n c = Math.floor(v / 65536);\n t15 = v - c * 65536;\n t0 += c - 1 + 37 * (c - 1);\n // second car\n c = 1;\n v = t0 + c + 65535;\n c = Math.floor(v / 65536);\n t0 = v - c * 65536;\n v = t1 + c + 65535;\n c = Math.floor(v / 65536);\n t1 = v - c * 65536;\n v = t2 + c + 65535;\n c = Math.floor(v / 65536);\n t2 = v - c * 65536;\n v = t3 + c + 65535;\n c = Math.floor(v / 65536);\n t3 = v - c * 65536;\n v = t4 + c + 65535;\n c = Math.floor(v / 65536);\n t4 = v - c * 65536;\n v = t5 + c + 65535;\n c = Math.floor(v / 65536);\n t5 = v - c * 65536;\n v = t6 + c + 65535;\n c = Math.floor(v / 65536);\n t6 = v - c * 65536;\n v = t7 + c + 65535;\n c = Math.floor(v / 65536);\n t7 = v - c * 65536;\n v = t8 + c + 65535;\n c = Math.floor(v / 65536);\n t8 = v - c * 65536;\n v = t9 + c + 65535;\n c = Math.floor(v / 65536);\n t9 = v - c * 65536;\n v = t10 + c + 65535;\n c = Math.floor(v / 65536);\n t10 = v - c * 65536;\n v = t11 + c + 65535;\n c = Math.floor(v / 65536);\n t11 = v - c * 65536;\n v = t12 + c + 65535;\n c = Math.floor(v / 65536);\n t12 = v - c * 65536;\n v = t13 + c + 65535;\n c = Math.floor(v / 65536);\n t13 = v - c * 65536;\n v = t14 + c + 65535;\n c = Math.floor(v / 65536);\n t14 = v - c * 65536;\n v = t15 + c + 65535;\n c = Math.floor(v / 65536);\n t15 = v - c * 65536;\n t0 += c - 1 + 37 * (c - 1);\n o[0] = t0;\n o[1] = t1;\n o[2] = t2;\n o[3] = t3;\n o[4] = t4;\n o[5] = t5;\n o[6] = t6;\n o[7] = t7;\n o[8] = t8;\n o[9] = t9;\n o[10] = t10;\n o[11] = t11;\n o[12] = t12;\n o[13] = t13;\n o[14] = t14;\n o[15] = t15;\n}\nfunction square(o, a) {\n mul(o, a, a);\n}\nfunction inv25519(o, i) {\n const c = gf();\n let a;\n for (a = 0; a < 16; a++) {\n c[a] = i[a];\n }\n for (a = 253; a >= 0; a--) {\n square(c, c);\n if (a !== 2 && a !== 4) {\n mul(c, c, i);\n }\n }\n for (a = 0; a < 16; a++) {\n o[a] = c[a];\n }\n}\nfunction pow2523(o, i) {\n const c = gf();\n let a;\n for (a = 0; a < 16; a++) {\n c[a] = i[a];\n }\n for (a = 250; a >= 0; a--) {\n square(c, c);\n if (a !== 1) {\n mul(c, c, i);\n }\n }\n for (a = 0; a < 16; a++) {\n o[a] = c[a];\n }\n}\nfunction edadd(p, q) {\n const a = gf(), b = gf(), c = gf(), d = gf(), e = gf(), f = gf(), g = gf(), h = gf(), t = gf();\n sub(a, p[1], p[0]);\n sub(t, q[1], q[0]);\n mul(a, a, t);\n add(b, p[0], p[1]);\n add(t, q[0], q[1]);\n mul(b, b, t);\n mul(c, p[3], q[3]);\n mul(c, c, D2);\n mul(d, p[2], q[2]);\n add(d, d, d);\n sub(e, b, a);\n sub(f, d, c);\n add(g, d, c);\n add(h, b, a);\n mul(p[0], e, f);\n mul(p[1], h, g);\n mul(p[2], g, f);\n mul(p[3], e, h);\n}\nfunction cswap(p, q, b) {\n for (let i = 0; i < 4; i++) {\n sel25519(p[i], q[i], b);\n }\n}\nfunction pack(r, p) {\n const tx = gf(), ty = gf(), zi = gf();\n inv25519(zi, p[2]);\n mul(tx, p[0], zi);\n mul(ty, p[1], zi);\n pack25519(r, ty);\n r[31] ^= par25519(tx) << 7;\n}\nfunction scalarmult(p, q, s) {\n set25519(p[0], gf0);\n set25519(p[1], gf1);\n set25519(p[2], gf1);\n set25519(p[3], gf0);\n for (let i = 255; i >= 0; --i) {\n const b = (s[(i / 8) | 0] >> (i & 7)) & 1;\n cswap(p, q, b);\n edadd(q, p);\n edadd(p, p);\n cswap(p, q, b);\n }\n}\nfunction scalarbase(p, s) {\n const q = [gf(), gf(), gf(), gf()];\n set25519(q[0], X);\n set25519(q[1], Y);\n set25519(q[2], gf1);\n mul(q[3], X, Y);\n scalarmult(p, q, s);\n}\n// Generates key pair from secret 32-byte seed.\nfunction generateKeyPairFromSeed(seed) {\n if (seed.length !== exports.SEED_LENGTH) {\n throw new Error(`ed25519: seed must be ${exports.SEED_LENGTH} bytes`);\n }\n const d = (0, sha512_1.hash)(seed);\n d[0] &= 248;\n d[31] &= 127;\n d[31] |= 64;\n const publicKey = new Uint8Array(32);\n const p = [gf(), gf(), gf(), gf()];\n scalarbase(p, d);\n pack(publicKey, p);\n const secretKey = new Uint8Array(64);\n secretKey.set(seed);\n secretKey.set(publicKey, 32);\n return {\n publicKey,\n secretKey\n };\n}\nexports.generateKeyPairFromSeed = generateKeyPairFromSeed;\nfunction generateKeyPair(prng) {\n const seed = (0, random_1.randomBytes)(32, prng);\n const result = generateKeyPairFromSeed(seed);\n (0, wipe_1.wipe)(seed);\n return result;\n}\nexports.generateKeyPair = generateKeyPair;\nfunction extractPublicKeyFromSecretKey(secretKey) {\n if (secretKey.length !== exports.SECRET_KEY_LENGTH) {\n throw new Error(`ed25519: secret key must be ${exports.SECRET_KEY_LENGTH} bytes`);\n }\n return new Uint8Array(secretKey.subarray(32));\n}\nexports.extractPublicKeyFromSecretKey = extractPublicKeyFromSecretKey;\nconst L = new Float64Array([\n 0xed, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58, 0xd6, 0x9c, 0xf7, 0xa2,\n 0xde, 0xf9, 0xde, 0x14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x10\n]);\nfunction modL(r, x) {\n let carry;\n let i;\n let j;\n let k;\n for (i = 63; i >= 32; --i) {\n carry = 0;\n for (j = i - 32, k = i - 12; j < k; ++j) {\n x[j] += carry - 16 * x[i] * L[j - (i - 32)];\n carry = Math.floor((x[j] + 128) / 256);\n x[j] -= carry * 256;\n }\n x[j] += carry;\n x[i] = 0;\n }\n carry = 0;\n for (j = 0; j < 32; j++) {\n x[j] += carry - (x[31] >> 4) * L[j];\n carry = x[j] >> 8;\n x[j] &= 255;\n }\n for (j = 0; j < 32; j++) {\n x[j] -= carry * L[j];\n }\n for (i = 0; i < 32; i++) {\n x[i + 1] += x[i] >> 8;\n r[i] = x[i] & 255;\n }\n}\nfunction reduce(r) {\n const x = new Float64Array(64);\n for (let i = 0; i < 64; i++) {\n x[i] = r[i];\n }\n for (let i = 0; i < 64; i++) {\n r[i] = 0;\n }\n modL(r, x);\n}\n// Returns 64-byte signature of the message under the 64-byte secret key.\nfunction sign(secretKey, message) {\n const x = new Float64Array(64);\n const p = [gf(), gf(), gf(), gf()];\n const d = (0, sha512_1.hash)(secretKey.subarray(0, 32));\n d[0] &= 248;\n d[31] &= 127;\n d[31] |= 64;\n const signature = new Uint8Array(64);\n signature.set(d.subarray(32), 32);\n const hs = new sha512_1.SHA512();\n hs.update(signature.subarray(32));\n hs.update(message);\n const r = hs.digest();\n hs.clean();\n reduce(r);\n scalarbase(p, r);\n pack(signature, p);\n hs.reset();\n hs.update(signature.subarray(0, 32));\n hs.update(secretKey.subarray(32));\n hs.update(message);\n const h = hs.digest();\n reduce(h);\n for (let i = 0; i < 32; i++) {\n x[i] = r[i];\n }\n for (let i = 0; i < 32; i++) {\n for (let j = 0; j < 32; j++) {\n x[i + j] += h[i] * d[j];\n }\n }\n modL(signature.subarray(32), x);\n return signature;\n}\nexports.sign = sign;\nfunction unpackneg(r, p) {\n const t = gf(), chk = gf(), num = gf(), den = gf(), den2 = gf(), den4 = gf(), den6 = gf();\n set25519(r[2], gf1);\n unpack25519(r[1], p);\n square(num, r[1]);\n mul(den, num, D);\n sub(num, num, r[2]);\n add(den, r[2], den);\n square(den2, den);\n square(den4, den2);\n mul(den6, den4, den2);\n mul(t, den6, num);\n mul(t, t, den);\n pow2523(t, t);\n mul(t, t, num);\n mul(t, t, den);\n mul(t, t, den);\n mul(r[0], t, den);\n square(chk, r[0]);\n mul(chk, chk, den);\n if (neq25519(chk, num)) {\n mul(r[0], r[0], I);\n }\n square(chk, r[0]);\n mul(chk, chk, den);\n if (neq25519(chk, num)) {\n return -1;\n }\n if (par25519(r[0]) === (p[31] >> 7)) {\n sub(r[0], gf0, r[0]);\n }\n mul(r[3], r[0], r[1]);\n return 0;\n}\nfunction verify(publicKey, message, signature) {\n const t = new Uint8Array(32);\n const p = [gf(), gf(), gf(), gf()];\n const q = [gf(), gf(), gf(), gf()];\n if (signature.length !== exports.SIGNATURE_LENGTH) {\n throw new Error(`ed25519: signature must be ${exports.SIGNATURE_LENGTH} bytes`);\n }\n if (unpackneg(q, publicKey)) {\n return false;\n }\n const hs = new sha512_1.SHA512();\n hs.update(signature.subarray(0, 32));\n hs.update(publicKey);\n hs.update(message);\n const h = hs.digest();\n reduce(h);\n scalarmult(p, q, h);\n scalarbase(q, signature.subarray(32));\n edadd(p, q);\n pack(t, p);\n if (verify32(signature, t)) {\n return false;\n }\n return true;\n}\nexports.verify = verify;\n/**\n * Convert Ed25519 public key to X25519 public key.\n *\n * Throws if given an invalid public key.\n */\nfunction convertPublicKeyToX25519(publicKey) {\n let q = [gf(), gf(), gf(), gf()];\n if (unpackneg(q, publicKey)) {\n throw new Error("Ed25519: invalid public key");\n }\n // Formula: montgomeryX = (edwardsY + 1)*inverse(1 - edwardsY) mod p\n let a = gf();\n let b = gf();\n let y = q[1];\n add(a, gf1, y);\n sub(b, gf1, y);\n inv25519(b, b);\n mul(a, a, b);\n let z = new Uint8Array(32);\n pack25519(z, a);\n return z;\n}\nexports.convertPublicKeyToX25519 = convertPublicKeyToX25519;\n/**\n * Convert Ed25519 secret (private) key to X25519 secret key.\n */\nfunction convertSecretKeyToX25519(secretKey) {\n const d = (0, sha512_1.hash)(secretKey.subarray(0, 32));\n d[0] &= 248;\n d[31] &= 127;\n d[31] |= 64;\n const o = new Uint8Array(d.subarray(0, 32));\n (0, wipe_1.wipe)(d);\n return o;\n}\nexports.convertSecretKeyToX25519 = convertSecretKeyToX25519;\n//# sourceMappingURL=ed25519.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@stablelib/ed25519/lib/ed25519.js?')},"./node_modules/@stablelib/hash/lib/hash.js":(__unused_webpack_module,exports)=>{"use strict";eval('\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nfunction isSerializableHash(h) {\n return (typeof h.saveState !== "undefined" &&\n typeof h.restoreState !== "undefined" &&\n typeof h.cleanSavedState !== "undefined");\n}\nexports.isSerializableHash = isSerializableHash;\n// TODO(dchest): figure out the standardized interface for XOF such as\n// SHAKE and BLAKE2X.\n//# sourceMappingURL=hash.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@stablelib/hash/lib/hash.js?')},"./node_modules/@stablelib/hkdf/lib/hkdf.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nvar hmac_1 = __webpack_require__(/*! @stablelib/hmac */ "./node_modules/@stablelib/hmac/lib/hmac.js");\nvar wipe_1 = __webpack_require__(/*! @stablelib/wipe */ "./node_modules/@stablelib/wipe/lib/wipe.js");\n/**\n * HMAC-based Extract-and-Expand Key Derivation Function.\n *\n * Implements HKDF from RFC5869.\n *\n * Expands the given master key with salt and info into\n * a limited stream of key material.\n */\nvar HKDF = /** @class */ (function () {\n /**\n * Create a new HKDF instance for the given hash function\n * with the master key, optional salt, and info.\n *\n * - Master key is a high-entropy secret key (not a password).\n * - Salt is a non-secret random value.\n * - Info is application- and/or context-specific information.\n */\n function HKDF(hash, key, salt, info) {\n if (salt === void 0) { salt = new Uint8Array(0); }\n this._counter = new Uint8Array(1); // starts with zero\n this._hash = hash;\n this._info = info;\n // HKDF-Extract uses salt as HMAC key, and key as data.\n var okm = hmac_1.hmac(this._hash, salt, key);\n // Initialize HMAC for expanding with extracted key.\n this._hmac = new hmac_1.HMAC(hash, okm);\n // Allocate buffer.\n this._buffer = new Uint8Array(this._hmac.digestLength);\n this._bufpos = this._buffer.length;\n }\n // Fill buffer with new block of HKDF-Extract output.\n HKDF.prototype._fillBuffer = function () {\n // Increment counter.\n this._counter[0]++;\n var ctr = this._counter[0];\n // Check if counter overflowed.\n if (ctr === 0) {\n throw new Error("hkdf: cannot expand more");\n }\n // Prepare HMAC instance for new data with old key.\n this._hmac.reset();\n // Hash in previous output if it was generated\n // (i.e. counter is greater than 1).\n if (ctr > 1) {\n this._hmac.update(this._buffer);\n }\n // Hash in info if it exists.\n if (this._info) {\n this._hmac.update(this._info);\n }\n // Hash in the counter.\n this._hmac.update(this._counter);\n // Output result to buffer and clean HMAC instance.\n this._hmac.finish(this._buffer);\n // Reset buffer position.\n this._bufpos = 0;\n };\n /**\n * Expand returns next key material of the given length.\n *\n * It throws if expansion limit is reached (which is\n * 254 digests of the underlying HMAC function).\n */\n HKDF.prototype.expand = function (length) {\n var out = new Uint8Array(length);\n for (var i = 0; i < out.length; i++) {\n if (this._bufpos === this._buffer.length) {\n this._fillBuffer();\n }\n out[i] = this._buffer[this._bufpos++];\n }\n return out;\n };\n HKDF.prototype.clean = function () {\n this._hmac.clean();\n wipe_1.wipe(this._buffer);\n wipe_1.wipe(this._counter);\n this._bufpos = 0;\n };\n return HKDF;\n}());\nexports.HKDF = HKDF;\n// TODO(dchest): maybe implement deriveKey?\n//# sourceMappingURL=hkdf.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@stablelib/hkdf/lib/hkdf.js?')},"./node_modules/@stablelib/hmac/lib/hmac.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, "__esModule", ({ value: true }));\n/**\n * Package hmac implements HMAC algorithm.\n */\nvar hash_1 = __webpack_require__(/*! @stablelib/hash */ "./node_modules/@stablelib/hash/lib/hash.js");\nvar constant_time_1 = __webpack_require__(/*! @stablelib/constant-time */ "./node_modules/@stablelib/constant-time/lib/constant-time.js");\nvar wipe_1 = __webpack_require__(/*! @stablelib/wipe */ "./node_modules/@stablelib/wipe/lib/wipe.js");\n/**\n * HMAC implements hash-based message authentication algorithm.\n */\nvar HMAC = /** @class */ (function () {\n /**\n * Constructs a new HMAC with the given Hash and secret key.\n */\n function HMAC(hash, key) {\n this._finished = false; // true if HMAC was finalized\n // Initialize inner and outer hashes.\n this._inner = new hash();\n this._outer = new hash();\n // Set block and digest sizes for this HMAC\n // instance to values from the hash.\n this.blockSize = this._outer.blockSize;\n this.digestLength = this._outer.digestLength;\n // Pad temporary stores a key (or its hash) padded with zeroes.\n var pad = new Uint8Array(this.blockSize);\n if (key.length > this.blockSize) {\n // If key is bigger than hash block size, it must be\n // hashed and this hash is used as a key instead.\n this._inner.update(key).finish(pad).clean();\n }\n else {\n // Otherwise, copy the key into pad.\n pad.set(key);\n }\n // Now two different keys are derived from padded key\n // by xoring a different byte value to each.\n // To make inner hash key, xor byte 0x36 into pad.\n for (var i = 0; i < pad.length; i++) {\n pad[i] ^= 0x36;\n }\n // Update inner hash with the result.\n this._inner.update(pad);\n // To make outer hash key, xor byte 0x5c into pad.\n // But since we already xored 0x36 there, we must\n // first undo this by xoring it again.\n for (var i = 0; i < pad.length; i++) {\n pad[i] ^= 0x36 ^ 0x5c;\n }\n // Update outer hash with the result.\n this._outer.update(pad);\n // Save states of both hashes, so that we can quickly restore\n // them later in reset() without the need to remember the actual\n // key and perform this initialization again.\n if (hash_1.isSerializableHash(this._inner) && hash_1.isSerializableHash(this._outer)) {\n this._innerKeyedState = this._inner.saveState();\n this._outerKeyedState = this._outer.saveState();\n }\n // Clean pad.\n wipe_1.wipe(pad);\n }\n /**\n * Returns HMAC state to the state initialized with key\n * to make it possible to run HMAC over the other data with the same\n * key without creating a new instance.\n */\n HMAC.prototype.reset = function () {\n if (!hash_1.isSerializableHash(this._inner) || !hash_1.isSerializableHash(this._outer)) {\n throw new Error("hmac: can\'t reset() because hash doesn\'t implement restoreState()");\n }\n // Restore keyed states of inner and outer hashes.\n this._inner.restoreState(this._innerKeyedState);\n this._outer.restoreState(this._outerKeyedState);\n this._finished = false;\n return this;\n };\n /**\n * Cleans HMAC state.\n */\n HMAC.prototype.clean = function () {\n if (hash_1.isSerializableHash(this._inner)) {\n this._inner.cleanSavedState(this._innerKeyedState);\n }\n if (hash_1.isSerializableHash(this._outer)) {\n this._outer.cleanSavedState(this._outerKeyedState);\n }\n this._inner.clean();\n this._outer.clean();\n };\n /**\n * Updates state with provided data.\n */\n HMAC.prototype.update = function (data) {\n this._inner.update(data);\n return this;\n };\n /**\n * Finalizes HMAC and puts the result in out.\n */\n HMAC.prototype.finish = function (out) {\n if (this._finished) {\n // If HMAC was finalized, outer hash is also finalized,\n // so it produces the same digest it produced when it\n // was finalized.\n this._outer.finish(out);\n return this;\n }\n // Finalize inner hash and store the result temporarily.\n this._inner.finish(out);\n // Update outer hash with digest of inner hash and and finalize it.\n this._outer.update(out.subarray(0, this.digestLength)).finish(out);\n this._finished = true;\n return this;\n };\n /**\n * Returns the computed message authentication code.\n */\n HMAC.prototype.digest = function () {\n var out = new Uint8Array(this.digestLength);\n this.finish(out);\n return out;\n };\n /**\n * Saves HMAC state.\n * This function is needed for PBKDF2 optimization.\n */\n HMAC.prototype.saveState = function () {\n if (!hash_1.isSerializableHash(this._inner)) {\n throw new Error("hmac: can\'t saveState() because hash doesn\'t implement it");\n }\n return this._inner.saveState();\n };\n HMAC.prototype.restoreState = function (savedState) {\n if (!hash_1.isSerializableHash(this._inner) || !hash_1.isSerializableHash(this._outer)) {\n throw new Error("hmac: can\'t restoreState() because hash doesn\'t implement it");\n }\n this._inner.restoreState(savedState);\n this._outer.restoreState(this._outerKeyedState);\n this._finished = false;\n return this;\n };\n HMAC.prototype.cleanSavedState = function (savedState) {\n if (!hash_1.isSerializableHash(this._inner)) {\n throw new Error("hmac: can\'t cleanSavedState() because hash doesn\'t implement it");\n }\n this._inner.cleanSavedState(savedState);\n };\n return HMAC;\n}());\nexports.HMAC = HMAC;\n/**\n * Returns HMAC using the given hash constructor for the key over data.\n */\nfunction hmac(hash, key, data) {\n var h = new HMAC(hash, key);\n h.update(data);\n var digest = h.digest();\n h.clean();\n return digest;\n}\nexports.hmac = hmac;\n/**\n * Returns true if two HMAC digests are equal.\n * Uses constant-time comparison to avoid leaking timing information.\n *\n * Example:\n *\n * const receivedDigest = ...\n * const realDigest = hmac(SHA256, key, data);\n * if (!equal(receivedDigest, realDigest)) {\n * throw new Error("Authentication error");\n * }\n */\nexports.equal = constant_time_1.equal;\n//# sourceMappingURL=hmac.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@stablelib/hmac/lib/hmac.js?')},"./node_modules/@stablelib/int/lib/int.js":(__unused_webpack_module,exports)=>{"use strict";eval('\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, "__esModule", ({ value: true }));\n/**\n * Package int provides helper functions for integerss.\n */\n// Shim using 16-bit pieces.\nfunction imulShim(a, b) {\n var ah = (a >>> 16) & 0xffff, al = a & 0xffff;\n var bh = (b >>> 16) & 0xffff, bl = b & 0xffff;\n return ((al * bl) + (((ah * bl + al * bh) << 16) >>> 0) | 0);\n}\n/** 32-bit integer multiplication. */\n// Use system Math.imul if available, otherwise use our shim.\nexports.mul = Math.imul || imulShim;\n/** 32-bit integer addition. */\nfunction add(a, b) {\n return (a + b) | 0;\n}\nexports.add = add;\n/** 32-bit integer subtraction. */\nfunction sub(a, b) {\n return (a - b) | 0;\n}\nexports.sub = sub;\n/** 32-bit integer left rotation */\nfunction rotl(x, n) {\n return x << n | x >>> (32 - n);\n}\nexports.rotl = rotl;\n/** 32-bit integer left rotation */\nfunction rotr(x, n) {\n return x << (32 - n) | x >>> n;\n}\nexports.rotr = rotr;\nfunction isIntegerShim(n) {\n return typeof n === "number" && isFinite(n) && Math.floor(n) === n;\n}\n/**\n * Returns true if the argument is an integer number.\n *\n * In ES2015, Number.isInteger.\n */\nexports.isInteger = Number.isInteger || isIntegerShim;\n/**\n * Math.pow(2, 53) - 1\n *\n * In ES2015 Number.MAX_SAFE_INTEGER.\n */\nexports.MAX_SAFE_INTEGER = 9007199254740991;\n/**\n * Returns true if the argument is a safe integer number\n * (-MIN_SAFE_INTEGER < number <= MAX_SAFE_INTEGER)\n *\n * In ES2015, Number.isSafeInteger.\n */\nexports.isSafeInteger = function (n) {\n return exports.isInteger(n) && (n >= -exports.MAX_SAFE_INTEGER && n <= exports.MAX_SAFE_INTEGER);\n};\n//# sourceMappingURL=int.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@stablelib/int/lib/int.js?')},"./node_modules/@stablelib/nacl/lib/box.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.openBox = exports.box = exports.precomputeSharedKey = exports.generateKeyPair = void 0;\nconst x25519_1 = __webpack_require__(/*! @stablelib/x25519 */ "./node_modules/@stablelib/x25519/lib/x25519.js");\nconst xsalsa20_1 = __webpack_require__(/*! @stablelib/xsalsa20 */ "./node_modules/@stablelib/xsalsa20/lib/xsalsa20.js");\nconst secretbox_1 = __webpack_require__(/*! ./secretbox */ "./node_modules/@stablelib/nacl/lib/secretbox.js");\nconst wipe_1 = __webpack_require__(/*! @stablelib/wipe */ "./node_modules/@stablelib/wipe/lib/wipe.js");\nvar x25519_2 = __webpack_require__(/*! @stablelib/x25519 */ "./node_modules/@stablelib/x25519/lib/x25519.js");\nObject.defineProperty(exports, "generateKeyPair", ({ enumerable: true, get: function () { return x25519_2.generateKeyPair; } }));\nconst zeros16 = new Uint8Array(16);\nfunction precomputeSharedKey(theirPublicKey, mySecretKey) {\n // Compute scalar multiplication result.\n const key = (0, x25519_1.scalarMult)(mySecretKey, theirPublicKey);\n // Hash key with HSalsa function.\n (0, xsalsa20_1.hsalsa)(key, zeros16, key);\n return key;\n}\nexports.precomputeSharedKey = precomputeSharedKey;\nfunction box(theirPublicKey, mySecretKey, nonce, data) {\n const sharedKey = precomputeSharedKey(theirPublicKey, mySecretKey);\n const result = (0, secretbox_1.secretBox)(sharedKey, nonce, data);\n (0, wipe_1.wipe)(sharedKey);\n return result;\n}\nexports.box = box;\nfunction openBox(theirPublicKey, mySecretKey, nonce, data) {\n const sharedKey = precomputeSharedKey(theirPublicKey, mySecretKey);\n const result = (0, secretbox_1.openSecretBox)(sharedKey, nonce, data);\n (0, wipe_1.wipe)(sharedKey);\n return result;\n}\nexports.openBox = openBox;\n//# sourceMappingURL=box.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@stablelib/nacl/lib/box.js?')},"./node_modules/@stablelib/nacl/lib/nacl.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\n/**\n * Package nacl implements NaCl (Networking and Cryptography library) cryptography.\n */\n__exportStar(__webpack_require__(/*! ./box */ "./node_modules/@stablelib/nacl/lib/box.js"), exports);\n__exportStar(__webpack_require__(/*! ./secretbox */ "./node_modules/@stablelib/nacl/lib/secretbox.js"), exports);\n//# sourceMappingURL=nacl.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@stablelib/nacl/lib/nacl.js?')},"./node_modules/@stablelib/nacl/lib/secretbox.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.generateKey = exports.openSecretBox = exports.secretBox = void 0;\nconst xsalsa20_1 = __webpack_require__(/*! @stablelib/xsalsa20 */ "./node_modules/@stablelib/xsalsa20/lib/xsalsa20.js");\nconst poly1305_1 = __webpack_require__(/*! @stablelib/poly1305 */ "./node_modules/@stablelib/poly1305/lib/poly1305.js");\nconst wipe_1 = __webpack_require__(/*! @stablelib/wipe */ "./node_modules/@stablelib/wipe/lib/wipe.js");\nconst random_1 = __webpack_require__(/*! @stablelib/random */ "./node_modules/@stablelib/random/lib/random.js");\nfunction secretBox(key, nonce, data) {\n if (nonce.length !== 24) {\n throw new Error("secretBox nonce must be 24 bytes");\n }\n const firstBlock = new Uint8Array(64);\n // Allocate place for nonce and counter.\n const nonceCounter = new Uint8Array(24 + 8);\n // Set first bytes to nonce. Last 8 bytes will be counter.\n nonceCounter.set(nonce);\n // Generate first block of XSalsa20 stream, of which\n // first 32 bytes will be authentication key, and the rest\n // will be used for encryption.\n (0, xsalsa20_1.stream)(key, nonceCounter, firstBlock, 8);\n // Allocate result, which will contain 16-byte authenticator\n // concatenated with ciphertext.\n const result = new Uint8Array(16 + data.length);\n // Encrypt first 32 bytes of data with last 32 bytes of generated stream.\n for (let i = 0; i < 32 && i < data.length; i++) {\n result[16 + i] = data[i] ^ firstBlock[32 + i];\n }\n // Encrypt the rest of data.\n if (data.length > 32) {\n (0, xsalsa20_1.streamXOR)(key, nonceCounter, data.subarray(32), result.subarray(16 + 32), 8);\n }\n // Calculate Poly1305 authenticator of encrypted data using\n // authentication key in the first block of XSalsa20 stream.\n const auth = (0, poly1305_1.oneTimeAuth)(firstBlock.subarray(0, 32), result.subarray(16));\n // Copy authenticator to the beginning of result.\n for (let i = 0; i < auth.length; i++) {\n result[i] = auth[i];\n }\n // Clean auth.\n (0, wipe_1.wipe)(auth);\n // Clean first block.\n (0, wipe_1.wipe)(firstBlock);\n // Clean nonceCounter.\n (0, wipe_1.wipe)(nonceCounter);\n return result;\n}\nexports.secretBox = secretBox;\nfunction openSecretBox(key, nonce, box) {\n if (nonce.length !== 24) {\n throw new Error("secretBox nonce must be 24 bytes");\n }\n if (box.length < 16) {\n throw new Error("secretBox data must be at least 16 bytes");\n }\n const firstBlock = new Uint8Array(64);\n // Allocate place for nonce and counter.\n const nonceCounter = new Uint8Array(24 + 8);\n // Set first bytes to nonce. Last 8 bytes will be counter.\n nonceCounter.set(nonce);\n // Generate first block of XSalsa20 stream, of which\n // first 32 bytes will be authentication key, and the rest\n // will be used for encryption.\n (0, xsalsa20_1.stream)(key, nonceCounter, firstBlock, 8);\n // Calculate Poly1305 authenticator of encrypted data using\n // authentication key in the first block of XSalsa20 stream.\n const auth = (0, poly1305_1.oneTimeAuth)(firstBlock.subarray(0, 32), box.subarray(16));\n // Check authenticator.\n if (!(0, poly1305_1.equal)(auth, box.subarray(0, 16))) {\n // Authenticator is incorrect: ciphertext or authenticator\n // was corrupted, maybe maliciously.\n return null;\n }\n // Authenticator verifies, so we can decrypt ciphertext.\n const ciphertext = box.subarray(16);\n // Allocate result array.\n const result = new Uint8Array(ciphertext.length);\n // Decrypt first 32 bytes of box with last 32 bytes of generated stream.\n for (let i = 0; i < 32 && i < ciphertext.length; i++) {\n result[i] = ciphertext[i] ^ firstBlock[32 + i];\n }\n // Decrypt the rest of data.\n if (ciphertext.length > 32) {\n (0, xsalsa20_1.streamXOR)(key, nonceCounter, ciphertext.subarray(32), result.subarray(32), 8);\n }\n // Clean auth.\n (0, wipe_1.wipe)(auth);\n // Clean first block.\n (0, wipe_1.wipe)(firstBlock);\n // Clean nonceCounter.\n (0, wipe_1.wipe)(nonceCounter);\n return result;\n}\nexports.openSecretBox = openSecretBox;\n/** Generates a 32-byte random secret key. */\nfunction generateKey(prng) {\n return (0, random_1.randomBytes)(32, prng);\n}\nexports.generateKey = generateKey;\n//# sourceMappingURL=secretbox.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@stablelib/nacl/lib/secretbox.js?')},"./node_modules/@stablelib/poly1305/lib/poly1305.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, "__esModule", ({ value: true }));\n/**\n * Package poly1305 implements Poly1305 one-time message authentication algorithm.\n */\nvar constant_time_1 = __webpack_require__(/*! @stablelib/constant-time */ "./node_modules/@stablelib/constant-time/lib/constant-time.js");\nvar wipe_1 = __webpack_require__(/*! @stablelib/wipe */ "./node_modules/@stablelib/wipe/lib/wipe.js");\nexports.DIGEST_LENGTH = 16;\n// Port of Andrew Moon\'s Poly1305-donna-16. Public domain.\n// https://github.com/floodyberry/poly1305-donna\n/**\n * Poly1305 computes 16-byte authenticator of message using\n * a one-time 32-byte key.\n *\n * Important: key should be used for only one message,\n * it should never repeat.\n */\nvar Poly1305 = /** @class */ (function () {\n function Poly1305(key) {\n this.digestLength = exports.DIGEST_LENGTH;\n this._buffer = new Uint8Array(16);\n this._r = new Uint16Array(10);\n this._h = new Uint16Array(10);\n this._pad = new Uint16Array(8);\n this._leftover = 0;\n this._fin = 0;\n this._finished = false;\n var t0 = key[0] | key[1] << 8;\n this._r[0] = (t0) & 0x1fff;\n var t1 = key[2] | key[3] << 8;\n this._r[1] = ((t0 >>> 13) | (t1 << 3)) & 0x1fff;\n var t2 = key[4] | key[5] << 8;\n this._r[2] = ((t1 >>> 10) | (t2 << 6)) & 0x1f03;\n var t3 = key[6] | key[7] << 8;\n this._r[3] = ((t2 >>> 7) | (t3 << 9)) & 0x1fff;\n var t4 = key[8] | key[9] << 8;\n this._r[4] = ((t3 >>> 4) | (t4 << 12)) & 0x00ff;\n this._r[5] = ((t4 >>> 1)) & 0x1ffe;\n var t5 = key[10] | key[11] << 8;\n this._r[6] = ((t4 >>> 14) | (t5 << 2)) & 0x1fff;\n var t6 = key[12] | key[13] << 8;\n this._r[7] = ((t5 >>> 11) | (t6 << 5)) & 0x1f81;\n var t7 = key[14] | key[15] << 8;\n this._r[8] = ((t6 >>> 8) | (t7 << 8)) & 0x1fff;\n this._r[9] = ((t7 >>> 5)) & 0x007f;\n this._pad[0] = key[16] | key[17] << 8;\n this._pad[1] = key[18] | key[19] << 8;\n this._pad[2] = key[20] | key[21] << 8;\n this._pad[3] = key[22] | key[23] << 8;\n this._pad[4] = key[24] | key[25] << 8;\n this._pad[5] = key[26] | key[27] << 8;\n this._pad[6] = key[28] | key[29] << 8;\n this._pad[7] = key[30] | key[31] << 8;\n }\n Poly1305.prototype._blocks = function (m, mpos, bytes) {\n var hibit = this._fin ? 0 : 1 << 11;\n var h0 = this._h[0], h1 = this._h[1], h2 = this._h[2], h3 = this._h[3], h4 = this._h[4], h5 = this._h[5], h6 = this._h[6], h7 = this._h[7], h8 = this._h[8], h9 = this._h[9];\n var r0 = this._r[0], r1 = this._r[1], r2 = this._r[2], r3 = this._r[3], r4 = this._r[4], r5 = this._r[5], r6 = this._r[6], r7 = this._r[7], r8 = this._r[8], r9 = this._r[9];\n while (bytes >= 16) {\n var t0 = m[mpos + 0] | m[mpos + 1] << 8;\n h0 += (t0) & 0x1fff;\n var t1 = m[mpos + 2] | m[mpos + 3] << 8;\n h1 += ((t0 >>> 13) | (t1 << 3)) & 0x1fff;\n var t2 = m[mpos + 4] | m[mpos + 5] << 8;\n h2 += ((t1 >>> 10) | (t2 << 6)) & 0x1fff;\n var t3 = m[mpos + 6] | m[mpos + 7] << 8;\n h3 += ((t2 >>> 7) | (t3 << 9)) & 0x1fff;\n var t4 = m[mpos + 8] | m[mpos + 9] << 8;\n h4 += ((t3 >>> 4) | (t4 << 12)) & 0x1fff;\n h5 += ((t4 >>> 1)) & 0x1fff;\n var t5 = m[mpos + 10] | m[mpos + 11] << 8;\n h6 += ((t4 >>> 14) | (t5 << 2)) & 0x1fff;\n var t6 = m[mpos + 12] | m[mpos + 13] << 8;\n h7 += ((t5 >>> 11) | (t6 << 5)) & 0x1fff;\n var t7 = m[mpos + 14] | m[mpos + 15] << 8;\n h8 += ((t6 >>> 8) | (t7 << 8)) & 0x1fff;\n h9 += ((t7 >>> 5)) | hibit;\n var c = 0;\n var d0 = c;\n d0 += h0 * r0;\n d0 += h1 * (5 * r9);\n d0 += h2 * (5 * r8);\n d0 += h3 * (5 * r7);\n d0 += h4 * (5 * r6);\n c = (d0 >>> 13);\n d0 &= 0x1fff;\n d0 += h5 * (5 * r5);\n d0 += h6 * (5 * r4);\n d0 += h7 * (5 * r3);\n d0 += h8 * (5 * r2);\n d0 += h9 * (5 * r1);\n c += (d0 >>> 13);\n d0 &= 0x1fff;\n var d1 = c;\n d1 += h0 * r1;\n d1 += h1 * r0;\n d1 += h2 * (5 * r9);\n d1 += h3 * (5 * r8);\n d1 += h4 * (5 * r7);\n c = (d1 >>> 13);\n d1 &= 0x1fff;\n d1 += h5 * (5 * r6);\n d1 += h6 * (5 * r5);\n d1 += h7 * (5 * r4);\n d1 += h8 * (5 * r3);\n d1 += h9 * (5 * r2);\n c += (d1 >>> 13);\n d1 &= 0x1fff;\n var d2 = c;\n d2 += h0 * r2;\n d2 += h1 * r1;\n d2 += h2 * r0;\n d2 += h3 * (5 * r9);\n d2 += h4 * (5 * r8);\n c = (d2 >>> 13);\n d2 &= 0x1fff;\n d2 += h5 * (5 * r7);\n d2 += h6 * (5 * r6);\n d2 += h7 * (5 * r5);\n d2 += h8 * (5 * r4);\n d2 += h9 * (5 * r3);\n c += (d2 >>> 13);\n d2 &= 0x1fff;\n var d3 = c;\n d3 += h0 * r3;\n d3 += h1 * r2;\n d3 += h2 * r1;\n d3 += h3 * r0;\n d3 += h4 * (5 * r9);\n c = (d3 >>> 13);\n d3 &= 0x1fff;\n d3 += h5 * (5 * r8);\n d3 += h6 * (5 * r7);\n d3 += h7 * (5 * r6);\n d3 += h8 * (5 * r5);\n d3 += h9 * (5 * r4);\n c += (d3 >>> 13);\n d3 &= 0x1fff;\n var d4 = c;\n d4 += h0 * r4;\n d4 += h1 * r3;\n d4 += h2 * r2;\n d4 += h3 * r1;\n d4 += h4 * r0;\n c = (d4 >>> 13);\n d4 &= 0x1fff;\n d4 += h5 * (5 * r9);\n d4 += h6 * (5 * r8);\n d4 += h7 * (5 * r7);\n d4 += h8 * (5 * r6);\n d4 += h9 * (5 * r5);\n c += (d4 >>> 13);\n d4 &= 0x1fff;\n var d5 = c;\n d5 += h0 * r5;\n d5 += h1 * r4;\n d5 += h2 * r3;\n d5 += h3 * r2;\n d5 += h4 * r1;\n c = (d5 >>> 13);\n d5 &= 0x1fff;\n d5 += h5 * r0;\n d5 += h6 * (5 * r9);\n d5 += h7 * (5 * r8);\n d5 += h8 * (5 * r7);\n d5 += h9 * (5 * r6);\n c += (d5 >>> 13);\n d5 &= 0x1fff;\n var d6 = c;\n d6 += h0 * r6;\n d6 += h1 * r5;\n d6 += h2 * r4;\n d6 += h3 * r3;\n d6 += h4 * r2;\n c = (d6 >>> 13);\n d6 &= 0x1fff;\n d6 += h5 * r1;\n d6 += h6 * r0;\n d6 += h7 * (5 * r9);\n d6 += h8 * (5 * r8);\n d6 += h9 * (5 * r7);\n c += (d6 >>> 13);\n d6 &= 0x1fff;\n var d7 = c;\n d7 += h0 * r7;\n d7 += h1 * r6;\n d7 += h2 * r5;\n d7 += h3 * r4;\n d7 += h4 * r3;\n c = (d7 >>> 13);\n d7 &= 0x1fff;\n d7 += h5 * r2;\n d7 += h6 * r1;\n d7 += h7 * r0;\n d7 += h8 * (5 * r9);\n d7 += h9 * (5 * r8);\n c += (d7 >>> 13);\n d7 &= 0x1fff;\n var d8 = c;\n d8 += h0 * r8;\n d8 += h1 * r7;\n d8 += h2 * r6;\n d8 += h3 * r5;\n d8 += h4 * r4;\n c = (d8 >>> 13);\n d8 &= 0x1fff;\n d8 += h5 * r3;\n d8 += h6 * r2;\n d8 += h7 * r1;\n d8 += h8 * r0;\n d8 += h9 * (5 * r9);\n c += (d8 >>> 13);\n d8 &= 0x1fff;\n var d9 = c;\n d9 += h0 * r9;\n d9 += h1 * r8;\n d9 += h2 * r7;\n d9 += h3 * r6;\n d9 += h4 * r5;\n c = (d9 >>> 13);\n d9 &= 0x1fff;\n d9 += h5 * r4;\n d9 += h6 * r3;\n d9 += h7 * r2;\n d9 += h8 * r1;\n d9 += h9 * r0;\n c += (d9 >>> 13);\n d9 &= 0x1fff;\n c = (((c << 2) + c)) | 0;\n c = (c + d0) | 0;\n d0 = c & 0x1fff;\n c = (c >>> 13);\n d1 += c;\n h0 = d0;\n h1 = d1;\n h2 = d2;\n h3 = d3;\n h4 = d4;\n h5 = d5;\n h6 = d6;\n h7 = d7;\n h8 = d8;\n h9 = d9;\n mpos += 16;\n bytes -= 16;\n }\n this._h[0] = h0;\n this._h[1] = h1;\n this._h[2] = h2;\n this._h[3] = h3;\n this._h[4] = h4;\n this._h[5] = h5;\n this._h[6] = h6;\n this._h[7] = h7;\n this._h[8] = h8;\n this._h[9] = h9;\n };\n Poly1305.prototype.finish = function (mac, macpos) {\n if (macpos === void 0) { macpos = 0; }\n var g = new Uint16Array(10);\n var c;\n var mask;\n var f;\n var i;\n if (this._leftover) {\n i = this._leftover;\n this._buffer[i++] = 1;\n for (; i < 16; i++) {\n this._buffer[i] = 0;\n }\n this._fin = 1;\n this._blocks(this._buffer, 0, 16);\n }\n c = this._h[1] >>> 13;\n this._h[1] &= 0x1fff;\n for (i = 2; i < 10; i++) {\n this._h[i] += c;\n c = this._h[i] >>> 13;\n this._h[i] &= 0x1fff;\n }\n this._h[0] += (c * 5);\n c = this._h[0] >>> 13;\n this._h[0] &= 0x1fff;\n this._h[1] += c;\n c = this._h[1] >>> 13;\n this._h[1] &= 0x1fff;\n this._h[2] += c;\n g[0] = this._h[0] + 5;\n c = g[0] >>> 13;\n g[0] &= 0x1fff;\n for (i = 1; i < 10; i++) {\n g[i] = this._h[i] + c;\n c = g[i] >>> 13;\n g[i] &= 0x1fff;\n }\n g[9] -= (1 << 13);\n mask = (c ^ 1) - 1;\n for (i = 0; i < 10; i++) {\n g[i] &= mask;\n }\n mask = ~mask;\n for (i = 0; i < 10; i++) {\n this._h[i] = (this._h[i] & mask) | g[i];\n }\n this._h[0] = ((this._h[0]) | (this._h[1] << 13)) & 0xffff;\n this._h[1] = ((this._h[1] >>> 3) | (this._h[2] << 10)) & 0xffff;\n this._h[2] = ((this._h[2] >>> 6) | (this._h[3] << 7)) & 0xffff;\n this._h[3] = ((this._h[3] >>> 9) | (this._h[4] << 4)) & 0xffff;\n this._h[4] = ((this._h[4] >>> 12) | (this._h[5] << 1) | (this._h[6] << 14)) & 0xffff;\n this._h[5] = ((this._h[6] >>> 2) | (this._h[7] << 11)) & 0xffff;\n this._h[6] = ((this._h[7] >>> 5) | (this._h[8] << 8)) & 0xffff;\n this._h[7] = ((this._h[8] >>> 8) | (this._h[9] << 5)) & 0xffff;\n f = this._h[0] + this._pad[0];\n this._h[0] = f & 0xffff;\n for (i = 1; i < 8; i++) {\n f = (((this._h[i] + this._pad[i]) | 0) + (f >>> 16)) | 0;\n this._h[i] = f & 0xffff;\n }\n mac[macpos + 0] = this._h[0] >>> 0;\n mac[macpos + 1] = this._h[0] >>> 8;\n mac[macpos + 2] = this._h[1] >>> 0;\n mac[macpos + 3] = this._h[1] >>> 8;\n mac[macpos + 4] = this._h[2] >>> 0;\n mac[macpos + 5] = this._h[2] >>> 8;\n mac[macpos + 6] = this._h[3] >>> 0;\n mac[macpos + 7] = this._h[3] >>> 8;\n mac[macpos + 8] = this._h[4] >>> 0;\n mac[macpos + 9] = this._h[4] >>> 8;\n mac[macpos + 10] = this._h[5] >>> 0;\n mac[macpos + 11] = this._h[5] >>> 8;\n mac[macpos + 12] = this._h[6] >>> 0;\n mac[macpos + 13] = this._h[6] >>> 8;\n mac[macpos + 14] = this._h[7] >>> 0;\n mac[macpos + 15] = this._h[7] >>> 8;\n this._finished = true;\n return this;\n };\n Poly1305.prototype.update = function (m) {\n var mpos = 0;\n var bytes = m.length;\n var want;\n if (this._leftover) {\n want = (16 - this._leftover);\n if (want > bytes) {\n want = bytes;\n }\n for (var i = 0; i < want; i++) {\n this._buffer[this._leftover + i] = m[mpos + i];\n }\n bytes -= want;\n mpos += want;\n this._leftover += want;\n if (this._leftover < 16) {\n return this;\n }\n this._blocks(this._buffer, 0, 16);\n this._leftover = 0;\n }\n if (bytes >= 16) {\n want = bytes - (bytes % 16);\n this._blocks(m, mpos, want);\n mpos += want;\n bytes -= want;\n }\n if (bytes) {\n for (var i = 0; i < bytes; i++) {\n this._buffer[this._leftover + i] = m[mpos + i];\n }\n this._leftover += bytes;\n }\n return this;\n };\n Poly1305.prototype.digest = function () {\n // TODO(dchest): it behaves differently than other hashes/HMAC,\n // because it throws when finished \u2014 others just return saved result.\n if (this._finished) {\n throw new Error("Poly1305 was finished");\n }\n var mac = new Uint8Array(16);\n this.finish(mac);\n return mac;\n };\n Poly1305.prototype.clean = function () {\n wipe_1.wipe(this._buffer);\n wipe_1.wipe(this._r);\n wipe_1.wipe(this._h);\n wipe_1.wipe(this._pad);\n this._leftover = 0;\n this._fin = 0;\n this._finished = true; // mark as finished even if not\n return this;\n };\n return Poly1305;\n}());\nexports.Poly1305 = Poly1305;\n/**\n * Returns 16-byte authenticator of data using a one-time 32-byte key.\n *\n * Important: key should be used for only one message, it should never repeat.\n */\nfunction oneTimeAuth(key, data) {\n var h = new Poly1305(key);\n h.update(data);\n var digest = h.digest();\n h.clean();\n return digest;\n}\nexports.oneTimeAuth = oneTimeAuth;\n/**\n * Returns true if two authenticators are 16-byte long and equal.\n * Uses contant-time comparison to avoid leaking timing information.\n */\nfunction equal(a, b) {\n if (a.length !== exports.DIGEST_LENGTH || b.length !== exports.DIGEST_LENGTH) {\n return false;\n }\n return constant_time_1.equal(a, b);\n}\nexports.equal = equal;\n//# sourceMappingURL=poly1305.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@stablelib/poly1305/lib/poly1305.js?')},"./node_modules/@stablelib/random/lib/random.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.randomStringForEntropy = exports.randomString = exports.randomUint32 = exports.randomBytes = exports.defaultRandomSource = void 0;\nconst system_1 = __webpack_require__(/*! ./source/system */ "./node_modules/@stablelib/random/lib/source/system.js");\nconst binary_1 = __webpack_require__(/*! @stablelib/binary */ "./node_modules/@stablelib/binary/lib/binary.js");\nconst wipe_1 = __webpack_require__(/*! @stablelib/wipe */ "./node_modules/@stablelib/wipe/lib/wipe.js");\nexports.defaultRandomSource = new system_1.SystemRandomSource();\nfunction randomBytes(length, prng = exports.defaultRandomSource) {\n return prng.randomBytes(length);\n}\nexports.randomBytes = randomBytes;\n/**\n * Returns a uniformly random unsigned 32-bit integer.\n */\nfunction randomUint32(prng = exports.defaultRandomSource) {\n // Generate 4-byte random buffer.\n const buf = randomBytes(4, prng);\n // Convert bytes from buffer into a 32-bit integer.\n // It\'s not important which byte order to use, since\n // the result is random.\n const result = (0, binary_1.readUint32LE)(buf);\n // Clean the buffer.\n (0, wipe_1.wipe)(buf);\n return result;\n}\nexports.randomUint32 = randomUint32;\n/** 62 alphanumeric characters for default charset of randomString() */\nconst ALPHANUMERIC = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";\n/**\n * Returns a uniform random string of the given length\n * with characters from the given charset.\n *\n * Charset must not have more than 256 characters.\n *\n * Default charset generates case-sensitive alphanumeric\n * strings (0-9, A-Z, a-z).\n */\nfunction randomString(length, charset = ALPHANUMERIC, prng = exports.defaultRandomSource) {\n if (charset.length < 2) {\n throw new Error("randomString charset is too short");\n }\n if (charset.length > 256) {\n throw new Error("randomString charset is too long");\n }\n let out = \'\';\n const charsLen = charset.length;\n const maxByte = 256 - (256 % charsLen);\n while (length > 0) {\n const buf = randomBytes(Math.ceil(length * 256 / maxByte), prng);\n for (let i = 0; i < buf.length && length > 0; i++) {\n const randomByte = buf[i];\n if (randomByte < maxByte) {\n out += charset.charAt(randomByte % charsLen);\n length--;\n }\n }\n (0, wipe_1.wipe)(buf);\n }\n return out;\n}\nexports.randomString = randomString;\n/**\n * Returns uniform random string containing at least the given\n * number of bits of entropy.\n *\n * For example, randomStringForEntropy(128) will return a 22-character\n * alphanumeric string, while randomStringForEntropy(128, "0123456789")\n * will return a 39-character numeric string, both will contain at\n * least 128 bits of entropy.\n *\n * Default charset generates case-sensitive alphanumeric\n * strings (0-9, A-Z, a-z).\n */\nfunction randomStringForEntropy(bits, charset = ALPHANUMERIC, prng = exports.defaultRandomSource) {\n const length = Math.ceil(bits / (Math.log(charset.length) / Math.LN2));\n return randomString(length, charset, prng);\n}\nexports.randomStringForEntropy = randomStringForEntropy;\n//# sourceMappingURL=random.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@stablelib/random/lib/random.js?')},"./node_modules/@stablelib/random/lib/source/browser.js":(__unused_webpack_module,exports)=>{"use strict";eval('\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.BrowserRandomSource = void 0;\nconst QUOTA = 65536;\nclass BrowserRandomSource {\n constructor() {\n this.isAvailable = false;\n this.isInstantiated = false;\n const browserCrypto = typeof self !== \'undefined\'\n ? (self.crypto || self.msCrypto) // IE11 has msCrypto\n : null;\n if (browserCrypto && browserCrypto.getRandomValues !== undefined) {\n this._crypto = browserCrypto;\n this.isAvailable = true;\n this.isInstantiated = true;\n }\n }\n randomBytes(length) {\n if (!this.isAvailable || !this._crypto) {\n throw new Error("Browser random byte generator is not available.");\n }\n const out = new Uint8Array(length);\n for (let i = 0; i < out.length; i += QUOTA) {\n this._crypto.getRandomValues(out.subarray(i, i + Math.min(out.length - i, QUOTA)));\n }\n return out;\n }\n}\nexports.BrowserRandomSource = BrowserRandomSource;\n//# sourceMappingURL=browser.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@stablelib/random/lib/source/browser.js?')},"./node_modules/@stablelib/random/lib/source/node.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.NodeRandomSource = void 0;\nconst wipe_1 = __webpack_require__(/*! @stablelib/wipe */ "./node_modules/@stablelib/wipe/lib/wipe.js");\nclass NodeRandomSource {\n constructor() {\n this.isAvailable = false;\n this.isInstantiated = false;\n if (true) {\n const nodeCrypto = __webpack_require__(/*! crypto */ "?25ed");\n if (nodeCrypto && nodeCrypto.randomBytes) {\n this._crypto = nodeCrypto;\n this.isAvailable = true;\n this.isInstantiated = true;\n }\n }\n }\n randomBytes(length) {\n if (!this.isAvailable || !this._crypto) {\n throw new Error("Node.js random byte generator is not available.");\n }\n // Get random bytes (result is Buffer).\n let buffer = this._crypto.randomBytes(length);\n // Make sure we got the length that we requested.\n if (buffer.length !== length) {\n throw new Error("NodeRandomSource: got fewer bytes than requested");\n }\n // Allocate output array.\n const out = new Uint8Array(length);\n // Copy bytes from buffer to output.\n for (let i = 0; i < out.length; i++) {\n out[i] = buffer[i];\n }\n // Cleanup.\n (0, wipe_1.wipe)(buffer);\n return out;\n }\n}\nexports.NodeRandomSource = NodeRandomSource;\n//# sourceMappingURL=node.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@stablelib/random/lib/source/node.js?')},"./node_modules/@stablelib/random/lib/source/system.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.SystemRandomSource = void 0;\nconst browser_1 = __webpack_require__(/*! ./browser */ "./node_modules/@stablelib/random/lib/source/browser.js");\nconst node_1 = __webpack_require__(/*! ./node */ "./node_modules/@stablelib/random/lib/source/node.js");\nclass SystemRandomSource {\n constructor() {\n this.isAvailable = false;\n this.name = "";\n // Try browser.\n this._source = new browser_1.BrowserRandomSource();\n if (this._source.isAvailable) {\n this.isAvailable = true;\n this.name = "Browser";\n return;\n }\n // If no browser source, try Node.\n this._source = new node_1.NodeRandomSource();\n if (this._source.isAvailable) {\n this.isAvailable = true;\n this.name = "Node";\n return;\n }\n // No sources, we\'re out of options.\n }\n randomBytes(length) {\n if (!this.isAvailable) {\n throw new Error("System random byte generator is not available.");\n }\n return this._source.randomBytes(length);\n }\n}\nexports.SystemRandomSource = SystemRandomSource;\n//# sourceMappingURL=system.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@stablelib/random/lib/source/system.js?')},"./node_modules/@stablelib/salsa20/lib/salsa20.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, "__esModule", ({ value: true }));\n/**\n * Package salsa20 implements Salsa20 stream cipher.\n */\nvar binary_1 = __webpack_require__(/*! @stablelib/binary */ "./node_modules/@stablelib/binary/lib/binary.js");\nvar wipe_1 = __webpack_require__(/*! @stablelib/wipe */ "./node_modules/@stablelib/wipe/lib/wipe.js");\n// Number of Salsa20 rounds (Salsa20/20).\nvar ROUNDS = 20;\n/**\n * Applies the Salsa20 core function to 16-byte input,\n * 32-byte key key, and puts the result into 64-byte array out.\n */\nfunction core(out, input, key) {\n var j0 = 0x61707865; // "expa"\n var j1 = (key[3] << 24) | (key[2] << 16) | (key[1] << 8) | key[0];\n var j2 = (key[7] << 24) | (key[6] << 16) | (key[5] << 8) | key[4];\n var j3 = (key[11] << 24) | (key[10] << 16) | (key[9] << 8) | key[8];\n var j4 = (key[15] << 24) | (key[14] << 16) | (key[13] << 8) | key[12];\n var j5 = 0x3320646E; // "nd 3"\n var j6 = (input[3] << 24) | (input[2] << 16) | (input[1] << 8) | input[0];\n var j7 = (input[7] << 24) | (input[6] << 16) | (input[5] << 8) | input[4];\n var j8 = (input[11] << 24) | (input[10] << 16) | (input[9] << 8) | input[8];\n var j9 = (input[15] << 24) | (input[14] << 16) | (input[13] << 8) | input[12];\n var j10 = 0x79622D32; // "2-by"\n var j11 = (key[19] << 24) | (key[18] << 16) | (key[17] << 8) | key[16];\n var j12 = (key[23] << 24) | (key[22] << 16) | (key[21] << 8) | key[20];\n var j13 = (key[27] << 24) | (key[26] << 16) | (key[25] << 8) | key[24];\n var j14 = (key[31] << 24) | (key[30] << 16) | (key[29] << 8) | key[28];\n var j15 = 0x6B206574; // "te k"\n var x0 = j0;\n var x1 = j1;\n var x2 = j2;\n var x3 = j3;\n var x4 = j4;\n var x5 = j5;\n var x6 = j6;\n var x7 = j7;\n var x8 = j8;\n var x9 = j9;\n var x10 = j10;\n var x11 = j11;\n var x12 = j12;\n var x13 = j13;\n var x14 = j14;\n var x15 = j15;\n var u;\n for (var i = 0; i < ROUNDS; i += 2) {\n u = x0 + x12 | 0;\n x4 ^= u << 7 | u >>> (32 - 7);\n u = x4 + x0 | 0;\n x8 ^= u << 9 | u >>> (32 - 9);\n u = x8 + x4 | 0;\n x12 ^= u << 13 | u >>> (32 - 13);\n u = x12 + x8 | 0;\n x0 ^= u << 18 | u >>> (32 - 18);\n u = x5 + x1 | 0;\n x9 ^= u << 7 | u >>> (32 - 7);\n u = x9 + x5 | 0;\n x13 ^= u << 9 | u >>> (32 - 9);\n u = x13 + x9 | 0;\n x1 ^= u << 13 | u >>> (32 - 13);\n u = x1 + x13 | 0;\n x5 ^= u << 18 | u >>> (32 - 18);\n u = x10 + x6 | 0;\n x14 ^= u << 7 | u >>> (32 - 7);\n u = x14 + x10 | 0;\n x2 ^= u << 9 | u >>> (32 - 9);\n u = x2 + x14 | 0;\n x6 ^= u << 13 | u >>> (32 - 13);\n u = x6 + x2 | 0;\n x10 ^= u << 18 | u >>> (32 - 18);\n u = x15 + x11 | 0;\n x3 ^= u << 7 | u >>> (32 - 7);\n u = x3 + x15 | 0;\n x7 ^= u << 9 | u >>> (32 - 9);\n u = x7 + x3 | 0;\n x11 ^= u << 13 | u >>> (32 - 13);\n u = x11 + x7 | 0;\n x15 ^= u << 18 | u >>> (32 - 18);\n u = x0 + x3 | 0;\n x1 ^= u << 7 | u >>> (32 - 7);\n u = x1 + x0 | 0;\n x2 ^= u << 9 | u >>> (32 - 9);\n u = x2 + x1 | 0;\n x3 ^= u << 13 | u >>> (32 - 13);\n u = x3 + x2 | 0;\n x0 ^= u << 18 | u >>> (32 - 18);\n u = x5 + x4 | 0;\n x6 ^= u << 7 | u >>> (32 - 7);\n u = x6 + x5 | 0;\n x7 ^= u << 9 | u >>> (32 - 9);\n u = x7 + x6 | 0;\n x4 ^= u << 13 | u >>> (32 - 13);\n u = x4 + x7 | 0;\n x5 ^= u << 18 | u >>> (32 - 18);\n u = x10 + x9 | 0;\n x11 ^= u << 7 | u >>> (32 - 7);\n u = x11 + x10 | 0;\n x8 ^= u << 9 | u >>> (32 - 9);\n u = x8 + x11 | 0;\n x9 ^= u << 13 | u >>> (32 - 13);\n u = x9 + x8 | 0;\n x10 ^= u << 18 | u >>> (32 - 18);\n u = x15 + x14 | 0;\n x12 ^= u << 7 | u >>> (32 - 7);\n u = x12 + x15 | 0;\n x13 ^= u << 9 | u >>> (32 - 9);\n u = x13 + x12 | 0;\n x14 ^= u << 13 | u >>> (32 - 13);\n u = x14 + x13 | 0;\n x15 ^= u << 18 | u >>> (32 - 18);\n }\n binary_1.writeUint32LE(x0 + j0 | 0, out, 0);\n binary_1.writeUint32LE(x1 + j1 | 0, out, 4);\n binary_1.writeUint32LE(x2 + j2 | 0, out, 8);\n binary_1.writeUint32LE(x3 + j3 | 0, out, 12);\n binary_1.writeUint32LE(x4 + j4 | 0, out, 16);\n binary_1.writeUint32LE(x5 + j5 | 0, out, 20);\n binary_1.writeUint32LE(x6 + j6 | 0, out, 24);\n binary_1.writeUint32LE(x7 + j7 | 0, out, 28);\n binary_1.writeUint32LE(x8 + j8 | 0, out, 32);\n binary_1.writeUint32LE(x9 + j9 | 0, out, 36);\n binary_1.writeUint32LE(x10 + j10 | 0, out, 40);\n binary_1.writeUint32LE(x11 + j11 | 0, out, 44);\n binary_1.writeUint32LE(x12 + j12 | 0, out, 48);\n binary_1.writeUint32LE(x13 + j13 | 0, out, 52);\n binary_1.writeUint32LE(x14 + j14 | 0, out, 56);\n binary_1.writeUint32LE(x15 + j15 | 0, out, 60);\n}\n/**\n * Encrypt src with Salsa20/20 stream generated for the given 32-byte key\n * and 8-byte and write the result into dst and return it.\n *\n * dst and src may be the same, but otherwise must not overlap.\n *\n * Never use the same key and nonce to encrypt more than one message.\n *\n * If nonceInplaceCounterLength is not 0, the nonce is assumed to be a 16-byte\n * array with stream counter in first nonceInplaceCounterLength bytes and nonce\n * in the last remaining bytes. The counter will be incremented inplace for\n * each Salsa20 block. This is useful if you need to encrypt one stream of data\n * in chunks.\n */\nfunction streamXOR(key, nonce, src, dst, nonceInplaceCounterLength) {\n if (nonceInplaceCounterLength === void 0) { nonceInplaceCounterLength = 0; }\n // We only support 256-bit keys.\n if (key.length !== 32) {\n throw new Error("Salsa20: key size must be 32 bytes");\n }\n if (dst.length < src.length) {\n throw new Error("Salsa20: destination is shorter than source");\n }\n var nc;\n var counterStart;\n if (nonceInplaceCounterLength === 0) {\n if (nonce.length !== 8) {\n throw new Error("Salsa20 nonce must be 8 bytes");\n }\n nc = new Uint8Array(16);\n // First bytes of nc are nonce, set it.\n nc.set(nonce);\n // Last bytes are counter.\n counterStart = nonce.length;\n }\n else {\n if (nonce.length !== 16) {\n throw new Error("Salsa20 nonce with counter must be 16 bytes");\n }\n // This will update passed nonce with counter inplace.\n nc = nonce;\n counterStart = 16 - nonceInplaceCounterLength;\n }\n // Allocate temporary space for Salsa20 block.\n var block = new Uint8Array(64);\n for (var i = 0; i < src.length; i += 64) {\n // Generate a block.\n core(block, nc, key);\n // XOR block bytes with src into dst.\n for (var j = i; j < i + 64 && j < src.length; j++) {\n dst[j] = src[j] ^ block[j - i];\n }\n // Increment counter.\n incrementCounter(nc, counterStart, nc.length - counterStart);\n }\n // Cleanup temporary space.\n wipe_1.wipe(block);\n if (nonceInplaceCounterLength === 0) {\n // Cleanup counter.\n wipe_1.wipe(nc);\n }\n return dst;\n}\nexports.streamXOR = streamXOR;\n/**\n * Generate Salsa20/20 stream for the given 32-byte key and 8-byte nonce\n * and write it into dst and return it.\n *\n * Never use the same key and nonce to generate more than one stream.\n *\n * If nonceInplaceCounterLength is not 0, it behaves the same\n * with respect to the nonce as described in streamXOR documentation.\n *\n * stream is like streamXOR with all-zero src.\n */\nfunction stream(key, nonce, dst, nonceInplaceCounterLength) {\n if (nonceInplaceCounterLength === void 0) { nonceInplaceCounterLength = 0; }\n wipe_1.wipe(dst);\n return streamXOR(key, nonce, dst, dst, nonceInplaceCounterLength);\n}\nexports.stream = stream;\nfunction incrementCounter(counter, pos, len) {\n var carry = 1;\n while (len--) {\n carry = carry + (counter[pos] & 0xff) | 0;\n counter[pos] = carry & 0xff;\n carry >>>= 8;\n pos++;\n }\n if (carry > 0) {\n throw new Error("Salsa20: counter overflow");\n }\n}\n//# sourceMappingURL=salsa20.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@stablelib/salsa20/lib/salsa20.js?')},"./node_modules/@stablelib/sha256/lib/sha256.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nvar binary_1 = __webpack_require__(/*! @stablelib/binary */ "./node_modules/@stablelib/binary/lib/binary.js");\nvar wipe_1 = __webpack_require__(/*! @stablelib/wipe */ "./node_modules/@stablelib/wipe/lib/wipe.js");\nexports.DIGEST_LENGTH = 32;\nexports.BLOCK_SIZE = 64;\n/**\n * SHA2-256 cryptographic hash algorithm.\n */\nvar SHA256 = /** @class */ (function () {\n function SHA256() {\n /** Length of hash output */\n this.digestLength = exports.DIGEST_LENGTH;\n /** Block size */\n this.blockSize = exports.BLOCK_SIZE;\n // Note: Int32Array is used instead of Uint32Array for performance reasons.\n this._state = new Int32Array(8); // hash state\n this._temp = new Int32Array(64); // temporary state\n this._buffer = new Uint8Array(128); // buffer for data to hash\n this._bufferLength = 0; // number of bytes in buffer\n this._bytesHashed = 0; // number of total bytes hashed\n this._finished = false; // indicates whether the hash was finalized\n this.reset();\n }\n SHA256.prototype._initState = function () {\n this._state[0] = 0x6a09e667;\n this._state[1] = 0xbb67ae85;\n this._state[2] = 0x3c6ef372;\n this._state[3] = 0xa54ff53a;\n this._state[4] = 0x510e527f;\n this._state[5] = 0x9b05688c;\n this._state[6] = 0x1f83d9ab;\n this._state[7] = 0x5be0cd19;\n };\n /**\n * Resets hash state making it possible\n * to re-use this instance to hash other data.\n */\n SHA256.prototype.reset = function () {\n this._initState();\n this._bufferLength = 0;\n this._bytesHashed = 0;\n this._finished = false;\n return this;\n };\n /**\n * Cleans internal buffers and resets hash state.\n */\n SHA256.prototype.clean = function () {\n wipe_1.wipe(this._buffer);\n wipe_1.wipe(this._temp);\n this.reset();\n };\n /**\n * Updates hash state with the given data.\n *\n * Throws error when trying to update already finalized hash:\n * instance must be reset to update it again.\n */\n SHA256.prototype.update = function (data, dataLength) {\n if (dataLength === void 0) { dataLength = data.length; }\n if (this._finished) {\n throw new Error("SHA256: can\'t update because hash was finished.");\n }\n var dataPos = 0;\n this._bytesHashed += dataLength;\n if (this._bufferLength > 0) {\n while (this._bufferLength < this.blockSize && dataLength > 0) {\n this._buffer[this._bufferLength++] = data[dataPos++];\n dataLength--;\n }\n if (this._bufferLength === this.blockSize) {\n hashBlocks(this._temp, this._state, this._buffer, 0, this.blockSize);\n this._bufferLength = 0;\n }\n }\n if (dataLength >= this.blockSize) {\n dataPos = hashBlocks(this._temp, this._state, data, dataPos, dataLength);\n dataLength %= this.blockSize;\n }\n while (dataLength > 0) {\n this._buffer[this._bufferLength++] = data[dataPos++];\n dataLength--;\n }\n return this;\n };\n /**\n * Finalizes hash state and puts hash into out.\n * If hash was already finalized, puts the same value.\n */\n SHA256.prototype.finish = function (out) {\n if (!this._finished) {\n var bytesHashed = this._bytesHashed;\n var left = this._bufferLength;\n var bitLenHi = (bytesHashed / 0x20000000) | 0;\n var bitLenLo = bytesHashed << 3;\n var padLength = (bytesHashed % 64 < 56) ? 64 : 128;\n this._buffer[left] = 0x80;\n for (var i = left + 1; i < padLength - 8; i++) {\n this._buffer[i] = 0;\n }\n binary_1.writeUint32BE(bitLenHi, this._buffer, padLength - 8);\n binary_1.writeUint32BE(bitLenLo, this._buffer, padLength - 4);\n hashBlocks(this._temp, this._state, this._buffer, 0, padLength);\n this._finished = true;\n }\n for (var i = 0; i < this.digestLength / 4; i++) {\n binary_1.writeUint32BE(this._state[i], out, i * 4);\n }\n return this;\n };\n /**\n * Returns the final hash digest.\n */\n SHA256.prototype.digest = function () {\n var out = new Uint8Array(this.digestLength);\n this.finish(out);\n return out;\n };\n /**\n * Function useful for HMAC/PBKDF2 optimization.\n * Returns hash state to be used with restoreState().\n * Only chain value is saved, not buffers or other\n * state variables.\n */\n SHA256.prototype.saveState = function () {\n if (this._finished) {\n throw new Error("SHA256: cannot save finished state");\n }\n return {\n state: new Int32Array(this._state),\n buffer: this._bufferLength > 0 ? new Uint8Array(this._buffer) : undefined,\n bufferLength: this._bufferLength,\n bytesHashed: this._bytesHashed\n };\n };\n /**\n * Function useful for HMAC/PBKDF2 optimization.\n * Restores state saved by saveState() and sets bytesHashed\n * to the given value.\n */\n SHA256.prototype.restoreState = function (savedState) {\n this._state.set(savedState.state);\n this._bufferLength = savedState.bufferLength;\n if (savedState.buffer) {\n this._buffer.set(savedState.buffer);\n }\n this._bytesHashed = savedState.bytesHashed;\n this._finished = false;\n return this;\n };\n /**\n * Cleans state returned by saveState().\n */\n SHA256.prototype.cleanSavedState = function (savedState) {\n wipe_1.wipe(savedState.state);\n if (savedState.buffer) {\n wipe_1.wipe(savedState.buffer);\n }\n savedState.bufferLength = 0;\n savedState.bytesHashed = 0;\n };\n return SHA256;\n}());\nexports.SHA256 = SHA256;\n// Constants\nvar K = new Int32Array([\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b,\n 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01,\n 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7,\n 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,\n 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152,\n 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147,\n 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc,\n 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819,\n 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08,\n 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f,\n 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n]);\nfunction hashBlocks(w, v, p, pos, len) {\n while (len >= 64) {\n var a = v[0];\n var b = v[1];\n var c = v[2];\n var d = v[3];\n var e = v[4];\n var f = v[5];\n var g = v[6];\n var h = v[7];\n for (var i = 0; i < 16; i++) {\n var j = pos + i * 4;\n w[i] = binary_1.readUint32BE(p, j);\n }\n for (var i = 16; i < 64; i++) {\n var u = w[i - 2];\n var t1 = (u >>> 17 | u << (32 - 17)) ^ (u >>> 19 | u << (32 - 19)) ^ (u >>> 10);\n u = w[i - 15];\n var t2 = (u >>> 7 | u << (32 - 7)) ^ (u >>> 18 | u << (32 - 18)) ^ (u >>> 3);\n w[i] = (t1 + w[i - 7] | 0) + (t2 + w[i - 16] | 0);\n }\n for (var i = 0; i < 64; i++) {\n var t1 = (((((e >>> 6 | e << (32 - 6)) ^ (e >>> 11 | e << (32 - 11)) ^\n (e >>> 25 | e << (32 - 25))) + ((e & f) ^ (~e & g))) | 0) +\n ((h + ((K[i] + w[i]) | 0)) | 0)) | 0;\n var t2 = (((a >>> 2 | a << (32 - 2)) ^ (a >>> 13 | a << (32 - 13)) ^\n (a >>> 22 | a << (32 - 22))) + ((a & b) ^ (a & c) ^ (b & c))) | 0;\n h = g;\n g = f;\n f = e;\n e = (d + t1) | 0;\n d = c;\n c = b;\n b = a;\n a = (t1 + t2) | 0;\n }\n v[0] += a;\n v[1] += b;\n v[2] += c;\n v[3] += d;\n v[4] += e;\n v[5] += f;\n v[6] += g;\n v[7] += h;\n pos += 64;\n len -= 64;\n }\n return pos;\n}\nfunction hash(data) {\n var h = new SHA256();\n h.update(data);\n var digest = h.digest();\n h.clean();\n return digest;\n}\nexports.hash = hash;\n//# sourceMappingURL=sha256.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@stablelib/sha256/lib/sha256.js?')},"./node_modules/@stablelib/sha512/lib/sha512.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nvar binary_1 = __webpack_require__(/*! @stablelib/binary */ "./node_modules/@stablelib/binary/lib/binary.js");\nvar wipe_1 = __webpack_require__(/*! @stablelib/wipe */ "./node_modules/@stablelib/wipe/lib/wipe.js");\nexports.DIGEST_LENGTH = 64;\nexports.BLOCK_SIZE = 128;\n/**\n * SHA-2-512 cryptographic hash algorithm.\n */\nvar SHA512 = /** @class */ (function () {\n function SHA512() {\n /** Length of hash output */\n this.digestLength = exports.DIGEST_LENGTH;\n /** Block size */\n this.blockSize = exports.BLOCK_SIZE;\n // Note: Int32Array is used instead of Uint32Array for performance reasons.\n this._stateHi = new Int32Array(8); // hash state, high bytes\n this._stateLo = new Int32Array(8); // hash state, low bytes\n this._tempHi = new Int32Array(16); // temporary state, high bytes\n this._tempLo = new Int32Array(16); // temporary state, low bytes\n this._buffer = new Uint8Array(256); // buffer for data to hash\n this._bufferLength = 0; // number of bytes in buffer\n this._bytesHashed = 0; // number of total bytes hashed\n this._finished = false; // indicates whether the hash was finalized\n this.reset();\n }\n SHA512.prototype._initState = function () {\n this._stateHi[0] = 0x6a09e667;\n this._stateHi[1] = 0xbb67ae85;\n this._stateHi[2] = 0x3c6ef372;\n this._stateHi[3] = 0xa54ff53a;\n this._stateHi[4] = 0x510e527f;\n this._stateHi[5] = 0x9b05688c;\n this._stateHi[6] = 0x1f83d9ab;\n this._stateHi[7] = 0x5be0cd19;\n this._stateLo[0] = 0xf3bcc908;\n this._stateLo[1] = 0x84caa73b;\n this._stateLo[2] = 0xfe94f82b;\n this._stateLo[3] = 0x5f1d36f1;\n this._stateLo[4] = 0xade682d1;\n this._stateLo[5] = 0x2b3e6c1f;\n this._stateLo[6] = 0xfb41bd6b;\n this._stateLo[7] = 0x137e2179;\n };\n /**\n * Resets hash state making it possible\n * to re-use this instance to hash other data.\n */\n SHA512.prototype.reset = function () {\n this._initState();\n this._bufferLength = 0;\n this._bytesHashed = 0;\n this._finished = false;\n return this;\n };\n /**\n * Cleans internal buffers and resets hash state.\n */\n SHA512.prototype.clean = function () {\n wipe_1.wipe(this._buffer);\n wipe_1.wipe(this._tempHi);\n wipe_1.wipe(this._tempLo);\n this.reset();\n };\n /**\n * Updates hash state with the given data.\n *\n * Throws error when trying to update already finalized hash:\n * instance must be reset to update it again.\n */\n SHA512.prototype.update = function (data, dataLength) {\n if (dataLength === void 0) { dataLength = data.length; }\n if (this._finished) {\n throw new Error("SHA512: can\'t update because hash was finished.");\n }\n var dataPos = 0;\n this._bytesHashed += dataLength;\n if (this._bufferLength > 0) {\n while (this._bufferLength < exports.BLOCK_SIZE && dataLength > 0) {\n this._buffer[this._bufferLength++] = data[dataPos++];\n dataLength--;\n }\n if (this._bufferLength === this.blockSize) {\n hashBlocks(this._tempHi, this._tempLo, this._stateHi, this._stateLo, this._buffer, 0, this.blockSize);\n this._bufferLength = 0;\n }\n }\n if (dataLength >= this.blockSize) {\n dataPos = hashBlocks(this._tempHi, this._tempLo, this._stateHi, this._stateLo, data, dataPos, dataLength);\n dataLength %= this.blockSize;\n }\n while (dataLength > 0) {\n this._buffer[this._bufferLength++] = data[dataPos++];\n dataLength--;\n }\n return this;\n };\n /**\n * Finalizes hash state and puts hash into out.\n * If hash was already finalized, puts the same value.\n */\n SHA512.prototype.finish = function (out) {\n if (!this._finished) {\n var bytesHashed = this._bytesHashed;\n var left = this._bufferLength;\n var bitLenHi = (bytesHashed / 0x20000000) | 0;\n var bitLenLo = bytesHashed << 3;\n var padLength = (bytesHashed % 128 < 112) ? 128 : 256;\n this._buffer[left] = 0x80;\n for (var i = left + 1; i < padLength - 8; i++) {\n this._buffer[i] = 0;\n }\n binary_1.writeUint32BE(bitLenHi, this._buffer, padLength - 8);\n binary_1.writeUint32BE(bitLenLo, this._buffer, padLength - 4);\n hashBlocks(this._tempHi, this._tempLo, this._stateHi, this._stateLo, this._buffer, 0, padLength);\n this._finished = true;\n }\n for (var i = 0; i < this.digestLength / 8; i++) {\n binary_1.writeUint32BE(this._stateHi[i], out, i * 8);\n binary_1.writeUint32BE(this._stateLo[i], out, i * 8 + 4);\n }\n return this;\n };\n /**\n * Returns the final hash digest.\n */\n SHA512.prototype.digest = function () {\n var out = new Uint8Array(this.digestLength);\n this.finish(out);\n return out;\n };\n /**\n * Function useful for HMAC/PBKDF2 optimization. Returns hash state to be\n * used with restoreState(). Only chain value is saved, not buffers or\n * other state variables.\n */\n SHA512.prototype.saveState = function () {\n if (this._finished) {\n throw new Error("SHA256: cannot save finished state");\n }\n return {\n stateHi: new Int32Array(this._stateHi),\n stateLo: new Int32Array(this._stateLo),\n buffer: this._bufferLength > 0 ? new Uint8Array(this._buffer) : undefined,\n bufferLength: this._bufferLength,\n bytesHashed: this._bytesHashed\n };\n };\n /**\n * Function useful for HMAC/PBKDF2 optimization. Restores state saved by\n * saveState() and sets bytesHashed to the given value.\n */\n SHA512.prototype.restoreState = function (savedState) {\n this._stateHi.set(savedState.stateHi);\n this._stateLo.set(savedState.stateLo);\n this._bufferLength = savedState.bufferLength;\n if (savedState.buffer) {\n this._buffer.set(savedState.buffer);\n }\n this._bytesHashed = savedState.bytesHashed;\n this._finished = false;\n return this;\n };\n /**\n * Cleans state returned by saveState().\n */\n SHA512.prototype.cleanSavedState = function (savedState) {\n wipe_1.wipe(savedState.stateHi);\n wipe_1.wipe(savedState.stateLo);\n if (savedState.buffer) {\n wipe_1.wipe(savedState.buffer);\n }\n savedState.bufferLength = 0;\n savedState.bytesHashed = 0;\n };\n return SHA512;\n}());\nexports.SHA512 = SHA512;\n// Constants\nvar K = new Int32Array([\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n]);\nfunction hashBlocks(wh, wl, hh, hl, m, pos, len) {\n var ah0 = hh[0], ah1 = hh[1], ah2 = hh[2], ah3 = hh[3], ah4 = hh[4], ah5 = hh[5], ah6 = hh[6], ah7 = hh[7], al0 = hl[0], al1 = hl[1], al2 = hl[2], al3 = hl[3], al4 = hl[4], al5 = hl[5], al6 = hl[6], al7 = hl[7];\n var h, l;\n var th, tl;\n var a, b, c, d;\n while (len >= 128) {\n for (var i = 0; i < 16; i++) {\n var j = 8 * i + pos;\n wh[i] = binary_1.readUint32BE(m, j);\n wl[i] = binary_1.readUint32BE(m, j + 4);\n }\n for (var i = 0; i < 80; i++) {\n var bh0 = ah0;\n var bh1 = ah1;\n var bh2 = ah2;\n var bh3 = ah3;\n var bh4 = ah4;\n var bh5 = ah5;\n var bh6 = ah6;\n var bh7 = ah7;\n var bl0 = al0;\n var bl1 = al1;\n var bl2 = al2;\n var bl3 = al3;\n var bl4 = al4;\n var bl5 = al5;\n var bl6 = al6;\n var bl7 = al7;\n // add\n h = ah7;\n l = al7;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n // Sigma1\n h = ((ah4 >>> 14) | (al4 << (32 - 14))) ^ ((ah4 >>> 18) |\n (al4 << (32 - 18))) ^ ((al4 >>> (41 - 32)) | (ah4 << (32 - (41 - 32))));\n l = ((al4 >>> 14) | (ah4 << (32 - 14))) ^ ((al4 >>> 18) |\n (ah4 << (32 - 18))) ^ ((ah4 >>> (41 - 32)) | (al4 << (32 - (41 - 32))));\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n // Ch\n h = (ah4 & ah5) ^ (~ah4 & ah6);\n l = (al4 & al5) ^ (~al4 & al6);\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n // K\n h = K[i * 2];\n l = K[i * 2 + 1];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n // w\n h = wh[i % 16];\n l = wl[i % 16];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n th = c & 0xffff | d << 16;\n tl = a & 0xffff | b << 16;\n // add\n h = th;\n l = tl;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n // Sigma0\n h = ((ah0 >>> 28) | (al0 << (32 - 28))) ^ ((al0 >>> (34 - 32)) |\n (ah0 << (32 - (34 - 32)))) ^ ((al0 >>> (39 - 32)) | (ah0 << (32 - (39 - 32))));\n l = ((al0 >>> 28) | (ah0 << (32 - 28))) ^ ((ah0 >>> (34 - 32)) |\n (al0 << (32 - (34 - 32)))) ^ ((ah0 >>> (39 - 32)) | (al0 << (32 - (39 - 32))));\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n // Maj\n h = (ah0 & ah1) ^ (ah0 & ah2) ^ (ah1 & ah2);\n l = (al0 & al1) ^ (al0 & al2) ^ (al1 & al2);\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n bh7 = (c & 0xffff) | (d << 16);\n bl7 = (a & 0xffff) | (b << 16);\n // add\n h = bh3;\n l = bl3;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = th;\n l = tl;\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n bh3 = (c & 0xffff) | (d << 16);\n bl3 = (a & 0xffff) | (b << 16);\n ah1 = bh0;\n ah2 = bh1;\n ah3 = bh2;\n ah4 = bh3;\n ah5 = bh4;\n ah6 = bh5;\n ah7 = bh6;\n ah0 = bh7;\n al1 = bl0;\n al2 = bl1;\n al3 = bl2;\n al4 = bl3;\n al5 = bl4;\n al6 = bl5;\n al7 = bl6;\n al0 = bl7;\n if (i % 16 === 15) {\n for (var j = 0; j < 16; j++) {\n // add\n h = wh[j];\n l = wl[j];\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = wh[(j + 9) % 16];\n l = wl[(j + 9) % 16];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n // sigma0\n th = wh[(j + 1) % 16];\n tl = wl[(j + 1) % 16];\n h = ((th >>> 1) | (tl << (32 - 1))) ^ ((th >>> 8) |\n (tl << (32 - 8))) ^ (th >>> 7);\n l = ((tl >>> 1) | (th << (32 - 1))) ^ ((tl >>> 8) |\n (th << (32 - 8))) ^ ((tl >>> 7) | (th << (32 - 7)));\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n // sigma1\n th = wh[(j + 14) % 16];\n tl = wl[(j + 14) % 16];\n h = ((th >>> 19) | (tl << (32 - 19))) ^ ((tl >>> (61 - 32)) |\n (th << (32 - (61 - 32)))) ^ (th >>> 6);\n l = ((tl >>> 19) | (th << (32 - 19))) ^ ((th >>> (61 - 32)) |\n (tl << (32 - (61 - 32)))) ^ ((tl >>> 6) | (th << (32 - 6)));\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n wh[j] = (c & 0xffff) | (d << 16);\n wl[j] = (a & 0xffff) | (b << 16);\n }\n }\n }\n // add\n h = ah0;\n l = al0;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = hh[0];\n l = hl[0];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n hh[0] = ah0 = (c & 0xffff) | (d << 16);\n hl[0] = al0 = (a & 0xffff) | (b << 16);\n h = ah1;\n l = al1;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = hh[1];\n l = hl[1];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n hh[1] = ah1 = (c & 0xffff) | (d << 16);\n hl[1] = al1 = (a & 0xffff) | (b << 16);\n h = ah2;\n l = al2;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = hh[2];\n l = hl[2];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n hh[2] = ah2 = (c & 0xffff) | (d << 16);\n hl[2] = al2 = (a & 0xffff) | (b << 16);\n h = ah3;\n l = al3;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = hh[3];\n l = hl[3];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n hh[3] = ah3 = (c & 0xffff) | (d << 16);\n hl[3] = al3 = (a & 0xffff) | (b << 16);\n h = ah4;\n l = al4;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = hh[4];\n l = hl[4];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n hh[4] = ah4 = (c & 0xffff) | (d << 16);\n hl[4] = al4 = (a & 0xffff) | (b << 16);\n h = ah5;\n l = al5;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = hh[5];\n l = hl[5];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n hh[5] = ah5 = (c & 0xffff) | (d << 16);\n hl[5] = al5 = (a & 0xffff) | (b << 16);\n h = ah6;\n l = al6;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = hh[6];\n l = hl[6];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n hh[6] = ah6 = (c & 0xffff) | (d << 16);\n hl[6] = al6 = (a & 0xffff) | (b << 16);\n h = ah7;\n l = al7;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = hh[7];\n l = hl[7];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n hh[7] = ah7 = (c & 0xffff) | (d << 16);\n hl[7] = al7 = (a & 0xffff) | (b << 16);\n pos += 128;\n len -= 128;\n }\n return pos;\n}\nfunction hash(data) {\n var h = new SHA512();\n h.update(data);\n var digest = h.digest();\n h.clean();\n return digest;\n}\nexports.hash = hash;\n//# sourceMappingURL=sha512.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@stablelib/sha512/lib/sha512.js?')},"./node_modules/@stablelib/utf8/lib/utf8.js":(__unused_webpack_module,exports)=>{"use strict";eval('\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, "__esModule", ({ value: true }));\n/**\n * Package utf8 implements UTF-8 encoding and decoding.\n */\nvar INVALID_UTF16 = "utf8: invalid string";\nvar INVALID_UTF8 = "utf8: invalid source encoding";\n/**\n * Encodes the given string into UTF-8 byte array.\n * Throws if the source string has invalid UTF-16 encoding.\n */\nfunction encode(s) {\n // Calculate result length and allocate output array.\n // encodedLength() also validates string and throws errors,\n // so we don\'t need repeat validation here.\n var arr = new Uint8Array(encodedLength(s));\n var pos = 0;\n for (var i = 0; i < s.length; i++) {\n var c = s.charCodeAt(i);\n if (c < 0x80) {\n arr[pos++] = c;\n }\n else if (c < 0x800) {\n arr[pos++] = 0xc0 | c >> 6;\n arr[pos++] = 0x80 | c & 0x3f;\n }\n else if (c < 0xd800) {\n arr[pos++] = 0xe0 | c >> 12;\n arr[pos++] = 0x80 | (c >> 6) & 0x3f;\n arr[pos++] = 0x80 | c & 0x3f;\n }\n else {\n i++; // get one more character\n c = (c & 0x3ff) << 10;\n c |= s.charCodeAt(i) & 0x3ff;\n c += 0x10000;\n arr[pos++] = 0xf0 | c >> 18;\n arr[pos++] = 0x80 | (c >> 12) & 0x3f;\n arr[pos++] = 0x80 | (c >> 6) & 0x3f;\n arr[pos++] = 0x80 | c & 0x3f;\n }\n }\n return arr;\n}\nexports.encode = encode;\n/**\n * Returns the number of bytes required to encode the given string into UTF-8.\n * Throws if the source string has invalid UTF-16 encoding.\n */\nfunction encodedLength(s) {\n var result = 0;\n for (var i = 0; i < s.length; i++) {\n var c = s.charCodeAt(i);\n if (c < 0x80) {\n result += 1;\n }\n else if (c < 0x800) {\n result += 2;\n }\n else if (c < 0xd800) {\n result += 3;\n }\n else if (c <= 0xdfff) {\n if (i >= s.length - 1) {\n throw new Error(INVALID_UTF16);\n }\n i++; // "eat" next character\n result += 4;\n }\n else {\n throw new Error(INVALID_UTF16);\n }\n }\n return result;\n}\nexports.encodedLength = encodedLength;\n/**\n * Decodes the given byte array from UTF-8 into a string.\n * Throws if encoding is invalid.\n */\nfunction decode(arr) {\n var chars = [];\n for (var i = 0; i < arr.length; i++) {\n var b = arr[i];\n if (b & 0x80) {\n var min = void 0;\n if (b < 0xe0) {\n // Need 1 more byte.\n if (i >= arr.length) {\n throw new Error(INVALID_UTF8);\n }\n var n1 = arr[++i];\n if ((n1 & 0xc0) !== 0x80) {\n throw new Error(INVALID_UTF8);\n }\n b = (b & 0x1f) << 6 | (n1 & 0x3f);\n min = 0x80;\n }\n else if (b < 0xf0) {\n // Need 2 more bytes.\n if (i >= arr.length - 1) {\n throw new Error(INVALID_UTF8);\n }\n var n1 = arr[++i];\n var n2 = arr[++i];\n if ((n1 & 0xc0) !== 0x80 || (n2 & 0xc0) !== 0x80) {\n throw new Error(INVALID_UTF8);\n }\n b = (b & 0x0f) << 12 | (n1 & 0x3f) << 6 | (n2 & 0x3f);\n min = 0x800;\n }\n else if (b < 0xf8) {\n // Need 3 more bytes.\n if (i >= arr.length - 2) {\n throw new Error(INVALID_UTF8);\n }\n var n1 = arr[++i];\n var n2 = arr[++i];\n var n3 = arr[++i];\n if ((n1 & 0xc0) !== 0x80 || (n2 & 0xc0) !== 0x80 || (n3 & 0xc0) !== 0x80) {\n throw new Error(INVALID_UTF8);\n }\n b = (b & 0x0f) << 18 | (n1 & 0x3f) << 12 | (n2 & 0x3f) << 6 | (n3 & 0x3f);\n min = 0x10000;\n }\n else {\n throw new Error(INVALID_UTF8);\n }\n if (b < min || (b >= 0xd800 && b <= 0xdfff)) {\n throw new Error(INVALID_UTF8);\n }\n if (b >= 0x10000) {\n // Surrogate pair.\n if (b > 0x10ffff) {\n throw new Error(INVALID_UTF8);\n }\n b -= 0x10000;\n chars.push(String.fromCharCode(0xd800 | (b >> 10)));\n b = 0xdc00 | (b & 0x3ff);\n }\n }\n chars.push(String.fromCharCode(b));\n }\n return chars.join("");\n}\nexports.decode = decode;\n//# sourceMappingURL=utf8.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@stablelib/utf8/lib/utf8.js?')},"./node_modules/@stablelib/wipe/lib/wipe.js":(__unused_webpack_module,exports)=>{"use strict";eval("\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n/**\n * Sets all values in the given array to zero and returns it.\n *\n * The fact that it sets bytes to zero can be relied on.\n *\n * There is no guarantee that this function makes data disappear from memory,\n * as runtime implementation can, for example, have copying garbage collector\n * that will make copies of sensitive data before we wipe it. Or that an\n * operating system will write our data to swap or sleep image. Another thing\n * is that an optimizing compiler can remove calls to this function or make it\n * no-op. There's nothing we can do with it, so we just do our best and hope\n * that everything will be okay and good will triumph over evil.\n */\nfunction wipe(array) {\n // Right now it's similar to array.fill(0). If it turns\n // out that runtimes optimize this call away, maybe\n // we can try something else.\n for (var i = 0; i < array.length; i++) {\n array[i] = 0;\n }\n return array;\n}\nexports.wipe = wipe;\n//# sourceMappingURL=wipe.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@stablelib/wipe/lib/wipe.js?")},"./node_modules/@stablelib/x25519-session/lib/keyagreement.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\n// Copyright (C) 2020 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.X25519Session = exports.SECRET_SEED_LENGTH = exports.SAVED_STATE_LENGTH = exports.ACCEPT_MESSAGE_LENGTH = exports.OFFER_MESSAGE_LENGTH = void 0;\nconst random_1 = __webpack_require__(/*! @stablelib/random */ "./node_modules/@stablelib/random/lib/random.js");\nconst wipe_1 = __webpack_require__(/*! @stablelib/wipe */ "./node_modules/@stablelib/wipe/lib/wipe.js");\nconst x25519_1 = __webpack_require__(/*! @stablelib/x25519 */ "./node_modules/@stablelib/x25519/lib/x25519.js");\nconst x25519_session_1 = __webpack_require__(/*! ./x25519-session */ "./node_modules/@stablelib/x25519-session/lib/x25519-session.js");\n/** Constants for key agreement */\nexports.OFFER_MESSAGE_LENGTH = x25519_1.PUBLIC_KEY_LENGTH;\nexports.ACCEPT_MESSAGE_LENGTH = x25519_1.PUBLIC_KEY_LENGTH;\nexports.SAVED_STATE_LENGTH = x25519_1.SECRET_KEY_LENGTH;\nexports.SECRET_SEED_LENGTH = x25519_1.SECRET_KEY_LENGTH;\n/**\n * X25519 key agreement using ephemeral key pairs.\n *\n * Note that unless this key agreement is combined with an authentication\n * method, such as public key signatures, it\'s vulnerable to man-in-the-middle\n * attacks.\n */\nclass X25519Session {\n constructor(secretSeed, prng) {\n this.offerMessageLength = exports.OFFER_MESSAGE_LENGTH;\n this.acceptMessageLength = exports.ACCEPT_MESSAGE_LENGTH;\n this.sharedKeyLength = x25519_1.SHARED_KEY_LENGTH;\n this.savedStateLength = exports.SAVED_STATE_LENGTH;\n this._seed = secretSeed || (0, random_1.randomBytes)(x25519_1.SECRET_KEY_LENGTH, prng);\n }\n saveState() {\n return new Uint8Array(this._seed);\n }\n restoreState(savedState) {\n this._seed = new Uint8Array(savedState);\n return this;\n }\n clean() {\n if (this._seed) {\n (0, wipe_1.wipe)(this._seed);\n }\n if (this._keyPair) {\n (0, wipe_1.wipe)(this._keyPair.secretKey);\n (0, wipe_1.wipe)(this._keyPair.publicKey);\n }\n if (this._sharedKey) {\n (0, wipe_1.wipe)(this._sharedKey);\n }\n if (this._sessionKeys) {\n (0, wipe_1.wipe)(this._sessionKeys.receive);\n (0, wipe_1.wipe)(this._sessionKeys.send);\n }\n }\n offer() {\n this._keyPair = (0, x25519_1.generateKeyPairFromSeed)(this._seed);\n return new Uint8Array(this._keyPair.publicKey);\n }\n accept(offerMsg) {\n if (this._keyPair) {\n throw new Error("X25519Session: accept shouldn\'t be called by offering party");\n }\n if (offerMsg.length !== this.offerMessageLength) {\n throw new Error("X25519Session: incorrect offer message length");\n }\n if (this._sharedKey) {\n throw new Error("X25519Session: accept was already called");\n }\n const keyPair = (0, x25519_1.generateKeyPairFromSeed)(this._seed);\n this._sharedKey = (0, x25519_1.sharedKey)(keyPair.secretKey, offerMsg);\n this._sessionKeys = (0, x25519_session_1.clientSessionKeysFromSharedKey)(this._sharedKey, keyPair.publicKey, offerMsg);\n (0, wipe_1.wipe)(keyPair.secretKey);\n return keyPair.publicKey;\n }\n finish(acceptMsg) {\n if (acceptMsg.length !== this.acceptMessageLength) {\n throw new Error("X25519Session: incorrect accept message length");\n }\n if (!this._keyPair) {\n throw new Error("X25519Session: no offer state");\n }\n if (this._sharedKey) {\n throw new Error("X25519Session: finish was already called");\n }\n this._sharedKey = (0, x25519_1.sharedKey)(this._keyPair.secretKey, acceptMsg);\n this._sessionKeys = (0, x25519_session_1.serverSessionKeysFromSharedKey)(this._sharedKey, this._keyPair.publicKey, acceptMsg);\n return this;\n }\n getSharedKey() {\n if (!this._sharedKey) {\n throw new Error("X25519Session: no shared key established");\n }\n return new Uint8Array(this._sharedKey);\n }\n getSessionKeys() {\n if (!this._sessionKeys) {\n throw new Error("X25519Session: no shared key established");\n }\n return {\n receive: new Uint8Array(this._sessionKeys.receive),\n send: new Uint8Array(this._sessionKeys.send),\n };\n }\n}\nexports.X25519Session = X25519Session;\n//# sourceMappingURL=keyagreement.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@stablelib/x25519-session/lib/keyagreement.js?')},"./node_modules/@stablelib/x25519-session/lib/x25519-session.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.clientSessionKeys = exports.serverSessionKeys = exports.clientSessionKeysFromSharedKey = exports.serverSessionKeysFromSharedKey = exports.X25519Session = void 0;\n/**\n * Package x25519-session implements libsodium compatible session keys generation based on X25519 key agreement.\n */\nconst blake2b_1 = __webpack_require__(/*! @stablelib/blake2b */ "./node_modules/@stablelib/blake2b/lib/blake2b.js");\nconst x25519_1 = __webpack_require__(/*! @stablelib/x25519 */ "./node_modules/@stablelib/x25519/lib/x25519.js");\nvar keyagreement_1 = __webpack_require__(/*! ./keyagreement */ "./node_modules/@stablelib/x25519-session/lib/keyagreement.js");\nObject.defineProperty(exports, "X25519Session", ({ enumerable: true, get: function () { return keyagreement_1.X25519Session; } }));\nconst SESSION_KEY_LENGTH = 32;\n/**\n * Generates server-side session encryption keys from the shared key obtained during agreement phase.\n */\nfunction serverSessionKeysFromSharedKey(sharedKey, myPublicKey, theirPublicKey, hash = blake2b_1.BLAKE2b) {\n const state = new hash();\n if (state.digestLength !== SESSION_KEY_LENGTH * 2) {\n throw new Error("X25519: incorrect digest length");\n }\n const h = state.update(sharedKey).update(theirPublicKey).update(myPublicKey).digest();\n return {\n send: h.subarray(0, SESSION_KEY_LENGTH),\n receive: h.subarray(SESSION_KEY_LENGTH),\n };\n}\nexports.serverSessionKeysFromSharedKey = serverSessionKeysFromSharedKey;\n/**\n * Generates client-side session encryption keys from the shared key obtained during agreement phase.\n */\nfunction clientSessionKeysFromSharedKey(sharedKey, myPublicKey, theirPublicKey, hash = blake2b_1.BLAKE2b) {\n const state = new hash();\n if (state.digestLength !== SESSION_KEY_LENGTH * 2) {\n throw new Error("X25519: incorrect digest length");\n }\n const h = state.update(sharedKey).update(myPublicKey).update(theirPublicKey).digest();\n return {\n receive: h.subarray(0, SESSION_KEY_LENGTH),\n send: h.subarray(SESSION_KEY_LENGTH),\n };\n}\nexports.clientSessionKeysFromSharedKey = clientSessionKeysFromSharedKey;\n/**\n * Generates server-side session encryption keys. Uses a key pair and a peer\'s public key to generate the shared key.\n */\nfunction serverSessionKeys(myKeyPair, theirPublicKey, hash = blake2b_1.BLAKE2b) {\n const sk = (0, x25519_1.sharedKey)(myKeyPair.secretKey, theirPublicKey);\n return serverSessionKeysFromSharedKey(sk, myKeyPair.publicKey, theirPublicKey, hash);\n}\nexports.serverSessionKeys = serverSessionKeys;\n/**\n * Generates client-side session encryption keys. Uses a key pair and a peer\'s public key to generate the shared key.\n */\nfunction clientSessionKeys(myKeyPair, theirPublicKey, hash = blake2b_1.BLAKE2b) {\n const sk = (0, x25519_1.sharedKey)(myKeyPair.secretKey, theirPublicKey);\n return clientSessionKeysFromSharedKey(sk, myKeyPair.publicKey, theirPublicKey, hash);\n}\nexports.clientSessionKeys = clientSessionKeys;\n//# sourceMappingURL=x25519-session.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@stablelib/x25519-session/lib/x25519-session.js?')},"./node_modules/@stablelib/x25519/lib/x25519.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.sharedKey = exports.generateKeyPair = exports.generateKeyPairFromSeed = exports.scalarMultBase = exports.scalarMult = exports.SHARED_KEY_LENGTH = exports.SECRET_KEY_LENGTH = exports.PUBLIC_KEY_LENGTH = void 0;\n/**\n * Package x25519 implements X25519 key agreement.\n */\nconst random_1 = __webpack_require__(/*! @stablelib/random */ "./node_modules/@stablelib/random/lib/random.js");\nconst wipe_1 = __webpack_require__(/*! @stablelib/wipe */ "./node_modules/@stablelib/wipe/lib/wipe.js");\nexports.PUBLIC_KEY_LENGTH = 32;\nexports.SECRET_KEY_LENGTH = 32;\nexports.SHARED_KEY_LENGTH = 32;\n// Returns new zero-filled 16-element GF (Float64Array).\n// If passed an array of numbers, prefills the returned\n// array with them.\n//\n// We use Float64Array, because we need 48-bit numbers\n// for this implementation.\nfunction gf(init) {\n const r = new Float64Array(16);\n if (init) {\n for (let i = 0; i < init.length; i++) {\n r[i] = init[i];\n }\n }\n return r;\n}\n// Base point.\nconst _9 = new Uint8Array(32);\n_9[0] = 9;\nconst _121665 = gf([0xdb41, 1]);\nfunction car25519(o) {\n let c = 1;\n for (let i = 0; i < 16; i++) {\n let v = o[i] + c + 65535;\n c = Math.floor(v / 65536);\n o[i] = v - c * 65536;\n }\n o[0] += c - 1 + 37 * (c - 1);\n}\nfunction sel25519(p, q, b) {\n const c = ~(b - 1);\n for (let i = 0; i < 16; i++) {\n const t = c & (p[i] ^ q[i]);\n p[i] ^= t;\n q[i] ^= t;\n }\n}\nfunction pack25519(o, n) {\n const m = gf();\n const t = gf();\n for (let i = 0; i < 16; i++) {\n t[i] = n[i];\n }\n car25519(t);\n car25519(t);\n car25519(t);\n for (let j = 0; j < 2; j++) {\n m[0] = t[0] - 0xffed;\n for (let i = 1; i < 15; i++) {\n m[i] = t[i] - 0xffff - ((m[i - 1] >> 16) & 1);\n m[i - 1] &= 0xffff;\n }\n m[15] = t[15] - 0x7fff - ((m[14] >> 16) & 1);\n const b = (m[15] >> 16) & 1;\n m[14] &= 0xffff;\n sel25519(t, m, 1 - b);\n }\n for (let i = 0; i < 16; i++) {\n o[2 * i] = t[i] & 0xff;\n o[2 * i + 1] = t[i] >> 8;\n }\n}\nfunction unpack25519(o, n) {\n for (let i = 0; i < 16; i++) {\n o[i] = n[2 * i] + (n[2 * i + 1] << 8);\n }\n o[15] &= 0x7fff;\n}\nfunction add(o, a, b) {\n for (let i = 0; i < 16; i++) {\n o[i] = a[i] + b[i];\n }\n}\nfunction sub(o, a, b) {\n for (let i = 0; i < 16; i++) {\n o[i] = a[i] - b[i];\n }\n}\nfunction mul(o, a, b) {\n let v, c, t0 = 0, t1 = 0, t2 = 0, t3 = 0, t4 = 0, t5 = 0, t6 = 0, t7 = 0, t8 = 0, t9 = 0, t10 = 0, t11 = 0, t12 = 0, t13 = 0, t14 = 0, t15 = 0, t16 = 0, t17 = 0, t18 = 0, t19 = 0, t20 = 0, t21 = 0, t22 = 0, t23 = 0, t24 = 0, t25 = 0, t26 = 0, t27 = 0, t28 = 0, t29 = 0, t30 = 0, b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3], b4 = b[4], b5 = b[5], b6 = b[6], b7 = b[7], b8 = b[8], b9 = b[9], b10 = b[10], b11 = b[11], b12 = b[12], b13 = b[13], b14 = b[14], b15 = b[15];\n v = a[0];\n t0 += v * b0;\n t1 += v * b1;\n t2 += v * b2;\n t3 += v * b3;\n t4 += v * b4;\n t5 += v * b5;\n t6 += v * b6;\n t7 += v * b7;\n t8 += v * b8;\n t9 += v * b9;\n t10 += v * b10;\n t11 += v * b11;\n t12 += v * b12;\n t13 += v * b13;\n t14 += v * b14;\n t15 += v * b15;\n v = a[1];\n t1 += v * b0;\n t2 += v * b1;\n t3 += v * b2;\n t4 += v * b3;\n t5 += v * b4;\n t6 += v * b5;\n t7 += v * b6;\n t8 += v * b7;\n t9 += v * b8;\n t10 += v * b9;\n t11 += v * b10;\n t12 += v * b11;\n t13 += v * b12;\n t14 += v * b13;\n t15 += v * b14;\n t16 += v * b15;\n v = a[2];\n t2 += v * b0;\n t3 += v * b1;\n t4 += v * b2;\n t5 += v * b3;\n t6 += v * b4;\n t7 += v * b5;\n t8 += v * b6;\n t9 += v * b7;\n t10 += v * b8;\n t11 += v * b9;\n t12 += v * b10;\n t13 += v * b11;\n t14 += v * b12;\n t15 += v * b13;\n t16 += v * b14;\n t17 += v * b15;\n v = a[3];\n t3 += v * b0;\n t4 += v * b1;\n t5 += v * b2;\n t6 += v * b3;\n t7 += v * b4;\n t8 += v * b5;\n t9 += v * b6;\n t10 += v * b7;\n t11 += v * b8;\n t12 += v * b9;\n t13 += v * b10;\n t14 += v * b11;\n t15 += v * b12;\n t16 += v * b13;\n t17 += v * b14;\n t18 += v * b15;\n v = a[4];\n t4 += v * b0;\n t5 += v * b1;\n t6 += v * b2;\n t7 += v * b3;\n t8 += v * b4;\n t9 += v * b5;\n t10 += v * b6;\n t11 += v * b7;\n t12 += v * b8;\n t13 += v * b9;\n t14 += v * b10;\n t15 += v * b11;\n t16 += v * b12;\n t17 += v * b13;\n t18 += v * b14;\n t19 += v * b15;\n v = a[5];\n t5 += v * b0;\n t6 += v * b1;\n t7 += v * b2;\n t8 += v * b3;\n t9 += v * b4;\n t10 += v * b5;\n t11 += v * b6;\n t12 += v * b7;\n t13 += v * b8;\n t14 += v * b9;\n t15 += v * b10;\n t16 += v * b11;\n t17 += v * b12;\n t18 += v * b13;\n t19 += v * b14;\n t20 += v * b15;\n v = a[6];\n t6 += v * b0;\n t7 += v * b1;\n t8 += v * b2;\n t9 += v * b3;\n t10 += v * b4;\n t11 += v * b5;\n t12 += v * b6;\n t13 += v * b7;\n t14 += v * b8;\n t15 += v * b9;\n t16 += v * b10;\n t17 += v * b11;\n t18 += v * b12;\n t19 += v * b13;\n t20 += v * b14;\n t21 += v * b15;\n v = a[7];\n t7 += v * b0;\n t8 += v * b1;\n t9 += v * b2;\n t10 += v * b3;\n t11 += v * b4;\n t12 += v * b5;\n t13 += v * b6;\n t14 += v * b7;\n t15 += v * b8;\n t16 += v * b9;\n t17 += v * b10;\n t18 += v * b11;\n t19 += v * b12;\n t20 += v * b13;\n t21 += v * b14;\n t22 += v * b15;\n v = a[8];\n t8 += v * b0;\n t9 += v * b1;\n t10 += v * b2;\n t11 += v * b3;\n t12 += v * b4;\n t13 += v * b5;\n t14 += v * b6;\n t15 += v * b7;\n t16 += v * b8;\n t17 += v * b9;\n t18 += v * b10;\n t19 += v * b11;\n t20 += v * b12;\n t21 += v * b13;\n t22 += v * b14;\n t23 += v * b15;\n v = a[9];\n t9 += v * b0;\n t10 += v * b1;\n t11 += v * b2;\n t12 += v * b3;\n t13 += v * b4;\n t14 += v * b5;\n t15 += v * b6;\n t16 += v * b7;\n t17 += v * b8;\n t18 += v * b9;\n t19 += v * b10;\n t20 += v * b11;\n t21 += v * b12;\n t22 += v * b13;\n t23 += v * b14;\n t24 += v * b15;\n v = a[10];\n t10 += v * b0;\n t11 += v * b1;\n t12 += v * b2;\n t13 += v * b3;\n t14 += v * b4;\n t15 += v * b5;\n t16 += v * b6;\n t17 += v * b7;\n t18 += v * b8;\n t19 += v * b9;\n t20 += v * b10;\n t21 += v * b11;\n t22 += v * b12;\n t23 += v * b13;\n t24 += v * b14;\n t25 += v * b15;\n v = a[11];\n t11 += v * b0;\n t12 += v * b1;\n t13 += v * b2;\n t14 += v * b3;\n t15 += v * b4;\n t16 += v * b5;\n t17 += v * b6;\n t18 += v * b7;\n t19 += v * b8;\n t20 += v * b9;\n t21 += v * b10;\n t22 += v * b11;\n t23 += v * b12;\n t24 += v * b13;\n t25 += v * b14;\n t26 += v * b15;\n v = a[12];\n t12 += v * b0;\n t13 += v * b1;\n t14 += v * b2;\n t15 += v * b3;\n t16 += v * b4;\n t17 += v * b5;\n t18 += v * b6;\n t19 += v * b7;\n t20 += v * b8;\n t21 += v * b9;\n t22 += v * b10;\n t23 += v * b11;\n t24 += v * b12;\n t25 += v * b13;\n t26 += v * b14;\n t27 += v * b15;\n v = a[13];\n t13 += v * b0;\n t14 += v * b1;\n t15 += v * b2;\n t16 += v * b3;\n t17 += v * b4;\n t18 += v * b5;\n t19 += v * b6;\n t20 += v * b7;\n t21 += v * b8;\n t22 += v * b9;\n t23 += v * b10;\n t24 += v * b11;\n t25 += v * b12;\n t26 += v * b13;\n t27 += v * b14;\n t28 += v * b15;\n v = a[14];\n t14 += v * b0;\n t15 += v * b1;\n t16 += v * b2;\n t17 += v * b3;\n t18 += v * b4;\n t19 += v * b5;\n t20 += v * b6;\n t21 += v * b7;\n t22 += v * b8;\n t23 += v * b9;\n t24 += v * b10;\n t25 += v * b11;\n t26 += v * b12;\n t27 += v * b13;\n t28 += v * b14;\n t29 += v * b15;\n v = a[15];\n t15 += v * b0;\n t16 += v * b1;\n t17 += v * b2;\n t18 += v * b3;\n t19 += v * b4;\n t20 += v * b5;\n t21 += v * b6;\n t22 += v * b7;\n t23 += v * b8;\n t24 += v * b9;\n t25 += v * b10;\n t26 += v * b11;\n t27 += v * b12;\n t28 += v * b13;\n t29 += v * b14;\n t30 += v * b15;\n t0 += 38 * t16;\n t1 += 38 * t17;\n t2 += 38 * t18;\n t3 += 38 * t19;\n t4 += 38 * t20;\n t5 += 38 * t21;\n t6 += 38 * t22;\n t7 += 38 * t23;\n t8 += 38 * t24;\n t9 += 38 * t25;\n t10 += 38 * t26;\n t11 += 38 * t27;\n t12 += 38 * t28;\n t13 += 38 * t29;\n t14 += 38 * t30;\n // t15 left as is\n // first car\n c = 1;\n v = t0 + c + 65535;\n c = Math.floor(v / 65536);\n t0 = v - c * 65536;\n v = t1 + c + 65535;\n c = Math.floor(v / 65536);\n t1 = v - c * 65536;\n v = t2 + c + 65535;\n c = Math.floor(v / 65536);\n t2 = v - c * 65536;\n v = t3 + c + 65535;\n c = Math.floor(v / 65536);\n t3 = v - c * 65536;\n v = t4 + c + 65535;\n c = Math.floor(v / 65536);\n t4 = v - c * 65536;\n v = t5 + c + 65535;\n c = Math.floor(v / 65536);\n t5 = v - c * 65536;\n v = t6 + c + 65535;\n c = Math.floor(v / 65536);\n t6 = v - c * 65536;\n v = t7 + c + 65535;\n c = Math.floor(v / 65536);\n t7 = v - c * 65536;\n v = t8 + c + 65535;\n c = Math.floor(v / 65536);\n t8 = v - c * 65536;\n v = t9 + c + 65535;\n c = Math.floor(v / 65536);\n t9 = v - c * 65536;\n v = t10 + c + 65535;\n c = Math.floor(v / 65536);\n t10 = v - c * 65536;\n v = t11 + c + 65535;\n c = Math.floor(v / 65536);\n t11 = v - c * 65536;\n v = t12 + c + 65535;\n c = Math.floor(v / 65536);\n t12 = v - c * 65536;\n v = t13 + c + 65535;\n c = Math.floor(v / 65536);\n t13 = v - c * 65536;\n v = t14 + c + 65535;\n c = Math.floor(v / 65536);\n t14 = v - c * 65536;\n v = t15 + c + 65535;\n c = Math.floor(v / 65536);\n t15 = v - c * 65536;\n t0 += c - 1 + 37 * (c - 1);\n // second car\n c = 1;\n v = t0 + c + 65535;\n c = Math.floor(v / 65536);\n t0 = v - c * 65536;\n v = t1 + c + 65535;\n c = Math.floor(v / 65536);\n t1 = v - c * 65536;\n v = t2 + c + 65535;\n c = Math.floor(v / 65536);\n t2 = v - c * 65536;\n v = t3 + c + 65535;\n c = Math.floor(v / 65536);\n t3 = v - c * 65536;\n v = t4 + c + 65535;\n c = Math.floor(v / 65536);\n t4 = v - c * 65536;\n v = t5 + c + 65535;\n c = Math.floor(v / 65536);\n t5 = v - c * 65536;\n v = t6 + c + 65535;\n c = Math.floor(v / 65536);\n t6 = v - c * 65536;\n v = t7 + c + 65535;\n c = Math.floor(v / 65536);\n t7 = v - c * 65536;\n v = t8 + c + 65535;\n c = Math.floor(v / 65536);\n t8 = v - c * 65536;\n v = t9 + c + 65535;\n c = Math.floor(v / 65536);\n t9 = v - c * 65536;\n v = t10 + c + 65535;\n c = Math.floor(v / 65536);\n t10 = v - c * 65536;\n v = t11 + c + 65535;\n c = Math.floor(v / 65536);\n t11 = v - c * 65536;\n v = t12 + c + 65535;\n c = Math.floor(v / 65536);\n t12 = v - c * 65536;\n v = t13 + c + 65535;\n c = Math.floor(v / 65536);\n t13 = v - c * 65536;\n v = t14 + c + 65535;\n c = Math.floor(v / 65536);\n t14 = v - c * 65536;\n v = t15 + c + 65535;\n c = Math.floor(v / 65536);\n t15 = v - c * 65536;\n t0 += c - 1 + 37 * (c - 1);\n o[0] = t0;\n o[1] = t1;\n o[2] = t2;\n o[3] = t3;\n o[4] = t4;\n o[5] = t5;\n o[6] = t6;\n o[7] = t7;\n o[8] = t8;\n o[9] = t9;\n o[10] = t10;\n o[11] = t11;\n o[12] = t12;\n o[13] = t13;\n o[14] = t14;\n o[15] = t15;\n}\nfunction square(o, a) {\n mul(o, a, a);\n}\nfunction inv25519(o, inp) {\n const c = gf();\n for (let i = 0; i < 16; i++) {\n c[i] = inp[i];\n }\n for (let i = 253; i >= 0; i--) {\n square(c, c);\n if (i !== 2 && i !== 4) {\n mul(c, c, inp);\n }\n }\n for (let i = 0; i < 16; i++) {\n o[i] = c[i];\n }\n}\nfunction scalarMult(n, p) {\n const z = new Uint8Array(32);\n const x = new Float64Array(80);\n const a = gf(), b = gf(), c = gf(), d = gf(), e = gf(), f = gf();\n for (let i = 0; i < 31; i++) {\n z[i] = n[i];\n }\n z[31] = (n[31] & 127) | 64;\n z[0] &= 248;\n unpack25519(x, p);\n for (let i = 0; i < 16; i++) {\n b[i] = x[i];\n }\n a[0] = d[0] = 1;\n for (let i = 254; i >= 0; --i) {\n const r = (z[i >>> 3] >>> (i & 7)) & 1;\n sel25519(a, b, r);\n sel25519(c, d, r);\n add(e, a, c);\n sub(a, a, c);\n add(c, b, d);\n sub(b, b, d);\n square(d, e);\n square(f, a);\n mul(a, c, a);\n mul(c, b, e);\n add(e, a, c);\n sub(a, a, c);\n square(b, a);\n sub(c, d, f);\n mul(a, c, _121665);\n add(a, a, d);\n mul(c, c, a);\n mul(a, d, f);\n mul(d, b, x);\n square(b, e);\n sel25519(a, b, r);\n sel25519(c, d, r);\n }\n for (let i = 0; i < 16; i++) {\n x[i + 16] = a[i];\n x[i + 32] = c[i];\n x[i + 48] = b[i];\n x[i + 64] = d[i];\n }\n const x32 = x.subarray(32);\n const x16 = x.subarray(16);\n inv25519(x32, x32);\n mul(x16, x16, x32);\n const q = new Uint8Array(32);\n pack25519(q, x16);\n return q;\n}\nexports.scalarMult = scalarMult;\nfunction scalarMultBase(n) {\n return scalarMult(n, _9);\n}\nexports.scalarMultBase = scalarMultBase;\nfunction generateKeyPairFromSeed(seed) {\n if (seed.length !== exports.SECRET_KEY_LENGTH) {\n throw new Error(`x25519: seed must be ${exports.SECRET_KEY_LENGTH} bytes`);\n }\n const secretKey = new Uint8Array(seed);\n const publicKey = scalarMultBase(secretKey);\n return {\n publicKey,\n secretKey\n };\n}\nexports.generateKeyPairFromSeed = generateKeyPairFromSeed;\nfunction generateKeyPair(prng) {\n const seed = (0, random_1.randomBytes)(32, prng);\n const result = generateKeyPairFromSeed(seed);\n (0, wipe_1.wipe)(seed);\n return result;\n}\nexports.generateKeyPair = generateKeyPair;\n/**\n * Returns a shared key between our secret key and a peer\'s public key.\n *\n * Throws an error if the given keys are of wrong length.\n *\n * If rejectZero is true throws if the calculated shared key is all-zero.\n * From RFC 7748:\n *\n * > Protocol designers using Diffie-Hellman over the curves defined in\n * > this document must not assume "contributory behavior". Specially,\n * > contributory behavior means that both parties\' private keys\n * > contribute to the resulting shared key. Since curve25519 and\n * > curve448 have cofactors of 8 and 4 (respectively), an input point of\n * > small order will eliminate any contribution from the other party\'s\n * > private key. This situation can be detected by checking for the all-\n * > zero output, which implementations MAY do, as specified in Section 6.\n * > However, a large number of existing implementations do not do this.\n *\n * IMPORTANT: the returned key is a raw result of scalar multiplication.\n * To use it as a key material, hash it with a cryptographic hash function.\n */\nfunction sharedKey(mySecretKey, theirPublicKey, rejectZero = false) {\n if (mySecretKey.length !== exports.PUBLIC_KEY_LENGTH) {\n throw new Error("X25519: incorrect secret key length");\n }\n if (theirPublicKey.length !== exports.PUBLIC_KEY_LENGTH) {\n throw new Error("X25519: incorrect public key length");\n }\n const result = scalarMult(mySecretKey, theirPublicKey);\n if (rejectZero) {\n let zeros = 0;\n for (let i = 0; i < result.length; i++) {\n zeros |= result[i];\n }\n if (zeros === 0) {\n throw new Error("X25519: invalid shared key");\n }\n }\n return result;\n}\nexports.sharedKey = sharedKey;\n//# sourceMappingURL=x25519.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@stablelib/x25519/lib/x25519.js?')},"./node_modules/@stablelib/xsalsa20/lib/xsalsa20.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, "__esModule", ({ value: true }));\n/**\n * Package xsalsa20 implements XSalsa20 stream cipher.\n */\nvar binary_1 = __webpack_require__(/*! @stablelib/binary */ "./node_modules/@stablelib/binary/lib/binary.js");\nvar salsa20_1 = __webpack_require__(/*! @stablelib/salsa20 */ "./node_modules/@stablelib/salsa20/lib/salsa20.js");\nvar wipe_1 = __webpack_require__(/*! @stablelib/wipe */ "./node_modules/@stablelib/wipe/lib/wipe.js");\n/**\n * Encrypt src with Salsa20/20 stream generated for the given 32-byte key\n * and 24-byte and write the result into dst and return it.\n *\n * dst and src may be the same, but otherwise must not overlap.\n *\n * Never use the same key and nonce to encrypt more than one message.\n */\nfunction streamXOR(key, nonce, src, dst, nonceInplaceCounterLength) {\n if (nonceInplaceCounterLength === void 0) { nonceInplaceCounterLength = 0; }\n if (nonceInplaceCounterLength === 0) {\n if (nonce.length !== 24) {\n throw new Error("XSalsa20 nonce must be 24 bytes");\n }\n }\n else {\n if (nonce.length !== 32) {\n throw new Error("XSalsa20 nonce with counter must be 32 bytes");\n }\n }\n // Use HSalsa one-way function to transform first 16 bytes of\n // 24-byte extended nonce and key into a new key for Salsa\n // stream -- "subkey".\n var subkey = hsalsa(key, nonce.subarray(0, 16), new Uint8Array(32));\n // Use last 8 bytes of 24-byte extended nonce as an actual nonce,\n // and a subkey derived in the previous step as key to encrypt.\n //\n // If nonceInplaceCounterLength > 0, we\'ll still pass the correct\n // nonce || counter, as we don\'t limit the end of nonce subarray.\n var result = salsa20_1.streamXOR(subkey, nonce.subarray(16), src, dst, nonceInplaceCounterLength);\n // Clean subkey.\n wipe_1.wipe(subkey);\n return result;\n}\nexports.streamXOR = streamXOR;\n/**\n * Generate Salsa20/20 stream for the given 32-byte key and\n * 24-byte nonce and write it into dst and return it.\n *\n * Never use the same key and nonce to generate more than one stream.\n *\n * stream is like streamXOR with all-zero src.\n */\nfunction stream(key, nonce, dst, nonceInplaceCounterLength) {\n if (nonceInplaceCounterLength === void 0) { nonceInplaceCounterLength = 0; }\n wipe_1.wipe(dst);\n return streamXOR(key, nonce, dst, dst, nonceInplaceCounterLength);\n}\nexports.stream = stream;\n// Number of Salsa20 rounds (Salsa20/20).\nvar ROUNDS = 20;\n/**\n * HSalsa20 is a one-way function used in XSalsa20 to extend nonce,\n * and in NaCl to hash X25519 shared keys. It takes 32-byte key and\n * 16-byte src and writes 32-byte result into dst and returns it.\n */\nfunction hsalsa(key, src, dst) {\n var x0 = 0x61707865; // "expa"\n var x1 = (key[3] << 24) | (key[2] << 16) | (key[1] << 8) | key[0];\n var x2 = (key[7] << 24) | (key[6] << 16) | (key[5] << 8) | key[4];\n var x3 = (key[11] << 24) | (key[10] << 16) | (key[9] << 8) | key[8];\n var x4 = (key[15] << 24) | (key[14] << 16) | (key[13] << 8) | key[12];\n var x5 = 0x3320646E; // "nd 3"\n var x6 = (src[3] << 24) | (src[2] << 16) | (src[1] << 8) | src[0];\n var x7 = (src[7] << 24) | (src[6] << 16) | (src[5] << 8) | src[4];\n var x8 = (src[11] << 24) | (src[10] << 16) | (src[9] << 8) | src[8];\n var x9 = (src[15] << 24) | (src[14] << 16) | (src[13] << 8) | src[12];\n var x10 = 0x79622D32; // "2-by"\n var x11 = (key[19] << 24) | (key[18] << 16) | (key[17] << 8) | key[16];\n var x12 = (key[23] << 24) | (key[22] << 16) | (key[21] << 8) | key[20];\n var x13 = (key[27] << 24) | (key[26] << 16) | (key[25] << 8) | key[24];\n var x14 = (key[31] << 24) | (key[30] << 16) | (key[29] << 8) | key[28];\n var x15 = 0x6B206574; // "te k"\n var u;\n for (var i = 0; i < ROUNDS; i += 2) {\n u = x0 + x12 | 0;\n x4 ^= u << 7 | u >>> (32 - 7);\n u = x4 + x0 | 0;\n x8 ^= u << 9 | u >>> (32 - 9);\n u = x8 + x4 | 0;\n x12 ^= u << 13 | u >>> (32 - 13);\n u = x12 + x8 | 0;\n x0 ^= u << 18 | u >>> (32 - 18);\n u = x5 + x1 | 0;\n x9 ^= u << 7 | u >>> (32 - 7);\n u = x9 + x5 | 0;\n x13 ^= u << 9 | u >>> (32 - 9);\n u = x13 + x9 | 0;\n x1 ^= u << 13 | u >>> (32 - 13);\n u = x1 + x13 | 0;\n x5 ^= u << 18 | u >>> (32 - 18);\n u = x10 + x6 | 0;\n x14 ^= u << 7 | u >>> (32 - 7);\n u = x14 + x10 | 0;\n x2 ^= u << 9 | u >>> (32 - 9);\n u = x2 + x14 | 0;\n x6 ^= u << 13 | u >>> (32 - 13);\n u = x6 + x2 | 0;\n x10 ^= u << 18 | u >>> (32 - 18);\n u = x15 + x11 | 0;\n x3 ^= u << 7 | u >>> (32 - 7);\n u = x3 + x15 | 0;\n x7 ^= u << 9 | u >>> (32 - 9);\n u = x7 + x3 | 0;\n x11 ^= u << 13 | u >>> (32 - 13);\n u = x11 + x7 | 0;\n x15 ^= u << 18 | u >>> (32 - 18);\n u = x0 + x3 | 0;\n x1 ^= u << 7 | u >>> (32 - 7);\n u = x1 + x0 | 0;\n x2 ^= u << 9 | u >>> (32 - 9);\n u = x2 + x1 | 0;\n x3 ^= u << 13 | u >>> (32 - 13);\n u = x3 + x2 | 0;\n x0 ^= u << 18 | u >>> (32 - 18);\n u = x5 + x4 | 0;\n x6 ^= u << 7 | u >>> (32 - 7);\n u = x6 + x5 | 0;\n x7 ^= u << 9 | u >>> (32 - 9);\n u = x7 + x6 | 0;\n x4 ^= u << 13 | u >>> (32 - 13);\n u = x4 + x7 | 0;\n x5 ^= u << 18 | u >>> (32 - 18);\n u = x10 + x9 | 0;\n x11 ^= u << 7 | u >>> (32 - 7);\n u = x11 + x10 | 0;\n x8 ^= u << 9 | u >>> (32 - 9);\n u = x8 + x11 | 0;\n x9 ^= u << 13 | u >>> (32 - 13);\n u = x9 + x8 | 0;\n x10 ^= u << 18 | u >>> (32 - 18);\n u = x15 + x14 | 0;\n x12 ^= u << 7 | u >>> (32 - 7);\n u = x12 + x15 | 0;\n x13 ^= u << 9 | u >>> (32 - 9);\n u = x13 + x12 | 0;\n x14 ^= u << 13 | u >>> (32 - 13);\n u = x14 + x13 | 0;\n x15 ^= u << 18 | u >>> (32 - 18);\n }\n binary_1.writeUint32LE(x0, dst, 0);\n binary_1.writeUint32LE(x5, dst, 4);\n binary_1.writeUint32LE(x10, dst, 8);\n binary_1.writeUint32LE(x15, dst, 12);\n binary_1.writeUint32LE(x6, dst, 16);\n binary_1.writeUint32LE(x7, dst, 20);\n binary_1.writeUint32LE(x8, dst, 24);\n binary_1.writeUint32LE(x9, dst, 28);\n return dst;\n}\nexports.hsalsa = hsalsa;\n//# sourceMappingURL=xsalsa20.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@stablelib/xsalsa20/lib/xsalsa20.js?')},"./node_modules/@walletconnect/core/dist/index.es.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CORE_CONTEXT: () => (/* binding */ Y),\n/* harmony export */ CORE_DEFAULT: () => (/* binding */ Ve),\n/* harmony export */ CORE_PROTOCOL: () => (/* binding */ oe),\n/* harmony export */ CORE_STORAGE_OPTIONS: () => (/* binding */ qe),\n/* harmony export */ CORE_STORAGE_PREFIX: () => (/* binding */ P),\n/* harmony export */ CORE_VERSION: () => (/* binding */ je),\n/* harmony export */ CRYPTO_CLIENT_SEED: () => (/* binding */ he),\n/* harmony export */ CRYPTO_CONTEXT: () => (/* binding */ Ge),\n/* harmony export */ CRYPTO_JWT_TTL: () => (/* binding */ Ye),\n/* harmony export */ Core: () => (/* binding */ wr),\n/* harmony export */ Crypto: () => (/* binding */ bt),\n/* harmony export */ EXPIRER_CONTEXT: () => (/* binding */ pt),\n/* harmony export */ EXPIRER_DEFAULT_TTL: () => (/* binding */ sr),\n/* harmony export */ EXPIRER_EVENTS: () => (/* binding */ f),\n/* harmony export */ EXPIRER_STORAGE_VERSION: () => (/* binding */ Dt),\n/* harmony export */ Expirer: () => (/* binding */ Ot),\n/* harmony export */ HISTORY_CONTEXT: () => (/* binding */ dt),\n/* harmony export */ HISTORY_EVENTS: () => (/* binding */ C),\n/* harmony export */ HISTORY_STORAGE_VERSION: () => (/* binding */ gt),\n/* harmony export */ JsonRpcHistory: () => (/* binding */ xt),\n/* harmony export */ KEYCHAIN_CONTEXT: () => (/* binding */ Je),\n/* harmony export */ KEYCHAIN_STORAGE_VERSION: () => (/* binding */ He),\n/* harmony export */ KeyChain: () => (/* binding */ yt),\n/* harmony export */ MESSAGES_CONTEXT: () => (/* binding */ Xe),\n/* harmony export */ MESSAGES_STORAGE_VERSION: () => (/* binding */ We),\n/* harmony export */ MessageTracker: () => (/* binding */ mt),\n/* harmony export */ PAIRING_CONTEXT: () => (/* binding */ ut),\n/* harmony export */ PAIRING_DEFAULT_TTL: () => (/* binding */ ir),\n/* harmony export */ PAIRING_RPC_OPTS: () => (/* binding */ U),\n/* harmony export */ PAIRING_STORAGE_VERSION: () => (/* binding */ lt),\n/* harmony export */ PENDING_SUB_RESOLUTION_TIMEOUT: () => (/* binding */ ct),\n/* harmony export */ PUBLISHER_CONTEXT: () => (/* binding */ Qe),\n/* harmony export */ PUBLISHER_DEFAULT_TTL: () => (/* binding */ Ze),\n/* harmony export */ Pairing: () => (/* binding */ Pt),\n/* harmony export */ RELAYER_CONTEXT: () => (/* binding */ it),\n/* harmony export */ RELAYER_DEFAULT_LOGGER: () => (/* binding */ tt),\n/* harmony export */ RELAYER_DEFAULT_PROTOCOL: () => (/* binding */ et),\n/* harmony export */ RELAYER_DEFAULT_RELAY_URL: () => (/* binding */ ce),\n/* harmony export */ RELAYER_EVENTS: () => (/* binding */ D),\n/* harmony export */ RELAYER_PROVIDER_EVENTS: () => (/* binding */ N),\n/* harmony export */ RELAYER_RECONNECT_TIMEOUT: () => (/* binding */ rt),\n/* harmony export */ RELAYER_SDK_VERSION: () => (/* binding */ nt),\n/* harmony export */ RELAYER_STORAGE_OPTIONS: () => (/* binding */ er),\n/* harmony export */ RELAYER_SUBSCRIBER_SUFFIX: () => (/* binding */ st),\n/* harmony export */ Relayer: () => (/* binding */ Ct),\n/* harmony export */ STORE_STORAGE_VERSION: () => (/* binding */ at),\n/* harmony export */ SUBSCRIBER_CONTEXT: () => (/* binding */ ot),\n/* harmony export */ SUBSCRIBER_DEFAULT_TTL: () => (/* binding */ tr),\n/* harmony export */ SUBSCRIBER_EVENTS: () => (/* binding */ I),\n/* harmony export */ SUBSCRIBER_STORAGE_VERSION: () => (/* binding */ ht),\n/* harmony export */ Store: () => (/* binding */ Tt),\n/* harmony export */ Subscriber: () => (/* binding */ wt),\n/* harmony export */ VERIFY_CONTEXT: () => (/* binding */ ue),\n/* harmony export */ VERIFY_SERVER: () => (/* binding */ le),\n/* harmony export */ Verify: () => (/* binding */ At),\n/* harmony export */ "default": () => (/* binding */ J)\n/* harmony export */ });\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! events */ "./node_modules/events/events.js");\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _walletconnect_keyvaluestorage__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @walletconnect/keyvaluestorage */ "./node_modules/@walletconnect/keyvaluestorage/dist/cjs/browser/index.js");\n/* harmony import */ var _walletconnect_heartbeat__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @walletconnect/heartbeat */ "./node_modules/@walletconnect/heartbeat/dist/cjs/index.js");\n/* harmony import */ var _walletconnect_heartbeat__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_walletconnect_heartbeat__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @walletconnect/logger */ "./node_modules/@walletconnect/logger/dist/cjs/index.js");\n/* harmony import */ var _walletconnect_logger__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _walletconnect_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @walletconnect/types */ "./node_modules/@walletconnect/types/dist/index.es.js");\n/* harmony import */ var _walletconnect_safe_json__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @walletconnect/safe-json */ "./node_modules/@walletconnect/safe-json/dist/esm/index.js");\n/* harmony import */ var _walletconnect_relay_auth__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @walletconnect/relay-auth */ "./node_modules/@walletconnect/relay-auth/dist/esm/index.js");\n/* harmony import */ var _walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @walletconnect/utils */ "./node_modules/@walletconnect/utils/dist/index.es.js");\n/* harmony import */ var uint8arrays__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! uint8arrays */ "./node_modules/uint8arrays/esm/src/index.js");\n/* harmony import */ var _walletconnect_time__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @walletconnect/time */ "./node_modules/@walletconnect/time/dist/cjs/index.js");\n/* harmony import */ var _walletconnect_time__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_walletconnect_time__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _walletconnect_jsonrpc_provider__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @walletconnect/jsonrpc-provider */ "./node_modules/@walletconnect/jsonrpc-provider/dist/esm/index.js");\n/* harmony import */ var _walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @walletconnect/jsonrpc-utils */ "./node_modules/@walletconnect/jsonrpc-utils/dist/esm/index.js");\n/* harmony import */ var _walletconnect_jsonrpc_ws_connection__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @walletconnect/jsonrpc-ws-connection */ "./node_modules/@walletconnect/jsonrpc-ws-connection/dist/esm/index.js");\n/* harmony import */ var lodash_isequal__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! lodash.isequal */ "./node_modules/lodash.isequal/index.js");\n/* harmony import */ var lodash_isequal__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(lodash_isequal__WEBPACK_IMPORTED_MODULE_13__);\nfunction xi(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),i=0;i>>0,b=new Uint8Array(R);w!==_;){for(var S=u[w],x=0,v=R-1;(S!==0||x>>0,b[v]=S%o>>>0,S=S/o>>>0;if(S!==0)throw new Error("Non-zero carry");O=x,w++}for(var T=R-O;T!==R&&b[T]===0;)T++;for(var K=h.repeat(y);T>>0,R=new Uint8Array(_);u[y];){var b=t[u.charCodeAt(y)];if(b===255)return;for(var S=0,x=_-1;(b!==0||S>>0,R[x]=b%256>>>0,b=b/256>>>0;if(b!==0)throw new Error("Non-zero carry");w=S,y++}if(u[y]!==" "){for(var v=_-w;v!==_&&R[v]===0;)v++;for(var T=new Uint8Array(O+(_-v)),K=O;v!==_;)T[K++]=R[v++];return T}}}function H(u){var y=L(u);if(y)return y;throw new Error(`Non-${e} character`)}return{encode:g,decodeUnsafe:L,decode:H}}var Oi=xi,Ai=Oi;const Se=r=>{if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")},zi=r=>new TextEncoder().encode(r),Ni=r=>new TextDecoder().decode(r);class Ui{constructor(e,t,i){this.name=e,this.prefix=t,this.baseEncode=i}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class Li{constructor(e,t,i){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=i}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Te(this,e)}}class Fi{constructor(e){this.decoders=e}or(e){return Te(this,e)}decode(e){const t=e[0],i=this.decoders[t];if(i)return i.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}const Te=(r,e)=>new Fi({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}});class $i{constructor(e,t,i,s){this.name=e,this.prefix=t,this.baseEncode=i,this.baseDecode=s,this.encoder=new Ui(e,t,i),this.decoder=new Li(e,t,s)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const G=({name:r,prefix:e,encode:t,decode:i})=>new $i(r,e,t,i),$=({prefix:r,name:e,alphabet:t})=>{const{encode:i,decode:s}=Ai(t,e);return G({prefix:r,name:e,encode:i,decode:n=>Se(s(n))})},Mi=(r,e,t,i)=>{const s={};for(let l=0;l=8&&(o-=8,a[d++]=255&h>>o)}if(o>=t||255&h<<8-o)throw new SyntaxError("Unexpected end of data");return a},Ki=(r,e,t)=>{const i=e[e.length-1]==="=",s=(1<t;)a-=t,n+=e[s&o>>a];if(a&&(n+=e[s&o<G({prefix:e,name:r,encode(s){return Ki(s,i,t)},decode(s){return Mi(s,i,t,r)}}),ki=G({prefix:"\\0",name:"identity",encode:r=>Ni(r),decode:r=>zi(r)});var Bi=Object.freeze({__proto__:null,identity:ki});const ji=p({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Vi=Object.freeze({__proto__:null,base2:ji});const qi=p({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Gi=Object.freeze({__proto__:null,base8:qi});const Yi=$({prefix:"9",name:"base10",alphabet:"0123456789"});var Ji=Object.freeze({__proto__:null,base10:Yi});const Hi=p({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Xi=p({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Wi=Object.freeze({__proto__:null,base16:Hi,base16upper:Xi});const Zi=p({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Qi=p({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),es=p({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),ts=p({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),is=p({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),ss=p({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),rs=p({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),ns=p({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),as=p({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var os=Object.freeze({__proto__:null,base32:Zi,base32upper:Qi,base32pad:es,base32padupper:ts,base32hex:is,base32hexupper:ss,base32hexpad:rs,base32hexpadupper:ns,base32z:as});const hs=$({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),cs=$({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var us=Object.freeze({__proto__:null,base36:hs,base36upper:cs});const ls=$({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),ds=$({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var gs=Object.freeze({__proto__:null,base58btc:ls,base58flickr:ds});const ps=p({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Ds=p({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),ys=p({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),bs=p({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var ms=Object.freeze({__proto__:null,base64:ps,base64pad:Ds,base64url:ys,base64urlpad:bs});const Pe=Array.from("\\u{1F680}\\u{1FA90}\\u2604\\u{1F6F0}\\u{1F30C}\\u{1F311}\\u{1F312}\\u{1F313}\\u{1F314}\\u{1F315}\\u{1F316}\\u{1F317}\\u{1F318}\\u{1F30D}\\u{1F30F}\\u{1F30E}\\u{1F409}\\u2600\\u{1F4BB}\\u{1F5A5}\\u{1F4BE}\\u{1F4BF}\\u{1F602}\\u2764\\u{1F60D}\\u{1F923}\\u{1F60A}\\u{1F64F}\\u{1F495}\\u{1F62D}\\u{1F618}\\u{1F44D}\\u{1F605}\\u{1F44F}\\u{1F601}\\u{1F525}\\u{1F970}\\u{1F494}\\u{1F496}\\u{1F499}\\u{1F622}\\u{1F914}\\u{1F606}\\u{1F644}\\u{1F4AA}\\u{1F609}\\u263A\\u{1F44C}\\u{1F917}\\u{1F49C}\\u{1F614}\\u{1F60E}\\u{1F607}\\u{1F339}\\u{1F926}\\u{1F389}\\u{1F49E}\\u270C\\u2728\\u{1F937}\\u{1F631}\\u{1F60C}\\u{1F338}\\u{1F64C}\\u{1F60B}\\u{1F497}\\u{1F49A}\\u{1F60F}\\u{1F49B}\\u{1F642}\\u{1F493}\\u{1F929}\\u{1F604}\\u{1F600}\\u{1F5A4}\\u{1F603}\\u{1F4AF}\\u{1F648}\\u{1F447}\\u{1F3B6}\\u{1F612}\\u{1F92D}\\u2763\\u{1F61C}\\u{1F48B}\\u{1F440}\\u{1F62A}\\u{1F611}\\u{1F4A5}\\u{1F64B}\\u{1F61E}\\u{1F629}\\u{1F621}\\u{1F92A}\\u{1F44A}\\u{1F973}\\u{1F625}\\u{1F924}\\u{1F449}\\u{1F483}\\u{1F633}\\u270B\\u{1F61A}\\u{1F61D}\\u{1F634}\\u{1F31F}\\u{1F62C}\\u{1F643}\\u{1F340}\\u{1F337}\\u{1F63B}\\u{1F613}\\u2B50\\u2705\\u{1F97A}\\u{1F308}\\u{1F608}\\u{1F918}\\u{1F4A6}\\u2714\\u{1F623}\\u{1F3C3}\\u{1F490}\\u2639\\u{1F38A}\\u{1F498}\\u{1F620}\\u261D\\u{1F615}\\u{1F33A}\\u{1F382}\\u{1F33B}\\u{1F610}\\u{1F595}\\u{1F49D}\\u{1F64A}\\u{1F639}\\u{1F5E3}\\u{1F4AB}\\u{1F480}\\u{1F451}\\u{1F3B5}\\u{1F91E}\\u{1F61B}\\u{1F534}\\u{1F624}\\u{1F33C}\\u{1F62B}\\u26BD\\u{1F919}\\u2615\\u{1F3C6}\\u{1F92B}\\u{1F448}\\u{1F62E}\\u{1F646}\\u{1F37B}\\u{1F343}\\u{1F436}\\u{1F481}\\u{1F632}\\u{1F33F}\\u{1F9E1}\\u{1F381}\\u26A1\\u{1F31E}\\u{1F388}\\u274C\\u270A\\u{1F44B}\\u{1F630}\\u{1F928}\\u{1F636}\\u{1F91D}\\u{1F6B6}\\u{1F4B0}\\u{1F353}\\u{1F4A2}\\u{1F91F}\\u{1F641}\\u{1F6A8}\\u{1F4A8}\\u{1F92C}\\u2708\\u{1F380}\\u{1F37A}\\u{1F913}\\u{1F619}\\u{1F49F}\\u{1F331}\\u{1F616}\\u{1F476}\\u{1F974}\\u25B6\\u27A1\\u2753\\u{1F48E}\\u{1F4B8}\\u2B07\\u{1F628}\\u{1F31A}\\u{1F98B}\\u{1F637}\\u{1F57A}\\u26A0\\u{1F645}\\u{1F61F}\\u{1F635}\\u{1F44E}\\u{1F932}\\u{1F920}\\u{1F927}\\u{1F4CC}\\u{1F535}\\u{1F485}\\u{1F9D0}\\u{1F43E}\\u{1F352}\\u{1F617}\\u{1F911}\\u{1F30A}\\u{1F92F}\\u{1F437}\\u260E\\u{1F4A7}\\u{1F62F}\\u{1F486}\\u{1F446}\\u{1F3A4}\\u{1F647}\\u{1F351}\\u2744\\u{1F334}\\u{1F4A3}\\u{1F438}\\u{1F48C}\\u{1F4CD}\\u{1F940}\\u{1F922}\\u{1F445}\\u{1F4A1}\\u{1F4A9}\\u{1F450}\\u{1F4F8}\\u{1F47B}\\u{1F910}\\u{1F92E}\\u{1F3BC}\\u{1F975}\\u{1F6A9}\\u{1F34E}\\u{1F34A}\\u{1F47C}\\u{1F48D}\\u{1F4E3}\\u{1F942}"),Es=Pe.reduce((r,e,t)=>(r[t]=e,r),[]),fs=Pe.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function ws(r){return r.reduce((e,t)=>(e+=Es[t],e),"")}function vs(r){const e=[];for(const t of r){const i=fs[t.codePointAt(0)];if(i===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(i)}return new Uint8Array(e)}const Is=G({prefix:"\\u{1F680}",name:"base256emoji",encode:ws,decode:vs});var Cs=Object.freeze({__proto__:null,base256emoji:Is}),_s=Oe,xe=128,Rs=127,Ss=~Rs,Ts=Math.pow(2,31);function Oe(r,e,t){e=e||[],t=t||0;for(var i=t;r>=Ts;)e[t++]=r&255|xe,r/=128;for(;r&Ss;)e[t++]=r&255|xe,r>>>=7;return e[t]=r|0,Oe.bytes=t-i+1,e}var Ps=re,xs=128,Ae=127;function re(r,i){var t=0,i=i||0,s=0,n=i,a,o=r.length;do{if(n>=o)throw re.bytes=0,new RangeError("Could not decode varint");a=r[n++],t+=s<28?(a&Ae)<=xs);return re.bytes=n-i,t}var Os=Math.pow(2,7),As=Math.pow(2,14),zs=Math.pow(2,21),Ns=Math.pow(2,28),Us=Math.pow(2,35),Ls=Math.pow(2,42),Fs=Math.pow(2,49),$s=Math.pow(2,56),Ms=Math.pow(2,63),Ks=function(r){return r(ze.encode(r,e,t),e),Ue=r=>ze.encodingLength(r),ne=(r,e)=>{const t=e.byteLength,i=Ue(r),s=i+Ue(t),n=new Uint8Array(s+t);return Ne(r,n,0),Ne(t,n,i),n.set(e,s),new Bs(r,t,e,n)};class Bs{constructor(e,t,i,s){this.code=e,this.size=t,this.digest=i,this.bytes=s}}const Le=({name:r,code:e,encode:t})=>new js(r,e,t);class js{constructor(e,t,i){this.name=e,this.code=t,this.encode=i}digest(e){if(e instanceof Uint8Array){const t=this.encode(e);return t instanceof Uint8Array?ne(this.code,t):t.then(i=>ne(this.code,i))}else throw Error("Unknown type, must be binary type")}}const Fe=r=>async e=>new Uint8Array(await crypto.subtle.digest(r,e)),Vs=Le({name:"sha2-256",code:18,encode:Fe("SHA-256")}),qs=Le({name:"sha2-512",code:19,encode:Fe("SHA-512")});var Gs=Object.freeze({__proto__:null,sha256:Vs,sha512:qs});const $e=0,Ys="identity",Me=Se,Js=r=>ne($e,Me(r)),Hs={code:$e,name:Ys,encode:Me,digest:Js};var Xs=Object.freeze({__proto__:null,identity:Hs});new TextEncoder,new TextDecoder;const Ke={...Bi,...Vi,...Gi,...Ji,...Wi,...os,...us,...gs,...ms,...Cs};({...Gs,...Xs});function Ws(r=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(r):new Uint8Array(r)}function ke(r,e,t,i){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:i}}}const Be=ke("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),ae=ke("ascii","a",r=>{let e="a";for(let t=0;t{r=r.substring(1);const e=Ws(r.length);for(let t=0;t{if(!this.initialized){const i=await this.getKeyChain();typeof i<"u"&&(this.keychain=i),this.initialized=!0}},this.has=i=>(this.isInitialized(),this.keychain.has(i)),this.set=async(i,s)=>{this.isInitialized(),this.keychain.set(i,s),await this.persist()},this.get=i=>{this.isInitialized();const s=this.keychain.get(i);if(typeof s>"u"){const{message:n}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.getInternalError)("NO_MATCHING_KEY",`${this.name}: ${i}`);throw new Error(n)}return s},this.del=async i=>{this.isInitialized(),this.keychain.delete(i),await this.persist()},this.core=e,this.logger=(0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.generateChildLogger)(t,this.name)}get context(){return (0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.getLoggerContext)(this.logger)}get storageKey(){return this.storagePrefix+this.version+"//"+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.mapToObj)(e))}async getKeyChain(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.objToMap)(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){const{message:e}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.getInternalError)("NOT_INITIALIZED",this.name);throw new Error(e)}}}class bt{constructor(e,t,i){this.core=e,this.logger=t,this.name=Ge,this.initialized=!1,this.init=async()=>{this.initialized||(await this.keychain.init(),this.initialized=!0)},this.hasKeys=s=>(this.isInitialized(),this.keychain.has(s)),this.getClientId=async()=>{this.isInitialized();const s=await this.getClientSeed(),n=_walletconnect_relay_auth__WEBPACK_IMPORTED_MODULE_6__.generateKeyPair(s);return _walletconnect_relay_auth__WEBPACK_IMPORTED_MODULE_6__.encodeIss(n.publicKey)},this.generateKeyPair=()=>{this.isInitialized();const s=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.generateKeyPair)();return this.setPrivateKey(s.publicKey,s.privateKey)},this.signJWT=async s=>{this.isInitialized();const n=await this.getClientSeed(),a=_walletconnect_relay_auth__WEBPACK_IMPORTED_MODULE_6__.generateKeyPair(n),o=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.generateRandomBytes32)(),h=Ye;return await _walletconnect_relay_auth__WEBPACK_IMPORTED_MODULE_6__.signJWT(o,s,h,a)},this.generateSharedKey=(s,n,a)=>{this.isInitialized();const o=this.getPrivateKey(s),h=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.deriveSymKey)(o,n);return this.setSymKey(h,a)},this.setSymKey=async(s,n)=>{this.isInitialized();const a=n||(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.hashKey)(s);return await this.keychain.set(a,s),a},this.deleteKeyPair=async s=>{this.isInitialized(),await this.keychain.del(s)},this.deleteSymKey=async s=>{this.isInitialized(),await this.keychain.del(s)},this.encode=async(s,n,a)=>{this.isInitialized();const o=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.validateEncoding)(a),h=(0,_walletconnect_safe_json__WEBPACK_IMPORTED_MODULE_5__.safeJsonStringify)(n);if((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.isTypeOneEnvelope)(o)){const L=o.senderPublicKey,H=o.receiverPublicKey;s=await this.generateSharedKey(L,H)}const d=this.getSymKey(s),{type:l,senderPublicKey:g}=o;return (0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.encrypt)({type:l,symKey:d,message:h,senderPublicKey:g})},this.decode=async(s,n,a)=>{this.isInitialized();const o=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.validateDecoding)(n,a);if((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.isTypeOneEnvelope)(o)){const l=o.receiverPublicKey,g=o.senderPublicKey;s=await this.generateSharedKey(l,g)}const h=this.getSymKey(s),d=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.decrypt)({symKey:h,encoded:n});return (0,_walletconnect_safe_json__WEBPACK_IMPORTED_MODULE_5__.safeJsonParse)(d)},this.getPayloadType=s=>{const n=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.deserialize)(s);return (0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.decodeTypeByte)(n.type)},this.getPayloadSenderPublicKey=s=>{const n=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.deserialize)(s);return n.senderPublicKey?(0,uint8arrays__WEBPACK_IMPORTED_MODULE_8__.toString)(n.senderPublicKey,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.BASE16):void 0},this.core=e,this.logger=(0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.generateChildLogger)(t,this.name),this.keychain=i||new yt(this.core,this.logger)}get context(){return (0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.getLoggerContext)(this.logger)}async setPrivateKey(e,t){return await this.keychain.set(e,t),e}getPrivateKey(e){return this.keychain.get(e)}async getClientSeed(){let e="";try{e=this.keychain.get(he)}catch{e=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.generateRandomBytes32)(),await this.keychain.set(he,e)}return Qs(e,"base16")}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){const{message:e}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.getInternalError)("NOT_INITIALIZED",this.name);throw new Error(e)}}}class mt extends _walletconnect_types__WEBPACK_IMPORTED_MODULE_4__.IMessageTracker{constructor(e,t){super(e,t),this.logger=e,this.core=t,this.messages=new Map,this.name=Xe,this.version=We,this.initialized=!1,this.storagePrefix=P,this.init=async()=>{if(!this.initialized){this.logger.trace("Initialized");try{const i=await this.getRelayerMessages();typeof i<"u"&&(this.messages=i),this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",size:this.messages.size})}catch(i){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(i)}finally{this.initialized=!0}}},this.set=async(i,s)=>{this.isInitialized();const n=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.hashMessage)(s);let a=this.messages.get(i);return typeof a>"u"&&(a={}),typeof a[n]<"u"||(a[n]=s,this.messages.set(i,a),await this.persist()),n},this.get=i=>{this.isInitialized();let s=this.messages.get(i);return typeof s>"u"&&(s={}),s},this.has=(i,s)=>{this.isInitialized();const n=this.get(i),a=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.hashMessage)(s);return typeof n[a]<"u"},this.del=async i=>{this.isInitialized(),this.messages.delete(i),await this.persist()},this.logger=(0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.generateChildLogger)(e,this.name),this.core=t}get context(){return (0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.getLoggerContext)(this.logger)}get storageKey(){return this.storagePrefix+this.version+"//"+this.name}async setRelayerMessages(e){await this.core.storage.setItem(this.storageKey,(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.mapToObj)(e))}async getRelayerMessages(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.objToMap)(e):void 0}async persist(){await this.setRelayerMessages(this.messages)}isInitialized(){if(!this.initialized){const{message:e}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.getInternalError)("NOT_INITIALIZED",this.name);throw new Error(e)}}}class rr extends _walletconnect_types__WEBPACK_IMPORTED_MODULE_4__.IPublisher{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,this.events=new events__WEBPACK_IMPORTED_MODULE_0__.EventEmitter,this.name=Qe,this.queue=new Map,this.publishTimeout=1e4,this.publish=async(i,s,n)=>{this.logger.debug("Publishing Payload"),this.logger.trace({type:"method",method:"publish",params:{topic:i,message:s,opts:n}});try{const a=n?.ttl||Ze,o=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.getRelayProtocolName)(n),h=n?.prompt||!1,d=n?.tag||0,l={topic:i,message:s,opts:{ttl:a,relay:o,prompt:h,tag:d}},g=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.hashMessage)(s);this.queue.set(g,l);try{await await (0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.createExpiringPromise)(this.rpcPublish(i,s,a,o,h,d),this.publishTimeout),this.relayer.events.emit(D.publish,l)}catch{this.logger.debug("Publishing Payload stalled"),this.relayer.events.emit(D.connection_stalled);return}this.onPublish(g,l),this.logger.debug("Successfully Published Payload"),this.logger.trace({type:"method",method:"publish",params:{topic:i,message:s,opts:n}})}catch(a){throw this.logger.debug("Failed to Publish Payload"),this.logger.error(a),a}},this.on=(i,s)=>{this.events.on(i,s)},this.once=(i,s)=>{this.events.once(i,s)},this.off=(i,s)=>{this.events.off(i,s)},this.removeListener=(i,s)=>{this.events.removeListener(i,s)},this.relayer=e,this.logger=(0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.generateChildLogger)(t,this.name),this.registerEventListeners()}get context(){return (0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.getLoggerContext)(this.logger)}rpcPublish(e,t,i,s,n,a){var o,h,d,l;const g={method:(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.getRelayProtocolApi)(s.protocol).publish,params:{topic:e,message:t,ttl:i,prompt:n,tag:a}};return (0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.isUndefined)((o=g.params)==null?void 0:o.prompt)&&((h=g.params)==null||delete h.prompt),(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.isUndefined)((d=g.params)==null?void 0:d.tag)&&((l=g.params)==null||delete l.tag),this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"message",direction:"outgoing",request:g}),this.relayer.request(g)}onPublish(e,t){this.queue.delete(e)}checkQueue(){this.queue.forEach(async e=>{const{topic:t,message:i,opts:s}=e;await this.publish(t,i,s)})}registerEventListeners(){this.relayer.core.heartbeat.on(_walletconnect_heartbeat__WEBPACK_IMPORTED_MODULE_2__.HEARTBEAT_EVENTS.pulse,()=>{this.checkQueue()})}}class nr{constructor(){this.map=new Map,this.set=(e,t)=>{const i=this.get(e);this.exists(e,t)||this.map.set(e,[...i,t])},this.get=e=>this.map.get(e)||[],this.exists=(e,t)=>this.get(e).includes(t),this.delete=(e,t)=>{if(typeof t>"u"){this.map.delete(e);return}if(!this.map.has(e))return;const i=this.get(e);if(!this.exists(e,t))return;const s=i.filter(n=>n!==t);if(!s.length){this.map.delete(e);return}this.map.set(e,s)},this.clear=()=>{this.map.clear()}}get topics(){return Array.from(this.map.keys())}}var ar=Object.defineProperty,or=Object.defineProperties,hr=Object.getOwnPropertyDescriptors,Et=Object.getOwnPropertySymbols,cr=Object.prototype.hasOwnProperty,ur=Object.prototype.propertyIsEnumerable,ft=(r,e,t)=>e in r?ar(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,M=(r,e)=>{for(var t in e||(e={}))cr.call(e,t)&&ft(r,t,e[t]);if(Et)for(var t of Et(e))ur.call(e,t)&&ft(r,t,e[t]);return r},de=(r,e)=>or(r,hr(e));class wt extends _walletconnect_types__WEBPACK_IMPORTED_MODULE_4__.ISubscriber{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,this.subscriptions=new Map,this.topicMap=new nr,this.events=new events__WEBPACK_IMPORTED_MODULE_0__.EventEmitter,this.name=ot,this.version=ht,this.pending=new Map,this.cached=[],this.initialized=!1,this.pendingSubscriptionWatchLabel="pending_sub_watch_label",this.pollingInterval=20,this.storagePrefix=P,this.subscribeTimeout=1e4,this.restartInProgress=!1,this.batchSubscribeTopicsLimit=500,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restart(),this.registerEventListeners(),this.onEnable(),this.clientId=await this.relayer.core.crypto.getClientId())},this.subscribe=async(i,s)=>{await this.restartToComplete(),this.isInitialized(),this.logger.debug("Subscribing Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:i,opts:s}});try{const n=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.getRelayProtocolName)(s),a={topic:i,relay:n};this.pending.set(i,a);const o=await this.rpcSubscribe(i,n);return this.onSubscribe(o,a),this.logger.debug("Successfully Subscribed Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:i,opts:s}}),o}catch(n){throw this.logger.debug("Failed to Subscribe Topic"),this.logger.error(n),n}},this.unsubscribe=async(i,s)=>{await this.restartToComplete(),this.isInitialized(),typeof s?.id<"u"?await this.unsubscribeById(i,s.id,s):await this.unsubscribeByTopic(i,s)},this.isSubscribed=async i=>this.topics.includes(i)?!0:await new Promise((s,n)=>{const a=new _walletconnect_time__WEBPACK_IMPORTED_MODULE_9__.Watch;a.start(this.pendingSubscriptionWatchLabel);const o=setInterval(()=>{!this.pending.has(i)&&this.topics.includes(i)&&(clearInterval(o),a.stop(this.pendingSubscriptionWatchLabel),s(!0)),a.elapsed(this.pendingSubscriptionWatchLabel)>=ct&&(clearInterval(o),a.stop(this.pendingSubscriptionWatchLabel),n(!1))},this.pollingInterval)}),this.on=(i,s)=>{this.events.on(i,s)},this.once=(i,s)=>{this.events.once(i,s)},this.off=(i,s)=>{this.events.off(i,s)},this.removeListener=(i,s)=>{this.events.removeListener(i,s)},this.restart=async()=>{this.restartInProgress=!0,await this.restore(),await this.reset(),this.restartInProgress=!1},this.relayer=e,this.logger=(0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.generateChildLogger)(t,this.name),this.clientId=""}get context(){return (0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.getLoggerContext)(this.logger)}get storageKey(){return this.storagePrefix+this.version+"//"+this.name}get length(){return this.subscriptions.size}get ids(){return Array.from(this.subscriptions.keys())}get values(){return Array.from(this.subscriptions.values())}get topics(){return this.topicMap.topics}hasSubscription(e,t){let i=!1;try{i=this.getSubscription(e).topic===t}catch{}return i}onEnable(){this.cached=[],this.initialized=!0}onDisable(){this.cached=this.values,this.subscriptions.clear(),this.topicMap.clear()}async unsubscribeByTopic(e,t){const i=this.topicMap.get(e);await Promise.all(i.map(async s=>await this.unsubscribeById(e,s,t)))}async unsubscribeById(e,t,i){this.logger.debug("Unsubscribing Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:t,opts:i}});try{const s=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.getRelayProtocolName)(i);await this.rpcUnsubscribe(e,t,s);const n=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.getSdkError)("USER_DISCONNECTED",`${this.name}, ${e}`);await this.onUnsubscribe(e,t,n),this.logger.debug("Successfully Unsubscribed Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:t,opts:i}})}catch(s){throw this.logger.debug("Failed to Unsubscribe Topic"),this.logger.error(s),s}}async rpcSubscribe(e,t){const i={method:(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.getRelayProtocolApi)(t.protocol).subscribe,params:{topic:e}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:i});try{await await (0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.createExpiringPromise)(this.relayer.request(i),this.subscribeTimeout)}catch{this.logger.debug("Outgoing Relay Subscribe Payload stalled"),this.relayer.events.emit(D.connection_stalled)}return (0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.hashMessage)(e+this.clientId)}async rpcBatchSubscribe(e){if(!e.length)return;const t=e[0].relay,i={method:(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.getRelayProtocolApi)(t.protocol).batchSubscribe,params:{topics:e.map(s=>s.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:i});try{return await await (0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.createExpiringPromise)(this.relayer.request(i),this.subscribeTimeout)}catch{this.logger.debug("Outgoing Relay Payload stalled"),this.relayer.events.emit(D.connection_stalled)}}rpcUnsubscribe(e,t,i){const s={method:(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.getRelayProtocolApi)(i.protocol).unsubscribe,params:{topic:e,id:t}};return this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:s}),this.relayer.request(s)}onSubscribe(e,t){this.setSubscription(e,de(M({},t),{id:e})),this.pending.delete(t.topic)}onBatchSubscribe(e){e.length&&e.forEach(t=>{this.setSubscription(t.id,M({},t)),this.pending.delete(t.topic)})}async onUnsubscribe(e,t,i){this.events.removeAllListeners(t),this.hasSubscription(t,e)&&this.deleteSubscription(t,i),await this.relayer.messages.del(e)}async setRelayerSubscriptions(e){await this.relayer.core.storage.setItem(this.storageKey,e)}async getRelayerSubscriptions(){return await this.relayer.core.storage.getItem(this.storageKey)}setSubscription(e,t){this.subscriptions.has(e)||(this.logger.debug("Setting subscription"),this.logger.trace({type:"method",method:"setSubscription",id:e,subscription:t}),this.addSubscription(e,t))}addSubscription(e,t){this.subscriptions.set(e,M({},t)),this.topicMap.set(t.topic,e),this.events.emit(I.created,t)}getSubscription(e){this.logger.debug("Getting subscription"),this.logger.trace({type:"method",method:"getSubscription",id:e});const t=this.subscriptions.get(e);if(!t){const{message:i}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.getInternalError)("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(i)}return t}deleteSubscription(e,t){this.logger.debug("Deleting subscription"),this.logger.trace({type:"method",method:"deleteSubscription",id:e,reason:t});const i=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(i.topic,e),this.events.emit(I.deleted,de(M({},i),{reason:t}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit(I.sync)}async reset(){if(this.cached.length){const e=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let t=0;t"u"||!e.length)return;if(this.subscriptions.size){const{message:t}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.getInternalError)("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),this.logger.error(`${this.name}: ${JSON.stringify(this.values)}`),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored subscriptions for ${this.name}`),this.logger.trace({type:"method",method:"restore",subscriptions:this.values})}catch(e){this.logger.debug(`Failed to Restore subscriptions for ${this.name}`),this.logger.error(e)}}async batchSubscribe(e){if(!e.length)return;const t=await this.rpcBatchSubscribe(e);(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.isValidArray)(t)&&this.onBatchSubscribe(t.map((i,s)=>de(M({},e[s]),{id:i})))}async onConnect(){this.restartInProgress||(await this.restart(),this.onEnable())}onDisconnect(){this.onDisable()}async checkPending(){if(this.relayer.transportExplicitlyClosed)return;const e=[];this.pending.forEach(t=>{e.push(t)}),await this.batchSubscribe(e)}registerEventListeners(){this.relayer.core.heartbeat.on(_walletconnect_heartbeat__WEBPACK_IMPORTED_MODULE_2__.HEARTBEAT_EVENTS.pulse,async()=>{await this.checkPending()}),this.relayer.on(D.connect,async()=>{await this.onConnect()}),this.relayer.on(D.disconnect,()=>{this.onDisconnect()}),this.events.on(I.created,async e=>{const t=I.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),await this.persist()}),this.events.on(I.deleted,async e=>{const t=I.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),await this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.getInternalError)("NOT_INITIALIZED",this.name);throw new Error(e)}}async restartToComplete(){this.restartInProgress&&await new Promise(e=>{const t=setInterval(()=>{this.restartInProgress||(clearInterval(t),e())},this.pollingInterval)})}}var lr=Object.defineProperty,vt=Object.getOwnPropertySymbols,dr=Object.prototype.hasOwnProperty,gr=Object.prototype.propertyIsEnumerable,It=(r,e,t)=>e in r?lr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,pr=(r,e)=>{for(var t in e||(e={}))dr.call(e,t)&&It(r,t,e[t]);if(vt)for(var t of vt(e))gr.call(e,t)&&It(r,t,e[t]);return r};class Ct extends _walletconnect_types__WEBPACK_IMPORTED_MODULE_4__.IRelayer{constructor(e){super(e),this.protocol="wc",this.version=2,this.events=new events__WEBPACK_IMPORTED_MODULE_0__.EventEmitter,this.name=it,this.transportExplicitlyClosed=!1,this.initialized=!1,this.reconnecting=!1,this.connectionStatusPollingInterval=20,this.staleConnectionErrors=["socket hang up","socket stalled"],this.request=async t=>{this.logger.debug("Publishing Request Payload");try{return await this.toEstablishConnection(),await this.provider.request(t)}catch(i){throw this.logger.debug("Failed to Publish Request"),this.logger.error(i),i}},this.core=e.core,this.logger=typeof e.logger<"u"&&typeof e.logger!="string"?(0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.generateChildLogger)(e.logger,this.name):(0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.pino)((0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.getDefaultLoggerOptions)({level:e.logger||tt})),this.messages=new mt(this.logger,e.core),this.subscriber=new wt(this,this.logger),this.publisher=new rr(this,this.logger),this.relayUrl=e?.relayUrl||ce,this.projectId=e.projectId,this.provider={}}async init(){this.logger.trace("Initialized"),await this.createProvider(),await Promise.all([this.messages.init(),this.transportOpen(),this.subscriber.init()]),this.registerEventListeners(),this.initialized=!0}get context(){return (0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.getLoggerContext)(this.logger)}get connected(){return this.provider.connection.connected}get connecting(){return this.provider.connection.connecting}async publish(e,t,i){this.isInitialized(),await this.publisher.publish(e,t,i),await this.recordMessageEvent({topic:e,message:t,publishedAt:Date.now()})}async subscribe(e,t){this.isInitialized();let i="";return await Promise.all([new Promise(s=>{this.subscriber.once(I.created,n=>{n.topic===e&&s()})}),new Promise(async s=>{i=await this.subscriber.subscribe(e,t),s()})]),i}async unsubscribe(e,t){this.isInitialized(),await this.subscriber.unsubscribe(e,t)}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async transportClose(){this.transportExplicitlyClosed=!0,this.connected&&(await this.provider.disconnect(),this.events.emit(D.transport_closed))}async transportOpen(e){if(this.transportExplicitlyClosed=!1,!this.reconnecting){this.relayUrl=e||this.relayUrl,this.reconnecting=!0;try{await Promise.all([new Promise(t=>{this.initialized||t(),this.subscriber.once(I.resubscribed,()=>{t()})}),await Promise.race([new Promise(async(t,i)=>{await (0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.createExpiringPromise)(this.provider.connect(),5e3,"socket stalled").catch(s=>i(s)).then(()=>t()).finally(()=>this.removeListener(D.transport_closed,this.rejectTransportOpen))}),new Promise(t=>this.once(D.transport_closed,this.rejectTransportOpen))])])}catch(t){this.logger.error(t);const i=t;if(!this.isConnectionStalled(i.message))throw t;this.events.emit(D.transport_closed)}finally{this.reconnecting=!1}}}async restartTransport(e){this.transportExplicitlyClosed||(this.relayUrl=e||this.relayUrl,await Promise.all([new Promise(t=>{this.provider.once(N.disconnect,()=>{t()})}),this.transportClose()]),await new Promise(t=>setTimeout(t,1e3)),await this.createProvider(),await this.transportOpen())}isConnectionStalled(e){return this.staleConnectionErrors.some(t=>e.includes(t))}rejectTransportOpen(){throw new Error("closeTransport called before connection was established")}async createProvider(){const e=await this.core.crypto.signJWT(this.relayUrl);this.provider=new _walletconnect_jsonrpc_provider__WEBPACK_IMPORTED_MODULE_10__.JsonRpcProvider(new _walletconnect_jsonrpc_ws_connection__WEBPACK_IMPORTED_MODULE_12__["default"]((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.formatRelayRpcUrl)({sdkVersion:nt,protocol:this.protocol,version:this.version,relayUrl:this.relayUrl,projectId:this.projectId,auth:e,useOnCloseEvent:!0}))),this.registerProviderListeners()}async recordMessageEvent(e){const{topic:t,message:i}=e;await this.messages.set(t,i)}async shouldIgnoreMessageEvent(e){const{topic:t,message:i}=e;return await this.subscriber.isSubscribed(t)?this.messages.has(t,i):!0}async onProviderPayload(e){if(this.logger.debug("Incoming Relay Payload"),this.logger.trace({type:"payload",direction:"incoming",payload:e}),(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_11__.isJsonRpcRequest)(e)){if(!e.method.endsWith(st))return;const t=e.params,{topic:i,message:s,publishedAt:n}=t.data,a={topic:i,message:s,publishedAt:n};this.logger.debug("Emitting Relayer Payload"),this.logger.trace(pr({type:"event",event:t.id},a)),this.events.emit(t.id,a),await this.acknowledgePayload(e),await this.onMessageEvent(a)}}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(this.events.emit(D.message,e),await this.recordMessageEvent(e))}async acknowledgePayload(e){const t=(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_11__.formatJsonRpcResult)(e.id,!0);await this.provider.connection.send(t)}registerProviderListeners(){this.provider.on(N.payload,e=>this.onProviderPayload(e)),this.provider.on(N.connect,()=>{this.events.emit(D.connect)}),this.provider.on(N.disconnect,()=>{this.onProviderDisconnect()}),this.provider.on(N.error,e=>{this.logger.error(e),this.events.emit(D.error,e)})}registerEventListeners(){this.events.on(D.connection_stalled,async()=>{await this.restartTransport()})}onProviderDisconnect(){this.events.emit(D.disconnect),this.attemptToReconnect()}attemptToReconnect(){this.transportExplicitlyClosed||setTimeout(async()=>{await this.restartTransport()},(0,_walletconnect_time__WEBPACK_IMPORTED_MODULE_9__.toMiliseconds)(rt))}isInitialized(){if(!this.initialized){const{message:e}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.getInternalError)("NOT_INITIALIZED",this.name);throw new Error(e)}}async toEstablishConnection(){if(!this.connected){if(this.connecting)return await new Promise(e=>{const t=setInterval(()=>{this.connected&&(clearInterval(t),e())},this.connectionStatusPollingInterval)});await this.restartTransport()}}}var Dr=Object.defineProperty,_t=Object.getOwnPropertySymbols,yr=Object.prototype.hasOwnProperty,br=Object.prototype.propertyIsEnumerable,Rt=(r,e,t)=>e in r?Dr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,St=(r,e)=>{for(var t in e||(e={}))yr.call(e,t)&&Rt(r,t,e[t]);if(_t)for(var t of _t(e))br.call(e,t)&&Rt(r,t,e[t]);return r};class Tt extends _walletconnect_types__WEBPACK_IMPORTED_MODULE_4__.IStore{constructor(e,t,i,s=P,n=void 0){super(e,t,i,s),this.core=e,this.logger=t,this.name=i,this.map=new Map,this.version=at,this.cached=[],this.initialized=!1,this.storagePrefix=P,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(a=>{this.getKey&&a!==null&&!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.isUndefined)(a)?this.map.set(this.getKey(a),a):(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.isProposalStruct)(a)?this.map.set(a.id,a):(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.isSessionStruct)(a)&&this.map.set(a.topic,a)}),this.cached=[],this.initialized=!0)},this.set=async(a,o)=>{this.isInitialized(),this.map.has(a)?await this.update(a,o):(this.logger.debug("Setting value"),this.logger.trace({type:"method",method:"set",key:a,value:o}),this.map.set(a,o),await this.persist())},this.get=a=>(this.isInitialized(),this.logger.debug("Getting value"),this.logger.trace({type:"method",method:"get",key:a}),this.getData(a)),this.getAll=a=>(this.isInitialized(),a?this.values.filter(o=>Object.keys(a).every(h=>lodash_isequal__WEBPACK_IMPORTED_MODULE_13___default()(o[h],a[h]))):this.values),this.update=async(a,o)=>{this.isInitialized(),this.logger.debug("Updating value"),this.logger.trace({type:"method",method:"update",key:a,update:o});const h=St(St({},this.getData(a)),o);this.map.set(a,h),await this.persist()},this.delete=async(a,o)=>{this.isInitialized(),this.map.has(a)&&(this.logger.debug("Deleting value"),this.logger.trace({type:"method",method:"delete",key:a,reason:o}),this.map.delete(a),await this.persist())},this.logger=(0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.generateChildLogger)(t,this.name),this.storagePrefix=s,this.getKey=n}get context(){return (0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.getLoggerContext)(this.logger)}get storageKey(){return this.storagePrefix+this.version+"//"+this.name}get length(){return this.map.size}get keys(){return Array.from(this.map.keys())}get values(){return Array.from(this.map.values())}async setDataStore(e){await this.core.storage.setItem(this.storageKey,e)}async getDataStore(){return await this.core.storage.getItem(this.storageKey)}getData(e){const t=this.map.get(e);if(!t){const{message:i}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.getInternalError)("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.error(i),new Error(i)}return t}async persist(){await this.setDataStore(this.values)}async restore(){try{const e=await this.getDataStore();if(typeof e>"u"||!e.length)return;if(this.map.size){const{message:t}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.getInternalError)("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored value for ${this.name}`),this.logger.trace({type:"method",method:"restore",value:this.values})}catch(e){this.logger.debug(`Failed to Restore value for ${this.name}`),this.logger.error(e)}}isInitialized(){if(!this.initialized){const{message:e}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.getInternalError)("NOT_INITIALIZED",this.name);throw new Error(e)}}}class Pt{constructor(e,t){this.core=e,this.logger=t,this.name=ut,this.version=lt,this.events=new (events__WEBPACK_IMPORTED_MODULE_0___default()),this.initialized=!1,this.storagePrefix=P,this.ignoredPayloadTypes=[_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.TYPE_1],this.registeredMethods=[],this.init=async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace("Initialized"))},this.register=({methods:i})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...i])]},this.create=async()=>{this.isInitialized();const i=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.generateRandomBytes32)(),s=await this.core.crypto.setSymKey(i),n=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.calcExpiry)(_walletconnect_time__WEBPACK_IMPORTED_MODULE_9__.FIVE_MINUTES),a={protocol:et},o={topic:s,expiry:n,relay:a,active:!1},h=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.formatUri)({protocol:this.core.protocol,version:this.core.version,topic:s,symKey:i,relay:a});return await this.pairings.set(s,o),await this.core.relayer.subscribe(s),this.core.expirer.set(s,n),{topic:s,uri:h}},this.pair=async i=>{this.isInitialized(),this.isValidPair(i);const{topic:s,symKey:n,relay:a}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.parseUri)(i.uri);if(this.pairings.keys.includes(s))throw new Error(`Pairing already exists: ${s}`);if(this.core.crypto.hasKeys(s))throw new Error(`Keychain already exists: ${s}`);const o=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.calcExpiry)(_walletconnect_time__WEBPACK_IMPORTED_MODULE_9__.FIVE_MINUTES),h={topic:s,relay:a,expiry:o,active:!1};return await this.pairings.set(s,h),await this.core.crypto.setSymKey(n,s),await this.core.relayer.subscribe(s,{relay:a}),this.core.expirer.set(s,o),i.activatePairing&&await this.activate({topic:s}),h},this.activate=async({topic:i})=>{this.isInitialized();const s=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.calcExpiry)(_walletconnect_time__WEBPACK_IMPORTED_MODULE_9__.THIRTY_DAYS);await this.pairings.update(i,{active:!0,expiry:s}),this.core.expirer.set(i,s)},this.ping=async i=>{this.isInitialized(),await this.isValidPing(i);const{topic:s}=i;if(this.pairings.keys.includes(s)){const n=await this.sendRequest(s,"wc_pairingPing",{}),{done:a,resolve:o,reject:h}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.createDelayedPromise)();this.events.once((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.engineEvent)("pairing_ping",n),({error:d})=>{d?h(d):o()}),await a()}},this.updateExpiry=async({topic:i,expiry:s})=>{this.isInitialized(),await this.pairings.update(i,{expiry:s})},this.updateMetadata=async({topic:i,metadata:s})=>{this.isInitialized(),await this.pairings.update(i,{peerMetadata:s})},this.getPairings=()=>(this.isInitialized(),this.pairings.values),this.disconnect=async i=>{this.isInitialized(),await this.isValidDisconnect(i);const{topic:s}=i;this.pairings.keys.includes(s)&&(await this.sendRequest(s,"wc_pairingDelete",(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.getSdkError)("USER_DISCONNECTED")),await this.deletePairing(s))},this.sendRequest=async(i,s,n)=>{const a=(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_11__.formatJsonRpcRequest)(s,n),o=await this.core.crypto.encode(i,a),h=U[s].req;return this.core.history.set(i,a),await this.core.relayer.publish(i,o,h),a.id},this.sendResult=async(i,s,n)=>{const a=(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_11__.formatJsonRpcResult)(i,n),o=await this.core.crypto.encode(s,a),h=await this.core.history.get(s,i),d=U[h.request.method].res;await this.core.relayer.publish(s,o,d),await this.core.history.resolve(a)},this.sendError=async(i,s,n)=>{const a=(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_11__.formatJsonRpcError)(i,n),o=await this.core.crypto.encode(s,a),h=await this.core.history.get(s,i),d=U[h.request.method]?U[h.request.method].res:U.unregistered_method.res;await this.core.relayer.publish(s,o,d),await this.core.history.resolve(a)},this.deletePairing=async(i,s)=>{await this.core.relayer.unsubscribe(i),await Promise.all([this.pairings.delete(i,(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.getSdkError)("USER_DISCONNECTED")),this.core.crypto.deleteSymKey(i),s?Promise.resolve():this.core.expirer.del(i)])},this.cleanup=async()=>{const i=this.pairings.getAll().filter(s=>(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.isExpired)(s.expiry));await Promise.all(i.map(s=>this.deletePairing(s.topic)))},this.onRelayEventRequest=i=>{const{topic:s,payload:n}=i,a=n.method;if(this.pairings.keys.includes(s))switch(a){case"wc_pairingPing":return this.onPairingPingRequest(s,n);case"wc_pairingDelete":return this.onPairingDeleteRequest(s,n);default:return this.onUnknownRpcMethodRequest(s,n)}},this.onRelayEventResponse=async i=>{const{topic:s,payload:n}=i,a=(await this.core.history.get(s,n.id)).request.method;if(this.pairings.keys.includes(s))switch(a){case"wc_pairingPing":return this.onPairingPingResponse(s,n);default:return this.onUnknownRpcMethodResponse(a)}},this.onPairingPingRequest=async(i,s)=>{const{id:n}=s;try{this.isValidPing({topic:i}),await this.sendResult(n,i,!0),this.events.emit("pairing_ping",{id:n,topic:i})}catch(a){await this.sendError(n,i,a),this.logger.error(a)}},this.onPairingPingResponse=(i,s)=>{const{id:n}=s;setTimeout(()=>{(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_11__.isJsonRpcResult)(s)?this.events.emit((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.engineEvent)("pairing_ping",n),{}):(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_11__.isJsonRpcError)(s)&&this.events.emit((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.engineEvent)("pairing_ping",n),{error:s.error})},500)},this.onPairingDeleteRequest=async(i,s)=>{const{id:n}=s;try{this.isValidDisconnect({topic:i}),await this.deletePairing(i),this.events.emit("pairing_delete",{id:n,topic:i})}catch(a){await this.sendError(n,i,a),this.logger.error(a)}},this.onUnknownRpcMethodRequest=async(i,s)=>{const{id:n,method:a}=s;try{if(this.registeredMethods.includes(a))return;const o=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.getSdkError)("WC_METHOD_UNSUPPORTED",a);await this.sendError(n,i,o),this.logger.error(o)}catch(o){await this.sendError(n,i,o),this.logger.error(o)}},this.onUnknownRpcMethodResponse=i=>{this.registeredMethods.includes(i)||this.logger.error((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.getSdkError)("WC_METHOD_UNSUPPORTED",i))},this.isValidPair=i=>{if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.isValidParams)(i)){const{message:s}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.getInternalError)("MISSING_OR_INVALID",`pair() params: ${i}`);throw new Error(s)}if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.isValidUrl)(i.uri)){const{message:s}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.getInternalError)("MISSING_OR_INVALID",`pair() uri: ${i.uri}`);throw new Error(s)}},this.isValidPing=async i=>{if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.isValidParams)(i)){const{message:n}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.getInternalError)("MISSING_OR_INVALID",`ping() params: ${i}`);throw new Error(n)}const{topic:s}=i;await this.isValidPairingTopic(s)},this.isValidDisconnect=async i=>{if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.isValidParams)(i)){const{message:n}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.getInternalError)("MISSING_OR_INVALID",`disconnect() params: ${i}`);throw new Error(n)}const{topic:s}=i;await this.isValidPairingTopic(s)},this.isValidPairingTopic=async i=>{if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.isValidString)(i,!1)){const{message:s}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.getInternalError)("MISSING_OR_INVALID",`pairing topic should be a string: ${i}`);throw new Error(s)}if(!this.pairings.keys.includes(i)){const{message:s}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.getInternalError)("NO_MATCHING_KEY",`pairing topic doesn\'t exist: ${i}`);throw new Error(s)}if((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.isExpired)(this.pairings.get(i).expiry)){await this.deletePairing(i);const{message:s}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.getInternalError)("EXPIRED",`pairing topic: ${i}`);throw new Error(s)}},this.core=e,this.logger=(0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.generateChildLogger)(t,this.name),this.pairings=new Tt(this.core,this.logger,this.name,this.storagePrefix)}get context(){return (0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.getLoggerContext)(this.logger)}isInitialized(){if(!this.initialized){const{message:e}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.getInternalError)("NOT_INITIALIZED",this.name);throw new Error(e)}}registerRelayerEvents(){this.core.relayer.on(D.message,async e=>{const{topic:t,message:i}=e;if(this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(i)))return;const s=await this.core.crypto.decode(t,i);(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_11__.isJsonRpcRequest)(s)?(this.core.history.set(t,s),this.onRelayEventRequest({topic:t,payload:s})):(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_11__.isJsonRpcResponse)(s)&&(await this.core.history.resolve(s),this.onRelayEventResponse({topic:t,payload:s}))})}registerExpirerEvents(){this.core.expirer.on(f.expired,async e=>{const{topic:t}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.parseExpirerTarget)(e.target);t&&this.pairings.keys.includes(t)&&(await this.deletePairing(t,!0),this.events.emit("pairing_expire",{topic:t}))})}}class xt extends _walletconnect_types__WEBPACK_IMPORTED_MODULE_4__.IJsonRpcHistory{constructor(e,t){super(e,t),this.core=e,this.logger=t,this.records=new Map,this.events=new events__WEBPACK_IMPORTED_MODULE_0__.EventEmitter,this.name=dt,this.version=gt,this.cached=[],this.initialized=!1,this.storagePrefix=P,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(i=>this.records.set(i.id,i)),this.cached=[],this.registerEventListeners(),this.initialized=!0)},this.set=(i,s,n)=>{if(this.isInitialized(),this.logger.debug("Setting JSON-RPC request history record"),this.logger.trace({type:"method",method:"set",topic:i,request:s,chainId:n}),this.records.has(s.id))return;const a={id:s.id,topic:i,request:{method:s.method,params:s.params||null},chainId:n};this.records.set(a.id,a),this.events.emit(C.created,a)},this.resolve=async i=>{if(this.isInitialized(),this.logger.debug("Updating JSON-RPC response history record"),this.logger.trace({type:"method",method:"update",response:i}),!this.records.has(i.id))return;const s=await this.getRecord(i.id);typeof s.response>"u"&&(s.response=(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_11__.isJsonRpcError)(i)?{error:i.error}:{result:i.result},this.records.set(s.id,s),this.events.emit(C.updated,s))},this.get=async(i,s)=>(this.isInitialized(),this.logger.debug("Getting record"),this.logger.trace({type:"method",method:"get",topic:i,id:s}),await this.getRecord(s)),this.delete=(i,s)=>{this.isInitialized(),this.logger.debug("Deleting record"),this.logger.trace({type:"method",method:"delete",id:s}),this.values.forEach(n=>{if(n.topic===i){if(typeof s<"u"&&n.id!==s)return;this.records.delete(n.id),this.events.emit(C.deleted,n)}})},this.exists=async(i,s)=>(this.isInitialized(),this.records.has(s)?(await this.getRecord(s)).topic===i:!1),this.on=(i,s)=>{this.events.on(i,s)},this.once=(i,s)=>{this.events.once(i,s)},this.off=(i,s)=>{this.events.off(i,s)},this.removeListener=(i,s)=>{this.events.removeListener(i,s)},this.logger=(0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.generateChildLogger)(t,this.name)}get context(){return (0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.getLoggerContext)(this.logger)}get storageKey(){return this.storagePrefix+this.version+"//"+this.name}get size(){return this.records.size}get keys(){return Array.from(this.records.keys())}get values(){return Array.from(this.records.values())}get pending(){const e=[];return this.values.forEach(t=>{if(typeof t.response<"u")return;const i={topic:t.topic,request:(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_11__.formatJsonRpcRequest)(t.request.method,t.request.params,t.id),chainId:t.chainId};return e.push(i)}),e}async setJsonRpcRecords(e){await this.core.storage.setItem(this.storageKey,e)}async getJsonRpcRecords(){return await this.core.storage.getItem(this.storageKey)}getRecord(e){this.isInitialized();const t=this.records.get(e);if(!t){const{message:i}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.getInternalError)("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(i)}return t}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(C.sync)}async restore(){try{const e=await this.getJsonRpcRecords();if(typeof e>"u"||!e.length)return;if(this.records.size){const{message:t}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.getInternalError)("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",records:this.values})}catch(e){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(e)}}registerEventListeners(){this.events.on(C.created,e=>{const t=C.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e}),this.persist()}),this.events.on(C.updated,e=>{const t=C.updated;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e}),this.persist()}),this.events.on(C.deleted,e=>{const t=C.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e}),this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.getInternalError)("NOT_INITIALIZED",this.name);throw new Error(e)}}}class Ot extends _walletconnect_types__WEBPACK_IMPORTED_MODULE_4__.IExpirer{constructor(e,t){super(e,t),this.core=e,this.logger=t,this.expirations=new Map,this.events=new events__WEBPACK_IMPORTED_MODULE_0__.EventEmitter,this.name=pt,this.version=Dt,this.cached=[],this.initialized=!1,this.storagePrefix=P,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(i=>this.expirations.set(i.target,i)),this.cached=[],this.registerEventListeners(),this.initialized=!0)},this.has=i=>{try{const s=this.formatTarget(i);return typeof this.getExpiration(s)<"u"}catch{return!1}},this.set=(i,s)=>{this.isInitialized();const n=this.formatTarget(i),a={target:n,expiry:s};this.expirations.set(n,a),this.checkExpiry(n,a),this.events.emit(f.created,{target:n,expiration:a})},this.get=i=>{this.isInitialized();const s=this.formatTarget(i);return this.getExpiration(s)},this.del=i=>{if(this.isInitialized(),this.has(i)){const s=this.formatTarget(i),n=this.getExpiration(s);this.expirations.delete(s),this.events.emit(f.deleted,{target:s,expiration:n})}},this.on=(i,s)=>{this.events.on(i,s)},this.once=(i,s)=>{this.events.once(i,s)},this.off=(i,s)=>{this.events.off(i,s)},this.removeListener=(i,s)=>{this.events.removeListener(i,s)},this.logger=(0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.generateChildLogger)(t,this.name)}get context(){return (0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.getLoggerContext)(this.logger)}get storageKey(){return this.storagePrefix+this.version+"//"+this.name}get length(){return this.expirations.size}get keys(){return Array.from(this.expirations.keys())}get values(){return Array.from(this.expirations.values())}formatTarget(e){if(typeof e=="string")return (0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.formatTopicTarget)(e);if(typeof e=="number")return (0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.formatIdTarget)(e);const{message:t}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.getInternalError)("UNKNOWN_TYPE",`Target type: ${typeof e}`);throw new Error(t)}async setExpirations(e){await this.core.storage.setItem(this.storageKey,e)}async getExpirations(){return await this.core.storage.getItem(this.storageKey)}async persist(){await this.setExpirations(this.values),this.events.emit(f.sync)}async restore(){try{const e=await this.getExpirations();if(typeof e>"u"||!e.length)return;if(this.expirations.size){const{message:t}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.getInternalError)("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored expirations for ${this.name}`),this.logger.trace({type:"method",method:"restore",expirations:this.values})}catch(e){this.logger.debug(`Failed to Restore expirations for ${this.name}`),this.logger.error(e)}}getExpiration(e){const t=this.expirations.get(e);if(!t){const{message:i}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.getInternalError)("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.error(i),new Error(i)}return t}checkExpiry(e,t){const{expiry:i}=t;(0,_walletconnect_time__WEBPACK_IMPORTED_MODULE_9__.toMiliseconds)(i)-Date.now()<=0&&this.expire(e,t)}expire(e,t){this.expirations.delete(e),this.events.emit(f.expired,{target:e,expiration:t})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,t)=>this.checkExpiry(t,e))}registerEventListeners(){this.core.heartbeat.on(_walletconnect_heartbeat__WEBPACK_IMPORTED_MODULE_2__.HEARTBEAT_EVENTS.pulse,()=>this.checkExpirations()),this.events.on(f.created,e=>{const t=f.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(f.expired,e=>{const t=f.expired;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(f.deleted,e=>{const t=f.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.getInternalError)("NOT_INITIALIZED",this.name);throw new Error(e)}}}class At extends _walletconnect_types__WEBPACK_IMPORTED_MODULE_4__.IVerify{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,this.name=ue,this.initialized=!1,this.init=async i=>{!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.isBrowser)()||!document||(this.verifyUrl=i?.verifyUrl||le,await this.createIframe())},this.register=async i=>{var s;this.initialized||await this.init(),this.iframe&&((s=this.iframe.contentWindow)==null||s.postMessage(i.attestationId,this.verifyUrl),this.logger.info(`postMessage sent: ${i.attestationId} ${this.verifyUrl}`))},this.resolve=async i=>{var s;if(this.isDevEnv)return"";this.logger.info(`resolving attestation: ${i.attestationId}`);const n=this.startAbortTimer(_walletconnect_time__WEBPACK_IMPORTED_MODULE_9__.FIVE_SECONDS),a=await fetch(`${this.verifyUrl}/attestation/${i.attestationId}`,{signal:this.abortController.signal});return clearTimeout(n),((s=await a.json())==null?void 0:s.origin)||""},this.createIframe=async()=>{try{const i=this.startAbortTimer(_walletconnect_time__WEBPACK_IMPORTED_MODULE_9__.FIVE_SECONDS);await Promise.race([new Promise((s,n)=>{const a=document.createElement("iframe");a.setAttribute("id",ue),a.setAttribute("src",`${this.verifyUrl}/${this.projectId}`),a.style.display="none",a.addEventListener("load",()=>{this.initialized=!0,clearTimeout(i),s()}),a.addEventListener("error",o=>{n(o)}),document.body.append(a),this.iframe=a}),new Promise(s=>{this.abortController.signal.addEventListener("abort",()=>{s("iframe load timeout")})})])}catch(i){this.logger.error(`Verify iframe failed to load: ${this.verifyUrl}`),this.logger.error(i)}},this.logger=(0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.generateChildLogger)(t,this.name),this.verifyUrl=le,this.abortController=new AbortController,this.isDevEnv=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.isNode)()&&process.env.IS_VITEST}get context(){return (0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.getLoggerContext)(this.logger)}startAbortTimer(e){return setTimeout(()=>this.abortController.abort(),(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_7__.calcExpiry)(e))}}var mr=Object.defineProperty,zt=Object.getOwnPropertySymbols,Er=Object.prototype.hasOwnProperty,fr=Object.prototype.propertyIsEnumerable,Nt=(r,e,t)=>e in r?mr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ut=(r,e)=>{for(var t in e||(e={}))Er.call(e,t)&&Nt(r,t,e[t]);if(zt)for(var t of zt(e))fr.call(e,t)&&Nt(r,t,e[t]);return r};class J extends _walletconnect_types__WEBPACK_IMPORTED_MODULE_4__.ICore{constructor(e){super(e),this.protocol=oe,this.version=je,this.name=Y,this.events=new events__WEBPACK_IMPORTED_MODULE_0__.EventEmitter,this.initialized=!1,this.on=(i,s)=>this.events.on(i,s),this.once=(i,s)=>this.events.once(i,s),this.off=(i,s)=>this.events.off(i,s),this.removeListener=(i,s)=>this.events.removeListener(i,s),this.projectId=e?.projectId,this.relayUrl=e?.relayUrl||ce;const t=typeof e?.logger<"u"&&typeof e?.logger!="string"?e.logger:(0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.pino)((0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.getDefaultLoggerOptions)({level:e?.logger||Ve.logger}));this.logger=(0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.generateChildLogger)(t,this.name),this.heartbeat=new _walletconnect_heartbeat__WEBPACK_IMPORTED_MODULE_2__.HeartBeat,this.crypto=new bt(this,this.logger,e?.keychain),this.history=new xt(this,this.logger),this.expirer=new Ot(this,this.logger),this.storage=e!=null&&e.storage?e.storage:new _walletconnect_keyvaluestorage__WEBPACK_IMPORTED_MODULE_1__["default"](Ut(Ut({},qe),e?.storageOptions)),this.relayer=new Ct({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new Pt(this,this.logger),this.verify=new At(this.projectId||"",this.logger)}static async init(e){const t=new J(e);return await t.initialize(),t}get context(){return (0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_3__.getLoggerContext)(this.logger)}async start(){this.initialized||await this.initialize()}async initialize(){this.logger.trace("Initialized");try{await this.crypto.init(),await this.history.init(),await this.expirer.init(),await this.relayer.init(),await this.heartbeat.init(),await this.pairing.init(),this.initialized=!0,this.logger.info("Core Initialization Success")}catch(e){throw this.logger.warn(`Core Initialization Failure at epoch ${Date.now()}`,e),this.logger.error(e.message),e}}}const wr=J;\n//# sourceMappingURL=index.es.js.map\n\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/core/dist/index.es.js?')},"./node_modules/@walletconnect/environment/dist/cjs/crypto.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.isBrowserCryptoAvailable = exports.getSubtleCrypto = exports.getBrowerCrypto = void 0;\nfunction getBrowerCrypto() {\n return (__webpack_require__.g === null || __webpack_require__.g === void 0 ? void 0 : __webpack_require__.g.crypto) || (__webpack_require__.g === null || __webpack_require__.g === void 0 ? void 0 : __webpack_require__.g.msCrypto) || {};\n}\nexports.getBrowerCrypto = getBrowerCrypto;\nfunction getSubtleCrypto() {\n const browserCrypto = getBrowerCrypto();\n return browserCrypto.subtle || browserCrypto.webkitSubtle;\n}\nexports.getSubtleCrypto = getSubtleCrypto;\nfunction isBrowserCryptoAvailable() {\n return !!getBrowerCrypto() && !!getSubtleCrypto();\n}\nexports.isBrowserCryptoAvailable = isBrowserCryptoAvailable;\n//# sourceMappingURL=crypto.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/environment/dist/cjs/crypto.js?')},"./node_modules/@walletconnect/environment/dist/cjs/env.js":(__unused_webpack_module,exports)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.isBrowser = exports.isNode = exports.isReactNative = void 0;\nfunction isReactNative() {\n return (typeof document === "undefined" &&\n typeof navigator !== "undefined" &&\n navigator.product === "ReactNative");\n}\nexports.isReactNative = isReactNative;\nfunction isNode() {\n return (typeof process !== "undefined" &&\n typeof process.versions !== "undefined" &&\n typeof process.versions.node !== "undefined");\n}\nexports.isNode = isNode;\nfunction isBrowser() {\n return !isReactNative() && !isNode();\n}\nexports.isBrowser = isBrowser;\n//# sourceMappingURL=env.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/environment/dist/cjs/env.js?')},"./node_modules/@walletconnect/environment/dist/cjs/index.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nconst tslib_1 = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");\ntslib_1.__exportStar(__webpack_require__(/*! ./crypto */ "./node_modules/@walletconnect/environment/dist/cjs/crypto.js"), exports);\ntslib_1.__exportStar(__webpack_require__(/*! ./env */ "./node_modules/@walletconnect/environment/dist/cjs/env.js"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/environment/dist/cjs/index.js?')},"./node_modules/@walletconnect/events/dist/esm/events.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ IEvents: () => (/* binding */ IEvents)\n/* harmony export */ });\nclass IEvents {\n}\n//# sourceMappingURL=events.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/events/dist/esm/events.js?")},"./node_modules/@walletconnect/events/dist/esm/index.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ IEvents: () => (/* reexport safe */ _events__WEBPACK_IMPORTED_MODULE_0__.IEvents)\n/* harmony export */ });\n/* harmony import */ var _events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./events */ "./node_modules/@walletconnect/events/dist/esm/events.js");\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/events/dist/esm/index.js?')},"./node_modules/@walletconnect/heartbeat/dist/cjs/constants/heartbeat.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.HEARTBEAT_EVENTS = exports.HEARTBEAT_INTERVAL = void 0;\nconst time_1 = __webpack_require__(/*! @walletconnect/time */ "./node_modules/@walletconnect/time/dist/cjs/index.js");\nexports.HEARTBEAT_INTERVAL = time_1.FIVE_SECONDS;\nexports.HEARTBEAT_EVENTS = {\n pulse: "heartbeat_pulse",\n};\n//# sourceMappingURL=heartbeat.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/heartbeat/dist/cjs/constants/heartbeat.js?')},"./node_modules/@walletconnect/heartbeat/dist/cjs/constants/index.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nconst tslib_1 = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");\ntslib_1.__exportStar(__webpack_require__(/*! ./heartbeat */ "./node_modules/@walletconnect/heartbeat/dist/cjs/constants/heartbeat.js"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/heartbeat/dist/cjs/constants/index.js?')},"./node_modules/@walletconnect/heartbeat/dist/cjs/heartbeat.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.HeartBeat = void 0;\nconst tslib_1 = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");\nconst events_1 = __webpack_require__(/*! events */ "./node_modules/events/events.js");\nconst time_1 = __webpack_require__(/*! @walletconnect/time */ "./node_modules/@walletconnect/time/dist/cjs/index.js");\nconst types_1 = __webpack_require__(/*! ./types */ "./node_modules/@walletconnect/heartbeat/dist/cjs/types/index.js");\nconst constants_1 = __webpack_require__(/*! ./constants */ "./node_modules/@walletconnect/heartbeat/dist/cjs/constants/index.js");\nclass HeartBeat extends types_1.IHeartBeat {\n constructor(opts) {\n super(opts);\n this.events = new events_1.EventEmitter();\n this.interval = constants_1.HEARTBEAT_INTERVAL;\n this.interval = (opts === null || opts === void 0 ? void 0 : opts.interval) || constants_1.HEARTBEAT_INTERVAL;\n }\n static init(opts) {\n return tslib_1.__awaiter(this, void 0, void 0, function* () {\n const heartbeat = new HeartBeat(opts);\n yield heartbeat.init();\n return heartbeat;\n });\n }\n init() {\n return tslib_1.__awaiter(this, void 0, void 0, function* () {\n yield this.initialize();\n });\n }\n stop() {\n clearInterval(this.intervalRef);\n }\n on(event, listener) {\n this.events.on(event, listener);\n }\n once(event, listener) {\n this.events.once(event, listener);\n }\n off(event, listener) {\n this.events.off(event, listener);\n }\n removeListener(event, listener) {\n this.events.removeListener(event, listener);\n }\n initialize() {\n return tslib_1.__awaiter(this, void 0, void 0, function* () {\n this.intervalRef = setInterval(() => this.pulse(), time_1.toMiliseconds(this.interval));\n });\n }\n pulse() {\n this.events.emit(constants_1.HEARTBEAT_EVENTS.pulse);\n }\n}\nexports.HeartBeat = HeartBeat;\n//# sourceMappingURL=heartbeat.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/heartbeat/dist/cjs/heartbeat.js?')},"./node_modules/@walletconnect/heartbeat/dist/cjs/index.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nconst tslib_1 = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");\ntslib_1.__exportStar(__webpack_require__(/*! ./heartbeat */ "./node_modules/@walletconnect/heartbeat/dist/cjs/heartbeat.js"), exports);\ntslib_1.__exportStar(__webpack_require__(/*! ./types */ "./node_modules/@walletconnect/heartbeat/dist/cjs/types/index.js"), exports);\ntslib_1.__exportStar(__webpack_require__(/*! ./constants */ "./node_modules/@walletconnect/heartbeat/dist/cjs/constants/index.js"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/heartbeat/dist/cjs/index.js?')},"./node_modules/@walletconnect/heartbeat/dist/cjs/types/heartbeat.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.IHeartBeat = void 0;\nconst events_1 = __webpack_require__(/*! @walletconnect/events */ "./node_modules/@walletconnect/events/dist/esm/index.js");\nclass IHeartBeat extends events_1.IEvents {\n constructor(opts) {\n super();\n }\n}\nexports.IHeartBeat = IHeartBeat;\n//# sourceMappingURL=heartbeat.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/heartbeat/dist/cjs/types/heartbeat.js?')},"./node_modules/@walletconnect/heartbeat/dist/cjs/types/index.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nconst tslib_1 = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");\ntslib_1.__exportStar(__webpack_require__(/*! ./heartbeat */ "./node_modules/@walletconnect/heartbeat/dist/cjs/types/heartbeat.js"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/heartbeat/dist/cjs/types/index.js?')},"./node_modules/@walletconnect/jsonrpc-provider/dist/esm/index.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ JsonRpcProvider: () => (/* reexport safe */ _provider__WEBPACK_IMPORTED_MODULE_0__.JsonRpcProvider),\n/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _provider__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./provider */ "./node_modules/@walletconnect/jsonrpc-provider/dist/esm/provider.js");\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_provider__WEBPACK_IMPORTED_MODULE_0__["default"]);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/jsonrpc-provider/dist/esm/index.js?')},"./node_modules/@walletconnect/jsonrpc-provider/dist/esm/provider.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ JsonRpcProvider: () => (/* binding */ JsonRpcProvider),\n/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! events */ "./node_modules/events/events.js");\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @walletconnect/jsonrpc-utils */ "./node_modules/@walletconnect/jsonrpc-utils/dist/esm/index.js");\n\n\nclass JsonRpcProvider extends _walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_1__.IJsonRpcProvider {\n constructor(connection) {\n super(connection);\n this.events = new events__WEBPACK_IMPORTED_MODULE_0__.EventEmitter();\n this.hasRegisteredEventListeners = false;\n this.connection = this.setConnection(connection);\n if (this.connection.connected) {\n this.registerEventListeners();\n }\n }\n async connect(connection = this.connection) {\n await this.open(connection);\n }\n async disconnect() {\n await this.close();\n }\n on(event, listener) {\n this.events.on(event, listener);\n }\n once(event, listener) {\n this.events.once(event, listener);\n }\n off(event, listener) {\n this.events.off(event, listener);\n }\n removeListener(event, listener) {\n this.events.removeListener(event, listener);\n }\n async request(request, context) {\n return this.requestStrict((0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_1__.formatJsonRpcRequest)(request.method, request.params || [], request.id || (0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_1__.getBigIntRpcId)().toString()), context);\n }\n async requestStrict(request, context) {\n return new Promise(async (resolve, reject) => {\n if (!this.connection.connected) {\n try {\n await this.open();\n }\n catch (e) {\n reject(e);\n }\n }\n this.events.on(`${request.id}`, response => {\n if ((0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_1__.isJsonRpcError)(response)) {\n reject(response.error);\n }\n else {\n resolve(response.result);\n }\n });\n try {\n await this.connection.send(request, context);\n }\n catch (e) {\n reject(e);\n }\n });\n }\n setConnection(connection = this.connection) {\n return connection;\n }\n onPayload(payload) {\n this.events.emit("payload", payload);\n if ((0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_1__.isJsonRpcResponse)(payload)) {\n this.events.emit(`${payload.id}`, payload);\n }\n else {\n this.events.emit("message", {\n type: payload.method,\n data: payload.params,\n });\n }\n }\n onClose(event) {\n if (event && event.code === 3000) {\n this.events.emit("error", new Error(`WebSocket connection closed abnormally with code: ${event.code} ${event.reason ? `(${event.reason})` : ""}`));\n }\n this.events.emit("disconnect");\n }\n async open(connection = this.connection) {\n if (this.connection === connection && this.connection.connected)\n return;\n if (this.connection.connected)\n this.close();\n if (typeof connection === "string") {\n await this.connection.open(connection);\n connection = this.connection;\n }\n this.connection = this.setConnection(connection);\n await this.connection.open();\n this.registerEventListeners();\n this.events.emit("connect");\n }\n async close() {\n await this.connection.close();\n }\n registerEventListeners() {\n if (this.hasRegisteredEventListeners)\n return;\n this.connection.on("payload", (payload) => this.onPayload(payload));\n this.connection.on("close", (event) => this.onClose(event));\n this.connection.on("error", (error) => this.events.emit("error", error));\n this.connection.on("register_error", (error) => this.onClose());\n this.hasRegisteredEventListeners = true;\n }\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (JsonRpcProvider);\n//# sourceMappingURL=provider.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/jsonrpc-provider/dist/esm/provider.js?')},"./node_modules/@walletconnect/jsonrpc-types/dist/esm/index.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ IBaseJsonRpcProvider: () => (/* reexport safe */ _provider__WEBPACK_IMPORTED_MODULE_2__.IBaseJsonRpcProvider),\n/* harmony export */ IEvents: () => (/* reexport safe */ _misc__WEBPACK_IMPORTED_MODULE_1__.IEvents),\n/* harmony export */ IJsonRpcConnection: () => (/* reexport safe */ _provider__WEBPACK_IMPORTED_MODULE_2__.IJsonRpcConnection),\n/* harmony export */ IJsonRpcProvider: () => (/* reexport safe */ _provider__WEBPACK_IMPORTED_MODULE_2__.IJsonRpcProvider)\n/* harmony export */ });\n/* harmony import */ var _jsonrpc__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./jsonrpc */ "./node_modules/@walletconnect/jsonrpc-types/dist/esm/jsonrpc.js");\n/* harmony import */ var _misc__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./misc */ "./node_modules/@walletconnect/jsonrpc-types/dist/esm/misc.js");\n/* harmony import */ var _provider__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./provider */ "./node_modules/@walletconnect/jsonrpc-types/dist/esm/provider.js");\n/* harmony import */ var _validator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./validator */ "./node_modules/@walletconnect/jsonrpc-types/dist/esm/validator.js");\n\n\n\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/jsonrpc-types/dist/esm/index.js?')},"./node_modules/@walletconnect/jsonrpc-types/dist/esm/jsonrpc.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n\n//# sourceMappingURL=jsonrpc.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/jsonrpc-types/dist/esm/jsonrpc.js?")},"./node_modules/@walletconnect/jsonrpc-types/dist/esm/misc.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ IEvents: () => (/* binding */ IEvents)\n/* harmony export */ });\nclass IEvents {\n}\n//# sourceMappingURL=misc.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/jsonrpc-types/dist/esm/misc.js?")},"./node_modules/@walletconnect/jsonrpc-types/dist/esm/provider.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ IBaseJsonRpcProvider: () => (/* binding */ IBaseJsonRpcProvider),\n/* harmony export */ IJsonRpcConnection: () => (/* binding */ IJsonRpcConnection),\n/* harmony export */ IJsonRpcProvider: () => (/* binding */ IJsonRpcProvider)\n/* harmony export */ });\n/* harmony import */ var _misc__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./misc */ "./node_modules/@walletconnect/jsonrpc-types/dist/esm/misc.js");\n\nclass IJsonRpcConnection extends _misc__WEBPACK_IMPORTED_MODULE_0__.IEvents {\n constructor(opts) {\n super();\n }\n}\nclass IBaseJsonRpcProvider extends _misc__WEBPACK_IMPORTED_MODULE_0__.IEvents {\n constructor() {\n super();\n }\n}\nclass IJsonRpcProvider extends IBaseJsonRpcProvider {\n constructor(connection) {\n super();\n }\n}\n//# sourceMappingURL=provider.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/jsonrpc-types/dist/esm/provider.js?')},"./node_modules/@walletconnect/jsonrpc-types/dist/esm/validator.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n\n//# sourceMappingURL=validator.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/jsonrpc-types/dist/esm/validator.js?")},"./node_modules/@walletconnect/jsonrpc-utils/dist/esm/constants.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DEFAULT_ERROR: () => (/* binding */ DEFAULT_ERROR),\n/* harmony export */ INTERNAL_ERROR: () => (/* binding */ INTERNAL_ERROR),\n/* harmony export */ INVALID_PARAMS: () => (/* binding */ INVALID_PARAMS),\n/* harmony export */ INVALID_REQUEST: () => (/* binding */ INVALID_REQUEST),\n/* harmony export */ METHOD_NOT_FOUND: () => (/* binding */ METHOD_NOT_FOUND),\n/* harmony export */ PARSE_ERROR: () => (/* binding */ PARSE_ERROR),\n/* harmony export */ RESERVED_ERROR_CODES: () => (/* binding */ RESERVED_ERROR_CODES),\n/* harmony export */ SERVER_ERROR: () => (/* binding */ SERVER_ERROR),\n/* harmony export */ SERVER_ERROR_CODE_RANGE: () => (/* binding */ SERVER_ERROR_CODE_RANGE),\n/* harmony export */ STANDARD_ERROR_MAP: () => (/* binding */ STANDARD_ERROR_MAP)\n/* harmony export */ });\nconst PARSE_ERROR = "PARSE_ERROR";\nconst INVALID_REQUEST = "INVALID_REQUEST";\nconst METHOD_NOT_FOUND = "METHOD_NOT_FOUND";\nconst INVALID_PARAMS = "INVALID_PARAMS";\nconst INTERNAL_ERROR = "INTERNAL_ERROR";\nconst SERVER_ERROR = "SERVER_ERROR";\nconst RESERVED_ERROR_CODES = [-32700, -32600, -32601, -32602, -32603];\nconst SERVER_ERROR_CODE_RANGE = [-32000, -32099];\nconst STANDARD_ERROR_MAP = {\n [PARSE_ERROR]: { code: -32700, message: "Parse error" },\n [INVALID_REQUEST]: { code: -32600, message: "Invalid Request" },\n [METHOD_NOT_FOUND]: { code: -32601, message: "Method not found" },\n [INVALID_PARAMS]: { code: -32602, message: "Invalid params" },\n [INTERNAL_ERROR]: { code: -32603, message: "Internal error" },\n [SERVER_ERROR]: { code: -32000, message: "Server error" },\n};\nconst DEFAULT_ERROR = SERVER_ERROR;\n//# sourceMappingURL=constants.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/jsonrpc-utils/dist/esm/constants.js?')},"./node_modules/@walletconnect/jsonrpc-utils/dist/esm/env.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isNodeJs: () => (/* binding */ isNodeJs)\n/* harmony export */ });\n/* harmony import */ var _walletconnect_environment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @walletconnect/environment */ "./node_modules/@walletconnect/environment/dist/cjs/index.js");\n/* harmony import */ var _walletconnect_environment__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_walletconnect_environment__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _walletconnect_environment__WEBPACK_IMPORTED_MODULE_0__) if(["default","isNodeJs"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _walletconnect_environment__WEBPACK_IMPORTED_MODULE_0__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\nconst isNodeJs = _walletconnect_environment__WEBPACK_IMPORTED_MODULE_0__.isNode;\n\n//# sourceMappingURL=env.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/jsonrpc-utils/dist/esm/env.js?')},"./node_modules/@walletconnect/jsonrpc-utils/dist/esm/error.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getError: () => (/* binding */ getError),\n/* harmony export */ getErrorByCode: () => (/* binding */ getErrorByCode),\n/* harmony export */ isReservedErrorCode: () => (/* binding */ isReservedErrorCode),\n/* harmony export */ isServerErrorCode: () => (/* binding */ isServerErrorCode),\n/* harmony export */ isValidErrorCode: () => (/* binding */ isValidErrorCode),\n/* harmony export */ parseConnectionError: () => (/* binding */ parseConnectionError),\n/* harmony export */ validateJsonRpcError: () => (/* binding */ validateJsonRpcError)\n/* harmony export */ });\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ "./node_modules/@walletconnect/jsonrpc-utils/dist/esm/constants.js");\n\nfunction isServerErrorCode(code) {\n return code <= _constants__WEBPACK_IMPORTED_MODULE_0__.SERVER_ERROR_CODE_RANGE[0] && code >= _constants__WEBPACK_IMPORTED_MODULE_0__.SERVER_ERROR_CODE_RANGE[1];\n}\nfunction isReservedErrorCode(code) {\n return _constants__WEBPACK_IMPORTED_MODULE_0__.RESERVED_ERROR_CODES.includes(code);\n}\nfunction isValidErrorCode(code) {\n return typeof code === "number";\n}\nfunction getError(type) {\n if (!Object.keys(_constants__WEBPACK_IMPORTED_MODULE_0__.STANDARD_ERROR_MAP).includes(type)) {\n return _constants__WEBPACK_IMPORTED_MODULE_0__.STANDARD_ERROR_MAP[_constants__WEBPACK_IMPORTED_MODULE_0__.DEFAULT_ERROR];\n }\n return _constants__WEBPACK_IMPORTED_MODULE_0__.STANDARD_ERROR_MAP[type];\n}\nfunction getErrorByCode(code) {\n const match = Object.values(_constants__WEBPACK_IMPORTED_MODULE_0__.STANDARD_ERROR_MAP).find(e => e.code === code);\n if (!match) {\n return _constants__WEBPACK_IMPORTED_MODULE_0__.STANDARD_ERROR_MAP[_constants__WEBPACK_IMPORTED_MODULE_0__.DEFAULT_ERROR];\n }\n return match;\n}\nfunction validateJsonRpcError(response) {\n if (typeof response.error.code === "undefined") {\n return { valid: false, error: "Missing code for JSON-RPC error" };\n }\n if (typeof response.error.message === "undefined") {\n return { valid: false, error: "Missing message for JSON-RPC error" };\n }\n if (!isValidErrorCode(response.error.code)) {\n return {\n valid: false,\n error: `Invalid error code type for JSON-RPC: ${response.error.code}`,\n };\n }\n if (isReservedErrorCode(response.error.code)) {\n const error = getErrorByCode(response.error.code);\n if (error.message !== _constants__WEBPACK_IMPORTED_MODULE_0__.STANDARD_ERROR_MAP[_constants__WEBPACK_IMPORTED_MODULE_0__.DEFAULT_ERROR].message &&\n response.error.message === error.message) {\n return {\n valid: false,\n error: `Invalid error code message for JSON-RPC: ${response.error.code}`,\n };\n }\n }\n return { valid: true };\n}\nfunction parseConnectionError(e, url, type) {\n return e.message.includes("getaddrinfo ENOTFOUND") || e.message.includes("connect ECONNREFUSED")\n ? new Error(`Unavailable ${type} RPC url at ${url}`)\n : e;\n}\n//# sourceMappingURL=error.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/jsonrpc-utils/dist/esm/error.js?')},"./node_modules/@walletconnect/jsonrpc-utils/dist/esm/format.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ formatErrorMessage: () => (/* binding */ formatErrorMessage),\n/* harmony export */ formatJsonRpcError: () => (/* binding */ formatJsonRpcError),\n/* harmony export */ formatJsonRpcRequest: () => (/* binding */ formatJsonRpcRequest),\n/* harmony export */ formatJsonRpcResult: () => (/* binding */ formatJsonRpcResult),\n/* harmony export */ getBigIntRpcId: () => (/* binding */ getBigIntRpcId),\n/* harmony export */ payloadId: () => (/* binding */ payloadId)\n/* harmony export */ });\n/* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./error */ "./node_modules/@walletconnect/jsonrpc-utils/dist/esm/error.js");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./node_modules/@walletconnect/jsonrpc-utils/dist/esm/constants.js");\n\n\nfunction payloadId(entropy = 3) {\n const date = Date.now() * Math.pow(10, entropy);\n const extra = Math.floor(Math.random() * Math.pow(10, entropy));\n return date + extra;\n}\nfunction getBigIntRpcId(entropy = 6) {\n return BigInt(payloadId(entropy));\n}\nfunction formatJsonRpcRequest(method, params, id) {\n return {\n id: id || payloadId(),\n jsonrpc: "2.0",\n method,\n params,\n };\n}\nfunction formatJsonRpcResult(id, result) {\n return {\n id,\n jsonrpc: "2.0",\n result,\n };\n}\nfunction formatJsonRpcError(id, error, data) {\n return {\n id,\n jsonrpc: "2.0",\n error: formatErrorMessage(error, data),\n };\n}\nfunction formatErrorMessage(error, data) {\n if (typeof error === "undefined") {\n return (0,_error__WEBPACK_IMPORTED_MODULE_0__.getError)(_constants__WEBPACK_IMPORTED_MODULE_1__.INTERNAL_ERROR);\n }\n if (typeof error === "string") {\n error = Object.assign(Object.assign({}, (0,_error__WEBPACK_IMPORTED_MODULE_0__.getError)(_constants__WEBPACK_IMPORTED_MODULE_1__.SERVER_ERROR)), { message: error });\n }\n if (typeof data !== "undefined") {\n error.data = data;\n }\n if ((0,_error__WEBPACK_IMPORTED_MODULE_0__.isReservedErrorCode)(error.code)) {\n error = (0,_error__WEBPACK_IMPORTED_MODULE_0__.getErrorByCode)(error.code);\n }\n return error;\n}\n//# sourceMappingURL=format.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/jsonrpc-utils/dist/esm/format.js?')},"./node_modules/@walletconnect/jsonrpc-utils/dist/esm/index.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DEFAULT_ERROR: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.DEFAULT_ERROR),\n/* harmony export */ IBaseJsonRpcProvider: () => (/* reexport safe */ _types__WEBPACK_IMPORTED_MODULE_5__.IBaseJsonRpcProvider),\n/* harmony export */ IEvents: () => (/* reexport safe */ _types__WEBPACK_IMPORTED_MODULE_5__.IEvents),\n/* harmony export */ IJsonRpcConnection: () => (/* reexport safe */ _types__WEBPACK_IMPORTED_MODULE_5__.IJsonRpcConnection),\n/* harmony export */ IJsonRpcProvider: () => (/* reexport safe */ _types__WEBPACK_IMPORTED_MODULE_5__.IJsonRpcProvider),\n/* harmony export */ INTERNAL_ERROR: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.INTERNAL_ERROR),\n/* harmony export */ INVALID_PARAMS: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.INVALID_PARAMS),\n/* harmony export */ INVALID_REQUEST: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.INVALID_REQUEST),\n/* harmony export */ METHOD_NOT_FOUND: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.METHOD_NOT_FOUND),\n/* harmony export */ PARSE_ERROR: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.PARSE_ERROR),\n/* harmony export */ RESERVED_ERROR_CODES: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.RESERVED_ERROR_CODES),\n/* harmony export */ SERVER_ERROR: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.SERVER_ERROR),\n/* harmony export */ SERVER_ERROR_CODE_RANGE: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.SERVER_ERROR_CODE_RANGE),\n/* harmony export */ STANDARD_ERROR_MAP: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_0__.STANDARD_ERROR_MAP),\n/* harmony export */ formatErrorMessage: () => (/* reexport safe */ _format__WEBPACK_IMPORTED_MODULE_3__.formatErrorMessage),\n/* harmony export */ formatJsonRpcError: () => (/* reexport safe */ _format__WEBPACK_IMPORTED_MODULE_3__.formatJsonRpcError),\n/* harmony export */ formatJsonRpcRequest: () => (/* reexport safe */ _format__WEBPACK_IMPORTED_MODULE_3__.formatJsonRpcRequest),\n/* harmony export */ formatJsonRpcResult: () => (/* reexport safe */ _format__WEBPACK_IMPORTED_MODULE_3__.formatJsonRpcResult),\n/* harmony export */ getBigIntRpcId: () => (/* reexport safe */ _format__WEBPACK_IMPORTED_MODULE_3__.getBigIntRpcId),\n/* harmony export */ getError: () => (/* reexport safe */ _error__WEBPACK_IMPORTED_MODULE_1__.getError),\n/* harmony export */ getErrorByCode: () => (/* reexport safe */ _error__WEBPACK_IMPORTED_MODULE_1__.getErrorByCode),\n/* harmony export */ isHttpUrl: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_6__.isHttpUrl),\n/* harmony export */ isJsonRpcError: () => (/* reexport safe */ _validators__WEBPACK_IMPORTED_MODULE_7__.isJsonRpcError),\n/* harmony export */ isJsonRpcPayload: () => (/* reexport safe */ _validators__WEBPACK_IMPORTED_MODULE_7__.isJsonRpcPayload),\n/* harmony export */ isJsonRpcRequest: () => (/* reexport safe */ _validators__WEBPACK_IMPORTED_MODULE_7__.isJsonRpcRequest),\n/* harmony export */ isJsonRpcResponse: () => (/* reexport safe */ _validators__WEBPACK_IMPORTED_MODULE_7__.isJsonRpcResponse),\n/* harmony export */ isJsonRpcResult: () => (/* reexport safe */ _validators__WEBPACK_IMPORTED_MODULE_7__.isJsonRpcResult),\n/* harmony export */ isJsonRpcValidationInvalid: () => (/* reexport safe */ _validators__WEBPACK_IMPORTED_MODULE_7__.isJsonRpcValidationInvalid),\n/* harmony export */ isLocalhostUrl: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_6__.isLocalhostUrl),\n/* harmony export */ isReservedErrorCode: () => (/* reexport safe */ _error__WEBPACK_IMPORTED_MODULE_1__.isReservedErrorCode),\n/* harmony export */ isServerErrorCode: () => (/* reexport safe */ _error__WEBPACK_IMPORTED_MODULE_1__.isServerErrorCode),\n/* harmony export */ isValidDefaultRoute: () => (/* reexport safe */ _routing__WEBPACK_IMPORTED_MODULE_4__.isValidDefaultRoute),\n/* harmony export */ isValidErrorCode: () => (/* reexport safe */ _error__WEBPACK_IMPORTED_MODULE_1__.isValidErrorCode),\n/* harmony export */ isValidLeadingWildcardRoute: () => (/* reexport safe */ _routing__WEBPACK_IMPORTED_MODULE_4__.isValidLeadingWildcardRoute),\n/* harmony export */ isValidRoute: () => (/* reexport safe */ _routing__WEBPACK_IMPORTED_MODULE_4__.isValidRoute),\n/* harmony export */ isValidTrailingWildcardRoute: () => (/* reexport safe */ _routing__WEBPACK_IMPORTED_MODULE_4__.isValidTrailingWildcardRoute),\n/* harmony export */ isValidWildcardRoute: () => (/* reexport safe */ _routing__WEBPACK_IMPORTED_MODULE_4__.isValidWildcardRoute),\n/* harmony export */ isWsUrl: () => (/* reexport safe */ _url__WEBPACK_IMPORTED_MODULE_6__.isWsUrl),\n/* harmony export */ parseConnectionError: () => (/* reexport safe */ _error__WEBPACK_IMPORTED_MODULE_1__.parseConnectionError),\n/* harmony export */ payloadId: () => (/* reexport safe */ _format__WEBPACK_IMPORTED_MODULE_3__.payloadId),\n/* harmony export */ validateJsonRpcError: () => (/* reexport safe */ _error__WEBPACK_IMPORTED_MODULE_1__.validateJsonRpcError)\n/* harmony export */ });\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ "./node_modules/@walletconnect/jsonrpc-utils/dist/esm/constants.js");\n/* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./error */ "./node_modules/@walletconnect/jsonrpc-utils/dist/esm/error.js");\n/* harmony import */ var _env__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./env */ "./node_modules/@walletconnect/jsonrpc-utils/dist/esm/env.js");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _env__WEBPACK_IMPORTED_MODULE_2__) if(["default","DEFAULT_ERROR","INTERNAL_ERROR","INVALID_PARAMS","INVALID_REQUEST","METHOD_NOT_FOUND","PARSE_ERROR","RESERVED_ERROR_CODES","SERVER_ERROR","SERVER_ERROR_CODE_RANGE","STANDARD_ERROR_MAP","getError","getErrorByCode","isReservedErrorCode","isServerErrorCode","isValidErrorCode","parseConnectionError","validateJsonRpcError"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _env__WEBPACK_IMPORTED_MODULE_2__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _format__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./format */ "./node_modules/@walletconnect/jsonrpc-utils/dist/esm/format.js");\n/* harmony import */ var _routing__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./routing */ "./node_modules/@walletconnect/jsonrpc-utils/dist/esm/routing.js");\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./types */ "./node_modules/@walletconnect/jsonrpc-utils/dist/esm/types.js");\n/* harmony import */ var _url__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./url */ "./node_modules/@walletconnect/jsonrpc-utils/dist/esm/url.js");\n/* harmony import */ var _validators__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./validators */ "./node_modules/@walletconnect/jsonrpc-utils/dist/esm/validators.js");\n\n\n\n\n\n\n\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/jsonrpc-utils/dist/esm/index.js?')},"./node_modules/@walletconnect/jsonrpc-utils/dist/esm/routing.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isValidDefaultRoute: () => (/* binding */ isValidDefaultRoute),\n/* harmony export */ isValidLeadingWildcardRoute: () => (/* binding */ isValidLeadingWildcardRoute),\n/* harmony export */ isValidRoute: () => (/* binding */ isValidRoute),\n/* harmony export */ isValidTrailingWildcardRoute: () => (/* binding */ isValidTrailingWildcardRoute),\n/* harmony export */ isValidWildcardRoute: () => (/* binding */ isValidWildcardRoute)\n/* harmony export */ });\nfunction isValidRoute(route) {\n if (route.includes("*")) {\n return isValidWildcardRoute(route);\n }\n if (/\\W/g.test(route)) {\n return false;\n }\n return true;\n}\nfunction isValidDefaultRoute(route) {\n return route === "*";\n}\nfunction isValidWildcardRoute(route) {\n if (isValidDefaultRoute(route)) {\n return true;\n }\n if (!route.includes("*")) {\n return false;\n }\n if (route.split("*").length !== 2) {\n return false;\n }\n if (route.split("*").filter(x => x.trim() === "").length !== 1) {\n return false;\n }\n return true;\n}\nfunction isValidLeadingWildcardRoute(route) {\n return !isValidDefaultRoute(route) && isValidWildcardRoute(route) && !route.split("*")[0].trim();\n}\nfunction isValidTrailingWildcardRoute(route) {\n return !isValidDefaultRoute(route) && isValidWildcardRoute(route) && !route.split("*")[1].trim();\n}\n//# sourceMappingURL=routing.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/jsonrpc-utils/dist/esm/routing.js?')},"./node_modules/@walletconnect/jsonrpc-utils/dist/esm/types.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ IBaseJsonRpcProvider: () => (/* reexport safe */ _walletconnect_jsonrpc_types__WEBPACK_IMPORTED_MODULE_0__.IBaseJsonRpcProvider),\n/* harmony export */ IEvents: () => (/* reexport safe */ _walletconnect_jsonrpc_types__WEBPACK_IMPORTED_MODULE_0__.IEvents),\n/* harmony export */ IJsonRpcConnection: () => (/* reexport safe */ _walletconnect_jsonrpc_types__WEBPACK_IMPORTED_MODULE_0__.IJsonRpcConnection),\n/* harmony export */ IJsonRpcProvider: () => (/* reexport safe */ _walletconnect_jsonrpc_types__WEBPACK_IMPORTED_MODULE_0__.IJsonRpcProvider)\n/* harmony export */ });\n/* harmony import */ var _walletconnect_jsonrpc_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @walletconnect/jsonrpc-types */ "./node_modules/@walletconnect/jsonrpc-types/dist/esm/index.js");\n\n//# sourceMappingURL=types.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/jsonrpc-utils/dist/esm/types.js?')},"./node_modules/@walletconnect/jsonrpc-utils/dist/esm/url.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isHttpUrl: () => (/* binding */ isHttpUrl),\n/* harmony export */ isLocalhostUrl: () => (/* binding */ isLocalhostUrl),\n/* harmony export */ isWsUrl: () => (/* binding */ isWsUrl)\n/* harmony export */ });\nconst HTTP_REGEX = "^https?:";\nconst WS_REGEX = "^wss?:";\nfunction getUrlProtocol(url) {\n const matches = url.match(new RegExp(/^\\w+:/, "gi"));\n if (!matches || !matches.length)\n return;\n return matches[0];\n}\nfunction matchRegexProtocol(url, regex) {\n const protocol = getUrlProtocol(url);\n if (typeof protocol === "undefined")\n return false;\n return new RegExp(regex).test(protocol);\n}\nfunction isHttpUrl(url) {\n return matchRegexProtocol(url, HTTP_REGEX);\n}\nfunction isWsUrl(url) {\n return matchRegexProtocol(url, WS_REGEX);\n}\nfunction isLocalhostUrl(url) {\n return new RegExp("wss?://localhost(:d{2,5})?").test(url);\n}\n//# sourceMappingURL=url.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/jsonrpc-utils/dist/esm/url.js?')},"./node_modules/@walletconnect/jsonrpc-utils/dist/esm/validators.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isJsonRpcError: () => (/* binding */ isJsonRpcError),\n/* harmony export */ isJsonRpcPayload: () => (/* binding */ isJsonRpcPayload),\n/* harmony export */ isJsonRpcRequest: () => (/* binding */ isJsonRpcRequest),\n/* harmony export */ isJsonRpcResponse: () => (/* binding */ isJsonRpcResponse),\n/* harmony export */ isJsonRpcResult: () => (/* binding */ isJsonRpcResult),\n/* harmony export */ isJsonRpcValidationInvalid: () => (/* binding */ isJsonRpcValidationInvalid)\n/* harmony export */ });\nfunction isJsonRpcPayload(payload) {\n return (typeof payload === "object" &&\n "id" in payload &&\n "jsonrpc" in payload &&\n payload.jsonrpc === "2.0");\n}\nfunction isJsonRpcRequest(payload) {\n return isJsonRpcPayload(payload) && "method" in payload;\n}\nfunction isJsonRpcResponse(payload) {\n return isJsonRpcPayload(payload) && (isJsonRpcResult(payload) || isJsonRpcError(payload));\n}\nfunction isJsonRpcResult(payload) {\n return "result" in payload;\n}\nfunction isJsonRpcError(payload) {\n return "error" in payload;\n}\nfunction isJsonRpcValidationInvalid(validation) {\n return "error" in validation && validation.valid === false;\n}\n//# sourceMappingURL=validators.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/jsonrpc-utils/dist/esm/validators.js?')},"./node_modules/@walletconnect/jsonrpc-ws-connection/dist/esm/index.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ WsConnection: () => (/* reexport safe */ _ws__WEBPACK_IMPORTED_MODULE_0__.WsConnection),\n/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ws__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ws */ "./node_modules/@walletconnect/jsonrpc-ws-connection/dist/esm/ws.js");\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_ws__WEBPACK_IMPORTED_MODULE_0__["default"]);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/jsonrpc-ws-connection/dist/esm/index.js?')},"./node_modules/@walletconnect/jsonrpc-ws-connection/dist/esm/utils.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ hasBuiltInWebSocket: () => (/* binding */ hasBuiltInWebSocket),\n/* harmony export */ isBrowser: () => (/* binding */ isBrowser),\n/* harmony export */ resolveWebSocketImplementation: () => (/* binding */ resolveWebSocketImplementation),\n/* harmony export */ truncateQuery: () => (/* binding */ truncateQuery)\n/* harmony export */ });\nconst resolveWebSocketImplementation = () => {\n if (typeof WebSocket !== "undefined") {\n return WebSocket;\n }\n else if (typeof __webpack_require__.g !== "undefined" && typeof __webpack_require__.g.WebSocket !== "undefined") {\n return __webpack_require__.g.WebSocket;\n }\n else if (typeof window !== "undefined" && typeof window.WebSocket !== "undefined") {\n return window.WebSocket;\n }\n else if (typeof self !== "undefined" && typeof self.WebSocket !== "undefined") {\n return self.WebSocket;\n }\n return __webpack_require__(/*! ws */ "./node_modules/ws/browser.js");\n};\nconst hasBuiltInWebSocket = () => typeof WebSocket !== "undefined" ||\n (typeof __webpack_require__.g !== "undefined" && typeof __webpack_require__.g.WebSocket !== "undefined") ||\n (typeof window !== "undefined" && typeof window.WebSocket !== "undefined") ||\n (typeof self !== "undefined" && typeof self.WebSocket !== "undefined");\nconst isBrowser = () => typeof window !== "undefined";\nconst truncateQuery = (wssUrl) => wssUrl.split("?")[0];\n//# sourceMappingURL=utils.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/jsonrpc-ws-connection/dist/esm/utils.js?')},"./node_modules/@walletconnect/jsonrpc-ws-connection/dist/esm/ws.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ WsConnection: () => (/* binding */ WsConnection),\n/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! events */ "./node_modules/events/events.js");\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _walletconnect_safe_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @walletconnect/safe-json */ "./node_modules/@walletconnect/safe-json/dist/esm/index.js");\n/* harmony import */ var _walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @walletconnect/jsonrpc-utils */ "./node_modules/@walletconnect/jsonrpc-utils/dist/esm/index.js");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils */ "./node_modules/@walletconnect/jsonrpc-ws-connection/dist/esm/utils.js");\n\n\n\n\nconst EVENT_EMITTER_MAX_LISTENERS_DEFAULT = 10;\nconst WS = (0,_utils__WEBPACK_IMPORTED_MODULE_3__.resolveWebSocketImplementation)();\nclass WsConnection {\n constructor(url) {\n this.url = url;\n this.events = new events__WEBPACK_IMPORTED_MODULE_0__.EventEmitter();\n this.registering = false;\n if (!(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_2__.isWsUrl)(url)) {\n throw new Error(`Provided URL is not compatible with WebSocket connection: ${url}`);\n }\n this.url = url;\n }\n get connected() {\n return typeof this.socket !== "undefined";\n }\n get connecting() {\n return this.registering;\n }\n on(event, listener) {\n this.events.on(event, listener);\n }\n once(event, listener) {\n this.events.once(event, listener);\n }\n off(event, listener) {\n this.events.off(event, listener);\n }\n removeListener(event, listener) {\n this.events.removeListener(event, listener);\n }\n async open(url = this.url) {\n await this.register(url);\n }\n async close() {\n return new Promise((resolve, reject) => {\n if (typeof this.socket === "undefined") {\n reject(new Error("Connection already closed"));\n return;\n }\n this.socket.onclose = event => {\n this.onClose(event);\n resolve();\n };\n this.socket.close();\n });\n }\n async send(payload, context) {\n if (typeof this.socket === "undefined") {\n this.socket = await this.register();\n }\n try {\n this.socket.send((0,_walletconnect_safe_json__WEBPACK_IMPORTED_MODULE_1__.safeJsonStringify)(payload));\n }\n catch (e) {\n this.onError(payload.id, e);\n }\n }\n register(url = this.url) {\n if (!(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_2__.isWsUrl)(url)) {\n throw new Error(`Provided URL is not compatible with WebSocket connection: ${url}`);\n }\n if (this.registering) {\n const currentMaxListeners = this.events.getMaxListeners();\n if (this.events.listenerCount("register_error") >= currentMaxListeners ||\n this.events.listenerCount("open") >= currentMaxListeners) {\n this.events.setMaxListeners(currentMaxListeners + 1);\n }\n return new Promise((resolve, reject) => {\n this.events.once("register_error", error => {\n this.resetMaxListeners();\n reject(error);\n });\n this.events.once("open", () => {\n this.resetMaxListeners();\n if (typeof this.socket === "undefined") {\n return reject(new Error("WebSocket connection is missing or invalid"));\n }\n resolve(this.socket);\n });\n });\n }\n this.url = url;\n this.registering = true;\n return new Promise((resolve, reject) => {\n const opts = !(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_2__.isReactNative)() ? { rejectUnauthorized: !(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_2__.isLocalhostUrl)(url) } : undefined;\n const socket = new WS(url, [], opts);\n if ((0,_utils__WEBPACK_IMPORTED_MODULE_3__.hasBuiltInWebSocket)()) {\n socket.onerror = (event) => {\n const errorEvent = event;\n reject(this.emitError(errorEvent.error));\n };\n }\n else {\n socket.on("error", (errorEvent) => {\n reject(this.emitError(errorEvent));\n });\n }\n socket.onopen = () => {\n this.onOpen(socket);\n resolve(socket);\n };\n });\n }\n onOpen(socket) {\n socket.onmessage = (event) => this.onPayload(event);\n socket.onclose = event => this.onClose(event);\n this.socket = socket;\n this.registering = false;\n this.events.emit("open");\n }\n onClose(event) {\n this.socket = undefined;\n this.registering = false;\n this.events.emit("close", event);\n }\n onPayload(e) {\n if (typeof e.data === "undefined")\n return;\n const payload = typeof e.data === "string" ? (0,_walletconnect_safe_json__WEBPACK_IMPORTED_MODULE_1__.safeJsonParse)(e.data) : e.data;\n this.events.emit("payload", payload);\n }\n onError(id, e) {\n const error = this.parseError(e);\n const message = error.message || error.toString();\n const payload = (0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_2__.formatJsonRpcError)(id, message);\n this.events.emit("payload", payload);\n }\n parseError(e, url = this.url) {\n return (0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_2__.parseConnectionError)(e, (0,_utils__WEBPACK_IMPORTED_MODULE_3__.truncateQuery)(url), "WS");\n }\n resetMaxListeners() {\n if (this.events.getMaxListeners() > EVENT_EMITTER_MAX_LISTENERS_DEFAULT) {\n this.events.setMaxListeners(EVENT_EMITTER_MAX_LISTENERS_DEFAULT);\n }\n }\n emitError(errorEvent) {\n const error = this.parseError(new Error((errorEvent === null || errorEvent === void 0 ? void 0 : errorEvent.message) || `WebSocket connection failed for host: ${(0,_utils__WEBPACK_IMPORTED_MODULE_3__.truncateQuery)(this.url)}`));\n this.events.emit("register_error", error);\n return error;\n }\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (WsConnection);\n//# sourceMappingURL=ws.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/jsonrpc-ws-connection/dist/esm/ws.js?')},"./node_modules/@walletconnect/keyvaluestorage/dist/cjs/browser/index.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.KeyValueStorage = void 0;\nconst tslib_1 = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");\nconst safe_json_utils_1 = __webpack_require__(/*! safe-json-utils */ "./node_modules/safe-json-utils/dist/cjs/index.js");\nconst localStorage_1 = tslib_1.__importDefault(__webpack_require__(/*! ./lib/localStorage */ "./node_modules/@walletconnect/keyvaluestorage/dist/cjs/browser/lib/localStorage.js"));\nconst shared_1 = __webpack_require__(/*! ../shared */ "./node_modules/@walletconnect/keyvaluestorage/dist/cjs/shared/index.js");\nclass KeyValueStorage {\n constructor() {\n this.localStorage = localStorage_1.default;\n }\n getKeys() {\n return tslib_1.__awaiter(this, void 0, void 0, function* () {\n return Object.keys(this.localStorage);\n });\n }\n getEntries() {\n return tslib_1.__awaiter(this, void 0, void 0, function* () {\n return Object.entries(this.localStorage).map(shared_1.parseEntry);\n });\n }\n getItem(key) {\n return tslib_1.__awaiter(this, void 0, void 0, function* () {\n const item = this.localStorage.getItem(key);\n if (item === null) {\n return undefined;\n }\n return safe_json_utils_1.safeJsonParse(item);\n });\n }\n setItem(key, value) {\n return tslib_1.__awaiter(this, void 0, void 0, function* () {\n this.localStorage.setItem(key, safe_json_utils_1.safeJsonStringify(value));\n });\n }\n removeItem(key) {\n return tslib_1.__awaiter(this, void 0, void 0, function* () {\n this.localStorage.removeItem(key);\n });\n }\n}\nexports.KeyValueStorage = KeyValueStorage;\nexports["default"] = KeyValueStorage;\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/keyvaluestorage/dist/cjs/browser/index.js?')},"./node_modules/@walletconnect/keyvaluestorage/dist/cjs/browser/lib/localStorage.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval('\n(function () {\n "use strict";\n let db;\n function LocalStorage() { }\n db = LocalStorage;\n db.prototype.getItem = function (key) {\n if (this.hasOwnProperty(key)) {\n return String(this[key]);\n }\n return null;\n };\n db.prototype.setItem = function (key, val) {\n this[key] = String(val);\n };\n db.prototype.removeItem = function (key) {\n delete this[key];\n };\n db.prototype.clear = function () {\n const self = this;\n Object.keys(self).forEach(function (key) {\n self[key] = undefined;\n delete self[key];\n });\n };\n db.prototype.key = function (i) {\n i = i || 0;\n return Object.keys(this)[i];\n };\n db.prototype.__defineGetter__("length", function () {\n return Object.keys(this).length;\n });\n if (typeof __webpack_require__.g !== "undefined" && __webpack_require__.g.localStorage) {\n module.exports = __webpack_require__.g.localStorage;\n }\n else if (typeof window !== "undefined" && window.localStorage) {\n module.exports = window.localStorage;\n }\n else {\n module.exports = new LocalStorage();\n }\n})();\n//# sourceMappingURL=localStorage.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/keyvaluestorage/dist/cjs/browser/lib/localStorage.js?')},"./node_modules/@walletconnect/keyvaluestorage/dist/cjs/shared/index.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nconst tslib_1 = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");\ntslib_1.__exportStar(__webpack_require__(/*! ./types */ "./node_modules/@walletconnect/keyvaluestorage/dist/cjs/shared/types.js"), exports);\ntslib_1.__exportStar(__webpack_require__(/*! ./utils */ "./node_modules/@walletconnect/keyvaluestorage/dist/cjs/shared/utils.js"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/keyvaluestorage/dist/cjs/shared/index.js?')},"./node_modules/@walletconnect/keyvaluestorage/dist/cjs/shared/types.js":(__unused_webpack_module,exports)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.IKeyValueStorage = void 0;\nclass IKeyValueStorage {\n}\nexports.IKeyValueStorage = IKeyValueStorage;\n//# sourceMappingURL=types.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/keyvaluestorage/dist/cjs/shared/types.js?')},"./node_modules/@walletconnect/keyvaluestorage/dist/cjs/shared/utils.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.parseEntry = void 0;\nconst safe_json_utils_1 = __webpack_require__(/*! safe-json-utils */ "./node_modules/safe-json-utils/dist/cjs/index.js");\nfunction parseEntry(entry) {\n var _a;\n return [entry[0], safe_json_utils_1.safeJsonParse((_a = entry[1]) !== null && _a !== void 0 ? _a : "")];\n}\nexports.parseEntry = parseEntry;\n//# sourceMappingURL=utils.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/keyvaluestorage/dist/cjs/shared/utils.js?')},"./node_modules/@walletconnect/logger/dist/cjs/constants.js":(__unused_webpack_module,exports)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.PINO_CUSTOM_CONTEXT_KEY = exports.PINO_LOGGER_DEFAULTS = void 0;\nexports.PINO_LOGGER_DEFAULTS = {\n level: "info",\n};\nexports.PINO_CUSTOM_CONTEXT_KEY = "custom_context";\n//# sourceMappingURL=constants.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/logger/dist/cjs/constants.js?')},"./node_modules/@walletconnect/logger/dist/cjs/index.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.pino = void 0;\nconst tslib_1 = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");\nconst pino_1 = tslib_1.__importDefault(__webpack_require__(/*! pino */ "./node_modules/pino/browser.js"));\nObject.defineProperty(exports, "pino", ({ enumerable: true, get: function () { return pino_1.default; } }));\ntslib_1.__exportStar(__webpack_require__(/*! ./constants */ "./node_modules/@walletconnect/logger/dist/cjs/constants.js"), exports);\ntslib_1.__exportStar(__webpack_require__(/*! ./utils */ "./node_modules/@walletconnect/logger/dist/cjs/utils.js"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/logger/dist/cjs/index.js?')},"./node_modules/@walletconnect/logger/dist/cjs/utils.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.generateChildLogger = exports.formatChildLoggerContext = exports.getLoggerContext = exports.setBrowserLoggerContext = exports.getBrowserLoggerContext = exports.getDefaultLoggerOptions = void 0;\nconst constants_1 = __webpack_require__(/*! ./constants */ "./node_modules/@walletconnect/logger/dist/cjs/constants.js");\nfunction getDefaultLoggerOptions(opts) {\n return Object.assign(Object.assign({}, opts), { level: (opts === null || opts === void 0 ? void 0 : opts.level) || constants_1.PINO_LOGGER_DEFAULTS.level });\n}\nexports.getDefaultLoggerOptions = getDefaultLoggerOptions;\nfunction getBrowserLoggerContext(logger, customContextKey = constants_1.PINO_CUSTOM_CONTEXT_KEY) {\n return logger[customContextKey] || "";\n}\nexports.getBrowserLoggerContext = getBrowserLoggerContext;\nfunction setBrowserLoggerContext(logger, context, customContextKey = constants_1.PINO_CUSTOM_CONTEXT_KEY) {\n logger[customContextKey] = context;\n return logger;\n}\nexports.setBrowserLoggerContext = setBrowserLoggerContext;\nfunction getLoggerContext(logger, customContextKey = constants_1.PINO_CUSTOM_CONTEXT_KEY) {\n let context = "";\n if (typeof logger.bindings === "undefined") {\n context = getBrowserLoggerContext(logger, customContextKey);\n }\n else {\n context = logger.bindings().context || "";\n }\n return context;\n}\nexports.getLoggerContext = getLoggerContext;\nfunction formatChildLoggerContext(logger, childContext, customContextKey = constants_1.PINO_CUSTOM_CONTEXT_KEY) {\n const parentContext = getLoggerContext(logger, customContextKey);\n const context = parentContext.trim()\n ? `${parentContext}/${childContext}`\n : childContext;\n return context;\n}\nexports.formatChildLoggerContext = formatChildLoggerContext;\nfunction generateChildLogger(logger, childContext, customContextKey = constants_1.PINO_CUSTOM_CONTEXT_KEY) {\n const context = formatChildLoggerContext(logger, childContext, customContextKey);\n const child = logger.child({ context });\n return setBrowserLoggerContext(child, context, customContextKey);\n}\nexports.generateChildLogger = generateChildLogger;\n//# sourceMappingURL=utils.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/logger/dist/cjs/utils.js?')},"./node_modules/@walletconnect/relay-api/dist/esm/index.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RELAY_JSONRPC: () => (/* reexport safe */ _jsonrpc__WEBPACK_IMPORTED_MODULE_2__.RELAY_JSONRPC),\n/* harmony export */ isPublishMethod: () => (/* reexport safe */ _validators__WEBPACK_IMPORTED_MODULE_3__.isPublishMethod),\n/* harmony export */ isPublishParams: () => (/* reexport safe */ _validators__WEBPACK_IMPORTED_MODULE_3__.isPublishParams),\n/* harmony export */ isPublishRequest: () => (/* reexport safe */ _validators__WEBPACK_IMPORTED_MODULE_3__.isPublishRequest),\n/* harmony export */ isSubscribeMethod: () => (/* reexport safe */ _validators__WEBPACK_IMPORTED_MODULE_3__.isSubscribeMethod),\n/* harmony export */ isSubscribeParams: () => (/* reexport safe */ _validators__WEBPACK_IMPORTED_MODULE_3__.isSubscribeParams),\n/* harmony export */ isSubscribeRequest: () => (/* reexport safe */ _validators__WEBPACK_IMPORTED_MODULE_3__.isSubscribeRequest),\n/* harmony export */ isSubscriptionMethod: () => (/* reexport safe */ _validators__WEBPACK_IMPORTED_MODULE_3__.isSubscriptionMethod),\n/* harmony export */ isSubscriptionParams: () => (/* reexport safe */ _validators__WEBPACK_IMPORTED_MODULE_3__.isSubscriptionParams),\n/* harmony export */ isSubscriptionRequest: () => (/* reexport safe */ _validators__WEBPACK_IMPORTED_MODULE_3__.isSubscriptionRequest),\n/* harmony export */ isUnsubscribeMethod: () => (/* reexport safe */ _validators__WEBPACK_IMPORTED_MODULE_3__.isUnsubscribeMethod),\n/* harmony export */ isUnsubscribeParams: () => (/* reexport safe */ _validators__WEBPACK_IMPORTED_MODULE_3__.isUnsubscribeParams),\n/* harmony export */ isUnsubscribeRequest: () => (/* reexport safe */ _validators__WEBPACK_IMPORTED_MODULE_3__.isUnsubscribeRequest),\n/* harmony export */ parsePublishRequest: () => (/* reexport safe */ _parsers__WEBPACK_IMPORTED_MODULE_1__.parsePublishRequest),\n/* harmony export */ parseSubscribeRequest: () => (/* reexport safe */ _parsers__WEBPACK_IMPORTED_MODULE_1__.parseSubscribeRequest),\n/* harmony export */ parseSubscriptionRequest: () => (/* reexport safe */ _parsers__WEBPACK_IMPORTED_MODULE_1__.parseSubscriptionRequest),\n/* harmony export */ parseUnsubscribeRequest: () => (/* reexport safe */ _parsers__WEBPACK_IMPORTED_MODULE_1__.parseUnsubscribeRequest)\n/* harmony export */ });\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./types */ "./node_modules/@walletconnect/relay-api/dist/esm/types.js");\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_types__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _types__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== "default") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _types__WEBPACK_IMPORTED_MODULE_0__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _parsers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./parsers */ "./node_modules/@walletconnect/relay-api/dist/esm/parsers.js");\n/* harmony import */ var _jsonrpc__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./jsonrpc */ "./node_modules/@walletconnect/relay-api/dist/esm/jsonrpc.js");\n/* harmony import */ var _validators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./validators */ "./node_modules/@walletconnect/relay-api/dist/esm/validators.js");\n\n\n\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/relay-api/dist/esm/index.js?')},"./node_modules/@walletconnect/relay-api/dist/esm/jsonrpc.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RELAY_JSONRPC: () => (/* binding */ RELAY_JSONRPC)\n/* harmony export */ });\nconst RELAY_JSONRPC = {\n waku: {\n publish: "waku_publish",\n batchPublish: "waku_batchPublish",\n subscribe: "waku_subscribe",\n batchSubscribe: "waku_batchSubscribe",\n subscription: "waku_subscription",\n unsubscribe: "waku_unsubscribe",\n batchUnsubscribe: "waku_batchUnsubscribe",\n },\n irn: {\n publish: "irn_publish",\n batchPublish: "irn_batchPublish",\n subscribe: "irn_subscribe",\n batchSubscribe: "irn_batchSubscribe",\n subscription: "irn_subscription",\n unsubscribe: "irn_unsubscribe",\n batchUnsubscribe: "irn_batchUnsubscribe",\n },\n iridium: {\n publish: "iridium_publish",\n batchPublish: "iridium_batchPublish",\n subscribe: "iridium_subscribe",\n batchSubscribe: "iridium_batchSubscribe",\n subscription: "iridium_subscription",\n unsubscribe: "iridium_unsubscribe",\n batchUnsubscribe: "iridium_batchUnsubscribe",\n },\n};\n//# sourceMappingURL=jsonrpc.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/relay-api/dist/esm/jsonrpc.js?')},"./node_modules/@walletconnect/relay-api/dist/esm/misc.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ assertType: () => (/* binding */ assertType),\n/* harmony export */ checkParams: () => (/* binding */ checkParams),\n/* harmony export */ hasExactParamsLength: () => (/* binding */ hasExactParamsLength),\n/* harmony export */ hasRequiredParams: () => (/* binding */ hasRequiredParams),\n/* harmony export */ hasRequiredParamsLength: () => (/* binding */ hasRequiredParamsLength),\n/* harmony export */ methodEndsWith: () => (/* binding */ methodEndsWith)\n/* harmony export */ });\nfunction assertType(obj, key, type = "string") {\n if (!obj[key] || typeof obj[key] !== type) {\n throw new Error(`Missing or invalid "${key}" param`);\n }\n}\nfunction hasRequiredParams(params, required) {\n let matches = true;\n required.forEach(key => {\n const exists = key in params;\n if (!exists) {\n matches = false;\n }\n });\n return matches;\n}\nfunction hasExactParamsLength(params, length) {\n return Array.isArray(params)\n ? params.length === length\n : Object.keys(params).length === length;\n}\nfunction hasRequiredParamsLength(params, minLength) {\n return Array.isArray(params)\n ? params.length >= minLength\n : Object.keys(params).length >= minLength;\n}\nfunction checkParams(params, required, optional) {\n const exact = !optional.length;\n const matchesLength = exact\n ? hasExactParamsLength(params, required.length)\n : hasRequiredParamsLength(params, required.length);\n if (!matchesLength)\n return false;\n return hasRequiredParams(params, required);\n}\nfunction methodEndsWith(method, expected, separator = "_") {\n const split = method.split(separator);\n return (split[split.length - 1].trim().toLowerCase() ===\n expected.trim().toLowerCase());\n}\n//# sourceMappingURL=misc.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/relay-api/dist/esm/misc.js?')},"./node_modules/@walletconnect/relay-api/dist/esm/parsers.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ parsePublishRequest: () => (/* binding */ parsePublishRequest),\n/* harmony export */ parseSubscribeRequest: () => (/* binding */ parseSubscribeRequest),\n/* harmony export */ parseSubscriptionRequest: () => (/* binding */ parseSubscriptionRequest),\n/* harmony export */ parseUnsubscribeRequest: () => (/* binding */ parseUnsubscribeRequest)\n/* harmony export */ });\n/* harmony import */ var _misc__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./misc */ "./node_modules/@walletconnect/relay-api/dist/esm/misc.js");\n/* harmony import */ var _validators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./validators */ "./node_modules/@walletconnect/relay-api/dist/esm/validators.js");\n\n\nfunction parseSubscribeRequest(request) {\n if (!(0,_validators__WEBPACK_IMPORTED_MODULE_1__.isSubscribeMethod)(request.method)) {\n throw new Error("JSON-RPC Request has invalid subscribe method");\n }\n if (!(0,_validators__WEBPACK_IMPORTED_MODULE_1__.isSubscribeParams)(request.params)) {\n throw new Error("JSON-RPC Request has invalid subscribe params");\n }\n const params = request.params;\n (0,_misc__WEBPACK_IMPORTED_MODULE_0__.assertType)(params, "topic");\n return params;\n}\nfunction parsePublishRequest(request) {\n if (!(0,_validators__WEBPACK_IMPORTED_MODULE_1__.isPublishMethod)(request.method)) {\n throw new Error("JSON-RPC Request has invalid publish method");\n }\n if (!(0,_validators__WEBPACK_IMPORTED_MODULE_1__.isPublishParams)(request.params)) {\n throw new Error("JSON-RPC Request has invalid publish params");\n }\n const params = request.params;\n (0,_misc__WEBPACK_IMPORTED_MODULE_0__.assertType)(params, "topic");\n (0,_misc__WEBPACK_IMPORTED_MODULE_0__.assertType)(params, "message");\n (0,_misc__WEBPACK_IMPORTED_MODULE_0__.assertType)(params, "ttl", "number");\n return params;\n}\nfunction parseUnsubscribeRequest(request) {\n if (!(0,_validators__WEBPACK_IMPORTED_MODULE_1__.isUnsubscribeMethod)(request.method)) {\n throw new Error("JSON-RPC Request has invalid unsubscribe method");\n }\n if (!(0,_validators__WEBPACK_IMPORTED_MODULE_1__.isUnsubscribeParams)(request.params)) {\n throw new Error("JSON-RPC Request has invalid unsubscribe params");\n }\n const params = request.params;\n (0,_misc__WEBPACK_IMPORTED_MODULE_0__.assertType)(params, "id");\n return params;\n}\nfunction parseSubscriptionRequest(request) {\n if (!(0,_validators__WEBPACK_IMPORTED_MODULE_1__.isSubscriptionMethod)(request.method)) {\n throw new Error("JSON-RPC Request has invalid subscription method");\n }\n if (!(0,_validators__WEBPACK_IMPORTED_MODULE_1__.isSubscriptionParams)(request.params)) {\n throw new Error("JSON-RPC Request has invalid subscription params");\n }\n const params = request.params;\n (0,_misc__WEBPACK_IMPORTED_MODULE_0__.assertType)(params, "id");\n (0,_misc__WEBPACK_IMPORTED_MODULE_0__.assertType)(params, "data");\n return params;\n}\n//# sourceMappingURL=parsers.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/relay-api/dist/esm/parsers.js?')},"./node_modules/@walletconnect/relay-api/dist/esm/types.js":()=>{eval("//# sourceMappingURL=types.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/relay-api/dist/esm/types.js?")},"./node_modules/@walletconnect/relay-api/dist/esm/validators.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isPublishMethod: () => (/* binding */ isPublishMethod),\n/* harmony export */ isPublishParams: () => (/* binding */ isPublishParams),\n/* harmony export */ isPublishRequest: () => (/* binding */ isPublishRequest),\n/* harmony export */ isSubscribeMethod: () => (/* binding */ isSubscribeMethod),\n/* harmony export */ isSubscribeParams: () => (/* binding */ isSubscribeParams),\n/* harmony export */ isSubscribeRequest: () => (/* binding */ isSubscribeRequest),\n/* harmony export */ isSubscriptionMethod: () => (/* binding */ isSubscriptionMethod),\n/* harmony export */ isSubscriptionParams: () => (/* binding */ isSubscriptionParams),\n/* harmony export */ isSubscriptionRequest: () => (/* binding */ isSubscriptionRequest),\n/* harmony export */ isUnsubscribeMethod: () => (/* binding */ isUnsubscribeMethod),\n/* harmony export */ isUnsubscribeParams: () => (/* binding */ isUnsubscribeParams),\n/* harmony export */ isUnsubscribeRequest: () => (/* binding */ isUnsubscribeRequest)\n/* harmony export */ });\n/* harmony import */ var _misc__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./misc */ "./node_modules/@walletconnect/relay-api/dist/esm/misc.js");\n\nfunction isSubscribeRequest(request) {\n return isSubscribeMethod(request.method) && isSubscribeParams(request.params);\n}\nfunction isSubscribeMethod(method) {\n return (0,_misc__WEBPACK_IMPORTED_MODULE_0__.methodEndsWith)(method, "subscribe");\n}\nfunction isSubscribeParams(params) {\n const required = ["topic"];\n const optional = [];\n return (0,_misc__WEBPACK_IMPORTED_MODULE_0__.checkParams)(params, required, optional);\n}\nfunction isPublishRequest(request) {\n return isPublishMethod(request.method) && isPublishParams(request.params);\n}\nfunction isPublishMethod(method) {\n return (0,_misc__WEBPACK_IMPORTED_MODULE_0__.methodEndsWith)(method, "publish");\n}\nfunction isPublishParams(params) {\n const required = ["message", "topic", "ttl"];\n const optional = ["prompt", "tag"];\n return (0,_misc__WEBPACK_IMPORTED_MODULE_0__.checkParams)(params, required, optional);\n}\nfunction isUnsubscribeRequest(request) {\n return (isUnsubscribeMethod(request.method) && isUnsubscribeParams(request.params));\n}\nfunction isUnsubscribeMethod(method) {\n return (0,_misc__WEBPACK_IMPORTED_MODULE_0__.methodEndsWith)(method, "unsubscribe");\n}\nfunction isUnsubscribeParams(params) {\n const required = ["id", "topic"];\n const optional = [];\n return (0,_misc__WEBPACK_IMPORTED_MODULE_0__.checkParams)(params, required, optional);\n}\nfunction isSubscriptionRequest(request) {\n return (isSubscriptionMethod(request.method) && isSubscriptionParams(request.params));\n}\nfunction isSubscriptionMethod(method) {\n return (0,_misc__WEBPACK_IMPORTED_MODULE_0__.methodEndsWith)(method, "subscription");\n}\nfunction isSubscriptionParams(params) {\n const required = ["id", "data"];\n const optional = [];\n return (0,_misc__WEBPACK_IMPORTED_MODULE_0__.checkParams)(params, required, optional);\n}\n//# sourceMappingURL=validators.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/relay-api/dist/esm/validators.js?')},"./node_modules/@walletconnect/relay-auth/dist/esm/api.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ generateKeyPair: () => (/* binding */ generateKeyPair),\n/* harmony export */ signJWT: () => (/* binding */ signJWT),\n/* harmony export */ verifyJWT: () => (/* binding */ verifyJWT)\n/* harmony export */ });\n/* harmony import */ var _stablelib_ed25519__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @stablelib/ed25519 */ "./node_modules/@stablelib/ed25519/lib/ed25519.js");\n/* harmony import */ var _stablelib_random__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @stablelib/random */ "./node_modules/@stablelib/random/lib/random.js");\n/* harmony import */ var _walletconnect_time__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @walletconnect/time */ "./node_modules/@walletconnect/time/dist/cjs/index.js");\n/* harmony import */ var _walletconnect_time__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_walletconnect_time__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./constants */ "./node_modules/@walletconnect/relay-auth/dist/esm/constants.js");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./utils */ "./node_modules/@walletconnect/relay-auth/dist/esm/utils.js");\n\n\n\n\n\nfunction generateKeyPair(seed = (0,_stablelib_random__WEBPACK_IMPORTED_MODULE_1__.randomBytes)(_constants__WEBPACK_IMPORTED_MODULE_3__.KEY_PAIR_SEED_LENGTH)) {\n return _stablelib_ed25519__WEBPACK_IMPORTED_MODULE_0__.generateKeyPairFromSeed(seed);\n}\nasync function signJWT(sub, aud, ttl, keyPair, iat = (0,_walletconnect_time__WEBPACK_IMPORTED_MODULE_2__.fromMiliseconds)(Date.now())) {\n const header = { alg: _constants__WEBPACK_IMPORTED_MODULE_3__.JWT_IRIDIUM_ALG, typ: _constants__WEBPACK_IMPORTED_MODULE_3__.JWT_IRIDIUM_TYP };\n const iss = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.encodeIss)(keyPair.publicKey);\n const exp = iat + ttl;\n const payload = { iss, sub, aud, iat, exp };\n const data = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.encodeData)({ header, payload });\n const signature = _stablelib_ed25519__WEBPACK_IMPORTED_MODULE_0__.sign(keyPair.secretKey, data);\n return (0,_utils__WEBPACK_IMPORTED_MODULE_4__.encodeJWT)({ header, payload, signature });\n}\nasync function verifyJWT(jwt) {\n const { header, payload, data, signature } = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.decodeJWT)(jwt);\n if (header.alg !== _constants__WEBPACK_IMPORTED_MODULE_3__.JWT_IRIDIUM_ALG || header.typ !== _constants__WEBPACK_IMPORTED_MODULE_3__.JWT_IRIDIUM_TYP) {\n throw new Error("JWT must use EdDSA algorithm");\n }\n const publicKey = (0,_utils__WEBPACK_IMPORTED_MODULE_4__.decodeIss)(payload.iss);\n return _stablelib_ed25519__WEBPACK_IMPORTED_MODULE_0__.verify(publicKey, data, signature);\n}\n//# sourceMappingURL=api.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/relay-auth/dist/esm/api.js?')},"./node_modules/@walletconnect/relay-auth/dist/esm/constants.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DATA_ENCODING: () => (/* binding */ DATA_ENCODING),\n/* harmony export */ DID_DELIMITER: () => (/* binding */ DID_DELIMITER),\n/* harmony export */ DID_METHOD: () => (/* binding */ DID_METHOD),\n/* harmony export */ DID_PREFIX: () => (/* binding */ DID_PREFIX),\n/* harmony export */ JSON_ENCODING: () => (/* binding */ JSON_ENCODING),\n/* harmony export */ JWT_DELIMITER: () => (/* binding */ JWT_DELIMITER),\n/* harmony export */ JWT_ENCODING: () => (/* binding */ JWT_ENCODING),\n/* harmony export */ JWT_IRIDIUM_ALG: () => (/* binding */ JWT_IRIDIUM_ALG),\n/* harmony export */ JWT_IRIDIUM_TYP: () => (/* binding */ JWT_IRIDIUM_TYP),\n/* harmony export */ KEY_PAIR_SEED_LENGTH: () => (/* binding */ KEY_PAIR_SEED_LENGTH),\n/* harmony export */ MULTICODEC_ED25519_BASE: () => (/* binding */ MULTICODEC_ED25519_BASE),\n/* harmony export */ MULTICODEC_ED25519_ENCODING: () => (/* binding */ MULTICODEC_ED25519_ENCODING),\n/* harmony export */ MULTICODEC_ED25519_HEADER: () => (/* binding */ MULTICODEC_ED25519_HEADER),\n/* harmony export */ MULTICODEC_ED25519_LENGTH: () => (/* binding */ MULTICODEC_ED25519_LENGTH)\n/* harmony export */ });\nconst JWT_IRIDIUM_ALG = "EdDSA";\nconst JWT_IRIDIUM_TYP = "JWT";\nconst JWT_DELIMITER = ".";\nconst JWT_ENCODING = "base64url";\nconst JSON_ENCODING = "utf8";\nconst DATA_ENCODING = "utf8";\nconst DID_DELIMITER = ":";\nconst DID_PREFIX = "did";\nconst DID_METHOD = "key";\nconst MULTICODEC_ED25519_ENCODING = "base58btc";\nconst MULTICODEC_ED25519_BASE = "z";\nconst MULTICODEC_ED25519_HEADER = "K36";\nconst MULTICODEC_ED25519_LENGTH = 32;\nconst KEY_PAIR_SEED_LENGTH = 32;\n//# sourceMappingURL=constants.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/relay-auth/dist/esm/constants.js?')},"./node_modules/@walletconnect/relay-auth/dist/esm/index.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DATA_ENCODING: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_1__.DATA_ENCODING),\n/* harmony export */ DID_DELIMITER: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_1__.DID_DELIMITER),\n/* harmony export */ DID_METHOD: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_1__.DID_METHOD),\n/* harmony export */ DID_PREFIX: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_1__.DID_PREFIX),\n/* harmony export */ JSON_ENCODING: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_1__.JSON_ENCODING),\n/* harmony export */ JWT_DELIMITER: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_1__.JWT_DELIMITER),\n/* harmony export */ JWT_ENCODING: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_1__.JWT_ENCODING),\n/* harmony export */ JWT_IRIDIUM_ALG: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_1__.JWT_IRIDIUM_ALG),\n/* harmony export */ JWT_IRIDIUM_TYP: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_1__.JWT_IRIDIUM_TYP),\n/* harmony export */ KEY_PAIR_SEED_LENGTH: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_1__.KEY_PAIR_SEED_LENGTH),\n/* harmony export */ MULTICODEC_ED25519_BASE: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_1__.MULTICODEC_ED25519_BASE),\n/* harmony export */ MULTICODEC_ED25519_ENCODING: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_1__.MULTICODEC_ED25519_ENCODING),\n/* harmony export */ MULTICODEC_ED25519_HEADER: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_1__.MULTICODEC_ED25519_HEADER),\n/* harmony export */ MULTICODEC_ED25519_LENGTH: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_1__.MULTICODEC_ED25519_LENGTH),\n/* harmony export */ decodeData: () => (/* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_3__.decodeData),\n/* harmony export */ decodeIss: () => (/* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_3__.decodeIss),\n/* harmony export */ decodeJSON: () => (/* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_3__.decodeJSON),\n/* harmony export */ decodeJWT: () => (/* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_3__.decodeJWT),\n/* harmony export */ decodeSig: () => (/* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_3__.decodeSig),\n/* harmony export */ encodeData: () => (/* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_3__.encodeData),\n/* harmony export */ encodeIss: () => (/* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_3__.encodeIss),\n/* harmony export */ encodeJSON: () => (/* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_3__.encodeJSON),\n/* harmony export */ encodeJWT: () => (/* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_3__.encodeJWT),\n/* harmony export */ encodeSig: () => (/* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_3__.encodeSig),\n/* harmony export */ generateKeyPair: () => (/* reexport safe */ _api__WEBPACK_IMPORTED_MODULE_0__.generateKeyPair),\n/* harmony export */ signJWT: () => (/* reexport safe */ _api__WEBPACK_IMPORTED_MODULE_0__.signJWT),\n/* harmony export */ verifyJWT: () => (/* reexport safe */ _api__WEBPACK_IMPORTED_MODULE_0__.verifyJWT)\n/* harmony export */ });\n/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./api */ "./node_modules/@walletconnect/relay-auth/dist/esm/api.js");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./node_modules/@walletconnect/relay-auth/dist/esm/constants.js");\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./types */ "./node_modules/@walletconnect/relay-auth/dist/esm/types.js");\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_types__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _types__WEBPACK_IMPORTED_MODULE_2__) if(["default","generateKeyPair","signJWT","verifyJWT","DATA_ENCODING","DID_DELIMITER","DID_METHOD","DID_PREFIX","JSON_ENCODING","JWT_DELIMITER","JWT_ENCODING","JWT_IRIDIUM_ALG","JWT_IRIDIUM_TYP","KEY_PAIR_SEED_LENGTH","MULTICODEC_ED25519_BASE","MULTICODEC_ED25519_ENCODING","MULTICODEC_ED25519_HEADER","MULTICODEC_ED25519_LENGTH"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _types__WEBPACK_IMPORTED_MODULE_2__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils */ "./node_modules/@walletconnect/relay-auth/dist/esm/utils.js");\n\n\n\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/relay-auth/dist/esm/index.js?')},"./node_modules/@walletconnect/relay-auth/dist/esm/types.js":()=>{eval("//# sourceMappingURL=types.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/relay-auth/dist/esm/types.js?")},"./node_modules/@walletconnect/relay-auth/dist/esm/utils.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ decodeData: () => (/* binding */ decodeData),\n/* harmony export */ decodeIss: () => (/* binding */ decodeIss),\n/* harmony export */ decodeJSON: () => (/* binding */ decodeJSON),\n/* harmony export */ decodeJWT: () => (/* binding */ decodeJWT),\n/* harmony export */ decodeSig: () => (/* binding */ decodeSig),\n/* harmony export */ encodeData: () => (/* binding */ encodeData),\n/* harmony export */ encodeIss: () => (/* binding */ encodeIss),\n/* harmony export */ encodeJSON: () => (/* binding */ encodeJSON),\n/* harmony export */ encodeJWT: () => (/* binding */ encodeJWT),\n/* harmony export */ encodeSig: () => (/* binding */ encodeSig)\n/* harmony export */ });\n/* harmony import */ var uint8arrays_concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uint8arrays/concat */ "./node_modules/uint8arrays/esm/src/concat.js");\n/* harmony import */ var uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uint8arrays/to-string */ "./node_modules/uint8arrays/esm/src/to-string.js");\n/* harmony import */ var uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! uint8arrays/from-string */ "./node_modules/uint8arrays/esm/src/from-string.js");\n/* harmony import */ var _walletconnect_safe_json__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @walletconnect/safe-json */ "./node_modules/@walletconnect/safe-json/dist/esm/index.js");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./constants */ "./node_modules/@walletconnect/relay-auth/dist/esm/constants.js");\n\n\n\n\n\nfunction decodeJSON(str) {\n return (0,_walletconnect_safe_json__WEBPACK_IMPORTED_MODULE_3__.safeJsonParse)((0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_1__.toString)((0,uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_2__.fromString)(str, _constants__WEBPACK_IMPORTED_MODULE_4__.JWT_ENCODING), _constants__WEBPACK_IMPORTED_MODULE_4__.JSON_ENCODING));\n}\nfunction encodeJSON(val) {\n return (0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_1__.toString)((0,uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_2__.fromString)((0,_walletconnect_safe_json__WEBPACK_IMPORTED_MODULE_3__.safeJsonStringify)(val), _constants__WEBPACK_IMPORTED_MODULE_4__.JSON_ENCODING), _constants__WEBPACK_IMPORTED_MODULE_4__.JWT_ENCODING);\n}\nfunction encodeIss(publicKey) {\n const header = (0,uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_2__.fromString)(_constants__WEBPACK_IMPORTED_MODULE_4__.MULTICODEC_ED25519_HEADER, _constants__WEBPACK_IMPORTED_MODULE_4__.MULTICODEC_ED25519_ENCODING);\n const multicodec = _constants__WEBPACK_IMPORTED_MODULE_4__.MULTICODEC_ED25519_BASE +\n (0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_1__.toString)((0,uint8arrays_concat__WEBPACK_IMPORTED_MODULE_0__.concat)([header, publicKey]), _constants__WEBPACK_IMPORTED_MODULE_4__.MULTICODEC_ED25519_ENCODING);\n return [_constants__WEBPACK_IMPORTED_MODULE_4__.DID_PREFIX, _constants__WEBPACK_IMPORTED_MODULE_4__.DID_METHOD, multicodec].join(_constants__WEBPACK_IMPORTED_MODULE_4__.DID_DELIMITER);\n}\nfunction decodeIss(issuer) {\n const [prefix, method, multicodec] = issuer.split(_constants__WEBPACK_IMPORTED_MODULE_4__.DID_DELIMITER);\n if (prefix !== _constants__WEBPACK_IMPORTED_MODULE_4__.DID_PREFIX || method !== _constants__WEBPACK_IMPORTED_MODULE_4__.DID_METHOD) {\n throw new Error(`Issuer must be a DID with method "key"`);\n }\n const base = multicodec.slice(0, 1);\n if (base !== _constants__WEBPACK_IMPORTED_MODULE_4__.MULTICODEC_ED25519_BASE) {\n throw new Error(`Issuer must be a key in mulicodec format`);\n }\n const bytes = (0,uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_2__.fromString)(multicodec.slice(1), _constants__WEBPACK_IMPORTED_MODULE_4__.MULTICODEC_ED25519_ENCODING);\n const type = (0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_1__.toString)(bytes.slice(0, 2), _constants__WEBPACK_IMPORTED_MODULE_4__.MULTICODEC_ED25519_ENCODING);\n if (type !== _constants__WEBPACK_IMPORTED_MODULE_4__.MULTICODEC_ED25519_HEADER) {\n throw new Error(`Issuer must be a public key with type "Ed25519"`);\n }\n const publicKey = bytes.slice(2);\n if (publicKey.length !== _constants__WEBPACK_IMPORTED_MODULE_4__.MULTICODEC_ED25519_LENGTH) {\n throw new Error(`Issuer must be a public key with length 32 bytes`);\n }\n return publicKey;\n}\nfunction encodeSig(bytes) {\n return (0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_1__.toString)(bytes, _constants__WEBPACK_IMPORTED_MODULE_4__.JWT_ENCODING);\n}\nfunction decodeSig(encoded) {\n return (0,uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_2__.fromString)(encoded, _constants__WEBPACK_IMPORTED_MODULE_4__.JWT_ENCODING);\n}\nfunction encodeData(params) {\n return (0,uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_2__.fromString)([encodeJSON(params.header), encodeJSON(params.payload)].join(_constants__WEBPACK_IMPORTED_MODULE_4__.JWT_DELIMITER), _constants__WEBPACK_IMPORTED_MODULE_4__.DATA_ENCODING);\n}\nfunction decodeData(data) {\n const params = (0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_1__.toString)(data, _constants__WEBPACK_IMPORTED_MODULE_4__.DATA_ENCODING).split(_constants__WEBPACK_IMPORTED_MODULE_4__.JWT_DELIMITER);\n const header = decodeJSON(params[0]);\n const payload = decodeJSON(params[1]);\n return { header, payload };\n}\nfunction encodeJWT(params) {\n return [\n encodeJSON(params.header),\n encodeJSON(params.payload),\n encodeSig(params.signature),\n ].join(_constants__WEBPACK_IMPORTED_MODULE_4__.JWT_DELIMITER);\n}\nfunction decodeJWT(jwt) {\n const params = jwt.split(_constants__WEBPACK_IMPORTED_MODULE_4__.JWT_DELIMITER);\n const header = decodeJSON(params[0]);\n const payload = decodeJSON(params[1]);\n const signature = decodeSig(params[2]);\n const data = (0,uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_2__.fromString)(params.slice(0, 2).join(_constants__WEBPACK_IMPORTED_MODULE_4__.JWT_DELIMITER), _constants__WEBPACK_IMPORTED_MODULE_4__.DATA_ENCODING);\n return { header, payload, signature, data };\n}\n//# sourceMappingURL=utils.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/relay-auth/dist/esm/utils.js?')},"./node_modules/@walletconnect/safe-json/dist/esm/index.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ safeJsonParse: () => (/* binding */ safeJsonParse),\n/* harmony export */ safeJsonStringify: () => (/* binding */ safeJsonStringify)\n/* harmony export */ });\nconst JSONStringify = data => JSON.stringify(data, (_, value) => typeof value === "bigint" ? value.toString() + "n" : value);\nconst JSONParse = json => {\n const numbersBiggerThanMaxInt = /([\\[:])?(\\d{17,}|(?:[9](?:[1-9]07199254740991|0[1-9]7199254740991|00[8-9]199254740991|007[2-9]99254740991|007199[3-9]54740991|0071992[6-9]4740991|00719925[5-9]740991|007199254[8-9]40991|0071992547[5-9]0991|00719925474[1-9]991|00719925474099[2-9])))([,\\}\\]])/g;\n const serializedData = json.replace(numbersBiggerThanMaxInt, "$1\\"$2n\\"$3");\n return JSON.parse(serializedData, (_, value) => {\n const isCustomFormatBigInt = typeof value === "string" && value.match(/^\\d+n$/);\n if (isCustomFormatBigInt)\n return BigInt(value.substring(0, value.length - 1));\n return value;\n });\n};\nfunction safeJsonParse(value) {\n if (typeof value !== "string") {\n throw new Error(`Cannot safe json parse value of type ${typeof value}`);\n }\n try {\n return JSONParse(value);\n }\n catch (_a) {\n return value;\n }\n}\nfunction safeJsonStringify(value) {\n return typeof value === "string" ? value : JSONStringify(value) || "";\n}\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/safe-json/dist/esm/index.js?')},"./node_modules/@walletconnect/sign-client/dist/index.es.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ENGINE_CONTEXT: () => (/* binding */ ie),\n/* harmony export */ ENGINE_RPC_OPTS: () => (/* binding */ O),\n/* harmony export */ HISTORY_CONTEXT: () => (/* binding */ Xe),\n/* harmony export */ HISTORY_EVENTS: () => (/* binding */ Je),\n/* harmony export */ HISTORY_STORAGE_VERSION: () => (/* binding */ He),\n/* harmony export */ METHODS_TO_VERIFY: () => (/* binding */ ne),\n/* harmony export */ PROPOSAL_CONTEXT: () => (/* binding */ ee),\n/* harmony export */ PROPOSAL_EXPIRY: () => (/* binding */ Fe),\n/* harmony export */ PROPOSAL_EXPIRY_MESSAGE: () => (/* binding */ se),\n/* harmony export */ REQUEST_CONTEXT: () => (/* binding */ re),\n/* harmony export */ SESSION_CONTEXT: () => (/* binding */ te),\n/* harmony export */ SESSION_EXPIRY: () => (/* binding */ A),\n/* harmony export */ SESSION_REQUEST_EXPIRY_BOUNDARIES: () => (/* binding */ G),\n/* harmony export */ SIGN_CLIENT_CONTEXT: () => (/* binding */ J),\n/* harmony export */ SIGN_CLIENT_DEFAULT: () => (/* binding */ C),\n/* harmony export */ SIGN_CLIENT_EVENTS: () => (/* binding */ je),\n/* harmony export */ SIGN_CLIENT_PROTOCOL: () => (/* binding */ j),\n/* harmony export */ SIGN_CLIENT_STORAGE_OPTIONS: () => (/* binding */ ke),\n/* harmony export */ SIGN_CLIENT_STORAGE_PREFIX: () => (/* binding */ b),\n/* harmony export */ SIGN_CLIENT_VERSION: () => (/* binding */ k),\n/* harmony export */ SignClient: () => (/* binding */ ns),\n/* harmony export */ "default": () => (/* binding */ $)\n/* harmony export */ });\n/* harmony import */ var _walletconnect_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @walletconnect/core */ "./node_modules/@walletconnect/core/dist/index.es.js");\n/* harmony import */ var _walletconnect_logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @walletconnect/logger */ "./node_modules/@walletconnect/logger/dist/cjs/index.js");\n/* harmony import */ var _walletconnect_logger__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_walletconnect_logger__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _walletconnect_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @walletconnect/types */ "./node_modules/@walletconnect/types/dist/index.es.js");\n/* harmony import */ var _walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @walletconnect/utils */ "./node_modules/@walletconnect/utils/dist/index.es.js");\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! events */ "./node_modules/events/events.js");\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _walletconnect_time__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @walletconnect/time */ "./node_modules/@walletconnect/time/dist/cjs/index.js");\n/* harmony import */ var _walletconnect_time__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_walletconnect_time__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @walletconnect/jsonrpc-utils */ "./node_modules/@walletconnect/jsonrpc-utils/dist/esm/index.js");\nconst j="wc",k=2,J="client",b=`${j}@${k}:${J}:`,C={name:J,logger:"error",controller:!1,relayUrl:"wss://relay.walletconnect.com"},je={session_proposal:"session_proposal",session_update:"session_update",session_extend:"session_extend",session_ping:"session_ping",session_delete:"session_delete",session_expire:"session_expire",session_request:"session_request",session_request_sent:"session_request_sent",session_event:"session_event",proposal_expire:"proposal_expire"},ke={database:":memory:"},Je={created:"history_created",updated:"history_updated",deleted:"history_deleted",sync:"history_sync"},Xe="history",He="0.3",ee="proposal",Fe=_walletconnect_time__WEBPACK_IMPORTED_MODULE_5__.THIRTY_DAYS,se="Proposal expired",te="session",A=_walletconnect_time__WEBPACK_IMPORTED_MODULE_5__.SEVEN_DAYS,ie="engine",O={wc_sessionPropose:{req:{ttl:_walletconnect_time__WEBPACK_IMPORTED_MODULE_5__.FIVE_MINUTES,prompt:!0,tag:1100},res:{ttl:_walletconnect_time__WEBPACK_IMPORTED_MODULE_5__.FIVE_MINUTES,prompt:!1,tag:1101}},wc_sessionSettle:{req:{ttl:_walletconnect_time__WEBPACK_IMPORTED_MODULE_5__.FIVE_MINUTES,prompt:!1,tag:1102},res:{ttl:_walletconnect_time__WEBPACK_IMPORTED_MODULE_5__.FIVE_MINUTES,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:_walletconnect_time__WEBPACK_IMPORTED_MODULE_5__.ONE_DAY,prompt:!1,tag:1104},res:{ttl:_walletconnect_time__WEBPACK_IMPORTED_MODULE_5__.ONE_DAY,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:_walletconnect_time__WEBPACK_IMPORTED_MODULE_5__.ONE_DAY,prompt:!1,tag:1106},res:{ttl:_walletconnect_time__WEBPACK_IMPORTED_MODULE_5__.ONE_DAY,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:_walletconnect_time__WEBPACK_IMPORTED_MODULE_5__.FIVE_MINUTES,prompt:!0,tag:1108},res:{ttl:_walletconnect_time__WEBPACK_IMPORTED_MODULE_5__.FIVE_MINUTES,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:_walletconnect_time__WEBPACK_IMPORTED_MODULE_5__.FIVE_MINUTES,prompt:!0,tag:1110},res:{ttl:_walletconnect_time__WEBPACK_IMPORTED_MODULE_5__.FIVE_MINUTES,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:_walletconnect_time__WEBPACK_IMPORTED_MODULE_5__.ONE_DAY,prompt:!1,tag:1112},res:{ttl:_walletconnect_time__WEBPACK_IMPORTED_MODULE_5__.ONE_DAY,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:_walletconnect_time__WEBPACK_IMPORTED_MODULE_5__.THIRTY_SECONDS,prompt:!1,tag:1114},res:{ttl:_walletconnect_time__WEBPACK_IMPORTED_MODULE_5__.THIRTY_SECONDS,prompt:!1,tag:1115}}},G={min:_walletconnect_time__WEBPACK_IMPORTED_MODULE_5__.FIVE_MINUTES,max:_walletconnect_time__WEBPACK_IMPORTED_MODULE_5__.SEVEN_DAYS},re="request",ne=["wc_sessionPropose","wc_sessionRequest","wc_authRequest"];var Be=Object.defineProperty,Qe=Object.defineProperties,We=Object.getOwnPropertyDescriptors,oe=Object.getOwnPropertySymbols,Ze=Object.prototype.hasOwnProperty,es=Object.prototype.propertyIsEnumerable,ae=(d,r,e)=>r in d?Be(d,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):d[r]=e,w=(d,r)=>{for(var e in r||(r={}))Ze.call(r,e)&&ae(d,e,r[e]);if(oe)for(var e of oe(r))es.call(r,e)&&ae(d,e,r[e]);return d},X=(d,r)=>Qe(d,We(r));class ss extends _walletconnect_types__WEBPACK_IMPORTED_MODULE_2__.IEngine{constructor(r){super(r),this.name=ie,this.events=new (events__WEBPACK_IMPORTED_MODULE_4___default()),this.initialized=!1,this.ignoredPayloadTypes=[_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.TYPE_1],this.init=async()=>{this.initialized||(await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.client.core.pairing.register({methods:Object.keys(O)}),this.initialized=!0)},this.connect=async e=>{this.isInitialized();const s=X(w({},e),{requiredNamespaces:e.requiredNamespaces||{},optionalNamespaces:e.optionalNamespaces||{}});await this.isValidConnect(s);const{pairingTopic:t,requiredNamespaces:i,optionalNamespaces:n,sessionProperties:a,relays:o}=s;let l=t,h,I=!1;if(l&&(I=this.client.core.pairing.pairings.get(l).active),!l||!I){const{topic:v,uri:y}=await this.client.core.pairing.create();l=v,h=y}const g=await this.client.core.crypto.generateKeyPair(),f=w({requiredNamespaces:i,optionalNamespaces:n,relays:o??[{protocol:_walletconnect_core__WEBPACK_IMPORTED_MODULE_0__.RELAYER_DEFAULT_PROTOCOL}],proposer:{publicKey:g,metadata:this.client.metadata}},a&&{sessionProperties:a}),{reject:u,resolve:V,done:M}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.createDelayedPromise)(_walletconnect_time__WEBPACK_IMPORTED_MODULE_5__.FIVE_MINUTES,se);if(this.events.once((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.engineEvent)("session_connect"),async({error:v,session:y})=>{if(v)u(v);else if(y){y.self.publicKey=g;const H=X(w({},y),{requiredNamespaces:y.requiredNamespaces,optionalNamespaces:y.optionalNamespaces});await this.client.session.set(y.topic,H),await this.setExpiry(y.topic,y.expiry),l&&await this.client.core.pairing.updateMetadata({topic:l,metadata:y.peer.metadata}),V(H)}}),!l){const{message:v}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getInternalError)("NO_MATCHING_KEY",`connect() pairing topic: ${l}`);throw new Error(v)}const L=await this.sendRequest(l,"wc_sessionPropose",f),ce=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.calcExpiry)(_walletconnect_time__WEBPACK_IMPORTED_MODULE_5__.FIVE_MINUTES);return await this.setProposal(L,w({id:L,expiry:ce},f)),{uri:h,approval:M}},this.pair=async e=>(this.isInitialized(),await this.client.core.pairing.pair(e)),this.approve=async e=>{this.isInitialized(),await this.isValidApprove(e);const{id:s,relayProtocol:t,namespaces:i,sessionProperties:n}=e,a=this.client.proposal.get(s);let{pairingTopic:o,proposer:l,requiredNamespaces:h,optionalNamespaces:I}=a;o=o||"",(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isValidObject)(h)||(h=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getRequiredNamespacesFromNamespaces)(i,"approve()"));const g=await this.client.core.crypto.generateKeyPair(),f=l.publicKey,u=await this.client.core.crypto.generateSharedKey(g,f);o&&s&&(await this.client.core.pairing.updateMetadata({topic:o,metadata:l.metadata}),await this.sendResult(s,o,{relay:{protocol:t??"irn"},responderPublicKey:g}),await this.client.proposal.delete(s,(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getSdkError)("USER_DISCONNECTED")),await this.client.core.pairing.activate({topic:o}));const V=w({relay:{protocol:t??"irn"},namespaces:i,requiredNamespaces:h,optionalNamespaces:I,pairingTopic:o,controller:{publicKey:g,metadata:this.client.metadata},expiry:(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.calcExpiry)(A)},n&&{sessionProperties:n});await this.client.core.relayer.subscribe(u),await this.sendRequest(u,"wc_sessionSettle",V);const M=X(w({},V),{topic:u,pairingTopic:o,acknowledged:!1,self:V.controller,peer:{publicKey:l.publicKey,metadata:l.metadata},controller:g});return await this.client.session.set(u,M),await this.setExpiry(u,(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.calcExpiry)(A)),{topic:u,acknowledged:()=>new Promise(L=>L(this.client.session.get(u)))}},this.reject=async e=>{this.isInitialized(),await this.isValidReject(e);const{id:s,reason:t}=e,{pairingTopic:i}=this.client.proposal.get(s);i&&(await this.sendError(s,i,t),await this.client.proposal.delete(s,(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getSdkError)("USER_DISCONNECTED")))},this.update=async e=>{this.isInitialized(),await this.isValidUpdate(e);const{topic:s,namespaces:t}=e,i=await this.sendRequest(s,"wc_sessionUpdate",{namespaces:t}),{done:n,resolve:a,reject:o}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.createDelayedPromise)();return this.events.once((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.engineEvent)("session_update",i),({error:l})=>{l?o(l):a()}),await this.client.session.update(s,{namespaces:t}),{acknowledged:n}},this.extend=async e=>{this.isInitialized(),await this.isValidExtend(e);const{topic:s}=e,t=await this.sendRequest(s,"wc_sessionExtend",{}),{done:i,resolve:n,reject:a}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.createDelayedPromise)();return this.events.once((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.engineEvent)("session_extend",t),({error:o})=>{o?a(o):n()}),await this.setExpiry(s,(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.calcExpiry)(A)),{acknowledged:i}},this.request=async e=>{this.isInitialized(),await this.isValidRequest(e);const{chainId:s,request:t,topic:i,expiry:n}=e,a=await this.sendRequest(i,"wc_sessionRequest",{request:t,chainId:s},n),{done:o,resolve:l,reject:h}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.createDelayedPromise)(n);return this.events.once((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.engineEvent)("session_request",a),({error:I,result:g})=>{I?h(I):l(g)}),this.client.events.emit("session_request_sent",{topic:i,request:t,chainId:s,id:a}),await o()},this.respond=async e=>{this.isInitialized(),await this.isValidRespond(e);const{topic:s,response:t}=e,{id:i}=t;(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_6__.isJsonRpcResult)(t)?await this.sendResult(i,s,t.result):(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_6__.isJsonRpcError)(t)&&await this.sendError(i,s,t.error),this.deletePendingSessionRequest(e.response.id,{message:"fulfilled",code:0})},this.ping=async e=>{this.isInitialized(),await this.isValidPing(e);const{topic:s}=e;if(this.client.session.keys.includes(s)){const t=await this.sendRequest(s,"wc_sessionPing",{}),{done:i,resolve:n,reject:a}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.createDelayedPromise)();this.events.once((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.engineEvent)("session_ping",t),({error:o})=>{o?a(o):n()}),await i()}else this.client.core.pairing.pairings.keys.includes(s)&&await this.client.core.pairing.ping({topic:s})},this.emit=async e=>{this.isInitialized(),await this.isValidEmit(e);const{topic:s,event:t,chainId:i}=e;await this.sendRequest(s,"wc_sessionEvent",{event:t,chainId:i})},this.disconnect=async e=>{this.isInitialized(),await this.isValidDisconnect(e);const{topic:s}=e;this.client.session.keys.includes(s)?(await this.sendRequest(s,"wc_sessionDelete",(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getSdkError)("USER_DISCONNECTED")),await this.deleteSession(s)):await this.client.core.pairing.disconnect({topic:s})},this.find=e=>(this.isInitialized(),this.client.session.getAll().filter(s=>(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isSessionCompatible)(s,e))),this.getPendingSessionRequests=()=>(this.isInitialized(),this.client.pendingRequest.getAll()),this.deleteSession=async(e,s)=>{const{self:t}=this.client.session.get(e);await this.client.core.relayer.unsubscribe(e),await Promise.all([this.client.session.delete(e,(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getSdkError)("USER_DISCONNECTED")),this.client.core.crypto.deleteKeyPair(t.publicKey),this.client.core.crypto.deleteSymKey(e),s?Promise.resolve():this.client.core.expirer.del(e)])},this.deleteProposal=async(e,s)=>{await Promise.all([this.client.proposal.delete(e,(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getSdkError)("USER_DISCONNECTED")),s?Promise.resolve():this.client.core.expirer.del(e)])},this.deletePendingSessionRequest=async(e,s,t=!1)=>{await Promise.all([this.client.pendingRequest.delete(e,s),t?Promise.resolve():this.client.core.expirer.del(e)])},this.setExpiry=async(e,s)=>{this.client.session.keys.includes(e)&&await this.client.session.update(e,{expiry:s}),this.client.core.expirer.set(e,s)},this.setProposal=async(e,s)=>{await this.client.proposal.set(e,s),this.client.core.expirer.set(e,s.expiry)},this.setPendingSessionRequest=async e=>{const s=O.wc_sessionRequest.req.ttl,{id:t,topic:i,params:n}=e;await this.client.pendingRequest.set(t,{id:t,topic:i,params:n}),s&&this.client.core.expirer.set(t,(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.calcExpiry)(s))},this.sendRequest=async(e,s,t,i)=>{const n=(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_6__.formatJsonRpcRequest)(s,t);if((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isBrowser)()&&ne.includes(s)){const l=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.hashMessage)(JSON.stringify(n));await this.client.core.verify.register({attestationId:l})}const a=await this.client.core.crypto.encode(e,n),o=O[s].req;return i&&(o.ttl=i),this.client.core.history.set(e,n),this.client.core.relayer.publish(e,a,o),n.id},this.sendResult=async(e,s,t)=>{const i=(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_6__.formatJsonRpcResult)(e,t),n=await this.client.core.crypto.encode(s,i),a=await this.client.core.history.get(s,e),o=O[a.request.method].res;this.client.core.relayer.publish(s,n,o),await this.client.core.history.resolve(i)},this.sendError=async(e,s,t)=>{const i=(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_6__.formatJsonRpcError)(e,t),n=await this.client.core.crypto.encode(s,i),a=await this.client.core.history.get(s,e),o=O[a.request.method].res;this.client.core.relayer.publish(s,n,o),await this.client.core.history.resolve(i)},this.cleanup=async()=>{const e=[],s=[];this.client.session.getAll().forEach(t=>{(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isExpired)(t.expiry)&&e.push(t.topic)}),this.client.proposal.getAll().forEach(t=>{(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isExpired)(t.expiry)&&s.push(t.id)}),await Promise.all([...e.map(t=>this.deleteSession(t)),...s.map(t=>this.deleteProposal(t))])},this.onRelayEventRequest=e=>{const{topic:s,payload:t}=e,i=t.method;switch(i){case"wc_sessionPropose":return this.onSessionProposeRequest(s,t);case"wc_sessionSettle":return this.onSessionSettleRequest(s,t);case"wc_sessionUpdate":return this.onSessionUpdateRequest(s,t);case"wc_sessionExtend":return this.onSessionExtendRequest(s,t);case"wc_sessionPing":return this.onSessionPingRequest(s,t);case"wc_sessionDelete":return this.onSessionDeleteRequest(s,t);case"wc_sessionRequest":return this.onSessionRequest(s,t);case"wc_sessionEvent":return this.onSessionEventRequest(s,t);default:return this.client.logger.info(`Unsupported request method ${i}`)}},this.onRelayEventResponse=async e=>{const{topic:s,payload:t}=e,i=(await this.client.core.history.get(s,t.id)).request.method;switch(i){case"wc_sessionPropose":return this.onSessionProposeResponse(s,t);case"wc_sessionSettle":return this.onSessionSettleResponse(s,t);case"wc_sessionUpdate":return this.onSessionUpdateResponse(s,t);case"wc_sessionExtend":return this.onSessionExtendResponse(s,t);case"wc_sessionPing":return this.onSessionPingResponse(s,t);case"wc_sessionRequest":return this.onSessionRequestResponse(s,t);default:return this.client.logger.info(`Unsupported response method ${i}`)}},this.onSessionProposeRequest=async(e,s)=>{const{params:t,id:i}=s;try{this.isValidConnect(w({},s.params));const n=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.calcExpiry)(_walletconnect_time__WEBPACK_IMPORTED_MODULE_5__.FIVE_MINUTES),a=w({id:i,pairingTopic:e,expiry:n},t);await this.setProposal(i,a);const o=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.hashMessage)(JSON.stringify(s)),l=await this.getVerifyContext(o,a.proposer.metadata);this.client.events.emit("session_proposal",{id:i,params:a,context:l})}catch(n){await this.sendError(i,e,n),this.client.logger.error(n)}},this.onSessionProposeResponse=async(e,s)=>{const{id:t}=s;if((0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_6__.isJsonRpcResult)(s)){const{result:i}=s;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",result:i});const n=this.client.proposal.get(t);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",proposal:n});const a=n.proposer.publicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",selfPublicKey:a});const o=i.responderPublicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",peerPublicKey:o});const l=await this.client.core.crypto.generateSharedKey(a,o);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",sessionTopic:l});const h=await this.client.core.relayer.subscribe(l);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",subscriptionId:h}),await this.client.core.pairing.activate({topic:e})}else (0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_6__.isJsonRpcError)(s)&&(await this.client.proposal.delete(t,(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getSdkError)("USER_DISCONNECTED")),this.events.emit((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.engineEvent)("session_connect"),{error:s.error}))},this.onSessionSettleRequest=async(e,s)=>{const{id:t,params:i}=s;try{this.isValidSessionSettleRequest(i);const{relay:n,controller:a,expiry:o,namespaces:l,requiredNamespaces:h,optionalNamespaces:I,sessionProperties:g,pairingTopic:f}=s.params,u=w({topic:e,relay:n,expiry:o,namespaces:l,acknowledged:!0,pairingTopic:f,requiredNamespaces:h,optionalNamespaces:I,controller:a.publicKey,self:{publicKey:"",metadata:this.client.metadata},peer:{publicKey:a.publicKey,metadata:a.metadata}},g&&{sessionProperties:g});await this.sendResult(s.id,e,!0),this.events.emit((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.engineEvent)("session_connect"),{session:u})}catch(n){await this.sendError(t,e,n),this.client.logger.error(n)}},this.onSessionSettleResponse=async(e,s)=>{const{id:t}=s;(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_6__.isJsonRpcResult)(s)?(await this.client.session.update(e,{acknowledged:!0}),this.events.emit((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.engineEvent)("session_approve",t),{})):(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_6__.isJsonRpcError)(s)&&(await this.client.session.delete(e,(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getSdkError)("USER_DISCONNECTED")),this.events.emit((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.engineEvent)("session_approve",t),{error:s.error}))},this.onSessionUpdateRequest=async(e,s)=>{const{params:t,id:i}=s;try{this.isValidUpdate(w({topic:e},t)),await this.client.session.update(e,{namespaces:t.namespaces}),await this.sendResult(i,e,!0),this.client.events.emit("session_update",{id:i,topic:e,params:t})}catch(n){await this.sendError(i,e,n),this.client.logger.error(n)}},this.onSessionUpdateResponse=(e,s)=>{const{id:t}=s;(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_6__.isJsonRpcResult)(s)?this.events.emit((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.engineEvent)("session_update",t),{}):(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_6__.isJsonRpcError)(s)&&this.events.emit((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.engineEvent)("session_update",t),{error:s.error})},this.onSessionExtendRequest=async(e,s)=>{const{id:t}=s;try{this.isValidExtend({topic:e}),await this.setExpiry(e,(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.calcExpiry)(A)),await this.sendResult(t,e,!0),this.client.events.emit("session_extend",{id:t,topic:e})}catch(i){await this.sendError(t,e,i),this.client.logger.error(i)}},this.onSessionExtendResponse=(e,s)=>{const{id:t}=s;(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_6__.isJsonRpcResult)(s)?this.events.emit((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.engineEvent)("session_extend",t),{}):(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_6__.isJsonRpcError)(s)&&this.events.emit((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.engineEvent)("session_extend",t),{error:s.error})},this.onSessionPingRequest=async(e,s)=>{const{id:t}=s;try{this.isValidPing({topic:e}),await this.sendResult(t,e,!0),this.client.events.emit("session_ping",{id:t,topic:e})}catch(i){await this.sendError(t,e,i),this.client.logger.error(i)}},this.onSessionPingResponse=(e,s)=>{const{id:t}=s;setTimeout(()=>{(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_6__.isJsonRpcResult)(s)?this.events.emit((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.engineEvent)("session_ping",t),{}):(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_6__.isJsonRpcError)(s)&&this.events.emit((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.engineEvent)("session_ping",t),{error:s.error})},500)},this.onSessionDeleteRequest=async(e,s)=>{const{id:t}=s;try{this.isValidDisconnect({topic:e,reason:s.params}),await Promise.all([new Promise(i=>{this.client.core.relayer.once(_walletconnect_core__WEBPACK_IMPORTED_MODULE_0__.RELAYER_EVENTS.publish,async()=>{i(await this.deleteSession(e))})}),this.sendResult(t,e,!0)]),this.client.events.emit("session_delete",{id:t,topic:e})}catch(i){await this.sendError(t,e,i),this.client.logger.error(i)}},this.onSessionRequest=async(e,s)=>{const{id:t,params:i}=s;try{this.isValidRequest(w({topic:e},i)),await this.setPendingSessionRequest({id:t,topic:e,params:i});const n=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.hashMessage)(JSON.stringify(s)),a=this.client.session.get(e),o=await this.getVerifyContext(n,a.peer.metadata);this.client.events.emit("session_request",{id:t,topic:e,params:i,context:o})}catch(n){await this.sendError(t,e,n),this.client.logger.error(n)}},this.onSessionRequestResponse=(e,s)=>{const{id:t}=s;(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_6__.isJsonRpcResult)(s)?this.events.emit((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.engineEvent)("session_request",t),{result:s.result}):(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_6__.isJsonRpcError)(s)&&this.events.emit((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.engineEvent)("session_request",t),{error:s.error})},this.onSessionEventRequest=async(e,s)=>{const{id:t,params:i}=s;try{this.isValidEmit(w({topic:e},i)),this.client.events.emit("session_event",{id:t,topic:e,params:i})}catch(n){await this.sendError(t,e,n),this.client.logger.error(n)}},this.isValidConnect=async e=>{if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isValidParams)(e)){const{message:o}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getInternalError)("MISSING_OR_INVALID",`connect() params: ${JSON.stringify(e)}`);throw new Error(o)}const{pairingTopic:s,requiredNamespaces:t,optionalNamespaces:i,sessionProperties:n,relays:a}=e;if((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isUndefined)(s)||await this.isValidPairingTopic(s),!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isValidRelays)(a,!0)){const{message:o}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getInternalError)("MISSING_OR_INVALID",`connect() relays: ${a}`);throw new Error(o)}!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isUndefined)(t)&&(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isValidObject)(t)!==0&&this.validateNamespaces(t,"requiredNamespaces"),!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isUndefined)(i)&&(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isValidObject)(i)!==0&&this.validateNamespaces(i,"optionalNamespaces"),(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isUndefined)(n)||this.validateSessionProps(n,"sessionProperties")},this.validateNamespaces=(e,s)=>{const t=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isValidRequiredNamespaces)(e,"connect()",s);if(t)throw new Error(t.message)},this.isValidApprove=async e=>{if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isValidParams)(e))throw new Error((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getInternalError)("MISSING_OR_INVALID",`approve() params: ${e}`).message);const{id:s,namespaces:t,relayProtocol:i,sessionProperties:n}=e;await this.isValidProposalId(s);const a=this.client.proposal.get(s),o=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isValidNamespaces)(t,"approve()");if(o)throw new Error(o.message);const l=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isConformingNamespaces)(a.requiredNamespaces,t,"approve()");if(l)throw new Error(l.message);if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isValidString)(i,!0)){const{message:h}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getInternalError)("MISSING_OR_INVALID",`approve() relayProtocol: ${i}`);throw new Error(h)}(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isUndefined)(n)||this.validateSessionProps(n,"sessionProperties")},this.isValidReject=async e=>{if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isValidParams)(e)){const{message:i}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getInternalError)("MISSING_OR_INVALID",`reject() params: ${e}`);throw new Error(i)}const{id:s,reason:t}=e;if(await this.isValidProposalId(s),!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isValidErrorReason)(t)){const{message:i}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getInternalError)("MISSING_OR_INVALID",`reject() reason: ${JSON.stringify(t)}`);throw new Error(i)}},this.isValidSessionSettleRequest=e=>{if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isValidParams)(e)){const{message:l}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getInternalError)("MISSING_OR_INVALID",`onSessionSettleRequest() params: ${e}`);throw new Error(l)}const{relay:s,controller:t,namespaces:i,expiry:n}=e;if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isValidRelay)(s)){const{message:l}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getInternalError)("MISSING_OR_INVALID","onSessionSettleRequest() relay protocol should be a string");throw new Error(l)}const a=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isValidController)(t,"onSessionSettleRequest()");if(a)throw new Error(a.message);const o=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isValidNamespaces)(i,"onSessionSettleRequest()");if(o)throw new Error(o.message);if((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isExpired)(n)){const{message:l}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getInternalError)("EXPIRED","onSessionSettleRequest()");throw new Error(l)}},this.isValidUpdate=async e=>{if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isValidParams)(e)){const{message:o}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getInternalError)("MISSING_OR_INVALID",`update() params: ${e}`);throw new Error(o)}const{topic:s,namespaces:t}=e;await this.isValidSessionTopic(s);const i=this.client.session.get(s),n=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isValidNamespaces)(t,"update()");if(n)throw new Error(n.message);const a=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isConformingNamespaces)(i.requiredNamespaces,t,"update()");if(a)throw new Error(a.message)},this.isValidExtend=async e=>{if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isValidParams)(e)){const{message:t}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getInternalError)("MISSING_OR_INVALID",`extend() params: ${e}`);throw new Error(t)}const{topic:s}=e;await this.isValidSessionTopic(s)},this.isValidRequest=async e=>{if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isValidParams)(e)){const{message:o}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getInternalError)("MISSING_OR_INVALID",`request() params: ${e}`);throw new Error(o)}const{topic:s,request:t,chainId:i,expiry:n}=e;await this.isValidSessionTopic(s);const{namespaces:a}=this.client.session.get(s);if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isValidNamespacesChainId)(a,i)){const{message:o}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getInternalError)("MISSING_OR_INVALID",`request() chainId: ${i}`);throw new Error(o)}if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isValidRequest)(t)){const{message:o}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getInternalError)("MISSING_OR_INVALID",`request() ${JSON.stringify(t)}`);throw new Error(o)}if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isValidNamespacesRequest)(a,i,t.method)){const{message:o}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getInternalError)("MISSING_OR_INVALID",`request() method: ${t.method}`);throw new Error(o)}if(n&&!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isValidRequestExpiry)(n,G)){const{message:o}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getInternalError)("MISSING_OR_INVALID",`request() expiry: ${n}. Expiry must be a number (in seconds) between ${G.min} and ${G.max}`);throw new Error(o)}},this.isValidRespond=async e=>{if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isValidParams)(e)){const{message:i}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getInternalError)("MISSING_OR_INVALID",`respond() params: ${e}`);throw new Error(i)}const{topic:s,response:t}=e;if(await this.isValidSessionTopic(s),!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isValidResponse)(t)){const{message:i}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getInternalError)("MISSING_OR_INVALID",`respond() response: ${JSON.stringify(t)}`);throw new Error(i)}},this.isValidPing=async e=>{if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isValidParams)(e)){const{message:t}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getInternalError)("MISSING_OR_INVALID",`ping() params: ${e}`);throw new Error(t)}const{topic:s}=e;await this.isValidSessionOrPairingTopic(s)},this.isValidEmit=async e=>{if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isValidParams)(e)){const{message:a}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getInternalError)("MISSING_OR_INVALID",`emit() params: ${e}`);throw new Error(a)}const{topic:s,event:t,chainId:i}=e;await this.isValidSessionTopic(s);const{namespaces:n}=this.client.session.get(s);if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isValidNamespacesChainId)(n,i)){const{message:a}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getInternalError)("MISSING_OR_INVALID",`emit() chainId: ${i}`);throw new Error(a)}if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isValidEvent)(t)){const{message:a}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getInternalError)("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(t)}`);throw new Error(a)}if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isValidNamespacesEvent)(n,i,t.name)){const{message:a}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getInternalError)("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(t)}`);throw new Error(a)}},this.isValidDisconnect=async e=>{if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isValidParams)(e)){const{message:t}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getInternalError)("MISSING_OR_INVALID",`disconnect() params: ${e}`);throw new Error(t)}const{topic:s}=e;await this.isValidSessionOrPairingTopic(s)},this.getVerifyContext=async(e,s)=>{const t={verified:{verifyUrl:s.verifyUrl||"",validation:"UNKNOWN",origin:s.url||""}};try{const i=await this.client.core.verify.resolve({attestationId:e,verifyUrl:s.verifyUrl});t.verified.origin=i,t.verified.validation=i===s.url?"VALID":"INVALID"}catch(i){this.client.logger.error(i)}return this.client.logger.info(`Verify context: ${JSON.stringify(t)}`),t},this.validateSessionProps=(e,s)=>{Object.values(e).forEach(t=>{if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isValidString)(t,!1)){const{message:i}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getInternalError)("MISSING_OR_INVALID",`${s} must be in Record format. Received: ${JSON.stringify(t)}`);throw new Error(i)}})}}isInitialized(){if(!this.initialized){const{message:r}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getInternalError)("NOT_INITIALIZED",this.name);throw new Error(r)}}registerRelayerEvents(){this.client.core.relayer.on(_walletconnect_core__WEBPACK_IMPORTED_MODULE_0__.RELAYER_EVENTS.message,async r=>{const{topic:e,message:s}=r;if(this.ignoredPayloadTypes.includes(this.client.core.crypto.getPayloadType(s)))return;const t=await this.client.core.crypto.decode(e,s);(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_6__.isJsonRpcRequest)(t)?(this.client.core.history.set(e,t),this.onRelayEventRequest({topic:e,payload:t})):(0,_walletconnect_jsonrpc_utils__WEBPACK_IMPORTED_MODULE_6__.isJsonRpcResponse)(t)&&(await this.client.core.history.resolve(t),this.onRelayEventResponse({topic:e,payload:t}))})}registerExpirerEvents(){this.client.core.expirer.on(_walletconnect_core__WEBPACK_IMPORTED_MODULE_0__.EXPIRER_EVENTS.expired,async r=>{const{topic:e,id:s}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.parseExpirerTarget)(r.target);if(s&&this.client.pendingRequest.keys.includes(s))return await this.deletePendingSessionRequest(s,(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getInternalError)("EXPIRED"),!0);e?this.client.session.keys.includes(e)&&(await this.deleteSession(e,!0),this.client.events.emit("session_expire",{topic:e})):s&&(await this.deleteProposal(s,!0),this.client.events.emit("proposal_expire",{id:s}))})}isValidPairingTopic(r){if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isValidString)(r,!1)){const{message:e}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getInternalError)("MISSING_OR_INVALID",`pairing topic should be a string: ${r}`);throw new Error(e)}if(!this.client.core.pairing.pairings.keys.includes(r)){const{message:e}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getInternalError)("NO_MATCHING_KEY",`pairing topic doesn\'t exist: ${r}`);throw new Error(e)}if((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isExpired)(this.client.core.pairing.pairings.get(r).expiry)){const{message:e}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getInternalError)("EXPIRED",`pairing topic: ${r}`);throw new Error(e)}}async isValidSessionTopic(r){if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isValidString)(r,!1)){const{message:e}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getInternalError)("MISSING_OR_INVALID",`session topic should be a string: ${r}`);throw new Error(e)}if(!this.client.session.keys.includes(r)){const{message:e}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getInternalError)("NO_MATCHING_KEY",`session topic doesn\'t exist: ${r}`);throw new Error(e)}if((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isExpired)(this.client.session.get(r).expiry)){await this.deleteSession(r);const{message:e}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getInternalError)("EXPIRED",`session topic: ${r}`);throw new Error(e)}}async isValidSessionOrPairingTopic(r){if(this.client.session.keys.includes(r))await this.isValidSessionTopic(r);else if(this.client.core.pairing.pairings.keys.includes(r))this.isValidPairingTopic(r);else if((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isValidString)(r,!1)){const{message:e}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getInternalError)("NO_MATCHING_KEY",`session or pairing topic doesn\'t exist: ${r}`);throw new Error(e)}else{const{message:e}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getInternalError)("MISSING_OR_INVALID",`session or pairing topic should be a string: ${r}`);throw new Error(e)}}async isValidProposalId(r){if(!(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isValidId)(r)){const{message:e}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getInternalError)("MISSING_OR_INVALID",`proposal id should be a number: ${r}`);throw new Error(e)}if(!this.client.proposal.keys.includes(r)){const{message:e}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getInternalError)("NO_MATCHING_KEY",`proposal id doesn\'t exist: ${r}`);throw new Error(e)}if((0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.isExpired)(this.client.proposal.get(r).expiry)){await this.deleteProposal(r);const{message:e}=(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getInternalError)("EXPIRED",`proposal id: ${r}`);throw new Error(e)}}}class ts extends _walletconnect_core__WEBPACK_IMPORTED_MODULE_0__.Store{constructor(r,e){super(r,e,ee,b),this.core=r,this.logger=e}}class is extends _walletconnect_core__WEBPACK_IMPORTED_MODULE_0__.Store{constructor(r,e){super(r,e,te,b),this.core=r,this.logger=e}}class rs extends _walletconnect_core__WEBPACK_IMPORTED_MODULE_0__.Store{constructor(r,e){super(r,e,re,b,s=>s.id),this.core=r,this.logger=e}}class $ extends _walletconnect_types__WEBPACK_IMPORTED_MODULE_2__.ISignClient{constructor(r){super(r),this.protocol=j,this.version=k,this.name=C.name,this.events=new events__WEBPACK_IMPORTED_MODULE_4__.EventEmitter,this.on=(s,t)=>this.events.on(s,t),this.once=(s,t)=>this.events.once(s,t),this.off=(s,t)=>this.events.off(s,t),this.removeListener=(s,t)=>this.events.removeListener(s,t),this.removeAllListeners=s=>this.events.removeAllListeners(s),this.connect=async s=>{try{return await this.engine.connect(s)}catch(t){throw this.logger.error(t.message),t}},this.pair=async s=>{try{return await this.engine.pair(s)}catch(t){throw this.logger.error(t.message),t}},this.approve=async s=>{try{return await this.engine.approve(s)}catch(t){throw this.logger.error(t.message),t}},this.reject=async s=>{try{return await this.engine.reject(s)}catch(t){throw this.logger.error(t.message),t}},this.update=async s=>{try{return await this.engine.update(s)}catch(t){throw this.logger.error(t.message),t}},this.extend=async s=>{try{return await this.engine.extend(s)}catch(t){throw this.logger.error(t.message),t}},this.request=async s=>{try{return await this.engine.request(s)}catch(t){throw this.logger.error(t.message),t}},this.respond=async s=>{try{return await this.engine.respond(s)}catch(t){throw this.logger.error(t.message),t}},this.ping=async s=>{try{return await this.engine.ping(s)}catch(t){throw this.logger.error(t.message),t}},this.emit=async s=>{try{return await this.engine.emit(s)}catch(t){throw this.logger.error(t.message),t}},this.disconnect=async s=>{try{return await this.engine.disconnect(s)}catch(t){throw this.logger.error(t.message),t}},this.find=s=>{try{return this.engine.find(s)}catch(t){throw this.logger.error(t.message),t}},this.getPendingSessionRequests=()=>{try{return this.engine.getPendingSessionRequests()}catch(s){throw this.logger.error(s.message),s}},this.name=r?.name||C.name,this.metadata=r?.metadata||(0,_walletconnect_utils__WEBPACK_IMPORTED_MODULE_3__.getAppMetadata)();const e=typeof r?.logger<"u"&&typeof r?.logger!="string"?r.logger:(0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_1__.pino)((0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_1__.getDefaultLoggerOptions)({level:r?.logger||C.logger}));this.core=r?.core||new _walletconnect_core__WEBPACK_IMPORTED_MODULE_0__.Core(r),this.logger=(0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_1__.generateChildLogger)(e,this.name),this.session=new is(this.core,this.logger),this.proposal=new ts(this.core,this.logger),this.pendingRequest=new rs(this.core,this.logger),this.engine=new ss(this)}static async init(r){const e=new $(r);return await e.initialize(),e}get context(){return (0,_walletconnect_logger__WEBPACK_IMPORTED_MODULE_1__.getLoggerContext)(this.logger)}get pairing(){return this.core.pairing.pairings}async initialize(){this.logger.trace("Initialized");try{await this.core.start(),await this.session.init(),await this.proposal.init(),await this.pendingRequest.init(),await this.engine.init(),this.core.verify.init({verifyUrl:this.metadata.verifyUrl}),this.logger.info("SignClient Initialization Success")}catch(r){throw this.logger.info("SignClient Initialization Failure"),this.logger.error(r.message),r}}}const ns=$;\n//# sourceMappingURL=index.es.js.map\n\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/sign-client/dist/index.es.js?')},"./node_modules/@walletconnect/time/dist/cjs/constants/index.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nconst tslib_1 = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");\ntslib_1.__exportStar(__webpack_require__(/*! ./misc */ "./node_modules/@walletconnect/time/dist/cjs/constants/misc.js"), exports);\ntslib_1.__exportStar(__webpack_require__(/*! ./time */ "./node_modules/@walletconnect/time/dist/cjs/constants/time.js"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/time/dist/cjs/constants/index.js?')},"./node_modules/@walletconnect/time/dist/cjs/constants/misc.js":(__unused_webpack_module,exports)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.ONE_THOUSAND = exports.ONE_HUNDRED = void 0;\nexports.ONE_HUNDRED = 100;\nexports.ONE_THOUSAND = 1000;\n//# sourceMappingURL=misc.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/time/dist/cjs/constants/misc.js?')},"./node_modules/@walletconnect/time/dist/cjs/constants/time.js":(__unused_webpack_module,exports)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.ONE_YEAR = exports.FOUR_WEEKS = exports.THREE_WEEKS = exports.TWO_WEEKS = exports.ONE_WEEK = exports.THIRTY_DAYS = exports.SEVEN_DAYS = exports.FIVE_DAYS = exports.THREE_DAYS = exports.ONE_DAY = exports.TWENTY_FOUR_HOURS = exports.TWELVE_HOURS = exports.SIX_HOURS = exports.THREE_HOURS = exports.ONE_HOUR = exports.SIXTY_MINUTES = exports.THIRTY_MINUTES = exports.TEN_MINUTES = exports.FIVE_MINUTES = exports.ONE_MINUTE = exports.SIXTY_SECONDS = exports.THIRTY_SECONDS = exports.TEN_SECONDS = exports.FIVE_SECONDS = exports.ONE_SECOND = void 0;\nexports.ONE_SECOND = 1;\nexports.FIVE_SECONDS = 5;\nexports.TEN_SECONDS = 10;\nexports.THIRTY_SECONDS = 30;\nexports.SIXTY_SECONDS = 60;\nexports.ONE_MINUTE = exports.SIXTY_SECONDS;\nexports.FIVE_MINUTES = exports.ONE_MINUTE * 5;\nexports.TEN_MINUTES = exports.ONE_MINUTE * 10;\nexports.THIRTY_MINUTES = exports.ONE_MINUTE * 30;\nexports.SIXTY_MINUTES = exports.ONE_MINUTE * 60;\nexports.ONE_HOUR = exports.SIXTY_MINUTES;\nexports.THREE_HOURS = exports.ONE_HOUR * 3;\nexports.SIX_HOURS = exports.ONE_HOUR * 6;\nexports.TWELVE_HOURS = exports.ONE_HOUR * 12;\nexports.TWENTY_FOUR_HOURS = exports.ONE_HOUR * 24;\nexports.ONE_DAY = exports.TWENTY_FOUR_HOURS;\nexports.THREE_DAYS = exports.ONE_DAY * 3;\nexports.FIVE_DAYS = exports.ONE_DAY * 5;\nexports.SEVEN_DAYS = exports.ONE_DAY * 7;\nexports.THIRTY_DAYS = exports.ONE_DAY * 30;\nexports.ONE_WEEK = exports.SEVEN_DAYS;\nexports.TWO_WEEKS = exports.ONE_WEEK * 2;\nexports.THREE_WEEKS = exports.ONE_WEEK * 3;\nexports.FOUR_WEEKS = exports.ONE_WEEK * 4;\nexports.ONE_YEAR = exports.ONE_DAY * 365;\n//# sourceMappingURL=time.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/time/dist/cjs/constants/time.js?')},"./node_modules/@walletconnect/time/dist/cjs/index.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nconst tslib_1 = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");\ntslib_1.__exportStar(__webpack_require__(/*! ./utils */ "./node_modules/@walletconnect/time/dist/cjs/utils/index.js"), exports);\ntslib_1.__exportStar(__webpack_require__(/*! ./watch */ "./node_modules/@walletconnect/time/dist/cjs/watch.js"), exports);\ntslib_1.__exportStar(__webpack_require__(/*! ./types */ "./node_modules/@walletconnect/time/dist/cjs/types/index.js"), exports);\ntslib_1.__exportStar(__webpack_require__(/*! ./constants */ "./node_modules/@walletconnect/time/dist/cjs/constants/index.js"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/time/dist/cjs/index.js?')},"./node_modules/@walletconnect/time/dist/cjs/types/index.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nconst tslib_1 = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");\ntslib_1.__exportStar(__webpack_require__(/*! ./watch */ "./node_modules/@walletconnect/time/dist/cjs/types/watch.js"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/time/dist/cjs/types/index.js?')},"./node_modules/@walletconnect/time/dist/cjs/types/watch.js":(__unused_webpack_module,exports)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.IWatch = void 0;\nclass IWatch {\n}\nexports.IWatch = IWatch;\n//# sourceMappingURL=watch.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/time/dist/cjs/types/watch.js?')},"./node_modules/@walletconnect/time/dist/cjs/utils/convert.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.fromMiliseconds = exports.toMiliseconds = void 0;\nconst constants_1 = __webpack_require__(/*! ../constants */ "./node_modules/@walletconnect/time/dist/cjs/constants/index.js");\nfunction toMiliseconds(seconds) {\n return seconds * constants_1.ONE_THOUSAND;\n}\nexports.toMiliseconds = toMiliseconds;\nfunction fromMiliseconds(miliseconds) {\n return Math.floor(miliseconds / constants_1.ONE_THOUSAND);\n}\nexports.fromMiliseconds = fromMiliseconds;\n//# sourceMappingURL=convert.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/time/dist/cjs/utils/convert.js?')},"./node_modules/@walletconnect/time/dist/cjs/utils/delay.js":(__unused_webpack_module,exports)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.delay = void 0;\nfunction delay(timeout) {\n return new Promise(resolve => {\n setTimeout(() => {\n resolve(true);\n }, timeout);\n });\n}\nexports.delay = delay;\n//# sourceMappingURL=delay.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/time/dist/cjs/utils/delay.js?')},"./node_modules/@walletconnect/time/dist/cjs/utils/index.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nconst tslib_1 = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");\ntslib_1.__exportStar(__webpack_require__(/*! ./delay */ "./node_modules/@walletconnect/time/dist/cjs/utils/delay.js"), exports);\ntslib_1.__exportStar(__webpack_require__(/*! ./convert */ "./node_modules/@walletconnect/time/dist/cjs/utils/convert.js"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/time/dist/cjs/utils/index.js?')},"./node_modules/@walletconnect/time/dist/cjs/watch.js":(__unused_webpack_module,exports)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.Watch = void 0;\nclass Watch {\n constructor() {\n this.timestamps = new Map();\n }\n start(label) {\n if (this.timestamps.has(label)) {\n throw new Error(`Watch already started for label: ${label}`);\n }\n this.timestamps.set(label, { started: Date.now() });\n }\n stop(label) {\n const timestamp = this.get(label);\n if (typeof timestamp.elapsed !== "undefined") {\n throw new Error(`Watch already stopped for label: ${label}`);\n }\n const elapsed = Date.now() - timestamp.started;\n this.timestamps.set(label, { started: timestamp.started, elapsed });\n }\n get(label) {\n const timestamp = this.timestamps.get(label);\n if (typeof timestamp === "undefined") {\n throw new Error(`No timestamp found for label: ${label}`);\n }\n return timestamp;\n }\n elapsed(label) {\n const timestamp = this.get(label);\n const elapsed = timestamp.elapsed || Date.now() - timestamp.started;\n return elapsed;\n }\n}\nexports.Watch = Watch;\nexports["default"] = Watch;\n//# sourceMappingURL=watch.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/time/dist/cjs/watch.js?')},"./node_modules/@walletconnect/types/dist/index.es.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ICore: () => (/* binding */ n),\n/* harmony export */ ICrypto: () => (/* binding */ l),\n/* harmony export */ IEngine: () => (/* binding */ S),\n/* harmony export */ IEngineEvents: () => (/* binding */ C),\n/* harmony export */ IExpirer: () => (/* binding */ E),\n/* harmony export */ IJsonRpcHistory: () => (/* binding */ h),\n/* harmony export */ IKeyChain: () => (/* binding */ x),\n/* harmony export */ IMessageTracker: () => (/* binding */ a),\n/* harmony export */ IPairing: () => (/* binding */ m),\n/* harmony export */ IPublisher: () => (/* binding */ u),\n/* harmony export */ IRelayer: () => (/* binding */ g),\n/* harmony export */ ISignClient: () => (/* binding */ b),\n/* harmony export */ ISignClientEvents: () => (/* binding */ v),\n/* harmony export */ IStore: () => (/* binding */ p),\n/* harmony export */ ISubscriber: () => (/* binding */ d),\n/* harmony export */ ISubscriberTopicMap: () => (/* binding */ I),\n/* harmony export */ IVerify: () => (/* binding */ y)\n/* harmony export */ });\n/* harmony import */ var _walletconnect_events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @walletconnect/events */ "./node_modules/@walletconnect/events/dist/esm/index.js");\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! events */ "./node_modules/events/events.js");\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_1__);\nclass n extends _walletconnect_events__WEBPACK_IMPORTED_MODULE_0__.IEvents{constructor(s){super(),this.opts=s,this.protocol="wc",this.version=2}}class l{constructor(s,t,o){this.core=s,this.logger=t}}class h extends _walletconnect_events__WEBPACK_IMPORTED_MODULE_0__.IEvents{constructor(s,t){super(),this.core=s,this.logger=t,this.records=new Map}}class a{constructor(s,t){this.logger=s,this.core=t}}class u extends _walletconnect_events__WEBPACK_IMPORTED_MODULE_0__.IEvents{constructor(s,t){super(),this.relayer=s,this.logger=t}}class g extends _walletconnect_events__WEBPACK_IMPORTED_MODULE_0__.IEvents{constructor(s){super()}}class p{constructor(s,t,o,w){this.core=s,this.logger=t,this.name=o}}class I{constructor(){this.map=new Map}}class d extends _walletconnect_events__WEBPACK_IMPORTED_MODULE_0__.IEvents{constructor(s,t){super(),this.relayer=s,this.logger=t}}class x{constructor(s,t){this.core=s,this.logger=t}}class E extends _walletconnect_events__WEBPACK_IMPORTED_MODULE_0__.IEvents{constructor(s,t){super(),this.core=s,this.logger=t}}class m{constructor(s,t){this.logger=s,this.core=t}}class y{constructor(s,t){this.projectId=s,this.logger=t}}class v extends (events__WEBPACK_IMPORTED_MODULE_1___default()){constructor(){super()}}class b{constructor(s){this.opts=s,this.protocol="wc",this.version=2}}class C extends events__WEBPACK_IMPORTED_MODULE_1__.EventEmitter{constructor(){super()}}class S{constructor(s){this.client=s}}\n//# sourceMappingURL=index.es.js.map\n\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/types/dist/index.es.js?')},"./node_modules/@walletconnect/utils/dist/index.es.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BASE10: () => (/* binding */ G),\n/* harmony export */ BASE16: () => (/* binding */ f),\n/* harmony export */ BASE64: () => (/* binding */ K),\n/* harmony export */ COLON: () => (/* binding */ kn),\n/* harmony export */ DEFAULT_DEPTH: () => (/* binding */ Z),\n/* harmony export */ EMPTY_SPACE: () => (/* binding */ L),\n/* harmony export */ ENV_MAP: () => (/* binding */ _),\n/* harmony export */ ONE_THOUSAND: () => (/* binding */ Ln),\n/* harmony export */ REACT_NATIVE_PRODUCT: () => (/* binding */ Ue),\n/* harmony export */ RELAYER_DEFAULT_PROTOCOL: () => (/* binding */ xe),\n/* harmony export */ SDK_TYPE: () => (/* binding */ we),\n/* harmony export */ SLASH: () => (/* binding */ _e),\n/* harmony export */ TYPE_0: () => (/* binding */ Y),\n/* harmony export */ TYPE_1: () => (/* binding */ U),\n/* harmony export */ UTF8: () => (/* binding */ k),\n/* harmony export */ appendToQueryString: () => (/* binding */ $e),\n/* harmony export */ assertType: () => (/* binding */ zn),\n/* harmony export */ buildApprovedNamespaces: () => (/* binding */ Ot),\n/* harmony export */ calcExpiry: () => (/* binding */ rt),\n/* harmony export */ capitalize: () => (/* binding */ Qn),\n/* harmony export */ capitalizeWord: () => (/* binding */ Le),\n/* harmony export */ createDelayedPromise: () => (/* binding */ Zn),\n/* harmony export */ createExpiringPromise: () => (/* binding */ Xn),\n/* harmony export */ decodeTypeByte: () => (/* binding */ j),\n/* harmony export */ decrypt: () => (/* binding */ Cn),\n/* harmony export */ deriveSymKey: () => (/* binding */ Un),\n/* harmony export */ deserialize: () => (/* binding */ Q),\n/* harmony export */ encodeTypeByte: () => (/* binding */ Se),\n/* harmony export */ encrypt: () => (/* binding */ jn),\n/* harmony export */ engineEvent: () => (/* binding */ st),\n/* harmony export */ enumify: () => (/* binding */ Jn),\n/* harmony export */ formatAccountId: () => (/* binding */ Ee),\n/* harmony export */ formatAccountWithChain: () => (/* binding */ gn),\n/* harmony export */ formatChainId: () => (/* binding */ ye),\n/* harmony export */ formatExpirerTarget: () => (/* binding */ ne),\n/* harmony export */ formatIdTarget: () => (/* binding */ nt),\n/* harmony export */ formatMessage: () => (/* binding */ Pn),\n/* harmony export */ formatMessageContext: () => (/* binding */ Bn),\n/* harmony export */ formatRelayParams: () => (/* binding */ ze),\n/* harmony export */ formatRelayRpcUrl: () => (/* binding */ Hn),\n/* harmony export */ formatTopicTarget: () => (/* binding */ et),\n/* harmony export */ formatUA: () => (/* binding */ Me),\n/* harmony export */ formatUri: () => (/* binding */ pt),\n/* harmony export */ generateKeyPair: () => (/* binding */ Rn),\n/* harmony export */ generateRandomBytes32: () => (/* binding */ An),\n/* harmony export */ getAccountsChains: () => (/* binding */ T),\n/* harmony export */ getAccountsFromNamespaces: () => (/* binding */ bn),\n/* harmony export */ getAddressFromAccount: () => (/* binding */ he),\n/* harmony export */ getAddressesFromAccounts: () => (/* binding */ Nn),\n/* harmony export */ getAppMetadata: () => (/* binding */ xn),\n/* harmony export */ getChainFromAccount: () => (/* binding */ ve),\n/* harmony export */ getChainsFromAccounts: () => (/* binding */ ge),\n/* harmony export */ getChainsFromNamespace: () => (/* binding */ V),\n/* harmony export */ getChainsFromNamespaces: () => (/* binding */ On),\n/* harmony export */ getChainsFromRequiredNamespaces: () => (/* binding */ Sn),\n/* harmony export */ getDidAddress: () => (/* binding */ be),\n/* harmony export */ getDidAddressSegments: () => (/* binding */ M),\n/* harmony export */ getDidChainId: () => (/* binding */ Ne),\n/* harmony export */ getEnvironment: () => (/* binding */ ee),\n/* harmony export */ getHttpUrl: () => (/* binding */ qn),\n/* harmony export */ getInternalError: () => (/* binding */ N),\n/* harmony export */ getJavascriptID: () => (/* binding */ Ve),\n/* harmony export */ getJavascriptOS: () => (/* binding */ De),\n/* harmony export */ getLastItems: () => (/* binding */ ke),\n/* harmony export */ getNamespacedDidChainId: () => (/* binding */ In),\n/* harmony export */ getNamespacesChains: () => (/* binding */ Ye),\n/* harmony export */ getNamespacesEventsForChainId: () => (/* binding */ Je),\n/* harmony export */ getNamespacesMethodsForChainId: () => (/* binding */ We),\n/* harmony export */ getRelayClientMetadata: () => (/* binding */ Fn),\n/* harmony export */ getRelayProtocolApi: () => (/* binding */ ct),\n/* harmony export */ getRelayProtocolName: () => (/* binding */ it),\n/* harmony export */ getRequiredNamespacesFromNamespaces: () => (/* binding */ bt),\n/* harmony export */ getSdkError: () => (/* binding */ R),\n/* harmony export */ getUniqueValues: () => (/* binding */ B),\n/* harmony export */ hasOverlap: () => (/* binding */ b),\n/* harmony export */ hashKey: () => (/* binding */ _n),\n/* harmony export */ hashMessage: () => (/* binding */ wn),\n/* harmony export */ isBrowser: () => (/* binding */ Ce),\n/* harmony export */ isCaipNamespace: () => (/* binding */ te),\n/* harmony export */ isConformingNamespaces: () => (/* binding */ cn),\n/* harmony export */ isExpired: () => (/* binding */ ot),\n/* harmony export */ isNode: () => (/* binding */ X),\n/* harmony export */ isProposalStruct: () => (/* binding */ Rt),\n/* harmony export */ isReactNative: () => (/* binding */ je),\n/* harmony export */ isSessionCompatible: () => (/* binding */ Pt),\n/* harmony export */ isSessionStruct: () => (/* binding */ At),\n/* harmony export */ isTypeOneEnvelope: () => (/* binding */ Dn),\n/* harmony export */ isUndefined: () => (/* binding */ S),\n/* harmony export */ isValidAccountId: () => (/* binding */ Ze),\n/* harmony export */ isValidAccounts: () => (/* binding */ nn),\n/* harmony export */ isValidActions: () => (/* binding */ rn),\n/* harmony export */ isValidArray: () => (/* binding */ C),\n/* harmony export */ isValidChainId: () => (/* binding */ H),\n/* harmony export */ isValidChains: () => (/* binding */ Xe),\n/* harmony export */ isValidController: () => (/* binding */ Ut),\n/* harmony export */ isValidErrorReason: () => (/* binding */ $t),\n/* harmony export */ isValidEvent: () => (/* binding */ Mt),\n/* harmony export */ isValidId: () => (/* binding */ jt),\n/* harmony export */ isValidNamespaceAccounts: () => (/* binding */ tn),\n/* harmony export */ isValidNamespaceActions: () => (/* binding */ se),\n/* harmony export */ isValidNamespaceChains: () => (/* binding */ en),\n/* harmony export */ isValidNamespaceMethodsOrEvents: () => (/* binding */ oe),\n/* harmony export */ isValidNamespaces: () => (/* binding */ on),\n/* harmony export */ isValidNamespacesChainId: () => (/* binding */ Kt),\n/* harmony export */ isValidNamespacesEvent: () => (/* binding */ Lt),\n/* harmony export */ isValidNamespacesRequest: () => (/* binding */ kt),\n/* harmony export */ isValidNumber: () => (/* binding */ F),\n/* harmony export */ isValidObject: () => (/* binding */ x),\n/* harmony export */ isValidParams: () => (/* binding */ Ct),\n/* harmony export */ isValidRelay: () => (/* binding */ sn),\n/* harmony export */ isValidRelays: () => (/* binding */ wt),\n/* harmony export */ isValidRequest: () => (/* binding */ Dt),\n/* harmony export */ isValidRequestExpiry: () => (/* binding */ Ht),\n/* harmony export */ isValidRequiredNamespaces: () => (/* binding */ _t),\n/* harmony export */ isValidResponse: () => (/* binding */ Vt),\n/* harmony export */ isValidString: () => (/* binding */ m),\n/* harmony export */ isValidUrl: () => (/* binding */ Tt),\n/* harmony export */ mapEntries: () => (/* binding */ Wn),\n/* harmony export */ mapToObj: () => (/* binding */ Gn),\n/* harmony export */ mergeArrays: () => (/* binding */ O),\n/* harmony export */ normalizeNamespaces: () => (/* binding */ re),\n/* harmony export */ objToMap: () => (/* binding */ Yn),\n/* harmony export */ parseAccountId: () => (/* binding */ z),\n/* harmony export */ parseChainId: () => (/* binding */ me),\n/* harmony export */ parseContextNames: () => (/* binding */ Ke),\n/* harmony export */ parseExpirerTarget: () => (/* binding */ tt),\n/* harmony export */ parseNamespaceKey: () => (/* binding */ Qe),\n/* harmony export */ parseRelayParams: () => (/* binding */ qe),\n/* harmony export */ parseUri: () => (/* binding */ ft),\n/* harmony export */ serialize: () => (/* binding */ Ie),\n/* harmony export */ validateDecoding: () => (/* binding */ $n),\n/* harmony export */ validateEncoding: () => (/* binding */ Pe)\n/* harmony export */ });\n/* harmony import */ var _stablelib_chacha20poly1305__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @stablelib/chacha20poly1305 */ "./node_modules/@stablelib/chacha20poly1305/lib/chacha20poly1305.js");\n/* harmony import */ var _stablelib_hkdf__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @stablelib/hkdf */ "./node_modules/@stablelib/hkdf/lib/hkdf.js");\n/* harmony import */ var _stablelib_random__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @stablelib/random */ "./node_modules/@stablelib/random/lib/random.js");\n/* harmony import */ var _stablelib_sha256__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @stablelib/sha256 */ "./node_modules/@stablelib/sha256/lib/sha256.js");\n/* harmony import */ var _stablelib_x25519__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @stablelib/x25519 */ "./node_modules/@stablelib/x25519/lib/x25519.js");\n/* harmony import */ var uint8arrays__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! uint8arrays */ "./node_modules/uint8arrays/esm/src/index.js");\n/* harmony import */ var detect_browser__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! detect-browser */ "./node_modules/detect-browser/es/index.js");\n/* harmony import */ var _walletconnect_time__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @walletconnect/time */ "./node_modules/@walletconnect/time/dist/cjs/index.js");\n/* harmony import */ var _walletconnect_time__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_walletconnect_time__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _walletconnect_window_getters__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @walletconnect/window-getters */ "./node_modules/@walletconnect/window-getters/dist/cjs/index.js");\n/* harmony import */ var _walletconnect_window_metadata__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @walletconnect/window-metadata */ "./node_modules/@walletconnect/window-metadata/dist/cjs/index.js");\n/* harmony import */ var query_string__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! query-string */ "./node_modules/query-string/index.js");\n/* harmony import */ var _walletconnect_relay_api__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @walletconnect/relay-api */ "./node_modules/@walletconnect/relay-api/dist/esm/index.js");\nconst D=":";function me(e){const[n,t]=e.split(D);return{namespace:n,reference:t}}function ye(e){const{namespace:n,reference:t}=e;return[n,t].join(D)}function z(e){const[n,t,r]=e.split(D);return{namespace:n,reference:t,address:r}}function Ee(e){const{namespace:n,reference:t,address:r}=e;return[n,t,r].join(D)}function B(e,n){const t=[];return e.forEach(r=>{const o=n(r);t.includes(o)||t.push(o)}),t}function he(e){const{address:n}=z(e);return n}function ve(e){const{namespace:n,reference:t}=z(e);return ye({namespace:n,reference:t})}function gn(e,n){const{namespace:t,reference:r}=me(n);return Ee({namespace:t,reference:r,address:e})}function Nn(e){return B(e,he)}function ge(e){return B(e,ve)}function bn(e,n=[]){const t=[];return Object.keys(e).forEach(r=>{if(n.length&&!n.includes(r))return;const o=e[r];t.push(...o.accounts)}),t}function On(e,n=[]){const t=[];return Object.keys(e).forEach(r=>{if(n.length&&!n.includes(r))return;const o=e[r];t.push(...ge(o.accounts))}),t}function Sn(e,n=[]){const t=[];return Object.keys(e).forEach(r=>{if(n.length&&!n.includes(r))return;const o=e[r];t.push(...V(r,o))}),t}function V(e,n){return e.includes(":")?[e]:n.chains||[]}const M=e=>e?.split(":"),Ne=e=>{const n=e&&M(e);if(n)return n[3]},In=e=>{const n=e&&M(e);if(n)return n[2]+":"+n[3]},be=e=>{const n=e&&M(e);if(n)return n.pop()},Pn=(e,n)=>{const t=`${e.domain} wants you to sign in with your Ethereum account:`,r=be(n),o=e.statement,s=`URI: ${e.aud}`,c=`Version: ${e.version}`,d=`Chain ID: ${Ne(n)}`,l=`Nonce: ${e.nonce}`,i=`Issued At: ${e.iat}`,u=e.resources&&e.resources.length>0?`Resources:\n${e.resources.map(a=>`- ${a}`).join(`\n`)}`:void 0;return[t,r,"",o,"",s,c,d,l,i,u].filter(a=>a!=null).join(`\n`)},G="base10",f="base16",K="base64pad",k="utf8",Y=0,U=1,Tn=0,Oe=1,W=12,J=32;function Rn(){const e=_stablelib_x25519__WEBPACK_IMPORTED_MODULE_4__.generateKeyPair();return{privateKey:(0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.toString)(e.secretKey,f),publicKey:(0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.toString)(e.publicKey,f)}}function An(){const e=(0,_stablelib_random__WEBPACK_IMPORTED_MODULE_2__.randomBytes)(J);return (0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.toString)(e,f)}function Un(e,n){const t=_stablelib_x25519__WEBPACK_IMPORTED_MODULE_4__.sharedKey((0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.fromString)(e,f),(0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.fromString)(n,f)),r=new _stablelib_hkdf__WEBPACK_IMPORTED_MODULE_1__.HKDF(_stablelib_sha256__WEBPACK_IMPORTED_MODULE_3__.SHA256,t).expand(J);return (0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.toString)(r,f)}function _n(e){const n=(0,_stablelib_sha256__WEBPACK_IMPORTED_MODULE_3__.hash)((0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.fromString)(e,f));return (0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.toString)(n,f)}function wn(e){const n=(0,_stablelib_sha256__WEBPACK_IMPORTED_MODULE_3__.hash)((0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.fromString)(e,k));return (0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.toString)(n,f)}function Se(e){return (0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.fromString)(`${e}`,G)}function j(e){return Number((0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.toString)(e,G))}function jn(e){const n=Se(typeof e.type<"u"?e.type:Y);if(j(n)===U&&typeof e.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");const t=typeof e.senderPublicKey<"u"?(0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.fromString)(e.senderPublicKey,f):void 0,r=typeof e.iv<"u"?(0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.fromString)(e.iv,f):(0,_stablelib_random__WEBPACK_IMPORTED_MODULE_2__.randomBytes)(W),o=new _stablelib_chacha20poly1305__WEBPACK_IMPORTED_MODULE_0__.ChaCha20Poly1305((0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.fromString)(e.symKey,f)).seal(r,(0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.fromString)(e.message,k));return Ie({type:n,sealed:o,iv:r,senderPublicKey:t})}function Cn(e){const n=new _stablelib_chacha20poly1305__WEBPACK_IMPORTED_MODULE_0__.ChaCha20Poly1305((0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.fromString)(e.symKey,f)),{sealed:t,iv:r}=Q(e.encoded),o=n.open(r,t);if(o===null)throw new Error("Failed to decrypt");return (0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.toString)(o,k)}function Ie(e){if(j(e.type)===U){if(typeof e.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");return (0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.toString)((0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.concat)([e.type,e.senderPublicKey,e.iv,e.sealed]),K)}return (0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.toString)((0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.concat)([e.type,e.iv,e.sealed]),K)}function Q(e){const n=(0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.fromString)(e,K),t=n.slice(Tn,Oe),r=Oe;if(j(t)===U){const d=r+J,l=d+W,i=n.slice(r,d),u=n.slice(d,l),a=n.slice(l);return{type:t,sealed:a,iv:u,senderPublicKey:i}}const o=r+W,s=n.slice(r,o),c=n.slice(o);return{type:t,sealed:c,iv:s}}function $n(e,n){const t=Q(e);return Pe({type:j(t.type),senderPublicKey:typeof t.senderPublicKey<"u"?(0,uint8arrays__WEBPACK_IMPORTED_MODULE_5__.toString)(t.senderPublicKey,f):void 0,receiverPublicKey:n?.receiverPublicKey})}function Pe(e){const n=e?.type||Y;if(n===U){if(typeof e?.senderPublicKey>"u")throw new Error("missing sender public key");if(typeof e?.receiverPublicKey>"u")throw new Error("missing receiver public key")}return{type:n,senderPublicKey:e?.senderPublicKey,receiverPublicKey:e?.receiverPublicKey}}function Dn(e){return e.type===U&&typeof e.senderPublicKey=="string"&&typeof e.receiverPublicKey=="string"}var Vn=Object.defineProperty,Te=Object.getOwnPropertySymbols,Mn=Object.prototype.hasOwnProperty,Kn=Object.prototype.propertyIsEnumerable,Re=(e,n,t)=>n in e?Vn(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,Ae=(e,n)=>{for(var t in n||(n={}))Mn.call(n,t)&&Re(e,t,n[t]);if(Te)for(var t of Te(n))Kn.call(n,t)&&Re(e,t,n[t]);return e};const Ue="ReactNative",_={reactNative:"react-native",node:"node",browser:"browser",unknown:"unknown"},L=" ",kn=":",_e="/",Z=2,Ln=1e3,we="js";function X(){return typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"}function je(){return!(0,_walletconnect_window_getters__WEBPACK_IMPORTED_MODULE_7__.getDocument)()&&!!(0,_walletconnect_window_getters__WEBPACK_IMPORTED_MODULE_7__.getNavigator)()&&navigator.product===Ue}function Ce(){return!X()&&!!(0,_walletconnect_window_getters__WEBPACK_IMPORTED_MODULE_7__.getNavigator)()}function ee(){return je()?_.reactNative:X()?_.node:Ce()?_.browser:_.unknown}function $e(e,n){let t=query_string__WEBPACK_IMPORTED_MODULE_9__.parse(e);return t=Ae(Ae({},t),n),e=query_string__WEBPACK_IMPORTED_MODULE_9__.stringify(t),e}function xn(){return (0,_walletconnect_window_metadata__WEBPACK_IMPORTED_MODULE_8__.getWindowMetadata)()||{name:"",description:"",url:"",icons:[""]}}function Fn(e,n){var t;const r=ee(),o={protocol:e,version:n,env:r};return r==="browser"&&(o.host=((t=(0,_walletconnect_window_getters__WEBPACK_IMPORTED_MODULE_7__.getLocation)())==null?void 0:t.host)||"unknown"),o}function De(){const e=(0,detect_browser__WEBPACK_IMPORTED_MODULE_11__.detect)();if(e===null)return"unknown";const n=e.os?e.os.replace(" ","").toLowerCase():"unknown";return e.type==="browser"?[n,e.name,e.version].join("-"):[n,e.version].join("-")}function Ve(){var e;const n=ee();return n===_.browser?[n,((e=(0,_walletconnect_window_getters__WEBPACK_IMPORTED_MODULE_7__.getLocation)())==null?void 0:e.host)||"unknown"].join(":"):n}function Me(e,n,t){const r=De(),o=Ve();return[[e,n].join("-"),[we,t].join("-"),r,o].join("/")}function Hn({protocol:e,version:n,relayUrl:t,sdkVersion:r,auth:o,projectId:s,useOnCloseEvent:c}){const d=t.split("?"),l=Me(e,n,r),i={auth:o,ua:l,projectId:s,useOnCloseEvent:c||void 0},u=$e(d[1]||"",i);return d[0]+"?"+u}function qn(e){let n=(e.match(/^[^:]+(?=:\\/\\/)/gi)||[])[0];const t=typeof n<"u"?e.split("://")[1]:e;return n=n==="wss"?"https":"http",[n,t].join("://")}function zn(e,n,t){if(!e[n]||typeof e[n]!==t)throw new Error(`Missing or invalid "${n}" param`)}function Ke(e,n=Z){return ke(e.split(_e),n)}function Bn(e){return Ke(e).join(L)}function b(e,n){return e.filter(t=>n.includes(t)).length===e.length}function ke(e,n=Z){return e.slice(Math.max(e.length-n,0))}function Gn(e){return Object.fromEntries(e.entries())}function Yn(e){return new Map(Object.entries(e))}function Wn(e,n){const t={};return Object.keys(e).forEach(r=>{t[r]=n(e[r])}),t}const Jn=e=>e;function Le(e){return e.trim().replace(/^\\w/,n=>n.toUpperCase())}function Qn(e){return e.split(L).map(n=>Le(n)).join(L)}function Zn(e=_walletconnect_time__WEBPACK_IMPORTED_MODULE_6__.FIVE_MINUTES,n){const t=(0,_walletconnect_time__WEBPACK_IMPORTED_MODULE_6__.toMiliseconds)(e||_walletconnect_time__WEBPACK_IMPORTED_MODULE_6__.FIVE_MINUTES);let r,o,s;return{resolve:c=>{s&&r&&(clearTimeout(s),r(c))},reject:c=>{s&&o&&(clearTimeout(s),o(c))},done:()=>new Promise((c,d)=>{s=setTimeout(()=>{d(new Error(n))},t),r=c,o=d})}}function Xn(e,n,t){return new Promise(async(r,o)=>{const s=setTimeout(()=>o(new Error(t)),n);try{const c=await e;r(c)}catch(c){o(c)}clearTimeout(s)})}function ne(e,n){if(typeof n=="string"&&n.startsWith(`${e}:`))return n;if(e.toLowerCase()==="topic"){if(typeof n!="string")throw new Error(\'Value must be "string" for expirer target type: topic\');return`topic:${n}`}else if(e.toLowerCase()==="id"){if(typeof n!="number")throw new Error(\'Value must be "number" for expirer target type: id\');return`id:${n}`}throw new Error(`Unknown expirer target type: ${e}`)}function et(e){return ne("topic",e)}function nt(e){return ne("id",e)}function tt(e){const[n,t]=e.split(":"),r={id:void 0,topic:void 0};if(n==="topic"&&typeof t=="string")r.topic=t;else if(n==="id"&&Number.isInteger(Number(t)))r.id=Number(t);else throw new Error(`Invalid target, expected id:number or topic:string, got ${n}:${t}`);return r}function rt(e,n){return (0,_walletconnect_time__WEBPACK_IMPORTED_MODULE_6__.fromMiliseconds)((n||Date.now())+(0,_walletconnect_time__WEBPACK_IMPORTED_MODULE_6__.toMiliseconds)(e))}function ot(e){return Date.now()>=(0,_walletconnect_time__WEBPACK_IMPORTED_MODULE_6__.toMiliseconds)(e)}function st(e,n){return`${e}${n?`:${n}`:""}`}function O(e=[],n=[]){return[...new Set([...e,...n])]}const xe="irn";function it(e){return e?.relay||{protocol:xe}}function ct(e){const n=_walletconnect_relay_api__WEBPACK_IMPORTED_MODULE_10__.RELAY_JSONRPC[e];if(typeof n>"u")throw new Error(`Relay Protocol not supported: ${e}`);return n}var at=Object.defineProperty,Fe=Object.getOwnPropertySymbols,ut=Object.prototype.hasOwnProperty,dt=Object.prototype.propertyIsEnumerable,He=(e,n,t)=>n in e?at(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,lt=(e,n)=>{for(var t in n||(n={}))ut.call(n,t)&&He(e,t,n[t]);if(Fe)for(var t of Fe(n))dt.call(n,t)&&He(e,t,n[t]);return e};function qe(e,n="-"){const t={},r="relay"+n;return Object.keys(e).forEach(o=>{if(o.startsWith(r)){const s=o.replace(r,""),c=e[o];t[s]=c}}),t}function ft(e){const n=e.indexOf(":"),t=e.indexOf("?")!==-1?e.indexOf("?"):void 0,r=e.substring(0,n),o=e.substring(n+1,t).split("@"),s=typeof t<"u"?e.substring(t):"",c=query_string__WEBPACK_IMPORTED_MODULE_9__.parse(s);return{protocol:r,topic:o[0],version:parseInt(o[1],10),symKey:c.symKey,relay:qe(c)}}function ze(e,n="-"){const t="relay",r={};return Object.keys(e).forEach(o=>{const s=t+n+o;e[o]&&(r[s]=e[o])}),r}function pt(e){return`${e.protocol}:${e.topic}@${e.version}?`+query_string__WEBPACK_IMPORTED_MODULE_9__.stringify(lt({symKey:e.symKey},ze(e.relay)))}var mt=Object.defineProperty,yt=Object.defineProperties,Et=Object.getOwnPropertyDescriptors,Be=Object.getOwnPropertySymbols,ht=Object.prototype.hasOwnProperty,vt=Object.prototype.propertyIsEnumerable,Ge=(e,n,t)=>n in e?mt(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,gt=(e,n)=>{for(var t in n||(n={}))ht.call(n,t)&&Ge(e,t,n[t]);if(Be)for(var t of Be(n))vt.call(n,t)&&Ge(e,t,n[t]);return e},Nt=(e,n)=>yt(e,Et(n));function T(e){const n=[];return e.forEach(t=>{const[r,o]=t.split(":");n.push(`${r}:${o}`)}),n}function Ye(e){const n=[];return Object.values(e).forEach(t=>{n.push(...T(t.accounts))}),n}function We(e,n){const t=[];return Object.values(e).forEach(r=>{T(r.accounts).includes(n)&&t.push(...r.methods)}),t}function Je(e,n){const t=[];return Object.values(e).forEach(r=>{T(r.accounts).includes(n)&&t.push(...r.events)}),t}function bt(e,n){const t=on(e,n);if(t)throw new Error(t.message);const r={};for(const[o,s]of Object.entries(e))r[o]={methods:s.methods,events:s.events,chains:s.accounts.map(c=>`${c.split(":")[0]}:${c.split(":")[1]}`)};return r}function Ot(e){const{proposal:{requiredNamespaces:n,optionalNamespaces:t={}},supportedNamespaces:r}=e,o=re(n),s=re(t),c={};Object.keys(r).forEach(i=>{const u=r[i].chains,a=r[i].methods,g=r[i].events,A=r[i].accounts;c[i]={chains:u,methods:a,events:g,accounts:A}});const d=cn(n,c,"approve()");if(d)throw new Error(d.message);const l={};return Object.keys(o).forEach(i=>{const u=r[i].chains.filter(v=>{var p,y;return(y=(p=o[i])==null?void 0:p.chains)==null?void 0:y.includes(v)}),a=r[i].methods.filter(v=>{var p,y;return(y=(p=o[i])==null?void 0:p.methods)==null?void 0:y.includes(v)}),g=r[i].events.filter(v=>{var p,y;return(y=(p=o[i])==null?void 0:p.events)==null?void 0:y.includes(v)}),A=u.map(v=>r[i].accounts.filter(p=>p.includes(v))).flat();l[i]={chains:u,methods:a,events:g,accounts:A}}),Object.keys(s).forEach(i=>{var u,a,g,A,v,p;if(!r[i])return;const y=(a=(u=s[i])==null?void 0:u.chains)==null?void 0:a.filter(I=>r[i].chains.includes(I)),un=r[i].methods.filter(I=>{var P,w;return(w=(P=s[i])==null?void 0:P.methods)==null?void 0:w.includes(I)}),dn=r[i].events.filter(I=>{var P,w;return(w=(P=s[i])==null?void 0:P.events)==null?void 0:w.includes(I)}),ln=y?.map(I=>r[i].accounts.filter(P=>P.includes(I))).flat();l[i]={chains:O((g=l[i])==null?void 0:g.chains,y),methods:O((A=l[i])==null?void 0:A.methods,un),events:O((v=l[i])==null?void 0:v.events,dn),accounts:O((p=l[i])==null?void 0:p.accounts,ln)}}),l}function te(e){return e.includes(":")}function Qe(e){return te(e)?e.split(":")[0]:e}function re(e){var n,t,r;const o={};if(!x(e))return o;for(const[s,c]of Object.entries(e)){const d=te(s)?[s]:c.chains,l=c.methods||[],i=c.events||[],u=Qe(s);o[u]=Nt(gt({},o[u]),{chains:O(d,(n=o[u])==null?void 0:n.chains),methods:O(l,(t=o[u])==null?void 0:t.methods),events:O(i,(r=o[u])==null?void 0:r.events)})}return o}const St={INVALID_METHOD:{message:"Invalid method.",code:1001},INVALID_EVENT:{message:"Invalid event.",code:1002},INVALID_UPDATE_REQUEST:{message:"Invalid update request.",code:1003},INVALID_EXTEND_REQUEST:{message:"Invalid extend request.",code:1004},INVALID_SESSION_SETTLE_REQUEST:{message:"Invalid session settle request.",code:1005},UNAUTHORIZED_METHOD:{message:"Unauthorized method.",code:3001},UNAUTHORIZED_EVENT:{message:"Unauthorized event.",code:3002},UNAUTHORIZED_UPDATE_REQUEST:{message:"Unauthorized update request.",code:3003},UNAUTHORIZED_EXTEND_REQUEST:{message:"Unauthorized extend request.",code:3004},USER_REJECTED:{message:"User rejected.",code:5e3},USER_REJECTED_CHAINS:{message:"User rejected chains.",code:5001},USER_REJECTED_METHODS:{message:"User rejected methods.",code:5002},USER_REJECTED_EVENTS:{message:"User rejected events.",code:5003},UNSUPPORTED_CHAINS:{message:"Unsupported chains.",code:5100},UNSUPPORTED_METHODS:{message:"Unsupported methods.",code:5101},UNSUPPORTED_EVENTS:{message:"Unsupported events.",code:5102},UNSUPPORTED_ACCOUNTS:{message:"Unsupported accounts.",code:5103},UNSUPPORTED_NAMESPACE_KEY:{message:"Unsupported namespace key.",code:5104},USER_DISCONNECTED:{message:"User disconnected.",code:6e3},SESSION_SETTLEMENT_FAILED:{message:"Session settlement failed.",code:7e3},WC_METHOD_UNSUPPORTED:{message:"Unsupported wc_ method.",code:10001}},It={NOT_INITIALIZED:{message:"Not initialized.",code:1},NO_MATCHING_KEY:{message:"No matching key.",code:2},RESTORE_WILL_OVERRIDE:{message:"Restore will override.",code:3},RESUBSCRIBED:{message:"Resubscribed.",code:4},MISSING_OR_INVALID:{message:"Missing or invalid.",code:5},EXPIRED:{message:"Expired.",code:6},UNKNOWN_TYPE:{message:"Unknown type.",code:7},MISMATCHED_TOPIC:{message:"Mismatched topic.",code:8},NON_CONFORMING_NAMESPACES:{message:"Non conforming namespaces.",code:9}};function N(e,n){const{message:t,code:r}=It[e];return{message:n?`${t} ${n}`:t,code:r}}function R(e,n){const{message:t,code:r}=St[e];return{message:n?`${t} ${n}`:t,code:r}}function C(e,n){return Array.isArray(e)?typeof n<"u"&&e.length?e.every(n):!0:!1}function x(e){return Object.getPrototypeOf(e)===Object.prototype&&Object.keys(e).length}function S(e){return typeof e>"u"}function m(e,n){return n&&S(e)?!0:typeof e=="string"&&Boolean(e.trim().length)}function F(e,n){return n&&S(e)?!0:typeof e=="number"&&!isNaN(e)}function Pt(e,n){const{requiredNamespaces:t}=n,r=Object.keys(e.namespaces),o=Object.keys(t);let s=!0;return b(o,r)?(r.forEach(c=>{const{accounts:d,methods:l,events:i}=e.namespaces[c],u=T(d),a=t[c];(!b(V(c,a),u)||!b(a.methods,l)||!b(a.events,i))&&(s=!1)}),s):!1}function H(e){return m(e,!1)&&e.includes(":")?e.split(":").length===2:!1}function Ze(e){if(m(e,!1)&&e.includes(":")){const n=e.split(":");if(n.length===3){const t=n[0]+":"+n[1];return!!n[2]&&H(t)}}return!1}function Tt(e){if(m(e,!1))try{return typeof new URL(e)<"u"}catch{return!1}return!1}function Rt(e){var n;return(n=e?.proposer)==null?void 0:n.publicKey}function At(e){return e?.topic}function Ut(e,n){let t=null;return m(e?.publicKey,!1)||(t=N("MISSING_OR_INVALID",`${n} controller public key should be a string`)),t}function oe(e){let n=!0;return C(e)?e.length&&(n=e.every(t=>m(t,!1))):n=!1,n}function Xe(e,n,t){let r=null;return C(n)?n.forEach(o=>{r||(!H(o)||!o.includes(e))&&(r=R("UNSUPPORTED_CHAINS",`${t}, chain ${o} should be a string and conform to "namespace:chainId" format`))}):r=R("UNSUPPORTED_CHAINS",`${t}, chains ${n} should be an array of strings conforming to "namespace:chainId" format`),r}function en(e,n){let t=null;return Object.entries(e).forEach(([r,o])=>{if(t)return;const s=Xe(r,V(r,o),`${n} requiredNamespace`);s&&(t=s)}),t}function nn(e,n){let t=null;return C(e)?e.forEach(r=>{t||Ze(r)||(t=R("UNSUPPORTED_ACCOUNTS",`${n}, account ${r} should be a string and conform to "namespace:chainId:address" format`))}):t=R("UNSUPPORTED_ACCOUNTS",`${n}, accounts should be an array of strings conforming to "namespace:chainId:address" format`),t}function tn(e,n){let t=null;return Object.values(e).forEach(r=>{if(t)return;const o=nn(r?.accounts,`${n} namespace`);o&&(t=o)}),t}function rn(e,n){let t=null;return oe(e?.methods)?oe(e?.events)||(t=R("UNSUPPORTED_EVENTS",`${n}, events should be an array of strings or empty array for no events`)):t=R("UNSUPPORTED_METHODS",`${n}, methods should be an array of strings or empty array for no methods`),t}function se(e,n){let t=null;return Object.values(e).forEach(r=>{if(t)return;const o=rn(r,`${n}, namespace`);o&&(t=o)}),t}function _t(e,n,t){let r=null;if(e&&x(e)){const o=se(e,n);o&&(r=o);const s=en(e,n);s&&(r=s)}else r=N("MISSING_OR_INVALID",`${n}, ${t} should be an object with data`);return r}function on(e,n){let t=null;if(e&&x(e)){const r=se(e,n);r&&(t=r);const o=tn(e,n);o&&(t=o)}else t=N("MISSING_OR_INVALID",`${n}, namespaces should be an object with data`);return t}function sn(e){return m(e.protocol,!0)}function wt(e,n){let t=!1;return n&&!e?t=!0:e&&C(e)&&e.length&&e.forEach(r=>{t=sn(r)}),t}function jt(e){return typeof e=="number"}function Ct(e){return typeof e<"u"&&typeof e!==null}function $t(e){return!(!e||typeof e!="object"||!e.code||!F(e.code,!1)||!e.message||!m(e.message,!1))}function Dt(e){return!(S(e)||!m(e.method,!1))}function Vt(e){return!(S(e)||S(e.result)&&S(e.error)||!F(e.id,!1)||!m(e.jsonrpc,!1))}function Mt(e){return!(S(e)||!m(e.name,!1))}function Kt(e,n){return!(!H(n)||!Ye(e).includes(n))}function kt(e,n,t){return m(t,!1)?We(e,n).includes(t):!1}function Lt(e,n,t){return m(t,!1)?Je(e,n).includes(t):!1}function cn(e,n,t){let r=null;const o=xt(e),s=Ft(n),c=Object.keys(o),d=Object.keys(s),l=an(Object.keys(e)),i=an(Object.keys(n)),u=l.filter(a=>!i.includes(a));return u.length&&(r=N("NON_CONFORMING_NAMESPACES",`${t} namespaces keys don\'t satisfy requiredNamespaces.\n Required: ${u.toString()}\n Received: ${Object.keys(n).toString()}`)),b(c,d)||(r=N("NON_CONFORMING_NAMESPACES",`${t} namespaces chains don\'t satisfy required namespaces.\n Required: ${c.toString()}\n Approved: ${d.toString()}`)),Object.keys(n).forEach(a=>{if(!a.includes(":")||r)return;const g=T(n[a].accounts);g.includes(a)||(r=N("NON_CONFORMING_NAMESPACES",`${t} namespaces accounts don\'t satisfy namespace accounts for ${a}\n Required: ${a}\n Approved: ${g.toString()}`))}),c.forEach(a=>{r||(b(o[a].methods,s[a].methods)?b(o[a].events,s[a].events)||(r=N("NON_CONFORMING_NAMESPACES",`${t} namespaces events don\'t satisfy namespace events for ${a}`)):r=N("NON_CONFORMING_NAMESPACES",`${t} namespaces methods don\'t satisfy namespace methods for ${a}`))}),r}function xt(e){const n={};return Object.keys(e).forEach(t=>{var r;t.includes(":")?n[t]=e[t]:(r=e[t].chains)==null||r.forEach(o=>{n[o]={methods:e[t].methods,events:e[t].events}})}),n}function an(e){return[...new Set(e.map(n=>n.includes(":")?n.split(":")[0]:n))]}function Ft(e){const n={};return Object.keys(e).forEach(t=>{if(t.includes(":"))n[t]=e[t];else{const r=T(e[t].accounts);r?.forEach(o=>{n[o]={accounts:e[t].accounts.filter(s=>s.includes(`${o}:`)),methods:e[t].methods,events:e[t].events}})}}),n}function Ht(e,n){return F(e,!1)&&e<=n.max&&e>=n.min}\n//# sourceMappingURL=index.es.js.map\n\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/utils/dist/index.es.js?')},"./node_modules/@walletconnect/window-getters/dist/cjs/index.js":(__unused_webpack_module,exports)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.getLocalStorage = exports.getLocalStorageOrThrow = exports.getCrypto = exports.getCryptoOrThrow = exports.getLocation = exports.getLocationOrThrow = exports.getNavigator = exports.getNavigatorOrThrow = exports.getDocument = exports.getDocumentOrThrow = exports.getFromWindowOrThrow = exports.getFromWindow = void 0;\nfunction getFromWindow(name) {\n let res = undefined;\n if (typeof window !== "undefined" && typeof window[name] !== "undefined") {\n res = window[name];\n }\n return res;\n}\nexports.getFromWindow = getFromWindow;\nfunction getFromWindowOrThrow(name) {\n const res = getFromWindow(name);\n if (!res) {\n throw new Error(`${name} is not defined in Window`);\n }\n return res;\n}\nexports.getFromWindowOrThrow = getFromWindowOrThrow;\nfunction getDocumentOrThrow() {\n return getFromWindowOrThrow("document");\n}\nexports.getDocumentOrThrow = getDocumentOrThrow;\nfunction getDocument() {\n return getFromWindow("document");\n}\nexports.getDocument = getDocument;\nfunction getNavigatorOrThrow() {\n return getFromWindowOrThrow("navigator");\n}\nexports.getNavigatorOrThrow = getNavigatorOrThrow;\nfunction getNavigator() {\n return getFromWindow("navigator");\n}\nexports.getNavigator = getNavigator;\nfunction getLocationOrThrow() {\n return getFromWindowOrThrow("location");\n}\nexports.getLocationOrThrow = getLocationOrThrow;\nfunction getLocation() {\n return getFromWindow("location");\n}\nexports.getLocation = getLocation;\nfunction getCryptoOrThrow() {\n return getFromWindowOrThrow("crypto");\n}\nexports.getCryptoOrThrow = getCryptoOrThrow;\nfunction getCrypto() {\n return getFromWindow("crypto");\n}\nexports.getCrypto = getCrypto;\nfunction getLocalStorageOrThrow() {\n return getFromWindowOrThrow("localStorage");\n}\nexports.getLocalStorageOrThrow = getLocalStorageOrThrow;\nfunction getLocalStorage() {\n return getFromWindow("localStorage");\n}\nexports.getLocalStorage = getLocalStorage;\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/window-getters/dist/cjs/index.js?')},"./node_modules/@walletconnect/window-metadata/dist/cjs/index.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.getWindowMetadata = void 0;\nconst window_getters_1 = __webpack_require__(/*! @walletconnect/window-getters */ "./node_modules/@walletconnect/window-getters/dist/cjs/index.js");\nfunction getWindowMetadata() {\n let doc;\n let loc;\n try {\n doc = window_getters_1.getDocumentOrThrow();\n loc = window_getters_1.getLocationOrThrow();\n }\n catch (e) {\n return null;\n }\n function getIcons() {\n const links = doc.getElementsByTagName("link");\n const icons = [];\n for (let i = 0; i < links.length; i++) {\n const link = links[i];\n const rel = link.getAttribute("rel");\n if (rel) {\n if (rel.toLowerCase().indexOf("icon") > -1) {\n const href = link.getAttribute("href");\n if (href) {\n if (href.toLowerCase().indexOf("https:") === -1 &&\n href.toLowerCase().indexOf("http:") === -1 &&\n href.indexOf("//") !== 0) {\n let absoluteHref = loc.protocol + "//" + loc.host;\n if (href.indexOf("/") === 0) {\n absoluteHref += href;\n }\n else {\n const path = loc.pathname.split("/");\n path.pop();\n const finalPath = path.join("/");\n absoluteHref += finalPath + "/" + href;\n }\n icons.push(absoluteHref);\n }\n else if (href.indexOf("//") === 0) {\n const absoluteUrl = loc.protocol + href;\n icons.push(absoluteUrl);\n }\n else {\n icons.push(href);\n }\n }\n }\n }\n }\n return icons;\n }\n function getWindowMetadataOfAny(...args) {\n const metaTags = doc.getElementsByTagName("meta");\n for (let i = 0; i < metaTags.length; i++) {\n const tag = metaTags[i];\n const attributes = ["itemprop", "property", "name"]\n .map((target) => tag.getAttribute(target))\n .filter((attr) => {\n if (attr) {\n return args.includes(attr);\n }\n return false;\n });\n if (attributes.length && attributes) {\n const content = tag.getAttribute("content");\n if (content) {\n return content;\n }\n }\n }\n return "";\n }\n function getName() {\n let name = getWindowMetadataOfAny("name", "og:site_name", "og:title", "twitter:title");\n if (!name) {\n name = doc.title;\n }\n return name;\n }\n function getDescription() {\n const description = getWindowMetadataOfAny("description", "og:description", "twitter:description", "keywords");\n return description;\n }\n const name = getName();\n const description = getDescription();\n const url = loc.origin;\n const icons = getIcons();\n const meta = {\n description,\n url,\n icons,\n name,\n };\n return meta;\n}\nexports.getWindowMetadata = getWindowMetadata;\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/@walletconnect/window-metadata/dist/cjs/index.js?')},"./node_modules/base-x/src/index.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("\n// base-x encoding / decoding\n// Copyright (c) 2018 base-x contributors\n// Copyright (c) 2014-2018 The Bitcoin Core developers (base58.cpp)\n// Distributed under the MIT software license, see the accompanying\n// file LICENSE or http://www.opensource.org/licenses/mit-license.php.\n// @ts-ignore\nvar _Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\nfunction base (ALPHABET) {\n if (ALPHABET.length >= 255) { throw new TypeError('Alphabet too long') }\n var BASE_MAP = new Uint8Array(256)\n for (var j = 0; j < BASE_MAP.length; j++) {\n BASE_MAP[j] = 255\n }\n for (var i = 0; i < ALPHABET.length; i++) {\n var x = ALPHABET.charAt(i)\n var xc = x.charCodeAt(0)\n if (BASE_MAP[xc] !== 255) { throw new TypeError(x + ' is ambiguous') }\n BASE_MAP[xc] = i\n }\n var BASE = ALPHABET.length\n var LEADER = ALPHABET.charAt(0)\n var FACTOR = Math.log(BASE) / Math.log(256) // log(BASE) / log(256), rounded up\n var iFACTOR = Math.log(256) / Math.log(BASE) // log(256) / log(BASE), rounded up\n function encode (source) {\n if (Array.isArray(source) || source instanceof Uint8Array) { source = _Buffer.from(source) }\n if (!_Buffer.isBuffer(source)) { throw new TypeError('Expected Buffer') }\n if (source.length === 0) { return '' }\n // Skip & count leading zeroes.\n var zeroes = 0\n var length = 0\n var pbegin = 0\n var pend = source.length\n while (pbegin !== pend && source[pbegin] === 0) {\n pbegin++\n zeroes++\n }\n // Allocate enough space in big-endian base58 representation.\n var size = ((pend - pbegin) * iFACTOR + 1) >>> 0\n var b58 = new Uint8Array(size)\n // Process the bytes.\n while (pbegin !== pend) {\n var carry = source[pbegin]\n // Apply \"b58 = b58 * 256 + ch\".\n var i = 0\n for (var it1 = size - 1; (carry !== 0 || i < length) && (it1 !== -1); it1--, i++) {\n carry += (256 * b58[it1]) >>> 0\n b58[it1] = (carry % BASE) >>> 0\n carry = (carry / BASE) >>> 0\n }\n if (carry !== 0) { throw new Error('Non-zero carry') }\n length = i\n pbegin++\n }\n // Skip leading zeroes in base58 result.\n var it2 = size - length\n while (it2 !== size && b58[it2] === 0) {\n it2++\n }\n // Translate the result into a string.\n var str = LEADER.repeat(zeroes)\n for (; it2 < size; ++it2) { str += ALPHABET.charAt(b58[it2]) }\n return str\n }\n function decodeUnsafe (source) {\n if (typeof source !== 'string') { throw new TypeError('Expected String') }\n if (source.length === 0) { return _Buffer.alloc(0) }\n var psz = 0\n // Skip and count leading '1's.\n var zeroes = 0\n var length = 0\n while (source[psz] === LEADER) {\n zeroes++\n psz++\n }\n // Allocate enough space in big-endian base256 representation.\n var size = (((source.length - psz) * FACTOR) + 1) >>> 0 // log(58) / log(256), rounded up.\n var b256 = new Uint8Array(size)\n // Process the characters.\n while (source[psz]) {\n // Decode character\n var carry = BASE_MAP[source.charCodeAt(psz)]\n // Invalid character\n if (carry === 255) { return }\n var i = 0\n for (var it3 = size - 1; (carry !== 0 || i < length) && (it3 !== -1); it3--, i++) {\n carry += (BASE * b256[it3]) >>> 0\n b256[it3] = (carry % 256) >>> 0\n carry = (carry / 256) >>> 0\n }\n if (carry !== 0) { throw new Error('Non-zero carry') }\n length = i\n psz++\n }\n // Skip leading zeroes in b256.\n var it4 = size - length\n while (it4 !== size && b256[it4] === 0) {\n it4++\n }\n var vch = _Buffer.allocUnsafe(zeroes + (size - it4))\n vch.fill(0x00, 0, zeroes)\n var j = zeroes\n while (it4 !== size) {\n vch[j++] = b256[it4++]\n }\n return vch\n }\n function decode (string) {\n var buffer = decodeUnsafe(string)\n if (buffer) { return buffer }\n throw new Error('Non-base' + BASE + ' character')\n }\n return {\n encode: encode,\n decodeUnsafe: decodeUnsafe,\n decode: decode\n }\n}\nmodule.exports = base\n\n\n//# sourceURL=webpack://beacon/./node_modules/base-x/src/index.js?")},"./node_modules/base64-js/index.js":(__unused_webpack_module,exports)=>{"use strict";eval("\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n\n\n//# sourceURL=webpack://beacon/./node_modules/base64-js/index.js?")},"./node_modules/bs58/index.js":(module,__unused_webpack_exports,__webpack_require__)=>{eval("var basex = __webpack_require__(/*! base-x */ \"./node_modules/base-x/src/index.js\")\nvar ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'\n\nmodule.exports = basex(ALPHABET)\n\n\n//# sourceURL=webpack://beacon/./node_modules/bs58/index.js?")},"./node_modules/bs58check/base.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval('\n\nvar base58 = __webpack_require__(/*! bs58 */ "./node_modules/bs58/index.js")\nvar Buffer = (__webpack_require__(/*! safe-buffer */ "./node_modules/safe-buffer/index.js").Buffer)\n\nmodule.exports = function (checksumFn) {\n // Encode a buffer as a base58-check encoded string\n function encode (payload) {\n var checksum = checksumFn(payload)\n\n return base58.encode(Buffer.concat([\n payload,\n checksum\n ], payload.length + 4))\n }\n\n function decodeRaw (buffer) {\n var payload = buffer.slice(0, -4)\n var checksum = buffer.slice(-4)\n var newChecksum = checksumFn(payload)\n\n if (checksum[0] ^ newChecksum[0] |\n checksum[1] ^ newChecksum[1] |\n checksum[2] ^ newChecksum[2] |\n checksum[3] ^ newChecksum[3]) return\n\n return payload\n }\n\n // Decode a base58-check encoded string to a buffer, no result if checksum is wrong\n function decodeUnsafe (string) {\n var buffer = base58.decodeUnsafe(string)\n if (!buffer) return\n\n return decodeRaw(buffer)\n }\n\n function decode (string) {\n var buffer = base58.decode(string)\n var payload = decodeRaw(buffer, checksumFn)\n if (!payload) throw new Error(\'Invalid checksum\')\n return payload\n }\n\n return {\n encode: encode,\n decode: decode,\n decodeUnsafe: decodeUnsafe\n }\n}\n\n\n//# sourceURL=webpack://beacon/./node_modules/bs58check/base.js?')},"./node_modules/bs58check/index.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("\n\nvar createHash = __webpack_require__(/*! create-hash */ \"./node_modules/create-hash/browser.js\")\nvar bs58checkBase = __webpack_require__(/*! ./base */ \"./node_modules/bs58check/base.js\")\n\n// SHA256(SHA256(buffer))\nfunction sha256x2 (buffer) {\n var tmp = createHash('sha256').update(buffer).digest()\n return createHash('sha256').update(tmp).digest()\n}\n\nmodule.exports = bs58checkBase(sha256x2)\n\n\n//# sourceURL=webpack://beacon/./node_modules/bs58check/index.js?")},"./node_modules/buffer/index.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval("/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n\n\nconst base64 = __webpack_require__(/*! base64-js */ \"./node_modules/base64-js/index.js\")\nconst ieee754 = __webpack_require__(/*! ieee754 */ \"./node_modules/ieee754/index.js\")\nconst customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1)\n const proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n const valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n const b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n const length = byteLength(string, encoding) | 0\n let buf = createBuffer(length)\n\n const actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0\n const buf = createBuffer(length)\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n let buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0\n const buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n let x = a.length\n let y = b.length\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n let i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n const buffer = Buffer.allocUnsafe(length)\n let pos = 0\n for (i = 0; i < list.length; ++i) {\n let buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n buf.copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n const len = string.length\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n let loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n const i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n const len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n const len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n const len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n const length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n let str = ''\n const max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return ''\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n let x = thisEnd - thisStart\n let y = end - start\n const len = Math.min(x, y)\n\n const thisCopy = this.slice(thisStart, thisEnd)\n const targetCopy = target.slice(start, end)\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n let indexSize = 1\n let arrLength = arr.length\n let valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n let i\n if (dir) {\n let foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n let found = true\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n const remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n const strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n let i\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n const remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n const res = []\n\n let i = start\n while (i < end) {\n const firstByte = buf[i]\n let codePoint = null\n let bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n const len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = ''\n let i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n const len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n let out = ''\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n const bytes = buf.slice(start, end)\n let res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n const len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n const newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n let val = this[offset + --byteLength]\n let mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n})\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let i = byteLength\n let mul = 1\n let val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24) // Overflow\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let mul = 1\n let i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let i = byteLength - 1\n let mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset + 7] = lo\n lo = lo >> 8\n buf[offset + 6] = lo\n lo = lo >> 8\n buf[offset + 5] = lo\n lo = lo >> 8\n buf[offset + 4] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset + 3] = hi\n hi = hi >> 8\n buf[offset + 2] = hi\n hi = hi >> 8\n buf[offset + 1] = hi\n hi = hi >> 8\n buf[offset] = hi\n return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = 0\n let mul = 1\n let sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = byteLength - 1\n let mul = 1\n let sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n const len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n let i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n const bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n const len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor () {\n super()\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n })\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name\n }\n\n get code () {\n return sym\n }\n\n set code (value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n })\n }\n\n toString () {\n return `${this.name} [${sym}]: ${this.message}`\n }\n }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`\n }\n\n return 'Attempt to access memory outside buffer bounds'\n }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n }, TypeError)\nE('ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`\n let received = input\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n }\n msg += ` It must be ${range}. Received ${received}`\n return msg\n }, RangeError)\n\nfunction addNumericalSeparator (val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n validateNumber(offset, 'offset')\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1))\n }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : ''\n let range\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n }\n checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n}\n\nfunction boundsError (value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type)\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n `>= ${type ? 1 : 0} and <= ${length}`,\n value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n let codePoint\n const length = string.length\n let leadSurrogate = null\n const bytes = []\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n let c, hi, lo\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n let i\n for (i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef'\n const table = new Array(256)\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n throw new Error('BigInt not supported')\n}\n\n\n//# sourceURL=webpack://beacon/./node_modules/buffer/index.js?")},"./node_modules/cipher-base/index.js":(module,__unused_webpack_exports,__webpack_require__)=>{eval("var Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\nvar Transform = (__webpack_require__(/*! stream */ \"./node_modules/stream-browserify/index.js\").Transform)\nvar StringDecoder = (__webpack_require__(/*! string_decoder */ \"./node_modules/string_decoder/lib/string_decoder.js\").StringDecoder)\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\n\nfunction CipherBase (hashMode) {\n Transform.call(this)\n this.hashMode = typeof hashMode === 'string'\n if (this.hashMode) {\n this[hashMode] = this._finalOrDigest\n } else {\n this.final = this._finalOrDigest\n }\n if (this._final) {\n this.__final = this._final\n this._final = null\n }\n this._decoder = null\n this._encoding = null\n}\ninherits(CipherBase, Transform)\n\nCipherBase.prototype.update = function (data, inputEnc, outputEnc) {\n if (typeof data === 'string') {\n data = Buffer.from(data, inputEnc)\n }\n\n var outData = this._update(data)\n if (this.hashMode) return this\n\n if (outputEnc) {\n outData = this._toString(outData, outputEnc)\n }\n\n return outData\n}\n\nCipherBase.prototype.setAutoPadding = function () {}\nCipherBase.prototype.getAuthTag = function () {\n throw new Error('trying to get auth tag in unsupported state')\n}\n\nCipherBase.prototype.setAuthTag = function () {\n throw new Error('trying to set auth tag in unsupported state')\n}\n\nCipherBase.prototype.setAAD = function () {\n throw new Error('trying to set aad in unsupported state')\n}\n\nCipherBase.prototype._transform = function (data, _, next) {\n var err\n try {\n if (this.hashMode) {\n this._update(data)\n } else {\n this.push(this._update(data))\n }\n } catch (e) {\n err = e\n } finally {\n next(err)\n }\n}\nCipherBase.prototype._flush = function (done) {\n var err\n try {\n this.push(this.__final())\n } catch (e) {\n err = e\n }\n\n done(err)\n}\nCipherBase.prototype._finalOrDigest = function (outputEnc) {\n var outData = this.__final() || Buffer.alloc(0)\n if (outputEnc) {\n outData = this._toString(outData, outputEnc, true)\n }\n return outData\n}\n\nCipherBase.prototype._toString = function (value, enc, fin) {\n if (!this._decoder) {\n this._decoder = new StringDecoder(enc)\n this._encoding = enc\n }\n\n if (this._encoding !== enc) throw new Error('can\\'t switch encodings')\n\n var out = this._decoder.write(value)\n if (fin) {\n out += this._decoder.end()\n }\n\n return out\n}\n\nmodule.exports = CipherBase\n\n\n//# sourceURL=webpack://beacon/./node_modules/cipher-base/index.js?")},"./node_modules/create-hash/browser.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval('\nvar inherits = __webpack_require__(/*! inherits */ "./node_modules/inherits/inherits_browser.js")\nvar MD5 = __webpack_require__(/*! md5.js */ "./node_modules/md5.js/index.js")\nvar RIPEMD160 = __webpack_require__(/*! ripemd160 */ "./node_modules/ripemd160/index.js")\nvar sha = __webpack_require__(/*! sha.js */ "./node_modules/sha.js/index.js")\nvar Base = __webpack_require__(/*! cipher-base */ "./node_modules/cipher-base/index.js")\n\nfunction Hash (hash) {\n Base.call(this, \'digest\')\n\n this._hash = hash\n}\n\ninherits(Hash, Base)\n\nHash.prototype._update = function (data) {\n this._hash.update(data)\n}\n\nHash.prototype._final = function () {\n return this._hash.digest()\n}\n\nmodule.exports = function createHash (alg) {\n alg = alg.toLowerCase()\n if (alg === \'md5\') return new MD5()\n if (alg === \'rmd160\' || alg === \'ripemd160\') return new RIPEMD160()\n\n return new Hash(sha(alg))\n}\n\n\n//# sourceURL=webpack://beacon/./node_modules/create-hash/browser.js?')},"./node_modules/decode-uri-component/index.js":module=>{"use strict";eval("\nvar token = '%[a-f0-9]{2}';\nvar singleMatcher = new RegExp('(' + token + ')|([^%]+?)', 'gi');\nvar multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n\ttry {\n\t\t// Try to decode the entire string first\n\t\treturn [decodeURIComponent(components.join(''))];\n\t} catch (err) {\n\t\t// Do nothing\n\t}\n\n\tif (components.length === 1) {\n\t\treturn components;\n\t}\n\n\tsplit = split || 1;\n\n\t// Split the array in 2 parts\n\tvar left = components.slice(0, split);\n\tvar right = components.slice(split);\n\n\treturn Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch (err) {\n\t\tvar tokens = input.match(singleMatcher) || [];\n\n\t\tfor (var i = 1; i < tokens.length; i++) {\n\t\t\tinput = decodeComponents(tokens, i).join('');\n\n\t\t\ttokens = input.match(singleMatcher) || [];\n\t\t}\n\n\t\treturn input;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tvar replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD'\n\t};\n\n\tvar match = multiMatcher.exec(input);\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch (err) {\n\t\t\tvar result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tvar entries = Object.keys(replaceMap);\n\n\tfor (var i = 0; i < entries.length; i++) {\n\t\t// Replace all decoded components\n\t\tvar key = entries[i];\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nmodule.exports = function (encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n\t}\n\n\ttry {\n\t\tencodedURI = encodedURI.replace(/\\+/g, ' ');\n\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch (err) {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n};\n\n\n//# sourceURL=webpack://beacon/./node_modules/decode-uri-component/index.js?")},"./node_modules/detect-browser/es/index.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BotInfo: () => (/* binding */ BotInfo),\n/* harmony export */ BrowserInfo: () => (/* binding */ BrowserInfo),\n/* harmony export */ NodeInfo: () => (/* binding */ NodeInfo),\n/* harmony export */ ReactNativeInfo: () => (/* binding */ ReactNativeInfo),\n/* harmony export */ SearchBotDeviceInfo: () => (/* binding */ SearchBotDeviceInfo),\n/* harmony export */ browserName: () => (/* binding */ browserName),\n/* harmony export */ detect: () => (/* binding */ detect),\n/* harmony export */ detectOS: () => (/* binding */ detectOS),\n/* harmony export */ getNodeVersion: () => (/* binding */ getNodeVersion),\n/* harmony export */ parseUserAgent: () => (/* binding */ parseUserAgent)\n/* harmony export */ });\nvar __spreadArray = (undefined && undefined.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nvar BrowserInfo = /** @class */ (function () {\n function BrowserInfo(name, version, os) {\n this.name = name;\n this.version = version;\n this.os = os;\n this.type = 'browser';\n }\n return BrowserInfo;\n}());\n\nvar NodeInfo = /** @class */ (function () {\n function NodeInfo(version) {\n this.version = version;\n this.type = 'node';\n this.name = 'node';\n this.os = process.platform;\n }\n return NodeInfo;\n}());\n\nvar SearchBotDeviceInfo = /** @class */ (function () {\n function SearchBotDeviceInfo(name, version, os, bot) {\n this.name = name;\n this.version = version;\n this.os = os;\n this.bot = bot;\n this.type = 'bot-device';\n }\n return SearchBotDeviceInfo;\n}());\n\nvar BotInfo = /** @class */ (function () {\n function BotInfo() {\n this.type = 'bot';\n this.bot = true; // NOTE: deprecated test name instead\n this.name = 'bot';\n this.version = null;\n this.os = null;\n }\n return BotInfo;\n}());\n\nvar ReactNativeInfo = /** @class */ (function () {\n function ReactNativeInfo() {\n this.type = 'react-native';\n this.name = 'react-native';\n this.version = null;\n this.os = null;\n }\n return ReactNativeInfo;\n}());\n\n// tslint:disable-next-line:max-line-length\nvar SEARCHBOX_UA_REGEX = /alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/;\nvar SEARCHBOT_OS_REGEX = /(nuhk|curl|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\\ Jeeves\\/Teoma|ia_archiver)/;\nvar REQUIRED_VERSION_PARTS = 3;\nvar userAgentRules = [\n ['aol', /AOLShield\\/([0-9\\._]+)/],\n ['edge', /Edge\\/([0-9\\._]+)/],\n ['edge-ios', /EdgiOS\\/([0-9\\._]+)/],\n ['yandexbrowser', /YaBrowser\\/([0-9\\._]+)/],\n ['kakaotalk', /KAKAOTALK\\s([0-9\\.]+)/],\n ['samsung', /SamsungBrowser\\/([0-9\\.]+)/],\n ['silk', /\\bSilk\\/([0-9._-]+)\\b/],\n ['miui', /MiuiBrowser\\/([0-9\\.]+)$/],\n ['beaker', /BeakerBrowser\\/([0-9\\.]+)/],\n ['edge-chromium', /EdgA?\\/([0-9\\.]+)/],\n [\n 'chromium-webview',\n /(?!Chrom.*OPR)wv\\).*Chrom(?:e|ium)\\/([0-9\\.]+)(:?\\s|$)/,\n ],\n ['chrome', /(?!Chrom.*OPR)Chrom(?:e|ium)\\/([0-9\\.]+)(:?\\s|$)/],\n ['phantomjs', /PhantomJS\\/([0-9\\.]+)(:?\\s|$)/],\n ['crios', /CriOS\\/([0-9\\.]+)(:?\\s|$)/],\n ['firefox', /Firefox\\/([0-9\\.]+)(?:\\s|$)/],\n ['fxios', /FxiOS\\/([0-9\\.]+)/],\n ['opera-mini', /Opera Mini.*Version\\/([0-9\\.]+)/],\n ['opera', /Opera\\/([0-9\\.]+)(?:\\s|$)/],\n ['opera', /OPR\\/([0-9\\.]+)(:?\\s|$)/],\n ['pie', /^Microsoft Pocket Internet Explorer\\/(\\d+\\.\\d+)$/],\n ['pie', /^Mozilla\\/\\d\\.\\d+\\s\\(compatible;\\s(?:MSP?IE|MSInternet Explorer) (\\d+\\.\\d+);.*Windows CE.*\\)$/],\n ['netfront', /^Mozilla\\/\\d\\.\\d+.*NetFront\\/(\\d.\\d)/],\n ['ie', /Trident\\/7\\.0.*rv\\:([0-9\\.]+).*\\).*Gecko$/],\n ['ie', /MSIE\\s([0-9\\.]+);.*Trident\\/[4-7].0/],\n ['ie', /MSIE\\s(7\\.0)/],\n ['bb10', /BB10;\\sTouch.*Version\\/([0-9\\.]+)/],\n ['android', /Android\\s([0-9\\.]+)/],\n ['ios', /Version\\/([0-9\\._]+).*Mobile.*Safari.*/],\n ['safari', /Version\\/([0-9\\._]+).*Safari/],\n ['facebook', /FB[AS]V\\/([0-9\\.]+)/],\n ['instagram', /Instagram\\s([0-9\\.]+)/],\n ['ios-webview', /AppleWebKit\\/([0-9\\.]+).*Mobile/],\n ['ios-webview', /AppleWebKit\\/([0-9\\.]+).*Gecko\\)$/],\n ['curl', /^curl\\/([0-9\\.]+)$/],\n ['searchbot', SEARCHBOX_UA_REGEX],\n];\nvar operatingSystemRules = [\n ['iOS', /iP(hone|od|ad)/],\n ['Android OS', /Android/],\n ['BlackBerry OS', /BlackBerry|BB10/],\n ['Windows Mobile', /IEMobile/],\n ['Amazon OS', /Kindle/],\n ['Windows 3.11', /Win16/],\n ['Windows 95', /(Windows 95)|(Win95)|(Windows_95)/],\n ['Windows 98', /(Windows 98)|(Win98)/],\n ['Windows 2000', /(Windows NT 5.0)|(Windows 2000)/],\n ['Windows XP', /(Windows NT 5.1)|(Windows XP)/],\n ['Windows Server 2003', /(Windows NT 5.2)/],\n ['Windows Vista', /(Windows NT 6.0)/],\n ['Windows 7', /(Windows NT 6.1)/],\n ['Windows 8', /(Windows NT 6.2)/],\n ['Windows 8.1', /(Windows NT 6.3)/],\n ['Windows 10', /(Windows NT 10.0)/],\n ['Windows ME', /Windows ME/],\n ['Windows CE', /Windows CE|WinCE|Microsoft Pocket Internet Explorer/],\n ['Open BSD', /OpenBSD/],\n ['Sun OS', /SunOS/],\n ['Chrome OS', /CrOS/],\n ['Linux', /(Linux)|(X11)/],\n ['Mac OS', /(Mac_PowerPC)|(Macintosh)/],\n ['QNX', /QNX/],\n ['BeOS', /BeOS/],\n ['OS/2', /OS\\/2/],\n];\nfunction detect(userAgent) {\n if (!!userAgent) {\n return parseUserAgent(userAgent);\n }\n if (typeof document === 'undefined' &&\n typeof navigator !== 'undefined' &&\n navigator.product === 'ReactNative') {\n return new ReactNativeInfo();\n }\n if (typeof navigator !== 'undefined') {\n return parseUserAgent(navigator.userAgent);\n }\n return getNodeVersion();\n}\nfunction matchUserAgent(ua) {\n // opted for using reduce here rather than Array#first with a regex.test call\n // this is primarily because using the reduce we only perform the regex\n // execution once rather than once for the test and for the exec again below\n // probably something that needs to be benchmarked though\n return (ua !== '' &&\n userAgentRules.reduce(function (matched, _a) {\n var browser = _a[0], regex = _a[1];\n if (matched) {\n return matched;\n }\n var uaMatch = regex.exec(ua);\n return !!uaMatch && [browser, uaMatch];\n }, false));\n}\nfunction browserName(ua) {\n var data = matchUserAgent(ua);\n return data ? data[0] : null;\n}\nfunction parseUserAgent(ua) {\n var matchedRule = matchUserAgent(ua);\n if (!matchedRule) {\n return null;\n }\n var name = matchedRule[0], match = matchedRule[1];\n if (name === 'searchbot') {\n return new BotInfo();\n }\n // Do not use RegExp for split operation as some browser do not support it (See: http://blog.stevenlevithan.com/archives/cross-browser-split)\n var versionParts = match[1] && match[1].split('.').join('_').split('_').slice(0, 3);\n if (versionParts) {\n if (versionParts.length < REQUIRED_VERSION_PARTS) {\n versionParts = __spreadArray(__spreadArray([], versionParts, true), createVersionParts(REQUIRED_VERSION_PARTS - versionParts.length), true);\n }\n }\n else {\n versionParts = [];\n }\n var version = versionParts.join('.');\n var os = detectOS(ua);\n var searchBotMatch = SEARCHBOT_OS_REGEX.exec(ua);\n if (searchBotMatch && searchBotMatch[1]) {\n return new SearchBotDeviceInfo(name, version, os, searchBotMatch[1]);\n }\n return new BrowserInfo(name, version, os);\n}\nfunction detectOS(ua) {\n for (var ii = 0, count = operatingSystemRules.length; ii < count; ii++) {\n var _a = operatingSystemRules[ii], os = _a[0], regex = _a[1];\n var match = regex.exec(ua);\n if (match) {\n return os;\n }\n }\n return null;\n}\nfunction getNodeVersion() {\n var isNode = typeof process !== 'undefined' && process.version;\n return isNode ? new NodeInfo(process.version.slice(1)) : null;\n}\nfunction createVersionParts(count) {\n var output = [];\n for (var ii = 0; ii < count; ii++) {\n output.push('0');\n }\n return output;\n}\n\n\n//# sourceURL=webpack://beacon/./node_modules/detect-browser/es/index.js?")},"./node_modules/events/events.js":module=>{"use strict";eval("// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n\n\n//# sourceURL=webpack://beacon/./node_modules/events/events.js?")},"./node_modules/filter-obj/index.js":module=>{"use strict";eval("\nmodule.exports = function (obj, predicate) {\n\tvar ret = {};\n\tvar keys = Object.keys(obj);\n\tvar isArr = Array.isArray(predicate);\n\n\tfor (var i = 0; i < keys.length; i++) {\n\t\tvar key = keys[i];\n\t\tvar val = obj[key];\n\n\t\tif (isArr ? predicate.indexOf(key) !== -1 : predicate(key, val, obj)) {\n\t\t\tret[key] = val;\n\t\t}\n\t}\n\n\treturn ret;\n};\n\n\n//# sourceURL=webpack://beacon/./node_modules/filter-obj/index.js?")},"./node_modules/hash-base/index.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\nvar Transform = (__webpack_require__(/*! readable-stream */ \"./node_modules/hash-base/node_modules/readable-stream/readable-browser.js\").Transform)\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\n\nfunction throwIfNotStringOrBuffer (val, prefix) {\n if (!Buffer.isBuffer(val) && typeof val !== 'string') {\n throw new TypeError(prefix + ' must be a string or a buffer')\n }\n}\n\nfunction HashBase (blockSize) {\n Transform.call(this)\n\n this._block = Buffer.allocUnsafe(blockSize)\n this._blockSize = blockSize\n this._blockOffset = 0\n this._length = [0, 0, 0, 0]\n\n this._finalized = false\n}\n\ninherits(HashBase, Transform)\n\nHashBase.prototype._transform = function (chunk, encoding, callback) {\n var error = null\n try {\n this.update(chunk, encoding)\n } catch (err) {\n error = err\n }\n\n callback(error)\n}\n\nHashBase.prototype._flush = function (callback) {\n var error = null\n try {\n this.push(this.digest())\n } catch (err) {\n error = err\n }\n\n callback(error)\n}\n\nHashBase.prototype.update = function (data, encoding) {\n throwIfNotStringOrBuffer(data, 'Data')\n if (this._finalized) throw new Error('Digest already called')\n if (!Buffer.isBuffer(data)) data = Buffer.from(data, encoding)\n\n // consume data\n var block = this._block\n var offset = 0\n while (this._blockOffset + data.length - offset >= this._blockSize) {\n for (var i = this._blockOffset; i < this._blockSize;) block[i++] = data[offset++]\n this._update()\n this._blockOffset = 0\n }\n while (offset < data.length) block[this._blockOffset++] = data[offset++]\n\n // update length\n for (var j = 0, carry = data.length * 8; carry > 0; ++j) {\n this._length[j] += carry\n carry = (this._length[j] / 0x0100000000) | 0\n if (carry > 0) this._length[j] -= 0x0100000000 * carry\n }\n\n return this\n}\n\nHashBase.prototype._update = function () {\n throw new Error('_update is not implemented')\n}\n\nHashBase.prototype.digest = function (encoding) {\n if (this._finalized) throw new Error('Digest already called')\n this._finalized = true\n\n var digest = this._digest()\n if (encoding !== undefined) digest = digest.toString(encoding)\n\n // reset state\n this._block.fill(0)\n this._blockOffset = 0\n for (var i = 0; i < 4; ++i) this._length[i] = 0\n\n return digest\n}\n\nHashBase.prototype._digest = function () {\n throw new Error('_digest is not implemented')\n}\n\nmodule.exports = HashBase\n\n\n//# sourceURL=webpack://beacon/./node_modules/hash-base/index.js?")},"./node_modules/hash-base/node_modules/readable-stream/errors-browser.js":module=>{"use strict";eval("\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar codes = {};\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n\n var NodeError =\n /*#__PURE__*/\n function (_Base) {\n _inheritsLoose(NodeError, _Base);\n\n function NodeError(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n\n return NodeError;\n }(Base);\n\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {\n return 'The value \"' + value + '\" is invalid for option \"' + name + '\"';\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n // determiner: 'must be' or 'must not be'\n var determiner;\n\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n var msg;\n\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n }\n\n msg += \". Received type \".concat(typeof actual);\n return msg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');\ncreateErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {\n return 'The ' + name + ' method is not implemented';\n});\ncreateErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');\ncreateErrorType('ERR_STREAM_DESTROYED', function (name) {\n return 'Cannot call ' + name + ' after a stream was destroyed';\n});\ncreateErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');\ncreateErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');\ncreateErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');\ncreateErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);\ncreateErrorType('ERR_UNKNOWN_ENCODING', function (arg) {\n return 'Unknown encoding: ' + arg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');\nmodule.exports.codes = codes;\n\n\n//# sourceURL=webpack://beacon/./node_modules/hash-base/node_modules/readable-stream/errors-browser.js?")},"./node_modules/hash-base/node_modules/readable-stream/lib/_stream_duplex.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\n\n\n/**/\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n};\n/**/\n\nmodule.exports = Duplex;\nvar Readable = __webpack_require__(/*! ./_stream_readable */ \"./node_modules/hash-base/node_modules/readable-stream/lib/_stream_readable.js\");\nvar Writable = __webpack_require__(/*! ./_stream_writable */ \"./node_modules/hash-base/node_modules/readable-stream/lib/_stream_writable.js\");\n__webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")(Duplex, Readable);\n{\n // Allow the keys array to be GC'ed.\n var keys = objectKeys(Writable.prototype);\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n if (options) {\n if (options.readable === false) this.readable = false;\n if (options.writable === false) this.writable = false;\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once('end', onend);\n }\n }\n}\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\n\n// the no-half-open enforcer\nfunction onend() {\n // If the writable side ended, then we're ok.\n if (this._writableState.ended) return;\n\n // no more data can be written.\n // But allow more writes to happen in this tick.\n process.nextTick(onEndNT, this);\n}\nfunction onEndNT(self) {\n self.end();\n}\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});\n\n//# sourceURL=webpack://beacon/./node_modules/hash-base/node_modules/readable-stream/lib/_stream_duplex.js?")},"./node_modules/hash-base/node_modules/readable-stream/lib/_stream_passthrough.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval('// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// "Software"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n\n\n\nmodule.exports = PassThrough;\nvar Transform = __webpack_require__(/*! ./_stream_transform */ "./node_modules/hash-base/node_modules/readable-stream/lib/_stream_transform.js");\n__webpack_require__(/*! inherits */ "./node_modules/inherits/inherits_browser.js")(PassThrough, Transform);\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n Transform.call(this, options);\n}\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};\n\n//# sourceURL=webpack://beacon/./node_modules/hash-base/node_modules/readable-stream/lib/_stream_passthrough.js?')},"./node_modules/hash-base/node_modules/readable-stream/lib/_stream_readable.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n\nmodule.exports = Readable;\n\n/**/\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n\n/**/\nvar EE = (__webpack_require__(/*! events */ \"./node_modules/events/events.js\").EventEmitter);\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\nvar Stream = __webpack_require__(/*! ./internal/streams/stream */ \"./node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/stream-browser.js\");\n/**/\n\nvar Buffer = (__webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\").Buffer);\nvar OurUint8Array = (typeof __webpack_require__.g !== 'undefined' ? __webpack_require__.g : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/**/\nvar debugUtil = __webpack_require__(/*! util */ \"?1e44\");\nvar debug;\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function debug() {};\n}\n/**/\n\nvar BufferList = __webpack_require__(/*! ./internal/streams/buffer_list */ \"./node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/buffer_list.js\");\nvar destroyImpl = __webpack_require__(/*! ./internal/streams/destroy */ \"./node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/destroy.js\");\nvar _require = __webpack_require__(/*! ./internal/streams/state */ \"./node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/state.js\"),\n getHighWaterMark = _require.getHighWaterMark;\nvar _require$codes = (__webpack_require__(/*! ../errors */ \"./node_modules/hash-base/node_modules/readable-stream/errors-browser.js\").codes),\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;\n\n// Lazy loaded to improve the startup performance.\nvar StringDecoder;\nvar createReadableStreamAsyncIterator;\nvar from;\n__webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")(Readable, Stream);\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);\n\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\nfunction ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || __webpack_require__(/*! ./_stream_duplex */ \"./node_modules/hash-base/node_modules/readable-stream/lib/_stream_duplex.js\");\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;\n\n // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n\n // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex);\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n\n // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n this.sync = true;\n\n // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true;\n\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = options.emitClose !== false;\n\n // Should .destroy() be called after 'end' (and potentially 'finish')\n this.autoDestroy = !!options.autoDestroy;\n\n // has it been destroyed\n this.destroyed = false;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // the number of writers that are awaiting a drain event in .pipe()s\n this.awaitDrain = 0;\n\n // if true, a maybeReadMore has been scheduled\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = (__webpack_require__(/*! string_decoder/ */ \"./node_modules/string_decoder/lib/string_decoder.js\").StringDecoder);\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\nfunction Readable(options) {\n Duplex = Duplex || __webpack_require__(/*! ./_stream_duplex */ \"./node_modules/hash-base/node_modules/readable-stream/lib/_stream_duplex.js\");\n if (!(this instanceof Readable)) return new Readable(options);\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex);\n\n // legacy\n this.readable = true;\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n Stream.call(this);\n}\nObject.defineProperty(Readable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n }\n});\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\nReadable.prototype._destroy = function (err, cb) {\n cb(err);\n};\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug('readableAddChunk', chunk);\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (addToFront) {\n if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n }\n\n // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n}\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit('data', chunk);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n if (state.needReadable) emitReadable(stream);\n }\n maybeReadMore(stream, state);\n}\nfunction chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);\n }\n return er;\n}\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n};\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = (__webpack_require__(/*! string_decoder/ */ \"./node_modules/string_decoder/lib/string_decoder.js\").StringDecoder);\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder;\n // If setEncoding(null), decoder.encoding equals utf8\n this._readableState.encoding = this._readableState.decoder.encoding;\n\n // Iterate over current buffer to convert already stored Buffers:\n var p = this._readableState.buffer.head;\n var content = '';\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n this._readableState.buffer.clear();\n if (content !== '') this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n};\n\n// Don't raise the hwm > 1GB\nvar MAX_HWM = 0x40000000;\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n }\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n;\n // Don't have enough\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n}\n\n// you can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0) state.emittedReadable = false;\n\n // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n n = howMuchToRead(n, state);\n\n // if we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n var doRead = state.needReadable;\n debug('need readable', doRead);\n\n // if we currently have less than the highWaterMark, then also read some\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n }\n\n // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true;\n // if the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.needReadable = true;\n // call internal read method\n this._read(state.highWaterMark);\n state.sync = false;\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true;\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) endReadable(this);\n }\n if (ret !== null) this.emit('data', ret);\n return ret;\n};\nfunction onEofChunk(stream, state) {\n debug('onEofChunk');\n if (state.ended) return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n if (state.sync) {\n // if we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call\n emitReadable(stream);\n } else {\n // emit 'readable' now to make sure it gets picked up.\n state.needReadable = false;\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n var state = stream._readableState;\n debug('emitReadable', state.needReadable, state.emittedReadable);\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n}\nfunction emitReadable_(stream) {\n var state = stream._readableState;\n debug('emitReadable_', state.destroyed, state.length, state.ended);\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit('readable');\n state.emittedReadable = false;\n }\n\n // The stream needs another readable event if\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n}\n\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n}\nfunction maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length)\n // didn't get any data, stop spinning.\n break;\n }\n state.readingMore = false;\n}\n\n// abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));\n};\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);\n dest.on('unpipe', onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n function onend() {\n debug('onend');\n dest.end();\n }\n\n // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n var cleanedUp = false;\n function cleanup() {\n debug('cleanup');\n // cleanup event handlers once the pipe is broken\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n cleanedUp = true;\n\n // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n src.on('data', ondata);\n function ondata(chunk) {\n debug('ondata');\n var ret = dest.write(chunk);\n debug('dest.write', ret);\n if (ret === false) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', state.awaitDrain);\n state.awaitDrain++;\n }\n src.pause();\n }\n }\n\n // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror);\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n dest.once('close', onclose);\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n dest.once('finish', onfinish);\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n }\n\n // tell the dest that it's being piped to\n dest.emit('pipe', src);\n\n // start the flow if it hasn't been started already.\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n return dest;\n};\nfunction pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n };\n\n // if we're not piping anywhere, then do nothing.\n if (state.pipesCount === 0) return this;\n\n // just one destination. most common case.\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n if (!dest) dest = state.pipes;\n\n // got a match.\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n }\n\n // slow case. multiple pipe destinations.\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n for (var i = 0; i < len; i++) dests[i].emit('unpipe', this, {\n hasUnpiped: false\n });\n return this;\n }\n\n // try to find the right one.\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n dest.emit('unpipe', this, unpipeInfo);\n return this;\n};\n\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n if (ev === 'data') {\n // update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount('readable') > 0;\n\n // Try start flowing on next tick if stream isn't explicitly paused\n if (state.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug('on readable', state.length, state.reading);\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\nReadable.prototype.removeListener = function (ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n if (ev === 'readable') {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n return res;\n};\nReadable.prototype.removeAllListeners = function (ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n if (ev === 'readable' || ev === undefined) {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n return res;\n};\nfunction updateReadableListening(self) {\n var state = self._readableState;\n state.readableListening = self.listenerCount('readable') > 0;\n if (state.resumeScheduled && !state.paused) {\n // flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true;\n\n // crude way to check if we should resume\n } else if (self.listenerCount('data') > 0) {\n self.resume();\n }\n}\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n var state = this._readableState;\n if (!state.flowing) {\n debug('resume');\n // we flow only if there is no one listening\n // for readable, but we still have to call\n // resume()\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n state.paused = false;\n return this;\n};\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n}\nfunction resume_(stream, state) {\n debug('resume', state.reading);\n if (!state.reading) {\n stream.read(0);\n }\n state.resumeScheduled = false;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n if (this._readableState.flowing !== false) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n this._readableState.paused = true;\n return this;\n};\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n while (state.flowing && stream.read() !== null);\n}\n\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n var state = this._readableState;\n var paused = false;\n stream.on('end', function () {\n debug('wrapped end');\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n _this.push(null);\n });\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk);\n\n // don't skip over falsy values in objectMode\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n\n // proxy all the other methods.\n // important when wrapping filters and duplexes.\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n\n // proxy certain important events.\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n\n // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n this._read = function (n) {\n debug('wrapped _read', n);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n return this;\n};\nif (typeof Symbol === 'function') {\n Readable.prototype[Symbol.asyncIterator] = function () {\n if (createReadableStreamAsyncIterator === undefined) {\n createReadableStreamAsyncIterator = __webpack_require__(/*! ./internal/streams/async_iterator */ \"./node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/async_iterator.js\");\n }\n return createReadableStreamAsyncIterator(this);\n };\n}\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableFlowing', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n});\n\n// exposed for testing purposes only.\nReadable._fromList = fromList;\nObject.defineProperty(Readable.prototype, 'readableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n});\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n}\nfunction endReadable(stream) {\n var state = stream._readableState;\n debug('endReadable', state.endEmitted);\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n}\nfunction endReadableNT(state, stream) {\n debug('endReadableNT', state.endEmitted, state.length);\n\n // Check that we didn't get one last unshift.\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well\n var wState = stream._writableState;\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n}\nif (typeof Symbol === 'function') {\n Readable.from = function (iterable, opts) {\n if (from === undefined) {\n from = __webpack_require__(/*! ./internal/streams/from */ \"./node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/from-browser.js\");\n }\n return from(Readable, iterable, opts);\n };\n}\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n return -1;\n}\n\n//# sourceURL=webpack://beacon/./node_modules/hash-base/node_modules/readable-stream/lib/_stream_readable.js?")},"./node_modules/hash-base/node_modules/readable-stream/lib/_stream_transform.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n\n\nmodule.exports = Transform;\nvar _require$codes = (__webpack_require__(/*! ../errors */ \"./node_modules/hash-base/node_modules/readable-stream/errors-browser.js\").codes),\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,\n ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\nvar Duplex = __webpack_require__(/*! ./_stream_duplex */ \"./node_modules/hash-base/node_modules/readable-stream/lib/_stream_duplex.js\");\n__webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")(Transform, Duplex);\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n if (cb === null) {\n return this.emit('error', new ERR_MULTIPLE_CALLBACK());\n }\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null)\n // single equals check for both `null` and `undefined`\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n\n // start out asking for a readable event once data is transformed.\n this._readableState.needReadable = true;\n\n // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false;\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n if (typeof options.flush === 'function') this._flush = options.flush;\n }\n\n // When the writable side finishes, then flush out anything remaining.\n this.on('prefinish', prefinish);\n}\nfunction prefinish() {\n var _this = this;\n if (typeof this._flush === 'function' && !this._readableState.destroyed) {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n};\n\n// This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\nTransform.prototype._transform = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()'));\n};\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n};\n\n// Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\nTransform.prototype._destroy = function (err, cb) {\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n });\n};\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n if (data != null)\n // single equals check for both `null` and `undefined`\n stream.push(data);\n\n // TODO(BridgeAR): Write a test for these two error cases\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n}\n\n//# sourceURL=webpack://beacon/./node_modules/hash-base/node_modules/readable-stream/lib/_stream_transform.js?")},"./node_modules/hash-base/node_modules/readable-stream/lib/_stream_writable.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n\n\nmodule.exports = Writable;\n\n/* */\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n}\n\n// It seems a linked list but it is not\n// there will be only 2 of these for each stream\nfunction CorkedRequest(state) {\n var _this = this;\n this.next = null;\n this.entry = null;\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* */\n\n/**/\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n\n/**/\nvar internalUtil = {\n deprecate: __webpack_require__(/*! util-deprecate */ \"./node_modules/util-deprecate/browser.js\")\n};\n/**/\n\n/**/\nvar Stream = __webpack_require__(/*! ./internal/streams/stream */ \"./node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/stream-browser.js\");\n/**/\n\nvar Buffer = (__webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\").Buffer);\nvar OurUint8Array = (typeof __webpack_require__.g !== 'undefined' ? __webpack_require__.g : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\nvar destroyImpl = __webpack_require__(/*! ./internal/streams/destroy */ \"./node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/destroy.js\");\nvar _require = __webpack_require__(/*! ./internal/streams/state */ \"./node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/state.js\"),\n getHighWaterMark = _require.getHighWaterMark;\nvar _require$codes = (__webpack_require__(/*! ../errors */ \"./node_modules/hash-base/node_modules/readable-stream/errors-browser.js\").codes),\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,\n ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\n__webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")(Writable, Stream);\nfunction nop() {}\nfunction WritableState(options, stream, isDuplex) {\n Duplex = Duplex || __webpack_require__(/*! ./_stream_duplex */ \"./node_modules/hash-base/node_modules/readable-stream/lib/_stream_duplex.js\");\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream,\n // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;\n\n // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;\n\n // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex);\n\n // if _final has been called\n this.finalCalled = false;\n\n // drain event flag.\n this.needDrain = false;\n // at the start of calling end()\n this.ending = false;\n // when end() has been called, and returned\n this.ended = false;\n // when 'finish' is emitted\n this.finished = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n this.length = 0;\n\n // a flag to see when we're in the middle of a write.\n this.writing = false;\n\n // when true all writes will be buffered until .uncork() call\n this.corked = 0;\n\n // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true;\n\n // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n this.bufferProcessing = false;\n\n // the callback that's passed to _write(chunk,cb)\n this.onwrite = function (er) {\n onwrite(stream, er);\n };\n\n // the callback that the user supplies to write(chunk,encoding,cb)\n this.writecb = null;\n\n // the amount that is being written when _write is called.\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n\n // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n this.pendingcb = 0;\n\n // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n this.prefinished = false;\n\n // True if the error was already emitted and should not be thrown again\n this.errorEmitted = false;\n\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = options.emitClose !== false;\n\n // Should .destroy() be called after 'finish' (and potentially 'end')\n this.autoDestroy = !!options.autoDestroy;\n\n // count buffered requests\n this.bufferedRequestCount = 0;\n\n // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n this.corkedRequestsFree = new CorkedRequest(this);\n}\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n};\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})();\n\n// Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\nvar realHasInstance;\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function realHasInstance(object) {\n return object instanceof this;\n };\n}\nfunction Writable(options) {\n Duplex = Duplex || __webpack_require__(/*! ./_stream_duplex */ \"./node_modules/hash-base/node_modules/readable-stream/lib/_stream_duplex.js\");\n\n // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the WritableState constructor, at least with V8 6.5\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex);\n\n // legacy.\n this.writable = true;\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n if (typeof options.writev === 'function') this._writev = options.writev;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n if (typeof options.final === 'function') this._final = options.final;\n }\n Stream.call(this);\n}\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function () {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n};\nfunction writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END();\n // TODO: defer error events consistently everywhere, not just the cb\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n}\n\n// Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\nfunction validChunk(stream, state, chunk, cb) {\n var er;\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== 'string' && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk);\n }\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n return true;\n}\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n if (typeof cb !== 'function') cb = nop;\n if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n};\nWritable.prototype.cork = function () {\n this._writableState.corked++;\n};\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\nObject.defineProperty(Writable.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n return chunk;\n}\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\n\n// if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark;\n // we must ensure that previous needDrain will not be reset to false.\n if (!ret) state.needDrain = true;\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n return ret;\n}\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n process.nextTick(cb, er);\n // this can emit finish, and it will always happen\n // after error\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n // this can emit finish, but finish must\n // always follow error\n finishMaybe(stream, state);\n }\n}\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state) || stream.destroyed;\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n}\n\n// Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n}\n\n// if there's something in the buffer waiting, then process it\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, '', holder.finish);\n\n // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n if (state.writing) {\n break;\n }\n }\n if (entry === null) state.lastBufferedRequest = null;\n }\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()'));\n};\nWritable.prototype._writev = null;\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);\n\n // .end() fully uncorks\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n\n // ignore unnecessary end() calls.\n if (!state.ending) endWritable(this, state, cb);\n return this;\n};\nObject.defineProperty(Writable.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n if (err) {\n errorOrDestroy(stream, err);\n }\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function' && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the readable side is ready for autoDestroy as well\n var rState = stream._readableState;\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n return need;\n}\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished) process.nextTick(cb);else stream.once('finish', cb);\n }\n state.ended = true;\n stream.writable = false;\n}\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n\n // reuse the free corkReq.\n state.corkedRequestsFree.next = corkReq;\n}\nObject.defineProperty(Writable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._writableState === undefined) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._writableState.destroyed = value;\n }\n});\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\nWritable.prototype._destroy = function (err, cb) {\n cb(err);\n};\n\n//# sourceURL=webpack://beacon/./node_modules/hash-base/node_modules/readable-stream/lib/_stream_writable.js?")},"./node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/async_iterator.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("\n\nvar _Object$setPrototypeO;\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar finished = __webpack_require__(/*! ./end-of-stream */ \"./node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/end-of-stream.js\");\nvar kLastResolve = Symbol('lastResolve');\nvar kLastReject = Symbol('lastReject');\nvar kError = Symbol('error');\nvar kEnded = Symbol('ended');\nvar kLastPromise = Symbol('lastPromise');\nvar kHandlePromise = Symbol('handlePromise');\nvar kStream = Symbol('stream');\nfunction createIterResult(value, done) {\n return {\n value: value,\n done: done\n };\n}\nfunction readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n if (resolve !== null) {\n var data = iter[kStream].read();\n // we defer if data is null\n // we can be expecting either 'end' or\n // 'error'\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n}\nfunction onReadable(iter) {\n // we wait for the next tick, because it might\n // emit an error with process.nextTick\n process.nextTick(readAndResolve, iter);\n}\nfunction wrapForNext(lastPromise, iter) {\n return function (resolve, reject) {\n lastPromise.then(function () {\n if (iter[kEnded]) {\n resolve(createIterResult(undefined, true));\n return;\n }\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n}\nvar AsyncIteratorPrototype = Object.getPrototypeOf(function () {});\nvar ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n next: function next() {\n var _this = this;\n // if we have detected an error in the meanwhile\n // reject straight away\n var error = this[kError];\n if (error !== null) {\n return Promise.reject(error);\n }\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(undefined, true));\n }\n if (this[kStream].destroyed) {\n // We need to defer via nextTick because if .destroy(err) is\n // called, the error will be emitted via nextTick, and\n // we cannot guarantee that there is no error lingering around\n // waiting to be emitted.\n return new Promise(function (resolve, reject) {\n process.nextTick(function () {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(undefined, true));\n }\n });\n });\n }\n\n // if we have multiple next() calls\n // we will wait for the previous Promise to finish\n // this logic is optimized to support for await loops,\n // where next() is only called once at a time\n var lastPromise = this[kLastPromise];\n var promise;\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n // fast path needed to support multiple this.push()\n // without triggering the next() queue\n var data = this[kStream].read();\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n promise = new Promise(this[kHandlePromise]);\n }\n this[kLastPromise] = promise;\n return promise;\n }\n}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () {\n return this;\n}), _defineProperty(_Object$setPrototypeO, \"return\", function _return() {\n var _this2 = this;\n // destroy(err, cb) is a private API\n // we can guarantee we have that here, because we control the\n // Readable class this is attached to\n return new Promise(function (resolve, reject) {\n _this2[kStream].destroy(null, function (err) {\n if (err) {\n reject(err);\n return;\n }\n resolve(createIterResult(undefined, true));\n });\n });\n}), _Object$setPrototypeO), AsyncIteratorPrototype);\nvar createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) {\n var _Object$create;\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function (err) {\n if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {\n var reject = iterator[kLastReject];\n // reject if we are waiting for data in the Promise\n // returned by next() and store the error\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n iterator[kError] = err;\n return;\n }\n var resolve = iterator[kLastResolve];\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(undefined, true));\n }\n iterator[kEnded] = true;\n });\n stream.on('readable', onReadable.bind(null, iterator));\n return iterator;\n};\nmodule.exports = createReadableStreamAsyncIterator;\n\n//# sourceURL=webpack://beacon/./node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/async_iterator.js?")},"./node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/buffer_list.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval('\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }\nvar _require = __webpack_require__(/*! buffer */ "./node_modules/buffer/index.js"),\n Buffer = _require.Buffer;\nvar _require2 = __webpack_require__(/*! util */ "?802b"),\n inspect = _require2.inspect;\nvar custom = inspect && inspect.custom || \'inspect\';\nfunction copyBuffer(src, target, offset) {\n Buffer.prototype.copy.call(src, target, offset);\n}\nmodule.exports = /*#__PURE__*/function () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n _createClass(BufferList, [{\n key: "push",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: "unshift",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: "shift",\n value: function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n }\n }, {\n key: "clear",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: "join",\n value: function join(s) {\n if (this.length === 0) return \'\';\n var p = this.head;\n var ret = \'\' + p.data;\n while (p = p.next) ret += s + p.data;\n return ret;\n }\n }, {\n key: "concat",\n value: function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n }\n\n // Consumes a specified amount of bytes or characters from the buffered data.\n }, {\n key: "consume",\n value: function consume(n, hasStrings) {\n var ret;\n if (n < this.head.data.length) {\n // `slice` is the same for buffers and strings.\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n // First chunk is a perfect match.\n ret = this.shift();\n } else {\n // Result spans more than one buffer.\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n return ret;\n }\n }, {\n key: "first",\n value: function first() {\n return this.head.data;\n }\n\n // Consumes a specified amount of characters from the buffered data.\n }, {\n key: "_getString",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n\n // Consumes a specified amount of bytes from the buffered data.\n }, {\n key: "_getBuffer",\n value: function _getBuffer(n) {\n var ret = Buffer.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n\n // Make sure the linked list only shows the minimal necessary information.\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread(_objectSpread({}, options), {}, {\n // Only inspect one level.\n depth: 0,\n // It should not recurse.\n customInspect: false\n }));\n }\n }]);\n return BufferList;\n}();\n\n//# sourceURL=webpack://beacon/./node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/buffer_list.js?')},"./node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/destroy.js":module=>{"use strict";eval("\n\n// undocumented cb() API, needed for core, not for public API\nfunction destroy(err, cb) {\n var _this = this;\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n return this;\n }\n\n // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n\n // if this is a duplex stream mark the writable part as destroyed as well\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n return this;\n}\nfunction emitErrorAndCloseNT(self, err) {\n emitErrorNT(self, err);\n emitCloseNT(self);\n}\nfunction emitCloseNT(self) {\n if (self._writableState && !self._writableState.emitClose) return;\n if (self._readableState && !self._readableState.emitClose) return;\n self.emit('close');\n}\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\nfunction errorOrDestroy(stream, err) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);\n}\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy,\n errorOrDestroy: errorOrDestroy\n};\n\n//# sourceURL=webpack://beacon/./node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/destroy.js?")},"./node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/end-of-stream.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n\n\n\nvar ERR_STREAM_PREMATURE_CLOSE = (__webpack_require__(/*! ../../../errors */ \"./node_modules/hash-base/node_modules/readable-stream/errors-browser.js\").codes.ERR_STREAM_PREMATURE_CLOSE);\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n callback.apply(this, args);\n };\n}\nfunction noop() {}\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\nfunction eos(stream, opts, callback) {\n if (typeof opts === 'function') return eos(stream, null, opts);\n if (!opts) opts = {};\n callback = once(callback || noop);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable = opts.writable || opts.writable !== false && stream.writable;\n var onlegacyfinish = function onlegacyfinish() {\n if (!stream.writable) onfinish();\n };\n var writableEnded = stream._writableState && stream._writableState.finished;\n var onfinish = function onfinish() {\n writable = false;\n writableEnded = true;\n if (!readable) callback.call(stream);\n };\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n var onend = function onend() {\n readable = false;\n readableEnded = true;\n if (!writable) callback.call(stream);\n };\n var onerror = function onerror(err) {\n callback.call(stream, err);\n };\n var onclose = function onclose() {\n var err;\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n if (writable && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n var onrequest = function onrequest() {\n stream.req.on('finish', onfinish);\n };\n if (isRequest(stream)) {\n stream.on('complete', onfinish);\n stream.on('abort', onclose);\n if (stream.req) onrequest();else stream.on('request', onrequest);\n } else if (writable && !stream._writableState) {\n // legacy streams\n stream.on('end', onlegacyfinish);\n stream.on('close', onlegacyfinish);\n }\n stream.on('end', onend);\n stream.on('finish', onfinish);\n if (opts.error !== false) stream.on('error', onerror);\n stream.on('close', onclose);\n return function () {\n stream.removeListener('complete', onfinish);\n stream.removeListener('abort', onclose);\n stream.removeListener('request', onrequest);\n if (stream.req) stream.req.removeListener('finish', onfinish);\n stream.removeListener('end', onlegacyfinish);\n stream.removeListener('close', onlegacyfinish);\n stream.removeListener('finish', onfinish);\n stream.removeListener('end', onend);\n stream.removeListener('error', onerror);\n stream.removeListener('close', onclose);\n };\n}\nmodule.exports = eos;\n\n//# sourceURL=webpack://beacon/./node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/end-of-stream.js?")},"./node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/from-browser.js":module=>{eval("module.exports = function () {\n throw new Error('Readable.from is not available in the browser')\n};\n\n\n//# sourceURL=webpack://beacon/./node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/from-browser.js?")},"./node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/pipeline.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("// Ported from https://github.com/mafintosh/pump with\n// permission from the author, Mathias Buus (@mafintosh).\n\n\n\nvar eos;\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n callback.apply(void 0, arguments);\n };\n}\nvar _require$codes = (__webpack_require__(/*! ../../../errors */ \"./node_modules/hash-base/node_modules/readable-stream/errors-browser.js\").codes),\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\nfunction noop(err) {\n // Rethrow the error if it exists to avoid swallowing it\n if (err) throw err;\n}\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\nfunction destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n var closed = false;\n stream.on('close', function () {\n closed = true;\n });\n if (eos === undefined) eos = __webpack_require__(/*! ./end-of-stream */ \"./node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/end-of-stream.js\");\n eos(stream, {\n readable: reading,\n writable: writing\n }, function (err) {\n if (err) return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function (err) {\n if (closed) return;\n if (destroyed) return;\n destroyed = true;\n\n // request.destroy just do .end - .abort is what we want\n if (isRequest(stream)) return stream.abort();\n if (typeof stream.destroy === 'function') return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED('pipe'));\n };\n}\nfunction call(fn) {\n fn();\n}\nfunction pipe(from, to) {\n return from.pipe(to);\n}\nfunction popCallback(streams) {\n if (!streams.length) return noop;\n if (typeof streams[streams.length - 1] !== 'function') return noop;\n return streams.pop();\n}\nfunction pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n var callback = popCallback(streams);\n if (Array.isArray(streams[0])) streams = streams[0];\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS('streams');\n }\n var error;\n var destroys = streams.map(function (stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return destroyer(stream, reading, writing, function (err) {\n if (!error) error = err;\n if (err) destroys.forEach(call);\n if (reading) return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n}\nmodule.exports = pipeline;\n\n//# sourceURL=webpack://beacon/./node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/pipeline.js?")},"./node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/state.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("\n\nvar ERR_INVALID_OPT_VALUE = (__webpack_require__(/*! ../../../errors */ \"./node_modules/hash-base/node_modules/readable-stream/errors-browser.js\").codes.ERR_INVALID_OPT_VALUE);\nfunction highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n}\nfunction getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : 'highWaterMark';\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n return Math.floor(hwm);\n }\n\n // Default value\n return state.objectMode ? 16 : 16 * 1024;\n}\nmodule.exports = {\n getHighWaterMark: getHighWaterMark\n};\n\n//# sourceURL=webpack://beacon/./node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/state.js?")},"./node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/stream-browser.js":(module,__unused_webpack_exports,__webpack_require__)=>{eval('module.exports = __webpack_require__(/*! events */ "./node_modules/events/events.js").EventEmitter;\n\n\n//# sourceURL=webpack://beacon/./node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/stream-browser.js?')},"./node_modules/hash-base/node_modules/readable-stream/readable-browser.js":(module,exports,__webpack_require__)=>{eval('exports = module.exports = __webpack_require__(/*! ./lib/_stream_readable.js */ "./node_modules/hash-base/node_modules/readable-stream/lib/_stream_readable.js");\nexports.Stream = exports;\nexports.Readable = exports;\nexports.Writable = __webpack_require__(/*! ./lib/_stream_writable.js */ "./node_modules/hash-base/node_modules/readable-stream/lib/_stream_writable.js");\nexports.Duplex = __webpack_require__(/*! ./lib/_stream_duplex.js */ "./node_modules/hash-base/node_modules/readable-stream/lib/_stream_duplex.js");\nexports.Transform = __webpack_require__(/*! ./lib/_stream_transform.js */ "./node_modules/hash-base/node_modules/readable-stream/lib/_stream_transform.js");\nexports.PassThrough = __webpack_require__(/*! ./lib/_stream_passthrough.js */ "./node_modules/hash-base/node_modules/readable-stream/lib/_stream_passthrough.js");\nexports.finished = __webpack_require__(/*! ./lib/internal/streams/end-of-stream.js */ "./node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/end-of-stream.js");\nexports.pipeline = __webpack_require__(/*! ./lib/internal/streams/pipeline.js */ "./node_modules/hash-base/node_modules/readable-stream/lib/internal/streams/pipeline.js");\n\n\n//# sourceURL=webpack://beacon/./node_modules/hash-base/node_modules/readable-stream/readable-browser.js?')},"./node_modules/ieee754/index.js":(__unused_webpack_module,exports)=>{eval("/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n\n\n//# sourceURL=webpack://beacon/./node_modules/ieee754/index.js?")},"./node_modules/inherits/inherits_browser.js":module=>{eval("if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n\n\n//# sourceURL=webpack://beacon/./node_modules/inherits/inherits_browser.js?")},"./node_modules/lodash.isequal/index.js":(module,exports,__webpack_require__)=>{eval("/* module decorator */ module = __webpack_require__.nmd(module);\n/**\n * Lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright JS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof __webpack_require__.g == 'object' && __webpack_require__.g && __webpack_require__.g.Object === Object && __webpack_require__.g;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = true && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && \"object\" == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = isEqual;\n\n\n//# sourceURL=webpack://beacon/./node_modules/lodash.isequal/index.js?")},"./node_modules/md5.js/index.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval('\nvar inherits = __webpack_require__(/*! inherits */ "./node_modules/inherits/inherits_browser.js")\nvar HashBase = __webpack_require__(/*! hash-base */ "./node_modules/hash-base/index.js")\nvar Buffer = (__webpack_require__(/*! safe-buffer */ "./node_modules/safe-buffer/index.js").Buffer)\n\nvar ARRAY16 = new Array(16)\n\nfunction MD5 () {\n HashBase.call(this, 64)\n\n // state\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n}\n\ninherits(MD5, HashBase)\n\nMD5.prototype._update = function () {\n var M = ARRAY16\n for (var i = 0; i < 16; ++i) M[i] = this._block.readInt32LE(i * 4)\n\n var a = this._a\n var b = this._b\n var c = this._c\n var d = this._d\n\n a = fnF(a, b, c, d, M[0], 0xd76aa478, 7)\n d = fnF(d, a, b, c, M[1], 0xe8c7b756, 12)\n c = fnF(c, d, a, b, M[2], 0x242070db, 17)\n b = fnF(b, c, d, a, M[3], 0xc1bdceee, 22)\n a = fnF(a, b, c, d, M[4], 0xf57c0faf, 7)\n d = fnF(d, a, b, c, M[5], 0x4787c62a, 12)\n c = fnF(c, d, a, b, M[6], 0xa8304613, 17)\n b = fnF(b, c, d, a, M[7], 0xfd469501, 22)\n a = fnF(a, b, c, d, M[8], 0x698098d8, 7)\n d = fnF(d, a, b, c, M[9], 0x8b44f7af, 12)\n c = fnF(c, d, a, b, M[10], 0xffff5bb1, 17)\n b = fnF(b, c, d, a, M[11], 0x895cd7be, 22)\n a = fnF(a, b, c, d, M[12], 0x6b901122, 7)\n d = fnF(d, a, b, c, M[13], 0xfd987193, 12)\n c = fnF(c, d, a, b, M[14], 0xa679438e, 17)\n b = fnF(b, c, d, a, M[15], 0x49b40821, 22)\n\n a = fnG(a, b, c, d, M[1], 0xf61e2562, 5)\n d = fnG(d, a, b, c, M[6], 0xc040b340, 9)\n c = fnG(c, d, a, b, M[11], 0x265e5a51, 14)\n b = fnG(b, c, d, a, M[0], 0xe9b6c7aa, 20)\n a = fnG(a, b, c, d, M[5], 0xd62f105d, 5)\n d = fnG(d, a, b, c, M[10], 0x02441453, 9)\n c = fnG(c, d, a, b, M[15], 0xd8a1e681, 14)\n b = fnG(b, c, d, a, M[4], 0xe7d3fbc8, 20)\n a = fnG(a, b, c, d, M[9], 0x21e1cde6, 5)\n d = fnG(d, a, b, c, M[14], 0xc33707d6, 9)\n c = fnG(c, d, a, b, M[3], 0xf4d50d87, 14)\n b = fnG(b, c, d, a, M[8], 0x455a14ed, 20)\n a = fnG(a, b, c, d, M[13], 0xa9e3e905, 5)\n d = fnG(d, a, b, c, M[2], 0xfcefa3f8, 9)\n c = fnG(c, d, a, b, M[7], 0x676f02d9, 14)\n b = fnG(b, c, d, a, M[12], 0x8d2a4c8a, 20)\n\n a = fnH(a, b, c, d, M[5], 0xfffa3942, 4)\n d = fnH(d, a, b, c, M[8], 0x8771f681, 11)\n c = fnH(c, d, a, b, M[11], 0x6d9d6122, 16)\n b = fnH(b, c, d, a, M[14], 0xfde5380c, 23)\n a = fnH(a, b, c, d, M[1], 0xa4beea44, 4)\n d = fnH(d, a, b, c, M[4], 0x4bdecfa9, 11)\n c = fnH(c, d, a, b, M[7], 0xf6bb4b60, 16)\n b = fnH(b, c, d, a, M[10], 0xbebfbc70, 23)\n a = fnH(a, b, c, d, M[13], 0x289b7ec6, 4)\n d = fnH(d, a, b, c, M[0], 0xeaa127fa, 11)\n c = fnH(c, d, a, b, M[3], 0xd4ef3085, 16)\n b = fnH(b, c, d, a, M[6], 0x04881d05, 23)\n a = fnH(a, b, c, d, M[9], 0xd9d4d039, 4)\n d = fnH(d, a, b, c, M[12], 0xe6db99e5, 11)\n c = fnH(c, d, a, b, M[15], 0x1fa27cf8, 16)\n b = fnH(b, c, d, a, M[2], 0xc4ac5665, 23)\n\n a = fnI(a, b, c, d, M[0], 0xf4292244, 6)\n d = fnI(d, a, b, c, M[7], 0x432aff97, 10)\n c = fnI(c, d, a, b, M[14], 0xab9423a7, 15)\n b = fnI(b, c, d, a, M[5], 0xfc93a039, 21)\n a = fnI(a, b, c, d, M[12], 0x655b59c3, 6)\n d = fnI(d, a, b, c, M[3], 0x8f0ccc92, 10)\n c = fnI(c, d, a, b, M[10], 0xffeff47d, 15)\n b = fnI(b, c, d, a, M[1], 0x85845dd1, 21)\n a = fnI(a, b, c, d, M[8], 0x6fa87e4f, 6)\n d = fnI(d, a, b, c, M[15], 0xfe2ce6e0, 10)\n c = fnI(c, d, a, b, M[6], 0xa3014314, 15)\n b = fnI(b, c, d, a, M[13], 0x4e0811a1, 21)\n a = fnI(a, b, c, d, M[4], 0xf7537e82, 6)\n d = fnI(d, a, b, c, M[11], 0xbd3af235, 10)\n c = fnI(c, d, a, b, M[2], 0x2ad7d2bb, 15)\n b = fnI(b, c, d, a, M[9], 0xeb86d391, 21)\n\n this._a = (this._a + a) | 0\n this._b = (this._b + b) | 0\n this._c = (this._c + c) | 0\n this._d = (this._d + d) | 0\n}\n\nMD5.prototype._digest = function () {\n // create padding and handle blocks\n this._block[this._blockOffset++] = 0x80\n if (this._blockOffset > 56) {\n this._block.fill(0, this._blockOffset, 64)\n this._update()\n this._blockOffset = 0\n }\n\n this._block.fill(0, this._blockOffset, 56)\n this._block.writeUInt32LE(this._length[0], 56)\n this._block.writeUInt32LE(this._length[1], 60)\n this._update()\n\n // produce result\n var buffer = Buffer.allocUnsafe(16)\n buffer.writeInt32LE(this._a, 0)\n buffer.writeInt32LE(this._b, 4)\n buffer.writeInt32LE(this._c, 8)\n buffer.writeInt32LE(this._d, 12)\n return buffer\n}\n\nfunction rotl (x, n) {\n return (x << n) | (x >>> (32 - n))\n}\n\nfunction fnF (a, b, c, d, m, k, s) {\n return (rotl((a + ((b & c) | ((~b) & d)) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnG (a, b, c, d, m, k, s) {\n return (rotl((a + ((b & d) | (c & (~d))) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnH (a, b, c, d, m, k, s) {\n return (rotl((a + (b ^ c ^ d) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnI (a, b, c, d, m, k, s) {\n return (rotl((a + ((c ^ (b | (~d)))) + m + k) | 0, s) + b) | 0\n}\n\nmodule.exports = MD5\n\n\n//# sourceURL=webpack://beacon/./node_modules/md5.js/index.js?')},"./node_modules/qrcode-svg/lib/qrcode.js":(module,__unused_webpack_exports,__webpack_require__)=>{eval('/**\n * @fileoverview\n * - modified davidshimjs/qrcodejs library for use in node.js\n * - Using the \'QRCode for Javascript library\'\n * - Fixed dataset of \'QRCode for Javascript library\' for support full-spec.\n * - this library has no dependencies.\n *\n * @version 0.9.1 (2016-02-12)\n * @author davidshimjs, papnkukn\n * @see
http://www.d-project.com/\n * @see http://jeromeetienne.github.com/jquery-qrcode/\n * @see https://github.com/davidshimjs/qrcodejs\n */\n\n//---------------------------------------------------------------------\n// QRCode for JavaScript\n//\n// Copyright (c) 2009 Kazuhiko Arase\n//\n// URL: http://www.d-project.com/\n//\n// Licensed under the MIT license:\n// http://www.opensource.org/licenses/mit-license.php\n//\n// The word "QR Code" is registered trademark of \n// DENSO WAVE INCORPORATED\n// http://www.denso-wave.com/qrcode/faqpatent-e.html\n//\n//---------------------------------------------------------------------\nfunction QR8bitByte(data) {\n this.mode = QRMode.MODE_8BIT_BYTE;\n this.data = data;\n this.parsedData = [];\n\n // Added to support UTF-8 Characters\n for (var i = 0, l = this.data.length; i < l; i++) {\n var byteArray = [];\n var code = this.data.charCodeAt(i);\n\n if (code > 0x10000) {\n byteArray[0] = 0xF0 | ((code & 0x1C0000) >>> 18);\n byteArray[1] = 0x80 | ((code & 0x3F000) >>> 12);\n byteArray[2] = 0x80 | ((code & 0xFC0) >>> 6);\n byteArray[3] = 0x80 | (code & 0x3F);\n } else if (code > 0x800) {\n byteArray[0] = 0xE0 | ((code & 0xF000) >>> 12);\n byteArray[1] = 0x80 | ((code & 0xFC0) >>> 6);\n byteArray[2] = 0x80 | (code & 0x3F);\n } else if (code > 0x80) {\n byteArray[0] = 0xC0 | ((code & 0x7C0) >>> 6);\n byteArray[1] = 0x80 | (code & 0x3F);\n } else {\n byteArray[0] = code;\n }\n\n this.parsedData.push(byteArray);\n }\n\n this.parsedData = Array.prototype.concat.apply([], this.parsedData);\n\n if (this.parsedData.length != this.data.length) {\n this.parsedData.unshift(191);\n this.parsedData.unshift(187);\n this.parsedData.unshift(239);\n }\n}\n\nQR8bitByte.prototype = {\n getLength: function (buffer) {\n return this.parsedData.length;\n },\n write: function (buffer) {\n for (var i = 0, l = this.parsedData.length; i < l; i++) {\n buffer.put(this.parsedData[i], 8);\n }\n }\n};\n\nfunction QRCodeModel(typeNumber, errorCorrectLevel) {\n this.typeNumber = typeNumber;\n this.errorCorrectLevel = errorCorrectLevel;\n this.modules = null;\n this.moduleCount = 0;\n this.dataCache = null;\n this.dataList = [];\n}\n\nQRCodeModel.prototype={addData:function(data){var newData=new QR8bitByte(data);this.dataList.push(newData);this.dataCache=null;},isDark:function(row,col){if(row<0||this.moduleCount<=row||col<0||this.moduleCount<=col){throw new Error(row+","+col);}\nreturn this.modules[row][col];},getModuleCount:function(){return this.moduleCount;},make:function(){this.makeImpl(false,this.getBestMaskPattern());},makeImpl:function(test,maskPattern){this.moduleCount=this.typeNumber*4+17;this.modules=new Array(this.moduleCount);for(var row=0;row=7){this.setupTypeNumber(test);}\nif(this.dataCache==null){this.dataCache=QRCodeModel.createData(this.typeNumber,this.errorCorrectLevel,this.dataList);}\nthis.mapData(this.dataCache,maskPattern);},setupPositionProbePattern:function(row,col){for(var r=-1;r<=7;r++){if(row+r<=-1||this.moduleCount<=row+r)continue;for(var c=-1;c<=7;c++){if(col+c<=-1||this.moduleCount<=col+c)continue;if((0<=r&&r<=6&&(c==0||c==6))||(0<=c&&c<=6&&(r==0||r==6))||(2<=r&&r<=4&&2<=c&&c<=4)){this.modules[row+r][col+c]=true;}else{this.modules[row+r][col+c]=false;}}}},getBestMaskPattern:function(){var minLostPoint=0;var pattern=0;for(var i=0;i<8;i++){this.makeImpl(true,i);var lostPoint=QRUtil.getLostPoint(this);if(i==0||minLostPoint>lostPoint){minLostPoint=lostPoint;pattern=i;}}\nreturn pattern;},createMovieClip:function(target_mc,instance_name,depth){var qr_mc=target_mc.createEmptyMovieClip(instance_name,depth);var cs=1;this.make();for(var row=0;row>i)&1)==1);this.modules[Math.floor(i/3)][i%3+this.moduleCount-8-3]=mod;}\nfor(var i=0;i<18;i++){var mod=(!test&&((bits>>i)&1)==1);this.modules[i%3+this.moduleCount-8-3][Math.floor(i/3)]=mod;}},setupTypeInfo:function(test,maskPattern){var data=(this.errorCorrectLevel<<3)|maskPattern;var bits=QRUtil.getBCHTypeInfo(data);for(var i=0;i<15;i++){var mod=(!test&&((bits>>i)&1)==1);if(i<6){this.modules[i][8]=mod;}else if(i<8){this.modules[i+1][8]=mod;}else{this.modules[this.moduleCount-15+i][8]=mod;}}\nfor(var i=0;i<15;i++){var mod=(!test&&((bits>>i)&1)==1);if(i<8){this.modules[8][this.moduleCount-i-1]=mod;}else if(i<9){this.modules[8][15-i-1+1]=mod;}else{this.modules[8][15-i-1]=mod;}}\nthis.modules[this.moduleCount-8][8]=(!test);},mapData:function(data,maskPattern){var inc=-1;var row=this.moduleCount-1;var bitIndex=7;var byteIndex=0;for(var col=this.moduleCount-1;col>0;col-=2){if(col==6)col--;while(true){for(var c=0;c<2;c++){if(this.modules[row][col-c]==null){var dark=false;if(byteIndex>>bitIndex)&1)==1);}\nvar mask=QRUtil.getMask(maskPattern,row,col-c);if(mask){dark=!dark;}\nthis.modules[row][col-c]=dark;bitIndex--;if(bitIndex==-1){byteIndex++;bitIndex=7;}}}\nrow+=inc;if(row<0||this.moduleCount<=row){row-=inc;inc=-inc;break;}}}}};QRCodeModel.PAD0=0xEC;QRCodeModel.PAD1=0x11;QRCodeModel.createData=function(typeNumber,errorCorrectLevel,dataList){var rsBlocks=QRRSBlock.getRSBlocks(typeNumber,errorCorrectLevel);var buffer=new QRBitBuffer();for(var i=0;itotalDataCount*8){throw new Error("code length overflow. ("\n+buffer.getLengthInBits()\n+">"\n+totalDataCount*8\n+")");}\nif(buffer.getLengthInBits()+4<=totalDataCount*8){buffer.put(0,4);}\nwhile(buffer.getLengthInBits()%8!=0){buffer.putBit(false);}\nwhile(true){if(buffer.getLengthInBits()>=totalDataCount*8){break;}\nbuffer.put(QRCodeModel.PAD0,8);if(buffer.getLengthInBits()>=totalDataCount*8){break;}\nbuffer.put(QRCodeModel.PAD1,8);}\nreturn QRCodeModel.createBytes(buffer,rsBlocks);};QRCodeModel.createBytes=function(buffer,rsBlocks){var offset=0;var maxDcCount=0;var maxEcCount=0;var dcdata=new Array(rsBlocks.length);var ecdata=new Array(rsBlocks.length);for(var r=0;r=0)?modPoly.get(modIndex):0;}}\nvar totalCodeCount=0;for(var i=0;i=0){d^=(QRUtil.G15<<(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G15)));}\nreturn((data<<10)|d)^QRUtil.G15_MASK;},getBCHTypeNumber:function(data){var d=data<<12;while(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G18)>=0){d^=(QRUtil.G18<<(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G18)));}\nreturn(data<<12)|d;},getBCHDigit:function(data){var digit=0;while(data!=0){digit++;data>>>=1;}\nreturn digit;},getPatternPosition:function(typeNumber){return QRUtil.PATTERN_POSITION_TABLE[typeNumber-1];},getMask:function(maskPattern,i,j){switch(maskPattern){case QRMaskPattern.PATTERN000:return(i+j)%2==0;case QRMaskPattern.PATTERN001:return i%2==0;case QRMaskPattern.PATTERN010:return j%3==0;case QRMaskPattern.PATTERN011:return(i+j)%3==0;case QRMaskPattern.PATTERN100:return(Math.floor(i/2)+Math.floor(j/3))%2==0;case QRMaskPattern.PATTERN101:return(i*j)%2+(i*j)%3==0;case QRMaskPattern.PATTERN110:return((i*j)%2+(i*j)%3)%2==0;case QRMaskPattern.PATTERN111:return((i*j)%3+(i+j)%2)%2==0;default:throw new Error("bad maskPattern:"+maskPattern);}},getErrorCorrectPolynomial:function(errorCorrectLength){var a=new QRPolynomial([1],0);for(var i=0;i5){lostPoint+=(3+sameCount-5);}}}\nfor(var row=0;row=256){n-=255;}\nreturn QRMath.EXP_TABLE[n];},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)};for(var i=0;i<8;i++){QRMath.EXP_TABLE[i]=1<>>(7-index%8))&1)==1;},put:function(num,length){for(var i=0;i>>(length-i-1))&1)==1);}},getLengthInBits:function(){return this.length;},putBit:function(bit){var bufIndex=Math.floor(this.length/8);if(this.buffer.length<=bufIndex){this.buffer.push(0);}\nif(bit){this.buffer[bufIndex]|=(0x80>>>(this.length%8));}\nthis.length++;}};var QRCodeLimitLength=[[17,14,11,7],[32,26,20,14],[53,42,32,24],[78,62,46,34],[106,84,60,44],[134,106,74,58],[154,122,86,64],[192,152,108,84],[230,180,130,98],[271,213,151,119],[321,251,177,137],[367,287,203,155],[425,331,241,177],[458,362,258,194],[520,412,292,220],[586,450,322,250],[644,504,364,280],[718,560,394,310],[792,624,442,338],[858,666,482,382],[929,711,509,403],[1003,779,565,439],[1091,857,611,461],[1171,911,661,511],[1273,997,715,535],[1367,1059,751,593],[1465,1125,805,625],[1528,1190,868,658],[1628,1264,908,698],[1732,1370,982,742],[1840,1452,1030,790],[1952,1538,1112,842],[2068,1628,1168,898],[2188,1722,1228,958],[2303,1809,1283,983],[2431,1911,1351,1051],[2563,1989,1423,1093],[2699,2099,1499,1139],[2809,2213,1579,1219],[2953,2331,1663,1273]];\n\n\n/** Constructor */\nfunction QRCode(options) {\n var instance = this;\n \n //Default options\n this.options = {\n padding: 4,\n width: 256, \n height: 256,\n typeNumber: 4,\n color: "#000000",\n background: "#ffffff",\n ecl: "M"\n };\n \n //In case the options is string\n if (typeof options === \'string\') {\n options = {\n content: options\n };\n }\n \n //Merge options\n if (options) {\n for (var i in options) {\n this.options[i] = options[i];\n }\n }\n \n if (typeof this.options.content !== \'string\') {\n throw new Error("Expected \'content\' as string!");\n }\n \n if (this.options.content.length === 0 /* || this.options.content.length > 7089 */) {\n throw new Error("Expected \'content\' to be non-empty!");\n }\n \n if (!(this.options.padding >= 0)) {\n throw new Error("Expected \'padding\' value to be non-negative!");\n }\n \n if (!(this.options.width > 0) || !(this.options.height > 0)) {\n throw new Error("Expected \'width\' or \'height\' value to be higher than zero!");\n }\n \n //Gets the error correction level\n function _getErrorCorrectLevel(ecl) {\n switch (ecl) {\n case "L":\n return QRErrorCorrectLevel.L;\n \n case "M":\n return QRErrorCorrectLevel.M;\n \n case "Q":\n return QRErrorCorrectLevel.Q;\n \n case "H":\n return QRErrorCorrectLevel.H;\n \n default:\n throw new Error("Unknwon error correction level: " + ecl);\n }\n }\n \n //Get type number\n function _getTypeNumber(content, ecl) { \n var length = _getUTF8Length(content);\n \n var type = 1;\n var limit = 0;\n for (var i = 0, len = QRCodeLimitLength.length; i <= len; i++) {\n var table = QRCodeLimitLength[i];\n if (!table) {\n throw new Error("Content too long: expected " + limit + " but got " + length);\n }\n \n switch (ecl) {\n case "L":\n limit = table[0];\n break;\n \n case "M":\n limit = table[1];\n break;\n \n case "Q":\n limit = table[2];\n break;\n \n case "H":\n limit = table[3];\n break;\n \n default:\n throw new Error("Unknwon error correction level: " + ecl);\n }\n \n if (length <= limit) {\n break;\n }\n \n type++;\n }\n \n if (type > QRCodeLimitLength.length) {\n throw new Error("Content too long");\n }\n \n return type;\n }\n\n //Gets text length\n function _getUTF8Length(content) {\n var result = encodeURI(content).toString().replace(/\\%[0-9a-fA-F]{2}/g, \'a\');\n return result.length + (result.length != content ? 3 : 0);\n }\n \n //Generate QR Code matrix\n var content = this.options.content;\n var type = _getTypeNumber(content, this.options.ecl);\n var ecl = _getErrorCorrectLevel(this.options.ecl);\n this.qrcode = new QRCodeModel(type, ecl);\n this.qrcode.addData(content);\n this.qrcode.make();\n}\n\n/** Generates QR Code as SVG image */\nQRCode.prototype.svg = function(opt) {\n var options = this.options || { };\n var modules = this.qrcode.modules;\n \n if (typeof opt == "undefined") {\n opt = { container: options.container || "svg" };\n }\n \n //Apply new lines and indents in SVG?\n var pretty = typeof options.pretty != "undefined" ? !!options.pretty : true;\n \n var indent = pretty ? \' \' : \'\';\n var EOL = pretty ? \'\\r\\n\' : \'\';\n var width = options.width;\n var height = options.height;\n var length = modules.length;\n var xsize = width / (length + 2 * options.padding);\n var ysize = height / (length + 2 * options.padding);\n \n //Join (union, merge) rectangles into one shape?\n var join = typeof options.join != "undefined" ? !!options.join : false;\n \n //Swap the X and Y modules, pull request #2\n var swap = typeof options.swap != "undefined" ? !!options.swap : false;\n \n //Apply declaration in SVG?\n var xmlDeclaration = typeof options.xmlDeclaration != "undefined" ? !!options.xmlDeclaration : true;\n \n //Populate with predefined shape instead of "rect" elements, thanks to @kkocdko\n var predefined = typeof options.predefined != "undefined" ? !!options.predefined : false;\n var defs = predefined ? indent + \'\' + EOL : \'\';\n \n //Background rectangle\n var bgrect = indent + \'\' + EOL;\n \n //Rectangles representing modules\n var modrect = \'\';\n var pathdata = \'\';\n\n for (var y = 0; y < length; y++) {\n for (var x = 0; x < length; x++) {\n var module = modules[x][y];\n if (module) {\n \n var px = (x * xsize + options.padding * xsize);\n var py = (y * ysize + options.padding * ysize);\n \n //Some users have had issues with the QR Code, thanks to @danioso for the solution\n if (swap) {\n var t = px;\n px = py;\n py = t;\n }\n \n if (join) {\n //Module as a part of svg path data, thanks to @danioso\n var w = xsize + px\n var h = ysize + py\n\n px = (Number.isInteger(px))? Number(px): px.toFixed(2);\n py = (Number.isInteger(py))? Number(py): py.toFixed(2);\n w = (Number.isInteger(w))? Number(w): w.toFixed(2);\n h = (Number.isInteger(h))? Number(h): h.toFixed(2);\n\n pathdata += (\'M\' + px + \',\' + py + \' V\' + h + \' H\' + w + \' V\' + py + \' H\' + px + \' Z \');\n }\n else if (predefined) {\n //Module as a predefined shape, thanks to @kkocdko\n modrect += indent + \'\' + EOL;\n }\n else {\n //Module as rectangle element\n modrect += indent + \'\' + EOL;\n }\n }\n }\n }\n \n if (join) {\n modrect = indent + \'\';\n }\n\n var svg = "";\n switch (opt.container) {\n //Wrapped in SVG document\n case "svg":\n if (xmlDeclaration) {\n svg += \'\' + EOL;\n }\n svg += \'\' + EOL;\n svg += defs + bgrect + modrect;\n svg += \'\';\n break;\n \n //Viewbox for responsive use in a browser, thanks to @danioso\n case "svg-viewbox":\n if (xmlDeclaration) {\n svg += \'\' + EOL;\n }\n svg += \'\' + EOL;\n svg += defs + bgrect + modrect;\n svg += \'\';\n break;\n \n \n //Wrapped in group element \n case "g":\n svg += \'\' + EOL;\n svg += defs + bgrect + modrect;\n svg += \'\';\n break;\n \n //Without a container\n default:\n svg += (defs + bgrect + modrect).replace(/^\\s+/, ""); //Clear indents on each line\n break;\n }\n \n return svg;\n};\n\n/** Writes QR Code image to a file */\nQRCode.prototype.save = function(file, callback) {\n var data = this.svg();\n if (typeof callback != "function") {\n callback = function(error, result) { };\n }\n try {\n //Package \'fs\' is available in node.js but not in a web browser\n var fs = __webpack_require__(/*! fs */ "?981f");\n fs.writeFile(file, data, callback);\n }\n catch (e) {\n //Sorry, \'fs\' is not available\n callback(e);\n }\n};\n\nif (true) {\n module.exports = QRCode;\n}\n\n\n//# sourceURL=webpack://beacon/./node_modules/qrcode-svg/lib/qrcode.js?')},"./node_modules/query-string/index.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval("\nconst strictUriEncode = __webpack_require__(/*! strict-uri-encode */ \"./node_modules/strict-uri-encode/index.js\");\nconst decodeComponent = __webpack_require__(/*! decode-uri-component */ \"./node_modules/decode-uri-component/index.js\");\nconst splitOnFirst = __webpack_require__(/*! split-on-first */ \"./node_modules/split-on-first/index.js\");\nconst filterObject = __webpack_require__(/*! filter-obj */ \"./node_modules/filter-obj/index.js\");\n\nconst isNullOrUndefined = value => value === null || value === undefined;\n\nconst encodeFragmentIdentifier = Symbol('encodeFragmentIdentifier');\n\nfunction encoderForArrayFormat(options) {\n\tswitch (options.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tconst index = result.length;\n\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), '[', index, ']'].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[', encode(index, options), ']=', encode(value, options)].join('')\n\t\t\t\t];\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), '[]'].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), '[]=', encode(value, options)].join('')];\n\t\t\t};\n\n\t\tcase 'colon-list-separator':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), ':list='].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), ':list=', encode(value, options)].join('')];\n\t\t\t};\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\tcase 'bracket-separator': {\n\t\t\tconst keyValueSep = options.arrayFormat === 'bracket-separator' ?\n\t\t\t\t'[]=' :\n\t\t\t\t'=';\n\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\t// Translate null to an empty string so that it doesn't serialize as 'null'\n\t\t\t\tvalue = value === null ? '' : value;\n\n\t\t\t\tif (result.length === 0) {\n\t\t\t\t\treturn [[encode(key, options), keyValueSep, encode(value, options)].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [[result, encode(value, options)].join(options.arrayFormatSeparator)];\n\t\t\t};\n\t\t}\n\n\t\tdefault:\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, encode(key, options)];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), '=', encode(value, options)].join('')];\n\t\t\t};\n\t}\n}\n\nfunction parserForArrayFormat(options) {\n\tlet result;\n\n\tswitch (options.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /\\[(\\d*)\\]$/.exec(key);\n\n\t\t\t\tkey = key.replace(/\\[\\d*\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = {};\n\t\t\t\t}\n\n\t\t\t\taccumulator[key][result[1]] = value;\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(\\[\\])$/.exec(key);\n\t\t\t\tkey = key.replace(/\\[\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\n\t\tcase 'colon-list-separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(:list)$/.exec(key);\n\t\t\t\tkey = key.replace(/:list$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = typeof value === 'string' && value.includes(options.arrayFormatSeparator);\n\t\t\t\tconst isEncodedArray = (typeof value === 'string' && !isArray && decode(value, options).includes(options.arrayFormatSeparator));\n\t\t\t\tvalue = isEncodedArray ? decode(value, options) : value;\n\t\t\t\tconst newValue = isArray || isEncodedArray ? value.split(options.arrayFormatSeparator).map(item => decode(item, options)) : value === null ? value : decode(value, options);\n\t\t\t\taccumulator[key] = newValue;\n\t\t\t};\n\n\t\tcase 'bracket-separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = /(\\[\\])$/.test(key);\n\t\t\t\tkey = key.replace(/\\[\\]$/, '');\n\n\t\t\t\tif (!isArray) {\n\t\t\t\t\taccumulator[key] = value ? decode(value, options) : value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst arrayValue = value === null ?\n\t\t\t\t\t[] :\n\t\t\t\t\tvalue.split(options.arrayFormatSeparator).map(item => decode(item, options));\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = arrayValue;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], arrayValue);\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\t}\n}\n\nfunction validateArrayFormatSeparator(value) {\n\tif (typeof value !== 'string' || value.length !== 1) {\n\t\tthrow new TypeError('arrayFormatSeparator must be single character string');\n\t}\n}\n\nfunction encode(value, options) {\n\tif (options.encode) {\n\t\treturn options.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction decode(value, options) {\n\tif (options.decode) {\n\t\treturn decodeComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction keysSorter(input) {\n\tif (Array.isArray(input)) {\n\t\treturn input.sort();\n\t}\n\n\tif (typeof input === 'object') {\n\t\treturn keysSorter(Object.keys(input))\n\t\t\t.sort((a, b) => Number(a) - Number(b))\n\t\t\t.map(key => input[key]);\n\t}\n\n\treturn input;\n}\n\nfunction removeHash(input) {\n\tconst hashStart = input.indexOf('#');\n\tif (hashStart !== -1) {\n\t\tinput = input.slice(0, hashStart);\n\t}\n\n\treturn input;\n}\n\nfunction getHash(url) {\n\tlet hash = '';\n\tconst hashStart = url.indexOf('#');\n\tif (hashStart !== -1) {\n\t\thash = url.slice(hashStart);\n\t}\n\n\treturn hash;\n}\n\nfunction extract(input) {\n\tinput = removeHash(input);\n\tconst queryStart = input.indexOf('?');\n\tif (queryStart === -1) {\n\t\treturn '';\n\t}\n\n\treturn input.slice(queryStart + 1);\n}\n\nfunction parseValue(value, options) {\n\tif (options.parseNumbers && !Number.isNaN(Number(value)) && (typeof value === 'string' && value.trim() !== '')) {\n\t\tvalue = Number(value);\n\t} else if (options.parseBooleans && value !== null && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {\n\t\tvalue = value.toLowerCase() === 'true';\n\t}\n\n\treturn value;\n}\n\nfunction parse(query, options) {\n\toptions = Object.assign({\n\t\tdecode: true,\n\t\tsort: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',',\n\t\tparseNumbers: false,\n\t\tparseBooleans: false\n\t}, options);\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst formatter = parserForArrayFormat(options);\n\n\t// Create an object with no prototype\n\tconst ret = Object.create(null);\n\n\tif (typeof query !== 'string') {\n\t\treturn ret;\n\t}\n\n\tquery = query.trim().replace(/^[?#&]/, '');\n\n\tif (!query) {\n\t\treturn ret;\n\t}\n\n\tfor (const param of query.split('&')) {\n\t\tif (param === '') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet [key, value] = splitOnFirst(options.decode ? param.replace(/\\+/g, ' ') : param, '=');\n\n\t\t// Missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tvalue = value === undefined ? null : ['comma', 'separator', 'bracket-separator'].includes(options.arrayFormat) ? value : decode(value, options);\n\t\tformatter(decode(key, options), value, ret);\n\t}\n\n\tfor (const key of Object.keys(ret)) {\n\t\tconst value = ret[key];\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tfor (const k of Object.keys(value)) {\n\t\t\t\tvalue[k] = parseValue(value[k], options);\n\t\t\t}\n\t\t} else {\n\t\t\tret[key] = parseValue(value, options);\n\t\t}\n\t}\n\n\tif (options.sort === false) {\n\t\treturn ret;\n\t}\n\n\treturn (options.sort === true ? Object.keys(ret).sort() : Object.keys(ret).sort(options.sort)).reduce((result, key) => {\n\t\tconst value = ret[key];\n\t\tif (Boolean(value) && typeof value === 'object' && !Array.isArray(value)) {\n\t\t\t// Sort object keys, not values\n\t\t\tresult[key] = keysSorter(value);\n\t\t} else {\n\t\t\tresult[key] = value;\n\t\t}\n\n\t\treturn result;\n\t}, Object.create(null));\n}\n\nexports.extract = extract;\nexports.parse = parse;\n\nexports.stringify = (object, options) => {\n\tif (!object) {\n\t\treturn '';\n\t}\n\n\toptions = Object.assign({\n\t\tencode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ','\n\t}, options);\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst shouldFilter = key => (\n\t\t(options.skipNull && isNullOrUndefined(object[key])) ||\n\t\t(options.skipEmptyString && object[key] === '')\n\t);\n\n\tconst formatter = encoderForArrayFormat(options);\n\n\tconst objectCopy = {};\n\n\tfor (const key of Object.keys(object)) {\n\t\tif (!shouldFilter(key)) {\n\t\t\tobjectCopy[key] = object[key];\n\t\t}\n\t}\n\n\tconst keys = Object.keys(objectCopy);\n\n\tif (options.sort !== false) {\n\t\tkeys.sort(options.sort);\n\t}\n\n\treturn keys.map(key => {\n\t\tconst value = object[key];\n\n\t\tif (value === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (value === null) {\n\t\t\treturn encode(key, options);\n\t\t}\n\n\t\tif (Array.isArray(value)) {\n\t\t\tif (value.length === 0 && options.arrayFormat === 'bracket-separator') {\n\t\t\t\treturn encode(key, options) + '[]';\n\t\t\t}\n\n\t\t\treturn value\n\t\t\t\t.reduce(formatter(key), [])\n\t\t\t\t.join('&');\n\t\t}\n\n\t\treturn encode(key, options) + '=' + encode(value, options);\n\t}).filter(x => x.length > 0).join('&');\n};\n\nexports.parseUrl = (url, options) => {\n\toptions = Object.assign({\n\t\tdecode: true\n\t}, options);\n\n\tconst [url_, hash] = splitOnFirst(url, '#');\n\n\treturn Object.assign(\n\t\t{\n\t\t\turl: url_.split('?')[0] || '',\n\t\t\tquery: parse(extract(url), options)\n\t\t},\n\t\toptions && options.parseFragmentIdentifier && hash ? {fragmentIdentifier: decode(hash, options)} : {}\n\t);\n};\n\nexports.stringifyUrl = (object, options) => {\n\toptions = Object.assign({\n\t\tencode: true,\n\t\tstrict: true,\n\t\t[encodeFragmentIdentifier]: true\n\t}, options);\n\n\tconst url = removeHash(object.url).split('?')[0] || '';\n\tconst queryFromUrl = exports.extract(object.url);\n\tconst parsedQueryFromUrl = exports.parse(queryFromUrl, {sort: false});\n\n\tconst query = Object.assign(parsedQueryFromUrl, object.query);\n\tlet queryString = exports.stringify(query, options);\n\tif (queryString) {\n\t\tqueryString = `?${queryString}`;\n\t}\n\n\tlet hash = getHash(object.url);\n\tif (object.fragmentIdentifier) {\n\t\thash = `#${options[encodeFragmentIdentifier] ? encode(object.fragmentIdentifier, options) : object.fragmentIdentifier}`;\n\t}\n\n\treturn `${url}${queryString}${hash}`;\n};\n\nexports.pick = (input, filter, options) => {\n\toptions = Object.assign({\n\t\tparseFragmentIdentifier: true,\n\t\t[encodeFragmentIdentifier]: false\n\t}, options);\n\n\tconst {url, query, fragmentIdentifier} = exports.parseUrl(input, options);\n\treturn exports.stringifyUrl({\n\t\turl,\n\t\tquery: filterObject(query, filter),\n\t\tfragmentIdentifier\n\t}, options);\n};\n\nexports.exclude = (input, filter, options) => {\n\tconst exclusionFilter = Array.isArray(filter) ? key => !filter.includes(key) : (key, value) => !filter(key, value);\n\n\treturn exports.pick(input, exclusionFilter, options);\n};\n\n\n//# sourceURL=webpack://beacon/./node_modules/query-string/index.js?")},"./node_modules/quick-format-unescaped/index.js":module=>{"use strict";eval("\nfunction tryStringify (o) {\n try { return JSON.stringify(o) } catch(e) { return '\"[Circular]\"' }\n}\n\nmodule.exports = format\n\nfunction format(f, args, opts) {\n var ss = (opts && opts.stringify) || tryStringify\n var offset = 1\n if (typeof f === 'object' && f !== null) {\n var len = args.length + offset\n if (len === 1) return f\n var objects = new Array(len)\n objects[0] = ss(f)\n for (var index = 1; index < len; index++) {\n objects[index] = ss(args[index])\n }\n return objects.join(' ')\n }\n if (typeof f !== 'string') {\n return f\n }\n var argLen = args.length\n if (argLen === 0) return f\n var str = ''\n var a = 1 - offset\n var lastPos = -1\n var flen = (f && f.length) || 0\n for (var i = 0; i < flen;) {\n if (f.charCodeAt(i) === 37 && i + 1 < flen) {\n lastPos = lastPos > -1 ? lastPos : 0\n switch (f.charCodeAt(i + 1)) {\n case 100: // 'd'\n case 102: // 'f'\n if (a >= argLen)\n break\n if (args[a] == null) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += Number(args[a])\n lastPos = i + 2\n i++\n break\n case 105: // 'i'\n if (a >= argLen)\n break\n if (args[a] == null) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += Math.floor(Number(args[a]))\n lastPos = i + 2\n i++\n break\n case 79: // 'O'\n case 111: // 'o'\n case 106: // 'j'\n if (a >= argLen)\n break\n if (args[a] === undefined) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n var type = typeof args[a]\n if (type === 'string') {\n str += '\\'' + args[a] + '\\''\n lastPos = i + 2\n i++\n break\n }\n if (type === 'function') {\n str += args[a].name || ''\n lastPos = i + 2\n i++\n break\n }\n str += ss(args[a])\n lastPos = i + 2\n i++\n break\n case 115: // 's'\n if (a >= argLen)\n break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += String(args[a])\n lastPos = i + 2\n i++\n break\n case 37: // '%'\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += '%'\n lastPos = i + 2\n i++\n a--\n break\n }\n ++a\n }\n ++i\n }\n if (lastPos === -1)\n return f\n else if (lastPos < flen) {\n str += f.slice(lastPos)\n }\n\n return str\n}\n\n\n//# sourceURL=webpack://beacon/./node_modules/quick-format-unescaped/index.js?")},"./node_modules/ripemd160/index.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval('\nvar Buffer = (__webpack_require__(/*! buffer */ "./node_modules/buffer/index.js").Buffer)\nvar inherits = __webpack_require__(/*! inherits */ "./node_modules/inherits/inherits_browser.js")\nvar HashBase = __webpack_require__(/*! hash-base */ "./node_modules/hash-base/index.js")\n\nvar ARRAY16 = new Array(16)\n\nvar zl = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,\n 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,\n 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,\n 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13\n]\n\nvar zr = [\n 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,\n 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,\n 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,\n 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,\n 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11\n]\n\nvar sl = [\n 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,\n 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,\n 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,\n 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,\n 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6\n]\n\nvar sr = [\n 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,\n 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,\n 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,\n 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,\n 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11\n]\n\nvar hl = [0x00000000, 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xa953fd4e]\nvar hr = [0x50a28be6, 0x5c4dd124, 0x6d703ef3, 0x7a6d76e9, 0x00000000]\n\nfunction RIPEMD160 () {\n HashBase.call(this, 64)\n\n // state\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n}\n\ninherits(RIPEMD160, HashBase)\n\nRIPEMD160.prototype._update = function () {\n var words = ARRAY16\n for (var j = 0; j < 16; ++j) words[j] = this._block.readInt32LE(j * 4)\n\n var al = this._a | 0\n var bl = this._b | 0\n var cl = this._c | 0\n var dl = this._d | 0\n var el = this._e | 0\n\n var ar = this._a | 0\n var br = this._b | 0\n var cr = this._c | 0\n var dr = this._d | 0\n var er = this._e | 0\n\n // computation\n for (var i = 0; i < 80; i += 1) {\n var tl\n var tr\n if (i < 16) {\n tl = fn1(al, bl, cl, dl, el, words[zl[i]], hl[0], sl[i])\n tr = fn5(ar, br, cr, dr, er, words[zr[i]], hr[0], sr[i])\n } else if (i < 32) {\n tl = fn2(al, bl, cl, dl, el, words[zl[i]], hl[1], sl[i])\n tr = fn4(ar, br, cr, dr, er, words[zr[i]], hr[1], sr[i])\n } else if (i < 48) {\n tl = fn3(al, bl, cl, dl, el, words[zl[i]], hl[2], sl[i])\n tr = fn3(ar, br, cr, dr, er, words[zr[i]], hr[2], sr[i])\n } else if (i < 64) {\n tl = fn4(al, bl, cl, dl, el, words[zl[i]], hl[3], sl[i])\n tr = fn2(ar, br, cr, dr, er, words[zr[i]], hr[3], sr[i])\n } else { // if (i<80) {\n tl = fn5(al, bl, cl, dl, el, words[zl[i]], hl[4], sl[i])\n tr = fn1(ar, br, cr, dr, er, words[zr[i]], hr[4], sr[i])\n }\n\n al = el\n el = dl\n dl = rotl(cl, 10)\n cl = bl\n bl = tl\n\n ar = er\n er = dr\n dr = rotl(cr, 10)\n cr = br\n br = tr\n }\n\n // update state\n var t = (this._b + cl + dr) | 0\n this._b = (this._c + dl + er) | 0\n this._c = (this._d + el + ar) | 0\n this._d = (this._e + al + br) | 0\n this._e = (this._a + bl + cr) | 0\n this._a = t\n}\n\nRIPEMD160.prototype._digest = function () {\n // create padding and handle blocks\n this._block[this._blockOffset++] = 0x80\n if (this._blockOffset > 56) {\n this._block.fill(0, this._blockOffset, 64)\n this._update()\n this._blockOffset = 0\n }\n\n this._block.fill(0, this._blockOffset, 56)\n this._block.writeUInt32LE(this._length[0], 56)\n this._block.writeUInt32LE(this._length[1], 60)\n this._update()\n\n // produce result\n var buffer = Buffer.alloc ? Buffer.alloc(20) : new Buffer(20)\n buffer.writeInt32LE(this._a, 0)\n buffer.writeInt32LE(this._b, 4)\n buffer.writeInt32LE(this._c, 8)\n buffer.writeInt32LE(this._d, 12)\n buffer.writeInt32LE(this._e, 16)\n return buffer\n}\n\nfunction rotl (x, n) {\n return (x << n) | (x >>> (32 - n))\n}\n\nfunction fn1 (a, b, c, d, e, m, k, s) {\n return (rotl((a + (b ^ c ^ d) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn2 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b & c) | ((~b) & d)) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn3 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b | (~c)) ^ d) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn4 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b & d) | (c & (~d))) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn5 (a, b, c, d, e, m, k, s) {\n return (rotl((a + (b ^ (c | (~d))) + m + k) | 0, s) + e) | 0\n}\n\nmodule.exports = RIPEMD160\n\n\n//# sourceURL=webpack://beacon/./node_modules/ripemd160/index.js?')},"./node_modules/safe-buffer/index.js":(module,exports,__webpack_require__)=>{eval("/*! safe-buffer. MIT License. Feross Aboukhadijeh */\n/* eslint-disable node/no-deprecated-api */\nvar buffer = __webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\")\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.prototype = Object.create(Buffer.prototype)\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n\n\n//# sourceURL=webpack://beacon/./node_modules/safe-buffer/index.js?")},"./node_modules/safe-json-utils/dist/cjs/index.js":(__unused_webpack_module,exports)=>{"use strict";eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nfunction safeJsonParse(value) {\n if (typeof value !== 'string') {\n throw new Error(`Cannot safe json parse value of type ${typeof value}`);\n }\n try {\n return JSON.parse(value);\n }\n catch (_a) {\n return value;\n }\n}\nexports.safeJsonParse = safeJsonParse;\nfunction safeJsonStringify(value) {\n return typeof value === 'string'\n ? value\n : JSON.stringify(value, (key, value) => typeof value === 'undefined' ? null : value);\n}\nexports.safeJsonStringify = safeJsonStringify;\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://beacon/./node_modules/safe-json-utils/dist/cjs/index.js?")},"./node_modules/sha.js/hash.js":(module,__unused_webpack_exports,__webpack_require__)=>{eval("var Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer)\n\n// prototype class for hash functions\nfunction Hash (blockSize, finalSize) {\n this._block = Buffer.alloc(blockSize)\n this._finalSize = finalSize\n this._blockSize = blockSize\n this._len = 0\n}\n\nHash.prototype.update = function (data, enc) {\n if (typeof data === 'string') {\n enc = enc || 'utf8'\n data = Buffer.from(data, enc)\n }\n\n var block = this._block\n var blockSize = this._blockSize\n var length = data.length\n var accum = this._len\n\n for (var offset = 0; offset < length;) {\n var assigned = accum % blockSize\n var remainder = Math.min(length - offset, blockSize - assigned)\n\n for (var i = 0; i < remainder; i++) {\n block[assigned + i] = data[offset + i]\n }\n\n accum += remainder\n offset += remainder\n\n if ((accum % blockSize) === 0) {\n this._update(block)\n }\n }\n\n this._len += length\n return this\n}\n\nHash.prototype.digest = function (enc) {\n var rem = this._len % this._blockSize\n\n this._block[rem] = 0x80\n\n // zero (rem + 1) trailing bits, where (rem + 1) is the smallest\n // non-negative solution to the equation (length + 1 + (rem + 1)) === finalSize mod blockSize\n this._block.fill(0, rem + 1)\n\n if (rem >= this._finalSize) {\n this._update(this._block)\n this._block.fill(0)\n }\n\n var bits = this._len * 8\n\n // uint32\n if (bits <= 0xffffffff) {\n this._block.writeUInt32BE(bits, this._blockSize - 4)\n\n // uint64\n } else {\n var lowBits = (bits & 0xffffffff) >>> 0\n var highBits = (bits - lowBits) / 0x100000000\n\n this._block.writeUInt32BE(highBits, this._blockSize - 8)\n this._block.writeUInt32BE(lowBits, this._blockSize - 4)\n }\n\n this._update(this._block)\n var hash = this._hash()\n\n return enc ? hash.toString(enc) : hash\n}\n\nHash.prototype._update = function () {\n throw new Error('_update must be implemented by subclass')\n}\n\nmodule.exports = Hash\n\n\n//# sourceURL=webpack://beacon/./node_modules/sha.js/hash.js?")},"./node_modules/sha.js/index.js":(module,__unused_webpack_exports,__webpack_require__)=>{eval('var exports = module.exports = function SHA (algorithm) {\n algorithm = algorithm.toLowerCase()\n\n var Algorithm = exports[algorithm]\n if (!Algorithm) throw new Error(algorithm + \' is not supported (we accept pull requests)\')\n\n return new Algorithm()\n}\n\nexports.sha = __webpack_require__(/*! ./sha */ "./node_modules/sha.js/sha.js")\nexports.sha1 = __webpack_require__(/*! ./sha1 */ "./node_modules/sha.js/sha1.js")\nexports.sha224 = __webpack_require__(/*! ./sha224 */ "./node_modules/sha.js/sha224.js")\nexports.sha256 = __webpack_require__(/*! ./sha256 */ "./node_modules/sha.js/sha256.js")\nexports.sha384 = __webpack_require__(/*! ./sha384 */ "./node_modules/sha.js/sha384.js")\nexports.sha512 = __webpack_require__(/*! ./sha512 */ "./node_modules/sha.js/sha512.js")\n\n\n//# sourceURL=webpack://beacon/./node_modules/sha.js/index.js?')},"./node_modules/sha.js/sha.js":(module,__unused_webpack_exports,__webpack_require__)=>{eval('/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined\n * in FIPS PUB 180-1\n * This source code is derived from sha1.js of the same repository.\n * The difference between SHA-0 and SHA-1 is just a bitwise rotate left\n * operation was added.\n */\n\nvar inherits = __webpack_require__(/*! inherits */ "./node_modules/inherits/inherits_browser.js")\nvar Hash = __webpack_require__(/*! ./hash */ "./node_modules/sha.js/hash.js")\nvar Buffer = (__webpack_require__(/*! safe-buffer */ "./node_modules/safe-buffer/index.js").Buffer)\n\nvar K = [\n 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0\n]\n\nvar W = new Array(80)\n\nfunction Sha () {\n this.init()\n this._w = W\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha, Hash)\n\nSha.prototype.init = function () {\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n\n return this\n}\n\nfunction rotl5 (num) {\n return (num << 5) | (num >>> 27)\n}\n\nfunction rotl30 (num) {\n return (num << 30) | (num >>> 2)\n}\n\nfunction ft (s, b, c, d) {\n if (s === 0) return (b & c) | ((~b) & d)\n if (s === 2) return (b & c) | (b & d) | (c & d)\n return b ^ c ^ d\n}\n\nSha.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 80; ++i) W[i] = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]\n\n for (var j = 0; j < 80; ++j) {\n var s = ~~(j / 20)\n var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0\n\n e = d\n d = c\n c = rotl30(b)\n b = a\n a = t\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n}\n\nSha.prototype._hash = function () {\n var H = Buffer.allocUnsafe(20)\n\n H.writeInt32BE(this._a | 0, 0)\n H.writeInt32BE(this._b | 0, 4)\n H.writeInt32BE(this._c | 0, 8)\n H.writeInt32BE(this._d | 0, 12)\n H.writeInt32BE(this._e | 0, 16)\n\n return H\n}\n\nmodule.exports = Sha\n\n\n//# sourceURL=webpack://beacon/./node_modules/sha.js/sha.js?')},"./node_modules/sha.js/sha1.js":(module,__unused_webpack_exports,__webpack_require__)=>{eval('/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined\n * in FIPS PUB 180-1\n * Version 2.1a Copyright Paul Johnston 2000 - 2002.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for details.\n */\n\nvar inherits = __webpack_require__(/*! inherits */ "./node_modules/inherits/inherits_browser.js")\nvar Hash = __webpack_require__(/*! ./hash */ "./node_modules/sha.js/hash.js")\nvar Buffer = (__webpack_require__(/*! safe-buffer */ "./node_modules/safe-buffer/index.js").Buffer)\n\nvar K = [\n 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0\n]\n\nvar W = new Array(80)\n\nfunction Sha1 () {\n this.init()\n this._w = W\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha1, Hash)\n\nSha1.prototype.init = function () {\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n\n return this\n}\n\nfunction rotl1 (num) {\n return (num << 1) | (num >>> 31)\n}\n\nfunction rotl5 (num) {\n return (num << 5) | (num >>> 27)\n}\n\nfunction rotl30 (num) {\n return (num << 30) | (num >>> 2)\n}\n\nfunction ft (s, b, c, d) {\n if (s === 0) return (b & c) | ((~b) & d)\n if (s === 2) return (b & c) | (b & d) | (c & d)\n return b ^ c ^ d\n}\n\nSha1.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 80; ++i) W[i] = rotl1(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16])\n\n for (var j = 0; j < 80; ++j) {\n var s = ~~(j / 20)\n var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0\n\n e = d\n d = c\n c = rotl30(b)\n b = a\n a = t\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n}\n\nSha1.prototype._hash = function () {\n var H = Buffer.allocUnsafe(20)\n\n H.writeInt32BE(this._a | 0, 0)\n H.writeInt32BE(this._b | 0, 4)\n H.writeInt32BE(this._c | 0, 8)\n H.writeInt32BE(this._d | 0, 12)\n H.writeInt32BE(this._e | 0, 16)\n\n return H\n}\n\nmodule.exports = Sha1\n\n\n//# sourceURL=webpack://beacon/./node_modules/sha.js/sha1.js?')},"./node_modules/sha.js/sha224.js":(module,__unused_webpack_exports,__webpack_require__)=>{eval('/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = __webpack_require__(/*! inherits */ "./node_modules/inherits/inherits_browser.js")\nvar Sha256 = __webpack_require__(/*! ./sha256 */ "./node_modules/sha.js/sha256.js")\nvar Hash = __webpack_require__(/*! ./hash */ "./node_modules/sha.js/hash.js")\nvar Buffer = (__webpack_require__(/*! safe-buffer */ "./node_modules/safe-buffer/index.js").Buffer)\n\nvar W = new Array(64)\n\nfunction Sha224 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha224, Sha256)\n\nSha224.prototype.init = function () {\n this._a = 0xc1059ed8\n this._b = 0x367cd507\n this._c = 0x3070dd17\n this._d = 0xf70e5939\n this._e = 0xffc00b31\n this._f = 0x68581511\n this._g = 0x64f98fa7\n this._h = 0xbefa4fa4\n\n return this\n}\n\nSha224.prototype._hash = function () {\n var H = Buffer.allocUnsafe(28)\n\n H.writeInt32BE(this._a, 0)\n H.writeInt32BE(this._b, 4)\n H.writeInt32BE(this._c, 8)\n H.writeInt32BE(this._d, 12)\n H.writeInt32BE(this._e, 16)\n H.writeInt32BE(this._f, 20)\n H.writeInt32BE(this._g, 24)\n\n return H\n}\n\nmodule.exports = Sha224\n\n\n//# sourceURL=webpack://beacon/./node_modules/sha.js/sha224.js?')},"./node_modules/sha.js/sha256.js":(module,__unused_webpack_exports,__webpack_require__)=>{eval('/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = __webpack_require__(/*! inherits */ "./node_modules/inherits/inherits_browser.js")\nvar Hash = __webpack_require__(/*! ./hash */ "./node_modules/sha.js/hash.js")\nvar Buffer = (__webpack_require__(/*! safe-buffer */ "./node_modules/safe-buffer/index.js").Buffer)\n\nvar K = [\n 0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5,\n 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5,\n 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3,\n 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174,\n 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC,\n 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA,\n 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7,\n 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967,\n 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13,\n 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85,\n 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3,\n 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070,\n 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5,\n 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3,\n 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208,\n 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2\n]\n\nvar W = new Array(64)\n\nfunction Sha256 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha256, Hash)\n\nSha256.prototype.init = function () {\n this._a = 0x6a09e667\n this._b = 0xbb67ae85\n this._c = 0x3c6ef372\n this._d = 0xa54ff53a\n this._e = 0x510e527f\n this._f = 0x9b05688c\n this._g = 0x1f83d9ab\n this._h = 0x5be0cd19\n\n return this\n}\n\nfunction ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x) {\n return (x >>> 2 | x << 30) ^ (x >>> 13 | x << 19) ^ (x >>> 22 | x << 10)\n}\n\nfunction sigma1 (x) {\n return (x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7)\n}\n\nfunction gamma0 (x) {\n return (x >>> 7 | x << 25) ^ (x >>> 18 | x << 14) ^ (x >>> 3)\n}\n\nfunction gamma1 (x) {\n return (x >>> 17 | x << 15) ^ (x >>> 19 | x << 13) ^ (x >>> 10)\n}\n\nSha256.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n var f = this._f | 0\n var g = this._g | 0\n var h = this._h | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 64; ++i) W[i] = (gamma1(W[i - 2]) + W[i - 7] + gamma0(W[i - 15]) + W[i - 16]) | 0\n\n for (var j = 0; j < 64; ++j) {\n var T1 = (h + sigma1(e) + ch(e, f, g) + K[j] + W[j]) | 0\n var T2 = (sigma0(a) + maj(a, b, c)) | 0\n\n h = g\n g = f\n f = e\n e = (d + T1) | 0\n d = c\n c = b\n b = a\n a = (T1 + T2) | 0\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n this._f = (f + this._f) | 0\n this._g = (g + this._g) | 0\n this._h = (h + this._h) | 0\n}\n\nSha256.prototype._hash = function () {\n var H = Buffer.allocUnsafe(32)\n\n H.writeInt32BE(this._a, 0)\n H.writeInt32BE(this._b, 4)\n H.writeInt32BE(this._c, 8)\n H.writeInt32BE(this._d, 12)\n H.writeInt32BE(this._e, 16)\n H.writeInt32BE(this._f, 20)\n H.writeInt32BE(this._g, 24)\n H.writeInt32BE(this._h, 28)\n\n return H\n}\n\nmodule.exports = Sha256\n\n\n//# sourceURL=webpack://beacon/./node_modules/sha.js/sha256.js?')},"./node_modules/sha.js/sha384.js":(module,__unused_webpack_exports,__webpack_require__)=>{eval('var inherits = __webpack_require__(/*! inherits */ "./node_modules/inherits/inherits_browser.js")\nvar SHA512 = __webpack_require__(/*! ./sha512 */ "./node_modules/sha.js/sha512.js")\nvar Hash = __webpack_require__(/*! ./hash */ "./node_modules/sha.js/hash.js")\nvar Buffer = (__webpack_require__(/*! safe-buffer */ "./node_modules/safe-buffer/index.js").Buffer)\n\nvar W = new Array(160)\n\nfunction Sha384 () {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n}\n\ninherits(Sha384, SHA512)\n\nSha384.prototype.init = function () {\n this._ah = 0xcbbb9d5d\n this._bh = 0x629a292a\n this._ch = 0x9159015a\n this._dh = 0x152fecd8\n this._eh = 0x67332667\n this._fh = 0x8eb44a87\n this._gh = 0xdb0c2e0d\n this._hh = 0x47b5481d\n\n this._al = 0xc1059ed8\n this._bl = 0x367cd507\n this._cl = 0x3070dd17\n this._dl = 0xf70e5939\n this._el = 0xffc00b31\n this._fl = 0x68581511\n this._gl = 0x64f98fa7\n this._hl = 0xbefa4fa4\n\n return this\n}\n\nSha384.prototype._hash = function () {\n var H = Buffer.allocUnsafe(48)\n\n function writeInt64BE (h, l, offset) {\n H.writeInt32BE(h, offset)\n H.writeInt32BE(l, offset + 4)\n }\n\n writeInt64BE(this._ah, this._al, 0)\n writeInt64BE(this._bh, this._bl, 8)\n writeInt64BE(this._ch, this._cl, 16)\n writeInt64BE(this._dh, this._dl, 24)\n writeInt64BE(this._eh, this._el, 32)\n writeInt64BE(this._fh, this._fl, 40)\n\n return H\n}\n\nmodule.exports = Sha384\n\n\n//# sourceURL=webpack://beacon/./node_modules/sha.js/sha384.js?')},"./node_modules/sha.js/sha512.js":(module,__unused_webpack_exports,__webpack_require__)=>{eval('var inherits = __webpack_require__(/*! inherits */ "./node_modules/inherits/inherits_browser.js")\nvar Hash = __webpack_require__(/*! ./hash */ "./node_modules/sha.js/hash.js")\nvar Buffer = (__webpack_require__(/*! safe-buffer */ "./node_modules/safe-buffer/index.js").Buffer)\n\nvar K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n]\n\nvar W = new Array(160)\n\nfunction Sha512 () {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n}\n\ninherits(Sha512, Hash)\n\nSha512.prototype.init = function () {\n this._ah = 0x6a09e667\n this._bh = 0xbb67ae85\n this._ch = 0x3c6ef372\n this._dh = 0xa54ff53a\n this._eh = 0x510e527f\n this._fh = 0x9b05688c\n this._gh = 0x1f83d9ab\n this._hh = 0x5be0cd19\n\n this._al = 0xf3bcc908\n this._bl = 0x84caa73b\n this._cl = 0xfe94f82b\n this._dl = 0x5f1d36f1\n this._el = 0xade682d1\n this._fl = 0x2b3e6c1f\n this._gl = 0xfb41bd6b\n this._hl = 0x137e2179\n\n return this\n}\n\nfunction Ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x, xl) {\n return (x >>> 28 | xl << 4) ^ (xl >>> 2 | x << 30) ^ (xl >>> 7 | x << 25)\n}\n\nfunction sigma1 (x, xl) {\n return (x >>> 14 | xl << 18) ^ (x >>> 18 | xl << 14) ^ (xl >>> 9 | x << 23)\n}\n\nfunction Gamma0 (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7)\n}\n\nfunction Gamma0l (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7 | xl << 25)\n}\n\nfunction Gamma1 (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6)\n}\n\nfunction Gamma1l (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6 | xl << 26)\n}\n\nfunction getCarry (a, b) {\n return (a >>> 0) < (b >>> 0) ? 1 : 0\n}\n\nSha512.prototype._update = function (M) {\n var W = this._w\n\n var ah = this._ah | 0\n var bh = this._bh | 0\n var ch = this._ch | 0\n var dh = this._dh | 0\n var eh = this._eh | 0\n var fh = this._fh | 0\n var gh = this._gh | 0\n var hh = this._hh | 0\n\n var al = this._al | 0\n var bl = this._bl | 0\n var cl = this._cl | 0\n var dl = this._dl | 0\n var el = this._el | 0\n var fl = this._fl | 0\n var gl = this._gl | 0\n var hl = this._hl | 0\n\n for (var i = 0; i < 32; i += 2) {\n W[i] = M.readInt32BE(i * 4)\n W[i + 1] = M.readInt32BE(i * 4 + 4)\n }\n for (; i < 160; i += 2) {\n var xh = W[i - 15 * 2]\n var xl = W[i - 15 * 2 + 1]\n var gamma0 = Gamma0(xh, xl)\n var gamma0l = Gamma0l(xl, xh)\n\n xh = W[i - 2 * 2]\n xl = W[i - 2 * 2 + 1]\n var gamma1 = Gamma1(xh, xl)\n var gamma1l = Gamma1l(xl, xh)\n\n // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]\n var Wi7h = W[i - 7 * 2]\n var Wi7l = W[i - 7 * 2 + 1]\n\n var Wi16h = W[i - 16 * 2]\n var Wi16l = W[i - 16 * 2 + 1]\n\n var Wil = (gamma0l + Wi7l) | 0\n var Wih = (gamma0 + Wi7h + getCarry(Wil, gamma0l)) | 0\n Wil = (Wil + gamma1l) | 0\n Wih = (Wih + gamma1 + getCarry(Wil, gamma1l)) | 0\n Wil = (Wil + Wi16l) | 0\n Wih = (Wih + Wi16h + getCarry(Wil, Wi16l)) | 0\n\n W[i] = Wih\n W[i + 1] = Wil\n }\n\n for (var j = 0; j < 160; j += 2) {\n Wih = W[j]\n Wil = W[j + 1]\n\n var majh = maj(ah, bh, ch)\n var majl = maj(al, bl, cl)\n\n var sigma0h = sigma0(ah, al)\n var sigma0l = sigma0(al, ah)\n var sigma1h = sigma1(eh, el)\n var sigma1l = sigma1(el, eh)\n\n // t1 = h + sigma1 + ch + K[j] + W[j]\n var Kih = K[j]\n var Kil = K[j + 1]\n\n var chh = Ch(eh, fh, gh)\n var chl = Ch(el, fl, gl)\n\n var t1l = (hl + sigma1l) | 0\n var t1h = (hh + sigma1h + getCarry(t1l, hl)) | 0\n t1l = (t1l + chl) | 0\n t1h = (t1h + chh + getCarry(t1l, chl)) | 0\n t1l = (t1l + Kil) | 0\n t1h = (t1h + Kih + getCarry(t1l, Kil)) | 0\n t1l = (t1l + Wil) | 0\n t1h = (t1h + Wih + getCarry(t1l, Wil)) | 0\n\n // t2 = sigma0 + maj\n var t2l = (sigma0l + majl) | 0\n var t2h = (sigma0h + majh + getCarry(t2l, sigma0l)) | 0\n\n hh = gh\n hl = gl\n gh = fh\n gl = fl\n fh = eh\n fl = el\n el = (dl + t1l) | 0\n eh = (dh + t1h + getCarry(el, dl)) | 0\n dh = ch\n dl = cl\n ch = bh\n cl = bl\n bh = ah\n bl = al\n al = (t1l + t2l) | 0\n ah = (t1h + t2h + getCarry(al, t1l)) | 0\n }\n\n this._al = (this._al + al) | 0\n this._bl = (this._bl + bl) | 0\n this._cl = (this._cl + cl) | 0\n this._dl = (this._dl + dl) | 0\n this._el = (this._el + el) | 0\n this._fl = (this._fl + fl) | 0\n this._gl = (this._gl + gl) | 0\n this._hl = (this._hl + hl) | 0\n\n this._ah = (this._ah + ah + getCarry(this._al, al)) | 0\n this._bh = (this._bh + bh + getCarry(this._bl, bl)) | 0\n this._ch = (this._ch + ch + getCarry(this._cl, cl)) | 0\n this._dh = (this._dh + dh + getCarry(this._dl, dl)) | 0\n this._eh = (this._eh + eh + getCarry(this._el, el)) | 0\n this._fh = (this._fh + fh + getCarry(this._fl, fl)) | 0\n this._gh = (this._gh + gh + getCarry(this._gl, gl)) | 0\n this._hh = (this._hh + hh + getCarry(this._hl, hl)) | 0\n}\n\nSha512.prototype._hash = function () {\n var H = Buffer.allocUnsafe(64)\n\n function writeInt64BE (h, l, offset) {\n H.writeInt32BE(h, offset)\n H.writeInt32BE(l, offset + 4)\n }\n\n writeInt64BE(this._ah, this._al, 0)\n writeInt64BE(this._bh, this._bl, 8)\n writeInt64BE(this._ch, this._cl, 16)\n writeInt64BE(this._dh, this._dl, 24)\n writeInt64BE(this._eh, this._el, 32)\n writeInt64BE(this._fh, this._fl, 40)\n writeInt64BE(this._gh, this._gl, 48)\n writeInt64BE(this._hh, this._hl, 56)\n\n return H\n}\n\nmodule.exports = Sha512\n\n\n//# sourceURL=webpack://beacon/./node_modules/sha.js/sha512.js?')},"./node_modules/split-on-first/index.js":module=>{"use strict";eval("\n\nmodule.exports = (string, separator) => {\n\tif (!(typeof string === 'string' && typeof separator === 'string')) {\n\t\tthrow new TypeError('Expected the arguments to be of type `string`');\n\t}\n\n\tif (separator === '') {\n\t\treturn [string];\n\t}\n\n\tconst separatorIndex = string.indexOf(separator);\n\n\tif (separatorIndex === -1) {\n\t\treturn [string];\n\t}\n\n\treturn [\n\t\tstring.slice(0, separatorIndex),\n\t\tstring.slice(separatorIndex + separator.length)\n\t];\n};\n\n\n//# sourceURL=webpack://beacon/./node_modules/split-on-first/index.js?")},"./node_modules/stream-browserify/index.js":(module,__unused_webpack_exports,__webpack_require__)=>{eval("// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nmodule.exports = Stream;\n\nvar EE = (__webpack_require__(/*! events */ \"./node_modules/events/events.js\").EventEmitter);\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n\ninherits(Stream, EE);\nStream.Readable = __webpack_require__(/*! readable-stream/lib/_stream_readable.js */ \"./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_readable.js\");\nStream.Writable = __webpack_require__(/*! readable-stream/lib/_stream_writable.js */ \"./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_writable.js\");\nStream.Duplex = __webpack_require__(/*! readable-stream/lib/_stream_duplex.js */ \"./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_duplex.js\");\nStream.Transform = __webpack_require__(/*! readable-stream/lib/_stream_transform.js */ \"./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_transform.js\");\nStream.PassThrough = __webpack_require__(/*! readable-stream/lib/_stream_passthrough.js */ \"./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_passthrough.js\");\nStream.finished = __webpack_require__(/*! readable-stream/lib/internal/streams/end-of-stream.js */ \"./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/end-of-stream.js\")\nStream.pipeline = __webpack_require__(/*! readable-stream/lib/internal/streams/pipeline.js */ \"./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/pipeline.js\")\n\n// Backwards-compat with node 0.4.x\nStream.Stream = Stream;\n\n\n\n// old-style streams. Note that the pipe method (the only relevant\n// part of this class) is overridden in the Readable class.\n\nfunction Stream() {\n EE.call(this);\n}\n\nStream.prototype.pipe = function(dest, options) {\n var source = this;\n\n function ondata(chunk) {\n if (dest.writable) {\n if (false === dest.write(chunk) && source.pause) {\n source.pause();\n }\n }\n }\n\n source.on('data', ondata);\n\n function ondrain() {\n if (source.readable && source.resume) {\n source.resume();\n }\n }\n\n dest.on('drain', ondrain);\n\n // If the 'end' option is not supplied, dest.end() will be called when\n // source gets the 'end' or 'close' events. Only dest.end() once.\n if (!dest._isStdio && (!options || options.end !== false)) {\n source.on('end', onend);\n source.on('close', onclose);\n }\n\n var didOnEnd = false;\n function onend() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n dest.end();\n }\n\n\n function onclose() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n if (typeof dest.destroy === 'function') dest.destroy();\n }\n\n // don't leave dangling pipes when there are errors.\n function onerror(er) {\n cleanup();\n if (EE.listenerCount(this, 'error') === 0) {\n throw er; // Unhandled stream error in pipe.\n }\n }\n\n source.on('error', onerror);\n dest.on('error', onerror);\n\n // remove all the event listeners that were added.\n function cleanup() {\n source.removeListener('data', ondata);\n dest.removeListener('drain', ondrain);\n\n source.removeListener('end', onend);\n source.removeListener('close', onclose);\n\n source.removeListener('error', onerror);\n dest.removeListener('error', onerror);\n\n source.removeListener('end', cleanup);\n source.removeListener('close', cleanup);\n\n dest.removeListener('close', cleanup);\n }\n\n source.on('end', cleanup);\n source.on('close', cleanup);\n\n dest.on('close', cleanup);\n\n dest.emit('pipe', source);\n\n // Allow for unix-like usage: A.pipe(B).pipe(C)\n return dest;\n};\n\n\n//# sourceURL=webpack://beacon/./node_modules/stream-browserify/index.js?")},"./node_modules/stream-browserify/node_modules/readable-stream/errors-browser.js":module=>{"use strict";eval("\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar codes = {};\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n\n var NodeError =\n /*#__PURE__*/\n function (_Base) {\n _inheritsLoose(NodeError, _Base);\n\n function NodeError(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n\n return NodeError;\n }(Base);\n\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {\n return 'The value \"' + value + '\" is invalid for option \"' + name + '\"';\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n // determiner: 'must be' or 'must not be'\n var determiner;\n\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n var msg;\n\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n }\n\n msg += \". Received type \".concat(typeof actual);\n return msg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');\ncreateErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {\n return 'The ' + name + ' method is not implemented';\n});\ncreateErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');\ncreateErrorType('ERR_STREAM_DESTROYED', function (name) {\n return 'Cannot call ' + name + ' after a stream was destroyed';\n});\ncreateErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');\ncreateErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');\ncreateErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');\ncreateErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);\ncreateErrorType('ERR_UNKNOWN_ENCODING', function (arg) {\n return 'Unknown encoding: ' + arg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');\nmodule.exports.codes = codes;\n\n\n//# sourceURL=webpack://beacon/./node_modules/stream-browserify/node_modules/readable-stream/errors-browser.js?")},"./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_duplex.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\n\n\n/**/\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n};\n/**/\n\nmodule.exports = Duplex;\nvar Readable = __webpack_require__(/*! ./_stream_readable */ \"./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_readable.js\");\nvar Writable = __webpack_require__(/*! ./_stream_writable */ \"./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_writable.js\");\n__webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")(Duplex, Readable);\n{\n // Allow the keys array to be GC'ed.\n var keys = objectKeys(Writable.prototype);\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n if (options) {\n if (options.readable === false) this.readable = false;\n if (options.writable === false) this.writable = false;\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once('end', onend);\n }\n }\n}\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\n\n// the no-half-open enforcer\nfunction onend() {\n // If the writable side ended, then we're ok.\n if (this._writableState.ended) return;\n\n // no more data can be written.\n // But allow more writes to happen in this tick.\n process.nextTick(onEndNT, this);\n}\nfunction onEndNT(self) {\n self.end();\n}\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});\n\n//# sourceURL=webpack://beacon/./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_duplex.js?")},"./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_passthrough.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval('// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// "Software"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n\n\n\nmodule.exports = PassThrough;\nvar Transform = __webpack_require__(/*! ./_stream_transform */ "./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_transform.js");\n__webpack_require__(/*! inherits */ "./node_modules/inherits/inherits_browser.js")(PassThrough, Transform);\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n Transform.call(this, options);\n}\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};\n\n//# sourceURL=webpack://beacon/./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_passthrough.js?')},"./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_readable.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n\nmodule.exports = Readable;\n\n/**/\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n\n/**/\nvar EE = (__webpack_require__(/*! events */ \"./node_modules/events/events.js\").EventEmitter);\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\nvar Stream = __webpack_require__(/*! ./internal/streams/stream */ \"./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/stream-browser.js\");\n/**/\n\nvar Buffer = (__webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\").Buffer);\nvar OurUint8Array = (typeof __webpack_require__.g !== 'undefined' ? __webpack_require__.g : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/**/\nvar debugUtil = __webpack_require__(/*! util */ \"?19e6\");\nvar debug;\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function debug() {};\n}\n/**/\n\nvar BufferList = __webpack_require__(/*! ./internal/streams/buffer_list */ \"./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/buffer_list.js\");\nvar destroyImpl = __webpack_require__(/*! ./internal/streams/destroy */ \"./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/destroy.js\");\nvar _require = __webpack_require__(/*! ./internal/streams/state */ \"./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/state.js\"),\n getHighWaterMark = _require.getHighWaterMark;\nvar _require$codes = (__webpack_require__(/*! ../errors */ \"./node_modules/stream-browserify/node_modules/readable-stream/errors-browser.js\").codes),\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;\n\n// Lazy loaded to improve the startup performance.\nvar StringDecoder;\nvar createReadableStreamAsyncIterator;\nvar from;\n__webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")(Readable, Stream);\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);\n\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\nfunction ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || __webpack_require__(/*! ./_stream_duplex */ \"./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_duplex.js\");\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;\n\n // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n\n // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex);\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n\n // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n this.sync = true;\n\n // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true;\n\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = options.emitClose !== false;\n\n // Should .destroy() be called after 'end' (and potentially 'finish')\n this.autoDestroy = !!options.autoDestroy;\n\n // has it been destroyed\n this.destroyed = false;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // the number of writers that are awaiting a drain event in .pipe()s\n this.awaitDrain = 0;\n\n // if true, a maybeReadMore has been scheduled\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = (__webpack_require__(/*! string_decoder/ */ \"./node_modules/string_decoder/lib/string_decoder.js\").StringDecoder);\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\nfunction Readable(options) {\n Duplex = Duplex || __webpack_require__(/*! ./_stream_duplex */ \"./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_duplex.js\");\n if (!(this instanceof Readable)) return new Readable(options);\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex);\n\n // legacy\n this.readable = true;\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n Stream.call(this);\n}\nObject.defineProperty(Readable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n }\n});\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\nReadable.prototype._destroy = function (err, cb) {\n cb(err);\n};\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug('readableAddChunk', chunk);\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (addToFront) {\n if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n }\n\n // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n}\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit('data', chunk);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n if (state.needReadable) emitReadable(stream);\n }\n maybeReadMore(stream, state);\n}\nfunction chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);\n }\n return er;\n}\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n};\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = (__webpack_require__(/*! string_decoder/ */ \"./node_modules/string_decoder/lib/string_decoder.js\").StringDecoder);\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder;\n // If setEncoding(null), decoder.encoding equals utf8\n this._readableState.encoding = this._readableState.decoder.encoding;\n\n // Iterate over current buffer to convert already stored Buffers:\n var p = this._readableState.buffer.head;\n var content = '';\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n this._readableState.buffer.clear();\n if (content !== '') this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n};\n\n// Don't raise the hwm > 1GB\nvar MAX_HWM = 0x40000000;\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n }\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n;\n // Don't have enough\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n}\n\n// you can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0) state.emittedReadable = false;\n\n // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n n = howMuchToRead(n, state);\n\n // if we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n var doRead = state.needReadable;\n debug('need readable', doRead);\n\n // if we currently have less than the highWaterMark, then also read some\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n }\n\n // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true;\n // if the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.needReadable = true;\n // call internal read method\n this._read(state.highWaterMark);\n state.sync = false;\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true;\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) endReadable(this);\n }\n if (ret !== null) this.emit('data', ret);\n return ret;\n};\nfunction onEofChunk(stream, state) {\n debug('onEofChunk');\n if (state.ended) return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n if (state.sync) {\n // if we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call\n emitReadable(stream);\n } else {\n // emit 'readable' now to make sure it gets picked up.\n state.needReadable = false;\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n var state = stream._readableState;\n debug('emitReadable', state.needReadable, state.emittedReadable);\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n}\nfunction emitReadable_(stream) {\n var state = stream._readableState;\n debug('emitReadable_', state.destroyed, state.length, state.ended);\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit('readable');\n state.emittedReadable = false;\n }\n\n // The stream needs another readable event if\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n}\n\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n}\nfunction maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length)\n // didn't get any data, stop spinning.\n break;\n }\n state.readingMore = false;\n}\n\n// abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));\n};\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);\n dest.on('unpipe', onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n function onend() {\n debug('onend');\n dest.end();\n }\n\n // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n var cleanedUp = false;\n function cleanup() {\n debug('cleanup');\n // cleanup event handlers once the pipe is broken\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n cleanedUp = true;\n\n // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n src.on('data', ondata);\n function ondata(chunk) {\n debug('ondata');\n var ret = dest.write(chunk);\n debug('dest.write', ret);\n if (ret === false) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', state.awaitDrain);\n state.awaitDrain++;\n }\n src.pause();\n }\n }\n\n // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror);\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n dest.once('close', onclose);\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n dest.once('finish', onfinish);\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n }\n\n // tell the dest that it's being piped to\n dest.emit('pipe', src);\n\n // start the flow if it hasn't been started already.\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n return dest;\n};\nfunction pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n };\n\n // if we're not piping anywhere, then do nothing.\n if (state.pipesCount === 0) return this;\n\n // just one destination. most common case.\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n if (!dest) dest = state.pipes;\n\n // got a match.\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n }\n\n // slow case. multiple pipe destinations.\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n for (var i = 0; i < len; i++) dests[i].emit('unpipe', this, {\n hasUnpiped: false\n });\n return this;\n }\n\n // try to find the right one.\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n dest.emit('unpipe', this, unpipeInfo);\n return this;\n};\n\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n if (ev === 'data') {\n // update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount('readable') > 0;\n\n // Try start flowing on next tick if stream isn't explicitly paused\n if (state.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug('on readable', state.length, state.reading);\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\nReadable.prototype.removeListener = function (ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n if (ev === 'readable') {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n return res;\n};\nReadable.prototype.removeAllListeners = function (ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n if (ev === 'readable' || ev === undefined) {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n return res;\n};\nfunction updateReadableListening(self) {\n var state = self._readableState;\n state.readableListening = self.listenerCount('readable') > 0;\n if (state.resumeScheduled && !state.paused) {\n // flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true;\n\n // crude way to check if we should resume\n } else if (self.listenerCount('data') > 0) {\n self.resume();\n }\n}\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n var state = this._readableState;\n if (!state.flowing) {\n debug('resume');\n // we flow only if there is no one listening\n // for readable, but we still have to call\n // resume()\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n state.paused = false;\n return this;\n};\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n}\nfunction resume_(stream, state) {\n debug('resume', state.reading);\n if (!state.reading) {\n stream.read(0);\n }\n state.resumeScheduled = false;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n if (this._readableState.flowing !== false) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n this._readableState.paused = true;\n return this;\n};\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n while (state.flowing && stream.read() !== null);\n}\n\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n var state = this._readableState;\n var paused = false;\n stream.on('end', function () {\n debug('wrapped end');\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n _this.push(null);\n });\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk);\n\n // don't skip over falsy values in objectMode\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n\n // proxy all the other methods.\n // important when wrapping filters and duplexes.\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n\n // proxy certain important events.\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n\n // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n this._read = function (n) {\n debug('wrapped _read', n);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n return this;\n};\nif (typeof Symbol === 'function') {\n Readable.prototype[Symbol.asyncIterator] = function () {\n if (createReadableStreamAsyncIterator === undefined) {\n createReadableStreamAsyncIterator = __webpack_require__(/*! ./internal/streams/async_iterator */ \"./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/async_iterator.js\");\n }\n return createReadableStreamAsyncIterator(this);\n };\n}\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableFlowing', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n});\n\n// exposed for testing purposes only.\nReadable._fromList = fromList;\nObject.defineProperty(Readable.prototype, 'readableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n});\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n}\nfunction endReadable(stream) {\n var state = stream._readableState;\n debug('endReadable', state.endEmitted);\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n}\nfunction endReadableNT(state, stream) {\n debug('endReadableNT', state.endEmitted, state.length);\n\n // Check that we didn't get one last unshift.\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well\n var wState = stream._writableState;\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n}\nif (typeof Symbol === 'function') {\n Readable.from = function (iterable, opts) {\n if (from === undefined) {\n from = __webpack_require__(/*! ./internal/streams/from */ \"./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/from-browser.js\");\n }\n return from(Readable, iterable, opts);\n };\n}\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n return -1;\n}\n\n//# sourceURL=webpack://beacon/./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_readable.js?")},"./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_transform.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n\n\nmodule.exports = Transform;\nvar _require$codes = (__webpack_require__(/*! ../errors */ \"./node_modules/stream-browserify/node_modules/readable-stream/errors-browser.js\").codes),\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,\n ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\nvar Duplex = __webpack_require__(/*! ./_stream_duplex */ \"./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_duplex.js\");\n__webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")(Transform, Duplex);\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n if (cb === null) {\n return this.emit('error', new ERR_MULTIPLE_CALLBACK());\n }\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null)\n // single equals check for both `null` and `undefined`\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n\n // start out asking for a readable event once data is transformed.\n this._readableState.needReadable = true;\n\n // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false;\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n if (typeof options.flush === 'function') this._flush = options.flush;\n }\n\n // When the writable side finishes, then flush out anything remaining.\n this.on('prefinish', prefinish);\n}\nfunction prefinish() {\n var _this = this;\n if (typeof this._flush === 'function' && !this._readableState.destroyed) {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n};\n\n// This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\nTransform.prototype._transform = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()'));\n};\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n};\n\n// Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\nTransform.prototype._destroy = function (err, cb) {\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n });\n};\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n if (data != null)\n // single equals check for both `null` and `undefined`\n stream.push(data);\n\n // TODO(BridgeAR): Write a test for these two error cases\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n}\n\n//# sourceURL=webpack://beacon/./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_transform.js?")},"./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_writable.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n\n\nmodule.exports = Writable;\n\n/* */\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n}\n\n// It seems a linked list but it is not\n// there will be only 2 of these for each stream\nfunction CorkedRequest(state) {\n var _this = this;\n this.next = null;\n this.entry = null;\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* */\n\n/**/\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n\n/**/\nvar internalUtil = {\n deprecate: __webpack_require__(/*! util-deprecate */ \"./node_modules/util-deprecate/browser.js\")\n};\n/**/\n\n/**/\nvar Stream = __webpack_require__(/*! ./internal/streams/stream */ \"./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/stream-browser.js\");\n/**/\n\nvar Buffer = (__webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\").Buffer);\nvar OurUint8Array = (typeof __webpack_require__.g !== 'undefined' ? __webpack_require__.g : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\nvar destroyImpl = __webpack_require__(/*! ./internal/streams/destroy */ \"./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/destroy.js\");\nvar _require = __webpack_require__(/*! ./internal/streams/state */ \"./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/state.js\"),\n getHighWaterMark = _require.getHighWaterMark;\nvar _require$codes = (__webpack_require__(/*! ../errors */ \"./node_modules/stream-browserify/node_modules/readable-stream/errors-browser.js\").codes),\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,\n ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\n__webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")(Writable, Stream);\nfunction nop() {}\nfunction WritableState(options, stream, isDuplex) {\n Duplex = Duplex || __webpack_require__(/*! ./_stream_duplex */ \"./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_duplex.js\");\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream,\n // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;\n\n // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;\n\n // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex);\n\n // if _final has been called\n this.finalCalled = false;\n\n // drain event flag.\n this.needDrain = false;\n // at the start of calling end()\n this.ending = false;\n // when end() has been called, and returned\n this.ended = false;\n // when 'finish' is emitted\n this.finished = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n this.length = 0;\n\n // a flag to see when we're in the middle of a write.\n this.writing = false;\n\n // when true all writes will be buffered until .uncork() call\n this.corked = 0;\n\n // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true;\n\n // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n this.bufferProcessing = false;\n\n // the callback that's passed to _write(chunk,cb)\n this.onwrite = function (er) {\n onwrite(stream, er);\n };\n\n // the callback that the user supplies to write(chunk,encoding,cb)\n this.writecb = null;\n\n // the amount that is being written when _write is called.\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n\n // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n this.pendingcb = 0;\n\n // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n this.prefinished = false;\n\n // True if the error was already emitted and should not be thrown again\n this.errorEmitted = false;\n\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = options.emitClose !== false;\n\n // Should .destroy() be called after 'finish' (and potentially 'end')\n this.autoDestroy = !!options.autoDestroy;\n\n // count buffered requests\n this.bufferedRequestCount = 0;\n\n // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n this.corkedRequestsFree = new CorkedRequest(this);\n}\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n};\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})();\n\n// Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\nvar realHasInstance;\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function realHasInstance(object) {\n return object instanceof this;\n };\n}\nfunction Writable(options) {\n Duplex = Duplex || __webpack_require__(/*! ./_stream_duplex */ \"./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_duplex.js\");\n\n // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the WritableState constructor, at least with V8 6.5\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex);\n\n // legacy.\n this.writable = true;\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n if (typeof options.writev === 'function') this._writev = options.writev;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n if (typeof options.final === 'function') this._final = options.final;\n }\n Stream.call(this);\n}\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function () {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n};\nfunction writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END();\n // TODO: defer error events consistently everywhere, not just the cb\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n}\n\n// Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\nfunction validChunk(stream, state, chunk, cb) {\n var er;\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== 'string' && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk);\n }\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n return true;\n}\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n if (typeof cb !== 'function') cb = nop;\n if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n};\nWritable.prototype.cork = function () {\n this._writableState.corked++;\n};\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\nObject.defineProperty(Writable.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n return chunk;\n}\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\n\n// if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark;\n // we must ensure that previous needDrain will not be reset to false.\n if (!ret) state.needDrain = true;\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n return ret;\n}\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n process.nextTick(cb, er);\n // this can emit finish, and it will always happen\n // after error\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n // this can emit finish, but finish must\n // always follow error\n finishMaybe(stream, state);\n }\n}\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state) || stream.destroyed;\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n}\n\n// Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n}\n\n// if there's something in the buffer waiting, then process it\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, '', holder.finish);\n\n // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n if (state.writing) {\n break;\n }\n }\n if (entry === null) state.lastBufferedRequest = null;\n }\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()'));\n};\nWritable.prototype._writev = null;\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);\n\n // .end() fully uncorks\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n\n // ignore unnecessary end() calls.\n if (!state.ending) endWritable(this, state, cb);\n return this;\n};\nObject.defineProperty(Writable.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n if (err) {\n errorOrDestroy(stream, err);\n }\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function' && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the readable side is ready for autoDestroy as well\n var rState = stream._readableState;\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n return need;\n}\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished) process.nextTick(cb);else stream.once('finish', cb);\n }\n state.ended = true;\n stream.writable = false;\n}\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n\n // reuse the free corkReq.\n state.corkedRequestsFree.next = corkReq;\n}\nObject.defineProperty(Writable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._writableState === undefined) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._writableState.destroyed = value;\n }\n});\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\nWritable.prototype._destroy = function (err, cb) {\n cb(err);\n};\n\n//# sourceURL=webpack://beacon/./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_writable.js?")},"./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/async_iterator.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("\n\nvar _Object$setPrototypeO;\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar finished = __webpack_require__(/*! ./end-of-stream */ \"./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/end-of-stream.js\");\nvar kLastResolve = Symbol('lastResolve');\nvar kLastReject = Symbol('lastReject');\nvar kError = Symbol('error');\nvar kEnded = Symbol('ended');\nvar kLastPromise = Symbol('lastPromise');\nvar kHandlePromise = Symbol('handlePromise');\nvar kStream = Symbol('stream');\nfunction createIterResult(value, done) {\n return {\n value: value,\n done: done\n };\n}\nfunction readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n if (resolve !== null) {\n var data = iter[kStream].read();\n // we defer if data is null\n // we can be expecting either 'end' or\n // 'error'\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n}\nfunction onReadable(iter) {\n // we wait for the next tick, because it might\n // emit an error with process.nextTick\n process.nextTick(readAndResolve, iter);\n}\nfunction wrapForNext(lastPromise, iter) {\n return function (resolve, reject) {\n lastPromise.then(function () {\n if (iter[kEnded]) {\n resolve(createIterResult(undefined, true));\n return;\n }\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n}\nvar AsyncIteratorPrototype = Object.getPrototypeOf(function () {});\nvar ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n next: function next() {\n var _this = this;\n // if we have detected an error in the meanwhile\n // reject straight away\n var error = this[kError];\n if (error !== null) {\n return Promise.reject(error);\n }\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(undefined, true));\n }\n if (this[kStream].destroyed) {\n // We need to defer via nextTick because if .destroy(err) is\n // called, the error will be emitted via nextTick, and\n // we cannot guarantee that there is no error lingering around\n // waiting to be emitted.\n return new Promise(function (resolve, reject) {\n process.nextTick(function () {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(undefined, true));\n }\n });\n });\n }\n\n // if we have multiple next() calls\n // we will wait for the previous Promise to finish\n // this logic is optimized to support for await loops,\n // where next() is only called once at a time\n var lastPromise = this[kLastPromise];\n var promise;\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n // fast path needed to support multiple this.push()\n // without triggering the next() queue\n var data = this[kStream].read();\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n promise = new Promise(this[kHandlePromise]);\n }\n this[kLastPromise] = promise;\n return promise;\n }\n}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () {\n return this;\n}), _defineProperty(_Object$setPrototypeO, \"return\", function _return() {\n var _this2 = this;\n // destroy(err, cb) is a private API\n // we can guarantee we have that here, because we control the\n // Readable class this is attached to\n return new Promise(function (resolve, reject) {\n _this2[kStream].destroy(null, function (err) {\n if (err) {\n reject(err);\n return;\n }\n resolve(createIterResult(undefined, true));\n });\n });\n}), _Object$setPrototypeO), AsyncIteratorPrototype);\nvar createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) {\n var _Object$create;\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function (err) {\n if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {\n var reject = iterator[kLastReject];\n // reject if we are waiting for data in the Promise\n // returned by next() and store the error\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n iterator[kError] = err;\n return;\n }\n var resolve = iterator[kLastResolve];\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(undefined, true));\n }\n iterator[kEnded] = true;\n });\n stream.on('readable', onReadable.bind(null, iterator));\n return iterator;\n};\nmodule.exports = createReadableStreamAsyncIterator;\n\n//# sourceURL=webpack://beacon/./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/async_iterator.js?")},"./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/buffer_list.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval('\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }\nvar _require = __webpack_require__(/*! buffer */ "./node_modules/buffer/index.js"),\n Buffer = _require.Buffer;\nvar _require2 = __webpack_require__(/*! util */ "?3e83"),\n inspect = _require2.inspect;\nvar custom = inspect && inspect.custom || \'inspect\';\nfunction copyBuffer(src, target, offset) {\n Buffer.prototype.copy.call(src, target, offset);\n}\nmodule.exports = /*#__PURE__*/function () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n _createClass(BufferList, [{\n key: "push",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: "unshift",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: "shift",\n value: function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n }\n }, {\n key: "clear",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: "join",\n value: function join(s) {\n if (this.length === 0) return \'\';\n var p = this.head;\n var ret = \'\' + p.data;\n while (p = p.next) ret += s + p.data;\n return ret;\n }\n }, {\n key: "concat",\n value: function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n }\n\n // Consumes a specified amount of bytes or characters from the buffered data.\n }, {\n key: "consume",\n value: function consume(n, hasStrings) {\n var ret;\n if (n < this.head.data.length) {\n // `slice` is the same for buffers and strings.\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n // First chunk is a perfect match.\n ret = this.shift();\n } else {\n // Result spans more than one buffer.\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n return ret;\n }\n }, {\n key: "first",\n value: function first() {\n return this.head.data;\n }\n\n // Consumes a specified amount of characters from the buffered data.\n }, {\n key: "_getString",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n\n // Consumes a specified amount of bytes from the buffered data.\n }, {\n key: "_getBuffer",\n value: function _getBuffer(n) {\n var ret = Buffer.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n\n // Make sure the linked list only shows the minimal necessary information.\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread(_objectSpread({}, options), {}, {\n // Only inspect one level.\n depth: 0,\n // It should not recurse.\n customInspect: false\n }));\n }\n }]);\n return BufferList;\n}();\n\n//# sourceURL=webpack://beacon/./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/buffer_list.js?')},"./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/destroy.js":module=>{"use strict";eval("\n\n// undocumented cb() API, needed for core, not for public API\nfunction destroy(err, cb) {\n var _this = this;\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n return this;\n }\n\n // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n\n // if this is a duplex stream mark the writable part as destroyed as well\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n return this;\n}\nfunction emitErrorAndCloseNT(self, err) {\n emitErrorNT(self, err);\n emitCloseNT(self);\n}\nfunction emitCloseNT(self) {\n if (self._writableState && !self._writableState.emitClose) return;\n if (self._readableState && !self._readableState.emitClose) return;\n self.emit('close');\n}\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\nfunction errorOrDestroy(stream, err) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);\n}\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy,\n errorOrDestroy: errorOrDestroy\n};\n\n//# sourceURL=webpack://beacon/./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/destroy.js?")},"./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/end-of-stream.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n\n\n\nvar ERR_STREAM_PREMATURE_CLOSE = (__webpack_require__(/*! ../../../errors */ \"./node_modules/stream-browserify/node_modules/readable-stream/errors-browser.js\").codes.ERR_STREAM_PREMATURE_CLOSE);\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n callback.apply(this, args);\n };\n}\nfunction noop() {}\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\nfunction eos(stream, opts, callback) {\n if (typeof opts === 'function') return eos(stream, null, opts);\n if (!opts) opts = {};\n callback = once(callback || noop);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable = opts.writable || opts.writable !== false && stream.writable;\n var onlegacyfinish = function onlegacyfinish() {\n if (!stream.writable) onfinish();\n };\n var writableEnded = stream._writableState && stream._writableState.finished;\n var onfinish = function onfinish() {\n writable = false;\n writableEnded = true;\n if (!readable) callback.call(stream);\n };\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n var onend = function onend() {\n readable = false;\n readableEnded = true;\n if (!writable) callback.call(stream);\n };\n var onerror = function onerror(err) {\n callback.call(stream, err);\n };\n var onclose = function onclose() {\n var err;\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n if (writable && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n var onrequest = function onrequest() {\n stream.req.on('finish', onfinish);\n };\n if (isRequest(stream)) {\n stream.on('complete', onfinish);\n stream.on('abort', onclose);\n if (stream.req) onrequest();else stream.on('request', onrequest);\n } else if (writable && !stream._writableState) {\n // legacy streams\n stream.on('end', onlegacyfinish);\n stream.on('close', onlegacyfinish);\n }\n stream.on('end', onend);\n stream.on('finish', onfinish);\n if (opts.error !== false) stream.on('error', onerror);\n stream.on('close', onclose);\n return function () {\n stream.removeListener('complete', onfinish);\n stream.removeListener('abort', onclose);\n stream.removeListener('request', onrequest);\n if (stream.req) stream.req.removeListener('finish', onfinish);\n stream.removeListener('end', onlegacyfinish);\n stream.removeListener('close', onlegacyfinish);\n stream.removeListener('finish', onfinish);\n stream.removeListener('end', onend);\n stream.removeListener('error', onerror);\n stream.removeListener('close', onclose);\n };\n}\nmodule.exports = eos;\n\n//# sourceURL=webpack://beacon/./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/end-of-stream.js?")},"./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/from-browser.js":module=>{eval("module.exports = function () {\n throw new Error('Readable.from is not available in the browser')\n};\n\n\n//# sourceURL=webpack://beacon/./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/from-browser.js?")},"./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/pipeline.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("// Ported from https://github.com/mafintosh/pump with\n// permission from the author, Mathias Buus (@mafintosh).\n\n\n\nvar eos;\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n callback.apply(void 0, arguments);\n };\n}\nvar _require$codes = (__webpack_require__(/*! ../../../errors */ \"./node_modules/stream-browserify/node_modules/readable-stream/errors-browser.js\").codes),\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\nfunction noop(err) {\n // Rethrow the error if it exists to avoid swallowing it\n if (err) throw err;\n}\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\nfunction destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n var closed = false;\n stream.on('close', function () {\n closed = true;\n });\n if (eos === undefined) eos = __webpack_require__(/*! ./end-of-stream */ \"./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/end-of-stream.js\");\n eos(stream, {\n readable: reading,\n writable: writing\n }, function (err) {\n if (err) return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function (err) {\n if (closed) return;\n if (destroyed) return;\n destroyed = true;\n\n // request.destroy just do .end - .abort is what we want\n if (isRequest(stream)) return stream.abort();\n if (typeof stream.destroy === 'function') return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED('pipe'));\n };\n}\nfunction call(fn) {\n fn();\n}\nfunction pipe(from, to) {\n return from.pipe(to);\n}\nfunction popCallback(streams) {\n if (!streams.length) return noop;\n if (typeof streams[streams.length - 1] !== 'function') return noop;\n return streams.pop();\n}\nfunction pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n var callback = popCallback(streams);\n if (Array.isArray(streams[0])) streams = streams[0];\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS('streams');\n }\n var error;\n var destroys = streams.map(function (stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return destroyer(stream, reading, writing, function (err) {\n if (!error) error = err;\n if (err) destroys.forEach(call);\n if (reading) return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n}\nmodule.exports = pipeline;\n\n//# sourceURL=webpack://beacon/./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/pipeline.js?")},"./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/state.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("\n\nvar ERR_INVALID_OPT_VALUE = (__webpack_require__(/*! ../../../errors */ \"./node_modules/stream-browserify/node_modules/readable-stream/errors-browser.js\").codes.ERR_INVALID_OPT_VALUE);\nfunction highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n}\nfunction getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : 'highWaterMark';\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n return Math.floor(hwm);\n }\n\n // Default value\n return state.objectMode ? 16 : 16 * 1024;\n}\nmodule.exports = {\n getHighWaterMark: getHighWaterMark\n};\n\n//# sourceURL=webpack://beacon/./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/state.js?")},"./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/stream-browser.js":(module,__unused_webpack_exports,__webpack_require__)=>{eval('module.exports = __webpack_require__(/*! events */ "./node_modules/events/events.js").EventEmitter;\n\n\n//# sourceURL=webpack://beacon/./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/stream-browser.js?')},"./node_modules/strict-uri-encode/index.js":module=>{"use strict";eval("\nmodule.exports = str => encodeURIComponent(str).replace(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`);\n\n\n//# sourceURL=webpack://beacon/./node_modules/strict-uri-encode/index.js?")},"./node_modules/string_decoder/lib/string_decoder.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval("// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n\n/**/\n\nvar Buffer = (__webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer);\n/**/\n\nvar isEncoding = Buffer.isEncoding || function (encoding) {\n encoding = '' + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':\n return true;\n default:\n return false;\n }\n};\n\nfunction _normalizeEncoding(enc) {\n if (!enc) return 'utf8';\n var retried;\n while (true) {\n switch (enc) {\n case 'utf8':\n case 'utf-8':\n return 'utf8';\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return 'utf16le';\n case 'latin1':\n case 'binary':\n return 'latin1';\n case 'base64':\n case 'ascii':\n case 'hex':\n return enc;\n default:\n if (retried) return; // undefined\n enc = ('' + enc).toLowerCase();\n retried = true;\n }\n }\n};\n\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\nfunction normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n return nenc || enc;\n}\n\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\nexports.StringDecoder = StringDecoder;\nfunction StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case 'utf16le':\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case 'utf8':\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case 'base64':\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer.allocUnsafe(nb);\n}\n\nStringDecoder.prototype.write = function (buf) {\n if (buf.length === 0) return '';\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf);\n if (r === undefined) return '';\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n return r || '';\n};\n\nStringDecoder.prototype.end = utf8End;\n\n// Returns only complete characters in a Buffer\nStringDecoder.prototype.text = utf8Text;\n\n// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\nStringDecoder.prototype.fillLast = function (buf) {\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n this.lastNeed -= buf.length;\n};\n\n// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n// continuation byte. If an invalid byte is detected, -2 is returned.\nfunction utf8CheckByte(byte) {\n if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;\n return byte >> 6 === 0x02 ? -1 : -2;\n}\n\n// Checks at most 3 bytes at the end of a Buffer in order to detect an\n// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n// needed to complete the UTF-8 character (if applicable) are returned.\nfunction utf8CheckIncomplete(self, buf, i) {\n var j = buf.length - 1;\n if (j < i) return 0;\n var nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2) nb = 0;else self.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n}\n\n// Validates as many continuation bytes for a multi-byte UTF-8 character as\n// needed or are available. If we see a non-continuation byte where we expect\n// one, we \"replace\" the validated continuation bytes we've seen so far with\n// a single UTF-8 replacement character ('\\ufffd'), to match v8's UTF-8 decoding\n// behavior. The continuation byte check is included three times in the case\n// where all of the continuation bytes for a character exist in the same buffer.\n// It is also done this way as a slight performance increase instead of using a\n// loop.\nfunction utf8CheckExtraBytes(self, buf, p) {\n if ((buf[0] & 0xC0) !== 0x80) {\n self.lastNeed = 0;\n return '\\ufffd';\n }\n if (self.lastNeed > 1 && buf.length > 1) {\n if ((buf[1] & 0xC0) !== 0x80) {\n self.lastNeed = 1;\n return '\\ufffd';\n }\n if (self.lastNeed > 2 && buf.length > 2) {\n if ((buf[2] & 0xC0) !== 0x80) {\n self.lastNeed = 2;\n return '\\ufffd';\n }\n }\n }\n}\n\n// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\nfunction utf8FillLast(buf) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf, p);\n if (r !== undefined) return r;\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, p, 0, buf.length);\n this.lastNeed -= buf.length;\n}\n\n// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n// partial character, the character's bytes are buffered until the required\n// number of bytes are available.\nfunction utf8Text(buf, i) {\n var total = utf8CheckIncomplete(this, buf, i);\n if (!this.lastNeed) return buf.toString('utf8', i);\n this.lastTotal = total;\n var end = buf.length - (total - this.lastNeed);\n buf.copy(this.lastChar, 0, end);\n return buf.toString('utf8', i, end);\n}\n\n// For UTF-8, a replacement character is added when ending on a partial\n// character.\nfunction utf8End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + '\\ufffd';\n return r;\n}\n\n// UTF-16LE typically needs two bytes per character, but even if we have an even\n// number of bytes available, we need to check if we end on a leading/high\n// surrogate. In that case, we need to wait for the next two bytes in order to\n// decode the last character properly.\nfunction utf16Text(buf, i) {\n if ((buf.length - i) % 2 === 0) {\n var r = buf.toString('utf16le', i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 0xD800 && c <= 0xDBFF) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf[buf.length - 1];\n return buf.toString('utf16le', i, buf.length - 1);\n}\n\n// For UTF-16LE we do not explicitly append special replacement characters if we\n// end on a partial character, we simply let v8 handle that.\nfunction utf16End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString('utf16le', 0, end);\n }\n return r;\n}\n\nfunction base64Text(buf, i) {\n var n = (buf.length - i) % 3;\n if (n === 0) return buf.toString('base64', i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf[buf.length - 1];\n } else {\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n }\n return buf.toString('base64', i, buf.length - n);\n}\n\nfunction base64End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);\n return r;\n}\n\n// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\nfunction simpleWrite(buf) {\n return buf.toString(this.encoding);\n}\n\nfunction simpleEnd(buf) {\n return buf && buf.length ? this.write(buf) : '';\n}\n\n//# sourceURL=webpack://beacon/./node_modules/string_decoder/lib/string_decoder.js?")},"./node_modules/tslib/tslib.es6.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ __assign: () => (/* binding */ __assign),\n/* harmony export */ __asyncDelegator: () => (/* binding */ __asyncDelegator),\n/* harmony export */ __asyncGenerator: () => (/* binding */ __asyncGenerator),\n/* harmony export */ __asyncValues: () => (/* binding */ __asyncValues),\n/* harmony export */ __await: () => (/* binding */ __await),\n/* harmony export */ __awaiter: () => (/* binding */ __awaiter),\n/* harmony export */ __classPrivateFieldGet: () => (/* binding */ __classPrivateFieldGet),\n/* harmony export */ __classPrivateFieldSet: () => (/* binding */ __classPrivateFieldSet),\n/* harmony export */ __createBinding: () => (/* binding */ __createBinding),\n/* harmony export */ __decorate: () => (/* binding */ __decorate),\n/* harmony export */ __exportStar: () => (/* binding */ __exportStar),\n/* harmony export */ __extends: () => (/* binding */ __extends),\n/* harmony export */ __generator: () => (/* binding */ __generator),\n/* harmony export */ __importDefault: () => (/* binding */ __importDefault),\n/* harmony export */ __importStar: () => (/* binding */ __importStar),\n/* harmony export */ __makeTemplateObject: () => (/* binding */ __makeTemplateObject),\n/* harmony export */ __metadata: () => (/* binding */ __metadata),\n/* harmony export */ __param: () => (/* binding */ __param),\n/* harmony export */ __read: () => (/* binding */ __read),\n/* harmony export */ __rest: () => (/* binding */ __rest),\n/* harmony export */ __spread: () => (/* binding */ __spread),\n/* harmony export */ __spreadArrays: () => (/* binding */ __spreadArrays),\n/* harmony export */ __values: () => (/* binding */ __values)\n/* harmony export */ });\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === "function")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nfunction __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nfunction __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nfunction __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError("Generator is already executing.");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nfunction __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nfunction __exportStar(m, exports) {\r\n for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nfunction __values(o) {\r\n var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === "number") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");\r\n}\r\n\r\nfunction __read(o, n) {\r\n var m = typeof Symbol === "function" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i["return"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nfunction __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nfunction __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nfunction __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nfunction __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume("next", value); }\r\n function reject(value) { resume("throw", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nfunction __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nfunction __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nfunction __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nfunction __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nfunction __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nfunction __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError("attempted to get private field on non-instance");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nfunction __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError("attempted to set private field on non-instance");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n\n\n//# sourceURL=webpack://beacon/./node_modules/tslib/tslib.es6.js?')},"./node_modules/util-deprecate/browser.js":(module,__unused_webpack_exports,__webpack_require__)=>{eval("\n/**\n * Module exports.\n */\n\nmodule.exports = deprecate;\n\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */\n\nfunction deprecate (fn, msg) {\n if (config('noDeprecation')) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config('throwDeprecation')) {\n throw new Error(msg);\n } else if (config('traceDeprecation')) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n}\n\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */\n\nfunction config (name) {\n // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n try {\n if (!__webpack_require__.g.localStorage) return false;\n } catch (_) {\n return false;\n }\n var val = __webpack_require__.g.localStorage[name];\n if (null == val) return false;\n return String(val).toLowerCase() === 'true';\n}\n\n\n//# sourceURL=webpack://beacon/./node_modules/util-deprecate/browser.js?")},"./node_modules/ws/browser.js":module=>{"use strict";eval("\n\nmodule.exports = function () {\n throw new Error(\n 'ws does not work in the browser. Browser clients must use the native ' +\n 'WebSocket object'\n );\n};\n\n\n//# sourceURL=webpack://beacon/./node_modules/ws/browser.js?")},"./packages/beacon-blockchain-substrate/dist/cjs/blockchain.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError("Generator is already executing.");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.SubstrateBlockchain = void 0;\nvar wallet_lists_1 = __webpack_require__(/*! ./ui/alert/wallet-lists */ "./packages/beacon-blockchain-substrate/dist/cjs/ui/alert/wallet-lists.js");\nvar SubstrateBlockchain = /** @class */ (function () {\n function SubstrateBlockchain() {\n this.identifier = \'substrate\';\n }\n SubstrateBlockchain.prototype.validateRequest = function (input) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n // TODO: Validation\n if (input) {\n return [2 /*return*/];\n }\n return [2 /*return*/];\n });\n });\n };\n SubstrateBlockchain.prototype.handleResponse = function (input) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n // TODO: Validation\n if (input) {\n return [2 /*return*/];\n }\n return [2 /*return*/];\n });\n });\n };\n SubstrateBlockchain.prototype.getWalletLists = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, {\n extensionList: wallet_lists_1.extensionList,\n desktopList: wallet_lists_1.desktopList,\n webList: wallet_lists_1.webList,\n iOSList: wallet_lists_1.iOSList\n }];\n });\n });\n };\n SubstrateBlockchain.prototype.getAccountInfosFromPermissionResponse = function (permissionResponse) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, permissionResponse.blockchainData.accounts.map(function (account) { return ({\n accountId: account.accountId,\n address: account.address,\n publicKey: account.publicKey\n }); })];\n });\n });\n };\n return SubstrateBlockchain;\n}());\nexports.SubstrateBlockchain = SubstrateBlockchain;\n//# sourceMappingURL=blockchain.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-blockchain-substrate/dist/cjs/blockchain.js?')},"./packages/beacon-blockchain-substrate/dist/cjs/index.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.SubstrateBlockchain = void 0;\nvar blockchain_1 = __webpack_require__(/*! ./blockchain */ "./packages/beacon-blockchain-substrate/dist/cjs/blockchain.js");\nObject.defineProperty(exports, "SubstrateBlockchain", ({ enumerable: true, get: function () { return blockchain_1.SubstrateBlockchain; } }));\n__exportStar(__webpack_require__(/*! ./types/message-type */ "./packages/beacon-blockchain-substrate/dist/cjs/types/message-type.js"), exports);\n__exportStar(__webpack_require__(/*! ./types/permission-scope */ "./packages/beacon-blockchain-substrate/dist/cjs/types/permission-scope.js"), exports);\n__exportStar(__webpack_require__(/*! ./types/messages/permission-request */ "./packages/beacon-blockchain-substrate/dist/cjs/types/messages/permission-request.js"), exports);\n__exportStar(__webpack_require__(/*! ./types/messages/permission-response */ "./packages/beacon-blockchain-substrate/dist/cjs/types/messages/permission-response.js"), exports);\n__exportStar(__webpack_require__(/*! ./types/messages/sign-payload-request */ "./packages/beacon-blockchain-substrate/dist/cjs/types/messages/sign-payload-request.js"), exports);\n__exportStar(__webpack_require__(/*! ./types/messages/sign-payload-response */ "./packages/beacon-blockchain-substrate/dist/cjs/types/messages/sign-payload-response.js"), exports);\n__exportStar(__webpack_require__(/*! ./types/messages/transfer-request */ "./packages/beacon-blockchain-substrate/dist/cjs/types/messages/transfer-request.js"), exports);\n__exportStar(__webpack_require__(/*! ./types/messages/transfer-response */ "./packages/beacon-blockchain-substrate/dist/cjs/types/messages/transfer-response.js"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-blockchain-substrate/dist/cjs/index.js?')},"./packages/beacon-blockchain-substrate/dist/cjs/types/message-type.js":(__unused_webpack_module,exports)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.SubstrateMessageType = void 0;\nvar SubstrateMessageType;\n(function (SubstrateMessageType) {\n SubstrateMessageType["transfer_request"] = "transfer_request";\n SubstrateMessageType["sign_payload_request"] = "sign_payload_request";\n})(SubstrateMessageType = exports.SubstrateMessageType || (exports.SubstrateMessageType = {}));\n//# sourceMappingURL=message-type.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-blockchain-substrate/dist/cjs/types/message-type.js?')},"./packages/beacon-blockchain-substrate/dist/cjs/types/messages/permission-request.js":(__unused_webpack_module,exports)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\n//# sourceMappingURL=permission-request.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-blockchain-substrate/dist/cjs/types/messages/permission-request.js?')},"./packages/beacon-blockchain-substrate/dist/cjs/types/messages/permission-response.js":(__unused_webpack_module,exports)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\n//# sourceMappingURL=permission-response.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-blockchain-substrate/dist/cjs/types/messages/permission-response.js?')},"./packages/beacon-blockchain-substrate/dist/cjs/types/messages/sign-payload-request.js":(__unused_webpack_module,exports)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\n//# sourceMappingURL=sign-payload-request.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-blockchain-substrate/dist/cjs/types/messages/sign-payload-request.js?')},"./packages/beacon-blockchain-substrate/dist/cjs/types/messages/sign-payload-response.js":(__unused_webpack_module,exports)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\n//# sourceMappingURL=sign-payload-response.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-blockchain-substrate/dist/cjs/types/messages/sign-payload-response.js?')},"./packages/beacon-blockchain-substrate/dist/cjs/types/messages/transfer-request.js":(__unused_webpack_module,exports)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\n//# sourceMappingURL=transfer-request.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-blockchain-substrate/dist/cjs/types/messages/transfer-request.js?')},"./packages/beacon-blockchain-substrate/dist/cjs/types/messages/transfer-response.js":(__unused_webpack_module,exports)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\n//# sourceMappingURL=transfer-response.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-blockchain-substrate/dist/cjs/types/messages/transfer-response.js?')},"./packages/beacon-blockchain-substrate/dist/cjs/types/permission-scope.js":(__unused_webpack_module,exports)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.SubstratePermissionScope = void 0;\nvar SubstratePermissionScope;\n(function (SubstratePermissionScope) {\n SubstratePermissionScope["transfer"] = "transfer";\n SubstratePermissionScope["sign_payload_json"] = "sign_payload_json";\n SubstratePermissionScope["sign_payload_raw"] = "sign_payload_raw";\n})(SubstratePermissionScope = exports.SubstratePermissionScope || (exports.SubstratePermissionScope = {}));\n//# sourceMappingURL=permission-scope.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-blockchain-substrate/dist/cjs/types/permission-scope.js?')},"./packages/beacon-blockchain-substrate/dist/cjs/ui/alert/wallet-lists.js":(__unused_webpack_module,exports)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.iOSList = exports.webList = exports.desktopList = exports.extensionList = void 0;\nexports.extensionList = [];\nexports.desktopList = [];\nexports.webList = [];\nexports.iOSList = [\n {\n "key": "airgap_ios",\n "name": "AirGap Wallet",\n "shortName": "AirGap",\n "color": "rgb(4, 235, 204)",\n "logo": "data:image/png;base64,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",\n "universalLink": "https://wallet.airgap.it",\n "deepLink": "airgap-wallet://"\n },\n {\n "key": "nova_ios",\n "name": "Nova Wallet",\n "shortName": "Nova",\n "color": "",\n "logo": "data:image/png;base64,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",\n "universalLink": "https://novawallet.io",\n "deepLink": "nova://"\n },\n {\n "key": "fearless_ios",\n "name": "Fearless Wallet",\n "shortName": "fearless",\n "color": "",\n "logo": "data:image/png;base64,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qnjgvjt2bdt104633fa2W66546bbbrvnrnseqCL+IqhH+Zjz/hsvOee0haiKqFgIKlZVxFBE7atYiIXaVxE1BFURFQtxwSlf8JL/3VU/cNPjqx8XRbAmTtlwxobzznjWac8465KzLjjtnE2nbNqwZhY1RBGHmdRCxWTYMDmudcf0x97ykm2XnRND1FAHiZrVvqh1a87Zcs6WF1y0EMOeemDPtju23fWOHW/b9o473nbbtjtu2XXfA3uG+PG3Jv66X3DeKdS+qFkdJmpfLIs6SNSsFqJmtXDBKX/dL/iq/8ue+nFXw4R1a87adM5pzzjjktOecc4lW8455ZzT1kwmUcdR8bB6lKjgB7b9sbcc17pj2nHP73nFF33WZec8jqBmQa2axGTNM856xll/yRAUe+que7btuuGOG277oVuuue262266a9c991UVET/6Nqy57LxYFdTjCWoI6vFcdt6mNXfc96OuFipiQ2zYcN4pF53xrDMuO+uCMy447ZxNp2yYRFBDERRBEccX1PH90LY/cNWOe45rnTquG277XVd90Uuec87jiGVxMsGaOGPTGZuuOOdhxT0P3LFr264bbnvbjh/ads1tt9x1yx137dmzpyri+IJ674I6iV33veW6n3ZZEUMNQTyemMXJFMFbrtt1H/V4gnpygjpMVURMTpucdco5W56x5bJznrHlgjPO2XTapg2TiEeJIYYY4uRiVRHLvm/b77rqhh0nse6Ebtjxu676os+44ryKqH01i6EIKqiFeLegKqIOUkMMFVELNUScMjnltAu2/ISLYqGC+3hgz007tu162y3X3HLdjmt23LLjtvvuuW9PRSyrJ6NOak/9K2/4ks96znlFVCwEtVARVRELtVBEUO9WETVEVSwEVRFVETUEFXzftn/lDXvq8dWTtaeYxIZ1Z6w7Y8tlWy7a8qyznnHWOZvO27Jmsm6oWKiKoBaqFoKKhaiKfVELFVH7iliIhVqohQiqglqIoWIhKCYLte8t237PK27YcVL5tL9dS4IagjrIead92UuuOO9hRQxFUEMMNcRQBLUshiIOV8SyGuJk7qtd99xw1w073nHbNTvetuO6W7bdteuee/YUcZSgVgX1uC4448s+4znnHaSIgxVxsCKOp4jh+2562Stu2EFQBDUL6nAxqyGoZUHtKyI2xKYN55xy0VnP2PKsLZeccd6W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",\n "universalLink": "https://fearlesswallet.io",\n "deepLink": "fearless://"\n }\n];\n//# sourceMappingURL=wallet-lists.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-blockchain-substrate/dist/cjs/ui/alert/wallet-lists.js?')},"./packages/beacon-blockchain-tezos/dist/cjs/blockchain.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError("Generator is already executing.");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.TezosBlockchain = void 0;\nvar wallet_lists_1 = __webpack_require__(/*! ./ui/alert/wallet-lists */ "./packages/beacon-blockchain-tezos/dist/cjs/ui/alert/wallet-lists.js");\nvar TezosBlockchain = /** @class */ (function () {\n function TezosBlockchain() {\n this.identifier = \'xtz\';\n }\n TezosBlockchain.prototype.validateRequest = function (input) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n // TODO: Validation\n if (input) {\n return [2 /*return*/];\n }\n return [2 /*return*/];\n });\n });\n };\n TezosBlockchain.prototype.handleResponse = function (input) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n // TODO: Validation\n if (input) {\n return [2 /*return*/];\n }\n return [2 /*return*/];\n });\n });\n };\n TezosBlockchain.prototype.getWalletLists = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, {\n extensionList: wallet_lists_1.extensionList,\n desktopList: wallet_lists_1.desktopList,\n webList: wallet_lists_1.webList,\n iOSList: wallet_lists_1.iOSList\n }];\n });\n });\n };\n TezosBlockchain.prototype.getAccountInfosFromPermissionResponse = function (_permissionResponse) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, [{ accountId: \'\', address: \'\', publicKey: \'\' }]];\n });\n });\n };\n return TezosBlockchain;\n}());\nexports.TezosBlockchain = TezosBlockchain;\n//# sourceMappingURL=blockchain.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-blockchain-tezos/dist/cjs/blockchain.js?')},"./packages/beacon-blockchain-tezos/dist/cjs/index.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.TezosBlockchain = void 0;\nvar blockchain_1 = __webpack_require__(/*! ./blockchain */ "./packages/beacon-blockchain-tezos/dist/cjs/blockchain.js");\nObject.defineProperty(exports, "TezosBlockchain", ({ enumerable: true, get: function () { return blockchain_1.TezosBlockchain; } }));\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-blockchain-tezos/dist/cjs/index.js?')},"./packages/beacon-blockchain-tezos/dist/cjs/ui/alert/wallet-lists.js":(__unused_webpack_module,exports)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.iOSList = exports.webList = exports.desktopList = exports.extensionList = void 0;\nexports.extensionList = [\n {\n "key": "spire_chrome",\n "id": "gpfndedineagiepkpinficbcbbgjoenn",\n "name": "Spire",\n "shortName": "Spire",\n "color": "",\n "logo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAjxElEQVR4Ae3BC5yddX0g/O/vOZNJAiFcRG4JIWhQUORmZSYJZCahVK1aGrVr6ypqtayt2pdVP2rX2nOeautl1fpqba1Vq2hrfWvNy6pbLLIwXJIZLyBKvaIEknATRZMQkpnM/DfQpttVVOB5zsy5/L9fWZZlWZZlWZZlWZZlWZZlWZZlWZZlWZZlWZZlWZZlWZZlWZZlWZZlWZZlWZZlWZZlWZZlWZZ1gJD1tKFmss8g5kWYhwYa9rnhA8MN+5z8kvFp/2oa0ymZwhQmJ8qQ9a6QdbXhZjogcXyE47AMS3EMjsThOAwHYgEWYB4G7HPXV//WfQ4/5T/7N3sxhd3YjXvwQ9yFO3ArtuKWlGwONo+XsUvWtULWFYZbaTFW4FQ8AY/DiViCBsJD9N2LX+w+jz7vgx6GhGlswzfxdXwN1+PG8VZsl3W8AVnHGW6mwHJhFVbhTDwGi9UkpWk7brnKfVKaFtHwEAUGcByOw5P9H9uHW+nb+AI2SjZi83gZSdZRQjbnhpopgiXCWpyDtVimjXbf/V3Xv+ex7nPaK75t/qGP0ma34HJcJrk8sW2ijCSbUyGbE8Ot1JCcLjwDT8fJGDRLvn/d3/juxb/tPo8+70MeefqLzKJJ3IDPSD4tXDfeimnZrAvZrBlqpoEIT8KzsR7HmyPf3fAC37/+Ivd55Knne/T6j5hDN2EDPpmSL06UsVc2K0LWVkPNFA1OmAnPx3OwAmFOJde963h7fnSz+8w/5DinX7hZB0i4EZ8oko9O852JMpKsbULWFkOttChYj5dgNRo6xO4ffNtX/vwk0oz7ReG0l3/Dgkc8RgeZxjX4QGLDRCt2ymo3IKvNSDOZZIXwO4kX4ggdaPvNV5Jm/Ls0Y/vNV1rwiMfoIA2swZrgzpWt9GHJXw9y41gZsno0ZLUYbqZVM+EdKbwba3CgDnXbpnfadcfX/EeN+YsddtIzdagDsVp46Uw4ZelIa9vWsXKLrLIB2cM21EyNRjg38brE2YlCh0vTk7bffKWftOPmq6TpSdEY1MEGE78hPGtlK10VvGU6uXSijGnZwzIge8iGmikiPAV/OMNKhC6x++7vmvzxVj9pz4+32H33dy08/CRdoEiMJNZE2DTcSm9KySUTZSTZQxKyB21lM0XBmpnwxsTZutAdX3qfmz7zux7I8U//S0f+0kt1o+CqInnDDFduKiPJHpSQ/UIrm8k+J6bwVjwNDV3qO//wn/zgX/7BA3nEyc9xwrP/XhebxmcjeS2+uakM2c/XkP1cw810eIQ3p/BBPA6FLpVmpm2+5P8xM3mPB7J3112OHv6vIgpdqsBjhQsiPHLpSOtLW8fKXbKfKWQPaE0zNfaEFwRvwtF6wK47vuar7zuNNOMBReGUl37FAUc+QY+4LfGH85OPXFnGtOynNGQ/ZVUznbI3fCL4fRyke+zFHbgRX8YYLsH/j7+/8VPP273n7u+e7GdKdv/wOx9/5KnnvxNX4kv4Fm7DPf7VQhS6w0HBedNhdNlI69otY+Udsv9LyP7dUDMtiPA6vAYLda5J3Bpcn7gB/5L4luRm7MDkRBkewAb8up9vA57pJww1k30GCxbNhOXBY/H44OTEqTgGgzrXvXhbSt4yUcZu2f1Cdr/hZnqi8H6cofNsxxcKrplhfCD5ytVl3O6hmY+bcaSf7w4chz0egrOa6ai94bSC4RlW40ws1nmulVwwXsaXZUKfW9lMgxFeOUMTC3SGPbgu+FxKPp+4FrsmylDBabjOg3MarvcwDTWTfQ4Izojwy4kn43TM1xl2F5QpeeemMib1sdDHVrXSsTNchFFz715cig2R/PMgt46VoUavxDs8OK/En6nJSDOZ5JgUfgXrcS4WmntXFJy/sRVb9KnQh0aayVRYP8P7cbi5sycYw8dmks/g7okytMn/wDM8OJ/Gr2mDoWayz6FFeDqelxjBfHPnroIL5iUbxsrQb0KfGWqmeUV4Y+LVaJgbNwYfSsnfzefmsTK02XxsxeEenLuwFHu00Ugz2cNxEZ6b+G2sMDemg7fPJG+YKGNKHwl9ZHUzHTUdPoZzzL5JfC4l753PpVeWMWP2DGETwoOTMIwvmCVrmqnYw7kRXoYnY9Dsu6yRPO+aMm7XJ0KfWN1Mp0+HT+JRZtc9uKhI3jPNNybKMAdeg7d6aF6Lt5llQ82kwUkz4RU4HweaXd9rJM++pozr9IHQ41Y1kxSemfgwDjJ7foS/TMm7J8q43dz6n3iqh+af8Kvm0FAzHRXh9/G7OMTs2RG8MJJPbSxDLws97Kxmir3hv+KtGDA7duIv8I7xVtxp7i3EbTjYQ3M3jsFuc2y4lY7Aq/B7WGR27MVrB5I/u7qMpEeFHjXUTANFeEfiFQjtN4mPpKScKGObzrEK13h4VmOjDjHUTEsiNPECDGq/FLxnJnnVRBl79aCGHjTcSgsifBgvQWivhEuL5D/N8IGJMnboLM/DOR6e7+JqHWLbWLljyUjr0w0+ncKj8CiE9gkMRThh6Wjrs1uvKPfqMaHHDDfTogj/kHiK9tuMV6dkw0QZMzrTpfhlD88/48k60FAzFRHW4+1Yrs2CS1LyG+Nl7NRDQg9Z2UwHp3AxRrTXJP48JeVEGdt1roOwBQd7eH6EZdihQw010+IITbwcg9prLJLzNpXxYz0i9IjhZjpYuBgj2uurkv8yXsa4znc2rlTNGlylww0307DwVzhFe41Jfm28jO16QEMPWNlMBwsXY0T7TOG/R/L88TI26w4vwqhqbsKVOtzWsXLrsSOtjwgNDKGhPZYLq44daW3YOlbu0eVCl1vZTItS+AxGtM/NkheNl3G57nIFRlRzOdbpIsPNtFb4GxynfcYiefqmMnbqYg1dbFUrLRD+Eb+sPRIubiRP21TGN3SXA/D/Yp5qjsKfYUqX2DpWbj5upHVRCo/FYxHqtzzCGctGW/+45Ypyry7V0KWGmmlA+DDWa48pvHYgeeU1ZezSfc7Gi1U3D5/HZl1ky1h57/KR1idnwg6sRUP9ViQevWSkdfG2sXJGFwpd6Kxmir3hXfh97XF78FubWnGF7vUmvF493og/0qVWttJo4uM4Snu8eyC58Ooyki7T0GVWNZPp8Eq8AaF+1w4kT95Yxld0tz/GMvUYwId0qa1XlJuXj7Q+NRPOxtHqd+ZM2LFspLVpy1ipmxS6TXgm3opQv4sjWXt1GTfpbofiVPU5FYfqYleXcVMka3Gx+gXeKjxTl2noIiub6fQULsZC9Up4r+Ql42Xcq/uN4rfVZxCfx/d0sa1j5Z6lI61/FA7FkxDqUyR+9diR1iVbx8rbdYmGLrGymY5K4XM4Sr1mgmZK/ttEGdN6w4txlnrdist0ua1j5cySkdYlRZjGKEJ95gvnHjvS+v+2jpU7dYGGLjDUTPOET+GJ6jWNV+DPJspIesebsFS9BvBBPWDbWGnpaOsq3ImnoFCfQ4XTl4y0Pr5trJzR4Ro63EgzmQ5/iuer11QkLxkv4wNbryj1kIPxLhTqdSTehUk9YOsVpa1XlF86dqR1i/A0NNTnUREGHz3S+vzNY6VOVuhwk2E9Xq1eU5G8MPiI3nM2BtRvHtboMcGHI3khptTr1ZNhvQ5X6GCrmunYxPvRUJ9pyQXB320sQw8a0T6jeszGMgR/J7kA0+rTSLx/VTMdq4M1dKjhZhpM4VN4nPrM4BXjZXxgy1ipBwX+FMdoj0F8QI/ZMlbaOlZ+Zelo6/t4KkI9Dkjh9KUjrY9vHSundaBCh4rwSoyqTwqaeJ/e9Ug8Xvs8HofrXe8LmkjqMxrhlTpUoQMNtdITE031eu9M8ifjrUh610os0D4LsUqPGm9Fmkn+BO9Vo0RzqJWeqAMVOsxwMy0I3o8F6nMxXjlRRtLb1mm/ET1sooyEV+Ji9VkQvH+4mRboMIVOE16HM9TnWsn5462Y0vvWar+1etx4K6Yk5+Na9TlDeJ0OU+ggq1rpFLxGfW6L5NnjZWzX+47ESdrvZBypx42XsT2SZ+N29XnNqlY6RQcpdIjVzdSY4T1YqB5TkTx3Uxk36Q9nY0D7DWC1PrCpjJsi+S1MqcfCGd6zupkaOkShQ0yHF2CNeiT8waYyrtA/1pk9o/rEpjKuwB8gqcea6fACHaLQAYaa6XC8SX0uHkjepX8UONvsWYtCnxhI3oWL1edNQ810uA5QmGMrm0kR3oCj1eNmvPjqMqb1j6NxotlzIo7WJ64uYxovxs3qcXQR3rCymcy1wlwLJyZeqh5TeNF4K36ov6zBgNkzgFX6yHgrfogXYUoNEi8VTjTHCnNoZTNF4q0YVI93jLficv1n1Ow7R58Zb8XleId6DCbeurKZwhwqzKWwBk9Tj+sj+WP9acTsG9WHIvljfFU9niasMYcKc2SomQJvREN1k3jppjLu1X+W49Fm36OxTJ/ZVMa9+C+YVF0DbxxqpjBHCnMkwlMSZ6vHn4+3Ylx/OhsDZt8AztKHxlsxjj9Xg8TZEZ5ijhTmwFAzNfCH6rE5JaX+NWrunKNPpaTEZvX4w6FmapgDhTkQ4VysVF3CqyfK2K4/DWDE3DkLDX1ooozteDWS6lZGONccKMyN1yFUd2lKNuhfy/Aoc2cFlupTKdmAS1UXeJ05UJhlw620CmerbhKvmShjRv9agzB3CqzVpybKmMFrMKm6s4dbaZVZVphFI81knwtRqO4jKblef1tn7o3qYym5Hh9RXYELR5rJbCrMoj1hBc5T3c6UlBNl6GMNjJh7a1DoUxNlSEmJnao7b09YYRYVZlHwOxhU3V9MlLFNf1uBJebeMqzQxybK2Ia/UN1g8DtmUWGWDLXSosQLVfcjvEO2Bg1zr4E1snfgRypKvHColRaZJYVZEqzHEar7y/FW3Clbp3OM6HPjrbgTf6m6I4L1ZklhFgw1U+AlqrsnJe+WDeAsnWMNBvS5lLwb96juJUPNFGZBYRZEOAGrVXfRRBm3y1Zgqc6xDCv0uYkybsdFqlsd4QSzoDA7no+GaibxHtl9ztF5RmT3eQ8mVdPA882CQpsNNdMAnqO6z6XkG7L7jOo8ozIp+QY+p7rnDDXTgDYrtFmEJ2GF6t47UYbMIFbpPGswT5+bKMM+71XdighP0maF9ns2QjU3NpJLZfd5HI7WeY7CiTKN5FLcqJrAs7VZoY2GW6mB9ar70DVlzMjuswah8xRYI3NNGTP4kOrWD7dSQxsV2ut0HK+aPZK/k+03qnOdI/tXyd9hj2qOx+naqNBez1Dd2Hxult1nACM611loyMznZoyp7hnaqNAmQ80UeLrqPjZWhux+p+AwneuROFlmrAz7fEx1Tx9qptAmhTaJsAQnq+belHxGtt+ozrdWdr+UfAb3qubkCEu0SaF91mJQNZfibtl+63S+dbL97salqhnEWm1SaJ9zVLdhogzZ/Q7AkM43hAUyE2XYZ4PqztEmhTYYbqbAWtXsCf5Ztt/JOFzneyQeL7tf8M/Yo5q1w80U2qDQDmE5lqnmusHkVtl+o7pDYJ3sfoPJrbhONcuE5dqg0B6rVPe5sTJk/26d7jEqu99YGfb5nOpWaYNCe6xS3edl+w1ite5xFgZk+31edau0QaE9zlTN9pRcK9vvl7BI91iMJ8nul5JrsV01Z2qDQs2GW2kxHqOaL2CXbL9zdJ9R2X678AXVPGa4lRarWaF+K7BYNddMlCH7dyO6z4jsfhNl2Oca1SzGCjUr1O9U1Y3L9jsIT9R9hrBItt+46k5Vs0L9nqCaSclXZPs9EYfoPofgNNm/Sr6CSdU8Qc0K9Xucam4dL+N22X6juteo7H7jZdyOW1XzODUr1O9E1Vwv+49Gda91sv/oetWcqGaFGg030wFYopobZPsdhDN1rzNxoGy/G1SzZLiZDlCjQo1SWI6Gav5Ftt8QFupeB+JJsv3+RTWNFJarUaFGwXKEChLfku03ovuNyvb7tmoCy9WoUK9lqtkbbJbtt073O0e232bsVUGwTI0K9Vqqmu+nZKfsPofiNN3vNBwsI9mBu1SzVI0K9TpGNbdjUnafM3GA7rcIT5IpmMRtqjlGjQr1OlI12ybKkN1vrd6xVmZjGfbZppoj1ahQr8NVc5tsv3V6xzrZfrep5nA1KtRkqJnsc5hq7pTd5xF4gt5xKg6R3edO1Rw21EzqUqjPIA5UzQ9k91mJBXrHQqyU3ecHqjkQg2pSqM88LFDN3bL7rNN71sruc7dqFmCemhRqEmEeFqhmhyywRu8ZQch2qGZBhHlqUqhPA/NUkJJ7ZYfjCXrPqThMn0vJvaqZh4aaFOrTwIBqdsrOwqDeMx+rZTtVM4CGmhSyTrNW7xqVdZRCfUJFQZKN6F0jsqSDFOqTVJQI/W0JTtS7Ho+j9bfQQQpZJ1mFQb1rPoZlHaOQdZJRvW+trGMU6jONvapZpH8VGNX7RlDoX4tUsxfTalKozzSmVBBhof51NE7U+07GEfpUhIWqmcK0mhRqkpIp7FbNQfrXGhR6X4Gz9a+DVLM7JVNqUqjPFHar5lD9a63+sVb/OlQ1uzGlJoX6TOIe1TxCfyowqn+sRehPj1DNTkyqSaEmE2XY54eqOUJ/Og7H6x+PxrH60xGquXuiDHUp1Osu1RytP52NAf1jHlbrT0er5i41KtTrDtUsWdVM+tBa/WedPrOqmeyzRDV3qFGhXreq5ugZBvWXwIj+M4rQR2YYxNGquVWNCvXaqprDhYP0l+NwvP7zaCzVT8JBOFw1W9WoUK9bVDOQOE5/OUd/CqzTX5ZjQDW3qFGhRonNSCoIHqu/jOpfo/rLY1STEpvVqFCjSDZjWjWP1z8GcJb+dTYa+sfjVTMdyWY1KtRovIxd2Kaak/WPE7BM/1qOR+kfJ6tm23gZu9SoUL9vquZU/eNsFPpXA2v0j1NV8001K9Tv66o5ZriZjtIf1spG9YHhZjoKx6jm62pWqN/XVDMonKb3BUZlowi9LpyGQdV8Tc0K9btedcN63+NwpGwJHqv3DavuejUr1O9GbFfNqqFm0uNGELLAGj1sqJnss1o123GjmhVqNt6K7fi2aoZwgN62TrbfWr3tAJypmm+Pt2K7mhXa4wuqWRzhDL1rPlbJ9jsLg3pUhDOwWDVf0AaF9tioul/Wux6Lo2X7LcEJetcvq26jNii0x0bVPXmkmfSotbL/KDCiB400k32erLqN2qDQDslm3KKa0yfDMXrTOtlPWqcHTYZjcLpqbpFs1gaFNhgvI+Fy1cxP/IreM4DVsp+0Bg09JvErmK+ay8fLSNqg0D6XqW79UDPpMafiMNlPOhwn6yFDzWSf9aq7TJsU2udyTKrmXByqt6xDyH5SYFRvORTnqmYSl2uTQpukZBtuUM3CCE/XW0ZkP8s6PSTC07FQNTekZJs2KbTJRBkJn1Hd80aaSY9YiCHZzzKMBXrASDPZ53mq+8xEGUmbFNrr06ob2cNxesOpOFz2sxyBx+kBezgOI6r7tDYqtNd1uEk184Xn6g2jsl/kHL0gPBfzVXMTrtNGhTYab8U0Nqjut1c3U6H7jcp+kRFdblUzFXix6jaMt2JaGxXa75NIqlkxHc7V3Q7AkOwXWYn5uthMOBePVk3CJ7VZoc1S8kXcqLqXDTWTLnYGDpH9IofiDF1qqJns8zLV3ZiSL2qzQptNlLEXn1DdkyOcpHuNyh6MwIguFeEkPFl1n5goY682K8yOj2JaNYN4he61VvZgjeper8CgaqbxUbOgMAtS8h1co7rzh5rpKN1nEc6UPVhDOECXGWqmo3C+6q5JyXfMgsIsmCgj4QOqOzDC7+s+v4RFsgfrEJyhy0T4fRyoug9MlJHMgsIsSWzAnar73eFWOkJ3GZU9VCO6yHArHYHfVd2diQ1mSWGWTLRiZ/Bh1R2CV+ku58geqrW6y6twiIqCD0+0YqdZUphFib/GpOp+b6iZlugOB+M02UP1JBykCww10xL8nuomE39tFhVm0fzkRlysukURmkPNpAs8CYtkD9ViPFGHG2omEZpYpLqL5yc3mkWFWTRWhn3ehRnVvSDCqTrfOtnDNaLDRTgVL1DdDN41VobZVJhl463YiKtUN4i3DTVToXMFRmQP1zk62FAzFXgbBlV31XgrNpplhbnxFiTVnRthvc51EJ4oe7h+CYt0qAjrca7qEt5iDhTmQEouxSbVBd4+1EyLdabVmC97uBZiSAcaaqbFeDtCdZtScqk5UJgDE2VM403qsTxCU2daK6tqnQ4UoYnl6vGmiTKmzYHCHEnJJcFV6vHy4VYa1nlGZFWt1WGGW2kYL1eD4KqUXGKOFObIRBkJb8C06gbxVyubaaHOcQSeIKvqFBymQ6xspoX4KwyqbhpvmCgjmSOFuZRcic+qxykp/JHOMYSFsqoOxJk6RAp/hFPU47OSK82hwhzaVEYKXotJ9XjVcCut1RnWyuqyTgcYbqW1eJV6TAav3VRGMocKcy35ZvA+9ZiHvxlupcPMvbWyuoyYY8OtdBj+BvPUIHif5JvmWGGObSrDTPJG3KYex+GDZzVTw9w5HKfI6nIGDjZHzmqmBj6I49TjtpnkjZvKMNcKHWCijLvwh+pz3t5woblzNgpZXQawxhzZGy7Eeerz+oky7tIBCh2ikXwEV6pH4M0rm2nU3Fgrq9uoObCymUbxZoR6XNlILtIhCh3imjKmC16Be9VjXgofX9lMx5tdgbWyuo2aZSub6fgUPo556nFvwcuvKWNahyh0kI2t+Crepj5HpfDJ4WZabPYcg8fI6vZ4HGWWDDfT4hQ+iaPU520bW/E1HaTQaZK34Fr1OUO4aLiV5pkdqzAoq9t8rDQLhltpnnARzlCfayVv0WEKHWa8jN2JC7Bbfc7DO4eaKbTfOlm7jGizoWYKvBPnqc/uxAXjZezWYQodaKIVXw5K9XpZEV4/3EqhvdbK2uUcbTTcSlGE1+NlahSUE634sg5U6FApeSeuUJ9IlHip9jkGJ8ja5SQcqX1emigR6nNFSt6pQzV0qK1j5fSykdb/SuH5OEA9Ak9ZOtK6Zdlo6ytbxko1Ow/PkrVLgS/g62q0qpksGW29UHgfGupzV5E8ZVMZd+tQhQ62sYwtwQWYVp+G8P7Ec1c1k5qNyNptVI1WNZPEc4X3o6E+08EFG8vYooMVOtxgsgFvV695KXw48UL1aeBsWbuNolCTxAtT+DDmqdfbB5MNOlzoAkPNNC/CP+Ec9ZrGK/C+8VYk1TwK30ZD1k57cTy2qmC4lQIvxXvQUK/LUvLUiTKmdLiGLrBtrJw5dqT1z8Izcaj6FHhqML1kpHXVtrFSBb+GZ8rarcAXcYOHaaiZogivx39HQ72+F8nTx8vYrgs0dImtY+XOY0daVwnPxXz1CayNcPjSkdbnt46VMx6eC3GabDb8CJ/2MAw307wI78JrUajXjkh+dVMZN+oSDV1k61h5+7LR1rcSz0KhPoEzhVOOHWn9z61j5R4PTeDPcIhsNizGezxEK5tpsfBxnI9Qr70Fz9tUxuW6SKHbJJ/Ca5HU77wULj+rmY730KzAMtlsOR7HeQjOaqbjU7gc56lfwmsln9JlGrrMlrHS8pHW+Ew4DEPqd/RMeM6xo60vb72i3OzB+XX8umy2FLgO13sQVrbS6Ez4J5ygPd4zkLSuKUO3CV1qqJkGIlyE39IeU/iDgeRdV5cx7ef7GP6zbDZ9GC/yc5zVTI294UK8GfO0x8dTcv5EGXt1oYYutW2snFk22vosfgkr1K+Bc2fCqceNtC7dMlbe64HNw9txiGw2LcJfIHkAq5vpsOnwt3gFGtoguKTgueNlTOpSDV1syxXl3mNHWhcLq7Fc/QInpvCbS0da128dKzf7aSfg9QjZbDoEF+FuP2G4mdam8E8YRmiPsUjWbypjly4WesDKZjo4hYsxon2m8I5I/nhTGff6Py7AX8nmwovxIf9mZTMtTOGP8CrM0z5jkZy3qYwf63INPWDrWLnn2JHWp4RVWK49GjhLeMbSkdZXto6VW/2r1+DxsrmwHRvsM9xMw8LFeBYa2mcskmdsKmO7HtDQI7aOlXuOHWltEFZiufY5Ujh/6Wjr0EVLh79411f/9q04SDYXDjnxef/04RXP/NifCH+JY7TXWCTnbSpjux7R0EO2jpV7lo60PhnhDKzQPg2snN794xfd+eX3H4GQzYFYfPSqV75ocNHR56KhjYJLJOvHy9ihhxR6zHgZOxPr8XFttmPLxiNQyOZIKu7Z9sWjtN/HE+vHy9ipxxR60Hgrdqfk/ODdSNpk++YrZHNr++YrtFEK3p2S88dbsVsPKvSoiTL2NpIL8WrsVbM0PWnHlo2yubX95qukmSltsBevbiQXTpSxV48q9LCry0hF8s7gOdihRru+/3VTO2+Xza3J7Vvt/sGNarYjeE6RvPPqMpIeNqDHbSzDPp9a3Uw3TYdP4lFqsP2my2WdYfvmyy185Elq8r1G8uxryrhOHyj0iWvKuK6RrMZlarD95jFZZ/jxTZeryWWNZPU1ZVynTxT6yDVl3J6SpwZvxbSHaWbvbju3bJR1hh23XC1NT6pgOnhrSp56TRm36yOFPjNRxtRg8rqC38BdHoZdd3zN1D13yTrD1D13uveub3iY7ir4jcHkdRNlTOkzA/rQWBn22bCqlb40w0UY9RDsuHkMSdYh0oztm8cccOSpHqIrCs7f2Iot+lRDH9tyRbn92JHWx4uwK3EWBjwI2678E7t/+B1Z54iB+Q4/+Tc9SLsL3iB52aYy7tbHBvS5TWVM4i3DzXSp8H6c4edI03vsuOUaWWfZccs10syUKOb5Ba6VXLCxjC/LNGT32zpW3rZkpHVRhGkMYZ4HcM+tX3LHF98r6ywzU7scdtJ6g4uO9jPciz9NyW9PlLFFdr+Q/ZRVzfSEmfDnWOMn3HrVm91y2X+TdZ7jfuXtjl71Kg/gyiJ5+cYyvib7vzRkP2XLWHnno0ZaH90bbg7OxEH+zdaxP7bn7u/JOk/RmOfwJzzXf3AbLhxMXnl1GbfLfsqA7AFdWcY0PjTcTP8jwhsSL52e3Dl4z61flnWmnVu/YGbvvYqBhZPB+1LyxvEy7pL9TA3Zz7V1rNx17EjrkuCTO7ZuWnbndR9aIU0Xso4zM7VrZuERJ3/mwEee/Cx8bLyMXbKfK2QP2skXfCmmvv+NNbdd+9dv3H7L1WdLM7KOsRFvwOVIsgclZA/ZUDPFbZve8ZQf3PCJP7znti+vlGZCNhcSNuFNuARJ9pCE7GE76fzLGnu3bz33jmv/+nU7tmw8O6WZQjYbZiKKq1KaeQsuxbTsYQlZLZY/7S9W7bjpf11497c/c97M3t2DsvpFTEY0Lh5cdPS79mzfslFWWUNWix9957Nbzvy9f/mHgUOW/31jwcG7p3bcdsLM1D0HyiqLYuDOgQWHvHfhoStePLnz9r+a3rN9i6wWIWuL48/70KLt37ts/e4ffOslu27/yuo0s7che/AipgfmH3L1zPTkB6MY2DC958c7ZbULWVud9ILLY+r7Xz/h9q9+9PmTO7Y9Z3L71hVSCtkDiNQYPODGYvCgTxzx+Od8dPKeO77z/Rv+PsnaJmSz5oT1Hx2449r3P2lm6t5n7/nRzeundn3/eJli3oE3zey9d8P8g5Z+cnDRUV/ccesX9spmRcjmxOEn/2YjcfquO294xszuHz19cuftJ6eZvYP6QcRk0Zh/QzG46DODBx756SjmXXfPHV+Zls26kM2540aasfueO5bsuvPra3f/8NvnpOmptXvv/cEyPaSYt/AWMzOXz1t05GXzDz3+8u2bx7YhyeZUyDrOYY97Vhz86Kccd+vVb17dGFiwavePNp+Zpicfk2b2LtYFohjYLopvz1+89At7d/944yHHrdm4665vbd5119eTrKOErCssOGzF4jSzd0URjVOn9vz4CY15BzxucsdtJ6a0d4mUGgizK2E6innbBg866pvTk7u+PjO582sDCw+7vhg88MbdP7xxu6zjhayrHfCIxx4w/+Bly3fc+qXl0RhcNr3nR0tnpiePiWgcmdL04UVj/qFpenJRSjMLsADzMOCB7cUUdkcUu6MxuHNm7+67oxi4K6XpO4rG4K2N+Ydsndl77y2Llwxtvvt7l27GLlnXCllPO/i4Effc8dXB6T0/npfSzDw00PDApjEdUUw15h88deCRp0z++OYxWZZlWZZlWZZlWZZlWZZlWZZlWZZlWZZlWZZlWZZlWZZlWZZlWZZlWZZlWZZlWZZlWZZlWZZlWTv9byC9BA98elMXAAAAAElFTkSuQmCC",\n "link": "https://spirewallet.com/"\n },\n {\n "key": "temple_chrome",\n "id": "ookjlbkiijinhpmnjffcofjonbfbgaoc",\n "name": "Temple Wallet Chrome",\n "shortName": "Temple",\n "color": "",\n "logo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAfh0lEQVR4Ae3BXazf94En5OfzO8cvbZ3E7jStm76lSTsbJMQi7U1ARXZv0FSC9IKiveWWi2pm1NXsCG7QiIsVBS56wy0IpA6DhAQ3XcGy2FK0DEvYXQnEeNq0TtKXOHHi99g+9vn/Ptjn3xw3tXdy/j7HSU76fR7DMAzDMAzDMAzDMAzDMAzDMAzDMAzDMAzDMAzDMAzDMAzDMAzDMAzDMAzDMAzDMAzDMAzDMAzDMAzDMAzDMAzDMAzDMAzDMAzDMAzDMAzDMAzDMAzDMAzDMAzDMAzDMAzDMAzDMAzDMAzDMAzDMAzDMAzDMAzDMAzDMAzDMAzDMAzDMAzDMAzDMAzDMAzDsA/FsOcWf3r8ef/O1/7AXYn6tbgnsSWWEltiS9yR2BJLiS1xT0LcJwmxFJrYFkuJbbGUuCuxlNgWS4ktsRR3hLgn7gixFEuJbbGU2BJLifi1+LX8ZY7/z//QsKfWDXtq8b0nv7H5zu0frb9z+4hPHTDskamn8A8Ne2oy7JnF9578xuat/ihypOevG/ZQPd/Xv33YsKcmw55YfO/Jbyxu90eJI0LfvG7YSzlsrc8b9tRk2LXF9578xuJ2fyQ5ItEp+tYNwx6rk4Y9NRl2ZfG9J7+xufCjTjnS0NjS67e5ftuwh+KEYU9Nhoe2+N6T39hc+BGOeICev2HYQ/V8X//2YcOemQwPZfG9J7+xufAjHPEgoW9dN+ypw9b6vGHPTIaVLb735Dc2F36EI94VJExhComev2HYY3XSsGcmw0oWf++z39ic/UgckTCFKSTEUhB647Zev23YQ3HCsGcmw44t/t5nv7E5+5HkiIRYCoIg7kn0rRuGPfV8X//2YcOemAw7svh7n/3G5uxHOCIIgrgnISEhseX8dcOeOmytzxv2xGR4X4v/+PP/6mb9SBwR9yQkJCS2BUHo2zcMe6xOGvbEZHhfi415E0ckJCQktgVBEEsJid7Y5Pptwx6KE4Y9MRne18H//I0zppzzriAIYikhISGxJQh9+4ZhTz3f17992LBrk2GnTgtiKSEhIbElCEJCEHe8fcOwpw5b6/OGXZsMO5IppyQkJLYEQUgIgiQkJCT69g3DHquThl2bDDuz6ClBEBKCIAkJCYktQRDc2OTGpmEPxQnDrsWwY7f+/vHXcVziPvFgibvytz8rX3rMtsSWWEpsiaU3r3P1lvcV99R7BUW8VxH3FLGtiDtqKbGltSXuiHvqwWKp7oltsVQcmEz/xlO2JOLXYimxJd510yLH8vn/6abhoa0bdm59Om3Rv+uueLDEA124wZces1N9+4b5/3qduba0thS11FJLLUXdUYrWlqKWWmqppWhtKUqVorWlKFpbitaWorWlaG0pWmqpmGvbXL8pTz8uzzwhn/uUHYnD1vo8Thke2mTYuc35lCDuSUhISGwLgiD0wk2rmD73Sb8r8rlPcnhdX7tiRScNuzIZdu7Q2ikJCQmJbUEQBEGQkHBjkxubduzTn+Dgmo+9Iwc4epjSVy5bSZww7Mpk2LGDf/bLM/Scu4IgCIIgIUEQgiC4cMMqps990sfagUk+9ynmmXk2n71sRc/39W8fNjy0ybCatZwWBEFCgiAEQRD3hF64aSXHj/jYCjn+KYIZM67f1nPv2LkcttbnDQ9t3bCaRU+Zpr/rXfFgcb8LN61ieuqIPnaQuqPUUi21ttRSSy3VHaWWitaWWmptqaWitW2ubUVL3VNLLUotFXVHqaWitW194sDEora07urZS/L5I1ZwEqcMD2XdsJr16ZS6XzxY4l29uSk3NvnEuh05etjad54jlhJb4p6EuE8SYik0sS2WEttiKXFXYimxLZYSW2Ip7ghxT9wRYimWEnct/rdXzC/+glqqO6o/u8S/+UU7FicMD20yrOTgn/3yjDgnCIK4JyEhIbElCIKLNw1MX3mCucxlLvPMouaXL1lNnu/Fbx82PJTJ8DBOe1dCQkJiSxAEsZSQ6MWbBvLlxynmsigz5nL9tv7qmhUctvC84aFMhtWt5ZSExJYgCGIpISEhse3iTcMdB9fkqSPMZS5zmctcffmi1fSk4aFMhtUtekoQxFJCQkJiWxAEoTc3ubkwkKefYC5zmctcFtWfXLSanDA8lMmwsoN/9ssz4pyEhMS2IAhiKSEhIeHiTQPTM0dZlLksqnN1rvknF6zo+V789mHDyibDw6nT7gqCIJYSEhIS24LQSzcN5KtPKDpX55m5zNVrt/WXV63gsIXnDSubDA8nTomlhISExLYgCGIp4dKG4Y6Da6YvPsaizFiUucw1//UFq+lJw8omw8NZ9JSExLYgCGIpISEhcVdvbnJz00CeOcpc5jKXucw1//UFq8kJw8omw0M5+Ge/PINzgiCWEhISEtuCIAgu3jQwfe0Yc5nLXOYyV8+8bUXP9+K3DxtWMhke3lpOS0hISGwJgiCIpYSERC9vGMizR21ZlLksyly9dkt/fsUKDlt43rCSyfDwFvMpdwVBEPckJCQk3uPShn3v2i27dmjN9K/8nhw7JMcOy7HDcuywfPoT+qtrVtOThpWsGx7egemU2T2J9xV3RG8tZGOTw+v2o8VfnOGT69b+3a/ZrfXv/h1bYikRDyMnDCuZDA/t4J++ekack5B4oCBhClNIiKWLG/ajxV/8lcU/ekX/+oKPlHi+F7992LBjk2GXctpvChKmMIWEWAqCIPTKhv1m8RdnLP7Rq+6af3aZ27OPkMMWnjfs2GTYpZ6SMIUpJMRSEARxT0LClVv2k8VfnLH4x6+RMIXFrGcv+UiJk4Ydmwy7E6fEUhAEcU9CQkLiXd3YZGPTfrD4X85a/O+vEcS2+ccXfaTUCcOOTYZdOfinr54R58Q9CQkJiW1BEMTS5Vv2s/71BR8p8XwvfvuwYUcmw+61pyUkJLYFQRBLCQmJJFzZsB9Mv/9pDzKfvcTt2UfIYQvPG3ZkMuxecspdQRDEUkJCIokgSBB6ecN+kC8/zqE197k9688u+UiJk4YdmQy7N8+nxFJCQiKJIEgQBLEU3FqwsfCRN8X0tWMeZP7xRR8xJww7Mhl27eCfvnrGlHNJBEGCIIilIAjinisb9oP8/jHbEhKm6E8u+oh5vhe/fdjwvibDXjktCGIpCIK4JyEhIeHKLfvB9PufZgpTCGLLfPYSt2cfIYfNnje8r3XDXjkl/q4HSdwn7oi7enlDLm8Q9wSJbUFCvFfCFO8RiiTu6oQjh4hdyZcf59AaGwvvcXvWs5fkb33ajr1zm8VMkMmWWApN3JVYChJb4o4QS1NsiXtuLk7ilOFvtG7YG8kpSuKB4o64z6Lmf/Yr/V9fIUgIphCSECQEU0gIgoSEYApBQhAk8tRj1v6tL/J7n7ArU0zPHjX/f2/7bfOPL1r7W5+2U4u//JX+8zc0SFgLU2QKwRSmMIUpTCGYQsJamCIJE6aJCVNIzlnMf254X5NhTxz845fPSM55V5CQkCC2BEEw1/wv3tDLGx6VfP6I/N5hvbRhL+T3P+1B+pMLVjF95XGPRJ2zmL954Ls/OWN4X5Nhz5TTEhLEliAI4p5Fzf/8Db284VHJ5x+T3/sExeWb9sL09WMeZD57mduzncqXHvcInNN+88B3f3LGsCOTYS+dEgRB3BMEwVzzPzunl256VPLUEfnMJ2xp9eotNme7lS8/zqE1goQpTGFz1rOX7NihNT77SXvoHL554Ls/OWPYscmwd+qUdwVBECQkzDW/dE4v3vSo5Kkj8nufoKWlKC5t2LUppq8fIyHeY/7JRavIlx+3J2bnTL554Ls/OWNYyWTYMwf/+OUzJucECQkJiS2L2fxPX9eLNz0qeeqI/N4nKIpaavXSTXshXz/mPqE/vmAV0xcfs2t1zmL+5oHv/uSMYWWTYU91dlpiWxDMNf/T1/XiTY9Knjoin/mkLS0tLS3FhZv2wvT1YwRBEFvmVy5ze7ZT+fLjdqXOmedvHviTs2cMD2Uy7K3JKUEQS4ua//JXeuGmRyVfeEw+8wlaWoqiqC29eovN2W7ly49zaM19bs969pIdO7Qmn/2kh3Qu7TcP/MnZM4aHNhn21u2ecldCwqLm/+NX+vZNj0q+cEQ+8wmKopaKoqg7ysWbdm2aTM8ctS0IwvzyRavIlx63sjgXvnngT86eMezKZNhTB//45TOSc+5azOZ/8kt9+4ZHJV98TJ78pC1FUdQdpaWlpfTiTXshX/80QbxHf3zBKqYvPWYlyblM+eaBPzl7xrBrk2HPdTGftpjNL/5S377pUckXHpPPfJKi7igtLS211NLS8vYNe2H6+jEPMr9yhc3ZTuVLj9uxOmdj85sH/uTsGcOemAx7b2Nxan7xl/r2DY9KvvCYfPaTtLS01FJLS0trS1F69Rabs93Klx/n0BoJCQkJm7O+ctmOHVqTz37S+2rPWczfPPif/OKMYc+sG/bc4l+c/69duvkPrcU9ZfZrteXAxIFYKkVrKazRrlOsW5preuKgfPaT/4864q7Wfeq9akvdceEGn/2UXZlievaY+a/e9tvmH1+09vVjdmrt3/7qf7/4H/7qT20pxaIs/KZLB//BuUuGPbVu2HOf+O+u3sQr3tfs/W243ztu/5fHXhR/4F31XrWlfkPrrr59Uz77KbuVrx3jr972HqEvX7SKfP5Tf/vgPzj3iuEDNxn2pXQ+rSiKorS0FG1paWkpSi/csBem3z9GEASxZX7lEpuzHavneu6F44YP3GTYl+bklNLSUrSlpaWlKIpaavXSBrdnu5UvPc6hNfe5PevZy1Yxz/NJwwduMuxLB6b5pbbXtLS0FEVRSy0tLa0txYUbdm2K6dmjtiUkJOaXL1rFlJw0fOAmw76UP3plEy8qilpqaWlpbSmKoih964a9kK99moTEb+pPLlpF2xOGD9xk2LcmPa2lpaW1pSiKoijmMpdW37phL0xfO+pB5lcusznbsXqu5144bvhATYZ9a55yyl1FURRFMZe5tLR+Uy9vcHu2W/nS4xxaIwiCYHPWVy5bxTzPJw0fqMmwbx2Y5pfMvaYo5jKXltZ9WlpaWt66btemmJ496kHmn1ywiik5afhATYZ9K3/0ymYX84taWvdpaWlpbSmK0vPX7YU8e8x7JCT68iWraHvC8IGaDPvatNnT3tXS0tLaUhRF0dLS6vkb9sL0tWMkJCTeNb96mduzFTzXcy8cN3xgJsO+NscpLa0tRVEULS0tLUVReukmt2e7lS89xqE197k96yuXrWKe55OGD8xk2NcOXt14SV1TFC0tLS1FUdRSS0ur56/btbWYnjlqWxCE+acXrWJKTho+MJNhX8v339zsPL+opaUoilpqaWlpbSmK89fthXztKEG8R1++aBVtTxg+MJNh35sWPa2opZaWltaWoihqqdU33rEXpmePeZD5lctszlbwXM+9cNzwgZgM+9485ZSWltaWoihqqaWlpaX04k1uL+xWvvQYh9ZsS0jYrL5y2SrmeT5p+EBMhn3v4NWNl3BNUdRSS0tLS1EUtdTqG9ft2jSZnjlKQuI3zS9fsoopOWn4QEyGfS/ff3Oz9aKWlpaWoihqqaWlpbXlzXfshTx7zIP0pxetou0JwwdiMnwsTBubpxVFUUstLS2tLUVRlL5x3V6Ynj1qSxAEYX71MrdnO5Y813MvHDc8cpPhY2E+vH7KXS0tLa0tRVHUUlGUXrzBrYXdypce5/Ca+9ye9dXLVjHP80nDIzcZPhYOXt14ydxr7iqKopaKomhpaWkpfeO6XVuL6atPeI+ExPzyJauYppw0PHKT4WMh339zs3NfVEtFUbS0tLQURVEUb7xjL0zPHiMhIfGu/vSSFZ0wPHKT4WNjmnta0dLS0lIURVFLLS2tnnvHXsizRz3I/OplNmc7Vs/13AvHDY/UZPjYmNtTWoqiKGqppaWltaUoffsGtxZ2K196XA6t2RIEweasr1yxmp40PFKT4WPj4GJ+SV1TSy0tLa0tRVHUUkur596xa1PkmSeI+8w/vWhFJw2P1GT42Mj339xs+6KW1paiKGqppdVWW0VLz71jL0zPHPMg/eklKzpheKQmw8fK1J5WFLXU0mqrraJFURSt/uqavZBnj9oSBEGYX7vM7dmO1XM9/8JxwyMzGT5WZk5pabXVVtGiKIqWlpbWXX37BrcWditffIzDa+5ze9bXLlvJoicNj8xk+Fg5uJhfanutRVEULS0trS1FURStvn7Nrk0xPX3UeyQk5pcvWUly0vDITIaPlXz/zU31opaWltaWoiiKlpaW1l391TV7Ic8eJSEh8a7+9JKVtCcMj8xk+NhJe9pdRVEULS0trS1FUZT+6pq9MD171IPMr11mc7aC53r+heOGR2IyfOyUU4qWlpbWlqIoiqKYy1w9f51bC7uVLz7GoTVbgiDYnPXVK1ay6EnDIzEZPnYOxkvaa+4qiqIoirnMpaX1m/rLa3ZtiumrTxDbIiL604tWkpw0PBKT4WMn339zEy8qimIuc2lp/U36q6v2wvTMUREREVvC/NNLVtKeMDwSk+FjKe1pc2lp/U1SUjJX5vLLa/ZCnjlGEASxpa9dYXO2gud6/oXjhj03GT6WOuWUf4mUlMyVubS0FGV+8x02FnYrX3yMQ2vusznrq1esZNGThj23bvh4mj299q99licO2RIPEOK9YksXs1izK1NMTz9h/usLtsS2/uySfO2oHZtyEn9u2FPrho+dje9+5jtuz/+tw2umrx8jNLEtlhLbYilxV2JP5Jmj/PiC3zb/9KLJ03asPWHYc5PhY2Xju5/5jvhhpqz3jXd82PLsUQ/Sn19lc7Zzea7nXzhu2FOT4WNj47uf+Y4pPzRlvWF+/R0ftnzhMQ6t2ZKQkLA562tXrGR20rCnJsPHwsYfPvkd6/mhWHdXwu1ZL9z0oZpievooid/Wn16ykjhp2FOTYd/b+MMnv2MtPyTrpjCFCRM9d82HLc8cdZ8w/+ySldQJw56aDPvaxh8++R1r+aFYNyEIEhJ947oPW555giAIYktfu8LmbAXP9fwLxw17ZjLsWxt/+OR3rOeHYl1CQsIUgjCfv+7Dli88xsE199mc9bUrVjI7adgzk2Ff2vjDJ7/jwPRDybopBMEUEhKmyO2FXrzpQzXF9PQTtiUkJPqzy1YSJw17ZjLsOxt/9OR3HJh+KNZNISFhioSETJGERN+87sOWZ46SkPhN888uWUmdMOyZybCvbPzRk99xcO2HpqybIiEhUyQhYQpBEPrmOz5s+epRD9KfX2FztmPxXM+/cNywJybDvrHxR09+J4fWfphYzxRJSJhCEAQJCQlT9M0bPmz54hEOrhEEQbA562tXrGR20rAnJsO+cPs//PSRHFr7oWTdFIIgSEhImEIQTEjYnLl004dqiunpJzxIf3bJSuKkYU9Mhn3hwH914Zq1vCxISEiYQhBMSEiYQkIw0Tev+7DlmSfcJzGfvWRFJwx7YjLsG5l72hSCYEJCwhQSgglBMIVE37rhw5avHiUhISFxV1+7yuZsBc/1/AvHDbs2GfaNTjklIWEKCcGEIJhCQkJCEPrWdR+2fOEIB9fcZ3PW165YyeykYdcmw74xbc6nBBOCYAoJCQlBMIUpJCRszlze8KGaYnr6cfcJPXvZSuKkYdcmw76x/p+9cU6ckZCQEARTmEJCQhAEU0j0res+bHn6KEEQxJb5Z5es6IRh1ybDvhJOC6YwhYSEIAimkJAwhSD07Rs+bHnmCQ/Sn1/h9mzH4rmef+G4YVcmw77SA2unJARBMIWEhCkEwRQSEqbw1g0ftjz1GAfXbAuCxaw/v2IlcdKwK5NhX5k2bp8yhYSEKQTBFBISphAEQaKLcmXDh2otpqcfJ4j36NnLVlInDbsyGfaV9f/09XM4I5hCQsIUgiBISEhICBJ9+4YPW7561IP07CUrOmHYlcmw72QxnzaFIJhCQkJCQpAwhSkkTPTCTR+2PP2ELQkJCYn551fZnO1cnuv5F44bHtpk2He6Np2SkJDYEiRMYQoJE4JgCgkXb/qw5QuPcWjdfTZn/flVK4mThoe2bth3poNOzXVHiHvinsS22NZbC4v/8ceyFqaQECQEQcKEhCAh4cBk7e8c5+hhuzLF9JXHzT+5aFtsmc9esvbMUTvWnMSfGx7KumHfWf/7r5279f2vnlHPeVdiW7xXIuii+ldv6zu3JWFCwhSCKQRTmELCFIKDa6ZnjprfeMd09LDdytNHefmi+5y9bEUnDA9tMuxLmZyWkDCFIAgSSSSRKRLM1b96S6/esrL1yfTVoxxc4+2b9kK++rilIAhi/vlVNmcreK7nXzhueCiTYZ/KKUGQSCKJTJEgmBDMNf+/5/XKLStbn0zPHOXgRKtXNtic7VaeeoyD67YFwWLWn1+xkjhpeCiTYV+app5KIlMkCCYEwRQSZub/57xeuWVl65PpmaMcXKMoWr1ww65NMX3lcYJ4j569bCXNScNDmQz70tofnz0nPSMIppCQMIWEueZ/8YZe3rCy9cn07FEOTrTMZS6lb92wF/LVJzxIz16ykjhheCiTYd9KclrCFBISppAw1/zP39DLG1a2PpmePcbBNYqiKFrevmEv5OknbAmCIMy/uKqbsxU81/MvHDesbDLsW41TppAQBMGi5v/7nF68aWUH1kxf+zQH1yha5tLSMlcv3eT2bLfy1BEOrbnP5swvrlpJnDSsbDLsW1PnU4JgClOYa37pdb1408rWJ9PXjnFwoqVlLi0tLUXp2zfs2hTTlx/3HgmJ+exlK2lOGlY2GfattT8+e06dkRAsZvP/+bpeuGllBybT149xcKKlpaUoZsy0tPT8dXshTz9BQkLiXX3lkpXECcPKJsO+Fj1tCoua//JX+vZNK1ufTF//NIfWKIoZMy0tbbWlZa6ev24v5KtPeJD551fZnK3guZ5/4bhhJZNhX6ucspjN/+SX+vZNKzswmX7/GAfXmGlpaastLXMpirm0eukmt2e7lc8f4eCaLUEQLGb9xVUriZOGlawb9rVpsXnq9kvn/xsXbhJ3lIa5BImlUhShQSfT1479ez20fkRrW93T2lb3lJ5/R556zK5MMX3lcfPLF/22+exla199ws7lJP7csGPrhn1t7Y/PnsN/4F9q4W9y67/43OfM/QPvam2re+qOUtv6xnV56jG7laef4OWL3iPRVy9bSZwwrGQy/E6b2tNaWuZSFDNa5jKXllpqafXNd+yFfOUJEhISEnfNv7jK5mwFz/X8C8cNOzYZfqfNU04pZrTMZS4ttdTS0jKXovTCTW4v7FaeOsLBNffZnPUXV61kyknDjk2G32kHpvkli17TUkstLS1zKYq5tLTMpfSN63ZtiunLj3uPIMyvXLaSOmnYscnwOy1/9Mpm5/lFLS1zKYq5tLTMpSjm0tLqG+/YC/nK4wRBbOsrl60kThh2bDL8zpsW82nFXFpa5lIUc2lpmUtRlL5+zV7I0094kPkXV9mcreC5nn/huGFHJsPvvDk5ZS5FMZeWlrkURdHSMpe5euEmtxZ2K58/wsE1W4IgWMz6i6tWMuWkYUcmw++8g1c3XtJe0zKXoihaWuYyl6JoaWn13Dt2bYrpy48T95lfvWwlddKwI5Phd16+/+Zm60VFS8tc5lIULS0tcymKmb7+jr2QrzzuPom+csVK4oRhRybDcMe0sXnaXIqipaVlLkUxo2hpafVX1+yFfOUJEhISEnfNv7zK5mwFz/X8C8cN72syDHfMh9dPaWmZS1HMKFpaWlpmzCh9+wa3FnYrTx3h4Jr7bM76i6tWMuWk4X2tG4Y7Dl7deOn2oQPXcMSW2lJL9V6tbTOLf/yqHDtMkBB3hCCIO0KQ2BIEiS0hn1jXWwu/bfHS66ZLN21JCOKO2Bbb8skD/zr+3PA3imH4tY3/6PM/SvIH7qr3am2re1p99YpevUWQECQEU0gIgkSmECQECcGBicPr7jOXIggSEuJf5kVTvnXoB29dM/yNJsPwa1OdVhQtLS1zKYq5tNrqXPMrV/TKhl07MHF4nSBhClOYy6JW8KIp3zr0g7euGd7XumH4tbk9FXfUPa276o66p9VXr3DlFpPdOTDxyQPuszmzOZPYoRdN+dahH7x1zbAjk2H4tYOL+SV1TautztXSYi4tLXP1lStc2rBrB9b41AH32Zy5PVvBi6Z869AP3rpm2LHJMPxavv/mZhfziy3m0tIyl6KYq69c5vKGPbEWbi7YWLCx4NaCjQW3FlbwoinfOvSDt64ZVjIZht+Q9rS5FEXR0jJXX7nCpQ175uYmNze5ucnGglsLNmcreNGUbx36wVvXDCtbNwy/oZzS2lZLrb56hSu3fIS8aMq3Dv3grWuGhzIZht9wMF5S18yYMZdFefUKlzZ8hLxoyrcO/eCta4aHNhmG35Dvv7mJF7W0FK9d0UsbPjKSF63lW4d+8NY1w65MhuG3ZJ5Pu6vV1y7r5Q0fGcmL1vKtQz9465ph1ybD8Fu6Pp3KovraFS7f8pERL1qfvnXoB29dM+yJdcPwWw7GSxs/v3LGlVuH/bZammvLgcmWeK/WlgVS1iJrk6XSoBTBgYn4tdKgthSTMw6s//uHfvDWNcMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMwDMMw/I75/wGIJatq4mMGDgAAAABJRU5ErkJggg==",\n "link": "https://templewallet.com/"\n },\n {\n "key": "temple_firefox",\n "id": "{34ac229e-1cf5-4e4c-8a77-988155c4360f}",\n "name": "Temple Wallet Firefox",\n "shortName": "Temple",\n "color": "",\n "logo": "data:image/png;base64,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",\n "link": "https://templewallet.com/"\n }\n];\nexports.desktopList = [\n {\n "key": "infinity_wallet",\n "name": "Infinity Wallet",\n "shortName": "Infinity Wallet",\n "color": "rgb(52, 147, 218)",\n "logo": "data:image/png;base64,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",\n "deepLink": "infinity://",\n "downloadLink": "https://infinitywallet.io/download"\n },\n {\n "key": "umami_desktop",\n "name": "Umami",\n "shortName": "Umami",\n "color": "",\n "logo": "data:image/png;base64,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",\n "deepLink": "umami://",\n "downloadLink": "https://umamiwallet.com/#download"\n },\n {\n "key": "atomex_desktop",\n "name": "Atomex Wallet",\n "shortName": "Atomex",\n "color": "",\n "logo": "data:image/png;base64,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",\n "deepLink": "atomex://",\n "downloadLink": "https://atomex.me/"\n }\n];\nexports.webList = [\n {\n "key": "metamask_tezos_web",\n "name": "MetaMask",\n "shortName": "MetaMask",\n "color": "",\n "logo": "data:image/png;base64,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",\n "links": {\n "mainnet": "https://metamask.tezos.com/",\n "ghostnet": "https://metamask.tezos.com/",\n "mondaynet": "https://metamask.tezos.com/",\n "dailynet": "https://metamask.tezos.com/",\n "delphinet": "https://metamask.tezos.com/",\n "edonet": "https://metamask.tezos.com/",\n "florencenet": "https://metamask.tezos.com/",\n "granadanet": "https://metamask.tezos.com/",\n "hangzhounet": "https://metamask.tezos.com/",\n "ithacanet": "https://metamask.tezos.com/",\n "jakartanet": "https://metamask.tezos.com/",\n "kathmandunet": "https://metamask.tezos.com/",\n "limanet": "https://metamask.tezos.com/",\n "mumbainet": "https://metamask.tezos.com/",\n "nairobinet": "https://metamask.tezos.com/",\n "oxfordnet": "https://metamask.tezos.com/"\n }\n },\n {\n "key": "kukai_web",\n "name": "Kukai Wallet",\n "shortName": "Kukai",\n "color": "",\n "logo": "data:image/png;base64,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",\n "links": {\n "mainnet": "https://wallet.kukai.app",\n "ghostnet": "https://ghostnet.kukai.app",\n "mondaynet": "https://mondaynet.kukai.app",\n "dailynet": "https://dailynet.kukai.app",\n "delphinet": "https://testnet.kukai.app",\n "edonet": "https://edonet.kukai.app",\n "florencenet": "https://florencenet.kukai.app",\n "granadanet": "https://granadanet.kukai.app",\n "hangzhounet": "https://hangzhounet.kukai.app",\n "ithacanet": "https://ithacanet.kukai.app",\n "jakartanet": "https://jakartanet.kukai.app",\n "kathmandunet": "https://kathmandunet.kukai.app",\n "limanet": "https://limanet.kukai.app",\n "mumbainet": "https://mumbainet.kukai.app",\n "nairobinet": "https://nairobinet.kukai.app",\n "oxfordnet": "https://oxfordnet.kukai.app"\n }\n }\n];\nexports.iOSList = [\n {\n "key": "airgap_ios",\n "name": "AirGap Wallet",\n "shortName": "AirGap",\n "color": "rgb(4, 235, 204)",\n "logo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAqoElEQVR4Ae3BB5xdZ2Hg7f/7nnPvnVun9yaNZjTqki1LMsbdYGOwccIXwP6AxPDBEkJJsCH0QGiGJEtCPlgWCIGYpQYICcUY44K7LMlWLyONpOm93Tu3n3PeDbu/XZLggI3PzDn33vd5hPpXaJpWkSSaplUsiaZpFUuiaVrFkmiaVrEkmqZVLImmaRVLomlaxZJomlaxJJqmVSyJpmkVS6JpWsWSaJpWsSSaplUsiaZpFUuiaVrFkmiaVrEkmqZVLImmaRXLRCsbs/ksfzN4lOFsmres3cTuuibccGBhhvef2I9E8M6+rVzZ2I5WHky0kldwbL5w7gQfGTjEbLHAL/xkeozTL/g9qgMhngtbKV771EMcW17iF+6eneDlLV18bPMueqIJtNJmopUsRynunhrhPcf3c2R5iX9rrlhgMpuhOhDiucjZFiPZNP+HAr49OcyPZ8a5rWcTt/VuJR4IopUmE60knUwu8M5j+/jJzBgOK03xHy3bFh8+fZg7Rwf5xMadvKy9B0MItNJiopWU+UKOj506yOeGTpF3HLx2Ppvm5icf5IrzJ/mrzbu5sLYRrXSYaCUh79h8+fwpPjhwkNlCHr/5+fw0lzz8I27t7OVDGy6kpSqC5n8mmq8pFD+bGuNdx/dxKLWInxWV4ovDp/mniWHe37eN/7J2IyHDQPMvE823TiQXeO/x/fxgehRF6Zgt5vmT4/v4u+EBPrnpIq5r6UKg+ZGJ5jsT2TQfGzjIl4bPUFAOpero8hIveeJermto5eObLmJHTQOav5hovlGwbb4+NMBtJw+wZBUpF3fPTnDfQz/i9zt6+ED/DjojcTR/MNE85yjF6YUZjs1O8YOpYZasIuWmqBy+NHKGb0+c561rNvKOvq1UB0Jo3jLRPKOUYii5wKGZCZYLeSpByrL4+Jkj/N3wAO/u3cYb1m4gYpho3jDRVp1CMZZa4vDMBAu5LJVoupDntuP7+My543xg/Q5u6VxHQBpoq8tEWzUKmEqnODQ9zmw2jQZns2lee+gRPnX2GH+2fgc3tXVjCIm2Oky0VTGTWebg9DjTmWW0X3UktcjLDzzAnjP1/Fn/Dq5r6UKgrTQTbUVNZ5Y5OjPBRDpFKTKFICQNsG1Ww96lOW544l4urW3kfet3cE1TO1IItJVhorlOATOZZY7OTDCZTqEoXQFpUBesYqZYYLUo4KGFGV689x6eX9vIB/p3cFVjO1IINHeZaK6aSqc4NjvFZDqJovRJIdhd08CpdJLV5gAPLcxw3eP3cFltE+9fv51rmjvQ3GOiPWcKxfhykuOzU0xnlik3r2xfy1fHzuIVBTy4MM21e+/h+TUNvLtvG9e1dGEIgfbcmGi/NUcpRlKLHJ+dYj6XoVxd19zJzkQtB5ILeO2RxVleuu8+tidqeXfvNm5q6yYoDbTfjkR71izH4fTCDD8aPMHDo+eYz2UoZ1IIPrPtEiLSwA8UcDC5wM1P/pwL7/8+Xzh3goxloT17Eu0Zy1lFjsxM8M9njvHExAjJQo5KsbuuiS9sv4SQlPjJiXSSNx15nPX3foc7Tj3FdD6L9syZaL/RQi7LwPwM55PzWI5Dpbqls5f6YIg3HHqE0VwWP5nIZ3n/qYN88sxRXt3Rw5vWbmRzog7t1zPRnpajFOPLS5yan2Eqs4xSCg2ube7k4JW/wx0Dh/jc+VNkHBs/SdkWnxsa4O+GT/PChlbevHYjL2jqwJQS7VeZaP9O1ioyuDjH4MIcy8U82q+qDVbxF1v28IY1/bz/+AG+MzmM3xSV4scz4/x4ZpwN0Tiv61rPazp7aaqKoP2SiYatFJPpJIMLc4wtL+Eohfab9cVq+Nbua3h4doL3Ht/PI4uz+NHJdIo/PXGAPzv1FDc1d/K67vVc0dBKQBpUOpMKpYClfJZzi/OcTy6QKRbQfjuXNrRy32Uv4Z/GzvPBk09yKpPCj3KOw7cmhvj2xBBrwzFe1dHD/9uxjr54NQJBJTKpMFmryFBygfNL88xnMyg0N5hC8vKOHm5o7eLvzp/iE6cPM1nI4UcKOJtd5iOnD3PHmSPsqWnglvYeXtG+lvpQmEpiUgHytsVYaonzyQUm0ymUUmgrI2yYvHXdZv6gq4+/HTzKX589zqJVxK8spXhkYYZHFma4/dg+XtjYys3tPby4pZPqQIhyZ1Km8rbFxHKSoeQik+kkluOgrZ5EIMj7N1zI69ds4C9PH+aLwwOkbRs/yyuHH06P8cPpMeKGybWNbdzS3sM1Te0kAkHKkUkZKdg248tLDCcXmUgnsRyHUiKAkGFSTlqqIvzXrRfztp7NfHzgIP9j7Cw5x8HvUrbFdyeH+e7kMHVmkGsaW3lZazcvau4kEQhSLkxKXNYqMr6cZCS5yGQ6ha0cSlF7rJotjS2cPOfA7Djlpjsa5/MXXMY7erfykYFDfGv8HJZSlIJ5q8A/TgzxjxNDxAyTaxpa+N3Wbq5v7qQhFKaUmZQYBaQKOcZSSUZTi8xm0zhKUYoEgtZYgq2NLTSEo1SCvngNd+68gvf2beNDp57i+5MjFJVDqVi2Lf55apR/nhqlSkouqW3kpS3dvKS5g7XRBEIISolJCbCVYj6bZmw5yVhqkaVCHqUUpUogaI0l2NrYQkM4SiXakKjlm7uu5vDSHHcMHOJ7k8NYSlFKco7DfXNT3Dc3xTuP72NjrJobmzt5SUsnF9Q0EJQGfmfiUzmryEQ6xfhyksl0ipxVpNQJoD1ew+aGZhrCUTTYVl3PN3ZdzbHkPJ88fZhvjZ/HUopSU1SKw6lFDqcW+diZI7SFwlzT0MKLmjp5QVMbDaEwfmTiE7ZSzGczTKSTjKWWWMhlUSjKgRSCzngNmxtaqK0Ko/2qzYk67tx5Je9fv8hfnTnCN8bOkXFsStV4PstXx87x1bFzBIRgZ3U91zd18MKmNi6oaSAoDfzAxCdOzU3x1PQ45cSUkjXVdWysayIRqkL7zdbHa/jCBZfxvvXb+ZvBY3x59Awpy6KUFZXi8cVZHl+c5UMDB/n05l28ed0W/MDEJzKWRbkIGga9NQ301zURCQTQnr3uaIK/3vY83rV+O58/d4LPnT/FTDFPqVPAaD6LX5j4RMG2KHWxQJD+uibW1dYTkAbac9dSFeGDG3dye982/mFogM+cO8FAJkUpm8nn8AsTn8jbFqVIAA3hKP31TXTGa5BCoLkvZgZ487rNvGHtBn44Mcz/f+44Dy/M4ChFqZnP5/ALE5/I2xalxBCSzkQN/XWN1IejCLTVEJQGL2tfy++2rWH/wgyfPXeC700OkbZtSsV4IYdfmPhE3rIoBdFAkN7aBnpq6omYATRvCCHYVdfEV+qa+EQuw1eGB/jS0ABns2n8biGfxS9MfCJvW/iVIQStsQS9tQ20RhNIIdD8o6UqwrvX7+Advdu4d3qMLw6d4q6ZcXKOjR9NF/L4hYkP2I6DpRR+IoBEqIqe6nrWVNcSCQTR/M2UkutaOrmupZOx7DLfHD3LnSNnOL68hIN/ZByb5WKBWCCI10x8oODYoBR+EDJMuhK19FTXUR+JItBKUXs4xu1923h771aeWJjm6yODfGv8HLPFAl5zgFSxQCwQxGsmPlCwbRTeCUhJayzB2uo62mLVSCHQyoMUgovrmrm4rpm/2rqHu6dG+cboID+eHiNlW3jBUYqpYp5WYnjNxAcKts1qM4SkORqjO1FLe7yakGGilbegNLixtZsbW7tZKOT50eQw3x4/x/1zk2Rsm9W0WMjjByY+UHRsVoMUgqZIjO5ELe3xasJmAK0y1QZDvLqrj1d39TGdy/DjqRH+cfw8D8xNknMcVlqymMcPTHygYFusFEMImqNxOuM1dMRrqDJNKoWjFNpv1lQV4dbufm7t7mc2n+WHk8P808QQ981OknFsVsJ0sYAfmPhAwbFxU8AwaInE6UzU0BZLEDJMSkXIMHDLZCHLRrRnoyEU5tbufm7t7mehkOMnU6P8y+QwP5udYL5YwC2LhTx+YOIDRdvGLTua2lhf10hAGpSiqBnELU8tzXNVYzvab6c2WMUtnb3c0tnLslXk68OnedPRvbghVSzgBxIfKDo2bmmKxAhIg1LVVRXGLf88MYRCc0PMDHBFYytumSsW8AOJDxRtB7cEDINS1h2J45bHFmd5dHYSzR2xQBC3LFgF/EDiA0XHxi0BaVDKNsRrMIXADbZSvP3oXnK2jfbcxaRJVBq4YblYwA8kPlB0bNwghcCUklIWNQNsilXjlgPJed588GEsx0F7boJSEjIM3LBcLOIHEh8oOg5ukEIghaDUXV7fgpu+MnaWV+67l9l8Fu23F5AGIWnghmmrgB9IfMBybNxgCIlEUOqub+rAbd+fGmX7/d/nr08fZiqXQXv2TCmJGCZuyFoWjlJ4zcQHio6DG6QQSCEodZc3tNIUDDFdyOOmyUKOd5w4wAdOHWRTrJquaBxDCH6TrFXE4elVGSatwRDNVRH6InE2JmpZH6uhyjAoR/WBAIM8dzm7iK0UUgi8ZOIxpRS24+AGQ0qEEJS6iGny8tY1fHboFCsh69gcSM5zIDnPSqg2TXbVNHBdYzs3tnTRF6+hXESNAG7I2DaOUnjNxGMKsJWDGwJSUi7esKafzw8PYClFqVmyLH42O8nPZid598kn2V1dx+u61vOKjnXEzAClLGIGcMOSbVFUDiEMvCTxmEJhOQ5uMKWkXGyprufFje2UOlspHluc4w2HH2Pjvd/lE6cOkioWKFXxQAC3ZKwiXpN4TCmwlcINpjAoFwL40IYLMIWgXIzns7zv1FNsvu97fHVoAEcpSk2dEcAtGauI1yQec5RCKYUbTCkpJ9trGri1Yx3lZiyf5dZDj/CiR3/C2XSSUhIxTdySsS28JvGYrRzcYkhJufnopotoDYUpR/fOTbLnwR/w3bGzlIqIGcAtC5aF1yQesxwbt5hCUG4aQ2E+t/ViDCEoR/PFArc8+SAfOnEAWyn8LmwEcMuyXcRrEo9ZjoNbTGlQjm5sW8M71m6iXNlK8ZHTh3njUw9RdBz8LGGauCVvW3hN4jFHKdxiSEm5+vNNF/E7zR2Usy+PDvJfnnoQy3Hwq7hh4JasZeE1iccsx8EthhCUq4CU3LnzSi6rbaKc3Tl2jrcdfhRHKfwobJi4JWNbeE3iMUs5uMWUknIWNQP8y8Uv5Or6FsrZ54dP86nTh/GjsBHALSnbxmsSjzlK4RZDSMpdIhDkXy5+Ibe291DO3n/qIPdMjeA3IcPALRnHxmsSj1mOg1ukEFSCsGHyxQsv51ObLiIsDcpRUTm8/uAjzOSz+ElQGrglaxXxmsRjSincYkpJpZBC8Me9W3n40hezM1FHORrNZ3nn0SdQ+Ee9GcAtBcfGaxKPWcrBLUIIKs2OmgYeveJGPrNlNy3BKsrN18bO8sD0GH4RkhK3FB0Hr0k8ppTCLaaQVCJTSN7Us5nj17yMv9i4kzXhKOXCAd5zYj+W4+AHASlxS9oq4jUTj1mOwjWCilYdCHF73zbe0rOZe6ZH+droWe6ZGWPBKlLK9i/N86PJIW5qW4vXwmYAtzgovGbiOYVbAtJAg5BhcENrNze0dpO3bfYtTPPYwjRPLc1zanmJqVyW+WKBvHJ4pqoNA4ng38orh4zjsNIU8MnTR3hp6xqEEHhJInDLnGXhNROPWY6DtnJChsGlDa1c2tDKLyjAchws5VB0HHK2RcQMIITg1zER/EcKxVw+x6GleX4yM8p3x4eYLORYCfuW5nliYZo9dc14KWIGcItSCq+ZeEzhHkNItF9PAAEpCSAJG5AIBHku2iMx2iMxXtzaxcc37eKL50/y0YFDLFpF3OSguHP4DHvqmvGUwDUZ28JrEo85SuEWKdA8FDMDvL13K/uveCkX19Tjtu9MDlFwbLxkIKg2TMqFxGOOctDKy9pogp9ecj0vbGjFTbOFPE/MT+M1Q+CKnGXhNUkZMaWB5g9RM8C3d13NlngNbrpnZhwvCcAUEjfYysFrEo8p3CPQ/CQRCPKVCy4jKCVueWx+Gi8JIQhKg3Ih8Zjl2Gjl64KaBl7f2YtbjqYWyds25SBtW3hNomkr7K09mzGFwA3ThRyzhRxeMoTAHQqvScqIKQ00/+mL17Cruh43KGA4k8IrEggaBuVComkrTABXNLTilol8Fs0dEk1bBVviNbhluVigHCxYFl6TaNoqqA+GcEvatigHllJ4TaJpq8BRCrdIBJo7JJq2CibzWdwSMUw8IwSmkJQLiaatgsPJBdwSD4bwigAC0qBcSDRthdlKcd/MOG7pDIXR3CHRtBV2YGGao8tLuMEQgs5IHM0dEk1bQQrFHacPo3BHayhMbTCEVxSKgmNRLiSatoJ+MD7Ej6bHcMuORC0BKfGMAlspyoWkjDjKQfOPgdQibzz8KLZSuOXy+hY095iUEUcpNH84lVrkpr0/Y7qQx00vaGyjXDSYAbxm4jFTGmjlQ6H4wcQQf3joMaYKOdzUG4mxtbqeciEEnjPxmEArF4cXZ/nowEG+NzmCwn2/17YGKQReUoCjFOXCpIwUHYdKoJQibRVJW0VSjo1X8rbFcGaZfYuz3DU1yr6lORQrIygkr+taj9cUkLdt3CAQeM3EY6Y0cI+i3FiOw5n0Eo/MTXFgcZYjqUXOZVKkLIuC41BQDpXg+qZ21sWqKScRw8RrJmXEUYpy4CjFgYUZvjl2lh9OjTCYWUZRuQwheGfvFvxAoSg6DuXCxGOGELjFVopSlrUtvj06yN+ePc6h1CIK7Rde2tzBxfUt+IFSUFQ2bggZBl4z8ZgUErc4SlGKio7D10dO8+GBQ5zPptF+KWoY3LHxIgT+oICCo3CDKQ28ZuIxUwrcYjsOpWb/wjRvO/w4e5fm0H7Ve3q30hevwS8cFMuOjRuC0sBrJh6TQuAWSzmUiqLj8PFTT/GJM0cpKAftV11S08A7+rbjJwXbxi0BKfGaicdMaeAWRylKwVQuw6v2P8D981NoT68xGOIfLryCgJT4SdGxcUu9aeI1E48ZQuAW23Hwu2PJeX73iXsZzCyjPb0qKbnzgsvpiSXwm4xl4ZagNPCaiccMIXFL0XHwsycXZnjJ3nuYLuTRnp4E/vvW53Ftcwd+lHMs3BKSBl4z8ZgpJW6xHBu/OrI0x4se/ylzxQLa0zOF4LNb9vCa7vX4VcqycEvUDOA1E48FpIFbLMfBj4YzKW7Y+zPmigW0p1clDT639WJ+v3s9frZkW7ilyjTxmonHTClxi+U4+E3aKvLKffczmsugPb2mYIj/ceEVXNPUjt9lrSJuqTECeM3EY6Y0cEvRsfGbdx7dyxNLc2hP79LaRv7hwitYE41TCtJWEbckTBOvmXgsYEjcUnRs/OQHE+f54vAZtF8VN0ze07eV23q3EZCSUrFYLOCWqBnAayYek0JgCIGtFM9V0bbxi2SxwB8f2YuDQvslUwh+p7mTj226iN5YNaVmzirilqgZxGsmHhMITGlg2xbPVcGx8Yu/GDjEUC6D9r8ZwE3NnbyrbxsX1TVRqpaLBdxSHwjiNROPCSEISIO8bfFcFWwbPxjOpPjs+ZNo0BOO8vK2tbyuez29sWpKXbKYxy01gSBeM/GYAAKGhCLPmeU42MrBEBIv/e3gMZK2RaWRQLUZZHuihisbWrm2qYMLa+oJSINyMVHI45ZEIIjXTHwgaJi4wVYOtqMwDDyzUMjz5ZEzrLTGQJCd1fW0R2JEzABeEEBTIEhtMERXOMa6aILuSIwqw6RcJQt53BASkqgZwGsmPhAyDNxgOQ6W4xA0DLzyzdFBFq0iKyEiDV7d0cNru/q4qLYJKQTa6por5HBDTSCAKSReM/GBkGHilrxtEQkE8IICvjY6iNsEcENTO5/acjE9sQSaN2ylmC4WcEMiEMQQAq+Z+EDIMHFLzi4CYbwwmkmxd3EWNxlC8NH+C7i9byuGkGjeydkWGauIGxoCIaQQeM3EB6pME7fkLAuv3D01ioN7BPDpzbt4U89mNO8tW0WStoUbmkNh/EDiA1VmALdkrSJeeWBuEjf9UXc/b+rZjOYPc/kctlK4oSFUhR9IfKDKMHFL1iriBVsp9i3O4pbeSJyPb96F5h9juQxuaQuF8QOJD1SZAdySLRbxwlIxz0g2g1s+sH47MTOA5h+j2TRuaaqK4AcSHwibJkII3LBcLOCFkXSKvHJwQ3Owipe1r0Xzl8FMCrd0VUXwA4kPBA0TUwjcsFzIo1h953IZ3PKipjYihonmL4PpJG5pqYrgBxKfiASCuKHo2OSsIqttIZ/FLbtrG9H850RqETcYQtAdjuIHEp+IB0O4wVGKZD7HasvaFm7picTR/CVtFRnMpnFDwjCpD4XxA4lPxIMh3LKQy1LKgtJA85eB5SWytoUb1kUTCCHwA4lPJIJVuGUul6GUFR0HzV/2L8ygcMfmeA1+IfGJ6lAVbpnLplltVYaJW85lltH85bGFGdyyOV6DX0h8IhGqwhASN6QKebJWkdVUF6rCLU8sTKP5hwIenJvELTuq6/ALiU+EDJNoIIhbptLLrKbuqihuuWdmnLxto/nDUDrJuWwaN4SkZHOiDr+Q+EhdOIJbJtNJVlNXNE5QSNwwms/yw8khNH+4d2Yct3RXRWkOhfELiY80hKO4ZTKdwlGK1VITCNEdjuCWjwwcImdbaN67a3oUt+ypbUQIgV9IfKQxEsUt6WKBpXyO1WIIwe6aRtxyJLXIJwYOoXlr2SrywNwUbrmkrhk/kfhIdaiKkGHiltHUIqvpioYW3HTHmSN8Z+wsmncemp1goVjALZfXN+MnEh8xhKQxEsUtI6lFVtN1TR1I3GMpxWueeoivDZ9GoXnh2+PncMuacJTeWDV+IvGZlmgCtyzmcizmsqyW9kiM59U24qaC4/DaQ4/wRwcfZjafQ1s9y1aBH02N4par6lswpcRPJD7TGovjFoXifHKB1SKA13Ssw222Unxh+DRb7/8eHz7xJOeWkzhKoa2sn0yOMlcs4JZrm9rxGxOfSQSriAdDpAp53HB+aZ7tja0IIVgNr+jo4b0nn2S+WMBt04U8f376EB89fZi+aJxtiTo6qsIYQvBcRAyTsBmgvSpCdyTGhlg19aEwle7LI6dxS0hIrmvqwG9MfKgjXs2JuWnckC4WmEinaIslWA3VgRBv6Orjk4PHWCk2ipPpJCfTSVaCIQRrwlGuqG/h+qZ2rmlqpzoQopIMpVPcOzuBWy6ta6I6GMJvTHyoI17Diblp3HJ6YYa2WILV8taezXxhaIAFq0gpspViMLPMYOYMfz9yhmozwE0tnbyxewO765qQQlDuvjR0iqJSuOVlrd34kcSHGsJRooEgbhlfTrJcyLNaWsNR/rhnE+ViySpy5+hZLn3kx1z76F08ODtOOcvaFn8/chq3BKXkxtYu/EjiQ1IIOuM1uMVRioGFWVbT7b1bWR+JU04UcP/cFFc9ejeveOJehtIpytG3RgeZyOdwy+W1TbSHY/iRxKe6q2tx09nFOQq2xWqJmAE+t/15mEJQjr47OczOB/+FrwydQilFubAch0+fPY6bXtWxDr+S+FR9VYTqUBVuydsWZxbnWE1XNrZz29pNlKuFYoHXH3qUNx58mIxlUQ7umhrmSGoRt1SbAW5s7cavJD4lhGBtdT1uOjk3TdGxWU0f2rSTq+qbKVcK+NLIGV782E+Yy+coZY5S3DFwGIV7fqeli9pgCL+S+FhPTR1SCNyStYqcXphlNYWkwTcuuor+aIJy9tDCDC945C4mcxlK1Y8nh3liaQ43vaF7PX4m8bGwGaAjXo2bTsxNU3RsVlNjKMwP97yQrqoI5ezw8iI3PX4Pi4U8pcZWDh8+dRCFe3bEa9lT14yfSXyur7YRN+WsIifnplltPbEEP73kRawJRyln+5PzvPrAAxQdm1LyndGzHEjO46Y/XNOPFAI/k/hcczROTVUYN52YmyZjFVltfbFqHnj+i7koUUc5u2tmnD87foBSkbaKfODUU7ipMRDils5e/E7icwLYUNeEm4qOzZHpCbzQGYlxz/Ov5+bWbgTl61PnjnPP1Cil4LNnjzGYWcZNr+/uI2YG8DtJCehO1BIJBHDT2aU55rJpvJAIBPnqRVfx2a17iBsm5chSijcfeYy0VcTPRjLLfPLMUdwUM0zetHYjpUBSAkwp6a9rwk2OUuybHEWh8IIUgjeu3cRTV97EjU3tlKPBzDJ/efowfvauY0+waBVx06vae2gPxygFkhLRW9NAyDBx01w2zemFWby0Nprgn/a8kB/uvobd1fUIysvfnD3OWDaNH909Ocy3J4ZwU5U0eEffVkqFpEQEDYMN9U247dD0OOliAS8JIbi+pYuHL7+BH+y+hmvqWzCFoBykbItPDx7Fb1LFAm89uheFu17d0UNPNEGpMCkh/XWNnJybJm9buKVg2+yfHOHyznUIvGUIyfUtXVzf0sXp1CLfGjvH9yeHOJxcwKZ0fXnkDO/t30FNIIRfvO/4fgYzy7gpJCXv6dtGKTE+9K8oEYaQIGAyncJNyUKeaCBIXVUEv6gPVXF5Qytv6O7n9d19XFRdT0c4StQwsPlXSlFQDqUg69j0ReJcUNOAH9w7PcZtx/fh4K43d/dzc2cvpcSkxKyvbWRgfoZ0sYCbnpwapTkSIxYM4SdCCNrCMW7u7OXmzl5+wVaKrFVk2bbIWBbPha0c5gs5nkrO88PJEX42O0lRObjt62ODvG5NP15bKOR546FHsJTCTTVmgD/t20apMSkxppRsa2zlsfEh3FSwbR4bH+Ka7j6kEPiZIQSxQJBYIIhb9tS38IdrN3FkaY7bju7lvrkp3PTI/DSLhRw1wSq8olC87fCjnMumcdvbezbTGo5SaiQlaE11HfXhCG6bzixzZGaCSra1up6fXPIibl+7ETcVlOL+2Qm89JXzp/j6+HnctjYc5e29WyhFkhIkheDC5g4E7js+N8X4cpJKZgjJJ7bs4Y1dfbjp0flpvHJocZbbju1jJdyxcSdRM0ApkpSopkiM7uo63OYoxWPj50kXC1QyKQR/uWUPG6Jx3HJ4aR4vLBbyvPrAz0naFm67pr6Z/6e9h1IlKWEXNLUTNAzclrMsHhw5i+04VLKoGeB9fdtxy6l0Els5rCZbOfx/Tz3I8XQSt1VJg09tvRgpBKVKUsIigQDbG9tYCfO5DHsnhlEoKtlNbWuoDwRxw3whT9a2WS0K+PCJJ/n+1Cgr4faeTWxJ1FHKJCWut7aBxkiUlXBuaZ6jM5NUsqgZ4KLqetyQdmyWrSKr5RvDp7lj8CgrYVM0wbvWb6fUSUqcFII9rV0YQrISjsxMcm5pnkq2LhrHLVnLYjU8ODPOG488hq0UbjOE4L9tv4SoGaDUScpAdSjMtsZWVoJC8fj4EJPpFJWqJhDELUXHZqUdT87z8v33k7FtVsJb12zgsoZWyoGkTGyob6IxEmUlOErx0OhZ5rIZNH87n05x496fMVsssBI2xRJ8eONOyoWkTEghuLi1m4A0WAkF2+bnI4Ms5XNUmrRlUQqmcxlu2nsP57NpVkKVlHxpx2VEzQDlQlJGEqEqdrZ0sFKyVpF7h06TKuTR/GU2n+Ulj/+Uo8tLrJQPrt/O7romyomkzPTU1LOmuo6VkrWK3Dt0mlQhj+YPM/ksL37sbp5MLrBSrmto5bbebZQbSZkRwO7WTuLBECslXSxw79BplvI5NG/N5LPc8NhPOZBcYKW0hcL8/YWXY0pJuZGUoYA0uKyjB1NKVkq6WODeodMs5DJoz1zIMHDLeDbNix79CfuT86yUkJR89cLLaamKUI4kZaq2Kszuli4EKydrFbl36AzTmWW0Z8aUEjcMLi9x1SN3cTC1yEoRwMf6L+DKxjbKlaSMra2po7+uiZWUty3uHz7DcHIRbXU8uTDD1Y/exZlMipV0S9ta3ta7lXImKXMXNLfTGk2wkizH4ZGxc5ycm0ZbWXdNDvOCx+5mNJdlJe2qruPzO56PIQTlTFLmpBBc2rGW6lAVK8lRigNTo+ybGMFWCs1dCsVnBo/xsn33sWQVWUldVRG+s+saImaAciepAEHD4IrOdYTNACttYGGGB4bPkLOKaO7I2hZvPfQof3LsCQpKsZKqzQDf2XU1HZEYlUBSIeLBEJd39mBKyUqbTKe4+9wAc9k02nMzkU1z/aN387mhARQrKyAEd15wGTtrG6kUkgrSEI5yacdapBCstOVinnvODzCwMINC+23cNz3Grgd/wEML06w0A8F/3/o8bmjtppJIKkx7rJo9rV0IIVhptlLsmxjh4dFz5G0L7ZkpODYfOfkkL9n7MybyWVaaAD6yYQe3rumn0phUoJ6aeoqOw4HJERQrbzi5wFw2zcVt3bRE42j/ufPpJK976iF+Pj/NahDAn67bzJ+u304lMqlQ/XWNOMrhyakxVkO6WOC+4TP01zayvakNU0q0X3KU4s6hAW4/vo9Fq8hqeUt3Px/dtAuBoBKZVLCN9c38wlNTYyhWnlKKk/PTjC0vsbu1i5ZoHA2G0inecvhR7poZR7E6BPDm7vV8atvzkEJQqUwq3Mb6ZhRwcGoMxepIFfLcN3yGnuo6djS1U2WaVKKCY/OFcyf44KmDLFpFVosA3tzdz6e2XYwUgkpmorGpvhlDCA5MjqJYHUopBhfnGEstsa2pjd6aeoQQVIpH5yZ5+5G97E/Os9r+ZO1GPrllD4YQVDoT7X/pr2vClAZPTAzjKMVqydkWT0wMc3phhgua22mNJihn59Mp3nNsP98cP4+NYjUJ4H29W/nQposQaL9gov1f62rqCUqDR8fPYzkOq2khl+X+oTO0xhJsb2qjripCOXrBYz+loBxWW0AI7thwIX/Stw2B9n+YaP9OZ6KGq8xeHhw5S962WE0KGF9OMpFO0RmvYUtDC7VVYcpJQTmstpCUfHHbJbyqqw/t3zPRfkVTJMa1a9bzwMggqUKe1aaUYji5wEhygY54DZvqm2mIRNGevbpAkG/tvJKrm9rRfpWJ9rQSoSquXbOeh0bPMZ1ZxgsKGEktMppapDESo7+ukfZ4DYYQaL/Z+kicf9x1NVuq69Cenon2n6oyA1zd1cu+yREGF+fwigKmM8tMZ5aJBoKsq6mnp6aeaCCI9vSuqmvmaxddSXNVBO0/Z6L9WoaUXNzWTW1VmCenxnCUwkvpYoHDMxMcnZ2kORJnbU0dnfEaTCnRQAB/1L2ev9p6MUFpoP16Jtoz0l/XRG1VhEfGzpMpFvCaoxQT6SQT6SRhM8C2pjbW1dQjqFwxw+TTm3fzB2v6EWjPhER7xpoiMV60tp/WWAI/yVpF9o4P8fj4EI5SVKL+aIIHnn89t67pR6A9UybasxI2A1zVuY5jc1McmZnAUQq/OLs4hwAubuumUgjg5rY1fHb7JVQHQmjPjon2rAkh2NLQQks0zqNj50kV8vjF4OIczdE4a6vrKHc1ZoC/3ryb13T3IRBoz56J9ltrCEe5vmcDT06NMbg4h1IKPzg0PU53ohYpBOXqsromvrTjUtbFqtF+eybacxKQBntau+iM1/DExDDpYgGvpYsFJpaTtMerKTdRw+DP1+/gLeu2EJAS7bkx0VzRFkvwknUbOTg1zunFWZRSeGkinaQ9Xk05uaqumf+2/RLWx2vQ3GGiuSYgDXa1drKmupb9k6PM5zJ4JZnPUy6agiE+uuFCbu3uxxACzT0mmusaIzGuW9vP6YUZDs9MULBtVlvBsSh1phC8tmMdH964k6aqCJr7TLQVIYWgv66JrkQth2cmOLs4h6MUq0UpStpltU385eZd7KprQls5JtqKCpsB9rR20V/XyMGpccaXl1Bo/5n+aIKPbbiAm9rWIoVAW1km2qqoCYW5smsdU+kUh2cmmM4so/3SmqoI7+rbxu939VFlmGirw0RbVc3ROC+IxplcTnJkZoKZbJpK1hEKc/u6zbxuzQZiZgBtdZloq04ArbEErbEEU5kUx2enmFhOoVBUivXROG/v2cwfdPURMkw0b5honmqOxGnuirOQy3Jyfprh5AKW41CODCF4Xk0Df9yziRtauwlKA81bJpov1FaFeV5bNzua2ji7OMfg4hypQp5yEDdMfq+tmz9cs4GdNY0IIdD8wUTzlbAZYHNDC5vqm5nMpBhcmGNseQnLcSglAthdXc/vd/XyyvZ11AZDaP5jovmSEILWaILWaIKCbTOSWuT80jzTmWUcpfCr9ZE4r2hfwyvb17ExXoMQAs2/TDTfCxoG62rqWVdTT7pYYCS5yPnkPPPZLAqF11pDVbyspZubO3rYXduEKSVaaTDRSko0EGRDfRMb6ptYyucYSi4wtDRPspDn34oGgrilOhDkP0oYJje2dHJLew9XN7YTMgy00mOilazqUBXbGlvZ2tjKfDbNuaUFJtNJqgyTC5vbccubezbxyMI057JpNkUT3Nzew0tbu4maAbTSZqKVPAHUh6PUh6OshIZQmJ9ecj1a+ZFomlaxJJqmVSyJpmkVS6JpWsWSaJpWsSSaplUsiaZpFUuiaVrFkmiaVrEkmqZVLImmaRVLomlaxZJomlaxJJqmVSyJpmkVS6JpWsWSaJpWsSSaplWs/wlpu7pUloCWhgAAAABJRU5ErkJggg==",\n "universalLink": "https://wallet.airgap.it",\n "deepLink": "airgap-wallet://"\n },\n {\n "key": "plenty_wallet_ios",\n "name": "Plenty Wallet - your portal to web3 ",\n "shortName": "Plenty Wallet",\n "color": "",\n "logo": "data:image/png;base64,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",\n "universalLink": "https://www.naan.app/",\n "deepLink": "naan://"\n },\n {\n "key": "altme_wallet",\n "name": "Altme Wallet",\n "shortName": "Altme",\n "color": "",\n "logo": "data:image/png;base64,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",\n "universalLink": "https://app.altme.io/app/download"\n },\n {\n "key": "autonomy-app",\n "name": "Autonomy: Digital Art Wallet",\n "shortName": "Autonomy",\n "color": "",\n "logo": "data:image/png;base64,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",\n "universalLink": "https://autonomy.io/apps/tezos",\n "deepLink": "autonomy-tezos://"\n },\n {\n "key": "temple_ios",\n "name": "Temple Wallet",\n "shortName": "Temple",\n "color": "",\n "logo": "data:image/png;base64,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",\n "universalLink": "https://templewallet.com",\n "deepLink": "temple://"\n },\n {\n "key": "atomex_ios",\n "name": "Atomex Wallet",\n "shortName": "Atomex",\n "color": "",\n "logo": "data:image/png;base64,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",\n "universalLink": "https://atomex.me",\n "deepLink": "atomex://"\n },\n {\n "key": "umami_ios",\n "name": "Umami Mobile",\n "shortName": "Umami Mobile",\n "color": "",\n "logo": "data:image/png;base64,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",\n "deepLink": "umami://",\n "universalLink": "https://umamiwallet.com/"\n },\n {\n "key": "trust_ios",\n "name": "Trust Wallet",\n "shortName": "Trust Wallet",\n "color": "",\n "supportedInteractionStandards": [\n "wallet_connect"\n ],\n "logo": "data:image/png;base64,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",\n "universalLink": "https://trustwallet.com",\n "deepLink": "trust://"\n },\n {\n "key": "exodus_mobile",\n "name": "Exodus Mobile",\n "shortName": "Exodus",\n "color": "",\n "logo": "data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9IjMwMCIgdmlld0JveD0iMCAwIDMwMCAzMDAiIHdpZHRoPSIzMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxsaW5lYXJHcmFkaWVudCBpZD0iYSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIyNTYuODc1IiB4Mj0iMTcxLjMiIHkxPSIzMjAuNjI1IiB5Mj0iLTMyLjk0NTkiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzBiNDZmOSIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2JiZmJlMCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJiIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjIyLjUwMDIiIHgyPSIxNzAuNjI1IiB5MT0iNjcuNSIgeTI9IjE3OC4xMjUiPjxzdG9wIG9mZnNldD0iLjExOTc5MiIgc3RvcC1jb2xvcj0iIzg5NTJmZiIgc3RvcC1vcGFjaXR5PSIuODciLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNkYWJkZmYiIHN0b3Atb3BhY2l0eT0iMCIvPjwvbGluZWFyR3JhZGllbnQ+PG1hc2sgaWQ9ImMiIGhlaWdodD0iMzAwIiBtYXNrVW5pdHM9InVzZXJTcGFjZU9uVXNlIiB3aWR0aD0iMjk2IiB4PSIzIiB5PSIwIj48cGF0aCBkPSJtMjk4LjIwNCA4My43NjQ1LTEyNy43NTQtODMuNzY0NXY0Ni44MzMybDgxLjk1NSA1My4yNTU4LTkuNjQyIDMwLjUwOWgtNzIuMzEzdjM4LjgwNGg3Mi4zMTNsOS42NDIgMzAuNTA5LTgxLjk1NSA1My4yNTZ2NDYuODMzbDEyNy43NTQtODMuNDk3LTIwLjg5MS02Ni4zNjl6IiBmaWxsPSJ1cmwoI2EpIi8+PHBhdGggZD0ibTU5LjMwMSAxNjkuNDAyaDcyLjA0NnYtMzguODA0aC03Mi4zMTM4bC05LjM3NC0zMC41MDkgODEuNjg3OC01My4yNTU4di00Ni44MzMybC0xMjcuNzU0MjMgODMuNzY0NSAyMC44OTA2MyA2Ni4zNjk1LTIwLjg5MDYzIDY2LjM2OSAxMjguMDIyMjMgODMuNDk3di00Ni44MzNsLTgxLjk1NTgtNTMuMjU2eiIgZmlsbD0idXJsKCNhKSIvPjwvbWFzaz48cGF0aCBkPSJtMjk4LjIwMyA4My43NjQ1LTEyNy43NTQtODMuNzY0NXY0Ni44MzMybDgxLjk1NiA1My4yNTU4LTkuNjQyIDMwLjUwOWgtNzIuMzE0djM4LjgwNGg3Mi4zMTRsOS42NDIgMzAuNTA5LTgxLjk1NiA1My4yNTZ2NDYuODMzbDEyNy43NTQtODMuNDk3LTIwLjg5LTY2LjM2OXoiIGZpbGw9InVybCgjYSkiLz48cGF0aCBkPSJtNTkuMzAwNyAxNjkuNDAyaDcyLjA0NTN2LTM4LjgwNGgtNzIuMzEzMWwtOS4zNzQtMzAuNTA5IDgxLjY4NzEtNTMuMjU1OHYtNDYuODMzMmwtMTI3Ljc1MzQ3IDgzLjc2NDUgMjAuODkwNTcgNjYuMzY5NS0yMC44OTA1NyA2Ni4zNjkgMTI4LjAyMTQ3IDgzLjQ5N3YtNDYuODMzbC04MS45NTUxLTUzLjI1NnoiIGZpbGw9InVybCgjYSkiLz48ZyBtYXNrPSJ1cmwoI2MpIj48cGF0aCBkPSJtMy43NTAyNCAwaDI5Mi41djMwMGgtMjkyLjV6IiBmaWxsPSJ1cmwoI2IpIi8+PC9nPjwvc3ZnPg==",\n "supportedInteractionStandards": [\n "beacon"\n ],\n "deepLink": "exodus://wc",\n "universalLink": "https://www.exodus.com/"\n }\n];\n//# sourceMappingURL=wallet-lists.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-blockchain-tezos/dist/cjs/ui/alert/wallet-lists.js?')},"./packages/beacon-core/dist/cjs/MockAnalytics.js":(__unused_webpack_module,exports)=>{"use strict";eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MockAnalytics = void 0;\nvar MockAnalytics = /** @class */ (function () {\n function MockAnalytics() {\n }\n MockAnalytics.prototype.track = function (_trigger, _section, _label, _data) {\n // console.log('##### TRACK', trigger, section, label, data)\n // noop\n };\n return MockAnalytics;\n}());\nexports.MockAnalytics = MockAnalytics;\n//# sourceMappingURL=MockAnalytics.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-core/dist/cjs/MockAnalytics.js?")},"./packages/beacon-core/dist/cjs/MockWindow.js":(__unused_webpack_module,exports)=>{"use strict";eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.clearMockWindowState = exports.windowRef = void 0;\nvar cbs = [function (_) { return undefined; }];\n/**\n * A mock for postmessage if run in node.js environment\n */\nvar windowRef = {\n postMessage: function (message, _target) {\n console.log('GOT MOCK POST MESSAGE', message);\n cbs.forEach(function (callbackElement) {\n callbackElement({ data: message });\n });\n },\n addEventListener: function (_name, eventCallback) {\n cbs.push(eventCallback);\n },\n removeEventListener: function (_name, eventCallback) {\n cbs.splice(cbs.indexOf(function (element) { return element === eventCallback; }), 1);\n },\n location: {\n origin: '*'\n }\n};\nexports.windowRef = windowRef;\ntry {\n if (typeof window !== 'undefined') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n exports.windowRef = windowRef = window;\n }\n}\ncatch (windowError) {\n console.log(\"not defined: \".concat(windowError));\n}\nvar clearMockWindowState = function () {\n cbs.length = 0;\n};\nexports.clearMockWindowState = clearMockWindowState;\n//# sourceMappingURL=MockWindow.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-core/dist/cjs/MockWindow.js?")},"./packages/beacon-core/dist/cjs/Serializer.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('/* provided dependency */ var Buffer = __webpack_require__(/*! buffer */ "./node_modules/buffer/index.js")["Buffer"];\n\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError("Generator is already executing.");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.Serializer = void 0;\nvar bs58check = __webpack_require__(/*! bs58check */ "./node_modules/bs58check/index.js");\n/**\n * @internalapi\n *\n * The Serializer is used to serialize / deserialize JSON objects and encode them with bs58check\n */\nvar Serializer = /** @class */ (function () {\n function Serializer() {\n }\n /**\n * Serialize and bs58check encode an object\n *\n * @param message JSON object to serialize\n */\n Serializer.prototype.serialize = function (message) {\n return __awaiter(this, void 0, void 0, function () {\n var str;\n return __generator(this, function (_a) {\n str = JSON.stringify(message);\n return [2 /*return*/, bs58check.encode(Buffer.from(str))];\n });\n });\n };\n /**\n * Deserialize a bs58check encoded string\n *\n * @param encoded String to be deserialized\n */\n Serializer.prototype.deserialize = function (encoded) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (typeof encoded !== \'string\') {\n throw new Error(\'Encoded payload needs to be a string\');\n }\n return [2 /*return*/, JSON.parse(bs58check.decode(encoded).toString())];\n });\n });\n };\n return Serializer;\n}());\nexports.Serializer = Serializer;\n//# sourceMappingURL=Serializer.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-core/dist/cjs/Serializer.js?')},"./packages/beacon-core/dist/cjs/clients/beacon-client/BeaconClient.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError("Generator is already executing.");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.BeaconClient = void 0;\nvar beacon_utils_1 = __webpack_require__(/*! @airgap/beacon-utils */ "./packages/beacon-utils/dist/cjs/index.js");\nvar beacon_utils_2 = __webpack_require__(/*! @airgap/beacon-utils */ "./packages/beacon-utils/dist/cjs/index.js");\nvar beacon_types_1 = __webpack_require__(/*! @airgap/beacon-types */ "./packages/beacon-types/dist/cjs/index.js");\nvar constants_1 = __webpack_require__(/*! ../../constants */ "./packages/beacon-core/dist/cjs/constants.js");\nvar MockWindow_1 = __webpack_require__(/*! ../../MockWindow */ "./packages/beacon-core/dist/cjs/MockWindow.js");\nvar MockAnalytics_1 = __webpack_require__(/*! ../../MockAnalytics */ "./packages/beacon-core/dist/cjs/MockAnalytics.js");\n/**\n * @internalapi\n *\n * The beacon client is an abstract client that handles everything that is shared between all other clients.\n * Specifically, it handles managing the beaconId and and the local keypair.\n */\nvar BeaconClient = /** @class */ (function () {\n function BeaconClient(config) {\n var _a, _b;\n /** The beaconId is a public key that is used to identify one specific application (dapp or wallet).\n * This is used inside a message to specify the sender, for example.\n */\n this._beaconId = new beacon_utils_1.ExposedPromise();\n /**\n * The local keypair that is used for the communication encryption\n */\n this._keyPair = new beacon_utils_1.ExposedPromise();\n if (!config.name) {\n throw new Error(\'Name not set\');\n }\n if (!config.storage) {\n throw new Error(\'Storage not set\');\n }\n this.name = config.name;\n this.iconUrl = config.iconUrl;\n this.appUrl = (_a = config.appUrl) !== null && _a !== void 0 ? _a : MockWindow_1.windowRef.location.origin;\n this.storage = config.storage;\n this.analytics = (_b = config.analytics) !== null && _b !== void 0 ? _b : new MockAnalytics_1.MockAnalytics();\n // TODO: This is a temporary "workaround" to prevent users from creating multiple Client instances\n if (MockWindow_1.windowRef.beaconCreatedClientInstance) {\n console.error(\'[BEACON] It looks like you created multiple Beacon SDK Client instances. This can lead to problems. Only create one instance and re-use it everywhere.\');\n }\n else {\n ;\n MockWindow_1.windowRef.beaconCreatedClientInstance = true;\n }\n this.initSDK().catch(console.error);\n }\n Object.defineProperty(BeaconClient.prototype, "beaconId", {\n get: function () {\n return this._beaconId.promise;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BeaconClient.prototype, "keyPair", {\n get: function () {\n return this._keyPair.promise;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * This resets the SDK. After using this method, this instance is no longer usable. You will have to instanciate a new client.\n */\n BeaconClient.prototype.destroy = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.removeBeaconEntriesFromStorage()];\n case 1:\n _a.sent();\n MockWindow_1.windowRef.beaconCreatedClientInstance = false;\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * This method initializes the SDK by setting some values in the storage and generating a keypair.\n */\n BeaconClient.prototype.initSDK = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n this.storage.set(beacon_types_1.StorageKey.BEACON_SDK_VERSION, constants_1.SDK_VERSION).catch(console.error);\n this.loadOrCreateBeaconSecret().catch(console.error);\n return [2 /*return*/, this.keyPair.then(function (keyPair) {\n _this._beaconId.resolve((0, beacon_utils_2.toHex)(keyPair.publicKey));\n })];\n });\n });\n };\n /**\n * Removes all beacon values from the storage.\n */\n BeaconClient.prototype.removeBeaconEntriesFromStorage = function () {\n return __awaiter(this, void 0, void 0, function () {\n var allKeys;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n allKeys = Object.values(beacon_types_1.StorageKey);\n return [4 /*yield*/, Promise.all(allKeys.map(function (key) { return _this.storage.delete(key); }))];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * This method tries to load the seed from storage, if it doesn\'t exist, a new one will be created and persisted.\n */\n BeaconClient.prototype.loadOrCreateBeaconSecret = function () {\n return __awaiter(this, void 0, void 0, function () {\n var storageValue, _a, _b, key, _c, _d;\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0: return [4 /*yield*/, this.storage.get(beacon_types_1.StorageKey.BEACON_SDK_SECRET_SEED)];\n case 1:\n storageValue = _e.sent();\n if (!(storageValue && typeof storageValue === \'string\')) return [3 /*break*/, 3];\n _b = (_a = this._keyPair).resolve;\n return [4 /*yield*/, (0, beacon_utils_2.getKeypairFromSeed)(storageValue)];\n case 2:\n _b.apply(_a, [_e.sent()]);\n return [3 /*break*/, 7];\n case 3: return [4 /*yield*/, (0, beacon_utils_2.generateGUID)()];\n case 4:\n key = _e.sent();\n return [4 /*yield*/, this.storage.set(beacon_types_1.StorageKey.BEACON_SDK_SECRET_SEED, key)];\n case 5:\n _e.sent();\n _d = (_c = this._keyPair).resolve;\n return [4 /*yield*/, (0, beacon_utils_2.getKeypairFromSeed)(key)];\n case 6:\n _d.apply(_c, [_e.sent()]);\n _e.label = 7;\n case 7: return [2 /*return*/];\n }\n });\n });\n };\n return BeaconClient;\n}());\nexports.BeaconClient = BeaconClient;\n//# sourceMappingURL=BeaconClient.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-core/dist/cjs/clients/beacon-client/BeaconClient.js?')},"./packages/beacon-core/dist/cjs/clients/client/Client.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== "function" && b !== null)\n throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError("Generator is already executing.");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.Client = void 0;\nvar beacon_utils_1 = __webpack_require__(/*! @airgap/beacon-utils */ "./packages/beacon-utils/dist/cjs/index.js");\nvar beacon_types_1 = __webpack_require__(/*! @airgap/beacon-types */ "./packages/beacon-types/dist/cjs/index.js");\nvar __1 = __webpack_require__(/*! ../.. */ "./packages/beacon-core/dist/cjs/index.js");\nvar BeaconClient_1 = __webpack_require__(/*! ../beacon-client/BeaconClient */ "./packages/beacon-core/dist/cjs/clients/beacon-client/BeaconClient.js");\nvar AccountManager_1 = __webpack_require__(/*! ../../managers/AccountManager */ "./packages/beacon-core/dist/cjs/managers/AccountManager.js");\nvar get_sender_id_1 = __webpack_require__(/*! ../../utils/get-sender-id */ "./packages/beacon-core/dist/cjs/utils/get-sender-id.js");\nvar Logger_1 = __webpack_require__(/*! ../../utils/Logger */ "./packages/beacon-core/dist/cjs/utils/Logger.js");\nvar logger = new Logger_1.Logger(\'Client\');\n/**\n * @internalapi\n *\n * This abstract class handles the a big part of the logic that is shared between the dapp and wallet client.\n * For example, it selects and manages the transport and accounts.\n */\nvar Client = /** @class */ (function (_super) {\n __extends(Client, _super);\n function Client(config) {\n var _this = this;\n var _a;\n _this = _super.call(this, config) || this;\n /**\n * How many requests can be sent after another\n */\n _this.rateLimit = 2;\n /**\n * The time window in seconds in which the "rateLimit" is checked\n */\n _this.rateLimitWindowInSeconds = 5;\n /**\n * Stores the times when requests have been made to determine if the rate limit has been reached\n */\n _this.requestCounter = [];\n _this._transport = new beacon_utils_1.ExposedPromise();\n _this.accountManager = new AccountManager_1.AccountManager(config.storage);\n _this.matrixNodes = (_a = config.matrixNodes) !== null && _a !== void 0 ? _a : {};\n _this.handleResponse = function (message, connectionInfo) {\n throw new Error("not overwritten".concat(JSON.stringify(message), " - ").concat(JSON.stringify(connectionInfo)));\n };\n return _this;\n }\n Object.defineProperty(Client.prototype, "transport", {\n get: function () {\n return this._transport.promise;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Client.prototype, "connectionStatus", {\n /**\n * Returns the connection status of the Client\n */\n get: function () {\n var _a, _b;\n return (_b = (_a = this._transport.promiseResult) === null || _a === void 0 ? void 0 : _a.connectionStatus) !== null && _b !== void 0 ? _b : beacon_types_1.TransportStatus.NOT_CONNECTED;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Client.prototype, "ready", {\n /**\n * Returns whether or not the transaport is ready\n */\n get: function () {\n return this.transport.then(function () { return undefined; });\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Return all locally known accounts\n */\n Client.prototype.getAccounts = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.accountManager.getAccounts()];\n });\n });\n };\n /**\n * Return the account by ID\n * @param accountIdentifier The ID of an account\n */\n Client.prototype.getAccount = function (accountIdentifier) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.accountManager.getAccount(accountIdentifier)];\n });\n });\n };\n /**\n * Remove the account by ID\n * @param accountIdentifier The ID of an account\n */\n Client.prototype.removeAccount = function (accountIdentifier) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.accountManager.removeAccount(accountIdentifier)];\n });\n });\n };\n /**\n * Remove all locally stored accounts\n */\n Client.prototype.removeAllAccounts = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.accountManager.removeAllAccounts()];\n });\n });\n };\n /**\n * Add a new request (current timestamp) to the pending requests, remove old ones and check if we are above the limit\n */\n Client.prototype.addRequestAndCheckIfRateLimited = function () {\n return __awaiter(this, void 0, void 0, function () {\n var now;\n var _this = this;\n return __generator(this, function (_a) {\n now = new Date().getTime();\n this.requestCounter = this.requestCounter.filter(function (date) { return date + _this.rateLimitWindowInSeconds * 1000 > now; });\n this.requestCounter.push(now);\n return [2 /*return*/, this.requestCounter.length > this.rateLimit];\n });\n });\n };\n /**\n * This method initializes the client. It will check if the connection should be established to a\n * browser extension or if the P2P transport should be used.\n *\n * @param transport A transport that can be provided by the user\n */\n Client.prototype.init = function (transport) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(this._transport.status === beacon_utils_1.ExposedPromiseStatus.RESOLVED)) return [3 /*break*/, 2];\n return [4 /*yield*/, this.transport];\n case 1: return [2 /*return*/, (_a.sent()).type];\n case 2: return [4 /*yield*/, this.setTransport(transport)]; // Let users define their own transport\n case 3:\n _a.sent(); // Let users define their own transport\n return [2 /*return*/, transport.type];\n }\n });\n });\n };\n /**\n * Returns the metadata of this DApp\n */\n Client.prototype.getOwnAppMetadata = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _a;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _b = {};\n _a = get_sender_id_1.getSenderId;\n return [4 /*yield*/, this.beaconId];\n case 1: return [4 /*yield*/, _a.apply(void 0, [_c.sent()])];\n case 2: return [2 /*return*/, (_b.senderId = _c.sent(),\n _b.name = this.name,\n _b.icon = this.iconUrl,\n _b)];\n }\n });\n });\n };\n /**\n * Return all known peers\n */\n Client.prototype.getPeers = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.transport];\n case 1: return [2 /*return*/, (_a.sent()).getPeers()];\n }\n });\n });\n };\n /**\n * Add a new peer to the known peers\n * @param peer The new peer to add\n */\n Client.prototype.addPeer = function (peer) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.transport];\n case 1: return [2 /*return*/, (_a.sent()).addPeer(peer)];\n }\n });\n });\n };\n Client.prototype.destroy = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(this._transport.status === beacon_utils_1.ExposedPromiseStatus.RESOLVED)) return [3 /*break*/, 3];\n return [4 /*yield*/, this.transport];\n case 1: return [4 /*yield*/, (_a.sent()).disconnect()];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3: return [4 /*yield*/, _super.prototype.destroy.call(this)];\n case 4:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * A "setter" for when the transport needs to be changed.\n */\n Client.prototype.setTransport = function (transport) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (transport) {\n if (this._transport.isSettled()) {\n // If the promise has already been resolved we need to create a new one.\n this._transport = beacon_utils_1.ExposedPromise.resolve(transport);\n }\n else {\n this._transport.resolve(transport);\n }\n }\n else {\n if (this._transport.isSettled()) {\n // If the promise has already been resolved we need to create a new one.\n this._transport = new beacon_utils_1.ExposedPromise();\n }\n }\n return [2 /*return*/];\n });\n });\n };\n Client.prototype.addListener = function (transport) {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n transport\n .addListener(function (message, connectionInfo) { return __awaiter(_this, void 0, void 0, function () {\n var deserializedMessage;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(typeof message === \'string\')) return [3 /*break*/, 2];\n return [4 /*yield*/, new __1.Serializer().deserialize(message)];\n case 1:\n deserializedMessage = (_a.sent());\n this.handleResponse(deserializedMessage, connectionInfo);\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n }); })\n .catch(function (error) { return logger.error(\'addListener\', error); });\n return [2 /*return*/];\n });\n });\n };\n Client.prototype.sendDisconnectToPeer = function (peer, transport) {\n return __awaiter(this, void 0, void 0, function () {\n var request, _a, payload, selectedTransport, _b;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _c = {};\n return [4 /*yield*/, (0, beacon_utils_1.generateGUID)()];\n case 1:\n _c.id = _d.sent(),\n _c.version = peer.version;\n _a = get_sender_id_1.getSenderId;\n return [4 /*yield*/, this.beaconId];\n case 2: return [4 /*yield*/, _a.apply(void 0, [_d.sent()])];\n case 3:\n request = (_c.senderId = _d.sent(),\n _c.type = beacon_types_1.BeaconMessageType.Disconnect,\n _c);\n return [4 /*yield*/, new __1.Serializer().serialize(request)];\n case 4:\n payload = _d.sent();\n if (!(transport !== null && transport !== void 0)) return [3 /*break*/, 5];\n _b = transport;\n return [3 /*break*/, 7];\n case 5: return [4 /*yield*/, this.transport];\n case 6:\n _b = (_d.sent());\n _d.label = 7;\n case 7:\n selectedTransport = _b;\n return [4 /*yield*/, selectedTransport.send(payload, peer)];\n case 8:\n _d.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n return Client;\n}(BeaconClient_1.BeaconClient));\nexports.Client = Client;\n//# sourceMappingURL=Client.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-core/dist/cjs/clients/client/Client.js?')},"./packages/beacon-core/dist/cjs/constants.js":(__unused_webpack_module,exports)=>{"use strict";eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.NOTIFICATION_ORACLE_URL = exports.BEACON_VERSION = exports.SDK_VERSION = void 0;\nexports.SDK_VERSION = '4.0.10';\nexports.BEACON_VERSION = '3';\nexports.NOTIFICATION_ORACLE_URL = 'https://beacon-notification-oracle.dev.gke.papers.tech';\n//# sourceMappingURL=constants.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-core/dist/cjs/constants.js?")},"./packages/beacon-core/dist/cjs/debug.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.getDebugEnabled = exports.setDebugEnabled = void 0;\nvar MockWindow_1 = __webpack_require__(/*! ./MockWindow */ "./packages/beacon-core/dist/cjs/MockWindow.js");\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nvar debug = MockWindow_1.windowRef.beaconSdkDebugEnabled ? true : false;\nif (debug) {\n // eslint-disable-next-line no-console\n console.log(\'[BEACON]: Debug mode is ON (turned on either by the developer or a browser extension)\');\n}\nvar setDebugEnabled = function (enabled) {\n debug = enabled;\n};\nexports.setDebugEnabled = setDebugEnabled;\nvar getDebugEnabled = function () { return debug; };\nexports.getDebugEnabled = getDebugEnabled;\n//# sourceMappingURL=debug.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-core/dist/cjs/debug.js?')},"./packages/beacon-core/dist/cjs/errors/AbortedBeaconError.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== "function" && b !== null)\n throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.AbortedBeaconError = void 0;\nvar __1 = __webpack_require__(/*! .. */ "./packages/beacon-core/dist/cjs/index.js");\nvar beacon_types_1 = __webpack_require__(/*! @airgap/beacon-types */ "./packages/beacon-types/dist/cjs/index.js");\n/**\n * @category Error\n */\nvar AbortedBeaconError = /** @class */ (function (_super) {\n __extends(AbortedBeaconError, _super);\n function AbortedBeaconError() {\n var _this = _super.call(this, beacon_types_1.BeaconErrorType.ABORTED_ERROR, \'The action was aborted by the user.\') || this;\n _this.name = \'UnknownBeaconError\';\n _this.title = \'Aborted\';\n return _this;\n }\n return AbortedBeaconError;\n}(__1.BeaconError));\nexports.AbortedBeaconError = AbortedBeaconError;\n//# sourceMappingURL=AbortedBeaconError.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-core/dist/cjs/errors/AbortedBeaconError.js?')},"./packages/beacon-core/dist/cjs/errors/BeaconError.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.BeaconError = void 0;\nvar assert_never_1 = __webpack_require__(/*! ../utils/assert-never */ "./packages/beacon-core/dist/cjs/utils/assert-never.js");\nvar __1 = __webpack_require__(/*! .. */ "./packages/beacon-core/dist/cjs/index.js");\nvar beacon_types_1 = __webpack_require__(/*! @airgap/beacon-types */ "./packages/beacon-types/dist/cjs/index.js");\n/**\n * @category Error\n */\nvar BeaconError = /** @class */ (function () {\n function BeaconError(errorType, message) {\n this.name = \'BeaconError\';\n this.title = \'Error\'; // Visible in the UI\n this.message = "[".concat(errorType, "]:").concat(message);\n this.description = message;\n }\n Object.defineProperty(BeaconError.prototype, "fullDescription", {\n get: function () {\n return { description: this.description };\n },\n enumerable: false,\n configurable: true\n });\n BeaconError.getError = function (errorType, errorData) {\n switch (errorType) {\n case beacon_types_1.BeaconErrorType.BROADCAST_ERROR:\n return new __1.BroadcastBeaconError();\n case beacon_types_1.BeaconErrorType.NETWORK_NOT_SUPPORTED:\n return new __1.NetworkNotSupportedBeaconError();\n case beacon_types_1.BeaconErrorType.NO_ADDRESS_ERROR:\n return new __1.NoAddressBeaconError();\n case beacon_types_1.BeaconErrorType.NO_PRIVATE_KEY_FOUND_ERROR:\n return new __1.NoPrivateKeyBeaconError();\n case beacon_types_1.BeaconErrorType.NOT_GRANTED_ERROR:\n return new __1.NotGrantedBeaconError();\n case beacon_types_1.BeaconErrorType.PARAMETERS_INVALID_ERROR:\n return new __1.ParametersInvalidBeaconError();\n case beacon_types_1.BeaconErrorType.TOO_MANY_OPERATIONS:\n return new __1.TooManyOperationsBeaconError();\n case beacon_types_1.BeaconErrorType.TRANSACTION_INVALID_ERROR:\n return new __1.TransactionInvalidBeaconError(errorData);\n case beacon_types_1.BeaconErrorType.SIGNATURE_TYPE_NOT_SUPPORTED:\n return new __1.SignatureTypeNotSupportedBeaconError();\n // case BeaconErrorType.ENCRYPTION_TYPE_NOT_SUPPORTED:\n // return new EncryptionTypeNotSupportedBeaconError()\n case beacon_types_1.BeaconErrorType.ABORTED_ERROR:\n return new __1.AbortedBeaconError();\n case beacon_types_1.BeaconErrorType.UNKNOWN_ERROR:\n return new __1.UnknownBeaconError();\n default:\n (0, assert_never_1.assertNever)(errorType);\n }\n };\n return BeaconError;\n}());\nexports.BeaconError = BeaconError;\n//# sourceMappingURL=BeaconError.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-core/dist/cjs/errors/BeaconError.js?')},"./packages/beacon-core/dist/cjs/errors/BroadcastBeaconError.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== "function" && b !== null)\n throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.BroadcastBeaconError = void 0;\nvar __1 = __webpack_require__(/*! .. */ "./packages/beacon-core/dist/cjs/index.js");\nvar beacon_types_1 = __webpack_require__(/*! @airgap/beacon-types */ "./packages/beacon-types/dist/cjs/index.js");\n/**\n * @category Error\n */\nvar BroadcastBeaconError = /** @class */ (function (_super) {\n __extends(BroadcastBeaconError, _super);\n function BroadcastBeaconError() {\n var _this = _super.call(this, beacon_types_1.BeaconErrorType.BROADCAST_ERROR, \'The transaction could not be broadcast to the network. Please try again.\') || this;\n _this.name = \'BroadcastBeaconError\';\n _this.title = \'Broadcast Error\';\n return _this;\n }\n return BroadcastBeaconError;\n}(__1.BeaconError));\nexports.BroadcastBeaconError = BroadcastBeaconError;\n//# sourceMappingURL=BroadcastBeaconError.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-core/dist/cjs/errors/BroadcastBeaconError.js?')},"./packages/beacon-core/dist/cjs/errors/NetworkNotSupportedBeaconError.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== "function" && b !== null)\n throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.NetworkNotSupportedBeaconError = void 0;\nvar __1 = __webpack_require__(/*! .. */ "./packages/beacon-core/dist/cjs/index.js");\nvar beacon_types_1 = __webpack_require__(/*! @airgap/beacon-types */ "./packages/beacon-types/dist/cjs/index.js");\n/**\n * @category Error\n */\nvar NetworkNotSupportedBeaconError = /** @class */ (function (_super) {\n __extends(NetworkNotSupportedBeaconError, _super);\n function NetworkNotSupportedBeaconError() {\n var _this = _super.call(this, beacon_types_1.BeaconErrorType.NETWORK_NOT_SUPPORTED, \'The wallet does not support this network. Please select another one.\') || this;\n _this.name = \'NetworkNotSupportedBeaconError\';\n _this.title = \'Network Error\';\n return _this;\n }\n return NetworkNotSupportedBeaconError;\n}(__1.BeaconError));\nexports.NetworkNotSupportedBeaconError = NetworkNotSupportedBeaconError;\n//# sourceMappingURL=NetworkNotSupportedBeaconError.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-core/dist/cjs/errors/NetworkNotSupportedBeaconError.js?')},"./packages/beacon-core/dist/cjs/errors/NoAddressBeaconError.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== "function" && b !== null)\n throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.NoAddressBeaconError = void 0;\nvar __1 = __webpack_require__(/*! .. */ "./packages/beacon-core/dist/cjs/index.js");\nvar beacon_types_1 = __webpack_require__(/*! @airgap/beacon-types */ "./packages/beacon-types/dist/cjs/index.js");\n/**\n * @category Error\n */\nvar NoAddressBeaconError = /** @class */ (function (_super) {\n __extends(NoAddressBeaconError, _super);\n function NoAddressBeaconError() {\n var _this = _super.call(this, beacon_types_1.BeaconErrorType.NO_ADDRESS_ERROR, \'The wallet does not have an account set up. Please make sure to set up your wallet and try again.\') || this;\n _this.name = \'NoAddressBeaconError\';\n _this.title = \'No Address\';\n return _this;\n }\n return NoAddressBeaconError;\n}(__1.BeaconError));\nexports.NoAddressBeaconError = NoAddressBeaconError;\n//# sourceMappingURL=NoAddressBeaconError.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-core/dist/cjs/errors/NoAddressBeaconError.js?')},"./packages/beacon-core/dist/cjs/errors/NoPrivateKeyBeaconError.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== "function" && b !== null)\n throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.NoPrivateKeyBeaconError = void 0;\nvar __1 = __webpack_require__(/*! .. */ "./packages/beacon-core/dist/cjs/index.js");\nvar beacon_types_1 = __webpack_require__(/*! @airgap/beacon-types */ "./packages/beacon-types/dist/cjs/index.js");\n/**\n * @category Error\n */\nvar NoPrivateKeyBeaconError = /** @class */ (function (_super) {\n __extends(NoPrivateKeyBeaconError, _super);\n function NoPrivateKeyBeaconError() {\n var _this = _super.call(this, beacon_types_1.BeaconErrorType.NO_PRIVATE_KEY_FOUND_ERROR, \'The account you are trying to interact with is not available. Please make sure to add the account to your wallet and try again.\') || this;\n _this.name = \'NoPrivateKeyBeaconError\';\n _this.title = \'Account Not Found\';\n return _this;\n }\n return NoPrivateKeyBeaconError;\n}(__1.BeaconError));\nexports.NoPrivateKeyBeaconError = NoPrivateKeyBeaconError;\n//# sourceMappingURL=NoPrivateKeyBeaconError.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-core/dist/cjs/errors/NoPrivateKeyBeaconError.js?')},"./packages/beacon-core/dist/cjs/errors/NotGrantedBeaconError.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== "function" && b !== null)\n throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.NotGrantedBeaconError = void 0;\nvar __1 = __webpack_require__(/*! .. */ "./packages/beacon-core/dist/cjs/index.js");\nvar beacon_types_1 = __webpack_require__(/*! @airgap/beacon-types */ "./packages/beacon-types/dist/cjs/index.js");\n/**\n * @category Error\n */\nvar NotGrantedBeaconError = /** @class */ (function (_super) {\n __extends(NotGrantedBeaconError, _super);\n function NotGrantedBeaconError() {\n var _this = _super.call(this, beacon_types_1.BeaconErrorType.NOT_GRANTED_ERROR, \'You do not have the necessary permissions to perform this action. Please initiate another permission request and give the necessary permissions.\') || this;\n _this.name = \'NotGrantedBeaconError\';\n _this.title = \'Permission Not Granted\';\n return _this;\n }\n return NotGrantedBeaconError;\n}(__1.BeaconError));\nexports.NotGrantedBeaconError = NotGrantedBeaconError;\n//# sourceMappingURL=NotGrantedBeaconError.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-core/dist/cjs/errors/NotGrantedBeaconError.js?')},"./packages/beacon-core/dist/cjs/errors/ParametersInvalidBeaconError.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== "function" && b !== null)\n throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.ParametersInvalidBeaconError = void 0;\nvar __1 = __webpack_require__(/*! .. */ "./packages/beacon-core/dist/cjs/index.js");\nvar beacon_types_1 = __webpack_require__(/*! @airgap/beacon-types */ "./packages/beacon-types/dist/cjs/index.js");\n/**\n * @category Error\n */\nvar ParametersInvalidBeaconError = /** @class */ (function (_super) {\n __extends(ParametersInvalidBeaconError, _super);\n function ParametersInvalidBeaconError() {\n var _this = _super.call(this, beacon_types_1.BeaconErrorType.PARAMETERS_INVALID_ERROR, \'Some of the parameters you provided are invalid and the request could not be completed. Please check your inputs and try again.\') || this;\n _this.name = \'ParametersInvalidBeaconError\';\n _this.title = \'Parameters Invalid\';\n return _this;\n }\n return ParametersInvalidBeaconError;\n}(__1.BeaconError));\nexports.ParametersInvalidBeaconError = ParametersInvalidBeaconError;\n//# sourceMappingURL=ParametersInvalidBeaconError.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-core/dist/cjs/errors/ParametersInvalidBeaconError.js?')},"./packages/beacon-core/dist/cjs/errors/SignatureTypeNotSupportedBeaconError.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== "function" && b !== null)\n throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.SignatureTypeNotSupportedBeaconError = void 0;\nvar __1 = __webpack_require__(/*! .. */ "./packages/beacon-core/dist/cjs/index.js");\nvar beacon_types_1 = __webpack_require__(/*! @airgap/beacon-types */ "./packages/beacon-types/dist/cjs/index.js");\n/**\n * @category Error\n */\nvar SignatureTypeNotSupportedBeaconError = /** @class */ (function (_super) {\n __extends(SignatureTypeNotSupportedBeaconError, _super);\n function SignatureTypeNotSupportedBeaconError() {\n var _this = _super.call(this, beacon_types_1.BeaconErrorType.SIGNATURE_TYPE_NOT_SUPPORTED, \'The wallet is not able to sign payloads of this type.\') || this;\n _this.name = \'SignatureTypeNotSupportedBeaconError\';\n _this.title = \'Signature Type Not Supported\';\n return _this;\n }\n return SignatureTypeNotSupportedBeaconError;\n}(__1.BeaconError));\nexports.SignatureTypeNotSupportedBeaconError = SignatureTypeNotSupportedBeaconError;\n//# sourceMappingURL=SignatureTypeNotSupportedBeaconError.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-core/dist/cjs/errors/SignatureTypeNotSupportedBeaconError.js?')},"./packages/beacon-core/dist/cjs/errors/TooManyOperationsBeaconError.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== "function" && b !== null)\n throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.TooManyOperationsBeaconError = void 0;\nvar __1 = __webpack_require__(/*! .. */ "./packages/beacon-core/dist/cjs/index.js");\nvar beacon_types_1 = __webpack_require__(/*! @airgap/beacon-types */ "./packages/beacon-types/dist/cjs/index.js");\n/**\n * @category Error\n */\nvar TooManyOperationsBeaconError = /** @class */ (function (_super) {\n __extends(TooManyOperationsBeaconError, _super);\n function TooManyOperationsBeaconError() {\n var _this = _super.call(this, beacon_types_1.BeaconErrorType.TOO_MANY_OPERATIONS, \'The request contains too many transactions. Please include fewer operations and try again.\') || this;\n _this.name = \'TooManyOperationsBeaconError\';\n _this.title = \'Too Many Operations\';\n return _this;\n }\n return TooManyOperationsBeaconError;\n}(__1.BeaconError));\nexports.TooManyOperationsBeaconError = TooManyOperationsBeaconError;\n//# sourceMappingURL=TooManyOperationsBeaconError.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-core/dist/cjs/errors/TooManyOperationsBeaconError.js?')},"./packages/beacon-core/dist/cjs/errors/TransactionInvalidBeaconError.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== "function" && b !== null)\n throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.TransactionInvalidBeaconError = void 0;\nvar __1 = __webpack_require__(/*! .. */ "./packages/beacon-core/dist/cjs/index.js");\nvar beacon_types_1 = __webpack_require__(/*! @airgap/beacon-types */ "./packages/beacon-types/dist/cjs/index.js");\n/**\n * @category Error\n */\nvar TransactionInvalidBeaconError = /** @class */ (function (_super) {\n __extends(TransactionInvalidBeaconError, _super);\n function TransactionInvalidBeaconError(data) {\n var _this = _super.call(this, beacon_types_1.BeaconErrorType.TRANSACTION_INVALID_ERROR, "The transaction is invalid and the node did not accept it.") || this;\n _this.data = data;\n _this.name = \'TransactionInvalidBeaconError\';\n _this.title = \'Transaction Invalid\';\n _this.data = data;\n return _this;\n }\n Object.defineProperty(TransactionInvalidBeaconError.prototype, "fullDescription", {\n get: function () {\n return { description: this.description, data: JSON.stringify(this.data, undefined, 2) };\n },\n enumerable: false,\n configurable: true\n });\n return TransactionInvalidBeaconError;\n}(__1.BeaconError));\nexports.TransactionInvalidBeaconError = TransactionInvalidBeaconError;\n//# sourceMappingURL=TransactionInvalidBeaconError.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-core/dist/cjs/errors/TransactionInvalidBeaconError.js?')},"./packages/beacon-core/dist/cjs/errors/UnknownBeaconError.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== "function" && b !== null)\n throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.UnknownBeaconError = void 0;\nvar __1 = __webpack_require__(/*! .. */ "./packages/beacon-core/dist/cjs/index.js");\nvar beacon_types_1 = __webpack_require__(/*! @airgap/beacon-types */ "./packages/beacon-types/dist/cjs/index.js");\n/**\n * @category Error\n */\nvar UnknownBeaconError = /** @class */ (function (_super) {\n __extends(UnknownBeaconError, _super);\n function UnknownBeaconError() {\n var _this = _super.call(this, beacon_types_1.BeaconErrorType.UNKNOWN_ERROR, \'An unknown error occured. Please try again or report it to a developer.\') || this;\n _this.name = \'UnknownBeaconError\';\n _this.title = \'Error\';\n return _this;\n }\n return UnknownBeaconError;\n}(__1.BeaconError));\nexports.UnknownBeaconError = UnknownBeaconError;\n//# sourceMappingURL=UnknownBeaconError.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-core/dist/cjs/errors/UnknownBeaconError.js?')},"./packages/beacon-core/dist/cjs/index.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.NOTIFICATION_ORACLE_URL = exports.getDebugEnabled = exports.setDebugEnabled = exports.getLogger = exports.setLogger = exports.Logger = exports.Serializer = exports.windowRef = exports.getAccountIdentifier = exports.getSenderId = exports.BEACON_VERSION = exports.SDK_VERSION = exports.PermissionManager = exports.AppMetadataManager = exports.AccountManager = exports.PeerManager = exports.getStorage = exports.LocalStorage = exports.ChromeStorage = exports.CommunicationClient = exports.MessageBasedClient = exports.Transport = exports.UnknownBeaconError = exports.SignatureTypeNotSupportedBeaconError = exports.TransactionInvalidBeaconError = exports.TooManyOperationsBeaconError = exports.ParametersInvalidBeaconError = exports.NotGrantedBeaconError = exports.NoPrivateKeyBeaconError = exports.NoAddressBeaconError = exports.NetworkNotSupportedBeaconError = exports.BroadcastBeaconError = exports.AbortedBeaconError = exports.BeaconError = exports.Client = exports.BeaconClient = void 0;\n/**\n * General docs\n * @module public\n */\nvar Client_1 = __webpack_require__(/*! ./clients/client/Client */ "./packages/beacon-core/dist/cjs/clients/client/Client.js");\nObject.defineProperty(exports, "Client", ({ enumerable: true, get: function () { return Client_1.Client; } }));\nvar BeaconError_1 = __webpack_require__(/*! ./errors/BeaconError */ "./packages/beacon-core/dist/cjs/errors/BeaconError.js");\nObject.defineProperty(exports, "BeaconError", ({ enumerable: true, get: function () { return BeaconError_1.BeaconError; } }));\nvar BroadcastBeaconError_1 = __webpack_require__(/*! ./errors/BroadcastBeaconError */ "./packages/beacon-core/dist/cjs/errors/BroadcastBeaconError.js");\nObject.defineProperty(exports, "BroadcastBeaconError", ({ enumerable: true, get: function () { return BroadcastBeaconError_1.BroadcastBeaconError; } }));\nvar NetworkNotSupportedBeaconError_1 = __webpack_require__(/*! ./errors/NetworkNotSupportedBeaconError */ "./packages/beacon-core/dist/cjs/errors/NetworkNotSupportedBeaconError.js");\nObject.defineProperty(exports, "NetworkNotSupportedBeaconError", ({ enumerable: true, get: function () { return NetworkNotSupportedBeaconError_1.NetworkNotSupportedBeaconError; } }));\nvar NoAddressBeaconError_1 = __webpack_require__(/*! ./errors/NoAddressBeaconError */ "./packages/beacon-core/dist/cjs/errors/NoAddressBeaconError.js");\nObject.defineProperty(exports, "NoAddressBeaconError", ({ enumerable: true, get: function () { return NoAddressBeaconError_1.NoAddressBeaconError; } }));\nvar NoPrivateKeyBeaconError_1 = __webpack_require__(/*! ./errors/NoPrivateKeyBeaconError */ "./packages/beacon-core/dist/cjs/errors/NoPrivateKeyBeaconError.js");\nObject.defineProperty(exports, "NoPrivateKeyBeaconError", ({ enumerable: true, get: function () { return NoPrivateKeyBeaconError_1.NoPrivateKeyBeaconError; } }));\nvar NotGrantedBeaconError_1 = __webpack_require__(/*! ./errors/NotGrantedBeaconError */ "./packages/beacon-core/dist/cjs/errors/NotGrantedBeaconError.js");\nObject.defineProperty(exports, "NotGrantedBeaconError", ({ enumerable: true, get: function () { return NotGrantedBeaconError_1.NotGrantedBeaconError; } }));\nvar ParametersInvalidBeaconError_1 = __webpack_require__(/*! ./errors/ParametersInvalidBeaconError */ "./packages/beacon-core/dist/cjs/errors/ParametersInvalidBeaconError.js");\nObject.defineProperty(exports, "ParametersInvalidBeaconError", ({ enumerable: true, get: function () { return ParametersInvalidBeaconError_1.ParametersInvalidBeaconError; } }));\nvar TooManyOperationsBeaconError_1 = __webpack_require__(/*! ./errors/TooManyOperationsBeaconError */ "./packages/beacon-core/dist/cjs/errors/TooManyOperationsBeaconError.js");\nObject.defineProperty(exports, "TooManyOperationsBeaconError", ({ enumerable: true, get: function () { return TooManyOperationsBeaconError_1.TooManyOperationsBeaconError; } }));\nvar TransactionInvalidBeaconError_1 = __webpack_require__(/*! ./errors/TransactionInvalidBeaconError */ "./packages/beacon-core/dist/cjs/errors/TransactionInvalidBeaconError.js");\nObject.defineProperty(exports, "TransactionInvalidBeaconError", ({ enumerable: true, get: function () { return TransactionInvalidBeaconError_1.TransactionInvalidBeaconError; } }));\nvar UnknownBeaconError_1 = __webpack_require__(/*! ./errors/UnknownBeaconError */ "./packages/beacon-core/dist/cjs/errors/UnknownBeaconError.js");\nObject.defineProperty(exports, "UnknownBeaconError", ({ enumerable: true, get: function () { return UnknownBeaconError_1.UnknownBeaconError; } }));\nvar Transport_1 = __webpack_require__(/*! ./transports/Transport */ "./packages/beacon-core/dist/cjs/transports/Transport.js");\nObject.defineProperty(exports, "Transport", ({ enumerable: true, get: function () { return Transport_1.Transport; } }));\nvar ChromeStorage_1 = __webpack_require__(/*! ./storage/ChromeStorage */ "./packages/beacon-core/dist/cjs/storage/ChromeStorage.js");\nObject.defineProperty(exports, "ChromeStorage", ({ enumerable: true, get: function () { return ChromeStorage_1.ChromeStorage; } }));\nvar LocalStorage_1 = __webpack_require__(/*! ./storage/LocalStorage */ "./packages/beacon-core/dist/cjs/storage/LocalStorage.js");\nObject.defineProperty(exports, "LocalStorage", ({ enumerable: true, get: function () { return LocalStorage_1.LocalStorage; } }));\nvar getStorage_1 = __webpack_require__(/*! ./storage/getStorage */ "./packages/beacon-core/dist/cjs/storage/getStorage.js");\nObject.defineProperty(exports, "getStorage", ({ enumerable: true, get: function () { return getStorage_1.getStorage; } }));\nvar Serializer_1 = __webpack_require__(/*! ./Serializer */ "./packages/beacon-core/dist/cjs/Serializer.js");\nObject.defineProperty(exports, "Serializer", ({ enumerable: true, get: function () { return Serializer_1.Serializer; } }));\nvar constants_1 = __webpack_require__(/*! ./constants */ "./packages/beacon-core/dist/cjs/constants.js");\nObject.defineProperty(exports, "SDK_VERSION", ({ enumerable: true, get: function () { return constants_1.SDK_VERSION; } }));\nObject.defineProperty(exports, "BEACON_VERSION", ({ enumerable: true, get: function () { return constants_1.BEACON_VERSION; } }));\nvar AccountManager_1 = __webpack_require__(/*! ./managers/AccountManager */ "./packages/beacon-core/dist/cjs/managers/AccountManager.js");\nObject.defineProperty(exports, "AccountManager", ({ enumerable: true, get: function () { return AccountManager_1.AccountManager; } }));\nvar AppMetadataManager_1 = __webpack_require__(/*! ./managers/AppMetadataManager */ "./packages/beacon-core/dist/cjs/managers/AppMetadataManager.js");\nObject.defineProperty(exports, "AppMetadataManager", ({ enumerable: true, get: function () { return AppMetadataManager_1.AppMetadataManager; } }));\nvar PermissionManager_1 = __webpack_require__(/*! ./managers/PermissionManager */ "./packages/beacon-core/dist/cjs/managers/PermissionManager.js");\nObject.defineProperty(exports, "PermissionManager", ({ enumerable: true, get: function () { return PermissionManager_1.PermissionManager; } }));\nvar BeaconClient_1 = __webpack_require__(/*! ./clients/beacon-client/BeaconClient */ "./packages/beacon-core/dist/cjs/clients/beacon-client/BeaconClient.js");\nObject.defineProperty(exports, "BeaconClient", ({ enumerable: true, get: function () { return BeaconClient_1.BeaconClient; } }));\nvar get_account_identifier_1 = __webpack_require__(/*! ./utils/get-account-identifier */ "./packages/beacon-core/dist/cjs/utils/get-account-identifier.js");\nObject.defineProperty(exports, "getAccountIdentifier", ({ enumerable: true, get: function () { return get_account_identifier_1.getAccountIdentifier; } }));\nvar AbortedBeaconError_1 = __webpack_require__(/*! ./errors/AbortedBeaconError */ "./packages/beacon-core/dist/cjs/errors/AbortedBeaconError.js");\nObject.defineProperty(exports, "AbortedBeaconError", ({ enumerable: true, get: function () { return AbortedBeaconError_1.AbortedBeaconError; } }));\nvar get_sender_id_1 = __webpack_require__(/*! ./utils/get-sender-id */ "./packages/beacon-core/dist/cjs/utils/get-sender-id.js");\nObject.defineProperty(exports, "getSenderId", ({ enumerable: true, get: function () { return get_sender_id_1.getSenderId; } }));\nvar PeerManager_1 = __webpack_require__(/*! ./managers/PeerManager */ "./packages/beacon-core/dist/cjs/managers/PeerManager.js");\nObject.defineProperty(exports, "PeerManager", ({ enumerable: true, get: function () { return PeerManager_1.PeerManager; } }));\nvar MessageBasedClient_1 = __webpack_require__(/*! ./transports/clients/MessageBasedClient */ "./packages/beacon-core/dist/cjs/transports/clients/MessageBasedClient.js");\nObject.defineProperty(exports, "MessageBasedClient", ({ enumerable: true, get: function () { return MessageBasedClient_1.MessageBasedClient; } }));\nvar debug_1 = __webpack_require__(/*! ./debug */ "./packages/beacon-core/dist/cjs/debug.js");\nObject.defineProperty(exports, "setDebugEnabled", ({ enumerable: true, get: function () { return debug_1.setDebugEnabled; } }));\nObject.defineProperty(exports, "getDebugEnabled", ({ enumerable: true, get: function () { return debug_1.getDebugEnabled; } }));\n// import { EncryptPayloadRequest } from \'./types/beacon/messages/EncryptPayloadRequest\'\n// import { EncryptPayloadResponse } from \'./types/beacon/messages/EncryptPayloadResponse\'\n// import { EncryptionTypeNotSupportedBeaconError } from \'./errors/EncryptionTypeNotSupportedBeaconError\'\nvar SignatureTypeNotSupportedBeaconError_1 = __webpack_require__(/*! ./errors/SignatureTypeNotSupportedBeaconError */ "./packages/beacon-core/dist/cjs/errors/SignatureTypeNotSupportedBeaconError.js");\nObject.defineProperty(exports, "SignatureTypeNotSupportedBeaconError", ({ enumerable: true, get: function () { return SignatureTypeNotSupportedBeaconError_1.SignatureTypeNotSupportedBeaconError; } }));\nvar Logger_1 = __webpack_require__(/*! ./utils/Logger */ "./packages/beacon-core/dist/cjs/utils/Logger.js");\nObject.defineProperty(exports, "getLogger", ({ enumerable: true, get: function () { return Logger_1.getLogger; } }));\nObject.defineProperty(exports, "Logger", ({ enumerable: true, get: function () { return Logger_1.Logger; } }));\nObject.defineProperty(exports, "setLogger", ({ enumerable: true, get: function () { return Logger_1.setLogger; } }));\nvar MockWindow_1 = __webpack_require__(/*! ./MockWindow */ "./packages/beacon-core/dist/cjs/MockWindow.js");\nObject.defineProperty(exports, "windowRef", ({ enumerable: true, get: function () { return MockWindow_1.windowRef; } }));\nvar CommunicationClient_1 = __webpack_require__(/*! ./transports/clients/CommunicationClient */ "./packages/beacon-core/dist/cjs/transports/clients/CommunicationClient.js");\nObject.defineProperty(exports, "CommunicationClient", ({ enumerable: true, get: function () { return CommunicationClient_1.CommunicationClient; } }));\nvar constants_2 = __webpack_require__(/*! ./constants */ "./packages/beacon-core/dist/cjs/constants.js");\nObject.defineProperty(exports, "NOTIFICATION_ORACLE_URL", ({ enumerable: true, get: function () { return constants_2.NOTIFICATION_ORACLE_URL; } }));\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-core/dist/cjs/index.js?')},"./packages/beacon-core/dist/cjs/managers/AccountManager.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError("Generator is already executing.");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.AccountManager = void 0;\nvar beacon_types_1 = __webpack_require__(/*! @airgap/beacon-types */ "./packages/beacon-types/dist/cjs/index.js");\nvar StorageManager_1 = __webpack_require__(/*! ./StorageManager */ "./packages/beacon-core/dist/cjs/managers/StorageManager.js");\nvar PermissionValidator_1 = __webpack_require__(/*! ./PermissionValidator */ "./packages/beacon-core/dist/cjs/managers/PermissionValidator.js");\n/**\n * @internalapi\n *\n * The AccountManager provides CRUD functionality for account entities and persists them to the provided storage.\n */\nvar AccountManager = /** @class */ (function () {\n function AccountManager(storage) {\n this.storageManager = new StorageManager_1.StorageManager(storage, beacon_types_1.StorageKey.ACCOUNTS);\n }\n AccountManager.prototype.getAccounts = function () {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, this.storageManager.getAll()];\n case 1: return [2 /*return*/, (_a = _b.sent()) !== null && _a !== void 0 ? _a : []];\n }\n });\n });\n };\n AccountManager.prototype.getAccount = function (accountIdentifier) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.storageManager.getOne(function (account) { return account.accountIdentifier === accountIdentifier; })];\n });\n });\n };\n AccountManager.prototype.addAccount = function (accountInfo) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.storageManager.addOne(accountInfo, function (account) { return account.accountIdentifier === accountInfo.accountIdentifier; })];\n });\n });\n };\n AccountManager.prototype.removeAccount = function (accountIdentifier) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.storageManager.remove(function (account) { return account.accountIdentifier === accountIdentifier; })];\n });\n });\n };\n AccountManager.prototype.removeAccounts = function (accountIdentifiers) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.storageManager.remove(function (account) {\n return accountIdentifiers.includes(account.accountIdentifier);\n })];\n });\n });\n };\n AccountManager.prototype.removeAllAccounts = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.storageManager.removeAll()];\n });\n });\n };\n AccountManager.prototype.hasPermission = function (message) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, PermissionValidator_1.PermissionValidator.hasPermission(message, this.getAccount.bind(this), this.getAccounts.bind(this))];\n });\n });\n };\n return AccountManager;\n}());\nexports.AccountManager = AccountManager;\n//# sourceMappingURL=AccountManager.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-core/dist/cjs/managers/AccountManager.js?')},"./packages/beacon-core/dist/cjs/managers/AppMetadataManager.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError("Generator is already executing.");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.AppMetadataManager = void 0;\nvar beacon_types_1 = __webpack_require__(/*! @airgap/beacon-types */ "./packages/beacon-types/dist/cjs/index.js");\nvar StorageManager_1 = __webpack_require__(/*! ./StorageManager */ "./packages/beacon-core/dist/cjs/managers/StorageManager.js");\n/**\n * @internalapi\n *\n * The AppMetadataManager provides CRUD functionality for app-metadata entities and persists them to the provided storage.\n */\nvar AppMetadataManager = /** @class */ (function () {\n function AppMetadataManager(storage) {\n this.storageManager = new StorageManager_1.StorageManager(storage, beacon_types_1.StorageKey.APP_METADATA_LIST);\n }\n AppMetadataManager.prototype.getAppMetadataList = function () {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, this.storageManager.getAll()];\n case 1: return [2 /*return*/, (_a = _b.sent()) !== null && _a !== void 0 ? _a : []];\n }\n });\n });\n };\n AppMetadataManager.prototype.getAppMetadata = function (senderId) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.storageManager.getOne(function (appMetadata) { return appMetadata.senderId === senderId; })];\n });\n });\n };\n AppMetadataManager.prototype.addAppMetadata = function (appMetadata) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.storageManager.addOne(appMetadata, function (appMetadataElement) { return appMetadataElement.senderId === appMetadata.senderId; })];\n });\n });\n };\n AppMetadataManager.prototype.removeAppMetadata = function (senderId) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.storageManager.remove(function (appMetadata) { return appMetadata.senderId === senderId; })];\n });\n });\n };\n AppMetadataManager.prototype.removeAppMetadatas = function (senderIds) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.storageManager.remove(function (appMetadata) {\n return senderIds.includes(appMetadata.senderId);\n })];\n });\n });\n };\n AppMetadataManager.prototype.removeAllAppMetadata = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.storageManager.removeAll()];\n });\n });\n };\n return AppMetadataManager;\n}());\nexports.AppMetadataManager = AppMetadataManager;\n//# sourceMappingURL=AppMetadataManager.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-core/dist/cjs/managers/AppMetadataManager.js?')},"./packages/beacon-core/dist/cjs/managers/PeerManager.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError("Generator is already executing.");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.PeerManager = void 0;\nvar StorageManager_1 = __webpack_require__(/*! ./StorageManager */ "./packages/beacon-core/dist/cjs/managers/StorageManager.js");\n/**\n * @internalapi\n *\n * The PeerManager provides CRUD functionality for peer entities and persists them to the provided storage.\n */\nvar PeerManager = /** @class */ (function () {\n function PeerManager(storage, key) {\n this.storageManager = new StorageManager_1.StorageManager(storage, key);\n }\n PeerManager.prototype.hasPeer = function (publicKey) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.getPeer(publicKey)];\n case 1: return [2 /*return*/, (_a.sent()) ? true : false];\n }\n });\n });\n };\n PeerManager.prototype.getPeers = function () {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, this.storageManager.getAll()];\n case 1: return [2 /*return*/, (_a = _b.sent()) !== null && _a !== void 0 ? _a : []];\n }\n });\n });\n };\n PeerManager.prototype.getPeer = function (publicKey) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.storageManager.getOne(function (peer) { return peer.publicKey === publicKey; })];\n });\n });\n };\n PeerManager.prototype.addPeer = function (peerInfo) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.storageManager.addOne(peerInfo, function (peer) { return peer.publicKey === peerInfo.publicKey; })];\n });\n });\n };\n PeerManager.prototype.removePeer = function (publicKey) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.storageManager.remove(function (peer) { return peer.publicKey === publicKey; })];\n });\n });\n };\n PeerManager.prototype.removePeers = function (publicKeys) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.storageManager.remove(function (peer) { return publicKeys.includes(peer.publicKey); })];\n });\n });\n };\n PeerManager.prototype.removeAllPeers = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.storageManager.removeAll()];\n });\n });\n };\n return PeerManager;\n}());\nexports.PeerManager = PeerManager;\n//# sourceMappingURL=PeerManager.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-core/dist/cjs/managers/PeerManager.js?')},"./packages/beacon-core/dist/cjs/managers/PermissionManager.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError("Generator is already executing.");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.PermissionManager = void 0;\nvar beacon_types_1 = __webpack_require__(/*! @airgap/beacon-types */ "./packages/beacon-types/dist/cjs/index.js");\nvar StorageManager_1 = __webpack_require__(/*! ./StorageManager */ "./packages/beacon-core/dist/cjs/managers/StorageManager.js");\nvar PermissionValidator_1 = __webpack_require__(/*! ./PermissionValidator */ "./packages/beacon-core/dist/cjs/managers/PermissionValidator.js");\n/**\n * @internalapi\n *\n * The PermissionManager provides CRUD functionality for permission entities and persists them to the provided storage.\n */\nvar PermissionManager = /** @class */ (function () {\n function PermissionManager(storage) {\n this.storageManager = new StorageManager_1.StorageManager(storage, beacon_types_1.StorageKey.PERMISSION_LIST);\n }\n PermissionManager.prototype.getPermissions = function () {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, this.storageManager.getAll()];\n case 1: return [2 /*return*/, (_a = (_b.sent())) !== null && _a !== void 0 ? _a : []];\n }\n });\n });\n };\n PermissionManager.prototype.getPermission = function (accountIdentifier) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.storageManager.getOne(function (permission) { return permission.accountIdentifier === accountIdentifier; })];\n });\n });\n };\n PermissionManager.prototype.addPermission = function (permissionInfo) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.storageManager.addOne(permissionInfo, function (permission) {\n return permission.accountIdentifier === permissionInfo.accountIdentifier &&\n permission.senderId === permissionInfo.senderId;\n })];\n });\n });\n };\n PermissionManager.prototype.removePermission = function (accountIdentifier) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.storageManager.remove(function (permissionInfo) { return permissionInfo.accountIdentifier === accountIdentifier; })];\n });\n });\n };\n PermissionManager.prototype.removePermissions = function (accountIdentifiers) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.storageManager.remove(function (permission) {\n return accountIdentifiers.includes(permission.accountIdentifier);\n })];\n });\n });\n };\n PermissionManager.prototype.removeAllPermissions = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.storageManager.removeAll()];\n });\n });\n };\n PermissionManager.prototype.hasPermission = function (message) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, PermissionValidator_1.PermissionValidator.hasPermission(message, this.getPermission.bind(this), this.getPermissions.bind(this))];\n });\n });\n };\n return PermissionManager;\n}());\nexports.PermissionManager = PermissionManager;\n//# sourceMappingURL=PermissionManager.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-core/dist/cjs/managers/PermissionManager.js?')},"./packages/beacon-core/dist/cjs/managers/PermissionValidator.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError("Generator is already executing.");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.PermissionValidator = void 0;\nvar beacon_types_1 = __webpack_require__(/*! @airgap/beacon-types */ "./packages/beacon-types/dist/cjs/index.js");\nvar get_account_identifier_1 = __webpack_require__(/*! ../utils/get-account-identifier */ "./packages/beacon-core/dist/cjs/utils/get-account-identifier.js");\n/**\n * @internalapi\n *\n * The PermissionValidator is used to check if permissions for a certain message type have been given\n */\nvar PermissionValidator = /** @class */ (function () {\n function PermissionValidator() {\n }\n /**\n * Check if permissions were given for a certain message type.\n *\n * PermissionRequest and BroadcastRequest will always return true.\n *\n * @param message Beacon Message\n */\n PermissionValidator.hasPermission = function (message, getOne, getAll) {\n return __awaiter(this, void 0, void 0, function () {\n var _a, accountIdentifier, permission, permissions, filteredPermissions;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _a = message.type;\n switch (_a) {\n case beacon_types_1.BeaconMessageType.PermissionRequest: return [3 /*break*/, 1];\n case beacon_types_1.BeaconMessageType.BroadcastRequest: return [3 /*break*/, 1];\n case beacon_types_1.BeaconMessageType.OperationRequest: return [3 /*break*/, 2];\n case beacon_types_1.BeaconMessageType.SignPayloadRequest: return [3 /*break*/, 5];\n }\n return [3 /*break*/, 7];\n case 1:\n {\n return [2 /*return*/, true];\n }\n _b.label = 2;\n case 2: return [4 /*yield*/, (0, get_account_identifier_1.getAccountIdentifier)(message.sourceAddress, message.network)];\n case 3:\n accountIdentifier = _b.sent();\n return [4 /*yield*/, getOne(accountIdentifier)];\n case 4:\n permission = _b.sent();\n if (!permission) {\n return [2 /*return*/, false];\n }\n return [2 /*return*/, permission.scopes.includes(beacon_types_1.PermissionScope.OPERATION_REQUEST)];\n case 5: return [4 /*yield*/, getAll()];\n case 6:\n permissions = _b.sent();\n filteredPermissions = permissions.filter(function (permission) { return permission.address === message.sourceAddress; });\n if (filteredPermissions.length === 0) {\n return [2 /*return*/, false];\n }\n return [2 /*return*/, filteredPermissions.some(function (permission) {\n return permission.scopes.includes(beacon_types_1.PermissionScope.SIGN);\n })];\n case 7: throw new Error(\'Message not handled\');\n }\n });\n });\n };\n return PermissionValidator;\n}());\nexports.PermissionValidator = PermissionValidator;\n//# sourceMappingURL=PermissionValidator.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-core/dist/cjs/managers/PermissionValidator.js?')},"./packages/beacon-core/dist/cjs/managers/StorageManager.js":function(__unused_webpack_module,exports){"use strict";eval('\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError("Generator is already executing.");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.StorageManager = void 0;\n/* eslint-disable prefer-arrow/prefer-arrow-functions */\nfunction fixArrayType(array) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return array;\n}\n/* eslint-enable prefer-arrow/prefer-arrow-functions */\n/**\n * @internalapi\n *\n * The StorageManager provides CRUD functionality for specific entities and persists them to the provided storage.\n */\nvar StorageManager = /** @class */ (function () {\n function StorageManager(storage, storageKey) {\n this.storage = storage;\n this.storageKey = storageKey;\n }\n StorageManager.prototype.getAll = function () {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, this.storage.get(this.storageKey)];\n case 1: return [2 /*return*/, (_a = _b.sent()) !== null && _a !== void 0 ? _a : []];\n }\n });\n });\n };\n StorageManager.prototype.getOne = function (predicate) {\n return __awaiter(this, void 0, void 0, function () {\n var entities;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.storage.get(this.storageKey)];\n case 1:\n entities = _a.sent();\n return [2 /*return*/, fixArrayType(entities).find(predicate)];\n }\n });\n });\n };\n StorageManager.prototype.addOne = function (element, predicate, overwrite) {\n if (overwrite === void 0) { overwrite = true; }\n return __awaiter(this, void 0, void 0, function () {\n var entities, i;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.storage.get(this.storageKey)];\n case 1:\n entities = _a.sent();\n if (!fixArrayType(entities).some(predicate)) {\n fixArrayType(entities).push(element);\n }\n else if (overwrite) {\n for (i = 0; i < entities.length; i++) {\n if (predicate(fixArrayType(entities)[i])) {\n entities[i] = element;\n }\n }\n }\n return [2 /*return*/, this.storage.set(this.storageKey, entities)];\n }\n });\n });\n };\n StorageManager.prototype.remove = function (predicate) {\n return __awaiter(this, void 0, void 0, function () {\n var entities, filteredEntities;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.storage.get(this.storageKey)];\n case 1:\n entities = _a.sent();\n filteredEntities = fixArrayType(entities).filter(function (entity) { return !predicate(entity); });\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return [2 /*return*/, this.storage.set(this.storageKey, filteredEntities)];\n }\n });\n });\n };\n StorageManager.prototype.removeAll = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.storage.delete(this.storageKey)];\n });\n });\n };\n return StorageManager;\n}());\nexports.StorageManager = StorageManager;\n//# sourceMappingURL=StorageManager.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-core/dist/cjs/managers/StorageManager.js?')},"./packages/beacon-core/dist/cjs/storage/ChromeStorage.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError("Generator is already executing.");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.ChromeStorage = void 0;\nvar beacon_types_1 = __webpack_require__(/*! @airgap/beacon-types */ "./packages/beacon-types/dist/cjs/index.js");\n/**\n * @internalapi\n *\n * A storage that can be used in chrome extensions\n */\nvar ChromeStorage = /** @class */ (function () {\n function ChromeStorage() {\n }\n ChromeStorage.isSupported = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, (typeof window !== \'undefined\' &&\n typeof chrome !== \'undefined\' &&\n Boolean(chrome) &&\n Boolean(chrome.runtime) &&\n Boolean(chrome.runtime.id))];\n });\n });\n };\n ChromeStorage.prototype.get = function (key) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, new Promise(function (resolve) {\n chrome.storage.local.get(null, function (storageContent) {\n if (storageContent[key]) {\n resolve(storageContent[key]);\n }\n else {\n if (typeof beacon_types_1.defaultValues[key] === \'object\') {\n resolve(JSON.parse(JSON.stringify(beacon_types_1.defaultValues[key])));\n }\n else {\n resolve(beacon_types_1.defaultValues[key]);\n }\n }\n });\n })];\n });\n });\n };\n ChromeStorage.prototype.set = function (key, value) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, new Promise(function (resolve) {\n var _a;\n chrome.storage.local.set((_a = {}, _a[key] = value, _a), function () {\n resolve();\n });\n })];\n });\n });\n };\n ChromeStorage.prototype.delete = function (key) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, new Promise(function (resolve) {\n var _a;\n chrome.storage.local.set((_a = {}, _a[key] = undefined, _a), function () {\n resolve();\n });\n })];\n });\n });\n };\n return ChromeStorage;\n}());\nexports.ChromeStorage = ChromeStorage;\n//# sourceMappingURL=ChromeStorage.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-core/dist/cjs/storage/ChromeStorage.js?')},"./packages/beacon-core/dist/cjs/storage/LocalStorage.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError("Generator is already executing.");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.LocalStorage = void 0;\nvar beacon_types_1 = __webpack_require__(/*! @airgap/beacon-types */ "./packages/beacon-types/dist/cjs/index.js");\n/**\n * @internalapi\n *\n * A storage that can be used in the browser\n */\nvar LocalStorage = /** @class */ (function () {\n function LocalStorage(prefix) {\n this.prefix = prefix;\n }\n LocalStorage.isSupported = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, Promise.resolve(Boolean(typeof window !== \'undefined\') && Boolean(window.localStorage))];\n });\n });\n };\n LocalStorage.prototype.get = function (key) {\n return __awaiter(this, void 0, void 0, function () {\n var value;\n return __generator(this, function (_a) {\n value = localStorage.getItem(this.getPrefixedKey(key));\n if (!value) {\n if (typeof beacon_types_1.defaultValues[key] === \'object\') {\n return [2 /*return*/, JSON.parse(JSON.stringify(beacon_types_1.defaultValues[key]))];\n }\n else {\n return [2 /*return*/, beacon_types_1.defaultValues[key]];\n }\n }\n else {\n try {\n return [2 /*return*/, JSON.parse(value)];\n }\n catch (jsonParseError) {\n return [2 /*return*/, value]; // TODO: Validate storage\n }\n }\n return [2 /*return*/];\n });\n });\n };\n LocalStorage.prototype.set = function (key, value) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (typeof value === \'string\') {\n return [2 /*return*/, localStorage.setItem(this.getPrefixedKey(key), value)];\n }\n else {\n return [2 /*return*/, localStorage.setItem(this.getPrefixedKey(key), JSON.stringify(value))];\n }\n return [2 /*return*/];\n });\n });\n };\n LocalStorage.prototype.delete = function (key) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, Promise.resolve(localStorage.removeItem(this.getPrefixedKey(key)))];\n });\n });\n };\n LocalStorage.prototype.getPrefixedKey = function (key) {\n return this.prefix ? "".concat(this.prefix, "-").concat(key) : key;\n };\n return LocalStorage;\n}());\nexports.LocalStorage = LocalStorage;\n//# sourceMappingURL=LocalStorage.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-core/dist/cjs/storage/LocalStorage.js?')},"./packages/beacon-core/dist/cjs/storage/getStorage.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError("Generator is already executing.");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.getStorage = void 0;\nvar Logger_1 = __webpack_require__(/*! ../utils/Logger */ "./packages/beacon-core/dist/cjs/utils/Logger.js");\nvar __1 = __webpack_require__(/*! .. */ "./packages/beacon-core/dist/cjs/index.js");\nvar logger = new Logger_1.Logger(\'STORAGE\');\n/**\n * Get a supported storage on this platform\n */\nvar getStorage = function () { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, __1.ChromeStorage.isSupported()];\n case 1:\n if (!_a.sent()) return [3 /*break*/, 2];\n logger.log(\'getStorage\', \'USING CHROME STORAGE\');\n return [2 /*return*/, new __1.ChromeStorage()];\n case 2: return [4 /*yield*/, __1.LocalStorage.isSupported()];\n case 3:\n if (_a.sent()) {\n logger.log(\'getStorage\', \'USING LOCAL STORAGE\');\n return [2 /*return*/, new __1.LocalStorage()];\n }\n else {\n throw new Error(\'no storage type supported\');\n }\n _a.label = 4;\n case 4: return [2 /*return*/];\n }\n });\n}); };\nexports.getStorage = getStorage;\n//# sourceMappingURL=getStorage.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-core/dist/cjs/storage/getStorage.js?')},"./packages/beacon-core/dist/cjs/transports/Transport.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError("Generator is already executing.");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.Transport = void 0;\nvar Logger_1 = __webpack_require__(/*! ../utils/Logger */ "./packages/beacon-core/dist/cjs/utils/Logger.js");\nvar beacon_types_1 = __webpack_require__(/*! @airgap/beacon-types */ "./packages/beacon-types/dist/cjs/index.js");\nvar logger = new Logger_1.Logger(\'Transport\');\n/**\n * @internalapi\n *\n *\n */\nvar Transport = /** @class */ (function () {\n function Transport(name, client, peerManager) {\n /**\n * The type of the transport\n */\n this.type = beacon_types_1.TransportType.POST_MESSAGE;\n /**\n * The status of the transport\n */\n this._isConnected = beacon_types_1.TransportStatus.NOT_CONNECTED;\n /**\n * The listeners that will be notified when new messages are coming in\n */\n this.listeners = [];\n this.name = name;\n this.client = client;\n this.peerManager = peerManager;\n }\n Transport.prototype.setEventHandler = function (event, fun) {\n this.client.eventHandlers.set(event, fun);\n };\n Object.defineProperty(Transport.prototype, "connectionStatus", {\n /**\n * Return the status of the connection\n */\n get: function () {\n return this._isConnected;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Returns a promise that resolves to true if the transport is available, false if it is not\n */\n Transport.isAvailable = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, Promise.resolve(false)];\n });\n });\n };\n /**\n * Connect the transport\n */\n Transport.prototype.connect = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n logger.log(\'connect\');\n this._isConnected = beacon_types_1.TransportStatus.CONNECTED;\n return [2 /*return*/];\n });\n });\n };\n /**\n * Disconnect the transport\n */\n Transport.prototype.disconnect = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n logger.log(\'disconnect\');\n this._isConnected = beacon_types_1.TransportStatus.NOT_CONNECTED;\n return [2 /*return*/];\n });\n });\n };\n /**\n * Send a message through the transport\n *\n * @param message The message to send\n * @param recipient The recipient of the message\n */\n Transport.prototype.send = function (message, peer) {\n return __awaiter(this, void 0, void 0, function () {\n var knownPeers, promises;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!peer) return [3 /*break*/, 1];\n return [2 /*return*/, this.client.sendMessage(message, peer)];\n case 1: return [4 /*yield*/, this.getPeers()\n // A broadcast request has to be sent everywhere.\n ];\n case 2:\n knownPeers = _a.sent();\n promises = knownPeers.map(function (peerEl) { return _this.client.sendMessage(message, peerEl); });\n return [4 /*yield*/, Promise.all(promises)];\n case 3: return [2 /*return*/, (_a.sent())[0]];\n }\n });\n });\n };\n /**\n * Add a listener to be called when a new message is received\n *\n * @param listener The listener that will be registered\n */\n Transport.prototype.addListener = function (listener) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n logger.debug(\'addListener\');\n this.listeners.push(listener);\n return [2 /*return*/];\n });\n });\n };\n /**\n * Remove a listener\n *\n * @param listener\n */\n Transport.prototype.removeListener = function (listener) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n logger.log(\'removeListener\');\n this.listeners = this.listeners.filter(function (element) { return element !== listener; });\n return [2 /*return*/];\n });\n });\n };\n Transport.prototype.getPeers = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.peerManager.getPeers()]; // TODO: Fix type\n });\n });\n };\n Transport.prototype.addPeer = function (newPeer, _sendPairingResponse) {\n if (_sendPairingResponse === void 0) { _sendPairingResponse = true; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n logger.log(\'addPeer\', \'adding peer\', newPeer);\n return [4 /*yield*/, this.peerManager.addPeer(newPeer)]; // TODO: Fix type\n case 1:\n _a.sent(); // TODO: Fix type\n return [4 /*yield*/, this.listen(newPeer.publicKey)];\n case 2:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n Transport.prototype.removePeer = function (peerToBeRemoved) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n logger.log(\'removePeer\', \'removing peer\', peerToBeRemoved);\n return [4 /*yield*/, this.peerManager.removePeer(peerToBeRemoved.publicKey)];\n case 1:\n _a.sent();\n if (!this.client) return [3 /*break*/, 3];\n return [4 /*yield*/, this.client.unsubscribeFromEncryptedMessage(peerToBeRemoved.publicKey)];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n Transport.prototype.removeAllPeers = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n logger.log(\'removeAllPeers\');\n return [4 /*yield*/, this.peerManager.removeAllPeers()];\n case 1:\n _a.sent();\n if (!this.client) return [3 /*break*/, 3];\n return [4 /*yield*/, this.client.unsubscribeFromEncryptedMessages()];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Notify the listeners when a new message comes in\n *\n * @param message Message\n * @param connectionInfo Context info about the connection\n */\n Transport.prototype.notifyListeners = function (message, connectionInfo) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (this.listeners.length === 0) {\n logger.warn(\'notifyListeners\', \'0 listeners notified!\', this);\n }\n else {\n logger.log(\'notifyListeners\', "Notifying ".concat(this.listeners.length, " listeners"), this);\n }\n this.listeners.forEach(function (listener) {\n listener(message, connectionInfo);\n });\n return [2 /*return*/];\n });\n });\n };\n return Transport;\n}());\nexports.Transport = Transport;\n//# sourceMappingURL=Transport.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-core/dist/cjs/transports/Transport.js?')},"./packages/beacon-core/dist/cjs/transports/clients/CommunicationClient.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('/* provided dependency */ var Buffer = __webpack_require__(/*! buffer */ "./node_modules/buffer/index.js")["Buffer"];\n\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError("Generator is already executing.");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.CommunicationClient = void 0;\nvar beacon_utils_1 = __webpack_require__(/*! @airgap/beacon-utils */ "./packages/beacon-utils/dist/cjs/index.js");\nvar ed25519_1 = __webpack_require__(/*! @stablelib/ed25519 */ "./node_modules/@stablelib/ed25519/lib/ed25519.js");\nvar x25519_session_1 = __webpack_require__(/*! @stablelib/x25519-session */ "./node_modules/@stablelib/x25519-session/lib/x25519-session.js");\n/**\n * @internalapi\n *\n *\n */\nvar CommunicationClient = /** @class */ (function () {\n function CommunicationClient(keyPair) {\n this.keyPair = keyPair;\n this.eventHandlers = new Map();\n }\n /**\n * Get the public key\n */\n CommunicationClient.prototype.getPublicKey = function () {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_b) {\n return [2 /*return*/, (0, beacon_utils_1.toHex)((_a = this.keyPair) === null || _a === void 0 ? void 0 : _a.publicKey)];\n });\n });\n };\n /**\n * get the public key hash\n */\n CommunicationClient.prototype.getPublicKeyHash = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, (0, beacon_utils_1.getHexHash)(this.keyPair.publicKey)];\n });\n });\n };\n /**\n * Create a cryptobox server\n *\n * @param otherPublicKey\n * @param selfKeypair\n */\n CommunicationClient.prototype.createCryptoBoxServer = function (otherPublicKey, selfKeypair) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, (0, x25519_session_1.serverSessionKeys)({\n publicKey: (0, ed25519_1.convertPublicKeyToX25519)(selfKeypair.publicKey),\n secretKey: (0, ed25519_1.convertSecretKeyToX25519)(selfKeypair.secretKey)\n }, (0, ed25519_1.convertPublicKeyToX25519)(Buffer.from(otherPublicKey, \'hex\')))];\n });\n });\n };\n /**\n * Create a cryptobox client\n *\n * @param otherPublicKey\n * @param selfKeypair\n */\n CommunicationClient.prototype.createCryptoBoxClient = function (otherPublicKey, selfKeypair) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, (0, x25519_session_1.clientSessionKeys)({\n publicKey: (0, ed25519_1.convertPublicKeyToX25519)(selfKeypair.publicKey),\n secretKey: (0, ed25519_1.convertSecretKeyToX25519)(selfKeypair.secretKey)\n }, (0, ed25519_1.convertPublicKeyToX25519)(Buffer.from(otherPublicKey, \'hex\')))];\n });\n });\n };\n /**\n * Encrypt a message for a specific publicKey (receiver, asymmetric)\n *\n * @param recipientPublicKey\n * @param message\n */\n CommunicationClient.prototype.encryptMessageAsymmetric = function (recipientPublicKey, message) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, (0, beacon_utils_1.sealCryptobox)(message, Buffer.from(recipientPublicKey, \'hex\'))];\n });\n });\n };\n return CommunicationClient;\n}());\nexports.CommunicationClient = CommunicationClient;\n//# sourceMappingURL=CommunicationClient.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-core/dist/cjs/transports/clients/CommunicationClient.js?')},"./packages/beacon-core/dist/cjs/transports/clients/MessageBasedClient.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('/* provided dependency */ var Buffer = __webpack_require__(/*! buffer */ "./node_modules/buffer/index.js")["Buffer"];\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== "function" && b !== null)\n throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError("Generator is already executing.");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.MessageBasedClient = void 0;\nvar constants_1 = __webpack_require__(/*! ../../constants */ "./packages/beacon-core/dist/cjs/constants.js");\nvar beacon_utils_1 = __webpack_require__(/*! @airgap/beacon-utils */ "./packages/beacon-utils/dist/cjs/index.js");\nvar CommunicationClient_1 = __webpack_require__(/*! ./CommunicationClient */ "./packages/beacon-core/dist/cjs/transports/clients/CommunicationClient.js");\n/**\n * @internalapi\n *\n *\n */\nvar MessageBasedClient = /** @class */ (function (_super) {\n __extends(MessageBasedClient, _super);\n function MessageBasedClient(name, keyPair) {\n var _this = _super.call(this, keyPair) || this;\n _this.name = name;\n _this.init().catch(console.error);\n return _this;\n }\n /**\n * start the client and make sure all dependencies are ready\n */\n MessageBasedClient.prototype.start = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, Promise.resolve()];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Get the pairing request information. This will be shared with the peer during the connection setup\n */\n MessageBasedClient.prototype.getPairingRequestInfo = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _a = {};\n return [4 /*yield*/, (0, beacon_utils_1.generateGUID)()];\n case 1:\n _a.id = _b.sent(),\n _a.type = \'postmessage-pairing-request\',\n _a.name = this.name,\n _a.version = constants_1.BEACON_VERSION;\n return [4 /*yield*/, this.getPublicKey()];\n case 2: return [2 /*return*/, (_a.publicKey = _b.sent(),\n _a)];\n }\n });\n });\n };\n /**\n * Get the pairing response information. This will be shared with the peer during the connection setup\n */\n MessageBasedClient.prototype.getPairingResponseInfo = function (request) {\n return __awaiter(this, void 0, void 0, function () {\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _a = {\n id: request.id,\n type: \'postmessage-pairing-response\',\n name: this.name,\n version: request.version\n };\n return [4 /*yield*/, this.getPublicKey()];\n case 1: return [2 /*return*/, (_a.publicKey = _b.sent(),\n _a)];\n }\n });\n });\n };\n /**\n * Unsubscribe from encrypted messages from a specific peer\n *\n * @param senderPublicKey\n */\n MessageBasedClient.prototype.unsubscribeFromEncryptedMessage = function (senderPublicKey) {\n return __awaiter(this, void 0, void 0, function () {\n var listener;\n return __generator(this, function (_a) {\n listener = this.activeListeners.get(senderPublicKey);\n if (!listener) {\n return [2 /*return*/];\n }\n this.activeListeners.delete(senderPublicKey);\n return [2 /*return*/];\n });\n });\n };\n /**\n * Unsubscribe from all encrypted messages\n */\n MessageBasedClient.prototype.unsubscribeFromEncryptedMessages = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n this.activeListeners.clear();\n return [2 /*return*/];\n });\n });\n };\n /**\n * Decrypt a message from a specific peer\n *\n * @param senderPublicKey\n * @param payload\n */\n MessageBasedClient.prototype.decryptMessage = function (senderPublicKey, payload) {\n return __awaiter(this, void 0, void 0, function () {\n var sharedKey, hexPayload, decryptionError_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.createCryptoBoxServer(senderPublicKey, this.keyPair)];\n case 1:\n sharedKey = _a.sent();\n hexPayload = Buffer.from(payload, \'hex\');\n if (!(hexPayload.length >= beacon_utils_1.secretbox_NONCEBYTES + beacon_utils_1.secretbox_MACBYTES)) return [3 /*break*/, 5];\n _a.label = 2;\n case 2:\n _a.trys.push([2, 4, , 5]);\n return [4 /*yield*/, (0, beacon_utils_1.decryptCryptoboxPayload)(hexPayload, sharedKey.receive)];\n case 3: return [2 /*return*/, _a.sent()];\n case 4:\n decryptionError_1 = _a.sent();\n return [3 /*break*/, 5];\n case 5: throw new Error(\'Could not decrypt message\');\n }\n });\n });\n };\n /**\n * Encrypt a message for a specific publicKey (receiver)\n *\n * @param recipientPublicKey\n * @param message\n */\n MessageBasedClient.prototype.encryptMessage = function (recipientPublicKey, message) {\n return __awaiter(this, void 0, void 0, function () {\n var sharedKey;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.createCryptoBoxClient(recipientPublicKey, this.keyPair)];\n case 1:\n sharedKey = _a.sent();\n return [2 /*return*/, (0, beacon_utils_1.encryptCryptoboxPayload)(message, sharedKey.send)];\n }\n });\n });\n };\n return MessageBasedClient;\n}(CommunicationClient_1.CommunicationClient));\nexports.MessageBasedClient = MessageBasedClient;\n//# sourceMappingURL=MessageBasedClient.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-core/dist/cjs/transports/clients/MessageBasedClient.js?')},"./packages/beacon-core/dist/cjs/utils/Logger.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getLogger = exports.setLogger = exports.Logger = exports.InternalLogger = void 0;\nvar debug_1 = __webpack_require__(/*! ../debug */ \"./packages/beacon-core/dist/cjs/debug.js\");\n/**\n * The logger that is used internally\n */\nvar InternalLogger = /** @class */ (function () {\n function InternalLogger() {\n }\n InternalLogger.prototype.debug = function (name, method) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n this._log('debug', name, method, args);\n };\n InternalLogger.prototype.log = function (name, method) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n this._log('log', name, method, args);\n };\n InternalLogger.prototype.warn = function (name, method) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n this._log('warn', name, method, args);\n };\n InternalLogger.prototype.error = function (name, method) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n this._log('error', name, method, args);\n };\n InternalLogger.prototype.time = function (start, label) {\n start ? console.time(label) : console.timeEnd(label);\n };\n InternalLogger.prototype.timeLog = function (name, method) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n this._log('timeLog', name, method, args);\n };\n InternalLogger.prototype._log = function (type, name, method, args) {\n if (args === void 0) { args = []; }\n if (!(0, debug_1.getDebugEnabled)()) {\n return;\n }\n var groupText = \"[BEACON] \".concat(new Date().toISOString(), \" [\").concat(name, \"](\").concat(method, \")\");\n var data = args;\n if (args[0] && typeof args[0] === 'string') {\n groupText += \" \".concat(args[0]);\n data = args.slice(1);\n }\n switch (type) {\n case 'error':\n console.group(groupText);\n console.error.apply(console, data);\n break;\n case 'warn':\n console.group(groupText);\n console.warn.apply(console, data);\n break;\n case 'debug':\n console.groupCollapsed(groupText);\n console.debug.apply(console, data);\n break;\n case 'timeLog':\n console.group(groupText);\n console.timeLog.apply(console, data);\n break;\n default:\n console.group(groupText);\n console.log.apply(console, data);\n }\n console.groupEnd();\n // echo.group(echo.asWarning(`[BEACON] ${message}`))\n // echo.log(echo.asWarning(`[${this.name}]`), echo.asAlert(`(${method})`), ...args)\n // echo.groupEnd()\n };\n return InternalLogger;\n}());\nexports.InternalLogger = InternalLogger;\nvar Logger = /** @class */ (function () {\n function Logger(service) {\n this.name = service;\n }\n Logger.prototype.debug = function (method) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n logger.debug(this.name, method, args);\n };\n Logger.prototype.log = function (method) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n logger.log(this.name, method, args);\n };\n Logger.prototype.warn = function (method) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n logger.warn(this.name, method, args);\n };\n Logger.prototype.error = function (method) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n logger.error(this.name, method, args);\n };\n Logger.prototype.time = function (start, label) {\n logger.time(start, label);\n };\n Logger.prototype.timeLog = function (method) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n logger.timeLog(method, args);\n };\n return Logger;\n}());\nexports.Logger = Logger;\nvar loggerWrapper = new Logger('');\nvar logger = new InternalLogger();\nvar setLogger = function (newLogger) {\n logger = newLogger;\n};\nexports.setLogger = setLogger;\nvar getLogger = function () { return loggerWrapper; };\nexports.getLogger = getLogger;\n//# sourceMappingURL=Logger.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-core/dist/cjs/utils/Logger.js?")},"./packages/beacon-core/dist/cjs/utils/assert-never.js":(__unused_webpack_module,exports)=>{"use strict";eval('\n/* eslint-disable prefer-arrow/prefer-arrow-functions */\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.assertNever = void 0;\n/**\n * A helper function to make sure if/elses and switch/cases are exhaustive\n *\n * @param empty The data that has to be empty\n */\nfunction assertNever(empty) {\n return empty;\n}\nexports.assertNever = assertNever;\n/* eslint-enable prefer-arrow/prefer-arrow-functions */\n//# sourceMappingURL=assert-never.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-core/dist/cjs/utils/assert-never.js?')},"./packages/beacon-core/dist/cjs/utils/get-account-identifier.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('/* provided dependency */ var Buffer = __webpack_require__(/*! buffer */ "./node_modules/buffer/index.js")["Buffer"];\n\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError("Generator is already executing.");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.getAccountIdentifier = void 0;\nvar bs58check = __webpack_require__(/*! bs58check */ "./node_modules/bs58check/index.js");\nvar blake2b_1 = __webpack_require__(/*! @stablelib/blake2b */ "./node_modules/@stablelib/blake2b/lib/blake2b.js");\nvar utf8_1 = __webpack_require__(/*! @stablelib/utf8 */ "./node_modules/@stablelib/utf8/lib/utf8.js");\n/**\n * @internalapi\n *\n * Generate a deterministic account identifier based on an address and a network\n *\n * @param address\n * @param network\n */\nvar getAccountIdentifier = function (address, network) { return __awaiter(void 0, void 0, void 0, function () {\n var data, buffer;\n return __generator(this, function (_a) {\n data = [address, network.type];\n if (network.name) {\n data.push("name:".concat(network.name));\n }\n if (network.rpcUrl) {\n data.push("rpc:".concat(network.rpcUrl));\n }\n buffer = Buffer.from((0, blake2b_1.hash)((0, utf8_1.encode)(data.join(\'-\')), 10));\n return [2 /*return*/, bs58check.encode(buffer)];\n });\n}); };\nexports.getAccountIdentifier = getAccountIdentifier;\n//# sourceMappingURL=get-account-identifier.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-core/dist/cjs/utils/get-account-identifier.js?')},"./packages/beacon-core/dist/cjs/utils/get-sender-id.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('/* provided dependency */ var Buffer = __webpack_require__(/*! buffer */ "./node_modules/buffer/index.js")["Buffer"];\n\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError("Generator is already executing.");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.getSenderId = void 0;\nvar blake2b_1 = __webpack_require__(/*! @stablelib/blake2b */ "./node_modules/@stablelib/blake2b/lib/blake2b.js");\nvar bs58check = __webpack_require__(/*! bs58check */ "./node_modules/bs58check/index.js");\n/**\n * @internalapi\n *\n * Generate a deterministic sender identifier based on a public key\n *\n * @param publicKey\n */\nvar getSenderId = function (publicKey) { return __awaiter(void 0, void 0, void 0, function () {\n var buffer;\n return __generator(this, function (_a) {\n buffer = Buffer.from((0, blake2b_1.hash)(Buffer.from(publicKey, \'hex\'), 5));\n return [2 /*return*/, bs58check.encode(buffer)];\n });\n}); };\nexports.getSenderId = getSenderId;\n//# sourceMappingURL=get-sender-id.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-core/dist/cjs/utils/get-sender-id.js?')},"./packages/beacon-dapp/dist/cjs/beacon-message-events.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\nvar _a;\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.messageEvents = void 0;\nvar events_1 = __webpack_require__(/*! ./events */ "./packages/beacon-dapp/dist/cjs/events.js");\nvar beacon_types_1 = __webpack_require__(/*! @airgap/beacon-types */ "./packages/beacon-types/dist/cjs/index.js");\nexports.messageEvents = (_a = {},\n _a[beacon_types_1.BeaconMessageType.BlockchainRequest] = {\n sent: events_1.BeaconEvent.UNKNOWN,\n success: events_1.BeaconEvent.UNKNOWN,\n error: events_1.BeaconEvent.UNKNOWN\n },\n _a[beacon_types_1.BeaconMessageType.BlockchainResponse] = {\n sent: events_1.BeaconEvent.UNKNOWN,\n success: events_1.BeaconEvent.UNKNOWN,\n error: events_1.BeaconEvent.UNKNOWN\n },\n _a[beacon_types_1.BeaconMessageType.PermissionRequest] = {\n sent: events_1.BeaconEvent.PERMISSION_REQUEST_SENT,\n success: events_1.BeaconEvent.PERMISSION_REQUEST_SUCCESS,\n error: events_1.BeaconEvent.PERMISSION_REQUEST_ERROR\n },\n _a[beacon_types_1.BeaconMessageType.PermissionResponse] = {\n sent: events_1.BeaconEvent.UNKNOWN,\n success: events_1.BeaconEvent.UNKNOWN,\n error: events_1.BeaconEvent.UNKNOWN\n },\n _a[beacon_types_1.BeaconMessageType.OperationRequest] = {\n sent: events_1.BeaconEvent.OPERATION_REQUEST_SENT,\n success: events_1.BeaconEvent.OPERATION_REQUEST_SUCCESS,\n error: events_1.BeaconEvent.OPERATION_REQUEST_ERROR\n },\n _a[beacon_types_1.BeaconMessageType.OperationResponse] = {\n sent: events_1.BeaconEvent.UNKNOWN,\n success: events_1.BeaconEvent.UNKNOWN,\n error: events_1.BeaconEvent.UNKNOWN\n },\n _a[beacon_types_1.BeaconMessageType.SignPayloadRequest] = {\n sent: events_1.BeaconEvent.SIGN_REQUEST_SENT,\n success: events_1.BeaconEvent.SIGN_REQUEST_SUCCESS,\n error: events_1.BeaconEvent.SIGN_REQUEST_ERROR\n },\n _a[beacon_types_1.BeaconMessageType.SignPayloadResponse] = {\n sent: events_1.BeaconEvent.UNKNOWN,\n success: events_1.BeaconEvent.UNKNOWN,\n error: events_1.BeaconEvent.UNKNOWN\n },\n // TODO: ENCRYPTION\n // [BeaconMessageType.EncryptPayloadRequest]: {\n // sent: BeaconEvent.ENCRYPT_REQUEST_SENT,\n // success: BeaconEvent.ENCRYPT_REQUEST_SUCCESS,\n // error: BeaconEvent.ENCRYPT_REQUEST_ERROR\n // },\n // [BeaconMessageType.EncryptPayloadResponse]: {\n // sent: BeaconEvent.UNKNOWN,\n // success: BeaconEvent.UNKNOWN,\n // error: BeaconEvent.UNKNOWN\n // },\n _a[beacon_types_1.BeaconMessageType.BroadcastRequest] = {\n sent: events_1.BeaconEvent.BROADCAST_REQUEST_SENT,\n success: events_1.BeaconEvent.BROADCAST_REQUEST_SUCCESS,\n error: events_1.BeaconEvent.BROADCAST_REQUEST_ERROR\n },\n _a[beacon_types_1.BeaconMessageType.BroadcastResponse] = {\n sent: events_1.BeaconEvent.UNKNOWN,\n success: events_1.BeaconEvent.UNKNOWN,\n error: events_1.BeaconEvent.UNKNOWN\n },\n _a[beacon_types_1.BeaconMessageType.ChangeAccountRequest] = {\n sent: events_1.BeaconEvent.UNKNOWN,\n success: events_1.BeaconEvent.UNKNOWN,\n error: events_1.BeaconEvent.UNKNOWN\n },\n _a[beacon_types_1.BeaconMessageType.Acknowledge] = {\n sent: events_1.BeaconEvent.UNKNOWN,\n success: events_1.BeaconEvent.UNKNOWN,\n error: events_1.BeaconEvent.UNKNOWN\n },\n _a[beacon_types_1.BeaconMessageType.Disconnect] = {\n sent: events_1.BeaconEvent.UNKNOWN,\n success: events_1.BeaconEvent.UNKNOWN,\n error: events_1.BeaconEvent.UNKNOWN\n },\n _a[beacon_types_1.BeaconMessageType.Error] = {\n sent: events_1.BeaconEvent.UNKNOWN,\n success: events_1.BeaconEvent.UNKNOWN,\n error: events_1.BeaconEvent.UNKNOWN\n },\n _a);\n//# sourceMappingURL=beacon-message-events.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-dapp/dist/cjs/beacon-message-events.js?')},"./packages/beacon-dapp/dist/cjs/dapp-client/DAppClient.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval("/* provided dependency */ var Buffer = __webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\")[\"Buffer\"];\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DAppClient = void 0;\nvar axios_1 = __webpack_require__(/*! axios */ \"./node_modules/axios/dist/browser/axios.cjs\");\nvar bs58check = __webpack_require__(/*! bs58check */ \"./node_modules/bs58check/index.js\");\nvar events_1 = __webpack_require__(/*! ../events */ \"./packages/beacon-dapp/dist/cjs/events.js\");\nvar beacon_types_1 = __webpack_require__(/*! @airgap/beacon-types */ \"./packages/beacon-types/dist/cjs/index.js\");\nvar beacon_core_1 = __webpack_require__(/*! @airgap/beacon-core */ \"./packages/beacon-core/dist/cjs/index.js\");\nvar beacon_utils_1 = __webpack_require__(/*! @airgap/beacon-utils */ \"./packages/beacon-utils/dist/cjs/index.js\");\nvar beacon_message_events_1 = __webpack_require__(/*! ../beacon-message-events */ \"./packages/beacon-dapp/dist/cjs/beacon-message-events.js\");\nvar tzkt_blockexplorer_1 = __webpack_require__(/*! ../utils/tzkt-blockexplorer */ \"./packages/beacon-dapp/dist/cjs/utils/tzkt-blockexplorer.js\");\nvar beacon_dapp_1 = __webpack_require__(/*! @airgap/beacon-dapp */ \"./packages/beacon-dapp/dist/cjs/index.js\");\nvar DappPostMessageTransport_1 = __webpack_require__(/*! ../transports/DappPostMessageTransport */ \"./packages/beacon-dapp/dist/cjs/transports/DappPostMessageTransport.js\");\nvar DappP2PTransport_1 = __webpack_require__(/*! ../transports/DappP2PTransport */ \"./packages/beacon-dapp/dist/cjs/transports/DappP2PTransport.js\");\nvar DappWalletConnectTransport_1 = __webpack_require__(/*! ../transports/DappWalletConnectTransport */ \"./packages/beacon-dapp/dist/cjs/transports/DappWalletConnectTransport.js\");\nvar beacon_transport_postmessage_1 = __webpack_require__(/*! @airgap/beacon-transport-postmessage */ \"./packages/beacon-transport-postmessage/dist/cjs/index.js\");\nvar beacon_ui_1 = __webpack_require__(/*! @airgap/beacon-ui */ \"./packages/beacon-ui/dist/cjs/index.js\");\nvar beacon_utils_2 = __webpack_require__(/*! @airgap/beacon-utils */ \"./packages/beacon-utils/dist/cjs/index.js\");\nvar logger = new beacon_core_1.Logger('DAppClient');\n/**\n * @publicapi\n *\n * The DAppClient has to be used in decentralized applications. It handles all the logic related to connecting to beacon-compatible\n * wallets and sending requests.\n *\n * @category DApp\n */\nvar DAppClient = /** @class */ (function (_super) {\n __extends(DAppClient, _super);\n function DAppClient(config) {\n var _this = this;\n var _a, _b, _c, _d, _e, _f, _g, _h;\n _this = _super.call(this, __assign({ storage: config && config.storage ? config.storage : new beacon_core_1.LocalStorage() }, config)) || this;\n _this.events = new beacon_dapp_1.BeaconEventHandler();\n /**\n * A map of requests that are currently \"open\", meaning we have sent them to a wallet and are still awaiting a response.\n */\n _this.openRequests = new Map();\n /**\n * The currently active account. For all requests that are associated to a specific request (operation request, signing request),\n * the active account is used to determine the network and destination wallet\n */\n _this._activeAccount = new beacon_utils_1.ExposedPromise();\n /**\n * The currently active peer. This is used to address a peer in case the active account is not set. (Eg. for permission requests)\n */\n _this._activePeer = new beacon_utils_1.ExposedPromise();\n _this.blockchains = new Map();\n _this.description = config.description;\n _this.wcProjectId = ((_a = config.walletConnectOptions) === null || _a === void 0 ? void 0 : _a.projectId) || '24469fd0a06df227b6e5f7dc7de0ff4f';\n _this.wcRelayUrl = (_b = config.walletConnectOptions) === null || _b === void 0 ? void 0 : _b.relayUrl;\n _this.featuredWallets = config.featuredWallets;\n _this.events = new beacon_dapp_1.BeaconEventHandler(config.eventHandlers, (_c = config.disableDefaultEvents) !== null && _c !== void 0 ? _c : false);\n _this.blockExplorer = (_d = config.blockExplorer) !== null && _d !== void 0 ? _d : new tzkt_blockexplorer_1.TzktBlockExplorer();\n _this.network = (_e = config.network) !== null && _e !== void 0 ? _e : { type: (_f = config.preferredNetwork) !== null && _f !== void 0 ? _f : beacon_types_1.NetworkType.MAINNET };\n (0, beacon_ui_1.setColorMode)((_g = config.colorMode) !== null && _g !== void 0 ? _g : beacon_types_1.ColorMode.LIGHT);\n _this.disclaimerText = config.disclaimerText;\n _this.errorMessages = (_h = config.errorMessages) !== null && _h !== void 0 ? _h : {};\n _this.appMetadataManager = new beacon_core_1.AppMetadataManager(_this.storage);\n _this.activeAccountLoaded = _this.storage\n .get(beacon_types_1.StorageKey.ACTIVE_ACCOUNT)\n .then(function (activeAccountIdentifier) { return __awaiter(_this, void 0, void 0, function () {\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!activeAccountIdentifier) return [3 /*break*/, 3];\n _a = this.setActiveAccount;\n return [4 /*yield*/, this.accountManager.getAccount(activeAccountIdentifier)];\n case 1: return [4 /*yield*/, _a.apply(this, [_b.sent()])];\n case 2:\n _b.sent();\n return [3 /*break*/, 5];\n case 3: return [4 /*yield*/, this.setActiveAccount(undefined)];\n case 4:\n _b.sent();\n _b.label = 5;\n case 5: return [2 /*return*/];\n }\n });\n }); })\n .catch(function (storageError) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.setActiveAccount(undefined)];\n case 1:\n _a.sent();\n console.error(storageError);\n return [2 /*return*/];\n }\n });\n }); });\n _this.handleResponse = function (message, connectionInfo) { return __awaiter(_this, void 0, void 0, function () {\n var openRequest, typedMessage, _a, _b, _c, appMetadata, relevantTransport, _d, _e, _f, peers, peer, typedMessage, _g, _h, _j, relevantTransport, _k, _l, _m, peers, peer;\n var _o, _p;\n var _q, _r, _s, _t, _u, _v, _w, _x;\n return __generator(this, function (_y) {\n switch (_y.label) {\n case 0:\n openRequest = this.openRequests.get(message.id);\n console.log('### openRequest ###', openRequest);\n logger.log('handleResponse', 'Received message', message, connectionInfo);\n console.log('### message ###', JSON.stringify(message));\n console.log('### connectionInfo ###', connectionInfo);\n if (!(message.version === '3')) return [3 /*break*/, 23];\n typedMessage = message;\n if (!(openRequest && ((_q = typedMessage.message) === null || _q === void 0 ? void 0 : _q.type) === beacon_types_1.BeaconMessageType.Acknowledge)) return [3 /*break*/, 2];\n this.analytics.track('event', 'DAppClient', 'Acknowledge received from Wallet');\n logger.log('handleResponse', \"acknowledge message received for \".concat(message.id));\n logger.timeLog('handleResponse', message.id, 'acknowledge');\n _b = (_a = this.events)\n .emit;\n _c = [events_1.BeaconEvent.ACKNOWLEDGE_RECEIVED];\n _o = {\n message: typedMessage.message,\n extraInfo: {}\n };\n return [4 /*yield*/, this.getWalletInfo()];\n case 1:\n _b.apply(_a, _c.concat([(_o.walletInfo = _y.sent(),\n _o)]))\n .catch(console.error);\n return [3 /*break*/, 22];\n case 2:\n if (!openRequest) return [3 /*break*/, 5];\n appMetadata = typedMessage.message /* Why is this unkown cast needed? */.blockchainData.appMetadata;\n if (!(((_r = typedMessage.message) === null || _r === void 0 ? void 0 : _r.type) === beacon_types_1.BeaconMessageType.PermissionResponse && appMetadata)) return [3 /*break*/, 4];\n return [4 /*yield*/, this.appMetadataManager.addAppMetadata(appMetadata)];\n case 3:\n _y.sent();\n _y.label = 4;\n case 4:\n logger.timeLog('handleResponse', typedMessage.id, 'response');\n logger.time(false, typedMessage.id);\n if (((_s = typedMessage.message) === null || _s === void 0 ? void 0 : _s.type) === beacon_types_1.BeaconMessageType.Error) {\n openRequest.reject(typedMessage.message);\n }\n else {\n openRequest.resolve({ message: message, connectionInfo: connectionInfo });\n }\n this.openRequests.delete(typedMessage.id);\n return [3 /*break*/, 22];\n case 5:\n if (!(((_t = typedMessage.message) === null || _t === void 0 ? void 0 : _t.type) === beacon_types_1.BeaconMessageType.Disconnect)) return [3 /*break*/, 19];\n this.analytics.track('event', 'DAppClient', 'Disconnect received from Wallet');\n if (!(connectionInfo.origin === beacon_types_1.Origin.P2P)) return [3 /*break*/, 6];\n _d = this.p2pTransport;\n return [3 /*break*/, 12];\n case 6:\n if (!(connectionInfo.origin === beacon_types_1.Origin.WALLETCONNECT)) return [3 /*break*/, 7];\n _e = this.walletConnectTransport;\n return [3 /*break*/, 11];\n case 7:\n if (!((_u = this.postMessageTransport) !== null && _u !== void 0)) return [3 /*break*/, 8];\n _f = _u;\n return [3 /*break*/, 10];\n case 8: return [4 /*yield*/, this.transport];\n case 9:\n _f = (_y.sent());\n _y.label = 10;\n case 10:\n _e = _f;\n _y.label = 11;\n case 11:\n _d = _e;\n _y.label = 12;\n case 12:\n relevantTransport = _d;\n if (!relevantTransport) return [3 /*break*/, 18];\n return [4 /*yield*/, relevantTransport.getPeers()];\n case 13:\n peers = _y.sent();\n peer = peers.find(function (peerEl) { return peerEl.senderId === message.senderId; });\n if (!peer) return [3 /*break*/, 15];\n return [4 /*yield*/, relevantTransport.removePeer(peer)];\n case 14:\n _y.sent();\n _y.label = 15;\n case 15: return [4 /*yield*/, this.removeAccountsForPeerIds([message.senderId])];\n case 16:\n _y.sent();\n return [4 /*yield*/, this.events.emit(events_1.BeaconEvent.CHANNEL_CLOSED)];\n case 17:\n _y.sent();\n _y.label = 18;\n case 18: return [3 /*break*/, 22];\n case 19:\n if (!(((_v = typedMessage.message) === null || _v === void 0 ? void 0 : _v.type) === beacon_types_1.BeaconMessageType.ChangeAccountRequest)) return [3 /*break*/, 21];\n return [4 /*yield*/, this.onNewAccount(typedMessage.message, connectionInfo)];\n case 20:\n _y.sent();\n return [3 /*break*/, 22];\n case 21:\n logger.error('handleResponse', 'no request found for id ', message.id, message);\n _y.label = 22;\n case 22: return [3 /*break*/, 45];\n case 23:\n typedMessage = message;\n if (!(openRequest && typedMessage.type === beacon_types_1.BeaconMessageType.Acknowledge)) return [3 /*break*/, 25];\n logger.log(\"acknowledge message received for \".concat(message.id));\n this.analytics.track('event', 'DAppClient', 'Acknowledge received from Wallet');\n logger.timeLog('handleResponse', message.id, 'acknowledge');\n _h = (_g = this.events)\n .emit;\n _j = [events_1.BeaconEvent.ACKNOWLEDGE_RECEIVED];\n _p = {\n message: typedMessage,\n extraInfo: {}\n };\n return [4 /*yield*/, this.getWalletInfo()];\n case 24:\n _h.apply(_g, _j.concat([(_p.walletInfo = _y.sent(),\n _p)]))\n .catch(console.error);\n return [3 /*break*/, 45];\n case 25:\n if (!openRequest) return [3 /*break*/, 28];\n if (!(typedMessage.type === beacon_types_1.BeaconMessageType.PermissionResponse &&\n typedMessage.appMetadata)) return [3 /*break*/, 27];\n return [4 /*yield*/, this.appMetadataManager.addAppMetadata(typedMessage.appMetadata)];\n case 26:\n _y.sent();\n _y.label = 27;\n case 27:\n logger.timeLog('handleResponse', typedMessage.id, 'response');\n logger.time(false, typedMessage.id);\n if (typedMessage.type === beacon_types_1.BeaconMessageType.Error || message.errorType) {\n // TODO: Remove \"any\" once we remove support for v1 wallets\n openRequest.reject(typedMessage);\n }\n else {\n openRequest.resolve({ message: message, connectionInfo: connectionInfo });\n }\n this.openRequests.delete(typedMessage.id);\n return [3 /*break*/, 45];\n case 28:\n if (!(typedMessage.type === beacon_types_1.BeaconMessageType.Disconnect ||\n ((_w = message === null || message === void 0 ? void 0 : message.typedMessage) === null || _w === void 0 ? void 0 : _w.type) === beacon_types_1.BeaconMessageType.Disconnect) // TODO: TYPE\n ) return [3 /*break*/, 42]; // TODO: TYPE\n this.analytics.track('event', 'DAppClient', 'Disconnect received from Wallet');\n if (!(connectionInfo.origin === beacon_types_1.Origin.P2P)) return [3 /*break*/, 29];\n _k = this.p2pTransport;\n return [3 /*break*/, 35];\n case 29:\n if (!(connectionInfo.origin === beacon_types_1.Origin.WALLETCONNECT)) return [3 /*break*/, 30];\n _l = this.walletConnectTransport;\n return [3 /*break*/, 34];\n case 30:\n if (!((_x = this.postMessageTransport) !== null && _x !== void 0)) return [3 /*break*/, 31];\n _m = _x;\n return [3 /*break*/, 33];\n case 31: return [4 /*yield*/, this.transport];\n case 32:\n _m = (_y.sent());\n _y.label = 33;\n case 33:\n _l = _m;\n _y.label = 34;\n case 34:\n _k = _l;\n _y.label = 35;\n case 35:\n relevantTransport = _k;\n if (!relevantTransport) return [3 /*break*/, 41];\n return [4 /*yield*/, relevantTransport.getPeers()];\n case 36:\n peers = _y.sent();\n peer = peers.find(function (peerEl) { return peerEl.senderId === message.senderId; });\n if (!peer) return [3 /*break*/, 38];\n return [4 /*yield*/, relevantTransport.removePeer(peer)];\n case 37:\n _y.sent();\n _y.label = 38;\n case 38: return [4 /*yield*/, this.removeAccountsForPeerIds([message.senderId])];\n case 39:\n _y.sent();\n return [4 /*yield*/, this.events.emit(events_1.BeaconEvent.CHANNEL_CLOSED)];\n case 40:\n _y.sent();\n _y.label = 41;\n case 41: return [3 /*break*/, 45];\n case 42:\n if (!(typedMessage.type === beacon_types_1.BeaconMessageType.ChangeAccountRequest)) return [3 /*break*/, 44];\n return [4 /*yield*/, this.onNewAccount(typedMessage, connectionInfo)];\n case 43:\n _y.sent();\n return [3 /*break*/, 45];\n case 44:\n logger.error('handleResponse', 'no request found for id ', message.id, message);\n _y.label = 45;\n case 45: return [2 /*return*/];\n }\n });\n }); };\n return _this;\n }\n DAppClient.prototype.initInternalTransports = function () {\n var _a, _b;\n return __awaiter(this, void 0, void 0, function () {\n var keyPair, wcOptions;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4 /*yield*/, this.keyPair];\n case 1:\n keyPair = _c.sent();\n if (this.postMessageTransport || this.p2pTransport || this.walletConnectTransport) {\n return [2 /*return*/];\n }\n this.postMessageTransport = new DappPostMessageTransport_1.DappPostMessageTransport(this.name, keyPair, this.storage);\n return [4 /*yield*/, this.addListener(this.postMessageTransport)];\n case 2:\n _c.sent();\n this.p2pTransport = new DappP2PTransport_1.DappP2PTransport(this.name, keyPair, this.storage, this.matrixNodes, this.iconUrl, this.appUrl);\n return [4 /*yield*/, this.addListener(this.p2pTransport)];\n case 3:\n _c.sent();\n wcOptions = {\n projectId: this.wcProjectId,\n relayUrl: this.wcRelayUrl,\n metadata: {\n name: this.name,\n description: (_a = this.description) !== null && _a !== void 0 ? _a : '',\n url: (_b = this.appUrl) !== null && _b !== void 0 ? _b : '',\n icons: this.iconUrl ? [this.iconUrl] : []\n }\n };\n this.walletConnectTransport = new DappWalletConnectTransport_1.DappWalletConnectTransport(this.name, keyPair, this.storage, {\n network: this.network.type,\n opts: wcOptions\n });\n this.initEvents();\n return [4 /*yield*/, this.addListener(this.walletConnectTransport)];\n case 4:\n _c.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n DAppClient.prototype.initEvents = function () {\n if (!this.walletConnectTransport) {\n return;\n }\n this.walletConnectTransport.setEventHandler(\"CLOSE_ALERT\" /* ClientEvents.CLOSE_ALERT */, this.hideUI.bind(this, ['alert']));\n this.walletConnectTransport.setEventHandler(\"RESET_STATE\" /* ClientEvents.RESET_STATE */, this.channelClosedHandler.bind(this));\n };\n DAppClient.prototype.channelClosedHandler = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.events.emit(events_1.BeaconEvent.CHANNEL_CLOSED)];\n case 1:\n _a.sent();\n this.setActiveAccount(undefined);\n this.destroy();\n return [2 /*return*/];\n }\n });\n });\n };\n DAppClient.prototype.init = function (transport) {\n return __awaiter(this, void 0, void 0, function () {\n var _a;\n var _this = this;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (this._initPromise) {\n return [2 /*return*/, this._initPromise];\n }\n _b.label = 1;\n case 1:\n _b.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.activeAccountLoaded];\n case 2:\n _b.sent();\n return [3 /*break*/, 4];\n case 3:\n _a = _b.sent();\n return [3 /*break*/, 4];\n case 4:\n this._initPromise = new Promise(function (resolve) { return __awaiter(_this, void 0, void 0, function () {\n var _a, _b, _c, _d, _e, activeAccount, stopListening_1, origin_1, _f, _g, _h, p2pTransport_1, postMessageTransport_1, walletConnectTransport_1;\n var _this = this;\n return __generator(this, function (_j) {\n switch (_j.label) {\n case 0:\n if (!transport) return [3 /*break*/, 3];\n return [4 /*yield*/, this.addListener(transport)];\n case 1:\n _j.sent();\n _a = resolve;\n return [4 /*yield*/, _super.prototype.init.call(this, transport)];\n case 2:\n _a.apply(void 0, [_j.sent()]);\n return [3 /*break*/, 18];\n case 3:\n if (!this._transport.isSettled()) return [3 /*break*/, 8];\n return [4 /*yield*/, this.transport];\n case 4: return [4 /*yield*/, (_j.sent()).connect()];\n case 5:\n _j.sent();\n _b = resolve;\n _d = (_c = _super.prototype.init).call;\n _e = [this];\n return [4 /*yield*/, this.transport];\n case 6: return [4 /*yield*/, _d.apply(_c, _e.concat([_j.sent()]))];\n case 7:\n _b.apply(void 0, [_j.sent()]);\n return [3 /*break*/, 18];\n case 8: return [4 /*yield*/, this.getActiveAccount()];\n case 9:\n activeAccount = _j.sent();\n stopListening_1 = function () {\n if (_this.postMessageTransport) {\n _this.postMessageTransport.stopListeningForNewPeers().catch(console.error);\n }\n if (_this.p2pTransport) {\n _this.p2pTransport.stopListeningForNewPeers().catch(console.error);\n }\n if (_this.walletConnectTransport) {\n _this.walletConnectTransport.stopListeningForNewPeers().catch(console.error);\n }\n };\n return [4 /*yield*/, this.initInternalTransports()];\n case 10:\n _j.sent();\n if (!this.postMessageTransport || !this.p2pTransport || !this.walletConnectTransport) {\n return [2 /*return*/];\n }\n this.postMessageTransport.connect().then().catch(console.error);\n if (!(activeAccount && activeAccount.origin)) return [3 /*break*/, 17];\n origin_1 = activeAccount.origin.type;\n if (!(origin_1 === beacon_types_1.Origin.EXTENSION)) return [3 /*break*/, 12];\n _f = resolve;\n return [4 /*yield*/, _super.prototype.init.call(this, this.postMessageTransport)];\n case 11:\n _f.apply(void 0, [_j.sent()]);\n return [3 /*break*/, 16];\n case 12:\n if (!(origin_1 === beacon_types_1.Origin.P2P)) return [3 /*break*/, 14];\n _g = resolve;\n return [4 /*yield*/, _super.prototype.init.call(this, this.p2pTransport)];\n case 13:\n _g.apply(void 0, [_j.sent()]);\n return [3 /*break*/, 16];\n case 14:\n if (!(origin_1 === beacon_types_1.Origin.WALLETCONNECT)) return [3 /*break*/, 16];\n _h = resolve;\n return [4 /*yield*/, _super.prototype.init.call(this, this.walletConnectTransport)];\n case 15:\n _h.apply(void 0, [_j.sent()]);\n _j.label = 16;\n case 16: return [3 /*break*/, 18];\n case 17:\n p2pTransport_1 = this.p2pTransport;\n postMessageTransport_1 = this.postMessageTransport;\n walletConnectTransport_1 = this.walletConnectTransport;\n postMessageTransport_1\n .listenForNewPeer(function (peer) {\n logger.log('init', 'postmessage transport peer connected', peer);\n _this.analytics.track('event', 'DAppClient', 'Extension connected', {\n peerName: peer.name\n });\n _this.events\n .emit(events_1.BeaconEvent.PAIR_SUCCESS, peer)\n .catch(function (emitError) { return console.warn(emitError); });\n _this.setActivePeer(peer).catch(console.error);\n _this.setTransport(_this.postMessageTransport).catch(console.error);\n stopListening_1();\n resolve(beacon_types_1.TransportType.POST_MESSAGE);\n })\n .catch(console.error);\n p2pTransport_1\n .listenForNewPeer(function (peer) {\n logger.log('init', 'p2p transport peer connected', peer);\n _this.analytics.track('event', 'DAppClient', 'Beacon Wallet connected', {\n peerName: peer.name\n });\n _this.events\n .emit(events_1.BeaconEvent.PAIR_SUCCESS, peer)\n .catch(function (emitError) { return console.warn(emitError); });\n _this.setActivePeer(peer).catch(console.error);\n _this.setTransport(_this.p2pTransport).catch(console.error);\n stopListening_1();\n resolve(beacon_types_1.TransportType.P2P);\n })\n .catch(console.error);\n walletConnectTransport_1\n .listenForNewPeer(function (peer) {\n logger.log('init', 'walletconnect transport peer connected', peer);\n _this.analytics.track('event', 'DAppClient', 'WalletConnect Wallet connected', {\n peerName: peer.name\n });\n _this.events\n .emit(events_1.BeaconEvent.PAIR_SUCCESS, peer)\n .catch(function (emitError) { return console.warn(emitError); });\n _this.setActivePeer(peer).catch(console.error);\n _this.setTransport(_this.walletConnectTransport).catch(console.error);\n stopListening_1();\n resolve(beacon_types_1.TransportType.WALLETCONNECT);\n })\n .catch(console.error);\n beacon_transport_postmessage_1.PostMessageTransport.getAvailableExtensions()\n .then(function (extensions) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n this.analytics.track('event', 'DAppClient', 'Extensions detected', { extensions: extensions });\n return [2 /*return*/];\n });\n }); })\n .catch(function (error) {\n _this._initPromise = undefined;\n console.error(error);\n });\n this.events\n .emit(events_1.BeaconEvent.PAIR_INIT, {\n p2pPeerInfo: function () {\n p2pTransport_1.connect().then().catch(console.error);\n return p2pTransport_1.getPairingRequestInfo();\n },\n postmessagePeerInfo: function () { return postMessageTransport_1.getPairingRequestInfo(); },\n walletConnectPeerInfo: function () { return walletConnectTransport_1.getPairingRequestInfo(); },\n networkType: this.network.type,\n abortedHandler: function () {\n console.log('ABORTED');\n _this._initPromise = undefined;\n },\n disclaimerText: this.disclaimerText,\n analytics: this.analytics,\n featuredWallets: this.featuredWallets\n })\n .catch(function (emitError) { return console.warn(emitError); });\n _j.label = 18;\n case 18: return [2 /*return*/];\n }\n });\n }); });\n return [2 /*return*/, this._initPromise];\n }\n });\n });\n };\n /**\n * Returns the active account\n */\n DAppClient.prototype.getActiveAccount = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this._activeAccount.promise];\n });\n });\n };\n /**\n * Sets the active account\n *\n * @param account The account that will be set as the active account\n */\n DAppClient.prototype.setActiveAccount = function (account) {\n return __awaiter(this, void 0, void 0, function () {\n var origin_2, peer;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (this._activeAccount.isSettled()) {\n // If the promise has already been resolved we need to create a new one.\n this._activeAccount = beacon_utils_1.ExposedPromise.resolve(account);\n }\n else {\n this._activeAccount.resolve(account);\n }\n if (!account) return [3 /*break*/, 10];\n origin_2 = account.origin.type;\n return [4 /*yield*/, this.initInternalTransports()\n // Select the transport that matches the active account\n ];\n case 1:\n _a.sent();\n if (!(origin_2 === beacon_types_1.Origin.EXTENSION)) return [3 /*break*/, 3];\n return [4 /*yield*/, this.setTransport(this.postMessageTransport)];\n case 2:\n _a.sent();\n return [3 /*break*/, 7];\n case 3:\n if (!(origin_2 === beacon_types_1.Origin.P2P)) return [3 /*break*/, 5];\n return [4 /*yield*/, this.setTransport(this.p2pTransport)];\n case 4:\n _a.sent();\n return [3 /*break*/, 7];\n case 5:\n if (!(origin_2 === beacon_types_1.Origin.WALLETCONNECT)) return [3 /*break*/, 7];\n return [4 /*yield*/, this.setTransport(this.walletConnectTransport)];\n case 6:\n _a.sent();\n _a.label = 7;\n case 7: return [4 /*yield*/, this.getPeer(account)];\n case 8:\n peer = _a.sent();\n return [4 /*yield*/, this.setActivePeer(peer)];\n case 9:\n _a.sent();\n return [3 /*break*/, 13];\n case 10: return [4 /*yield*/, this.setActivePeer(undefined)];\n case 11:\n _a.sent();\n return [4 /*yield*/, this.setTransport(undefined)];\n case 12:\n _a.sent();\n _a.label = 13;\n case 13: return [4 /*yield*/, this.storage.set(beacon_types_1.StorageKey.ACTIVE_ACCOUNT, account ? account.accountIdentifier : undefined)];\n case 14:\n _a.sent();\n return [4 /*yield*/, this.events.emit(events_1.BeaconEvent.ACTIVE_ACCOUNT_SET, account)];\n case 15:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Clear the active account\n */\n DAppClient.prototype.clearActiveAccount = function () {\n return this.setActiveAccount();\n };\n DAppClient.prototype.setColorMode = function (colorMode) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, (0, beacon_ui_1.setColorMode)(colorMode)];\n });\n });\n };\n DAppClient.prototype.getColorMode = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, (0, beacon_ui_1.getColorMode)()];\n });\n });\n };\n /**\n * @deprecated\n *\n * Use getOwnAppMetadata instead\n */\n DAppClient.prototype.getAppMetadata = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.getOwnAppMetadata()];\n });\n });\n };\n DAppClient.prototype.showPrepare = function () {\n return __awaiter(this, void 0, void 0, function () {\n var walletInfo;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, (function () { return __awaiter(_this, void 0, void 0, function () {\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.getWalletInfo()];\n case 1: return [2 /*return*/, _b.sent()];\n case 2:\n _a = _b.sent();\n return [2 /*return*/, undefined];\n case 3: return [2 /*return*/];\n }\n });\n }); })()];\n case 1:\n walletInfo = _a.sent();\n return [4 /*yield*/, this.events.emit(events_1.BeaconEvent.SHOW_PREPARE, { walletInfo: walletInfo })];\n case 2:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n DAppClient.prototype.hideUI = function (elements) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (elements === null || elements === void 0 ? void 0 : elements.includes('alert')) {\n // if the sync was aborted from the wallet side or the alert is closed we need to cancel the promise\n this._initPromise = undefined;\n }\n return [4 /*yield*/, this.events.emit(events_1.BeaconEvent.HIDE_UI, elements)];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Will remove the account from the local storage and set a new active account if necessary.\n *\n * @param accountIdentifier ID of the account\n */\n DAppClient.prototype.removeAccount = function (accountIdentifier) {\n return __awaiter(this, void 0, void 0, function () {\n var removeAccountResult, activeAccount;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n removeAccountResult = _super.prototype.removeAccount.call(this, accountIdentifier);\n return [4 /*yield*/, this.getActiveAccount()];\n case 1:\n activeAccount = _a.sent();\n if (!(activeAccount && activeAccount.accountIdentifier === accountIdentifier)) return [3 /*break*/, 3];\n return [4 /*yield*/, this.setActiveAccount(undefined)];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3: return [2 /*return*/, removeAccountResult];\n }\n });\n });\n };\n /**\n * Remove all accounts and set active account to undefined\n */\n DAppClient.prototype.removeAllAccounts = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, _super.prototype.removeAllAccounts.call(this)];\n case 1:\n _a.sent();\n return [4 /*yield*/, this.setActiveAccount(undefined)];\n case 2:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Removes a peer and all the accounts that have been connected through that peer\n *\n * @param peer Peer to be removed\n */\n DAppClient.prototype.removePeer = function (peer, sendDisconnectToPeer) {\n if (sendDisconnectToPeer === void 0) { sendDisconnectToPeer = false; }\n return __awaiter(this, void 0, void 0, function () {\n var transport, removePeerResult;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.transport];\n case 1:\n transport = _a.sent();\n removePeerResult = transport.removePeer(peer);\n return [4 /*yield*/, this.removeAccountsForPeers([peer])];\n case 2:\n _a.sent();\n if (!sendDisconnectToPeer) return [3 /*break*/, 4];\n return [4 /*yield*/, this.sendDisconnectToPeer(peer, transport)];\n case 3:\n _a.sent();\n _a.label = 4;\n case 4: return [2 /*return*/, removePeerResult];\n }\n });\n });\n };\n /**\n * Remove all peers and all accounts that have been connected through those peers\n */\n DAppClient.prototype.removeAllPeers = function (sendDisconnectToPeers) {\n if (sendDisconnectToPeers === void 0) { sendDisconnectToPeers = false; }\n return __awaiter(this, void 0, void 0, function () {\n var transport, peers, removePeerResult, disconnectPromises;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.transport];\n case 1:\n transport = _a.sent();\n return [4 /*yield*/, transport.getPeers()];\n case 2:\n peers = _a.sent();\n removePeerResult = transport.removeAllPeers();\n return [4 /*yield*/, this.removeAccountsForPeers(peers)];\n case 3:\n _a.sent();\n if (!sendDisconnectToPeers) return [3 /*break*/, 5];\n disconnectPromises = peers.map(function (peer) { return _this.sendDisconnectToPeer(peer, transport); });\n return [4 /*yield*/, Promise.all(disconnectPromises)];\n case 4:\n _a.sent();\n _a.label = 5;\n case 5: return [2 /*return*/, removePeerResult];\n }\n });\n });\n };\n /**\n * Allows the user to subscribe to specific events that are fired in the SDK\n *\n * @param internalEvent The event to subscribe to\n * @param eventCallback The callback that will be called when the event occurs\n */\n DAppClient.prototype.subscribeToEvent = function (internalEvent, eventCallback) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.events.on(internalEvent, eventCallback)];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Check if we have permissions to send the specific message type to the active account.\n * If no active account is set, only permission requests are allowed.\n *\n * @param type The type of the message\n */\n DAppClient.prototype.checkPermissions = function (type) {\n return __awaiter(this, void 0, void 0, function () {\n var activeAccount, permissions;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (type === beacon_types_1.BeaconMessageType.PermissionRequest) {\n return [2 /*return*/, true];\n }\n return [4 /*yield*/, this.getActiveAccount()];\n case 1:\n activeAccount = _a.sent();\n if (!!activeAccount) return [3 /*break*/, 3];\n return [4 /*yield*/, this.sendInternalError('No active account set!')];\n case 2: throw _a.sent();\n case 3:\n permissions = activeAccount.scopes;\n switch (type) {\n case beacon_types_1.BeaconMessageType.OperationRequest:\n return [2 /*return*/, permissions.includes(beacon_types_1.PermissionScope.OPERATION_REQUEST)];\n case beacon_types_1.BeaconMessageType.SignPayloadRequest:\n return [2 /*return*/, permissions.includes(beacon_types_1.PermissionScope.SIGN)\n // TODO: ENCRYPTION\n // case BeaconMessageType.EncryptPayloadRequest:\n // return permissions.includes(PermissionScope.ENCRYPT)\n ];\n // TODO: ENCRYPTION\n // case BeaconMessageType.EncryptPayloadRequest:\n // return permissions.includes(PermissionScope.ENCRYPT)\n case beacon_types_1.BeaconMessageType.BroadcastRequest:\n return [2 /*return*/, true];\n default:\n return [2 /*return*/, false];\n }\n return [2 /*return*/];\n }\n });\n });\n };\n DAppClient.prototype.sendNotification = function (title, message, payload, protocolIdentifier) {\n var _a, _b, _c;\n return __awaiter(this, void 0, void 0, function () {\n var activeAccount, url;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0: return [4 /*yield*/, this.getActiveAccount()];\n case 1:\n activeAccount = _d.sent();\n if (!activeAccount ||\n (activeAccount &&\n !activeAccount.scopes.includes(beacon_types_1.PermissionScope.NOTIFICATION) &&\n !activeAccount.notification)) {\n throw new Error('notification permissions not given');\n }\n if (!((_a = activeAccount.notification) === null || _a === void 0 ? void 0 : _a.token)) {\n throw new Error('No AccessToken');\n }\n url = (_b = activeAccount.notification) === null || _b === void 0 ? void 0 : _b.apiUrl;\n if (!url) {\n throw new Error('No Push URL set');\n }\n return [2 /*return*/, this.sendNotificationWithAccessToken({\n url: url,\n recipient: activeAccount.address,\n title: title,\n body: message,\n payload: payload,\n protocolIdentifier: protocolIdentifier,\n accessToken: (_c = activeAccount.notification) === null || _c === void 0 ? void 0 : _c.token\n })];\n }\n });\n });\n };\n DAppClient.prototype.addBlockchain = function (chain) {\n this.blockchains.set(chain.identifier, chain);\n chain.getWalletLists().then(function (walletLists) {\n (0, beacon_ui_1.setDesktopList)(walletLists.desktopList);\n (0, beacon_ui_1.setExtensionList)(walletLists.extensionList);\n (0, beacon_ui_1.setWebList)(walletLists.webList);\n (0, beacon_ui_1.setiOSList)(walletLists.iOSList);\n });\n };\n DAppClient.prototype.removeBlockchain = function (chainIdentifier) {\n this.blockchains.delete(chainIdentifier);\n };\n /** Generic messages */\n DAppClient.prototype.permissionRequest = function (input) {\n return __awaiter(this, void 0, void 0, function () {\n var blockchain, request, _a, _b, _c, response, connectionInfo, partialAccountInfos, accountInfo, _d, _e, _f, _g;\n var _h, _j, _k, _l;\n var _this = this;\n return __generator(this, function (_m) {\n switch (_m.label) {\n case 0:\n console.log('PERMISSION REQUEST');\n blockchain = this.blockchains.get(input.blockchainIdentifier);\n if (!blockchain) {\n throw new Error(\"Blockchain \\\"\".concat(input.blockchainIdentifier, \"\\\" not supported by dAppClient\"));\n }\n _a = [__assign({}, input)];\n _h = { type: beacon_types_1.BeaconMessageType.PermissionRequest };\n _b = [__assign({}, input.blockchainData)];\n _j = {};\n return [4 /*yield*/, this.getOwnAppMetadata()];\n case 1:\n request = __assign.apply(void 0, _a.concat([(_h.blockchainData = __assign.apply(void 0, _b.concat([(_j.appMetadata = _m.sent(), _j)])), _h)]));\n console.log('REQUESTION PERMIMISSION V3', 'xxx', request);\n return [4 /*yield*/, this.makeRequestV3(request).catch(function (_requestError) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n throw new Error('TODO');\n });\n }); })];\n case 2:\n _c = _m.sent(), response = _c.message, connectionInfo = _c.connectionInfo;\n console.log('RESPONSE V3', response, connectionInfo);\n return [4 /*yield*/, blockchain.getAccountInfosFromPermissionResponse(response.message)];\n case 3:\n partialAccountInfos = _m.sent();\n accountInfo = {\n accountIdentifier: partialAccountInfos[0].accountId,\n senderId: response.senderId,\n origin: {\n type: connectionInfo.origin,\n id: connectionInfo.id\n },\n address: partialAccountInfos[0].address,\n publicKey: partialAccountInfos[0].publicKey,\n scopes: response.message.blockchainData.scopes,\n connectedAt: new Date().getTime(),\n chainData: response.message.blockchainData\n };\n return [4 /*yield*/, this.accountManager.addAccount(accountInfo)];\n case 4:\n _m.sent();\n return [4 /*yield*/, this.setActiveAccount(accountInfo)];\n case 5:\n _m.sent();\n _e = (_d = blockchain).handleResponse;\n _k = {\n request: request,\n account: accountInfo,\n output: response,\n blockExplorer: this.blockExplorer,\n connectionContext: connectionInfo\n };\n return [4 /*yield*/, this.getWalletInfo()];\n case 6: return [4 /*yield*/, _e.apply(_d, [(_k.walletInfo = _m.sent(),\n _k)])];\n case 7:\n _m.sent();\n _f = this.notifySuccess;\n _g = [request];\n _l = {\n account: accountInfo,\n output: {\n address: partialAccountInfos[0].address,\n network: { type: beacon_types_1.NetworkType.MAINNET },\n scopes: [beacon_types_1.PermissionScope.OPERATION_REQUEST]\n },\n blockExplorer: this.blockExplorer,\n connectionContext: connectionInfo\n };\n return [4 /*yield*/, this.getWalletInfo()];\n case 8: return [4 /*yield*/, _f.apply(this, _g.concat([(_l.walletInfo = _m.sent(),\n _l)]))\n // return output\n ];\n case 9:\n _m.sent();\n // return output\n return [2 /*return*/, response.message];\n }\n });\n });\n };\n DAppClient.prototype.request = function (input) {\n return __awaiter(this, void 0, void 0, function () {\n var blockchain, activeAccount, request, _a, response, connectionInfo, _b, _c;\n var _d;\n var _this = this;\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n console.log('REQUEST', input);\n blockchain = this.blockchains.get(input.blockchainIdentifier);\n if (!blockchain) {\n throw new Error(\"Blockchain \\\"\".concat(blockchain, \"\\\" not supported by dAppClient\"));\n }\n return [4 /*yield*/, blockchain.validateRequest(input)];\n case 1:\n _e.sent();\n return [4 /*yield*/, this.getActiveAccount()];\n case 2:\n activeAccount = _e.sent();\n if (!!activeAccount) return [3 /*break*/, 4];\n return [4 /*yield*/, this.sendInternalError('No active account!')];\n case 3: throw _e.sent();\n case 4:\n request = __assign(__assign({}, input), { type: beacon_types_1.BeaconMessageType.BlockchainRequest, accountId: activeAccount.accountIdentifier });\n return [4 /*yield*/, this.makeRequestV3(request).catch(function (requestError) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n console.error(requestError);\n throw new Error('TODO');\n });\n }); })];\n case 5:\n _a = _e.sent(), response = _a.message, connectionInfo = _a.connectionInfo;\n _c = (_b = blockchain).handleResponse;\n _d = {\n request: request,\n account: activeAccount,\n output: response,\n blockExplorer: this.blockExplorer,\n connectionContext: connectionInfo\n };\n return [4 /*yield*/, this.getWalletInfo()];\n case 6: return [4 /*yield*/, _c.apply(_b, [(_d.walletInfo = _e.sent(),\n _d)])];\n case 7:\n _e.sent();\n return [2 /*return*/, response.message];\n }\n });\n });\n };\n /**\n * Send a permission request to the DApp. This should be done as the first step. The wallet will respond\n * with an publicKey and permissions that were given. The account returned will be set as the \"activeAccount\"\n * and will be used for the following requests.\n *\n * @param input The message details we need to prepare the PermissionRequest message.\n */\n DAppClient.prototype.requestPermissions = function (input) {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n var request, _b, message, connectionInfo, accountInfo, output, _c, _d;\n var _e, _f;\n var _this = this;\n return __generator(this, function (_g) {\n switch (_g.label) {\n case 0:\n // Add error message for deprecation of network\n // TODO: Remove when we remove deprecated preferredNetwork\n if ((input === null || input === void 0 ? void 0 : input.network) !== undefined && this.network.type !== ((_a = input === null || input === void 0 ? void 0 : input.network) === null || _a === void 0 ? void 0 : _a.type)) {\n console.error('[BEACON] The network specified in the DAppClient constructor does not match the network set in the permission request. Please set the network in the constructor. Setting it during the Permission Request is deprecated.');\n }\n _e = {};\n return [4 /*yield*/, this.getOwnAppMetadata()];\n case 1:\n request = (_e.appMetadata = _g.sent(),\n _e.type = beacon_types_1.BeaconMessageType.PermissionRequest,\n _e.network = this.network,\n _e.scopes = input && input.scopes\n ? input.scopes\n : [beacon_types_1.PermissionScope.OPERATION_REQUEST, beacon_types_1.PermissionScope.SIGN],\n _e);\n this.analytics.track('event', 'DAppClient', 'Permission requested');\n return [4 /*yield*/, this.makeRequest(request).catch(function (requestError) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.handleRequestError(request, requestError)];\n case 1: throw _a.sent();\n }\n });\n }); })];\n case 2:\n _b = _g.sent(), message = _b.message, connectionInfo = _b.connectionInfo;\n return [4 /*yield*/, this.onNewAccount(message, connectionInfo)];\n case 3:\n accountInfo = _g.sent();\n output = __assign(__assign({}, message), { walletKey: accountInfo.walletKey, address: accountInfo.address, accountInfo: accountInfo });\n _c = this.notifySuccess;\n _d = [request];\n _f = {\n account: accountInfo,\n output: output,\n blockExplorer: this.blockExplorer,\n connectionContext: connectionInfo\n };\n return [4 /*yield*/, this.getWalletInfo()];\n case 4: return [4 /*yield*/, _c.apply(this, _d.concat([(_f.walletInfo = _g.sent(),\n _f)]))];\n case 5:\n _g.sent();\n this.analytics.track('event', 'DAppClient', 'Permission received', {\n address: accountInfo.address\n });\n return [2 /*return*/, output];\n }\n });\n });\n };\n /**\n * This method will send a \"SignPayloadRequest\" to the wallet. This method is meant to be used to sign\n * arbitrary data (eg. a string). It will return the signature in the format of \"edsig...\"\n *\n * @param input The message details we need to prepare the SignPayloadRequest message.\n */\n DAppClient.prototype.requestSignPayload = function (input) {\n return __awaiter(this, void 0, void 0, function () {\n var activeAccount, payload, signingType, request, _a, message, connectionInfo, _b, _c;\n var _d;\n var _this = this;\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n if (!!input.payload) return [3 /*break*/, 2];\n return [4 /*yield*/, this.sendInternalError('Payload must be provided')];\n case 1: throw _e.sent();\n case 2: return [4 /*yield*/, this.getActiveAccount()];\n case 3:\n activeAccount = _e.sent();\n if (!!activeAccount) return [3 /*break*/, 5];\n return [4 /*yield*/, this.sendInternalError('No active account!')];\n case 4: throw _e.sent();\n case 5:\n payload = input.payload;\n if (typeof payload !== 'string') {\n throw new Error('Payload must be a string');\n }\n signingType = (function () {\n switch (input.signingType) {\n case beacon_types_1.SigningType.OPERATION:\n if (!payload.startsWith('03')) {\n throw new Error('When using signing type \"OPERATION\", the payload must start with prefix \"03\"');\n }\n return beacon_types_1.SigningType.OPERATION;\n case beacon_types_1.SigningType.MICHELINE:\n if (!payload.startsWith('05')) {\n throw new Error('When using signing type \"MICHELINE\", the payload must start with prefix \"05\"');\n }\n return beacon_types_1.SigningType.MICHELINE;\n case beacon_types_1.SigningType.RAW:\n default:\n return beacon_types_1.SigningType.RAW;\n }\n })();\n this.analytics.track('event', 'DAppClient', 'Signature requested');\n request = {\n type: beacon_types_1.BeaconMessageType.SignPayloadRequest,\n signingType: signingType,\n payload: payload,\n sourceAddress: input.sourceAddress || activeAccount.address\n };\n return [4 /*yield*/, this.makeRequest(request).catch(function (requestError) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.handleRequestError(request, requestError)];\n case 1: throw _a.sent();\n }\n });\n }); })];\n case 6:\n _a = _e.sent(), message = _a.message, connectionInfo = _a.connectionInfo;\n _b = this.notifySuccess;\n _c = [request];\n _d = {\n account: activeAccount,\n output: message,\n connectionContext: connectionInfo\n };\n return [4 /*yield*/, this.getWalletInfo()];\n case 7: return [4 /*yield*/, _b.apply(this, _c.concat([(_d.walletInfo = _e.sent(),\n _d)]))];\n case 8:\n _e.sent();\n this.analytics.track('event', 'DAppClient', 'Signature response');\n return [2 /*return*/, message];\n }\n });\n });\n };\n /**\n * This method will send an \"EncryptPayloadRequest\" to the wallet. This method is meant to be used to encrypt or decrypt\n * arbitrary data (eg. a string). It will return the encrypted or decrypted payload\n *\n * @param input The message details we need to prepare the EncryptPayloadRequest message.\n */\n // TODO: ENCRYPTION\n // public async requestEncryptPayload(\n // input: RequestEncryptPayloadInput\n // ): Promise {\n // if (!input.payload) {\n // throw await this.sendInternalError('Payload must be provided')\n // }\n // const activeAccount: AccountInfo | undefined = await this.getActiveAccount()\n // if (!activeAccount) {\n // throw await this.sendInternalError('No active account!')\n // }\n // const payload = input.payload\n // if (typeof payload !== 'string') {\n // throw new Error('Payload must be a string')\n // }\n // if (typeof input.encryptionCryptoOperation === 'undefined') {\n // throw new Error('encryptionCryptoOperation must be defined')\n // }\n // if (typeof input.encryptionType === 'undefined') {\n // throw new Error('encryptionType must be defined')\n // }\n // const request: EncryptPayloadRequestInput = {\n // type: BeaconMessageType.EncryptPayloadRequest,\n // cryptoOperation: input.encryptionCryptoOperation,\n // encryptionType: input.encryptionType,\n // payload,\n // sourceAddress: input.sourceAddress || activeAccount.address\n // }\n // const { message, connectionInfo } = await this.makeRequest<\n // EncryptPayloadRequest,\n // EncryptPayloadResponse\n // >(request).catch(async (requestError: ErrorResponse) => {\n // throw await this.handleRequestError(request, requestError)\n // })\n // await this.notifySuccess(request, {\n // account: activeAccount,\n // output: message,\n // connectionContext: connectionInfo,\n // walletInfo: await this.getWalletInfo()\n // })\n // return message\n // }\n /**\n * This method sends an OperationRequest to the wallet. This method should be used for all kinds of operations,\n * eg. transaction or delegation. Not all properties have to be provided. Data like \"counter\" and fees will be\n * fetched and calculated by the wallet (but they can still be provided if required).\n *\n * @param input The message details we need to prepare the OperationRequest message.\n */\n DAppClient.prototype.requestOperation = function (input) {\n return __awaiter(this, void 0, void 0, function () {\n var activeAccount, request, _a, message, connectionInfo, _b, _c;\n var _d;\n var _this = this;\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n if (!!input.operationDetails) return [3 /*break*/, 2];\n return [4 /*yield*/, this.sendInternalError('Operation details must be provided')];\n case 1: throw _e.sent();\n case 2: return [4 /*yield*/, this.getActiveAccount()];\n case 3:\n activeAccount = _e.sent();\n if (!!activeAccount) return [3 /*break*/, 5];\n return [4 /*yield*/, this.sendInternalError('No active account!')];\n case 4: throw _e.sent();\n case 5:\n request = {\n type: beacon_types_1.BeaconMessageType.OperationRequest,\n network: activeAccount.network || this.network,\n operationDetails: input.operationDetails,\n sourceAddress: activeAccount.address || ''\n };\n this.analytics.track('event', 'DAppClient', 'Operation requested');\n return [4 /*yield*/, this.makeRequest(request).catch(function (requestError) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.handleRequestError(request, requestError)];\n case 1: throw _a.sent();\n }\n });\n }); })];\n case 6:\n _a = _e.sent(), message = _a.message, connectionInfo = _a.connectionInfo;\n _b = this.notifySuccess;\n _c = [request];\n _d = {\n account: activeAccount,\n output: message,\n blockExplorer: this.blockExplorer,\n connectionContext: connectionInfo\n };\n return [4 /*yield*/, this.getWalletInfo()];\n case 7: return [4 /*yield*/, _b.apply(this, _c.concat([(_d.walletInfo = _e.sent(),\n _d)]))];\n case 8:\n _e.sent();\n this.analytics.track('event', 'DAppClient', 'Operation response');\n return [2 /*return*/, message];\n }\n });\n });\n };\n /**\n * Sends a \"BroadcastRequest\" to the wallet. This method can be used to inject an already signed transaction\n * to the network.\n *\n * @param input The message details we need to prepare the BroadcastRequest message.\n */\n DAppClient.prototype.requestBroadcast = function (input) {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n var request, _b, message, connectionInfo, _c, _d;\n var _e;\n var _this = this;\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0:\n if (!!input.signedTransaction) return [3 /*break*/, 2];\n return [4 /*yield*/, this.sendInternalError('Signed transaction must be provided')];\n case 1: throw _f.sent();\n case 2:\n // Add error message for deprecation of network\n // TODO: Remove when we remove deprecated preferredNetwork\n if (input.network !== undefined && this.network.type !== ((_a = input.network) === null || _a === void 0 ? void 0 : _a.type)) {\n console.error('[BEACON] The network specified in the DAppClient constructor does not match the network set in the broadcast request. Please set the network in the constructor. Setting it during the Broadcast Request is deprecated.');\n }\n request = {\n type: beacon_types_1.BeaconMessageType.BroadcastRequest,\n network: this.network,\n signedTransaction: input.signedTransaction\n };\n this.analytics.track('event', 'DAppClient', 'Broadcast requested');\n return [4 /*yield*/, this.makeRequest(request).catch(function (requestError) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.handleRequestError(request, requestError)];\n case 1: throw _a.sent();\n }\n });\n }); })];\n case 3:\n _b = _f.sent(), message = _b.message, connectionInfo = _b.connectionInfo;\n _c = this.notifySuccess;\n _d = [request];\n _e = {\n network: this.network,\n output: message,\n blockExplorer: this.blockExplorer,\n connectionContext: connectionInfo\n };\n return [4 /*yield*/, this.getWalletInfo()];\n case 4: return [4 /*yield*/, _c.apply(this, _d.concat([(_e.walletInfo = _f.sent(),\n _e)]))];\n case 5:\n _f.sent();\n this.analytics.track('event', 'DAppClient', 'Broadcast response');\n return [2 /*return*/, message];\n }\n });\n });\n };\n DAppClient.prototype.setActivePeer = function (peer) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (this._activePeer.isSettled()) {\n // If the promise has already been resolved we need to create a new one.\n this._activePeer = beacon_utils_1.ExposedPromise.resolve(peer);\n }\n else {\n this._activePeer.resolve(peer);\n }\n if (!peer) return [3 /*break*/, 5];\n return [4 /*yield*/, this.initInternalTransports()];\n case 1:\n _a.sent();\n if (!(peer.type === 'postmessage-pairing-response')) return [3 /*break*/, 3];\n return [4 /*yield*/, this.setTransport(this.postMessageTransport)];\n case 2:\n _a.sent();\n return [3 /*break*/, 5];\n case 3:\n if (!(peer.type === 'p2p-pairing-response')) return [3 /*break*/, 5];\n return [4 /*yield*/, this.setTransport(this.p2pTransport)];\n case 4:\n _a.sent();\n _a.label = 5;\n case 5: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * A \"setter\" for when the transport needs to be changed.\n */\n DAppClient.prototype.setTransport = function (transport) {\n return __awaiter(this, void 0, void 0, function () {\n var result;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!transport) {\n this._initPromise = undefined;\n }\n result = _super.prototype.setTransport.call(this, transport);\n return [4 /*yield*/, this.events.emit(events_1.BeaconEvent.ACTIVE_TRANSPORT_SET, transport)];\n case 1:\n _a.sent();\n return [2 /*return*/, result];\n }\n });\n });\n };\n /**\n * This method will emit an internal error message.\n *\n * @param errorMessage The error message to send.\n */\n DAppClient.prototype.sendInternalError = function (errorMessage) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.events.emit(events_1.BeaconEvent.INTERNAL_ERROR, { text: errorMessage })];\n case 1:\n _a.sent();\n throw new Error(errorMessage);\n }\n });\n });\n };\n /**\n * This method will remove all accounts associated with a specific peer.\n *\n * @param peersToRemove An array of peers for which accounts should be removed\n */\n DAppClient.prototype.removeAccountsForPeers = function (peersToRemove) {\n return __awaiter(this, void 0, void 0, function () {\n var peerIdsToRemove;\n return __generator(this, function (_a) {\n peerIdsToRemove = peersToRemove.map(function (peer) { return peer.senderId; });\n return [2 /*return*/, this.removeAccountsForPeerIds(peerIdsToRemove)];\n });\n });\n };\n DAppClient.prototype.removeAccountsForPeerIds = function (peerIds) {\n return __awaiter(this, void 0, void 0, function () {\n var accounts, accountsToRemove, accountIdentifiersToRemove, activeAccount;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.accountManager.getAccounts()\n // Remove all accounts with origin of the specified peer\n ];\n case 1:\n accounts = _a.sent();\n accountsToRemove = accounts.filter(function (account) { return peerIds.includes(account.senderId); });\n accountIdentifiersToRemove = accountsToRemove.map(function (accountInfo) { return accountInfo.accountIdentifier; });\n return [4 /*yield*/, this.accountManager.removeAccounts(accountIdentifiersToRemove)\n // Check if one of the accounts that was removed was the active account and if yes, set it to undefined\n ];\n case 2:\n _a.sent();\n return [4 /*yield*/, this.getActiveAccount()];\n case 3:\n activeAccount = _a.sent();\n if (!activeAccount) return [3 /*break*/, 5];\n if (!accountIdentifiersToRemove.includes(activeAccount.accountIdentifier)) return [3 /*break*/, 5];\n return [4 /*yield*/, this.setActiveAccount(undefined)];\n case 4:\n _a.sent();\n _a.label = 5;\n case 5: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * This message handles errors that we receive from the wallet.\n *\n * @param request The request we sent\n * @param beaconError The error we received\n */\n DAppClient.prototype.handleRequestError = function (request, beaconError) {\n return __awaiter(this, void 0, void 0, function () {\n var buttons, actionCallback, peer, activeAccount, _a, _b, _c, _d;\n var _e;\n var _this = this;\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0:\n logger.error('handleRequestError', 'error response', beaconError);\n if (!beaconError.errorType) return [3 /*break*/, 9];\n buttons = [];\n if (beaconError.errorType === beacon_types_1.BeaconErrorType.NO_PRIVATE_KEY_FOUND_ERROR) {\n actionCallback = function () { return __awaiter(_this, void 0, void 0, function () {\n var operationRequest, accountInfo, accountIdentifier;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n operationRequest = request;\n if (!(operationRequest.sourceAddress && operationRequest.network)) return [3 /*break*/, 4];\n return [4 /*yield*/, (0, beacon_core_1.getAccountIdentifier)(operationRequest.sourceAddress, operationRequest.network)];\n case 1:\n accountIdentifier = _a.sent();\n return [4 /*yield*/, this.getAccount(accountIdentifier)];\n case 2:\n accountInfo = _a.sent();\n if (!accountInfo) return [3 /*break*/, 4];\n return [4 /*yield*/, this.removeAccount(accountInfo.accountIdentifier)];\n case 3:\n _a.sent();\n _a.label = 4;\n case 4: return [2 /*return*/];\n }\n });\n }); };\n buttons.push({ text: 'Remove account', actionCallback: actionCallback });\n }\n return [4 /*yield*/, this.getPeer()];\n case 1:\n peer = _f.sent();\n return [4 /*yield*/, this.getActiveAccount()\n // If we sent a permission request, received an error and there is no active account, we need to reset the DAppClient.\n // This most likely means that the user rejected the first permission request after pairing a wallet, so we \"forget\" the paired wallet to allow the user to pair again.\n ];\n case 2:\n activeAccount = _f.sent();\n _a = request.type === beacon_types_1.BeaconMessageType.PermissionRequest;\n if (!_a) return [3 /*break*/, 4];\n return [4 /*yield*/, this.getActiveAccount()];\n case 3:\n _a = (_f.sent()) === undefined;\n _f.label = 4;\n case 4:\n if (!_a) return [3 /*break*/, 7];\n this._initPromise = undefined;\n this.postMessageTransport = undefined;\n this.p2pTransport = undefined;\n this.walletConnectTransport = undefined;\n return [4 /*yield*/, this.setTransport()];\n case 5:\n _f.sent();\n return [4 /*yield*/, this.setActivePeer()];\n case 6:\n _f.sent();\n _f.label = 7;\n case 7:\n _c = (_b = this.events)\n .emit;\n _d = [beacon_message_events_1.messageEvents[request.type].error];\n _e = {\n errorResponse: beaconError\n };\n return [4 /*yield*/, this.getWalletInfo(peer, activeAccount)];\n case 8:\n _c.apply(_b, _d.concat([(_e.walletInfo = _f.sent(),\n _e.errorMessages = this.errorMessages,\n _e), buttons]))\n .catch(function (emitError) { return logger.error('handleRequestError', emitError); });\n throw beacon_core_1.BeaconError.getError(beaconError.errorType, beaconError.errorData);\n case 9: throw beaconError;\n }\n });\n });\n };\n /**\n * This message will send an event when we receive a successful response to one of the requests we sent.\n *\n * @param request The request we sent\n * @param response The response we received\n */\n DAppClient.prototype.notifySuccess = function (request, response) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n this.events\n .emit(beacon_message_events_1.messageEvents[request.type].success, response)\n .catch(function (emitError) { return console.warn(emitError); });\n return [2 /*return*/];\n });\n });\n };\n DAppClient.prototype.getWalletInfo = function (peer, account) {\n var _a, _b;\n return __awaiter(this, void 0, void 0, function () {\n var selectedAccount, _c, selectedPeer, _d, walletInfo, typedPeer, lowerCaseCompare, selectedApp, type, deeplink;\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n if (!account) return [3 /*break*/, 1];\n _c = account;\n return [3 /*break*/, 3];\n case 1: return [4 /*yield*/, this.getActiveAccount()];\n case 2:\n _c = _e.sent();\n _e.label = 3;\n case 3:\n selectedAccount = _c;\n if (!peer) return [3 /*break*/, 4];\n _d = peer;\n return [3 /*break*/, 6];\n case 4: return [4 /*yield*/, this.getPeer(selectedAccount)];\n case 5:\n _d = _e.sent();\n _e.label = 6;\n case 6:\n selectedPeer = _d;\n if (!selectedAccount) return [3 /*break*/, 8];\n return [4 /*yield*/, this.appMetadataManager.getAppMetadata(selectedAccount.senderId)];\n case 7:\n walletInfo = _e.sent();\n _e.label = 8;\n case 8:\n typedPeer = selectedPeer;\n if (!walletInfo) {\n walletInfo = {\n name: typedPeer === null || typedPeer === void 0 ? void 0 : typedPeer.name,\n icon: typedPeer === null || typedPeer === void 0 ? void 0 : typedPeer.icon\n };\n }\n lowerCaseCompare = function (str1, str2) {\n if (str1 && str2) {\n return str1.toLowerCase() === str2.toLowerCase();\n }\n return false;\n };\n // TODO: Remove once all wallets send the icon?\n if ((0, beacon_ui_1.getiOSList)().find(function (app) { return lowerCaseCompare(app.name, walletInfo === null || walletInfo === void 0 ? void 0 : walletInfo.name); })) {\n selectedApp = (0, beacon_ui_1.getiOSList)().find(function (app) { return lowerCaseCompare(app.name, walletInfo === null || walletInfo === void 0 ? void 0 : walletInfo.name); });\n type = 'mobile';\n }\n else if ((0, beacon_ui_1.getWebList)().find(function (app) { return lowerCaseCompare(app.name, walletInfo === null || walletInfo === void 0 ? void 0 : walletInfo.name); })) {\n selectedApp = (0, beacon_ui_1.getWebList)().find(function (app) { return lowerCaseCompare(app.name, walletInfo === null || walletInfo === void 0 ? void 0 : walletInfo.name); });\n type = 'web';\n }\n else if ((0, beacon_ui_1.getDesktopList)().find(function (app) { return lowerCaseCompare(app.name, walletInfo === null || walletInfo === void 0 ? void 0 : walletInfo.name); })) {\n selectedApp = (0, beacon_ui_1.getDesktopList)().find(function (app) { return lowerCaseCompare(app.name, walletInfo === null || walletInfo === void 0 ? void 0 : walletInfo.name); });\n type = 'desktop';\n }\n else if ((0, beacon_ui_1.getExtensionList)().find(function (app) { return lowerCaseCompare(app.name, walletInfo === null || walletInfo === void 0 ? void 0 : walletInfo.name); })) {\n selectedApp = (0, beacon_ui_1.getExtensionList)().find(function (app) { return lowerCaseCompare(app.name, walletInfo === null || walletInfo === void 0 ? void 0 : walletInfo.name); });\n type = 'extension';\n }\n if (selectedApp) {\n deeplink = void 0;\n if (selectedApp.hasOwnProperty('links')) {\n deeplink = selectedApp.links[(_a = selectedAccount === null || selectedAccount === void 0 ? void 0 : selectedAccount.network.type) !== null && _a !== void 0 ? _a : this.network.type];\n }\n else if (selectedApp.hasOwnProperty('deepLink')) {\n deeplink = selectedApp.deepLink;\n }\n return [2 /*return*/, {\n name: walletInfo.name,\n icon: (_b = walletInfo.icon) !== null && _b !== void 0 ? _b : selectedApp.logo,\n deeplink: deeplink,\n type: type\n }];\n }\n return [2 /*return*/, walletInfo];\n }\n });\n });\n };\n DAppClient.prototype.getPeer = function (account) {\n var _a, _b, _c, _d, _e, _f;\n return __awaiter(this, void 0, void 0, function () {\n var peer, postMessagePeers, p2pPeers, walletConnectPeers, peers;\n return __generator(this, function (_g) {\n switch (_g.label) {\n case 0:\n if (!account) return [3 /*break*/, 4];\n logger.log('getPeer', 'We have an account', account);\n return [4 /*yield*/, ((_a = this.postMessageTransport) === null || _a === void 0 ? void 0 : _a.getPeers())];\n case 1:\n postMessagePeers = (_b = (_g.sent())) !== null && _b !== void 0 ? _b : [];\n return [4 /*yield*/, ((_c = this.p2pTransport) === null || _c === void 0 ? void 0 : _c.getPeers())];\n case 2:\n p2pPeers = (_d = (_g.sent())) !== null && _d !== void 0 ? _d : [];\n return [4 /*yield*/, ((_e = this.walletConnectTransport) === null || _e === void 0 ? void 0 : _e.getPeers())];\n case 3:\n walletConnectPeers = (_f = (_g.sent())) !== null && _f !== void 0 ? _f : [];\n peers = __spreadArray(__spreadArray(__spreadArray([], postMessagePeers, true), p2pPeers, true), walletConnectPeers, true);\n logger.log('getPeer', 'Found peers', peers, account);\n peer = peers.find(function (peerEl) { return peerEl.senderId === account.senderId; });\n if (!peer) {\n // We could not find an exact match for a sender, so we most likely received it over a relay\n peer = peers.find(function (peerEl) { return peerEl.extensionId === account.origin.id; });\n }\n return [3 /*break*/, 6];\n case 4: return [4 /*yield*/, this._activePeer.promise];\n case 5:\n peer = _g.sent();\n logger.log('getPeer', 'Active peer', peer);\n _g.label = 6;\n case 6: return [2 /*return*/, peer];\n }\n });\n });\n };\n /**\n * This method handles sending of requests to the DApp. It makes sure that the DAppClient is initialized and connected\n * to the transport. After that rate limits and permissions will be checked, an ID is attached and the request is sent\n * to the DApp over the transport.\n *\n * @param requestInput The BeaconMessage to be sent to the wallet\n * @param account The account that the message will be sent to\n */\n DAppClient.prototype.makeRequest = function (requestInput) {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n var messageId, request, _b, exposed, payload, account, peer, walletInfo, sendError_1;\n var _c;\n var _this = this;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0: return [4 /*yield*/, (0, beacon_utils_1.generateGUID)()];\n case 1:\n messageId = _d.sent();\n logger.time(true, messageId);\n logger.log('makeRequest', 'starting');\n return [4 /*yield*/, this.init()];\n case 2:\n _d.sent();\n logger.timeLog(messageId, 'init done');\n logger.log('makeRequest', 'after init');\n return [4 /*yield*/, this.addRequestAndCheckIfRateLimited()];\n case 3:\n if (_d.sent()) {\n this.events\n .emit(events_1.BeaconEvent.LOCAL_RATE_LIMIT_REACHED)\n .catch(function (emitError) { return console.warn(emitError); });\n throw new Error('rate limit reached');\n }\n return [4 /*yield*/, this.checkPermissions(requestInput.type)];\n case 4:\n if (!(_d.sent())) {\n this.events.emit(events_1.BeaconEvent.NO_PERMISSIONS).catch(function (emitError) { return console.warn(emitError); });\n throw new Error('No permissions to send this request to wallet!');\n }\n if (!!this.beaconId) return [3 /*break*/, 6];\n return [4 /*yield*/, this.sendInternalError('BeaconID not defined')];\n case 5: throw _d.sent();\n case 6:\n _c = { id: messageId, version: '2' };\n _b = beacon_core_1.getSenderId;\n return [4 /*yield*/, this.beaconId];\n case 7: return [4 /*yield*/, _b.apply(void 0, [_d.sent()])];\n case 8:\n request = __assign.apply(void 0, [(_c.senderId = _d.sent(), _c), requestInput]);\n exposed = new beacon_utils_1.ExposedPromise();\n this.addOpenRequest(request.id, exposed);\n return [4 /*yield*/, new beacon_core_1.Serializer().serialize(request)];\n case 9:\n payload = _d.sent();\n return [4 /*yield*/, this.getActiveAccount()];\n case 10:\n account = _d.sent();\n return [4 /*yield*/, this.getPeer(account)];\n case 11:\n peer = _d.sent();\n return [4 /*yield*/, this.getWalletInfo(peer, account)];\n case 12:\n walletInfo = _d.sent();\n logger.log('makeRequest', 'sending message', request);\n logger.timeLog('makeRequest', messageId, 'sending');\n _d.label = 13;\n case 13:\n _d.trys.push([13, 16, , 17]);\n return [4 /*yield*/, this.transport];\n case 14: return [4 /*yield*/, (_d.sent()).send(payload, peer)];\n case 15:\n _d.sent();\n return [3 /*break*/, 17];\n case 16:\n sendError_1 = _d.sent();\n this.events.emit(events_1.BeaconEvent.INTERNAL_ERROR, {\n text: 'Unable to send message. If this problem persists, please reset the connection and pair your wallet again.',\n buttons: [\n {\n text: 'Reset Connection',\n actionCallback: function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, (0, beacon_ui_1.closeToast)()];\n case 1:\n _a.sent();\n this.disconnect();\n return [2 /*return*/];\n }\n });\n }); }\n }\n ]\n });\n logger.timeLog('makeRequest', messageId, 'send error');\n throw sendError_1;\n case 17:\n logger.timeLog('makeRequest', messageId, 'sent');\n this.events\n .emit(beacon_message_events_1.messageEvents[requestInput.type].sent, {\n walletInfo: __assign(__assign({}, walletInfo), { name: (_a = walletInfo.name) !== null && _a !== void 0 ? _a : 'Wallet' }),\n extraInfo: {\n resetCallback: function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n this.disconnect();\n return [2 /*return*/];\n });\n }); }\n }\n })\n .catch(function (emitError) { return console.warn(emitError); });\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return [2 /*return*/, exposed.promise]; // TODO: fix type\n }\n });\n });\n };\n /**\n * This method handles sending of requests to the DApp. It makes sure that the DAppClient is initialized and connected\n * to the transport. After that rate limits and permissions will be checked, an ID is attached and the request is sent\n * to the DApp over the transport.\n *\n * @param requestInput The BeaconMessage to be sent to the wallet\n * @param account The account that the message will be sent to\n */\n DAppClient.prototype.makeRequestV3 = function (requestInput) {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n var messageId, request, _b, exposed, payload, account, peer, walletInfo, sendError_2, index;\n var _c;\n var _this = this;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0: return [4 /*yield*/, (0, beacon_utils_1.generateGUID)()];\n case 1:\n messageId = _d.sent();\n logger.time(true, messageId);\n logger.log('makeRequest', 'starting');\n return [4 /*yield*/, this.init()];\n case 2:\n _d.sent();\n logger.timeLog('makeRequest', messageId, 'init done');\n logger.log('makeRequest', 'after init');\n return [4 /*yield*/, this.addRequestAndCheckIfRateLimited()];\n case 3:\n if (_d.sent()) {\n this.events\n .emit(events_1.BeaconEvent.LOCAL_RATE_LIMIT_REACHED)\n .catch(function (emitError) { return console.warn(emitError); });\n throw new Error('rate limit reached');\n }\n if (!!this.beaconId) return [3 /*break*/, 5];\n return [4 /*yield*/, this.sendInternalError('BeaconID not defined')];\n case 4: throw _d.sent();\n case 5:\n _c = {\n id: messageId,\n version: '3'\n };\n _b = beacon_core_1.getSenderId;\n return [4 /*yield*/, this.beaconId];\n case 6: return [4 /*yield*/, _b.apply(void 0, [_d.sent()])];\n case 7:\n request = (_c.senderId = _d.sent(),\n _c.message = requestInput,\n _c);\n exposed = new beacon_utils_1.ExposedPromise();\n this.addOpenRequest(request.id, exposed);\n return [4 /*yield*/, new beacon_core_1.Serializer().serialize(request)];\n case 8:\n payload = _d.sent();\n return [4 /*yield*/, this.getActiveAccount()];\n case 9:\n account = _d.sent();\n return [4 /*yield*/, this.getPeer(account)];\n case 10:\n peer = _d.sent();\n return [4 /*yield*/, this.getWalletInfo(peer, account)];\n case 11:\n walletInfo = _d.sent();\n logger.log('makeRequest', 'sending message', request);\n logger.timeLog('makeRequest', messageId, 'sending');\n _d.label = 12;\n case 12:\n _d.trys.push([12, 15, , 16]);\n return [4 /*yield*/, this.transport];\n case 13: return [4 /*yield*/, (_d.sent()).send(payload, peer)];\n case 14:\n _d.sent();\n return [3 /*break*/, 16];\n case 15:\n sendError_2 = _d.sent();\n this.events.emit(events_1.BeaconEvent.INTERNAL_ERROR, {\n text: 'Unable to send message. If this problem persists, please reset the connection and pair your wallet again.',\n buttons: [\n {\n text: 'Reset Connection',\n actionCallback: function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, (0, beacon_ui_1.closeToast)()];\n case 1:\n _a.sent();\n this.disconnect();\n return [2 /*return*/];\n }\n });\n }); }\n }\n ]\n });\n logger.timeLog('makeRequest', messageId, 'send error');\n throw sendError_2;\n case 16:\n logger.timeLog('makeRequest', messageId, 'sent');\n index = requestInput.type;\n this.events\n .emit(beacon_message_events_1.messageEvents[index].sent, {\n walletInfo: __assign(__assign({}, walletInfo), { name: (_a = walletInfo.name) !== null && _a !== void 0 ? _a : 'Wallet' }),\n extraInfo: {\n resetCallback: function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n this.disconnect();\n return [2 /*return*/];\n });\n }); }\n }\n })\n .catch(function (emitError) { return console.warn(emitError); });\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return [2 /*return*/, exposed.promise]; // TODO: fix type\n }\n });\n });\n };\n DAppClient.prototype.disconnect = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _a, _b, _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n this.postMessageTransport = undefined;\n this.p2pTransport = undefined;\n this.walletConnectTransport = undefined;\n _b = (_a = Promise).all;\n _c = [this.clearActiveAccount()];\n return [4 /*yield*/, this.transport];\n case 1: return [4 /*yield*/, _b.apply(_a, [_c.concat([(_d.sent()).disconnect()])])];\n case 2:\n _d.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Adds a requests to the \"openRequests\" set so we know what messages have already been answered/handled.\n *\n * @param id The ID of the message\n * @param promise A promise that resolves once the response for that specific message is received\n */\n DAppClient.prototype.addOpenRequest = function (id, promise) {\n logger.log('addOpenRequest', this.name, \"adding request \".concat(id, \" and waiting for answer\"));\n this.openRequests.set(id, promise);\n };\n DAppClient.prototype.sendNotificationWithAccessToken = function (notification) {\n return __awaiter(this, void 0, void 0, function () {\n var url, recipient, title, body, payload, protocolIdentifier, accessToken, timestamp, keypair, rawPublicKey, prefix, publicKey, constructedString, bytes, payloadBytes, signature, notificationResponse;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n url = notification.url, recipient = notification.recipient, title = notification.title, body = notification.body, payload = notification.payload, protocolIdentifier = notification.protocolIdentifier, accessToken = notification.accessToken;\n timestamp = new Date().toISOString();\n return [4 /*yield*/, this.keyPair];\n case 1:\n keypair = _a.sent();\n rawPublicKey = keypair.publicKey;\n prefix = Buffer.from(new Uint8Array([13, 15, 37, 217]));\n publicKey = bs58check.encode(Buffer.concat([prefix, Buffer.from(rawPublicKey)]));\n constructedString = [\n 'Tezos Signed Message: ',\n recipient,\n title,\n body,\n timestamp,\n payload\n ].join(' ');\n bytes = (0, beacon_utils_1.toHex)(constructedString);\n payloadBytes = '05' + '01' + bytes.length.toString(16).padStart(8, '0') + bytes;\n return [4 /*yield*/, (0, beacon_utils_2.signMessage)(payloadBytes, {\n secretKey: Buffer.from(keypair.secretKey)\n })];\n case 2:\n signature = _a.sent();\n return [4 /*yield*/, axios_1.default.post(\"\".concat(url, \"/send\"), {\n recipient: recipient,\n title: title,\n body: body,\n timestamp: timestamp,\n payload: payload,\n accessToken: accessToken,\n protocolIdentifier: protocolIdentifier,\n sender: {\n name: this.name,\n publicKey: publicKey,\n signature: signature\n }\n })];\n case 3:\n notificationResponse = _a.sent();\n return [2 /*return*/, notificationResponse.data];\n }\n });\n });\n };\n DAppClient.prototype.onNewAccount = function (message, connectionInfo) {\n return __awaiter(this, void 0, void 0, function () {\n var publicKey, address, walletKey, accountInfo;\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, (0, beacon_utils_1.prefixPublicKey)(message.publicKey || message.pubkey || message.pubKey)];\n case 1:\n publicKey = _b.sent();\n return [4 /*yield*/, (0, beacon_utils_1.getAddressFromPublicKey)(publicKey)];\n case 2:\n address = _b.sent();\n console.log('######## MESSAGE #######');\n console.log(message);\n return [4 /*yield*/, this.storage.get(beacon_types_1.StorageKey.LAST_SELECTED_WALLET)];\n case 3:\n walletKey = _b.sent();\n _a = {};\n return [4 /*yield*/, (0, beacon_core_1.getAccountIdentifier)(address, message.network)];\n case 4:\n accountInfo = (_a.accountIdentifier = _b.sent(),\n _a.senderId = message.senderId,\n _a.origin = {\n type: connectionInfo.origin,\n id: connectionInfo.id\n },\n _a.walletKey = walletKey,\n _a.address = address,\n _a.publicKey = publicKey,\n _a.network = message.network,\n _a.scopes = message.scopes,\n _a.threshold = message.threshold,\n _a.notification = message.notification,\n _a.connectedAt = new Date().getTime(),\n _a);\n console.log('######## ACCOUNT INFO #######');\n console.log(JSON.stringify(accountInfo));\n return [4 /*yield*/, this.accountManager.addAccount(accountInfo)];\n case 5:\n _b.sent();\n return [4 /*yield*/, this.setActiveAccount(accountInfo)];\n case 6:\n _b.sent();\n return [2 /*return*/, accountInfo];\n }\n });\n });\n };\n return DAppClient;\n}(beacon_core_1.Client));\nexports.DAppClient = DAppClient;\n//# sourceMappingURL=DAppClient.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-dapp/dist/cjs/dapp-client/DAppClient.js?")},"./packages/beacon-dapp/dist/cjs/events.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError("Generator is already executing.");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nvar _a;\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.BeaconEventHandler = exports.defaultEventCallbacks = exports.BeaconEvent = void 0;\nvar beacon_dapp_1 = __webpack_require__(/*! @airgap/beacon-dapp */ "./packages/beacon-dapp/dist/cjs/index.js");\nvar beacon_types_1 = __webpack_require__(/*! @airgap/beacon-types */ "./packages/beacon-types/dist/cjs/index.js");\nvar beacon_core_1 = __webpack_require__(/*! @airgap/beacon-core */ "./packages/beacon-core/dist/cjs/index.js");\nvar shorten_string_1 = __webpack_require__(/*! ./utils/shorten-string */ "./packages/beacon-dapp/dist/cjs/utils/shorten-string.js");\nvar beacon_ui_1 = __webpack_require__(/*! @airgap/beacon-ui */ "./packages/beacon-ui/dist/cjs/index.js");\nvar logger = new beacon_core_1.Logger(\'BeaconEvents\');\nvar SUCCESS_TIMER = 5 * 1000;\n/**\n * The different events that can be emitted by the beacon-sdk\n */\nvar BeaconEvent;\n(function (BeaconEvent) {\n BeaconEvent["PERMISSION_REQUEST_SENT"] = "PERMISSION_REQUEST_SENT";\n BeaconEvent["PERMISSION_REQUEST_SUCCESS"] = "PERMISSION_REQUEST_SUCCESS";\n BeaconEvent["PERMISSION_REQUEST_ERROR"] = "PERMISSION_REQUEST_ERROR";\n BeaconEvent["OPERATION_REQUEST_SENT"] = "OPERATION_REQUEST_SENT";\n BeaconEvent["OPERATION_REQUEST_SUCCESS"] = "OPERATION_REQUEST_SUCCESS";\n BeaconEvent["OPERATION_REQUEST_ERROR"] = "OPERATION_REQUEST_ERROR";\n BeaconEvent["SIGN_REQUEST_SENT"] = "SIGN_REQUEST_SENT";\n BeaconEvent["SIGN_REQUEST_SUCCESS"] = "SIGN_REQUEST_SUCCESS";\n BeaconEvent["SIGN_REQUEST_ERROR"] = "SIGN_REQUEST_ERROR";\n // TODO: ENCRYPTION\n // ENCRYPT_REQUEST_SENT = \'ENCRYPT_REQUEST_SENT\',\n // ENCRYPT_REQUEST_SUCCESS = \'ENCRYPT_REQUEST_SUCCESS\',\n // ENCRYPT_REQUEST_ERROR = \'ENCRYPT_REQUEST_ERROR\',\n BeaconEvent["BROADCAST_REQUEST_SENT"] = "BROADCAST_REQUEST_SENT";\n BeaconEvent["BROADCAST_REQUEST_SUCCESS"] = "BROADCAST_REQUEST_SUCCESS";\n BeaconEvent["BROADCAST_REQUEST_ERROR"] = "BROADCAST_REQUEST_ERROR";\n BeaconEvent["ACKNOWLEDGE_RECEIVED"] = "ACKNOWLEDGE_RECEIVED";\n BeaconEvent["LOCAL_RATE_LIMIT_REACHED"] = "LOCAL_RATE_LIMIT_REACHED";\n BeaconEvent["NO_PERMISSIONS"] = "NO_PERMISSIONS";\n BeaconEvent["ACTIVE_ACCOUNT_SET"] = "ACTIVE_ACCOUNT_SET";\n BeaconEvent["ACTIVE_TRANSPORT_SET"] = "ACTIVE_TRANSPORT_SET";\n BeaconEvent["SHOW_PREPARE"] = "SHOW_PREPARE";\n BeaconEvent["HIDE_UI"] = "HIDE_UI";\n BeaconEvent["PAIR_INIT"] = "PAIR_INIT";\n BeaconEvent["PAIR_SUCCESS"] = "PAIR_SUCCESS";\n BeaconEvent["CHANNEL_CLOSED"] = "CHANNEL_CLOSED";\n BeaconEvent["INTERNAL_ERROR"] = "INTERNAL_ERROR";\n BeaconEvent["UNKNOWN"] = "UNKNOWN";\n})(BeaconEvent = exports.BeaconEvent || (exports.BeaconEvent = {}));\n/**\n * Show a "Request sent" toast\n */\nvar showSentToast = function (data) { return __awaiter(void 0, void 0, void 0, function () {\n var openWalletAction, actions, link_1;\n return __generator(this, function (_a) {\n actions = [];\n if (data.walletInfo.deeplink) {\n if (data.walletInfo.type === \'web\' ||\n (data.walletInfo.type === \'mobile\' && (0, beacon_ui_1.isMobile)(window)) ||\n (data.walletInfo.type === \'desktop\' && !(0, beacon_ui_1.isMobile)(window))) {\n link_1 = data.walletInfo.deeplink;\n openWalletAction = function () { return __awaiter(void 0, void 0, void 0, function () {\n var a;\n return __generator(this, function (_a) {\n a = document.createElement(\'a\');\n a.setAttribute(\'rel\', \'noopener\');\n a.setAttribute(\'href\', link_1);\n a.setAttribute(\'target\', \'_blank\');\n a.dispatchEvent(new MouseEvent(\'click\', { view: window, bubbles: true, cancelable: true }));\n return [2 /*return*/];\n });\n }); };\n }\n }\n actions.push({\n text: "No answer from your wallet received yet. Please make sure the wallet is open.",\n isBold: true\n });\n actions.push({\n text: \'Did you make a mistake?\',\n actionText: \'Cancel Request\',\n actionCallback: function () { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, (0, beacon_dapp_1.closeToast)()];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); }\n });\n actions.push({\n text: \'Wallet not receiving request?\',\n actionText: \'Reset Connection\',\n actionCallback: function () { return __awaiter(void 0, void 0, void 0, function () {\n var resetCallback;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, (0, beacon_dapp_1.closeToast)()\n // eslint-disable-next-line @typescript-eslint/unbound-method\n ];\n case 1:\n _a.sent();\n resetCallback = data.extraInfo.resetCallback;\n if (!resetCallback) return [3 /*break*/, 3];\n logger.log(\'showSentToast\', \'resetCallback invoked\');\n return [4 /*yield*/, resetCallback()];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3: return [2 /*return*/];\n }\n });\n }); }\n });\n (0, beacon_dapp_1.openToast)({\n body: "Request sent to\\u00A0 {{wallet}}",\n walletInfo: data.walletInfo,\n state: \'loading\',\n actions: actions,\n openWalletAction: openWalletAction\n }).catch(function (toastError) { return console.error(toastError); });\n return [2 /*return*/];\n });\n}); };\nvar showAcknowledgedToast = function (data) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n (0, beacon_dapp_1.openToast)({\n body: \'Awaiting confirmation in\\u00A0 {{wallet}}\',\n state: \'acknowledge\',\n walletInfo: data.walletInfo\n }).catch(function (toastError) { return console.error(toastError); });\n return [2 /*return*/];\n });\n}); };\nvar showPrepare = function (data) { return __awaiter(void 0, void 0, void 0, function () {\n var text;\n return __generator(this, function (_a) {\n text = data.walletInfo\n ? "Preparing Request for\\u00A0 {{wallet}}..."\n : \'Preparing Request...\';\n (0, beacon_dapp_1.openToast)({\n body: text,\n state: \'prepare\',\n walletInfo: data.walletInfo\n }).catch(function (toastError) { return console.error(toastError); });\n return [2 /*return*/];\n });\n}); };\nvar hideUI = function (elements) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!elements) return [3 /*break*/, 5];\n if (!elements.includes(\'alert\')) return [3 /*break*/, 2];\n return [4 /*yield*/, (0, beacon_dapp_1.closeAlerts)()];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2:\n if (!elements.includes(\'toast\')) return [3 /*break*/, 4];\n return [4 /*yield*/, (0, beacon_dapp_1.closeToast)()];\n case 3:\n _a.sent();\n _a.label = 4;\n case 4: return [3 /*break*/, 7];\n case 5: return [4 /*yield*/, (0, beacon_dapp_1.closeToast)()];\n case 6:\n _a.sent();\n _a.label = 7;\n case 7: return [2 /*return*/];\n }\n });\n}); };\n/**\n * Show a "No Permission" alert\n */\nvar showNoPermissionAlert = function () { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, (0, beacon_dapp_1.openAlert)({\n title: \'No Permission\',\n body: \'Please allow the wallet to handle this type of request.\'\n })];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n}); };\n/**\n * Show an error toast\n *\n * @param beaconError The beacon error\n */\nvar showErrorToast = function (response, buttons) { return __awaiter(void 0, void 0, void 0, function () {\n var error, actions, err, errorMessages, hasHumandReadableError, errCode, contractErrors;\n var _a, _b, _c, _d, _e, _f;\n return __generator(this, function (_g) {\n switch (_g.label) {\n case 0:\n error = response.errorResponse.errorType\n ? beacon_core_1.BeaconError.getError(response.errorResponse.errorType, response.errorResponse.errorData)\n : new beacon_core_1.UnknownBeaconError();\n actions = [\n {\n text: error.title,\n isBold: true\n }\n ];\n if (response.errorResponse.errorType === beacon_types_1.BeaconErrorType.TRANSACTION_INVALID_ERROR &&\n response.errorResponse.errorData) {\n err = response.errorResponse.errorData;\n errorMessages = response.errorMessages;\n hasHumandReadableError = false;\n if (((_a = err[0]) === null || _a === void 0 ? void 0 : _a.contract_handle) && errorMessages && (errorMessages === null || errorMessages === void 0 ? void 0 : errorMessages[err[0].contract_handle])) {\n errCode = (_d = (_c = (_b = err[1]) === null || _b === void 0 ? void 0 : _b.with) === null || _c === void 0 ? void 0 : _c.int) !== null && _d !== void 0 ? _d : (_f = (_e = err[1]) === null || _e === void 0 ? void 0 : _e.with) === null || _f === void 0 ? void 0 : _f.string;\n contractErrors = errorMessages === null || errorMessages === void 0 ? void 0 : errorMessages[err[0].contract_handle];\n if (errCode && (contractErrors === null || contractErrors === void 0 ? void 0 : contractErrors[errCode])) {\n actions.push({\n text: contractErrors === null || contractErrors === void 0 ? void 0 : contractErrors[errCode],\n isBold: true\n });\n hasHumandReadableError = true;\n }\n }\n if (!hasHumandReadableError) {\n actions.push({\n text: error.description\n });\n }\n actions.push({\n text: \'\',\n actionText: \'Show Details\',\n actionCallback: function () { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, (0, beacon_dapp_1.closeToast)()];\n case 1:\n _a.sent();\n return [4 /*yield*/, (0, beacon_dapp_1.openAlert)({\n title: error.title,\n // eslint-disable-next-line @typescript-eslint/unbound-method\n body: error.fullDescription.description,\n data: error.fullDescription.data,\n buttons: buttons\n })];\n case 2:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); }\n });\n }\n return [4 /*yield*/, (0, beacon_dapp_1.openToast)({\n body: "{{wallet}}\\u00A0 has returned an error",\n timer: response.errorResponse.errorType === beacon_types_1.BeaconErrorType.ABORTED_ERROR\n ? SUCCESS_TIMER\n : undefined,\n state: \'finished\',\n walletInfo: response.walletInfo,\n actions: actions\n })];\n case 1:\n _g.sent();\n return [2 /*return*/];\n }\n });\n}); };\n/**\n * Show a rate limit reached toast\n */\nvar showRateLimitReached = function () { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n (0, beacon_dapp_1.openAlert)({\n title: \'Error\',\n body: \'Rate limit reached. Please slow down\',\n buttons: [{ text: \'Done\', style: \'outline\' }],\n timer: 3000\n }).catch(function (toastError) { return console.error(toastError); });\n return [2 /*return*/];\n });\n}); };\n/**\n * Show a "connection successful" alert for 1.5 seconds\n */\nvar showExtensionConnectedAlert = function () { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, (0, beacon_dapp_1.closeAlerts)()];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n}); };\n/**\n * Show a "channel closed" alert for 1.5 seconds\n */\nvar showChannelClosedAlert = function () { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, (0, beacon_dapp_1.openAlert)({\n title: \'Channel closed\',\n body: "Your peer has closed the connection.",\n buttons: [{ text: \'Done\', style: \'outline\' }],\n timer: 1500\n })];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n}); };\nvar showInternalErrorAlert = function (data) { return __awaiter(void 0, void 0, void 0, function () {\n var buttons, alertConfig;\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n buttons = __spreadArray([], ((_a = data.buttons) !== null && _a !== void 0 ? _a : []), true);\n buttons.push({ text: \'Done\', style: \'outline\' });\n alertConfig = {\n title: \'Internal Error\',\n body: data.text,\n buttons: buttons\n };\n return [4 /*yield*/, (0, beacon_dapp_1.openAlert)(alertConfig)];\n case 1:\n _b.sent();\n return [2 /*return*/];\n }\n });\n}); };\n/**\n * Show a connect alert with QR code\n *\n * @param data The data that is emitted by the PAIR_INIT event\n */\nvar showPairAlert = function (data) { return __awaiter(void 0, void 0, void 0, function () {\n var alertConfig;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n console.log(\'showPairAlert\');\n alertConfig = {\n title: \'Choose your preferred wallet\',\n body: "

",\n pairingPayload: {\n p2pSyncCode: data.p2pPeerInfo,\n walletConnectSyncCode: data.walletConnectPeerInfo,\n postmessageSyncCode: data.postmessagePeerInfo,\n networkType: data.networkType\n },\n // eslint-disable-next-line @typescript-eslint/unbound-method\n closeButtonCallback: data.abortedHandler,\n disclaimerText: data.disclaimerText,\n analytics: data.analytics,\n featuredWallets: data.featuredWallets\n };\n return [4 /*yield*/, (0, beacon_dapp_1.openAlert)(alertConfig)];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n}); };\n/**\n * Show a "Permission Granted" alert\n *\n * @param data The data that is emitted by the PERMISSION_REQUEST_SUCCESS event\n */\nvar showPermissionSuccessAlert = function (data) { return __awaiter(void 0, void 0, void 0, function () {\n var output;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n output = data.output;\n return [4 /*yield*/, (0, beacon_dapp_1.openToast)({\n body: "{{wallet}}\\u00A0 has granted permission",\n timer: SUCCESS_TIMER,\n walletInfo: data.walletInfo,\n state: \'finished\',\n actions: [\n {\n text: \'Address\',\n actionText: (0, shorten_string_1.shortenString)(output.address),\n isBold: true\n },\n {\n text: \'Network\',\n actionText: "".concat(output.network.type)\n },\n {\n text: \'Permissions\',\n actionText: output.scopes.join(\', \')\n }\n ]\n })];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n}); };\n/**\n * Show an "Operation Broadcasted" alert\n *\n * @param data The data that is emitted by the OPERATION_REQUEST_SUCCESS event\n */\nvar showOperationSuccessAlert = function (data) { return __awaiter(void 0, void 0, void 0, function () {\n var account, output, blockExplorer;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n account = data.account, output = data.output, blockExplorer = data.blockExplorer;\n return [4 /*yield*/, (0, beacon_dapp_1.openToast)({\n body: "{{wallet}}\\u00A0 successfully submitted operation",\n timer: SUCCESS_TIMER,\n state: \'finished\',\n walletInfo: data.walletInfo,\n actions: [\n {\n text: (0, shorten_string_1.shortenString)(output.transactionHash),\n isBold: true,\n actionText: "Open Blockexplorer",\n actionLogo: \'external\',\n actionCallback: function () { return __awaiter(void 0, void 0, void 0, function () {\n var link;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, blockExplorer.getTransactionLink(output.transactionHash, account.network)];\n case 1:\n link = _a.sent();\n window.open(link, \'_blank\', \'noopener\');\n return [4 /*yield*/, (0, beacon_dapp_1.closeToast)()];\n case 2:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); }\n }\n ]\n })];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n}); };\n/**\n * Show a "Transaction Signed" alert\n *\n * @param data The data that is emitted by the SIGN_REQUEST_SUCCESS event\n */\nvar showSignSuccessAlert = function (data) { return __awaiter(void 0, void 0, void 0, function () {\n var output;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n output = data.output;\n return [4 /*yield*/, (0, beacon_dapp_1.openToast)({\n body: "{{wallet}}\\u00A0 successfully signed payload",\n timer: SUCCESS_TIMER,\n state: \'finished\',\n walletInfo: data.walletInfo,\n actions: [\n {\n text: "Signature: ".concat((0, shorten_string_1.shortenString)(output.signature)),\n actionText: \'Copy to clipboard\',\n actionCallback: function () { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n navigator.clipboard.writeText(output.signature).then(function () {\n logger.log(\'showSignSuccessAlert\', \'Copying to clipboard was successful!\');\n }, function (err) {\n logger.error(\'showSignSuccessAlert\', \'Could not copy text to clipboard: \', err);\n });\n return [4 /*yield*/, (0, beacon_dapp_1.closeToast)()];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); }\n }\n ]\n })];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n}); };\n/**\n * Show a "Transaction Signed" alert\n *\n * @param data The data that is emitted by the ENCRYPT_REQUEST_SUCCESS event\n */\n// TODO: ENCRYPTION\n// const showEncryptSuccessAlert = async (\n// data: BeaconEventType[BeaconEvent.ENCRYPT_REQUEST_SUCCESS]\n// ): Promise => {\n// const output = data.output\n// await openToast({\n// body: `{{wallet}}\\u00A0 successfully ${\n// data.output.cryptoOperation === EncryptionOperation.ENCRYPT ? \'encrypted\' : \'decrypted\'\n// } payload`,\n// timer: SUCCESS_TIMER,\n// state: \'finished\',\n// walletInfo: data.walletInfo,\n// actions: [\n// {\n// text: `Payload: ${shortenString(output.payload)}`,\n// actionText: \'Copy to clipboard\',\n// actionCallback: async (): Promise => {\n// navigator.clipboard.writeText(output.payload).then(\n// () => {\n// logger.log(\'showSignSuccessAlert\', \'Copying to clipboard was successful!\')\n// },\n// (err) => {\n// logger.error(\'showSignSuccessAlert\', \'Could not copy text to clipboard: \', err)\n// }\n// )\n// await closeToast()\n// }\n// }\n// ]\n// })\n// }\n/**\n * Show a "Broadcasted" alert\n *\n * @param data The data that is emitted by the BROADCAST_REQUEST_SUCCESS event\n */\nvar showBroadcastSuccessAlert = function (data) { return __awaiter(void 0, void 0, void 0, function () {\n var network, output, blockExplorer;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n network = data.network, output = data.output, blockExplorer = data.blockExplorer;\n return [4 /*yield*/, (0, beacon_dapp_1.openToast)({\n body: "{{wallet}}\\u00A0 successfully injected operation",\n timer: SUCCESS_TIMER,\n state: \'finished\',\n walletInfo: data.walletInfo,\n actions: [\n {\n text: (0, shorten_string_1.shortenString)(output.transactionHash),\n isBold: true,\n actionText: "Open Blockexplorer",\n actionLogo: \'external\',\n actionCallback: function () { return __awaiter(void 0, void 0, void 0, function () {\n var link;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, blockExplorer.getTransactionLink(output.transactionHash, network)];\n case 1:\n link = _a.sent();\n window.open(link, \'_blank\', \'noopener\');\n return [4 /*yield*/, (0, beacon_dapp_1.closeToast)()];\n case 2:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); }\n }\n ]\n })];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n}); };\nvar emptyHandler = function () { return function () { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/];\n });\n}); }; };\n/**\n * The default event handlers\n */\nexports.defaultEventCallbacks = (_a = {},\n _a[BeaconEvent.PERMISSION_REQUEST_SENT] = showSentToast,\n _a[BeaconEvent.PERMISSION_REQUEST_SUCCESS] = showPermissionSuccessAlert,\n _a[BeaconEvent.PERMISSION_REQUEST_ERROR] = showErrorToast,\n _a[BeaconEvent.OPERATION_REQUEST_SENT] = showSentToast,\n _a[BeaconEvent.OPERATION_REQUEST_SUCCESS] = showOperationSuccessAlert,\n _a[BeaconEvent.OPERATION_REQUEST_ERROR] = showErrorToast,\n _a[BeaconEvent.SIGN_REQUEST_SENT] = showSentToast,\n _a[BeaconEvent.SIGN_REQUEST_SUCCESS] = showSignSuccessAlert,\n _a[BeaconEvent.SIGN_REQUEST_ERROR] = showErrorToast,\n // TODO: ENCRYPTION\n // [BeaconEvent.ENCRYPT_REQUEST_SENT]: showSentToast,\n // [BeaconEvent.ENCRYPT_REQUEST_SUCCESS]: showEncryptSuccessAlert,\n // [BeaconEvent.ENCRYPT_REQUEST_ERROR]: showErrorToast,\n _a[BeaconEvent.BROADCAST_REQUEST_SENT] = showSentToast,\n _a[BeaconEvent.BROADCAST_REQUEST_SUCCESS] = showBroadcastSuccessAlert,\n _a[BeaconEvent.BROADCAST_REQUEST_ERROR] = showErrorToast,\n _a[BeaconEvent.ACKNOWLEDGE_RECEIVED] = showAcknowledgedToast,\n _a[BeaconEvent.LOCAL_RATE_LIMIT_REACHED] = showRateLimitReached,\n _a[BeaconEvent.NO_PERMISSIONS] = showNoPermissionAlert,\n _a[BeaconEvent.ACTIVE_ACCOUNT_SET] = emptyHandler(),\n _a[BeaconEvent.ACTIVE_TRANSPORT_SET] = emptyHandler(),\n _a[BeaconEvent.SHOW_PREPARE] = showPrepare,\n _a[BeaconEvent.HIDE_UI] = hideUI,\n _a[BeaconEvent.PAIR_INIT] = showPairAlert,\n _a[BeaconEvent.PAIR_SUCCESS] = showExtensionConnectedAlert,\n _a[BeaconEvent.CHANNEL_CLOSED] = showChannelClosedAlert,\n _a[BeaconEvent.INTERNAL_ERROR] = showInternalErrorAlert,\n _a[BeaconEvent.UNKNOWN] = emptyHandler(),\n _a);\n/**\n * @internalapi\n *\n * Handles beacon events\n */\nvar BeaconEventHandler = /** @class */ (function () {\n function BeaconEventHandler(eventsToOverride, overrideAll) {\n var _a;\n if (eventsToOverride === void 0) { eventsToOverride = {}; }\n this.callbackMap = (_a = {},\n _a[BeaconEvent.PERMISSION_REQUEST_SENT] = [exports.defaultEventCallbacks.PERMISSION_REQUEST_SENT],\n _a[BeaconEvent.PERMISSION_REQUEST_SUCCESS] = [exports.defaultEventCallbacks.PERMISSION_REQUEST_SUCCESS],\n _a[BeaconEvent.PERMISSION_REQUEST_ERROR] = [exports.defaultEventCallbacks.PERMISSION_REQUEST_ERROR],\n _a[BeaconEvent.OPERATION_REQUEST_SENT] = [exports.defaultEventCallbacks.OPERATION_REQUEST_SENT],\n _a[BeaconEvent.OPERATION_REQUEST_SUCCESS] = [exports.defaultEventCallbacks.OPERATION_REQUEST_SUCCESS],\n _a[BeaconEvent.OPERATION_REQUEST_ERROR] = [exports.defaultEventCallbacks.OPERATION_REQUEST_ERROR],\n _a[BeaconEvent.SIGN_REQUEST_SENT] = [exports.defaultEventCallbacks.SIGN_REQUEST_SENT],\n _a[BeaconEvent.SIGN_REQUEST_SUCCESS] = [exports.defaultEventCallbacks.SIGN_REQUEST_SUCCESS],\n _a[BeaconEvent.SIGN_REQUEST_ERROR] = [exports.defaultEventCallbacks.SIGN_REQUEST_ERROR],\n // TODO: ENCRYPTION\n // [BeaconEvent.ENCRYPT_REQUEST_SENT]: [defaultEventCallbacks.ENCRYPT_REQUEST_SENT],\n // [BeaconEvent.ENCRYPT_REQUEST_SUCCESS]: [defaultEventCallbacks.ENCRYPT_REQUEST_SUCCESS],\n // [BeaconEvent.ENCRYPT_REQUEST_ERROR]: [defaultEventCallbacks.ENCRYPT_REQUEST_ERROR],\n _a[BeaconEvent.BROADCAST_REQUEST_SENT] = [exports.defaultEventCallbacks.BROADCAST_REQUEST_SENT],\n _a[BeaconEvent.BROADCAST_REQUEST_SUCCESS] = [exports.defaultEventCallbacks.BROADCAST_REQUEST_SUCCESS],\n _a[BeaconEvent.BROADCAST_REQUEST_ERROR] = [exports.defaultEventCallbacks.BROADCAST_REQUEST_ERROR],\n _a[BeaconEvent.ACKNOWLEDGE_RECEIVED] = [exports.defaultEventCallbacks.ACKNOWLEDGE_RECEIVED],\n _a[BeaconEvent.LOCAL_RATE_LIMIT_REACHED] = [exports.defaultEventCallbacks.LOCAL_RATE_LIMIT_REACHED],\n _a[BeaconEvent.NO_PERMISSIONS] = [exports.defaultEventCallbacks.NO_PERMISSIONS],\n _a[BeaconEvent.ACTIVE_ACCOUNT_SET] = [exports.defaultEventCallbacks.ACTIVE_ACCOUNT_SET],\n _a[BeaconEvent.ACTIVE_TRANSPORT_SET] = [exports.defaultEventCallbacks.ACTIVE_TRANSPORT_SET],\n _a[BeaconEvent.SHOW_PREPARE] = [exports.defaultEventCallbacks.SHOW_PREPARE],\n _a[BeaconEvent.HIDE_UI] = [exports.defaultEventCallbacks.HIDE_UI],\n _a[BeaconEvent.PAIR_INIT] = [exports.defaultEventCallbacks.PAIR_INIT],\n _a[BeaconEvent.PAIR_SUCCESS] = [exports.defaultEventCallbacks.PAIR_SUCCESS],\n _a[BeaconEvent.CHANNEL_CLOSED] = [exports.defaultEventCallbacks.CHANNEL_CLOSED],\n _a[BeaconEvent.INTERNAL_ERROR] = [exports.defaultEventCallbacks.INTERNAL_ERROR],\n _a[BeaconEvent.UNKNOWN] = [exports.defaultEventCallbacks.UNKNOWN],\n _a);\n if (overrideAll) {\n this.setAllHandlers();\n }\n this.overrideDefaults(eventsToOverride);\n }\n /**\n * A method to subscribe to a specific beacon event and register a callback\n *\n * @param event The event being emitted\n * @param eventCallback The callback that will be invoked\n */\n BeaconEventHandler.prototype.on = function (event, eventCallback) {\n return __awaiter(this, void 0, void 0, function () {\n var listeners;\n return __generator(this, function (_a) {\n listeners = this.callbackMap[event] || [];\n listeners.push(eventCallback);\n this.callbackMap[event] = listeners;\n return [2 /*return*/];\n });\n });\n };\n /**\n * Emit a beacon event\n *\n * @param event The event being emitted\n * @param data The data to be emit\n */\n BeaconEventHandler.prototype.emit = function (event, data, eventCallback) {\n return __awaiter(this, void 0, void 0, function () {\n var listeners;\n var _this = this;\n return __generator(this, function (_a) {\n listeners = this.callbackMap[event];\n if (listeners && listeners.length > 0) {\n listeners.forEach(function (listener) { return __awaiter(_this, void 0, void 0, function () {\n var listenerError_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, listener(data, eventCallback)];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n listenerError_1 = _a.sent();\n logger.error("error handling event ".concat(event), listenerError_1);\n return [3 /*break*/, 3];\n case 3: return [2 /*return*/];\n }\n });\n }); });\n }\n return [2 /*return*/];\n });\n });\n };\n /**\n * Override beacon event default callbacks. This can be used to disable default alert/toast behaviour\n *\n * @param eventsToOverride An object with the events to override\n */\n BeaconEventHandler.prototype.overrideDefaults = function (eventsToOverride) {\n var _this = this;\n Object.keys(eventsToOverride).forEach(function (untypedEvent) {\n var eventType = untypedEvent;\n var event = eventsToOverride[eventType];\n if (event) {\n _this.callbackMap[eventType] = [event.handler];\n }\n });\n };\n /**\n * Set all event callbacks to a specific handler.\n */\n BeaconEventHandler.prototype.setAllHandlers = function (handler) {\n var _this = this;\n Object.keys(this.callbackMap).forEach(function (untypedEvent) {\n var eventType = untypedEvent;\n _this.callbackMap[eventType] = [];\n if (handler) {\n _this.callbackMap[eventType].push(handler);\n }\n else {\n _this.callbackMap[eventType].push(function () {\n var data = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n data[_i] = arguments[_i];\n }\n logger.log.apply(logger, __spreadArray([untypedEvent], data, false));\n });\n }\n });\n };\n return BeaconEventHandler;\n}());\nexports.BeaconEventHandler = BeaconEventHandler;\n//# sourceMappingURL=events.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-dapp/dist/cjs/events.js?')},"./packages/beacon-dapp/dist/cjs/index.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.TezblockBlockExplorer = exports.TzktBlockExplorer = exports.BlockExplorer = exports.defaultEventCallbacks = exports.BeaconEventHandler = exports.BeaconEvent = exports.getDAppClientInstance = exports.DAppClient = void 0;\n__exportStar(__webpack_require__(/*! @airgap/beacon-core */ "./packages/beacon-core/dist/cjs/index.js"), exports);\n__exportStar(__webpack_require__(/*! @airgap/beacon-transport-matrix */ "./packages/beacon-transport-matrix/dist/cjs/index.js"), exports);\n__exportStar(__webpack_require__(/*! @airgap/beacon-transport-postmessage */ "./packages/beacon-transport-postmessage/dist/cjs/index.js"), exports);\n__exportStar(__webpack_require__(/*! @airgap/beacon-types */ "./packages/beacon-types/dist/cjs/index.js"), exports);\n__exportStar(__webpack_require__(/*! @airgap/beacon-utils */ "./packages/beacon-utils/dist/cjs/index.js"), exports);\n__exportStar(__webpack_require__(/*! @airgap/beacon-ui */ "./packages/beacon-ui/dist/cjs/index.js"), exports);\nvar DAppClient_1 = __webpack_require__(/*! ./dapp-client/DAppClient */ "./packages/beacon-dapp/dist/cjs/dapp-client/DAppClient.js");\nObject.defineProperty(exports, "DAppClient", ({ enumerable: true, get: function () { return DAppClient_1.DAppClient; } }));\nvar events_1 = __webpack_require__(/*! ./events */ "./packages/beacon-dapp/dist/cjs/events.js");\nObject.defineProperty(exports, "BeaconEvent", ({ enumerable: true, get: function () { return events_1.BeaconEvent; } }));\nObject.defineProperty(exports, "BeaconEventHandler", ({ enumerable: true, get: function () { return events_1.BeaconEventHandler; } }));\nObject.defineProperty(exports, "defaultEventCallbacks", ({ enumerable: true, get: function () { return events_1.defaultEventCallbacks; } }));\nvar block_explorer_1 = __webpack_require__(/*! ./utils/block-explorer */ "./packages/beacon-dapp/dist/cjs/utils/block-explorer.js");\nObject.defineProperty(exports, "BlockExplorer", ({ enumerable: true, get: function () { return block_explorer_1.BlockExplorer; } }));\nvar tzkt_blockexplorer_1 = __webpack_require__(/*! ./utils/tzkt-blockexplorer */ "./packages/beacon-dapp/dist/cjs/utils/tzkt-blockexplorer.js");\nObject.defineProperty(exports, "TzktBlockExplorer", ({ enumerable: true, get: function () { return tzkt_blockexplorer_1.TzktBlockExplorer; } }));\nObject.defineProperty(exports, "TezblockBlockExplorer", ({ enumerable: true, get: function () { return tzkt_blockexplorer_1.TzktBlockExplorer; } }));\nvar get_instance_1 = __webpack_require__(/*! ./utils/get-instance */ "./packages/beacon-dapp/dist/cjs/utils/get-instance.js");\nObject.defineProperty(exports, "getDAppClientInstance", ({ enumerable: true, get: function () { return get_instance_1.getDAppClientInstance; } }));\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-dapp/dist/cjs/index.js?')},"./packages/beacon-dapp/dist/cjs/transports/DappP2PTransport.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== "function" && b !== null)\n throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError("Generator is already executing.");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.DappP2PTransport = void 0;\nvar beacon_types_1 = __webpack_require__(/*! @airgap/beacon-types */ "./packages/beacon-types/dist/cjs/index.js");\nvar beacon_core_1 = __webpack_require__(/*! @airgap/beacon-core */ "./packages/beacon-core/dist/cjs/index.js");\nvar beacon_transport_matrix_1 = __webpack_require__(/*! @airgap/beacon-transport-matrix */ "./packages/beacon-transport-matrix/dist/cjs/index.js");\nvar logger = new beacon_core_1.Logger(\'DappP2PTransport\');\n/**\n * @internalapi\n *\n *\n */\nvar DappP2PTransport = /** @class */ (function (_super) {\n __extends(DappP2PTransport, _super);\n function DappP2PTransport(name, keyPair, storage, matrixNodes, iconUrl, appUrl) {\n return _super.call(this, name, keyPair, storage, matrixNodes, beacon_types_1.StorageKey.TRANSPORT_P2P_PEERS_DAPP, iconUrl, appUrl) || this;\n }\n DappP2PTransport.prototype.startOpenChannelListener = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n return [2 /*return*/, this.client.listenForChannelOpening(function (peer) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n logger.log(\'listenForNewPeer\', "new publicKey", peer.publicKey);\n return [4 /*yield*/, this.addPeer(peer)];\n case 1:\n _a.sent();\n this._isConnected = beacon_types_1.TransportStatus.CONNECTED;\n if (this.newPeerListener) {\n this.newPeerListener(peer);\n this.newPeerListener = undefined; // TODO: Remove this once we use the id\n }\n return [2 /*return*/];\n }\n });\n }); })];\n });\n });\n };\n DappP2PTransport.prototype.listenForNewPeer = function (newPeerListener) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n logger.log(\'listenForNewPeer\');\n this.newPeerListener = newPeerListener;\n return [2 /*return*/];\n });\n });\n };\n DappP2PTransport.prototype.stopListeningForNewPeers = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n logger.log(\'stopListeningForNewPeers\');\n this.newPeerListener = undefined;\n return [2 /*return*/];\n });\n });\n };\n return DappP2PTransport;\n}(beacon_transport_matrix_1.P2PTransport));\nexports.DappP2PTransport = DappP2PTransport;\n//# sourceMappingURL=DappP2PTransport.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-dapp/dist/cjs/transports/DappP2PTransport.js?')},"./packages/beacon-dapp/dist/cjs/transports/DappPostMessageTransport.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== "function" && b !== null)\n throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError("Generator is already executing.");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.DappPostMessageTransport = void 0;\nvar beacon_types_1 = __webpack_require__(/*! @airgap/beacon-types */ "./packages/beacon-types/dist/cjs/index.js");\nvar beacon_core_1 = __webpack_require__(/*! @airgap/beacon-core */ "./packages/beacon-core/dist/cjs/index.js");\nvar beacon_transport_postmessage_1 = __webpack_require__(/*! @airgap/beacon-transport-postmessage */ "./packages/beacon-transport-postmessage/dist/cjs/index.js");\nvar logger = new beacon_core_1.Logger(\'DappPostMessageTransport\');\n/**\n * @internalapi\n *\n *\n */\nvar DappPostMessageTransport = /** @class */ (function (_super) {\n __extends(DappPostMessageTransport, _super);\n function DappPostMessageTransport(name, keyPair, storage) {\n return _super.call(this, name, keyPair, storage, beacon_types_1.StorageKey.TRANSPORT_POSTMESSAGE_PEERS_DAPP) || this;\n }\n DappPostMessageTransport.prototype.startOpenChannelListener = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n return [2 /*return*/, this.client.listenForChannelOpening(function (peer) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n logger.log(\'connect\', "received PostMessagePairingResponse", peer);\n return [4 /*yield*/, this.addPeer(peer)];\n case 1:\n _a.sent();\n this._isConnected = beacon_types_1.TransportStatus.CONNECTED;\n if (this.newPeerListener) {\n this.newPeerListener(peer);\n this.newPeerListener = undefined; // TODO: Remove this once we use the id\n }\n return [2 /*return*/];\n }\n });\n }); })];\n });\n });\n };\n DappPostMessageTransport.prototype.listenForNewPeer = function (newPeerListener) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n logger.log(\'listenForNewPeer\');\n this.newPeerListener = newPeerListener;\n return [2 /*return*/];\n });\n });\n };\n DappPostMessageTransport.prototype.stopListeningForNewPeers = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n logger.log(\'stopListeningForNewPeers\');\n this.newPeerListener = undefined;\n return [2 /*return*/];\n });\n });\n };\n return DappPostMessageTransport;\n}(beacon_transport_postmessage_1.PostMessageTransport));\nexports.DappPostMessageTransport = DappPostMessageTransport;\n//# sourceMappingURL=DappPostMessageTransport.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-dapp/dist/cjs/transports/DappPostMessageTransport.js?')},"./packages/beacon-dapp/dist/cjs/transports/DappWalletConnectTransport.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== "function" && b !== null)\n throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError("Generator is already executing.");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.DappWalletConnectTransport = void 0;\nvar beacon_types_1 = __webpack_require__(/*! @airgap/beacon-types */ "./packages/beacon-types/dist/cjs/index.js");\nvar beacon_core_1 = __webpack_require__(/*! @airgap/beacon-core */ "./packages/beacon-core/dist/cjs/index.js");\nvar beacon_transport_walletconnect_1 = __webpack_require__(/*! @airgap/beacon-transport-walletconnect */ "./packages/beacon-transport-walletconnect/dist/cjs/index.js");\nvar logger = new beacon_core_1.Logger(\'DappWalletConnectTransport\');\n/**\n * @internalapi\n *\n *\n */\nvar DappWalletConnectTransport = /** @class */ (function (_super) {\n __extends(DappWalletConnectTransport, _super);\n function DappWalletConnectTransport(name, keyPair, storage, wcOptions) {\n var _this = _super.call(this, name, keyPair, storage, beacon_types_1.StorageKey.TRANSPORT_WALLETCONNECT_PEERS_DAPP, wcOptions) || this;\n _this.client.listenForChannelOpening(function (peer) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.addPeer(peer)];\n case 1:\n _a.sent();\n this._isConnected = beacon_types_1.TransportStatus.CONNECTED;\n if (this.newPeerListener) {\n this.newPeerListener(peer);\n this.newPeerListener = undefined; // TODO: Remove this once we use the id\n }\n return [2 /*return*/];\n }\n });\n }); });\n return _this;\n }\n DappWalletConnectTransport.prototype.listenForNewPeer = function (newPeerListener) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n // logger.log(\'listenForNewPeer\')\n this.newPeerListener = newPeerListener;\n return [2 /*return*/];\n });\n });\n };\n DappWalletConnectTransport.prototype.stopListeningForNewPeers = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n logger.log(\'stopListeningForNewPeers\');\n this.newPeerListener = undefined;\n return [2 /*return*/];\n });\n });\n };\n return DappWalletConnectTransport;\n}(beacon_transport_walletconnect_1.WalletConnectTransport));\nexports.DappWalletConnectTransport = DappWalletConnectTransport;\n//# sourceMappingURL=DappWalletConnectTransport.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-dapp/dist/cjs/transports/DappWalletConnectTransport.js?')},"./packages/beacon-dapp/dist/cjs/utils/block-explorer.js":function(__unused_webpack_module,exports){"use strict";eval('\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError("Generator is already executing.");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.BlockExplorer = void 0;\nvar BlockExplorer = /** @class */ (function () {\n function BlockExplorer(rpcUrls) {\n this.rpcUrls = rpcUrls;\n }\n BlockExplorer.prototype.getLinkForNetwork = function (network) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.rpcUrls[network.type]];\n });\n });\n };\n return BlockExplorer;\n}());\nexports.BlockExplorer = BlockExplorer;\n//# sourceMappingURL=block-explorer.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-dapp/dist/cjs/utils/block-explorer.js?')},"./packages/beacon-dapp/dist/cjs/utils/get-instance.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.getDAppClientInstance = void 0;\nvar __1 = __webpack_require__(/*! .. */ "./packages/beacon-dapp/dist/cjs/index.js");\nvar _instance;\n/** Get a DAppClient instance. Will make sure only one dAppClient exists. After the first instance has been created, the config will be ignored, unless "reset" is set */\nvar getDAppClientInstance = function (config, reset) {\n if (_instance && reset) {\n _instance.disconnect();\n _instance = undefined;\n }\n if (_instance) {\n return _instance;\n }\n if (!_instance) {\n _instance = new __1.DAppClient(config);\n }\n return _instance;\n};\nexports.getDAppClientInstance = getDAppClientInstance;\n//# sourceMappingURL=get-instance.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-dapp/dist/cjs/utils/get-instance.js?')},"./packages/beacon-dapp/dist/cjs/utils/shorten-string.js":(__unused_webpack_module,exports)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.shortenString = void 0;\nvar shortenString = function (text) {\n if (text.length >= 12) {\n return "".concat(text.substr(0, 5), "...").concat(text.substr(-5));\n }\n return text;\n};\nexports.shortenString = shortenString;\n//# sourceMappingURL=shorten-string.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-dapp/dist/cjs/utils/shorten-string.js?')},"./packages/beacon-dapp/dist/cjs/utils/tzkt-blockexplorer.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== "function" && b !== null)\n throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError("Generator is already executing.");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.TzktBlockExplorer = void 0;\nvar beacon_types_1 = __webpack_require__(/*! @airgap/beacon-types */ "./packages/beacon-types/dist/cjs/index.js");\nvar block_explorer_1 = __webpack_require__(/*! ./block-explorer */ "./packages/beacon-dapp/dist/cjs/utils/block-explorer.js");\nvar TzktBlockExplorer = /** @class */ (function (_super) {\n __extends(TzktBlockExplorer, _super);\n function TzktBlockExplorer(rpcUrls) {\n var _a;\n if (rpcUrls === void 0) { rpcUrls = (_a = {},\n _a[beacon_types_1.NetworkType.MAINNET] = \'https://tzkt.io\',\n _a[beacon_types_1.NetworkType.GHOSTNET] = \'https://ghostnet.tzkt.io\',\n _a[beacon_types_1.NetworkType.MONDAYNET] = \'https://mondaynet.tzkt.io\',\n _a[beacon_types_1.NetworkType.DAILYNET] = \'https://dailynet.tzkt.io\',\n _a[beacon_types_1.NetworkType.DELPHINET] = \'https://delphinet.tzkt.io\',\n _a[beacon_types_1.NetworkType.EDONET] = \'https://edonet.tzkt.io\',\n _a[beacon_types_1.NetworkType.FLORENCENET] = \'https://florencenet.tzkt.io\',\n _a[beacon_types_1.NetworkType.GRANADANET] = \'https://granadanet.tzkt.io\',\n _a[beacon_types_1.NetworkType.HANGZHOUNET] = \'https://hangzhounet.tzkt.io\',\n _a[beacon_types_1.NetworkType.ITHACANET] = \'https://ithacanet.tzkt.io\',\n _a[beacon_types_1.NetworkType.JAKARTANET] = \'https://jakartanet.tzkt.io\',\n _a[beacon_types_1.NetworkType.KATHMANDUNET] = \'https://kathmandunet.tzkt.io\',\n _a[beacon_types_1.NetworkType.LIMANET] = \'https://limanet.tzkt.io\',\n _a[beacon_types_1.NetworkType.MUMBAINET] = \'https://mumbainet.tzkt.io\',\n _a[beacon_types_1.NetworkType.NAIROBINET] = \'https://nairobinet.tzkt.io\',\n _a[beacon_types_1.NetworkType.OXFORDNET] = \'https://oxfordnet.tzkt.io\',\n _a[beacon_types_1.NetworkType.CUSTOM] = \'https://oxfordnet.tzkt.io\',\n _a); }\n var _this = _super.call(this, rpcUrls) || this;\n _this.rpcUrls = rpcUrls;\n return _this;\n }\n TzktBlockExplorer.prototype.getAddressLink = function (address, network) {\n return __awaiter(this, void 0, void 0, function () {\n var blockExplorer;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.getLinkForNetwork(network)];\n case 1:\n blockExplorer = _a.sent();\n return [2 /*return*/, "".concat(blockExplorer, "/").concat(address)];\n }\n });\n });\n };\n TzktBlockExplorer.prototype.getTransactionLink = function (transactionId, network) {\n return __awaiter(this, void 0, void 0, function () {\n var blockExplorer;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.getLinkForNetwork(network)];\n case 1:\n blockExplorer = _a.sent();\n return [2 /*return*/, "".concat(blockExplorer, "/").concat(transactionId)];\n }\n });\n });\n };\n return TzktBlockExplorer;\n}(block_explorer_1.BlockExplorer));\nexports.TzktBlockExplorer = TzktBlockExplorer;\n//# sourceMappingURL=tzkt-blockexplorer.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-dapp/dist/cjs/utils/tzkt-blockexplorer.js?')},"./packages/beacon-sdk/dist/cjs/index.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\n__exportStar(__webpack_require__(/*! @airgap/beacon-blockchain-substrate */ "./packages/beacon-blockchain-substrate/dist/cjs/index.js"), exports);\n__exportStar(__webpack_require__(/*! @airgap/beacon-blockchain-tezos */ "./packages/beacon-blockchain-tezos/dist/cjs/index.js"), exports);\n__exportStar(__webpack_require__(/*! @airgap/beacon-core */ "./packages/beacon-core/dist/cjs/index.js"), exports);\n__exportStar(__webpack_require__(/*! @airgap/beacon-dapp */ "./packages/beacon-dapp/dist/cjs/index.js"), exports);\n__exportStar(__webpack_require__(/*! @airgap/beacon-transport-matrix */ "./packages/beacon-transport-matrix/dist/cjs/index.js"), exports);\n__exportStar(__webpack_require__(/*! @airgap/beacon-transport-postmessage */ "./packages/beacon-transport-postmessage/dist/cjs/index.js"), exports);\n__exportStar(__webpack_require__(/*! @airgap/beacon-transport-walletconnect */ "./packages/beacon-transport-walletconnect/dist/cjs/index.js"), exports);\n__exportStar(__webpack_require__(/*! @airgap/beacon-types */ "./packages/beacon-types/dist/cjs/index.js"), exports);\n// export * from \'@airgap/beacon-ui\'\n__exportStar(__webpack_require__(/*! @airgap/beacon-utils */ "./packages/beacon-utils/dist/cjs/index.js"), exports);\n__exportStar(__webpack_require__(/*! @airgap/beacon-wallet */ "./packages/beacon-wallet/dist/cjs/index.js"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-sdk/dist/cjs/index.js?')},"./packages/beacon-transport-matrix/dist/cjs/P2PTransport.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== "function" && b !== null)\n throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError("Generator is already executing.");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.P2PTransport = void 0;\nvar beacon_core_1 = __webpack_require__(/*! @airgap/beacon-core */ "./packages/beacon-core/dist/cjs/index.js");\nvar beacon_types_1 = __webpack_require__(/*! @airgap/beacon-types */ "./packages/beacon-types/dist/cjs/index.js");\nvar beacon_transport_matrix_1 = __webpack_require__(/*! @airgap/beacon-transport-matrix */ "./packages/beacon-transport-matrix/dist/cjs/index.js");\nvar logger = new beacon_core_1.Logger(\'P2PTransport\');\n/**\n * @internalapi\n *\n *\n */\nvar P2PTransport = /** @class */ (function (_super) {\n __extends(P2PTransport, _super);\n function P2PTransport(name, keyPair, storage, matrixNodes, storageKey, iconUrl, appUrl) {\n var _this = _super.call(this, name, new beacon_transport_matrix_1.P2PCommunicationClient(name, keyPair, 1, storage, matrixNodes, iconUrl, appUrl), new beacon_core_1.PeerManager(storage, storageKey)) || this;\n _this.type = beacon_types_1.TransportType.P2P;\n return _this;\n }\n P2PTransport.isAvailable = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, Promise.resolve(true)];\n });\n });\n };\n P2PTransport.prototype.connect = function () {\n return __awaiter(this, void 0, void 0, function () {\n var knownPeers, connectionPromises;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (this._isConnected !== beacon_types_1.TransportStatus.NOT_CONNECTED) {\n return [2 /*return*/];\n }\n logger.log(\'connect\');\n this._isConnected = beacon_types_1.TransportStatus.CONNECTING;\n return [4 /*yield*/, this.client.start()];\n case 1:\n _a.sent();\n return [4 /*yield*/, this.getPeers()];\n case 2:\n knownPeers = _a.sent();\n if (knownPeers.length > 0) {\n logger.log(\'connect\', "connecting to ".concat(knownPeers.length, " peers"));\n connectionPromises = knownPeers.map(function (peer) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {\n return [2 /*return*/, this.listen(peer.publicKey)];\n }); }); });\n Promise.all(connectionPromises).catch(function (error) { return logger.error(\'connect\', error); });\n }\n return [4 /*yield*/, this.startOpenChannelListener()];\n case 3:\n _a.sent();\n return [2 /*return*/, _super.prototype.connect.call(this)];\n }\n });\n });\n };\n P2PTransport.prototype.disconnect = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.client.stop()];\n case 1:\n _a.sent();\n return [2 /*return*/, _super.prototype.disconnect.call(this)];\n }\n });\n });\n };\n P2PTransport.prototype.startOpenChannelListener = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/];\n });\n });\n };\n P2PTransport.prototype.getPairingRequestInfo = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.client.getPairingRequestInfo()];\n });\n });\n };\n P2PTransport.prototype.listen = function (publicKey) {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.client\n .listenForEncryptedMessage(publicKey, function (message) {\n var connectionContext = {\n origin: beacon_types_1.Origin.P2P,\n id: publicKey\n };\n _this.notifyListeners(message, connectionContext).catch(function (error) {\n throw error;\n });\n })\n .catch(function (error) {\n throw error;\n })];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n return P2PTransport;\n}(beacon_core_1.Transport));\nexports.P2PTransport = P2PTransport;\n//# sourceMappingURL=P2PTransport.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/dist/cjs/P2PTransport.js?')},"./packages/beacon-transport-matrix/dist/cjs/communication-client/P2PCommunicationClient.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('/* provided dependency */ var Buffer = __webpack_require__(/*! buffer */ "./node_modules/buffer/index.js")["Buffer"];\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== "function" && b !== null)\n throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError("Generator is already executing.");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nvar _a;\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.P2PCommunicationClient = void 0;\nvar ed25519_1 = __webpack_require__(/*! @stablelib/ed25519 */ "./node_modules/@stablelib/ed25519/lib/ed25519.js");\nvar axios_1 = __webpack_require__(/*! axios */ "./packages/beacon-transport-matrix/node_modules/axios/index.js");\nvar beacon_utils_1 = __webpack_require__(/*! @airgap/beacon-utils */ "./packages/beacon-utils/dist/cjs/index.js");\nvar MatrixClient_1 = __webpack_require__(/*! ../matrix-client/MatrixClient */ "./packages/beacon-transport-matrix/dist/cjs/matrix-client/MatrixClient.js");\nvar MatrixClientEvent_1 = __webpack_require__(/*! ../matrix-client/models/MatrixClientEvent */ "./packages/beacon-transport-matrix/dist/cjs/matrix-client/models/MatrixClientEvent.js");\nvar MatrixMessage_1 = __webpack_require__(/*! ../matrix-client/models/MatrixMessage */ "./packages/beacon-transport-matrix/dist/cjs/matrix-client/models/MatrixMessage.js");\nvar beacon_types_1 = __webpack_require__(/*! @airgap/beacon-types */ "./packages/beacon-types/dist/cjs/index.js");\nvar beacon_core_1 = __webpack_require__(/*! @airgap/beacon-core */ "./packages/beacon-core/dist/cjs/index.js");\nvar beacon_utils_2 = __webpack_require__(/*! @airgap/beacon-utils */ "./packages/beacon-utils/dist/cjs/index.js");\nvar blake2b_1 = __webpack_require__(/*! @stablelib/blake2b */ "./node_modules/@stablelib/blake2b/lib/blake2b.js");\nvar utf8_1 = __webpack_require__(/*! @stablelib/utf8 */ "./node_modules/@stablelib/utf8/lib/utf8.js");\nvar logger = new beacon_core_1.Logger(\'P2PCommunicationClient\');\nvar REGIONS_AND_SERVERS = (_a = {},\n _a[beacon_types_1.Regions.EUROPE_WEST] = [\n \'beacon-node-1.diamond.papers.tech\',\n \'beacon-node-1.sky.papers.tech\',\n \'beacon-node-2.sky.papers.tech\',\n \'beacon-node-1.hope.papers.tech\',\n \'beacon-node-1.hope-2.papers.tech\',\n \'beacon-node-1.hope-3.papers.tech\',\n \'beacon-node-1.hope-4.papers.tech\',\n \'beacon-node-1.hope-5.papers.tech\'\n ],\n _a);\n/**\n * @internalapi\n */\nvar P2PCommunicationClient = /** @class */ (function (_super) {\n __extends(P2PCommunicationClient, _super);\n function P2PCommunicationClient(name, keyPair, replicationCount, storage, matrixNodes, iconUrl, appUrl) {\n var _this = _super.call(this, keyPair) || this;\n _this.name = name;\n _this.replicationCount = replicationCount;\n _this.storage = storage;\n _this.iconUrl = iconUrl;\n _this.appUrl = appUrl;\n _this.client = new beacon_utils_2.ExposedPromise();\n _this.activeListeners = new Map();\n _this.ignoredRooms = [];\n _this.loginCounter = 0;\n logger.log(\'constructor\', \'P2PCommunicationClient created\');\n _this.ENABLED_RELAY_SERVERS = REGIONS_AND_SERVERS;\n if (matrixNodes) {\n _this.ENABLED_RELAY_SERVERS = __assign(__assign({}, REGIONS_AND_SERVERS), matrixNodes);\n }\n return _this;\n }\n P2PCommunicationClient.prototype.getPairingRequestInfo = function () {\n return __awaiter(this, void 0, void 0, function () {\n var info;\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _a = {};\n return [4 /*yield*/, (0, beacon_utils_2.generateGUID)()];\n case 1:\n _a.id = _b.sent(),\n _a.type = \'p2p-pairing-request\',\n _a.name = this.name,\n _a.version = beacon_core_1.BEACON_VERSION;\n return [4 /*yield*/, this.getPublicKey()];\n case 2:\n _a.publicKey = _b.sent();\n return [4 /*yield*/, this.getRelayServer()];\n case 3:\n info = (_a.relayServer = (_b.sent()).server,\n _a);\n if (this.iconUrl) {\n info.icon = this.iconUrl;\n }\n if (this.appUrl) {\n info.appUrl = this.appUrl;\n }\n return [2 /*return*/, info];\n }\n });\n });\n };\n P2PCommunicationClient.prototype.getPairingResponseInfo = function (request) {\n return __awaiter(this, void 0, void 0, function () {\n var info;\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _a = {\n id: request.id,\n type: \'p2p-pairing-response\',\n name: this.name,\n version: request.version\n };\n return [4 /*yield*/, this.getPublicKey()];\n case 1:\n _a.publicKey = _b.sent();\n return [4 /*yield*/, this.getRelayServer()];\n case 2:\n info = (_a.relayServer = (_b.sent()).server,\n _a);\n if (this.iconUrl) {\n info.icon = this.iconUrl;\n }\n if (this.appUrl) {\n info.appUrl = this.appUrl;\n }\n return [2 /*return*/, info];\n }\n });\n });\n };\n P2PCommunicationClient.prototype.findBestRegion = function () {\n return __awaiter(this, void 0, void 0, function () {\n var keys, allPromises, region;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (this.selectedRegion) {\n return [2 /*return*/, this.selectedRegion];\n }\n keys = Object.keys(this.ENABLED_RELAY_SERVERS);\n allPromises = [];\n keys.forEach(function (key) {\n var _a;\n var nodes = (_a = _this.ENABLED_RELAY_SERVERS[key]) !== null && _a !== void 0 ? _a : [];\n if (nodes.length === 0) {\n return;\n }\n var index = Math.floor(Math.random() * nodes.length);\n allPromises.push(_this.getBeaconInfo(nodes[index])\n .then(function (res) { return ({\n region: key,\n server: nodes[index],\n response: res\n }); })\n .catch(function (err) {\n return new Promise(function (_resolve, reject) {\n // This workaround is done because Promise.race stops at the first failure, but we need the first success.\n // TODO: If all promises have been rejected, let\'s not wait 2000 and abort earlier.\n setTimeout(function () { return reject(err); }, 2000);\n });\n }));\n });\n return [4 /*yield*/, Promise.race(allPromises)];\n case 1:\n region = _a.sent();\n this.selectedRegion = region.region;\n return [2 /*return*/, region.region\n // Select random server from each region.\n // Start request to random server from each region\n // Fastest response wins, region is selected\n ];\n }\n });\n });\n };\n P2PCommunicationClient.prototype.getRelayServer = function () {\n return __awaiter(this, void 0, void 0, function () {\n var relayServer, info, node, info, region, regionNodes, nodes, index, server, response, relayError_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!this.relayServer) return [3 /*break*/, 3];\n return [4 /*yield*/, this.relayServer.promise\n // We make sure the locally cached timestamp is not older than 1 minute, if it is, we refresh it\n ];\n case 1:\n relayServer = _a.sent();\n // We make sure the locally cached timestamp is not older than 1 minute, if it is, we refresh it\n if (Date.now() - relayServer.localTimestamp < 60 * 1000) {\n return [2 /*return*/, { server: relayServer.server, timestamp: relayServer.timestamp }];\n }\n return [4 /*yield*/, this.getBeaconInfo(relayServer.server)];\n case 2:\n info = _a.sent();\n this.relayServer.resolve({\n server: relayServer.server,\n timestamp: info.timestamp,\n localTimestamp: new Date().getTime()\n });\n return [2 /*return*/, { server: relayServer.server, timestamp: info.timestamp }];\n case 3:\n this.relayServer = new beacon_utils_2.ExposedPromise();\n _a.label = 4;\n case 4: return [4 /*yield*/, this.storage.get(beacon_types_1.StorageKey.MATRIX_SELECTED_NODE)];\n case 5:\n node = _a.sent();\n if (!(node && node.length > 0)) return [3 /*break*/, 7];\n return [4 /*yield*/, this.getBeaconInfo(node)];\n case 6:\n info = _a.sent();\n this.relayServer.resolve({\n server: node,\n timestamp: info.timestamp,\n localTimestamp: new Date().getTime()\n });\n return [2 /*return*/, { server: node, timestamp: info.timestamp }];\n case 7: return [4 /*yield*/, this.findBestRegion()];\n case 8:\n region = _a.sent();\n regionNodes = this.ENABLED_RELAY_SERVERS[region];\n if (!regionNodes) {\n throw new Error("No servers found for region ".concat(region));\n }\n nodes = __spreadArray([], regionNodes, true);\n _a.label = 9;\n case 9:\n if (!(nodes.length > 0)) return [3 /*break*/, 14];\n index = Math.floor(Math.random() * nodes.length);\n server = nodes[index];\n _a.label = 10;\n case 10:\n _a.trys.push([10, 12, , 13]);\n return [4 /*yield*/, this.getBeaconInfo(server)];\n case 11:\n response = _a.sent();\n this.storage\n .set(beacon_types_1.StorageKey.MATRIX_SELECTED_NODE, server)\n .catch(function (error) { return logger.log(error); });\n this.relayServer.resolve({\n server: server,\n timestamp: response.timestamp,\n localTimestamp: new Date().getTime()\n });\n return [2 /*return*/, { server: server, timestamp: response.timestamp }];\n case 12:\n relayError_1 = _a.sent();\n logger.log("Ignoring server \\"".concat(server, "\\", trying another one..."));\n nodes.splice(index, 1);\n return [3 /*break*/, 13];\n case 13: return [3 /*break*/, 9];\n case 14:\n this.relayServer.reject("No matrix server reachable!");\n throw new Error("No matrix server reachable!");\n }\n });\n });\n };\n P2PCommunicationClient.prototype.getBeaconInfo = function (server) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, axios_1.default\n .get("https://".concat(server, "/_synapse/client/beacon/info"))\n .then(function (res) { return ({\n region: res.data.region,\n known_servers: res.data.known_servers,\n timestamp: Math.floor(res.data.timestamp)\n }); })];\n });\n });\n };\n P2PCommunicationClient.prototype.tryJoinRooms = function (roomId, retry) {\n if (retry === void 0) { retry = 1; }\n return __awaiter(this, void 0, void 0, function () {\n var error_1;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 3, , 4]);\n return [4 /*yield*/, this.client.promise];\n case 1: return [4 /*yield*/, (_a.sent()).joinRooms(roomId)];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_1 = _a.sent();\n if (retry <= 10 && error_1.errcode === \'M_FORBIDDEN\') {\n // If we join the room too fast after receiving the invite, the server can accidentally reject our join. This seems to be a problem only when using a federated multi-node setup. Usually waiting for a couple milliseconds solves the issue, but to handle lag, we will keep retrying for 2 seconds.\n logger.log("Retrying to join...", error_1);\n setTimeout(function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.tryJoinRooms(roomId, retry + 1)];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); }, 200);\n }\n else {\n logger.log("Failed to join after ".concat(retry, " tries."), error_1);\n }\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n P2PCommunicationClient.prototype.start = function () {\n var _a, _b;\n return __awaiter(this, void 0, void 0, function () {\n var relayServer, client, time, loginString, _c, _d, _e, _f, _g, loginRawDigest, secretKey, rawSignature, _h, _j, _k, _l, error_2;\n var _m;\n var _this = this;\n return __generator(this, function (_o) {\n switch (_o.label) {\n case 0:\n logger.log(\'start\', \'starting client\');\n logger.log(\'start\', "connecting to server");\n return [4 /*yield*/, this.getRelayServer()];\n case 1:\n relayServer = _o.sent();\n client = MatrixClient_1.MatrixClient.create({\n baseUrl: "https://".concat(relayServer.server),\n storage: this.storage\n });\n this.initialListener = function (event) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (this.initialEvent && this.initialEvent.timestamp && event && event.timestamp) {\n if (this.initialEvent.timestamp < event.timestamp) {\n this.initialEvent = event;\n }\n }\n else {\n this.initialEvent = event;\n }\n return [2 /*return*/];\n });\n }); };\n client.subscribe(MatrixClientEvent_1.MatrixClientEventType.MESSAGE, this.initialListener);\n client.subscribe(MatrixClientEvent_1.MatrixClientEventType.INVITE, function (event) { return __awaiter(_this, void 0, void 0, function () {\n var member;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (event.content.members.length === 1) {\n // If there is only one member we know it\'s a new room\n // TODO: Use the "sender" of the event instead\n member = event.content.members[0];\n }\n return [4 /*yield*/, this.tryJoinRooms(event.content.roomId)];\n case 1:\n _a.sent();\n if (!member) return [3 /*break*/, 4];\n return [4 /*yield*/, this.updateRelayServer(member)];\n case 2:\n _a.sent();\n return [4 /*yield*/, this.updatePeerRoom(member, event.content.roomId)];\n case 3:\n _a.sent();\n _a.label = 4;\n case 4: return [2 /*return*/];\n }\n });\n }); });\n if (!relayServer.timestamp) {\n throw new Error(\'No timestamp received from relay server\');\n }\n time = Math.floor(relayServer.timestamp);\n loginString = "login:".concat(Math.floor(time / (5 * 60)));\n _d = (_c = logger).log;\n _e = [\'start\'];\n _g = (_f = "login ".concat(loginString, ", ")).concat;\n return [4 /*yield*/, this.getPublicKeyHash()];\n case 2:\n _d.apply(_c, _e.concat([_g.apply(_f, [_o.sent(), " on "]).concat(relayServer.server)]));\n loginRawDigest = (0, blake2b_1.hash)((0, utf8_1.encode)(loginString), 32);\n secretKey = (_a = this.keyPair.secretKey) !== null && _a !== void 0 ? _a : this.keyPair.privateKey;\n rawSignature = (0, ed25519_1.sign)(secretKey, loginRawDigest);\n _o.label = 3;\n case 3:\n _o.trys.push([3, 7, , 9]);\n _j = (_h = client).start;\n _m = {};\n return [4 /*yield*/, this.getPublicKeyHash()];\n case 4:\n _m.id = _o.sent();\n _l = (_k = "ed:".concat((0, beacon_utils_1.toHex)(rawSignature), ":")).concat;\n return [4 /*yield*/, this.getPublicKey()];\n case 5: return [4 /*yield*/, _j.apply(_h, [(_m.password = _l.apply(_k, [_o.sent()]),\n _m.deviceId = (0, beacon_utils_1.toHex)(this.keyPair.publicKey),\n _m)])];\n case 6:\n _o.sent();\n return [3 /*break*/, 9];\n case 7:\n error_2 = _o.sent();\n logger.error(\'start\', \'Could not log in, retrying\');\n return [4 /*yield*/, this.reset()]; // If we can\'t log in, let\'s reset\n case 8:\n _o.sent(); // If we can\'t log in, let\'s reset\n if (!this.selectedRegion) {\n throw new Error(\'No region selected.\');\n }\n if (this.loginCounter <= ((_b = this.ENABLED_RELAY_SERVERS[this.selectedRegion]) !== null && _b !== void 0 ? _b : []).length) {\n this.loginCounter++;\n this.start();\n return [2 /*return*/];\n }\n else {\n logger.error(\'start\', \'Tried to log in to every known beacon node, but no login was successful.\');\n throw new Error(\'Could not connect to any beacon nodes. Try again later.\');\n }\n return [3 /*break*/, 9];\n case 9:\n logger.log(\'start\', \'login successful, client is ready\');\n this.client.resolve(client);\n return [2 /*return*/];\n }\n });\n });\n };\n P2PCommunicationClient.prototype.stop = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n logger.log(\'stop\', \'stopping client\');\n if (!this.client.isResolved()) return [3 /*break*/, 3];\n return [4 /*yield*/, this.client.promise];\n case 1: return [4 /*yield*/, (_a.sent()).stop().catch(function (error) { return logger.error(error); })];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3: return [4 /*yield*/, this.reset()];\n case 4:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n P2PCommunicationClient.prototype.reset = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n logger.log(\'reset\', \'resetting connection\');\n return [4 /*yield*/, this.storage.delete(beacon_types_1.StorageKey.MATRIX_PEER_ROOM_IDS).catch(function (error) { return logger.log(error); })];\n case 1:\n _a.sent();\n return [4 /*yield*/, this.storage.delete(beacon_types_1.StorageKey.MATRIX_PRESERVED_STATE).catch(function (error) { return logger.log(error); })];\n case 2:\n _a.sent();\n return [4 /*yield*/, this.storage.delete(beacon_types_1.StorageKey.MATRIX_SELECTED_NODE).catch(function (error) { return logger.log(error); })\n // Instead of resetting everything, maybe we should make sure a new instance is created?\n ];\n case 3:\n _a.sent();\n // Instead of resetting everything, maybe we should make sure a new instance is created?\n this.relayServer = undefined;\n this.client = new beacon_utils_2.ExposedPromise();\n this.initialEvent = undefined;\n this.initialListener = undefined;\n return [2 /*return*/];\n }\n });\n });\n };\n P2PCommunicationClient.prototype.listenForEncryptedMessage = function (senderPublicKey, messageCallback) {\n return __awaiter(this, void 0, void 0, function () {\n var sharedKey, callbackFunction, lastEvent, initialListener;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (this.activeListeners.has(senderPublicKey)) {\n return [2 /*return*/];\n }\n logger.log(\'listenForEncryptedMessage\', "start listening for encrypted messages from publicKey ".concat(senderPublicKey));\n return [4 /*yield*/, this.createCryptoBoxServer(senderPublicKey, this.keyPair)];\n case 1:\n sharedKey = _a.sent();\n callbackFunction = function (event) { return __awaiter(_this, void 0, void 0, function () {\n var _a, payload, decryptedMessage, decryptionError_1;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _a = this.isTextMessage(event.content);\n if (!_a) return [3 /*break*/, 2];\n return [4 /*yield*/, this.isSender(event, senderPublicKey)];\n case 1:\n _a = (_b.sent());\n _b.label = 2;\n case 2:\n if (!_a) return [3 /*break*/, 8];\n payload = void 0;\n return [4 /*yield*/, this.updateRelayServer(event.content.message.sender)];\n case 3:\n _b.sent();\n return [4 /*yield*/, this.updatePeerRoom(event.content.message.sender, event.content.roomId)];\n case 4:\n _b.sent();\n try {\n payload = Buffer.from(event.content.message.content, \'hex\');\n // content can be non-hex if it\'s a connection open request\n }\n catch (_c) {\n /* */\n }\n if (!(payload && payload.length >= beacon_utils_1.secretbox_NONCEBYTES + beacon_utils_1.secretbox_MACBYTES)) return [3 /*break*/, 8];\n _b.label = 5;\n case 5:\n _b.trys.push([5, 7, , 8]);\n return [4 /*yield*/, (0, beacon_utils_1.decryptCryptoboxPayload)(payload, sharedKey.receive)];\n case 6:\n decryptedMessage = _b.sent();\n logger.log(\'listenForEncryptedMessage\', "received a message from ".concat(senderPublicKey), decryptedMessage);\n // logger.log(\n // \'listenForEncryptedMessage\',\n // \'encrypted message received\',\n // decryptedMessage,\n // await new Serializer().deserialize(decryptedMessage)\n // )\n // console.log(\'calculated sender ID\', await getSenderId(senderPublicKey))\n // TODO: Add check for correct decryption key / sender ID\n messageCallback(decryptedMessage);\n return [3 /*break*/, 8];\n case 7:\n decryptionError_1 = _b.sent();\n return [3 /*break*/, 8];\n case 8: return [2 /*return*/];\n }\n });\n }); };\n this.activeListeners.set(senderPublicKey, callbackFunction);\n return [4 /*yield*/, this.client.promise];\n case 2:\n (_a.sent()).subscribe(MatrixClientEvent_1.MatrixClientEventType.MESSAGE, callbackFunction);\n lastEvent = this.initialEvent;\n if (!(lastEvent &&\n lastEvent.timestamp &&\n new Date().getTime() - lastEvent.timestamp < 5 * 60 * 1000)) return [3 /*break*/, 4];\n logger.log(\'listenForEncryptedMessage\', \'Handling previous event\');\n return [4 /*yield*/, callbackFunction(lastEvent)];\n case 3:\n _a.sent();\n return [3 /*break*/, 5];\n case 4:\n logger.log(\'listenForEncryptedMessage\', \'No previous event found\');\n _a.label = 5;\n case 5:\n initialListener = this.initialListener;\n if (!initialListener) return [3 /*break*/, 7];\n ;\n return [4 /*yield*/, this.client.promise];\n case 6:\n (_a.sent()).unsubscribe(MatrixClientEvent_1.MatrixClientEventType.MESSAGE, initialListener);\n _a.label = 7;\n case 7:\n this.initialListener = undefined;\n this.initialEvent = undefined;\n return [2 /*return*/];\n }\n });\n });\n };\n P2PCommunicationClient.prototype.unsubscribeFromEncryptedMessage = function (senderPublicKey) {\n return __awaiter(this, void 0, void 0, function () {\n var listener;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n listener = this.activeListeners.get(senderPublicKey);\n if (!listener) {\n return [2 /*return*/];\n }\n ;\n return [4 /*yield*/, this.client.promise];\n case 1:\n (_a.sent()).unsubscribe(MatrixClientEvent_1.MatrixClientEventType.MESSAGE, listener);\n this.activeListeners.delete(senderPublicKey);\n return [2 /*return*/];\n }\n });\n });\n };\n P2PCommunicationClient.prototype.unsubscribeFromEncryptedMessages = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n ;\n return [4 /*yield*/, this.client.promise];\n case 1:\n (_a.sent()).unsubscribeAll(MatrixClientEvent_1.MatrixClientEventType.MESSAGE);\n this.activeListeners.clear();\n return [2 /*return*/];\n }\n });\n });\n };\n P2PCommunicationClient.prototype.sendMessage = function (message, peer) {\n return __awaiter(this, void 0, void 0, function () {\n var sharedKey, recipientHash, recipient, roomId, encryptedMessage;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.createCryptoBoxClient(peer.publicKey, this.keyPair)];\n case 1:\n sharedKey = _a.sent();\n return [4 /*yield*/, (0, beacon_utils_1.getHexHash)(Buffer.from(peer.publicKey, \'hex\'))];\n case 2:\n recipientHash = _a.sent();\n recipient = (0, beacon_utils_1.recipientString)(recipientHash, peer.relayServer);\n return [4 /*yield*/, this.getRelevantRoom(recipient)\n // Before we send the message, we have to wait for the join to be accepted.\n ];\n case 3:\n roomId = _a.sent();\n // Before we send the message, we have to wait for the join to be accepted.\n return [4 /*yield*/, this.waitForJoin(roomId)]; // TODO: This can probably be removed because we are now waiting inside the get room method\n case 4:\n // Before we send the message, we have to wait for the join to be accepted.\n _a.sent(); // TODO: This can probably be removed because we are now waiting inside the get room method\n return [4 /*yield*/, (0, beacon_utils_1.encryptCryptoboxPayload)(message, sharedKey.send)];\n case 5:\n encryptedMessage = _a.sent();\n logger.log(\'sendMessage\', \'sending encrypted message\', peer.publicKey, roomId, message);\n return [4 /*yield*/, this.client.promise];\n case 6:\n (_a.sent()).sendTextMessage(roomId, encryptedMessage).catch(function (error) { return __awaiter(_this, void 0, void 0, function () {\n var newRoomId_1;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(error.errcode === \'M_FORBIDDEN\')) return [3 /*break*/, 4];\n // Room doesn\'t exist\n logger.log("sendMessage", "M_FORBIDDEN", roomId, error);\n return [4 /*yield*/, this.deleteRoomIdFromRooms(roomId)];\n case 1:\n _a.sent();\n return [4 /*yield*/, this.getRelevantRoom(recipient)];\n case 2:\n newRoomId_1 = _a.sent();\n logger.log("sendMessage", "Old room deleted, new room created", newRoomId_1);\n return [4 /*yield*/, this.client.promise];\n case 3:\n (_a.sent())\n .sendTextMessage(newRoomId_1, encryptedMessage)\n .catch(function (error2) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n logger.log("sendMessage", "inner error", newRoomId_1, error2);\n return [2 /*return*/];\n });\n }); });\n return [3 /*break*/, 5];\n case 4:\n logger.log("sendMessage", "unexpected error", error);\n _a.label = 5;\n case 5: return [2 /*return*/];\n }\n });\n }); });\n return [2 /*return*/];\n }\n });\n });\n };\n P2PCommunicationClient.prototype.updatePeerRoom = function (sender, roomId) {\n return __awaiter(this, void 0, void 0, function () {\n var split, roomIds, room;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n logger.log("updatePeerRoom", sender, roomId);\n split = sender.split(\':\');\n if (split.length < 2 || !split[0].startsWith(\'@\')) {\n throw new Error(\'Invalid sender\');\n }\n return [4 /*yield*/, this.storage.get(beacon_types_1.StorageKey.MATRIX_PEER_ROOM_IDS)];\n case 1:\n roomIds = _a.sent();\n room = roomIds[sender];\n if (room === roomId) {\n logger.debug("updatePeerRoom", "rooms are the same, not updating");\n }\n logger.debug("updatePeerRoom", "current room", room, \'new room\', roomId);\n if (room && room[1]) {\n // If we have a room already, let\'s ignore it. We need to do this, otherwise it will be loaded from the matrix cache.\n logger.log("updatePeerRoom", "adding room \\"".concat(room[1], "\\" to ignored array"));\n this.ignoredRooms.push(room[1]);\n }\n roomIds[sender] = roomId;\n return [4 /*yield*/, this.storage.set(beacon_types_1.StorageKey.MATRIX_PEER_ROOM_IDS, roomIds)\n // TODO: We also need to delete the room from the sync state\n // If we need to delete a room, we can assume the local state is not up to date anymore, so we can reset the state\n ];\n case 2:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n P2PCommunicationClient.prototype.deleteRoomIdFromRooms = function (roomId) {\n return __awaiter(this, void 0, void 0, function () {\n var roomIds, newRoomIds;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.storage.get(beacon_types_1.StorageKey.MATRIX_PEER_ROOM_IDS)];\n case 1:\n roomIds = _a.sent();\n newRoomIds = Object.entries(roomIds)\n .filter(function (entry) { return entry[1] !== roomId; })\n .reduce(function (pv, cv) {\n var _a;\n return (__assign(__assign({}, pv), (_a = {}, _a[cv[0]] = cv[1], _a)));\n }, {});\n return [4 /*yield*/, this.storage.set(beacon_types_1.StorageKey.MATRIX_PEER_ROOM_IDS, newRoomIds)\n // TODO: We also need to delete the room from the sync state\n // If we need to delete a room, we can assume the local state is not up to date anymore, so we can reset the state\n ];\n case 2:\n _a.sent();\n // TODO: We also need to delete the room from the sync state\n // If we need to delete a room, we can assume the local state is not up to date anymore, so we can reset the state\n this.ignoredRooms.push(roomId);\n return [2 /*return*/];\n }\n });\n });\n };\n P2PCommunicationClient.prototype.listenForChannelOpening = function (messageCallback) {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n logger.debug("listenForChannelOpening");\n return [4 /*yield*/, this.client.promise];\n case 1:\n (_a.sent()).subscribe(MatrixClientEvent_1.MatrixClientEventType.MESSAGE, function (event) { return __awaiter(_this, void 0, void 0, function () {\n var _a, splits, payload, pairingResponse, _b, _c, _d, _e, decryptionError_2;\n var _f;\n return __generator(this, function (_g) {\n switch (_g.label) {\n case 0:\n _a = this.isTextMessage(event.content);\n if (!_a) return [3 /*break*/, 2];\n return [4 /*yield*/, this.isChannelOpenMessage(event.content)];\n case 1:\n _a = (_g.sent());\n _g.label = 2;\n case 2:\n if (!_a) return [3 /*break*/, 9];\n logger.log("listenForChannelOpening", "channel opening received, trying to decrypt", JSON.stringify(event));\n return [4 /*yield*/, this.updateRelayServer(event.content.message.sender)];\n case 3:\n _g.sent();\n return [4 /*yield*/, this.updatePeerRoom(event.content.message.sender, event.content.roomId)];\n case 4:\n _g.sent();\n splits = event.content.message.content.split(\':\');\n payload = Buffer.from(splits[splits.length - 1], \'hex\');\n if (!(payload.length >= beacon_utils_1.secretbox_NONCEBYTES + beacon_utils_1.secretbox_MACBYTES)) return [3 /*break*/, 9];\n _g.label = 5;\n case 5:\n _g.trys.push([5, 8, , 9]);\n _c = (_b = JSON).parse;\n return [4 /*yield*/, (0, beacon_utils_1.openCryptobox)(payload, this.keyPair.publicKey, this.keyPair.secretKey)];\n case 6:\n pairingResponse = _c.apply(_b, [_g.sent()]);\n logger.log("listenForChannelOpening", "channel opening received and decrypted", JSON.stringify(pairingResponse));\n _d = messageCallback;\n _e = [__assign({}, pairingResponse)];\n _f = {};\n return [4 /*yield*/, (0, beacon_core_1.getSenderId)(pairingResponse.publicKey)];\n case 7:\n _d.apply(void 0, [__assign.apply(void 0, _e.concat([(_f.senderId = _g.sent(), _f)]))]);\n return [3 /*break*/, 9];\n case 8:\n decryptionError_2 = _g.sent();\n return [3 /*break*/, 9];\n case 9: return [2 /*return*/];\n }\n });\n }); });\n return [2 /*return*/];\n }\n });\n });\n };\n P2PCommunicationClient.prototype.waitForJoin = function (roomId, retry) {\n if (retry === void 0) { retry = 0; }\n return __awaiter(this, void 0, void 0, function () {\n var room;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.client.promise];\n case 1: return [4 /*yield*/, (_a.sent()).getRoomById(roomId)];\n case 2:\n room = _a.sent();\n logger.log("waitForJoin", "Currently ".concat(room.members.length, " members, we need at least 2"));\n if (room.members.length >= 2 || room.members.length === 0) {\n // 0 means it\'s an unknown room, we don\'t need to wait\n return [2 /*return*/];\n }\n else {\n if (retry <= 200) {\n // On mobile, due to app switching, we potentially have to wait for a long time\n logger.log("Waiting for join... Try: ".concat(retry));\n return [2 /*return*/, new Promise(function (resolve) {\n setTimeout(function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n resolve(this.waitForJoin(roomId, retry + 1));\n return [2 /*return*/];\n });\n }); }, 100 * (retry > 50 ? 10 : 1)); // After the initial 5 seconds, retry only once per second\n })];\n }\n else {\n throw new Error("No one joined after ".concat(retry, " tries."));\n }\n }\n return [2 /*return*/];\n }\n });\n });\n };\n P2PCommunicationClient.prototype.sendPairingResponse = function (pairingRequest) {\n return __awaiter(this, void 0, void 0, function () {\n var recipientHash, recipient, roomId, message, _a, _b, _c, encryptedMessage, msg;\n var _this = this;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n logger.log("sendPairingResponse");\n return [4 /*yield*/, (0, beacon_utils_1.getHexHash)(Buffer.from(pairingRequest.publicKey, \'hex\'))];\n case 1:\n recipientHash = _d.sent();\n recipient = (0, beacon_utils_1.recipientString)(recipientHash, pairingRequest.relayServer);\n return [4 /*yield*/, this.client.promise];\n case 2: return [4 /*yield*/, (_d.sent()).createTrustedPrivateRoom(recipient)];\n case 3:\n roomId = _d.sent();\n logger.debug("sendPairingResponse", "Connecting to room \\"".concat(roomId, "\\""));\n return [4 /*yield*/, this.updatePeerRoom(recipient, roomId)\n // Before we send the message, we have to wait for the join to be accepted.\n ];\n case 4:\n _d.sent();\n // Before we send the message, we have to wait for the join to be accepted.\n return [4 /*yield*/, this.waitForJoin(roomId)]; // TODO: This can probably be removed because we are now waiting inside the get room method\n case 5:\n // Before we send the message, we have to wait for the join to be accepted.\n _d.sent(); // TODO: This can probably be removed because we are now waiting inside the get room method\n logger.debug("sendPairingResponse", "Successfully joined room.");\n if (!(typeof pairingRequest.version === \'undefined\')) return [3 /*break*/, 7];\n return [4 /*yield*/, this.getPublicKey()]; // v1\n case 6:\n _a = _d.sent(); // v1\n return [3 /*break*/, 9];\n case 7:\n _c = (_b = JSON).stringify;\n return [4 /*yield*/, this.getPairingResponseInfo(pairingRequest)];\n case 8:\n _a = _c.apply(_b, [_d.sent()]); // v2\n _d.label = 9;\n case 9:\n message = _a;\n logger.debug("sendPairingResponse", "Sending pairing response", message);\n return [4 /*yield*/, this.encryptMessageAsymmetric(pairingRequest.publicKey, message)];\n case 10:\n encryptedMessage = _d.sent();\n msg = [\'@channel-open\', recipient, encryptedMessage].join(\':\');\n return [4 /*yield*/, this.client.promise];\n case 11:\n (_d.sent()).sendTextMessage(roomId, msg).catch(function (error) { return __awaiter(_this, void 0, void 0, function () {\n var newRoomId_2;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(error.errcode === \'M_FORBIDDEN\')) return [3 /*break*/, 4];\n // Room doesn\'t exist\n logger.log("sendPairingResponse", "M_FORBIDDEN", roomId, error);\n return [4 /*yield*/, this.deleteRoomIdFromRooms(roomId)];\n case 1:\n _a.sent();\n return [4 /*yield*/, this.getRelevantRoom(recipient)];\n case 2:\n newRoomId_2 = _a.sent();\n logger.log("sendPairingResponse", "Old room deleted, new room created", newRoomId_2);\n return [4 /*yield*/, this.client.promise];\n case 3:\n (_a.sent()).sendTextMessage(newRoomId_2, msg).catch(function (error2) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n logger.log("sendPairingResponse", "inner error", newRoomId_2, error2);\n return [2 /*return*/];\n });\n }); });\n return [3 /*break*/, 5];\n case 4:\n logger.log("sendPairingResponse", "unexpected error", error);\n _a.label = 5;\n case 5: return [2 /*return*/];\n }\n });\n }); });\n return [2 /*return*/];\n }\n });\n });\n };\n P2PCommunicationClient.prototype.isTextMessage = function (content) {\n return content.message.type === MatrixMessage_1.MatrixMessageType.TEXT;\n };\n P2PCommunicationClient.prototype.updateRelayServer = function (sender) {\n return __awaiter(this, void 0, void 0, function () {\n var split, senderHash, relayServer, manager, peers, promiseArray;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n logger.log("updateRelayServer", sender);\n split = sender.split(\':\');\n if (split.length < 2 || !split[0].startsWith(\'@\')) {\n throw new Error(\'Invalid sender\');\n }\n senderHash = split.shift();\n relayServer = split.join(\':\');\n manager = localStorage.getItem(\'beacon:communication-peers-dapp\')\n ? new beacon_core_1.PeerManager(this.storage, beacon_types_1.StorageKey.TRANSPORT_P2P_PEERS_DAPP)\n : new beacon_core_1.PeerManager(this.storage, beacon_types_1.StorageKey.TRANSPORT_P2P_PEERS_WALLET);\n return [4 /*yield*/, manager.getPeers()];\n case 1:\n peers = _a.sent();\n promiseArray = peers.map(function (peer) { return __awaiter(_this, void 0, void 0, function () {\n var hash, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _a = "@".concat;\n return [4 /*yield*/, (0, beacon_utils_1.getHexHash)(Buffer.from(peer.publicKey, \'hex\'))];\n case 1:\n hash = _a.apply("@", [_b.sent()]);\n if (!(hash === senderHash)) return [3 /*break*/, 3];\n if (!(peer.relayServer !== relayServer)) return [3 /*break*/, 3];\n peer.relayServer = relayServer;\n return [4 /*yield*/, manager.addPeer(peer)];\n case 2:\n _b.sent();\n _b.label = 3;\n case 3: return [2 /*return*/];\n }\n });\n }); });\n return [4 /*yield*/, Promise.all(promiseArray)];\n case 2:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n P2PCommunicationClient.prototype.isChannelOpenMessage = function (content) {\n return __awaiter(this, void 0, void 0, function () {\n var _a, _b, _c, _d, _e, _f;\n return __generator(this, function (_g) {\n switch (_g.label) {\n case 0:\n _b = (_a = content.message.content).startsWith;\n _c = "@channel-open:@".concat;\n _d = beacon_utils_1.getHexHash;\n _f = (_e = Buffer).from;\n return [4 /*yield*/, this.getPublicKey()];\n case 1: return [4 /*yield*/, _d.apply(void 0, [_f.apply(_e, [_g.sent(), \'hex\'])])];\n case 2: return [2 /*return*/, _b.apply(_a, [_c.apply("@channel-open:@", [_g.sent()])])];\n }\n });\n });\n };\n P2PCommunicationClient.prototype.isSender = function (event, senderPublicKey) {\n return __awaiter(this, void 0, void 0, function () {\n var _a, _b, _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _b = (_a = event.content.message.sender).startsWith;\n _c = "@".concat;\n return [4 /*yield*/, (0, beacon_utils_1.getHexHash)(Buffer.from(senderPublicKey, \'hex\'))];\n case 1: return [2 /*return*/, _b.apply(_a, [_c.apply("@", [_d.sent()])])];\n }\n });\n });\n };\n P2PCommunicationClient.prototype.getRelevantRoom = function (recipient) {\n return __awaiter(this, void 0, void 0, function () {\n var roomIds, roomId, room;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.storage.get(beacon_types_1.StorageKey.MATRIX_PEER_ROOM_IDS)];\n case 1:\n roomIds = _a.sent();\n roomId = roomIds[recipient];\n if (!!roomId) return [3 /*break*/, 4];\n logger.log("getRelevantRoom", "No room found for peer ".concat(recipient, ", checking joined ones."));\n return [4 /*yield*/, this.getRelevantJoinedRoom(recipient)];\n case 2:\n room = _a.sent();\n roomId = room.id;\n roomIds[recipient] = room.id;\n return [4 /*yield*/, this.storage.set(beacon_types_1.StorageKey.MATRIX_PEER_ROOM_IDS, roomIds)];\n case 3:\n _a.sent();\n _a.label = 4;\n case 4:\n logger.log("getRelevantRoom", "Using room ".concat(roomId));\n return [2 /*return*/, roomId];\n }\n });\n });\n };\n P2PCommunicationClient.prototype.getRelevantJoinedRoom = function (recipient) {\n return __awaiter(this, void 0, void 0, function () {\n var joinedRooms, relevantRooms, room, roomId;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.client.promise];\n case 1: return [4 /*yield*/, (_a.sent()).joinedRooms];\n case 2:\n joinedRooms = _a.sent();\n logger.log(\'checking joined rooms\', joinedRooms, recipient);\n relevantRooms = joinedRooms\n .filter(function (roomElement) { return !_this.ignoredRooms.some(function (id) { return roomElement.id === id; }); })\n .filter(function (roomElement) {\n return roomElement.members.some(function (member) { return member === recipient; });\n });\n if (!(relevantRooms.length === 0 || this.ignoredRooms.length > 0)) return [3 /*break*/, 8];\n logger.log("getRelevantJoinedRoom", "no relevant rooms found, creating new one");\n return [4 /*yield*/, this.client.promise];\n case 3: return [4 /*yield*/, (_a.sent()).createTrustedPrivateRoom(recipient)];\n case 4:\n roomId = _a.sent();\n return [4 /*yield*/, this.client.promise];\n case 5: return [4 /*yield*/, (_a.sent()).getRoomById(roomId)];\n case 6:\n room = _a.sent();\n logger.log("getRelevantJoinedRoom", "waiting for other party to join room: ".concat(room.id));\n return [4 /*yield*/, this.waitForJoin(roomId)];\n case 7:\n _a.sent();\n logger.log("getRelevantJoinedRoom", "new room created and peer invited: ".concat(room.id));\n return [3 /*break*/, 9];\n case 8:\n room = relevantRooms[0];\n logger.log("getRelevantJoinedRoom", "channel already open, reusing room ".concat(room.id));\n _a.label = 9;\n case 9: return [2 /*return*/, room];\n }\n });\n });\n };\n return P2PCommunicationClient;\n}(beacon_core_1.CommunicationClient));\nexports.P2PCommunicationClient = P2PCommunicationClient;\n//# sourceMappingURL=P2PCommunicationClient.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/dist/cjs/communication-client/P2PCommunicationClient.js?')},"./packages/beacon-transport-matrix/dist/cjs/index.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.P2PTransport = exports.P2PCommunicationClient = void 0;\nvar P2PCommunicationClient_1 = __webpack_require__(/*! ./communication-client/P2PCommunicationClient */ "./packages/beacon-transport-matrix/dist/cjs/communication-client/P2PCommunicationClient.js");\nObject.defineProperty(exports, "P2PCommunicationClient", ({ enumerable: true, get: function () { return P2PCommunicationClient_1.P2PCommunicationClient; } }));\nvar P2PTransport_1 = __webpack_require__(/*! ./P2PTransport */ "./packages/beacon-transport-matrix/dist/cjs/P2PTransport.js");\nObject.defineProperty(exports, "P2PTransport", ({ enumerable: true, get: function () { return P2PTransport_1.P2PTransport; } }));\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/dist/cjs/index.js?')},"./packages/beacon-transport-matrix/dist/cjs/matrix-client/EventEmitter.js":function(__unused_webpack_module,exports){"use strict";eval("\n// https://gist.github.com/mudge/5830382?permalink_comment_id=2658721#gistcomment-2658721\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EventEmitter = void 0;\nvar EventEmitter = /** @class */ (function () {\n function EventEmitter() {\n this.events = {};\n }\n EventEmitter.prototype.on = function (event, listener) {\n var _this = this;\n if (typeof this.events[event] !== 'object') {\n this.events[event] = [];\n }\n this.events[event].push(listener);\n return function () { return _this.removeListener(event, listener); };\n };\n EventEmitter.prototype.removeListener = function (event, listener) {\n if (typeof this.events[event] !== 'object') {\n return;\n }\n if (!listener) {\n this.events[event] = [];\n return;\n }\n var idx = this.events[event].indexOf(listener);\n if (idx > -1) {\n this.events[event].splice(idx, 1);\n }\n };\n EventEmitter.prototype.removeAllListeners = function () {\n var _this = this;\n Object.keys(this.events).forEach(function (event) {\n return _this.events[event].splice(0, _this.events[event].length);\n });\n };\n EventEmitter.prototype.emit = function (event) {\n var _this = this;\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (typeof this.events[event] !== 'object') {\n return;\n }\n ;\n __spreadArray([], this.events[event], true).forEach(function (listener) { return listener.apply(_this, args); });\n };\n EventEmitter.prototype.once = function (event, listener) {\n var _this = this;\n var remove = this.on(event, function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n remove();\n listener.apply(_this, args);\n });\n return remove;\n };\n return EventEmitter;\n}());\nexports.EventEmitter = EventEmitter;\n//# sourceMappingURL=EventEmitter.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/dist/cjs/matrix-client/EventEmitter.js?")},"./packages/beacon-transport-matrix/dist/cjs/matrix-client/MatrixClient.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError("Generator is already executing.");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.MatrixClient = void 0;\nvar beacon_core_1 = __webpack_require__(/*! @airgap/beacon-core */ "./packages/beacon-core/dist/cjs/index.js");\nvar beacon_utils_1 = __webpack_require__(/*! @airgap/beacon-utils */ "./packages/beacon-utils/dist/cjs/index.js");\nvar MatrixClientStore_1 = __webpack_require__(/*! ./MatrixClientStore */ "./packages/beacon-transport-matrix/dist/cjs/matrix-client/MatrixClientStore.js");\nvar MatrixHttpClient_1 = __webpack_require__(/*! ./MatrixHttpClient */ "./packages/beacon-transport-matrix/dist/cjs/matrix-client/MatrixHttpClient.js");\nvar MatrixRoom_1 = __webpack_require__(/*! ./models/MatrixRoom */ "./packages/beacon-transport-matrix/dist/cjs/matrix-client/models/MatrixRoom.js");\nvar MatrixRoomService_1 = __webpack_require__(/*! ./services/MatrixRoomService */ "./packages/beacon-transport-matrix/dist/cjs/matrix-client/services/MatrixRoomService.js");\nvar MatrixUserService_1 = __webpack_require__(/*! ./services/MatrixUserService */ "./packages/beacon-transport-matrix/dist/cjs/matrix-client/services/MatrixUserService.js");\nvar MatrixEventService_1 = __webpack_require__(/*! ./services/MatrixEventService */ "./packages/beacon-transport-matrix/dist/cjs/matrix-client/services/MatrixEventService.js");\nvar MatrixClientEventEmitter_1 = __webpack_require__(/*! ./MatrixClientEventEmitter */ "./packages/beacon-transport-matrix/dist/cjs/matrix-client/MatrixClientEventEmitter.js");\nvar logger = new beacon_core_1.Logger(\'MatrixClient\');\nvar IMMEDIATE_POLLING_RETRIES = 3;\nvar RETRY_INTERVAL = 5000;\n/**\n * The matrix client used to connect to the matrix network\n */\nvar MatrixClient = /** @class */ (function () {\n function MatrixClient(store, eventEmitter, userService, roomService, eventService, httpClient) {\n var _this = this;\n this.store = store;\n this.eventEmitter = eventEmitter;\n this.userService = userService;\n this.roomService = roomService;\n this.eventService = eventService;\n this.httpClient = httpClient;\n this.isActive = true;\n this._isReady = new beacon_utils_1.ExposedPromise();\n this.store.onStateChanged(function (oldState, newState, stateChange) {\n _this.eventEmitter.onStateChanged(oldState, newState, stateChange);\n }, \'rooms\');\n }\n /**\n * Create a matrix client based on the options provided\n *\n * @param config\n */\n MatrixClient.create = function (config) {\n var store = new MatrixClientStore_1.MatrixClientStore(config.storage);\n var eventEmitter = new MatrixClientEventEmitter_1.MatrixClientEventEmitter();\n var httpClient = new MatrixHttpClient_1.MatrixHttpClient(config.baseUrl);\n var accountService = new MatrixUserService_1.MatrixUserService(httpClient);\n var roomService = new MatrixRoomService_1.MatrixRoomService(httpClient);\n var eventService = new MatrixEventService_1.MatrixEventService(httpClient);\n return new MatrixClient(store, eventEmitter, accountService, roomService, eventService, httpClient);\n };\n Object.defineProperty(MatrixClient.prototype, "joinedRooms", {\n /**\n * Return all the rooms we are currently part of\n */\n get: function () {\n var _this = this;\n return new Promise(function (resolve) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.isConnected()];\n case 1:\n _a.sent();\n resolve(Object.values(this.store.get(\'rooms\')).filter(function (room) { return room.status === MatrixRoom_1.MatrixRoomStatus.JOINED; }));\n return [2 /*return*/];\n }\n });\n }); });\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MatrixClient.prototype, "invitedRooms", {\n /**\n * Return all the rooms to which we have received invitations\n */\n get: function () {\n var _this = this;\n return new Promise(function (resolve) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.isConnected()];\n case 1:\n _a.sent();\n resolve(Object.values(this.store.get(\'rooms\')).filter(function (room) { return room.status === MatrixRoom_1.MatrixRoomStatus.INVITED; }));\n return [2 /*return*/];\n }\n });\n }); });\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MatrixClient.prototype, "leftRooms", {\n /**\n * Return all the rooms that we left\n */\n get: function () {\n var _this = this;\n return new Promise(function (resolve) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.isConnected()];\n case 1:\n _a.sent();\n resolve(Object.values(this.store.get(\'rooms\')).filter(function (room) { return room.status === MatrixRoom_1.MatrixRoomStatus.LEFT; }));\n return [2 /*return*/];\n }\n });\n }); });\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Initiate the connection to the matrix node and log in\n *\n * @param user\n */\n MatrixClient.prototype.start = function (user) {\n return __awaiter(this, void 0, void 0, function () {\n var response, initialPollingResult;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.userService.login(user.id, user.password, user.deviceId)];\n case 1:\n response = _a.sent();\n return [4 /*yield*/, this.store.update({\n accessToken: response.access_token\n })];\n case 2:\n _a.sent();\n initialPollingResult = new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.poll(0, function (pollingResponse) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!this.store.get(\'isRunning\')) {\n resolve();\n }\n return [4 /*yield*/, this.store.update({\n isRunning: true,\n syncToken: pollingResponse.next_batch,\n pollingTimeout: 30000,\n pollingRetries: 0,\n rooms: MatrixRoom_1.MatrixRoom.fromSync(pollingResponse.rooms)\n })];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); }, function (error) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!this.store.get(\'isRunning\')) {\n reject(error);\n }\n return [4 /*yield*/, this.store.update({\n isRunning: false,\n pollingRetries: this.store.get(\'pollingRetries\') + 1\n })];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); })];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); });\n initialPollingResult\n .then(function () {\n _this._isReady.resolve();\n })\n .catch(console.error);\n return [2 /*return*/, initialPollingResult];\n }\n });\n });\n };\n MatrixClient.prototype.isConnected = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this._isReady.promise];\n });\n });\n };\n /**\n * Stop all running requests\n */\n MatrixClient.prototype.stop = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n logger.log("MATRIX CLIENT STOPPED");\n this.isActive = false;\n this._isReady = new beacon_utils_1.ExposedPromise();\n return [2 /*return*/, this.httpClient.cancelAllRequests()];\n });\n });\n };\n /**\n * Subscribe to new matrix events\n *\n * @param event\n * @param listener\n */\n MatrixClient.prototype.subscribe = function (event, listener) {\n this.eventEmitter.on(event, listener);\n };\n /**\n * Unsubscribe from matrix events\n *\n * @param event\n * @param listener\n */\n MatrixClient.prototype.unsubscribe = function (event, listener) {\n if (listener) {\n this.eventEmitter.removeListener(event, listener);\n }\n };\n /**\n * Unsubscribe from all matrix events of this type\n *\n * @param event\n * @param listener\n */\n MatrixClient.prototype.unsubscribeAll = function (event) {\n this.eventEmitter.removeListener(event);\n };\n MatrixClient.prototype.getRoomById = function (id) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.isConnected()];\n case 1:\n _a.sent();\n return [2 /*return*/, this.store.getRoom(id)];\n }\n });\n });\n };\n /**\n * Create a private room with the supplied members\n *\n * @param members Members that will be in the room\n */\n MatrixClient.prototype.createTrustedPrivateRoom = function () {\n var members = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n members[_i] = arguments[_i];\n }\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.isConnected()];\n case 1:\n _a.sent();\n return [2 /*return*/, this.requiresAuthorization(\'createRoom\', function (accessToken) { return __awaiter(_this, void 0, void 0, function () {\n var response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.roomService.createRoom(accessToken, {\n room_version: \'5\',\n invite: members,\n preset: \'public_chat\',\n is_direct: true\n })];\n case 1:\n response = _a.sent();\n return [2 /*return*/, response.room_id];\n }\n });\n }); })];\n }\n });\n });\n };\n /**\n * Invite user to rooms\n *\n * @param user The user to be invited\n * @param roomsOrIds The rooms the user will be invited to\n */\n MatrixClient.prototype.inviteToRooms = function (user) {\n var roomsOrIds = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n roomsOrIds[_i - 1] = arguments[_i];\n }\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.isConnected()];\n case 1:\n _a.sent();\n return [4 /*yield*/, this.requiresAuthorization(\'invite\', function (accessToken) {\n return Promise.all(roomsOrIds.map(function (roomOrId) {\n var room = _this.store.getRoom(roomOrId);\n _this.roomService\n .inviteToRoom(accessToken, user, room)\n .catch(function (error) { return logger.warn(\'inviteToRooms\', error); });\n }));\n })];\n case 2:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Join rooms\n *\n * @param roomsOrIds\n */\n MatrixClient.prototype.joinRooms = function () {\n var roomsOrIds = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n roomsOrIds[_i] = arguments[_i];\n }\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.isConnected()];\n case 1:\n _a.sent();\n return [4 /*yield*/, this.requiresAuthorization(\'join\', function (accessToken) {\n return Promise.all(roomsOrIds.map(function (roomOrId) {\n var room = _this.store.getRoom(roomOrId);\n return _this.roomService.joinRoom(accessToken, room);\n }));\n })];\n case 2:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Send a text message\n *\n * @param roomOrId\n * @param message\n */\n MatrixClient.prototype.sendTextMessage = function (roomId, message) {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.isConnected()];\n case 1:\n _a.sent();\n return [4 /*yield*/, this.requiresAuthorization(\'send\', function (accessToken) { return __awaiter(_this, void 0, void 0, function () {\n var txnId;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.createTxnId()];\n case 1:\n txnId = _a.sent();\n return [2 /*return*/, this.eventService.sendMessage(accessToken, roomId, {\n msgtype: \'m.text\',\n body: message\n }, txnId)];\n }\n });\n }); })];\n case 2:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Poll the server to get the latest data and get notified of changes\n *\n * @param interval\n * @param onSyncSuccess\n * @param onSyncError\n */\n MatrixClient.prototype.poll = function (interval, onSyncSuccess, onSyncError) {\n return __awaiter(this, void 0, void 0, function () {\n var store, sync, pollSync;\n var _this = this;\n return __generator(this, function (_a) {\n store = this.store;\n sync = this.sync.bind(this);\n pollSync = function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {\n var syncingRetries, response, error_1;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n syncingRetries = 0;\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, 4, 5]);\n return [4 /*yield*/, sync()];\n case 2:\n response = _a.sent();\n onSyncSuccess(response);\n return [3 /*break*/, 5];\n case 3:\n error_1 = _a.sent();\n onSyncError(error_1);\n syncingRetries = store.get(\'pollingRetries\');\n // console.warn(\'Could not sync:\', error)\n if (this.isActive) {\n logger.log("Retry syncing... ".concat(syncingRetries, " retries so far"));\n }\n return [3 /*break*/, 5];\n case 4:\n if (this.isActive) {\n setTimeout(function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, pollSync(resolve, reject)];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); }, syncingRetries > IMMEDIATE_POLLING_RETRIES ? RETRY_INTERVAL + interval : interval);\n }\n else {\n reject(new Error("Syncing stopped manually."));\n }\n return [7 /*endfinally*/];\n case 5: return [2 /*return*/];\n }\n });\n }); };\n return [2 /*return*/, new Promise(pollSync)];\n });\n });\n };\n /**\n * Get state from server\n */\n MatrixClient.prototype.sync = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n return [2 /*return*/, this.requiresAuthorization(\'sync\', function (accessToken) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.eventService.sync(accessToken, {\n pollingTimeout: this.store.get(\'pollingTimeout\'),\n syncToken: this.store.get(\'syncToken\')\n })];\n });\n }); })];\n });\n });\n };\n /**\n * A helper method that makes sure an access token is provided\n *\n * @param name\n * @param action\n */\n MatrixClient.prototype.requiresAuthorization = function (name, action) {\n return __awaiter(this, void 0, void 0, function () {\n var storedToken;\n return __generator(this, function (_a) {\n storedToken = this.store.get(\'accessToken\');\n if (!storedToken) {\n return [2 /*return*/, Promise.reject("".concat(name, " requires authorization but no access token has been provided."))];\n }\n return [2 /*return*/, action(storedToken)];\n });\n });\n };\n /**\n * Create a transaction ID\n */\n MatrixClient.prototype.createTxnId = function () {\n return __awaiter(this, void 0, void 0, function () {\n var timestamp, counter;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n timestamp = new Date().getTime();\n counter = this.store.get(\'txnNo\');\n return [4 /*yield*/, this.store.update({\n txnNo: counter + 1\n })];\n case 1:\n _a.sent();\n return [2 /*return*/, "m".concat(timestamp, ".").concat(counter)];\n }\n });\n });\n };\n return MatrixClient;\n}());\nexports.MatrixClient = MatrixClient;\n//# sourceMappingURL=MatrixClient.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/dist/cjs/matrix-client/MatrixClient.js?')},"./packages/beacon-transport-matrix/dist/cjs/matrix-client/MatrixClientEventEmitter.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== "function" && b !== null)\n throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.MatrixClientEventEmitter = void 0;\nvar EventEmitter_1 = __webpack_require__(/*! ./EventEmitter */ "./packages/beacon-transport-matrix/dist/cjs/matrix-client/EventEmitter.js");\nvar beacon_utils_1 = __webpack_require__(/*! @airgap/beacon-utils */ "./packages/beacon-utils/dist/cjs/index.js");\nvar MatrixRoom_1 = __webpack_require__(/*! ./models/MatrixRoom */ "./packages/beacon-transport-matrix/dist/cjs/matrix-client/models/MatrixRoom.js");\nvar MatrixClientEvent_1 = __webpack_require__(/*! ./models/MatrixClientEvent */ "./packages/beacon-transport-matrix/dist/cjs/matrix-client/models/MatrixClientEvent.js");\nvar MatrixClientEventEmitter = /** @class */ (function (_super) {\n __extends(MatrixClientEventEmitter, _super);\n function MatrixClientEventEmitter() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.eventEmitProviders = new Map([\n [MatrixClientEvent_1.MatrixClientEventType.INVITE, function () { return [_this.isInvite, _this.emitInvite.bind(_this)]; }],\n [MatrixClientEvent_1.MatrixClientEventType.MESSAGE, function () { return [_this.isMessage, _this.emitMessage.bind(_this)]; }]\n ]);\n return _this;\n }\n /**\n * This method is called every time the state is changed\n *\n * @param _oldState\n * @param _newState\n * @param stateChange\n */\n MatrixClientEventEmitter.prototype.onStateChanged = function (_oldState, _newState, stateChange) {\n for (var _i = 0, _a = (0, beacon_utils_1.keys)(MatrixClientEvent_1.MatrixClientEventType); _i < _a.length; _i++) {\n var event_1 = _a[_i];\n this.emitIfEvent(MatrixClientEvent_1.MatrixClientEventType[event_1], stateChange);\n }\n };\n /**\n * Emit the message if we have listeners registered for that type\n *\n * @param eventType\n * @param object\n */\n MatrixClientEventEmitter.prototype.emitIfEvent = function (eventType, object) {\n var provider = this.eventEmitProviders.get(eventType);\n if (provider) {\n var _a = provider(), predicate = _a[0], emitter = _a[1];\n if (predicate(object)) {\n emitter(eventType, object);\n }\n }\n };\n /**\n * Emit a client event\n *\n * @param eventType\n * @param content\n */\n MatrixClientEventEmitter.prototype.emitClientEvent = function (eventType, content, timestamp) {\n this.emit(eventType, {\n type: eventType,\n content: content,\n timestamp: timestamp\n });\n };\n /**\n * Check if event is an invite\n *\n * @param stateChange\n */\n MatrixClientEventEmitter.prototype.isInvite = function (stateChange) {\n return stateChange.rooms\n ? stateChange.rooms.some(function (room) { return room.status === MatrixRoom_1.MatrixRoomStatus.INVITED; })\n : false;\n };\n /**\n * Emit an invite\n *\n * @param eventType\n * @param stateChange\n */\n MatrixClientEventEmitter.prototype.emitInvite = function (eventType, stateChange) {\n var _this = this;\n stateChange.rooms\n .filter(function (room) { return room.status === MatrixRoom_1.MatrixRoomStatus.INVITED; })\n .map(function (room) { return [room.id, room.members]; })\n .forEach(function (_a) {\n var id = _a[0], members = _a[1];\n _this.emitClientEvent(eventType, {\n roomId: id,\n members: members\n });\n });\n };\n /**\n * Check if event is a message\n *\n * @param stateChange\n */\n MatrixClientEventEmitter.prototype.isMessage = function (stateChange) {\n return stateChange.rooms ? stateChange.rooms.some(function (room) { return room.messages.length > 0; }) : false;\n };\n /**\n * Emit an event to all rooms\n *\n * @param eventType\n * @param stateChange\n */\n MatrixClientEventEmitter.prototype.emitMessage = function (eventType, stateChange) {\n var _this = this;\n stateChange.rooms\n .filter(function (room) { return room.messages.length > 0; })\n .map(function (room) {\n return room.messages.map(function (message) {\n return [room.id, message, message.timestamp];\n });\n })\n .reduce(function (flatten, toFlatten) { return flatten.concat(toFlatten); }, [])\n .forEach(function (_a) {\n var roomId = _a[0], message = _a[1], timestamp = _a[2];\n _this.emitClientEvent(eventType, {\n roomId: roomId,\n message: message\n }, timestamp);\n });\n };\n return MatrixClientEventEmitter;\n}(EventEmitter_1.EventEmitter));\nexports.MatrixClientEventEmitter = MatrixClientEventEmitter;\n//# sourceMappingURL=MatrixClientEventEmitter.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/dist/cjs/matrix-client/MatrixClientEventEmitter.js?')},"./packages/beacon-transport-matrix/dist/cjs/matrix-client/MatrixClientStore.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError("Generator is already executing.");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.MatrixClientStore = void 0;\nvar beacon_utils_1 = __webpack_require__(/*! @airgap/beacon-utils */ "./packages/beacon-utils/dist/cjs/index.js");\nvar MatrixRoom_1 = __webpack_require__(/*! ./models/MatrixRoom */ "./packages/beacon-transport-matrix/dist/cjs/matrix-client/models/MatrixRoom.js");\nvar beacon_types_1 = __webpack_require__(/*! @airgap/beacon-types */ "./packages/beacon-types/dist/cjs/index.js");\nvar PRESERVED_FIELDS = [\'syncToken\', \'rooms\'];\n/**\n * The class managing the local state of matrix\n */\nvar MatrixClientStore = /** @class */ (function () {\n function MatrixClientStore(storage) {\n var _this = this;\n this.storage = storage;\n /**\n * The state of the matrix client\n */\n this.state = {\n isRunning: false,\n userId: undefined,\n deviceId: undefined,\n txnNo: 0,\n accessToken: undefined,\n syncToken: undefined,\n pollingTimeout: undefined,\n pollingRetries: 0,\n rooms: {}\n };\n /**\n * Listeners that will be called when the state changes\n */\n this.onStateChangedListeners = new Map();\n /**\n * A promise that resolves once the client is ready\n */\n this.waitReadyPromise = new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {\n var error_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.initFromStorage()];\n case 1:\n _a.sent();\n resolve();\n return [3 /*break*/, 3];\n case 2:\n error_1 = _a.sent();\n reject(error_1);\n return [3 /*break*/, 3];\n case 3: return [2 /*return*/];\n }\n });\n }); });\n }\n /**\n * Get an item from the state\n *\n * @param key\n */\n MatrixClientStore.prototype.get = function (key) {\n return this.state[key];\n };\n /**\n * Get the room from an ID or room instance\n *\n * @param roomOrId\n */\n MatrixClientStore.prototype.getRoom = function (roomOrId) {\n var room = MatrixRoom_1.MatrixRoom.from(roomOrId, MatrixRoom_1.MatrixRoomStatus.UNKNOWN);\n return this.state.rooms[room.id] || room;\n };\n /**\n * Update the state with a partial state\n *\n * @param stateUpdate\n */\n MatrixClientStore.prototype.update = function (stateUpdate) {\n return __awaiter(this, void 0, void 0, function () {\n var oldState;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.waitReady()];\n case 1:\n _a.sent();\n oldState = Object.assign({}, this.state);\n this.setState(stateUpdate);\n this.updateStorage(stateUpdate);\n this.notifyListeners(oldState, this.state, stateUpdate);\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Register listeners that are called once the state has changed\n *\n * @param listener\n * @param subscribed\n */\n MatrixClientStore.prototype.onStateChanged = function (listener) {\n var _this = this;\n var subscribed = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n subscribed[_i - 1] = arguments[_i];\n }\n if (subscribed.length > 0) {\n subscribed.forEach(function (key) {\n _this.onStateChangedListeners.set(key, listener);\n });\n }\n else {\n this.onStateChangedListeners.set(\'all\', listener);\n }\n };\n /**\n * A promise that resolves once the client is ready\n */\n MatrixClientStore.prototype.waitReady = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.waitReadyPromise];\n });\n });\n };\n /**\n * Read state from storage\n */\n MatrixClientStore.prototype.initFromStorage = function () {\n return __awaiter(this, void 0, void 0, function () {\n var preserved;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.storage.get(beacon_types_1.StorageKey.MATRIX_PRESERVED_STATE)];\n case 1:\n preserved = _a.sent();\n this.setState(preserved);\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Prepare data before persisting it in storage\n *\n * @param toStore\n */\n MatrixClientStore.prototype.prepareData = function (toStore) {\n var requiresPreparation = [\'rooms\'];\n var toStoreCopy = requiresPreparation.some(function (key) { return toStore[key] !== undefined; })\n ? JSON.parse(JSON.stringify(toStore))\n : toStore;\n // there is no need for saving messages in a persistent storage\n Object.values(toStoreCopy.rooms || {}).forEach(function (room) {\n room.messages = [];\n });\n return toStoreCopy;\n };\n /**\n * Persist state in storage\n *\n * @param stateUpdate\n */\n MatrixClientStore.prototype.updateStorage = function (stateUpdate) {\n var _this = this;\n var updatedCachedFields = Object.entries(stateUpdate).filter(function (_a) {\n var key = _a[0], value = _a[1];\n return PRESERVED_FIELDS.includes(key) && Boolean(value);\n });\n if (updatedCachedFields.length > 0) {\n var filteredState_1 = {};\n PRESERVED_FIELDS.forEach(function (key) {\n filteredState_1[key] = _this.state[key];\n });\n this.storage.set(beacon_types_1.StorageKey.MATRIX_PRESERVED_STATE, this.prepareData(filteredState_1));\n }\n };\n /**\n * Set the state\n *\n * @param partialState\n */\n MatrixClientStore.prototype.setState = function (partialState) {\n this.state = {\n isRunning: partialState.isRunning || this.state.isRunning,\n userId: partialState.userId || this.state.userId,\n deviceId: partialState.deviceId || this.state.deviceId,\n txnNo: partialState.txnNo || this.state.txnNo,\n accessToken: partialState.accessToken || this.state.accessToken,\n syncToken: partialState.syncToken || this.state.syncToken,\n pollingTimeout: partialState.pollingTimeout || this.state.pollingTimeout,\n pollingRetries: partialState.pollingRetries || this.state.pollingRetries,\n rooms: this.mergeRooms(this.state.rooms, partialState.rooms)\n };\n };\n /**\n * Merge room records and eliminate duplicates\n *\n * @param oldRooms\n * @param _newRooms\n */\n MatrixClientStore.prototype.mergeRooms = function (oldRooms, _newRooms) {\n if (!_newRooms) {\n return oldRooms;\n }\n var newRooms = Array.isArray(_newRooms) ? _newRooms : Object.values(_newRooms);\n var merged = Object.assign({}, oldRooms);\n newRooms.forEach(function (newRoom) {\n merged[newRoom.id] = MatrixRoom_1.MatrixRoom.merge(newRoom, oldRooms[newRoom.id]);\n });\n return merged;\n };\n /**\n * Notify listeners of state changes\n *\n * @param oldState\n * @param newState\n * @param stateChange\n */\n MatrixClientStore.prototype.notifyListeners = function (oldState, newState, stateChange) {\n var _this = this;\n var listenForAll = this.onStateChangedListeners.get(\'all\');\n if (listenForAll) {\n listenForAll(oldState, newState, stateChange);\n }\n (0, beacon_utils_1.keys)(stateChange)\n .filter(function (key) { return stateChange[key] !== undefined; })\n .forEach(function (key) {\n var listener = _this.onStateChangedListeners.get(key);\n if (listener) {\n listener(oldState, newState, stateChange);\n }\n });\n };\n return MatrixClientStore;\n}());\nexports.MatrixClientStore = MatrixClientStore;\n//# sourceMappingURL=MatrixClientStore.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/dist/cjs/matrix-client/MatrixClientStore.js?')},"./packages/beacon-transport-matrix/dist/cjs/matrix-client/MatrixHttpClient.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError("Generator is already executing.");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.MatrixHttpClient = void 0;\nvar axios_1 = __webpack_require__(/*! axios */ "./packages/beacon-transport-matrix/node_modules/axios/index.js");\nvar beacon_utils_1 = __webpack_require__(/*! @airgap/beacon-utils */ "./packages/beacon-utils/dist/cjs/index.js");\nvar beacon_core_1 = __webpack_require__(/*! @airgap/beacon-core */ "./packages/beacon-core/dist/cjs/index.js");\nvar logger = new beacon_core_1.Logger(\'MatrixHttpClient\');\nvar CLIENT_API_R0 = \'/_matrix/client/r0\';\n/**\n * Handling the HTTP connection to the matrix synapse node\n */\nvar MatrixHttpClient = /** @class */ (function () {\n function MatrixHttpClient(baseUrl) {\n this.baseUrl = baseUrl;\n this.cancelTokenSource = axios_1.default.CancelToken.source();\n }\n /**\n * Get data from the synapse node\n *\n * @param endpoint\n * @param options\n */\n MatrixHttpClient.prototype.get = function (endpoint, params, options) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.send(\'GET\', endpoint, options, params)];\n });\n });\n };\n /**\n * Post data to the synapse node\n *\n * @param endpoint\n * @param body\n * @param options\n * @param params\n */\n MatrixHttpClient.prototype.post = function (endpoint, body, options, params) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.send(\'POST\', endpoint, options, params, body)];\n });\n });\n };\n /**\n * Put data to the synapse node\n *\n * @param endpoint\n * @param body\n * @param options\n * @param params\n */\n MatrixHttpClient.prototype.put = function (endpoint, body, options, params) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.send(\'PUT\', endpoint, options, params, body)];\n });\n });\n };\n MatrixHttpClient.prototype.cancelAllRequests = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.cancelTokenSource.cancel(\'Manually cancelled\')];\n });\n });\n };\n /**\n * Send a request to the synapse node\n *\n * @param method\n * @param endpoint\n * @param config\n * @param requestParams\n * @param data\n */\n MatrixHttpClient.prototype.send = function (method, endpoint, config, requestParams, data) {\n return __awaiter(this, void 0, void 0, function () {\n var headers, params, response, error_1, axiosError;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n headers = config ? this.getHeaders(config) : undefined;\n params = requestParams ? this.getParams(requestParams) : undefined;\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, axios_1.default.request({\n method: method,\n url: endpoint,\n baseURL: this.apiUrl(CLIENT_API_R0),\n headers: headers,\n data: data,\n params: params,\n cancelToken: this.cancelTokenSource.token\n })];\n case 2:\n response = _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_1 = _a.sent();\n axiosError = error_1;\n logger.error(\'send\', axiosError.code, axiosError.message, axiosError.response.data);\n throw error_1.response.data;\n case 4: return [2 /*return*/, response.data];\n }\n });\n });\n };\n /**\n * Get the headers based on the options object\n *\n * @param options\n */\n MatrixHttpClient.prototype.getHeaders = function (options) {\n var headers = {};\n var entries = [];\n if (options.accessToken) {\n entries.push([\'Authorization\', "Bearer ".concat(options.accessToken)]);\n }\n if (entries.length === 0) {\n return undefined;\n }\n for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\n var _a = entries_1[_i], key = _a[0], value = _a[1];\n headers[key] = value;\n }\n return headers;\n };\n /**\n * Get parameters\n *\n * @param _params\n */\n MatrixHttpClient.prototype.getParams = function (_params) {\n if (!_params) {\n return undefined;\n }\n var params = Object.assign(_params, {});\n (0, beacon_utils_1.keys)(params).forEach(function (key) { return params[key] === undefined && delete params[key]; });\n return params;\n };\n /**\n * Construct API URL\n */\n MatrixHttpClient.prototype.apiUrl = function () {\n var parts = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n parts[_i] = arguments[_i];\n }\n var apiBase = this.baseUrl.endsWith(\'/\')\n ? this.baseUrl.substr(0, this.baseUrl.length - 1)\n : this.baseUrl;\n var apiParts = parts.map(function (path) { return (path.startsWith(\'/\') ? path.substr(1) : path); });\n return __spreadArray([apiBase], apiParts, true).join(\'/\');\n };\n return MatrixHttpClient;\n}());\nexports.MatrixHttpClient = MatrixHttpClient;\n//# sourceMappingURL=MatrixHttpClient.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/dist/cjs/matrix-client/MatrixHttpClient.js?')},"./packages/beacon-transport-matrix/dist/cjs/matrix-client/models/MatrixClientEvent.js":(__unused_webpack_module,exports)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.MatrixClientEventType = void 0;\nvar MatrixClientEventType;\n(function (MatrixClientEventType) {\n MatrixClientEventType["INVITE"] = "invite";\n MatrixClientEventType["MESSAGE"] = "message";\n})(MatrixClientEventType = exports.MatrixClientEventType || (exports.MatrixClientEventType = {}));\n//# sourceMappingURL=MatrixClientEvent.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/dist/cjs/matrix-client/models/MatrixClientEvent.js?')},"./packages/beacon-transport-matrix/dist/cjs/matrix-client/models/MatrixMessage.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.MatrixMessage = exports.MatrixMessageType = void 0;\nvar events_1 = __webpack_require__(/*! ../utils/events */ "./packages/beacon-transport-matrix/dist/cjs/matrix-client/utils/events.js");\nvar MatrixMessageType;\n(function (MatrixMessageType) {\n MatrixMessageType["TEXT"] = "m.text";\n})(MatrixMessageType = exports.MatrixMessageType || (exports.MatrixMessageType = {}));\nvar MatrixMessage = /** @class */ (function () {\n function MatrixMessage(type, sender, content, timestamp) {\n this.type = type;\n this.sender = sender;\n this.content = content;\n this.timestamp = timestamp;\n }\n /**\n * Construct a message from a message event\n *\n * @param event\n */\n MatrixMessage.from = function (event) {\n if ((0, events_1.isTextMessageEvent)(event)) {\n return new MatrixMessage(event.content.msgtype, event.sender, event.content.body, event.origin_server_ts);\n }\n // for now only text messages are supported\n return undefined;\n };\n return MatrixMessage;\n}());\nexports.MatrixMessage = MatrixMessage;\n//# sourceMappingURL=MatrixMessage.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/dist/cjs/matrix-client/models/MatrixMessage.js?')},"./packages/beacon-transport-matrix/dist/cjs/matrix-client/models/MatrixRoom.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.MatrixRoom = exports.MatrixRoomStatus = void 0;\nvar events_1 = __webpack_require__(/*! ../utils/events */ "./packages/beacon-transport-matrix/dist/cjs/matrix-client/utils/events.js");\nvar MatrixMessage_1 = __webpack_require__(/*! ./MatrixMessage */ "./packages/beacon-transport-matrix/dist/cjs/matrix-client/models/MatrixMessage.js");\nvar MatrixRoomStatus;\n(function (MatrixRoomStatus) {\n MatrixRoomStatus[MatrixRoomStatus["UNKNOWN"] = 0] = "UNKNOWN";\n MatrixRoomStatus[MatrixRoomStatus["JOINED"] = 1] = "JOINED";\n MatrixRoomStatus[MatrixRoomStatus["INVITED"] = 2] = "INVITED";\n MatrixRoomStatus[MatrixRoomStatus["LEFT"] = 3] = "LEFT";\n})(MatrixRoomStatus = exports.MatrixRoomStatus || (exports.MatrixRoomStatus = {}));\nvar MatrixRoom = /** @class */ (function () {\n function MatrixRoom(id, status, members, messages) {\n if (status === void 0) { status = MatrixRoomStatus.UNKNOWN; }\n if (members === void 0) { members = []; }\n if (messages === void 0) { messages = []; }\n this.id = id;\n this.status = status;\n this.members = members;\n this.messages = messages;\n }\n /**\n * Reconstruct rooms from a sync response\n *\n * @param roomSync\n */\n MatrixRoom.fromSync = function (roomSync) {\n var _a, _b, _c;\n if (!roomSync) {\n return [];\n }\n function create(rooms, creator) {\n return Object.entries(rooms).map(function (_a) {\n var id = _a[0], room = _a[1];\n return creator(id, room);\n });\n }\n return __spreadArray(__spreadArray(__spreadArray([], create((_a = roomSync.join) !== null && _a !== void 0 ? _a : {}, MatrixRoom.fromJoined), true), create((_b = roomSync.invite) !== null && _b !== void 0 ? _b : {}, MatrixRoom.fromInvited), true), create((_c = roomSync.leave) !== null && _c !== void 0 ? _c : {}, MatrixRoom.fromLeft), true);\n };\n /**\n * Reconstruct a room from an ID or object\n *\n * @param roomOrId\n * @param status\n */\n MatrixRoom.from = function (roomOrId, status) {\n return typeof roomOrId === \'string\'\n ? new MatrixRoom(roomOrId, status || MatrixRoomStatus.UNKNOWN)\n : status !== undefined\n ? new MatrixRoom(roomOrId.id, status, roomOrId.members, roomOrId.messages)\n : roomOrId;\n };\n /**\n * Merge new and old state and remove duplicates\n *\n * @param newState\n * @param previousState\n */\n MatrixRoom.merge = function (newState, previousState) {\n if (!previousState || previousState.id !== newState.id) {\n return MatrixRoom.from(newState);\n }\n return new MatrixRoom(newState.id, newState.status, __spreadArray(__spreadArray([], previousState.members, true), newState.members, true).filter(function (member, index, array) { return array.indexOf(member) === index; }), __spreadArray(__spreadArray([], previousState.messages, true), newState.messages, true));\n };\n /**\n * Create a room from a join\n *\n * @param id\n * @param joined\n */\n MatrixRoom.fromJoined = function (id, joined) {\n var events = __spreadArray(__spreadArray([], joined.state.events, true), joined.timeline.events, true);\n var members = MatrixRoom.getMembersFromEvents(events);\n var messages = MatrixRoom.getMessagesFromEvents(events);\n return new MatrixRoom(id, MatrixRoomStatus.JOINED, members, messages);\n };\n /**\n * Create a room from an invite\n *\n * @param id\n * @param invited\n */\n MatrixRoom.fromInvited = function (id, invited) {\n var members = MatrixRoom.getMembersFromEvents(invited.invite_state.events);\n return new MatrixRoom(id, MatrixRoomStatus.INVITED, members);\n };\n /**\n * Create a room from a leave\n *\n * @param id\n * @param left\n */\n MatrixRoom.fromLeft = function (id, left) {\n var events = __spreadArray(__spreadArray([], left.state.events, true), left.timeline.events, true);\n var members = MatrixRoom.getMembersFromEvents(events);\n var messages = MatrixRoom.getMessagesFromEvents(events);\n return new MatrixRoom(id, MatrixRoomStatus.LEFT, members, messages);\n };\n /**\n * Extract members from an event\n *\n * @param events\n */\n MatrixRoom.getMembersFromEvents = function (events) {\n return MatrixRoom.getUniqueEvents(events.filter(function (event) { return (0, events_1.isCreateEvent)(event) || (0, events_1.isJoinEvent)(event); }))\n .map(function (event) { return event.sender; })\n .filter(function (member, index, array) { return array.indexOf(member) === index; });\n };\n /**\n * Extract messages from an event\n *\n * @param events\n */\n MatrixRoom.getMessagesFromEvents = function (events) {\n return MatrixRoom.getUniqueEvents(events.filter(events_1.isMessageEvent))\n .map(function (event) { return MatrixMessage_1.MatrixMessage.from(event); })\n .filter(Boolean);\n };\n /**\n * Get unique events and remove duplicates\n *\n * @param events\n */\n MatrixRoom.getUniqueEvents = function (events) {\n var eventIds = {};\n var uniqueEvents = [];\n events.forEach(function (event, index) {\n var eventId = event.event_id;\n if (eventId === undefined || !(eventId in eventIds)) {\n if (eventId !== undefined) {\n eventIds[eventId] = index;\n }\n uniqueEvents.push(event);\n }\n });\n return uniqueEvents;\n };\n return MatrixRoom;\n}());\nexports.MatrixRoom = MatrixRoom;\n//# sourceMappingURL=MatrixRoom.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/dist/cjs/matrix-client/models/MatrixRoom.js?')},"./packages/beacon-transport-matrix/dist/cjs/matrix-client/services/MatrixEventService.js":function(__unused_webpack_module,exports){"use strict";eval('\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError("Generator is already executing.");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.MatrixEventService = void 0;\n/**\n * A service to help with matrix event management\n */\nvar MatrixEventService = /** @class */ (function () {\n function MatrixEventService(httpClient) {\n this.httpClient = httpClient;\n this.cachedPromises = new Map();\n }\n /**\n * Get the latest state from the matrix node\n *\n * @param accessToken\n * @param options\n */\n MatrixEventService.prototype.sync = function (accessToken, options) {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n return [2 /*return*/, this.withCache(\'sync\', function () {\n return _this.httpClient.get(\'/sync\', {\n timeout: options ? options.pollingTimeout : undefined,\n since: options ? options.syncToken : undefined\n }, { accessToken: accessToken });\n })];\n });\n });\n };\n /**\n * Send a message to a room\n *\n * @param accessToken\n * @param room\n * @param content\n * @param txnId\n */\n MatrixEventService.prototype.sendMessage = function (accessToken, roomId, content, txnId) {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n return [2 /*return*/, new Promise(function (resolve, reject) {\n return _this.scheduleEvent({\n accessToken: accessToken,\n roomId: roomId,\n type: \'m.room.message\',\n content: content,\n txnId: txnId,\n onSuccess: resolve,\n onError: reject\n });\n })];\n });\n });\n };\n /**\n * Schedules an event to be sent to the node\n *\n * @param event\n */\n MatrixEventService.prototype.scheduleEvent = function (event) {\n // TODO: actual scheduling\n this.sendEvent(event);\n };\n /**\n * Send an event to the matrix node\n *\n * @param scheduledEvent\n */\n MatrixEventService.prototype.sendEvent = function (scheduledEvent) {\n return __awaiter(this, void 0, void 0, function () {\n var roomId, type, txnId, content, accessToken, response, error_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n roomId = scheduledEvent.roomId, type = scheduledEvent.type, txnId = scheduledEvent.txnId, content = scheduledEvent.content, accessToken = scheduledEvent.accessToken;\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.httpClient.put("/rooms/".concat(encodeURIComponent(roomId), "/send/").concat(type, "/").concat(encodeURIComponent(txnId)), content, { accessToken: accessToken })];\n case 2:\n response = _a.sent();\n scheduledEvent.onSuccess(response);\n return [3 /*break*/, 4];\n case 3:\n error_1 = _a.sent();\n scheduledEvent.onError(error_1);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Check the cache when interacting with the Matrix node, if there is an already ongoing call for the specified key, return its promise instead of duplicating the call.\n *\n * @param key\n * @param promiseProvider\n */\n MatrixEventService.prototype.withCache = function (key, promiseProvider) {\n var _this = this;\n var promise = this.cachedPromises.get(key);\n if (!promise) {\n promise = promiseProvider().finally(function () {\n _this.cachedPromises.delete(key);\n });\n this.cachedPromises.set(key, promise);\n }\n return promise;\n };\n return MatrixEventService;\n}());\nexports.MatrixEventService = MatrixEventService;\n//# sourceMappingURL=MatrixEventService.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/dist/cjs/matrix-client/services/MatrixEventService.js?')},"./packages/beacon-transport-matrix/dist/cjs/matrix-client/services/MatrixRoomService.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError("Generator is already executing.");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.MatrixRoomService = void 0;\nvar MatrixRoom_1 = __webpack_require__(/*! ../models/MatrixRoom */ "./packages/beacon-transport-matrix/dist/cjs/matrix-client/models/MatrixRoom.js");\n/**\n * A service to help with matrix room management\n */\nvar MatrixRoomService = /** @class */ (function () {\n function MatrixRoomService(httpClient) {\n this.httpClient = httpClient;\n }\n /**\n * Create a room\n *\n * @param accessToken\n * @param config\n */\n MatrixRoomService.prototype.createRoom = function (accessToken, config) {\n if (config === void 0) { config = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.httpClient.post(\'/createRoom\', config, { accessToken: accessToken })];\n });\n });\n };\n /**\n * Invite a user to a room\n *\n * @param accessToken\n * @param user\n * @param room\n */\n MatrixRoomService.prototype.inviteToRoom = function (accessToken, user, room) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (room.status !== MatrixRoom_1.MatrixRoomStatus.JOINED && room.status !== MatrixRoom_1.MatrixRoomStatus.UNKNOWN) {\n return [2 /*return*/, Promise.reject("User is not a member of room ".concat(room.id, "."))];\n }\n return [2 /*return*/, this.httpClient.post("/rooms/".concat(encodeURIComponent(room.id), "/invite"), { user_id: user }, { accessToken: accessToken })];\n });\n });\n };\n /**\n * Join a specific room\n *\n * @param accessToken\n * @param room\n */\n MatrixRoomService.prototype.joinRoom = function (accessToken, room) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (room.status === MatrixRoom_1.MatrixRoomStatus.JOINED) {\n return [2 /*return*/, Promise.resolve({ room_id: room.id })];\n }\n return [2 /*return*/, this.httpClient.post("/rooms/".concat(encodeURIComponent(room.id), "/join"), {}, { accessToken: accessToken })];\n });\n });\n };\n /**\n * Get all joined rooms\n *\n * @param accessToken\n */\n MatrixRoomService.prototype.getJoinedRooms = function (accessToken) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.httpClient.get("/joined_rooms", undefined, { accessToken: accessToken })];\n });\n });\n };\n return MatrixRoomService;\n}());\nexports.MatrixRoomService = MatrixRoomService;\n//# sourceMappingURL=MatrixRoomService.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/dist/cjs/matrix-client/services/MatrixRoomService.js?')},"./packages/beacon-transport-matrix/dist/cjs/matrix-client/services/MatrixUserService.js":function(__unused_webpack_module,exports){"use strict";eval('\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError("Generator is already executing.");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.MatrixUserService = void 0;\nvar MatrixUserService = /** @class */ (function () {\n function MatrixUserService(httpClient) {\n this.httpClient = httpClient;\n }\n /**\n * Log in to the matrix node with username and password\n *\n * @param user\n * @param password\n * @param deviceId\n */\n MatrixUserService.prototype.login = function (user, password, deviceId) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.httpClient.post(\'/login\', {\n type: \'m.login.password\',\n identifier: {\n type: \'m.id.user\',\n user: user\n },\n password: password,\n device_id: deviceId\n })];\n });\n });\n };\n return MatrixUserService;\n}());\nexports.MatrixUserService = MatrixUserService;\n//# sourceMappingURL=MatrixUserService.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/dist/cjs/matrix-client/services/MatrixUserService.js?')},"./packages/beacon-transport-matrix/dist/cjs/matrix-client/utils/events.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.isTextMessageEvent = exports.isMessageEvent = exports.isJoinEvent = exports.isCreateEvent = void 0;\nvar MatrixMessage_1 = __webpack_require__(/*! ../models/MatrixMessage */ \"./packages/beacon-transport-matrix/dist/cjs/matrix-client/models/MatrixMessage.js\");\n/**\n * Check if an event is a create event\n *\n * @param event MatrixStateEvent\n */\nvar isCreateEvent = function (event) {\n return event.type === 'm.room.create' && event.content instanceof Object && 'creator' in event.content;\n};\nexports.isCreateEvent = isCreateEvent;\n/**\n * Check if an event is a join event\n *\n * @param event MatrixStateEvent\n */\nvar isJoinEvent = function (event) {\n return event.type === 'm.room.member' &&\n event.content instanceof Object &&\n 'membership' in event.content &&\n // eslint-disable-next-line dot-notation\n event.content['membership'] === 'join';\n};\nexports.isJoinEvent = isJoinEvent;\n/**\n * Check if an event is a message event\n *\n * @param event MatrixStateEvent\n */\nvar isMessageEvent = function (event) { return event.type === 'm.room.message'; };\nexports.isMessageEvent = isMessageEvent;\n/**\n * Check if an event is a text message event\n *\n * @param event MatrixStateEvent\n */\nvar isTextMessageEvent = function (event) {\n return (0, exports.isMessageEvent)(event) &&\n event.content instanceof Object &&\n 'msgtype' in event.content &&\n // eslint-disable-next-line dot-notation\n event.content['msgtype'] === MatrixMessage_1.MatrixMessageType.TEXT;\n};\nexports.isTextMessageEvent = isTextMessageEvent;\n//# sourceMappingURL=events.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/dist/cjs/matrix-client/utils/events.js?")},"./packages/beacon-transport-matrix/node_modules/axios/index.js":(module,__unused_webpack_exports,__webpack_require__)=>{eval('module.exports = __webpack_require__(/*! ./lib/axios */ "./packages/beacon-transport-matrix/node_modules/axios/lib/axios.js");\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/node_modules/axios/index.js?')},"./packages/beacon-transport-matrix/node_modules/axios/lib/adapters/xhr.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./packages/beacon-transport-matrix/node_modules/axios/lib/utils.js\");\nvar settle = __webpack_require__(/*! ./../core/settle */ \"./packages/beacon-transport-matrix/node_modules/axios/lib/core/settle.js\");\nvar cookies = __webpack_require__(/*! ./../helpers/cookies */ \"./packages/beacon-transport-matrix/node_modules/axios/lib/helpers/cookies.js\");\nvar buildURL = __webpack_require__(/*! ./../helpers/buildURL */ \"./packages/beacon-transport-matrix/node_modules/axios/lib/helpers/buildURL.js\");\nvar buildFullPath = __webpack_require__(/*! ../core/buildFullPath */ \"./packages/beacon-transport-matrix/node_modules/axios/lib/core/buildFullPath.js\");\nvar parseHeaders = __webpack_require__(/*! ./../helpers/parseHeaders */ \"./packages/beacon-transport-matrix/node_modules/axios/lib/helpers/parseHeaders.js\");\nvar isURLSameOrigin = __webpack_require__(/*! ./../helpers/isURLSameOrigin */ \"./packages/beacon-transport-matrix/node_modules/axios/lib/helpers/isURLSameOrigin.js\");\nvar createError = __webpack_require__(/*! ../core/createError */ \"./packages/beacon-transport-matrix/node_modules/axios/lib/core/createError.js\");\nvar defaults = __webpack_require__(/*! ../defaults */ \"./packages/beacon-transport-matrix/node_modules/axios/lib/defaults.js\");\nvar Cancel = __webpack_require__(/*! ../cancel/Cancel */ \"./packages/beacon-transport-matrix/node_modules/axios/lib/cancel/Cancel.js\");\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || defaults.transitional;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(\n timeoutErrorMessage,\n config,\n transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || (cancel && cancel.type) ? new Cancel('canceled') : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/node_modules/axios/lib/adapters/xhr.js?")},"./packages/beacon-transport-matrix/node_modules/axios/lib/axios.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval('\n\nvar utils = __webpack_require__(/*! ./utils */ "./packages/beacon-transport-matrix/node_modules/axios/lib/utils.js");\nvar bind = __webpack_require__(/*! ./helpers/bind */ "./packages/beacon-transport-matrix/node_modules/axios/lib/helpers/bind.js");\nvar Axios = __webpack_require__(/*! ./core/Axios */ "./packages/beacon-transport-matrix/node_modules/axios/lib/core/Axios.js");\nvar mergeConfig = __webpack_require__(/*! ./core/mergeConfig */ "./packages/beacon-transport-matrix/node_modules/axios/lib/core/mergeConfig.js");\nvar defaults = __webpack_require__(/*! ./defaults */ "./packages/beacon-transport-matrix/node_modules/axios/lib/defaults.js");\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.Cancel = __webpack_require__(/*! ./cancel/Cancel */ "./packages/beacon-transport-matrix/node_modules/axios/lib/cancel/Cancel.js");\naxios.CancelToken = __webpack_require__(/*! ./cancel/CancelToken */ "./packages/beacon-transport-matrix/node_modules/axios/lib/cancel/CancelToken.js");\naxios.isCancel = __webpack_require__(/*! ./cancel/isCancel */ "./packages/beacon-transport-matrix/node_modules/axios/lib/cancel/isCancel.js");\naxios.VERSION = (__webpack_require__(/*! ./env/data */ "./packages/beacon-transport-matrix/node_modules/axios/lib/env/data.js").version);\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = __webpack_require__(/*! ./helpers/spread */ "./packages/beacon-transport-matrix/node_modules/axios/lib/helpers/spread.js");\n\n// Expose isAxiosError\naxios.isAxiosError = __webpack_require__(/*! ./helpers/isAxiosError */ "./packages/beacon-transport-matrix/node_modules/axios/lib/helpers/isAxiosError.js");\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports["default"] = axios;\n\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/node_modules/axios/lib/axios.js?')},"./packages/beacon-transport-matrix/node_modules/axios/lib/cancel/Cancel.js":module=>{"use strict";eval("\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/node_modules/axios/lib/cancel/Cancel.js?")},"./packages/beacon-transport-matrix/node_modules/axios/lib/cancel/CancelToken.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("\n\nvar Cancel = __webpack_require__(/*! ./Cancel */ \"./packages/beacon-transport-matrix/node_modules/axios/lib/cancel/Cancel.js\");\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i;\n var l = token._listeners.length;\n\n for (i = 0; i < l; i++) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/node_modules/axios/lib/cancel/CancelToken.js?")},"./packages/beacon-transport-matrix/node_modules/axios/lib/cancel/isCancel.js":module=>{"use strict";eval("\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/node_modules/axios/lib/cancel/isCancel.js?")},"./packages/beacon-transport-matrix/node_modules/axios/lib/core/Axios.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./packages/beacon-transport-matrix/node_modules/axios/lib/utils.js\");\nvar buildURL = __webpack_require__(/*! ../helpers/buildURL */ \"./packages/beacon-transport-matrix/node_modules/axios/lib/helpers/buildURL.js\");\nvar InterceptorManager = __webpack_require__(/*! ./InterceptorManager */ \"./packages/beacon-transport-matrix/node_modules/axios/lib/core/InterceptorManager.js\");\nvar dispatchRequest = __webpack_require__(/*! ./dispatchRequest */ \"./packages/beacon-transport-matrix/node_modules/axios/lib/core/dispatchRequest.js\");\nvar mergeConfig = __webpack_require__(/*! ./mergeConfig */ \"./packages/beacon-transport-matrix/node_modules/axios/lib/core/mergeConfig.js\");\nvar validator = __webpack_require__(/*! ../helpers/validator */ \"./packages/beacon-transport-matrix/node_modules/axios/lib/helpers/validator.js\");\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/node_modules/axios/lib/core/Axios.js?")},"./packages/beacon-transport-matrix/node_modules/axios/lib/core/InterceptorManager.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval('\n\nvar utils = __webpack_require__(/*! ./../utils */ "./packages/beacon-transport-matrix/node_modules/axios/lib/utils.js");\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/node_modules/axios/lib/core/InterceptorManager.js?')},"./packages/beacon-transport-matrix/node_modules/axios/lib/core/buildFullPath.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval('\n\nvar isAbsoluteURL = __webpack_require__(/*! ../helpers/isAbsoluteURL */ "./packages/beacon-transport-matrix/node_modules/axios/lib/helpers/isAbsoluteURL.js");\nvar combineURLs = __webpack_require__(/*! ../helpers/combineURLs */ "./packages/beacon-transport-matrix/node_modules/axios/lib/helpers/combineURLs.js");\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/node_modules/axios/lib/core/buildFullPath.js?')},"./packages/beacon-transport-matrix/node_modules/axios/lib/core/createError.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("\n\nvar enhanceError = __webpack_require__(/*! ./enhanceError */ \"./packages/beacon-transport-matrix/node_modules/axios/lib/core/enhanceError.js\");\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/node_modules/axios/lib/core/createError.js?")},"./packages/beacon-transport-matrix/node_modules/axios/lib/core/dispatchRequest.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./packages/beacon-transport-matrix/node_modules/axios/lib/utils.js\");\nvar transformData = __webpack_require__(/*! ./transformData */ \"./packages/beacon-transport-matrix/node_modules/axios/lib/core/transformData.js\");\nvar isCancel = __webpack_require__(/*! ../cancel/isCancel */ \"./packages/beacon-transport-matrix/node_modules/axios/lib/cancel/isCancel.js\");\nvar defaults = __webpack_require__(/*! ../defaults */ \"./packages/beacon-transport-matrix/node_modules/axios/lib/defaults.js\");\nvar Cancel = __webpack_require__(/*! ../cancel/Cancel */ \"./packages/beacon-transport-matrix/node_modules/axios/lib/cancel/Cancel.js\");\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new Cancel('canceled');\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/node_modules/axios/lib/core/dispatchRequest.js?")},"./packages/beacon-transport-matrix/node_modules/axios/lib/core/enhanceError.js":module=>{"use strict";eval("\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n };\n return error;\n};\n\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/node_modules/axios/lib/core/enhanceError.js?")},"./packages/beacon-transport-matrix/node_modules/axios/lib/core/mergeConfig.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("\n\nvar utils = __webpack_require__(/*! ../utils */ \"./packages/beacon-transport-matrix/node_modules/axios/lib/utils.js\");\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/node_modules/axios/lib/core/mergeConfig.js?")},"./packages/beacon-transport-matrix/node_modules/axios/lib/core/settle.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("\n\nvar createError = __webpack_require__(/*! ./createError */ \"./packages/beacon-transport-matrix/node_modules/axios/lib/core/createError.js\");\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/node_modules/axios/lib/core/settle.js?")},"./packages/beacon-transport-matrix/node_modules/axios/lib/core/transformData.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval('\n\nvar utils = __webpack_require__(/*! ./../utils */ "./packages/beacon-transport-matrix/node_modules/axios/lib/utils.js");\nvar defaults = __webpack_require__(/*! ./../defaults */ "./packages/beacon-transport-matrix/node_modules/axios/lib/defaults.js");\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/node_modules/axios/lib/core/transformData.js?')},"./packages/beacon-transport-matrix/node_modules/axios/lib/defaults.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("\n\nvar utils = __webpack_require__(/*! ./utils */ \"./packages/beacon-transport-matrix/node_modules/axios/lib/utils.js\");\nvar normalizeHeaderName = __webpack_require__(/*! ./helpers/normalizeHeaderName */ \"./packages/beacon-transport-matrix/node_modules/axios/lib/helpers/normalizeHeaderName.js\");\nvar enhanceError = __webpack_require__(/*! ./core/enhanceError */ \"./packages/beacon-transport-matrix/node_modules/axios/lib/core/enhanceError.js\");\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = __webpack_require__(/*! ./adapters/xhr */ \"./packages/beacon-transport-matrix/node_modules/axios/lib/adapters/xhr.js\");\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = __webpack_require__(/*! ./adapters/http */ \"./packages/beacon-transport-matrix/node_modules/axios/lib/adapters/xhr.js\");\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n },\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw enhanceError(e, this, 'E_JSON_PARSE');\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/node_modules/axios/lib/defaults.js?")},"./packages/beacon-transport-matrix/node_modules/axios/lib/env/data.js":module=>{eval('module.exports = {\n "version": "0.24.0"\n};\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/node_modules/axios/lib/env/data.js?')},"./packages/beacon-transport-matrix/node_modules/axios/lib/helpers/bind.js":module=>{"use strict";eval("\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/node_modules/axios/lib/helpers/bind.js?")},"./packages/beacon-transport-matrix/node_modules/axios/lib/helpers/buildURL.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./packages/beacon-transport-matrix/node_modules/axios/lib/utils.js\");\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/node_modules/axios/lib/helpers/buildURL.js?")},"./packages/beacon-transport-matrix/node_modules/axios/lib/helpers/combineURLs.js":module=>{"use strict";eval("\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/node_modules/axios/lib/helpers/combineURLs.js?")},"./packages/beacon-transport-matrix/node_modules/axios/lib/helpers/cookies.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./packages/beacon-transport-matrix/node_modules/axios/lib/utils.js\");\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/node_modules/axios/lib/helpers/cookies.js?")},"./packages/beacon-transport-matrix/node_modules/axios/lib/helpers/isAbsoluteURL.js":module=>{"use strict";eval('\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with "://" or "//" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/node_modules/axios/lib/helpers/isAbsoluteURL.js?')},"./packages/beacon-transport-matrix/node_modules/axios/lib/helpers/isAxiosError.js":module=>{"use strict";eval("\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return (typeof payload === 'object') && (payload.isAxiosError === true);\n};\n\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/node_modules/axios/lib/helpers/isAxiosError.js?")},"./packages/beacon-transport-matrix/node_modules/axios/lib/helpers/isURLSameOrigin.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./packages/beacon-transport-matrix/node_modules/axios/lib/utils.js\");\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/node_modules/axios/lib/helpers/isURLSameOrigin.js?")},"./packages/beacon-transport-matrix/node_modules/axios/lib/helpers/normalizeHeaderName.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval('\n\nvar utils = __webpack_require__(/*! ../utils */ "./packages/beacon-transport-matrix/node_modules/axios/lib/utils.js");\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/node_modules/axios/lib/helpers/normalizeHeaderName.js?')},"./packages/beacon-transport-matrix/node_modules/axios/lib/helpers/parseHeaders.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("\n\nvar utils = __webpack_require__(/*! ./../utils */ \"./packages/beacon-transport-matrix/node_modules/axios/lib/utils.js\");\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/node_modules/axios/lib/helpers/parseHeaders.js?")},"./packages/beacon-transport-matrix/node_modules/axios/lib/helpers/spread.js":module=>{"use strict";eval("\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/node_modules/axios/lib/helpers/spread.js?")},"./packages/beacon-transport-matrix/node_modules/axios/lib/helpers/validator.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("\n\nvar VERSION = (__webpack_require__(/*! ../env/data */ \"./packages/beacon-transport-matrix/node_modules/axios/lib/env/data.js\").version);\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new Error(formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')));\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new TypeError('options must be an object');\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new TypeError('option ' + opt + ' must be ' + result);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw Error('Unknown option ' + opt);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\n\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/node_modules/axios/lib/helpers/validator.js?")},"./packages/beacon-transport-matrix/node_modules/axios/lib/utils.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval("\n\nvar bind = __webpack_require__(/*! ./helpers/bind */ \"./packages/beacon-transport-matrix/node_modules/axios/lib/helpers/bind.js\");\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-matrix/node_modules/axios/lib/utils.js?")},"./packages/beacon-transport-postmessage/dist/cjs/PostMessageClient.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('/* provided dependency */ var Buffer = __webpack_require__(/*! buffer */ "./node_modules/buffer/index.js")["Buffer"];\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== "function" && b !== null)\n throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError("Generator is already executing.");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.PostMessageClient = void 0;\nvar beacon_core_1 = __webpack_require__(/*! @airgap/beacon-core */ "./packages/beacon-core/dist/cjs/index.js");\nvar beacon_utils_1 = __webpack_require__(/*! @airgap/beacon-utils */ "./packages/beacon-utils/dist/cjs/index.js");\nvar beacon_types_1 = __webpack_require__(/*! @airgap/beacon-types */ "./packages/beacon-types/dist/cjs/index.js");\n/**\n * @internalapi\n *\n *\n */\nvar PostMessageClient = /** @class */ (function (_super) {\n __extends(PostMessageClient, _super);\n function PostMessageClient() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.activeListeners = new Map();\n return _this;\n }\n PostMessageClient.prototype.init = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n this.subscribeToMessages().catch(console.error);\n return [2 /*return*/];\n });\n });\n };\n PostMessageClient.prototype.listenForEncryptedMessage = function (senderPublicKey, messageCallback) {\n return __awaiter(this, void 0, void 0, function () {\n var callbackFunction;\n var _this = this;\n return __generator(this, function (_a) {\n if (this.activeListeners.has(senderPublicKey)) {\n return [2 /*return*/];\n }\n callbackFunction = function (message, context) { return __awaiter(_this, void 0, void 0, function () {\n var decryptedMessage, decryptionError_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.decryptMessage(senderPublicKey, message.encryptedPayload)\n // console.log(\'calculated sender ID\', await getSenderId(senderPublicKey))\n // TODO: Add check for correct decryption key / sender ID\n ];\n case 1:\n decryptedMessage = _a.sent();\n // console.log(\'calculated sender ID\', await getSenderId(senderPublicKey))\n // TODO: Add check for correct decryption key / sender ID\n messageCallback(decryptedMessage, context);\n return [3 /*break*/, 3];\n case 2:\n decryptionError_1 = _a.sent();\n return [3 /*break*/, 3];\n case 3: return [2 /*return*/];\n }\n });\n }); };\n this.activeListeners.set(senderPublicKey, callbackFunction);\n return [2 /*return*/];\n });\n });\n };\n PostMessageClient.prototype.sendMessage = function (message, peer) {\n return __awaiter(this, void 0, void 0, function () {\n var payload, targetId, msg;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.encryptMessage(peer.publicKey, message)];\n case 1:\n payload = _a.sent();\n targetId = peer === null || peer === void 0 ? void 0 : peer.extensionId;\n msg = {\n target: beacon_types_1.ExtensionMessageTarget.EXTENSION,\n encryptedPayload: payload,\n targetId: targetId\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n beacon_core_1.windowRef.postMessage(msg, beacon_core_1.windowRef.location.origin);\n return [2 /*return*/];\n }\n });\n });\n };\n PostMessageClient.prototype.listenForChannelOpening = function (messageCallback) {\n return __awaiter(this, void 0, void 0, function () {\n var fn;\n var _this = this;\n return __generator(this, function (_a) {\n fn = function (event) { return __awaiter(_this, void 0, void 0, function () {\n var data, _a, payload, pairingResponse, _b, _c, _d, _e, decryptionError_2;\n var _f;\n var _g, _h;\n return __generator(this, function (_j) {\n switch (_j.label) {\n case 0:\n if (event.source !== beacon_core_1.windowRef || event.origin !== beacon_core_1.windowRef.location.origin) {\n // TODO: Add to error handler: console.debug(\'[Beacon]: Event received from untrusted origin\')\n return [2 /*return*/];\n }\n data = (_g = event === null || event === void 0 ? void 0 : event.data) === null || _g === void 0 ? void 0 : _g.message;\n _a = data &&\n data.target === beacon_types_1.ExtensionMessageTarget.PAGE;\n if (!_a) return [3 /*break*/, 2];\n return [4 /*yield*/, this.isChannelOpenMessage(data)];\n case 1:\n _a = (_j.sent());\n _j.label = 2;\n case 2:\n if (!_a) return [3 /*break*/, 7];\n payload = Buffer.from(data.payload, \'hex\');\n if (!(payload.length >= beacon_utils_1.secretbox_NONCEBYTES + beacon_utils_1.secretbox_MACBYTES)) return [3 /*break*/, 7];\n _j.label = 3;\n case 3:\n _j.trys.push([3, 6, , 7]);\n _c = (_b = JSON).parse;\n return [4 /*yield*/, (0, beacon_utils_1.openCryptobox)(payload, this.keyPair.publicKey, this.keyPair.secretKey)];\n case 4:\n pairingResponse = _c.apply(_b, [_j.sent()]);\n _d = messageCallback;\n _e = [__assign({}, pairingResponse)];\n _f = {};\n return [4 /*yield*/, (0, beacon_core_1.getSenderId)(pairingResponse.publicKey)];\n case 5:\n _d.apply(void 0, [__assign.apply(void 0, _e.concat([(_f.senderId = _j.sent(), _f.extensionId = (_h = event === null || event === void 0 ? void 0 : event.data) === null || _h === void 0 ? void 0 : _h.sender.id, _f)]))]);\n return [3 /*break*/, 7];\n case 6:\n decryptionError_2 = _j.sent();\n return [3 /*break*/, 7];\n case 7: return [2 /*return*/];\n }\n });\n }); };\n beacon_core_1.windowRef.addEventListener(\'message\', fn);\n return [2 /*return*/];\n });\n });\n };\n PostMessageClient.prototype.sendPairingRequest = function (id) {\n return __awaiter(this, void 0, void 0, function () {\n var message, _a, _b;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _c = {\n target: beacon_types_1.ExtensionMessageTarget.EXTENSION\n };\n _b = (_a = new beacon_core_1.Serializer()).serialize;\n return [4 /*yield*/, this.getPairingRequestInfo()];\n case 1: return [4 /*yield*/, _b.apply(_a, [_d.sent()])];\n case 2:\n message = (_c.payload = _d.sent(),\n _c.targetId = id,\n _c);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n beacon_core_1.windowRef.postMessage(message, beacon_core_1.windowRef.location.origin);\n return [2 /*return*/];\n }\n });\n });\n };\n PostMessageClient.prototype.isChannelOpenMessage = function (message) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, typeof message === \'object\' && message.hasOwnProperty(\'payload\')];\n });\n });\n };\n PostMessageClient.prototype.subscribeToMessages = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n beacon_core_1.windowRef.addEventListener(\'message\', function (message) {\n if (message.source !== beacon_core_1.windowRef ||\n message.origin !== beacon_core_1.windowRef.location.origin) {\n // TODO: Add to error handler: console.debug(\'[Beacon]: Event received from untrusted origin\')\n return;\n }\n if (typeof message === \'object\' && message) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var data_1 = message.data;\n if (data_1.message && data_1.message.target === beacon_types_1.ExtensionMessageTarget.PAGE) {\n _this.activeListeners.forEach(function (listener) {\n listener(data_1.message, {\n origin: beacon_types_1.Origin.EXTENSION,\n id: data_1.sender.id || \'\'\n });\n });\n }\n }\n });\n return [2 /*return*/];\n });\n });\n };\n return PostMessageClient;\n}(beacon_core_1.MessageBasedClient));\nexports.PostMessageClient = PostMessageClient;\n//# sourceMappingURL=PostMessageClient.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-postmessage/dist/cjs/PostMessageClient.js?')},"./packages/beacon-transport-postmessage/dist/cjs/PostMessageTransport.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== "function" && b !== null)\n throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError("Generator is already executing.");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.PostMessageTransport = void 0;\nvar beacon_types_1 = __webpack_require__(/*! @airgap/beacon-types */ "./packages/beacon-types/dist/cjs/index.js");\nvar beacon_core_1 = __webpack_require__(/*! @airgap/beacon-core */ "./packages/beacon-core/dist/cjs/index.js");\nvar PostMessageClient_1 = __webpack_require__(/*! ./PostMessageClient */ "./packages/beacon-transport-postmessage/dist/cjs/PostMessageClient.js");\nvar logger = new beacon_core_1.Logger(\'PostMessageTransport\');\nvar listeningForExtensions = false;\nvar extensionsPromise;\nvar extensions;\nvar addExtension = function (extension) {\n if (!extensions) {\n extensions = [];\n }\n if (!extensions.some(function (ext) { return ext.id === extension.id; })) {\n extensions.push(extension);\n beacon_core_1.windowRef.postMessage(\'extensionsUpdated\', beacon_core_1.windowRef.location.origin);\n }\n};\n/**\n * @internalapi\n *\n *\n */\nvar PostMessageTransport = /** @class */ (function (_super) {\n __extends(PostMessageTransport, _super);\n function PostMessageTransport(name, keyPair, storage, storageKey) {\n var _this = _super.call(this, name, new PostMessageClient_1.PostMessageClient(name, keyPair), new beacon_core_1.PeerManager(storage, storageKey)) || this;\n _this.type = beacon_types_1.TransportType.POST_MESSAGE;\n return _this;\n }\n PostMessageTransport.isAvailable = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, new Promise(function (resolve) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var fn = function (event) {\n var data = event.data;\n if (data && data.payload === \'pong\') {\n resolve(true);\n beacon_core_1.windowRef.removeEventListener(\'message\', fn);\n }\n };\n beacon_core_1.windowRef.addEventListener(\'message\', fn);\n var message = {\n target: beacon_types_1.ExtensionMessageTarget.EXTENSION,\n payload: \'ping\'\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n beacon_core_1.windowRef.postMessage(message, beacon_core_1.windowRef.location.origin);\n })];\n });\n });\n };\n PostMessageTransport.getAvailableExtensions = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (extensionsPromise) {\n return [2 /*return*/, extensionsPromise];\n }\n if (extensions) {\n return [2 /*return*/, extensions];\n }\n extensions = [];\n extensionsPromise = new Promise(function (resolve) {\n PostMessageTransport.listenForExtensions();\n setTimeout(function () {\n resolve(extensions !== null && extensions !== void 0 ? extensions : []);\n }, 1000);\n }).finally(function () {\n extensionsPromise = undefined;\n });\n return [2 /*return*/, extensionsPromise];\n });\n });\n };\n PostMessageTransport.listenForExtensions = function () {\n if (listeningForExtensions) {\n return;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var fn = function (event) {\n if (event.source !== beacon_core_1.windowRef || event.origin !== beacon_core_1.windowRef.location.origin) {\n // TODO: Add to error handler: console.debug(\'[Beacon]: Event received from untrusted origin\')\n return;\n }\n var data = event.data;\n var sender = data.sender;\n if (data && data.payload === \'pong\' && sender) {\n logger.log(\'getAvailableExtensions\', "extension \\"".concat(sender.name, "\\" is available"), sender);\n addExtension(sender);\n }\n };\n beacon_core_1.windowRef.addEventListener(\'message\', fn);\n var message = {\n target: beacon_types_1.ExtensionMessageTarget.EXTENSION,\n payload: \'ping\'\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n beacon_core_1.windowRef.postMessage(message, beacon_core_1.windowRef.location.origin);\n listeningForExtensions = true;\n };\n PostMessageTransport.prototype.connect = function () {\n return __awaiter(this, void 0, void 0, function () {\n var knownPeers, connectionPromises;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n logger.log(\'connect\');\n if (this._isConnected !== beacon_types_1.TransportStatus.NOT_CONNECTED) {\n return [2 /*return*/];\n }\n this._isConnected = beacon_types_1.TransportStatus.CONNECTING;\n return [4 /*yield*/, this.getPeers()];\n case 1:\n knownPeers = _a.sent();\n if (knownPeers.length > 0) {\n logger.log(\'connect\', "connecting to ".concat(knownPeers.length, " peers"));\n connectionPromises = knownPeers.map(function (peer) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {\n return [2 /*return*/, this.listen(peer.publicKey)];\n }); }); });\n Promise.all(connectionPromises).catch(function (error) { return logger.error(\'connect\', error); });\n }\n return [4 /*yield*/, this.startOpenChannelListener()];\n case 2:\n _a.sent();\n return [4 /*yield*/, _super.prototype.connect.call(this)];\n case 3:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n PostMessageTransport.prototype.startOpenChannelListener = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/];\n });\n });\n };\n PostMessageTransport.prototype.getPairingRequestInfo = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.client.getPairingRequestInfo()];\n });\n });\n };\n PostMessageTransport.prototype.listen = function (publicKey) {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n logger.log(\'listen\', publicKey);\n return [4 /*yield*/, this.client\n .listenForEncryptedMessage(publicKey, function (message, context) {\n var connectionContext = {\n origin: beacon_types_1.Origin.EXTENSION,\n id: context.id\n };\n _this.notifyListeners(message, connectionContext).catch(function (error) {\n throw error;\n });\n })\n .catch(function (error) {\n throw error;\n })];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n return PostMessageTransport;\n}(beacon_core_1.Transport));\nexports.PostMessageTransport = PostMessageTransport;\n// Start loading wallets async so they will be ready when the modal is opened\nPostMessageTransport.getAvailableExtensions();\n//# sourceMappingURL=PostMessageTransport.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-postmessage/dist/cjs/PostMessageTransport.js?')},"./packages/beacon-transport-postmessage/dist/cjs/index.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.PostMessageTransport = void 0;\nvar PostMessageTransport_1 = __webpack_require__(/*! ./PostMessageTransport */ "./packages/beacon-transport-postmessage/dist/cjs/PostMessageTransport.js");\nObject.defineProperty(exports, "PostMessageTransport", ({ enumerable: true, get: function () { return PostMessageTransport_1.PostMessageTransport; } }));\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-postmessage/dist/cjs/index.js?')},"./packages/beacon-transport-walletconnect/dist/cjs/WalletConnectTransport.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== "function" && b !== null)\n throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError("Generator is already executing.");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.WalletConnectTransport = void 0;\nvar WalletConnectCommunicationClient_1 = __webpack_require__(/*! ./communication-client/WalletConnectCommunicationClient */ "./packages/beacon-transport-walletconnect/dist/cjs/communication-client/WalletConnectCommunicationClient.js");\nvar beacon_types_1 = __webpack_require__(/*! @airgap/beacon-types */ "./packages/beacon-types/dist/cjs/index.js");\nvar beacon_core_1 = __webpack_require__(/*! @airgap/beacon-core */ "./packages/beacon-core/dist/cjs/index.js");\n/**\n * @internalapi\n *\n *\n */\nvar WalletConnectTransport = /** @class */ (function (_super) {\n __extends(WalletConnectTransport, _super);\n // public readonly type: TransportType = TransportType.WALLETCONNECT\n function WalletConnectTransport(name, _keyPair, storage, storageKey, wcOptions) {\n var _this = _super.call(this, name, WalletConnectCommunicationClient_1.WalletConnectCommunicationClient.getInstance(wcOptions), new beacon_core_1.PeerManager(storage, storageKey)) || this;\n _this.wcOptions = wcOptions;\n return _this;\n }\n WalletConnectTransport.isAvailable = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, Promise.resolve(true)];\n });\n });\n };\n WalletConnectTransport.prototype.connect = function () {\n return __awaiter(this, void 0, void 0, function () {\n var knownPeers;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (this._isConnected !== beacon_types_1.TransportStatus.NOT_CONNECTED) {\n return [2 /*return*/];\n }\n this._isConnected = beacon_types_1.TransportStatus.CONNECTING;\n return [4 /*yield*/, this.client.init()];\n case 1:\n _a.sent();\n return [4 /*yield*/, this.getPeers()];\n case 2:\n knownPeers = _a.sent();\n if (knownPeers.length > 0) {\n knownPeers.map(function (peer) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {\n return [2 /*return*/, this.listen(peer.publicKey)];\n }); }); });\n }\n return [4 /*yield*/, this.startOpenChannelListener()];\n case 3:\n _a.sent();\n return [2 /*return*/, _super.prototype.connect.call(this)];\n }\n });\n });\n };\n WalletConnectTransport.prototype.getPeers = function () {\n return __awaiter(this, void 0, void 0, function () {\n var client, session;\n return __generator(this, function (_a) {\n client = WalletConnectCommunicationClient_1.WalletConnectCommunicationClient.getInstance(this.wcOptions);\n session = client.currentSession();\n if (!session) {\n return [2 /*return*/, []];\n }\n return [2 /*return*/, [\n {\n senderId: session.peer.publicKey,\n extensionId: session.peer.metadata.name,\n id: session.peer.publicKey,\n type: \'walletconnect-pairing-response\',\n name: \'peer\',\n publicKey: session.peer.publicKey,\n version: \'first\'\n }\n ]];\n });\n });\n };\n WalletConnectTransport.prototype.disconnect = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.client.close()];\n case 1:\n _a.sent();\n return [2 /*return*/, _super.prototype.disconnect.call(this)];\n }\n });\n });\n };\n WalletConnectTransport.prototype.startOpenChannelListener = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/];\n });\n });\n };\n WalletConnectTransport.prototype.getPairingRequestInfo = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.client.getPairingRequestInfo()];\n });\n });\n };\n WalletConnectTransport.prototype.listen = function (publicKey) {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.client\n .listenForEncryptedMessage(publicKey, function (message) {\n var connectionContext = {\n origin: beacon_types_1.Origin.WALLETCONNECT,\n id: publicKey\n };\n _this.notifyListeners(message, connectionContext).catch(function (error) {\n throw error;\n });\n })\n .catch(function (error) {\n throw error;\n })];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n return WalletConnectTransport;\n}(beacon_core_1.Transport));\nexports.WalletConnectTransport = WalletConnectTransport;\n//# sourceMappingURL=WalletConnectTransport.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-walletconnect/dist/cjs/WalletConnectTransport.js?')},"./packages/beacon-transport-walletconnect/dist/cjs/communication-client/WalletConnectCommunicationClient.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval("\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WalletConnectCommunicationClient = exports.PermissionScopeEvents = exports.PermissionScopeMethods = void 0;\nvar beacon_core_1 = __webpack_require__(/*! @airgap/beacon-core */ \"./packages/beacon-core/dist/cjs/index.js\");\nvar sign_client_1 = __webpack_require__(/*! @walletconnect/sign-client */ \"./node_modules/@walletconnect/sign-client/dist/index.es.js\");\nvar utils_1 = __webpack_require__(/*! @walletconnect/utils */ \"./node_modules/@walletconnect/utils/dist/index.es.js\");\nvar error_1 = __webpack_require__(/*! ../error */ \"./packages/beacon-transport-walletconnect/dist/cjs/error.js\");\nvar beacon_types_1 = __webpack_require__(/*! @airgap/beacon-types */ \"./packages/beacon-types/dist/cjs/index.js\");\nvar beacon_utils_1 = __webpack_require__(/*! @airgap/beacon-utils */ \"./packages/beacon-utils/dist/cjs/index.js\");\nvar TEZOS_PLACEHOLDER = 'tezos';\nvar PermissionScopeMethods;\n(function (PermissionScopeMethods) {\n PermissionScopeMethods[\"GET_ACCOUNTS\"] = \"tezos_getAccounts\";\n PermissionScopeMethods[\"OPERATION_REQUEST\"] = \"tezos_send\";\n PermissionScopeMethods[\"SIGN\"] = \"tezos_sign\";\n})(PermissionScopeMethods = exports.PermissionScopeMethods || (exports.PermissionScopeMethods = {}));\nvar PermissionScopeEvents;\n(function (PermissionScopeEvents) {\n PermissionScopeEvents[\"CHAIN_CHANGED\"] = \"chainChanged\";\n PermissionScopeEvents[\"ACCOUNTS_CHANGED\"] = \"accountsChanged\";\n PermissionScopeEvents[\"REQUEST_ACKNOWLEDGED\"] = \"requestAcknowledged\";\n})(PermissionScopeEvents = exports.PermissionScopeEvents || (exports.PermissionScopeEvents = {}));\nvar WalletConnectCommunicationClient = /** @class */ (function (_super) {\n __extends(WalletConnectCommunicationClient, _super);\n function WalletConnectCommunicationClient(wcOptions) {\n var _this = _super.call(this) || this;\n _this.wcOptions = wcOptions;\n _this.activeListeners = new Map();\n _this.channelOpeningListeners = new Map();\n _this.getSignClient();\n return _this;\n }\n WalletConnectCommunicationClient.getInstance = function (wcOptions) {\n if (!WalletConnectCommunicationClient.instance) {\n WalletConnectCommunicationClient.instance = new WalletConnectCommunicationClient(wcOptions);\n }\n return WalletConnectCommunicationClient.instance;\n };\n WalletConnectCommunicationClient.prototype.listenForEncryptedMessage = function (senderPublicKey, messageCallback) {\n return __awaiter(this, void 0, void 0, function () {\n var callbackFunction;\n var _this = this;\n return __generator(this, function (_a) {\n if (this.activeListeners.has(senderPublicKey)) {\n return [2 /*return*/];\n }\n callbackFunction = function (message) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n messageCallback(message);\n return [2 /*return*/];\n });\n }); };\n this.activeListeners.set(senderPublicKey, callbackFunction);\n return [2 /*return*/];\n });\n });\n };\n WalletConnectCommunicationClient.prototype.listenForChannelOpening = function (messageCallback) {\n return __awaiter(this, void 0, void 0, function () {\n var callbackFunction;\n var _this = this;\n return __generator(this, function (_a) {\n callbackFunction = function (pairingResponse) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n messageCallback(pairingResponse);\n return [2 /*return*/];\n });\n }); };\n this.channelOpeningListeners.set('channelOpening', callbackFunction);\n return [2 /*return*/];\n });\n });\n };\n WalletConnectCommunicationClient.prototype.unsubscribeFromEncryptedMessages = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/];\n });\n });\n };\n WalletConnectCommunicationClient.prototype.unsubscribeFromEncryptedMessage = function (_senderPublicKey) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/];\n });\n });\n };\n WalletConnectCommunicationClient.prototype.sendMessage = function (_message, _peer) {\n return __awaiter(this, void 0, void 0, function () {\n var serializer, message;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n serializer = new beacon_core_1.Serializer();\n return [4 /*yield*/, serializer.deserialize(_message)];\n case 1:\n message = (_a.sent());\n if (!message) {\n return [2 /*return*/];\n }\n this.currentMessageId = message.id;\n switch (message.type) {\n case beacon_types_1.BeaconMessageType.PermissionRequest:\n this.requestPermissions(message);\n break;\n case beacon_types_1.BeaconMessageType.OperationRequest:\n this.sendOperations(message);\n break;\n case beacon_types_1.BeaconMessageType.SignPayloadRequest:\n this.signPayload(message);\n break;\n default:\n return [2 /*return*/];\n }\n return [2 /*return*/];\n }\n });\n });\n };\n WalletConnectCommunicationClient.prototype.fetchAccounts = function (topic, chainId) {\n return __awaiter(this, void 0, void 0, function () {\n var signClient;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.getSignClient()];\n case 1:\n signClient = _a.sent();\n return [2 /*return*/, signClient.request({\n topic: topic,\n chainId: chainId,\n request: {\n method: PermissionScopeMethods.GET_ACCOUNTS,\n params: {}\n }\n })];\n }\n });\n });\n };\n WalletConnectCommunicationClient.prototype.requestPermissions = function (message) {\n var _a, _b, _c, _d, _e;\n return __awaiter(this, void 0, void 0, function () {\n var error_2, session, publicKey, accounts, addressOrPbk, result, permissionResponse;\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0:\n console.log('#### Requesting permissions');\n if (!this.getPermittedMethods().includes(PermissionScopeMethods.GET_ACCOUNTS)) {\n throw new error_1.MissingRequiredScope(PermissionScopeMethods.GET_ACCOUNTS);\n }\n if (!this.activeAccount) return [3 /*break*/, 4];\n _f.label = 1;\n case 1:\n _f.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.openSession()];\n case 2:\n _f.sent();\n return [3 /*break*/, 4];\n case 3:\n error_2 = _f.sent();\n console.error(error_2.message);\n return [2 /*return*/];\n case 4:\n this.setDefaultAccountAndNetwork();\n session = this.getSession();\n if (!(((_a = session.sessionProperties) === null || _a === void 0 ? void 0 : _a.pubkey) &&\n ((_b = session.sessionProperties) === null || _b === void 0 ? void 0 : _b.algo) &&\n ((_c = session.sessionProperties) === null || _c === void 0 ? void 0 : _c.address))) return [3 /*break*/, 5];\n publicKey = (_d = session.sessionProperties) === null || _d === void 0 ? void 0 : _d.pubkey;\n console.log('[requestPermissions]: Have pubkey in sessionProperties, skipping \"get_accounts\" call', session.sessionProperties);\n return [3 /*break*/, 8];\n case 5:\n accounts = this.getTezosNamespace(session.namespaces).accounts;\n addressOrPbk = accounts[0].split(':', 3)[2];\n if (!addressOrPbk.startsWith('edpk')) return [3 /*break*/, 6];\n publicKey = addressOrPbk;\n return [3 /*break*/, 8];\n case 6:\n if (message.network.type !== this.wcOptions.network) {\n throw new Error('Network in permission request is not the same as preferred network!');\n }\n return [4 /*yield*/, this.fetchAccounts(session.topic, \"\".concat(TEZOS_PLACEHOLDER, \":\").concat(message.network.type))];\n case 7:\n result = _f.sent();\n if (!result || result.length < 1) {\n throw new Error('No account shared by wallet');\n }\n if (result.some(function (account) { return !account.pubkey; })) {\n throw new Error('Public Key in `tezos_getAccounts` is empty!');\n }\n publicKey = (_e = result[0]) === null || _e === void 0 ? void 0 : _e.pubkey;\n _f.label = 8;\n case 8:\n if (!publicKey) {\n throw new Error('Public Key in `tezos_getAccounts` is empty!');\n }\n permissionResponse = {\n type: beacon_types_1.BeaconMessageType.PermissionResponse,\n appMetadata: {\n senderId: session.pairingTopic,\n name: session.peer.metadata.name,\n icon: session.peer.metadata.icons[0]\n },\n publicKey: publicKey,\n network: message.network,\n scopes: [beacon_types_1.PermissionScope.SIGN, beacon_types_1.PermissionScope.OPERATION_REQUEST],\n id: this.currentMessageId\n };\n this.notifyListeners(session.pairingTopic, permissionResponse);\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * @description Once the session is establish, send payload to be approved and signed by the wallet.\n * @error MissingRequiredScope is thrown if permission to sign payload was not granted\n */\n WalletConnectCommunicationClient.prototype.signPayload = function (signPayloadRequest) {\n return __awaiter(this, void 0, void 0, function () {\n var signClient, session, network, account;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.getSignClient()];\n case 1:\n signClient = _a.sent();\n session = this.getSession();\n if (!this.getPermittedMethods().includes(PermissionScopeMethods.SIGN)) {\n throw new error_1.MissingRequiredScope(PermissionScopeMethods.SIGN);\n }\n network = this.getActiveNetwork();\n return [4 /*yield*/, this.getPKH()];\n case 2:\n account = _a.sent();\n this.validateNetworkAndAccount(network, account);\n // TODO: Type\n signClient\n .request({\n topic: session.topic,\n chainId: \"\".concat(TEZOS_PLACEHOLDER, \":\").concat(network),\n request: {\n method: PermissionScopeMethods.SIGN,\n params: {\n account: account,\n payload: signPayloadRequest.payload\n }\n }\n })\n .then(function (response) {\n var signPayloadResponse = {\n type: beacon_types_1.BeaconMessageType.SignPayloadResponse,\n signingType: signPayloadRequest.signingType,\n signature: response === null || response === void 0 ? void 0 : response.signature,\n id: _this.currentMessageId\n };\n _this.notifyListeners(session.pairingTopic, signPayloadResponse);\n })\n .catch(function () { return __awaiter(_this, void 0, void 0, function () {\n var errorResponse;\n return __generator(this, function (_a) {\n errorResponse = {\n type: beacon_types_1.BeaconMessageType.Error,\n id: this.currentMessageId,\n errorType: beacon_types_1.BeaconErrorType.ABORTED_ERROR\n };\n this.notifyListeners(session.pairingTopic, errorResponse);\n return [2 /*return*/];\n });\n }); });\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * @description Once the session is established, send Tezos operations to be approved, signed and inject by the wallet.\n * @error MissingRequiredScope is thrown if permission to send operation was not granted\n */\n WalletConnectCommunicationClient.prototype.sendOperations = function (operationRequest) {\n return __awaiter(this, void 0, void 0, function () {\n var signClient, session, network, account;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.getSignClient()];\n case 1:\n signClient = _a.sent();\n session = this.getSession();\n if (!this.getPermittedMethods().includes(PermissionScopeMethods.OPERATION_REQUEST)) {\n throw new error_1.MissingRequiredScope(PermissionScopeMethods.OPERATION_REQUEST);\n }\n network = this.getActiveNetwork();\n return [4 /*yield*/, this.getPKH()];\n case 2:\n account = _a.sent();\n this.validateNetworkAndAccount(network, account);\n signClient\n .request({\n topic: session.topic,\n chainId: \"\".concat(TEZOS_PLACEHOLDER, \":\").concat(network),\n request: {\n method: PermissionScopeMethods.OPERATION_REQUEST,\n params: {\n account: account,\n operations: operationRequest.operationDetails\n }\n }\n })\n .then(function (response) {\n var _a, _b, _c;\n var sendOperationResponse = {\n type: beacon_types_1.BeaconMessageType.OperationResponse,\n transactionHash: (_c = (_b = (_a = response.operationHash) !== null && _a !== void 0 ? _a : response.transactionHash) !== null && _b !== void 0 ? _b : response.hash) !== null && _c !== void 0 ? _c : '',\n id: _this.currentMessageId\n };\n _this.notifyListeners(session.pairingTopic, sendOperationResponse);\n })\n .catch(function () { return __awaiter(_this, void 0, void 0, function () {\n var errorResponse;\n return __generator(this, function (_a) {\n errorResponse = {\n type: beacon_types_1.BeaconMessageType.Error,\n id: this.currentMessageId,\n errorType: beacon_types_1.BeaconErrorType.ABORTED_ERROR\n };\n this.notifyListeners(session.pairingTopic, errorResponse);\n return [2 /*return*/];\n });\n }); });\n return [2 /*return*/];\n }\n });\n });\n };\n WalletConnectCommunicationClient.prototype.init = function (forceNewConnection) {\n if (forceNewConnection === void 0) { forceNewConnection = false; }\n return __awaiter(this, void 0, void 0, function () {\n var signClient, sessions, _a, uri, topic;\n var _this = this;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, this.getSignClient()];\n case 1:\n signClient = _b.sent();\n if (forceNewConnection) {\n this.closePairings();\n }\n sessions = signClient.session.getAll();\n if (sessions && sessions.length > 0) {\n this.session = sessions[0];\n this.setDefaultAccountAndNetwork();\n return [2 /*return*/, undefined];\n }\n return [4 /*yield*/, signClient.core.pairing.create()];\n case 2:\n _a = _b.sent(), uri = _a.uri, topic = _a.topic;\n signClient.core.pairing.ping({ topic: topic }).then(function () { return __awaiter(_this, void 0, void 0, function () {\n var session, pairingResponse_1, error_3, fun;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, signClient.core.pairing.activate({ topic: topic })\n // pairings don't have peer details\n // therefore we must immediately open a session\n // to get data required in the pairing response\n ];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2:\n _a.trys.push([2, 4, , 5]);\n return [4 /*yield*/, this.openSession(topic)];\n case 3:\n session = _a.sent();\n pairingResponse_1 = {\n id: topic,\n type: 'walletconnect-pairing-response',\n name: session.peer.metadata.name,\n publicKey: session.peer.publicKey,\n senderId: topic,\n extensionId: session.peer.metadata.name,\n version: '3'\n };\n this.channelOpeningListeners.forEach(function (listener) {\n listener(pairingResponse_1);\n });\n return [3 /*break*/, 5];\n case 4:\n error_3 = _a.sent();\n console.error(error_3.message);\n fun = this.eventHandlers.get(\"CLOSE_ALERT\" /* ClientEvents.CLOSE_ALERT */);\n fun && fun();\n return [2 /*return*/];\n case 5: return [2 /*return*/];\n }\n });\n }); });\n return [2 /*return*/, { uri: uri, topic: topic }];\n }\n });\n });\n };\n WalletConnectCommunicationClient.prototype.close = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.closePairings()];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n WalletConnectCommunicationClient.prototype.subscribeToSessionEvents = function (signClient) {\n var _this = this;\n signClient.on('session_event', function (event) {\n if (event.params.event.name === PermissionScopeEvents.REQUEST_ACKNOWLEDGED &&\n _this.currentMessageId) {\n _this.acknowledgeRequest(_this.currentMessageId);\n }\n });\n signClient.on('session_update', function (event) {\n _this.updateActiveAccount(event.params.namespaces);\n });\n signClient.on('session_delete', function (event) {\n _this.disconnect(signClient, { type: 'session', topic: event.topic });\n });\n signClient.on('session_expire', function (event) {\n _this.disconnect(signClient, { type: 'session', topic: event.topic });\n });\n signClient.core.pairing.events.on('pairing_delete', function (event) {\n _this.disconnect(signClient, { type: 'pairing', topic: event.topic });\n });\n };\n WalletConnectCommunicationClient.prototype.acknowledgeRequest = function (id) {\n return __awaiter(this, void 0, void 0, function () {\n var session, acknowledgeResponse;\n return __generator(this, function (_a) {\n session = this.getSession();\n acknowledgeResponse = {\n type: beacon_types_1.BeaconMessageType.Acknowledge,\n id: id\n };\n this.notifyListeners(session.pairingTopic, acknowledgeResponse);\n return [2 /*return*/];\n });\n });\n };\n WalletConnectCommunicationClient.prototype.updateActiveAccount = function (namespaces) {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n var accounts, _b, _namespace, chainId, addressOrPbk_1, session, publicKey, _c, result, _d, _e, _f;\n var _g;\n return __generator(this, function (_h) {\n switch (_h.label) {\n case 0:\n _h.trys.push([0, 7, , 8]);\n accounts = this.getTezosNamespace(namespaces).accounts;\n if (!(accounts.length === 1)) return [3 /*break*/, 6];\n _b = accounts[0].split(':', 3), _namespace = _b[0], chainId = _b[1], addressOrPbk_1 = _b[2];\n session = this.getSession();\n publicKey = void 0;\n this.activeNetwork = chainId;\n if (!addressOrPbk_1.startsWith('edpk')) return [3 /*break*/, 2];\n publicKey = addressOrPbk_1;\n _c = this;\n return [4 /*yield*/, (0, beacon_utils_1.getAddressFromPublicKey)(publicKey)];\n case 1:\n _c.activeAccount = _h.sent();\n return [3 /*break*/, 4];\n case 2:\n this.activeAccount = addressOrPbk_1;\n return [4 /*yield*/, this.fetchAccounts(session.topic, \"\".concat(TEZOS_PLACEHOLDER, \":\").concat(chainId))];\n case 3:\n result = _h.sent();\n publicKey = (_a = result === null || result === void 0 ? void 0 : result.find(function (_a) {\n var _address = _a.address;\n return addressOrPbk_1 === _address;\n })) === null || _a === void 0 ? void 0 : _a.pubkey;\n _h.label = 4;\n case 4:\n if (!publicKey) {\n throw new Error('Public key for the new account not provided');\n }\n _d = this.notifyListeners;\n _e = [session.pairingTopic];\n _g = {};\n return [4 /*yield*/, (0, beacon_utils_1.generateGUID)()];\n case 5:\n _d.apply(this, _e.concat([(_g.id = _h.sent(),\n _g.type = beacon_types_1.BeaconMessageType.ChangeAccountRequest,\n _g.publicKey = publicKey,\n _g.network = { type: chainId },\n _g.scopes = [beacon_types_1.PermissionScope.SIGN, beacon_types_1.PermissionScope.OPERATION_REQUEST],\n _g)]));\n _h.label = 6;\n case 6: return [3 /*break*/, 8];\n case 7:\n _f = _h.sent();\n return [3 /*break*/, 8];\n case 8: return [2 /*return*/];\n }\n });\n });\n };\n WalletConnectCommunicationClient.prototype.disconnect = function (signClient, trigger) {\n return __awaiter(this, void 0, void 0, function () {\n var session, fun, _a, _b;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n if (!(trigger.type === 'session')) return [3 /*break*/, 2];\n return [4 /*yield*/, this.onSessionClosed(signClient, trigger.topic)];\n case 1:\n session = _d.sent();\n _d.label = 2;\n case 2:\n if (!(trigger.type === 'pairing')) return [3 /*break*/, 4];\n return [4 /*yield*/, this.onPairingClosed(signClient, trigger.topic)];\n case 3:\n session = _d.sent();\n _d.label = 4;\n case 4:\n if (!this.activeAccount) {\n fun = this.eventHandlers.get(\"RESET_STATE\" /* ClientEvents.RESET_STATE */);\n fun && fun();\n }\n if (!session) {\n return [2 /*return*/];\n }\n _a = this.notifyListeners;\n _b = [session.pairingTopic];\n _c = {};\n return [4 /*yield*/, (0, beacon_utils_1.generateGUID)()];\n case 5:\n _a.apply(this, _b.concat([(_c.id = _d.sent(),\n _c.type = beacon_types_1.BeaconMessageType.Disconnect,\n _c)]));\n this.clearState();\n return [2 /*return*/];\n }\n });\n });\n };\n WalletConnectCommunicationClient.prototype.onPairingClosed = function (signClient, pairingTopic) {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n var session, error_4;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n session = ((_a = this.session) === null || _a === void 0 ? void 0 : _a.pairingTopic) === pairingTopic\n ? this.session\n : signClient.session\n .getAll()\n .find(function (session) { return session.pairingTopic === pairingTopic; });\n if (!session) {\n return [2 /*return*/, undefined];\n }\n _b.label = 1;\n case 1:\n _b.trys.push([1, 3, , 4]);\n return [4 /*yield*/, signClient.disconnect({\n topic: session.topic,\n reason: {\n code: -1,\n message: 'Pairing deleted'\n }\n })];\n case 2:\n _b.sent();\n return [3 /*break*/, 4];\n case 3:\n error_4 = _b.sent();\n // If the session was already closed, `disconnect` will throw an error.\n console.warn(error_4);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/, session];\n }\n });\n });\n };\n WalletConnectCommunicationClient.prototype.onSessionClosed = function (signClient, sessionTopic) {\n return __awaiter(this, void 0, void 0, function () {\n var error_5;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!this.session || this.session.topic !== sessionTopic) {\n return [2 /*return*/, undefined];\n }\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, signClient.core.pairing.disconnect({ topic: this.session.pairingTopic })];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_5 = _a.sent();\n // If the pairing was already closed, `disconnect` will throw an error.\n console.warn(error_5);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/, this.session];\n }\n });\n });\n };\n WalletConnectCommunicationClient.prototype.getPairingRequestInfo = function () {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n var _b, uri, topic;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0: return [4 /*yield*/, this.init(true)];\n case 1:\n _b = (_a = (_d.sent())) !== null && _a !== void 0 ? _a : {}, uri = _b.uri, topic = _b.topic;\n _c = {\n id: topic,\n type: 'walletconnect-pairing-request',\n name: 'WalletConnect',\n version: beacon_core_1.BEACON_VERSION,\n uri: uri\n };\n return [4 /*yield*/, (0, beacon_utils_1.generateGUID)()];\n case 2:\n _c.senderId = _d.sent();\n return [4 /*yield*/, (0, beacon_utils_1.generateGUID)()];\n case 3: return [2 /*return*/, (_c.publicKey = _d.sent(),\n _c)];\n }\n });\n });\n };\n WalletConnectCommunicationClient.prototype.closePairings = function () {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n var signClient, pairings, _i, pairings_1, pairing;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, this.closeSessions()];\n case 1:\n _b.sent();\n return [4 /*yield*/, this.getSignClient()];\n case 2:\n signClient = _b.sent();\n pairings = (_a = signClient.pairing.getAll()) !== null && _a !== void 0 ? _a : [];\n _i = 0, pairings_1 = pairings;\n _b.label = 3;\n case 3:\n if (!(_i < pairings_1.length)) return [3 /*break*/, 6];\n pairing = pairings_1[_i];\n return [4 /*yield*/, signClient.core.pairing.disconnect({ topic: pairing.topic })];\n case 4:\n _b.sent();\n _b.label = 5;\n case 5:\n _i++;\n return [3 /*break*/, 3];\n case 6: return [2 /*return*/];\n }\n });\n });\n };\n WalletConnectCommunicationClient.prototype.closeSessions = function () {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n var signClient, sessions, _i, sessions_1, session;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, this.getSignClient()];\n case 1:\n signClient = _b.sent();\n sessions = (_a = signClient.session.getAll()) !== null && _a !== void 0 ? _a : [];\n _i = 0, sessions_1 = sessions;\n _b.label = 2;\n case 2:\n if (!(_i < sessions_1.length)) return [3 /*break*/, 5];\n session = sessions_1[_i];\n return [4 /*yield*/, signClient.disconnect({\n topic: session.topic,\n reason: {\n code: 0,\n message: 'Force new connection'\n }\n })];\n case 3:\n _b.sent();\n _b.label = 4;\n case 4:\n _i++;\n return [3 /*break*/, 2];\n case 5:\n this.clearState();\n return [2 /*return*/];\n }\n });\n });\n };\n WalletConnectCommunicationClient.prototype.openSession = function (pairingTopic) {\n var _a, _b, _c;\n return __awaiter(this, void 0, void 0, function () {\n var signClient, permissionScopeParams, optionalPermissionScopeParams, connectParams, approval, session, error_6, _pairingTopic, errorResponse;\n var _d, _e;\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0: return [4 /*yield*/, this.getSignClient()];\n case 1:\n signClient = _f.sent();\n permissionScopeParams = {\n networks: [this.wcOptions.network],\n events: [],\n methods: [\n PermissionScopeMethods.GET_ACCOUNTS,\n PermissionScopeMethods.OPERATION_REQUEST,\n PermissionScopeMethods.SIGN\n ]\n };\n optionalPermissionScopeParams = {\n networks: [this.wcOptions.network],\n events: [PermissionScopeEvents.REQUEST_ACKNOWLEDGED],\n methods: []\n };\n connectParams = {\n requiredNamespaces: (_d = {},\n _d[TEZOS_PLACEHOLDER] = this.permissionScopeParamsToNamespaces(permissionScopeParams),\n _d),\n optionalNamespaces: (_e = {},\n _e[TEZOS_PLACEHOLDER] = this.permissionScopeParamsToNamespaces(optionalPermissionScopeParams),\n _e),\n pairingTopic: pairingTopic !== null && pairingTopic !== void 0 ? pairingTopic : (_a = signClient.core.pairing.getPairings()[0]) === null || _a === void 0 ? void 0 : _a.topic\n };\n return [4 /*yield*/, signClient.connect(connectParams)];\n case 2:\n approval = (_f.sent()).approval;\n _f.label = 3;\n case 3:\n _f.trys.push([3, 7, , 8]);\n return [4 /*yield*/, approval()\n // if I have successfully opened a session and I already have one opened\n ];\n case 4:\n session = _f.sent();\n if (!(session && this.session)) return [3 /*break*/, 6];\n return [4 /*yield*/, this.closeSessions()]; // close the previous session\n case 5:\n _f.sent(); // close the previous session\n _f.label = 6;\n case 6:\n // I still need this check in the event the user aborts the sync process on the wallet side\n // but there is already a connection set\n this.session = (_b = this.session) !== null && _b !== void 0 ? _b : session;\n this.validateReceivedNamespace(permissionScopeParams, this.session.namespaces);\n return [3 /*break*/, 8];\n case 7:\n error_6 = _f.sent();\n console.error(error_6.message);\n _pairingTopic = pairingTopic !== null && pairingTopic !== void 0 ? pairingTopic : (_c = signClient.core.pairing.getPairings()[0]) === null || _c === void 0 ? void 0 : _c.topic;\n errorResponse = {\n type: beacon_types_1.BeaconMessageType.Error,\n id: this.currentMessageId,\n errorType: beacon_types_1.BeaconErrorType.ABORTED_ERROR\n };\n this.notifyListeners(_pairingTopic, errorResponse);\n return [3 /*break*/, 8];\n case 8:\n if (this.session) {\n return [2 /*return*/, this.session];\n }\n else {\n throw new error_1.InvalidSession('No session set.');\n }\n return [2 /*return*/];\n }\n });\n });\n };\n WalletConnectCommunicationClient.prototype.permissionScopeParamsToNamespaces = function (permissionScopeParams) {\n var _a;\n return {\n chains: permissionScopeParams.networks.map(function (network) { return \"\".concat(TEZOS_PLACEHOLDER, \":\").concat(network); }),\n methods: permissionScopeParams.methods,\n events: (_a = permissionScopeParams.events) !== null && _a !== void 0 ? _a : []\n };\n };\n WalletConnectCommunicationClient.prototype.validateReceivedNamespace = function (scope, receivedNamespaces) {\n if (receivedNamespaces[TEZOS_PLACEHOLDER]) {\n this.validateMethods(scope.methods, receivedNamespaces[TEZOS_PLACEHOLDER].methods);\n if (scope.events) {\n this.validateEvents(scope.events, receivedNamespaces['tezos'].events);\n }\n this.validateAccounts(scope.networks, receivedNamespaces[TEZOS_PLACEHOLDER].accounts);\n }\n else {\n this.clearState();\n throw new error_1.InvalidReceivedSessionNamespace('All namespaces must be approved', (0, utils_1.getSdkError)('USER_REJECTED').code, 'incomplete', 'tezos');\n }\n };\n WalletConnectCommunicationClient.prototype.validateMethods = function (requiredMethods, receivedMethods) {\n var missingMethods = [];\n requiredMethods.forEach(function (method) {\n if (!receivedMethods.includes(method)) {\n missingMethods.push(method);\n }\n });\n if (missingMethods.length > 0) {\n this.clearState();\n throw new error_1.InvalidReceivedSessionNamespace('All methods must be approved', (0, utils_1.getSdkError)('USER_REJECTED_METHODS').code, 'incomplete', missingMethods);\n }\n };\n WalletConnectCommunicationClient.prototype.validateEvents = function (requiredEvents, receivedEvents) {\n var missingEvents = [];\n requiredEvents.forEach(function (method) {\n if (!receivedEvents.includes(method)) {\n missingEvents.push(method);\n }\n });\n if (missingEvents.length > 0) {\n this.clearState();\n throw new error_1.InvalidReceivedSessionNamespace('All events must be approved', (0, utils_1.getSdkError)('USER_REJECTED_EVENTS').code, 'incomplete', missingEvents);\n }\n };\n WalletConnectCommunicationClient.prototype.validateAccounts = function (requiredNetwork, receivedAccounts) {\n if (receivedAccounts.length === 0) {\n this.clearState();\n throw new error_1.InvalidReceivedSessionNamespace('Accounts must not be empty', (0, utils_1.getSdkError)('USER_REJECTED_CHAINS').code, 'incomplete');\n }\n var receivedChains = [];\n var invalidChains = [];\n var missingChains = [];\n var invalidChainsNamespace = [];\n receivedAccounts.forEach(function (chain) {\n var accountId = chain.split(':');\n if (accountId.length !== 3) {\n invalidChains.push(chain);\n }\n if (accountId[0] !== TEZOS_PLACEHOLDER) {\n invalidChainsNamespace.push(chain);\n }\n var network = accountId[1];\n if (!receivedChains.includes(network)) {\n receivedChains.push(network);\n }\n });\n if (invalidChains.length > 0) {\n this.clearState();\n throw new error_1.InvalidReceivedSessionNamespace('Accounts must be CAIP-10 compliant', (0, utils_1.getSdkError)('USER_REJECTED_CHAINS').code, 'invalid', invalidChains);\n }\n if (invalidChainsNamespace.length > 0) {\n this.clearState();\n throw new error_1.InvalidReceivedSessionNamespace('Accounts must be defined in matching namespace', (0, utils_1.getSdkError)('UNSUPPORTED_ACCOUNTS').code, 'invalid', invalidChainsNamespace);\n }\n requiredNetwork.forEach(function (network) {\n if (!receivedChains.includes(network)) {\n missingChains.push(network);\n }\n });\n if (missingChains.length > 0) {\n this.clearState();\n throw new error_1.InvalidReceivedSessionNamespace('All chains must have at least one account', (0, utils_1.getSdkError)('USER_REJECTED_CHAINS').code, 'incomplete', missingChains);\n }\n };\n WalletConnectCommunicationClient.prototype.validateNetworkAndAccount = function (network, account) {\n if (!this.getTezosNamespace().accounts.includes(\"\".concat(TEZOS_PLACEHOLDER, \":\").concat(network, \":\").concat(account))) {\n throw new error_1.InvalidNetworkOrAccount(network, account);\n }\n };\n /**\n * @description Access the active network\n * @error ActiveNetworkUnspecified thorwn when there are multiple Tezos netwroks in the session and none is set as the active one\n */\n WalletConnectCommunicationClient.prototype.getActiveNetwork = function () {\n if (!this.activeNetwork) {\n this.getSession();\n throw new error_1.ActiveNetworkUnspecified();\n }\n return this.activeNetwork;\n };\n WalletConnectCommunicationClient.prototype.setDefaultAccountAndNetwork = function () {\n var activeAccount = this.getAccounts();\n if (activeAccount.length === 1) {\n this.activeAccount = activeAccount[0];\n }\n var activeNetwork = this.getNetworks();\n if (activeNetwork.length === 1) {\n this.activeNetwork = activeNetwork[0];\n }\n };\n /**\n * @description Return all connected accounts from the active session\n * @error NotConnected if no active session\n */\n WalletConnectCommunicationClient.prototype.getAccounts = function () {\n return this.getTezosNamespace().accounts.map(function (account) { return account.split(':')[2]; });\n };\n /**\n * @description Return all networks from the namespace of the active session\n * @error NotConnected if no active session\n */\n WalletConnectCommunicationClient.prototype.getNetworks = function () {\n return this.getPermittedNetwork();\n };\n WalletConnectCommunicationClient.prototype.getTezosNamespace = function (namespaces) {\n if (namespaces === void 0) { namespaces = this.getSession().namespaces; }\n if (TEZOS_PLACEHOLDER in namespaces) {\n return namespaces[TEZOS_PLACEHOLDER];\n }\n else {\n throw new error_1.InvalidSession('Tezos not found in namespaces');\n }\n };\n WalletConnectCommunicationClient.prototype.getPermittedMethods = function () {\n return this.getTezosRequiredNamespace().methods;\n };\n WalletConnectCommunicationClient.prototype.getPermittedNetwork = function () {\n return this.getTezosRequiredNamespace().chains.map(function (chain) { return chain.split(':')[1]; });\n };\n WalletConnectCommunicationClient.prototype.getTezosRequiredNamespace = function () {\n return {\n chains: [\"\".concat(TEZOS_PLACEHOLDER, \":\").concat(this.wcOptions.network)],\n events: [],\n methods: ['tezos_getAccounts', 'tezos_send', 'tezos_sign']\n };\n // if (TEZOS_PLACEHOLDER in this.getSession().requiredNamespaces) {\n // return this.getSession().requiredNamespaces[TEZOS_PLACEHOLDER] as {\n // chains: string[]\n // methods: string[]\n // events: string[]\n // }\n // } else {\n // throw new InvalidSession('Tezos not found in requiredNamespaces')\n // }\n };\n WalletConnectCommunicationClient.prototype.notifyListeners = function (pairingTopic, partialResponse) {\n return __awaiter(this, void 0, void 0, function () {\n var response, serializer, serialized;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n response = __assign(__assign({}, partialResponse), { version: '2', senderId: pairingTopic });\n serializer = new beacon_core_1.Serializer();\n return [4 /*yield*/, serializer.serialize(response)];\n case 1:\n serialized = _a.sent();\n this.activeListeners.forEach(function (listener) {\n listener(serialized);\n });\n return [2 /*return*/];\n }\n });\n });\n };\n WalletConnectCommunicationClient.prototype.currentSession = function () {\n return this.session;\n };\n WalletConnectCommunicationClient.prototype.getSignClient = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!(this.signClient === undefined)) return [3 /*break*/, 2];\n _a = this;\n return [4 /*yield*/, sign_client_1.SignClient.init(this.wcOptions.opts)];\n case 1:\n _a.signClient = _b.sent();\n this.subscribeToSessionEvents(this.signClient);\n _b.label = 2;\n case 2: return [2 /*return*/, this.signClient];\n }\n });\n });\n };\n WalletConnectCommunicationClient.prototype.getSession = function () {\n if (!this.session) {\n throw new error_1.NotConnected();\n }\n return this.session;\n };\n /**\n * @description Access the public key hash of the active account\n * @error ActiveAccountUnspecified thrown when there are multiple Tezos account in the session and none is set as the active one\n */\n WalletConnectCommunicationClient.prototype.getPKH = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (!this.activeAccount) {\n this.getSession();\n throw new error_1.ActiveAccountUnspecified();\n }\n return [2 /*return*/, this.activeAccount];\n });\n });\n };\n WalletConnectCommunicationClient.prototype.clearState = function () {\n this.session = undefined;\n this.activeAccount = undefined;\n this.activeNetwork = undefined;\n };\n return WalletConnectCommunicationClient;\n}(beacon_core_1.CommunicationClient));\nexports.WalletConnectCommunicationClient = WalletConnectCommunicationClient;\n//# sourceMappingURL=WalletConnectCommunicationClient.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-walletconnect/dist/cjs/communication-client/WalletConnectCommunicationClient.js?")},"./packages/beacon-transport-walletconnect/dist/cjs/error.js":function(__unused_webpack_module,exports){"use strict";eval('\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== "function" && b !== null)\n throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.InvalidNetworkOrAccount = exports.ActiveAccountUnspecified = exports.ActiveNetworkUnspecified = exports.MissingRequiredScope = exports.InvalidSession = exports.NotConnected = exports.InvalidReceivedSessionNamespace = void 0;\n/**\n * @category Error\n * @description Error that indicates the wallet returned an invalid namespace\n */\nvar InvalidReceivedSessionNamespace = /** @class */ (function (_super) {\n __extends(InvalidReceivedSessionNamespace, _super);\n function InvalidReceivedSessionNamespace(messageWc, codeWc, type, data) {\n var _this = _super.call(this) || this;\n _this.messageWc = messageWc;\n _this.codeWc = codeWc;\n _this.data = data;\n _this.name = \'InvalidReceivedSessionNamespace\';\n var baseMessage = "".concat(codeWc, ": ").concat(messageWc, ".");\n _this.message = data\n ? type === \'incomplete\'\n ? " ".concat(baseMessage, " \\"").concat(data, "\\" is missing in the session namespace.")\n : " ".concat(baseMessage, " \\"").concat(data, "\\" is invalid.")\n : baseMessage;\n return _this;\n }\n return InvalidReceivedSessionNamespace;\n}(Error));\nexports.InvalidReceivedSessionNamespace = InvalidReceivedSessionNamespace;\n/**\n * @category Error\n * @description Error that indicates there is no active session\n */\nvar NotConnected = /** @class */ (function (_super) {\n __extends(NotConnected, _super);\n function NotConnected() {\n var _this = _super.call(this, \'Not connected, no active session\') || this;\n _this.name = \'NotConnected\';\n return _this;\n }\n return NotConnected;\n}(Error));\nexports.NotConnected = NotConnected;\n/**\n * @category Error\n * @description Error that indicates the session is invalid\n */\nvar InvalidSession = /** @class */ (function (_super) {\n __extends(InvalidSession, _super);\n function InvalidSession(message) {\n var _this = _super.call(this, message) || this;\n _this.name = \'InvalidSession\';\n return _this;\n }\n return InvalidSession;\n}(Error));\nexports.InvalidSession = InvalidSession;\n/**\n * @category Error\n * @description Error that indicates missing required permission scopes\n */\nvar MissingRequiredScope = /** @class */ (function (_super) {\n __extends(MissingRequiredScope, _super);\n function MissingRequiredScope(requiredScopes) {\n var _this = _super.call(this, "Required permission scope were not granted for \\"".concat(requiredScopes, "\\"")) || this;\n _this.requiredScopes = requiredScopes;\n _this.name = \'MissingRequiredScope\';\n return _this;\n }\n return MissingRequiredScope;\n}(Error));\nexports.MissingRequiredScope = MissingRequiredScope;\n/**\n * @category Error\n * @description Error that indicates the active network is not specified\n */\nvar ActiveNetworkUnspecified = /** @class */ (function (_super) {\n __extends(ActiveNetworkUnspecified, _super);\n function ActiveNetworkUnspecified() {\n var _this = _super.call(this, \'Please specify the active network using the "setActiveNetwork" method.\') || this;\n _this.name = \'ActiveNetworkUnspecified\';\n return _this;\n }\n return ActiveNetworkUnspecified;\n}(Error));\nexports.ActiveNetworkUnspecified = ActiveNetworkUnspecified;\n/**\n * @category Error\n * @description Error that indicates the active account is not specified\n */\nvar ActiveAccountUnspecified = /** @class */ (function (_super) {\n __extends(ActiveAccountUnspecified, _super);\n function ActiveAccountUnspecified() {\n var _this = _super.call(this, \'Please specify the active account using the "setActiveAccount" method.\') || this;\n _this.name = \'ActiveAccountUnspecified\';\n return _this;\n }\n return ActiveAccountUnspecified;\n}(Error));\nexports.ActiveAccountUnspecified = ActiveAccountUnspecified;\n/**\n * @category Error\n * @description Error that indicates the combinaison pkh-network is not part of the active session\n */\nvar InvalidNetworkOrAccount = /** @class */ (function (_super) {\n __extends(InvalidNetworkOrAccount, _super);\n function InvalidNetworkOrAccount(network, pkh) {\n var _this = _super.call(this, "No permission. The combinaison \\"".concat(network, "\\" and \\"").concat(pkh, "\\" is not part of the active session.")) || this;\n _this.network = network;\n _this.pkh = pkh;\n _this.name = \'InvalidNetworkOrAccount\';\n return _this;\n }\n return InvalidNetworkOrAccount;\n}(Error));\nexports.InvalidNetworkOrAccount = InvalidNetworkOrAccount;\n//# sourceMappingURL=error.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-walletconnect/dist/cjs/error.js?')},"./packages/beacon-transport-walletconnect/dist/cjs/index.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.WalletConnectCommunicationClient = exports.WalletConnectTransport = void 0;\nvar WalletConnectTransport_1 = __webpack_require__(/*! ./WalletConnectTransport */ "./packages/beacon-transport-walletconnect/dist/cjs/WalletConnectTransport.js");\nObject.defineProperty(exports, "WalletConnectTransport", ({ enumerable: true, get: function () { return WalletConnectTransport_1.WalletConnectTransport; } }));\nvar WalletConnectCommunicationClient_1 = __webpack_require__(/*! ./communication-client/WalletConnectCommunicationClient */ "./packages/beacon-transport-walletconnect/dist/cjs/communication-client/WalletConnectCommunicationClient.js");\nObject.defineProperty(exports, "WalletConnectCommunicationClient", ({ enumerable: true, get: function () { return WalletConnectCommunicationClient_1.WalletConnectCommunicationClient; } }));\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-transport-walletconnect/dist/cjs/index.js?')},"./packages/beacon-types/dist/cjs/index.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.ColorMode = exports.defaultValues = exports.StorageKey = exports.Storage = exports.TransportType = exports.TransportStatus = exports.BeaconErrorType = exports.ExtensionMessageTarget = exports.SigningType = exports.Origin = exports.PermissionScope = exports.BeaconMessageType = exports.NetworkType = exports.TezosOperationType = void 0;\nvar BeaconMessageType_1 = __webpack_require__(/*! ./types/beacon/BeaconMessageType */ "./packages/beacon-types/dist/cjs/types/beacon/BeaconMessageType.js");\nObject.defineProperty(exports, "BeaconMessageType", ({ enumerable: true, get: function () { return BeaconMessageType_1.BeaconMessageType; } }));\nvar PermissionScope_1 = __webpack_require__(/*! ./types/beacon/PermissionScope */ "./packages/beacon-types/dist/cjs/types/beacon/PermissionScope.js");\nObject.defineProperty(exports, "PermissionScope", ({ enumerable: true, get: function () { return PermissionScope_1.PermissionScope; } }));\nvar NetworkType_1 = __webpack_require__(/*! ./types/beacon/NetworkType */ "./packages/beacon-types/dist/cjs/types/beacon/NetworkType.js");\nObject.defineProperty(exports, "NetworkType", ({ enumerable: true, get: function () { return NetworkType_1.NetworkType; } }));\nvar OperationTypes_1 = __webpack_require__(/*! ./types/tezos/OperationTypes */ "./packages/beacon-types/dist/cjs/types/tezos/OperationTypes.js");\nObject.defineProperty(exports, "TezosOperationType", ({ enumerable: true, get: function () { return OperationTypes_1.TezosOperationType; } }));\nvar Origin_1 = __webpack_require__(/*! ./types/Origin */ "./packages/beacon-types/dist/cjs/types/Origin.js");\nObject.defineProperty(exports, "Origin", ({ enumerable: true, get: function () { return Origin_1.Origin; } }));\nvar ExtensionMessageTarget_1 = __webpack_require__(/*! ./types/ExtensionMessageTarget */ "./packages/beacon-types/dist/cjs/types/ExtensionMessageTarget.js");\nObject.defineProperty(exports, "ExtensionMessageTarget", ({ enumerable: true, get: function () { return ExtensionMessageTarget_1.ExtensionMessageTarget; } }));\nvar BeaconErrorType_1 = __webpack_require__(/*! ./types/BeaconErrorType */ "./packages/beacon-types/dist/cjs/types/BeaconErrorType.js");\nObject.defineProperty(exports, "BeaconErrorType", ({ enumerable: true, get: function () { return BeaconErrorType_1.BeaconErrorType; } }));\nvar TransportStatus_1 = __webpack_require__(/*! ./types/transport/TransportStatus */ "./packages/beacon-types/dist/cjs/types/transport/TransportStatus.js");\nObject.defineProperty(exports, "TransportStatus", ({ enumerable: true, get: function () { return TransportStatus_1.TransportStatus; } }));\nvar TransportType_1 = __webpack_require__(/*! ./types/transport/TransportType */ "./packages/beacon-types/dist/cjs/types/transport/TransportType.js");\nObject.defineProperty(exports, "TransportType", ({ enumerable: true, get: function () { return TransportType_1.TransportType; } }));\nvar Storage_1 = __webpack_require__(/*! ./types/storage/Storage */ "./packages/beacon-types/dist/cjs/types/storage/Storage.js");\nObject.defineProperty(exports, "Storage", ({ enumerable: true, get: function () { return Storage_1.Storage; } }));\nvar StorageKey_1 = __webpack_require__(/*! ./types/storage/StorageKey */ "./packages/beacon-types/dist/cjs/types/storage/StorageKey.js");\nObject.defineProperty(exports, "StorageKey", ({ enumerable: true, get: function () { return StorageKey_1.StorageKey; } }));\nvar StorageKeyReturnDefaults_1 = __webpack_require__(/*! ./types/storage/StorageKeyReturnDefaults */ "./packages/beacon-types/dist/cjs/types/storage/StorageKeyReturnDefaults.js");\nObject.defineProperty(exports, "defaultValues", ({ enumerable: true, get: function () { return StorageKeyReturnDefaults_1.defaultValues; } }));\nvar SigningType_1 = __webpack_require__(/*! ./types/beacon/SigningType */ "./packages/beacon-types/dist/cjs/types/beacon/SigningType.js");\nObject.defineProperty(exports, "SigningType", ({ enumerable: true, get: function () { return SigningType_1.SigningType; } }));\nvar ColorMode_1 = __webpack_require__(/*! ./types/ColorMode */ "./packages/beacon-types/dist/cjs/types/ColorMode.js");\nObject.defineProperty(exports, "ColorMode", ({ enumerable: true, get: function () { return ColorMode_1.ColorMode; } }));\n__exportStar(__webpack_require__(/*! ./types/AnalyticsInterface */ "./packages/beacon-types/dist/cjs/types/AnalyticsInterface.js"), exports);\n__exportStar(__webpack_require__(/*! ./types/beaconV3/PermissionRequest */ "./packages/beacon-types/dist/cjs/types/beaconV3/PermissionRequest.js"), exports);\n__exportStar(__webpack_require__(/*! ./types/ui */ "./packages/beacon-types/dist/cjs/types/ui.js"), exports);\n__exportStar(__webpack_require__(/*! ./types/Regions */ "./packages/beacon-types/dist/cjs/types/Regions.js"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-types/dist/cjs/index.js?')},"./packages/beacon-types/dist/cjs/types/AnalyticsInterface.js":(__unused_webpack_module,exports)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\n//# sourceMappingURL=AnalyticsInterface.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-types/dist/cjs/types/AnalyticsInterface.js?')},"./packages/beacon-types/dist/cjs/types/BeaconErrorType.js":(__unused_webpack_module,exports)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.BeaconErrorType = void 0;\nvar BeaconErrorType;\n(function (BeaconErrorType) {\n /**\n * {@link BroadcastBeaconError}\n *\n * Will be returned if the user chooses that the transaction is broadcast but there is an error (eg. node not available).\n *\n * Returned by: Broadcast | Operation Request\n */\n BeaconErrorType["BROADCAST_ERROR"] = "BROADCAST_ERROR";\n /**\n * {@link NetworkNotSupportedBeaconError}\n *\n * Will be returned if the selected network is not supported by the wallet / extension.\n *\n * Returned by: Permission\n */\n BeaconErrorType["NETWORK_NOT_SUPPORTED"] = "NETWORK_NOT_SUPPORTED";\n /**\n * {@link NoAddressBeaconError}\n *\n * Will be returned if there is no address present for the protocol / network requested.\n *\n * Returned by: Permission\n */\n BeaconErrorType["NO_ADDRESS_ERROR"] = "NO_ADDRESS_ERROR";\n /**\n * {@link NoPrivateKeyBeaconError}\n *\n * Will be returned if the private key matching the sourceAddress could not be found.\n *\n * Returned by: Sign\n */\n BeaconErrorType["NO_PRIVATE_KEY_FOUND_ERROR"] = "NO_PRIVATE_KEY_FOUND_ERROR";\n /**\n * {@link NotGrantedBeaconError}\n *\n * Will be returned if the signature was blocked // (Not needed?) Permission: Will be returned if the permissions requested by the App were not granted.\n *\n * Returned by: Sign\n */\n BeaconErrorType["NOT_GRANTED_ERROR"] = "NOT_GRANTED_ERROR";\n /**\n * {@link ParametersInvalidBeaconError}\n *\n * Will be returned if any of the parameters are invalid.\n *\n * Returned by: Operation Request\n */\n BeaconErrorType["PARAMETERS_INVALID_ERROR"] = "PARAMETERS_INVALID_ERROR";\n /**\n * {@link TooManyOperationsBeaconError}\n *\n * Will be returned if too many operations were in the request and they were not able to fit into a single operation group.\n *\n * Returned by: Operation Request\n */\n BeaconErrorType["TOO_MANY_OPERATIONS"] = "TOO_MANY_OPERATIONS";\n /**\n * {@link TransactionInvalidBeaconError}\n *\n * Will be returned if the transaction is not parsable or is rejected by the node.\n *\n * Returned by: Broadcast\n */\n BeaconErrorType["TRANSACTION_INVALID_ERROR"] = "TRANSACTION_INVALID_ERROR";\n /**\n * {@link SignatureTypeNotSupportedBeaconError}\n *\n * Will be returned if the signing type is not supported.\n *\n * Returned by: Sign\n */\n BeaconErrorType["SIGNATURE_TYPE_NOT_SUPPORTED"] = "SIGNATURE_TYPE_NOT_SUPPORTED";\n // TODO: ENCRYPTION\n // /**\n // * {@link EncryptionTypeNotSupportedBeaconError}\n // *\n // * Will be returned if the encryption type is not supported.\n // *\n // * Returned by: Encrypt\n // */\n // ENCRYPTION_TYPE_NOT_SUPPORTED = \'ENCRYPTION_TYPE_NOT_SUPPORTED\',\n /**\n * {@link AbortedBeaconError}\n *\n * Will be returned if the request was aborted by the user or the wallet.\n *\n * Returned by: Permission | Operation Request | Sign Request | Broadcast\n */\n BeaconErrorType["ABORTED_ERROR"] = "ABORTED_ERROR";\n /**\n * {@link UnknownBeaconError}\n *\n * Used as a wildcard if an unexpected error occured.\n *\n * Returned by: Permission | Operation Request | Sign Request | Broadcast\n */\n BeaconErrorType["UNKNOWN_ERROR"] = "UNKNOWN_ERROR";\n})(BeaconErrorType = exports.BeaconErrorType || (exports.BeaconErrorType = {}));\n//# sourceMappingURL=BeaconErrorType.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-types/dist/cjs/types/BeaconErrorType.js?')},"./packages/beacon-types/dist/cjs/types/ColorMode.js":(__unused_webpack_module,exports)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.ColorMode = void 0;\nvar ColorMode;\n(function (ColorMode) {\n ColorMode["LIGHT"] = "light";\n ColorMode["DARK"] = "dark";\n})(ColorMode = exports.ColorMode || (exports.ColorMode = {}));\n//# sourceMappingURL=ColorMode.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-types/dist/cjs/types/ColorMode.js?')},"./packages/beacon-types/dist/cjs/types/ExtensionMessageTarget.js":(__unused_webpack_module,exports)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.ExtensionMessageTarget = void 0;\n/**\n * @internalapi\n */\nvar ExtensionMessageTarget;\n(function (ExtensionMessageTarget) {\n ExtensionMessageTarget["BACKGROUND"] = "toBackground";\n ExtensionMessageTarget["PAGE"] = "toPage";\n ExtensionMessageTarget["EXTENSION"] = "toExtension";\n})(ExtensionMessageTarget = exports.ExtensionMessageTarget || (exports.ExtensionMessageTarget = {}));\n//# sourceMappingURL=ExtensionMessageTarget.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-types/dist/cjs/types/ExtensionMessageTarget.js?')},"./packages/beacon-types/dist/cjs/types/Origin.js":(__unused_webpack_module,exports)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.Origin = void 0;\n/**\n * @internalapi\n */\nvar Origin;\n(function (Origin) {\n Origin["WEBSITE"] = "website";\n Origin["EXTENSION"] = "extension";\n Origin["P2P"] = "p2p";\n Origin["WALLETCONNECT"] = "walletconnect";\n})(Origin = exports.Origin || (exports.Origin = {}));\n//# sourceMappingURL=Origin.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-types/dist/cjs/types/Origin.js?')},"./packages/beacon-types/dist/cjs/types/Regions.js":(__unused_webpack_module,exports)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.Regions = void 0;\n/**\n * Geographic region where a beacon node is located. This list can be changed in the future to be more specific, but for now it should cover most general areas.\n */\nvar Regions;\n(function (Regions) {\n Regions["EUROPE_EAST"] = "europe-east";\n Regions["EUROPE_WEST"] = "europe-west";\n Regions["NORTH_AMERICA_EAST"] = "north-america-east";\n Regions["NORTH_AMERICA_WEST"] = "north-america-west";\n Regions["CENTRAL_AMERICA"] = "central-america";\n Regions["SOUTH_AMERICA"] = "south-america";\n Regions["ASIA_EAST"] = "asia-east";\n Regions["ASIA_WEST"] = "asia-west";\n Regions["AFRICA"] = "africa";\n Regions["AUSTRALIA"] = "australia";\n})(Regions = exports.Regions || (exports.Regions = {}));\n//# sourceMappingURL=Regions.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-types/dist/cjs/types/Regions.js?')},"./packages/beacon-types/dist/cjs/types/beacon/BeaconMessageType.js":(__unused_webpack_module,exports)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.BeaconMessageType = void 0;\nvar BeaconMessageType;\n(function (BeaconMessageType) {\n BeaconMessageType["BlockchainRequest"] = "blockchain_request";\n BeaconMessageType["PermissionRequest"] = "permission_request";\n BeaconMessageType["SignPayloadRequest"] = "sign_payload_request";\n // EncryptPayloadRequest = \'encrypt_payload_request\',\n BeaconMessageType["OperationRequest"] = "operation_request";\n BeaconMessageType["BroadcastRequest"] = "broadcast_request";\n BeaconMessageType["ChangeAccountRequest"] = "change_account_request";\n BeaconMessageType["BlockchainResponse"] = "blockchain_response";\n BeaconMessageType["PermissionResponse"] = "permission_response";\n BeaconMessageType["SignPayloadResponse"] = "sign_payload_response";\n // EncryptPayloadResponse = \'encrypt_payload_response\',\n BeaconMessageType["OperationResponse"] = "operation_response";\n BeaconMessageType["BroadcastResponse"] = "broadcast_response";\n BeaconMessageType["Acknowledge"] = "acknowledge";\n BeaconMessageType["Disconnect"] = "disconnect";\n BeaconMessageType["Error"] = "error";\n})(BeaconMessageType = exports.BeaconMessageType || (exports.BeaconMessageType = {}));\n//# sourceMappingURL=BeaconMessageType.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-types/dist/cjs/types/beacon/BeaconMessageType.js?')},"./packages/beacon-types/dist/cjs/types/beacon/NetworkType.js":(__unused_webpack_module,exports)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.NetworkType = void 0;\nvar NetworkType;\n(function (NetworkType) {\n NetworkType["MAINNET"] = "mainnet";\n NetworkType["GHOSTNET"] = "ghostnet";\n NetworkType["MONDAYNET"] = "mondaynet";\n NetworkType["DAILYNET"] = "dailynet";\n NetworkType["DELPHINET"] = "delphinet";\n NetworkType["EDONET"] = "edonet";\n NetworkType["FLORENCENET"] = "florencenet";\n NetworkType["GRANADANET"] = "granadanet";\n NetworkType["HANGZHOUNET"] = "hangzhounet";\n NetworkType["ITHACANET"] = "ithacanet";\n NetworkType["JAKARTANET"] = "jakartanet";\n NetworkType["KATHMANDUNET"] = "kathmandunet";\n NetworkType["LIMANET"] = "limanet";\n NetworkType["MUMBAINET"] = "mumbainet";\n NetworkType["NAIROBINET"] = "nairobinet";\n NetworkType["OXFORDNET"] = "oxfordnet";\n NetworkType["CUSTOM"] = "custom";\n})(NetworkType = exports.NetworkType || (exports.NetworkType = {}));\n//# sourceMappingURL=NetworkType.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-types/dist/cjs/types/beacon/NetworkType.js?')},"./packages/beacon-types/dist/cjs/types/beacon/PermissionScope.js":(__unused_webpack_module,exports)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.PermissionScope = void 0;\nvar PermissionScope;\n(function (PermissionScope) {\n PermissionScope["SIGN"] = "sign";\n PermissionScope["OPERATION_REQUEST"] = "operation_request";\n PermissionScope["ENCRYPT"] = "encrypt";\n PermissionScope["NOTIFICATION"] = "notification";\n PermissionScope["THRESHOLD"] = "threshold"; // Allows the DApp to sign transactions below a certain threshold. This is currently not fully defined and unused\n})(PermissionScope = exports.PermissionScope || (exports.PermissionScope = {}));\n//# sourceMappingURL=PermissionScope.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-types/dist/cjs/types/beacon/PermissionScope.js?')},"./packages/beacon-types/dist/cjs/types/beacon/SigningType.js":(__unused_webpack_module,exports)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.SigningType = void 0;\nvar SigningType;\n(function (SigningType) {\n SigningType["RAW"] = "raw";\n SigningType["OPERATION"] = "operation";\n SigningType["MICHELINE"] = "micheline"; // "05" prefix\n})(SigningType = exports.SigningType || (exports.SigningType = {}));\n//# sourceMappingURL=SigningType.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-types/dist/cjs/types/beacon/SigningType.js?')},"./packages/beacon-types/dist/cjs/types/beaconV3/PermissionRequest.js":(__unused_webpack_module,exports)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\n//# sourceMappingURL=PermissionRequest.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-types/dist/cjs/types/beaconV3/PermissionRequest.js?')},"./packages/beacon-types/dist/cjs/types/storage/Storage.js":(__unused_webpack_module,exports)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.Storage = void 0;\n/**\n * @internalapi\n *\n * The storage used in the SDK\n */\nvar Storage = /** @class */ (function () {\n function Storage() {\n }\n /**\n * Returns a promise that resolves to true if the storage option is available on this platform.\n */\n Storage.isSupported = function () {\n return Promise.resolve(false);\n };\n return Storage;\n}());\nexports.Storage = Storage;\n//# sourceMappingURL=Storage.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-types/dist/cjs/types/storage/Storage.js?')},"./packages/beacon-types/dist/cjs/types/storage/StorageKey.js":(__unused_webpack_module,exports)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.StorageKey = void 0;\n/**\n * @internalapi\n */\nvar StorageKey;\n(function (StorageKey) {\n StorageKey["TRANSPORT_P2P_PEERS_DAPP"] = "beacon:communication-peers-dapp";\n StorageKey["TRANSPORT_P2P_PEERS_WALLET"] = "beacon:communication-peers-wallet";\n StorageKey["TRANSPORT_POSTMESSAGE_PEERS_DAPP"] = "beacon:postmessage-peers-dapp";\n StorageKey["TRANSPORT_POSTMESSAGE_PEERS_WALLET"] = "beacon:postmessage-peers-wallet";\n StorageKey["TRANSPORT_WALLETCONNECT_PEERS_DAPP"] = "beacon:walletconnect-peers-dapp";\n StorageKey["LAST_SELECTED_WALLET"] = "beacon:last-selected-wallet";\n StorageKey["ACCOUNTS"] = "beacon:accounts";\n StorageKey["ACTIVE_ACCOUNT"] = "beacon:active-account";\n StorageKey["PUSH_TOKENS"] = "beacon:push-tokens";\n StorageKey["BEACON_SDK_SECRET_SEED"] = "beacon:sdk-secret-seed";\n StorageKey["APP_METADATA_LIST"] = "beacon:app-metadata-list";\n StorageKey["PERMISSION_LIST"] = "beacon:permissions";\n StorageKey["BEACON_SDK_VERSION"] = "beacon:sdk_version";\n StorageKey["MATRIX_PRESERVED_STATE"] = "beacon:sdk-matrix-preserved-state";\n StorageKey["MATRIX_PEER_ROOM_IDS"] = "beacon:matrix-peer-rooms";\n StorageKey["MATRIX_SELECTED_NODE"] = "beacon:matrix-selected-node";\n StorageKey["MULTI_NODE_SETUP_DONE"] = "beacon:multi-node-setup";\n})(StorageKey = exports.StorageKey || (exports.StorageKey = {}));\n//# sourceMappingURL=StorageKey.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-types/dist/cjs/types/storage/StorageKey.js?')},"./packages/beacon-types/dist/cjs/types/storage/StorageKeyReturnDefaults.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\nvar _a;\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.defaultValues = void 0;\nvar __1 = __webpack_require__(/*! ../.. */ "./packages/beacon-types/dist/cjs/index.js");\n/**\n * @internalapi\n */\nexports.defaultValues = (_a = {},\n _a[__1.StorageKey.TRANSPORT_P2P_PEERS_DAPP] = [],\n _a[__1.StorageKey.TRANSPORT_P2P_PEERS_WALLET] = [],\n _a[__1.StorageKey.TRANSPORT_POSTMESSAGE_PEERS_DAPP] = [],\n _a[__1.StorageKey.TRANSPORT_POSTMESSAGE_PEERS_WALLET] = [],\n _a[__1.StorageKey.TRANSPORT_WALLETCONNECT_PEERS_DAPP] = [],\n _a[__1.StorageKey.LAST_SELECTED_WALLET] = undefined,\n _a[__1.StorageKey.ACCOUNTS] = [],\n _a[__1.StorageKey.ACTIVE_ACCOUNT] = undefined,\n _a[__1.StorageKey.PUSH_TOKENS] = [],\n _a[__1.StorageKey.BEACON_SDK_SECRET_SEED] = undefined,\n _a[__1.StorageKey.APP_METADATA_LIST] = [],\n _a[__1.StorageKey.PERMISSION_LIST] = [],\n _a[__1.StorageKey.BEACON_SDK_VERSION] = undefined,\n _a[__1.StorageKey.MATRIX_PRESERVED_STATE] = {},\n _a[__1.StorageKey.MATRIX_PEER_ROOM_IDS] = {},\n _a[__1.StorageKey.MATRIX_SELECTED_NODE] = undefined,\n _a[__1.StorageKey.MULTI_NODE_SETUP_DONE] = undefined,\n _a);\n//# sourceMappingURL=StorageKeyReturnDefaults.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-types/dist/cjs/types/storage/StorageKeyReturnDefaults.js?')},"./packages/beacon-types/dist/cjs/types/tezos/OperationTypes.js":(__unused_webpack_module,exports)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.TezosOperationType = void 0;\n/**\n * @publicapi\n * @category Tezos\n */\nvar TezosOperationType;\n(function (TezosOperationType) {\n TezosOperationType["ENDORSEMENT"] = "endorsement";\n TezosOperationType["SEED_NONCE_REVELATION"] = "seed_nonce_revelation";\n TezosOperationType["DOUBLE_ENDORSEMENT_EVIDENCE"] = "double_endorsement_evidence";\n TezosOperationType["DOUBLE_BAKING_EVIDENCE"] = "double_baking_evidence";\n TezosOperationType["ACTIVATE_ACCOUNT"] = "activate_account";\n TezosOperationType["PROPOSALS"] = "proposals";\n TezosOperationType["BALLOT"] = "ballot";\n TezosOperationType["REVEAL"] = "reveal";\n TezosOperationType["TRANSACTION"] = "transaction";\n TezosOperationType["ORIGINATION"] = "origination";\n TezosOperationType["DELEGATION"] = "delegation";\n})(TezosOperationType = exports.TezosOperationType || (exports.TezosOperationType = {}));\n//# sourceMappingURL=OperationTypes.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-types/dist/cjs/types/tezos/OperationTypes.js?')},"./packages/beacon-types/dist/cjs/types/transport/TransportStatus.js":(__unused_webpack_module,exports)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.TransportStatus = void 0;\nvar TransportStatus;\n(function (TransportStatus) {\n TransportStatus["NOT_CONNECTED"] = "NOT_CONNECTED";\n TransportStatus["CONNECTING"] = "CONNECTING";\n TransportStatus["CONNECTED"] = "CONNECTED";\n})(TransportStatus = exports.TransportStatus || (exports.TransportStatus = {}));\n//# sourceMappingURL=TransportStatus.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-types/dist/cjs/types/transport/TransportStatus.js?')},"./packages/beacon-types/dist/cjs/types/transport/TransportType.js":(__unused_webpack_module,exports)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.TransportType = void 0;\n/**\n * @internalapi\n */\nvar TransportType;\n(function (TransportType) {\n TransportType["CHROME_MESSAGE"] = "chrome_message";\n TransportType["WALLETCONNECT"] = "walletconnect";\n TransportType["POST_MESSAGE"] = "post_message";\n TransportType["LEDGER"] = "ledger";\n TransportType["P2P"] = "p2p";\n})(TransportType = exports.TransportType || (exports.TransportType = {}));\n//# sourceMappingURL=TransportType.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-types/dist/cjs/types/transport/TransportType.js?')},"./packages/beacon-types/dist/cjs/types/ui.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nvar NetworkType_1 = __webpack_require__(/*! ./beacon/NetworkType */ "./packages/beacon-types/dist/cjs/types/beacon/NetworkType.js");\n//# sourceMappingURL=ui.js.map\n\n//# sourceURL=webpack://beacon/./packages/beacon-types/dist/cjs/types/ui.js?')},"./packages/beacon-ui/dist/cjs/index.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\n\nvar web = __webpack_require__(/*! solid-js/web */ "./node_modules/solid-js/web/dist/dev.cjs");\nvar solidJs = __webpack_require__(/*! solid-js */ "./node_modules/solid-js/dist/dev.cjs");\nvar beaconTypes = __webpack_require__(/*! @airgap/beacon-types */ "./packages/beacon-types/dist/cjs/index.js");\nif (web.isServer) {\n web.template = () => {\n return { cloneNode: () => {} }\n }\n }\nvar QRCode = __webpack_require__(/*! qrcode-svg */ "./node_modules/qrcode-svg/lib/qrcode.js");\nvar beaconCore = __webpack_require__(/*! @airgap/beacon-core */ "./packages/beacon-core/dist/cjs/index.js");\nvar beaconTransportPostmessage = __webpack_require__(/*! @airgap/beacon-transport-postmessage */ "./packages/beacon-transport-postmessage/dist/cjs/index.js");\nvar beaconUtils = __webpack_require__(/*! @airgap/beacon-utils */ "./packages/beacon-utils/dist/cjs/index.js");\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\ntypeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;\r\n};\n\nconst extensionList = [{\n "key": "spire_chrome",\n "id": "gpfndedineagiepkpinficbcbbgjoenn",\n "name": "Spire",\n "shortName": "Spire",\n "color": "",\n "logo": "data:image/png;base64,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",\n "link": "https://spirewallet.com/"\n}, {\n "key": "temple_chrome",\n "id": "ookjlbkiijinhpmnjffcofjonbfbgaoc",\n "name": "Temple Wallet Chrome",\n "shortName": "Temple",\n "color": "",\n "logo": "data:image/png;base64,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",\n "link": "https://templewallet.com/"\n}, {\n "key": "temple_firefox",\n "id": "{34ac229e-1cf5-4e4c-8a77-988155c4360f}",\n "name": "Temple Wallet Firefox",\n "shortName": "Temple",\n "color": "",\n "logo": "data:image/png;base64,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",\n "link": "https://templewallet.com/"\n}];\nconst desktopList = [{\n "key": "infinity_wallet",\n "name": "Infinity Wallet",\n "shortName": "Infinity Wallet",\n "color": "rgb(52, 147, 218)",\n "logo": "data:image/png;base64,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",\n "deepLink": "infinity://",\n "downloadLink": "https://infinitywallet.io/download"\n}, {\n "key": "umami_desktop",\n "name": "Umami",\n "shortName": "Umami",\n "color": "",\n "logo": "data:image/png;base64,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",\n "deepLink": "umami://",\n "downloadLink": "https://umamiwallet.com/#download"\n}, {\n "key": "atomex_desktop",\n "name": "Atomex Wallet",\n "shortName": "Atomex",\n "color": "",\n "logo": "data:image/png;base64,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",\n "deepLink": "atomex://",\n "downloadLink": "https://atomex.me/"\n}];\nconst webList = [{\n "key": "metamask_tezos_web",\n "name": "MetaMask",\n "shortName": "MetaMask",\n "color": "",\n "logo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAz3UlEQVR4AezBCaBedX3g/e/v/z/n2e69z812c7OSkI1NwAUrKIR9sUgRkKqtFWu3eduZztQNp2/t0Hkt1aBdxtqZ2tbXZdqRRS3VsEVECCASUCHs2cie3C13e+6znHP+vyFUMMQk3CT3Oec8N+fzIZPJZDKZTCaTyWQymUwmk8lkMplMJpPJZDKZTCaTyWQymUwmk8lkMplMJpPJZDKZTCaTyWQymUwmk8lkMplMJpPJZDKZTCaTyWQymUwmk8lkMplMJpPJZDKZTCaTyUw637quW8hkJqlbrj2Fv/+lLiFFhJT4k3NnUszzjTd02aHTu/2vWnU/nP9X25RMpsUNva3dDC3vPPfhLXxo3e7GWETb/3PDD14kDTxSIlS6h6pc89CWyNtT099ZvtCu2/l7s77mOsz/mfO5HRuFTKZ19NzQRW0st0yF9/c0+OD310WLNvQ7QEZUax8DKqSAkBLXnzPz9xT+Fz8zvSRcusQyo00apupWm7z7Smi8f5u3YvswmUxK9f7XaVOqQeEqY/U6p+btu0bUX7U+YqimvEKRa29avfs2UkBIgRveModqMVylwkXsw7dwzgLLG7oNP7PHSvSvkdqv7Bmd+uCpf/eUI5NJ2MZPLDQdduTcsTD/IRG5EuhU4Kc7HD/aGhE69nfLitU97yUFhBT45Nkz5zhhA1DgAJbNMJx/vCXvsa8NqvJ1Y9w/ezZc331jD5lMXDZ/dBb5MDqhns99wKAfUGQhP1MN4N4NIS/uUQ5iSCwLPvuDniESJqTAJ8/u/l0n+vccwtSicMkSS3e7sJ9ARR4yql8T5/519ud27hEymYn39A2n0F4ZmpYLGlcHOf+DwFmAxz62DyvfWx8xUlcORZVfvenBnltJmJCwPzprHr5trEK4iNfhGXj7cZbTZxuEXySRDtmR6HY8vlYv53+w4DNbIjKZo7T5+uOsOr0Aw3VG3RVAmf2owuM7HGu2RkTKeNy6YnXPr5IwIWGfOGfWbHAbgQLjtHia4cLFloLHwQkv2sHo69op/zJ7087n5FYymXHbdMNC7Fh4siq/LqIfAI7jICoNuHdDyJZB5TAMY9xxK+7vGyJBQsKuP6f7dxX9ew5TOS9cstQyp0N4HaE4fUQ8/aqLzLfn3bS9n0zmILZcP2cGzlyN0Q+hvBXwOIQtg8q9GyIqDeVwKbzvptU9N5MgIWHXn9N9j6IXcwSsgbPmW9402yDCeAw7Nd+1En11sDLlvlO++ExA5pi38b/M8DuKekE1KnwIuBzo4HU4hTXbIh7f7nDKEZJvrli9+z0kSEjQR8+f22XDYAfgcRQWThUuWuxR8jkcWxD+BeVrgfrPHn/Ti2SOHds/MQdjwlMC5/+GoL+myHzGaaSufG99xPZh5SiNCdL92dW7R0mIkKCPL+/+HVH9EhOgPSdcssQyr1M4TBHCGr8n+Jorm9tm/c2uXiEzGem1sHX+vC4/17g2cP4HgTMAy2F4cY/j3g0R1YCJ8v4Vq3u+QUKEhPzpaSdS6xy8G9wlTBAr8NZ5ljPmGoxw+Byjdiy6Q3z9apDzvzf/pm0NMi1v8/XH5WwUXCxOr4useSci7RymyMGPtkb8ZKdDlYn0LQ93zY2r+0iCR0Lq7cPd4JYzgSKFR7ZGbB92XLLE0pYTDouhPWq3vwr8qqDbdn5k1v+JfPv1ucXta+UGMi1k3X9aQq5YO01FfkM0er8zZi6GIzJcV+5ZF7FrRGmCiyNkKrCHBAgJ+dg7pv22Md4/0CQlHy5e4rFginCUnKA/ds58VYzeOm/F9t1kUmvL9XO6ceZaRK8D3gwYjsKGfsd9GyNqIc306ytW9/wLCRAS8Ltvgc5S192CXEITGYE3zzG8bb7FChOh4py525roK2O50qqln15fI5O4F//kuIJpRBcjfAjlUqCNoxQ6eHhzxNrdDlWaSuFfb1rdcxUJEBLwR2/vnOXb/EagSAzmloVLllg68sIE2qHIzbm+xlfdTPPE7M/sIhOf7R+Zg8mFpwfOvw54LzCHCTJYVe5ZH9EzqsRkBDULVzy4a4CYCQn4+NkzflvE/AMxKvpw4SLLommGCabAT/2+4Gs6xdzc/Ze7dgqZZtAbYGt17mxfgvcGkfdBRN4ICBPo+T7HAxsj6hFx+8CK1T3/TMyEBFx/zoy7FHMpMROBN84yvP04izVMPEfV1Nw9Nh99rWFyd86/aVuVzFF78RNzilbkUsFd59RcApSYYEEED26OeGa3Q0nE7StW97ybmAkx++PlHTNCLW4HciRkVodw6RJLZ0Foot1Wolsi531111D342d86XEy46fXwtbj577JhtF1kWffC8yiSQbGlHvWRfSNKQmqosxe8WDPEDESYvbRc2f8lnXmH0lY3oMLFlmWTjfE4ClFvmJwN89dsWMbmYPacv38uar6q4J+CDiNJnumx7H6xYggInnCB1c80PN1YiTE6IO/kqNrqHyndeYyUkCAU2cZ3rHA4hviUFORe0X1K9a5O2d/bmeFDBs/sqDN88NL1clviuhFQIEma0TwwKaI53odKfJv1kZX/sUP+omLR4ymjbTPtM6cR0oo8OQux64R5dKllqlFockKono5cLlz0rP9E3O+6fWFX9Fp8tisz+12HEO2/tE8Ud+9BcyHIHwPSreIEofeirJqXcRAVUmZCyNnpwEDxESI0cfeMf3Dxth/IoVyFs473nJilyF2wjNeb/h1pvEv3Zt3b5FbmZT0BthemT3Pibwfkd9AOZUYKfD0LseDmyNCR1pdt2J1z9eIiRCTG4DqWV13qieXkVICnDTTsHyhJWdJQsMXva+tbJ5AUCYTRSpj7tR6IBcAeWJWC+H+jRHr+h0p990Vq3uuICYeMamdOmWmWllOiinwTI9j96hy2VLL9JIQsxxWLjXopSiTkJCE3aPKPesihmpKCzj/E+fMnLFidU8fMTDERAv2XQglWkD/mHLL2pCnexxKvMIQnGPSUYVGSKxU4ac7Hd96OmSoprSINuByYmKIi2+upYUEDu7dEHHPuoh6SGwUaARMOvUAVIlNNYA7Xoh48MWIyNFSgkivJSaGGPz+CeUZauU8WtDzfY5bngrpqShxqQdMOvWA2OwYVm5ZG7JpwNGKPCsXXr6sPJ0YGGJgp+auAAq0qD1V5banQp7Y5VCaL4ogipg0IgdBSNOpwuPbHbc/EzJSV1qVQGHR9PwVxMDQZCd15XHKe2hxoYP7N0Xc+UJELaTp6gGTRj2g6SoN+M5zIT/cEhEpLc85vfakrhLN5tFk9VDJe1Jikljf7+itKJcssczuEJqlEUCpwKRQb9BUW4eUe9dHjDaUySLvSakeKs1maLKNexp4RtYwiQzVlG89E/LjHQ6lOZyDIKTlBSFEjqZQhR9tdXzn2ZDRhjKZeEbWbNxTpdk84iCsQZlUIgcPbo7YPuy4cLFHyWfC1Rvge7S0ekBTjDZg1bqQ7cPKZKSwhhgYYiDI44BjEtq0R7l5bci2YWWiBSGo0rJUoREw4V7co9zyZMD2YWWScqg8TgwMMejtGN4E9DJJjdSVf30mZM02hyoTRhUaAS2rEYJTJoxTeHhLxMrnQ8YCJrPenB3eRAwMMfjyyqoGkT7GJOYUfrg14vZnQyoNZaI0AlpWvcGEGa4p33465MfbHapMao1IH/vz+6tKDAwx8a2s4RiwZUj5xtqILYPKRAhCcI6W4xwEIRNi44DjlrUhO0eUY0HOyhpiYoiNruEYUWko//ZcyCNbI5xy1BoBLacegHJ0IgerX4y484WIWsgxQ9E1xMQjJiL2p6ouAHyOAU7h0W2O7cPKJUssHXnhSNUDKORpKfWAozJYU+5ZF9EzqhxjAtT8lJgYYrKnNLpLYSvHmO3DyjfWhmza4zhSUQRhRMsIIwgjjtgLfY5b14b0jCrHoK2+qewiJoaYfOmuURdE+jjHoGoAK5+PeHBzRKQckUZAy6gHHJHAwQ82RqxaF1EPOSY1In38xgdGHTExxChnZQ3HKKfw4x2Obz4dMlRTDlcjAFVSTxXqAYdtoKp886mQp3Y7lGNXzsoaYmSI1xqOcbtGlJvXhqzvdxwO5yCMSL0gBOcYNwWe7XXctjakr6Ic6xR9lBgZYiRingAaHONqIdy5LuIHmyJCx7jVG6RePWDcggjuXR/x/fURjYgMNFDzJDEyxGi4MDaooi+QQRWe3OW47amQPVVlPIIQVEktp9AIGZe+MeXWtSHP9TqUzL/TFzxTHSRGhhj9z3uGNQh5jMyreirKzWtDnut1vB5VaASkViMAVQ5Jgad2O25bGzJQVTI/1wh57C8eGFZiZIhZzsoaMq/RiGDV+oh7N0QEEYdUD0itWoNDqoewal3EDzZGhI7MfnKerCFmHnETfQwVMq+lwNM9jt2jyqVLLdNLwoGEITgHxpAqkYMw4qB2jyqr1kUM1pTMgSm6hpgZYmbxngRqZA6ob0y55amQp3scyoHVA1Kn3uCAVOGJnY5vPR0yWFMyB1VTZ9cSM0PM/uKBnTUnupbMQQUR3LshYtX6iHrEL2g0SJ16wC+ohnDXCxGrX4yIHJlD0rWfe2hXjZgZEhCErCHzup7rddy6NqS3ouwrchBGpEYQQuR4jV0jyq1PhmwYcGReXz1kDQkwJCBv5VEy4zJQVW59KuTJXQ5VXtVokBq1Bq9yCj/e4fjW0yHDdSUzPnlPHiUBHkkQfRwVBYTM6wod/GBTxPZh5fxFloIHjQCKBRAhUarQCHnZWAD3bojYvMeROSyq6OMkwCMBBrve4fYA08iM27p+R09FuWyppbtdCEPwfRJVD0AVtg8pq9ZHjDaUzGHbo86uJwGGBHzmgV01J/okmcM2VFNuezrkJzsctQaJqzbg0W2O258NGW0omSOhT37uoV01EmBISBCwhswRiRys3hzx7adDGiGJGWvAN9eGPLo1wimZI1QLWUNCDAkpeLKGzFHZOKCs3elIyuPbHNuGlMzRKXiyhoQYEqKijwFK5qj0jipJ6R1VMkdNVfQxEmJIiMFuA3aQOWJLpxveNt+SlOULLAunCJmjsoPIbCMhhoR85oFdgRN9gsxhE4G3zjVcutTiCYnJWbj8RI/TZxkyR0qfuOmh3QEJMSQoCHiUzGGxBi5abDnrOIsRUCUxqmAFzj3ecu7xFiNkDlM95FES5JGgnCdryIxbyYd3LvOYWxZeoUpilJ87fZahMy/cvT6kHpIZp5yVNSTIkCAj0QCZcZleEt7zBo+5ZWFfSjJUQZXXWDhVuOYUj86CkBkf04j6SZAlATect5Azj7PvU7X/AhTJHNJxU4RfOdGjPSccSCEHIsSuWucXlHxh2QzDzhFltEHm9Xjm6uVTc5su2l175gfEzxKzj53T3RZq8LeKuREokjmkU7sNly718C0HVcyDCLFSoFbngHwLJ8wwDNehf0zJHFJR8/aaytzSjHMXFu57aEs1JEaWGF1/TtdCgVXA5YCQOSgjcPZCy5nHWYxwSIU8iBArp1BvcFBGYPE0gwA7RpTMIYk18jbEXHTW8cXvPLx5rEJMDDEKPT8EAjKHlLNw+QmWN802CK9Pldip8rpE4G3zLZcssXiGzOsQpW6dRsTIEqMfvjgyfN7xpa+P1HVazspbACHzGuW8cOVJHnPLhvHK58AYYhU5aASMy4ySMK/TsHnQEURkflEEfE5FPrRidW+FGFlitnrzWFiL9M5FM/31RuVCoEDmZbM6hCtPskwtCocj54M1xCqKoBEwbh15YfE0w/ZhZSwg8zMq9JnAfQAxf3vTg7sdMRMS9Mnl009W9W5R9BSOcUunGy5aYvENh629BDmfWNUbUKly2Ooh3L0u5MVB5ZinsiYy7n2ff6B3IwmxJOjBzdXedyzo+BroYuANHINE4JfmGc473mINR8T3wLPEKowgCDlsnoGlMwz1EHaPKscqZ/RLfmDeu+Khnl4SZEiYFeYCJ3IM8gxcvNhy5nyLCEdMldipcsSMwPLjLecdbzHCMUmcnBbmojkkzJKQPz3PZ3ZH+YpywXwHOJ5jTMmHd53osWia4Wh5FnyPWAUhhBFHTIDudmFmm+HFQUfkOKYIzAP5tbPndT514XBt/f11RxIsCfjUufO9wJn/Vi74XwTaOMZMLwlXnezR1SZMBM+C7xOrRgBRxFGbUhQWTjVsGVLqIceaNox7b1T2zZnHT33oh1tHHDGzJOBtC/L/BOY/A4ZjzIIpwq+c6NGWEyaKMZDziVUjgMgxIUq+sGyGYeeIMtrgWGPwzXki7riHt1RuJ2aGBOysB18DBjjGnNpteNcJHnmPCaXET5UJVfLh3Sd7nDDDcAza0zfW+DoJsCTgye21F9+xsH0V8C6gzCRnBM5ZaDnzOIsRJpwxkM8Rq3oDnDKhrMDiaQYjsH1YOUbsUHjnFx/pf5gEWBLy0ObKruXH29sbob3MGpnOJJW38M5llpO6DEJziEAhR6xqdVBlwonA3LJhSlHYMqg4ZfKKdF3gGhd9/qGBZ0iIJUEPbq7vWX58+7eAc4E5TDLlvHDlSR5zy4ZmEoFCnljVGqBK08woCXM7DZsHHUHEZPQ4Ri77/EMDm0mQJWEPba6MnLug7bbQ6BmisohJYla78O6TPaYUhTgU88SqWqfpOvLC4mmG7cPKWMAkovepce+66YG+HhJmSYHVWyq1M+fmbjfGfgAo0+KWzTBcfoJHwSMWIlDIgQixUIVag1gUPOGELkPfmDJYYzLY1lepnffFRwYHSQFLCnx0+YwTPfFuA06mBRmB6W1CZ1E4ucuwfKHFGmJVyIMIsVCgXic21sCS6YZGCL4Fzwq1kFZVLuX8C85amH/w4c3VPhImJOz6s7t/U0X/CuikhXgGFkwTlnUZlswQprUJQ6PgIhIxpQOMIRbOweAIibA+lIvQW1HW9yrreh1bBpXI0WqGRPlI8cGeL99AcoQEXX9W1+XqyXdpEVOKwqLpwrKZwqJphpzHq8IQhiskprMdrCUWUQRDoySmsx2s5VX1EDb0O9b1KBv6leGa0ioio+/6/P29K0mIR4LChr3Leu6bwDWkkGdgdllY2mVY2iXM7BCs8AtUoVIlUarERpVEVarQ0Q7Cv8t7cHK34eRuiBzsHlHW9Sov9Dp2jSiRI62+6Qp6FwkSEvb7l5Q72quF7wG/RAoUfVg8w7CsS1g03dCe53WN1aBWJ1HtJcj5xCIIYaRCoooFKOZ5XSM12NDvWNerbOh31AJSQRyP2N7axTe+MDxKgoQU+MTZM+eq6IOCLCRmItDdLizpEpZ2GeZPEYwwbmEIwxUS11aEfI5YNAIYHSNRApTbwVrGLXKwdVB5odexvk/pHVVUiZ/TjVg5e8UDPTtJmJASHz9n5hsF7gfKNFnBg+OmCku7DEu7hM6CIMJhU4XhUYgciSsVoZAjFvUGVKokzrNQbueIqMJgVVnXp6zrVbbscdRD4rAH5dwVD/asJQWEFPnPb+++Im/1m4DPBBJgSlFY2iUs7TIcN1XIexy1sRrU6qRCsQDFPLGo1WGsRioUC1DMc9RqIWzZ43ihR1nfpwxVFWXC1ccirvzbh3vuJiWElPnk27r+0OXkrwHhKHgG5k0RlnYZlnYJM9uFiRRGMDxKahTyUCoQi2oNqnVSQYByO1jLhFGgZ0RZ16us63VsG1Iix9Fyw/XoP/yvR/v/gRTxSBnj8wUHi4E/5DCVC8Ki6cLSLmHRdEPRpylUoVIlVVSJjSqpoUClCh3tIEwMAbo7hO4O4exFhrEGbOh3rOtVNvU7RuocPuGz9VL7P0I/aSKk0O9f3OG314rfBi7nEIzArLKwtEtYOsMwuyxYQ9NVa1Ctkyo5H9pLxKJShXqDVCkWoJin6UIHO4eVdb2Odb3K7hHFKYckKjc74ddvWr07ImWElPr48pmdOL1fRE5nHwUfFk0zLO0SFs8QygUhTmEEw6Okju9BRxuxGB2DRkCqCFBuB2uJ1VBVWd+vrOtVNvU76iH7e1gNF990f88YKSSk2CeWz1wYOX1wVoeZu2SGsKzLMH+q4BkSoQrDFYgiUsezUG4nFiMVCEJSx7NQbicxQQRb9ijreh3r+5S+iq7TyCy/6eFdu0gpS4o9tLky+LnLO/uuOMVetaTLMLUkGCExtQY0AlJJBAp5YlFvgFNSxykg4HskwhqYVhKWdBnOOM4ws12u+9A3d/2EFDOk3JvmmTNESFwYQa1GaqkSG1VSq1aHKCJxRuCU2eYMUs6QYpU/n+0DV5ACY1VQ0kuV2DgltVShUiUtrhr977MNKWZIMVH7FmABCavWIYxINQVUiYeSamEE1Tpp8AZjzQmkmCHNDFcBQoKiCGo1WoIqTacKSvrV6hBFJM0KeiUpZkip4PE2EeOuImGVKiitQWk+pTWoQqVK4hTzHr2B1DKkVHDXlNM1ksUkaKwKjQBUQRVUSTVVmk6VVFMFVVCFRgCVKgnT0+vFmYtJKY/0uhIwJKh/0DFaiRAB4SUCgiACIiACIoIIiIAIiIAIiAgiIAKCIAIiIAIiICKIgAgTRpWmU2VCqYIqqCqqoAqqoKoooAqqoAqqiiqogiqoKqqgCqqgCoqCggKq0N5maSsaEuSpb68E/pIUElJo9NNzxQg/AU4nQfWGsHN3RLUe0UwiIAIiggiIgAAiICKIgAiIgIggAiIgAiKCCAjQWRYKOZqqEcDgsKIKqqCqOAUUVMEpKIoqqIIqqCqqoAqqoAqqiipNVchb5nRb8jklYQ8Z1XMKf7JDSRmPFPJxSyLMaSQsn1OmdvroENTqEc2iCqq8RPlFyngV8h6FnNBMQaD07wlJu0LeMq3TJ5+LSIEznchcYBspY0ghZ7yrACEFikVHZ0eOQt6SdtYKzWaMIe3yeUu5I0ex6EgJC1xJChlSJvhRh2DCq0iJnK9Yq5TbcxTylrQSASOGZhMRjBHSKp+zdLbn8K2S85UUuWbgM4tIG0PKBN8rL9DIvIUUKRYcIlBuz1HIW9LIswZVms458D1DGuVzls6OHCJQLDhS5qyiq88hZQzpcwXgkyI5X/GsIgLl9hz5nCVtPM+gKjSbKnhWSJt8ztLZkUMEPE/xfSVlCji5nJQxpM/VpFCx4NhLBDo7cuRzljTxPEGVplMVPM+QJjnf0tmRQ4SXFQuOVBJ3DSljSJH6/zdnNnAWKeT7iucpe4lAZ0eOfM6SFr41qNJ0quBZIS1yvmFKOYcIL/M9xfeUNFJkef1vp3WRIoYUcdb8MpAnpYoFxytEoLMjRy5nSJoIWCuo0nROwVqDCInL+YYp5TwivKpYcKRYMRoqvpMUMaRE5c/noOquJsV8T/E95RUiMKUjT843JMkYwRhBVWg2VUEErDUkyfcNU8o5RHiV7yuep6TcNbW/OI60MKSEIFNALiDligXHvkRgSjlPzjckxbOGvRRQpWlUQZWXeVZIiu8bppZziAj7KhYcLeBip1GZlDCkhv4yUCDlPE/xfWVfIjClnCfnGyZKzRm+NzCD/7ZxKVVnORTPE/ZSpelUeZnvGQ4lVOHPNi7hu30zqUSWieJ7hinlHCLCvnK+4lmlBRTV8cukhEdqyNW0iGLeEQSWfYnAlHKeweE6jcBxpEYij3v6Z3DPwAz2BD573TcwjV+e0cvB+J7hFaogQlOo8irPGg7l4aGpPF3p4OlKB9/q6ebCaf28c3ov0/yAI+V7hinlHEaE/RUKjlZhRK8GvkEKWFKgfuPcssIXgAItwBiIIiFywr5EoJD3CEJH5JTDsbOe55aeOXxx2wKeGC1Tc5ZXbKsXuGR6H1Y4oPaSjzHCXvmcYgxN4ZxQbxj2EoGxasiBRCp8YetChiOPvRpqeH6snbv6u9jVyDMz12CKF3I4PM8wtZzDGGF/uZxSyDtah8z704vKf/fpe0fqJMwjBZwfXUjDdtJCigVHI7DsTwSmlHPsGW4QBI5DUWDdWBvf7ZvJY8OdhCocSF+Q48HBaZw/tZ/9GSMYI7zCKViawymvMkYwRnBO2d9jw51sqxfYX6jC/Xum8eDgVE5rH+FdM3o4pW0UI8qheJ5hajmHMcKBFPOOFtPpNLoQ+DYJ80gBVXMVLcZaJecrjUDYn4gwpZxjcKhBEDr251T48UiZ7/bN5NlKO8rr+27fTJZPGcCKsi9rBRFepUrTqPIanhUaTtmXU+Hf+ro5lEiFn4yU+clImcXFMS6f0cOZnYN4ouzPs8LUcg5jhAPJ5xRrlZZTkGuAb5MwS8Kqfz6vhOOLQIkWYy3UG4YDERHyeUsQOJxT9qo7w/17pvG32xZwV38XvUGO8RoOPRYWqswr1NhXIWfJ5yyvyPmKtTRFFAmNwPCKMFKC0LGvJ0bL3N7bzXjtCX1+NDyFBwanAcK8fA3fKHt51jC1M48xwsF0tDlEaD2hzP3jC8tfvPH7IwEJ8kiYoucAM2hB1ir5nFJvCAdiROia7lOtBdy9Ywpf2TqHvsDnSN3e180vdQ4i/JznCUnxrGFfCvxrbzdHoreR46s75/Lt3m4+MHcX757XT6noE0XCweTzDmOUFjXdwHnAShLkkbyraWGFgqPRsCgHlvOhs8PygRmjvOP4zaze3c7qXR08MVCi4YTDsWGsxNrRDk5rH+EVnmeIi/Janifs6/lKO89W2jlcnlFOnlLlvFkjnN09ytJyDc9Y6nWoVDkgESjmHa1M4WpgJQmyJCj465OsC+pfAtppUUbAOYgi4UB8T/E9xQhMy4e8afoYVy4Y5H2LBjh5ao28VQbqHmOhYTz2hD7nTh3gFR1tOUR4Vc5XrKUpokgIAsMrjAiVasgr/nHHfHY28ozH1FzEebNG+PCyPv7f03fygSX9vGXGGF2FECO8LIyEIBQOpJB35HJKizvujy9q/6sb7x11JMQjQVE08A7wumlxxYLSCECVX6DKAXXmIi6dO8Slc4cInPDsYJH7d3Wwenc764YLhE44kKdGO1g/VmJJaQxrBRFeQ4mPCHjWEEaOTdUiPxkpczBWlEUddc7uHmX5rBFOmzZGziiHosoBiUAh75gEpouac4HvkRCPBLnQXsUkYIyS8x31hmF/yuvzjXLatDFOmzbGfzx5NzvHfB7u6eCBXe2s6WtnNDC8QoHbe7v56IJN+J4haZ4nhBHc3tuN8lolz/Hm6RXOnTXCO7pHmVdqIMK4qXJA+ZzDGCYFgWuA75EQISFjn57tI+Y5YBGTgHMwNOKhymvkc0pbKeJIVUPD4/0lVu/q4MHdHWyp5LCirFjyHCdNi2greeyrrRSRzynNUG8YKmOGfVWqIc8PWD6+7kRCFeaUGpzdPcryWSOcMaNCm+c4UpWqoV437EsEppRDRJgkZJvn3OLcp3Y0SIBHUsS8EVjEJGEM5HOOWt2wL1WOStFznN09ytndozjdyabRPA/s6mBrrYPT/CHipezP94TNUQd/cHIPy2eNsKSjhhEmhgr7K+QdIkwiOi8SdybwAAnwSIjAVcrkUsg76g2DKq9SJo4RWNxRZ3FHnb2cg8FhYiTsb+Z05be6BmkGVV5DBAp5x2SjRbkaeIAEGBIQ/vUJRpF3M8kYA/mc4zWUpjEGjFGSYoxiDE2jymsU8g4RJp+a+ZXajXM8EmBIQFgZfAPoCUxChYJDhFcpzeVZEuNZmkr5OWOgkHdMUgudyhkkwJAAh3clYJiEjEAh73iFKk1lrZIUzyrNpMqrCnmHCJOVAFeTAEMyrmISK+QdIsTCs0pslNewntJUysuMgXzOMcldpTdME2JmiNnon89ZDLyRSUwECnnHXqpCM1mrJMUapZkUYa9i3iHCZLe4liu8kZgZYmaRqwBhkivkHUYApamMAWPYh9Asys8ZoxhDU6mCMUou5zgGCM5cTcwMMQr+Z1kw+m6OASJQKDiU5rNW+TklDp4lFsWCIsIxQY17d/0L0ywxMsQoMoV56uRtHCPyOYcRpdk8q8TNWqWZVMEYJZ9zHDNUTtGp5kRiZIiR6/OvADyOESJQKCiqNJW1ys8JcfCs0kwKFAuOY4y4zfmriZEhJiM3dPOSqznG5HMOEZrKs8TOWqWZBMj5yjHoquqnZwsxMcRErJkFvIPMhDNGMYafUZrNGDCGphLhWHVqpOZEYuIRk0rkqlRNAyiQIvWGo1pzCIIILxPhZSK8TISXCS8REF4iIAgIiPAy4SUCAojwMhHI+UKpKDSTNYpzAgigNJO1SrNVqkoQKKqgvERBeYmC8hIF5SUKioKC8hIF5d+p8jJVXqbKy1RBUYoFQz5nSJnIwSgx8YhJ9w27h7Z9Yu6DwC+TIiKGWs0RRo5m8X1hbrdHsUDTWKsEoRAHzyrNokC1Bjt3RwSh0iyeFUpFQxCSKuL0p6K6lZgY4rWSlBGBcoelmYwRqnUYqYAqTeFZ5d8pzWat0gzOwUgFanUwVmimjg6LCKmjRlbO+fxO4mKIkdcI7wQcKeP7QlvJ0CzW8LIghKFRCCMmnPX4GaHZPKtMtDCE4QqEIS+zhqYpFQ05X0gjVVlJjAwxinxvM/A0KdRWsnhWaAZrhVc4ByMVqDeYUNYoIjSdETCGCVWrw0gFnONV1grN4Fmhvc2SUlsEXUuMDDGae9N2ZxruTlJIBModlmYwhtdQhUoVKlVQZcJYqzSb9ZSJogqjYzBWA+W1jKEpyh0WEVJJnN4z76btATEyxMzlzEpSyveFUskw0awVDqTegJEKOMeE8KyC0jwKnlUmQhTBcAUaAQdkrTDRSiWD7wtppUa+S8wMMRurl34IDJBS7SWLZ4WJZAwHFUYwPApByFGzlqazVjlajQCGKxBFHJQxwkTyrNBesqRY1UXm+8TMELNlf7MuENFVpJQIlDssE0UErBEOxSmMVKBa56h4VmkqAWs5KmM1GB0DVQ7JGhBhwpQ7LCKk2QPHfX7rCDEzJMGxkhTzfaGtZJgIxgjjVa3B6BiockSMURClWUTAGuVIOIWRCtTqjJsxwkQolQy+L6SZiH6XBBgS4DD3AnVSrK1k8axwtKzlsDQCGB6FKOKwiYC1NI01ypEIIxgehSDksFjDUfOs0F6ypFyoKneTAEMCarXCDuAnpJgIlDssR8sa4XBFDoYrUG9w2KxRmsVa5XDVGzBSAec4bNYKR6vcYREh5eT5aq60ngQYErD0C+sxzq0k5XxfaCsZjoYxHBFVqFShUgVl/ERoGhHGTRUqY1CpgipHxBiOSlvJ4PtC2pladMfST69TEmBIiBOzkhbQVrJ4VjhS1gpHo96AkQo4R8uIHAxXoB5wVKwVjpRnhbaSpRW4gllJQgzJeQrYTMqJQLnDcqSsEY5WGMJwBYKQ1AsCGB6FKOKoWSMcqXKHRYTUU5XeRpR7lIQYEjLvpu0BsIoW4PtCW8lwJKxlQjgHIxWo1TkoVeiv0jR9YxxStQYjY6DKhLCWI9JWMvi+0ApE9PuLPr+pSkI8EmTErXRqfpsW0Fay1BtKGCrjJQJihIk0VoMwgrYiiPCqngr8yX0Rz/Yqi6bSFC/0w5nzhD891zK1wKucQmUMgpAJJUYQAVXGzfOEtpKlVZiaW0mCPBKU31i/t3p8sQ7kSTkRKLdbBgZDxksEjDDhGgFEEbSXwFi4Z4PjU/c5eirKXluHaZpvP6c8ukP5iwssyxcIYQSjY+AcE84IiIAq41Zut4jQKiIK3EWCLAla8Uy18ZGzy8uBxbQAa4W9gkAZD88KxaKhGVShWlrAd3ZM549u76XSIDYjdbj9eceSZacwo5CD+gjNUq8rzjEubSVDsWBoFYI+MnfFzi+QIEPCFFlJC2krWTxPGA9jhWaIpi6i+tY/oPL2T/JE/XhUiZ1TeDJaRuWcP6H65t8l6lxAMxgrjIdnhbaSpaUErCRhHsm7G4gASwsQgXK7Zc9giHJo1jBxRIimLqGx5DLCGSeBGPbq6R8gKbt6+0EM4ew3E856I17PU+Q23IXdswlQJoI1vC4Byh0WEVqJw3AnCfNI2BR/8PmhRuc64ERahO8LpZKhMuY4FGuFiRDNOJH6kncSTV8GCPvq6d9DUnb39vMqMYTdpxHOPBWv71ly6+/EDqzjaFkrvJ5SyeD7QovZiuFJEmZIWMenRxW4kxbTVrJ4nnAo1nDkxBDOfANjb/84Y2/7L0TTTwCE/fX0D5CUXb39/AIRwq6TGTvro4yd+RHCrpNBhCNlDYfkeUJbydJqRPXOuTftiEiYRxooKxH+iBYiAuV2y8BgyMEYKxw2MYQzT6Wx5DKiKQsB4WCcc/QPDJKU3X39HEo0fRnV6UuxezaRW38nXu/ToI7DYaxwKOV2iwgtR0XuIAU8UiBfrz/SyOcGVGQaLcT3hbaSoTLmOBBrhHETIZz1ZupLLsOV5zMeA4PDhFFEUqq1OkMjo3R2tHNwQjR1EdW3/gF2aDO59Xfh7fopoIyHNcLBtJUMvi+0oBEVeYAUMKRA1//oq6jIfbSgtpLF84T9iYAIr894BHN/ico5f0r1zb+DK89nvHr6Bkjarp4+xivqXED1Lb9HZfmnCOa8FYzl9YiACL/A84S2kqUVidPV8z+7bYgU8EgJU3N3uIK5hhYjAuV2y56hEFVeZY0gwsEZn2DOGTQWX4Zr7+ZI9PQPkLTdff2csHghh8N1zKH2pt+iMXo5uQ134+94DFzAgYiANUIYKa8QgXK7RYSWpEZWkhIeKREV7F2COsDQYnxfKBUNlTHHK4zlwIxHMO/tNBZdjGvr4mj09A+QtF29/Rwp1z6L2unX0VjyTnIbV+FvewRcwP6MBSJeVSoafF9oUapq7iAlPFKiHuR35r36j0X0DFpQW8lSbyhhqOxljbAvtXmC+W8nWHQxrjiNidDTP0DSdvX2c7Rc20xqp/46jSXvxN+4Cn/rw0hU5xXWCKDs5VmhrWRpYU8JbjMpYUiJJX+1QUX0DlqUCJTbLSK8zFphL/WKNBZdROW8P6N+yntxxWlMlJ6+PSRtd28/E8UVp1E/5b1UzvszGosuRr0ie1kr7CVAucMiQssS0ZXzbtqupIRHihh1dzoxnwKEFuT7QqloqIw5TL5IY8kFNBaeh+Y7aYbe/gGStqu3n4mmhSnUT7qGxqKLyb14H+b5+6AyQqlk8H2hhamq3EGKeKSJ8DiwC5hNi2orWSrTTmbktKsozlxIs0TO0bdnkKQNDA4ShCG+5zHRNF+mfsKVVKeeDk9+m7ba87S43sDLPUqKGFJkzoqdAXAPrSkSeC5ngy+YWce/f9i0/bR/zwDVWg1VZaLVGw2GR0ZJ2tDwKNVanYmmqlRrNfr3DDBs2p7IzVrwPoz8NcLTQEgLklC/d/yNm+qkiEfK2Ci6I7L2OtJPgQHgPqdmlTXRvV4j3NT9Vz0O/om7bjv3jkIUfnl4dOSaytgYpWKRYqGAiDARhkcq1OoNkhY5R2//HsrtbUwEVaVaqzFWqxJFESjfolD58Kl/8P8PATfv+OM5JgrMAs+FF0TWXgxcAMwAhJQTWEnKeKRMZOz3gTGgRPo0gMeNc3fnn6uvGl3W/tiCv9zS4AAue88Hh+/7319+rxT5VOSiT41URk2lOkapUKRYKGCM4Wj09A+wlxGho72NuCnKyOgYqsru3n4WL5jH0XDOUa3VGKtVcc7xEofwaa3y389/z3+K+Jk5N+5wwCbgn4B/2vP7U/xKe9tb1MpFJtJLFd4K5EmfWuSZe0kZj5RRlT4R/RFwPslzwKbI2e9bG91dMPUf1IP8wJzP7VReNsChnP+BD0e33XrzDTNs5SmULzvnOkbHKlSqYxQLBUrFEtYYjkRP3wDWGn73167m3DPfTNwUuO+hNXz55n9jV18fRypyjmq1ylitiqryMyMCv+06t99y/tWf4lCm/t1gAIOPAI/s+NjsTztrp6Kc64fBpaHnXQAsAQxJU9b0jczYDdtIEyGFtn1i7seAm0jGoBlzD0ZFe3fk7L3WRuvmr9gWcpTuu+3LbxbhVmARPyMiFPJ5SsUSnrUcjkd/upbtu3t4+1tOI0mPP/ksxWKR8896K4cjiiIq1TFq9Tqqyj42qnLt+e/58I85Sjv/6yxbGKwtrrYVL3TGXgp6DjCNBJia++Sc/7Hzs6SMkEI7Pznr5MjZp4mHA36iyKo2W7m7FhUenbNi5xhN8P3bvtxtjH4DlfPYTyGfp61YwvM8xqNaqzI8OkoatLe10VYsMR5hGFKpjlGv11FeS5D7nYTvO//q39lFE2z72NyiGD1DjVyK4yLgDMASAyPutDmf3bmWlBFSqPf9M0xjVu559WUJE0+BrapynxF3T2j873lR0Dv3ph1KDO7/5pdzEfI3Bv09QNhPLpejrVgi5/scSrVWY3h0hDToaGunVCxyKI0gYKw6Rr3R4ADUIV+ywh+ee/VvNojBluvnU6xVZ9QL+Qst0SWR2guABYAwwQTdmDf1ZTM+0x+RMkJKbbt+7hdQ/iMTY8SIe0TV3OONBfd0fnf42cKLtYCEfOfWfzYdpvFh0M8DZQ7A933aiiXyuRwHUqvXGBoZIQ3K7e0UC0UOpNFoUKmO0QgCDmJYlY+Pav4fr7j21x0J2f7xub5TWWasu0TQi52atwOdTIy/m7di+x+QQkJKbbl+/juNujs4Mmoa7hnnm7sj660yYfTw/M9tGyZl7r/tK8uMZ74SReFZHITnebQVSxTyefZVq9cZGhn+v+3BS2yUVRgG4Pc7Z/rPTDtTwC6MnZa4YSWwQkPFok2aVmM0tERdqp1qg250Ya0x6oZ4qZcFTQymCoImLpo0CsZIELGYhmgUEy+bmhCFThutQGGcyz+d/3wu2LiAStxw/sn7PPBBayaLdCqFf6uGIUqVMur1Oq7GOj1ZN3ikZ2d+Dp4pjLVngnKtq5YOelWlH8BmAIL/wVTdve17Fj+DhwSeOvNsZ4tRtwCgFddmUVRn7HJ0ZCXbdLTzrfkCYuDkgclELWvHVPE8gBSuwlqLlnQzUskkRARhGGK5eAk+WJNtRSqZhKqiGoYoVcqIogirqIpid1CKXut6+LE6YuCP5268qeaaesVpHwQ9AHK4NkVRbc+9vvA3PCTwWGG0/ZBC7sOVlVTke1E94iJzdLmy9sfNb/8UIoZmpw+ipLg1QH0/gFuwCmsMmtNpGGNwsViED1qzWahTlCtlRM5hdfrzumL4aKk5+O72B4cRR+GLQXCu2rbRwfYaF/U7Y24DkMEViNPDuTcW7oenBB6bH82NANiLy1RqOqeBHFMjn2e/Kc6uPX7xPBrIV1MHMmLdK6q6C4DFKkQEqgofCAQKxX+IANmjpvZCz8BICQ3k7FjHugC1rhXX1C817ddANgAwuGxXx3hhLzwl8Nj8M7kcBOO2Hs04MV+katXTbRPn0chUFV8f2tfn6mYS0PVoAKL4LdmSzW+954Ev0eDOPt0BY/Vm46K+KGHvVMho5/h8AZ4SkJdmpva12WQwUV+pPQTAIJ6cAB8mrHtq247hCyDvWJCX3p/6pPLq+JvT5878/qsa3AWgGXGiWEqaYCiS+svdA8MVkJcE5L1fvj2+/q/C6Ul10od4+NQaHekeyC+AvCagWDjx8WTCRYknAd0NIAM/XUIiNWq18m73jnwE8p6AYuXUscMbixeW9qtgC3wimDXQoe2D+TlQbFhQrLxz8KM/hwcHP1CrBsBWABbXV6hiX9qwacvjm+64ewkUKwKKpZnp96DitsElJgC9AdfHonHyBIz+sH3nEIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIYucfcbTHcqIr5MQAAAAASUVORK5CYII=",\n "links": {\n "mainnet": "https://metamask.tezos.com/",\n "ghostnet": "https://metamask.tezos.com/",\n "mondaynet": "https://metamask.tezos.com/",\n "dailynet": "https://metamask.tezos.com/",\n "delphinet": "https://metamask.tezos.com/",\n "edonet": "https://metamask.tezos.com/",\n "florencenet": "https://metamask.tezos.com/",\n "granadanet": "https://metamask.tezos.com/",\n "hangzhounet": "https://metamask.tezos.com/",\n "ithacanet": "https://metamask.tezos.com/",\n "jakartanet": "https://metamask.tezos.com/",\n "kathmandunet": "https://metamask.tezos.com/",\n "limanet": "https://metamask.tezos.com/",\n "mumbainet": "https://metamask.tezos.com/",\n "nairobinet": "https://metamask.tezos.com/",\n "oxfordnet": "https://metamask.tezos.com/"\n }\n}, {\n "key": "kukai_web",\n "name": "Kukai Wallet",\n "shortName": "Kukai",\n "color": "",\n "logo": "data:image/png;base64,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",\n "links": {\n "mainnet": "https://wallet.kukai.app",\n "ghostnet": "https://ghostnet.kukai.app",\n "mondaynet": "https://mondaynet.kukai.app",\n "dailynet": "https://dailynet.kukai.app",\n "delphinet": "https://testnet.kukai.app",\n "edonet": "https://edonet.kukai.app",\n "florencenet": "https://florencenet.kukai.app",\n "granadanet": "https://granadanet.kukai.app",\n "hangzhounet": "https://hangzhounet.kukai.app",\n "ithacanet": "https://ithacanet.kukai.app",\n "jakartanet": "https://jakartanet.kukai.app",\n "kathmandunet": "https://kathmandunet.kukai.app",\n "limanet": "https://limanet.kukai.app",\n "mumbainet": "https://mumbainet.kukai.app",\n "nairobinet": "https://nairobinet.kukai.app",\n "oxfordnet": "https://oxfordnet.kukai.app"\n }\n}];\nconst iOSList = [{\n "key": "airgap_ios",\n "name": "AirGap Wallet",\n "shortName": "AirGap",\n "color": "rgb(4, 235, 204)",\n "logo": "data:image/png;base64,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",\n "universalLink": "https://wallet.airgap.it",\n "deepLink": "airgap-wallet://"\n}, {\n "key": "plenty_wallet_ios",\n "name": "Plenty Wallet - your portal to web3 ",\n "shortName": "Plenty Wallet",\n "color": "",\n "logo": "data:image/png;base64,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",\n "universalLink": "https://www.naan.app/",\n "deepLink": "naan://"\n}, {\n "key": "altme_wallet",\n "name": "Altme Wallet",\n "shortName": "Altme",\n "color": "",\n "logo": "data:image/png;base64,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",\n "universalLink": "https://app.altme.io/app/download"\n}, {\n "key": "autonomy-app",\n "name": "Autonomy: Digital Art Wallet",\n "shortName": "Autonomy",\n "color": "",\n "logo": "data:image/png;base64,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",\n "universalLink": "https://autonomy.io/apps/tezos",\n "deepLink": "autonomy-tezos://"\n}, {\n "key": "temple_ios",\n "name": "Temple Wallet",\n "shortName": "Temple",\n "color": "",\n "logo": "data:image/png;base64,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",\n "universalLink": "https://templewallet.com",\n "deepLink": "temple://"\n}, {\n "key": "atomex_ios",\n "name": "Atomex Wallet",\n "shortName": "Atomex",\n "color": "",\n "logo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAXa0lEQVR4Ae3BB3hV9cHH8e/5n3szbjYkIQzZUy1VURBFRUWmoKJgFcFFq+Ks1j1I3XXUPVEBFbBaRGUoQxAFERnKXglhJiGEhIRsknvex/d5+r6AQYFCck/O7/Ox/IkdHETEkwwi4lkGEfEsg4h4lkFEPMsgIp5lEBHPMoiIZxlExLMMIuJZBhHxLIOIeJZBRDzLICKeZRARzzKIiGcZRMSzDCLiWQYR8SyDiHiWQUQ8yyAinmUQEc8yiIhnGUTEswwi4lkGEfEsg4h4lkFEPMsgIp5lEBHPMoiIZxlExLMMIuJZBhHxLIOIeJZBRDzLICKeZRARzzKIiGcZRMSzDCLiWQYR8SyDiHiWQUQ8yyAinmUQEc8yiIhnGUTEswwi4lkGEfEsg4h4lkFEPMsgIp5lEBHPMoiIZxlExLMMIuJZBhHxLIOIeJZBRDzLICKe5UM8w+/z0bJFU45v14omjVJIrF8Pv99HeUUF+bsL2bx1O2vWppGxeRt7KyuRus+H1GmBQCT9e5/Hxf16cM6ZnUmsn8DvycnN49v5P/Lp5BlMmT6HsrJypG6y/IkdHKTOSUqsx+03Xs3wYYOolxDPkcrdlc9boyfwytsfkJdfgNQtlj+xg4PUGX6fjxHDh/DQ3SOIi43haNldUMjIp17m7TH/oqqqCqkbbDuQlIrUCa1aNOWT91/h+qGDiAgP52iKiAinT4+zOavrqcyd9yMFhXsQ97PtQFIq4nrnnd2VLya8SYe2rTiWmjdtzOBL+rBwyXK2bs9C3M22A0mpiKv169Wdj957kYT4OGpCdHQUlw3oxco1G9iQvglxL9sOJKUirnX+OV0Z/84LxERHUZPCwsLo16s7839YwtbtWYg7GcS1Wrdsxtg3niEmOoraEBMdxbh3/knzpo0RdzKIK0WEh/Pea0+RnFSf2tQoJZm3X3qcML8fcR+DuNKI4Vdy+qknEQq6d+vC8GGDEPcxiOs0SE7k3jtuIJQ8+LcRJCfWQ9zFIK5z6w1DSYiPJZQkJdbj5r8MRdzFIK4SFxvD9UMHEYquG3IpUYFIxD0M4ir9+5xH/YR4QlGD5ET6XHAO4h4GcZVLB/QilF3crwfiHgZxjbAwP2d2OYVQdt7ZXTHGIO5gENfo0LYVcbExhLL69eJp3bIZ4g4GcY32bVthWRahzLIsOrRtibiDQVyjaZOGuEHTJo0QdzCIa9RLiMcNEuLjEHcwiGtEhIfhBhER4Yg7GMQ1ysrLcYPy8nLEHQziGvm7C3GDXXm7EXcwiGts3Z6FG2zLzEbcwSCusXb9RhzHIZQ5jsOqtWmIOxjENVavS6NwTxGhLC+/gPSMLYg7GMQ1yssrmPfDEkLZ7G8XEAwGEXcwiKt8NmUmoeyzqbMQ9zCIq3zx5Wzy8gsIRbm78pk24xvEPQziKvm7C/jw488JRW+P+YjiklLEPQziOi++PobdBYWEkrz8Al4d9SHiLgZxnW2Z2Tz3yruEkieee53cXfmIuxjElV5+830W/bSCUDB/4VLeHD0BcR+DuFJZeTnXjriXXXm7qU05O3dx3c33sXdvJeI+BnGt9WmbuPqmeygpLaM2FJeUcsX1fyVj8zbEnWw7kJSKuFZ6xhZWrllP/z7n4ff7qSnFJaUMu+FuZn4zH3Ev2w4kpSKutj5tE0t/Xk3P87oRCERyrOXs3MWgq29l5pz5iLvZdiApFXG99E1b+OLL2Zx60ok0aZTCsTJvwWIuuepmfl6xBnE/2w4kpSJ1Ql7+biZMnEJRcQmdTjqRiIhwjpa8/N08/MSL3PHAE+TuykfqBsuf2MFB6pyGKcnc+pehXHfVZdRLiONI7dyVx+gPJ/Lq2x+QnZOL1C2WP7GDg9RZ9RLi6NuzOwP79+SMzicTHxeHMRYHEwwGyS8oZP6CJUycPJ2p07+hcE8RUjdZ/sQODuIJgcgI2rRqTrs2LWnetDFxsTHYtqGqKkhefgFbt2exZl06G9I3UVZejtR9PsSVkpPq0+mkE8nM2sHyVetwHIffU1JaxrKVa1m2ci0iv/AhrjP4kr689eJjRAUicRyHTyfP4Jqb7qW8ogKRw2EQVzn15BMZ9dLjRAUi+YVlWVw6oBfXDBmIyOEyiGskJdZj3Kh/EhkZwYHO6noaIofLh7iCbdu88/ITtGjWhOps3Z7FsRQfH8tdN19H51M6si4tg3++9h6btmxH3M2HuMK9d/yZPhecQ3Wyc3J5bdSHHCt+v5+p/3qb007pyC/OPft0+vU6l7N6/4nM7BzEvQwS8np0P4MH/zaC6lRU7OWG2x9iW2Y2x8q53bpw2ikd2ddxjVO4ftggxN0MEtKaN23Me689hd/nozpPvfAWX339HcdSYmIC1blyUH8iwsMR9zJIyIqMjGDMG8+QkpxEdabO+IZnXxqF4zgcS/MWLKGqqooDtWrelLPPOA1xL4OEJGNZPP7QXzmj88lUZ+Omrdx4x8NU7N3LsbZ1eyazv/2B6lwzZCDiXgYJSYMH9mXE8CFUp7S0jGE33s2OnbuoCY4D7334b6rTu8fZpCQnIu5kkJBzQvs2vPLMI9jGUJ17Rj7Dj0uWU5OmzviG3F35HCg6KsDlA/sh7mSQkBIXF8O4d54nLjaG6rw/YRKjxv6LmlZWVs74f0+mOkP/dDG2MYj7GCRk2Lbh1WdHcny71lRn2cq1/PWBJwkGHWrDBx99RjAY5EAntG/DaZ06Iu5jkJBx8/CrGHxxH6pTULiHK4ffyZ6iYmrL8lVrWfTTCg5k24ahl1+MuI9BQkK30zvx2EN3YFkWBwoGg9z410fYkL6J2uQ48P6Ez6jOZRf1Ii42GnEXg9S6hg2SGP3600RGRFCdl94cy6eTZxAKJn7xFQWFezhQQnwcA/r2QNzFILXKNoZ3X32KZsc1pjpz5//II0++hOM4hIK8/AImfzmb6lw75FLEXQxSq84+szPnn9OV6mRm5XDtiPsoL68glIweN5FgMMiBTj/tJNq3aYm4h0Fq1XGNU7AsiwOVl1dw3S33sy0zm1CzYNHPbEjfxIF8ts3VV16CuIdBatWPS1dQWVnFvhzH4dFnXmX2twsIRZWVlYydMInqXHFZf8L8fsQdDFKr1q5P54FHn6OiooJfBINBRr3/MS+8PppQ9vGkLyktLeNAjVKS6d3jLMQdfMhhsyyL1i2b0b5tSxqlJBMXG4OFxZ7iYrKyd7Jh4ybWrd/I3spKDsWLb4zl82mz6XhCOzZu3sqKVesIdVu2ZTLzm/kM6HM+Bxp2xUC++HI2Evp8yCEJREZyYa/uDBzQi3PPOp2E+Fh+S0lJKd9+v4jJX81h4hfTycvfzW/J2LyVjM1bcZOx4ycxoM/5HKjvBefQKCWZzOwcJLTZdiApFTmohPg47r5tOO+/9QxDL7+YDu1aERkRzu/x+/20btmMfj27c+N1V9AgOZHVa9Mo3FNEXbF1exZXXtaf+LgY9mWMIXdXPvMXLkVCm20HklKRX7Ftm2FXXMInY16mb8/uRAUiOVJhYX46d+rIdVddhm0Mi39aSWVVFW5XWVlJSoNEzuxyCgdKiI/jvQ//jeM4SOiy7UBSKrKfxPoJjH7tae6+9Xqio6M4WsLDwjj3rNPp3q0Lc79fxO7dhbhdVlYOw4cNxrYN+yorL+eNd8cRDDpI6DLIftq2bs7Mz8Zwcb8eWJbFsdC188nMnTqO007piNutS9vI7G8XcKAZs+dRWVmFhDbbDiSlIv+rbevmTPnXKNq2as6xFh0VYGD/nnz3/SK2Z+3ArRwH5v2whNNO6UijlGSCwSAz5szntnseo6y8HAltlj+xg4OQlFiPmZPGcHz71tSk3F35nNv/KtZtyMDNfLZNs6aNqaoKsmVbJsFgEAl9BsHns3nrxcc4vn1ralpi/QTGjXqe6KgAblZZVUV6xhY2bdlGMBhE3MEgXD90EP16dqe2dDyhPSPvuxWRmmbwuMT6Cfz9/tuwLIvadNN1V9LxhHaI1CSDx91249XUS4intoWF+Um97zYsy0Kkphg8LCY6ihHXX0mo6HV+Nzq0bYVXhIeHERsTTWxMNBHh4UjN8+Fhl13Um9iYaEKF3+9nyOABPPjYP6lLogKRdDrpRLp2PpmT/tCB1i2b0bRJQwKRkViWxS8cHEpKStm6PZu0jZv5aflqFi5exuKfV1JUVIwcGz48bGD/noSaAX3PJ/Wpl9lbWYmbRUSEc0H3MxkyeADdu3UhIT4Wy7L4LeFhYSTEx9HxhHYM7N8Tx3EoKNzDrG++56NPpzJz9nxKy8qQo8eHR0VEhHNml1MINa1aNKV5s8ZsSN+MG8XHxTJ82CCGDxtMi2ZNsCyLI2VZFvFxsVx2UW8uHdCLLduyePO98bz7wSfsLtiD/Pd8eFSHtq2Ijo4i1Phsm05/PJEN6ZtxE7/fz1WDB/DIvbfQuGEDjjbLsmh2XCOeGvk3brthGI89+zoffPQZ5RUVyJHz4VHt27YkVLVr0xI3ad+mJS8/8zDdu3WhJjRMSea150Zy5WUXcsvdj7J6XRpyZAwe1aRRCqHquMYpuIFlWQwZPIBvvxxP925dqEmWZdGt66nMnTaOoZdfhDEGOXw+PCouNoZQFRMTTajz2Tap99/GXbdcj20baktcbAyjXn6C49u35uEnXqKyshI5dAaPMsYiVPlsm1Dm89m8+PRD3H3bcGzbUNuMMdx1y/W89txIfLaNHDqDRxUVlxCq9hQVE6qMMTz/xAP85ZrLsSyLUHLtkEt57flULMtCDo0Pj8rekUuo2rEzlwNFRkbw4F030b1bZ3Jy85g5Zz4z58wnbeNmatL9f72Bm667glB17ZBL2Z61g0f/8Sry+3x4VNrGzYSqDemb2ZdlWYx94xku7teD/7iw17kEgw5pGzcxY/Y8vvr6O75fuJSi4hKOlf69z+Ohe24m1D1w500sX7mWz6bOQn6bD49atnItlZWV+Hw+QonjOPy0fBX7atHsOC7qez4HMsaibesWtG3dgpv/MpSiomLmLVjMV19/x9dzF7AhfROO43A0NGrYgDdeeBTbGEKdMRavP/93Fv+8km3bs5GD8+FRhXuKWLpsNZ07dSSUZOfksnb9RvYVHxeDZVn8FguIiY6izwXn0OeCc6isrCQ9Yysz5sxj+tffsXDxMgoK93AkLMvixScfIDmxHm6RWD+BF558kD9deztVwSBSPR8e5TgOU6bPoXOnjoSSWXPmU1xSyr5Wrl7Ppi3baN60CYfK5/PRrk0L2rVpwa1/GcrugkK+//EnZnw9j1lzvyc9YzNVVUEORc/zzuSifj1wmwF9zqPPBecwZfocpHq2HUhKxaM2b8vk5uFDMMYQChzH4d7U58jYvI19VQWDzPthCWd2OYXE+glYlsXhiogIp02r5vTucTZ/vuZyBl/cl9atmoEDObvyqKiooDo+n48P3nqORinJuI1lWbRr05KxEyZRVRVEfs22A0mpeFRhYREdT2xHh7atCAVLl63m7/94mWAwyIGyd+xk9PiJfPHlbLZuzyYiPIz69RLw+30cLtsYEusn0KXTH7lyUH+GXn4Rq9elkZ6xhQP1730ut994NW6V0iCJFavXs2ZdOvJrth1ISsXDNqRv4pohA7Ftm9rkOA533P84q9emcTBVVVVk7djJvAWLGTP+U8ZOmMTSZasoKS0jsV4CUVGRWJbF4YqJjuL8c7oyZvxEysrK+Q9jDC89/RAtmjXBzRokJ/Lhvz7HcRxkf7YdSErFw3bk5JJUvx6dO3WkNk2fPY9H//EqjuNwqIqKilm1ZgOfT5vF6++OY9rMuWzLzCYiPJykxHr4fDaHKjoqwIzZ89i8dTv/0bZ1c54a+TeMMbhZ44YN+HTKDHbm5iH78yGMfOplLjivG21bNac25OUXcNs9j1IVDHKkKir2smjpChYtXcETz71Bg+REunfrQu/zz+L87mfQIKk+lmXxW/LyC9jXwAt7Yts2bufz2Qy8sCer16Yh+7PtQFIqHldeUcGCH3/iT5f2IzwsjJoUDAYZduM9LFyyjKOpuLiEVWs28Pm0Wbzy1vtMmzmXbZnZRISH0zAlCWMM+5oyfQ6vvzMOx3H4hWVZPDnyLpo0SqEuiImJ4t0PPkH2Z9uBpFSE7B07Wbs+nYv69sDns6kJjuNw+32PM/6TyRxLQcchMzuH775fzOhxE3nzvQn8vGINxcUl5OzcxZhxE7k39VkqKvbyH4n1E3jy4Tvx+33UBfHxcYwZ/ylFRSXI//Mh/+eLL2cz7MZ7eO/VJ4mKCnAsVVVVceeDT/HW6I+oabvydvPxpGl8PGkaB9PxhPZERkZQV0RGhNPxhPZkZe9E/p9B9jNpygz6DhrO5i3bOVby8gsY8ue7eOPd8YSqPxzflrrmhA5tkP0Z5FcWLPqZbr3/xLhPvqCqKsjR4jgOs79dwFl9ruDTyTMIZS1bHEdd07pFU2R/PqRaO3bu4vpb7ueDjz7jkXtu4fTTTsIYw5FwHIfV69J4+oW3mPjFdCorqwh1jVKSqWsapiQj+/MhBxUMOsz+9gfmzl9E184nM3TwRfS+4GxSkhOxLIvfk7+7gG++W8jocROZM28h5eUVuEV8XCx1TXxsDLI/H/K7qqqqmLdgMfMWLCYQGcGJx7el0x9PpH27ljRskExcbDTGMhQWFZG9I5e0jZtZtHQ5K1avp6BwD24UGRFOXRMIRCL78yGHpaS0jB+XLOfHJcupy/buraSu2bu3EtmfQaQaxSWl1DXFJSXI/gwi1di5K4+6ZmduPrI/g0g1tmzNpK7Zsi0T2Z9BpBpr12+krlm7Ph3Zn0GkGj+vWIPjUGcEHYeflq9G9mcQqUbG5m1sz8ymrtiRk0vaxi3I/gwi1SgrL+eb+QupK777fjGlZWXI/gwiB/HZlFnUFZ9NnYn8mkHkIGbN/Z6s7J243Y6cXGbMnof8mkHkIEpKSvnw489xuwkTp1C4pwj5NYPIb3jzvfEUl5TiVsUlpbz+7nikegaR37B1ezbvvP8xbjV2/Kds2rwNqZ5B5Hc8+fyb7MjJxW125ubxxHNvIAdnEPkd+bsLuHfks7jNvanPsnNXHnJwBpFDMP7fk/no06m4xSeff8X4TyYjv80gcohuvftRVq3ZQKhbtyGDEXeOJBgMIr/NIHKICgr3MPja28nMziFUZe/YyaCrb6WgcA/y+wwih2FD+iYuG3YrubvyCTV5+bu55KqbWbthI3JobDuQlIrIYcjMzmHOdwu54NxuxMfFEAq2Z+2g/+U38NPy1cihs+1AUioihylrx06mTp9Dl1NPonHDBtSmpctWcdEVN7FmfTpyeGw7kJSKyBHI313Ix5OmERcbw8kdj8cYQ02qrKri3Q8+4eob72FHTi5y+Gw7kJSKyBGq2LuXL2d9y6KlKzjljyeQWD+BmrA+LYPhtz7Ay299QHlFBXJkbDuQlIrIfyk9Ywujx08kN283HY9vR0x0FMfC9qwdpD79CiPuSmXN+nTkv2P5Ezs4iBxFUYFIBl/Slz9fPZhOJ/8Bi//e0mWrGDX2YyZMnEJJSSlydFj+xA4OIsdIuzYtubBXd3p0P4NOJ/2B+LgYDkVB4R6W/LySr+cu4PNps1iftgk5+ix/YgcHkRoQ5vfTvFkT2rRqxnGNGlKvXhxRgQCO41BSUkpefgFbM7NIz9jCxoytVOzdixxbPkRqSMXevaxPy2B9WgYSGgwi4lkGEfEsg4h4lkFEPMsgIp5lEBHPMoiIZxlExLMMIuJZBhHxLIOIeJZBRDzLICKeZRARzzKIiGcZRMSzDCLiWQYR8SyDiHiWQUQ8yyAinmUQEc8yiIhnGUTEswwi4lkGEfEsg4h4lkFEPMsgIp5lEBHPMoiIZxlExLMMIuJZBhHxLIOIeJZBRDzLICKeZRARzzKIiGcZRMSzDCLiWQYR8SyDiHiWQUQ8yyAinmUQEc8yiIhnGUTEswwi4lkGEfEsg4h4lkFEPMsgIp5lEBHPMoiIZxlExLMMIuJZBhHxLIOIeJZBRDzLICKe9T9qoUtXQfd7pgAAAABJRU5ErkJggg==",\n "universalLink": "https://atomex.me",\n "deepLink": "atomex://"\n}, {\n "key": "umami_ios",\n "name": "Umami Mobile",\n "shortName": "Umami Mobile",\n "color": "",\n "logo": "data:image/png;base64,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",\n "deepLink": "umami://",\n "universalLink": "https://umamiwallet.com/"\n}, {\n "key": "trust_ios",\n "name": "Trust Wallet",\n "shortName": "Trust Wallet",\n "color": "",\n "supportedInteractionStandards": ["wallet_connect"],\n "logo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAh10lEQVR4Ae3BB5xdZZ344e/7nnPL9D6ZkjIpkx6STCqZgLCEBInCsgsKaoaif3fZ/ehaCMV1NQgqJbif1d111wIusaMoitKGJmECIZkkBFKY9GQyk8mUTLkzt573jyu6iASSnCn33vN7HkUKWHhzfanjOLOMUdOVYpIxjFGKSmMoAXKBbCCAEMMnAoSAEyjaMTQrxWFj2IviVUur7RvvWNZGklMkobM/V1/tGC6Mx81SoBYYixCp5yDQYNtqfTzh1G++a/lrJBlFEnjPF59WA5HEQscxVwCXGEM1QqSfJqX4lVb8bOOdF75AElCMoEW31Jc5jrnWcbgWqEYI72gC7ldKfWfTXctaGSGKEbDolvq58YT5DIYPAj6E8K4o8IBlqbs33rFsG8NMMYwW3VI/13H4guOYSwGFEOJPFOpRFF/cdNeyjQwTxTCYf2P9eDBfNYYPAAohxMk4YB7QlrrppTsuPMgQUwyhmtX1Advi5kTC3ARkIIQ4VWHgDqMSdzTedVGEIaIYIvNW1y8Ccy8wHSHEmdqlUNduunvZCwwBxSCbd9MTtjbqXxxjPgfYCCHccpRSX1ZO4taX1q5IMIgUg2jejU9UYvgxsBQhxGBbrzBXbrp7eTODxGKQLFj95BKUeRKYjhBiKIxFqQ+NXnL1hqMN9x9mEFgMggU31X/IMebnQD5CiKGUbeDDFedcvb/l+fu345KFS/NW13/WGPNNwIcQYjjYGC6rqF3V39KwrgEXLFyoubH+iwrzFUAhhBhOCtTy8qWraHl+3bOcIYszVHNj/ReVMWsQQowYhTqvfOkqWp5f9yxnwOIMzFtdf4PCfAUhxIhTqPMqalf1tTSs28BpsjhNC2568kPGmP8EFEKIJKGWVS69Zs/R5+/fzmmwOA3zVtcvMcb8HPAhhEgmCszKitpVT7c0rDvMKbI4RfNWP1mplHkSyEcIkYxslFpZsWTVj1sa1vVyCixOwYIbnraMSjwMTEcIkcyyQS2sOLtuXcuGdQ7vQnMKjEp8AViKECIVLMXiC5wCzbuYd2P9YoP5PEKI1GG4Zd7qxxfxLjTvoGZ1fQBj7gM0QohUYoO6t+bGRwO8A807UJibgakIIVLRdIV9M+9AcxILbqwfB9yMECJ1GXPT/Bvrx3MSmpNwjLkTCCKESGUZxpivchKatzH/xicXAlcghEgHH6i5pX4ub0Pzdoy5FdAIIdKBImG+wNvQvMW81U/ONpiLEEKkDWW4tOaW+rm8heYvOKsRQqQbpeLmM7yF5k3mr64vA65ACJGOPlhz8xNlvInmTQzmY4AfIUQ68imHa3kTzZ+rQwiRvgzXzv7i04o3aN5Qc8MTi4FqhBDprNoeSCzkDZo3KLgcIYQHmA/wBs0fKS5BCJH+DO/nDZrXzV/9+GSgGiGEF1TPv+nxal6neZ1BLUMI4RnGURfyOs0fLEUI4SVLeZ3mD5YghPCSWl5n1dxQX6oUtyOE8JK88nOu/qZWypmFEMJztHFmaVDTEUJ4jjFqusYwCSGE9ygm2SjGIDwl4NMsmVLM7Kp8SnL9xBKGw+39PL+rnV3NvQiPMIyxgUqEJygFly2q5PrlEynI9vNW16+YyMsHu/nqgztpaulDpL1Kq6K27hagAJHWgj6L266ayTXnVZHhtziZUflBLllQQXPnAHta+xBpLWoD+Yi0VlmYwdqrZ1Ndns2p8Nua26+aydTKXL7+2yYcxyDSUq4NZCHS1ntmlPDFD8wgN8PmdH3k3LHMGJPL536wneM9EUTaybIqautuQ6Qdv6357CWT+fT7JxP0ac5UeUGQlTXlHGgLcai9H5FWbKuitm4NIq1MG53L16+bwznTSlC4l+G3WDGnjKIcP437uoglDCI92Ii04bc1H1s2nqvPq8LSisGkFFx+9mjOnlLE7T/byUt7OhGpz0akhQWTCrnpsilUlWQxlCoLM/jmx2v4zeYW/u03TXT2RRGpy0aktPKCIJ+8uJpls0ehGD4r55Vz7vQSvvXEPn624QixhINIPTYiJeVk2FxzfhVX1o4l4NOMhJwMm89eMpm/XVzJNx/by9OvHMcxBpE6bERKycmwuWrpWK5aOpacDJtkUFWaxZ2rzmL7oW6+9cQ+NuzuQKQGG5ESCrP9XH72aK5aOpacDJtkNGtsHt/46FxePdzD9393kCdfbsMxBpG8bERSqy7P5oO1Y3jv3HICPk0qmDEml69+eBZH3zvAj9Yf5uHNR+kdiCOSj41IOpkBiwtmjeJvFlUya1weqaqiMIPPXjKZ6y+aSP22Y/zqpaNsO3gCYxBJwkYkBb+tWTy5iAvPGsV7ZpaQ6bdIF5l+i0sWVHDJggoOt/fz+LZjPL7tGHtb+xAjy0aMmNwMH4snF3LujBKWTi0mO2iT7sYUZ/LRC8bz0QvGc6AtxDOvHmf9zna2H+om4RjE8LIRwyYzYHHWuHxqJuSzcFIh00bnYmmFV1WVZnFNaRbXnF9F70CcTXs7eWlPF1v3n2DPsT4cxyCGlo0YEllBmwmlWUypzGFqZQ7TR+cyqSwbrRXJZOeRHkYXZZKTYTOScjJszp9ZyvkzS/m9vnCcHYd72HGkh91He2lq6eNQez+OYxCDx0acNqUgO2hTkO2nOCdAaV6Asvwg5QVBRhdlUlWSSWl+EEXyisYdvlO/n+89c4DiHD+3fnAmCyYVkCyygzYLqwtZWF3IH0XjDofb+znU3k9zxwBHu8Ic6w5zvCdCZ2+UrlCUSMxBnDobjwr4NOfPLGVOVT7lBUG0UryVpRW2pfDbmqDfIuizyA7a5GTYWFqRqnY19/KlB3bw2tFefq+tO8I/fruRv11cySdWVpPpt0hGflszsSybiWXZnEwk5tAbjhEKJxiIJojGHWIJh1jcYIzhrSJxhwNtIdbvbGfrgRN4jY0HXbqggusvmkhxTgAvicQcvl2/j3XPHiThGN7MMYYHNhyhYXcHN182lbOnFJGKAj5NwBegOIdTN6OEa86vYsfhHu745S52HO7BK6yK2ro1eIRWin++fBp/t3wimQEbL1m/q51P37eV53a2Ywwn1TsQ55Etrew/FuKscflkBW28oiQvwMp55Rw63s++YyG8wMZDrrtgPH+9sBIvOdTez7/++jWe29nO6Xji5WM8v6uda/6qio+cOw6/rfECv6259coZtHaH2X6wm3RnVdTWrcEDJozK4vYPzcTSCi/o6ovyH4/uZc1PXuXA8X7ORCxheGlPF7/Z3EJhjp8Jo7JRirRnacXMsXk8+EIzhvRm4xEfWDIGn6VJd70DcX60/hA/eO4QoXCcwdB6Isznf/gK33vqAH+/YiLnzSgh3U0qy2bJlCLW72onndl4xLnTS0hnvQNxfrT+ED9af4jegThDYU9rHzf8zzamj87l6vOrOH9mKVqRtpZOK2b9rnbSmY0HZAdtSvMCpKPmzgF+vP4wv9zYzEA0wXDYcaSHm9a9zIRRWXzonLFcXFOO39akm4ll2aQ7Gw8I+CzSiTGwaW8XP204zO92HCfhGEbCvmMhbv/ZTv7z0b387eJK/nphJaPyg6SLrIBFurMRKaOzL8pvN7fwy5eOcqAtRLLo7Ivy7fr93PvUAZZOK+aS+RUsnVaMpRWpLBp3SHc2HhCLO6Sq/miC3716nMe2ttKwu4OEY0hWCcfw7KvHefbV4xRm+1k+ZxQrZpcxc2weSpFyjCHt2XiAYwyppHcgzvO72nlyexsbdncQjiVINZ19UX68/jA/Xn+YsvwgfzWrlPNnljJ7XB5aK1JBNOGQ7mw8IBZ3SGaOgd3NPWzc00nD7g627j9BwjGki9YTYX743CF++Nwh8jJ9LJ5cxJIpRSyaXEhxToBk5TikPRsPcAxJJRp3eO1oL9sOdrNlXxeN+0/Q0x/DC7r7Yzy2tZXHtrbye1WlWdRMyGduVQEzx+UypiiTZBFPOKQ7Gw+IJRxGSu9AnH3H+mhq6WNPax87j/TQ1NJHNO4g4EBbiANtIR58oZnfK8z2M7UyhymVOUwuz2FiWTZjizOxLcVwizuGdGfjEbGEwWcpBpMx0BeO094Tob03wrHuCK0nwhztHOBIxwAHj4fo6I0iTl1nX5SG3R007O7gj2xLUVGQwbiSTCoLMygrCFKWH2RUfpDinACF2X4CPs1gSziGdGfjEY5jwFKcqS//bCdHOgfoj8QJRRL0DsQ4EYqRcAxiaMUThkPt/Rxq7+dkMvwWeZk+soM22UGboN/iwtmjuHRBBWcqGndIdzYeEU04BHyaM7XlwAkOtIUQyWkgmmAgmuDNqsuzcSOecEh3Go+Ixx3c8FkakVpsS+NGwjGkO41HxBMGN2xLIVKLz1K4EY0b0p3GI+KOwQ2fpRGpxW9r3IjFHdKdxiMicQc3fLZCpBafpXEjnnBIdxqPiMUd3AjYGpFabEvhRixhSHcaj4jFHdywLY1ILQGfxo1o3CHdaTwilnBwI2BrRGqxLY0bsYRDutN4RDTu4IZta0RqCdgaNyJxh3Sn8Yho3MGNgK0RqcVna9yIxR3SncYjonEHN3y2QqSWgE/jRiTmkO40HhGJObgR8FmI1BKwNW5E4w7pTuMR0biDGwFbI1JLwGfhRjTukO40HhGJObgR8GlEavHbGjcisQTpTuMRkVgCN/y2RqSWoE/jRjjmkO40HhGOO7gR9FmI1BLwWbgRiSVIdxqPiMQc3MjwW4jUEvRp3IjEHNKdxiPC0QRuBHwakVqCfgs3wrEE6U7jEeFYAjeCfguROrRS+G2NG5GYQ7rTeEQ45uBGhs9CpI6gX+NWfyRButN4RDiawI0Mv4VIHUGfhVvhWIJ0p/GI/kgcNzL8FiJ1ZAYs3IjGHRKOId1pPCIcc3AjM2AhUkeG38KNgWgCL9B4RH8kjhtBv4VIHZkBGzcGogm8QOMRA9EEbmQFbETqyAxYuBEKx/ECjUf0RxK4YVsKv60RqSHTb+HGQDSBF2g8IhSJ41ZWwEakhuygjRv9kQReoPGISMwh4RjcyAxYiNSQGbBwIxSJ4wUaDwmF47iRFbQRqSErYONGKJLACzQeEookcCMrYCNSQ3aGjRuhcBwv0HhIXziOGzkZNiI1ZAd9uNEXjuMFGg/pC8dxIyfDRqSGnAwbN3rDcbxA4yG9AzHcyA7aiNSQHbRxIzQQxws0HtI7EMeN3AwfIjXkZti40TMQwws0HtI7EMeNnAwbkRpyM3240RuO4wUaD+kZiOFGbqYPkRpyM3y40dMfwws0HtIzEMONvEwfIvlprcgO2rjR0x/HCzQe0tMfx438TB8i+eVl+FAKV7r7Y3iBxkO6QlHcyMvyIZJffpYPN+IJQygSxws0HtLdH8ON/Cw/IvnlZ/lwo7s/hldoPOREKIYbOUEb21KI5FaQ7ceNrlAUr9B4yIlQFDeUgvxMPyK5FWT5caOrL4ZXaDykP5IgEnNwozDHj0huBdk+3DgRiuIVGo/p7IviRlG2H5HcinMCuNHZF8UrNB7T2RfFjeLcACK5FeX4caOjN4pXaDymsy+KG8W5fkRyK84N4EZXXxSv0HhMe08EN4pzAojkVpIbwI3jPRG8QuMxx3siuFGSG0AkL60URTl+3GjvjeAVGo853hPBjdK8ACJ5FWT78FkaN473RPAKjccc747gxqi8ICJ5jcoP4kYs4dDVF8MrNB5zrDuMG0W5AWxLIZJTWX4QN9p7ojjG4BUajznWHcENrWBUXhCRnMryg7hxrDuMl2g8pqc/xkA0gRsVhRmI5FRRmIEbrV1hvETjQS1dYdyoLMxAJKeKgiButHSF8RKNB7V0DeBGZWEGIjmNKc7EjaNdA3iJxoOOdoZxY3RRBiL5aKWoLMzAjaOdA3iJxoOOdPTjxpjiTETyKcsP4rc1bjR3DuAlGg860jmAG1WlmSiFSDJjijNwI54wtHSF8RKNBx063o8bQZ9FaV4QkVzGl2bhxtHOARKOwUs0HtTcOYDjGNyYMCoLkVwmjMrGjYPt/XiNxoOicYfmrgHcmDgqG5FcJpZl4caBthBeo/GoA239uFFdno1IHkrBhFHZuLG/LYTXaDxqb2sfblSXZyOSR0VBBjkZNm7sbwvhNRqP2ncshBsTRmXjtzUiOUwbnYsbxsDelj68RuNRTS29uGFbiurybERymFqZgxvNnQP0RxN4jcajDrT1E407uDFzbB4iOcwYk4sbTS19eJHGo2IJh/1tIdyYOTYPMfK0VswYk4cbu5t78CKNh+080oMbc6ryESNvSnkOmQELN3Yc6cGLNB72yqEe3CgvCFKWH0SMrDnj83Frx5EevEjjYa8c6satBZMKESNrwaQC3Djc0c+JUAwv0njYvmMh+sJx3FhUXYgYOZZWzJ9YiBsvH+jGqzQe5hjDywe7cWPR5EK0UoiRMXd8PpkBCze27D+BV2k8rnFfF24UZPmZOTYXMTLOmV6CW437uvAqjcdt2tuFW+fNKEWMjPdML8GNtu4Ih9r78SqNx+040kPvQBw3lp1VilKIYTZ9dC6jizJwY2NTJ16m8TjHMbzY1IEbFYUZzB6XjxheF80tw60Nr3XgZRrB87s6cGvlvHLE8PFZmvfOLcONhGPY8FoHXqYRrN/ZTsIxuLFiThnZQRsxPM6bWUJBth83tuw/QU9/DC/TCLpCUV4+2I0bmQGL98+vQAyPK2vH4NYzrx7H6zTifz358jHcunLpGCytEEPrrHF5zK7Kxw3HwFPbj+F1GvG/Htt6jIRjcKOyMIOLa8oRQ+v/LZuAW417u2jrjuB1GvG/ukJRXnitA7euXzGRgE8jhsaCSYWcPaUIt37T2IIAjfiTX710FLdK8wJcfV4VYvBZWvGZ90/Grf5IgidfPoYAjfiTZ149TkdvFLeuOb+KscWZiMH14XPHUl2ejVuPbGmhP5pAgEb8ScIxPPjiEdzy25pbr5yBpRVicEwYlcXfL5/IYPhpwxHEH2jEn/nZhiNEYg5uzRqbxyfeOwnhXlbQ5s5VZ+G3NW698FoHe1v7EH+gEX+mozfKbxpbGAwfPnccF9eUI86cVorbrpzB+NIsBsO6Zw8i/o9G/IV1zxwk4RjcUgo+f/k0zp5ShDh9SsE/Xz6Nc6eXMBi2H+rmxaZOxP/RiL9wuKOfB19oZjD4bc09V8/m7ClFiFOnleKWy6Zx6YIKBst/PLIH8ec04m1996n99EcSDAa/rbnn6tm8d24Z4t35bc1tV83gbxZXMljW72xn094uxJ/TiLfV3hPh3qf2M1j8tuZLV87kHy6aiFYK8fZKcgP819/NY8WcMgZLLOHwrw+/hvhLGnFSP3zuEPuPhRgsSsF1fzWer390LoXZfsSfW1RdyA8+tYizxuUxmL7/7CEOHu9H/CWNOKlo3OErD+7EMQyqxZML+clnFnPejBIEBH0Wn71kMt/4WA2F2X4G04G2EN+u34d4e1ZFbd0axEm1ngiTGbCYXZXPYMrwWyyfU0ZVaRZb9p9gIJrAi2omFPD1j86hdmoxSjGoEo7hs9/bRktXGPH2bMS7+uZje5k/qYBplbkMtuWzR7G4upBvPLKHhzYexTEGLyjM9vPJi6tZOb8cxdD41hP72H6oG3FyVkVt3RrEO0o4ho1NnaycV0HApxlsAZ/FudNLWDqtmL2tfRzrjpCuLK34YO1Y7lp1FrPG5aEYGs/vaueOX+zGIN6JVVFbtwbxrnoH4uxs7uGiuWVopRgKJbkB3r+gkqrSTHYc7qEvHCednDOtmLXXzObimnICPs1QOdAW4lP3biMcSyDemVVRW7cGcUqaOwdo74ly7vQShopSMKksm8vPHk1WwOaVwz3E4g6pbGplDrddNZPrLhhPfpafoXQiFOPj/72Z9t4I4t1ZFbV1axCnbFdzL46B+RMLGEqWVsyuyueyhZXEEobdzb04xpBKKgszWH3pFG68bCqVhRkMtZ6BOP/47Ub2t4UQp8aqqK1bgzgtjfu6+L15EwsYakG/xZIpRaycV05nX5T9x0IYkltupo9/vGgSaz44g6mVuSiGXl84zie+u4UdR3oQp86qqK1bgzhtm/d1YQzMn1jAcMjJsLlgVinnTC/haFeYIx0DJJuAT7PqPeO44yNnMX9iAZZWDIee/hj/8K0t7DjSgzg9VkVt3RrEGWnc10V7T4TaqcUopRgOxbkBLq4pZ9bYPJpa+ujsizLStFK8b34Fa6+ZzfkzSwn4NMOlpSvM9d9qpKm1D3H6bIQrD77YTOuJMLd/aBa5GTbD5ewpRSyaXMTDm47yX4/vpa07wkhYPLmIf1pZTXV5NsNt+8Fubrh/Gx29UcSZsSpq69YgXDncMcAzr7axcFIhBdl+hotSMKUyh8sWj8ZnaXYe6SGWMAyHCaOyuPXKmfzd8gkU5fgZbr94sZlbfrCdvnAcceasitq6NQjXuvtjPLy5hdK8IJMrchhOPkszb2IBF9eUcyIUY29rCMPQyMv08amVk/mXK6YzriST4RYKx7ntgZ3c+9R+Eo5BuGNV1NatQQyKeMLwzKvHOdAWYkF1EQGfZjhlB23On1nKoslFNLX0cbwnwmCxtOKKs8ewtu4saiYUoJViuG07cIJPfncrm/d1IQaHVVFbtwYxqPYeC/HbxhaqSrMYW5zJcBuVH+TShZWU5gXYfqibcMzBjTlV+XztmjlcsqCCgM9iuEViDv/x6B6+/OAuuvtjiMFjVdTWrUEMuv5Igke3tLK/LcSc8flkBmyGk1IwbXQulyyopDcc57WjfRhOT2G2n5sum8pnL51CUY6fkbCxqZNP37eV53a2YwxikFkVtXVrEENm37EQD710lKDfYvqYPJRiWAX9FudOL2HR5CJ2Humloy/Ku9FKcdniStZePZtZY/NQDL/jPRG+8vNdfOORJrr7Y4ihYVXU1q1BDKlo3KFhdwdPv9JGVWkWFYUZDLdR+UEuWVhBht9i64ETJBzD25kwKou7687iirPHEPBZDLdo3GHdswf53A9fYeeRHsTQsipq69YghkVnX5SHN7fQ1NLHtMoc8jJ9DCdLK+aMz2f5nFHsOxbiaOcAf+SzNNddUMVtV82ksjCD4WYMPPVKGzf8zzae3N5GLO4ghp5VUVu3BjGsDrSFePCFZk70x5g+Opeg32I45WX6uLimnKIcP437uphUnsPXPzqH5bPLsLRiuL18sJvP//AVvv+7g/QOxBHDx0aMiFjC4cfrD/HrTUe59vwqrlw6hqDPYrhoBZefPZr3zCihMNuPpRXD7XBHP9/47R6efqUNYxAjwEaMqFA4zr8/soefbTjCxy+cwPvmV6AVw6YkN8Bwa++J8N2nDvDgC0dIOAYxcmxEUmg9EeZLD+zg+787xCdXTmLp1GLSTX80wfefPcj3nz1IfzSBGHk2IqnsO9bHp+7dyrwJBXxyZTUzxuSS6hKO4RcvNvOd+v2090YQycNGJKXN+7q49t9f4sLZo/jExZMoyw+Sip599Tj/9tsmDh3vRyQfG5G0HGN4bGsrT7/SxpVLx/CxCyaQGbBIBbuae/nXX7/G5n1diORlI5JeNO5w/zMHeXhTC9evmMilCyvRiqTU0RvlPx/dw683teAYg0huNiJldPZF+fLPd/LAhiOsvnQKc8fnkyxiCYcfPXeY7z61n1A4jkgNNiLlvHa0l4//1yYumlPGP72vmuKcACNpw2sdrH1oNweP9yNSi41IScbAI1ta+d3Odq5fMZEPLBmDVgyrtu4IX/v1a9S/fAyRmmxESguF46x9aDcPbzrK5y+fztTKHIaaY+CnDYf55mN7CYXjiNRlVdTWrUGkvPbeKL/ceJT+aILZVfn4LM1Q2Nvax6e/t5WHNh4lFncQqc0GIkAAkfIcY1j37EGe2t7G5y+fzoJJBQyWaNzhvqcO8L2nDxBLOIi0ELEqaus+BWQi0kbvQJxHGlvp7ItSM7EAn6VxY1dzL5+8dyv1Lx/DMQaRNnpsoAcoQqQVxxge2HCEht0dfOnKGcyuyud0JRzD/zxzgG89sY94wiDSzgmrorbuQ0AlIi31DsR5eFML0YTD3PH5WFpxKg639/Pp+7bxm80tOAaRnppsoBmR1hxjuO+pA7ywu5PbrppBVWkWJ2MM/GrTUe55aDf90QQirTVbFUvqlqBYhEh77b0RfvHiUdq6w+Rn+ynOCaCV4vd6B+I882obX3lwJw80HCGWMIg0p3jCRrEH4RmxhMODLzbz4IvN+G1NYbafaNyhKxTFGISXGPbaBrNDoRDeE407tJ4II7xJKfOqxtHbEUJ4jqP0dt14z7I24BBCCC852HjnsjbNHzyPEMJLGnid5vcM6xFCeMl6Xqd5nVHmCYQQnqG0qed1mtc13r28CUMTQggvaNp05/LXeJ3mDQZ+hRAi7RnFr3mD5o+MegAhhAeYB3iD5g2JuLURaEIIkc6aGu9a/gJv0Lxh27+dbzDchxAijZn7eRPNmxij7gNiCCHSUdQo8x3eRPMmjfcsawV+ghAiHT3QeNeKVt5E8xbGUV8DDEKItOIoczdvoXmLxnuWbTGGhxBCpA2DeXTLXcu38Raat2PUlwCDECIdOGC+yNvQvI3Ge5ZtAX6KECIdPNB494qNvA3NSRjMLcAAQohUFjbKuYmTsDiJloZ1J8pr62wF5yGESEkGc3vj3Sse4iQ078SYO4AdCCFS0S5tuIN3oHkHjWuXR8BcB8QRQqQSx2Cu3bR2eYR3YPEuWhrWNZcvqfMpxXsQQqQEg7m98e7l63gXmlOgDF8C1iOESAFmfcKYWzkFmlOw+Z4L4xiuBFoRQiQvZVqN4cpta1ckOAUWp6ilYV1vRe2qDaA+DNgIIZJN2MDKxrXLd3CKLE5DS8O6w2W1q/Yr1GWAQgiRLBxHJ67ZcteK33IaLE5Ta8O67RVLVoVQajlCiORgzI2Nd6/4b06TxRloaVi3oWJJnUJxHkKIkWXMrZvXLv8KZ8DiDLU0rHumYkmdQnEeQoiRYcytm9cuX8MZsnChpWHdMxVLVoVQahmgEEIMF8cYs7px7fKv4oKFSy0N6xrKltTtUYqVgI0QYqiFjU5c03j3im/hksUgaG1Yt7289iNPK9RKIBshxNBQptXBrNxy10W/ZRBYDJKWhu8frlyy6scotRAYixBikJn1GLW8ce3yHQwSi0F0tGFd7+glH7nfUUYp1DmAQgjhVtwo58vK0ddtvufCbgaRYojUrH58sULdB0xFCHGmdhjMdY13L3+RIaAYQjU3PB5QiptB3QwEEUKcqgGjE3fqhL5j09rlEYaIYhjMWf3YOAt1J6grAI0Q4mSMUc5PcdQtjWuX72eIKYZRzerHFoK6VaEuQgjxZsZo5yFU4kuNd1y8hWGiGAFzb3pktk7Yq1FcAfgRwrtiwE+MFfta4x0Xb2GYKUZQzerHykB9TKHqgGqE8I4mo5z70M59jXe8t5URokgSNTc9slgZfTlGXwJUI0TaMU0ofmWU80AiOLBx262XGUaYIgnNX/34ZMdKLFMJeymwBBiHEKnnEPC8seLrUYknGr/6viaSjCIF1Nz0aKlOWLOMYgaYiaDGYKhEUQzkA1lAACGGTxgIAT3KcNwomlHmMEbtUY7Z4djO9sY7L2ojyf1/6YXBMTp251IAAAAASUVORK5CYII=",\n "universalLink": "https://trustwallet.com",\n "deepLink": "trust://"\n}, {\n "key": "exodus_mobile",\n "name": "Exodus Mobile",\n "shortName": "Exodus",\n "color": "",\n "logo": "data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9IjMwMCIgdmlld0JveD0iMCAwIDMwMCAzMDAiIHdpZHRoPSIzMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxsaW5lYXJHcmFkaWVudCBpZD0iYSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIyNTYuODc1IiB4Mj0iMTcxLjMiIHkxPSIzMjAuNjI1IiB5Mj0iLTMyLjk0NTkiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzBiNDZmOSIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2JiZmJlMCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJiIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjIyLjUwMDIiIHgyPSIxNzAuNjI1IiB5MT0iNjcuNSIgeTI9IjE3OC4xMjUiPjxzdG9wIG9mZnNldD0iLjExOTc5MiIgc3RvcC1jb2xvcj0iIzg5NTJmZiIgc3RvcC1vcGFjaXR5PSIuODciLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNkYWJkZmYiIHN0b3Atb3BhY2l0eT0iMCIvPjwvbGluZWFyR3JhZGllbnQ+PG1hc2sgaWQ9ImMiIGhlaWdodD0iMzAwIiBtYXNrVW5pdHM9InVzZXJTcGFjZU9uVXNlIiB3aWR0aD0iMjk2IiB4PSIzIiB5PSIwIj48cGF0aCBkPSJtMjk4LjIwNCA4My43NjQ1LTEyNy43NTQtODMuNzY0NXY0Ni44MzMybDgxLjk1NSA1My4yNTU4LTkuNjQyIDMwLjUwOWgtNzIuMzEzdjM4LjgwNGg3Mi4zMTNsOS42NDIgMzAuNTA5LTgxLjk1NSA1My4yNTZ2NDYuODMzbDEyNy43NTQtODMuNDk3LTIwLjg5MS02Ni4zNjl6IiBmaWxsPSJ1cmwoI2EpIi8+PHBhdGggZD0ibTU5LjMwMSAxNjkuNDAyaDcyLjA0NnYtMzguODA0aC03Mi4zMTM4bC05LjM3NC0zMC41MDkgODEuNjg3OC01My4yNTU4di00Ni44MzMybC0xMjcuNzU0MjMgODMuNzY0NSAyMC44OTA2MyA2Ni4zNjk1LTIwLjg5MDYzIDY2LjM2OSAxMjguMDIyMjMgODMuNDk3di00Ni44MzNsLTgxLjk1NTgtNTMuMjU2eiIgZmlsbD0idXJsKCNhKSIvPjwvbWFzaz48cGF0aCBkPSJtMjk4LjIwMyA4My43NjQ1LTEyNy43NTQtODMuNzY0NXY0Ni44MzMybDgxLjk1NiA1My4yNTU4LTkuNjQyIDMwLjUwOWgtNzIuMzE0djM4LjgwNGg3Mi4zMTRsOS42NDIgMzAuNTA5LTgxLjk1NiA1My4yNTZ2NDYuODMzbDEyNy43NTQtODMuNDk3LTIwLjg5LTY2LjM2OXoiIGZpbGw9InVybCgjYSkiLz48cGF0aCBkPSJtNTkuMzAwNyAxNjkuNDAyaDcyLjA0NTN2LTM4LjgwNGgtNzIuMzEzMWwtOS4zNzQtMzAuNTA5IDgxLjY4NzEtNTMuMjU1OHYtNDYuODMzMmwtMTI3Ljc1MzQ3IDgzLjc2NDUgMjAuODkwNTcgNjYuMzY5NS0yMC44OTA1NyA2Ni4zNjkgMTI4LjAyMTQ3IDgzLjQ5N3YtNDYuODMzbC04MS45NTUxLTUzLjI1NnoiIGZpbGw9InVybCgjYSkiLz48ZyBtYXNrPSJ1cmwoI2MpIj48cGF0aCBkPSJtMy43NTAyNCAwaDI5Mi41djMwMGgtMjkyLjV6IiBmaWxsPSJ1cmwoI2IpIi8+PC9nPjwvc3ZnPg==",\n "supportedInteractionStandards": ["beacon"],\n "deepLink": "exodus://wc",\n "universalLink": "https://www.exodus.com/"\n}];\n\nconst _tmpl$$a = /*#__PURE__*/web.template(``),\n _tmpl$2$8 = /*#__PURE__*/web.template(``),\n _tmpl$3$7 = /*#__PURE__*/web.template(``);\nfunction CloseIcon(props) {\n return (() => {\n const _el$ = _tmpl$$a();\n web.effect(_$p => web.style(_el$, props.style ? Object.assign({\n overflow: \'visible\',\n \'font-size\': \'22px\'\n }, props.style) : {\n overflow: \'visible\',\n \'font-size\': \'22px\'\n }, _$p));\n return _el$;\n })();\n}\nfunction LeftIcon(props) {\n return (() => {\n const _el$2 = _tmpl$2$8();\n web.effect(_$p => web.style(_el$2, props.style ? Object.assign({\n overflow: \'visible\'\n }, props.style) : {\n overflow: \'visible\'\n }, _$p));\n return _el$2;\n })();\n}\nfunction LogoIcon(props) {\n return (() => {\n const _el$3 = _tmpl$3$7();\n web.effect(_$p => web.style(_el$3, props.style ? Object.assign({}, props.style) : {}, _$p));\n return _el$3;\n })();\n}\n\nvar styles$8 = ".loader {\\n height: 3px;\\n position: relative;\\n background-color: #ddd;\\n position: absolute;\\n width: 100%;\\n left: 0px;\\n bottom: 0px;\\n overflow: hidden;\\n}\\n\\n.loader:before {\\n content: \'\';\\n position: absolute;\\n left: -50%;\\n height: 3px;\\n width: 40%;\\n background-color: #3880ff;\\n -webkit-animation: lineAnim 1s linear infinite;\\n -moz-animation: lineAnim 1s linear infinite;\\n animation: lineAnim 1s linear infinite;\\n}\\n\\n@keyframes lineAnim {\\n 0% {\\n left: -40%;\\n }\\n 50% {\\n left: 20%;\\n width: 80%;\\n }\\n 100% {\\n left: 100%;\\n width: 100%;\\n }\\n}\\n";\n\nconst _tmpl$$9 = /*#__PURE__*/web.template(`
`);\nconst Loader = _ => {\n return _tmpl$$9();\n};\n\nconst _tmpl$$8 = /*#__PURE__*/web.template(`
`),\n _tmpl$2$7 = /*#__PURE__*/web.template(`
`),\n _tmpl$3$6 = /*#__PURE__*/web.template(`
`),\n _tmpl$4$5 = /*#__PURE__*/web.template(`
`),\n _tmpl$5$5 = /*#__PURE__*/web.template(`
`),\n _tmpl$6$3 = /*#__PURE__*/web.template(`