valtech-components 2.0.879 → 2.0.881

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.
@@ -141,6 +141,17 @@ export const PATTERN_PALETTES = {
141
141
  rose: ['#12010a', '#2e0420', '#6b0a48', '#b01870', '#e040a0', '#f080c8', '#f8bce4', '#fde0f3'],
142
142
  gold: ['#100800', '#2a1a00', '#5c3800', '#9e6000', '#d4920a', '#f0bc40', '#f8da8c', '#fdf0cc'],
143
143
  mono: ['#080808', '#1a1a1a', '#303030', '#484848', '#707070', '#9e9e9e', '#cecece', '#f0f0f0'],
144
+ // ── Paletas brand Valtech ──────────────────────────────────────────────────
145
+ // deep teal → bright cyan
146
+ teal: ['#011a16', '#022e28', '#045042', '#077a64', '#0aa88c', '#2ecfb0', '#7aead8', '#c0f7ef'],
147
+ // navy profundo → azul cielo
148
+ ocean: ['#010c18', '#021a30', '#043060', '#0a5090', '#1478c0', '#3a9fdd', '#85ccee', '#c8e9f8'],
149
+ // violeta ultrabrillante (más vívido que purple, más eléctrico)
150
+ violet: ['#0d0025', '#1e0050', '#400090', '#6600cc', '#8c2af2', '#b06af8', '#d4a8fc', '#ecd8fe'],
151
+ // crepúsculo purple-blue (dusk — mezcla atmosférica)
152
+ dusk: ['#08051e', '#130a40', '#221880', '#3828b4', '#5548d8', '#8080e8', '#b4b4f4', '#ddddfb'],
153
+ // gris-azul corporativo frío (slate — tech neutral)
154
+ slate: ['#060c14', '#0e1e30', '#1c3550', '#2c5070', '#4278a0', '#6aa0c8', '#a4c6e4', '#d4e8f6'],
144
155
  };
145
156
  export const PATTERN_STYLE_CONFIGS = {
146
157
  branded: { chev: 0.58, stroke: 0.1, circle: 0.04, shape: 0.06, solid: 0.18, num: 0.0 },
@@ -209,6 +220,7 @@ export function generateRandomTile(palette, chevronDensity = 0.55, rng = Math.ra
209
220
  }
210
221
  return { motif: key, bg: palette[bgIdx], fg: palette[fgIdx] };
211
222
  }
223
+ const ROTATIONS = [0, 90, 180, 270];
212
224
  /** Genera matriz completa de tiles. */
213
225
  export function generatePatternTiles(cfg) {
214
226
  const { cols, rows, seed, palette } = cfg;
@@ -217,7 +229,11 @@ export function generatePatternTiles(cfg) {
217
229
  const r = mulberry32(seed);
218
230
  const tiles = [];
219
231
  for (let i = 0; i < cols * rows; i++) {
220
- tiles.push(generateRandomTile(palette, chevronDensity, r, densityConfig));
232
+ const tile = generateRandomTile(palette, chevronDensity, r, densityConfig);
233
+ if (cfg.tileRotation) {
234
+ tile.rot = ROTATIONS[Math.floor(r() * 4)];
235
+ }
236
+ tiles.push(tile);
221
237
  }
222
238
  return tiles;
223
239
  }
@@ -234,8 +250,9 @@ export function renderPatternSvgInner(tiles, cols, baseColor) {
234
250
  const r = Math.floor(i / cols);
235
251
  const t = tiles[i];
236
252
  const shape = PATTERN_MOTIFS[t.motif](t.fg);
237
- inner += `<g transform="translate(${c * 100} ${r * 100})"><rect width="100" height="100" fill="${t.bg}"/>${shape}</g>`;
253
+ const shapeEl = t.rot ? `<g transform="rotate(${t.rot} 50 50)">${shape}</g>` : shape;
254
+ inner += `<g transform="translate(${c * 100} ${r * 100})"><rect width="100" height="100" fill="${t.bg}"/>${shapeEl}</g>`;
238
255
  }
239
256
  return inner;
240
257
  }
241
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW90aWZzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2F0b21zL3BhdHRlcm4vbW90aWZzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztHQVdHO0FBNkNILE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQztBQUN2QixNQUFNLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztBQUM3QixNQUFNLFNBQVMsR0FBRyxDQUFDLENBQVMsRUFBRSxJQUFZLFdBQVcsRUFBRSxFQUFFLENBQ3ZELFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyw4REFBOEQsQ0FBQztBQUVqRyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQW9EO0lBQzdFLCtEQUErRDtJQUMvRCxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxrQ0FBa0MsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJO0lBQ2pFLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLGtDQUFrQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUk7SUFDakUsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsa0NBQWtDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSTtJQUNqRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxrQ0FBa0MsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJO0lBQ2pFLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLGtDQUFrQyxTQUFTLENBQUMsQ0FBQyxFQUFFLGlCQUFpQixDQUFDLElBQUk7SUFDckYsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsa0NBQWtDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtJQUNyRixTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxzRUFBc0UsQ0FBQyxLQUFLO0lBQzVGLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLHFFQUFx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QWEsQ0FBQyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUNuQyxLQUFvQixFQUNwQixJQUFZLEVBQ1osU0FBaUI7SUFFakIsTUFBTSxDQUFDLEdBQUcsSUFBSSxHQUFHLEdBQUcsQ0FBQztJQUNyQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDNUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxHQUFHLEdBQUcsQ0FBQztJQUNyQixJQUFJLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsV0FBVyxTQUFTLEtBQUssQ0FBQztJQUNyRSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ3RDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDbkIsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDL0IsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBRSxDQUFDO1FBQ3BCLE1BQU0sS0FBSyxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLEtBQUssSUFBSSwyQkFBMkIsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsR0FBRywyQ0FBMkMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxLQUFLLE1BQU0sQ0FBQztJQUN6SCxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBWYWx0ZWNoIFBhdHRlcm4gU3lzdGVtIOKAlCBtb3RpZnMgKyBwYWxldHRlcy5cbiAqXG4gKiBQdXJlIGRhdGEgKyBoZWxwZXJzLCBzaW4gZGVwZW5kZW5jaWFzIEFuZ3VsYXIuIFJldXNhYmxlIGRlc2RlIE5vZGUvc2NyaXB0c1xuICogKGUuZy4sIGdlbmVyYXRlIHN0YXRpYyB0aHVtYm5haWxzKSBvIGRlc2RlIGVsIGNvbXBvbmVudGUgYHZhbC1wYXR0ZXJuYC5cbiAqXG4gKiBPcmlnaW5hbCBzcGVjOiBgYXNzZXRzL1ZhbHRlY2ggUGF0dGVybiBTeXN0ZW0uaHRtbGAgKHNpbmdsZS1wYWdlIGRlbW8pLlxuICogQ2FkYSBtb3RpZiBlcyBmdW5jacOzbiBgKGZpbGw6IHN0cmluZykgPT4gc3RyaW5nYCBxdWUgZGV2dWVsdmUgU1ZHIGlubmVyXG4gKiBtYXJrdXAuIFRpbGUgZXMgMTAweDEwMCB1bmlkYWRlczsgZWwgbW90aWYgc2UgcmVuZGVyaXphIGRlbnRybyBkZSB1biBgPGdcbiAqIHRyYW5zZm9ybT1cInRyYW5zbGF0ZShjb2wqMTAwIHJvdyoxMDApXCI+YCBjb24gdW4gYDxyZWN0IHdpZHRoPTEwMCBoZWlnaHQ9MTAwXG4gKiBmaWxsPWJnLz5gIGRlIGZvbmRvLlxuICovXG5cbmV4cG9ydCB0eXBlIFBhdHRlcm5Nb3RpZktleSA9XG4gIHwgJ2NoZXYtcidcbiAgfCAnY2hldi1sJ1xuICB8ICdjaGV2LWQnXG4gIHwgJ2NoZXYtdSdcbiAgfCAndHJpLXRsJ1xuICB8ICd0cmktdHInXG4gIHwgJ3RyaS1ibCdcbiAgfCAndHJpLWJyJ1xuICB8ICdzb2xpZCdcbiAgfCAnZGlhbW9uZCdcbiAgfCAnc21hbGwtcidcbiAgfCAnc21hbGwtbCdcbiAgfCAnYXJyb3ctcidcbiAgfCAnYXJyb3ctbCdcbiAgfCAnaG91c2UtZCdcbiAgfCAnaGFsZi1sJ1xuICB8ICdoYWxmLXQnXG4gIC8vIOKUgOKUgCBOdWV2b3MgbW90aWZzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICB8ICdjaXJjbGUnXG4gIHwgJ2NpcmNsZS1zbSdcbiAgfCAnZG90J1xuICB8ICdjcm9zcydcbiAgfCAneC1tYXJrJ1xuICB8ICdzbGFzaC1yJ1xuICB8ICdzbGFzaC1sJ1xuICB8ICdjb3JuZXItdGwnXG4gIHwgJ2Nvcm5lci10cidcbiAgfCAnY29ybmVyLWJsJ1xuICB8ICdjb3JuZXItYnInXG4gIC8vIOKUgOKUgCBMb2dvIHN5bWJvbHMgKyBuw7ptZXJvcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgfCAndW5kZXJzY29yZSdcbiAgfCAnbnVtLTAnXG4gIHwgJ251bS0xJ1xuICB8ICdudW0tMidcbiAgfCAnbnVtLTMnXG4gIHwgJ251bS00J1xuICB8ICdudW0tNSdcbiAgfCAnbnVtLTYnXG4gIHwgJ251bS03J1xuICB8ICdudW0tOCdcbiAgfCAnbnVtLTknO1xuXG5jb25zdCBDSEVWX1NUUk9LRSA9IDE4O1xuY29uc3QgQ0hFVl9TTUFMTF9TVFJPS0UgPSAxMjtcbmNvbnN0IGNoZXZTdHlsZSA9IChmOiBzdHJpbmcsIHc6IG51bWJlciA9IENIRVZfU1RST0tFKSA9PlxuICBgc3Ryb2tlPVwiJHtmfVwiIHN0cm9rZS13aWR0aD1cIiR7d31cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBmaWxsPVwibm9uZVwiYDtcblxuZXhwb3J0IGNvbnN0IFBBVFRFUk5fTU9USUZTOiBSZWNvcmQ8UGF0dGVybk1vdGlmS2V5LCAoZmc6IHN0cmluZykgPT4gc3RyaW5nPiA9IHtcbiAgLy8g4pSA4pSAIENoZXZyb25zIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAnY2hldi1yJzogZiA9PiBgPHBhdGggZD1cIk0yMiAxOCBMNzIgNTAgTDIyIDgyXCIgJHtjaGV2U3R5bGUoZil9Lz5gLFxuICAnY2hldi1sJzogZiA9PiBgPHBhdGggZD1cIk03OCAxOCBMMjggNTAgTDc4IDgyXCIgJHtjaGV2U3R5bGUoZil9Lz5gLFxuICAnY2hldi1kJzogZiA9PiBgPHBhdGggZD1cIk0xOCAyMiBMNTAgNzIgTDgyIDIyXCIgJHtjaGV2U3R5bGUoZil9Lz5gLFxuICAnY2hldi11JzogZiA9PiBgPHBhdGggZD1cIk0xOCA3OCBMNTAgMjggTDgyIDc4XCIgJHtjaGV2U3R5bGUoZil9Lz5gLFxuICAnc21hbGwtcic6IGYgPT4gYDxwYXRoIGQ9XCJNMzggMzIgTDYyIDUwIEwzOCA2OFwiICR7Y2hldlN0eWxlKGYsIENIRVZfU01BTExfU1RST0tFKX0vPmAsXG4gICdzbWFsbC1sJzogZiA9PiBgPHBhdGggZD1cIk02MiAzMiBMMzggNTAgTDYyIDY4XCIgJHtjaGV2U3R5bGUoZiwgQ0hFVl9TTUFMTF9TVFJPS0UpfS8+YCxcbiAgJ2Fycm93LXInOiBmID0+IGA8cGF0aCBkPVwiTTEwIDQyIEw2MCA0MiBMNjAgMjggTDkyIDUwIEw2MCA3MiBMNjAgNTggTDEwIDU4IFpcIiBmaWxsPVwiJHtmfVwiLz5gLFxuICAnYXJyb3ctbCc6IGYgPT4gYDxwYXRoIGQ9XCJNOTAgNDIgTDQwIDQyIEw0MCAyOCBMOCA1MCBMNDAgNzIgTDQwIDU4IEw5MCA1OCBaXCIgZmlsbD1cIiR7Zn1cIi8+YCxcbiAgLy8g4pSA4pSAIFN0cm9rZXMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIGNyb3NzOiBmID0+IGA8cGF0aCBkPVwiTTUwIDEyIEw1MCA4OCBNMTIgNTAgTDg4IDUwXCIgJHtjaGV2U3R5bGUoZiwgMTYpfS8+YCxcbiAgJ3gtbWFyayc6IGYgPT4gYDxwYXRoIGQ9XCJNMTggMTggTDgyIDgyIE04MiAxOCBMMTggODJcIiAke2NoZXZTdHlsZShmLCAxNil9Lz5gLFxuICAnc2xhc2gtcic6IGYgPT5cbiAgICBgPGxpbmUgeDE9XCIxOFwiIHkxPVwiODJcIiB4Mj1cIjgyXCIgeTI9XCIxOFwiIHN0cm9rZT1cIiR7Zn1cIiBzdHJva2Utd2lkdGg9XCIxNlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIi8+YCxcbiAgJ3NsYXNoLWwnOiBmID0+XG4gICAgYDxsaW5lIHgxPVwiMThcIiB5MT1cIjE4XCIgeDI9XCI4MlwiIHkyPVwiODJcIiBzdHJva2U9XCIke2Z9XCIgc3Ryb2tlLXdpZHRoPVwiMTZcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIvPmAsXG4gIC8vIOKUgOKUgCBGaWxsZWQgc2hhcGVzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICBjaXJjbGU6IGYgPT4gYDxjaXJjbGUgY3g9XCI1MFwiIGN5PVwiNTBcIiByPVwiNDBcIiBmaWxsPVwiJHtmfVwiLz5gLFxuICAnY2lyY2xlLXNtJzogZiA9PiBgPGNpcmNsZSBjeD1cIjUwXCIgY3k9XCI1MFwiIHI9XCIyNFwiIGZpbGw9XCIke2Z9XCIvPmAsXG4gIGRvdDogZiA9PiBgPGNpcmNsZSBjeD1cIjUwXCIgY3k9XCI1MFwiIHI9XCIxMlwiIGZpbGw9XCIke2Z9XCIvPmAsXG4gIGRpYW1vbmQ6IGYgPT4gYDxwb2x5Z29uIHBvaW50cz1cIjUwLDEyIDg4LDUwIDUwLDg4IDEyLDUwXCIgZmlsbD1cIiR7Zn1cIi8+YCxcbiAgc29saWQ6ICgpID0+IGBgLFxuICAvLyDilIDilIAgVHJpYW5nbGVzICYgaGFsdmVzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAndHJpLXRsJzogZiA9PiBgPHBvbHlnb24gcG9pbnRzPVwiMCwwIDEwMCwwIDAsMTAwXCIgZmlsbD1cIiR7Zn1cIi8+YCxcbiAgJ3RyaS10cic6IGYgPT4gYDxwb2x5Z29uIHBvaW50cz1cIjAsMCAxMDAsMCAxMDAsMTAwXCIgZmlsbD1cIiR7Zn1cIi8+YCxcbiAgJ3RyaS1ibCc6IGYgPT4gYDxwb2x5Z29uIHBvaW50cz1cIjAsMCAxMDAsMTAwIDAsMTAwXCIgZmlsbD1cIiR7Zn1cIi8+YCxcbiAgJ3RyaS1icic6IGYgPT4gYDxwb2x5Z29uIHBvaW50cz1cIjEwMCwwIDEwMCwxMDAgMCwxMDBcIiBmaWxsPVwiJHtmfVwiLz5gLFxuICAnaGFsZi1sJzogZiA9PiBgPHJlY3QgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiNTBcIiBoZWlnaHQ9XCIxMDBcIiBmaWxsPVwiJHtmfVwiLz5gLFxuICAnaGFsZi10JzogZiA9PiBgPHJlY3QgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiMTAwXCIgaGVpZ2h0PVwiNTBcIiBmaWxsPVwiJHtmfVwiLz5gLFxuICAnaG91c2UtZCc6IGYgPT5cbiAgICBgPHBvbHlnb24gcG9pbnRzPVwiNTAsMjAgODgsNTAgMTIsNTBcIiBmaWxsPVwiJHtmfVwiLz48cmVjdCB4PVwiMjhcIiB5PVwiNTBcIiB3aWR0aD1cIjQ0XCIgaGVpZ2h0PVwiMzJcIiBmaWxsPVwiJHtmfVwiLz5gLFxuICAvLyDilIDilIAgQ29ybmVyIGFyY3Mg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gICdjb3JuZXItdGwnOiBmID0+IGA8cGF0aCBkPVwiTSAwIDAgTCAxMDAgMCBBIDEwMCAxMDAgMCAwIDEgMCAxMDAgWlwiIGZpbGw9XCIke2Z9XCIvPmAsXG4gICdjb3JuZXItdHInOiBmID0+IGA8cGF0aCBkPVwiTSAxMDAgMCBMIDAgMCBBIDEwMCAxMDAgMCAwIDAgMTAwIDEwMCBaXCIgZmlsbD1cIiR7Zn1cIi8+YCxcbiAgJ2Nvcm5lci1ibCc6IGYgPT4gYDxwYXRoIGQ9XCJNIDAgMTAwIEwgMTAwIDEwMCBBIDEwMCAxMDAgMCAwIDAgMCAwIFpcIiBmaWxsPVwiJHtmfVwiLz5gLFxuICAnY29ybmVyLWJyJzogZiA9PiBgPHBhdGggZD1cIk0gMTAwIDEwMCBMIDAgMTAwIEEgMTAwIDEwMCAwIDAgMSAxMDAgMCBaXCIgZmlsbD1cIiR7Zn1cIi8+YCxcbiAgLy8g4pSA4pSAIExvZ28gc3ltYm9sIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICB1bmRlcnNjb3JlOiBmID0+IGA8cmVjdCB4PVwiMTRcIiB5PVwiNzJcIiB3aWR0aD1cIjcyXCIgaGVpZ2h0PVwiMTRcIiByeD1cIjVcIiBmaWxsPVwiJHtmfVwiLz5gLFxuICAvLyDilIDilIAgTsO6bWVyb3Mg4oCUIG1vbm9zcGFjZSBib2xkLCBiYXNlbGluZSBjZW50cmFkYSBlbiB0aWxlIDEwMHgxMDAg4pSA4pSAXG4gICdudW0tMCc6IGYgPT5cbiAgICBgPHRleHQgeD1cIjUwXCIgeT1cIjc2XCIgZm9udC1zaXplPVwiNjhcIiBmb250LXdlaWdodD1cIjgwMFwiIGZvbnQtZmFtaWx5PVwidWktbW9ub3NwYWNlLCdDb3VyaWVyIE5ldycsbW9ub3NwYWNlXCIgdGV4dC1hbmNob3I9XCJtaWRkbGVcIiBmaWxsPVwiJHtmfVwiPjA8L3RleHQ+YCxcbiAgJ251bS0xJzogZiA9PlxuICAgIGA8dGV4dCB4PVwiNTBcIiB5PVwiNzZcIiBmb250LXNpemU9XCI2OFwiIGZvbnQtd2VpZ2h0PVwiODAwXCIgZm9udC1mYW1pbHk9XCJ1aS1tb25vc3BhY2UsJ0NvdXJpZXIgTmV3Jyxtb25vc3BhY2VcIiB0ZXh0LWFuY2hvcj1cIm1pZGRsZVwiIGZpbGw9XCIke2Z9XCI+MTwvdGV4dD5gLFxuICAnbnVtLTInOiBmID0+XG4gICAgYDx0ZXh0IHg9XCI1MFwiIHk9XCI3NlwiIGZvbnQtc2l6ZT1cIjY4XCIgZm9udC13ZWlnaHQ9XCI4MDBcIiBmb250LWZhbWlseT1cInVpLW1vbm9zcGFjZSwnQ291cmllciBOZXcnLG1vbm9zcGFjZVwiIHRleHQtYW5jaG9yPVwibWlkZGxlXCIgZmlsbD1cIiR7Zn1cIj4yPC90ZXh0PmAsXG4gICdudW0tMyc6IGYgPT5cbiAgICBgPHRleHQgeD1cIjUwXCIgeT1cIjc2XCIgZm9udC1zaXplPVwiNjhcIiBmb250LXdlaWdodD1cIjgwMFwiIGZvbnQtZmFtaWx5PVwidWktbW9ub3NwYWNlLCdDb3VyaWVyIE5ldycsbW9ub3NwYWNlXCIgdGV4dC1hbmNob3I9XCJtaWRkbGVcIiBmaWxsPVwiJHtmfVwiPjM8L3RleHQ+YCxcbiAgJ251bS00JzogZiA9PlxuICAgIGA8dGV4dCB4PVwiNTBcIiB5PVwiNzZcIiBmb250LXNpemU9XCI2OFwiIGZvbnQtd2VpZ2h0PVwiODAwXCIgZm9udC1mYW1pbHk9XCJ1aS1tb25vc3BhY2UsJ0NvdXJpZXIgTmV3Jyxtb25vc3BhY2VcIiB0ZXh0LWFuY2hvcj1cIm1pZGRsZVwiIGZpbGw9XCIke2Z9XCI+NDwvdGV4dD5gLFxuICAnbnVtLTUnOiBmID0+XG4gICAgYDx0ZXh0IHg9XCI1MFwiIHk9XCI3NlwiIGZvbnQtc2l6ZT1cIjY4XCIgZm9udC13ZWlnaHQ9XCI4MDBcIiBmb250LWZhbWlseT1cInVpLW1vbm9zcGFjZSwnQ291cmllciBOZXcnLG1vbm9zcGFjZVwiIHRleHQtYW5jaG9yPVwibWlkZGxlXCIgZmlsbD1cIiR7Zn1cIj41PC90ZXh0PmAsXG4gICdudW0tNic6IGYgPT5cbiAgICBgPHRleHQgeD1cIjUwXCIgeT1cIjc2XCIgZm9udC1zaXplPVwiNjhcIiBmb250LXdlaWdodD1cIjgwMFwiIGZvbnQtZmFtaWx5PVwidWktbW9ub3NwYWNlLCdDb3VyaWVyIE5ldycsbW9ub3NwYWNlXCIgdGV4dC1hbmNob3I9XCJtaWRkbGVcIiBmaWxsPVwiJHtmfVwiPjY8L3RleHQ+YCxcbiAgJ251bS03JzogZiA9PlxuICAgIGA8dGV4dCB4PVwiNTBcIiB5PVwiNzZcIiBmb250LXNpemU9XCI2OFwiIGZvbnQtd2VpZ2h0PVwiODAwXCIgZm9udC1mYW1pbHk9XCJ1aS1tb25vc3BhY2UsJ0NvdXJpZXIgTmV3Jyxtb25vc3BhY2VcIiB0ZXh0LWFuY2hvcj1cIm1pZGRsZVwiIGZpbGw9XCIke2Z9XCI+NzwvdGV4dD5gLFxuICAnbnVtLTgnOiBmID0+XG4gICAgYDx0ZXh0IHg9XCI1MFwiIHk9XCI3NlwiIGZvbnQtc2l6ZT1cIjY4XCIgZm9udC13ZWlnaHQ9XCI4MDBcIiBmb250LWZhbWlseT1cInVpLW1vbm9zcGFjZSwnQ291cmllciBOZXcnLG1vbm9zcGFjZVwiIHRleHQtYW5jaG9yPVwibWlkZGxlXCIgZmlsbD1cIiR7Zn1cIj44PC90ZXh0PmAsXG4gICdudW0tOSc6IGYgPT5cbiAgICBgPHRleHQgeD1cIjUwXCIgeT1cIjc2XCIgZm9udC1zaXplPVwiNjhcIiBmb250LXdlaWdodD1cIjgwMFwiIGZvbnQtZmFtaWx5PVwidWktbW9ub3NwYWNlLCdDb3VyaWVyIE5ldycsbW9ub3NwYWNlXCIgdGV4dC1hbmNob3I9XCJtaWRkbGVcIiBmaWxsPVwiJHtmfVwiPjk8L3RleHQ+YCxcbn07XG5cbmV4cG9ydCBjb25zdCBNT1RJRl9LRVlTOiBQYXR0ZXJuTW90aWZLZXlbXSA9IE9iamVjdC5rZXlzKFBBVFRFUk5fTU9USUZTKSBhcyBQYXR0ZXJuTW90aWZLZXlbXTtcblxuLy8g4pSA4pSAIEZhbWlsaWFzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4vKiogQ2hldnJvbiBmYW1pbHkg4oCUIG9yaWVudGFjaW9uZXMgKyB2YXJpYW50ZXMgcGVxdWXDsWFzLiAqL1xuZXhwb3J0IGNvbnN0IENIRVZfS0VZUzogUGF0dGVybk1vdGlmS2V5W10gPSBbXG4gICdjaGV2LXInLFxuICAnY2hldi1sJyxcbiAgJ2NoZXYtZCcsXG4gICdjaGV2LXUnLFxuICAnc21hbGwtcicsXG4gICdzbWFsbC1sJyxcbiAgJ2Fycm93LXInLFxuICAnYXJyb3ctbCcsXG5dO1xuXG4vKiogU3Ryb2tlIGZhbWlseSDigJQgbMOtbmVhcywgY3J1Y2VzIHkgZWwgZ3Vpw7NuIGJham8gZGVsIGxvZ28gYD5fYC4gKi9cbmV4cG9ydCBjb25zdCBTVFJPS0VfS0VZUzogUGF0dGVybk1vdGlmS2V5W10gPSBbXG4gICdjcm9zcycsXG4gICd4LW1hcmsnLFxuICAnc2xhc2gtcicsXG4gICdzbGFzaC1sJyxcbiAgJ3VuZGVyc2NvcmUnLFxuXTtcblxuLyoqIE51bWVyaWMgZmFtaWx5IOKAlCBkw61naXRvcyAwLTkgZW4gbW9ub3NwYWNlIGJvbGQuICovXG5leHBvcnQgY29uc3QgTlVNX0tFWVM6IFBhdHRlcm5Nb3RpZktleVtdID0gW1xuICAnbnVtLTAnLFxuICAnbnVtLTEnLFxuICAnbnVtLTInLFxuICAnbnVtLTMnLFxuICAnbnVtLTQnLFxuICAnbnVtLTUnLFxuICAnbnVtLTYnLFxuICAnbnVtLTcnLFxuICAnbnVtLTgnLFxuICAnbnVtLTknLFxuXTtcblxuLyoqIENpcmNsZSAvIGRvdCBmYW1pbHkg4oCUIGZvcm1hcyBjdXJ2YXMgY2VudHJhZGFzLiAqL1xuZXhwb3J0IGNvbnN0IENJUkNMRV9LRVlTOiBQYXR0ZXJuTW90aWZLZXlbXSA9IFsnY2lyY2xlJywgJ2NpcmNsZS1zbScsICdkb3QnXTtcblxuLyoqIERpYW1vbmQgc29sbyDigJQgZm9ybWEgZ2VvbcOpdHJpY2EgYW5ndWxhciBjZW50cmFkYS4gKi9cbmV4cG9ydCBjb25zdCBTSEFQRV9LRVlTOiBQYXR0ZXJuTW90aWZLZXlbXSA9IFsnZGlhbW9uZCddO1xuXG4vKiogVHJpYW5nbGUgLyBoYWxmLWZpbGwgZmFtaWx5LiAqL1xuZXhwb3J0IGNvbnN0IFRSSV9LRVlTOiBQYXR0ZXJuTW90aWZLZXlbXSA9IFtcbiAgJ3RyaS10bCcsXG4gICd0cmktdHInLFxuICAndHJpLWJsJyxcbiAgJ3RyaS1icicsXG4gICdoYWxmLWwnLFxuICAnaGFsZi10JyxcbiAgJ2hvdXNlLWQnLFxuXTtcblxuLyoqIENvcm5lciBhcmMgZmFtaWx5IOKAlCBtZXpjbGEgc3VhdmUgY29uIHRyaWFuZ2xlcy4gKi9cbmV4cG9ydCBjb25zdCBDT1JORVJfS0VZUzogUGF0dGVybk1vdGlmS2V5W10gPSBbJ2Nvcm5lci10bCcsICdjb3JuZXItdHInLCAnY29ybmVyLWJsJywgJ2Nvcm5lci1iciddO1xuXG4vKiogTm8tZm9yZWdyb3VuZCB0aWxlcyDigJQgc29sbyByZWN0IGRlIGZvbmRvLiAqL1xuZXhwb3J0IGNvbnN0IFNPTElEX0tFWVM6IFBhdHRlcm5Nb3RpZktleVtdID0gWydzb2xpZCddO1xuXG4vLyDilIDilIAgUGFsZXRhcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLyoqIEJ1aWx0LWluIHBhbGV0dGVzIOKAlCA4IGNvbG9yZXMgZGFyayDihpIgbGlnaHQuICovXG5leHBvcnQgdHlwZSBQYXR0ZXJuUGFsZXR0ZUtleSA9XG4gIHwgJ3B1cnBsZSdcbiAgfCAnaW5rJ1xuICB8ICdsYXZlbmRlcidcbiAgfCAnbWlkbmlnaHQnXG4gIHwgJ2VtYmVyJ1xuICB8ICdmb3Jlc3QnXG4gIHwgJ3Jvc2UnXG4gIHwgJ2dvbGQnXG4gIHwgJ21vbm8nO1xuXG5leHBvcnQgY29uc3QgUEFUVEVSTl9QQUxFVFRFUzogUmVjb3JkPFBhdHRlcm5QYWxldHRlS2V5LCBzdHJpbmdbXT4gPSB7XG4gIHB1cnBsZTogWycjMGUwNDIwJywgJyMyYTExNTgnLCAnIzRhMWQ5NicsICcjNzAyNmRmJywgJyM5MTU2ZTgnLCAnI2I0OGVlYScsICcjZDljM2Y1JywgJyNlYmRjZmQnXSxcbiAgaW5rOiBbJyMwMDAwMDAnLCAnIzBhMGYxYycsICcjMWEyMjM1JywgJyMyZDNhNTUnLCAnIzRhNTg3OCcsICcjN2Q4YWE1JywgJyNiOGMxZDQnLCAnI2U0ZThmMCddLFxuICBsYXZlbmRlcjogW1xuICAgICcjMWEwZTNhJyxcbiAgICAnIzJlMTc1NScsXG4gICAgJyM1YTNhYTAnLFxuICAgICcjN2U1ZGM2JyxcbiAgICAnI2ExOGJkOScsXG4gICAgJyNjNGE4ZjAnLFxuICAgICcjZGNjZWY1JyxcbiAgICAnI2YwZTZmYycsXG4gIF0sXG4gIG1pZG5pZ2h0OiBbXG4gICAgJyMwMjA4MTQnLFxuICAgICcjMDcxNDI4JyxcbiAgICAnIzBkMjI0OCcsXG4gICAgJyMxYTNhNmUnLFxuICAgICcjMjY1NmE4JyxcbiAgICAnIzRkODJkNCcsXG4gICAgJyM4YWI0ZWInLFxuICAgICcjYzVkOWY1JyxcbiAgXSxcbiAgZW1iZXI6IFsnIzEyMDIwMCcsICcjMmUwODAwJywgJyM2YjFhMDAnLCAnI2I4MzIwMCcsICcjZTg1YTEwJywgJyNmNTkwNDInLCAnI2Y5YzQ4YScsICcjZmRlOGNjJ10sXG4gIGZvcmVzdDogWycjMDEwYTA0JywgJyMwNTIwMTAnLCAnIzBhNDAyMCcsICcjMGY2NjM1JywgJyMxOGEwNTgnLCAnIzNlY2U4MCcsICcjODZlOGI0JywgJyNjNGY1ZGMnXSxcbiAgcm9zZTogWycjMTIwMTBhJywgJyMyZTA0MjAnLCAnIzZiMGE0OCcsICcjYjAxODcwJywgJyNlMDQwYTAnLCAnI2YwODBjOCcsICcjZjhiY2U0JywgJyNmZGUwZjMnXSxcbiAgZ29sZDogWycjMTAwODAwJywgJyMyYTFhMDAnLCAnIzVjMzgwMCcsICcjOWU2MDAwJywgJyNkNDkyMGEnLCAnI2YwYmM0MCcsICcjZjhkYThjJywgJyNmZGYwY2MnXSxcbiAgbW9ubzogWycjMDgwODA4JywgJyMxYTFhMWEnLCAnIzMwMzAzMCcsICcjNDg0ODQ4JywgJyM3MDcwNzAnLCAnIzllOWU5ZScsICcjY2VjZWNlJywgJyNmMGYwZjAnXSxcbn07XG5cbi8vIOKUgOKUgCBQcmVzZXRzIGRlIGVzdGlsbyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLyoqXG4gKiBQcmVzZXQgZGUgY29tcG9zaWNpw7NuIGRlbCBwYXRyw7NuLiBDb250cm9sYSBxdcOpIGZhbWlsaWFzIHByZWRvbWluYW4uXG4gKlxuICogLSBgYnJhbmRlZGAgICDihpIgQ2hldnJvbnMgZG9taW5hbnRlcyAoaWRlbnRpZGFkIFZhbHRlY2ggYD5fYCkuIERlZmF1bHQuXG4gKiAtIGBnZW9tZXRyaWNgIOKGkiBUcmnDoW5ndWxvcywgZXNxdWluYXMgeSBjw61yY3Vsb3MuIE3DoXMgYXJxdWl0ZWN0w7NuaWNvLlxuICogLSBgbWluaW1hbGAgICDihpIgRXNwYWNpb3Mgc8OzbGlkb3MgY29uIHRyYXpvcyBzdXRpbGVzLiBMaW1waW8sIGNvcnBvcmF0aXZvLlxuICogLSBgZGVuc2VgICAgICDihpIgTWV6Y2xhIHJpY2EgZGUgdG9kYXMgbGFzIGZhbWlsaWFzLiBNw6F4aW1hIHRleHR1cmEuXG4gKiAtIGBjb2RlYCAgICAgIOKGkiBOw7ptZXJvcywgdW5kZXJzY29yZSB5IGNoZXZyb25zLiBMb29rIGRlIHRlcm1pbmFsLlxuICovXG5leHBvcnQgdHlwZSBQYXR0ZXJuU3R5bGVLZXkgPSAnYnJhbmRlZCcgfCAnZ2VvbWV0cmljJyB8ICdtaW5pbWFsJyB8ICdkZW5zZScgfCAnY29kZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGF0dGVybkRlbnNpdHlDb25maWcge1xuICAvKiogUHJvYmFiaWxpZGFkIGRlIGNoZXZyb24gZmFtaWx5LiAqL1xuICBjaGV2OiBudW1iZXI7XG4gIC8qKiBQcm9iYWJpbGlkYWQgZGUgc3Ryb2tlIGZhbWlseSAoY3Jvc3MsIHgsIHNsYXNoLCB1bmRlcnNjb3JlKS4gKi9cbiAgc3Ryb2tlOiBudW1iZXI7XG4gIC8qKiBQcm9iYWJpbGlkYWQgZGUgY8OtcmN1bG9zLiAqL1xuICBjaXJjbGU6IG51bWJlcjtcbiAgLyoqIFByb2JhYmlsaWRhZCBkZSBkaWFtb25kLiAqL1xuICBzaGFwZTogbnVtYmVyO1xuICAvKiogUHJvYmFiaWxpZGFkIGRlIHNvbGlkIChlc3BhY2lvIHZhY8OtbykuICovXG4gIHNvbGlkOiBudW1iZXI7XG4gIC8qKiBQcm9iYWJpbGlkYWQgZGUgbnVtZXJpYyBmYW1pbHkgKDAtOSkuIERlZmF1bHQ6IDAuICovXG4gIG51bT86IG51bWJlcjtcbiAgLyoqIFJlc3RvIOKGkiB0cmlhbmdsZXMgKyBjb3JuZXJzLiAqL1xufVxuXG5leHBvcnQgY29uc3QgUEFUVEVSTl9TVFlMRV9DT05GSUdTOiBSZWNvcmQ8UGF0dGVyblN0eWxlS2V5LCBQYXR0ZXJuRGVuc2l0eUNvbmZpZz4gPSB7XG4gIGJyYW5kZWQ6IHsgY2hldjogMC41OCwgc3Ryb2tlOiAwLjEsIGNpcmNsZTogMC4wNCwgc2hhcGU6IDAuMDYsIHNvbGlkOiAwLjE4LCBudW06IDAuMCB9LFxuICBnZW9tZXRyaWM6IHsgY2hldjogMC4xNSwgc3Ryb2tlOiAwLjA1LCBjaXJjbGU6IDAuMTgsIHNoYXBlOiAwLjE0LCBzb2xpZDogMC4xLCBudW06IDAuMCB9LFxuICBtaW5pbWFsOiB7IGNoZXY6IDAuMjUsIHN0cm9rZTogMC4xLCBjaXJjbGU6IDAuMTIsIHNoYXBlOiAwLjA0LCBzb2xpZDogMC4zOCwgbnVtOiAwLjAgfSxcbiAgZGVuc2U6IHsgY2hldjogMC40LCBzdHJva2U6IDAuMTQsIGNpcmNsZTogMC4xMiwgc2hhcGU6IDAuMSwgc29saWQ6IDAuMDgsIG51bTogMC4wMiB9LFxuICBjb2RlOiB7IGNoZXY6IDAuMzUsIHN0cm9rZTogMC4xOCwgY2lyY2xlOiAwLjAyLCBzaGFwZTogMC4wMiwgc29saWQ6IDAuMTIsIG51bTogMC4yIH0sXG59O1xuXG4vLyDilIDilIAgUk5HIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4vKipcbiAqIE11bGJlcnJ5MzIgc2VlZGVkIFJORyDigJQgZGV2dWVsdmUgZnVuY2nDs24gYCgpPT5bMCwxKWAuXG4gKiBEZXRlcm1pbmlzdGljOiBtaXNtbyBzZWVkIOKGkiBtaXNtYSBzZWN1ZW5jaWEuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtdWxiZXJyeTMyKHNlZWQ6IG51bWJlcik6ICgpID0+IG51bWJlciB7XG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgc2VlZCA9IChzZWVkICsgMHg2ZDJiNzlmNSkgPj4+IDA7XG4gICAgbGV0IHQgPSBzZWVkO1xuICAgIHQgPSBNYXRoLmltdWwodCBeICh0ID4+PiAxNSksIHQgfCAxKTtcbiAgICB0IF49IHQgKyBNYXRoLmltdWwodCBeICh0ID4+PiA3KSwgdCB8IDYxKTtcbiAgICByZXR1cm4gKCh0IF4gKHQgPj4+IDE0KSkgPj4+IDApIC8gNDI5NDk2NzI5NjtcbiAgfTtcbn1cblxuLy8g4pSA4pSAIEdlbmVyYWNpw7NuIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG5leHBvcnQgaW50ZXJmYWNlIFBhdHRlcm5HZW5Db25maWcge1xuICBjb2xzOiBudW1iZXI7XG4gIHJvd3M6IG51bWJlcjtcbiAgc2VlZDogbnVtYmVyO1xuICBwYWxldHRlOiBzdHJpbmdbXTtcbiAgY2hldnJvbkRlbnNpdHk/OiBudW1iZXI7XG4gIHN0eWxlPzogUGF0dGVyblN0eWxlS2V5O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhdHRlcm5UaWxlIHtcbiAgbW90aWY6IFBhdHRlcm5Nb3RpZktleTtcbiAgYmc6IHN0cmluZztcbiAgZmc6IHN0cmluZztcbn1cblxuZnVuY3Rpb24gcGlja0Zyb208VD4oYXJyOiBUW10sIHJuZzogKCkgPT4gbnVtYmVyKTogVCB7XG4gIHJldHVybiBhcnJbTWF0aC5mbG9vcihybmcoKSAqIGFyci5sZW5ndGgpXSE7XG59XG5cbi8qKlxuICogR2VuZXJhIFVOIHRpbGUgcmVzcGV0YW5kbyBkZW5zaWRhZGVzIGRlIGZhbWlsaWEgKyBjb250cmFzdGUgZGUgcGFsZXR0ZS5cbiAqIEFjZXB0YSB1biBjb25maWcgb3BjaW9uYWwgZGUgZGVuc2lkYWRlcyAoZGUgUGF0dGVyblN0eWxlS2V5IG8gY2hldnJvbkRlbnNpdHkgbGVnYWN5KS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlUmFuZG9tVGlsZShcbiAgcGFsZXR0ZTogc3RyaW5nW10sXG4gIGNoZXZyb25EZW5zaXR5ID0gMC41NSxcbiAgcm5nOiAoKSA9PiBudW1iZXIgPSBNYXRoLnJhbmRvbSxcbiAgZGVuc2l0eUNvbmZpZz86IFBhdHRlcm5EZW5zaXR5Q29uZmlnXG4pOiBQYXR0ZXJuVGlsZSB7XG4gIGNvbnN0IGNmZyA9IGRlbnNpdHlDb25maWcgPz8ge1xuICAgIGNoZXY6IGNoZXZyb25EZW5zaXR5LFxuICAgIHN0cm9rZTogMC4wOCxcbiAgICBjaXJjbGU6IDAuMDUsXG4gICAgc2hhcGU6IDAuMDcsXG4gICAgc29saWQ6IDAuMixcbiAgfTtcblxuICBjb25zdCByb2xsID0gcm5nKCk7XG4gIGxldCBrZXk6IFBhdHRlcm5Nb3RpZktleTtcblxuICBjb25zdCB0MSA9IGNmZy5jaGV2O1xuICBjb25zdCB0MiA9IHQxICsgY2ZnLnN0cm9rZTtcbiAgY29uc3QgdDMgPSB0MiArIGNmZy5jaXJjbGU7XG4gIGNvbnN0IHQ0ID0gdDMgKyBjZmcuc2hhcGU7XG4gIGNvbnN0IHQ1ID0gdDQgKyBjZmcuc29saWQ7XG4gIGNvbnN0IHQ2ID0gdDUgKyAoY2ZnLm51bSA/PyAwKTtcblxuICBpZiAocm9sbCA8IHQxKSBrZXkgPSBwaWNrRnJvbShDSEVWX0tFWVMsIHJuZyk7XG4gIGVsc2UgaWYgKHJvbGwgPCB0Mikga2V5ID0gcGlja0Zyb20oU1RST0tFX0tFWVMsIHJuZyk7XG4gIGVsc2UgaWYgKHJvbGwgPCB0Mykga2V5ID0gcGlja0Zyb20oQ0lSQ0xFX0tFWVMsIHJuZyk7XG4gIGVsc2UgaWYgKHJvbGwgPCB0NCkga2V5ID0gcGlja0Zyb20oU0hBUEVfS0VZUywgcm5nKTtcbiAgZWxzZSBpZiAocm9sbCA8IHQ1KSBrZXkgPSBwaWNrRnJvbShTT0xJRF9LRVlTLCBybmcpO1xuICBlbHNlIGlmIChyb2xsIDwgdDYpIGtleSA9IHBpY2tGcm9tKE5VTV9LRVlTLCBybmcpO1xuICBlbHNlIGtleSA9IHBpY2tGcm9tKFsuLi5UUklfS0VZUywgLi4uQ09STkVSX0tFWVNdLCBybmcpO1xuXG4gIGNvbnN0IGJnSWR4ID0gTWF0aC5mbG9vcihybmcoKSAqIHBhbGV0dGUubGVuZ3RoKTtcbiAgbGV0IGZnSWR4ID0gTWF0aC5mbG9vcihybmcoKSAqIHBhbGV0dGUubGVuZ3RoKTtcbiAgbGV0IHRyaWVzID0gMDtcbiAgd2hpbGUgKE1hdGguYWJzKGZnSWR4IC0gYmdJZHgpIDwgMyAmJiB0cmllcyA8IDYpIHtcbiAgICBmZ0lkeCA9IE1hdGguZmxvb3Iocm5nKCkgKiBwYWxldHRlLmxlbmd0aCk7XG4gICAgdHJpZXMrKztcbiAgfVxuICByZXR1cm4geyBtb3RpZjoga2V5LCBiZzogcGFsZXR0ZVtiZ0lkeF0hLCBmZzogcGFsZXR0ZVtmZ0lkeF0hIH07XG59XG5cbi8qKiBHZW5lcmEgbWF0cml6IGNvbXBsZXRhIGRlIHRpbGVzLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlUGF0dGVyblRpbGVzKGNmZzogUGF0dGVybkdlbkNvbmZpZyk6IFBhdHRlcm5UaWxlW10ge1xuICBjb25zdCB7IGNvbHMsIHJvd3MsIHNlZWQsIHBhbGV0dGUgfSA9IGNmZztcbiAgY29uc3QgY2hldnJvbkRlbnNpdHkgPSBjZmcuY2hldnJvbkRlbnNpdHkgPz8gMC41NTtcbiAgY29uc3QgZGVuc2l0eUNvbmZpZyA9IGNmZy5zdHlsZSA/IFBBVFRFUk5fU1RZTEVfQ09ORklHU1tjZmcuc3R5bGVdIDogdW5kZWZpbmVkO1xuICBjb25zdCByID0gbXVsYmVycnkzMihzZWVkKTtcbiAgY29uc3QgdGlsZXM6IFBhdHRlcm5UaWxlW10gPSBbXTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb2xzICogcm93czsgaSsrKSB7XG4gICAgdGlsZXMucHVzaChnZW5lcmF0ZVJhbmRvbVRpbGUocGFsZXR0ZSwgY2hldnJvbkRlbnNpdHksIHIsIGRlbnNpdHlDb25maWcpKTtcbiAgfVxuICByZXR1cm4gdGlsZXM7XG59XG5cbi8qKlxuICogUmVuZGVyaXphIGVsIGlubmVyIFNWRyAoc2luIGVsIGA8c3ZnPmAgcm9vdCkgcGFyYSB1bmEgbWF0cml6IGRlIHRpbGVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyUGF0dGVyblN2Z0lubmVyKFxuICB0aWxlczogUGF0dGVyblRpbGVbXSxcbiAgY29sczogbnVtYmVyLFxuICBiYXNlQ29sb3I6IHN0cmluZ1xuKTogc3RyaW5nIHtcbiAgY29uc3QgVyA9IGNvbHMgKiAxMDA7XG4gIGNvbnN0IHJvd3MgPSBNYXRoLmNlaWwodGlsZXMubGVuZ3RoIC8gY29scyk7XG4gIGNvbnN0IEggPSByb3dzICogMTAwO1xuICBsZXQgaW5uZXIgPSBgPHJlY3Qgd2lkdGg9XCIke1d9XCIgaGVpZ2h0PVwiJHtIfVwiIGZpbGw9XCIke2Jhc2VDb2xvcn1cIi8+YDtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aWxlcy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGMgPSBpICUgY29scztcbiAgICBjb25zdCByID0gTWF0aC5mbG9vcihpIC8gY29scyk7XG4gICAgY29uc3QgdCA9IHRpbGVzW2ldITtcbiAgICBjb25zdCBzaGFwZSA9IFBBVFRFUk5fTU9USUZTW3QubW90aWZdKHQuZmcpO1xuICAgIGlubmVyICs9IGA8ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoJHtjICogMTAwfSAke3IgKiAxMDB9KVwiPjxyZWN0IHdpZHRoPVwiMTAwXCIgaGVpZ2h0PVwiMTAwXCIgZmlsbD1cIiR7dC5iZ31cIi8+JHtzaGFwZX08L2c+YDtcbiAgfVxuICByZXR1cm4gaW5uZXI7XG59XG4iXX0=
258
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW90aWZzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2F0b21zL3BhdHRlcm4vbW90aWZzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztHQVdHO0FBNkNILE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQztBQUN2QixNQUFNLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztBQUM3QixNQUFNLFNBQVMsR0FBRyxDQUFDLENBQVMsRUFBRSxJQUFZLFdBQVcsRUFBRSxFQUFFLENBQ3ZELFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyw4REFBOEQsQ0FBQztBQUVqRyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQW9EO0lBQzdFLCtEQUErRDtJQUMvRCxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxrQ0FBa0MsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJO0lBQ2pFLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLGtDQUFrQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUk7SUFDakUsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsa0NBQWtDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSTtJQUNqRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxrQ0FBa0MsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJO0lBQ2pFLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLGtDQUFrQyxTQUFTLENBQUMsQ0FBQyxFQUFFLGlCQUFpQixDQUFDLElBQUk7SUFDckYsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsa0NBQWtDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtJQUNyRixTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxzRUFBc0UsQ0FBQyxLQUFLO0lBQzVGLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLHFFQUFx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QUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUU7SUFDeEYsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUU7SUFDdEYsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUU7SUFDcEYsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUU7Q0FDckYsQ0FBQztBQUVGLGdGQUFnRjtBQUVoRjs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsVUFBVSxDQUFDLElBQVk7SUFDckMsT0FBTztRQUNMLElBQUksR0FBRyxDQUFDLElBQUksR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ2IsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNyQyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMxQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUM7SUFDL0MsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQXNCRCxTQUFTLFFBQVEsQ0FBSSxHQUFRLEVBQUUsR0FBaUI7SUFDOUMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUUsQ0FBQztBQUM5QyxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUNoQyxPQUFpQixFQUNqQixjQUFjLEdBQUcsSUFBSSxFQUNyQixNQUFvQixJQUFJLENBQUMsTUFBTSxFQUMvQixhQUFvQztJQUVwQyxNQUFNLEdBQUcsR0FBRyxhQUFhLElBQUk7UUFDM0IsSUFBSSxFQUFFLGNBQWM7UUFDcEIsTUFBTSxFQUFFLElBQUk7UUFDWixNQUFNLEVBQUUsSUFBSTtRQUNaLEtBQUssRUFBRSxJQUFJO1FBQ1gsS0FBSyxFQUFFLEdBQUc7S0FDWCxDQUFDO0lBRUYsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFDbkIsSUFBSSxHQUFvQixDQUFDO0lBRXpCLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUM7SUFDcEIsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7SUFDM0IsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7SUFDM0IsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7SUFDMUIsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7SUFDMUIsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUUvQixJQUFJLElBQUksR0FBRyxFQUFFO1FBQUUsR0FBRyxHQUFHLFFBQVEsQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDekMsSUFBSSxJQUFJLEdBQUcsRUFBRTtRQUFFLEdBQUcsR0FBRyxRQUFRLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ2hELElBQUksSUFBSSxHQUFHLEVBQUU7UUFBRSxHQUFHLEdBQUcsUUFBUSxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNoRCxJQUFJLElBQUksR0FBRyxFQUFFO1FBQUUsR0FBRyxHQUFHLFFBQVEsQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDL0MsSUFBSSxJQUFJLEdBQUcsRUFBRTtRQUFFLEdBQUcsR0FBRyxRQUFRLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQy9DLElBQUksSUFBSSxHQUFHLEVBQUU7UUFBRSxHQUFHLEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQzs7UUFDN0MsR0FBRyxHQUFHLFFBQVEsQ0FBQyxDQUFDLEdBQUcsUUFBUSxFQUFFLEdBQUcsV0FBVyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFFeEQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakQsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0MsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2hELEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQyxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7SUFDRCxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsT0FB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b3RpZnMgKyBwYWxldHRlcy5cbiAqXG4gKiBQdXJlIGRhdGEgKyBoZWxwZXJzLCBzaW4gZGVwZW5kZW5jaWFzIEFuZ3VsYXIuIFJldXNhYmxlIGRlc2RlIE5vZGUvc2NyaXB0c1xuICogKGUuZy4sIGdlbmVyYXRlIHN0YXRpYyB0aHVtYm5haWxzKSBvIGRlc2RlIGVsIGNvbXBvbmVudGUgYHZhbC1wYXR0ZXJuYC5cbiAqXG4gKiBPcmlnaW5hbCBzcGVjOiBgYXNzZXRzL1ZhbHRlY2ggUGF0dGVybiBTeXN0ZW0uaHRtbGAgKHNpbmdsZS1wYWdlIGRlbW8pLlxuICogQ2FkYSBtb3RpZiBlcyBmdW5jacOzbiBgKGZpbGw6IHN0cmluZykgPT4gc3RyaW5nYCBxdWUgZGV2dWVsdmUgU1ZHIGlubmVyXG4gKiBtYXJrdXAuIFRpbGUgZXMgMTAweDEwMCB1bmlkYWRlczsgZWwgbW90aWYgc2UgcmVuZGVyaXphIGRlbnRybyBkZSB1biBgPGdcbiAqIHRyYW5zZm9ybT1cInRyYW5zbGF0ZShjb2wqMTAwIHJvdyoxMDApXCI+YCBjb24gdW4gYDxyZWN0IHdpZHRoPTEwMCBoZWlnaHQ9MTAwXG4gKiBmaWxsPWJnLz5gIGRlIGZvbmRvLlxuICovXG5cbmV4cG9ydCB0eXBlIFBhdHRlcm5Nb3RpZktleSA9XG4gIHwgJ2NoZXYtcidcbiAgfCAnY2hldi1sJ1xuICB8ICdjaGV2LWQnXG4gIHwgJ2NoZXYtdSdcbiAgfCAndHJpLXRsJ1xuICB8ICd0cmktdHInXG4gIHwgJ3RyaS1ibCdcbiAgfCAndHJpLWJyJ1xuICB8ICdzb2xpZCdcbiAgfCAnZGlhbW9uZCdcbiAgfCAnc21hbGwtcidcbiAgfCAnc21hbGwtbCdcbiAgfCAnYXJyb3ctcidcbiAgfCAnYXJyb3ctbCdcbiAgfCAnaG91c2UtZCdcbiAgfCAnaGFsZi1sJ1xuICB8ICdoYWxmLXQnXG4gIC8vIOKUgOKUgCBOdWV2b3MgbW90aWZzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICB8ICdjaXJjbGUnXG4gIHwgJ2NpcmNsZS1zbSdcbiAgfCAnZG90J1xuICB8ICdjcm9zcydcbiAgfCAneC1tYXJrJ1xuICB8ICdzbGFzaC1yJ1xuICB8ICdzbGFzaC1sJ1xuICB8ICdjb3JuZXItdGwnXG4gIHwgJ2Nvcm5lci10cidcbiAgfCAnY29ybmVyLWJsJ1xuICB8ICdjb3JuZXItYnInXG4gIC8vIOKUgOKUgCBMb2dvIHN5bWJvbHMgKyBuw7ptZXJvcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgfCAndW5kZXJzY29yZSdcbiAgfCAnbnVtLTAnXG4gIHwgJ251bS0xJ1xuICB8ICdudW0tMidcbiAgfCAnbnVtLTMnXG4gIHwgJ251bS00J1xuICB8ICdudW0tNSdcbiAgfCAnbnVtLTYnXG4gIHwgJ251bS03J1xuICB8ICdudW0tOCdcbiAgfCAnbnVtLTknO1xuXG5jb25zdCBDSEVWX1NUUk9LRSA9IDE4O1xuY29uc3QgQ0hFVl9TTUFMTF9TVFJPS0UgPSAxMjtcbmNvbnN0IGNoZXZTdHlsZSA9IChmOiBzdHJpbmcsIHc6IG51bWJlciA9IENIRVZfU1RST0tFKSA9PlxuICBgc3Ryb2tlPVwiJHtmfVwiIHN0cm9rZS13aWR0aD1cIiR7d31cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBmaWxsPVwibm9uZVwiYDtcblxuZXhwb3J0IGNvbnN0IFBBVFRFUk5fTU9USUZTOiBSZWNvcmQ8UGF0dGVybk1vdGlmS2V5LCAoZmc6IHN0cmluZykgPT4gc3RyaW5nPiA9IHtcbiAgLy8g4pSA4pSAIENoZXZyb25zIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAnY2hldi1yJzogZiA9PiBgPHBhdGggZD1cIk0yMiAxOCBMNzIgNTAgTDIyIDgyXCIgJHtjaGV2U3R5bGUoZil9Lz5gLFxuICAnY2hldi1sJzogZiA9PiBgPHBhdGggZD1cIk03OCAxOCBMMjggNTAgTDc4IDgyXCIgJHtjaGV2U3R5bGUoZil9Lz5gLFxuICAnY2hldi1kJzogZiA9PiBgPHBhdGggZD1cIk0xOCAyMiBMNTAgNzIgTDgyIDIyXCIgJHtjaGV2U3R5bGUoZil9Lz5gLFxuICAnY2hldi11JzogZiA9PiBgPHBhdGggZD1cIk0xOCA3OCBMNTAgMjggTDgyIDc4XCIgJHtjaGV2U3R5bGUoZil9Lz5gLFxuICAnc21hbGwtcic6IGYgPT4gYDxwYXRoIGQ9XCJNMzggMzIgTDYyIDUwIEwzOCA2OFwiICR7Y2hldlN0eWxlKGYsIENIRVZfU01BTExfU1RST0tFKX0vPmAsXG4gICdzbWFsbC1sJzogZiA9PiBgPHBhdGggZD1cIk02MiAzMiBMMzggNTAgTDYyIDY4XCIgJHtjaGV2U3R5bGUoZiwgQ0hFVl9TTUFMTF9TVFJPS0UpfS8+YCxcbiAgJ2Fycm93LXInOiBmID0+IGA8cGF0aCBkPVwiTTEwIDQyIEw2MCA0MiBMNjAgMjggTDkyIDUwIEw2MCA3MiBMNjAgNTggTDEwIDU4IFpcIiBmaWxsPVwiJHtmfVwiLz5gLFxuICAnYXJyb3ctbCc6IGYgPT4gYDxwYXRoIGQ9XCJNOTAgNDIgTDQwIDQyIEw0MCAyOCBMOCA1MCBMNDAgNzIgTDQwIDU4IEw5MCA1OCBaXCIgZmlsbD1cIiR7Zn1cIi8+YCxcbiAgLy8g4pSA4pSAIFN0cm9rZXMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIGNyb3NzOiBmID0+IGA8cGF0aCBkPVwiTTUwIDEyIEw1MCA4OCBNMTIgNTAgTDg4IDUwXCIgJHtjaGV2U3R5bGUoZiwgMTYpfS8+YCxcbiAgJ3gtbWFyayc6IGYgPT4gYDxwYXRoIGQ9XCJNMTggMTggTDgyIDgyIE04MiAxOCBMMTggODJcIiAke2NoZXZTdHlsZShmLCAxNil9Lz5gLFxuICAnc2xhc2gtcic6IGYgPT5cbiAgICBgPGxpbmUgeDE9XCIxOFwiIHkxPVwiODJcIiB4Mj1cIjgyXCIgeTI9XCIxOFwiIHN0cm9rZT1cIiR7Zn1cIiBzdHJva2Utd2lkdGg9XCIxNlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIi8+YCxcbiAgJ3NsYXNoLWwnOiBmID0+XG4gICAgYDxsaW5lIHgxPVwiMThcIiB5MT1cIjE4XCIgeDI9XCI4MlwiIHkyPVwiODJcIiBzdHJva2U9XCIke2Z9XCIgc3Ryb2tlLXdpZHRoPVwiMTZcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIvPmAsXG4gIC8vIOKUgOKUgCBGaWxsZWQgc2hhcGVzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICBjaXJjbGU6IGYgPT4gYDxjaXJjbGUgY3g9XCI1MFwiIGN5PVwiNTBcIiByPVwiNDBcIiBmaWxsPVwiJHtmfVwiLz5gLFxuICAnY2lyY2xlLXNtJzogZiA9PiBgPGNpcmNsZSBjeD1cIjUwXCIgY3k9XCI1MFwiIHI9XCIyNFwiIGZpbGw9XCIke2Z9XCIvPmAsXG4gIGRvdDogZiA9PiBgPGNpcmNsZSBjeD1cIjUwXCIgY3k9XCI1MFwiIHI9XCIxMlwiIGZpbGw9XCIke2Z9XCIvPmAsXG4gIGRpYW1vbmQ6IGYgPT4gYDxwb2x5Z29uIHBvaW50cz1cIjUwLDEyIDg4LDUwIDUwLDg4IDEyLDUwXCIgZmlsbD1cIiR7Zn1cIi8+YCxcbiAgc29saWQ6ICgpID0+IGBgLFxuICAvLyDilIDilIAgVHJpYW5nbGVzICYgaGFsdmVzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAndHJpLXRsJzogZiA9PiBgPHBvbHlnb24gcG9pbnRzPVwiMCwwIDEwMCwwIDAsMTAwXCIgZmlsbD1cIiR7Zn1cIi8+YCxcbiAgJ3RyaS10cic6IGYgPT4gYDxwb2x5Z29uIHBvaW50cz1cIjAsMCAxMDAsMCAxMDAsMTAwXCIgZmlsbD1cIiR7Zn1cIi8+YCxcbiAgJ3RyaS1ibCc6IGYgPT4gYDxwb2x5Z29uIHBvaW50cz1cIjAsMCAxMDAsMTAwIDAsMTAwXCIgZmlsbD1cIiR7Zn1cIi8+YCxcbiAgJ3RyaS1icic6IGYgPT4gYDxwb2x5Z29uIHBvaW50cz1cIjEwMCwwIDEwMCwxMDAgMCwxMDBcIiBmaWxsPVwiJHtmfVwiLz5gLFxuICAnaGFsZi1sJzogZiA9PiBgPHJlY3QgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiNTBcIiBoZWlnaHQ9XCIxMDBcIiBmaWxsPVwiJHtmfVwiLz5gLFxuICAnaGFsZi10JzogZiA9PiBgPHJlY3QgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiMTAwXCIgaGVpZ2h0PVwiNTBcIiBmaWxsPVwiJHtmfVwiLz5gLFxuICAnaG91c2UtZCc6IGYgPT5cbiAgICBgPHBvbHlnb24gcG9pbnRzPVwiNTAsMjAgODgsNTAgMTIsNTBcIiBmaWxsPVwiJHtmfVwiLz48cmVjdCB4PVwiMjhcIiB5PVwiNTBcIiB3aWR0aD1cIjQ0XCIgaGVpZ2h0PVwiMzJcIiBmaWxsPVwiJHtmfVwiLz5gLFxuICAvLyDilIDilIAgQ29ybmVyIGFyY3Mg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gICdjb3JuZXItdGwnOiBmID0+IGA8cGF0aCBkPVwiTSAwIDAgTCAxMDAgMCBBIDEwMCAxMDAgMCAwIDEgMCAxMDAgWlwiIGZpbGw9XCIke2Z9XCIvPmAsXG4gICdjb3JuZXItdHInOiBmID0+IGA8cGF0aCBkPVwiTSAxMDAgMCBMIDAgMCBBIDEwMCAxMDAgMCAwIDAgMTAwIDEwMCBaXCIgZmlsbD1cIiR7Zn1cIi8+YCxcbiAgJ2Nvcm5lci1ibCc6IGYgPT4gYDxwYXRoIGQ9XCJNIDAgMTAwIEwgMTAwIDEwMCBBIDEwMCAxMDAgMCAwIDAgMCAwIFpcIiBmaWxsPVwiJHtmfVwiLz5gLFxuICAnY29ybmVyLWJyJzogZiA9PiBgPHBhdGggZD1cIk0gMTAwIDEwMCBMIDAgMTAwIEEgMTAwIDEwMCAwIDAgMSAxMDAgMCBaXCIgZmlsbD1cIiR7Zn1cIi8+YCxcbiAgLy8g4pSA4pSAIExvZ28gc3ltYm9sIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICB1bmRlcnNjb3JlOiBmID0+IGA8cmVjdCB4PVwiMTRcIiB5PVwiNzJcIiB3aWR0aD1cIjcyXCIgaGVpZ2h0PVwiMTRcIiByeD1cIjVcIiBmaWxsPVwiJHtmfVwiLz5gLFxuICAvLyDilIDilIAgTsO6bWVyb3Mg4oCUIG1vbm9zcGFjZSBib2xkLCBiYXNlbGluZSBjZW50cmFkYSBlbiB0aWxlIDEwMHgxMDAg4pSA4pSAXG4gICdudW0tMCc6IGYgPT5cbiAgICBgPHRleHQgeD1cIjUwXCIgeT1cIjc2XCIgZm9udC1zaXplPVwiNjhcIiBmb250LXdlaWdodD1cIjgwMFwiIGZvbnQtZmFtaWx5PVwidWktbW9ub3NwYWNlLCdDb3VyaWVyIE5ldycsbW9ub3NwYWNlXCIgdGV4dC1hbmNob3I9XCJtaWRkbGVcIiBmaWxsPVwiJHtmfVwiPjA8L3RleHQ+YCxcbiAgJ251bS0xJzogZiA9PlxuICAgIGA8dGV4dCB4PVwiNTBcIiB5PVwiNzZcIiBmb250LXNpemU9XCI2OFwiIGZvbnQtd2VpZ2h0PVwiODAwXCIgZm9udC1mYW1pbHk9XCJ1aS1tb25vc3BhY2UsJ0NvdXJpZXIgTmV3Jyxtb25vc3BhY2VcIiB0ZXh0LWFuY2hvcj1cIm1pZGRsZVwiIGZpbGw9XCIke2Z9XCI+MTwvdGV4dD5gLFxuICAnbnVtLTInOiBmID0+XG4gICAgYDx0ZXh0IHg9XCI1MFwiIHk9XCI3NlwiIGZvbnQtc2l6ZT1cIjY4XCIgZm9udC13ZWlnaHQ9XCI4MDBcIiBmb250LWZhbWlseT1cInVpLW1vbm9zcGFjZSwnQ291cmllciBOZXcnLG1vbm9zcGFjZVwiIHRleHQtYW5jaG9yPVwibWlkZGxlXCIgZmlsbD1cIiR7Zn1cIj4yPC90ZXh0PmAsXG4gICdudW0tMyc6IGYgPT5cbiAgICBgPHRleHQgeD1cIjUwXCIgeT1cIjc2XCIgZm9udC1zaXplPVwiNjhcIiBmb250LXdlaWdodD1cIjgwMFwiIGZvbnQtZmFtaWx5PVwidWktbW9ub3NwYWNlLCdDb3VyaWVyIE5ldycsbW9ub3NwYWNlXCIgdGV4dC1hbmNob3I9XCJtaWRkbGVcIiBmaWxsPVwiJHtmfVwiPjM8L3RleHQ+YCxcbiAgJ251bS00JzogZiA9PlxuICAgIGA8dGV4dCB4PVwiNTBcIiB5PVwiNzZcIiBmb250LXNpemU9XCI2OFwiIGZvbnQtd2VpZ2h0PVwiODAwXCIgZm9udC1mYW1pbHk9XCJ1aS1tb25vc3BhY2UsJ0NvdXJpZXIgTmV3Jyxtb25vc3BhY2VcIiB0ZXh0LWFuY2hvcj1cIm1pZGRsZVwiIGZpbGw9XCIke2Z9XCI+NDwvdGV4dD5gLFxuICAnbnVtLTUnOiBmID0+XG4gICAgYDx0ZXh0IHg9XCI1MFwiIHk9XCI3NlwiIGZvbnQtc2l6ZT1cIjY4XCIgZm9udC13ZWlnaHQ9XCI4MDBcIiBmb250LWZhbWlseT1cInVpLW1vbm9zcGFjZSwnQ291cmllciBOZXcnLG1vbm9zcGFjZVwiIHRleHQtYW5jaG9yPVwibWlkZGxlXCIgZmlsbD1cIiR7Zn1cIj41PC90ZXh0PmAsXG4gICdudW0tNic6IGYgPT5cbiAgICBgPHRleHQgeD1cIjUwXCIgeT1cIjc2XCIgZm9udC1zaXplPVwiNjhcIiBmb250LXdlaWdodD1cIjgwMFwiIGZvbnQtZmFtaWx5PVwidWktbW9ub3NwYWNlLCdDb3VyaWVyIE5ldycsbW9ub3NwYWNlXCIgdGV4dC1hbmNob3I9XCJtaWRkbGVcIiBmaWxsPVwiJHtmfVwiPjY8L3RleHQ+YCxcbiAgJ251bS03JzogZiA9PlxuICAgIGA8dGV4dCB4PVwiNTBcIiB5PVwiNzZcIiBmb250LXNpemU9XCI2OFwiIGZvbnQtd2VpZ2h0PVwiODAwXCIgZm9udC1mYW1pbHk9XCJ1aS1tb25vc3BhY2UsJ0NvdXJpZXIgTmV3Jyxtb25vc3BhY2VcIiB0ZXh0LWFuY2hvcj1cIm1pZGRsZVwiIGZpbGw9XCIke2Z9XCI+NzwvdGV4dD5gLFxuICAnbnVtLTgnOiBmID0+XG4gICAgYDx0ZXh0IHg9XCI1MFwiIHk9XCI3NlwiIGZvbnQtc2l6ZT1cIjY4XCIgZm9udC13ZWlnaHQ9XCI4MDBcIiBmb250LWZhbWlseT1cInVpLW1vbm9zcGFjZSwnQ291cmllciBOZXcnLG1vbm9zcGFjZVwiIHRleHQtYW5jaG9yPVwibWlkZGxlXCIgZmlsbD1cIiR7Zn1cIj44PC90ZXh0PmAsXG4gICdudW0tOSc6IGYgPT5cbiAgICBgPHRleHQgeD1cIjUwXCIgeT1cIjc2XCIgZm9udC1zaXplPVwiNjhcIiBmb250LXdlaWdodD1cIjgwMFwiIGZvbnQtZmFtaWx5PVwidWktbW9ub3NwYWNlLCdDb3VyaWVyIE5ldycsbW9ub3NwYWNlXCIgdGV4dC1hbmNob3I9XCJtaWRkbGVcIiBmaWxsPVwiJHtmfVwiPjk8L3RleHQ+YCxcbn07XG5cbmV4cG9ydCBjb25zdCBNT1RJRl9LRVlTOiBQYXR0ZXJuTW90aWZLZXlbXSA9IE9iamVjdC5rZXlzKFBBVFRFUk5fTU9USUZTKSBhcyBQYXR0ZXJuTW90aWZLZXlbXTtcblxuLy8g4pSA4pSAIEZhbWlsaWFzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4vKiogQ2hldnJvbiBmYW1pbHkg4oCUIG9yaWVudGFjaW9uZXMgKyB2YXJpYW50ZXMgcGVxdWXDsWFzLiAqL1xuZXhwb3J0IGNvbnN0IENIRVZfS0VZUzogUGF0dGVybk1vdGlmS2V5W10gPSBbXG4gICdjaGV2LXInLFxuICAnY2hldi1sJyxcbiAgJ2NoZXYtZCcsXG4gICdjaGV2LXUnLFxuICAnc21hbGwtcicsXG4gICdzbWFsbC1sJyxcbiAgJ2Fycm93LXInLFxuICAnYXJyb3ctbCcsXG5dO1xuXG4vKiogU3Ryb2tlIGZhbWlseSDigJQgbMOtbmVhcywgY3J1Y2VzIHkgZWwgZ3Vpw7NuIGJham8gZGVsIGxvZ28gYD5fYC4gKi9cbmV4cG9ydCBjb25zdCBTVFJPS0VfS0VZUzogUGF0dGVybk1vdGlmS2V5W10gPSBbXG4gICdjcm9zcycsXG4gICd4LW1hcmsnLFxuICAnc2xhc2gtcicsXG4gICdzbGFzaC1sJyxcbiAgJ3VuZGVyc2NvcmUnLFxuXTtcblxuLyoqIE51bWVyaWMgZmFtaWx5IOKAlCBkw61naXRvcyAwLTkgZW4gbW9ub3NwYWNlIGJvbGQuICovXG5leHBvcnQgY29uc3QgTlVNX0tFWVM6IFBhdHRlcm5Nb3RpZktleVtdID0gW1xuICAnbnVtLTAnLFxuICAnbnVtLTEnLFxuICAnbnVtLTInLFxuICAnbnVtLTMnLFxuICAnbnVtLTQnLFxuICAnbnVtLTUnLFxuICAnbnVtLTYnLFxuICAnbnVtLTcnLFxuICAnbnVtLTgnLFxuICAnbnVtLTknLFxuXTtcblxuLyoqIENpcmNsZSAvIGRvdCBmYW1pbHkg4oCUIGZvcm1hcyBjdXJ2YXMgY2VudHJhZGFzLiAqL1xuZXhwb3J0IGNvbnN0IENJUkNMRV9LRVlTOiBQYXR0ZXJuTW90aWZLZXlbXSA9IFsnY2lyY2xlJywgJ2NpcmNsZS1zbScsICdkb3QnXTtcblxuLyoqIERpYW1vbmQgc29sbyDigJQgZm9ybWEgZ2VvbcOpdHJpY2EgYW5ndWxhciBjZW50cmFkYS4gKi9cbmV4cG9ydCBjb25zdCBTSEFQRV9LRVlTOiBQYXR0ZXJuTW90aWZLZXlbXSA9IFsnZGlhbW9uZCddO1xuXG4vKiogVHJpYW5nbGUgLyBoYWxmLWZpbGwgZmFtaWx5LiAqL1xuZXhwb3J0IGNvbnN0IFRSSV9LRVlTOiBQYXR0ZXJuTW90aWZLZXlbXSA9IFtcbiAgJ3RyaS10bCcsXG4gICd0cmktdHInLFxuICAndHJpLWJsJyxcbiAgJ3RyaS1icicsXG4gICdoYWxmLWwnLFxuICAnaGFsZi10JyxcbiAgJ2hvdXNlLWQnLFxuXTtcblxuLyoqIENvcm5lciBhcmMgZmFtaWx5IOKAlCBtZXpjbGEgc3VhdmUgY29uIHRyaWFuZ2xlcy4gKi9cbmV4cG9ydCBjb25zdCBDT1JORVJfS0VZUzogUGF0dGVybk1vdGlmS2V5W10gPSBbJ2Nvcm5lci10bCcsICdjb3JuZXItdHInLCAnY29ybmVyLWJsJywgJ2Nvcm5lci1iciddO1xuXG4vKiogTm8tZm9yZWdyb3VuZCB0aWxlcyDigJQgc29sbyByZWN0IGRlIGZvbmRvLiAqL1xuZXhwb3J0IGNvbnN0IFNPTElEX0tFWVM6IFBhdHRlcm5Nb3RpZktleVtdID0gWydzb2xpZCddO1xuXG4vLyDilIDilIAgUGFsZXRhcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLyoqIEJ1aWx0LWluIHBhbGV0dGVzIOKAlCA4IGNvbG9yZXMgZGFyayDihpIgbGlnaHQuICovXG5leHBvcnQgdHlwZSBQYXR0ZXJuUGFsZXR0ZUtleSA9XG4gIHwgJ3B1cnBsZSdcbiAgfCAnaW5rJ1xuICB8ICdsYXZlbmRlcidcbiAgfCAnbWlkbmlnaHQnXG4gIHwgJ2VtYmVyJ1xuICB8ICdmb3Jlc3QnXG4gIHwgJ3Jvc2UnXG4gIHwgJ2dvbGQnXG4gIHwgJ21vbm8nXG4gIC8vIOKUgOKUgCBQYWxldGFzIFZhbHRlY2ggYnJhbmQg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIHwgJ3RlYWwnXG4gIHwgJ29jZWFuJ1xuICB8ICd2aW9sZXQnXG4gIHwgJ2R1c2snXG4gIHwgJ3NsYXRlJztcblxuZXhwb3J0IGNvbnN0IFBBVFRFUk5fUEFMRVRURVM6IFJlY29yZDxQYXR0ZXJuUGFsZXR0ZUtleSwgc3RyaW5nW10+ID0ge1xuICBwdXJwbGU6IFsnIzBlMDQyMCcsICcjMmExMTU4JywgJyM0YTFkOTYnLCAnIzcwMjZkZicsICcjOTE1NmU4JywgJyNiNDhlZWEnLCAnI2Q5YzNmNScsICcjZWJkY2ZkJ10sXG4gIGluazogWycjMDAwMDAwJywgJyMwYTBmMWMnLCAnIzFhMjIzNScsICcjMmQzYTU1JywgJyM0YTU4NzgnLCAnIzdkOGFhNScsICcjYjhjMWQ0JywgJyNlNGU4ZjAnXSxcbiAgbGF2ZW5kZXI6IFtcbiAgICAnIzFhMGUzYScsXG4gICAgJyMyZTE3NTUnLFxuICAgICcjNWEzYWEwJyxcbiAgICAnIzdlNWRjNicsXG4gICAgJyNhMThiZDknLFxuICAgICcjYzRhOGYwJyxcbiAgICAnI2RjY2VmNScsXG4gICAgJyNmMGU2ZmMnLFxuICBdLFxuICBtaWRuaWdodDogW1xuICAgICcjMDIwODE0JyxcbiAgICAnIzA3MTQyOCcsXG4gICAgJyMwZDIyNDgnLFxuICAgICcjMWEzYTZlJyxcbiAgICAnIzI2NTZhOCcsXG4gICAgJyM0ZDgyZDQnLFxuICAgICcjOGFiNGViJyxcbiAgICAnI2M1ZDlmNScsXG4gIF0sXG4gIGVtYmVyOiBbJyMxMjAyMDAnLCAnIzJlMDgwMCcsICcjNmIxYTAwJywgJyNiODMyMDAnLCAnI2U4NWExMCcsICcjZjU5MDQyJywgJyNmOWM0OGEnLCAnI2ZkZThjYyddLFxuICBmb3Jlc3Q6IFsnIzAxMGEwNCcsICcjMDUyMDEwJywgJyMwYTQwMjAnLCAnIzBmNjYzNScsICcjMThhMDU4JywgJyMzZWNlODAnLCAnIzg2ZThiNCcsICcjYzRmNWRjJ10sXG4gIHJvc2U6IFsnIzEyMDEwYScsICcjMmUwNDIwJywgJyM2YjBhNDgnLCAnI2IwMTg3MCcsICcjZTA0MGEwJywgJyNmMDgwYzgnLCAnI2Y4YmNlNCcsICcjZmRlMGYzJ10sXG4gIGdvbGQ6IFsnIzEwMDgwMCcsICcjMmExYTAwJywgJyM1YzM4MDAnLCAnIzllNjAwMCcsICcjZDQ5MjBhJywgJyNmMGJjNDAnLCAnI2Y4ZGE4YycsICcjZmRmMGNjJ10sXG4gIG1vbm86IFsnIzA4MDgwOCcsICcjMWExYTFhJywgJyMzMDMwMzAnLCAnIzQ4NDg0OCcsICcjNzA3MDcwJywgJyM5ZTllOWUnLCAnI2NlY2VjZScsICcjZjBmMGYwJ10sXG4gIC8vIOKUgOKUgCBQYWxldGFzIGJyYW5kIFZhbHRlY2gg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIC8vIGRlZXAgdGVhbCDihpIgYnJpZ2h0IGN5YW5cbiAgdGVhbDogWycjMDExYTE2JywgJyMwMjJlMjgnLCAnIzA0NTA0MicsICcjMDc3YTY0JywgJyMwYWE4OGMnLCAnIzJlY2ZiMCcsICcjN2FlYWQ4JywgJyNjMGY3ZWYnXSxcbiAgLy8gbmF2eSBwcm9mdW5kbyDihpIgYXp1bCBjaWVsb1xuICBvY2VhbjogWycjMDEwYzE4JywgJyMwMjFhMzAnLCAnIzA0MzA2MCcsICcjMGE1MDkwJywgJyMxNDc4YzAnLCAnIzNhOWZkZCcsICcjODVjY2VlJywgJyNjOGU5ZjgnXSxcbiAgLy8gdmlvbGV0YSB1bHRyYWJyaWxsYW50ZSAobcOhcyB2w612aWRvIHF1ZSBwdXJwbGUsIG3DoXMgZWzDqWN0cmljbylcbiAgdmlvbGV0OiBbJyMwZDAwMjUnLCAnIzFlMDA1MCcsICcjNDAwMDkwJywgJyM2NjAwY2MnLCAnIzhjMmFmMicsICcjYjA2YWY4JywgJyNkNGE4ZmMnLCAnI2VjZDhmZSddLFxuICAvLyBjcmVww7pzY3VsbyBwdXJwbGUtYmx1ZSAoZHVzayDigJQgbWV6Y2xhIGF0bW9zZsOpcmljYSlcbiAgZHVzazogWycjMDgwNTFlJywgJyMxMzBhNDAnLCAnIzIyMTg4MCcsICcjMzgyOGI0JywgJyM1NTQ4ZDgnLCAnIzgwODBlOCcsICcjYjRiNGY0JywgJyNkZGRkZmInXSxcbiAgLy8gZ3Jpcy1henVsIGNvcnBvcmF0aXZvIGZyw61vIChzbGF0ZSDigJQgdGVjaCBuZXV0cmFsKVxuICBzbGF0ZTogWycjMDYwYzE0JywgJyMwZTFlMzAnLCAnIzFjMzU1MCcsICcjMmM1MDcwJywgJyM0Mjc4YTAnLCAnIzZhYTBjOCcsICcjYTRjNmU0JywgJyNkNGU4ZjYnXSxcbn07XG5cbi8vIOKUgOKUgCBQcmVzZXRzIGRlIGVzdGlsbyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLyoqXG4gKiBQcmVzZXQgZGUgY29tcG9zaWNpw7NuIGRlbCBwYXRyw7NuLiBDb250cm9sYSBxdcOpIGZhbWlsaWFzIHByZWRvbWluYW4uXG4gKlxuICogLSBgYnJhbmRlZGAgICDihpIgQ2hldnJvbnMgZG9taW5hbnRlcyAoaWRlbnRpZGFkIFZhbHRlY2ggYD5fYCkuIERlZmF1bHQuXG4gKiAtIGBnZW9tZXRyaWNgIOKGkiBUcmnDoW5ndWxvcywgZXNxdWluYXMgeSBjw61yY3Vsb3MuIE3DoXMgYXJxdWl0ZWN0w7NuaWNvLlxuICogLSBgbWluaW1hbGAgICDihpIgRXNwYWNpb3Mgc8OzbGlkb3MgY29uIHRyYXpvcyBzdXRpbGVzLiBMaW1waW8sIGNvcnBvcmF0aXZvLlxuICogLSBgZGVuc2VgICAgICDihpIgTWV6Y2xhIHJpY2EgZGUgdG9kYXMgbGFzIGZhbWlsaWFzLiBNw6F4aW1hIHRleHR1cmEuXG4gKiAtIGBjb2RlYCAgICAgIOKGkiBOw7ptZXJvcywgdW5kZXJzY29yZSB5IGNoZXZyb25zLiBMb29rIGRlIHRlcm1pbmFsLlxuICovXG5leHBvcnQgdHlwZSBQYXR0ZXJuU3R5bGVLZXkgPSAnYnJhbmRlZCcgfCAnZ2VvbWV0cmljJyB8ICdtaW5pbWFsJyB8ICdkZW5zZScgfCAnY29kZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGF0dGVybkRlbnNpdHlDb25maWcge1xuICAvKiogUHJvYmFiaWxpZGFkIGRlIGNoZXZyb24gZmFtaWx5LiAqL1xuICBjaGV2OiBudW1iZXI7XG4gIC8qKiBQcm9iYWJpbGlkYWQgZGUgc3Ryb2tlIGZhbWlseSAoY3Jvc3MsIHgsIHNsYXNoLCB1bmRlcnNjb3JlKS4gKi9cbiAgc3Ryb2tlOiBudW1iZXI7XG4gIC8qKiBQcm9iYWJpbGlkYWQgZGUgY8OtcmN1bG9zLiAqL1xuICBjaXJjbGU6IG51bWJlcjtcbiAgLyoqIFByb2JhYmlsaWRhZCBkZSBkaWFtb25kLiAqL1xuICBzaGFwZTogbnVtYmVyO1xuICAvKiogUHJvYmFiaWxpZGFkIGRlIHNvbGlkIChlc3BhY2lvIHZhY8OtbykuICovXG4gIHNvbGlkOiBudW1iZXI7XG4gIC8qKiBQcm9iYWJpbGlkYWQgZGUgbnVtZXJpYyBmYW1pbHkgKDAtOSkuIERlZmF1bHQ6IDAuICovXG4gIG51bT86IG51bWJlcjtcbiAgLyoqIFJlc3RvIOKGkiB0cmlhbmdsZXMgKyBjb3JuZXJzLiAqL1xufVxuXG5leHBvcnQgY29uc3QgUEFUVEVSTl9TVFlMRV9DT05GSUdTOiBSZWNvcmQ8UGF0dGVyblN0eWxlS2V5LCBQYXR0ZXJuRGVuc2l0eUNvbmZpZz4gPSB7XG4gIGJyYW5kZWQ6IHsgY2hldjogMC41OCwgc3Ryb2tlOiAwLjEsIGNpcmNsZTogMC4wNCwgc2hhcGU6IDAuMDYsIHNvbGlkOiAwLjE4LCBudW06IDAuMCB9LFxuICBnZW9tZXRyaWM6IHsgY2hldjogMC4xNSwgc3Ryb2tlOiAwLjA1LCBjaXJjbGU6IDAuMTgsIHNoYXBlOiAwLjE0LCBzb2xpZDogMC4xLCBudW06IDAuMCB9LFxuICBtaW5pbWFsOiB7IGNoZXY6IDAuMjUsIHN0cm9rZTogMC4xLCBjaXJjbGU6IDAuMTIsIHNoYXBlOiAwLjA0LCBzb2xpZDogMC4zOCwgbnVtOiAwLjAgfSxcbiAgZGVuc2U6IHsgY2hldjogMC40LCBzdHJva2U6IDAuMTQsIGNpcmNsZTogMC4xMiwgc2hhcGU6IDAuMSwgc29saWQ6IDAuMDgsIG51bTogMC4wMiB9LFxuICBjb2RlOiB7IGNoZXY6IDAuMzUsIHN0cm9rZTogMC4xOCwgY2lyY2xlOiAwLjAyLCBzaGFwZTogMC4wMiwgc29saWQ6IDAuMTIsIG51bTogMC4yIH0sXG59O1xuXG4vLyDilIDilIAgUk5HIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4vKipcbiAqIE11bGJlcnJ5MzIgc2VlZGVkIFJORyDigJQgZGV2dWVsdmUgZnVuY2nDs24gYCgpPT5bMCwxKWAuXG4gKiBEZXRlcm1pbmlzdGljOiBtaXNtbyBzZWVkIOKGkiBtaXNtYSBzZWN1ZW5jaWEuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtdWxiZXJyeTMyKHNlZWQ6IG51bWJlcik6ICgpID0+IG51bWJlciB7XG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgc2VlZCA9IChzZWVkICsgMHg2ZDJiNzlmNSkgPj4+IDA7XG4gICAgbGV0IHQgPSBzZWVkO1xuICAgIHQgPSBNYXRoLmltdWwodCBeICh0ID4+PiAxNSksIHQgfCAxKTtcbiAgICB0IF49IHQgKyBNYXRoLmltdWwodCBeICh0ID4+PiA3KSwgdCB8IDYxKTtcbiAgICByZXR1cm4gKCh0IF4gKHQgPj4+IDE0KSkgPj4+IDApIC8gNDI5NDk2NzI5NjtcbiAgfTtcbn1cblxuLy8g4pSA4pSAIEdlbmVyYWNpw7NuIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG5leHBvcnQgaW50ZXJmYWNlIFBhdHRlcm5HZW5Db25maWcge1xuICBjb2xzOiBudW1iZXI7XG4gIHJvd3M6IG51bWJlcjtcbiAgc2VlZDogbnVtYmVyO1xuICBwYWxldHRlOiBzdHJpbmdbXTtcbiAgY2hldnJvbkRlbnNpdHk/OiBudW1iZXI7XG4gIHN0eWxlPzogUGF0dGVyblN0eWxlS2V5O1xuICAvKiogU2kgdHJ1ZSwgY2FkYSB0aWxlIHJlY2liZSB1bmEgcm90YWNpw7NuIGFsZWF0b3JpYSBbMC85MC8xODAvMjcwwrBdLiAqL1xuICB0aWxlUm90YXRpb24/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhdHRlcm5UaWxlIHtcbiAgbW90aWY6IFBhdHRlcm5Nb3RpZktleTtcbiAgYmc6IHN0cmluZztcbiAgZmc6IHN0cmluZztcbiAgcm90PzogMCB8IDkwIHwgMTgwIHwgMjcwO1xufVxuXG5mdW5jdGlvbiBwaWNrRnJvbTxUPihhcnI6IFRbXSwgcm5nOiAoKSA9PiBudW1iZXIpOiBUIHtcbiAgcmV0dXJuIGFycltNYXRoLmZsb29yKHJuZygpICogYXJyLmxlbmd0aCldITtcbn1cblxuLyoqXG4gKiBHZW5lcmEgVU4gdGlsZSByZXNwZXRhbmRvIGRlbnNpZGFkZXMgZGUgZmFtaWxpYSArIGNvbnRyYXN0ZSBkZSBwYWxldHRlLlxuICogQWNlcHRhIHVuIGNvbmZpZyBvcGNpb25hbCBkZSBkZW5zaWRhZGVzIChkZSBQYXR0ZXJuU3R5bGVLZXkgbyBjaGV2cm9uRGVuc2l0eSBsZWdhY3kpLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVSYW5kb21UaWxlKFxuICBwYWxldHRlOiBzdHJpbmdbXSxcbiAgY2hldnJvbkRlbnNpdHkgPSAwLjU1LFxuICBybmc6ICgpID0+IG51bWJlciA9IE1hdGgucmFuZG9tLFxuICBkZW5zaXR5Q29uZmlnPzogUGF0dGVybkRlbnNpdHlDb25maWdcbik6IFBhdHRlcm5UaWxlIHtcbiAgY29uc3QgY2ZnID0gZGVuc2l0eUNvbmZpZyA/PyB7XG4gICAgY2hldjogY2hldnJvbkRlbnNpdHksXG4gICAgc3Ryb2tlOiAwLjA4LFxuICAgIGNpcmNsZTogMC4wNSxcbiAgICBzaGFwZTogMC4wNyxcbiAgICBzb2xpZDogMC4yLFxuICB9O1xuXG4gIGNvbnN0IHJvbGwgPSBybmcoKTtcbiAgbGV0IGtleTogUGF0dGVybk1vdGlmS2V5O1xuXG4gIGNvbnN0IHQxID0gY2ZnLmNoZXY7XG4gIGNvbnN0IHQyID0gdDEgKyBjZmcuc3Ryb2tlO1xuICBjb25zdCB0MyA9IHQyICsgY2ZnLmNpcmNsZTtcbiAgY29uc3QgdDQgPSB0MyArIGNmZy5zaGFwZTtcbiAgY29uc3QgdDUgPSB0NCArIGNmZy5zb2xpZDtcbiAgY29uc3QgdDYgPSB0NSArIChjZmcubnVtID8/IDApO1xuXG4gIGlmIChyb2xsIDwgdDEpIGtleSA9IHBpY2tGcm9tKENIRVZfS0VZUywgcm5nKTtcbiAgZWxzZSBpZiAocm9sbCA8IHQyKSBrZXkgPSBwaWNrRnJvbShTVFJPS0VfS0VZUywgcm5nKTtcbiAgZWxzZSBpZiAocm9sbCA8IHQzKSBrZXkgPSBwaWNrRnJvbShDSVJDTEVfS0VZUywgcm5nKTtcbiAgZWxzZSBpZiAocm9sbCA8IHQ0KSBrZXkgPSBwaWNrRnJvbShTSEFQRV9LRVlTLCBybmcpO1xuICBlbHNlIGlmIChyb2xsIDwgdDUpIGtleSA9IHBpY2tGcm9tKFNPTElEX0tFWVMsIHJuZyk7XG4gIGVsc2UgaWYgKHJvbGwgPCB0Nikga2V5ID0gcGlja0Zyb20oTlVNX0tFWVMsIHJuZyk7XG4gIGVsc2Uga2V5ID0gcGlja0Zyb20oWy4uLlRSSV9LRVlTLCAuLi5DT1JORVJfS0VZU10sIHJuZyk7XG5cbiAgY29uc3QgYmdJZHggPSBNYXRoLmZsb29yKHJuZygpICogcGFsZXR0ZS5sZW5ndGgpO1xuICBsZXQgZmdJZHggPSBNYXRoLmZsb29yKHJuZygpICogcGFsZXR0ZS5sZW5ndGgpO1xuICBsZXQgdHJpZXMgPSAwO1xuICB3aGlsZSAoTWF0aC5hYnMoZmdJZHggLSBiZ0lkeCkgPCAzICYmIHRyaWVzIDwgNikge1xuICAgIGZnSWR4ID0gTWF0aC5mbG9vcihybmcoKSAqIHBhbGV0dGUubGVuZ3RoKTtcbiAgICB0cmllcysrO1xuICB9XG4gIHJldHVybiB7IG1vdGlmOiBrZXksIGJnOiBwYWxldHRlW2JnSWR4XSEsIGZnOiBwYWxldHRlW2ZnSWR4XSEgfTtcbn1cblxuY29uc3QgUk9UQVRJT05TOiBBcnJheTwwIHwgOTAgfCAxODAgfCAyNzA+ID0gWzAsIDkwLCAxODAsIDI3MF07XG5cbi8qKiBHZW5lcmEgbWF0cml6IGNvbXBsZXRhIGRlIHRpbGVzLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlUGF0dGVyblRpbGVzKGNmZzogUGF0dGVybkdlbkNvbmZpZyk6IFBhdHRlcm5UaWxlW10ge1xuICBjb25zdCB7IGNvbHMsIHJvd3MsIHNlZWQsIHBhbGV0dGUgfSA9IGNmZztcbiAgY29uc3QgY2hldnJvbkRlbnNpdHkgPSBjZmcuY2hldnJvbkRlbnNpdHkgPz8gMC41NTtcbiAgY29uc3QgZGVuc2l0eUNvbmZpZyA9IGNmZy5zdHlsZSA/IFBBVFRFUk5fU1RZTEVfQ09ORklHU1tjZmcuc3R5bGVdIDogdW5kZWZpbmVkO1xuICBjb25zdCByID0gbXVsYmVycnkzMihzZWVkKTtcbiAgY29uc3QgdGlsZXM6IFBhdHRlcm5UaWxlW10gPSBbXTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb2xzICogcm93czsgaSsrKSB7XG4gICAgY29uc3QgdGlsZSA9IGdlbmVyYXRlUmFuZG9tVGlsZShwYWxldHRlLCBjaGV2cm9uRGVuc2l0eSwgciwgZGVuc2l0eUNvbmZpZyk7XG4gICAgaWYgKGNmZy50aWxlUm90YXRpb24pIHtcbiAgICAgIHRpbGUucm90ID0gUk9UQVRJT05TW01hdGguZmxvb3IocigpICogNCldO1xuICAgIH1cbiAgICB0aWxlcy5wdXNoKHRpbGUpO1xuICB9XG4gIHJldHVybiB0aWxlcztcbn1cblxuLyoqXG4gKiBSZW5kZXJpemEgZWwgaW5uZXIgU1ZHIChzaW4gZWwgYDxzdmc+YCByb290KSBwYXJhIHVuYSBtYXRyaXogZGUgdGlsZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW5kZXJQYXR0ZXJuU3ZnSW5uZXIoXG4gIHRpbGVzOiBQYXR0ZXJuVGlsZVtdLFxuICBjb2xzOiBudW1iZXIsXG4gIGJhc2VDb2xvcjogc3RyaW5nXG4pOiBzdHJpbmcge1xuICBjb25zdCBXID0gY29scyAqIDEwMDtcbiAgY29uc3Qgcm93cyA9IE1hdGguY2VpbCh0aWxlcy5sZW5ndGggLyBjb2xzKTtcbiAgY29uc3QgSCA9IHJvd3MgKiAxMDA7XG4gIGxldCBpbm5lciA9IGA8cmVjdCB3aWR0aD1cIiR7V31cIiBoZWlnaHQ9XCIke0h9XCIgZmlsbD1cIiR7YmFzZUNvbG9yfVwiLz5gO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHRpbGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgYyA9IGkgJSBjb2xzO1xuICAgIGNvbnN0IHIgPSBNYXRoLmZsb29yKGkgLyBjb2xzKTtcbiAgICBjb25zdCB0ID0gdGlsZXNbaV0hO1xuICAgIGNvbnN0IHNoYXBlID0gUEFUVEVSTl9NT1RJRlNbdC5tb3RpZl0odC5mZyk7XG4gICAgY29uc3Qgc2hhcGVFbCA9IHQucm90ID8gYDxnIHRyYW5zZm9ybT1cInJvdGF0ZSgke3Qucm90fSA1MCA1MClcIj4ke3NoYXBlfTwvZz5gIDogc2hhcGU7XG4gICAgaW5uZXIgKz0gYDxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgke2MgKiAxMDB9ICR7ciAqIDEwMH0pXCI+PHJlY3Qgd2lkdGg9XCIxMDBcIiBoZWlnaHQ9XCIxMDBcIiBmaWxsPVwiJHt0LmJnfVwiLz4ke3NoYXBlRWx9PC9nPmA7XG4gIH1cbiAgcmV0dXJuIGlubmVyO1xufVxuIl19
@@ -60,6 +60,8 @@ export class PatternComponent {
60
60
  }
61
61
  if (value.animated !== undefined)
62
62
  this.animated.set(!!value.animated);
63
+ if (value.tileRotation !== undefined)
64
+ this.tileRotation.set(!!value.tileRotation);
63
65
  }
64
66
  constructor() {
65
67
  this.sanitizer = inject(DomSanitizer);
@@ -73,6 +75,7 @@ export class PatternComponent {
73
75
  this.animated = signal(false);
74
76
  this.reshuffleInterval = signal(8000);
75
77
  this.tilesPerTick = signal(0);
78
+ this.tileRotation = signal(false);
76
79
  /**
77
80
  * Tiles signal — mutable. Se regenera completa cuando cambia seed/cols/rows/
78
81
  * palette/density. En modo animated, tiles individuales se sobrescriben sin
@@ -105,7 +108,8 @@ export class PatternComponent {
105
108
  const palette = this.paletteRef();
106
109
  const density = this.chevronDensity();
107
110
  const style = this.patternStyle();
108
- this.tiles.set(generatePatternTiles({ cols, rows, seed, palette, chevronDensity: density, style }));
111
+ const tileRotation = this.tileRotation();
112
+ this.tiles.set(generatePatternTiles({ cols, rows, seed, palette, chevronDensity: density, style, tileRotation }));
109
113
  }, { allowSignalWrites: true });
110
114
  // Modo animated: cada `reshuffleInterval` ms regenera el grid completo
111
115
  // con un seed nuevo. Visualmente: el patrón cambia de vez en cuando.
@@ -149,9 +153,14 @@ export class PatternComponent {
149
153
  const density = this.chevronDensity();
150
154
  const style = this.patternStyle();
151
155
  const densityConfig = style ? PATTERN_STYLE_CONFIGS[style] : undefined;
156
+ const rotate = this.tileRotation();
157
+ const ROTS = [0, 90, 180, 270];
152
158
  for (let n = 0; n < count; n++) {
153
159
  const idx = Math.floor(Math.random() * next.length);
154
- next[idx] = generateRandomTile(palette, density, Math.random, densityConfig);
160
+ const tile = generateRandomTile(palette, density, Math.random, densityConfig);
161
+ if (rotate)
162
+ tile.rot = ROTS[Math.floor(Math.random() * 4)];
163
+ next[idx] = tile;
155
164
  }
156
165
  this.tiles.set(next);
157
166
  }
@@ -178,4 +187,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
178
187
  }], ctorParameters: () => [], propDecorators: { props: [{
179
188
  type: Input
180
189
  }] } });
181
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0dGVybi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvcGF0dGVybi9wYXR0ZXJuLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixrQkFBa0IsRUFDbEIsZ0JBQWdCLEVBQ2hCLHFCQUFxQixFQUtyQixxQkFBcUIsR0FDdEIsTUFBTSxVQUFVLENBQUM7O0FBR2xCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyQkc7QUFvQ0gsTUFBTSxPQUFPLGdCQUFnQjtJQWdCM0IsSUFBYSxLQUFLLENBQUMsS0FBa0M7UUFDbkQsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPO1FBQ25CLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxTQUFTO1lBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDckUsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFNBQVM7WUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNyRSxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssU0FBUztZQUFFLElB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QUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztRQUNyRCxDQUFDO1FBQ0QsT0FBTyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7SUFDeEQsQ0FBQztJQUVPLFVBQVU7UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQztJQUMvQyxDQUFDOytHQTNJVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQixtR0EvQmpCLDJEQUEyRCxvU0FEM0QsWUFBWTs7NEZBZ0NYLGdCQUFnQjtrQkFuQzVCLFNBQVM7K0JBQ0UsYUFBYSxjQUNYLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxZQUNiLDJEQUEyRDt3REErQ3hELEtBQUs7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgZWZmZWN0LCBJbnB1dCwgT25EZXN0cm95LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgZ2VuZXJhdGVQYXR0ZXJuVGlsZXMsXG4gIGdlbmVyYXRlUmFuZG9tVGlsZSxcbiAgUEFUVEVSTl9QQUxFVFRFUyxcbiAgUEFUVEVSTl9TVFlMRV9DT05GSUdTLFxuICBQYXR0ZXJuRGVuc2l0eUNvbmZpZyxcbiAgUGF0dGVyblBhbGV0dGVLZXksXG4gIFBhdHRlcm5TdHlsZUtleSxcbiAgUGF0dGVyblRpbGUsXG4gIHJlbmRlclBhdHRlcm5TdmdJbm5lcixcbn0gZnJvbSAnLi9tb3RpZnMnO1xuaW1wb3J0IHsgUGF0dGVybk1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogYHZhbC1wYXR0ZXJuYFxuICpcbiAqIENvbXBvbmVudGUgZGUgZm9uZG8gZ2VvbcOpdHJpY28gaW5zcGlyYWRvIGVuIGVsIHNpc3RlbWEgVmFsdGVjaC4gUmVuZGVyaXphIHVuXG4gKiBncmlkIGRlIHRpbGVzIDEwMMOXMTAwIGNvbiBtb3RpZnMgKGNoZXZyb25zLCB0cmlhbmdsZXMsIGRpYW1vbmRzLCBhcnJvd3MpIGVuXG4gKiB1biBTVkcgaW5saW5lLiBEZXRlcm1pbmlzdGEgdsOtYSBgc2VlZGAgbyBhbmltYWRvIHbDrWEgYHJlc2h1ZmZsZWAuXG4gKlxuICogQ2VybyBkZXBlbmRlbmNpYXMgZXh0ZXJuYXMg4oCUIHRvZG8gU1ZHLlxuICpcbiAqIEBleGFtcGxlIENvbW8gZm9uZG8gZGUgY2FyZCAoQ1NTIGFic29sdXRlKTpcbiAqIGBgYHNjc3NcbiAqIC5jYXJkIHsgcG9zaXRpb246IHJlbGF0aXZlOyBvdmVyZmxvdzogaGlkZGVuOyB9XG4gKiAuY2FyZCB2YWwtcGF0dGVybiB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7IHotaW5kZXg6IDA7IG9wYWNpdHk6IDAuNDsgfVxuICogLmNhcmQgLmNvbnRlbnQgeyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDE7IH1cbiAqIGBgYFxuICpcbiAqIGBgYGh0bWxcbiAqIDxkaXYgY2xhc3M9XCJjYXJkXCI+XG4gKiAgIDx2YWwtcGF0dGVybiBbcHJvcHNdPVwieyBwYWxldHRlOiAncHVycGxlJywgY29sczogNiwgcm93czogMywgc2VlZDogNDIgfVwiIC8+XG4gKiAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+VHUgY29udGVuaWRvIGFxdcOtPC9kaXY+XG4gKiA8L2Rpdj5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIENvbW8gYmFja2dyb3VuZCBhbmltYWRvIChoZXJvL2xvZ2luKTpcbiAqIGBgYGh0bWxcbiAqIDx2YWwtcGF0dGVybiBbcHJvcHNdPVwieyBwYWxldHRlOiAnbGF2ZW5kZXInLCBjb2xzOiAxNiwgcm93czogOCwgYW5pbWF0ZWQ6IHRydWUgfVwiIC8+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLXBhdHRlcm4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgdGVtcGxhdGU6IGAgPGRpdiBjbGFzcz1cInZhbC1wYXR0ZXJuXCIgW2lubmVySFRNTF09XCJzdmdIdG1sKClcIj48L2Rpdj4gYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cblxuICAgICAgLnZhbC1wYXR0ZXJuIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldDogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42cyBlYXNlLWluLW91dDtcbiAgICAgIH1cblxuICAgICAgLyogU3BlY2lmaWNpdHkgMCwyLDAg4oCUIGJlYXRzIFVBIGRlZmF1bHRzIHBhcmEgU1ZHLiBXaWR0aC9oZWlnaHQgZnVlcnphblxuICAgICAgICogZmlsbCBkZWwgY29udGFpbmVyLiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwic2xpY2VcIiBlbiBlbCB2aWV3Qm94IGhhY2UgZWxcbiAgICAgICAqIGNyb3AvY292ZXIuIFNpbiBlc3RvLCBlbCBTVkcgY2FlIGEgc3UgaW50cmluc2ljIGFzcGVjdCByYXRpbyBkZWxcbiAgICAgICAqIHZpZXdCb3ggeSBkZWphIGZyYW5qYXMgY3VhbmRvIGVsIGNvbnRhaW5lciBubyBtYXRjaGVhIChlai4gbW9iaWxlXG4gICAgICAgKiBjb24gY29scy9yb3dzIHdpZGUtYXNwZWN0KS4gKi9cbiAgICAgIC52YWwtcGF0dGVybiBzdmcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBQYXR0ZXJuQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBzYW5pdGl6ZXIgPSBpbmplY3QoRG9tU2FuaXRpemVyKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGNvbHMgPSBzaWduYWwoMTIpO1xuICBwcml2YXRlIHJlYWRvbmx5IHJvd3MgPSBzaWduYWwoNCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2VlZCA9IHNpZ25hbCh0aGlzLnJhbmRvbVNlZWQoKSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGFsZXR0ZVJlZiA9IHNpZ25hbDxzdHJpbmdbXT4oUEFUVEVSTl9QQUxFVFRFUy5wdXJwbGUpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNoZXZyb25EZW5zaXR5ID0gc2lnbmFsKDAuNTUpO1xuICBwcml2YXRlIHJlYWRvbmx5IHBhdHRlcm5TdHlsZSA9IHNpZ25hbDxQYXR0ZXJuU3R5bGVLZXkgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcHJlc2VydmVBc3BlY3QgPSBzaWduYWw8J3NsaWNlJyB8ICdtZWV0Jz4oJ3NsaWNlJyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgYW5pbWF0ZWQgPSBzaWduYWwoZmFsc2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHJlc2h1ZmZsZUludGVydmFsID0gc2lnbmFsKDgwMDApO1xuICBwcml2YXRlIHJlYWRvbmx5IHRpbGVzUGVyVGljayA9IHNpZ25hbCgwKTtcblxuICBwcml2YXRlIHRpbWVyPzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0SW50ZXJ2YWw+O1xuXG4gIEBJbnB1dCgpIHNldCBwcm9wcyh2YWx1ZTogUGF0dGVybk1ldGFkYXRhIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKCF2YWx1ZSkgcmV0dXJuO1xuICAgIGlmICh2YWx1ZS5jb2xzICE9PSB1bmRlZmluZWQpIHRoaXMuY29scy5zZXQoTWF0aC5tYXgoMSwgdmFsdWUuY29scykpO1xuICAgIGlmICh2YWx1ZS5yb3dzICE9PSB1bmRlZmluZWQpIHRoaXMucm93cy5zZXQoTWF0aC5tYXgoMSwgdmFsdWUucm93cykpO1xuICAgIGlmICh2YWx1ZS5zZWVkICE9PSB1bmRlZmluZWQpIHRoaXMuc2VlZC5zZXQodmFsdWUuc2VlZCk7XG4gICAgaWYgKHZhbHVlLnN0eWxlICE9PSB1bmRlZmluZWQpIHRoaXMucGF0dGVyblN0eWxlLnNldCh2YWx1ZS5zdHlsZSk7XG4gICAgaWYgKHZhbHVlLmNoZXZyb25EZW5zaXR5ICE9PSB1bmRlZmluZWQgJiYgdmFsdWUuc3R5bGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5jaGV2cm9uRGVuc2l0eS5zZXQoTWF0aC5taW4oMSwgTWF0aC5tYXgoMCwgdmFsdWUuY2hldnJvbkRlbnNpdHkpKSk7XG4gICAgfVxuICAgIGlmICh2YWx1ZS5wcmVzZXJ2ZUFzcGVjdCAhPT0gdW5kZWZpbmVkKSB0aGlzLnByZXNlcnZlQXNwZWN0LnNldCh2YWx1ZS5wcmVzZXJ2ZUFzcGVjdCk7XG4gICAgaWYgKHZhbHVlLnBhbGV0dGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5wYWxldHRlUmVmLnNldCh0aGlzLnJlc29sdmVQYWxldHRlKHZhbHVlLnBhbGV0dGUpKTtcbiAgICB9XG4gICAgaWYgKHZhbHVlLnJlc2h1ZmZsZUludGVydmFsICE9PSB1bmRlZmluZWQgJiYgdmFsdWUucmVzaHVmZmxlSW50ZXJ2YWwgPiAwKSB7XG4gICAgICB0aGlzLnJlc2h1ZmZsZUludGVydmFsLnNldCh2YWx1ZS5yZXNodWZmbGVJbnRlcnZhbCk7XG4gICAgfVxuICAgIGlmICh2YWx1ZS50aWxlc1BlclRpY2sgIT09IHVuZGVmaW5lZCAmJiB2YWx1ZS50aWxlc1BlclRpY2sgPj0gMCkge1xuICAgICAgdGhpcy50aWxlc1BlclRpY2suc2V0KE1hdGguZmxvb3IodmFsdWUudGlsZXNQZXJUaWNrKSk7XG4gICAgfVxuICAgIGlmICh2YWx1ZS5hbmltYXRlZCAhPT0gdW5kZWZpbmVkKSB0aGlzLmFuaW1hdGVkLnNldCghIXZhbHVlLmFuaW1hdGVkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaWxlcyBzaWduYWwg4oCUIG11dGFibGUuIFNlIHJlZ2VuZXJhIGNvbXBsZXRhIGN1YW5kbyBjYW1iaWEgc2VlZC9jb2xzL3Jvd3MvXG4gICAqIHBhbGV0dGUvZGVuc2l0eS4gRW4gbW9kbyBhbmltYXRlZCwgdGlsZXMgaW5kaXZpZHVhbGVzIHNlIHNvYnJlc2NyaWJlbiBzaW5cbiAgICogdG9jYXIgZWwgcmVzdG8gKGVmZWN0byBzdGFnZ2VyZWQpLlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSB0aWxlcyA9IHNpZ25hbDxQYXR0ZXJuVGlsZVtdPihbXSk7XG5cbiAgLyoqIFNWRyBjb21wbGV0byBjb21vIHN0cmluZyBzYW5pdGl6ZWQgcGFyYSBgW2lubmVySFRNTF1gLiAqL1xuICByZWFkb25seSBzdmdIdG1sID0gY29tcHV0ZWQ8U2FmZUh0bWw+KCgpID0+IHtcbiAgICBjb25zdCBjb2xzID0gdGhpcy5jb2xzKCk7XG4gICAgY29uc3Qgcm93cyA9IHRoaXMucm93cygpO1xuICAgIGNvbnN0IHBhbGV0dGUgPSB0aGlzLnBhbGV0dGVSZWYoKTtcbiAgICBjb25zdCBpbm5lciA9IHJlbmRlclBhdHRlcm5TdmdJbm5lcih0aGlzLnRpbGVzKCksIGNvbHMsIHBhbGV0dGVbMF0hKTtcbiAgICBjb25zdCBhc3BlY3QgPSB0aGlzLnByZXNlcnZlQXNwZWN0KCkgPT09ICdtZWV0JyA/ICd4TWlkWU1pZCBtZWV0JyA6ICd4TWlkWU1pZCBzbGljZSc7XG4gICAgLy8gd2lkdGgvaGVpZ2h0PVwiMTAwJVwiIGNvbW8gQVRSSUJVVE9TIChubyBzb2xvIENTUykg4oCUIGFsZ3Vub3MgYnJvd3NlcnNcbiAgICAvLyAoU2FmYXJpL2lPUykgaWdub3JhbiBDU1MgaGVpZ2h0IGVuIFNWRyBzaW4gYXRyaWJ1dG9zIHkgY2FlbiBhbCBpbnRyaW5zaWNcbiAgICAvLyBhc3BlY3QgZGVsIHZpZXdCb3gsIGRlamFuZG8gZnJhbmphcyB2YWPDrWFzIGN1YW5kbyBlbCBjb250YWluZXIgbm9cbiAgICAvLyBtYXRjaGVhIGVsIHJhdGlvLlxuICAgIGNvbnN0IHN2ZyA9IGA8c3ZnIHdpZHRoPVwiMTAwJVwiIGhlaWdodD1cIjEwMCVcIiB2aWV3Qm94PVwiMCAwICR7Y29scyAqIDEwMH0gJHtyb3dzICogMTAwfVwiIHByZXNlcnZlQXNwZWN0UmF0aW89XCIke2FzcGVjdH1cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgc3R5bGU9XCJkaXNwbGF5OmJsb2NrO1wiPiR7aW5uZXJ9PC9zdmc+YDtcbiAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoc3ZnKTtcbiAgfSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLy8gUmVnZW5lcmEgZ3JpZCBjb21wbGV0YSBjdWFuZG8gY2FtYmlhbiBwcm9wcyBlc3RydWN0dXJhbGVzIChjb2xzL3Jvd3MvXG4gICAgLy8gcGFsZXR0ZS9kZW5zaXR5L3NlZWQpLiBFbCBzZWVkIHNvbG8gY2FtYmlhIGV4cGzDrWNpdGFtZW50ZSB2aWEgcHJvcHMgb1xuICAgIC8vIG1vdW50IGluaWNpYWwg4oCUIE5PIHNlIG11dGEgZW4gbW9kbyBhbmltYXRlZC5cbiAgICAvLyBgYWxsb3dTaWduYWxXcml0ZXM6IHRydWVgIHJlcXVlcmlkbyBlbiBBbmd1bGFyIDE4OiBlc2NyaWJpbW9zIGEgYHRpbGVzYFxuICAgIC8vIHNpZ25hbCBkZW50cm8gZGVsIGVmZmVjdCAoY29uc3VtaWRvIHBvciBzdmdIdG1sIGNvbXB1dGVkKS5cbiAgICBlZmZlY3QoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbHMgPSB0aGlzLmNvbHMoKTtcbiAgICAgICAgY29uc3Qgcm93cyA9IHRoaXMucm93cygpO1xuICAgICAgICBjb25zdCBzZWVkID0gdGhpcy5zZWVkKCk7XG4gICAgICAgIGNvbnN0IHBhbGV0dGUgPSB0aGlzLnBhbGV0dGVSZWYoKTtcbiAgICAgICAgY29uc3QgZGVuc2l0eSA9IHRoaXMuY2hldnJvbkRlbnNpdHkoKTtcbiAgICAgICAgY29uc3Qgc3R5bGUgPSB0aGlzLnBhdHRlcm5TdHlsZSgpO1xuICAgICAgICB0aGlzLnRpbGVzLnNldChnZW5lcmF0ZVBhdHRlcm5UaWxlcyh7IGNvbHMsIHJvd3MsIHNlZWQsIHBhbGV0dGUsIGNoZXZyb25EZW5zaXR5OiBkZW5zaXR5LCBzdHlsZSB9KSk7XG4gICAgICB9LFxuICAgICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9XG4gICAgKTtcblxuICAgIC8vIE1vZG8gYW5pbWF0ZWQ6IGNhZGEgYHJlc2h1ZmZsZUludGVydmFsYCBtcyByZWdlbmVyYSBlbCBncmlkIGNvbXBsZXRvXG4gICAgLy8gY29uIHVuIHNlZWQgbnVldm8uIFZpc3VhbG1lbnRlOiBlbCBwYXRyw7NuIGNhbWJpYSBkZSB2ZXogZW4gY3VhbmRvLlxuICAgIC8vIFNpIGB0aWxlc1BlclRpY2sgPiAwYCB5IDwgdG90YWwgdGlsZXMsIGhhY2Ugc3RhZ2dlcmVkIChyZWVtcGxhemEgc29sb1xuICAgIC8vIE4gdGlsZXMgZW4gdmV6IGRlIHRvZGEgbGEgZ3JpZCkuIERlZmF1bHQgdGlsZXNQZXJUaWNrPTAg4oaSIHJlc2VlZCB0b3RhbC5cbiAgICBlZmZlY3Qob25DbGVhbnVwID0+IHtcbiAgICAgIGNvbnN0IGlzQW5pbWF0ZWQgPSB0aGlzLmFuaW1hdGVkKCk7XG4gICAgICBjb25zdCBpbnRlcnZhbCA9IHRoaXMucmVzaHVmZmxlSW50ZXJ2YWwoKTtcbiAgICAgIGNvbnN0IHBlclRpY2sgPSB0aGlzLnRpbGVzUGVyVGljaygpO1xuICAgICAgaWYgKHRoaXMudGltZXIpIGNsZWFySW50ZXJ2YWwodGhpcy50aW1lcik7XG4gICAgICB0aGlzLnRpbWVyID0gdW5kZWZpbmVkO1xuICAgICAgaWYgKCFpc0FuaW1hdGVkKSByZXR1cm47XG4gICAgICB0aGlzLnRpbWVyID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgICBpZiAocGVyVGljayA+IDApIHtcbiAgICAgICAgICB0aGlzLm11dGF0ZVJhbmRvbVRpbGVzKHBlclRpY2spO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuc2VlZC5zZXQodGhpcy5yYW5kb21TZWVkKCkpO1xuICAgICAgICB9XG4gICAgICB9LCBpbnRlcnZhbCk7XG4gICAgICBvbkNsZWFudXAoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy50aW1lcikge1xuICAgICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy50aW1lcik7XG4gICAgICAgICAgdGhpcy50aW1lciA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmVlbXBsYXphIGBjb3VudGAgdGlsZXMgcmFuZG9tIGRlbCBncmlkIGFjdHVhbCBjb24gdGlsZXMgbnVldm9zIGdlbmVyYWRvcy5cbiAgICogVXNhZG8gcGFyYSBzdGFnZ2VyZWQgcmVzaHVmZmxlIChvcHQtaW4gdmlhIGB0aWxlc1BlclRpY2sgPiAwYCkuXG4gICAqL1xuICBwcml2YXRlIG11dGF0ZVJhbmRvbVRpbGVzKGNvdW50OiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy50aWxlcygpO1xuICAgIGlmIChjdXJyZW50Lmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xuICAgIGNvbnN0IG5leHQgPSBbLi4uY3VycmVudF07XG4gICAgY29uc3QgcGFsZXR0ZSA9IHRoaXMucGFsZXR0ZVJlZigpO1xuICAgIGNvbnN0IGRlbnNpdHkgPSB0aGlzLmNoZXZyb25EZW5zaXR5KCk7XG4gICAgY29uc3Qgc3R5bGUgPSB0aGlzLnBhdHRlcm5TdHlsZSgpO1xuICAgIGNvbnN0IGRlbnNpdHlDb25maWc6IFBhdHRlcm5EZW5zaXR5Q29uZmlnIHwgdW5kZWZpbmVkID0gc3R5bGUgPyBQQVRURVJOX1NUWUxFX0NPTkZJR1Nbc3R5bGVdIDogdW5kZWZpbmVkO1xuICAgIGZvciAobGV0IG4gPSAwOyBuIDwgY291bnQ7IG4rKykge1xuICAgICAgY29uc3QgaWR4ID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogbmV4dC5sZW5ndGgpO1xuICAgICAgbmV4dFtpZHhdID0gZ2VuZXJhdGVSYW5kb21UaWxlKHBhbGV0dGUsIGRlbnNpdHksIE1hdGgucmFuZG9tLCBkZW5zaXR5Q29uZmlnKTtcbiAgICB9XG4gICAgdGhpcy50aWxlcy5zZXQobmV4dCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50aW1lcikgY2xlYXJJbnRlcnZhbCh0aGlzLnRpbWVyKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzb2x2ZVBhbGV0dGUocDogUGF0dGVyblBhbGV0dGVLZXkgfCBzdHJpbmdbXSk6IHN0cmluZ1tdIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShwKSkge1xuICAgICAgLy8gQWNlcHRhIGFycmF5cyBkZSBjdWFscXVpZXIgbG9uZ2l0dWQg4omlMjsgdGlsZSBjb250cmFzdCBsb2dpYyB1c2Egw61uZGljZXMuXG4gICAgICByZXR1cm4gcC5sZW5ndGggPj0gMiA/IHAgOiBQQVRURVJOX1BBTEVUVEVTLnB1cnBsZTtcbiAgICB9XG4gICAgcmV0dXJuIFBBVFRFUk5fUEFMRVRURVNbcF0gPz8gUEFUVEVSTl9QQUxFVFRFUy5wdXJwbGU7XG4gIH1cblxuICBwcml2YXRlIHJhbmRvbVNlZWQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMV8wMDBfMDAwKTtcbiAgfVxufVxuIl19
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0dGVybi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvcGF0dGVybi9wYXR0ZXJuLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixrQkFBa0IsRUFDbEIsZ0JBQWdCLEVBQ2hCLHFCQUFxQixFQUtyQixxQkFBcUIsR0FDdEIsTUFBTSxVQUFVLENBQUM7O0FBR2xCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyQkc7QUFvQ0gsTUFBTSxPQUFPLGdCQUFnQjtJQWlCM0IsSUFBYSxLQUFLLENBQUMsS0FBa0M7UUFDbkQsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPO1FBQ25CLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxTQUFTO1lBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDckUsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFNBQVM7WUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNyRSxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssU0FBUztZQUFFLElB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IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBlZmZlY3QsIElucHV0LCBPbkRlc3Ryb3ksIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBnZW5lcmF0ZVBhdHRlcm5UaWxlcyxcbiAgZ2VuZXJhdGVSYW5kb21UaWxlLFxuICBQQVRURVJOX1BBTEVUVEVTLFxuICBQQVRURVJOX1NUWUxFX0NPTkZJR1MsXG4gIFBhdHRlcm5EZW5zaXR5Q29uZmlnLFxuICBQYXR0ZXJuUGFsZXR0ZUtleSxcbiAgUGF0dGVyblN0eWxlS2V5LFxuICBQYXR0ZXJuVGlsZSxcbiAgcmVuZGVyUGF0dGVyblN2Z0lubmVyLFxufSBmcm9tICcuL21vdGlmcyc7XG5pbXBvcnQgeyBQYXR0ZXJuTWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBgdmFsLXBhdHRlcm5gXG4gKlxuICogQ29tcG9uZW50ZSBkZSBmb25kbyBnZW9tw6l0cmljbyBpbnNwaXJhZG8gZW4gZWwgc2lzdGVtYSBWYWx0ZWNoLiBSZW5kZXJpemEgdW5cbiAqIGdyaWQgZGUgdGlsZXMgMTAww5cxMDAgY29uIG1vdGlmcyAoY2hldnJvbnMsIHRyaWFuZ2xlcywgZGlhbW9uZHMsIGFycm93cykgZW5cbiAqIHVuIFNWRyBpbmxpbmUuIERldGVybWluaXN0YSB2w61hIGBzZWVkYCBvIGFuaW1hZG8gdsOtYSBgcmVzaHVmZmxlYC5cbiAqXG4gKiBDZXJvIGRlcGVuZGVuY2lhcyBleHRlcm5hcyDigJQgdG9kbyBTVkcuXG4gKlxuICogQGV4YW1wbGUgQ29tbyBmb25kbyBkZSBjYXJkIChDU1MgYWJzb2x1dGUpOlxuICogYGBgc2Nzc1xuICogLmNhcmQgeyBwb3NpdGlvbjogcmVsYXRpdmU7IG92ZXJmbG93OiBoaWRkZW47IH1cbiAqIC5jYXJkIHZhbC1wYXR0ZXJuIHsgcG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMDsgei1pbmRleDogMDsgb3BhY2l0eTogMC40OyB9XG4gKiAuY2FyZCAuY29udGVudCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTsgfVxuICogYGBgXG4gKlxuICogYGBgaHRtbFxuICogPGRpdiBjbGFzcz1cImNhcmRcIj5cbiAqICAgPHZhbC1wYXR0ZXJuIFtwcm9wc109XCJ7IHBhbGV0dGU6ICdwdXJwbGUnLCBjb2xzOiA2LCByb3dzOiAzLCBzZWVkOiA0MiB9XCIgLz5cbiAqICAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5UdSBjb250ZW5pZG8gYXF1w608L2Rpdj5cbiAqIDwvZGl2PlxuICogYGBgXG4gKlxuICogQGV4YW1wbGUgQ29tbyBiYWNrZ3JvdW5kIGFuaW1hZG8gKGhlcm8vbG9naW4pOlxuICogYGBgaHRtbFxuICogPHZhbC1wYXR0ZXJuIFtwcm9wc109XCJ7IHBhbGV0dGU6ICdsYXZlbmRlcicsIGNvbHM6IDE2LCByb3dzOiA4LCBhbmltYXRlZDogdHJ1ZSB9XCIgLz5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtcGF0dGVybicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZTogYCA8ZGl2IGNsYXNzPVwidmFsLXBhdHRlcm5cIiBbaW5uZXJIVE1MXT1cInN2Z0h0bWwoKVwiPjwvZGl2PiBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuXG4gICAgICAudmFsLXBhdHRlcm4ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzIGVhc2UtaW4tb3V0O1xuICAgICAgfVxuXG4gICAgICAvKiBTcGVjaWZpY2l0eSAwLDIsMCDigJQgYmVhdHMgVUEgZGVmYXVsdHMgcGFyYSBTVkcuIFdpZHRoL2hlaWdodCBmdWVyemFuXG4gICAgICAgKiBmaWxsIGRlbCBjb250YWluZXIuIHByZXNlcnZlQXNwZWN0UmF0aW89XCJzbGljZVwiIGVuIGVsIHZpZXdCb3ggaGFjZSBlbFxuICAgICAgICogY3JvcC9jb3Zlci4gU2luIGVzdG8sIGVsIFNWRyBjYWUgYSBzdSBpbnRyaW5zaWMgYXNwZWN0IHJhdGlvIGRlbFxuICAgICAgICogdmlld0JveCB5IGRlamEgZnJhbmphcyBjdWFuZG8gZWwgY29udGFpbmVyIG5vIG1hdGNoZWEgKGVqLiBtb2JpbGVcbiAgICAgICAqIGNvbiBjb2xzL3Jvd3Mgd2lkZS1hc3BlY3QpLiAqL1xuICAgICAgLnZhbC1wYXR0ZXJuIHN2ZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFBhdHRlcm5Db21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHNhbml0aXplciA9IGluamVjdChEb21TYW5pdGl6ZXIpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgY29scyA9IHNpZ25hbCgxMik7XG4gIHByaXZhdGUgcmVhZG9ubHkgcm93cyA9IHNpZ25hbCg0KTtcbiAgcHJpdmF0ZSByZWFkb25seSBzZWVkID0gc2lnbmFsKHRoaXMucmFuZG9tU2VlZCgpKTtcbiAgcHJpdmF0ZSByZWFkb25seSBwYWxldHRlUmVmID0gc2lnbmFsPHN0cmluZ1tdPihQQVRURVJOX1BBTEVUVEVTLnB1cnBsZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2hldnJvbkRlbnNpdHkgPSBzaWduYWwoMC41NSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGF0dGVyblN0eWxlID0gc2lnbmFsPFBhdHRlcm5TdHlsZUtleSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSByZWFkb25seSBwcmVzZXJ2ZUFzcGVjdCA9IHNpZ25hbDwnc2xpY2UnIHwgJ21lZXQnPignc2xpY2UnKTtcbiAgcHJpdmF0ZSByZWFkb25seSBhbmltYXRlZCA9IHNpZ25hbChmYWxzZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVzaHVmZmxlSW50ZXJ2YWwgPSBzaWduYWwoODAwMCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGlsZXNQZXJUaWNrID0gc2lnbmFsKDApO1xuICBwcml2YXRlIHJlYWRvbmx5IHRpbGVSb3RhdGlvbiA9IHNpZ25hbChmYWxzZSk7XG5cbiAgcHJpdmF0ZSB0aW1lcj86IFJldHVyblR5cGU8dHlwZW9mIHNldEludGVydmFsPjtcblxuICBASW5wdXQoKSBzZXQgcHJvcHModmFsdWU6IFBhdHRlcm5NZXRhZGF0YSB8IHVuZGVmaW5lZCkge1xuICAgIGlmICghdmFsdWUpIHJldHVybjtcbiAgICBpZiAodmFsdWUuY29scyAhPT0gdW5kZWZpbmVkKSB0aGlzLmNvbHMuc2V0KE1hdGgubWF4KDEsIHZhbHVlLmNvbHMpKTtcbiAgICBpZiAodmFsdWUucm93cyAhPT0gdW5kZWZpbmVkKSB0aGlzLnJvd3Muc2V0KE1hdGgubWF4KDEsIHZhbHVlLnJvd3MpKTtcbiAgICBpZiAodmFsdWUuc2VlZCAhPT0gdW5kZWZpbmVkKSB0aGlzLnNlZWQuc2V0KHZhbHVlLnNlZWQpO1xuICAgIGlmICh2YWx1ZS5zdHlsZSAhPT0gdW5kZWZpbmVkKSB0aGlzLnBhdHRlcm5TdHlsZS5zZXQodmFsdWUuc3R5bGUpO1xuICAgIGlmICh2YWx1ZS5jaGV2cm9uRGVuc2l0eSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlLnN0eWxlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuY2hldnJvbkRlbnNpdHkuc2V0KE1hdGgubWluKDEsIE1hdGgubWF4KDAsIHZhbHVlLmNoZXZyb25EZW5zaXR5KSkpO1xuICAgIH1cbiAgICBpZiAodmFsdWUucHJlc2VydmVBc3BlY3QgIT09IHVuZGVmaW5lZCkgdGhpcy5wcmVzZXJ2ZUFzcGVjdC5zZXQodmFsdWUucHJlc2VydmVBc3BlY3QpO1xuICAgIGlmICh2YWx1ZS5wYWxldHRlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMucGFsZXR0ZVJlZi5zZXQodGhpcy5yZXNvbHZlUGFsZXR0ZSh2YWx1ZS5wYWxldHRlKSk7XG4gICAgfVxuICAgIGlmICh2YWx1ZS5yZXNodWZmbGVJbnRlcnZhbCAhPT0gdW5kZWZpbmVkICYmIHZhbHVlLnJlc2h1ZmZsZUludGVydmFsID4gMCkge1xuICAgICAgdGhpcy5yZXNodWZmbGVJbnRlcnZhbC5zZXQodmFsdWUucmVzaHVmZmxlSW50ZXJ2YWwpO1xuICAgIH1cbiAgICBpZiAodmFsdWUudGlsZXNQZXJUaWNrICE9PSB1bmRlZmluZWQgJiYgdmFsdWUudGlsZXNQZXJUaWNrID49IDApIHtcbiAgICAgIHRoaXMudGlsZXNQZXJUaWNrLnNldChNYXRoLmZsb29yKHZhbHVlLnRpbGVzUGVyVGljaykpO1xuICAgIH1cbiAgICBpZiAodmFsdWUuYW5pbWF0ZWQgIT09IHVuZGVmaW5lZCkgdGhpcy5hbmltYXRlZC5zZXQoISF2YWx1ZS5hbmltYXRlZCk7XG4gICAgaWYgKHZhbHVlLnRpbGVSb3RhdGlvbiAhPT0gdW5kZWZpbmVkKSB0aGlzLnRpbGVSb3RhdGlvbi5zZXQoISF2YWx1ZS50aWxlUm90YXRpb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIFRpbGVzIHNpZ25hbCDigJQgbXV0YWJsZS4gU2UgcmVnZW5lcmEgY29tcGxldGEgY3VhbmRvIGNhbWJpYSBzZWVkL2NvbHMvcm93cy9cbiAgICogcGFsZXR0ZS9kZW5zaXR5LiBFbiBtb2RvIGFuaW1hdGVkLCB0aWxlcyBpbmRpdmlkdWFsZXMgc2Ugc29icmVzY3JpYmVuIHNpblxuICAgKiB0b2NhciBlbCByZXN0byAoZWZlY3RvIHN0YWdnZXJlZCkuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IHRpbGVzID0gc2lnbmFsPFBhdHRlcm5UaWxlW10+KFtdKTtcblxuICAvKiogU1ZHIGNvbXBsZXRvIGNvbW8gc3RyaW5nIHNhbml0aXplZCBwYXJhIGBbaW5uZXJIVE1MXWAuICovXG4gIHJlYWRvbmx5IHN2Z0h0bWwgPSBjb21wdXRlZDxTYWZlSHRtbD4oKCkgPT4ge1xuICAgIGNvbnN0IGNvbHMgPSB0aGlzLmNvbHMoKTtcbiAgICBjb25zdCByb3dzID0gdGhpcy5yb3dzKCk7XG4gICAgY29uc3QgcGFsZXR0ZSA9IHRoaXMucGFsZXR0ZVJlZigpO1xuICAgIGNvbnN0IGlubmVyID0gcmVuZGVyUGF0dGVyblN2Z0lubmVyKHRoaXMudGlsZXMoKSwgY29scywgcGFsZXR0ZVswXSEpO1xuICAgIGNvbnN0IGFzcGVjdCA9IHRoaXMucHJlc2VydmVBc3BlY3QoKSA9PT0gJ21lZXQnID8gJ3hNaWRZTWlkIG1lZXQnIDogJ3hNaWRZTWlkIHNsaWNlJztcbiAgICAvLyB3aWR0aC9oZWlnaHQ9XCIxMDAlXCIgY29tbyBBVFJJQlVUT1MgKG5vIHNvbG8gQ1NTKSDigJQgYWxndW5vcyBicm93c2Vyc1xuICAgIC8vIChTYWZhcmkvaU9TKSBpZ25vcmFuIENTUyBoZWlnaHQgZW4gU1ZHIHNpbiBhdHJpYnV0b3MgeSBjYWVuIGFsIGludHJpbnNpY1xuICAgIC8vIGFzcGVjdCBkZWwgdmlld0JveCwgZGVqYW5kbyBmcmFuamFzIHZhY8OtYXMgY3VhbmRvIGVsIGNvbnRhaW5lciBub1xuICAgIC8vIG1hdGNoZWEgZWwgcmF0aW8uXG4gICAgY29uc3Qgc3ZnID0gYDxzdmcgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PVwiMTAwJVwiIHZpZXdCb3g9XCIwIDAgJHtjb2xzICogMTAwfSAke3Jvd3MgKiAxMDB9XCIgcHJlc2VydmVBc3BlY3RSYXRpbz1cIiR7YXNwZWN0fVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBhcmlhLWhpZGRlbj1cInRydWVcIiBzdHlsZT1cImRpc3BsYXk6YmxvY2s7XCI+JHtpbm5lcn08L3N2Zz5gO1xuICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChzdmcpO1xuICB9KTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyBSZWdlbmVyYSBncmlkIGNvbXBsZXRhIGN1YW5kbyBjYW1iaWFuIHByb3BzIGVzdHJ1Y3R1cmFsZXMgKGNvbHMvcm93cy9cbiAgICAvLyBwYWxldHRlL2RlbnNpdHkvc2VlZCkuIEVsIHNlZWQgc29sbyBjYW1iaWEgZXhwbMOtY2l0YW1lbnRlIHZpYSBwcm9wcyBvXG4gICAgLy8gbW91bnQgaW5pY2lhbCDigJQgTk8gc2UgbXV0YSBlbiBtb2RvIGFuaW1hdGVkLlxuICAgIC8vIGBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZWAgcmVxdWVyaWRvIGVuIEFuZ3VsYXIgMTg6IGVzY3JpYmltb3MgYSBgdGlsZXNgXG4gICAgLy8gc2lnbmFsIGRlbnRybyBkZWwgZWZmZWN0IChjb25zdW1pZG8gcG9yIHN2Z0h0bWwgY29tcHV0ZWQpLlxuICAgIGVmZmVjdChcbiAgICAgICgpID0+IHtcbiAgICAgICAgY29uc3QgY29scyA9IHRoaXMuY29scygpO1xuICAgICAgICBjb25zdCByb3dzID0gdGhpcy5yb3dzKCk7XG4gICAgICAgIGNvbnN0IHNlZWQgPSB0aGlzLnNlZWQoKTtcbiAgICAgICAgY29uc3QgcGFsZXR0ZSA9IHRoaXMucGFsZXR0ZVJlZigpO1xuICAgICAgICBjb25zdCBkZW5zaXR5ID0gdGhpcy5jaGV2cm9uRGVuc2l0eSgpO1xuICAgICAgICBjb25zdCBzdHlsZSA9IHRoaXMucGF0dGVyblN0eWxlKCk7XG4gICAgICAgIGNvbnN0IHRpbGVSb3RhdGlvbiA9IHRoaXMudGlsZVJvdGF0aW9uKCk7XG4gICAgICAgIHRoaXMudGlsZXMuc2V0KFxuICAgICAgICAgIGdlbmVyYXRlUGF0dGVyblRpbGVzKHsgY29scywgcm93cywgc2VlZCwgcGFsZXR0ZSwgY2hldnJvbkRlbnNpdHk6IGRlbnNpdHksIHN0eWxlLCB0aWxlUm90YXRpb24gfSlcbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgICB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH1cbiAgICApO1xuXG4gICAgLy8gTW9kbyBhbmltYXRlZDogY2FkYSBgcmVzaHVmZmxlSW50ZXJ2YWxgIG1zIHJlZ2VuZXJhIGVsIGdyaWQgY29tcGxldG9cbiAgICAvLyBjb24gdW4gc2VlZCBudWV2by4gVmlzdWFsbWVudGU6IGVsIHBhdHLDs24gY2FtYmlhIGRlIHZleiBlbiBjdWFuZG8uXG4gICAgLy8gU2kgYHRpbGVzUGVyVGljayA+IDBgIHkgPCB0b3RhbCB0aWxlcywgaGFjZSBzdGFnZ2VyZWQgKHJlZW1wbGF6YSBzb2xvXG4gICAgLy8gTiB0aWxlcyBlbiB2ZXogZGUgdG9kYSBsYSBncmlkKS4gRGVmYXVsdCB0aWxlc1BlclRpY2s9MCDihpIgcmVzZWVkIHRvdGFsLlxuICAgIGVmZmVjdChvbkNsZWFudXAgPT4ge1xuICAgICAgY29uc3QgaXNBbmltYXRlZCA9IHRoaXMuYW5pbWF0ZWQoKTtcbiAgICAgIGNvbnN0IGludGVydmFsID0gdGhpcy5yZXNodWZmbGVJbnRlcnZhbCgpO1xuICAgICAgY29uc3QgcGVyVGljayA9IHRoaXMudGlsZXNQZXJUaWNrKCk7XG4gICAgICBpZiAodGhpcy50aW1lcikgY2xlYXJJbnRlcnZhbCh0aGlzLnRpbWVyKTtcbiAgICAgIHRoaXMudGltZXIgPSB1bmRlZmluZWQ7XG4gICAgICBpZiAoIWlzQW5pbWF0ZWQpIHJldHVybjtcbiAgICAgIHRoaXMudGltZXIgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgIGlmIChwZXJUaWNrID4gMCkge1xuICAgICAgICAgIHRoaXMubXV0YXRlUmFuZG9tVGlsZXMocGVyVGljayk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5zZWVkLnNldCh0aGlzLnJhbmRvbVNlZWQoKSk7XG4gICAgICAgIH1cbiAgICAgIH0sIGludGVydmFsKTtcbiAgICAgIG9uQ2xlYW51cCgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnRpbWVyKSB7XG4gICAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLnRpbWVyKTtcbiAgICAgICAgICB0aGlzLnRpbWVyID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWVtcGxhemEgYGNvdW50YCB0aWxlcyByYW5kb20gZGVsIGdyaWQgYWN0dWFsIGNvbiB0aWxlcyBudWV2b3MgZ2VuZXJhZG9zLlxuICAgKiBVc2FkbyBwYXJhIHN0YWdnZXJlZCByZXNodWZmbGUgKG9wdC1pbiB2aWEgYHRpbGVzUGVyVGljayA+IDBgKS5cbiAgICovXG4gIHByaXZhdGUgbXV0YXRlUmFuZG9tVGlsZXMoY291bnQ6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLnRpbGVzKCk7XG4gICAgaWYgKGN1cnJlbnQubGVuZ3RoID09PSAwKSByZXR1cm47XG4gICAgY29uc3QgbmV4dCA9IFsuLi5jdXJyZW50XTtcbiAgICBjb25zdCBwYWxldHRlID0gdGhpcy5wYWxldHRlUmVmKCk7XG4gICAgY29uc3QgZGVuc2l0eSA9IHRoaXMuY2hldnJvbkRlbnNpdHkoKTtcbiAgICBjb25zdCBzdHlsZSA9IHRoaXMucGF0dGVyblN0eWxlKCk7XG4gICAgY29uc3QgZGVuc2l0eUNvbmZpZzogUGF0dGVybkRlbnNpdHlDb25maWcgfCB1bmRlZmluZWQgPSBzdHlsZSA/IFBBVFRFUk5fU1RZTEVfQ09ORklHU1tzdHlsZV0gOiB1bmRlZmluZWQ7XG4gICAgY29uc3Qgcm90YXRlID0gdGhpcy50aWxlUm90YXRpb24oKTtcbiAgICBjb25zdCBST1RTOiBBcnJheTwwIHwgOTAgfCAxODAgfCAyNzA+ID0gWzAsIDkwLCAxODAsIDI3MF07XG4gICAgZm9yIChsZXQgbiA9IDA7IG4gPCBjb3VudDsgbisrKSB7XG4gICAgICBjb25zdCBpZHggPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBuZXh0Lmxlbmd0aCk7XG4gICAgICBjb25zdCB0aWxlID0gZ2VuZXJhdGVSYW5kb21UaWxlKHBhbGV0dGUsIGRlbnNpdHksIE1hdGgucmFuZG9tLCBkZW5zaXR5Q29uZmlnKTtcbiAgICAgIGlmIChyb3RhdGUpIHRpbGUucm90ID0gUk9UU1tNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiA0KV07XG4gICAgICBuZXh0W2lkeF0gPSB0aWxlO1xuICAgIH1cbiAgICB0aGlzLnRpbGVzLnNldChuZXh0KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRpbWVyKSBjbGVhckludGVydmFsKHRoaXMudGltZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlUGFsZXR0ZShwOiBQYXR0ZXJuUGFsZXR0ZUtleSB8IHN0cmluZ1tdKTogc3RyaW5nW10ge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHApKSB7XG4gICAgICAvLyBBY2VwdGEgYXJyYXlzIGRlIGN1YWxxdWllciBsb25naXR1ZCDiiaUyOyB0aWxlIGNvbnRyYXN0IGxvZ2ljIHVzYSDDrW5kaWNlcy5cbiAgICAgIHJldHVybiBwLmxlbmd0aCA+PSAyID8gcCA6IFBBVFRFUk5fUEFMRVRURVMucHVycGxlO1xuICAgIH1cbiAgICByZXR1cm4gUEFUVEVSTl9QQUxFVFRFU1twXSA/PyBQQVRURVJOX1BBTEVUVEVTLnB1cnBsZTtcbiAgfVxuXG4gIHByaXZhdGUgcmFuZG9tU2VlZCgpOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAxXzAwMF8wMDApO1xuICB9XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvcGF0dGVybi90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGF0dGVyblBhbGV0dGVLZXksIFBhdHRlcm5TdHlsZUtleSB9IGZyb20gJy4vbW90aWZzJztcblxuLyoqXG4gKiBDb25maWd1cmFjacOzbiBkZWwgY29tcG9uZW50ZSBgdmFsLXBhdHRlcm5gLlxuICpcbiAqIEBleGFtcGxlIFN0YXRpYyAoc2VlZCBmaWpvLCByZXByb2R1Y2libGUpOlxuICogYGBgaHRtbFxuICogPHZhbC1wYXR0ZXJuIFtwcm9wc109XCJ7IHBhbGV0dGU6ICdwdXJwbGUnLCBjb2xzOiAxMiwgcm93czogNCwgc2VlZDogNDIgfVwiIC8+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZSBBbmltYXRlZCB3aG9sZS1ncmlkIHJlc2h1ZmZsZSAoY2FkYSAxMHMpOlxuICogYGBgaHRtbFxuICogPHZhbC1wYXR0ZXJuIFtwcm9wc109XCJ7IHBhbGV0dGU6ICdtaWRuaWdodCcsIGNvbHM6IDE0LCByb3dzOiA1LCBhbmltYXRlZDogdHJ1ZSwgcmVzaHVmZmxlSW50ZXJ2YWw6IDEwMDAwIH1cIiAvPlxuICogYGBgXG4gKlxuICogQGV4YW1wbGUgQW5pbWF0ZWQgc3RhZ2dlcmVkICgyIHRpbGVzIGNhZGEgODAwbXMg4oCUIHN1dGlsKTpcbiAqIGBgYGh0bWxcbiAqIDx2YWwtcGF0dGVybiBbcHJvcHNdPVwieyBhbmltYXRlZDogdHJ1ZSwgcmVzaHVmZmxlSW50ZXJ2YWw6IDgwMCwgdGlsZXNQZXJUaWNrOiAyIH1cIiAvPlxuICogYGBgXG4gKlxuICogQGV4YW1wbGUgUHJlc2V0IGdlb23DqXRyaWNvIGNvbiBwYWxldGEgZW1iZXI6XG4gKiBgYGBodG1sXG4gKiA8dmFsLXBhdHRlcm4gW3Byb3BzXT1cInsgcGFsZXR0ZTogJ2VtYmVyJywgc3R5bGU6ICdnZW9tZXRyaWMnLCBjb2xzOiAxMCwgcm93czogNCB9XCIgLz5cbiAqIGBgYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhdHRlcm5NZXRhZGF0YSB7XG4gIC8qKlxuICAgKiBQYWxldHRlIGJ1aWx0LWluIG8gYXJyYXkgY3VzdG9tIGRlIDggY29sb3JlcyBkYXJrIOKGkiBsaWdodC5cbiAgICogQnVpbHQtaW5zOiBgJ3B1cnBsZScgfCAnaW5rJyB8ICdsYXZlbmRlcicgfCAnbWlkbmlnaHQnIHwgJ2VtYmVyJyB8ICdmb3Jlc3QnIHwgJ3Jvc2UnIHwgJ2dvbGQnIHwgJ21vbm8nYC5cbiAgICogRGVmYXVsdDogYCdwdXJwbGUnYC5cbiAgICovXG4gIHBhbGV0dGU/OiBQYXR0ZXJuUGFsZXR0ZUtleSB8IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBQcmVzZXQgZGUgY29tcG9zaWNpw7NuIGRlIGZhbWlsaWFzIGRlIG1vdGlmcy5cbiAgICogLSBgYnJhbmRlZGAgICDihpIgQ2hldnJvbnMgZG9taW5hbnRlcyAoaWRlbnRpZGFkIFZhbHRlY2gpLiBEZWZhdWx0LlxuICAgKiAtIGBnZW9tZXRyaWNgIOKGkiBUcmnDoW5ndWxvcywgZXNxdWluYXMgcmVkb25kZWFkYXMgeSBjw61yY3Vsb3MuXG4gICAqIC0gYG1pbmltYWxgICAg4oaSIE1heW9yw61hIHPDs2xpZG8gY29uIHRyYXpvcyBzdXRpbGVzLiBMb29rIGNvcnBvcmF0aXZvIGxpbXBpby5cbiAgICogLSBgZGVuc2VgICAgICDihpIgTWV6Y2xhIHJpY2EgZGUgdG9kYXMgbGFzIGZhbWlsaWFzLiBNw6F4aW1hIHRleHR1cmEuXG4gICAqIC0gYGNvZGVgICAgICAg4oaSIE7Dum1lcm9zLCB1bmRlcnNjb3JlIGBfYCB5IGNoZXZyb25zLiBMb29rIGRlIHRlcm1pbmFsL2PDs2RpZ28uXG4gICAqXG4gICAqIEN1YW5kbyBzZSB1c2EgYHN0eWxlYCwgc29icmVlc2NyaWJlIGBjaGV2cm9uRGVuc2l0eWAuXG4gICAqL1xuICBzdHlsZT86IFBhdHRlcm5TdHlsZUtleTtcblxuICAvKiogQ29sdW1uYXMgZGVsIGdyaWQuIERlZmF1bHQ6IDEyLiAqL1xuICBjb2xzPzogbnVtYmVyO1xuXG4gIC8qKiBGaWxhcyBkZWwgZ3JpZC4gRGVmYXVsdDogNC4gKi9cbiAgcm93cz86IG51bWJlcjtcblxuICAvKipcbiAgICogU2VlZCBwYXJhIE11bGJlcnJ5MzIg4oCUIGRldGVybWluYSBlbCBwYXRyw7NuLiBTaSBubyBzZSBwYXNhLCBnZW5lcmEgdW5vIHJhbmRvbVxuICAgKiBhbCBtb3VudCB5IHF1ZWRhIGZpam8gKGEgbWVub3MgcXVlIGBhbmltYXRlZDogdHJ1ZWApLlxuICAgKi9cbiAgc2VlZD86IG51bWJlcjtcblxuICAvKipcbiAgICogRGVuc2lkYWQgZGUgY2hldnJvbnMgKDAuLjEpLiBJZ25vcmFkbyBzaSBzZSBwYXNhIGBzdHlsZWAuXG4gICAqIERlZmF1bHQ6IGAwLjU1YC5cbiAgICovXG4gIGNoZXZyb25EZW5zaXR5PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTaSBgdHJ1ZWAsIGVsIHBhdHLDs24gYW5pbWEgdGlsZXMgcGVyacOzZGljYW1lbnRlLlxuICAgKiBDb24gYHRpbGVzUGVyVGljazogMGAgKGRlZmF1bHQpOiByZXNlZWQgY29tcGxldG8gZGUgbGEgZ3JpZC5cbiAgICogQ29uIGB0aWxlc1BlclRpY2sgPiAwYDogcmVzaHVmZmxlIHBhcmNpYWwgKHN0YWdnZXJlZCDigJQgbcOhcyBzdXRpbCkuXG4gICAqIERlZmF1bHQ6IGBmYWxzZWAuXG4gICAqL1xuICBhbmltYXRlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIG1zIGVudHJlIHVwZGF0ZXMgKG1vZG8gYW5pbWF0ZWQpLlxuICAgKiBEZWZhdWx0OiBgODAwMGAuXG4gICAqL1xuICByZXNodWZmbGVJbnRlcnZhbD86IG51bWJlcjtcblxuICAvKipcbiAgICogQ3XDoW50b3MgdGlsZXMgY2FtYmlhciBwb3IgdGljayAobW9kbyBhbmltYXRlZCkuXG4gICAqIGAwYCDihpIgcmVzZWVkIGdyaWQgY29tcGxldGEuIGAxLU5gIOKGkiBzdGFnZ2VyZWQgc3V0aWwuXG4gICAqIERlZmF1bHQ6IGAwYC5cbiAgICovXG4gIHRpbGVzUGVyVGljaz86IG51bWJlcjtcblxuICAvKipcbiAgICogYHNsaWNlYCAoZGVmYXVsdCkg4oCUIGN1YnJlIHRvZG8gZWwgY29udGVuZWRvciBjb24gY3JvcCBzaSBuZWNlc2FyaW8uXG4gICAqIGBtZWV0YCDigJQgZml0IGNvbXBsZXRvIHNpbiBjcm9wLlxuICAgKi9cbiAgcHJlc2VydmVBc3BlY3Q/OiAnc2xpY2UnIHwgJ21lZXQnO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvcGF0dGVybi90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGF0dGVyblBhbGV0dGVLZXksIFBhdHRlcm5TdHlsZUtleSB9IGZyb20gJy4vbW90aWZzJztcblxuLyoqXG4gKiBDb25maWd1cmFjacOzbiBkZWwgY29tcG9uZW50ZSBgdmFsLXBhdHRlcm5gLlxuICpcbiAqIEBleGFtcGxlIFN0YXRpYyAoc2VlZCBmaWpvLCByZXByb2R1Y2libGUpOlxuICogYGBgaHRtbFxuICogPHZhbC1wYXR0ZXJuIFtwcm9wc109XCJ7IHBhbGV0dGU6ICdwdXJwbGUnLCBjb2xzOiAxMiwgcm93czogNCwgc2VlZDogNDIgfVwiIC8+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZSBBbmltYXRlZCB3aG9sZS1ncmlkIHJlc2h1ZmZsZSAoY2FkYSAxMHMpOlxuICogYGBgaHRtbFxuICogPHZhbC1wYXR0ZXJuIFtwcm9wc109XCJ7IHBhbGV0dGU6ICdtaWRuaWdodCcsIGNvbHM6IDE0LCByb3dzOiA1LCBhbmltYXRlZDogdHJ1ZSwgcmVzaHVmZmxlSW50ZXJ2YWw6IDEwMDAwIH1cIiAvPlxuICogYGBgXG4gKlxuICogQGV4YW1wbGUgQW5pbWF0ZWQgc3RhZ2dlcmVkICgyIHRpbGVzIGNhZGEgODAwbXMg4oCUIHN1dGlsKTpcbiAqIGBgYGh0bWxcbiAqIDx2YWwtcGF0dGVybiBbcHJvcHNdPVwieyBhbmltYXRlZDogdHJ1ZSwgcmVzaHVmZmxlSW50ZXJ2YWw6IDgwMCwgdGlsZXNQZXJUaWNrOiAyIH1cIiAvPlxuICogYGBgXG4gKlxuICogQGV4YW1wbGUgUHJlc2V0IGdlb23DqXRyaWNvIGNvbiBwYWxldGEgZW1iZXI6XG4gKiBgYGBodG1sXG4gKiA8dmFsLXBhdHRlcm4gW3Byb3BzXT1cInsgcGFsZXR0ZTogJ2VtYmVyJywgc3R5bGU6ICdnZW9tZXRyaWMnLCBjb2xzOiAxMCwgcm93czogNCB9XCIgLz5cbiAqIGBgYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhdHRlcm5NZXRhZGF0YSB7XG4gIC8qKlxuICAgKiBQYWxldHRlIGJ1aWx0LWluIG8gYXJyYXkgY3VzdG9tIGRlIDggY29sb3JlcyBkYXJrIOKGkiBsaWdodC5cbiAgICogQnVpbHQtaW5zOiBgJ3B1cnBsZScgfCAnaW5rJyB8ICdsYXZlbmRlcicgfCAnbWlkbmlnaHQnIHwgJ2VtYmVyJyB8ICdmb3Jlc3QnIHwgJ3Jvc2UnIHwgJ2dvbGQnIHwgJ21vbm8nXG4gICAqICAgfCAndGVhbCcgfCAnb2NlYW4nIHwgJ3Zpb2xldCcgfCAnZHVzaycgfCAnc2xhdGUnYC5cbiAgICogRGVmYXVsdDogYCdwdXJwbGUnYC5cbiAgICovXG4gIHBhbGV0dGU/OiBQYXR0ZXJuUGFsZXR0ZUtleSB8IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBQcmVzZXQgZGUgY29tcG9zaWNpw7NuIGRlIGZhbWlsaWFzIGRlIG1vdGlmcy5cbiAgICogLSBgYnJhbmRlZGAgICDihpIgQ2hldnJvbnMgZG9taW5hbnRlcyAoaWRlbnRpZGFkIFZhbHRlY2gpLiBEZWZhdWx0LlxuICAgKiAtIGBnZW9tZXRyaWNgIOKGkiBUcmnDoW5ndWxvcywgZXNxdWluYXMgcmVkb25kZWFkYXMgeSBjw61yY3Vsb3MuXG4gICAqIC0gYG1pbmltYWxgICAg4oaSIE1heW9yw61hIHPDs2xpZG8gY29uIHRyYXpvcyBzdXRpbGVzLiBMb29rIGNvcnBvcmF0aXZvIGxpbXBpby5cbiAgICogLSBgZGVuc2VgICAgICDihpIgTWV6Y2xhIHJpY2EgZGUgdG9kYXMgbGFzIGZhbWlsaWFzLiBNw6F4aW1hIHRleHR1cmEuXG4gICAqIC0gYGNvZGVgICAgICAg4oaSIE7Dum1lcm9zLCB1bmRlcnNjb3JlIGBfYCB5IGNoZXZyb25zLiBMb29rIGRlIHRlcm1pbmFsL2PDs2RpZ28uXG4gICAqXG4gICAqIEN1YW5kbyBzZSB1c2EgYHN0eWxlYCwgc29icmVlc2NyaWJlIGBjaGV2cm9uRGVuc2l0eWAuXG4gICAqL1xuICBzdHlsZT86IFBhdHRlcm5TdHlsZUtleTtcblxuICAvKiogQ29sdW1uYXMgZGVsIGdyaWQuIERlZmF1bHQ6IDEyLiAqL1xuICBjb2xzPzogbnVtYmVyO1xuXG4gIC8qKiBGaWxhcyBkZWwgZ3JpZC4gRGVmYXVsdDogNC4gKi9cbiAgcm93cz86IG51bWJlcjtcblxuICAvKipcbiAgICogU2VlZCBwYXJhIE11bGJlcnJ5MzIg4oCUIGRldGVybWluYSBlbCBwYXRyw7NuLiBTaSBubyBzZSBwYXNhLCBnZW5lcmEgdW5vIHJhbmRvbVxuICAgKiBhbCBtb3VudCB5IHF1ZWRhIGZpam8gKGEgbWVub3MgcXVlIGBhbmltYXRlZDogdHJ1ZWApLlxuICAgKi9cbiAgc2VlZD86IG51bWJlcjtcblxuICAvKipcbiAgICogRGVuc2lkYWQgZGUgY2hldnJvbnMgKDAuLjEpLiBJZ25vcmFkbyBzaSBzZSBwYXNhIGBzdHlsZWAuXG4gICAqIERlZmF1bHQ6IGAwLjU1YC5cbiAgICovXG4gIGNoZXZyb25EZW5zaXR5PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTaSBgdHJ1ZWAsIGVsIHBhdHLDs24gYW5pbWEgdGlsZXMgcGVyacOzZGljYW1lbnRlLlxuICAgKiBDb24gYHRpbGVzUGVyVGljazogMGAgKGRlZmF1bHQpOiByZXNlZWQgY29tcGxldG8gZGUgbGEgZ3JpZC5cbiAgICogQ29uIGB0aWxlc1BlclRpY2sgPiAwYDogcmVzaHVmZmxlIHBhcmNpYWwgKHN0YWdnZXJlZCDigJQgbcOhcyBzdXRpbCkuXG4gICAqIERlZmF1bHQ6IGBmYWxzZWAuXG4gICAqL1xuICBhbmltYXRlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIG1zIGVudHJlIHVwZGF0ZXMgKG1vZG8gYW5pbWF0ZWQpLlxuICAgKiBEZWZhdWx0OiBgODAwMGAuXG4gICAqL1xuICByZXNodWZmbGVJbnRlcnZhbD86IG51bWJlcjtcblxuICAvKipcbiAgICogQ3XDoW50b3MgdGlsZXMgY2FtYmlhciBwb3IgdGljayAobW9kbyBhbmltYXRlZCkuXG4gICAqIGAwYCDihpIgcmVzZWVkIGdyaWQgY29tcGxldGEuIGAxLU5gIOKGkiBzdGFnZ2VyZWQgc3V0aWwuXG4gICAqIERlZmF1bHQ6IGAwYC5cbiAgICovXG4gIHRpbGVzUGVyVGljaz86IG51bWJlcjtcblxuICAvKipcbiAgICogYHNsaWNlYCAoZGVmYXVsdCkg4oCUIGN1YnJlIHRvZG8gZWwgY29udGVuZWRvciBjb24gY3JvcCBzaSBuZWNlc2FyaW8uXG4gICAqIGBtZWV0YCDigJQgZml0IGNvbXBsZXRvIHNpbiBjcm9wLlxuICAgKi9cbiAgcHJlc2VydmVBc3BlY3Q/OiAnc2xpY2UnIHwgJ21lZXQnO1xuXG4gIC8qKlxuICAgKiBTaSBgdHJ1ZWAsIGNhZGEgdGlsZSByZWNpYmUgdW5hIHJvdGFjacOzbiBhbGVhdG9yaWEgZGUgMC85MC8xODAvMjcwwrAuXG4gICAqIE11bHRpcGxpY2EgbGEgdmFyaWVkYWQgdmlzdWFsIHNpbiBhw7FhZGlyIG51ZXZvcyBtb3RpZnMuXG4gICAqIMOadGlsIGNvbiBgc3R5bGU6ICdnZW9tZXRyaWMnYCBvIGAnZGVuc2UnYC4gRGVmYXVsdDogYGZhbHNlYC5cbiAgICovXG4gIHRpbGVSb3RhdGlvbj86IGJvb2xlYW47XG59XG4iXX0=
@@ -87,4 +87,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
87
87
  providedIn: 'root',
88
88
  }]
89
89
  }], ctorParameters: () => [] });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvaWNvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx5Q0FBeUM7QUFFekM7OztHQUdHO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsVUFBVSxFQUNWLGtCQUFrQixFQUNsQixZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQixtQkFBbUIsRUFDbkIsZUFBZSxFQUNmLGVBQWUsRUFDZixrQkFBa0IsRUFDbEIsc0JBQXNCLEVBQ3RCLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIscUJBQXFCLEVBQ3JCLGdCQUFnQixFQUNoQixZQUFZLEVBQ1osb0JBQW9CLEVBQ3BCLFdBQVcsRUFDWCxhQUFhLEVBQ2IsY0FBYyxFQUNkLG1CQUFtQixFQUNuQix5QkFBeUIsRUFDekIsYUFBYSxFQUNiLFVBQVUsRUFDVixhQUFhLEVBQ2IsS0FBSyxFQUNMLFlBQVksRUFDWixJQUFJLEVBQ0osV0FBVyxFQUNYLHdCQUF3QixFQUN4QixVQUFVLEVBQ1YsZUFBZSxFQUNmLGlCQUFpQixFQUNqQixhQUFhLEVBQ2IsWUFBWSxFQUNaLGdCQUFnQixFQUNoQixhQUFhLEVBQ2IsWUFBWSxFQUNaLFVBQVUsRUFDVixhQUFhLEVBQ2IsWUFBWSxFQUNaLE9BQU8sRUFDUCxVQUFVLEVBQ1YsV0FBVyxFQUNYLFdBQVcsRUFDWCxhQUFhLEVBQ2IsYUFBYSxFQUNiLG9CQUFvQixFQUNwQixXQUFXLEVBQ1gsV0FBVyxFQUNYLGFBQWEsRUFDYixvQkFBb0IsRUFDcEIsY0FBYyxFQUNkLGFBQWEsRUFDYixXQUFXLEVBQ1gsUUFBUSxFQUNSLGVBQWUsRUFDZixZQUFZLEVBQ1osc0JBQXNCLEVBQ3RCLFlBQVksRUFDWixjQUFjLEVBQ2QsY0FBYyxFQUNkLGFBQWEsR0FDZCxNQUFNLGdCQUFnQixDQUFDOztBQUt4QixNQUFNLE9BQU8sV0FBVztJQUN0Qjs7T0FFRztJQUNIO1FBQ0UsUUFBUSxDQUFDO1lBQ1AsVUFBVTtZQUNWLGdCQUFnQjtZQUNoQixZQUFZO1lBQ1osa0JBQWtCO1lBQ2xCLGdCQUFnQjtZQUNoQixtQkFBbUI7WUFDbkIsZ0JBQWdCO1lBQ2hCLFFBQVE7WUFDUixlQUFlO1lBQ2Ysc0JBQXNCO1lBQ3RCLHlCQUF5QjtZQUN6QixhQUFhO1lBQ2Isb0JBQW9CO1lBQ3BCLFdBQVc7WUFDWCxZQUFZO1lBQ1osa0JBQWtCO1lBQ2xCLFlBQVk7WUFDWixLQUFLO1lBQ0wsWUFBWTtZQUNaLElBQUk7WUFDSixXQUFXO1lBQ1gsYUFBYTtZQUNiLFVBQVU7WUFDVixXQUFXO1lBQ1gsa0JBQWtCO1lBQ2xCLHFCQUFxQjtZQUNyQixnQkFBZ0I7WUFDaEIsZ0JBQWdCO1lBQ2hCLFdBQVc7WUFDWCxhQUFhO1lBQ2IsZUFBZTtZQUNmLGVBQWU7WUFDZixlQUFlO1lBQ2YsV0FBVztZQUNYLGFBQWE7WUFDYixZQUFZO1lBQ1osV0FBVztZQUNYLFVBQVU7WUFDVixZQUFZO1lBQ1osVUFBVTtZQUNWLGFBQWE7WUFDYixZQUFZO1lBQ1osV0FBVztZQUNYLGFBQWE7WUFDYixvQkFBb0I7WUFDcEIsY0FBYztZQUNkLG1CQUFtQjtZQUNuQixpQkFBaUI7WUFDakIsd0JBQXdCO1lBQ3hCLE9BQU87WUFDUCxhQUFhO1lBQ2IsY0FBYztZQUNkLGFBQWE7WUFDYixzQkFBc0I7WUFDdEIsVUFBVTtZQUNWLGNBQWM7WUFDZCxhQUFhO1lBQ2Isb0JBQW9CO1lBQ3BCLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLGFBQWE7WUFDYixjQUFjO1NBQ2YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0F0RVUsV0FBVzttSEFBWCxXQUFXLGNBRlYsTUFBTTs7NEZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby11bmRlcnNjb3JlLWRhbmdsZSAqL1xuXG4vKipcbiAqIFNlcnZpY2UgZm9yIHJlZ2lzdGVyaW5nIGFuZCBtYW5hZ2luZyBjdXN0b20gSW9uaWNvbnMgaWNvbnMgaW4gdGhlIGFwcGxpY2F0aW9uLlxuICogQXV0b21hdGljYWxseSByZWdpc3RlcnMgYSBzZXQgb2YgY29tbW9ubHkgdXNlZCBpY29ucyBvbiBpbml0aWFsaXphdGlvbi5cbiAqL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhZGRJY29ucyB9IGZyb20gJ2lvbmljb25zJztcbmltcG9ydCB7XG4gIGFkZENpcmNsZU91dGxpbmUsXG4gIGFkZE91dGxpbmUsXG4gIGFsZXJ0Q2lyY2xlT3V0bGluZSxcbiAgYWxlcnRPdXRsaW5lLFxuICBhcnJvd0JhY2tPdXRsaW5lLFxuICBhcnJvd0Rvd25PdXRsaW5lLFxuICBhcnJvd0ZvcndhcmRPdXRsaW5lLFxuICBidXNpbmVzc091dGxpbmUsXG4gIGNhbGVuZGFyT3V0bGluZSxcbiAgY2hhdGJ1YmJsZXNPdXRsaW5lLFxuICBjaGVja21hcmtDaXJjbGVPdXRsaW5lLFxuICBjaGVja21hcmtPdXRsaW5lLFxuICBjaGV2cm9uRG93bk91dGxpbmUsXG4gIGNoZXZyb25Gb3J3YXJkT3V0bGluZSxcbiAgY2xpcGJvYXJkT3V0bGluZSxcbiAgY2xvc2VPdXRsaW5lLFxuICBjbG91ZERvd25sb2FkT3V0bGluZSxcbiAgY29weU91dGxpbmUsXG4gIGNyZWF0ZU91dGxpbmUsXG4gIGRlc2t0b3BPdXRsaW5lLFxuICBkb2N1bWVudFRleHRPdXRsaW5lLFxuICBlbGxpcHNpc0hvcml6b250YWxPdXRsaW5lLFxuICBleWVPZmZPdXRsaW5lLFxuICBleWVPdXRsaW5lLFxuICBmaWx0ZXJPdXRsaW5lLFxuICBoZWFydCxcbiAgaGVhcnRPdXRsaW5lLFxuICBob21lLFxuICBob21lT3V0bGluZSxcbiAgaW5mb3JtYXRpb25DaXJjbGVPdXRsaW5lLFxuICBrZXlPdXRsaW5lLFxuICBsb2NhdGlvbk91dGxpbmUsXG4gIGxvY2tDbG9zZWRPdXRsaW5lLFxuICBsb2dPdXRPdXRsaW5lLFxuICBjbG91ZE91dGxpbmUsXG4gIGdpdEJyYW5jaE91dGxpbmUsXG4gIGxheWVyc091dGxpbmUsXG4gIGxvZ29GYWNlYm9vayxcbiAgbG9nb0dvb2dsZSxcbiAgbG9nb0luc3RhZ3JhbSxcbiAgbG9nb0xpbmtlZGluLFxuICBsb2dvTnBtLFxuICBsb2dvVGlrdG9rLFxuICBsb2dvVHdpdHRlcixcbiAgbG9nb1lvdXR1YmUsXG4gIHNlcnZlck91dGxpbmUsXG4gIG5vdGlmaWNhdGlvbnMsXG4gIG5vdGlmaWNhdGlvbnNPdXRsaW5lLFxuICBvcGVuT3V0bGluZSxcbiAgcGxheU91dGxpbmUsXG4gIHBlcnNvbk91dGxpbmUsXG4gIHBob25lUG9ydHJhaXRPdXRsaW5lLFxuICByZWZyZXNoT3V0bGluZSxcbiAgcmVtb3ZlT3V0bGluZSxcbiAgc2Nhbk91dGxpbmUsXG4gIHNldHRpbmdzLFxuICBzZXR0aW5nc091dGxpbmUsXG4gIHNoYXJlT3V0bGluZSxcbiAgc2hpZWxkQ2hlY2ttYXJrT3V0bGluZSxcbiAgdHJhc2hPdXRsaW5lLFxuICBvcHRpb25zT3V0bGluZSxcbiAgd2FybmluZ091dGxpbmUsXG4gIHBlb3BsZU91dGxpbmUsXG59IGZyb20gJ2lvbmljb25zL2ljb25zJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEljb25TZXJ2aWNlIHtcbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIHNldCBvZiBJb25pY29ucyBpY29ucyBmb3IgdXNlIHRocm91Z2hvdXQgdGhlIGFwcC5cbiAgICovXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGFkZEljb25zKHtcbiAgICAgIGFkZE91dGxpbmUsXG4gICAgICBhZGRDaXJjbGVPdXRsaW5lLFxuICAgICAgYWxlcnRPdXRsaW5lLFxuICAgICAgYWxlcnRDaXJjbGVPdXRsaW5lLFxuICAgICAgYXJyb3dCYWNrT3V0bGluZSxcbiAgICAgIGFycm93Rm9yd2FyZE91dGxpbmUsXG4gICAgICBhcnJvd0Rvd25PdXRsaW5lLFxuICAgICAgc2V0dGluZ3MsXG4gICAgICBzZXR0aW5nc091dGxpbmUsXG4gICAgICBjaGVja21hcmtDaXJjbGVPdXRsaW5lLFxuICAgICAgZWxsaXBzaXNIb3Jpem9udGFsT3V0bGluZSxcbiAgICAgIG5vdGlmaWNhdGlvbnMsXG4gICAgICBub3RpZmljYXRpb25zT3V0bGluZSxcbiAgICAgIG9wZW5PdXRsaW5lLFxuICAgICAgY2xvc2VPdXRsaW5lLFxuICAgICAgY2hhdGJ1YmJsZXNPdXRsaW5lLFxuICAgICAgc2hhcmVPdXRsaW5lLFxuICAgICAgaGVhcnQsXG4gICAgICBoZWFydE91dGxpbmUsXG4gICAgICBob21lLFxuICAgICAgaG9tZU91dGxpbmUsXG4gICAgICBleWVPZmZPdXRsaW5lLFxuICAgICAgZXllT3V0bGluZSxcbiAgICAgIHNjYW5PdXRsaW5lLFxuICAgICAgY2hldnJvbkRvd25PdXRsaW5lLFxuICAgICAgY2hldnJvbkZvcndhcmRPdXRsaW5lLFxuICAgICAgY2hlY2ttYXJrT3V0bGluZSxcbiAgICAgIGNsaXBib2FyZE91dGxpbmUsXG4gICAgICBjb3B5T3V0bGluZSxcbiAgICAgIGZpbHRlck91dGxpbmUsXG4gICAgICBsb2NhdGlvbk91dGxpbmUsXG4gICAgICBjYWxlbmRhck91dGxpbmUsXG4gICAgICBidXNpbmVzc091dGxpbmUsXG4gICAgICBsb2dvVHdpdHRlcixcbiAgICAgIGxvZ29JbnN0YWdyYW0sXG4gICAgICBsb2dvTGlua2VkaW4sXG4gICAgICBsb2dvWW91dHViZSxcbiAgICAgIGxvZ29UaWt0b2ssXG4gICAgICBsb2dvRmFjZWJvb2ssXG4gICAgICBsb2dvR29vZ2xlLFxuICAgICAgY3JlYXRlT3V0bGluZSxcbiAgICAgIHRyYXNoT3V0bGluZSxcbiAgICAgIHBsYXlPdXRsaW5lLFxuICAgICAgcGVvcGxlT3V0bGluZSxcbiAgICAgIHBob25lUG9ydHJhaXRPdXRsaW5lLFxuICAgICAgcmVmcmVzaE91dGxpbmUsXG4gICAgICBkb2N1bWVudFRleHRPdXRsaW5lLFxuICAgICAgbG9ja0Nsb3NlZE91dGxpbmUsXG4gICAgICBpbmZvcm1hdGlvbkNpcmNsZU91dGxpbmUsXG4gICAgICBsb2dvTnBtLFxuICAgICAgcmVtb3ZlT3V0bGluZSxcbiAgICAgIG9wdGlvbnNPdXRsaW5lLFxuICAgICAgcGVyc29uT3V0bGluZSxcbiAgICAgIHNoaWVsZENoZWNrbWFya091dGxpbmUsXG4gICAgICBrZXlPdXRsaW5lLFxuICAgICAgZGVza3RvcE91dGxpbmUsXG4gICAgICBsb2dPdXRPdXRsaW5lLFxuICAgICAgY2xvdWREb3dubG9hZE91dGxpbmUsXG4gICAgICBjbG91ZE91dGxpbmUsXG4gICAgICBnaXRCcmFuY2hPdXRsaW5lLFxuICAgICAgbGF5ZXJzT3V0bGluZSxcbiAgICAgIHNlcnZlck91dGxpbmUsXG4gICAgICB3YXJuaW5nT3V0bGluZSxcbiAgICB9KTtcbiAgfVxufVxuIl19
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvaWNvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx5Q0FBeUM7QUFFekM7OztHQUdHO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsVUFBVSxFQUNWLGtCQUFrQixFQUNsQixZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQixtQkFBbUIsRUFDbkIsZUFBZSxFQUNmLGVBQWUsRUFDZixrQkFBa0IsRUFDbEIsc0JBQXNCLEVBQ3RCLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIscUJBQXFCLEVBQ3JCLGdCQUFnQixFQUNoQixZQUFZLEVBQ1osb0JBQW9CLEVBQ3BCLFdBQVcsRUFDWCxhQUFhLEVBQ2IsY0FBYyxFQUNkLG1CQUFtQixFQUNuQix5QkFBeUIsRUFDekIsYUFBYSxFQUNiLFVBQVUsRUFDVixhQUFhLEVBQ2IsS0FBSyxFQUNMLFlBQVksRUFDWixJQUFJLEVBQ0osV0FBVyxFQUNYLHdCQUF3QixFQUN4QixVQUFVLEVBRVYsZUFBZSxFQUNmLGlCQUFpQixFQUNqQixhQUFhLEVBQ2IsWUFBWSxFQUNaLGdCQUFnQixFQUNoQixhQUFhLEVBQ2IsWUFBWSxFQUNaLFVBQVUsRUFDVixhQUFhLEVBQ2IsWUFBWSxFQUNaLE9BQU8sRUFDUCxVQUFVLEVBQ1YsV0FBVyxFQUNYLFdBQVcsRUFDWCxhQUFhLEVBQ2IsYUFBYSxFQUNiLG9CQUFvQixFQUNwQixXQUFXLEVBQ1gsV0FBVyxFQUNYLGFBQWEsRUFDYixvQkFBb0IsRUFDcEIsY0FBYyxFQUNkLGFBQWEsRUFDYixXQUFXLEVBQ1gsUUFBUSxFQUNSLGVBQWUsRUFDZixZQUFZLEVBQ1osc0JBQXNCLEVBQ3RCLFlBQVksRUFDWixjQUFjLEVBQ2QsY0FBYyxFQUNkLGFBQWEsR0FDZCxNQUFNLGdCQUFnQixDQUFDOztBQUt4QixNQUFNLE9BQU8sV0FBVztJQUN0Qjs7T0FFRztJQUNIO1FBQ0UsUUFBUSxDQUFDO1lBQ1AsVUFBVTtZQUNWLGdCQUFnQjtZQUNoQixZQUFZO1lBQ1osa0JBQWtCO1lBQ2xCLGdCQUFnQjtZQUNoQixtQkFBbUI7WUFDbkIsZ0JBQWdCO1lBQ2hCLFFBQVE7WUFDUixlQUFlO1lBQ2Ysc0JBQXNCO1lBQ3RCLHlCQUF5QjtZQUN6QixhQUFhO1lBQ2Isb0JBQW9CO1lBQ3BCLFdBQVc7WUFDWCxZQUFZO1lBQ1osa0JBQWtCO1lBQ2xCLFlBQVk7WUFDWixLQUFLO1lBQ0wsWUFBWTtZQUNaLElBQUk7WUFDSixXQUFXO1lBQ1gsYUFBYTtZQUNiLFVBQVU7WUFDVixXQUFXO1lBQ1gsa0JBQWtCO1lBQ2xCLHFCQUFxQjtZQUNyQixnQkFBZ0I7WUFDaEIsZ0JBQWdCO1lBQ2hCLFdBQVc7WUFDWCxhQUFhO1lBQ2IsZUFBZTtZQUNmLGVBQWU7WUFDZixlQUFlO1lBQ2YsV0FBVztZQUNYLGFBQWE7WUFDYixZQUFZO1lBQ1osV0FBVztZQUNYLFVBQVU7WUFDVixZQUFZO1lBQ1osVUFBVTtZQUNWLGFBQWE7WUFDYixZQUFZO1lBQ1osV0FBVztZQUNYLGFBQWE7WUFDYixvQkFBb0I7WUFDcEIsY0FBYztZQUNkLG1CQUFtQjtZQUNuQixpQkFBaUI7WUFDakIsd0JBQXdCO1lBQ3hCLE9BQU87WUFDUCxhQUFhO1lBQ2IsY0FBYztZQUNkLGFBQWE7WUFDYixzQkFBc0I7WUFDdEIsVUFBVTtZQUNWLGNBQWM7WUFDZCxhQUFhO1lBQ2Isb0JBQW9CO1lBQ3BCLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLGFBQWE7WUFDYixjQUFjO1NBQ2YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0F0RVUsV0FBVzttSEFBWCxXQUFXLGNBRlYsTUFBTTs7NEZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby11bmRlcnNjb3JlLWRhbmdsZSAqL1xuXG4vKipcbiAqIFNlcnZpY2UgZm9yIHJlZ2lzdGVyaW5nIGFuZCBtYW5hZ2luZyBjdXN0b20gSW9uaWNvbnMgaWNvbnMgaW4gdGhlIGFwcGxpY2F0aW9uLlxuICogQXV0b21hdGljYWxseSByZWdpc3RlcnMgYSBzZXQgb2YgY29tbW9ubHkgdXNlZCBpY29ucyBvbiBpbml0aWFsaXphdGlvbi5cbiAqL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhZGRJY29ucyB9IGZyb20gJ2lvbmljb25zJztcbmltcG9ydCB7XG4gIGFkZENpcmNsZU91dGxpbmUsXG4gIGFkZE91dGxpbmUsXG4gIGFsZXJ0Q2lyY2xlT3V0bGluZSxcbiAgYWxlcnRPdXRsaW5lLFxuICBhcnJvd0JhY2tPdXRsaW5lLFxuICBhcnJvd0Rvd25PdXRsaW5lLFxuICBhcnJvd0ZvcndhcmRPdXRsaW5lLFxuICBidXNpbmVzc091dGxpbmUsXG4gIGNhbGVuZGFyT3V0bGluZSxcbiAgY2hhdGJ1YmJsZXNPdXRsaW5lLFxuICBjaGVja21hcmtDaXJjbGVPdXRsaW5lLFxuICBjaGVja21hcmtPdXRsaW5lLFxuICBjaGV2cm9uRG93bk91dGxpbmUsXG4gIGNoZXZyb25Gb3J3YXJkT3V0bGluZSxcbiAgY2xpcGJvYXJkT3V0bGluZSxcbiAgY2xvc2VPdXRsaW5lLFxuICBjbG91ZERvd25sb2FkT3V0bGluZSxcbiAgY29weU91dGxpbmUsXG4gIGNyZWF0ZU91dGxpbmUsXG4gIGRlc2t0b3BPdXRsaW5lLFxuICBkb2N1bWVudFRleHRPdXRsaW5lLFxuICBlbGxpcHNpc0hvcml6b250YWxPdXRsaW5lLFxuICBleWVPZmZPdXRsaW5lLFxuICBleWVPdXRsaW5lLFxuICBmaWx0ZXJPdXRsaW5lLFxuICBoZWFydCxcbiAgaGVhcnRPdXRsaW5lLFxuICBob21lLFxuICBob21lT3V0bGluZSxcbiAgaW5mb3JtYXRpb25DaXJjbGVPdXRsaW5lLFxuICBrZXlPdXRsaW5lLFxuICBsYXB0b3BPdXRsaW5lLFxuICBsb2NhdGlvbk91dGxpbmUsXG4gIGxvY2tDbG9zZWRPdXRsaW5lLFxuICBsb2dPdXRPdXRsaW5lLFxuICBjbG91ZE91dGxpbmUsXG4gIGdpdEJyYW5jaE91dGxpbmUsXG4gIGxheWVyc091dGxpbmUsXG4gIGxvZ29GYWNlYm9vayxcbiAgbG9nb0dvb2dsZSxcbiAgbG9nb0luc3RhZ3JhbSxcbiAgbG9nb0xpbmtlZGluLFxuICBsb2dvTnBtLFxuICBsb2dvVGlrdG9rLFxuICBsb2dvVHdpdHRlcixcbiAgbG9nb1lvdXR1YmUsXG4gIHNlcnZlck91dGxpbmUsXG4gIG5vdGlmaWNhdGlvbnMsXG4gIG5vdGlmaWNhdGlvbnNPdXRsaW5lLFxuICBvcGVuT3V0bGluZSxcbiAgcGxheU91dGxpbmUsXG4gIHBlcnNvbk91dGxpbmUsXG4gIHBob25lUG9ydHJhaXRPdXRsaW5lLFxuICByZWZyZXNoT3V0bGluZSxcbiAgcmVtb3ZlT3V0bGluZSxcbiAgc2Nhbk91dGxpbmUsXG4gIHNldHRpbmdzLFxuICBzZXR0aW5nc091dGxpbmUsXG4gIHNoYXJlT3V0bGluZSxcbiAgc2hpZWxkQ2hlY2ttYXJrT3V0bGluZSxcbiAgdHJhc2hPdXRsaW5lLFxuICBvcHRpb25zT3V0bGluZSxcbiAgd2FybmluZ091dGxpbmUsXG4gIHBlb3BsZU91dGxpbmUsXG59IGZyb20gJ2lvbmljb25zL2ljb25zJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEljb25TZXJ2aWNlIHtcbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIHNldCBvZiBJb25pY29ucyBpY29ucyBmb3IgdXNlIHRocm91Z2hvdXQgdGhlIGFwcC5cbiAgICovXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGFkZEljb25zKHtcbiAgICAgIGFkZE91dGxpbmUsXG4gICAgICBhZGRDaXJjbGVPdXRsaW5lLFxuICAgICAgYWxlcnRPdXRsaW5lLFxuICAgICAgYWxlcnRDaXJjbGVPdXRsaW5lLFxuICAgICAgYXJyb3dCYWNrT3V0bGluZSxcbiAgICAgIGFycm93Rm9yd2FyZE91dGxpbmUsXG4gICAgICBhcnJvd0Rvd25PdXRsaW5lLFxuICAgICAgc2V0dGluZ3MsXG4gICAgICBzZXR0aW5nc091dGxpbmUsXG4gICAgICBjaGVja21hcmtDaXJjbGVPdXRsaW5lLFxuICAgICAgZWxsaXBzaXNIb3Jpem9udGFsT3V0bGluZSxcbiAgICAgIG5vdGlmaWNhdGlvbnMsXG4gICAgICBub3RpZmljYXRpb25zT3V0bGluZSxcbiAgICAgIG9wZW5PdXRsaW5lLFxuICAgICAgY2xvc2VPdXRsaW5lLFxuICAgICAgY2hhdGJ1YmJsZXNPdXRsaW5lLFxuICAgICAgc2hhcmVPdXRsaW5lLFxuICAgICAgaGVhcnQsXG4gICAgICBoZWFydE91dGxpbmUsXG4gICAgICBob21lLFxuICAgICAgaG9tZU91dGxpbmUsXG4gICAgICBleWVPZmZPdXRsaW5lLFxuICAgICAgZXllT3V0bGluZSxcbiAgICAgIHNjYW5PdXRsaW5lLFxuICAgICAgY2hldnJvbkRvd25PdXRsaW5lLFxuICAgICAgY2hldnJvbkZvcndhcmRPdXRsaW5lLFxuICAgICAgY2hlY2ttYXJrT3V0bGluZSxcbiAgICAgIGNsaXBib2FyZE91dGxpbmUsXG4gICAgICBjb3B5T3V0bGluZSxcbiAgICAgIGZpbHRlck91dGxpbmUsXG4gICAgICBsb2NhdGlvbk91dGxpbmUsXG4gICAgICBjYWxlbmRhck91dGxpbmUsXG4gICAgICBidXNpbmVzc091dGxpbmUsXG4gICAgICBsb2dvVHdpdHRlcixcbiAgICAgIGxvZ29JbnN0YWdyYW0sXG4gICAgICBsb2dvTGlua2VkaW4sXG4gICAgICBsb2dvWW91dHViZSxcbiAgICAgIGxvZ29UaWt0b2ssXG4gICAgICBsb2dvRmFjZWJvb2ssXG4gICAgICBsb2dvR29vZ2xlLFxuICAgICAgY3JlYXRlT3V0bGluZSxcbiAgICAgIHRyYXNoT3V0bGluZSxcbiAgICAgIHBsYXlPdXRsaW5lLFxuICAgICAgcGVvcGxlT3V0bGluZSxcbiAgICAgIHBob25lUG9ydHJhaXRPdXRsaW5lLFxuICAgICAgcmVmcmVzaE91dGxpbmUsXG4gICAgICBkb2N1bWVudFRleHRPdXRsaW5lLFxuICAgICAgbG9ja0Nsb3NlZE91dGxpbmUsXG4gICAgICBpbmZvcm1hdGlvbkNpcmNsZU91dGxpbmUsXG4gICAgICBsb2dvTnBtLFxuICAgICAgcmVtb3ZlT3V0bGluZSxcbiAgICAgIG9wdGlvbnNPdXRsaW5lLFxuICAgICAgcGVyc29uT3V0bGluZSxcbiAgICAgIHNoaWVsZENoZWNrbWFya091dGxpbmUsXG4gICAgICBrZXlPdXRsaW5lLFxuICAgICAgZGVza3RvcE91dGxpbmUsXG4gICAgICBsb2dPdXRPdXRsaW5lLFxuICAgICAgY2xvdWREb3dubG9hZE91dGxpbmUsXG4gICAgICBjbG91ZE91dGxpbmUsXG4gICAgICBnaXRCcmFuY2hPdXRsaW5lLFxuICAgICAgbGF5ZXJzT3V0bGluZSxcbiAgICAgIHNlcnZlck91dGxpbmUsXG4gICAgICB3YXJuaW5nT3V0bGluZSxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,52 @@
1
+ import { Injectable, Inject } from '@angular/core';
2
+ import { map } from 'rxjs/operators';
3
+ import { VALTECH_AUTH_CONFIG } from '../auth/config';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common/http";
6
+ export class OrgService {
7
+ constructor(config, http) {
8
+ this.config = config;
9
+ this.http = http;
10
+ }
11
+ get baseUrl() {
12
+ return `${this.config.apiUrl}/org`;
13
+ }
14
+ listMyOrgs() {
15
+ return this.http.get(`${this.baseUrl}/my`).pipe(map(r => r.organizations));
16
+ }
17
+ getOrg(orgId) {
18
+ return this.http.get(`${this.baseUrl}/${orgId}`).pipe(map(r => r.organization));
19
+ }
20
+ createOrg(req) {
21
+ return this.http.post(`${this.baseUrl}`, req).pipe(map(r => r.organization));
22
+ }
23
+ updateOrg(orgId, req) {
24
+ return this.http
25
+ .put(`${this.baseUrl}/${orgId}`, req)
26
+ .pipe(map(r => r.organization));
27
+ }
28
+ deleteOrg(orgId) {
29
+ return this.http.delete(`${this.baseUrl}/${orgId}`);
30
+ }
31
+ inviteUser(orgId, req) {
32
+ return this.http.post(`${this.baseUrl}/${orgId}/invite`, req);
33
+ }
34
+ leaveOrg(orgId) {
35
+ return this.http.post(`${this.baseUrl}/${orgId}/leave`, {});
36
+ }
37
+ transferOwnership(orgId, newOwnerId) {
38
+ return this.http
39
+ .post(`${this.baseUrl}/${orgId}/transfer-ownership`, { newOwnerId })
40
+ .pipe(map(r => r.organization));
41
+ }
42
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OrgService, deps: [{ token: VALTECH_AUTH_CONFIG }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
43
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OrgService, providedIn: 'root' }); }
44
+ }
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OrgService, decorators: [{
46
+ type: Injectable,
47
+ args: [{ providedIn: 'root' }]
48
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
49
+ type: Inject,
50
+ args: [VALTECH_AUTH_CONFIG]
51
+ }] }, { type: i1.HttpClient }] });
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL29yZy9vcmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQWNyRCxNQUFNLE9BQU8sVUFBVTtJQUNyQixZQUN1QyxNQUF5QixFQUN0RCxJQUFnQjtRQURhLFdBQU0sR0FBTixNQUFNLENBQW1CO1FBQ3RELFNBQUksR0FBSixJQUFJLENBQVk7SUFDdkIsQ0FBQztJQUVKLElBQVksT0FBTztRQUNqQixPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sQ0FBQztJQUNyQyxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQXFCLEdBQUcsSUFBSSxDQUFDLE9BQU8sS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBYTtRQUNsQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUMvRixDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQXFCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBYSxFQUFFLEdBQXFCO1FBQzVDLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixHQUFHLENBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxJQUFJLEtBQUssRUFBRSxFQUFFLEdBQUcsQ0FBQzthQUNqRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFhO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQXdDLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzdGLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBYSxFQUFFLEdBQXNCO1FBQzlDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQXFCLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxLQUFLLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBbUIsR0FBRyxJQUFJLENBQUMsT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxLQUFhLEVBQUUsVUFBa0I7UUFDakQsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLElBQUksQ0FBYyxHQUFHLElBQUksQ0FBQyxPQUFPLElBQUksS0FBSyxxQkFBcUIsRUFBRSxFQUFFLFVBQVUsRUFBRSxDQUFDO2FBQ2hGLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUNwQyxDQUFDOytHQTVDVSxVQUFVLGtCQUVYLG1CQUFtQjttSEFGbEIsVUFBVSxjQURHLE1BQU07OzRGQUNuQixVQUFVO2tCQUR0QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7MEJBRzdCLE1BQU07MkJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBWQUxURUNIX0FVVEhfQ09ORklHIH0gZnJvbSAnLi4vYXV0aC9jb25maWcnO1xuaW1wb3J0IHsgVmFsdGVjaEF1dGhDb25maWcgfSBmcm9tICcuLi9hdXRoL3R5cGVzJztcbmltcG9ydCB7XG4gIE9yZ2FuaXphdGlvbixcbiAgTGlzdE15T3Jnc1Jlc3BvbnNlLFxuICBPcmdSZXNwb25zZSxcbiAgQ3JlYXRlT3JnUmVxdWVzdCxcbiAgVXBkYXRlT3JnUmVxdWVzdCxcbiAgSW52aXRlVXNlclJlcXVlc3QsXG4gIEludml0ZVVzZXJSZXNwb25zZSxcbiAgTGVhdmVPcmdSZXNwb25zZSxcbn0gZnJvbSAnLi90eXBlcyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgT3JnU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoVkFMVEVDSF9BVVRIX0NPTkZJRykgcHJpdmF0ZSBjb25maWc6IFZhbHRlY2hBdXRoQ29uZmlnLFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudFxuICApIHt9XG5cbiAgcHJpdmF0ZSBnZXQgYmFzZVVybCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmNvbmZpZy5hcGlVcmx9L29yZ2A7XG4gIH1cblxuICBsaXN0TXlPcmdzKCk6IE9ic2VydmFibGU8T3JnYW5pemF0aW9uW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxMaXN0TXlPcmdzUmVzcG9uc2U+KGAke3RoaXMuYmFzZVVybH0vbXlgKS5waXBlKG1hcChyID0+IHIub3JnYW5pemF0aW9ucykpO1xuICB9XG5cbiAgZ2V0T3JnKG9yZ0lkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPE9yZ2FuaXphdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PE9yZ1Jlc3BvbnNlPihgJHt0aGlzLmJhc2VVcmx9LyR7b3JnSWR9YCkucGlwZShtYXAociA9PiByLm9yZ2FuaXphdGlvbikpO1xuICB9XG5cbiAgY3JlYXRlT3JnKHJlcTogQ3JlYXRlT3JnUmVxdWVzdCk6IE9ic2VydmFibGU8T3JnYW5pemF0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PE9yZ1Jlc3BvbnNlPihgJHt0aGlzLmJhc2VVcmx9YCwgcmVxKS5waXBlKG1hcChyID0+IHIub3JnYW5pemF0aW9uKSk7XG4gIH1cblxuICB1cGRhdGVPcmcob3JnSWQ6IHN0cmluZywgcmVxOiBVcGRhdGVPcmdSZXF1ZXN0KTogT2JzZXJ2YWJsZTxPcmdhbml6YXRpb24+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAucHV0PE9yZ1Jlc3BvbnNlPihgJHt0aGlzLmJhc2VVcmx9LyR7b3JnSWR9YCwgcmVxKVxuICAgICAgLnBpcGUobWFwKHIgPT4gci5vcmdhbml6YXRpb24pKTtcbiAgfVxuXG4gIGRlbGV0ZU9yZyhvcmdJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx7IGRlbGV0ZWQ6IGJvb2xlYW47IG1lc3NhZ2U6IHN0cmluZyB9PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8eyBkZWxldGVkOiBib29sZWFuOyBtZXNzYWdlOiBzdHJpbmcgfT4oYCR7dGhpcy5iYXNlVXJsfS8ke29yZ0lkfWApO1xuICB9XG5cbiAgaW52aXRlVXNlcihvcmdJZDogc3RyaW5nLCByZXE6IEludml0ZVVzZXJSZXF1ZXN0KTogT2JzZXJ2YWJsZTxJbnZpdGVVc2VyUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8SW52aXRlVXNlclJlc3BvbnNlPihgJHt0aGlzLmJhc2VVcmx9LyR7b3JnSWR9L2ludml0ZWAsIHJlcSk7XG4gIH1cblxuICBsZWF2ZU9yZyhvcmdJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxMZWF2ZU9yZ1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PExlYXZlT3JnUmVzcG9uc2U+KGAke3RoaXMuYmFzZVVybH0vJHtvcmdJZH0vbGVhdmVgLCB7fSk7XG4gIH1cblxuICB0cmFuc2Zlck93bmVyc2hpcChvcmdJZDogc3RyaW5nLCBuZXdPd25lcklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPE9yZ2FuaXphdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5wb3N0PE9yZ1Jlc3BvbnNlPihgJHt0aGlzLmJhc2VVcmx9LyR7b3JnSWR9L3RyYW5zZmVyLW93bmVyc2hpcGAsIHsgbmV3T3duZXJJZCB9KVxuICAgICAgLnBpcGUobWFwKHIgPT4gci5vcmdhbml6YXRpb24pKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL29yZy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgT3JnVHlwZSA9ICdQUklWQVRFJyB8ICdQVUJMSUMnIHwgJ1BFUlNPTkFMJyB8ICdCVVNJTkVTUyc7XG5leHBvcnQgdHlwZSBPcmdQbGFuID0gJ2ZyZWUnIHwgJ3BybycgfCAnZW50ZXJwcmlzZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3JnYW5pemF0aW9uIHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgdHlwZTogT3JnVHlwZTtcbiAgcGxhbjogT3JnUGxhbjtcbiAgb3duZXJJZDogc3RyaW5nO1xuICBpc0FjdGl2ZTogYm9vbGVhbjtcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIHVwZGF0ZWRBdD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0TXlPcmdzUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBvcmdhbml6YXRpb25zOiBPcmdhbml6YXRpb25bXTtcbiAgbmV4dFRva2VuPzogc3RyaW5nO1xuICBjb3VudDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9yZ1Jlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgb3JnYW5pemF0aW9uOiBPcmdhbml6YXRpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlT3JnUmVxdWVzdCB7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZTogT3JnVHlwZTtcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlT3JnUmVxdWVzdCB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEludml0ZVVzZXJSZXF1ZXN0IHtcbiAgZW1haWw6IHN0cmluZztcbiAgcm9sZUlkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW52aXRlVXNlclJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgaW52aXRlVXJsOiBzdHJpbmc7XG4gIGV4cGlyZXNBdDogc3RyaW5nO1xuICBlbWFpbDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExlYXZlT3JnUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIGxlZnRBdDogc3RyaW5nO1xufVxuIl19
@@ -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 = '2.0.879';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzIuMC44NzknO1xuIl19
5
+ export const VERSION = '2.0.881';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzIuMC44ODEnO1xuIl19