@1upmonster/duel 0.1.5 → 0.1.7

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/dist/admin.d.ts CHANGED
@@ -1,33 +1,49 @@
1
- import { Program, AnchorProvider } from "@coral-xyz/anchor";
2
- import { PublicKey, TransactionSignature, ConfirmOptions, Keypair } from "@solana/web3.js";
3
- import { Duel } from "./types";
1
+ import * as anchor from "@coral-xyz/anchor";
2
+ import * as web3 from "@solana/web3.js";
3
+ import type { Duel } from "./types.js";
4
4
  export type EloDataType = 'u8' | 'u16' | 'u32' | 'u64';
5
5
  export interface InitializeTenantOptions {
6
- authority?: PublicKey;
6
+ authority?: web3.PublicKey;
7
7
  eloWindow?: number;
8
8
  eloOffset?: number;
9
9
  eloDataType?: EloDataType;
10
+ callbackProgramId?: web3.PublicKey | null;
11
+ callbackDiscriminator?: number[] | null;
10
12
  }
11
13
  export declare class MatchmakingAdmin {
12
- program: Program<Duel>;
13
- provider: AnchorProvider;
14
- constructor(provider: AnchorProvider, programId?: PublicKey);
15
- getQueuePda(authority: PublicKey): PublicKey;
16
- getTenantPda(authority: PublicKey): PublicKey;
14
+ program: anchor.Program<Duel>;
15
+ provider: anchor.AnchorProvider;
16
+ constructor(provider: anchor.AnchorProvider, programId: web3.PublicKey | string);
17
+ getQueuePda(authority: web3.PublicKey): web3.PublicKey;
18
+ getTenantPda(authority: web3.PublicKey): web3.PublicKey;
19
+ getTicketPda(player: web3.PublicKey, tenant: web3.PublicKey): web3.PublicKey;
17
20
  /**
18
- * Initialize a Tenant
21
+ * Fetch Queue account data
19
22
  */
20
- initializeTenant(tenantProgramId: PublicKey, options?: InitializeTenantOptions, confirmOptions?: ConfirmOptions, signers?: Keypair[]): Promise<TransactionSignature>;
23
+ getQueue(queuePda: web3.PublicKey): Promise<any>;
24
+ /**
25
+ * Fetch Tenant account data
26
+ */
27
+ getTenant(tenantPda: web3.PublicKey): Promise<any>;
28
+ /**
29
+ * Initialize a Tenant (with optional callback config)
30
+ */
31
+ initializeTenant(tenantProgramId: web3.PublicKey, options?: InitializeTenantOptions, confirmOptions?: web3.ConfirmOptions, signers?: web3.Keypair[]): Promise<web3.TransactionSignature>;
21
32
  /**
22
33
  * Initialize a Queue
23
34
  */
24
- initializeQueue(authority: PublicKey, tenant: PublicKey, confirmOptions?: ConfirmOptions, signers?: Keypair[]): Promise<TransactionSignature>;
35
+ initializeQueue(authority: web3.PublicKey, tenant: web3.PublicKey, confirmOptions?: web3.ConfirmOptions, signers?: web3.Keypair[]): Promise<web3.TransactionSignature>;
25
36
  /**
26
37
  * Delegate Queue to TEE
27
38
  */
28
- delegateQueue(authority: PublicKey, validator?: PublicKey, confirmOptions?: ConfirmOptions, signers?: Keypair[]): Promise<TransactionSignature>;
39
+ delegateQueue(authority: web3.PublicKey, validator?: web3.PublicKey, confirmOptions?: web3.ConfirmOptions, signers?: web3.Keypair[]): Promise<web3.TransactionSignature>;
40
+ /**
41
+ * Flush pending matches - crank instruction to update opponent tickets
42
+ * Can be called by any TEE-authenticated wallet (permissionless)
43
+ */
44
+ flushMatches(queue: web3.PublicKey, tenant: web3.PublicKey, ticketPdas: web3.PublicKey[], callbackProgram?: web3.PublicKey, confirmOptions?: web3.ConfirmOptions, signers?: web3.Keypair[]): Promise<web3.TransactionSignature>;
29
45
  /**
30
- * Process Match (Admin/Maintenance)
46
+ * Commit matched tickets back to L1 (runs in TEE)
31
47
  */
32
- processMatch(queue: PublicKey, tenant: PublicKey, confirmOptions?: ConfirmOptions, signers?: Keypair[]): Promise<TransactionSignature>;
48
+ commitTickets(tenant: web3.PublicKey, ticketPdas: web3.PublicKey[], confirmOptions?: web3.ConfirmOptions, signers?: web3.Keypair[]): Promise<web3.TransactionSignature>;
33
49
  }
package/dist/admin.js CHANGED
@@ -1,36 +1,10 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.MatchmakingAdmin = void 0;
30
- const anchor = __importStar(require("@coral-xyz/anchor"));
31
- const anchor_1 = require("@coral-xyz/anchor");
32
- const web3_js_1 = require("@solana/web3.js");
33
- const duel_json_1 = __importDefault(require("./duel.json"));
1
+ import * as anchor from "@coral-xyz/anchor";
2
+ import { BN } from "bn.js";
3
+ import * as web3 from "@solana/web3.js";
4
+ import { createRequire } from "module";
5
+ const IDL = createRequire(import.meta.url)("./duel.json");
6
+ import * as utils from "./utils.js";
7
+ const TICKET_SEED = "ticket";
34
8
  function getEloSize(dataType) {
35
9
  switch (dataType) {
36
10
  case 'u8': return 1;
@@ -39,33 +13,44 @@ function getEloSize(dataType) {
39
13
  case 'u64': return 8;
40
14
  }
41
15
  }
42
- class MatchmakingAdmin {
16
+ export class MatchmakingAdmin {
43
17
  constructor(provider, programId) {
18
+ const address = typeof programId === "string" ? programId : programId.toBase58();
19
+ const idl = { ...IDL, address };
20
+ this.program = new anchor.Program(idl, provider);
44
21
  this.provider = provider;
45
- const PROGRAM_ID = programId || new web3_js_1.PublicKey("EdZzUwKd1X2ZWjxLPpz1cpEzMF7RUZC43Pq64v1VcK5X");
46
- // Override address in IDL
47
- const modifiedIdl = { ...duel_json_1.default };
48
- modifiedIdl.address = PROGRAM_ID.toBase58();
49
- this.program = new anchor_1.Program(modifiedIdl, this.provider);
50
22
  }
51
23
  // Derive PDAs Helpers
52
24
  getQueuePda(authority) {
53
- const [pda] = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("queue"), authority.toBuffer()], this.program.programId);
54
- return pda;
25
+ return utils.deriveQueuePda(this.program.programId, authority);
55
26
  }
56
27
  getTenantPda(authority) {
57
- const [pda] = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("tenant"), authority.toBuffer()], this.program.programId);
58
- return pda;
28
+ return utils.deriveTenantPda(this.program.programId, authority);
29
+ }
30
+ getTicketPda(player, tenant) {
31
+ return utils.deriveTicketPda(this.program.programId, player, tenant);
32
+ }
33
+ /**
34
+ * Fetch Queue account data
35
+ */
36
+ async getQueue(queuePda) {
37
+ return await this.program.account.queue.fetch(queuePda);
59
38
  }
60
39
  /**
61
- * Initialize a Tenant
40
+ * Fetch Tenant account data
41
+ */
42
+ async getTenant(tenantPda) {
43
+ return await this.program.account.tenant.fetch(tenantPda);
44
+ }
45
+ /**
46
+ * Initialize a Tenant (with optional callback config)
62
47
  */
63
48
  async initializeTenant(tenantProgramId, options, confirmOptions, signers = []) {
64
- const { authority = tenantProgramId, eloWindow = 100, eloOffset = 40, eloDataType = 'u16' } = options || {};
49
+ const { authority = tenantProgramId, eloWindow = 100, eloOffset = 40, eloDataType = 'u16', callbackProgramId = null, callbackDiscriminator = null, } = options || {};
65
50
  const eloSize = getEloSize(eloDataType);
66
51
  const tenantPda = this.getTenantPda(authority);
67
52
  return await this.program.methods
68
- .initializeTenant(tenantProgramId, eloOffset, eloSize, new anchor.BN(eloWindow))
53
+ .initializeTenant(tenantProgramId, eloOffset, eloSize, new BN(eloWindow), callbackProgramId || null, callbackDiscriminator ? Array.from(Buffer.from(callbackDiscriminator)) : null)
69
54
  .accountsPartial({
70
55
  tenant: tenantPda,
71
56
  authority: authority,
@@ -91,7 +76,7 @@ class MatchmakingAdmin {
91
76
  /**
92
77
  * Delegate Queue to TEE
93
78
  */
94
- async delegateQueue(authority, validator = new web3_js_1.PublicKey("FnE6VJT5QNZdedZPnCoLsARgBwoE6DeJNjBs2H1gySXA"), confirmOptions, signers = []) {
79
+ async delegateQueue(authority, validator = new web3.PublicKey("FnE6VJT5QNZdedZPnCoLsARgBwoE6DeJNjBs2H1gySXA"), confirmOptions, signers = []) {
95
80
  const queuePda = this.getQueuePda(authority);
96
81
  return await this.program.methods
97
82
  .delegateQueue({ queue: { authority } })
@@ -104,19 +89,50 @@ class MatchmakingAdmin {
104
89
  .rpc(confirmOptions);
105
90
  }
106
91
  /**
107
- * Process Match (Admin/Maintenance)
92
+ * Flush pending matches - crank instruction to update opponent tickets
93
+ * Can be called by any TEE-authenticated wallet (permissionless)
108
94
  */
109
- async processMatch(queue, tenant, confirmOptions, signers = [] // Admin might sign if authority required
110
- ) {
95
+ async flushMatches(queue, tenant, ticketPdas, callbackProgram, confirmOptions, signers = []) {
96
+ const remainingAccounts = ticketPdas.map(pda => ({
97
+ pubkey: pda,
98
+ isSigner: false,
99
+ isWritable: true,
100
+ }));
101
+ if (callbackProgram) {
102
+ remainingAccounts.push({
103
+ pubkey: callbackProgram,
104
+ isSigner: false,
105
+ isWritable: false,
106
+ });
107
+ }
111
108
  return await this.program.methods
112
- .processMatch()
109
+ .flushMatches()
113
110
  .accountsPartial({
114
111
  queue: queue,
115
112
  tenant: tenant,
113
+ signer: this.provider.publicKey,
114
+ })
115
+ .remainingAccounts(remainingAccounts)
116
+ .signers(signers)
117
+ .rpc(confirmOptions);
118
+ }
119
+ /**
120
+ * Commit matched tickets back to L1 (runs in TEE)
121
+ */
122
+ async commitTickets(tenant, ticketPdas, confirmOptions, signers = []) {
123
+ return await this.program.methods
124
+ .commitTickets()
125
+ .accountsPartial({
126
+ tenant: tenant,
127
+ payer: this.provider.publicKey,
116
128
  })
129
+ .remainingAccounts(ticketPdas.map(pda => ({
130
+ pubkey: pda,
131
+ isSigner: false,
132
+ isWritable: true,
133
+ })))
117
134
  .signers(signers)
118
135
  .rpc(confirmOptions);
119
136
  }
120
137
  }
121
- exports.MatchmakingAdmin = MatchmakingAdmin;
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYWRtaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwwREFBNEM7QUFDNUMsOENBQWlFO0FBQ2pFLDZDQUEwRztBQUUxRyw0REFBOEI7QUFXOUIsU0FBUyxVQUFVLENBQUMsUUFBcUI7SUFDdkMsUUFBUSxRQUFRLEVBQUU7UUFDaEIsS0FBSyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQixLQUFLLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JCLEtBQUssS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckIsS0FBSyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUN0QjtBQUNILENBQUM7QUFFRCxNQUFhLGdCQUFnQjtJQUkzQixZQUFZLFFBQXdCLEVBQUUsU0FBcUI7UUFDekQsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsTUFBTSxVQUFVLEdBQUcsU0FBUyxJQUFJLElBQUksbUJBQVMsQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO1FBRTlGLDBCQUEwQjtRQUMxQixNQUFNLFdBQVcsR0FBRyxFQUFFLEdBQUcsbUJBQUcsRUFBUyxDQUFDO1FBQ3RDLFdBQVcsQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRTVDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxnQkFBTyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELHNCQUFzQjtJQUN0QixXQUFXLENBQUMsU0FBb0I7UUFDOUIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLG1CQUFTLENBQUMsc0JBQXNCLENBQzVDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxTQUFTLENBQUMsUUFBUSxFQUFF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LENBQUM7WUFDZixLQUFLLEVBQUUsS0FBSztZQUNaLE1BQU0sRUFBRSxNQUFNO1NBQ2YsQ0FBQzthQUNELE9BQU8sQ0FBQyxPQUFPLENBQUM7YUFDaEIsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7Q0FDRjtBQTlIRCw0Q0E4SEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBhbmNob3IgZnJvbSBcIkBjb3JhbC14eXovYW5jaG9yXCI7XG5pbXBvcnQgeyBQcm9ncmFtLCBJZGwsIEFuY2hvclByb3ZpZGVyIH0gZnJvbSBcIkBjb3JhbC14eXovYW5jaG9yXCI7XG5pbXBvcnQgeyBQdWJsaWNLZXksIFN5c3RlbVByb2dyYW0sIFRyYW5zYWN0aW9uU2lnbmF0dXJlLCBDb25maXJtT3B0aW9ucywgS2V5cGFpciB9IGZyb20gXCJAc29sYW5hL3dlYjMuanNcIjtcbmltcG9ydCB7IER1ZWwgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IElETCBmcm9tIFwiLi9kdWVsLmpzb25cIjtcblxuZXhwb3J0IHR5cGUgRWxvRGF0YVR5cGUgPSAndTgnIHwgJ3UxNicgfCAndTMyJyB8ICd1NjQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEluaXRpYWxpemVUZW5hbnRPcHRpb25zIHtcbiAgYXV0aG9yaXR5PzogUHVibGljS2V5OyAgICAgLy8gT3B0aW9uYWwsIGRlZmF1bHRzIHRvIHRlbmFudFByb2dyYW1JZFxuICBlbG9XaW5kb3c/OiBudW1iZXI7ICAgICAgICAvLyBEZWZhdWx0OiAxMDBcbiAgZWxvT2Zmc2V0PzogbnVtYmVyOyAgICAgICAgLy8gRGVmYXVsdDogNDBcbiAgZWxvRGF0YVR5cGU/OiBFbG9EYXRhVHlwZTsgLy8gRGVmYXVsdDogJ3UxNidcbn1cblxuZnVuY3Rpb24gZ2V0RWxvU2l6ZShkYXRhVHlwZTogRWxvRGF0YVR5cGUpOiBudW1iZXIge1xuICBzd2l0Y2ggKGRhdGFUeXBlKSB7XG4gICAgY2FzZSAndTgnOiByZXR1cm4gMTtcbiAgICBjYXNlICd1MTYnOiByZXR1cm4gMjtcbiAgICBjYXNlICd1MzInOiByZXR1cm4gNDtcbiAgICBjYXNlICd1NjQnOiByZXR1cm4gODtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgTWF0Y2htYWtpbmdBZG1pbiB7XG4gIHByb2dyYW06IFByb2dyYW08RHVlbD47XG4gIHByb3ZpZGVyOiBBbmNob3JQcm92aWRlcjtcblxuICBjb25zdHJ1Y3Rvcihwcm92aWRlcjogQW5jaG9yUHJvdmlkZXIsIHByb2dyYW1JZD86IFB1YmxpY0tleSkge1xuICAgIHRoaXMucHJvdmlkZXIgPSBwcm92aWRlcjtcbiAgICBjb25zdCBQUk9HUkFNX0lEID0gcHJvZ3JhbUlkIHx8IG5ldyBQdWJsaWNLZXkoXCJFZFp6VXdLZDFYMlpXanhMUHB6MWNwRXpNRjdSVVpDNDNQcTY0djFWY0s1WFwiKTtcbiAgICBcbiAgICAvLyBPdmVycmlkZSBhZGRyZXNzIGluIElETFxuICAgIGNvbnN0IG1vZGlmaWVkSWRsID0geyAuLi5JREwgfSBhcyBhbnk7XG4gICAgbW9kaWZpZWRJZGwuYWRkcmVzcyA9IFBST0dSQU1fSUQudG9CYXNlNTgoKTtcbiAgICBcbiAgICB0aGlzLnByb2dyYW0gPSBuZXcgUHJvZ3JhbShtb2RpZmllZElkbCwgdGhpcy5wcm92aWRlcik7XG4gIH1cblxuICAvLyBEZXJpdmUgUERBcyBIZWxwZXJzXG4gIGdldFF1ZXVlUGRhKGF1dGhvcml0eTogUHVibGljS2V5KTogUHVibGljS2V5IHtcbiAgICBjb25zdCBbcGRhXSA9IFB1YmxpY0tleS5maW5kUHJvZ3JhbUFkZHJlc3NTeW5jKFxuICAgICAgW0J1ZmZlci5mcm9tKFwicXVldWVcIiksIGF1dGhvcml0eS50b0J1ZmZlcigpXSxcbiAgICAgIHRoaXMucHJvZ3JhbS5wcm9ncmFtSWRcbiAgICApO1xuICAgIHJldHVybiBwZGE7XG4gIH1cblxuICBnZXRUZW5hbnRQZGEoYXV0aG9yaXR5OiBQdWJsaWNLZXkpOiBQdWJsaWNLZXkge1xuICAgIGNvbnN0IFtwZGFdID0gUHVibGljS2V5LmZpbmRQcm9ncmFtQWRkcmVzc1N5bmMoXG4gICAgICBbQnVmZmVyLmZyb20oXCJ0ZW5hbnRcIiksIGF1dGhvcml0eS50b0J1ZmZlcigpXSxcbiAgICAgIHRoaXMucHJvZ3JhbS5wcm9ncmFtSWRcbiAgICApO1xuICAgIHJldHVybiBwZGE7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSBhIFRlbmFudFxuICAgKi9cbiAgYXN5bmMgaW5pdGlhbGl6ZVRlbmFudChcbiAgICB0ZW5hbnRQcm9ncmFtSWQ6IFB1YmxpY0tleSxcbiAgICBvcHRpb25zPzogSW5pdGlhbGl6ZVRlbmFudE9wdGlvbnMsXG4gICAgY29uZmlybU9wdGlvbnM/OiBDb25maXJtT3B0aW9ucyxcbiAgICBzaWduZXJzOiBLZXlwYWlyW10gPSBbXVxuICApOiBQcm9taXNlPFRyYW5zYWN0aW9uU2lnbmF0dXJlPiB7XG4gICAgY29uc3Qge1xuICAgICAgYXV0aG9yaXR5ID0gdGVuYW50UHJvZ3JhbUlkLFxuICAgICAgZWxvV2luZG93ID0gMTAwLFxuICAgICAgZWxvT2Zmc2V0ID0gNDAsXG4gICAgICBlbG9EYXRhVHlwZSA9ICd1MTYnXG4gICAgfSA9IG9wdGlvbnMgfHwge307XG4gICAgXG4gICAgY29uc3QgZWxvU2l6ZSA9IGdldEVsb1NpemUoZWxvRGF0YVR5cGUpO1xuICAgIGNvbnN0IHRlbmFudFBkYSA9IHRoaXMuZ2V0VGVuYW50UGRhKGF1dGhvcml0eSk7XG4gICAgXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucHJvZ3JhbS5tZXRob2RzXG4gICAgICAuaW5pdGlhbGl6ZVRlbmFudChcbiAgICAgICAgdGVuYW50UHJvZ3JhbUlkLFxuICAgICAgICBlbG9PZmZzZXQsXG4gICAgICAgIGVsb1NpemUsXG4gICAgICAgIG5ldyBhbmNob3IuQk4oZWxvV2luZG93KVxuICAgICAgKVxuICAgICAgLmFjY291bnRzUGFydGlhbCh7XG4gICAgICAgIHRlbmFudDogdGVuYW50UGRhLFxuICAgICAgICBhdXRob3JpdHk6IGF1dGhvcml0eSxcbiAgICAgIH0pXG4gICAgICAuc2lnbmVycyhzaWduZXJzKVxuICAgICAgLnJwYyhjb25maXJtT3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSBhIFF1ZXVlXG4gICAqL1xuICBhc3luYyBpbml0aWFsaXplUXVldWUoXG4gICAgYXV0aG9yaXR5OiBQdWJsaWNLZXksXG4gICAgdGVuYW50OiBQdWJsaWNLZXksXG4gICAgY29uZmlybU9wdGlvbnM/OiBDb25maXJtT3B0aW9ucyxcbiAgICBzaWduZXJzOiBLZXlwYWlyW10gPSBbXVxuICApOiBQcm9taXNlPFRyYW5zYWN0aW9uU2lnbmF0dXJlPiB7XG4gICAgY29uc3QgcXVldWVQZGEgPSB0aGlzLmdldFF1ZXVlUGRhKGF1dGhvcml0eSk7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucHJvZ3JhbS5tZXRob2RzXG4gICAgICAuaW5pdGlhbGl6ZVF1ZXVlKClcbiAgICAgIC5hY2NvdW50c1BhcnRpYWwoe1xuICAgICAgICBxdWV1ZTogcXVldWVQZGEsXG4gICAgICAgIHRlbmFudDogdGVuYW50LFxuICAgICAgICBhdXRob3JpdHk6IGF1dGhvcml0eSxcbiAgICAgIH0pXG4gICAgICAuc2lnbmVycyhzaWduZXJzKVxuICAgICAgLnJwYyhjb25maXJtT3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogRGVsZWdhdGUgUXVldWUgdG8gVEVFXG4gICAqL1xuICBhc3luYyBkZWxlZ2F0ZVF1ZXVlKFxuICAgIGF1dGhvcml0eTogUHVibGljS2V5LFxuICAgIHZhbGlkYXRvcjogUHVibGljS2V5ID0gbmV3IFB1YmxpY0tleShcIkZuRTZWSlQ1UU5aZGVkWlBuQ29Mc0FSZ0J3b0U2RGVKTmpCczJIMWd5U1hBXCIpLFxuICAgIGNvbmZpcm1PcHRpb25zPzogQ29uZmlybU9wdGlvbnMsXG4gICAgc2lnbmVyczogS2V5cGFpcltdID0gW11cbiAgKTogUHJvbWlzZTxUcmFuc2FjdGlvblNpZ25hdHVyZT4ge1xuICAgICAgY29uc3QgcXVldWVQZGEgPSB0aGlzLmdldFF1ZXVlUGRhKGF1dGhvcml0eSk7XG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5wcm9ncmFtLm1ldGhvZHNcbiAgICAgICAgLmRlbGVnYXRlUXVldWUoeyBxdWV1ZTogeyBhdXRob3JpdHkgfSB9IGFzIGFueSlcbiAgICAgICAgLmFjY291bnRzKHtcbiAgICAgICAgICAgIHBkYTogcXVldWVQZGEsXG4gICAgICAgICAgICBwYXllcjogYXV0aG9yaXR5LFxuICAgICAgICAgICAgdmFsaWRhdG9yOiB2YWxpZGF0b3IsXG4gICAgICAgIH0gYXMgYW55KVxuICAgICAgICAuc2lnbmVycyhzaWduZXJzKVxuICAgICAgICAucnBjKGNvbmZpcm1PcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm9jZXNzIE1hdGNoIChBZG1pbi9NYWludGVuYW5jZSlcbiAgICovXG4gIGFzeW5jIHByb2Nlc3NNYXRjaChcbiAgICBxdWV1ZTogUHVibGljS2V5LFxuICAgIHRlbmFudDogUHVibGljS2V5LFxuICAgIGNvbmZpcm1PcHRpb25zPzogQ29uZmlybU9wdGlvbnMsXG4gICAgc2lnbmVyczogS2V5cGFpcltdID0gW10gLy8gQWRtaW4gbWlnaHQgc2lnbiBpZiBhdXRob3JpdHkgcmVxdWlyZWRcbiAgKTogUHJvbWlzZTxUcmFuc2FjdGlvblNpZ25hdHVyZT4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnByb2dyYW0ubWV0aG9kc1xuICAgICAgLnByb2Nlc3NNYXRjaCgpXG4gICAgICAuYWNjb3VudHNQYXJ0aWFsKHtcbiAgICAgICAgcXVldWU6IHF1ZXVlLFxuICAgICAgICB0ZW5hbnQ6IHRlbmFudCxcbiAgICAgIH0pXG4gICAgICAuc2lnbmVycyhzaWduZXJzKVxuICAgICAgLnJwYyhjb25maXJtT3B0aW9ucyk7XG4gIH1cbn1cbiJdfQ==
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYWRtaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQzNCLE9BQU8sS0FBSyxJQUFJLE1BQU0saUJBQWlCLENBQUM7QUFFeEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN2QyxNQUFNLEdBQUcsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUMxRCxPQUFPLEtBQUssS0FBSyxNQUFNLFlBQVksQ0FBQztBQUVwQyxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUM7QUFhN0IsU0FBUyxVQUFVLENBQUMsUUFBcUI7SUFDdkMsUUFBUSxRQUFRLEVBQUU7UUFDaEIsS0FBSyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQixLQUFLLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JCLEtBQUssS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckIsS0FBSyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUN0QjtBQUNILENBQUM7QUFFRCxNQUFNLE9BQU8sZ0JBQWdCO0lBSTNCLFlBQVksUUFBK0IsRUFBRSxTQUFrQztRQUM3RSxNQUFNLE9BQU8sR0FBRyxPQUFPLFNBQVMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pGLE1BQU0sR0FBRyxHQUFHLEVBQUUsR0FBRyxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBVSxFQUFF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TSxFQUFFLE1BQU07WUFDZCxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTO1NBQ2hDLENBQUM7YUFDRCxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQzthQUNwQyxPQUFPLENBQUMsT0FBTyxDQUFDO2FBQ2hCLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsYUFBYSxDQUNqQixNQUFzQixFQUN0QixVQUE0QixFQUM1QixjQUFvQyxFQUNwQyxVQUEwQixFQUFFO1FBRTVCLE9BQU8sTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU87YUFDOUIsYUFBYSxFQUFFO2FBQ2YsZUFBZSxDQUFDO1lBQ2YsTUFBTSxFQUFFLE1BQU07WUFDZCxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTO1NBQy9CLENBQUM7YUFDRCxpQkFBaUIsQ0FDaEIsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDckIsTUFBTSxFQUFFLEdBQUc7WUFDWCxRQUFRLEVBQUUsS0FBSztZQUNmLFVBQVUsRUFBRSxJQUFJO1NBQ2pCLENBQUMsQ0FBQyxDQUNKO2FBQ0EsT0FBTyxDQUFDLE9BQU8sQ0FBQzthQUNoQixHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDekIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgYW5jaG9yIGZyb20gXCJAY29yYWwteHl6L2FuY2hvclwiO1xuaW1wb3J0IHsgQk4gfSBmcm9tIFwiYm4uanNcIjtcbmltcG9ydCAqIGFzIHdlYjMgZnJvbSBcIkBzb2xhbmEvd2ViMy5qc1wiO1xuaW1wb3J0IHR5cGUgeyBEdWVsIH0gZnJvbSBcIi4vdHlwZXMuanNcIjtcbmltcG9ydCB7IGNyZWF0ZVJlcXVpcmUgfSBmcm9tIFwibW9kdWxlXCI7XG5jb25zdCBJREwgPSBjcmVhdGVSZXF1aXJlKGltcG9ydC5tZXRhLnVybCkoXCIuL2R1ZWwuanNvblwiKTtcbmltcG9ydCAqIGFzIHV0aWxzIGZyb20gXCIuL3V0aWxzLmpzXCI7XG5cbmNvbnN0IFRJQ0tFVF9TRUVEID0gXCJ0aWNrZXRcIjtcblxuZXhwb3J0IHR5cGUgRWxvRGF0YVR5cGUgPSAndTgnIHwgJ3UxNicgfCAndTMyJyB8ICd1NjQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEluaXRpYWxpemVUZW5hbnRPcHRpb25zIHtcbiAgYXV0aG9yaXR5Pzogd2ViMy5QdWJsaWNLZXk7XG4gIGVsb1dpbmRvdz86IG51bWJlcjtcbiAgZWxvT2Zmc2V0PzogbnVtYmVyO1xuICBlbG9EYXRhVHlwZT86IEVsb0RhdGFUeXBlO1xuICBjYWxsYmFja1Byb2dyYW1JZD86IHdlYjMuUHVibGljS2V5IHwgbnVsbDtcbiAgY2FsbGJhY2tEaXNjcmltaW5hdG9yPzogbnVtYmVyW10gfCBudWxsO1xufVxuXG5mdW5jdGlvbiBnZXRFbG9TaXplKGRhdGFUeXBlOiBFbG9EYXRhVHlwZSk6IG51bWJlciB7XG4gIHN3aXRjaCAoZGF0YVR5cGUpIHtcbiAgICBjYXNlICd1OCc6IHJldHVybiAxO1xuICAgIGNhc2UgJ3UxNic6IHJldHVybiAyO1xuICAgIGNhc2UgJ3UzMic6IHJldHVybiA0O1xuICAgIGNhc2UgJ3U2NCc6IHJldHVybiA4O1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNYXRjaG1ha2luZ0FkbWluIHtcbiAgcHVibGljIHByb2dyYW06IGFuY2hvci5Qcm9ncmFtPER1ZWw+O1xuICBwdWJsaWMgcHJvdmlkZXI6IGFuY2hvci5BbmNob3JQcm92aWRlcjtcblxuICBjb25zdHJ1Y3Rvcihwcm92aWRlcjogYW5jaG9yLkFuY2hvclByb3ZpZGVyLCBwcm9ncmFtSWQ6IHdlYjMuUHVibGljS2V5IHwgc3RyaW5nKSB7XG4gICAgY29uc3QgYWRkcmVzcyA9IHR5cGVvZiBwcm9ncmFtSWQgPT09IFwic3RyaW5nXCIgPyBwcm9ncmFtSWQgOiBwcm9ncmFtSWQudG9CYXNlNTgoKTtcbiAgICBjb25zdCBpZGwgPSB7IC4uLklETCwgYWRkcmVzcyB9O1xuICAgIHRoaXMucHJvZ3JhbSA9IG5ldyBhbmNob3IuUHJvZ3JhbShpZGwgYXMgYW55LCBwcm92aWRlcik7XG4gICAgdGhpcy5wcm92aWRlciA9IHByb3ZpZGVyO1xuICB9XG5cbiAgLy8gRGVyaXZlIFBEQXMgSGVscGVyc1xuICBnZXRRdWV1ZVBkYShhdXRob3JpdHk6IHdlYjMuUHVibGljS2V5KTogd2ViMy5QdWJsaWNLZXkge1xuICAgIHJldHVybiB1dGlscy5kZXJpdmVRdWV1ZVBkYSh0aGlzLnByb2dyYW0ucHJvZ3JhbUlkLCBhdXRob3JpdHkpO1xuICB9XG5cbiAgZ2V0VGVuYW50UGRhKGF1dGhvcml0eTogd2ViMy5QdWJsaWNLZXkpOiB3ZWIzLlB1YmxpY0tleSB7XG4gICAgcmV0dXJuIHV0aWxzLmRlcml2ZVRlbmFudFBkYSh0aGlzLnByb2dyYW0ucHJvZ3JhbUlkLCBhdXRob3JpdHkpO1xuICB9XG5cbiAgZ2V0VGlja2V0UGRhKHBsYXllcjogd2ViMy5QdWJsaWNLZXksIHRlbmFudDogd2ViMy5QdWJsaWNLZXkpOiB3ZWIzLlB1YmxpY0tleSB7XG4gICAgcmV0dXJuIHV0aWxzLmRlcml2ZVRpY2tldFBkYSh0aGlzLnByb2dyYW0ucHJvZ3JhbUlkLCBwbGF5ZXIsIHRlbmFudCk7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2ggUXVldWUgYWNjb3VudCBkYXRhXG4gICAqL1xuICBhc3luYyBnZXRRdWV1ZShxdWV1ZVBkYTogd2ViMy5QdWJsaWNLZXkpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnByb2dyYW0uYWNjb3VudC5xdWV1ZS5mZXRjaChxdWV1ZVBkYSk7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2ggVGVuYW50IGFjY291bnQgZGF0YVxuICAgKi9cbiAgYXN5bmMgZ2V0VGVuYW50KHRlbmFudFBkYTogd2ViMy5QdWJsaWNLZXkpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnByb2dyYW0uYWNjb3VudC50ZW5hbnQuZmV0Y2godGVuYW50UGRhKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIGEgVGVuYW50ICh3aXRoIG9wdGlvbmFsIGNhbGxiYWNrIGNvbmZpZylcbiAgICovXG4gIGFzeW5jIGluaXRpYWxpemVUZW5hbnQoXG4gICAgdGVuYW50UHJvZ3JhbUlkOiB3ZWIzLlB1YmxpY0tleSxcbiAgICBvcHRpb25zPzogSW5pdGlhbGl6ZVRlbmFudE9wdGlvbnMsXG4gICAgY29uZmlybU9wdGlvbnM/OiB3ZWIzLkNvbmZpcm1PcHRpb25zLFxuICAgIHNpZ25lcnM6IHdlYjMuS2V5cGFpcltdID0gW11cbiAgKTogUHJvbWlzZTx3ZWIzLlRyYW5zYWN0aW9uU2lnbmF0dXJlPiB7XG4gICAgY29uc3Qge1xuICAgICAgYXV0aG9yaXR5ID0gdGVuYW50UHJvZ3JhbUlkLFxuICAgICAgZWxvV2luZG93ID0gMTAwLFxuICAgICAgZWxvT2Zmc2V0ID0gNDAsXG4gICAgICBlbG9EYXRhVHlwZSA9ICd1MTYnLFxuICAgICAgY2FsbGJhY2tQcm9ncmFtSWQgPSBudWxsLFxuICAgICAgY2FsbGJhY2tEaXNjcmltaW5hdG9yID0gbnVsbCxcbiAgICB9ID0gb3B0aW9ucyB8fCB7fTtcblxuICAgIGNvbnN0IGVsb1NpemUgPSBnZXRFbG9TaXplKGVsb0RhdGFUeXBlKTtcbiAgICBjb25zdCB0ZW5hbnRQZGEgPSB0aGlzLmdldFRlbmFudFBkYShhdXRob3JpdHkpO1xuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucHJvZ3JhbS5tZXRob2RzXG4gICAgICAuaW5pdGlhbGl6ZVRlbmFudChcbiAgICAgICAgdGVuYW50UHJvZ3JhbUlkLFxuICAgICAgICBlbG9PZmZzZXQsXG4gICAgICAgIGVsb1NpemUsXG4gICAgICAgIG5ldyBCTihlbG9XaW5kb3cpLFxuICAgICAgICBjYWxsYmFja1Byb2dyYW1JZCB8fCBudWxsLFxuICAgICAgICBjYWxsYmFja0Rpc2NyaW1pbmF0b3IgPyBBcnJheS5mcm9tKEJ1ZmZlci5mcm9tKGNhbGxiYWNrRGlzY3JpbWluYXRvcikpIDogbnVsbFxuICAgICAgKVxuICAgICAgLmFjY291bnRzUGFydGlhbCh7XG4gICAgICAgIHRlbmFudDogdGVuYW50UGRhLFxuICAgICAgICBhdXRob3JpdHk6IGF1dGhvcml0eSxcbiAgICAgIH0pXG4gICAgICAuc2lnbmVycyhzaWduZXJzKVxuICAgICAgLnJwYyhjb25maXJtT3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSBhIFF1ZXVlXG4gICAqL1xuICBhc3luYyBpbml0aWFsaXplUXVldWUoXG4gICAgYXV0aG9yaXR5OiB3ZWIzLlB1YmxpY0tleSxcbiAgICB0ZW5hbnQ6IHdlYjMuUHVibGljS2V5LFxuICAgIGNvbmZpcm1PcHRpb25zPzogd2ViMy5Db25maXJtT3B0aW9ucyxcbiAgICBzaWduZXJzOiB3ZWIzLktleXBhaXJbXSA9IFtdXG4gICk6IFByb21pc2U8d2ViMy5UcmFuc2FjdGlvblNpZ25hdHVyZT4ge1xuICAgIGNvbnN0IHF1ZXVlUGRhID0gdGhpcy5nZXRRdWV1ZVBkYShhdXRob3JpdHkpO1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnByb2dyYW0ubWV0aG9kc1xuICAgICAgLmluaXRpYWxpemVRdWV1ZSgpXG4gICAgICAuYWNjb3VudHNQYXJ0aWFsKHtcbiAgICAgICAgcXVldWU6IHF1ZXVlUGRhLFxuICAgICAgICB0ZW5hbnQ6IHRlbmFudCxcbiAgICAgICAgYXV0aG9yaXR5OiBhdXRob3JpdHksXG4gICAgICB9KVxuICAgICAgLnNpZ25lcnMoc2lnbmVycylcbiAgICAgIC5ycGMoY29uZmlybU9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGVnYXRlIFF1ZXVlIHRvIFRFRVxuICAgKi9cbiAgYXN5bmMgZGVsZWdhdGVRdWV1ZShcbiAgICBhdXRob3JpdHk6IHdlYjMuUHVibGljS2V5LFxuICAgIHZhbGlkYXRvcjogd2ViMy5QdWJsaWNLZXkgPSBuZXcgd2ViMy5QdWJsaWNLZXkoXCJGbkU2VkpUNVFOWmRlZFpQbkNvTHNBUmdCd29FNkRlSk5qQnMySDFneVNYQVwiKSxcbiAgICBjb25maXJtT3B0aW9ucz86IHdlYjMuQ29uZmlybU9wdGlvbnMsXG4gICAgc2lnbmVyczogd2ViMy5LZXlwYWlyW10gPSBbXVxuICApOiBQcm9taXNlPHdlYjMuVHJhbnNhY3Rpb25TaWduYXR1cmU+IHtcbiAgICAgIGNvbnN0IHF1ZXVlUGRhID0gdGhpcy5nZXRRdWV1ZVBkYShhdXRob3JpdHkpO1xuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMucHJvZ3JhbS5tZXRob2RzXG4gICAgICAgIC5kZWxlZ2F0ZVF1ZXVlKHsgcXVldWU6IHsgYXV0aG9yaXR5IH0gfSBhcyBhbnkpXG4gICAgICAgIC5hY2NvdW50cyh7XG4gICAgICAgICAgICBwZGE6IHF1ZXVlUGRhLFxuICAgICAgICAgICAgcGF5ZXI6IGF1dGhvcml0eSxcbiAgICAgICAgICAgIHZhbGlkYXRvcjogdmFsaWRhdG9yLFxuICAgICAgICB9IGFzIHVua25vd24gYXMgYW55KVxuICAgICAgICAuc2lnbmVycyhzaWduZXJzKVxuICAgICAgICAucnBjKGNvbmZpcm1PcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGbHVzaCBwZW5kaW5nIG1hdGNoZXMgLSBjcmFuayBpbnN0cnVjdGlvbiB0byB1cGRhdGUgb3Bwb25lbnQgdGlja2V0c1xuICAgKiBDYW4gYmUgY2FsbGVkIGJ5IGFueSBURUUtYXV0aGVudGljYXRlZCB3YWxsZXQgKHBlcm1pc3Npb25sZXNzKVxuICAgKi9cbiAgYXN5bmMgZmx1c2hNYXRjaGVzKFxuICAgIHF1ZXVlOiB3ZWIzLlB1YmxpY0tleSxcbiAgICB0ZW5hbnQ6IHdlYjMuUHVibGljS2V5LFxuICAgIHRpY2tldFBkYXM6IHdlYjMuUHVibGljS2V5W10sXG4gICAgY2FsbGJhY2tQcm9ncmFtPzogd2ViMy5QdWJsaWNLZXksXG4gICAgY29uZmlybU9wdGlvbnM/OiB3ZWIzLkNvbmZpcm1PcHRpb25zLFxuICAgIHNpZ25lcnM6IHdlYjMuS2V5cGFpcltdID0gW11cbiAgKTogUHJvbWlzZTx3ZWIzLlRyYW5zYWN0aW9uU2lnbmF0dXJlPiB7XG4gICAgY29uc3QgcmVtYWluaW5nQWNjb3VudHMgPSB0aWNrZXRQZGFzLm1hcChwZGEgPT4gKHtcbiAgICAgIHB1YmtleTogcGRhLFxuICAgICAgaXNTaWduZXI6IGZhbHNlLFxuICAgICAgaXNXcml0YWJsZTogdHJ1ZSxcbiAgICB9KSk7XG5cbiAgICBpZiAoY2FsbGJhY2tQcm9ncmFtKSB7XG4gICAgICByZW1haW5pbmdBY2NvdW50cy5wdXNoKHtcbiAgICAgICAgcHVia2V5OiBjYWxsYmFja1Byb2dyYW0sXG4gICAgICAgIGlzU2lnbmVyOiBmYWxzZSxcbiAgICAgICAgaXNXcml0YWJsZTogZmFsc2UsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5wcm9ncmFtLm1ldGhvZHNcbiAgICAgIC5mbHVzaE1hdGNoZXMoKVxuICAgICAgLmFjY291bnRzUGFydGlhbCh7XG4gICAgICAgIHF1ZXVlOiBxdWV1ZSxcbiAgICAgICAgdGVuYW50OiB0ZW5hbnQsXG4gICAgICAgIHNpZ25lcjogdGhpcy5wcm92aWRlci5wdWJsaWNLZXksXG4gICAgICB9KVxuICAgICAgLnJlbWFpbmluZ0FjY291bnRzKHJlbWFpbmluZ0FjY291bnRzKVxuICAgICAgLnNpZ25lcnMoc2lnbmVycylcbiAgICAgIC5ycGMoY29uZmlybU9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbW1pdCBtYXRjaGVkIHRpY2tldHMgYmFjayB0byBMMSAocnVucyBpbiBURUUpXG4gICAqL1xuICBhc3luYyBjb21taXRUaWNrZXRzKFxuICAgIHRlbmFudDogd2ViMy5QdWJsaWNLZXksXG4gICAgdGlja2V0UGRhczogd2ViMy5QdWJsaWNLZXlbXSxcbiAgICBjb25maXJtT3B0aW9ucz86IHdlYjMuQ29uZmlybU9wdGlvbnMsXG4gICAgc2lnbmVyczogd2ViMy5LZXlwYWlyW10gPSBbXVxuICApOiBQcm9taXNlPHdlYjMuVHJhbnNhY3Rpb25TaWduYXR1cmU+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5wcm9ncmFtLm1ldGhvZHNcbiAgICAgIC5jb21taXRUaWNrZXRzKClcbiAgICAgIC5hY2NvdW50c1BhcnRpYWwoe1xuICAgICAgICB0ZW5hbnQ6IHRlbmFudCxcbiAgICAgICAgcGF5ZXI6IHRoaXMucHJvdmlkZXIucHVibGljS2V5LFxuICAgICAgfSlcbiAgICAgIC5yZW1haW5pbmdBY2NvdW50cyhcbiAgICAgICAgdGlja2V0UGRhcy5tYXAocGRhID0+ICh7XG4gICAgICAgICAgcHVia2V5OiBwZGEsXG4gICAgICAgICAgaXNTaWduZXI6IGZhbHNlLFxuICAgICAgICAgIGlzV3JpdGFibGU6IHRydWUsXG4gICAgICAgIH0pKVxuICAgICAgKVxuICAgICAgLnNpZ25lcnMoc2lnbmVycylcbiAgICAgIC5ycGMoY29uZmlybU9wdGlvbnMpO1xuICB9XG59XG4iXX0=
package/dist/duel.json CHANGED
@@ -333,36 +333,6 @@
333
333
  ],
334
334
  "args": []
335
335
  },
336
- {
337
- "name": "process_match",
338
- "discriminator": [
339
- 139,
340
- 58,
341
- 77,
342
- 101,
343
- 46,
344
- 54,
345
- 202,
346
- 140
347
- ],
348
- "accounts": [
349
- {
350
- "name": "queue",
351
- "writable": true
352
- },
353
- {
354
- "name": "tenant"
355
- },
356
- {
357
- "name": "authority",
358
- "signer": true,
359
- "relations": [
360
- "tenant"
361
- ]
362
- }
363
- ],
364
- "args": []
365
- },
366
336
  {
367
337
  "name": "process_undelegation",
368
338
  "discriminator": [
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EncryptionProvider = void 0;
4
1
  // import { x25519 } from "@noble/curves/ed25519";
5
- class EncryptionProvider {
2
+ export class EncryptionProvider {
6
3
  constructor() {
7
4
  this.keyPair = null;
8
5
  }
@@ -97,5 +94,4 @@ class EncryptionProvider {
97
94
  return new Uint8Array(raw);
98
95
  }
99
96
  }
100
- exports.EncryptionProvider = EncryptionProvider;
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jcnlwdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9lbmNyeXB0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLG1EQUFtRDtBQUVuRCxNQUFhLGtCQUFrQjtJQUEvQjtRQUNZLFlBQU8sR0FBeUIsSUFBSSxDQUFDO0lBd0pqRCxDQUFDO0lBdEpHLGdDQUFnQztJQUNoQyxJQUFZLE1BQU07UUFDZCxJQUFJLE9BQU8sVUFBVSxDQUFDLE1BQU0sS0FBSyxXQUFXLEVBQUU7WUFDMUMsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDO1NBQzVCO1FBQ0QsMEZBQTBGO1FBQzFGLElBQUk7WUFDQSxPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQUM7U0FDdEM7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNSLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FBQztTQUNuRDtJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxrQkFBa0I7UUFDcEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FDL0M7WUFDSSxJQUFJLEVBQUUsTUFBTTtZQUNaLFVBQVUsRUFBRSxPQUFPO1NBQ3RCLEVBQ0QsSUFBSSxFQUNKLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQyxDQUNiLENBQUM7UUFFbkIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsY0FBYyxDQUNoQixJQUFnQixFQUNoQixpQkFBNkI7UUFFN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDZixNQUFNLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1NBQ25DO1FBRUQsd0JBQXdCO1FBQ3hCLHdHQUF3RztRQUN4RyxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxN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QUNJLElBQUksRUFBRSxTQUFTO1lBQ2YsRUFBRSxFQUFFLEVBQUU7U0FDVCxFQUNELFNBQVMsRUFDVCxVQUFxQyxDQUN4QyxDQUFDO1FBRUYsT0FBTyxJQUFJLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsc0JBQXNCO1FBQ3hCLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUM3QyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxFQUNyQyxJQUFJLEVBQ0osQ0FBQyxXQUFXLENBQUMsQ0FDQyxDQUFDO1FBQ25CLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEUsT0FBTyxJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQixDQUFDO0NBQ0o7QUF6SkQsZ0RBeUpDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHVibGljS2V5IH0gZnJvbSBcIkBzb2xhbmEvd2ViMy5qc1wiO1xuLy8gaW1wb3J0IHsgeDI1NTE5IH0gZnJvbSBcIkBub2JsZS9jdXJ2ZXMvZWQyNTUxOVwiOyBcblxuZXhwb3J0IGNsYXNzIEVuY3J5cHRpb25Qcm92aWRlciB7XG4gICAgcHJpdmF0ZSBrZXlQYWlyOiBDcnlwdG9LZXlQYWlyIHwgbnVsbCA9IG51bGw7XG4gICAgXG4gICAgLy8gQ2hlY2sgZm9yIGNyeXB0byBhdmFpbGFiaWxpdHlcbiAgICBwcml2YXRlIGdldCBjcnlwdG8oKTogQ3J5cHRvIHtcbiAgICAgICAgaWYgKHR5cGVvZiBnbG9iYWxUaGlzLmNyeXB0byAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHJldHVybiBnbG9iYWxUaGlzLmNyeXB0bztcbiAgICAgICAgfVxuICAgICAgICAvLyBGYWxsYmFjayBmb3IgTm9kZSA8IDE5IGlmIGdsb2JhbCBjcnlwdG8gbm90IHNldCAodGhvdWdoIFNESyBsaWtlbHkgdGFyZ2V0cyBtb2Rlcm4gZW52cylcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiByZXF1aXJlKCdjcnlwdG8nKS53ZWJjcnlwdG87XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIldlYkNyeXB0byBBUEkgbm90IGF2YWlsYWJsZS5cIik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZW5lcmF0ZSBhIGZyZXNoIGVwaGVtZXJhbCBrZXlwYWlyIGZvciB0aGUgc2Vzc2lvbiAoWDI1NTE5L1AtMjU2KS5cbiAgICAgKi9cbiAgICBhc3luYyBnZW5lcmF0ZVNlc3Npb25LZXkoKTogUHJvbWlzZTxDcnlwdG9LZXk+IHtcbiAgICAgICAgdGhpcy5rZXlQYWlyID0gYXdhaXQgdGhpcy5jcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6IFwiRUNESFwiLFxuICAgICAgICAgICAgICAgIG5hbWVkQ3VydmU6IFwiUC0yNTZcIiwgXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdHJ1ZSxcbiAgICAgICAgICAgIFtcImRlcml2ZUtleVwiLCBcImRlcml2ZUJpdHNcIl1cbiAgICAgICAgKSBhcyBDcnlwdG9LZXlQYWlyO1xuICAgICAgICBcbiAgICAgICAgcmV0dXJuIHRoaXMua2V5UGFpci5wdWJsaWNLZXk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVyaXZlIHNoYXJlZCBzZWNyZXQgYW5kIGVuY3J5cHQgcGF5bG9hZC5cbiAgICAgKi9cbiAgICBhc3luYyBlbmNyeXB0UGF5bG9hZChcbiAgICAgICAgZGF0YTogVWludDhBcnJheSwgXG4gICAgICAgIHRlZVB1YmxpY0tleUJ5dGVzOiBVaW50OEFycmF5XG4gICAgKTogUHJvbWlzZTx7IGVuY3J5cHRlZDogVWludDhBcnJheSwgY2xpZW50UHVibGljS2V5OiBVaW50OEFycmF5IH0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmtleVBhaXIpIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZ2VuZXJhdGVTZXNzaW9uS2V5KCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJbXBvcnQgVEVFIFB1YmxpYyBLZXlcbiAgICAgICAgLy8gRml4OiBFeHBsaWNpdGx5IGNhc3QgdG8gQnVmZmVyU291cmNlL2FueSBiZWNhdXNlIFRTIGdldHMgY29uZnVzZWQgd2l0aCBTaGFyZWRBcnJheUJ1ZmZlciBpbiBzb21lIGVudnNcbiAgICAgICAgY29uc3QgdGVlS2V5ID0gYXdhaXQgdGhpcy5jcnlwdG8uc3VidGxlLmltcG9ydEtleShcbiAgICAgICAgICAgIFwicmF3XCIsXG4gICAgICAgICAgICB0ZWVQdWJsaWNLZXlCeXRlcyBhcyB1bmtub3duIGFzIEJ1ZmZlclNvdXJjZSxcbiAgICAgICAgICAgIHsgbmFtZTogXCJFQ0RIXCIsIG5hbWVkQ3VydmU6IFwiUC0yNTZcIiB9LCBcbiAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgW11cbiAgICAgICAgKTtcblxuICAgICAgICAvLyBEZXJpdmUgU2hhcmVkIFNlY3JldCAoQUVTLUdDTSBLZXkpXG4gICAgICAgIGNvbnN0IHNoYXJlZEtleSA9IGF3YWl0IHRoaXMuY3J5cHRvLnN1YnRsZS5kZXJpdmVLZXkoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogXCJFQ0RIXCIsXG4gICAgICAgICAgICAgICAgcHVibGljOiB0ZWVLZXksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdGhpcy5rZXlQYWlyIS5wcml2YXRlS2V5LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6IFwiQUVTLUdDTVwiLFxuICAgICAgICAgICAgICAgIGxlbmd0aDogMjU2LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgW1wiZW5jcnlwdFwiLCBcImRlY3J5cHRcIl1cbiAgICAgICAgKTtcblxuICAgICAgICAvLyBFbmNyeXB0IERhdGFcbiAgICAgICAgY29uc3QgaXYgPSB0aGlzLmNyeXB0by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkoMTIpKTtcbiAgICAgICAgY29uc3QgZW5jcnlwdGVkQnVmZmVyID0gYXdhaXQgdGhpcy5jcnlwdG8uc3VidGxlLmVuY3J5cHQoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogXCJBRVMtR0NNXCIsXG4gICAgICAgICAgICAgICAgaXY6IGl2LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNoYXJlZEtleSxcbiAgICAgICAgICAgIGRhdGEgYXMgdW5rbm93biBhcyBCdWZmZXJTb3VyY2VcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBDb25jYXRlbmF0ZSBJViArIENpcGhlclRleHRcbiAgICAgICAgY29uc3QgZW5jcnlwdGVkID0gbmV3IFVpbnQ4QXJyYXkoaXYubGVuZ3RoICsgZW5jcnlwdGVkQnVmZmVyLmJ5dGVMZW5ndGgpO1xuICAgICAgICBlbmNyeXB0ZWQuc2V0KGl2KTtcbiAgICAgICAgZW5jcnlwdGVkLnNldChuZXcgVWludDhBcnJheShlbmNyeXB0ZWRCdWZmZXIpLCBpdi5sZW5ndGgpO1xuXG4gICAgICAgIC8vIEV4cG9ydCBDbGllbnQgUHVibGljIEtleVxuICAgICAgICBjb25zdCBjbGllbnRQdWJSYXcgPSBhd2FpdCB0aGlzLmNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KFwicmF3XCIsIHRoaXMua2V5UGFpciEucHVibGljS2V5KTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZW5jcnlwdGVkLFxuICAgICAgICAgICAgY2xpZW50UHVibGljS2V5OiBuZXcgVWludDhBcnJheShjbGllbnRQdWJSYXcpXG4gICAgICAgIH07XG4gICAgfVxuICAgIFxuICAgIC8qKlxuICAgICAqIERlY3J5cHQgYSByZXNwb25zZSBmcm9tIHRoZSBURUUuXG4gICAgICovXG4gICAgYXN5bmMgZGVjcnlwdFJlc3BvbnNlKFxuICAgICAgICBlbmNyeXB0ZWREYXRhOiBVaW50OEFycmF5LCBcbiAgICAgICAgdGVlUHVibGljS2V5Qnl0ZXM6IFVpbnQ4QXJyYXlcbiAgICApOiBQcm9taXNlPFVpbnQ4QXJyYXk+IHtcbiAgICAgICAgICBpZiAoIXRoaXMua2V5UGFpcikgdGhyb3cgbmV3IEVycm9yKFwiTm8gc2Vzc2lvbiBrZXlcIik7XG4gICAgICAgICAgXG4gICAgICAgICAgIC8vIEltcG9ydCBURUUgUHVibGljIEtleVxuICAgICAgICBjb25zdCB0ZWVLZXkgPSBhd2FpdCB0aGlzLmNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KFxuICAgICAgICAgICAgXCJyYXdcIixcbiAgICAgICAgICAgIHRlZVB1YmxpY0tleUJ5dGVzIGFzIHVua25vd24gYXMgQnVmZmVyU291cmNlLFxuICAgICAgICAgICAgeyBuYW1lOiBcIkVDREhcIiwgbmFtZWRDdXJ2ZTogXCJQLTI1NlwiIH0sIFxuICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICBbXVxuICAgICAgICApO1xuXG4gICAgICAgIC8vIERlcml2ZSBTaGFyZWQgU2VjcmV0XG4gICAgICAgIGNvbnN0IHNoYXJlZEtleSA9IGF3YWl0IHRoaXMuY3J5cHRvLnN1YnRsZS5kZXJpdmVLZXkoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogXCJFQ0RIXCIsXG4gICAgICAgICAgICAgICAgcHVibGljOiB0ZWVLZXksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdGhpcy5rZXlQYWlyIS5wcml2YXRlS2V5LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6IFwiQUVTLUdDTVwiLFxuICAgICAgICAgICAgICAgIGxlbmd0aDogMjU2LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgW1wiZW5jcnlwdFwiLCBcImRlY3J5cHRcIl1cbiAgICAgICAgKTtcbiAgICAgICAgXG4gICAgICAgIGNvbnN0IGl2ID0gZW5jcnlwdGVkRGF0YS5zbGljZSgwLCAxMik7XG4gICAgICAgIGNvbnN0IGNpcGhlcnRleHQgPSBlbmNyeXB0ZWREYXRhLnNsaWNlKDEyKTtcbiAgICAgICAgXG4gICAgICAgIGNvbnN0IGRlY3J5cHRlZCA9IGF3YWl0IHRoaXMuY3J5cHRvLnN1YnRsZS5kZWNyeXB0KFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6IFwiQUVTLUdDTVwiLFxuICAgICAgICAgICAgICAgIGl2OiBpdixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzaGFyZWRLZXksXG4gICAgICAgICAgICBjaXBoZXJ0ZXh0IGFzIHVua25vd24gYXMgQnVmZmVyU291cmNlXG4gICAgICAgICk7XG4gICAgICAgIFxuICAgICAgICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkoZGVjcnlwdGVkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIZWxwZXIgdG8gZ2VuZXJhdGUgYSB2YWxpZCByYW5kb20gUC0yNTYgUHVibGljIEtleSAoNjUgYnl0ZXMpIGZvciB0ZXN0aW5nLlxuICAgICAqL1xuICAgIGFzeW5jIGNyZWF0ZU1vY2tWYWxpZGF0b3JLZXkoKTogUHJvbWlzZTxVaW50OEFycmF5PiB7XG4gICAgICAgIGNvbnN0IHBhaXIgPSBhd2FpdCB0aGlzLmNyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoXG4gICAgICAgICAgICB7IG5hbWU6IFwiRUNESFwiLCBuYW1lZEN1cnZlOiBcIlAtMjU2XCIgfSxcbiAgICAgICAgICAgIHRydWUsIFxuICAgICAgICAgICAgW1wiZGVyaXZlS2V5XCJdXG4gICAgICAgICkgYXMgQ3J5cHRvS2V5UGFpcjtcbiAgICAgICAgY29uc3QgcmF3ID0gYXdhaXQgdGhpcy5jcnlwdG8uc3VidGxlLmV4cG9ydEtleShcInJhd1wiLCBwYWlyLnB1YmxpY0tleSk7XG4gICAgICAgIHJldHVybiBuZXcgVWludDhBcnJheShyYXcpO1xuICAgIH1cbn1cbiJdfQ==
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jcnlwdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9lbmNyeXB0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLG1EQUFtRDtBQUVuRCxNQUFNLE9BQU8sa0JBQWtCO0lBQS9CO1FBQ1ksWUFBTyxHQUF5QixJQUFJLENBQUM7SUF3SmpELENBQUM7SUF0SkcsZ0NBQWdDO0lBQ2hDLElBQVksTUFBTTtRQUNkLElBQUksT0FBTyxVQUFVLENBQUMsTUFBTSxLQUFLLFdBQVcsRUFBRTtZQUMxQyxPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUM7U0FDNUI7UUFDRCwwRkFBMEY7UUFDMUYsSUFBSTtZQUNBLE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQztTQUN0QztRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1IsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1NBQ25EO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLGtCQUFrQjtRQUNwQixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUMvQztZQUNJLElBQUksRUFBRSxNQUFNO1lBQ1osVUFBVSxFQUFFLE9BQU87U0FDdEIsRUFDRCxJQUFJLEVBQ0osQ0FBQyxXQUFXLEVBQUUsWUFBWSxDQUFDLENBQ2IsQ0FBQztRQUVuQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxjQUFjLENBQ2hCLElBQWdCLEVBQ2hCLGlCQUE2QjtRQUU3QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNmLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7U0FDbkM7UUFFRCx3QkFBd0I7UUFDeEIsd0dBQXdHO1FBQ3hHLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFD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O1lBQ0ksSUFBSSxFQUFFLFNBQVM7WUFDZixFQUFFLEVBQUUsRUFBRTtTQUNULEVBQ0QsU0FBUyxFQUNULFVBQXFDLENBQ3hDLENBQUM7UUFFRixPQUFPLElBQUksVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxzQkFBc0I7UUFDeEIsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQzdDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLEVBQ3JDLElBQUksRUFDSixDQUFDLFdBQVcsQ0FBQyxDQUNDLENBQUM7UUFDbkIsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0RSxPQUFPLElBQUksVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFB1YmxpY0tleSB9IGZyb20gXCJAc29sYW5hL3dlYjMuanNcIjtcbi8vIGltcG9ydCB7IHgyNTUxOSB9IGZyb20gXCJAbm9ibGUvY3VydmVzL2VkMjU1MTlcIjsgXG5cbmV4cG9ydCBjbGFzcyBFbmNyeXB0aW9uUHJvdmlkZXIge1xuICAgIHByaXZhdGUga2V5UGFpcjogQ3J5cHRvS2V5UGFpciB8IG51bGwgPSBudWxsO1xuICAgIFxuICAgIC8vIENoZWNrIGZvciBjcnlwdG8gYXZhaWxhYmlsaXR5XG4gICAgcHJpdmF0ZSBnZXQgY3J5cHRvKCk6IENyeXB0byB7XG4gICAgICAgIGlmICh0eXBlb2YgZ2xvYmFsVGhpcy5jcnlwdG8gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICByZXR1cm4gZ2xvYmFsVGhpcy5jcnlwdG87XG4gICAgICAgIH1cbiAgICAgICAgLy8gRmFsbGJhY2sgZm9yIE5vZGUgPCAxOSBpZiBnbG9iYWwgY3J5cHRvIG5vdCBzZXQgKHRob3VnaCBTREsgbGlrZWx5IHRhcmdldHMgbW9kZXJuIGVudnMpXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gcmVxdWlyZSgnY3J5cHRvJykud2ViY3J5cHRvO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJXZWJDcnlwdG8gQVBJIG5vdCBhdmFpbGFibGUuXCIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2VuZXJhdGUgYSBmcmVzaCBlcGhlbWVyYWwga2V5cGFpciBmb3IgdGhlIHNlc3Npb24gKFgyNTUxOS9QLTI1NikuXG4gICAgICovXG4gICAgYXN5bmMgZ2VuZXJhdGVTZXNzaW9uS2V5KCk6IFByb21pc2U8Q3J5cHRvS2V5PiB7XG4gICAgICAgIHRoaXMua2V5UGFpciA9IGF3YWl0IHRoaXMuY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleShcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcIkVDREhcIixcbiAgICAgICAgICAgICAgICBuYW1lZEN1cnZlOiBcIlAtMjU2XCIsIFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRydWUsXG4gICAgICAgICAgICBbXCJkZXJpdmVLZXlcIiwgXCJkZXJpdmVCaXRzXCJdXG4gICAgICAgICkgYXMgQ3J5cHRvS2V5UGFpcjtcbiAgICAgICAgXG4gICAgICAgIHJldHVybiB0aGlzLmtleVBhaXIucHVibGljS2V5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlcml2ZSBzaGFyZWQgc2VjcmV0IGFuZCBlbmNyeXB0IHBheWxvYWQuXG4gICAgICovXG4gICAgYXN5bmMgZW5jcnlwdFBheWxvYWQoXG4gICAgICAgIGRhdGE6IFVpbnQ4QXJyYXksIFxuICAgICAgICB0ZWVQdWJsaWNLZXlCeXRlczogVWludDhBcnJheVxuICAgICk6IFByb21pc2U8eyBlbmNyeXB0ZWQ6IFVpbnQ4QXJyYXksIGNsaWVudFB1YmxpY0tleTogVWludDhBcnJheSB9PiB7XG4gICAgICAgIGlmICghdGhpcy5rZXlQYWlyKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmdlbmVyYXRlU2Vzc2lvbktleSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSW1wb3J0IFRFRSBQdWJsaWMgS2V5XG4gICAgICAgIC8vIEZpeDogRXhwbGljaXRseSBjYXN0IHRvIEJ1ZmZlclNvdXJjZS9hbnkgYmVjYXVzZSBUUyBnZXRzIGNvbmZ1c2VkIHdpdGggU2hhcmVkQXJyYXlCdWZmZXIgaW4gc29tZSBlbnZzXG4gICAgICAgIGNvbnN0IHRlZUtleSA9IGF3YWl0IHRoaXMuY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoXG4gICAgICAgICAgICBcInJhd1wiLFxuICAgICAgICAgICAgdGVlUHVibGljS2V5Qnl0ZXMgYXMgdW5rbm93biBhcyBCdWZmZXJTb3VyY2UsXG4gICAgICAgICAgICB7IG5hbWU6IFwiRUNESFwiLCBuYW1lZEN1cnZlOiBcIlAtMjU2XCIgfSwgXG4gICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgIFtdXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gRGVyaXZlIFNoYXJlZCBTZWNyZXQgKEFFUy1HQ00gS2V5KVxuICAgICAgICBjb25zdCBzaGFyZWRLZXkgPSBhd2FpdCB0aGlzLmNyeXB0by5zdWJ0bGUuZGVyaXZlS2V5KFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6IFwiRUNESFwiLFxuICAgICAgICAgICAgICAgIHB1YmxpYzogdGVlS2V5LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRoaXMua2V5UGFpciEucHJpdmF0ZUtleSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcIkFFUy1HQ01cIixcbiAgICAgICAgICAgICAgICBsZW5ndGg6IDI1NixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgIFtcImVuY3J5cHRcIiwgXCJkZWNyeXB0XCJdXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gRW5jcnlwdCBEYXRhXG4gICAgICAgIGNvbnN0IGl2ID0gdGhpcy5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKG5ldyBVaW50OEFycmF5KDEyKSk7XG4gICAgICAgIGNvbnN0IGVuY3J5cHRlZEJ1ZmZlciA9IGF3YWl0IHRoaXMuY3J5cHRvLnN1YnRsZS5lbmNyeXB0KFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6IFwiQUVTLUdDTVwiLFxuICAgICAgICAgICAgICAgIGl2OiBpdixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzaGFyZWRLZXksXG4gICAgICAgICAgICBkYXRhIGFzIHVua25vd24gYXMgQnVmZmVyU291cmNlXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gQ29uY2F0ZW5hdGUgSVYgKyBDaXBoZXJUZXh0XG4gICAgICAgIGNvbnN0IGVuY3J5cHRlZCA9IG5ldyBVaW50OEFycmF5KGl2Lmxlbmd0aCArIGVuY3J5cHRlZEJ1ZmZlci5ieXRlTGVuZ3RoKTtcbiAgICAgICAgZW5jcnlwdGVkLnNldChpdik7XG4gICAgICAgIGVuY3J5cHRlZC5zZXQobmV3IFVpbnQ4QXJyYXkoZW5jcnlwdGVkQnVmZmVyKSwgaXYubGVuZ3RoKTtcblxuICAgICAgICAvLyBFeHBvcnQgQ2xpZW50IFB1YmxpYyBLZXlcbiAgICAgICAgY29uc3QgY2xpZW50UHViUmF3ID0gYXdhaXQgdGhpcy5jcnlwdG8uc3VidGxlLmV4cG9ydEtleShcInJhd1wiLCB0aGlzLmtleVBhaXIhLnB1YmxpY0tleSk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGVuY3J5cHRlZCxcbiAgICAgICAgICAgIGNsaWVudFB1YmxpY0tleTogbmV3IFVpbnQ4QXJyYXkoY2xpZW50UHViUmF3KVxuICAgICAgICB9O1xuICAgIH1cbiAgICBcbiAgICAvKipcbiAgICAgKiBEZWNyeXB0IGEgcmVzcG9uc2UgZnJvbSB0aGUgVEVFLlxuICAgICAqL1xuICAgIGFzeW5jIGRlY3J5cHRSZXNwb25zZShcbiAgICAgICAgZW5jcnlwdGVkRGF0YTogVWludDhBcnJheSwgXG4gICAgICAgIHRlZVB1YmxpY0tleUJ5dGVzOiBVaW50OEFycmF5XG4gICAgKTogUHJvbWlzZTxVaW50OEFycmF5PiB7XG4gICAgICAgICAgaWYgKCF0aGlzLmtleVBhaXIpIHRocm93IG5ldyBFcnJvcihcIk5vIHNlc3Npb24ga2V5XCIpO1xuICAgICAgICAgIFxuICAgICAgICAgICAvLyBJbXBvcnQgVEVFIFB1YmxpYyBLZXlcbiAgICAgICAgY29uc3QgdGVlS2V5ID0gYXdhaXQgdGhpcy5jcnlwdG8uc3VidGxlLmltcG9ydEtleShcbiAgICAgICAgICAgIFwicmF3XCIsXG4gICAgICAgICAgICB0ZWVQdWJsaWNLZXlCeXRlcyBhcyB1bmtub3duIGFzIEJ1ZmZlclNvdXJjZSxcbiAgICAgICAgICAgIHsgbmFtZTogXCJFQ0RIXCIsIG5hbWVkQ3VydmU6IFwiUC0yNTZcIiB9LCBcbiAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgW11cbiAgICAgICAgKTtcblxuICAgICAgICAvLyBEZXJpdmUgU2hhcmVkIFNlY3JldFxuICAgICAgICBjb25zdCBzaGFyZWRLZXkgPSBhd2FpdCB0aGlzLmNyeXB0by5zdWJ0bGUuZGVyaXZlS2V5KFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6IFwiRUNESFwiLFxuICAgICAgICAgICAgICAgIHB1YmxpYzogdGVlS2V5LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRoaXMua2V5UGFpciEucHJpdmF0ZUtleSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcIkFFUy1HQ01cIixcbiAgICAgICAgICAgICAgICBsZW5ndGg6IDI1NixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgIFtcImVuY3J5cHRcIiwgXCJkZWNyeXB0XCJdXG4gICAgICAgICk7XG4gICAgICAgIFxuICAgICAgICBjb25zdCBpdiA9IGVuY3J5cHRlZERhdGEuc2xpY2UoMCwgMTIpO1xuICAgICAgICBjb25zdCBjaXBoZXJ0ZXh0ID0gZW5jcnlwdGVkRGF0YS5zbGljZSgxMik7XG4gICAgICAgIFxuICAgICAgICBjb25zdCBkZWNyeXB0ZWQgPSBhd2FpdCB0aGlzLmNyeXB0by5zdWJ0bGUuZGVjcnlwdChcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcIkFFUy1HQ01cIixcbiAgICAgICAgICAgICAgICBpdjogaXYsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc2hhcmVkS2V5LFxuICAgICAgICAgICAgY2lwaGVydGV4dCBhcyB1bmtub3duIGFzIEJ1ZmZlclNvdXJjZVxuICAgICAgICApO1xuICAgICAgICBcbiAgICAgICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KGRlY3J5cHRlZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGVscGVyIHRvIGdlbmVyYXRlIGEgdmFsaWQgcmFuZG9tIFAtMjU2IFB1YmxpYyBLZXkgKDY1IGJ5dGVzKSBmb3IgdGVzdGluZy5cbiAgICAgKi9cbiAgICBhc3luYyBjcmVhdGVNb2NrVmFsaWRhdG9yS2V5KCk6IFByb21pc2U8VWludDhBcnJheT4ge1xuICAgICAgICBjb25zdCBwYWlyID0gYXdhaXQgdGhpcy5jcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KFxuICAgICAgICAgICAgeyBuYW1lOiBcIkVDREhcIiwgbmFtZWRDdXJ2ZTogXCJQLTI1NlwiIH0sXG4gICAgICAgICAgICB0cnVlLCBcbiAgICAgICAgICAgIFtcImRlcml2ZUtleVwiXVxuICAgICAgICApIGFzIENyeXB0b0tleVBhaXI7XG4gICAgICAgIGNvbnN0IHJhdyA9IGF3YWl0IHRoaXMuY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoXCJyYXdcIiwgcGFpci5wdWJsaWNLZXkpO1xuICAgICAgICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkocmF3KTtcbiAgICB9XG59XG4iXX0=
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9tYXRjaG1ha2luZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pZGwvcHJpdmF0ZV9tYXRjaG1ha2luZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBQcm9ncmFtIElETCBpbiBjYW1lbENhc2UgZm9ybWF0IGluIG9yZGVyIHRvIGJlIHVzZWQgaW4gSlMvVFMuXG4gKlxuICogTm90ZSB0aGF0IHRoaXMgaXMgb25seSBhIHR5cGUgaGVscGVyIGFuZCBpcyBub3QgdGhlIGFjdHVhbCBJREwuIFRoZSBvcmlnaW5hbFxuICogSURMIGNhbiBiZSBmb3VuZCBhdCBgdGFyZ2V0L2lkbC9wcml2YXRlX21hdGNobWFraW5nLmpzb25gLlxuICovXG5leHBvcnQgdHlwZSBQcml2YXRlTWF0Y2htYWtpbmcgPSB7XG4gIFwiYWRkcmVzc1wiOiBcIkRZRGUyVkNyRmp6eHk5enVvdkdldW02N2tZeWJyNjVHNlpieHQ5Z1BKUDFmXCIsXG4gIFwibWV0YWRhdGFcIjoge1xuICAgIFwibmFtZVwiOiBcInByaXZhdGVNYXRjaG1ha2luZ1wiLFxuICAgIFwidmVyc2lvblwiOiBcIjAuMS4wXCIsXG4gICAgXCJzcGVjXCI6IFwiMC4xLjBcIixcbiAgICBcImRlc2NyaXB0aW9uXCI6IFwiQ3JlYXRlZCB3aXRoIEFuY2hvclwiXG4gIH0sXG4gIFwiaW5zdHJ1Y3Rpb25zXCI6IFtcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJjbG9zZVBhZ2VcIixcbiAgICAgIFwiZGlzY3JpbWluYXRvclwiOiBbXG4gICAgICAgIDIwNSxcbiAgICAgICAgMTQxLFxuICAgICAgICAyNSxcbiAgICAgICAgMTc5LFxuICAgICAgICAzMSxcbiAgICAgICAgMSxcbiAgICAgICAgMTAzLFxuICAgICAgICA0M1xuICAgICAgXSxcbiAgICAgIFwiYWNjb3VudHNcIjogW1xuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwicXVldWVcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInBhZ2VcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWUsXG4gICAgICAgICAgXCJwZGFcIjoge1xuICAgICAgICAgICAgXCJzZWVkc1wiOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJjb25zdFwiLFxuICAgICAgICAgICAgICAgIFwidmFsdWVcIjogW1xuICAgICAgICAgICAgICAgICAgMTEyLFxuICAgICAgICAgICAgICAgICAgOTcsXG4gICAgICAgICAgICAgICAgICAxMDMsXG4gICAgICAgICAgICAgICAgICAxMDFcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJhY2NvdW50XCIsXG4gICAgICAgICAgICAgICAgXCJwYXRoXCI6IFwicXVldWVcIlxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiYXJnXCIsXG4gICAgICAgICAgICAgICAgXCJwYXRoXCI6IFwicGFnZUluZGV4XCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcImF1dGhvcml0eVwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZSxcbiAgICAgICAgICBcInNpZ25lclwiOiB0cnVlXG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgICBcImFyZ3NcIjogW1xuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwicGFnZUluZGV4XCIsXG4gICAgICAgICAgXCJ0eXBlXCI6IFwidTY0XCJcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgXCJuYW1lXCI6IFwiY2xvc2VRdWV1ZVwiLFxuICAgICAgXCJkaXNjcmltaW5hdG9yXCI6IFtcbiAgICAgICAgMTk5LFxuICAgICAgICAyMCxcbiAgICAgICAgOTksXG4gICAgICAgIDIwNSxcbiAgICAgICAgODIsXG4gICAgICAgIDQwLFxuICAgICAgICAxMzQsXG4gICAgICAgIDEwOVxuICAgICAgXSxcbiAgICAgIFwiYWNjb3VudHNcIjogW1xuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwicXVldWVcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWUsXG4gICAgICAgICAgXCJwZGFcIjoge1xuICAgICAgICAgICAgXCJzZWVkc1wiOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJjb25zdFwiLFxuICAgICAgICAgICAgICAgIFwidmFsdWVcIjogW1xuICAgICAgICAgICAgICAgICAgMTEzLFxuICAgICAgICAgICAgICAgICAgMTE3LFxuICAgICAgICAgICAgICAgICAgMTAxLFxuICAgICAgICAgICAgICAgICAgMTE3LFxuICAgICAgICAgICAgICAgICAgMTAxLFxuICAgICAgICAgICAgICAgICAgNDUsXG4gICAgICAgICAgICAgICAgICAxMDQsXG4gICAgICAgICAgICAgICAgICAxMDEsXG4gICAgICAgICAgICAgICAgICA5NyxcbiAgICAgICAgICAgICAgICAgIDEwMFxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFjY291bnRcIixcbiAgICAgICAgICAgICAgICBcInBhdGhcIjogXCJhdXRob3JpdHlcIlxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiYXJnXCIsXG4gICAgICAgICAgICAgICAgXCJwYXRoXCI6IFwicXVldWVJZFwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJhdXRob3JpdHlcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWUsXG4gICAgICAgICAgXCJzaWduZXJcIjogdHJ1ZVxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgXCJhcmdzXCI6IFtcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInF1ZXVlSWRcIixcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIlxuICAgICAgICB9XG4gICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJjcmVhdGVNb2NrUGxheWVyXCIsXG4gICAgICBcImRpc2NyaW1pbmF0b3JcIjogW1xuICAgICAgICAxNjgsXG4gICAgICAgIDIzLFxuICAgICAgICAyNTUsXG4gICAgICAgIDExMixcbiAgICAgICAgOTMsXG4gICAgICAgIDQyLFxuICAgICAgICA1OCxcbiAgICAgICAgMjIzXG4gICAgICBdLFxuICAgICAgXCJhY2NvdW50c1wiOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJwbGF5ZXJBY2NvdW50XCIsXG4gICAgICAgICAgXCJ3cml0YWJsZVwiOiB0cnVlLFxuICAgICAgICAgIFwic2lnbmVyXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcImF1dGhvcml0eVwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZSxcbiAgICAgICAgICBcInNpZ25lclwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJzeXN0ZW1Qcm9ncmFtXCIsXG4gICAgICAgICAgXCJhZGRyZXNzXCI6IFwiMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTFcIlxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgXCJhcmdzXCI6IFtcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcImVsb1wiLFxuICAgICAgICAgIFwidHlwZVwiOiBcInU2NFwiXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcImRlbGVnYXRlUXVldWVcIixcbiAgICAgIFwiZGlzY3JpbWluYXRvclwiOiBbXG4gICAgICAgIDMxLFxuICAgICAgICAyMDAsXG4gICAgICAgIDEzOSxcbiAgICAgICAgMTI1LFxuICAgICAgICA5MyxcbiAgICAgICAgMjM5LFxuICAgICAgICA4MyxcbiAgICAgICAgODdcbiAgICAgIF0sXG4gICAgICBcImFjY291bnRzXCI6IFtcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcImJ1ZmZlclBkYVwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZSxcbiAgICAgICAgICBcInBkYVwiOiB7XG4gICAgICAgICAgICBcInNlZWRzXCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImNvbnN0XCIsXG4gICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBbXG4gICAgICAgICAgICAgICAgICA5OCxcbiAgICAgICAgICAgICAgICAgIDExNyxcbiAgICAgICAgICAgICAgICAgIDEwMixcbiAgICAgICAgICAgICAgICAgIDEwMixcbiAgICAgICAgICAgICAgICAgIDEwMSxcbiAgICAgICAgICAgICAgICAgIDExNFxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFjY291bnRcIixcbiAgICAgICAgICAgICAgICBcInBhdGhcIjogXCJwZGFcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgXCJwcm9ncmFtXCI6IHtcbiAgICAgICAgICAgICAgXCJraW5kXCI6IFwiY29uc3RcIixcbiAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBbXG4gICAgICAgICAgICAgICAgMTg2LFxuICAgICAgICAgICAgICAgIDc1LFxuICAgICAgICAgICAgICAgIDEzNyxcbiAgICAgICAgICAgICAgICAyMTUsXG4gICAgICAgICAgICAgICAgMjQxLFxuICAgICAgICAgICAgICAgIDE5MSxcbiAgICAgICAgICAgICAgICA4MyxcbiAgICAgICAgICAgICAgICAxMjksXG4gICAgICAgICAgICAgICAgNTcsXG4gICAgICAgICAgICAgICAgMTI2LFxuICAgICAgICAgICAgICAgIDIzNixcbiAgICAgICAgICAgICAgICAxMzEsXG4gICAgICAgICAgICAgICAgMjQxLFxuICAgICAgICAgICAgICAgIDk4LFxuICAgICAgICAgICAgICAgIDExNixcbiAgICAgICAgICAgICAgICAzMixcbiAgICAgICAgICAgICAgICAyNTUsXG4gICAgICAgICAgICAgICAgOTQsXG4gICAgICAgICAgICAgICAgMjA3LFxuICAgICAgICAgICAgICAgIDE4OSxcbiAgICAgICAgICAgICAgICAxMjYsXG4gICAgICAgICAgICAgICAgMjQ0LFxuICAgICAgICAgICAgICAgIDQwLFxuICAgICAgICAgICAgICAgIDI1MixcbiAgICAgICAgICAgICAgICAxMTUsXG4gICAgICAgICAgICAgICAgNzEsXG4gICAgICAgICAgICAgICAgMzQsXG4gICAgICAgICAgICAgICAgMzMsXG4gICAgICAgICAgICAgICAgNTAsXG4gICAgICAgICAgICAgICAgMTg4LFxuICAgICAgICAgICAgICAgIDUzLFxuICAgICAgICAgICAgICAgIDM4XG4gICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJkZWxlZ2F0aW9uUmVjb3JkUGRhXCIsXG4gICAgICAgICAgXCJ3cml0YWJsZVwiOiB0cnVlLFxuICAgICAgICAgIFwicGRhXCI6IHtcbiAgICAgICAgICAgIFwic2VlZHNcIjogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiY29uc3RcIixcbiAgICAgICAgICAgICAgICBcInZhbHVlXCI6IFtcbiAgICAgICAgICAgICAgICAgIDEwMCxcbiAgICAgICAgICAgICAgICAgIDEwMSxcbiAgICAgICAgICAgICAgICAgIDEwOCxcbiAgICAgICAgICAgICAgICAgIDEwMSxcbiAgICAgICAgICAgICAgICAgIDEwMyxcbiAgICAgICAgICAgICAgICAgIDk3LFxuICAgICAgICAgICAgICAgICAgMTE2LFxuICAgICAgICAgICAgICAgICAgMTA1LFxuICAgICAgICAgICAgICAgICAgMTExLFxuICAgICAgICAgICAgICAgICAgMTEwXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiYWNjb3VudFwiLFxuICAgICAgICAgICAgICAgIFwicGF0aFwiOiBcInBkYVwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBcInByb2dyYW1cIjoge1xuICAgICAgICAgICAgICBcImtpbmRcIjogXCJhY2NvdW50XCIsXG4gICAgICAgICAgICAgIFwicGF0aFwiOiBcImRlbGVnYXRpb25Qcm9ncmFtXCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJkZWxlZ2F0aW9uTWV0YWRhdGFQZGFcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWUsXG4gICAgICAgICAgXCJwZGFcIjoge1xuICAgICAgICAgICAgXCJzZWVkc1wiOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJjb25zdFwiLFxuICAgICAgICAgICAgICAgIFwidmFsdWVcIjogW1xuICAgICAgICAgICAgICAgICAgMTAwLFxuICAgICAgICAgICAgICAgICAgMTAxLFxuICAgICAgICAgICAgICAgICAgMTA4LFxuICAgICAgICAgICAgICAgICAgMTAxLFxuICAgICAgICAgICAgICAgICAgMTAzLFxuICAgICAgICAgICAgICAgICAgOTcsXG4gICAgICAgICAgICAgICAgICAxMTYsXG4gICAgICAgICAgICAgICAgICAxMDUsXG4gICAgICAgICAgICAgICAgICAxMTEsXG4gICAgICAgICAgICAgICAgICAxMTAsXG4gICAgICAgICAgICAgICAgICA0NSxcbiAgICAgICAgICAgICAgICAgIDEwOSxcbiAgICAgICAgICAgICAgICAgIDEwMSxcbiAgICAgICAgICAgICAgICAgIDExNixcbiAgICAgICAgICAgICAgICAgIDk3LFxuICAgICAgICAgICAgICAgICAgMTAwLFxuICAgICAgICAgICAgICAgICAgOTcsXG4gICAgICAgICAgICAgICAgICAxMTYsXG4gICAgICAgICAgICAgICAgICA5N1xuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFjY291bnRcIixcbiAgICAgICAgICAgICAgICBcInBhdGhcIjogXCJwZGFcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgXCJwcm9ncmFtXCI6IHtcbiAgICAgICAgICAgICAgXCJraW5kXCI6IFwiYWNjb3VudFwiLFxuICAgICAgICAgICAgICBcInBhdGhcIjogXCJkZWxlZ2F0aW9uUHJvZ3JhbVwiXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwicGRhXCIsXG4gICAgICAgICAgXCJ3cml0YWJsZVwiOiB0cnVlLFxuICAgICAgICAgIFwicGRhXCI6IHtcbiAgICAgICAgICAgIFwic2VlZHNcIjogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiY29uc3RcIixcbiAgICAgICAgICAgICAgICBcInZhbHVlXCI6IFtcbiAgICAgICAgICAgICAgICAgIDExMyxcbiAgICAgICAgICAgICAgICAgIDExNyxcbiAgICAgICAgICAgICAgICAgIDEwMSxcbiAgICAgICAgICAgICAgICAgIDExNyxcbiAgICAgICAgICAgICAgICAgIDEwMSxcbiAgICAgICAgICAgICAgICAgIDQ1LFxuICAgICAgICAgICAgICAgICAgMTA0LFxuICAgICAgICAgICAgICAgICAgMTAxLFxuICAgICAgICAgICAgICAgICAgOTcsXG4gICAgICAgICAgICAgICAgICAxMDBcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJhY2NvdW50XCIsXG4gICAgICAgICAgICAgICAgXCJwYXRoXCI6IFwiYXV0aG9yaXR5XCJcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFyZ1wiLFxuICAgICAgICAgICAgICAgIFwicGF0aFwiOiBcInF1ZXVlSWRcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwiYXV0aG9yaXR5XCIsXG4gICAgICAgICAgXCJzaWduZXJcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwicGF5ZXJcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWUsXG4gICAgICAgICAgXCJzaWduZXJcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwidmFsaWRhdG9yXCIsXG4gICAgICAgICAgXCJvcHRpb25hbFwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJvd25lclByb2dyYW1cIixcbiAgICAgICAgICBcImFkZHJlc3NcIjogXCJEWURlMlZDckZqenh5OXp1b3ZHZXVtNjdrWXlicjY1RzZaYnh0OWdQSlAxZlwiXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJkZWxlZ2F0aW9uUHJvZ3JhbVwiLFxuICAgICAgICAgIFwiYWRkcmVzc1wiOiBcIkRFTGVHR3ZYcFdWMmZxSlVocWNGNVpTWU1TNEpUTGp0ZWFBTUFSUlNhZVNoXCJcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInN5c3RlbVByb2dyYW1cIixcbiAgICAgICAgICBcImFkZHJlc3NcIjogXCIxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMVwiXG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgICBcImFyZ3NcIjogW1xuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwicXVldWVJZFwiLFxuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcImluaXRpYWxpemVQYWdlXCIsXG4gICAgICBcImRpc2NyaW1pbmF0b3JcIjogW1xuICAgICAgICAyNixcbiAgICAgICAgMTI4LFxuICAgICAgICA4LFxuICAgICAgICAyMDEsXG4gICAgICAgIDE5NixcbiAgICAgICAgNTgsXG4gICAgICAgIDc0LFxuICAgICAgICA3NFxuICAgICAgXSxcbiAgICAgIFwiYWNjb3VudHNcIjogW1xuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwicXVldWVcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInBhZ2VcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWUsXG4gICAgICAgICAgXCJwZGFcIjoge1xuICAgICAgICAgICAgXCJzZWVkc1wiOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJjb25zdFwiLFxuICAgICAgICAgICAgICAgIFwidmFsdWVcIjogW1xuICAgICAgICAgICAgICAgICAgMTEyLFxuICAgICAgICAgICAgICAgICAgOTcsXG4gICAgICAgICAgICAgICAgICAxMDMsXG4gICAgICAgICAgICAgICAgICAxMDFcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJhY2NvdW50XCIsXG4gICAgICAgICAgICAgICAgXCJwYXRoXCI6IFwicXVldWVcIlxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiYXJnXCIsXG4gICAgICAgICAgICAgICAgXCJwYXRoXCI6IFwicGFnZUluZGV4XCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcImF1dGhvcml0eVwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZSxcbiAgICAgICAgICBcInNpZ25lclwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJzeXN0ZW1Qcm9ncmFtXCIsXG4gICAgICAgICAgXCJhZGRyZXNzXCI6IFwiMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTFcIlxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgXCJhcmdzXCI6IFtcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInBhZ2VJbmRleFwiLFxuICAgICAgICAgIFwidHlwZVwiOiBcInU2NFwiXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcImluaXRpYWxpemVRdWV1ZVwiLFxuICAgICAgXCJkaXNjcmltaW5hdG9yXCI6IFtcbiAgICAgICAgMTc0LFxuICAgICAgICAxMDIsXG4gICAgICAgIDEzMixcbiAgICAgICAgMjMyLFxuICAgICAgICA5MCxcbiAgICAgICAgMjAyLFxuICAgICAgICAyNyxcbiAgICAgICAgMjBcbiAgICAgIF0sXG4gICAgICBcImFjY291bnRzXCI6IFtcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInF1ZXVlXCIsXG4gICAgICAgICAgXCJ3cml0YWJsZVwiOiB0cnVlLFxuICAgICAgICAgIFwicGRhXCI6IHtcbiAgICAgICAgICAgIFwic2VlZHNcIjogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiY29uc3RcIixcbiAgICAgICAgICAgICAgICBcInZhbHVlXCI6IFtcbiAgICAgICAgICAgICAgICAgIDExMyxcbiAgICAgICAgICAgICAgICAgIDExNyxcbiAgICAgICAgICAgICAgICAgIDEwMSxcbiAgICAgICAgICAgICAgICAgIDExNyxcbiAgICAgICAgICAgICAgICAgIDEwMSxcbiAgICAgICAgICAgICAgICAgIDQ1LFxuICAgICAgICAgICAgICAgICAgMTA0LFxuICAgICAgICAgICAgICAgICAgMTAxLFxuICAgICAgICAgICAgICAgICAgOTcsXG4gICAgICAgICAgICAgICAgICAxMDBcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImtpbmRcIjogXCJhY2NvdW50XCIsXG4gICAgICAgICAgICAgICAgXCJwYXRoXCI6IFwiYXV0aG9yaXR5XCJcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFyZ1wiLFxuICAgICAgICAgICAgICAgIFwicGF0aFwiOiBcInF1ZXVlSWRcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwidGVuYW50UHJvZ3JhbUlkXCJcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcImF1dGhvcml0eVwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZSxcbiAgICAgICAgICBcInNpZ25lclwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJzeXN0ZW1Qcm9ncmFtXCIsXG4gICAgICAgICAgXCJhZGRyZXNzXCI6IFwiMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTFcIlxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgXCJhcmdzXCI6IFtcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInF1ZXVlSWRcIixcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIlxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwiY29uZmlnXCIsXG4gICAgICAgICAgXCJ0eXBlXCI6IHtcbiAgICAgICAgICAgIFwiZGVmaW5lZFwiOiB7XG4gICAgICAgICAgICAgIFwibmFtZVwiOiBcInF1ZXVlQ29uZmlnXCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJjYXBhY2l0eVwiLFxuICAgICAgICAgIFwidHlwZVwiOiBcInUxNlwiXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJwYWdlU2l6ZVwiLFxuICAgICAgICAgIFwidHlwZVwiOiBcInU4XCJcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgXCJuYW1lXCI6IFwiam9pblF1ZXVlXCIsXG4gICAgICBcImRpc2NyaW1pbmF0b3JcIjogW1xuICAgICAgICAxNTcsXG4gICAgICAgIDExNSxcbiAgICAgICAgNDgsXG4gICAgICAgIDEwOSxcbiAgICAgICAgNjUsXG4gICAgICAgIDg2LFxuICAgICAgICAyMDMsXG4gICAgICAgIDIzOFxuICAgICAgXSxcbiAgICAgIFwiYWNjb3VudHNcIjogW1xuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwicXVldWVcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInBhZ2VcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInBsYXllclN0YXR1c1wiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZSxcbiAgICAgICAgICBcInBkYVwiOiB7XG4gICAgICAgICAgICBcInNlZWRzXCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImNvbnN0XCIsXG4gICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBbXG4gICAgICAgICAgICAgICAgICAxMTUsXG4gICAgICAgICAgICAgICAgICAxMTYsXG4gICAgICAgICAgICAgICAgICA5NyxcbiAgICAgICAgICAgICAgICAgIDExNixcbiAgICAgICAgICAgICAgICAgIDExNyxcbiAgICAgICAgICAgICAgICAgIDExNVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFjY291bnRcIixcbiAgICAgICAgICAgICAgICBcInBhdGhcIjogXCJwbGF5ZXJHYW1lQWNjb3VudFwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJwbGF5ZXJBdXRob3JpdHlcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWUsXG4gICAgICAgICAgXCJzaWduZXJcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwicGxheWVyR2FtZUFjY291bnRcIixcbiAgICAgICAgICBcImRvY3NcIjogW1xuICAgICAgICAgICAgXCJUaGUgYWNjb3VudCBjb250YWluaW5nIEVMTyBkYXRhXCJcbiAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJ0ZW5hbnRQcm9ncmFtXCIsXG4gICAgICAgICAgXCJkb2NzXCI6IFtcbiAgICAgICAgICAgIFwiTVVTVCBtYXRjaCB0aGUgcXVldWUudGVuYW50X3Byb2dyYW1faWQuXCJcbiAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJzeXN0ZW1Qcm9ncmFtXCIsXG4gICAgICAgICAgXCJhZGRyZXNzXCI6IFwiMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTFcIlxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgXCJhcmdzXCI6IFtdXG4gICAgfSxcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJwcm9jZXNzTWF0Y2hcIixcbiAgICAgIFwiZGlzY3JpbWluYXRvclwiOiBbXG4gICAgICAgIDEzOSxcbiAgICAgICAgNTgsXG4gICAgICAgIDc3LFxuICAgICAgICAxMDEsXG4gICAgICAgIDQ2LFxuICAgICAgICA1NCxcbiAgICAgICAgMjAyLFxuICAgICAgICAxNDBcbiAgICAgIF0sXG4gICAgICBcImFjY291bnRzXCI6IFtcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInF1ZXVlQWNjb3VudFwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwicGFnZVwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZSxcbiAgICAgICAgICBcInBkYVwiOiB7XG4gICAgICAgICAgICBcInNlZWRzXCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImNvbnN0XCIsXG4gICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBbXG4gICAgICAgICAgICAgICAgICAxMTIsXG4gICAgICAgICAgICAgICAgICA5NyxcbiAgICAgICAgICAgICAgICAgIDEwMyxcbiAgICAgICAgICAgICAgICAgIDEwMVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwia2luZFwiOiBcImFjY291bnRcIixcbiAgICAgICAgICAgICAgICBcInBhdGhcIjogXCJxdWV1ZUFjY291bnRcIlxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiYXJnXCIsXG4gICAgICAgICAgICAgICAgXCJwYXRoXCI6IFwicGFnZUluZGV4XCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgXSxcbiAgICAgIFwiYXJnc1wiOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJwYWdlSW5kZXhcIixcbiAgICAgICAgICBcInR5cGVcIjogXCJ1NjRcIlxuICAgICAgICB9XG4gICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJwcm9jZXNzVW5kZWxlZ2F0aW9uXCIsXG4gICAgICBcImRpc2NyaW1pbmF0b3JcIjogW1xuICAgICAgICAxOTYsXG4gICAgICAgIDI4LFxuICAgICAgICA0MSxcbiAgICAgICAgMjA2LFxuICAgICAgICA0OCxcbiAgICAgICAgMzcsXG4gICAgICAgIDUxLFxuICAgICAgICAxNjdcbiAgICAgIF0sXG4gICAgICBcImFjY291bnRzXCI6IFtcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcImJhc2VBY2NvdW50XCIsXG4gICAgICAgICAgXCJ3cml0YWJsZVwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJidWZmZXJcIlxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwicGF5ZXJcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInN5c3RlbVByb2dyYW1cIlxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgXCJhcmdzXCI6IFtcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcImFjY291bnRTZWVkc1wiLFxuICAgICAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgICAgICBcInZlY1wiOiBcImJ5dGVzXCJcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcInJlc2l6ZVF1ZXVlXCIsXG4gICAgICBcImRpc2NyaW1pbmF0b3JcIjogW1xuICAgICAgICAxNDAsXG4gICAgICAgIDE0NSxcbiAgICAgICAgMjI2LFxuICAgICAgICAyMzYsXG4gICAgICAgIDcxLFxuICAgICAgICAxMDMsXG4gICAgICAgIDIzMCxcbiAgICAgICAgMTA1XG4gICAgICBdLFxuICAgICAgXCJhY2NvdW50c1wiOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJxdWV1ZVwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwiYXV0aG9yaXR5XCIsXG4gICAgICAgICAgXCJzaWduZXJcIjogdHJ1ZSxcbiAgICAgICAgICBcInJlbGF0aW9uc1wiOiBbXG4gICAgICAgICAgICBcInF1ZXVlXCJcbiAgICAgICAgICBdXG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgICBcImFyZ3NcIjogW1xuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwibmV3Q2FwYWNpdHlcIixcbiAgICAgICAgICBcInR5cGVcIjogXCJ1MTZcIlxuICAgICAgICB9XG4gICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJ1bmxvY2tQbGF5ZXJcIixcbiAgICAgIFwiZGlzY3JpbWluYXRvclwiOiBbXG4gICAgICAgIDIyNixcbiAgICAgICAgNDEsXG4gICAgICAgIDc2LFxuICAgICAgICAxNyxcbiAgICAgICAgMjUzLFxuICAgICAgICA5LFxuICAgICAgICA4MixcbiAgICAgICAgMTg4XG4gICAgICBdLFxuICAgICAgXCJhY2NvdW50c1wiOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJxdWV1ZVwiXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJhdXRob3JpdHlcIixcbiAgICAgICAgICBcIndyaXRhYmxlXCI6IHRydWUsXG4gICAgICAgICAgXCJzaWduZXJcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwicGxheWVyU3RhdHVzXCIsXG4gICAgICAgICAgXCJ3cml0YWJsZVwiOiB0cnVlLFxuICAgICAgICAgIFwicGRhXCI6IHtcbiAgICAgICAgICAgIFwic2VlZHNcIjogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiY29uc3RcIixcbiAgICAgICAgICAgICAgICBcInZhbHVlXCI6IFtcbiAgICAgICAgICAgICAgICAgIDExNSxcbiAgICAgICAgICAgICAgICAgIDExNixcbiAgICAgICAgICAgICAgICAgIDk3LFxuICAgICAgICAgICAgICAgICAgMTE2LFxuICAgICAgICAgICAgICAgICAgMTE3LFxuICAgICAgICAgICAgICAgICAgMTE1XG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJraW5kXCI6IFwiYWNjb3VudFwiLFxuICAgICAgICAgICAgICAgIFwicGF0aFwiOiBcInBsYXllckdhbWVBY2NvdW50XCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibmFtZVwiOiBcInBsYXllclwiLFxuICAgICAgICAgIFwid3JpdGFibGVcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJuYW1lXCI6IFwicGxheWVyR2FtZUFjY291bnRcIlxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgXCJhcmdzXCI6IFtdXG4gICAgfVxuICBdLFxuICBcImFjY291bnRzXCI6IFtcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJtb2NrUGxheWVyXCIsXG4gICAgICBcImRpc2NyaW1pbmF0b3JcIjogW1xuICAgICAgICAxMjgsXG4gICAgICAgIDIwNSxcbiAgICAgICAgMTksXG4gICAgICAgIDIxNyxcbiAgICAgICAgMjM4LFxuICAgICAgICAxNTAsXG4gICAgICAgIDE4LFxuICAgICAgICAyNTVcbiAgICAgIF1cbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcInBsYXllclN0YXR1c1wiLFxuICAgICAgXCJkaXNjcmltaW5hdG9yXCI6IFtcbiAgICAgICAgMjgsXG4gICAgICAgIDEyMixcbiAgICAgICAgMTI1LFxuICAgICAgICAxMjQsXG4gICAgICAgIDE2NyxcbiAgICAgICAgMTQzLFxuICAgICAgICAyMTYsXG4gICAgICAgIDE3NlxuICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgXCJuYW1lXCI6IFwicXVldWVIZWFkXCIsXG4gICAgICBcImRpc2NyaW1pbmF0b3JcIjogW1xuICAgICAgICAyNTIsXG4gICAgICAgIDI0NSxcbiAgICAgICAgOSxcbiAgICAgICAgMTQ5LFxuICAgICAgICAxOCxcbiAgICAgICAgMzUsXG4gICAgICAgIDIxMCxcbiAgICAgICAgMTQyXG4gICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJxdWV1ZVBhZ2VcIixcbiAgICAgIFwiZGlzY3JpbWluYXRvclwiOiBbXG4gICAgICAgIDQ0LFxuICAgICAgICA5LFxuICAgICAgICAyNTQsXG4gICAgICAgIDEwOCxcbiAgICAgICAgMTIxLFxuICAgICAgICAyMjUsXG4gICAgICAgIDgwLFxuICAgICAgICA2OVxuICAgICAgXVxuICAgIH1cbiAgXSxcbiAgXCJldmVudHNcIjogW1xuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcIm1hdGNoRm91bmRcIixcbiAgICAgIFwiZGlzY3JpbWluYXRvclwiOiBbXG4gICAgICAgIDczLFxuICAgICAgICAxNjEsXG4gICAgICAgIDcwLFxuICAgICAgICAxNDUsXG4gICAgICAgIDIzMixcbiAgICAgICAgMjQ5LFxuICAgICAgICA3MixcbiAgICAgICAgMjExXG4gICAgICBdXG4gICAgfVxuICBdLFxuICBcImVycm9yc1wiOiBbXG4gICAge1xuICAgICAgXCJjb2RlXCI6IDYwMDAsXG4gICAgICBcIm5hbWVcIjogXCJpbnZhbGlkQWNjb3VudE93bmVyXCIsXG4gICAgICBcIm1zZ1wiOiBcIkFjY291bnQgb3duZXIgaXMgaW52YWxpZFwiXG4gICAgfSxcbiAgICB7XG4gICAgICBcImNvZGVcIjogNjAwMSxcbiAgICAgIFwibmFtZVwiOiBcInF1ZXVlRnVsbFwiLFxuICAgICAgXCJtc2dcIjogXCJRdWV1ZSBpcyBmdWxsXCJcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiY29kZVwiOiA2MDAyLFxuICAgICAgXCJuYW1lXCI6IFwiYWNjb3VudFRvb1NtYWxsXCIsXG4gICAgICBcIm1zZ1wiOiBcIkFjY291bnQgZGF0YSB0b28gc21hbGwgZm9yIEVMTyBvZmZzZXRcIlxuICAgIH0sXG4gICAge1xuICAgICAgXCJjb2RlXCI6IDYwMDMsXG4gICAgICBcIm5hbWVcIjogXCJpbnZhbGlkRWxvVHlwZVwiLFxuICAgICAgXCJtc2dcIjogXCJJbnZhbGlkIEVMTyB0eXBlIGNvbmZpZ3VyYXRpb25cIlxuICAgIH0sXG4gICAge1xuICAgICAgXCJjb2RlXCI6IDYwMDQsXG4gICAgICBcIm5hbWVcIjogXCJpbmRleE91dE9mQm91bmRzXCIsXG4gICAgICBcIm1zZ1wiOiBcIlBhZ2UgaW5kZXggb3V0IG9mIGJvdW5kc1wiXG4gICAgfVxuICBdLFxuICBcInR5cGVzXCI6IFtcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJtYXRjaEZvdW5kXCIsXG4gICAgICBcInR5cGVcIjoge1xuICAgICAgICBcImtpbmRcIjogXCJzdHJ1Y3RcIixcbiAgICAgICAgXCJmaWVsZHNcIjogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcInF1ZXVlXCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJwdWJrZXlcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwicGxheWVyQVwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwicHVia2V5XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcInBsYXllckJcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInB1YmtleVwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJlbG9BXCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJ1NjRcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwiZWxvQlwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwidTY0XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcInRpbWVzdGFtcFwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwiaTY0XCJcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcIm1vY2tQbGF5ZXJcIixcbiAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgIFwia2luZFwiOiBcInN0cnVjdFwiLFxuICAgICAgICBcImZpZWxkc1wiOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwiZWxvXCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJ1NjRcIlxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgXCJuYW1lXCI6IFwicGxheWVyRW50cnlcIixcbiAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgIFwia2luZFwiOiBcInN0cnVjdFwiLFxuICAgICAgICBcImZpZWxkc1wiOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwiYXV0aG9yaXR5XCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJwdWJrZXlcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwiYWNjb3VudFwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwicHVia2V5XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcImVsb1wiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwidTY0XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcImpvaW5lZEF0XCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJpNjRcIlxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgXCJuYW1lXCI6IFwicGxheWVyU3RhdHVzXCIsXG4gICAgICBcInR5cGVcIjoge1xuICAgICAgICBcImtpbmRcIjogXCJzdHJ1Y3RcIixcbiAgICAgICAgXCJmaWVsZHNcIjogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcInBsYXllclwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwicHVia2V5XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcInF1ZXVlXCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJwdWJrZXlcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwiaW5NYXRjaFwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwiYm9vbFwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJqb2luZWRBdFwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwiaTY0XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcImJ1bXBcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInU4XCJcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIFwibmFtZVwiOiBcInF1ZXVlQ29uZmlnXCIsXG4gICAgICBcInR5cGVcIjoge1xuICAgICAgICBcImtpbmRcIjogXCJzdHJ1Y3RcIixcbiAgICAgICAgXCJmaWVsZHNcIjogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcIm1hdGNoVGhyZXNob2xkXCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJ1MzJcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwic2VhcmNoV2luZG93XCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJ1MzJcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwicmVzZXJ2ZWRcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgICAgICAgIFwiYXJyYXlcIjogW1xuICAgICAgICAgICAgICAgIFwidThcIixcbiAgICAgICAgICAgICAgICA2NFxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBcIm5hbWVcIjogXCJxdWV1ZUhlYWRcIixcbiAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgIFwia2luZFwiOiBcInN0cnVjdFwiLFxuICAgICAgICBcImZpZWxkc1wiOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwiYXV0aG9yaXR5XCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJwdWJrZXlcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwidGVuYW50UHJvZ3JhbUlkXCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJwdWJrZXlcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwiY29uZmlnXCIsXG4gICAgICAgICAgICBcInR5cGVcIjoge1xuICAgICAgICAgICAgICBcImRlZmluZWRcIjoge1xuICAgICAgICAgICAgICAgIFwibmFtZVwiOiBcInF1ZXVlQ29uZmlnXCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwiY2FwYWNpdHlcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInUxNlwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJwYWdlU2l6ZVwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwidThcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwid3JpdGVQYWdlSW5kZXhcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInU2NFwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIm5hbWVcIjogXCJyZWFkUGFnZUluZGV4XCIsXG4gICAgICAgICAgICBcInR5cGVcIjogXCJ1NjRcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJuYW1lXCI6IFwiYnVtcFwiLFxuICAgICAgICAgICAgXCJ0eXBlXCI6IFwidThcIlxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgXCJuYW1lXCI6IFwicXVldWVQYWdlXCIsXG4gICAgICBcInR5cGVcIjoge1xuICAgICAgICBcImtpbmRcIjogXCJzdHJ1Y3RcIixcbiAgICAgICAgXCJmaWVsZHNcIjogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibmFtZVwiOiBcInBsYXllcnNcIixcbiAgICAgICAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgICAgICAgIFwidmVjXCI6IHtcbiAgICAgICAgICAgICAgICBcImRlZmluZWRcIjoge1xuICAgICAgICAgICAgICAgICAgXCJuYW1lXCI6IFwicGxheWVyRW50cnlcIlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfVxuICAgIH1cbiAgXVxufTtcbiJdfQ==
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
- export * from "./admin";
2
- export * from "./player";
3
- export * from "./types";
1
+ export * from "./admin.js";
2
+ export * from "./player.js";
3
+ export * from "./types.js";
4
+ export * as utils from "./utils.js";
package/dist/index.js CHANGED
@@ -1,20 +1,5 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./admin"), exports);
18
- __exportStar(require("./player"), exports);
19
- __exportStar(require("./types"), exports);
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDBDQUF3QjtBQUN4QiwyQ0FBeUI7QUFDekIsMENBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vYWRtaW5cIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BsYXllclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHlwZXNcIjtcbiJdfQ==
1
+ export * from "./admin.js";
2
+ export * from "./player.js";
3
+ export * from "./types.js";
4
+ export * as utils from "./utils.js";
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxZQUFZLENBQUM7QUFDM0IsT0FBTyxLQUFLLEtBQUssTUFBTSxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9hZG1pbi5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGxheWVyLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90eXBlcy5qc1wiO1xuZXhwb3J0ICogYXMgdXRpbHMgZnJvbSBcIi4vdXRpbHMuanNcIjtcbiJdfQ==
package/dist/player.d.ts CHANGED
@@ -1,12 +1,52 @@
1
- import { Program, AnchorProvider } from "@coral-xyz/anchor";
2
- import { PublicKey, TransactionSignature, ConfirmOptions, Keypair } from "@solana/web3.js";
3
- import { Duel } from "./types";
1
+ /// <reference types="bn.js" />
2
+ import * as anchor from "@coral-xyz/anchor";
3
+ import * as web3 from "@solana/web3.js";
4
+ import type { Duel } from "./types.js";
4
5
  export declare class MatchmakingPlayer {
5
- program: Program<Duel>;
6
- provider: AnchorProvider;
7
- constructor(provider: AnchorProvider, programId?: PublicKey);
6
+ program: anchor.Program<Duel>;
7
+ provider: anchor.AnchorProvider;
8
+ constructor(provider: anchor.AnchorProvider, programId: web3.PublicKey | string);
8
9
  /**
9
- * Join Queue (TEE Aware)
10
+ * Derive MatchTicket PDA
10
11
  */
11
- joinQueue(queue: PublicKey, tenant: PublicKey, playerData: PublicKey, confirmOptions?: ConfirmOptions, signers?: Keypair[]): Promise<TransactionSignature>;
12
+ getTicketPda(player: web3.PublicKey, tenant: web3.PublicKey): web3.PublicKey;
13
+ /**
14
+ * Fetch MatchTicket account data
15
+ */
16
+ getTicket(ticketPda: web3.PublicKey): Promise<any>;
17
+ /**
18
+ * Create MatchTicket PDA on L1
19
+ */
20
+ createTicket(tenant: web3.PublicKey, confirmOptions?: web3.ConfirmOptions, signers?: web3.Keypair[]): Promise<web3.TransactionSignature>;
21
+ /**
22
+ * Delegate ticket into TEE (becomes invisible on L1)
23
+ */
24
+ delegateTicket(player: web3.PublicKey, tenant: web3.PublicKey, validator?: web3.PublicKey, confirmOptions?: web3.ConfirmOptions, signers?: web3.Keypair[]): Promise<web3.TransactionSignature>;
25
+ /**
26
+ * Join Queue (TEE Aware) - now requires ticket
27
+ */
28
+ joinQueue(queue: web3.PublicKey, tenant: web3.PublicKey, playerData: web3.PublicKey, confirmOptions?: web3.ConfirmOptions, signers?: web3.Keypair[]): Promise<web3.TransactionSignature>;
29
+ /**
30
+ * Cancel search, marks ticket as Cancelled (runs in TEE)
31
+ */
32
+ cancelTicket(tenant: web3.PublicKey, confirmOptions?: web3.ConfirmOptions, signers?: web3.Keypair[]): Promise<web3.TransactionSignature>;
33
+ /**
34
+ * Close ticket and reclaim rent (L1, after match consumed or cancelled)
35
+ */
36
+ closeTicket(tenant: web3.PublicKey, confirmOptions?: web3.ConfirmOptions, signers?: web3.Keypair[]): Promise<web3.TransactionSignature>;
37
+ /**
38
+ * Wait for match by subscribing to ticket PDA changes on L1.
39
+ * Returns match info when ticket status changes to Matched.
40
+ */
41
+ waitForMatch(ticketPda: web3.PublicKey, connection: web3.Connection, timeoutMs?: number): Promise<{
42
+ opponent: web3.PublicKey;
43
+ matchId: anchor.BN;
44
+ } | null>;
45
+ /**
46
+ * Poll L1 for ticket status (fallback for environments without websocket)
47
+ */
48
+ pollForMatch(ticketPda: web3.PublicKey, connection: web3.Connection, maxAttempts?: number, pollInterval?: number, signal?: AbortSignal): Promise<{
49
+ opponent: web3.PublicKey;
50
+ matchId: anchor.BN;
51
+ } | null>;
12
52
  }