valtech-components 4.0.508 → 4.0.509

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.
@@ -1,6 +1,6 @@
1
1
  export const CHRISTIANITY_BATTLE_SLOTS = 4;
2
2
  export function readyOfferings(player) {
3
- return player.offerings.reduce((total, offering) => total + (offering.ready ? offering.value : 0), 0);
3
+ return player.offerings.reduce((total, offering) => total + (offering.ready ? offering.value : 0), player.temporaryOfferingReserve ?? 0);
4
4
  }
5
5
  export function totalOfferings(player) {
6
6
  return player.offerings.reduce((total, offering) => total + offering.value, 0);
@@ -93,17 +93,19 @@ export function canUseOfferingAbility(game, seat, offeringInstanceId) {
93
93
  }
94
94
  export function resolveOfferingAbility(game, seat, offeringInstanceId) {
95
95
  if (!canUseOfferingAbility(game, seat, offeringInstanceId)) {
96
- return { game, resolved: false, leaderDamage: 0, spentOfferings: 0, log: [] };
96
+ return { game, resolved: false, leaderDamage: 0, reserveGain: 0, spentOfferings: 0, log: [] };
97
97
  }
98
98
  const next = structuredClone(game);
99
99
  const player = next.players[seat];
100
100
  const liveOffering = player.offerings.find(card => card.instanceId === offeringInstanceId);
101
101
  if (!liveOffering)
102
- return { game, resolved: false, leaderDamage: 0, spentOfferings: 0, log: [] };
102
+ return { game, resolved: false, leaderDamage: 0, reserveGain: 0, spentOfferings: 0, log: [] };
103
103
  const spentOfferings = liveOffering.abilityCost ?? 0;
104
104
  if (spentOfferings > 0) {
105
105
  spendOfferings(player, spentOfferings);
106
106
  }
107
+ const reserveGain = offeringAbilityReserveGain(liveOffering.abilityText, liveOffering.value);
108
+ player.temporaryOfferingReserve = (player.temporaryOfferingReserve ?? 0) + reserveGain;
107
109
  player.offerings = player.offerings.map(card => (card.instanceId === offeringInstanceId
108
110
  ? { ...card, abilityUsedThisTurn: true }
109
111
  : card));
@@ -111,7 +113,7 @@ export function resolveOfferingAbility(game, seat, offeringInstanceId) {
111
113
  next.revision++;
112
114
  const log = [`${liveOffering.name}: ${liveOffering.abilityName}.`];
113
115
  next.log = [...log, ...next.log].slice(0, 4);
114
- return { game: next, resolved: true, leaderDamage: 1, spentOfferings, log };
116
+ return { game: next, resolved: true, leaderDamage: 1, reserveGain, spentOfferings, log };
115
117
  }
116
118
  function playCardLog(card, displayName) {
117
119
  if (card.type === 'offering')
@@ -160,6 +162,7 @@ export function resolveAttackCharacter(game, attackerSeat, attackerInstanceId, t
160
162
  return { game: next, attacked: true, attackerDamage: target.attack, targetDamage: attacker.attack, log };
161
163
  }
162
164
  export function advanceTurn(game, messages) {
165
+ game.players[game.turnOwner].temporaryOfferingReserve = 0;
163
166
  game.turnOwner = opponentSeat(game.turnOwner);
164
167
  game.turnCount++;
165
168
  const current = game.players[game.turnOwner];
@@ -197,6 +200,12 @@ export function cleanupDestroyed(player, game) {
197
200
  }
198
201
  export function spendOfferings(player, cost) {
199
202
  let remaining = cost;
203
+ const temporaryReserve = player.temporaryOfferingReserve ?? 0;
204
+ if (temporaryReserve > 0) {
205
+ const spentTemporaryReserve = Math.min(temporaryReserve, remaining);
206
+ player.temporaryOfferingReserve = temporaryReserve - spentTemporaryReserve;
207
+ remaining -= spentTemporaryReserve;
208
+ }
200
209
  player.offerings = player.offerings.map(offering => {
201
210
  if (remaining <= 0 || !offering.ready)
202
211
  return offering;
@@ -204,7 +213,12 @@ export function spendOfferings(player, cost) {
204
213
  return { ...offering, ready: false };
205
214
  });
206
215
  }
216
+ function offeringAbilityReserveGain(abilityText, fallbackValue) {
217
+ const match = abilityText?.match(/valor de (\d+) ofrendas?/i);
218
+ const parsed = match ? Number(match[1]) : Number.NaN;
219
+ return Number.isFinite(parsed) && parsed > 0 ? parsed : Math.max(1, fallbackValue);
220
+ }
207
221
  export function opponentSeat(seat) {
208
222
  return seat === 'P1' ? 'P2' : 'P1';
209
223
  }
210
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hyaXN0aWFuaXR5LXJ1bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9taW5pLWdhbWVzL2NocmlzdGlhbml0eS1ydWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLENBQUM7QUFxQzNDLE1BQU0sVUFBVSxjQUFjLENBQUMsTUFBK0I7SUFDNUQsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLEtBQUssR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3hHLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLE1BQStCO0lBQzVELE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNqRixDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FDekIsSUFBMkIsRUFDM0IsSUFBc0IsRUFDdEIsSUFBZ0M7SUFFaEMsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLGFBQWEsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUk7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUMzRSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxVQUFVO1FBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQztJQUNwRSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDOUIsT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLHlCQUF5QixDQUFDO0lBQzVHLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssT0FBTztRQUFFLE9BQU8sSUFBSSxDQUFDO0lBQ3ZDLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FDOUIsSUFBMkIsRUFDM0IsSUFBc0IsRUFDdEIsSUFBZ0MsRUFDaEMsVUFBd0QsRUFBRTtJQUUxRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxFQUFFLGNBQWMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ3JGLENBQUM7SUFFRCxNQUFNLElBQUksR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdEQsSUFBSSxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2xDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxDQUFDLEVBQUUsY0FBYyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDckYsQ0FBQztJQUVELE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQztJQUNyRCxJQUFJLG1CQUFtQixHQUFHLENBQUMsQ0FBQztJQUM1QixJQUFJLGNBQWMsR0FBRyxDQUFDLENBQUM7SUFFdkIsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUM3QixtQkFBbUIsR0FBRyxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQzNELE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1lBQ3BCLFVBQVUsRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsYUFBYSxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsRUFBRTtZQUNqRSxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDZixJQUFJLEVBQUUsV0FBVztZQUNqQixLQUFLLEVBQUUsSUFBSTtZQUNYLEtBQUssRUFBRSxJQUFJO1lBQ1gsS0FBSyxFQUFFLG1CQUFtQjtZQUMxQixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztTQUM5QixDQUFDLENBQUM7UUFDSCxNQUFNLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDO0lBQ3ZDLENBQUM7U0FBTSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDckMsTUFBTSxhQUFhLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDL0ksTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzlGLElBQUksVUFBVSxLQUFLLFNBQVMsSUFBSSxhQUFhLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDOUQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLG1CQUFtQixFQUFFLENBQUMsRUFBRSxjQUFjLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUNyRixDQUFDO1FBQ0QsY0FBYyxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQ2hDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDdkMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUM7UUFDNUIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDckIsVUFBVSxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFO1lBQ3BGLE1BQU0sRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNmLElBQUksRUFBRSxXQUFXO1lBQ2pCLEtBQUssRUFBRSxJQUFJO1lBQ1gsVUFBVSxFQUFFLElBQUk7WUFDaEIsSUFBSSxFQUFFLFVBQVU7WUFDaEIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQztZQUN4QixTQUFTLEVBQUUsSUFBSTtZQUNmLEtBQUssRUFBRSxJQUFJO1lBQ1gsU0FBUyxFQUFFLEtBQUs7U0FDakIsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEYsQ0FBQztTQUFNLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUUsQ0FBQztRQUNqQyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLElBQUksYUFBYSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdkMsQ0FBQztRQUNELElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNoQixNQUFNLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUM3QyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3QyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxHQUFHLEVBQUUsQ0FBQztBQUNoRixDQUFDO0FBRUQsTUFBTSxVQUFVLHFCQUFxQixDQUNuQyxJQUEyQixFQUMzQixJQUFzQixFQUN0QixrQkFBMEI7SUFFMUIsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLGFBQWEsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUk7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUMzRSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsS0FBSyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3ZGLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsSUFBSSxRQUFRLENBQUMsbUJBQW1CO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFDNUYsT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQy9ELENBQUM7QUFFRCxNQUFNLFVBQVUsc0JBQXNCLENBQ3BDLElBQTJCLEVBQzNCLElBQXNCLEVBQ3RCLGtCQUEwQjtJQUUxQixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7UUFDM0QsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLEVBQUUsY0FBYyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDaEYsQ0FBQztJQUVELE1BQU0sSUFBSSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsS0FBSyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzNGLElBQUksQ0FBQyxZQUFZO1FBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLEVBQUUsY0FBYyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFFakcsTUFBTSxjQUFjLEdBQUcsWUFBWSxDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUM7SUFDckQsSUFBSSxjQUFjLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDdkIsY0FBYyxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsTUFBTSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQzlDLElBQUksQ0FBQyxVQUFVLEtBQUssa0JBQWtCO1FBQ3BDLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLG1CQUFtQixFQUFFLElBQUksRUFBRTtRQUN4QyxDQUFDLENBQUMsSUFBSSxDQUNULENBQUMsQ0FBQztJQUNILE1BQU0sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNuRCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDaEIsTUFBTSxHQUFHLEdBQUcsQ0FBQyxHQUFHLFlBQVksQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7SUFDbkUsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDN0MsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLGNBQWMsRUFBRSxHQUFHLEVBQUUsQ0FBQztBQUM5RSxDQUFDO0FBRUQsU0FBUyxXQUFXLENBQUMsSUFBZ0MsRUFBRSxXQUFtQjtJQUN4RSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssVUFBVTtRQUFFLE9BQU8sR0FBRyxXQUFXLDRCQUE0QixDQUFDO0lBQ2hGLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxPQUFPO1FBQUUsT0FBTyxHQUFHLFdBQVcsMkJBQTJCLENBQUM7SUFDNUUsT0FBTyxHQUFHLFdBQVcsb0JBQW9CLENBQUM7QUFDNUMsQ0FBQztBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FDakMsSUFBMkIsRUFDM0IsWUFBOEIsRUFDOUIsa0JBQTBCLEVBQzFCLFFBQWtDO0lBRWxDLE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNoRCxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssYUFBYSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN0RixPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUNoRixDQUFDO0lBRUQsTUFBTSxJQUFJLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEtBQUssa0JBQWtCLENBQUMsQ0FBQztJQUM1RyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVM7UUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUVwSCxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO0lBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxDQUFDO0lBQ2hHLFFBQVEsQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQzNCLE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUMsSUFBSSxJQUFJLFlBQVksS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQztJQUN4SCxlQUFlLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNyQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDaEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDN0MsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsQ0FBQyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7QUFDdEYsQ0FBQztBQUVELE1BQU0sVUFBVSxzQkFBc0IsQ0FDcEMsSUFBMkIsRUFDM0IsWUFBOEIsRUFDOUIsa0JBQTBCLEVBQzFCLGdCQUF3QixFQUN4QixRQUFrQztJQUVsQyxNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDaEQsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLGFBQWE7UUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUVqSCxNQUFNLElBQUksR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsS0FBSyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzVHLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEtBQUssZ0JBQWdCLENBQUMsQ0FBQztJQUN4RyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2hELE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsQ0FBQyxFQUFFLFlBQVksRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ2hGLENBQUM7SUFFRCxNQUFNLENBQUMsU0FBUyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDcEMsUUFBUSxDQUFDLFNBQVMsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ3BDLFFBQVEsQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQzNCLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkQsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNuRCxNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQUcsUUFBUSxDQUFDLElBQUksSUFBSSxRQUFRLENBQUMsY0FBYyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQzVFLGVBQWUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3JDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNoQixJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUU3QyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLFlBQVksRUFBRSxRQUFRLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDO0FBQzNHLENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFDLElBQTJCLEVBQUUsUUFBa0M7SUFDekYsSUFBSSxDQUFDLFNBQVMsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNqQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM3QyxPQUFPLENBQUMsc0JBQXNCLEdBQUcsS0FBSyxDQUFDO0lBQ3ZDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxRQUFRLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbEgsT0FBTyxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3BGLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDMUMsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUNkLElBQUksT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9CLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUFDLFNBQVMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25ELENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTztRQUNMLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsV0FBVyxJQUFJLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVc7UUFDakYsR0FBRyxRQUFRLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxXQUFXLEdBQUc7S0FDN0MsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLElBQTJCLEVBQUUsR0FBYSxFQUFFLFFBQWtDO0lBQzVHLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxRQUFRLEdBQUcsQ0FBQztRQUFFLE9BQU87SUFDekUsSUFBSSxDQUFDLE1BQU0sR0FBRyxVQUFVLENBQUM7SUFDekIsTUFBTSxNQUFNLEdBQXFCLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzdFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQ3RFLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsTUFBK0IsRUFBRSxJQUEyQjtJQUMzRixNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDeEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNO1FBQUUsT0FBTztJQUM5QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUM3RCxNQUFNLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUMzRSxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxNQUErQixFQUFFLElBQVk7SUFDMUUsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLE1BQU0sQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDakQsSUFBSSxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUs7WUFBRSxPQUFPLFFBQVEsQ0FBQztRQUN2RCxTQUFTLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQztRQUM1QixPQUFPLEVBQUUsR0FBRyxRQUFRLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ3ZDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsSUFBc0I7SUFDakQsT0FBTyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUNyQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hyaXN0aWFuaXR5Q2FyZERlZmluaXRpb24sXG4gIENocmlzdGlhbml0eUNoYXJhY3Rlckluc3RhbmNlLFxuICBDaHJpc3RpYW5pdHlHYW1lU3RhdGUsXG4gIENocmlzdGlhbml0eVBsYXllclN0YXRlLFxuICBDaHJpc3RpYW5pdHlTZWF0LFxufSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IENIUklTVElBTklUWV9CQVRUTEVfU0xPVFMgPSA0O1xuXG5leHBvcnQgaW50ZXJmYWNlIENocmlzdGlhbml0eVJ1bGVNZXNzYWdlcyB7XG4gIGF0dGFja3NPcHBvbmVudExlYWRlcjogc3RyaW5nO1xuICBhdHRhY2tzWW91ckxlYWRlcjogc3RyaW5nO1xuICBjb21iYXRzQWdhaW5zdDogc3RyaW5nO1xuICBkcmF3c0NhcmQ6IHN0cmluZztcbiAgZGVja0lzRW1wdHk6IHN0cmluZztcbiAgdHVybk9mOiBzdHJpbmc7XG4gIHlvdVdpbjogc3RyaW5nO1xuICBvcHBvbmVudFdpbnM6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaHJpc3RpYW5pdHlQbGF5Q2FyZFJlc3VsdCB7XG4gIGdhbWU6IENocmlzdGlhbml0eUdhbWVTdGF0ZTtcbiAgcGxheWVkOiBib29sZWFuO1xuICBwbGF5ZWRPZmZlcmluZ1ZhbHVlOiBudW1iZXI7XG4gIHNwZW50T2ZmZXJpbmdzOiBudW1iZXI7XG4gIGxvZzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hyaXN0aWFuaXR5QXR0YWNrUmVzdWx0IHtcbiAgZ2FtZTogQ2hyaXN0aWFuaXR5R2FtZVN0YXRlO1xuICBhdHRhY2tlZDogYm9vbGVhbjtcbiAgYXR0YWNrZXJEYW1hZ2U6IG51bWJlcjtcbiAgdGFyZ2V0RGFtYWdlOiBudW1iZXI7XG4gIGxvZzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hyaXN0aWFuaXR5T2ZmZXJpbmdBYmlsaXR5UmVzdWx0IHtcbiAgZ2FtZTogQ2hyaXN0aWFuaXR5R2FtZVN0YXRlO1xuICByZXNvbHZlZDogYm9vbGVhbjtcbiAgbGVhZGVyRGFtYWdlOiBudW1iZXI7XG4gIHNwZW50T2ZmZXJpbmdzOiBudW1iZXI7XG4gIGxvZzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWFkeU9mZmVyaW5ncyhwbGF5ZXI6IENocmlzdGlhbml0eVBsYXllclN0YXRlKTogbnVtYmVyIHtcbiAgcmV0dXJuIHBsYXllci5vZmZlcmluZ3MucmVkdWNlKCh0b3RhbCwgb2ZmZXJpbmcpID0+IHRvdGFsICsgKG9mZmVyaW5nLnJlYWR5ID8gb2ZmZXJpbmcudmFsdWUgOiAwKSwgMCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b3RhbE9mZmVyaW5ncyhwbGF5ZXI6IENocmlzdGlhbml0eVBsYXllclN0YXRlKTogbnVtYmVyIHtcbiAgcmV0dXJuIHBsYXllci5vZmZlcmluZ3MucmVkdWNlKCh0b3RhbCwgb2ZmZXJpbmcpID0+IHRvdGFsICsgb2ZmZXJpbmcudmFsdWUsIDApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2FuUGxheUNhcmQoXG4gIGdhbWU6IENocmlzdGlhbml0eUdhbWVTdGF0ZSxcbiAgc2VhdDogQ2hyaXN0aWFuaXR5U2VhdCxcbiAgY2FyZDogQ2hyaXN0aWFuaXR5Q2FyZERlZmluaXRpb24sXG4pOiBib29sZWFuIHtcbiAgaWYgKGdhbWUuc3RhdHVzICE9PSAnaW5fcHJvZ3Jlc3MnIHx8IGdhbWUudHVybk93bmVyICE9PSBzZWF0KSByZXR1cm4gZmFsc2U7XG4gIGNvbnN0IHBsYXllciA9IGdhbWUucGxheWVyc1tzZWF0XTtcbiAgaWYgKGNhcmQudHlwZSA9PT0gJ29mZmVyaW5nJykgcmV0dXJuICFwbGF5ZXIub2ZmZXJpbmdQbGF5ZWRUaGlzVHVybjtcbiAgaWYgKGNhcmQudHlwZSA9PT0gJ2NoYXJhY3RlcicpIHtcbiAgICByZXR1cm4gcmVhZHlPZmZlcmluZ3MocGxheWVyKSA+PSAoY2FyZC5jb3N0ID8/IDApICYmIHBsYXllci5iYXR0bGVab25lLmxlbmd0aCA8IENIUklTVElBTklUWV9CQVRUTEVfU0xPVFM7XG4gIH1cbiAgaWYgKGNhcmQudHlwZSA9PT0gJ3BsYWNlJykgcmV0dXJuIHRydWU7XG4gIHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBsYXlDYXJkRnJvbUhhbmQoXG4gIGdhbWU6IENocmlzdGlhbml0eUdhbWVTdGF0ZSxcbiAgc2VhdDogQ2hyaXN0aWFuaXR5U2VhdCxcbiAgY2FyZDogQ2hyaXN0aWFuaXR5Q2FyZERlZmluaXRpb24sXG4gIG9wdGlvbnM6IHsgc2xvdEluZGV4PzogbnVtYmVyOyBkaXNwbGF5TmFtZT86IHN0cmluZyB9ID0ge30sXG4pOiBDaHJpc3RpYW5pdHlQbGF5Q2FyZFJlc3VsdCB7XG4gIGlmICghY2FuUGxheUNhcmQoZ2FtZSwgc2VhdCwgY2FyZCkpIHtcbiAgICByZXR1cm4geyBnYW1lLCBwbGF5ZWQ6IGZhbHNlLCBwbGF5ZWRPZmZlcmluZ1ZhbHVlOiAwLCBzcGVudE9mZmVyaW5nczogMCwgbG9nOiBbXSB9O1xuICB9XG5cbiAgY29uc3QgbmV4dCA9IHN0cnVjdHVyZWRDbG9uZShnYW1lKTtcbiAgY29uc3QgcGxheWVyID0gbmV4dC5wbGF5ZXJzW3NlYXRdO1xuICBjb25zdCBoYW5kSW5kZXggPSBwbGF5ZXIuaGFuZD8uaW5kZXhPZihjYXJkLmlkKSA/PyAtMTtcbiAgaWYgKGhhbmRJbmRleCA8IDAgfHwgIXBsYXllci5oYW5kKSB7XG4gICAgcmV0dXJuIHsgZ2FtZSwgcGxheWVkOiBmYWxzZSwgcGxheWVkT2ZmZXJpbmdWYWx1ZTogMCwgc3BlbnRPZmZlcmluZ3M6IDAsIGxvZzogW10gfTtcbiAgfVxuXG4gIGNvbnN0IGRpc3BsYXlOYW1lID0gb3B0aW9ucy5kaXNwbGF5TmFtZSA/PyBjYXJkLm5hbWU7XG4gIGxldCBwbGF5ZWRPZmZlcmluZ1ZhbHVlID0gMDtcbiAgbGV0IHNwZW50T2ZmZXJpbmdzID0gMDtcblxuICBwbGF5ZXIuaGFuZC5zcGxpY2UoaGFuZEluZGV4LCAxKTtcbiAgaWYgKGNhcmQudHlwZSA9PT0gJ29mZmVyaW5nJykge1xuICAgIHBsYXllZE9mZmVyaW5nVmFsdWUgPSBjYXJkLm9mZmVyaW5nVmFsdWUgPz8gY2FyZC5saWZlID8/IDE7XG4gICAgcGxheWVyLm9mZmVyaW5ncy5wdXNoKHtcbiAgICAgIGluc3RhbmNlSWQ6IGAke3NlYXQudG9Mb3dlckNhc2UoKX1fb2ZmZXJpbmdfJHtuZXh0LnJldmlzaW9uICsgMX1gLFxuICAgICAgY2FyZElkOiBjYXJkLmlkLFxuICAgICAgbmFtZTogZGlzcGxheU5hbWUsXG4gICAgICBvd25lcjogc2VhdCxcbiAgICAgIHJlYWR5OiB0cnVlLFxuICAgICAgdmFsdWU6IHBsYXllZE9mZmVyaW5nVmFsdWUsXG4gICAgICBhYmlsaXR5TmFtZTogY2FyZC5hYmlsaXR5TmFtZSxcbiAgICAgIGFiaWxpdHlUZXh0OiBjYXJkLmFiaWxpdHlUZXh0LFxuICAgICAgYWJpbGl0eUNvc3Q6IGNhcmQuYWJpbGl0eUNvc3QsXG4gICAgfSk7XG4gICAgcGxheWVyLm9mZmVyaW5nUGxheWVkVGhpc1R1cm4gPSB0cnVlO1xuICB9IGVsc2UgaWYgKGNhcmQudHlwZSA9PT0gJ2NoYXJhY3RlcicpIHtcbiAgICBjb25zdCBvY2N1cGllZFNsb3RzID0gbmV3IFNldChwbGF5ZXIuYmF0dGxlWm9uZS5tYXAoKGNoYXJhY3RlciwgaW5kZXgpID0+IE51bWJlci5pc0ludGVnZXIoY2hhcmFjdGVyLnNsb3QpID8gY2hhcmFjdGVyLnNsb3QgPz8gaW5kZXggOiBpbmRleCkpO1xuICAgIGNvbnN0IHRhcmdldFNsb3QgPSBvcHRpb25zLnNsb3RJbmRleCA/PyBbMCwgMSwgMiwgM10uZmluZChpbmRleCA9PiAhb2NjdXBpZWRTbG90cy5oYXMoaW5kZXgpKTtcbiAgICBpZiAodGFyZ2V0U2xvdCA9PT0gdW5kZWZpbmVkIHx8IG9jY3VwaWVkU2xvdHMuaGFzKHRhcmdldFNsb3QpKSB7XG4gICAgICByZXR1cm4geyBnYW1lLCBwbGF5ZWQ6IGZhbHNlLCBwbGF5ZWRPZmZlcmluZ1ZhbHVlOiAwLCBzcGVudE9mZmVyaW5nczogMCwgbG9nOiBbXSB9O1xuICAgIH1cbiAgICBzcGVudE9mZmVyaW5ncyA9IGNhcmQuY29zdCA/PyAwO1xuICAgIHNwZW5kT2ZmZXJpbmdzKHBsYXllciwgc3BlbnRPZmZlcmluZ3MpO1xuICAgIGNvbnN0IGxpZmUgPSBjYXJkLmxpZmUgPz8gMTtcbiAgICBwbGF5ZXIuYmF0dGxlWm9uZS5wdXNoKHtcbiAgICAgIGluc3RhbmNlSWQ6IGAke3NlYXQudG9Mb3dlckNhc2UoKX1fJHtuZXh0LnJldmlzaW9uICsgMX1fJHtwbGF5ZXIuYmF0dGxlWm9uZS5sZW5ndGh9YCxcbiAgICAgIGNhcmRJZDogY2FyZC5pZCxcbiAgICAgIG5hbWU6IGRpc3BsYXlOYW1lLFxuICAgICAgb3duZXI6IHNlYXQsXG4gICAgICBjb250cm9sbGVyOiBzZWF0LFxuICAgICAgc2xvdDogdGFyZ2V0U2xvdCxcbiAgICAgIGF0dGFjazogY2FyZC5hdHRhY2sgPz8gMCxcbiAgICAgIGN1cnJlbnRIcDogbGlmZSxcbiAgICAgIG1heEhwOiBsaWZlLFxuICAgICAgY2FuQXR0YWNrOiBmYWxzZSxcbiAgICB9KTtcbiAgICBwbGF5ZXIuYmF0dGxlWm9uZS5zb3J0KChsZWZ0LCByaWdodCkgPT4gKGxlZnQuc2xvdCA/PyAwKSAtIChyaWdodC5zbG90ID8/IDApKTtcbiAgfSBlbHNlIGlmIChjYXJkLnR5cGUgPT09ICdwbGFjZScpIHtcbiAgICBjb25zdCBwcmV2aW91c1BsYWNlID0gbmV4dC5wbGFjZVpvbmVbMF07XG4gICAgaWYgKHByZXZpb3VzUGxhY2UpIHtcbiAgICAgIG5leHQuaGlzdG9yeVpvbmUucHVzaChwcmV2aW91c1BsYWNlKTtcbiAgICB9XG4gICAgbmV4dC5wbGFjZVpvbmUgPSBbY2FyZC5pZF07XG4gIH1cblxuICBuZXh0LnJldmlzaW9uKys7XG4gIGNvbnN0IGxvZyA9IFtwbGF5Q2FyZExvZyhjYXJkLCBkaXNwbGF5TmFtZSldO1xuICBuZXh0LmxvZyA9IFsuLi5sb2csIC4uLm5leHQubG9nXS5zbGljZSgwLCA0KTtcbiAgcmV0dXJuIHsgZ2FtZTogbmV4dCwgcGxheWVkOiB0cnVlLCBwbGF5ZWRPZmZlcmluZ1ZhbHVlLCBzcGVudE9mZmVyaW5ncywgbG9nIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYW5Vc2VPZmZlcmluZ0FiaWxpdHkoXG4gIGdhbWU6IENocmlzdGlhbml0eUdhbWVTdGF0ZSxcbiAgc2VhdDogQ2hyaXN0aWFuaXR5U2VhdCxcbiAgb2ZmZXJpbmdJbnN0YW5jZUlkOiBzdHJpbmcsXG4pOiBib29sZWFuIHtcbiAgaWYgKGdhbWUuc3RhdHVzICE9PSAnaW5fcHJvZ3Jlc3MnIHx8IGdhbWUudHVybk93bmVyICE9PSBzZWF0KSByZXR1cm4gZmFsc2U7XG4gIGNvbnN0IHBsYXllciA9IGdhbWUucGxheWVyc1tzZWF0XTtcbiAgY29uc3Qgb2ZmZXJpbmcgPSBwbGF5ZXIub2ZmZXJpbmdzLmZpbmQoY2FyZCA9PiBjYXJkLmluc3RhbmNlSWQgPT09IG9mZmVyaW5nSW5zdGFuY2VJZCk7XG4gIGlmICghb2ZmZXJpbmc/LnJlYWR5IHx8ICFvZmZlcmluZy5hYmlsaXR5TmFtZSB8fCBvZmZlcmluZy5hYmlsaXR5VXNlZFRoaXNUdXJuKSByZXR1cm4gZmFsc2U7XG4gIHJldHVybiByZWFkeU9mZmVyaW5ncyhwbGF5ZXIpID49IChvZmZlcmluZy5hYmlsaXR5Q29zdCA/PyAwKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVPZmZlcmluZ0FiaWxpdHkoXG4gIGdhbWU6IENocmlzdGlhbml0eUdhbWVTdGF0ZSxcbiAgc2VhdDogQ2hyaXN0aWFuaXR5U2VhdCxcbiAgb2ZmZXJpbmdJbnN0YW5jZUlkOiBzdHJpbmcsXG4pOiBDaHJpc3RpYW5pdHlPZmZlcmluZ0FiaWxpdHlSZXN1bHQge1xuICBpZiAoIWNhblVzZU9mZmVyaW5nQWJpbGl0eShnYW1lLCBzZWF0LCBvZmZlcmluZ0luc3RhbmNlSWQpKSB7XG4gICAgcmV0dXJuIHsgZ2FtZSwgcmVzb2x2ZWQ6IGZhbHNlLCBsZWFkZXJEYW1hZ2U6IDAsIHNwZW50T2ZmZXJpbmdzOiAwLCBsb2c6IFtdIH07XG4gIH1cblxuICBjb25zdCBuZXh0ID0gc3RydWN0dXJlZENsb25lKGdhbWUpO1xuICBjb25zdCBwbGF5ZXIgPSBuZXh0LnBsYXllcnNbc2VhdF07XG4gIGNvbnN0IGxpdmVPZmZlcmluZyA9IHBsYXllci5vZmZlcmluZ3MuZmluZChjYXJkID0+IGNhcmQuaW5zdGFuY2VJZCA9PT0gb2ZmZXJpbmdJbnN0YW5jZUlkKTtcbiAgaWYgKCFsaXZlT2ZmZXJpbmcpIHJldHVybiB7IGdhbWUsIHJlc29sdmVkOiBmYWxzZSwgbGVhZGVyRGFtYWdlOiAwLCBzcGVudE9mZmVyaW5nczogMCwgbG9nOiBbXSB9O1xuXG4gIGNvbnN0IHNwZW50T2ZmZXJpbmdzID0gbGl2ZU9mZmVyaW5nLmFiaWxpdHlDb3N0ID8/IDA7XG4gIGlmIChzcGVudE9mZmVyaW5ncyA+IDApIHtcbiAgICBzcGVuZE9mZmVyaW5ncyhwbGF5ZXIsIHNwZW50T2ZmZXJpbmdzKTtcbiAgfVxuICBwbGF5ZXIub2ZmZXJpbmdzID0gcGxheWVyLm9mZmVyaW5ncy5tYXAoY2FyZCA9PiAoXG4gICAgY2FyZC5pbnN0YW5jZUlkID09PSBvZmZlcmluZ0luc3RhbmNlSWRcbiAgICAgID8geyAuLi5jYXJkLCBhYmlsaXR5VXNlZFRoaXNUdXJuOiB0cnVlIH1cbiAgICAgIDogY2FyZFxuICApKTtcbiAgcGxheWVyLmxlYWRlckhwID0gTWF0aC5tYXgoMCwgcGxheWVyLmxlYWRlckhwIC0gMSk7XG4gIG5leHQucmV2aXNpb24rKztcbiAgY29uc3QgbG9nID0gW2Ake2xpdmVPZmZlcmluZy5uYW1lfTogJHtsaXZlT2ZmZXJpbmcuYWJpbGl0eU5hbWV9LmBdO1xuICBuZXh0LmxvZyA9IFsuLi5sb2csIC4uLm5leHQubG9nXS5zbGljZSgwLCA0KTtcbiAgcmV0dXJuIHsgZ2FtZTogbmV4dCwgcmVzb2x2ZWQ6IHRydWUsIGxlYWRlckRhbWFnZTogMSwgc3BlbnRPZmZlcmluZ3MsIGxvZyB9O1xufVxuXG5mdW5jdGlvbiBwbGF5Q2FyZExvZyhjYXJkOiBDaHJpc3RpYW5pdHlDYXJkRGVmaW5pdGlvbiwgZGlzcGxheU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmIChjYXJkLnR5cGUgPT09ICdvZmZlcmluZycpIHJldHVybiBgJHtkaXNwbGF5TmFtZX0gcXVlZGEgbGlzdGEgY29tbyBvZnJlbmRhLmA7XG4gIGlmIChjYXJkLnR5cGUgPT09ICdwbGFjZScpIHJldHVybiBgJHtkaXNwbGF5TmFtZX0gcXVlZGEgY29tbyBsdWdhciBhY3Rpdm8uYDtcbiAgcmV0dXJuIGAke2Rpc3BsYXlOYW1lfSBlbnRyYSBlbiBiYXRhbGxhLmA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlQXR0YWNrTGVhZGVyKFxuICBnYW1lOiBDaHJpc3RpYW5pdHlHYW1lU3RhdGUsXG4gIGF0dGFja2VyU2VhdDogQ2hyaXN0aWFuaXR5U2VhdCxcbiAgYXR0YWNrZXJJbnN0YW5jZUlkOiBzdHJpbmcsXG4gIG1lc3NhZ2VzOiBDaHJpc3RpYW5pdHlSdWxlTWVzc2FnZXMsXG4pOiBDaHJpc3RpYW5pdHlBdHRhY2tSZXN1bHQge1xuICBjb25zdCBkZWZlbmRlclNlYXQgPSBvcHBvbmVudFNlYXQoYXR0YWNrZXJTZWF0KTtcbiAgaWYgKGdhbWUuc3RhdHVzICE9PSAnaW5fcHJvZ3Jlc3MnIHx8IGdhbWUucGxheWVyc1tkZWZlbmRlclNlYXRdLmJhdHRsZVpvbmUubGVuZ3RoID4gMCkge1xuICAgIHJldHVybiB7IGdhbWUsIGF0dGFja2VkOiBmYWxzZSwgYXR0YWNrZXJEYW1hZ2U6IDAsIHRhcmdldERhbWFnZTogMCwgbG9nOiBbXSB9O1xuICB9XG5cbiAgY29uc3QgbmV4dCA9IHN0cnVjdHVyZWRDbG9uZShnYW1lKTtcbiAgY29uc3QgYXR0YWNrZXIgPSBuZXh0LnBsYXllcnNbYXR0YWNrZXJTZWF0XS5iYXR0bGVab25lLmZpbmQoY2FyZCA9PiBjYXJkLmluc3RhbmNlSWQgPT09IGF0dGFja2VySW5zdGFuY2VJZCk7XG4gIGlmICghYXR0YWNrZXIgfHwgIWF0dGFja2VyLmNhbkF0dGFjaykgcmV0dXJuIHsgZ2FtZSwgYXR0YWNrZWQ6IGZhbHNlLCBhdHRhY2tlckRhbWFnZTogMCwgdGFyZ2V0RGFtYWdlOiAwLCBsb2c6IFtdIH07XG5cbiAgY29uc3QgZGFtYWdlID0gYXR0YWNrZXIuYXR0YWNrO1xuICBuZXh0LnBsYXllcnNbZGVmZW5kZXJTZWF0XS5sZWFkZXJIcCA9IE1hdGgubWF4KDAsIG5leHQucGxheWVyc1tkZWZlbmRlclNlYXRdLmxlYWRlckhwIC0gZGFtYWdlKTtcbiAgYXR0YWNrZXIuY2FuQXR0YWNrID0gZmFsc2U7XG4gIGNvbnN0IGxvZyA9IFtgJHthdHRhY2tlci5uYW1lfSAke2F0dGFja2VyU2VhdCA9PT0gJ1AxJyA/IG1lc3NhZ2VzLmF0dGFja3NPcHBvbmVudExlYWRlciA6IG1lc3NhZ2VzLmF0dGFja3NZb3VyTGVhZGVyfWBdO1xuICBldmFsdWF0ZVZpY3RvcnkobmV4dCwgbG9nLCBtZXNzYWdlcyk7XG4gIG5leHQucmV2aXNpb24rKztcbiAgbmV4dC5sb2cgPSBbLi4ubG9nLCAuLi5uZXh0LmxvZ10uc2xpY2UoMCwgNCk7XG4gIHJldHVybiB7IGdhbWU6IG5leHQsIGF0dGFja2VkOiB0cnVlLCBhdHRhY2tlckRhbWFnZTogMCwgdGFyZ2V0RGFtYWdlOiBkYW1hZ2UsIGxvZyB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZUF0dGFja0NoYXJhY3RlcihcbiAgZ2FtZTogQ2hyaXN0aWFuaXR5R2FtZVN0YXRlLFxuICBhdHRhY2tlclNlYXQ6IENocmlzdGlhbml0eVNlYXQsXG4gIGF0dGFja2VySW5zdGFuY2VJZDogc3RyaW5nLFxuICB0YXJnZXRJbnN0YW5jZUlkOiBzdHJpbmcsXG4gIG1lc3NhZ2VzOiBDaHJpc3RpYW5pdHlSdWxlTWVzc2FnZXMsXG4pOiBDaHJpc3RpYW5pdHlBdHRhY2tSZXN1bHQge1xuICBjb25zdCBkZWZlbmRlclNlYXQgPSBvcHBvbmVudFNlYXQoYXR0YWNrZXJTZWF0KTtcbiAgaWYgKGdhbWUuc3RhdHVzICE9PSAnaW5fcHJvZ3Jlc3MnKSByZXR1cm4geyBnYW1lLCBhdHRhY2tlZDogZmFsc2UsIGF0dGFja2VyRGFtYWdlOiAwLCB0YXJnZXREYW1hZ2U6IDAsIGxvZzogW10gfTtcblxuICBjb25zdCBuZXh0ID0gc3RydWN0dXJlZENsb25lKGdhbWUpO1xuICBjb25zdCBhdHRhY2tlciA9IG5leHQucGxheWVyc1thdHRhY2tlclNlYXRdLmJhdHRsZVpvbmUuZmluZChjYXJkID0+IGNhcmQuaW5zdGFuY2VJZCA9PT0gYXR0YWNrZXJJbnN0YW5jZUlkKTtcbiAgY29uc3QgdGFyZ2V0ID0gbmV4dC5wbGF5ZXJzW2RlZmVuZGVyU2VhdF0uYmF0dGxlWm9uZS5maW5kKGNhcmQgPT4gY2FyZC5pbnN0YW5jZUlkID09PSB0YXJnZXRJbnN0YW5jZUlkKTtcbiAgaWYgKCFhdHRhY2tlciB8fCAhdGFyZ2V0IHx8ICFhdHRhY2tlci5jYW5BdHRhY2spIHtcbiAgICByZXR1cm4geyBnYW1lLCBhdHRhY2tlZDogZmFsc2UsIGF0dGFja2VyRGFtYWdlOiAwLCB0YXJnZXREYW1hZ2U6IDAsIGxvZzogW10gfTtcbiAgfVxuXG4gIHRhcmdldC5jdXJyZW50SHAgLT0gYXR0YWNrZXIuYXR0YWNrO1xuICBhdHRhY2tlci5jdXJyZW50SHAgLT0gdGFyZ2V0LmF0dGFjaztcbiAgYXR0YWNrZXIuY2FuQXR0YWNrID0gZmFsc2U7XG4gIGNsZWFudXBEZXN0cm95ZWQobmV4dC5wbGF5ZXJzW2F0dGFja2VyU2VhdF0sIG5leHQpO1xuICBjbGVhbnVwRGVzdHJveWVkKG5leHQucGxheWVyc1tkZWZlbmRlclNlYXRdLCBuZXh0KTtcbiAgY29uc3QgbG9nID0gW2Ake2F0dGFja2VyLm5hbWV9ICR7bWVzc2FnZXMuY29tYmF0c0FnYWluc3R9ICR7dGFyZ2V0Lm5hbWV9LmBdO1xuICBldmFsdWF0ZVZpY3RvcnkobmV4dCwgbG9nLCBtZXNzYWdlcyk7XG4gIG5leHQucmV2aXNpb24rKztcbiAgbmV4dC5sb2cgPSBbLi4ubG9nLCAuLi5uZXh0LmxvZ10uc2xpY2UoMCwgNCk7XG5cbiAgcmV0dXJuIHsgZ2FtZTogbmV4dCwgYXR0YWNrZWQ6IHRydWUsIGF0dGFja2VyRGFtYWdlOiB0YXJnZXQuYXR0YWNrLCB0YXJnZXREYW1hZ2U6IGF0dGFja2VyLmF0dGFjaywgbG9nIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZHZhbmNlVHVybihnYW1lOiBDaHJpc3RpYW5pdHlHYW1lU3RhdGUsIG1lc3NhZ2VzOiBDaHJpc3RpYW5pdHlSdWxlTWVzc2FnZXMpOiBzdHJpbmdbXSB7XG4gIGdhbWUudHVybk93bmVyID0gb3Bwb25lbnRTZWF0KGdhbWUudHVybk93bmVyKTtcbiAgZ2FtZS50dXJuQ291bnQrKztcbiAgY29uc3QgY3VycmVudCA9IGdhbWUucGxheWVyc1tnYW1lLnR1cm5Pd25lcl07XG4gIGN1cnJlbnQub2ZmZXJpbmdQbGF5ZWRUaGlzVHVybiA9IGZhbHNlO1xuICBjdXJyZW50Lm9mZmVyaW5ncyA9IGN1cnJlbnQub2ZmZXJpbmdzLm1hcChvZmZlcmluZyA9PiAoeyAuLi5vZmZlcmluZywgcmVhZHk6IHRydWUsIGFiaWxpdHlVc2VkVGhpc1R1cm46IGZhbHNlIH0pKTtcbiAgY3VycmVudC5iYXR0bGVab25lID0gY3VycmVudC5iYXR0bGVab25lLm1hcChjYXJkID0+ICh7IC4uLmNhcmQsIGNhbkF0dGFjazogdHJ1ZSB9KSk7XG4gIGNvbnN0IGRyYXduQ2FyZCA9IGdhbWUuc2hhcmVkRGVjay5zaGlmdCgpO1xuICBpZiAoZHJhd25DYXJkKSB7XG4gICAgaWYgKGN1cnJlbnQuaGFuZCkge1xuICAgICAgY3VycmVudC5oYW5kLnB1c2goZHJhd25DYXJkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY3VycmVudC5oYW5kQ291bnQgPSAoY3VycmVudC5oYW5kQ291bnQgPz8gMCkgKyAxO1xuICAgIH1cbiAgfVxuICByZXR1cm4gW1xuICAgIGRyYXduQ2FyZCA/IGAke2N1cnJlbnQuZGlzcGxheU5hbWV9ICR7bWVzc2FnZXMuZHJhd3NDYXJkfWAgOiBtZXNzYWdlcy5kZWNrSXNFbXB0eSxcbiAgICBgJHttZXNzYWdlcy50dXJuT2Z9ICR7Y3VycmVudC5kaXNwbGF5TmFtZX0uYCxcbiAgXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV2YWx1YXRlVmljdG9yeShnYW1lOiBDaHJpc3RpYW5pdHlHYW1lU3RhdGUsIGxvZzogc3RyaW5nW10sIG1lc3NhZ2VzOiBDaHJpc3RpYW5pdHlSdWxlTWVzc2FnZXMpOiB2b2lkIHtcbiAgaWYgKGdhbWUucGxheWVycy5QMS5sZWFkZXJIcCA+IDAgJiYgZ2FtZS5wbGF5ZXJzLlAyLmxlYWRlckhwID4gMCkgcmV0dXJuO1xuICBnYW1lLnN0YXR1cyA9ICdmaW5pc2hlZCc7XG4gIGNvbnN0IHdpbm5lcjogQ2hyaXN0aWFuaXR5U2VhdCA9IGdhbWUucGxheWVycy5QMS5sZWFkZXJIcCA8PSAwID8gJ1AyJyA6ICdQMSc7XG4gIGdhbWUubWF0Y2hTY29yZVt3aW5uZXJdICs9IDE7XG4gIGxvZy5wdXNoKHdpbm5lciA9PT0gJ1AxJyA/IG1lc3NhZ2VzLnlvdVdpbiA6IG1lc3NhZ2VzLm9wcG9uZW50V2lucyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhbnVwRGVzdHJveWVkKHBsYXllcjogQ2hyaXN0aWFuaXR5UGxheWVyU3RhdGUsIGdhbWU6IENocmlzdGlhbml0eUdhbWVTdGF0ZSk6IHZvaWQge1xuICBjb25zdCBkZXN0cm95ZWQgPSBwbGF5ZXIuYmF0dGxlWm9uZS5maWx0ZXIoY2FyZCA9PiBjYXJkLmN1cnJlbnRIcCA8PSAwKTtcbiAgaWYgKCFkZXN0cm95ZWQubGVuZ3RoKSByZXR1cm47XG4gIGdhbWUuaGlzdG9yeVpvbmUucHVzaCguLi5kZXN0cm95ZWQubWFwKGNhcmQgPT4gY2FyZC5jYXJkSWQpKTtcbiAgcGxheWVyLmJhdHRsZVpvbmUgPSBwbGF5ZXIuYmF0dGxlWm9uZS5maWx0ZXIoY2FyZCA9PiBjYXJkLmN1cnJlbnRIcCA+IDApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3BlbmRPZmZlcmluZ3MocGxheWVyOiBDaHJpc3RpYW5pdHlQbGF5ZXJTdGF0ZSwgY29zdDogbnVtYmVyKTogdm9pZCB7XG4gIGxldCByZW1haW5pbmcgPSBjb3N0O1xuICBwbGF5ZXIub2ZmZXJpbmdzID0gcGxheWVyLm9mZmVyaW5ncy5tYXAob2ZmZXJpbmcgPT4ge1xuICAgIGlmIChyZW1haW5pbmcgPD0gMCB8fCAhb2ZmZXJpbmcucmVhZHkpIHJldHVybiBvZmZlcmluZztcbiAgICByZW1haW5pbmcgLT0gb2ZmZXJpbmcudmFsdWU7XG4gICAgcmV0dXJuIHsgLi4ub2ZmZXJpbmcsIHJlYWR5OiBmYWxzZSB9O1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9wcG9uZW50U2VhdChzZWF0OiBDaHJpc3RpYW5pdHlTZWF0KTogQ2hyaXN0aWFuaXR5U2VhdCB7XG4gIHJldHVybiBzZWF0ID09PSAnUDEnID8gJ1AyJyA6ICdQMSc7XG59XG4iXX0=
224
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hyaXN0aWFuaXR5LXJ1bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9taW5pLWdhbWVzL2NocmlzdGlhbml0eS1ydWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLENBQUM7QUFzQzNDLE1BQU0sVUFBVSxjQUFjLENBQUMsTUFBK0I7SUFDNUQsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLEtBQUssR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyx3QkFBd0IsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUMzSSxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxNQUErQjtJQUM1RCxPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDakYsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQ3pCLElBQTJCLEVBQzNCLElBQXNCLEVBQ3RCLElBQWdDO0lBRWhDLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxhQUFhLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFDM0UsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssVUFBVTtRQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsc0JBQXNCLENB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LENBQUMsd0JBQXdCLEdBQUcsZ0JBQWdCLEdBQUcscUJBQXFCLENBQUM7UUFDM0UsU0FBUyxJQUFJLHFCQUFxQixDQUFDO0lBQ3JDLENBQUM7SUFDRCxNQUFNLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQ2pELElBQUksU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLO1lBQUUsT0FBTyxRQUFRLENBQUM7UUFDdkQsU0FBUyxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUM7UUFDNUIsT0FBTyxFQUFFLEdBQUcsUUFBUSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUN2QyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxTQUFTLDBCQUEwQixDQUFDLFdBQStCLEVBQUUsYUFBcUI7SUFDeEYsTUFBTSxLQUFLLEdBQUcsV0FBVyxFQUFFLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBQzlELE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO0lBQ3JELE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0FBQ3JGLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLElBQXNCO0lBQ2pELE9BQU8sSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDckMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENocmlzdGlhbml0eUNhcmREZWZpbml0aW9uLFxuICBDaHJpc3RpYW5pdHlDaGFyYWN0ZXJJbnN0YW5jZSxcbiAgQ2hyaXN0aWFuaXR5R2FtZVN0YXRlLFxuICBDaHJpc3RpYW5pdHlQbGF5ZXJTdGF0ZSxcbiAgQ2hyaXN0aWFuaXR5U2VhdCxcbn0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBDSFJJU1RJQU5JVFlfQkFUVExFX1NMT1RTID0gNDtcblxuZXhwb3J0IGludGVyZmFjZSBDaHJpc3RpYW5pdHlSdWxlTWVzc2FnZXMge1xuICBhdHRhY2tzT3Bwb25lbnRMZWFkZXI6IHN0cmluZztcbiAgYXR0YWNrc1lvdXJMZWFkZXI6IHN0cmluZztcbiAgY29tYmF0c0FnYWluc3Q6IHN0cmluZztcbiAgZHJhd3NDYXJkOiBzdHJpbmc7XG4gIGRlY2tJc0VtcHR5OiBzdHJpbmc7XG4gIHR1cm5PZjogc3RyaW5nO1xuICB5b3VXaW46IHN0cmluZztcbiAgb3Bwb25lbnRXaW5zOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hyaXN0aWFuaXR5UGxheUNhcmRSZXN1bHQge1xuICBnYW1lOiBDaHJpc3RpYW5pdHlHYW1lU3RhdGU7XG4gIHBsYXllZDogYm9vbGVhbjtcbiAgcGxheWVkT2ZmZXJpbmdWYWx1ZTogbnVtYmVyO1xuICBzcGVudE9mZmVyaW5nczogbnVtYmVyO1xuICBsb2c6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENocmlzdGlhbml0eUF0dGFja1Jlc3VsdCB7XG4gIGdhbWU6IENocmlzdGlhbml0eUdhbWVTdGF0ZTtcbiAgYXR0YWNrZWQ6IGJvb2xlYW47XG4gIGF0dGFja2VyRGFtYWdlOiBudW1iZXI7XG4gIHRhcmdldERhbWFnZTogbnVtYmVyO1xuICBsb2c6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENocmlzdGlhbml0eU9mZmVyaW5nQWJpbGl0eVJlc3VsdCB7XG4gIGdhbWU6IENocmlzdGlhbml0eUdhbWVTdGF0ZTtcbiAgcmVzb2x2ZWQ6IGJvb2xlYW47XG4gIGxlYWRlckRhbWFnZTogbnVtYmVyO1xuICByZXNlcnZlR2FpbjogbnVtYmVyO1xuICBzcGVudE9mZmVyaW5nczogbnVtYmVyO1xuICBsb2c6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVhZHlPZmZlcmluZ3MocGxheWVyOiBDaHJpc3RpYW5pdHlQbGF5ZXJTdGF0ZSk6IG51bWJlciB7XG4gIHJldHVybiBwbGF5ZXIub2ZmZXJpbmdzLnJlZHVjZSgodG90YWwsIG9mZmVyaW5nKSA9PiB0b3RhbCArIChvZmZlcmluZy5yZWFkeSA/IG9mZmVyaW5nLnZhbHVlIDogMCksIHBsYXllci50ZW1wb3JhcnlPZmZlcmluZ1Jlc2VydmUgPz8gMCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b3RhbE9mZmVyaW5ncyhwbGF5ZXI6IENocmlzdGlhbml0eVBsYXllclN0YXRlKTogbnVtYmVyIHtcbiAgcmV0dXJuIHBsYXllci5vZmZlcmluZ3MucmVkdWNlKCh0b3RhbCwgb2ZmZXJpbmcpID0+IHRvdGFsICsgb2ZmZXJpbmcudmFsdWUsIDApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2FuUGxheUNhcmQoXG4gIGdhbWU6IENocmlzdGlhbml0eUdhbWVTdGF0ZSxcbiAgc2VhdDogQ2hyaXN0aWFuaXR5U2VhdCxcbiAgY2FyZDogQ2hyaXN0aWFuaXR5Q2FyZERlZmluaXRpb24sXG4pOiBib29sZWFuIHtcbiAgaWYgKGdhbWUuc3RhdHVzICE9PSAnaW5fcHJvZ3Jlc3MnIHx8IGdhbWUudHVybk93bmVyICE9PSBzZWF0KSByZXR1cm4gZmFsc2U7XG4gIGNvbnN0IHBsYXllciA9IGdhbWUucGxheWVyc1tzZWF0XTtcbiAgaWYgKGNhcmQudHlwZSA9PT0gJ29mZmVyaW5nJykgcmV0dXJuICFwbGF5ZXIub2ZmZXJpbmdQbGF5ZWRUaGlzVHVybjtcbiAgaWYgKGNhcmQudHlwZSA9PT0gJ2NoYXJhY3RlcicpIHtcbiAgICByZXR1cm4gcmVhZHlPZmZlcmluZ3MocGxheWVyKSA+PSAoY2FyZC5jb3N0ID8/IDApICYmIHBsYXllci5iYXR0bGVab25lLmxlbmd0aCA8IENIUklTVElBTklUWV9CQVRUTEVfU0xPVFM7XG4gIH1cbiAgaWYgKGNhcmQudHlwZSA9PT0gJ3BsYWNlJykgcmV0dXJuIHRydWU7XG4gIHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBsYXlDYXJkRnJvbUhhbmQoXG4gIGdhbWU6IENocmlzdGlhbml0eUdhbWVTdGF0ZSxcbiAgc2VhdDogQ2hyaXN0aWFuaXR5U2VhdCxcbiAgY2FyZDogQ2hyaXN0aWFuaXR5Q2FyZERlZmluaXRpb24sXG4gIG9wdGlvbnM6IHsgc2xvdEluZGV4PzogbnVtYmVyOyBkaXNwbGF5TmFtZT86IHN0cmluZyB9ID0ge30sXG4pOiBDaHJpc3RpYW5pdHlQbGF5Q2FyZFJlc3VsdCB7XG4gIGlmICghY2FuUGxheUNhcmQoZ2FtZSwgc2VhdCwgY2FyZCkpIHtcbiAgICByZXR1cm4geyBnYW1lLCBwbGF5ZWQ6IGZhbHNlLCBwbGF5ZWRPZmZlcmluZ1ZhbHVlOiAwLCBzcGVudE9mZmVyaW5nczogMCwgbG9nOiBbXSB9O1xuICB9XG5cbiAgY29uc3QgbmV4dCA9IHN0cnVjdHVyZWRDbG9uZShnYW1lKTtcbiAgY29uc3QgcGxheWVyID0gbmV4dC5wbGF5ZXJzW3NlYXRdO1xuICBjb25zdCBoYW5kSW5kZXggPSBwbGF5ZXIuaGFuZD8uaW5kZXhPZihjYXJkLmlkKSA/PyAtMTtcbiAgaWYgKGhhbmRJbmRleCA8IDAgfHwgIXBsYXllci5oYW5kKSB7XG4gICAgcmV0dXJuIHsgZ2FtZSwgcGxheWVkOiBmYWxzZSwgcGxheWVkT2ZmZXJpbmdWYWx1ZTogMCwgc3BlbnRPZmZlcmluZ3M6IDAsIGxvZzogW10gfTtcbiAgfVxuXG4gIGNvbnN0IGRpc3BsYXlOYW1lID0gb3B0aW9ucy5kaXNwbGF5TmFtZSA/PyBjYXJkLm5hbWU7XG4gIGxldCBwbGF5ZWRPZmZlcmluZ1ZhbHVlID0gMDtcbiAgbGV0IHNwZW50T2ZmZXJpbmdzID0gMDtcblxuICBwbGF5ZXIuaGFuZC5zcGxpY2UoaGFuZEluZGV4LCAxKTtcbiAgaWYgKGNhcmQudHlwZSA9PT0gJ29mZmVyaW5nJykge1xuICAgIHBsYXllZE9mZmVyaW5nVmFsdWUgPSBjYXJkLm9mZmVyaW5nVmFsdWUgPz8gY2FyZC5saWZlID8/IDE7XG4gICAgcGxheWVyLm9mZmVyaW5ncy5wdXNoKHtcbiAgICAgIGluc3RhbmNlSWQ6IGAke3NlYXQudG9Mb3dlckNhc2UoKX1fb2ZmZXJpbmdfJHtuZXh0LnJldmlzaW9uICsgMX1gLFxuICAgICAgY2FyZElkOiBjYXJkLmlkLFxuICAgICAgbmFtZTogZGlzcGxheU5hbWUsXG4gICAgICBvd25lcjogc2VhdCxcbiAgICAgIHJlYWR5OiB0cnVlLFxuICAgICAgdmFsdWU6IHBsYXllZE9mZmVyaW5nVmFsdWUsXG4gICAgICBhYmlsaXR5TmFtZTogY2FyZC5hYmlsaXR5TmFtZSxcbiAgICAgIGFiaWxpdHlUZXh0OiBjYXJkLmFiaWxpdHlUZXh0LFxuICAgICAgYWJpbGl0eUNvc3Q6IGNhcmQuYWJpbGl0eUNvc3QsXG4gICAgfSk7XG4gICAgcGxheWVyLm9mZmVyaW5nUGxheWVkVGhpc1R1cm4gPSB0cnVlO1xuICB9IGVsc2UgaWYgKGNhcmQudHlwZSA9PT0gJ2NoYXJhY3RlcicpIHtcbiAgICBjb25zdCBvY2N1cGllZFNsb3RzID0gbmV3IFNldChwbGF5ZXIuYmF0dGxlWm9uZS5tYXAoKGNoYXJhY3RlciwgaW5kZXgpID0+IE51bWJlci5pc0ludGVnZXIoY2hhcmFjdGVyLnNsb3QpID8gY2hhcmFjdGVyLnNsb3QgPz8gaW5kZXggOiBpbmRleCkpO1xuICAgIGNvbnN0IHRhcmdldFNsb3QgPSBvcHRpb25zLnNsb3RJbmRleCA/PyBbMCwgMSwgMiwgM10uZmluZChpbmRleCA9PiAhb2NjdXBpZWRTbG90cy5oYXMoaW5kZXgpKTtcbiAgICBpZiAodGFyZ2V0U2xvdCA9PT0gdW5kZWZpbmVkIHx8IG9jY3VwaWVkU2xvdHMuaGFzKHRhcmdldFNsb3QpKSB7XG4gICAgICByZXR1cm4geyBnYW1lLCBwbGF5ZWQ6IGZhbHNlLCBwbGF5ZWRPZmZlcmluZ1ZhbHVlOiAwLCBzcGVudE9mZmVyaW5nczogMCwgbG9nOiBbXSB9O1xuICAgIH1cbiAgICBzcGVudE9mZmVyaW5ncyA9IGNhcmQuY29zdCA/PyAwO1xuICAgIHNwZW5kT2ZmZXJpbmdzKHBsYXllciwgc3BlbnRPZmZlcmluZ3MpO1xuICAgIGNvbnN0IGxpZmUgPSBjYXJkLmxpZmUgPz8gMTtcbiAgICBwbGF5ZXIuYmF0dGxlWm9uZS5wdXNoKHtcbiAgICAgIGluc3RhbmNlSWQ6IGAke3NlYXQudG9Mb3dlckNhc2UoKX1fJHtuZXh0LnJldmlzaW9uICsgMX1fJHtwbGF5ZXIuYmF0dGxlWm9uZS5sZW5ndGh9YCxcbiAgICAgIGNhcmRJZDogY2FyZC5pZCxcbiAgICAgIG5hbWU6IGRpc3BsYXlOYW1lLFxuICAgICAgb3duZXI6IHNlYXQsXG4gICAgICBjb250cm9sbGVyOiBzZWF0LFxuICAgICAgc2xvdDogdGFyZ2V0U2xvdCxcbiAgICAgIGF0dGFjazogY2FyZC5hdHRhY2sgPz8gMCxcbiAgICAgIGN1cnJlbnRIcDogbGlmZSxcbiAgICAgIG1heEhwOiBsaWZlLFxuICAgICAgY2FuQXR0YWNrOiBmYWxzZSxcbiAgICB9KTtcbiAgICBwbGF5ZXIuYmF0dGxlWm9uZS5zb3J0KChsZWZ0LCByaWdodCkgPT4gKGxlZnQuc2xvdCA/PyAwKSAtIChyaWdodC5zbG90ID8/IDApKTtcbiAgfSBlbHNlIGlmIChjYXJkLnR5cGUgPT09ICdwbGFjZScpIHtcbiAgICBjb25zdCBwcmV2aW91c1BsYWNlID0gbmV4dC5wbGFjZVpvbmVbMF07XG4gICAgaWYgKHByZXZpb3VzUGxhY2UpIHtcbiAgICAgIG5leHQuaGlzdG9yeVpvbmUucHVzaChwcmV2aW91c1BsYWNlKTtcbiAgICB9XG4gICAgbmV4dC5wbGFjZVpvbmUgPSBbY2FyZC5pZF07XG4gIH1cblxuICBuZXh0LnJldmlzaW9uKys7XG4gIGNvbnN0IGxvZyA9IFtwbGF5Q2FyZExvZyhjYXJkLCBkaXNwbGF5TmFtZSldO1xuICBuZXh0LmxvZyA9IFsuLi5sb2csIC4uLm5leHQubG9nXS5zbGljZSgwLCA0KTtcbiAgcmV0dXJuIHsgZ2FtZTogbmV4dCwgcGxheWVkOiB0cnVlLCBwbGF5ZWRPZmZlcmluZ1ZhbHVlLCBzcGVudE9mZmVyaW5ncywgbG9nIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYW5Vc2VPZmZlcmluZ0FiaWxpdHkoXG4gIGdhbWU6IENocmlzdGlhbml0eUdhbWVTdGF0ZSxcbiAgc2VhdDogQ2hyaXN0aWFuaXR5U2VhdCxcbiAgb2ZmZXJpbmdJbnN0YW5jZUlkOiBzdHJpbmcsXG4pOiBib29sZWFuIHtcbiAgaWYgKGdhbWUuc3RhdHVzICE9PSAnaW5fcHJvZ3Jlc3MnIHx8IGdhbWUudHVybk93bmVyICE9PSBzZWF0KSByZXR1cm4gZmFsc2U7XG4gIGNvbnN0IHBsYXllciA9IGdhbWUucGxheWVyc1tzZWF0XTtcbiAgY29uc3Qgb2ZmZXJpbmcgPSBwbGF5ZXIub2ZmZXJpbmdzLmZpbmQoY2FyZCA9PiBjYXJkLmluc3RhbmNlSWQgPT09IG9mZmVyaW5nSW5zdGFuY2VJZCk7XG4gIGlmICghb2ZmZXJpbmc/LnJlYWR5IHx8ICFvZmZlcmluZy5hYmlsaXR5TmFtZSB8fCBvZmZlcmluZy5hYmlsaXR5VXNlZFRoaXNUdXJuKSByZXR1cm4gZmFsc2U7XG4gIHJldHVybiByZWFkeU9mZmVyaW5ncyhwbGF5ZXIpID49IChvZmZlcmluZy5hYmlsaXR5Q29zdCA/PyAwKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVPZmZlcmluZ0FiaWxpdHkoXG4gIGdhbWU6IENocmlzdGlhbml0eUdhbWVTdGF0ZSxcbiAgc2VhdDogQ2hyaXN0aWFuaXR5U2VhdCxcbiAgb2ZmZXJpbmdJbnN0YW5jZUlkOiBzdHJpbmcsXG4pOiBDaHJpc3RpYW5pdHlPZmZlcmluZ0FiaWxpdHlSZXN1bHQge1xuICBpZiAoIWNhblVzZU9mZmVyaW5nQWJpbGl0eShnYW1lLCBzZWF0LCBvZmZlcmluZ0luc3RhbmNlSWQpKSB7XG4gICAgcmV0dXJuIHsgZ2FtZSwgcmVzb2x2ZWQ6IGZhbHNlLCBsZWFkZXJEYW1hZ2U6IDAsIHJlc2VydmVHYWluOiAwLCBzcGVudE9mZmVyaW5nczogMCwgbG9nOiBbXSB9O1xuICB9XG5cbiAgY29uc3QgbmV4dCA9IHN0cnVjdHVyZWRDbG9uZShnYW1lKTtcbiAgY29uc3QgcGxheWVyID0gbmV4dC5wbGF5ZXJzW3NlYXRdO1xuICBjb25zdCBsaXZlT2ZmZXJpbmcgPSBwbGF5ZXIub2ZmZXJpbmdzLmZpbmQoY2FyZCA9PiBjYXJkLmluc3RhbmNlSWQgPT09IG9mZmVyaW5nSW5zdGFuY2VJZCk7XG4gIGlmICghbGl2ZU9mZmVyaW5nKSByZXR1cm4geyBnYW1lLCByZXNvbHZlZDogZmFsc2UsIGxlYWRlckRhbWFnZTogMCwgcmVzZXJ2ZUdhaW46IDAsIHNwZW50T2ZmZXJpbmdzOiAwLCBsb2c6IFtdIH07XG5cbiAgY29uc3Qgc3BlbnRPZmZlcmluZ3MgPSBsaXZlT2ZmZXJpbmcuYWJpbGl0eUNvc3QgPz8gMDtcbiAgaWYgKHNwZW50T2ZmZXJpbmdzID4gMCkge1xuICAgIHNwZW5kT2ZmZXJpbmdzKHBsYXllciwgc3BlbnRPZmZlcmluZ3MpO1xuICB9XG4gIGNvbnN0IHJlc2VydmVHYWluID0gb2ZmZXJpbmdBYmlsaXR5UmVzZXJ2ZUdhaW4obGl2ZU9mZmVyaW5nLmFiaWxpdHlUZXh0LCBsaXZlT2ZmZXJpbmcudmFsdWUpO1xuICBwbGF5ZXIudGVtcG9yYXJ5T2ZmZXJpbmdSZXNlcnZlID0gKHBsYXllci50ZW1wb3JhcnlPZmZlcmluZ1Jlc2VydmUgPz8gMCkgKyByZXNlcnZlR2FpbjtcbiAgcGxheWVyLm9mZmVyaW5ncyA9IHBsYXllci5vZmZlcmluZ3MubWFwKGNhcmQgPT4gKFxuICAgIGNhcmQuaW5zdGFuY2VJZCA9PT0gb2ZmZXJpbmdJbnN0YW5jZUlkXG4gICAgICA/IHsgLi4uY2FyZCwgYWJpbGl0eVVzZWRUaGlzVHVybjogdHJ1ZSB9XG4gICAgICA6IGNhcmRcbiAgKSk7XG4gIHBsYXllci5sZWFkZXJIcCA9IE1hdGgubWF4KDAsIHBsYXllci5sZWFkZXJIcCAtIDEpO1xuICBuZXh0LnJldmlzaW9uKys7XG4gIGNvbnN0IGxvZyA9IFtgJHtsaXZlT2ZmZXJpbmcubmFtZX06ICR7bGl2ZU9mZmVyaW5nLmFiaWxpdHlOYW1lfS5gXTtcbiAgbmV4dC5sb2cgPSBbLi4ubG9nLCAuLi5uZXh0LmxvZ10uc2xpY2UoMCwgNCk7XG4gIHJldHVybiB7IGdhbWU6IG5leHQsIHJlc29sdmVkOiB0cnVlLCBsZWFkZXJEYW1hZ2U6IDEsIHJlc2VydmVHYWluLCBzcGVudE9mZmVyaW5ncywgbG9nIH07XG59XG5cbmZ1bmN0aW9uIHBsYXlDYXJkTG9nKGNhcmQ6IENocmlzdGlhbml0eUNhcmREZWZpbml0aW9uLCBkaXNwbGF5TmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKGNhcmQudHlwZSA9PT0gJ29mZmVyaW5nJykgcmV0dXJuIGAke2Rpc3BsYXlOYW1lfSBxdWVkYSBsaXN0YSBjb21vIG9mcmVuZGEuYDtcbiAgaWYgKGNhcmQudHlwZSA9PT0gJ3BsYWNlJykgcmV0dXJuIGAke2Rpc3BsYXlOYW1lfSBxdWVkYSBjb21vIGx1Z2FyIGFjdGl2by5gO1xuICByZXR1cm4gYCR7ZGlzcGxheU5hbWV9IGVudHJhIGVuIGJhdGFsbGEuYDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVBdHRhY2tMZWFkZXIoXG4gIGdhbWU6IENocmlzdGlhbml0eUdhbWVTdGF0ZSxcbiAgYXR0YWNrZXJTZWF0OiBDaHJpc3RpYW5pdHlTZWF0LFxuICBhdHRhY2tlckluc3RhbmNlSWQ6IHN0cmluZyxcbiAgbWVzc2FnZXM6IENocmlzdGlhbml0eVJ1bGVNZXNzYWdlcyxcbik6IENocmlzdGlhbml0eUF0dGFja1Jlc3VsdCB7XG4gIGNvbnN0IGRlZmVuZGVyU2VhdCA9IG9wcG9uZW50U2VhdChhdHRhY2tlclNlYXQpO1xuICBpZiAoZ2FtZS5zdGF0dXMgIT09ICdpbl9wcm9ncmVzcycgfHwgZ2FtZS5wbGF5ZXJzW2RlZmVuZGVyU2VhdF0uYmF0dGxlWm9uZS5sZW5ndGggPiAwKSB7XG4gICAgcmV0dXJuIHsgZ2FtZSwgYXR0YWNrZWQ6IGZhbHNlLCBhdHRhY2tlckRhbWFnZTogMCwgdGFyZ2V0RGFtYWdlOiAwLCBsb2c6IFtdIH07XG4gIH1cblxuICBjb25zdCBuZXh0ID0gc3RydWN0dXJlZENsb25lKGdhbWUpO1xuICBjb25zdCBhdHRhY2tlciA9IG5leHQucGxheWVyc1thdHRhY2tlclNlYXRdLmJhdHRsZVpvbmUuZmluZChjYXJkID0+IGNhcmQuaW5zdGFuY2VJZCA9PT0gYXR0YWNrZXJJbnN0YW5jZUlkKTtcbiAgaWYgKCFhdHRhY2tlciB8fCAhYXR0YWNrZXIuY2FuQXR0YWNrKSByZXR1cm4geyBnYW1lLCBhdHRhY2tlZDogZmFsc2UsIGF0dGFja2VyRGFtYWdlOiAwLCB0YXJnZXREYW1hZ2U6IDAsIGxvZzogW10gfTtcblxuICBjb25zdCBkYW1hZ2UgPSBhdHRhY2tlci5hdHRhY2s7XG4gIG5leHQucGxheWVyc1tkZWZlbmRlclNlYXRdLmxlYWRlckhwID0gTWF0aC5tYXgoMCwgbmV4dC5wbGF5ZXJzW2RlZmVuZGVyU2VhdF0ubGVhZGVySHAgLSBkYW1hZ2UpO1xuICBhdHRhY2tlci5jYW5BdHRhY2sgPSBmYWxzZTtcbiAgY29uc3QgbG9nID0gW2Ake2F0dGFja2VyLm5hbWV9ICR7YXR0YWNrZXJTZWF0ID09PSAnUDEnID8gbWVzc2FnZXMuYXR0YWNrc09wcG9uZW50TGVhZGVyIDogbWVzc2FnZXMuYXR0YWNrc1lvdXJMZWFkZXJ9YF07XG4gIGV2YWx1YXRlVmljdG9yeShuZXh0LCBsb2csIG1lc3NhZ2VzKTtcbiAgbmV4dC5yZXZpc2lvbisrO1xuICBuZXh0LmxvZyA9IFsuLi5sb2csIC4uLm5leHQubG9nXS5zbGljZSgwLCA0KTtcbiAgcmV0dXJuIHsgZ2FtZTogbmV4dCwgYXR0YWNrZWQ6IHRydWUsIGF0dGFja2VyRGFtYWdlOiAwLCB0YXJnZXREYW1hZ2U6IGRhbWFnZSwgbG9nIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlQXR0YWNrQ2hhcmFjdGVyKFxuICBnYW1lOiBDaHJpc3RpYW5pdHlHYW1lU3RhdGUsXG4gIGF0dGFja2VyU2VhdDogQ2hyaXN0aWFuaXR5U2VhdCxcbiAgYXR0YWNrZXJJbnN0YW5jZUlkOiBzdHJpbmcsXG4gIHRhcmdldEluc3RhbmNlSWQ6IHN0cmluZyxcbiAgbWVzc2FnZXM6IENocmlzdGlhbml0eVJ1bGVNZXNzYWdlcyxcbik6IENocmlzdGlhbml0eUF0dGFja1Jlc3VsdCB7XG4gIGNvbnN0IGRlZmVuZGVyU2VhdCA9IG9wcG9uZW50U2VhdChhdHRhY2tlclNlYXQpO1xuICBpZiAoZ2FtZS5zdGF0dXMgIT09ICdpbl9wcm9ncmVzcycpIHJldHVybiB7IGdhbWUsIGF0dGFja2VkOiBmYWxzZSwgYXR0YWNrZXJEYW1hZ2U6IDAsIHRhcmdldERhbWFnZTogMCwgbG9nOiBbXSB9O1xuXG4gIGNvbnN0IG5leHQgPSBzdHJ1Y3R1cmVkQ2xvbmUoZ2FtZSk7XG4gIGNvbnN0IGF0dGFja2VyID0gbmV4dC5wbGF5ZXJzW2F0dGFja2VyU2VhdF0uYmF0dGxlWm9uZS5maW5kKGNhcmQgPT4gY2FyZC5pbnN0YW5jZUlkID09PSBhdHRhY2tlckluc3RhbmNlSWQpO1xuICBjb25zdCB0YXJnZXQgPSBuZXh0LnBsYXllcnNbZGVmZW5kZXJTZWF0XS5iYXR0bGVab25lLmZpbmQoY2FyZCA9PiBjYXJkLmluc3RhbmNlSWQgPT09IHRhcmdldEluc3RhbmNlSWQpO1xuICBpZiAoIWF0dGFja2VyIHx8ICF0YXJnZXQgfHwgIWF0dGFja2VyLmNhbkF0dGFjaykge1xuICAgIHJldHVybiB7IGdhbWUsIGF0dGFja2VkOiBmYWxzZSwgYXR0YWNrZXJEYW1hZ2U6IDAsIHRhcmdldERhbWFnZTogMCwgbG9nOiBbXSB9O1xuICB9XG5cbiAgdGFyZ2V0LmN1cnJlbnRIcCAtPSBhdHRhY2tlci5hdHRhY2s7XG4gIGF0dGFja2VyLmN1cnJlbnRIcCAtPSB0YXJnZXQuYXR0YWNrO1xuICBhdHRhY2tlci5jYW5BdHRhY2sgPSBmYWxzZTtcbiAgY2xlYW51cERlc3Ryb3llZChuZXh0LnBsYXllcnNbYXR0YWNrZXJTZWF0XSwgbmV4dCk7XG4gIGNsZWFudXBEZXN0cm95ZWQobmV4dC5wbGF5ZXJzW2RlZmVuZGVyU2VhdF0sIG5leHQpO1xuICBjb25zdCBsb2cgPSBbYCR7YXR0YWNrZXIubmFtZX0gJHttZXNzYWdlcy5jb21iYXRzQWdhaW5zdH0gJHt0YXJnZXQubmFtZX0uYF07XG4gIGV2YWx1YXRlVmljdG9yeShuZXh0LCBsb2csIG1lc3NhZ2VzKTtcbiAgbmV4dC5yZXZpc2lvbisrO1xuICBuZXh0LmxvZyA9IFsuLi5sb2csIC4uLm5leHQubG9nXS5zbGljZSgwLCA0KTtcblxuICByZXR1cm4geyBnYW1lOiBuZXh0LCBhdHRhY2tlZDogdHJ1ZSwgYXR0YWNrZXJEYW1hZ2U6IHRhcmdldC5hdHRhY2ssIHRhcmdldERhbWFnZTogYXR0YWNrZXIuYXR0YWNrLCBsb2cgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkdmFuY2VUdXJuKGdhbWU6IENocmlzdGlhbml0eUdhbWVTdGF0ZSwgbWVzc2FnZXM6IENocmlzdGlhbml0eVJ1bGVNZXNzYWdlcyk6IHN0cmluZ1tdIHtcbiAgZ2FtZS5wbGF5ZXJzW2dhbWUudHVybk93bmVyXS50ZW1wb3JhcnlPZmZlcmluZ1Jlc2VydmUgPSAwO1xuICBnYW1lLnR1cm5Pd25lciA9IG9wcG9uZW50U2VhdChnYW1lLnR1cm5Pd25lcik7XG4gIGdhbWUudHVybkNvdW50Kys7XG4gIGNvbnN0IGN1cnJlbnQgPSBnYW1lLnBsYXllcnNbZ2FtZS50dXJuT3duZXJdO1xuICBjdXJyZW50Lm9mZmVyaW5nUGxheWVkVGhpc1R1cm4gPSBmYWxzZTtcbiAgY3VycmVudC5vZmZlcmluZ3MgPSBjdXJyZW50Lm9mZmVyaW5ncy5tYXAob2ZmZXJpbmcgPT4gKHsgLi4ub2ZmZXJpbmcsIHJlYWR5OiB0cnVlLCBhYmlsaXR5VXNlZFRoaXNUdXJuOiBmYWxzZSB9KSk7XG4gIGN1cnJlbnQuYmF0dGxlWm9uZSA9IGN1cnJlbnQuYmF0dGxlWm9uZS5tYXAoY2FyZCA9PiAoeyAuLi5jYXJkLCBjYW5BdHRhY2s6IHRydWUgfSkpO1xuICBjb25zdCBkcmF3bkNhcmQgPSBnYW1lLnNoYXJlZERlY2suc2hpZnQoKTtcbiAgaWYgKGRyYXduQ2FyZCkge1xuICAgIGlmIChjdXJyZW50LmhhbmQpIHtcbiAgICAgIGN1cnJlbnQuaGFuZC5wdXNoKGRyYXduQ2FyZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGN1cnJlbnQuaGFuZENvdW50ID0gKGN1cnJlbnQuaGFuZENvdW50ID8/IDApICsgMTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIFtcbiAgICBkcmF3bkNhcmQgPyBgJHtjdXJyZW50LmRpc3BsYXlOYW1lfSAke21lc3NhZ2VzLmRyYXdzQ2FyZH1gIDogbWVzc2FnZXMuZGVja0lzRW1wdHksXG4gICAgYCR7bWVzc2FnZXMudHVybk9mfSAke2N1cnJlbnQuZGlzcGxheU5hbWV9LmAsXG4gIF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBldmFsdWF0ZVZpY3RvcnkoZ2FtZTogQ2hyaXN0aWFuaXR5R2FtZVN0YXRlLCBsb2c6IHN0cmluZ1tdLCBtZXNzYWdlczogQ2hyaXN0aWFuaXR5UnVsZU1lc3NhZ2VzKTogdm9pZCB7XG4gIGlmIChnYW1lLnBsYXllcnMuUDEubGVhZGVySHAgPiAwICYmIGdhbWUucGxheWVycy5QMi5sZWFkZXJIcCA+IDApIHJldHVybjtcbiAgZ2FtZS5zdGF0dXMgPSAnZmluaXNoZWQnO1xuICBjb25zdCB3aW5uZXI6IENocmlzdGlhbml0eVNlYXQgPSBnYW1lLnBsYXllcnMuUDEubGVhZGVySHAgPD0gMCA/ICdQMicgOiAnUDEnO1xuICBnYW1lLm1hdGNoU2NvcmVbd2lubmVyXSArPSAxO1xuICBsb2cucHVzaCh3aW5uZXIgPT09ICdQMScgPyBtZXNzYWdlcy55b3VXaW4gOiBtZXNzYWdlcy5vcHBvbmVudFdpbnMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYW51cERlc3Ryb3llZChwbGF5ZXI6IENocmlzdGlhbml0eVBsYXllclN0YXRlLCBnYW1lOiBDaHJpc3RpYW5pdHlHYW1lU3RhdGUpOiB2b2lkIHtcbiAgY29uc3QgZGVzdHJveWVkID0gcGxheWVyLmJhdHRsZVpvbmUuZmlsdGVyKGNhcmQgPT4gY2FyZC5jdXJyZW50SHAgPD0gMCk7XG4gIGlmICghZGVzdHJveWVkLmxlbmd0aCkgcmV0dXJuO1xuICBnYW1lLmhpc3Rvcnlab25lLnB1c2goLi4uZGVzdHJveWVkLm1hcChjYXJkID0+IGNhcmQuY2FyZElkKSk7XG4gIHBsYXllci5iYXR0bGVab25lID0gcGxheWVyLmJhdHRsZVpvbmUuZmlsdGVyKGNhcmQgPT4gY2FyZC5jdXJyZW50SHAgPiAwKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNwZW5kT2ZmZXJpbmdzKHBsYXllcjogQ2hyaXN0aWFuaXR5UGxheWVyU3RhdGUsIGNvc3Q6IG51bWJlcik6IHZvaWQge1xuICBsZXQgcmVtYWluaW5nID0gY29zdDtcbiAgY29uc3QgdGVtcG9yYXJ5UmVzZXJ2ZSA9IHBsYXllci50ZW1wb3JhcnlPZmZlcmluZ1Jlc2VydmUgPz8gMDtcbiAgaWYgKHRlbXBvcmFyeVJlc2VydmUgPiAwKSB7XG4gICAgY29uc3Qgc3BlbnRUZW1wb3JhcnlSZXNlcnZlID0gTWF0aC5taW4odGVtcG9yYXJ5UmVzZXJ2ZSwgcmVtYWluaW5nKTtcbiAgICBwbGF5ZXIudGVtcG9yYXJ5T2ZmZXJpbmdSZXNlcnZlID0gdGVtcG9yYXJ5UmVzZXJ2ZSAtIHNwZW50VGVtcG9yYXJ5UmVzZXJ2ZTtcbiAgICByZW1haW5pbmcgLT0gc3BlbnRUZW1wb3JhcnlSZXNlcnZlO1xuICB9XG4gIHBsYXllci5vZmZlcmluZ3MgPSBwbGF5ZXIub2ZmZXJpbmdzLm1hcChvZmZlcmluZyA9PiB7XG4gICAgaWYgKHJlbWFpbmluZyA8PSAwIHx8ICFvZmZlcmluZy5yZWFkeSkgcmV0dXJuIG9mZmVyaW5nO1xuICAgIHJlbWFpbmluZyAtPSBvZmZlcmluZy52YWx1ZTtcbiAgICByZXR1cm4geyAuLi5vZmZlcmluZywgcmVhZHk6IGZhbHNlIH07XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBvZmZlcmluZ0FiaWxpdHlSZXNlcnZlR2FpbihhYmlsaXR5VGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkLCBmYWxsYmFja1ZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICBjb25zdCBtYXRjaCA9IGFiaWxpdHlUZXh0Py5tYXRjaCgvdmFsb3IgZGUgKFxcZCspIG9mcmVuZGFzPy9pKTtcbiAgY29uc3QgcGFyc2VkID0gbWF0Y2ggPyBOdW1iZXIobWF0Y2hbMV0pIDogTnVtYmVyLk5hTjtcbiAgcmV0dXJuIE51bWJlci5pc0Zpbml0ZShwYXJzZWQpICYmIHBhcnNlZCA+IDAgPyBwYXJzZWQgOiBNYXRoLm1heCgxLCBmYWxsYmFja1ZhbHVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9wcG9uZW50U2VhdChzZWF0OiBDaHJpc3RpYW5pdHlTZWF0KTogQ2hyaXN0aWFuaXR5U2VhdCB7XG4gIHJldHVybiBzZWF0ID09PSAnUDEnID8gJ1AyJyA6ICdQMSc7XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL21pbmktZ2FtZXMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIE1pbmlHYW1lU3RhdHVzID0gJ2F2YWlsYWJsZScgfCAnc29vbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWluaUdhbWVEZWZpbml0aW9uIHtcbiAgaWQ6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgaWNvbjogc3RyaW5nO1xuICBpbWFnZVNyYz86IHN0cmluZztcbiAgcm91dGU/OiBzdHJpbmc7XG4gIHN0YXR1cz86IE1pbmlHYW1lU3RhdHVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1pbmlHYW1lUGxheWVyUHJvZmlsZSB7XG4gIGlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgYXZhdGFyOiBzdHJpbmc7XG4gIGNvbG9yOiBzdHJpbmc7XG4gIGNyZWF0ZWRBdDogc3RyaW5nO1xuICB1cGRhdGVkQXQ6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgTWVtb3J5R2FtZURpZmZpY3VsdHkgPSAnZWFzeScgfCAnbWVkaXVtJyB8ICdoYXJkJztcblxuZXhwb3J0IHR5cGUgTWVtb3J5R2FtZU1vZGUgPSAnY2xhc3NpYycgfCAncmVsYXhlZCcgfCAndGltZWQnO1xuXG5leHBvcnQgdHlwZSBNZW1vcnlHYW1lUHJvZmlsZSA9ICdraWQnIHwgJ2NsYXNzaWMnIHwgJ25pbmphJztcblxuZXhwb3J0IGludGVyZmFjZSBNZW1vcnlHYW1lQ2FyZCB7XG4gIGlkOiBzdHJpbmc7XG4gIHN5bWJvbDogc3RyaW5nO1xuICBtYXRjaGVkOiBib29sZWFuO1xuICBmbGlwcGVkOiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBTaW1vbkdhbWVNb2RlID0gJ2tpZCcgfCAnY2xhc3NpYycgfCAnbmluamEnO1xuXG5leHBvcnQgdHlwZSBTaW1vbkdhbWVQaGFzZSA9ICdob21lJyB8ICdzaG93aW5nJyB8ICd3YWl0aW5nJyB8ICdzdWNjZXNzJyB8ICdmYWlsZWQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNpbW9uUGFkIHtcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgY29sb3I6IHN0cmluZztcbiAgdG9uZTogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBCdWJibGVCbGl0ek1vZGUgPSAna2lkJyB8ICdjbGFzc2ljJyB8ICduaW5qYSc7XG5leHBvcnQgdHlwZSBCdWJibGVCbGl0elBoYXNlID0gJ2hvbWUnIHwgJ3BsYXlpbmcnIHwgJ2ZpbmlzaGVkJztcbmV4cG9ydCB0eXBlIEJ1YmJsZUJsaXR6Q29sb3IgPSAncm9zZScgfCAnY3lhbicgfCAnc3VuJyB8ICd2aW9sZXQnIHwgJ2xlYWYnIHwgJ29yYW5nZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnViYmxlQmxpdHpDZWxsIHtcbiAgaWQ6IHN0cmluZztcbiAgcm93OiBudW1iZXI7XG4gIGNvbDogbnVtYmVyO1xuICBjb2xvcjogQnViYmxlQmxpdHpDb2xvcjtcbiAgc3RhdGU/OiAnaWRsZScgfCAncG9wcGluZycgfCAnZmFsbGluZycgfCAnZW50ZXJpbmcnO1xuICBkcm9wPzogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBDaGVzc2ltYWxzQm9hcmRTaXplID0gNiB8IDg7XG5leHBvcnQgdHlwZSBDaGVzc2ltYWxzUGxheWVyQ29sb3IgPSAnd2hpdGUnIHwgJ2JsYWNrJztcbmV4cG9ydCB0eXBlIENoZXNzaW1hbHNBbmltYWxUeXBlID0gJ2VhZ2xlJyB8ICdidWxsJyB8ICdrYW5nYXJvbycgfCAnbGlvbic7XG5leHBvcnQgdHlwZSBDaGVzc2ltYWxzTW92ZUtpbmQgPSAnYmFzaWMnIHwgJ3Bvd2VyJztcbmV4cG9ydCB0eXBlIENoZXNzaW1hbHNXaW5SZWFzb24gPSAncHJvbW90aW9uJyB8ICdlbGltaW5hdGlvbicgfCAncmVzaWduYXRpb24nO1xuZXhwb3J0IHR5cGUgQ2hlc3NpbWFsc0dhbWVNb2RlID0gJ2xvY2FsJyB8ICdvbmxpbmUnO1xuZXhwb3J0IHR5cGUgQ2hlc3NpbWFsc0xvY2FsTW9kZSA9ICdvbmUtZGV2aWNlJyB8ICdib3QnO1xuZXhwb3J0IHR5cGUgQ2hlc3NpbWFsc0JvdERpZmZpY3VsdHkgPSAnZWFzeScgfCAnbm9ybWFsJyB8ICdoYXJkJztcbmV4cG9ydCB0eXBlIENoZXNzaW1hbHNCb3RQcm9maWxlSWQgPVxuICB8ICdleHBsb3JlcidcbiAgfCAnaW1wdWxzaXZlJ1xuICB8ICdydW5uZXInXG4gIHwgJ2h1bnRlcidcbiAgfCAnZ3VhcmRpYW4nXG4gIHwgJ2p1bXBlcidcbiAgfCAnc3RyYXRlZ2lzdCdcbiAgfCAncHJlZGF0b3InXG4gIHwgJ3NwcmludGVyJ1xuICB8ICdzZW50aW5lbCdcbiAgfCAnb3JhY2xlJ1xuICB8ICdhbWJ1c2hlcidcbiAgfCAnbG9ja3NtaXRoJ1xuICB8ICdzdG9ybSdcbiAgfCAnbWF0cmlhcmNoJ1xuICB8ICdlbmRnYW1lJztcbmV4cG9ydCB0eXBlIENoZXNzaW1hbHNHYW1lU3RhdHVzID0gJ3dhaXRpbmcnIHwgJ2luX3Byb2dyZXNzJyB8ICdmaW5pc2hlZCcgfCAnZXhwaXJlZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc0JvdFByb2ZpbGUge1xuICBpZDogQ2hlc3NpbWFsc0JvdFByb2ZpbGVJZDtcbiAgZGlmZmljdWx0eTogQ2hlc3NpbWFsc0JvdERpZmZpY3VsdHk7XG4gIGF2YXRhcjogc3RyaW5nO1xuICBsYWJlbEtleTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbktleTogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBDaGVzc2ltYWxzQ2hhbGxlbmdlU3RhdHVzID0gJ2FjdGl2ZScgfCAnY29tcGxldGVkJyB8ICdmYWlsZWQnIHwgJ2FiYW5kb25lZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc0NoYWxsZW5nZUJvdCB7XG4gIGlkOiBzdHJpbmc7XG4gIHJvdW5kOiBudW1iZXI7XG4gIHByb2ZpbGVJZDogQ2hlc3NpbWFsc0JvdFByb2ZpbGVJZDtcbiAgZGlmZmljdWx0eTogQ2hlc3NpbWFsc0JvdERpZmZpY3VsdHk7XG4gIGJvYXJkU2l6ZTogQ2hlc3NpbWFsc0JvYXJkU2l6ZTtcbiAgaW50cm9LZXk6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzQ2hhbGxlbmdlUm91bmRTdGF0cyB7XG4gIHBvd2Vyc1VzZWQ6IFJlY29yZDxDaGVzc2ltYWxzQW5pbWFsVHlwZSwgbnVtYmVyPjtcbiAgcG93ZXJDYXB0dXJlczogbnVtYmVyO1xuICBwcm9tb3Rpb25zOiBudW1iZXI7XG4gIGNhcHR1cmVzOiBudW1iZXI7XG4gIG1vdmVzOiBudW1iZXI7XG4gIHNjb3JlOiBudW1iZXI7XG4gIGJlc3RNb3ZlU2NvcmU6IG51bWJlcjtcbiAgYmVzdENvbWJvOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc0NoYWxsZW5nZVJvdW5kUmVzdWx0IHtcbiAgcm91bmQ6IG51bWJlcjtcbiAgYm90SWQ6IHN0cmluZztcbiAgcHJvZmlsZUlkOiBDaGVzc2ltYWxzQm90UHJvZmlsZUlkO1xuICB3b246IGJvb2xlYW47XG4gIGxpdmVzUmVtYWluaW5nOiBudW1iZXI7XG4gIHN0YXRzOiBDaGVzc2ltYWxzQ2hhbGxlbmdlUm91bmRTdGF0cztcbiAgZmluaXNoZWRBdDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoZXNzaW1hbHNDaGFsbGVuZ2VSdW4ge1xuICBpZDogc3RyaW5nO1xuICB1c2VySWQ/OiBzdHJpbmc7XG4gIHNjaGVtYVZlcnNpb24/OiAyO1xuICBzdGF0dXM6IENoZXNzaW1hbHNDaGFsbGVuZ2VTdGF0dXM7XG4gIGxpdmVzU3RhcnQ6IDM7XG4gIGxpdmVzUmVtYWluaW5nOiBudW1iZXI7XG4gIHJvdW5kSW5kZXg/OiBudW1iZXI7XG4gIGN1cnJlbnRSb3VuZDogbnVtYmVyO1xuICByb3VuZHNXb24/OiBudW1iZXI7XG4gIGhpZ2hlc3RSb3VuZFJlYWNoZWQ/OiBudW1iZXI7XG4gIGFjdGl2ZVJvdW5kSWQ/OiBzdHJpbmc7XG4gIHdpbnM6IG51bWJlcjtcbiAgbG9zc2VzOiBudW1iZXI7XG4gIGJlc3RTdHJlYWtJblJ1bjogbnVtYmVyO1xuICBjdXJyZW50U3RyZWFrOiBudW1iZXI7XG4gIGJvdExhZGRlcjogc3RyaW5nW107XG4gIHJvdW5kUmVzdWx0czogQ2hlc3NpbWFsc0NoYWxsZW5nZVJvdW5kUmVzdWx0W107XG4gIHN0YXJ0ZWRBdDogc3RyaW5nO1xuICBsYXN0RXZlbnRBdD86IHN0cmluZztcbiAgdXBkYXRlZEF0OiBzdHJpbmc7XG4gIGZpbmlzaGVkQXQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc0NoYWxsZW5nZVN0YXRzIHtcbiAgdXNlcklkPzogc3RyaW5nO1xuICBjaGFsbGVuZ2VzUGxheWVkOiBudW1iZXI7XG4gIGNoYWxsZW5nZXNDb21wbGV0ZWQ6IG51bWJlcjtcbiAgYmVzdFdpblN0cmVhazogbnVtYmVyO1xuICBiZXN0Um91bmRSZWFjaGVkOiBudW1iZXI7XG4gIHRvdGFsV2luczogbnVtYmVyO1xuICB0b3RhbExvc3NlczogbnVtYmVyO1xuICBib3RzRGVmZWF0ZWQ6IG51bWJlcjtcbiAgcG93ZXJzVXNlZDogUmVjb3JkPENoZXNzaW1hbHNBbmltYWxUeXBlLCBudW1iZXI+O1xuICBwb3dlckNhcHR1cmVzOiBudW1iZXI7XG4gIHByb21vdGlvbnM6IG51bWJlcjtcbiAgdG90YWxTY29yZTogbnVtYmVyO1xuICBiZXN0Um91bmRTY29yZTogbnVtYmVyO1xuICBiZXN0TW92ZVNjb3JlOiBudW1iZXI7XG4gIGJlc3RDb21ibzogbnVtYmVyO1xuICBtb2RlU3RhdHM6IFJlY29yZDxDaGVzc2ltYWxzU3RhdHNNb2RlLCBDaGVzc2ltYWxzTW9kZVN0YXRzPjtcbiAgdXBkYXRlZEF0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBDaGVzc2ltYWxzU3RhdHNNb2RlID0gJ2NoYWxsZW5nZScgfCAnYm90JyB8ICdvbmxpbmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENoZXNzaW1hbHNNb2RlU3RhdHMge1xuICBwbGF5ZWQ6IG51bWJlcjtcbiAgd2luczogbnVtYmVyO1xuICBsb3NzZXM6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzUG9zaXRpb24ge1xuICByb3c6IG51bWJlcjtcbiAgY29sOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc1BpZWNlIHtcbiAgaWQ6IHN0cmluZztcbiAgY29sb3I6IENoZXNzaW1hbHNQbGF5ZXJDb2xvcjtcbiAgcG9zaXRpb246IENoZXNzaW1hbHNQb3NpdGlvbjtcbiAgY2FwdHVyZWQ6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc1Bvd2VyQ2FyZCB7XG4gIHR5cGU6IENoZXNzaW1hbHNBbmltYWxUeXBlO1xuICB1c2VkOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoZXNzaW1hbHNQbGF5ZXJTdGF0ZSB7XG4gIGNvbG9yOiBDaGVzc2ltYWxzUGxheWVyQ29sb3I7XG4gIHBvd2VyVW5sb2NrZWQ6IGJvb2xlYW47XG4gIGNhcmRzOiBSZWNvcmQ8Q2hlc3NpbWFsc0FuaW1hbFR5cGUsIENoZXNzaW1hbHNQb3dlckNhcmQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoZXNzaW1hbHNNb3ZlIHtcbiAgcGllY2VJZDogc3RyaW5nO1xuICBmcm9tOiBDaGVzc2ltYWxzUG9zaXRpb247XG4gIHRvOiBDaGVzc2ltYWxzUG9zaXRpb247XG4gIGtpbmQ6IENoZXNzaW1hbHNNb3ZlS2luZDtcbiAgYW5pbWFsPzogQ2hlc3NpbWFsc0FuaW1hbFR5cGU7XG4gIGNhcHR1cmVzUGllY2VJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzTW92ZUhpc3RvcnlFbnRyeSB7XG4gIG1vdmVOdW1iZXI6IG51bWJlcjtcbiAgcGllY2VzOiBDaGVzc2ltYWxzUGllY2VbXTtcbiAgY3VycmVudFR1cm46IENoZXNzaW1hbHNQbGF5ZXJDb2xvcjtcbiAgc3RhdHVzOiBDaGVzc2ltYWxzR2FtZVN0YXR1cztcbiAgbW92ZT86IENoZXNzaW1hbHNNb3ZlO1xuICB3aW5uZXI/OiBDaGVzc2ltYWxzUGxheWVyQ29sb3I7XG4gIHdpbm5lclJlYXNvbj86IENoZXNzaW1hbHNXaW5SZWFzb247XG59XG5cbmV4cG9ydCB0eXBlIENoZXNzaW1hbHNNb3ZlTG9nU3RhdHVzID0gJ2FjY2VwdGVkJyB8ICdyZWplY3RlZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc01vdmVMb2dFbnRyeSB7XG4gIGlkOiBzdHJpbmc7XG4gIGF0OiBzdHJpbmc7XG4gIHVpZDogc3RyaW5nO1xuICBwcm9maWxlSWQ/OiBzdHJpbmc7XG4gIHNlYXRLZXk/OiBzdHJpbmc7XG4gIHNpZGU/OiBDaGVzc2ltYWxzUGxheWVyQ29sb3I7XG4gIHN0YXR1czogQ2hlc3NpbWFsc01vdmVMb2dTdGF0dXM7XG4gIGNvZGU/OiBzdHJpbmc7XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIG1vdmU6IENoZXNzaW1hbHNNb3ZlO1xuICBtb3ZlQ291bnRCZWZvcmU6IG51bWJlcjtcbiAgbW92ZUNvdW50QWZ0ZXI/OiBudW1iZXI7XG4gIGN1cnJlbnRUdXJuQmVmb3JlOiBDaGVzc2ltYWxzUGxheWVyQ29sb3I7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc09ubGluZVBhcnRpY2lwYW50IHtcbiAgdWlkOiBzdHJpbmc7XG4gIGFjY291bnRVc2VySWQ/OiBzdHJpbmc7XG4gIHByb2ZpbGVJZDogc3RyaW5nO1xuICBzZWF0S2V5Pzogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGhhbmRsZT86IHN0cmluZztcbiAgZW1haWw/OiBzdHJpbmc7XG4gIGF2YXRhcjogc3RyaW5nO1xuICBhdmF0YXJVcmw/OiBzdHJpbmc7XG4gIGNvbG9yOiBzdHJpbmc7XG4gIHNpZGU/OiBDaGVzc2ltYWxzUGxheWVyQ29sb3I7XG4gIGpvaW5lZEF0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc09ubGluZVN0YXRlIHtcbiAgZ2FtZUlkOiBzdHJpbmc7XG4gIGhvc3RVaWQ6IHN0cmluZztcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIHVwZGF0ZWRBdDogc3RyaW5nO1xuICBleHBpcmVzQXQ6IHN0cmluZztcbiAgZXhwaXJlc0F0TXM6IG51bWJlcjtcbiAgcm91bmQ6IG51bWJlcjtcbiAgcmVtYXRjaE9mPzogc3RyaW5nO1xuICBsb2JieT86IENoZXNzaW1hbHNPbmxpbmVQYXJ0aWNpcGFudDtcbiAgcGVuZGluZ0d1ZXN0PzogQ2hlc3NpbWFsc09ubGluZVBhcnRpY2lwYW50O1xuICBwYXJ0aWNpcGFudHM/OiBQYXJ0aWFsPFJlY29yZDxDaGVzc2ltYWxzUGxheWVyQ29sb3IsIENoZXNzaW1hbHNPbmxpbmVQYXJ0aWNpcGFudD4+O1xuICByZW1hdGNoUmVxdWVzdHM/OiBzdHJpbmdbXTtcbiAgbW92ZUxvZz86IENoZXNzaW1hbHNNb3ZlTG9nRW50cnlbXTtcbn1cblxuZXhwb3J0IHR5cGUgQ2hlc3NpbWFsc0hpc3RvcnlPdXRjb21lID0gJ3dhaXRpbmcnIHwgJ3BlbmRpbmcnIHwgJ2luX3Byb2dyZXNzJyB8ICd3b24nIHwgJ2xvc3QnIHwgJ2RlY2xpbmVkJztcblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzSGlzdG9yeUVudHJ5IHtcbiAgZ2FtZUlkOiBzdHJpbmc7XG4gIG1vZGU6ICdvbmxpbmUnO1xuICBib2FyZFNpemU6IENoZXNzaW1hbHNCb2FyZFNpemU7XG4gIHN0YXR1czogQ2hlc3NpbWFsc0dhbWVTdGF0dXM7XG4gIG91dGNvbWU6IENoZXNzaW1hbHNIaXN0b3J5T3V0Y29tZTtcbiAgc2lkZT86IENoZXNzaW1hbHNQbGF5ZXJDb2xvcjtcbiAgb3Bwb25lbnRVaWQ/OiBzdHJpbmc7XG4gIG9wcG9uZW50TmFtZT86IHN0cmluZztcbiAgd2lubmVyPzogQ2hlc3NpbWFsc1BsYXllckNvbG9yO1xuICB3aW5uZXJSZWFzb24/OiBDaGVzc2ltYWxzV2luUmVhc29uO1xuICBtb3ZlQ291bnQ6IG51bWJlcjtcbiAgcm91bmQ6IG51bWJlcjtcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIHVwZGF0ZWRBdDogc3RyaW5nO1xuICBmaW5pc2hlZEF0Pzogc3RyaW5nO1xuICBleHBpcmVzQXQ/OiBzdHJpbmc7XG4gIHJlbWF0Y2hPZj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzR2FtZVN0YXRlIHtcbiAgaWQ6IHN0cmluZztcbiAgbW9kZTogQ2hlc3NpbWFsc0dhbWVNb2RlO1xuICBib2FyZFNpemU6IENoZXNzaW1hbHNCb2FyZFNpemU7XG4gIHN0YXR1czogQ2hlc3NpbWFsc0dhbWVTdGF0dXM7XG4gIGN1cnJlbnRUdXJuOiBDaGVzc2ltYWxzUGxheWVyQ29sb3I7XG4gIHBpZWNlczogQ2hlc3NpbWFsc1BpZWNlW107XG4gIHBsYXllcnM6IFJlY29yZDxDaGVzc2ltYWxzUGxheWVyQ29sb3IsIENoZXNzaW1hbHNQbGF5ZXJTdGF0ZT47XG4gIHdpbm5lcj86IENoZXNzaW1hbHNQbGF5ZXJDb2xvcjtcbiAgd2lubmVyUmVhc29uPzogQ2hlc3NpbWFsc1dpblJlYXNvbjtcbiAgbW92ZUNvdW50OiBudW1iZXI7XG4gIGxhc3RNb3ZlPzogQ2hlc3NpbWFsc01vdmU7XG4gIG1vdmVIaXN0b3J5PzogQ2hlc3NpbWFsc01vdmVIaXN0b3J5RW50cnlbXTtcbiAgb25saW5lPzogQ2hlc3NpbWFsc09ubGluZVN0YXRlO1xufVxuXG5leHBvcnQgdHlwZSBDaHJpc3RpYW5pdHlTZWF0ID0gJ1AxJyB8ICdQMic7XG5leHBvcnQgdHlwZSBDaHJpc3RpYW5pdHlHYW1lU3RhdHVzID0gJ2luX3Byb2dyZXNzJyB8ICdmaW5pc2hlZCc7XG5leHBvcnQgdHlwZSBDaHJpc3RpYW5pdHlHYW1lTW9kZSA9ICdzb2xvX2JvdCcgfCAndHdvX3BsYXllcicgfCAnbG9jYWxfcGFzcyc7XG5leHBvcnQgdHlwZSBDaHJpc3RpYW5pdHlDYXJkVHlwZSA9ICdhY3Rpb24nIHwgJ2NoYXJhY3RlcicgfCAnZXZlbnQnIHwgJ2xlYWRlcicgfCAnb2ZmZXJpbmcnIHwgJ3BsYWNlJyB8ICd0b29sJyB8ICd3aXNkb20nO1xuZXhwb3J0IHR5cGUgQ2hyaXN0aWFuaXR5Q2FyZFJhcml0eSA9ICdub3JtYWwnIHwgJ3VuY29tbW9uJyB8ICdyYXJlJyB8ICdsZWdlbmRhcnknO1xuXG5leHBvcnQgaW50ZXJmYWNlIENocmlzdGlhbml0eUNhcmRBYmlsaXR5IHtcbiAgbmFtZT86IHN0cmluZztcbiAgdGV4dD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaHJpc3RpYW5pdHlDYXJkVHJhbnNsYXRpb24ge1xuICBuYW1lPzogc3RyaW5nO1xuICBmdWxsTmFtZT86IHN0cmluZztcbiAgdmVyc2VUZXh0Pzogc3RyaW5nO1xuICBzY3JpcHR1cmU/OiBzdHJpbmc7XG4gIGFiaWxpdHlOYW1lPzogc3RyaW5nO1xuICBhYmlsaXR5VGV4dD86IHN0cmluZztcbiAgYWJpbGl0aWVzPzogQ2hyaXN0aWFuaXR5Q2FyZEFiaWxpdHlbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaHJpc3RpYW5pdHlDYXJkQmlibGVSZWZlcmVuY2Uge1xuICBib29rPzogc3RyaW5nO1xuICBjaGFwdGVyPzogbnVtYmVyO1xuICByZWZlcmVuY2U/OiBzdHJpbmc7XG4gIHZlcnNpb24/OiBzdHJpbmc7XG4gIHRleHQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hyaXN0aWFuaXR5Q2FyZEFydCB7XG4gIGxlZ2VuZD86IHN0cmluZztcbiAgc2l6ZT86IG51bWJlcjtcbiAgcG9zaXRpb25YPzogbnVtYmVyO1xuICBwb3NpdGlvblk/OiBudW1iZXI7XG4gIGltYWdlUGF0aD86IHN0cmluZztcbiAgaW1hZ2VVcmw/OiBzdHJpbmc7XG4gIG1pbWVUeXBlPzogc3RyaW5nO1xuICB3aWR0aD86IG51bWJlcjtcbiAgaGVpZ2h0PzogbnVtYmVyO1xuICBzb3VyY2U/OiBzdHJpbmc7XG4gIG1vZGVsPzogc3RyaW5nO1xuICBhcnRpc3RDcmVkaXQ/OiBzdHJpbmc7XG4gIHByb21wdElkPzogc3RyaW5nO1xuICBzdGF0dXM/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hyaXN0aWFuaXR5Q2FyZERlZmluaXRpb24ge1xuICBpZDogc3RyaW5nO1xuICBzb3VyY2VJZD86IG51bWJlcjtcbiAgZWRpdGlvbk51bWJlcj86IG51bWJlcjtcbiAgZWRpdGlvbkljb24/OiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgZnVsbE5hbWU/OiBzdHJpbmc7XG4gIHR5cGU6IENocmlzdGlhbml0eUNhcmRUeXBlO1xuICBjb3N0PzogbnVtYmVyO1xuICBvZmZlcmluZ1ZhbHVlPzogbnVtYmVyO1xuICBhdHRhY2s/OiBudW1iZXI7XG4gIGxpZmU/OiBudW1iZXI7XG4gIGxlYWRlckxpZmU/OiBudW1iZXI7XG4gIGxlZ2FjeVJlc3RyaWN0aW9uPzogbnVtYmVyO1xuICBhYmlsaXR5TmFtZT86IHN0cmluZztcbiAgYWJpbGl0eVRleHQ/OiBzdHJpbmc7XG4gIGFiaWxpdHlDb3N0PzogbnVtYmVyO1xuICBhYmlsaXRpZXM/OiBDaHJpc3RpYW5pdHlDYXJkQWJpbGl0eVtdO1xuICBzdHJhdGVneT86IHN0cmluZztcbiAgcG93ZXI/OiBzdHJpbmc7XG4gIGJpYmxlPzogQ2hyaXN0aWFuaXR5Q2FyZEJpYmxlUmVmZXJlbmNlO1xuICBhcnQ/OiBDaHJpc3RpYW5pdHlDYXJkQXJ0O1xuICBpbWFnZVVybD86IHN0cmluZztcbiAgdmVyc2VUZXh0Pzogc3RyaW5nO1xuICBzY3JpcHR1cmU/OiBzdHJpbmc7XG4gIGVkaXRpb24/OiBzdHJpbmc7XG4gIGNvbGxlY3Rvck51bWJlcj86IHN0cmluZztcbiAgZWRpdGlvblNpemU/OiBudW1iZXI7XG4gIGNvcHlDb3VudD86IG51bWJlcjtcbiAgYXV0aG9yPzogc3RyaW5nO1xuICB5ZWFyPzogc3RyaW5nO1xuICByYXJpdHk/OiBDaHJpc3RpYW5pdHlDYXJkUmFyaXR5O1xuICBmcm9udFRlbXBsYXRlPzogc3RyaW5nO1xuICBiYWNrVGVtcGxhdGU/OiBzdHJpbmc7XG4gIGkxOG4/OiBSZWNvcmQ8c3RyaW5nLCBDaHJpc3RpYW5pdHlDYXJkVHJhbnNsYXRpb24+O1xuICBzdGF0dXM/OiBzdHJpbmc7XG4gIHNvdXJjZU5vdGVzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENocmlzdGlhbml0eUNoYXJhY3Rlckluc3RhbmNlIHtcbiAgaW5zdGFuY2VJZDogc3RyaW5nO1xuICBjYXJkSWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBvd25lcjogQ2hyaXN0aWFuaXR5U2VhdDtcbiAgY29udHJvbGxlcjogQ2hyaXN0aWFuaXR5U2VhdDtcbiAgc2xvdD86IG51bWJlcjtcbiAgYXR0YWNrOiBudW1iZXI7XG4gIGN1cnJlbnRIcDogbnVtYmVyO1xuICBtYXhIcDogbnVtYmVyO1xuICBjYW5BdHRhY2s6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hyaXN0aWFuaXR5T2ZmZXJpbmdJbnN0YW5jZSB7XG4gIGluc3RhbmNlSWQ6IHN0cmluZztcbiAgY2FyZElkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgb3duZXI6IENocmlzdGlhbml0eVNlYXQ7XG4gIHJlYWR5OiBib29sZWFuO1xuICB2YWx1ZTogbnVtYmVyO1xuICBhYmlsaXR5TmFtZT86IHN0cmluZztcbiAgYWJpbGl0eVRleHQ/OiBzdHJpbmc7XG4gIGFiaWxpdHlDb3N0PzogbnVtYmVyO1xuICBhYmlsaXR5VXNlZFRoaXNUdXJuPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaHJpc3RpYW5pdHlQbGF5ZXJTdGF0ZSB7XG4gIHNlYXQ6IENocmlzdGlhbml0eVNlYXQ7XG4gIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gIGF2YXRhcj86IHN0cmluZztcbiAgYXZhdGFyQ29sb3I/OiBzdHJpbmc7XG4gIGxlYWRlckNhcmRJZD86IHN0cmluZztcbiAgbGVhZGVyTmFtZTogc3RyaW5nO1xuICBsZWFkZXJIcDogbnVtYmVyO1xuICBsZWFkZXJNYXhIcDogbnVtYmVyO1xuICBvZmZlcmluZ3M6IENocmlzdGlhbml0eU9mZmVyaW5nSW5zdGFuY2VbXTtcbiAgb2ZmZXJpbmdQbGF5ZWRUaGlzVHVybjogYm9vbGVhbjtcbiAgaGFuZD86IHN0cmluZ1tdO1xuICBoYW5kQ291bnQ/OiBudW1iZXI7XG4gIGJhdHRsZVpvbmU6IENocmlzdGlhbml0eUNoYXJhY3Rlckluc3RhbmNlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hyaXN0aWFuaXR5R2FtZVN0YXRlIHtcbiAgZ2FtZUlkOiBzdHJpbmc7XG4gIHN0YXR1czogQ2hyaXN0aWFuaXR5R2FtZVN0YXR1cztcbiAgbW9kZTogQ2hyaXN0aWFuaXR5R2FtZU1vZGU7XG4gIHR1cm5Pd25lcjogQ2hyaXN0aWFuaXR5U2VhdDtcbiAgcmV2aXNpb246IG51bWJlcjtcbiAgdHVybkNvdW50OiBudW1iZXI7XG4gIG1hdGNoU2NvcmU6IFJlY29yZDxDaHJpc3RpYW5pdHlTZWF0LCBudW1iZXI+O1xuICBzaGFyZWREZWNrOiBzdHJpbmdbXTtcbiAgcGxhY2Vab25lOiBzdHJpbmdbXTtcbiAgaGlzdG9yeVpvbmU6IHN0cmluZ1tdO1xuICBwbGF5ZXJzOiBSZWNvcmQ8Q2hyaXN0aWFuaXR5U2VhdCwgQ2hyaXN0aWFuaXR5UGxheWVyU3RhdGU+O1xuICBsb2c6IHN0cmluZ1tdO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL21pbmktZ2FtZXMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIE1pbmlHYW1lU3RhdHVzID0gJ2F2YWlsYWJsZScgfCAnc29vbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWluaUdhbWVEZWZpbml0aW9uIHtcbiAgaWQ6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgaWNvbjogc3RyaW5nO1xuICBpbWFnZVNyYz86IHN0cmluZztcbiAgcm91dGU/OiBzdHJpbmc7XG4gIHN0YXR1cz86IE1pbmlHYW1lU3RhdHVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1pbmlHYW1lUGxheWVyUHJvZmlsZSB7XG4gIGlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgYXZhdGFyOiBzdHJpbmc7XG4gIGNvbG9yOiBzdHJpbmc7XG4gIGNyZWF0ZWRBdDogc3RyaW5nO1xuICB1cGRhdGVkQXQ6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgTWVtb3J5R2FtZURpZmZpY3VsdHkgPSAnZWFzeScgfCAnbWVkaXVtJyB8ICdoYXJkJztcblxuZXhwb3J0IHR5cGUgTWVtb3J5R2FtZU1vZGUgPSAnY2xhc3NpYycgfCAncmVsYXhlZCcgfCAndGltZWQnO1xuXG5leHBvcnQgdHlwZSBNZW1vcnlHYW1lUHJvZmlsZSA9ICdraWQnIHwgJ2NsYXNzaWMnIHwgJ25pbmphJztcblxuZXhwb3J0IGludGVyZmFjZSBNZW1vcnlHYW1lQ2FyZCB7XG4gIGlkOiBzdHJpbmc7XG4gIHN5bWJvbDogc3RyaW5nO1xuICBtYXRjaGVkOiBib29sZWFuO1xuICBmbGlwcGVkOiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBTaW1vbkdhbWVNb2RlID0gJ2tpZCcgfCAnY2xhc3NpYycgfCAnbmluamEnO1xuXG5leHBvcnQgdHlwZSBTaW1vbkdhbWVQaGFzZSA9ICdob21lJyB8ICdzaG93aW5nJyB8ICd3YWl0aW5nJyB8ICdzdWNjZXNzJyB8ICdmYWlsZWQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNpbW9uUGFkIHtcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgY29sb3I6IHN0cmluZztcbiAgdG9uZTogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBCdWJibGVCbGl0ek1vZGUgPSAna2lkJyB8ICdjbGFzc2ljJyB8ICduaW5qYSc7XG5leHBvcnQgdHlwZSBCdWJibGVCbGl0elBoYXNlID0gJ2hvbWUnIHwgJ3BsYXlpbmcnIHwgJ2ZpbmlzaGVkJztcbmV4cG9ydCB0eXBlIEJ1YmJsZUJsaXR6Q29sb3IgPSAncm9zZScgfCAnY3lhbicgfCAnc3VuJyB8ICd2aW9sZXQnIHwgJ2xlYWYnIHwgJ29yYW5nZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnViYmxlQmxpdHpDZWxsIHtcbiAgaWQ6IHN0cmluZztcbiAgcm93OiBudW1iZXI7XG4gIGNvbDogbnVtYmVyO1xuICBjb2xvcjogQnViYmxlQmxpdHpDb2xvcjtcbiAgc3RhdGU/OiAnaWRsZScgfCAncG9wcGluZycgfCAnZmFsbGluZycgfCAnZW50ZXJpbmcnO1xuICBkcm9wPzogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBDaGVzc2ltYWxzQm9hcmRTaXplID0gNiB8IDg7XG5leHBvcnQgdHlwZSBDaGVzc2ltYWxzUGxheWVyQ29sb3IgPSAnd2hpdGUnIHwgJ2JsYWNrJztcbmV4cG9ydCB0eXBlIENoZXNzaW1hbHNBbmltYWxUeXBlID0gJ2VhZ2xlJyB8ICdidWxsJyB8ICdrYW5nYXJvbycgfCAnbGlvbic7XG5leHBvcnQgdHlwZSBDaGVzc2ltYWxzTW92ZUtpbmQgPSAnYmFzaWMnIHwgJ3Bvd2VyJztcbmV4cG9ydCB0eXBlIENoZXNzaW1hbHNXaW5SZWFzb24gPSAncHJvbW90aW9uJyB8ICdlbGltaW5hdGlvbicgfCAncmVzaWduYXRpb24nO1xuZXhwb3J0IHR5cGUgQ2hlc3NpbWFsc0dhbWVNb2RlID0gJ2xvY2FsJyB8ICdvbmxpbmUnO1xuZXhwb3J0IHR5cGUgQ2hlc3NpbWFsc0xvY2FsTW9kZSA9ICdvbmUtZGV2aWNlJyB8ICdib3QnO1xuZXhwb3J0IHR5cGUgQ2hlc3NpbWFsc0JvdERpZmZpY3VsdHkgPSAnZWFzeScgfCAnbm9ybWFsJyB8ICdoYXJkJztcbmV4cG9ydCB0eXBlIENoZXNzaW1hbHNCb3RQcm9maWxlSWQgPVxuICB8ICdleHBsb3JlcidcbiAgfCAnaW1wdWxzaXZlJ1xuICB8ICdydW5uZXInXG4gIHwgJ2h1bnRlcidcbiAgfCAnZ3VhcmRpYW4nXG4gIHwgJ2p1bXBlcidcbiAgfCAnc3RyYXRlZ2lzdCdcbiAgfCAncHJlZGF0b3InXG4gIHwgJ3NwcmludGVyJ1xuICB8ICdzZW50aW5lbCdcbiAgfCAnb3JhY2xlJ1xuICB8ICdhbWJ1c2hlcidcbiAgfCAnbG9ja3NtaXRoJ1xuICB8ICdzdG9ybSdcbiAgfCAnbWF0cmlhcmNoJ1xuICB8ICdlbmRnYW1lJztcbmV4cG9ydCB0eXBlIENoZXNzaW1hbHNHYW1lU3RhdHVzID0gJ3dhaXRpbmcnIHwgJ2luX3Byb2dyZXNzJyB8ICdmaW5pc2hlZCcgfCAnZXhwaXJlZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc0JvdFByb2ZpbGUge1xuICBpZDogQ2hlc3NpbWFsc0JvdFByb2ZpbGVJZDtcbiAgZGlmZmljdWx0eTogQ2hlc3NpbWFsc0JvdERpZmZpY3VsdHk7XG4gIGF2YXRhcjogc3RyaW5nO1xuICBsYWJlbEtleTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbktleTogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBDaGVzc2ltYWxzQ2hhbGxlbmdlU3RhdHVzID0gJ2FjdGl2ZScgfCAnY29tcGxldGVkJyB8ICdmYWlsZWQnIHwgJ2FiYW5kb25lZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc0NoYWxsZW5nZUJvdCB7XG4gIGlkOiBzdHJpbmc7XG4gIHJvdW5kOiBudW1iZXI7XG4gIHByb2ZpbGVJZDogQ2hlc3NpbWFsc0JvdFByb2ZpbGVJZDtcbiAgZGlmZmljdWx0eTogQ2hlc3NpbWFsc0JvdERpZmZpY3VsdHk7XG4gIGJvYXJkU2l6ZTogQ2hlc3NpbWFsc0JvYXJkU2l6ZTtcbiAgaW50cm9LZXk6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzQ2hhbGxlbmdlUm91bmRTdGF0cyB7XG4gIHBvd2Vyc1VzZWQ6IFJlY29yZDxDaGVzc2ltYWxzQW5pbWFsVHlwZSwgbnVtYmVyPjtcbiAgcG93ZXJDYXB0dXJlczogbnVtYmVyO1xuICBwcm9tb3Rpb25zOiBudW1iZXI7XG4gIGNhcHR1cmVzOiBudW1iZXI7XG4gIG1vdmVzOiBudW1iZXI7XG4gIHNjb3JlOiBudW1iZXI7XG4gIGJlc3RNb3ZlU2NvcmU6IG51bWJlcjtcbiAgYmVzdENvbWJvOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc0NoYWxsZW5nZVJvdW5kUmVzdWx0IHtcbiAgcm91bmQ6IG51bWJlcjtcbiAgYm90SWQ6IHN0cmluZztcbiAgcHJvZmlsZUlkOiBDaGVzc2ltYWxzQm90UHJvZmlsZUlkO1xuICB3b246IGJvb2xlYW47XG4gIGxpdmVzUmVtYWluaW5nOiBudW1iZXI7XG4gIHN0YXRzOiBDaGVzc2ltYWxzQ2hhbGxlbmdlUm91bmRTdGF0cztcbiAgZmluaXNoZWRBdDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoZXNzaW1hbHNDaGFsbGVuZ2VSdW4ge1xuICBpZDogc3RyaW5nO1xuICB1c2VySWQ/OiBzdHJpbmc7XG4gIHNjaGVtYVZlcnNpb24/OiAyO1xuICBzdGF0dXM6IENoZXNzaW1hbHNDaGFsbGVuZ2VTdGF0dXM7XG4gIGxpdmVzU3RhcnQ6IDM7XG4gIGxpdmVzUmVtYWluaW5nOiBudW1iZXI7XG4gIHJvdW5kSW5kZXg/OiBudW1iZXI7XG4gIGN1cnJlbnRSb3VuZDogbnVtYmVyO1xuICByb3VuZHNXb24/OiBudW1iZXI7XG4gIGhpZ2hlc3RSb3VuZFJlYWNoZWQ/OiBudW1iZXI7XG4gIGFjdGl2ZVJvdW5kSWQ/OiBzdHJpbmc7XG4gIHdpbnM6IG51bWJlcjtcbiAgbG9zc2VzOiBudW1iZXI7XG4gIGJlc3RTdHJlYWtJblJ1bjogbnVtYmVyO1xuICBjdXJyZW50U3RyZWFrOiBudW1iZXI7XG4gIGJvdExhZGRlcjogc3RyaW5nW107XG4gIHJvdW5kUmVzdWx0czogQ2hlc3NpbWFsc0NoYWxsZW5nZVJvdW5kUmVzdWx0W107XG4gIHN0YXJ0ZWRBdDogc3RyaW5nO1xuICBsYXN0RXZlbnRBdD86IHN0cmluZztcbiAgdXBkYXRlZEF0OiBzdHJpbmc7XG4gIGZpbmlzaGVkQXQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc0NoYWxsZW5nZVN0YXRzIHtcbiAgdXNlcklkPzogc3RyaW5nO1xuICBjaGFsbGVuZ2VzUGxheWVkOiBudW1iZXI7XG4gIGNoYWxsZW5nZXNDb21wbGV0ZWQ6IG51bWJlcjtcbiAgYmVzdFdpblN0cmVhazogbnVtYmVyO1xuICBiZXN0Um91bmRSZWFjaGVkOiBudW1iZXI7XG4gIHRvdGFsV2luczogbnVtYmVyO1xuICB0b3RhbExvc3NlczogbnVtYmVyO1xuICBib3RzRGVmZWF0ZWQ6IG51bWJlcjtcbiAgcG93ZXJzVXNlZDogUmVjb3JkPENoZXNzaW1hbHNBbmltYWxUeXBlLCBudW1iZXI+O1xuICBwb3dlckNhcHR1cmVzOiBudW1iZXI7XG4gIHByb21vdGlvbnM6IG51bWJlcjtcbiAgdG90YWxTY29yZTogbnVtYmVyO1xuICBiZXN0Um91bmRTY29yZTogbnVtYmVyO1xuICBiZXN0TW92ZVNjb3JlOiBudW1iZXI7XG4gIGJlc3RDb21ibzogbnVtYmVyO1xuICBtb2RlU3RhdHM6IFJlY29yZDxDaGVzc2ltYWxzU3RhdHNNb2RlLCBDaGVzc2ltYWxzTW9kZVN0YXRzPjtcbiAgdXBkYXRlZEF0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBDaGVzc2ltYWxzU3RhdHNNb2RlID0gJ2NoYWxsZW5nZScgfCAnYm90JyB8ICdvbmxpbmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENoZXNzaW1hbHNNb2RlU3RhdHMge1xuICBwbGF5ZWQ6IG51bWJlcjtcbiAgd2luczogbnVtYmVyO1xuICBsb3NzZXM6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzUG9zaXRpb24ge1xuICByb3c6IG51bWJlcjtcbiAgY29sOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc1BpZWNlIHtcbiAgaWQ6IHN0cmluZztcbiAgY29sb3I6IENoZXNzaW1hbHNQbGF5ZXJDb2xvcjtcbiAgcG9zaXRpb246IENoZXNzaW1hbHNQb3NpdGlvbjtcbiAgY2FwdHVyZWQ6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc1Bvd2VyQ2FyZCB7XG4gIHR5cGU6IENoZXNzaW1hbHNBbmltYWxUeXBlO1xuICB1c2VkOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoZXNzaW1hbHNQbGF5ZXJTdGF0ZSB7XG4gIGNvbG9yOiBDaGVzc2ltYWxzUGxheWVyQ29sb3I7XG4gIHBvd2VyVW5sb2NrZWQ6IGJvb2xlYW47XG4gIGNhcmRzOiBSZWNvcmQ8Q2hlc3NpbWFsc0FuaW1hbFR5cGUsIENoZXNzaW1hbHNQb3dlckNhcmQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoZXNzaW1hbHNNb3ZlIHtcbiAgcGllY2VJZDogc3RyaW5nO1xuICBmcm9tOiBDaGVzc2ltYWxzUG9zaXRpb247XG4gIHRvOiBDaGVzc2ltYWxzUG9zaXRpb247XG4gIGtpbmQ6IENoZXNzaW1hbHNNb3ZlS2luZDtcbiAgYW5pbWFsPzogQ2hlc3NpbWFsc0FuaW1hbFR5cGU7XG4gIGNhcHR1cmVzUGllY2VJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzTW92ZUhpc3RvcnlFbnRyeSB7XG4gIG1vdmVOdW1iZXI6IG51bWJlcjtcbiAgcGllY2VzOiBDaGVzc2ltYWxzUGllY2VbXTtcbiAgY3VycmVudFR1cm46IENoZXNzaW1hbHNQbGF5ZXJDb2xvcjtcbiAgc3RhdHVzOiBDaGVzc2ltYWxzR2FtZVN0YXR1cztcbiAgbW92ZT86IENoZXNzaW1hbHNNb3ZlO1xuICB3aW5uZXI/OiBDaGVzc2ltYWxzUGxheWVyQ29sb3I7XG4gIHdpbm5lclJlYXNvbj86IENoZXNzaW1hbHNXaW5SZWFzb247XG59XG5cbmV4cG9ydCB0eXBlIENoZXNzaW1hbHNNb3ZlTG9nU3RhdHVzID0gJ2FjY2VwdGVkJyB8ICdyZWplY3RlZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc01vdmVMb2dFbnRyeSB7XG4gIGlkOiBzdHJpbmc7XG4gIGF0OiBzdHJpbmc7XG4gIHVpZDogc3RyaW5nO1xuICBwcm9maWxlSWQ/OiBzdHJpbmc7XG4gIHNlYXRLZXk/OiBzdHJpbmc7XG4gIHNpZGU/OiBDaGVzc2ltYWxzUGxheWVyQ29sb3I7XG4gIHN0YXR1czogQ2hlc3NpbWFsc01vdmVMb2dTdGF0dXM7XG4gIGNvZGU/OiBzdHJpbmc7XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIG1vdmU6IENoZXNzaW1hbHNNb3ZlO1xuICBtb3ZlQ291bnRCZWZvcmU6IG51bWJlcjtcbiAgbW92ZUNvdW50QWZ0ZXI/OiBudW1iZXI7XG4gIGN1cnJlbnRUdXJuQmVmb3JlOiBDaGVzc2ltYWxzUGxheWVyQ29sb3I7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc09ubGluZVBhcnRpY2lwYW50IHtcbiAgdWlkOiBzdHJpbmc7XG4gIGFjY291bnRVc2VySWQ/OiBzdHJpbmc7XG4gIHByb2ZpbGVJZDogc3RyaW5nO1xuICBzZWF0S2V5Pzogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGhhbmRsZT86IHN0cmluZztcbiAgZW1haWw/OiBzdHJpbmc7XG4gIGF2YXRhcjogc3RyaW5nO1xuICBhdmF0YXJVcmw/OiBzdHJpbmc7XG4gIGNvbG9yOiBzdHJpbmc7XG4gIHNpZGU/OiBDaGVzc2ltYWxzUGxheWVyQ29sb3I7XG4gIGpvaW5lZEF0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlc3NpbWFsc09ubGluZVN0YXRlIHtcbiAgZ2FtZUlkOiBzdHJpbmc7XG4gIGhvc3RVaWQ6IHN0cmluZztcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIHVwZGF0ZWRBdDogc3RyaW5nO1xuICBleHBpcmVzQXQ6IHN0cmluZztcbiAgZXhwaXJlc0F0TXM6IG51bWJlcjtcbiAgcm91bmQ6IG51bWJlcjtcbiAgcmVtYXRjaE9mPzogc3RyaW5nO1xuICBsb2JieT86IENoZXNzaW1hbHNPbmxpbmVQYXJ0aWNpcGFudDtcbiAgcGVuZGluZ0d1ZXN0PzogQ2hlc3NpbWFsc09ubGluZVBhcnRpY2lwYW50O1xuICBwYXJ0aWNpcGFudHM/OiBQYXJ0aWFsPFJlY29yZDxDaGVzc2ltYWxzUGxheWVyQ29sb3IsIENoZXNzaW1hbHNPbmxpbmVQYXJ0aWNpcGFudD4+O1xuICByZW1hdGNoUmVxdWVzdHM/OiBzdHJpbmdbXTtcbiAgbW92ZUxvZz86IENoZXNzaW1hbHNNb3ZlTG9nRW50cnlbXTtcbn1cblxuZXhwb3J0IHR5cGUgQ2hlc3NpbWFsc0hpc3RvcnlPdXRjb21lID0gJ3dhaXRpbmcnIHwgJ3BlbmRpbmcnIHwgJ2luX3Byb2dyZXNzJyB8ICd3b24nIHwgJ2xvc3QnIHwgJ2RlY2xpbmVkJztcblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzSGlzdG9yeUVudHJ5IHtcbiAgZ2FtZUlkOiBzdHJpbmc7XG4gIG1vZGU6ICdvbmxpbmUnO1xuICBib2FyZFNpemU6IENoZXNzaW1hbHNCb2FyZFNpemU7XG4gIHN0YXR1czogQ2hlc3NpbWFsc0dhbWVTdGF0dXM7XG4gIG91dGNvbWU6IENoZXNzaW1hbHNIaXN0b3J5T3V0Y29tZTtcbiAgc2lkZT86IENoZXNzaW1hbHNQbGF5ZXJDb2xvcjtcbiAgb3Bwb25lbnRVaWQ/OiBzdHJpbmc7XG4gIG9wcG9uZW50TmFtZT86IHN0cmluZztcbiAgd2lubmVyPzogQ2hlc3NpbWFsc1BsYXllckNvbG9yO1xuICB3aW5uZXJSZWFzb24/OiBDaGVzc2ltYWxzV2luUmVhc29uO1xuICBtb3ZlQ291bnQ6IG51bWJlcjtcbiAgcm91bmQ6IG51bWJlcjtcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIHVwZGF0ZWRBdDogc3RyaW5nO1xuICBmaW5pc2hlZEF0Pzogc3RyaW5nO1xuICBleHBpcmVzQXQ/OiBzdHJpbmc7XG4gIHJlbWF0Y2hPZj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGVzc2ltYWxzR2FtZVN0YXRlIHtcbiAgaWQ6IHN0cmluZztcbiAgbW9kZTogQ2hlc3NpbWFsc0dhbWVNb2RlO1xuICBib2FyZFNpemU6IENoZXNzaW1hbHNCb2FyZFNpemU7XG4gIHN0YXR1czogQ2hlc3NpbWFsc0dhbWVTdGF0dXM7XG4gIGN1cnJlbnRUdXJuOiBDaGVzc2ltYWxzUGxheWVyQ29sb3I7XG4gIHBpZWNlczogQ2hlc3NpbWFsc1BpZWNlW107XG4gIHBsYXllcnM6IFJlY29yZDxDaGVzc2ltYWxzUGxheWVyQ29sb3IsIENoZXNzaW1hbHNQbGF5ZXJTdGF0ZT47XG4gIHdpbm5lcj86IENoZXNzaW1hbHNQbGF5ZXJDb2xvcjtcbiAgd2lubmVyUmVhc29uPzogQ2hlc3NpbWFsc1dpblJlYXNvbjtcbiAgbW92ZUNvdW50OiBudW1iZXI7XG4gIGxhc3RNb3ZlPzogQ2hlc3NpbWFsc01vdmU7XG4gIG1vdmVIaXN0b3J5PzogQ2hlc3NpbWFsc01vdmVIaXN0b3J5RW50cnlbXTtcbiAgb25saW5lPzogQ2hlc3NpbWFsc09ubGluZVN0YXRlO1xufVxuXG5leHBvcnQgdHlwZSBDaHJpc3RpYW5pdHlTZWF0ID0gJ1AxJyB8ICdQMic7XG5leHBvcnQgdHlwZSBDaHJpc3RpYW5pdHlHYW1lU3RhdHVzID0gJ2luX3Byb2dyZXNzJyB8ICdmaW5pc2hlZCc7XG5leHBvcnQgdHlwZSBDaHJpc3RpYW5pdHlHYW1lTW9kZSA9ICdzb2xvX2JvdCcgfCAndHdvX3BsYXllcicgfCAnbG9jYWxfcGFzcyc7XG5leHBvcnQgdHlwZSBDaHJpc3RpYW5pdHlDYXJkVHlwZSA9ICdhY3Rpb24nIHwgJ2NoYXJhY3RlcicgfCAnZXZlbnQnIHwgJ2xlYWRlcicgfCAnb2ZmZXJpbmcnIHwgJ3BsYWNlJyB8ICd0b29sJyB8ICd3aXNkb20nO1xuZXhwb3J0IHR5cGUgQ2hyaXN0aWFuaXR5Q2FyZFJhcml0eSA9ICdub3JtYWwnIHwgJ3VuY29tbW9uJyB8ICdyYXJlJyB8ICdsZWdlbmRhcnknO1xuXG5leHBvcnQgaW50ZXJmYWNlIENocmlzdGlhbml0eUNhcmRBYmlsaXR5IHtcbiAgbmFtZT86IHN0cmluZztcbiAgdGV4dD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaHJpc3RpYW5pdHlDYXJkVHJhbnNsYXRpb24ge1xuICBuYW1lPzogc3RyaW5nO1xuICBmdWxsTmFtZT86IHN0cmluZztcbiAgdmVyc2VUZXh0Pzogc3RyaW5nO1xuICBzY3JpcHR1cmU/OiBzdHJpbmc7XG4gIGFiaWxpdHlOYW1lPzogc3RyaW5nO1xuICBhYmlsaXR5VGV4dD86IHN0cmluZztcbiAgYWJpbGl0aWVzPzogQ2hyaXN0aWFuaXR5Q2FyZEFiaWxpdHlbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaHJpc3RpYW5pdHlDYXJkQmlibGVSZWZlcmVuY2Uge1xuICBib29rPzogc3RyaW5nO1xuICBjaGFwdGVyPzogbnVtYmVyO1xuICByZWZlcmVuY2U/OiBzdHJpbmc7XG4gIHZlcnNpb24/OiBzdHJpbmc7XG4gIHRleHQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hyaXN0aWFuaXR5Q2FyZEFydCB7XG4gIGxlZ2VuZD86IHN0cmluZztcbiAgc2l6ZT86IG51bWJlcjtcbiAgcG9zaXRpb25YPzogbnVtYmVyO1xuICBwb3NpdGlvblk/OiBudW1iZXI7XG4gIGltYWdlUGF0aD86IHN0cmluZztcbiAgaW1hZ2VVcmw/OiBzdHJpbmc7XG4gIG1pbWVUeXBlPzogc3RyaW5nO1xuICB3aWR0aD86IG51bWJlcjtcbiAgaGVpZ2h0PzogbnVtYmVyO1xuICBzb3VyY2U/OiBzdHJpbmc7XG4gIG1vZGVsPzogc3RyaW5nO1xuICBhcnRpc3RDcmVkaXQ/OiBzdHJpbmc7XG4gIHByb21wdElkPzogc3RyaW5nO1xuICBzdGF0dXM/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hyaXN0aWFuaXR5Q2FyZERlZmluaXRpb24ge1xuICBpZDogc3RyaW5nO1xuICBzb3VyY2VJZD86IG51bWJlcjtcbiAgZWRpdGlvbk51bWJlcj86IG51bWJlcjtcbiAgZWRpdGlvbkljb24/OiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgZnVsbE5hbWU/OiBzdHJpbmc7XG4gIHR5cGU6IENocmlzdGlhbml0eUNhcmRUeXBlO1xuICBjb3N0PzogbnVtYmVyO1xuICBvZmZlcmluZ1ZhbHVlPzogbnVtYmVyO1xuICBhdHRhY2s/OiBudW1iZXI7XG4gIGxpZmU/OiBudW1iZXI7XG4gIGxlYWRlckxpZmU/OiBudW1iZXI7XG4gIGxlZ2FjeVJlc3RyaWN0aW9uPzogbnVtYmVyO1xuICBhYmlsaXR5TmFtZT86IHN0cmluZztcbiAgYWJpbGl0eVRleHQ/OiBzdHJpbmc7XG4gIGFiaWxpdHlDb3N0PzogbnVtYmVyO1xuICBhYmlsaXRpZXM/OiBDaHJpc3RpYW5pdHlDYXJkQWJpbGl0eVtdO1xuICBzdHJhdGVneT86IHN0cmluZztcbiAgcG93ZXI/OiBzdHJpbmc7XG4gIGJpYmxlPzogQ2hyaXN0aWFuaXR5Q2FyZEJpYmxlUmVmZXJlbmNlO1xuICBhcnQ/OiBDaHJpc3RpYW5pdHlDYXJkQXJ0O1xuICBpbWFnZVVybD86IHN0cmluZztcbiAgdmVyc2VUZXh0Pzogc3RyaW5nO1xuICBzY3JpcHR1cmU/OiBzdHJpbmc7XG4gIGVkaXRpb24/OiBzdHJpbmc7XG4gIGNvbGxlY3Rvck51bWJlcj86IHN0cmluZztcbiAgZWRpdGlvblNpemU/OiBudW1iZXI7XG4gIGNvcHlDb3VudD86IG51bWJlcjtcbiAgYXV0aG9yPzogc3RyaW5nO1xuICB5ZWFyPzogc3RyaW5nO1xuICByYXJpdHk/OiBDaHJpc3RpYW5pdHlDYXJkUmFyaXR5O1xuICBmcm9udFRlbXBsYXRlPzogc3RyaW5nO1xuICBiYWNrVGVtcGxhdGU/OiBzdHJpbmc7XG4gIGkxOG4/OiBSZWNvcmQ8c3RyaW5nLCBDaHJpc3RpYW5pdHlDYXJkVHJhbnNsYXRpb24+O1xuICBzdGF0dXM/OiBzdHJpbmc7XG4gIHNvdXJjZU5vdGVzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENocmlzdGlhbml0eUNoYXJhY3Rlckluc3RhbmNlIHtcbiAgaW5zdGFuY2VJZDogc3RyaW5nO1xuICBjYXJkSWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBvd25lcjogQ2hyaXN0aWFuaXR5U2VhdDtcbiAgY29udHJvbGxlcjogQ2hyaXN0aWFuaXR5U2VhdDtcbiAgc2xvdD86IG51bWJlcjtcbiAgYXR0YWNrOiBudW1iZXI7XG4gIGN1cnJlbnRIcDogbnVtYmVyO1xuICBtYXhIcDogbnVtYmVyO1xuICBjYW5BdHRhY2s6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hyaXN0aWFuaXR5T2ZmZXJpbmdJbnN0YW5jZSB7XG4gIGluc3RhbmNlSWQ6IHN0cmluZztcbiAgY2FyZElkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgb3duZXI6IENocmlzdGlhbml0eVNlYXQ7XG4gIHJlYWR5OiBib29sZWFuO1xuICB2YWx1ZTogbnVtYmVyO1xuICBhYmlsaXR5TmFtZT86IHN0cmluZztcbiAgYWJpbGl0eVRleHQ/OiBzdHJpbmc7XG4gIGFiaWxpdHlDb3N0PzogbnVtYmVyO1xuICBhYmlsaXR5VXNlZFRoaXNUdXJuPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaHJpc3RpYW5pdHlQbGF5ZXJTdGF0ZSB7XG4gIHNlYXQ6IENocmlzdGlhbml0eVNlYXQ7XG4gIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gIGF2YXRhcj86IHN0cmluZztcbiAgYXZhdGFyQ29sb3I/OiBzdHJpbmc7XG4gIGxlYWRlckNhcmRJZD86IHN0cmluZztcbiAgbGVhZGVyTmFtZTogc3RyaW5nO1xuICBsZWFkZXJIcDogbnVtYmVyO1xuICBsZWFkZXJNYXhIcDogbnVtYmVyO1xuICBvZmZlcmluZ3M6IENocmlzdGlhbml0eU9mZmVyaW5nSW5zdGFuY2VbXTtcbiAgdGVtcG9yYXJ5T2ZmZXJpbmdSZXNlcnZlPzogbnVtYmVyO1xuICBvZmZlcmluZ1BsYXllZFRoaXNUdXJuOiBib29sZWFuO1xuICBoYW5kPzogc3RyaW5nW107XG4gIGhhbmRDb3VudD86IG51bWJlcjtcbiAgYmF0dGxlWm9uZTogQ2hyaXN0aWFuaXR5Q2hhcmFjdGVySW5zdGFuY2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaHJpc3RpYW5pdHlHYW1lU3RhdGUge1xuICBnYW1lSWQ6IHN0cmluZztcbiAgc3RhdHVzOiBDaHJpc3RpYW5pdHlHYW1lU3RhdHVzO1xuICBtb2RlOiBDaHJpc3RpYW5pdHlHYW1lTW9kZTtcbiAgdHVybk93bmVyOiBDaHJpc3RpYW5pdHlTZWF0O1xuICByZXZpc2lvbjogbnVtYmVyO1xuICB0dXJuQ291bnQ6IG51bWJlcjtcbiAgbWF0Y2hTY29yZTogUmVjb3JkPENocmlzdGlhbml0eVNlYXQsIG51bWJlcj47XG4gIHNoYXJlZERlY2s6IHN0cmluZ1tdO1xuICBwbGFjZVpvbmU6IHN0cmluZ1tdO1xuICBoaXN0b3J5Wm9uZTogc3RyaW5nW107XG4gIHBsYXllcnM6IFJlY29yZDxDaHJpc3RpYW5pdHlTZWF0LCBDaHJpc3RpYW5pdHlQbGF5ZXJTdGF0ZT47XG4gIGxvZzogc3RyaW5nW107XG59XG4iXX0=
@@ -2,5 +2,5 @@
2
2
  * Current version of valtech-components.
3
3
  * This is automatically updated during the publish process.
4
4
  */
5
- export const VERSION = '4.0.508';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuMC41MDgnO1xuIl19
5
+ export const VERSION = '4.0.509';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuMC41MDknO1xuIl19