@witnet/sdk 1.2.1 → 1.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env_witnet +2 -1
- package/dist/package.json +5 -3
- package/dist/src/bin/helpers.js +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/lib/crypto/account.js +1 -1
- package/dist/src/lib/crypto/coinbase.js +1 -1
- package/dist/src/lib/crypto/index.js +1 -1
- package/dist/src/lib/crypto/interfaces.js +1 -1
- package/dist/src/lib/crypto/payloads/DataRequestPayload.js +1 -1
- package/dist/src/lib/crypto/payloads/StakePayload.js +1 -1
- package/dist/src/lib/crypto/payloads/UnstakePayload.js +1 -1
- package/dist/src/lib/crypto/payloads/ValueTransferPayload.js +1 -1
- package/dist/src/lib/crypto/payloads.js +1 -1
- package/dist/src/lib/crypto/signer.js +1 -1
- package/dist/src/lib/crypto/transmitters/DataRequests.js +1 -1
- package/dist/src/lib/crypto/transmitters/StakeDeposits.js +1 -1
- package/dist/src/lib/crypto/transmitters/StakeWithdrawals.js +1 -1
- package/dist/src/lib/crypto/transmitters/ValueTransfers.js +1 -1
- package/dist/src/lib/crypto/transmitters.js +1 -1
- package/dist/src/lib/crypto/types.js +1 -1
- package/dist/src/lib/crypto/utils.js +1 -1
- package/dist/src/lib/crypto/wallet.js +1 -1
- package/dist/src/lib/index.js +1 -1
- package/dist/src/lib/radon/ccdr/eth.js +1 -1
- package/dist/src/lib/radon/ccdr/index.js +1 -1
- package/dist/src/lib/radon/ccdr/wit.js +1 -1
- package/dist/src/lib/radon/filters.js +1 -1
- package/dist/src/lib/radon/index.js +1 -1
- package/dist/src/lib/radon/reducers.js +1 -1
- package/dist/src/lib/radon/types.js +1 -1
- package/dist/src/lib/radon/utils.d.ts.map +1 -1
- package/dist/src/lib/radon/utils.js +1 -1
- package/dist/src/lib/rest/kermit.d.ts.map +1 -1
- package/dist/src/lib/rest/kermit.js +2 -4
- package/dist/src/lib/rest/types.js +1 -1
- package/dist/src/lib/rpc/index.js +1 -1
- package/dist/src/lib/rpc/nodes.js +1 -1
- package/dist/src/lib/rpc/provider.js +1 -1
- package/dist/src/lib/rpc/types.js +1 -1
- package/dist/src/lib/types.js +1 -1
- package/dist/src/lib/utils.js +1 -1
- package/package.json +5 -3
- package/scripts/clean.cjs +21 -0
- package/scripts/postinstall.cjs +9 -0
- package/src/bin/bots/watcher.cjs +365 -354
- package/src/bin/cli/history.cjs +31 -31
- package/src/bin/cli/inspect.js +581 -581
- package/src/bin/cli/network.js +695 -695
- package/src/bin/cli/nodes.js +424 -424
- package/src/bin/cli/radon.js +1124 -1122
- package/src/bin/cli/wallet.js +1362 -1362
- package/src/bin/helpers.js +974 -974
- package/src/bin/index.js +328 -328
|
@@ -140,4 +140,4 @@ export function sha256(buffer) {
|
|
|
140
140
|
export function totalCoins(balance) {
|
|
141
141
|
return Coins.fromPedros(BigInt(balance.locked) + BigInt(balance.staked) + BigInt(balance.unlocked));
|
|
142
142
|
}
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NyeXB0by91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2hDLE9BQU8sU0FBUyxNQUFNLFdBQVcsQ0FBQztBQUVsQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxLQUFLLEVBQWEscUJBQXFCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFckUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVoQyxPQUFPLEVBR04sU0FBUyxFQUNULGFBQWEsRUFDYixvQkFBb0IsRUFDcEIsU0FBUyxHQUNULE1BQU0sWUFBWSxDQUFDO0FBRXBCLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRztJQUN0QixHQUFHLENBQUMsS0FBYSxFQUFFLEdBQUcsTUFBZ0I7UUFDckMsS0FBSyxNQUFNLENBQUMsSUFBSSxNQUFNO1lBQUUsSUFBSSxDQUFDLEdBQUcsS0FBSztnQkFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2pELE9BQU8sS0FBSyxDQUFDO0lBQ2QsQ0FBQztDQUNELENBQUM7QUFFRixNQUFNLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztBQUM3QixNQUFNLFlBQVksR0FBRyxDQUFDLENBQUM7QUFDdkIsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO0FBQ3RCLE1BQU0sZUFBZSxHQUFHLENBQUMsQ0FBQztBQUUxQixNQUFNLFlBQVksR0FDakIsWUFBWTtJQUNaLENBQUMsR0FBRyxJQUFJLFlBQVksR0FBRyxDQUFDLENBQUMsR0FBRyxlQUFlO0lBQzNDLGlCQUFpQjtJQUNqQixVQUFVLENBQUM7QUFFWixNQUFNLHFCQUFxQixHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUUsQ0FDL0MsWUFBWSxHQUFHLEtBQUssR0FBRyxlQUFlLEdBQUcsaUJBQWlCLEdBQUcsVUFBVSxDQUFDO0FBRXpFLE1BQU0sVUFBVSxZQUFZLENBQUMsTUFBYyxFQUFFLE1BQWM7SUFDMUQsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQztJQUM5RCxJQUFJLE1BQU0sS0FBSyxNQUFNLEVBQUUsQ0FBQztRQUN2QixNQUFNLEtBQUssQ0FBQyx5QkFBeUIsTUFBTSxhQUFhLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBQ0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUM5RCxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMvQixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNsQyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzlCLE1BQU0sR0FBRyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZFLE1BQU0sUUFBUSxHQUFHLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLElBQUksU0FBUyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkUsU0FBUyxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckMsT0FBTyxTQUFTLENBQUM7QUFDbEIsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQzFCLEdBQTRCLEVBQzVCLE1BQWlCLEVBQ2pCLFNBQW9CO0lBRXBCLE9BQU8sU0FBUyxDQUFDLFdBQVcsQ0FDM0IsYUFBYSxDQUFDLFNBQVMsQ0FBQyxFQUN4QixHQUFHLEVBQ0gsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUNyQixDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUN4QixNQUFjLEVBS2IsRUFBRTtJQUNILHVCQUF1QjtJQUN2QixNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQzlELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFdEMsZUFBZTtJQUNmLElBQUksTUFBTSxLQUFLLE1BQU0sRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sS0FBSyxDQUFDLDhCQUE4QixNQUFNLGFBQWEsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCw2QkFBNkI7SUFDN0IsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZCLElBQUksS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2pCLE1BQU0sS0FBSyxDQUFDLGtEQUFrRCxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFDRCxNQUFNLGNBQWMsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssY0FBYyxFQUFFLENBQUM7UUFDckMsTUFBTSxLQUFLLENBQ1YsK0JBQStCO1lBQzlCLGNBQWMsY0FBYyxVQUFVLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FDckQsQ0FBQztJQUNILENBQUM7SUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFFNUMsMERBQTBEO0lBQzFELE1BQU0sT0FBTyxHQUFrQixFQUFFLENBQUM7SUFDbEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxRQUFRLENBQy9CLE1BQU0sRUFDTixZQUFZLEVBQ1osS0FBSyxHQUFHLGVBQWUsQ0FDdkIsQ0FBQztJQUNGLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNoQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxxQkFBcUI7SUFDckIsTUFBTSxTQUFTLEdBQWUsSUFBSSxVQUFVLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNoRSxNQUFNLGVBQWUsR0FBRyxZQUFZLEdBQUcsS0FBSyxHQUFHLGVBQWUsQ0FBQztJQUMvRCxNQUFNLGFBQWEsR0FBRyxJQUFJLFFBQVEsQ0FDakMsTUFBTSxFQUNOLGVBQWUsRUFDZixpQkFBaUIsQ0FDakIsQ0FBQztJQUNGLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDM0MsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELG9CQUFvQjtJQUNwQixNQUFNLFVBQVUsR0FBZSxJQUFJLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMxRCxNQUFNLGNBQWMsR0FBRyxJQUFJLFFBQVEsQ0FDbEMsTUFBTSxFQUNOLGVBQWUsR0FBRyxpQkFBaUIsQ0FDbkMsQ0FBQztJQUNGLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDNUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELDJDQUEyQztJQUMzQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDN0UsTUFBTSxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsT0FBTztRQUNOLFNBQVM7UUFDVCxPQUFPO1FBQ1AsVUFBVSxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0tBQy9CLENBQUM7QUFDSCxDQUFDLENBQUM7QUFFRixNQUFNLFVBQVUsV0FBVyxDQUFDLEtBSTNCO0lBQ0EsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsSUFBSSxxQkFBcUIsQ0FBQyxPQUFPLENBQUM7SUFDakUsUUFBUSxRQUFRLEVBQUUsQ0FBQztRQUNsQixLQUFLLHFCQUFxQixDQUFDLFFBQVEsQ0FBQztRQUNwQyxLQUFLLHFCQUFxQixDQUFDLE9BQU87WUFDakMsS0FBSyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUN2QyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNsRCxDQUFDO1lBQ0YsTUFBTTtRQUVQLEtBQUsscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUNuQyxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUMvQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQzlCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BELE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQy9CLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUM5QyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO1lBQ2hDLENBQUM7WUFDRCxNQUFNO1FBQ1AsQ0FBQztRQUVELEtBQUsscUJBQXFCLENBQUMsVUFBVTtZQUNwQyxLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQ3ZDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ2xELENBQUM7WUFDRixNQUFNO0lBQ1IsQ0FBQztJQUVELHVCQUF1QjtJQUN2QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUMxQyxLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBRWpFLG1EQUFtRDtJQUNuRCxNQUFNLE1BQU0sR0FBRyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQztJQUNwQyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ1osSUFBSSxRQUFRLEtBQUsscUJBQXFCLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDaEQsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQ3pDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLE1BQU0sQ0FDOUIsQ0FBQztZQUNGLElBQUksWUFBWSxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUN2QixPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFlBQVksR0FBRyxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFDMUQsQ0FBQztRQUNGLENBQUM7UUFDRCxJQUFJLE9BQU8sR0FBVyxFQUFFLENBQUM7UUFDekIsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2xDLE1BQU0sTUFBTSxHQUFHLE9BQU8sSUFBSSxNQUFNLENBQUM7WUFDakMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUIsT0FBTyxNQUFNLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7U0FBTSxDQUFDO1FBQ1AsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7QUFDRixDQUFDO0FBRUQsTUFBTSxVQUFVLE1BQU0sQ0FBQyxNQUFXO0lBQ2pDLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BCLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0FBQ3RCLENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLE9BQWdCO0lBQzFDLE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FDdEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQzFFLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlRGVjaXBoZXJpdiwgY3JlYXRlSGFzaCwgcGJrZGYyU3luYyB9IGZyb20gXCJub2RlOmNyeXB0b1wiO1xyXG5pbXBvcnQgeyBiZWNoMzIgfSBmcm9tIFwiYmVjaDMyXCI7XHJcbmltcG9ydCBzZWNwMjU2azEgZnJvbSBcInNlY3AyNTZrMVwiO1xyXG5pbXBvcnQgdHlwZSB7IEJhbGFuY2UsIEhleFN0cmluZyB9IGZyb20gXCIuLi90eXBlcy5qc1wiO1xyXG5pbXBvcnQgeyBmcm9tSGV4U3RyaW5nIH0gZnJvbSBcIi4uL3V0aWxzLmpzXCI7XHJcbmltcG9ydCB7IENvaW5zLCB0eXBlIFV0eG8sIFV0eG9TZWxlY3Rpb25TdHJhdGVneSB9IGZyb20gXCIuL3R5cGVzLmpzXCI7XHJcblxyXG5leHBvcnQgeyBiZWNoMzIgfSBmcm9tIFwiYmVjaDMyXCI7XHJcblxyXG5leHBvcnQge1xyXG5cdEtleWVkU2lnbmF0dXJlLFxyXG5cdFByaXZhdGVLZXksXHJcblx0UHVibGljS2V5LFxyXG5cdFB1YmxpY0tleUhhc2gsXHJcblx0UmVjb3ZlcmFibGVTaWduYXR1cmUsXHJcblx0U2lnbmF0dXJlLFxyXG59IGZyb20gXCIuL3R5cGVzLmpzXCI7XHJcblxyXG5leHBvcnQgY29uc3QgQmlnTWF0aCA9IHtcclxuXHRtYXgodmFsdWU6IGJpZ2ludCwgLi4udmFsdWVzOiBiaWdpbnRbXSk6IGJpZ2ludCB7XHJcblx0XHRmb3IgKGNvbnN0IHYgb2YgdmFsdWVzKSBpZiAodiA+IHZhbHVlKSB2YWx1ZSA9IHY7XHJcblx0XHRyZXR1cm4gdmFsdWU7XHJcblx0fSxcclxufTtcclxuXHJcbmNvbnN0IENIQUlOX0NPREVfTEVOR1RIID0gMzI7XHJcbmNvbnN0IERFUFRIX0xFTkdUSCA9IDE7XHJcbmNvbnN0IEtFWV9MRU5HVEggPSAzMztcclxuY29uc3QgS0VZX1BBVEhfTEVOR1RIID0gNDtcclxuXHJcbmNvbnN0IEJFQ0gzMl9MSU1JVCA9XHJcblx0REVQVEhfTEVOR1RIICtcclxuXHQoMjU2ICoqIERFUFRIX0xFTkdUSCAtIDEpICogS0VZX1BBVEhfTEVOR1RIICtcclxuXHRDSEFJTl9DT0RFX0xFTkdUSCArXHJcblx0S0VZX0xFTkdUSDtcclxuXHJcbmNvbnN0IGdldEV4cGVjdGVkRGF0YUxlbmd0aCA9IChkZXB0aDogbnVtYmVyKSA9PlxyXG5cdERFUFRIX0xFTkdUSCArIGRlcHRoICogS0VZX1BBVEhfTEVOR1RIICsgQ0hBSU5fQ09ERV9MRU5HVEggKyBLRVlfTEVOR1RIO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGRlY2lwaGVyWHBydihzbGlwMzI6IHN0cmluZywgcGFzc3dkOiBzdHJpbmcpOiBzdHJpbmcge1xyXG5cdGNvbnN0IHsgcHJlZml4LCB3b3JkcyB9ID0gYmVjaDMyLmRlY29kZShzbGlwMzIsIEJFQ0gzMl9MSU1JVCk7XHJcblx0aWYgKHByZWZpeCAhPT0gXCJ4cHJ2XCIpIHtcclxuXHRcdHRocm93IEVycm9yKGBJbnZhbGlkIFhQUlYgaGVhZGVyOiBcIiR7cHJlZml4fVwiICE9IFwieHBydlwiYCk7XHJcblx0fVxyXG5cdGNvbnN0IGJ1ZmZlciA9IG5ldyBVaW50OEFycmF5KGJlY2gzMi5mcm9tV29yZHMod29yZHMpKS5idWZmZXI7XHJcblx0Y29uc3QgaXYgPSBidWZmZXIuc2xpY2UoMCwgMTYpO1xyXG5cdGNvbnN0IHNhbHQgPSBidWZmZXIuc2xpY2UoMTYsIDQ4KTtcclxuXHRjb25zdCBkYXRhID0gYnVmZmVyLnNsaWNlKDQ4KTtcclxuXHRjb25zdCBrZXkgPSBwYmtkZjJTeW5jKHBhc3N3ZCwgQnVmZmVyLmZyb20oc2FsdCksIDEwMDAwLCAzMiwgXCJzaGEyNTZcIik7XHJcblx0Y29uc3QgZGVjaXBoZXIgPSBjcmVhdGVEZWNpcGhlcml2KFwiYWVzLTI1Ni1jYmNcIiwga2V5LCBCdWZmZXIuZnJvbShpdikpO1xyXG5cdGxldCBkZWNyeXB0ZWQgPSBkZWNpcGhlci51cGRhdGUoQnVmZmVyLmZyb20oZGF0YSksIHVuZGVmaW5lZCwgXCJ1dGYtOFwiKTtcclxuXHRkZWNyeXB0ZWQgKz0gZGVjaXBoZXIuZmluYWwoXCJ1dGYtOFwiKTtcclxuXHRyZXR1cm4gZGVjcnlwdGVkO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZWNkc2FWZXJpZnkoXHJcblx0bXNnOiBCdWZmZXI8QXJyYXlCdWZmZXJMaWtlPixcclxuXHRwdWJLZXk6IEhleFN0cmluZyxcclxuXHRzaWduYXR1cmU6IEhleFN0cmluZyxcclxuKTogYm9vbGVhbiB7XHJcblx0cmV0dXJuIHNlY3AyNTZrMS5lY2RzYVZlcmlmeShcclxuXHRcdGZyb21IZXhTdHJpbmcoc2lnbmF0dXJlKSxcclxuXHRcdG1zZyxcclxuXHRcdGZyb21IZXhTdHJpbmcocHViS2V5KSxcclxuXHQpO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgcGFyc2VYcHJ2ID0gKFxyXG5cdHNsaXAzMjogc3RyaW5nLFxyXG4pOiB7XHJcblx0Y2hhaW5Db2RlOiBVaW50OEFycmF5O1xyXG5cdGtleVBhdGg6IEFycmF5PG51bWJlcj47XHJcblx0cHJpdmF0ZUtleTogVWludDhBcnJheTtcclxufSA9PiB7XHJcblx0Ly8gZGVjb2RlIHNsaXAzMiBzdHJpbmdcclxuXHRjb25zdCB7IHByZWZpeCwgd29yZHMgfSA9IGJlY2gzMi5kZWNvZGUoc2xpcDMyLCBCRUNIMzJfTElNSVQpO1xyXG5cdGNvbnN0IGJ5dGVzID0gYmVjaDMyLmZyb21Xb3Jkcyh3b3Jkcyk7XHJcblxyXG5cdC8vIGNoZWNrIHByZWZpeFxyXG5cdGlmIChwcmVmaXggIT09IFwieHBydlwiKSB7XHJcblx0XHR0aHJvdyBFcnJvcihgSW52YWxpZCBYUFJWOiBiYWQgaGVhZGVyOiBcIiR7cHJlZml4fVwiICE9IFwieHBydlwiYCk7XHJcblx0fVxyXG5cclxuXHQvLyBjaGVjayBleHBlY3RlZCBkYXRhIGxlbmd0aFxyXG5cdGNvbnN0IGRlcHRoID0gYnl0ZXNbMF07XHJcblx0aWYgKGRlcHRoICE9PSAwKSB7XHJcblx0XHR0aHJvdyBFcnJvcihgSW52YWxpZCBYUFJWOiBub3QgYSBtYXN0ZXIgcHJpdmF0ZSBrZXkgKGRlcHRoOiAke2RlcHRofSlgKTtcclxuXHR9XHJcblx0Y29uc3QgZXhwZWN0ZWRMZW5ndGggPSBnZXRFeHBlY3RlZERhdGFMZW5ndGgoZGVwdGgpO1xyXG5cdGlmIChieXRlcy5sZW5ndGggIT09IGV4cGVjdGVkTGVuZ3RoKSB7XHJcblx0XHR0aHJvdyBFcnJvcihcclxuXHRcdFx0XCJJbnZhbGlkIFhQUlY6IGJhZCBkYXRhIGxlbmd0aFwiICtcclxuXHRcdFx0XHRgKGV4cGVjdGVkOiAke2V4cGVjdGVkTGVuZ3RofSwgd2FzOiAke2J5dGVzLmxlbmd0aH1gLFxyXG5cdFx0KTtcclxuXHR9XHJcblx0Y29uc3QgYnVmZmVyID0gbmV3IFVpbnQ4QXJyYXkoYnl0ZXMpLmJ1ZmZlcjtcclxuXHJcblx0Ly8gZXh0cmFjdCBrZXkgcGF0aCAoMzItYml0IHVuc2lnbmVkIGludGVnZXJzLCBiaWcgZW5kaWFuKVxyXG5cdGNvbnN0IGtleVBhdGg6IEFycmF5PG51bWJlcj4gPSBbXTtcclxuXHRjb25zdCBrZXlQYXRoVmlldyA9IG5ldyBEYXRhVmlldyhcclxuXHRcdGJ1ZmZlcixcclxuXHRcdERFUFRIX0xFTkdUSCxcclxuXHRcdGRlcHRoICogS0VZX1BBVEhfTEVOR1RILFxyXG5cdCk7XHJcblx0Zm9yIChsZXQgaSA9IDA7IGkgPCBkZXB0aDsgaSsrKSB7XHJcblx0XHRrZXlQYXRoLnB1c2goa2V5UGF0aFZpZXcuZ2V0VWludDMyKGkgKiBLRVlfUEFUSF9MRU5HVEgsIGZhbHNlKSk7XHJcblx0fVxyXG5cclxuXHQvLyBleHRyYWN0IGNoYWluIGNvZGVcclxuXHRjb25zdCBjaGFpbkNvZGU6IFVpbnQ4QXJyYXkgPSBuZXcgVWludDhBcnJheShDSEFJTl9DT0RFX0xFTkdUSCk7XHJcblx0Y29uc3QgY2hhaW5Db2RlT2Zmc2V0ID0gREVQVEhfTEVOR1RIICsgZGVwdGggKiBLRVlfUEFUSF9MRU5HVEg7XHJcblx0Y29uc3QgY2hhaW5Db2RlVmlldyA9IG5ldyBEYXRhVmlldyhcclxuXHRcdGJ1ZmZlcixcclxuXHRcdGNoYWluQ29kZU9mZnNldCxcclxuXHRcdENIQUlOX0NPREVfTEVOR1RILFxyXG5cdCk7XHJcblx0Zm9yIChsZXQgaSA9IDA7IGkgPCBjaGFpbkNvZGUubGVuZ3RoOyBpKyspIHtcclxuXHRcdGNoYWluQ29kZVtpXSA9IGNoYWluQ29kZVZpZXcuZ2V0VWludDgoaSk7XHJcblx0fVxyXG5cclxuXHQvLyBleHRyYWN0IGtleSBieXRlc1xyXG5cdGNvbnN0IHByaXZhdGVLZXk6IFVpbnQ4QXJyYXkgPSBuZXcgVWludDhBcnJheShLRVlfTEVOR1RIKTtcclxuXHRjb25zdCBwcml2YXRlS2V5VmlldyA9IG5ldyBEYXRhVmlldyhcclxuXHRcdGJ1ZmZlcixcclxuXHRcdGNoYWluQ29kZU9mZnNldCArIENIQUlOX0NPREVfTEVOR1RILFxyXG5cdCk7XHJcblx0Zm9yIChsZXQgaSA9IDA7IGkgPCBwcml2YXRlS2V5Lmxlbmd0aDsgaSsrKSB7XHJcblx0XHRwcml2YXRlS2V5W2ldID0gcHJpdmF0ZUtleVZpZXcuZ2V0VWludDgoaSk7XHJcblx0fVxyXG5cclxuXHQvLyBjaGVjayBpZiBwcml2YXRlIG9yIHB1YmxpYyBrZXkgYXJlIHZhbGlkXHJcblx0aWYgKHByaXZhdGVLZXlbMF0gIT09IDAgfHwgIXNlY3AyNTZrMS5wcml2YXRlS2V5VmVyaWZ5KHByaXZhdGVLZXkuc2xpY2UoMSkpKSB7XHJcblx0XHR0aHJvdyBFcnJvcihgTWFsZm9ybWVkIHNsaXAzMjogbm90IGEgcHJpdmF0ZSBrZXlgKTtcclxuXHR9XHJcblxyXG5cdHJldHVybiB7XHJcblx0XHRjaGFpbkNvZGUsXHJcblx0XHRrZXlQYXRoLFxyXG5cdFx0cHJpdmF0ZUtleTogcHJpdmF0ZUtleS5zbGljZSgxKSxcclxuXHR9O1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHNlbGVjdFV0eG9zKHNwZWNzOiB7XHJcblx0dXR4b3M6IEFycmF5PFV0eG8+O1xyXG5cdHZhbHVlPzogQ29pbnM7XHJcblx0c3RyYXRlZ3k/OiBVdHhvU2VsZWN0aW9uU3RyYXRlZ3k7XHJcbn0pOiBBcnJheTxVdHhvPiB7XHJcblx0Y29uc3Qgc3RyYXRlZ3kgPSBzcGVjcy5zdHJhdGVneSB8fCBVdHhvU2VsZWN0aW9uU3RyYXRlZ3kuU2xpbUZpdDtcclxuXHRzd2l0Y2ggKHN0cmF0ZWd5KSB7XHJcblx0XHRjYXNlIFV0eG9TZWxlY3Rpb25TdHJhdGVneS5CaWdGaXJzdDpcclxuXHRcdGNhc2UgVXR4b1NlbGVjdGlvblN0cmF0ZWd5LlNsaW1GaXQ6XHJcblx0XHRcdHNwZWNzLnV0eG9zID0gc3BlY3MudXR4b3Muc29ydCgoYSwgYikgPT5cclxuXHRcdFx0XHRhLnZhbHVlID4gYi52YWx1ZSA/IC0xIDogYS52YWx1ZSA8IGIudmFsdWUgPyAxIDogMCxcclxuXHRcdFx0KTtcclxuXHRcdFx0YnJlYWs7XHJcblxyXG5cdFx0Y2FzZSBVdHhvU2VsZWN0aW9uU3RyYXRlZ3kuUmFuZG9tOiB7XHJcblx0XHRcdGNvbnN0IGxlbiA9IHNwZWNzLnV0eG9zLmxlbmd0aDtcclxuXHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBsZW47IGkrKykge1xyXG5cdFx0XHRcdGNvbnN0IGluZGV4ID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKGxlbiAtIGkpKTtcclxuXHRcdFx0XHRjb25zdCB0bXAgPSBzcGVjcy51dHhvc1tpbmRleF07XHJcblx0XHRcdFx0c3BlY3MudXR4b3NbaW5kZXhdID0gc3BlY3MudXR4b3NbbGVuIC0gaSAtIDFdO1xyXG5cdFx0XHRcdHNwZWNzLnV0eG9zW2xlbiAtIGkgLSAxXSA9IHRtcDtcclxuXHRcdFx0fVxyXG5cdFx0XHRicmVhaztcclxuXHRcdH1cclxuXHJcblx0XHRjYXNlIFV0eG9TZWxlY3Rpb25TdHJhdGVneS5TbWFsbEZpcnN0OlxyXG5cdFx0XHRzcGVjcy51dHhvcyA9IHNwZWNzLnV0eG9zLnNvcnQoKGEsIGIpID0+XHJcblx0XHRcdFx0YS52YWx1ZSA8IGIudmFsdWUgPyAtMSA6IGEudmFsdWUgPiBiLnZhbHVlID8gMSA6IDAsXHJcblx0XHRcdCk7XHJcblx0XHRcdGJyZWFrO1xyXG5cdH1cclxuXHJcblx0Ly8gZmlsdGVyIGxvY2tlZCBVVFhPczpcclxuXHRjb25zdCBub3cgPSBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKTtcclxuXHRzcGVjcy51dHhvcyA9IHNwZWNzLnV0eG9zLmZpbHRlcigodXR4bykgPT4gdXR4by50aW1lbG9jayA8PSBub3cpO1xyXG5cclxuXHQvLyBpZiB0YXJnZXQgdmFsdWUgaXMgc3BlY2lmaWVkLCBmaWx0ZXIgc3BhcmUgVVRYT3NcclxuXHRjb25zdCBwZWRyb3MgPSBzcGVjcz8udmFsdWU/LnBlZHJvcztcclxuXHRpZiAocGVkcm9zKSB7XHJcblx0XHRpZiAoc3RyYXRlZ3kgPT09IFV0eG9TZWxlY3Rpb25TdHJhdGVneS5TbGltRml0KSB7XHJcblx0XHRcdGNvbnN0IHNsaW1GaXRJbmRleCA9IHNwZWNzLnV0eG9zLmZpbmRJbmRleChcclxuXHRcdFx0XHQodXR4bykgPT4gdXR4by52YWx1ZSA8PSBwZWRyb3MsXHJcblx0XHRcdCk7XHJcblx0XHRcdGlmIChzbGltRml0SW5kZXggPj0gMSkge1xyXG5cdFx0XHRcdHJldHVybiBzcGVjcy51dHhvcy5zbGljZShzbGltRml0SW5kZXggLSAxLCBzbGltRml0SW5kZXgpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRsZXQgY292ZXJlZDogYmlnaW50ID0gMG47XHJcblx0XHRyZXR1cm4gc3BlY3MudXR4b3MuZmlsdGVyKCh1dHhvKSA9PiB7XHJcblx0XHRcdGNvbnN0IGZpbHRlciA9IGNvdmVyZWQgPD0gcGVkcm9zO1xyXG5cdFx0XHRjb3ZlcmVkICs9IEJpZ0ludCh1dHhvLnZhbHVlKTtcclxuXHRcdFx0cmV0dXJuIGZpbHRlcjtcclxuXHRcdH0pO1xyXG5cdH0gZWxzZSB7XHJcblx0XHRyZXR1cm4gc3BlY3MudXR4b3M7XHJcblx0fVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gc2hhMjU2KGJ1ZmZlcjogYW55KSB7XHJcblx0Y29uc3QgaGFzaCA9IGNyZWF0ZUhhc2goXCJzaGEyNTZcIik7XHJcblx0aGFzaC51cGRhdGUoYnVmZmVyKTtcclxuXHRyZXR1cm4gaGFzaC5kaWdlc3QoKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHRvdGFsQ29pbnMoYmFsYW5jZTogQmFsYW5jZSk6IENvaW5zIHtcclxuXHRyZXR1cm4gQ29pbnMuZnJvbVBlZHJvcyhcclxuXHRcdEJpZ0ludChiYWxhbmNlLmxvY2tlZCkgKyBCaWdJbnQoYmFsYW5jZS5zdGFrZWQpICsgQmlnSW50KGJhbGFuY2UudW5sb2NrZWQpLFxyXG5cdCk7XHJcbn1cclxuIl19
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NyeXB0by91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2hDLE9BQU8sU0FBUyxNQUFNLFdBQVcsQ0FBQztBQUVsQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxLQUFLLEVBQWEscUJBQXFCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFckUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVoQyxPQUFPLEVBR04sU0FBUyxFQUNULGFBQWEsRUFDYixvQkFBb0IsRUFDcEIsU0FBUyxHQUNULE1BQU0sWUFBWSxDQUFDO0FBRXBCLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRztJQUN0QixHQUFHLENBQUMsS0FBYSxFQUFFLEdBQUcsTUFBZ0I7UUFDckMsS0FBSyxNQUFNLENBQUMsSUFBSSxNQUFNO1lBQUUsSUFBSSxDQUFDLEdBQUcsS0FBSztnQkFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2pELE9BQU8sS0FBSyxDQUFDO0lBQ2QsQ0FBQztDQUNELENBQUM7QUFFRixNQUFNLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztBQUM3QixNQUFNLFlBQVksR0FBRyxDQUFDLENBQUM7QUFDdkIsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO0FBQ3RCLE1BQU0sZUFBZSxHQUFHLENBQUMsQ0FBQztBQUUxQixNQUFNLFlBQVksR0FDakIsWUFBWTtJQUNaLENBQUMsR0FBRyxJQUFJLFlBQVksR0FBRyxDQUFDLENBQUMsR0FBRyxlQUFlO0lBQzNDLGlCQUFpQjtJQUNqQixVQUFVLENBQUM7QUFFWixNQUFNLHFCQUFx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QUFNLFVBQVUsVUFBVSxDQUFDLE9BQWdCO0lBQzFDLE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FDdEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQzFFLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlRGVjaXBoZXJpdiwgY3JlYXRlSGFzaCwgcGJrZGYyU3luYyB9IGZyb20gXCJub2RlOmNyeXB0b1wiO1xuaW1wb3J0IHsgYmVjaDMyIH0gZnJvbSBcImJlY2gzMlwiO1xuaW1wb3J0IHNlY3AyNTZrMSBmcm9tIFwic2VjcDI1NmsxXCI7XG5pbXBvcnQgdHlwZSB7IEJhbGFuY2UsIEhleFN0cmluZyB9IGZyb20gXCIuLi90eXBlcy5qc1wiO1xuaW1wb3J0IHsgZnJvbUhleFN0cmluZyB9IGZyb20gXCIuLi91dGlscy5qc1wiO1xuaW1wb3J0IHsgQ29pbnMsIHR5cGUgVXR4bywgVXR4b1NlbGVjdGlvblN0cmF0ZWd5IH0gZnJvbSBcIi4vdHlwZXMuanNcIjtcblxuZXhwb3J0IHsgYmVjaDMyIH0gZnJvbSBcImJlY2gzMlwiO1xuXG5leHBvcnQge1xuXHRLZXllZFNpZ25hdHVyZSxcblx0UHJpdmF0ZUtleSxcblx0UHVibGljS2V5LFxuXHRQdWJsaWNLZXlIYXNoLFxuXHRSZWNvdmVyYWJsZVNpZ25hdHVyZSxcblx0U2lnbmF0dXJlLFxufSBmcm9tIFwiLi90eXBlcy5qc1wiO1xuXG5leHBvcnQgY29uc3QgQmlnTWF0aCA9IHtcblx0bWF4KHZhbHVlOiBiaWdpbnQsIC4uLnZhbHVlczogYmlnaW50W10pOiBiaWdpbnQge1xuXHRcdGZvciAoY29uc3QgdiBvZiB2YWx1ZXMpIGlmICh2ID4gdmFsdWUpIHZhbHVlID0gdjtcblx0XHRyZXR1cm4gdmFsdWU7XG5cdH0sXG59O1xuXG5jb25zdCBDSEFJTl9DT0RFX0xFTkdUSCA9IDMyO1xuY29uc3QgREVQVEhfTEVOR1RIID0gMTtcbmNvbnN0IEtFWV9MRU5HVEggPSAzMztcbmNvbnN0IEtFWV9QQVRIX0xFTkdUSCA9IDQ7XG5cbmNvbnN0IEJFQ0gzMl9MSU1JVCA9XG5cdERFUFRIX0xFTkdUSCArXG5cdCgyNTYgKiogREVQVEhfTEVOR1RIIC0gMSkgKiBLRVlfUEFUSF9MRU5HVEggK1xuXHRDSEFJTl9DT0RFX0xFTkdUSCArXG5cdEtFWV9MRU5HVEg7XG5cbmNvbnN0IGdldEV4cGVjdGVkRGF0YUxlbmd0aCA9IChkZXB0aDogbnVtYmVyKSA9PlxuXHRERVBUSF9MRU5HVEggKyBkZXB0aCAqIEtFWV9QQVRIX0xFTkdUSCArIENIQUlOX0NPREVfTEVOR1RIICsgS0VZX0xFTkdUSDtcblxuZXhwb3J0IGZ1bmN0aW9uIGRlY2lwaGVyWHBydihzbGlwMzI6IHN0cmluZywgcGFzc3dkOiBzdHJpbmcpOiBzdHJpbmcge1xuXHRjb25zdCB7IHByZWZpeCwgd29yZHMgfSA9IGJlY2gzMi5kZWNvZGUoc2xpcDMyLCBCRUNIMzJfTElNSVQpO1xuXHRpZiAocHJlZml4ICE9PSBcInhwcnZcIikge1xuXHRcdHRocm93IEVycm9yKGBJbnZhbGlkIFhQUlYgaGVhZGVyOiBcIiR7cHJlZml4fVwiICE9IFwieHBydlwiYCk7XG5cdH1cblx0Y29uc3QgYnVmZmVyID0gbmV3IFVpbnQ4QXJyYXkoYmVjaDMyLmZyb21Xb3Jkcyh3b3JkcykpLmJ1ZmZlcjtcblx0Y29uc3QgaXYgPSBidWZmZXIuc2xpY2UoMCwgMTYpO1xuXHRjb25zdCBzYWx0ID0gYnVmZmVyLnNsaWNlKDE2LCA0OCk7XG5cdGNvbnN0IGRhdGEgPSBidWZmZXIuc2xpY2UoNDgpO1xuXHRjb25zdCBrZXkgPSBwYmtkZjJTeW5jKHBhc3N3ZCwgQnVmZmVyLmZyb20oc2FsdCksIDEwMDAwLCAzMiwgXCJzaGEyNTZcIik7XG5cdGNvbnN0IGRlY2lwaGVyID0gY3JlYXRlRGVjaXBoZXJpdihcImFlcy0yNTYtY2JjXCIsIGtleSwgQnVmZmVyLmZyb20oaXYpKTtcblx0bGV0IGRlY3J5cHRlZCA9IGRlY2lwaGVyLnVwZGF0ZShCdWZmZXIuZnJvbShkYXRhKSwgdW5kZWZpbmVkLCBcInV0Zi04XCIpO1xuXHRkZWNyeXB0ZWQgKz0gZGVjaXBoZXIuZmluYWwoXCJ1dGYtOFwiKTtcblx0cmV0dXJuIGRlY3J5cHRlZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVjZHNhVmVyaWZ5KFxuXHRtc2c6IEJ1ZmZlcjxBcnJheUJ1ZmZlckxpa2U+LFxuXHRwdWJLZXk6IEhleFN0cmluZyxcblx0c2lnbmF0dXJlOiBIZXhTdHJpbmcsXG4pOiBib29sZWFuIHtcblx0cmV0dXJuIHNlY3AyNTZrMS5lY2RzYVZlcmlmeShcblx0XHRmcm9tSGV4U3RyaW5nKHNpZ25hdHVyZSksXG5cdFx0bXNnLFxuXHRcdGZyb21IZXhTdHJpbmcocHViS2V5KSxcblx0KTtcbn1cblxuZXhwb3J0IGNvbnN0IHBhcnNlWHBydiA9IChcblx0c2xpcDMyOiBzdHJpbmcsXG4pOiB7XG5cdGNoYWluQ29kZTogVWludDhBcnJheTtcblx0a2V5UGF0aDogQXJyYXk8bnVtYmVyPjtcblx0cHJpdmF0ZUtleTogVWludDhBcnJheTtcbn0gPT4ge1xuXHQvLyBkZWNvZGUgc2xpcDMyIHN0cmluZ1xuXHRjb25zdCB7IHByZWZpeCwgd29yZHMgfSA9IGJlY2gzMi5kZWNvZGUoc2xpcDMyLCBCRUNIMzJfTElNSVQpO1xuXHRjb25zdCBieXRlcyA9IGJlY2gzMi5mcm9tV29yZHMod29yZHMpO1xuXG5cdC8vIGNoZWNrIHByZWZpeFxuXHRpZiAocHJlZml4ICE9PSBcInhwcnZcIikge1xuXHRcdHRocm93IEVycm9yKGBJbnZhbGlkIFhQUlY6IGJhZCBoZWFkZXI6IFwiJHtwcmVmaXh9XCIgIT0gXCJ4cHJ2XCJgKTtcblx0fVxuXG5cdC8vIGNoZWNrIGV4cGVjdGVkIGRhdGEgbGVuZ3RoXG5cdGNvbnN0IGRlcHRoID0gYnl0ZXNbMF07XG5cdGlmIChkZXB0aCAhPT0gMCkge1xuXHRcdHRocm93IEVycm9yKGBJbnZhbGlkIFhQUlY6IG5vdCBhIG1hc3RlciBwcml2YXRlIGtleSAoZGVwdGg6ICR7ZGVwdGh9KWApO1xuXHR9XG5cdGNvbnN0IGV4cGVjdGVkTGVuZ3RoID0gZ2V0RXhwZWN0ZWREYXRhTGVuZ3RoKGRlcHRoKTtcblx0aWYgKGJ5dGVzLmxlbmd0aCAhPT0gZXhwZWN0ZWRMZW5ndGgpIHtcblx0XHR0aHJvdyBFcnJvcihcblx0XHRcdFwiSW52YWxpZCBYUFJWOiBiYWQgZGF0YSBsZW5ndGhcIiArXG5cdFx0XHRcdGAoZXhwZWN0ZWQ6ICR7ZXhwZWN0ZWRMZW5ndGh9LCB3YXM6ICR7Ynl0ZXMubGVuZ3RofWAsXG5cdFx0KTtcblx0fVxuXHRjb25zdCBidWZmZXIgPSBuZXcgVWludDhBcnJheShieXRlcykuYnVmZmVyO1xuXG5cdC8vIGV4dHJhY3Qga2V5IHBhdGggKDMyLWJpdCB1bnNpZ25lZCBpbnRlZ2VycywgYmlnIGVuZGlhbilcblx0Y29uc3Qga2V5UGF0aDogQXJyYXk8bnVtYmVyPiA9IFtdO1xuXHRjb25zdCBrZXlQYXRoVmlldyA9IG5ldyBEYXRhVmlldyhcblx0XHRidWZmZXIsXG5cdFx0REVQVEhfTEVOR1RILFxuXHRcdGRlcHRoICogS0VZX1BBVEhfTEVOR1RILFxuXHQpO1xuXHRmb3IgKGxldCBpID0gMDsgaSA8IGRlcHRoOyBpKyspIHtcblx0XHRrZXlQYXRoLnB1c2goa2V5UGF0aFZpZXcuZ2V0VWludDMyKGkgKiBLRVlfUEFUSF9MRU5HVEgsIGZhbHNlKSk7XG5cdH1cblxuXHQvLyBleHRyYWN0IGNoYWluIGNvZGVcblx0Y29uc3QgY2hhaW5Db2RlOiBVaW50OEFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoQ0hBSU5fQ09ERV9MRU5HVEgpO1xuXHRjb25zdCBjaGFpbkNvZGVPZmZzZXQgPSBERVBUSF9MRU5HVEggKyBkZXB0aCAqIEtFWV9QQVRIX0xFTkdUSDtcblx0Y29uc3QgY2hhaW5Db2RlVmlldyA9IG5ldyBEYXRhVmlldyhcblx0XHRidWZmZXIsXG5cdFx0Y2hhaW5Db2RlT2Zmc2V0LFxuXHRcdENIQUlOX0NPREVfTEVOR1RILFxuXHQpO1xuXHRmb3IgKGxldCBpID0gMDsgaSA8IGNoYWluQ29kZS5sZW5ndGg7IGkrKykge1xuXHRcdGNoYWluQ29kZVtpXSA9IGNoYWluQ29kZVZpZXcuZ2V0VWludDgoaSk7XG5cdH1cblxuXHQvLyBleHRyYWN0IGtleSBieXRlc1xuXHRjb25zdCBwcml2YXRlS2V5OiBVaW50OEFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoS0VZX0xFTkdUSCk7XG5cdGNvbnN0IHByaXZhdGVLZXlWaWV3ID0gbmV3IERhdGFWaWV3KFxuXHRcdGJ1ZmZlcixcblx0XHRjaGFpbkNvZGVPZmZzZXQgKyBDSEFJTl9DT0RFX0xFTkdUSCxcblx0KTtcblx0Zm9yIChsZXQgaSA9IDA7IGkgPCBwcml2YXRlS2V5Lmxlbmd0aDsgaSsrKSB7XG5cdFx0cHJpdmF0ZUtleVtpXSA9IHByaXZhdGVLZXlWaWV3LmdldFVpbnQ4KGkpO1xuXHR9XG5cblx0Ly8gY2hlY2sgaWYgcHJpdmF0ZSBvciBwdWJsaWMga2V5IGFyZSB2YWxpZFxuXHRpZiAocHJpdmF0ZUtleVswXSAhPT0gMCB8fCAhc2VjcDI1NmsxLnByaXZhdGVLZXlWZXJpZnkocHJpdmF0ZUtleS5zbGljZSgxKSkpIHtcblx0XHR0aHJvdyBFcnJvcihgTWFsZm9ybWVkIHNsaXAzMjogbm90IGEgcHJpdmF0ZSBrZXlgKTtcblx0fVxuXG5cdHJldHVybiB7XG5cdFx0Y2hhaW5Db2RlLFxuXHRcdGtleVBhdGgsXG5cdFx0cHJpdmF0ZUtleTogcHJpdmF0ZUtleS5zbGljZSgxKSxcblx0fTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBzZWxlY3RVdHhvcyhzcGVjczoge1xuXHR1dHhvczogQXJyYXk8VXR4bz47XG5cdHZhbHVlPzogQ29pbnM7XG5cdHN0cmF0ZWd5PzogVXR4b1NlbGVjdGlvblN0cmF0ZWd5O1xufSk6IEFycmF5PFV0eG8+IHtcblx0Y29uc3Qgc3RyYXRlZ3kgPSBzcGVjcy5zdHJhdGVneSB8fCBVdHhvU2VsZWN0aW9uU3RyYXRlZ3kuU2xpbUZpdDtcblx0c3dpdGNoIChzdHJhdGVneSkge1xuXHRcdGNhc2UgVXR4b1NlbGVjdGlvblN0cmF0ZWd5LkJpZ0ZpcnN0OlxuXHRcdGNhc2UgVXR4b1NlbGVjdGlvblN0cmF0ZWd5LlNsaW1GaXQ6XG5cdFx0XHRzcGVjcy51dHhvcyA9IHNwZWNzLnV0eG9zLnNvcnQoKGEsIGIpID0+XG5cdFx0XHRcdGEudmFsdWUgPiBiLnZhbHVlID8gLTEgOiBhLnZhbHVlIDwgYi52YWx1ZSA/IDEgOiAwLFxuXHRcdFx0KTtcblx0XHRcdGJyZWFrO1xuXG5cdFx0Y2FzZSBVdHhvU2VsZWN0aW9uU3RyYXRlZ3kuUmFuZG9tOiB7XG5cdFx0XHRjb25zdCBsZW4gPSBzcGVjcy51dHhvcy5sZW5ndGg7XG5cdFx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG5cdFx0XHRcdGNvbnN0IGluZGV4ID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKGxlbiAtIGkpKTtcblx0XHRcdFx0Y29uc3QgdG1wID0gc3BlY3MudXR4b3NbaW5kZXhdO1xuXHRcdFx0XHRzcGVjcy51dHhvc1tpbmRleF0gPSBzcGVjcy51dHhvc1tsZW4gLSBpIC0gMV07XG5cdFx0XHRcdHNwZWNzLnV0eG9zW2xlbiAtIGkgLSAxXSA9IHRtcDtcblx0XHRcdH1cblx0XHRcdGJyZWFrO1xuXHRcdH1cblxuXHRcdGNhc2UgVXR4b1NlbGVjdGlvblN0cmF0ZWd5LlNtYWxsRmlyc3Q6XG5cdFx0XHRzcGVjcy51dHhvcyA9IHNwZWNzLnV0eG9zLnNvcnQoKGEsIGIpID0+XG5cdFx0XHRcdGEudmFsdWUgPCBiLnZhbHVlID8gLTEgOiBhLnZhbHVlID4gYi52YWx1ZSA/IDEgOiAwLFxuXHRcdFx0KTtcblx0XHRcdGJyZWFrO1xuXHR9XG5cblx0Ly8gZmlsdGVyIGxvY2tlZCBVVFhPczpcblx0Y29uc3Qgbm93ID0gTWF0aC5mbG9vcihEYXRlLm5vdygpIC8gMTAwMCk7XG5cdHNwZWNzLnV0eG9zID0gc3BlY3MudXR4b3MuZmlsdGVyKCh1dHhvKSA9PiB1dHhvLnRpbWVsb2NrIDw9IG5vdyk7XG5cblx0Ly8gaWYgdGFyZ2V0IHZhbHVlIGlzIHNwZWNpZmllZCwgZmlsdGVyIHNwYXJlIFVUWE9zXG5cdGNvbnN0IHBlZHJvcyA9IHNwZWNzPy52YWx1ZT8ucGVkcm9zO1xuXHRpZiAocGVkcm9zKSB7XG5cdFx0aWYgKHN0cmF0ZWd5ID09PSBVdHhvU2VsZWN0aW9uU3RyYXRlZ3kuU2xpbUZpdCkge1xuXHRcdFx0Y29uc3Qgc2xpbUZpdEluZGV4ID0gc3BlY3MudXR4b3MuZmluZEluZGV4KFxuXHRcdFx0XHQodXR4bykgPT4gdXR4by52YWx1ZSA8PSBwZWRyb3MsXG5cdFx0XHQpO1xuXHRcdFx0aWYgKHNsaW1GaXRJbmRleCA+PSAxKSB7XG5cdFx0XHRcdHJldHVybiBzcGVjcy51dHhvcy5zbGljZShzbGltRml0SW5kZXggLSAxLCBzbGltRml0SW5kZXgpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRsZXQgY292ZXJlZDogYmlnaW50ID0gMG47XG5cdFx0cmV0dXJuIHNwZWNzLnV0eG9zLmZpbHRlcigodXR4bykgPT4ge1xuXHRcdFx0Y29uc3QgZmlsdGVyID0gY292ZXJlZCA8PSBwZWRyb3M7XG5cdFx0XHRjb3ZlcmVkICs9IEJpZ0ludCh1dHhvLnZhbHVlKTtcblx0XHRcdHJldHVybiBmaWx0ZXI7XG5cdFx0fSk7XG5cdH0gZWxzZSB7XG5cdFx0cmV0dXJuIHNwZWNzLnV0eG9zO1xuXHR9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzaGEyNTYoYnVmZmVyOiBhbnkpIHtcblx0Y29uc3QgaGFzaCA9IGNyZWF0ZUhhc2goXCJzaGEyNTZcIik7XG5cdGhhc2gudXBkYXRlKGJ1ZmZlcik7XG5cdHJldHVybiBoYXNoLmRpZ2VzdCgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG90YWxDb2lucyhiYWxhbmNlOiBCYWxhbmNlKTogQ29pbnMge1xuXHRyZXR1cm4gQ29pbnMuZnJvbVBlZHJvcyhcblx0XHRCaWdJbnQoYmFsYW5jZS5sb2NrZWQpICsgQmlnSW50KGJhbGFuY2Uuc3Rha2VkKSArIEJpZ0ludChiYWxhbmNlLnVubG9ja2VkKSxcblx0KTtcbn1cbiJdfQ==
|
|
@@ -244,4 +244,4 @@ export class Wallet {
|
|
|
244
244
|
return account?.getSigner(pkh) || this.coinbase.getSigner(pkh);
|
|
245
245
|
}
|
|
246
246
|
}
|
|
247
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jcnlwdG8vd2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxHQUFHLE1BQU0seUJBQXlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNyQyxPQUFPLEtBQUssS0FBSyxNQUFNLFlBQVksQ0FBQztBQUVwQyxNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7QUFFaEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFNTixhQUFhLEdBQ2IsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBU3pDLE9BQU8sRUFNTixxQkFBcUIsR0FDckIsTUFBTSxZQUFZLENBQUM7QUFFcEIsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO0FBRXZCLE1BQU0sT0FBTyxNQUFNO0lBQ1IsSUFBSSxDQUFTO0lBRWIsU0FBUyxHQUFvQixFQUFFLENBQUM7SUFFMUIsUUFBUSxDQUFZO0lBQ3BCLFFBQVEsQ0FBbUI7SUFDcEMsUUFBUSxDQUF3QjtJQUV2Qzs7O09BR0c7SUFDSCxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQXlCcEI7UUFDQSxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDO1FBQ3RELElBQUksQ0FBQyxJQUFJO1lBQ1IsTUFBTSxLQUFLLENBQUMsMERBQTBELENBQUMsQ0FBQztRQUN6RSxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNO2dCQUNsQixNQUFNLEtBQUssQ0FBQyxv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QyxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUN0RSxJQUFJLE9BQU8sQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxLQUFLLEdBQUcsRUFBRSxDQUFDO29CQUN6RCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDN0IsT0FBTyxPQUFPLENBQUM7Z0JBQ2hCLENBQUM7WUFDRixDQUFDO1lBQ0QsT0FBTyxTQUFTLENBQUM7UUFDbEIsQ0FBQzthQUFNLENBQUM7WUFDUCxPQUFPLE9BQU8sQ0FBQztRQUNoQixDQUFDO0lBQ0YsQ0FBQztJQUVNLFNBQVMsQ0FDZixHQUF5QixFQUN6QixHQUFZO1FBRVosSUFBSSxDQUFDLEdBQUc7WUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDMUMsT0FBTyxPQUFPLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7Q0FDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGVjYyBmcm9tIFwiQGJpdGNvaW5lcmxhYi9zZWNwMjU2azFcIjtcclxuXHJcbmltcG9ydCB7IEJJUDMyRmFjdG9yeSB9IGZyb20gXCJiaXAzMlwiO1xyXG5pbXBvcnQgKiBhcyB1dGlscyBmcm9tIFwiLi91dGlscy5qc1wiO1xyXG5cclxuY29uc3QgYmlwMzIgPSBCSVAzMkZhY3RvcnkoZWNjKTtcclxuXHJcbmltcG9ydCB7IEpzb25ScGNQcm92aWRlciB9IGZyb20gXCIuLi9ycGMvaW5kZXguanNcIjtcclxuaW1wb3J0IHtcclxuXHR0eXBlIEJhbGFuY2UsXHJcblx0dHlwZSBIZXhTdHJpbmcsXHJcblx0dHlwZSBOZXR3b3JrLFxyXG5cdHR5cGUgUXVlcnlTdGFrZXNPcmRlcixcclxuXHR0eXBlIFN0YWtlRW50cnksXHJcblx0U3Rha2VzT3JkZXJCeSxcclxufSBmcm9tIFwiLi4vdHlwZXMuanNcIjtcclxuaW1wb3J0IHsgQWNjb3VudCB9IGZyb20gXCIuL2FjY291bnQuanNcIjtcclxuaW1wb3J0IHsgQ29pbmJhc2UgfSBmcm9tIFwiLi9jb2luYmFzZS5qc1wiO1xyXG5pbXBvcnQgdHlwZSB7XHJcblx0SUFjY291bnQsXHJcblx0SUJJUDMyLFxyXG5cdElDb2luYmFzZSxcclxuXHRJSnNvblJwY1Byb3ZpZGVyLFxyXG5cdElTaWduZXIsXHJcblx0SVdhbGxldCxcclxufSBmcm9tIFwiLi9pbnRlcmZhY2VzLmpzXCI7XHJcbmltcG9ydCB7XHJcblx0dHlwZSBDb2lucyxcclxuXHR0eXBlIFB1YmxpY0tleSxcclxuXHR0eXBlIFB1YmxpY0tleUhhc2hTdHJpbmcsXHJcblx0dHlwZSBVdHhvLFxyXG5cdHR5cGUgVXR4b0NhY2hlSW5mbyxcclxuXHRVdHhvU2VsZWN0aW9uU3RyYXRlZ3ksXHJcbn0gZnJvbSBcIi4vdHlwZXMuanNcIjtcclxuXHJcbmNvbnN0IERFRkFVTFRfR0FQID0gMjA7XHJcblxyXG5leHBvcnQgY2xhc3MgV2FsbGV0IGltcGxlbWVudHMgSVdhbGxldCB7XHJcblx0cHJvdGVjdGVkIHJvb3Q6IElCSVAzMjtcclxuXHJcblx0cHJvdGVjdGVkIF9hY2NvdW50czogQXJyYXk8SUFjY291bnQ+ID0gW107XHJcblxyXG5cdHB1YmxpYyByZWFkb25seSBjb2luYmFzZTogSUNvaW5iYXNlO1xyXG5cdHB1YmxpYyByZWFkb25seSBwcm92aWRlcjogSUpzb25ScGNQcm92aWRlcjtcclxuXHRwdWJsaWMgc3RyYXRlZ3k6IFV0eG9TZWxlY3Rpb25TdHJhdGVneTtcclxuXHJcblx0LyoqXHJcblx0ICogQ3JlYXRlIGEgV2FsbGV0IGJ5IHJlYWRpbmcgdGhlIFhQUlYgbWFzdGVyIGtleSBmcm9tIHRoZSBXSVRORVRfU0RLX1dBTExFVF9NQVNURVJfS0VZIGVudmlyb25tZW50IHZhcmlhYmxlLlxyXG5cdCAqIEBwYXJhbSBzcGVjcyBXYWxsZXQgY3JlYXRpb24gcGFyYW1ldGVycy5cclxuXHQgKi9cclxuXHRzdGF0aWMgYXN5bmMgZnJvbUVudihvcHRpb25zOiB7XHJcblx0XHQvKipcclxuXHRcdCAqIFBhc3N3b3JkIHRvIGRlY3J5cHQgdGhlIFhQUlYgbWFzdGVyIGtleSByZWFkIGZyb20gZW52aXJvbm1lbnQsIGluIGNhc2UgaXQncyBlbmNyeXB0ZWQuXHJcblx0XHQgKi9cclxuXHRcdHBhc3N3ZD86IHN0cmluZztcclxuXHRcdC8qKlxyXG5cdFx0ICogTnVtYmVyIG9mIGNvbnNlY3V0aXZlIGFjY291bnRzIHdpdGggbm8gZnVuZHMgYmVmb3JlIHN0b3BwaW5nIGRlcml2YXRpb24gb2YgbmV3IFdhbGxldCBhY2NvdW50cy5cclxuXHRcdCAqL1xyXG5cdFx0Z2FwPzogbnVtYmVyO1xyXG5cdFx0LyoqXHJcblx0XHQgKiBNYXhpbXVtIG51bWJlciBvZiBhY2NvdW50cyB0byBkZXJpdmUuXHJcblx0XHQgKi9cclxuXHRcdGxpbWl0PzogbnVtYmVyO1xyXG5cdFx0LyoqXHJcblx0XHQgKiBTcGVjaWZpYyBXaXQvUlBDIHByb3ZpZGVyIHRvIHVzZSBmb3IgaW50ZXJhY3Rpbmcgd2l0aCB0aGUgV2l0bmV0IG5ldHdvcmsuXHJcblx0XHQgKi9cclxuXHRcdHByb3ZpZGVyPzogSUpzb25ScGNQcm92aWRlcjtcclxuXHRcdC8qKlxyXG5cdFx0ICogVVRYTyBzZWxlY3Rpb24gc3RyYXRlZ3kgd2hlbiBidWlsZGluZyB0cmFuc2FjdGlvbnMgb3V0IG9mIHRoaXMgd2FsbGV0IChkZWZhdWx0OiBVdHhvU2VsZWN0aW9uU3RyYXRlZ3kuU21hbGxGaXJzdCkuXHJcblx0XHQgKi9cclxuXHRcdHN0cmF0ZWd5PzogVXR4b1NlbGVjdGlvblN0cmF0ZWd5O1xyXG5cdFx0LyoqXHJcblx0XHQgKiBPbmx5IGRlcml2ZSBhY2NvdW50cyB0aGF0IGhvbGQgc29tZSB1bmxvY2tlZCBiYWxhbmNlIG9mICRXSVQuXHJcblx0XHQgKi9cclxuXHRcdG9ubHlXaXRoRnVuZHM/OiBib29sZWFuO1xyXG5cdH0pOiBQcm9taXNlPFdhbGxldD4ge1xyXG5cdFx0Y29uc3QgeHBydiA9IHByb2Nlc3MuZW52LldJVE5FVF9TREtfV0FMTEVUX01BU1RFUl9LRVk7XHJcblx0XHRpZiAoIXhwcnYpXHJcblx0XHRcdHRocm93IEVycm9yKGBXSVRORVRfU0RLX1dBTExFVF9NQVNURVJfS0VZIG11c3QgYmUgc2V0IG9uIGVudmlyb25tZW50LmApO1xyXG5cdFx0aWYgKHhwcnYubGVuZ3RoID4gMTE3KSB7XHJcblx0XHRcdGlmICghb3B0aW9ucy5wYXNzd2QpXHJcblx0XHRcdFx0dGhyb3cgRXJyb3IoYE1pc3NpbmcgcGFzc3dvcmQgZm9yIFdJVE5FVF9TREtfV0FMTEVUX01BU1RFUl9LRVkuYCk7XHJcblx0XHRcdHJldHVybiBXYWxsZXQuZnJvbUVuY3J5cHRlZFhwcnYoeHBydiwgb3B0aW9ucz8ucGFzc3dkLCBvcHRpb25zKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHJldHVybiBXYWxsZXQuZnJvbVhwcnYoeHBydiwgb3B0aW9ucyk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBDcmVhdGUgYSBXYWxsZXQgYnkgdXNpbmcgcGFzc2VkIFhQUlYgbWFzdGVyIGtleS5cclxuXHQgKiBAcGFyYW0geHBydiBEZWNyeXB0ZWQgWFBSViBtYXN0ZXIga2V5IHN0cmluZy5cclxuXHQgKiBAcGFyYW0gb3B0aW9ucyBXYWxsZXQgY3JlYXRpb24gcGFyYW1ldGVycy5cclxuXHQgKi9cclxuXHRzdGF0aWMgYXN5bmMgZnJvbVhwcnYoXHJcblx0XHR4cHJ2OiBzdHJpbmcsXHJcblx0XHRvcHRpb25zPzoge1xyXG5cdFx0XHQvKipcclxuXHRcdFx0ICogTnVtYmVyIG9mIGNvbnNlY3V0aXZlIGFjY291bnRzIHdpdGggbm8gZnVuZHMgYmVmb3JlIHN0b3BwaW5nIGRlcml2YXRpb24gb2YgbmV3IFdhbGxldCBhY2NvdW50cy5cclxuXHRcdFx0ICovXHJcblx0XHRcdGdhcD86IG51bWJlcjtcclxuXHRcdFx0LyoqXHJcblx0XHRcdCAqIE1heGltdW0gbnVtYmVyIG9mIGFjY291bnRzIHRvIGRlcml2ZS5cclxuXHRcdFx0ICovXHJcblx0XHRcdGxpbWl0PzogbnVtYmVyO1xyXG5cdFx0XHQvKipcclxuXHRcdFx0ICogU3BlY2lmaWMgV2l0L1JQQyBwcm92aWRlciB0byB1c2UgZm9yIGludGVyYWN0aW5nIHdpdGggdGhlIFdpdG5ldCBuZXR3b3JrLlxyXG5cdFx0XHQgKi9cclxuXHRcdFx0cHJvdmlkZXI/OiBJSnNvblJwY1Byb3ZpZGVyO1xyXG5cdFx0XHQvKipcclxuXHRcdFx0ICogVVRYTyBzZWxlY3Rpb24gc3RyYXRlZ3kgd2hlbiBidWlsZGluZyB0cmFuc2FjdGlvbnMgb3V0IG9mIHRoaXMgd2FsbGV0IChkZWZhdWx0OiBVdHhvU2VsZWN0aW9uU3RyYXRlZ3kuU21hbGxGaXJzdCkuXHJcblx0XHRcdCAqL1xyXG5cdFx0XHRzdHJhdGVneT86IFV0eG9TZWxlY3Rpb25TdHJhdGVneTtcclxuXHRcdFx0LyoqXHJcblx0XHRcdCAqIE9ubHkgZGVyaXZlIGFjY291bnRzIGhvbGRpbmcgc29tZSAkV0lUIGZ1bmRzIChlaXRoZXIgbG9ja2VkLCBzdGFrZWQgb3IgdW5sb2NrZWQpLlxyXG5cdFx0XHQgKi9cclxuXHRcdFx0b25seVdpdGhGdW5kcz86IGJvb2xlYW47XHJcblx0XHR9LFxyXG5cdCk6IFByb21pc2U8V2FsbGV0PiB7XHJcblx0XHRjb25zdCB7IGNoYWluQ29kZSwgcHJpdmF0ZUtleSB9ID0gdXRpbHMucGFyc2VYcHJ2KHhwcnYpO1xyXG5cdFx0Y29uc3Qgcm9vdCA9IGJpcDMyLmZyb21Qcml2YXRlS2V5KFxyXG5cdFx0XHRCdWZmZXIuZnJvbShwcml2YXRlS2V5KSxcclxuXHRcdFx0QnVmZmVyLmZyb20oY2hhaW5Db2RlKSxcclxuXHRcdCk7XHJcblx0XHRjb25zdCBwcm92aWRlciA9IG9wdGlvbnM/LnByb3ZpZGVyIHx8IChhd2FpdCBKc29uUnBjUHJvdmlkZXIuZnJvbUVudigpKTtcclxuXHRcdGF3YWl0IHByb3ZpZGVyLmNvbnN0YW50cygpO1xyXG5cdFx0Y29uc3Qgd2FsbGV0ID0gbmV3IFdhbGxldChyb290LCBwcm92aWRlciwgb3B0aW9ucz8uc3RyYXRlZ3kpO1xyXG5cdFx0aWYgKG9wdGlvbnM/Lm9ubHlXaXRoRnVuZHMpIHtcclxuXHRcdFx0YXdhaXQgd2FsbGV0LmV4cGxvcmVBY2NvdW50cyhvcHRpb25zPy5saW1pdCB8fCAwLCBvcHRpb25zPy5nYXApO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0d2FsbGV0LmRlcml2ZUFjY291bnRzKG9wdGlvbnM/LmxpbWl0IHx8IDEpO1xyXG5cdFx0fVxyXG5cdFx0Ly8gbG9hZCB1cCB1dHhvcyBjYWNoZVxyXG5cdFx0YXdhaXQgd2FsbGV0LmdldFV0eG9zKHRydWUpO1xyXG5cdFx0cmV0dXJuIHdhbGxldDtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIENyZWF0ZSBhIFdhbGxldCBieSB1c2luZyBwYXNzZWQgWFBSViBtYXN0ZXIga2V5LlxyXG5cdCAqIEBwYXJhbSB4cHJ2IEVuY3J5cHRlZCBYUFJWIG1hc3RlciBrZXkgc3RyaW5nLlxyXG5cdCAqIEBwYXJhbSBwYXNzd2QgUGFzc3dvcmQgdG8gZGVjaXBoZXIgdGhlIFhQUlYgbWFzdGVyIGtleS5cclxuXHQgKiBAcGFyYW0gb3B0aW9ucyBXYWxsZXQgY3JlYXRpb24gcGFyYW1ldGVycy5cclxuXHQgKi9cclxuXHRzdGF0aWMgYXN5bmMgZnJvbUVuY3J5cHRlZFhwcnYoXHJcblx0XHR4cHJ2OiBzdHJpbmcsXHJcblx0XHRwYXNzd2Q6IHN0cmluZyxcclxuXHRcdG9wdGlvbnM/OiB7XHJcblx0XHRcdC8qKlxyXG5cdFx0XHQgKiBOdW1iZXIgb2YgY29uc2VjdXRpdmUgYWNjb3VudHMgd2l0aCBubyBmdW5kcyBiZWZvcmUgc3RvcHBpbmcgZGVyaXZhdGlvbiBvZiBuZXcgV2FsbGV0IGFjY291bnRzLlxyXG5cdFx0XHQgKi9cclxuXHRcdFx0Z2FwPzogbnVtYmVyO1xyXG5cdFx0XHQvKipcclxuXHRcdFx0ICogTWF4aW11bSBudW1iZXIgb2YgYWNjb3VudHMgdG8gZGVyaXZlLlxyXG5cdFx0XHQgKi9cclxuXHRcdFx0bGltaXQ/OiBudW1iZXI7XHJcblx0XHRcdC8qKlxyXG5cdFx0XHQgKiBTcGVjaWZpYyBXaXQvUlBDIHByb3ZpZGVyIHRvIHVzZSBmb3IgaW50ZXJhY3Rpbmcgd2l0aCB0aGUgV2l0bmV0IG5ldHdvcmsuXHJcblx0XHRcdCAqL1xyXG5cdFx0XHRwcm92aWRlcj86IElKc29uUnBjUHJvdmlkZXI7XHJcblx0XHRcdC8qKlxyXG5cdFx0XHQgKiBVVFhPIHNlbGVjdGlvbiBzdHJhdGVneSB3aGVuIGJ1aWxkaW5nIHRyYW5zYWN0aW9ucyBvdXQgb2YgdGhpcyB3YWxsZXQgKGRlZmF1bHQ6IFV0eG9TZWxlY3Rpb25TdHJhdGVneS5TbWFsbEZpcnN0KS5cclxuXHRcdFx0ICovXHJcblx0XHRcdHN0cmF0ZWd5PzogVXR4b1NlbGVjdGlvblN0cmF0ZWd5O1xyXG5cdFx0XHQvKipcclxuXHRcdFx0ICogT25seSBkZXJpdmUgYWNjb3VudHMgaG9sZGluZyBzb21lICRXSVQgZnVuZHMgKGVpdGhlciBsb2NrZWQsIHN0YWtlZCBvciB1bmxvY2tlZCkuXHJcblx0XHRcdCAqL1xyXG5cdFx0XHRvbmx5V2l0aEZ1bmRzPzogYm9vbGVhbjtcclxuXHRcdH0sXHJcblx0KTogUHJvbWlzZTxXYWxsZXQ+IHtcclxuXHRcdHJldHVybiBXYWxsZXQuZnJvbVhwcnYodXRpbHMuZGVjaXBoZXJYcHJ2KHhwcnYsIHBhc3N3ZCksIG9wdGlvbnMpO1xyXG5cdH1cclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRyb290OiBJQklQMzIsXHJcblx0XHRwcm92aWRlcjogSUpzb25ScGNQcm92aWRlcixcclxuXHRcdHN0cmF0ZWd5PzogVXR4b1NlbGVjdGlvblN0cmF0ZWd5LFxyXG5cdCkge1xyXG5cdFx0dGhpcy5wcm92aWRlciA9IHByb3ZpZGVyO1xyXG5cdFx0dGhpcy5jb2luYmFzZSA9IG5ldyBDb2luYmFzZShyb290LCBwcm92aWRlciwgc3RyYXRlZ3kpO1xyXG5cdFx0dGhpcy5yb290ID0gcm9vdDtcclxuXHRcdHRoaXMuc3RyYXRlZ3kgPSBzdHJhdGVneSB8fCBVdHhvU2VsZWN0aW9uU3RyYXRlZ3kuU21hbGxGaXJzdDtcclxuXHRcdHRoaXMuZGVyaXZlQWNjb3VudHMoMSk7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgZ2V0IGFjY291bnRzKCk6IEFycmF5PElBY2NvdW50PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5fYWNjb3VudHM7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgZ2V0IGNhY2hlSW5mbygpOiBVdHhvQ2FjaGVJbmZvIHtcclxuXHRcdGNvbnN0IGluZm86IFV0eG9DYWNoZUluZm8gPSB7XHJcblx0XHRcdGV4cGVuZGFibGU6IDBuLFxyXG5cdFx0XHRzaXplOiAwLFxyXG5cdFx0XHR0aW1lbG9jazogTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIsXHJcblx0XHR9O1xyXG5cdFx0dGhpcy5hY2NvdW50cz8uZm9yRWFjaCgoYWNjb3VudCkgPT4ge1xyXG5cdFx0XHRjb25zdCBhY2NvdW50SW5mbyA9IGFjY291bnQuY2FjaGVJbmZvO1xyXG5cdFx0XHRpbmZvLmV4cGVuZGFibGUgKz0gYWNjb3VudEluZm8uZXhwZW5kYWJsZTtcclxuXHRcdFx0aW5mby5zaXplICs9IGFjY291bnRJbmZvLnNpemU7XHJcblx0XHRcdGlmIChhY2NvdW50SW5mby50aW1lbG9jayAhPT0gMCAmJiBhY2NvdW50SW5mby50aW1lbG9jayA8IGluZm8udGltZWxvY2spIHtcclxuXHRcdFx0XHRpbmZvLnRpbWVsb2NrID0gYWNjb3VudEluZm8udGltZWxvY2s7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdFx0aWYgKGluZm8udGltZWxvY2sgPT09IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSBpbmZvLnRpbWVsb2NrID0gMDtcclxuXHRcdHJldHVybiBpbmZvO1xyXG5cdH1cclxuXHJcblx0cHVibGljIGdldCBjaGFuZ2VQa2goKTogUHVibGljS2V5SGFzaFN0cmluZyB7XHJcblx0XHRyZXR1cm4gdGhpcy5hY2NvdW50cy5sZW5ndGggPiAwXHJcblx0XHRcdD8gdGhpcy5hY2NvdW50c1swXS5jaGFuZ2VQa2hcclxuXHRcdFx0OiB0aGlzLmNvaW5iYXNlLnBraDtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBnZXQgbmV0d29yaygpOiBOZXR3b3JrIHwgdW5kZWZpbmVkIHtcclxuXHRcdHJldHVybiB0aGlzLnByb3ZpZGVyLm5ldHdvcms7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgZ2V0IHBraCgpOiBQdWJsaWNLZXlIYXNoU3RyaW5nIHtcclxuXHRcdHJldHVybiB0aGlzLmFjY291bnRzLmxlbmd0aCA+IDAgPyB0aGlzLmFjY291bnRzWzBdLnBraCA6IHRoaXMuY29pbmJhc2UucGtoO1xyXG5cdH1cclxuXHJcblx0cHVibGljIGdldCBwdWJsaWNLZXkoKTogUHVibGljS2V5IHtcclxuXHRcdHJldHVybiB0aGlzLmFjY291bnRzLmxlbmd0aCA+IDBcclxuXHRcdFx0PyB0aGlzLmFjY291bnRzWzBdLnB1YmxpY0tleVxyXG5cdFx0XHQ6IHRoaXMuY29pbmJhc2UucHVibGljS2V5O1xyXG5cdH1cclxuXHJcblx0cHVibGljIGdldCBwcml2YXRlS2V5KCk6IEhleFN0cmluZyB7XHJcblx0XHRyZXR1cm4gdGhpcy5hY2NvdW50cy5sZW5ndGggPiAwXHJcblx0XHRcdD8gdGhpcy5hY2NvdW50c1swXS5wcml2YXRlS2V5XHJcblx0XHRcdDogdGhpcy5jb2luYmFzZS5wcml2YXRlS2V5O1xyXG5cdH1cclxuXHJcblx0cHVibGljIGF1dGhvcml6ZUV2bUFkZHJlc3MoZXZtQWRkcmVzczogSGV4U3RyaW5nKTogYW55IHtcclxuXHRcdHJldHVybiB0aGlzLmFjY291bnRzLmxlbmd0aCA+IDBcclxuXHRcdFx0PyB0aGlzLmFjY291bnRzWzBdLmF1dGhvcml6ZUV2bUFkZHJlc3MoZXZtQWRkcmVzcylcclxuXHRcdFx0OiB0aGlzLmNvaW5iYXNlLmF1dGhvcml6ZUV2bUFkZHJlc3MoZXZtQWRkcmVzcyk7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgYWRkVXR4b3MoLi4udXR4b3M6IEFycmF5PFV0eG8+KToge1xyXG5cdFx0ZXhjbHVkZWQ6IEFycmF5PFV0eG8+O1xyXG5cdFx0aW5jbHVkZWQ6IEFycmF5PFV0eG8+O1xyXG5cdH0ge1xyXG5cdFx0Y29uc3QgaW5jbHVkZWQ6IEFycmF5PFV0eG8+ID0gW107XHJcblx0XHR0aGlzLmFjY291bnRzLmZvckVhY2goKGFjY291bnQpID0+IHtcclxuXHRcdFx0Y29uc3QgX3V0eG9zID0gYWNjb3VudC5hZGRVdHhvcyguLi51dHhvcyk7XHJcblx0XHRcdHV0eG9zID0gX3V0eG9zLmV4Y2x1ZGVkO1xyXG5cdFx0XHRpbmNsdWRlZC5wdXNoKC4uLl91dHhvcy5pbmNsdWRlZCk7XHJcblx0XHR9KTtcclxuXHRcdHJldHVybiB7XHJcblx0XHRcdGV4Y2x1ZGVkOiB1dHhvcyxcclxuXHRcdFx0aW5jbHVkZWQsXHJcblx0XHR9O1xyXG5cdH1cclxuXHJcblx0cHVibGljIGNvbnN1bWVVdHhvcyguLi51dHhvczogQXJyYXk8VXR4bz4pOiBBcnJheTxVdHhvPiB7XHJcblx0XHR0aGlzLmFjY291bnRzLmZvckVhY2goKGFjY291bnQpID0+IHtcclxuXHRcdFx0dXR4b3MgPSBhY2NvdW50LmNvbnN1bWVVdHhvcyguLi51dHhvcyk7XHJcblx0XHR9KTtcclxuXHRcdHJldHVybiB1dHhvcztcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBhc3luYyBnZXRCYWxhbmNlKCk6IFByb21pc2U8QmFsYW5jZT4ge1xyXG5cdFx0aWYgKHRoaXMuX2FjY291bnRzLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0cmV0dXJuIFByb21pc2UuYWxsKFxyXG5cdFx0XHRcdHRoaXMuX2FjY291bnRzLm1hcChhc3luYyAoYWNjOiBJQWNjb3VudCkgPT4ge1xyXG5cdFx0XHRcdFx0Y29uc3QgYmFsYW5jZSA9IGF3YWl0IGFjYy5nZXRCYWxhbmNlKCk7XHJcblx0XHRcdFx0XHRyZXR1cm4gYmFsYW5jZTtcclxuXHRcdFx0XHR9KSxcclxuXHRcdFx0KS50aGVuKChiYWxhbmNlczogQXJyYXk8QmFsYW5jZT4pID0+IHtcclxuXHRcdFx0XHRyZXR1cm4gYmFsYW5jZXMucmVkdWNlKFxyXG5cdFx0XHRcdFx0KHByZXYsIGN1cnIpID0+IHtcclxuXHRcdFx0XHRcdFx0cmV0dXJuIHtcclxuXHRcdFx0XHRcdFx0XHRsb2NrZWQ6IHByZXYubG9ja2VkICsgY3Vyci5sb2NrZWQsXHJcblx0XHRcdFx0XHRcdFx0c3Rha2VkOiBwcmV2LnN0YWtlZCArIGN1cnIuc3Rha2VkLFxyXG5cdFx0XHRcdFx0XHRcdHVubG9ja2VkOiBwcmV2LnVubG9ja2VkICsgY3Vyci51bmxvY2tlZCxcclxuXHRcdFx0XHRcdFx0fTtcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR7IGxvY2tlZDogMG4sIHN0YWtlZDogMG4sIHVubG9ja2VkOiAwbiB9LFxyXG5cdFx0XHRcdCk7XHJcblx0XHRcdH0pO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0cmV0dXJuIHRoaXMuY29pbmJhc2UuZ2V0QmFsYW5jZSgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHVibGljIGFzeW5jIGdldERlbGVnYXRlZXMoXHJcblx0XHRvcmRlcj86IFF1ZXJ5U3Rha2VzT3JkZXIsXHJcblx0XHRsZWZ0Sm9pbiA9IHRydWUsXHJcblx0KTogUHJvbWlzZTxBcnJheTxTdGFrZUVudHJ5Pj4ge1xyXG5cdFx0Y29uc3QgcmVjb3JkczogQXJyYXk8U3Rha2VFbnRyeT4gPSBbXTtcclxuXHRcdHJlY29yZHMucHVzaCguLi4oYXdhaXQgdGhpcy5jb2luYmFzZS5nZXREZWxlZ2F0ZWVzKG9yZGVyKSkpO1xyXG5cdFx0YXdhaXQgUHJvbWlzZS5hbGwoXHJcblx0XHRcdHRoaXMuX2FjY291bnRzLm1hcCgoYWNjb3VudCkgPT5cclxuXHRcdFx0XHRhY2NvdW50XHJcblx0XHRcdFx0XHQuZ2V0RGVsZWdhdGVlcyhvcmRlciwgbGVmdEpvaW4pXHJcblx0XHRcdFx0XHQudGhlbigoZW50cmllcykgPT4gcmVjb3Jkcy5wdXNoKC4uLmVudHJpZXMpKSxcclxuXHRcdFx0KSxcclxuXHRcdCk7XHJcblx0XHRpZiAob3JkZXIpIHtcclxuXHRcdFx0Y29uc3QgcmV2ZXJzZSA9IG9yZGVyPy5yZXZlcnNlID8gKzEgOiAtMTtcclxuXHRcdFx0cmV0dXJuIHJlY29yZHMuc29ydCgoYSwgYikgPT4ge1xyXG5cdFx0XHRcdHN3aXRjaCAob3JkZXIuYnkpIHtcclxuXHRcdFx0XHRcdGNhc2UgU3Rha2VzT3JkZXJCeS5Db2luczpcclxuXHRcdFx0XHRcdFx0cmV0dXJuIChcclxuXHRcdFx0XHRcdFx0XHQoYS52YWx1ZS5jb2lucyA8IGIudmFsdWUuY29pbnNcclxuXHRcdFx0XHRcdFx0XHRcdD8gMVxyXG5cdFx0XHRcdFx0XHRcdFx0OiBhLnZhbHVlLmNvaW5zID4gYi52YWx1ZS5jb2luc1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQ/IC0xXHJcblx0XHRcdFx0XHRcdFx0XHRcdDogMCkgKiByZXZlcnNlXHJcblx0XHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHRjYXNlIFN0YWtlc09yZGVyQnkuTWluaW5nOlxyXG5cdFx0XHRcdFx0XHRyZXR1cm4gKGIudmFsdWUuZXBvY2hzLm1pbmluZyAtIGEudmFsdWUuZXBvY2hzLm1pbmluZykgKiByZXZlcnNlO1xyXG5cdFx0XHRcdFx0Y2FzZSBTdGFrZXNPcmRlckJ5LldpdG5lc3Npbmc6XHJcblx0XHRcdFx0XHRcdHJldHVybiAoXHJcblx0XHRcdFx0XHRcdFx0KGIudmFsdWUuZXBvY2hzLndpdG5lc3NpbmcgLSBhLnZhbHVlLmVwb2Nocy53aXRuZXNzaW5nKSAqIHJldmVyc2VcclxuXHRcdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdGNhc2UgU3Rha2VzT3JkZXJCeS5Ob25jZTpcclxuXHRcdFx0XHRcdFx0cmV0dXJuIChiLnZhbHVlLm5vbmNlIC0gYS52YWx1ZS5ub25jZSkgKiByZXZlcnNlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSk7XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gcmVjb3JkcztcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBhc3luYyBnZXRVdHhvcyhyZWxvYWQ/OiBib29sZWFuKTogUHJvbWlzZTxBcnJheTxVdHhvPj4ge1xyXG5cdFx0cmV0dXJuIFByb21pc2UuYWxsKFxyXG5cdFx0XHR0aGlzLmFjY291bnRzLm1hcCgoYWNjb3VudCkgPT4gYWNjb3VudC5nZXRVdHhvcyhyZWxvYWQpKSxcclxuXHRcdCkudGhlbihhc3luYyAodXR4b3NzOiBBcnJheTxBcnJheTxVdHhvPj4pID0+IHtcclxuXHRcdFx0Ly8gdXR4b3NzLnB1c2goYXdhaXQgdGhpcy5jb2luYmFzZS5nZXRVdHhvcyhyZWxvYWQpKVxyXG5cdFx0XHRyZXR1cm4gdXR4b3NzLmZsYXQoKTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0cHVibGljIGFzeW5jIHNlbGVjdFV0eG9zKHNwZWNzPzoge1xyXG5cdFx0dmFsdWU/OiBDb2lucztcclxuXHRcdHJlbG9hZD86IGJvb2xlYW47XHJcblx0XHRzdHJhdGVneT86IFV0eG9TZWxlY3Rpb25TdHJhdGVneTtcclxuXHR9KTogUHJvbWlzZTxBcnJheTxVdHhvPj4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuZ2V0VXR4b3Moc3BlY3M/LnJlbG9hZCkudGhlbigodXR4b3MpID0+XHJcblx0XHRcdHV0aWxzLnNlbGVjdFV0eG9zKHtcclxuXHRcdFx0XHR1dHhvcyxcclxuXHRcdFx0XHR2YWx1ZTogc3BlY3M/LnZhbHVlLFxyXG5cdFx0XHRcdHN0cmF0ZWd5OiBzcGVjcz8uc3RyYXRlZ3kgfHwgdGhpcy5zdHJhdGVneSxcclxuXHRcdFx0fSksXHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cdC8vIC0tLSBJV2FsbGV0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcblx0cHVibGljIGRlcml2ZUFjY291bnRzKGxpbWl0OiBudW1iZXIpOiBBcnJheTxJQWNjb3VudD4ge1xyXG5cdFx0aWYgKGxpbWl0ID4gdGhpcy5fYWNjb3VudHMubGVuZ3RoKSB7XHJcblx0XHRcdGNvbnN0IHN0YXJ0SW5kZXggPVxyXG5cdFx0XHRcdHRoaXMuX2FjY291bnRzLmxlbmd0aCA+IDBcclxuXHRcdFx0XHRcdD8gdGhpcy5hY2NvdW50c1t0aGlzLmFjY291bnRzLmxlbmd0aCAtIDFdLmluZGV4ICsgMVxyXG5cdFx0XHRcdFx0OiAwO1xyXG5cdFx0XHRsaW1pdCA9IGxpbWl0IC0gdGhpcy5fYWNjb3VudHMubGVuZ3RoO1xyXG5cdFx0XHRmb3IgKGxldCBpeCA9IDA7IGl4IDwgbGltaXQ7IGl4KyspIHtcclxuXHRcdFx0XHR0aGlzLl9hY2NvdW50cy5wdXNoKFxyXG5cdFx0XHRcdFx0bmV3IEFjY291bnQodGhpcy5yb290LCB0aGlzLnByb3ZpZGVyLCBzdGFydEluZGV4ICsgaXgsIHRoaXMuc3RyYXRlZ3kpLFxyXG5cdFx0XHRcdCk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdHJldHVybiB0aGlzLl9hY2NvdW50cztcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBhc3luYyBleHBsb3JlQWNjb3VudHMoXHJcblx0XHRsaW1pdCA9IDEsXHJcblx0XHRnYXAgPSBERUZBVUxUX0dBUCxcclxuXHQpOiBQcm9taXNlPEFycmF5PElBY2NvdW50Pj4ge1xyXG5cdFx0aWYgKGxpbWl0ID09PSAwIHx8IGxpbWl0ID4gdGhpcy5hY2NvdW50cy5sZW5ndGgpIHtcclxuXHRcdFx0Y29uc3QgbGFzdEluZGV4ID0gKHg6IEFycmF5PElBY2NvdW50PikgPT5cclxuXHRcdFx0XHROdW1iZXIoeC5sZW5ndGggPiAwID8geFt4Lmxlbmd0aCAtIDFdLmluZGV4ICsgMSA6IDApO1xyXG5cdFx0XHRjb25zdCBzdGFydEluZGV4ID0gbGFzdEluZGV4KHRoaXMuYWNjb3VudHMpO1xyXG5cdFx0XHRmb3IgKFxyXG5cdFx0XHRcdGxldCBpbmRleCA9IHN0YXJ0SW5kZXg7XHJcblx0XHRcdFx0aW5kZXggPCBsYXN0SW5kZXgodGhpcy5hY2NvdW50cykgKyBOdW1iZXIoZ2FwKTtcclxuXHRcdFx0XHRpbmRleCsrXHJcblx0XHRcdCkge1xyXG5cdFx0XHRcdGNvbnN0IGFjY291bnQgPSBuZXcgQWNjb3VudChcclxuXHRcdFx0XHRcdHRoaXMucm9vdCxcclxuXHRcdFx0XHRcdHRoaXMucHJvdmlkZXIsXHJcblx0XHRcdFx0XHRpbmRleCxcclxuXHRcdFx0XHRcdHRoaXMuc3RyYXRlZ3ksXHJcblx0XHRcdFx0KTtcclxuXHRcdFx0XHRpZiAodXRpbHMudG90YWxDb2lucyhhd2FpdCBhY2NvdW50LmdldEJhbGFuY2UoKSkucGVkcm9zID4gMG4pIHtcclxuXHRcdFx0XHRcdHRoaXMuYWNjb3VudHMucHVzaChhY2NvdW50KTtcclxuXHRcdFx0XHRcdGlmIChsaW1pdCAmJiB0aGlzLmFjY291bnRzLmxlbmd0aCA+PSBsaW1pdCkgYnJlYWs7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gdGhpcy5fYWNjb3VudHM7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgZ2V0QWNjb3VudChcclxuXHRcdHBraDogUHVibGljS2V5SGFzaFN0cmluZyxcclxuXHRcdGdhcD86IG51bWJlcixcclxuXHQpOiBJQWNjb3VudCB8IHVuZGVmaW5lZCB7XHJcblx0XHRsZXQgYWNjb3VudCA9IHRoaXMuX2FjY291bnRzLmZpbmQoXHJcblx0XHRcdChhY2NvdW50KSA9PiBhY2NvdW50LmludGVybmFsLnBraCA9PT0gcGtoIHx8IGFjY291bnQucGtoID09PSBwa2gsXHJcblx0XHQpO1xyXG5cdFx0aWYgKCFhY2NvdW50KSB7XHJcblx0XHRcdGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCAoZ2FwIHx8IERFRkFVTFRfR0FQKTsgaW5kZXgrKykge1xyXG5cdFx0XHRcdGFjY291bnQgPSBuZXcgQWNjb3VudCh0aGlzLnJvb3QsIHRoaXMucHJvdmlkZXIsIGluZGV4LCB0aGlzLnN0cmF0ZWd5KTtcclxuXHRcdFx0XHRpZiAoYWNjb3VudC5wa2ggPT09IHBraCB8fCBhY2NvdW50LmludGVybmFsLnBraCA9PT0gcGtoKSB7XHJcblx0XHRcdFx0XHR0aGlzLl9hY2NvdW50cy5wdXNoKGFjY291bnQpO1xyXG5cdFx0XHRcdFx0cmV0dXJuIGFjY291bnQ7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdHJldHVybiB1bmRlZmluZWQ7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRyZXR1cm4gYWNjb3VudDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHB1YmxpYyBnZXRTaWduZXIoXHJcblx0XHRwa2g/OiBQdWJsaWNLZXlIYXNoU3RyaW5nLFxyXG5cdFx0Z2FwPzogbnVtYmVyLFxyXG5cdCk6IElTaWduZXIgfCB1bmRlZmluZWQge1xyXG5cdFx0aWYgKCFwa2gpXHJcblx0XHRcdHJldHVybiB0aGlzLmFjY291bnRzWzBdPy5nZXRTaWduZXIoKSB8fCB0aGlzLmNvaW5iYXNlLmdldFNpZ25lcihwa2gpO1xyXG5cdFx0Y29uc3QgYWNjb3VudCA9IHRoaXMuZ2V0QWNjb3VudChwa2gsIGdhcCk7XHJcblx0XHRyZXR1cm4gYWNjb3VudD8uZ2V0U2lnbmVyKHBraCkgfHwgdGhpcy5jb2luYmFzZS5nZXRTaWduZXIocGtoKTtcclxuXHR9XHJcbn1cclxuIl19
|
|
247
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jcnlwdG8vd2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxHQUFHLE1BQU0seUJBQXlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNyQyxPQUFPLEtBQUssS0FBSyxNQUFNLFlBQVksQ0FBQztBQUVwQyxNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7QUFFaEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFNTixhQUFhLEdBQ2IsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBU3pDLE9BQU8sRUFNTixxQkFBcUIsR0FDckIsTUFBTSxZQUFZLENBQUM7QUFFcEIsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO0FBRXZCLE1BQU0sT0FBTyxNQUFNO0lBQ1IsSUFBSSxDQUFTO0lBRWIsU0FBUyxHQUFvQixFQUFFLENBQUM7SUFFMUIsUUFBUSxDQUFZO0lBQ3BCLFFBQVEsQ0FBbUI7SUFDcEMsUUFBUSxDQUF3QjtJQUV2Qzs7O09BR0c7SUFDSCxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQXlCcEI7UUFDQSxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDO1FBQ3RELElBQUksQ0FBQyxJQUFJO1lBQ1IsTUFBTSxLQUFLLENBQUMsMERBQTBELENBQUMsQ0FBQztRQUN6RSxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNO2dCQUNsQixNQUFNLEtBQUssQ0FBQyxv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QyxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUN0RSxJQUFJLE9BQU8sQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxLQUFLLEdBQUcsRUFBRSxDQUFDO29CQUN6RCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDN0IsT0FBTyxPQUFPLENBQUM7Z0JBQ2hCLENBQUM7WUFDRixDQUFDO1lBQ0QsT0FBTyxTQUFTLENBQUM7UUFDbEIsQ0FBQzthQUFNLENBQUM7WUFDUCxPQUFPLE9BQU8sQ0FBQztRQUNoQixDQUFDO0lBQ0YsQ0FBQztJQUVNLFNBQVMsQ0FDZixHQUF5QixFQUN6QixHQUFZO1FBRVosSUFBSSxDQUFDLEdBQUc7WUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDMUMsT0FBTyxPQUFPLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7Q0FDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGVjYyBmcm9tIFwiQGJpdGNvaW5lcmxhYi9zZWNwMjU2azFcIjtcblxuaW1wb3J0IHsgQklQMzJGYWN0b3J5IH0gZnJvbSBcImJpcDMyXCI7XG5pbXBvcnQgKiBhcyB1dGlscyBmcm9tIFwiLi91dGlscy5qc1wiO1xuXG5jb25zdCBiaXAzMiA9IEJJUDMyRmFjdG9yeShlY2MpO1xuXG5pbXBvcnQgeyBKc29uUnBjUHJvdmlkZXIgfSBmcm9tIFwiLi4vcnBjL2luZGV4LmpzXCI7XG5pbXBvcnQge1xuXHR0eXBlIEJhbGFuY2UsXG5cdHR5cGUgSGV4U3RyaW5nLFxuXHR0eXBlIE5ldHdvcmssXG5cdHR5cGUgUXVlcnlTdGFrZXNPcmRlcixcblx0dHlwZSBTdGFrZUVudHJ5LFxuXHRTdGFrZXNPcmRlckJ5LFxufSBmcm9tIFwiLi4vdHlwZXMuanNcIjtcbmltcG9ydCB7IEFjY291bnQgfSBmcm9tIFwiLi9hY2NvdW50LmpzXCI7XG5pbXBvcnQgeyBDb2luYmFzZSB9IGZyb20gXCIuL2NvaW5iYXNlLmpzXCI7XG5pbXBvcnQgdHlwZSB7XG5cdElBY2NvdW50LFxuXHRJQklQMzIsXG5cdElDb2luYmFzZSxcblx0SUpzb25ScGNQcm92aWRlcixcblx0SVNpZ25lcixcblx0SVdhbGxldCxcbn0gZnJvbSBcIi4vaW50ZXJmYWNlcy5qc1wiO1xuaW1wb3J0IHtcblx0dHlwZSBDb2lucyxcblx0dHlwZSBQdWJsaWNLZXksXG5cdHR5cGUgUHVibGljS2V5SGFzaFN0cmluZyxcblx0dHlwZSBVdHhvLFxuXHR0eXBlIFV0eG9DYWNoZUluZm8sXG5cdFV0eG9TZWxlY3Rpb25TdHJhdGVneSxcbn0gZnJvbSBcIi4vdHlwZXMuanNcIjtcblxuY29uc3QgREVGQVVMVF9HQVAgPSAyMDtcblxuZXhwb3J0IGNsYXNzIFdhbGxldCBpbXBsZW1lbnRzIElXYWxsZXQge1xuXHRwcm90ZWN0ZWQgcm9vdDogSUJJUDMyO1xuXG5cdHByb3RlY3RlZCBfYWNjb3VudHM6IEFycmF5PElBY2NvdW50PiA9IFtdO1xuXG5cdHB1YmxpYyByZWFkb25seSBjb2luYmFzZTogSUNvaW5iYXNlO1xuXHRwdWJsaWMgcmVhZG9ubHkgcHJvdmlkZXI6IElKc29uUnBjUHJvdmlkZXI7XG5cdHB1YmxpYyBzdHJhdGVneTogVXR4b1NlbGVjdGlvblN0cmF0ZWd5O1xuXG5cdC8qKlxuXHQgKiBDcmVhdGUgYSBXYWxsZXQgYnkgcmVhZGluZyB0aGUgWFBSViBtYXN0ZXIga2V5IGZyb20gdGhlIFdJVE5FVF9TREtfV0FMTEVUX01BU1RFUl9LRVkgZW52aXJvbm1lbnQgdmFyaWFibGUuXG5cdCAqIEBwYXJhbSBzcGVjcyBXYWxsZXQgY3JlYXRpb24gcGFyYW1ldGVycy5cblx0ICovXG5cdHN0YXRpYyBhc3luYyBmcm9tRW52KG9wdGlvbnM6IHtcblx0XHQvKipcblx0XHQgKiBQYXNzd29yZCB0byBkZWNyeXB0IHRoZSBYUFJWIG1hc3RlciBrZXkgcmVhZCBmcm9tIGVudmlyb25tZW50LCBpbiBjYXNlIGl0J3MgZW5jcnlwdGVkLlxuXHRcdCAqL1xuXHRcdHBhc3N3ZD86IHN0cmluZztcblx0XHQvKipcblx0XHQgKiBOdW1iZXIgb2YgY29uc2VjdXRpdmUgYWNjb3VudHMgd2l0aCBubyBmdW5kcyBiZWZvcmUgc3RvcHBpbmcgZGVyaXZhdGlvbiBvZiBuZXcgV2FsbGV0IGFjY291bnRzLlxuXHRcdCAqL1xuXHRcdGdhcD86IG51bWJlcjtcblx0XHQvKipcblx0XHQgKiBNYXhpbXVtIG51bWJlciBvZiBhY2NvdW50cyB0byBkZXJpdmUuXG5cdFx0ICovXG5cdFx0bGltaXQ/OiBudW1iZXI7XG5cdFx0LyoqXG5cdFx0ICogU3BlY2lmaWMgV2l0L1JQQyBwcm92aWRlciB0byB1c2UgZm9yIGludGVyYWN0aW5nIHdpdGggdGhlIFdpdG5ldCBuZXR3b3JrLlxuXHRcdCAqL1xuXHRcdHByb3ZpZGVyPzogSUpzb25ScGNQcm92aWRlcjtcblx0XHQvKipcblx0XHQgKiBVVFhPIHNlbGVjdGlvbiBzdHJhdGVneSB3aGVuIGJ1aWxkaW5nIHRyYW5zYWN0aW9ucyBvdXQgb2YgdGhpcyB3YWxsZXQgKGRlZmF1bHQ6IFV0eG9TZWxlY3Rpb25TdHJhdGVneS5TbWFsbEZpcnN0KS5cblx0XHQgKi9cblx0XHRzdHJhdGVneT86IFV0eG9TZWxlY3Rpb25TdHJhdGVneTtcblx0XHQvKipcblx0XHQgKiBPbmx5IGRlcml2ZSBhY2NvdW50cyB0aGF0IGhvbGQgc29tZSB1bmxvY2tlZCBiYWxhbmNlIG9mICRXSVQuXG5cdFx0ICovXG5cdFx0b25seVdpdGhGdW5kcz86IGJvb2xlYW47XG5cdH0pOiBQcm9taXNlPFdhbGxldD4ge1xuXHRcdGNvbnN0IHhwcnYgPSBwcm9jZXNzLmVudi5XSVRORVRfU0RLX1dBTExFVF9NQVNURVJfS0VZO1xuXHRcdGlmICgheHBydilcblx0XHRcdHRocm93IEVycm9yKGBXSVRORVRfU0RLX1dBTExFVF9NQVNURVJfS0VZIG11c3QgYmUgc2V0IG9uIGVudmlyb25tZW50LmApO1xuXHRcdGlmICh4cHJ2Lmxlbmd0aCA+IDExNykge1xuXHRcdFx0aWYgKCFvcHRpb25zLnBhc3N3ZClcblx0XHRcdFx0dGhyb3cgRXJyb3IoYE1pc3NpbmcgcGFzc3dvcmQgZm9yIFdJVE5FVF9TREtfV0FMTEVUX01BU1RFUl9LRVkuYCk7XG5cdFx0XHRyZXR1cm4gV2FsbGV0LmZyb21FbmNyeXB0ZWRYcHJ2KHhwcnYsIG9wdGlvbnM/LnBhc3N3ZCwgb3B0aW9ucyk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiBXYWxsZXQuZnJvbVhwcnYoeHBydiwgb3B0aW9ucyk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIENyZWF0ZSBhIFdhbGxldCBieSB1c2luZyBwYXNzZWQgWFBSViBtYXN0ZXIga2V5LlxuXHQgKiBAcGFyYW0geHBydiBEZWNyeXB0ZWQgWFBSViBtYXN0ZXIga2V5IHN0cmluZy5cblx0ICogQHBhcmFtIG9wdGlvbnMgV2FsbGV0IGNyZWF0aW9uIHBhcmFtZXRlcnMuXG5cdCAqL1xuXHRzdGF0aWMgYXN5bmMgZnJvbVhwcnYoXG5cdFx0eHBydjogc3RyaW5nLFxuXHRcdG9wdGlvbnM/OiB7XG5cdFx0XHQvKipcblx0XHRcdCAqIE51bWJlciBvZiBjb25zZWN1dGl2ZSBhY2NvdW50cyB3aXRoIG5vIGZ1bmRzIGJlZm9yZSBzdG9wcGluZyBkZXJpdmF0aW9uIG9mIG5ldyBXYWxsZXQgYWNjb3VudHMuXG5cdFx0XHQgKi9cblx0XHRcdGdhcD86IG51bWJlcjtcblx0XHRcdC8qKlxuXHRcdFx0ICogTWF4aW11bSBudW1iZXIgb2YgYWNjb3VudHMgdG8gZGVyaXZlLlxuXHRcdFx0ICovXG5cdFx0XHRsaW1pdD86IG51bWJlcjtcblx0XHRcdC8qKlxuXHRcdFx0ICogU3BlY2lmaWMgV2l0L1JQQyBwcm92aWRlciB0byB1c2UgZm9yIGludGVyYWN0aW5nIHdpdGggdGhlIFdpdG5ldCBuZXR3b3JrLlxuXHRcdFx0ICovXG5cdFx0XHRwcm92aWRlcj86IElKc29uUnBjUHJvdmlkZXI7XG5cdFx0XHQvKipcblx0XHRcdCAqIFVUWE8gc2VsZWN0aW9uIHN0cmF0ZWd5IHdoZW4gYnVpbGRpbmcgdHJhbnNhY3Rpb25zIG91dCBvZiB0aGlzIHdhbGxldCAoZGVmYXVsdDogVXR4b1NlbGVjdGlvblN0cmF0ZWd5LlNtYWxsRmlyc3QpLlxuXHRcdFx0ICovXG5cdFx0XHRzdHJhdGVneT86IFV0eG9TZWxlY3Rpb25TdHJhdGVneTtcblx0XHRcdC8qKlxuXHRcdFx0ICogT25seSBkZXJpdmUgYWNjb3VudHMgaG9sZGluZyBzb21lICRXSVQgZnVuZHMgKGVpdGhlciBsb2NrZWQsIHN0YWtlZCBvciB1bmxvY2tlZCkuXG5cdFx0XHQgKi9cblx0XHRcdG9ubHlXaXRoRnVuZHM/OiBib29sZWFuO1xuXHRcdH0sXG5cdCk6IFByb21pc2U8V2FsbGV0PiB7XG5cdFx0Y29uc3QgeyBjaGFpbkNvZGUsIHByaXZhdGVLZXkgfSA9IHV0aWxzLnBhcnNlWHBydih4cHJ2KTtcblx0XHRjb25zdCByb290ID0gYmlwMzIuZnJvbVByaXZhdGVLZXkoXG5cdFx0XHRCdWZmZXIuZnJvbShwcml2YXRlS2V5KSxcblx0XHRcdEJ1ZmZlci5mcm9tKGNoYWluQ29kZSksXG5cdFx0KTtcblx0XHRjb25zdCBwcm92aWRlciA9IG9wdGlvbnM/LnByb3ZpZGVyIHx8IChhd2FpdCBKc29uUnBjUHJvdmlkZXIuZnJvbUVudigpKTtcblx0XHRhd2FpdCBwcm92aWRlci5jb25zdGFudHMoKTtcblx0XHRjb25zdCB3YWxsZXQgPSBuZXcgV2FsbGV0KHJvb3QsIHByb3ZpZGVyLCBvcHRpb25zPy5zdHJhdGVneSk7XG5cdFx0aWYgKG9wdGlvbnM/Lm9ubHlXaXRoRnVuZHMpIHtcblx0XHRcdGF3YWl0IHdhbGxldC5leHBsb3JlQWNjb3VudHMob3B0aW9ucz8ubGltaXQgfHwgMCwgb3B0aW9ucz8uZ2FwKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0d2FsbGV0LmRlcml2ZUFjY291bnRzKG9wdGlvbnM/LmxpbWl0IHx8IDEpO1xuXHRcdH1cblx0XHQvLyBsb2FkIHVwIHV0eG9zIGNhY2hlXG5cdFx0YXdhaXQgd2FsbGV0LmdldFV0eG9zKHRydWUpO1xuXHRcdHJldHVybiB3YWxsZXQ7XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlIGEgV2FsbGV0IGJ5IHVzaW5nIHBhc3NlZCBYUFJWIG1hc3RlciBrZXkuXG5cdCAqIEBwYXJhbSB4cHJ2IEVuY3J5cHRlZCBYUFJWIG1hc3RlciBrZXkgc3RyaW5nLlxuXHQgKiBAcGFyYW0gcGFzc3dkIFBhc3N3b3JkIHRvIGRlY2lwaGVyIHRoZSBYUFJWIG1hc3RlciBrZXkuXG5cdCAqIEBwYXJhbSBvcHRpb25zIFdhbGxldCBjcmVhdGlvbiBwYXJhbWV0ZXJzLlxuXHQgKi9cblx0c3RhdGljIGFzeW5jIGZyb21FbmNyeXB0ZWRYcHJ2KFxuXHRcdHhwcnY6IHN0cmluZyxcblx0XHRwYXNzd2Q6IHN0cmluZyxcblx0XHRvcHRpb25zPzoge1xuXHRcdFx0LyoqXG5cdFx0XHQgKiBOdW1iZXIgb2YgY29uc2VjdXRpdmUgYWNjb3VudHMgd2l0aCBubyBmdW5kcyBiZWZvcmUgc3RvcHBpbmcgZGVyaXZhdGlvbiBvZiBuZXcgV2FsbGV0IGFjY291bnRzLlxuXHRcdFx0ICovXG5cdFx0XHRnYXA/OiBudW1iZXI7XG5cdFx0XHQvKipcblx0XHRcdCAqIE1heGltdW0gbnVtYmVyIG9mIGFjY291bnRzIHRvIGRlcml2ZS5cblx0XHRcdCAqL1xuXHRcdFx0bGltaXQ/OiBudW1iZXI7XG5cdFx0XHQvKipcblx0XHRcdCAqIFNwZWNpZmljIFdpdC9SUEMgcHJvdmlkZXIgdG8gdXNlIGZvciBpbnRlcmFjdGluZyB3aXRoIHRoZSBXaXRuZXQgbmV0d29yay5cblx0XHRcdCAqL1xuXHRcdFx0cHJvdmlkZXI/OiBJSnNvblJwY1Byb3ZpZGVyO1xuXHRcdFx0LyoqXG5cdFx0XHQgKiBVVFhPIHNlbGVjdGlvbiBzdHJhdGVneSB3aGVuIGJ1aWxkaW5nIHRyYW5zYWN0aW9ucyBvdXQgb2YgdGhpcyB3YWxsZXQgKGRlZmF1bHQ6IFV0eG9TZWxlY3Rpb25TdHJhdGVneS5TbWFsbEZpcnN0KS5cblx0XHRcdCAqL1xuXHRcdFx0c3RyYXRlZ3k/OiBVdHhvU2VsZWN0aW9uU3RyYXRlZ3k7XG5cdFx0XHQvKipcblx0XHRcdCAqIE9ubHkgZGVyaXZlIGFjY291bnRzIGhvbGRpbmcgc29tZSAkV0lUIGZ1bmRzIChlaXRoZXIgbG9ja2VkLCBzdGFrZWQgb3IgdW5sb2NrZWQpLlxuXHRcdFx0ICovXG5cdFx0XHRvbmx5V2l0aEZ1bmRzPzogYm9vbGVhbjtcblx0XHR9LFxuXHQpOiBQcm9taXNlPFdhbGxldD4ge1xuXHRcdHJldHVybiBXYWxsZXQuZnJvbVhwcnYodXRpbHMuZGVjaXBoZXJYcHJ2KHhwcnYsIHBhc3N3ZCksIG9wdGlvbnMpO1xuXHR9XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0cm9vdDogSUJJUDMyLFxuXHRcdHByb3ZpZGVyOiBJSnNvblJwY1Byb3ZpZGVyLFxuXHRcdHN0cmF0ZWd5PzogVXR4b1NlbGVjdGlvblN0cmF0ZWd5LFxuXHQpIHtcblx0XHR0aGlzLnByb3ZpZGVyID0gcHJvdmlkZXI7XG5cdFx0dGhpcy5jb2luYmFzZSA9IG5ldyBDb2luYmFzZShyb290LCBwcm92aWRlciwgc3RyYXRlZ3kpO1xuXHRcdHRoaXMucm9vdCA9IHJvb3Q7XG5cdFx0dGhpcy5zdHJhdGVneSA9IHN0cmF0ZWd5IHx8IFV0eG9TZWxlY3Rpb25TdHJhdGVneS5TbWFsbEZpcnN0O1xuXHRcdHRoaXMuZGVyaXZlQWNjb3VudHMoMSk7XG5cdH1cblxuXHRwdWJsaWMgZ2V0IGFjY291bnRzKCk6IEFycmF5PElBY2NvdW50PiB7XG5cdFx0cmV0dXJuIHRoaXMuX2FjY291bnRzO1xuXHR9XG5cblx0cHVibGljIGdldCBjYWNoZUluZm8oKTogVXR4b0NhY2hlSW5mbyB7XG5cdFx0Y29uc3QgaW5mbzogVXR4b0NhY2hlSW5mbyA9IHtcblx0XHRcdGV4cGVuZGFibGU6IDBuLFxuXHRcdFx0c2l6ZTogMCxcblx0XHRcdHRpbWVsb2NrOiBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUixcblx0XHR9O1xuXHRcdHRoaXMuYWNjb3VudHM/LmZvckVhY2goKGFjY291bnQpID0+IHtcblx0XHRcdGNvbnN0IGFjY291bnRJbmZvID0gYWNjb3VudC5jYWNoZUluZm87XG5cdFx0XHRpbmZvLmV4cGVuZGFibGUgKz0gYWNjb3VudEluZm8uZXhwZW5kYWJsZTtcblx0XHRcdGluZm8uc2l6ZSArPSBhY2NvdW50SW5mby5zaXplO1xuXHRcdFx0aWYgKGFjY291bnRJbmZvLnRpbWVsb2NrICE9PSAwICYmIGFjY291bnRJbmZvLnRpbWVsb2NrIDwgaW5mby50aW1lbG9jaykge1xuXHRcdFx0XHRpbmZvLnRpbWVsb2NrID0gYWNjb3VudEluZm8udGltZWxvY2s7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0aWYgKGluZm8udGltZWxvY2sgPT09IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSBpbmZvLnRpbWVsb2NrID0gMDtcblx0XHRyZXR1cm4gaW5mbztcblx0fVxuXG5cdHB1YmxpYyBnZXQgY2hhbmdlUGtoKCk6IFB1YmxpY0tleUhhc2hTdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLmFjY291bnRzLmxlbmd0aCA+IDBcblx0XHRcdD8gdGhpcy5hY2NvdW50c1swXS5jaGFuZ2VQa2hcblx0XHRcdDogdGhpcy5jb2luYmFzZS5wa2g7XG5cdH1cblxuXHRwdWJsaWMgZ2V0IG5ldHdvcmsoKTogTmV0d29yayB8IHVuZGVmaW5lZCB7XG5cdFx0cmV0dXJuIHRoaXMucHJvdmlkZXIubmV0d29yaztcblx0fVxuXG5cdHB1YmxpYyBnZXQgcGtoKCk6IFB1YmxpY0tleUhhc2hTdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLmFjY291bnRzLmxlbmd0aCA+IDAgPyB0aGlzLmFjY291bnRzWzBdLnBraCA6IHRoaXMuY29pbmJhc2UucGtoO1xuXHR9XG5cblx0cHVibGljIGdldCBwdWJsaWNLZXkoKTogUHVibGljS2V5IHtcblx0XHRyZXR1cm4gdGhpcy5hY2NvdW50cy5sZW5ndGggPiAwXG5cdFx0XHQ/IHRoaXMuYWNjb3VudHNbMF0ucHVibGljS2V5XG5cdFx0XHQ6IHRoaXMuY29pbmJhc2UucHVibGljS2V5O1xuXHR9XG5cblx0cHVibGljIGdldCBwcml2YXRlS2V5KCk6IEhleFN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMuYWNjb3VudHMubGVuZ3RoID4gMFxuXHRcdFx0PyB0aGlzLmFjY291bnRzWzBdLnByaXZhdGVLZXlcblx0XHRcdDogdGhpcy5jb2luYmFzZS5wcml2YXRlS2V5O1xuXHR9XG5cblx0cHVibGljIGF1dGhvcml6ZUV2bUFkZHJlc3MoZXZtQWRkcmVzczogSGV4U3RyaW5nKTogYW55IHtcblx0XHRyZXR1cm4gdGhpcy5hY2NvdW50cy5sZW5ndGggPiAwXG5cdFx0XHQ/IHRoaXMuYWNjb3VudHNbMF0uYXV0aG9yaXplRXZtQWRkcmVzcyhldm1BZGRyZXNzKVxuXHRcdFx0OiB0aGlzLmNvaW5iYXNlLmF1dGhvcml6ZUV2bUFkZHJlc3MoZXZtQWRkcmVzcyk7XG5cdH1cblxuXHRwdWJsaWMgYWRkVXR4b3MoLi4udXR4b3M6IEFycmF5PFV0eG8+KToge1xuXHRcdGV4Y2x1ZGVkOiBBcnJheTxVdHhvPjtcblx0XHRpbmNsdWRlZDogQXJyYXk8VXR4bz47XG5cdH0ge1xuXHRcdGNvbnN0IGluY2x1ZGVkOiBBcnJheTxVdHhvPiA9IFtdO1xuXHRcdHRoaXMuYWNjb3VudHMuZm9yRWFjaCgoYWNjb3VudCkgPT4ge1xuXHRcdFx0Y29uc3QgX3V0eG9zID0gYWNjb3VudC5hZGRVdHhvcyguLi51dHhvcyk7XG5cdFx0XHR1dHhvcyA9IF91dHhvcy5leGNsdWRlZDtcblx0XHRcdGluY2x1ZGVkLnB1c2goLi4uX3V0eG9zLmluY2x1ZGVkKTtcblx0XHR9KTtcblx0XHRyZXR1cm4ge1xuXHRcdFx0ZXhjbHVkZWQ6IHV0eG9zLFxuXHRcdFx0aW5jbHVkZWQsXG5cdFx0fTtcblx0fVxuXG5cdHB1YmxpYyBjb25zdW1lVXR4b3MoLi4udXR4b3M6IEFycmF5PFV0eG8+KTogQXJyYXk8VXR4bz4ge1xuXHRcdHRoaXMuYWNjb3VudHMuZm9yRWFjaCgoYWNjb3VudCkgPT4ge1xuXHRcdFx0dXR4b3MgPSBhY2NvdW50LmNvbnN1bWVVdHhvcyguLi51dHhvcyk7XG5cdFx0fSk7XG5cdFx0cmV0dXJuIHV0eG9zO1xuXHR9XG5cblx0cHVibGljIGFzeW5jIGdldEJhbGFuY2UoKTogUHJvbWlzZTxCYWxhbmNlPiB7XG5cdFx0aWYgKHRoaXMuX2FjY291bnRzLmxlbmd0aCA+IDApIHtcblx0XHRcdHJldHVybiBQcm9taXNlLmFsbChcblx0XHRcdFx0dGhpcy5fYWNjb3VudHMubWFwKGFzeW5jIChhY2M6IElBY2NvdW50KSA9PiB7XG5cdFx0XHRcdFx0Y29uc3QgYmFsYW5jZSA9IGF3YWl0IGFjYy5nZXRCYWxhbmNlKCk7XG5cdFx0XHRcdFx0cmV0dXJuIGJhbGFuY2U7XG5cdFx0XHRcdH0pLFxuXHRcdFx0KS50aGVuKChiYWxhbmNlczogQXJyYXk8QmFsYW5jZT4pID0+IHtcblx0XHRcdFx0cmV0dXJuIGJhbGFuY2VzLnJlZHVjZShcblx0XHRcdFx0XHQocHJldiwgY3VycikgPT4ge1xuXHRcdFx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHRcdFx0bG9ja2VkOiBwcmV2LmxvY2tlZCArIGN1cnIubG9ja2VkLFxuXHRcdFx0XHRcdFx0XHRzdGFrZWQ6IHByZXYuc3Rha2VkICsgY3Vyci5zdGFrZWQsXG5cdFx0XHRcdFx0XHRcdHVubG9ja2VkOiBwcmV2LnVubG9ja2VkICsgY3Vyci51bmxvY2tlZCxcblx0XHRcdFx0XHRcdH07XG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHR7IGxvY2tlZDogMG4sIHN0YWtlZDogMG4sIHVubG9ja2VkOiAwbiB9LFxuXHRcdFx0XHQpO1xuXHRcdFx0fSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiB0aGlzLmNvaW5iYXNlLmdldEJhbGFuY2UoKTtcblx0XHR9XG5cdH1cblxuXHRwdWJsaWMgYXN5bmMgZ2V0RGVsZWdhdGVlcyhcblx0XHRvcmRlcj86IFF1ZXJ5U3Rha2VzT3JkZXIsXG5cdFx0bGVmdEpvaW4gPSB0cnVlLFxuXHQpOiBQcm9taXNlPEFycmF5PFN0YWtlRW50cnk+PiB7XG5cdFx0Y29uc3QgcmVjb3JkczogQXJyYXk8U3Rha2VFbnRyeT4gPSBbXTtcblx0XHRyZWNvcmRzLnB1c2goLi4uKGF3YWl0IHRoaXMuY29pbmJhc2UuZ2V0RGVsZWdhdGVlcyhvcmRlcikpKTtcblx0XHRhd2FpdCBQcm9taXNlLmFsbChcblx0XHRcdHRoaXMuX2FjY291bnRzLm1hcCgoYWNjb3VudCkgPT5cblx0XHRcdFx0YWNjb3VudFxuXHRcdFx0XHRcdC5nZXREZWxlZ2F0ZWVzKG9yZGVyLCBsZWZ0Sm9pbilcblx0XHRcdFx0XHQudGhlbigoZW50cmllcykgPT4gcmVjb3Jkcy5wdXNoKC4uLmVudHJpZXMpKSxcblx0XHRcdCksXG5cdFx0KTtcblx0XHRpZiAob3JkZXIpIHtcblx0XHRcdGNvbnN0IHJldmVyc2UgPSBvcmRlcj8ucmV2ZXJzZSA/ICsxIDogLTE7XG5cdFx0XHRyZXR1cm4gcmVjb3Jkcy5zb3J0KChhLCBiKSA9PiB7XG5cdFx0XHRcdHN3aXRjaCAob3JkZXIuYnkpIHtcblx0XHRcdFx0XHRjYXNlIFN0YWtlc09yZGVyQnkuQ29pbnM6XG5cdFx0XHRcdFx0XHRyZXR1cm4gKFxuXHRcdFx0XHRcdFx0XHQoYS52YWx1ZS5jb2lucyA8IGIudmFsdWUuY29pbnNcblx0XHRcdFx0XHRcdFx0XHQ/IDFcblx0XHRcdFx0XHRcdFx0XHQ6IGEudmFsdWUuY29pbnMgPiBiLnZhbHVlLmNvaW5zXG5cdFx0XHRcdFx0XHRcdFx0XHQ/IC0xXG5cdFx0XHRcdFx0XHRcdFx0XHQ6IDApICogcmV2ZXJzZVxuXHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRjYXNlIFN0YWtlc09yZGVyQnkuTWluaW5nOlxuXHRcdFx0XHRcdFx0cmV0dXJuIChiLnZhbHVlLmVwb2Nocy5taW5pbmcgLSBhLnZhbHVlLmVwb2Nocy5taW5pbmcpICogcmV2ZXJzZTtcblx0XHRcdFx0XHRjYXNlIFN0YWtlc09yZGVyQnkuV2l0bmVzc2luZzpcblx0XHRcdFx0XHRcdHJldHVybiAoXG5cdFx0XHRcdFx0XHRcdChiLnZhbHVlLmVwb2Nocy53aXRuZXNzaW5nIC0gYS52YWx1ZS5lcG9jaHMud2l0bmVzc2luZykgKiByZXZlcnNlXG5cdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdGNhc2UgU3Rha2VzT3JkZXJCeS5Ob25jZTpcblx0XHRcdFx0XHRcdHJldHVybiAoYi52YWx1ZS5ub25jZSAtIGEudmFsdWUubm9uY2UpICogcmV2ZXJzZTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0fVxuXHRcdHJldHVybiByZWNvcmRzO1xuXHR9XG5cblx0cHVibGljIGFzeW5jIGdldFV0eG9zKHJlbG9hZD86IGJvb2xlYW4pOiBQcm9taXNlPEFycmF5PFV0eG8+PiB7XG5cdFx0cmV0dXJuIFByb21pc2UuYWxsKFxuXHRcdFx0dGhpcy5hY2NvdW50cy5tYXAoKGFjY291bnQpID0+IGFjY291bnQuZ2V0VXR4b3MocmVsb2FkKSksXG5cdFx0KS50aGVuKGFzeW5jICh1dHhvc3M6IEFycmF5PEFycmF5PFV0eG8+PikgPT4ge1xuXHRcdFx0Ly8gdXR4b3NzLnB1c2goYXdhaXQgdGhpcy5jb2luYmFzZS5nZXRVdHhvcyhyZWxvYWQpKVxuXHRcdFx0cmV0dXJuIHV0eG9zcy5mbGF0KCk7XG5cdFx0fSk7XG5cdH1cblxuXHRwdWJsaWMgYXN5bmMgc2VsZWN0VXR4b3Moc3BlY3M/OiB7XG5cdFx0dmFsdWU/OiBDb2lucztcblx0XHRyZWxvYWQ/OiBib29sZWFuO1xuXHRcdHN0cmF0ZWd5PzogVXR4b1NlbGVjdGlvblN0cmF0ZWd5O1xuXHR9KTogUHJvbWlzZTxBcnJheTxVdHhvPj4ge1xuXHRcdHJldHVybiB0aGlzLmdldFV0eG9zKHNwZWNzPy5yZWxvYWQpLnRoZW4oKHV0eG9zKSA9PlxuXHRcdFx0dXRpbHMuc2VsZWN0VXR4b3Moe1xuXHRcdFx0XHR1dHhvcyxcblx0XHRcdFx0dmFsdWU6IHNwZWNzPy52YWx1ZSxcblx0XHRcdFx0c3RyYXRlZ3k6IHNwZWNzPy5zdHJhdGVneSB8fCB0aGlzLnN0cmF0ZWd5LFxuXHRcdFx0fSksXG5cdFx0KTtcblx0fVxuXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0Ly8gLS0tIElXYWxsZXQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cdHB1YmxpYyBkZXJpdmVBY2NvdW50cyhsaW1pdDogbnVtYmVyKTogQXJyYXk8SUFjY291bnQ+IHtcblx0XHRpZiAobGltaXQgPiB0aGlzLl9hY2NvdW50cy5sZW5ndGgpIHtcblx0XHRcdGNvbnN0IHN0YXJ0SW5kZXggPVxuXHRcdFx0XHR0aGlzLl9hY2NvdW50cy5sZW5ndGggPiAwXG5cdFx0XHRcdFx0PyB0aGlzLmFjY291bnRzW3RoaXMuYWNjb3VudHMubGVuZ3RoIC0gMV0uaW5kZXggKyAxXG5cdFx0XHRcdFx0OiAwO1xuXHRcdFx0bGltaXQgPSBsaW1pdCAtIHRoaXMuX2FjY291bnRzLmxlbmd0aDtcblx0XHRcdGZvciAobGV0IGl4ID0gMDsgaXggPCBsaW1pdDsgaXgrKykge1xuXHRcdFx0XHR0aGlzLl9hY2NvdW50cy5wdXNoKFxuXHRcdFx0XHRcdG5ldyBBY2NvdW50KHRoaXMucm9vdCwgdGhpcy5wcm92aWRlciwgc3RhcnRJbmRleCArIGl4LCB0aGlzLnN0cmF0ZWd5KSxcblx0XHRcdFx0KTtcblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIHRoaXMuX2FjY291bnRzO1xuXHR9XG5cblx0cHVibGljIGFzeW5jIGV4cGxvcmVBY2NvdW50cyhcblx0XHRsaW1pdCA9IDEsXG5cdFx0Z2FwID0gREVGQVVMVF9HQVAsXG5cdCk6IFByb21pc2U8QXJyYXk8SUFjY291bnQ+PiB7XG5cdFx0aWYgKGxpbWl0ID09PSAwIHx8IGxpbWl0ID4gdGhpcy5hY2NvdW50cy5sZW5ndGgpIHtcblx0XHRcdGNvbnN0IGxhc3RJbmRleCA9ICh4OiBBcnJheTxJQWNjb3VudD4pID0+XG5cdFx0XHRcdE51bWJlcih4Lmxlbmd0aCA+IDAgPyB4W3gubGVuZ3RoIC0gMV0uaW5kZXggKyAxIDogMCk7XG5cdFx0XHRjb25zdCBzdGFydEluZGV4ID0gbGFzdEluZGV4KHRoaXMuYWNjb3VudHMpO1xuXHRcdFx0Zm9yIChcblx0XHRcdFx0bGV0IGluZGV4ID0gc3RhcnRJbmRleDtcblx0XHRcdFx0aW5kZXggPCBsYXN0SW5kZXgodGhpcy5hY2NvdW50cykgKyBOdW1iZXIoZ2FwKTtcblx0XHRcdFx0aW5kZXgrK1xuXHRcdFx0KSB7XG5cdFx0XHRcdGNvbnN0IGFjY291bnQgPSBuZXcgQWNjb3VudChcblx0XHRcdFx0XHR0aGlzLnJvb3QsXG5cdFx0XHRcdFx0dGhpcy5wcm92aWRlcixcblx0XHRcdFx0XHRpbmRleCxcblx0XHRcdFx0XHR0aGlzLnN0cmF0ZWd5LFxuXHRcdFx0XHQpO1xuXHRcdFx0XHRpZiAodXRpbHMudG90YWxDb2lucyhhd2FpdCBhY2NvdW50LmdldEJhbGFuY2UoKSkucGVkcm9zID4gMG4pIHtcblx0XHRcdFx0XHR0aGlzLmFjY291bnRzLnB1c2goYWNjb3VudCk7XG5cdFx0XHRcdFx0aWYgKGxpbWl0ICYmIHRoaXMuYWNjb3VudHMubGVuZ3RoID49IGxpbWl0KSBicmVhaztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gdGhpcy5fYWNjb3VudHM7XG5cdH1cblxuXHRwdWJsaWMgZ2V0QWNjb3VudChcblx0XHRwa2g6IFB1YmxpY0tleUhhc2hTdHJpbmcsXG5cdFx0Z2FwPzogbnVtYmVyLFxuXHQpOiBJQWNjb3VudCB8IHVuZGVmaW5lZCB7XG5cdFx0bGV0IGFjY291bnQgPSB0aGlzLl9hY2NvdW50cy5maW5kKFxuXHRcdFx0KGFjY291bnQpID0+IGFjY291bnQuaW50ZXJuYWwucGtoID09PSBwa2ggfHwgYWNjb3VudC5wa2ggPT09IHBraCxcblx0XHQpO1xuXHRcdGlmICghYWNjb3VudCkge1xuXHRcdFx0Zm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IChnYXAgfHwgREVGQVVMVF9HQVApOyBpbmRleCsrKSB7XG5cdFx0XHRcdGFjY291bnQgPSBuZXcgQWNjb3VudCh0aGlzLnJvb3QsIHRoaXMucHJvdmlkZXIsIGluZGV4LCB0aGlzLnN0cmF0ZWd5KTtcblx0XHRcdFx0aWYgKGFjY291bnQucGtoID09PSBwa2ggfHwgYWNjb3VudC5pbnRlcm5hbC5wa2ggPT09IHBraCkge1xuXHRcdFx0XHRcdHRoaXMuX2FjY291bnRzLnB1c2goYWNjb3VudCk7XG5cdFx0XHRcdFx0cmV0dXJuIGFjY291bnQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiBhY2NvdW50O1xuXHRcdH1cblx0fVxuXG5cdHB1YmxpYyBnZXRTaWduZXIoXG5cdFx0cGtoPzogUHVibGljS2V5SGFzaFN0cmluZyxcblx0XHRnYXA/OiBudW1iZXIsXG5cdCk6IElTaWduZXIgfCB1bmRlZmluZWQge1xuXHRcdGlmICghcGtoKVxuXHRcdFx0cmV0dXJuIHRoaXMuYWNjb3VudHNbMF0/LmdldFNpZ25lcigpIHx8IHRoaXMuY29pbmJhc2UuZ2V0U2lnbmVyKHBraCk7XG5cdFx0Y29uc3QgYWNjb3VudCA9IHRoaXMuZ2V0QWNjb3VudChwa2gsIGdhcCk7XG5cdFx0cmV0dXJuIGFjY291bnQ/LmdldFNpZ25lcihwa2gpIHx8IHRoaXMuY29pbmJhc2UuZ2V0U2lnbmVyKHBraCk7XG5cdH1cbn1cbiJdfQ==
|
package/dist/src/lib/index.js
CHANGED
|
@@ -3,4 +3,4 @@ export * as Radon from "./radon/index.js";
|
|
|
3
3
|
export * from "./rest/kermit.js";
|
|
4
4
|
export * from "./rpc/index.js";
|
|
5
5
|
export * from "./types.js";
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsT0FBTyxLQUFLLEtBQUssTUFBTSxrQkFBa0IsQ0FBQztBQUMxQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9jcnlwdG8vaW5kZXguanNcIjtcbmV4cG9ydCAqIGFzIFJhZG9uIGZyb20gXCIuL3JhZG9uL2luZGV4LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yZXN0L2tlcm1pdC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcnBjL2luZGV4LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90eXBlcy5qc1wiO1xuIl19
|
|
@@ -281,4 +281,4 @@ export const sendRawTransaction = (data) => {
|
|
|
281
281
|
params: [data],
|
|
282
282
|
};
|
|
283
283
|
};
|
|
284
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXRoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9yYWRvbi9jY2RyL2V0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04saUJBQWlCLEVBQ2pCLFdBQVcsRUFDWCxtQkFBbUIsRUFDbkIsVUFBVSxHQUNWLE1BQU0seUJBQXlCLENBQUM7QUFnQmpDLFNBQVMsWUFBWSxDQUFDLEtBQW1CO0lBQ3hDLE9BQU8sQ0FDTixLQUFLLEtBQUssUUFBUTtRQUNsQixLQUFLLEtBQUssVUFBVTtRQUNwQixLQUFLLEtBQUssV0FBVztRQUNyQixLQUFLLEtBQUssU0FBUztRQUNuQixPQUFPLEtBQUssS0FBSyxRQUFRO1FBQ3pCLG1CQUFtQixDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7UUFDOUIsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUNqQixDQUFDO0FBQ0gsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO0FBRWpFOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsRUFPcEIsRUFBRSxFQUFFO0lBQ0osaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdEIsSUFBSSxFQUFFLEVBQUUsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUM3RSxNQUFNLElBQUksU0FBUyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUNELElBQ0MsRUFBRSxFQUFFLEdBQUc7UUFDUCxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQztRQUN6QixDQUFDLG1C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QUFJLFNBQVMsQ0FDbEIsNkRBQTZELENBQzdELENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTztRQUNOLE1BQU0sRUFBRSx3QkFBd0I7UUFDaEMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDO0tBQ2QsQ0FBQztBQUNILENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcblx0Y2hlY2tScGNXaWxkY2FyZHMsXHJcblx0aXNIZXhTdHJpbmcsXHJcblx0aXNIZXhTdHJpbmdPZkxlbmd0aCxcclxuXHRpc1dpbGRjYXJkLFxyXG59IGZyb20gXCIuLi8uLi8uLi9iaW4vaGVscGVycy5qc1wiO1xyXG5cclxuaW1wb3J0IHR5cGUge1xyXG5cdC8vIENyb3NzQ2hhaW5SUEMsXHJcblx0QmxvY2tOdW1iZXIsXHJcblx0Qnl0ZXMsXHJcblx0Qnl0ZXMzMixcclxuXHRIZXhTdHJpbmcsXHJcblx0SGV4U3RyaW5nT2ZMZW5ndGgsXHJcblx0V2lsZGNhcmQsXHJcbn0gZnJvbSBcIi4vaW5kZXguanNcIjtcclxuXHJcbmV4cG9ydCB0eXBlIEV0aEFkZHJlc3MgPSBIZXhTdHJpbmdPZkxlbmd0aDw0MD47XHJcbmV4cG9ydCB0eXBlIEV0aEJsb2NrSGVhZCA9IEJsb2NrTnVtYmVyIHwgRXRoQmxvY2tUYWcgfCBXaWxkY2FyZDtcclxuZXhwb3J0IHR5cGUgRXRoQmxvY2tUYWcgPSBcImxhdGVzdFwiIHwgXCJlYXJsaWVzdFwiIHwgXCJwZW5kaW5nXCIgfCBcImZpbmFsaXplZFwiO1xyXG5cclxuZnVuY3Rpb24gX2lzQmxvY2tIZWFkKGJsb2NrOiBFdGhCbG9ja0hlYWQpOiBib29sZWFuIHtcclxuXHRyZXR1cm4gKFxyXG5cdFx0YmxvY2sgPT09IFwibGF0ZXN0XCIgfHxcclxuXHRcdGJsb2NrID09PSBcImVhcmxpZXN0XCIgfHxcclxuXHRcdGJsb2NrID09PSBcImZpbmFsaXplZFwiIHx8XHJcblx0XHRibG9jayA9PT0gXCJwZW5kaW5nXCIgfHxcclxuXHRcdHR5cGVvZiBibG9jayA9PT0gXCJudW1iZXJcIiB8fFxyXG5cdFx0aXNIZXhTdHJpbmdPZkxlbmd0aChibG9jaywgMzIpIHx8XHJcblx0XHRpc1dpbGRjYXJkKGJsb2NrKVxyXG5cdCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXRyaWV2ZSB0aGUgbnVtYmVyIG9mIG1vc3QgcmVjZW50IGJsb2NrLlxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IGJsb2NrTnVtYmVyID0gKCkgPT4gKHsgbWV0aG9kOiBcImV0aF9ibG9ja051bWJlclwiIH0pO1xyXG5cclxuLyoqXHJcbiAqIEludm9rZSBtZXNzYWdlIGNhbGwgaW1tZWRpYXRlbHkgd2l0aG91dCBjcmVhdGluZyBhIHRyYW5zYWN0aW9uXHJcbiAqIG9uIHRoZSByZW1vdGUgYmxvY2sgY2hhaW4uIE9mdGVuIHVzZWQgZm9yIGV4ZWN1dGluZyByZWFkLW9ubHkgc21hcnQgY29udHJhY3RcclxuICogZnVuY3Rpb25zLCBmb3IgZXhhbXBsZSB0aGUgYmFsYW5jZU9mIGZvciBhbiBFUkMtMjAgY29udHJhY3QuXHJcbiAqIEBwYXJhbSB0eCBUaGUgdHJhbnNhY3Rpb24gY2FsbCBvYmplY3QuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgY2FsbCA9ICh0eDoge1xyXG5cdGZyb20/OiBFdGhBZGRyZXNzIHwgV2lsZGNhcmQ7XHJcblx0dG86IEV0aEFkZHJlc3MgfCBXaWxkY2FyZDtcclxuXHRnYXM/OiBudW1iZXIgfCBIZXhTdHJpbmcgfCBXaWxkY2FyZDtcclxuXHRnYXNQcmljZT86IG51bWJlciB8IEhleFN0cmluZyB8IFdpbGRjYXJkO1xyXG5cdHZhbHVlPzogbnVtYmVyIHwgSGV4U3RyaW5nIHwgV2lsZGNhcmQ7XHJcblx0ZGF0YT86IEhleFN0cmluZyB8IFdpbGRjYXJkO1xyXG59KSA9PiB7XHJcblx0Y2hlY2tScGNXaWxkY2FyZHModHgpO1xyXG5cdGlmICh0eD8uZnJvbSAmJiAhaXNIZXhTdHJpbmdPZkxlbmd0aCh0eD8uZnJvbSwgMjApICYmICFpc1dpbGRjYXJkKHR4Py5mcm9tKSkge1xyXG5cdFx0dGhyb3cgbmV3IFR5cGVFcnJvcihcInJwYy5ldGguY2FsbDogaW52YWxpZCAnZnJvbScgYWRkcmVzc1wiKTtcclxuXHR9XHJcblx0aWYgKFxyXG5cdFx0dHg/LmdhcyAmJlxyXG5cdFx0IU51bWJlci5pc0ludGVnZXIodHguZ2FzKSAmJlxyXG5cdFx0IWlzSGV4U3RyaW5nT2ZMZW5ndGgodHguZ2FzLCAzMikgJiZcclxuXHRcdCFpc1dpbGRjYXJkKHR4LmdhcylcclxuXHQpIHtcclxuXHRcdHRocm93IG5ldyBUeXBlRXJyb3IoXCJycGMuZXRoLmNhbGw6IGludmFsaWQgJ2dhcycgdmFsdWVcIik7XHJcblx0fVxyXG5cdGlmIChcclxuXHRcdHR4Py5nYXNQcmljZSAmJlxyXG5cdFx0IU51bWJlci5pc0ludGVnZXIodHguZ2FzUHJpY2UpICYmXHJcblx0XHQhaXNIZXhTdHJpbmdPZkxlbmd0aCh0eC5nYXNQcmljZSwgMzIpICYmXHJcblx0XHQhaXNXaWxkY2FyZCh0eC5nYXNQcmljZSlcclxuXHQpIHtcclxuXHRcdHRocm93IG5ldyBUeXBlRXJyb3IoXCJycGMuZXRoLmNhbGw6IGludmFsaWQgJ2dhc1ByaWNlJyB2YWx1ZVwiKTtcclxuXHR9XHJcblx0aWYgKFxyXG5cdFx0dHg/LnZhbHVlICYmXHJcblx0XHQhTnVtYmVyLmlzSW50ZWdlcih0eC52YWx1ZSkgJiZcclxuXHRcdCFpc0hleFN0cmluZ09mTGVuZ3RoKHR4LnZhbHVlLCAzMikgJiZcclxuXHRcdCFpc1dpbGRjYXJkKHR4LnZhbHVlKVxyXG5cdCkge1xyXG5cdFx0dGhyb3cgbmV3IFR5cGVFcnJvcihcInJwYy5ldGguY2FsbDogaW52YWxpZCB0cmFuc2FjdGlvbiAndmFsdWUnXCIpO1xyXG5cdH1cclxuXHRpZiAodHg/LmRhdGEgJiYgIWlzSGV4U3RyaW5nKHR4LmRhdGEpICYmICFpc1dpbGRjYXJkKHR4LmRhdGEpKSB7XHJcblx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKFwicnBjLmV0aC5jYWxsOiBpbnZhbGlkIHRyYW5zYWN0aW9uICdkYXRhJ1wiKTtcclxuXHR9XHJcblx0cmV0dXJuIHtcclxuXHRcdG1ldGhvZDogXCJldGhfY2FsbFwiLFxyXG5cdFx0cGFyYW1zOiBbdHhdLFxyXG5cdH07XHJcbn07XHJcblxyXG4vKipcclxuICogR2VuZXJhdGVzIGFuZCByZXR1cm5zIGFuIGVzdGltYXRlIG9mIGhvdyBtdWNoIGdhcyBpcyBuZWNlc3NhcnlcclxuICogdG8gYWxsb3cgdGhlIHRyYW5zYWN0aW9uIHRvIGNvbXBsZXRlLiBUaGUgdHJhbnNhY3Rpb24gd2lsbCBub3QgYmVcclxuICogYWRkZWQgdG8gdGhlIGJsb2NrY2hhaW4uIE5vdGUgdGhhdCB0aGUgZXN0aW1hdGUgbWF5IGJlIHNpZ25pZmljYW50bHlcclxuICogbW9yZSB0aGFuIHRoZSBhbW91bnQgb2YgZ2FzIGFjdHVhbGx5IHVzZWQgYnkgdGhlIHRyYW5zYWN0aW9uLCBmb3IgYVxyXG4gKiB2YXJpZXR5IG9mIHJlYXNvbnMgaW5jbHVkaW5nIEVWTSBtZWNoYW5pY3MgYW5kIG5vZGUgcGVyZm9ybWFuY2UuXHJcbiAqIEBwYXJhbSB0eCBUaGUgdHJhbnNhY3Rpb24gY2FsbCBvYmplY3QuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgZXN0aW1hdGVHYXMgPSAodHg6IHtcclxuXHRmcm9tPzogRXRoQWRkcmVzcyB8IFdpbGRjYXJkO1xyXG5cdHRvOiBFdGhBZGRyZXNzIHwgV2lsZGNhcmQ7XHJcblx0Z2FzPzogbnVtYmVyIHwgSGV4U3RyaW5nIHwgV2lsZGNhcmQ7XHJcblx0Z2FzUHJpY2U/OiBudW1iZXIgfCBIZXhTdHJpbmcgfCBXaWxkY2FyZDtcclxuXHR2YWx1ZT86IG51bWJlciB8IEhleFN0cmluZyB8IFdpbGRjYXJkO1xyXG5cdGRhdGE/OiBIZXhTdHJpbmcgfCBXaWxkY2FyZDtcclxufSkgPT4ge1xyXG5cdGNoZWNrUnBjV2lsZGNhcmRzKHR4KTtcclxuXHRpZiAodHg/LmZyb20gJiYgIWlzSGV4U3RyaW5nT2ZMZW5ndGgodHg/LmZyb20sIDIwKSAmJiAhaXNXaWxkY2FyZCh0eD8uZnJvbSkpIHtcclxuXHRcdHRocm93IG5ldyBUeXBlRXJyb3IoXCJycGMuZXRoLmVzdGltYXRlR2FzOiBpbnZhbGlkICdmcm9tJyBhZGRyZXNzXCIpO1xyXG5cdH1cclxuXHRpZiAoXHJcblx0XHR0eD8uZ2FzICYmXHJcblx0XHQhTnVtYmVyLmlzSW50ZWdlcih0eC5nYXMpICYmXHJcblx0XHQhaXNIZXhTdHJpbmdPZkxlbmd0aCh0eC5nYXMsIDMyKSAmJlxyXG5cdFx0IWlzV2lsZGNhcmQodHguZ2FzKVxyXG5cdCkge1xyXG5cdFx0dGhyb3cgbmV3IFR5cGVFcnJvcihcInJwYy5ldGguZXN0aW1hdGVHYXM6IGludmFsaWQgJ2dhcycgdmFsdWVcIik7XHJcblx0fVxyXG5cdGlmIChcclxuXHRcdHR4Py5nYXNQcmljZSAmJlxyXG5cdFx0IU51bWJlci5pc0ludGVnZXIodHguZ2FzUHJpY2UpICYmXHJcblx0XHQhaXNIZXhTdHJpbmdPZkxlbmd0aCh0eC5nYXNQcmljZSwgMzIpICYmXHJcblx0XHQhaXNXaWxkY2FyZCh0eC5nYXNQcmljZSlcclxuXHQpIHtcclxuXHRcdHRocm93IG5ldyBUeXBlRXJyb3IoXCJycGMuZXRoLmVzdGltYXRlR2FzOiBpbnZhbGlkICdnYXNQcmljZScgdmFsdWVcIik7XHJcblx0fVxyXG5cdGlmIChcclxuXHRcdHR4Py52YWx1ZSAmJlxyXG5cdFx0IU51bWJlci5pc0ludGVnZXIodHgudmFsdWUpICYmXHJcblx0XHQhaXNIZXhTdHJpbmdPZkxlbmd0aCh0eC52YWx1ZSwgMzIpICYmXHJcblx0XHQhaXNXaWxkY2FyZCh0eC52YWx1ZSlcclxuXHQpIHtcclxuXHRcdHRocm93IG5ldyBUeXBlRXJyb3IoXCJycGMuZXRoLmVzdGltYXRlR2FzOiBpbnZhbGlkIHRyYW5zYWN0aW9uICd2YWx1ZSdcIik7XHJcblx0fVxyXG5cdGlmICh0eD8uZGF0YSAmJiAhaXNIZXhTdHJpbmcodHguZGF0YSkgJiYgIWlzV2lsZGNhcmQodHguZGF0YSkpIHtcclxuXHRcdHRocm93IG5ldyBUeXBlRXJyb3IoXCJycGMuZXRoLmVzdGltYXRlR2FzOiBpbnZhbGlkIHRyYW5zYWN0aW9uICdkYXRhJ1wiKTtcclxuXHR9XHJcblx0cmV0dXJuIHtcclxuXHRcdG1ldGhvZDogXCJldGhfZXN0aW1hdGVHYXNcIixcclxuXHRcdHBhcmFtczogW3R4XSxcclxuXHR9O1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIFJldHJpZXZlIHRoZSBiYWxhbmNlIG9mIHRoZSBhY2NvdW50IG9mIGdpdmVuIGFkZHJlc3MuXHJcbiAqIEBwYXJhbSBhZGRyZXNzIFdlYjMgYWRkcmVzcyBvbiByZW1vdGUgRVZNIGNoYWluLlxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IGdldEJhbGFuY2UgPSAoXHJcblx0YWRkcmVzczogRXRoQWRkcmVzcyB8IFdpbGRjYXJkLFxyXG5cdGJsb2NrPzogRXRoQmxvY2tIZWFkIHwgV2lsZGNhcmQsXHJcbikgPT4ge1xyXG5cdGNoZWNrUnBjV2lsZGNhcmRzKFthZGRyZXNzLCBibG9ja10pO1xyXG5cdGlmICghaXNIZXhTdHJpbmdPZkxlbmd0aChhZGRyZXNzLCAyMCkgJiYgIWlzV2lsZGNhcmQoYWRkcmVzcykpIHtcclxuXHRcdHRocm93IG5ldyBUeXBlRXJyb3IoXCJycGMuZXRoLmdldEJhbGFuY2U6IGludmFsaWQgV2ViMyBhZGRyZXNzIGZvcm1hdFwiKTtcclxuXHR9XHJcblx0cmV0dXJuIHtcclxuXHRcdG1ldGhvZDogXCJldGhfZ2V0QmFsYW5jZVwiLFxyXG5cdFx0cGFyYW1zOiBbYWRkcmVzcywgYmxvY2tdLFxyXG5cdH07XHJcbn07XHJcblxyXG4vKipcclxuICogUmV0cmlldmUgY29kZSBhdCBhIGdpdmVuIGFkZHJlc3MuXHJcbiAqIEBwYXJhbSBhZGRyZXNzIEV0aEFkZHJlc3MgZnJvbSB3aGVyZSB0byBnZXQgdGhlIGNvZGUuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgZ2V0Q29kZSA9IChhZGRyZXNzOiBFdGhBZGRyZXNzIHwgV2lsZGNhcmQpID0+IHtcclxuXHRjaGVja1JwY1dpbGRjYXJkcyhhZGRyZXNzKTtcclxuXHRpZiAoIWlzSGV4U3RyaW5nT2ZMZW5ndGgoYWRkcmVzcywgMjApICYmICFpc1dpbGRjYXJkKGFkZHJlc3MpKSB7XHJcblx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKFwicnBjLmV0aC5nZXRDb2RlOiBpbnZhbGlkIFdlYjMgYWRkcmVzcyBmb3JtYXRcIik7XHJcblx0fVxyXG5cdHJldHVybiB7XHJcblx0XHRtZXRob2Q6IFwiZXRoX2dldENvZGVcIixcclxuXHRcdHBhcmFtczogW2FkZHJlc3NdLFxyXG5cdH07XHJcbn07XHJcblxyXG4vKipcclxuICogUmV0cmlldmUgYW4gYXJyYXkgb2YgYWxsIGxvZ3MgbWF0Y2hpbmcgYSBnaXZlbiBmaWx0ZXIgb2JqZWN0LlxyXG4gKiBAcGFyYW0gZmlsdGVyIFRoZSBmaWx0ZXIgb3B0aW9ucy5cclxuICovXHJcbmV4cG9ydCBjb25zdCBnZXRMb2dzID0gKGZpbHRlcjoge1xyXG5cdGZyb21CbG9jaz86IEV0aEJsb2NrSGVhZDtcclxuXHR0b0Jsb2NrPzogRXRoQmxvY2tIZWFkO1xyXG5cdGFkZHJlc3M/OiBFdGhBZGRyZXNzIHwgRXRoQWRkcmVzc1tdIHwgV2lsZGNhcmQ7XHJcblx0dG9waWNzPzogQnl0ZXMzMltdO1xyXG5cdGJsb2NrSGFzaD86IEJ5dGVzMzIgfCBXaWxkY2FyZDtcclxufSkgPT4ge1xyXG5cdGNoZWNrUnBjV2lsZGNhcmRzKGZpbHRlcik7XHJcblx0aWYgKGZpbHRlcj8uYmxvY2tIYXNoICYmIChmaWx0ZXI/LmZyb21CbG9jayB8fCBmaWx0ZXI/LnRvQmxvY2spKSB7XHJcblx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKFwicnBjLmV0aC5nZXRMb2dzOiB1bmNvbXBsaWFudCB1c2Ugb2YgJ2Jsb2NrSGFzaCdcIik7XHJcblx0fVxyXG5cdGlmIChmaWx0ZXI/LmZyb21CbG9jaykge1xyXG5cdFx0aWYgKCFfaXNCbG9ja0hlYWQoZmlsdGVyPy5mcm9tQmxvY2spKSB7XHJcblx0XHRcdHRocm93IG5ldyBUeXBlRXJyb3IoXCJycGMuZXRoLmdldExvZ3M6IGludmFsaWQgJ2Zyb21CbG9jaycgdmFsdWVcIik7XHJcblx0XHR9IGVsc2UgaWYgKHR5cGVvZiBmaWx0ZXI/LmZyb21CbG9jayA9PT0gXCJudW1iZXJcIikge1xyXG5cdFx0XHRmaWx0ZXIuZnJvbUJsb2NrID1cclxuXHRcdFx0XHRgMHgkeyhmaWx0ZXI/LmZyb21CbG9jayBhcyBudW1iZXIpLnRvU3RyaW5nKDE2KX1gIGFzIEV0aEJsb2NrSGVhZDtcclxuXHRcdH1cclxuXHR9XHJcblx0aWYgKGZpbHRlcj8udG9CbG9jaykge1xyXG5cdFx0aWYgKCFfaXNCbG9ja0hlYWQoZmlsdGVyPy50b0Jsb2NrKSkge1xyXG5cdFx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKFwicnBjLmV0aC5nZXRMb2dzOiBpbnZhbGlkICd0b0Jsb2NrJyB2YWx1ZVwiKTtcclxuXHRcdH0gZWxzZSBpZiAodHlwZW9mIGZpbHRlcj8udG9CbG9jayA9PT0gXCJudW1iZXJcIikge1xyXG5cdFx0XHRmaWx0ZXIudG9CbG9jayA9XHJcblx0XHRcdFx0YDB4JHsoZmlsdGVyPy50b0Jsb2NrIGFzIG51bWJlcikudG9TdHJpbmcoMTYpfWAgYXMgRXRoQmxvY2tIZWFkO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRpZiAoXHJcblx0XHRmaWx0ZXI/LmJsb2NrSGFzaCAmJlxyXG5cdFx0IWlzSGV4U3RyaW5nT2ZMZW5ndGgoZmlsdGVyLmJsb2NrSGFzaCwgMzIpICYmXHJcblx0XHQhaXNXaWxkY2FyZChmaWx0ZXIuYmxvY2tIYXNoKVxyXG5cdCkge1xyXG5cdFx0dGhyb3cgbmV3IFR5cGVFcnJvcihcInJwYy5ldGguZ2V0TG9nczogaW52YWxpZCAnYmxvY2tIYXNoJyB2YWx1ZVwiKTtcclxuXHR9XHJcblx0aWYgKGZpbHRlcj8udG9waWNzKSB7XHJcblx0XHRmaWx0ZXIudG9waWNzLm1hcCgodmFsdWU6IEJ5dGVzMzIsIGluZGV4OiBudW1iZXIpID0+IHtcclxuXHRcdFx0aWYgKCFpc0hleFN0cmluZ09mTGVuZ3RoKHZhbHVlLCAzMikgJiYgIWlzV2lsZGNhcmQodmFsdWUpKSB7XHJcblx0XHRcdFx0dGhyb3cgbmV3IFR5cGVFcnJvcihgcnBjLmV0aC5nZXRMb2dzOiB0b3BpYyAjJHtpbmRleH06IGludmFsaWQgaGFzaGApO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHR9XHJcblx0cmV0dXJuIHtcclxuXHRcdG1ldGhvZDogXCJldGhfZ2V0TG9nc1wiLFxyXG5cdFx0cGFyYW1zOiBbZmlsdGVyXSxcclxuXHR9O1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIFJldHJpZXZlIGFuIGVzdGltYXRlIG9mIHRoZSBjdXJyZW50IHByaWNlIHBlciBnYXMgaW4gd2VpLlxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IGdhc1ByaWNlID0gKCkgPT4gKHsgbWV0aG9kOiBcImV0aF9nYXNQcmljZVwiIH0pO1xyXG5cclxuLyoqXHJcbiAqIFJldHJpZXZlIHRoZSB2YWx1ZSBmcm9tIGEgc3RvcmFnZSBwb3NpdGlvbiBhdCBhIGdpdmVuIGFkZHJlc3MuXHJcbiAqIEBwYXJhbSBhZGRyZXNzIEV0aEFkZHJlc3Mgb2YgdGhlIHN0b3JhZ2UuXHJcbiAqIEBwYXJhbSBvZmZzZXQgT2Zmc2V0IHdpdGhpbiBzdG9yYWdlIGFkZHJlc3MuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgZ2V0U3RvcmFnZUF0ID0gKFxyXG5cdGFkZHJlc3M6IEV0aEFkZHJlc3MgfCBXaWxkY2FyZCxcclxuXHRvZmZzZXQ6IEJ5dGVzMzIgfCBXaWxkY2FyZCxcclxuKSA9PiB7XHJcblx0Y2hlY2tScGNXaWxkY2FyZHMoW2FkZHJlc3MsIG9mZnNldF0pO1xyXG5cdGlmICghaXNIZXhTdHJpbmdPZkxlbmd0aChhZGRyZXNzLCAyMCkgJiYgIWlzV2lsZGNhcmQoYWRkcmVzcykpIHtcclxuXHRcdHRocm93IG5ldyBUeXBlRXJyb3IoXCJycGMuZXRoLmdldFN0b3JhZ2VBdDogaW52YWxpZCBXZWIzIGFkZHJlc3MgZm9ybWF0XCIpO1xyXG5cdH1cclxuXHRpZiAoIWlzSGV4U3RyaW5nT2ZMZW5ndGgob2Zmc2V0LCAzMikgJiYgIWlzV2lsZGNhcmQob2Zmc2V0KSkge1xyXG5cdFx0dGhyb3cgbmV3IFR5cGVFcnJvcihcInJwYy5ldGguZ2V0U3RvcmFnZUF0OiBpbnZhbGlkIHN0b3JhZ2Ugb2Zmc2V0IHZhbHVlXCIpO1xyXG5cdH1cclxuXHRyZXR1cm4ge1xyXG5cdFx0bWV0aG9kOiBcImV0aF9nZXRTdG9yYWdlQXRcIixcclxuXHRcdHBhcmFtczogW2FkZHJlc3MsIG9mZnNldF0sXHJcblx0fTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBSZXRyaWV2ZSB0aGUgaW5mb3JtYXRpb24gYWJvdXQgYSByZW1vdGUgdHJhbnNhY3Rpb24gZ2l2ZW4gYSBibG9jayBoYXNoIGFuZCBhIHRyYW5zYWN0aW9uIGluZGV4LlxyXG4gKiBAcGFyYW0gdHhIYXNoIEhhc2ggb2YgdGhlIHJlbW90ZSB0cmFuc2FjdGlvbi5cclxuICovXHJcbmV4cG9ydCBjb25zdCBnZXRUcmFuc2FjdGlvbkJ5QmxvY2tIYXNoQW5kSW5kZXggPSAoXHJcblx0YmxvY2tIYXNoOiBCeXRlczMyIHwgV2lsZGNhcmQsXHJcblx0dHhJbmRleDogbnVtYmVyIHwgQnl0ZXMzMiB8IFdpbGRjYXJkLFxyXG4pID0+IHtcclxuXHRjaGVja1JwY1dpbGRjYXJkcyhbYmxvY2tIYXNoLCB0eEluZGV4XSk7XHJcblx0aWYgKCFpc0hleFN0cmluZ09mTGVuZ3RoKGJsb2NrSGFzaCwgMzIpICYmICFpc1dpbGRjYXJkKGJsb2NrSGFzaCkpIHtcclxuXHRcdHRocm93IG5ldyBUeXBlRXJyb3IoXHJcblx0XHRcdFwicnBjLmV0aC5nZXRUcmFuc2FjdGlvbkJ5QmxvY2tIYXNoQW5kSW5kZXg6IGludmFsaWQgYmxvY2sgaGFzaCB2YWx1ZVwiLFxyXG5cdFx0KTtcclxuXHR9XHJcblx0aWYgKFxyXG5cdFx0IU51bWJlci5pc0ludGVnZXIodHhJbmRleCkgJiZcclxuXHRcdCFpc0hleFN0cmluZ09mTGVuZ3RoKHR4SW5kZXgsIDMyKSAmJlxyXG5cdFx0IWlzV2lsZGNhcmQodHhJbmRleClcclxuXHQpIHtcclxuXHRcdHRocm93IG5ldyBUeXBlRXJyb3IoXHJcblx0XHRcdFwicnBjLmV0aC5nZXRUcmFuc2FjdGlvbkJ5QmxvY2tIYXNoQW5kSW5kZXg6IGludmFsaWQgdHJhbnNhY3Rpb24gaW5kZXggdmFsdWVcIixcclxuXHRcdCk7XHJcblx0fVxyXG5cdHJldHVybiB7XHJcblx0XHRtZXRob2Q6IFwiZXRoX2dldFRyYW5zYWN0aW9uQnlCbG9ja0hhc2hBbmRJbmRleFwiLFxyXG5cdFx0cGFyYW1zOiBbYmxvY2tIYXNoLCB0eEluZGV4XSxcclxuXHR9O1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIFJldHJpZXZlIHRoZSBpbmZvcm1hdGlvbiBhYm91dCBhIHJlbW90ZSB0cmFuc2FjdGlvbiBnaXZlbiBhIGJsb2NrIG51bWJlciBhbmQgYSB0cmFuc2FjdGlvbiBpbmRleC5cclxuICogQHBhcmFtIHR4SGFzaCBIYXNoIG9mIHRoZSByZW1vdGUgdHJhbnNhY3Rpb24uXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgZ2V0VHJhbnNhY3Rpb25CeUJsb2NrTnVtYmVyQW5kSW5kZXggPSAoXHJcblx0YmxvY2tOdW1iZXI6IEV0aEJsb2NrSGVhZCxcclxuXHR0eEluZGV4OiBudW1iZXIgfCBCeXRlczMyIHwgV2lsZGNhcmQsXHJcbikgPT4ge1xyXG5cdGNoZWNrUnBjV2lsZGNhcmRzKFtibG9ja051bWJlciwgdHhJbmRleF0pO1xyXG5cdGlmICghX2lzQmxvY2tIZWFkKGJsb2NrTnVtYmVyKSkge1xyXG5cdFx0dGhyb3cgbmV3IFR5cGVFcnJvcihcclxuXHRcdFx0XCJycGMuZXRoLmdldFRyYW5zYWN0aW9uQnlCbG9ja051bWJlckFuZEluZGV4OiBpbnZhbGlkIGJsb2NrIG51bWJlciB2YWx1ZVwiLFxyXG5cdFx0KTtcclxuXHR9IGVsc2Uge1xyXG5cdFx0aWYgKHR5cGVvZiBibG9ja051bWJlciA9PT0gXCJudW1iZXJcIikge1xyXG5cdFx0XHRibG9ja051bWJlciA9IGAweCR7KGJsb2NrTnVtYmVyIGFzIG51bWJlcikudG9TdHJpbmcoMTYpfWAgYXMgRXRoQmxvY2tIZWFkO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRpZiAoXHJcblx0XHQhTnVtYmVyLmlzSW50ZWdlcih0eEluZGV4KSAmJlxyXG5cdFx0IWlzSGV4U3RyaW5nT2ZMZW5ndGgodHhJbmRleCwgMzIpICYmXHJcblx0XHQhaXNXaWxkY2FyZCh0eEluZGV4KVxyXG5cdCkge1xyXG5cdFx0dGhyb3cgbmV3IFR5cGVFcnJvcihcclxuXHRcdFx0XCJycGMuZXRoLmdldFRyYW5zYWN0aW9uQnlCbG9ja051bWJlckFuZEluZGV4OiBpbnZhbGlkIHRyYW5zYWN0aW9uIGluZGV4IHZhbHVlXCIsXHJcblx0XHQpO1xyXG5cdH1cclxuXHRyZXR1cm4ge1xyXG5cdFx0bWV0aG9kOiBcImV0aF9nZXRUcmFuc2FjdGlvbkJ5QmxvY2tIYXNoQW5kSW5kZXhcIixcclxuXHRcdHBhcmFtczogW2Jsb2NrTnVtYmVyLCB0eEluZGV4XSxcclxuXHR9O1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIFJldHJpZXZlIHRoZSBpbmZvcm1hdGlvbiBhYm91dCBhIHJlbW90ZSB0cmFuc2FjdGlvbiBnaXZlbiBpdHMgdHJhbnNhY3Rpb24gaGFzaC5cclxuICogQHBhcmFtIHR4SGFzaCBIYXNoIG9mIHRoZSByZW1vdGUgdHJhbnNhY3Rpb24uXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgZ2V0VHJhbnNhY3Rpb25CeUhhc2ggPSAodHhIYXNoOiBCeXRlczMyIHwgV2lsZGNhcmQpID0+IHtcclxuXHRjaGVja1JwY1dpbGRjYXJkcyh0eEhhc2gpO1xyXG5cdGlmICghaXNIZXhTdHJpbmdPZkxlbmd0aCh0eEhhc2gsIDMyKSAmJiAhaXNXaWxkY2FyZCh0eEhhc2gpKSB7XHJcblx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKFxyXG5cdFx0XHRcInJwYy5ldGguZ2V0VHJhbnNhY3Rpb25CeUhhc2g6IGludmFsaWQgdHJhbnNhY3Rpb24gaGFzaCB2YWx1ZVwiLFxyXG5cdFx0KTtcclxuXHR9XHJcblx0cmV0dXJuIHtcclxuXHRcdG1ldGhvZDogXCJldGhfZ2V0VHJhbnNhY3Rpb25CeUhhc2hcIixcclxuXHRcdHBhcmFtczogW3R4SGFzaF0sXHJcblx0fTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBSZXRyaWV2ZSB0aGUgbnVtYmVyIG9mIHRyYW5zYWN0aW9ucyBzZW50IGZyb20gYW4gYWRkcmVzcy5cclxuICogQHBhcmFtIGFkZHJlc3MgRXRoQWRkcmVzcyBmcm9tIHdoZXJlIHRvIGdldCB0cmFuc2FjdGlvbiBjb3VudC5cclxuICovXHJcbmV4cG9ydCBjb25zdCBnZXRUcmFuc2FjdGlvbkNvdW50ID0gKGFkZHJlc3M6IEV0aEFkZHJlc3MgfCBXaWxkY2FyZCkgPT4ge1xyXG5cdGNoZWNrUnBjV2lsZGNhcmRzKGFkZHJlc3MpO1xyXG5cdGlmICghaXNIZXhTdHJpbmdPZkxlbmd0aChhZGRyZXNzLCAyMCkgJiYgIWlzV2lsZGNhcmQoYWRkcmVzcykpIHtcclxuXHRcdHRocm93IG5ldyBUeXBlRXJyb3IoXHJcblx0XHRcdFwicnBjLmV0aC5nZXRUcmFuc2FjdGlvbkNvdW50OiBpbnZhbGlkIFdlYjMgYWRkcmVzcyBmb3JtYXRcIixcclxuXHRcdCk7XHJcblx0fVxyXG5cdHJldHVybiB7XHJcblx0XHRtZXRob2Q6IFwiZXRoX2dldFRyYW5zYWN0aW9uQ291bnRcIixcclxuXHRcdHBhcmFtczogW2FkZHJlc3NdLFxyXG5cdH07XHJcbn07XHJcblxyXG4vKipcclxuICogUmV0cmlldmUgdGhlIHJlY2VpcHQgb2YgYSByZW1vdGUgdHJhbnNhY3Rpb24gZ2l2ZW4gaXRzIHRyYW5zYWN0aW9uIGhhc2guXHJcbiAqIEBwYXJhbSB0eEhhc2ggSGFzaCBvZiB0aGUgcmVtb3RlIHRyYW5zYWN0aW9uLlxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IGdldFRyYW5zYWN0aW9uUmVjZWlwdCA9ICh0eEhhc2g6IEJ5dGVzMzIgfCBXaWxkY2FyZCkgPT4ge1xyXG5cdGNoZWNrUnBjV2lsZGNhcmRzKHR4SGFzaCk7XHJcblx0aWYgKCFpc0hleFN0cmluZ09mTGVuZ3RoKHR4SGFzaCwgMzIpICYmICFpc1dpbGRjYXJkKHR4SGFzaCkpIHtcclxuXHRcdHRocm93IG5ldyBUeXBlRXJyb3IoXHJcblx0XHRcdFwicnBjLmV0aC5nZXRUcmFuc2FjdGlvblJlY2VpcHQ6IGludmFsaWQgdHJhbnNhY3Rpb24gaGFzaCB2YWx1ZVwiLFxyXG5cdFx0KTtcclxuXHR9XHJcblx0cmV0dXJuIHtcclxuXHRcdG1ldGhvZDogXCJldGhfZ2V0VHJhbnNhY3Rpb25SZWNlaXB0XCIsXHJcblx0XHRwYXJhbXM6IFt0eEhhc2hdLFxyXG5cdH07XHJcbn07XHJcblxyXG4vKipcclxuICogSW52b2tlIHJlbW90ZSBjYWxsIHRyYW5zYWN0aW9uLCBvciByZW1vdGUgY29udHJhY3QgY3JlYXRpb24uXHJcbiAqIEBwYXJhbSBkYXRhIFRoZSBzaWduZWQgdHJhbnNhY3Rpb24gZGF0YS5cclxuICovXHJcbmV4cG9ydCBjb25zdCBzZW5kUmF3VHJhbnNhY3Rpb24gPSAoZGF0YTogQnl0ZXMgfCBXaWxkY2FyZCkgPT4ge1xyXG5cdGNoZWNrUnBjV2lsZGNhcmRzKGRhdGEpO1xyXG5cdGlmICghaXNIZXhTdHJpbmcoZGF0YSkgJiYgIWlzV2lsZGNhcmQoZGF0YSkpIHtcclxuXHRcdHRocm93IG5ldyBUeXBlRXJyb3IoXHJcblx0XHRcdFwicnBjLmV0aC5zZW5kUmF3VHJhbnNhY3Rpb246IGludmFsaWQgc2lnbmVkIHRyYW5zYWN0aW9uIGRhdGFcIixcclxuXHRcdCk7XHJcblx0fVxyXG5cdHJldHVybiB7XHJcblx0XHRtZXRob2Q6IFwiZXRoX3NlbmRSYXdUcmFuc2FjdGlvblwiLFxyXG5cdFx0cGFyYW1zOiBbZGF0YV0sXHJcblx0fTtcclxufTtcclxuIl19
|
|
284
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXRoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9yYWRvbi9jY2RyL2V0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04saUJBQWlCLEVBQ2pCLFdBQVcsRUFDWCxtQkFBbUIsRUFDbkIsVUFBVSxHQUNWLE1BQU0seUJBQXlCLENBQUM7QUFnQmpDLFNBQVMsWUFBWSxDQUFDLEtBQW1CO0lBQ3hDLE9BQU8sQ0FDTixLQUFLLEtBQUssUUFBUTtRQUNsQixLQUFLLEtBQUssVUFBVTtRQUNwQixLQUFLLEtBQUssV0FBVztRQUNyQixLQUFLLEtBQUssU0FBUztRQUNuQixPQUFPLEtBQUssS0FBSyxRQUFRO1FBQ3pCLG1CQUFtQixDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7UUFDOUIsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUNqQixDQUFDO0FBQ0gsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO0FBRWpFOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsRUFPcEIsRUFBRSxFQUFFO0lBQ0osaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdEIsSUFBSSxFQUFFLEVBQUUsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUM3RSxNQUFNLElBQUksU0FBUyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUNELElBQ0MsRUFBRSxFQUFFLEdBQUc7UUFDUCxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQztRQUN6QixDQUFDLG1C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QUFJLFNBQVMsQ0FDbEIsNkRBQTZELENBQzdELENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTztRQUNOLE1BQU0sRUFBRSx3QkFBd0I7UUFDaEMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDO0tBQ2QsQ0FBQztBQUNILENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdGNoZWNrUnBjV2lsZGNhcmRzLFxuXHRpc0hleFN0cmluZyxcblx0aXNIZXhTdHJpbmdPZkxlbmd0aCxcblx0aXNXaWxkY2FyZCxcbn0gZnJvbSBcIi4uLy4uLy4uL2Jpbi9oZWxwZXJzLmpzXCI7XG5cbmltcG9ydCB0eXBlIHtcblx0Ly8gQ3Jvc3NDaGFpblJQQyxcblx0QmxvY2tOdW1iZXIsXG5cdEJ5dGVzLFxuXHRCeXRlczMyLFxuXHRIZXhTdHJpbmcsXG5cdEhleFN0cmluZ09mTGVuZ3RoLFxuXHRXaWxkY2FyZCxcbn0gZnJvbSBcIi4vaW5kZXguanNcIjtcblxuZXhwb3J0IHR5cGUgRXRoQWRkcmVzcyA9IEhleFN0cmluZ09mTGVuZ3RoPDQwPjtcbmV4cG9ydCB0eXBlIEV0aEJsb2NrSGVhZCA9IEJsb2NrTnVtYmVyIHwgRXRoQmxvY2tUYWcgfCBXaWxkY2FyZDtcbmV4cG9ydCB0eXBlIEV0aEJsb2NrVGFnID0gXCJsYXRlc3RcIiB8IFwiZWFybGllc3RcIiB8IFwicGVuZGluZ1wiIHwgXCJmaW5hbGl6ZWRcIjtcblxuZnVuY3Rpb24gX2lzQmxvY2tIZWFkKGJsb2NrOiBFdGhCbG9ja0hlYWQpOiBib29sZWFuIHtcblx0cmV0dXJuIChcblx0XHRibG9jayA9PT0gXCJsYXRlc3RcIiB8fFxuXHRcdGJsb2NrID09PSBcImVhcmxpZXN0XCIgfHxcblx0XHRibG9jayA9PT0gXCJmaW5hbGl6ZWRcIiB8fFxuXHRcdGJsb2NrID09PSBcInBlbmRpbmdcIiB8fFxuXHRcdHR5cGVvZiBibG9jayA9PT0gXCJudW1iZXJcIiB8fFxuXHRcdGlzSGV4U3RyaW5nT2ZMZW5ndGgoYmxvY2ssIDMyKSB8fFxuXHRcdGlzV2lsZGNhcmQoYmxvY2spXG5cdCk7XG59XG5cbi8qKlxuICogUmV0cmlldmUgdGhlIG51bWJlciBvZiBtb3N0IHJlY2VudCBibG9jay5cbiAqL1xuZXhwb3J0IGNvbnN0IGJsb2NrTnVtYmVyID0gKCkgPT4gKHsgbWV0aG9kOiBcImV0aF9ibG9ja051bWJlclwiIH0pO1xuXG4vKipcbiAqIEludm9rZSBtZXNzYWdlIGNhbGwgaW1tZWRpYXRlbHkgd2l0aG91dCBjcmVhdGluZyBhIHRyYW5zYWN0aW9uXG4gKiBvbiB0aGUgcmVtb3RlIGJsb2NrIGNoYWluLiBPZnRlbiB1c2VkIGZvciBleGVjdXRpbmcgcmVhZC1vbmx5IHNtYXJ0IGNvbnRyYWN0XG4gKiBmdW5jdGlvbnMsIGZvciBleGFtcGxlIHRoZSBiYWxhbmNlT2YgZm9yIGFuIEVSQy0yMCBjb250cmFjdC5cbiAqIEBwYXJhbSB0eCBUaGUgdHJhbnNhY3Rpb24gY2FsbCBvYmplY3QuXG4gKi9cbmV4cG9ydCBjb25zdCBjYWxsID0gKHR4OiB7XG5cdGZyb20/OiBFdGhBZGRyZXNzIHwgV2lsZGNhcmQ7XG5cdHRvOiBFdGhBZGRyZXNzIHwgV2lsZGNhcmQ7XG5cdGdhcz86IG51bWJlciB8IEhleFN0cmluZyB8IFdpbGRjYXJkO1xuXHRnYXNQcmljZT86IG51bWJlciB8IEhleFN0cmluZyB8IFdpbGRjYXJkO1xuXHR2YWx1ZT86IG51bWJlciB8IEhleFN0cmluZyB8IFdpbGRjYXJkO1xuXHRkYXRhPzogSGV4U3RyaW5nIHwgV2lsZGNhcmQ7XG59KSA9PiB7XG5cdGNoZWNrUnBjV2lsZGNhcmRzKHR4KTtcblx0aWYgKHR4Py5mcm9tICYmICFpc0hleFN0cmluZ09mTGVuZ3RoKHR4Py5mcm9tLCAyMCkgJiYgIWlzV2lsZGNhcmQodHg/LmZyb20pKSB7XG5cdFx0dGhyb3cgbmV3IFR5cGVFcnJvcihcInJwYy5ldGguY2FsbDogaW52YWxpZCAnZnJvbScgYWRkcmVzc1wiKTtcblx0fVxuXHRpZiAoXG5cdFx0dHg/LmdhcyAmJlxuXHRcdCFOdW1iZXIuaXNJbnRlZ2VyKHR4LmdhcykgJiZcblx0XHQhaXNIZXhTdHJpbmdPZkxlbmd0aCh0eC5nYXMsIDMyKSAmJlxuXHRcdCFpc1dpbGRjYXJkKHR4Lmdhcylcblx0KSB7XG5cdFx0dGhyb3cgbmV3IFR5cGVFcnJvcihcInJwYy5ldGguY2FsbDogaW52YWxpZCAnZ2FzJyB2YWx1ZVwiKTtcblx0fVxuXHRpZiAoXG5cdFx0dHg/Lmdhc1ByaWNlICYmXG5cdFx0IU51bWJlci5pc0ludGVnZXIodHguZ2FzUHJpY2UpICYmXG5cdFx0IWlzSGV4U3RyaW5nT2ZMZW5ndGgodHguZ2FzUHJpY2UsIDMyKSAmJlxuXHRcdCFpc1dpbGRjYXJkKHR4Lmdhc1ByaWNlKVxuXHQpIHtcblx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKFwicnBjLmV0aC5jYWxsOiBpbnZhbGlkICdnYXNQcmljZScgdmFsdWVcIik7XG5cdH1cblx0aWYgKFxuXHRcdHR4Py52YWx1ZSAmJlxuXHRcdCFOdW1iZXIuaXNJbnRlZ2VyKHR4LnZhbHVlKSAmJlxuXHRcdCFpc0hleFN0cmluZ09mTGVuZ3RoKHR4LnZhbHVlLCAzMikgJiZcblx0XHQhaXNXaWxkY2FyZCh0eC52YWx1ZSlcblx0KSB7XG5cdFx0dGhyb3cgbmV3IFR5cGVFcnJvcihcInJwYy5ldGguY2FsbDogaW52YWxpZCB0cmFuc2FjdGlvbiAndmFsdWUnXCIpO1xuXHR9XG5cdGlmICh0eD8uZGF0YSAmJiAhaXNIZXhTdHJpbmcodHguZGF0YSkgJiYgIWlzV2lsZGNhcmQodHguZGF0YSkpIHtcblx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKFwicnBjLmV0aC5jYWxsOiBpbnZhbGlkIHRyYW5zYWN0aW9uICdkYXRhJ1wiKTtcblx0fVxuXHRyZXR1cm4ge1xuXHRcdG1ldGhvZDogXCJldGhfY2FsbFwiLFxuXHRcdHBhcmFtczogW3R4XSxcblx0fTtcbn07XG5cbi8qKlxuICogR2VuZXJhdGVzIGFuZCByZXR1cm5zIGFuIGVzdGltYXRlIG9mIGhvdyBtdWNoIGdhcyBpcyBuZWNlc3NhcnlcbiAqIHRvIGFsbG93IHRoZSB0cmFuc2FjdGlvbiB0byBjb21wbGV0ZS4gVGhlIHRyYW5zYWN0aW9uIHdpbGwgbm90IGJlXG4gKiBhZGRlZCB0byB0aGUgYmxvY2tjaGFpbi4gTm90ZSB0aGF0IHRoZSBlc3RpbWF0ZSBtYXkgYmUgc2lnbmlmaWNhbnRseVxuICogbW9yZSB0aGFuIHRoZSBhbW91bnQgb2YgZ2FzIGFjdHVhbGx5IHVzZWQgYnkgdGhlIHRyYW5zYWN0aW9uLCBmb3IgYVxuICogdmFyaWV0eSBvZiByZWFzb25zIGluY2x1ZGluZyBFVk0gbWVjaGFuaWNzIGFuZCBub2RlIHBlcmZvcm1hbmNlLlxuICogQHBhcmFtIHR4IFRoZSB0cmFuc2FjdGlvbiBjYWxsIG9iamVjdC5cbiAqL1xuZXhwb3J0IGNvbnN0IGVzdGltYXRlR2FzID0gKHR4OiB7XG5cdGZyb20/OiBFdGhBZGRyZXNzIHwgV2lsZGNhcmQ7XG5cdHRvOiBFdGhBZGRyZXNzIHwgV2lsZGNhcmQ7XG5cdGdhcz86IG51bWJlciB8IEhleFN0cmluZyB8IFdpbGRjYXJkO1xuXHRnYXNQcmljZT86IG51bWJlciB8IEhleFN0cmluZyB8IFdpbGRjYXJkO1xuXHR2YWx1ZT86IG51bWJlciB8IEhleFN0cmluZyB8IFdpbGRjYXJkO1xuXHRkYXRhPzogSGV4U3RyaW5nIHwgV2lsZGNhcmQ7XG59KSA9PiB7XG5cdGNoZWNrUnBjV2lsZGNhcmRzKHR4KTtcblx0aWYgKHR4Py5mcm9tICYmICFpc0hleFN0cmluZ09mTGVuZ3RoKHR4Py5mcm9tLCAyMCkgJiYgIWlzV2lsZGNhcmQodHg/LmZyb20pKSB7XG5cdFx0dGhyb3cgbmV3IFR5cGVFcnJvcihcInJwYy5ldGguZXN0aW1hdGVHYXM6IGludmFsaWQgJ2Zyb20nIGFkZHJlc3NcIik7XG5cdH1cblx0aWYgKFxuXHRcdHR4Py5nYXMgJiZcblx0XHQhTnVtYmVyLmlzSW50ZWdlcih0eC5nYXMpICYmXG5cdFx0IWlzSGV4U3RyaW5nT2ZMZW5ndGgodHguZ2FzLCAzMikgJiZcblx0XHQhaXNXaWxkY2FyZCh0eC5nYXMpXG5cdCkge1xuXHRcdHRocm93IG5ldyBUeXBlRXJyb3IoXCJycGMuZXRoLmVzdGltYXRlR2FzOiBpbnZhbGlkICdnYXMnIHZhbHVlXCIpO1xuXHR9XG5cdGlmIChcblx0XHR0eD8uZ2FzUHJpY2UgJiZcblx0XHQhTnVtYmVyLmlzSW50ZWdlcih0eC5nYXNQcmljZSkgJiZcblx0XHQhaXNIZXhTdHJpbmdPZkxlbmd0aCh0eC5nYXNQcmljZSwgMzIpICYmXG5cdFx0IWlzV2lsZGNhcmQodHguZ2FzUHJpY2UpXG5cdCkge1xuXHRcdHRocm93IG5ldyBUeXBlRXJyb3IoXCJycGMuZXRoLmVzdGltYXRlR2FzOiBpbnZhbGlkICdnYXNQcmljZScgdmFsdWVcIik7XG5cdH1cblx0aWYgKFxuXHRcdHR4Py52YWx1ZSAmJlxuXHRcdCFOdW1iZXIuaXNJbnRlZ2VyKHR4LnZhbHVlKSAmJlxuXHRcdCFpc0hleFN0cmluZ09mTGVuZ3RoKHR4LnZhbHVlLCAzMikgJiZcblx0XHQhaXNXaWxkY2FyZCh0eC52YWx1ZSlcblx0KSB7XG5cdFx0dGhyb3cgbmV3IFR5cGVFcnJvcihcInJwYy5ldGguZXN0aW1hdGVHYXM6IGludmFsaWQgdHJhbnNhY3Rpb24gJ3ZhbHVlJ1wiKTtcblx0fVxuXHRpZiAodHg/LmRhdGEgJiYgIWlzSGV4U3RyaW5nKHR4LmRhdGEpICYmICFpc1dpbGRjYXJkKHR4LmRhdGEpKSB7XG5cdFx0dGhyb3cgbmV3IFR5cGVFcnJvcihcInJwYy5ldGguZXN0aW1hdGVHYXM6IGludmFsaWQgdHJhbnNhY3Rpb24gJ2RhdGEnXCIpO1xuXHR9XG5cdHJldHVybiB7XG5cdFx0bWV0aG9kOiBcImV0aF9lc3RpbWF0ZUdhc1wiLFxuXHRcdHBhcmFtczogW3R4XSxcblx0fTtcbn07XG5cbi8qKlxuICogUmV0cmlldmUgdGhlIGJhbGFuY2Ugb2YgdGhlIGFjY291bnQgb2YgZ2l2ZW4gYWRkcmVzcy5cbiAqIEBwYXJhbSBhZGRyZXNzIFdlYjMgYWRkcmVzcyBvbiByZW1vdGUgRVZNIGNoYWluLlxuICovXG5leHBvcnQgY29uc3QgZ2V0QmFsYW5jZSA9IChcblx0YWRkcmVzczogRXRoQWRkcmVzcyB8IFdpbGRjYXJkLFxuXHRibG9jaz86IEV0aEJsb2NrSGVhZCB8IFdpbGRjYXJkLFxuKSA9PiB7XG5cdGNoZWNrUnBjV2lsZGNhcmRzKFthZGRyZXNzLCBibG9ja10pO1xuXHRpZiAoIWlzSGV4U3RyaW5nT2ZMZW5ndGgoYWRkcmVzcywgMjApICYmICFpc1dpbGRjYXJkKGFkZHJlc3MpKSB7XG5cdFx0dGhyb3cgbmV3IFR5cGVFcnJvcihcInJwYy5ldGguZ2V0QmFsYW5jZTogaW52YWxpZCBXZWIzIGFkZHJlc3MgZm9ybWF0XCIpO1xuXHR9XG5cdHJldHVybiB7XG5cdFx0bWV0aG9kOiBcImV0aF9nZXRCYWxhbmNlXCIsXG5cdFx0cGFyYW1zOiBbYWRkcmVzcywgYmxvY2tdLFxuXHR9O1xufTtcblxuLyoqXG4gKiBSZXRyaWV2ZSBjb2RlIGF0IGEgZ2l2ZW4gYWRkcmVzcy5cbiAqIEBwYXJhbSBhZGRyZXNzIEV0aEFkZHJlc3MgZnJvbSB3aGVyZSB0byBnZXQgdGhlIGNvZGUuXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRDb2RlID0gKGFkZHJlc3M6IEV0aEFkZHJlc3MgfCBXaWxkY2FyZCkgPT4ge1xuXHRjaGVja1JwY1dpbGRjYXJkcyhhZGRyZXNzKTtcblx0aWYgKCFpc0hleFN0cmluZ09mTGVuZ3RoKGFkZHJlc3MsIDIwKSAmJiAhaXNXaWxkY2FyZChhZGRyZXNzKSkge1xuXHRcdHRocm93IG5ldyBUeXBlRXJyb3IoXCJycGMuZXRoLmdldENvZGU6IGludmFsaWQgV2ViMyBhZGRyZXNzIGZvcm1hdFwiKTtcblx0fVxuXHRyZXR1cm4ge1xuXHRcdG1ldGhvZDogXCJldGhfZ2V0Q29kZVwiLFxuXHRcdHBhcmFtczogW2FkZHJlc3NdLFxuXHR9O1xufTtcblxuLyoqXG4gKiBSZXRyaWV2ZSBhbiBhcnJheSBvZiBhbGwgbG9ncyBtYXRjaGluZyBhIGdpdmVuIGZpbHRlciBvYmplY3QuXG4gKiBAcGFyYW0gZmlsdGVyIFRoZSBmaWx0ZXIgb3B0aW9ucy5cbiAqL1xuZXhwb3J0IGNvbnN0IGdldExvZ3MgPSAoZmlsdGVyOiB7XG5cdGZyb21CbG9jaz86IEV0aEJsb2NrSGVhZDtcblx0dG9CbG9jaz86IEV0aEJsb2NrSGVhZDtcblx0YWRkcmVzcz86IEV0aEFkZHJlc3MgfCBFdGhBZGRyZXNzW10gfCBXaWxkY2FyZDtcblx0dG9waWNzPzogQnl0ZXMzMltdO1xuXHRibG9ja0hhc2g/OiBCeXRlczMyIHwgV2lsZGNhcmQ7XG59KSA9PiB7XG5cdGNoZWNrUnBjV2lsZGNhcmRzKGZpbHRlcik7XG5cdGlmIChmaWx0ZXI/LmJsb2NrSGFzaCAmJiAoZmlsdGVyPy5mcm9tQmxvY2sgfHwgZmlsdGVyPy50b0Jsb2NrKSkge1xuXHRcdHRocm93IG5ldyBUeXBlRXJyb3IoXCJycGMuZXRoLmdldExvZ3M6IHVuY29tcGxpYW50IHVzZSBvZiAnYmxvY2tIYXNoJ1wiKTtcblx0fVxuXHRpZiAoZmlsdGVyPy5mcm9tQmxvY2spIHtcblx0XHRpZiAoIV9pc0Jsb2NrSGVhZChmaWx0ZXI/LmZyb21CbG9jaykpIHtcblx0XHRcdHRocm93IG5ldyBUeXBlRXJyb3IoXCJycGMuZXRoLmdldExvZ3M6IGludmFsaWQgJ2Zyb21CbG9jaycgdmFsdWVcIik7XG5cdFx0fSBlbHNlIGlmICh0eXBlb2YgZmlsdGVyPy5mcm9tQmxvY2sgPT09IFwibnVtYmVyXCIpIHtcblx0XHRcdGZpbHRlci5mcm9tQmxvY2sgPVxuXHRcdFx0XHRgMHgkeyhmaWx0ZXI/LmZyb21CbG9jayBhcyBudW1iZXIpLnRvU3RyaW5nKDE2KX1gIGFzIEV0aEJsb2NrSGVhZDtcblx0XHR9XG5cdH1cblx0aWYgKGZpbHRlcj8udG9CbG9jaykge1xuXHRcdGlmICghX2lzQmxvY2tIZWFkKGZpbHRlcj8udG9CbG9jaykpIHtcblx0XHRcdHRocm93IG5ldyBUeXBlRXJyb3IoXCJycGMuZXRoLmdldExvZ3M6IGludmFsaWQgJ3RvQmxvY2snIHZhbHVlXCIpO1xuXHRcdH0gZWxzZSBpZiAodHlwZW9mIGZpbHRlcj8udG9CbG9jayA9PT0gXCJudW1iZXJcIikge1xuXHRcdFx0ZmlsdGVyLnRvQmxvY2sgPVxuXHRcdFx0XHRgMHgkeyhmaWx0ZXI/LnRvQmxvY2sgYXMgbnVtYmVyKS50b1N0cmluZygxNil9YCBhcyBFdGhCbG9ja0hlYWQ7XG5cdFx0fVxuXHR9XG5cdGlmIChcblx0XHRmaWx0ZXI/LmJsb2NrSGFzaCAmJlxuXHRcdCFpc0hleFN0cmluZ09mTGVuZ3RoKGZpbHRlci5ibG9ja0hhc2gsIDMyKSAmJlxuXHRcdCFpc1dpbGRjYXJkKGZpbHRlci5ibG9ja0hhc2gpXG5cdCkge1xuXHRcdHRocm93IG5ldyBUeXBlRXJyb3IoXCJycGMuZXRoLmdldExvZ3M6IGludmFsaWQgJ2Jsb2NrSGFzaCcgdmFsdWVcIik7XG5cdH1cblx0aWYgKGZpbHRlcj8udG9waWNzKSB7XG5cdFx0ZmlsdGVyLnRvcGljcy5tYXAoKHZhbHVlOiBCeXRlczMyLCBpbmRleDogbnVtYmVyKSA9PiB7XG5cdFx0XHRpZiAoIWlzSGV4U3RyaW5nT2ZMZW5ndGgodmFsdWUsIDMyKSAmJiAhaXNXaWxkY2FyZCh2YWx1ZSkpIHtcblx0XHRcdFx0dGhyb3cgbmV3IFR5cGVFcnJvcihgcnBjLmV0aC5nZXRMb2dzOiB0b3BpYyAjJHtpbmRleH06IGludmFsaWQgaGFzaGApO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cdHJldHVybiB7XG5cdFx0bWV0aG9kOiBcImV0aF9nZXRMb2dzXCIsXG5cdFx0cGFyYW1zOiBbZmlsdGVyXSxcblx0fTtcbn07XG5cbi8qKlxuICogUmV0cmlldmUgYW4gZXN0aW1hdGUgb2YgdGhlIGN1cnJlbnQgcHJpY2UgcGVyIGdhcyBpbiB3ZWkuXG4gKi9cbmV4cG9ydCBjb25zdCBnYXNQcmljZSA9ICgpID0+ICh7IG1ldGhvZDogXCJldGhfZ2FzUHJpY2VcIiB9KTtcblxuLyoqXG4gKiBSZXRyaWV2ZSB0aGUgdmFsdWUgZnJvbSBhIHN0b3JhZ2UgcG9zaXRpb24gYXQgYSBnaXZlbiBhZGRyZXNzLlxuICogQHBhcmFtIGFkZHJlc3MgRXRoQWRkcmVzcyBvZiB0aGUgc3RvcmFnZS5cbiAqIEBwYXJhbSBvZmZzZXQgT2Zmc2V0IHdpdGhpbiBzdG9yYWdlIGFkZHJlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRTdG9yYWdlQXQgPSAoXG5cdGFkZHJlc3M6IEV0aEFkZHJlc3MgfCBXaWxkY2FyZCxcblx0b2Zmc2V0OiBCeXRlczMyIHwgV2lsZGNhcmQsXG4pID0+IHtcblx0Y2hlY2tScGNXaWxkY2FyZHMoW2FkZHJlc3MsIG9mZnNldF0pO1xuXHRpZiAoIWlzSGV4U3RyaW5nT2ZMZW5ndGgoYWRkcmVzcywgMjApICYmICFpc1dpbGRjYXJkKGFkZHJlc3MpKSB7XG5cdFx0dGhyb3cgbmV3IFR5cGVFcnJvcihcInJwYy5ldGguZ2V0U3RvcmFnZUF0OiBpbnZhbGlkIFdlYjMgYWRkcmVzcyBmb3JtYXRcIik7XG5cdH1cblx0aWYgKCFpc0hleFN0cmluZ09mTGVuZ3RoKG9mZnNldCwgMzIpICYmICFpc1dpbGRjYXJkKG9mZnNldCkpIHtcblx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKFwicnBjLmV0aC5nZXRTdG9yYWdlQXQ6IGludmFsaWQgc3RvcmFnZSBvZmZzZXQgdmFsdWVcIik7XG5cdH1cblx0cmV0dXJuIHtcblx0XHRtZXRob2Q6IFwiZXRoX2dldFN0b3JhZ2VBdFwiLFxuXHRcdHBhcmFtczogW2FkZHJlc3MsIG9mZnNldF0sXG5cdH07XG59O1xuXG4vKipcbiAqIFJldHJpZXZlIHRoZSBpbmZvcm1hdGlvbiBhYm91dCBhIHJlbW90ZSB0cmFuc2FjdGlvbiBnaXZlbiBhIGJsb2NrIGhhc2ggYW5kIGEgdHJhbnNhY3Rpb24gaW5kZXguXG4gKiBAcGFyYW0gdHhIYXNoIEhhc2ggb2YgdGhlIHJlbW90ZSB0cmFuc2FjdGlvbi5cbiAqL1xuZXhwb3J0IGNvbnN0IGdldFRyYW5zYWN0aW9uQnlCbG9ja0hhc2hBbmRJbmRleCA9IChcblx0YmxvY2tIYXNoOiBCeXRlczMyIHwgV2lsZGNhcmQsXG5cdHR4SW5kZXg6IG51bWJlciB8IEJ5dGVzMzIgfCBXaWxkY2FyZCxcbikgPT4ge1xuXHRjaGVja1JwY1dpbGRjYXJkcyhbYmxvY2tIYXNoLCB0eEluZGV4XSk7XG5cdGlmICghaXNIZXhTdHJpbmdPZkxlbmd0aChibG9ja0hhc2gsIDMyKSAmJiAhaXNXaWxkY2FyZChibG9ja0hhc2gpKSB7XG5cdFx0dGhyb3cgbmV3IFR5cGVFcnJvcihcblx0XHRcdFwicnBjLmV0aC5nZXRUcmFuc2FjdGlvbkJ5QmxvY2tIYXNoQW5kSW5kZXg6IGludmFsaWQgYmxvY2sgaGFzaCB2YWx1ZVwiLFxuXHRcdCk7XG5cdH1cblx0aWYgKFxuXHRcdCFOdW1iZXIuaXNJbnRlZ2VyKHR4SW5kZXgpICYmXG5cdFx0IWlzSGV4U3RyaW5nT2ZMZW5ndGgodHhJbmRleCwgMzIpICYmXG5cdFx0IWlzV2lsZGNhcmQodHhJbmRleClcblx0KSB7XG5cdFx0dGhyb3cgbmV3IFR5cGVFcnJvcihcblx0XHRcdFwicnBjLmV0aC5nZXRUcmFuc2FjdGlvbkJ5QmxvY2tIYXNoQW5kSW5kZXg6IGludmFsaWQgdHJhbnNhY3Rpb24gaW5kZXggdmFsdWVcIixcblx0XHQpO1xuXHR9XG5cdHJldHVybiB7XG5cdFx0bWV0aG9kOiBcImV0aF9nZXRUcmFuc2FjdGlvbkJ5QmxvY2tIYXNoQW5kSW5kZXhcIixcblx0XHRwYXJhbXM6IFtibG9ja0hhc2gsIHR4SW5kZXhdLFxuXHR9O1xufTtcblxuLyoqXG4gKiBSZXRyaWV2ZSB0aGUgaW5mb3JtYXRpb24gYWJvdXQgYSByZW1vdGUgdHJhbnNhY3Rpb24gZ2l2ZW4gYSBibG9jayBudW1iZXIgYW5kIGEgdHJhbnNhY3Rpb24gaW5kZXguXG4gKiBAcGFyYW0gdHhIYXNoIEhhc2ggb2YgdGhlIHJlbW90ZSB0cmFuc2FjdGlvbi5cbiAqL1xuZXhwb3J0IGNvbnN0IGdldFRyYW5zYWN0aW9uQnlCbG9ja051bWJlckFuZEluZGV4ID0gKFxuXHRibG9ja051bWJlcjogRXRoQmxvY2tIZWFkLFxuXHR0eEluZGV4OiBudW1iZXIgfCBCeXRlczMyIHwgV2lsZGNhcmQsXG4pID0+IHtcblx0Y2hlY2tScGNXaWxkY2FyZHMoW2Jsb2NrTnVtYmVyLCB0eEluZGV4XSk7XG5cdGlmICghX2lzQmxvY2tIZWFkKGJsb2NrTnVtYmVyKSkge1xuXHRcdHRocm93IG5ldyBUeXBlRXJyb3IoXG5cdFx0XHRcInJwYy5ldGguZ2V0VHJhbnNhY3Rpb25CeUJsb2NrTnVtYmVyQW5kSW5kZXg6IGludmFsaWQgYmxvY2sgbnVtYmVyIHZhbHVlXCIsXG5cdFx0KTtcblx0fSBlbHNlIHtcblx0XHRpZiAodHlwZW9mIGJsb2NrTnVtYmVyID09PSBcIm51bWJlclwiKSB7XG5cdFx0XHRibG9ja051bWJlciA9IGAweCR7KGJsb2NrTnVtYmVyIGFzIG51bWJlcikudG9TdHJpbmcoMTYpfWAgYXMgRXRoQmxvY2tIZWFkO1xuXHRcdH1cblx0fVxuXHRpZiAoXG5cdFx0IU51bWJlci5pc0ludGVnZXIodHhJbmRleCkgJiZcblx0XHQhaXNIZXhTdHJpbmdPZkxlbmd0aCh0eEluZGV4LCAzMikgJiZcblx0XHQhaXNXaWxkY2FyZCh0eEluZGV4KVxuXHQpIHtcblx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKFxuXHRcdFx0XCJycGMuZXRoLmdldFRyYW5zYWN0aW9uQnlCbG9ja051bWJlckFuZEluZGV4OiBpbnZhbGlkIHRyYW5zYWN0aW9uIGluZGV4IHZhbHVlXCIsXG5cdFx0KTtcblx0fVxuXHRyZXR1cm4ge1xuXHRcdG1ldGhvZDogXCJldGhfZ2V0VHJhbnNhY3Rpb25CeUJsb2NrSGFzaEFuZEluZGV4XCIsXG5cdFx0cGFyYW1zOiBbYmxvY2tOdW1iZXIsIHR4SW5kZXhdLFxuXHR9O1xufTtcblxuLyoqXG4gKiBSZXRyaWV2ZSB0aGUgaW5mb3JtYXRpb24gYWJvdXQgYSByZW1vdGUgdHJhbnNhY3Rpb24gZ2l2ZW4gaXRzIHRyYW5zYWN0aW9uIGhhc2guXG4gKiBAcGFyYW0gdHhIYXNoIEhhc2ggb2YgdGhlIHJlbW90ZSB0cmFuc2FjdGlvbi5cbiAqL1xuZXhwb3J0IGNvbnN0IGdldFRyYW5zYWN0aW9uQnlIYXNoID0gKHR4SGFzaDogQnl0ZXMzMiB8IFdpbGRjYXJkKSA9PiB7XG5cdGNoZWNrUnBjV2lsZGNhcmRzKHR4SGFzaCk7XG5cdGlmICghaXNIZXhTdHJpbmdPZkxlbmd0aCh0eEhhc2gsIDMyKSAmJiAhaXNXaWxkY2FyZCh0eEhhc2gpKSB7XG5cdFx0dGhyb3cgbmV3IFR5cGVFcnJvcihcblx0XHRcdFwicnBjLmV0aC5nZXRUcmFuc2FjdGlvbkJ5SGFzaDogaW52YWxpZCB0cmFuc2FjdGlvbiBoYXNoIHZhbHVlXCIsXG5cdFx0KTtcblx0fVxuXHRyZXR1cm4ge1xuXHRcdG1ldGhvZDogXCJldGhfZ2V0VHJhbnNhY3Rpb25CeUhhc2hcIixcblx0XHRwYXJhbXM6IFt0eEhhc2hdLFxuXHR9O1xufTtcblxuLyoqXG4gKiBSZXRyaWV2ZSB0aGUgbnVtYmVyIG9mIHRyYW5zYWN0aW9ucyBzZW50IGZyb20gYW4gYWRkcmVzcy5cbiAqIEBwYXJhbSBhZGRyZXNzIEV0aEFkZHJlc3MgZnJvbSB3aGVyZSB0byBnZXQgdHJhbnNhY3Rpb24gY291bnQuXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRUcmFuc2FjdGlvbkNvdW50ID0gKGFkZHJlc3M6IEV0aEFkZHJlc3MgfCBXaWxkY2FyZCkgPT4ge1xuXHRjaGVja1JwY1dpbGRjYXJkcyhhZGRyZXNzKTtcblx0aWYgKCFpc0hleFN0cmluZ09mTGVuZ3RoKGFkZHJlc3MsIDIwKSAmJiAhaXNXaWxkY2FyZChhZGRyZXNzKSkge1xuXHRcdHRocm93IG5ldyBUeXBlRXJyb3IoXG5cdFx0XHRcInJwYy5ldGguZ2V0VHJhbnNhY3Rpb25Db3VudDogaW52YWxpZCBXZWIzIGFkZHJlc3MgZm9ybWF0XCIsXG5cdFx0KTtcblx0fVxuXHRyZXR1cm4ge1xuXHRcdG1ldGhvZDogXCJldGhfZ2V0VHJhbnNhY3Rpb25Db3VudFwiLFxuXHRcdHBhcmFtczogW2FkZHJlc3NdLFxuXHR9O1xufTtcblxuLyoqXG4gKiBSZXRyaWV2ZSB0aGUgcmVjZWlwdCBvZiBhIHJlbW90ZSB0cmFuc2FjdGlvbiBnaXZlbiBpdHMgdHJhbnNhY3Rpb24gaGFzaC5cbiAqIEBwYXJhbSB0eEhhc2ggSGFzaCBvZiB0aGUgcmVtb3RlIHRyYW5zYWN0aW9uLlxuICovXG5leHBvcnQgY29uc3QgZ2V0VHJhbnNhY3Rpb25SZWNlaXB0ID0gKHR4SGFzaDogQnl0ZXMzMiB8IFdpbGRjYXJkKSA9PiB7XG5cdGNoZWNrUnBjV2lsZGNhcmRzKHR4SGFzaCk7XG5cdGlmICghaXNIZXhTdHJpbmdPZkxlbmd0aCh0eEhhc2gsIDMyKSAmJiAhaXNXaWxkY2FyZCh0eEhhc2gpKSB7XG5cdFx0dGhyb3cgbmV3IFR5cGVFcnJvcihcblx0XHRcdFwicnBjLmV0aC5nZXRUcmFuc2FjdGlvblJlY2VpcHQ6IGludmFsaWQgdHJhbnNhY3Rpb24gaGFzaCB2YWx1ZVwiLFxuXHRcdCk7XG5cdH1cblx0cmV0dXJuIHtcblx0XHRtZXRob2Q6IFwiZXRoX2dldFRyYW5zYWN0aW9uUmVjZWlwdFwiLFxuXHRcdHBhcmFtczogW3R4SGFzaF0sXG5cdH07XG59O1xuXG4vKipcbiAqIEludm9rZSByZW1vdGUgY2FsbCB0cmFuc2FjdGlvbiwgb3IgcmVtb3RlIGNvbnRyYWN0IGNyZWF0aW9uLlxuICogQHBhcmFtIGRhdGEgVGhlIHNpZ25lZCB0cmFuc2FjdGlvbiBkYXRhLlxuICovXG5leHBvcnQgY29uc3Qgc2VuZFJhd1RyYW5zYWN0aW9uID0gKGRhdGE6IEJ5dGVzIHwgV2lsZGNhcmQpID0+IHtcblx0Y2hlY2tScGNXaWxkY2FyZHMoZGF0YSk7XG5cdGlmICghaXNIZXhTdHJpbmcoZGF0YSkgJiYgIWlzV2lsZGNhcmQoZGF0YSkpIHtcblx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKFxuXHRcdFx0XCJycGMuZXRoLnNlbmRSYXdUcmFuc2FjdGlvbjogaW52YWxpZCBzaWduZWQgdHJhbnNhY3Rpb24gZGF0YVwiLFxuXHRcdCk7XG5cdH1cblx0cmV0dXJuIHtcblx0XHRtZXRob2Q6IFwiZXRoX3NlbmRSYXdUcmFuc2FjdGlvblwiLFxuXHRcdHBhcmFtczogW2RhdGFdLFxuXHR9O1xufTtcbiJdfQ==
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export * as eth from "./eth.js";
|
|
2
2
|
export * as wit from "./wit.js";
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3JhZG9uL2NjZHIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEdBQUcsTUFBTSxVQUFVLENBQUM7QUFDaEMsT0FBTyxLQUFLLEdBQUcsTUFBTSxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBhcyBldGggZnJvbSBcIi4vZXRoLmpzXCI7XG5leHBvcnQgKiBhcyB3aXQgZnJvbSBcIi4vd2l0LmpzXCI7XG5cbmV4cG9ydCB0eXBlIEhleFN0cmluZ09mTGVuZ3RoPE1heD4gPSBzdHJpbmcgJiB7XG5cdG1heDogTWF4O1xuXHRyZWFkb25seSBIZXhTdHJpbmdPZkxlbmd0aDogdW5pcXVlIHN5bWJvbDtcbn07XG5cbmV4cG9ydCB0eXBlIEhleFN0cmluZyA9IHN0cmluZyAmIHtcblx0cmVhZG9ubHkgSGV4U3RyaW5nOiB1bmlxdWUgc3ltYm9sO1xufTtcblxuZXhwb3J0IHR5cGUgQnl0ZXMzMiA9IEhleFN0cmluZ09mTGVuZ3RoPDY0PjtcbmV4cG9ydCB0eXBlIEJ5dGVzID0gSGV4U3RyaW5nO1xuZXhwb3J0IHR5cGUgQmxvY2tOdW1iZXIgPSBudW1iZXIgfCBCeXRlczMyO1xuZXhwb3J0IHR5cGUgV2lsZGNhcmQgPSBzdHJpbmc7XG4iXX0=
|
|
@@ -45,4 +45,4 @@ export const getValueTransfer = (hash, mode) => {
|
|
|
45
45
|
params: { hash, mode },
|
|
46
46
|
};
|
|
47
47
|
};
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9yYWRvbi9jY2RyL3dpdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04saUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixVQUFVLEdBQ1YsTUFBTSx5QkFBeUIsQ0FBQztBQU9qQzs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxPQUE4QixFQUFFLEVBQUU7SUFDNUQsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0IsSUFDQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUM7UUFDcEIsQ0FBQyxDQUFDLE9BQU87WUFDUixPQUFPLE9BQU8sS0FBSyxRQUFRO1lBQzNCLE9BQU8sQ0FBQyxNQUFNLEtBQUssRUFBRTtZQUNyQixDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsRUFDM0IsQ0FBQztRQUNGLE1BQU0sSUFBSSxTQUFTLENBQUMscUNBQXFDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBQ0QsT0FBTztRQUNOLE1BQU0sRUFBRSxhQUFhO1FBQ3JCLE1BQU0sRUFBRSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUU7S0FDeEIsQ0FBQztBQUNILENBQUMsQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLE1BQTBCLEVBQUUsRUFBRTtJQUM1RCxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQixJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDN0QsTUFBTSxJQUFJLFNBQVMsQ0FDbEIsd0RBQXdELENBQ3hELENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTztRQUNOLE1BQU0sRUFBRSxnQkFBZ0I7UUFDeEIsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDO0tBQ2hCLENBQUM7QUFDSCxDQUFDLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUMvQixJQUF3QixFQUN4QixJQUFvQyxFQUNuQyxFQUFFO0lBQ0gsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3pELE1BQU0sSUFBSSxTQUFTLENBQ2xCLDBEQUEwRCxDQUMxRCxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU87UUFDTixNQUFNLEVBQUUsa0JBQWtCO1FBQzFCLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUU7S0FDdEIsQ0FBQztBQUNILENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdGNoZWNrUnBjV2lsZGNhcmRzLFxuXHRpc0hleFN0cmluZ09mTGVuZ3RoLFxuXHRpc1dpbGRjYXJkLFxufSBmcm9tIFwiLi4vLi4vLi4vYmluL2hlbHBlcnMuanNcIjtcbmltcG9ydCB0eXBlIHsgQnl0ZXMzMiwgV2lsZGNhcmQgfSBmcm9tIFwiLi9pbmRleC5qc1wiO1xuXG5leHBvcnQgdHlwZSBXaXRBZGRyZXNzID0gc3RyaW5nICYge1xuXHRyZWFkb25seSBXaXRBZGRyZXNzOiB1bmlxdWUgc3ltYm9sO1xufTtcblxuLyoqXG4gKiBSZXRyaWV2ZSB0aGUgYmFsYW5jZSBpbiAkbmFub1dJVCBvZiBzb21lIGFjY291bnQgaW4gV2l0bmV0LlxuICogQHBhcmFtIGFkZHJlc3MgQWRkcmVzcyBvZiB0aGUgYWNjb3VudCB3aXRoaW4gdGhlIFdpdG5ldCBibG9ja2NoYWluLlxuICovXG5leHBvcnQgY29uc3QgZ2V0QmFsYW5jZSA9IChhZGRyZXNzOiBXaXRBZGRyZXNzIHwgV2lsZGNhcmQpID0+IHtcblx0Y2hlY2tScGNXaWxkY2FyZHMoYWRkcmVzcyk7XG5cdGlmIChcblx0XHQhaXNXaWxkY2FyZChhZGRyZXNzKSAmJlxuXHRcdCghYWRkcmVzcyB8fFxuXHRcdFx0dHlwZW9mIGFkZHJlc3MgIT09IFwic3RyaW5nXCIgfHxcblx0XHRcdGFkZHJlc3MubGVuZ3RoICE9PSA0MyB8fFxuXHRcdFx0IWFkZHJlc3Muc3RhcnRzV2l0aChcIndpdFwiKSlcblx0KSB7XG5cdFx0dGhyb3cgbmV3IEV2YWxFcnJvcihcInJwYy53aXQuZ2V0QmFsYW5jZTogaW52YWxpZCBhZGRyZXNzXCIpO1xuXHR9XG5cdHJldHVybiB7XG5cdFx0bWV0aG9kOiBcImdldEJhbGFuY2UyXCIsXG5cdFx0cGFyYW1zOiB7IHBraDogYWRkcmVzcyB9LFxuXHR9O1xufTtcblxuLyoqXG4gKiBSZXRyaWV2ZSBkZXRhaWxlZCBpbmZvcm1hdGlub24gYWJvdXQgYSBtaW5lZCB0cmFuc2FjdGlvbiBpbiB0aGUgV2l0bmV0IGJsb2NrY2hhaW4uXG4gKiBAcGFyYW0gdHhIYXNoIFRoZSBoYXNoIG9mIHRoZSB0cmFuc2FjdGlvbiB0byByZXRyaWV2ZS5cbiAqL1xuZXhwb3J0IGNvbnN0IGdldFRyYW5zYWN0aW9uID0gKHR4SGFzaDogQnl0ZXMzMiB8IFdpbGRjYXJkKSA9PiB7XG5cdGNoZWNrUnBjV2lsZGNhcmRzKHR4SGFzaCk7XG5cdGlmICghaXNIZXhTdHJpbmdPZkxlbmd0aCh0eEhhc2gsIDMyKSAmJiAhaXNXaWxkY2FyZCh0eEhhc2gpKSB7XG5cdFx0dGhyb3cgbmV3IEV2YWxFcnJvcihcblx0XHRcdFwicnBjLndpdC5nZXRUcmFuc2FjdGlvbjogaW52YWxpZCB0cmFuc2FjdGlvbiBoYXNoIHZhbHVlXCIsXG5cdFx0KTtcblx0fVxuXHRyZXR1cm4ge1xuXHRcdG1ldGhvZDogXCJnZXRUcmFuc2FjdGlvblwiLFxuXHRcdHBhcmFtczogW3R4SGFzaF0sXG5cdH07XG59O1xuXG4vKipcbiAqIFJldHJpZXZlIGRldGFpbGVkIGluZm9ybWF0aW5vbiBhYm91dCBhIG1pbmVkIHRyYW5zYWN0aW9uIGluIHRoZSBXaXRuZXQgYmxvY2tjaGFpbi5cbiAqIEBwYXJhbSB0eEhhc2ggVGhlIGhhc2ggb2YgdGhlIHRyYW5zYWN0aW9uIHRvIHJldHJpZXZlLlxuICovXG5leHBvcnQgY29uc3QgZ2V0VmFsdWVUcmFuc2ZlciA9IChcblx0aGFzaDogQnl0ZXMzMiB8IFdpbGRjYXJkLFxuXHRtb2RlOiBcImV0aGVyZWFsXCIgfCBcInNpbXBsZVwiIHwgXCJmdWxsXCIsXG4pID0+IHtcblx0Y2hlY2tScGNXaWxkY2FyZHMoaGFzaCk7XG5cdGlmICghaXNIZXhTdHJpbmdPZkxlbmd0aChoYXNoLCAzMikgJiYgIWlzV2lsZGNhcmQoaGFzaCkpIHtcblx0XHR0aHJvdyBuZXcgRXZhbEVycm9yKFxuXHRcdFx0XCJycGMud2l0LmdldFZhbHVlVHJhbnNmZXI6IGludmFsaWQgdHJhbnNhY3Rpb24gaGFzaCB2YWx1ZVwiLFxuXHRcdCk7XG5cdH1cblx0cmV0dXJuIHtcblx0XHRtZXRob2Q6IFwiZ2V0VmFsdWVUcmFuc2ZlclwiLFxuXHRcdHBhcmFtczogeyBoYXNoLCBtb2RlIH0sXG5cdH07XG59O1xuIl19
|
|
@@ -46,4 +46,4 @@ export function Mode() {
|
|
|
46
46
|
export function Stdev(stdev) {
|
|
47
47
|
return new RadonFilter(Opcodes.StandardDeviation, stdev);
|
|
48
48
|
}
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvcmFkb24vZmlsdGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFFeEIsTUFBTSxDQUFOLElBQVksT0FHWDtBQUhELFdBQVksT0FBTztJQUNsQixxQ0FBVyxDQUFBO0lBQ1gsK0RBQXdCLENBQUE7QUFDekIsQ0FBQyxFQUhXLE9BQU8sS0FBUCxPQUFPLFFBR2xCO0FBRUQsTUFBTSxPQUFPLFdBQVc7SUFDZCxNQUFNLENBQVU7SUFDaEIsSUFBSSxDQUFPO0lBRXBCLFlBQVksTUFBZSxFQUFFLElBQVU7UUFDdEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ3ZDLEtBQUssRUFBRSxHQUFHLEVBQUU7Z0JBQ1gsUUFBUSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ3JCLEtBQUssT0FBTyxDQUFDLElBQUk7d0JBQ2hCLE9BQU8sYUFBYSxDQUFDO29CQUN0QixLQUFLLE9BQU8sQ0FBQyxpQkFBaUI7d0JBQzdCLE9BQU8saUJBQWlCLElBQUksR0FBRyxDQUFDO2dCQUNsQyxDQUFDO1lBQ0YsQ0FBQztTQUNELENBQUMsQ0FBQztJQUNKLENBQUM7SUFFTSxNQUFNLENBQUMsUUFBa0I7UUFDL0IsTUFBTSxJQUFJLEdBQVE7WUFDakIsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU07U0FDakQsQ0FBQztRQUNGLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN2RSxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDYixDQUFDO0lBRU0sVUFBVTtRQUNoQixNQUFNLFFBQVEsR0FBUTtZQUNyQixFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDZixDQUFDO1FBQ0YsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZixRQUFRLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBQ0QsT0FBTyxRQUFRLENBQUM7SUFDakIsQ0FBQztDQUNEO0FBRUQsTUFBTSxVQUFVLElBQUk7SUFDbkIsT0FBTyxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDdEMsQ0FBQztBQUNELE1BQU0sVUFBVSxLQUFLLENBQUMsS0FBYTtJQUNsQyxPQUFPLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUMxRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNib3IgZnJvbSBcImNib3JcIjtcblxuZXhwb3J0IGVudW0gT3Bjb2RlcyB7XG5cdE1vZGUgPSAweDA4LFxuXHRTdGFuZGFyZERldmlhdGlvbiA9IDB4MDUsXG59XG5cbmV4cG9ydCBjbGFzcyBSYWRvbkZpbHRlciB7XG5cdHJlYWRvbmx5IG9wY29kZTogT3Bjb2Rlcztcblx0cmVhZG9ubHkgYXJncz86IGFueTtcblxuXHRjb25zdHJ1Y3RvcihvcGNvZGU6IE9wY29kZXMsIGFyZ3M/OiBhbnkpIHtcblx0XHR0aGlzLm9wY29kZSA9IG9wY29kZTtcblx0XHR0aGlzLmFyZ3MgPSBhcmdzO1xuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcInRvU3RyaW5nXCIsIHtcblx0XHRcdHZhbHVlOiAoKSA9PiB7XG5cdFx0XHRcdHN3aXRjaCAodGhpcy5vcGNvZGUpIHtcblx0XHRcdFx0XHRjYXNlIE9wY29kZXMuTW9kZTpcblx0XHRcdFx0XHRcdHJldHVybiBcIkNsYXNzKG1vZGUpXCI7XG5cdFx0XHRcdFx0Y2FzZSBPcGNvZGVzLlN0YW5kYXJkRGV2aWF0aW9uOlxuXHRcdFx0XHRcdFx0cmV0dXJuIGBDbGFzcyhzdGRldiA9ICR7YXJnc30pYDtcblx0XHRcdFx0fVxuXHRcdFx0fSxcblx0XHR9KTtcblx0fVxuXG5cdHB1YmxpYyB0b0pTT04oaHVtYW5pemU/OiBib29sZWFuKTogYW55IHtcblx0XHRjb25zdCBqc29uOiBhbnkgPSB7XG5cdFx0XHRvcDogaHVtYW5pemUgPyBPcGNvZGVzW3RoaXMub3Bjb2RlXSA6IHRoaXMub3Bjb2RlLFxuXHRcdH07XG5cdFx0aWYgKHRoaXMuYXJncykge1xuXHRcdFx0anNvbi5hcmdzID0gaHVtYW5pemUgPyB0aGlzLmFyZ3MgOiBBcnJheS5mcm9tKGNib3IuZW5jb2RlKHRoaXMuYXJncykpO1xuXHRcdH1cblx0XHRyZXR1cm4ganNvbjtcblx0fVxuXG5cdHB1YmxpYyB0b1Byb3RvYnVmKCk6IGFueSB7XG5cdFx0Y29uc3QgcHJvdG9idWY6IGFueSA9IHtcblx0XHRcdG9wOiB0aGlzLm9wY29kZSxcblx0XHR9O1xuXHRcdGlmICh0aGlzLmFyZ3MpIHtcblx0XHRcdHByb3RvYnVmLmFyZ3MgPSBBcnJheS5mcm9tKGNib3IuZW5jb2RlKHRoaXMuYXJncykpO1xuXHRcdH1cblx0XHRyZXR1cm4gcHJvdG9idWY7XG5cdH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1vZGUoKSB7XG5cdHJldHVybiBuZXcgUmFkb25GaWx0ZXIoT3Bjb2Rlcy5Nb2RlKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBTdGRldihzdGRldjogbnVtYmVyKSB7XG5cdHJldHVybiBuZXcgUmFkb25GaWx0ZXIoT3Bjb2Rlcy5TdGFuZGFyZERldmlhdGlvbiwgc3RkZXYpO1xufVxuIl19
|