@jax-data-science/sci-image-visualizer 0.15.0 → 0.17.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 (47) hide show
  1. package/esm2022/lib/contracts/display-types.mjs +2 -1
  2. package/esm2022/lib/implementations/napari-js/napari-loading-state.mjs +1 -1
  3. package/esm2022/lib/implementations/napari-js/napari-scene.mjs +1 -1
  4. package/esm2022/lib/implementations/napari-js/napari-spatial-2d-scene.mjs +10 -8
  5. package/esm2022/lib/implementations/napari-js/napari-spatial-3d-scene.mjs +226 -39
  6. package/esm2022/lib/implementations/napari-js/napari-spatial-3d-transcripts.mjs +269 -0
  7. package/esm2022/lib/implementations/napari-js/napari-spatial-encoding.mjs +11 -4
  8. package/esm2022/lib/implementations/napari-js/napari-spatial-tiles.mjs +6 -7
  9. package/esm2022/lib/implementations/napari-js/napari-visualizer.service.mjs +2 -1
  10. package/esm2022/lib/implementations/napari-js/napari-volume-region-meshes.mjs +33 -8
  11. package/esm2022/lib/implementations/napari-js/napari-volume-scene.mjs +6 -2
  12. package/esm2022/lib/implementations/napari-js/spatial-tiles/cell-layers.mjs +10 -6
  13. package/esm2022/lib/implementations/napari-js/spatial-tiles/transcript-layers.mjs +9 -5
  14. package/esm2022/lib/spatial/spatial-controls.facade.mjs +7 -4
  15. package/esm2022/lib/spatial/spatial-encoding.mjs +18 -1
  16. package/esm2022/lib/spatial-controls/spatial-charts/spatial-charts.component.mjs +6 -2
  17. package/esm2022/lib/spatial-controls/spatial-controls.component.mjs +7 -3
  18. package/esm2022/lib/spatial-controls/spatial-gene-style/spatial-gene-style.component.mjs +7 -3
  19. package/esm2022/lib/spatial-controls/spatial-gene-tree/spatial-gene-tree.component.mjs +67 -19
  20. package/esm2022/lib/spatial-controls/spatial-groups-panel/spatial-groups-panel.component.mjs +61 -8
  21. package/esm2022/lib/spatial-controls/spatial-observations-panel/spatial-observations-panel.component.mjs +3 -3
  22. package/esm2022/lib/toolbar/toolbar.component.mjs +13 -4
  23. package/esm2022/lib/toolbar/view-controls/view-controls.component.mjs +7 -7
  24. package/fesm2022/{jax-data-science-sci-image-visualizer-jax-data-science-sci-image-visualizer-qUeMuBb0.mjs → jax-data-science-sci-image-visualizer-jax-data-science-sci-image-visualizer-DHrHO2ay.mjs} +795 -165
  25. package/fesm2022/jax-data-science-sci-image-visualizer-jax-data-science-sci-image-visualizer-DHrHO2ay.mjs.map +1 -0
  26. package/fesm2022/{jax-data-science-sci-image-visualizer-onnx-sam-session-U1ODcfYD.mjs → jax-data-science-sci-image-visualizer-onnx-sam-session-CKEUwNta.mjs} +2 -2
  27. package/fesm2022/{jax-data-science-sci-image-visualizer-onnx-sam-session-U1ODcfYD.mjs.map → jax-data-science-sci-image-visualizer-onnx-sam-session-CKEUwNta.mjs.map} +1 -1
  28. package/fesm2022/jax-data-science-sci-image-visualizer.mjs +1 -1
  29. package/lib/contracts/display-types.d.ts +9 -2
  30. package/lib/implementations/napari-js/napari-loading-state.d.ts +1 -1
  31. package/lib/implementations/napari-js/napari-scene.d.ts +2 -0
  32. package/lib/implementations/napari-js/napari-spatial-2d-scene.d.ts +3 -3
  33. package/lib/implementations/napari-js/napari-spatial-3d-scene.d.ts +82 -9
  34. package/lib/implementations/napari-js/napari-spatial-3d-transcripts.d.ts +62 -0
  35. package/lib/implementations/napari-js/napari-spatial-encoding.d.ts +9 -2
  36. package/lib/implementations/napari-js/napari-spatial-tiles.d.ts +5 -6
  37. package/lib/implementations/napari-js/napari-volume-region-meshes.d.ts +16 -3
  38. package/lib/implementations/napari-js/spatial-tiles/cell-layers.d.ts +1 -1
  39. package/lib/spatial/spatial-encoding.d.ts +10 -0
  40. package/lib/spatial-controls/spatial-controls.component.d.ts +2 -0
  41. package/lib/spatial-controls/spatial-gene-style/spatial-gene-style.component.d.ts +3 -1
  42. package/lib/spatial-controls/spatial-gene-tree/spatial-gene-tree.component.d.ts +25 -0
  43. package/lib/spatial-controls/spatial-groups-panel/spatial-groups-panel.component.d.ts +14 -3
  44. package/lib/toolbar/toolbar.component.d.ts +6 -0
  45. package/lib/toolbar/view-controls/view-controls.component.d.ts +3 -3
  46. package/package.json +2 -2
  47. package/fesm2022/jax-data-science-sci-image-visualizer-jax-data-science-sci-image-visualizer-qUeMuBb0.mjs.map +0 -1
@@ -40,6 +40,7 @@ export const DEFAULT_SPATIAL_VIEW = {
40
40
  transcriptGenes: [],
41
41
  transcriptHiddenGenes: [],
42
42
  transcriptGeneColors: {},
43
+ groupColors: {},
43
44
  transcriptGeneGroups: [],
44
45
  transcriptAllGenes: false,
45
46
  transcriptAllGenesHidden: [],
@@ -66,4 +67,4 @@ export const DEFAULT_SPATIAL_VIEW = {
66
67
  showImage: true,
67
68
  showAnnotations: true,
68
69
  };
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGxheS10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29udHJhY3RzL2Rpc3BsYXktdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUE4REgsa0NBQWtDO0FBQ2xDLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBNEIsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFFbEgsNENBQTRDO0FBQzVDLE1BQU0sVUFBVSxjQUFjLENBQUMsRUFBNkI7SUFDMUQsT0FBUSxlQUFxQyxDQUFDLFFBQVEsQ0FBQyxFQUFZLENBQUMsQ0FBQztBQUN2RSxDQUFDO0FBa1FEOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFxQjtJQUNwRCxPQUFPLEVBQUUsSUFBSTtJQUNiLFVBQVUsRUFBRSxDQUFDO0lBQ2IsT0FBTyxFQUFFLENBQUM7SUFDVixRQUFRLEVBQUUsS0FBSztJQUNmLGNBQWMsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7SUFDNUIsa0JBQWtCLEVBQUUsSUFBSTtJQUN4QixVQUFVLEVBQUUsSUFBSTtJQUNoQixhQUFhLEVBQUUsR0FBRztJQUNsQixVQUFVLEVBQUUsSUFBSTtJQUNoQixZQUFZLEVBQUUsSUFBSTtJQUNsQixhQUFhLEVBQUUsS0FBSztJQUNwQixnQkFBZ0IsRUFBRSxDQUFDO0lBQ25CLE9BQU8sRUFBRSxLQUFLO0lBQ2QsY0FBYyxFQUFFLElBQUk7SUFDcEIsYUFBYSxFQUFFLEtBQUs7SUFDcEIsZ0JBQWdCLEVBQUUsQ0FBQztJQUNuQixjQUFjLEVBQUUsSUFBSTtJQUNwQixTQUFTLEVBQUUsSUFBSTtJQUNmLE9BQU8sRUFBRSxJQUFJO0lBQ2IsUUFBUSxFQUFFLE1BQU07SUFDaEIsV0FBVyxFQUFFLElBQUk7SUFDakIsY0FBYyxFQUFFLElBQUk7SUFDcEIsZUFBZSxFQUFFLEVBQUU7SUFDbkIscUJBQXFCLEVBQUUsRUFBRTtJQUN6QixvQkFBb0IsRUFBRSxFQUFFO0lBQ3hCLG9CQUFvQixFQUFFLEVBQUU7SUFDeEIsa0JBQWtCLEVBQUUsS0FBSztJQUN6Qix3QkFBd0IsRUFBRSxFQUFFO0lBQzVCLGdCQUFnQixFQUFFLE9BQU87SUFDekIsY0FBYyxFQUFFLEtBQUs7SUFDckIsaUJBQWlCLEVBQUUsVUFBVTtJQUM3QixnQkFBZ0IsRUFBRSxFQUFFO0lBQ3BCLGVBQWUsRUFBRSxDQUFDO0lBQ2xCLGlCQUFpQixFQUFFLEdBQUc7SUFDdEIsaUJBQWlCLEVBQUUsTUFBTTtJQUN6QixjQUFjLEVBQUUsR0FBRztJQUNuQixVQUFVLEVBQUUsRUFBRTtJQUNkLFlBQVksRUFBRSxJQUFJO0lBQ2xCLGVBQWUsRUFBRSxJQUFJO0lBQ3JCLGFBQWEsRUFBRSxPQUFPO0lBQ3RCLGFBQWEsRUFBRSxJQUFJO0lBQ25CLGVBQWUsRUFBRSxTQUFTO0lBQzFCLFlBQVksRUFBRSxFQUFFO0lBQ2hCLGdCQUFnQixFQUFFLEVBQUU7SUFDcEIscUJBQXFCLEVBQUUsS0FBSztJQUM1Qix1QkFBdUIsRUFBRSxJQUFJO0lBQzdCLHFCQUFxQixFQUFFLEVBQUU7SUFDekIscUJBQXFCLEVBQUUsRUFBRTtJQUN6QixTQUFTLEVBQUUsSUFBSTtJQUNmLGVBQWUsRUFBRSxJQUFJO0NBQ3RCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFB1YmxpY2F0aW9uLWNyaXRpY2FsIHR5cGVzIHRoYXQgd2VyZSBgYW55YCBvbiB0aGUgcHVibGljIGNvbnRyYWN0c1xuICogKHJlZmFjdG9yaW5nIHBsYW4sIFN0ZXAgNikuIERlbGliZXJhdGVseSBwZXJtaXNzaXZlIOKAlCBldmVyeSBmaWVsZCBvcHRpb25hbCDigJRcbiAqIHNvIGV4aXN0aW5nIGhvc3RzICh3aGljaCBwYXNzIFByaW1lTkcgYFRyZWVOb2RlYHMgYW5kIHBsYWluIG9wdGlvbiBvYmplY3RzKVxuICoga2VlcCBjb21waWxpbmcgdW5jaGFuZ2VkIHdoaWxlIGNvbnN1bWVycyBmaW5hbGx5IGdldCBuYW1lZCBzaGFwZXMuXG4gKi9cblxuLyoqIEEgY29sb3JtYXAgdmFsdWUgYXMgUGxvdGx5IHVuZGVyc3RhbmRzIGl0OiBhIGJ1aWx0LWluIHNjYWxlIG5hbWUgKGUuZy5cbiAqICAnVmlyaWRpcycpIG9yIGFuIGlubGluZSBhcnJheSBvZiBgW3N0b3AsIGNvbG9yXWAgcGFpcnMuICovXG5leHBvcnQgdHlwZSBDb2xvcm1hcFZhbHVlID0gc3RyaW5nIHwgQXJyYXk8W251bWJlciwgc3RyaW5nXT47XG5cbi8qKiBPbmUgbm9kZSBvZiB0aGUgY29sb3JtYXAgc2VsZWN0b3IgdHJlZSAoc3RydWN0dXJhbGx5IGNvbXBhdGlibGUgd2l0aCB0aGVcbiAqICBQcmltZU5HIGBUcmVlTm9kZWBzIHRoZSBob3N0IHBhc3Nlcyk6IGdyb3VwIG5vZGVzIGNhcnJ5IGBjaGlsZHJlbmAsIGxlYWZcbiAqICBub2RlcyBjYXJyeSB0aGUgc2NhbGUgaW4gYGRhdGEudmFsdWVgICgrIGEgcHJldmlldyBpbWFnZSBpbiBgZGF0YS5zcmNgKS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29sb3JtYXBOb2RlIHtcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIGRhdGE/OiB7IHZhbHVlPzogQ29sb3JtYXBWYWx1ZTsgc3JjPzogc3RyaW5nIH07XG4gIGNoaWxkcmVuPzogQ29sb3JtYXBOb2RlW107XG59XG5cbi8qKiBNYWdpYy13YW5kIHBpeGVsLWNvbXBhcmlzb24gc3BhY2UuICovXG5leHBvcnQgdHlwZSBXYW5kVHlwZSA9ICdHUkFZJyB8ICdSR0InIHwgJ0xBQl9ESVNUQU5DRSc7XG5cbi8qKiBPcHRpb25zIGZvciB0aGUgbWFnaWMtd2FuZCB0b29sIChRdVBhdGgtc3R5bGUpLiAqL1xuZXhwb3J0IGludGVyZmFjZSBJV2FuZE9wdGlvbnMge1xuICB0eXBlPzogV2FuZFR5cGU7XG4gIC8qKiBHYXVzc2lhbiBzaWdtYSBhcHBsaWVkIHRvIHRoZSBwYXRjaCBiZWZvcmUgdGhyZXNob2xkaW5nLiAqL1xuICBzaWdtYT86IG51bWJlcjtcbiAgLyoqIEhpZ2hlciA9IHN0cmljdGVyIChzbWFsbGVyIHNlbGVjdGlvbikgZm9yIEdSQVkvUkdCOyBoaWdoZXIgPSBsb29zZXIgZm9yXG4gICAqICBMQUJfRElTVEFOQ0Ug4oCUIG1hdGNoZXMgUXVQYXRoLiAqL1xuICBzZW5zaXRpdml0eT86IG51bWJlcjtcbiAgLyoqIFNxdWFyZSBwYXRjaCBzaXplIGluIHBpeGVscyAobXVzdCBiZSBvZGQpLiAqL1xuICBwYXRjaFNpemU/OiBudW1iZXI7XG4gIC8qKiBXaGVuIHRydWUsIHNraXAgYmx1ci90aHJlc2hvbGQgYW5kIGZsb29kLWZpbGwgYXQgZXhhY3QtbWF0Y2hcbiAgICogIChDbWQvQ3RybC1jbGljayBpbiBRdVBhdGgpLiAqL1xuICBzaW1wbGVNb2RlPzogYm9vbGVhbjtcbn1cblxuLyoqIE9wdGlvbnMgZm9yIHRoZSBicnVzaCByZWdpb24gdG9vbCAoUXVQYXRoLXN0eWxlKS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUJydXNoT3B0aW9ucyB7XG4gIC8qKiBCcnVzaCBkaWFtZXRlciBpbiBtYXRyaXggKGltYWdlKSBwaXhlbHMuICovXG4gIHNpemU/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBQYWludCBhcyBvbmUgY2xhc3M6IG5ldyByZWdpb25zIHRha2UgdGhpcyBsYWJlbCwgYW5kIGEgc3Ryb2tlIG9ubHkgZXh0ZW5kc1xuICAgKiBvciBtZXJnZXMgcmVnaW9ucyB3aXRoIHRoZSBzYW1lIGxhYmVsLiBVbnNldCA9IHRoZSBwbGFpbiBicnVzaCAobGFiZWxcbiAgICogYCdSZWdpb24nYCwgZXh0ZW5kcyBhbnkgcmVnaW9uKS4gYHNldEJydXNoTW9kZSh0cnVlLCDigKYpYCBzZXRzIHRoZSBjbGFzcyBpblxuICAgKiBmdWxsOyBgc2V0QnJ1c2hPcHRpb25zYCBjaGFuZ2VzIGl0IG9ubHkgd2hlbiBgbGFiZWxgIG9yIGBjb2xvcmAgaXMgcGFzc2VkLFxuICAgKiBzbyBhIHNpemUtb25seSB1cGRhdGUga2VlcHMgaXQuXG4gICAqL1xuICBsYWJlbD86IHN0cmluZztcbiAgLyoqIENvbG91ciBmb3IgdGhlIHBhaW50ZWQgcmVnaW9ucyBpbnN0ZWFkIG9mIHRoZSBzaGFwZSBjb2xvdXIuIEtlcHQgYWdhaW5zdCBwcmVzZXQgcmUtYXBwbHkuICovXG4gIGNvbG9yPzogc3RyaW5nO1xufVxuXG4vKiogT3B0aW9ucyBmb3IgdGhlIHZlcnRleCBlcmFzZXIuICovXG5leHBvcnQgaW50ZXJmYWNlIElWZXJ0ZXhFcmFzZXJPcHRpb25zIHtcbiAgLyoqIEVyYXNlciByYWRpdXMgaW4gbWF0cml4IChpbWFnZSkgcGl4ZWxzLiAqL1xuICByYWRpdXM/OiBudW1iZXI7XG59XG5cbi8qKlxuICogVGhlIG9uLWNhbnZhcyB0b29scyBgSVRvb2xDb250cm9sbGVyLnNldEFjdGl2ZVRvb2xgIGFybXM6IG1hZ2ljIHdhbmQsIGJydXNoLFxuICogdmVydGV4IGVyYXNlciwgYm94IHpvb20gYW5kIFNBTSBwb2ludCBwcm9tcHRzLiBBbnkgb3RoZXIgaWQgKGEgcmVnaW9uIGRyYXdcbiAqIG1vZGUgc3VjaCBhcyBgJ2RyYXdyZWN0J2AsIGAncGFuJ2ApIGFybXMgbm9uZSBvZiB0aGVtLlxuICovXG5leHBvcnQgdHlwZSBDYW52YXNUb29sSWQgPSAnd2FuZCcgfCAnYnJ1c2gnIHwgJ2VyYXNlVmVydGV4JyB8ICd6b29tVG9Cb3gnIHwgJ3NhbVBvaW50JztcblxuLyoqIEV2ZXJ5IHtAbGluayBDYW52YXNUb29sSWR9LiAqL1xuZXhwb3J0IGNvbnN0IENBTlZBU19UT09MX0lEUzogcmVhZG9ubHkgQ2FudmFzVG9vbElkW10gPSBbJ3dhbmQnLCAnYnJ1c2gnLCAnZXJhc2VWZXJ0ZXgnLCAnem9vbVRvQm94JywgJ3NhbVBvaW50J107XG5cbi8qKiBXaGV0aGVyIGBpZGAgbmFtZXMgYW4gb24tY2FudmFzIHRvb2wuICovXG5leHBvcnQgZnVuY3Rpb24gaXNDYW52YXNUb29sSWQoaWQ6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiBpZCBpcyBDYW52YXNUb29sSWQge1xuICByZXR1cm4gKENBTlZBU19UT09MX0lEUyBhcyByZWFkb25seSBzdHJpbmdbXSkuaW5jbHVkZXMoaWQgYXMgc3RyaW5nKTtcbn1cblxuLyoqIE9wdGlvbnMgZm9yIHtAbGluayBDYW52YXNUb29sSWR9IHRvb2xzOiB0aGUgd2FuZCdzLCB0aGUgYnJ1c2gncyBvciB0aGUgZXJhc2VyJ3MuICovXG5leHBvcnQgdHlwZSBDYW52YXNUb29sT3B0aW9ucyA9IElXYW5kT3B0aW9ucyB8IElCcnVzaE9wdGlvbnMgfCBJVmVydGV4RXJhc2VyT3B0aW9ucztcblxuLyoqIFdoYXQgZHJpdmVzIHBvaW50IGNvbG91ciBpbiB0aGUgc3BhdGlhbC1vbWljcyBtb2RlOiBhbiBhbm5vdGF0aW9uIGNvbHVtblxuICogIGZyb20gdGhlIGRhdGFzZXQsIG9yIG9uZSBmZWF0dXJlIChnZW5lKSB2ZWN0b3IgZmV0Y2hlZCBvbiBkZW1hbmQuICovXG5leHBvcnQgaW50ZXJmYWNlIFNwYXRpYWxDb2xvckJ5IHtcbiAga2luZDogJ2NvbHVtbicgfCAnZmVhdHVyZSc7XG4gIG5hbWU6IHN0cmluZztcbn1cblxuLyoqIERpc3BsYXkgc3RhdGUgZm9yIHRoZSBzcGF0aWFsLW9taWNzIHBsb3QgbW9kZS4gTGl2ZXMgaW4gYFZpc3VhbGl6ZXJTdG9yZWBcbiAqICBhbG9uZ3NpZGUgdGhlIGNvbG9ybWFwL2NoYW5uZWwgc3RhdGUgc28gdGhlIHJlbmRlcmVyIHJlYWN0cyB0byBlZGl0cyB0aGVcbiAqICBzYW1lIHdheSBpdCBkb2VzIGZvciBhbiBpbWFnZS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3BhdGlhbFZpZXdTdGF0ZSB7XG4gIC8qKiBDb2xvdXIgc291cmNlOyBgbnVsbGAgcmVuZGVycyBldmVyeSBvYnNlcnZhdGlvbiBpbiBvbmUgbmV1dHJhbCBjb2xvdXJcbiAgICogICh1c2VmdWwgb24gaXRzIG93biDigJQgaXQgc2hvd3Mgd2hlcmUgdGhlIHRpc3N1ZSBhY3R1YWxseSBpcykuICovXG4gIGNvbG9yQnk6IFNwYXRpYWxDb2xvckJ5IHwgbnVsbDtcbiAgLyoqIE11bHRpcGxpZXIgb24gdGhlIGRhdGFzZXQncyBwaHlzaWNhbCBtYXJrZXIgc2l6ZS4gMSA9IHRydWUgc2l6ZSwgd2hpY2ggZm9yXG4gICAqICBhIDU1IMK1bSBWaXNpdW0gc3BvdCBpcyBjb3JyZWN0IGJ1dCBjYW4gYmUgaW52aXNpYmxlIHdoZW4gem9vbWVkIG91dC4gKi9cbiAgcG9pbnRTY2FsZTogbnVtYmVyO1xuICAvKiogQWxwaGEgZm9yIHBvaW50cyB0aGF0IGFyZSBub3QgbXV0ZWQuICovXG4gIG9wYWNpdHk6IG51bWJlcjtcbiAgLyoqIExvZy1zY2FsZSBjb250aW51b3VzIHZhbHVlcyBiZWZvcmUgbWFwcGluZyB0aGVtIG9udG8gdGhlIGNvbG9ybWFwLiBTZWVkZWRcbiAgICogIGZyb20gdGhlIGNvbHVtbidzIGBsb2dTY2FsZUhpbnRgIOKAlCBjb3VudCBkYXRhIG5lZWRzIGl0LiAqL1xuICBsb2dTY2FsZTogYm9vbGVhbjtcbiAgLyoqIFBlcmNlbnRpbGUgY2xpcCBmb3IgdGhlIGNvbnRyYXN0IHdpbmRvdyBhcyBgW2xvLCBoaV1gIGZyYWN0aW9ucywgc28gYVxuICAgKiAgaGFuZGZ1bCBvZiBzYXR1cmF0ZWQgb2JzZXJ2YXRpb25zIGRvbid0IGZsYXR0ZW4gdGhlIHJlc3QuICovXG4gIHBlcmNlbnRpbGVDbGlwOiBbbnVtYmVyLCBudW1iZXJdO1xuICAvKipcbiAgICogQ29sb3JtYXAgZm9yIENPTlRJTlVPVVMgc3BhdGlhbCBjb2xvdXJpbmcg4oCUIGEgZ2VuZSwgYSBudW1lcmljIGNvbHVtbiDigJQgYXMgYVxuICAgKiB7QGxpbmsgQ29sb3JtYXBWYWx1ZX0sIHRoZSBzYW1lIHNoYXBlIHRoZSBkaXNwbGF5IGNvbG9ybWFwIGNhcnJpZXM6IGEgc2NhbGVcbiAgICogTkFNRSBmb3IgdGhlIGJ1aWx0LWlucywgb3IgYW4gaW5saW5lIGBbc3RvcCwgY29sb3VyXWAgYXJyYXkgZm9yIHRoZSByZXN0LlxuICAgKiBOdWxsIGZvbGxvd3MgdGhlIGRpc3BsYXkgY29sb3JtYXAuXG4gICAqXG4gICAqIEl0cyBvd24gc2V0dGluZyBiZWNhdXNlIHRoZSBkaXNwbGF5IGNvbG9ybWFwIGJlbG9uZ3MgdG8gdGhlIHRpc3N1ZSBpbWFnZSBhbmRcbiAgICogaXMgdXN1YWxseSBhIGdyZXkgcmFtcCwgd2hpY2ggaXMgdGhlIHdyb25nIHRoaW5nIHRvIHJlYWQgYSBtZWFzdXJlbWVudFxuICAgKiB0aHJvdWdoOiBncmV5IG92ZXIgZ3JleSBjYW5ub3QgYmUgdG9sZCBhcGFydCBmcm9tIHRoZSBhbmF0b215LiBGb2xsb3dpbmcgaXRcbiAgICogKHdpdGggYSBWaXJpZGlzIGZhbGxiYWNrIGZvciBleGFjdGx5IHRoYXQgY2FzZSkgaXMgYSByZWFzb25hYmxlIGRlZmF1bHQgYW5kIGFcbiAgICogcG9vciBjZWlsaW5nLCBzaW5jZSB3aGljaCBncmFkaWVudCByZWFkcyBiZXN0IGlzIGEganVkZ2VtZW50IGFib3V0IHRoZSBkYXRhLlxuICAgKlxuICAgKiBPbmUgc2V0dGluZyBmb3IgdGhlIG1hcmtlcnMsIHRoZSAyRCBnZW5lIG1hcCBhbmQgdGhlIDNEIGdlbmUgbWFwIHRvZ2V0aGVyLCBzb1xuICAgKiB0aGUgZmllbGQgdW5kZXIgdGhlIGNlbGxzIGFuZCB0aGUgY2VsbHMgb3ZlciBpdCBjYW5ub3QgZGlzYWdyZWUgYWJvdXQgd2hhdCBhXG4gICAqIGNvbG91ciBtZWFucyDigJQgYW5kIHRoZSBwYW5lbCdzIG93biBjb2xvdXIgYmFyIGlzIGJ1aWx0IGZyb20gaXQgdG9vLlxuICAgKi9cbiAgY29udGludW91c0NvbG9ybWFwOiBDb2xvcm1hcFZhbHVlIHwgbnVsbDtcbiAgLyoqXG4gICAqIFdoYXQgdGhlIDNEIHNjZW5lIGRyYXdzLiBUaGUgdGhyZWUgdGhpbmdzIGluIGl0IOKAlCB0aGUgcmVmZXJlbmNlIHZvbHVtZSwgdGhlXG4gICAqIG9ic2VydmF0aW9uIGNsb3VkIGFuZCB0aGUgY2x1c3RlciBkZW5zaXR5IHZvbHVtZXMg4oCUIG9jY3VweSB0aGUgc2FtZSBzcGFjZSwgc29cbiAgICogYW55IHR3byBvZiB0aGVtIGhpZGUgZWFjaCBvdGhlciB0byBzb21lIGRlZ3JlZS4gVGhlc2UgYXJlIGluZGVwZW5kZW50IGJlY2F1c2VcbiAgICogdGhlIHVzZWZ1bCB2aWV3cyBhcmUgdGhlIGNvbWJpbmF0aW9uczogdGhlIHZvbHVtZXMgYWxvbmUgdG8gcmVhZCBhbiBlc3RpbWF0ZWRcbiAgICogZGlzdHJpYnV0aW9uLCBvbmUgc2VjdGlvbidzIGNlbGxzIG92ZXIgdGhlbSB0byBjaGVjayB0aGF0IGVzdGltYXRlIGFnYWluc3QgdGhlXG4gICAqIG1lYXN1cmVtZW50LCB0aGUgYW5hdG9teSBhbG9uZSB0byBmaW5kIGEgbGFuZG1hcmsuXG4gICAqXG4gICAqIFZpc2liaWxpdHkgb25seSDigJQgdGhlIGxheWVycyBzdGF5IGJ1aWx0LCBzbyB0b2dnbGluZyBvbmUgYmFjayBvbiBpcyBpbW1lZGlhdGVcbiAgICogYW5kIGRvZXMgbm90IHJlLXJ1biBhIHJhc3RlcmlzYXRpb24uIHtAbGluayBkZW5zaXR5Vm9sdW1lfSBpcyB0aGUgZXhjZXB0aW9uIGFuZFxuICAgKiBnZW51aW5lbHkgZ2F0ZXMgY29uc3RydWN0aW9uLCBiZWNhdXNlIGJ1aWxkaW5nIHNpeCB2b2x1bWVzIGlzIG5vdCBmcmVlLlxuICAgKi9cbiAgc2hvd1ZvbHVtZTogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRoZSByZWZlcmVuY2Ugdm9sdW1lJ3Mgb3BhY2l0eS5cbiAgICpcbiAgICogSXRzIG93biwgbm90IHtAbGluayBvcGFjaXR5fSAod2hpY2ggYmVsb25ncyB0byB0aGUgbWFya2Vycyk6IHRoZSB2b2x1bWUgaXMgYVxuICAgKiBCQUNLRFJPUCwgYW5kIHJlYWRpbmcgdGhlIGNsb3VkIG9yIGEgZGVuc2l0eSBmaWVsZCB0aHJvdWdoIGl0IG1lYW5zIHR1cm5pbmdcbiAgICogdGhlIGFuYXRvbXkgZG93biB3aXRob3V0IHRvdWNoaW5nIHRoZSBkYXRhIGRyYXduIG92ZXIgaXQuIFJhbmdlcyBsb3dlciB0aGFuXG4gICAqIHRoZSBtYXJrZXJzJyBzbGlkZXIgZm9yIHRoZSBzYW1lIHJlYXNvbiDigJQgYSBmYWludCBhbmF0b21pY2FsIGhpbnQgaXMgYSB1c2VmdWxcbiAgICogc2V0dGluZyBmb3IgYSBiYWNrZHJvcCBhbmQgYSB1c2VsZXNzIG9uZSBmb3IgdGhlIG1lYXN1cmVtZW50LlxuICAgKi9cbiAgdm9sdW1lT3BhY2l0eTogbnVtYmVyO1xuICAvKiogRHJhdyB0aGUgb2JzZXJ2YXRpb24gbWFya2VycyDigJQgdGhlIDNEIGNsb3VkLCBvciB0aGUgMkQgY2lyY2xlcy4gSW4gMkQgdGhleSBhbHNvXG4gICAqICBzdGFuZCBpbiBmb3IgY2VsbHMgdG9vIHNtYWxsIG9uIHNjcmVlbiB0byBvdXRsaW5lLiAqL1xuICBzaG93UG9pbnRzOiBib29sZWFuO1xuICAvKipcbiAgICogUmVzdHJpY3QgdGhlIGNsb3VkIHRvIE9ORSBpbWFnZWQgc2VjdGlvbiwgYnkgaW5kZXggaW50byB0aGUgZGF0YXNldCdzIHNhbXBsZWRcbiAgICogc2VjdGlvbnM7IG51bGwgZHJhd3MgZXZlcnkgc2VjdGlvbi5cbiAgICpcbiAgICogVGhlIHdob2xlIGNsb3VkIGlzIGEgc3RhY2sgb2YgZGlzY3MgdGhhdCBoaWRlcyB3aGF0ZXZlciBpcyBkcmF3biBiZXR3ZWVuIHRoZW0uXG4gICAqIE9uZSBzZWN0aW9uIGF0IGEgdGltZSBpcyB0aGUgdmlldyB0aGF0IGFuc3dlcnMgXCJkb2VzIHRoZSBlc3RpbWF0ZWQgZmllbGRcbiAgICogYWN0dWFsbHkgZm9sbG93IHRoZSBjZWxscyBJIG1lYXN1cmVkXCIg4oCUIGFuZCBpdCBpcyBvbmx5IG9mZmVyZWQgZm9yIGRhdGEgdGhhdFxuICAgKiByZWFsbHkgaXMgc2VjdGlvbmVkIChzZWUgYHNhbXBsZWRTZWN0aW9uc2ApLlxuICAgKi9cbiAgcG9pbnRTZWN0aW9uOiBudW1iZXIgfCBudWxsO1xuICAvKipcbiAgICogRHJhdyBlYWNoIGNsdXN0ZXIgYXMgYSB0cmFuc2x1Y2VudCBERU5TSVRZIHZvbHVtZSBhbG9uZ3NpZGUgdGhlIDNEIGNsb3VkLlxuICAgKlxuICAgKiBTZXJpYWwgc2VjdGlvbnMgaHVuZHJlZHMgb2YgbWljcm9ucyBhcGFydCBtYWtlIGEgY2xvdWQgaGFyZCB0byByZWFkIGFzIGFuXG4gICAqIGFuYXRvbWljYWwgZGlzdHJpYnV0aW9uIOKAlCB0aGUgZXllIGNhbm5vdCBpbnRlZ3JhdGUgZGlzY3MgaW50byBhIHNoYXBlLiBBXG4gICAqIGRlbnNpdHkgZmllbGQgY2FuIGJlIGVzdGltYXRlZCBiZXR3ZWVuIHRoZSBpbWFnZWQgcGxhbmVzIChhIGNvbnRpbnVvdXNcbiAgICogZXN0aW1hdGUsIHVubGlrZSBpbmRpdmlkdWFsIGNlbGxzLCB3aGljaCBoYXZlIG5vIGNvcnJlc3BvbmRlbmNlIHRvXG4gICAqIGludGVycG9sYXRlIGFsb25nKSBhbmQgcmVuZGVycyBhcyBhIGNsb3VkIHRoYXQgcmVhZHMgYXMgYW4gZXN0aW1hdGUuXG4gICAqL1xuICBkZW5zaXR5Vm9sdW1lOiBib29sZWFuO1xuICAvKiogTXVsdGlwbGllciBvbiB0aGUgZGVmYXVsdCBrZXJuZWwgYmFuZHdpZHRoLiBBYm92ZSAxIGlzIHNtb290aGVyIGFuZCBsZXNzXG4gICAqICBjb21taXR0YWw7IGJlbG93IDEgZXhwb3NlcyB0aGUgaW5kaXZpZHVhbCBzZWN0aW9ucy4gKi9cbiAgZGVuc2l0eVNtb290aGluZzogbnVtYmVyO1xuICAvKipcbiAgICogRHJhdyB0aGUgYWN0aXZlIEdFTkUgYXMgYSBjb250aW51b3VzIGZpZWxkIHVuZGVyIHRoZSBvYnNlcnZhdGlvbnMgKDJEKS5cbiAgICpcbiAgICogQ29sb3VyaW5nIHRoZSBtYXJrZXJzIGJ5IGEgZ2VuZSBzYXlzIHdoaWNoIGNlbGxzIGV4cHJlc3MgaXQ7IGl0IGNhbm5vdCBzYXlcbiAgICogd2hlcmUsIGJlY2F1c2UgdGhlIGV5ZSB3aWxsIG5vdCBpbnRlZ3JhdGUgdGhvdXNhbmRzIG9mIGRvdHMgaW50byBhIHRlcnJpdG9yeS5cbiAgICogVGhlIGZpZWxkIGlzIGFuIGVzdGltYXRlIOKAlCBhIGtlcm5lbC13ZWlnaHRlZCBtZWFuIHBlciBjZWxsLCB0cmFuc3BhcmVudCB3aGVyZVxuICAgKiBubyBjZWxsIHdhcyBtZWFzdXJlZCDigJQgYW5kIGl0IGlzIGRyYXduIGJlbmVhdGggdGhlIGNlbGxzLCBub3QgaW5zdGVhZCBvZiB0aGVtLFxuICAgKiBzbyB0aGUgbWVhc3VyZW1lbnQgc3RheXMgb24gc2NyZWVuIG5leHQgdG8gdGhlIGludGVycG9sYXRpb24uXG4gICAqXG4gICAqIElnbm9yZWQgdW5sZXNzIHRoZSBjb2xvdXIgc291cmNlIGlzIGEgZ2VuZTogdGhlcmUgaXMgbm90aGluZyBlbHNlIHRvIG1hcC5cbiAgICovXG4gIGdlbmVNYXA6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBSZXN0cmljdCB0aGUgM0QgZ2VuZSBtYXAgdG8gT05FIGltYWdlZCBzZWN0aW9uLCBieSBpbmRleCBpbnRvIHRoZSBkYXRhc2V0J3NcbiAgICogc2FtcGxlZCBzZWN0aW9uczsgbnVsbCBkcmF3cyBldmVyeSBzZWN0aW9uJ3Mgc2hlZXQuXG4gICAqXG4gICAqIFNlcGFyYXRlIGZyb20ge0BsaW5rIHBvaW50U2VjdGlvbn0gc28gdGhlIGNvbWJpbmF0aW9ucyBzdGF5IG9wZW46IGFsbCB0aGVcbiAgICogc2hlZXRzIHdpdGggb25lIHNlY3Rpb24ncyBjZWxscyBvdmVyIHRoZW0gaXMgYSB1c2VmdWwgdmlldywgYW5kIHNvIGlzIG9uZVxuICAgKiBzaGVldCBpbnNpZGUgdGhlIHdob2xlIGNsb3VkLiBJZ25vcmVkIHdoaWxlIHtAbGluayBnZW5lTWFwVm9sdW1lfSBpcyBzZXQg4oCUXG4gICAqIGludGVycG9sYXRpbmcgYSBzaW5nbGUgc2VjdGlvbiBhbG9uZyB6IHdvdWxkIHNtZWFyIG9uZSBzbGlkZSB0aHJvdWdoIHRoZVxuICAgKiBzcGVjaW1lbidzIHdob2xlIGRlcHRoIGFuZCBjYWxsIGl0IGFuIGVzdGltYXRlLlxuICAgKi9cbiAgZ2VuZU1hcFNlY3Rpb246IG51bWJlciB8IG51bGw7XG4gIC8qKlxuICAgKiBTbW9vdGggdGhlIHBlci1zZWN0aW9uIGdlbmUgbWFwcyBhbG9uZyB6IGludG8gYSBjb250aW51b3VzIFZPTFVNRSAoM0QpLlxuICAgKlxuICAgKiBUaGUgc2hlZXRzIGFyZSB3aGF0IHdhcyBtZWFzdXJlZCDigJQgb25lIGZpZWxkIHBlciBpbWFnZWQgc2xpZGUsIHdpdGggdGhlIGdhcHNcbiAgICogYmV0d2VlbiB0aGVtIGVtcHR5LiBUaGlzIHR1cm5zIHRoZW0gaW50byBhbiBlc3RpbWF0ZSBkZWZpbmVkIGJldHdlZW4gdGhlXG4gICAqIHNsaWRlcywgdGhlIHNhbWUgbW92ZSB0aGUgY2x1c3RlciBkZW5zaXR5IHZvbHVtZXMgbWFrZSBhbmQgd2l0aCB0aGUgc2FtZVxuICAgKiBjYXZlYXQ6IGEgZmllbGQgbWF5IGJlIGludGVycG9sYXRlZCBiZXR3ZWVuIHNlY3Rpb25zLCBpbmRpdmlkdWFsIGNlbGxzIG1heVxuICAgKiBub3QsIGFuZCB0aGUgcmVzdWx0IGlzIGRyYXduIGFzIGEgdHJhbnNsdWNlbnQgY2xvdWQgc28gaXQgY2Fubm90IGJlIG1pc3Rha2VuXG4gICAqIGZvciBtZWFzdXJlbWVudC5cbiAgICovXG4gIGdlbmVNYXBWb2x1bWU6IGJvb2xlYW47XG4gIC8qKiBNdWx0aXBsaWVyIG9uIHRoZSBnZW5lIG1hcCdzIGtlcm5lbCBiYW5kd2lkdGguICovXG4gIGdlbmVNYXBTbW9vdGhpbmc6IG51bWJlcjtcbiAgLyoqIFRoZSBnZW5lIG1hcCdzIG93biBvcGFjaXR5LiBTZXBhcmF0ZSBmcm9tIHtAbGluayBvcGFjaXR5fSwgd2hpY2ggYmVsb25ncyB0b1xuICAgKiAgdGhlIG1hcmtlcnM6IHR1cm5pbmcgdGhlIGNlbGxzIGRvd24gdG8gcmVhZCB0aGUgZmllbGQgdW5kZXJuZWF0aCBtdXN0IG5vdFxuICAgKiAgdHVybiB0aGUgZmllbGQgZG93biB3aXRoIHRoZW0uICovXG4gIGdlbmVNYXBPcGFjaXR5OiBudW1iZXI7XG4gIC8qKlxuICAgKiBEcmF3IGNlbGwgYm91bmRhcmllcyAoZm9yIGEgZGF0YXNldCB3aXRoIGBwb2x5Z29uVGlsZXNgIG9yIGBwb2x5Z29uc2ApLlxuICAgKlxuICAgKiBPdXRsaW5lcyBhcmUgbGV2ZWwtb2YtZGV0YWlsOiBjb2Fyc2UgcmluZ3Mgd2hlbiB6b29tZWQgb3V0LCBldmVyeSB2ZXJ0ZXggYXQgdGhlXG4gICAqIGZpbmVzdCB6b29tLCBhbmQgbm9uZSBhdCBhbGwgb25jZSBhIGNlbGwgaXMgYSBmZXcgcGl4ZWxzIHdpZGUg4oCUIHRoZXJlIHRoZVxuICAgKiBvYnNlcnZhdGlvbiBtYXJrZXJzIGFscmVhZHkgZHJhdyBpdCBhcyBhIGRvdC5cbiAgICpcbiAgICogYG51bGxgICh0aGUgZGVmYXVsdCkgbWVhbnMgYXV0b21hdGljOiBvbiBmb3IgYW55IGRhdGFzZXQgdGhhdCBoYXMgb3V0bGluZXMsIHNpbmNlIGFcbiAgICogc2VnbWVudGVkIGNlbGwgaXMgYmV0dGVyIHNob3duIGFzIGl0cyBzaGFwZSB0aGFuIGFzIGEgY2lyY2xlLiBBIGJvb2xlYW4gaXMgdGhlXG4gICAqIHVzZXIncyBleHBsaWNpdCBjaG9pY2UuXG4gICAqL1xuICBzaG93Q2VsbHM6IGJvb2xlYW4gfCBudWxsO1xuICAvKiogV2hpY2ggYm91bmRhcnkgc2V0IChgY2VsbGAsIGBudWNsZXVzYCwgb3IgYGJvdGhgIOKAlCBjZWxscyBhcyBzZXQgYnlcbiAgICogIHtAbGluayBjZWxsRHJhd30sIG51Y2xlaSBvdXRsaW5lZCBvdmVyIHRoZW0pOyBudWxsIHRha2VzIHRoZSBkYXRhc2V0J3MgZGVmYXVsdC4gKi9cbiAgY2VsbFNldDogc3RyaW5nIHwgbnVsbDtcbiAgLyoqXG4gICAqIFdoYXQgY29sb3VycyB0aGUgY2VsbHMg4oCUIFhlbml1bSBFeHBsb3JlcidzIFwiQ2VsbCBDb2xvclwiOiB0aGUgYWN0aXZlIGdyb3VwXG4gICAqICh7QGxpbmsgY2VsbFR5cGVDb2x1bW59KSwgb25lIGdlbmUncyBleHByZXNzaW9uICh7QGxpbmsgY2VsbENvbG9yR2VuZX0pLCB0aGUgY2VsbCdzXG4gICAqIHRyYW5zY3JpcHQgZGVuc2l0eSwgb25lIGZsYXQgY29sb3VyLCBvciBob3cgdGhlIGNlbGwgd2FzIHNlZ21lbnRlZC5cbiAgICovXG4gIGNlbGxDb2xvck1vZGU6ICdncm91cCcgfCAnZ2VuZScgfCAndHJhbnNjcmlwdERlbnNpdHknIHwgJ3NpbmdsZScgfCAnc2VnbWVudGF0aW9uJztcbiAgY2VsbENvbG9yR2VuZTogc3RyaW5nIHwgbnVsbDtcbiAgLyoqIGAjcnJnZ2JiYCBmb3Ige0BsaW5rIGNlbGxDb2xvck1vZGV9IGBzaW5nbGVgLiAqL1xuICBjZWxsU2luZ2xlQ29sb3I6IHN0cmluZztcbiAgLyoqXG4gICAqIENhdGVnb3JpZXMgb2Yge0BsaW5rIGNlbGxUeXBlQ29sdW1ufSBzd2l0Y2hlZCBvZmYgaW4gdGhlIGdyb3VwcyBsaXN0OiB0aGVpciBjZWxscyBhcmVcbiAgICogbm90IGRyYXduLCBub3IgdGhlIHRyYW5zY3JpcHRzIGluc2lkZSB0aGVtLiBDbGVhcmVkIHdoZW4gdGhlIGdyb3VwIGNvbHVtbiBjaGFuZ2VzLlxuICAgKi9cbiAgaGlkZGVuR3JvdXBzOiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIEdlbmVzIHdob3NlIG9ic2VydmF0aW9ucyBhcmUgZHJhd246IHdpdGggYW55IHNldCwgb25seSB0aGUgb2JzZXJ2YXRpb25zIHRoYXQgZXhwcmVzc1xuICAgKiB0aGVtIChhIHZhbHVlIGFib3ZlIDApIGFyZSBkcmF3biDigJQgdGhlIG1hcmtlcnMsIHRoZSBjZWxsIG91dGxpbmVzIGFuZCB0aGUgdHJhbnNjcmlwdHNcbiAgICogaW5zaWRlIHRoZW0sIGluIDJEIGFuZCBpbiB0aGUgM0QgY2xvdWQg4oCUIGFuZCB0aGUgcmVzdCBhcmUgaGlkZGVuLiBFbXB0eSBkcmF3cyBldmVyeVxuICAgKiBvYnNlcnZhdGlvbi4gQ2xlYXJlZCB3aGVuIHRoZSBkYXRhc2V0IGNoYW5nZXMuXG4gICAqL1xuICBvYnNlcnZhdGlvbkdlbmVzOiBzdHJpbmdbXTtcbiAgLyoqIFdoZXRoZXIgYW4gb2JzZXJ2YXRpb24gbXVzdCBleHByZXNzIGFueSBvZiB7QGxpbmsgb2JzZXJ2YXRpb25HZW5lc30sIG9yIGFsbCBvZiB0aGVtLiAqL1xuICBvYnNlcnZhdGlvbkdlbmVzTWF0Y2g6ICdhbnknIHwgJ2FsbCc7XG4gIC8qKlxuICAgKiBDb2xvdXIgKGFuZCBtYXJrKSB0aGUgZmlsdGVyZWQgb2JzZXJ2YXRpb25zIGJ5IHRoZWlyIGdlbmU6IGVhY2ggZHJhd24gb2JzZXJ2YXRpb24gaW4gdGhlXG4gICAqIGNvbG91ciBhbmQgaWNvbiBvZiB0aGUgcGlja2VkIGdlbmUgaXQgZXhwcmVzc2VzIG1vc3QgKHJlbGF0aXZlIHRvIHRoYXQgZ2VuZSdzIGhpZ2hlc3RcbiAgICogdmFsdWUpLCBpbiBwbGFjZSBvZiB7QGxpbmsgY29sb3JCeX0uIE9mZiwge0BsaW5rIGNvbG9yQnl9IGNvbG91cnMgdGhlbSBhcyBiZWZvcmUuXG4gICAqL1xuICBvYnNlcnZhdGlvbkdlbmVzQ29sb3JCeTogYm9vbGVhbjtcbiAgLyoqIGAjcnJnZ2JiYCBwZXIgZ2VuZSBvZiB7QGxpbmsgb2JzZXJ2YXRpb25HZW5lc307IGEgZ2VuZSBsZWZ0IG91dCB0YWtlcyB0aGUgcGFsZXR0ZSdzIGNvbG91clxuICAgKiAgZm9yIGl0cyBwbGFjZSBpbiB0aGUgbGlzdC4gKi9cbiAgb2JzZXJ2YXRpb25HZW5lQ29sb3JzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAvKiogVGhlIGljb24gcGVyIGdlbmUgb2Yge0BsaW5rIG9ic2VydmF0aW9uR2VuZXN9ICgyRCk7IGEgZ2VuZSBsZWZ0IG91dCBpcyBkcmF3biBhcyBhIGNpcmNsZS4gKi9cbiAgb2JzZXJ2YXRpb25HZW5lR2x5cGhzOiBSZWNvcmQ8c3RyaW5nLCBUcmFuc2NyaXB0R2x5cGhOYW1lPjtcbiAgLyoqIERyYXcgdGhlIHRpc3N1ZSBpbWFnZSAodGhlIEltYWdlcyBzZWN0aW9uJ3Mgc3dpdGNoKS4gKi9cbiAgc2hvd0ltYWdlOiBib29sZWFuO1xuICAvKiogRHJhdyB0aGUgYW5ub3RhdGlvbiByZWdpb25zICh0aGUgQW5ub3RhdGlvbnMgc2VjdGlvbidzIHN3aXRjaCkuIFNlbGVjdGluZyBmcm9tIHRoZW1cbiAgICogIHN0aWxsIHdvcmtzIHdoaWxlIHRoZXkgYXJlIGhpZGRlbi4gKi9cbiAgc2hvd0Fubm90YXRpb25zOiBib29sZWFuO1xuICAvKiogRmlsbCB0aGUgY2VsbHMgd2l0aCB0aGVpciBjb2xvdXIsIG91dGxpbmUgdGhlbSwgb3IgYm90aC4gKi9cbiAgY2VsbERyYXc6ICdmaWxsJyB8ICdvdXRsaW5lJyB8ICdib3RoJztcbiAgLyoqIE9wYWNpdHkgb2YgdGhlIGNlbGwgZmlsbCAob3V0bGluZXMgZHJhdyBvcGFxdWUpLiAqL1xuICBjZWxsT3BhY2l0eTogbnVtYmVyO1xuICAvKipcbiAgICogVGhlIGNhdGVnb3JpY2FsIGNvbHVtbiB0aGF0IHNheXMgd2hhdCBUWVBFIGVhY2ggY2VsbCBpczogaXQgY29sb3VycyB0aGUgY2VsbHNcbiAgICogd2hlbmV2ZXIgbm90aGluZyBlbHNlIGlzIGNob3NlbiwgYW5kIGl0IGNvbG91cnMgZXZlcnkgdHJhbnNjcmlwdCBieSB0aGUgY2VsbCBpdFxuICAgKiBmYWxscyBpbi4gTnVsbCBwaWNrcyB0aGUgZGF0YXNldCdzIGZpcnN0IGNhdGVnb3JpY2FsIGNvbHVtbi4gU3dhcHBpbmcgYmV0d2VlbiBhXG4gICAqIHBpcGVsaW5lJ3MgY2x1c3RlcmluZyBhbmQgYSBjdXJhdGVkIGFubm90YXRpb24gaXMgc3dhcHBpbmcgdGhpcy5cbiAgICovXG4gIGNlbGxUeXBlQ29sdW1uOiBzdHJpbmcgfCBudWxsO1xuICAvKiogR2VuZXMgd2hvc2UgdHJhbnNjcmlwdHMgYXJlIGRyYXduLiAqL1xuICB0cmFuc2NyaXB0R2VuZXM6IHN0cmluZ1tdO1xuICAvKiogU2VsZWN0ZWQgZ2VuZXMgc3dpdGNoZWQgb2ZmIHdpdGggdGhlaXIgZXllIHRvZ2dsZSDigJQga2VwdCBpbiB0aGUgbGlzdCwgbm90IGRyYXduLiAqL1xuICB0cmFuc2NyaXB0SGlkZGVuR2VuZXM6IHN0cmluZ1tdO1xuICAvKiogUGVyLWdlbmUgbWFya2VyIGNvbG91ciAoYCNycmdnYmJgKTsgZ2VuZXMgbm90IGxpc3RlZCB0YWtlIHRoZSBwYWxldHRlIGJ5IHBvc2l0aW9uLiAqL1xuICB0cmFuc2NyaXB0R2VuZUNvbG9yczogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgLyoqIE5hbWVkIGdlbmUgZ3JvdXBzIChlLmcuIG1hcmtlciBnZW5lcyBwZXIgY2VsbCB0eXBlKSBmb3IgdGhlIHNlbGVjdGVkLWdlbmVzIHRyZWUuICovXG4gIHRyYW5zY3JpcHRHZW5lR3JvdXBzOiB7IG5hbWU6IHN0cmluZzsgZ2VuZXM6IHN0cmluZ1tdIH1bXTtcbiAgLyoqXG4gICAqIERyYXcgRVZFUlkgZ2VuZSdzIHRyYW5zY3JpcHRzIGluc3RlYWQgb2Yge0BsaW5rIHRyYW5zY3JpcHRHZW5lc306IGdyb3VwZWQgaW50byBiaW5zXG4gICAqIHNpemVkIGJ5IGhvdyBtYW55IHRyYW5zY3JpcHRzIHRoZXkgaG9sZCwgZmluZXIgYXMgdGhlIGNhbWVyYSB6b29tcyBpbiwgZG93biB0byBvbmVcbiAgICogbWFya2VyIHBlciB0cmFuc2NyaXB0IG9uY2UgdGhvc2UgZml0IHtAbGluayB0cmFuc2NyaXB0QnVkZ2V0fS5cbiAgICovXG4gIHRyYW5zY3JpcHRBbGxHZW5lczogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEdlbmVzIG9mIFwiQWxsIGdlbmVzXCIgc3dpdGNoZWQgb2ZmIHdpdGggdGhlaXIgZXllIHRvZ2dsZSDigJQgaXRzIG93biBsaXN0LCBzbyBoaWRpbmcgYSBnZW5lXG4gICAqIHRoZXJlIGxlYXZlcyB0aGUgc2VsZWN0aW9uJ3Mge0BsaW5rIHRyYW5zY3JpcHRIaWRkZW5HZW5lc30gYWxvbmUsIGFuZCB0aGUgb3RoZXIgd2F5IHJvdW5kLlxuICAgKiBMZWQgYnkgYCcqJ2AgKGBBTExfR0VORVNgKSwgaXQgbGlzdHMgdGhlIGdlbmVzIHN0aWxsIHNob3duIGluc3RlYWQ6IGBbJyonXWAgaGlkZXMgZXZlcnlcbiAgICogZ2VuZSwgYFsnKicsICdLUlQ1J11gIHNob3dzIEtSVDUgYWxvbmUsIHdpdGhvdXQgbmFtaW5nIHRoZSB0aG91c2FuZHMgb2Ygb3RoZXJzLlxuICAgKi9cbiAgdHJhbnNjcmlwdEFsbEdlbmVzSGlkZGVuOiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIE1vc3QgdHJhbnNjcmlwdCBtYXJrZXJzIGRyYXduIGF0IG9uY2UuIFRoZSBsZXZlbCBvZiBkZXRhaWwgaXMgY2hvc2VuIHRvIHN0YXkgdW5kZXIgaXQsXG4gICAqIHdoaWNoIGlzIHdoYXQga2VlcHMgcGFuIGFuZCB6b29tIHJlc3BvbnNpdmUgaG93ZXZlciBkZW5zZSB0aGUgZGF0YSBpcy5cbiAgICovXG4gIHRyYW5zY3JpcHRCdWRnZXQ6IG51bWJlcjtcbiAgLyoqXG4gICAqIEhvdyB0cmFuc2NyaXB0cyBhcmUgZHJhd246IGBjaXJjbGVzYCBzaXplZCBieSBob3cgbWFueSB0cmFuc2NyaXB0cyBlYWNoIHN0YW5kcyBmb3IsXG4gICAqIGBnbHlwaHNgIChvbmUgaWNvbiBzaGFwZSBwZXIgZ2VuZSksIG9yIGEgYGRlbnNpdHlgIHJhc3Rlci4gQ2lyY2xlcyBhbmQgZ2x5cGhzIGFyZVxuICAgKiBsZXZlbC1vZi1kZXRhaWwg4oCUIGFnZ3JlZ2F0ZWQgd2hlbiB6b29tZWQgb3V0LCBvbmUgcGVyIHRyYW5zY3JpcHQgYXQgdGhlIGZpbmVzdCB6b29tLlxuICAgKi9cbiAgdHJhbnNjcmlwdE1vZGU6ICdvZmYnIHwgJ2NpcmNsZXMnIHwgJ2dseXBocycgfCAnZGVuc2l0eSc7XG4gIC8qKiBDb2xvdXIgdHJhbnNjcmlwdHMgYnkgdGhlIHR5cGUgb2YgdGhlIGNlbGwgdGhleSBmYWxsIGluLCBieSBnZW5lLCBvciBieSB0aGUgZ2VuZS10cmVlXG4gICAqICBjbHVzdGVyIHRoZWlyIGdlbmUgaXMgaW4gKGluIHRoZSBjb2xvdXIgdGhhdCBjbHVzdGVyJ3MgY2VsbHMgaGF2ZSwgd2hlbiBhIGNlbGwgZ3JvdXBpbmdcbiAgICogIG5hbWVzIGl0KS4gKi9cbiAgdHJhbnNjcmlwdENvbG9yQnk6ICdjZWxsVHlwZScgfCAnZ2VuZScgfCAnY2x1c3Rlcic7XG4gIC8qKiBHbHlwaCBwZXIgZ2VuZSBmb3IgYGdseXBoc2AgbW9kZTsgZ2VuZXMgbm90IGxpc3RlZCB0YWtlIG9uZSBieSBwb3NpdGlvbi4gKi9cbiAgdHJhbnNjcmlwdEdseXBoczogUmVjb3JkPHN0cmluZywgVHJhbnNjcmlwdEdseXBoTmFtZT47XG4gIC8qKiBNdWx0aXBsaWVyIG9uIHRyYW5zY3JpcHQgbWFya2VyIHNpemUuICovXG4gIHRyYW5zY3JpcHRTY2FsZTogbnVtYmVyO1xuICB0cmFuc2NyaXB0T3BhY2l0eTogbnVtYmVyO1xuICAvKiogYGhpZ2hgIGtlZXBzIG9ubHkgY29uZmlkZW50bHkgZGVjb2RlZCB0cmFuc2NyaXB0cy4gKi9cbiAgdHJhbnNjcmlwdFF1YWxpdHk6ICdoaWdoJyB8ICdhbGwnO1xuICAvKiogT3BhY2l0eSBvZiB0aGUgdHJhbnNjcmlwdCBkZW5zaXR5IHJhc3Rlci4gKi9cbiAgZGVuc2l0eU9wYWNpdHk6IG51bWJlcjtcbiAgLyoqIERlbnNpdHkgYmluIGVkZ2UgaW4gb2JzZXJ2YXRpb24gdW5pdHMgKMK1bSk6IDEwLCAyMCwgNDAgb3IgODAuICovXG4gIGRlbnNpdHlCaW46IG51bWJlcjtcbiAgLyoqIENvbG91ciB3aW5kb3cgaW4gdHJhbnNjcmlwdHMgcGVyIHVuaXTCsiAowrVtwrIpOyBudWxsIGRlcml2ZXMgaXQgZnJvbSB0aGUgZGF0YS4gKi9cbiAgZGVuc2l0eVJhbmdlOiBbbnVtYmVyLCBudW1iZXJdIHwgbnVsbDtcbiAgLyoqIENvbG9ybWFwIGZvciB0aGUgZGVuc2l0eSBiaW5zOyBudWxsIHVzZXMgSW5mZXJuby4gKi9cbiAgZGVuc2l0eUNvbG9ybWFwOiBDb2xvcm1hcFZhbHVlIHwgbnVsbDtcbn1cblxuLyoqIFRyYW5zY3JpcHQgZ2x5cGggbmFtZXMg4oCUIHNlZSBgVFJBTlNDUklQVF9HTFlQSFNgIGluIGBzcGF0aWFsL3NwYXRpYWwtdGlsZXMudHNgLiAqL1xuZXhwb3J0IHR5cGUgVHJhbnNjcmlwdEdseXBoTmFtZSA9XG4gICdjaXJjbGUnIHwgJ3N0YXInIHwgJ3RyaWFuZ2xlJyB8ICdzcXVhcmUnIHwgJ2RpYW1vbmQnIHwgJ2Nyb3NzJyB8ICdoZXhhZ29uJyB8ICd0cmlhbmdsZS1kb3duJyB8ICdwZW50YWdvbicgfCAneCc7XG5cbi8qKlxuICogVGhlIHNwYXRpYWwgdmlldyBhIGRhdGFzZXQgb3BlbnMgd2l0aDogbm8gY29sb3VyIHNvdXJjZSwgcG9pbnRzIGFuZCB2b2x1bWUgc2hvd24sIHRoZVxuICogb3B0aW9uYWwgbGF5ZXJzIG9mZi4gQSBjb21wbGV0ZSBzdGF0ZSB0byBzcHJlYWQgcGFydGlhbCB2aWV3LXN0YXRlIHBhdGNoZXMgb3Zlci5cbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfU1BBVElBTF9WSUVXOiBTcGF0aWFsVmlld1N0YXRlID0ge1xuICBjb2xvckJ5OiBudWxsLFxuICBwb2ludFNjYWxlOiAxLFxuICBvcGFjaXR5OiAxLFxuICBsb2dTY2FsZTogZmFsc2UsXG4gIHBlcmNlbnRpbGVDbGlwOiBbMC4wMSwgMC45OV0sXG4gIGNvbnRpbnVvdXNDb2xvcm1hcDogbnVsbCxcbiAgc2hvd1ZvbHVtZTogdHJ1ZSxcbiAgdm9sdW1lT3BhY2l0eTogMC41LFxuICBzaG93UG9pbnRzOiB0cnVlLFxuICBwb2ludFNlY3Rpb246IG51bGwsXG4gIGRlbnNpdHlWb2x1bWU6IGZhbHNlLFxuICBkZW5zaXR5U21vb3RoaW5nOiAxLFxuICBnZW5lTWFwOiBmYWxzZSxcbiAgZ2VuZU1hcFNlY3Rpb246IG51bGwsXG4gIGdlbmVNYXBWb2x1bWU6IGZhbHNlLFxuICBnZW5lTWFwU21vb3RoaW5nOiAxLFxuICBnZW5lTWFwT3BhY2l0eTogMC44NSxcbiAgc2hvd0NlbGxzOiBudWxsLFxuICBjZWxsU2V0OiBudWxsLFxuICBjZWxsRHJhdzogJ2ZpbGwnLFxuICBjZWxsT3BhY2l0eTogMC41NSxcbiAgY2VsbFR5cGVDb2x1bW46IG51bGwsXG4gIHRyYW5zY3JpcHRHZW5lczogW10sXG4gIHRyYW5zY3JpcHRIaWRkZW5HZW5lczogW10sXG4gIHRyYW5zY3JpcHRHZW5lQ29sb3JzOiB7fSxcbiAgdHJhbnNjcmlwdEdlbmVHcm91cHM6IFtdLFxuICB0cmFuc2NyaXB0QWxsR2VuZXM6IGZhbHNlLFxuICB0cmFuc2NyaXB0QWxsR2VuZXNIaWRkZW46IFtdLFxuICB0cmFuc2NyaXB0QnVkZ2V0OiAxMDBfMDAwLFxuICB0cmFuc2NyaXB0TW9kZTogJ29mZicsXG4gIHRyYW5zY3JpcHRDb2xvckJ5OiAnY2VsbFR5cGUnLFxuICB0cmFuc2NyaXB0R2x5cGhzOiB7fSxcbiAgdHJhbnNjcmlwdFNjYWxlOiAxLFxuICB0cmFuc2NyaXB0T3BhY2l0eTogMC45LFxuICB0cmFuc2NyaXB0UXVhbGl0eTogJ2hpZ2gnLFxuICBkZW5zaXR5T3BhY2l0eTogMC44LFxuICBkZW5zaXR5QmluOiAxMCxcbiAgZGVuc2l0eVJhbmdlOiBudWxsLFxuICBkZW5zaXR5Q29sb3JtYXA6IG51bGwsXG4gIGNlbGxDb2xvck1vZGU6ICdncm91cCcsXG4gIGNlbGxDb2xvckdlbmU6IG51bGwsXG4gIGNlbGxTaW5nbGVDb2xvcjogJyM0ZmMzZjcnLFxuICBoaWRkZW5Hcm91cHM6IFtdLFxuICBvYnNlcnZhdGlvbkdlbmVzOiBbXSxcbiAgb2JzZXJ2YXRpb25HZW5lc01hdGNoOiAnYW55JyxcbiAgb2JzZXJ2YXRpb25HZW5lc0NvbG9yQnk6IHRydWUsXG4gIG9ic2VydmF0aW9uR2VuZUNvbG9yczoge30sXG4gIG9ic2VydmF0aW9uR2VuZUdseXBoczoge30sXG4gIHNob3dJbWFnZTogdHJ1ZSxcbiAgc2hvd0Fubm90YXRpb25zOiB0cnVlLFxufTtcbiJdfQ==
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGxheS10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29udHJhY3RzL2Rpc3BsYXktdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUE4REgsa0NBQWtDO0FBQ2xDLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBNEIsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFFbEgsNENBQTRDO0FBQzVDLE1BQU0sVUFBVSxjQUFjLENBQUMsRUFBNkI7SUFDMUQsT0FBUSxlQUFxQyxDQUFDLFFBQVEsQ0FBQyxFQUFZLENBQUMsQ0FBQztBQUN2RSxDQUFDO0FBeVFEOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFxQjtJQUNwRCxPQUFPLEVBQUUsSUFBSTtJQUNiLFVBQVUsRUFBRSxDQUFDO0lBQ2IsT0FBTyxFQUFFLENBQUM7SUFDVixRQUFRLEVBQUUsS0FBSztJQUNmLGNBQWMsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7SUFDNUIsa0JBQWtCLEVBQUUsSUFBSTtJQUN4QixVQUFVLEVBQUUsSUFBSTtJQUNoQixhQUFhLEVBQUUsR0FBRztJQUNsQixVQUFVLEVBQUUsSUFBSTtJQUNoQixZQUFZLEVBQUUsSUFBSTtJQUNsQixhQUFhLEVBQUUsS0FBSztJQUNwQixnQkFBZ0IsRUFBRSxDQUFDO0lBQ25CLE9BQU8sRUFBRSxLQUFLO0lBQ2QsY0FBYyxFQUFFLElBQUk7SUFDcEIsYUFBYSxFQUFFLEtBQUs7SUFDcEIsZ0JBQWdCLEVBQUUsQ0FBQztJQUNuQixjQUFjLEVBQUUsSUFBSTtJQUNwQixTQUFTLEVBQUUsSUFBSTtJQUNmLE9BQU8sRUFBRSxJQUFJO0lBQ2IsUUFBUSxFQUFFLE1BQU07SUFDaEIsV0FBVyxFQUFFLElBQUk7SUFDakIsY0FBYyxFQUFFLElBQUk7SUFDcEIsZUFBZSxFQUFFLEVBQUU7SUFDbkIscUJBQXFCLEVBQUUsRUFBRTtJQUN6QixvQkFBb0IsRUFBRSxFQUFFO0lBQ3hCLFdBQVcsRUFBRSxFQUFFO0lBQ2Ysb0JBQW9CLEVBQUUsRUFBRTtJQUN4QixrQkFBa0IsRUFBRSxLQUFLO0lBQ3pCLHdCQUF3QixFQUFFLEVBQUU7SUFDNUIsZ0JBQWdCLEVBQUUsT0FBTztJQUN6QixjQUFjLEVBQUUsS0FBSztJQUNyQixpQkFBaUIsRUFBRSxVQUFVO0lBQzdCLGdCQUFnQixFQUFFLEVBQUU7SUFDcEIsZUFBZSxFQUFFLENBQUM7SUFDbEIsaUJBQWlCLEVBQUUsR0FBRztJQUN0QixpQkFBaUIsRUFBRSxNQUFNO0lBQ3pCLGNBQWMsRUFBRSxHQUFHO0lBQ25CLFVBQVUsRUFBRSxFQUFFO0lBQ2QsWUFBWSxFQUFFLElBQUk7SUFDbEIsZUFBZSxFQUFFLElBQUk7SUFDckIsYUFBYSxFQUFFLE9BQU87SUFDdEIsYUFBYSxFQUFFLElBQUk7SUFDbkIsZUFBZSxFQUFFLFNBQVM7SUFDMUIsWUFBWSxFQUFFLEVBQUU7SUFDaEIsZ0JBQWdCLEVBQUUsRUFBRTtJQUNwQixxQkFBcUIsRUFBRSxLQUFLO0lBQzVCLHVCQUF1QixFQUFFLElBQUk7SUFDN0IscUJBQXFCLEVBQUUsRUFBRTtJQUN6QixxQkFBcUIsRUFBRSxFQUFFO0lBQ3pCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsZUFBZSxFQUFFLElBQUk7Q0FDdEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUHVibGljYXRpb24tY3JpdGljYWwgdHlwZXMgdGhhdCB3ZXJlIGBhbnlgIG9uIHRoZSBwdWJsaWMgY29udHJhY3RzXG4gKiAocmVmYWN0b3JpbmcgcGxhbiwgU3RlcCA2KS4gRGVsaWJlcmF0ZWx5IHBlcm1pc3NpdmUg4oCUIGV2ZXJ5IGZpZWxkIG9wdGlvbmFsIOKAlFxuICogc28gZXhpc3RpbmcgaG9zdHMgKHdoaWNoIHBhc3MgUHJpbWVORyBgVHJlZU5vZGVgcyBhbmQgcGxhaW4gb3B0aW9uIG9iamVjdHMpXG4gKiBrZWVwIGNvbXBpbGluZyB1bmNoYW5nZWQgd2hpbGUgY29uc3VtZXJzIGZpbmFsbHkgZ2V0IG5hbWVkIHNoYXBlcy5cbiAqL1xuXG4vKiogQSBjb2xvcm1hcCB2YWx1ZSBhcyBQbG90bHkgdW5kZXJzdGFuZHMgaXQ6IGEgYnVpbHQtaW4gc2NhbGUgbmFtZSAoZS5nLlxuICogICdWaXJpZGlzJykgb3IgYW4gaW5saW5lIGFycmF5IG9mIGBbc3RvcCwgY29sb3JdYCBwYWlycy4gKi9cbmV4cG9ydCB0eXBlIENvbG9ybWFwVmFsdWUgPSBzdHJpbmcgfCBBcnJheTxbbnVtYmVyLCBzdHJpbmddPjtcblxuLyoqIE9uZSBub2RlIG9mIHRoZSBjb2xvcm1hcCBzZWxlY3RvciB0cmVlIChzdHJ1Y3R1cmFsbHkgY29tcGF0aWJsZSB3aXRoIHRoZVxuICogIFByaW1lTkcgYFRyZWVOb2RlYHMgdGhlIGhvc3QgcGFzc2VzKTogZ3JvdXAgbm9kZXMgY2FycnkgYGNoaWxkcmVuYCwgbGVhZlxuICogIG5vZGVzIGNhcnJ5IHRoZSBzY2FsZSBpbiBgZGF0YS52YWx1ZWAgKCsgYSBwcmV2aWV3IGltYWdlIGluIGBkYXRhLnNyY2ApLiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb2xvcm1hcE5vZGUge1xuICBsYWJlbD86IHN0cmluZztcbiAgZGF0YT86IHsgdmFsdWU/OiBDb2xvcm1hcFZhbHVlOyBzcmM/OiBzdHJpbmcgfTtcbiAgY2hpbGRyZW4/OiBDb2xvcm1hcE5vZGVbXTtcbn1cblxuLyoqIE1hZ2ljLXdhbmQgcGl4ZWwtY29tcGFyaXNvbiBzcGFjZS4gKi9cbmV4cG9ydCB0eXBlIFdhbmRUeXBlID0gJ0dSQVknIHwgJ1JHQicgfCAnTEFCX0RJU1RBTkNFJztcblxuLyoqIE9wdGlvbnMgZm9yIHRoZSBtYWdpYy13YW5kIHRvb2wgKFF1UGF0aC1zdHlsZSkuICovXG5leHBvcnQgaW50ZXJmYWNlIElXYW5kT3B0aW9ucyB7XG4gIHR5cGU/OiBXYW5kVHlwZTtcbiAgLyoqIEdhdXNzaWFuIHNpZ21hIGFwcGxpZWQgdG8gdGhlIHBhdGNoIGJlZm9yZSB0aHJlc2hvbGRpbmcuICovXG4gIHNpZ21hPzogbnVtYmVyO1xuICAvKiogSGlnaGVyID0gc3RyaWN0ZXIgKHNtYWxsZXIgc2VsZWN0aW9uKSBmb3IgR1JBWS9SR0I7IGhpZ2hlciA9IGxvb3NlciBmb3JcbiAgICogIExBQl9ESVNUQU5DRSDigJQgbWF0Y2hlcyBRdVBhdGguICovXG4gIHNlbnNpdGl2aXR5PzogbnVtYmVyO1xuICAvKiogU3F1YXJlIHBhdGNoIHNpemUgaW4gcGl4ZWxzIChtdXN0IGJlIG9kZCkuICovXG4gIHBhdGNoU2l6ZT86IG51bWJlcjtcbiAgLyoqIFdoZW4gdHJ1ZSwgc2tpcCBibHVyL3RocmVzaG9sZCBhbmQgZmxvb2QtZmlsbCBhdCBleGFjdC1tYXRjaFxuICAgKiAgKENtZC9DdHJsLWNsaWNrIGluIFF1UGF0aCkuICovXG4gIHNpbXBsZU1vZGU/OiBib29sZWFuO1xufVxuXG4vKiogT3B0aW9ucyBmb3IgdGhlIGJydXNoIHJlZ2lvbiB0b29sIChRdVBhdGgtc3R5bGUpLiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQnJ1c2hPcHRpb25zIHtcbiAgLyoqIEJydXNoIGRpYW1ldGVyIGluIG1hdHJpeCAoaW1hZ2UpIHBpeGVscy4gKi9cbiAgc2l6ZT86IG51bWJlcjtcbiAgLyoqXG4gICAqIFBhaW50IGFzIG9uZSBjbGFzczogbmV3IHJlZ2lvbnMgdGFrZSB0aGlzIGxhYmVsLCBhbmQgYSBzdHJva2Ugb25seSBleHRlbmRzXG4gICAqIG9yIG1lcmdlcyByZWdpb25zIHdpdGggdGhlIHNhbWUgbGFiZWwuIFVuc2V0ID0gdGhlIHBsYWluIGJydXNoIChsYWJlbFxuICAgKiBgJ1JlZ2lvbidgLCBleHRlbmRzIGFueSByZWdpb24pLiBgc2V0QnJ1c2hNb2RlKHRydWUsIOKApilgIHNldHMgdGhlIGNsYXNzIGluXG4gICAqIGZ1bGw7IGBzZXRCcnVzaE9wdGlvbnNgIGNoYW5nZXMgaXQgb25seSB3aGVuIGBsYWJlbGAgb3IgYGNvbG9yYCBpcyBwYXNzZWQsXG4gICAqIHNvIGEgc2l6ZS1vbmx5IHVwZGF0ZSBrZWVwcyBpdC5cbiAgICovXG4gIGxhYmVsPzogc3RyaW5nO1xuICAvKiogQ29sb3VyIGZvciB0aGUgcGFpbnRlZCByZWdpb25zIGluc3RlYWQgb2YgdGhlIHNoYXBlIGNvbG91ci4gS2VwdCBhZ2FpbnN0IHByZXNldCByZS1hcHBseS4gKi9cbiAgY29sb3I/OiBzdHJpbmc7XG59XG5cbi8qKiBPcHRpb25zIGZvciB0aGUgdmVydGV4IGVyYXNlci4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVZlcnRleEVyYXNlck9wdGlvbnMge1xuICAvKiogRXJhc2VyIHJhZGl1cyBpbiBtYXRyaXggKGltYWdlKSBwaXhlbHMuICovXG4gIHJhZGl1cz86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBUaGUgb24tY2FudmFzIHRvb2xzIGBJVG9vbENvbnRyb2xsZXIuc2V0QWN0aXZlVG9vbGAgYXJtczogbWFnaWMgd2FuZCwgYnJ1c2gsXG4gKiB2ZXJ0ZXggZXJhc2VyLCBib3ggem9vbSBhbmQgU0FNIHBvaW50IHByb21wdHMuIEFueSBvdGhlciBpZCAoYSByZWdpb24gZHJhd1xuICogbW9kZSBzdWNoIGFzIGAnZHJhd3JlY3QnYCwgYCdwYW4nYCkgYXJtcyBub25lIG9mIHRoZW0uXG4gKi9cbmV4cG9ydCB0eXBlIENhbnZhc1Rvb2xJZCA9ICd3YW5kJyB8ICdicnVzaCcgfCAnZXJhc2VWZXJ0ZXgnIHwgJ3pvb21Ub0JveCcgfCAnc2FtUG9pbnQnO1xuXG4vKiogRXZlcnkge0BsaW5rIENhbnZhc1Rvb2xJZH0uICovXG5leHBvcnQgY29uc3QgQ0FOVkFTX1RPT0xfSURTOiByZWFkb25seSBDYW52YXNUb29sSWRbXSA9IFsnd2FuZCcsICdicnVzaCcsICdlcmFzZVZlcnRleCcsICd6b29tVG9Cb3gnLCAnc2FtUG9pbnQnXTtcblxuLyoqIFdoZXRoZXIgYGlkYCBuYW1lcyBhbiBvbi1jYW52YXMgdG9vbC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0NhbnZhc1Rvb2xJZChpZDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCk6IGlkIGlzIENhbnZhc1Rvb2xJZCB7XG4gIHJldHVybiAoQ0FOVkFTX1RPT0xfSURTIGFzIHJlYWRvbmx5IHN0cmluZ1tdKS5pbmNsdWRlcyhpZCBhcyBzdHJpbmcpO1xufVxuXG4vKiogT3B0aW9ucyBmb3Ige0BsaW5rIENhbnZhc1Rvb2xJZH0gdG9vbHM6IHRoZSB3YW5kJ3MsIHRoZSBicnVzaCdzIG9yIHRoZSBlcmFzZXIncy4gKi9cbmV4cG9ydCB0eXBlIENhbnZhc1Rvb2xPcHRpb25zID0gSVdhbmRPcHRpb25zIHwgSUJydXNoT3B0aW9ucyB8IElWZXJ0ZXhFcmFzZXJPcHRpb25zO1xuXG4vKiogV2hhdCBkcml2ZXMgcG9pbnQgY29sb3VyIGluIHRoZSBzcGF0aWFsLW9taWNzIG1vZGU6IGFuIGFubm90YXRpb24gY29sdW1uXG4gKiAgZnJvbSB0aGUgZGF0YXNldCwgb3Igb25lIGZlYXR1cmUgKGdlbmUpIHZlY3RvciBmZXRjaGVkIG9uIGRlbWFuZC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3BhdGlhbENvbG9yQnkge1xuICBraW5kOiAnY29sdW1uJyB8ICdmZWF0dXJlJztcbiAgbmFtZTogc3RyaW5nO1xufVxuXG4vKiogRGlzcGxheSBzdGF0ZSBmb3IgdGhlIHNwYXRpYWwtb21pY3MgcGxvdCBtb2RlLiBMaXZlcyBpbiBgVmlzdWFsaXplclN0b3JlYFxuICogIGFsb25nc2lkZSB0aGUgY29sb3JtYXAvY2hhbm5lbCBzdGF0ZSBzbyB0aGUgcmVuZGVyZXIgcmVhY3RzIHRvIGVkaXRzIHRoZVxuICogIHNhbWUgd2F5IGl0IGRvZXMgZm9yIGFuIGltYWdlLiAqL1xuZXhwb3J0IGludGVyZmFjZSBTcGF0aWFsVmlld1N0YXRlIHtcbiAgLyoqIENvbG91ciBzb3VyY2U7IGBudWxsYCByZW5kZXJzIGV2ZXJ5IG9ic2VydmF0aW9uIGluIG9uZSBuZXV0cmFsIGNvbG91clxuICAgKiAgKHVzZWZ1bCBvbiBpdHMgb3duIOKAlCBpdCBzaG93cyB3aGVyZSB0aGUgdGlzc3VlIGFjdHVhbGx5IGlzKS4gKi9cbiAgY29sb3JCeTogU3BhdGlhbENvbG9yQnkgfCBudWxsO1xuICAvKiogTXVsdGlwbGllciBvbiB0aGUgZGF0YXNldCdzIHBoeXNpY2FsIG1hcmtlciBzaXplLiAxID0gdHJ1ZSBzaXplLCB3aGljaCBmb3JcbiAgICogIGEgNTUgwrVtIFZpc2l1bSBzcG90IGlzIGNvcnJlY3QgYnV0IGNhbiBiZSBpbnZpc2libGUgd2hlbiB6b29tZWQgb3V0LiAqL1xuICBwb2ludFNjYWxlOiBudW1iZXI7XG4gIC8qKiBBbHBoYSBmb3IgcG9pbnRzIHRoYXQgYXJlIG5vdCBtdXRlZC4gKi9cbiAgb3BhY2l0eTogbnVtYmVyO1xuICAvKiogTG9nLXNjYWxlIGNvbnRpbnVvdXMgdmFsdWVzIGJlZm9yZSBtYXBwaW5nIHRoZW0gb250byB0aGUgY29sb3JtYXAuIFNlZWRlZFxuICAgKiAgZnJvbSB0aGUgY29sdW1uJ3MgYGxvZ1NjYWxlSGludGAg4oCUIGNvdW50IGRhdGEgbmVlZHMgaXQuICovXG4gIGxvZ1NjYWxlOiBib29sZWFuO1xuICAvKiogUGVyY2VudGlsZSBjbGlwIGZvciB0aGUgY29udHJhc3Qgd2luZG93IGFzIGBbbG8sIGhpXWAgZnJhY3Rpb25zLCBzbyBhXG4gICAqICBoYW5kZnVsIG9mIHNhdHVyYXRlZCBvYnNlcnZhdGlvbnMgZG9uJ3QgZmxhdHRlbiB0aGUgcmVzdC4gKi9cbiAgcGVyY2VudGlsZUNsaXA6IFtudW1iZXIsIG51bWJlcl07XG4gIC8qKlxuICAgKiBDb2xvcm1hcCBmb3IgQ09OVElOVU9VUyBzcGF0aWFsIGNvbG91cmluZyDigJQgYSBnZW5lLCBhIG51bWVyaWMgY29sdW1uIOKAlCBhcyBhXG4gICAqIHtAbGluayBDb2xvcm1hcFZhbHVlfSwgdGhlIHNhbWUgc2hhcGUgdGhlIGRpc3BsYXkgY29sb3JtYXAgY2FycmllczogYSBzY2FsZVxuICAgKiBOQU1FIGZvciB0aGUgYnVpbHQtaW5zLCBvciBhbiBpbmxpbmUgYFtzdG9wLCBjb2xvdXJdYCBhcnJheSBmb3IgdGhlIHJlc3QuXG4gICAqIE51bGwgZm9sbG93cyB0aGUgZGlzcGxheSBjb2xvcm1hcC5cbiAgICpcbiAgICogSXRzIG93biBzZXR0aW5nIGJlY2F1c2UgdGhlIGRpc3BsYXkgY29sb3JtYXAgYmVsb25ncyB0byB0aGUgdGlzc3VlIGltYWdlIGFuZFxuICAgKiBpcyB1c3VhbGx5IGEgZ3JleSByYW1wLCB3aGljaCBpcyB0aGUgd3JvbmcgdGhpbmcgdG8gcmVhZCBhIG1lYXN1cmVtZW50XG4gICAqIHRocm91Z2g6IGdyZXkgb3ZlciBncmV5IGNhbm5vdCBiZSB0b2xkIGFwYXJ0IGZyb20gdGhlIGFuYXRvbXkuIEZvbGxvd2luZyBpdFxuICAgKiAod2l0aCBhIFZpcmlkaXMgZmFsbGJhY2sgZm9yIGV4YWN0bHkgdGhhdCBjYXNlKSBpcyBhIHJlYXNvbmFibGUgZGVmYXVsdCBhbmQgYVxuICAgKiBwb29yIGNlaWxpbmcsIHNpbmNlIHdoaWNoIGdyYWRpZW50IHJlYWRzIGJlc3QgaXMgYSBqdWRnZW1lbnQgYWJvdXQgdGhlIGRhdGEuXG4gICAqXG4gICAqIE9uZSBzZXR0aW5nIGZvciB0aGUgbWFya2VycywgdGhlIDJEIGdlbmUgbWFwIGFuZCB0aGUgM0QgZ2VuZSBtYXAgdG9nZXRoZXIsIHNvXG4gICAqIHRoZSBmaWVsZCB1bmRlciB0aGUgY2VsbHMgYW5kIHRoZSBjZWxscyBvdmVyIGl0IGNhbm5vdCBkaXNhZ3JlZSBhYm91dCB3aGF0IGFcbiAgICogY29sb3VyIG1lYW5zIOKAlCBhbmQgdGhlIHBhbmVsJ3Mgb3duIGNvbG91ciBiYXIgaXMgYnVpbHQgZnJvbSBpdCB0b28uXG4gICAqL1xuICBjb250aW51b3VzQ29sb3JtYXA6IENvbG9ybWFwVmFsdWUgfCBudWxsO1xuICAvKipcbiAgICogV2hhdCB0aGUgM0Qgc2NlbmUgZHJhd3MuIFRoZSB0aHJlZSB0aGluZ3MgaW4gaXQg4oCUIHRoZSByZWZlcmVuY2Ugdm9sdW1lLCB0aGVcbiAgICogb2JzZXJ2YXRpb24gY2xvdWQgYW5kIHRoZSBjbHVzdGVyIGRlbnNpdHkgdm9sdW1lcyDigJQgb2NjdXB5IHRoZSBzYW1lIHNwYWNlLCBzb1xuICAgKiBhbnkgdHdvIG9mIHRoZW0gaGlkZSBlYWNoIG90aGVyIHRvIHNvbWUgZGVncmVlLiBUaGVzZSBhcmUgaW5kZXBlbmRlbnQgYmVjYXVzZVxuICAgKiB0aGUgdXNlZnVsIHZpZXdzIGFyZSB0aGUgY29tYmluYXRpb25zOiB0aGUgdm9sdW1lcyBhbG9uZSB0byByZWFkIGFuIGVzdGltYXRlZFxuICAgKiBkaXN0cmlidXRpb24sIG9uZSBzZWN0aW9uJ3MgY2VsbHMgb3ZlciB0aGVtIHRvIGNoZWNrIHRoYXQgZXN0aW1hdGUgYWdhaW5zdCB0aGVcbiAgICogbWVhc3VyZW1lbnQsIHRoZSBhbmF0b215IGFsb25lIHRvIGZpbmQgYSBsYW5kbWFyay5cbiAgICpcbiAgICogVmlzaWJpbGl0eSBvbmx5IOKAlCB0aGUgbGF5ZXJzIHN0YXkgYnVpbHQsIHNvIHRvZ2dsaW5nIG9uZSBiYWNrIG9uIGlzIGltbWVkaWF0ZVxuICAgKiBhbmQgZG9lcyBub3QgcmUtcnVuIGEgcmFzdGVyaXNhdGlvbi4ge0BsaW5rIGRlbnNpdHlWb2x1bWV9IGlzIHRoZSBleGNlcHRpb24gYW5kXG4gICAqIGdlbnVpbmVseSBnYXRlcyBjb25zdHJ1Y3Rpb24sIGJlY2F1c2UgYnVpbGRpbmcgc2l4IHZvbHVtZXMgaXMgbm90IGZyZWUuXG4gICAqL1xuICBzaG93Vm9sdW1lOiBib29sZWFuO1xuICAvKipcbiAgICogVGhlIHJlZmVyZW5jZSB2b2x1bWUncyBvcGFjaXR5LlxuICAgKlxuICAgKiBJdHMgb3duLCBub3Qge0BsaW5rIG9wYWNpdHl9ICh3aGljaCBiZWxvbmdzIHRvIHRoZSBtYXJrZXJzKTogdGhlIHZvbHVtZSBpcyBhXG4gICAqIEJBQ0tEUk9QLCBhbmQgcmVhZGluZyB0aGUgY2xvdWQgb3IgYSBkZW5zaXR5IGZpZWxkIHRocm91Z2ggaXQgbWVhbnMgdHVybmluZ1xuICAgKiB0aGUgYW5hdG9teSBkb3duIHdpdGhvdXQgdG91Y2hpbmcgdGhlIGRhdGEgZHJhd24gb3ZlciBpdC4gUmFuZ2VzIGxvd2VyIHRoYW5cbiAgICogdGhlIG1hcmtlcnMnIHNsaWRlciBmb3IgdGhlIHNhbWUgcmVhc29uIOKAlCBhIGZhaW50IGFuYXRvbWljYWwgaGludCBpcyBhIHVzZWZ1bFxuICAgKiBzZXR0aW5nIGZvciBhIGJhY2tkcm9wIGFuZCBhIHVzZWxlc3Mgb25lIGZvciB0aGUgbWVhc3VyZW1lbnQuXG4gICAqL1xuICB2b2x1bWVPcGFjaXR5OiBudW1iZXI7XG4gIC8qKiBEcmF3IHRoZSBvYnNlcnZhdGlvbiBtYXJrZXJzIOKAlCB0aGUgM0QgY2xvdWQsIG9yIHRoZSAyRCBjaXJjbGVzLiBJbiAyRCB0aGV5IGFyZSBkcmF3biBhdFxuICAgKiAgZXZlcnkgem9vbSwgbmV2ZXIgdW5kZXIgYSBjb3VwbGUgb2Ygc2NyZWVuIHBpeGVscywgd2l0aCBhbnkgY2VsbCBvdXRsaW5lcyBvdmVyIHRoZW0uICovXG4gIHNob3dQb2ludHM6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBSZXN0cmljdCB0aGUgY2xvdWQgdG8gT05FIGltYWdlZCBzZWN0aW9uLCBieSBpbmRleCBpbnRvIHRoZSBkYXRhc2V0J3Mgc2FtcGxlZFxuICAgKiBzZWN0aW9uczsgbnVsbCBkcmF3cyBldmVyeSBzZWN0aW9uLlxuICAgKlxuICAgKiBUaGUgd2hvbGUgY2xvdWQgaXMgYSBzdGFjayBvZiBkaXNjcyB0aGF0IGhpZGVzIHdoYXRldmVyIGlzIGRyYXduIGJldHdlZW4gdGhlbS5cbiAgICogT25lIHNlY3Rpb24gYXQgYSB0aW1lIGlzIHRoZSB2aWV3IHRoYXQgYW5zd2VycyBcImRvZXMgdGhlIGVzdGltYXRlZCBmaWVsZFxuICAgKiBhY3R1YWxseSBmb2xsb3cgdGhlIGNlbGxzIEkgbWVhc3VyZWRcIiDigJQgYW5kIGl0IGlzIG9ubHkgb2ZmZXJlZCBmb3IgZGF0YSB0aGF0XG4gICAqIHJlYWxseSBpcyBzZWN0aW9uZWQgKHNlZSBgc2FtcGxlZFNlY3Rpb25zYCkuXG4gICAqL1xuICBwb2ludFNlY3Rpb246IG51bWJlciB8IG51bGw7XG4gIC8qKlxuICAgKiBEcmF3IGVhY2ggY2x1c3RlciBhcyBhIHRyYW5zbHVjZW50IERFTlNJVFkgdm9sdW1lIGFsb25nc2lkZSB0aGUgM0QgY2xvdWQuXG4gICAqXG4gICAqIFNlcmlhbCBzZWN0aW9ucyBodW5kcmVkcyBvZiBtaWNyb25zIGFwYXJ0IG1ha2UgYSBjbG91ZCBoYXJkIHRvIHJlYWQgYXMgYW5cbiAgICogYW5hdG9taWNhbCBkaXN0cmlidXRpb24g4oCUIHRoZSBleWUgY2Fubm90IGludGVncmF0ZSBkaXNjcyBpbnRvIGEgc2hhcGUuIEFcbiAgICogZGVuc2l0eSBmaWVsZCBjYW4gYmUgZXN0aW1hdGVkIGJldHdlZW4gdGhlIGltYWdlZCBwbGFuZXMgKGEgY29udGludW91c1xuICAgKiBlc3RpbWF0ZSwgdW5saWtlIGluZGl2aWR1YWwgY2VsbHMsIHdoaWNoIGhhdmUgbm8gY29ycmVzcG9uZGVuY2UgdG9cbiAgICogaW50ZXJwb2xhdGUgYWxvbmcpIGFuZCByZW5kZXJzIGFzIGEgY2xvdWQgdGhhdCByZWFkcyBhcyBhbiBlc3RpbWF0ZS5cbiAgICovXG4gIGRlbnNpdHlWb2x1bWU6IGJvb2xlYW47XG4gIC8qKiBNdWx0aXBsaWVyIG9uIHRoZSBkZWZhdWx0IGtlcm5lbCBiYW5kd2lkdGguIEFib3ZlIDEgaXMgc21vb3RoZXIgYW5kIGxlc3NcbiAgICogIGNvbW1pdHRhbDsgYmVsb3cgMSBleHBvc2VzIHRoZSBpbmRpdmlkdWFsIHNlY3Rpb25zLiAqL1xuICBkZW5zaXR5U21vb3RoaW5nOiBudW1iZXI7XG4gIC8qKlxuICAgKiBEcmF3IHRoZSBhY3RpdmUgR0VORSBhcyBhIGNvbnRpbnVvdXMgZmllbGQgdW5kZXIgdGhlIG9ic2VydmF0aW9ucyAoMkQpLlxuICAgKlxuICAgKiBDb2xvdXJpbmcgdGhlIG1hcmtlcnMgYnkgYSBnZW5lIHNheXMgd2hpY2ggY2VsbHMgZXhwcmVzcyBpdDsgaXQgY2Fubm90IHNheVxuICAgKiB3aGVyZSwgYmVjYXVzZSB0aGUgZXllIHdpbGwgbm90IGludGVncmF0ZSB0aG91c2FuZHMgb2YgZG90cyBpbnRvIGEgdGVycml0b3J5LlxuICAgKiBUaGUgZmllbGQgaXMgYW4gZXN0aW1hdGUg4oCUIGEga2VybmVsLXdlaWdodGVkIG1lYW4gcGVyIGNlbGwsIHRyYW5zcGFyZW50IHdoZXJlXG4gICAqIG5vIGNlbGwgd2FzIG1lYXN1cmVkIOKAlCBhbmQgaXQgaXMgZHJhd24gYmVuZWF0aCB0aGUgY2VsbHMsIG5vdCBpbnN0ZWFkIG9mIHRoZW0sXG4gICAqIHNvIHRoZSBtZWFzdXJlbWVudCBzdGF5cyBvbiBzY3JlZW4gbmV4dCB0byB0aGUgaW50ZXJwb2xhdGlvbi5cbiAgICpcbiAgICogSWdub3JlZCB1bmxlc3MgdGhlIGNvbG91ciBzb3VyY2UgaXMgYSBnZW5lOiB0aGVyZSBpcyBub3RoaW5nIGVsc2UgdG8gbWFwLlxuICAgKi9cbiAgZ2VuZU1hcDogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFJlc3RyaWN0IHRoZSAzRCBnZW5lIG1hcCB0byBPTkUgaW1hZ2VkIHNlY3Rpb24sIGJ5IGluZGV4IGludG8gdGhlIGRhdGFzZXQnc1xuICAgKiBzYW1wbGVkIHNlY3Rpb25zOyBudWxsIGRyYXdzIGV2ZXJ5IHNlY3Rpb24ncyBzaGVldC5cbiAgICpcbiAgICogU2VwYXJhdGUgZnJvbSB7QGxpbmsgcG9pbnRTZWN0aW9ufSBzbyB0aGUgY29tYmluYXRpb25zIHN0YXkgb3BlbjogYWxsIHRoZVxuICAgKiBzaGVldHMgd2l0aCBvbmUgc2VjdGlvbidzIGNlbGxzIG92ZXIgdGhlbSBpcyBhIHVzZWZ1bCB2aWV3LCBhbmQgc28gaXMgb25lXG4gICAqIHNoZWV0IGluc2lkZSB0aGUgd2hvbGUgY2xvdWQuIElnbm9yZWQgd2hpbGUge0BsaW5rIGdlbmVNYXBWb2x1bWV9IGlzIHNldCDigJRcbiAgICogaW50ZXJwb2xhdGluZyBhIHNpbmdsZSBzZWN0aW9uIGFsb25nIHogd291bGQgc21lYXIgb25lIHNsaWRlIHRocm91Z2ggdGhlXG4gICAqIHNwZWNpbWVuJ3Mgd2hvbGUgZGVwdGggYW5kIGNhbGwgaXQgYW4gZXN0aW1hdGUuXG4gICAqL1xuICBnZW5lTWFwU2VjdGlvbjogbnVtYmVyIHwgbnVsbDtcbiAgLyoqXG4gICAqIFNtb290aCB0aGUgcGVyLXNlY3Rpb24gZ2VuZSBtYXBzIGFsb25nIHogaW50byBhIGNvbnRpbnVvdXMgVk9MVU1FICgzRCkuXG4gICAqXG4gICAqIFRoZSBzaGVldHMgYXJlIHdoYXQgd2FzIG1lYXN1cmVkIOKAlCBvbmUgZmllbGQgcGVyIGltYWdlZCBzbGlkZSwgd2l0aCB0aGUgZ2Fwc1xuICAgKiBiZXR3ZWVuIHRoZW0gZW1wdHkuIFRoaXMgdHVybnMgdGhlbSBpbnRvIGFuIGVzdGltYXRlIGRlZmluZWQgYmV0d2VlbiB0aGVcbiAgICogc2xpZGVzLCB0aGUgc2FtZSBtb3ZlIHRoZSBjbHVzdGVyIGRlbnNpdHkgdm9sdW1lcyBtYWtlIGFuZCB3aXRoIHRoZSBzYW1lXG4gICAqIGNhdmVhdDogYSBmaWVsZCBtYXkgYmUgaW50ZXJwb2xhdGVkIGJldHdlZW4gc2VjdGlvbnMsIGluZGl2aWR1YWwgY2VsbHMgbWF5XG4gICAqIG5vdCwgYW5kIHRoZSByZXN1bHQgaXMgZHJhd24gYXMgYSB0cmFuc2x1Y2VudCBjbG91ZCBzbyBpdCBjYW5ub3QgYmUgbWlzdGFrZW5cbiAgICogZm9yIG1lYXN1cmVtZW50LlxuICAgKi9cbiAgZ2VuZU1hcFZvbHVtZTogYm9vbGVhbjtcbiAgLyoqIE11bHRpcGxpZXIgb24gdGhlIGdlbmUgbWFwJ3Mga2VybmVsIGJhbmR3aWR0aC4gKi9cbiAgZ2VuZU1hcFNtb290aGluZzogbnVtYmVyO1xuICAvKiogVGhlIGdlbmUgbWFwJ3Mgb3duIG9wYWNpdHkuIFNlcGFyYXRlIGZyb20ge0BsaW5rIG9wYWNpdHl9LCB3aGljaCBiZWxvbmdzIHRvXG4gICAqICB0aGUgbWFya2VyczogdHVybmluZyB0aGUgY2VsbHMgZG93biB0byByZWFkIHRoZSBmaWVsZCB1bmRlcm5lYXRoIG11c3Qgbm90XG4gICAqICB0dXJuIHRoZSBmaWVsZCBkb3duIHdpdGggdGhlbS4gKi9cbiAgZ2VuZU1hcE9wYWNpdHk6IG51bWJlcjtcbiAgLyoqXG4gICAqIERyYXcgY2VsbCBib3VuZGFyaWVzIChmb3IgYSBkYXRhc2V0IHdpdGggYHBvbHlnb25UaWxlc2Agb3IgYHBvbHlnb25zYCkuXG4gICAqXG4gICAqIE91dGxpbmVzIGFyZSBsZXZlbC1vZi1kZXRhaWw6IGNvYXJzZSByaW5ncyB3aGVuIHpvb21lZCBvdXQsIGV2ZXJ5IHZlcnRleCBhdCB0aGVcbiAgICogZmluZXN0IHpvb20sIGFuZCBub25lIGF0IGFsbCBvbmNlIGEgY2VsbCBpcyBhIGZldyBwaXhlbHMgd2lkZSDigJQgdGhlcmUgdGhlXG4gICAqIG9ic2VydmF0aW9uIG1hcmtlcnMgYWxyZWFkeSBkcmF3IGl0IGFzIGEgZG90LlxuICAgKlxuICAgKiBgbnVsbGAgKHRoZSBkZWZhdWx0KSBtZWFucyBhdXRvbWF0aWM6IG9uIGZvciBhbnkgZGF0YXNldCB0aGF0IGhhcyBvdXRsaW5lcywgc2luY2UgYVxuICAgKiBzZWdtZW50ZWQgY2VsbCBpcyBiZXR0ZXIgc2hvd24gYXMgaXRzIHNoYXBlIHRoYW4gYXMgYSBjaXJjbGUuIEEgYm9vbGVhbiBpcyB0aGVcbiAgICogdXNlcidzIGV4cGxpY2l0IGNob2ljZS5cbiAgICovXG4gIHNob3dDZWxsczogYm9vbGVhbiB8IG51bGw7XG4gIC8qKiBXaGljaCBib3VuZGFyeSBzZXQgKGBjZWxsYCwgYG51Y2xldXNgLCBvciBgYm90aGAg4oCUIGNlbGxzIGFzIHNldCBieVxuICAgKiAge0BsaW5rIGNlbGxEcmF3fSwgbnVjbGVpIG91dGxpbmVkIG92ZXIgdGhlbSk7IG51bGwgdGFrZXMgdGhlIGRhdGFzZXQncyBkZWZhdWx0LiAqL1xuICBjZWxsU2V0OiBzdHJpbmcgfCBudWxsO1xuICAvKipcbiAgICogV2hhdCBjb2xvdXJzIHRoZSBjZWxscyDigJQgWGVuaXVtIEV4cGxvcmVyJ3MgXCJDZWxsIENvbG9yXCI6IHRoZSBhY3RpdmUgZ3JvdXBcbiAgICogKHtAbGluayBjZWxsVHlwZUNvbHVtbn0pLCBvbmUgZ2VuZSdzIGV4cHJlc3Npb24gKHtAbGluayBjZWxsQ29sb3JHZW5lfSksIHRoZSBjZWxsJ3NcbiAgICogdHJhbnNjcmlwdCBkZW5zaXR5LCBvbmUgZmxhdCBjb2xvdXIsIG9yIGhvdyB0aGUgY2VsbCB3YXMgc2VnbWVudGVkLlxuICAgKi9cbiAgY2VsbENvbG9yTW9kZTogJ2dyb3VwJyB8ICdnZW5lJyB8ICd0cmFuc2NyaXB0RGVuc2l0eScgfCAnc2luZ2xlJyB8ICdzZWdtZW50YXRpb24nO1xuICBjZWxsQ29sb3JHZW5lOiBzdHJpbmcgfCBudWxsO1xuICAvKiogYCNycmdnYmJgIGZvciB7QGxpbmsgY2VsbENvbG9yTW9kZX0gYHNpbmdsZWAuICovXG4gIGNlbGxTaW5nbGVDb2xvcjogc3RyaW5nO1xuICAvKipcbiAgICogQ2F0ZWdvcmllcyBvZiB7QGxpbmsgY2VsbFR5cGVDb2x1bW59IHN3aXRjaGVkIG9mZiBpbiB0aGUgZ3JvdXBzIGxpc3Q6IHRoZWlyIGNlbGxzIGFyZVxuICAgKiBub3QgZHJhd24sIG5vciB0aGUgdHJhbnNjcmlwdHMgaW5zaWRlIHRoZW0uIENsZWFyZWQgd2hlbiB0aGUgZ3JvdXAgY29sdW1uIGNoYW5nZXMuXG4gICAqL1xuICBoaWRkZW5Hcm91cHM6IHN0cmluZ1tdO1xuICAvKipcbiAgICogR2VuZXMgd2hvc2Ugb2JzZXJ2YXRpb25zIGFyZSBkcmF3bjogd2l0aCBhbnkgc2V0LCBvbmx5IHRoZSBvYnNlcnZhdGlvbnMgdGhhdCBleHByZXNzXG4gICAqIHRoZW0gKGEgdmFsdWUgYWJvdmUgMCkgYXJlIGRyYXduIOKAlCB0aGUgbWFya2VycywgdGhlIGNlbGwgb3V0bGluZXMgYW5kIHRoZSB0cmFuc2NyaXB0c1xuICAgKiBpbnNpZGUgdGhlbSwgaW4gMkQgYW5kIGluIHRoZSAzRCBjbG91ZCDigJQgYW5kIHRoZSByZXN0IGFyZSBoaWRkZW4uIEVtcHR5IGRyYXdzIGV2ZXJ5XG4gICAqIG9ic2VydmF0aW9uLiBDbGVhcmVkIHdoZW4gdGhlIGRhdGFzZXQgY2hhbmdlcy5cbiAgICovXG4gIG9ic2VydmF0aW9uR2VuZXM6IHN0cmluZ1tdO1xuICAvKiogV2hldGhlciBhbiBvYnNlcnZhdGlvbiBtdXN0IGV4cHJlc3MgYW55IG9mIHtAbGluayBvYnNlcnZhdGlvbkdlbmVzfSwgb3IgYWxsIG9mIHRoZW0uICovXG4gIG9ic2VydmF0aW9uR2VuZXNNYXRjaDogJ2FueScgfCAnYWxsJztcbiAgLyoqXG4gICAqIENvbG91ciAoYW5kIG1hcmspIHRoZSBmaWx0ZXJlZCBvYnNlcnZhdGlvbnMgYnkgdGhlaXIgZ2VuZTogZWFjaCBkcmF3biBvYnNlcnZhdGlvbiBpbiB0aGVcbiAgICogY29sb3VyIGFuZCBpY29uIG9mIHRoZSBwaWNrZWQgZ2VuZSBpdCBleHByZXNzZXMgbW9zdCAocmVsYXRpdmUgdG8gdGhhdCBnZW5lJ3MgaGlnaGVzdFxuICAgKiB2YWx1ZSksIGluIHBsYWNlIG9mIHtAbGluayBjb2xvckJ5fS4gT2ZmLCB7QGxpbmsgY29sb3JCeX0gY29sb3VycyB0aGVtIGFzIGJlZm9yZS5cbiAgICovXG4gIG9ic2VydmF0aW9uR2VuZXNDb2xvckJ5OiBib29sZWFuO1xuICAvKiogYCNycmdnYmJgIHBlciBnZW5lIG9mIHtAbGluayBvYnNlcnZhdGlvbkdlbmVzfTsgYSBnZW5lIGxlZnQgb3V0IHRha2VzIHRoZSBwYWxldHRlJ3MgY29sb3VyXG4gICAqICBmb3IgaXRzIHBsYWNlIGluIHRoZSBsaXN0LiAqL1xuICBvYnNlcnZhdGlvbkdlbmVDb2xvcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIC8qKiBUaGUgaWNvbiBwZXIgZ2VuZSBvZiB7QGxpbmsgb2JzZXJ2YXRpb25HZW5lc30gKDJEKTsgYSBnZW5lIGxlZnQgb3V0IGlzIGRyYXduIGFzIGEgY2lyY2xlLiAqL1xuICBvYnNlcnZhdGlvbkdlbmVHbHlwaHM6IFJlY29yZDxzdHJpbmcsIFRyYW5zY3JpcHRHbHlwaE5hbWU+O1xuICAvKiogRHJhdyB0aGUgdGlzc3VlIGltYWdlICh0aGUgSW1hZ2VzIHNlY3Rpb24ncyBzd2l0Y2gpLiAqL1xuICBzaG93SW1hZ2U6IGJvb2xlYW47XG4gIC8qKiBEcmF3IHRoZSBhbm5vdGF0aW9uIHJlZ2lvbnMgKHRoZSBBbm5vdGF0aW9ucyBzZWN0aW9uJ3Mgc3dpdGNoKS4gU2VsZWN0aW5nIGZyb20gdGhlbVxuICAgKiAgc3RpbGwgd29ya3Mgd2hpbGUgdGhleSBhcmUgaGlkZGVuLiAqL1xuICBzaG93QW5ub3RhdGlvbnM6IGJvb2xlYW47XG4gIC8qKiBGaWxsIHRoZSBjZWxscyB3aXRoIHRoZWlyIGNvbG91ciwgb3V0bGluZSB0aGVtLCBvciBib3RoLiAqL1xuICBjZWxsRHJhdzogJ2ZpbGwnIHwgJ291dGxpbmUnIHwgJ2JvdGgnO1xuICAvKiogT3BhY2l0eSBvZiB0aGUgY2VsbCBmaWxsIChvdXRsaW5lcyBkcmF3IG9wYXF1ZSkuICovXG4gIGNlbGxPcGFjaXR5OiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgY2F0ZWdvcmljYWwgY29sdW1uIHRoYXQgc2F5cyB3aGF0IFRZUEUgZWFjaCBjZWxsIGlzOiBpdCBjb2xvdXJzIHRoZSBjZWxsc1xuICAgKiB3aGVuZXZlciBub3RoaW5nIGVsc2UgaXMgY2hvc2VuLCBhbmQgaXQgY29sb3VycyBldmVyeSB0cmFuc2NyaXB0IGJ5IHRoZSBjZWxsIGl0XG4gICAqIGZhbGxzIGluLiBOdWxsIHBpY2tzIHRoZSBkYXRhc2V0J3MgZmlyc3QgY2F0ZWdvcmljYWwgY29sdW1uLiBTd2FwcGluZyBiZXR3ZWVuIGFcbiAgICogcGlwZWxpbmUncyBjbHVzdGVyaW5nIGFuZCBhIGN1cmF0ZWQgYW5ub3RhdGlvbiBpcyBzd2FwcGluZyB0aGlzLlxuICAgKi9cbiAgY2VsbFR5cGVDb2x1bW46IHN0cmluZyB8IG51bGw7XG4gIC8qKiBHZW5lcyB3aG9zZSB0cmFuc2NyaXB0cyBhcmUgZHJhd24uICovXG4gIHRyYW5zY3JpcHRHZW5lczogc3RyaW5nW107XG4gIC8qKiBTZWxlY3RlZCBnZW5lcyBzd2l0Y2hlZCBvZmYgd2l0aCB0aGVpciBleWUgdG9nZ2xlIOKAlCBrZXB0IGluIHRoZSBsaXN0LCBub3QgZHJhd24uICovXG4gIHRyYW5zY3JpcHRIaWRkZW5HZW5lczogc3RyaW5nW107XG4gIC8qKiBQZXItZ2VuZSBtYXJrZXIgY29sb3VyIChgI3JyZ2diYmApOyBnZW5lcyBub3QgbGlzdGVkIHRha2UgdGhlIHBhbGV0dGUgYnkgcG9zaXRpb24uICovXG4gIHRyYW5zY3JpcHRHZW5lQ29sb3JzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAvKipcbiAgICogQ29sb3VycyB0aGUgdXNlciBjaG9zZSBmb3IgZ3JvdXBzIG9mIGEgY2F0ZWdvcmljYWwgY29sdW1uIChgI3JyZ2diYmApLCBieSBjb2x1bW4gbmFtZSBhbmRcbiAgICogdGhlbiBjYXRlZ29yeTogdGhleSBvdmVycmlkZSB0aGUgY29sdW1uJ3Mgb3duIGFuZCB0aGUgcGFsZXR0ZSdzLCB3aGVyZXZlciB0aGF0IGdyb3VwaW5nXG4gICAqIGNvbG91cnMgYW55dGhpbmcgKGNlbGxzLCBtYXJrZXJzLCB0cmFuc2NyaXB0cyBieSBjZWxsIHR5cGUsIGxlZ2VuZHMsIGNoYXJ0cykuIEdyb3VwcyBub3RcbiAgICogbGlzdGVkIGtlZXAgdGhlaXIgY29sb3VyLiBDbGVhcmVkIHdoZW4gdGhlIGRhdGFzZXQgY2hhbmdlcy5cbiAgICovXG4gIGdyb3VwQ29sb3JzOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PjtcbiAgLyoqIE5hbWVkIGdlbmUgZ3JvdXBzIChlLmcuIG1hcmtlciBnZW5lcyBwZXIgY2VsbCB0eXBlKSBmb3IgdGhlIHNlbGVjdGVkLWdlbmVzIHRyZWUuICovXG4gIHRyYW5zY3JpcHRHZW5lR3JvdXBzOiB7IG5hbWU6IHN0cmluZzsgZ2VuZXM6IHN0cmluZ1tdIH1bXTtcbiAgLyoqXG4gICAqIERyYXcgRVZFUlkgZ2VuZSdzIHRyYW5zY3JpcHRzIGluc3RlYWQgb2Yge0BsaW5rIHRyYW5zY3JpcHRHZW5lc306IGdyb3VwZWQgaW50byBiaW5zXG4gICAqIHNpemVkIGJ5IGhvdyBtYW55IHRyYW5zY3JpcHRzIHRoZXkgaG9sZCwgZmluZXIgYXMgdGhlIGNhbWVyYSB6b29tcyBpbiwgZG93biB0byBvbmVcbiAgICogbWFya2VyIHBlciB0cmFuc2NyaXB0IG9uY2UgdGhvc2UgZml0IHtAbGluayB0cmFuc2NyaXB0QnVkZ2V0fS5cbiAgICovXG4gIHRyYW5zY3JpcHRBbGxHZW5lczogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEdlbmVzIG9mIFwiQWxsIGdlbmVzXCIgc3dpdGNoZWQgb2ZmIHdpdGggdGhlaXIgZXllIHRvZ2dsZSDigJQgaXRzIG93biBsaXN0LCBzbyBoaWRpbmcgYSBnZW5lXG4gICAqIHRoZXJlIGxlYXZlcyB0aGUgc2VsZWN0aW9uJ3Mge0BsaW5rIHRyYW5zY3JpcHRIaWRkZW5HZW5lc30gYWxvbmUsIGFuZCB0aGUgb3RoZXIgd2F5IHJvdW5kLlxuICAgKiBMZWQgYnkgYCcqJ2AgKGBBTExfR0VORVNgKSwgaXQgbGlzdHMgdGhlIGdlbmVzIHN0aWxsIHNob3duIGluc3RlYWQ6IGBbJyonXWAgaGlkZXMgZXZlcnlcbiAgICogZ2VuZSwgYFsnKicsICdLUlQ1J11gIHNob3dzIEtSVDUgYWxvbmUsIHdpdGhvdXQgbmFtaW5nIHRoZSB0aG91c2FuZHMgb2Ygb3RoZXJzLlxuICAgKi9cbiAgdHJhbnNjcmlwdEFsbEdlbmVzSGlkZGVuOiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIE1vc3QgdHJhbnNjcmlwdCBtYXJrZXJzIGRyYXduIGF0IG9uY2UuIFRoZSBsZXZlbCBvZiBkZXRhaWwgaXMgY2hvc2VuIHRvIHN0YXkgdW5kZXIgaXQsXG4gICAqIHdoaWNoIGlzIHdoYXQga2VlcHMgcGFuIGFuZCB6b29tIHJlc3BvbnNpdmUgaG93ZXZlciBkZW5zZSB0aGUgZGF0YSBpcy5cbiAgICovXG4gIHRyYW5zY3JpcHRCdWRnZXQ6IG51bWJlcjtcbiAgLyoqXG4gICAqIEhvdyB0cmFuc2NyaXB0cyBhcmUgZHJhd246IGBjaXJjbGVzYCBzaXplZCBieSBob3cgbWFueSB0cmFuc2NyaXB0cyBlYWNoIHN0YW5kcyBmb3IsXG4gICAqIGBnbHlwaHNgIChvbmUgaWNvbiBzaGFwZSBwZXIgZ2VuZSksIG9yIGEgYGRlbnNpdHlgIHJhc3Rlci4gQ2lyY2xlcyBhbmQgZ2x5cGhzIGFyZVxuICAgKiBsZXZlbC1vZi1kZXRhaWwg4oCUIGFnZ3JlZ2F0ZWQgd2hlbiB6b29tZWQgb3V0LCBvbmUgcGVyIHRyYW5zY3JpcHQgYXQgdGhlIGZpbmVzdCB6b29tLlxuICAgKi9cbiAgdHJhbnNjcmlwdE1vZGU6ICdvZmYnIHwgJ2NpcmNsZXMnIHwgJ2dseXBocycgfCAnZGVuc2l0eSc7XG4gIC8qKiBDb2xvdXIgdHJhbnNjcmlwdHMgYnkgdGhlIHR5cGUgb2YgdGhlIGNlbGwgdGhleSBmYWxsIGluLCBieSBnZW5lLCBvciBieSB0aGUgZ2VuZS10cmVlXG4gICAqICBjbHVzdGVyIHRoZWlyIGdlbmUgaXMgaW4gKGluIHRoZSBjb2xvdXIgdGhhdCBjbHVzdGVyJ3MgY2VsbHMgaGF2ZSwgd2hlbiBhIGNlbGwgZ3JvdXBpbmdcbiAgICogIG5hbWVzIGl0KS4gKi9cbiAgdHJhbnNjcmlwdENvbG9yQnk6ICdjZWxsVHlwZScgfCAnZ2VuZScgfCAnY2x1c3Rlcic7XG4gIC8qKiBHbHlwaCBwZXIgZ2VuZSBmb3IgYGdseXBoc2AgbW9kZTsgZ2VuZXMgbm90IGxpc3RlZCB0YWtlIG9uZSBieSBwb3NpdGlvbi4gKi9cbiAgdHJhbnNjcmlwdEdseXBoczogUmVjb3JkPHN0cmluZywgVHJhbnNjcmlwdEdseXBoTmFtZT47XG4gIC8qKiBNdWx0aXBsaWVyIG9uIHRyYW5zY3JpcHQgbWFya2VyIHNpemUuICovXG4gIHRyYW5zY3JpcHRTY2FsZTogbnVtYmVyO1xuICB0cmFuc2NyaXB0T3BhY2l0eTogbnVtYmVyO1xuICAvKiogYGhpZ2hgIGtlZXBzIG9ubHkgY29uZmlkZW50bHkgZGVjb2RlZCB0cmFuc2NyaXB0cy4gKi9cbiAgdHJhbnNjcmlwdFF1YWxpdHk6ICdoaWdoJyB8ICdhbGwnO1xuICAvKiogT3BhY2l0eSBvZiB0aGUgdHJhbnNjcmlwdCBkZW5zaXR5IHJhc3Rlci4gKi9cbiAgZGVuc2l0eU9wYWNpdHk6IG51bWJlcjtcbiAgLyoqIERlbnNpdHkgYmluIGVkZ2UgaW4gb2JzZXJ2YXRpb24gdW5pdHMgKMK1bSk6IDEwLCAyMCwgNDAgb3IgODAuICovXG4gIGRlbnNpdHlCaW46IG51bWJlcjtcbiAgLyoqIENvbG91ciB3aW5kb3cgaW4gdHJhbnNjcmlwdHMgcGVyIHVuaXTCsiAowrVtwrIpOyBudWxsIGRlcml2ZXMgaXQgZnJvbSB0aGUgZGF0YS4gKi9cbiAgZGVuc2l0eVJhbmdlOiBbbnVtYmVyLCBudW1iZXJdIHwgbnVsbDtcbiAgLyoqIENvbG9ybWFwIGZvciB0aGUgZGVuc2l0eSBiaW5zOyBudWxsIHVzZXMgSW5mZXJuby4gKi9cbiAgZGVuc2l0eUNvbG9ybWFwOiBDb2xvcm1hcFZhbHVlIHwgbnVsbDtcbn1cblxuLyoqIFRyYW5zY3JpcHQgZ2x5cGggbmFtZXMg4oCUIHNlZSBgVFJBTlNDUklQVF9HTFlQSFNgIGluIGBzcGF0aWFsL3NwYXRpYWwtdGlsZXMudHNgLiAqL1xuZXhwb3J0IHR5cGUgVHJhbnNjcmlwdEdseXBoTmFtZSA9XG4gICdjaXJjbGUnIHwgJ3N0YXInIHwgJ3RyaWFuZ2xlJyB8ICdzcXVhcmUnIHwgJ2RpYW1vbmQnIHwgJ2Nyb3NzJyB8ICdoZXhhZ29uJyB8ICd0cmlhbmdsZS1kb3duJyB8ICdwZW50YWdvbicgfCAneCc7XG5cbi8qKlxuICogVGhlIHNwYXRpYWwgdmlldyBhIGRhdGFzZXQgb3BlbnMgd2l0aDogbm8gY29sb3VyIHNvdXJjZSwgcG9pbnRzIGFuZCB2b2x1bWUgc2hvd24sIHRoZVxuICogb3B0aW9uYWwgbGF5ZXJzIG9mZi4gQSBjb21wbGV0ZSBzdGF0ZSB0byBzcHJlYWQgcGFydGlhbCB2aWV3LXN0YXRlIHBhdGNoZXMgb3Zlci5cbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfU1BBVElBTF9WSUVXOiBTcGF0aWFsVmlld1N0YXRlID0ge1xuICBjb2xvckJ5OiBudWxsLFxuICBwb2ludFNjYWxlOiAxLFxuICBvcGFjaXR5OiAxLFxuICBsb2dTY2FsZTogZmFsc2UsXG4gIHBlcmNlbnRpbGVDbGlwOiBbMC4wMSwgMC45OV0sXG4gIGNvbnRpbnVvdXNDb2xvcm1hcDogbnVsbCxcbiAgc2hvd1ZvbHVtZTogdHJ1ZSxcbiAgdm9sdW1lT3BhY2l0eTogMC41LFxuICBzaG93UG9pbnRzOiB0cnVlLFxuICBwb2ludFNlY3Rpb246IG51bGwsXG4gIGRlbnNpdHlWb2x1bWU6IGZhbHNlLFxuICBkZW5zaXR5U21vb3RoaW5nOiAxLFxuICBnZW5lTWFwOiBmYWxzZSxcbiAgZ2VuZU1hcFNlY3Rpb246IG51bGwsXG4gIGdlbmVNYXBWb2x1bWU6IGZhbHNlLFxuICBnZW5lTWFwU21vb3RoaW5nOiAxLFxuICBnZW5lTWFwT3BhY2l0eTogMC44NSxcbiAgc2hvd0NlbGxzOiBudWxsLFxuICBjZWxsU2V0OiBudWxsLFxuICBjZWxsRHJhdzogJ2ZpbGwnLFxuICBjZWxsT3BhY2l0eTogMC41NSxcbiAgY2VsbFR5cGVDb2x1bW46IG51bGwsXG4gIHRyYW5zY3JpcHRHZW5lczogW10sXG4gIHRyYW5zY3JpcHRIaWRkZW5HZW5lczogW10sXG4gIHRyYW5zY3JpcHRHZW5lQ29sb3JzOiB7fSxcbiAgZ3JvdXBDb2xvcnM6IHt9LFxuICB0cmFuc2NyaXB0R2VuZUdyb3VwczogW10sXG4gIHRyYW5zY3JpcHRBbGxHZW5lczogZmFsc2UsXG4gIHRyYW5zY3JpcHRBbGxHZW5lc0hpZGRlbjogW10sXG4gIHRyYW5zY3JpcHRCdWRnZXQ6IDEwMF8wMDAsXG4gIHRyYW5zY3JpcHRNb2RlOiAnb2ZmJyxcbiAgdHJhbnNjcmlwdENvbG9yQnk6ICdjZWxsVHlwZScsXG4gIHRyYW5zY3JpcHRHbHlwaHM6IHt9LFxuICB0cmFuc2NyaXB0U2NhbGU6IDEsXG4gIHRyYW5zY3JpcHRPcGFjaXR5OiAwLjksXG4gIHRyYW5zY3JpcHRRdWFsaXR5OiAnaGlnaCcsXG4gIGRlbnNpdHlPcGFjaXR5OiAwLjgsXG4gIGRlbnNpdHlCaW46IDEwLFxuICBkZW5zaXR5UmFuZ2U6IG51bGwsXG4gIGRlbnNpdHlDb2xvcm1hcDogbnVsbCxcbiAgY2VsbENvbG9yTW9kZTogJ2dyb3VwJyxcbiAgY2VsbENvbG9yR2VuZTogbnVsbCxcbiAgY2VsbFNpbmdsZUNvbG9yOiAnIzRmYzNmNycsXG4gIGhpZGRlbkdyb3VwczogW10sXG4gIG9ic2VydmF0aW9uR2VuZXM6IFtdLFxuICBvYnNlcnZhdGlvbkdlbmVzTWF0Y2g6ICdhbnknLFxuICBvYnNlcnZhdGlvbkdlbmVzQ29sb3JCeTogdHJ1ZSxcbiAgb2JzZXJ2YXRpb25HZW5lQ29sb3JzOiB7fSxcbiAgb2JzZXJ2YXRpb25HZW5lR2x5cGhzOiB7fSxcbiAgc2hvd0ltYWdlOiB0cnVlLFxuICBzaG93QW5ub3RhdGlvbnM6IHRydWUsXG59O1xuIl19
@@ -80,4 +80,4 @@ export class LoadingBadgeState {
80
80
  ], [...this.tasks.values()]);
81
81
  }
82
82
  }
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFwYXJpLWxvYWRpbmctc3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ltcGxlbWVudGF0aW9ucy9uYXBhcmktanMvbmFwYXJpLWxvYWRpbmctc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFLNUQ7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsTUFBTSxPQUFPLGlCQUFpQjtJQUE5QjtRQUNVLFNBQUksR0FBdUIsSUFBSSxDQUFDO1FBQ2hDLFVBQUssR0FBOEIsSUFBSSxDQUFDO1FBQy9CLFdBQU0sR0FBRyxJQUFJLEdBQUcsRUFBeUIsQ0FBQztRQUNuRCxlQUFVLEdBQXNCLEVBQUUsQ0FBQztRQUNuQyxlQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ04sVUFBSyxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO0lBaUVyRCxDQUFDO0lBL0RDLHlFQUF5RTtJQUN6RSxNQUFNLENBQUMsSUFBaUI7UUFDdEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUk7WUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELGdGQUFnRjtJQUNoRixLQUFLLENBQUMsTUFBcUI7UUFDekIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDWixJQUFJLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbEIsT0FBTyxHQUFHLEVBQUU7WUFDVixJQUFJLEtBQUssSUFBSSxVQUFVLEtBQUssSUFBSSxDQUFDLFVBQVU7Z0JBQUUsT0FBTztZQUNwRCxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ2IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDNUQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2QsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVEOzJCQUN1QjtJQUN2QixTQUFTLENBQUMsT0FBZTtRQUN2QixNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLE9BQU8sR0FBRyxFQUFFO1lBQ1YsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7Z0JBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pDLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCwrRUFBK0U7SUFDL0UsYUFBYSxDQUFDLE1BQXlCO1FBQ3JDLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFRCxxRkFBcUY7SUFDckYsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksSUFBSSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELGtHQUFrRztJQUNsRyxLQUFLO1FBQ0gsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztJQUNwQixDQUFDO0lBRU8sSUFBSTtRQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFDdkIsSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FDWjtZQUNFLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3pELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3ZFLEdBQUcsSUFBSSxDQUFDLFVBQVU7U0FDbkIsRUFDRCxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUN6QixDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmFwYXJpTG9hZGluZ0JhZGdlIH0gZnJvbSAnLi9uYXBhcmktbG9hZGluZy1iYWRnZSc7XG5cbi8qKiBXaGF0IHRoZSBzZXJ2aWNlIGl0c2VsZiBjb3VudHMgb24gdGhlIGJhZGdlOyB0aGUgc3BhdGlhbCB0aWxlIGxheWVycyByZXBvcnQgdGhlaXIgb3duIG5hbWVzLiAqL1xuZXhwb3J0IHR5cGUgTG9hZGluZ1NvdXJjZSA9ICdJbWFnZScgfCAnT2JzZXJ2YXRpb25zJztcblxuLyoqXG4gKiBcInggcmVsb2FkaW5n4oCmXCIgYXQgdGhlIGJvdHRvbSBvZiB0aGUgY2FudmFzLCBhZ2dyZWdhdGVkIG92ZXIgZXZlcnl0aGluZyB0aGF0IGxvYWRzIGludG8gb25lXG4gKiBzY2VuZTogaW1hZ2UgdGlsZXMgKHRoZSB0aWxlIGNsaWVudCksIG9ic2VydmF0aW9uIGNvbG91cmluZ3MgKHRoZSBzcGF0aWFsIHNjZW5lcykgYW5kIHRoZVxuICogc3BhdGlhbCB0aWxlIGxheWVycycgb3duIGxvYWRzICh3aGljaCByZXBvcnQgYSBsaXN0IG9mIGxheWVyIG5hbWVzKS5cbiAqXG4gKiBFYWNoIGxvYWQgaXMgYSB7QGxpbmsgYmVnaW59IHRoYXQgaGFuZHMgYmFjayBpdHMgb3duIGBlbmRgLiB7QGxpbmsgcmVzZXR9IHN0YXJ0cyBhIG5ldyBzY2VuZTpcbiAqIHRoZSBjb3VudHMgYXJlIGRyb3BwZWQsIGFuZCBhbiBgZW5kYCBmcm9tIGEgbG9hZCB0aGF0IGJlZ2FuIGJlZm9yZSBpdCBpcyBhIG5vLW9wLCBzbyBhIGxvYWRcbiAqIHRoYXQgc2V0dGxlcyBhZnRlciBhIHJlLXBsb3QgY2FuIG5laXRoZXIgdW4tY291bnQgdGhlIG5ldyBzY2VuZSdzIHdvcmsgbm9yIGRyaXZlIGEgY291bnQgYmVsb3dcbiAqIHplcm8gKHdoaWNoIGhpZCB0aGUgbmV4dCBzY2VuZSdzIFwiT2JzZXJ2YXRpb25zIHJlbG9hZGluZ+KAplwiIHVudGlsIGEgc2Vjb25kIGxvYWQgb3ZlcmxhcHBlZCBpdCkuXG4gKlxuICogQSB7QGxpbmsgYmVnaW5UYXNrfSBpcyB3b3JrIHRoYXQgb3V0bGl2ZXMgYSBzY2VuZSAoYSByZWdpb24ncyAzRCByZWNvbnN0cnVjdGlvbiwgYnVpbHQgZm9yXG4gKiB3aGljaGV2ZXIgdm9sdW1lIGlzIG9uIHNjcmVlbiB3aGVuIGl0IGlzIGRvbmUpOiBpdHMgbWVzc2FnZSBzdGF5cyBhY3Jvc3MgYSByZXNldC5cbiAqL1xuZXhwb3J0IGNsYXNzIExvYWRpbmdCYWRnZVN0YXRlIHtcbiAgcHJpdmF0ZSBob3N0OiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGJhZGdlOiBOYXBhcmlMb2FkaW5nQmFkZ2UgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSByZWFkb25seSBjb3VudHMgPSBuZXcgTWFwPExvYWRpbmdTb3VyY2UsIG51bWJlcj4oKTtcbiAgcHJpdmF0ZSB0aWxlTGF5ZXJzOiByZWFkb25seSBzdHJpbmdbXSA9IFtdO1xuICBwcml2YXRlIGdlbmVyYXRpb24gPSAwO1xuICBwcml2YXRlIHJlYWRvbmx5IHRhc2tzID0gbmV3IE1hcDxzeW1ib2wsIHN0cmluZz4oKTtcblxuICAvKiogVGhlIGVsZW1lbnQgdGhlIGJhZGdlIGlzIGRyYXduIGludG8gKHRoZSBwbG90IGhvc3QpOyBzZXQgcGVyIHBsb3QuICovXG4gIGF0dGFjaChob3N0OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIHRoaXMuaG9zdCA9IGhvc3Q7XG4gICAgaWYgKHRoaXMudGFza3Muc2l6ZSkgdGhpcy5zaG93KCk7XG4gIH1cblxuICAvKiogT25lIGxvYWQgb2YgYHNvdXJjZWAgc3RhcnRlZDsgY2FsbCB0aGUgcmV0dXJuZWQgZnVuY3Rpb24gb25jZSBpdCBzZXR0bGVzLiAqL1xuICBiZWdpbihzb3VyY2U6IExvYWRpbmdTb3VyY2UpOiAoKSA9PiB2b2lkIHtcbiAgICBjb25zdCBnZW5lcmF0aW9uID0gdGhpcy5nZW5lcmF0aW9uO1xuICAgIHRoaXMuY291bnRzLnNldChzb3VyY2UsICh0aGlzLmNvdW50cy5nZXQoc291cmNlKSA/PyAwKSArIDEpO1xuICAgIHRoaXMuc2hvdygpO1xuICAgIGxldCBlbmRlZCA9IGZhbHNlO1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAoZW5kZWQgfHwgZ2VuZXJhdGlvbiAhPT0gdGhpcy5nZW5lcmF0aW9uKSByZXR1cm47XG4gICAgICBlbmRlZCA9IHRydWU7XG4gICAgICB0aGlzLmNvdW50cy5zZXQoc291cmNlLCAodGhpcy5jb3VudHMuZ2V0KHNvdXJjZSkgPz8gMCkgLSAxKTtcbiAgICAgIHRoaXMuc2hvdygpO1xuICAgIH07XG4gIH1cblxuICAvKiogQSB0YXNrIHN0YXJ0ZWQsIHNob3duIGJ5IGl0cyBgbWVzc2FnZWAgKFwiQnVpbGRpbmcgSFBGIGluIDNE4oCmXCIpOyBjYWxsIHRoZSByZXR1cm5lZCBmdW5jdGlvblxuICAgKiAgb25jZSBpdCBzZXR0bGVzLiAqL1xuICBiZWdpblRhc2sobWVzc2FnZTogc3RyaW5nKTogKCkgPT4gdm9pZCB7XG4gICAgY29uc3QgaWQgPSBTeW1ib2wobWVzc2FnZSk7XG4gICAgdGhpcy50YXNrcy5zZXQoaWQsIG1lc3NhZ2UpO1xuICAgIHRoaXMuc2hvdygpO1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAodGhpcy50YXNrcy5kZWxldGUoaWQpKSB0aGlzLnNob3coKTtcbiAgICB9O1xuICB9XG5cbiAgLyoqIFRoZSBzcGF0aWFsIHRpbGUgbGF5ZXJzIHN0aWxsIGxvYWRpbmcgKHRoZWlyIG93biBuYW1lcywgaW4gdGhlaXIgb3JkZXIpLiAqL1xuICBzZXRUaWxlTGF5ZXJzKGxheWVyczogcmVhZG9ubHkgc3RyaW5nW10pOiB2b2lkIHtcbiAgICB0aGlzLnRpbGVMYXllcnMgPSBsYXllcnM7XG4gICAgdGhpcy5zaG93KCk7XG4gIH1cblxuICAvKiogVGhlIHRleHQgdGhlIGJhZGdlIGhhcyBzZXQgKHNob3duLCBvciBhYm91dCB0byBiZSBvbmNlIHRoZSBzaG93IGRlbGF5IHBhc3NlcykuICovXG4gIGdldCB0ZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYmFkZ2U/LnRleHQgPz8gJyc7XG4gIH1cblxuICAvKiogQSBuZXcgc2NlbmU6IGZvcmdldCBldmVyeSBjb3VudCBhbmQgcmVtb3ZlIHRoZSBiYWRnZSAodGFza3Mgc2hvdyBhZ2FpbiBvbiB0aGUgbmV4dCBhdHRhY2gpLiAqL1xuICByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLmdlbmVyYXRpb24rKztcbiAgICB0aGlzLmNvdW50cy5jbGVhcigpO1xuICAgIHRoaXMudGlsZUxheWVycyA9IFtdO1xuICAgIHRoaXMuYmFkZ2U/LmRlc3Ryb3koKTtcbiAgICB0aGlzLmJhZGdlID0gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgc2hvdygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaG9zdCkgcmV0dXJuO1xuICAgIHRoaXMuYmFkZ2UgPz89IG5ldyBOYXBhcmlMb2FkaW5nQmFkZ2UodGhpcy5ob3N0KTtcbiAgICB0aGlzLmJhZGdlLnNldChcbiAgICAgIFtcbiAgICAgICAgLi4uKCh0aGlzLmNvdW50cy5nZXQoJ0ltYWdlJykgPz8gMCkgPiAwID8gWydJbWFnZSddIDogW10pLFxuICAgICAgICAuLi4oKHRoaXMuY291bnRzLmdldCgnT2JzZXJ2YXRpb25zJykgPz8gMCkgPiAwID8gWydPYnNlcnZhdGlvbnMnXSA6IFtdKSxcbiAgICAgICAgLi4udGhpcy50aWxlTGF5ZXJzLFxuICAgICAgXSxcbiAgICAgIFsuLi50aGlzLnRhc2tzLnZhbHVlcygpXSxcbiAgICApO1xuICB9XG59XG4iXX0=
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFwYXJpLWxvYWRpbmctc3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ltcGxlbWVudGF0aW9ucy9uYXBhcmktanMvbmFwYXJpLWxvYWRpbmctc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFLNUQ7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsTUFBTSxPQUFPLGlCQUFpQjtJQUE5QjtRQUNVLFNBQUksR0FBdUIsSUFBSSxDQUFDO1FBQ2hDLFVBQUssR0FBOEIsSUFBSSxDQUFDO1FBQy9CLFdBQU0sR0FBRyxJQUFJLEdBQUcsRUFBeUIsQ0FBQztRQUNuRCxlQUFVLEdBQXNCLEVBQUUsQ0FBQztRQUNuQyxlQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ04sVUFBSyxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO0lBaUVyRCxDQUFDO0lBL0RDLHlFQUF5RTtJQUN6RSxNQUFNLENBQUMsSUFBaUI7UUFDdEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUk7WUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELGdGQUFnRjtJQUNoRixLQUFLLENBQUMsTUFBcUI7UUFDekIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDWixJQUFJLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbEIsT0FBTyxHQUFHLEVBQUU7WUFDVixJQUFJLEtBQUssSUFBSSxVQUFVLEtBQUssSUFBSSxDQUFDLFVBQVU7Z0JBQUUsT0FBTztZQUNwRCxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ2IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDNUQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2QsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVEOzJCQUN1QjtJQUN2QixTQUFTLENBQUMsT0FBZTtRQUN2QixNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLE9BQU8sR0FBRyxFQUFFO1lBQ1YsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7Z0JBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pDLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCwrRUFBK0U7SUFDL0UsYUFBYSxDQUFDLE1BQXlCO1FBQ3JDLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFRCxxRkFBcUY7SUFDckYsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksSUFBSSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELGtHQUFrRztJQUNsRyxLQUFLO1FBQ0gsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztJQUNwQixDQUFDO0lBRU8sSUFBSTtRQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFDdkIsSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FDWjtZQUNFLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3pELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3ZFLEdBQUcsSUFBSSxDQUFDLFVBQVU7U0FDbkIsRUFDRCxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUN6QixDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmFwYXJpTG9hZGluZ0JhZGdlIH0gZnJvbSAnLi9uYXBhcmktbG9hZGluZy1iYWRnZSc7XG5cbi8qKiBXaGF0IHRoZSBzZXJ2aWNlIGl0c2VsZiBjb3VudHMgb24gdGhlIGJhZGdlOyB0aGUgc3BhdGlhbCB0aWxlIGxheWVycyByZXBvcnQgdGhlaXIgb3duIG5hbWVzLiAqL1xuZXhwb3J0IHR5cGUgTG9hZGluZ1NvdXJjZSA9ICdJbWFnZScgfCAnT2JzZXJ2YXRpb25zJyB8ICdUcmFuc2NyaXB0cyc7XG5cbi8qKlxuICogXCJ4IHJlbG9hZGluZ+KAplwiIGF0IHRoZSBib3R0b20gb2YgdGhlIGNhbnZhcywgYWdncmVnYXRlZCBvdmVyIGV2ZXJ5dGhpbmcgdGhhdCBsb2FkcyBpbnRvIG9uZVxuICogc2NlbmU6IGltYWdlIHRpbGVzICh0aGUgdGlsZSBjbGllbnQpLCBvYnNlcnZhdGlvbiBjb2xvdXJpbmdzICh0aGUgc3BhdGlhbCBzY2VuZXMpIGFuZCB0aGVcbiAqIHNwYXRpYWwgdGlsZSBsYXllcnMnIG93biBsb2FkcyAod2hpY2ggcmVwb3J0IGEgbGlzdCBvZiBsYXllciBuYW1lcykuXG4gKlxuICogRWFjaCBsb2FkIGlzIGEge0BsaW5rIGJlZ2lufSB0aGF0IGhhbmRzIGJhY2sgaXRzIG93biBgZW5kYC4ge0BsaW5rIHJlc2V0fSBzdGFydHMgYSBuZXcgc2NlbmU6XG4gKiB0aGUgY291bnRzIGFyZSBkcm9wcGVkLCBhbmQgYW4gYGVuZGAgZnJvbSBhIGxvYWQgdGhhdCBiZWdhbiBiZWZvcmUgaXQgaXMgYSBuby1vcCwgc28gYSBsb2FkXG4gKiB0aGF0IHNldHRsZXMgYWZ0ZXIgYSByZS1wbG90IGNhbiBuZWl0aGVyIHVuLWNvdW50IHRoZSBuZXcgc2NlbmUncyB3b3JrIG5vciBkcml2ZSBhIGNvdW50IGJlbG93XG4gKiB6ZXJvICh3aGljaCBoaWQgdGhlIG5leHQgc2NlbmUncyBcIk9ic2VydmF0aW9ucyByZWxvYWRpbmfigKZcIiB1bnRpbCBhIHNlY29uZCBsb2FkIG92ZXJsYXBwZWQgaXQpLlxuICpcbiAqIEEge0BsaW5rIGJlZ2luVGFza30gaXMgd29yayB0aGF0IG91dGxpdmVzIGEgc2NlbmUgKGEgcmVnaW9uJ3MgM0QgcmVjb25zdHJ1Y3Rpb24sIGJ1aWx0IGZvclxuICogd2hpY2hldmVyIHZvbHVtZSBpcyBvbiBzY3JlZW4gd2hlbiBpdCBpcyBkb25lKTogaXRzIG1lc3NhZ2Ugc3RheXMgYWNyb3NzIGEgcmVzZXQuXG4gKi9cbmV4cG9ydCBjbGFzcyBMb2FkaW5nQmFkZ2VTdGF0ZSB7XG4gIHByaXZhdGUgaG9zdDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBiYWRnZTogTmFwYXJpTG9hZGluZ0JhZGdlIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgcmVhZG9ubHkgY291bnRzID0gbmV3IE1hcDxMb2FkaW5nU291cmNlLCBudW1iZXI+KCk7XG4gIHByaXZhdGUgdGlsZUxheWVyczogcmVhZG9ubHkgc3RyaW5nW10gPSBbXTtcbiAgcHJpdmF0ZSBnZW5lcmF0aW9uID0gMDtcbiAgcHJpdmF0ZSByZWFkb25seSB0YXNrcyA9IG5ldyBNYXA8c3ltYm9sLCBzdHJpbmc+KCk7XG5cbiAgLyoqIFRoZSBlbGVtZW50IHRoZSBiYWRnZSBpcyBkcmF3biBpbnRvICh0aGUgcGxvdCBob3N0KTsgc2V0IHBlciBwbG90LiAqL1xuICBhdHRhY2goaG9zdDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3QgPSBob3N0O1xuICAgIGlmICh0aGlzLnRhc2tzLnNpemUpIHRoaXMuc2hvdygpO1xuICB9XG5cbiAgLyoqIE9uZSBsb2FkIG9mIGBzb3VyY2VgIHN0YXJ0ZWQ7IGNhbGwgdGhlIHJldHVybmVkIGZ1bmN0aW9uIG9uY2UgaXQgc2V0dGxlcy4gKi9cbiAgYmVnaW4oc291cmNlOiBMb2FkaW5nU291cmNlKTogKCkgPT4gdm9pZCB7XG4gICAgY29uc3QgZ2VuZXJhdGlvbiA9IHRoaXMuZ2VuZXJhdGlvbjtcbiAgICB0aGlzLmNvdW50cy5zZXQoc291cmNlLCAodGhpcy5jb3VudHMuZ2V0KHNvdXJjZSkgPz8gMCkgKyAxKTtcbiAgICB0aGlzLnNob3coKTtcbiAgICBsZXQgZW5kZWQgPSBmYWxzZTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKGVuZGVkIHx8IGdlbmVyYXRpb24gIT09IHRoaXMuZ2VuZXJhdGlvbikgcmV0dXJuO1xuICAgICAgZW5kZWQgPSB0cnVlO1xuICAgICAgdGhpcy5jb3VudHMuc2V0KHNvdXJjZSwgKHRoaXMuY291bnRzLmdldChzb3VyY2UpID8/IDApIC0gMSk7XG4gICAgICB0aGlzLnNob3coKTtcbiAgICB9O1xuICB9XG5cbiAgLyoqIEEgdGFzayBzdGFydGVkLCBzaG93biBieSBpdHMgYG1lc3NhZ2VgIChcIkJ1aWxkaW5nIEhQRiBpbiAzROKAplwiKTsgY2FsbCB0aGUgcmV0dXJuZWQgZnVuY3Rpb25cbiAgICogIG9uY2UgaXQgc2V0dGxlcy4gKi9cbiAgYmVnaW5UYXNrKG1lc3NhZ2U6IHN0cmluZyk6ICgpID0+IHZvaWQge1xuICAgIGNvbnN0IGlkID0gU3ltYm9sKG1lc3NhZ2UpO1xuICAgIHRoaXMudGFza3Muc2V0KGlkLCBtZXNzYWdlKTtcbiAgICB0aGlzLnNob3coKTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKHRoaXMudGFza3MuZGVsZXRlKGlkKSkgdGhpcy5zaG93KCk7XG4gICAgfTtcbiAgfVxuXG4gIC8qKiBUaGUgc3BhdGlhbCB0aWxlIGxheWVycyBzdGlsbCBsb2FkaW5nICh0aGVpciBvd24gbmFtZXMsIGluIHRoZWlyIG9yZGVyKS4gKi9cbiAgc2V0VGlsZUxheWVycyhsYXllcnM6IHJlYWRvbmx5IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgdGhpcy50aWxlTGF5ZXJzID0gbGF5ZXJzO1xuICAgIHRoaXMuc2hvdygpO1xuICB9XG5cbiAgLyoqIFRoZSB0ZXh0IHRoZSBiYWRnZSBoYXMgc2V0IChzaG93biwgb3IgYWJvdXQgdG8gYmUgb25jZSB0aGUgc2hvdyBkZWxheSBwYXNzZXMpLiAqL1xuICBnZXQgdGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmJhZGdlPy50ZXh0ID8/ICcnO1xuICB9XG5cbiAgLyoqIEEgbmV3IHNjZW5lOiBmb3JnZXQgZXZlcnkgY291bnQgYW5kIHJlbW92ZSB0aGUgYmFkZ2UgKHRhc2tzIHNob3cgYWdhaW4gb24gdGhlIG5leHQgYXR0YWNoKS4gKi9cbiAgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5nZW5lcmF0aW9uKys7XG4gICAgdGhpcy5jb3VudHMuY2xlYXIoKTtcbiAgICB0aGlzLnRpbGVMYXllcnMgPSBbXTtcbiAgICB0aGlzLmJhZGdlPy5kZXN0cm95KCk7XG4gICAgdGhpcy5iYWRnZSA9IG51bGw7XG4gIH1cblxuICBwcml2YXRlIHNob3coKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmhvc3QpIHJldHVybjtcbiAgICB0aGlzLmJhZGdlID8/PSBuZXcgTmFwYXJpTG9hZGluZ0JhZGdlKHRoaXMuaG9zdCk7XG4gICAgdGhpcy5iYWRnZS5zZXQoXG4gICAgICBbXG4gICAgICAgIC4uLigodGhpcy5jb3VudHMuZ2V0KCdJbWFnZScpID8/IDApID4gMCA/IFsnSW1hZ2UnXSA6IFtdKSxcbiAgICAgICAgLi4uKCh0aGlzLmNvdW50cy5nZXQoJ09ic2VydmF0aW9ucycpID8/IDApID4gMCA/IFsnT2JzZXJ2YXRpb25zJ10gOiBbXSksXG4gICAgICAgIC4uLnRoaXMudGlsZUxheWVycyxcbiAgICAgIF0sXG4gICAgICBbLi4udGhpcy50YXNrcy52YWx1ZXMoKV0sXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFwYXJpLXNjZW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9pbXBsZW1lbnRhdGlvbnMvbmFwYXJpLWpzL25hcGFyaS1zY2VuZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSZWdpb25NZXNoM0QgfSBmcm9tICcuL25hcGFyaS12b2x1bWUtcmVnaW9uLW1lc2hlcyc7XG5pbXBvcnQgdHlwZSB7IFZpZXdlciB9IGZyb20gJ25hcGFyaS1qcyc7XG5pbXBvcnQgdHlwZSB7IFZvbHVtZUZyYW1lIH0gZnJvbSAnLi9uYXBhcmktdm9sdW1lLXJlZ2lvbi1tZXNoZXMnO1xuaW1wb3J0IHR5cGUgeyBQbGFuZUF4aXMsIFNsaWNlUGxhbmVzIH0gZnJvbSAnLi9uYXBhcmktdm9sdW1lLXNsaWNlLXBsYW5lcyc7XG5cbmltcG9ydCB7IElJbWFnZUluZm8gfSBmcm9tICcuLi8uLi9jb250cmFjdHMvaW1hZ2UuY29udHJhY3QnO1xuaW1wb3J0IHsgSUhpc3RvZ3JhbSB9IGZyb20gJy4uLy4uL2NvbnRyYWN0cy9jaGFubmVsLWhpc3RvZ3JhbS1hcGkuY29udHJhY3QnO1xuaW1wb3J0IHsgSUlzb3N1cmZhY2VDb250cm9scywgSVN1cmZhY2UzZENvbnRyb2xzIH0gZnJvbSAnLi4vLi4vY29udHJhY3RzL3Zpc3VhbGl6ZXIuY29udHJhY3QnO1xuaW1wb3J0IHsgU3BhdGlhbE9ic2VydmF0aW9ucyB9IGZyb20gJy4uLy4uL2NvbnRyYWN0cy9zcGF0aWFsLWRhdGFzZXQuY29udHJhY3QnO1xuaW1wb3J0IHsgVmlzdWFsaXplclN0b3JlIH0gZnJvbSAnLi4vLi4vc3RvcmUvdmlzdWFsaXplci1zdG9yZS5zZXJ2aWNlJztcbmltcG9ydCB7IFJlZ2lvblN0b3JlIH0gZnJvbSAnLi4vLi4vc3RvcmUvcmVnaW9uLXN0b3JlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmFwYXJpVGlsZUNsaWVudCB9IGZyb20gJy4vbmFwYXJpLXRpbGUtY2xpZW50JztcbmltcG9ydCB7IE5hcGFyaURpc3BsYXlTdGF0ZSB9IGZyb20gJy4vbmFwYXJpLWRpc3BsYXktc3RhdGUnO1xuaW1wb3J0IHsgTG9hZGluZ0JhZGdlU3RhdGUgfSBmcm9tICcuL25hcGFyaS1sb2FkaW5nLXN0YXRlJztcbmltcG9ydCB7IE5hcGFyaVRvb2xCcmlkZ2UgfSBmcm9tICcuL25hcGFyaS10b29sLWJyaWRnZSc7XG5cbi8qKlxuICogV2hhdCBvbmUgYHBsb3QoKWAgbW91bnRzIGludG8gdGhlIHZpZXdlciAocmV2aWV3IEFwcGVuZGl4IEIpOiB0aGUgMkQgaW1hZ2UgKGFsb25lLCB1bmRlciB0aGVcbiAqIHJlZ2lvbi1jZW50cm9pZCBzY2F0dGVyLCBvciB1bmRlciB0aGUgc3BhdGlhbCBtYXJrZXJzKSwgYSB2b2x1bWUsIGEgc3VyZmFjZSwgYSAzRCBzY2F0dGVyIG9yIHRoZVxuICogc3BhdGlhbCAzRCBjbG91ZC4gVGhlIHNlcnZpY2UgcGlja3Mgb25lIHBlciBwbG90IHR5cGUgYW5kIHRhbGtzIHRvIGl0IHRocm91Z2ggdGhpcyBpbnRlcmZhY2VcbiAqIGluc3RlYWQgb2YgYXNraW5nIHdoaWNoIGxheWVyIGhhbmRsZSBoYXBwZW5zIHRvIGJlIG5vbi1udWxsOyBhIHNjZW5lIG93bnMgZXZlcnkgbGF5ZXIsIGtleSxcbiAqIHN1YnNjcmlwdGlvbiBhbmQgbGlzdGVuZXIgaXQgY3JlYXRlcywgYW5kIHtAbGluayBkaXNwb3NlfSBkcm9wcyB0aGVtIGFsbCDigJQgc28gYSByZS1wbG90IGNhbiBub1xuICogbG9uZ2VyIGluaGVyaXQgYSBzdGFsZSBcImFscmVhZHkgYnVpbHRcIiBrZXkgZnJvbSB0aGUgcHJldmlvdXMgb25lIChOQVBBUkktU1ZDLTEsIC04KS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOYXBhcmlTY2VuZSB7XG4gIC8qKiBCdWlsZCB0aGUgc2NlbmUgaW50byB0aGUgdmlld2VyLiBSZXNvbHZlcyBvbmNlIHRoZSBmaXJzdCBmcmFtZSdzIGRhdGEgaXMgaW4uICovXG4gIG1vdW50KCk6IFByb21pc2U8dm9pZD47XG4gIC8qKiBUaGUgc3RhY2sgc2xpZGVyIG1vdmVkIHRvIGB6YCAoYWxyZWFkeSByZWNvcmRlZCBhcyB0aGUgaW1hZ2UncyBzbGljZSkuICovXG4gIHNldFooejogbnVtYmVyKTogdm9pZDtcbiAgLyoqIFRoZSBoaXN0b2dyYW0gcGFuZSdzIGRpc3RyaWJ1dGlvbiBmb3IgYGNoYW5uZWxgLCBvciBudWxsIHdoZW4gdGhlcmUgaXMgbm9uZSAoeWV0KS4gKi9cbiAgaGlzdG9ncmFtKGNoYW5uZWw6IG51bWJlciwgYmluczogbnVtYmVyKTogSUhpc3RvZ3JhbSB8IG51bGw7XG4gIC8qKiBUaGUgaXNvc3VyZmFjZSB0aHJlc2hvbGQgY29udHJvbHMgKHZvbHVtZSBzY2VuZXMgb25seSkuICovXG4gIGlzb0NvbnRyb2xzPygpOiBJSXNvc3VyZmFjZUNvbnRyb2xzIHwgbnVsbDtcbiAgLyoqIFRoZSAzRCBjYW1lcmEvYXhlcy93aXJlZnJhbWUgY29udHJvbHMgKDNEIHNjZW5lcyBvbmx5KS4gKi9cbiAgc3VyZmFjZTNkQ29udHJvbHM/KCk6IElTdXJmYWNlM2RDb250cm9scyB8IG51bGw7XG4gIC8qKiBCaWxpbmVhciB2cyBuZWFyZXN0LW5laWdoYm91ciBpbWFnZSBzYW1wbGluZyBjaGFuZ2VkICgyRCBpbWFnZSBzY2VuZXMpLiAqL1xuICBzZXRJbWFnZVNtb290aGluZz8oZW5hYmxlZDogYm9vbGVhbik6IHZvaWQ7XG4gIC8qKiBUaGUgb3ZlcnZpZXcgbmF2aWdhdG9yIHdhcyBzaG93biBvciBoaWRkZW4gKDJEIGltYWdlIHNjZW5lcykuICovXG4gIHNldE5hdmlnYXRvclZpc2libGU/KHZpc2libGU6IGJvb2xlYW4pOiB2b2lkO1xuICAvKiogT2JzZXJ2YXRpb25zIHByb2plY3RlZCB0byBjYW52YXMgcGl4ZWxzICh0aGUgc3BhdGlhbCAzRCBjbG91ZCksIG9yIG51bGwuICovXG4gIHNjcmVlblByb2plY3Rpb24/KG9iczogU3BhdGlhbE9ic2VydmF0aW9ucyk6IEZsb2F0MzJBcnJheSB8IG51bGw7XG4gIC8qKiBTaG93IHRoZXNlIHJlZ2lvbiByZWNvbnN0cnVjdGlvbnMgaW4gdGhlIDNEIHZpZXcgKHZvbHVtZSBzY2VuZXMgb25seSkuICovXG4gIHNldFJlZ2lvbk1lc2hlcz8obWVzaGVzOiByZWFkb25seSBSZWdpb25NZXNoM0RbXSk6IHZvaWQ7XG4gIC8qKiBIaWdobGlnaHQgdGhlIHJlY29uc3RydWN0aW9ucyBvZiB0aGVzZSBrZXlzIChub25lOiBhbGwgYXMgdXN1YWwpLiAqL1xuICBzZXRSZWdpb25IaWdobGlnaHQ/KGtleXM6IHJlYWRvbmx5IHN0cmluZ1tdKTogdm9pZDtcbiAgLyoqIEhpZGUgdGhlIHJlY29uc3RydWN0aW9ucyBvZiB0aGVzZSBrZXlzLiAqL1xuICBzZXRSZWdpb25IaWRkZW4/KGtleXM6IHJlYWRvbmx5IHN0cmluZ1tdKTogdm9pZDtcbiAgLyoqXG4gICAqIERyYXcgdGhlIHJlZ2lvbiByZWNvbnN0cnVjdGlvbnMgdGhyb3VnaCB0aGUgdm9sdW1lIChpdCBoaWRlcyBub25lIG9mIHRoZW0pIHJhdGhlciB0aGFuIGhpZGRlblxuICAgKiB3aGVyZSBpdCBpcyBpbiBmcm9udCBvZiB0aGVtIChzZWUgVm9sdW1lU2NlbmUuc2V0UmVnaW9uc1Rocm91Z2hWb2x1bWUpLlxuICAgKi9cbiAgc2V0UmVnaW9uc1Rocm91Z2hWb2x1bWU/KHRocm91Z2g6IGJvb2xlYW4pOiB2b2lkO1xuICAvKiogU2hvdyB0aGUgcGxhbmVzIG9mIHRoZSBzZWN0aW9ucyBiZXNpZGUgdGhlIDNEIHZpZXcgKHZvbHVtZSBzY2VuZXMgb25seSkuICovXG4gIHNldFNsaWNlUGxhbmVzPyhwbGFuZXM6IFNsaWNlUGxhbmVzKTogdm9pZDtcbiAgLyoqIFRoZSBhc3NlbWJsZWQgdm9sdW1lIHRoZSBzZWN0aW9ucyBhcmUgY3V0IGZyb20gKHZvbHVtZSBzY2VuZXMgb25seSkuICovXG4gIHZvbHVtZVZveGVscz8oKTogVm9sdW1lVm94ZWxzT25TY3JlZW4gfCBudWxsO1xuICAvKiogSW1hZ2UgcHggcGVyIHZveGVsIG9mIHRoZSBhc3NlbWJsZWQgdm9sdW1lLCBpbi1wbGFuZSAodm9sdW1lIHNjZW5lcyBvbmx5KS4gKi9cbiAgdm94ZWxTdGVwPygpOiBudW1iZXIgfCBudWxsO1xuICAvKiogUmVtb3ZlIGV2ZXJ5dGhpbmcgdGhlIHNjZW5lIGFkZGVkOyBjYWxsZWQgYmVmb3JlIHRoZSB2aWV3ZXIgaXMgZGlzcG9zZWQuICovXG4gIGRpc3Bvc2UoKTogdm9pZDtcbn1cblxuLyoqIFZpZXdlciBzZXR0aW5ncyB0aGF0IG91dGxpdmUgYSBzY2VuZTogYSByZS1wbG90IGtlZXBzIHRoZW0uICovXG5leHBvcnQgaW50ZXJmYWNlIE5hcGFyaVNldHRpbmdzIHtcbiAgLyoqIERlY2ltYXRlIGZhY3RvciBmb3IgdGhlIDNEIHR5cGVzICgxID0gRnVsbCwgMiA9IMK9LCA0ID0gwrwgZGVmYXVsdCwgOCA9IOKFmykuICovXG4gIHJlc29sdXRpb25TY2FsZTogbnVtYmVyO1xuICAvKiogV2hldGhlciB0aGUgMkQgb3ZlcnZpZXcgbmF2aWdhdG9yIGlzIHNob3duICh0aGUgc2FtZSBob3N0IHNldHRpbmcgT1NEJ3MgbmF2aWdhdG9yIGhvbm91cnMpLiAqL1xuICBuYXZpZ2F0b3JWaXNpYmxlOiBib29sZWFuO1xuICAvKiogSW1hZ2Ugc21vb3RoaW5nIChiaWxpbmVhcikgdnMgbmVhcmVzdC1uZWlnaGJvdXIgKGNyaXNwIHBpeGVscywgdGhlIGRlZmF1bHQpLiAqL1xuICBpbWFnZVNtb290aGluZzogYm9vbGVhbjtcbiAgLyoqIFRoZSAzRCBheGVzIGdpem1vJ3Mgb24vb2ZmIGNob2ljZS4gKi9cbiAgYXhlc1Zpc2libGU6IGJvb2xlYW47XG4gIC8qKiBUaGUgc3VyZmFjZSdzIHdpcmVmcmFtZSBjaG9pY2UuICovXG4gIHN1cmZhY2VXaXJlZnJhbWU6IGJvb2xlYW47XG4gIC8qKiBUaGUgdm9sdW1lJ3MgdXNlciBaLWhlaWdodCBmYWN0b3IgKDEgPSB0aGUgdm9sdW1lJ3MgbmF0dXJhbCBwcm9wb3J0aW9ucykuICovXG4gIHZvbHVtZVpTY2FsZTogbnVtYmVyO1xufVxuXG4vKiogVGhlIHN0YWNrLWxvYWRpbmcgZmxhZyBhbmQgcHJvZ3Jlc3MgdGhlIGhvc3Qgc2hvd3Mgd2hpbGUgZnJhbWVzIGxvYWQuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0YWNrUHJvZ3Jlc3Mge1xuICBsb2FkaW5nKG9uOiBib29sZWFuKTogdm9pZDtcbiAgcHJvZ3Jlc3MocGVyY2VudDogbnVtYmVyKTogdm9pZDtcbn1cblxuLyoqIEV2ZXJ5dGhpbmcgYSBzY2VuZSBpcyBidWlsdCBmcm9tOiB0aGUgdmlld2VyIGFuZCBpdHMgRE9NLCB0aGUgc2VydmljZSdzIGNvbGxhYm9yYXRvcnMsIGFuZCB0aGVcbiAqICBzZXJ2aWNlIHN0YXRlIGEgc2NlbmUgcmVhZHMgbGl2ZS4gKi9cbi8qKiBBIHZvbHVtZSBhcyBhc3NlbWJsZWQgZm9yIGRpc3BsYXkgKHZveGVscyBwZXIgY2hhbm5lbCwga2V5IDAgdGhlIGdyYXlzY2FsZSBvbmUpIGFuZCBpdHMgZnJhbWUuICovXG5leHBvcnQgaW50ZXJmYWNlIFZvbHVtZVZveGVsc09uU2NyZWVuIHtcbiAgd2lkdGg6IG51bWJlcjtcbiAgaGVpZ2h0OiBudW1iZXI7XG4gIGRlcHRoOiBudW1iZXI7XG4gIGNoYW5uZWxzOiBSZWFkb25seU1hcDxudW1iZXIsIFVpbnQ4QXJyYXk+O1xuICBtdWx0aWNoYW5uZWw6IGJvb2xlYW47XG4gIGZyYW1lOiBWb2x1bWVGcmFtZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTY2VuZUNvbnRleHQge1xuICByZWFkb25seSB2aWV3ZXI6IFZpZXdlcjtcbiAgcmVhZG9ubHkgaG9zdDogSFRNTEVsZW1lbnQ7XG4gIHJlYWRvbmx5IGNhbnZhczogSFRNTENhbnZhc0VsZW1lbnQ7XG4gIC8qKiBUaGUgc2NlbmUncyBsaWZldGltZTogYWJvcnRlZCB3aGVuIHRoZSBzZXJ2aWNlIHJlc2V0cyBpbnRvIHRoZSBuZXh0IHNjZW5lLiAqL1xuICByZWFkb25seSBzaWduYWw6IEFib3J0U2lnbmFsO1xuICAvKiogRnJhbWUgbG9hZGluZyAodm9sdW1lIGFzc2VtYmx5LCBzdXJmYWNlIHByZWxvYWQpOiBhYm9ydGVkIGJ5IGEgcmVzZXQgQU5EIGJ5XG4gICAqICBgY2FuY2VsTG9hZGluZygpYCwgd2hpY2ggcmVuZXdzIGl0IOKAlCBzbyByZWFkIGl0IHdoZW4gYSBsb2FkIHN0YXJ0cy4gKi9cbiAgbG9hZGluZygpOiBBYm9ydFNpZ25hbDtcbiAgLyoqIFRoZSBpbWFnZSBvbiBzY3JlZW4gYW5kIGl0cyBjdXJyZW50IHNsaWNlLCBhcyBgbG9hZCgpYC9gc2V0WkluZGV4KClgIHJlY29yZGVkIHRoZW0uICovXG4gIGluZm8oKTogSUltYWdlSW5mbyB8IHVuZGVmaW5lZDtcbiAgeigpOiBudW1iZXI7XG4gIHJlYWRvbmx5IHRpbGVzOiBOYXBhcmlUaWxlQ2xpZW50O1xuICByZWFkb25seSBkaXNwbGF5OiBOYXBhcmlEaXNwbGF5U3RhdGU7XG4gIHJlYWRvbmx5IGJhZGdlOiBMb2FkaW5nQmFkZ2VTdGF0ZTtcbiAgcmVhZG9ubHkgdG9vbHM6IE5hcGFyaVRvb2xCcmlkZ2U7XG4gIHJlYWRvbmx5IHN0b3JlOiBWaXN1YWxpemVyU3RvcmU7XG4gIHJlYWRvbmx5IHJlZ2lvblN0b3JlOiBSZWdpb25TdG9yZTtcbiAgcmVhZG9ubHkgc2V0dGluZ3M6IE5hcGFyaVNldHRpbmdzO1xuICByZWFkb25seSBzdGFjazogU3RhY2tQcm9ncmVzcztcbiAgLyoqIFRoZSBpbWFnZSdzIGZ1bGwtcmVzb2x1dGlvbiBzaXplIGFzIHRoZSBzY2VuZSBkcmV3IGl0IOKAlCByZWFkIGJ5IHRoZSByZWFkYmFjaywgdGhlIGNhbWVyYVxuICAgKiAgZml0IGFuZCBgZ2V0VHJ1ZUltYWdlU2l6ZSgpYDsgaXQgb3V0bGl2ZXMgdGhlIHNjZW5lLiAqL1xuICBpbWFnZVNpemUoKTogeyB3aWR0aDogbnVtYmVyOyBoZWlnaHQ6IG51bWJlciB9O1xuICBzZXRJbWFnZVNpemUod2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpOiB2b2lkO1xuICAvKiogRml0IHRoZSAyRCBjYW1lcmEgdG8gdGhlIGltYWdlIG9uIHRoZSBuZXh0IGZyYW1lLiAqL1xuICBmaXRDYW1lcmFTb29uKCk6IHZvaWQ7XG4gIG91dHNpZGVab25lPFQ+KGZuOiAoKSA9PiBUKTogVDtcbiAgaW5ab25lPFQ+KGZuOiAoKSA9PiBUKTogVDtcbiAgLyoqIEEgcmVnaW9uIHJlY29uc3RydWN0aW9uIHdhcyBjbGlja2VkIChpdHMga2V5KSwgb3IgdGhlIHZvbHVtZSBiZXNpZGUgdGhlbSAobnVsbCkuICovXG4gIHJlZ2lvbk1lc2hQaWNrZWQoa2V5OiBzdHJpbmcgfCBudWxsLCBhZGRpdGl2ZTogYm9vbGVhbik6IHZvaWQ7XG4gIC8qKiBBIHNlY3Rpb24ncyBwbGFuZSBkcmFnZ2VkIGluIHRoZSB2b2x1bWUgdG8gYHZhbHVlYCBhbG9uZyBpdHMgYXhpcy4gKi9cbiAgc2xpY2VQbGFuZU1vdmVkKGF4aXM6IFBsYW5lQXhpcywgdmFsdWU6IG51bWJlcik6IHZvaWQ7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFwYXJpLXNjZW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9pbXBsZW1lbnRhdGlvbnMvbmFwYXJpLWpzL25hcGFyaS1zY2VuZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSZWdpb25NZXNoM0QgfSBmcm9tICcuL25hcGFyaS12b2x1bWUtcmVnaW9uLW1lc2hlcyc7XG5pbXBvcnQgdHlwZSB7IFZpZXdlciB9IGZyb20gJ25hcGFyaS1qcyc7XG5pbXBvcnQgdHlwZSB7IFZvbHVtZUZyYW1lIH0gZnJvbSAnLi9uYXBhcmktdm9sdW1lLXJlZ2lvbi1tZXNoZXMnO1xuaW1wb3J0IHR5cGUgeyBQbGFuZUF4aXMsIFNsaWNlUGxhbmVzIH0gZnJvbSAnLi9uYXBhcmktdm9sdW1lLXNsaWNlLXBsYW5lcyc7XG5cbmltcG9ydCB7IElJbWFnZUluZm8gfSBmcm9tICcuLi8uLi9jb250cmFjdHMvaW1hZ2UuY29udHJhY3QnO1xuaW1wb3J0IHsgSUhpc3RvZ3JhbSB9IGZyb20gJy4uLy4uL2NvbnRyYWN0cy9jaGFubmVsLWhpc3RvZ3JhbS1hcGkuY29udHJhY3QnO1xuaW1wb3J0IHsgSUlzb3N1cmZhY2VDb250cm9scywgSVN1cmZhY2UzZENvbnRyb2xzIH0gZnJvbSAnLi4vLi4vY29udHJhY3RzL3Zpc3VhbGl6ZXIuY29udHJhY3QnO1xuaW1wb3J0IHsgU3BhdGlhbE9ic2VydmF0aW9ucyB9IGZyb20gJy4uLy4uL2NvbnRyYWN0cy9zcGF0aWFsLWRhdGFzZXQuY29udHJhY3QnO1xuaW1wb3J0IHsgVmlzdWFsaXplclN0b3JlIH0gZnJvbSAnLi4vLi4vc3RvcmUvdmlzdWFsaXplci1zdG9yZS5zZXJ2aWNlJztcbmltcG9ydCB7IFJlZ2lvblN0b3JlIH0gZnJvbSAnLi4vLi4vc3RvcmUvcmVnaW9uLXN0b3JlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmFwYXJpVGlsZUNsaWVudCB9IGZyb20gJy4vbmFwYXJpLXRpbGUtY2xpZW50JztcbmltcG9ydCB7IE5hcGFyaURpc3BsYXlTdGF0ZSB9IGZyb20gJy4vbmFwYXJpLWRpc3BsYXktc3RhdGUnO1xuaW1wb3J0IHsgTG9hZGluZ0JhZGdlU3RhdGUgfSBmcm9tICcuL25hcGFyaS1sb2FkaW5nLXN0YXRlJztcbmltcG9ydCB7IE5hcGFyaVRvb2xCcmlkZ2UgfSBmcm9tICcuL25hcGFyaS10b29sLWJyaWRnZSc7XG5cbi8qKlxuICogV2hhdCBvbmUgYHBsb3QoKWAgbW91bnRzIGludG8gdGhlIHZpZXdlciAocmV2aWV3IEFwcGVuZGl4IEIpOiB0aGUgMkQgaW1hZ2UgKGFsb25lLCB1bmRlciB0aGVcbiAqIHJlZ2lvbi1jZW50cm9pZCBzY2F0dGVyLCBvciB1bmRlciB0aGUgc3BhdGlhbCBtYXJrZXJzKSwgYSB2b2x1bWUsIGEgc3VyZmFjZSwgYSAzRCBzY2F0dGVyIG9yIHRoZVxuICogc3BhdGlhbCAzRCBjbG91ZC4gVGhlIHNlcnZpY2UgcGlja3Mgb25lIHBlciBwbG90IHR5cGUgYW5kIHRhbGtzIHRvIGl0IHRocm91Z2ggdGhpcyBpbnRlcmZhY2VcbiAqIGluc3RlYWQgb2YgYXNraW5nIHdoaWNoIGxheWVyIGhhbmRsZSBoYXBwZW5zIHRvIGJlIG5vbi1udWxsOyBhIHNjZW5lIG93bnMgZXZlcnkgbGF5ZXIsIGtleSxcbiAqIHN1YnNjcmlwdGlvbiBhbmQgbGlzdGVuZXIgaXQgY3JlYXRlcywgYW5kIHtAbGluayBkaXNwb3NlfSBkcm9wcyB0aGVtIGFsbCDigJQgc28gYSByZS1wbG90IGNhbiBub1xuICogbG9uZ2VyIGluaGVyaXQgYSBzdGFsZSBcImFscmVhZHkgYnVpbHRcIiBrZXkgZnJvbSB0aGUgcHJldmlvdXMgb25lIChOQVBBUkktU1ZDLTEsIC04KS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOYXBhcmlTY2VuZSB7XG4gIC8qKiBCdWlsZCB0aGUgc2NlbmUgaW50byB0aGUgdmlld2VyLiBSZXNvbHZlcyBvbmNlIHRoZSBmaXJzdCBmcmFtZSdzIGRhdGEgaXMgaW4uICovXG4gIG1vdW50KCk6IFByb21pc2U8dm9pZD47XG4gIC8qKiBUaGUgc3RhY2sgc2xpZGVyIG1vdmVkIHRvIGB6YCAoYWxyZWFkeSByZWNvcmRlZCBhcyB0aGUgaW1hZ2UncyBzbGljZSkuICovXG4gIHNldFooejogbnVtYmVyKTogdm9pZDtcbiAgLyoqIFRoZSBoaXN0b2dyYW0gcGFuZSdzIGRpc3RyaWJ1dGlvbiBmb3IgYGNoYW5uZWxgLCBvciBudWxsIHdoZW4gdGhlcmUgaXMgbm9uZSAoeWV0KS4gKi9cbiAgaGlzdG9ncmFtKGNoYW5uZWw6IG51bWJlciwgYmluczogbnVtYmVyKTogSUhpc3RvZ3JhbSB8IG51bGw7XG4gIC8qKiBUaGUgaXNvc3VyZmFjZSB0aHJlc2hvbGQgY29udHJvbHMgKHZvbHVtZSBzY2VuZXMgb25seSkuICovXG4gIGlzb0NvbnRyb2xzPygpOiBJSXNvc3VyZmFjZUNvbnRyb2xzIHwgbnVsbDtcbiAgLyoqIFRoZSAzRCBjYW1lcmEvYXhlcy93aXJlZnJhbWUgY29udHJvbHMgKDNEIHNjZW5lcyBvbmx5KS4gKi9cbiAgc3VyZmFjZTNkQ29udHJvbHM/KCk6IElTdXJmYWNlM2RDb250cm9scyB8IG51bGw7XG4gIC8qKiBCaWxpbmVhciB2cyBuZWFyZXN0LW5laWdoYm91ciBpbWFnZSBzYW1wbGluZyBjaGFuZ2VkICgyRCBpbWFnZSBzY2VuZXMpLiAqL1xuICBzZXRJbWFnZVNtb290aGluZz8oZW5hYmxlZDogYm9vbGVhbik6IHZvaWQ7XG4gIC8qKiBUaGUgb3ZlcnZpZXcgbmF2aWdhdG9yIHdhcyBzaG93biBvciBoaWRkZW4gKDJEIGltYWdlIHNjZW5lcykuICovXG4gIHNldE5hdmlnYXRvclZpc2libGU/KHZpc2libGU6IGJvb2xlYW4pOiB2b2lkO1xuICAvKiogT2JzZXJ2YXRpb25zIHByb2plY3RlZCB0byBjYW52YXMgcGl4ZWxzICh0aGUgc3BhdGlhbCAzRCBjbG91ZCksIG9yIG51bGwuICovXG4gIHNjcmVlblByb2plY3Rpb24/KG9iczogU3BhdGlhbE9ic2VydmF0aW9ucyk6IEZsb2F0MzJBcnJheSB8IG51bGw7XG4gIC8qKiBTaG93IHRoZXNlIHJlZ2lvbiByZWNvbnN0cnVjdGlvbnMgaW4gdGhlIDNEIHZpZXcgKHZvbHVtZSBzY2VuZXMgb25seSkuICovXG4gIHNldFJlZ2lvbk1lc2hlcz8obWVzaGVzOiByZWFkb25seSBSZWdpb25NZXNoM0RbXSk6IHZvaWQ7XG4gIC8qKiBIaWdobGlnaHQgdGhlIHJlY29uc3RydWN0aW9ucyBvZiB0aGVzZSBrZXlzIChub25lOiBhbGwgYXMgdXN1YWwpLiAqL1xuICBzZXRSZWdpb25IaWdobGlnaHQ/KGtleXM6IHJlYWRvbmx5IHN0cmluZ1tdKTogdm9pZDtcbiAgLyoqIEhpZGUgdGhlIHJlY29uc3RydWN0aW9ucyBvZiB0aGVzZSBrZXlzLiAqL1xuICBzZXRSZWdpb25IaWRkZW4/KGtleXM6IHJlYWRvbmx5IHN0cmluZ1tdKTogdm9pZDtcbiAgLyoqXG4gICAqIERyYXcgdGhlIHJlZ2lvbiByZWNvbnN0cnVjdGlvbnMgdGhyb3VnaCB0aGUgdm9sdW1lIChpdCBoaWRlcyBub25lIG9mIHRoZW0pIHJhdGhlciB0aGFuIGhpZGRlblxuICAgKiB3aGVyZSBpdCBpcyBpbiBmcm9udCBvZiB0aGVtIChzZWUgVm9sdW1lU2NlbmUuc2V0UmVnaW9uc1Rocm91Z2hWb2x1bWUpLlxuICAgKi9cbiAgc2V0UmVnaW9uc1Rocm91Z2hWb2x1bWU/KHRocm91Z2g6IGJvb2xlYW4pOiB2b2lkO1xuICAvKiogU2hvdyB0aGUgcGxhbmVzIG9mIHRoZSBzZWN0aW9ucyBiZXNpZGUgdGhlIDNEIHZpZXcgKHZvbHVtZSBzY2VuZXMgb25seSkuICovXG4gIHNldFNsaWNlUGxhbmVzPyhwbGFuZXM6IFNsaWNlUGxhbmVzKTogdm9pZDtcbiAgLyoqIFRoZSBhc3NlbWJsZWQgdm9sdW1lIHRoZSBzZWN0aW9ucyBhcmUgY3V0IGZyb20gKHZvbHVtZSBzY2VuZXMgb25seSkuICovXG4gIHZvbHVtZVZveGVscz8oKTogVm9sdW1lVm94ZWxzT25TY3JlZW4gfCBudWxsO1xuICAvKiogSW1hZ2UgcHggcGVyIHZveGVsIG9mIHRoZSBhc3NlbWJsZWQgdm9sdW1lLCBpbi1wbGFuZSAodm9sdW1lIHNjZW5lcyBvbmx5KS4gKi9cbiAgdm94ZWxTdGVwPygpOiBudW1iZXIgfCBudWxsO1xuICAvKiogUmVtb3ZlIGV2ZXJ5dGhpbmcgdGhlIHNjZW5lIGFkZGVkOyBjYWxsZWQgYmVmb3JlIHRoZSB2aWV3ZXIgaXMgZGlzcG9zZWQuICovXG4gIGRpc3Bvc2UoKTogdm9pZDtcbn1cblxuLyoqIFZpZXdlciBzZXR0aW5ncyB0aGF0IG91dGxpdmUgYSBzY2VuZTogYSByZS1wbG90IGtlZXBzIHRoZW0uICovXG5leHBvcnQgaW50ZXJmYWNlIE5hcGFyaVNldHRpbmdzIHtcbiAgLyoqIERlY2ltYXRlIGZhY3RvciBmb3IgdGhlIDNEIHR5cGVzICgxID0gRnVsbCwgMiA9IMK9LCA0ID0gwrwgZGVmYXVsdCwgOCA9IOKFmykuICovXG4gIHJlc29sdXRpb25TY2FsZTogbnVtYmVyO1xuICAvKiogV2hldGhlciB0aGUgMkQgb3ZlcnZpZXcgbmF2aWdhdG9yIGlzIHNob3duICh0aGUgc2FtZSBob3N0IHNldHRpbmcgT1NEJ3MgbmF2aWdhdG9yIGhvbm91cnMpLiAqL1xuICBuYXZpZ2F0b3JWaXNpYmxlOiBib29sZWFuO1xuICAvKiogSW1hZ2Ugc21vb3RoaW5nIChiaWxpbmVhcikgdnMgbmVhcmVzdC1uZWlnaGJvdXIgKGNyaXNwIHBpeGVscywgdGhlIGRlZmF1bHQpLiAqL1xuICBpbWFnZVNtb290aGluZzogYm9vbGVhbjtcbiAgLyoqIFRoZSAzRCBheGVzIGdpem1vJ3Mgb24vb2ZmIGNob2ljZS4gKi9cbiAgYXhlc1Zpc2libGU6IGJvb2xlYW47XG4gIC8qKiBUaGUgc3VyZmFjZSdzIHdpcmVmcmFtZSBjaG9pY2UuICovXG4gIHN1cmZhY2VXaXJlZnJhbWU6IGJvb2xlYW47XG4gIC8qKiBUaGUgdm9sdW1lJ3MgdXNlciBaLWhlaWdodCBmYWN0b3IgKDEgPSB0aGUgdm9sdW1lJ3MgbmF0dXJhbCBwcm9wb3J0aW9ucykuICovXG4gIHZvbHVtZVpTY2FsZTogbnVtYmVyO1xuICAvKiogVGhlIDNEIHNwYXRpYWwgdmlldydzIFogc3RyZXRjaCAoMSA9IHRoZSBkYXRhJ3MgdHJ1ZSBwcm9wb3J0aW9ucykuICovXG4gIHNwYXRpYWxaU2NhbGU6IG51bWJlcjtcbn1cblxuLyoqIFRoZSBzdGFjay1sb2FkaW5nIGZsYWcgYW5kIHByb2dyZXNzIHRoZSBob3N0IHNob3dzIHdoaWxlIGZyYW1lcyBsb2FkLiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdGFja1Byb2dyZXNzIHtcbiAgbG9hZGluZyhvbjogYm9vbGVhbik6IHZvaWQ7XG4gIHByb2dyZXNzKHBlcmNlbnQ6IG51bWJlcik6IHZvaWQ7XG59XG5cbi8qKiBFdmVyeXRoaW5nIGEgc2NlbmUgaXMgYnVpbHQgZnJvbTogdGhlIHZpZXdlciBhbmQgaXRzIERPTSwgdGhlIHNlcnZpY2UncyBjb2xsYWJvcmF0b3JzLCBhbmQgdGhlXG4gKiAgc2VydmljZSBzdGF0ZSBhIHNjZW5lIHJlYWRzIGxpdmUuICovXG4vKiogQSB2b2x1bWUgYXMgYXNzZW1ibGVkIGZvciBkaXNwbGF5ICh2b3hlbHMgcGVyIGNoYW5uZWwsIGtleSAwIHRoZSBncmF5c2NhbGUgb25lKSBhbmQgaXRzIGZyYW1lLiAqL1xuZXhwb3J0IGludGVyZmFjZSBWb2x1bWVWb3hlbHNPblNjcmVlbiB7XG4gIHdpZHRoOiBudW1iZXI7XG4gIGhlaWdodDogbnVtYmVyO1xuICBkZXB0aDogbnVtYmVyO1xuICBjaGFubmVsczogUmVhZG9ubHlNYXA8bnVtYmVyLCBVaW50OEFycmF5PjtcbiAgbXVsdGljaGFubmVsOiBib29sZWFuO1xuICBmcmFtZTogVm9sdW1lRnJhbWU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NlbmVDb250ZXh0IHtcbiAgcmVhZG9ubHkgdmlld2VyOiBWaWV3ZXI7XG4gIHJlYWRvbmx5IGhvc3Q6IEhUTUxFbGVtZW50O1xuICByZWFkb25seSBjYW52YXM6IEhUTUxDYW52YXNFbGVtZW50O1xuICAvKiogVGhlIHNjZW5lJ3MgbGlmZXRpbWU6IGFib3J0ZWQgd2hlbiB0aGUgc2VydmljZSByZXNldHMgaW50byB0aGUgbmV4dCBzY2VuZS4gKi9cbiAgcmVhZG9ubHkgc2lnbmFsOiBBYm9ydFNpZ25hbDtcbiAgLyoqIEZyYW1lIGxvYWRpbmcgKHZvbHVtZSBhc3NlbWJseSwgc3VyZmFjZSBwcmVsb2FkKTogYWJvcnRlZCBieSBhIHJlc2V0IEFORCBieVxuICAgKiAgYGNhbmNlbExvYWRpbmcoKWAsIHdoaWNoIHJlbmV3cyBpdCDigJQgc28gcmVhZCBpdCB3aGVuIGEgbG9hZCBzdGFydHMuICovXG4gIGxvYWRpbmcoKTogQWJvcnRTaWduYWw7XG4gIC8qKiBUaGUgaW1hZ2Ugb24gc2NyZWVuIGFuZCBpdHMgY3VycmVudCBzbGljZSwgYXMgYGxvYWQoKWAvYHNldFpJbmRleCgpYCByZWNvcmRlZCB0aGVtLiAqL1xuICBpbmZvKCk6IElJbWFnZUluZm8gfCB1bmRlZmluZWQ7XG4gIHooKTogbnVtYmVyO1xuICByZWFkb25seSB0aWxlczogTmFwYXJpVGlsZUNsaWVudDtcbiAgcmVhZG9ubHkgZGlzcGxheTogTmFwYXJpRGlzcGxheVN0YXRlO1xuICByZWFkb25seSBiYWRnZTogTG9hZGluZ0JhZGdlU3RhdGU7XG4gIHJlYWRvbmx5IHRvb2xzOiBOYXBhcmlUb29sQnJpZGdlO1xuICByZWFkb25seSBzdG9yZTogVmlzdWFsaXplclN0b3JlO1xuICByZWFkb25seSByZWdpb25TdG9yZTogUmVnaW9uU3RvcmU7XG4gIHJlYWRvbmx5IHNldHRpbmdzOiBOYXBhcmlTZXR0aW5ncztcbiAgcmVhZG9ubHkgc3RhY2s6IFN0YWNrUHJvZ3Jlc3M7XG4gIC8qKiBUaGUgaW1hZ2UncyBmdWxsLXJlc29sdXRpb24gc2l6ZSBhcyB0aGUgc2NlbmUgZHJldyBpdCDigJQgcmVhZCBieSB0aGUgcmVhZGJhY2ssIHRoZSBjYW1lcmFcbiAgICogIGZpdCBhbmQgYGdldFRydWVJbWFnZVNpemUoKWA7IGl0IG91dGxpdmVzIHRoZSBzY2VuZS4gKi9cbiAgaW1hZ2VTaXplKCk6IHsgd2lkdGg6IG51bWJlcjsgaGVpZ2h0OiBudW1iZXIgfTtcbiAgc2V0SW1hZ2VTaXplKHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyKTogdm9pZDtcbiAgLyoqIEZpdCB0aGUgMkQgY2FtZXJhIHRvIHRoZSBpbWFnZSBvbiB0aGUgbmV4dCBmcmFtZS4gKi9cbiAgZml0Q2FtZXJhU29vbigpOiB2b2lkO1xuICBvdXRzaWRlWm9uZTxUPihmbjogKCkgPT4gVCk6IFQ7XG4gIGluWm9uZTxUPihmbjogKCkgPT4gVCk6IFQ7XG4gIC8qKiBBIHJlZ2lvbiByZWNvbnN0cnVjdGlvbiB3YXMgY2xpY2tlZCAoaXRzIGtleSksIG9yIHRoZSB2b2x1bWUgYmVzaWRlIHRoZW0gKG51bGwpLiAqL1xuICByZWdpb25NZXNoUGlja2VkKGtleTogc3RyaW5nIHwgbnVsbCwgYWRkaXRpdmU6IGJvb2xlYW4pOiB2b2lkO1xuICAvKiogQSBzZWN0aW9uJ3MgcGxhbmUgZHJhZ2dlZCBpbiB0aGUgdm9sdW1lIHRvIGB2YWx1ZWAgYWxvbmcgaXRzIGF4aXMuICovXG4gIHNsaWNlUGxhbmVNb3ZlZChheGlzOiBQbGFuZUF4aXMsIHZhbHVlOiBudW1iZXIpOiB2b2lkO1xufVxuIl19