@ruvector/ruvllm 2.5.6 → 2.6.0

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.
Files changed (71) hide show
  1. package/README.md +282 -282
  2. package/bin/cli.js +1020 -1020
  3. package/dist/cjs/benchmarks/embedding-benchmark.js +1 -1
  4. package/dist/cjs/benchmarks/index.js +1 -1
  5. package/dist/cjs/benchmarks/model-comparison.js +1 -1
  6. package/dist/cjs/benchmarks/routing-benchmark.js +1 -1
  7. package/dist/cjs/contrastive.js +70 -70
  8. package/dist/cjs/engine.js +13 -13
  9. package/dist/cjs/export.js +31 -31
  10. package/dist/cjs/federated.js +1 -1
  11. package/dist/cjs/index.js +1 -1
  12. package/dist/cjs/intelligence.js +1 -1
  13. package/dist/cjs/lora.d.ts +11 -0
  14. package/dist/cjs/lora.d.ts.map +1 -1
  15. package/dist/cjs/lora.js +16 -1
  16. package/dist/cjs/models.js +1 -1
  17. package/dist/cjs/native.js +1 -1
  18. package/dist/cjs/session.js +1 -1
  19. package/dist/cjs/simd.js +1 -1
  20. package/dist/cjs/sona.js +1 -1
  21. package/dist/cjs/streaming.js +1 -1
  22. package/dist/cjs/training.d.ts +66 -8
  23. package/dist/cjs/training.d.ts.map +1 -1
  24. package/dist/cjs/training.js +145 -15
  25. package/dist/cjs/types.d.ts +7 -0
  26. package/dist/cjs/types.d.ts.map +1 -1
  27. package/dist/cjs/types.js +1 -1
  28. package/dist/esm/benchmarks/embedding-benchmark.js +1 -1
  29. package/dist/esm/benchmarks/index.js +1 -1
  30. package/dist/esm/benchmarks/model-comparison.js +1 -1
  31. package/dist/esm/benchmarks/routing-benchmark.js +1 -1
  32. package/dist/esm/contrastive.js +70 -70
  33. package/dist/esm/engine.js +13 -13
  34. package/dist/esm/export.js +31 -31
  35. package/dist/esm/federated.js +1 -1
  36. package/dist/esm/index.js +1 -1
  37. package/dist/esm/intelligence.js +1 -1
  38. package/dist/esm/lora.d.ts +11 -0
  39. package/dist/esm/lora.d.ts.map +1 -1
  40. package/dist/esm/lora.js +16 -1
  41. package/dist/esm/models.js +1 -1
  42. package/dist/esm/native.js +1 -1
  43. package/dist/esm/session.js +1 -1
  44. package/dist/esm/simd.js +1 -1
  45. package/dist/esm/sona.js +1 -1
  46. package/dist/esm/streaming.js +1 -1
  47. package/dist/esm/training.d.ts +66 -8
  48. package/dist/esm/training.d.ts.map +1 -1
  49. package/dist/esm/training.js +145 -15
  50. package/dist/esm/types.d.ts +7 -0
  51. package/dist/esm/types.d.ts.map +1 -1
  52. package/dist/esm/types.js +1 -1
  53. package/package.json +133 -133
  54. package/scripts/ensemble-model-compare.js +287 -287
  55. package/scripts/huggingface/README.md +537 -537
  56. package/scripts/huggingface/publish.sh +112 -112
  57. package/scripts/hybrid-model-compare.js +373 -373
  58. package/scripts/improved-model-compare.js +288 -288
  59. package/scripts/optimized-model-compare.js +364 -364
  60. package/scripts/real-model-compare.js +280 -280
  61. package/scripts/training/agentic-flow-capabilities.json +329 -329
  62. package/scripts/training/claude-code-synth.js +505 -505
  63. package/scripts/training/claude-flow-capabilities.json +1322 -1322
  64. package/scripts/training/claude-hard-negatives.js +222 -222
  65. package/scripts/training/contrastive-finetune.js +517 -517
  66. package/scripts/training/ecosystem-triplets.jsonl +1466 -1466
  67. package/scripts/training/generate-ecosystem-triplets.js +1324 -1324
  68. package/scripts/training/routing-dataset.js +634 -634
  69. package/scripts/training/ruvector-capabilities.json +798 -798
  70. package/scripts/training/validate-ecosystem.js +381 -381
  71. package/scripts/training/validation-results.json +22 -22
@@ -280,4 +280,4 @@ export default {
280
280
  runRoutingBenchmark,
281
281
  formatRoutingResults,
282
282
  };
283
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGluZy1iZW5jaG1hcmsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmVuY2htYXJrcy9yb3V0aW5nLWJlbmNobWFyay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQWdDSDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRztJQUN6QixPQUFPO0lBQ1AsWUFBWTtJQUNaLFVBQVU7SUFDVixRQUFRO0lBQ1IsV0FBVztJQUNYLG9CQUFvQjtJQUNwQixVQUFVO0lBQ1YsWUFBWTtJQUNaLFlBQVk7SUFDWixXQUFXO0lBQ1gsUUFBUTtJQUNSLFVBQVU7SUFDVixTQUFTO0NBQ0QsQ0FBQztBQUlYOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFzQjtJQUNuRCx1Q0FBdUM7SUFDdkMsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxrREFBa0QsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFO0lBQ2hKLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsaURBQWlELEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRTtJQUNqSixFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGtEQUFrRCxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUU7SUFDbEosRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxpREFBaUQsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFO0lBQy9JLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUs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bEIsV0FBVztJQUNYLHFCQUFxQjtJQUNyQixtQkFBbUI7SUFDbkIsb0JBQW9CO0NBQ3JCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogUm91dGluZyBCZW5jaG1hcmsgZm9yIFJ1dkxUUkEgTW9kZWxzXHJcbiAqXHJcbiAqIFRlc3RzIHdoZXRoZXIgdGhlIG1vZGVsIGNvcnJlY3RseSByb3V0ZXMgdGFza3MgdG8gYXBwcm9wcmlhdGUgYWdlbnRzLlxyXG4gKiBUaGlzIG1lYXN1cmVzIHRoZSBhY3R1YWwgdmFsdWUgcHJvcG9zaXRpb24gZm9yIENsYXVkZSBDb2RlIHdvcmtmbG93cy5cclxuICovXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJvdXRpbmdUZXN0Q2FzZSB7XHJcbiAgaWQ6IHN0cmluZztcclxuICB0YXNrOiBzdHJpbmc7XHJcbiAgZXhwZWN0ZWRBZ2VudDogc3RyaW5nO1xyXG4gIGNhdGVnb3J5OiBzdHJpbmc7XHJcbiAgZGlmZmljdWx0eTogJ2Vhc3knIHwgJ21lZGl1bScgfCAnaGFyZCc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUm91dGluZ1Jlc3VsdCB7XHJcbiAgdGVzdElkOiBzdHJpbmc7XHJcbiAgdGFzazogc3RyaW5nO1xyXG4gIGV4cGVjdGVkQWdlbnQ6IHN0cmluZztcclxuICBwcmVkaWN0ZWRBZ2VudDogc3RyaW5nO1xyXG4gIGNvbmZpZGVuY2U6IG51bWJlcjtcclxuICBjb3JyZWN0OiBib29sZWFuO1xyXG4gIGxhdGVuY3lNczogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJvdXRpbmdCZW5jaG1hcmtSZXN1bHRzIHtcclxuICBhY2N1cmFjeTogbnVtYmVyO1xyXG4gIGFjY3VyYWN5QnlDYXRlZ29yeTogUmVjb3JkPHN0cmluZywgbnVtYmVyPjtcclxuICBhY2N1cmFjeUJ5RGlmZmljdWx0eTogUmVjb3JkPHN0cmluZywgbnVtYmVyPjtcclxuICBhdmdMYXRlbmN5TXM6IG51bWJlcjtcclxuICBwNTBMYXRlbmN5TXM6IG51bWJlcjtcclxuICBwOTVMYXRlbmN5TXM6IG51bWJlcjtcclxuICB0b3RhbFRlc3RzOiBudW1iZXI7XHJcbiAgY29ycmVjdDogbnVtYmVyO1xyXG4gIHJlc3VsdHM6IFJvdXRpbmdSZXN1bHRbXTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFnZW50IHR5cGVzIGluIENsYXVkZSBDb2RlIC8gY2xhdWRlLWZsb3cgZWNvc3lzdGVtXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgQUdFTlRfVFlQRVMgPSBbXHJcbiAgJ2NvZGVyJyxcclxuICAncmVzZWFyY2hlcicsXHJcbiAgJ3Jldmlld2VyJyxcclxuICAndGVzdGVyJyxcclxuICAnYXJjaGl0ZWN0JyxcclxuICAnc2VjdXJpdHktYXJjaGl0ZWN0JyxcclxuICAnZGVidWdnZXInLFxyXG4gICdkb2N1bWVudGVyJyxcclxuICAncmVmYWN0b3JlcicsXHJcbiAgJ29wdGltaXplcicsXHJcbiAgJ2Rldm9wcycsXHJcbiAgJ2FwaS1kb2NzJyxcclxuICAncGxhbm5lcicsXHJcbl0gYXMgY29uc3Q7XHJcblxyXG5leHBvcnQgdHlwZSBBZ2VudFR5cGUgPSAodHlwZW9mIEFHRU5UX1RZUEVTKVtudW1iZXJdO1xyXG5cclxuLyoqXHJcbiAqIEdyb3VuZCB0cnV0aCB0ZXN0IGRhdGFzZXQgZm9yIHJvdXRpbmdcclxuICogMTAwIHRhc2tzIHdpdGggZXhwZWN0ZWQgYWdlbnQgYXNzaWdubWVudHNcclxuICovXHJcbmV4cG9ydCBjb25zdCBST1VUSU5HX1RFU1RfQ0FTRVM6IFJvdXRpbmdUZXN0Q2FzZVtdID0gW1xyXG4gIC8vID09PSBDT0RFUiB0YXNrcyAod3JpdGUgbmV3IGNvZGUpID09PVxyXG4gIHsgaWQ6ICdDMDAxJywgdGFzazogJ0ltcGxlbWVudCBhIGJpbmFyeSBzZWFyY2ggZnVuY3Rpb24gaW4gVHlwZVNjcmlwdCcsIGV4cGVjdGVkQWdlbnQ6ICdjb2RlcicsIGNhdGVnb3J5OiAnaW1wbGVtZW50YXRpb24nLCBkaWZmaWN1bHR5OiAnZWFzeScgfSxcclxuICB7IGlkOiAnQzAwMicsIHRhc2s6ICdXcml0ZSBhIFJlYWN0IGNvbXBvbmVudCBmb3IgdXNlciBhdXRoZW50aWNhdGlvbicsIGV4cGVjdGVkQWdlbnQ6ICdjb2RlcicsIGNhdGVnb3J5OiAnaW1wbGVtZW50YXRpb24nLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxyXG4gIHsgaWQ6ICdDMDAzJywgdGFzazogJ0NyZWF0ZSBhIFJFU1QgQVBJIGVuZHBvaW50IGZvciB1c2VyIHJlZ2lzdHJhdGlvbicsIGV4cGVjdGVkQWdlbnQ6ICdjb2RlcicsIGNhdGVnb3J5OiAnaW1wbGVtZW50YXRpb24nLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxyXG4gIHsgaWQ6ICdDMDA0JywgdGFzazogJ0ltcGxlbWVudCBhIFdlYlNvY2tldCBzZXJ2ZXIgZm9yIHJlYWwtdGltZSBjaGF0JywgZXhwZWN0ZWRBZ2VudDogJ2NvZGVyJywgY2F0ZWdvcnk6ICdpbXBsZW1lbnRhdGlvbicsIGRpZmZpY3VsdHk6ICdoYXJkJyB9LFxyXG4gIHsgaWQ6ICdDMDA1JywgdGFzazogJ1dyaXRlIGEgZnVuY3Rpb24gdG8gcGFyc2UgQ1NWIGZpbGVzJywgZXhwZWN0ZWRBZ2VudDogJ2NvZGVyJywgY2F0ZWdvcnk6ICdpbXBsZW1lbnRhdGlvbicsIGRpZmZpY3VsdHk6ICdlYXN5JyB9LFxyXG4gIHsgaWQ6ICdDMDA2JywgdGFzazogJ0NyZWF0ZSBhIG1pZGRsZXdhcmUgZm9yIHJlcXVlc3QgbG9nZ2luZycsIGV4cGVjdGVkQWdlbnQ6ICdjb2RlcicsIGNhdGVnb3J5OiAnaW1wbGVtZW50YXRpb24nLCBkaWZmaWN1bHR5OiAnZWFzeScgfSxcclxuICB7IGlkOiAnQzAwNycsIHRhc2s6ICdJbXBsZW1lbnQgcGFnaW5hdGlvbiBmb3IgdGhlIEFQSSByZXNwb25zZXMnLCBleHBlY3RlZEFnZW50OiAnY29kZXInLCBjYXRlZ29yeTogJ2ltcGxlbWVudGF0aW9uJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcclxuICB7IGlkOiAnQzAwOCcsIHRhc2s6ICdXcml0ZSBhIGN1c3RvbSBSZWFjdCBob29rIGZvciBmb3JtIHZhbGlkYXRpb24nLCBleHBlY3RlZEFnZW50OiAnY29kZXInLCBjYXRlZ29yeTogJ2ltcGxlbWVudGF0aW9uJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcclxuICB7IGlkOiAnQzAwOScsIHRhc2s6ICdDcmVhdGUgYSBkYXRhYmFzZSBtaWdyYXRpb24gc2NyaXB0JywgZXhwZWN0ZWRBZ2VudDogJ2NvZGVyJywgY2F0ZWdvcnk6ICdpbXBsZW1lbnRhdGlvbicsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXHJcbiAgeyBpZDogJ0MwMTAnLCB0YXNrOiAnSW1wbGVtZW50IGEgcmF0ZSBsaW1pdGVyIGZvciB0aGUgQVBJJywgZXhwZWN0ZWRBZ2VudDogJ2NvZGVyJywgY2F0ZWdvcnk6ICdpbXBsZW1lbnRhdGlvbicsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXHJcblxyXG4gIC8vID09PSBSRVNFQVJDSEVSIHRhc2tzIChpbnZlc3RpZ2F0ZSwgZXhwbG9yZSkgPT09XHJcbiAgeyBpZDogJ1IwMDEnLCB0YXNrOiAnUmVzZWFyY2ggYmVzdCBwcmFjdGljZXMgZm9yIEdyYXBoUUwgc2NoZW1hIGRlc2lnbicsIGV4cGVjdGVkQWdlbnQ6ICdyZXNlYXJjaGVyJywgY2F0ZWdvcnk6ICdyZXNlYXJjaCcsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXHJcbiAgeyBpZDogJ1IwMDInLCB0YXNrOiAnRmluZCBvdXQgaG93IHRoZSBhdXRoZW50aWNhdGlvbiBmbG93IHdvcmtzIGluIHRoaXMgY29kZWJhc2UnLCBleHBlY3RlZEFnZW50OiAncmVzZWFyY2hlcicsIGNhdGVnb3J5OiAncmVzZWFyY2gnLCBkaWZmaWN1bHR5OiAnZWFzeScgfSxcclxuICB7IGlkOiAnUjAwMycsIHRhc2s6ICdJbnZlc3RpZ2F0ZSB3aHkgdGhlIGJ1aWxkIGlzIGZhaWxpbmcgb24gQ0knLCBleHBlY3RlZEFnZW50OiAncmVzZWFyY2hlcicsIGNhdGVnb3J5OiAncmVzZWFyY2gnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxyXG4gIHsgaWQ6ICdSMDA0JywgdGFzazogJ1Jlc2VhcmNoIGFsdGVybmF0aXZlcyB0byBSZWR1eCBmb3Igc3RhdGUgbWFuYWdlbWVudCcsIGV4cGVjdGVkQWdlbnQ6ICdyZXNlYXJjaGVyJywgY2F0ZWdvcnk6ICdyZXNlYXJjaCcsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXHJcbiAgeyBpZDogJ1IwMDUnLCB0YXNrOiAnRmluZCBhbGwgdXNhZ2VzIG9mIHRoZSBkZXByZWNhdGVkIEFQSSBpbiB0aGUgY29kZWJhc2UnLCBleHBlY3RlZEFnZW50OiAncmVzZWFyY2hlcicsIGNhdGVnb3J5OiAncmVzZWFyY2gnLCBkaWZmaWN1bHR5OiAnZWFzeScgfSxcclxuICB7IGlkOiAnUjAwNicsIHRhc2s6ICdBbmFseXplIHRoZSBwZXJmb3JtYW5jZSBjaGFyYWN0ZXJpc3RpY3Mgb2Ygb3VyIGRhdGFiYXNlIHF1ZXJpZXMnLCBleHBlY3RlZEFnZW50OiAncmVzZWFyY2hlcicsIGNhdGVnb3J5OiAncmVzZWFyY2gnLCBkaWZmaWN1bHR5OiAnaGFyZCcgfSxcclxuICB7IGlkOiAnUjAwNycsIHRhc2s6ICdSZXNlYXJjaCBHRFBSIGNvbXBsaWFuY2UgcmVxdWlyZW1lbnRzIGZvciB1c2VyIGRhdGEnLCBleHBlY3RlZEFnZW50OiAncmVzZWFyY2hlcicsIGNhdGVnb3J5OiAncmVzZWFyY2gnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxyXG4gIHsgaWQ6ICdSMDA4JywgdGFzazogJ0ZpbmQgZXhhbXBsZXMgb2Ygc2ltaWxhciBpbXBsZW1lbnRhdGlvbnMgaW4gb3BlbiBzb3VyY2UnLCBleHBlY3RlZEFnZW50OiAncmVzZWFyY2hlcicsIGNhdGVnb3J5OiAncmVzZWFyY2gnLCBkaWZmaWN1bHR5OiAnZWFzeScgfSxcclxuXHJcbiAgLy8gPT09IFJFVklFV0VSIHRhc2tzIChjb2RlIHJldmlldywgcXVhbGl0eSkgPT09XHJcbiAgeyBpZDogJ1YwMDEnLCB0YXNrOiAnUmV2aWV3IHRoaXMgcHVsbCByZXF1ZXN0IGZvciBjb2RlIHF1YWxpdHknLCBleHBlY3RlZEFnZW50OiAncmV2aWV3ZXInLCBjYXRlZ29yeTogJ3JldmlldycsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXHJcbiAgeyBpZDogJ1YwMDInLCB0YXNrOiAnQ2hlY2sgaWYgdGhpcyBjb2RlIGZvbGxvd3Mgb3VyIHN0eWxlIGd1aWRlbGluZXMnLCBleHBlY3RlZEFnZW50OiAncmV2aWV3ZXInLCBjYXRlZ29yeTogJ3JldmlldycsIGRpZmZpY3VsdHk6ICdlYXN5JyB9LFxyXG4gIHsgaWQ6ICdWMDAzJywgdGFzazogJ1JldmlldyB0aGUgQVBJIGRlc2lnbiBmb3IgY29uc2lzdGVuY3knLCBleHBlY3RlZEFnZW50OiAncmV2aWV3ZXInLCBjYXRlZ29yeTogJ3JldmlldycsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXHJcbiAgeyBpZDogJ1YwMDQnLCB0YXNrOiAnRXZhbHVhdGUgdGhlIGVycm9yIGhhbmRsaW5nIGluIHRoaXMgbW9kdWxlJywgZXhwZWN0ZWRBZ2VudDogJ3Jldmlld2VyJywgY2F0ZWdvcnk6ICdyZXZpZXcnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxyXG4gIHsgaWQ6ICdWMDA1JywgdGFzazogJ1JldmlldyB0aGUgZGF0YWJhc2Ugc2NoZW1hIGNoYW5nZXMnLCBleHBlY3RlZEFnZW50OiAncmV2aWV3ZXInLCBjYXRlZ29yeTogJ3JldmlldycsIGRpZmZpY3VsdHk6ICdoYXJkJyB9LFxyXG4gIHsgaWQ6ICdWMDA2JywgdGFzazogJ0NoZWNrIGZvciBwb3RlbnRpYWwgbWVtb3J5IGxlYWtzIGluIHRoaXMgY29kZScsIGV4cGVjdGVkQWdlbnQ6ICdyZXZpZXdlcicsIGNhdGVnb3J5OiAncmV2aWV3JywgZGlmZmljdWx0eTogJ2hhcmQnIH0sXHJcbiAgeyBpZDogJ1YwMDcnLCB0YXNrOiAnUmV2aWV3IHRoZSBhY2Nlc3NpYmlsaXR5IG9mIHRoZSBVSSBjb21wb25lbnRzJywgZXhwZWN0ZWRBZ2VudDogJ3Jldmlld2VyJywgY2F0ZWdvcnk6ICdyZXZpZXcnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxyXG5cclxuICAvLyA9PT0gVEVTVEVSIHRhc2tzICh3cml0ZSB0ZXN0cywgUUEpID09PVxyXG4gIHsgaWQ6ICdUMDAxJywgdGFzazogJ1dyaXRlIHVuaXQgdGVzdHMgZm9yIHRoZSB1c2VyIHNlcnZpY2UnLCBleHBlY3RlZEFnZW50OiAndGVzdGVyJywgY2F0ZWdvcnk6ICd0ZXN0aW5nJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcclxuICB7IGlkOiAnVDAwMicsIHRhc2s6ICdDcmVhdGUgaW50ZWdyYXRpb24gdGVzdHMgZm9yIHRoZSBjaGVja291dCBmbG93JywgZXhwZWN0ZWRBZ2VudDogJ3Rlc3RlcicsIGNhdGVnb3J5OiAndGVzdGluZycsIGRpZmZpY3VsdHk6ICdoYXJkJyB9LFxyXG4gIHsgaWQ6ICdUMDAzJywgdGFzazogJ0FkZCB0ZXN0IGNvdmVyYWdlIGZvciBlZGdlIGNhc2VzIGluIHRoZSBwYXJzZXInLCBleHBlY3RlZEFnZW50OiAndGVzdGVyJywgY2F0ZWdvcnk6ICd0ZXN0aW5nJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcclxuICB7IGlkOiAnVDAwNCcsIHRhc2s6ICdXcml0ZSBFMkUgdGVzdHMgZm9yIHRoZSBsb2dpbiBwYWdlJywgZXhwZWN0ZWRBZ2VudDogJ3Rlc3RlcicsIGNhdGVnb3J5OiAndGVzdGluZycsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXHJcbiAgeyBpZDogJ1QwMDUnLCB0YXNrOiAnQ3JlYXRlIHBlcmZvcm1hbmNlIHRlc3RzIGZvciB0aGUgQVBJJywgZXhwZWN0ZWRBZ2VudDogJ3Rlc3RlcicsIGNhdGVnb3J5OiAndGVzdGluZycsIGRpZmZpY3VsdHk6ICdoYXJkJyB9LFxyXG4gIHsgaWQ6ICdUMDA2JywgdGFzazogJ0FkZCBzbmFwc2hvdCB0ZXN0cyBmb3IgUmVhY3QgY29tcG9uZW50cycsIGV4cGVjdGVkQWdlbnQ6ICd0ZXN0ZXInLCBjYXRlZ29yeTogJ3Rlc3RpbmcnLCBkaWZmaWN1bHR5OiAnZWFzeScgfSxcclxuICB7IGlkOiAnVDAwNycsIHRhc2s6ICdXcml0ZSB0ZXN0cyBmb3IgdGhlIGF1dGhlbnRpY2F0aW9uIG1pZGRsZXdhcmUnLCBleHBlY3RlZEFnZW50OiAndGVzdGVyJywgY2F0ZWdvcnk6ICd0ZXN0aW5nJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcclxuICB7IGlkOiAnVDAwOCcsIHRhc2s6ICdDcmVhdGUgbW9jayBkYXRhIGZvciB0ZXN0aW5nJywgZXhwZWN0ZWRBZ2VudDogJ3Rlc3RlcicsIGNhdGVnb3J5OiAndGVzdGluZycsIGRpZmZpY3VsdHk6ICdlYXN5JyB9LFxyXG5cclxuICAvLyA9PT0gQVJDSElURUNUIHRhc2tzIChkZXNpZ24sIHN5c3RlbSkgPT09XHJcbiAgeyBpZDogJ0EwMDEnLCB0YXNrOiAnRGVzaWduIHRoZSBtaWNyb3NlcnZpY2VzIGFyY2hpdGVjdHVyZSBmb3IgdGhlIHBsYXRmb3JtJywgZXhwZWN0ZWRBZ2VudDogJ2FyY2hpdGVjdCcsIGNhdGVnb3J5OiAnYXJjaGl0ZWN0dXJlJywgZGlmZmljdWx0eTogJ2hhcmQnIH0sXHJcbiAgeyBpZDogJ0EwMDInLCB0YXNrOiAnQ3JlYXRlIGEgc3lzdGVtIGRlc2lnbiBmb3IgdGhlIG5vdGlmaWNhdGlvbiBzZXJ2aWNlJywgZXhwZWN0ZWRBZ2VudDogJ2FyY2hpdGVjdCcsIGNhdGVnb3J5OiAnYXJjaGl0ZWN0dXJlJywgZGlmZmljdWx0eTogJ2hhcmQnIH0sXHJcbiAgeyBpZDogJ0EwMDMnLCB0YXNrOiAnUGxhbiB0aGUgZGF0YWJhc2Ugc2NoZW1hIGZvciB0aGUgbmV3IGZlYXR1cmUnLCBleHBlY3RlZEFnZW50OiAnYXJjaGl0ZWN0JywgY2F0ZWdvcnk6ICdhcmNoaXRlY3R1cmUnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxyXG4gIHsgaWQ6ICdBMDA0JywgdGFzazogJ0Rlc2lnbiB0aGUgQVBJIGNvbnRyYWN0IGZvciB0aGUgbW9iaWxlIGFwcCcsIGV4cGVjdGVkQWdlbnQ6ICdhcmNoaXRlY3QnLCBjYXRlZ29yeTogJ2FyY2hpdGVjdHVyZScsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXHJcbiAgeyBpZDogJ0EwMDUnLCB0YXNrOiAnQ3JlYXRlIGFuIEFEUiBmb3IgdGhlIGNhY2hpbmcgc3RyYXRlZ3knLCBleHBlY3RlZEFnZW50OiAnYXJjaGl0ZWN0JywgY2F0ZWdvcnk6ICdhcmNoaXRlY3R1cmUnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxyXG4gIHsgaWQ6ICdBMDA2JywgdGFzazogJ0Rlc2lnbiB0aGUgZXZlbnQtZHJpdmVuIGFyY2hpdGVjdHVyZSBmb3Igb3JkZXIgcHJvY2Vzc2luZycsIGV4cGVjdGVkQWdlbnQ6ICdhcmNoaXRlY3QnLCBjYXRlZ29yeTogJ2FyY2hpdGVjdHVyZScsIGRpZmZpY3VsdHk6ICdoYXJkJyB9LFxyXG4gIHsgaWQ6ICdBMDA3JywgdGFzazogJ1BsYW4gdGhlIG1pZ3JhdGlvbiBzdHJhdGVneSBmcm9tIG1vbm9saXRoIHRvIG1pY3Jvc2VydmljZXMnLCBleHBlY3RlZEFnZW50OiAnYXJjaGl0ZWN0JywgY2F0ZWdvcnk6ICdhcmNoaXRlY3R1cmUnLCBkaWZmaWN1bHR5OiAnaGFyZCcgfSxcclxuXHJcbiAgLy8gPT09IFNFQ1VSSVRZIHRhc2tzID09PVxyXG4gIHsgaWQ6ICdTMDAxJywgdGFzazogJ0F1ZGl0IHRoZSBhdXRoZW50aWNhdGlvbiBpbXBsZW1lbnRhdGlvbiBmb3IgdnVsbmVyYWJpbGl0aWVzJywgZXhwZWN0ZWRBZ2VudDogJ3NlY3VyaXR5LWFyY2hpdGVjdCcsIGNhdGVnb3J5OiAnc2VjdXJpdHknLCBkaWZmaWN1bHR5OiAnaGFyZCcgfSxcclxuICB7IGlkOiAnUzAwMicsIHRhc2s6ICdSZXZpZXcgdGhlIGNvZGUgZm9yIFNRTCBpbmplY3Rpb24gdnVsbmVyYWJpbGl0aWVzJywgZXhwZWN0ZWRBZ2VudDogJ3NlY3VyaXR5LWFyY2hpdGVjdCcsIGNhdGVnb3J5OiAnc2VjdXJpdHknLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxyXG4gIHsgaWQ6ICdTMDAzJywgdGFzazogJ0NoZWNrIGZvciBYU1MgdnVsbmVyYWJpbGl0aWVzIGluIHRoZSBmcm9udGVuZCcsIGV4cGVjdGVkQWdlbnQ6ICdzZWN1cml0eS1hcmNoaXRlY3QnLCBjYXRlZ29yeTogJ3NlY3VyaXR5JywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcclxuICB7IGlkOiAnUzAwNCcsIHRhc2s6ICdJbXBsZW1lbnQgc2VjdXJlIHBhc3N3b3JkIGhhc2hpbmcnLCBleHBlY3RlZEFnZW50OiAnc2VjdXJpdHktYXJjaGl0ZWN0JywgY2F0ZWdvcnk6ICdzZWN1cml0eScsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXHJcbiAgeyBpZDogJ1MwMDUnLCB0YXNrOiAnUmV2aWV3IHRoZSBBUEkgZm9yIGF1dGhvcml6YXRpb24gYnlwYXNzIGlzc3VlcycsIGV4cGVjdGVkQWdlbnQ6ICdzZWN1cml0eS1hcmNoaXRlY3QnLCBjYXRlZ29yeTogJ3NlY3VyaXR5JywgZGlmZmljdWx0eTogJ2hhcmQnIH0sXHJcbiAgeyBpZDogJ1MwMDYnLCB0YXNrOiAnQXVkaXQgdGhpcmQtcGFydHkgZGVwZW5kZW5jaWVzIGZvciBrbm93biBDVkVzJywgZXhwZWN0ZWRBZ2VudDogJ3NlY3VyaXR5LWFyY2hpdGVjdCcsIGNhdGVnb3J5OiAnc2VjdXJpdHknLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxyXG4gIHsgaWQ6ICdTMDA3JywgdGFzazogJ0Rlc2lnbiB0aGUgc2VjcmV0cyBtYW5hZ2VtZW50IHN0cmF0ZWd5JywgZXhwZWN0ZWRBZ2VudDogJ3NlY3VyaXR5LWFyY2hpdGVjdCcsIGNhdGVnb3J5OiAnc2VjdXJpdHknLCBkaWZmaWN1bHR5OiAnaGFyZCcgfSxcclxuXHJcbiAgLy8gPT09IERFQlVHR0VSIHRhc2tzID09PVxyXG4gIHsgaWQ6ICdEMDAxJywgdGFzazogJ0ZpeCB0aGUgbnVsbCBwb2ludGVyIGV4Y2VwdGlvbiBpbiB0aGUgdXNlciBjb250cm9sbGVyJywgZXhwZWN0ZWRBZ2VudDogJ2RlYnVnZ2VyJywgY2F0ZWdvcnk6ICdkZWJ1Z2dpbmcnLCBkaWZmaWN1bHR5OiAnZWFzeScgfSxcclxuICB7IGlkOiAnRDAwMicsIHRhc2s6ICdEZWJ1ZyB3aHkgdGhlIEFQSSByZXR1cm5zIDUwMCBpbnRlcm1pdHRlbnRseScsIGV4cGVjdGVkQWdlbnQ6ICdkZWJ1Z2dlcicsIGNhdGVnb3J5OiAnZGVidWdnaW5nJywgZGlmZmljdWx0eTogJ2hhcmQnIH0sXHJcbiAgeyBpZDogJ0QwMDMnLCB0YXNrOiAnRmluZCB0aGUgY2F1c2Ugb2YgdGhlIG1lbW9yeSBsZWFrJywgZXhwZWN0ZWRBZ2VudDogJ2RlYnVnZ2VyJywgY2F0ZWdvcnk6ICdkZWJ1Z2dpbmcnLCBkaWZmaWN1bHR5OiAnaGFyZCcgfSxcclxuICB7IGlkOiAnRDAwNCcsIHRhc2s6ICdGaXggdGhlIHJhY2UgY29uZGl0aW9uIGluIHRoZSBjaGVja291dCBwcm9jZXNzJywgZXhwZWN0ZWRBZ2VudDogJ2RlYnVnZ2VyJywgY2F0ZWdvcnk6ICdkZWJ1Z2dpbmcnLCBkaWZmaWN1bHR5OiAnaGFyZCcgfSxcclxuICB7IGlkOiAnRDAwNScsIHRhc2s6ICdEZWJ1ZyB0aGUgZmFpbGluZyB0ZXN0IGluIENJJywgZXhwZWN0ZWRBZ2VudDogJ2RlYnVnZ2VyJywgY2F0ZWdvcnk6ICdkZWJ1Z2dpbmcnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxyXG4gIHsgaWQ6ICdEMDA2JywgdGFzazogJ0ZpeCB0aGUgdGltZXpvbmUgaXNzdWUgaW4gZGF0ZSBoYW5kbGluZycsIGV4cGVjdGVkQWdlbnQ6ICdkZWJ1Z2dlcicsIGNhdGVnb3J5OiAnZGVidWdnaW5nJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcclxuICB7IGlkOiAnRDAwNycsIHRhc2s6ICdSZXNvbHZlIHRoZSBjaXJjdWxhciBkZXBlbmRlbmN5IGVycm9yJywgZXhwZWN0ZWRBZ2VudDogJ2RlYnVnZ2VyJywgY2F0ZWdvcnk6ICdkZWJ1Z2dpbmcnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxyXG4gIHsgaWQ6ICdEMDA4JywgdGFzazogJ0ZpeCB0aGUgYnJva2VuIGJ1aWxkIGFmdGVyIHRoZSBtZXJnZScsIGV4cGVjdGVkQWdlbnQ6ICdkZWJ1Z2dlcicsIGNhdGVnb3J5OiAnZGVidWdnaW5nJywgZGlmZmljdWx0eTogJ2Vhc3knIH0sXHJcblxyXG4gIC8vID09PSBET0NVTUVOVEVSIHRhc2tzID09PVxyXG4gIHsgaWQ6ICdPMDAxJywgdGFzazogJ1dyaXRlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBBUEkgZW5kcG9pbnRzJywgZXhwZWN0ZWRBZ2VudDogJ2RvY3VtZW50ZXInLCBjYXRlZ29yeTogJ2RvY3VtZW50YXRpb24nLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxyXG4gIHsgaWQ6ICdPMDAyJywgdGFzazogJ0NyZWF0ZSBhIFJFQURNRSBmb3IgdGhlIG5ldyBwYWNrYWdlJywgZXhwZWN0ZWRBZ2VudDogJ2RvY3VtZW50ZXInLCBjYXRlZ29yeTogJ2RvY3VtZW50YXRpb24nLCBkaWZmaWN1bHR5OiAnZWFzeScgfSxcclxuICB7IGlkOiAnTzAwMycsIHRhc2s6ICdEb2N1bWVudCB0aGUgZGVwbG95bWVudCBwcm9jZXNzJywgZXhwZWN0ZWRBZ2VudDogJ2RvY3VtZW50ZXInLCBjYXRlZ29yeTogJ2RvY3VtZW50YXRpb24nLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxyXG4gIHsgaWQ6ICdPMDA0JywgdGFzazogJ1dyaXRlIEpTRG9jIGNvbW1lbnRzIGZvciB0aGUgdXRpbGl0eSBmdW5jdGlvbnMnLCBleHBlY3RlZEFnZW50OiAnZG9jdW1lbnRlcicsIGNhdGVnb3J5OiAnZG9jdW1lbnRhdGlvbicsIGRpZmZpY3VsdHk6ICdlYXN5JyB9LFxyXG4gIHsgaWQ6ICdPMDA1JywgdGFzazogJ0NyZWF0ZSBhIG1pZ3JhdGlvbiBndWlkZSBmb3IgdjIgdG8gdjMnLCBleHBlY3RlZEFnZW50OiAnZG9jdW1lbnRlcicsIGNhdGVnb3J5OiAnZG9jdW1lbnRhdGlvbicsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXHJcbiAgeyBpZDogJ08wMDYnLCB0YXNrOiAnRG9jdW1lbnQgdGhlIGFyY2hpdGVjdHVyZSBkZWNpc2lvbnMnLCBleHBlY3RlZEFnZW50OiAnZG9jdW1lbnRlcicsIGNhdGVnb3J5OiAnZG9jdW1lbnRhdGlvbicsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXHJcblxyXG4gIC8vID09PSBSRUZBQ1RPUkVSIHRhc2tzID09PVxyXG4gIHsgaWQ6ICdGMDAxJywgdGFzazogJ1JlZmFjdG9yIHRoZSB1c2VyIHNlcnZpY2UgdG8gdXNlIGRlcGVuZGVuY3kgaW5qZWN0aW9uJywgZXhwZWN0ZWRBZ2VudDogJ3JlZmFjdG9yZXInLCBjYXRlZ29yeTogJ3JlZmFjdG9yaW5nJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcclxuICB7IGlkOiAnRjAwMicsIHRhc2s6ICdFeHRyYWN0IGNvbW1vbiBsb2dpYyBpbnRvIGEgc2hhcmVkIHV0aWxpdHknLCBleHBlY3RlZEFnZW50OiAncmVmYWN0b3JlcicsIGNhdGVnb3J5OiAncmVmYWN0b3JpbmcnLCBkaWZmaWN1bHR5OiAnZWFzeScgfSxcclxuICB7IGlkOiAnRjAwMycsIHRhc2s6ICdTcGxpdCB0aGUgbGFyZ2UgY29tcG9uZW50IGludG8gc21hbGxlciBvbmVzJywgZXhwZWN0ZWRBZ2VudDogJ3JlZmFjdG9yZXInLCBjYXRlZ29yeTogJ3JlZmFjdG9yaW5nJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcclxuICB7IGlkOiAnRjAwNCcsIHRhc2s6ICdSZW5hbWUgdGhlIGFtYmlndW91cyB2YXJpYWJsZSBuYW1lcyBpbiB0aGlzIG1vZHVsZScsIGV4cGVjdGVkQWdlbnQ6ICdyZWZhY3RvcmVyJywgY2F0ZWdvcnk6ICdyZWZhY3RvcmluZycsIGRpZmZpY3VsdHk6ICdlYXN5JyB9LFxyXG4gIHsgaWQ6ICdGMDA1JywgdGFzazogJ0NvbnZlcnQgdGhlIGNhbGxiYWNrcyB0byBhc3luYy9hd2FpdCcsIGV4cGVjdGVkQWdlbnQ6ICdyZWZhY3RvcmVyJywgY2F0ZWdvcnk6ICdyZWZhY3RvcmluZycsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXHJcbiAgeyBpZDogJ0YwMDYnLCB0YXNrOiAnUmVtb3ZlIGRlYWQgY29kZSBmcm9tIHRoZSBsZWdhY3kgbW9kdWxlJywgZXhwZWN0ZWRBZ2VudDogJ3JlZmFjdG9yZXInLCBjYXRlZ29yeTogJ3JlZmFjdG9yaW5nJywgZGlmZmljdWx0eTogJ2Vhc3knIH0sXHJcbiAgeyBpZDogJ0YwMDcnLCB0YXNrOiAnQ29uc29saWRhdGUgZHVwbGljYXRlIEFQSSBoYW5kbGVycycsIGV4cGVjdGVkQWdlbnQ6ICdyZWZhY3RvcmVyJywgY2F0ZWdvcnk6ICdyZWZhY3RvcmluZycsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXHJcblxyXG4gIC8vID09PSBPUFRJTUlaRVIgdGFza3MgPT09XHJcbiAgeyBpZDogJ1AwMDEnLCB0YXNrOiAnT3B0aW1pemUgdGhlIHNsb3cgZGF0YWJhc2UgcXVlcnknLCBleHBlY3RlZEFnZW50OiAnb3B0aW1pemVyJywgY2F0ZWdvcnk6ICdwZXJmb3JtYW5jZScsIGRpZmZpY3VsdHk6ICdoYXJkJyB9LFxyXG4gIHsgaWQ6ICdQMDAyJywgdGFzazogJ1JlZHVjZSB0aGUgYnVuZGxlIHNpemUgb2YgdGhlIGZyb250ZW5kJywgZXhwZWN0ZWRBZ2VudDogJ29wdGltaXplcicsIGNhdGVnb3J5OiAncGVyZm9ybWFuY2UnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxyXG4gIHsgaWQ6ICdQMDAzJywgdGFzazogJ0ltcHJvdmUgdGhlIEFQSSByZXNwb25zZSB0aW1lJywgZXhwZWN0ZWRBZ2VudDogJ29wdGltaXplcicsIGNhdGVnb3J5OiAncGVyZm9ybWFuY2UnLCBkaWZmaWN1bHR5OiAnaGFyZCcgfSxcclxuICB7IGlkOiAnUDAwNCcsIHRhc2s6ICdBZGQgY2FjaGluZyB0byByZWR1Y2UgZGF0YWJhc2UgbG9hZCcsIGV4cGVjdGVkQWdlbnQ6ICdvcHRpbWl6ZXInLCBjYXRlZ29yeTogJ3BlcmZvcm1hbmNlJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcclxuICB7IGlkOiAnUDAwNScsIHRhc2s6ICdPcHRpbWl6ZSB0aGUgaW1hZ2UgbG9hZGluZyBwZXJmb3JtYW5jZScsIGV4cGVjdGVkQWdlbnQ6ICdvcHRpbWl6ZXInLCBjYXRlZ29yeTogJ3BlcmZvcm1hbmNlJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcclxuICB7IGlkOiAnUDAwNicsIHRhc2s6ICdQcm9maWxlIGFuZCBvcHRpbWl6ZSBtZW1vcnkgdXNhZ2UnLCBleHBlY3RlZEFnZW50OiAnb3B0aW1pemVyJywgY2F0ZWdvcnk6ICdwZXJmb3JtYW5jZScsIGRpZmZpY3VsdHk6ICdoYXJkJyB9LFxyXG4gIHsgaWQ6ICdQMDA3JywgdGFzazogJ0ltcGxlbWVudCBsYXp5IGxvYWRpbmcgZm9yIHRoZSBkYXNoYm9hcmQnLCBleHBlY3RlZEFnZW50OiAnb3B0aW1pemVyJywgY2F0ZWdvcnk6ICdwZXJmb3JtYW5jZScsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXHJcblxyXG4gIC8vID09PSBERVZPUFMgdGFza3MgPT09XHJcbiAgeyBpZDogJ0UwMDEnLCB0YXNrOiAnU2V0IHVwIHRoZSBDSS9DRCBwaXBlbGluZSBmb3IgdGhlIG5ldyBzZXJ2aWNlJywgZXhwZWN0ZWRBZ2VudDogJ2Rldm9wcycsIGNhdGVnb3J5OiAnZGV2b3BzJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcclxuICB7IGlkOiAnRTAwMicsIHRhc2s6ICdDb25maWd1cmUgS3ViZXJuZXRlcyBkZXBsb3ltZW50IGZvciBwcm9kdWN0aW9uJywgZXhwZWN0ZWRBZ2VudDogJ2Rldm9wcycsIGNhdGVnb3J5OiAnZGV2b3BzJywgZGlmZmljdWx0eTogJ2hhcmQnIH0sXHJcbiAgeyBpZDogJ0UwMDMnLCB0YXNrOiAnU2V0IHVwIG1vbml0b3JpbmcgYW5kIGFsZXJ0aW5nJywgZXhwZWN0ZWRBZ2VudDogJ2Rldm9wcycsIGNhdGVnb3J5OiAnZGV2b3BzJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcclxuICB7IGlkOiAnRTAwNCcsIHRhc2s6ICdDcmVhdGUgRG9ja2VyIGNvbnRhaW5lcnMgZm9yIHRoZSBtaWNyb3NlcnZpY2VzJywgZXhwZWN0ZWRBZ2VudDogJ2Rldm9wcycsIGNhdGVnb3J5OiAnZGV2b3BzJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcclxuICB7IGlkOiAnRTAwNScsIHRhc2s6ICdDb25maWd1cmUgYXV0by1zY2FsaW5nIGZvciB0aGUgQVBJIHNlcnZlcnMnLCBleHBlY3RlZEFnZW50OiAnZGV2b3BzJywgY2F0ZWdvcnk6ICdkZXZvcHMnLCBkaWZmaWN1bHR5OiAnaGFyZCcgfSxcclxuICB7IGlkOiAnRTAwNicsIHRhc2s6ICdTZXQgdXAgdGhlIHN0YWdpbmcgZW52aXJvbm1lbnQnLCBleHBlY3RlZEFnZW50OiAnZGV2b3BzJywgY2F0ZWdvcnk6ICdkZXZvcHMnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxyXG4gIHsgaWQ6ICdFMDA3JywgdGFzazogJ0ltcGxlbWVudCBibHVlLWdyZWVuIGRlcGxveW1lbnQgc3RyYXRlZ3knLCBleHBlY3RlZEFnZW50OiAnZGV2b3BzJywgY2F0ZWdvcnk6ICdkZXZvcHMnLCBkaWZmaWN1bHR5OiAnaGFyZCcgfSxcclxuXHJcbiAgLy8gPT09IEFQSS1ET0NTIHRhc2tzID09PVxyXG4gIHsgaWQ6ICdJMDAxJywgdGFzazogJ0dlbmVyYXRlIE9wZW5BUEkgc3BlYyBmb3IgdGhlIFJFU1QgQVBJJywgZXhwZWN0ZWRBZ2VudDogJ2FwaS1kb2NzJywgY2F0ZWdvcnk6ICdhcGktZG9jdW1lbnRhdGlvbicsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXHJcbiAgeyBpZDogJ0kwMDInLCB0YXNrOiAnQ3JlYXRlIFN3YWdnZXIgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGVuZHBvaW50cycsIGV4cGVjdGVkQWdlbnQ6ICdhcGktZG9jcycsIGNhdGVnb3J5OiAnYXBpLWRvY3VtZW50YXRpb24nLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxyXG4gIHsgaWQ6ICdJMDAzJywgdGFzazogJ0RvY3VtZW50IHRoZSBHcmFwaFFMIHNjaGVtYScsIGV4cGVjdGVkQWdlbnQ6ICdhcGktZG9jcycsIGNhdGVnb3J5OiAnYXBpLWRvY3VtZW50YXRpb24nLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxyXG4gIHsgaWQ6ICdJMDA0JywgdGFzazogJ0FkZCBleGFtcGxlIHJlcXVlc3RzIGFuZCByZXNwb25zZXMgdG8gQVBJIGRvY3MnLCBleHBlY3RlZEFnZW50OiAnYXBpLWRvY3MnLCBjYXRlZ29yeTogJ2FwaS1kb2N1bWVudGF0aW9uJywgZGlmZmljdWx0eTogJ2Vhc3knIH0sXHJcblxyXG4gIC8vID09PSBQTEFOTkVSIHRhc2tzID09PVxyXG4gIHsgaWQ6ICdMMDAxJywgdGFzazogJ0JyZWFrIGRvd24gdGhlIGZlYXR1cmUgaW50byBpbXBsZW1lbnRhdGlvbiB0YXNrcycsIGV4cGVjdGVkQWdlbnQ6ICdwbGFubmVyJywgY2F0ZWdvcnk6ICdwbGFubmluZycsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXHJcbiAgeyBpZDogJ0wwMDInLCB0YXNrOiAnQ3JlYXRlIGEgc3ByaW50IHBsYW4gZm9yIHRoZSBuZXh0IG1pbGVzdG9uZScsIGV4cGVjdGVkQWdlbnQ6ICdwbGFubmVyJywgY2F0ZWdvcnk6ICdwbGFubmluZycsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXHJcbiAgeyBpZDogJ0wwMDMnLCB0YXNrOiAnRXN0aW1hdGUgZWZmb3J0IGZvciB0aGUgcmVmYWN0b3JpbmcgcHJvamVjdCcsIGV4cGVjdGVkQWdlbnQ6ICdwbGFubmVyJywgY2F0ZWdvcnk6ICdwbGFubmluZycsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXHJcbiAgeyBpZDogJ0wwMDQnLCB0YXNrOiAnUHJpb3JpdGl6ZSB0aGUgYnVnIGZpeGVzIGZvciB0aGUgcmVsZWFzZScsIGV4cGVjdGVkQWdlbnQ6ICdwbGFubmVyJywgY2F0ZWdvcnk6ICdwbGFubmluZycsIGRpZmZpY3VsdHk6ICdlYXN5JyB9LFxyXG4gIHsgaWQ6ICdMMDA1JywgdGFzazogJ1BsYW4gdGhlIHRlY2huaWNhbCBkZWJ0IHJlZHVjdGlvbiByb2FkbWFwJywgZXhwZWN0ZWRBZ2VudDogJ3BsYW5uZXInLCBjYXRlZ29yeTogJ3BsYW5uaW5nJywgZGlmZmljdWx0eTogJ2hhcmQnIH0sXHJcblxyXG4gIC8vID09PSBBTUJJR1VPVVMgLyBFREdFIENBU0VTID09PVxyXG4gIHsgaWQ6ICdYMDAxJywgdGFzazogJ1RoZSBsb2dpbiBpcyBicm9rZW4sIHVzZXJzIGNhbm5vdCBzaWduIGluJywgZXhwZWN0ZWRBZ2VudDogJ2RlYnVnZ2VyJywgY2F0ZWdvcnk6ICdhbWJpZ3VvdXMnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxyXG4gIHsgaWQ6ICdYMDAyJywgdGFzazogJ1dlIG5lZWQgYmV0dGVyIGVycm9yIG1lc3NhZ2VzJywgZXhwZWN0ZWRBZ2VudDogJ2NvZGVyJywgY2F0ZWdvcnk6ICdhbWJpZ3VvdXMnLCBkaWZmaWN1bHR5OiAnZWFzeScgfSxcclxuICB7IGlkOiAnWDAwMycsIHRhc2s6ICdNYWtlIHRoZSBhcHAgZmFzdGVyJywgZXhwZWN0ZWRBZ2VudDogJ29wdGltaXplcicsIGNhdGVnb3J5OiAnYW1iaWd1b3VzJywgZGlmZmljdWx0eTogJ2hhcmQnIH0sXHJcbiAgeyBpZDogJ1gwMDQnLCB0YXNrOiAnVGhlIGNvZGUgaXMgYSBtZXNzLCBjbGVhbiBpdCB1cCcsIGV4cGVjdGVkQWdlbnQ6ICdyZWZhY3RvcmVyJywgY2F0ZWdvcnk6ICdhbWJpZ3VvdXMnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxyXG4gIHsgaWQ6ICdYMDA1JywgdGFzazogJ0lzIHRoaXMgaW1wbGVtZW50YXRpb24gc2VjdXJlPycsIGV4cGVjdGVkQWdlbnQ6ICdzZWN1cml0eS1hcmNoaXRlY3QnLCBjYXRlZ29yeTogJ2FtYmlndW91cycsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXHJcbl07XHJcblxyXG4vKipcclxuICogU2ltcGxlIGtleXdvcmQtYmFzZWQgcm91dGluZyBmb3IgYmFzZWxpbmUgY29tcGFyaXNvblxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGJhc2VsaW5lS2V5d29yZFJvdXRlcih0YXNrOiBzdHJpbmcpOiB7IGFnZW50OiBBZ2VudFR5cGU7IGNvbmZpZGVuY2U6IG51bWJlciB9IHtcclxuICBjb25zdCB0YXNrTG93ZXIgPSB0YXNrLnRvTG93ZXJDYXNlKCk7XHJcblxyXG4gIGNvbnN0IHBhdHRlcm5zOiB7IGtleXdvcmRzOiBzdHJpbmdbXTsgYWdlbnQ6IEFnZW50VHlwZTsgd2VpZ2h0OiBudW1iZXIgfVtdID0gW1xyXG4gICAgeyBrZXl3b3JkczogWydpbXBsZW1lbnQnLCAnY3JlYXRlJywgJ3dyaXRlJywgJ2FkZCcsICdidWlsZCddLCBhZ2VudDogJ2NvZGVyJywgd2VpZ2h0OiAxIH0sXHJcbiAgICB7IGtleXdvcmRzOiBbJ3Jlc2VhcmNoJywgJ2ZpbmQnLCAnaW52ZXN0aWdhdGUnLCAnYW5hbHl6ZScsICdleHBsb3JlJ10sIGFnZW50OiAncmVzZWFyY2hlcicsIHdlaWdodDogMSB9LFxyXG4gICAgeyBrZXl3b3JkczogWydyZXZpZXcnLCAnY2hlY2snLCAnZXZhbHVhdGUnLCAnYXNzZXNzJ10sIGFnZW50OiAncmV2aWV3ZXInLCB3ZWlnaHQ6IDEgfSxcclxuICAgIHsga2V5d29yZHM6IFsndGVzdCcsICd1bml0IHRlc3QnLCAnaW50ZWdyYXRpb24gdGVzdCcsICdlMmUnLCAnY292ZXJhZ2UnXSwgYWdlbnQ6ICd0ZXN0ZXInLCB3ZWlnaHQ6IDEuMiB9LFxyXG4gICAgeyBrZXl3b3JkczogWydkZXNpZ24nLCAnYXJjaGl0ZWN0JywgJ3NjaGVtYScsICdhZHInLCAnc3lzdGVtIGRlc2lnbiddLCBhZ2VudDogJ2FyY2hpdGVjdCcsIHdlaWdodDogMS4yIH0sXHJcbiAgICB7IGtleXdvcmRzOiBbJ3NlY3VyaXR5JywgJ3Z1bG5lcmFiaWxpdHknLCAneHNzJywgJ3NxbCBpbmplY3Rpb24nLCAnYXVkaXQnLCAnY3ZlJ10sIGFnZW50OiAnc2VjdXJpdHktYXJjaGl0ZWN0Jywgd2VpZ2h0OiAxLjUgfSxcclxuICAgIHsga2V5d29yZHM6IFsnZGVidWcnLCAnZml4JywgJ2J1ZycsICdlcnJvcicsICdicm9rZW4nLCAnaXNzdWUnXSwgYWdlbnQ6ICdkZWJ1Z2dlcicsIHdlaWdodDogMS4yIH0sXHJcbiAgICB7IGtleXdvcmRzOiBbJ2RvY3VtZW50JywgJ3JlYWRtZScsICdqc2RvYycsICdjb21tZW50J10sIGFnZW50OiAnZG9jdW1lbnRlcicsIHdlaWdodDogMSB9LFxyXG4gICAgeyBrZXl3b3JkczogWydyZWZhY3RvcicsICdleHRyYWN0JywgJ3JlbmFtZScsICdjb25zb2xpZGF0ZScsICdzcGxpdCddLCBhZ2VudDogJ3JlZmFjdG9yZXInLCB3ZWlnaHQ6IDEuMiB9LFxyXG4gICAgeyBrZXl3b3JkczogWydvcHRpbWl6ZScsICdwZXJmb3JtYW5jZScsICdzbG93JywgJ2NhY2hlJywgJ2Zhc3RlciddLCBhZ2VudDogJ29wdGltaXplcicsIHdlaWdodDogMS4yIH0sXHJcbiAgICB7IGtleXdvcmRzOiBbJ2RlcGxveScsICdjaS9jZCcsICdrdWJlcm5ldGVzJywgJ2RvY2tlcicsICdwaXBlbGluZSddLCBhZ2VudDogJ2Rldm9wcycsIHdlaWdodDogMS4yIH0sXHJcbiAgICB7IGtleXdvcmRzOiBbJ29wZW5hcGknLCAnc3dhZ2dlcicsICdhcGkgZG9jJywgJ2dyYXBocWwgc2NoZW1hJ10sIGFnZW50OiAnYXBpLWRvY3MnLCB3ZWlnaHQ6IDEuMyB9LFxyXG4gICAgeyBrZXl3b3JkczogWydwbGFuJywgJ2VzdGltYXRlJywgJ3ByaW9yaXRpemUnLCAnc3ByaW50JywgJ3JvYWRtYXAnXSwgYWdlbnQ6ICdwbGFubmVyJywgd2VpZ2h0OiAxIH0sXHJcbiAgXTtcclxuXHJcbiAgbGV0IGJlc3RNYXRjaDogeyBhZ2VudDogQWdlbnRUeXBlOyBzY29yZTogbnVtYmVyIH0gPSB7IGFnZW50OiAnY29kZXInLCBzY29yZTogMCB9O1xyXG5cclxuICBmb3IgKGNvbnN0IHBhdHRlcm4gb2YgcGF0dGVybnMpIHtcclxuICAgIGxldCBzY29yZSA9IDA7XHJcbiAgICBmb3IgKGNvbnN0IGtleXdvcmQgb2YgcGF0dGVybi5rZXl3b3Jkcykge1xyXG4gICAgICBpZiAodGFza0xvd2VyLmluY2x1ZGVzKGtleXdvcmQpKSB7XHJcbiAgICAgICAgc2NvcmUgKz0gcGF0dGVybi53ZWlnaHQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmIChzY29yZSA+IGJlc3RNYXRjaC5zY29yZSkge1xyXG4gICAgICBiZXN0TWF0Y2ggPSB7IGFnZW50OiBwYXR0ZXJuLmFnZW50LCBzY29yZSB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHtcclxuICAgIGFnZW50OiBiZXN0TWF0Y2guYWdlbnQsXHJcbiAgICBjb25maWRlbmNlOiBNYXRoLm1pbihiZXN0TWF0Y2guc2NvcmUgLyAzLCAxKSwgLy8gTm9ybWFsaXplIHRvIDAtMVxyXG4gIH07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSdW4gdGhlIHJvdXRpbmcgYmVuY2htYXJrXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gcnVuUm91dGluZ0JlbmNobWFyayhcclxuICByb3V0ZXI6ICh0YXNrOiBzdHJpbmcpID0+IHsgYWdlbnQ6IHN0cmluZzsgY29uZmlkZW5jZTogbnVtYmVyIH1cclxuKTogUm91dGluZ0JlbmNobWFya1Jlc3VsdHMge1xyXG4gIGNvbnN0IHJlc3VsdHM6IFJvdXRpbmdSZXN1bHRbXSA9IFtdO1xyXG4gIGNvbnN0IGxhdGVuY2llczogbnVtYmVyW10gPSBbXTtcclxuXHJcbiAgZm9yIChjb25zdCB0ZXN0Q2FzZSBvZiBST1VUSU5HX1RFU1RfQ0FTRVMpIHtcclxuICAgIGNvbnN0IHN0YXJ0ID0gcGVyZm9ybWFuY2Uubm93KCk7XHJcbiAgICBjb25zdCBwcmVkaWN0aW9uID0gcm91dGVyKHRlc3RDYXNlLnRhc2spO1xyXG4gICAgY29uc3QgbGF0ZW5jeU1zID0gcGVyZm9ybWFuY2Uubm93KCkgLSBzdGFydDtcclxuXHJcbiAgICBsYXRlbmNpZXMucHVzaChsYXRlbmN5TXMpO1xyXG5cclxuICAgIHJlc3VsdHMucHVzaCh7XHJcbiAgICAgIHRlc3RJZDogdGVzdENhc2UuaWQsXHJcbiAgICAgIHRhc2s6IHRlc3RDYXNlLnRhc2ssXHJcbiAgICAgIGV4cGVjdGVkQWdlbnQ6IHRlc3RDYXNlLmV4cGVjdGVkQWdlbnQsXHJcbiAgICAgIHByZWRpY3RlZEFnZW50OiBwcmVkaWN0aW9uLmFnZW50LFxyXG4gICAgICBjb25maWRlbmNlOiBwcmVkaWN0aW9uLmNvbmZpZGVuY2UsXHJcbiAgICAgIGNvcnJlY3Q6IHByZWRpY3Rpb24uYWdlbnQgPT09IHRlc3RDYXNlLmV4cGVjdGVkQWdlbnQsXHJcbiAgICAgIGxhdGVuY3lNcyxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gQ2FsY3VsYXRlIG1ldHJpY3NcclxuICBjb25zdCBjb3JyZWN0ID0gcmVzdWx0cy5maWx0ZXIociA9PiByLmNvcnJlY3QpLmxlbmd0aDtcclxuICBjb25zdCBhY2N1cmFjeSA9IGNvcnJlY3QgLyByZXN1bHRzLmxlbmd0aDtcclxuXHJcbiAgLy8gQWNjdXJhY3kgYnkgY2F0ZWdvcnlcclxuICBjb25zdCBjYXRlZ29yaWVzID0gWy4uLm5ldyBTZXQoUk9VVElOR19URVNUX0NBU0VTLm1hcCh0ID0+IHQuY2F0ZWdvcnkpKV07XHJcbiAgY29uc3QgYWNjdXJhY3lCeUNhdGVnb3J5OiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+ID0ge307XHJcbiAgZm9yIChjb25zdCBjYXQgb2YgY2F0ZWdvcmllcykge1xyXG4gICAgY29uc3QgY2F0UmVzdWx0cyA9IHJlc3VsdHMuZmlsdGVyKChyLCBpKSA9PiBST1VUSU5HX1RFU1RfQ0FTRVNbaV0uY2F0ZWdvcnkgPT09IGNhdCk7XHJcbiAgICBhY2N1cmFjeUJ5Q2F0ZWdvcnlbY2F0XSA9IGNhdFJlc3VsdHMuZmlsdGVyKHIgPT4gci5jb3JyZWN0KS5sZW5ndGggLyBjYXRSZXN1bHRzLmxlbmd0aDtcclxuICB9XHJcblxyXG4gIC8vIEFjY3VyYWN5IGJ5IGRpZmZpY3VsdHlcclxuICBjb25zdCBkaWZmaWN1bHRpZXMgPSBbJ2Vhc3knLCAnbWVkaXVtJywgJ2hhcmQnXTtcclxuICBjb25zdCBhY2N1cmFjeUJ5RGlmZmljdWx0eTogUmVjb3JkPHN0cmluZywgbnVtYmVyPiA9IHt9O1xyXG4gIGZvciAoY29uc3QgZGlmZiBvZiBkaWZmaWN1bHRpZXMpIHtcclxuICAgIGNvbnN0IGRpZmZSZXN1bHRzID0gcmVzdWx0cy5maWx0ZXIoKHIsIGkpID0+IFJPVVRJTkdfVEVTVF9DQVNFU1tpXS5kaWZmaWN1bHR5ID09PSBkaWZmKTtcclxuICAgIGFjY3VyYWN5QnlEaWZmaWN1bHR5W2RpZmZdID0gZGlmZlJlc3VsdHMuZmlsdGVyKHIgPT4gci5jb3JyZWN0KS5sZW5ndGggLyBkaWZmUmVzdWx0cy5sZW5ndGg7XHJcbiAgfVxyXG5cclxuICAvLyBMYXRlbmN5IHBlcmNlbnRpbGVzXHJcbiAgY29uc3Qgc29ydGVkTGF0ZW5jaWVzID0gWy4uLmxhdGVuY2llc10uc29ydCgoYSwgYikgPT4gYSAtIGIpO1xyXG4gIGNvbnN0IHA1MCA9IHNvcnRlZExhdGVuY2llc1tNYXRoLmZsb29yKHNvcnRlZExhdGVuY2llcy5sZW5ndGggKiAwLjUpXTtcclxuICBjb25zdCBwOTUgPSBzb3J0ZWRMYXRlbmNpZXNbTWF0aC5mbG9vcihzb3J0ZWRMYXRlbmNpZXMubGVuZ3RoICogMC45NSldO1xyXG4gIGNvbnN0IGF2Z0xhdGVuY3kgPSBsYXRlbmNpZXMucmVkdWNlKChhLCBiKSA9PiBhICsgYiwgMCkgLyBsYXRlbmNpZXMubGVuZ3RoO1xyXG5cclxuICByZXR1cm4ge1xyXG4gICAgYWNjdXJhY3ksXHJcbiAgICBhY2N1cmFjeUJ5Q2F0ZWdvcnksXHJcbiAgICBhY2N1cmFjeUJ5RGlmZmljdWx0eSxcclxuICAgIGF2Z0xhdGVuY3lNczogYXZnTGF0ZW5jeSxcclxuICAgIHA1MExhdGVuY3lNczogcDUwLFxyXG4gICAgcDk1TGF0ZW5jeU1zOiBwOTUsXHJcbiAgICB0b3RhbFRlc3RzOiByZXN1bHRzLmxlbmd0aCxcclxuICAgIGNvcnJlY3QsXHJcbiAgICByZXN1bHRzLFxyXG4gIH07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBGb3JtYXQgYmVuY2htYXJrIHJlc3VsdHMgZm9yIGRpc3BsYXlcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRSb3V0aW5nUmVzdWx0cyhyZXN1bHRzOiBSb3V0aW5nQmVuY2htYXJrUmVzdWx0cyk6IHN0cmluZyB7XHJcbiAgY29uc3QgbGluZXM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gIGxpbmVzLnB1c2goJycpO1xyXG4gIGxpbmVzLnB1c2goJ+KVlOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVlycpO1xyXG4gIGxpbmVzLnB1c2goJ+KVkSAgICAgICAgICAgICAgUk9VVElORyBCRU5DSE1BUksgUkVTVUxUUyAgICAgICAgICAgICAgICAgICAgICAg4pWRJyk7XHJcbiAgbGluZXMucHVzaCgn4pWg4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWjJyk7XHJcbiAgbGluZXMucHVzaChg4pWRICBPdmVyYWxsIEFjY3VyYWN5OiAkeyhyZXN1bHRzLmFjY3VyYWN5ICogMTAwKS50b0ZpeGVkKDEpfSUgKCR7cmVzdWx0cy5jb3JyZWN0fS8ke3Jlc3VsdHMudG90YWxUZXN0c30pYC5wYWRFbmQoNjMpICsgJ+KVkScpO1xyXG4gIGxpbmVzLnB1c2goJ+KVoOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVoycpO1xyXG4gIGxpbmVzLnB1c2goJ+KVkSAgQnkgQ2F0ZWdvcnk6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pWRJyk7XHJcblxyXG4gIGZvciAoY29uc3QgW2NhdCwgYWNjXSBvZiBPYmplY3QuZW50cmllcyhyZXN1bHRzLmFjY3VyYWN5QnlDYXRlZ29yeSkuc29ydCgoYSwgYikgPT4gYlsxXSAtIGFbMV0pKSB7XHJcbiAgICBjb25zdCBiYXIgPSAn4paIJy5yZXBlYXQoTWF0aC5mbG9vcihhY2MgKiAyMCkpICsgJ+KWkScucmVwZWF0KDIwIC0gTWF0aC5mbG9vcihhY2MgKiAyMCkpO1xyXG4gICAgbGluZXMucHVzaChg4pWRICAgICR7Y2F0LnBhZEVuZCgxOCl9IFske2Jhcn1dICR7KGFjYyAqIDEwMCkudG9GaXhlZCgwKS5wYWRTdGFydCgzKX0lICDilZFgKTtcclxuICB9XHJcblxyXG4gIGxpbmVzLnB1c2goJ+KVoOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVoycpO1xyXG4gIGxpbmVzLnB1c2goJ+KVkSAgQnkgRGlmZmljdWx0eTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pWRJyk7XHJcblxyXG4gIGZvciAoY29uc3QgW2RpZmYsIGFjY10gb2YgT2JqZWN0LmVudHJpZXMocmVzdWx0cy5hY2N1cmFjeUJ5RGlmZmljdWx0eSkpIHtcclxuICAgIGNvbnN0IGJhciA9ICfilognLnJlcGVhdChNYXRoLmZsb29yKGFjYyAqIDIwKSkgKyAn4paRJy5yZXBlYXQoMjAgLSBNYXRoLmZsb29yKGFjYyAqIDIwKSk7XHJcbiAgICBsaW5lcy5wdXNoKGDilZEgICAgJHtkaWZmLnBhZEVuZCgxOCl9IFske2Jhcn1dICR7KGFjYyAqIDEwMCkudG9GaXhlZCgwKS5wYWRTdGFydCgzKX0lICDilZFgKTtcclxuICB9XHJcblxyXG4gIGxpbmVzLnB1c2goJ+KVoOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVoycpO1xyXG4gIGxpbmVzLnB1c2goJ+KVkSAgTGF0ZW5jeTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pWRJyk7XHJcbiAgbGluZXMucHVzaChg4pWRICAgIEF2ZXJhZ2U6ICR7cmVzdWx0cy5hdmdMYXRlbmN5TXMudG9GaXhlZCgyKX1tc2AucGFkRW5kKDYzKSArICfilZEnKTtcclxuICBsaW5lcy5wdXNoKGDilZEgICAgUDUwOiAgICAgJHtyZXN1bHRzLnA1MExhdGVuY3lNcy50b0ZpeGVkKDIpfW1zYC5wYWRFbmQoNjMpICsgJ+KVkScpO1xyXG4gIGxpbmVzLnB1c2goYOKVkSAgICBQOTU6ICAgICAke3Jlc3VsdHMucDk1TGF0ZW5jeU1zLnRvRml4ZWQoMil9bXNgLnBhZEVuZCg2MykgKyAn4pWRJyk7XHJcbiAgbGluZXMucHVzaCgn4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdJyk7XHJcblxyXG4gIC8vIFNob3cgZmFpbHVyZXNcclxuICBjb25zdCBmYWlsdXJlcyA9IHJlc3VsdHMucmVzdWx0cy5maWx0ZXIociA9PiAhci5jb3JyZWN0KTtcclxuICBpZiAoZmFpbHVyZXMubGVuZ3RoID4gMCAmJiBmYWlsdXJlcy5sZW5ndGggPD0gMjApIHtcclxuICAgIGxpbmVzLnB1c2goJycpO1xyXG4gICAgbGluZXMucHVzaCgnTWlzcm91dGVkIHRhc2tzOicpO1xyXG4gICAgZm9yIChjb25zdCBmIG9mIGZhaWx1cmVzLnNsaWNlKDAsIDEwKSkge1xyXG4gICAgICBsaW5lcy5wdXNoKGAgIFske2YudGVzdElkfV0gXCIke2YudGFzay5zbGljZSgwLCA1MCl9Li4uXCJgKTtcclxuICAgICAgbGluZXMucHVzaChgICAgICAgICAgRXhwZWN0ZWQ6ICR7Zi5leHBlY3RlZEFnZW50fSwgR290OiAke2YucHJlZGljdGVkQWdlbnR9YCk7XHJcbiAgICB9XHJcbiAgICBpZiAoZmFpbHVyZXMubGVuZ3RoID4gMTApIHtcclxuICAgICAgbGluZXMucHVzaChgICAuLi4gYW5kICR7ZmFpbHVyZXMubGVuZ3RoIC0gMTB9IG1vcmVgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJldHVybiBsaW5lcy5qb2luKCdcXG4nKTtcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gIFJPVVRJTkdfVEVTVF9DQVNFUyxcclxuICBBR0VOVF9UWVBFUyxcclxuICBiYXNlbGluZUtleXdvcmRSb3V0ZXIsXHJcbiAgcnVuUm91dGluZ0JlbmNobWFyayxcclxuICBmb3JtYXRSb3V0aW5nUmVzdWx0cyxcclxufTtcclxuIl19
283
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGluZy1iZW5jaG1hcmsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmVuY2htYXJrcy9yb3V0aW5nLWJlbmNobWFyay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQWdDSDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRztJQUN6QixPQUFPO0lBQ1AsWUFBWTtJQUNaLFVBQVU7SUFDVixRQUFRO0lBQ1IsV0FBVztJQUNYLG9CQUFvQjtJQUNwQixVQUFVO0lBQ1YsWUFBWTtJQUNaLFlBQVk7SUFDWixXQUFXO0lBQ1gsUUFBUTtJQUNSLFVBQVU7SUFDVixTQUFTO0NBQ0QsQ0FBQztBQUlYOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFzQjtJQUNuRCx1Q0FBdUM7SUFDdkMsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxrREFBa0QsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFO0lBQ2hKLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsaURBQWlELEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRTtJQUNqSixFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGtEQUFrRCxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUU7SUFDbEosRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxpREFBaUQsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFO0lBQy9JLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUs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bEIsV0FBVztJQUNYLHFCQUFxQjtJQUNyQixtQkFBbUI7SUFDbkIsb0JBQW9CO0NBQ3JCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFJvdXRpbmcgQmVuY2htYXJrIGZvciBSdXZMVFJBIE1vZGVsc1xuICpcbiAqIFRlc3RzIHdoZXRoZXIgdGhlIG1vZGVsIGNvcnJlY3RseSByb3V0ZXMgdGFza3MgdG8gYXBwcm9wcmlhdGUgYWdlbnRzLlxuICogVGhpcyBtZWFzdXJlcyB0aGUgYWN0dWFsIHZhbHVlIHByb3Bvc2l0aW9uIGZvciBDbGF1ZGUgQ29kZSB3b3JrZmxvd3MuXG4gKi9cblxuZXhwb3J0IGludGVyZmFjZSBSb3V0aW5nVGVzdENhc2Uge1xuICBpZDogc3RyaW5nO1xuICB0YXNrOiBzdHJpbmc7XG4gIGV4cGVjdGVkQWdlbnQ6IHN0cmluZztcbiAgY2F0ZWdvcnk6IHN0cmluZztcbiAgZGlmZmljdWx0eTogJ2Vhc3knIHwgJ21lZGl1bScgfCAnaGFyZCc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUm91dGluZ1Jlc3VsdCB7XG4gIHRlc3RJZDogc3RyaW5nO1xuICB0YXNrOiBzdHJpbmc7XG4gIGV4cGVjdGVkQWdlbnQ6IHN0cmluZztcbiAgcHJlZGljdGVkQWdlbnQ6IHN0cmluZztcbiAgY29uZmlkZW5jZTogbnVtYmVyO1xuICBjb3JyZWN0OiBib29sZWFuO1xuICBsYXRlbmN5TXM6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSb3V0aW5nQmVuY2htYXJrUmVzdWx0cyB7XG4gIGFjY3VyYWN5OiBudW1iZXI7XG4gIGFjY3VyYWN5QnlDYXRlZ29yeTogUmVjb3JkPHN0cmluZywgbnVtYmVyPjtcbiAgYWNjdXJhY3lCeURpZmZpY3VsdHk6IFJlY29yZDxzdHJpbmcsIG51bWJlcj47XG4gIGF2Z0xhdGVuY3lNczogbnVtYmVyO1xuICBwNTBMYXRlbmN5TXM6IG51bWJlcjtcbiAgcDk1TGF0ZW5jeU1zOiBudW1iZXI7XG4gIHRvdGFsVGVzdHM6IG51bWJlcjtcbiAgY29ycmVjdDogbnVtYmVyO1xuICByZXN1bHRzOiBSb3V0aW5nUmVzdWx0W107XG59XG5cbi8qKlxuICogQWdlbnQgdHlwZXMgaW4gQ2xhdWRlIENvZGUgLyBjbGF1ZGUtZmxvdyBlY29zeXN0ZW1cbiAqL1xuZXhwb3J0IGNvbnN0IEFHRU5UX1RZUEVTID0gW1xuICAnY29kZXInLFxuICAncmVzZWFyY2hlcicsXG4gICdyZXZpZXdlcicsXG4gICd0ZXN0ZXInLFxuICAnYXJjaGl0ZWN0JyxcbiAgJ3NlY3VyaXR5LWFyY2hpdGVjdCcsXG4gICdkZWJ1Z2dlcicsXG4gICdkb2N1bWVudGVyJyxcbiAgJ3JlZmFjdG9yZXInLFxuICAnb3B0aW1pemVyJyxcbiAgJ2Rldm9wcycsXG4gICdhcGktZG9jcycsXG4gICdwbGFubmVyJyxcbl0gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIEFnZW50VHlwZSA9ICh0eXBlb2YgQUdFTlRfVFlQRVMpW251bWJlcl07XG5cbi8qKlxuICogR3JvdW5kIHRydXRoIHRlc3QgZGF0YXNldCBmb3Igcm91dGluZ1xuICogMTAwIHRhc2tzIHdpdGggZXhwZWN0ZWQgYWdlbnQgYXNzaWdubWVudHNcbiAqL1xuZXhwb3J0IGNvbnN0IFJPVVRJTkdfVEVTVF9DQVNFUzogUm91dGluZ1Rlc3RDYXNlW10gPSBbXG4gIC8vID09PSBDT0RFUiB0YXNrcyAod3JpdGUgbmV3IGNvZGUpID09PVxuICB7IGlkOiAnQzAwMScsIHRhc2s6ICdJbXBsZW1lbnQgYSBiaW5hcnkgc2VhcmNoIGZ1bmN0aW9uIGluIFR5cGVTY3JpcHQnLCBleHBlY3RlZEFnZW50OiAnY29kZXInLCBjYXRlZ29yeTogJ2ltcGxlbWVudGF0aW9uJywgZGlmZmljdWx0eTogJ2Vhc3knIH0sXG4gIHsgaWQ6ICdDMDAyJywgdGFzazogJ1dyaXRlIGEgUmVhY3QgY29tcG9uZW50IGZvciB1c2VyIGF1dGhlbnRpY2F0aW9uJywgZXhwZWN0ZWRBZ2VudDogJ2NvZGVyJywgY2F0ZWdvcnk6ICdpbXBsZW1lbnRhdGlvbicsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXG4gIHsgaWQ6ICdDMDAzJywgdGFzazogJ0NyZWF0ZSBhIFJFU1QgQVBJIGVuZHBvaW50IGZvciB1c2VyIHJlZ2lzdHJhdGlvbicsIGV4cGVjdGVkQWdlbnQ6ICdjb2RlcicsIGNhdGVnb3J5OiAnaW1wbGVtZW50YXRpb24nLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxuICB7IGlkOiAnQzAwNCcsIHRhc2s6ICdJbXBsZW1lbnQgYSBXZWJTb2NrZXQgc2VydmVyIGZvciByZWFsLXRpbWUgY2hhdCcsIGV4cGVjdGVkQWdlbnQ6ICdjb2RlcicsIGNhdGVnb3J5OiAnaW1wbGVtZW50YXRpb24nLCBkaWZmaWN1bHR5OiAnaGFyZCcgfSxcbiAgeyBpZDogJ0MwMDUnLCB0YXNrOiAnV3JpdGUgYSBmdW5jdGlvbiB0byBwYXJzZSBDU1YgZmlsZXMnLCBleHBlY3RlZEFnZW50OiAnY29kZXInLCBjYXRlZ29yeTogJ2ltcGxlbWVudGF0aW9uJywgZGlmZmljdWx0eTogJ2Vhc3knIH0sXG4gIHsgaWQ6ICdDMDA2JywgdGFzazogJ0NyZWF0ZSBhIG1pZGRsZXdhcmUgZm9yIHJlcXVlc3QgbG9nZ2luZycsIGV4cGVjdGVkQWdlbnQ6ICdjb2RlcicsIGNhdGVnb3J5OiAnaW1wbGVtZW50YXRpb24nLCBkaWZmaWN1bHR5OiAnZWFzeScgfSxcbiAgeyBpZDogJ0MwMDcnLCB0YXNrOiAnSW1wbGVtZW50IHBhZ2luYXRpb24gZm9yIHRoZSBBUEkgcmVzcG9uc2VzJywgZXhwZWN0ZWRBZ2VudDogJ2NvZGVyJywgY2F0ZWdvcnk6ICdpbXBsZW1lbnRhdGlvbicsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXG4gIHsgaWQ6ICdDMDA4JywgdGFzazogJ1dyaXRlIGEgY3VzdG9tIFJlYWN0IGhvb2sgZm9yIGZvcm0gdmFsaWRhdGlvbicsIGV4cGVjdGVkQWdlbnQ6ICdjb2RlcicsIGNhdGVnb3J5OiAnaW1wbGVtZW50YXRpb24nLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxuICB7IGlkOiAnQzAwOScsIHRhc2s6ICdDcmVhdGUgYSBkYXRhYmFzZSBtaWdyYXRpb24gc2NyaXB0JywgZXhwZWN0ZWRBZ2VudDogJ2NvZGVyJywgY2F0ZWdvcnk6ICdpbXBsZW1lbnRhdGlvbicsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXG4gIHsgaWQ6ICdDMDEwJywgdGFzazogJ0ltcGxlbWVudCBhIHJhdGUgbGltaXRlciBmb3IgdGhlIEFQSScsIGV4cGVjdGVkQWdlbnQ6ICdjb2RlcicsIGNhdGVnb3J5OiAnaW1wbGVtZW50YXRpb24nLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxuXG4gIC8vID09PSBSRVNFQVJDSEVSIHRhc2tzIChpbnZlc3RpZ2F0ZSwgZXhwbG9yZSkgPT09XG4gIHsgaWQ6ICdSMDAxJywgdGFzazogJ1Jlc2VhcmNoIGJlc3QgcHJhY3RpY2VzIGZvciBHcmFwaFFMIHNjaGVtYSBkZXNpZ24nLCBleHBlY3RlZEFnZW50OiAncmVzZWFyY2hlcicsIGNhdGVnb3J5OiAncmVzZWFyY2gnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxuICB7IGlkOiAnUjAwMicsIHRhc2s6ICdGaW5kIG91dCBob3cgdGhlIGF1dGhlbnRpY2F0aW9uIGZsb3cgd29ya3MgaW4gdGhpcyBjb2RlYmFzZScsIGV4cGVjdGVkQWdlbnQ6ICdyZXNlYXJjaGVyJywgY2F0ZWdvcnk6ICdyZXNlYXJjaCcsIGRpZmZpY3VsdHk6ICdlYXN5JyB9LFxuICB7IGlkOiAnUjAwMycsIHRhc2s6ICdJbnZlc3RpZ2F0ZSB3aHkgdGhlIGJ1aWxkIGlzIGZhaWxpbmcgb24gQ0knLCBleHBlY3RlZEFnZW50OiAncmVzZWFyY2hlcicsIGNhdGVnb3J5OiAncmVzZWFyY2gnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxuICB7IGlkOiAnUjAwNCcsIHRhc2s6ICdSZXNlYXJjaCBhbHRlcm5hdGl2ZXMgdG8gUmVkdXggZm9yIHN0YXRlIG1hbmFnZW1lbnQnLCBleHBlY3RlZEFnZW50OiAncmVzZWFyY2hlcicsIGNhdGVnb3J5OiAncmVzZWFyY2gnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxuICB7IGlkOiAnUjAwNScsIHRhc2s6ICdGaW5kIGFsbCB1c2FnZXMgb2YgdGhlIGRlcHJlY2F0ZWQgQVBJIGluIHRoZSBjb2RlYmFzZScsIGV4cGVjdGVkQWdlbnQ6ICdyZXNlYXJjaGVyJywgY2F0ZWdvcnk6ICdyZXNlYXJjaCcsIGRpZmZpY3VsdHk6ICdlYXN5JyB9LFxuICB7IGlkOiAnUjAwNicsIHRhc2s6ICdBbmFseXplIHRoZSBwZXJmb3JtYW5jZSBjaGFyYWN0ZXJpc3RpY3Mgb2Ygb3VyIGRhdGFiYXNlIHF1ZXJpZXMnLCBleHBlY3RlZEFnZW50OiAncmVzZWFyY2hlcicsIGNhdGVnb3J5OiAncmVzZWFyY2gnLCBkaWZmaWN1bHR5OiAnaGFyZCcgfSxcbiAgeyBpZDogJ1IwMDcnLCB0YXNrOiAnUmVzZWFyY2ggR0RQUiBjb21wbGlhbmNlIHJlcXVpcmVtZW50cyBmb3IgdXNlciBkYXRhJywgZXhwZWN0ZWRBZ2VudDogJ3Jlc2VhcmNoZXInLCBjYXRlZ29yeTogJ3Jlc2VhcmNoJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcbiAgeyBpZDogJ1IwMDgnLCB0YXNrOiAnRmluZCBleGFtcGxlcyBvZiBzaW1pbGFyIGltcGxlbWVudGF0aW9ucyBpbiBvcGVuIHNvdXJjZScsIGV4cGVjdGVkQWdlbnQ6ICdyZXNlYXJjaGVyJywgY2F0ZWdvcnk6ICdyZXNlYXJjaCcsIGRpZmZpY3VsdHk6ICdlYXN5JyB9LFxuXG4gIC8vID09PSBSRVZJRVdFUiB0YXNrcyAoY29kZSByZXZpZXcsIHF1YWxpdHkpID09PVxuICB7IGlkOiAnVjAwMScsIHRhc2s6ICdSZXZpZXcgdGhpcyBwdWxsIHJlcXVlc3QgZm9yIGNvZGUgcXVhbGl0eScsIGV4cGVjdGVkQWdlbnQ6ICdyZXZpZXdlcicsIGNhdGVnb3J5OiAncmV2aWV3JywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcbiAgeyBpZDogJ1YwMDInLCB0YXNrOiAnQ2hlY2sgaWYgdGhpcyBjb2RlIGZvbGxvd3Mgb3VyIHN0eWxlIGd1aWRlbGluZXMnLCBleHBlY3RlZEFnZW50OiAncmV2aWV3ZXInLCBjYXRlZ29yeTogJ3JldmlldycsIGRpZmZpY3VsdHk6ICdlYXN5JyB9LFxuICB7IGlkOiAnVjAwMycsIHRhc2s6ICdSZXZpZXcgdGhlIEFQSSBkZXNpZ24gZm9yIGNvbnNpc3RlbmN5JywgZXhwZWN0ZWRBZ2VudDogJ3Jldmlld2VyJywgY2F0ZWdvcnk6ICdyZXZpZXcnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxuICB7IGlkOiAnVjAwNCcsIHRhc2s6ICdFdmFsdWF0ZSB0aGUgZXJyb3IgaGFuZGxpbmcgaW4gdGhpcyBtb2R1bGUnLCBleHBlY3RlZEFnZW50OiAncmV2aWV3ZXInLCBjYXRlZ29yeTogJ3JldmlldycsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXG4gIHsgaWQ6ICdWMDA1JywgdGFzazogJ1JldmlldyB0aGUgZGF0YWJhc2Ugc2NoZW1hIGNoYW5nZXMnLCBleHBlY3RlZEFnZW50OiAncmV2aWV3ZXInLCBjYXRlZ29yeTogJ3JldmlldycsIGRpZmZpY3VsdHk6ICdoYXJkJyB9LFxuICB7IGlkOiAnVjAwNicsIHRhc2s6ICdDaGVjayBmb3IgcG90ZW50aWFsIG1lbW9yeSBsZWFrcyBpbiB0aGlzIGNvZGUnLCBleHBlY3RlZEFnZW50OiAncmV2aWV3ZXInLCBjYXRlZ29yeTogJ3JldmlldycsIGRpZmZpY3VsdHk6ICdoYXJkJyB9LFxuICB7IGlkOiAnVjAwNycsIHRhc2s6ICdSZXZpZXcgdGhlIGFjY2Vzc2liaWxpdHkgb2YgdGhlIFVJIGNvbXBvbmVudHMnLCBleHBlY3RlZEFnZW50OiAncmV2aWV3ZXInLCBjYXRlZ29yeTogJ3JldmlldycsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXG5cbiAgLy8gPT09IFRFU1RFUiB0YXNrcyAod3JpdGUgdGVzdHMsIFFBKSA9PT1cbiAgeyBpZDogJ1QwMDEnLCB0YXNrOiAnV3JpdGUgdW5pdCB0ZXN0cyBmb3IgdGhlIHVzZXIgc2VydmljZScsIGV4cGVjdGVkQWdlbnQ6ICd0ZXN0ZXInLCBjYXRlZ29yeTogJ3Rlc3RpbmcnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxuICB7IGlkOiAnVDAwMicsIHRhc2s6ICdDcmVhdGUgaW50ZWdyYXRpb24gdGVzdHMgZm9yIHRoZSBjaGVja291dCBmbG93JywgZXhwZWN0ZWRBZ2VudDogJ3Rlc3RlcicsIGNhdGVnb3J5OiAndGVzdGluZycsIGRpZmZpY3VsdHk6ICdoYXJkJyB9LFxuICB7IGlkOiAnVDAwMycsIHRhc2s6ICdBZGQgdGVzdCBjb3ZlcmFnZSBmb3IgZWRnZSBjYXNlcyBpbiB0aGUgcGFyc2VyJywgZXhwZWN0ZWRBZ2VudDogJ3Rlc3RlcicsIGNhdGVnb3J5OiAndGVzdGluZycsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXG4gIHsgaWQ6ICdUMDA0JywgdGFzazogJ1dyaXRlIEUyRSB0ZXN0cyBmb3IgdGhlIGxvZ2luIHBhZ2UnLCBleHBlY3RlZEFnZW50OiAndGVzdGVyJywgY2F0ZWdvcnk6ICd0ZXN0aW5nJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcbiAgeyBpZDogJ1QwMDUnLCB0YXNrOiAnQ3JlYXRlIHBlcmZvcm1hbmNlIHRlc3RzIGZvciB0aGUgQVBJJywgZXhwZWN0ZWRBZ2VudDogJ3Rlc3RlcicsIGNhdGVnb3J5OiAndGVzdGluZycsIGRpZmZpY3VsdHk6ICdoYXJkJyB9LFxuICB7IGlkOiAnVDAwNicsIHRhc2s6ICdBZGQgc25hcHNob3QgdGVzdHMgZm9yIFJlYWN0IGNvbXBvbmVudHMnLCBleHBlY3RlZEFnZW50OiAndGVzdGVyJywgY2F0ZWdvcnk6ICd0ZXN0aW5nJywgZGlmZmljdWx0eTogJ2Vhc3knIH0sXG4gIHsgaWQ6ICdUMDA3JywgdGFzazogJ1dyaXRlIHRlc3RzIGZvciB0aGUgYXV0aGVudGljYXRpb24gbWlkZGxld2FyZScsIGV4cGVjdGVkQWdlbnQ6ICd0ZXN0ZXInLCBjYXRlZ29yeTogJ3Rlc3RpbmcnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxuICB7IGlkOiAnVDAwOCcsIHRhc2s6ICdDcmVhdGUgbW9jayBkYXRhIGZvciB0ZXN0aW5nJywgZXhwZWN0ZWRBZ2VudDogJ3Rlc3RlcicsIGNhdGVnb3J5OiAndGVzdGluZycsIGRpZmZpY3VsdHk6ICdlYXN5JyB9LFxuXG4gIC8vID09PSBBUkNISVRFQ1QgdGFza3MgKGRlc2lnbiwgc3lzdGVtKSA9PT1cbiAgeyBpZDogJ0EwMDEnLCB0YXNrOiAnRGVzaWduIHRoZSBtaWNyb3NlcnZpY2VzIGFyY2hpdGVjdHVyZSBmb3IgdGhlIHBsYXRmb3JtJywgZXhwZWN0ZWRBZ2VudDogJ2FyY2hpdGVjdCcsIGNhdGVnb3J5OiAnYXJjaGl0ZWN0dXJlJywgZGlmZmljdWx0eTogJ2hhcmQnIH0sXG4gIHsgaWQ6ICdBMDAyJywgdGFzazogJ0NyZWF0ZSBhIHN5c3RlbSBkZXNpZ24gZm9yIHRoZSBub3RpZmljYXRpb24gc2VydmljZScsIGV4cGVjdGVkQWdlbnQ6ICdhcmNoaXRlY3QnLCBjYXRlZ29yeTogJ2FyY2hpdGVjdHVyZScsIGRpZmZpY3VsdHk6ICdoYXJkJyB9LFxuICB7IGlkOiAnQTAwMycsIHRhc2s6ICdQbGFuIHRoZSBkYXRhYmFzZSBzY2hlbWEgZm9yIHRoZSBuZXcgZmVhdHVyZScsIGV4cGVjdGVkQWdlbnQ6ICdhcmNoaXRlY3QnLCBjYXRlZ29yeTogJ2FyY2hpdGVjdHVyZScsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXG4gIHsgaWQ6ICdBMDA0JywgdGFzazogJ0Rlc2lnbiB0aGUgQVBJIGNvbnRyYWN0IGZvciB0aGUgbW9iaWxlIGFwcCcsIGV4cGVjdGVkQWdlbnQ6ICdhcmNoaXRlY3QnLCBjYXRlZ29yeTogJ2FyY2hpdGVjdHVyZScsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXG4gIHsgaWQ6ICdBMDA1JywgdGFzazogJ0NyZWF0ZSBhbiBBRFIgZm9yIHRoZSBjYWNoaW5nIHN0cmF0ZWd5JywgZXhwZWN0ZWRBZ2VudDogJ2FyY2hpdGVjdCcsIGNhdGVnb3J5OiAnYXJjaGl0ZWN0dXJlJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcbiAgeyBpZDogJ0EwMDYnLCB0YXNrOiAnRGVzaWduIHRoZSBldmVudC1kcml2ZW4gYXJjaGl0ZWN0dXJlIGZvciBvcmRlciBwcm9jZXNzaW5nJywgZXhwZWN0ZWRBZ2VudDogJ2FyY2hpdGVjdCcsIGNhdGVnb3J5OiAnYXJjaGl0ZWN0dXJlJywgZGlmZmljdWx0eTogJ2hhcmQnIH0sXG4gIHsgaWQ6ICdBMDA3JywgdGFzazogJ1BsYW4gdGhlIG1pZ3JhdGlvbiBzdHJhdGVneSBmcm9tIG1vbm9saXRoIHRvIG1pY3Jvc2VydmljZXMnLCBleHBlY3RlZEFnZW50OiAnYXJjaGl0ZWN0JywgY2F0ZWdvcnk6ICdhcmNoaXRlY3R1cmUnLCBkaWZmaWN1bHR5OiAnaGFyZCcgfSxcblxuICAvLyA9PT0gU0VDVVJJVFkgdGFza3MgPT09XG4gIHsgaWQ6ICdTMDAxJywgdGFzazogJ0F1ZGl0IHRoZSBhdXRoZW50aWNhdGlvbiBpbXBsZW1lbnRhdGlvbiBmb3IgdnVsbmVyYWJpbGl0aWVzJywgZXhwZWN0ZWRBZ2VudDogJ3NlY3VyaXR5LWFyY2hpdGVjdCcsIGNhdGVnb3J5OiAnc2VjdXJpdHknLCBkaWZmaWN1bHR5OiAnaGFyZCcgfSxcbiAgeyBpZDogJ1MwMDInLCB0YXNrOiAnUmV2aWV3IHRoZSBjb2RlIGZvciBTUUwgaW5qZWN0aW9uIHZ1bG5lcmFiaWxpdGllcycsIGV4cGVjdGVkQWdlbnQ6ICdzZWN1cml0eS1hcmNoaXRlY3QnLCBjYXRlZ29yeTogJ3NlY3VyaXR5JywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcbiAgeyBpZDogJ1MwMDMnLCB0YXNrOiAnQ2hlY2sgZm9yIFhTUyB2dWxuZXJhYmlsaXRpZXMgaW4gdGhlIGZyb250ZW5kJywgZXhwZWN0ZWRBZ2VudDogJ3NlY3VyaXR5LWFyY2hpdGVjdCcsIGNhdGVnb3J5OiAnc2VjdXJpdHknLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxuICB7IGlkOiAnUzAwNCcsIHRhc2s6ICdJbXBsZW1lbnQgc2VjdXJlIHBhc3N3b3JkIGhhc2hpbmcnLCBleHBlY3RlZEFnZW50OiAnc2VjdXJpdHktYXJjaGl0ZWN0JywgY2F0ZWdvcnk6ICdzZWN1cml0eScsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXG4gIHsgaWQ6ICdTMDA1JywgdGFzazogJ1JldmlldyB0aGUgQVBJIGZvciBhdXRob3JpemF0aW9uIGJ5cGFzcyBpc3N1ZXMnLCBleHBlY3RlZEFnZW50OiAnc2VjdXJpdHktYXJjaGl0ZWN0JywgY2F0ZWdvcnk6ICdzZWN1cml0eScsIGRpZmZpY3VsdHk6ICdoYXJkJyB9LFxuICB7IGlkOiAnUzAwNicsIHRhc2s6ICdBdWRpdCB0aGlyZC1wYXJ0eSBkZXBlbmRlbmNpZXMgZm9yIGtub3duIENWRXMnLCBleHBlY3RlZEFnZW50OiAnc2VjdXJpdHktYXJjaGl0ZWN0JywgY2F0ZWdvcnk6ICdzZWN1cml0eScsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXG4gIHsgaWQ6ICdTMDA3JywgdGFzazogJ0Rlc2lnbiB0aGUgc2VjcmV0cyBtYW5hZ2VtZW50IHN0cmF0ZWd5JywgZXhwZWN0ZWRBZ2VudDogJ3NlY3VyaXR5LWFyY2hpdGVjdCcsIGNhdGVnb3J5OiAnc2VjdXJpdHknLCBkaWZmaWN1bHR5OiAnaGFyZCcgfSxcblxuICAvLyA9PT0gREVCVUdHRVIgdGFza3MgPT09XG4gIHsgaWQ6ICdEMDAxJywgdGFzazogJ0ZpeCB0aGUgbnVsbCBwb2ludGVyIGV4Y2VwdGlvbiBpbiB0aGUgdXNlciBjb250cm9sbGVyJywgZXhwZWN0ZWRBZ2VudDogJ2RlYnVnZ2VyJywgY2F0ZWdvcnk6ICdkZWJ1Z2dpbmcnLCBkaWZmaWN1bHR5OiAnZWFzeScgfSxcbiAgeyBpZDogJ0QwMDInLCB0YXNrOiAnRGVidWcgd2h5IHRoZSBBUEkgcmV0dXJucyA1MDAgaW50ZXJtaXR0ZW50bHknLCBleHBlY3RlZEFnZW50OiAnZGVidWdnZXInLCBjYXRlZ29yeTogJ2RlYnVnZ2luZycsIGRpZmZpY3VsdHk6ICdoYXJkJyB9LFxuICB7IGlkOiAnRDAwMycsIHRhc2s6ICdGaW5kIHRoZSBjYXVzZSBvZiB0aGUgbWVtb3J5IGxlYWsnLCBleHBlY3RlZEFnZW50OiAnZGVidWdnZXInLCBjYXRlZ29yeTogJ2RlYnVnZ2luZycsIGRpZmZpY3VsdHk6ICdoYXJkJyB9LFxuICB7IGlkOiAnRDAwNCcsIHRhc2s6ICdGaXggdGhlIHJhY2UgY29uZGl0aW9uIGluIHRoZSBjaGVja291dCBwcm9jZXNzJywgZXhwZWN0ZWRBZ2VudDogJ2RlYnVnZ2VyJywgY2F0ZWdvcnk6ICdkZWJ1Z2dpbmcnLCBkaWZmaWN1bHR5OiAnaGFyZCcgfSxcbiAgeyBpZDogJ0QwMDUnLCB0YXNrOiAnRGVidWcgdGhlIGZhaWxpbmcgdGVzdCBpbiBDSScsIGV4cGVjdGVkQWdlbnQ6ICdkZWJ1Z2dlcicsIGNhdGVnb3J5OiAnZGVidWdnaW5nJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcbiAgeyBpZDogJ0QwMDYnLCB0YXNrOiAnRml4IHRoZSB0aW1lem9uZSBpc3N1ZSBpbiBkYXRlIGhhbmRsaW5nJywgZXhwZWN0ZWRBZ2VudDogJ2RlYnVnZ2VyJywgY2F0ZWdvcnk6ICdkZWJ1Z2dpbmcnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxuICB7IGlkOiAnRDAwNycsIHRhc2s6ICdSZXNvbHZlIHRoZSBjaXJjdWxhciBkZXBlbmRlbmN5IGVycm9yJywgZXhwZWN0ZWRBZ2VudDogJ2RlYnVnZ2VyJywgY2F0ZWdvcnk6ICdkZWJ1Z2dpbmcnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxuICB7IGlkOiAnRDAwOCcsIHRhc2s6ICdGaXggdGhlIGJyb2tlbiBidWlsZCBhZnRlciB0aGUgbWVyZ2UnLCBleHBlY3RlZEFnZW50OiAnZGVidWdnZXInLCBjYXRlZ29yeTogJ2RlYnVnZ2luZycsIGRpZmZpY3VsdHk6ICdlYXN5JyB9LFxuXG4gIC8vID09PSBET0NVTUVOVEVSIHRhc2tzID09PVxuICB7IGlkOiAnTzAwMScsIHRhc2s6ICdXcml0ZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgQVBJIGVuZHBvaW50cycsIGV4cGVjdGVkQWdlbnQ6ICdkb2N1bWVudGVyJywgY2F0ZWdvcnk6ICdkb2N1bWVudGF0aW9uJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcbiAgeyBpZDogJ08wMDInLCB0YXNrOiAnQ3JlYXRlIGEgUkVBRE1FIGZvciB0aGUgbmV3IHBhY2thZ2UnLCBleHBlY3RlZEFnZW50OiAnZG9jdW1lbnRlcicsIGNhdGVnb3J5OiAnZG9jdW1lbnRhdGlvbicsIGRpZmZpY3VsdHk6ICdlYXN5JyB9LFxuICB7IGlkOiAnTzAwMycsIHRhc2s6ICdEb2N1bWVudCB0aGUgZGVwbG95bWVudCBwcm9jZXNzJywgZXhwZWN0ZWRBZ2VudDogJ2RvY3VtZW50ZXInLCBjYXRlZ29yeTogJ2RvY3VtZW50YXRpb24nLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxuICB7IGlkOiAnTzAwNCcsIHRhc2s6ICdXcml0ZSBKU0RvYyBjb21tZW50cyBmb3IgdGhlIHV0aWxpdHkgZnVuY3Rpb25zJywgZXhwZWN0ZWRBZ2VudDogJ2RvY3VtZW50ZXInLCBjYXRlZ29yeTogJ2RvY3VtZW50YXRpb24nLCBkaWZmaWN1bHR5OiAnZWFzeScgfSxcbiAgeyBpZDogJ08wMDUnLCB0YXNrOiAnQ3JlYXRlIGEgbWlncmF0aW9uIGd1aWRlIGZvciB2MiB0byB2MycsIGV4cGVjdGVkQWdlbnQ6ICdkb2N1bWVudGVyJywgY2F0ZWdvcnk6ICdkb2N1bWVudGF0aW9uJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcbiAgeyBpZDogJ08wMDYnLCB0YXNrOiAnRG9jdW1lbnQgdGhlIGFyY2hpdGVjdHVyZSBkZWNpc2lvbnMnLCBleHBlY3RlZEFnZW50OiAnZG9jdW1lbnRlcicsIGNhdGVnb3J5OiAnZG9jdW1lbnRhdGlvbicsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXG5cbiAgLy8gPT09IFJFRkFDVE9SRVIgdGFza3MgPT09XG4gIHsgaWQ6ICdGMDAxJywgdGFzazogJ1JlZmFjdG9yIHRoZSB1c2VyIHNlcnZpY2UgdG8gdXNlIGRlcGVuZGVuY3kgaW5qZWN0aW9uJywgZXhwZWN0ZWRBZ2VudDogJ3JlZmFjdG9yZXInLCBjYXRlZ29yeTogJ3JlZmFjdG9yaW5nJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcbiAgeyBpZDogJ0YwMDInLCB0YXNrOiAnRXh0cmFjdCBjb21tb24gbG9naWMgaW50byBhIHNoYXJlZCB1dGlsaXR5JywgZXhwZWN0ZWRBZ2VudDogJ3JlZmFjdG9yZXInLCBjYXRlZ29yeTogJ3JlZmFjdG9yaW5nJywgZGlmZmljdWx0eTogJ2Vhc3knIH0sXG4gIHsgaWQ6ICdGMDAzJywgdGFzazogJ1NwbGl0IHRoZSBsYXJnZSBjb21wb25lbnQgaW50byBzbWFsbGVyIG9uZXMnLCBleHBlY3RlZEFnZW50OiAncmVmYWN0b3JlcicsIGNhdGVnb3J5OiAncmVmYWN0b3JpbmcnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxuICB7IGlkOiAnRjAwNCcsIHRhc2s6ICdSZW5hbWUgdGhlIGFtYmlndW91cyB2YXJpYWJsZSBuYW1lcyBpbiB0aGlzIG1vZHVsZScsIGV4cGVjdGVkQWdlbnQ6ICdyZWZhY3RvcmVyJywgY2F0ZWdvcnk6ICdyZWZhY3RvcmluZycsIGRpZmZpY3VsdHk6ICdlYXN5JyB9LFxuICB7IGlkOiAnRjAwNScsIHRhc2s6ICdDb252ZXJ0IHRoZSBjYWxsYmFja3MgdG8gYXN5bmMvYXdhaXQnLCBleHBlY3RlZEFnZW50OiAncmVmYWN0b3JlcicsIGNhdGVnb3J5OiAncmVmYWN0b3JpbmcnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxuICB7IGlkOiAnRjAwNicsIHRhc2s6ICdSZW1vdmUgZGVhZCBjb2RlIGZyb20gdGhlIGxlZ2FjeSBtb2R1bGUnLCBleHBlY3RlZEFnZW50OiAncmVmYWN0b3JlcicsIGNhdGVnb3J5OiAncmVmYWN0b3JpbmcnLCBkaWZmaWN1bHR5OiAnZWFzeScgfSxcbiAgeyBpZDogJ0YwMDcnLCB0YXNrOiAnQ29uc29saWRhdGUgZHVwbGljYXRlIEFQSSBoYW5kbGVycycsIGV4cGVjdGVkQWdlbnQ6ICdyZWZhY3RvcmVyJywgY2F0ZWdvcnk6ICdyZWZhY3RvcmluZycsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXG5cbiAgLy8gPT09IE9QVElNSVpFUiB0YXNrcyA9PT1cbiAgeyBpZDogJ1AwMDEnLCB0YXNrOiAnT3B0aW1pemUgdGhlIHNsb3cgZGF0YWJhc2UgcXVlcnknLCBleHBlY3RlZEFnZW50OiAnb3B0aW1pemVyJywgY2F0ZWdvcnk6ICdwZXJmb3JtYW5jZScsIGRpZmZpY3VsdHk6ICdoYXJkJyB9LFxuICB7IGlkOiAnUDAwMicsIHRhc2s6ICdSZWR1Y2UgdGhlIGJ1bmRsZSBzaXplIG9mIHRoZSBmcm9udGVuZCcsIGV4cGVjdGVkQWdlbnQ6ICdvcHRpbWl6ZXInLCBjYXRlZ29yeTogJ3BlcmZvcm1hbmNlJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcbiAgeyBpZDogJ1AwMDMnLCB0YXNrOiAnSW1wcm92ZSB0aGUgQVBJIHJlc3BvbnNlIHRpbWUnLCBleHBlY3RlZEFnZW50OiAnb3B0aW1pemVyJywgY2F0ZWdvcnk6ICdwZXJmb3JtYW5jZScsIGRpZmZpY3VsdHk6ICdoYXJkJyB9LFxuICB7IGlkOiAnUDAwNCcsIHRhc2s6ICdBZGQgY2FjaGluZyB0byByZWR1Y2UgZGF0YWJhc2UgbG9hZCcsIGV4cGVjdGVkQWdlbnQ6ICdvcHRpbWl6ZXInLCBjYXRlZ29yeTogJ3BlcmZvcm1hbmNlJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcbiAgeyBpZDogJ1AwMDUnLCB0YXNrOiAnT3B0aW1pemUgdGhlIGltYWdlIGxvYWRpbmcgcGVyZm9ybWFuY2UnLCBleHBlY3RlZEFnZW50OiAnb3B0aW1pemVyJywgY2F0ZWdvcnk6ICdwZXJmb3JtYW5jZScsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXG4gIHsgaWQ6ICdQMDA2JywgdGFzazogJ1Byb2ZpbGUgYW5kIG9wdGltaXplIG1lbW9yeSB1c2FnZScsIGV4cGVjdGVkQWdlbnQ6ICdvcHRpbWl6ZXInLCBjYXRlZ29yeTogJ3BlcmZvcm1hbmNlJywgZGlmZmljdWx0eTogJ2hhcmQnIH0sXG4gIHsgaWQ6ICdQMDA3JywgdGFzazogJ0ltcGxlbWVudCBsYXp5IGxvYWRpbmcgZm9yIHRoZSBkYXNoYm9hcmQnLCBleHBlY3RlZEFnZW50OiAnb3B0aW1pemVyJywgY2F0ZWdvcnk6ICdwZXJmb3JtYW5jZScsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXG5cbiAgLy8gPT09IERFVk9QUyB0YXNrcyA9PT1cbiAgeyBpZDogJ0UwMDEnLCB0YXNrOiAnU2V0IHVwIHRoZSBDSS9DRCBwaXBlbGluZSBmb3IgdGhlIG5ldyBzZXJ2aWNlJywgZXhwZWN0ZWRBZ2VudDogJ2Rldm9wcycsIGNhdGVnb3J5OiAnZGV2b3BzJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcbiAgeyBpZDogJ0UwMDInLCB0YXNrOiAnQ29uZmlndXJlIEt1YmVybmV0ZXMgZGVwbG95bWVudCBmb3IgcHJvZHVjdGlvbicsIGV4cGVjdGVkQWdlbnQ6ICdkZXZvcHMnLCBjYXRlZ29yeTogJ2Rldm9wcycsIGRpZmZpY3VsdHk6ICdoYXJkJyB9LFxuICB7IGlkOiAnRTAwMycsIHRhc2s6ICdTZXQgdXAgbW9uaXRvcmluZyBhbmQgYWxlcnRpbmcnLCBleHBlY3RlZEFnZW50OiAnZGV2b3BzJywgY2F0ZWdvcnk6ICdkZXZvcHMnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxuICB7IGlkOiAnRTAwNCcsIHRhc2s6ICdDcmVhdGUgRG9ja2VyIGNvbnRhaW5lcnMgZm9yIHRoZSBtaWNyb3NlcnZpY2VzJywgZXhwZWN0ZWRBZ2VudDogJ2Rldm9wcycsIGNhdGVnb3J5OiAnZGV2b3BzJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcbiAgeyBpZDogJ0UwMDUnLCB0YXNrOiAnQ29uZmlndXJlIGF1dG8tc2NhbGluZyBmb3IgdGhlIEFQSSBzZXJ2ZXJzJywgZXhwZWN0ZWRBZ2VudDogJ2Rldm9wcycsIGNhdGVnb3J5OiAnZGV2b3BzJywgZGlmZmljdWx0eTogJ2hhcmQnIH0sXG4gIHsgaWQ6ICdFMDA2JywgdGFzazogJ1NldCB1cCB0aGUgc3RhZ2luZyBlbnZpcm9ubWVudCcsIGV4cGVjdGVkQWdlbnQ6ICdkZXZvcHMnLCBjYXRlZ29yeTogJ2Rldm9wcycsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXG4gIHsgaWQ6ICdFMDA3JywgdGFzazogJ0ltcGxlbWVudCBibHVlLWdyZWVuIGRlcGxveW1lbnQgc3RyYXRlZ3knLCBleHBlY3RlZEFnZW50OiAnZGV2b3BzJywgY2F0ZWdvcnk6ICdkZXZvcHMnLCBkaWZmaWN1bHR5OiAnaGFyZCcgfSxcblxuICAvLyA9PT0gQVBJLURPQ1MgdGFza3MgPT09XG4gIHsgaWQ6ICdJMDAxJywgdGFzazogJ0dlbmVyYXRlIE9wZW5BUEkgc3BlYyBmb3IgdGhlIFJFU1QgQVBJJywgZXhwZWN0ZWRBZ2VudDogJ2FwaS1kb2NzJywgY2F0ZWdvcnk6ICdhcGktZG9jdW1lbnRhdGlvbicsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXG4gIHsgaWQ6ICdJMDAyJywgdGFzazogJ0NyZWF0ZSBTd2FnZ2VyIGRvY3VtZW50YXRpb24gZm9yIHRoZSBlbmRwb2ludHMnLCBleHBlY3RlZEFnZW50OiAnYXBpLWRvY3MnLCBjYXRlZ29yeTogJ2FwaS1kb2N1bWVudGF0aW9uJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcbiAgeyBpZDogJ0kwMDMnLCB0YXNrOiAnRG9jdW1lbnQgdGhlIEdyYXBoUUwgc2NoZW1hJywgZXhwZWN0ZWRBZ2VudDogJ2FwaS1kb2NzJywgY2F0ZWdvcnk6ICdhcGktZG9jdW1lbnRhdGlvbicsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXG4gIHsgaWQ6ICdJMDA0JywgdGFzazogJ0FkZCBleGFtcGxlIHJlcXVlc3RzIGFuZCByZXNwb25zZXMgdG8gQVBJIGRvY3MnLCBleHBlY3RlZEFnZW50OiAnYXBpLWRvY3MnLCBjYXRlZ29yeTogJ2FwaS1kb2N1bWVudGF0aW9uJywgZGlmZmljdWx0eTogJ2Vhc3knIH0sXG5cbiAgLy8gPT09IFBMQU5ORVIgdGFza3MgPT09XG4gIHsgaWQ6ICdMMDAxJywgdGFzazogJ0JyZWFrIGRvd24gdGhlIGZlYXR1cmUgaW50byBpbXBsZW1lbnRhdGlvbiB0YXNrcycsIGV4cGVjdGVkQWdlbnQ6ICdwbGFubmVyJywgY2F0ZWdvcnk6ICdwbGFubmluZycsIGRpZmZpY3VsdHk6ICdtZWRpdW0nIH0sXG4gIHsgaWQ6ICdMMDAyJywgdGFzazogJ0NyZWF0ZSBhIHNwcmludCBwbGFuIGZvciB0aGUgbmV4dCBtaWxlc3RvbmUnLCBleHBlY3RlZEFnZW50OiAncGxhbm5lcicsIGNhdGVnb3J5OiAncGxhbm5pbmcnLCBkaWZmaWN1bHR5OiAnbWVkaXVtJyB9LFxuICB7IGlkOiAnTDAwMycsIHRhc2s6ICdFc3RpbWF0ZSBlZmZvcnQgZm9yIHRoZSByZWZhY3RvcmluZyBwcm9qZWN0JywgZXhwZWN0ZWRBZ2VudDogJ3BsYW5uZXInLCBjYXRlZ29yeTogJ3BsYW5uaW5nJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcbiAgeyBpZDogJ0wwMDQnLCB0YXNrOiAnUHJpb3JpdGl6ZSB0aGUgYnVnIGZpeGVzIGZvciB0aGUgcmVsZWFzZScsIGV4cGVjdGVkQWdlbnQ6ICdwbGFubmVyJywgY2F0ZWdvcnk6ICdwbGFubmluZycsIGRpZmZpY3VsdHk6ICdlYXN5JyB9LFxuICB7IGlkOiAnTDAwNScsIHRhc2s6ICdQbGFuIHRoZSB0ZWNobmljYWwgZGVidCByZWR1Y3Rpb24gcm9hZG1hcCcsIGV4cGVjdGVkQWdlbnQ6ICdwbGFubmVyJywgY2F0ZWdvcnk6ICdwbGFubmluZycsIGRpZmZpY3VsdHk6ICdoYXJkJyB9LFxuXG4gIC8vID09PSBBTUJJR1VPVVMgLyBFREdFIENBU0VTID09PVxuICB7IGlkOiAnWDAwMScsIHRhc2s6ICdUaGUgbG9naW4gaXMgYnJva2VuLCB1c2VycyBjYW5ub3Qgc2lnbiBpbicsIGV4cGVjdGVkQWdlbnQ6ICdkZWJ1Z2dlcicsIGNhdGVnb3J5OiAnYW1iaWd1b3VzJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcbiAgeyBpZDogJ1gwMDInLCB0YXNrOiAnV2UgbmVlZCBiZXR0ZXIgZXJyb3IgbWVzc2FnZXMnLCBleHBlY3RlZEFnZW50OiAnY29kZXInLCBjYXRlZ29yeTogJ2FtYmlndW91cycsIGRpZmZpY3VsdHk6ICdlYXN5JyB9LFxuICB7IGlkOiAnWDAwMycsIHRhc2s6ICdNYWtlIHRoZSBhcHAgZmFzdGVyJywgZXhwZWN0ZWRBZ2VudDogJ29wdGltaXplcicsIGNhdGVnb3J5OiAnYW1iaWd1b3VzJywgZGlmZmljdWx0eTogJ2hhcmQnIH0sXG4gIHsgaWQ6ICdYMDA0JywgdGFzazogJ1RoZSBjb2RlIGlzIGEgbWVzcywgY2xlYW4gaXQgdXAnLCBleHBlY3RlZEFnZW50OiAncmVmYWN0b3JlcicsIGNhdGVnb3J5OiAnYW1iaWd1b3VzJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcbiAgeyBpZDogJ1gwMDUnLCB0YXNrOiAnSXMgdGhpcyBpbXBsZW1lbnRhdGlvbiBzZWN1cmU/JywgZXhwZWN0ZWRBZ2VudDogJ3NlY3VyaXR5LWFyY2hpdGVjdCcsIGNhdGVnb3J5OiAnYW1iaWd1b3VzJywgZGlmZmljdWx0eTogJ21lZGl1bScgfSxcbl07XG5cbi8qKlxuICogU2ltcGxlIGtleXdvcmQtYmFzZWQgcm91dGluZyBmb3IgYmFzZWxpbmUgY29tcGFyaXNvblxuICovXG5leHBvcnQgZnVuY3Rpb24gYmFzZWxpbmVLZXl3b3JkUm91dGVyKHRhc2s6IHN0cmluZyk6IHsgYWdlbnQ6IEFnZW50VHlwZTsgY29uZmlkZW5jZTogbnVtYmVyIH0ge1xuICBjb25zdCB0YXNrTG93ZXIgPSB0YXNrLnRvTG93ZXJDYXNlKCk7XG5cbiAgY29uc3QgcGF0dGVybnM6IHsga2V5d29yZHM6IHN0cmluZ1tdOyBhZ2VudDogQWdlbnRUeXBlOyB3ZWlnaHQ6IG51bWJlciB9W10gPSBbXG4gICAgeyBrZXl3b3JkczogWydpbXBsZW1lbnQnLCAnY3JlYXRlJywgJ3dyaXRlJywgJ2FkZCcsICdidWlsZCddLCBhZ2VudDogJ2NvZGVyJywgd2VpZ2h0OiAxIH0sXG4gICAgeyBrZXl3b3JkczogWydyZXNlYXJjaCcsICdmaW5kJywgJ2ludmVzdGlnYXRlJywgJ2FuYWx5emUnLCAnZXhwbG9yZSddLCBhZ2VudDogJ3Jlc2VhcmNoZXInLCB3ZWlnaHQ6IDEgfSxcbiAgICB7IGtleXdvcmRzOiBbJ3JldmlldycsICdjaGVjaycsICdldmFsdWF0ZScsICdhc3Nlc3MnXSwgYWdlbnQ6ICdyZXZpZXdlcicsIHdlaWdodDogMSB9LFxuICAgIHsga2V5d29yZHM6IFsndGVzdCcsICd1bml0IHRlc3QnLCAnaW50ZWdyYXRpb24gdGVzdCcsICdlMmUnLCAnY292ZXJhZ2UnXSwgYWdlbnQ6ICd0ZXN0ZXInLCB3ZWlnaHQ6IDEuMiB9LFxuICAgIHsga2V5d29yZHM6IFsnZGVzaWduJywgJ2FyY2hpdGVjdCcsICdzY2hlbWEnLCAnYWRyJywgJ3N5c3RlbSBkZXNpZ24nXSwgYWdlbnQ6ICdhcmNoaXRlY3QnLCB3ZWlnaHQ6IDEuMiB9LFxuICAgIHsga2V5d29yZHM6IFsnc2VjdXJpdHknLCAndnVsbmVyYWJpbGl0eScsICd4c3MnLCAnc3FsIGluamVjdGlvbicsICdhdWRpdCcsICdjdmUnXSwgYWdlbnQ6ICdzZWN1cml0eS1hcmNoaXRlY3QnLCB3ZWlnaHQ6IDEuNSB9LFxuICAgIHsga2V5d29yZHM6IFsnZGVidWcnLCAnZml4JywgJ2J1ZycsICdlcnJvcicsICdicm9rZW4nLCAnaXNzdWUnXSwgYWdlbnQ6ICdkZWJ1Z2dlcicsIHdlaWdodDogMS4yIH0sXG4gICAgeyBrZXl3b3JkczogWydkb2N1bWVudCcsICdyZWFkbWUnLCAnanNkb2MnLCAnY29tbWVudCddLCBhZ2VudDogJ2RvY3VtZW50ZXInLCB3ZWlnaHQ6IDEgfSxcbiAgICB7IGtleXdvcmRzOiBbJ3JlZmFjdG9yJywgJ2V4dHJhY3QnLCAncmVuYW1lJywgJ2NvbnNvbGlkYXRlJywgJ3NwbGl0J10sIGFnZW50OiAncmVmYWN0b3JlcicsIHdlaWdodDogMS4yIH0sXG4gICAgeyBrZXl3b3JkczogWydvcHRpbWl6ZScsICdwZXJmb3JtYW5jZScsICdzbG93JywgJ2NhY2hlJywgJ2Zhc3RlciddLCBhZ2VudDogJ29wdGltaXplcicsIHdlaWdodDogMS4yIH0sXG4gICAgeyBrZXl3b3JkczogWydkZXBsb3knLCAnY2kvY2QnLCAna3ViZXJuZXRlcycsICdkb2NrZXInLCAncGlwZWxpbmUnXSwgYWdlbnQ6ICdkZXZvcHMnLCB3ZWlnaHQ6IDEuMiB9LFxuICAgIHsga2V5d29yZHM6IFsnb3BlbmFwaScsICdzd2FnZ2VyJywgJ2FwaSBkb2MnLCAnZ3JhcGhxbCBzY2hlbWEnXSwgYWdlbnQ6ICdhcGktZG9jcycsIHdlaWdodDogMS4zIH0sXG4gICAgeyBrZXl3b3JkczogWydwbGFuJywgJ2VzdGltYXRlJywgJ3ByaW9yaXRpemUnLCAnc3ByaW50JywgJ3JvYWRtYXAnXSwgYWdlbnQ6ICdwbGFubmVyJywgd2VpZ2h0OiAxIH0sXG4gIF07XG5cbiAgbGV0IGJlc3RNYXRjaDogeyBhZ2VudDogQWdlbnRUeXBlOyBzY29yZTogbnVtYmVyIH0gPSB7IGFnZW50OiAnY29kZXInLCBzY29yZTogMCB9O1xuXG4gIGZvciAoY29uc3QgcGF0dGVybiBvZiBwYXR0ZXJucykge1xuICAgIGxldCBzY29yZSA9IDA7XG4gICAgZm9yIChjb25zdCBrZXl3b3JkIG9mIHBhdHRlcm4ua2V5d29yZHMpIHtcbiAgICAgIGlmICh0YXNrTG93ZXIuaW5jbHVkZXMoa2V5d29yZCkpIHtcbiAgICAgICAgc2NvcmUgKz0gcGF0dGVybi53ZWlnaHQ7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChzY29yZSA+IGJlc3RNYXRjaC5zY29yZSkge1xuICAgICAgYmVzdE1hdGNoID0geyBhZ2VudDogcGF0dGVybi5hZ2VudCwgc2NvcmUgfTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGFnZW50OiBiZXN0TWF0Y2guYWdlbnQsXG4gICAgY29uZmlkZW5jZTogTWF0aC5taW4oYmVzdE1hdGNoLnNjb3JlIC8gMywgMSksIC8vIE5vcm1hbGl6ZSB0byAwLTFcbiAgfTtcbn1cblxuLyoqXG4gKiBSdW4gdGhlIHJvdXRpbmcgYmVuY2htYXJrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBydW5Sb3V0aW5nQmVuY2htYXJrKFxuICByb3V0ZXI6ICh0YXNrOiBzdHJpbmcpID0+IHsgYWdlbnQ6IHN0cmluZzsgY29uZmlkZW5jZTogbnVtYmVyIH1cbik6IFJvdXRpbmdCZW5jaG1hcmtSZXN1bHRzIHtcbiAgY29uc3QgcmVzdWx0czogUm91dGluZ1Jlc3VsdFtdID0gW107XG4gIGNvbnN0IGxhdGVuY2llczogbnVtYmVyW10gPSBbXTtcblxuICBmb3IgKGNvbnN0IHRlc3RDYXNlIG9mIFJPVVRJTkdfVEVTVF9DQVNFUykge1xuICAgIGNvbnN0IHN0YXJ0ID0gcGVyZm9ybWFuY2Uubm93KCk7XG4gICAgY29uc3QgcHJlZGljdGlvbiA9IHJvdXRlcih0ZXN0Q2FzZS50YXNrKTtcbiAgICBjb25zdCBsYXRlbmN5TXMgPSBwZXJmb3JtYW5jZS5ub3coKSAtIHN0YXJ0O1xuXG4gICAgbGF0ZW5jaWVzLnB1c2gobGF0ZW5jeU1zKTtcblxuICAgIHJlc3VsdHMucHVzaCh7XG4gICAgICB0ZXN0SWQ6IHRlc3RDYXNlLmlkLFxuICAgICAgdGFzazogdGVzdENhc2UudGFzayxcbiAgICAgIGV4cGVjdGVkQWdlbnQ6IHRlc3RDYXNlLmV4cGVjdGVkQWdlbnQsXG4gICAgICBwcmVkaWN0ZWRBZ2VudDogcHJlZGljdGlvbi5hZ2VudCxcbiAgICAgIGNvbmZpZGVuY2U6IHByZWRpY3Rpb24uY29uZmlkZW5jZSxcbiAgICAgIGNvcnJlY3Q6IHByZWRpY3Rpb24uYWdlbnQgPT09IHRlc3RDYXNlLmV4cGVjdGVkQWdlbnQsXG4gICAgICBsYXRlbmN5TXMsXG4gICAgfSk7XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgbWV0cmljc1xuICBjb25zdCBjb3JyZWN0ID0gcmVzdWx0cy5maWx0ZXIociA9PiByLmNvcnJlY3QpLmxlbmd0aDtcbiAgY29uc3QgYWNjdXJhY3kgPSBjb3JyZWN0IC8gcmVzdWx0cy5sZW5ndGg7XG5cbiAgLy8gQWNjdXJhY3kgYnkgY2F0ZWdvcnlcbiAgY29uc3QgY2F0ZWdvcmllcyA9IFsuLi5uZXcgU2V0KFJPVVRJTkdfVEVTVF9DQVNFUy5tYXAodCA9PiB0LmNhdGVnb3J5KSldO1xuICBjb25zdCBhY2N1cmFjeUJ5Q2F0ZWdvcnk6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4gPSB7fTtcbiAgZm9yIChjb25zdCBjYXQgb2YgY2F0ZWdvcmllcykge1xuICAgIGNvbnN0IGNhdFJlc3VsdHMgPSByZXN1bHRzLmZpbHRlcigociwgaSkgPT4gUk9VVElOR19URVNUX0NBU0VTW2ldLmNhdGVnb3J5ID09PSBjYXQpO1xuICAgIGFjY3VyYWN5QnlDYXRlZ29yeVtjYXRdID0gY2F0UmVzdWx0cy5maWx0ZXIociA9PiByLmNvcnJlY3QpLmxlbmd0aCAvIGNhdFJlc3VsdHMubGVuZ3RoO1xuICB9XG5cbiAgLy8gQWNjdXJhY3kgYnkgZGlmZmljdWx0eVxuICBjb25zdCBkaWZmaWN1bHRpZXMgPSBbJ2Vhc3knLCAnbWVkaXVtJywgJ2hhcmQnXTtcbiAgY29uc3QgYWNjdXJhY3lCeURpZmZpY3VsdHk6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4gPSB7fTtcbiAgZm9yIChjb25zdCBkaWZmIG9mIGRpZmZpY3VsdGllcykge1xuICAgIGNvbnN0IGRpZmZSZXN1bHRzID0gcmVzdWx0cy5maWx0ZXIoKHIsIGkpID0+IFJPVVRJTkdfVEVTVF9DQVNFU1tpXS5kaWZmaWN1bHR5ID09PSBkaWZmKTtcbiAgICBhY2N1cmFjeUJ5RGlmZmljdWx0eVtkaWZmXSA9IGRpZmZSZXN1bHRzLmZpbHRlcihyID0+IHIuY29ycmVjdCkubGVuZ3RoIC8gZGlmZlJlc3VsdHMubGVuZ3RoO1xuICB9XG5cbiAgLy8gTGF0ZW5jeSBwZXJjZW50aWxlc1xuICBjb25zdCBzb3J0ZWRMYXRlbmNpZXMgPSBbLi4ubGF0ZW5jaWVzXS5zb3J0KChhLCBiKSA9PiBhIC0gYik7XG4gIGNvbnN0IHA1MCA9IHNvcnRlZExhdGVuY2llc1tNYXRoLmZsb29yKHNvcnRlZExhdGVuY2llcy5sZW5ndGggKiAwLjUpXTtcbiAgY29uc3QgcDk1ID0gc29ydGVkTGF0ZW5jaWVzW01hdGguZmxvb3Ioc29ydGVkTGF0ZW5jaWVzLmxlbmd0aCAqIDAuOTUpXTtcbiAgY29uc3QgYXZnTGF0ZW5jeSA9IGxhdGVuY2llcy5yZWR1Y2UoKGEsIGIpID0+IGEgKyBiLCAwKSAvIGxhdGVuY2llcy5sZW5ndGg7XG5cbiAgcmV0dXJuIHtcbiAgICBhY2N1cmFjeSxcbiAgICBhY2N1cmFjeUJ5Q2F0ZWdvcnksXG4gICAgYWNjdXJhY3lCeURpZmZpY3VsdHksXG4gICAgYXZnTGF0ZW5jeU1zOiBhdmdMYXRlbmN5LFxuICAgIHA1MExhdGVuY3lNczogcDUwLFxuICAgIHA5NUxhdGVuY3lNczogcDk1LFxuICAgIHRvdGFsVGVzdHM6IHJlc3VsdHMubGVuZ3RoLFxuICAgIGNvcnJlY3QsXG4gICAgcmVzdWx0cyxcbiAgfTtcbn1cblxuLyoqXG4gKiBGb3JtYXQgYmVuY2htYXJrIHJlc3VsdHMgZm9yIGRpc3BsYXlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdFJvdXRpbmdSZXN1bHRzKHJlc3VsdHM6IFJvdXRpbmdCZW5jaG1hcmtSZXN1bHRzKTogc3RyaW5nIHtcbiAgY29uc3QgbGluZXM6IHN0cmluZ1tdID0gW107XG5cbiAgbGluZXMucHVzaCgnJyk7XG4gIGxpbmVzLnB1c2goJ+KVlOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVlycpO1xuICBsaW5lcy5wdXNoKCfilZEgICAgICAgICAgICAgIFJPVVRJTkcgQkVOQ0hNQVJLIFJFU1VMVFMgICAgICAgICAgICAgICAgICAgICAgIOKVkScpO1xuICBsaW5lcy5wdXNoKCfilaDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilaMnKTtcbiAgbGluZXMucHVzaChg4pWRICBPdmVyYWxsIEFjY3VyYWN5OiAkeyhyZXN1bHRzLmFjY3VyYWN5ICogMTAwKS50b0ZpeGVkKDEpfSUgKCR7cmVzdWx0cy5jb3JyZWN0fS8ke3Jlc3VsdHMudG90YWxUZXN0c30pYC5wYWRFbmQoNjMpICsgJ+KVkScpO1xuICBsaW5lcy5wdXNoKCfilaDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilaMnKTtcbiAgbGluZXMucHVzaCgn4pWRICBCeSBDYXRlZ29yeTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilZEnKTtcblxuICBmb3IgKGNvbnN0IFtjYXQsIGFjY10gb2YgT2JqZWN0LmVudHJpZXMocmVzdWx0cy5hY2N1cmFjeUJ5Q2F0ZWdvcnkpLnNvcnQoKGEsIGIpID0+IGJbMV0gLSBhWzFdKSkge1xuICAgIGNvbnN0IGJhciA9ICfilognLnJlcGVhdChNYXRoLmZsb29yKGFjYyAqIDIwKSkgKyAn4paRJy5yZXBlYXQoMjAgLSBNYXRoLmZsb29yKGFjYyAqIDIwKSk7XG4gICAgbGluZXMucHVzaChg4pWRICAgICR7Y2F0LnBhZEVuZCgxOCl9IFske2Jhcn1dICR7KGFjYyAqIDEwMCkudG9GaXhlZCgwKS5wYWRTdGFydCgzKX0lICDilZFgKTtcbiAgfVxuXG4gIGxpbmVzLnB1c2goJ+KVoOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVoycpO1xuICBsaW5lcy5wdXNoKCfilZEgIEJ5IERpZmZpY3VsdHk6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKVkScpO1xuXG4gIGZvciAoY29uc3QgW2RpZmYsIGFjY10gb2YgT2JqZWN0LmVudHJpZXMocmVzdWx0cy5hY2N1cmFjeUJ5RGlmZmljdWx0eSkpIHtcbiAgICBjb25zdCBiYXIgPSAn4paIJy5yZXBlYXQoTWF0aC5mbG9vcihhY2MgKiAyMCkpICsgJ+KWkScucmVwZWF0KDIwIC0gTWF0aC5mbG9vcihhY2MgKiAyMCkpO1xuICAgIGxpbmVzLnB1c2goYOKVkSAgICAke2RpZmYucGFkRW5kKDE4KX0gWyR7YmFyfV0gJHsoYWNjICogMTAwKS50b0ZpeGVkKDApLnBhZFN0YXJ0KDMpfSUgIOKVkWApO1xuICB9XG5cbiAgbGluZXMucHVzaCgn4pWg4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWjJyk7XG4gIGxpbmVzLnB1c2goJ+KVkSAgTGF0ZW5jeTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pWRJyk7XG4gIGxpbmVzLnB1c2goYOKVkSAgICBBdmVyYWdlOiAke3Jlc3VsdHMuYXZnTGF0ZW5jeU1zLnRvRml4ZWQoMil9bXNgLnBhZEVuZCg2MykgKyAn4pWRJyk7XG4gIGxpbmVzLnB1c2goYOKVkSAgICBQNTA6ICAgICAke3Jlc3VsdHMucDUwTGF0ZW5jeU1zLnRvRml4ZWQoMil9bXNgLnBhZEVuZCg2MykgKyAn4pWRJyk7XG4gIGxpbmVzLnB1c2goYOKVkSAgICBQOTU6ICAgICAke3Jlc3VsdHMucDk1TGF0ZW5jeU1zLnRvRml4ZWQoMil9bXNgLnBhZEVuZCg2MykgKyAn4pWRJyk7XG4gIGxpbmVzLnB1c2goJ+KVmuKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVnScpO1xuXG4gIC8vIFNob3cgZmFpbHVyZXNcbiAgY29uc3QgZmFpbHVyZXMgPSByZXN1bHRzLnJlc3VsdHMuZmlsdGVyKHIgPT4gIXIuY29ycmVjdCk7XG4gIGlmIChmYWlsdXJlcy5sZW5ndGggPiAwICYmIGZhaWx1cmVzLmxlbmd0aCA8PSAyMCkge1xuICAgIGxpbmVzLnB1c2goJycpO1xuICAgIGxpbmVzLnB1c2goJ01pc3JvdXRlZCB0YXNrczonKTtcbiAgICBmb3IgKGNvbnN0IGYgb2YgZmFpbHVyZXMuc2xpY2UoMCwgMTApKSB7XG4gICAgICBsaW5lcy5wdXNoKGAgIFske2YudGVzdElkfV0gXCIke2YudGFzay5zbGljZSgwLCA1MCl9Li4uXCJgKTtcbiAgICAgIGxpbmVzLnB1c2goYCAgICAgICAgIEV4cGVjdGVkOiAke2YuZXhwZWN0ZWRBZ2VudH0sIEdvdDogJHtmLnByZWRpY3RlZEFnZW50fWApO1xuICAgIH1cbiAgICBpZiAoZmFpbHVyZXMubGVuZ3RoID4gMTApIHtcbiAgICAgIGxpbmVzLnB1c2goYCAgLi4uIGFuZCAke2ZhaWx1cmVzLmxlbmd0aCAtIDEwfSBtb3JlYCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGxpbmVzLmpvaW4oJ1xcbicpO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIFJPVVRJTkdfVEVTVF9DQVNFUyxcbiAgQUdFTlRfVFlQRVMsXG4gIGJhc2VsaW5lS2V5d29yZFJvdXRlcixcbiAgcnVuUm91dGluZ0JlbmNobWFyayxcbiAgZm9ybWF0Um91dGluZ1Jlc3VsdHMsXG59O1xuIl19